Pc-98 Bios -
AH = 11h INT 18h ZF = 1 if no key ZF = 0 if key waiting → AX = scancode/ASCII
MOV AX, 0xA000 MOV ES, AX MOV DI, 0 ; row 0, col 0 (character cell) MOV AL, 'A' MOV ES:[DI], AL But VRAM is planar: you must handle 4 planes for graphics. Prints "Hello" using BIOS INT 18h AH=24h:
AH = 62h CX:DX = microseconds between interrupts INT 18h pc-98 bios
AH = 22h Returns: DH = row, DL = column
AH = 42h (same registers as read)
AH = 29h Returns: AL = current mode Reset disk system
AH = 72h INT 18h Returns: AX = bitmask (FDD count, display type, etc.) BIOS is slow but safe. For games/demos, bypass BIOS and access hardware directly. Common direct I/O ports (simplified): | Port | Purpose | |------|---------| | 0x60 | Keyboard data | | 0x61 | Keyboard control | | 0x66 | Display controller (GDC) | | 0x68 | CRTC address | | 0x6A | CRTC data | | 0xA0 | FDC status | | 0xA1 | FDC data | | 0x30 – 0x3F | Sound (YM2203/2608) | | 0x64 | Timer / interrupt mask | AH = 11h INT 18h ZF = 1
AH = 17h AL = rate (0–3Fh) INT 18h Set cursor position



