Subject: Re: [stella] VBLANK or VSYNC first? From: Chris Wilkson <ecwilkso@xxxxxxx> Date: Mon, 22 Oct 2001 11:30:35 -0400 (EDT) |
On Tue, 23 Oct 2001, ben wrote: > The stella docs say that there should be 3 lines of VSYNC, followed by > VBLANK for 37 lines. But it seems combat sets the VBLANK first, then WSYNC > for 3 lines, then VSYNC start, then 3 lines then VSYNC stop. Which seems > to me like VBLANK is used to 'skip' a frame and get back to the start ready > for an RSYNC? I think you may be confusing RSYNC with VSYNC. The *ONLY* thing RSYNC does is reset the horizontal counters. That's it. The above is correct. VBLANK just blanks the video output. The sync line is still active. VBLANK is a lazy way to get a black screen. In this case, they are using VBLANK to create the 3 lines of equalization pulses before VSYNC. Then they do 3 lines of VSYNC. You don't mention when they turn off VBLANK, and I don't have the code in front of me. But it's perfectly acceptable to do the following: turn on VBLANK turn on VSYNC turn off SYNC turn off VBLANK > If not, what is the purpose of writing to VBLANK start? What actually is > used to allow the programmer to set the real start of the frame (ie > scanline 0, position 0), VBLANK or VSYNC, or both? It is clear WSYNC is to > wait for the start of the scanline, but can anyone clear up the frame > start/stop easily for me please? The start of the frame is set by when you turn off VSYNC. VBLANK can come at any time...it has no effect whatsoever on timing. You can change VSYNC at any time too, for that matter. That's why you must wait for WSYNC (or count cycles) to toggle VSYNC. It has no knowledge of the horizontal counter. Internally, VSYNC is just XORed with the regular sync signal that is generated by the horizontal counters. > In my emulator, I have managed to RSYNC to the start of the frame, WSYNC to > start of scanline, and sure enough, 3 scanlines later rsync was stopped, > but VBLANK was not following the rules :) Again...do you mean RSYNC, or VSYNC? For (most) intents and purposes, you can entirely ignore RSYNC when programming. The only reason I can think of to mess with that, is if you're trying to create a non-standard video signal. Does anyone know of a released game that frobs RSYNC? I'd be interested... Oh! Does "GI Joe" do this with the giant cobra? Hmmm...yeah, that would seem plausible. Any others? > PS: I have read the archives, but could not get an exact answer from an > emulation view, so please excuse me if this has been asked alot :) Heehee...I think Manuel and Thomas have scared people into submission. :) -Chris - Archives (includes files) at http://www.biglist.com/lists/stella/archives/ Unsub & more at http://www.biglist.com/lists/stella/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[stella] VBLANK or VSYNC first?, ben | Thread | Re: [stella] VBLANK or VSYNC first?, ben |
Re: [stella] Polar to Cartesian Co-, Thomas Jentzsch | Date | [stella] Silly game idea, B. Watson |
Month |