The canonical 3DO platform checklist, carried from one documentation pipeline to the next and added to by each.
Each 3DO title I document produces two things: a repository about that disc, and whatever it taught me about the format. The second kind of finding does not belong to any one title, and keeping a copy of it in every pipeline is a recipe for three copies that disagree. This repository is the single copy. Pipelines link here rather than fork it.
| Crash 'n Burn | Crystal Dynamics, 4 October 1993, a launch title sold with the console |
| Super Street Fighter II Turbo | Capcom, late 1994, an arcade port |
| Wolfenstein 3D | Logicware / Interplay, 1995, a port of a 1992 PC game |
They were chosen to be as unlike each other as possible: three studios that never spoke, twenty-seven months and two SDK revisions apart, 92.33 %, 45.56 % and 17.03 % of a 74-minute CD, and 0.32 %, 86.25 % and 59.79 % recorded sound.
Every claim carries a mark. [3 of 3] is measured on all three, independently,
with the measurements in the text. [1 of 3] and [2 of 3] mean it was
measured more than once and differed — those are the most useful lines in
the document. [corrected] leaves the wrong version visible beside the right
one, and [deleted] means a disc showed a claim was never true of this
platform.
Nothing is promoted because nothing contradicted it. Twelve claims went to
[3 of 3] and thirty-eight stayed at [2 of 2] because the third disc did not
exercise them.
Six claims marked [2 of 2] were wrong, and every one of them had gone
uncontradicted for fourteen months:
block_countis not a multiple of 2,048 blocks. It is a whole number of mebibytes — 600, 296, 110 — which in blocks is a multiple of 1,024. Two even multiples of 4 MiB had been mistaken for a rule. §2;- the relocation branch points at
ro + rw + debug, notro + rw. The first two discs shippeddebug size0 on all 127 of their images, so the two sums were the same number. 164 of 164 across three discs. §5; - compression is not decided by a size relation. The
BLat offset 0 is the test; the declared sizes are below the stored size on eleven of the third disc's twenty compressed images, which no decompressor can do. Replaced by two structural tests that separate the populations with no overlap on 37 of 37. §5; @(#)is not zero. It counts 2, in the game's own binary, in SCCS what-strings from the SDK's audio library. The first two discs simply did not link it. §5;- the four
junkfiles are not byte-identical across discs. The 1993 disc's hold0x0aand the later ones0x0d. A claim of byte-identity that was never checked with a hash. §4; - and the worst one: Cinepak was deleted on a search that could not have found
it.
CVIDis zero on all three discs; the compression field sayscvid, in lower case, and the third disc has 550 frames of it. §9.
And one explanation was deleted rather than rewritten. The second disc's seven consecutive root copies were explained by the builder puts them in whatever free space exists and this disc has one region. The third disc has one region and splits them 6 + 1. §3.
§9 went from [deleted] to a derived format. The Data Streamer exists, its
container is id + length chaining like everything else on the platform, its
SHDR declares a block size the files are exact multiples of, its timestamps
make it interleaved, and the stream clock runs at 240 ticks per second — so
the two films on that disc run at exactly 10 and 12 frames per second, which
nothing on the disc declares.
The banner screen is answered, after two discs of not found. Its magic is
APPSCRN, its format is derived, one disc of three has one, it is the SDK's
untouched placeholder reading FICTIONAL DEVELOPER presents BOGUS TITLE, and
the other two discs have zero occurrences of the magic over 1.08 gigabytes.
/rom_tags is derived: a table of 32-byte records, 3, 4 and 6 of them
across the three discs, with the signing pass patching exactly one word per
record. And one of those records is a date — three values, monotone in press
order, all three landing in 1993–1995 under a 1904 epoch, with the first
twenty-five days before its disc's documented release. §4.
A third answer to what are the graphics in. IMAG, then CCB , then
neither: the third disc's art is in an archive format the platform does not
define, holding cels with sixteen of their twenty control-block fields thrown
away. §7.
Nine questions, of which three are new. The oldest is burst and gap — 1 and
0 on 1,107 directory entries across three SDKs, including on 11.6 megabytes
of a container whose entire purpose is interleaving. The case that should have
exercised them has now arrived twice and did not.
chdman.exe and its DLLs, for extracting a CHD to a .cue and a .bin. The
notes tell you to read the CHD header by hand first anyway; it is fifteen lines
and it gives the track count with no intermediary.