Subject: Re: vbl handler in grfabs_cc.c
To: Olaf Seibert <rhialto@mbfys.kun.nl>
From: Chris Hopps <chopps@emunix.emich.edu>
List: amiga-dev
Date: 03/15/1994 05:49:44
>
> francis@hasler.ascom.ch (Francis Demierre) wrote:
> > void
> > cc_mode_vbl_handler(d)
> > dmode_t *d;
> > {
> > u_short vp = ((custom.vposr & 0x0007) << 8) | ((custom.vhposr) >> 8);
> >
> > if (vp < 12) {
> > custom.cop1lc = PREP_DMA_MEM(h_this_data->frames[F_LONG]);
> > custom.copjmp1 = 0;
> > }
> > }
>
> Do I understand from this code that the vertical blank interrupt is
> used to strobe the copper to start the copperlist, and even to swap
> copperlists between even and odd fields in interlace mode?
>
> (if not, ignore the following)
>
> The last time Commodore did this was in Kickstart 1.1!!
Wrong. Its in 2.04-3.0+ check the dissassem. The use coplc2...
However this method is required with hedly hardware.
> I don't have the hardware manual here (it's at home) but I would swear
> that custom.copjmp1 is strobed automatically, by the hardware, at vbl
> time. And more importantly, the even frame copperlist can put the
> address of the odd frame copperlist in cop1lc, and vice versa. No need
> for interrupts to do this.
Yes and yes. I do both. (You really should check the source before
commenting :^)
> This improvement, first incorporated in KS 1.2 made the display much
> more stable in event of crashes and such.
Hmm I guess I don't understand what it has to do with crashes but I
don't/didn't plan on having the kernel crash too often.
> And, given the fact that the NTSC/PAL test up to 1.3 gave the wrong result
> at least 1/50 of the time, this may possibly explain the display glitches
> I sometimes get at the bottom of my screen - they are suspiciously
> near the NTSC/PAL or the line 511/line 512 demarcation.
Dunno about this. But its not becuase of the above. All copper list
in the kernel wait at *least* until vp > 12 so strobing before then is
not a problem and as you can see from above thats the only time I
strobe. Have I overlooked something?
> -Olaf.
Chris.
------------------------------------------------------------------------------