Skip to content

v0.0.2 — External ROM + game_extras CRC hooks

Choose a tag to compare

@mstan mstan released this 07 May 04:47
· 8 commits to master since this release

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 by game_get_expected_crc32() in extras.c.
  • extras.c now lives in the project root and overrides only the CRC defaults; non-CRC game_* hooks (lifecycle, debug, dispatch) keep their gbrt defaults.
  • Tetris ROM expected CRC32: 0xE1AA58DB.
  • Submodule gb-recompiled replaced 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 executable
  • SDL2.dll, libgcc_s_seh-1.dll, libstdc++-6.dll, libwinpthread-1.dll — runtime deps (msys2 mingw-w64)
  • README.md — usage notes