[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