mirror of https://github.com/stella-emu/stella.git
3793 lines
156 KiB
Plaintext
3793 lines
156 KiB
Plaintext
===========================================================================
|
|
|
|
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
|
|
===========================================================================
|
|
|
|
6.0.1 to 6.1: (MM dd, 2019)
|
|
|
|
* Note: because of major event remapping changes, all remappings will be
|
|
reset to defaults; if you had custom mappings, they will need to
|
|
be re-entered again.
|
|
|
|
* Note2:Support for Windows XP has been discontinued as of this version.
|
|
WinXP is now completely out of support from Microsoft, so we
|
|
are doing the same.
|
|
|
|
* Added proper Retron77 port. (TODO: doc)
|
|
|
|
* Added automatic controller detection.
|
|
|
|
* Controllers can be changed during emulation (no ROM reload required
|
|
anymore).
|
|
|
|
* Removed superfluous controller option 'PADDLES_IDIR'.
|
|
|
|
* Added configurable paddle dejittering.
|
|
|
|
* Huge improvements to event remapping.
|
|
- Allow mapping of modifier-key and button-direction combinations.
|
|
- One controller can use the same mappings as other controllers
|
|
- Much more events can be remapped
|
|
- Events can be filtered by type in UI
|
|
|
|
* Key-repeat mode improved; entering Time Machine by holding down a key
|
|
combo continues to send events (previously, you had to release and then
|
|
press the combo again).
|
|
|
|
* Certain buttons in the UI can now be activated repeatedly by holding
|
|
down the mouse button (Time Machine, debugger step/trace/frame advance,
|
|
etc.)
|
|
|
|
* Added option to configure mouse double click speed.
|
|
|
|
* Added option to configure controller input repeat speed.
|
|
|
|
* Added 'HiDPI' mode, which scales the UI by 2x when enabled. This is
|
|
meant for 4k and above monitors, but can actually be used at any
|
|
lower resolution that is large enough to display the scaled UI.
|
|
|
|
* Fixed TIA 'Center' option, Stella now remembers the last windowed position.
|
|
|
|
* Added fractional (25% increments) TIA zooms.
|
|
|
|
* Removed 'tia.fsfill' option, replacing it with 'tia.fs_stretch'. This
|
|
new option allows to preserve TIA image aspect ratio in fullscreen
|
|
mode, or stretch to fill the entire screen.
|
|
|
|
* Added configurable 'Overscan' option for fullscreen modes.
|
|
|
|
* Fullscreen TIA modes no longer assume that desktop taskbars, etc
|
|
are present, hence they are scaled to the proper fullscreen size.
|
|
|
|
* Added option to display dialogs in screen corners.
|
|
|
|
* Added hotkey for sound on/off.
|
|
|
|
* Paths have been simplified: (TODO - finish this)
|
|
- The following file/directory locations are no longer configurable
|
|
(statedir, nvramdir, cheatfile, palettefile, propsfile); they are
|
|
now all under the base directory
|
|
- Removed cfgdir; Distella config files are now placed with their
|
|
associated ROMs
|
|
- Added 'basedir' commandline argument, which allows to change the
|
|
base directory where almost all config-related items are stored;
|
|
related to this, discontinued the 'basedir.txt' functionality
|
|
- Added 'baseinappdir' commandline argument, which sets the base
|
|
directory to the application folder (Windows only for now); this
|
|
replaces the functionality of 'basedir.txt'
|
|
|
|
* Enhanced 'Command' menu to display current state and more commands.
|
|
|
|
* Added option to save and load all TimeMachine states at once.
|
|
|
|
* Added option to change pitch of Pitfall II music.
|
|
|
|
* In file listings, you can now select directories by holding 'Shift' on
|
|
the first character entered. Entering characters in lowercase still
|
|
selects files, as before.
|
|
|
|
* Fixed bug when starting ROMs via MacOS finder.
|
|
|
|
* Added various developer options for oddball TIAs:
|
|
- stuffed player, missiles and ball move
|
|
- delayed playfield bits and color
|
|
- delayed players and ball VDEL swap
|
|
|
|
* Disabled some developer options for 'Player settings'.
|
|
|
|
* Improved breakpoints to now consider the banks.
|
|
|
|
* Improved debugger's TIA display and zoom windows.
|
|
|
|
* Improved hotkeys, now many emulation keys work in debugger too.
|
|
|
|
* Fixed display of negative values in debugger; sometimes they were
|
|
shown as positive.
|
|
|
|
* Reworked ROM properties database, making it load faster in certain
|
|
cases. Related to this, completely removed 'Display_Height' stuff.
|
|
(TODO: Stella.pro cleanup, doc).
|
|
|
|
* Updated internal ROM properties database to ROM-Hunter version 15
|
|
(thanks go to RomHunter for his tireless research in this area).
|
|
Related to this, updated the snapshot collection.
|
|
|
|
* Fixed 'Dancing Plate (Unknown) (PAL)' to use joystick.
|
|
|
|
* Fixed cheatcode handling in 2K and 4K ROMs.
|
|
|
|
* Fixed bug where frying one ROM was continued with the next ROM.
|
|
|
|
* Fixed not working 7800 pause key.
|
|
|
|
* Enhanced UA bankswitching to support certain Brazilian carts.
|
|
|
|
* Auto-detection of bankswitch scheme by file extension now includes
|
|
more human-readable formats (not restricted to DOS 3-char length).
|
|
See the documentation for the new names.
|
|
|
|
* Fixed bug in DPC+ scheme; 'fast fetch mode' was enabled at startup,
|
|
when it should be disabled by default.
|
|
|
|
* Fixed display for OpenGLES renderers used by Libretro
|
|
- and much more for Libretro support (TODO)
|
|
|
|
* PNG/ZIP image support is now conditionally compiled into Stella.
|
|
All major ports (Linux/macOS/Windows) have it enabled by default.
|
|
|
|
* SDL/GUI support is now conditionally compiled into Stella. All major
|
|
ports (Linux/macOS/Windows) have it enabled by default. This is
|
|
currently needed by the libretro port.
|
|
|
|
* Updated included PNG library to latest stable version.
|
|
|
|
-Have fun!
|
|
|
|
|
|
6.0 to 6.0.1: (June 5, 2019)
|
|
|
|
* Added support for CDFJ bankswitching type (Galaga, Wizard of War, etc).
|
|
|
|
* Allow the DPC+ scheme to not enable playfield 'jitter' effect for
|
|
certain older DPC+ driver versions; this allows 'Epic Adventure' ROM
|
|
to finally work in Stella.
|
|
|
|
|
|
5.1.3 to 6.0: (December 23, 2018)
|
|
|
|
* Note: because of major TIA sound changes, the state file format has
|
|
changed, and old state files will not work with this release.
|
|
|
|
* New cycle exact audio core based on work by Chris Brenner (crispy);
|
|
greatly improved audio emulation accuracy (i.e. E.T., Ms. Pacman).
|
|
|
|
* Full rewrite of the audio subsystem; resample TIA output to target
|
|
sample rate directly in Stella.
|
|
|
|
* Added option to force stereo sound for all ROMs, or to use the
|
|
setting on a per-ROM basis.
|
|
|
|
* Threading: decouple emulation from frame rendering.
|
|
|
|
* Main loop rewritten; emulating speed and timing is now much more
|
|
faithful (i.e. speed in Pick'n'Pile).
|
|
|
|
* Added preliminary support for 'CTY' bankswitching scheme and recently
|
|
released 'Chetiry' ROMs. Special thanks to SpiceWare for adding music
|
|
support to this scheme.
|
|
|
|
* UI modernization (new widget look, dialog titles added, dialogs
|
|
refactored).
|
|
|
|
* The bankswitch scheme can now be forced by naming the ROM with a
|
|
specific extension (ie: .f8s for F8SC, .fe for FE, etc). The
|
|
supported extensions are the same as the ones from HarmonyCart and
|
|
UnoCart.
|
|
|
|
* Audio settings replaced with new 'audio.xxx' settings.
|
|
|
|
* FPS setting replaced with speed setting for adjusting emulation speed.
|
|
|
|
* Extra functionality for Time Machine dialog (start/stop recording;
|
|
minor fixes).
|
|
|
|
* When logging messages to the System Logger, condense similar messages
|
|
that arrive in batches into fewer messages (including timestamps).
|
|
|
|
* Fixes for collision corner cases (during HBlank).
|
|
|
|
* Fixed excessive CPU usage while in UI modes (ROM launcher, debugger,
|
|
etc).
|
|
|
|
* The 'launcherexts' option has been replaced by a true/false option
|
|
named 'launcherroms', which specifies to show only ROMs or all files
|
|
in the ROM launcher.
|
|
|
|
* Changes in 'Game Properties' dialog
|
|
- 'Default' button now affects only current tab like in all other
|
|
dialogs.
|
|
- 'Display' and 'Console' tab changes are now immediate.
|
|
- Fixed bug when selecting 'Auto-detect' format for 50Hz ROMs
|
|
|
|
* Fixed bug in autodetecting Genesis controllers.
|
|
|
|
* Fixed bug with 'thumb.trapfatal' commandline argument; sometimes Stella
|
|
would lock up when encountering a fatal error instead of entering the
|
|
debugger and displaying a message.
|
|
|
|
* Fixed bug in reading from settings file with entries that were empty;
|
|
the parsing was failing. This affected the 'cpurandom' argument; when
|
|
all options in it were turned off, they were all turned on again during
|
|
the next program run.
|
|
|
|
* Fixed bug with 'hold' events; they are now released a short time after
|
|
starting a ROM.
|
|
|
|
* When starting Stella for the first time, the first ROM selected will
|
|
determine which path to use by default for subsequent runs.
|
|
|
|
* Fixed emulator crash when starting SaveKey ROMs from commandline with
|
|
SaveKey messages enabled.
|
|
|
|
* Fixed missing TV format update in frame stats dialog when switching
|
|
display type.
|
|
|
|
* Fixed missing debug color update when switching display type.
|
|
|
|
* 'Fill to scanline' now works for scanlines above current scanline too.
|
|
|
|
* The debugger 'uhex' command is now honoured in CDF and BUS schemes.
|
|
|
|
* When switching screenmodes, the sound is now paused and later resumed.
|
|
This fixes popping and cracking sounds apparent on some systems, notably
|
|
OSX when toggling windowed/fullscreen mode.
|
|
|
|
* State file format has been optimized to be smaller, and faster loading
|
|
and saving. This affects both the files saved to your computer as well
|
|
as Time Machine functionality.
|
|
|
|
* The ROM name saved in a PNG tEXt chunk now honours the 'snapname'
|
|
setting.
|
|
|
|
* Improved snapshots when phosphor is enabled.
|
|
|
|
* Updated PAL palette.
|
|
|
|
* Added 'Cartridge.StartBank' ROM property, to force a ROM to use a
|
|
specific bank for its reset vector.
|
|
|
|
* Added Developer setting, which breaks on reads from write ports. It
|
|
now detects such conditions in many more cases. This new way of
|
|
detecting RWP errors obsoletes the old '_rwport' debugger command,
|
|
which has now been removed.
|
|
|
|
* Added recently released 'Arkyology' prototype ROM to the database.
|
|
|
|
* Added 'Amoeba Jump' and 'Flappy' ROMs (from the Retron77) to the
|
|
database.
|
|
|
|
* Fixed 'Street Racer' and 'Video Olympics' ROMs to use paddles in both
|
|
ports.
|
|
|
|
* If using SDL 2.0.5 or above, the calculated desktop size now takes
|
|
the taskbar/dock into account (so windows should no longer overlap
|
|
those areas).
|
|
|
|
* For UNIX systems: in the ROM launcher, when using symlinks use the
|
|
symlink pathname instead of the underlying filesystem pathname.
|
|
|
|
* The UNIX builds now use the system-installed PNG and ZLIB libraries
|
|
by default.
|
|
|
|
* The Macintosh builds are now named 'macOS' throughout the codebase to
|
|
reflect the new naming from Apple.
|
|
|
|
* For better compatibility, the Windows 32-bit version does not require
|
|
SSE2 anymore.
|
|
|
|
* Updated included PNG library to latest stable version.
|
|
|
|
|
|
5.1.2 to 5.1.3: (June 10, 2018)
|
|
|
|
* Fixed crash in OpenBSD when quitting the app, which can also be
|
|
happening on other systems (no reports yet, but the problem is now
|
|
fixed for good).
|
|
|
|
* Fixed configure/build scripts to work natively under OpenBSD.
|
|
|
|
|
|
5.1.1 to 5.1.2: (May 20, 2018)
|
|
|
|
* Fixed bug with SaveKey autodetection; some ROMs were not correctly
|
|
detecting that a virtual SaveKey device was plugged in. This notably
|
|
fixes issues in "Super Cobra" and "Scramble" ROMs.
|
|
|
|
* Make previously mentioned ROMs use the SaveKey device by default.
|
|
|
|
* Fixed bug in UI navigation with joystick hat movement.
|
|
|
|
|
|
5.1 to 5.1.1: (February 21, 2018)
|
|
|
|
* Fixed bug in Stargunner ROM starting with a blank screen.
|
|
|
|
|
|
5.0.2 to 5.1: (February 4, 2018)
|
|
|
|
* Added "Time Machine" mode, which automatically creates save states
|
|
in user-defined intervals. The user can navigate back and forth within
|
|
these states inside the emulator and the debugger.
|
|
|
|
* Huge improvements to the disassembly view in the debugger and
|
|
disassembly files created:
|
|
- reformatting in debugger for better space utilization
|
|
- much improved code and data detection
|
|
- access tracking and indicators for TIA/IO/RAM adresses in disassembly
|
|
- break vector is tracked (if used)
|
|
- improved cycle count (page penalties, sums created in disassembly)
|
|
- improved handling of instruction masking opcodes (e.g. BIT)
|
|
|
|
* Fixed change tracking bug during rewind; changes were accumulated
|
|
instead of being displayed only for the last rewind step.
|
|
|
|
* Extended 'rewind' to take a second parameter which allows rewinding
|
|
multiple states.
|
|
|
|
* Added 'unwind' command, which undoes the latest rewind(s)
|
|
|
|
* Added '<' (unwind) button to debugger.
|
|
|
|
* Thumbulator support is not conditional any more.
|
|
|
|
* Moved various developer related settings in new Developer Settings
|
|
dialog. These settings now come in two groups (player/developer) and
|
|
allow switching all settings at once.
|
|
|
|
* Don't trap write accesses to the datastream pointers in CDF and BUS.
|
|
This fixes -dev.thumb.trapfatal 1.
|
|
|
|
* Complete rework of TV mode and ystart autodetection. The new
|
|
implementation is more robust and reduces startup time.
|
|
|
|
* Add two "grace lines" of black to the top of the frame when
|
|
autodetecting ystart.
|
|
|
|
* Fixed Genesis controller autodetect (Stay Frosty 2, Scramble, etc).
|
|
|
|
* Fixed a bug in ystart autodetection that could cause screen jumps.
|
|
|
|
* Fixed several bugs in holdselect, holdreset and holdjoyX commandline
|
|
arguments; these now work as expected.
|
|
|
|
* Fixed bug in TIA collision handling; it is now disabled in VBlank.
|
|
|
|
* Improve TIA PF collision handling during hblank; this fixes a bug in
|
|
Thrust ROM.
|
|
|
|
* Fixed wrong display of HM values in debugger after 'HMCLR' has been
|
|
executed.
|
|
|
|
* Fixed bug with the debugger 'savedis' command in Windows; it wasn't
|
|
actually saving the files at all. This has never been reported
|
|
before, so I guess it shows how many people use that functionality.
|
|
|
|
* The debugger 'savedis', 'saverom' and 'saveses' now save files in
|
|
a default, user-visible directory (see the documentation for more
|
|
information). In the case of 'saveses', the filename is now named
|
|
based on the date and time of when the command was entered.
|
|
|
|
* Fixed bug with saving snapshots in 1x mode; there was graphical
|
|
corruption in some cases. Such snapshots also now include any TV
|
|
effects / phosphor blending currently in use.
|
|
|
|
* Fixed regular-sized snapshots when phosphor effect was enabled;
|
|
sometimes the image was 'double-blended', resulting in a snapshot that
|
|
was too dark.
|
|
|
|
* Fixed crash when selecting 'CompuMate' as a controller type for a non-
|
|
CompuMate ROM; this controller type can no longer be manually
|
|
selected, and will be used automatically used for CompuMate ROMs.
|
|
|
|
* Fixed cheat codes, so 7 digits codes are now accepted as described in
|
|
the doc.
|
|
|
|
* Fixed swapped ports being displayed wrong in System Logs and debugger.
|
|
|
|
* Added options to erase the AtariVox/Savekey flash memory, either for
|
|
all ROMs or only the current one. Also added a message (configurable)
|
|
when the flash memory is accessed.
|
|
|
|
* Access to the AtariVox/SaveKey can be signaled with a message.
|
|
|
|
* Added new interface palette 'Light'.
|
|
|
|
* Frame stats display made transparent. Also it now displays the real
|
|
frame rate and if the developer settings group is enabled.
|
|
|
|
* Improved tab auto-complete in debugger.
|
|
|
|
* Added conditional traps and savestate creation to debugger.
|
|
|
|
* Added 'Options...' button to debugger which gives access to the options
|
|
menu during debugging.
|
|
|
|
* Added debugger pseudo-register '_cyclesLo' and '_cyclesHi', which give
|
|
the number of CPU cycles that have occurred since emulation started.
|
|
|
|
* Added debugger pseudo-register '_fcycles', which gives the number of
|
|
CPU cycles that have occurred since the frame started.
|
|
|
|
* Added debugger pseudo-register '_icycles', which gives the number of
|
|
CPU cycles of the last instruction.
|
|
|
|
* Extended debugger 'dump' command to take a second argument, indicating
|
|
the end of the range to dump data.
|
|
|
|
* Improved change tracking; more values are tracked and change tracking
|
|
now works in case of a break too.
|
|
|
|
* Added widgets for trackball and SaveKey/AtariVox controllers.
|
|
|
|
* Improved emulation of 'FE' bankswitch scheme (no user-visible changes,
|
|
but internally the emulation is much more accurate compared to the
|
|
real thing). Related to this, improved the debugger support for this
|
|
scheme (you can now switch banks in the debugger view).
|
|
|
|
* Added emulation of 7800 initial RAM values and Pause key.
|
|
|
|
* Added ROM properties for 'Scramble' ROMs, and updated info for all
|
|
"Champ Games" ROMs.
|
|
|
|
* Added ROM properties for 'Zippy the Porcupine' ROMs, and updated
|
|
info for all "Chris Spry (Sprybug)" ROMs.
|
|
|
|
* Support UNIX style builds (configure / make) on OSX with both
|
|
XCode / clang and g++.
|
|
|
|
* Fixed error when building with uClibc-ng for ARM (thanks to Sergio
|
|
Prado).
|
|
|
|
* Updated included PNG library to latest stable version.
|
|
|
|
|
|
5.0.1 to 5.0.2: (August 20, 2017)
|
|
|
|
* Improved emulation of Trakball controller, eliminating bias in left/
|
|
right directions. Thanks to Thomas Jentzsch for the idea and code.
|
|
Related to this, added 'tsense' commandline argument and associated
|
|
UI item, to allow changing sensitivity of mouse trackball emulation.
|
|
|
|
* Added preliminary support for multi-threading in the Blargg TV effects
|
|
code. This is still a WIP; more improvements are coming. Related to
|
|
this, further optimized the TIA rendering code. Also added 'threads'
|
|
commandline argument and associated UI item to enable/disable
|
|
multi-threading. Thanks to Thomas Jentzsch for the bulk of the work
|
|
in this area.
|
|
|
|
* Blargg TV effects now no longer cut off the right side of the image
|
|
(by several pixels) in certain cases.
|
|
|
|
* Updated CDF scheme to latest version from Spiceware. In addition,
|
|
this scheme now supports versioning, so older and newer ROMs will
|
|
continue to work.
|
|
|
|
* Fixed an annoying bug in Linux, where Alt-Tab'ing out of a window and
|
|
then back again would pass a 'Tab' key event to the app, which in
|
|
most cases would navigate to the next UI element.
|
|
|
|
* Fixed potential issue with state file saving and the debugger; under
|
|
certain circumstances a rewind would give a different state than
|
|
before (note that the state file format has changed because of this).
|
|
|
|
* Fixed lockups when entering the debugger under certain circumstances.
|
|
|
|
* The debugger 'listtraps' command now shows all traps set, not just
|
|
the first one(s).
|
|
|
|
* Reverted joystick changes for Decathlon ROMs from last release, as
|
|
it was added by mistake.
|
|
|
|
|
|
5.0 to 5.0.1: (July 23, 2017)
|
|
|
|
* Fixed issues in keypad, Genesis and various other controllers that use
|
|
INPTx registers; the emulation is now much more accurate in this area.
|
|
|
|
* Various 'Bumper Bash' and 'Decathlon' ROMs are marked as always having
|
|
all 4 directions on a joystick enabled, since they can't be played
|
|
properly otherwise.
|
|
|
|
* Added 'Hunchy II' from Chris Walton (cd-w) to ROM properties database.
|
|
|
|
* Codebase now uses C++14 features.
|
|
|
|
|
|
4.7.3 to 5.0: (July 16, 2017)
|
|
|
|
* Note: because of major TIA/6502/RIOT changes, the state file format
|
|
has changed, and old state files will not work with this release.
|
|
|
|
* Stella has moved from Sourceforge to Github.
|
|
|
|
* Completely new TIA core is now available, ported from 6502ts by
|
|
Christian Speckner (DirtyHairy). This new core is extremely accurate,
|
|
and matches real hardware in almost every test we've performed.
|
|
New features include:
|
|
- Meltdown emulates correct
|
|
- The lap number in Pole Positions displays correctly
|
|
- Artifacts in the mountains on Snoopy and the Red baron are gone
|
|
- Line artifacts in Title Match Pro Wrestling and Realsports Boxing
|
|
are fixed
|
|
- The spurious line at the left border of Video Chess now displays
|
|
correctly
|
|
- All 32 char text demos from AtariAge now work perfectly (Stella 4
|
|
shows artifacts on several of these)
|
|
- Stella is now the only emulator to display the "Mega Bitmap Demo"
|
|
(atext.bin) from AtariAge correctly
|
|
- Improved starfield effect for missiles (still TODO for ball and
|
|
players)
|
|
- RSYNC emulation has improved, all testcases now match real
|
|
hardware
|
|
- Several other ROMs that have never worked in any emulator are now
|
|
emulated correctly
|
|
- RDY behavior with respect to write cycles is accurate
|
|
- Optional YStart autodetect and more robust frame handling
|
|
- NUSIZ during player draw matches hardware
|
|
- RESMx during missile draw matches hardware
|
|
- Paddle emulation is slightly more accurate. As a consequence, the
|
|
"paddle feel" may be slightly different from Stella 4
|
|
- Fixed debug colors can now be set for each graphical object, from
|
|
a choice of 'red', 'orange', 'yellow', 'green', 'blue' and
|
|
'purple'. This is accessible through the new 'tia.dbgcolors'
|
|
commandline argument and within the UI.
|
|
|
|
* Implemented new phosphor emulation mode, which is much closer to real
|
|
TV output. Related to this, added ability to change the default
|
|
phosphor blend level in the UI and through the new 'tv.phosblend'
|
|
commandline argument. Special thanks to Thomas Jentzsch for the idea
|
|
and implementation.
|
|
|
|
* TV phosphor effect can now be force-enabled for all ROMs, instead
|
|
of manually setting ROM properties for each ROM. This is accessible
|
|
in the UI and through the 'tv.phosphor' commandline argument, and
|
|
defaults to being off (or enabled per-ROM).
|
|
|
|
* PAL color-loss and Blargg TV effects can now be enabled at the same
|
|
time. Previously, when Blargg effects were enabled, PAL color-loss
|
|
couldn't be shown. Related to this, the Blargg effects now use much
|
|
less memory and in some cases run faster than before.
|
|
|
|
* Much improved RIOT timer emulation never before seen in any emulator.
|
|
Special thanks to Christian Speckner (DirtyHairy) for the
|
|
implementation, and alex_79 for finding documentation that finally
|
|
describes in more detail how the M6532 chip actually works.
|
|
|
|
* Added BUS (experimental) and CDF bankswitching schemes, and also
|
|
ARM Timer 1 support; special thanks to SpiceWare for the code.
|
|
|
|
* Fixed bug with SaveKey and AtariVox not properly closing their memory
|
|
files before starting another instance of the same ROM, when the ROM
|
|
was opened in the ROM launcher.
|
|
|
|
* Various improvements to the debugger and command prompt:
|
|
- The 'cls' command now only clears the screen, not the history
|
|
- The 'help' command now accepts other commands, and gives extra
|
|
information about the command (ie, 'help breakif' prints extended
|
|
information about the breakif command)
|
|
- Added 'palette' command, which shows a color swatch of the
|
|
currently active TIA palette
|
|
- Added 'debugcolors' command, which shows a legend for 'fixed debug
|
|
colors' mode
|
|
- The previous trap'm' commands now work when setting TIA read
|
|
addresses; previously they only worked for write addresses
|
|
- The previous trap'm' commands are now renamed 'trap', 'trapread'
|
|
and 'trapwrite'
|
|
- The TIA tab now shows 'old' contents of player and ball registers
|
|
- Various UI items are crossed out when disabled, to more clearly
|
|
indicate their current state
|
|
- Various UI items that previously required a double-click to toggle
|
|
(pixel and bit widgets) now require only a single-click.
|
|
- Command completion now works with internal functions and pseudo-ops
|
|
(basically, anything starting with the '_' character)
|
|
- System labels (aka, register names, etc) can now be typed in lower-
|
|
case. Previously, these labels always had to be uppercase.
|
|
- In general, input error checking is much more strictly enforced
|
|
- Read-only UI items now have a different background color, to
|
|
clearly indicate if an item can be modified.
|
|
- Debugger '.lst' and '.sym' files are now searched based on the name
|
|
of the ROM file, and not on the internal properties name.
|
|
- Snapshots can now be saved by pressing the F12 key (the various
|
|
other ways to save snapshots still exist).
|
|
|
|
* Mouse grabbing is now enabled in windowed mode only when the ROM is
|
|
using a virtual analog controller (paddles, trakball, etc).
|
|
|
|
* Renamed various trakball-like controllers more accurately: AmigaMouse,
|
|
AtariMouse (previously CX80) and Trakball (previously CX22). Related
|
|
to this, reduced the resolution of the Trakball by half, to properly
|
|
match real hardware.
|
|
|
|
* The stack pointer (SP) is now initialized to $FD instead of $FF, to
|
|
match research done in other 6502 projects.
|
|
|
|
* Fixed bug in debugger tracing and displaying the partial TIA image;
|
|
the first time entering the debugger and starting to trace, the image
|
|
was blanked out (black) instead of being drawn in greyscale. Also, the
|
|
image is now synchronized, instead of being two frames behind.
|
|
|
|
* Fixed crash with zipped ROMs that are less than 4K in size; so far
|
|
this bug has only ever occurred in Windows XP, but it's been there
|
|
since Stella 4.1.
|
|
|
|
* Fixed bug in 'Rom Audit' functionality; sometimes ROMs without a
|
|
valid properties entry were being renamed as "Untitled.bin".
|
|
|
|
* For the entire UI, removed colons and generally made the UI items
|
|
easier to read.
|
|
|
|
* When in 'ROM launcher mode', Stella now uses slightly less CPU time.
|
|
More work is required in this area, though.
|
|
|
|
* Added ROM properties for D.K. VCS homebrew ROM, thanks to Andreas
|
|
Dietrich.
|
|
|
|
* Added slight improvement for auto-detecting Superchip bankswitching;
|
|
the new implementation now works for the NTSC 'Dig Dug' ROM. Special
|
|
thanks for SpiceWare for the idea and modified implementation.
|
|
|
|
* Fixed long-standing bug in 3-voice music in DPC+ bankswitching scheme;
|
|
the music now sounds much more like the real thing.
|
|
|
|
* For the Linux/UNIX port:
|
|
- The settings directory now uses the XDG Base Directory Specification.
|
|
In most cases, this means that your files will now be stored in
|
|
'~/.config/stella' instead of '~/.stella'. To keep your old settings,
|
|
run the following commands from the terminal:
|
|
cd ~
|
|
mv .stella .config/stella
|
|
|
|
You will probably need to edit '~/.config/stella/stellarc' and change
|
|
some paths accordingly.
|
|
|
|
* For the OSX port:
|
|
- Always use the built-in png and zlib libraries instead of the system
|
|
versions.
|
|
|
|
- The preferences file has changed from 'net.sourceforge.Stella.plist'
|
|
to 'Stella-emu.plist'. To keep your old settings, run the following
|
|
commands from the terminal:
|
|
cd ~/Library/Preferences
|
|
mv net.sourceforge.Stella.plist Stella-emu.plist
|
|
|
|
* Updated internal ROM properties database to ROM-Hunter version 13
|
|
(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. Also,
|
|
both libraries are now compiled into the app whenever one is selected.
|
|
This fixes issues with a newer ZLIB not working with an older PNG, etc.
|
|
|
|
* Updated build scripts for Visual Studio 2017 (Windows) and MacOS
|
|
Sierra (latest version of Xcode), and make these the minimum supported
|
|
versions for building Stella.
|
|
|
|
* Updated UNIX configure script to work with the clang 5+ and gcc 7+
|
|
compiler versions, and fixed compile issues on AArch64 and ppc64le
|
|
architectures.
|
|
|
|
|
|
4.7.2 to 4.7.3: (Nov. 21, 2016)
|
|
|
|
* Added preliminary support for the 3E+ bankswitching scheme, developed
|
|
by Thomas Jentzsch.
|
|
|
|
* Fixed HMOVE positioning bug that occurred under certain circumstances.
|
|
Thanks to Omegamatrix of AtariAge for the bug report and patch to fix
|
|
the issue.
|
|
|
|
* Added 'trapm', 'trapreadm', 'trapwritem' commands to debugger prompt.
|
|
These are similar to the non-'m' versions, except that they also trap
|
|
on all mirrors of the given address.
|
|
|
|
* Fixed bug in debugger 'reset' command; it wasn't resetting the
|
|
bankswitching, so after a reset the banks were in an undefined state.
|
|
|
|
* Updated UNIX configure script to fix a bug where it fails in
|
|
cross-compilation under certain circumstances. Thanks to Vlad
|
|
Zakharov for providing a patch to fix this issue.
|
|
|
|
|
|
4.7.1 to 4.7.2: (Mar. 25, 2016)
|
|
|
|
* Fixed bug when entering and exiting the debugger; sometimes the
|
|
character corresponding to the '`' key would be output in the
|
|
prompt area.
|
|
|
|
* Updated DPC+ Thumb ARM emulation code to latest from David Welch.
|
|
In particular, this fixes incorrect handling of the V flag when
|
|
adding and subtracting, but also fixes compile-time warnings that
|
|
I couldn't get rid of before.
|
|
|
|
* Updated UNIX configure script to work with GCC 6.x compilers, and to
|
|
remove references to obsolete compiler versions that can no longer
|
|
be used to compile Stella.
|
|
|
|
|
|
4.7 to 4.7.1: (Feb. 13, 2016)
|
|
|
|
* Improved TV 'jitter' emulation; the recovery time can now be spread
|
|
over multiple frame, to simulate a real TV taking multiple frames to
|
|
recover. Related to this, added new commandline argument
|
|
'tv.jitter_recovery' to set the recovery time. Finally, enabling
|
|
the jitter effect and the recovery time are now accessible through
|
|
the UI. Special thanks to SpiceWare of AtariAge for the initial idea
|
|
and implementation.
|
|
|
|
* Fixed bug with 'Medieval Mayhem' ROMs; the paddle range was set too
|
|
low, and as a result the number of players couldn't be selected.
|
|
|
|
* Fixed bug when using more than two input controllers with the same
|
|
name; each controller after the second one was named the same as the
|
|
second one. This caused the joystick mappings to be lost, since there
|
|
was only information about two controllers being saved.
|
|
|
|
* Indirectly fixed issues with Stelladaptor/2600-daptor devices and
|
|
paddles having too large of a deadzone in Linux. Currently, this
|
|
involves running an external application to set the deadzone,
|
|
since SDL2 does not yet expose this information. The program is
|
|
called 'evdev-joystick', and will be released separately from Stella.
|
|
|
|
* Updated internal ROM properties database to ROM-Hunter version 11
|
|
(thanks go to RomHunter for his tireless research in this area).
|
|
Related to this, updated the snapshot collection.
|
|
|
|
|
|
4.6.7 to 4.7: (January 25, 2016)
|
|
|
|
* Improved paddle emulation in several ways:
|
|
|
|
- Added ability to specify the maximum range of movement for paddles
|
|
when using a mouse or digital device to emulate the paddle. This is
|
|
useful since on a real console most paddle games use very little of
|
|
the paddle range, and could result in moving the mouse onscreen with
|
|
nothing appearing to happen (when in effect it was as if you turned
|
|
a real paddle all the way to the end of the range). This eliminates
|
|
issues in (for example) Kaboom, where there was a huge 'deadzone'
|
|
when moving to the left. All applicable ROMS in the internal
|
|
database have been updated.
|
|
|
|
- The range for paddle emulation now takes an integer from 1 - 20,
|
|
indicating how much to scale movement (ie, how fast the onscreen
|
|
paddle will move when you move the mouse). The movement itself
|
|
is now also smoother than before.
|
|
|
|
* Fixed bug in 'Score mode' in TIA emulation; the TIA object colours
|
|
were correct, but the associated priority was sometimes incorrect.
|
|
|
|
* Fixed bug in ROM launcher; selecting 'Options -> Game Properties' after
|
|
loading a ROM would always point to the last opened ROM, not to the one
|
|
currently selected.
|
|
|
|
* Fixed bug in storing ROM properties; in some cases, a copy of the
|
|
ROM properties was being stored in the external file when it was
|
|
exactly the same as the internal entry.
|
|
|
|
* Added 'CV+' bankswitching scheme, developed by myself and LS_Dracon
|
|
(of AtariAge). This scheme contains RAM like the CV scheme, and
|
|
also switchable 2K ROM segments by writing to $3D.
|
|
|
|
* Added more C++11 updates all over the codebase, and ran Stella
|
|
through Coverity for the first time. I'm proud to say that Stella
|
|
now has a 0.00 defect rate!
|
|
|
|
|
|
4.6.6 to 4.6.7: (October 28, 2015)
|
|
|
|
* Fixed bug when using real paddles plugged into a Stelladaptor
|
|
2600-daptor device; the movement was very erratic.
|
|
|
|
* Fixed small logic error in 'MDM' bankswitching scheme.
|
|
|
|
|
|
4.6.5 to 4.6.6: (October 11, 2015)
|
|
|
|
* Added 'Alt/Cmd + j' shortcut key and 'tv.jitter' commandline argument
|
|
to toggle the TV scanline jittering emulation added in the last
|
|
release. Also, this jittering now defaults to off.
|
|
|
|
* Fixed bug in 'MDM' bankswitch scheme; bankswitching wasn't being
|
|
done under certain circumstances.
|
|
|
|
|
|
4.6.1 to 4.6.5: (September 26, 2015)
|
|
|
|
* Added mappable events for toggling TV color/BW, left difficulty A/B
|
|
and right difficulty A/B. This means that one key, joystick button,
|
|
etc. can be used to toggle each event. Thanks to Buzbard of AtariAge
|
|
for the suggestion.
|
|
|
|
* Added ability to edit values in more widgets in the debugger. For
|
|
now, this applies mainly to the various decimal and binary fields.
|
|
More widgets will be made editable in future releases.
|
|
|
|
* The TIA now emulates the jitter that occurs when scanline counts
|
|
are not consistent frame-over-frame. Also, the DPC+ scheme now
|
|
emulates jitter that can occur when using its Fractional Datafetchers
|
|
if the DFxFRACINC registers are not re-initialized every frame.
|
|
Special thanks to SpiceWare for this implementation.
|
|
|
|
* Tweaked 'MDM' scheme autodetection to detect that the identification
|
|
string can be in either bank 0 or bank 1.
|
|
|
|
* Changed 'hidecursor' commandline argument (and associated UI item) to
|
|
'cursor'. The new argument allows to set mouse cursor visibility
|
|
separately for both UI and emulation modes.
|
|
|
|
* Fixed snapshot bug most noticeable in MacOSX, where taking a snapshot
|
|
of a TIA image sometimes left parts of the UI onscreen (and in the
|
|
resulting picture).
|
|
|
|
* Fixed memory leak; the game console wasn't being closed after exiting
|
|
a ROM.
|
|
|
|
* For the Windows port: added an application icon for Stella in the
|
|
Control Panel "Add/Remove Programs" list.
|
|
|
|
* For the OSX port: Updated build scripts to be compatible with Xcode 7.
|
|
|
|
* Updated included PNG library to latest stable version.
|
|
|
|
|
|
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.
|
|
|
|
|
|
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)
|
|
|
|
* 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
|
|
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
|
|
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
|
|
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.
|
|
|
|
- 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,
|
|
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
|
|
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
|
|
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
|
|
'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
|
|
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).
|
|
|
|
* 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
|
|
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.
|
|
|
|
* 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 with
|
|
OpenGL 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.
|
|
|
|
* 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
|
|
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)
|
|
|
|
* 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.
|
|
|
|
|
|
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
|
|
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'.
|
|
|
|
* 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.
|
|
|
|
* 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.
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
* 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.
|
|
|
|
* 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
|
|
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,
|
|
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
|
|
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.
|
|
|
|
* 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
|
|
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.
|
|
|
|
* 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.
|
|
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'.
|
|
|
|
* 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
|
|
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.
|
|
|
|
* 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
|
|
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
|
|
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 of
|
|
vertical 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).
|
|
|
|
* 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 comparative 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.
|
|
|
|
* 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).
|
|
|
|
* 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'
|
|
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)
|
|
|
|
* 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
|
|
(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
|
|
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
|
|
|
|
* 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 defines
|
|
the location of config files.
|
|
|
|
* 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
|
|
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 starting
|
|
Stella. This option is enabled on the X11, SDL, and DOS versions. Win32
|
|
version is left alone since it's needed for loading multiple games from
|
|
the UI. Saves on memory usage.
|
|
|
|
* Added INI file option to the X11 and SDL versions. Options can be
|
|
specified in this file instead of entering them on the commandline. Any
|
|
options 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 saves
|
|
the 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 a
|
|
special 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 "Escape
|
|
from 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
|
|
|
|
* 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
|
|
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)
|
|
|
|
* 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)
|