Skip to content

TI-99/Sim 0.15.0

TI-99/Sim 0.15.0 emulates Texas Instruments TI-99. It reads 6 files, 1 of them required: without a required file it does not start games.

About this profile
Detail Value
Type standalone
Classification Frozen snapshot
Source https://files.retropie.org.uk/archives/ti99sim-0.15.0.src.tar.gz
Upstream https://www.mrousseau.org/programs/ti99sim/
Version 0.15.0
Profiled 2026-10-20
Profile YAML, JSON
Cores ti99sim-sdl1
Systems Texas Instruments TI-99
Install this emulator's files

With RetroPie: the installer finds RetroPie and its BIOS folder, then downloads only the files TI-99/Sim 0.15.0 reads there and checks each one.

Open a terminal on the device. Or connect from a computer with SSH, a terminal over the network. Paste the line. Press Enter.

Terminal
curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh -s -- --emulator ti99sim-sdl1
Technical 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.

6 files: 1 required, 5 optional. 1 has an HLE fallback.

File Required
TI-994A.ctg yes
spchrom.bin no
ti-disk.ctg no
cf7+.ctg no
ti-pcard.ctg no
Gram Kracker.ctg no

In this collection: 6 in repo and 0 missing.

TI-994A.ctg required in repo

Console ROM cartridge: CPU ROM, system GROMs and RAM layout

  • Without it main prints "Unable to locate console ROMs!" and returns -1.
5 files

spchrom.bin optional in repo HLE fallback

TMS6100 speech synthesizer vocabulary ROM

  • 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.

ti-disk.ctg optional in repo

TI Disk Controller DSR ROM

  • Disk emulation is unavailable without it.

cf7+.ctg optional in repo

CF7+ CompactFlash interface DSR ROM

ti-pcard.ctg optional in repo

TI P-Code Card (UCSD p-System) DSR ROM

  • Loaded only when --ucsd is passed.

Gram Kracker.ctg optional in repo

Miller Graphics Gram Kracker ROMs

  • 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.
.