Skip to content

SwanSong 0.7.2 — Keep the Trail Exact

Choose a tag to compare

@nickhamze nickhamze released this 22 Jul 01:47
502deb0

SwanSong 0.7.2 — Keep the Trail Exact

SwanSong 0.7.2 is a focused Translation Lab reliability update. Authenticated
capture plans can use the exact qualified engine profile they were made for,
and display data moved by General DMA keeps its real cartridge source all the
way through the evidence chain.

Expected app identity: SwanSong 0.7.2 (15).

The short version

  • Authorized capture plans work with qualified ABI 9 and ABI 10 profiles.
  • A plan still stops if its requested ABI, capability receipt, or loaded engine
    does not match.
  • General DMA reads retain their real initiator, source operand, and cartridge
    origin through nested engine callbacks.
  • A clean-room public fixture keeps that DMA lineage covered in release tests.
  • Private game addresses, source bytes, and project details remain local.

Capture with the profile you authorized

Translation Lab capture plans are bound to a signed engine capability profile.
SwanSong now honors the exact ABI selected by that profile, including the ABI
10 consumed-prefetch lane, while retaining the established ABI 9 path.

This does not loosen the boundary. The plan, expected ABI, capability receipt,
profile digest, and loaded engine still have to agree before capture work can
begin. A stale or substituted engine remains a hard failure rather than a
best-effort fallback.

General DMA keeps an honest source trail

When the WonderSwan moves display data through General DMA, nested engine
callbacks can look like ordinary CPU work unless their provenance is isolated.
SwanSong now preserves the surrounding CPU and fetch context while recording
the DMA transfer with its own initiator and exact source operand.

The result is more dependable private evidence for translators: a display
write points back to the cartridge source that actually supplied it instead of
inheriting synthetic callback context.

Covered without shipping game data

The live-engine release lane now includes a tiny clean-room WonderSwan fixture
that performs a General DMA transfer and proves the expected lineage. It
contains no commercial game, firmware, save, screenshot, or private project
artifact.

Detailed addresses, mapper state, executed-read context, and source bytes stay
inside the selected private project. Local automation receives only the
authorized source-free summaries.

Install or update

Existing users can choose SwanSong > Check for Updates…. A manual install
can download SwanSong-0.7.2-macOS-universal.zip from the GitHub Release and
verify it with SHA256SUMS.txt and SwanSong-0.7.2-release.json.

SwanSong requires macOS 14 or newer. It includes no games or original system
firmware. Use only software and hardware you own or are authorized to use.

If anything feels wrong, open Help > SwanSong Support and create a
privacy-safe Support Bundle. The support guide,
privacy policy, and complete changelog
have the deeper details.