Memory maps and Interrupts [NEC PC98]
System Memory Map
Addresses |
Size |
Type |
Description |
0x000000 - 0x0003FF |
1KB |
Main RAM |
IVT (Interrupt Vector Table) |
0x000400 - 0x0005FF |
512B |
Main RAM |
BDA (BIOS Data Area) |
0x000600 - 0x07FFFF |
510KB |
Main RAM |
Conventional Memory |
0x080000 - 0x09FFFF |
128KB |
Main RAM |
Conventional Memory or External bus |
0x0A0000 - 0x0A3FFF |
16KB |
Sub RAM |
Video RAM for text |
0x0A4000 - 0x0A4FFF |
4KB |
Sub RAM |
CG (Character Generator) Window |
0x0A5000 - 0x0A7FFF |
12KB |
(reserved) |
Reserved Area |
0x0A8000 - 0x0BFFFF |
96KB |
Sub RAM |
Video RAM for graphics (Plane 0, 1, 2) |
0x0C0000 - 0x0C3FFF |
16KB |
ROM(reserved) |
Reserved Area for User's ROM |
0x0C4000 - 0x0DFFFF |
112KB |
ROM(reserved) |
Reserved Area for System ROM |
0x0E0000 - 0x0E7FFF |
32KB |
Sub RAM |
Video RAM for graphics (Plane 3) |
0x0E8000 - 0x0FFFFF |
96KB |
ROM |
System ROM |
0x100000 - 0xEFFFFF |
14MB |
Main RAM |
Protected Memory |
0xF00000 - 0xF9FFFF |
640KB |
(reserved) |
Reserved Area |
0xFA0000 - 0xFFFFFF |
384KB |
- |
Mirror of 0x0A0000 - 0x0FFFFF |
0x1000000 - ? |
- |
Main RAM |
Protected Memory (Depends on models) |
0xFFF00000 - 0xFFFFFFFF |
1MB |
- |
Mirror of 0xF00000 - 0xFFFFFF (Depends on models) |
Default memory addreses used by expansion boards
Addresses |
Size |
Expansion board |
0xC4000 - 0xC5FFF |
8KB |
BRANCH4680(PC-98XL2-04) |
0xC8000 - 0xC9FFF |
8KB |
BRANCH4680(PC-9867) |
0xCA000 - 0xCBFFF |
8KB |
Communication adapter(PC-9866,PC-9801-59) |
0xCC000 - 0xCDFFF |
8KB |
Sound(PC-9801-26) |
0xD0000 - 0xD3FFF |
16KB |
RS-232C(PC-9861), BRANCH4670(PC-9864) |
0xD2000 - 0xD3FFF |
8KB |
BRANCH4680(PC-9801-83), R8100(PC-9801-88) |
0xD4000 - 0xD5FFF |
8KB |
GP-IB(PC-9801-29) |
0xD6000 - 0xD6FFF |
4KB |
640KB FD I/F(PC-9801-08,-09) |
0xD7000 - 0xD7FFF |
4KB |
1MB FD I/F(PC-9801-15), SASI HD I/F(PC-9801-27) |
0xD8000 - 0xDBFFF |
16KB |
IDE HD I/F, RAM drive |
0xDC000 - 0xDCFFF |
4KB |
SCSI I/F(PC-9801-55,-92) |
0xDC000 - 0xDDFFF |
8KB |
SCSI I/F(PC-9801-50) |
System Interrupts
Device |
IRQ number |
Used by |
8259A
Master |
0 |
System timer |
1 |
Keyboard |
2 |
CRTV (V Sync) |
3 |
Expansion bus (INT0) |
4 |
RS-232C |
5 |
Expansion bus (INT1) |
6 |
Expansion bus (INT2) |
7 |
Slave (IRQ8-IRQ15) |
8259A
Slave |
8 |
Printer (V30) / Numeric data processor (80286) |
9 |
Expansion bus (INT3) |
10 |
Expansion bus (INT41) |
11 |
Expansion bus (INT42) |
12 |
Expansion bus (INT5) |
13 |
Expansion bus (INT6) |
14 |
Numeric data processor (V30) / Unused (80286) |
15 |
(System timer) |
Interrupt used by expansion boards
Green rows are used by default in most systems.
Expansion board |
INT0 |
INT1 |
INT2 |
INT3 |
INT41 |
INT42 |
INT5 |
INT6 |
Facsimile (PC-9801-37) |
v |
o |
o |
|
|
|
o |
|
RS-232C 2ch (PC-9861) |
v |
o |
o |
o |
|
|
|
|
Communication adapter (PC-9862) |
v |
|
|
|
o |
o |
o |
o |
Network I/F (PC-9864) |
v |
|
|
|
o |
o |
o |
o |
Touch tablet (PC-9873) |
v |
o |
|
|
|
|
o |
o |
R8100 I/F (PC-9801-88) |
o |
v |
o |
o |
o |
o |
o |
o |
CMT (PC-9801-13) |
|
v |
|
|
|
|
|
|
ImPP (PC-98XL-02) |
o |
v |
|
|
|
|
o |
|
B4680 I/F (PC-9801-83) |
o |
v |
o |
o |
o |
o |
o |
o |
ODA I/F (PC-9801-05) |
|
|
v |
|
|
|
|
|
CGMT I/F (PC-9801-36) |
o |
|
v |
|
|
|
o |
|
SASI I/F (PC-9801-27) |
|
|
|
v |
|
|
|
|
SCSI I/F (PC-9801-50,-55) |
|
|
|
v |
|
|
|
|
Fast network adapter (PC-9801-59) |
o |
|
|
|
v |
v |
o |
o |
640KB FD I/F (PC-9801-09) |
|
|
|
|
v |
|
|
|
1MB FD I/F (PC-9801-15) |
|
|
|
|
|
v |
|
|
Sound (PC-9801-26) |
o |
|
|
|
o |
o |
v |
o |
GP-IB (PC-9801-29) |
o |
|
|
|
o |
o |
v |
o |
RS-232C 3ch (PC-9861) |
o |
|
|
|
o |
o |
v |
o |
B4680 I/F (PC-98XL2-04) |
o |
|
|
|
o |
o |
v |
o |
B4680 I/F (PC-9867) |
o |
|
|
|
o |
o |
v |
o |
Sound (PC-9801-14) |
o |
|
|
|
o |
o |
o |
v |
68000 (PC-9801-16) |
|
|
|
|
|
|
|
v |
Mouse I/F (PC-9871) |
o |
o |
o |
o |
o |
o |
o |
v |
PC-UX board (PS98-144-***) |
o |
|
|
|
o |
o |
o |
v |
Default Interrupt Vectors
Interrupt # |
Used by |
00h |
Divided by zero |
01h |
Single Step |
02h |
NMI |
03h |
INT3 |
04h |
Overflow |
05h |
COPY key |
06h |
STOP key |
07h |
Interval Timer |
08h |
Timer |
09h |
Keyboard |
0Ah |
CRTV (V-Sync) |
0Bh |
Expansion Bus INT0 |
0Ch |
RS-232C Ch.0 |
0Dh |
Expansion Bus INT1 |
0Eh |
Expansion Bus INT2 |
0Fh |
Reserved for system |
10h |
Printer / FPU (*) |
11h |
Expansion Bus INT3 |
12h |
Expansion Bus INT41 |
13h |
Expansion Bus INT42 |
14h |
Expansion Bus INT5 |
15h |
Expansion Bus INT6 |
16h |
FPU / Printer (*) |
17h |
Reserved for system |
18h |
KB / CRT BIOS |
19h |
RS-232C BIOS |
1Ah |
Printer BIOS |
1Bh |
Disk BIOS |
1Ch |
Calendar BIOS |
1Dh |
Reserved for system |
1Eh |
Built-in BASIC |
1Fh |
Reserved for system |
20 - 3Fh |
Reserved for system |
40 - 7Fh |
For users |
* The former is for 8086 and V30 proccesors. The latter is for 80286, 386, 486 and Pentium processors.