Jump to content
IGNORED

Stella 4.6 released


stephena

Recommended Posts

OK, so here's a new release of Stella. This release focuses on video and sound bugfixes, so not a lot of new functionality. Changes are as follows:

 

* Finally fixed fullscreen rendering issues on some OpenGL implementations in Linux (mostly Intel-specific). Basically, the concept of 'dirty updates' has been removed; the window is now updated continuously. This may also fix issues some people were having with triple-buffering in Windows Direct3D, etc.


* Fixed sound corruption that happened when running a ROM for the first time. This was most obvious under OSX, but occasionally happened on other systems too.

* Reverted some minor C++11 features (std::regex and cbegin/cend iterators) in a few places, since otherwise GCC 4.9 is required to compile Stella, and it isn't available on many systems yet. These changes allow Stella to be built with GCC 4.8, which is present in the latest 'long term release' of Ubuntu.

* Fixed error messages on state loading; sometimes multiple messages were being added together and displayed.

* Fixed bug when running ROMs using AtariVox controllers; the app would crash upon exiting the ROM.

* Snapshot functionality now works while the emulation is paused.

* Certain textfields in the UI now have filtering enabled, preventing insertion of illegal characters. This will be extended throughout the code in future releases.

* DataGridWidgets in the debugger now respond to keypad '+' and '-'.

* Updated included PNG library to latest stable version.

 

As usual, Stella can be downloaded from here, and donations are welcomed here. Please report any issue in this thread or by PM.

  • Like 7
Link to comment
Share on other sites

  • 3 weeks later...

Not sure if I had reported that before, but Stella has a bug with PAL color-loss enabled. If the ROM starts with odd scan lines, the screen is ALL black for odd scan lines.

 

See this topic and try binary whole5.bin:

http://atariage.com/forums/topic/237174-laundry-hero-a-musical-game-inspired-by-loom/?p=3217720

 

For some reason switching to debugger and back fixes that.

Link to comment
Share on other sites

This has probably been asked before, but I don't remember the answer. Should we always uninstall the old version of Stella before installing the newest version?

 

I never had to do that; however, I sort of follow the "MAME" rule for that kind of thing. In other words, if I run into a problem with a new version that did not exist previously, I'll first test to a "clean" directory/folder before coming to a conclusion there is an issue with the latest version.

 

Short answer - No. However, if experiencing issue(s), then yes - remove the old and then install the new.

  • Like 1
Link to comment
Share on other sites

Have any changes been done (in the 4.x series) with the paddle emulation?

 

ref:

http://atariage.com/forums/topic/231993-can-you-live-on-emulation-only-100/?p=3223755

http://atariage.com/forums/topic/231993-can-you-live-on-emulation-only-100/?p=3223819

 

Stella's paddle emulation has always exhibited the following issues in Kaboom and Breakout.

 

Part 1: Paddles

1- You can move the mouse to the right very slowly and the buckets don't track, if you move the mouse to the left (even the slightest) they do track.

 

2- The buckets can get "stuck" on the left side. As if they're continuing to move off-screen, but they're still being displayed on the left side of the screen. You have to "recover" them by moving them right again. Try it by moving them to the left, and keep moving the mouse left, keep going, keep going.. Now move right. How far do you have to move right before they themselves move?

 

Repeating the experiment on the right side, they recover almost instantly, much better. But still not instantly. This creates the appearance of lag as you have mouse movement without onscreen movement. Whereas, IIRC, the real hardware was lock to lock, left to right. Absolute position. Paddle at 12 o'clock, buckets center. Paddle at 8 o'clock buckets left edge, Paddle at 4 o'clock buckets right. X amount of potentiometer resistance = a specific position on the screen.

 

No matter how fast you turned the knob they always got there. Precisely. With the mouse it is possible to skip some tick marks saying you moved something. And the emu seems to add too much weight/momentum to the on-screen object that is being controlled by the mouse.

 

Try this, set your mouse on a good flat tracking surface. Now put two heavy objects such as books 5cm to the left of the mouse and to the right of the mouse. Now move the mouse left and right - against the books. As you do this you'll see the buckets make their way to the left side of the screen and eventually get stuck there. Takes maybe 50 movements or so.

 

Part 2: Keyboard

Using the keyboard it may be easier to illustrate this. Move the buckets left by using the left arrow. And keep pressing it for maybe 10 times after the buckets are at the very edge and can't move anymore. Now try moving them right. They don't move at all. Not until you hit the right arrow 6 or 7 times.

 

Repeat this on the right side of the screen. Note that the buckets "recover" their ability to move after only 2 or 3 keypresses. They don't stick to the right side as much as they do on the left.

 

Finito:

I bet this is what you're experiencing and causing your low scores and frustration. None of this has anything to do with framerates or types of displays or crt-induced distortion. Playing with the sensitivity settings does nothing to fix these problems either. IIRC the amount of lag by emulation and processing and modern display devices adds up to somewhere between 28 and 46 milliseconds. Not a great deal. YMMV.

Link to comment
Share on other sites

Have any changes been done (in the 4.x series) with the paddle emulation?

 

2- The buckets can get "stuck" on the left side. As if they're continuing to move off-screen, but they're still being displayed on the left side of the screen. You have to "recover" them by moving them right again. Try it by moving them to the left, and keep moving the mouse left, keep going, keep going.. Now move right. How far do you have to move right before they themselves move?

 

Repeating the experiment on the right side, they recover almost instantly, much better. But still not instantly. This creates the appearance of lag as you have mouse movement without onscreen movement. Whereas, IIRC, the real hardware was lock to lock, left to right. Absolute position. Paddle at 12 o'clock, buckets center. Paddle at 8 o'clock buckets left edge, Paddle at 4 o'clock buckets right. X amount of potentiometer resistance = a specific position on the screen.

This dead area is there on real hardware too. This is because the paddle starts discharging before the kernel and it stops after the kernel. But it is only read during the kernel. If it is (virtually) left or right from the screen, you have to turn the paddle in reverse the same amount before it starts moving again. So the lock on real hardware you remember does not exist.

 

Instead a paddle is simply much better suited to this control than a mouse. With a mouse you have lags, missed movement, acceleration etc. So it cannot be as precise as a paddle.

Link to comment
Share on other sites

I will have another look at the paddle emulation, to see if things can be improved a little (perhaps make the sensitivity settings more pronounced or something). But as Thomas said, there is actually a dead-zone on real paddles. or at least there is on all paddles I have (4 sets) and games I've tried (10+). I will try to make the settings more configurable to suit different mice speeds, acceleration, etc, but in the end, Kaboom is just one of those games that needs real hardware (Stelladaptor, etc).

Link to comment
Share on other sites

I kinda got this going because I posted in another thread that Keatah started about emulation. I am using the 2600-daptor and I just can't really pass level 7 in Kaboom. Here was my experience:

I created a save state where I cleared levels 1-6 (1000 point mark) successfully without missing a bomb, and I attempted over and over again for at least 2 hours to complete level 7 - I couldn't do it even when I reloaded the state dozens of times immediately after losing my first bucket. I came within 10 bombs a handful of times, but I couldn't ever complete it. I went through various stages of anger, frustration, and sadness during this process when I began to experiment with the framerate. Slowing the game to 50 fps allowed me to actually complete level 7 and sometimes level 8. I think the default fps is about 60, so I experimented with pushing the speed up to 70fps and then letting it drop again to see if my mind would have gotten going faster and could actually handle the "default" speed after being exposed to something harder - but to no avail. I think I may have left VSync on which could have limited the FPS.

I actually switched back to a Kaboom cart and original hardware and dominated level 7. I got past it like 8 out of 10 times and then stopped counting. There is something about the emulator that is nailing me. I reset Stella's input settings, and I had previously adjusted sensitivity or some sh!+. After that I got past 7 once and only once before attempting over and again without success. It makes me think that there could be a sweet spot with Stella's settings that makes this more like the real thing. Maybe it is my laptop screen or something like that? I noticed that on a CRT the buckets sort of distort near the edges of the screen and look visually "wider." This does not happen in Stella. On a positive note, I not only cleared 7 on the original hardware, but I did it many times with only 2 buckets and at least once now with only 1 bucket.

The movement of the paddle feels smooth to me, I can't really put my finger on what is going on, but I've tried for literally hours to improve my gameplay in Stella without success. On original hardware I keep seeing my high score rise (now up to more than 6k). In Stella, I'm just dead meat at level 7. Keatah seems to think that the over-steer on the left side of the screen has something to do with this. Maybe he is right.

Link to comment
Share on other sites

I'm going to do the 4.6.1 release very soon, since it has a showstopper bug (input doesn't work in the debugger). After that, I am going to concentrate on the paddle issues for 4.7; we've had this problem for long enough ...

  • Like 4
Link to comment
Share on other sites

I personally hate kaboom almost as much as I do pac man. Kaboom is one of those games that kicks you in the nuts when you're on the ground already. It takes away a bucket to "punish" you, thus ensuring you'll never complete the level which was difficult enough to make you fail in the first place. Like in pacman I can only get to level 2 or 3. On Missile Command..

 

But this is not about my choice of games. It's about seeing if paddle emulation can be fine tuned (thx Stephen).

 

While I don't have my real hardware available for testing, it seems the emulated paddle take time to "catch up" or get up to speed. Not in a "lag" sort of way, they respond nearly instantly to command, but the velocity part seems stretchy or exhibits the wrong acceleration curve.

 

Maybe I'm mistaken.. Maybe we need a slider like so, [crisp <=> stretchy].

Or maybe we need an acceleration compensation factor slider.

Not forgetting the left/right bias slider either.

Link to comment
Share on other sites

I suppose Stella uses the OS API to read the mouse (correct Stephen?). Then it can do only as good as the OS does.

 

And in the OS the mouse movement is not treated linear by far. Fast mouse movements are accelerated even more, short movements are slowed down etc. You can check the mouse setup in the OS and maybe you are able to disable some of those options.

Link to comment
Share on other sites

 

 

Kaboom is one of those games that kicks you in the nuts when you're on the ground already. It takes away a bucket to "punish" you, thus ensuring you'll never complete the level which was difficult enough to make you fail in the first place.

 

Or... losing that bucket brings you tunnel vision. You fixate on the task, the world drops away, leaving just bombs 'n buckets. And you nail that level. Cold.

 

I love that game, and that's why. KABOOM pushes right up against human limits. It's the sort of game that gets right to your basic nature. And if you really want to complete that level, you dig deep, change a little, which also cultivates an addiction like no other, find it within somewhere and finish it.

 

Go back, pick up that paddle, and dig deep. If you didn't finish, you didn't want it bad enough. That's KABOOM.

  • Like 2
Link to comment
Share on other sites

 

Or... losing that bucket brings you tunnel vision. You fixate on the task, the world drops away, leaving just bombs 'n buckets. And you nail that level. Cold.

Yes, and due to the paddle being 100% tied to the buckets, you and the game become one. Zone mode!

 

This is something that can never be replicated by any emulator.

Link to comment
Share on other sites

If non-linearity introduced by the OS can't be countered (I believe it can). How about the stubborn tendency of the paddle-controlled object being left biased to where you periodically have to pick the mouse up and reposition it on your work surface. Can we fix that?

 

I can see and understand the tracking may get lost or skipped on occasion, but it happens way way too often on the right side and rarely/never on the left. 10 out of 10 tests it fails. Counts "build up" and for the same left-right, right-left, left-right, right-left movements the onscreen object migrates to the left.

 

It's been ages since I played Kaboom! seriously. I generally don't zone-out to this style of game. But I get it, I understand it. I made it to level 7 after 15 minutes of practice. Or maybe it was level 8.

 

You know a good hack for this game would be a counter that tells you how many levels you cleared. Call it the Kaboom! Kounter.

Link to comment
Share on other sites

If non-linearity introduced by the OS can't be countered (I believe it can).

Way too complex and individual per driver, OS and user settings. The only chance would be to get the mouse data before it is mangled by the driver.

 

How about the stubborn tendency of the paddle-controlled object being left biased to where you periodically have to pick the mouse up and reposition it on your work surface. Can we fix that?

Seems to be left biased on my computer too. I guess this can be fixed in Stella, maybe a cumulating rounding problem.
Link to comment
Share on other sites

From the source code:

// Paddle movement is a very difficult thing to accurately emulate,

// since it originally came from an analog device that had very

// peculiar behaviour

// Compounding the problem is the fact that we'd like to emulate

// movement with 'digital' data (like from a keyboard or a digital

// joystick axis), but also from a mouse (relative values)

// and Stelladaptor-like devices (absolute analog values clamped to

// a certain range)

// And to top it all off, we don't want one devices input to conflict

// with the others ...

So everyone is aware.
Link to comment
Share on other sites

I see.. Well I don't want to make a federal case out of it.

 

Perhaps fixing this left bias would be enough improvement. Keep in mind that if I tied a string to a snail (not Turbo) and commanded it to pull the mouse right - there would be no on-screen activity. But left? Yes. In fact, I could move the mouse clear across my desk with no movement - that takes time! But left? works fine.

 

If anyone cares, I changed the USB polling rate to 1khz and it didn't change anything regarding how the mouse feels or otherwise operates.

 

Turning off the "Enahance pointer precision" in windows control panel seemed to improve the mouse movement only ever so slightly.

Edited by Keatah
Link to comment
Share on other sites

I will try to make the settings more configurable to suit different mice speeds, acceleration, etc,...

Good luck with that.

 

Also, since each game polls the paddles differently, e.g. the sizes of active zone and the dead zones (left/right) are very different between games. So maybe we even need settings per game?

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