Skip to content

Releases

v0.1.5 - Controller input fixes

Choose a tag to compare

@mstan mstan released this 01 Nov 03:37
9e1ed33

Updated to gbarecomp 0.4.1 with controller-menu handling fixes and correct behavior while text input has focus. The game algorithms, renderer settings and generated native game corpus retain the previously validated profile.

Downloads include Windows x64 ZIP, Linux x86_64 AppImage and release-signed Android arm64 APK. Supply your own Pok?mon Emerald (USA) ROM and GBA BIOS; neither is bundled.

Source pins, platform settings and qualification details are in BUILDINFO.json. Verify downloads against SHA256SUMS.txt.

v0.1.4 - Native runtime update

Choose a tag to compare

@mstan mstan released this 01 Nov 00:57
4c45b5d

Updated to the validated GBA runtime batch and gbarecomp 0.4.0. The existing launcher, optional overworld widescreen and desktop netplay remain available.

Downloads include Windows x64 ZIP, Linux x86_64 AppImage and release-signed Android arm64 APK. Supply your own Pok?mon Emerald (USA) ROM and GBA BIOS; neither is bundled.

Windows release code matches the approved build after build identity normalization and removal of debug information. Platform build details, source pins and qualification limits are recorded in BUILDINFO.json. Verify downloads against SHA256SUMS.txt.

v0.1.3 - Native runtime optimizations

Choose a tag to compare

@mstan mstan released this 27 Oct 20:40

Updated to the native optimization engine, pinned at cf1680122fda0cc49c4e8774d9b065b5c8b768e6. Native RAM access, text rendering and presentation conversion reduce host overhead while the audited GBA BIOS continues to execute as generated LLE code. Generated guest code uses O2; Windows runtime code uses O3.

Matched field, wild-battle, widescreen and current-build state checks passed; timing results were neutral/inconclusive. Overworld Widescreen and the existing Linux/Android targets are retained.

Native in-game saves are preserved. Save states are specific to each build. Supply your own supported ROM and GBA BIOS; neither is included.

BUILDINFO.json records source pins, the Windows optimization profile and artifact identities; SHA256SUMS.txt verifies every artifact.

v0.1.2

Choose a tag to compare

@mstan mstan released this 18 Oct 20:24
b831030

Updates the native engine and launcher, including callback discovery and guarded RAM/cartridge execution fixes. Each Windows package passed a clean-extraction, fresh-save 6,000-frame strict-static boot with zero dispatch misses, interpreted instructions, or healed functions. The Linux AppImage passed the same strict boot check. This covers the tested boot route; it does not certify every gameplay route.

The Android APK is signed with the prior release certificate. Android runtime/device validation was skipped at the owner's request.

Supply your own supported game ROM and GBA BIOS. ROMs, BIOS dumps, saves, and remembered settings are not included.

Source: b831030
PR: #7

EmeraldRecomp v0.1.1

Choose a tag to compare

@mstan mstan released this 27 Sep 04:16
6acfd34

What's new

  • Linux internet netplay sign-in now tries available browser launchers in sequence: WSL wslview when applicable, then xdg-open, gio open, and sensible-browser. The AppImage preserves the host library path for those helpers.
  • Includes experimental Wireless Adapter Union Room support from the current main branch. Union Room entry, discovery, contact exchange, and deterministic netplay replay have been validated under simulated latency. Full wireless trades, battles, and recovery paths remain experimental. Cable netplay remains available.

Download the Windows x64 ZIP or Linux x86_64 AppImage below. Supply your own Pokémon Emerald (USA) ROM and GBA BIOS; neither is included. SHA256SUMS.txt lists both download hashes.

Validation: 25/25 recomp-net tests under WSL, framework multiplayer netplay tests, and packaged 1,500-frame full-static smoke runs on Windows and Linux. Live Discord OAuth was not exercised in this environment.

EmeraldRecomp v0.1.0 - Link-cable netplay

Choose a tag to compare

@mstan mstan released this 27 Sep 01:08
0dc73b8

EmeraldRecomp v0.1.0 adds two-player link-cable netplay, with Windows and Linux releases that can play together.

New in this release

  • Host or join from the launcher's Netplay tab, using recomp-net Internet or LAN sessions.
  • Choose rollback or input-delay synchronization. Each peer locally runs both virtual GBAs and their cable; Internet latency is handled above the cable simulation.
  • Choose Your display independently: native, 16:9, 21:9, 32:9 or adaptive widescreen. Players can use different window and monitor sizes.
  • Save and leave the entire paired session with Shift+F1 or by closing once. Original cartridge saves remain unchanged. Resume currently uses --netplay-resume with matching archives on both peers.

Downloads

  • Windows x64: extract EmeraldRecomp-windows-x64-v0.1.0.zip and run EmeraldRecomp.exe. Keep the included DLLs and folders together.
  • Linux x86_64: make EmeraldRecomp-linux-x86_64-v0.1.0.AppImage executable and run it. If FUSE is unavailable, add --appimage-extract-and-run. Built on Ubuntu 22.04; install zenity or kdialog if the ROM/BIOS file picker is unavailable.
  • SHA256SUMS.txt contains checksums for both downloads.

Supply your own USA game ROM and retail GBA BIOS; neither is included. Both players must use this exact release and matching game images. Back up existing saves/settings before updating.

This release supports two-player, same-game, multi-cart link-cable play. Wireless Adapter, Single-Pak multiboot and cross-version Pokemon linking remain future work. Gameplay-changing single-player mods are not enabled in netplay; the independent display options remain available.

Validation

Windows/Linux packaged peers produced byte-identical complete session checkpoints in both rollback and input-delay modes, including a fresh-process resume. Windows pairs also passed injected 40 ms latency/10 ms jitter with forced rollback corrections and different view settings. Packaged single-player smoke runs remained fully static. The earlier interactive Emerald and Mario Kart link tests were accepted by the owner.

The automated checks use dummy audio/video; they do not qualify every Internet/NAT setup or every Linux desktop. No new Android artifact is included in this release.

Full source changes since v0.0.7: v0.0.7...v0.1.0

EmeraldRecomp v0.0.7 - Linux, Android and touch controls

Choose a tag to compare

@mstan mstan released this 24 Sep 20:14

EmeraldRecomp v0.0.7 adds Linux and Android builds alongside Windows, and a touch-first control scheme for phones and tablets.

Downloads

Platform File
Windows x64 EmeraldRecomp-windows-x64-v0.0.7.zip
Linux x86_64 EmeraldRecomp-linux-x86_64-v0.0.7.AppImage
Android (arm64, Android 9+) EmeraldRecomp-android-arm64-v0.0.7.apk

No ROM, BIOS or saves are included in any download. Supply your own Pokémon Emerald (USA) ROM (SHA-1 f3ae088181bf583e55daf962a92bb46f4f1d07b7) and a GBA BIOS dump (gba_bios.bin); every build asks for them on first launch. SHA256SUMS.txt covers all three files.

Android: touch-first play

  • Live rotation. Portrait and landscape both fill the screen; the overworld view grows to show more of the world, and tablets show more still. Battles and other 3:2 screens are centred.
  • Walking. Tap a tile to walk there, or draw a path with your finger and the player walks it when you lift. Tapping an NPC or sign walks up and talks to it. Running Shoes are used automatically once you have them.
  • Menus. Long-press the overworld for the Start menu. Tap an item to select it; tap anywhere else to confirm the highlighted choice; double-tap to back out (B / No). Swipe up or down anywhere to move the cursor, or slide along a menu and lift on the item you want. Two-finger tap and the Back gesture are also B.
  • Battles. Tap FIGHT, BAG, moves and targets directly in the battle screen; the same tap-anywhere / double-tap rules apply.
  • Optional on-screen pad. Off by default; toggle it with the button in the bottom-right corner (drag the button anywhere). The pad is sized in real millimetres for your screen and shrinks to fit the space under 3:2 scenes.
  • Suspend and resume. Leaving the app saves your place; if Android closes it in the background, you resume exactly where you were.

Install by sideloading the APK (allow installs from your file manager or browser), then pick your ROM and BIOS on the setup screen. Files stay in the app's private storage. Future updates are signed with the same release key and install over this version, keeping your saves.

Linux

A single AppImage built on Ubuntu 22.04 (runs on current desktop distributions and SteamOS). It bundles SDL 2.32 and font libraries; graphics and audio come from the system. The ROM/BIOS picker uses zenity or kdialog, or pass --rom / --bios once. Settings, saves and mod choices live in ~/.local/share/EmeraldRecomp. Requires FUSE 2 like any AppImage (or run with --appimage-extract-and-run).

All platforms

  • Saving is now fully statically recompiled. The flash-verify helper that Emerald copies onto the stack during a save was previously run by the interpreter.
  • Dialogue boxes keep their full left border in tall (portrait) windows.
  • The overworld Start menu is centred vertically in tall windows instead of pinned to the top corner.
  • The Overworld Widescreen (Experimental) 0.2.0 mod is included and unchanged; enable it under Mods.

Validated: headless strict-static runs of the packaged Windows exe and the packaged AppImage (also on Ubuntu 24.04 and Arch Linux) report fully static coverage; 14 automated touch scenarios (walking, path drawing, Start menu, bag, party, save prompts, battle) pass fully static; a clean Android install requires the player's ROM and BIOS; each download was scanned to confirm it contains no ROM, BIOS or save.

EmeraldRecomp v0.0.6 - Portrait overworld and connected-map NPCs

Choose a tag to compare

@mstan mstan released this 21 Sep 05:32

EmeraldRecomp v0.0.6 bundles the opt-in Emerald Widescreen Experiment 0.2.0.

  • Fit to window fills landscape and portrait windows. Fixed 16:9, 21:9, and 32:9 modes remain available.
  • Overworld Start menus, dialogue and location banners anchor to the viewport edges.
  • Door animations retain expanded scenery. Connected route/town scenery now extends beyond the original map buffer, fixing the strips of trees at map boundaries.
  • NPCs remain visible in the expanded margins after native culling or map changes. Unloaded NPCs use idle poses at their map or last observed positions; the game's normal AI, trainer activation, scripts and saves are unchanged. Story flags and active actors take precedence.
  • Battles and unsupported full-screen scenes retain their native centered 3:2 presentation.

Install: extract the Windows ZIP, open Mods, enable Overworld Widescreen (Experimental), choose an aspect mode, and apply. The feature starts disabled. The ZIP includes the mod; the separate .gbamod is also available for the mod installer. Mod 0.2.0 requires EmeraldRecomp v0.0.6 or later because its renderer is compiled into the executable. Older packages remain compatible with the new executable.

This remains an experimental renderer. Adjacent scenery and idle NPC previews require compatible resident tilesets/palettes. Special field effects, disguises and distant AI are not expanded. Brief unverified map handoffs fall back to native rendering.

Validated against the packaged executable: a 550-frame door/menu route, 720-frame NPC route, repeated route/town crossings, landscape/portrait resizing, and mod archive installation. Native-center comparisons outside relocated UI and guest-memory checkpoints remained unchanged; gameplay runs reported fully static coverage. Regression tests cover connected maps, dormant NPC visibility, live ownership, story hiding, template relocation and save-state invalidation.

Includes Windows runtime DLLs, launcher assets, the opt-in mod catalog and overlay toolchain. No ROM, BIOS or saves are included. Supply your own USA Emerald ROM and GBA BIOS. SHA256SUMS.txt covers both download archives.

EmeraldRecomp v0.0.5 - Widescreen mod

Choose a tag to compare

@mstan mstan released this 14 Sep 07:19

EmeraldRecomp v0.0.5 adds an opt-in experimental overworld widescreen mod, including the NPC visibility fix verified from the reported F1 save.

  • Choose Fit to window, 16:9, 21:9, or 32:9.
  • Additional scenery and live overworld NPCs render outside the original screen, including NPCs hidden by Emerald's screen-edge culling.
  • Widescreen is disabled by default. Open Mods, enable Overworld Widescreen (Experimental), choose Aspect ratio, and apply before playing.

Download EmeraldRecomp-windows-x64-v0.0.5.zip for the Windows game build with the mod already included. The separate pokemon-emerald.enhancement.widescreen-0.1.0.gbamod is an installable mod package that requires EmeraldRecomp v0.0.5 or later; earlier executables do not contain its renderer. Checksums are in SHA256SUMS.txt.

The renderer reads the live game state without changing guest memory or saves. Bring your own supported USA ROM and GBA BIOS; neither is included.

Experimental limits: distant NPCs beyond the game's loaded object range and special field effects are not expanded. Menus and dialogue remain centered; battles, transitions, and unsupported scenes retain native presentation. Vertical expansion and portrait support are a follow-up, outside this release.

Validation used the extracted Windows artifact: a 720-frame left/right route preserved all 90 sampled native center images and 10 guest memory checkpoints, with fully static execution. All six real-window resize cases and production mod archive installation passed. Captured NPC regressions show 167 decoded and 167 finally displayed margin pixels.

The source is on main, with published engine and launcher revisions pinned for reproducible builds.

v0.0.4 — Mods catalog now actually ships

Choose a tag to compare

@mstan mstan released this 29 Aug 19:03

Ships the Mods catalog that earlier builds were missing, and fixes the
release archive so it extracts correctly on Linux, Steam Deck and Proton.

Absolute RTC mod now actually available

v0.0.2 and v0.0.3 shipped without a mods/ directory, so the launcher's Mods
page was empty even though the executable fully supported it — the release
packaging staged assets/ but never the mod catalog.

The catalog now ships. Open Mods in the launcher to enable Absolute RTC.
It remains disabled by default; faithful behavior is unchanged until you opt
in.

Portable release archive

The archive was previously written with Windows backslash ZIP entry names, which
POSIX extractors treat as literal filename characters rather than directory
separators. Unpacking under Linux/Proton produced files literally named
assets\fonts\LatoLatin-Regular.ttf instead of the nested tree, so the launcher
found no fonts. Archives are now written with portable / separators and
verified at package time.

Earlier archives have also been repacked in place with this fix, but only this
release contains the mod catalog.

Requirements

Bring your own legally obtained Pokemon Emerald (USA) ROM and GBA BIOS dump.
No ROM, BIOS, or save data is included.