Amiga hardware, modelled in detail
OCS, ECS and AGA machines with 68000 to 68060 CPUs, Zorro expansion boards, hard disks and CD drives.
Hardware and configurationAmiga emulation · Written in Rust

An open-source Amiga emulator for games, demos and development.
For macOS, Linux, Windows and your browser.
OCS, ECS and AGA · A500 to A4000 · CDTV and CD32
Copperline includes AROS, an open-source Kickstart replacement, so it boots without a ROM of your own. Bring your own disk images; some software needs an original Kickstart ROM. Check compatibility.
For Apple Silicon and Intel Macs. Open the DMG and copy Copperline.app to Applications.
The app is ad-hoc signed rather than notarized, so macOS may block the first launch. Allow it in System Settings → Privacy & Security → Open Anyway.
brew tap CopperlineHQ/copperline https://github.com/CopperlineHQ/Copperline
brew install copperline
AppImage for x86-64. Make it executable, then launch it:
chmod +x Copperline-1.0.0-rc.1-x86_64.AppImage
./Copperline-1.0.0-rc.1-x86_64.AppImage
A Vulkan driver is required. See the Linux setup guide.
Extract the whole ZIP, then open copperline.exe. Keep the folders beside it: they hold the bundled ROMs and WHDLoad support files.
Pick the download for your system, or open the browser version.
The launcher starts with an A500 running AROS. Choose another machine or your own Kickstart ROM, then start it. Configuration guide.
On the desktop, drag a disk image onto the window or insert one from the status bar. WHDLoad archives can be launched directly.
Upgrading from 0.21? Every netplay peer needs the same release, RetroArch save states need recreating after updating the core, and high-density floppy images are now refused. Read the upgrade notes.
Building from source needs Rust 1.95 or newer and the dependencies for your platform.
git clone https://github.com/CopperlineHQ/Copperline.git
cd Copperline
cargo build --release
./target/release/copperline
With the Homebrew tap installed, brew install --HEAD copperline builds the latest development version.
OCS, ECS and AGA machines with 68000 to 68060 CPUs, Zorro expansion boards, hard disks and CD drives.
Hardware and configurationRollback netplay for two players on desktops or in browsers, or up to four on desktops through the four-player adapter, with up to eight spectators. The host sends the machine setup, ROMs and supported media, so the other players need no local copies.
Set up netplayA libretro core for A500, A1200 and CD32 software, with WHDLoad, playlists, save states, four local controller ports and RetroArch netplay.
Install the coreInspect registers and memory beside the Amiga display. Rewind execution to find the instruction that changed a value.
See the Debug workspaceThe Frame Analyzer shows which part of the machine used the chip bus in each cycle of a frame.
Explore frame analysisScript inputs, capture frames and replay sessions for regression tests. Debug Amiga source code from VS Code.
Scripting and developmentThe Debug workspace puts registers, disassembly and memory beside the Amiga display. Resize the panes, edit values and follow addresses between inspectors.
Reverse stepping replays earlier execution from snapshots. Find the last change to a memory address, or run backwards to a breakpoint.
Reverse debuggingPress Cmd+B on macOS or Alt+B on Linux and Windows. The inspectors keep their state while you play.
Workspace controls and inspectorsSee whether the CPU, the Copper, the blitter or another DMA channel owns each bus cycle across a video frame. Inspect a single scanline, find where the CPU waited for the bus, or overlay bus activity on the picture to match timing to what is on screen.

Schedule inputs and captures from the command line, record a session to a .clscript file, or drive a running machine through the JSON-RPC control protocol.
copperline --factory --model A500 --insert-disk-after 0 df0 game.adf \
--noaudio --press-after 4 SPACE --screenshot-after 12 shot.pngA run repeats exactly when the configuration, media, clock seeds and inputs are the same. Live host files, networks and physical devices can make runs differ. Determinism and the host boundary.
Games, demos and Workbench run on OCS, ECS and AGA machines, but not everything works yet. Compatibility depends on the software and the configuration, and accuracy improves with each release.
CPU behaviour is checked against the SingleStepTests 68000 corpus and WinUAE's cputest sets, chipset behaviour against vAmigaTS and Copperline's own probe disks, and timing against measurements on real Amigas. The documentation has the details.
Found a problem? Check the existing issues or report it with the version, the machine configuration and the steps to reproduce it. An input recording helps.
No. Copperline boots its included AROS ROM straight away. Some software needs an original Kickstart ROM; if you have one, select it in the launcher. Read the setup guide.
WinUAE, FS-UAE and vAmiga have many years of compatibility work behind them, and Copperline is much younger. It concentrates on reverse debugging, chip-bus analysis, scripting and repeatable tests. The browser build and netplay also make it easy to try a configuration or play together.
Not yet. The downloads are ad-hoc signed, so macOS asks you to approve the first launch in Privacy & Security. Installing with Homebrew builds Copperline from source on your Mac instead, so there is nothing to approve.
I work from hardware documentation, real Amigas and test disks. AI coding assistants help with implementation, tests and debugging, and changes are checked with hardware tests and regression runs.
The Copper is the Amiga's display coprocessor. It runs alongside the CPU and writes chipset registers in step with the video beam, which is how raster effects such as colour bars are drawn. Copperline is named after it.
I wanted an Amiga emulator I could automate from the command line and use to track down difficult bugs. The first milestone was getting DiagROM to display its menu.
I also repair, collect and design hardware for real Amigas. Those machines are my reference when the emulator's behaviour needs checking.
More about my workChat on Discord about configurations, demos and Amiga hardware.
Report an issue or contribute a fix on GitHub.
See community projects built with Copperline.
Support helps cover development hardware, testing equipment and code-signing costs. Join Patreon, or give through GitHub Sponsors, Ko-fi or PayPal.
Thank you to patrons Lee Hobson, Sphair and Karlos_Fandango, and contributors Bernie Innocenti, Lee Hobson, jbl007, Simon Dick, Nicolas Ramz, Ben Letchford, Volker Schwaberow and Matt Harlum.