# TFX CD extraction and sector audit

The supplied BIN/CUE describes one Mode 1 data track and fourteen CD audio tracks.
The ISO identifies the volume as **TFX**, publisher **OCEAN**, and records its
creation as **15 December 1993, 11:13:05** (as stored, without timezone conversion).
It was prepared with the CEQUADRAT ISO 9660 formatter.

## Extracted files

- Data-track ISO (previously generated; not currently retained): 19,055 × 2,048-byte payloads,
  including 453 zero-filled sectors after the 18,602-sector declared filesystem.
  The audio pregap is excluded.
- [Audio directory](../extracted/cd_1993_12/audio/): tracks 02–15, lossless FLAC at **level 8**,
  the encoder's highest standard compression preset; 44,100 Hz, stereo, 16-bit.
  Tracks follow the supplied CUE's INDEX 01 boundaries exactly. No normalisation,
  resampling, silence trimming, or drive-offset correction was applied.
- `track-02-pregap.flac` separately preserves the 150 sectors between the last
  Mode 1 sector and track 02's INDEX 01. It is two seconds long, mostly silent;
  its last 459 stereo sample frames (approximately 10.4 ms) are nonzero.
  This is not an additional indexed track in the supplied CUE.

No intermediate WAV files or duplicate audio archives are retained. The original
BIN and CUE are unchanged.

## Verification and findings

Every one of the **19,055 Mode 1 sectors** was checked:

- Correct 12-byte synchronisation pattern and Mode 1 identifier.
- Correct sequential BCD sector address, including the standard 150-frame offset.
- Valid 32-bit EDC against the header and payload.
- All eight reserved bytes zero.
- Both ECC P and Q parity fields match their sector contents.

The first 16 sectors' system-area payloads are zero. All 453 payload sectors beyond
the declared ISO filesystem are also zero. No unexplained information was found
in the inspected non-payload fields or these padding regions. This is a sector
format audit, not an exhaustive investigation of files or filesystem slack.

The image stores **2,352 bytes per sector**, and no separate subchannel dump was
supplied. P–W subchannels therefore cannot be investigated from these files.
The extra 304 bytes in each Mode 1 sector are headers, EDC, reserved bytes and ECC,
not subchannels. The valid parity and zero reserved bytes show no anomalies in
those fields; this does not establish what the physical disc's subchannels held.

Each FLAC was encoded with `--verify`, then independently decoded to raw PCM and
SHA-256 compared against its exact source BIN interval. All comparisons passed.
[SHA-256 manifest](disc-sha256.txt) covers the original BIN/CUE, ISO and all FLACs;
run `sha256sum -c analysis/disc-sha256.txt` from the project root to check them.
[Machine-readable audit](disc-audit.json) additionally records PCM hashes, exact
sample counts, sector boundaries and audit results.

## Audio layout

LBA ranges below are inclusive; durations are rounded for display. Sample counts
are exact stereo frames, not counts of individual channel samples.

| File | LBA range | Duration | Sample frames |
|---|---:|---:|---:|
| [track-02-pregap.flac](../extracted/cd_1993_12/audio/track-02-pregap.flac) | 19055–19204 | 00:02.000 | 88,200 |
| [track-02.flac](../extracted/cd_1993_12/audio/track-02.flac) | 19205–41212 | 04:53.440 | 12,940,704 |
| [track-03.flac](../extracted/cd_1993_12/audio/track-03.flac) | 41213–62108 | 04:38.613 | 12,286,848 |
| [track-04.flac](../extracted/cd_1993_12/audio/track-04.flac) | 62109–85513 | 05:12.067 | 13,762,140 |
| [track-05.flac](../extracted/cd_1993_12/audio/track-05.flac) | 85514–105552 | 04:27.187 | 11,782,932 |
| [track-06.flac](../extracted/cd_1993_12/audio/track-06.flac) | 105553–127009 | 04:46.093 | 12,616,716 |
| [track-07.flac](../extracted/cd_1993_12/audio/track-07.flac) | 127010–148666 | 04:48.760 | 12,734,316 |
| [track-08.flac](../extracted/cd_1993_12/audio/track-08.flac) | 148667–171627 | 05:06.147 | 13,501,068 |
| [track-09.flac](../extracted/cd_1993_12/audio/track-09.flac) | 171628–192811 | 04:42.453 | 12,456,192 |
| [track-10.flac](../extracted/cd_1993_12/audio/track-10.flac) | 192812–200403 | 01:41.227 | 4,464,096 |
| [track-11.flac](../extracted/cd_1993_12/audio/track-11.flac) | 200404–207995 | 01:41.227 | 4,464,096 |
| [track-12.flac](../extracted/cd_1993_12/audio/track-12.flac) | 207996–225936 | 03:59.213 | 10,549,308 |
| [track-13.flac](../extracted/cd_1993_12/audio/track-13.flac) | 225937–230920 | 01:06.453 | 2,930,592 |
| [track-14.flac](../extracted/cd_1993_12/audio/track-14.flac) | 230921–252025 | 04:41.400 | 12,409,740 |
| [track-15.flac](../extracted/cd_1993_12/audio/track-15.flac) | 252026–257009 | 01:06.453 | 2,930,592 |

## Filesystem notes

The plain ISO 9660 filesystem has no Joliet or Rock Ridge extension. Alongside
TFX installation data, it contains `INFERNO` and `INFERNO.HD` directories and
`TUNES/INTRO.ADL`, `INTRO.RLD`, and `INTRO.SCC`. See the [directory listing](disc-files.txt).

### Bundled Inferno preview

This is a non-interactive cinematic preview, not a playable mission demo. The
root `INFERNO.BAT` clears the `DID` environment variable, changes to `INFERNO`,
and runs `start trash4`. That directory has its own `START.EXE`, engine executable
(still named `TFX.DAT`) and `DID.DAT`. `INFERNO.HD` contains an installer and packed
payload for a hard-disk installation of the preview.

The intact December archive has **60 resources: 46 animations, seven ILBM still
pictures, four presentation graphs and three OSL music files**. There are no
3D models, terrain or mission resources. The launched `trash4.par` graph contains
52 animation nodes, seven still-image nodes, a skip-control reset and a branch;
there is no game-launch or external-command node. Every referenced visual
resource resolves inside the preview archive. Its closing card explicitly calls
it a selection of graphic sequences and music from Inferno, advertised for early
1994.

An exact decoded-content comparison against all three TFX CD archives finds one
shared resource: the DID logo animation (`anim/didt0.256` in the September TFX
catalogue, ID `7fd98535`; preview ID `79514235`). Each archive stores its own
copy; the preview does not need to read TFX's main archive. The Inferno cockpit
artwork retained in TFX's archive is a separate matter: neither cockpit drawing
program nor lower bitmap matches a resource in this preview. See the
[cockpit provenance notes](cockpits.md#retained-inferno-cockpit). This check
establishes the preview's content and packaging, without analysing the full
Inferno game.

## Reproduction

[tools/extract_disc.py](../tools/extract_disc.py) performs the extraction and audit
using Python 3 and the `flac` command-line encoder (1.5.0 for this run). It refuses
to overwrite an existing ISO; use a fresh output directory for a new extraction.
The script uses up to four concurrent audio encoders.

## Other versions

See [the version comparison](versions.md) for the alternate CD and floppy
copies, exact duplicates, installer differences, and the provisional analysis baseline.

## Preview executable versus preview assets

The cinematic-only archive does not imply a minimal movie-player executable. The preview carries a distinct early TFX-engine build, including player flight and renderer code, all three TFX aircraft presets and the normal effect/high-score tables. Its preset value writes align with the November floppy engine. See the [engine-build comparison](engine-builds.md); the full Inferno game remains a separate investigation.
