Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Copperline

Abstract

Copperline is an Amiga emulator (OCS, ECS, and AGA) written in Rust. This documentation covers running and configuring the emulator, setting up machines from the A500 to the A4000 and CD32, using expansion boards, running headless test sessions, and exploring internal architecture.

Keywords:amigaemulatorocsecsrust

Copperline is a cycle-driven Commodore Amiga emulator (OCS, ECS, and AGA) written in Rust. The emulator advances the CPU (68000 through 68060), Agnus, Denise, Paula, CIAs, floppy subsystem, and chip bus on a unified colour-clock timeline. Bus arbitration occurs per colour clock, with Copper and blitter DMA scheduled according to hardware slot sequences.

The project home is copperline.dev; the source code is hosted on GitHub.

Spaceballs' State of the Art running in Copperline

Spaceballs’ State of the Art (1992) running in Copperline.

Documentation overview

Core design principles

  1. Hardware-accurate modeling. Behavior is implemented according to chip specifications rather than application-specific hacks or game title detection.

  2. Determinism. The emulation core executes deterministically with respect to emulated clock cycles and input events. Given identical media and inputs, headless runs and interactive sessions produce identical results.