docs(phase-0): characterize MODE2 ISO9660 disc image

This commit is contained in:
Christopher Williams
2026-09-23 09:38:10 -04:00
parent 23e9a8871c
commit 14dc2b2620
3 changed files with 21 additions and 8 deletions
+8 -1
View File
@@ -9,5 +9,12 @@
| SHA-1 | `4abe30077c2b449ea68239083df7932d47ae0b69` |
| 2352-byte sectors | 294,018 exactly |
| CUE sheet | Not currently available |
| ISO9660 volume ID | `SCUS94640` |
| Logical block size | 2048 bytes |
| Volume space size | 294,018 logical blocks |
The image is ignored and must never be staged. Its SHA-1 identifies the local input only; it does not establish a redump match, track layout, or game serial. Phase 0 must determine whether a matching CUE can be recovered or whether a single-track MODE2/2352 interpretation is supported by the bytes.
## Characterization (Phase 0 T1)
The raw sector sync/header bytes identify MODE2/2352 sectors. The ISO9660 primary volume descriptor is at raw sector 16, byte offset 24: type `1`, magic `CD001`, version `1`. The volume-space size equals the full image's 294,018 physical sectors, so a 2048-byte ISO filesystem can be read directly from this BIN using a 2352-byte stride and user-data offset 24.
A CUE is **not required** for filesystem or executable extraction. Preserve or recover a matching CUE later for exact track metadata, emulator setup, and any disc-rebuild work. The image is ignored and must never be staged. Its SHA-1 identifies the local input only; it does not establish a redump match, complete track layout, or broader disc provenance.
+11 -5
View File
@@ -2,12 +2,18 @@
## Disc image
The current USA disc image is exactly 294,018 sectors of 2352 bytes. This establishes only its physical-sector size. The following remain unverified:
The current USA disc image is exactly 294,018 sectors of 2352 bytes. Phase 0 T1 verified these facts from sectors 0, 16, and 17:
- track count and track boundaries;
- MODE1 versus MODE2 sector interpretation;
- ISO9660 volume-descriptor location and filesystem layout;
- sector sync bytes are `00 FF×10 00` and the mode byte is `02` (MODE2);
- the 2048-byte user-data area begins at byte offset 24 of each raw sector;
- raw sector 16 + 24 is an ISO9660 primary volume descriptor: type `1`, `CD001`, version `1`, volume ID `SCUS94640`;
- raw sector 17 + 24 is the ISO9660 volume-descriptor terminator: type `255`, `CD001`, version `1`;
- ISO logical blocks are 2048 bytes and the PVD's volume-space size is 294,018, equal to the image sector count.
Filesystem/executable extraction may therefore read the BIN with a 2352-byte stride and offset 24 without a CUE. The following remain unverified:
- track count and track boundaries beyond the data filesystem;
- executable filename and format;
- archive, compression, audio, video, and overlay formats.
Phase 0/1 must record observations and evidence here. Do not infer format details from other Syphon Filter games or other regions.
Do not infer later format details from other Syphon Filter games or other regions.
+2 -2
View File
@@ -5,7 +5,7 @@
## Tasks
- [x] T0 — Establish the Git firewall and project-state baseline: initialize Git; place the local image under ignored `disks/`; write governance, setup, format, memory-map, and Phase 0 state documents; verify no ROM-derived material is staged; make the first governance commit.
- [ ] T1 — Characterize the local 2352-byte image safely: inspect sector 16 and determine whether an ISO9660 filesystem is present; determine whether a CUE is required; record evidence in `docs/formats.md`.
- [x] T1 — Characterize the local 2352-byte image safely: inspect sector 16 and determine whether an ISO9660 filesystem is present; determine whether a CUE is required; record evidence in `docs/formats.md`. Verified MODE2/2352, ISO9660 PVD at sector 16 + 24, volume `SCUS94640`, 2048-byte blocks, and 294,018 blocks; a CUE is unnecessary for filesystem extraction.
- [ ] T2 — Create and approve Phase 1's extraction/import plan.
## Known input
@@ -16,4 +16,4 @@
## Session checkpoint
T0 is complete: the governance-only initial commit contains no ROM-derived material; `.gitignore` excludes the disc image and generated paths. The next action is T1: inspect sector 16 safely and determine the disc filesystem/CUE requirements.
T0 and T1 are complete. The first commit contains no ROM-derived material; `.gitignore` excludes the local image and generated paths. T1 verified MODE2/2352 and ISO9660 sector-16 metadata, so Phase 1 can extract from the BIN directly. The next action is T2: create and approve the Phase 1 extraction/import plan.