[Coco] What do you make of this non-approved HSCREEN mode?
Torsten Dittel
Torsten at Dittel.info
Sun Jun 14 17:54:46 EDT 2009
Thanks. Meanwhile I had a look at Sock's page
(http://www.axess.com/twilight/sock/gime.html) and found that one:
FF94 (65428) Timer register MSB
Bits 7-4 Unused
Bits 3-0 TMRH Timer bits 8-11
FF95 (65429) Timer register LSB
Bits 7-0 TMRL Timer bits 0-7
The 12 bit timer can be loaded with any number from 0-4095. The timer
resets and restarts counting down as soon as a number is written to
FF94. Writing to FF95 does not restart the timer, but the value does
save. Reading from either register does not restart the timer. When the
timer reaches zero, it automatically restarts and triggers an interrupt
(if enabled). The timer also controls the rate of blinking text.
Storing a zero to both registers stops the timer from operating. Lastly,
the timer works slightly differently on both 1986 and 1987 versions of
the GIME. Neither can actually run a clock count of 1. That is, if you
store a 1 into the timer register, the 1986 GIME actually processes this
as a '3' and the 1987 GIME processes it as a '2'. All other values
stored are affected the same way : nnn+2 for 1986 GIME and nnn+1 for
1987 GIME.
and that one:
FF9D (65437) Vertical offset register MSB
Bits 7-0 Y15-Y8 MSB Start of video in RAM
(video location * 2048)
FF9E (65438) Vertical offset register LSB
Bits 7-0 Y7-Y0 LSB Start of video in RAM
(video location * 8)
Y15-Y0 is used to set the video mode to start in any memory location in
512K by steps of 8 bytes. On a 128K machine, the memory range is
$60000-$7FFFF. There is a bug in some versions of the GIME that causes
the computer to crash when you set odd numbered values in FF9E in some
resolutions, so it's safest to limit positioning to steps of 16 bytes.
Fortunately, you can use FF9F to make up for it and get steps as small
as 2 bytes.
More information about the Coco
mailing list