Posted By
gerliczer on 2012-08-18 04:29:39
| Cursor blinking in plain character mode
Hi everyone,
Have any of you ever devised a technique to force the TED into a known blinking state? What I mean is that after executing some procedure the cursor will be surely either on or off. Not that I want to do anything that requires this. I'm interested in it on purely a technical level.
|
|
Posted By
MIK on 2012-08-18 04:40:08
| Re: Cursor blinking in plain character mode
Some, (not all games) that use Novaload leave a blinking cursor flashing in the top left hand corner once loaded which is nothing to do with the game but the loader.
If you could put a stop to this before loading the game it may come in useful? Or as long as a game does not require cursor on/off flashing.
As examples: Exorcist, Tazz
|
|
Posted By
crock on 2012-08-18 11:40:59
| Re: Cursor blinking in plain character mode
I don't think so. The hardware cursor is always blinking at a rate of approx 2hz, but it's only visible when when it's location is set from 0-999. I'm guessing the games that MIK mentions don't force the HW cursor out of sight when they initialise, hence it stays visible.
The TED register at $FF1F has a 4 bit counter which increments once a frame and the cursor changes state when this counter overflows. You can mess with the blink rate of the cursor by manipulating this register but I'm not aware of any way of knowing it's current state.
rob
|
|
Posted By
gerliczer on 2012-08-18 11:51:04
| Re: Cursor blinking in plain character mode
Hi crock,
These are the things that I knew, too. What I really would like to know if there is any kind of technique to _force_ the TED into a state where it is known if the blinking is in the on or off phase. Maybe there's some sequence of turning on and off the test bit or the TED stop bit and such that would surely set the blinking into e.g. off phase.
|
|
Posted By
TLC on 2012-08-18 12:42:41
| Re: Cursor blinking in plain character mode
The cursor counter is in the $ff1f register, AFAIR you can set the cursor's visibility by fiddling with that one. (This needs to be done in an irq routine, though, because the register is (otherwise) increased once each frames).
MIK, what you're describing is the Kernal's way of hiding the cursor (moving it beyond the screen area's limits), and some less than clever programs habit of initializing the I/O registers on the run, thus also zeroing the cursors position (which would then no longer be invisible).
|
|
Posted By
Csabo on 2012-08-18 12:54:10
| Re: Cursor blinking in plain character mode
That works, putting 0 into bits 3-6 of $FF1F in each frame makes the cursor go away. (But it does have to be done each frame.)
Normally we just put $FF into $FF0C/0D at the beginning of the program which takes care of it once and for all, but we have a routine where we opened the border, and oddly the TED then seems to "find" this position and we have a cursor (seems to find every value).
Well, for a demo/game it would probably be either graphics or at least multicolor mode, both of which means no cursor anyway.
Edit: on that note, could someone check and see on the real iron if this is stable and cursorless? http://www.filedropper.com/border_1
|
|
Posted By
Gaia on 2012-08-18 15:38:30
| Re: Cursor blinking in plain character mode
An FF1F=0 a frame keeps the cursor away... :E
sorry!!
|
|