mk90.guide
Limits and compatibility
A compact boundary reference for release 0.6.
Numeric limits
| Resource | Limit |
|---|---|
| CPU RAM / boot ROM | 16 KiB / 32 KiB. |
| Text / graphics | 30×10 characters / 120×64 monochrome pixels. |
| Command input | 95 characters; four retained tokens including command name. |
| Filename / normalized path | 12 / 95 characters. |
| Volume sizes | 8, 10, 16, 32, 64 KiB. |
| Inodes | 16 per volume, shared by files and directories. |
| Regular file | 64,256 bytes, subject to volume and contiguous-space limits. |
| File handles | Two total; one writer at a time. |
| Editor | 1,280 bytes. |
| Contexts | Four fixed slots; PID 0 and 3 share a stack. |
| Background slots | Two; a pipeline uses one. |
| Pipe | One FIFO, 256 bytes, two stages. |
| Shell SLEEP | 0–1023 seconds. |
| Native sleep / BASIC WAIT | 0–32767 nominal 32 Hz ticks. |
| BASIC variables | 26 signed 16-bit integers, A–Z. |
| BASIC source | 64 non-empty lines; literal strings up to 95 bytes. |
| BASIC parser / operands / control | Depth 12 / 16 values / eight shared FOR-GOSUB frames. |
| BASIC data files | One in addition to the open executable. |
Compatibility boundaries
- Unix-style naming does not provide a POSIX shell, fork/exec ABI, Linux syscalls or Unix on-disk filesystem.
- MBC-16 is an integer BASIC subset, not the full factory BASIC or a standard-compliance claim.
- No floating point, string variables, arrays/DIM, DATA/READ/RESTORE, DEF FN, transcendental functions, inline IF/ELSE or universal BASIC file syntax.
- No arbitrary native executable-file loading, dynamic linking, multiple concurrent BASIC instances or BASIC pipelines.
- No UART, floppy, CF/IDE driver, external video/audio interface or PS/2 keyboard driver.
Validation scope
The 0.6 development verification contains 69 passing tests: 21 OS, 11 task, 9 stream, 12 process and 16 BASIC checks. They execute generated instructions in the supplied CPU model with a 16 KiB RAM limit. They are not a physical-board certification or exact timing simulation.
This manual identifies the shipped ROM by SHA-256:
e543db0e9283816b3630b25518dc05a67f22395d985318cde8df1f877d1587af