[Coco] real-time mouse cursor
operator at coco3.com
Sat Jan 26 03:30:58 EST 2008
It's also obvious that to eliminate cursor flicker it has to be drawn
on each screen refresh which is taking up a lot of CPU time. It's
probably a waste of time to pursue this further, but if I can move as
much code into the IRQ service routine and just use FIRQ to increment
the raster line counter, there might be a trick in that idea somehow.
If there was a way to trigger an interrupt at a certain raster line,
this would be solved, but still there's 19 sprite lines each of the
save, draw, and restore code. I'm doing these in sequence, btw,
first saving the entire cursor area, drawing it, then erasing it.
Maybe if I save/draw/restore each line instead of the entire cursor,
my timing will be more uniform to the raster beam and I can pad out
each line's cycles to 144, but the total cycles needed to draw the
cursor is still the killer.
I'm using what I think can be improved which is spaghetti code with
stack blasting, but if it helps to keep it like it is to help with
automatic padding to 144 cycles per scanline, then it should be ok like it is.
Padding my sprite code to 144 cycles x 19 lines, plus a little
overhead all happening 60 times a second... oh boy.
More information about the Coco