{
  "name": "pokerecomp",
  "identifier": "io.github.decryptu.pokerecomp",
  "sourceURL": "https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json",
  "fediUsername": "decrypt",
  "subtitle": "Gold, Silver and Crystal, rebuilt in Godot",
  "description": "A native Godot 4 reimplementation of the Generation 2 Game Boy Color games: Gold, Silver and Crystal. Written from scratch in GDScript, not an emulator, a static recompilation or a disassembly.\n\nNo game data ships with the app. You supply your own cartridge dump, which is SHA-1 verified, decoded once into a cache, and then released.\n\nThree challenge modes are built in, mods are supported, and the same save works on every platform pokerecomp runs on.",
  "iconURL": "https://raw.githubusercontent.com/Decryptu/pokerecomp/main/app_icon.png",
  "headerURL": "https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/banner.jpg",
  "website": "https://github.com/Decryptu/pokerecomp",
  "tintColor": "#E0A138",
  "apps": [
    {
      "name": "pokerecomp",
      "bundleIdentifier": "io.github.decryptu.pokerecomp",
      "developerName": "Decryptu",
      "subtitle": "Gold, Silver and Crystal, rebuilt in Godot",
      "localizedDescription": "A native Godot 4 reimplementation of the Generation 2 Game Boy Color games: Gold, Silver and Crystal. Written from scratch in GDScript, not an emulator, a static recompilation or a disassembly.\n\nNo game data ships with the app. You supply your own cartridge dump, which is SHA-1 verified, decoded once into a cache, and then released.\n\nThree challenge modes are built in, mods are supported, and the same save works on every platform pokerecomp runs on.",
      "iconURL": "https://raw.githubusercontent.com/Decryptu/pokerecomp/main/app_icon.png",
      "tintColor": "#E0A138",
      "category": "games",
      "screenshots": [
        {
          "imageURL": "https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/screenshot-launcher.png",
          "width": 2304,
          "height": 1062
        },
        {
          "imageURL": "https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/screenshot-world.png",
          "width": 2304,
          "height": 1062
        },
        {
          "imageURL": "https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/screenshot-voxel.png",
          "width": 2304,
          "height": 1062
        }
      ],
      "versions": [
        {
          "version": "0.1.65",
          "buildVersion": "0.1.65",
          "date": "2026-09-28T04:39:10Z",
          "localizedDescription": "## Added\n\n- Mods: API 53 lets a mod show its own page after the credits. Pass `\"after_credits\": true` to `register_page()` and the page opens once THE END is pressed away.\n\n## Changed\n\n- Mods: every `closetext` now sends a `text_closed` world event. It replaces `money_window_closed`.\n\n## Fixed\n\n- After you wake Vermilion City's Snorlax, \"SNORLAX woke up!\" no longer stays on screen through the battle and after it. Any script that closes its text box after a pause now closes it on time.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.65-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.65-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.65-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.65-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.65-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.65-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.65-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.65-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.65-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.65/pokerecomp-0.1.65-ios.ipa",
          "size": 25536489,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.64",
          "buildVersion": "0.1.64",
          "date": "2026-09-27T22:19:35Z",
          "localizedDescription": "## Changed\n\n- Indoors, the filled screen draws only the room you are in. The other cabins on the S.S. Aqua and the S.S. Anne, and cave or tower areas you can only reach from another floor, stay hidden along with the people in them.\n- Mods: API 52 adds `camera_reaches()`, which says whether a block of an indoor map belongs to the room the player is in.\n\n## Fixed\n\n- A trainer fight no longer freezes at its start until you leave the app and come back. A sound that never finished held it; every wait on a sound now gives up after about 20 seconds. The card flip game, the slots and the Unown puzzle waited the same way.\n- Vermilion City's Snorlax and the Snorlax, Lapras and Onix dolls in your bedroom are drawn correctly instead of as scrambled tiles.\n- On Red, Blue and Yellow, the POKé FLUTE in battle plays its tune after you press past its first box, and \"All sleeping POKéMON woke up.\" appears when the tune ends.\n- On Red, Blue and Yellow, a wait on a sound effect ignores the wave channel, as on the cartridge.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.64-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.64-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.64-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.64-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.64-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.64-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.64-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.64-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.64-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.64/pokerecomp-0.1.64-ios.ipa",
          "size": 25536086,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.63",
          "buildVersion": "0.1.63",
          "date": "2026-09-27T19:43:55Z",
          "localizedDescription": "## Added\n\n- The save editor edits Pokemon in the PC boxes. Tap one to change its species, level, gender, happiness, held item, moves and DVs, as for a party member.\n- Mods can place a Pokemon on the map that blocks the way and starts a wild battle when you press A on it.\n- Mods can swap their own Pokemon in for the wild you meet in grass or water, so a mod can have any number of roaming Pokemon on all six games.\n- Mods can run a whole battle on their own screen, which a double battle mod needs. The game still pays the prize, saves, evolves and whites out as usual.\n- Mods are told how every battle ended and which Pokemon was left standing.\n- In Crystal, a mod can turn on the GS Ball event from the Virtual Console release. The Goldenrod Pokemon Center hands over the GS Ball, and Kurt and the Ilex Forest shrine follow.\n\n## Changed\n\n- The save editor picks items, species, moves and held items by name from a list you scroll with your finger.\n\n## Fixed\n\n- The save editor's item list scrolls on a phone, so every item can be added. It no longer lists the unused TERU-SAMA items, and its button says Add for a new item and Set for one already in the bag.\n- Ho-Oh always holds a Sacred Ash and the Vermilion City Snorlax always holds Leftovers, as on the cartridge.\n- Randomizer mods no longer put a key item on the Goldenrod GS Ball, which the game never gives without a mod.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.63-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.63-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.63-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.63-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.63-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.63-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.63-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.63-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.63-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.63/pokerecomp-0.1.63-ios.ipa",
          "size": 25533614,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.62",
          "buildVersion": "0.1.62",
          "date": "2026-09-27T17:56:55Z",
          "localizedDescription": "## Fixed\n\n- The HP bar now goes down for Curse, Sandstorm, Leech Seed, Nightmare, Wrap and the other trapping moves, Spikes, Substitute, Pain Split, Belly Drum and Destiny Bond, and goes up for Leftovers and Berries. It used to keep the old number, so a Pokemon hurt by Curse could faint from a full bar.\n- A confused Pokemon that hurts itself shows \"It hurt itself in its confusion!\" first, then the hit, then the HP loss. Poison and burn damage are in the same order as the cartridge.\n- Sandstorm plays its animation on each Pokemon it hits. Trapping moves, Destiny Bond, a Jump Kick crash and held items play the animations they were missing, and a Jump Kick crash in Red, Blue and Yellow shakes the screen.\n- Trainers' items play their sound.\n- After beating Lance, the Hall of Fame room is drawn in place of a white screen, and the game restarts once the credits end. Continue then starts you in New Bark Town. Beating Red takes you back to Mt. Silver.\n- Scenes that fade to white and then move you, such as Ecruteak Gym, the Fast Ship and the National Park gates, fade the new place back in.\n- The restarts the game does on its own, after the Hall of Fame and in the Battle Tower, no longer add to the Resets count on the save screen.\n- The item PC, mailbox, CHANGE BOX, decorations, elevator, Buena's prizes and Kurt's apricorns draw their lists one column to the left with the item count on the row under its name. The item PC keeps its list on screen under its questions and returns to WITHDRAW ITEM.\n- Mart menus no longer wrap, Gold and Silver draw BUY/SELL/QUIT at its full width, and Gold, Silver and Crystal keep the buy list's cursor after a purchase. The PC's and the marts' sounds finish before the next message, and Red, Blue and Yellow's PC and vending machines play theirs.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.62-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.62-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.62-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.62-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.62-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.62-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.62-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.62-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.62-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.62/pokerecomp-0.1.62-ios.ipa",
          "size": 25518335,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.61",
          "buildVersion": "0.1.61",
          "date": "2026-09-27T14:31:30Z",
          "localizedDescription": "## Fixed\n\n- Mods that show wild Pokemon on the map no longer place them on floor you can never reach. Victory Road put them above its exit, and Dark Cave, Silver Cave, Dragon's Den and Whirl Island had 1,099 more such cells between them. They also no longer stand on a door, ladder or cave exit.\n- Using an item on a full party no longer leaves CANCEL printed over the message box, as Rare Candy's \"grew to level\" line did.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.61-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.61-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.61-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.61-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.61-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.61-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.61-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.61-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.61-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.61/pokerecomp-0.1.61-ios.ipa",
          "size": 25513002,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.60",
          "buildVersion": "0.1.60",
          "date": "2026-09-27T12:51:50Z",
          "localizedDescription": "## Fixed\n\n- Celebi flies around the Ilex Forest shrine before its battle in Crystal. The shrine used to stay empty for the length of the scene.\n- Gym statues name their city, and the Bug-Catching Contest names your placing and the minutes left. These lines used to print a raw code.\n- The fisher on Route 27 keeps facing you while the \"!\" is over his head on your first step into Kanto. People on the map no longer turn or walk during a cutscene pause.\n- At the foot of a waterfall the current carries you back down, and pressing A there no longer asks to use Waterfall. A, START and SELECT do nothing on any tile that moves you.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.60-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.60-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.60-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.60-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.60-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.60-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.60-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.60-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.60-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.60/pokerecomp-0.1.60-ios.ipa",
          "size": 25514461,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.59",
          "buildVersion": "0.1.59",
          "date": "2026-09-27T08:52:05Z",
          "localizedDescription": "## Fixed\n\n- Trainers who spot you or whom you talk to play their encounter music, in all six games.\n- The Dragon Shrine elder walks away after the quiz; he used to slide. Other cutscenes where one character turns while another walks, such as the rival in Azalea Town and Lance in the Rocket base, are fixed too.\n- Whirlpool keeps the whirlpool on screen until its sound has played, and you can't move until then.\n- Flash plays its sound under its message and fades to white before the cave lights up.\n- Rock Smash from the party menu shakes the screen and breaks the rock before any wild Pokémon appears.\n- A rock smashed into a wild battle stays gone after the battle, until you leave the map.\n- A Pokémon keeps the stats it had until something recalculates them: level-up, a Rare Candy, vitamins, evolution, the PC, the Day-Care, hatching or a trade.\n- The PC box list closes gaps: a withdrawal or release moves the rest up, and a deposit goes to the end.\n- Hatching an egg matches the cartridge: the wobble, the cracks and shell pieces, the cry in Gold and Silver, and the map music coming back after.\n- Link trades reset the traded Pokémon's happiness to 70, and a traded egg no longer registers its species in the Pokédex.\n- Time Capsule trades refuse held-item evolutions and convert the partner's items and happiness the way Gold, Silver and Crystal do.\n- A benched Pokémon that forgets the move your active Pokémon has disabled frees it. A copied Mimic move is listed as MIMIC when you forget a move.\n- Mart, PC, pack, save and Hall of Fame messages print letter by letter at your text speed, with the page clear and scroll, and holding A or B speeds them up.\n- Bill's PC messages wait as long as on the cartridge, the Day-Care names your Pokémon, and CHANGE BOX shows the current box and a CANCEL row.\n- A new game's first save no longer asks about overwriting a file.\n- The Day-Care Man in Gold and Silver explains eggs on your first visit.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.59-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.59-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.59-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.59-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.59-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.59-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.59-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.59-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.59-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.59/pokerecomp-0.1.59-ios.ipa",
          "size": 25510832,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.58",
          "buildVersion": "0.1.58",
          "date": "2026-09-26T15:29:12Z",
          "localizedDescription": "## Fixed\n\n- An X item still works at +6: it is used up, costs the turn and says the stat won't rise. X items now say which stat went up and make your Pokémon a little happier.\n- Ethers and Elixers can be used on a fainted Pokémon, and restore a transformed Pokémon's own moves. In battle their move list takes only up and down, and B goes back to the party list.\n- Bitter Berry no longer asks which Pokémon to use it on.\n- A Full Heal or Full Restore on a confused Pokémon with no status says it came to its senses.\n- Heal Powder, Energypowder, Energy Root and Revival Herb say \"It looks bitter…\", and lower happiness in battle too.\n- Using the Poké Doll in a trainer battle gets Professor Oak's warning.\n- A Revive used on a Pokémon that never fought the current opponent no longer gives it a share of the experience.\n- Choosing an Egg for an item says it can't be used on an Egg.\n- A registered item that can't be used gets Professor Oak's warning.\n- A Ditto that used Transform is caught as a Ditto.\n- A Pokémon caught into your party keeps the PP it used in battle.\n- \"Gotcha!\" plays the caught jingle and the capture music, and the new Pokédex entry plays its sound.\n- A Pokémon caught in the Bug-Catching Contest is added to the Pokédex straight away.\n- A Rare Candy used where the Pokémon was caught raises happiness more, in Crystal.\n- A move learned from a Rare Candy, an evolution stone or an evolution after a battle shows \"learned\" and offers to forget a move when all four slots are full.\n- The party menu reopens on the Pokémon you last picked.\n- Softboiled and Milk Drink animate both HP bars and say how much HP was recovered.\n- Refused field moves, TAKE, mail and Softboiled messages appear over the party menu, which then comes back on the same Pokémon.\n- Backing out of GIVE, TAKE or the mail menu returns to the party list.\n- Giving an item that can't be held goes back to the bag. Mail is written after the Pokémon takes it.\n- The MOVE screen no longer wraps from the last move to the first.\n- In Gold and Silver, the MOVE screen says ATTK and the mail menu opens further left.\n- In a Cable Club room, the START menu hides PACK and SAVE, and the party menu hides field moves and ITEM.\n- The music is quieter while a stats screen or a Pokédex entry is open.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.58-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.58-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.58-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.58-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.58-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.58-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.58-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.58-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.58-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.58/pokerecomp-0.1.58-ios.ipa",
          "size": 25467942,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.57",
          "buildVersion": "0.1.57",
          "date": "2026-09-26T12:04:55Z",
          "localizedDescription": "## Fixed\n\n- The stats screen of a Pokémon in a PC box turns its pages with LEFT, RIGHT and A, and shows the Pokémon's picture.\n- You can no longer walk into a boulder while it slides after a Strength push, or into the square a walking NPC is leaving.\n- A boulder pushed into a hole in Ice Path or Blackthorn Gym falls through, and the game no longer freezes.\n- With Overworld Encounters on, the roaming legendary beasts can be met in the grass again.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.57-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.57-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.57-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.57-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.57-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.57-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.57-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.57-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.57-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.57/pokerecomp-0.1.57-ios.ipa",
          "size": 25455214,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.56",
          "buildVersion": "0.1.56",
          "date": "2026-09-26T09:23:14Z",
          "localizedDescription": "## Changed\n\n- Menus click when you press A or B, including every party list, the bag and the battle menus.\n- Holding a direction keeps scrolling only in the menus that do so in the games.\n- The bag list stops at its top and bottom.\n- A scrolling list shows its down arrow only while CANCEL is off screen. The elevator, mailbox, Buena's prizes and long decoration lists end on CANCEL.\n- On Gold, Silver and Crystal, SELECT reorders moves during a battle.\n- The battle menu and move cursors return to the top when a new Pokémon is sent out, and the START menu cursor resets after a battle. The bag opens on its first pocket after a battle.\n- A critical hit and the type matchup are separate messages, and a move that hits several times names the matchup once.\n- Colosseum link battles on Gold, Silver and Crystal show the versus screen first, then the result and your link record.\n\n## Fixed\n\n- On Gold, Silver and Crystal, a trainer's switch or item use happens at its proper point in the turn, and Berserk Gene and flinching are handled before you choose a move.\n- A move disabled or drained by Spite after you chose it fails with its own message and no longer turns into Struggle. An Encored move is used even while disabled.\n- Poison, burn and other end-of-turn damage stop once the battle is decided, and experience is paid as each Pokémon faints.\n- Toxic damage grows by the amount the games use, and Heal Bell no longer resets it.\n- Wrap and similar moves no longer hurt a Pokémon behind a Substitute.\n- A fainted Pokémon loses its status condition.\n- Tri Attack causes a burn, freeze or paralysis only on its 20% chance.\n- Gust and Twister double their damage only against Fly, Earthquake and Magnitude only against Dig, and Stomp only against Minimize.\n- King's Rock can no longer make a missed move flinch. MiracleBerry cures confusion.\n- Future Sight, one-hit KO moves against a higher level, Counter, Mirror Coat, Present, Bide, Mirror Move, Psych Up, Belly Drum and Swagger show the games' messages when they fail. A move that cannot affect the target's type says so even when it would have missed.\n- Belly Drum at maximum Attack fails without costing HP. Swagger at maximum Attack misses and does not confuse.\n- Out of Park Balls, a Bug-Catching Contest battle ends.\n- Trainers' loss lines appear only in battles you are allowed to lose and at the Battle Tower.\n- Wild victory music starts when the wild Pokémon faints.\n- Opposing trainers choose their next Pokémon by type matchup, as the games do.\n- Knocking out a switching Pokémon with Pursuit gives no experience.\n- Baton Pass keeps Mean Look and Spider Web on the opponent. While trapped, choosing a Pokémon to switch to says so and keeps you on the party list.\n- A transformed Pokémon gains experience and learns moves as its own species. Pokérus doubles stat experience.\n- A Pokémon on the bench that gains several levels shows one message, and new moves come after all of them.\n- The experience bar fills at the games' rate and is empty at level 100.\n- Catching a Pokémon still pays Pay Day money and lets your Pokémon evolve.\n- The Exp. Share message on Gold, Silver and Crystal no longer says EXP.ALL.\n- The link record orders its trainers as the games do.\n- On Gold and Silver, wild Hoothoot and Noctowl are asleep outside the night, and wild Pidgey and Spearow at night.\n- The Dragon Shrine quiz ignores B.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.56-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.56-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.56-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.56-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.56-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.56-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.56-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.56-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.56-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.56/pokerecomp-0.1.56-ios.ipa",
          "size": 25456695,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.55",
          "buildVersion": "0.1.55",
          "date": "2026-09-26T06:29:12Z",
          "localizedDescription": "## Added\n\n- For mods, one set of calls answers whether a cell is land, water or wall, whether it is a doorway, and which ways a ledge drops, on all six cartridges. Mod API 49.\n\n## Changed\n\n- Talking to someone or reading a sign plays the click the games make.\n- On Gold, Silver and Crystal, the phone list keeps the order you registered numbers in, and the random caller is picked from that order.\n- A Pokémon given to you while your party is full goes to the front of the box and keeps the nickname you chose. The message names the species.\n\n## Fixed\n\n- On Gold, Silver and Crystal, incoming phone calls only rang while you stood on a door, stairs or a cave entrance. They now ring anywhere but those tiles.\n- Items rearranged in the bag with SELECT went back to item order after loading a save.\n- Walking through a door, onto a scripted spot or into a trainer's view no longer counts as a step for Repel, poison, eggs, friendship or the Day-Care. Crossing onto the next route now counts.\n- A hatching egg, poison damage or a Repel running out ends that step, so no wild Pokémon appears behind it.\n- Daily events, Pokérus and the lucky number count every day that passes, including a week away and days with the game closed.\n- The Bug-Catching Contest lasts its full 20 minutes and ends even if you stand still.\n- The Lucky Number Show at the Radio Tower opens again after you win a prize, and the radio announces the same number.\n- Swarms on Gold and Silver end with the day.\n- The Battle Tower hands over its reward, and only says the pack is full when the item pocket is.\n- An Unown sent to the PC because your party is full now enters the Unown dex.\n- Pokémon given by other trainers carry their original owner's ID, so they gain traded experience.\n- Mystery Gift's daily limit lifts once a day has passed.\n- Gold and Silver no longer show a trainer gender mark on a Pokémon's summary, which only Crystal has.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.55-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.55-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.55-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.55-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.55-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.55-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.55-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.55-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.55-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.55/pokerecomp-0.1.55-ios.ipa",
          "size": 25434922,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.54",
          "buildVersion": "0.1.54",
          "date": "2026-09-25T21:30:33Z",
          "localizedDescription": "## Changed\n\n- For mods, the cells offered to visible wild Pokémon only include places the player can reach. The list is refreshed when a script opens a door or Cut clears grass.\n\n## Fixed\n\n- Wild Pokémon shown on the map by a mod no longer appear where the player can never go, like the floor outside the walls of Ice Path and other caves.\n- On Gold, Silver and Crystal, you can no longer walk, open the menu or press A while the Fly, Cut or Headbutt animation plays.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.54-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.54-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.54-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.54-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.54-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.54-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.54-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.54-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.54-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.54/pokerecomp-0.1.54-ios.ipa",
          "size": 25426002,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.53",
          "buildVersion": "0.1.53",
          "date": "2026-09-25T20:06:17Z",
          "localizedDescription": "## Added\n\n- Mods get API 48. A mod can change how often Raikou, Entei and Suicune appear on the route they are roaming, read the roaming slots, and make a Pokémon roam in an empty slot, such as Suicune in Crystal. It can also read whether the beasts have left the Burned Tower, whether Crystal's Suicune battle at Tin Tower happened, and which species are caught.\n\n## Fixed\n\n- Repel keeps away the wild Pokémon a mod shows on the map, as it does with random encounters. On Red, Blue and Yellow, Repel now also wears off while such a mod is on.\n- TMs and HMs in a shop show the move's description. They showed \"?\".\n- The PC's item list describes the item under the cursor.\n- Fly and Dig take the user off the screen on the first turn, and it comes back when the move lands, misses or is interrupted. Every two-turn move now plays its first-turn animation.\n- When a Pokémon forgets a move for a TM or HM, the TM party menu stays behind the text, and CANCEL and the last Pokémon's HP bar no longer show through the text box.\n- The move lists for forgetting a move and for PP Up or Ether use the same boxes as the cartridge, in the bag and in battle.\n- Raikou and Entei only start roaming after the Burned Tower, and the Pokédex no longer shows where they are before that. Saves where they got loose early are fixed when loaded.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.53-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.53-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.53-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.53-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.53-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.53-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.53-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.53-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.53-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.53/pokerecomp-0.1.53-ios.ipa",
          "size": 25423105,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.52",
          "buildVersion": "0.1.52",
          "date": "2026-09-25T15:45:26Z",
          "localizedDescription": "## Added\n\n- Mods get API 47. Every map has its name from the disassembly, such as `GOLDENROD_DEPT_STORE_2F`, and a mod can find a map by that name on any cartridge. Gold and Silver number some maps differently from Crystal, so a map named by group and number could land on the wrong one.\n\n## Fixed\n\n- Turning on the spot in tall grass can start a wild battle in Gold, Silver and Crystal, as it does on the cartridge.\n- Characters who hop or get pushed back in a cutscene keep facing the same way: Elm's surprised jumps, the rival shoving you out of Elm's lab, Clair in the Dragon's Den and the Rattata on Route 30.\n- Pokémon standing on the map, like Kurt's Slowpoke, no longer turn to face you when you talk to them.\n- Objects that slide in a cutscene, like the legendary beasts in the Burned Tower, no longer play their walking animation.\n- After loading a save, the first phone call waits the full 20 minutes again.\n- Time spent in menus and battles now counts toward the next phone call.\n- No phone call comes in during the Bug-Catching Contest.\n- Incoming callers are picked with the cartridge's odds.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.52-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.52-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.52-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.52-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.52-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.52-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.52-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.52-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.52-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.52/pokerecomp-0.1.52-ios.ipa",
          "size": 25415586,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.51",
          "buildVersion": "0.1.51",
          "date": "2026-09-25T11:04:02Z",
          "localizedDescription": "## Added\n\n- Mods get API 46. A catch that fills the open PC box is now marked on the catch event, so a mod can warn you before the next ball is refused. Mods can also read how much room is left in the open box.\n\n## Changed\n\n- For mods, a hidden Headbutt tree is no longer counted as a change to the map background. 3D views no longer rebuild the map twice on every Headbutt.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.51-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.51-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.51-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.51-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.51-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.51-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.51-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.51-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.51-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.51/pokerecomp-0.1.51-ios.ipa",
          "size": 25395682,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.50",
          "buildVersion": "0.1.50",
          "date": "2026-09-25T10:07:02Z",
          "localizedDescription": "## Added\n\n- Mods get API 45: `drawn_tile_at()` gives the tile the overworld background shows at any map tile, with the S.S. Anne scene's scrolling band in map terms and a revision number for rebuilding, the battle's map context carries cut trees and other changed blocks, and two new screenshot hooks start the S.S. Anne departure and the poison flash.\n- Your Pokemon now shrinks back into its ball when you switch it out, in all six games.\n\n## Changed\n\n- Gold, Silver and Crystal now read every battle message from your cartridge, so the wording and line breaks match the original. Import your cartridges again after updating.\n- \"X used MOVE!\", \"Go! X!\", \"X, come back!\" and the other lines the game shows without an arrow no longer wait for a button press.\n- Switching out says \"that's enough!\", \"OK!\" or \"good!\" depending on how much damage your Pokemon did, as in the original games.\n- The pauses around Protect, Roar, Thunder Wave, Beat Up, Baton Pass, switching and fainting now match the original timing.\n\n## Fixed\n\n- A trainer switching Pokemon in the middle of a turn no longer asks whether you want to switch too.\n- Baton Pass and Roar no longer print \"come back!\" and \"Go!\" lines the originals never showed.\n- Pursuit now hits after your \"come back!\" line.\n- Ancientpower shows one message for each stat that rose, and Dream Eater says the dream was eaten.\n- A Pokemon with no usable moves says so before using Struggle.\n- In Red, Blue and Yellow, a Pokemon caught in Wrap can be switched out, Thrash says \"thrashing about!\" on later turns, and Roar against a trainer says the target is unaffected.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.50-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.50-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.50-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.50-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.50-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.50-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.50-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.50-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.50-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.50/pokerecomp-0.1.50-ios.ipa",
          "size": 25395507,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.49",
          "buildVersion": "0.1.49",
          "date": "2026-09-24T22:34:35Z",
          "localizedDescription": "## Added\n\n- Mods get API 44: one call draws a trainer's party balls, everything the overworld draws carries its height and map position, people on connected maps are listed out to a renderer's reach, and `reachable_checks()` lets an item shuffle place key items so the game can always be finished.\n- Oak's aides in Red, Blue and Yellow are item checks a mod can change, each with the Pokedex count it asks for.\n\n## Changed\n\n- A mod's item shuffle no longer puts a key item on a check that needs a Pokemon it cannot prove you have, such as Elm's EVERSTONE, which waits for the Togepi from the MYSTERY EGG.\n\n## Fixed\n\n- A caught Pokemon joins the party when a mod gives experience for catching. The Pokedex counted it, but it appeared neither in the party nor in the PC (#703).\n- After FLY, DIG, ESCAPE ROPE or TELEPORT in Gold, Silver and Crystal, you can walk straight away without pressing A (#705).\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.49-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.49-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.49-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.49-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.49-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.49-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.49-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.49-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.49-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.49/pokerecomp-0.1.49-ios.ipa",
          "size": 25377116,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.48",
          "buildVersion": "0.1.48",
          "date": "2026-09-24T18:36:50Z",
          "localizedDescription": "## Added\n\n- Gold, Silver and Crystal open the full pack screen for SELL at the mart, DEPOSIT ITEM at the PC and PACK in battle, with its pockets, the sell dial, the money box and the USE/QUIT menu.\n- The PC item list has CANCEL, a quantity dial and a toss question.\n- The battle party list opens SWITCH, STATS and CANCEL, and STATS shows the stats screen in battle.\n- Mods get API 43: one call draws a battle square and both status panels, one list holds everything the overworld draws, and the playthrough check can run with mods at their default settings.\n\n## Changed\n\n- Every YES/NO box works the same way: the answer stays on screen a moment before it is used, the cursor stops at the ends, and B means NO. A question longer than one box is read page by page before the choice appears.\n- The pack reopens on the last pocket and row you used.\n- A mod's item shuffle is refused when it hides a story item behind the gate it opens, such as OAK'S PARCEL or the SQUIRTBOTTLE.\n\n## Fixed\n\n- FLY takes you to the town you pick with A, and the TOWN MAP closes on A in Red, Blue and Yellow.\n- A trainer's Pokemon comes out of its ball before it moves and cries. \"sent out\" and other long lines scroll up instead of starting a new box.\n- The Team Rocket Hideout grunts walk up to you at the security cameras, and Lance leaves the Electrode room without walking through walls.\n- A wild battle where both Pokemon faint, or where you say NO to \"Use next\" and run, no longer brings the party list back forever.\n- The first Pokemon that can fight leads the battle; a fainted lead is no longer sent out.\n- The Day-Care egg can be collected, and Mom starts saving money.\n- Warps work on dark maps in Red, Blue and Yellow, such as Rock Tunnel without FLASH.\n- Oak's aides give their item and say how many Pokemon they asked for and how many you have.\n- The PC in Red, Blue and Yellow acts on the entry you picked, and BILL's PC opens on its own menu.\n- The Goldenrod Pokemon Center in Crystal no longer gives the GS BALL, and the Battle Tower desk no longer reports a deleted record.\n- Medicine in battle fills the HP bar and says what it did.\n- B advances text, START closes the menu, GIVE and TAKE go back to the party list, Repel says it was used, and the radio plays its station.\n- Nicknames, eggs, gender and status show correctly in the party, PC, trade and naming screens.\n- Red, Blue and Yellow draw a Pokemon that used Minimize and the Substitute doll, and a Pokemon comes back on screen after Quick Attack, Low Kick, Submission and Counter.\n- The Day-Care egg and the move tutor's refusal play the right sound.\n- A mod's gift egg stays an egg, and a mod that changes the wild tables shows its new Pokemon on the map straight away.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.48-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.48-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.48-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.48-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.48-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.48-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.48-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.48-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.48-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.48/pokerecomp-0.1.48-ios.ipa",
          "size": 25368255,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.47",
          "buildVersion": "0.1.47",
          "date": "2026-09-24T08:19:56Z",
          "localizedDescription": "## Added\n\n- Mods can put a PC row on the start menu that opens the whole Pokemon Center PC: BILL'S PC, your own PC, PROF.OAK'S PC and the Hall of Fame. On Gold, Silver and Crystal it needs a Pokemon in the party, like the real PC.\n- The save editor shows each party Pokemon's gender and can switch it. It lists all 20 slots of a box and every item in the bag, picks items by name, and removes the selected item.\n\n## Fixed\n\n- When a trainer sends out the next Pokemon, the ball opens before the Pokemon appears, and its HP bar comes back after the cry. The Poke Ball row goes away as the line starts. The line names the trainer (\"LEADER FALKNER sent out ...\").\n- A trainer turning to face you, or the second of two trainers facing each other, now notices you while you stand still. In Cianwood Gym the second Black Belt walks over after the first battle.\n- The TM/HM pocket is always in number order.\n- Mom and Elm answer the phone. Calling from the Pokegear stays on the phone screen, plays the dial tone twice, and hangs up on the card. Trainers who call you use their own lines.\n- The hole in Burned Tower stays hidden until after the rival battle. Any map that changes its own tiles keeps them after a battle, including the Elite Four doors and the Radio Tower shutter.\n- Falling through the hole in Burned Tower draws the basement correctly, and plays the fall and the landing shake. The Ruins of Alph chambers and the Magnet Train take their warps the same way.\n- The save editor keeps the map and position you type in when you press Save.\n- When a mod changes the wild tables, the wild Pokemon already walking on the map follow the new tables.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.47-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.47-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.47-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.47-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.47-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.47-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.47-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.47-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.47-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.47/pokerecomp-0.1.47-ios.ipa",
          "size": 25290274,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.46",
          "buildVersion": "0.1.46",
          "date": "2026-09-23T09:24:57Z",
          "localizedDescription": "## Added\n\n- PP UP works on all six games. Pick the move from the pack and its PP goes up by a fifth, up to three times. Saves imported from a cartridge keep the PP Ups they had, and exported ones carry them back.\n- Status animations in battle: the sleep, confusion and love animations on every turn a Pokemon is asleep, confused or in love, and the poison, burn, Leech Seed, Nightmare and Curse animations with their damage.\n- Gold, Silver and Crystal print \"X is in love with Y!\" every turn an infatuated Pokemon tries to move.\n- Red, Blue and Yellow show both parties' Poke Ball rows when a battle starts. On all six games, a trainer's row comes back, with the fainted one crossed out, before their next Pokemon comes out.\n- Mods can rewrite any wild table while the game runs: grass, surf, fishing, Headbutt, Rock Smash, swarms, the Bug-Catching Contest and roamers. A switch in a mod's settings can put its changes in or take them back without a restart. A Pokemon added by another mod can be met in the wild.\n\n## Fixed\n\n- A nicknamed Pokemon is called by its nickname in battle. The HUD, \"Go! X!\", the EXP line, level-ups and move learning all showed the species name.\n- The status lines on Gold, Silver and Crystal read as on the cartridge: \"X's fully paralyzed!\", \"X's paralyzed! Maybe it can't attack!\", \"X's badly poisoned!\", \"X is hurt by poison!\", \"X's hurt by its burn!\" and \"X's infatuation kept it from attacking!\".\n- Learning a new move in battle asks the question once, with no extra line in front. Red, Blue and Yellow asked it twice. Forgetting a move says \"1, 2 and... Poof!\" again.\n- Red, Blue and Yellow say \"New POKéDEX data will be added for X!\" after a catch.\n- A Pokedex entry on Gold, Silver or Crystal no longer shows the description of a Pokemon you have only seen.\n- The trainer card on Gold, Silver and Crystal shows ¥ before your money.\n- The stats page on Red, Blue and Yellow shows a dash for each empty move slot.\n- On Red, Blue and Yellow, a Pokemon fainting from poison in the field is announced before the screen flashes.\n- A mod's grass table with fewer slots than the game rolls is refused, instead of turning up no Pokemon at all on those slots.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.46-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.46-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.46-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.46-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.46-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.46-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.46-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.46-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.46-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.46/pokerecomp-0.1.46-ios.ipa",
          "size": 25279759,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.45",
          "buildVersion": "0.1.45",
          "date": "2026-09-22T19:23:00Z",
          "localizedDescription": "## Added\n\n- The save editor's Pokedex tab has a Caught button beside Seen and Clear, and a button that registers every Pokemon in your party and boxes. Use it once on a save you edited before this release.\n\n## Fixed\n\n- The battle panels on Gold, Silver and Crystal now show the Pokemon's gender, ♂ or ♀, beside its level, the way the cartridge does.\n- A poisoned, burned, frozen, paralysed or sleeping Pokemon now shows PSN, BRN, FRZ, PAR or SLP in place of its level in battle, on all six games. It changes on the line that announces it.\n- A Pokemon added in the save editor, to the party or a box, is now registered in the Pokedex as caught. An Unown added to the party goes into the Unown dex too. Clearing a species also clears its caught flag, so the caught count matches the list.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.45-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.45-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.45-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.45-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.45-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.45-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.45-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.45-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.45-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.45/pokerecomp-0.1.45-ios.ipa",
          "size": 25271292,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.44",
          "buildVersion": "0.1.44",
          "date": "2026-09-22T17:05:04Z",
          "localizedDescription": "## Added\n\n- The launcher plays Red, Blue and Yellow's own title screen behind the cartridge on the shelf, the way it already did for Gold, Silver and Crystal. The lettering is taken off so the launcher's own text stays readable, and the cartridge's title music plays under the interface.\n- A handheld with a second display, like the Ayn Thor, gets the lower screen on Red, Blue and Yellow too: the Pokedex, the party, the ITEM list, the TOWN MAP and the trainer info screen, with a tab for each.\n- The map is its own tab on those three, since Generation I has no Pokegear. It appears once the TOWN MAP is in your bag and sits where the Pokegear tab sits on Gold, Silver and Crystal.\n- Hard mode now changes what a Generation I trainer does. Every class scores its moves with all three of the game's own layers instead of the one or two its class carries, on top of the higher levels, perfect DVs and full stat experience it already brought.\n\n## Fixed\n\n- A Nuzlocke on Red, Blue or Yellow was counting one catch per map instead of one per area, so Mt. Moon gave you three encounters and Pokemon Tower five. A whole cave or tower is one area now, which is what the rule says: 36 encounters across the game rather than 57.\n- The party icon beside a Pokemon's name on the lower screen was drawn with half of it missing on Red, Blue and Yellow.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.44-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.44-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.44-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.44-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.44-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.44-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.44-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.44-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.44-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.44/pokerecomp-0.1.44-ios.ipa",
          "size": 25267865,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.43",
          "buildVersion": "0.1.43",
          "date": "2026-09-22T08:06:16Z",
          "localizedDescription": "## Fixed\n\n- The Pokegear's MAP card now moves on to the PHONE and RADIO cards on Gold, Silver and Crystal. Pressing left or right on it did nothing, so once you were on the map the only way out was B. Switching cards plays the same click the cartridge does.\n- The \"Will you change POKéMON?\" question in a trainer battle with the SHIFT setting shows its YES/NO box again. The box was never drawn, so the press meant to read the question was taken as YES and you landed in the party list. The same fault hid the \"Use next POKéMON?\" box, the \"delete a move?\" box and the Bug-Catching Contest's keep-or-swap box; all four appear the moment their question finishes printing.\n- That question now stands on its own page, the way the cartridge prints it.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.43-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.43-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.43-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.43-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.43-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.43-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.43-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.43-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.43-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.43/pokerecomp-0.1.43-ios.ipa",
          "size": 25261851,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.42",
          "buildVersion": "0.1.42",
          "date": "2026-09-21T16:12:18Z",
          "localizedDescription": "## Added\n\n- A new game on Red, Blue and Yellow is now played through by a check on the real screens before every release: from the copyright screen to the save, then the bedroom, Prof. Oak, the starter, the rival, the parcel, the Pokedex, Viridian Forest and Brock, every button pressed the way a player presses it and the sound driver running. Every fix below came out of its first run.\n\n## Changed\n\n- Every check that drives a screen by hand now runs the sound driver with it, so a text box waiting on a sound that never ends fails in a check rather than on a phone.\n- Pressing A, START or SELECT on Red, Blue and Yellow is read on the overworld's own pass behind the map's script, as a direction already was. Talking to Prof. Oak again the moment his parcel text closes no longer lands in front of your rival's entrance.\n\n## Fixed\n\n- Pressing A during Prof. Oak's PIKACHU catch on Yellow, or the old man's catch in Viridian City, no longer takes over the battle. A press that reached the menu fought the demo with the demonstrator's own two Pokemon, and those two were then written into your party as if they were yours.\n- Yellow no longer sends you home to your bedroom after Prof. Oak's catch when your party is still empty.\n- Flying and using an Escape Rope on Red, Blue and Yellow hold the frames the cartridge spends fading the music out and waiting for the last sound, which the check that pins them had not been counting.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.42-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.42-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.42-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.42-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.42-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.42-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.42-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.42-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.42-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.42/pokerecomp-0.1.42-ios.ipa",
          "size": 25261669,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.41",
          "buildVersion": "0.1.41",
          "date": "2026-09-21T11:57:46Z",
          "localizedDescription": "## Added\n\n- The START menu, the PC, the Cable Club and the trainer card on Red, Blue and Yellow show the POKéDEX once Prof. Oak has handed it over. The row never appeared before, on any of the three, and a save that already has the Pokedex sees it on load.\n- The low-health alarm sounds in a Red, Blue or Yellow battle when the bar turns red, and stops when it turns back.\n- Cutting a tree or grass on Red, Blue and Yellow plays the cartridge's own cut: the block splits apart under the cut sound, or the leaves scatter, with the view redrawn on either side.\n- Selecting an item with SELECT on Red, Blue and Yellow and pressing it on another swaps the two rows, in the bag and in the mart's sell list.\n- Talking to someone on Red, Blue and Yellow turns them to face you, and someone who stands still turns back afterwards, as on the cartridge.\n\n## Changed\n\n- A Pokemon's HP bar on Red, Blue and Yellow turns yellow under 27 pixels, where Gold, Silver and Crystal's turns under 24.\n- Someone more than half a screen away on Red, Blue and Yellow stands frozen, as on the cartridge, and a trainer there cannot see you.\n- Pewter City's two guides walk you to the museum door or the gym sign from wherever they meet you, as the cartridge's tables say, and stand back where they were afterwards.\n- The two Cinnabar Gym doors and every other block a script swaps in view on Red, Blue and Yellow hold the frames the cartridge's redraw spends.\n- Pressing a direction on Red, Blue and Yellow is read on the overworld's own pass, behind the map's script, so a tap on the step onto Pallet Town's north path meets Prof. Oak rather than walking out onto Route 1.\n- The imported cache is format 151 and is rebuilt on first launch.\n\n## Fixed\n\n- Prof. Oak's PIKACHU battle on Yellow no longer freezes on an empty text box before \"Wild PIKACHU appeared!\". A battle screen refresh had left the low-health alarm byte at a value Yellow's sound driver reads as \"hold the first sound channel\", so every cry hung and the text waiting behind it never came; on Android with sound on, no Yellow battle got past its first cry.\n- The first cry of a session on Red, Blue and Yellow no longer waits about four seconds before its text: a fresh driver's wave channel counted 255 frames on a cry that never used it.\n- A move used instead of the one you chose on Red, Blue and Yellow says \"used instead,\" as the cartridge does.\n- A Rare Candy and a level gained in battle on Red, Blue and Yellow play their sound and wait for a press before the stat box, and a TM a Pokemon cannot learn or already knows says so in the cartridge's words with its refusal sound and returns to the party list.\n- The mart on Red, Blue and Yellow returns to BUY/SELL/QUIT after \"not enough money\", \"bag full\" and \"can't sell that\", and to the sell list after a sale, with no extra box.\n- Pewter Gym's trainer by the door on Red, Blue and Yellow no longer spots you from a column he cannot see.\n- A trainer's Pokemon in the swap list on Red, Blue and Yellow prints no ABLE/NOT ABLE beside every row where the cartridge prints none, and the swap arrow stands on the nickname's row.\n- The play timer on Red, Blue and Yellow stops at 255 hours and keeps counting through the Hall of Fame.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.41-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.41-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.41-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.41-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.41-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.41-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.41-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.41-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.41-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.41/pokerecomp-0.1.41-ios.ipa",
          "size": 25259865,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.40",
          "buildVersion": "0.1.40",
          "date": "2026-09-20T16:23:30Z",
          "localizedDescription": "## Added\n\n- Using a Potion, a status cure, a Revive or a Rare Candy from the party menu on Red, Blue and Yellow prints the cartridge's own line in the speech box, fills the bar under the Potion sound first, and a Rare Candy shows the level-up stat box. Vitamins, PP restores and refusals print over the list as it stands.\n- A gift Pokemon, a caught Pokemon sent to the box and a move learned over a full set say their Red, Blue and Yellow lines: \"Got EEVEE!\", the nickname question, \"sent to BILL's PC\" once Bill has been met, \"There's no room\" when neither has any, and the Move Deleter's own wording with its swap sound.\n- A Repel wearing off says so, on every cartridge. Before this, the count ran out in silence unless a mod renewed it.\n- A status move that lands on nothing says what its own routine says: \"It didn't affect\", \"already asleep\", \"already paralyzed\", \"already poisoned\", \"already confused\", \"evaded the attack\" or \"But it failed!\". Every one of them had said \"attack missed\" or nothing.\n\n## Changed\n\n- Trainer Pokemon on Red, Blue and Yellow carry the cartridge's DVs (`$9888`) rather than perfect ones, so a trainer's Pokemon has the HP and stats the cartridge gives it.\n- Gaining several levels in one fight on Red, Blue and Yellow jumps straight to the final level, says \"grew to level N\" once and offers only that level's moves, which is what the cartridge does.\n- Withdrawing a Pokemon from the PC on Gold, Silver and Crystal restores its HP and clears its status, and depositing one restores its PP.\n- The imported cache is format 149 and is rebuilt on first launch.\n\n## Fixed\n\n- Thunder Wave, Sing, Stun Spore, Glare and Leech Seed land behind a Substitute on Red, Blue and Yellow, as they do on the cartridge; Glare paralyses a Ghost-type there too.\n- A trainer's Thunder Wave, Sleep Powder or Toxic on Red, Blue and Yellow no longer fails a quarter of the time. That roll is Gold, Silver and Crystal's.\n- Rest on Red, Blue and Yellow no longer resets a bad poisoning's counter, so a Pokemon that was badly poisoned and rested is hurt the way the cartridge hurts it when poisoned again.\n- Seafoam Islands' strong current runs on Red, Blue and Yellow; its B3F script never ran on a frame with no boulder pushed, and the puzzle could not be finished.\n- Pushing a boulder on Red, Blue and Yellow checks the tile two cells ahead, as the cartridge does; the port had checked the boulder's own tile and let a push through where the cartridge refuses one.\n- Yellow's Underground Path trade evolves the MACHOKE into MACHAMP, and a link trade records both the species that arrived and what it became.\n- Walking out of a door or a warp on Red, Blue and Yellow no longer spends three quiet steps: only a fight arms the wild cooldown, and a step onto a map through a warp counts neither for poison nor for an encounter, on any cartridge.\n- The Pokemon Center on Red, Blue and Yellow asks \"Shall we heal your POKéMON?\" on the first visit only, then greets you with the yes/no box.\n- A vending machine on Red, Blue and Yellow checks for ¥200 whatever the drink costs and a purchase that would go below zero leaves ¥0, both as the cartridge does.\n- Yellow's VAPOREON learns HAZE at level 42 and never MIST, as on the cartridge.\n- The last poisoned party member fainting on the overworld on Red, Blue and Yellow is silent, as on the cartridge.\n- The cartridge's battle level-up box on Red, Blue and Yellow shows SPECIAL, where the port had shown SPCL.ATK and SPCL.DEF.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.40-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.40-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.40-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.40-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.40-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.40-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.40-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.40-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.40-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.40/pokerecomp-0.1.40-ios.ipa",
          "size": 25248703,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.39",
          "buildVersion": "0.1.39",
          "date": "2026-09-20T10:00:23Z",
          "localizedDescription": "## Added\n\n- Leaving and entering a map on Red, Blue and Yellow plays the cartridge's own animations: a warp pad lifts you off the floor and sets you down, a hole swallows the top half of your sprite and drops you onto the floor below, an Escape Rope, Dig or Teleport spins you in place and up, and Fly turns you into the bird that flaps off the screen and glides back in. The white fades, every teleport and fly sound, and the fifty-frame drop through a hole are frame for frame the cartridge's, measured on Red and Yellow.\n- `Gen2WorldTileset.name`, the `TILESET_*` constant's name on every cartridge, and `GameData.world_tileset_named()`, so a mod keyed by tileset reads the same on Gold, whose numbering sits three lower than Crystal's past KANTO. `api_version` 40.\n- `Gen2BattleColors`, the colours a battle is drawn in on either generation, for any renderer a mod registers; `Gen2WorldPalette.overworld_sprite_colors`, `Gen2WorldMap.is_outside()` and `Gen2WorldCollision.gen1_ledge_direction` beside it. `api_version` 39.\n- Every slot a visible-encounter provider is handed carries `chance`, its weight in the roll, a shiny wild on Red, Blue and Yellow is announced with the shine sound, and Yellow's Pikachu is held in `occupied`. `api_version` 38.\n\n## Changed\n\n- The mod contract is `api_version` 40; both example mods declare it.\n\n## Fixed\n\n- A Red, Blue or Yellow map numbered a block 0 and it was drawn as the map's border: 118 blocks on Red, the east end of Oak's Lab in Pallet Town among them, stood as tall grass or trees.\n- After a fly, an Escape Rope, Dig, Teleport or a fall through a hole on Red, Blue and Yellow the player faces down on landing, as `ResetPlayerSpriteData` leaves them; a fall had kept the facing you fell in with.\n- A Red, Blue or Yellow battle drawn by a mod's renderer printed its text box in white and black.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.39-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.39-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.39-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.39-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.39-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.39-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.39-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.39-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.39-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.39/pokerecomp-0.1.39-ios.ipa",
          "size": 25220033,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.38",
          "buildVersion": "0.1.38",
          "date": "2026-09-19T19:50:28Z",
          "localizedDescription": "## Added\n\n- A lost fight on Red, Blue and Yellow blacks out: the party is healed, the money halved and the player wakes at the last Pokemon Center, as `HandleBlackOut` does. Before this a lost trainer fight left you standing beside the trainer with a fainted party.\n- The battle says its own line on the way out: \"is out of useable POKéMON! blacked out!\" under the black palette, the rival's \"Yeah! Am I great or what?\" behind his picture, and no blackout at all after the starter fight in Oak's Lab. A poison faint prints the same line on the map, and Yellow ends the Safari game there.\n- A wild Pokemon in Pokemon Tower without the SILPH SCOPE is a GHOST: your Pokemon is too scared to move, the ghost says \"Get out...\", a thrown ball is dodged and running always works. The restless soul with the scope is unveiled as MAROWAK over the cartridge's own 153-frame animation.\n- A traded Pokemon on Red, Blue and Yellow disobeys the way it does there: the MARSH badge is the one at 70, a sleeping Pokemon gets no special line, and the random move it picks instead follows the cartridge's own off-by-one roll.\n\n## Changed\n\n- The cache format is 147. Import your cartridges again.\n- Every battle line on Red, Blue and Yellow reads the cartridge's own wording with its own line breaks: \"wants to fight!\", \"sent out\", \"Critical hit!\", \"Nothing happened!\", \"No effect!\", \"greatly rose!\", \"Come back!\", \"Hit the enemy 2 times!\" and the rest.\n- A trainer's defeat prints \"was defeated!\" on Gold, Silver and Crystal and \"defeated\" on Red, Blue and Yellow. The port's own \"Player won!\" and \"The enemy won!\" lines are gone.\n- The rival is named by his own name in a battle on every cartridge.\n\n## Fixed\n\n- Crystal forgot the rival's name once the naming screen closed, so every later line about him read \"???\".\n- A Red, Blue or Yellow trainer's name printed with a stray space before \"wants to battle!\".\n- The GHOST and the two fossils were drawn from the corner of their box rather than padded like a front picture.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.38-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.38-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.38-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.38-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.38-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.38-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.38-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.38-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.38-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.38/pokerecomp-0.1.38-ios.ipa",
          "size": 25201069,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.37",
          "buildVersion": "0.1.37",
          "date": "2026-09-19T14:10:58Z",
          "localizedDescription": "## Added\n\n- Battles on Red, Blue and Yellow run on the cartridge's own turn rules: stored stats with the badge boosts and status penalties compounding the way they do there, poison and Leech Seed at a sixteenth, sleep for 1 to 7 turns with the waking turn lost, Rest, Disable, Thrash, Counter, Rage, Bide, Substitute, Mimic, Fissure, Swift, Metronome, Struggle and the multi-hit moves each doing what the cartridge does.\n- MIMIC puts the opponent's move list up and you pick the copy, as the cartridge does; the enemy rolls.\n- Mods reach the gameplay catalog on Red, Blue and Yellow: starters, gifts, statics, trades, prizes, items, badges and shops can be listed and patched (`api_version` 37), a mod can validate its placement against Kanto's map graph, and the Old and Good Rod are fishing groups like any other.\n- A Kanto badge notice icon draws from the trainer card's own sheet on Red, Blue and Yellow (`api_version` 36).\n\n## Changed\n\n- The cache format is 146. Import your cartridges again.\n- Bide prints nothing while it stores on Red, Blue and Yellow, adds and doubles the way the cartridge's byte arithmetic does, and a hit on a Substitute counts toward it.\n- Rage builds once per hit of a multi-hit move, on a missed Explosion and on Disable, and never on a stat move, a status move or Transform, as `HandleBuildingRage` sits on the cartridge.\n- Transform on Red, Blue and Yellow copies a Pokemon in the air, underground or already transformed, keeps a Disable running over the new moves, and a Substitute in front of the target does not stop it.\n- A confused Pokemon hitting itself, or crashing after a missed Jump Kick, behind its own Substitute spends the opponent's Substitute instead, and a Jump Kick crash costs one point, which is what the cartridge does.\n- \"It hurt itself in its confusion!\" and \"kept going and crashed!\" print before the health bar moves.\n\n## Fixed\n\n- Transform gave an empty move slot five PP on every cartridge; it gives none.\n- Full paralysis landed 64 times in 256; the cartridge's check is 63.\n- A mod that registered by generation at boot kept those registrations after Play selected a cartridge of another generation.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.37-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.37-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.37-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.37-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.37-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.37-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.37-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.37-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.37-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.37/pokerecomp-0.1.37-ios.ipa",
          "size": 25188633,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.36",
          "buildVersion": "0.1.36",
          "date": "2026-09-17T15:03:40Z",
          "localizedDescription": "## Added\n\n- Yellow's Surfing Pikachu minigame runs whole at Pikachu's Beach: the waves, the jumps, the radness score, the high score and the printer's high score page, measured against the cartridge frame by frame.\n- Yellow's printer pages: the diploma, the Pokemon portrait and the surfing high score, each drawn as the cartridge draws them.\n- Bill's Pokemon list, the Indigo Plateau statues, the beach house and the Fan Club chairman's printer all run their scripts; no Generation 1 script arm is left unknown.\n- A shiny is drawn shiny on Red, Blue and Yellow, with Gold, Silver or Crystal's colours when one of those is imported, and the shine plays on the send-out (`api_version` 34).\n- Mods reach Red, Blue and Yellow: hidden items, a row on a party member's menu, whether Yellow's Pikachu is out, and `generation()` to tell the cartridges apart (`api_version` 34 and 35).\n- Exp. All. The EXP.ALL in the bag halves the block, pays the Pokemon that fought, then pays the whole party the way the cartridge does, and the \"with EXP.ALL,\" line prints.\n- An HM in the bag can be a field-move source on Red, Blue and Yellow, behind Kanto's badges, for a mod that allows it.\n- A mod's PC row opens Bill's own PC on Red, Blue and Yellow.\n\n## Changed\n\n- The cache format is 144. Import your cartridges again.\n- A Repel renewal mod is handed the cartridge's own Repel table instead of carrying item numbers (`api_version` 35).\n\n## Fixed\n\n- A Generation 1 hidden item's flag was read as an event flag; it is an engine flag.\n- Some Generation 1 script rows were never matched because the cache stored their numbers as floats.\n- `tools/preview_pics.gd --shiny` drew Red's shinies the same as their normals.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.36-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.36-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.36-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.36-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.36-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.36-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.36-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.36-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.36-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.36/pokerecomp-0.1.36-ios.ipa",
          "size": 25159772,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.35",
          "buildVersion": "0.1.35",
          "date": "2026-09-17T08:48:38Z",
          "localizedDescription": "## Added\n\n- Red, Blue and Yellow's OPTION menu is the cartridge's own: three sections on Red and Blue, and Yellow's one page with SOUND over MONO and the three EARPHONE settings, which now reach the sound driver, and PRINT.\n- SAVE on Red, Blue and Yellow asks the cartridge's question over the START menu, saves before \"Now saving...\" (Yellow's \"Saving...\"), and closes the menu either way, as the cartridge does.\n- Yellow is coloured as a Game Boy Color colours it: every species, bar, town map and map palette comes out of the table the hardware reads, and the intro and battle sprites carry their own palette bits.\n- Yellow's Pikachu has its voice: the 42 clips play from the title, the emotion table, scripts, battles, the Hall of Fame, the status screen, Bill's PC, the day care and a poison faint.\n- Every script sound on Red, Blue and Yellow plays, and the rival's theme and the Champion's room music start where the cartridge starts them.\n- A mod's stats page turns on Red, Blue and Yellow, after the moves page, with A (`api_version` 33).\n- A mod asked about a mart is told the map and, on Red, Blue and Yellow, the counter it was opened at (`api_version` 32).\n\n## Changed\n\n- The cache format is 142. Import your cartridges again.\n\n## Fixed\n\n- \"#DEX\" drew \"?DEX\" on a Generation 1 font, on the save box and everywhere else the source writes `#`.\n- Yellow's SOUND option had never reached the sound driver.\n- A catalogued shop behind another clerk's script was filed under that clerk's entry point: Goldenrod Dept Store 2F's second counter.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.35-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.35-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.35-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.35-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.35-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.35-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.35-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.35-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.35-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.35/pokerecomp-0.1.35-ios.ipa",
          "size": 25098106,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.34",
          "buildVersion": "0.1.34",
          "date": "2026-09-15T09:57:56Z",
          "localizedDescription": "## Added\n\n- The Cable Club on Red, Blue and Yellow links two saves of the same cartridge. The receptionist saves the game, the menu offers the Trade Center and the Colosseum, and either room loads with your friend on the far stool: the other occupied save slot of that game.\n- The Trade Center trades: both parties side by side, STATS on either Pokemon, the trade movie, an evolution on arrival for the species that evolve by trade, and CANCEL back to the room.\n- The Colosseum fights the other save's party as a link battle: the versus box with the Poke Ball rows, RUN as a forfeit, the verdict, and a healed party back in the room.\n- Yellow's COLOSSEUM2 offers the PIKA, PETIT and POKE CUP with each cup's level, count and evolution rules, and the cups' own sleep cap.\n- A Pokemon evolves after a fight, by stone or by Rare Candy, on the cartridge's evolution screen with its flicker and cries; cancelling with B works.\n- An in-game trade plays its movie on all three cartridges, with Yellow's own palette timing.\n- The S.S. Anne sails out of Vermilion under its smoke, a pushed boulder raises its dust, and the spinner tiles spin the player.\n- SAVE reads RESET while linked, and the bag is refused in a link room.\n\n## Changed\n\n- The cache format is 140. Import your cartridges again.\n\n## Fixed\n\n- Every secondary move effect on Red, Blue and Yellow (a paralysis, a burn, a flinch, a stat drop) had never triggered. They now roll at the cartridge's own odds.\n- Attack animations on Red, Blue and Yellow read garbage after a fresh import.\n- Running from a link battle on Gold, Silver and Crystal is a forfeit and counts as a loss; a link or Battle Tower fight awards no experience.\n- A YES/NO question over a multi-page text opened its menu on the first page.\n- On Crystal, a Pokemon that evolves after a link trade showed no evolution screen, and STATS on the link screen did nothing.\n- A six-tile-wide picture drawn flipped lost a column on the evolution and stats screens.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.34-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.34-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.34-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.34-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.34-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.34-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.34-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.34-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.34-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.34/pokerecomp-0.1.34-ios.ipa",
          "size": 25062368,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.33",
          "buildVersion": "0.1.33",
          "date": "2026-09-13T20:44:47Z",
          "localizedDescription": "## Added\n\n- Red, Blue and Yellow open the way the cartridges do: the copyright screen, GAME FREAK presents, the Gengar and Nidorino movie or Yellow's Pikachu intro, and the title screen with its Pokemon rolling past. Against a real cartridge over 3000 frames the LCD registers match on every frame and the sprites on all but one on Red and Blue; Yellow's surf scene tears its own sprites for 23 frames and this port draws them whole.\n- The Game Corner's slot machines play. A machine is faced from the side with a COIN CASE and a coin, asks, takes a bet of one to three, and its wheels stop on whole symbols with the cartridge's own odds: the flags roll once a bet, wheel 3 rolls on past a match they forbid, a 300 win halves them, and the payout counts a coin at a time with the music held. The lucky machine is the one the map rolled on entry.\n- The three out-of-order machines say so, and a machine faced from below, without a COIN CASE or with an empty one answers the way it does on the cartridge.\n- Pewter Museum's two fossils, Route 15's binoculars and Yellow's Fan Club pictures pop their picture up in a box over the map.\n- The Viridian School blackboard and the link cable help in Celadon open their menus: a heading prints its own text and the menu comes back until QUIT or B.\n- The Celadon Mansion game designer's diploma draws once the Pokedex is complete, with the player's sprite behind it on Red and Blue and Yellow's own border.\n\n## Changed\n\n- The cache format is 137. Import your cartridges again.\n- The title screen's Pokemon are this port's roll; on a cartridge they come off its timer.\n\n## Fixed\n\n- A script that rolled once and stored the result rolled twice, which is what picked the lucky slot machine.\n- Yellow's Route 15 binoculars said nothing.\n- A Generation 1 sound cut short by a screenshot tool went on playing.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.33-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.33-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.33-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.33-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.33-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.33-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.33-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.33-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.33-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.33/pokerecomp-0.1.33-ios.ipa",
          "size": 24977252,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.32",
          "buildVersion": "0.1.32",
          "date": "2026-09-12T15:15:21Z",
          "localizedDescription": "## Added\n\n- Yellow's Pikachu walks behind the player: the follow buffer, the eight movement commands and their hop arcs, the tricks a hop earns, the spawn state every warp and connection leaves, and the happiness and mood bytes. A 2222-frame route from the bedroom over Route 1's ledge matches the cartridge frame for frame.\n- Talking to the follower opens its face box, with `PikachuEmotionTable`'s bubbles, movements and faces timed from the A press. Its scenes run: the Fan Club's Seel, Bill's house, the Pewter center, Mt Moon, Cinnabar Gym, Oak's lab, Viridian City, Pokemon Tower 2F and the Game Corner.\n- Pewter's Jigglypuff sings on all three cartridges, turning every 24 frames until the channels fall silent, and Yellow's follower falls asleep behind it.\n- Happiness moves from all eleven of the cartridge's callers: walking, the PC deposit, items, a Rare Candy, a TM, a poison faint, a trade, the level-up, a faint, the X items and a gym leader's fight.\n- Trainers on Red, Blue and Yellow fight with the cartridge's own head. The move roll is `SelectEnemyMove`'s, the three scoring layers are `AIEnemyTrainerChooseMoves`', and each class's routine spends its item or switches where its move would have been: Brock's Full Heal, Misty's X Defend, Erika's Super Potion, the Jugglers' switches, Agatha's, Lance's Hyper Potion, every one at the odds its `cp` leaves.\n- Gym leaders and the Elite Four carry their signature moves: Brock's Onix knows BIDE, Misty's Starmie BUBBLEBEAM, Lorelei's Lapras BLIZZARD, the champion's Pidgeot SKY ATTACK and its starter the move its species names, and Yellow's own per-trainer rows.\n- The trainer's own withdraw and item lines, `AIBattleWithdrawText` and `AIBattleUseItemText`, with the trainer named.\n\n## Changed\n\n- The cache format is 135. Import your cartridges again.\n- Generation 1 steps take seventeen frames where the cartridge's do, a turn shows one pass, a ledge is found on one pass and hopped on the next, and a warp follows `GBFadeOutToBlack`'s timeline with the screen back at 39 frames indoors and 41 out.\n- Every `EmotionBubbles` row of Red, Blue and Yellow is imported under Generation 2's names.\n\n## Fixed\n\n- An opponent's PP was spent on Generation 1, where the cartridge never spends it.\n- Quick Attack went at ordinary speed and Counter did not go last on Generation 1.\n- A gift Pokemon's OT id was not the player's.\n- A held direction walked past Oak on the north path.\n- Event flags 0 to 7 were lost across a map load on Generation 1.\n- The first door out of a house did not open on a new game, `wLastMap` starting empty.\n- Pewter's mart could not be opened by the replay tool on the three Generation 1 caches.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.32-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.32-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.32-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.32-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.32-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.32-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.32-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.32-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.32-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.32/pokerecomp-0.1.32-ios.ipa",
          "size": 24845054,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.31",
          "buildVersion": "0.1.31",
          "date": "2026-09-10T18:31:56Z",
          "localizedDescription": "## Added\n\n- Red, Blue and Yellow are playable. The shelf offers Play on all three, and a game runs from the bedroom to the Hall of Fame: 360 steps and eight badges on Red and Blue, 361 on Yellow, through Brock, Mt. Moon, the Nugget Bridge, Bill, the S.S. Anne, the trash cans, Rock Tunnel, the Rocket Hideout, Pokemon Tower, the SNORLAX, the Safari Zone, Silph Co., Cinnabar, Viridian's gym, Victory Road, the Elite Four and the Champion.\n- Oak's Lab runs whole, from the speech to the rival leaving with the Pokedex: the starter pick, the fight, the parcel and the hand-over. Yellow's lab hands over the Pikachu.\n- The old man's catch tutorial on Red and Blue, and Prof. Oak's Pikachu battle on Yellow, with the cartridge's own ball, back pic and cursor timings.\n- Generation 1's own Hall of Fame: the white frames, each member sliding in with its cry, the player's stats and the dex rating, then the credits with their bands, each `CreditsMons` silhouette crossing at 8 px a frame and THE END. 5254 frames on Red and Blue, 5248 on Yellow. `sHallOfFame` keeps 50 teams and the League PC walks them oldest first.\n- Vermilion Gym's fifteen trash cans and the door they open, Cinnabar Gym's six quiz machines and the trainer a wrong answer walks up, the Champion's Room's eleven states, Pokemon Tower 7F's rocket walking off, and Pewter City's museum and gym guides.\n- Every map-script body but the two link maps decodes on all three cartridges: Red and Blue read 183 state bodies of 373, Yellow 223 of 408, against 186 of 206 last release.\n- The S.S. Anne leaves the dock, with its 1144 frames and the gangway taken off. The game designer's completed-dex diploma prints.\n- The Hall of Fame music starts on the page that asks for it and fades on the page that ends it, on both generations.\n\n## Changed\n\n- The cache format is 133. Import your Generation 1 cartridge again.\n- Blue's `TheEndGfx` sits one byte on from Red's, and `Gen1Layout` pins the credits tables for all three.\n- A Generation 1 map's load-time work is its entry script walked under each `wCurrentMapScriptFlags` bit, and `EndTrainerBattle` puts the map's script back on row 2 the way the cartridge does.\n- Cinnabar Gym's gate flags were compared against emulator block-write traces, all 128 masks per cartridge, and every trainer after wins, losses and re-entry.\n\n## Fixed\n\n- Every Generation 1 map connection landed at the source x, so Route 1 came out ten cells into Viridian's fenced corner.\n- No TM or HM could be taught on Generation 1.\n- A trainer paid a hundred times the prize, with Crystal's quarter split on top.\n- Every Elite Four room's end-battle state printed its after-battle line for ever.\n- Silph Co. 3F's card key door shut again on the way back from 11F, and the Mansion's four switches opened nothing.\n- The tower's MAROWAK stood again after every won fight, and the Safari gate asked \"Leaving early?\" for ever.\n- Lance's trigger asked for a wild Pokemon of species 0. The LIFT KEY never appeared and EVENT_BEAT_LANCE was never set, because three trainer texts are machine code.\n- Yellow's Safari gate printed `<NUM_CD3D>` where Red spells ¥500, and `HiddenCoins`' two boxes printed `<NUM_FFA0>` on all three cartridges.\n- Pewter City's two guides and Bill were placed four cells off.\n- A Safari or tutorial battle sent the lead out and drew a player HUD.\n- Lt. Surge's receipt did not name TM24 and the Silph rival did not name the player.\n- The Viridian Mart clerk's two parcel rows were empty, and Mt. Moon's super nerd fought the last rocket met.\n- A Generation 1 induction drew Crystal's panels and then stopped on \"The credits are not in this cache\".\n- `_DexRatingText` wrapped and could not print, from a `<COLON>` encoded as seven unknowns.\n- The story walk stopped on every ledge hop. All three Johto profiles walk to Red again.\n- `GameData.palette` raised on a species record without a palette.\n- README lines still said Play was refused on Generation 1.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.31-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.31-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.31-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.31-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.31-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.31-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.31-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.31-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.31-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.31/pokerecomp-0.1.31-ios.ipa",
          "size": 24753538,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.30",
          "buildVersion": "0.1.30",
          "date": "2026-09-08T14:57:28Z",
          "localizedDescription": "## Added\n\n- Red, Blue and Yellow play their own music, sound effects and cries. `audio/engine_1.asm` is a second driver beside Crystal's, and a map plays its piece out of whichever ROM bank the cartridge names for it. All 151 cries are in.\n- A Generation 1 new game runs from Oak's speech to the bedroom. Six intro palettes, the pic that walks across the window, both keyboards for your name and your rival's, and the save that puts you in Red's house at (3, 6) with 3000 in the wallet and a POTION in the PC.\n- The Safari Zone runs whole. The gate takes the fee, hands over 30 balls, counts your 500 steps and ends the game with the PA wherever you are standing. Bait and the rock move the catch rate and the flee roll, and Yellow's discount for a thin wallet works.\n- Celadon Mart's, Silph Co.'s and Rocket Hideout's elevators ride and shake, and the door you walked in through goes back where it belongs when you leave.\n- The NAME RATER renames a Pokemon, on his own ten-letter keyboard with the party icon drawn over it.\n- The Poke Flute plays inside a battle. It stays quiet while the low health alarm owns the channels it would take.\n\n## Changed\n\n- Generation 1 map scripts run their own bodies. 186 state bodies over 98 tables decode on Red and Blue, 127 of them whole, against 118 and 65 last release.\n- The menus a text row draws for itself are open. Among them the Cinnabar lab handing back what your fossil revives into, the Cerulean badge house's list, Oak's aides, the Pokedex rating and the healing machine sounding once per ball.\n- Every `text_asm` row on Red and Blue decodes now, 317 of them, and none is left with an arm the walker could not read.\n- Blue's layout is built from Red's and the bytes it shifts, so a correction to one reaches the other.\n- Red, Blue and Yellow are still import and inspection only. Play turns them away.\n- The cache format is 126. Import your Generation 1 cartridge again: a cache written before this one carries no audio and no map music bank.\n\n## Fixed\n\n- Every scripted warp landed on the row in front of the one it named. `wDestinationWarpID` counts from zero.\n- Importing Yellow raised an error partway and left one map's state machine half built.\n- Six of the Safari gate's text rows were never read, because the table they sat in could only grow once.\n- Route 11 Gate 2F's aide said nothing at all.\n- Generation 1's Pokemon Center nurse never recorded the town to wake up in, two stores having matched the same byte.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.30-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.30-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.30-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.30-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.30-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.30-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.30-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.30-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.30-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.30/pokerecomp-0.1.30-ios.ipa",
          "size": 24692028,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.29",
          "buildVersion": "0.1.29",
          "date": "2026-09-07T20:43:16Z",
          "localizedDescription": "## Added\n\n- The launcher opens on the cartridge you last played. Anyone whose game is Crystal was turning the carousel four steps at every launch. A shelf that has never been played from still opens on Red.\n- A mod can rewrite what a text box says. Every named box reads through one seam now, which is what a translation needs: the menus, the marts, the name rater, the move deleter, the Day-Care, the intro and the special scripts. Issue #575 asked for a French Crystal and had nothing to aim at.\n\n## Changed\n\n- Generation 1's overworld is walked, fought and talked to. A map opens and a step meets a wild Pokemon. A sign or an NPC opens a box, a trainer sees you across a room and walks up, and the fight behind it runs to a faint with its own wipe, animations and ball throws.\n- Every counter on Red, Blue and Yellow is open: the mart, the Pokemon Center nurse, the cable club receptionist, the vending machines, the Game Corner prize counter with its four coin clerks, the Day-Care, and all three PCs.\n- The START menu, the bag, the party list, the Pokedex, the trainer card and the region map each draw in Generation 1's own layout.\n- Field moves run. Cut, Surf, Strength, Fly, Dig, Teleport and Softboiled, the three fishing rods, the bicycle down Cycling Road, the Poke Flute in front of a Snorlax, and Flash lighting Rock Tunnel.\n- Hidden objects, in-game trades, gifts, items on the ground, Silph Co.'s card key doors, the dungeon holes and the Escape Rope all answer.\n- A Generation 1 map runs its own per-frame script, so a state machine walks an NPC across a room or the player up a corridor and holds its line until that walk has been drawn.\n- None of this is reachable from Play. Red, Blue and Yellow are still import and inspection only.\n\n## Fixed\n\n- A mod archive refused for its contract now names the manifest it found. One built by another project's generator carries `manifest.json` with an `api` field, and this installer reported \"no mod.json\" over a file it had already read, then refused the mod for declaring the 0 it had defaulted to.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.29-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.29-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.29-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.29-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.29-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.29-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.29-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.29-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.29-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.29/pokerecomp-0.1.29-ios.ipa",
          "size": 24527807,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.28",
          "buildVersion": "0.1.28",
          "date": "2026-09-05T09:30:25Z",
          "localizedDescription": "## Fixed\n\n- Mods installed before 0.1.27 read as not installed and could not be downloaded again, because the download was refused by the copy already on disk. The row now says \"Installed, not loaded\", offers to replace or remove it, and the update button on the mods page reinstalls every one of them in a single press.\n- A mod built for an older contract now says which build it wants and that downloading it again is the fix, instead of naming both version numbers and leaving it there.\n\n## Changed\n\n- A Generation 1 hit shakes the screen or blinks the picture it landed on, a Pokemon grows out of its ball when it is sent out, and a thrown ball has its throw, its poof and its rocking. The status animations point at the rows the cartridge uses, and the animations that hide, move or squeeze a picture now move it on screen rather than only recording that they did. None of this is reachable from Play yet: Red, Blue and Yellow are still import and inspection only.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.28-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.28-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.28-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.28-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.28-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.28-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.28-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.28-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.28-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.28/pokerecomp-0.1.28-ios.ipa",
          "size": 24262974,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.27",
          "buildVersion": "0.1.27",
          "date": "2026-09-04T11:25:16Z",
          "localizedDescription": "## Changed\n\n- The mod contract is at version 30, and a host at 30 answers 30 alone. 0.1.26 renamed the classes both generations reach, so a mod built before it names a class this build no longer declares. Installed mods are refused with a message until their author republishes; nothing else about them changed, and a mod moves by renaming what it names.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.27-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.27-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.27-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.27-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.27-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.27-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.27-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.27-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.27-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.27/pokerecomp-0.1.27-ios.ipa",
          "size": 24145060,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.26",
          "buildVersion": "0.1.26",
          "date": "2026-09-04T11:05:38Z",
          "localizedDescription": "## Added\n\n- Red, Blue and Yellow are recognised and imported. A dump is verified by SHA-1, and the launcher then reads its 151 species with their stats, types, evolutions, level-up moves and Pokedex entries, plus 165 moves, 82 type matchups, 83 items, the 50 TMs, the 5 HMs and 47 trainer classes.\n- Every picture in those three cartridges is decoded too, in the cartridge's own palettes: 151 front sprites, 151 back sprites, the 47 trainer classes, and the two a battle puts behind the player and the old man.\n- A Generation 1 cartridge has no Play button yet. Nothing draws its world, its battles or its menus, so the launcher seats the dump, tells you what it read, and stops there.\n- The Pokemon and trainer sprite sheets of any cartridge can be dumped to a PNG for checking, in either generation.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.26-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.26-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.26-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.26-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.26-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.26-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.26-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.26-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.26-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.26/pokerecomp-0.1.26-ios.ipa",
          "size": 24145066,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.25",
          "buildVersion": "0.1.25",
          "date": "2026-09-04T08:22:43Z",
          "localizedDescription": "## Added\n\n- Battle Tower fights now use the cartridge's stored opponent stats, fixed trainer policy, pack restrictions and result flow.\n- Battle Tower entry heals the player's party and restores party state after the fight, including held items, moves and happiness.\n\n## Changed\n\n- Traded Pokemon now follow the cartridge's badge-based obedience thresholds and outcomes, while link and Battle Tower battles bypass obedience checks.\n- Battle effects now match cartridge damage, type-rounding, critical-stat, item, status, Bide, Rollout, recoil and turn-state behavior.\n\n## Fixed\n\n- Cancelling an Unown print resumes the current map music and keeps the Unown browser open.\n- Battle Tower opponents use the fixed move-scoring and switch policy without trainer-class inventory items.\n- Battle Tower result portraits, fainted panels and launcher focus now follow the source and current-page rules.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.25-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.25-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.25-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.25-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.25-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.25-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.25-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.25-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.25-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.25/pokerecomp-0.1.25-ios.ipa",
          "size": 23553747,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.24",
          "buildVersion": "0.1.24",
          "date": "2026-09-03T12:02:07Z",
          "localizedDescription": "## Added\n\n- Wild Pokemon can carry their species' common and rare held items at the original 23% and 2% rates. Forced-item encounters always carry the common item.\n\n## Changed\n\n- The deterministic Gold, Silver and Crystal story routes reactivate Strength after Blackthorn Gym's door warp and stock enough Great Balls for Crystal's Dratini catches.\n\n## Fixed\n\n- Lock-On and Mind Reader hold their spawn position for the first frame before moving on the next frame.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.24-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.24-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.24-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.24-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.24-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.24-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.24-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.24-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.24-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.24/pokerecomp-0.1.24-ios.ipa",
          "size": 23546065,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.23",
          "buildVersion": "0.1.23",
          "date": "2026-09-02T14:05:29Z",
          "localizedDescription": "## Fixed\n\n- Battle animation sounds play on the side of the field the move came from. All 1,016 of them were centred; with stereo on they now pan 443 left and 573 right on your turn and the mirror on the enemy's.\n- GROWL and ROAR played the plain cry instead of the pitched one their animation asks for.\n- Six Crystal tilesets drew with the wrong colours: POKECOM_CENTER, BATTLE_TOWER_INSIDE, ICE_PATH, HOUSE, RADIO_TOWER and MANSION each carry eight fixed palettes and were taking the indoor or cave row. The Ice Path's floor was cave green.\n- Fishing drew you standing, holding a rod tile from the wrong sheet. The lower half of the sprite is the cartridge's own fishing pose, Kris's on Crystal.\n- The Pokedex page a new catch opens closed on B before its second page was ever shown, walked to other species on up and down, and stood on a PAGE/AREA/CRY/PRNT row the cartridge blanks.\n- Cut and Fly leaves ran a frame out of step. A cut leaf opened on your own corner rather than four pixels out, a Fly leaf was drawn on the frame it was made and deleted a frame early, and the arrival drew one extra frame with the icon centred.\n- The entrance shine, both exp bar sounds, the hit sound and four menu beeps skipped the check that stops a sound cutting itself off.\n\n## Changed\n\n- The cache format is 102. Re-import your cartridges once after updating: the six Crystal palette sets and the two fishing sheets are new imports.\n\n`api_version` stays 29.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.23-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.23-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.23-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.23-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.23-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.23-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.23-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.23-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.23-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.23/pokerecomp-0.1.23-ios.ipa",
          "size": 23545631,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.22",
          "buildVersion": "0.1.22",
          "date": "2026-09-01T17:38:48Z",
          "localizedDescription": "## Added\n\n- The magnet train is a ride again. Both stations run the whole cutscene: 375 frames, 192 of the map's 256 pixels of scrolling, and your own overworld sprite drawn through the train window on 230 of them.\n- Fly has its animation on both ends of the flight. The party member's menu icon carries you off the map with a widening swing, a leaf crosses every eight frames, and the arrival descends onto the row you left.\n- The Berserk Gene works. Its holder spends it at the top of the turn for two Attack stages and a confusion whose length the cartridge never writes, so it runs on whatever count the last Pokemon left behind.\n- The three trainer AI files are read against the source and swept over all three cartridges: 10,656 scorings and 3,548 HP bars, covering the four layers that roll no dice.\n\n## Fixed\n\n- A nightmare survived every cure. Waking up, HEAL BELL, a status item from the bag and a held berry all left it standing, and it kept taking a quarter of the Pokemon's health each turn until it switched out.\n- SKETCH and MIMIC replaced the first slot holding the move where the cartridge replaces the last, which a Smeargle carrying four SKETCHes reaches. SKETCH also worked on a transformed target, and a transformed user kept what it sketched.\n- ATTRACT, MIMIC, TRANSFORM and every stat drop reached a target part way through FLY or DIG.\n- An enemy trainer lowering one of your stats now misses about a quarter of the time. LOCK-ON and the accuracy-dropping hits are exempt.\n- ATTRACT read the Pokemon standing on the field, so a TRANSFORM changed which gender it saw. It reads what each side came into the battle as.\n- BEAT UP read a bench member's health where it wanted its slot number, and Pokerus spread on a threshold one off.\n- Objects standing on a side-wall tile refused every step or allowed every step, because the cartridge indexes its direction table with the wall mask. Seven map objects across the two cartridges stand on such a cell.\n- A wild battle against a species the Pokedex already holds was missing the ball tile in the enemy's HUD, and the Celebi shrine ran three frames short.\n- MYSTERYBERRY did nothing from the pack. It restores five PP, which is the only PP item that does.\n- A REPEL used while one is still running is refused and kept rather than restarting the counter, and an ANTIDOTE on a party member poisoned to zero is refused the way the cartridge refuses it.\n- The battle transition read a fainted lead's level and, for the opponent, whatever the previous battle ended on. Both are the bytes the cartridge really compares.\n- `delcmdqueue` took a handle where the cartridge takes a type byte and answered the wrong way round, and the command queue is four fixed slots again rather than an unbounded list.\n- An elevator whose current floor is on no row stalled the script instead of taking the cartridge's own refusal.\n- The slot machine had its seven bias and its unbiased reel swapped, turning 23.4 percent of unbiased seven line-ups into a guaranteed 300 coins. Card flip's table was lit under the reveal.\n- The Game Corner opened with an empty purse, and its refusal box closed on the frame it opened. Both games ask for coins and the Coin Case first now, coins first.\n- A map header palette of 5, 6 or 7 was drawn as a cave.\n- Every wild MAGIKARP kept the first size it rolled. Two of the eight maps that can produce one skip the length floor, which is the cartridge comparing feet against millimetres.\n- HP bars divide the way the hardware divides, one byte at a time, so a bar at 300 of 401 is 36 pixels rather than 35. The draining number matches the pixel it is drawn beside.\n- A move that was used but never announced was still remembered as your last move.\n- SOUND in the options did nothing until the next launch. It follows the setting live and restarts the piece on a change.\n- The Seer's reading, the Photo Studio's boxes and the Guru's measurement were dropped on the way back from the party list, and a cancelled list said nothing where the cartridge prints a line.\n- PRESENT on a target already at full health said nothing with the battle scene on, and a forgotten move plays its sound.\n- Badge boosts were paid in Battle Tower and link battles, where the cartridge pays none of either half.\n- The item PC's quantity dial wraps: one step down from one is the whole stack.\n- The trainer name comparison behind CheckOwnMon reads five letters, not the whole name.\n\n## Changed\n\n- The cache format is 100. Re-import your cartridges once after updating; the magnet train's background and tilemap are new imports.\n\n`api_version` stays 29.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.22-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.22-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.22-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.22-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.22-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.22-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.22-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.22-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.22-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.22/pokerecomp-0.1.22-ios.ipa",
          "size": 23539951,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.21",
          "buildVersion": "0.1.21",
          "date": "2026-09-01T07:26:29Z",
          "localizedDescription": "## Fixed\n\n- Catching a Pokemon the Pokedex had not recorded froze the game. Its new dex entry stands over the fight, the fight took every press, and the page never got the B that closes it. The Pokemon was already on disk, so a force quit came back standing on the encounter cell with it in the party.\n- That same page was drawn behind the battle, so none of it reached the screen.\n\n`api_version` stays 29 and nothing on the boundary moved.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.21-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.21-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.21-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.21-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.21-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.21-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.21-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.21-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.21-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.21/pokerecomp-0.1.21-ios.ipa",
          "size": 23508295,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.20",
          "buildVersion": "0.1.20",
          "date": "2026-08-31T22:39:20Z",
          "localizedDescription": "## Fixed\n\n- A day passing put almost nothing back. A phone contact handed over its daily item once per save, a rematch offer never expired, the Bug Catching Contest closed for good after one entry, and the Dunsparce and Yanma swarms never ended. Forty-four of Crystal's daily flags are cleared at the day boundary now, where three were.\n- Strength lasted the rest of the game once it had been used. It ends with the map the boulder was pushed on, which is where the cartridge ends it.\n- A boulder could fall through a hole named by a different map's table, because a written command queue outlived the map that wrote it.\n- The Hall of Fame's player panel printed neither the trainer ID nor PLAY TIME and drew no picture, and no panel played the Pokemon's cry. An induction runs on its own timer instead of waiting for A on every panel.\n- The trainer card kept its `#DEX` label on screen for a player who has no Pokedex yet.\n- A held direction steered an ice slide. The cartridge drops the whole d-pad for the length of one.\n- Nothing bumped. Every refused step in the game was silent, on land, on water and on ice.\n- A step off an ice tile ran at walking speed, and a sliding player walked instead of standing still on the ice.\n- The naming screen drew no icon: no species, no player, no Poke Ball, and no gender sign beside a nickname.\n- The decoration menu lost CANCEL at six owned ornaments, and talking to one doll printed every box after it as well.\n\n`api_version` stays 29 and nothing on the boundary moved.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.20-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.20-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.20-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.20-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.20-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.20-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.20-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.20-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.20-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.20/pokerecomp-0.1.20-ios.ipa",
          "size": 23507621,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.19",
          "buildVersion": "0.1.19",
          "date": "2026-08-31T19:55:50Z",
          "localizedDescription": "## Fixed\n\n- Every question and every list a conversation opens stood over the wrong lines. A box carries the last thing said before the question, so Mom's day-of-the-week dial no longer sits over \"#MON GEAR, or just #GEAR.\" and her phone question no longer sits over \"Come home to adjust your clock\". 116 of Crystal's 155 questions and 92 of Gold and Silver's 122 were showing text nobody had just read.\n- Mom's day-of-the-week picker asked nothing and painted the room white. It asks \"What day is it?\" over the house, and the box under it reads \" 6:00 AM DST, is that OK?\" on a twelve-hour clock.\n- Six script commands were read at the wrong width or not read at all, so a conversation that reached one stopped where it stood. Twelve fewer Crystal scripts and four fewer on Gold and Silver now stop on a byte no command owns.\n- Eleven more commands were decoded and then refused, among them the two the phone scripts name 119 times.\n- An earthquake shook for half as long as the cartridge shakes it and froze nobody while it ran, and Rock Smash's own shake had no strength at all.\n- The shop list carried seventeen sites the cartridge does not ship, each selling two Potions, Whirl Island B1F among them.\n- The POKéGEAR clock and the Daylight Saving box read the time through two different routines. Both are `PrintHoursMins` now.\n\n`api_version` stays 29 and nothing on the boundary moved.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.19-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.19-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.19-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.19-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.19-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.19-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.19-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.19-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.19-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.19/pokerecomp-0.1.19-ios.ipa",
          "size": 23502749,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.18",
          "buildVersion": "0.1.18",
          "date": "2026-08-31T16:31:37Z",
          "localizedDescription": "## Added\n\n- Sixty-six people, Pokemon and trainers move the way their map row says. A Pokemon standing in as a map object alternates its two drawings; the eighteen objects on the two spinning rows hold a facing for thirty-two frames and take the next off their own table, which for fourteen trainers is the direction they are watching.\n\n## Fixed\n\n- Route 29's catching tutorial played as an ordinary wild battle. The Dude sat on the battle menu for thirty-four seconds with your own buttons still live; he now reaches the pack and throws the ball on the frame the cartridge does.\n- Mom talked about the Bank of Mom without turning to look at you, and so did Tim, Emy, Kim and the Copycat. Twenty-eight conversations on Crystal and twenty-five on Gold and Silver lost the turn a script owes you when it opens.\n- A conversation that paused on a menu or a question dropped everything the commands in front of it had already done.\n- A step an NPC was refused left it facing the way it started.\n- An NPC could wander off the edge of the screen. It stops where the cartridge stops it, whatever its movement radius allows.\n- The cell an NPC is walking out of did not block until it arrived, so two of them could stand on one tile.\n- A fast random spin could stand twice on the same facing.\n- A rolled step wait of zero passed instantly instead of lasting 256 passes.\n\n`api_version` stays 29 and nothing on the boundary moved.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.18-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.18-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.18-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.18-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.18-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.18-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.18-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.18-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.18-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.18/pokerecomp-0.1.18-ios.ipa",
          "size": 23496841,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.17",
          "buildVersion": "0.1.17",
          "date": "2026-08-31T12:56:17Z",
          "localizedDescription": "## Added\n\n- Every in-game trade is a conversation. The trader's offer and its yes/no, the party list, the refusal for a cancel and the one for the wrong Pokemon, the cable line, the thanks and the fanfare, with the map's music back behind the last box. All seven swapped in silence before.\n- A trade happens once. Each of the seven has its own flag, and the trader asks after the Pokemon it took when you talk to it again.\n- The stats screen animates the Pokemon and plays its cry. On Crystal a fainted, frozen or sleeping one is silent there; on Gold and Silver it sounds whatever its status.\n- \"You can't get off here!\" on Routes 16 and 17. The Bicycle's other two lines come out of the cartridge now with your own name in them, and it says the same thing used from SELECT as from the pack.\n- The Bug Catching Contest plays its own music.\n- Fly, Teleport and loading a save scatter Raikou and Entei across Johto.\n- The party menu answers ABLE or NOT ABLE beside each Pokemon while you are teaching a TM or HM or holding an evolution stone, and its gender while the Day-Care or a trader is asking, in the column the HP bar sits in the rest of the time.\n\n## Fixed\n\n- Raikou and Entei moved on every map load. They move when you cross a map connection, walk through a door, fall through a floor or ride the magnet train.\n- Which map a roaming Pokemon refuses to move onto, and whether a scatter may leave one where it stood. Both rules were the wrong way round.\n- The Radio Tower's five floors kept whatever was playing outside them, and Mahogany Mart played the Suicune battle theme.\n- Mounting the bike or starting to surf replayed the map's own track, and the right piece only turned up on the next map.\n- The Pokemon a trade gives you took the slot the one you gave up left. It arrives last in the party.\n- A traded Pokemon carried no gift landmark and the wrong gender.\n- The stats screen and an evolution drew the Pokemon unmirrored and centred. It is mirrored and stands against the far column now, and an Unown draws the letter its DVs pick.\n- A Pokemon at level 100 had its level drawn a cell too wide, over the HP bar, in the party menu, the battle screen, the stats page, Bill's PC and the Hall of Fame.\n- A caller telling you about a rare Pokemon on their route always read the morning table.\n- Dig, an Escape Rope and Teleport printed their line over the map they arrived on rather than the one they left.\n- Strength's cry and its second line were missing when it was used from the party menu.\n- Strength, Flash and Teleport's return each cost a button press the cartridge does not ask for.\n- The item PC refused to take a key item.\n\n`api_version` stays 29 and nothing on the boundary moved.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.17-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.17-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.17-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.17-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.17-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.17-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.17-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.17-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.17-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.17/pokerecomp-0.1.17-ios.ipa",
          "size": 23495267,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.16",
          "buildVersion": "0.1.16",
          "date": "2026-08-31T08:22:30Z",
          "localizedDescription": "## Fixed\n\n- Pokemon gender was inverted, so a Pokemon that should have been male read female. `GetGender` compares a byte built from the Attack and Speed DVs against the species ratio, and this port had that comparison the wrong way round. It affects the save editor, the box, the stats page, the Hall of Fame, both Day-Care parents, the gender an egg hatches with, Attract, and the in-game trades that ask for a particular gender. Gender is worked out from the DVs every time it is read, so no existing save needs repairing.\n- The policeman in Elm's Lab answered SILVER for you. The naming screen opens now, and leaving it blank still gives SILVER, the way the cartridge does.\n- The script command that turns the player did nothing, everywhere it is used, so no scene ever turned you. Mom's Pokegear scene and the old man's tour of Cherrygrove were the two you would notice.\n- The Cherrygrove guide dragged you around facing wherever the walk was going to end. A follower turns as each step begins now.\n- The \"!\" bubble never appeared over your own head, and `disappear PLAYER`, which takes you off screen in Lance's room while the reporter runs about, did nothing either.\n\n`api_version` stays 29 and nothing on the boundary moved.\n\npokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.16-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.16-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.16-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.16-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.16-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.16-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.16-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.16-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.16-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.16/pokerecomp-0.1.16-ios.ipa",
          "size": 23477929,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.15",
          "buildVersion": "0.1.15",
          "date": "2026-08-30T23:16:59Z",
          "localizedDescription": "## Changed\n\n- The launcher labels its controls. The four unlabelled discs are a named tab strip along the top, flanked by the shoulder badges that step it. Every screen prints the actions it offers along the bottom, wearing the control you are actually holding: the badge is read from your own bindings, so a rebind, a pad being plugged in or a hand leaving the keys each change what is drawn. Settings is five sections behind a rail where it was one long scroll, every option is drawn as the same row, and the cartridge options moved off a floating disc onto a plate that names the cartridge. Pad badges print the letters your pad prints; Auto reads the controller that is connected, and Nintendo and Xbox are the two manual answers under Appearance. The cartridge picture, the mods check, the Application settings and the update check are drawn with new glyphs, and a Close chip's words stay readable with the pointer on them.\n\n## Fixed\n\n- Mom's music played under the town's. Talking to Mom downstairs started the phone tutorial music while the town's lead kept playing, at a speed that did not match. A music start loads only the channels the new piece names, which is why the cartridge stops the piece in front of every one of them; this port did not. Every music request the game makes stops first now. A sound whose record a cache does not carry skips its script command in place of leaving it pending with nothing to advance it, which is one way a conversation could stick.\n- A mart refuses on the price before the stack. An order that was both unaffordable and over the 99 stack said PACK FULL, where the cartridge says you have not got the money.\n\n`api_version` is 29. `register_experience_bystanders` pays every living party member a fraction of the fighter's own award: 0.0 is the cartridge, 0.5 is Gen 6's Exp. Share, 1.0 is Gen 8's. A claimed share suppresses the cartridge halving, and a bystander is paid once and last.\n\npokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.15-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.15-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.15-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.15-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.15-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.15-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.15-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.15-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.15-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.15/pokerecomp-0.1.15-ios.ipa",
          "size": 23477084,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.14",
          "buildVersion": "0.1.14",
          "date": "2026-08-30T16:45:23Z",
          "localizedDescription": "## Added\n\n- The trade animation plays: the tube, the ball, the cable and your Pokemon riding through it, one command a frame the way the cartridge spends them, behind both a link trade and an in-game one. Checked frame by frame against a real cartridge: 361 of 361 sprite states on Crystal and 405 of 405 on Gold and Silver, in order.\n- Your save page counts how many resets a slot has spent.\n\n## Fixed\n\n- The PC's lists would not move past the first Pokemon, at a Pokemon Center and from the start menu alike. A focus ring meant for the launcher was going up over the box screen and eating every direction press. Reading the whole machine against the disassembly afterwards paid for fifteen more: the cursor returns to the top row after a transfer, the Pokemon cries when it is stored, taken out or released, a full box or a full party says so under the menu you asked from, every refusal makes the sound it should, a finished MOVE PKMN W/O MAIL stays on the list you moved into, the stats page you open from a box walks that box, the box picker opens on BOX 1, PROF.OAK'S PC asks before it rates your Pokedex and says goodbye afterwards, and the machine plays its boot, choose and shutdown sounds. Crystal's selection ring was five pixels out and left a loose line floating above the row below it.\n- A + B + START + SELECT was wired to the overworld alone, so pressing it in a battle, in a menu, on the title screen or in the launcher did nothing. Every screen answers it now, and the overworld still asks first where there is room for the question.\n- SMOOTH SCROLL now covers a follower, a visible wild Pokemon and a jump down a ledge, which moved in eight jumps where the player moves on a fraction of a step. A follower taking a ledge arcs over it.\n- A cache written by an older build looked exactly like a cartridge you had never imported. The shelf tells the two apart, says so in a line under the bay, and puts the one button that fixes it in front of the file picker.\n\n`api_version` is 28. A mod can switch trainer sightings off the way it can switch wild encounters off, without touching a flag. An actor can name the two cells it runs between, and the drawn row carries the height that comes with it, so a 3D view has the arc to work with.\n\npokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.14-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.14-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.14-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.14-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.14-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.14-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.14-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.14-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.14-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.14/pokerecomp-0.1.14-ios.ipa",
          "size": 23454063,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.13",
          "buildVersion": "0.1.13",
          "date": "2026-08-30T09:30:53Z",
          "localizedDescription": "## Added\n\n- Update all. The mods page had one button for checking your sources. It stays that button until something is out of date and becomes a download button after, saying how many. One press downloads and installs every update in turn.\n- Your own art on a cartridge. The three dots above the shelf take a picture of your own for the cartridge you are looking at, and give the shipped one back whenever you want it. Any PNG, WebP or JPEG, scaled to fit the cartridge whatever shape it is, and kept beside your saves, so an update never asks for it again.\n\n## Fixed\n\n- A duplicate of your own Pokemon appeared beside it. A battle slides your trainer picture off its square before your first Pokemon is sent out, and pressing A through \"Wild LEDYBA appeared!\" ran the battle on in the middle of that slide: the new picture was put back and the rest of the slide walked it two columns left, leaving a strip of it at the edge of the screen for the rest of the fight. That is where the doubled sprite came from, and why it was a different width every time. Nothing in the game reads a button during a slide any more, which is what the cartridge does.\n\n`api_version` is 26, and both new seams are for quality-of-life mods. A mod can turn B into running shoes: on foot, a step taken while B is held goes at bike speed, your follower keeps up, and a recorded run replays at the same speed. A mod can also scale experience, from a half to five times, applied at the one place every award passes through, so the participant split, the Exp. Share, level ups, move offers and evolutions all follow from it. Stat experience is left exactly as the cartridge pays it.\n\npokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.13-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.13-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.13-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.13-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.13-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.13-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.13-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.13-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.13-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.13/pokerecomp-0.1.13-ios.ipa",
          "size": 23398595,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.12",
          "buildVersion": "0.1.12",
          "date": "2026-08-30T00:33:41Z",
          "localizedDescription": "## Changed\n\n- The map scrolls smoothly. The camera moved a whole Game Boy pixel at a time, sixty times a second, which on a modern panel is twelve screen pixels a jump and reads as a row of stills. With SMOOTH SCROLL on the picture now sits on a screen pixel: over 900 frames of walking through New Bark Town on a 120 Hz display, 457 of them used to move nothing at all, and now 15 do. The picture itself is unchanged, pixel for pixel; only where it sits between two of them is new.\n\n## Fixed\n\n- Walking stuttered at every cell. A held direction dropped one drawn frame and doubled the next, once per step, at every frame rate. 240 frames of the same walk now run 151 frames in a row of steady motion and stop only at the map edge. A frame the system swallows costs that frame and nothing else; before, one dropped frame a second was enough to unsettle the pacing for the next twelve.\n- The shop opens on the map. The cartridge prints the clerk's welcome and opens BUY/SELL/QUIT over it with the town still behind both, and the port drew the buy list under all of it and spent a button press on the welcome. The press is gone and the counter looks right.\n- Saving says what it is doing, everywhere. CHANGE BOX switched boxes silently, MOVE PKMN W/O MAIL opened its listing with nothing in front of it, and the cable club and Battle Tower wrote their saves to a blank screen. All three now ask first and show the save, as the START menu already did. The Hall of Fame draws SAVING RECORD before an induction.\n- A waterfall climb is paced one cell at a time with the climber spinning up it, and a fall drawn to the top row of the map no longer refuses. A whirlpool spits the player back out in place of holding them. Flash in the Aerodactyl Chamber and an Escape Rope in the Kabuto Chamber each open their wall, which neither did before.\n- On a phone or handheld, the on-screen controller stays put. Android reports its own Back button, navigation bar and volume rocker as key events, and one of them read as a keyboard being picked up: the controller vanished mid-game and the map grew into the space. Only a controller you actually plug in takes over now.\n\n`api_version` is 25. A world actor can ask whether the party is physically with the player, so a follower puts itself away at a healing machine, the Day Care counter and a trade. A visible wild encounter can walk from cell to cell in place of teleporting. A step in flight says which two cells it runs between, for a renderer whose world is not a flat grid.\n\npokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.12-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.12-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.12-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.12-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.12-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.12-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.12-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.12-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.12-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.12/pokerecomp-0.1.12-ios.ipa",
          "size": 23389876,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.11",
          "buildVersion": "0.1.11",
          "date": "2026-08-29T11:08:28Z",
          "localizedDescription": "## Added\n\n- An AltStore and SideStore source. Add it once and every future release arrives as an update. The URL is `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`; in AltStore or SideStore, open Sources, tap +, and paste it. The app still signs on your own machine with your own Apple ID, and a free Apple ID still needs re-signing every 7 days.\n\n## Fixed\n\n- Android: the back button closed the app outright wherever you pressed it, mid-battle included. In the game it opens the pause menu, or backs out of whatever is on screen. In the launcher it closes the sheet you have open, then walks back to the shelf, and asks \"Quit pokerecomp?\" only once there is nothing left to back out of.\n- iOS: the exporter wrote camera, microphone and photo library permission entries into the app whether or not it wanted them, and an empty entry is what a store shows as a permission the app is asking for. pokerecomp uses none of the three, so all three are removed from the build.\n\npokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.11-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.11-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.11-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.11-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.11-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.11-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.11-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.11-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.11-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.11/pokerecomp-0.1.11-ios.ipa",
          "size": 23352410,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.10",
          "buildVersion": "0.1.10",
          "date": "2026-08-29T08:49:29Z",
          "localizedDescription": "## Added\n\n- A file browser inside the launcher, so a cartridge can be imported without a pointer. One button per row, a d-pad walks it, and nothing has to be typed. The system browser needs a pointer, which a Switch and most handhelds do not have, so importing used to mean leaving the dump at the root of the SD card. Exporting a save also suggests a filename.\n\n## Fixed\n\n- A held direction latched. The menu carried on scrolling after you let go, and if you closed the menu your character walked off in that direction with no way to stop them. The direction could not be pressed again either, so the game was unplayable until you restarted it. Keyboard, every controller, the launcher and the game. A repeat is now sent to the screen that needs it in place of being recorded as a button that is still down.\n- Oak's clock questions had lost the thing they confirm. The game said \"What?\" and then \"Whoa!\" over an empty screen and waited for a YES or a NO. They now read \"What? / DAY 10 o'clock?\" and \"Whoa! 0 min.?\", so you can see what you are agreeing to.\n- A controller could not get through the launcher. Nothing on Settings, About or any other page was highlighted long enough to scroll, and holding a direction threw the page around. The highlight now lands on a real control, walks the whole page, and reaches the row of buttons along the bottom from anywhere. Holding a direction on a page of text scrolls a tenth of a screen at a time. The save editor moved two rows for every press and now moves one.\n- The catching tutorial is played, not skipped. The Dude in Cherrygrove handed you the line about a caught Pokemon and nothing else. He fights the battle, works the pack and throws the ball himself now, at the pace a real cartridge does it.\n- CHANGE BOX in the PC drew a single broken row where fourteen boxes belong. The mailbox and the box list are also drawn where the cartridge draws them, spacing and frame included.\n- The mods list fits a phone. On a narrow window each row's switch, bin and arrow get their own line, so \"Hidden ...\" is \"Hidden Stats\" and four cards fit where five were crammed.\n- A button held when the app goes to the background is let go. Take a call or switch apps mid-step on a phone and that button stayed down as far as the on-screen controller was concerned, so it never worked again until you restarted.\n\npokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.10-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.10-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.10-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.10-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.10-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.10-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.10-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.10-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.10-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days.\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.10/pokerecomp-0.1.10-ios.ipa",
          "size": 23350578,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.9",
          "buildVersion": "0.1.9",
          "date": "2026-08-28T15:41:50Z",
          "localizedDescription": "Every number a thrown ball uses was checked against a real cartridge, case by case.\n\n## Fixed\n\n- Kurt's seven apricorn balls could not be thrown at all. All seven work now, including the ones that famously do nothing: the Moon Ball never helped on a real cartridge either, and it does not here.\n- A caught Pokemon arrived at full health with its status cured. It now joins your party as you left it, which is what makes weakening one worth doing.\n- Every Pokemon you caught was treated as a traded one. They were given a random trainer ID in place of yours, so they collected the extra experience a traded Pokemon gets for the rest of the game. They get your ID now.\n- Catch rates match the cartridge exactly: health, sleep, freeze, every ball's multiplier and the odd corners of the arithmetic the original got wrong. A Pokemon with more than 341 maximum health really is easier to catch at full health than at half on a real cartridge, and it is here too.\n- A caught Pokemon comes with full PP.\n- Catches go into the box you have open, at the top of it. They were going to the first box with room anywhere in storage, and to the bottom. A full open box refuses the throw, says so, and you keep the ball.\n- Throwing a ball costs your turn. A ball that broke free used to be free and the wild Pokemon just stood there. It attacks now.\n- A ball thrown at another trainer's Pokemon is knocked away, prints both lines about it, and is lost.\n- The pack asks USE or QUIT. Picking a ball used to ask you which ball a second time.\n- Catching a new species adds it to the POKEDEX in front of you. The line about new data and the entry page behind it were both missing.\n- A Pokemon on the end of a rod says it was hooked when the fight starts, where it used to say it appeared. The game now tells a fishing battle from any other, which is also the one battle a Lure Ball helps in.\n\npokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.9-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.9-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.9-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.9-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.9-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.9-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.9-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.9-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.9-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days.\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.9/pokerecomp-0.1.9-ios.ipa",
          "size": 23318939,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.8",
          "buildVersion": "0.1.8",
          "date": "2026-08-28T13:40:43Z",
          "localizedDescription": "## Added\n\n- A HOME row under EXIT in the START menu hands the cartridge back to the launcher. It asks first, because nothing is saved on the way out.\n- A + B + START + SELECT resets, on the map and inside a fight, and puts you back at the save screen. The first time you press it the game asks whether you meant to; answer once and it never asks again.\n- The pack, the balls you can throw, the move an Ether goes on, and the forget offer with its yes/no are drawn lists you move a cursor through, up and down as well as left and right. All five were a line of key names in the text box.\n- `tools/record_clip.gd` can aim a recording at what is on screen rather than at a frame number, which is what a clip that has to fight, open the pack or throw a ball needs.\n\n## Fixed\n\n- Controllers flew down menus: one push of a stick or d-pad moved the cursor half a dozen rows, so picking an item or a move was guesswork. A held direction now moves one row, waits a quarter of a second, then repeats at the speed the Game Boy repeated at. Holding the d-pad down a long box list works, which it never did.\n- Battles ran at double speed. Every fight started from the overworld spent each frame twice, so health bars drained and animations played twice as fast and the arrow that says a text box is waiting flickered instead of blinking.\n- A fainting Pokemon started sinking off the screen while the bar beside it was still emptying. The bar empties first, then the picture goes.\n- The ball vanished the instant the catch animation ended, so \"Gotcha!\" was printed over an empty field. It now sits closed on the ground until you press past that message.\n- \"The ball shook!\" was never a line in either cartridge. A throw now says the item was used, the ball rocks, and then one line: either \"Gotcha!\" or one of the four real break-out messages, chosen by how many times it rocked.\n- Holding A while a trainer walked up to you killed the script behind the battle. The fight still happened; a gym leader's badge, the flag behind it and its text did not.\n- The lines a badge, a TM and a found item print were replaced a frame after they appeared, on any machine drawing faster than the sound was being mixed.\n- The save editor was drawn at desktop size on a phone screen, which made it unreadable. It now uses the launcher's own size and stands clear of the notch and the home bar.\n\npokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.8-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.8-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.8-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.8-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.8-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.8-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.8-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.8-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.8-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days.\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.8/pokerecomp-0.1.8-ios.ipa",
          "size": 23310764,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.7",
          "buildVersion": "0.1.7",
          "date": "2026-08-28T07:17:25Z",
          "localizedDescription": "## Added\n\n- Three run types, chosen when you start a new game: Vanilla, Hard or Nuzlocke. The mode belongs to that save and cannot be changed later. Every save you already have is a Vanilla run and is untouched.\n- Hard makes every trainer a real fight. Each scores its moves with all ten of the game's own decision layers where its class was given a handful, switches out readily, and brings a party 15% higher in level with perfect stats and full training. The teams are still the ones the cartridge wrote.\n- Nuzlocke plays itself by the rules. One catch per area, spent whether you catch it, beat it or run; the ball menu names the area. A faint is permanent and is written to disk the moment it happens, so quitting and reopening cannot undo it. Every Pokemon is nicknamed, for a catch, a gift and a hatched egg alike. Losing your last Pokemon ends the run: nothing is healed, no money is halved, and the save goes back to the shelf marked over, listing what it met and what it lost.\n- The area a Nuzlocke counts is the met location a Pokemon's own summary shows, so a whole cave is one encounter. Roamers and the Bug Catching Contest belong to no area and spend nothing.\n\n## Fixed\n\n- The launcher's battery indicator was drawn full whatever the machine was doing. It now reads Windows, macOS, Linux, Android and iOS, turns green while charging and amber when nearly out, and shows nothing on a machine that reports no charge at all.\n- A run's progress read off a save now uses that save's own cartridge, so a Gold or Silver slot no longer reports the wrong badges, and a mod needs no cartridge cache of its own to ask.\n\npokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.7-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.7-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.7-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.7-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.7-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.7-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.7-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.7-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.7-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days.\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.7/pokerecomp-0.1.7-ios.ipa",
          "size": 23300436,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.6",
          "buildVersion": "0.1.6",
          "date": "2026-08-27T17:52:16Z",
          "localizedDescription": "## Added\n\n- Nintendo Switch build. Upstream Godot has no Switch platform and the homebrew ports stopped at 4.1, so the engine was ported onto this project's own pin. Extract the zip at the root of a microSD and launch it from the homebrew menu. This is the first release to carry it, so tell us what breaks.\n- SELECT moves an item inside its pocket, in the pack and in the item PC. Mark a row, then place it. Both lists now keep items in the order you picked them up, which is what the cartridge does, in place of sorting them by an internal number.\n- A and B can be arranged separately on the on-screen controller. They were one cluster on a fixed diagonal; each now has its own place in each orientation, and a layout you already arranged is carried over.\n\n## Fixed\n\n- A machine with no keyboard could move every focus ring in the launcher and choose nothing under it. A pad now answers accept and cancel everywhere.\n- A device with both a touchscreen and a pad drew an on-screen controller nobody was using, on a phone with a controller paired as much as on a Switch.\n- A guard that named only headless and mobile put sixteen refusals a session into the log on a console, which is neither.\n- The launcher's display density asked whether it was on a phone. What it needs to know is whether the window is the whole screen.\n- Bug Catching Contest: Fly, Dig, an Escape Rope and Teleport each left the timer running across the warp, the whole party competed where only the lead should, blacking out inside a contest halved your money, and the START menu offered PACK and SAVE with no QUIT row and no status box. A second catch is now offered over the comparison page the cartridge draws, STOCK #MON above THIS #MON, so the question is answered by looking.\n- The save pages fit a phone. Held upright, the save slot panel ran wider than the window and everything past Import .sav, Delete included, was off the edge with no way to reach it. The party page and the save editor were rebuilt in the launcher's own appearance and reflow to the window they are given.\n\npokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.6-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.6-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.6-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.6-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.6-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.6-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.6-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.6-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.6-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days.\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.6/pokerecomp-0.1.6-ios.ipa",
          "size": 23238244,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.5",
          "buildVersion": "0.1.5",
          "date": "2026-08-27T07:59:47Z",
          "localizedDescription": "## Added\n\n- Mods can see a Pokemon being caught. The battle publishes the catch on its own `Gotcha!` line with the species, the ball, where it was caught and where it went.\n- Mods can add a line to a battle: one line, in the battle's own box, at the game's pacing. A line that will not fit is refused, and the launcher names the mod that asked for it.\n\n## Fixed\n\n- Two mods that raise the shiny odds now stack. Their extra rolls are added together; before, the larger one won.\n\nThe mod contract is `api_version` 20. Nothing in the game itself changed, and mods written for an older release keep working. The first mod built on it is a Catch Combo: catch the same species over and over and the shiny odds climb, the way they do in the Let's Go games.\n\npokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.5-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.5-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.5-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.5-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.5-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.5-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.5-ios.ipa` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.5-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.5/pokerecomp-0.1.5-ios.ipa",
          "size": 23224949,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.4",
          "buildVersion": "0.1.4",
          "date": "2026-08-27T05:03:37Z",
          "localizedDescription": "## Fixed\n\n- The mobile dock no longer crowds the launcher. Portrait buttons stay their own size, and a phone held sideways keeps the compact layout rather than being read as a desktop. Cartridge art takes the freed space on iOS and Android.\n- Mod downloads sit on the mod's information row. The download icon was adding an otherwise empty second row to every card.\n\npokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.4-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.4-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.4-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.4-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.4-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.4-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.4-ios.ipa` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.4-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.4/pokerecomp-0.1.4-ios.ipa",
          "size": 23221903,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.3",
          "buildVersion": "0.1.3",
          "date": "2026-08-26T20:23:46Z",
          "localizedDescription": "## Fixed\n\n- The mobile dock no longer crowds the launcher. Portrait buttons stay their own size, and a phone held sideways keeps the compact layout rather than being read as a desktop. Cartridge art takes the freed space on iOS and Android.\n- Mod downloads sit on the mod's information row. The download icon was adding an otherwise empty second row to every card.\n\npokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.3-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.3-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.3-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.3-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.3-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.3-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.3-ios.ipa` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.3-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.3/pokerecomp-0.1.3-ios.ipa",
          "size": 23216204,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.2",
          "buildVersion": "0.1.2",
          "date": "2026-08-26T19:25:24Z",
          "localizedDescription": "## Fixed\n\n- iOS: an empty save slot opened the app's own empty folder rather than the system file picker. The file picker plugin was never built for a published download, so 0.1.0 shipped without it. A build that loses it is now refused rather than published.\n- Android: handhelds with a lower panel got no second screen, for the same reason.\n- Touch: a drag that began on a button did nothing, which is most of every page, so the launcher could not be scrolled. iOS and Android.\n- Android: the APK had no network permission, so the update check, mod sources and mod icons all failed. All three worked in the editor.\n- The mod list now starts with this project's own source in it. A source is a listing; nothing downloads or installs until you pick a mod out of it, and the list is read once, by itself, the first time you open the page.\n\npokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.2-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.2-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.2-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.2-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.2-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.2-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.2-ios.ipa` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.2-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.2/pokerecomp-0.1.2-ios.ipa",
          "size": 23215348,
          "minOSVersion": "15.0"
        },
        {
          "version": "0.1.0",
          "buildVersion": "0.1.0",
          "date": "2026-08-26T10:33:09Z",
          "localizedDescription": "pokerecomp is not an emulator. It rebuilds the game from a Game Boy Color cartridge you dump yourself, and verifies the file before using it. No game data ships with this release, so you need your own Crystal, Gold or Silver ROM.\n\nFirst public build.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.0-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.0-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.0-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.0-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.0-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.0-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.0-ios.ipa` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.0-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.\n\n",
          "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.0/pokerecomp-0.1.0-ios.ipa",
          "size": 38400753,
          "minOSVersion": "15.0"
        }
      ],
      "version": "0.1.65",
      "versionDate": "2026-09-28T04:39:10Z",
      "versionDescription": "## Added\n\n- Mods: API 53 lets a mod show its own page after the credits. Pass `\"after_credits\": true` to `register_page()` and the page opens once THE END is pressed away.\n\n## Changed\n\n- Mods: every `closetext` now sends a `text_closed` world event. It replaces `money_window_closed`.\n\n## Fixed\n\n- After you wake Vermilion City's Snorlax, \"SNORLAX woke up!\" no longer stays on screen through the battle and after it. Any script that closes its text box after a pause now closes it on time.\n\n## Which file\n\n| You have | Download |\n|---|---|\n| Windows, any PC from the last 15 years | `pokerecomp-0.1.65-windows-x86_64.exe` |\n| Windows on a Snapdragon or Surface Pro X | `pokerecomp-0.1.65-windows-arm64.exe` |\n| A Mac | `pokerecomp-0.1.65-macos.zip` |\n| Linux on a desktop or laptop | `pokerecomp-0.1.65-linux-x86_64` |\n| Linux on a Raspberry Pi, an SBC or an arm64 handheld | `pokerecomp-0.1.65-linux-arm64` |\n| Android, including handhelds like the Ayn Thor | `pokerecomp-0.1.65-android.apk` |\n| iPhone or iPad | `pokerecomp-0.1.65-ios.ipa` |\n| A Nintendo Switch running homebrew | `pokerecomp-0.1.65-switch.zip` |\n\nEvery download is one file. `sha256sums.txt` covers all of them.\n\n## First launch\n\n- **Windows** may show a blue \"Windows protected your PC\" box, because the build is not signed by a paid certificate. Click **More info**, then **Run anyway**.\n- **macOS**: the app is ad-hoc signed and not notarized, so double-clicking it is refused. **Right-click the app, choose Open, then Open again.** Only the first launch needs this.\n- **Linux**: `chmod +x pokerecomp-0.1.65-linux-x86_64` and run it.\n- **Android**: your phone will ask you to allow installing from this source.\n- **iOS**: the `.ipa` is deliberately **unsigned**. Install it with [AltStore](https://altstore.io) or [SideStore](https://sidestore.io), which sign it on your own machine with your own Apple ID. A free Apple ID works; apps signed that way need re-signing every 7 days. Add pokerecomp's source once, in **Sources** > **+**, and every later release shows up as an update: `https://raw.githubusercontent.com/Decryptu/pokerecomp/main/.github/altstore/source.json`\n- **Switch**: extract the zip at the root of your microSD, so the file lands at `switch/pokerecomp.nro`, and launch **pokerecomp** from the homebrew menu. It needs a console that already runs homebrew; nothing here installs one.\n\n## Updating\n\nThe launcher's about page tells you when a newer release exists. It does not install it: download the new file and replace the old one. **Your saves are kept separately and survive it**, on every platform.",
      "downloadURL": "https://github.com/Decryptu/pokerecomp/releases/download/v0.1.65/pokerecomp-0.1.65-ios.ipa",
      "size": 25536489
    }
  ]
}
