From: <ste...@us...> - 2012-03-15 23:40:43
|
Revision: 2415 http://stella.svn.sourceforge.net/stella/?rev=2415&view=rev Author: stephena Date: 2012-03-15 23:40:36 +0000 (Thu, 15 Mar 2012) Log Message: ----------- Fixed missing 'Enter' key in CompuMate emulation. It seems that the z26 code never actually implemented this, so I'm not sure how people actually entered Basic code. I guess not many people have played with and tested this before. Added more sensible keys for the CompuMate 'space' and 'enter' keys. They're still mapped to '/' and ';' respectively (to keep locations on the keyboard the same), but are also mapped to the actual 'Space' and 'Enter' keys (to make usage much easier). I'll probably also map 'Shift-;' to Backspace as well. Updated documentation for CompuMate emulation. Modified Paths: -------------- trunk/Changes.txt trunk/docs/index.html trunk/src/emucore/CompuMate.cxx trunk/src/gui/GameInfoDialog.cxx Modified: trunk/Changes.txt =================================================================== --- trunk/Changes.txt 2012-03-15 15:22:57 UTC (rev 2414) +++ trunk/Changes.txt 2012-03-15 23:40:36 UTC (rev 2415) @@ -24,8 +24,8 @@ have only one 2600-daptor and want to use it as a left port normally, but as a right port for Star Raiders, etc). - * Added CompuMate bankswitching/controller support; the CompuMate - NTSC and PAL ROMs now work correctly. + * Added CompuMate bankswitching/controller support to the emulation + core; the Spectravideo CompuMate ROMs (NTSC and PAL) now work. * Fixed bug in BoosterGrip controller emulation; the functionality of the booster and trigger buttons was reversed. Related to this, Modified: trunk/docs/index.html =================================================================== --- trunk/docs/index.html 2012-03-15 15:22:57 UTC (rev 2414) +++ trunk/docs/index.html 2012-03-15 23:40:36 UTC (rev 2415) @@ -10,7 +10,7 @@ <br><br> <center><h2><b>A multi-platform Atari 2600 VCS emulator</b></h2></center> - <center><h4><b>Release 3.5.5</b></h4></center> + <center><h4><b>Release 3.6</b></h4></center> <br><br> <center><h2><b>User's Guide</b></h2></center> @@ -54,7 +54,7 @@ <br><br><br> - <center><b>February 1999 - February 2012</b></center> + <center><b>February 1999 - March 2012</b></center> <center><b>The Stella Team</b></center> <center><b><a href="http://stella.sourceforge.net">Stella Homepage</a></b></center> @@ -260,16 +260,18 @@ joysticks or mouse</li> <li>Emulates CX-22 / CX-80 style trackballs and Amiga Mouse using your computer's mouse</li> + <li>Emulates Spectravideo CompuMate system using your computer's keyboard</li> <li>Support for real Atari 2600 controllers using the <a href="http://www.stelladaptor.com">Stelladaptor</a> and - <a href="http://2600-daptor.com">2600-adaptor</a></li> + <a href="http://2600-daptor.com">2600-adaptor/2600-daptor II</a></li> <li>Support for the speech portion of a real <a href="http://www.richard.hutchinson.dsl.pipex.com/new_page_5.htm"> AtariVox</a> device connected to your PC using a USB adaptor</li> <li>Supports EEPROM emulation for <a href="http://www.richard.hutchinson.dsl.pipex.com/new_page_5.htm"> AtariVox</a> and <a href="http://www.vectrex.biz/MemCard.htm">SaveKey</a> controllers</li> <li>Supports all known bankswitching schemes (let us know if there's one we missed)</li> - <li>Supports DPC+ bankswitching scheme from the Harmony cart, including partial emulation of the ARM processor</li> + <li>Supports DPC+ bankswitching scheme from the <a href="http://harmony.atariage.com">Harmony Cart</a>, + including partial emulation of the ARM processor</li> <li>Supports cartridge autodetection for almost all bankswitching schemes</li> <li>Supports Supercharger single-load and multi-load games</li> <li>Supports ROMs stored in ZIP and GZIP format, as well as the usual A26/BIN/ROM formats</li> @@ -339,10 +341,9 @@ <ul> <li>MacOSX 10.4 (Tiger) or above</li> <li>PPC G4 or Intel processor, 500MHz or above</li> - <li>OpenGL capable video card; software rendering mode is still available, - but as of MacOSX 10.4 is substandard (and untested) compared to OpenGL</li> - <li>Xcode 3.2 is required to compile the Stella source code (SDL 1.2.14 also - required to compile the 64-bit version)</li> + <li>OpenGL capable video card</li> + <li>Xcode 3.1 and SDL 1.2.14 required to compile a 10.4 compatible Universal Binary version; + Xcode 3.2 and SDL 1.2.15 required to compile the Intel/64-bit version</li> <li>The 64-bit version requires at minimum Snow Leopard (10.6) and Intel CPU/architecture</li> </ul> @@ -366,7 +367,7 @@ <h3><b><u>Other</u></b></h3> <p>Stella is extremely portable, and in its lifetime has been ported to almost every - platform where the SDL library exists. It is 32/64 bit clean in Linux/Unix, MacOSX + platform where the SDL library exists. It is 32/64-bit and endian clean in Linux/Unix, MacOSX and Windows. The Stella Team is interested in hearing about any problems you may encounter with diverse operating systems and CPU types.</p> </blockquote> @@ -1265,6 +1266,18 @@ </tr> </table> + <p><b>CompuMate Controller (cannot be remapped)</b></p> + + <table BORDER=2 cellpadding=5> + <tr><th>CompuMate</th> <th>Key</th></tr> + <tr><td>0 - 9 </td><td>0 - 9 </td></tr> + <tr><td>A - Z </td><td>A - Z </td></tr> + <tr><td>Function </td><td>Control (left or right) </td></tr> + <tr><td>Shift </td><td>Shift (left or right) </td></tr> + <tr><td>Enter </td><td>; or Return/Enter </td></tr> + <tr><td>Space </td><td>/ or Space </td></tr> + </table> + <a name="DeveloperKeys"></a> <p><b>Developer Keys in TIA mode (cannot be remapped)</b></p> @@ -3071,6 +3084,7 @@ <tr><td>4A50 </td><td>64K 4A50 + ram </td></tr> <tr><td>4K </td><td>4K Atari </td></tr> <tr><td>AR </td><td>Supercharger </td></tr> + <tr><td>CM ¹</td><td>Spectravideo CompuMate </td></tr> <tr><td>CV </td><td>Commavid extra ram </td></tr> <tr><td>DPC </td><td>Pitfall II </td></tr> <tr><td>DPC+</td><td>Enhanced DPC </td></tr> @@ -3142,6 +3156,7 @@ AtariVox</a></td><td>A SpeakJet based unlimited-vocabulary speech / sound synthesizer with 32K EEPROM.</td></tr> <tr><td><a href="http://www.vectrex.biz/MemCard.htm">SaveKey</a></td><td>A 32K EEPROM for saving high scores, etc (the EEPROM portion of an AtariVox).</td></tr> <tr><td>Genesis </td><td>Sega Genesis controller, which can be used similar to a BoosterGrip, giving an extra button.</td></tr> + <tr><td>CompuMate </td><td>Spectravideo CompuMate (if either left or right is set, CompuMate is used for both).</td></tr> </table></td> </tr> Modified: trunk/src/emucore/CompuMate.cxx =================================================================== --- trunk/src/emucore/CompuMate.cxx 2012-03-15 15:22:57 UTC (rev 2414) +++ trunk/src/emucore/CompuMate.cxx 2012-03-15 23:40:36 UTC (rev 2415) @@ -68,9 +68,9 @@ rp.myDigitalPinState[Controller::Three] = true; rp.myDigitalPinState[Controller::Four] = true; - if (KeyTable[KBDK_LSHIFT]) + if (KeyTable[KBDK_LSHIFT] || KeyTable[KBDK_RSHIFT]) rp.myAnalogPinValue[Controller::Five] = Controller::minimumResistance; - if (KeyTable[KBDK_LCTRL]) + if (KeyTable[KBDK_LCTRL] || KeyTable[KBDK_RCTRL]) lp.myAnalogPinValue[Controller::Nine] = Controller::minimumResistance; switch(myCart.column()) @@ -108,8 +108,10 @@ case 5: if (KeyTable[KBDK_0]) lp.myDigitalPinState[Controller::Six] = false; if (KeyTable[KBDK_p]) rp.myDigitalPinState[Controller::Three] = false; - if (KeyTable[KBDK_COLON]) rp.myDigitalPinState[Controller::Six] = false; - if (KeyTable[KBDK_SLASH]) rp.myDigitalPinState[Controller::Four] = false; + if (KeyTable[KBDK_SEMICOLON] || KeyTable[KBDK_RETURN]) + rp.myDigitalPinState[Controller::Six] = false; + if (KeyTable[KBDK_SLASH] || KeyTable[KBDK_SPACE]) + rp.myDigitalPinState[Controller::Four] = false; break; case 6: if (KeyTable[KBDK_9]) lp.myDigitalPinState[Controller::Six] = false; Modified: trunk/src/gui/GameInfoDialog.cxx =================================================================== --- trunk/src/gui/GameInfoDialog.cxx 2012-03-15 15:22:57 UTC (rev 2414) +++ trunk/src/gui/GameInfoDialog.cxx 2012-03-15 23:40:36 UTC (rev 2415) @@ -240,7 +240,7 @@ ctrls.push_back("AtariVox", "ATARIVOX" ); ctrls.push_back("SaveKey", "SAVEKEY" ); ctrls.push_back("Sega Genesis", "GENESIS" ); -// ctrls.push_back("CompuMate", "COMPUMATE" ); + ctrls.push_back("CompuMate", "COMPUMATE" ); // ctrls.push_back("KidVid", "KIDVID" ); // ctrls.push_back("MindLink", "MINDLINK" ); myP0Controller = new PopUpWidget(myTab, font, xpos+lwidth, ypos, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |