Copperline v0.9.0 is released. An Amiga emulator written in Rust, built around a vendored copy of the pure-Rust m68k CPU core, with a pixels + winit window for video and stdout for serial. It started life with the modest goal of booting DiagROM far enough to show a menu; it now boots Kickstart and runs timing-sensitive OCS and AGA software from the regression set at real speed.
Features:
Cycle-driven timing core. The chip bus is arbitrated per colour clock between refresh, display/sprite/disk/audio DMA, the Copper, the blitter, and CPU accesses; the Copper and blitter are scheduled per DMA slot with the hardware per-word bus sequences, and 68000 interrupt-recognition latency is modelled. Real-hardware reference numbers come from the cross-emulator disk in timing-test/.
OCS, ECS, and AGA, with independent Agnus/Denise revisions and machine profiles from the A500 to the A1200, plus CDTV and CD32. Boots the bundled AROS ROM out of the box, as well as Kickstart 1.3 / 2.05 / 3.1 and DiagROM v2.0, and runs the current timing-sensitive OCS and AGA regression set at real speed.
Configurable CPU (68000 / 68EC020 / 68020 / 68030 / 68040) and clock, with an optional 68881/68882 FPU (default-on for the 68040).
Peripherals: a bit-timed keyboard (6500/1 MCU), mouse, USB gamepad (via the pure-Rust gilrs, no SDL2), 4-channel Paula audio, floppy (ADF / ADZ / DMS, read-only SCP), Gayle IDE, A2091 SCSI, and CDTV/CD32 CD.
Tooling: an in-window debugger, an interactive chip-bus frame analyzer, remote GDB support, deterministic save states, input recording/replay, and headless screenshot/frame-dump capture -- the deterministic core makes every replay byte-identical.
Copperline changelog:
Copperline 0.10.0 is the largest release so far: 68060 support, expanded 68030/68040 MMU and cache behaviour, a much richer debugger, A4091 SCSI board emulation, host MIDI/TCP serial bridges, selectable audio output, zipped floppy images, and another broad pass over CPU, Copper, Agnus, Denise, Paula, CIA, blitter, floppy, and display timing. It remains a hardware-behavior release: compatibility fixes model the underlying Amiga subsystems rather than individual titles.
Required config changes
None for existing valid config files. New CPU, cache, display, audio, MIDI, TCP serial, and debugger-facing options are optional, and omitted configs continue to parse.
CPU cache defaults are now closer to shipped 68020+ systems: Copperline enables the on-chip instruction/data caches by default on CPU models that have them. If you need the older cache-off behaviour for a local setup, set the relevant [cpu] icache = false and/or dcache = false override.
Save states are versioned, and 0.10.0 uses a new state format for CPU/MMU/cache state, A4091 state, serial host resources, debugger-visible machine shape, and other expanded hardware snapshots. Older state files are refused with the usual version error instead of being loaded across incompatible layouts.
Known issues
This release has known visual regressions in some display paths. These will be addressed in the next release.
Highlights
68060 CPU model. Copperline now exposes a 68060 CPU profile with control registers, supervisor-stack behaviour, scalar timing, branch-cache modelling, LPSTOP, 68060 MMU specifics, the reduced 060 FPU surface, unimplemented-instruction traps, 060 exception frames, superscalar pairing, and launcher/config/docs support.
Deeper 68030/68040 MMU and cache coverage. The m68k core now models 030/040 translation, TTRs, access-error frames, ATC behaviour, write-protect and permission faults, MOVE16 alignment behaviour, and 68040 instruction/data caches, backed by expanded CPU fixture tests.
Debugger console and frame-analysis workflow. The debugger gained a command console with clipboard paste, memory/register inspection and mutation, HUNT, TRACE START/STOP, AmigaOS task/segment introspection, catchpoints, recent-PC history, heuristic call-stack walking, reverse-run targets, richer watchpoint attribution, IO Map, Video, Break, Memory, Frame Analyzer, a Paula audio debugger tab with per-channel mutes and scopes, Copper stepping, and beam-scrubbing improvements.
A4091 Zorro III SCSI board. A new board model covers nibble-wide autoboot ROM exposure, DMA and SCSI FIFOs, NCR/Symbios SCRIPTS register moves, memory moves, interrupts, looped SCSI pins, bus reset, drive scan/mount, and diagnostics under COPPERLINE_DIAG_A4091.
Host I/O improvements. Paula serial can bridge to host MIDI or a bidirectional TCP sink, live audio can select output devices and mono/stereo shaping, Cmd/Alt+Shift+A cycles audio output, and ZIP-wrapped floppy images are supported.
Hardware accuracy fixes
CPU timing and interrupt delivery. 68000/68010 IPL poll placement, interrupt-dispatch idle clocks, STOP wake timing, 68010 prefetch/refill behaviour, MOVES timing, MOVE-from-CCR timing, and Class 2 MOVE-to-absolute-long prefetch order were tightened against microcode and cputest coverage.
Copper pipeline and write landing. WAIT/SKIP/COPJMP execution now follows the fetch pipeline more closely, dormant COPxLC writes retarget the Copper PC, skipped MOVEs still pass illegal-register decode, vertical-blank COP1LC restart happens at the hardware position, and CPU/Copper custom-register write effects are referenced from their carrying chip-bus slot.
Agnus/Denise fetch, display, and sprite timing. The DDF sequencer now models start/stop flip-flops, raw below-hard-start fetch origins, FMODE=0 placement, DIW comparator anchoring, BPLCON0 propagation, overprogrammed BPU suppression, sprite DMA slots/register state, HAM/dual-playfield invalid priority cases, and collision over enabled planes.
Blitter micro-cycles. Normal and line-mode blits now follow a per-slot micro-cycle protocol, including BLTPRI/CPU starvation interactions, fixed DMA slot contention, line micro-programs, startup cycles, and completion/IRQ prediction with active Copper DMA.
Paula, CIA, and floppy behaviour. Paula audio moved to the HRM channel state machine, AUDxEN disable is deferred to the word boundary, POTxDAT counters tick at H-sync, CIA accesses synchronize to the E clock, CIA IRQ pins and TOD alarm/TOD bug behaviour were refined, floppy step pulses observe a mechanism floor, and empty drives stay in no-media state.
External contributions
Bernie Innocenti (@codewiz) contributed the A4091 board work, bidirectional TCP serial sink, side-effect-free debugger board peeks, debugger address masking, MOVEC disassembly, MMU reset/control-register fixes, and Zorro warm-reset behaviour.
Lee Hobson (@hobbo91) contributed host audio-device selection, mono/stereo audio controls, the live audio-output shortcut, and the Paula serial-to-MIDI bridge.
jbl007 (@sonnenscheinchen) contributed ZIP-wrapped floppy image support.
Other improvements
The project now has a copperline library crate, split bus/video/window submodules, reusable render-frame buffers, --version, and clearer unknown-option/config-validation errors.
Regression coverage grew with WinUAE cputest runner infrastructure, TomHarte SingleStepTests in CI, 68000-68060 CPU fixtures, vAmigaTS comparator tooling, image-regression hooks, and additional hardware-behaviour unit tests.
Documentation covers the expanded CPU/MMU/cache model, debugger console/workflows, MIDI/audio configuration, headless test workflows, A4091 and Zorro behaviour, timing details, and the reorganized source layout.
Download: Copperline v0.10.0 x64
Source: Here
2026-07-08
Tags:
Copperline,
Official_Build,
Others

NewsLetter
Bookmark
Submit News
Email Us

Random Related Topic
0 Comments
Post a Comment
Can't post a comment? Try This!