Skip navigation

Community

Currently Being Moderated

A Commodore 64 emulator written in LabVIEW

Posted by Christian_Gindorf on Oct 20, 2009 7:24:20 AM

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

C64_FoorLoop.jpg

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.

 

C64_Game.jpg

 

This example code shows how an emulator can be written in LabVIEW, although is not a complete C64 emulator.

 

Overview

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!

 

Christian

Attachments:
Comments (19)