Jump to content
IGNORED

Stella Version 2.1 released


stephena

Recommended Posts

Stella version 2.1 has been released (http://stella.sourceforge.net). Stella is a multi-platform Atari 2600 emulator. Please note that the files may not be available on all Sourceforge servers yet. So patience ...

 

We have two brand new ports of Stella; a WinCE version for PocketPC and Smartphones, and a GP2X version. Unfortunately, we couldn't get the TIA restructuring or any debugger improvements done for this release due to dreaded real life commitments, but don't worry, they're coming with the next release.

 

Here's what's new:

 

* Added phosphor effect, similar to z26. Useful on ROMs which alternate sprites from one frame to another, resulting in an annoying flicker. When using phosphor mode, a pixels colour is mixed with its previous value, resulting in a blended image that doesn't flicker, emulating the phosphoresence effect on a real television.

 

* Added 'pp' developer commandline argument to set the "Display.Phosphor" property, and 'ppblend' to set the amount to blend pixels in phosphor mode. Also added 'Alt p' key to enable/disable phosphor effect while ROM is emulated. By default, phosphor mode is only used when necessary, as specified in the stella.pro file.

 

* Renamed 'cheetah' commandline argument to 'cheat'.

 

* Added per-frame cheatcodes (4 characters long), which are evaluated each frame.

 

* Added cheatcode GUI, where cheats can be named, edited, saved, etc.

 

* Cheat codes are now saved to stella.cht file and are automatically reloaded when Stella starts.

 

* Improved 'joymouse' functionality. While in GUI mode, any axis will simulate mouse movement, and any button will simulate a mouse click. So the GUI can be completely navigated without a mouse.

 

* Improved CommandDialog and LauncherDialog wrt joymouse functionality. These dialogs are used more than any other on devices without a mouse, so joystick axis movement switches between GUI objects, rather than simulating the mouse. This leads to much faster selection of objects.

 

* Added mapping of multiple SDL joystick axis to Event Mapping.

 

* Added joystick hat support, and mapping of multiple hats to Event Mapping.

 

* Added remapping of paddle emulation to the keyboard or joystick axis (the mouse is still used by default for paddles). Related to this, use more precise analog values when analog axis are mapped to analog-type events (such as paddles).

 

* Treat joystick events as other types of controllers based on the virtual port entry in stella.pro. This means that mappings for a joystick will emulate other devices when necessary.

 

* Added 'sp' developer commandline argument, which sets the "Console.SwapPorts" property and swaps the arrangement of the virtual ports. Useful for games like "Raiders of the Lost Ark", where the joysticks are normally swapped.

 

* Added ability to set which Stelladaptor device emulates which virtual joystick port ('sa1' and 'sa2' commandline arguments, which accept 'left' or 'right').

 

* Fixed issues with jittering joysticks/mice causing weird events when starting Stella.

 

* Added 'freq', 'tiafreq' and 'clipvol' commandline arguments, which affect the sound subsystem (see manual for further info).

 

* Made state files completely cross-platform, both in terms of endianness as well as CPU size (32 vs. 64 bit).

 

* Fixed crash with using 'cheat' and 'break' from the commandline.

 

* Implemented dynamic loading of OpenGL library.

 

Please report any bugs here or to the Stella mailing list. Enjoy!

Link to comment
Share on other sites

I'm pleased to see the phosphor effect has been added. :thumbsup: It makes a big difference!

 

Unfortunately, it seems to run slightly, but noticeably, slower than a real 2600 on my 1.33 GHz G4 iBook. Older versions of Stella ran just fine, full speed, on this and even on my 800 MHz G4 iMac.

 

*EDIT*

 

Well, the performance seems better when I switch from OpenGL to software rendering. I am noticing some other glitchy behavior -- it doesn't seem to remember my video zoom preferences; some of the menu options and keyboard shortcuts don't work, or work intermittently, etc.

 

Overall though... I'll put up with the glitchiness just to have phosphor effect!

Edited by Room 34
Link to comment
Share on other sites

I'm pleased to see the phosphor effect has been added. :thumbsup: It makes a big difference!

 

Unfortunately, it seems to run slightly, but noticeably, slower than a real 2600 on my 1.33 GHz G4 iBook.  Older versions of Stella ran just fine, full speed, on this and even on my 800 MHz G4 iMac.

1008654[/snapback]

Using the phosphor effect in software mode will be slightly slower than normal rendering, since it forces the whole screen to be updated each frame (vs. only updating when something has changed). However, the OSX port is supposed to use OpenGL, and that one updates the whole screen each frame anyway. Do you notice this slowdown in games that don't use phosphor? Or maybe try playing a game that you find slow, and doing 'Shift-Cmd-p' to toggle phosphor mode. Do you then notice any difference in speed? I really don't think the difference in performance should be that great for a 1.33GHz machine, or even for an 800MHz machine. Maybe some other bug has crept in??

 

Also, is the emulator using 100% CPU when you notice this slowdown (ie, is it a CPU-bound issue, or perhaps a timing issue)?

Link to comment
Share on other sites

Well, the performance seems better when I switch from OpenGL to software rendering.

Now that is odd. Software mode in OSX working faster than OpenGL?? There were some changes to OSX 10.4.x that caused exactly the opposite thing to happen, and is the reason why OpenGL was made the default. I'll forward it to the OSX maintainer.

I am noticing some other glitchy behavior -- it doesn't seem to remember my video zoom preferences; some of the menu options and keyboard shortcuts don't work, or work intermittently, etc.

Do you set zoom from the internal GUI? If not, they won't be saved. I'm not sure about the other problem (events working only intermittently). I'll ask the OSX maintainer.

Link to comment
Share on other sites

BTW: Did you fix the Splatform display bug?

1008660[/snapback]

Unfortunately, no. That falls under the TIA restructuring that we couldn't get to, as noted in the release above. I have to wait for Brad for that, and he can't look at it until he finishes his Ph.d stuff.

Link to comment
Share on other sites

Thanks for the update! Nice work.

 

Future feature request: When creating save states, could Stella automatically switch up to the next slot, so you could capture several in a row without accidentally overwriting previous saves? (I can never seem to remember to switch slots when doing that.)

 

BTW: Did you fix the Splatform display bug?

 

Well your Tunnel Hunt demo works now. :D

Link to comment
Share on other sites

Guess I'll have to pick up a GP2X now!

1009077[/snapback]

As an FYI - there is at the moment something in the Stella GP2X port (or a possible FW conflict) that is rendering the controls largely unusable for most people it seems.

 

The rest of the port though is brilliant, full speed and sound and looks great. So hopefully whatever the problem is will get resolved sooner than later ;)

Link to comment
Share on other sites

Guess I'll have to pick up a GP2X now!

1009077[/snapback]

As an FYI - there is at the moment something in the Stella GP2X port (or a possible FW conflict) that is rendering the controls largely unusable for most people it seems.

Yes, there seems to be a problem with deadzones on the gamepad; we're looking into it. Apparently, there are several different operating modes for the gamepad, and we're using the wrong one. Related to this, does anyone have programming info on these different gamepad modes, and how one can set them programmatically?

The rest of the port though is brilliant, full speed and sound and looks great.  So hopefully whatever the problem is will get resolved sooner than later  ;)

Well, now I know something is up. We have full speed and no problems on a 200MHz machine, and the OSX port is slow on a 1.33GHz machine. And both are using the same code :(

Link to comment
Share on other sites

Well, now I know something is up.  We have full speed and no problems on a 200MHz machine, and the OSX port is slow on a 1.33GHz machine.  And both are using the same code :(

1009128[/snapback]

I should clarify that it may not be FS0 full speed, that I can't tell due to the lack of an on screen FPS display and the fact that testing is well, severely hampered by the control problem. But it does seem to run at the "right" speed for a 2600 ;)

 

As far as the stick, I don't know how exactly SDL handles it (I haven't looked at any other control code yet) but the GP2X stick physically is a weird 8 contact biased switch system. I'm pretty damn sure the problem is that when one of these "off" intermediate diagonals is detected its somehow getting treated as a dead spot and get "stuck". Once that happens the stick needs to be returned to neutral before any more input will be handled.

 

DaveC over at gp32x.com made up a bunch of proposed stick reading schemes that may shed some light on it.

Edited by remowilliams
Link to comment
Share on other sites

I'm pleased to see the phosphor effect has been added. :thumbsup: It makes a big difference!

 

Unfortunately, it seems to run slightly, but noticeably, slower than a real 2600 on my 1.33 GHz G4 iBook.  Older versions of Stella ran just fine, full speed, on this and even on my 800 MHz G4 iMac.

 

*EDIT*

 

Well, the performance seems better when I switch from OpenGL to software rendering. I am noticing some other glitchy behavior -- it doesn't seem to remember my video zoom preferences; some of the menu options and keyboard shortcuts don't work, or work intermittently, etc.

 

Overall though... I'll put up with the glitchiness just to have phosphor effect!

1008654[/snapback]

OK, we found the problems with the OSX port, and have released an updated 2.1.0a release. Performance should be the same as 2.0.1, and the zoom shortcuts and menu items are now synchronized. It may take an hour or so for the archive to be updated on Sourceforge servers.

Link to comment
Share on other sites

As far as the stick, I don't know how exactly SDL handles it (I haven't looked at any other control code yet) but the GP2X stick physically is a weird 8 contact biased switch system.  I'm pretty damn sure the problem is that when one of these "off" intermediate diagonals is detected its somehow getting treated as a dead spot and get "stuck".  Once that happens the stick needs to be returned to neutral before any more input will be handled.

I think we have the problem in hand, now that we've seen the behaviour and know how the stick actually works. We hope to do a quick 2.1a release very soon.

Link to comment
Share on other sites

I think we have the problem in hand, now that we've seen the behaviour and know how the stick actually works.  We hope to do a quick 2.1a release very soon.

1009233[/snapback]

Excellent, once this gets sorted the GP2X port will be fantastic! :D Thanks again for all the work that's gone into Stella and for looking into this quickly. And thanks to Alex as well.

 

The first game I fired up was Berzerk which shows the problem immediately, and I knew it had to be the damn intermediary 8 switch problem.

 

SDL_UP && SDL_UPRIGHT = Huh? :)

Link to comment
Share on other sites

Thanks for doing a Windows CE port.  Although the sound and controls are glitchy this will enhance an upcoming trip I'm taking.  The games that don't take real precise control work well, ie Adventure.

1009538[/snapback]

This is currently the first port of the Stella codebase to WinCE devices. There are some issues, since SDL hasn't properly been ported to those devices. As well, we're extremely limited by the hardware, so some glitches are to be expected. But hopefully some people will still have fun playing with a 2600 on a cellphone :)

Link to comment
Share on other sites

I'm sure you figured this out already but I believe the latest SDL for the GP2X was updated to support DaveC's joystick bias configurations.

1010190[/snapback]

No, I didn't know that. I was about to check in code that handles it client-side in Stella, but if the changes were made to SDL directly, it would be a lot better (and faster). Where can I locate info about this SDL port?

Link to comment
Share on other sites

I'm sure you figured this out already but I believe the latest SDL for the GP2X was updated to support DaveC's joystick bias configurations.

1010190[/snapback]

Hmm. I wasn't aware that any GP2X SDL had been modified for bias configurations. Though Rylehs minlib might have been, but I don't think it was.

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