si78c – 用 C 语言重写的街机游戏 Space Invaders 免费开源版

si78c 是用 C 语言编写的太空入侵者 (Space Invaders) 街机游戏,旨在精准还原 1978 年的原作。si78c 不使用原始游戏代码,而是完全重写。需要原始街机 ROM 文件来加载各种精灵和其他数据。si78c 精确再现了原作的运行方式,便于人们更直观地理解原始系统的内部运作机制。相比于传统模拟器,si78c 的代码更加直观易懂。

file

编译运行

依赖库:

si78c 需要用到 SDL2 库。以 Ubuntu 系统为例,安装 SDL2 开发库的命令如下:

sudo apt-get install libsdl2-dev

获取代码并编译:

  1. 使用 Git 克隆代码仓库:
git clone https://github.com/loadzero/si78c.git && cd si78c
  1. 编译生成可执行程序:
make

原始街机 ROM:

si78c 需要原始的街机 ROM 文件才能运行。已知 MAME_078 合集中的 invaders.zip 文件可用。

ROM 文件放置:

将 ROM 文件放置在一个名为 inv1 的文件夹中,并确保其校验码符合以下要求:

md5sum inv1/*

7d3b201f3e84af3b4fcb8ce8619ec9c6  inv1/invaders.e
7709a2576adb6fedcdfe175759e5c17a  inv1/invaders.f
9ec2dc89315a0d50c5e166f664f64a48  inv1/invaders.g
e87815985f5208bfa25d567c3fb52418  inv1/invaders.h

运行程序:

./bin/si78c

键盘控制:

  • a - 左移
  • d - 右移
  • 1 - 1P 开始游戏 (玩家 1)
  • 2 - 2P 开始游戏 (玩家 2)
  • j - 射击
  • 5 - 投币
  • t - 翻转屏幕 (模拟街机操作)

官方链接

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注