The machine is the exhibit
Ready for BASIC inputC64 teaching display with startup message; no sprites enabled.
Type one BASIC line or direct command. Arrow up/down recalls earlier input. Escape is RUN/STOP.
Accessible output transcript
Current 40×25 text screen
Stored BASIC program
(NO STORED PROGRAM)
Sound muted
Memory inspector · latest BASIC writes
DECIMAL ADDRESSES| Address | Meaning | Value |
|---|
How Commodore BASIC V2 works
The C64 starts at a READY. prompt. A command such as PRINT "HELLO" runs immediately. A line beginning with a number is stored as a program. LIST displays it, RUN executes it, and NEW removes it.
In BASIC V2, only the first two characters of a variable name are significant. The lab reproduces that visible behavior and the selected statements used by the course; it is not a complete BASIC ROM implementation.
Screen, colors and POKE
BASIC V2 has no friendly built-in sprite, graphics, or sound commands. C64 programmers reached the hardware through PEEK and POKE.
- 1024–2023
- 40×25 screen RAM cells
- 55296–56295
- Color RAM, values 0–15
- 53280
- Border color
- 53281
- Background color
PETSCII is not screen RAM
PETSCII describes keyboard, printable, and control values such as CHR$(147) for clearing the display. Screen memory stores a related set of screen codes. The lesson keeps that distinction visible instead of calling every glyph PETSCII.
Sprites from memory
A high-resolution monochrome C64 sprite is 24×21 pixels: three bytes per row, 21 rows, or 63 data bytes. This lab supports eight basic monochrome sprites, the pointer table at 2040–2047, enable register 53269, and the documented position/color registers.
SID-style sound concept
The SID register block begins at 54272. When you opt in to sound, selected voice-1 register writes control one Web Audio voice. This demonstrates frequency, waveform, envelope, gate, and volume concepts; it is a SID-style browser approximation, not SID emulation.
Accuracy and limitations
The interpreter, renderer, lessons, sprite, and programs are independently created. No Commodore ROM or commercial software is included. The lab models a documented BASIC V2 subset and historically meaningful memory addresses.
It intentionally omits cycle timing, a 6510 CPU, KERNAL and disk I/O, byte-identical tokenized program memory, Commodore five-byte floating point, raster effects, multicolor/collision behavior, complete PETSCII keyboard modes, analog SID filters, machine code, and game/software compatibility.
Historical sources
- Commodore 64 Programmer’s Reference Guide index
- Screen RAM and Color RAM
- C64 sprite memory and registers
- SID register overview
This is an unofficial educational recreation and is not affiliated with Commodore.