
Pokémon Emerald Ported to the RP2350
Pokémon Emerald recompiled for the RP2350: no emulator, 60 fps.
- Category
- Other
- Website
- github.com
- Language
- English
- Listed
- 16d ago
- Stars
- 47
- Forks
- 2
mattdeeds/pokeemerald-rp2350 ↗· C· Last commit 17d ago
There is no emulator here. The pret Pokémon Emerald decompilation is recompiled from ARMv4T to Cortex-M33, and the Game Boy Advance's video hardware is reimplemented in software on the chip's second core. The board is a WeAct Studio Core2350B built on the RP2350B, where the whole game, code, graphics, maps and music, is an 11.7 MB image executed in place from QSPI flash. Core 0 runs game logic, core 1 rasterises the picture, and a DMA control-block ring feeds the HSTX serialiser, so scanout to a 640x480p60 DVI/HDMI display costs the CPU nothing. It boots, plays the intro, walks the overworld, battles and saves, holding a locked 60 fps in every scene except the OBJ-window intro cinematic, with saves surviving reboots in flash.
The gaps are stated just as plainly: some instrument classes are silent, the link cable and wireless paths are stubbed, and with no cartridge RTC the in-game clock reports itself as stopped. Building one means an RP2350B board, an HSTX-to-HDMI breakout and ten buttons wired to ground. The part worth reading past the demo is the porting log, which records what each optimisation bought, down to the software PPU falling from 909 ms a frame to a locked 60. The README says outright that this is not a finished product.