~/talk

The Day I Reverse Engineered a Gameboy Advance Game

Talkat The Conf 2019 · 2019-10-23..10-24· [embedded-and-hardware]
slides:none on file

Reverse engineers a Klonoa: Empire of Dreams GBA ROM to find the tilemap, object (OAM) and camera logic in VRAM and the game’s larger level buffer, then extracts and decompresses level data, edits tiles, recompresses with the original Huffman/LZ77 routine compiled to WebAssembly via Emscripten to run the C compressor in-browser, and writes a patched ROM that runs in emulators like mGBA/emGBA. Uses No$GBA/IDA-style debugging and builds a web UI with React + WebGL level editor; performance improves from multi-second loads to roughly one second after optimizations.

AI-written summary · about

  1. 0:00Project inspiration
  2. 2:35Analyzing GBA internals
  3. 5:43Understanding DMA and VRAM
  4. 9:20Object attributes and physics
  5. 13:55Software interrupts and data
  6. 18:00Proof of concept
  7. 22:43Web application demonstration
  8. 26:46Web application architecture
  9. 31:18WebAssembly integration
  10. 34:52Performance optimizations
  11. 37:43Community impact and future
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.