Repository navigation
Releases: mstan/TetrisGBRecomp
Release list
v0.0.3 — Fixes the wrong-ROM rejection + recomp-ui launcher
Fixes the "Wrong ROM" dialog
If v0.0.2 rejected every ROM you tried — this release is the fix.
v0.0.2 shipped with the wrong expected ROM CRC32 baked into the binary
(0xE1AA58DB, a value no real Tetris dump has), so its launcher rejected
every ROM, including the correct one. If you saw:
ROM CRC32 mismatch! Got: 63F9407D
…your ROM was right the whole time; the build was wrong. 63F9407D is exactly
the ROM this project is recompiled from.
What's new since v0.0.2
- Correct ROM gate — the binary now expects CRC32
0x63F9407D, matching the
ROM the code is generated from. - recomp-ui launcher — box art card, ROM picker with a live "ROM verified"
check, controller/keyboard setup, and an in-game overlay on F1 (settings,
video, input). "Skip launcher on boot" if you'd rather go straight to the game. - Zero interpreter fallbacks — 64 runtime-harvested, provably-executed entry
seeds (Tier-0 manifest) are now compiled in; a 900-frame run logs no
interpreter dispatches. - Complete runtime DLL set — including
libEGL.dll, which the previous
packaging convention would have missed (SDL/ANGLE loads it dynamically, so it
never shows up inldd). Extract the whole zip and keepassets/next to the
exe.
ROM identity
This build accepts exactly one ROM:
| Field | Value |
|---|---|
| CRC32 | 0x63F9407D |
| SHA-1 | 3f2a6407c9900ad5817ee1cfb3609c5ee17400fc |
| Size | 32,768 bytes |
| Header title / version | TETRIS, mask-ROM version 0x00 (V1.0) |
Common dump names: Tetris (World) / Tetris (W) (V1.0) [!].gb.
The V1.1 revision (Tetris (JUE) (V1.1) [!], CRC32 0x46DF91AD) is a
different program image and is not supported — the recompiled code comes
from V1.0.
No ROM data is embedded. Bring your own legally obtained Tetris ROM.
Requirements
- Windows 10/11 x64
- Extract the whole archive;
Tetris.exeneedsassets/and the bundled DLLs
beside it.
v0.0.2 — External ROM + game_extras CRC hooks
Changes since v0.0.1
This release rebases on the upstream-merged gb-recompiled fork (commit 2f4f80c) and re-introduces the external ROM + CRC32 picker pattern that v0.0.1 had, this time wired through NES-style game_extras hooks.
What's new
- ROM is no longer embedded in the binary. The launcher resolves the ROM path on first run via Windows file picker, caches it in
rom.cfg, and validates against the CRC32 returned bygame_get_expected_crc32()inextras.c. extras.cnow lives in the project root and overrides only the CRC defaults; non-CRCgame_*hooks (lifecycle, debug, dispatch) keep their gbrt defaults.- Tetris ROM expected CRC32:
0xE1AA58DB. - Submodule
gb-recompiledreplaced with a directory junction to a workspace-shared clone — faster dev iteration, no SHA pinning.
Compatibility
- Tetris (Japan) / Tetris (World), the canonical CRC32
0xE1AA58DB. - All other ROM variants are rejected with a "Wrong ROM" dialog.
Requirements
- Windows 10/11 x64
- A legally obtained Tetris ROM (
.gb)
Known
Same minor visual/audio quirks as the underlying gb-recompiled master — Tetris remains essentially fully playable.
Files
Tetris.exe— recompiled native executableSDL2.dll,libgcc_s_seh-1.dll,libstdc++-6.dll,libwinpthread-1.dll— runtime deps (msys2 mingw-w64)README.md— usage notes
v0.0.1
Initial release — Tetris (Game Boy) static recompilation.
Status: Believed to be 100% playable. All game modes tested with zero interpreter fallbacks.
Features:
- Configurable keybinds (
keybinds.ini, auto-generated on first run) - ROM file picker with CRC32 verification (path cached in
rom.cfg) - No ROM data embedded — bring your own
tetris.gb