Files
libretro/emulators/ti99sim-sdl1.yml
T
Abdessamad Derraz bb19a6d5cf feat: profile what RetroBat and RetroPie run
100 emulator names the two platforms run had no profile, so their packs carried nothing for them. Each was read from the platform's own launcher or scriptmodule: the same program as an existing profile takes the name in cores:, a different build gets its own profile read from that version, a launcher or self-contained game goes to remove_cores, and the rest are new profiles written from their source or shipped binary. The files they need that the collection lacked are collected from the upstream distributions. Bungie and splitwolf trees are read by path and stay out of dedup.
2026-10-20 06:14:10 +02:00

83 lines
3.6 KiB
YAML

emulator: ti99sim-sdl1
display_name: "TI-99/Sim 0.15.0 (SDL1)"
type: standalone
core_classification: frozen_snapshot
source: "https://files.retropie.org.uk/archives/ti99sim-0.15.0.src.tar.gz"
upstream: "https://www.mrousseau.org/programs/ti99sim/"
profiled_date: "2026-10-20"
core_version: "0.15.0"
cores:
- ti99sim-sdl1
systems:
- ti99
mode: standalone
notes: |
Marc Rousseau's TI-99/4A simulator at release 0.15.0, the last one with an
SDL 1.2 front end. RetroPie's ti99sim-sdl1 package builds it from the source
tarball it mirrors (sha256
c156674dcb3e40448e84dcfecfe4a16c2bae9df020a79da519d0603cd8ee3b92), adds one
missing include and runs bin/ti99sim-sdl from its install directory, where
it links TI-994A.ctg from the BIOS directory.
LocateFile (src/core/support.cpp:392-435) tries the bare name in the working
directory first, then <directory>/<name> under ~/.ti99sim and under the
install root. The install root is the parent of the bin/ directory holding
the executable, read from /proc/self/exe, with /opt/ti99sim as the fallback
(src/core/support.cpp:64-136). LocateFiles (src/core/support.cpp:437-507)
lists *.ctg in <install root>/console, ~/.ti99sim/console and the working
directory itself.
The console cartridge is looked up by name first and only then by content
among every *.ctg in console/ (src/core/support.cpp:509-544). The two
accepted content signatures, 0264512c7d9e7fa091a48e5c8734782ea031a52d and
16e275faae427465ba4dd4c2bf8569f6546d32dd for console version 2.2
(src/sdl/main.cpp:533-537), are SHA-1 digests of the ROM and GROM banks
that cCartridge::sha1 assembles in memory (src/core/cartridge.cpp:248-273),
not of the .ctg file. A file found by name is used without that check.
Device cartridges are picked up by name from that listing: cf7+.ctg and
ti-disk.ctg are loaded automatically, ti-pcard.ctg only with --ucsd, and
--no-cf7 skips cf7+.ctg (src/sdl/main.cpp:328-371, 601-604). The .ctg format
read here is the one 0.16.0 writes: the loaders in src/core/cartridge.cpp are
unchanged between the two releases.
files:
- name: TI-994A.ctg
required: true
description: "Console ROM cartridge: CPU ROM, system GROMs and RAM layout"
source_ref: "src/sdl/main.cpp:533-543, src/core/support.cpp:509-544"
note: "Without it main prints \"Unable to locate console ROMs!\" and returns -1."
- name: spchrom.bin
required: false
min_size: 32768
description: "TMS6100 speech synthesizer vocabulary ROM"
source_ref: "src/core/tms5220.cpp:190-214"
validation: [size]
hle_fallback: true
note: "Read as one 0x8000 byte block from console/, so a shorter file is refused and bytes past it are ignored. The first byte must be 0xAA, otherwise an empty speech ROM is used."
- name: ti-disk.ctg
required: false
description: "TI Disk Controller DSR ROM"
source_ref: "src/sdl/main.cpp:328-371"
note: "Disk emulation is unavailable without it."
- name: cf7+.ctg
required: false
description: "CF7+ CompactFlash interface DSR ROM"
source_ref: "src/sdl/main.cpp:328-371, 601"
- name: ti-pcard.ctg
required: false
description: "TI P-Code Card (UCSD p-System) DSR ROM"
source_ref: "src/sdl/main.cpp:328-371, 602"
note: "Loaded only when --ucsd is passed."
- name: "Gram Kracker.ctg"
required: false
description: "Miller Graphics Gram Kracker ROMs"
source_ref: "src/core/ti994a-gk.cpp:56-70, src/sdl/ti994a-sdl.cpp:49"
note: "Found by name in console/ or by content signature a3bd5257c63e190800921b52dbe3ffa91ad91113. The SDL front end derives its computer from cTI994AGK, so the lookup runs on every start."