CopperBoy is an Arduboy emulator written in Rust.
Although this project is in a Work in Progress status, currently the emulator is capable of playing many of the ArduBoy games at full speed. You can find a nice game collection in eried's ArduboyCollection.
- Running ArduBoy games in
.hex
format. - The full AVR ISA is implemented.
- Not all atmega32u4 hardware is implemented. I've been implementing what the games I tested needed to work.
- Sound is fully working.
Currently there's an SDL frontend included in the emulator.
First you need to install the sdl2
and sdl2_ttf
libraries with your
operating system's package manager.
Then you can build the rust binary:
./ci/build-bin.sh sdl linux-gnu-x86_64
You can run the emulator with cargo:
./target/x86_64-unknown-linux-gnu/release/sdl ROM_PATH
libretro:
./ci/build-libretro.sh linux-gnu-x86_64
GPLv3 (see LICENSE file).
- AVR Instruction Set Manual
- atmega32u4 Datasheet
- Display Driver: SSD1306 Datasheet