Re: [stella] TIA video timing

Subject: Re: [stella] TIA video timing
From: Adam Wozniak <adam@xxxxxxxxxxxxxxxx>
Date: Thu, 10 Mar 2005 04:09:49 -0500
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thu, 10 Mar 2005, Chris Wilkson wrote:
> Errrrmmm...no.
> 
> sync should be 16 cycles wide, not 68.  blank should be 68 cycles wide.
> I don't remember the *exact* relative timing at the moment, but I think it's
> like this:
> 
> begin hblank (wait 16 cycles)
> begin hsync (wait 16 cycles)
> end hsync (wait 36 cycles)
> begin active video (wait 160 cycles)

This may be a better reference:
http://www.cuddlepuddle.org/~adam/fpga2600/TIA_HW_Notes.txt

It shows them setting hsync at 16 and clearing it at 32.
It shows them setting hblank at 224 and clearing it at 64.

> The /sync pin is hsync xnor vsync, like you have it below.
> The /blank pin is hblank nor vblank.
> Both pins are active low.

So now I'm thinking:

 -- posNOW is a 8 bit counter, that goes up from 0 to 227
 -- regVSYNC is bit 1 of TIA register address VSYNC
 -- regVBLANK(0) is bit 1 of TIA register address VBLANK
 -- sync is the sync output pin of the TIA (pin 2)
 -- nblk is the bl output pin of the TIA (pin 6)

 -- video sync output
process (posNOW)
begin
   if posNOW = "00010000" then        -- 00010000 == 16
      sync <= not ('1' xor regVSYNC);
   elsif posNOW = "00100000" then     -- 00100000 == 32
      sync <= not ('0' xor regVSYNC);
   end if;
end process;

 -- video blank output
process (regVBLANK)
begin
   if posNOW = "11100000" then        -- 11100000 == 224
      nblk <= not ('1' or regVBLANK(0));
   elsif posNOW = "01000000" then     -- 01000000 == 64
      nblk <= not ('0' or regVBLANK(0));
   end if;
end process;


Did I get the logic levels right?  Ack, I still don't feel
like I'm on solid ground here.

> Clever use of overflow to get weird counts like 68, btw.
> The counts above work well with this scheme...it's why they
> chose the numbers they did.  Cheap as possible!!!

Thanks. :)

- -- 
adam@xxxxxxxxxxxxxxxx        http://cuddlepuddle.org/~adam
KG6GZR                       http://cuddlepuddle.org/~adam/resume.html

"Feminist?  Why would I want to alienate half the population?  I'm an egalitarian."

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQFCL/1ryvXf5Z0z5zERAsVdAKCi8E7Rd0SwxuBRNEsj8vRufhZ+bACfZlQJ
9eKb/5uWiPzxqHoLqSolzxQ=
=aLvG
-----END PGP SIGNATURE-----


Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://stella.biglist.com

Current Thread