bit 0 W: CPU clock; 0 = 1.77 MHz, 1 = 3.54 MHz bit 1 W: BOOT ROM active; 0 = BOOT ROM not at 0000h-07FFh, 1 = BOOT ROM at 0000h-07FFh bit 2 W: BASIC active; 0 = BASIC active, 1 = BASIC inactive (RAM at 0000h-2FFFh) bit 3 W: MEMORYMAP; 0 = TRS-80 mode, 1 = CP/M mode bit 4 W: HALT operation; 0 = HALT* generates NMI*, 1 = HALT* stops CPU bit 5 W: Memory Mapped devices; 0 = Memory Mapped devices active, 1 = only RAM in memory bit 6 W: - bit 7 W: - bits & bit-patterns: bit 0 0 - 01 bit 1 0 - 02 bit 2 0 - 04 bit 3 0 - 08 bit 4 0 - 10 bit 5 0 - 20 bit 6 0 - 40 bit 7 0 - 80 bit: 1 2 3 5 patt. BOOT ROM BASIC ROM TRS-80 mode MMdevices 00 0 0 0 0 02 1 0 0 0 04 0 1 0 0 06 1 1 0 0 08 0 0 1 0 0A 1 0 1 0 0C 0 1 1 0 0E 1 1 1 0 20 0 0 0 1 22 1 0 0 1 24 0 1 0 1 26 1 1 0 1 28 0 0 1 1 2A 1 0 1 1 2C 0 1 1 1 2E 1 1 1 1 The table below shows the bit pattern to port FEh, and the first four bytes from 0000h, 0800h, 3000h, 3800h, being the Boot/BASIC area, BASIC area, 3000h and keyboard area: 00 0000: F3AFC374, 0800: 80F12276, 3000: F3C3EC30, 3800: 00000000; BASIC @ 0000-2FFF, BOOT @ 3000, I/O on 02 0000: F3C3EC30, 0800: F3C3EC30, 3000: F3C3EC30, 3800: 00000000; BOOT @ 0000-2FFF, BOOT @ 3000, I/O on 04 0000: 00FF00FF, 0800: 5700FF00, 3000: F3C3EC30, 3800: 00000000; RAM @ 0000-2FFF, BOOT @ 3000, I/O on 06 0000: F3C3EC30, 0800: F3C3EC30, 3000: F3C3EC30, 3800: 00000000; BOOT @ 0000-2FFF, BOOT @ 3000, I/O on 08 0000: F3AFC374, 0800: 80F12276, 3000: 00FF00FF, 3800: FF00FF00; BASIC @ 0000-2FFF, RAM @ 3000, RAM @ 3800 0A 0000: F3C3EC30, 0800: F3C3EC30, 3000: FFFF00FF, 3800: FF00FF00; BOOT @ 0000-2FFF, RAM @ 3000, RAM @ 3800 0C 0000: 00FF00FF, 0800: 5700FF00, 3000: 00FF00FF, 3800: FF00FF00; RAM @ 0000-2FFF, RAM @ 3000, RAM @ 3800 0E 0000: F3C3EC30, 0800: F3C3EC30, 3000: 00FF00FF, 3800: FFEBFF00; BOOT @ 0000-2FFF, RAM @ 3000, RAM @ 3800 20 0000: 00FF00FF, 0800: D700FF00, 3000: 00FF00FF, 3800: FF00FF00; RAM @ 0000-2FFF, RAM @ 3000, RAM @ 3800 22 0000: FFFF00FF, 0800: 5700FF00, 3000: 00FF00FF, 3800: FF00FF00; RAM @ 0000-2FFF, RAM @ 3000, RAM @ 3800 24 0000: 00FF00FF, 0800: 5700FF00, 3000: 00FF00FF, 3800: FF00FF00; RAM @ 0000-2FFF, RAM @ 3000, RAM @ 3800 26 0000: 00FF00FF, 0800: 5700FF00, 3000: 00FF00FF, 3800: FF00FF00; RAM @ 0000-2FFF, RAM @ 3000, RAM @ 3800 28 0000: 00FF00FF, 0800: 5700FF00, 3000: 00FF00FF, 3800: FF00FF00; RAM @ 0000-2FFF, RAM @ 3000, RAM @ 3800 2A 0000: 00FF00FF, 0800: 5700FF00, 3000: 00FF00FF, 3800: FF00FF00; RAM @ 0000-2FFF, RAM @ 3000, RAM @ 3800 2C 0000: 00FF00FF, 0800: 5700FF00, 3000: FFFF00FF, 3800: FF00FF00; RAM @ 0000-2FFF, RAM @ 3000, RAM @ 3800 2E 0000: 00FF00FF, 0800: 5700FF00, 3000: 00FF00FF, 3800: FF00FF00; RAM @ 0000-2FFF, RAM @ 3000, RAM @ 3800 00FF00FF are typical values for uninitialised dynamic RAM, byt the actual observed patterns vary with manufaturer and die organisation. In CP/M mode, the keyboard is located at F400h, and video memory at F800h. The latter is here 2 kByte in size for 80x25 character mode.