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

12 NES BASIC PROGRAMMING GUIDE

Save and load without losing work

BASIC has six named project slots. SAVE "NAME" stores source and all 512 bytes of kept editable artwork; it does not store variable values, the canvas, active sound or execution position. Names contain 1–12 uppercase letters/digits or underscore, hyphen and period. SAVE or LOAD without a name uses PROGRAM. Wait for the success notice before leaving the cartridge.

SAVE asks before overwriting an existing name. LOAD asks before discarding dirty working code/art. A/Y/Enter accepts; B/N/Select/Escape cancels. FILES and CAT list the library. KILL "NAME" or ERASE "NAME" deletes after confirmation; KILL 1 (or ERASE 1) can explicitly remove a numbered slot, including an unreadable record. A full directory reports SAVE DIRECTORY FULL; overwrite intentionally or erase a file you no longer need. Slots are not automatically reclaimed from corruption.

LOAD validates a saved record before replacing working source/art. An intact name with damaged metadata/payload reports BAD SAVED PROJECT. A damaged name can produce FILE NOT FOUND instead. Do not repeatedly overwrite your only backup while troubleshooting. A checksummed native old-record journal recovers interrupted writes at boot or the next storage command when that backup is valid. It cannot repair arbitrary electrical loss or a corrupted backup.

New records are version 3; this ROM reads versions 2 and 3 without silently rewriting older files. An older version-2 ROM rejects version-3 records. The app has scoped same-title battery migration for reviewed predecessors, keeping the old file and preferring an existing current save. Arbitrary changed ROMs are not automatically interchangeable. Keep the original ROM/save when archiving work.

The host's SAVE STATES is a separate emulator feature: snapshots belong to an exact ROM hash, core version and region. BASIC has no automatic-resume promise; use its explicit project commands. Loading an emulator snapshot keeps current committed cartridge files, rather than rolling those files back. These two forms of saving solve different problems.

On a physical board, SAVE requires compatible MMC1/SXROM banking and retained 32 KiB PRG SRAM, plus 8 KiB writable CHR RAM. A normal ROM chip alone cannot save; an 8 KiB SNROM board is insufficient. Emulator battery-file restart tests are verified, but physical NES, flashcart model, PCB/programmer and power-removal retention tests remain NOT VERIFIED.