{
  "count": 1,
  "generated_at": "2026-10-20T02:57:31Z",
  "items": [
    {
      "id": "ti99sim",
      "profile": {
        "core_version": "0.16.0",
        "cores": [
          "ti99sim"
        ],
        "display_name": "TI-99/Sim",
        "emulator": "ti99sim",
        "files": [
          {
            "description": "Console ROM cartridge containing CPU ROMs, system GROMs, and RAM configuration",
            "name": "TI-994A.ctg",
            "note": "SHA1 is of .ctg format. v0.16.0 also recognizes console v2.2 (sha1 16e275faae427465ba4dd4c2bf8569f6546d32dd).",
            "required": true,
            "sha1": "1d63879573a201cab6c883327240ddc148732ccd",
            "source_ref": "src/core/ti994a.cpp:122-131 (v0.16.0), src/sdl/main.cpp:407-411 (v0.0.11)"
          },
          {
            "description": "TMS5220/TMS6100 Speech Synthesizer vocabulary ROM",
            "hle_fallback": true,
            "name": "spchrom.bin",
            "note": "Raw binary, not .ctg format. Must be exactly 32768 bytes. First byte must be 0xAA. Falls back to empty speech ROM if missing or invalid.",
            "required": false,
            "size": 32768,
            "source_ref": "src/core/tms5220.cpp:190-213 (v0.16.0), src/core/tms5220.cpp:194-213 (v0.0.11)",
            "validation": [
              "size"
            ]
          },
          {
            "description": "TI Disk Controller DSR ROM (CRU >1100)",
            "name": "ti-disk.ctg",
            "note": "SHA1 is of .ctg format. Disk emulation disabled without this file.",
            "required": false,
            "sha1": "a092153d87615d64e025c118b16a0c6ec70e6fe7",
            "source_ref": "src/core/device-support.cpp:52 (v0.16.0), src/sdl/main.cpp:452-476 (v0.0.11)"
          },
          {
            "description": "Miller Graphics Gram Kracker ROM manipulation peripheral",
            "name": "Gram Kracker.ctg",
            "note": "SHA1 is of the .ctg convert-ctg builds at the pinned commit. Gram Kracker features disabled without this file.",
            "required": false,
            "sha1": "56dd520570cdcdd60dda2eedc8af1e02a781dcc5",
            "source_ref": "src/core/ti994a-gk.cpp:56 (v0.16.0), src/sdl/ti994a-sdl.cpp:78 (v0.0.11)"
          },
          {
            "description": "TI P-Code Card (UCSD Pascal) DSR ROM",
            "name": "ti-pcard.ctg",
            "note": "SHA1 is of the .ctg convert-ctg builds at the pinned commit from the .dat in roms/ and the pre-0.174 MAME images scripts/setup fetches. v0.16.0+ only.",
            "required": false,
            "sha1": "c7bf5fcfea0502011dca76d12efcc242e23421b9",
            "source_ref": "src/core/device-support.cpp:53 (v0.16.0)"
          },
          {
            "description": "CF7+/nanoPEB CompactFlash interface DSR ROM",
            "name": "cf7+.ctg",
            "note": "SHA1 is of the .ctg convert-ctg builds at the pinned commit from the .dat in roms/ and the pre-0.174 MAME images scripts/setup fetches. v0.16.0+ only.",
            "required": false,
            "sha1": "698c638e1773244a6bf8a353c87d210047cce402",
            "source_ref": "src/core/device-support.cpp:51 (v0.16.0)"
          }
        ],
        "notes": "Marc Rousseau's TI-99/4A simulator (since 1993). Standalone only, no libretro port.\nUses proprietary .ctg cartridge format for ROM packaging (CPU ROM + GROMs + RAM config).\nRaw ROM dumps must be converted to .ctg via the convert-ctg utility.\nFile search order: CWD, CWD/console/ (v0.16.0) or CWD/roms/ (<=0.0.11),\n~/.ti99sim/console/, /opt/ti99sim/console/.\nv0.16.0 adds SHA1-based auto-discovery for device ROMs in the console/ directory.\nRecalbox packages ti99sim as a standalone emulator for the ti994a system.\n",
        "profiled_date": "2026-03-29",
        "source": "https://github.com/christianhaitian/ti99sim",
        "source_commit": "e3608541943b5258afe45b74e3f78e723df1fcbd",
        "systems": [
          "ti99"
        ],
        "type": "standalone",
        "upstream": "https://www.mrousseau.org/programs/ti99sim/"
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
