[Coco] real-time mouse cursor
Darren A.
darccml at hotmail.com
Sun Jan 27 03:30:52 EST 2008
>>
>> I mostly use the following VSYNC subroutine in all of my screen updating
>> stuff.
>>
>> VSYNC TST $FF02
>> a@ TST $FF03
>> BPL a@
>> RTS
>>
>
> That's the way to use the PIA interrupt but as time is crucial, I'd
> suggest in-line code rather than a subroutine. That will remove the
> cycles needed to BSR or JSR and RTS.
>
--
When possible, I would also recommend avoiding the TST instruction in time-critical code. If either A or B do not need to be preserved, its faster to use an LD:
LDA $FF02
a@ LDA $FF03
BPL a@
And if X or U don't need to be preserved, you can save one more cycle within the loop at the expense of a one-time penalty of 3 cycles on entry:
LDU #$FF03
LDA -1,U
a@ LDA ,U
BPL a@
Darren
_________________________________________________________________
Shed those extra pounds with MSN and The Biggest Loser!
http://biggestloser.msn.com/
More information about the Coco
mailing list