Skip to content

Copperline 0.7.0

Choose a tag to compare

@LinuxJedi LinuxJedi released this 25 Jun 06:40

Copperline 0.7.0 expands the machine model catalogue, improves the debugger workflow, adds controllable warp-speed frame skipping, wires up macOS DMG release builds, and tightens another set of Copper, Agnus, Denise, blitter, sprite, floppy, and display-timing edge cases. 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. Bare/no-config runs now use the A500 Rev 6A default: ECS 8372A Agnus with OCS 8362 Denise, 512 KiB chip RAM, and 512 KiB trapdoor slow RAM. If you depended on the older plain OCS A500-like default, set --model A500OCS or [chipset] revision = "OCS".

Highlights

  • Expanded machine profiles. The default A500 profile now models the common Rev 6A board, A500OCS covers early OCS A500/A2000-style hardware, A500Plus uses the 8375 Agnus and RTC, and a new A1000 profile models the bootstrap ROM plus writable control store Kickstart load path.
  • Debugger workflow improvements. The debugger and frame analyzer are independent tool windows, breakpoints can be conditional and counted, the UI can step over/out and poke memory or CPU registers, and the GDB monitor gained stepover and finish helpers.
  • Warp-speed controls. Warp mode can now retire multiple emulated frames per presented frame, with 2x, 4x, 8x, 16x, and Max limits available from config, menu, and keyboard shortcuts.
  • Distribution improvements. A macOS workflow now builds and attaches a universal .dmg with the app bundle and bundled AROS ROM. Homebrew remains the source-build install path for macOS users who prefer it.
  • Floppy-drive wiring controls. Config and CLI options can connect one to four floppy mechanisms, including empty external drives for scripted or delayed disk insertion.

Hardware accuracy fixes

  • Copper and custom-register behavior. Copper lists can live at chip RAM address zero, COPCON byte writes mirror onto the word latch so byte bit operations can set CDANG, and Copper/manual sprite palette timing is aligned with the display beam.
  • Agnus and Denise display timing. DDF register precision is now derived from the Agnus revision, low-res DDFSTOP/DDFSTRT edge cases use the correct fetch origin, same-line DIW start writes update the display origin, and CPU palette writes replay at their beam-time positions.
  • Sprites and bitplanes. Manual BPL1DAT writes can enable sprites on scanlines outside the vertical DIW, direct sprite data writes are not clipped by the DMA vertical window, and Copper colour writes stay phase-aligned with the bitplane pixels they recolour.
  • Blitter datapath. Normal-mode A/B barrel-shifter carry is initialized at the start of a new blit while still carrying across rows within that blit.
  • Machine-specific behavior. A1000 reset and LED/audio-filter behavior now follow the writable-control-store machine model, and external floppy drive connection/reset behavior is exposed through the hardware model instead of inferred only from inserted media.

Other improvements

  • Untagged UI builds show the short git commit in the window title and About panel.
  • The frame analyzer can keep the debugger open beside it and supports drag/cursor navigation of selected beam slots.
  • Documentation and example configs cover A1000 booting, A500 Rev 6A defaults, floppy-drive wiring, warp limits, debugger controls, and the macOS DMG install path.

Installation

macOS (Homebrew):

brew tap LinuxJedi/copperline https://github.com/LinuxJedi/Copperline
brew install copperline

macOS (DMG): download Copperline-0.7.0-macos-universal.dmg below, open it, and drag Copperline.app to Applications. The app is ad-hoc signed but not notarized, so first launch may require right-clicking the app and choosing Open.

Linux (AppImage): download Copperline-0.7.0-x86_64.AppImage below, then:

chmod +x Copperline-0.7.0-*.AppImage
./Copperline-0.7.0-*.AppImage

Windows: download and extract the portable Copperline-0.7.0-win-x64.zip below.

From source:

cargo build --release
./target/release/copperline

The bundled AROS boot ROM lets Copperline run out of the box. A real Kickstart ROM and disk or hard-disk images are still required to run commercial Amiga software; these are not included.

Full changelog: v0.6.0...v0.7.0