+stephena Posted July 16, 2017 Share Posted July 16, 2017 Well, it's finally here. After 8 months of work, 10 pre-releases and feedback from dozens of people, Stella 5.0 is finally available. While we’ve had big point-0 releases before, this is the first time that we’ve had pre-releases, and the bug-fixing and valuable feedback that happened really shows. The major highlight of this new release is a completely rewritten TIA core, ported from the 6502.ts project by Christian Speckner. There are also quite a few debugger improvements, as well as improved emulation of the RIOT and also some CPU stuff too. So really, some quite major changes right across the board. There are several ROMs that now work in Stella that have never worked in any other emulator. Almost all corner cases in TIA and RIOT behaviour are now correctly emulated. We even have a new TV phosphor emulation mode which is much more accurate than the old method. So without further ado, here’s the considerable changelog: 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 extrainformation 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 lowercase. 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. As usual, Stella can be downloaded at https://stella-emu.github.io/downloads.html, and donations are always welcome at https://stella-emu.github.io/donations.html. Feedback can be given in this thread, by PM or by creating an issue on Github (preferred). Good luck, and have fun with this release; we are very proud of it. 21 Quote Link to comment Share on other sites More sharing options...
vidak Posted July 16, 2017 Share Posted July 16, 2017 This is awesome! I'm just getting into homebrew development, and Stella is a huge tool for getting the job done! The better the tools, the better the games! This will be an enormous help for the homebrew community. Thank you so so much. 1 Quote Link to comment Share on other sites More sharing options...
Flojomojo Posted July 16, 2017 Share Posted July 16, 2017 And here I am, I happen to be literally JUST NOW installing the latest stable build on my little craptop ...first time setting up Stella in like a zillion years. Thanks for the new release! 1 Quote Link to comment Share on other sites More sharing options...
+Nathan Strum Posted July 16, 2017 Share Posted July 16, 2017 Awesome! Thank you (and everyone!) for all of the hard work that went into this! 1 Quote Link to comment Share on other sites More sharing options...
H.E.R.O. Posted July 16, 2017 Share Posted July 16, 2017 Much thanks. It's been a pretty good Atari weekend getting a new Stella build as well as Altirra. 1 Quote Link to comment Share on other sites More sharing options...
+Philsan Posted July 16, 2017 Share Posted July 16, 2017 Thank you Stephen. Just made a donation with Paypal. 3 Quote Link to comment Share on other sites More sharing options...
tschak909 Posted July 16, 2017 Share Posted July 16, 2017 Much love and respect to those who worked so hard on this release cycle. It was amazing to see it all come together! With Stella 5.0, if we don't have 100% perfect emulation, it's so damned close that finding ways to improve it will become a challenge for the next decade. -Thom 2 Quote Link to comment Share on other sites More sharing options...
Keatah Posted July 16, 2017 Share Posted July 16, 2017 Looks like a banner day today. New Altirra. New Stella. Updated rom pack from RomHunter. I'm gunna'hafta take a drive around the block to emulate going to the toy store, THEN come home and update it all. Be right back! 2 Quote Link to comment Share on other sites More sharing options...
DirtyHairy Posted July 16, 2017 Share Posted July 16, 2017 (edited) In a way, this release really was a community effort, and I'd like to thank everyone involved on getting it done Stephen is doing a tremendous job continously maintaining and improving Stella even after more than twenty years. Thomas Jentzsch is the one who got me on the project in the first place and triggered the port of the 6502.ts core to Stella. In addition, Thomas and Alex 79 were a huge help in debugging and squishing the countless bugs in the new core that were discovered by all the people that took their time to regression test the new code. Thanks to your help, porting and improving the new core has not only been a success, but also fun and a huge benefit to 6502.ts as well. Edited July 16, 2017 by DirtyHairy 7 Quote Link to comment Share on other sites More sharing options...
+nanochess Posted July 17, 2017 Share Posted July 17, 2017 It works nice! A small suggestion for the online manual for Mac OS X, I couldn't saw right the Cmd+l option to show line stats (I thought it was number one), it would be great if the letter were in uppercase. The good thing is that I discovered all the filters available using Cmd+1 till 9. Quote Link to comment Share on other sites More sharing options...
TheHoboInYourRoom Posted July 17, 2017 Share Posted July 17, 2017 It's fantastic to see this finally come out. It'll be a great help for developing my game. I wonder: why does Stella keep the display black for about a third of a second after the the start of emulation? I understand that TV format autodetection takes a little time, but the vast majority of ROMs that I tested stabilize their scanline counts and go into their main loops in three or four frames. Why keep it completely blank for so long? 64-bit Stella on Windows 10 Home 64-bit, if that's relevant. Quote Link to comment Share on other sites More sharing options...
Keatah Posted July 17, 2017 Share Posted July 17, 2017 (edited) Typo in the manual ding-ding.. Typo in the manual ding-ding.. Hi-Ho the Mary-O typo in the manual, ding-ding! I'm pretty sure this should be 0-5 and not 1-6. Edited July 17, 2017 by Keatah Quote Link to comment Share on other sites More sharing options...
Thomas Jentzsch Posted July 17, 2017 Share Posted July 17, 2017 I wonder: why does Stella keep the display black for about a third of a second after the the start of emulation? I understand that TV format autodetection takes a little time, but the vast majority of ROMs that I tested stabilize their scanline counts and go into their main loops in three or four frames. Why keep it completely blank for so long? Its 20 frames (= 1/3 second). And those frames are used for TV format and start and height of display kernel detection. And yes, most ROMs stabilize that soon, but there are exceptions which shouldn't break (which IMO would be much more annoying). Quote Link to comment Share on other sites More sharing options...
JFD62780 Posted July 17, 2017 Share Posted July 17, 2017 YYYES! Now I FINALLY get to (and have) test(ed) a certain SpiceWare game in the works! XD Said game might make the VCS almost 16-bit in a way, it's that good! Quote Link to comment Share on other sites More sharing options...
Keatah Posted July 17, 2017 Share Posted July 17, 2017 What game might that be? Because if it's Draconian, it's been testable for quite some time via stella and stella pre-releases. Quote Link to comment Share on other sites More sharing options...
JFD62780 Posted July 17, 2017 Share Posted July 17, 2017 Well, just me, but I figured the official release was that much worth the wait. Quote Link to comment Share on other sites More sharing options...
Keatah Posted July 17, 2017 Share Posted July 17, 2017 So what game was it? Quote Link to comment Share on other sites More sharing options...
israelg Posted July 17, 2017 Share Posted July 17, 2017 Thanks !!! Quote Link to comment Share on other sites More sharing options...
Rom Hunter Posted July 17, 2017 Share Posted July 17, 2017 (edited) Wonderful.Back in time all the way.Many thanks, Stephena (& team)!BTW: you might want to change it to July 16, 2017:https://stella-emu.github.io/changelog.html Edited July 17, 2017 by Rom Hunter Quote Link to comment Share on other sites More sharing options...
+stephena Posted July 17, 2017 Author Share Posted July 17, 2017 Typos in webpage should be fixed in moment. Thanks to everyone for the support and words of encouragement. Now I'm going to take a short (1 week) vacation away from Stella, unless something major pops up. Feel free to report any issues here, but I may be slow in responding for the rest of this week. I always need to wind down after a major release ... 6 Quote Link to comment Share on other sites More sharing options...
ClassicGMR Posted July 17, 2017 Share Posted July 17, 2017 This is great news! Question for anyone (not necessarily stephena in particular): I have Microsoft Visual C++ 2010 x64(and x86) Redistributable installed on my system. When I click on the 2015 link that the website says is required my system tells me there is already a version installed and it cannot do it. I assume I am all set in that regard? Stella 5.0 DOES work. Just a verification. Quote Link to comment Share on other sites More sharing options...
Keatah Posted July 17, 2017 Share Posted July 17, 2017 Typos in webpage should be fixed in moment. The error is also present in the included documentation (docs) folder too. Quote Link to comment Share on other sites More sharing options...
Rom Hunter Posted July 17, 2017 Share Posted July 17, 2017 (edited) No doubt about it: the Z26 TIA PAL color palette is closest to the PAL color palette I remember from back then.I had fourteen games back then and I know every pixel of them by heart. Edited July 17, 2017 by Rom Hunter Quote Link to comment Share on other sites More sharing options...
Keatah Posted July 17, 2017 Share Posted July 17, 2017 Now that we have a major release and everyone is interested in it (except the RetroN 77 gang), I think we should all run as many different roms as possible and continue the bug hunt that was going on during the pre-release. Crowdsourcing looks to be the best way to test things. It brings many different viewpoints and approaches to the table. Quote Link to comment Share on other sites More sharing options...
Flojomojo Posted July 17, 2017 Share Posted July 17, 2017 I'm waaaaaaay more casual about my Atari playin' than you guys, but I really like the video options in Stella 5.0 that make it look like a janky old television. 3 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.