[Coco] Improving CoHR performance

Gene Heskett gheskett at wdtv.com
Sun Feb 1 01:54:01 EST 2015


On Sunday 01 February 2015 01:15:48 Luis Antoniosi (CoCoDemus) did opine
And Gene did reply:
> 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 ?

If there are no artifacts left behind when the cursor is moved up, down, 
or backspaced, eg not the normal fwd motion, then I believe it would be a 
quite worthwhile patch.  I have not used the co51 screen in a good long 2 
decades, since I bought the first CoCo3.  It was not particularly speedy 
then and if this gives an obvious speed improvement, I am for it.

Looking at the present .asm file, there may be other places where a 
similar attitude could be applied, but probably nothing that makes an 
obvious difference unless you are counting clock cycles in which case 195 
beats 200 even if you can't see the difference.  So I'd say gopher it. 
> 
> 
> Luis Felipe Antoniosi


Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>
US V Castleman, SCOTUS, Mar 2014 is grounds for Impeaching SCOTUS


More information about the Coco mailing list