The current URL is datacrystal.tcrf.net.
Address Map (PC-8801): Difference between revisions
(Port 0x31 - PC-8001 Emulator) |
No edit summary |
||
(11 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
=== | {{subpage|game=PC-8801}} | ||
== Memory Map == | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
|Port | !Range | ||
|Name | !Name | ||
| | !Function | ||
|- | |||
|0x8000-0x800F | |||
|Interrupt Jump Pointer Table | |||
| | |||
0x8000-0x8001: / INT7 (RS-232C Ch1 in RS-232C BASIC) | |||
0x8002-0x8003: INT6 (vertical blank) | |||
0x8004-0x8005: INT5 (system clock) | |||
0x8006-0x8007: INT4 / INT3 (user defined) | |||
0x8008-0x8009: INT3 / INT4 (user defined) | |||
0x800A-0x800B: INT2 / INT5 general-purpose I / O port | |||
0x800C-0x800D: INT1 / INT1 (for floppy) | |||
0x800E-0x800F: INT0 / INT2 (for floppy) | |||
|- | |||
|0xFF39-0xFF3A | |||
|Memory Integrity Test Result | |||
|PC-8000 series machines have a program called "Monitor" which can test memory integrity. If the test fails, the results are reported here. | |||
0x0FF39-0x0FF3A: Address of the failure (Big Endian) | |||
0x0FF3B: data written at the moment of failure | |||
0x0FF3C: data read at the moment of failure | |||
|} | |||
== Port Writes == | |||
{| class="wikitable" | |||
|- | |||
!Port | |||
!Name | |||
!Function | |||
|- | |||
|0x10 | |||
|Tab key status | |||
|bit 1 set if tab key down; else clear | |||
|- | |||
|0xA | |||
|Printer data | |||
| | |||
|- | |- | ||
|0x30 | |0x30 | ||
Line 65: | Line 112: | ||
**GREEN ON if bit 3 set (mask 0x4) | **GREEN ON if bit 3 set (mask 0x4) | ||
|- | |- | ||
|0x55- | |0x55-0x5B | ||
|Palette Write | |Palette Write | ||
|Writes to the palette. The index written to is the difference between the port number and 0x54. | |Writes to the palette. The index written to is the difference between the port number and 0x54. | ||
Line 79: | Line 126: | ||
**GREEN ON if bit 3 set (mask 0x4) | **GREEN ON if bit 3 set (mask 0x4) | ||
|- | |- | ||
| | |0x5C-0x5F | ||
| | |||
| | | | ||
|- | |||
|0x5F | |||
|Bank Select | |||
|Map 0x8000-0xBFFF to a page in ROM | |||
|- | |||
|0xE8-0xE9 | |||
|Japanese Kanji ROM Address | |||
|0xE8 (low) | |||
0xE9 (high) | |||
|- | |||
|0xEA-0xEB | |||
|Chinese Kanji ROM Address | |||
|0xE8 (low) | |||
0xF4 (high) | |||
|- | |||
|0xF4-0xFB | |||
|Floppy Disk DMA (Direct Memory Access system) | |||
| | | | ||
8 inch disk | |||
*0xF4: control | |||
*0xF5: margin control | |||
*0xF6: controller status | |||
*0xF7: data | |||
5 inch disk | |||
*0xF8: control | |||
*0xF9: margin control | |||
*0xFA: controller status | |||
*0xFB: data | |||
|} | |} |
Latest revision as of 19:09, 28 January 2024
This is an incorrectly used {{subpage}} template.
Memory Map
Range | Name | Function |
---|---|---|
0x8000-0x800F | Interrupt Jump Pointer Table |
0x8000-0x8001: / INT7 (RS-232C Ch1 in RS-232C BASIC) 0x8002-0x8003: INT6 (vertical blank) 0x8004-0x8005: INT5 (system clock) 0x8006-0x8007: INT4 / INT3 (user defined) 0x8008-0x8009: INT3 / INT4 (user defined) 0x800A-0x800B: INT2 / INT5 general-purpose I / O port 0x800C-0x800D: INT1 / INT1 (for floppy) 0x800E-0x800F: INT0 / INT2 (for floppy) |
0xFF39-0xFF3A | Memory Integrity Test Result | PC-8000 series machines have a program called "Monitor" which can test memory integrity. If the test fails, the results are reported here.
0x0FF39-0x0FF3A: Address of the failure (Big Endian) 0x0FF3B: data written at the moment of failure 0x0FF3C: data read at the moment of failure |
Port Writes
Port | Name | Function |
---|---|---|
0x10 | Tab key status | bit 1 set if tab key down; else clear |
0xA | Printer data | |
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.
|
0x53 | ||
0x54 | Toggle Background/Foreground color components | Toggles background and foreground color components on and off
|
0x55-0x5B | Palette Write | Writes to the palette. The index written to is the difference between the port number and 0x54.
|
0x5C-0x5F | ||
0x5F | Bank Select | Map 0x8000-0xBFFF to a page in ROM |
0xE8-0xE9 | Japanese Kanji ROM Address | 0xE8 (low)
0xE9 (high) |
0xEA-0xEB | Chinese Kanji ROM Address | 0xE8 (low)
0xF4 (high) |
0xF4-0xFB | Floppy Disk DMA (Direct Memory Access system) |
8 inch disk
5 inch disk
|