{
  "commit": "fbe5ba4e3e790ab07eddc5b57e0f45a02cbcd60e",
  "count": 1,
  "generated_at": "2026-10-24T00:06:47Z",
  "items": [
    {
      "id": "ti99sim-sdl1",
      "profile": {
        "core_classification": "frozen_snapshot",
        "core_version": "0.15.0",
        "cores": [
          "ti99sim-sdl1"
        ],
        "display_name": "TI-99/Sim 0.15.0 (SDL1)",
        "emulator": "TI-99/Sim 0.15.0",
        "files": [
          {
            "description": "Console ROM cartridge: CPU ROM, system GROMs and RAM layout",
            "name": "TI-994A.ctg",
            "note": "Without it main prints \"Unable to locate console ROMs!\" and returns -1.",
            "required": true,
            "source_ref": "src/sdl/main.cpp:533-543, src/core/support.cpp:509-544"
          },
          {
            "description": "TMS6100 speech synthesizer vocabulary ROM",
            "hle_fallback": true,
            "min_size": 32768,
            "name": "spchrom.bin",
            "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.",
            "required": false,
            "source_ref": "src/core/tms5220.cpp:190-214",
            "validation": [
              "size"
            ]
          },
          {
            "description": "TI Disk Controller DSR ROM",
            "name": "ti-disk.ctg",
            "note": "Disk emulation is unavailable without it.",
            "required": false,
            "source_ref": "src/sdl/main.cpp:328-371"
          },
          {
            "description": "CF7+ CompactFlash interface DSR ROM",
            "name": "cf7+.ctg",
            "required": false,
            "source_ref": "src/sdl/main.cpp:328-371, 601"
          },
          {
            "description": "TI P-Code Card (UCSD p-System) DSR ROM",
            "name": "ti-pcard.ctg",
            "note": "Loaded only when --ucsd is passed.",
            "required": false,
            "source_ref": "src/sdl/main.cpp:328-371, 602"
          },
          {
            "description": "Miller Graphics Gram Kracker ROMs",
            "name": "Gram Kracker.ctg",
            "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.",
            "required": false,
            "source_ref": "src/core/ti994a-gk.cpp:56-70, src/sdl/ti994a-sdl.cpp:49"
          }
        ],
        "mode": "standalone",
        "notes": "Marc Rousseau's TI-99/4A simulator at release 0.15.0, the last one with an\nSDL 1.2 front end. RetroPie's ti99sim-sdl1 package builds it from the source\ntarball it mirrors (sha256\nc156674dcb3e40448e84dcfecfe4a16c2bae9df020a79da519d0603cd8ee3b92), adds one\nmissing include and runs bin/ti99sim-sdl from its install directory, where\nit links TI-994A.ctg from the BIOS directory.\n\nLocateFile (src/core/support.cpp:392-435) tries the bare name in the working\ndirectory first, then <directory>/<name> under ~/.ti99sim and under the\ninstall root. The install root is the parent of the bin/ directory holding\nthe executable, read from /proc/self/exe, with /opt/ti99sim as the fallback\n(src/core/support.cpp:64-136). LocateFiles (src/core/support.cpp:437-507)\nlists *.ctg in <install root>/console, ~/.ti99sim/console and the working\ndirectory itself.\n\nThe console cartridge is looked up by name first and only then by content\namong every *.ctg in console/ (src/core/support.cpp:509-544). The two\naccepted content signatures, 0264512c7d9e7fa091a48e5c8734782ea031a52d and\n16e275faae427465ba4dd4c2bf8569f6546d32dd for console version 2.2\n(src/sdl/main.cpp:533-537), are SHA-1 digests of the ROM and GROM banks\nthat cCartridge::sha1 assembles in memory (src/core/cartridge.cpp:248-273),\nnot of the .ctg file. A file found by name is used without that check.\n\nDevice cartridges are picked up by name from that listing: cf7+.ctg and\nti-disk.ctg are loaded automatically, ti-pcard.ctg only with --ucsd, and\n--no-cf7 skips cf7+.ctg (src/sdl/main.cpp:328-371, 601-604). The .ctg format\nread here is the one 0.16.0 writes: the loaders in src/core/cartridge.cpp are\nunchanged between the two releases.\n",
        "profiled_date": "2026-10-20",
        "source": "https://files.retropie.org.uk/archives/ti99sim-0.15.0.src.tar.gz",
        "systems": [
          "ti99"
        ],
        "type": "standalone",
        "upstream": "https://www.mrousseau.org/programs/ti99sim/"
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
