Changes

50
7/17/2019 Changes http://slidepdf.com/reader/full/changes-568e6f7cb21c4 1/50 ===========================================================================  SSSS tt lll lll  SS SS tt ll ll  SS tttttt eeee ll ll aaaa  SSSS tt ee ee ll ll aa  SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"  SS SS tt ee ll ll aa aa  SSSS ttt eeeee llll llll aaaaa ===========================================================================  Release History =========================================================================== 4.6 to 4.6.1: (April 22, 2015)  * Fixed bug whereby text input could not be entered in certain widgets  in the debugger.  * Updated UNIX configure script to work with GCC 5.x compilers. -Have fun! 4.5 to 4.6: (March 21, 2015)  * Finally fixed fullscreen rendering issues on some OpenGL  implementations in Linux (mostly Intel-specific). Basically, the  concept of 'dirty updates' has been removed; the window is now  updated continuously. This may also fix issues some people were  having with triple-buffering in Windows Direct3D, etc.  * Fixed sound corruption that happened when running a ROM for the  first time. This was most obvious under OSX, but occasionally  happened on other systems too.  * Reverted some minor C++11 features (std::regex and cbegin/cend  iterators) in a few places, since otherwise GCC 4.9 is required to  compile Stella, and it isn't available on many systems yet. These  changes allow Stella to be built with GCC 4.8, which is present in  the latest 'long term release' of Ubuntu.  * Fixed error messages on state loading; sometimes multiple messages  were being added together and displayed.  * Fixed bug when running ROMs using AtariVox controllers; the app would  crash upon exiting the ROM.  * Snapshot functionality now works while the emulation is paused.  * Certain textfields in the UI now have filtering enabled, preventing  insertion of illegal characters. This will be extended throughout  the code in future releases.  * DataGridWidgets in the debugger now respond to keypad '+' and '-'.  * Updated included PNG library to latest stable version. 4.2 to 4.5: (January 1, 2015)

description

Changes

Transcript of Changes

Page 1: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 1/50

===========================================================================

  SSSS tt lll lll  SS SS tt ll ll  SS tttttt eeee ll ll aaaa  SSSS tt ee ee ll ll aa  SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"  SS SS tt ee ll ll aa aa  SSSS ttt eeeee llll llll aaaaa

===========================================================================  Release History===========================================================================

4.6 to 4.6.1: (April 22, 2015)

  * Fixed bug whereby text input could not be entered in certain widgets  in the debugger.

  * Updated UNIX configure script to work with GCC 5.x compilers.

-Have fun!

4.5 to 4.6: (March 21, 2015)

  * Finally fixed fullscreen rendering issues on some OpenGL  implementations in Linux (mostly Intel-specific). Basically, the  concept of 'dirty updates' has been removed; the window is now  updated continuously. This may also fix issues some people were  having with triple-buffering in Windows Direct3D, etc.

  * Fixed sound corruption that happened when running a ROM for the  first time. This was most obvious under OSX, but occasionally  happened on other systems too.

  * Reverted some minor C++11 features (std::regex and cbegin/cend

  iterators) in a few places, since otherwise GCC 4.9 is required to  compile Stella, and it isn't available on many systems yet. These  changes allow Stella to be built with GCC 4.8, which is present in  the latest 'long term release' of Ubuntu.

  * Fixed error messages on state loading; sometimes multiple messages  were being added together and displayed.

  * Fixed bug when running ROMs using AtariVox controllers; the app would  crash upon exiting the ROM.

  * Snapshot functionality now works while the emulation is paused.

  * Certain textfields in the UI now have filtering enabled, preventing  insertion of illegal characters. This will be extended throughout  the code in future releases.

  * DataGridWidgets in the debugger now respond to keypad '+' and '-'.

  * Updated included PNG library to latest stable version.

4.2 to 4.5: (January 1, 2015)

Page 2: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 2/50

  * The conversion to C++11 has begun :) From this point on, to build  Stella you will need a C++11 compatible compiler (Visual Studio 2013,  Clang 3.3, gcc 4.9, Xcode 6, etc). Eventually, this will bring more  bug-free and (hopefully) faster code.

  * Fixed major bug with joysticks, where mapping was being lost on reset,  the app would crash when plugging/unplugging certain sticks, etc.

  * Fixed major (but rare) crash that could occur when state files were  zero'ed or corrupted.

  * Added dialog which shows the internal joystick database (all the  joysticks that Stella knows about) and the ability to remove  (currently unplugged) joysticks from this database.

  * Added preliminary support for 'WD' (Wickstead Design) bankswitching  scheme, used for a previously unreleased prototype ROM.

  * Improved ZIP file handling, so that it now works as a normal  filesystem does (it properly shows nested files and directories).

  * The debugger 'reset' command now does a complete system reset,  instead of simply setting the PC to the reset vector address.

  * The 'listdelay' command now accepts a value of zero, indicating that  list-skipping (jumping to a line in a list by keypress) is disabled.

  * The 'ctrlcombo' command now has a GUI item, allowing it to be changed  from within the application.

  * Added 'Shift-Alt/Shift-Cmd s' keyboard shortcut, to enable continuous  snapshot mode for each frame. This is really only useful if you  save snapshots in 1x mode; using it in high-resolution mode is  not recommended. Special thanks to SvOlli for the idea and code.

  * The minimum supported version for the OSX port is now OSX 10.7.

  Because of this, the 32-bit version is also discontinued, as 10.7  supports 64-bit Intel only apps.

  * Updated internal ROM properties database to ROM-Hunter version 10  (thanks go to RomHunter for his tireless research in this area).  Related to this, updated the snapshot collection.

  * Updated included PNG library to latest stable version.

4.1.1 to 4.2: (October 28, 2014)

  * Text input from non-US keyboard layouts is now supported. Note that

  all text in Stella is still ASCII-only, but at least it can now be  entered using a native layout.

  * Related to the text input changes, the debugger Alt-combo shortcuts  have been changed; they now use the same key but with Control instead  of Alt (Control-F for frame advance, etc).

  * Controllers are now detected dynamically by Stella. This means that  you can plug/unplug joysticks/paddles/etc while Stella is running,  and they will be added and removed automatically. Also fixed is

Page 3: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 3/50

  a bug whereby sometimes custom joystick mappings weren't being saved.

  * The 'cpurandom' option is now broken down by register type, so you  can selectively enable/disable randomization for each one. The  default is to disable randomization for all registers.

  * Fixed 'MDM' scheme to trigger bankswitching on writes to hotspots  (previously it only triggered on reads). Also, the scheme has been  modified as originally designed by E. Blink; hotspots are now in the  range $800-$BFF instead of $800-$FFF.

  * The OSX app-icon now includes 32x32 and 16x16 versions, so 'small'  icons will be viewable in 'Finder', 'Get Info', etc.

  * The Linux port now uses an app-icon; this seems to be needed for  some window managers.

4.1 to 4.1.1: (September 14, 2014)

  * Re-added 'uipalette' option due to popular demand (of at least one  person :)).

  * Fixed bug in Windows port where pressing 'Alt' key combos resulted in

  an annoying system beep. Currently this is fixed by patching the SDL2  library and including a modified version with Stella.

4.0 to 4.1: (September 1, 2014)

  * Improved 'DASH' bankswitching scheme support; there is now a debugger  tab for changing banks and viewing internal cart RAM, and  autodetection is now implemented.

  * Added 'MDM' (Menu Driven Megacart) bankswitch scheme as described on  AtariAge and originally developed by Edwin Blink.

  * Improved snapshot viewing in the ROM launcher; snapshots are now  scaled to the available space, and can better accommodate sizes  other than those generated by Stella itself.

  * Improved support on multi-monitor systems. Stella will now use the  same monitor for fullscreen-windowed mode switches. Special thanks  to Magnus Lind for patches that added this functionality.

  * Removed the 'bank' command from the debugger prompt, as it only worked  (inconsistently) with certain bankswitch types. The bankswitch UI  should now be used to query/set bank state.

  * Fixed bug in disassembly output; instructions at $F000 were never

  being highlighted during execution.

  * The UNIX configure script now supports newer versions of Hurd.  Special thanks to Stephen Kitt for the patch.

3.9.3 to 4.0: (July 1, 2014)

  * Ported Stella to SDL2, which brings many new features. Among the  largest improvements is native hardware acceleration support for

Page 4: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 4/50

  Windows (Direct3D) and Linux/OSX (OpenGL). It is also now possible  to port Stella to iOS and Android devices using OpenGLES.  Hardware acceleration is now required, which means up-to-date drivers  are needed. Software rendering is still present, but is somewhat  unoptimized and unsupported going forward.

  * Fullscreen video modes now use the desktop resolution. Switching  to fullscreen and back to windowed mode no longer rearranges icons  on your desktop.

  * TIA TV effects are now available in all video modes, since hardware  acceleration is a requirement.

  * Added a much more detailed view of cart extended RAM to a new  debugger tab. Special thanks to SpiceWare for this implementation.

  * Added preliminary support for 'DASH' bankswitching scheme by A. Davie.

  * The AtariVox and SaveKey controllers now have the ability in the  debugger to completely erase the virtual EEPROM data.

  * Added 'savesnap' debugger prompt command, and also associated  context menu item to the debugger TIA output area. This saves the  current TIA image to a PNG file.

  * Added 'hidecursor' commandline option, which allows to completely  disable showing the mouse cursor (useful on systems that don't have  a mouse).

  * Removed 'uipalette' option, as the original palette is no longer  supported.

  * Updated included PNG library to latest stable version.

3.9.2 to 3.9.3: (January 20, 2014)

  * Added bankswitch schemes BF, BFSC, DF, DFSC and 4KSC, thanks to  RevEng and CPUWIZ of AtariAge. * Updated ROM properties for several ROMs, thanks to Omegamatrix of

  AtariAge.

  * Fixed program crash when specifying a bankswitch type that Stella  didn't recognize; an error message is now displayed.

3.9.1 to 3.9.2: (August 31, 2013)

  * Improved parsing of the DASM lst file for the debugger disassembly;

  it sometimes missed constant declarations.

  * Changed 'usemouse' argument from a true/false option to accept  'always', 'analog' and 'never'. This allows to use the mouse as a  controller under more specific circumstances. The default is  'analog', which means the mouse is only used to emulate analog-like  devices (paddles, trackball, etc).

  * Added ability to use bold fonts within the debugger window, which can  be set with the 'dbg.fontstyle' commandline argument as well as in the

Page 5: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 5/50

  debugger UI Settings dialog. This is useful for those that find the  current font too narrow.

  * Renamed 'debuggerres' argument to 'dbg.res'. All future debugger-  specific options will start with 'dbg.'.

  * The TIA 'zoom' area in the debugger now supports scrolling the  mouse wheel (currently up/down only, as I don't have a sideways  scrolling mouse to test with).

3.9 to 3.9.1: (August 21, 2013)

  * Note: because of TIA/6502 changes, the state file format has changed  again, and old state files will not work with this release.

  * Several bugfixes and improvements to the debugger:  - Improved display of debugger when using larger video modes. There  are now three font sizes, which are automatically selected when  the debugger is sized accordingly. When using larger fonts, the  extra space is now used more efficiently.

  - Fixed bug in disassembly when the mirror used for the current  PC didn't match the mirror for the current bank. In this case,

  the disassembler became confused and didn't properly track the  PC address.

  - Fixed bug in display of current TIA frame number in the UI;  depending on how breakpoints were set, it was sometimes off by  one.

  - Fixed RAM widget Search/Compare textboxes; entering any data and  then pressing 'Enter' / clicking 'OK' locked the UI until exiting  and re-entering the debugger.

  - Changed display for various TIA position counters to decimal  (from hex) in the TIA tab. Related to this, all data input

  widgets in the UI now have the ability to enter binary,  decimal or hex values by using the proper leading character  (\, #, $, respectively).

  - Added 'INTIM Clks' to the 'I/O' tab. which shows the number of  clocks between each 'step' of the INTIM timer.

  - Added ability to modify 'tiadriven' commandline argument to the  'TIA' tab, and 'ramrandom' to the 'I/O' tab. These options were  available for quite some time, but they weren't exposed in the UI.

  - Added 'cpurandom' commandline argument, and associated UI item  to the 'I/O' tab. This works similar to 'ramrandom', and

  randomizes the contents of the CPU registers on ROM startup.

  - Added 'uhex' debugger prompt command, which toggles all  hexadecimal display between upper/lower case. This setting is  also saved in the settings file as argument 'dbg.uhex'.

  - Removed 'loadsym' command from the debugger prompt, since the  DASM symbol file is always loaded anyway, making the command  redundant. Related to this, fixed loading symbols with  ###.name convention; the leading number is now stripped.

Page 6: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 6/50

  - Added support for DASM lst files (created with the -l option).  For now, the contents are only partially used, to detect  constants vs. symbolic addresses in the symbol file. Eventually,  further information from the lst file may be used.

  - The GRPx and PFx registers in the TIA output now show inactive  background pixels as either blanked or with the underlying object  colour, instead of always being black. This gives a more accurate  representation of how the registers are actually drawn onscreen.  Thanks to Tjoppen of AtariAge for this idea and sample code.

  - The 'Source Address' locations for the CPU registers now show  labels where appropriate.

  * Renamed 'Override properties' dialog (accessible from the ROM  launcher by a right-mouse-button click) to 'Power-on options', with  the following new options:  - Set start-up state for both joysticks as well as console select/  reset buttons. Related to this, added 'holdjoy01' and 'holdjoy1'  commandline arguments, and removed 'holdbutton0' argument.

  - The ability to load the ROM directly from this dialog, after  changing any settings, and also to start in the debugger.

  - Added more detailed information as to how to use this  functionality to the UI.

  - Buttons held down are reset approx. 0.5 seconds after starting  the ROM, to simulate pressing and releasing the buttons on a  real console.

  * Fixed bug when using event remapping; changes were being saved only  when launching a ROM from the launcher, not in standalone mode.

  * Improved bankswitch autodetection for newer EF and EFSC ROMs  generated by batari Basic, thanks to RevEng of AtariAge.

  * Added properties database info for "Princess Rescue" ROM.

  * For the Linux/UNIX port:  - Fixed bug whereby a maximize button was always present in the  window title bar. Stella could not be expanded in this way,  so the button was removed.

  - Added Startup notification protocol patch to the .desktop  file from Dan Fandrich.

  * Updated included PNG library to latest stable version.

3.8.1 to 3.9: (June 27, 2013)

  * Greatly extended functionality of the debugger disassembly:  - There is now a new tab which lists information specific to the  cartridge bankswitching scheme in use. This includes the ability  to modify internal state even for esoteric ROMs which don't  follow the standard layout of 4K per bank.

  - The debugger now generates DASM-compatible disassembled code,

Page 7: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 7/50

  which can be saved to an external file. This disassembly is  based on both a static and runtime analysis, and is extremely  accurate. It also automatically differentiates between  CODE/PGFX/GFX/DATA/ROW areas, whereas normal Distella  only differentiates between CODE/GFX/ROW. For now, only  single-bank (4K and smaller) ROMs are supported; support for  multi-bank ROMs will come in a future release.

  - The disassembly now recognizes various TIA/RIOT read/write  mirrors, and marks them as such (for example, INPT4|$30 instead  of INPT4 for address $3C). Special thanks to Omegamatrix for  sample code and idea for this feature.

  - ROMS less than 2K in size (so called 'Sub2K' ROMs) now show only  the actual data in the binary. This means, for example, that a  256 byte ROM will show only 256 bytes in the disassembly, instead  of padding duplicated data to 2K boundary.

  - Fixed bug when entering patched bytes; the current number base  wasn't being used.

  - Fixed labelling in ROW directives; it wasn't accurately setting  a label in the case where it occurred in the middle of the data.

  - Added a new dialog for changing Distella settings, located by  right-clicking the disassembly code.

  - The commandline option 'dis.resolvedata' has been renamed to  'dis.resolve', with new usage (see manual for further details).

  * Fixed regression in handling ZIP files (as compared to version 3.7.5)  created with newer versions of the ZIP program. Related to this, added  better error messages for invalid/missing/unreadable ROM files.

  * Added 'snapname' commandline argument and associated UI item, for  specifying whether snapshots should be saved using either the internal  ROM database name or the actual ROM filename. This feature was

  present in older releases of Stella, and due to popular demand it's  now back again. Related to this, added a new dialog specifically for  the numerous snapshot-related items.

  * Fixed bug in Linux/OSX versions when starting Stella for the first  time; it was previously creating mislabeled directories to store  settings, snapshots, etc.

  * Fixed redundant "New console created" message when entering the same  ROM multiple times from the ROM launcher.

  * Updated profile database for "BasketBall" ROMs; the joysticks are now  swapped by default, which allows one and two-player games to work

  correctly.

  * SuperCharger/AR ROMs now ignore the 'ramrandom' setting, and start with  RAM containing all zeroes. This seems to fix issues with Dragonstomper  always starting in exactly the same state.

  * Fixed issue when debugging CompuMate ROMs; keystrokes entered while  debugging would be interpreted as typing on the CompuMate keyboard.

  * Changed colour of the 'current PC indicator' in the debugger to

Page 8: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 8/50

  match the one used for line selection. This makes it easier to  see for those with problems seeing lighter colours.

  * Improved functionality of the various pop-up dialogs and context  menus in the UI; they can now be navigated more fully by the keyboard  and mouse.

  * Updated internal ROM properties database to ROM-Hunter version 9  (thanks go to RomHunter for his tireless research in this area).  Related to this, updated the snapshot collection.

  * Updated included PNG and ZLIB libraries to latest stable version.

3.8 to 3.8.1: (March 3, 2013)

  * Added support for TIA RSYNC writes, thanks to Omegamatrix of AtariAge.  This allows the recently released "Extra Terrestrials" ROM to run, as  well as improving emulation of "Fatal Run" and several other test ROMs.

  * Fixed typo in TIA HMOVE writes, thanks to Thomas Jentzsch. This fixes  the constant collision issues in "Kool-Aid Man", and several other  homebrew ROMs.

  * Fixed sound issues on OSX PPC machines (all sound was in little-endian  format, but PPC is big-endian).

  * The OSX DMG archive now contains proper modification dates.

3.7.5 to 3.8: (February 21, 2013)

  * Huge changes to the sound system:  - The sound code now uses 16-bit signed samples instead of 8-bit  unsigned samples, making it more compatible with a wider variety of  systems.  - Improved sound output for several ROMs, including "Space Rocks"

  (the 'heartbeat' sound can now be clearly heard).  - The 'volume clipping' option has been removed, since in 16-bit  mode it's no longer needed.  - The 'Tia freq' option has been removed.  - Selecting more common sample rates (other than 31400) now works  much better, but there are still a few ROMS (like Quadrun) where  31400Hz still works best.

  * Many changes to handling ZIP archives:  - Files in multiple levels are now recognized. This fixes issues  in Windows where such files couldn't be loaded at all, and in all  systems where ROMs with the same name (but in different  directories) weren't being recognized.

  - ZIP contents are now handled more intelligently. Archives  containing only one ROM are automatically loaded, whereas those  with multiple files are treated as directories.  - Opening an archive from the commandline now works as in the UI,  where opening a multi-ROM archive will pop up the UI and show the  archive contents (as a directory).  - The ZIP code behind the scenes is now much faster by making use  of caching (the old code was actually from 1998!).  - This new 'archive' infrastructure may eventually lead to 7-Zip  support, as well as 'virtual' formats (such as showing the list

Page 9: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 9/50

  of files for 2in1/4in1/8in1/etc within the UI).

  * Improved bankswitch autodetection for FA2 ROMs; 29K and 32K versions  (meant for Harmony cart) are now recognized.

  * Improved bankswitch autodetection for X07 ROMs (although there's only  two known ROMs in existence, so the detection probably isn't robust).

  * Tweaked bankswitch autodetection for the 0840, F8 and FE schemes;  several homebrews that didn't run before now work correctly.

  * Fixed regression in RIOT INTIM reads; at least one known ROM  (Mr. Roboto Berzerk hack) wasn't working properly.

  * Fixed bug in the debugger with RIOT INTIM/TIMINT display; reads  were being done multiple times, changing the state of the  registers and resulting in incorrect emulation.

  * Worked around bug in debugger disassembly of zero-page RAM; for now,  the resolving of address vs. data sections is turned off in such a  case. This fixes lockups in 'Meltdown' ROM.

  * Added support for different directories for saving/loading PNG  files. These are set with the 'snapsavedir' and 'snaploaddir'

  commandline arguments (which replace the old 'snapdir'), and are  also available within the UI.

  * Changed 'eepromdir' commandline argument to 'nvramdir', and changed  the default location to BASEDIR/nvram (where BASEDIR depends on your  OS). This means all your EEPROM and Flash files will have to be  manually moved to this new directory. This affects developers, and  those people playing ROMs with AtariVox/SaveKey support as well as  the newer 'Star Castle' FA2 ROMs.

  * Updated included PNG and ZLIB libraries to latest stable version.

3.7.4 to 3.7.5: (December 22, 2012)

  * Improved regressions in PAL format autodetection, introduced in the  past several releases.

  * Fixed crash when loading invalid PNG files in ROM browser.

  * Snapshots generated by Stella now include more informative info, such  as the build number, platform architecture, TV effects in use, etc.

3.7.3 to 3.7.4: (October 31, 2012)

  * Fixed screen blanking regression in 'Video Chess', and improved  behaviour of ROMs that don't use VSYNC.

3.7.2 to 3.7.3: (October 26, 2012)

  * Note: because of TIA/RIOT changes, the state file format has changed  again, and old state files will not work with this release.

  * Improved handling of 'illegal' VSYNC signals, which sometimes created

Page 10: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 10/50

  'short' frames that caused massive flickering. Also improved  related behaviour when VSYNC isn't used at all.

  * Improved sound generation with ROMs that have irregular scanline  counts. This fixes many demo ROMs as well as Quadrun, where  previously there would be 'gaps' in the sound output.

  * Improved emulation of RIOT chip, in particular the behaviour of  reading from TIMINT. Also, D6 of the Interrupt Flag register is now  properly set on active transition of the PA7 pin.

  * Fixed bug in DPC+ bankswitch scheme; the music in several ROMS wasn't  playing correctly.

  * The ROM properties database now uses 'Auto' instead of 'Auto-select'  everywhere. This makes for less typing when running from the  commandline.

  * Updated included PNG library to latest stable version.

3.7.1 to 3.7.2: (June 10, 2012)

  * Fixed bug in handling filenames with the '~' character, as is used

  extensively by RomHunter rom-sets.

3.7 to 3.7.1: (June 8, 2012)

  * Note: because of TIA changes, the state file format has changed again,  and old state files will not work with this release.

  * Improved TIA emulation with ROMs that have too few or too many  scanlines; the output is now more accurate compared to a real TV.  Special thanks to Omegamatrix of AtariAge for test ROMs in this area.

  * Modified hotkey for "Change console palette" (Control-f) to also

  change the display properties of the TIA. This allows you to switch  between NTSC/PAL/SECAM (and variant) modes dynamically. Related to  this, added Shift-Control-f key to step backwards through the  available modes.

  * Added '64in1' and '128in1' multicart bankswitching schemes, which work  the same as the 2in1/4in1/etc ones (Control-r switches to each  consecutive game in the ROM).

  * Fixed several bugs in DPC+ bankswitching scheme, including ability  to load and save state files. As well, ROMs now work correctly after  console format autodetection.

  * Fixed bugs in handling relative filenames on the commandline,  introduced in the last release. The new functionality should be much  more robust.

3.6.1 to 3.7: (June 1, 2012)

  * Added Blargg TV effects, with presets for Composite, S-video, RGB,  and badly adjusted TV, and well as a custom mode with full  configurability of contrast, brightness, gamma, etc. Many

Page 11: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 11/50

  keyboard shortcuts and commandline arguments were added to support  this; see the documentation for a detailed explanation. These  effects are OpenGL-only. Special thanks to Ian Bogost and the  Georgia Tech Atari Team for the preliminary implementation.

  * Updated the CompuMate keyboard handler to recognize more keys on an  actual keyboard, instead of having to remember the weird combinations  used on the original CompuMate keyboard (although those original keys  will continue to work). Related to this, fixed bug whereby  'ghost keys' would be detected by the CompuMate, particularly after  pressing 'Enter' to start a game from the ROM launcher.

  * Added emulation for MindLink controller using the mouse; the 'Bionic  Breakthrough' and 'Telepathy' ROMs now work.

  * Updated FA2 bankswitch scheme (Star Castle) to emulate load/save  high score functionality to the Harmony cart flash RAM.

  * Added ability for ROM launcher to 'descend' into ZIP files when it  contains more than one ROM file. This means you no longer have to  unzip a multi-file archive before using each ROM. Thanks go to Roland  Schabenberger (webOS maintainer) for this idea and sample code.

  * Several improvements to the debugger/disassembler:

  - The 'resolvedata', 'showaddr' and 'gfxformat' commandline  arguments are renamed to start with 'dis', indicating that  they're used with the built-in disassembler.  - Zero-page code addresses no longer have their high-byte  truncated, and system equates (TIA and I/O registers) are now  properly marked as such.  - The Distella '-r' option (Relocate calls out of address range)  is no longer the default, resulting in output more consistent  with normal usage of Distella. Related to this, added the  '-dis.relocate' commandline argument (and associated UI item)  to toggle this dynamically.

  * Fixed bug in EFSC bankswitch scheme state saving; the Superchip RAM

  wasn't actually being loaded and saved to state files.

  * Improved speed of loading and saving state files, as well as slightly  reducing their size. Because of this, old state files will not work  with this release.

  * Replaced commandline argument 'uselauncher' with 'exitlauncher'. The  new option specifies the behaviour of the ROM launcher when exiting  a ROM (always exit to launcher, or only when the launcher was actually  used). This setting can now be changed in the GUI.

  * Several updates to the internal properties database:  - 'Juno First' ROMs now use an AtariVox/SaveKey when possible

  - 'Astroblast' ROMs now use the paddles by default  - 'Star Castle 2600' ROMs added

  * Changed key-combo for enabling TIA objects and collisions to be  toggled on and off with the Alt-period and Shift-Alt-period  respectively (instead of having two separate keys to turn them on  and off).

  * When working on the commandline, relative filenames are now  correctly handled (current working directory is used).

Page 12: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 12/50

  * The Windows 98/ME/2000 builds have been discontinued, due to code and  features that are only available on Windows XP/SP3 and later.

  * Updated included PNG library to latest stable version.

3.6 to 3.6.1: (March 30, 2012)

  * Extended FA2 bankswitch scheme to handle 28K ROMs (in addition to  the previously supported 24K ROMs).

3.5.5 to 3.6: (March 16, 2012)

  * Added support for 2600-daptor II device, including native support  for 7800 controllers, BoosterGrip and Keypad controllers. Special  thanks go to Tom Hafner for a complimentary test sample of this  device, and also for donating a BoosterGrip controller.

  * Added ability to dynamically swap the port order of Stelladaptor/  2600-daptor devices with the 'Control-1' key combo (useful if you  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 to the emulation  core; the Spectravideo CompuMate ROMs (NTSC and PAL) now work.  Frequently used keys on the CompuMate are directly mapped to your  keyboard (ie, Func-Space for backspace is mapped to Backspace, etc).  Loading/saving from the cassette player is not yet supported, and  will come in a future release.

  * Fixed bug in BoosterGrip controller emulation; the functionality  of the booster and trigger buttons was reversed. Related to this,  renamed these actions in the Event Mapping dialog to be more clear.

  * Reverted to SDL 1.2.14 for the Windows 98/2k release, since SDL

  1.2.15 isn't supported in that environment.

  * Updated included PNG library to latest stable version.

3.5 to 3.5.5: (February 4, 2012)

  * Due to changes in the debugger, old state files will not work with  this release.

  * Fixed bug in sound restructuring introduced in the last release; in  some cases, there could be some sound 'crackling' when starting a  ROM after at least one ROM had already been loaded.

  * Several significant improvements to the debugger I/O tab:  - added controller input widgets for many of the built-in  controllers, allowing to control joysticks, paddles, etc  from within the debugger.  - added ability to modify the SWCHB/SWBCNT port B registers.  - added ability to view TIA INPTx and VBLANK latch/dump bits.

  * Reworked 'mcontrol' argument, and added ability to map the mouse  axes separately for paddles 0-3 or driving controllers 0-1. In

Page 13: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 13/50

  such modes, the left mouse button is tied to the x-axis, and the  right button is tied to the y-axis.

  * Mouse 'specific-axis' mode is now saved per-ROM, meaning that each  ROM can have separate settings. For example, this allows one ROM to  use paddles 0 and 1, while another can use paddles 0 and 2, etc.

  * The key-combo for switching the mouse between controller modes is now  'Control-0' (Control-1,2,3 have been removed). This switches  between all possible modes for the current virtual controllers.

  * Fixed bug in 'Fixed Debug Colors' mode; under certain circumstances,  playfield graphics could be coloured as being player graphics.

  * Fixed bug in PAL color-loss setting in Video Settings; changing the  settings wouldn't take effect until the ROM was reloaded.

  * Fixed bugs with cheatcode handling; loading a ROM with a cheat  disabled would sometimes trash the emulation. More work is  required in this area, including the ability to create more  advanced types of cheats.

  * Updated ROM properties database for all Sega Genesis controller  compatible ROMs. Also, the mouse can now emulate a Genesis

  controller, with the left/right buttons mapped to buttons B and C,  respectively.

  * Added 'FA2' bankswitch scheme, thanks to code from Chris D.  Walton. This scheme will be used in an upcoming 'Star Castle' ROM.

  * Updated internal ROM properties database to ROM-Hunter version 7  (thanks go to RomHunter for his tireless research in this area).

  * Added several PERL tools to help in automation of analyzing RomHunter  ROM set releases.

  * Fixed compile issues in Irix when using the default compiler

  instead of gcc. Thanks go to Rainer M. Canavan for this code.

  * Updated included PNG library to latest stable version.

3.4.1 to 3.5: (December 29, 2011)

  * Stella is now DonationWare! Please see the DonationWare link on the  main webpage for more information.

  * Added several improvements to the joystick management code. Joystick  event mapping is now saved per device, meaning that if you map events  to a certain joystick device, remove the device and then later insert

  it again, Stella will remember the original mapping.

  * The total number of joysticks present and their associated properties  (number of axes, buttons and hats) is now dynamic. That is, there's  no longer a hard-coded limit on the number of joysticks that Stella  can use, or the number of buttons, etc that it contains. This fixes  a serious bug with PS3 controllers with 27 buttons, whereby adding a  mapping for joystick 0 would inadvertantly change settings for  joystick 1, and could potentially lead to a program crash.

Page 14: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 14/50

  * Added 'mcontrol' commandline argument, which can specify to use each  mouse axis as a separate paddle. The old (and default) behaviour can  be activated by setting this argument to 'auto'. Related to this,  removed redundant 'usemouse' argument.

  * Huge restructuring of the OpenGL code, making it compatible withOpenGL 2.x+ features (such as vertex buffer objects), while at the

  same time keeping compatibility with OpenGL 1.5 / OpenGL ES.  Because of the required changes, TV effects were removed (they will  be added again for the next release).

  * Improvements to audio handling, particularly for certain cases of  Windows, ATI video cards, and OpenGL mode. The sound device is now  opened only once when Stella starts, and is paused between loading  different ROMs. This fixes a problem whereby sound could possibly  not be functional after loading the first ROM. Related to this,  removed the 'audiofirst' commandline argument as it's now redundant.

  * Fixed bug with displaying the ROM launcher in Windows XP; the initial  load was sometimes taking up to 30 seconds to complete.

  * Added logging facility, whereby the output of the application is  available within Stella itself. This can still be printed to the  console, or also saved to a file. Add the 'loglevel' and

  'logtoconsole' commandline arguments which control these settings,  and removed the 'showinfo' argument as it's now redundant.

  * Updated DPC+ bankswitching scheme to latest code provided by  SpiceWare.

  * Added MAMCR handling to the Thumb ARM emulation code. Note that  MAMCR isn't actually emulated, it is just ignored for now. This  fixes a bug whereby accessing MAMCR would crash the ARM emulation.

  * Added 'thumb.trapfatal' commandline argument, which causes the  Thumb ARM emulation to either trap on a fatal error (throw an  exception to the debugger and exit emulation) or simply log the

  error and continue. This should normally always be enabled, but  can be disabled by developers for testing reasons.

  * Updated default snapshot directory to be much saner and easier to  find. For most systems, it now defaults to the users 'Desktop'.  Note that the commandline argument has changed to 'snapdir'.

  * The debugger 'print' command now indicates "special" addresses if  they are read-only (R), write-only (W) or read-write (R/W).

  * Fixed a bug where scrolling the mouse-wheel in certain debugger UI  items would cause the program to crash; scrolling now works as  expected.

  * Fixed minor display issue in the debugger RAM area; some addresses  were being displayed as '...'.

  * Fixed compile issues in the latest versions of Ubuntu and Debian, and  fixed UNIX desktop file so that Stella will launch with a ROM when  selected from its icon. Thanks go to Stephen Kitt for this code.

  * Updated included PNG library to latest stable version.

Page 15: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 15/50

  * Updated the credits list in the documentation, listing people that  have donated hardware to the Stella team.

3.4 to 3.4.1: (June 11, 2011)

  * Re-enabled 'grabmouse' commandline argument and associated  functionality with the following changes:  - it is changed in the "Input Settings' UI, not in 'Video Settings'  - it only has meaning while in emulation mode  - it is enabled by default

  * Fixed bug with emulation of paddles using the mouse most evident in  Warlords; movement was being filtered out if the mouse was moved too  fast. There's still more work required in this area, however.

  * Fixed bug with analog axes on gamepad devices, whereby jittering in  these axes would override input from digital axis, hat or keyboard  input.

  * Fixed bug when switching to the debugger and back again would  sometimes cause an extra mouse motion event (which would cause the  emulation to think the mouse was moved and move the player  accordingly).

  * Tweaked bankswitch autodetection code for 4A50 bankswitching; several  more test ROMs are automatically detected.

  * The 'saverom' debugger command now saves ROMs in your home  directory by default if you don't specify a valid path. This fixes  a bug whereby ROMs were saved in strange locations and couldn't later  be found.

  * Fixed bug in automatically executing the debugger 'autoexec.stella'  file; any commands it contained weren't actually being executed.

  * Zero-byte ROMs are no longer loaded and mis-detected as Supercharger

  images.

3.3 to 3.4: (May. 29, 2011)

  * Many improvements to input handling, particularly with the mouse and  paddles:  - The mouse can now be used to emulate a joystick, booster-grip or  driving controller.

  - The mouse now controls only one device at a time (1 of 4 paddles,  1 of 2 joysticks, etc), instead of devices from both virtual ports.

  - The sensitivity for digital and mouse input (for paddles) can now  be set separately with the 'dsense' and 'msense' commandline  arguments, and from within the Input Settings UI.

  * Added support for the 2600-daptor device (2600-daptor.com), which is  similar to a Stelladaptor but improves handling of paddles. Thanks  go to Tom Hafner for a complimentary test sample of this device.

  * Added new controller types 'Paddles_IAxis', 'Paddles_IDir', and  'Paddles_IAxDr', which invert the paddle axis, direction, and

Page 16: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 16/50

  axis+direction, respectively. These are used for certain ROMs  that have the axis or direction inverted from normal (for example,  using the paddles causes on onscreen object to move up and down vs.  left and right). All applicable ROMs in the internal database  have been updated.

  * Added preliminary support for emulating ARM code to the DPC+  bankswitching scheme (thanks to Batari). Related to this, fatal  errors in the DPC+ ARM code are now caught and shown in the debugger.

  * Updated internal ROM properties database to ROM-Hunter version 6  (thanks go to RomHunter for his tireless research in this area).

  * The ROM audit dialog now automatically selects the current  directory in the ROM launcher, and reloads the directory after  the audit is complete.

  * Removed the 'grabmouse' functionality; the mouse is now always  grabbed while playing a game, and released otherwise.

  * Updated built-in version of the PNG library to the latest version.

3.2.2 to 3.3: (November 12, 2010)

  * Added the following Distella 'directives', which are used to override  and specifically tell the debugger how to treat address space (CODE,  GFX, PGFX, DATA, ROW). See the debugger documentation for more  information.

  * Disassembly from the debugger is now tracked by the emulation core,  and accented by the built-in Distella code. Basically, the emulation  core knows when an address is referenced as code, making for very  accurate disassembled output. Related to this, the emulation core now  tracks accesses to GRPx and PFx registers, automatically marking the  addresses as GFX or PGFX sections. This will be improved in future  releases, as there are many ways to store data in the graphics

  registers.

  * Improved output of graphics output in the disassembler, by marking  such addresses with a bitmap of the data they represent. This  allows player graphics (GFX directive) and playfield graphics (PGFX  directive) to really stand out in the disassembly. Related to this,  added ability to edit such graphics in either binary or hexidecimal.

  * Added preliminary support for Distella configuration files. Much  more work is required in this area, since Stella now contains  directives that don't yet exist in the standalone Distella program.  Configuration files are automatically loaded, and debugger commands  now exist to load and save configuration directives directly from

  the debugger.

  * Added the following commands to the debugger prompt:  - clearconfig, listconfig, loadconfig, saveconfig  (used for Distella configuration files)  - code, data, gfx, pgfx, row  (directives used to override automatic disassembly types)  - jump (jumps to a specific address in the disassembly)  - type (gives detailed info for disassembly type of an address)

Page 17: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 17/50

  * The debugger prompt commands 'trap', 'trapread' and 'trapwrite' now  accept a range of addresses as well as a single address.

  * Added 'data source' address output for the CPU SP/A/X/Y registers.  This is useful for quickly seeing what an operand address resolves  into with various load commands.

  * Many commands in the debugger prompt are now case-insensitive;  further improvements will be made in future releases.

  * Many improvements to the built-in Distella disassembler. When passing  a relative branch or jump, data is now disassembled as code only if  the emulation core hasn't detected it as data. Such 'preliminary'  code is marked with a '*' in the disassembler, indicating that it is  tentative code, and hasn't actually been executed yet. This allows to  quickly see possible code paths, and at the same time eliminate  disassembly of addresses that are never used as code sections.

  * Program counter/instruction addresses can now be toggled in the  disassembly.

  * Disassembled instructions involving relative branches now show only  one byte for the operand, not two bytes.

  * Fixed bug in several text input fields, whereby binary data couldn't  be input (a '\' was required, but the character was blocked).

  * Fixed issues with PAL ROMs on screenmodes smaller than a PAL ROM  would require. In this case, the image is centered and clipped to  the screen resolution. This prevents the message "PAL ROM not  supported" from appearing.

  * Fixed bug in fullscreen OpenGL mode when using ATI video cards;  the desktop background was 'bleeding through', resulting in a very  annoying flickering.

  * Fixed crashes when opening windows larger than the desktop resolution

  in fullscreen mode; this is now allowed only in windowed mode.

  * Application window centering now also works when switching between  video modes, not just when starting the application.

  * Added support for building a Windows version compatible with Windows  98 and 2000 (compiled with Visual Studio 2005). Testing is very  limited, since I no longer have access to these systems.

  * Fixed build issues for Innosetup in Windows XP.

  * Fixed bug in OSX version where the name of the application wasn't  being shown in Activity Monitor.

  * State files from older versions will no longer work in this release,  because of the extensive changes to the debugger and disassembler.

3.2.1 to 3.2.2: (September 17, 2010)

  * Fixed bug with window centering; if enabled and the the window was  larger than the desktop, the window would be moved offscreen.

Page 18: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 18/50

3.2 to 3.2.1: (August 25, 2010)

  * Improved behaviour of joystick 'hat' movement. This should fix bugs  most visible in Yars' Revenge.

  * Fixed bug in debugger rewind states; bankswitching wasn't being  performed during the rewind. Related to this, fixed a similar issue  with the debugger 'loadstate' and 'savestate' commands.

  * Added game properties info and snapshot for the newly released  'Halo 2600' ROM.

3.1.2 to 3.2: (August 20, 2010)

  * NOTE: because of the many event-related changes in this release, all  event mapping should be reset to defaults after starting Stella for  the first time. As well, because of other internal changes, older  save-state files are no longer valid.

  * Many improvements to joystick handling code, particularly for analog  axes. Navigating the UI should be much smoother now, and remapping  events to analog axes should be less 'twitchy'.

  * Added ability to assign and remap 'combo' events in emulation mode.  Combo events are basically a sequence of normal events (up to 8)  that are generated from a single event (ie, one button on a joystick  could generate up to 8 events). Updated Input Settings UI to  access and modify these events.

  * Default mappings are now available in UI and emulation mode for the  first 'hat' detected on a joystick/gamepad. Related to this, a hat  now works exactly like an axis in UI mode (holding down a direction  continues that direction until the hat is released/centered).

  * Several major improvements to the debugger:

  - the disassembler can now process multiple entry points, and  caches entry points as they're encountered (ie, the disassembly  isn't 'reset' each time a bank change occurs or you exit and  re-enter the debugger)  - preliminary support for disassembling from zero-page RAM  - re-added ability to change banks with the 'bank' debugger  prompt command and within the ROM disassembly UI  - user labels in disassembly are now supported again  - 'runto' command is now case-insensitive, and shows a progressbar  while searching through the disassembly  - the debugger window can be resized between ROM loads (previously,  the app had to be restarted)  - fixed bug in Distella disassembler output, where it sometimes

  generated addresses above $FFFF  - a vertical line separates the disassembly from the raw bytes

  * Fixed behaviour of SWCHB and SWBCNT; pins set to output now remember  the values previously written. Some ROMs use this functionality for  extra storage. Special thanks to Omegamatrix of AtariAge for advice  and test ROMs in this area.

  * Fixed bug when reading from illegal TIA addresses; a Space Invaders  hack was showing pink enemies instead of white ones. Again, special

Page 19: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 19/50

  thanks to to Omegamatrix of AtariAge for advice and test ROMs in this  area.

  * Fixed bug in handling INPT4/INPT5 latches from VBLANK; a least one  ROM was working in Stella when it didn't on real hardware.

  * Added 'ramrandom' commandline argument, which is used to randomize  all RAM in the system; otherwise, the RAM is zeroed.

  * Added 'finishing touches' to some of the UI descriptions, giving a  better explanation of the functions. Related to this, certain  options now show a message box explaining the option in further  detail (particularly the ROM Audit mode). As well, when starting  Stella for the first time, a prompt appears to select a ROM  directory.

  * Fixed bugs in the ROM launcher when viewing certain PNG images not  created by Stella. Related to this, the official PNG library is now  included in the Stella codebase (version 1.4.3). Also added composite  snapshots for those ROMs which consist of several games. Thanks go  to Buzbard of AtariAge for these images.

  * Added several fixes for crashes on 'small' systems (those systems  where the maximum resolution is less than 640x480).

  * Tweaked bankswitch autodetection for 0840, DPC+, E7 and UA schemes.

  * Improved F8 bankswitch autodetection for Yars Revenge in 8in1 ROM.

  * Updated DPC+ bankswitch scheme to latest specifications.

  * Snapshots taken in continuous snapshot mode are now timestamped, so  older files are never overwritten.

  * Fixed a TIA segfault that could occur with certain ROMs.

  * The 'center' application window functionality can now be changed

  without having to restart the application. Related to this, mouse  positioning bugs when using the Linux version in OpenGL mode with  SDL 1.2.14 have been fixed.

  * Reworked the manual, dividing it into 'Getting Started' and  'Advanced Configuration' sections. It still contains the same info  as before, but hopefully in a better organized way.

  * Updated Help dialog; it was showing incorrect info for some OSX  shortcuts.

  * Updated OSX build script to not crash when a previous build is  detected, and to properly handle filenames with spaces.

  * Updated included ZLib to latest release version (1.2.5).

3.1.1 to 3.1.2: (May 3, 2010)

  * Modified 'showinfo' command to accept levels of output, where  increasingly larger numbers provide more debug output. Related to  this, added UI item to modify 'showinfo'.

Page 20: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 20/50

  * Updated DPC+ bankswitch scheme to latest specifications, including  support for 32K ROMs with ARM code (the ARM code is ignored for now).

  * Fixed bug in saving patched ROMs using DPC and DPC+ bankswitch  schemes; the saved image didn't actually include any changes made by  the user.

  * Removed 'uselauncher' from the UI, since disabling it will remove  the ROM launcher on all future runs, and not allow one to enable it  again. It's still available from the commandline, for those that  have a need for it.

3.1 to 3.1.1: (April 26, 2010)

  * Fixed program crash when using RIOT addresses and labels in the  debugger console prompt.

  * Updated DPC+ bankswitch scheme to latest specifications.

3.0 to 3.1: (April 22, 2010)

  * Fixed a major bug with text drawing in software rendering mode.

  Switching between windowed and fullscreen mode while text was being  shown could result in garbled text or even a program crash.

  * Fixed issues when using 'sleep' timing, whereby a lockup could occur  when changing video modes, and/or Stella would consume more CPU time  than was necessary.

  * Integrated Distella disassembler, completely replacing the previous  disassembler. The entire infrastructure has not been completely  ported yet. As a result, labels defined by the user or from a  DASM symbol file aren't actually used in the disassembly, and almost  all distella config options are disabled. These will be addressed in  a future release.

  * Completely reworked the debugger cartridge interface, so that  the disassembly is dynamic (ie, the debugger tracks when cart address  space has changed, and automatically performs a re-disassembly).

  * All carts with extended RAM that differentiate between read and write  ports now behave correctly when a read from the write port occurs.

  * Added more complete support for the more esoteric bankswitch  schemes in the debugger. These schemes now support accurate  disassembly and ROM patch functionality. Related to this, fixed a  bug in disassembler view when a failure to patch a ROM still showed  the (incorrect) patched results.

  * Added ability to disable TIA object collisions, independent of  enabling/disabling the objects. Previously, one had to completely  disable an object to avoid collisions, but now an object can be  enabled (and seen) but still have its collisions disabled. These  actions are tied to the same keys as the enable ones, except the  'Shift' key is also used.

  * Added preliminary support for 'DPC+' bankswitching scheme, thanks to  Darrell Spice Jr and Fred Quimby.

Page 21: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 21/50

  * Added '16in1' bankswitching scheme, which works with various  ROMs labeled '128-in-1 ...' (the database has been updated for  these). Related to this, switching between multicart ROMs for 2in1,  4in1, 8in1, 16in1 and 32in1 now shows a UI message indicating which  ROM is active.

  * Reverted some of the TIA improvements with respect to 'starfield  effect' as seen in "Cosmic Ark" and "Stay Frosty". The emulation is  now more accurate as compared to the majority of consoles in use.

  * Added debugger pseudo-register '_rwport', which traps on a read from  the write port. This differentiates from reads that are normally  part of a write cycle (ie, it traps only on inadvertent reads).

  * Added 'resolvedata' commandline argument and associated UI item, used  to set the "resolve data sections" config option in Distella  (vs. treating all address space as code).

  * Added 'runtopc' debugger command, used to step until encountering the  given program counter. This is also available in the ROM disassembly  UI from the right-click context menu.

  * Added 'listfunctions' and 'delfunction' debugger commands to

  access/remove user-defined functions. Related to this, fixed a bug  in 'function' command that could cause a program crash.

  * Added 'cls' debugger command, used to erase the text and history  from the debugger prompt.

  * Removed the 'listwatches' and 'poke' debugger commands, as they  were redundant.

  * Removed the 'loadlst' debugger command and the ability to use a  DASM .lst file. This code was incomplete, and no longer fits with  the recent disassembler improvements. Support for this may return  in a future release.

  * Modified 'disasm' debugger command to accept a second argument  indicating the number of lines to disassemble.

  * Improved tab-completion in the debugger prompt; it now completes  on functions and pseudo-registers.

  * Added emulation of the "Sega Genesis" controller, with two buttons  that are directly supported on a real system.

  * The ZLib library is now included in the core code, so Windows  developers no longer have to track down the ZLIBWAPI archive.

  * Many changes to the MacOS X port, bringing it more in line with  other systems:

  The application is now known as 'Stella' (instead of StellaOSX).

  Two versions are available: the first is a 32-bit Universal Binary  for OSX 10.4 - 10.6, and the second is 32/64-bit Intel-only for  OSX 10.6 (aka Snow Leopard). The Intel version is compiled with the  very latest compiler (LLVM/Clang), resulting in better performance.

Page 22: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 22/50

  The keyboard handling is changed to match other systems in terms of  where the keys actually are on the keyboard (ie, the OSX Command key  corresponds to Alt, and the OSX Control key corresponds to Control).

  The application menu has been cleaned up and simplified, and it  now shows the correct shortcuts for menu items.

  The settings file is now (according to Apple standards)  '~/Library/Preferences/net.sourceforge.Stella.plist'.

  The base directory (where all other Stella stuff is located) is now  '~/Library/Application Support/Stella'.

  Because of these changes, all your settings will have to be entered  again.

  * Added 'ctrlcombo' commandline argument, which toggles the use of the  control key as a modifier key. This is useful if you want to press  'Control' and 'R' in a two player game, and not have the combination  treated as 'Control-R' (which will issue a ROM reload).

  * Added 'usemouse' commandline argument and associated UI item. This  toggles the use of the mouse as a controller of any type.

  * Added 'uimessages' commandline argument and associated UI item.  This toggles showing of UI messages overlaid on the screen.  Critical messages are still shown, though.

  * Added ability to take multiple snapshots in a given interval every  x seconds. This is currently tied to the 'Alt-s' key and is not  remappable (for now). The interval can be set with the 'ssinterval'  commandline argument and within the UI, and defaults to 2.

  * Many changes to the FrameBuffer and UI code for 'smaller' systems.  Stella will now scale correctly to small screens, down to 320x240  (which is the absolute lower limit supported). Related to this,  added 'maxres' commandline argument, which is useful for developers

  testing on such systems.

  * The About dialog now shows the version of SDL in use, and the type  of CPU the application is running on (i386, x86_64, etc).

  * Improved 'listrominfo' commandline argument to list all information  from Stella's internal ROM database, including a heading. This  output can be imported into a spreadsheet or database program.

  * Renamed 'tiafloat' commandline argument to 'tiadriven'. The  emulation of the behaviour of floating TIA pins is also much more  accurate.

  * Reworked state files so that they're associated with the cartridge  type used, not the MD5sum of the ROM. This is useful for developers,  since the same state file can now be loaded from different ROMs,  as long as the cart type stays the same. This also fixes a bug  where loading from a non-existent state file could cause Stella  to crash. Because of these changes, old state files will no longer  work.

  * Fixed bug in certain editable text fields, where pressing Return/Enter  would disable any further input.

Page 23: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 23/50

2.8.4 to 3.0: (September 11, 2009)

  * Huge updates to the TIA emulation system. Illegal HMOVEs are now  handled correctly, resulting in improvements to many ROMs (thanks  to Wilbert Pol for many ideas and code for these improvements). All  HMOVE emulation 'cheats' were removed; the emulation is now cycle-exact  in this area.

  * Improved emulation of the Cosmic Ark 'starfield effect', also used in  Stay Frosty; the emulation now looks very accurate.

  * Many improvements to the normal TIA rendering code, fixing problems  when disabling certain graphical objects (certain objects were  being misdrawn when others were enabled/disabled).

  * Improved TIA collision handling in the non-displayable area of the  screen; this fixes problems in RAMRacer ROM.

  * Improved TIA redraw problems/graphical garbage when ROMs generate  many more scanlines than a real TV would allow; this fixes problems  in Q-Bert and the recent Playaround demo.

  * Added 'Fixed Debug Colors' option similar to the no$26k emulator.  This allows each graphical object to be drawn in a fixed color,  more clearly showing how the objects interact. HMOVE blanks are  also shown in a different color. The TIA now emulates a 7-color  register model, allowing even shared objects to show different  colors. This is toggled with the 'Alt Comma' key.

  * Related to 'Fixed Debug Colors', HMOVE blanks can now toggled during  TIA display with the 'Alt-m' key.

  * Added rewind functionality to the debugger, where states are saved  after each step/trace/scanline/frame advance. Pressing 'Alt-r' or  clicking the new rewind button will undo up to 100 previous

  operations.

  * Added 'electron beam indicator' to the debugger TIA output. Basically,  this is a visual pointer indicating the position of the electron gun  when scanning the display.

  * Added ability to completely disable fullscreen mode, which fixes  problems for some people where fullscreen mode was being entered  even if it wasn't enabled.

  * Added '-joyallow4' commandline argument and associated UI item to  allow all 4 directions to be pressed simultaneously on a joystick.

  * Improvements made to the ROM launcher: the backspace key now goes  to the parent directory (this key can be remapped), and previously  selected directories are now automatically selected.

  * Added support for 2IN1 bankswitching scheme, where two ROMs are  present in one binary. Currently supported are 2, 4, 8, and 16K  ROMs.

  * Added bankswitch support for the 6K version of Starpath/Supercharger  ROMS. This allows the 6K version of Cubis to run.

Page 24: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 24/50

  * Updated bankswitching schemes FASC and MB; they are now known as  FA and F0, respectively. This naming brings Stella in line with  other emulators and programming utilities.

  * Fixed editing of cheats in the Cheat Dialog; the old cheat wasn't  being removed.

2.8.3 to 2.8.4: (July 4, 2009)

  * Fixed bug where Stella could lock up after running for ~71 minutes.  Special thanks to Robert Tuccitto for bugtesting and feedback on this  issue.

  * Updated UA bankswitch autodetection for Gingerbread Man ROM.

  * The smallest ROM that Stella can support is 64 bytes; this lower  limit is now tested when loading Sub2K ROMs.

2.8.2 to 2.8.3: (June 25, 2009)

  * Fixed OpenGL bug which caused an immediate program crash if the

  available OpenGL version was less than 2.0.

2.8.1 to 2.8.2: (June 23, 2009)

  * Fixed OpenGL detection bug which could disable OpenGL support entirely  if TV effects are not available (version < 2.0), when in fact only the  effects should have been disabled.

  * The '\' character can now be entered in UI text fields again.  Related to this, strings containing '\' are now properly loaded and  saved to various config files.

2.8 to 2.8.1: (June 19, 2009)

  * NOTE: Windows users will have to reset their options or manually move  their config folder in this release, since the location of the config  files has changed.

  * Fixed OpenGL issue for some Windows users whereby the OpenGL TV  effects weren't available, even if the available version of OpenGL  was sufficient. Related to this, the OpenGL version found by  Stella is now reported in the TV effects dialog.

  * Added fallback to software rendering when OpenGL rendering has been

  requested, but for whatever reason fails to initialize.

  * Added native support for 4in1, 8in1 and 32in1 multicart bankswitching  schemes. When using these schemes, the 'Reload ROM' action  (by default, Control-r) will switch between each game in the ROM.

  * Added bankswitch support for ROMs smaller than 2K in size. These  will be treated as 2K ROMs natively, without having to manually  'pad' them to 2048 bytes.

Page 25: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 25/50

  * Added preliminary suppport for autodetection of X07 bankswitching.

  * Tweaked PAL autodetection; it was marking some PAL ROMs as NTSC.

  * Changed default location for Stella config files in Windows to  the users' APPDATA folder (for XP and Vista, this is  '~/Application Data/Stella'). The '~' symbol now represents the  users PROFILE/home directory, matching its usage in Linux and OSX.  The ability to override this with 'basedir.txt' is still  available, but not advised.

  * Changed '-exitlauncher' commandline argument to '-uselauncher'.  This works as before except the launcher is never used at all if  the option is set to false.

  * Fixed crash when launching Stella from the commandline and giving  a directory name instead of a rom filename.

2.7.7 to 2.8: (June 9, 2009)

  * Added CRT simulation effects as described in the AtariAge posting  'CRT emulation for Stella'. For now, this requires OpenGL 2.0 or  greater with support for GLSL (GL Shading Language). This code

  will be expanded on and optimized in future releases.

  * Adding editing of extended RAM in the debugger RAM UI. The RAM  'spreadsheet' now shows the entire address space of RAM in the  system, in 128 byte increments. The first bank shown is zero-page,  with the others following in consecutive order. The UI takes care  of read vs. write port differences, so you don't have to worry  about the offsets. For now, all SuperChip based ROMs (EFSC, F4SC,  F6SC, F8SC) as well as 3E, CV, E7 and FASC are supported.

  * All ROMs which include SC extended RAM will now have memory erased if  you attempt to read from the write port. Related to this,  entering/exiting the debugger will no longer erase the extended RAM.

  * Patching of ROM for bankswitch types 0840, SB, UA and X07 is now  implemented, but hasn't been extensively tested.

  * Visual improvements to the CPU register UI in the debugger; the  SP/A/X/Y registers now have separate decimal and binary views.

  * Tweaked paddle control so that all positions are reachable in game  4 of Activision Casino in both NTSC and PAL versions.

  * SuperCharger/AR ROMs now start with a random value in the CPU  accumulator. This should fix issues with Dragonstomper always  starting in exactly the same state.

  * Auto-detection for '3F' bankswitching improved; several ROMs  previously detected as 'F8' now work correctly.

  * Updated internal ROM properties database to ROM-Hunter version 5  (thanks go to RomHunter for his tireless research in this area).

  * Added '-exitlauncher' commandline argument and associated UI item,  to specify what happens when you exit a ROM. Normally, exiting a  ROM brings up the ROM launcher, but this can be disabled for those

Page 26: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 26/50

  using an external frontend (in which case exiting a ROM also exits  from Stella).

  * Re-added '-fastscbios' commandline argument, and added an associated  UI item. When enabled, the SuperCharger load bars are now completely  removed (and not just sped up as in previous releases).

  * The '-listrominfo' commandline argument now shows all ROM  information built in to the internal database, taking into account  any information in 'personal' stella.pro files.

2.7.6 to 2.7.7: (May 1, 2009)

  * Corrected emulation of CPU opcodes involving 'decimal' mode (ADC/RRA  and SBC/ISB). Special thanks to SeaGtGruff and others on the Stella  mailing list for in-depth discussion and creation of test ROMs.

  * Fixed bug in F4SC bankswitching mode; writes to bankswitch addresses  weren't triggering a bank switch.

  * Changed internal sound frequency of Pitfall 2 from 15.75KHz to 20KHz,  as this sounds much more authentic when compared to a real cartridge.

2.7.5 to 2.7.6: (April 14, 2009)

  * Added support for 'EF' bankswitching (Paul Slocum Homestar Runner),  as well as auto-detection of this format.

  * Added support for 'EFSC' bankswitching, as well as auto-detection of  this format. This is similar to the 'EF' scheme, but also includes  128 bytes SuperChip RAM.

  * Added autodetection for '0840' and 'SB' bankswitching formats.

  * Improved autodetection for 'UA' bankswitching format.

  * Fixed bug in selecting video modes larger than the current screen;  the resulting video mode will now be the largest one available  (previously it selected the smallest one available).

  * The currently selected CPU register now displays its value in  decimal and binary (in addition to hex) in the debugger.

2.7.3 to 2.7.5: (Mar. 27, 2009)

  * After about 2 years, finally fixed the infamous 'red screen' issue when  using ATI video cards in OpenGL mode in Windows. In the end, it was

  determined to be a bug in the ATI drivers. Special thanks go to  Ant (http://aqfl.net) for bugtesting and constant feedback wrt this bug.

  * Fixed bug in TIA SCORE mode emulation when the Priority bit is also  set. This fixes a very noticable graphical glitch in 'Swordquest  Waterworld', as well as minor glitches in several other ROMs such  as 'Space Shuttle'.

  * Treat spaces as normal characters in the ROM launcher. This means  that ROMs with spaces can be located with quick selection (ie,

Page 27: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 27/50

  typing characters will automatically jump to a ROM with that name,  and typing 'space' won't cause the launcher to jump back to the top  of the list).

  * The debugger window can now have a minimum height of 620 lines  (previously the minimum was 690), but you lose access to the TIA 'RAM'  bytes when using this resolution. This should allow it to work  better on devices with small displays.

2.7.2 to 2.7.3: (Feb. 9, 2009)

  * Fixed rendering issues in software mode when using 24-bit colour depth.  This isn't as fast as 16 or 32-bit modes, so you're recommended to use  one of those whenever possible.

  * For the Win32 port: re-added ability to change the default location  for storing Stella config files. To use this, simply create a file  named 'basedir.txt' in the application directory containing the full  path where all Stella-related items should be stored.

  * Tweaked the TIA info statistics overlay to be smaller while still  including all relevant information.

2.7.1 to 2.7.2: (Jan. 27, 2009)

  * Fixed major bug in ROM Audit functionality; renaming ROMs would create  files without an extension.

2.7 to 2.7.1: (Jan. 26, 2009)

  * Partial workaround for sound not working in OpenGL video mode in  Windows with ATI video hardware. Sound will now work for the first ROM  selected, but not for subsequent ones (you will have to quit and  restart Stella for sound to work again). Related to this, added

  '-audiofirst' commandline argument, which initializes audio before video  when emulating a ROM. Further work is required to completely fix  this bug.

  * Fixed bug where volume wasn't being saved in 'Audio Settings' when  started from the ROM launcher.

  * Fixed crash which sometimes occurred when viewing snapshots in the  ROM Info viewer.

  * Allow setting window sizes for the ROM launcher and debugger to be larger  than your desktop resolution. Be careful with this feature, as switching  to fullscreen mode may cause problems in such cases.

  * Made the ROM launcher filename filtering be case-insensitive. This fixes  a bug whereby ROMs with uppercase extensions were marked as invalid.

  * Added a pattern matching textbox to the ROM launcher, used to  further filter the files shown in the listing. For now, this filters  files only (directories are not filtered, and are always shown).

  * The location of EEPROM files used for AtariVox/Savekey emulation can  now be changed with the '-eepromdir' commandline argument as well as

Page 28: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 28/50

  in the UI.

  * Added '-gl_aspectn' and '-gl_aspectp' commandline arguments (and  associated UI items), which replace the previous '-gl_aspect' setting.  The aspect modes can now be set separately for NTSC and PAL mode.  Related to this, the range of values is now 80 - 120.

  * Fixed bug with hold-select/reset/button0 when overriding ROM properties;  the checkboxes in the UI weren't actually doing anything.

  * The 'grabmouse' option is now configurable from the UI; previously  it was only accessible from the commandline or its shortcut key.

  * Removed 'Emulation_HmoveBlanks' ROM property and associated UI item.  You can no longer optionally turn off HMOVE blanking; it is always  enabled when necessary.

2.6.1 to 2.7: (Jan. 19, 2009)

  * Totally reworked the built-in UI to be font-sensitive and use higher-  resolution fonts. Stella now requires a minimum screen size of 640x480.  If used in a resolution smaller than that, the fonts will be reduced  accordingly. Related to this, switching between software and OpenGL

  rendering now requires an application restart.

  * Added three different sized fonts (small, medium, large) which can be  used in the ROM launcher.

  * Added ability to temporarily override ROM properties from the UI. This  is tied to a right mouse button context menu in the ROM launcher, and  is very useful when you want to use a set of properties for all  subsequent ROMs without having to manually change each one.

  * Added ability to filter the files shown in the ROM launcher. Currently,  the choices are 'all files', 'all roms', or 'roms ending with a certain  extension'. This functionality is tied to a right mouse button context

  menu in the ROM launcher. Extensions can also be set with the  '-launcherexts' commandline argument.

  * Added ability to reload the listing in the ROM launcher, either from  a right mouse button context menu or pressing the Control/Cmd-R key.

  * Made the ROM info viewer in the ROM launcher configurable to show  snapshots in 1x or 2x mode.

  * Made the delay between consecutive keys being recognized as one word  configurable in the ROM launcher. This is useful if you find that you  have to press keys too quickly to jump to a specific ROM. This can be  set in the UI or using the '-listdelay' commandline argument.

  * Updated internal ROM properties database to ROM-Hunter version 4  (thanks go to RomHunter for his tireless research in this area).

  * Expanded the statistics overlay for the TIA image to also show  Display Format and Bankswitch type information.

  * Added '-ss1x' commandline argument and associated UI item, used to  generate snapshots in 1x mode, independent of the filtering/scaling  currently in use.

Page 29: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 29/50

  * Various path textboxes in the UI now recognize './' (or '.\') to mean  the current directory and '~/' (or '~\') to mean your home directory  (for Windows, home directory will be your 'My Documents' folder).

  * Large speedup in loading directories with many files in the ROM launcher.

  * Fixed reset issue in 3E, 4A50, AR, CV, E7, F4SC, F6SC, F8SC, FASC and MC  ROMs; the internal RAM wasn't being randomized after the initial reset.

  * M6532/RIOT RAM is now randomized at every reset, not just when the  emulation starts.

  * Fixed bug in _diff pseudo-registers in the debugger; they were actually  defined backwards.

  * Added fix for 'Challenge/Surfers Delight' ROM; the startup bank was  incorrect. Combined with the new 'Override Properties' functionality,  you can now play both games directly from the UI (no need to use the  commandline).

  * Fixed paddle issue with Activision Casino ROM; the last card in game 4  can now be reached.

  * Added new pseudo-registers to the debugger, useful for conditional  breakpoints (_fcount, _cclocks, _vsync, _vblank).

  * Added 'timing' commandline argument functionality to the UI, so you no  longer need to use the commandline to set it.

  * Size restrictions on the TIA image are now strictly enforced. The  maximum height of a 1x TIA image is now 256 lines.

  * Added a new setting to the 'fullres' option named 'auto'. Using  'auto' will let Stella decide the best videomode to use in fullscreen.

  * Changed 'gl_fsmax' option to mean 'scale TIA image in fullscreen'. It

  will have no effect on UI modes.

  * Changed 'gl_aspect' option to range 80-100 (previously, it was 50-100).

  * Removed 'ui_zoom' and 'tia_zoom' options, replacing them with  'tia_filter' (which can be zoom1x, zoom2x, etc). There is no equivalent  for ui_zoom, since the UI can no longer be scaled.

  * Added experimental 64-bit version for Vista64 (may also work on WinXP64).  This hasn't been extensively tested, and is probably quite a bit slower  than the 32-bit version.

  * OSX port now requires at least 10.3 and XCode 3.0 to compile. Sorry,

  but I no longer have access to older systems to compile for 10.2.

  * Huge updates to the documentation, particularly concerning the debugger.  Many features that have been in Stella for a while are now documented for  the first time.

2.6 to 2.6.1: (May 22, 2008)

  * Introduced more accurate timing for NTSC vs. PAL modes, where the

Page 30: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 30/50

  framerate is based on the number of scanlines per frame. This should  eliminate 'clicking' sounds when emulating ROMs that don't follow  the exact NTSC or PAL scanline specs.

  * Added ability to see the current number of scanlines and corresponding  framerate to the TIA emulation. This can be set with the '-stats'  commandline argument, or dynamically turned on and off with the  'Alt-l' key combo.

  * Modified '-framerate' commandline argument, where a non-zero value  overrides the automatic framerate calculation (based on number of  scanlines). Setting 'framerate' to zero re-enables auto-frame  calculation. Also, re-enabled changing the framerate from within the  UI.

  * Added '-timing' commandline argument, which sets the type of waiting  between processing frames. Setting it to 'sleep' emulates the  previous behaviour in Stella; setting it to 'busy' emulates z26,  and can in some cases eliminate screen tearing (at the expense of  using all available CPU time).

  * Fixed issue with debugger disassembly and mirrored $40 TIA write  addresses. They were actually defined at $30, and generating incorrect  labels.

  * Fixed issue in AtariVox and SaveKey controllers where accessing the  EEPROM sometimes failed after the first write.

  * Changed AtariVox and SaveKey EEPROM emulation to default to $FF for  a blank EEPROM.

  * Fixed regression in cart auto-detection logic; some F6 ROMs were being  misdetected as E7.

  * Fixed issue with M6532/RIOT timer initialization; it was causing some  ROMs to hang (most notably Summer Games). Related to this, reworked  the built-in random number generator to generate 'more' random numbers.

  * Fixed bug in CommandMenu where console buttons (Select, Reset, etc)  weren't doing anything.

2.5.1 to 2.6: (May 16, 2008)

  * Added AtariVox support using a real AtariVox device, where Stella  sends data directly to the AtariVox. For now, this is supported in  Linux/UNIX, OSX, and Win32 only. You'll obviously need a real  AtariVox, and a serial<->USB adaptor to connect it to your system.  Added '-avoxport' commandline argument used to set the serial port  to which the AtariVox is connected. Special thanks to Al Yarusso

  and Richard H. for providing sample hardware.

  * Added AtariVox and SaveKey EEPROM emulation. This reads/writes data  to a 32KB file, not to the actual hardware. Very useful for testing  EEPROM support without actually wearing out the real device. Special  thanks to J. Payson for providing the EEPROM emulation code, and A.  Herbert for answering many driver-related questions.

  * Added support for CX-22, CX-80, and AmigaMouse trackball controllers.

Page 31: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 31/50

  * Improved debugger symfile handling so that addresses accessed as  read-only won't use write-only labels (and vice-versa). More work  is still needed in this area.

  * Added M6532/RIOT tab to the debugger. This will be expanded on in a  future release.

  * Added TIA emulation fixes for graphical glitches in Escape from the  Mindmaster, Mission Survive, Solaris, and SWOOPS!

  * Fixed bug where fullscreen OpenGL scaling wasn't working on 4:3 monitors.

  * Further improvements to the M6532/RIOT emulation, which unfortunately  have broken old state files (again).

  * Added deadzone setting, for adjusting the deadzone amount for  analog joysticks. This can be set using the commandline argument  '-joydeadzone' or dynamically within the UI.

  * Make ROM disassembly in debugger take advantage of a wide window.

  * Fixed bug in 6507 BCD handling introduced in the last release.

  * For the Win32 port; Win9x should be fully supported again.

2.5 to 2.5.1: (April 9, 2008)

  * Fixed M6532 RIOT timer emulation. More testing is needed, but the  changes so far have fixed several ROMs that didn't work before.

  * Fixed issue with weird characters in the debugger disassembly when  loading .lst files.

  * Fixed bug where entering the debugger for 4A50 and E0 carts caused  the ROM to be frozen afterwords.

  * Removed logic whereby starting a ROM from something other than the  built-in launcher wouldn't allow the user to go back to the ROM launcher.

  * Fixed bug (hopefully) with the app icon not showing on the Stella window.  Further testing is needed, since I can't duplicate the error myself.

  * Fixed default snapshot folder issues; the folder will now be  automatically created in the same place as state folders, ini files,  etc (whereever that may be for your platform).

  * Re-added 'lastrom' functionality, where Stella will remember and  auto-select the last ROM that was successfully launched in the ROM  launcher.

  * For Stella developers, fixed SpeakJet emulation so it compiles again.  No improvements have been made to the emulation itself, though.

2.4.2 to 2.5: (March 28, 2008)

  * Added RomInfo widget to the ROM launcher, which shows properties  information and a snapshot of the currently selected ROM. Updated the UI  and added '-romviewer' commandline argument to activate this setting.

Page 32: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 32/50

  Note that the ROM launcher will have to be sized at least 640x480 for this  to be used. Also note that the snapshots must be in 1x mode with a  maximum size of 320x260. This will be expanded on in a future release.

  * Added ROM audit functionality, whereby ROMs can be physically renamed  according to their properties' name.

  * Added bankswitching support for 0840, SB, X07 and 4A50. A special thanks  to Eckhard Stolberg for much help in this area.

  * Removed "non-browse" functionality from the ROM launcher; it now always  uses browse/filesystem mode. The previous 'pretty' names can now be  seen by renaming all your ROMs with the new ROM audit feature.

  * Huge overhaul of controller handling and Stelladaptor support, making it  much easier to add new controller types in a future release.

  * Fixed paddle issues in Night Driver; paddle emulation speed should be  much better.

  * Fixed several 6507 emulation bugs related to BCD handling.

  * Updated ROM properties based on info from RomHunter.

  * ROM properties can now be edited from the ROM launcher; you no longer  have to start a ROM to do so.

  * Added support for configurable font to ROM launcher (currently only  'small' and 'large'). Updated the UI and added -launcherfont' commandline  argument to change this setting.

  * Added SECAM, NTSC50, PAL60 and SECAM60 to the list of formats that can  be used. Also, switching between these modes with 'Ctrl-f' now switches  the palette only; the number of scanlines won't change.

  * Fixed crash when switching between software and OpenGL mode with a  Stelladaptor plugged in.

  * Added '-tiafloat' commandline argument, which determines whether or not  the TIA pins are in a 'floating' state. This is useful for testing on  certain CMOS EPROM chips where the unused TIA pins on a read are not  floating but pulled high.

  * Fixed issue in debugger where once a .sym file was loaded, it was used  in all ROMs loaded after that.

  * Fixed issue in debugger where equate names weren't showing up in the RAM  and CPU widgets. Note that this still isn't perfect, and needs support  from DASM for proper functionality.

  * Updated state file format, creating smaller files (and in preparation  for state rewinding in a future release). Old state saves will no longer  work.

  * Added '-bs' commandline argument, which is an alias for '-type' (which  is still present).

  * Removed -pXspeed' commandline arguments, and replaced them with a  single '-pspeed'.

Page 33: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 33/50

  * Removed '-paddle' commandline argument. The paddle currently emulated  by the mouse can still be changed with Ctrl-0..3 or within the UI, but  the setting is no longer saved.

  * Reworked UI for specifying that the console ports have been swapped,  hopefully making it easier to understand.

  * Added 'Ctrl-c' & 'Ctrl-v' to EditTextWidgets, allowing to copy and paste  the text widget contents. More work in this area is coming in a future  release.

  * Added 'Ctrl-leftarrow' and 'Ctrl-rightarrow' to EditTextWidgets, to move  to the first character of previous and next words (respectively).

  * For the Win32 port: fixed OpenGL crashes in Vista. Graphical updates  are still slower in Vista compared to XP, though.

  * For the Win32 port: default folder for Stella config files is now  'My Documents\Stella'; this can be disabled if necessary. This should  fix issues with losing settings when launching Stella from an IDE,  and the creation of stella.ini and 'state' directories in many  different places.

  * For the Win32 port: several fixes to the Visual Studio project files,

  allowing building in debug or release mode, for both i386 and x86_64.  The project files have been upgraded to Visual Studio 2008, and Stella  can now be built and distributed without the VS runtime libraries.

  * Updated configure script for cross-compiling Win32 version in Linux.

2.4.1 to 2.4.2: (September 17, 2007)

  * Made usage of 'GL_TEXTURE_RECTANGLE_ARB' extension configurable, and  have it default to off. This should take care of the black/white  screen many people were experiencing with ATI video hardware. This  is accessible using the 'gl_texrect' commandline argument). Set it to

  'true' or 'false' to enable/disable the extension.

2.4 to 2.4.1: (August 27, 2007)

  * Re-added OpenGL aspect ratio setting ('gl_aspect' commandline argument).

  * Re-added non-browser mode to the ROM launcher.

  * For the Linux/UNIX port; fixed OpenGL vsync issue with Nvidia video cards.

2.3.5 to 2.4: (August 20, 2007)

  * Added new video sub-system where fullscreen and windowed modes are treated  differently. Windowed modes now use '-zoom_tia' and '-zoom_ui' arguments,  while fullscreen modes can be specified by resolution using the new  '-fullres' argument.

  * Widescreen video modes are now supported; Stella will simply center the  image with surrounding black borders.

  * Many UI-related changes, including resizable ROM launcher and debugger

Page 34: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 34/50

  windows, and a new UI palette (the previous 'classic' palette is still  available). This is still a work in progress.

  * The locations of all major config files (statedir, palette file,  cheat file, properties file, etc) are now configurable from the  commandline and within the UI.

  * Updates to TIA palette support. Added SECAM support, and removed the  built-in 'original' palette. Standard, z26, and user are still  available.

  * Various bugfixes to some debugger commands. The 'run' command no  longer causes a crash, and several others have better error-checking.

  * Added more complete cartridge auto-detection for Commavid (CV), 3E,  3F and Activision (FE) formats.

  * Removed XStart and Width ROM properties, since the forthcoming TIA  rework won't be using them.

  * Reworked internal storage of ROM properties to be faster and take up  less space.

  * Added several different ways of stretching the OpenGL image to the

  '-gl_fsmax' argument, for more flexibility.

  * Removed OpenGL aspect ratio setting favour of the previously mentioned  video changes. We'll see how this goes.

  * Removed dirty-rect support from software rendering, since it was actually  sub-optimal in Windows and OSX and defaulted to off in previous versions.

  * Added support for gzipped ROMs.

  * Re-added pause support.

  * Re-added support for Windows 98.

  * Removed support for 'STELLA_BASEDIR' environment variable, since each  config file can be now configured separately.

  * Removed '-fastscbios' argument, since it must always be turned on.

  * Removed PSP support, since it hasn't been updated in over a year, and  someone else is maintaining another port elsewhere.

  * For the Unix/Linux port; fixed 'make install' issues, and changed icon to  PNG format.

2.3 to 2.3.5: (January 17, 2007)

  * Greatly improved cartridge bankswitch type auto-detection. Stella  can now (mostly) autodetect cartridge types 'E0', 'E7', '3E', '3F' and  Superchip carts. Obviously, this autodetection is not infallible, but  relies on patterns in the ROM data, and how it was compiled. Because  of the auto-detection types already supported, almost all bankswitch  info was removed from internal ROM properties. Set the ROM property  "Cartridge.Type" to "Auto-detect" for this to take effect.

Page 35: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 35/50

  * Added auto-detection of display type (NTSC or PAL). Currently, PAL60  ROMs will be detected as NTSC. This is almost 100% accurate, and fails  in very few cases (for those that are mislabeled, the ROM properties  can be set specifically). Set the ROM property "Display.Format" to  "Auto-detect" for this to take effect.

  * Improved emulation timing when exiting one ROM and starting another.  Previously, this could result in the second ROM having its sound start  later than it should have.

  * Removed pause functionality from the core, since it's been superceded  by the other event states. You can now enter one of the menus for a  similar effect (options, command, debugger, etc).

  * Added toggle for PAL color-loss emulation, which defaults to off.  Previous versions of Stella always used color-loss emulation.  Related to this, added 'colorloss' commandline argument.

  * Added rudimentary support for configuring the UI palette ('uipalette'  commandline argument) and ability to change the size of the launcher window  ('launchersize' commandline argument). This will be expanded on in future  releases.

  * Reworked options menu so it's now accessible from the ROM launcher as

  well as while playing a ROM.

  * Re-added ability to change the width and height of a Console. Related to  this, changing XStart/YStart/Width/Height dynamically no longer resets  the ROM.

  * Removed 'tiadefaults' commandline argument, since Stella will now default  to using accurate positioning, and not use 'tweaks'.

  * Joystick code now allows all 4 directions; 'Bumper Bash' now works  correctly.

  * Improved Keypad emulation; 'Alpha Beam with Ernie', 'Oscars Trash Race'

  and 'Magicard' now work correctly.

  * Reworked GUI code, so that all dialog boxes are automatically centered.

  * Added 'rominfo' commandline argument, which prints some detailed info for  a ROM.

  * For the OSX port; fixed crashes in OpenGL mode.

  * For the GP2X port; some improvements to the sound code.

  * For the GP2X port; added vertical centering of the TIA image (when possible).

2.2 to 2.3: (December 22, 2006)

  * NOTE: Because of the many changes in this release, all settings  will be reset to defaults. If this doesn't happen for you, it will be  necessary to manually delete your previous settings.

  * Potentially huge speedups in software rendering mode, both in emulation  and UI modes. Deactivating 'dirty rects' uses these new modes, which

Page 36: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 36/50

  can be 2-3 times faster for many configurations.

  * For UI navigation, changed from using 'joymouse' to the more familiar  'tabbing' functionality, where you move from object to object by use of  some tab key. As a result, completely removed the 'joymouse' commandline  argument and all associated functionality.

  * Added event remapping for UI events, separate from events while in  emulation mode.

  * Added support for PAL60 ROMs, which use the PAL palette and resolution  but run at NTSC timing (60Hz). Added ROM property for this, and updated  the internal properties database for many PAL60 ROMs.

  * Added support for user-definable palettes. For now, only one extra palette  is supported, but in the future we may have them specified per-ROM.

  * Fixed bug in PAL colour-loss emulation, which wasn't actually being done  for the original Stella and z26 palettes.

  * Fixed several TIA-related emulation bugs as reported on AtariAge. More  fixes will come with the TIA rewrite, due in the next release.

  * Added new scaler infrastructure, replacing the '-zoom' commandline argument

  with '-scale_ui' and '-scale_tia'. This means the UI and emulation can now  be scaled independently.

  * Added '-gl_vsync' commandline argument and associated UI elements, which  uses synchronization to vertical blank interrupt in OpenGL on supported  systems. This eliminates tearing in OpenGL rendering.

  * Changed naming of snapshots and state files. These files are now  named based on the names given in the properties database, and no longer  use the 'md5sum' name. As a result, state files from previous versions  will no longer work unless they're manually renamed. Related to this,  removed the '-ssname' commandline argument.

  * Fixed bug where 'Snapshot saved' appeared when taking snapshots in  succession.

  * Added a 'Previous directory' entry to the top of each listing while  in ROM Browse mode, which is equivalent to the 'Go Up' button. This makes  it easier to navigate the filesystem, since you never have to 'tab out'  of the ROM listing.

  * Added all sound related commandline options to the UI, so you no  longer have to use the commandline to set those options.

  * Added new property to ROM properties specifying whether to swap paddles  plugged into a virtual port. This eliminates the need to manually set the

  paddle mode for those ROMs that don't use paddle zero by default.

  * Added a 'Defaults' button to the Game Properties dialog, which resets  the ROM properties to the internal defaults, deleting that ROMs properties  from the external properties file.

  * Fixed bug whereby modified ROM properties weren't being reloaded when  restarting a ROM.

  * Made 'phosphor' and 'phosphor blend' a ROM property, meaning it can be

Page 37: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 37/50

  set per-ROM.

  * Added support for relocating the base Stella directory, by setting the  environment variable 'STELLA_BASEDIR'. This must be done each time before  Stella starts.

  * Added '-fastscbios' commandline argument, which speeds up loading ofvertical bars in Supercharger ROMs, and made it the default.

  * Added '-autoslot' commandline argument, which automatically switches  to the next available slot after saving a state. This defaults to off,  and must be set from the commandline.

  * Fixed bug in debugger command 'runto', which could enter an infinite  loop under some conditions.

  * Updated configure/build toolchain so patching is no longer required for  Debian packages.

  * Removed dependency on PNG library (PNG snapshots are still present, but the  actual library is no longer required).

  * For the OSX port, improved OpenGL performance on Mac Mini using Intel  GMA950 video hardware.

  * For the GP2X port, added support for PAL ROMs, and updated SDL to use  hardware scaling.

2.1 to 2.2: (April 7, 2006)

  * Added new ROM browser option which works like a normal filesystem  browser, allowing navigation throughout the filesystem.  The old mode of browsing is still present, and can be toggled at  runtime. Related to this, fixed bug whereby sorting in the ROM  launcher sometimes didn't work.

  * Integrated stella.pro properties into the application, resulting in  faster startup time. Now Stella can be redistributed as a single  binary; no external files are needed, but they will still be used  if present.

  * Reworked ROM properties files once again. The 'user.pro' file has  been removed, and all user-defined properties are stored in  'stella.pro' instead. You should delete all properties files when  upgrading to this version, to take advantage of the speed increases.

  * Reworked settings files once again. Removed all references to a  global settings file. Each user now gets a user-specific settings  file only. If that file doesn't exist, the built-in defaults are

  used.

  * Added 'conditional saving' of the cheatcode and settings files, so  that these files are only written to disk when absolutely  necessary. This doesn't really affect desktop systems, but is very  useful for systems with flashram-based storage (GP2X, WinCE, etc).

  * Reworked Settings class, hopefully fixing a bug whereby settings  weren't being saved in certain cases (most evident in the OSX port).

Page 38: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 38/50

  * Added 'tiadefaults' commandline option, which can also be toggled  from within the GUI. This option disables all TIA positioning  'tweaks' that typically make a game look better, and present the  image exactly as it would appear on a real 2600.

  * Added jitter-detection code for the paddle emulation, which should  eliminate an annoying 'jittering' effect when using paddles with  a Stelladaptor.

  * Related to jitter-detection, added '-pthresh' commandline option  and GUI entry, which sets a bound below which the emulation detects  jitter.

  * Fixed crash when adding one-shot cheats.

  * Fixed bug in RAM comparitive searches in the debugger.

  * Fixed bug with setting snapshot naming type from the GUI (it was  always being set to 'romname').

  * Re-added low compatibility CPU emulation mode, since it benefits  some slower systems. This is activated with the commandline argument  '-cpu low'.

  * For the OSX port, added Universal binary support.

  * For the OSX port, reworked the menu handling, so that certain menu  options are only enabled when it makes sense to do so.

  * For the GP2X port, fixed joystick deadzone issues and scroll bug in  ROM launcher.

  * For the GP2X port, fixed issue with PAL ROMs causing a crash because of  screen size. A message is now shown indicating that PAL ROMs are not  yet supported.

2.0.1 to 2.1: (January 29, 2006)

  * Added phosphor effect, similar to z26. Useful on ROMs which alternate  sprites from one frame to another, resulting in an annoying flicker.  When using phosphor mode, a pixels colour is mixed with its previous value,  resulting in a blended image that doesn't flicker, emulating the  phosphoresence effect on a real television.

  * Added 'pp' developer commandline argument to set the "Display.Phosphor"  property, and 'ppblend' to set the amount to blend pixels in phosphor  mode. Also added 'Alt p' key to enable/disable phosphor effect while  ROM is emulated. By default, phosphor mode is only used when necessary,  as specified in the stella.pro file.

  * Renamed 'cheetah' commandline argument to 'cheat'.

  * Added per-frame cheatcodes (4 characters long), which are evaluated  each frame.

  * Added cheatcode GUI, where cheats can be named, edited, saved, etc.

  * Cheat codes are now saved to stella.cht file and are automatically  reloaded when Stella starts.

Page 39: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 39/50

  * Improved 'joymouse' functionality. While in GUI mode, any axis will  simulate mouse movement, and any button will simulate a mouse click.  So the GUI can be completely navigated without a mouse.

  * Improved CommandDialog and LauncherDialog wrt joymouse functionality.  These dialogs are used more than any other on devices without a mouse,  so joystick axis movement switches between GUI objects, rather than  simulating the mouse. This leads to much faster selection of objects.

  * Added mapping of multiple SDL joystick axis to Event Mapping.

  * Added joystick hat support, and mapping of multiple hats to Event Mapping.

  * Added remapping of paddle emulation to the keyboard or joystick axis  (the mouse is still used by default for paddles). Related to this,  use more precise analog values when analog axis are mapped to  analog-type events (such as paddles).

  * Treat joystick events as other types of controllers based on the virtual  port entry in stella.pro. This means that mappings for a joystick will  emulate other devices when necessary.

  * Added 'sp' developer commandline argument, which sets the

  "Console.SwapPorts" property and swaps the arrangement of the virtual  ports. Useful for games like "Raiders of the Lost Ark", where the  joysticks are normally swapped.

  * Added ability to set which Stelladaptor device emulates which virtual  joystick port ('sa1' and 'sa2' commandline arguments, which accept  'left' or 'right').

  * Fixed issues with jittering joysticks/mice causing weird events when  starting Stella.

  * Added 'freq', 'tiafreq' and 'clipvol' commandline arguments, which  affect the sound subsystem (see manual for further info).

  * Made state files completely cross-platform, both in terms of endianness  as well as CPU size (32 vs. 64 bit).

  * Fixed crash with using 'cheat' and 'break' from the commandline.

  * Implemented dynamic loading of OpenGL library.

2.0 to 2.0.1: (October 24, 2005)

  * Added 'dirtyrects' support, which speeds up rendering for some Windows users.

  * Fixed bug where taking snapshots would fail if the snapshot directory  wasn't specified.

  * Made ROM launcher case-insensitive, so upper and lowercase names are now  mixed in the correct order.

  * Fixed ZIP ROM support to search the archive for ROMs ending with either  .bin or .a26 (case insensitive).

Page 40: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 40/50

  * ROMs which don't have an associated properties entry are no longer named  'Untitled' in the Stella window or when taking snapshots. The actual  ROM name is now used.

  * Changed minimum height of debugger to be 27 lines in the prompt, or approx.  700 pixels high. This should make using the debugger easier for users  with lower resolution monitors. Related to this, the RomWidget now uses  all possible vertical space when changing the debugger height.

  * Fixed bug related to upgrading Stella and event mappings being incorrect.  Stella now detects this, and uses the default mappings. So upgrading  to version 2.0.1 means your event mappings will be reset.

  * Fixed bug in loading debugger symbol files generated on different  operating systems.

  * For the Windows port; added exe installer based on InnoSetup.

  * For the Windows port; compiled icon into Stella, so it now looks like  a real Win32 application.

  * For the OSX port, reverted window resize key combos back to 'Cmd =' and  'Cmd -' to match the 1.4.2 release.

1.4.2 to 2.0: (October 16, 2005)

  * Added integrated GUI. Stella is now a fully graphical application, and all  settings can be changed dynamically while the application is running. That  means the commandline is no longer required (but support is still there  for those who want to use it).

  * Added ROM launcher. You can now exit a game and start playing another one  from directly within Stella (you no longer have to quit Stella and  restart it).

  * Because of the integrated GUI and ROM launcher, StellaX and KStella

  (the Windows and Linux frontends) have been discontinued. The OSX  port now uses the launcher as well.

  * Added an integrated debugger for game developers. This is currently  the first version of a debugger in Stella, but it's already quite  usable.

  * Added new sound subsystem, which is much faster and more accurate.  Related to this, added stereo sound output (used by some homebrew games).

  * Added ZIP support. Stella can now open ROM's compressed in zip  format.

  * Added cartridge 'frying', thanks to Fred "batari" Quimby. This  emulates the action of turning the power button on and off on a  real Atari, often resulting in some strange effects.

  * Added ability to edit current ROM properties from directly within  Stella, which can then be saved directly into the 'user.pro' file.  So creating a properties entry for a new ROM can be done without  any external tools.

  * Added initial support for using Stella in an 'arcade-box'

Page 41: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 41/50

  environment without a keyboard. This consists of an in-game  menu for choosing common actions in Stella, as well as using the  joystick navigate the mouse pointer.

  * Reworked properties system to use both a system-wide 'stella.pro' and  a per-user 'user.pro' properties files. Changes made by the user  and stored in 'user.pro' are no longer erased when upgrading Stella.

  * Added support for cartridges with 3E bankswitching format.

  * Added preliminary Cheat support.

  * Added 'Alt/Shift-Cmd' z, x, c, v, b, n keys to enable/disable the  P0, P1, M0, M1, BL, PL bits in the TIA, respectively.

  * Added 'Alt/Shift-Cmd .' key to disable all bits in the TIA.

  * Added 'Alt/Shift-Cmd /' key to enable all bits in the TIA.

  * Added 'Alt/Shift-Cmd g' key to switch dynamically switch between  software and OpenGL modes while Stella is running.

  * Added 'Ctrl/Cmd r' key to reload the ROM currently being emulated.

  * Added 'Alt/Shift-Cmd s' key to merge the current game properties  into the properties file.

  * Added 'help' commandline argument. Launching Stella from the  commandline with no options now starts Stella in ROM launcher mode,  instead of showing help (as in previous versions).

  * Added the following commandline arguments for developers:  "pro, type, ld, rd, tv, lc, rc, bc, format, xstart, ystart, width  height, cpu, hmove". Developers can consult the manual for  further details.

  * Removed 'mergeprops' commandline argument, since there are now

  dedicated keys to either save or merge game properties.

  * Removed 'hidecursor' commandline argument. Stella will now  automatically decide when to use this setting.

  * Fixed framerate when switching between NTSC and PAL modes. Stella  now uses the correct framerate based on the format of the ROM,  in terms of both video and audio.

  * Added 'configure' support to the build process for both Linux and  Win32 (using MinGW). Developers can now use the familiar 'configure;  make; make install' commands to compile Stella.

  * Further consolidation and integration of SDL. This should lead to  faster operation and a more consistent look for all ports.

  * Fixed some 64-bit issues. Stella now compiles and runs correctly  on AMD64 and PPC64 Linux systems.

  * Updated the Stella manual with pictures of the new integrated GUI.

1.4.2a to 1.4.2b: MacOSX version only (February 27, 2005)

Page 42: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 42/50

  * Added fix to mute sound while user is loading a new cartridge, or using  the Preferences window.

1.4.2 to 1.4.2a: MacOSX version only (February 21, 2005)

  * Fixed problem in timing loop which was causing crashes after 15-30  minutes.

  * Turned optimization on in compiler settings, which had somehow gotten  turned off.

1.4.1 to 1.4.2: (February 19, 2005)

  * Updated the sound system. All popping and cracking sounds that previously  occurred at program start/stop and when entering/exiting menu or pause  mode have been eliminated. * Fixed the gl_fsmax argument to mean "switch to desktop resolution on

  fullscreen OpenGL", instead of to the maximum possible resolution (the two  are not always the same). 

* Added Alt [ and Alt ] keys to dynamically adjust the sound volume during  emulation. * Added Control 0, Control 1, Control 2, Control 3 keys to dynamically change

  which paddle the mouse should emulate. * Added video_driver argument. This accepts the different options that can be

  specified for SDL_VIDEODRIVER (see SDL homepage for more information).  Basically, it eliminates the need to set the SDL_VIDEODRIVER environment  variable. * Made sure screen is refreshed before taking a snapshot. This eliminates

  the problem with new snapshots containing the text "Snapshot saved".

  * For the Windows port; added windib and directx as options for  'video_driver' when using software rendering. The 'windib' option is now  the default, and in many cases it's up to 10 times faster than using  'directx'.

  * For the OSX port; added 'Cmd-R' key to reload the currently loaded ROM.

1.4 to 1.4.1: (August 15, 2004)

  * Fixed PAL sound issues. PAL games now should sound correct (no distortion  or missing sounds), but some games may still run too fast. This is still

  a work-in-progress, and will be fixed in Stella 1.5.

  * Cleaned up the SDL event gathering loop. This should hopefully fix the  problems with "double-pumping events" reported by some Windows users.  Event gathering and dispatching is now much faster as well.

  * Fixed a bug where the Control or Alt keys could be assigned to some event,  but they could never be used. Control/Alt can now be used for any event.

  * Updated stella.pro file to work with the latest Good2600 ROMset release

Page 43: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 43/50

  (Thanks go to Voch for helping to maintain the stella.pro file).

  * For the Windows port; removed requirement for ROM files to be named *.bin  in the StellaX frontend. The ROM's can now have any name, but ZIP-files are  not yet supported.

  * For the Windows port; fixed the problems with the included modified SDL  library and Windows 98 users. Stella should now run in Windows 98.

  * For the OSX port; added preference to allow user to select the directory  in which ROM images are stored. This sets the default directory to start  the browsing for a ROM in, and doesn't preclude the user from selecting a

file outside that directory.

  * For the OSX port; fixed preferences bug where Preferences changed before  a game was opened were not being saved.

  * For the OSX port; fixed an issue which would prevent the program from  working with OSX 10.1.

1.3 to 1.4: (July 17, 2004)

  * Codebase ported to SDL. The DOS and X11 ports have been discontinued.

  * Sound code ported to SDL. For the Linux versions, ALSA and OSS sound  support has been discontinued.

  * The Linux, MacOSX and Windows ports are now based on the same codebase  and are actively maintained. That means simultaneous (and hopefully more  frequent) releases.

  * A new Windows port has been created, with the GUI based on StellaX.  This is the first new release for Windows since Stella 1.2.  (software mode is not yet optimized; OpenGL mode works much better)

  * A new Mac OSX port has been created by Mark Grebe. This is the first new

  release for Mac OSX since Stella 1.2.

  * Added OpenGL rendering support.

  * Added more refined in-game GUI.

  * Added event remapping. Emulation keys can now be remapped to the keyboard  or up to 4 joysticks.

  * Added native Stelladaptor support. Joysticks, paddles, and driving  controllers have been tested.

  * Digital sound support (used in games like Quadrun and Pitfall2) has been

  greatly improved. Sound generation is now more tightly synchronized with  video updates.

  * Added support for switchable palettes. Currently you can switch between  the current Stella palette, original Stella palette (pre-1.2 versions),  and the z26 palette.

  * Added support for UA Limited style bankswitching (Funky Fish and Pleiades).

  * Switched to using high compatibility M6502 mode by default. This means

Page 44: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 44/50

  old state saves from previous Stella versions will no longer work.

  * The meaning of the "-sound" command line option has been changed. This  option now accepts either 'true' or 'false (1 or 0) to enable/disable  sound.

  * Changed sound mixer functionality. The system volume/mixer settings will  never be changed; volume changes in Stella will only affect the  emulation itself.

  * Added "-video" command line option. This option accepts either 'soft' or  'gl', to use software/OpenGL rendering.

  * Added "-gl_filter" command line option. This option accepts either  'nearest' or 'linear', to use GL_NEAREST or GL_LINEAR filtering.

  * Added "-gl_aspect" command line option. This option accepts a decimal  value specifying how much to scale the width of the emulation image  (useful for giving an authentic 'square-looking' 4:3 mode).

  * Added "-gl_fsmax" command line option. This option accepts either  'true' or 'false, and specifies to use the maximum possible resolution  when in fullscreen OpenGL mode (useful for Linux and for Windows on  laptops).

  * Added "-fragsize" command line option. This option accepts the size to  use for sound fragments. Linux/MacOSX works well with 512, Windows seems  to need 2048. This value must be a power of two.

  * Modified "-volume" command line option. If you specify '-1', Stella will  use the system volume.

  * Renamed the "-pro" command line option to "-altpro".

  * Renamed the "-fps" command line option to "-framerate".

  * Removed the "-center" command line option. Stella now automatically

  centers the window when possible.

  * Removed the "-paddle real" command line option, since it never really  worked correctly (and Stelladaptor support adds that functionality  anyway).

  * Removed all command line options relating to the X11 port  (owncmap, display).

1.2 to 1.3: (February 17, 2003)

  * Improved TIA sound system so that games with digitized audio work

  * Added saving and loading of game state to the core; X11, SDL, and DOS  versions current support saving and loading game state

  * Added support for F4 bankswitching method

  * Pitfall II DPC sound emulation completed

  * Fixed a bug which caused the difficulty switches to operate backwards

Page 45: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 45/50

  * Changed DPC auto-detection to use file size so that Pitfall II mods work

  * Modified RIOT timer emulation so that startup values are random

  * Added 3F bankswitching auto-detection routine so that homebrews and  demos work without a stella.pro entry

  * Updated the TIA message boxes so they look a little nicer

* Latest stella.pro file included in distribution

  * Added some developer options to the core, and the ability to change game  width, height, xstart, ystart, and others while the emulation is running.  Added ability to switch between NTSC and PAL at runtime, and the ability  to save the current properties to a file or to merge the changes into the  stella.pro file; X11 and SDL versions supported for now (compile option)

  * External sound server for the X11 and SDL versions no longer required, as  all sound code is now integrated into the core

* Changed locations of the user's config files for the X11 and SDL versions;  the user's stellarc file is now located in $HOME/.stella/stellarc, state  files are located in $HOME/.stella/state/ and the stella.pro file is  located in $HOME/.stella/stella.pro

  * Changed the way options are supplied on the commandline for the X11 and  SDL versions. Now all commandline options take exactly the same arguments  as in the INI file.

  * Added "-accurate" command line option to choose between accurate  (CPU-intensive) timing or less accurate (CPU-friendly) timing to X11  and SDL versions. This is the final version of what was considered  experimental timing code in Stella 1.2.

  * Added "-sound" command line option to choose which sound backend to  use (alsa, oss, sdl) with the X11 and SDL versions.

  * Added the developer command line options to the X11 and SDL versions,  which are only activated in developer builds: -Dformat, -Dwidth,  -Dheight, -Dxstart, -Dystart, -Dmerge

* Fixed window resize bug in the X11 port

  * Added "-nosound" command line option to the DOS port to disable audio

  * DOS port supports a "-vsync" option to synchronize emulation with the  video blank of the video card

  * Changed VGA code in the DOS port to use a 60Hz 320x200 and a 60Hz  320x240 graphics mode

  * DOS port has been updated to run better under Windows NT, 2000, and XP.  There are still issues with the sound, however, it is usable.

  * DOS port is using a new Sound Blaster driver created by Matt Conte which  supports auto-detection of sound cards.

  * DOS port supports a STELLA_HOME environment variable that definesthe location of config files.

 

Page 46: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 46/50

  * In the DOS port the stella.pro file is searched for first in the  current working director and then in the $STELLA_HOME directory

  * In the DOS port the ROM image is searched for first using the  specified path, then in $STELLA_HOME/ROMS, and finally in $STELLA_HOME 

Cyberstella 1.2.1 (May 16, 2002)

  * Removed the built-in games until some legal stuff is sorted out

Cyberstella 1.2 (May 10, 2002)

  * Initial release of a new WIN 32 port of Stella

DOS 1.2 to DOS 1.2.1: (April 28, 2002)

  * Fixed a bug with control keys being confused with the pause key

  * Fixed a bug with the pause key causing the application to lockup

1.1 to 1.2: (April 21, 2002)

  * Improved illegal CPU instruction support. Thrust and Qb will now operate  correctly.

  * Improved emulation of undefined TIA reads. The ball in Video Pinball  finally bounces off of the paddles!

  * More accurate NTSC and PAL palettes. These palettes should be much more  like the colors displayed on a real TV.

  * PAL color loss is now emulated. If a PAL game displays an odd number  of scanlines then the next frame will be displayed in black & white.

  * TIA emulation improved to fix some problems with Pole Position,  Fatal Run, Dolphin, Decathlon, Robot Tank, and Hole Hunter.

  * Support for Pitfall II has been added, however, the enhanced sound  provided by the DPC chip found in the Pitfall II cartridge isn't  currently emulated.

  * Support added for the Commavid (CV) bankswitching method.

  * Support added for the Megaboy cartridge.

  * Improved Supercharger emulation including a new BIOS that shows the

  vertical blue progress bars like the real thing.

  * Code for the emulation core has been updated to work with newer C++  compilers compliant with the C++ standard.

  * Basic message support added to the TIA emulation. This allows a short  message to overlay the TIA frame. Currently, it's used when switching  color modes and difficulty settings. * The internal data structure for the stella.pro file was changed from

Page 47: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 47/50

  a resizable array to a binary search tree. This results in quicker  startup times.

  * An SDL port of Stella is available (requires SDL 1.2.0 or greater)

  * Added option to not load in the whole stella.pro file when startingStella. This option is enabled on the X11, SDL, and DOS versions. Win32version is left alone since it's needed for loading multiple games fromthe UI. Saves on memory usage.

  * Added INI file option to the X11 and SDL versions. Options can bespecified in this file instead of entering them on the commandline. Anyoptions entered on the commandline override options in the INI file.File is called stellarc. For the X11 and SDL versions, it can be in

  either $HOME (as $HOME/.stellarc) or in /etc (as /etc/stellarc). The  one in $HOME has higher priority than the one in /etc.

  * Added snapshot support to the X11 and SDL versions. Pressing F12 savesthe current screen in PNG format. Requires PNG library.

  * Removed stella.pro file from the binary, resulting in large space  savings. The stella.pro file is no longer optional. For the X11 and  SDL versions, it can be in either $HOME (as $HOME/.stella.pro) or in  /etc (as /etc/stella.pro). The one in $HOME has higher priority than

  the one in /etc. For DOS and Win32 versions, the stella.pro file must  be in the same directory as the executable.

  * Added pause functionality to the core. Implemented in DOS, X11, and  SDL versions for now.

1.0 to 1.1: (February 26, 1999)

  * DOS and Linux versions support real Atari 2600 paddles using aspecial PC game port adaptor

  * Linux version uses the new 1.2.x joystick driver API

  * Added support for the "-display" option to the X Window version

  * Added support for private colormaps to the X Window version

  * Fixed a few bugs in the Supercharger emulation

  - A major bug in the ROM loading routine was fixed

  - Multi-loading in "Escape from the Mindmaster" works correctly

  - All Supercharger games load and execute at this point

  * Added a small hack to the TIA code to fix a display problem in "Escapefrom the Mindmaster"

  * Improved TIA emulation to support the RESPx multi-sprite trick

1.0b1 to 1.0: (October 7, 1998)

  * DOS version supports 320x200 and 320x240 graphics modes

Page 48: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 48/50

  * Several portability issues have been resolved

* Preliminary support for Chris Wilkson's Megacart bank-switching scheme

  * BSDI target included in makefile

* Improved Users Manual in several "popular" formats

0.7 to 1.0b1: (July 25, 1998)

  * Supports the following controllers:

  Joysticks, Paddles, Booster-Grip, Keyboard and Driving

  * Supports the following bank switching methods:

  2K, 3F, 4K, AR, E0, E7, F4SC, F6, F8, F8SC, FASC, FE

  * Properties are associated with games using their MD5 checksum  calculated on the entire ROM image

  * Uses the new 'stella.pro' file format for game properties

  * Includes Erik's latest stella.pro properties file

  * New frame rate throttle code for X windows GUI

  * Based on the new and improved M6502 CPU emulation

  * Improvements to TIA emulation

  - Support HMOVE blanks

  - Improved Cosmic Ark star field effect

  - Some support for the RESPx multiple sprite trick

  - Support NTSC and PAL palettes

  * Improvements to PIA emulation (timing)

  * Improved Supercharger emulation

0.6 to 0.7: (June 7, 1997)

  * Improved emulation speed of TIA and 6507

  * Added Starpath Supercharger support

  * Added Tigervision bank-switching support (3F bank-switching)

  * Added pause game feature for Unix and DOS

  * VCS files combined into a single builtin property file

  * Added TIA HMOVE "feature" to support Cosmic Ark stars

  * Improved TIA VSYNC code so that it works more like the real

Page 49: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 49/50

  thing (0.6 VSYNC code caused the graphics of some games to  be off such as Alien and Battle Zone)

  * Added two 6507 emulators: one is designed to act more like  the real thing, while the other is designed to be as fast as  possible (required for Supercharger support)

  * Changed TIA peeking so lower nibble of byte read is the same  as the TIA address being accessed (Warlords now works) 

0.5 to 0.6: (January 18, 1997)

  * Fixed collision detection problem (Freeway works)

  * Changed PIA timing code to fix screen jitters

  * Added new bank-switching methods: F4SC (Fatal Run), E7 (Burgertime)

  * Fixed some code in the TIA emulation that caused SEGFAULTS

  * Improved frame rate throttling code to work better on fast machines

  * Improved TIA emulation (missle graphics are fully emulated now)

  * Included Bob Colbert's "Okie Dokie" game

  * Uses version 1.1 of the TIA Sound library by Ron Fries

0.4 to 0.5: (November 17, 1996)

  * Added sound support

  * Added new bank-switching methods: F8SC (Defender II), FASC (CBS RAM+)

  * Changed TIA so peeking $E and $F return $F not $0 for Haunted House

  * Changed PIA timing code to fix screen jitters in Frogger

  * Addressing scheme rewritten

  * Optimized 6507 memory accesses

  * Randomized memory in PIA upon startup

  * Removed auto-disabling of objects at the start of a frame  so you can't walk through walls in Adventure

  * Changed the X windows terminal update method to make it faster and

  easier to understand

0.3 to 0.4 (August 28, 1996):

  * TIA code has been optimized some

  * Some games can be played with just a ROM image

  * New search method for ROM images (no more STELLA_PATH)

Page 50: Changes

7/17/2019 Changes

http://slidepdf.com/reader/full/changes-568e6f7cb21c4 50/50

  * Delta screen update supported

  * Better error handling added to the "core"

0.2 to 0.3 (July 12, 1996):

  * Keyboard joystick support is much better (Daniel Marks)

  * Paddles are now supported via the mouse (Bradford Mott)

  * Many portability issues have been resolved (Keith Wilkins)

  * Fixed a problem with the 6507 ADC and SBC instructions that caused  some games (Enduro) not to work correctly (Bradford Mott)

  * Power Macintosh port (Aaron Giles)

  * Windows 95 & NT port (Jeff Miller)