Address Map (PC-8801)

From Data Crystal
Revision as of 09:37, 7 March 2016 by Zonk47 (talk | contribs) (Port 0x31 - PC-8001 Emulator)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Port Writes

Port Name Function
0x30
0x31 PC-8001 Emulator

Bit8 - background color

Bit7 - background color

Bit6 - background color

Bit5 - Resolution: 320 × 200 if set, else 640 × 200

Bit4 - Screen drawing: draw if set, else do not draw

Bit3 - Color: monochrome if set, else indexed color

Bit2 - Memory mapping: map 0x7FFF to RAM if set, else ROM

Bit1 - Expansion ROM select: map 0x6000-07FFF ROM to N80/N-BASIC if set, else to extended ROM. Set by default.

0x34
0x35
0x52 Background Color Sets the background color of the screen. The color is an RGB composite.
  • BLUE ON if bit 3 (mask 0x8) set
  • GREEN ON if bit 4 (mask 0x10) set
  • RED ON if bit 5 (mask 0x20) set
0x53
0x54 Toggle Background/Foreground color components Toggles background and foreground color components on and off
  • if 8-color mode
    • if bit 8 (mask 0x80) set, target is background color, else foreground
    • if bit 7 (mask 0x40) toggle green component
      • GREEN ON if bits 1,2,3 (0x7) set, else OFF
    • else toggle red and/or blue
      • BLUE ON if bit 1,2,3 set, else OFF
      • RED ON if value written / 8 sets bits 1,2,3, else OFF
  • else if monochrome mode, set foreground color
    • BLUE ON if bit 1 set (mask 0x1)
    • RED ON if bit 2 set (mask 0x2)
    • GREEN ON if bit 3 set (mask 0x4)
0x55-0x5b Palette Write Writes to the palette. The index written to is the difference between the port number and 0x54.
  • if port 0x31 bit 6 (0x20) set
    • if bit 7 (mask 0x40) toggle green component
      • GREEN ON if bits 1,2,3 (0x7) set, else OFF
    • else toggle red and/or blue
      • BLUE ON if bit 1,2,3 set, else OFF
      • RED ON if value written / 8 sets bits 1,2,3, else OFF
  • else
    • BLUE ON if bit 1 set (mask 0x1)
    • RED ON if bit 2 set (mask 0x2)
    • GREEN ON if bit 3 set (mask 0x4)
0x5c-0x5f