|
Post by bjonte on Oct 1, 2023 13:51:38 GMT
Is there a system friendly way of turning on and off the cursor on the VDC screen? I found out how to do that by calling straight into the screen editor ROM, but I’d rather not do that if I can avoid it.
|
|
|
Post by c128old on Oct 1, 2023 17:53:48 GMT
Not that I am aware of, but I do think you can do it in a system-friendly/cooperative way:
You can use CTRL-O, chr$(15), to enable cursor blink and chr$(143) to disable blinking. However that is not "OFF", it just means the cursor is static on and treated a such by the screen-editor and IO routines.
Be aware of the following: the screen editor will enable/disable the cursor regularly (you do not see a blinking thing moving around the screen when you are printing from BASIC, for instance). Also, the cursor gets enabled when INPUT waits for keys.
This means the C128 must keep the 'blink state' (on or off) for the cursor VDC register. If the whole register were handled ('shadow register' like for VIC) then a change to that shadow-register would allow to choose the VDC cursor register as used by C128. Try poking into 2603, because according to 'Mapping the C128':
"2603 $0A2B CURMOD VDC cursor mode This location is a shadow for VDC internal register 10/SOA. See the entry for that register in Chapter 8 for details. The value here is copied into the register every time the screen editor routines are used to print a character to the 80-column screen."
|
|