mk90.guide

Limits and compatibility

A compact boundary reference for release 0.7.

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 scalars / arrays26 signed 16-bit scalars; 26 arrays sharing 76 elements.
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 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