Page 1 of 1
Change blink rate?
Posted: Thu Oct 17, 2024 8:47 pm
by ibisum
Is there some way to change the cursor blink rate? I know it can be read in the $274,$275 Cursor timer, but is there a way to make this counter faster?
Re: Change blink rate?
Posted: Fri Oct 18, 2024 5:25 pm
by Dbug
As far as I know, the 100hz IRQ executes a number of processes such as reading the keyboard, blinking the cursor, etc... but not at the same rate, so there's a bunch of 16 bit counters in page 2 that are decremented and when they reach zero the routine is called.
In this particular case the blinking cursor is set by the EEAB function with a parameter of 25 (called from EDED), which means every 25 IRQ it changes
status.
Code: Select all
#274/5 is set to 25 and is used as a counter for toggling the cursor.
EDED A9 01 LDA #$01
EDEF A0 19 LDY #$19
EDF1 20 AB EE JSR $EEAB
So other than patching the ROM or speeding up the IRQ (say to 200hz), I'm not sure it's possible to change the blinking rate.
Re: Change blink rate?
Posted: Fri Oct 18, 2024 7:11 pm
by Symoon
Setting $274 value at 1 at every IRQ could make the cursor blink very fast, no?
Above 1 would make it stop blinking I guess since it might never reach 0?
Re: Change blink rate?
Posted: Sat Oct 19, 2024 6:40 am
by Dbug
I guess that's a possibility: Had a hook to the IRQ handler to change the $274/275 value, if you decrement it each IRQ, that will probably make it blink twice as fast?