AH = 63h CX:DX = microseconds INT 18h (blocks) Get BIOS version
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 = 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 = 62h CX:DX = microseconds between interrupts INT 18h pc-98 bios
AH = 70h INT 18h Returns: AX = BCD version (e.g., 0x0123 = v1.23)
AH = 21h DH = row (0–24 or 0–27) DL = column (0–79) INT 18h
| Feature | IBM PC | PC-98 | |--------|--------|-------| | BIOS entry point | INT 0x10 (video), 0x13 (disk), etc. | INT 18h (main dispatcher) | | Video memory | Segmented (B800h) | Plane-based (0xA0000–0xAFFFF) | | Text mode | 80x25, 16 colors | 80x25 or 80x28 (640x400) 8/16 colors | | Disk access | CHS via INT 13h | FDC + BIOS via INT 18h AH=xx | | Real-time clock | CMOS INT 1Ah | Dedicated I/O ports / BIOS calls | | Keyboard | INT 16h | INT 18h AH=10h–17h, scancode translation | | Interrupt controller | Dual 8259 (master/slave) | Single 8259 (IRQ 0–7, no cascade) | | Memory map | 640KB base, A0000–FFFFF reserved | 640KB–1MB: video, system BIOS, I/O | Critical: Do not assume INT 10h works. It will crash or do nothing. 2. Main BIOS Dispatcher: INT 18h All PC-98 BIOS services go through INT 18h with function code in AH . Standard calling convention: AH = function number Other registers = parameters INT 18h Results in registers (often AL, BX, CX, DX) Common function groups (AH values): | AH | Description | |----|-------------| | 00h–0Fh | System / reset / configuration | | 10h–17h | Keyboard | | 20h–2Fh | Display (text mode, cursor, scroll) | | 30h–3Fh | Graphics (GDC commands) | | 40h–4Fh | Disk I/O (FDD, HDD) | | 50h–5Fh | Printer / serial | | 60h–6Fh | Timer / date / time | | 70h–7Fh | System information | | 80h–8Fh | Extended memory (EMS / BIOS) | | 90h–9Fh | Sound / beep | | C0h–CFh | Mouse | 3. Useful BIOS Calls by Category 🔹 Keyboard (AH=10h–17h) Read character with wait AH = 63h CX:DX = microseconds INT 18h
AH = 24h AL = character (ASCII) BH = color (0–15, 0=black) INT 18h
AH = 11h INT 18h ZF = 1 if no key ZF = 0 if key waiting → AX = scancode/ASCII
AH = 29h Returns: AL = current mode Reset disk system | INT 18h (main dispatcher) | | Video
AH = 22h Returns: DH = row, DL = column
AH = 71h INT 18h Returns: AX = KB of RAM (usually 640)
AH = 60h INT 18h Returns: DX:AX = 32-bit tick count (1 tick = ~55ms)
AH = 42h (same registers as read)
Besides PoryBot-U flyffbot.net is also offering Bots for other
official Fly For Fun Games
and
private Servers
as well!
Feel free to take a look on our main website.