Gen1Recomp information

What Is Gen1Recomp?

Learn what Gen1Recomp is, how it uses a compatible user-supplied ROM, and why it is not a traditional emulator.

Last updated:

How Gen1Recomp Rebuilds the Gen 1 Games

Gen1Recomp is a hand-written recreation of Pokemon Red, Blue and Yellow built with Lua and the LÖVE2D framework. Gen1Recomp++ expands the same launcher and engine with developing Pokemon Gold, Silver and Crystal support. 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.

How ROM Import Works

  1. Gen1Recomp checks the supplied ROM against a supported file fingerprint.
  2. The importer reads the game data required by the new engine.
  3. It creates a private generated cache for later launches.
  4. The ROM is released from memory and is not copied into that cache.
  5. The Lua/LÖVE2D engine uses the imported data during play.

Gen1Recomp accepts the canonical 1 MiB US versions of Pokemon Red, Blue and Yellow. Version 0.2.60 also accepts the canonical 2 MiB US Pokemon Gold, Silver and Crystal ROMs. Crystal revisions 1.0 and 1.1 are both accepted. All three Gen 2 games are importable and selectable in the launcher, but the project still labels them Gen 2 Phase 1 because the Gen 2 engine is under construction; Crystal is additionally labelled 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.

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 and device-aware issue reporting. Custom carts can package a named, version-pinned mod set with separate saves, label art and an export file, 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. Later v0.2 releases add general Gold, Silver and Crystal cartridge-save import/export, one-click mod and cart updates, game-aware mod filters, pre-launch save sync, a mobile key bar and rebindable controller speed buttons. Desktop launch options can now 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. Linux releases use x86_64 and ARM64 AppImages and also provide an x86_64 Flatpak bundle.

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.

Gen1Recomp Is Now Gen1Recomp++

Gen1Recomp++ is the next stage of Gen1Recomp. The project has expanded beyond its original Red, Blue and Yellow foundation by adding Pokemon Gold, Silver and Crystal plus the developing Gen 2 systems they use.

It is still the same project, launcher and Lua/LÖVE2D engine. There is no separate Gen1Recomp++ download or repository; official release tags and package names continue to use Gen1Recomp. The ++ represents the expanded scope and does not mean the project 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.

Sources