Jump to content

Photo

Stella 5.0 released

stella new tia debugger

45 replies to this topic

#1 stephena OFFLINE  

stephena

    River Patroller

  • 2,859 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Sun Jul 16, 2017 9:33 AM

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 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 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.g.../downloads.html, and donations are always welcome at https://stella-emu.g.../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.



#2 vidak OFFLINE  

vidak

    Star Raider

  • 63 posts
  • Location:Sydney, Australia

Posted Sun Jul 16, 2017 9:53 AM

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.

#3 Flojomojo ONLINE  

Flojomojo

    Up! Down! Up! Down!

  • 8,925 posts
  • Chu! Chu! Chu!

Posted Sun Jul 16, 2017 9:58 AM

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!



#4 Nathan Strum OFFLINE  

Nathan Strum

    Quadrunner

  • 7,224 posts
  • Enjoying a sandwich
  • Location:Newhall, CA

Posted Sun Jul 16, 2017 10:56 AM

Awesome! Thank you (and everyone!) for all of the hard work that went into this!  :thumbsup:  :thumbsup:



#5 H.E.R.O. OFFLINE  

H.E.R.O.

    Chopper Commander

  • 209 posts
  • New leader of the Bungeling Empire
  • Location:Underground

Posted Sun Jul 16, 2017 11:14 AM

Much thanks. It's been a pretty good Atari weekend getting a new Stella build as well as Altirra.



#6 Philsan OFFLINE  

Philsan

    River Patroller

  • 3,349 posts
  • New Orleans Saints Super Bowl XLIV Champions
  • Location:Switzerland

Posted Sun Jul 16, 2017 12:03 PM

Thank you Stephen.

Just made a donation with Paypal.



#7 tschak909 OFFLINE  

tschak909

    Stargunner

  • 1,741 posts
  • Location:USA

Posted Sun Jul 16, 2017 12:24 PM

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



#8 Keatah OFFLINE  

Keatah

    Quadrunner

  • 17,239 posts

Posted Sun Jul 16, 2017 12:40 PM

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!



#9 DirtyHairy OFFLINE  

DirtyHairy

    Chopper Commander

  • 184 posts

Posted Sun Jul 16, 2017 2:06 PM

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 by DirtyHairy, Sun Jul 16, 2017 2:06 PM.


#10 nanochess OFFLINE  

nanochess

    River Patroller

  • 4,684 posts
  • Coding something good
  • Location:Mexico, Mexico

Posted Sun Jul 16, 2017 6:06 PM

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.



#11 TheHoboInYourRoom OFFLINE  

TheHoboInYourRoom

    Moonsweeper

  • 291 posts
  • Whackadoo thingamajig
  • Location:Illinois

Posted Sun Jul 16, 2017 6:06 PM

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.



#12 Keatah OFFLINE  

Keatah

    Quadrunner

  • 17,239 posts

Posted Sun Jul 16, 2017 7:03 PM

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.

Stella_-_A_multi-platform_Atari_2600_VCS_emulator_-_2017-07-16_13.24.15.png


Edited by Keatah, Sun Jul 16, 2017 7:04 PM.


#13 Thomas Jentzsch OFFLINE  

Thomas Jentzsch

    Thrust, Jammed, SWOOPS!, Boulder Dash, THREE·S, Star Castle

  • 22,428 posts
  • Always left from right here!
  • Location:Düsseldorf, Germany

Posted Sun Jul 16, 2017 11:01 PM

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



#14 JFD62780 OFFLINE  

JFD62780

    Space Invader

  • 38 posts
  • Born 8 years TO THE DAY after Atari was founded!
  • Location:Tampa, FL, USA

Posted Sun Jul 16, 2017 11:49 PM

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!



#15 Keatah OFFLINE  

Keatah

    Quadrunner

  • 17,239 posts

Posted Mon Jul 17, 2017 12:24 AM

What game might that be? Because if it's Draconian, it's been testable for quite some time via stella and stella pre-releases.



#16 JFD62780 OFFLINE  

JFD62780

    Space Invader

  • 38 posts
  • Born 8 years TO THE DAY after Atari was founded!
  • Location:Tampa, FL, USA

Posted Mon Jul 17, 2017 12:26 AM

Well, just me, but I figured the official release was that much worth the wait. ;)



#17 Keatah OFFLINE  

Keatah

    Quadrunner

  • 17,239 posts

Posted Mon Jul 17, 2017 12:38 AM

So what game was it?



#18 israelg OFFLINE  

israelg

    Moonsweeper

  • 326 posts

Posted Mon Jul 17, 2017 1:55 AM

Thanks !!!  :)



#19 Rom Hunter OFFLINE  

Rom Hunter

    VCS Games Archivist

  • 8,562 posts
  • Obtainer of Rare Antiquities

Posted Mon Jul 17, 2017 5:10 AM

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.g.../changelog.html

 

8)


Edited by Rom Hunter, Mon Jul 17, 2017 5:30 AM.


#20 stephena OFFLINE  

stephena

    River Patroller

  • Topic Starter
  • 2,859 posts
  • Stella maintainer
  • Location:Newfoundland, Canada

Posted Mon Jul 17, 2017 6:18 AM

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



#21 ClassicGMR OFFLINE  

ClassicGMR

    Stargunner

  • 1,009 posts
  • Location:Northeastern U.S.

Posted Mon Jul 17, 2017 7:13 AM

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



#22 Keatah OFFLINE  

Keatah

    Quadrunner

  • 17,239 posts

Posted Mon Jul 17, 2017 8:22 AM

Typos in webpage should be fixed in moment.

 

The error is also present in the included documentation (docs) folder too.



#23 Rom Hunter OFFLINE  

Rom Hunter

    VCS Games Archivist

  • 8,562 posts
  • Obtainer of Rare Antiquities

Posted Mon Jul 17, 2017 9:10 AM

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.

8)



 


Edited by Rom Hunter, Mon Jul 17, 2017 9:14 AM.


#24 Keatah OFFLINE  

Keatah

    Quadrunner

  • 17,239 posts

Posted Mon Jul 17, 2017 10:05 AM

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.

#25 Flojomojo ONLINE  

Flojomojo

    Up! Down! Up! Down!

  • 8,925 posts
  • Chu! Chu! Chu!

Posted Mon Jul 17, 2017 10:23 AM

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. 







Also tagged with one or more of these keywords: stella, new tia, debugger

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users