Skip to content

Linkboy - RetroBIOS

Type standalone
Classification Embedded HLE
Source https://play.google.com/store/apps/details?id=com.pixelrespawn.linkboy
Upstream closed-source
Version 3.11.0
Profiled 2026-08-11
Cores linkboy, Linkboy, LINKBOY
Systems nintendo-gb, nintendo-gbc, nintendo-gba, nintendo-sgb
Author Pixel Respawn LLC
Technical notes

Android package com.pixelrespawn.linkboy, closed source, free on Google Play with a paid unlock, reached by ES-DE through its LINKBOY find rule. Two Play distribution builds are read here, 3.11.0 (versionCode 86, minSdk 26, targetSdk 36, xapk sha256 83b92276d28d71e491ebcbec3fa85cef42ef49d8ee0c6fd1bbe0045bc118f866) and 1.4.2 (versionCode 12), both carrying the app signing certificate sha256 feb643cfdd9c49f58eb325fde3d869cefcf59e45dfadb8e540beca35a7b1c28e and the Play distribution source stamp. Emulation lives in liblinkboy.so behind a JNI bridge; addresses below are armeabi-v7a of 3.11.0 and class names are those of its obfuscated dex.

Four subsystems are declared: GBA, GBC, GB and SGB (ve0.java:16-21). An SGB cartridge runs in GB mode when prefer-sgb is off (wo0.java:62, c51.java:183-185).

The three firmware images are the only files the emulator reads that it does not write itself. One table holds their names, sizes and md5 sums (cr.java:8), and the firmware screen reports each as present, mismatched or absent by comparing the size and then the md5 of the whole file (br.java:24-88, yz1.java:39, hr1.java:110). Saves, cheats, thumbnails, keymaps and the ips, ups and bps patches picked up next to a ROM are written or supplied per game, not fixed files.

An image is read only while the use-bios preference is on, which is off until set (wo0.java:63, a75.java:165-173, c51.java:186,268, w41.java:243). The loader appends firmware/ and the name to the directory handed to setDataDir, the app's external files directory (c51.java:69, hg3.java:32-38), and opens the result with fopen "rb". A file whose length is not exactly the expected size is closed and treated as absent, as is a short read; on success the loader returns the crc32 of the bytes (liblinkboy.so 0x1c870-0x1ca10, crc32 at 0x1c4cc).

A missing image stops nothing. The GBA path copies a replacement bios compiled into the library over the 16 KB region and zero fills the remainder (0x109de8-0x109e64). The GB and GBC path hands the reset routine a boot rom present flag, false when no image was loaded, and the machine starts from its post boot state (0x14f534-0x14f5b8, 0x14f638-0x14f654).

Save states record the crc32 of the image they were made under. Loading a state whose value differs from the running machine re-reads the file and refuses the state when the crc32 still disagrees (0x10aa40-0x10aa98, 0x14fe00-0x14fe64).

3 files | 0 required, 3 optional | 3 in repo, 0 missing | 3 with HLE fallback

gba_bios.bin optional in repo HLE fallback
Game Boy Advance BIOS

  • Path: firmware/gba_bios.bin
  • System: nintendo-gba
  • Size: 16.0 KB
  • MD5: a860e8c0b6d5...
  • Validation: size, md5
  • Source: Linkboy 3.11.0 cr.java:8, br.java:24-88, liblinkboy.so 0x109de8-0x109e64, loader 0x1c870-0x1ca10
  • Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie, rocknix, romm
  • Config key: use-bios
  • Read into the 16 KB bios region when use-bios is on. Absent, mismatched in size or short, the region is filled with a replacement bios compiled into the library and zero padded.

gbc_bios.bin optional in repo HLE fallback
Game Boy Color boot ROM

  • Path: firmware/gbc_bios.bin
  • System: nintendo-gbc
  • Size: 2.2 KB
  • MD5: dbfce9db9dea...
  • Validation: size, md5
  • Source: Linkboy 3.11.0 cr.java:8, br.java:24-88, liblinkboy.so 0x14f5a0-0x14f5b0, 0x14f638-0x14f654, loader 0x1c870-0x1ca10
  • Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie, rocknix, romm
  • Config key: use-bios
  • Read when use-bios is on and the machine is a Game Boy Color. Without it the reset routine receives a false boot rom flag and the machine starts from its post boot state.

gb_bios.bin optional in repo HLE fallback
Game Boy boot ROM

  • Path: firmware/gb_bios.bin
  • System: nintendo-gb
  • Size: 256 B
  • MD5: 32fbbd84168d...
  • Validation: size, md5
  • Source: Linkboy 3.11.0 cr.java:8, br.java:24-88, liblinkboy.so 0x14f58c-0x14f59c, 0x14f638-0x14f654, loader 0x1c870-0x1ca10
  • Platforms: batocera, lakka, recalbox, retroarch, retrobat, retrodeck, retropie, rocknix, romm
  • Config key: use-bios
  • Read when use-bios is on and the machine is a Game Boy. Without it the reset routine receives a false boot rom flag and the machine starts from its post boot state.

Generated on 2026-08-23T16:12:06Z