Jump to content
IGNORED

Amoeba Jump


Dionoid

Recommended Posts

This is what went wrong: Yesterday I asked a few local friends (who never played my game) to test Amoeba Jump on my Retron77. The feedback I got was that the controls were too fast.

This afternoon I asked them again to test my game, but this time on an actual Atari 2600, and now all of a sudden they liked the controls and were able to reach high scores. But it was exactly the same game!

 

So, I was clearly jumping to conclusions yesterday, and the original controls appear to be fine on actual hardware.

I think it's okay if it takes new players a few minutes to get used to the controls; because these long jumps are essential in reaching high scores.

 

Note to self: emulation is good, but actual hardware is better icon_biggrin.gif

Can you describe the difference between emulation and real hardware?

 

Theoretically joystick should act identical on real hardware and in emulation. If they do not, then we should fix it.

Link to comment
Share on other sites

Can you describe the difference between emulation and real hardware?

 

Theoretically joystick should act identical on real hardware and in emulation. If they do not, then we should fix it.

 

On the Retron77 it feels like the amoeba doesn't immediately respond to joystick movement, and also doesn't immediately stop when I stop moving the joystick.

Really hard to put my finger on it, but like Nathan is saying, it feels like there is a tiny lag there.

 

The good way to show the lag is to use Paul Slocum's Testcart, and then make a circular motion with your joystick. On real hardware you'll see the arrows moving in sync with the joystick movement. On the Retron77 I can notice a small lag there.

 

Hope this helps

 

[Edit: I found that "Adventure" is even better in showing the lag]

Edited by Dionoid
Link to comment
Share on other sites

I found that the game "Adventure" is an even better way to show the lag on the Retron77.

 

Just load the game on a real Atari and on the first screen move and hold your joystick left for half a second, and then move and hold right for half a second.

Keep doing this left-right movement for a minute, so your brain can get used to it.

 

Now move over to the Retron77 and do the same. You'll probably notice the lag now.

 

Btw I doubt if this is something that can be fixed in Stella. It's probably more of a driver/OS kernel/USB polling thing.

Edited by Dionoid
  • Like 1
Link to comment
Share on other sites

And also, does this happen on the R77 with a 2600-daptor too, or only with the built-in ports? Basically, we need to narrow down the possible causes before attempting any type of fix.

 

Hi Steve, unfortunately I don't have a 2600-daptor to test this myself.

 

I guess there will always be some lag because of the polling rate of USB devices (see this article)

Link to comment
Share on other sites

Sure, but it would still be useful to know if it's Stella or the R77. There are things we can try if we know which one is the contributing factor.

 

You're absolutely right. I was thinking about getting a 2600-daptor anyway, so maybe this is the right time.

I see in the specs of the 2600-daptor that it transmits at 1K Hz, which means it has minimal delay.

 

Is there anyone out there who owns a 2600-daptor and can check if the built-in ports on the Retron77 have a bit of lag compared to a joystick connected to the USB 2600-daptor?

Measuring the lag exactly is pretty hard and requires special hardware, but I found that playing around with the game 'Adventure' can provide a sense of a possible lag.

Edited by Dionoid
  • Like 1
Link to comment
Share on other sites

I found that the game "Adventure" is an even better way to show the lag on the Retron77.

 

Just load the game on a real Atari and on the first screen move and hold your joystick left for half a second, and then move and hold right for half a second.

Keep doing this left-right movement for a minute, so your brain can get used to it.

 

Now move over to the Retron77 and do the same. You'll probably notice the lag now.

 

Btw I doubt if this is something that can be fixed in Stella. It's probably more of a driver/OS kernel/USB polling thing.

 

I did tests on lag several years ago (sorry all the pics links are now broke) -

http://atariage.com/forums/topic/207281-stella-input-response-vs-real-measured/

 

There will be some lag introduced by USB, but a bigger lag can come from the video. I suspect any "modern" digital-based display is going to be buffering the frames before displaying. In an old analog CRT, the input signal goes to ray gun and displayed in real time.

 

Tom

http://2600-daptor.com/

Link to comment
Share on other sites

While the 2600-daptor tests are useful too, at this point I'd just like to know the difference (if any) between Stella on R77 and Stella on a normal PC. For the R77, use the included joystick. For the PC, use any (wired) controller you like. If the R77 is slower, then we know it's the console. If they're the same speed, then Stella is to blame.

 

Adding feedback for the 2600-daptor is fine for extra information, but that adds another variable and makes it harder to tell if it's the R77 or Stella.

Link to comment
Share on other sites

While the 2600-daptor tests are useful too, at this point I'd just like to know the difference (if any) between Stella on R77 and Stella on a normal PC. For the R77, use the included joystick. For the PC, use any (wired) controller you like. If the R77 is slower, then we know it's the console. If they're the same speed, then Stella is to blame.

 

Ideally - if you can connect the PC using HDMI to the same display as used for the RetroN 77, that would give the best comparison. Display lag can be a significant issue. We use these at work to test for it.

Link to comment
Share on other sites

Sure, but it would still be useful to know if it's Stella or the R77. There are things we can try if we know which one is the contributing factor.

I hope you find this out.

I tried Mappy on RetroN77 on the newest Stella.

The lag is so bad I completely miss the platforms I intend to jump onto!

This was with a USB keyboard arrow keys.

 

Sorry, this is just one observation, not a proper test.

Link to comment
Share on other sites

Does the Bodnar box display a number on the display that's been tested? I like how the Cnet review that mentions using the tester says that it's "dead simple," but doesn't bother to tell what the box does.

 

On the product page I linked to, there's a "How to use" tab:

 

How to Use

 

1. Plug an HDMI lead into the TV and Lag Test device. (HDMI to DVI cable may also be used.)

2. After selecting the correct input on the TV or screen (refer to manufacturer handbook) hold down the button and wait a moment for test screen to appear.

3. Place device on the screen so that the photosensor is facing over one of the three displayed reference marks.

4. Read measurement result from the screen.

 

Edit: I was thinking... it shouldn't be too hard (for someone moderately well-versed in electronics and programming) to build a similar device that plugs into a 2600. A cart would have a program that would send a signal to the screen, a photosensor attached to a DB9 connector would plug into a joystick port. You'd hold the sensor to the screen and the 2600 would detect the lag and display the results on the TV.

 

Unfortunately, for a RetroN 77, this still wouldn't tell you where the lag was coming from. But by comparing it to real hardware, you'd quantify how much lag you were getting. At least as far as video is concerned.

Edited by Nathan Strum
  • Like 2
Link to comment
Share on other sites

I'm guessing the SMS light phaser or the XE Light Gun would be useful for the Atari 2600 as they have both the button to trigger the action and also a light sensor to measure the lag timing! You might have to alter the pinout on the SMS light phaser if it doesn't match the 2600. I'm not sure how either would work on a modern flat screen as I know the NES zapper only works on CRTs.

 

I did a low tech version of lag measurement when first setting up for the show because I have to syncronize three video inputs (camera, webcam & videogame) and two audio inputs (videogame & microphone) in my broadcasting software. I filmed both myself pressing the button and the game screen reacting and analysing the result in a video editing program and adjusting accordingly. Unfortunately my method is only accurate to approximately 1/60 of a second (17ms).

 

 

Edit: I was thinking... it shouldn't be too hard (for someone moderately well-versed in electronics and programming) to build a similar device that plugs into a 2600. A cart would have a program that would send a signal to the screen, a photosensor attached to a DB9 connector would plug into a joystick port. You'd hold the sensor to the screen and the 2600 would detect the lag and display the results on the TV.

 

  • Like 1
Link to comment
Share on other sites

I hope you find this out.

I tried Mappy on RetroN77 on the newest Stella.

The lag is so bad I completely miss the platforms I intend to jump onto!

This was with a USB keyboard arrow keys.

 

Sorry, this is just one observation, not a proper test.

 

But how does it perform on Stella on a PC? Again, we need to narrow down the issue, so I need more than one test case.

Link to comment
Share on other sites

The good way to show the lag is to use Paul Slocum's Testcart, and then make a circular motion with your joystick. On real hardware you'll see the arrows moving in sync with the joystick movement. On the Retron77 I can notice a small lag there.

 

Btw I doubt if this is something that can be fixed in Stella. It's probably more of a driver/OS kernel/USB polling thing.

 

I hope you find this out.

I tried Mappy on RetroN77 on the newest Stella.

The lag is so bad I completely miss the platforms I intend to jump onto!

This was with a USB keyboard arrow keys.

 

Sorry, this is just one observation, not a proper test.

 

 

Would you mind repeating those tests with Stella running on a Laptop or PC attached via HDMI to the same TV set, and maybe even with different HDMI display? If you are connecting a computer, make sure that the display is driven at 60Hz (as opposed to 30Hz); this may depend on the resolution. Also, look for settings on your TV that put it in game mode and try those. Real hardware on a CRT displays instantly, but modern LCD TV sets do image postprocessing, and this usually introduces a few frames of lag. HDMI may behave differently to analog input, too. This doesn't show when watching a movie as audio is delayed accordingly, but it will manifest as a lag between controller input and gameplay when playing games.

 

Last year, I had been setting up 6502.ts and Stella on a large TV set for a christmas party, and the lag introduced by the TV was almost so bad that I had serious issues playing games. Conversely, I have constantly looked for lag on the R77 while porting Stella 6 and haven't found anything that I could notice. I am a lousy player at Mappy, but I suppose I would have noticed lag so bad that it affects gameplay.

 

The time resolution for input in Stella is one frame (input is read once per frame), and I am almost sure that this is much higher (in the direction of more lag) than any latency picked up in the Linux kernel (there aren't any other layers between the raw input and SDL2 / Stella on the R77). I would be very surprised if this turned out to be the problem (not that it were impossible ;) ).

Edited by DirtyHairy
  • Like 1
Link to comment
Share on other sites

Would you mind repeating those tests with Stella running on a Laptop or PC attached via HDMI to the same TV set, and maybe even with different HDMI display? If you are connecting a computer, make sure that the display is driven at 60Hz (as opposed to 30Hz); this may depend on the resolution. Also, look for settings on your TV that put it in game mode and try those. Real hardware on a CRT displays instantly, but modern LCD TV sets do image postprocessing, and this usually introduces a few frames of lag. HDMI may behave differently to analog input, too. This doesn't show when watching a movie as audio is delayed accordingly, but it will manifest as a lag between controller input and gameplay when playing games.

 

Last year, I had been setting up 6502.ts and Stella on a large TV set for a christmas party, and the lag introduced by the TV was almost so bad that I had serious issues playing games. Conversely, I have constantly looked for lag on the R77 while porting Stella 6 and haven't found anything that I could notice. I am a lousy player at Mappy, but I suppose I would have noticed lag so bad that it affects gameplay.

 

We ran into this with at least one person who bought Stay Frosty 2, and was trying to play it on a video projector. The lag was so bad, he couldn't complete the first level. (I suspect one of the store reviews which mentions something similar may have been due to lag as well.)

 

I'll do some testing this evening and report back what I find. I'll try to test on a few different monitors.

Edited by Nathan Strum
Link to comment
Share on other sites

The time resolution for input in Stella is one frame (input is read once per frame), and I am almost sure that this is much higher (in the direction of more lag) than any latency picked up in the Linux kernel (there aren't any other layers between the raw input and SDL2 / Stella on the R77). I would be very surprised if this turned out to be the problem (not that it were impossible icon_wink.gif ).

When per frame are we reading? I suppose it would be best right before the display kernel.

Link to comment
Share on other sites

Would you mind repeating those tests with Stella running on a Laptop or PC attached via HDMI to the same TV set, and maybe even with different HDMI display? If you are connecting a computer, make sure that the display is driven at 60Hz (as opposed to 30Hz); this may depend on the resolution. Also, look for settings on your TV that put it in game mode and try those. Real hardware on a CRT displays instantly, but modern LCD TV sets do image postprocessing, and this usually introduces a few frames of lag. HDMI may behave differently to analog input, too. This doesn't show when watching a movie as audio is delayed accordingly, but it will manifest as a lag between controller input and gameplay when playing games.

 

Okay... for those who want the short answer: the problem is with your TV.

 

For those who want the long answer, here we go!

 

Test laptop:

15" Retina MacBook Pro, Mid-2015
OSX 10.13.8
2.8 GHz Intel Core i7
16 GB RAM
AMD Radeon R9 M370X, 2GB VRAM
Stella 6.1 (pre-release build)

 

To test Stella on the laptop, I connected each display with an HDMI cable, and shut the laptop so it was only running the external display. I connected a keyboard and mouse to navigate Stella, and a 2600 joystick using a Stelladaptor to play the games (I tested both a CX-40 and the Hyperkin Trooper). For each display, I set the resolution to 1280x720 at 60fps to match the RetroN 77 as close as possible.
Test RetroN 77:
Uses the 6.1 beta 2 community build, as described in this thread.
I used the same HDMI cable and controllers that I used in each laptop test.
Test displays:
Panasonic BT-LH2550 (production monitor)
Wacom Cintiq Pro 24 (professional graphics monitor)
Dell U2104 (computer monitor)
Sony 48W600B (consumer HDTV)
LG 24LF454B (consumer HDTV)
Sony KDL-46XBR2 (consumer HDTV)
Lag test results (see this page for a breakdown of where these would rank):
Panasonic BT-LH2550 9.8ms
Wacom Cintiq Pro 24 10.9ms
Dell U2104 27.3ms
Sony 48W600B (Game Mode) 29.4ms
LG 24LF454B (Game Mode) 30.8ms
LG 24LF454B (Standard Mode) 31.2ms
Sony KDL-46XBR2 (Game Mode) 33.4ms
Sony KDL-46XBR2 (Standard Mode) 46.5ms
Notes:

The lag test results were taken using the middle bar measurement, and represent several tests with the lowest repeatable number listed here (best-case scenario).

The Panasonic is a high-end video production monitor, which is why its lag is so low.

Similarly, the Cintiq is a pen-based display for professional graphics work, so it has to have minimal lag as well.

The Dell monitor is about 10 years old.

The Sony 48W600B wouldn't return consistent lag test results in Standard Mode, so I only tested it in Game Mode. But at one point it was showing around 65ms. This was purchased in 2016.

The LG monitor was a $99 Best Buy special that I bought last year for my kitchen. It's about as cheap as they get.

The Sony KDL-46XBR2 is my main HDTV, and it's from 2007. My 2600 is plugged into its S-Video input, and I've never noticed any lag there. It seems its analog inputs aren't affected.

 

Test binaries:

As suggested by Dion, I used Test Cart to check the responsiveness of the joysticks and fire buttons.

I also tested the latest version of Amoeba Jump, and the final version of Scramble (lag will kill you flying through the Base).

Also tested (but not on all setups) were: Mappy, Stay Frosty 2, Galaga and Space Game.

 

Results:

In every case, there was no discernible difference between the responsiveness of the laptop running Stella and the RetroN 77 when tested on the same display. At times I would have to look over to see which one I had plugged in.

Lag was undetectable on the Panasonic and Wacom.

Nearly imperceptible lag was present on the displays ranging from 27.3ms to 30.8ms.

Negligible lag was present on the LG in Standard mode, and the Sony XBR2 in Game Mode. They were still perfectly playable.

Unacceptable lag was only present on the XBR2 when in Standard Mode. At that point, the controls felt sluggish and unresponsive, with some games becoming effectively unplayable. This is the mode my TV is usually in, since I have it set up for watching video, rather than gaming (and as mentioned before, lag isn't an issue on its analog inputs).

 

Conclusion:

I couldn't tell any difference between the performance of the RetroN 77 and Stella running on a laptop. On a fast enough display, there's no noticeable lag. It's all down to how sluggish your display is. The Stella team did an amazing job on the RetroN 77.

 

 

One last thing though... Stella on the laptop does a weird thing sometimes, where it will put a red background on screen, instead of a black one. It did this on every display I was testing with, and I have no explanation for it. I never saw this on the RetroN 77.

 

post-2641-0-33108500-1558604214_thumb.jpg

 

post-2641-0-95503300-1558604212_thumb.jpg

 

post-2641-0-48747800-1558604211_thumb.jpg

 

I blame Apple. ;)

  • Like 7
Link to comment
Share on other sites

Wow, that is some very thorough testing, Nathan!

 

Do you think that using a 2600-daptor helped to reduce the lag a little, and that there could be a difference in lag between the 2600-daptor and the default RS323 ports on the R77?

Edited by Dionoid
  • Like 1
Link to comment
Share on other sites

Thanks for the exhaustive testing!

 

One last thing though... Stella on the laptop does a weird thing sometimes, where it will put a red background on screen, instead of a black one. It did this on every display I was testing with, and I have no explanation for it. I never saw this on the RetroN 77.

 

 

I blame Apple. ;)

 

 

I remember seeing the same on my Macbook Pro (13" with an Intel IGP) about half a year ago when the video driver (in Stella / SDL2) was set to Metal. Now it just has a tendency to crash when I am switching between fullscreen an windowed :P I guess SDL2 on Metal is not quite ready for prime time.

Link to comment
Share on other sites

Wow, that is some very thorough testing, Nathan!

 

Do you think that using a 2600-daptor helped to reduce the lag a little, and that there could be a difference in lag between the 2600-daptor and the default RS323 ports on the R77?

 

In my testing, I don't think there was any difference between using the Stelladaptor on the laptop and the joystick ports on the RetroN 77. At least none that I could discern.

 

When I experienced any lag, I experienced it equally on both systems, and it was always in line with amount of lag seen using the HDMI lag tester.

 

I only used the Stelladaptor on the laptop. For the RetroN 77, the joysticks were always plugged in directly. In either case, the responsiveness felt identical between them across all tests. (I should note that I only tested joysticks - not paddles. I don't have the necessary cables to test a Stelladaptor on the RetroN 77.)

Edited by Nathan Strum
  • Like 2
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...