Change blink rate?

The Oric video chip is not an easy beast to master, so any trick or method that allows to achieve nice visual results is welcome. Don't hesitate to comment (nicely) other people tricks and pictures :)
User avatar
ibisum
Wing Commander
Posts: 1810
Joined: Fri Apr 03, 2009 8:56 am
Location: Vienna, Austria
Contact:

Change blink rate?

Post 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?
User avatar
Dbug
Site Admin
Posts: 4814
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Change blink rate?

Post 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.
User avatar
Symoon
Archivist
Posts: 2470
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France

Re: Change blink rate?

Post 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?
User avatar
Dbug
Site Admin
Posts: 4814
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Change blink rate?

Post 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?
Post Reply