Keymap High Address Register: Difference between revisions
From SpecNext Wiki
Created page with "{{NextRegister |Number=40 |Readable=No |Writable=No }}" |
updated to 78a6ee50 |
||
| (8 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
{{NextRegister | {{NextRegister | ||
|Number= | |Number=$28 | ||
|Readable= | |Readable=Yes | ||
|Writable= | |Writable=Yes | ||
|ShortDesc=PS/2 Keymap address MSB, read (pending) first byte of palette colour | |||
}} | }} | ||
Write: | |||
bit 7 = 0 to select ps2 keymap, 1 to select key joystick | |||
bits 6:1 = Reserved, must be 0 | |||
bit 0 = MSB keymap address | |||
Read: | |||
bits 7:0 = Stored first-byte palette value from {{NextRegNo|$44}} | |||
This value does update right after writing first 8 bits of colour to NextReg $44, while the real palette entry is modified only after the second write (adding ninth bit and L2 priority bit) is done. So half-written value can't be read back through {{NextRegNo|$41}}, but can be read with this register (after writing second byte to $44, this register still reads the first byte value, but the change is also committed to the palette itself and visible by reading $41 + $44 registers). | |||
Latest revision as of 11:35, 3 November 2024
| Number | TBRegisterNumber::$28 |
|---|---|
| Readable | TBRegisterReadable::Yes |
| Writable | TBRegisterWritable::Yes |
| Short Description | ShortDesc::PS/2 Keymap address MSB, read (pending) first byte of palette colour |
Write:
bit 7 = 0 to select ps2 keymap, 1 to select key joystick bits 6:1 = Reserved, must be 0 bit 0 = MSB keymap address
Read:
bits 7:0 = Stored first-byte palette value from {{#ask:
TBRegisterNumber::$44 }} ($44)
This value does update right after writing first 8 bits of colour to NextReg $44, while the real palette entry is modified only after the second write (adding ninth bit and L2 priority bit) is done. So half-written value can't be read back through {{#ask: TBRegisterNumber::$41 }} ($41), but can be read with this register (after writing second byte to $44, this register still reads the first byte value, but the change is also committed to the palette itself and visible by reading $41 + $44 registers).