Repository navigation
Releases: mstan/PokemonRedAndBlueRecomp
Releases · mstan/PokemonRedAndBlueRecomp
Release list
v0.1.1 — External ROM + game_extras CRC hooks
Changes since v0.1.0
This release actually delivers the external-ROM picker that v0.1.0's release notes claimed. v0.1.0 was built against a recompiler that had regressed back to embedding the ROM in the binary; v0.1.1 fixes that and rebuilds against the NES-style hooks pattern in gb-recompiled master (commit 2f4f80c).
What changed
- ROM is no longer embedded in the binary (1 MB shaved off the exe).
- Launcher now resolves the ROM at runtime via Windows file picker, caches the path in
rom.cfg, and validates against the multi-CRC list returned bygame_get_valid_crcs()inextras.c. - Multi-version support is now a first-class hook: a single build accepts either Red (
0x9F7FDD53) or Blue (0xD6DA8A1A) — picker re-prompts on mismatch. extras.clives in the project root and overrides only the ROM identity defaults; non-CRCgame_*hooks (lifecycle, debug, dispatch) keep their gbrt defaults.valid_crcsremoved frompokemon_red_blue.toml— single source of truth is nowextras.c.- Submodule replaced with a directory junction to a workspace-shared
gb-recompiledclone.
Compatibility
- Pokemon Red (UE) [S][!] — CRC32
0x9F7FDD53 - Pokemon Blue (UE) [S][!] — CRC32
0xD6DA8A1A - Other variants are rejected with a "Wrong ROM" dialog.
Requirements
- Windows 10/11 x64
- A legally obtained Pokemon Red or Blue ROM (
.gb)
Status (unchanged from v0.1.0)
- Game runs and is playable with both Red and Blue ROMs through the Elite Four.
- Some animations may chug slightly. Minor visual glitches in edge cases.
- Code paths not yet discovered by the static analyzer fall back to an interpreter (slower).
- Audio may stutter briefly in animation-heavy scenes.
- No link cable support.
Known
- Interpreter fallback still fires at bank 28 (0x614E/0x6150/0x6153) — same as v0.0.3 / v0.1.0, not a regression.
Files
Pokemon_Red_Blue.exe— recompiled native executable (49 MB)SDL2.dll,libgcc_s_seh-1.dll,libstdc++-6.dll,libwinpthread-1.dll— runtime deps (msys2 mingw-w64)README.md— usage notes
v0.0.3 — Zero Interpreter Fallbacks
Changes since v0.0.2
Entry Points
- 47 total entry points added across this release cycle — all known interpreter fallback addresses from E4 gameplay now recompiled natively
- Zero interpreter fallbacks during tested gameplay (title screen through Elite Four)
Cleanup
- LCD on/off log spam moved to debug-only
- Console output is now silent during normal gameplay
Requirements
- Windows 10/11 x64
- A legally obtained Pokemon Red or Blue ROM (.gb)
v0.0.2 — Performance & Correctness Update
Changes since v0.0.1
Performance
- gb_tick hot path optimization — TIMA fast-path, inlined cycle counting, branch hints. Reduces per-instruction overhead (~47K calls/bank/frame)
- Tile-batched background rendering — Fetches tile row once, decodes all 8 pixels. ~16x fewer VRAM reads per scanline
- Optimized sprite rendering — Direct VRAM access, pre-clamped pixel loops, early off-screen skip
- 34 missing entry points added — Eliminates all known interpreter fallbacks from tested gameplay paths
Audio
- Smooth underrun fade-out — Audio callback fades from last sample on underrun instead of inserting hard silence, eliminating pops
Bug Fixes
- SRAM save debounce — Saves 5 seconds after last ERAM write instead of spamming every second during RTC updates
- Quiet save logging — No more console spam on successful saves
Requirements
- Windows 10/11 x64
- A legally obtained Pokemon Red or Blue ROM (.gb)
v0.0.1 — Pokemon Red & Blue Recompiled (Pre-release)
Pokemon Red & Blue — Static Recompilation for PC
Pre-release of the Pokemon Red/Blue static recompiler. Supports both Pokemon Red and Pokemon Blue ROMs.
What's Included
Pokemon_Red_Blue.exe— Windows x64 executable- Required DLLs (SDL2, MinGW runtime)
How to Use
- Extract the zip
- Run
Pokemon_Red_Blue.exe - Select your ROM when prompted (either Red or Blue)
What Works
- Title screen, menus, overworld, NPC dialogue
- Pokemon Center healing, saving/loading
- Audio (music and SFX)
- Battle system including Elite Four
- Both Pokemon Red and Blue ROMs accepted
Rendering Improvements
- VRAM/OAM write protection during PPU rendering
- SCX/SCY per-scanline latching for correct scroll effects
- LCD on/off transition state reset
- Variable mode 3 timing based on sprite count
- Window WY trigger correctness fix
- Tile-batched background rendering (~16x fewer VRAM reads)
- Optimized sprite rendering with direct VRAM access
Performance Improvements
gb_tickhot path: TIMA fast-path, inlined cycles, branch hints- Channel 4 noise LFSR iteration cap
- Removed per-frame debug overhead from RGB conversion
- Smooth audio underrun fade-out (no silence pops)
Known Limitations
- Minor audio/video chug during some animation-heavy scenes
- Later game areas may have uncompiled code paths
- No link cable support
Requirements
- Windows 10/11 x64
- A legally obtained Pokemon Red or Blue ROM (.gb)