./emulators/stella, Multi-platform Atari 2600 VCS emulator

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 4.7.3, Package name: stella-4.7.3, Maintainer: pkgsrc-users

Stella is a freely distributed multi-platform Atari 2600 VCS emulator;
originally developed for Linux by Bradford W. Mott. Stella allows you to
enjoy all of your favorite 2600 games once again by emulating the 2600's
hardware with software. Stella is written in C++, which allows it to be
ported to other operating systems and architectures. Since its original
release Stella has been ported to AcornOS, AmigaOS, DOS, FreeBSD, IRIX,
Linux, MacOS, OpenStep, OS/2, Unix, and Windows.

Required to run:
[sysutils/desktop-file-utils] [graphics/hicolor-icon-theme] [graphics/png] [devel/SDL2]

Required to build:
[pkgtools/x11-links] [x11/glproto] [x11/xproto] [x11/xf86vidmodeproto] [x11/xf86driproto] [x11/damageproto] [x11/inputproto] [x11/xextproto] [x11/dri2proto] [x11/fixesproto4] [pkgtools/cwrappers]

Master sites:

SHA1: 7f4a4f8c88b335aee35bd2a87f3f4e109d7cb190
RMD160: 188ccb822f8e3eb6b231ff0d4460fd6d9bf44ccc
Filesize: 2216.95 KB

Version history: (Expand)

CVS history: (Expand)

   2017-01-26 13:45:41 by Makoto Fujiwara | Files touched by this commit (2) | Package updated
Log message:
Updated emulators/stella to 4.7.3
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!
   2015-11-03 21:31:11 by Alistair G. Crooks | Files touched by this commit (211)
Log message:
Add SHA512 digests for distfiles for emulators category

Problems found with existing digests:
	Package suse131_libSDL
	1c4d17a53bece6243cb3e6dd11c36d50f851a4f4 [recorded]
	da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]
	Package suse131_libdbus
	de99fcfa8e2c7ced28caf38c24d217d6037aaa56 [recorded]
	da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]
	Package suse131_qt4
	94daff738912c96ed8878ce1a131cd49fb379206 [recorded]
	886206018431aee9f8a01e1fb7e46973e8dca9d9 [calculated]

Problems found locating distfiles for atari800, compat12, compat 13,
compat14, compat15, compat20, compat30, compat40, compat50,
compat50-x11, compat51, compat51-x11, compat60, compat61,
compat61-x11, fmsx, osf1_lib, vice, xbeeb, xm7.

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2015-04-25 16:20:48 by Tobias Nygren | Files touched by this commit (495) | Package updated
Log message:
Recursive revbump following MesaLib update, categories a through f.
   2014-02-17 19:36:08 by David A. Holland | Files touched by this commit (2)
Log message:
Try to make the dirent->d_type handling code autodetect. (As best as I
can tell it is not, in the current version 3.9.2 at least, handled
from configure.) This will probably fix the Solaris build.

I wrote this patch like a month ago and apparently forgot to actually
commit it.
   2014-01-07 00:42:38 by David A. Holland | Files touched by this commit (4) | Package updated
Log message:
Update to 3.9.2.

pkgsrc changes: depend on hicolor-icon-theme as it installs files in
share/icons/hicolor and pkglint says so.

Upstream changes:

August 31, 2013
Stella release 3.9.2 for Linux, MacOS X and Windows is now available.

 - 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).

-Have fun!
August 21, 2013
Stella release 3.9.1 for Linux, MacOS X and Windows is now available.

 ***  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
     - Fixed bug in display of current TIA frame number in the UI;
    depending on how breakpoints were set, it was sometimes off by
     - 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 (\, #, $,
     - 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
     - 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'
     - 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
 - 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.

June 27, 2013
Stella release 3.9 for Linux, MacOS X and Windows is now available.

 - 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
 - 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
 - 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.

March 13, 2013
The Subversion repository used by Stella has been changed. All
developers will need to checkout again from trunk, or relocate their
current directory to the new system.

March 3, 2013
Stella release 3.8.1 for Linux, MacOS X and Windows is now available.

 - 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.

February 23, 2013
Added an expanded explanation for first-time developers to the Development \ 
section of the Stella webpage.

February 21, 2013
Stella release 3.8 for Linux, MacOS X and Windows is now available.

 - 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
 - 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.

December 22, 2012
Stella release 3.7.5 for Linux, MacOS X and Windows is now available.
 - 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,

October 31, 2012
Stella release 3.7.4 for Linux, MacOS X and Windows is now available.

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

October 26, 2012
Stella release 3.7.3 for Linux, MacOS X and Windows is now available.

 ***  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.
   2013-02-16 12:25:34 by Thomas Klausner | Files touched by this commit (1885)
Log message:
Recursive bump for png-1.6.
   2012-12-12 11:44:11 by Thomas Klausner | Files touched by this commit (35)
Log message:
Reset maintainer on his request.
   2012-10-03 14:55:23 by Aleksej Saushev | Files touched by this commit (104)
Log message:
Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days.