'***************************************************************************** '* '* Some details about the construction of the LCD of a Tandy Model 100: '* '* The display consists of 10 sections, called "drivers" throughout '* this code. Each "driver" is associated with a memory of 64 * 4 bytes, '* with pixels arranged in this way: '* '* offs +0 +1 +2 +3 +4 +5 +48 +49 '* base +---+---+---+---+---+---...+---+---+ '* 0 | 0 | 0 | | | | | | 0 | '* +---+---+---+---+---+--- +---+---+ '* | 1 | 1 | | | | | | 1 | '* +---+---+---+---+---+--- +---+---+ '* ... ... '* | 7 | 7 | | | | | | 7 | '* +===+===+===+===+===+=== +===+===+ '* 64 | 0 | 0 | | | | | | 0 | '* +---+---+---+---+---+--- +---+---+ '* | 1 | 1 | | | | | | 1 | '* +---+---+---+---+---+--- +---+---+ '* ... ... '* | 7 | 7 | | | | | | 7| '* +===+===+===+===+===+=== +===+===+ '* 128 | 0 | 0 | | | | | | 0 | '* +---+---+---+---+---+--- +---+---+ '* | 1 | 1 | | | | | | 1 | '* +---+---+---+---+---+--- +---+---+ '* ... ... '* | 7 | 7 | | | | | | 7| '* +===+===+===+===+===+=== +===+===+ '* 192 | 0 | 0 | | | | | | 0 | '* +---+---+---+---+---+--- +---+---+ '* | 1 | 1 | | | | | | 1 | '* +---+---+---+---+---+--- +---+---+ '* ... ... '* | 7 | 7 | | | | | | 7 | '* +===+===+===+===+===+===...+===+===+ '* '* NB: columns 50-63 have no dots on the display (but memory cells?) '* '* So each of the "drivers" is a 50x32 pixel panel, with 4 rows of '* 8 pixels height each. They are addressed at offsets 0, 64, 128, '* and 192 respectively; the colum (X coordinate) is the offset. '* Bit 0 of each LCD memory cell is the topmost pixel in a "driver" row. '* '* The layout of the 10 "drivers" across the entire display is this: '* '* X 0 - 49 50 - 99 100 - 149 150 - 199 200 - 249 '* Y +---------+---------+---------+---------+---------+ '* 0 | | | | | | '* | | drv0 | drv1 | drv2 | drv3 | drv4 | '* 31 | | | | | | '* +---------+---------+---------+---------+---------+ '* 32 | | | | | | '* | | drv5 | drv6 | drv7 | drv8 | drv9 | '* 63 | | | | | | '* +---------+---------+---------+---------+---------+ '* '* The ROM uses a 6x8 character generator, which gives a character '* cell resolution of 41 2/3 by 8 (colums * rows). It is really '* 40 x 8, (240 x 64 pixels), because the rightmost 10 pixels are '* not used at all (as far as I know). '*