{
  "added_at": "2026-11-09",
  "category": "reconstruction-cases",
  "class": "game",
  "description_en": "si78c is a C reimplementation of the 1978 arcade game Space Invaders. Running it matches the original memory state apart from the stack, and the frames match pixel for pixel. The ROM files go in inv1/. invaders.e is MD5 7d3b201f3e84af3b4fcb8ce8619ec9c6, invaders.f is 7709a2576adb6fedcdfe175759e5c17a, invaders.g is 9ec2dc89315a0d50c5e166f664f64a48, and invaders.h is e87815985f5208bfa25d567c3fb52418. make builds ./bin/si78c. It uses SDL2 and ucontext, and the documented builds use Ubuntu 18.04 and Mac OS X El Capitan on little-endian machines.",
  "description_zh": "si78c 是 1978 年街机游戏《太空侵略者》的 C 重实现。运行时除堆栈外与原版内存状态一致，画面逐像素相符。ROM 文件放在 inv1/。invaders.e 的 MD5 是 7d3b201f3e84af3b4fcb8ce8619ec9c6，invaders.f 是 7709a2576adb6fedcdfe175759e5c17a，invaders.g 是 9ec2dc89315a0d50c5e166f664f64a48，invaders.h 是 e87815985f5208bfa25d567c3fb52418。make 构建 ./bin/si78c。它使用 SDL2 和 ucontext，文档列出的构建环境是小端机器上的 Ubuntu 18.04 和 Mac OS X El Capitan。",
  "entry_url": "https://awesomerea.org/resources/si78c/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/si78c/",
  "evidence_class": 2,
  "evidence_status": "observed",
  "evidence_url": "https://github.com/loadzero/si78c/blob/0b2b4f1ed3c73ba0765625d589fbdcb21660f3ee/README.md",
  "group": "cases",
  "id": "si78c",
  "json_url": "https://awesomerea.org/resources/si78c/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/si78c/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/si78c/index.md",
  "name": "si78c: reimplementing Space Invaders in C",
  "name_zh": "si78c：用 C 语言重实现《太空侵略者》",
  "reconstruction_method": "engine-reimplementation",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirements": [
    "SDL2 and the four ROM files with those MD5s. On Ubuntu, libsdl2-dev, then make.",
    "The README names no license."
  ],
  "requirements_zh": [
    "需要 SDL2 和上述 MD5 的四份 ROM。在 Ubuntu 上安装 libsdl2-dev，然后运行 make。",
    "README 未列出许可证。"
  ],
  "scope": "unknown",
  "targets": [
    "game"
  ],
  "url": "https://github.com/loadzero/si78c",
  "verification": "source-reviewed",
  "verified_at": "2026-11-07"
}
