Skip to content

Latest commit

 

History

74 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rust-c64

A Commodore 64 emulator written in Rust.

Requires binary files for the contents of the ROM chips. You can download them here: http://www.zimmers.net/anonftp/pub/cbm/firmware/computers/c64/.

What works?

  • CPU emulation (it's almost cycle-accurate!) at PAL or NTSC clock speed

What doesn't?

  • Everything else

Installation

Prerequisites

You'll need rust and libsdl2 to compile this project. See the SDL2 README for instructions on how to install its prerequisites.

Then you should be able to build the project with cargo build.

ROMs

This emulator doesn't include binaries for the various ROM chips in the Commodore 64. You can download them from http://www.zimmers.net/anonftp/pub/cbm/firmware/computers/c64/.

Here are the ROMs required by the emulator with links to the specific ones I've tested:

Usage

Right now all you can do is start up the emulator and watch it process CPU instructions; video and audio aren't yet supported.

You can build and run the emulator with Cargo, just make sure to specify the paths to your ROM files:

$ cargo run -- -k roms/kernal.bin -b roms/basic.bin -r roms/char.bin

Options

    -c, --clock TYPE    Clock speed to use. Options are PAL (default) or NTSC
    -k, --kernal FILE   Location of the KERNAL ROM file.
    -b, --basic FILE    Location of the BASIC ROM file.
    -r, --char FILE     Location of the charater ROM file.
    -d, --debug         Show debugging information
    -h, --help          Display this information

C64 Documentation

MOS 6510 CPU

VIC-II

About

A Commodore 64 emulator written in Rust.

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages