Re: [stella] Overscan

Subject: Re: [stella] Overscan
From: Mark De Smet <de-smet@xxxxxxxxxxxxxxx>
Date: Wed, 21 Jun 2000 19:28:29 -0500 (CDT)
> >The 128 bytes of memory is in the PIA.  The PIA contains the 128 byes of
> >memory, the timer, 2  8-bit input/output ports(all configureable in/out,
> >but the 2600 circuit board requires some to be input to prevent
> >contention), and interrupt logic.(which is not used)
> So the PIA stores the TIA hardware registers as well as the 128 bytes of 
> regular RAM?

No, the TIA registers are in the TIA.  Anything in the read/write address
summary in the back of the stella manual is in the TIA.(and are the TIA
hardware registers)  (BTW, I would stay away from 'stores', and instead
use 'has in it', or 'contains') Note as well that not all of these
addresses have actual memory elements(such as WSYNC), and some have only a
few bits of memory elements(such as REFP0).

> Physical location of components may not be important for programmers, but 
> this is important for me in order to present proper visual diagrams...


> >I figured out the entire memory map a while ago, and could do it all up
> >again if you need it.  There are several 'images' of things in the 2600
> Is this in the archives?

No, only did it on scratch paper(that I've lost) when figuring out some
stuff.  Chris has offered to to the full thing :-)

> >I'm fuzzy on this, but I think that the overscan does just that, keep
> >going right(if looked at from the front).  Then it turns around, and goes
> >left.  The stella manual doesn't mention this(or the hsync, color
> >burst) because it is not needed for programming, and it may unessecarily
> >confuse a programmer with little hardware background.
> But I'd like to show a scanline draw the image visually.  I can pause the 
> animation to indicate various milestones (like WSYNC) and then continue the 
> beam if it is still being drawn just to show people what happens at each point.

Ic.  I don't know how the electronics in a TV do things exactly, so I may
not be able to give you exactly what you want.  The NTSC signal(generated
by the TIA) is in this order: Horizontal blank(containing overscan, sync,
burst; in that order) then video.  To see it, look at: 
To graphically show it, I would show it move across the video,(pause to
comment on end of WSYNC) go a little past(pause to comment on overscan),
have it turn around and go back(on the way somewhere, comment on sync,
then a little farther comment on burst), then when it reaches the left,
turn around right away and start video again.  Hope that helps.  I got my
knowledge of NTSC from:

Note, at the end of the visual part of the scan line, is the _end_ of the
WSYNC, don't say that that is when it happens, because that is not
technically correct.  The WSYNC pauses the processor, so it is actually
executed whenever the instruction is(somewhere in the line), then at the
end of the visual part, the processor is release from pause(by the TIA),
and the WSYNC ends.

> >I don't think the beam starts to retrace at 76.  That is where the TIA
> >lets the processor out of halt(end of WSYNC).  I don't know if the
> >backgroud color is drawn past this point, but if it is I would be
> >surprised because it would make sense for the hardware to start the hblank
> >at that time.  Remember that the blank includes the overscan, sync, and
> >burst...
> Well, from my video background, I do know that overscan (from my conception 
> of the word) indicates active picture which may or may not fall underneath 
> the monitor cowl from TV to TV.  Beyond a certain maximum point it HAS to 
> go retrace, though, which is almost assuredly beyond the visible portion on 
> ALL TVs, but that is NOT at TIA pixel 160.

I agree.

> As has been previously discussed, on most TVs you can safely expand the 
> 2600's vertical resolution a little taller on the top and bottom without 
> screwing up the NTSC signal.  NTSC is 525 lines, of which I believe 482 can 

Expanded beyond the recommended 192.  I think you can attempt to display
stuff all the time(not turn on vblank), but not sure.  I think all that
vblank does is force that vertical letterbox.

I had wondered about that.  NTSC is 525 lines, which means 1 frame of 262,
and one frame of _263_.(because of interlacing) I wonder why the atari
manual doesn't recommend doing every other frame with 262 and 263 lines...


Archives (includes files) at
Unsub & more at

Current Thread