Start in the lesson. When you want your own editor and files, take the same work onto your computer.
Start in your browser
These lessons let you edit, build and run a program here. Choose the one that interests you; BASIC and assembly are independent starting points.
Write your first Spectrum BASIC program
Edit the listing, run it in the Spectrum and download your source. No installation or separate ROM file needed.
Assemble your first Spectrum program
Change the source, build it with Asm198x and see the result in Emu198x, all in the lesson.
Make the NES screen change colour
Edit one instruction, assemble and run it, then download your own cartridge and source.
Other lessons may offer Run it here for a supplied program. That lets you try the result; editing and rebuilding it depends on the tools in that lesson.
Still choosing what to learn? Start Here will help you find a route.
Work on your own computer
Choose your lesson’s machine and language. Each guide explains what you need, how to run an example and how to keep your changes.
Commodore 64
Sinclair ZX Spectrum
Nintendo Entertainment System
Commodore Amiga
A tool for each job
You only need the tools used by your chosen lesson. Browser lessons handle the steps they support within the page; local work gives you control of your editor, files and build commands.
- Asm198x · assemble source
Turns assembly instructions into machine code. Use the dialect and output format given in the machine guide.
- Build198x · prepare files
Tokenises Spectrum and C64 BASIC listings into loadable programs. It also prepares assets and media, including bootable Amiga disks.
- Emu198x · run the machine
Runs the program on an emulated computer or console. The lesson’s browser player or local guide sets out the machine and any firmware it needs.
Already use Homebrew? Asm198x, Build198x and Emu198x install on macOS (Apple silicon or Intel) and Linux (ARM64 or x86-64). The machine guides give you the commands. Emu198x has a separate package for each machine; install only the ones you want. Windows downloads are available too.
Some local emulators need the original machine’s built-in software. The ROM guide explains which files you need and where to obtain them.
Make it yours, then keep it
- Run the lesson’s example. Compare its screen and controls with the result shown in the lesson.
- Change one thing. Make the suggested edit, rebuild if needed and check that your change appears.
- Save the source. Download the edited listing or save it in your own project folder. Keep any assets it uses. A running emulator session is not a saved source file.
- Open it again. Check that you can recover your work and run it before moving on.
If something goes wrong, keep the error message and check the machine, language and filenames against the guide. Installing an assembler does not change the language your source is written in.
Already using another assembler?
Asm198x is the recommended assembly path. These guides cover the reference tools if you already use them or want to compare their workflow.
When a step does not work
Find the first result that differs from the guide. Check the filename, folder, tool version and machine configuration, and keep the exact error message.
Report the page on GitHub or ask through Discord. Include your operating system, language, tool versions and the step you reached.
Preparing a class or club? The teaching guide covers checking the computers and planning an activity.
