$ Rust PET Emulator

View on GitHub →

A Commodore PET 4032 emulator written in Rust. The PET was Commodore's first full-featured computer (1977), featuring a 1 MHz MOS 6502 CPU, 32KB RAM, and a distinctive built-in cassette tape drive. This emulator faithfully recreates the hardware for running classic PET software with keyboard input, file loading, and authentic 40-column display rendering.

quick start

cargo run --release

### features

  • - MOS 6502 CPU - Complete emulation with official opcodes at 1 MHz speed
  • - BASIC 4.0 - Full Commodore BASIC interpreter with ROM support
  • - Keyboard Input - Type on virtual PET keyboard using your physical keyboard
  • - .prg File Loader - Load and run Commodore PET programs with file browser
  • - 40-Column Display - Authentic character-based video output with SDL2
  • - 32KB RAM - Accurate memory layout with ROM bank switching

### controls

Keyboard - Type on the virtual PET keyboard
F2 - Open file browser to load .prg files
↑/↓ - Navigate files in file browser
Enter - Select and load a file
Backspace - Navigate to parent directory
Escape - Exit the emulator

### requirements

Rust toolchain (1.80+)
SDL2 development libraries
MOS 6502 emulator crate

ubuntu/debian

sudo apt install libsdl2-dev libsdl2-ttf-dev

arch linux

sudo pacman -S sdl2 sdl2_ttf

macos

brew install sdl2 sdl2_ttf

### running

cargo build --release - Build optimized binary
cargo run --release - Build and run

Software for the PET is available at: zimmers.net

### learn more

Experience computing history by running classic PET software. The emulator includes all necessary ROM files and provides an authentic 8-bit computing experience.