Files
libretro/emulators/touchhle.yml
T

243 lines
9.5 KiB
YAML

emulator: "touchHLE"
type: standalone
core_classification: embedded_hle
source: "https://github.com/touchHLE/touchHLE"
profiled_date: "2026-10-17"
source_commit: "3c5850585ba55615b17a58c58331b6d6f52d4a9d"
pin_frozen: "ROCKNIX 20261001 builds this revision. Later upstream commits are not part of that build."
core_version: "0.2.3"
display_name: "Apple - iPhone OS (touchHLE)"
cores:
- "touchhle"
- "touchhle-sa"
systems:
- apple-ios
notes: |
High-level emulator for iPhone OS apps. The operating system and its
frameworks are reimplemented in Rust, so no Apple firmware or system file is
opened. What it reads besides the app are resources bundled with it: three
Free Software ARMv6 libraries, fonts, and a table of default per-app options.
ref: Cargo.toml:7, src/paths.rs:9-12, src/paths.rs:28-36
Resources are opened relative to the working directory, or the Resources
folder of a macOS bundle. ROCKNIX patches the Linux base to /usr/lib/touchHLE.
ref: src/paths.rs:63-82
The libraries are mapped into the guest at /usr/lib under their own names and
aliases. An app binary that links one of them loads it from there, and fails
to start with "Could not load bundled dylib" when the host file is missing.
ref: src/fs.rs:588-622, src/environment.rs:384-413
Fonts are opened the first time an app draws text in that face, and a
missing or unparsable file is a panic. The Liberation families stand in for
the iPhone OS faces; Noto Sans JP is used for strings holding kana or kanji.
ROCKNIX installs only the LiberationSans files, so an app that asks for a
monospace, serif or Japanese face stops there.
ref: src/font.rs:70-129, src/frameworks/uikit/ui_font.rs:26-43,
src/frameworks/uikit/ui_font.rs:180-205
touchHLE_default_options.txt is read before the user's touchHLE_options.txt;
when it cannot be opened a warning is printed and the app runs without it.
ref: src/lib.rs:319-323
files:
- name: "libgcc_s.1.dylib"
path: "touchHLE_dylibs/libgcc_s.1.dylib"
system: apple-ios
required: false
sha1: "827d9304ade7342560b83bb2d79519161a36a395"
md5: "f170c90d0940c5989c7ea65f6832906b"
bundled: true
description: "GCC runtime library from the iPhoneOS 4.0 SDK"
note: "Exposed as /usr/lib/libgcc_s.1.dylib. Needed by apps that link it."
source_ref: "src/fs.rs:588-622, src/environment.rs:384-413"
- name: "libstdc++.6.0.9.dylib"
path: "touchHLE_dylibs/libstdc++.6.0.9.dylib"
system: apple-ios
required: false
sha1: "80a78b90ed2af3656947124a623be06346c91c07"
md5: "d44ff6644a1f42e1a333664752940266"
bundled: true
description: "GNU C++ standard library from the iPhoneOS 4.0 SDK"
note: "Exposed as /usr/lib/libstdc++.6.dylib and /usr/lib/libstdc++.6.0.9.dylib. Needed by apps that link it."
source_ref: "src/fs.rs:588-622, src/environment.rs:384-413"
- name: "libz.1.2.3.dylib"
path: "touchHLE_dylibs/libz.1.2.3.dylib"
system: apple-ios
required: false
sha1: "c7a074cc2a28618205107da722d3030441a7f791"
md5: "6b2f78a706d9b46f038059ef01c97253"
bundled: true
description: "zlib built from Apple's zlib-23.0.1 sources"
note: "Exposed as /usr/lib/libz.1.2.3.dylib, libz.1.dylib, libz.dylib and libz.1.1.3.dylib. Needed by apps that link it."
source_ref: "src/fs.rs:588-622, src/environment.rs:384-413"
- name: "LiberationMono-Regular.ttf"
path: "touchHLE_fonts/LiberationMono-Regular.ttf"
system: apple-ios
required: false
sha1: "6d137827a5b3b5b4ca2378642cdee0f65497ad0b"
md5: "e59b87dce1497a1ba08d472667722916"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face; touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:88-90"
- name: "LiberationMono-Bold.ttf"
path: "touchHLE_fonts/LiberationMono-Bold.ttf"
system: apple-ios
required: false
sha1: "621736fa22ae2661eff1a0a199f882733440a33c"
md5: "e52e17953632fd6f1da5e51c84a6dea7"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face; touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:91-93"
- name: "LiberationMono-BoldItalic.ttf"
path: "touchHLE_fonts/LiberationMono-BoldItalic.ttf"
system: apple-ios
required: false
sha1: "6dbf7cd701cb1048dd7a2a01f84b5473842bf3ba"
md5: "00bed708fb7614c12c92cfd16f1fb7b8"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face; touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:94-96"
- name: "LiberationMono-Italic.ttf"
path: "touchHLE_fonts/LiberationMono-Italic.ttf"
system: apple-ios
required: false
sha1: "67ec8aefea86e24e6a875e9f5b78437e75edf9e8"
md5: "fe762a65e22e23c935aff8eda38eaaf3"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face; touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:97-99"
- name: "LiberationSans-Regular.ttf"
path: "touchHLE_fonts/LiberationSans-Regular.ttf"
system: apple-ios
required: false
sha1: "822a13649cfa7475343d52bfb2db9f0358a36822"
md5: "d7b4e92b03deb1865aa61328fd5ff400"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face; touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:100-102"
- name: "LiberationSans-Bold.ttf"
path: "touchHLE_fonts/LiberationSans-Bold.ttf"
system: apple-ios
required: false
sha1: "4e5ee6e5de4d35337f7d14fa43222908e28e2d8d"
md5: "ab3823f8c454609eab661b54751fd55e"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face; touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:103-105"
- name: "LiberationSans-BoldItalic.ttf"
path: "touchHLE_fonts/LiberationSans-BoldItalic.ttf"
system: apple-ios
required: false
sha1: "cbf18b615d022b3a49c114c1fdea5170e04e8d08"
md5: "ad144bbd42d9dccb07db1aae6682b98b"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face; touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:106-108"
- name: "LiberationSans-Italic.ttf"
path: "touchHLE_fonts/LiberationSans-Italic.ttf"
system: apple-ios
required: false
sha1: "aa4de844c5538cb9bf5393ed767884cd72f2b448"
md5: "333f554fddaa0faf89afc3621a6a18c8"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face; touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:109-111"
- name: "LiberationSerif-Regular.ttf"
path: "touchHLE_fonts/LiberationSerif-Regular.ttf"
system: apple-ios
required: false
sha1: "e617879345422a0e204de4b1dff4a41103992d64"
md5: "732ab01395f607bf178d0f32d841cc71"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face; touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:112-114"
- name: "LiberationSerif-Bold.ttf"
path: "touchHLE_fonts/LiberationSerif-Bold.ttf"
system: apple-ios
required: false
sha1: "d38816f0b2205dc619c061a60ef5f250b9bdf231"
md5: "184a866d565bae797baa39458fde7ac4"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face; touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:115-117"
- name: "LiberationSerif-BoldItalic.ttf"
path: "touchHLE_fonts/LiberationSerif-BoldItalic.ttf"
system: apple-ios
required: false
sha1: "7e9704cabad534e2a56b32bbbec89a8d7e4e138f"
md5: "23e615c7010f0ad9f1d2817009733cb9"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face; touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:118-120"
- name: "LiberationSerif-Italic.ttf"
path: "touchHLE_fonts/LiberationSerif-Italic.ttf"
system: apple-ios
required: false
sha1: "c5f801425d1f93be54e31267813f4367755f096c"
md5: "31defdf69fc00c20b9caabe3e76d53e1"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face; touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:121-123"
- name: "NotoSansJP-Regular.otf"
path: "touchHLE_fonts/NotoSansJP-Regular.otf"
system: apple-ios
required: false
sha1: "2a167a116b54ecd4f939e47d0ad78cb3402d938c"
md5: "f82ef23cfbf8b46a234465b0151ee71f"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face; touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:124-126"
- name: "NotoSansJP-Bold.otf"
path: "touchHLE_fonts/NotoSansJP-Bold.otf"
system: apple-ios
required: false
sha1: "a7a997c4c894d2cc691332e7232d909d4f08a552"
md5: "77921099a1d3fce6fb64a7b3b678b7dc"
bundled: true
description: "Bundled font"
note: "Opened on first use of its face; touchHLE panics when it is missing."
source_ref: "src/font.rs:70-85, src/font.rs:127-129"
- name: "touchHLE_default_options.txt"
path: "touchHLE_default_options.txt"
system: apple-ios
required: false
sha1: "ee41db73da6e50593fdb95c3dee3bd42783718cf"
md5: "e982d067cdcbda507773dd9d4b3d4c07"
bundled: true
category: game_data
description: "Default options per app"
note: "Command-line style options keyed by app bundle identifier, applied before the user's own file."
source_ref: "src/paths.rs:36, src/lib.rs:319-323"