Skip to content

GBA Wi-Fi Link v0.2.0 alpha

Pre-release
Pre-release

Choose a tag to compare

@Aelvryx Aelvryx released this 07 Aug 12:14
· 10 commits to master since this release
86cc1c2

GBA Wi-Fi Link v0.2.0 alpha

Documentation-only asset corrections: the offline guide, archive, and
checksum manifest were repacked after publication to align public privacy,
licensing, source-provenance, and public-reporting material. The latest
correction prohibits public raw endpoint logs until the separately reviewed
sanitized diagnostic workflow in issue #20 exists. The v0.2.0 source
commit, Android core, and both CC0 fixtures are byte-identical to the
original prerelease. The hashes below identify the current public assets.

This is the first release of the fork as one coherent GBA Wi-Fi Link
product: two-player GBA Multi-Pak play between physical devices through stock
RetroArch's Netpacket transport.

Highlights since v0.1.0-alpha.2

  • Canonical GBA Wi-Fi Link frontend surface over the retained version-2 wire
    compatibility contract.
  • Deterministic emulator-profile negotiation, RTC normalization, and early
    rejection of unsupported tilt, gyro, solar/luminance, and e-Reader inputs.
  • Transport-only latency calibration with Auto (Stable) and
    Auto (Low Latency, Experimental) policies.
  • Transactional state/save checkpoints and guest-visible cable topology before
    either replicated CPU resumes.
  • Zelda: Four Swords discovery and extended shared gameplay qualified alongside
    Mario Kart: Super Circuit.
  • Retired protocol-v1 runtime, selector, tests, and tooling removed from the
    shipped product.
  • Structured, privacy-bounded qualification diagnostics and stronger Android
    preparation checks.

Install or upgrade on Android

  1. Download mgba_libretro_android.so (or extract it from the bundle).
  2. In RetroArch, choose Load Core → Install or Restore a Core and select the
    downloaded file.
  3. Repeat on the second device with the identical artifact.
  4. Load the same ROM revision on both devices, host on player one, and join from
    player two through RetroArch's normal Netplay menu.

Installing the core does not replace normal save files. Backing up important
saves before upgrading any emulator remains sensible. A stale
mgba_gba_link_netplay_runtime line is inert and may be removed from old
configurations.

Auto (Stable) remains the default and uses a minimum two-frame input buffer.
Low Latency may select one frame on a suitable path, but remains an opt-in
experiment because rare waits on the qualified direct-hotspot run exceeded the
bilateral publication thresholds.

Qualified scope

  • Exactly two physical devices on a trusted LAN or direct Android hotspot.
  • GBA MULTI-mode Multi-Pak with identical effective ROM bytes.
  • Android ARM64 in stock RetroArch.
  • Verified workloads: the redistributable continuous fixture, LinkCable
    compatibility workload, Mario Kart: Super Circuit, Zelda: Four Swords, and
    an Advance Wars user playtest.

This remains an experimental alpha. Untested games remain untested. Single-Pak
multiboot, three/four players, Wireless Adapter/RFU, live-session savestates,
reconnection, host migration, internet relay, and synchronized cartridge
sensors are not supported.

Provenance

  • Source: 86cc1c26eaf26b5024689c5cb723aa6152efb795
  • Tag: v0.2.0
  • Platform: Android 21+, ARM64/AArch64 libretro
  • Toolchain: Android NDK 27.2.12479018 (r27c), CMake, Ninja
  • Core SHA-256: b16873176e358883acc7e7cb8f0312b9a275610a6a9e84c87e092accc3748910
  • gba-link-test.gba SHA-256: 2f662e4bcf2ac81c438ae5eacc786b2d2984c00807d3656b4990da66a99edc13
  • gba-link-continuous.gba SHA-256: c1fe01752d4f5863d6e3e1a9866b061aaadf2927ccc3df31ba9ecbf4bc68fe9d
  • Bundle SHA-256: 0bdf9546a7e8d25e8064d0db3849c0d68c627fd03d5da35606dc61e1c84c851f
  • Offline guide SHA-256: 93357893a8b967cb0961a6818e2b6b9b957ea92bef3eed1d00bfe9846f3970dd
  • Checksum manifest SHA-256: 13222ac91cffe21a5286aa7f53af79b6d9e571753fc9a3d21ef4d342e67f4669
  • Protected CI: run 30983222882, all six jobs passed
  • Reproducibility: two clean pinned-toolchain builds were byte-identical before
    deterministic release stripping; the final distributable retained its
    embedded full source commit, product identity, protocol identity, and public
    libretro entry points.
  • Exact-artifact smoke: the final stripped core was installed on two physical Android devices
    and ran the isolated Stable-policy CC0 fixture for 4,200 synchronized frames
    at about 60.36 FPS, with a two-frame selection, 2,098 completed two-player
    transfers, 69+ matching verification rounds, seven matching trace samples,
    zero empty-audio frames, and no structured failure.

The bundle also contains the two CC0 fixture ROMs, current installation and
operating guidance, and internal checksums. No commercial content, saves, or
private qualification evidence is included.

This is an independent experimental fork and is not an official upstream mGBA
release.