# TFX versions in the local collection

Comparison performed 13 October 2026. Following the comparison, the redundant
alt4 dump and DOSBox package were removed with approval. The empty alt3 directory
was also removed separately. Retained media and installations were not modified. Folder names are provenance labels, not version claims.
Dates below are ISO volume creation dates, not independently verified release dates.


## Current media locations

Each retail CD directory contains `tfx.cue` and `tfx.bin`. The separately acquired PC Plus playable demo is preserved as loose cover-disc files under `install media/cd_demo_pcplus_1994_07/files/`; its July date is the magazine issue date, not an ISO timestamp.

| Directory under `install media` | Previous name |
|---|---|
| `cd_1993_12` | Top-level `TFX.cue` / `TFX.bin` |
| `cd_1994_03` | `alt_versions/tfx_cd_alt5` |
| `cd_1994_09` | `alt_versions/tfx_cd_alt1` |

Existing installations and floppy media have also moved; see
[the current layout](../install%20media/README.md) and
[the relocation manifest](install-organisation.json).

The historical comparison below retains the original labels. Binary images were
moved without modification; CUE `FILE` references now use `tfx.bin`, preserving
all track/index metadata and existing line endings. See
[the relocation record](media-relocation.json) to map the earlier hash inventories.

## PC Plus playable demo and additional collections

The July 1994 PC Plus SuperCD package is retained as `cd_demo_pcplus_1994_07`, with a linked working layout under `installs/`. It is a genuine restricted demo with five training missions, a reduced graph and menu, distinct engine/configuration/GUS binaries, and a launcher stamped 20 March 1994 at 22:18:57. Its instructions claim the South Atlantic “Doomsday Ship”, while its menu data routes to Yugoslavia. Nine unique decoded resources are extracted; existing models, maps and music are reused.

The Xenosoft, Piper's Pit BBS, Warez House BBS and Crazy Collection acquisitions were removed after proving they supplied duplicate game content or incomplete copies. The [acquisition analysis](acquisitions-2026-10-15.md) records the demo restrictions, executable/resource differences, duplicate checks and source hashes.

## What to keep

| Copy | Finding | Recommendation |
|---|---|---|
| Original `TFX.bin` / `TFX.cue`, installed in `tfx` | CD data mastered 1993-12-15; distinct early CD code and resources | Keep as early CD baseline |
| `alt_versions/tfx_cd_alt1` | CD data mastered 1994-09-29 | Strong later-CD baseline candidate |
| `alt_versions/tfx_cd_alt4` | Exactly the same ISO filesystem bytes as alt1, in a split-track dump labelled Rev 1 | Removed after PCM comparison confirmed no substantive soundtrack differences |
| `alt_versions/tfx_dosbox_package1` | Bundled BIN **and CUE** exactly duplicate alt1; installed core executables match alt1's installer payload | Removed: disc and installed game reproducible from alt1 |
| `alt_versions/tfx_cd_alt2` | Data-only rerelease mastered 1996-10-11; adds `MANUAL.TXT`; sparse, systematic bit differences in otherwise matching 1994 game files | Removed after preserving its manual in literature/cd_1996_10; comparison records retained |
| `alt_versions/tfx_cd_alt5` | CD data mastered 1994-03-17; different installed engine, configuration executable, resources and audio dump | Keep as intermediate CD baseline |
| `alt_versions/tfx_cd_alt3` | Empty at the time of inventory | Empty directory removed |
| `alt_versions/tfx_dos_floppy` and `tfx_dos_floppy_install/TFX` | Loose eight-part floppy distribution plus its installed game; distinct earlier executables | Keep distribution and installed baseline |
| `tfx_install_old` | Same resource archive except two trailing bytes, but different executables; includes version 2.0 update notes | Keep as a patched-floppy candidate; patch provenance still to establish |
| `alt_versions/tfx_floppy_img1/disk1.img` | Only disk 1; `DISKA.DAT` exactly matches the loose floppy distribution, but `INSTALL.EXE` differs | Keep: contains a distinct installer, and is not a complete floppy set |

The three bundled floppy patch executables in `tfx_dos_floppy/tfxpat_*` are
byte-identical to `TFX Patches/TFXPAT_*.EXE`. They are duplicate patch payloads,
not evidence that the accompanying installed game has already been patched.
Patch execution has now established the lineage; see [patch results](patch-lineage.md).

Cleanup removed approximately 1.13 GiB across alt4 and the DOSBox package.
The pre-cleanup inventories retain their hashes and comparison evidence; see
[the cleanup record](version-cleanup.json) for exact file counts and byte totals.

## Engine and asset families

These sizes describe the **installed** executable from each installer payload,
not the separate `TFX.DAT` found at the root of some CDs.

| Install source | `TFX.DAT` | `START.EXE` | `CONFIG.EXE` | `DID.DAT` |
|---|---:|---:|---:|---:|
| Newly installed floppy | 812,253 | 33,776 | 276,778 | 10,493,349 |
| Archived `tfx_install_old` | 874,859 | 36,112 | 300,418 | 10,493,349 |
| Original December 1993 CD | 866,251 | 33,840 | 296,626 | 12,681,671 |
| March 1994 CD (alt5) | 833,674 | 36,288 | 282,334 | 11,450,048 |
| September 1994 CD (alt1/alt4/package) | 1,032,503 | 36,288 | 282,334 | 11,509,643 |
| PC Plus July 1994 playable demo | 833,606 | 36,288 | 280,018 | 11,308,585 |

Matching sizes alone do not imply matching contents. For example, alt5 and alt1
have identical launcher executables but different configuration executables of
the same size. The archived floppy and newly installed floppy resource archives differ only in
two bytes of the final four-byte trailer (offsets `0xa01da1` and `0xa01da2`).
All preceding bytes, including resource payloads and the directory, are identical;
the trailer is the hardware fingerprint appended by the floppy installer and checked by the original floppy launcher. The archive body is prebuilt across the eight disk packs. CD archives are copied unchanged from disc, with no hardware trailer. See [install-time assembly and launcher checks](launcher-compatibility.md#is-diddat-generated-during-installation). Their engines differ substantially.

The later CDs also contain a separate root `TFX.DAT` of 1,013,255 bytes. This is
not the executable installed from `DISK1.DAT`; comparisons must distinguish them.
The removed prepared DOSBox package used the installed 1,032,503-byte executable,
not that root file. Its custom batch selected the same later-CD graph while
explicitly setting the resource drive; the exact commands are compared below.

The old install's version 2.0 notes describe gameplay, sound, and control fixes.
They suggest a patched floppy lineage, but do not prove exactly which patch
executables produced it. The newly installed floppy provides the useful clean
comparison point for that later investigation.

## Launch scripts and selected programs

`START` is the game's own `START.EXE`. Its argument names a saved presentation/control graph inside `DID.DAT`; the `.par` suffix is implicit. The graph handles opening scenes, menus, training, campaigns and outcomes.

| Retained installation | Literal `TFX.BAT` command | Selected archive resource | Opening parser |
| --- | --- | --- | --- |
| November 1993 floppy | `start demo` | `demo.par` | `intro.par` |
| Archived floppy, established version 2.0 | `start demo` | Same `demo.par` | `intro.par` |
| December 1993 CD, version 1.12 | `start cd_demo` | `cd_demo.par` | `cdintro.par` |
| March 1994 CD, version 2.01 | `start tfx` | `tfx.par` | `cdintro.par` |
| September 1994 CD, version 2.05 | `start tfx` | Byte-identical to March's `tfx.par` | `cdintro.par` |
| PC Plus July 1994 playable demo, config 2.01 | `start cd_mag` | Restricted `cd_mag.par`, 19 functions / 378 nodes | `cdintro.par`, demo text-record layout |

For all three CDs, the extracted disc's `TFX.BAT` and installed copy are byte-identical. Both floppy installations share their batch and selected graph. The three full-game graph variants all contain the same ordered **33 function names**, covering the full game; `demo` and `cd_demo` do not select restricted demonstration editions. The floppy graph has 1,055 nodes, December's CD graph 1,076, and the later CDs' graph 1,067. Their differences include presentation and campaign-flow revisions, rather than a command-line demo/full-game switch.

### Launcher binaries and alternate arguments

There are **four distinct `START.EXE` builds** across the five retained full-game installations:

| Installation | Launcher bytes | Relationship |
| --- | ---: | --- |
| November 1993 floppy | 33,776 | Distinct early floppy build |
| December 1993 CD | 33,840 | Distinct early CD build |
| Archived version-2.0 floppy | 36,112 | Distinct patched floppy build |
| March 1994 CD | 36,288 | Byte-identical to September's launcher |
| September 1994 CD | 36,288 | Byte-identical to March's launcher |

The argument supplies a data-program name rather than selecting a hardcoded `demo`/`cd_demo`/`tfx` mode in the launcher. The actual `.par` loading and missing-parser diagnostic belong to the engine in `TFX.DAT`. Each full-game archive contains **only its default one** of `demo.par`, `cd_demo.par` and `tfx.par`: neither of the other two names resolves there. Thus the main-game command names cannot simply be exchanged while keeping the unmodified data. `demo` works for both floppy installations, and `tfx` works for both later CDs, because the corresponding graph exists in those archives. Other graph names can be supplied to select those programs; their required state and dependencies determine whether they are useful standalone entry points.

Renaming the batch or choosing another argument does not convert one edition's data into another's. Actual launcher swaps now reach the pilot-selection menu across the retained engine families, provided their sound-service interrupt agrees (`IRQBASE=96` when either component requires the older fixed `INT 60h` interface). The original floppy launcher additionally checks a machine-specific four-byte archive trailer, absent from the CD archives. This is startup compatibility, rather than a full campaign/all-soundcard validation; [the launcher comparison](launcher-compatibility.md) records the tested combinations, native hardware-stamp result and identified code changes. The Inferno preview's 33,840-byte launcher is also identical across all three CDs, but differs from the full-game December launcher despite matching its size; it has not been included in the swap tests.

The supplied update chain preserves these command lines: December patched through 2.01 still runs `start cd_demo`, and the patched floppy still runs `start demo`. All 15 retained patch-attempt records have the same batch hash afterwards as their starting installation. The patches do not replace `DID.DAT`, so updating the engine alone does not substitute the later CD graph.

Other launch arrangements:

- **Removed prepared DOSBox package:** its installed batch was `start DID=D: tfx`. `DID=D:` explicitly points resource lookup at drive D:, while `tfx` still selects the later-CD `tfx.par`. The disc inside that package carried the ordinary `start tfx` batch. The installed batch's exact bytes are confirmed by the historical SHA-256 inventory.
- **Removed October 1996 rerelease:** `start tfx`, with the same batch hash as March/September.
- **Inferno preview on all three CDs:** root `INFERNO.BAT` clears `DID`, changes into `inferno`, and runs `start trash4`. The copy inside `INFERNO/` clears `DID` and runs `start trash4` without changing directory. Both select the preview's `trash4.par`. `INFERHD.BAT` instead changes into `inferno.hd` and runs its hard-disk installer.
- **Jurassic Park TFX slideshow:** `TFXDEMO.BAT` changes into `tfx` and runs `slide`. This uses the standalone `SLIDE.EXE` picture player, without `START.EXE` or a `.par` graph; it requires a CD drive and requests CD-audio track 12. See the [retained preview](jurassic-park-preview/README.md).

[Literal batch contents, source hashes, selected-graph hashes and patch checks](launch-scripts.json). This comparison reads the retained scripts and unpacks each selected resource directly from its installation's archive; it does not modify the launch commands.

## Data-only rerelease: suspicious differences

Relative to alt1, the rerelease changes just:

- 8 bytes in TFX's `DID.DAT`;
- 2 bytes in `DISK1.DAT`, affecting the installed main program and launcher;
- 8 bytes in Inferno's `DID.DAT`;
- 13 bytes in Inferno's installer payload.

Every one of these 31 differences sets bit `0x04`, at regularly aligned offsets.
This is a corruption signature, not convincing evidence of 31 intentional game
fixes. All 18,929 Mode 1 sectors pass their EDC checks, so the changes are
already represented in the mastered payload and its checksums. This does not
prove when or why they occurred; suspected pre-mastering corruption remains an
inference, not a demonstrated bad raw-sector rip. The image also adds a manual
and omits audio tracks; those are genuine
packaging differences. Sector checksum results are recorded separately in
[rerelease-sector-check.json](rerelease-sector-check.json).

## Audio is a separate comparison

Alt1 and alt4 have **identical ISO filesystem bytes**. Their audio differs in
track/pregap boundaries and small timing offsets, but not substantively in music.
After aligning each track by approximately 35 ms, every sample in the overlapping
interior matches exactly (excluding a quarter-second at each end). Residual
mismatches are in very quiet endings, mostly within the final 30 ms; track 15's
mismatches extend across roughly the final 130 ms. This is consistent with ripping
or boundary-handling differences, rather than a different musical mix. It does
not identify the precise hardware or process responsible.

The retained alt1 therefore represents this soundtrack and game-data family;
alt4 was removed. [Sample-level results](cd-audio-comparison.json) preserve the
evidence. `tools/compare_cd_audio.py` can repeat the comparison if alt4 is restored.

The original CD and alt1 also share exact PCM passages in all 14 tracks, with small
sample offsets, but not completely identical aligned overlaps. Alt5 did not match
the same PCM anchors. That does not by itself prove different compositions or
mixes: ripping errors, offsets, and mastering differences need a separate audio
comparison. March FLACs have since been extracted; see [retained audio comparison](retained-cd-audio.md).

## Recommended analysis baseline

Use the September 1994 CD as the **reference build**, identified as 2.05 by its configuration program. The supplied CD patches take December's engine to March's 2.01 engine; they do not produce September's distinct build. The archived floppy's core executables match the clean floppy after patches 1 and 2 (2.0). See [patch lineage and execution evidence](patch-lineage.md).

Keep earlier versions for comparison. Exact gameplay changes between 2.01 and 2.05 remain to be mapped.

## Reproducing the comparison

Run from the repository root:

```sh
python3 tools/compare_versions.py
python3 tools/compare_version_details.py
python3 tools/check_rerelease_sectors.py
```

The JSON inventories below are pre-cleanup snapshots and intentionally include
the removed copies. Rerunning the tools produces inventories of the current files.

- [Full inventory](version-inventory.json): SHA-256 of source files, per-disc ISO
  hashes, disc-file hashes, raw track ranges, exact duplicates, and installed-file
  matches inside CD installer packs.
- [Detailed comparisons](version-details.json): installer component hashes,
  rerelease byte differences, and exact PCM-alignment checks.

The tools read media in place; they do not extract full additional disc copies or
modify installations. The detail tool uses the installer layouts established for
these particular copies and rejects unknown pack sizes. The ISO reader currently
supports their Mode 1/2352 data tracks and ordinary single-extent ISO9660 files.

## October 1996 copy removal

The installer rejected TFX.DAT with an incorrect-checksum error during manual installation, corroborating the payload corruption. The media and installation were subsequently removed; the unique [MANUAL.TXT](../literature/cd_1996_10/MANUAL.TXT) was preserved byte-for-byte. Historical inventories retain the original comparison evidence and paths. The cause of corruption (including whether physical disc damage was involved) remains unproven.

The three retained CDs have now had all audio tracks compared: see [retained CD audio comparison](retained-cd-audio.md). March audio is retained separately; September does not warrant duplicate FLACs.

## Complete floppy resource comparison

Both retained floppy DID archives have now been compared entry by entry with the reference CD. Their 3,460 decoded resources are identical to each other; 3,376 entries reuse CD content and 84 earlier/extra payloads are extracted separately. See the [findings](floppy-resources.md) and [comparison browser](floppy-resources/index.html), including removed waypoint authoring files whose compiled programs remain on CD. Loose installation resources are audited separately.

## Complete eight-floppy image set

The collection supplied on 15 October 2026 is retained under `install media/floppy_1993_11/`, with its filesystems extracted once in `files/`. All eight installer packs exactly match the retained loose distribution; disk 1's standard sectors and installer exactly match the previously retained single-disk image. This completes the original media set without adding a new game-data version. The retained 86F preserves six nonstandard disk-1 sectors, including four bad-data-CRC records consistent with the copy-protection label. No intermediate disk-1 IMG was created. See the [format, protection and byte-comparison findings](floppy-images.md).

The redundant loose/media extractions and standalone raw disk 1 were consolidated into this complete set. The HxC MFM representation was removed after verifying identical encoded tracks. Both installer variants remain: the loose one is unpacked and reverses the key-disk check branch. See [consolidation and installer analysis](floppy-images.md#consolidation-and-installer-differences). Existing installed-directory names retain their earlier provenance labels.

## Earlier CD resource sweep

All 6,622 entries from the December and March TFX DID archives have now been compared with September 2.05. All 116 differing December pictures are the same artwork in original ILBM encoding; scripts, text and effect-program revisions are retained separately without duplicating existing content. See the [CD resource findings](cd-resources.md) and [comparison browser](cd-resources/index.html). Inferno-demo resources are excluded.

## Engine executables, including the Inferno preview

The [eight-build engine comparison](engine-builds.md) now treats the bundled Inferno preview executable as an early TFX-engine variant. All three CDs carry that same executable. Its presentation data is non-interactive, but player flight code, three TFX aircraft presets, renderer code, sampled-effect definitions and the high-score roster remain linked in.

The six early executables have an LE bootstrap that loads three uncompressed sections described by an EOF footer. Their actual program images and relocations are now decoded and checked against the original loader instructions. All three preview presets produce the same ordered values and write sizes as the November floppy presets, through different field addresses. The study now also includes the PC Plus playable demo, whose three aircraft initialisation streams match March and September. Its distinct presentation format, save paths and Gravis helper are examined in [the demo/retail comparison](pcplus-demo/engine-comparison.md). The report also records later initialisation differences, routine matches, strings and original source hashes; September 2.05 remains the main analysis reference.
