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

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


Branch: CURRENT, Version: 6.0.2, Package name: stella-6.0.2, 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/xcb-proto] [x11/fixesproto4] [pkgtools/cwrappers] [lang/gcc5] [x11/xorgproto]

Master sites:

SHA1: 986b4a362aff0f1869134852cde1da5ff6cbcc67
RMD160: 5a266e6ed2308e70b0e0968e7a5acf265a78569d
Filesize: 1689.766 KB

Version history: (Expand)


CVS history: (Expand)


   2019-11-10 22:54:58 by Nia Alarie | Files touched by this commit (2) | Package updated
Log message:
stella: Update to 6.0.2

- Updated properties database for Pink Panther ROM.
   2019-11-09 14:07:35 by Nia Alarie | Files touched by this commit (1) | Package updated
Log message:
stella: Update to 6.0.1

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.

-Have fun!
   2019-09-08 22:04:55 by Darrin B. Jewell | Files touched by this commit (2)
Log message:
emulators/stella: fix build with clang and pkgsrc cwrappers

pkgsrc cwrappers add -stdc=c++14 which causes an error
when using clang -x c, so instead use -x c++ which works.
   2019-06-17 15:51:08 by Nia Alarie | Files touched by this commit (5) | Package updated
Log message:
stella: Update to 6.0.1

Fixes builds with newer GCC.

This is a small release that improves support for a few bankswitching schemes:

* 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.
   2017-11-03 08:49:58 by Darrin B. Jewell | Files touched by this commit (2)
Log message:
tweak clang compiler version matching
   2017-09-14 08:04:07 by David A. Holland | Files touched by this commit (2)
Log message:
*ahem* fix my previous commit
   2017-09-10 00:52:56 by David A. Holland | Files touched by this commit (2)
Log message:
clang 5.x is not less than 4.x.
   2017-09-04 11:24:26 by Thomas Klausner | Files touched by this commit (1) | Package updated
Log message:
Update HOMEPAGE.