A language you can learn
BASIC with line numbers, 26 numeric variables, 26 independent string variables, checked 16-bit integer arithmetic, IF / THEN, FOR / NEXT, GOTO and GOSUB.
128 lines · 3,072 tokenized bytes01 THE TOOLBOX
A real interpreter, running on the NES processor. Every feature below comes from the current cartridge implementation.
BASIC with line numbers, 26 numeric variables, 26 independent string variables, checked 16-bit integer arithmetic, IF / THEN, FOR / NEXT, GOTO and GOSUB.
128 lines · 3,072 tokenized bytesA 128 × 64 one-bit graphics canvas. Plot, draw lines and rectangles, flood fill, place tiles, and choose a shared foreground/background color pair.
PSET · LINE · RECT · FILL · TILE64 native 8 × 8 sprite slots, collision checks, and a built-in editor for 32 custom patterns. Keep the NES limit of eight sprites per scanline in mind.
SPRITE · MOVE · SPRCOL · EDITSPRCreate short notes with two pulse voices, triangle and noise. SOUND starts voices asynchronously; WAIT sequences your ideas in emulated frames.
BEEP · SOUND · WAITRead held buttons with JOY or new input events with INKEY$. The browser adds keyboard, touch, and configurable Gamepad API mappings.
Actual device compatibility depends on browser and OSDownload true .bas source, import numbered ASCII listings, and recover local browser sessions. Native SAVE / LOAD keeps source and artwork in six named cartridge slots.
.bas files contain source; cartridge projects also contain artworkNES BASIC is a small integer language. It does not support floating-point values, arrays, multi-letter variable names, ELSE, DATA / READ, or Unicode source. Strings have a 63-byte limit and share a 256-byte pool. The graphics canvas uses one shared ink/background pair.
These boundaries are documented in the free guide, alongside all 59 keyword tokens, exact syntax, and practical examples.
Explore the command reference Try it yourself