Jump to content
IGNORED

Stella 3.1 released


stephena

Recommended Posts

Well, it's that time of year again. No, it's not Christmas, it's a new release of Stella :) This one contains some nice debugger improvements, but more importantly, some fixes for lockups/crashes (hopefully). The Mac port has received some extra love as well, now that my secondary development system is a Macbook Pro. As usual, Stella can be downloaded from http://stella.sf.net. Please test and report any bugs here, or directly by email.

 

Anyway, here's the complete changelog:

 

 * Fixed a major bug with text drawing in software rendering mode.
   Switching between windowed and fullscreen mode while text was being
   shown could result in garbled text or even a program crash.

 * Fixed issues when using 'sleep' timing, whereby a lockup could occur
   when changing video modes, and/or Stella would consume more CPU time
   than was necessary.

 * Integrated Distella disassembler, completely replacing the previous
   disassembler.  The entire infrastructure has not been completely
   ported yet.  As a result, labels defined by the user or from a
   DASM symbol file aren't actually used in the disassembly, and almost
   all distella config options are disabled.  These will be addressed in
   a future release.

 * Completely reworked the debugger cartridge interface, so that
   the disassembly is dynamic (ie, the debugger tracks when cart address
   space has changed, and automatically performs a re-disassembly).

 * All carts with extended RAM that differentiate between read and write
   ports now behave correctly when a read from the write port occurs.

 * Added more complete support for the more esoteric bankswitch
   schemes in the debugger.  These schemes now support accurate
   disassembly and ROM patch functionality.  Related to this, fixed a
   bug in disassembler view when a failure to patch a ROM still showed
   the (incorrect) patched results.

 * Added ability to disable TIA object collisions, independent of
   enabling/disabling the objects.  Previously, one had to completely
   disable an object to avoid collisions, but now an object can be
   enabled (and seen) but still have its collisions disabled.  These
   actions are tied to the same keys as the enable ones, except the
   'Shift' key is also used.

 * Added preliminary support for 'DPC+' bankswitching scheme, thanks to
   Darrell Spice Jr and Fred Quimby.

 * Added '16in1' bankswitching scheme, which works with various
   ROMs labeled '128-in-1 ...' (the database has been updated for
   these).  Related to this, switching between multicart ROMs for 2in1,
   4in1, 8in1, 16in1 and 32in1 now shows a UI message indicating which
   ROM is active.

 * Reverted some of the TIA improvements with respect to 'starfield
   effect' as seen in "Cosmic Ark" and "Stay Frosty".  The emulation is
   now more accurate as compared to the majority of consoles in use.

 * Added debugger pseudo-register '_rwport', which traps on a read from
   the write port.  This differentiates from reads that are normally
   part of a write cycle (ie, it traps only on inadvertent reads).

 * Added 'resolvedata' commandline argument and associated UI item, used
   to set the "resolve data sections" config option in Distella
   (vs. treating all address space as code).

 * Added 'runtopc' debugger command, used to step until encountering the
   given program counter.  This is also available in the ROM disassembly
   UI from the right-click context menu.

 * Added 'listfunctions' and 'delfunction' debugger commands to
   access/remove user-defined functions.  Related to this, fixed a bug
   in 'function' command that could cause a program crash.

 * Added 'cls' debugger command, used to erase the text and history
   from the debugger prompt.

 * Removed the 'listwatches' and 'poke' debugger commands, as they
   were redundant.

 * Removed the 'loadlst' debugger command and the ability to use a
   DASM .lst file.  This code was incomplete, and no longer fits with
   the recent disassembler improvements.  Support for this may return
   in a future release.

 * Modified 'disasm' debugger command to accept a second argument
   indicating the number of lines to disassemble.

 * Improved tab-completion in the debugger prompt; it now completes
   on functions and pseudo-registers.

 * Added emulation of the "Sega Genesis" controller, with two buttons
   that are directly supported on a real system.

 * The ZLib library is now included in the core code, so Windows
   developers no longer have to track down the ZLIBWAPI archive.

 * Many changes to the MacOS X port, bringing it more in line with
   other systems:

     The application is now known as 'Stella' (instead of StellaOSX).

     Two versions are available: the first is a 32-bit Universal Binary
     for OSX 10.4 - 10.6, and the second is 32/64-bit Intel-only for
     OSX 10.6 (aka Snow Leopard).  The Intel version is compiled with the
     very latest compiler (LLVM/Clang), resulting in better performance.

     The keyboard handling is changed to match other systems in terms of
     where the keys actually are on the keyboard (ie, the OSX Command key
     corresponds to Alt, and the OSX Control key corresponds to Control).

     The application menu has been cleaned up and simplified, and it
     now shows the correct shortcuts for menu items.

     The settings file is now (according to Apple standards)
     '~/Library/Preferences/net.sourceforge.Stella.plist'.

     The base directory (where all other Stella stuff is located) is now
     '~/Library/Application Support/Stella'.

     Because of these changes, all your settings will have to be entered
     again.

 * Added 'ctrlcombo' commandline argument, which toggles the use of the
   control key as a modifier key.  This is useful if you want to press
   'Control' and 'R' in a two player game, and not have the combination
   treated as 'Control-R' (which will issue a ROM reload).

 * Added 'usemouse' commandline argument and associated UI item.  This
   toggles the use of the mouse as a controller of any type.

 * Added 'uimessages' commandline argument and associated UI item.
   This toggles showing of UI messages overlaid on the screen.
   Critical messages are still shown, though.

 * Added ability to take multiple snapshots in a given interval every
   x seconds.  This is currently tied to the 'Alt-s' key and is not
   remappable (for now).  The interval can be set with the 'ssinterval'
   commandline argument and within the UI, and defaults to 2.

 * Many changes to the FrameBuffer and UI code for 'smaller' systems.
   Stella will now scale correctly to small screens, down to 320x240
   (which is the absolute lower limit supported).  Related to this,
   added 'maxres' commandline argument, which is useful for developers
   testing on such systems.

 * The About dialog now shows the version of SDL in use, and the type
   of CPU the application is running on (i386, x86_64, etc).

 * Improved 'listrominfo' commandline argument to list all information
   from Stella's internal ROM database, including a heading.  This
   output can be imported into a spreadsheet or database program.

 * Renamed 'tiafloat' commandline argument to 'tiadriven'.  The
   emulation of the behaviour of floating TIA pins is also much more
   accurate.

 * Reworked state files so that they're associated with the cartridge
   type used, not the MD5sum of the ROM.  This is useful for developers,
   since the same state file can now be loaded from different ROMs,
   as long as the cart type stays the same.  This also fixes a bug
   where loading from a non-existent state file could cause Stella
   to crash.  Because of these changes, old state files will no longer
   work.

 * Fixed bug in certain editable text fields, where pressing Return/Enter
   would disable any further input.

  • Like 5
Link to comment
Share on other sites

OK, we've already had one reported bug. Using the IO registers from the prompt in the debugger causes a crash. So any address in the range 0x280 - 0x2ff, any of its mirrors, or any associated labels will immediately cause a crash. I'll get this fixed for a 3.1.1 release for Monday, so please report any other bugs before then, so I can get them fixed for the next point release.

Link to comment
Share on other sites

any chance for j2me or symbian port? :(

 

J2ME seems completely unlikely, since it would require an entirely new codebase. Symbian (and when you say Symbian, I assume you really mean S60) could happen, but only if you find someone who really loves S60 and Atari 2600. Otherwise, the pain of developing on that platform just isn't worth it.

 

Interestingly enough, the core of the app could be ported to Android with a new front end to handle the GUI side in Java. That might be the more likely scenario going forward.

 

And while technically possible, I wouldn't expect to see Stella show up on the App Store for the iPhone or iPad anytime soon given Apple's current policies regarding emulators (you can't provide a generic emulator and allow the user to download their own ROMS -- everything has to be bundled up within the app or downloaded through in-app purchases).

Link to comment
Share on other sites

Thanks for the new version! That's a lot of stuff for a .1 release. :D

 

And while technically possible, I wouldn't expect to see Stella show up on the App Store for the iPhone or iPad anytime soon given Apple's current policies regarding emulators (you can't provide a generic emulator and allow the user to download their own ROMS -- everything has to be bundled up within the app or downloaded through in-app purchases).

But it could be possible if a pre-bundled set of homebrews were included. Might make for a nice little revenue stream for Stephen and some of the programmers here.

Link to comment
Share on other sites

But it could be possible if a pre-bundled set of homebrews were included. Might make for a nice little revenue stream for Stephen and some of the programmers here.

True - and it's possible the commercially released games could get licensed like they did for the 64 emulator. Hmm, when did it become free? I paid $4.99 for it.

Link to comment
Share on other sites

Thanks for the new version! That's a lot of stuff for a .1 release. :D

Yes, I'm not very good with release numbers, and judging when to make big jumps. My point-one releases tend to be mini-releases in themselves, with bugfix versions named VERSION.RELEASE.BUGFIX. If this were commercial software, what I called 3.1 would probably be released as 4.0.

 

And while technically possible, I wouldn't expect to see Stella show up on the App Store for the iPhone or iPad anytime soon given Apple's current policies regarding emulators (you can't provide a generic emulator and allow the user to download their own ROMS -- everything has to be bundled up within the app or downloaded through in-app purchases).

But it could be possible if a pre-bundled set of homebrews were included. Might make for a nice little revenue stream for Stephen and some of the programmers here.

I wouldn't be opposed to developing for the App store if it brought in some extra cash. However, I don't see how it could work, since most people who download an emulator want to play old/original games, and those are exactly the ones that I can't include. This isn't meant as an offense to the homebrew authors. It's just that most casual users wouldn't even know about new homebrews or anything about the scene, so we'd be restricted to those hard-core users who do know about it. And I suspect that this group wouldn't be financially viable.

  • Like 2
Link to comment
Share on other sites

Running on Snow Leopard.

10.6.3

 

Up on the joystick controller is sometimes intermittent and not working consistently.

(using the USB Stelladaptor)

 

Adventure crashed after i acquired the "dot" and was eaten by a dragon.

wouldn't reset.

did not freeze...just wouldn't allow a reset.

Link to comment
Share on other sites

Stephena,

 

After version 2.8.1-win32, when I click on the Stella Fuji logo of the 32 bit version, nothing happens.

 

It just won't start up.

 

What am I doing wrong?

 

8)

Sorry, no idea; you'll have to provide more info. What version of Windows are you using, type of video and sound card, etc? Stella for Windows creates files named stdout.txt and stderr.txt in the application directory. What do these files contain? If possible, please forward them to me.

Link to comment
Share on other sites

I decided to dl and try this baby out.

looks good and I'm glad to have included in emu collection for 2600 (I usually use either pcaewin2.7 and/or Z26, pcae haven't been updated since then and Z26 is cool as well haven't seen

it updated.) maybe one these days I will get a stella adapter to play some bins on my pc with an actual joystick. :thumbsup:

Link to comment
Share on other sites

OK, Stella 3.1.1 was just released, fixing the RIOT address/label crashes in the debugger prompt, and updating the DPC+ bankswitching scheme to the latest specs. This version can be downloaded from the links in the original post. Again, please report any bugs directly in this thread (or by email).

Link to comment
Share on other sites

OK, Stella 3.1.1 was just released, fixing the RIOT address/label crashes in the debugger prompt, and updating the DPC+ bankswitching scheme to the latest specs. This version can be downloaded from the links in the original post. Again, please report any bugs directly in this thread (or by email).

 

been quite some time since I messed with stella will give it a try soon again

Link to comment
Share on other sites

Thanks for all of the hard work you do on this project! This probably isn't the right forum, but I know that you did some work on the Harmony Cart. Should the improvements that you make be included in future Harmony releases? (when applicable, that is. Issues that aren't OS specific.) OR is that another animal completely? Just wondering, because I tend to play with the Harmony Cart and my CC2 more than with Stella. (or any emulator for that matter. Stella is the one emulator that I do use if I am using one)

 

Again, you have done a great service. The improvements that you have made since the early days are incredible. Thank you again!

 

Buck

Link to comment
Share on other sites

I have a weird prob with the latest 3.1.1. When I try to configure the controls to work with my joystick, it keeps auto filling in the buttons with a analog direction. It will let me configure 1 button, then all others after that get auto filled when I click to map them. Then when I exit the EMU and go back in, all the buttons are reassigned to there default options. I am running Win 7. I tried installing it outside of the Program Files folder. Also made sure my account had full access to it and nothing changed. All older versions of Stella let me configure the controls without any problems. I even reconfigured my controls on an older version just to make sure it wasn't a prob with the joystick.

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