RE: AVG programming question...

From: Clay Cowgill <ClayC_at_diamondmm.com>
Date: Thu Apr 15 1999 - 15:50:26 EDT

> Prolly just a typo, but should you be branching back to set
> frame_done
> non-zero again before re-entering your wait loop?
>
> > lda #0x01
> > sta frame_done
> >zoom: dec 0x2002 ; zoom in the logo - decreasing the value of
> >that 0xFF in the display list above
> >wait: lda frame_done
> > bne wait
> > lda 0x2002
> > cmp #0x18
> > bne zoom
>
Oh, yeah, you're right. I was going to leave out the wait-loop but
added it to the e-mail at the last second 'cause I figured it was
integral to the problem... If you move the zoom: label up to the LDA
#0x01 it's right.

> This doesn't necessarily pertain to the problem at hand, but
> I'm curious
> none-the-less - does the Tempest hardware just generate screen
> refreshes at a
> constant rate, or do you need to set some flag (like frame_done) once
> you've got your
> vector list ready to be processed?
>
Well, the only things the vector generator really "knows" are VG Reset
(reset the VG PC to address 0x0000 in VR RAM) and VG GO (start executing
the display list). How you time it is up to you.

The Tempest self-test routine doesn't use an ISR and just hits the
"reset" and "go" with software timing. My menu is more like the "game
mode" of Tempest in that I have an ISR that's triggered by the hardware
at about 4ms intervals, and then every fourth time through it tells the
vector generator to draw the display list.

-Clay

>
Received on Thu Apr 15 14:50:53 1999

This archive was generated by hypermail 2.1.8 : Thu Jul 31 2003 - 23:00:45 EDT