LCD Registers: These are only briefly tested - the registers that are marked as no effect likely have some purpose, especially the ones that are set in the OF. For reference here is the initialization sequence that was found in the OF: register value 0x0F = 0x01 0x09 = 0x06 0x16 = 0xA6 0x1E = 0x49 0x1F = 0x26 0x0B = 0x2F 0x0C = 0x2B 0x19 = 0x5E 0x1A = 0x15 0x1B = 0x15 0x1D = 0x01 0x00 = 0x03 0x01 = 0x10 - Known, has an effect on horizontal offset 0x02 = 0x0A - Known, has an effect on vertical offset 0x06 = 0x04 - Known, sets the screen orientation 0x08 = 0x2E 0x24 = 0x12 0x25 = 0x3F 0x26 = 0x0B 0x27 = 0x00 0x28 = 0x00 0x29 = 0xF6 0x2A = 0x03 0x2B = 0x0A 0x04 = 0x01 - Known, enables the screen 0x00: Does not appear to do anything 0x01: Offsets the screen horizontally; does so with blackspace Values: 0x10: Screen is centered 0x05: Screen is offset furthest to right by 11 pixels (upper bound) >0xFF: Screen is offset to left by 240 pixels 0x02: Offsets the screen vertically; does so with some blackspace (vert sync?) Values: 0x0A: Screen is centered 0x02: Screen is offset furthest down by 8 pixels (upper bound) 0xFF: Shifted Up X Pixels 0x03: No effect 0x04: Power control/enable Values: 0x01: On 0x00: Off 0x05: Some Type of inverse/B&W - Top part of the screen is black w/ white text Bottom part of screen is all white and unreadable 0x06: sets the screen orientation: The default is to update right to left, top to bottom (0x00). The register value is defined as VALUE[7:0]. VALUE[0] does not appear to change the screen orientation. VALUE[1] updates bottom to top when '1', top to bottom when '0'. VALUE[2] updates left to right when '1', right to left when '0'. VALUE[3..7] do not appear to affect the orientation Bits 1 and 2 can be used in combination Unique Settings: 0x00: Mirrored Horizontal (right to left, top to bottom) 0x02: Upside down protrait (right to left, bottom to top) 0x04: Right side up portrait (left to right, top to bottom) 0x06: Upside down, mirrored Horizontal (right to left, top to bottom) 0x07: No effect 0x08: Some Effect on screen ?saturation? Noticible values are between 0x0 and 0x0F 0x09: Seems to halve the screen resolution w/ bit 0 (half if it == 1) 0x0A: No effect 0x0B: Contrast or Brightness, limits appear to be 0x3F to 0x00 0x0C: Some effect on the screen update, it starts showing lines when decreasing below 0x2B 0x0D: No effect 0x0E: No effect 0x0F: Kills the screen when new values are written 0x10: Also Kills the screen, but 0xFF and some values below recover it 0x11: Kills the screen, 0xFF and some below recover 0x12: No Effect 0x13: No Effect 0x14: No Effect 0x15: No Effect 0x16: No aparent effect (set in OF) 0x17: No Effect 0x18: No Effect 0x19: Seems to have a minor change in brighness on every other value 0x1A: No effect (set in OF) 0x1B: Some effect on brighness 0x1C: No Effect 0x1D: No Effect (set in OF) 0x1E: No Effect (set in OF) 0x1F: No Effect (set in OF) 0x20: No effect 0x21: Washes screen out b/w 0x00 and 0xDF 0x22: No Effect 0x23: No Effect 0x24: Seems to Effect the blue balance 0x25: Seems to effect the red balance ? 0x26: No Effect (set in OF) 0x27: Inverse Screen (0x10) - Not fully tested, but screen seems flaky 0x20 washes out the screen 0x30 inversed 0x40 normal 0x50 inversed 0x60 washed out 0x70 inversed 0x80 Normal 0x28: Not entirely sure - washes the screen out somewhere in 0xF0-0xFF range 0x29: Seems to inverse the screen improperly - there is a range between 0x0-0x3F 0x2A: No effect (set in OF) 0x2B: No effect (set in OF)