MADE FOR THE NES. READY FOR YOUR IDEAS. NO ACCOUNT NEEDED.
NESBASICBY NDB SOFTWARE

01 THE TOOLBOX

Small by design.
Plenty to explore.

A real interpreter, running on the NES processor. Every feature below comes from the current cartridge implementation.

01

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 bytes
02

Pixels with personality

A 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 · TILE
03

Real hardware sprites

64 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 · EDITSPR
04

Make a little noise

Create short notes with two pulse voices, triangle and noise. SOUND starts voices asynchronously; WAIT sequences your ideas in emulated frames.

BEEP · SOUND · WAIT
05

Code meets controller

Read 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 OS
06

Keep what you make

Download 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 artwork

Know the boundaries.

NES 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