Pokémon Trading Card Game

Boots, lightly tested

Game Boy Color · 2000 · Card Battler · Decompilation

Collect cards, build decks and duel your way to the Grand Masters.

▶ Play with your filesYou supply your own Pokémon Trading Card Game ROM (1,048,576 bytes, sha1 0f8670a583255cff3e5b7ca71b5d7454d928fc48 — the same ROM this project's build produces). It is read in the browser and never uploaded.
Controls
Arrow keysD-pad
XA
ZB
EnterStart
ShiftSelect
Gamepadstandard mapping
Touchon-screen Game Boy pad on phones and tablets

About this build

Pokémon Trading Card Game built from the pret/poketcg disassembly with rgbds 1.0.4, byte-identical to the retail cartridge, running in the browser on a WebAssembly Game Boy Color core. You supply your own ROM: it is read with FileReader, kept in the tab's memory and never uploaded, and the page recognises the cartridge by its SHA-1. Your collection, your decks and a duel in progress are kept in this browser's storage and survive a reload.

Built from
The real ROM, built byte-for-byte from the pret/poketcg disassembly, running on the libretro Gambatte core (EmulatorJS 4.2.3, WebAssembly)
Type
Decompilation
Game files
You supply your own Pokémon Trading Card Game ROM (1,048,576 bytes, sha1 0f8670a583255cff3e5b7ca71b5d7454d928fc48 — the same ROM this project's build produces). It is read in the browser and never uploaded.
Code licence
EmulatorJS is GPL-3.0 and the Gambatte core is GPL-2.0; the pret/poketcg disassembly is unlicensed research. See web/THIRD_PARTY.md.
Assets
No game data is distributed. Everything comes from the ROM you load.
Source
andrewnakas/poketcg-web ↗

What has been tested

The ROM builds byte-identical to the retail cartridge (sha1 verified against pret's rom.sha1 and against the staged dump). In the browser: loaded through the page's own file picker, ran at 60 fps, played the opening through naming and the starter deck into the tutorial duel in Dr. Mason's laboratory, then reloaded the page and read the battery save back. The duel was confirmed from the game's own checksummed duel record in SRAM, decoded with the symbol table of the build under test and cross-checked against live work RAM. Nothing past the first turn of that duel was played; audio was muted throughout.

Last tested 2026-10-05 in Chrome 151 (headless, Linux). Full playthrough: not verified. How games are tested.

Known limitations

Saves

The game saves by itself as you play — your name, your collection, your decks and a duel in progress are written to the cartridge's battery save, which is kept in this browser's storage and survives a reload. Clearing site data removes it.

Play next