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.
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 (1992) running in Copperline.
Documentation overview¶
Getting started -- Installation, build instructions, and initial setup.
Configuration reference -- Complete
copperline.tomlreference for machine profiles, memory, storage, expansion boards, and input.The window, status bar, and menus -- Window controls, status bar, keyboard shortcuts, and gamepad mapping.
WHDLoad support -- Direct launching and library management for WHDLoad packages.
Direct executable launching (--run) -- Rapid testing of cross-compiled Amiga executables.
Physical floppy drives (FluxBridge) -- Connecting physical floppy drives via Greaseweazle hardware.
Physical host disks -- Attaching physical host drives and storage cards directly.
Roland MT-32 emulation -- Built-in Roland MT-32 emulation and front-panel display.
Coppersynth (General MIDI synthesizer) -- Built-in General MIDI SoundFont synthesizer.
Hayes modem emulation -- Hayes-compatible AT modem emulation over TCP.
Importing UAE configurations -- Converting WinUAE, Amiberry, and FS-UAE configurations.
Headless and scripted execution -- Scripted, non-interactive execution for automated testing and CI.
Browser build and WebAssembly integration -- WebAssembly build and web integration details.
Standalone game player (Player kit) -- Bundling standalone player packages for specific games.
Writing Zorro board plugins -- Expansion bus specification and custom Zorro II/III plugin definitions.
The debugger window, Headless debugger environment reference, and Remote GDB debugging -- Interactive, command-line, headless, and GDB debugging tools.
Control protocol (CCP) -- JSON-RPC control protocol (
copperline-ctl) for automation.Architecture overview -- Emulator internals and subsystem architecture.
Core design principles¶
Hardware-accurate modeling. Behavior is implemented according to chip specifications rather than application-specific hacks or game title detection.
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.