Re: [stella] Reverse engineering the TIA (Was: Midified VCS...)

Subject: Re: [stella] Reverse engineering the TIA (Was: Midified VCS...)
From: "Roger Williams" <mer02@xxxxxxxxxxxxx>
Date: Thu, 6 Dec 2001 19:37:20 -0800
From: Oliver Achten <achten@xxxxxx>

> I intend to redesign it using 74xx IC's (don't laugh...) . Preferably
> F-Types.

It's tempting, but then I'm the guy who is seriously thinking of
writing a compiler, so what the hey.  To each his own windmill
to tilt at, and all that :-)

> Well, i looked at the counters, and they indeed consist of 6
> shift registers, driven by a two phase clock , using some kind of
> logic to decode various states.

I read in some background articles that this arrangement is called a
"polynomial counter" and allegedly has the advantage of much reduced
silicon over standard ripple counters.

>Fortunately, J. Miner wrote at the H-Sync
> counter, which number causes some kind of action (H-SYNC start, etc.) The
> counter is clocked 1/4 the clock of the master clock (3.58Mhz). Once I
> figured out in what order it counts, this counter could be replaced by a
> binary counter, since it really is not important in what order the H-Sync
> counter counts (as long as your supply logic decodes the same states...).
> Unfortunately, this is not valid for the player counters (because of the
> sideeffects).....

Actually I think your H-sync and player counters can be of any type as
long as they are of the _same_ type.  The alleged disadvantage of the
polynomial counter is that your output doesn't emerge in any sensible
order, which is why only a "reset" and no preset was provided.  (Given
what was later done with table lookups, this may have been a very
shortsighted move on Atari's part.)

> The bus logic and sync decoding are not really a problem to do in TTL. The
> Playfield registers are tricky. Could be replaced by latches and a
> chain, which is logically anded with the outputs of the latches.

There should be some prepackaged MSI shift registers that would work
here.  74165 or 74166 maybe?

> The H-Move counters... Any idea?

Any presettable counter wired to cut off its own clk input (along with that

fed to the "extra cycles" input of  the position register) at an appropriate

>Well... Lets go to the next sheet...  ;-)

Looks like you have your work cut out for you.  I doubt if you'll be
able to get it exactly compatible with a reasonable amount of effort
but you could probably get it close enough to work with most games.

--Roger Williams

Archives (includes files) at
Unsub & more at

Current Thread