>   Well, you could also change your set up of your ISRs (Interrupt
> Service Routine) with your line interrupts (r#19). First of all, disable
> the V_BLANK interrupt, so you are left with only the line interrupts
> from r#19.

But I still have to set VDP(18) back to its original value at line 212, so
that won't be of any use...


> Secondly, make s#2 (status register) standard (set r#15 to
> 2), so you can check very fast if the VDP commands are finished. Make
> sure, though, that you still read out s#0 to clear the IRQ signal.

I've already done that (this way, I also won't need to disable the
interrupts when testing the TR-flag before executing a VDP-command.

By the way, wasn't the screensplit-int-flag located in s#1???


> Preferably, at the *end* of each interrupt, so you have a quick response
> time to the IRQ. Especially if you also set the address to jump to for
> the ISR at the next line interrupt. So you ISR starts with
>
> ld hl,(ISR_vector)
> jp (hl)
>
> and ends with
>
> setreg 15,0
> inreg
> setreg 15,2
> setreg 19,line_x
> ld hl,ISR_x
> ld (ISR_vector),hl
> reti

Oh... yes!
I always test the statusregister, but this is also possible!!!
However, it will give trouble if there are other interrupts generated, like
interrupts of the MoonSound...


>   So, how does this help you? You can simulate the V_BLANK interrupt by
> setting r#19 to 212 after the line interrupt at line 160. The nice thing
> is that you can also change r#19 also to 230 or even to 240 and the
> interrupt is still granted! This gives you more time to complete your
> VDP commands.

Ah... so that gives me more time to copy between the two interrupts...
Great idea!!!


>   Or you can forget about the second line interrupt alltogether. Execute
> the large copies from line 160 onwards and change r#18 when you are sure
> (some of) the large copies are finished *and* that you are somewhere in
> the black border (the VDP is displaying lines 212 and beyond). This
> might requiring some timing, but it should also work.

Hmmm hmmm... I'll think 'bout that.

Hey! Thanks, this is great!


Maybe it's a good idea to compile some booklet filled with all kinds of tips
like this... I still have some in stock... I would really like to read such
a book... (Book, not webpage).


~Grauw



****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put
in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the
quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
****

Reply via email to