DOSBox-X
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator
Public Member Functions
PC98_Mouse_8255 Class Reference

PC-98 System Bus Mouse PPI emulation (Intel 8255A device) More...

Inheritance diagram for PC98_Mouse_8255:
Intel8255

List of all members.

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 uint8_t inPortC (void) const
 Called by 8255 emulation to latch from port C pins.
virtual void outPortC (const uint8_t mask)
 Called by 8255 emulation when latching to port C pins.

Detailed Description

PC-98 System Bus Mouse PPI emulation (Intel 8255A device)

NEC PC-98 systems use a 8255 to interface a bus mouse to the system.

This PPI is connected to I/O ports 0x7FD9-0x7FDF odd.

Button state is read directly as 3 bits (left, right, middle).

Mouse movement is latched on command and read 4 bits (one nibble at a time) to obtain two signed 8-bit x and y mickey counts (to detect movement).

Mouse data is read from port A.

Interrupt inhibit, selection of the nibble, and the command to latch mouse movement is done by writing to port C.

According to some documentation found online, port B is attached to various unrelated signals and/or status.

The interrupt line is connected to IRQ 13 of the interrupt controller on PC-98 systems.

There is at least one PC-98 game "Metal Force" known to abuse this interface as a periodic interrupt source instead of using it as an interface for mouse input.

Definition at line 2098 of file keyboard.cpp.


The documentation for this class was generated from the following file: