Back to PC-98 architecture main page
Certain external devices use 15MB-16MB address space like some ISA-bus devices. When such kind of devices are used, physical memory in this area shuld be disconnected. There are two implementation of BIOS menu for disconnecting the memory in 15-16MB area. The one is that only 15-16MB area is disconnected. The another is that all physical memory whose addres is higher than 15MB is disconnected. Most PC-98 machines use formar method, but some compatible machines by EPSON use later method. In later case, though the system has the memory at higher than 16M, system cannot use it. Even though BIOS menu supports only later method, hardware supports former one. Once the EPSON compatibles that have later method are detected, FresBSD(98) directly access their hadware to disconnect 15-16MB memory.
00000000 +--------------+ | | | conventional | | memory | | | | | | | 000a0000 +--------------+ | text V-RAM | 000a4000 +--------------+ | graphic | | V-RAM | | | 000c0000 +--------------+ | external | | device | 000e0000 +--------------+ |graphic V-RAM | 000e4000 +--------------+ | | | BIOS ROM | | | 00100000 +--------------+ | | | extended | | RAM | | | | | | | | | | | 00f00000 +--------------+ | external | | device (1) | 01000000 +--------------+ | | | | | |
outb(0x37, 0x0f); /* SHUT0 = 0 */ outb(0x37, 0x0b); /* SHUT1 = 0 */ outb(0xf0, 0x00); /* Activate RESET input of CPU */
The physical memoy with the range from 0x400 to 0x640 is used for this work area. Boot block of FreeBSD(98) copies the data in the BIOS work area into altanate video RAM, which start from 0xa2000. Copied BIOS work data is copied into pc98_system_parameter[0x240] by the locore.s.