[Coco] Improving CoHR performance
Luis Antoniosi (CoCoDemus)
retrocanada76 at gmail.com
Sun Feb 1 01:15:48 EST 2015
Hi,
I made 2 small change that improved the CoHR performance a lot.
In the:
DoNormalChar
pshs y,a
* lbsr DoEraseCursor
clr V.51CursorOn,u * Flag cursor off
I replaced a DoEraseCursor to just erase the cursor flag. Question: if the
new character is being print OVER the current cursor position, why do we
care to proper remove the cursor before ?
And the second is after printing the character:
L01A5
ldd V.51XPos,u * Update old Cursor pos
std V.51OldCursorPosX,u
dec V.51CursorChanged,u
* lbsr DoDisplayCursor * Display cursor
I do not display the cursor. Why ? because the cursor is flashed by an
interrupt. It will eventually turn on and off in a regular time. So why
should I draw it now ? This improves the performance when printing a full
line, the cursor is updated by the interrupt and not every character.
I'm testing it and I'm very happy with the new lightning speed these two
changes offer.
What do you think guys ?
Luis Felipe Antoniosi
More information about the Coco
mailing list