{
  "added_at": "2026-11-10",
  "additional_evidence_urls": [
    "https://gitlab.com/segaloco/fdsboot/-/blob/61707587905f2567650ae9a3e77c33c88905af62/Makefile",
    "https://gitlab.com/segaloco/fdsboot/-/blob/61707587905f2567650ae9a3e77c33c88905af62/.gitlab-ci.yml",
    "https://gitlab.com/segaloco/fdsboot/-/blob/61707587905f2567650ae9a3e77c33c88905af62/tools/extract.sh"
  ],
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "fdsboot is a 6502 disassembly of the Famicom Disk System boot ROM, split into disk I/O, PPU, joypad, timer, sound, interrupt and random-number routines with include files for the console and FDS registers. The ca65/ld65 build reassembles fdsboot.bin and compares its CRC with the original and with a second revision, 3DS and Wii VC builds, and GW and TWIN variants selected by assembler flags. It serves as a reference when disassembling Famicom Disk System titles.",
  "description_zh": "fdsboot 是 Famicom Disk System 启动 ROM 的 6502 反汇编，按磁盘读写、PPU、手柄、计时器、声音、中断和随机数等例程拆分源码，并附带主机与 FDS 寄存器的定义文件。使用 ca65/ld65 构建可重新生成 fdsboot.bin，并将其 CRC 与原版以及通过汇编参数选择的第二版、3DS 与 Wii VC 版、GW 和 TWIN 变体逐一比对。项目可作为反汇编 Famicom Disk System 游戏时的参考。",
  "entry_url": "https://awesomerea.org/resources/fdsboot-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/fdsboot-case/",
  "evidence_url": "https://gitlab.com/segaloco/fdsboot/-/blob/61707587905f2567650ae9a3e77c33c88905af62/README",
  "group": "cases",
  "id": "fdsboot-case",
  "json_url": "https://awesomerea.org/resources/fdsboot-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/fdsboot-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/fdsboot-case/index.md",
  "name": "fdsboot: Famicom Disk System boot ROM disassembly",
  "name_zh": "fdsboot：Famicom Disk System 启动 ROM 反汇编",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "Needs the cc65 assembler and linker (ca65, ld65) with make, or plan9port mk.",
    "The font and two data tables are extracted from the user's own boot ROM image with tools/extract.sh before building.",
    "Where the source commentary and the assembly differ, the assembly is authoritative.",
    "No licence file in the repository."
  ],
  "requirements_zh": [
    "需要 cc65 汇编器与链接器（ca65、ld65）配合 make，或使用 plan9port 的 mk。",
    "构建前需用 tools/extract.sh 从用户自备的启动 ROM 镜像中提取字体和两张数据表。",
    "源码注释与汇编代码不一致时，以汇编代码为准。",
    "仓库中没有许可证文件。"
  ],
  "targets": [
    "firmware"
  ],
  "url": "https://gitlab.com/segaloco/fdsboot",
  "verification": "source-reviewed",
  "verified_at": "2026-11-09"
}
