So, after quite some time in development, Stella 6.0 is ready for its first beta test. That's right, we're bumping the major version number up one notch. That should give you an idea of how much has changed with the code. The changelog is pretty huge, but for now I will only mention the most important features that require testing. In no particular order, they are:
- Cycle-exact audio core based on work by Chris Brenner (crispy here on AtariAge). This is based on code directly from crispy's FPGA project, converted to C and eventually massaged into C++ by myself and DirtyHairy. Much more accurate sound emulation, in particular E.T. sounds correct for the first time in Stella's history. Ms. Pac-man interference patterns from mixing audio channels is also present.
- Sound resampling. The old core output at 31400Hz (native resolution for the 2600). However, many systems then had to convert it to either 44.1 or 48KHz, with a resulting 'beating' effect (imperfections/popping/clicking in the output). The new core does resampling by default, allowing to output in 44.1, 48, or 96KHz, with simple (fast, less accurate) or Lanczos-based (slower, more accurate) resamplers. Several variations in settings are possible.
- Improved timing. The TIA emulation and video output have been decoupled, and done in separate threads. This allows the emulation to more accurately run at the correct speed while not being affected by variations in video output. PAL games that ran too fast (or slow) should now work correctly.
- Minimized CPU usage in the UI (mostly the ROM launcher and debugger). CPU usage drops to nearly nothing in the UI when nothing is changing; in old versions, it could use up to an entire core.
- Stella gets a new coat of paint Much improved UI, with several different themes (standard, light, classic) in a more 'flat', modern looking form. Also many nice flourishes here and there, such as tickmarks, better highlighting, much better text descriptions of items, etc. Also rearranged items slightly, moving them to more appropriate places.
- New PAL palette. Should be much more like the real thing, since it was developed and tweaked by an actual PAL user (I personally don't have a PAL system nor the ability to run one).
There are many more items, but these are the ones that need the most testing. In particular, please test the following:
- The accuracy of the new sound core. If you know of a 'trouble' ROM that is different in emulation compared to the real thing, then feedback on this is most appreciated.
- Play around with all combinations of the stuff in the Audio Dialog (resampling mode, headroom, buffer size, etc) and report any issues.
- As with the sound core testing, test any trouble ROMs that run out of spec (ie, not close to either 60Hz or 50Hz) and if possible, compare to the real console. This will tell us if the new timing code is working correctly.
- Play with the UI extensively. Basically open/use/close all dialogs in all parts of the app, making sure that (a) the options are actually shown, and (b) that you don't get a blank screen/missing/not updated UI items.
- For PAL users, please compare the PAL palette with your actual console, to see that it is more accurate in this release.
Of course, if any other bugs are found, then definitely report them. But the above is what needs the most testing right now.
Feedback can be left here, or by creating an issue on the Github tracker. Without further ado, the builds can be downloaded here. Note that there are currently only Windows and OSX builds; I can add Linux if enough people request it.
So, vigorously test away and report any issues you find. Remember, Stella can only be as good as the feedback it receives.