How Gen1Recomp Rebuilds the Supported Games
Gen1Recomp is a hand-written recreation built with Lua and the LÖVE2D framework. The original Gen1Recomp name covers Pokemon Red, Blue and Yellow; Gen1Recomp++ marks the Gold, Silver and Crystal expansion; and Gen1Recomp Deluxe marks the beta FireRed, LeafGreen, Ruby, Sapphire and Emerald expansion. The engine imports the maps, graphics, text and other game data it needs from a compatible ROM supplied by the user.
The project does not package a Pokemon ROM or pre-extracted game data. It also does not run the original Game Boy instructions through an emulator or translate the original assembly into a new executable.
Portable Mod API 3, introduced in v0.3.93, gives mod developers one shared interface for Gen 1, Gen 2 and Gen 3. A mod must still declare and test the games it supports; existing API 1 and API 2 mods keep their previous behavior.
Version 0.3.96 expands Gen 2 modding with new phone contacts, editable shop stock and automatic script indices for custom Pokemon, moves and items. It also restores mod-defined options and lets mods restrict required imports by file type or verify supported source files themselves.
How ROM Import Works
- Gen1Recomp checks the supplied ROM against a supported file fingerprint.
- The importer reads the game data required by the new engine.
- It creates a private generated cache for later launches.
- The ROM is released from memory and is not copied into that cache.
- The Lua/LÖVE2D engine uses the imported data during play.
Import can also open a ZIP or 7z containing one compatible ROM when the platform build supports that archive format. A raw .gb, .gbc or .gba file remains the universal fallback.
Gen1Recomp accepts the canonical US versions of Pokemon Red, Blue, Yellow, Gold, Silver, Crystal, FireRed, LeafGreen, Ruby, Sapphire and Emerald. Crystal, FireRed and LeafGreen accept the documented 1.0 and 1.1 revisions; Ruby and Sapphire accept 1.0, 1.1 and 1.2; Emerald accepts 1.0. The Gen 2 engine remains under construction; all five Gen 3 games are beta. A different region, unlisted revision or modified file can fail validation even when its filename looks correct. See Supported Games for the complete compatibility list and hashes.
Features Added by the New Engine
Gen1Recomp includes its own launcher, save handling, graphics settings, faithful and cleaned-up Gen 1 rulesets, LAN link play, save editor and mod manager. It also provides performance presets, portable desktop storage, direct game/slot launch options, an optional widescreen battle layout, secondary companion displays, touch skins and the desktop Skin Studio. Launcher recovery tools include patch notes, Safe Mode, readable crash reports and device-aware issue reporting. The opening video and its sound can be turned off, and game speed can be set separately for the overworld, menus and battles. Custom carts can package a named, version-pinned mod set with separate saves, label art and an export file; the launcher can import a cart through its file picker, and the community index can browse carts as well as individual mods.
The current launcher also has a separate Online tab for hosted battles, spectators, tournaments and trades. Its 40-player Union Room connects every supported game and allows carefully controlled cross-generation battles and trades. FireRed and LeafGreen retain Direct Corner, wireless minigames, private PIN rooms and invitations. Their Mystery Gift menu supports Wonder News after the first save and Wonder Cards after the in-game questionnaire passphrase. Gen 3 link rooms show player names and activity, while Ruby and Sapphire can receive relay Mystery Events and Wonder News. Other current features include Gen 2 and Gen 3 cartridge-save import/export, one-click mod and cart updates, game-aware mod filters, pre-launch save sync, save-slot duplication, ID Sync and full controller rebinding. The cross-game Box can move Pokemon from Gen 1 or Gen 2 into Gen 3 and transfer stored items between games, with a preview and archived original before conversion. The save editor now includes Pokeblock editing, Mirage Island controls and one-click Box sorting. Emerald adds relay-selected Event Tickets through Options > Extras > Event Tickets. Desktop launch options can boot an installed custom cart directly. Android and iOS accept the same game, cart, slot, launcher, sync and update choices through gen1recomp++://launch URLs, and iOS can create Home Screen entries for imported games and custom carts.
Box, ID Sync and Save Tools
Box stores Pokemon and bag items outside an individual save so they can move between compatible games. When a Gen 1 or Gen 2 Pokemon moves into Gen 3, Gen1Recomp previews the conversion, derives its nature from EXP, derives IVs from the original DVs, uses the Special DV for both Special Attack and Special Defense, resets EVs and uses the second ability when one is available. The original record is archived so the conversion can be reversed. Box can also move stored items to another game's bag, manage held items, change a Gen 3 Pokemon's ball and sort a Box with one click.
ID Sync applies the trainer name and IDs from a selected active save across other saves and owned Pokemon. Existing shiny Pokemon stay shiny; a Spinda pattern can change when its personality value must be adjusted. Duplicate save slot creates an independent copy from the launcher for backups or a separate export.
The v0.2.0 release was the major Skin Studio update. It added native touch skins, RetroArch overlay and Delta skin imports, editable controls and bezels, pressed-button art, viewport tools and export options. Later v0.2 releases expanded this work with Skin Studio file picking, Android launcher improvements, save-sync fixes and shareable mod lists that can include mod options.
This also means Gen1Recomp should not be treated as a perfectly identical copy of original hardware behavior. The project documents deliberate additions and known differences, while active development continues to change compatibility and behavior.
What the Three Gen1Recomp Names Mean
| Name | Games | What it adds |
|---|---|---|
| Gen1Recomp | Red, Blue and Yellow | The original Gen 1 games. |
| Gen1Recomp++ | Gold, Silver and Crystal | Gen 2 support. The engine remains under construction. |
| Gen1Recomp Deluxe | FireRed, LeafGreen, Ruby, Sapphire and Emerald | Gen 3 support. All five games remain in beta, and you may also see the name written as Gen1RecompDeluxe or G1R Deluxe. |
The name has expanded as support for more games has been added, but the app itself remains the same. The same launcher can import all eleven supported games. The ++ does not mean that Gen1Recomp was rewritten in C++.
Why the Name “Recomp” Can Be Confusing
Static recompilation normally means translating an existing compiled program ahead of time for another target. Gen1Recomp's current architecture is documented differently: the engine is hand-written and imports data from the ROM.
The project name remains Gen1Recomp, but “native Lua/LÖVE2D recreation” is a clearer description of how it works. For a direct technical comparison, read Gen1Recomp vs Game Boy Emulation.
Gen1Recomp, ROM Hacks and VoxelMod
Gen1Recomp is not a ROM patch, and arbitrary ROM-hack support is not documented. DramaticShapeVoxelMod is a separate optional mod that changes visual presentation rather than supplying the base engine.