Re: [stella] Help (Timing problems?)

Subject: Re: [stella] Help (Timing problems?)
From: Erik Mooney <erik@xxxxxxxxxx>
Date: Thu, 02 Aug 2001 10:44:24 -0400
>On Mon, 2 Aug 1993 06:47:42 -0300, Nicolás Olhaberry <nolh@xxxxxxxxxxxxx>

You may want to fix your system clock there :)

>Since the subject of frame construction has been touched, I want to know
>really is important to follow the 3 VSYNC, 37 VBLANK, 192 DISPLAY, 30
>OVERSCAN programmers guide recomendations. At first I thought I would be
>important for a correct display to follow these guides, but a lot of games
>doesn´t do that.
>Here are a few examples, I´m always refering to NTSC versions:

As long as everything adds up to 262, you can do whatever you want.  Typically
between 200 and 220 of those lines will actually be visible on the TV screen,
depending on each particular TV.

>Alien: Doesn´t even use a whole line for VSYNC, just 22 cpu cycles, and 73
>lines for VBLANK (that seems way too much for NTSC, but the game uses less
>than 200 lines for display, so...).

No game should be able to use less than 3 lines of VSYNC.  Could you post the
relevant code?

>Superman: Uses 6 lines for VBLANK. And VBLANK is started 3 lines before
>VSYNC, and finished right after the end of VSYNC.

Also, don't confuse the VBLANK hardware register with the VBLANK time period.
(These could have been better named.)  The register means to disable all TIA
output.  It's usually turned on at the start of the overscan area.  The time period
is the scanlines between the end of VSYNC and the start of the game display.
Sounds like you're adding up the overscan and vertical blank periods to get that
73 for Alien and that bit of confusion for Superman.  Some games, including
possibly Superman (I haven't looked at the code), don't make use of the actual
VBLANK register, instead just zeroing everything themselves (the three playfield
registers, GRPx, ENAMx, ENABL, and COLUBK.)

Archives (includes files) at
Unsub & more at

Current Thread