mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 10:23:16 -05:00
chore: re-profile Linkboy 3.11.4
Linkboy 3.11.4 adds a cartridge logo check before the BIOS boot and a second built-in BIOS variant. My Boy! 2.1.1, My OldBoy! 2.0.3, FPse 13.0 and FPseNG 1.17 circulate only rebuilt: their profiles stay on the last genuine build and name the release.
This commit is contained in:
1 parent
77389236e6
commit
8a44161810
5 files changed
+42
-25
No files matched your search
@@ -6,6 +6,7 @@ upstream: closed-source
|
||||
version_source:
|
||||
url: "https://play.google.com/store/apps/details?id=com.emulator.fpse64&hl=en"
|
||||
pattern: '\[\[\["([^"]+)"\]\],\[\[\[\d+'
|
||||
no_genuine_copy: "1.17"
|
||||
author: "Schtruck & LDchen"
|
||||
profiled_date: "2026-08-11"
|
||||
core_version: "1.13"
|
||||
|
||||
@@ -6,6 +6,7 @@ upstream: closed-source
|
||||
version_source:
|
||||
url: "https://play.google.com/store/apps/details?id=com.emulator.fpse&hl=en"
|
||||
pattern: '\[\[\["([^"]+)"\]\],\[\[\[\d+'
|
||||
no_genuine_copy: "13.0"
|
||||
author: "Schtruck & LDchen (EMUSOFT)"
|
||||
profiled_date: "2026-08-11"
|
||||
core_version: "12.1"
|
||||
|
||||
+27
-18
@@ -7,8 +7,8 @@ version_source:
|
||||
url: "https://play.google.com/store/apps/details?id=com.pixelrespawn.linkboy&hl=en"
|
||||
pattern: '\[\[\["([^"]+)"\]\],\[\[\[\d+'
|
||||
author: "Pixel Respawn LLC"
|
||||
profiled_date: "2026-08-11"
|
||||
core_version: "3.11.0"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "3.11.4"
|
||||
display_name: "Nintendo - Game Boy / Color / Advance (Linkboy)"
|
||||
mode: standalone
|
||||
cores:
|
||||
@@ -23,13 +23,15 @@ systems:
|
||||
|
||||
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
|
||||
paid unlock, reached by ES-DE through its LINKBOY find rule. Three Play distribution
|
||||
builds are read here, 3.11.4 (versionCode 93, minSdk 32, targetSdk 36, xapk sha256
|
||||
4432cf9ab8ce2d148e8a0e89c26b786e4e7d060f43885d062f6d446b03ca4d32), 3.11.0
|
||||
(versionCode 86, minSdk 26, xapk sha256
|
||||
83b92276d28d71e491ebcbec3fa85cef42ef49d8ee0c6fd1bbe0045bc118f866) and 1.4.2
|
||||
(versionCode 12), both carrying the app signing certificate sha256
|
||||
(versionCode 12), all 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
|
||||
Addresses below are armeabi-v7a of 3.11.4 and class names are those of its
|
||||
obfuscated dex.
|
||||
|
||||
Four subsystems are declared: GBA, GBC, GB and SGB (ve0.java:16-21). An SGB
|
||||
@@ -43,22 +45,29 @@ notes: |
|
||||
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
|
||||
(wo0.java:63, b75.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).
|
||||
(liblinkboy.so 0x1ca40-0x1cbe0, crc32 at 0x1c69c).
|
||||
|
||||
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).
|
||||
A missing image stops nothing. The GBA path copies a 236 byte replacement bios
|
||||
compiled into the library over the 16 KB region and zero fills the remainder. Since
|
||||
3.11.4 a second variant of that replacement is taken when the game code is B4GJ or
|
||||
B4SJ (0x10a06c-0x10a108). 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 (0x14f7f4-0x14f878, 0x14f8f8-0x14f914).
|
||||
|
||||
Since 3.11.4 a loaded GBA image is not run for every cartridge. When the ROM is at
|
||||
least 0xa0 bytes the crc32 of the 156 header bytes from offset 4 is compared with a
|
||||
fixed value, and a mismatch logs "Invalid logo, skipping BIOS" and resets with the
|
||||
boot flag false. The image stays installed and the machine starts from its post
|
||||
boot state (0x10a14c-0x10a1a4).
|
||||
|
||||
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).
|
||||
when the crc32 still disagrees (0x10ad00-0x10ad58, 0x1500c0-0x150124).
|
||||
|
||||
files:
|
||||
- name: gba_bios.bin
|
||||
@@ -71,8 +80,8 @@ files:
|
||||
validation: [size, md5]
|
||||
config_key: "use-bios"
|
||||
description: "Game Boy Advance BIOS"
|
||||
note: "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."
|
||||
source_ref: "Linkboy 3.11.0 cr.java:8, br.java:24-88, liblinkboy.so 0x109de8-0x109e64 (size argument 0x4000), loader 0x1c870-0x1ca10"
|
||||
note: "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. A cartridge whose header logo fails the crc32 test boots past it."
|
||||
source_ref: "Linkboy 3.11.4 cr.java:8, br.java:24-88, liblinkboy.so 0x10a06c-0x10a108 (size argument 0x4000), 0x10a14c-0x10a1a4 (logo test), loader 0x1ca40-0x1cbe0"
|
||||
|
||||
- name: gbc_bios.bin
|
||||
path: firmware/gbc_bios.bin
|
||||
@@ -85,7 +94,7 @@ files:
|
||||
config_key: "use-bios"
|
||||
description: "Game Boy Color boot ROM"
|
||||
note: "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."
|
||||
source_ref: "Linkboy 3.11.0 cr.java:8, br.java:24-88, liblinkboy.so 0x14f5a0-0x14f5b0 (size argument 0x900), 0x14f638-0x14f654, loader 0x1c870-0x1ca10"
|
||||
source_ref: "Linkboy 3.11.4 cr.java:8, br.java:24-88, liblinkboy.so 0x14f860-0x14f870 (size argument 0x900), 0x14f8f8-0x14f914, loader 0x1ca40-0x1cbe0"
|
||||
|
||||
- name: gb_bios.bin
|
||||
path: firmware/gb_bios.bin
|
||||
@@ -98,4 +107,4 @@ files:
|
||||
config_key: "use-bios"
|
||||
description: "Game Boy boot ROM"
|
||||
note: "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."
|
||||
source_ref: "Linkboy 3.11.0 cr.java:8, br.java:24-88, liblinkboy.so 0x14f58c-0x14f59c (size argument 0x100), 0x14f638-0x14f654, loader 0x1c870-0x1ca10"
|
||||
source_ref: "Linkboy 3.11.4 cr.java:8, br.java:24-88, liblinkboy.so 0x14f84c-0x14f85c (size argument 0x100), 0x14f8f8-0x14f914, loader 0x1ca40-0x1cbe0"
|
||||
@@ -6,8 +6,9 @@ upstream: closed-source
|
||||
version_source:
|
||||
url: "https://play.google.com/store/apps/details?id=com.fastemulator.gba&hl=en"
|
||||
pattern: '\[\[\["([^"]+)"\]\],\[\[\[\d+'
|
||||
no_genuine_copy: "2.1.1"
|
||||
author: "Pixel Respawn LLC"
|
||||
profiled_date: "2026-08-12"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "2.0.3"
|
||||
display_name: "Nintendo - Game Boy Advance (My Boy!)"
|
||||
mode: standalone
|
||||
@@ -26,9 +27,12 @@ notes: |
|
||||
are read here: 2.0.3 (versionCode 90053, minSdk 21, targetSdk 33, arm64-v8a and
|
||||
armeabi-v7a, bundletool v1 signer and the Play source stamp) and 1.8.0 (versionCode
|
||||
90048, armeabi and x86). Line numbers below are those of 2.0.3 and native addresses
|
||||
are arm64-v8a of the same build; 1.8.0 addresses are its x86 library. Four rebuilt
|
||||
copies were rejected on their certificate: 2.0.9 (CN=APKVISION.ORG), 2.0.8 (C=RU,
|
||||
O=A1), 2.0.6 (C=IN) and a second 1.8.0 (O=jojoy.mod).
|
||||
are arm64-v8a of the same build, and 1.8.0 addresses are its x86 library. 2.1.1
|
||||
(versionCode 90062) is the current Play build, and every copy of it reached here is
|
||||
rebuilt. Seven rebuilt copies were rejected on their certificate: 2.1.1
|
||||
(CN=APKVISION.ORG, with an injected second dex), 2.1.1 (the AOSP test key), 2.0.9
|
||||
(CN=APKVISION.ORG), 2.0.8 (C=RU, O=A1), 2.0.6 (C=IN), 2.0.6 (O=APKMODY) and a second
|
||||
1.8.0 (O=jojoy.mod).
|
||||
|
||||
One system is emulated, Game Boy Advance, in libgba.so behind a JNI bridge
|
||||
(Link.java:21-23,83). Content is a .gba or .bin document, or the first entry with one
|
||||
|
||||
@@ -6,8 +6,9 @@ upstream: closed-source
|
||||
version_source:
|
||||
url: "https://play.google.com/store/apps/details?id=com.fastemulator.gbc&hl=en"
|
||||
pattern: '\[\[\["([^"]+)"\]\],\[\[\[\d+'
|
||||
no_genuine_copy: "2.0.3"
|
||||
author: "Pixel Respawn LLC"
|
||||
profiled_date: "2026-08-12"
|
||||
profiled_date: "2026-10-20"
|
||||
core_version: "2.0.0"
|
||||
display_name: "Nintendo - Game Boy / Game Boy Color (My OldBoy!)"
|
||||
mode: standalone
|
||||
@@ -29,8 +30,9 @@ notes: |
|
||||
signer and the Play source stamp) and 1.5.1 (versionCode 90020, minSdk 9, armeabi,
|
||||
v1 signature verified entry by entry). Line numbers below are those of 2.0.0 and
|
||||
native addresses are arm64-v8a of the same build; 1.5.1 addresses are its armeabi
|
||||
library. 2.0.2 (versionCode 90024) is the current Play build, offered by no mirror
|
||||
reached here.
|
||||
library. 2.0.3 is the current Play build, offered genuine by no mirror reached here.
|
||||
One rebuilt copy was rejected on its certificate: 2.0.1 (C=IN), served under a 2.0.3
|
||||
page.
|
||||
|
||||
Emulation runs in libgbc.so behind a JNI bridge (Link.java:23,29-97). Content is a
|
||||
.gb, .gbc, .cgb or .dmg document, or the first entry with one of those extensions in a
|
||||
|
||||
Reference in new issue
Block a user