mk90.guide

Limits and compatibility

A compact boundary reference for release 0.6.

Numeric limits

ResourceLimit
CPU RAM / boot ROM16 KiB / 32 KiB.
Text / graphics30×10 characters / 120×64 monochrome pixels.
Command input95 characters; four retained tokens including command name.
Filename / normalized path12 / 95 characters.
Volume sizes8, 10, 16, 32, 64 KiB.
Inodes16 per volume, shared by files and directories.
Regular file64,256 bytes, subject to volume and contiguous-space limits.
File handlesTwo total; one writer at a time.
Editor1,280 bytes.
ContextsFour fixed slots; PID 0 and 3 share a stack.
Background slotsTwo; a pipeline uses one.
PipeOne FIFO, 256 bytes, two stages.
Shell SLEEP0–1023 seconds.
Native sleep / BASIC WAIT0–32767 nominal 32 Hz ticks.
BASIC variables26 signed 16-bit integers, A–Z.
BASIC source64 non-empty lines; literal strings up to 95 bytes.
BASIC parser / operands / controlDepth 12 / 16 values / eight shared FOR-GOSUB frames.
BASIC data filesOne 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