Jump to content
IGNORED

RetroN 77 Community Build Image


remowilliams

Recommended Posts

Perhaps, but having tried 2 Stelladaptors, 2 USB device cables, 4 pairs of paddles, and now 3 otg adaptors in various combinations, I don't know what. 

 

And to be clear, everything works somewhat. It's just that all 4 paddles have no jitter when untouched on the 7800, but constant slight jitter on the R77, possibly reduced but not eliminated with random Stella adjustments I tried.... And my Ultimate PC Interface doesn't seem to work so far at all. Also, my quick attempt to add a USB keyboard didn't work, will retry. 

 

If anyone has a recommendation on an otg adaptor let me know. I used this one and an older one which was a different brand on Amazon but looks exactly the same... 

 

https://www.amazon.com/gp/aw/d/B07FY9Z9GD?psc=1&ref=ppx_pop_mob_b_asin_title

 

 

Link to comment
Share on other sites

12 minutes ago, Thomas Jentzsch said:

Maybe I got you wrong the first time. Are you using the front ports of the R77 with your paddles and experience the massive jitter there? Or why else are you looking for an OTG adapter?

No. The paddles are attached through stelladapter/otg adapter. 

 

There is no massive jitter. Slight but constant. 

 

Wondering if a DIFFERENT otg adapter might work better. 

Edited by doug0909
Link to comment
Share on other sites

49 minutes ago, doug0909 said:

While slight it's clearly more than a pixel and not cleared up with small paddle movement. 

I had a similar issue with two paddle sets using 2600-daptor d9s and RetroPie. It ended up being a bit of a puzzle -- and I just sent one set of paddles and a d9 to dualcam so he could check them out -- but in fiddling around with the paddles themselves (along with the paddle settings in Stella) I learned a few things:

 

1) It's possible for paddles to be jitter-free on original hardware but not in RetroPie (and I'm going to go way off base and say in some versions of Stella). There are a ton of reasons that this should not happen, but it does and is kinda baffling.

2) Cleaning the paddles potentiometers with e.g. a Q-Tip and rubbing alcohol didn't address this issue, even though I ended up with all the contacts inside the paddle potentiometers, like, visibly corrosion-free.

3) I could not tweak Stella's averaging settings to my satisfaction. Anything that eliminated the jitter also made games unplayable (my understanding is that the 2600-daptors/Stelladaptors do their own jitter correction anyway?)

4) Cleaning the paddle potentiometers with Deoxit (just spraying out the closed potentiometers) seriously reduced the jitter I saw in emulation and also led to the paddles spinning more easily and smoothly -- like they're on bearings. Had I done this first -- before cleaning them with rubbing alcohol -- I never would have thought I had an issue.

 

I can guess at the reasons for this all day, but I don't know enough about how the hardware works for those guesses to be informed. I will swear up and down that my paddles were perfect (or at least very good) on my 2600, and jittered in Retropie/Stella, before I hit them with Deoxit, and so I'm reasonably confident that the Deoxit corrected an issue to which Retropie/Stella was sensitive but to which my 2600 was not.

 

So I guess I'm recommending Deoxit specifically when you see jitter in Stella but not on original hardware. This based on a sample size of one.

 

Edited by Brainworm
  • Thanks 1
Link to comment
Share on other sites

23 hours ago, Thomas Jentzsch said:

Everything is fine there (only a minor bug in Global Hotkeys).

 

@dualcam Have you done tests with that adapter and Stella?

Just checked on Win 10, Stella 6.6 - both Ultimates work - V2 joysticks, V3 joysticks and paddles.

 

I did see some 1 pixel jitter on the V3 paddles.  This may be fixed by applying the jitter update I did to the D9 a few weeks ago.  Waiting on paddles from Brainworm to see if there may be other adapter firmware changes.

 

Tom

http://2600-daptor.com/

Edited by dualcam
  • Like 1
Link to comment
Share on other sites

On 2/21/2022 at 10:49 AM, doug0909 said:

Hi, I finally put Stella on my Retron 77 and I'm really enjoying it. 

 

However, not much luck with paddles. They are jittery through the built in port or the y adapter thingy with Stelladapters. They don't seem to work at all with Ultimate PC Interface. No jitter with them on the 7800. 

 

Questions... 

1) Is there a Stella setting to get rid of the paddle jitter? 

2) Does Ultimate PC Interface work with the Retron? I'm guessing if there's a problem it needs more power, and not sure how to do that... 

 

Thank you. 

Are you using the Auto Sense on the Ultimate (which involves holding a particular controller button - for 2600 paddles this is player #1 button)?  Have you tried both controller jacks on the Ultimate?

 

Don't have a Retron, but do know it works on Linux which Retron uses.

 

Tom

http://2600-daptor.com/

Link to comment
Share on other sites

Thank you for all the help. 

 

I just loaded the latest version of Stella onto a fairly new Windows 64 bit gaming notebook. Paddles worked fine with Stelladaptors playing Video Olympics. There was maybe a little bit more caught-between-pixels jitter than on the 7800, but I corrected it quickly by touching the paddles. I can't correct it that way with the Retron. 

 

Tom, I did try both controller jacks and auto sense with the Ultimate. 

 

Why doesn't anyone think it could be electrical interference with (1) the cheap ass amazon otg cables, (2) my old USB device cords used for both Stelladaptors and the Ultimate (though they just worked fine with the notebook), or (3) the Retron itself... Maybe something with the micro USB port? Sorry if that's a dumb question... 

Link to comment
Share on other sites

Okay this is getting weirder... 

 

Tom, I GOT THE ULTIMATE TO WORK FOR [edit] BOTH SETS OF PADDLES. The trick was... When I did autosense, I had to hold the autosense button for several seconds. I think I just pressed it quick on my pc. Maybe that's because the Retron is slower? (I initially had a problem with the paddles on input B but I fixed it by correcting the dip switches.) 

 

And here's the kicker.... NO JITTER ON ANY PADDLE. Then when I plugged the Stelladaptors back into the Retron, again minor but constant jitter on those same paddles, which I couldn't fix by tapping the paddle. 

 

Is it possible there was a firmware update for the Stelladaptors I need (if such a thing exists)? Although the Stelladaptors worked fine on Stella on my pc... 

Edited by doug0909
Link to comment
Share on other sites

So here's where it stands... 

 

1) Ultimate PC Interface works on Retron, for two sets of paddles. Make sure you try the autosense button a few times, holding it down for a few seconds (while holding paddle buttons). For port B make sure the dipswitches are correct. 

 

2) Stelladaptors which work fine on a Windows PC with Stella give me minor but constant jitter on the Retron. No idea why. 

 

I'm probably not going to bother with the Stelladaptors again, unless someone in this forum has a specific suggestion which I should try. 

 

Even without the jitter I'm not thrilled with the feel of the paddles on the Retron. The issue could be the emulation, or the settings. Regarding the settings, does anyone have suggestions for finer control?

 

The problem with adjusting settings randomly is that it may mess up Stella on the Retron, where it is sensing joystick presses in the menu system even when I'm not touching anything. Then I can't use the system at all. 

 

Thomas suggested fixing that problem by deleting the sqlite files in Stella directory on the SD card (which resets Stella). That worked great. However, I had to take the SD card out and put it in my phone to do that. My one suggestion for Stella for Retron would be to allow you to delete those sqlite files with a button combination press, if that's even possible... 

Link to comment
Share on other sites

20 hours ago, doug0909 said:

Okay this is getting weirder... 

 

Tom, I GOT THE ULTIMATE TO WORK FOR [edit] BOTH SETS OF PADDLES. The trick was... When I did autosense, I had to hold the autosense button for several seconds. I think I just pressed it quick on my pc. Maybe that's because the Retron is slower? (I initially had a problem with the paddles on input B but I fixed it by correcting the dip switches.) 

 

And here's the kicker.... NO JITTER ON ANY PADDLE. Then when I plugged the Stelladaptors back into the Retron, again minor but constant jitter on those same paddles, which I couldn't fix by tapping the paddle. 

 

Is it possible there was a firmware update for the Stelladaptors I need (if such a thing exists)? Although the Stelladaptors worked fine on Stella on my pc... 

 

Do you have the actual Stelladaptor?  I ask as my 2600 adapters often get referred to as "Stelladaptors".

 

There is no de-jitter in the Stelladaptor.  The source code for the firmware is here -

http://www.grandideastudio.com/stelladaptor-2600/

 

Tom

http://2600-daptor.com/

  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...

Just to follow up on some posts regarding jitter and my D9 adapters.  Did find there was jitter that was from the D9 itself.  Made changes to the firmware and have gotten positive feedback that it was fixed.  Have posted the new firmware version here -

http://2600-daptor.com/2600-firmware D9.htm

 

Also made the changes to the Ultimate v3, and that firmware is here -

http://intellivision.us/interface_upg.php

 

Tom

http://2600-daptor.com/

  • Like 2
  • Thanks 2
Link to comment
Share on other sites

Any recommendations for settings changes for Ultimate / 2600-daptor for paddle use?  Still don't like the feel of it, even without jitter. Not sure if it's lag or something else. 

 

Loving the Retron for joystick games though. Thanks so much Thomas and Tom and everyone else... 

Edited by doug0909
Link to comment
Share on other sites

30 minutes ago, doug0909 said:

Any recommendations for settings changes for Ultimate / 2600-daptor for paddle use?  Still don't like the feel of it, even without jitter. Not sure if it's lag or something else. 

 

Loving the Retron for joystick games though. Thanks so much Thomas and Tom and everyone else... 

 

Do you have a real console to compare the feel to?

 

Tom

http://2600-daptor.com/

Link to comment
Share on other sites

My Hyperkin Rangers work perfect jitter free, no fiddly-tweekies.  Two player paddle games require the "y" adaptor.  Using the default image from Hyperkin.  Also since going to the Hyperkin image, no more random freezing.  Really confused why the "community" build needs to overclock a gigahertz plus processor to emulate a 2600.  Even after removing the OC it's still janky AF.

 

Rangers also work on original hardware.  Best paddles ever made.

Link to comment
Share on other sites

28 minutes ago, suspicious_milk said:

Really confused why the "community" build needs to overclock a gigahertz plus processor to emulate a 2600. 

Quite uninformed, not confused I would say. Here is the changelog since 3.9.3 (which Hyperkin's default image is based on):

 

Spoiler

 

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

     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.5.3 to 6.6 (November 16, 2021)

  * Added preliminary PlusROM support for saving high scores.

  * Added preliminary support for 'MVC' bankswitching scheme by
    Rob Bairos.

  * Added web links for many games.

  * Added dead zone and linearity settings for analog controllers.

  * Added 'Check for Update' button to Help dialog.

  * Added different mask patterns for scanline emulation.

  * Fixed MindLink controller.

  * Fixed SaveKey not working with QuadTari.

  * Added TIA randomization on startup option.

  * Added different debug color luminances for player and missile copies.

  * Added hotkeys for TV roll speed and toggling 'Developer settings' sets.

  * Debugger: enhanced prompt's auto complete and history.

  * Debugger: added optional logging of breaks and traps.

  * Debugger: added Thumb cycle counting.

6.5.2 to 6.5.3 (April 20, 2021)

  * Added context-sensitive help.

  * Improved support of multiple monitors with different resolutions.

  * Improved analog input reading (Paddles, Keyboards...).

  * Fixed QuadTari support for controller types other than Joysticks.

  * Fixed palette and TV effects saving for Retron77.

  * Fixed immediate disassembling when switching options in debugger.


6.5.1 to 6.5.2 (February 25, 2021)

  * Fixed broken Driving Controller support for Stelladaptor/2600-daptor
    devices.

  * Fixed missing QuadTari option in UI.

  * Improved QuadTari timing.

  * Added CPU usage stats to ARM cart classes debug widgets.


6.5 to 6.5.1 (January 24, 2021)

  * Fixed paddle button bug for jittering controllers.

  * Improved switching between joysticks and paddles on Retron77 port.

  * Improved memory usage on Retron77 port.


6.4 to 6.5 (January 9, 2021)

  * Added high scores saving.

  * Improved text editing functionality (except PromptWidget):
    - Enhanced selection and cut/copy/paste from keyboard.
    - Added undo and redo support.
    - Added mouse support (selection, cut/copy/paste).
    - All actions have keyboard shortcuts.

  * Various improvements to the ROM launcher:
    - Added wildcard support to the dialog filter
    - Added option to search subdirectories

  * Added static tooltips to some UI items.

  * Added dynamic tooltips to most debugger items.

  * Added sound to Time Machine playback.

  * Added browser dialogs for user saved files.

  * Extended global hotkeys for input devices & ports settings.

  * Moved to using an SQLite database for storing user settings, properties
    and highscores.  More work will follow in future releases.

  * Increased sample size for CDFJ+.

  * Fixed autofire bug for trackball controllers.

  * Fixed bug in TV autodetection in filenames; a filename containing
    'PAL' inside a word would sometimes misdetect as a PAL ROM.

  * Fixed Stelladaptor/2600'daptor devices sometimes not being assigned
    correct default mappings.

  * Codebase now uses C++17 features, which means a minimum of gcc7
    or clang5 for Linux/Mac, and Visual Studio 2019 for Windows.


6.3 to 6.4 (November 2, 2020)

  * Added basic (entire and single line only) text cut/copy and paste.

  * Added color parameters to 'Custom' palette.

  * Some improvements to AtariVox-USB adaptor functionality:
    - Made serial port used for an AtariVox-USB adaptor editable.
    - Autodetection of serial ports no longer messes up devices plugged
      into other serial ports.

  * Added CPU load stats to debugger.  Related to this, added debugger
    pseudo-registers '_ftimreadcycles' and '_fwsynccycles' to show the
    number of cycles since the start of frame under certain circumstances
    (see manual for more details).

  * Fixed bug with aspect correction and fullscreen mode; snapshots from
    such a mode are now pixel-exact.

  * Fixed a bug that caused CDF ROMs to crash on the Retron77 and reduced
    ARM emulation performance for CDF ROMs on other platforms.

  * Fixed crash with missing or incorrectly sized SaveKey data file, and
    with certain functions not working (erase pages, erase entire EEPROM).

  * Fixed Atari mouse autodetection.

  * Fixed bug in ROM launcher, with last ROM selected not being remembered
    when exiting and re-entering a directory.


6.2.1 to 6.3 (October 7, 2020)

  * Added adjustable autofire.

  * Added 'Dark' UI theme.

  * Extended global hotkeys for debug options.

  * Added option to playback a game using the Time Machine.

  * Allow taking snapshots from within the Time Machine dialog.

  * Added the ability to access most files that Stella uses from within a
    ZIP file. This includes the following:
      - Per-ROM properties file (so one can distribute a ROM and its
        associated properties).
      - Debugger symbol (.sym) and list (.lst) files, etc.
      - Several others, as we extend the support.
    Basically, you are now able to put many files that Stella uses inside
    one ZIP file, and distribute just that file.

  * Extended AtariVox support to handle flow control, so that long phrases
    are no longer corrupted/cut off.  This includes properly supporting the
    2600-daptor II, which is flashable to an AVox-USB converter.

  * Added auto-detection of the serial port used for an AtariVox-USB adaptor.

  * Added QuadTari controller support.

  * Added option to select the audio device.

  * Added support for CDFJ+ bankswitching type.

  * Further enhanced UA bankswitching to support more Brazilian carts.

  * Added option to display detected settings info when a ROM is loaded.

  * Added another oddball TIA glitch option for delayed background color.

  * Added option to disable aspect ratio correct scaling.

  * Added debugger pseudo-registers '_timwrapread' and '_timwrapwrite',
    which are set when the RIOT timer is read/written on timer wraparound,
    respectively.

  * Bankswitching schemes BUS, DPC+ and CDFx now work when startup bank
    randomization is enabled (these schemes now ignore that setting).

  * Replaced "Re-disassemble" with "Disassemble @ current line" in debugger.

  * Fixed bug when taking fullscreen snapshots; the dimensions were
    sometimes cut off.


6.2.1 to 6.2.2 (August 25, 2020)

  * Fixed a bug in initial controller mapping.


6.2 to 6.2.1: (June 20, 2020)

  * Fixed Pitfall II ROM not working correctly.

  * Fixed crashes when using some combinations of bankswitching schemes on
    incorrect ROMs, or when using invalid ROM file sizes, etc.

  * Fixed RIOT timer behaviour on reading/writing at the wraparound cycle.

  * Fixed incorrectly setting D6 bit on TIA reads in some cases.  Related
    to this, improve 'tiadriven' option to randomize only D5..D0 bits.

  * Fixed custom palette and TV effects adjustable slider rounding issue.

  * Fixed some bugs in 3E+ scheme when using non-standard ROM sizes.

  * Fixed crash in Audio & Video dialog when opened from debugger, and the
    debugger window sometimes being resized when using the Options dialog.

  * Make NTSC custom phase shift not affect Yellow anymore.

  * Fixed '1x' snapshot mode; TV effects are now disabled.  This mode
    now generates a clean, pixel-exact image.

  * Fixed mappings sometimes not being saved in the Retron77 port.

  * A ROM properties file may now be placed next to the ROM (with the same
    name as the ROM, except ending in .pro), and Stella will automatically
    apply the properties to the ROM. [NOTE: this was present in 6.2, but
    was mistakenly left out of the changelog]

  * Added button to Game Info dialog to save properties of the currently
    loaded ROM to a separate properties file (in the default save directory).
    This is useful in conjunction with the previous item.

  * Allow changing custom palette and TV effects adjustables in 1% steps
    again.

  * Updated documentation for changes in ROM properties key names.

  * The codebase now compiles under gcc6 again.  Future versions will
    require gcc7, though.


6.1.2 to 6.2: (June 7, 2020)

  * Added interactive palette to Video & Audio settings.

  * Added 'Custom' palette, generated from user controlled phase shifts.

  * Added that adjustable audio & video settings are displayed as gauge bars.

  * Added four global hotkeys which allow selecting and changing numerous
    audio & video settings without having to remember the dedicated hotkeys.

  * Added 'Turbo' mode, runs the game as fast as the computer allows.

  * Added that paddle centering (per ROM) and sensitivity can be adjusted.

  * Added that mouse sensitivity for Driving controller can be adjusted.

  * Added paddle filtering in UI to avoid unwanted navigation events.

  * Added selectable dialog fonts.

  * Added separate positioning of launcher, emulator and debugger.

  * Added optional display to game refresh rate adaption in fullscreen mode.

  * Added option which lets default ROM path follow launcher navigation.

  * Added debugger 'saveaccess' function, which saves memory access counts to
    a CSV file.

  * Added displaying last write address in the debugger.

  * Added debugger pseudo-register '_scanend', which gives the number of
    scanlines at the end of the last frame.

  * Added detection of color and audio data in DiStella.

  * Restored 'cfg' directory for Distella config files.

  * Added TV Boy and 3EX bank switching types.

  * Removed unused CV+ and DASH bank switching types.

  * Added support for loading grayscale PNG images in the ROM launcher.


6.1.1 to 6.1.2: (April 25, 2020)

  * Fixed bug with remapped events not being reloaded in certain cases.

  * Fixed bug in debugger for 3E scheme when displaying active RAM bank.

  * Fixed bug in "Dragon Defender" ROM being misconfigured for Mindlink
    controller.


6.1 to 6.1.1: (April 4, 2020)

  * Fixed crash in 3E bankswitching scheme when writing to ROM addresses.

  * Fix snapshots on Retina HiDPI displays capturing only the top-left
    corner.

  * Fixed wrong color for BK (background) swatch in the debugger.

  * Fixed 'Right Diff' button in Command menu changing left difficulty
    instead.

  * Fixed compilation of libretro port on Debian Buster.


6.0.2 to 6.1: (March 22, 2020)

  * IMPORTANT NOTES:
    - 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.

    - Because of major internal changes, all state files are now invalid.

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

  * Major improvements to display mode handling in NTSC vs. PAL.  The window
    is now the same size for both modes, and scaling is applied to simulate
    the height of scanlines (in PAL mode, there are more scanlines and hence
    each is narrower).  This more properly emulates how the display would look
    on a real TV.

  * Removed the 'Display_Height' property, changing it to 'Display_VCenter'.
    This new feature, along with the display mode changes above, almost
    completely eliminate having to manually tweak each ROM so that it will
    not have part of the image cut off.

  * Removed the 'Display_YStart' property and all automatic detection of
    ystart.  It caused problems on some ROMs, and was not the way a real
    console would work anyway.  Related to this, ROMs now load much faster.

  * Major improvements to event remapping:
    - Allow mapping of modifier-key and button-direction combinations
    - Physical controllers can map the same action to different events on
      different virtual controllers
    - Many more events can be remapped
    - Events can be filtered by type in UI

  * Paths have been simplified:
    - 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'

  * Added automatic controller detection.

  * Controllers can be changed during emulation (no ROM reload required
    anymore).

  * Added support for Light Gun controller.

  * Added limited KidVid support (8, 9 and 0 start the games).

  * Removed superfluous controller option 'PADDLES_IDIR'.

  * Added configurable paddle dejittering.

  * 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 high quality scaling.

  * Made scanlines better aligned to scaling.

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

  * Enhanced 'Command' menu to display current state and more commands.

  * Added option to save and load all TimeMachine states at once.

  * Added option to automatically load/save states when entering/exiting
    emulation.

  * Added option to change pitch of Pitfall II music.

  * ROM Info Viewer size is not limited to fixed zoom steps anymore.

  * ROM Info Viewer can now display multiple lines per property and the
    bank switching type.

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

  * Writes to RAM read ports are ignored now.

  * Added Developer setting, which breaks on writes to read ports.

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

  * Updated internal ROM properties database to ROM-Hunter version 16
    (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 ROMs smaller than 64 bytes were not recognized.

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

  * Fixed WD bankswitching.

  * Added FC bankswitching for Amiga's Power Play Arcade Video Game Album.

  * Added auto-detection of display format based on filename.

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

  * Some more work on DPC+ playfield 'jitter' effect for certain older DPC+
    driver versions; more ROMs are now detected properly.  Special thanks
    to SpiceWare for his research in this area.

  * Added proper Retron77 port.

  * Added proper libretro port, and fixed display for OpenGLES renderers.

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

  * Updated UNIX configure script to work with the gcc version 10 and
    above.


6.0.1 to 6.0.2: (October 11, 2019)

  * Updated properties database for Pink Panther ROM.


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.

 


With 4.0 we switched to SDL2, which was a major step (e.g. hardware acceleration, no more screen tearing). 5.0 saw the all new TIA emulation core, which finally allowed correct emulation of multiple original games (e.g. Meltdown). With 6.0 the sound emulation was completely rewriten and became much more faithful to real hardware (e.g. intro in Ms PacMan). Besides that many other changes have been added, including ARM based games support. These have ~50 times more CPU power than the original games, thus requiring much more CPU time for emulation too. And modern Stella manages that with just 20% more CPU power than the original image.

 

Not all changes are relevant for Stella on R77, but many are.

 

AFAIK you are the only one having problems here. Which shows that the community image does a very good job. If your console has problems even without overclocking, then the hardware (not the software) has a problem.

  • Like 4
Link to comment
Share on other sites

For anyone wondering why accurately emulating an old tech requires a lot of processing power, and why emulation needs to be accurate, here is an article that I find very interesting and quite enlightening:

https://arstechnica.com/gaming/2011/08/accuracy-takes-power-one-mans-3ghz-quest-to-build-a-perfect-snes-emulator/

It refers specifically to SNES emulation, but the concepts can be applied to any other old hardware.

  • Like 3
Link to comment
Share on other sites

The SNES example is an extreme example since that system has so much going on.  i.e.  multiple processors running at different speeds.... big issue is when games relied on precise timing.

 

Playing devil's advocate:  Without ARM hardware, Atari 2600 emulation shouldn't need that much processing power... and should be relatively straight forward to do.  BUT (a big BUT), that involves someone spending the time to target out-dated hardware.

 

As far as I know, no one on the Stella team was ever paid for the software that the Retron 77 uses.  Hyperkin essentially got Stella for free.  And yet the Stella team are the ones doing all the support and dealing with the crap that people dish out.  Ridiculous!  But, sadly, that's the society we live in.

 

Currently, I have found that the latest Stella still runs great on the 10 year old hardware (Win-PC and Mac) that I have.  So I don't see there being much of a need to change anything.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...