I wanted to share my C64 emulator I created in LabVIEW.
Why is somebody doing this?
That’s easy! For years I was wondering if it is complicated to emulate a processor or a whole computer platform.
So played around with the C64 roms I found on the web and a state machine in LabVIEW...
My goal was to make the C64 boot the Kernel and Rom so that I can write a little basic program like:
10 PRINT “HALLO”
20 GOTO 10
It took me a couple of weeks to get that far. I found many helpful resources on the web and got a copy of the Commodore 64 programmer’s reference manual from a friend (thanks Tapio!).
I got a few games working on the emulation, for example Lode Runner, Centipede etc.
This example code shows how an emulator can be written in LabVIEW, although is not a complete C64 emulator.
This program emulates most parts of the famous Commodore 64 home computer.
You can use the build in BASIC and some program files (PRG), for example games
- 6510 CPU with almost all OpCodes
- VIC with almost all Screen modes, sprites, collision detection and IRQs
- Keyboard and Joystick input
These parts of the C64 are not yet implemented:
VIC: Extended background color mode, fine scrolling
CIA: Timers, Serial port
SID: The is so far no sound at all!
Floppy and Datasette are not implemented.
I attached the emulator. Download and unzip it, look for original C64 ROMs on the web and place them in the folder named ROMs.
They must be named: kernal.rom, basic.rom, char.rom
Run the MAIN VI and have fun!
- C64.zip (1,004.4 K)