diff --git a/docs/disc-image.md b/docs/disc-image.md index 8af92c9..12aa01b 100644 --- a/docs/disc-image.md +++ b/docs/disc-image.md @@ -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. diff --git a/docs/formats.md b/docs/formats.md index 65a7b6e..f03fe57 100644 --- a/docs/formats.md +++ b/docs/formats.md @@ -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. diff --git a/phase-ends/CURRENT_PHASE.md b/phase-ends/CURRENT_PHASE.md index 05ead1d..30bd311 100644 --- a/phase-ends/CURRENT_PHASE.md +++ b/phase-ends/CURRENT_PHASE.md @@ -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.