Re: TileSet internal data
Posted: Sun Jan 22, 2023 6:09 pm
The HV counters are at 0xC00008.
5.) HV Counter
The HV counter returns the vertical and horizontal position of the television's raster beam.
Reading the HV counter will return the following data:
VC7 VC6 VC5 VC4 VC3 VC2 VC1 VC0 (D15-D08)
HC8 HC7 HC6 HC5 HC4 HC3 HC2 HC1 (D07-D00)
VCx = Vertical position in lines.
HCx = Horizontal position in pixels.
According to the manual, VC0 is replaced with VC8 when in interlace mode 2.
For 8-bit reads, the even byte (e.g. C00008h) returns the V counter, and the odd byte (e.g. C00009h)
returns the H counter.
The V counter counts up from 00h to EAh, then it jumps back to E5h and continues counting up to
FFh. This allows it to cover the entire 262 line display.
The H counter counts up from 00h to E9h, then it jumps back to 93h and continues counting up to
FFh. This allows it to cover an entire 342 pixel line.
The H counter description is based upon known information about the SMS VDP's H counter. The
SMS has a 256x192 display, and each line consists of 342 pixels. (that includes blanking, retrace, etc.)
The description *could* be accurate for the Genesis' 32-cell display mode. This is not the case for the
40-cell display, where I would assume the H counter jumps back farther at a later point in the count-up.