mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 10:23:16 -05:00
Every bundled flag was checked against the release or the build recipe of the build that reads the file. A libretro core zip holds the core alone: fMSX, Nuance, ep128emu and PCEE2 files the source tree carries are no longer bundled, and blueMSX, ARMSX2, YAPS2, Cemu and Jazz2 entries are split per build. Files the release ships and the profile missed are now bundled (POM2, ZQuest Classic, EmuCoreX, Linux Loader). Platform packages that differ are named: Batocera installs hcl and Hurrican without their data, ROCKNIX ships touchHLE's Liberation Sans fonts only, Batocera and RetroPie install blueMSX's machines beside the core.
195 lines
8.5 KiB
YAML
195 lines
8.5 KiB
YAML
emulator: Infinity
|
|
type: standalone
|
|
core_classification: community_fork
|
|
based_on: "fake-08 by jtothebell"
|
|
source: "https://play.google.com/store/apps/details?id=me.dt2dev.infinity"
|
|
upstream: closed-source
|
|
version_source:
|
|
url: "https://play.google.com/store/apps/details?id=me.dt2dev.infinity&hl=en"
|
|
pattern: '\[\[\["([^"]+)"\]\],\[\[\[\d+'
|
|
author: "GuoPing He"
|
|
profiled_date: "2026-08-11"
|
|
core_version: "5"
|
|
display_name: "PICO-8 (Infinity)"
|
|
cores:
|
|
- infinity
|
|
systems:
|
|
- pico8
|
|
mode: standalone
|
|
|
|
notes: |
|
|
Android package me.dt2dev.infinity, closed source, free with ads on Google Play.
|
|
Two builds are read here, versionCode 501 (versionName 5, minSdk 32, targetSdk 37,
|
|
xapk sha256 d0040583814a634c9aa2ff56b8245f1eb94f33ee0785c264bccfa5188cd3a273) and
|
|
versionCode 404 (minSdk 30), both carrying lib/arm64-v8a, the Play app signing
|
|
certificate sha256
|
|
eb7b3dd469cf44ab614abda7a367c20de540014a37bb2b915dffecf5f3268da2 and the Play
|
|
distribution source stamp.
|
|
|
|
The engine is fake-08 compiled into libinfinity.so and driven through a nine
|
|
method JNI bridge. Its Lua blobs are upstream: the settings cart is byte identical
|
|
to fake-08 814991a and the default cart differs only where VER_STR is spliced, the
|
|
Android build leaving that macro undefined so the boot cart reports v0.0.0.0. The
|
|
global Lua glue is patched in five places, all in the pause menu, where "exit to
|
|
menu" and "exit to settings" give way to a single "quit game" calling the native
|
|
__quitgame, navigation wraps around and the menu holds eight items instead of
|
|
nine. No menu entry reaches the cart browser or the settings cart any more, the
|
|
Compose interface listing the library instead.
|
|
ref: Fake8.java:27-44, 60, 95,
|
|
libinfinity.so arm64 .rodata DefaultCart / FakoSettings / p8GlobalLuaFunctions
|
|
blobs, symbol __quitgame
|
|
|
|
A cart never reaches the engine as a path. Java reads the bytes into a direct
|
|
ByteBuffer, from the application assets for a built-in cart or through the content
|
|
resolver for anything else, then hands the buffer to nativeStart with the save
|
|
state name <cart>.ss and the application's internal files directory, where a cdata
|
|
subdirectory holds the <id>.p8d.txt cart data files. No storage permission is
|
|
declared: the cart library is a directory tree granted through the storage access
|
|
framework, and the only write outside internal storage is the .nomedia file that
|
|
the "Show Carts in Photos" switch creates or deletes there.
|
|
ref: pg0.java:50-92, ok0.java:139-146, yk0.java:54-63,
|
|
libinfinity.so arm64 .rodata ".p8d.txt"
|
|
|
|
ES-DE targets me.dt2dev.infinity/.SchemeActivity with a VIEW intent on its own
|
|
content provider. The activity reads the display name from the provider, accepts
|
|
it only when it ends in .p8 or .p8.png, strips that extension and forwards
|
|
infinity://game with cart_uri, filename, save_state=false and assets=false to
|
|
MainActivity. The manifest filter announces the content scheme with the image/png
|
|
type, which an explicit component bypasses.
|
|
ref: SchemeActivity.java:25-84, AndroidManifest.xml activity me.dt2dev.infinity.SchemeActivity
|
|
|
|
Two graphics backends. OpenGL ES is the default and carries its three fragment
|
|
programs as GLSL string literals inside the library. Vulkan, offered as beta,
|
|
reads SPIR-V modules from the application assets instead, one vertex module plus
|
|
one fragment module chosen by the display filter. Version 501 ships no shader
|
|
asset at all, version 404 ships the four listed below, and both libraries name
|
|
them, and the loader takes no null check between AAssetManager_open and
|
|
AAsset_getLength. The manifest requires only abi and density splits, so no asset
|
|
pack can deliver them separately.
|
|
ref: vh.java:381 graphics_backend default 0, vh.java:297 display_filter default 0,
|
|
libinfinity.so arm64 0xa6ee0-0xa7098, 0x9c72c-0x9c828
|
|
|
|
files:
|
|
- name: common.vert.spv
|
|
path: "assets/shaders/common.vert.spv"
|
|
system: pico8
|
|
required: false
|
|
category: game_data
|
|
size: 748
|
|
md5: 541e16aa5651699bb085c954ec1b043e
|
|
sha1: 20815dcbfaff559ec0faf0f890ad473a3b784ed0
|
|
description: "Vulkan vertex shader module"
|
|
note: "Opened first whenever the Vulkan backend starts, whatever the display filter. Bytes from versionCode 404, which ships it in its assets. versionCode 501 ships none, so the Vulkan backend finds nothing to open."
|
|
source_ref: "libinfinity.so arm64 0xa7078, 0x9c780-0x9c78c"
|
|
|
|
- name: none.frag.spv
|
|
path: "assets/shaders/none.frag.spv"
|
|
system: pico8
|
|
required: false
|
|
category: game_data
|
|
size: 580
|
|
md5: 8437c4e750da7183dffc7b98f9938377
|
|
sha1: f3aae57c3f776d35ddf2690679221c05745dcc8b
|
|
description: "Vulkan fragment shader module, unfiltered output"
|
|
note: "Chosen for any display filter value other than 1 and 2, the stored default being 0. Bytes from versionCode 404, which ships it in its assets. versionCode 501 ships none, so the Vulkan backend finds nothing to open."
|
|
source_ref: "libinfinity.so arm64 0xa6f04-0xa6f40, 0xa7090-0xa7098, 0x9c7ec-0x9c828"
|
|
|
|
- name: crt.frag.spv
|
|
path: "assets/shaders/crt.frag.spv"
|
|
system: pico8
|
|
required: false
|
|
category: game_data
|
|
size: 1864
|
|
md5: c4878a2aaee2e3c26d3d4aeeeaa3ac25
|
|
sha1: 92822c268c59f60fe9a4098768be599006f7f1ab
|
|
description: "Vulkan fragment shader module, CRT filter"
|
|
note: "Chosen when the display filter is 1. Bytes from versionCode 404, which ships it in its assets. versionCode 501 ships none, so the Vulkan backend finds nothing to open."
|
|
source_ref: "libinfinity.so arm64 0xa6f34-0xa6f40, 0xa7090-0xa7098, 0x9c7ec-0x9c828"
|
|
|
|
- name: lcd.frag.spv
|
|
path: "assets/shaders/lcd.frag.spv"
|
|
system: pico8
|
|
required: false
|
|
category: game_data
|
|
size: 1700
|
|
md5: 76f36cbe69708d631ae356bcd49274b2
|
|
sha1: 1a3c0aa0b93cc1ee4690b2c0d593497d003b6165
|
|
description: "Vulkan fragment shader module, LCD filter"
|
|
note: "Chosen when the display filter is 2. Bytes from versionCode 404, which ships it in its assets. versionCode 501 ships none, so the Vulkan backend finds nothing to open."
|
|
source_ref: "libinfinity.so arm64 0xa6f10-0xa6f30, 0xa7090-0xa7098, 0x9c7ec-0x9c828"
|
|
|
|
- name: 7x7demake.p8.png
|
|
path: "assets/7x7demake.p8.png"
|
|
system: pico8
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 7443
|
|
md5: 1d6416a591c99b03c58b41f0dd5537b0
|
|
sha1: 35ec298b803b29b6bee6d89f46507c50a3461b35
|
|
description: "Built-in cart, 7x7 Demake"
|
|
note: "Held as a file:///android_asset URI and prepended to the library when the built-in carts switch is on, the loader taking the path after the scheme and reading it from the assets."
|
|
source_ref: "qd.java:15-17, pg0.java:50, ok0.java:139-142"
|
|
|
|
- name: tictactoe.p8.png
|
|
path: "assets/tictactoe.p8.png"
|
|
system: pico8
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 7537
|
|
md5: 4f508068de9190c06775bfb4e47e2654
|
|
sha1: 5a7d0bd289e971a4ea6dfb09704b56252b85fe01
|
|
description: "Built-in cart, Infinity Tic Tac Toe"
|
|
note: "Second entry of the same table, loaded the same way."
|
|
source_ref: "qd.java:18-20, pg0.java:50, ok0.java:139-142"
|
|
|
|
- name: fake-08.md
|
|
path: "assets/fake-08.md"
|
|
system: pico8
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 5543
|
|
md5: a382a7e446335d3ea20f85a21a5846ec
|
|
sha1: 6d7e23241be0a110bc59110773963f678e199c32
|
|
description: "Licence text shown for fake-08"
|
|
note: "First of four names paired with the library names fake-08, coil, okio and DocumentFileCompat, each read from the assets when its entry is opened."
|
|
source_ref: "ry0.java:14-15, yq0.java:125"
|
|
|
|
- name: coil.txt
|
|
path: "assets/coil.txt"
|
|
system: pico8
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 11347
|
|
md5: 06f4dfd96b1e7f0b6d5cc7f7163c7904
|
|
sha1: 14d28015d8a8c902d219b6a24d2241aa061dda09
|
|
description: "Licence text shown for coil"
|
|
source_ref: "ry0.java:14-15, yq0.java:125"
|
|
|
|
- name: okio.txt
|
|
path: "assets/okio.txt"
|
|
system: pico8
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 11358
|
|
md5: 3b83ef96387f14655fc854ddc3c6bd57
|
|
sha1: 2b8b815229aa8a61e483fb4ba0588b8b6c491890
|
|
description: "Licence text shown for okio"
|
|
source_ref: "ry0.java:14-15, yq0.java:125"
|
|
|
|
- name: dfc.txt
|
|
path: "assets/dfc.txt"
|
|
system: pico8
|
|
required: false
|
|
bundled: true
|
|
category: game_data
|
|
size: 11357
|
|
md5: 86d3f3a95c324c9479bd8986968f4327
|
|
sha1: 7df059597099bb7dcf25d2a9aedfaf4465f72d8d
|
|
description: "Licence text shown for DocumentFileCompat"
|
|
source_ref: "ry0.java:14-15, yq0.java:125"
|