|
Subject: Re: [stella] TIA video timing From: Chris Wilkson <ecwilkso@xxxxxxx> Date: Thu, 10 Mar 2005 17:19:56 -0500 |
On Thu, 10 Mar 2005, Adam Wozniak wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On Thu, 10 Mar 2005, Chris Wilkson wrote:
> > > -- 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;
> > >
> > > Did I get the logic levels right? Ack, I still don't feel
> > > like I'm on solid ground here.
> >
> > When regVSYNC is a one, you want the pin to be high during hsync
> > and low otherwise.
> > So you need to invert your counter logic:
> >
> > sync <= ('0' xor regVSYNC); -- turn on hsync
> > sync <= ('1' xor regVSYNC); -- turn off hsync
>
> isn't
> sync <= not ('1' xor regVSYNC);
> equivalent to
> sync <= ('0' xor regVSYNC); -- turn on hsync
> ?
Yep. Sorry...I misread your "xor" as a "xnor". My mistake.
> method one... when regVSYNC = 0, sync = 0
> when regVSYNC = 1, sync = 1
> method two... when regVSYNC = 0, sync = 0
> when regVYSNC = 1, sync = 1
>
>
> Well color me silly. Doesn't this then become...
>
>
> -- video sync output
> process (posNOW)
> begin
> if posNOW = "00010000" then -- 00010000 == 16
> sync <= regVSYNC;
> elsif posNOW = "00100000" then -- 00100000 == 32
> sync <= not regVSYNC;
> end if;
> end process;
Yes, I think it does.
-Chris
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://stella.biglist.com
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [stella] TIA video timing, Adam Wozniak | Thread | Re: [stella] TIA video timing, Adam Wozniak |
| Re: [stella] TIA video timing, Adam Wozniak | Date | Re: [stella] TIA video timing, Adam Wozniak |
| Month |