# Workabout MX / SIBO programming reference A programming reference for the Psion Workabout MX and the SIBO platform, synthesised from the Psion SDK manuals and the Hardware Development Kit, with reverse-engineered internals from the v7.20f ROM layered on top. Built as the foundation for developing applications (e.g. the barcode inventory app in `code/inventory/`). Each document cites its source manual and marks claims as documented, **[RE]** reverse-engineered, or inferred/uncertain. ## Sections | # | Document | Covers | | --- | --- | --- | | 01 | [Building applications](01-building-apps.md) | Toolchain, TopSpeed C, SIBO types, `GLDEF_C`/etc., `.pr` project files, images/libs/LDDs | | 02 | [System & OS](02-system.md) | Processes, memory/segments, panics + ranges, error codes, async I/O, the executive call | | 03 | [I/O devices & drivers](03-io-devices.md) | `p_open`/`p_iow`/`p_ioc`, function codes, serial (`P_SRCHAR`), per-device drivers, loading LDDs | | 04 | [PLIB core API](04-plib-core.md) | Strings, memory, console, conversion, math, date/time, categorised function reference | | 05 | [File system & DBF database](05-filesystem-dbf.md) | Files, streams, directories; the full DBF record/database API | | 06 | [User interface](06-ui.md) | Window Server model, events (`WM_*`, `WGetEvent`), the `CON:` console layer | | 07 | [Hardware](07-hardware.md) | CPU, memory/banking, ASIC1/2/4/5/9 register maps, I/O ports, interrupts, expansion | | 08 | [Boot & OS-call internals **[RE]**](08-re-boot-oscalls.md) | Reset/ASIC-init path, OS-service `INT` vectors, boot port activity — from the live MAME trace | Related: - [Barcode scanner API](../inventory/SCANNER-API.md) — the `WL2`/Symbol2 laser scanner (reverse-engineered). - [RE toolchain & plan](../mx-re/toolchain-and-plan.md) — how the emulator/disassembler RE was done and the roadmap. ## Status The manual-derived sections (01–07) are broad and citation-backed. The reverse-engineered material (08, the scanner API, and the executive-call convention notes) is being extended by tracing the ROM under MAME (`psionwamx`). Known open items: the full `INT`-vector → service map, and the scanner data-retrieval path.