PC-98 System 8255 PPI emulation (Intel 8255A device) More...
Public Member Functions | |
virtual uint8_t | inPortA (void) const |
Called by 8255 emulation to latch from port A pins. | |
virtual uint8_t | inPortB (void) const |
Called by 8255 emulation to latch from port B pins. | |
virtual void | outPortC (const uint8_t mask) |
Called by 8255 emulation when latching to port C pins. |
PC-98 System 8255 PPI emulation (Intel 8255A device)
NEC PC-98 systems use a 8255 to enable reading the DIP switches on the front (port A), some hardware state (Port B), and to control some hardware and signal the BIOS for shutdown/reset (Port C).
This PPI is connected to I/O ports 0x31-0x37 odd.
Note that on real hardware, PC-9801 systems had physical DIP switches until sometime around the early nineties when the DIP switches became virtual, and were set by the BIOS according to configuration stored elsewhere.
This PPI is connected to:
The two "shutdown" bit flags serve to instruct the BIOS on what to do after a soft CPU reset. One particular setting allows 286-class systems to reset to real mode through a FAR return stack, for the same reasons that IBM PC/AT systems enable reset to real mode through a reset byte written to RTC CMOS and a far pointer to jump to. A well known PC-9821 expanded memory emulator, VEMM486.EXE, relies on the shutdown bits in that manner when it initializes.
Definition at line 1789 of file keyboard.cpp.