mk90.guide
Limits and compatibility
A compact boundary reference for release 0.7.
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 scalars / arrays | 26 signed 16-bit scalars; 26 arrays sharing 76 elements. |
| 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 our structured integer BASIC, distinct from factory BASIC.
- No floating point, string variables, DEF FN, transcendental functions, inline THEN statements 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.7 verification covers the existing OS, task, stream, process and BASIC checks plus new structured-control, array and DATA tests. 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:
2ad9b1f679011f0aea62e7852df5c2a87b06f21dd501d1f6cb909144d21f4f35