Change blink rate?
- ibisum
- Wing Commander
- Posts: 1807
- Joined: Fri Apr 03, 2009 8:56 am
- Location: Vienna, Austria
- Contact:
Change blink rate?
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?
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.
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.
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
Re: Change blink rate?
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?
Above 1 would make it stop blinking I guess since it might never reach 0?
Re: Change blink rate?
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?