This coming Friday, and approx. every Friday thereafter, I'll be posting WIP builds of the TIA improvements that will eventually become Stella 3.0. I'd like as many people as possible to test these builds, and report (in detail) exactly how certain ROMs fail, and how they should look (preferably with snapshots). Note that these first builds may have regressions compared to version 2.8.4, so just because something works there doesn't mean that you don't need to check it. Please check as many ROMs as possible for each build.
When I'm satisfied that the builds have no regressions compared to 2.8.4, and they fix the most glaring problems in 2.8.4, I'll move on to the debugger stuff, and then be ready for the 3.0 release. I know many people have been waiting for these improvements for years, so now's your chance to step up and help fix these TIA problems for good.
I suspect (hope!) that this can be completed before September, as that's when work gets very busy again. And I hope that many people can help me make this happen, so I can move on to adding more features to Stella (like improved graphics filters, network play, movie recording and playback, etc).
------------------------------------------------------------------------------------------------
Friday, July 17 - Alpha 1
OK, here's the first alpha release for 3.0:
Linux 32 & 64-bit binary
OSX binary (zip)
Windows 32-bit binary (zip)
Fixes:
- Collision detection now works above first visible scanline; this also fixes some graphical garbage on the first scanline of some ROMs - Mega Bitmap Demo: right column is now correct size (words still have gaps) - Stay Frosty: snow now shown (not complete) - G.I. Joe: cobra, missile launchers and roof of left house - Kool Aid Man: score now correctly positioned, but the timer digits are still off - Master of the Universe: background now scrolls correctly - Ski Hunt: snow on mountains - Moon Patrol: graphical garbage on right side of screen - Labyrinth (AR): top and bottom of walls - Survival Island: spacing of characters on title screen - Homestar Runner Demo #2: columns aligned
Regressions:
- Cosmic Ark: starfield effects not complete (movement is correct, but pixels aren't widened or blanked) - Escape from Mindmaster: some ROMs have title screen scrambled - Solaris: background stars do not scroll smoothly
All in all, not too bad I think. And I have a fair idea how to fix the things that broke, so thus far, there are more fixes than breakages.
Also, there are non-TIA changes from SVN trunk:
- Backspace now moves up one level in all directory views in the UI. This can also be remapped. - Added '2in1' bankswitch support (2 games in a 4/8/16/32K ROM) - Fixed RAMRacer ROM bug; cars were passing through the roadway (this is related to the collision detection fixes mentioned above)
------------------------------------------------------------------------------------------------
Monday, August 3 - Alpha 2
OK, here's the second alpha release for 3.0:
Linux 32 & 64-bit binary
OSX binary (zip)
Windows 32-bit binary (zip)
I'm happy to report that except for a few corner cases, 'illegal' HMOVEs are now emulated correctly. This leads to the following fixes over alpha1:
Fixes:
- Escape from Mindmaster: some ROMs have title screen scrambled - Solaris: background stars do not scroll smoothly - Lord of the Rings: title issues - Bumper Bash: flipper issues - Pole Position: symbol to left of screen shifted too far right
However, from communication on the Stella mailing list, it seems that Stella doesn't (and never did) properly deal with NUSIZx writes while a player/missile is currently being drawn. I'm rewriting this, and currently the code is broken for quite a few ROMs. I won't list them all, but the most obvious ones are as follows.
Regressions:
- Galaxian: enemies not drawn correctly - Space Instigators: same issue as Galaxian - Battlezone: two 'dots' drawn to the right of the radar screen
Finally, I don't have the new debugger feature promised in a previous message finished yet. It's been very slow going, and work is starting to pick up sooner than last year (I normally have until late August before that happens). So I'll try to get new alphas as I get time, but it probably won't be every Friday.
I'll go ahead and explain the new debugger feature I'm working on: rewinds in the debugger. Basically, any time you enter the debugger and do a step/trace/scanline/frame advance, the state will be saved. There will be an Undo button that allows you to go backwards, undoing each operation in sequence. I'm adding this because it really helps in debugging the new TIA code, and I expect it will help homebrewers with writing new games as well. I hope to have it ready for the next alpha, but no promises ...
------------------------------------------------------------------------------------------------
Tuesday, August 25 - Alpha 3
OK, here's another alpha release for 3.0:
Linux 32 & 64-bit binary
OSX binary (zip)
Windows 32-bit binary (zip)
As noted in a previous post, I'm essentially finished the TIA updates for this release, unless some other regression pops up. My main goal was HMOVE emulation fixes, and that's mostly complete. I've since found that NUSIZx writes concurrent with draws aren't always emulated correctly, but it's too late in the development cycle to address that. So I've reverted the changes, which unfortunately break Bumper Bash and Pole Position (but still improve them compared to 2.8.4). Fixing these remaining TIA bugs will be top priority for the 3.1 release. I'm happy with the TIA changes, since even though the emulation isn't 100% accurate yet, it greatly improves on version 2.8.4.
Now on to the other improvements in this release:
- Added rewind to the debugger. This is only active inside the debugger *after* you've done a step/trace/frame/scanline advance. Up to 100 such actions are currently buffered, but I'm looking into increasing this (and compressing the state info) for a future release. There's a button to do the rewind, the 'Alt-r' key combo, and a prompt 'rewind' command. - Added 'Fixed Debug Colours' option, which can be toggled with 'Alt-Comma'. This is similar to the functionality in the no$26k emulator. Right now, the colours are only optimized for NTSC ROMs. Also, shared colour registers aren't separated (so P0 and M0 are drawn in the same colour). These issues will be addressed in a future release. - Fixed bugs with enable/disable of graphical objects; sometimes the entire object wasn't disabled. - Fixed display and timing issues with ROMs that generate many more scanlines per frame than a real system can handle. This fixes slowdowns and graphical trash in Q-Bert and the recent Playaround Adult ROM. - Added support for 6K version of Supercharger ROMs (currently, only Cubis exists in this format). - Added '-joyallow4' commandline argument and associated UI item. This allows all 4 directions to be used on a joystick (which is required for the Bumper Bash ROM). Be careful, this can cause strange problems with other ROMs like Berzerk. - Added ability to completely disable fullscreen mode. The '-fullscreen' commandline argument (and associated UI item) is no longer a boolean, but has three possible values (1/0/-1 for on/off/disabled). - Changed NUSIZx descriptions in the debugger to be much clearer.
The next major item on my list is zero-page/SC disassembly in the debugger, and integration of distella. The releases will probably be several weeks apart from now on, since the new features are more involved. But I still welcome feedback, as well as reports of ROMs with graphical/TIA glitches (for improvement in version 3.1).
------------------------------------------------------------------------------------------------
Friday, September 11 - Final 3.0 release
As indicated in my post below, due to time constraints and prior commitments, I've released the final 3.0 version without the disassembly or Blargg code. Don't worry, I'll definitely be finishing them for the 3.1 release, which I hope to do in October.
This post has been edited by stephena: Fri Sep 11, 2009 4:01 PM

Sign In
Register
Help



MultiQuote






