Files
Roflin 2da721d7ed scripts: add a GameCube disc-image validator for BBA dumps
./scripts/check-gcm.py dvd.iso

Checks the header (DVD magic, game/maker code, title, DOL/FST offsets,
apploader), parses the FST, then READS EVERY FILE -- because a dump that lost
data still has a perfect header, so structure alone proves nothing.  Also
reports how much of the image the filesystem accounts for, which is where a
truncated or zero-filled tail shows up, and prints SHA-1 for comparison
against a reference or a second dump.

⚠️ The zero-run heuristic was wrong in its first form and the fix is the
interesting part.  Flagging any zero run >= 32 KiB as a dropped transfer gave
7 false positives on a known-good Wind Waker dump, all in
Audiores/Stream/*.afc: streamed audio legitimately begins with silence right
after its 16-byte header.

What a dropped transfer actually looks like is a run ALIGNED to the transfer
granularity -- whole 2048-byte disc sectors, because nothing reads or writes a
fraction of a sector.  Structural silence starts and ends wherever the audio
does.  So alignment is the discriminator, not length.  Sector-aligned runs are
now a failure; unaligned ones are reported as structural with that reasoning
spelled out.

.gitignore: *.iso and *.gcm, so a 1.4 GB dump sitting in the workspace cannot
be committed by accident.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-10 15:49:05 +02:00

46 lines
780 B
Plaintext

# Generated FPGA build artifacts (regenerate with: python -m exi_bba.synth)
build/
# Simulation waveforms (regenerate by running the testbenches)
*.vcd
# Python
__pycache__/
*.pyc
*.pyo
.venv/
venv/
# KiCad
fp-info-cache
*.bak
~*.lck
*-backups/
_autosave-*
.history/
hardware/re-bba-rb/gerbers
hardware/sp1_insert/gerbers
hardware/re-bba-rb/production
*-bom.csv
*-cpl.csv
*.rpt
# FT2232H EEPROM backup written by flash_ftdi_eeprom.py at runtime
hardware/re-bba-rb/eeprom-backup.bin
hardware/re-bba-rb/re-bba-rb-eeprom.bin
# Editor / OS cruft
.DS_Store
*.swp
.history/
build_w5100test/
# GameCube test app build products
gc_bba_test/build/
gc_bba_test/*.elf
gc_bba_test/*.dol
gc_bba_test/*.map
# Disc images (dumped over the BBA) - never commit, they are ~1.4 GB
*.iso
*.gcm