Jump to content
IGNORED

Stella 3.2 released


stephena

Recommended Posts

OK, it's time for a new release of Stella again. I had said I'd try to do more frequent releases, but real life got in the way again. But a 4 month interval isn't too bad; it's been up to 11-12 months in the past.

 

Anyway, enough apologizing ;) Stella can be downloaded from http://stella.sf.net. Please test and report any bugs here, or directly by email. Here's the complete changelog:

 

 * NOTE: because of the many event-related changes in this release, all
   event mapping should be reset to defaults after starting Stella for
   the first time.  As well, because of other internal changes, older
   save-state files are no longer valid.

 * Many improvements to joystick handling code, particularly for analog
   axes.  Navigating the UI should be much smoother now, and remapping
   events to analog axes should be less 'twitchy'.

 * Added ability to assign and remap 'combo' events in emulation mode.
   Combo events are basically a sequence of normal events (up to 
   that are generated from a single event (ie, one button on a joystick
   could generate up to 8 events).  Updated Input Settings UI to
   access and modify these events.

 * Default mappings are now available in UI and emulation mode for the
   first 'hat' detected on a joystick/gamepad.  Related to this, a hat
   now works exactly like an axis in UI mode (holding down a direction
   continues that direction until the hat is released/centered).

 * Several major improvements to the debugger:
     - the disassembler can now process multiple entry points, and
       caches entry points as they're encountered (ie, the disassembly
       isn't 'reset' each time a bank change occurs or you exit and
       re-enter the debugger)
     - preliminary support for disassembling from zero-page RAM
     - re-added ability to change banks with the 'bank' debugger
       prompt command and within the ROM disassembly UI
     - user labels in disassembly are now supported again
     - 'runto' command is now case-insensitive, and shows a progressbar
       while searching through the disassembly
     - the debugger window can be resized between ROM loads (previously,
       the app had to be restarted)
     - fixed bug in Distella disassembler output, where it sometimes
       generated addresses above $FFFF
     - a vertical line separates the disassembly from the raw bytes

 * Fixed behaviour of SWCHB and SWBCNT; pins set to output now remember
   the values previously written.  Some ROMs use this functionality for
   extra storage.  Special thanks to Omegamatrix of AtariAge for advice
   and test ROMs in this area.

 * Fixed bug when reading from illegal TIA addresses; a Space Invaders
   hack was showing pink enemies instead of white ones.  Again, special
   thanks to to Omegamatrix of AtariAge for advice and test ROMs in this
   area.

 * Fixed bug in handling INPT4/INPT5 latches from VBLANK; a least one
   ROM was working in Stella when it didn't on real hardware.

 * Added 'ramrandom' commandline argument, which is used to randomize
   all RAM in the system; otherwise, the RAM is zeroed.

 * Added 'finishing touches' to some of the UI descriptions, giving a
   better explanation of the functions.  Related to this, certain
   options now show a message box explaining the option in further
   detail (particularly the ROM Audit mode).  As well, when starting
   Stella for the first time, a prompt appears to select a ROM
   directory.

 * Fixed bugs in the ROM launcher when viewing certain PNG images not
   created by Stella.  Related to this, the official PNG library is now
   included in the Stella codebase (version 1.4.3).  Also added composite
   snapshots for those ROMs which consist of several games.  Thanks go
   to Buzbard of AtariAge for these images.

 * Added several fixes for crashes on 'small' systems (those systems
   where the maximum resolution is less than 640x480).

 * Tweaked bankswitch autodetection for 0840, DPC+, E7 and UA schemes.

 * Improved F8 bankswitch autodetection for Yars Revenge in 8in1 ROM.

 * Updated DPC+ bankswitch scheme to latest specifications.

 * Snapshots taken in continuous snapshot mode are now timestamped, so
   older files are never overwritten.

 * Fixed a TIA segfault that could occur with certain ROMs.

 * The 'center' application window functionality can now be changed
   without having to restart the application.  Related to this, mouse
   positioning bugs when using the Linux version in OpenGL mode with
   SDL 1.2.14 have been fixed.

 * Reworked the manual, dividing it into 'Getting Started' and
   'Advanced Configuration' sections.  It still contains the same info
   as before, but hopefully in a better organized way.

 * Updated Help dialog; it was showing incorrect info for some OSX
   shortcuts.

 * Updated OSX build script to not crash when a previous build is
   detected, and to properly handle filenames with spaces.

 * Updated included ZLib to latest release version (1.2.5).

-Have fun!

 

Also note that with this release, I've added an FAQ to the Stella webpage.

  • Like 3
Link to comment
Share on other sites

Having an odd problem with joystick--

 

The joystick appears to Windows as a hat rather than X/Y axis, and works fine in everything but Stella. When I hit a diagonal, an axis is locked on even if I stop hitting the diagonal. For instance, in Yar's Revenge, if I start moving up, then switch to diagonal up and to the right, then back to up, the thing will continue to hold down the right as well. If I switch to diagonal up/left, then back to up, it'll hold left. The only way to be able to use a single direction again is to actually recenter the stick for a moment.

 

Keyboard seems to be perfectly fine, though.

Link to comment
Share on other sites

Having an odd problem with joystick--

 

The joystick appears to Windows as a hat rather than X/Y axis, and works fine in everything but Stella. When I hit a diagonal, an axis is locked on even if I stop hitting the diagonal. For instance, in Yar's Revenge, if I start moving up, then switch to diagonal up and to the right, then back to up, the thing will continue to hold down the right as well. If I switch to diagonal up/left, then back to up, it'll hold left. The only way to be able to use a single direction again is to actually recenter the stick for a moment.

 

Keyboard seems to be perfectly fine, though.

There must be great variation in joysticks/gamepads, because everything is fine on my system, but I still get reports of joystick issues. I'll try to duplicate what you're seeing, and if I can, it should be easy to fix. Getting the same behaviour is 99% of the problem, and unfortunately I can't test every joystick device out there.

 

Joystick support is much better now, although it does still have some "freakout" moments in the UI menu, and also gets a little sensitive during gameplay. Otherwise it's much more playable with a gamepad than before. Nice!

The sensitivity can be controlled with the 'deadzone' option from Option -> Input Settings -> Virtual Devs. Increase the deadzone so that minor changes in axis values won't be interpreted as movement. Or at least that's my understanding of what you mean by 'sensitive'.

 

As for the UI, note that if you hold down an axis on a UI element to select items (ie, a tab), then it indeed will switch between them very quickly. The same would happen if you pressed Shift-Left (or Shift-Right); the tabs would cycle very quickly. You're meant to press the axis to move to the next tab, then let go. If you want to move to another, do another press and release. I'm unable to duplicate your issues, and I do have an XBox 360 controller to test with.

Link to comment
Share on other sites

Having an odd problem with joystick--

 

The joystick appears to Windows as a hat rather than X/Y axis, and works fine in everything but Stella. When I hit a diagonal, an axis is locked on even if I stop hitting the diagonal. For instance, in Yar's Revenge, if I start moving up, then switch to diagonal up and to the right, then back to up, the thing will continue to hold down the right as well. If I switch to diagonal up/left, then back to up, it'll hold left. The only way to be able to use a single direction again is to actually recenter the stick for a moment.

 

Keyboard seems to be perfectly fine, though.

I think I now know what the problem is, but I won't be able to test it until next week (I left my joysticks at work). If I can fix it easily, I'll consider doing a quick 3.2.1 release.

Link to comment
Share on other sites

To Allan and Thomas J., thanks for your thanks. Getting feedback of any kind keeps me interested in the project, but obviously positive feedback is more encouraging :) And I do need encouragement from time to time, as I have a lot of real-life issues right now, and the project is starting to wear thin sometimes (can you believe I've been involved with it since 1999 or so?).

Link to comment
Share on other sites

I think I now know what the problem is, but I won't be able to test it until next week (I left my joysticks at work). If I can fix it easily, I'll consider doing a quick 3.2.1 release.

 

If you need me to run some test code, I'll be glad to do it if it'll help you narrow things down faster.

Link to comment
Share on other sites

The sensitivity can be controlled with the 'deadzone' option from Option -> Input Settings -> Virtual Devs. Increase the deadzone so that minor changes in axis values won't be interpreted as movement. Or at least that's my understanding of what you mean by 'sensitive'.

 

 

Yep, that did it. Also, I'm now able to reassign things without issue. I can use the stick or choose to use the d-pad no problem. Awesome work, thanks man!

Link to comment
Share on other sites

Yep, that did it. Also, I'm now able to reassign things without issue. I can use the stick or choose to use the d-pad no problem. Awesome work, thanks man!

Strange that the default of '3200' didn't work for you. I'll consider increasing it (perhaps to 8000 or so). What value did you use to get things working?

 

I think I now know what the problem is, but I won't be able to test it until next week (I left my joysticks at work). If I can fix it easily, I'll consider doing a quick 3.2.1 release.

If you need me to run some test code, I'll be glad to do it if it'll help you narrow things down faster.

I can send you a preliminary test build later today by PM. But I won't be able to test the code until next week.

 

Do was that x-port code any help to you? Or did you cook up your own code?

I was only interested in the GUI part for suggestions, not the actual joystick handling code itself. But after thinking about it a little last night, I think I've found a solution to the hat problem based on your description of how things work in the x-port code. So it was helpful after all.

Link to comment
Share on other sites

Holy Stella, a new release!!!

 

 

I admire your tenacity Stephena. You really do good work you know. :thumbsup:

 

 

 

I tried all those test roms in 3.2 and everything works like it should. Great job man. :D

Thanks for the praise, and also for the test ROMs. And now that I know my 6-switcher is wonky, I'll have to move its SVideo mod to a Vader console. I just tested all ROMs with that console today, and it doesn't exhibit the weirdness with SWCHA we talked about in another thread. All values generated by all your ROMs match your results, and movement in the HarmonyCart menu is no longer twitchy. I never realized it was the old console all along.

Link to comment
Share on other sites

I just tested all ROMs with that console today, and it doesn't exhibit the weirdness with SWCHA we talked about in another thread.

 

What is SWCHA doing on your Vader that is different then it should be, exactly?

No, everything is working fine on the Vader, consistent with the results you've posted, and what is generated by Stella and the other emulators. It's the original 6-switcher that's giving bad TIA reads. I forget the exact addresses now, and I refer you to the thread where we first tracked all this stuff down. Some of the values are coming back with D7 always on, even if there's no joystick plugged in! This causes all sorts of problems with the Harmony, as it thinks there's a paddle plugged in. But on the Vader (which will become my new test system once I move the SVideo mod to it), everything is working great.

 

Also, the Cosmic Ark starfield effect gives strange results on the 6-switcher, different from any other console I've tested and all feedback I've received. I guess the console is just borked. A shame, really, as I like the look of the older systems compared to the Vaders.

Link to comment
Share on other sites

To Allan and Thomas J., thanks for your thanks. Getting feedback of any kind keeps me interested in the project, but obviously positive feedback is more encouraging :) And I do need encouragement from time to time, as I have a lot of real-life issues right now, and the project is starting to wear thin sometimes (can you believe I've been involved with it since 1999 or so?).

Anybody who is anybody uses Stella. That's a ton of silent praise right there. :thumbsup:

 

I'm allergic to praise, so I try not to inflict it on others in case they are allergic too. :D

Link to comment
Share on other sites

Also, the Cosmic Ark starfield effect gives strange results on the 6-switcher, different from any other console I've tested and all feedback I've received. I guess the console is just borked. A shame, really, as I like the look of the older systems compared to the Vaders.

Probably the same thing with Stay Frosty. Have you tried swapping TIA? If that works you can keep using the old system.

Link to comment
Share on other sites

Also, the Cosmic Ark starfield effect gives strange results on the 6-switcher, different from any other console I've tested and all feedback I've received. I guess the console is just borked. A shame, really, as I like the look of the older systems compared to the Vaders.

Probably the same thing with Stay Frosty. Have you tried swapping TIA? If that works you can keep using the old system.

Yes, it's the same with Stay Frosty. In fact if you recall, your report in the Stella 3.0 release thread was what pointed out the issue. No other console generated the same output as mine.

 

And there's also an issue with the D7 pin of port A (it seems stuck sometimes, even when there's nothing plugged in). This indicates a problem with the RIOT too, so it's probably best to just use another console.

 

Really not much point using it as a test system for more accurate emulation in Stella when it isn't even accurate itself :)

Link to comment
Share on other sites

Stella 3.2.1 has now been released, fixing a number of issues that slipped past version 3.2. Please try to keep all discussion and bug reports in this thread, as it's much easier for me to watch responses if they're all in the same place.

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