TFX Research archive

Floppy resources compared with the reference CD

The comparison browser shows every floppy resource whose decoded bytes are absent from the September 1994 CD, with original downloads, CD counterparts and readable differences. The complete entry inventory accounts for every resource, including shared content. Comparison data retains the source hashes and correspondence evidence.

Both retained floppy installations contain 3,460 identical decoded archive entries, totalling 23,421,008 bytes. The archived installation has patched executables, but its DID.DAT differs from the clean floppy archive only in two trailer bytes. Those bytes belong to the install-time hardware fingerprint; the preceding archive body is copied from prebuilt disk data, not regenerated. See archive assembly and the original launcher check. It supplies no additional archive resources.

3,376 floppy entries have byte-identical decoded content somewhere in the CD archive. The remaining 84 entries, totalling 154,591 bytes, have been extracted under extracted/floppy_1993_11_loose/resources/. Of these, 69 have identified changed or renamed CD counterparts; 15 are waypoint authoring sources without an identified CD source counterpart.

Extracted family Entries What differs
Mission scripts 27 Flak coverage, messages, aircraft selection and target coordinates
Compiled actor/waypoint programs 11 Actor placement, flight routes, attacks and additional surface units
Waypoint source files 25 11 earlier versions of retained sources; 14 additional source files
Presentation programs 9 Floppy game flow and counterparts of the eight CD presentation programs
Other text 11 Two scenery authoring tables, eight translated mission-map fragments and one unnamed waypoint source
Scenery definition 1 One parameter-stream word in ss/test.ssd

There are no floppy-only model, bitmap, animation, palette, sprite, texture or music payloads in these archives: their decoded content is already present on CD. The 15 missing source resources likewise do not establish 15 missing playable missions. The compiled versions of all 14 named route sources remain on CD; the unnamed source contains briefing text also retained on CD.

Waypoint authoring material absent from CD

All 14 named source files have byte-identical compiled counterparts in the CD archive. Their comparison-browser entries link to those programs in the existing route viewer.

Floppy candidate filename Contents
waytxt/mis_101.way Yugoslavia aircraft route and three combat air patrol groups
waytxt/mis_102.way Yugoslavia raid and two patrol groups
waytxt/mis_103.way Nine routes, including F-22 raids, patrols and an F-117 raid
waytxt/mis_104.way Ten routes, including Eurofighter attacks and multiple patrols
waytxt/mis_201.way Fourteen routes with MiGs, allied strike aircraft and AWACS
waytxt/mis_202.way Eleven routes, including strike groups, a refueller and AWACS
waytxt/mis_203.way Fourteen routes, including F-117 strikes and defensive groups
waytxt/mis_204.way Thirteen routes; another strike/patrol arrangement
waytxt/mis_501.way Single Libya F-16 patrol
waytxt/miss1111.way Mixed aircraft, refuellers, SAMs and fleets; player-route and briefing annotations
waytxt/miss8888.way bom_test: radio announcements around bombing passes, GBU10/MK82/BLU109 drop instructions and a time-warp prompt
waytxt/nev_8888.way Ship routes and a placeholder briefing: visiting granny, Kwik Save, the post office and taking everything back to granny
waytxt/refuel.way Four aircraft patrol routes around the same Colombia area
waytxt/timtest1.way A player point and a three-aircraft F-22 route

The fifteenth source, identifier a3508451, remains under its identifier-based extraction path. It includes a Colombia map header and route, followed by the French OPERATION BRAS DROIT briefing describing support for bombers in Serbia. That briefing and its English waypoint annotations also occur in the CD's French mission 850 map text. The mismatched map/story context and unrecovered filename are retained without assigning it to a new campaign mission.

Numbered filenames and other hash matches remain candidates, not verified original filenames. Completing the mis_101/mis_102/mis_501 series recovered three names not directly mentioned in retained text. The compiled counterparts are identified independently with each archive's filename hash and native actor-record format.

Mission and route revisions

The 27 changed mission scripts are 501, 502, 505, 507, 513, 517, 804, 821, 822, 825, 830, 902, 923, 924, 926, 927, 928, 929, 930, 943, 946, 947, 961, 962, 970, 982 and 983. The browser provides the complete differences; examples include:

Compiled route programs change in 501, 504, 505, 510, 822, 825, 842, 848, 901, 982 and 983. The corresponding 11 retained text sources change too. Decoded actor records expose these changes without interpreting unknown operands:

In french/, german/, italian/ and spanish/, the CD versions of miss825.way and miss848.way retain the translated briefing prose but remove trailing English waypoint annotation blocks. These eight files are text fragments, rather than the complete source/compiled route programs.

Presentation programs

The floppy launcher uses demo.par; the reference CD uses tfx.par. The floppy name does not mean that this is a limited demonstration: it contains the main game/campaign flow. Its presentation references use the unprefixed filenames below.

Floppy Reference CD Comparison of decoded presentation instructions
intro.par cdintro.par Same instructions and artwork
fwsintro.par cdfwsint.par Same instructions and artwork
yugmid1.par cdyugmid.par Same instructions and artwork
busted1.par cdbusted.par CD appends the three prison stills
death1.par cddeath1.par CD adds the UN exterior animation
colintro.par cdcolint.par Text and presentation-setting revisions
somintro.par cdsomint.par Text and presentation-setting revisions
yugintro.par cdyugint.par CD adds a still and revises text, layout and timing

All nine binary programs are preserved, including the three whose decoded comparison views are unchanged. Saved parser graphs contain pointer/padding/editor bytes, so binary inequality alone does not establish extra scenes. The readable comparison omits those bookkeeping bytes, retains opaque non-visual payloads and does not claim complete behavioural equivalence. Original bytes remain authoritative.

The existing presentation player continues to show the reference CD programs. The comparison browser displays the floppy programs' decoded instructions and text; common artwork remains available in the existing media browser. These are still 320×200, 256-colour presentations, not a separate high-resolution format.

Scenery authoring differences

The floppy ss/ssinfo.fn lists 919 model names; the CD appends F117 and F22, bringing its count to 921. The corresponding models are CD additions, rather than missing floppy shapes. ss/ssinfo.h gains three part-index enumeration declarations for the QQQEFA, QQF_117A and Q_22 model families.

In ss/test.ssd, one word in parameter 0's stream changes from 0x1200 to 0x0f00. The original and decoded programs are preserved; no flight-model or geometry change is inferred from that word alone.

Loose files and provenance

The sweep also checks all 19 loose files beneath TUNES, MISSIONS, WAYBIN and WAYTXT in the two installations:

Saved games, user configuration, GRAB_*.LBM screenshots, backups and executables remain in their original installations; they are not promoted into the shipped-resource comparison. Executable patch lineage is documented separately. The incomplete disk-1 image duplicates the loose set's DISKA.DAT; its distinct installer is retained as media, rather than counted as another full resource set.

Reproduction and verification

Run from the research root:

python3 tools/compare_floppy_resources.py
python3 tools/check_floppy_resources.py

The comparison decodes every DID entry from both floppy installations and the reference CD, checks the CD extraction against its archive, and uses SHA-256 plus byte equality to identify shared payloads across the complete archive. It resolves filename hashes using each archive's own directory/extension tables: .par and .dir exchange extension codes between floppy and CD, so raw identifiers alone are insufficient for pairing files. Known parser counterparts are paired through their game-flow references.

The delta manifest stores all 3,460 entry indices, offsets, stored/decoded hashes and content paths. Shared content paths point into the existing CD extraction; the other paths point to the 84 extracted floppy files. The second floppy resource set is checked independently before sharing this extraction. The checker reopens the source archives and verifies every manifest payload and loose-file extraction. Original media and installations are read-only inputs.