Commodore 64 Emulator

Gestopt
Taal
Thema
Breedbeeld
8-bit nostalgie

Commodore 64

De legendarische breadbin uit 1982: draait volledig in je browser. Druk op start en laad de demo.

Paginaversie 1.7 · laatst gecontroleerd op 30-08-2026

Wat wil je draaien?

Heb je zelf een .prg, .d64 of .zip? Sleep die op het scherm hierboven. Het bestand blijft in je browser en wordt niet naar de server gestuurd.

Zelf een programma schrijven in assembly

Typ 6502-assembly, druk op de knop en het draait in de emulator hierboven. De assembler zit in deze pagina en werkt in je eigen browser: er gaat geen letter naar de server. Hij kent labels, constanten, de gewone adresseringsvormen en .byte, .word en .fill, en zet er een BASIC-start (10 SYS 2064) voor zodat RUN je programma start.

Tekst hoef je niet in hex uit te rekenen: .screen "HALLO" zet de schermcodes neer (die poke je rechtstreeks in $0400) en .petscii "HALLO" de PETSCII-codes (die stuur je naar CHROUT). Getallen en tekst mogen door elkaar: .screen "SCORE", 32, "0". Kleine letters worden hoofdletters, want dat is wat de standaard tekenset laat zien. Sneltoets: Ctrl+Enter assembleert en start.

Over deze emulator

Dit is vc64web (een web-port van VirtualC64), volledig lokaal gehost op TechSpeeltuin: geen externe afhankelijkheden. Hij boot met de originele Commodore-ROM's, dus je krijgt het echte COMMODORE 64 BASIC V2-scherm.

  • START DEMO: laadt en start het intro-programma automatisch.
  • Presets: SID 8580, 2e SID op $D420, ReSID Fast, stereo, volume 100%.
  • De toolbar (toetsenbord/joystick/instellingen) is verborgen, toon 'm met de Toolbar-knop.
  • Geluid begint zodra je iets aanklikt (browserregel) en vraagt een beveiligde verbinding (https).

Emulator: vc64web , de web-port (WASM) van VirtualC64 door Dirk W. Hoffmann. Open source, hier lokaal gehost.

Over dit programma: de intro

Achter de START DEMO-knop zit een zelfgeschreven intro in 1990-stijl, een eerbetoon aan de cracktro's en demo's van de C64-demoscene (sinds 2021 zelfs UNESCO-cultureel-erfgoed). Alles draait op de échte 8-bit hardware: 64 KB RAM, 16 kleuren, 40 kolommen.

Wat je ziet en hoort:

  • Het TechSpeeltuin-logo bovenaan.
  • Twee scrollteksten waar een regenboog-kleurwash overheen loopt, dé klassieke scroller-look.
  • Dansende < / >-sprites (het TechSpeeltuin-motief) die op een sinus meebewegen.
  • SID-muziek: “C64 Games Medley” van Nordischsound, een medley van bekende C64-game-tunes op de echte SID-geluidschip.

De intro is met de hand geschreven in 6502-assembly (Kick Assembler) en tot een enkele .prg geassembleerd.

Spiekbriefje: de C64-toetsen op je eigen toetsenbord

De emulator vertaalt standaard op teken: typ je een -, dan komt er een - op de C64. De meeste toetsen doen dus gewoon wat erop staat. Deze wijken af:

C64-toetsOp jouw toetsenbordWaarvoor
RETURNEnterRegel afsluiten, commando uitvoeren
INST/DELBackspaceTeken terug wissen
← (linksboven)DeleteEigen C64-teken, geen backspace
^ (dode toets)Machtsverheffen in BASIC
CTRLTab of linker CtrlKleur wisselen, uitvoer vertragen
CursorPijltjestoetsenOver het scherm bewegen
F1 t/m F8F1 t/m F8Functietoetsen
RUN/STOP, RESTORE, C=, CLR/HOME, £SchermtoetsenbordZitten niet op een pc-toetsenbord: gebruik de knop Toetsenbord hierboven

Wil je de originele indeling (elke toets op zijn eigen plek, dus - geeft +), zet dan in de toolbar onder Settings de schakelaar symbolic mapping uit.

Handig om te weten in BASIC V2:

  • RUN start het programma dat in het geheugen staat, LIST laat het zien.
  • RUN/STOP breekt een draaiend programma af.
  • NEW gooit het programma weg, SHIFT+CLR/HOME maakt het scherm leeg.
  • Met een diskette (.d64) geladen: LOAD"$",8 gevolgd door LIST toont de inhoud.
Zelf programmeren in BASIC

Zo ging dat vroeger: een listing uit een tijdschrift overtypen en RUN intoetsen. Typ het over op de C64 hierboven, of laat de pagina het voor je doen. Dat laatste start zo nodig eerst een kale C64 en tikt daarna de regels in, teken voor teken.

Het oneindige doolhof

De beroemdste one-liner van de C64: twee schuine streepjes die willekeurig naast elkaar komen te staan en zo een doolhof tekenen dat nooit ophoudt.

10 print chr$(205.5+rnd(1));:goto 10
run

Knipperende schermrand

Rechtstreeks in het geheugen schrijven: adres 53280 is de schermrand, 53281 de achtergrond. Zo werkte bijna alle grafische truc op deze machine.

10 poke 53280,rnd(1)*16
20 poke 53281,rnd(1)*16
30 for i=1 to 40:next i
40 goto 10
run

De SID laten piepen

Willekeurige tonen op stem 1 van de SID-chip: volume open, envelope instellen, toonhoogte kiezen en de golf aan- en uitzetten. Zet je geluid aan; hoor je niets, kijk dan of de waarschuwing hierboven bij de emulator staat.

10 poke 54296,15
20 poke 54277,9:poke 54278,240
30 poke 54273,int(rnd(1)*40)+10
40 poke 54276,17:for i=1 to 60:next i
50 poke 54276,16:for i=1 to 30:next i
60 goto 30
run

Alle drie draaien eeuwig door. Stoppen doe je met RUN/STOP op het schermtoetsenbord, of met de knop Reset.

Meer van vroeger op deze site
  • SID Player: de muziek van deze chip, uit de complete High Voltage SID Collection.
  • De Terminal: een groen fosforscherm met packetradio-verkeer uit de jaren negentig.
  • Text browser: deze site zoals Lynx hem zou tonen.
  • Teletekst: pagina 101 en verder.