Skip to content

Language reference ​

A reference page for each BASIC dialect Basically supports, with a searchable, sortable table of every command, function and operator, plus sub-pages for the machine's hardware, escape codes and file formats.

Porting a program between machines? The Porting guide summarises the keyword, control-code and hardware differences between any two dialects.

Argument notation ​

Every reference page writes a keyword's arguments the same way, so once you can read one page you can read them all:

NotationMeaning
<number>Anything in angle brackets is a value you supply. Each page lists what its own placeholders mean, under Argument notation below its table.
PRINTAnything not in angle brackets is typed exactly as shown, including punctuation such as #, ( and ,.
[<line>]Square brackets mark an optional part. Nested brackets mean the inner part needs the outer one: [<first>[, <last>]] allows a first argument alone, but not a last one alone.
<number> | <string>A vertical bar separates alternatives — write one or the other.
<var>[, <var>]…An ellipsis means the bracketed part before it can repeat, so this reads "one variable, then as many more as you like".

Where a machine genuinely requires something the notation would otherwise smooth away — a quoted filename, no space around an = — the page shows what the machine actually wants.

The two assembly references use the conventional per-processor operand notation instead, explained on each of those pages.

BASIC dialects ​

One page per family of BASIC, naming the machines it covers and the version each of them runs:

Assembly language ​

Machine-code blocks are written in assembly, using the same searchable-table treatment for every instruction and directive the built-in assembler understands. The instruction set is per-CPU, not per-machine, so there is one reference for each processor — cross-linked from every dialect that uses it:

  • Z80 assembly — ZX81, ZX80, ZX Spectrum, TRS-80, Amstrad CPC, Sony HB-10P, SAM Coupé, Altair 8800 (8080), PMD 85 (8080)
  • 6502 assembly — Commodore 64/VIC-20/PET, BBC Micro/Master, Acorn Atom, Apple I, Apple II, Atari 800/400

Released under GNU GPL v3.0. Some ROM images are third-party copyrighted works, separate to this project, strictly for personal/educational purposes.