{
  "count": 1,
  "generated_at": "2026-10-20T02:57:31Z",
  "items": [
    {
      "id": "eightyone",
      "profile": {
        "core_classification": "community_fork",
        "core_version": "v1.2",
        "cores": [
          "eightyone"
        ],
        "display_name": "Sinclair - ZX81 / ZX Spectrum (EightyOne, Recalbox)",
        "emulator": "EightyOne (Recalbox)",
        "exclusion_note": "The system directory holds eightyone/ROMs, FDCs and IDEs, but every ROM the core requests is served from its embedded table before any path is opened (libretro/eo_roms.cpp:106-128). The one file it touches there is zxpand-eeprom.bin, written when absent (81/Source/zxpand/smbsd.cpp:75-98).\n",
        "files": [],
        "notes": "Recalbox port of EightyOne, vendored under 81/ and built with CMake.\nMachines: ZX80, ZX81, ZX97LE, TS1000, TS1500, TK85, Lambda 8300,\nRingo R470, Spectrum 16K/48K/+/128K/+2/+2A/+3, TC2048, TC2068, TS2068,\nJupiter ACE.\nref: libretro/libretro_core.cpp:876-1074\n\nThe ROM directory is <system>/eightyone/ with ROMs/, FDCs/ and IDEs/\nsubfolders.\nref: libretro/libretro_core.cpp:2620-2631\n\n86 machine, interface, IDE, graphics and speech ROMs are compiled in as\nzlib-compressed arrays and looked up by basename.\nref: libretro/eo_roms.cpp:16-103, libretro/eo_roms.cpp:106-128\n\nmemory_load, memoryLoadToAddress and font_load query the embedded table\nbefore opening any path, and every ROM name the core requests is in that\ntable, so no ROM is read from the system directory.\nref: 81/Source/zx81/snap.cpp:1189-1199, 81/Source/zx81/snap.cpp:1285-1299, 81/Source/zx81/snap.cpp:1317-1328, 81/Source/zx81config.cpp:161-210, 81/Source/zx81config.cpp:259-284\n\nDidaktik D40/D80 tests for eightyone/FDCs/didaktik.gama.rom and stores its\nfull path in CurRom when present, and memory_load reduces the path to its\nbasename and serves the embedded copy.\nref: libretro/libretro_core.cpp:2953-2968, 81/Source/Spectrum/spec48.cpp:361-362\n\nZXpand writes zxpand-eeprom.bin (256 bytes of 0xFF) under the ROM\ndirectory when it is absent.\nref: 81/Source/zxpand/smbsd.cpp:75-98\n\nDigitalker is a stub and its SSR ROM loader is not compiled. CapsImg is\nlinked statically.\nref: libretro/eo_stubs.cpp:67-68, CMakeLists.txt:267-291\n",
        "profiled_date": "2026-10-17",
        "source": "https://gitlab.com/recalbox/packages/recalbox-cores/libretro-eightyone",
        "source_commit": "39ea0cc26453f4026458cfff62f10223a6bb1724",
        "systems": [
          "sinclair-zx81",
          "sinclair-zx80",
          "sinclair-zx-spectrum",
          "jupiter-ace",
          "timex-ts1500",
          "timex-tc2048",
          "timex-ts2068",
          "lambda-8300",
          "ringo-r470",
          "microdigital-tk85"
        ],
        "type": "libretro",
        "upstream": "https://github.com/charlierobson/EightyOne"
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
