KITAQ 开发系统
用户手册 2026.09

KITAQ SERIES • 参考版

KITAQ SERIES

编程与用户手册

从第一行代码,到运行、观察和复测。
源码快照:2026 年 9 月 14 日 · 简体中文版:2026 年 9 月 14 日

原生编译器验证

Windows、Linux、macOS ARM 和 macOS Intel 的原生构建及运行验证均成功。KITAQGB 在每个环境通过 48 项测试和 395 项辅助工具检查;KITAQFC 通过 55 项测试和 401 项检查,也验证了 Rust 1.85。PUBLIC_DISTRIBUTION.json 记录已放置程序的哈希及验证来源。公开 GitHub Actions 会独立构建和验证这些源码。

保存的参考输出用于检查 ROM 字节、诊断和辅助工具格式。以前的 C# 模拟器验证保留为对应原始源码指纹的历史记录,并不自动证明全部 Rust API、真实硬件或完整的 FDS BIOS 游戏启动。原始 PNG 转换脚本无法取得,因此依据规格重新实现,不能声称与原脚本字节一致。

KITAQGB · SHA-256 · KITAQFC · SHA-256

从这里开始

KITAQGB 最初是 Zachtronics 相关 NES C 编译器 NORCAL 的一个分支。在此基础上,项目针对 Game Boy 和 Game Boy Color 的处理器、内存、图像、音频及 ROM 分页机制进行了扩展,形成了一套 C 语言开发工具。我们保留原作者 Keith Holman 的版权声明,并感谢原项目的贡献。

NORCAL的名称源于北加利福尼亚(Northern California)。受这种以地域命名的思路启发,作者以自己出生并长大的北九州市为基础,将项目命名为KITAQGB。KITAQ + GB把日本福冈县北九州市的昵称北九(キタキュー,Kitakyū)与Game Boy结合起来。KITAQ读作日语“キタキュー”;英语读音提示为 kee-tah-KYOO,音标为 /ˌkiːtɑːˈkjuː/。末尾的Q与英语字母Q同音。KITAQGB中的G和B分别按字母名称发音,整个名称读作 kee-tah-KYOO jee bee。

KITAQGB这个名称包含两层含义。Kernel-Informed Toolchain for AI-Quality Game Boy Development表达了工具链应理解目标硬件、同时支持程序员和生成式AI的目标。

另一层含义是 Kids' Imagination Transformed into Actual Quests in Game Boy Forests,意为“把孩子的想象,化为Game Boy森林里的真正冒险的工具”。这寄托了一份创作愿望:让小小的点子、涂鸦和借助AI制作的原型,变成真正可以游玩的冒险。

NORCAL 的开发与 NES 版 HACK*MATCH 有关。背景资料可参阅原作者的 NORCAL 介绍和 NES 版 HACK*MATCH 介绍。

怎样使用这套手册

这套手册沿用早期计算机手册的思路:先输入一个小程序,完成编译并看到运行结果,再逐步理解机器的工作方式。初学时不必先记住所有术语。

  1. 开发 GB 程序,从第 1 卷的第一个程序开始;开发 FC 程序,从第 4 卷开始。
  2. 通过第 2 卷或第 5 卷加入输入、图像和声音。
  3. 用 KOKURA 或 KUROSAKI 观察运行过程,再用 SARAKURA 整理诊断结果。
  4. 已经知道函数名称时,可直接使用卷内搜索或 API 字典。

语言语法、编译器内建函数、库函数和命令行操作是不同类型的参考条目。编译器分卷还附有 CPU 指令索引。GB 与 FC 中同名的函数,其参数和行为未必相同。

七卷的分工

分卷输入输出或用途
KITAQGBC 源码和素材GB/CGB ROM、映射文件和构建信息
KITAQGB 库游戏代码中的调用图像、音频、输入、通信和游戏辅助功能
KOKURAGB/CGB ROM运行、画面、音频、状态和观察记录
KITAQFCC 源码和 CHR 素材NES/FDS 输出及构建信息
KITAQFC 库游戏代码中的调用NES 图像、音频和外设功能
KUROSAKINES/FDS 镜像运行、记录和分析
SARAKURA构建信息和诊断事件报告、修复计划和复测计划

版本与验证范围

本手册以 2026年9月14日的源码为依据。参考清单记录了源码和可执行文件的哈希值。各项测试的输入、条件与验证范围请查阅验证记录。

构建成功只表示生成了 ROM;运行检查表示模拟器前进了指定帧数。像素对照、输入行为和音频检查分别记录。本手册不保证所有外设或真实主机的兼容性,日志中的警告也予以保留。

准备工作目录

示例命令使用 Windows PowerShell。C 文件请保存为 UTF-8 文本。“当前目录”就是执行命令的位置。包含空格的路径需要加引号;必要时用 & "路径" 调用可执行文件。按照 GitHub 目录布局说明,把各仓库克隆到同一个父目录下,跨项目命令从该父目录执行。

powershell
# リポジトリのルートで実行します。
New-Item -ItemType Directory -Force out | Out-Null
.\kitaqgb\kitaqgb.exe --help
.\kitaqfc\kitaqfc.exe --help

请把 game.c、game.gb 和 game.nes 换成自己的文件名。<ROM> 这类尖括号内容表示占位参数,输入时不要保留尖括号。命令通常以单行给出。Bash 的反斜杠续行方式不适用于 PowerShell。

离线阅读与打印

打开下载目录中的 index.html 即可离线阅读。样式、搜索、示例和验证图片都使用本地文件,不依赖外部 CDN。请保持整个目录结构,不要只复制某一个 HTML 文件。打印按钮会使用隐藏侧栏的打印布局。

源码摘录和实际工具输出保留原文,便于与文件和命令行结果核对。

完整游戏实例

《はらぺこしろへび》程序解说从完整游戏入手,介绍主循环、白蛇的移动算法、流程图以及 KITAQGB 库的使用方法。

选择手册

游戏编程指南