Undertegnede startede sin karriere som teknologijournalist i slutningen af 1980’erne, da jeg skrev en artikelserie om 6502/6510-assembler-programmering på Commodore 64 for et magasin som hed Norsk Datormagazin.
Programmeringsinteressen har imidlertid altid været der – og her den anden dag snublede jeg over en 6510-assembler skrevet i Java, som kan køres på alle platforme med Java 8.0 eller nyere. Måske jeg skulle se, om jeg fortsat havde noget af den gamle ‘magi’ i fingrene?

Siden den gamle ‘brødkasse’ (kælenavnet for de første udgaver af Commodore 64) for længst var solgt, blev jeg nysgerrig på, hvor let (eller vanskeligt) det var at komme i gang med 6510-assemblerprogrammering på en Mac eller Windows-pc – med emulator. Gerne i min favoritt-kode-editor: Microsoft Visual Studio Code (VS Code).
Dette skulle vise sig at være nogenlunde overkommeligt – men helt uden udfordringer var det ikke.
I gang med retro-programmering
Her er en guide til både Mac OS og Windows, i tilfælde af at du har lyst til at prøve noget lignende selv. I slutningen af artiklen er der også nogle links til nyttige websites, som får dig i gang, hvis du ikke kender til 6510-assembly fra tidligere.
Ud over at få opsat udviklingsmiljøet i VS Code, gennemgår vi også, hvordan du får Commodore 64-emulatoren Vice til at fungere på nyeste version af Mac OS (Catalina).
Under vores test viste det sig nemlig, at Vice ikke fungerede efter Catalina-opgraderingen – og dermed måtte vi downloade kildekoden til både en 6502/6510-krydscompiler og Vice, for derefter at kompilere begge dele med en C-compiler.
Det finnes flere plug-ins, som integrerer VS Code med Kick Assembler. Et af dem hedder Kick Assembler for Visual Studio Code fra udvikleren Paul Hocker. Et andet plug-in hedder KickAss (C64) fra Captain JiNX. Du finder dem ved at trykke på Extensions-knappen i venstre sidemenu i VS Code og søge.
Efter at du har installeret plug-in’et, skal du også installere følgende:
- Kick Assembler
- Java runtime
- Vice
- C64 debugger
Vi har lavet to brugsanvisninger – en for Mac OS og en for Windows. Siden Mac OS Catalina har et par ekstra kompileringstrin, starter vi med Windows.
Windows – sådan kommer du i gang
Siden der findes en færdigkompileret version af emulatoren Vice til Windows, er det lidt enklere at komme i gang end på Mac. Sådan gør du det:
Download og installer en Java runtime (Kick Assembler er skrevet i Java). Du finder den seneste version her: https://www.java.com/en/download/
Start pc’en igen og åbne en kommandolinje (Windows-R, skriv cmd). Skriv
java -version
for at tjekke, at Java er korrekt installeret.Download Kick Assembler fra http://theweb.dk/KickAssembler
Udpak Kick Assembler til en egnet mappe, for eksempel C:\KickAssembler
Test, at ting fungerer: Gå ind i KickAssemblers-mappen og skriv
java –jar kickass.jar
efterfulgt af navnet på en fil med assemblerkode. Du kan prøve nogle af eksempelfilerne, som følger med, for eksempel:
java -jar KickAss.jar Examples\01.MusicIrq\MusicIrq.asm
Artiklen fortsætter under illustrationen.

Hvis alt fungerer, som det skal, vil du nu have fået en ny fil med endelsen .prg. Dette er binærfilen, du kan køre i Commodore 64-emulatoren vi skal installere nu.

I modsætning til på Mac findes der nye ‘builds’ af Vice til Windows, som kan downloades fra http://vice-emu.sourceforge.net/ eller https://vice.pokefinder.org/. Selv gik jeg til sidstnævnte URL og downloadede filen, udpakkede og installerede filen, som hedder GTK3VICE-3.3-win64-r37192 (der lægges stadig nye versioner ud).
Kør filen x64sc.exe for at teste, at emulatoren fungerer. x64sc er en version af x64, som efter sigende er mere fokuseret på nøjagtig emulering end x64, og det var kun førstnævnte, som fulgte med i den version af Winvice som vi downloadede.
- Installer C64 debugger. Efter at du har downloadet og installeret Vice, har du også brug for et program, som hedder C64 65XE Debugger. Den lader dig kjøre C64-programmer, samtidig med at du kan navigere gennem Commodorens hukommelsesområder, se værdierne for forskellige registre samt sætte breakpoints i koden og gå igennem koden trin for trin.
Du finder C64 65X Debugger på denne side:
https://sourceforge.net/projects/c64-debugger/
Udpak debuggeren til et passende sted.
- Installer VS Code-plug-in’et Kick Assembler for Visual Studio Code fra Paul Hocker eller KickAss (C64) fra Captain JiNX.
Efter at du har installeret plug-in’et, skal du fortælle det, hvor du har placeret filerne for Kickassembler og C64 Debugger. Gå til listen over alle dine VS Code-udvidelser (eller søg på Kick Assember-plug-in’et) og tryk på det lille tandhjul og derefter Configure Extension Settings.

Når alt er opsat, kan du teste assembleren med for eksempel nogle af eksemplerne, som følger med Kick Assembler. Load en .asm-fil, og tryk Fn + F5 for at kompilere og køre i Vice, eller Fn + F6 for at køre i C64 Debugger.
Kick Assembler har ganske mange avancerede muligheder, for eksempel mulighed for automatisk at generere et lille Basic-opstartsprogram, som kører dit maskin-kodeprogram, samt et scriptsprog som kan bruges til at generere data, du kan bruge i dine programmer – for eksempel sinusbølger til sprite-animationer eller andre ting.
Jeg anbefaler at tage en kig i den medfølgende brugsanvisning!
Nederst i artiklen finder du en liste med nyttige links.
Mac OS – sådan kommer du i gang
Den bedste Commodore 64-emulator, jeg har fundet til både Mac og Windows, er Vice. Version 3.3 er i skrivende stund den nyeste version, men udviklerne bag emulatoren er holdt op med at levere officielle binaries (exekverbare filer).
Mens der findes uofficielle binaries for Windows (som beskrevet under ‘Windows – sådan kommer du i gang’), skal du foreløbig på Mac OS enten kompilere kildekoden selv – eller finde nogen, som har gjort det for dig.
Der uploades af og til eksperimentelle binaries fra udviklere på denne side – men der advares mod, at dette kan være ufærdige og ustabile binaries, ofte med debug-kode. Her fortæller vi dig, hvordan du kompilerer selv.
Her er hele fremgangsmåden:
- Du har brug for en C-compiler: Her har du flere muligheder:
1. Den ene mulighed er at gå ind i App Store på din Mac og downloade Apple Xcode. Dette er et komplet udviklingsmiljø, som indeholder meget mere end du behøver til lige netop dette formål – som i udgangspunktet bare er Xcode Command Line Tools med blandt andet GCC – Gnu Compiler Collection.
2. Hvis du vil slippe for at downloade den massive Xcode-pakke, kan du nøjes med at installere Xcode Command Line Tools. På Mac kan du enkelt installere blot dette ved at åbne et terminal-vindue og så skrive kommandoen gcc ind. Hvis det ikke er installeret fra tidligere, vil der poppe et vindue op, hvor du får valget mellem at installere hele Xcode eller kun kommandolinjeværktøjerne.
- Download Vice. Du finder information om emulatoren og downloadlinks på http://vice-emu.sourceforge.net/. Som sagt er der ikke længere officielle binaries her, men du bliver henvist til download af seneste version af kildekoden fra https://sourceforge.net/projects/vice-emu/ . Du finder alle de forskellige versioner på https://sourceforge.net/projects/vice-emu/files/
- Download en 6510-cross compiler. Vice er afhængig af xa (xa65) – som er en cross compiler – altså en compiler, som kan lave kørbar kode til en anden platform, end den compileren kører på. I vores tilfælde en compiler, som kan lave 6510-maskinkode. Du downloader den herfra: https://www.floodgap.com/retrotech/xa (versionen, vi downloadede, var xa-2.3.10.tar.gz)
- Kompiler xa. Udpak filen, gå til mappen, du har pakket den ud i (i et terminalvindu), og skriv make og derefter make install. Placér filerne et sted, du kan finde dem igen – gerne i /usr/local/bin
- Kompiler Vice. Kildekoden ligger i en komprimeret fil (vice-3.3.tar.gz i vores tilfælde). Dobbeltklik på denne i Finder for at pakke den ud. Så åbner du et terminal-vindue og bruger cd-kommandoen i mappen med kildekoden (som du netop har pakket ud). Du finder udførlige instruktioner for, hvordan du installerer Vice, i filen INSTALL – men her er den korte version:
1. Tast ./configure for at konfigurere alt sammen til dit system. Dette kan tage lidt tid.
2. Tast make for at kompilere pakken.
3. Tast make install for at installere det hele. Nu kan du eventuelt skrive make clean for at fjerne filer, du ikke har brug for længere.
Installer VS Code-plug-in’et Kick Assembler for Visual Studio Code fra Paul Hocker eller KickAss (C64) fra Captain JiNX (vi kunne bedst lide sidstnævnte).
Efter at du har installeret plug-in’et, skal du fortælle det, hvor du har placeret filerne til Kickassembler og C64 Debugger. Gå til listen over alle dine VS Code-udvidelser (eller søk på Kick Assembler-plug-in’et) og tryk på det lille tandhjul og derefter Configure Extension Settings.
Når alt er opsat, kan du teste assembleren med for eksempel nogle af eksemplerne, som følger med Kick Assembler. Load en .asm-fil, og tryk Fn + F5 for at kompilere og køre i Vice, eller Fn + F6 for å køre i C64 Debugger.

Kick Assembler har ganske mange avancerede muligheder, for eksempel mulighed for automatisk at generere et lille Basic-opstartsprogram, som kører dit maskinkodeprogram, samt et scriptsprog, som kan bruges til at generere data, du kan bruge i dine programmer – for eksempel sinusbølger til spriteanimationer eller andre ting. Jeg anbefaler at tage en kig i den medfølgende brugsanvisning!
Held og lykke!
Nyttige ressourcer
Her er nogle websites, som kan være gode at have i baghånden, når du skal i gang med programmering til Commodore 64:

- Glimrende wiki med det meste af det, du måtte undre dig over i forbindelse med Commodore 64-programmering, tekniske detaljer om hardwaren, forskellige programmeringsteknikker osv. : [https://codebase64.org/doku.php]
- Underside af den forrige – her finder du information om programmeringsteknikker, som blev brugt i såkaldte ‘demoer’, for eksempel hvordan man åbner ‘borderen’, laver scroll-tekst, raster bars og så videre: https://codebase64.org/doku.php?id=base:demo_programming
- Oversigt over 6502 opcodes: http://www.6502.org/tutorials/6502opcodes.html
- Generel information om 6502: http://www.6502.org/
- 6502/6510 dissassembler (dxa), der kan lave binærfiler om til læsbar assemblerkode: https://www.floodgap.com/retrotech/xa/#dxa
- C64.com – en masse information om Commodore 64, spil, demoer, interviews og andet: http://www.c64.com/ (tjek også Facebook-gruppen her: https://www.facebook.com/groups/c64com)
- Værktøj til at lave filer i Turbo Assembler om til Kick Assembler-format: https://goatpower.org/projects-releases/tasm-to-kick-assembler-converter/
- CS64db – The C-64 Scene Database. Masser af info om gamle demogrupper, demoer, etc. https://csdb.dk/ (jeg fandt mig selv her – kun guderne ved, hvem der har lagt det ind: https://csdb.dk/scener/?id=7476 )
Har du tips til andre, der har lyst til at komme i gang med programmering på Commodore 64 – eller mener du, at der er noget, vi har glemt i denne artikel? Så skriv endelig i debatten herunder.
Artiklen er fra digi.no.