Skip to content

Releases: LinuxJedi/Copperline

Copperline 0.9.0

Choose a tag to compare

@github-actions github-actions released this 29 Jun 06:45

Copperline 0.9.0 brings a large 68881/68882 FPU accuracy pass, explicit joystick input selection, no-ROM save-state startup, hard-disk volume-name overrides, and another round of CIA, Paula, keyboard, Denise, sprite, bitplane, RTC, and display-timing fixes. 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. The new joystick input setting and hard-disk volume-name fields are optional; omitted configs keep the existing defaults.

Save states are versioned, and 0.9.0 uses a new state format for 80-bit extended FPU register snapshots. Older state files are refused with the usual version error instead of being loaded across incompatible layouts.

Highlights

  • 68881/68882 FPU accuracy. The in-tree m68k core now has an 80-bit extended register file, pure-Rust softfloat paths, packed-decimal real support, exact FMOVECR constants, memory/immediate-source monadic operations, extended-precision exp/log/trig/inverse-trig/hyperbolic kernels, FPCR rounding propagation, FPSR exception bytes, and exact FMOD/FREM quotient handling.
  • Explicit joystick input mode. Copperline now has a status-bar toggle, menu entry, launcher control, and [input] joystick = "gamepad" | "keyboard" config setting so keyboard joystick emulation and physical gamepad input are selected deliberately.
  • No-ROM save-state startup. --load-state can restore a snapshot without opening the original ROM file first, using a placeholder only long enough to let the state replace the machine. Loading a state over the configuration screen now installs live host audio instead of keeping the silent placeholder sink.
  • Hard-disk volume-name overrides. Directory and generated hard-disk images can now expose configured AmigaDOS volume names, with launcher and TOML round-tripping for IDE and SCSI drives.
  • Local-time RTC reporting. The battery-backed RTC now reports host local time where the platform exposes it, while COPPERLINE_RTC_FIXED_SECS remains deterministic for replay and debugging.

Hardware accuracy fixes

  • CIA timer one-shot behavior. CIA one-shot timers now keep the START bit visible through the auto-started interval, matching software that polls the running state to time the one-shot.
  • Floppy motor timing. Drive motor spin-up/spin-down state is now forwarded through the controller path used by disk DMA and status reporting.
  • Keyboard KDAT handshake. The emulated keyboard MCU now accepts short but real Amiga-side KDAT-low handshake pulses after a byte, instead of requiring the longer nominal HRM pulse width.
  • Paula POTxDAT counters. POTGO-driven high pins now hold the matching POTxDAT counter at zero, matching the way software reads fully charged paddle/fire-button lines.
  • Display fetch origin and latches. Early hi-res DDFSTRT output is word-aligned, late-DDF first words sample complete plane latches, manual sprite data latches survive position retiming, and per-frame collision accumulation is gated by CLXDAT observation.

Other improvements

  • The vendored m68k fork moved from vendor/m68k to crates/m68k and is packaged as copperline-m68k, making the local dependency boundary explicit.
  • Menu popups size themselves to the widest visible label.
  • Documentation covers joystick input selection, drive volume-name overrides, FPU model details, KDAT handshake timing, POTxDAT behavior, and the updated m68k crate layout.

Installation

macOS (Homebrew):

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

macOS (DMG): download Copperline-0.9.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.9.0-x86_64.AppImage below, then:

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

Windows: download and extract the portable Copperline-0.9.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, hard-disk, or CD images are still required to run commercial Amiga software; these are not included.

Full changelog: v0.8.0...v0.9.0

Copperline 0.8.0

Choose a tag to compare

@github-actions github-actions released this 27 Jun 09:17

Copperline 0.8.0 adds the no-config machine launcher, external Zorro board plugins, A2065 networking, directory hard-disk filename encoding fixes, startup state-load fixes, and another round of Denise, Agnus, sprite, bitplane, display-window, and save-state render timing improvements. 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. Starting Copperline with no machine, config, ROM, override, or headless/scripted option now opens the machine-configuration launcher instead of immediately booting the default A500 setup. To boot directly, pass a machine option such as --model A500, provide a config, or use the headless/scripted path you already use.

Base A500, A500OCS, A600, A1200, A1000, and CD32 profiles now default to no battery-backed RTC, matching the shipped machines. If you relied on the older fitted-clock default, set [machine] rtc = true.

Save states are versioned, and 0.8.0 uses a new state format for functional Zorro device snapshots. Older state files are refused with the usual version error instead of being loaded across incompatible layouts.

Highlights

  • Machine-configuration launcher. A no-options launch now opens a full configuration screen, also available from the menu. It can edit machine profile, chipset, CPU, memory, ROM, floppy, hard-disk, CD, Zorro, audio/video, and emulation settings, then run, load, save, or reset them through the same TOML schema as hand-written configs.
  • External Zorro board plugins. Functional Zorro boards now sit behind a ZorroDevice boundary, and WASM plugin boards can expose deterministic read/write/tick/interrupt behavior with optional DMA, config, file-resource, and networking capabilities.
  • A2065 networking. Copperline includes an in-tree Commodore A2065 Ethernet board with Am7990 LANCE programming-model coverage and a loopback backend. Networking remains a host resource and is documented as non-deterministic while traffic is active.
  • Schema-driven plugin settings. WASM board manifests can declare string, bool, int, file, and enum options. The launcher renders those schemas as editable controls and writes per-board config overrides.
  • Startup state loading. Loading a save state from the launcher now replaces the powered-off placeholder timeline cleanly, closes the launcher, wakes the event loop, and reanchors pacing before the first restored frame.

Hardware accuracy fixes

  • Sprite DMA and pointer timing. Agnus sprite DMA frontiers now carry across the frame boundary, sprite pointer retargeting distinguishes same-line descriptor restarts from pending-data retargets, and vertical blank inhibition prevents pre-fetch SPRxPT writes from retargeting descriptors that hardware has not fetched.
  • Denise sprite and palette latches. Active sprite POS writes retime horizontal starts without cancelling the latched data stream, manual SPRxDATA/SPRxDATB writes run in the sprite comparator domain, and OCS/ECS COLORxx replay lands in Denise final palette/output timing.
  • Bitplane fetch and shifter handoff. Late DDF rows start output at the first fetched word, per-plane output waits for each plane fetch slot, BPL1DAT handoff no longer leaks stale shifter tails, and manually written BPL1DAT data stops when real DMA replaces the shifter contents.
  • Display-edge replay. HAM display-window history, overscan COLOR00 handling, AGA BPLCON1 delay replay, and display-window edge pixels were tightened so stale palette or shifter state does not leak across row boundaries.
  • Restored-frame rendering. Loading a state mid-field preserves the hardware timeline while withholding partial render-capture buffers until a complete field is available for screenshots, frame dumps, and presentation.

Other improvements

  • Directory-as-hard-disk filename handling now preserves host-path encoding more robustly.
  • The offline Flatpak cargo source list was regenerated for the new WASM runtime dependency set.
  • Documentation covers the launcher, Zorro/WASM plugin ABI, A2065 config, networking determinism caveats, save-state device snapshots, and the updated display timing model.

Installation

macOS (Homebrew):

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

macOS (DMG): download Copperline-0.8.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.8.0-x86_64.AppImage below, then:

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

Windows: download and extract the portable Copperline-0.8.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, hard-disk, or CD images are still required to run commercial Amiga software; these are not included.

Full changelog: v0.7.0...v0.8.0

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

Copperline 0.6.0

Choose a tag to compare

@LinuxJedi LinuxJedi released this 23 Jun 06:15

Copperline 0.6.0 adds a chip-bus frame analyzer, a remote GDB debugger frontend, Zorro identification metadata, Linux Vulkan presentation checks, and another pass over display, sprite, floppy, and live-audio timing. It is still a hardware-behavior release: the fixes model the underlying Amiga subsystems rather than individual titles.

Required config changes

None. Existing configs should continue to load. Linux windowed presentation now requires a Vulkan-capable driver stack; headless runs are unaffected.

Highlights

  • Chip-bus frame analyzer. A new debugger tool window visualizes per-frame chip-bus ownership, DMA spans, CPU waits, blitter pressure, and display fetch activity for timing investigations.
  • Remote GDB debugging. Copperline can now expose the emulated CPU to a GDB frontend for source-level and machine-level debugging outside the built-in UI.
  • Zorro board identification. Autoconfig metadata can now identify Copperline boards using the registered manufacturer ID, board ID, and a version-derived serial number.
  • Linux presentation hardening. Linux GUI presentation now requires Vulkan explicitly, with CI smoke coverage for the required X11/Vulkan runtime libraries.

Hardware accuracy fixes

  • Agnus and Denise display timing. TV-visible horizontal overscan is modelled, bitplane pre-fetch no longer scrolls into the first line of a DMA block, and sprite pointer/fetch timing is tightened around DMA descriptor updates.
  • Chip-bus and audio pacing. Bitplane ownership planning avoids redundant work, pending sprite descriptor origins are preserved, and live audio starvation during heavy display effects is reduced.
  • Floppy media. Padded UAE-1ADF AmigaDOS tracks are accepted without treating the padding as part of the logical track payload.
  • Zorro Autoconfig. The built-in identification board reports Copperline metadata through hardware-derived Autoconfig fields.

Other improvements

  • The debugger documentation now covers the chip-bus analyzer and remote GDB flow.
  • Homebrew release documentation was refreshed around formula checksum and tap validation steps.
  • The README and guide now document the Linux Vulkan presentation requirement.
  • Documentation credits and internals notes were updated for the new timing and diagnostic workflows.

Installation

macOS (Homebrew):

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

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

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

Windows: download and extract the portable Copperline-0.6.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.5.0...v0.6.0

Copperline 0.5.0

Choose a tag to compare

@LinuxJedi LinuxJedi released this 21 Jun 09:18

Copperline 0.5.0 is a compatibility-focused release with a broad pass over OCS/ECS and AGA display timing, sprite replay, HAM rendering, floppy image handling, and live-audio pacing. It also includes the first external contribution: thanks to @sonnenscheinchen (jbl007) for improving directory scans by filtering UAE metadata files.

Required config changes

None. Existing configs should continue to load. The built-in A500 profile now defaults to the common 512K chip / 512K slow RAM setup; explicit config values are unchanged.

Highlights

  • OCS/ECS and AGA display compatibility. Copper-driven palette changes, wide and clipped DIW/DDF windows, bitplane fetch timing, and AGA sprite palette timing are modelled more closely.
  • HAM rendering fixes. HAM hold state now advances through hidden DMA samples, lo-res edge fetches stay aligned at the right edge, and palette timing no longer smears copper-gradient scenes.
  • Sprite replay fixes. Manual sprite data/control writes, SPRxPOS comparator timing, sprite DMA rewrites, sprite reuse, and zero-height DMA descriptors now follow the hardware timing more closely.
  • Better media defaults and scans. The default A500 memory profile is now 512K chip / 512K slow RAM, PAL-sized ADF images get matching track gaps, and directory scans ignore UAE metadata files.

Hardware accuracy fixes

  • Denise and Agnus display timing. OCS DIW/DDF edge cases, per-block bitplane DMA, DDF-start plane count latching, BPLCON1 scroll retiming at the DIW edge, and separate COLORxx vs AGA BPLCON4 sprite-palette timing are tightened.
  • HAM and palette replay. Hidden DMA samples advance HAM colour history, early lo-res DDF fetches expose complete groups without leaking stale right-edge pixels, and same-line COLOR writes use the Denise palette-output phase.
  • Sprites. SPRxPOS writes use the Denise comparator domain, manual sprite writes preserve compare-boundary output, sprite DMA pointer rewrites seed the next descriptor fetch, and zero-height descriptors stop cleanly.
  • Blitter and bus timing. Per-block bitplane DMA, blitter carry/latch behaviour, and interrupt unmask handling are more accurate across fixed-DMA and copper-heavy scenes.
  • Floppy media. PAL-length ADF track gaps are represented more accurately.

Other improvements

  • Reverse-frame debugger controls were added to the UI.
  • Headless diagnostics now include cached HAM, manual bitplane, frame-pixel, palette-row, sprite-capture, and sprite-pixel tools for timing investigations.
  • Live audio prebuffer pacing was improved.
  • Documentation and example configuration comments were refreshed around machine profiles, diagnostics, save-state behavior, and timing internals.
  • All COPPERLINE_* test and utility environment reads now go through the cached envcfg snapshot helper.

Installation

macOS (Homebrew):

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

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

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

Windows: download and extract the portable Copperline-0.5.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.4.0...v0.5.0

Copperline 0.4.0

Choose a tag to compare

@github-actions github-actions released this 19 Jun 11:51

Copperline 0.4.0 adds reverse debugging, keyboard joystick control, optional realtime-like scheduling for latency-sensitive threads, and a broad hardware-timing pass across AGA display, 68020/68030 chip-bus behavior, Paula disk DMA, and save-state resume.

Required config changes

None. Existing configs should continue to load. New settings are optional.

Highlights

  • Reverse debugging. A deterministic snapshot/input replay ring now powers reverse-step support in the debugger and a headless last-writer reverse watchpoint for memory corruption investigations.
  • Keyboard joystick input. Cmd+J / Alt+J cycles joystick input mode between auto, keyboard, and gamepad. The default now derives from available host input, with keyboard as the auto fallback.
  • Opt-in realtime-like scheduling. [emulation] realtime_priority = true raises the pacer and audio callback priority where the host OS allows it, while leaving the renderer at normal priority.
  • Save-state resume follows the saved machine. Loading a state now reconfigures the host-facing emulator around the saved machine descriptor before continuing.

Hardware accuracy fixes

  • 68020/68030 cache and chip-bus timing. On-chip caches are modelled by default, 020 instruction timing is recalibrated, 68020+ chip-bus writes use the three-clock write-posted cycle, and chip/custom reads account for data-return waits.
  • AGA blitter and display timing. AGA blitter/chip-bus timing, Denise captured-playfield timing, wide-FMODE bitplane fetch counts, and wide-open DIW presentation are tightened.
  • Sprite timing. Copper-repositioned held sprites, SPREN-off held display, attached sprite presentation, manual sprite position writes, BPLCON4 sprite page nibbles, and BPLCON4 sprite timing are modelled more closely.
  • AGA scroll decode. BPLCON1 AGA scroll fields are decoded separately.
  • Paula disk DMA. Disk-read DMA now preserves the correct word phase through Paula.
  • Video presentation. The TV lower crop is tightened by one row.

Other improvements

  • Auto-generated filenames now use local YYYYMMDDHHmmSS timestamps.
  • The example config is easier to scan and documents TOML escaping for Windows paths.
  • Reverse debugging, savestate determinism, realtime priority, AGA sprite diagnostics, and the timing-test workflow are documented.
  • The Homebrew formula is updated to v0.4.0 with the final tag tarball checksum.

Installation

macOS (Homebrew):

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

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

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

Windows: download and extract the portable Copperline-0.4.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.3.0...v0.4.0

Copperline 0.3.0

Choose a tag to compare

@LinuxJedi LinuxJedi released this 17 Jun 10:33

Copperline 0.3.0 brings threaded rendering on by default, a round of host-CPU optimisations, and several hardware-accuracy fixes (AGA dual playfield, floating bus, ECS DIWHIGH). It also adds a portable Windows build.

Required config changes

Existing configs keep working, but two keys have changed and you should update yours:

  • [machine] model is now [machine] profile. Rename the key:

    [machine]
    profile = "A1200"   # was: model = "A1200"

    The old model key is still accepted as a deprecated alias, but it can be confused with [cpu] model (and triggers a "duplicate key model" parse error if the [machine] header is commented out while its value line is not).

  • [emulation] speed is gone. "real" was the only timing model, so the key carried no information. It is still accepted and ignored (with a warning), but you can delete it.

    [emulation]
    # speed = "real"   # remove this line; it is now ignored

Highlights

  • Threaded rendering by default. The framebuffer paint runs on its own thread, fed by an owned RenderInput bundle, while the deterministic core keeps cycle-stepping. The emulated result is unchanged and still byte-identical.
  • Host-CPU optimisations. Idle floppy/keyboard device ticks are skipped, timed-device ticks are deferred to observation/instruction boundaries, the bitplane fetch pattern is memoised into a per-plan slot bitmask, background fill is chunked, and collision/Paula hot paths were tightened. Live playfield collision is now memoised.
  • Portable Windows build. A portable Windows x64 zip is now produced by CI and attached to releases.

Hardware accuracy fixes

  • AGA dual playfield decoded as four bits per field. Lisa adds plane 7 to playfield 1 and plane 8 to playfield 2; the previous 3-bit decode collapsed colours (e.g. Zool's black body rendered orange).
  • Floating bus. Unmapped CPU reads now float to the chip data bus instead of returning a fixed value.
  • ECS DIWHIGH revert. A DIWSTRT/DIWSTOP write now reverts DIWHIGH to its OCS-implicit value in the renderer, matching ECS Agnus behaviour.
  • 256 KiB Kickstart ROMs are accepted and mirrored across the full ROM window.
  • CD32 runtime CD inserts notify cd.device via a tray delay so games detect the new disc.

Other improvements

  • Deterministic benchmark mode added for performance work.
  • gilrs gamepad mapping warnings are quieted, and use of saved controller calibration is logged.

Documentation

  • Documented the AGA dual-playfield decode, benchmark mode, and device-tick batching.
  • Documented the floating-bus model, RTC determinism, and the ECS DIWHIGH revert.

Installation

macOS (Homebrew):

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

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

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

Windows: download and extract the portable Copperline-0.3.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.2.0...v0.3.0

Copperline 0.2.0

Choose a tag to compare

@LinuxJedi LinuxJedi released this 15 Jun 13:30
6517238

Copperline 0.2.0 is the first release that boots out of the box and ships installable packages for macOS and Linux.

Highlights

  • Boots with no ROM of your own. The open-source AROS Kickstart replacement is now bundled and booted by default, so Copperline runs immediately without a copyrighted Kickstart. A new menu lets you load your own Kickstart and extended ROMs at runtime.
  • Installable everywhere.
    • macOS: the repository is now a Homebrew tap (brew tap LinuxJedi/copperline https://github.com/LinuxJedi/Copperline && brew install copperline). It builds from source, so the binary is not subject to Gatekeeper quarantine.
    • Linux: distributed as a Flatpak (for Flathub) and as a portable AppImage attached to this release. Both bundle the AROS boot ROM.

Fixes and improvements

  • Audio output (cpal) is now suspended while the host pauses the emulator, instead of looping the last buffer.
  • Several fixes to the Linux build and runtime path.

Installation

macOS (Homebrew):

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

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

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

Linux (Flatpak): the Flathub submission is in progress; until it lands you can build the bundle from packaging/flatpak/ (see that directory's README).

From source:

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

A real Kickstart ROM and disk or hard-disk images are still required to run commercial Amiga software; these are not included.

Internal / CI

  • New CI workflows build and lint the Flatpak bundle and the AppImage, and audit the Homebrew formula.
  • Documentation updates.

Full changelog: v0.1.0...v0.2.0

Copperline v0.1.0

Choose a tag to compare

@LinuxJedi LinuxJedi released this 14 Jun 04:42

This initial beta release is only for Apple Silicon macs.