| Addr | What |
| 0x8000 | Palette: 16 × u16, 0x0RGB, 3 bits per channel (0–7) |
| 0x8020 | Video mode u8: 0 = 320×200×16, 1 = 640×400 mono |
| 0x8100+v*8 | Voice v (0–2): freq i32 Hz, then vol i32 0–15 (square) |
| 0x8118 | Noise volume i32 0–15 |
| 0x8200 | Mouse X i32, 0x8204 Y i32, 0x8208 buttons (bit0 L, bit1 R) |
| 0x8210 | Last keycode i32, 0x8214 key press counter |
| 0x8220 | Hardware pointer visible u8 (default 1) |
| 0x8300 | Key-down map: 256 bytes indexed by keyCode ('A' = 0x8341) |
| 0x10000 | Framebuffer: 1 byte per pixel (palette index) |
Exports
init() runs once at boot. tick() runs at 60 Hz.
Import memory: (import "env" "memory" (memory 16))
BIOS imports ("bios")
text(x y ptr len color) · disk_read(sector ptr)→i32 · disk_write(sector ptr)→i32 · time()→i32 (seconds since midnight) · rand()→i32 · log(i32)
FAT12 layout
512 B sectors · FAT @ 1 (×2, 3 sectors) · root dir @ 7 (112 entries) · data @ 14, 2 sectors per cluster