Jump to content

SpiceWare's Blog - Jitter 3, Recovery Time


Recommended Posts

Last time around I added jitter emulation to Stella, which became part of the official build with version 4.6.5. The jitter emulation basically moves the screen up/down in response to inconsistent scanline counts, similar to that which occurs on a real TV. I added it because people without an Atari would often write games with variable scanline counts, but not realize it until others play-tested the game on real hardware.

One thing it didn't emulate was a recovery time - if the difference in scanline counts is large a real TV will take multiple frames to recover. Instead, the original implementation would recover in just a single frame - blink and you might miss it.

Added a variable for recovery time:



Added a constant for the threshold for triggering recovery time. I went with 5, but it can easily be changed.

void TIA::initialize(){...  myNextFrameJitter = myCurrentFrameJitter = myJitterRecovery = 0;...}

Update the jitter logic to use the new variable and constant:


Jitter ROM:

Jitter Source:




If this looks good to y'all I'll submit the changes to stephena.

Attached thumbnail(s)
  • blogentry-3056-0-16380200-1454164533_thu
  • blogentry-3056-0-73225800-1454164541_thu
  • blogentry-3056-0-20429900-1454164549_thu
Attached File(s)

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...