Pc-98 Bios ◎ 【RECENT】
AH = 60h INT 18h Returns: DX:AX = 32-bit tick count (1 tick = ~55ms)
AH = 41h DL = drive CX = track number (0–79 for 2HD) DH = head (0 or 1) CH = sector number (1–8 for 2HD) AL = number of sectors ES:BX = buffer INT 18h Returns: CF = 0 if OK
AH = 28h AL = mode 0 = 80x25 text (16 colors) 1 = 80x28 text (400 lines) 2 = 640x400 graphics (4 planes) 3 = 640x400 graphics (16 colors) INT 18h
AH = 25h AL = lines to scroll CH = top row, CL = left col DH = bottom row, DL = right col BH = fill color INT 18h pc-98 bios
AH = 17h AL = rate (0–3Fh) INT 18h Set cursor position
msg db 'Hello from PC-98 BIOS!', 0
AH = 21h DH = row (0–24 or 0–27) DL = column (0–79) INT 18h AH = 60h INT 18h Returns: DX:AX =
AH = 70h INT 18h Returns: AX = BCD version (e.g., 0x0123 = v1.23)
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 | pc-98 bios
AH = 71h INT 18h Returns: AX = KB of RAM (usually 640)
AH = 40h DL = drive (0=A, 1=B, etc.) INT 18h Returns: CF = 0 if OK