Jump to content
stephena

Stella 4.6 released

Recommended Posts

OK, Stella 4.6.1 is released, fixing the debugger-input related bug mentioned above. I will now start looking at paddle emulation.

  • Like 4

Share this post


Link to post
Share on other sites

I tried even more last night on Kaboom! This time I turned off a check box in the mouse settings for something like "enhanced pointer precision." I also increased the mouse speed. I have no idea if that actually changed anything in the emulation, but I seemed to do a little better. I also increased the mouse sensitivity to 15 in Stella's settings, and I tried a different ROM. I looked in Device Manager for settings to increase the USB polling, but I didn't find any.

 

Meanwhile, I set my all time high score on the original hardware and a CRT . . .

 

One interesting thing is that I tried the game on an AV modded 7800 connected to a small LCD and didn't do very well at all. This is probably just more random variables making things confusing, but so far the obvious difference in my performance comes when I play the game on anything but a CRT TV.

Share this post


Link to post
Share on other sites

Those small lcd displays (like from a portable dvd player) have pretty bad response times. That could be as much as 32ms! Furthermore, nearly all lcds darken the leading edges or trailing edges objects if they move too fast.

 

 

 

To change the usb polling rate you'll likely need a 3rd party tool. I changed it from 8ms to 1ms. Temporarily, as it seems to interfere with the system going to sleep.

 

I increased the contrast setting in stella a couple of points.

 

I also set the cpu to run full speed, and not clock-throttle itself.

And finally, in stella, I set the timing (*) to busy-wait.

These two settings seem to keep one core running full speed which is good here.

 

Combined together these settings seemed to make things a little more playable, or it could have been the placebo effect. Clearly the cumulative changes weren't earth shattering.

  • Like 1

Share this post


Link to post
Share on other sites

For all you crt players out there, what is your best kaboom score? currently I'm getting around 1100 tops through emulation.

Share this post


Link to post
Share on other sites

One more post then I'm done.

 

I believe turning off the "enhance pointer precision" makes the biggest difference of all. This way the paddle tracks the mouse movement much more linearly. Otherwise different rates of mouse movement result in different distances of on-screen object movement. With it off the effect is more 1:1, not becoming variable as the mouse slows down and changes direction.

 

So, turn it off for a more linear response in emulation.

Edited by Keatah

Share this post


Link to post
Share on other sites

Probably yes. That may improve things enough. Because everything else is going to be personal opinion. This left bias is a quantifiable and measurable issue.

Edited by Keatah

Share this post


Link to post
Share on other sites

The wife's hi-score is about 1400 on the emulator. I can't get my score above about 1175. She needs to play with the enhanced precision option turned on.

Share this post


Link to post
Share on other sites

4800 - New record for me on the emulated version of Kaboom.

 

My video settings are

OpenGL

Zoom 2x

Standard

Nearest

Busy-wait

 

Fullscreen Fill and Vsync both off

 

Custom Clone RGB

Contrast 80

Bright 45

Share this post


Link to post
Share on other sites

On a Latitude laptop, if I utilize the pointer in the middle of the keyboard, albeit being uncomfortable, it is instantly and highly sensitive and responsive. Utilizing the touchpad, there is a slight delay moving. Having a mouse connected there is only a delay moving on the first move; after that, silky smooth.

 

Additionally, the middle/default speed via Windows Control Panel works perfectly for the pointer, but too slow for the mouse. The mouse works better at the high(est) speed setting, but the pointer works poorer - it's too fast/sensitive to control. The touchpad appears to receive little change in performance with with setting.

 

Regarding performance difference with enhance procession mode turned on or off, I did not experience anything noticeable for any of the three input devices. This is under Windows 7 64-bit.

Share this post


Link to post
Share on other sites

Most touchpads clock in at 60-85ms lag.

 

Ohh the joys and fun of tweaking emulators! Instead of using a screwdriver and soldering iron, we play with settings files!

Edited by Keatah
  • Like 1

Share this post


Link to post
Share on other sites

Most touchpads clock in at 60-85ms lag.

 

No doubt. Stephen banging his head over device/hardware issues that have multiple different outcomes, depending on a multitude of other things, could be as pointless as a dog chasing its tail. Especially considering there is a more ideal way to play these type games - real paddles via adaptor(s).

 

If there is lag with a noticeable difference in performance with real paddles via adapter(s) Vs real paddles under the actual console hardware, that is something that should definitely be investigated further. Comparing mice, or as mentioned touch pads, pointers, keyboard input...There are a number of other things impacting it that Stella may have little to no control over including items like drivers, OS setting(s), and quality of the device (I.E. Not all mice are created equal).

Share this post


Link to post
Share on other sites

As best as I can tell, my cheap-o generic mouse of several years vintage seems to lag by 8-15ms, depends on exactly how I measure it. And that's pretty good. Certainly suitable for emulator usage.

 

I don't think stella needs improvement with lag issues. I think if we get the left-bias issue fixed that could improve things enough - because it makes moving in one direction slower than the other. I would like to dismiss it as a tracking problem, but it's too consistent.

 

To address all the input devices possibilities combinations would be tedious and not fun. I'd propose providing additional slider controls so that YOU can tune things just so. As to what those slider controls would be.. I haven't a clue beyond what I mentioned earlier.

Share this post


Link to post
Share on other sites

It is always awesome to see active development in this emulator! :)

 

If you had to guess...how many years/decades away is 'machine perfect' emulation of Atari 2600, just a random question? And is this even possible?

 

What if a 'supercomputer' was used? :P

 

I think pong has a machine cycle perfect emulation, correct? Takes a pretty powerful computer tho, I think.

Edited by kaz321123

Share this post


Link to post
Share on other sites

Here's where I read about Pong...and the "DICE" emulator

 

"Honestly, even with all of the issues listed above, we've only scratched the surface of accurate emulation. Take the case of DICE, the digital integrated circuit emulator. Here is an emulator that works at the transistor level for absolutely perfect recreation of the very first video games ever created. To run Pong at about 5-10fps, DICE requires a 3GHz processor. Yes, you read that right: no computer processor at this time that can run Pong at the circuit level at full speed. It's not that DICE is a slow program; indeed, it is very well optimized. It's that there is enormous overhead to simulating every last transitor propagation delay."

 

http://arstechnica.com/gaming/2011/08/09/accuracy-takes-power-one-mans-3ghz-quest-to-build-a-perfect-snes-emulator/3/

  • Like 1

Share this post


Link to post
Share on other sites

Stella (and many others) only use a portion of the available power. The entry level system of today has, what, 12GHz available? And we haven't even mentioned the GPU yet.. My concern is that we don't have enough interest in developing and evolving emulators to utilize such power. Most emulators today are a one-man job. Except Mess-n-Mame, but that's like a damned Linux committee!

Edited by Keatah

Share this post


Link to post
Share on other sites

I don't think stella needs improvement with lag issues. I think if we get the left-bias issue fixed that could improve things enough - because it makes moving in one direction slower than the other. I would like to dismiss it as a tracking problem, but it's too consistent.

It isn't really a bug. It's a feature, as this bias exists on real paddles too. ;)

 

A paddle game would discharge a capacitor at the start of the frame, and then measure how long it takes to recharge the capacitor through the potentiometer in the paddle by polling a certain memory location once every scanline. Due to the limiters in the paddle it provides about a 270 degree angle. When the paddle is turned all the way to the upper end of the potentiometer, it takes about 600 scanlines for the capacitor to recharge. As a result a game that measures the paddle during the 200 scanlines of the visible part of the frame (as most games do) would use about a 90 degree angle on the paddle, which is easy to control. But it also means that the dead zone on the lower end of the potentiometer is much smaller than on the higher end. Since Stella emulates the full range of the paddle, you are experiencing the bias problem when you use the mouse or the keyboard to emulate the paddle.

 

It would be possible to have user controlled limits for the upper and lower end of the paddle range in Stella, but it would have to be on a per game basis, as each paddle game uses a slightly different part of the paddle range. IIRC some games even use different ranges during different game variations.

 

And messing with a all the possible input combinations for the paddle emulation would probably be kind of pointless, as the reason why games are more difficult to control on the emulator and a LCD TV than they are on a CRT TV is probably the lag of at least one frame that is inherent to how the emulator and the LCD TV work. This is true for any kind of VCS controller. Stella needs to read the input on the PC before it can render a frame. And it can display a frame only after it has been fully rendered. So there is always a delay of at least one frmae between when you move the controller and when you see the result on the screen. On a real VCS connected to a CRT TV the controllers are read while the image is being displayed. A LCD TV would need to buffer at least one frame from the analog input, so that it's video processor could scale the image to it's native resolution. Therefore there is also a lag that makes controlling the game more difficult.

Share this post


Link to post
Share on other sites

It isn't really a bug. It's a feature, as this bias exists on real paddles too. ;)

I think we are talking about different biases.

 

Try any paddle game, center the cursor and then move the mouse slightly left and right multiple times. In the end the cursor will always be moved to the left. That's the left bias which should be fixed.

  • Like 1

Share this post


Link to post
Share on other sites

Now I see. The same thing seems to happen with your Missile Command trak-ball hacks and to a lesser extend in Indy 500 when using the mouse to emulate the driving controller. Is this Windows specific, or does it happen on Linux and MacOS too?

  • Like 1

Share this post


Link to post
Share on other sites

Could this be the problem? (Paddles.cxx)

myEvent.get(myAxisMouseMotion) >> 1

This truncates, maybe rounding would be better?
  • Like 1

Share this post


Link to post
Share on other sites

..It would be possible to have user controlled limits for the upper and lower end of the paddle range in Stella, but it would have to be on a per game basis, as each paddle game uses a slightly different part of the paddle range. IIRC some games even use different ranges during different game variations.

 

This would be a really nice feature I think. User-definable slider or something to eliminate the "dead zone" where turning the paddle results in no more onscreen movement from your guy.

 

I also agree it would need to be on a per-game basis.

  • Like 1

Share this post


Link to post
Share on other sites

Is there a way to speed up paddle games, such as Kaboom!, controlled by mouse (I'm actually using a spinner) in Stella?

*speed up movement of object controlled by mouse/spinner, so only takes a twist of the wrist to go from one side to the other.

 

 

t

Edited by thomas3120

Share this post


Link to post
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.

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