User Tools

Site Tools


jdm:pc9801:int18h

NEC PC-9801 - INT 18h

AH = 00h - Get Keystroke

Input:

  • AH = 00h

Output:

  • AX = keystroke

The keystroke is removed from the input buffer.

TODO: Blocks until a keystroke is received?

AH = 01h - Check Keystroke

Input:

  • AH = 01h

Output:

  • AX = keystroke
  • BH = 1 if keystroke in buffer, else 0.

The keystroke is NOT removed from the input buffer.

AH = 02h - Get Shift Status

Input:

  • AH = 02h

Output:

  • AL = shift flags:
    • bit 0 - SHIFT (pressed)
    • bit 1 - CAPS (held)
    • bit 2 - KANA (held)
    • bit 3 - GRPH (pressed)
    • bit 4 - CTRL (pressed)

AH = 03h - Initialize Keyboard Interface

TODO

AH = 04h - Access Keystroke Bitmap

Input:

  • AH = 04h
  • AL = byte of keystroke bitmap (bits 0-3)

Output

  • AH = keystroke bitmap value (byte at 52Ah + (AL & 0x0F))

TODO

AH = 05h - Get and Check Keystroke

Input:

  • AH = 00h

Output:

  • AX = keystroke
  • BH = 1 if keystroke in buffer, 0 otherwise.

The keystroke is removed from the input buffer.

Non-blocking. Seems to be a combination of AH = 01h and AH = 00h.

AH = 0Ah - Set GDC Display Mode

TODO

AH = 0Bh - Get GDC Display Mode

TODO

AH = 0Ch - Enable GDC Text Layer

TODO

AH = 0Dh - Disable GDC Text Layer

TODO

AH = 0Eh - Set GDC Text Display Area

Input:

  • AH = 0Eh
  • DX = offset

TODO

AH = 11h - Show Cursor

Input:

  • AH = 11h

AH = 12h - Hide Cursor

Input:

  • AH = 12h

AH = 13h - Set Cursor Position

Input:

  • AH = 13h
  • DX = offset

TODO

AH = 14h - Read Custom Glyph

Input:

  • AH = 14h
  • BX:CX = glyph data destination (34 bytes, 16×16)
  • DX = glyph code

TODO

AH = 16h - Fill Text Display

Input:

  • AH = 16h
  • DH = attribute
  • DL = character

AH = 17h

TODO

AH = 18h

TODO

AH = 1Ah - Write Custom Glyph

Input:

  • AH = 1Ah
  • BX:CX = glyph data (34 bytes, 16×16)
  • DX = glyph code (must be 0x76xx or 0x77xx, count of custom glyphs limited)

TODO

AH = 31h

TODO

AH = 40h - Enable Graphics Layer

Input:

  • AH = 40h

TODO

AH = 41h - Disable Graphics Layer

Input:

  • AH = 41h

TODO

AH = 42h - Configure Graphics Mode

TODO

AH = 43h

TODO

AH = 4Dh

TODO

jdm/pc9801/int18h.txt · Last modified: 2022/02/18 22:44 by asie