A byte-level study of five CDs and one raw disc image — 3,046,644,782 bytes — in which 1,466 files of 1,533 are Microsoft's and weigh 1.744 %, one 294-megabyte archive is pressed four times and packed a fifth, the game's whole soundtrack is 4,942,458 bytes of sequence rather than a recording, and the Italian menu of a Windows game contains the sentence «Non aprire il coperchio della console.»
Nothing here is emulation, patching or preservation advocacy. It is measurement: every number carries the command that reproduces it, the seventy-two predictions were written before a container was opened and are scored whether they won or lost, and the five container formats are described in the docstrings of the tools that read them.
Nothing of the object is in this repository. The discs were copied into this
directory to be read, and .gitignore excludes them by directory name before it
excludes them by extension. git ls-files is verified line by line before every
commit. There is no personal data anywhere in the object — a search across
all 1,533 files, all 139 files inside the installer's cabinet and all 91,584
leaves of every container returns nothing. The build-machine paths that are
here (C:\ff8\Data\ita\, x:\jpcd\, /1a/proj/master/jppc/) are directories on
machines at a company, printed on a product pressed in large numbers, and are
findings.
These are one person's discs, played in 1999 and worn out by being played. The
fourth no longer reads in full: FIELD.FS, 294,164,787 bytes, is missing from
it. Chapter 05 is the proof of which of
the three surviving copies replaces it, and why the obvious one would have
destroyed the save file halfway through the game.
| title | Final Fantasy VIII, the 1999–2000 PC conversion, Italian. The disc calls itself FF8_Disc4; the registry key inside the executable calls the developer Square Soft, Inc |
| platform | Windows, Win32. Five PE32 binaries, linker 5.0 and 6.0, zero overlay bytes on all five, and a graphics library with Direct3D, OpenGL and a software rasteriser |
| the object | 1,533 files, 3,046,644,782 bytes across five disc roots after one file was restored, plus a 790,279,056-byte raw image of the French fourth disc |
| the five layers | Square 97.999 % · Microsoft DirectX 1.744 % · InstallShield 0.164 % · Eidos 0.045 % · Yamaha 0.035 % · RAD Game Tools 0.013 %. 01 |
| the inversion | 1,466 files of 1,533 are the DirectX redistributable and weigh 1.744 %; twenty files are the game and weigh 81 % |
| the studio | named once, in a registry key: Software\Square Soft, Inc\Final Fantasy VIII\1.00, four times inside FF8.exe. Eidos appears zero times in that executable and in every field that describes the product — the volume descriptor, DATA.TAG, SETUP.INI |
| the disc marker | the four files DISK1…DISK4 are two bytes each and all four are 0d 0a. Eight bytes decide which CD is running, and they are the same eight bytes |
| the archive | FIELD.FI/.FL/.FS — 2,703 records of 12 bytes, 2,703 CRLF paths, and the 2,703 names are 901 nested archives, three parallel blocks of 901, whose real leaves are 14,692 files two levels down. 06 |
| the closure | 2,703 = 2,703 names against index, 2,703 of 2,703 members decompressing to their declared size, gap 0, overlap 0 — and the same again at the inner level, and on all six archives of the installed game, 4,055 members |
| the decoder that lied | the first LZS reader read the ring at offset + 1 and passed every one of those tests. Only the bytes were wrong. A length-exact closure test does not prove a decoder correct. 20 |
| the movies | the four .PAK are 104 F8P blocks holding 208 Bink Video files, every one at 15 fps, each block carrying the same movie at 640×448 and 320×224 with equal frame counts on 104 of 104 |
| the running time | 51,782 distinct frames = 3,452.1333 s — 57 m 32.13 s of film, summed from 208 declared headers with zero frames decoded; 6,904.2667 s as stored, because everything is there twice |
| the closure again | 8·blocks + camera records + movies = file size, unaccounted 0 on all five archives |
| the port, in the data | 51,750 camera records of 44 bytes, each a 3×3 rotation matrix in the PlayStation's fixed point where 1.0 is 4096 — 14,977 of 15,997 on disc 1 have all three rows of unit length — plus two bytes of padding and an int32 translation: the console's own MATRIX, one per frame, so polygons can be composited over film |
| the port, in the source | FF8.exe carries 797 build paths, 178 distinct. 554 are C:\lib\ — tim.cpp, rsd.cpp, psx.cpp beside Direct3D, OpenGL and software back-ends — and eight are C:\FF8\Common\psx2ssi\, which is the port named after the machine it converts |
| the port, in the words | NUOVO GIOCO and CONTINUA and no third entry; the only Esci in the game is between Compra and Vendi in a shop; and around the title block sit MEMORY CARD non inserita, PocketStation non inserita, Funzione vibrazione and Non aprire il coperchio della console |
| the encoding | not ASCII. 0x20 space, 0x45..0x5E = A–Z, 0x5F..0x78 = a–z — two alphabets, which is why the first reading produced fluent Italian and was wrong about every letter |
| the music | 91 DirectMusic .sgt segments, 4,942,458 bytes, plus one .dls instrument set of 8,262,054. The soundtrack of a four-disc game is 0.5577 % of its distinct content, and the disc ships a Yamaha S-YXG update because the performance happens on the buyer's machine |
| the echo, broken | 2014 was 82.93 % filmed and 1994 was 77.81 % recorded. Here it is 46.4384 %, and almost none of it is a person: 3,452 seconds of rendered film and 348 seconds of choir. 13 |
| the descriptor that can be wrong | DATA1.HDR carries 139 MD5 digests and all 139 verify — a content-verifying descriptor from January 2000, eleven years before the storefront that this collection credited with the idea |
| the manifest that draws the layer line | LAYOUT.BIN names 17 of the 21 files in its own directory, and the four it omits are exactly the four InstallShield did not produce |
| the disc, as a disc | 336,003 sectors of 2,352; two byte-identical primary descriptors; the sector map closes at 335,827 file + 16 system + 4 descriptor + 2 + 1 + 2 + 1 + 150 = 336,003, zero unowned inside the volume, zero doubly-owned; the surplus 150 are the run-out, valid sync, MSF 74:40:03 → 74:42:02, user areas 150 of 150 all zero |
| no Macintosh | the 32,768-byte system area is 32,768 zero bytes. Second object where the absence is measured rather than deduced |
| the translation | FIELD.FL differs between Italian and French in exactly 8,109 bytes = 2,703 × 3 — ita against fre — and in nothing else. One level down, 13,441 of 14,692 leaves are byte-identical and a translation costs 21,061,476 bytes, 3.2952 %: 726 message files, 476 scripts, 32 repainted pictures |
| the one script that changed | between the December build and the January one, one leaf of 14,692 differs: rgcock3.jsm. 171 of its 2,676 opcode words, all of them the same opcode with a different literal. That rebuild reached the installer and disc 3 and not discs 1, 2 and 4 |
| the duplication | 91,584 leaves, 5,946,442,382 addressable bytes, 13,142 distinct SHA-1, 2,367,672,013 distinct bytes — 60.1834 % redundancy, against 20.449 % on the previous object |
| the leftovers | 704,628 distinct bytes of build tree inside the shipping archive: four .cnf build scripts naming x:\itcd\, four .bak backups of them still naming x:\jpcd\, four generated .c files, four Shift-JIS .h headers dated '98.8.7, a maplist.dir of 982 Unix paths under /1a/proj/master/jppc/, and a developer's debug config. Plus FIELD2.FS, 5,301,008 bytes, on one disc of one language, which is a RIFF WAVE file |
| absolute paths | 0 · 0 · 0 · 0 · 101 · 31,737. Five objects at zero, one at 101 belonging to middleware, and then this: 30,709 drive-lettered and 1,028 rooted, all of them the studio's, naming four build machines in two countries |
| the predictions | 72 clauses plus 8 named inferences, 72.92 % — method 86.36 %, content 70.49 %, inferences 8 for 8. 21 |
| 00 — the predictions | seventy-two bets placed before a container was opened |
| 01 — the object | nineteen files are the game, and 1,466 belong to Microsoft |
| 02 — the spec sheet | every number with the command that reproduces it, and the Engine |
| 03 — the volume descriptor | the sixth answer, and the first object that has two at once |
| 04 — the clocks | four years in order, and one day that explains three files |
| 05 — the file that was missing | three copies of the same size, and only two of them work |
| 06 — the container of containers | 2,703 names are 901 archives, and the leaves are 14,692 |
| 07 — the archives that are movies | F8P, a camera matrix per frame, and 57 minutes of film |
| 08 — the disc that is an image | 336,003 sectors, and where the extra 150 are |
| 09 — the two languages | a translation costs 3.2952 %, and it is measured at the leaf |
| 10 — the cabinet | 139 files, 139 MD5s, and all 139 verify |
| 11 — the executable | 797 source paths and a directory called psx2ssi |
| 12 — the menu that cannot be left | and the lid of a console that is not there |
| 13 — the music | a four-disc soundtrack in 4,942,458 bytes, and the thesis that breaks |
| 14 — the duplication | 60.1834 %, measured where the copies actually are |
| 15 — DirectX and Yamaha | 1,466 files that are 1.744 %, and six that exist twice on one disc |
| 16 — the absolute paths | 0, 0, 0, 0, 101, and then 31,737 |
| 17 — the leftovers | 704,628 distinct bytes of somebody's build tree, and a WAV called .FS |
| 18 — the tools | twenty-two, of which nine were written here and three were run to see them fail |
| 19 — open questions | two closed, three carried, and six new |
| 20 — corrections | ten of mine, seven of the briefing's, and one from the person who played it |
| 21 — prediction scoring | 72.92 %, and the method column wins for the ninth time |
An object in which the same 294-megabyte file is pressed on four CDs because that is what a machine with no hard disk needed; in which 1,466 files of 1,533 belong to Microsoft and weigh under two per cent; in which the field that names the author names the distributor; in which the language of the product is a folder on somebody's C: drive in 1999, stamped 17,395 times; and in which a menu warns against opening a lid.
How many of these 3,046,644,782 bytes are Final Fantasy VIII, and how many are the fact that somebody carried it somewhere else?
97.999 % of them are Square's. The carrying is not a separate layer — it is
C:\lib\, 554 source paths and three renderers; psx2ssi, eight more; 2,277,000
bytes of camera matrices in a console's fixed point; 1,295,931,160 bytes of film
stored twice at two resolutions; a VIBRATE.VIB; and four .bak files that
still point at x:\jpcd\. It is inside the 97.999 %, and the only reason it
can be seen at all is that nobody swept up afterwards.