# si78c：用 C 语言重实现《太空侵略者》

> 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。

- 类型：案例
- 目标：游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-11-07
- 收录于：2026-11-09
- 原始资源：<https://github.com/loadzero/si78c>
- 一手来源：<https://github.com/loadzero/si78c/blob/0b2b4f1ed3c73ba0765625d589fbdcb21660f3ee/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/si78c/>
- 记录 JSON：<https://awesomerea.org/resources/si78c/record.json>
- 英文版：[English](https://awesomerea.org/resources/si78c/index.md)

## 使用条件与局限

- 需要 SDL2 和上述 MD5 的四份 ROM。在 Ubuntu 上安装 libsdl2-dev，然后运行 make。
- README 未列出许可证。

## 一手来源

1. <https://github.com/loadzero/si78c/blob/0b2b4f1ed3c73ba0765625d589fbdcb21660f3ee/README.md>

## 同分区更多条目：游戏

- [SiegeFX：处于 alpha 阶段的 Dungeon Siege 引擎重实现](https://awesomerea.org/zh/resources/siegefx-dungeon-siege-engine-case/index.md) · 案例
- [siglus_rs：以 Rust 重实现四种视觉游戏引擎](https://awesomerea.org/zh/resources/siglus-rs-case/index.md) · 案例
- [Sims 3 in Bevy：用 Rust 重建《模拟人生 3》](https://awesomerea.org/zh/resources/sims-3-bevy-case/index.md) · 案例
- [SimUnity2：The Sims 2 的部分 Unity 重建](https://awesomerea.org/zh/resources/simunity2-case/index.md) · 案例
- [Skate 3 Rust Engine：基于《Skate 3》逆向研究的 Bevy 重写](https://awesomerea.org/zh/resources/skate-3-rust-engine-case/index.md) · 案例
- [SkyRoads：以可移植 C11 重建 DOS 游戏引擎](https://awesomerea.org/zh/resources/skyroads-port-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
