jdm:pc9801:int18h
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
jdm:pc9801:int18h [2021/12/25 12:08] – created asie | jdm:pc9801:int18h [2022/02/18 22:44] (current) – asie | ||
---|---|---|---|
Line 12: | Line 12: | ||
The keystroke is removed from the input buffer. | The keystroke is removed from the input buffer. | ||
+ | |||
+ | TODO: Blocks until a keystroke is received? | ||
===== AH = 01h - Check Keystroke ===== | ===== AH = 01h - Check Keystroke ===== | ||
Line 40: | Line 42: | ||
* bit 3 - GRPH (pressed) | * bit 3 - GRPH (pressed) | ||
* bit 4 - CTRL (pressed) | * bit 4 - CTRL (pressed) | ||
- | * | + | |
===== AH = 03h - Initialize Keyboard Interface ===== | ===== AH = 03h - Initialize Keyboard Interface ===== | ||
Line 55: | Line 57: | ||
**Output** | **Output** | ||
- | * AH = keystroke bitmap value | + | * AH = keystroke bitmap value (byte at '' |
+ | |||
+ | 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, 16x16) | ||
+ | * 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, 16x16) | ||
+ | * 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 | TODO |
jdm/pc9801/int18h.1640434108.txt.gz · Last modified: 2021/12/25 12:08 by asie