Docs / Getting Started
Getting Started#
A Commodore 64 that boots in your browser — no install, no plugins, no login. This guide takes you from a blank screen to a running game or demo in a couple of minutes, then points at the knobs worth knowing about.
Prefer a checklist of what the machine can actually do? See the Features overview. Curious how it all works under the hood? Every chip has a deep-dive starting from the Architecture map.
1. Set up ROMs#
The first time you open the emulator, a "Setup C64 READY." dialog appears on its own — the C64 can't boot without its ROM chips, so this is step one and the app walks you straight into it.

⚠️ The KERNAL, BASIC, CHARGEN and 1541 ROMs are Commodore's copyrighted property. They are not bundled with this emulator — you must obtain them legally (for example, dumped from a real C64 you own, or from a source you are entitled to use). The app never ships, hosts, or downloads them for you.
For each ROM, press LOAD… and pick the file from your device. Don't have it yet? Press 🔍 help me find it to open a web search for that exact filename; download the file, then load it. The search only points you at the file — the emulator never fetches it, so the download stays your own conscious choice.
You need the three ROMs the C64 requires — KERNAL, BASIC, and CHARGEN — plus an optional 1541 ROM used only for True Drive Emulation. Any compatible revision works, but as a suggestion the emulator was developed and tested against these specific CBM images (the same filenames 🔍 help me find it searches for):
- KERNAL —
kernal.901227-03.bin(8 KB) - BASIC —
basic.901226-01.bin(8 KB) - CHARGEN —
characters.901225-01.bin(4 KB) - 1541 DOS —
1541-II.251968-03.bin(16 KB, optional — for True Drive Emulation)
See Specifications for more on the ROM revisions.
Once the three mandatory ROMs are in, the dialog's dismiss button changes to Done (load the optional 1541 first if you have it, then close it). The ROMs are cached in your browser and restored automatically on your next visit, so this is genuinely a one-time step. Afterwards ⚙ OPTIONS ▸ ROM Files shows which ROM is loaded and has a CLEAR button to wipe the cache and start over.
Already dropping straight onto the blue
READY.screen when you power on? Your ROMs are in place — move on to the next step.
2. Power on#
Press POWER. After the familiar RAM-test pause you land on the light-blue
BASIC screen with the blinking READY. cursor — a real cold boot, not a splash
image.
- POWER toggles the machine on and off. Powering off tears the whole machine down; powering on builds a fresh one, so it is a genuine cold start.
- ↺ RESET is a hard reset — equivalent to power-cycling. Programs re-load cleanly afterwards, so reach for it if a demo wedges.
- Still just a black screen or an "Awaiting ROM files…" note? The machine is missing its ROMs — go back to Set up ROMs.
3. Load a program#
The emulator runs real C64 software in four formats. Every loader button lives in the Controls panel; you can also just drag a file onto the screen and it picks the right slot automatically.
| Format | Button | What it is |
|---|---|---|
.prg |
▶ LOAD .PRG | A single program (game or tool). Injected into RAM and started for you. |
.d64 |
💾 LOAD (Disk drive 8) | A full floppy-disk image. |
.crt |
🎮 LOAD | A supported cartridge image (generic, Action Replay, Final Cartridge III, Magic Desk, or EasyFlash). |
.tap |
📼 LOAD | A datasette tape image. |
Programs (.prg). Pick the file and it loads and runs on its own — with
AUTORUN on (the default) the emulator types RUN (or the right SYS for
machine-code programs) for you. Turn AUTORUN off in ⚙ OPTIONS ▸ Media if you
would rather stay at the READY. prompt and start it yourself.
Disks (.d64). Choose a disk and the emulator types the load command for
you (LOAD"*",8,1 then RUN) and waits for it to finish — no C64 command
knowledge required. The drive panel also shows the disk's directory — its
name, each file with size and type, and blocks free, just like LOAD"$",8 then
LIST — and you can click any program in the listing to load and run just
that file. Many demos hide artwork in their directory — filenames drawn
with graphic characters that form a picture — so a 🔍 button in the corner of
the listing opens it enlarged (filenames only), tinted as a flowing C64 raster
rainbow in your selected palette, to show that art off. Use ⏏ EJECT to
remove it. Multi-disk demos: eject and load the next disk when the program asks
you to flip.
A second drive (device 9) is available for software that expects two drives — flip the power switch on the Disk drive 9 panel to connect it. It is off by default, and best left that way unless you need it: adding a second device to the serial bus can break custom fastloaders that assume drive 8 is the only drive on the bus.
Cartridges (.crt). Load one and it takes over immediately. Cartridges may
be inserted while the machine is off — they are cached and applied on the
next power-on. When an Action Replay or Final Cartridge III image is inserted,
its hardware RESET and FREEZE controls appear in the Cartridge card.
Tapes (.tap). Load the tape, then drive it like real hardware with ▶
PLAY, ⏹ STOP, and ⏮ REW. On the C64 side type LOAD then press PLAY.
Reload without re-picking: the LOAD library#
Everything you open is remembered. Open Controls ▸ 💾 LOAD to see your
library — every .prg / .d64 / .crt / .tap you have loaded, ready to
re-launch with one click. There is a filter box to find things fast, and
📥 IMPORT / 📤 EXPORT to move your collection between browsers or machines.
4. Type and use the keyboard#
Just start typing — your keyboard is wired straight into the C64 matrix. A few keys are remapped so the C64-only ones are reachable on a modern keyboard:
| Host key | C64 key |
|---|---|
TAB |
INST/DEL |
F9 |
RUN/STOP |
F10 |
Commodore (⌂) key |
F11 |
CLR / HOME |
F12 |
RESTORE (triggers an NMI — RUN/STOP + RESTORE resets BASIC) |
Not sure where a symbol lives on the C64 layout? Open KEY MAP for a clickable on-screen keyboard. Need to get a chunk of text or a BASIC listing in quickly? Use 📋 PASTE — it types your clipboard into the machine for you.
5. Play with a joystick, mouse, or paddle#
The C64 has two control ports. Open the Control Ports panel and assign each port independently:
- Joystick — a connected USB/Bluetooth gamepad. Browsers only reveal a pad after it sends input, so press a button on the gamepad to make it show up in the per-port dropdown, then pick which pad drives which port.
- Touch Joystick — available only on touch-capable phones and tablets. Selecting it adds an eight-way circular stick over the lower-left of the screen and two buttons over the lower-right. A fires; B is the common C64 second button wired to the joystick UP line. In landscape the controls move closer to the physical screen edges.
- Key Joystick 1 / 2 — play with no gamepad at all. There are two independent keyboard-driven sticks, and either can be assigned to either port (so two people can share one keyboard). Key Joystick 1 defaults to the arrow keys to move with N / M as the two fire buttons; Key Joystick 2 defaults to WASD (W up, A left, S down, D right) with C / V to fire. Key Joystick 1 sits on Port 2 by default, where most games expect it. Every key is remappable — click the ✎ redefine link under a port to rebind that stick.
- Mouse (1351) — the proportional GEOS-style mouse. Click the screen to capture the pointer; left button = fire, right button = up.
- Mouse (NEOS) and Paddle — for software that expects those devices; the paddle is driven by mouse movement.
- None — nothing plugged into that port.
SWAP PORTS exchanges the two assignments in one click — handy when a game insists on the "other" port.
6. Pause, reset, and save your place#
- ⏸ PAUSE freezes the machine (and mutes it) exactly where it is; press again to resume right where you left off.
- ↺ RESET does a hard reset — same as a power-cycle.
- 💾 SAVE STATE freezes the entire machine — RAM, every chip, and whatever disk/tape/cartridge is inserted — into a named slot with a thumbnail. Pick it up any time later with 📂 LOAD STATE. (Save is available only while a program is running.)
Save states live in this browser, survive reloads, and can be exported to a file and imported elsewhere — so you can hand a mid-game snapshot to someone on another machine. This is separate from PAUSE: a save state is a permanent bookmark; PAUSE is a temporary freeze.
7. Make it look and sound right#
Quick display controls sit in the Controls panel:
- SIZE cycles the picture between 1X / 1.5X / 2X, and ⛶ FULL goes fullscreen.
- VIBES opens Retro Vibes full-screen — a 3D scene of the C64 whose little
TV plays the emulator's live picture; its icon pairs the ⛶ fullscreen frame
with a retro sun. The neon synthwave look is just one of several scenes —
the 🎬 button cycles the lighting/backdrop moods (synthwave, starry plain,
spotlight, IK+ sunset, arcade, 80s room). Double-click the model (or its power
button) to boot the machine; press Esc or ✕ to return.
- VR (experimental). On a device with a VR headset an 🥽 Enter VR button appears — step into the scene in stereo with head tracking, the live C64 glowing on the modelled TV. It needs a real headset or the desktop WebXR emulator browser extension (phones and iOS have no WebXR), and the neon glow is toned down in VR (the post-processing isn't headset-compatible).
Deeper hardware and display choices live in ⚙ OPTIONS:
- Display — 🖥 CRT cycles through display looks: scanlines → phosphor-mask colour tube → black-and-white tube → bright arcade → a tube with a slow rolling mains-hum bar → off (a cosmetic overlay only); and ATTRACT MODE toggles the animated demo shown on the powered-off screen.
- Video — switch the VIC-II video chip between 6569 (original PAL breadbin) and 8565 (later C64C), and the colour palette between Colodore (modern, saturated) and Pepto (classic 2001 measurements).
- Sound — switch the SID sound chip between 6581 (original, warmer filter) and 8580 (later, cleaner); toggle MUTE; and turn on DRIVE SOUND for synthesized 1541 motor hum and head clicks.
- Media — the AUTORUN toggle described above.
All of these preferences persist across reloads.
8. True 1541 drive (TDE)#
By default, disk loads use a fast built-in shortcut — instant and fine for most games. But cracked intros, custom fastloaders, and many demos talk to the drive at the hardware level and need a real 1541 running alongside the C64.
Flip TDE (True Drive Emulation) on for that full-fidelity path. It runs an actual emulated 1541 with its own CPU and DOS, so timing-sensitive loaders and copy-protection tricks behave like the real thing. TDE needs the 1541 ROM from Set up ROMs; the button stays disabled until one is present.
9. On phones and tablets#
The emulator is a Progressive Web App: from your mobile browser's menu choose Add to Home Screen to run it like a native app, offline included.
- Tap the screen to bring up your device's keyboard and type into the C64.
- Assign Touch Joystick in the Control Ports panel to play with the fixed stick and two-button overlay.
- Rotate to landscape and use ⛶ FULL for the most screen real estate.
- Switching away and back is safe. When the app goes to the background the machine pauses and mutes automatically; when you return it resumes cleanly from where it was — no audio blip and no stutter from trying to "catch up" the time you were away.
Where to next#
- User Guide — the full reference for every control, panel, and dialog, screen by screen.
- Features — the full list of what the emulator supports, from the user's side.
- Architecture — how the machine is wired together, and the jumping-off point to every chip's deep-dive.