Index of the 3DO disc documentation — one repository per pressing, plus the shared platform checklist they all feed into.
Three discs so far. Every one of these is a commercial 3DO disc opened from the volume label up: the Opera file system, the boot chain, the CEL formats, the audio DSP, and whatever the mastering left behind. No repository here contains disc images or game assets — only measurements and the code to reproduce them.
| Shared platform findings | 3do-platformnotes-doc — the canonical checklist every disc feeds into. After three discs: 12 claims [3 of 3], 41 still [2 of 2] because the third disc did not exercise them, 11 [1 of 3] and 2 [2 of 3] — measured again and different — 10 [1 of 2], 14 [1 of 1], 18 [corrected], 3 [deleted], 4 [unverified]. The third disc broke six claims that had been [2 of 2] for fourteen months |
| Disc-by-disc comparison | section 10, Baselines — it lives there and is not duplicated here. Eighteen columns, three rows, and the third row deleted three of the columns |
Listed in the order they are documented, which is normally also the order in which the checklist's questions get answered. The Saga column is filled in where a title belongs to a series that may one day earn its own index; it is empty where it does not.
| Title | Year | Studio | Saga | What it is |
|---|---|---|---|---|
| Crash 'n Burn | 1993 | Crystal Dynamics | A launch title, sold with the console on 4 October 1993. Twelve futuristic combat-racing circuits in two layouts each, wrapped in eight to twelve minutes of full-motion video. One pressed CD-ROM, one MODE1_RAW track, 307,446 sectors, 451 files in an Opera volume |
|
| Super Street Fighter II Turbo | 1994 | Capcom | Street Fighter | An arcade port, and 86.25 % of it is recorded music — 63 AIFF-C files, SDX2, 44,100 Hz stereo, fifty minutes and thirty-eight seconds, in the data track and not in Red Book. Seventeen fighters as seventeen overlays each in three directories. One MODE1_RAW track, 151,704 sectors, 373 files, and 733 Cel Control Blocks |
| Wolfenstein 3D | 1995 | Logicware / Interplay | Wolfenstein | A port of a 1992 MS-DOS game onto a disc that is 17.03 % of a 74-minute CD and a quarter mastering fill. Ninety playable maps in under one percent of it; 59.79 % is recorded music and sound, thirteen minutes of 44.1 kHz stereo; and 10.05 % is two company logos in the platform's Data Streamer, which the checklist had marked dead for two discs. One MODE1_RAW track, 56,702 sectors, 197 files, 197 distinct hashes |
Crystal Dynamics, 4 October 1993. A combat racing game, and one of the handful of titles that shipped with the 3DO Interactive Multiplayer on the day it went on sale at 699 dollars. It is the first 3DO disc documented here, so opening it meant writing a file system reader from scratch: 3DO discs are not ISO 9660, they use Portfolio OS's own Opera format, and nothing in a collection of 288 tools could read one.
629,649,408 bytes of user data. 451 files. 38 directories. 555,875,804 bytes
in files. Half the disc is the circuits — 30 .sc files, 319,483,904 bytes,
50.74 % of the pressing, and their format is not derived. A third is the movies.
And 11.59 % of it is the mastering tool's fill, which on this platform is the
repeating ASCII string iamaduck.
The measurement of the session was a correction. The disc arrived with a
pre-briefing reporting 326 files and 155,275 sectors owned by nothing, of
which 119,513 were "something else" — 244 megabytes, 38.87 % of the disc, in
eighteen runs. That number was wrong, and it was wrong because of one field:
next_block in an Opera directory-block header is a block index inside the
directory, not an absolute block number. Four directories on this disc span
more than one block, and a reader that follows the field as an address sees the
first block of each and stops. Read correctly there are 451 files and
zero sectors owned by nothing, with the sector accounting closing to the
sector and no double claims. One field, eighteen wrong numbers.
The disc is a third full-motion video, and it has no Cinepak. Cinepak,
CVID, FILM, STRM, SNDS, SHDR, CTRL and MDAG all occur zero
times over 629 megabytes — the 3DO's Data Streamer belongs to a later SDK than
this launch title was built against — and /BIGFILE is 188 megabytes of movies
in a codec Crystal Dynamics wrote themselves: FMV_Open,
FMV_DecompressFrame, FMV's CCB buffer. 7,239 frames of 128 × 96, 5-5-5
pixels, 4 × 4 blocks drawn from a shared dictionary of 19,200, laid out in a
boustrophedon — row 0 left to right, row 1 right to left — which was
measured out of the block statistics rather than guessed. The archive declares
136 members, holds 131, and names five continuation files of which the disc
carries three: EXTRA.3 and EXTRA.4 were cut and the container still asks for
them. Two opcodes in the frame stream remain underived, so the codec is
published as a partial decoder that says where it stops.
The studio's name is on the disc twice and neither place is searchable.
Crystal Dynamics occurs zero times. Crystal dynamics, with a small d, occurs
seven — inside the instrument-name slots of seven ProTracker modules, where
the person who converted the music for the studio signed the work. And
(C) 1993, CRYSTAL DYNAMICS, INC. ALL RIGHTS RESERVED. is drawn in pixels on
/CNB/Glue/FMVLegal.img, the bezel the movies play inside. The game's own
title is on the disc only as pixels too — Crash 0, Burn 0, and
CRASH 'N BURN CREDITS: on the first of thirty credits screens.
Two of the file system's own copies disagree with themselves. Opera records
every copy of a file or directory in the directory entry, so comparing them
costs one pass over 146 blocks — and CD-i took four discs and a full cross-hash
to notice the equivalent. /System/Folios names its three folios in upper
case in the first copy and lower case in the second and third; /rom_tags
has two copies differing in eight bytes, one patched and one not, and only one
of them can be the file the console reads. The disc spends 0.0319 % of
itself on copies: on this platform the redundancy is in the index, not the data,
which is the opposite of the CD-i finding.
A launch title is badly made in interesting ways. Three menu pictures called
UNKOWN1, UNKOWN2 and UNKOWN3 — with the typo — which two string tables in
the executable identify, in order, as gold, silver and bronze. A
pixelorder field that is correct on 30 image files and wrong on 31. Three
spellings of the boot file's name in an object that has to boot. Six debug
circuits pressed on a retail disc. g4InitHardare failed with the typo inside
the executable. Two shell scripts that call each other in a circle so that the
game and a playable preview of another title alternate for ever. And four
one-byte files called junk, byte-identical, existing so that four empty
directories can exist.
Recorded media: a band, 10.73 % to 33.77 %, because 53 of the movie archive's 131 members are of undetermined kind and this repository does not guess. Everything else is measured: 20 chapters, 20 saved runs, 10 tools written for this disc, and predictions written before it was opened that scored 38.0 of 58.
Capcom, late 1994. An arcade port, and the second 3DO disc documented here. It was chosen to be as unlike the first as possible — another studio, fourteen months later, sprites instead of 3D, a newer SDK — because the job of a second disc is not to be measured but to find out which of the first disc's fifty-one findings were about the platform and which were about one studio.
On the cells filled in above. Capcom occurs zero times as text over
310,689,792 bytes, and so do CAPCOM and capcom; the studio is on the disc
drawn in pixels, as PRESENTED BY CAPCOM in the seventeenth cel of
/ENDING_S/1C_NAME.DAT, and it was read by decoding the art. Street Fighter
is zero too and STREET FIGHTER II is painted six times across a background.
The year comes from the bytes as a floor and from public record for the
rest: 1995 counts zero, 1994 counts three and all three are inside the
SDK's own files, the latest being a complete compiler timestamp,
Tue May 10 21:49:54 PDT 1994, inside /System/Folios/operamath. The disc
cannot be earlier than that; it does not say how much later.
The thesis is 86.2465 %. /BGM/ holds 63 AIFF-C files — stereo, 44,100 Hz,
16-bit, codec SDX2, 50 minutes and 38.08 seconds — and that is 86.2465 % of
the user area and 93.9946 % of the bytes in files. The 2:1 ratio was derived
from the COMM chunk rather than inherited: frames × channels == SSND payload on 63 files of 63, against × 2 for the one uncompressed file on
the disc. Second-highest recorded-media figure in a table of eighteen objects,
and the only entry in the top eight that is not film or speech. It is not a
game that contains a film; it is a game that contains a record, and the game
is the seventeen megabytes left over.
And the music would have fitted as Red Book. 50:38.08 as CD-DA is 227,856
sectors; with everything else on the disc that is 236,211, 70.93 % of a
74-minute CD. So capacity is not why Capcom put an album in the data track.
The drive is: single-speed Mode 1 delivers 153,600 bytes a second, PCM stereo
at 44,100 needs 176,400 — 114.84 %, impossible — and SDX2 needs 88,200, which
is 57.42 % and leaves 43 % for a fighting game that loads a character between
every round. The executable names the mechanism itself:
CreateSoundFilePlayer, a spooler, and a buffer count.
Zero IMAG, 774 CCB , and the platform's drawing structure derived from
the bytes. The first disc's images were a chunked container holding an IMAG
descriptor; this one ships the Cel Control Block itself, 80 bytes, and 733
of them. The reading was proved by something better than arithmetic: width and
height are each stored twice, once as a word and once as a bit field inside
PRE0/PRE1, and the two agree on 733 of 733. Five pixel depths in use —
1, 2, 4, 6 and 16 — with 730 of 733 coded and 719 run-length packed,
which promotes three lines the checklist had carried as [unverified] since
before any disc was opened.
And it broke the biggest thing the first disc thought it had proved.
LRFORM is clear on 733 cels of 733; decoding in plain linear order
produces correct pictures, and the first one out was the 3DO logo. Every image
is LRform was a fact about Crystal Dynamics' art pipeline, not about the
machine.
Twenty-five files are byte-identical across the two discs. sinewave.aiff
and 24 DSP instruments, 33,932 bytes, pressed unchanged by two studios fourteen
months apart — the platform's CD-i moment, arriving on the second disc where
CD-i needed five. Two tools agree on the number. And the other 67 files exist
on both and differ, with 24 more added: a version diff of an operating system,
which no platform in this collection has ever had. The kernel shed 75,304 bytes
from one file and the SDK grew six drivers, eleven DSP oscillators and
modulators, a debugger and a filesystem tool.
The copies disagree again, and this time they say why. Five of 29 groups,
206 of 207 differing bytes a case bit with copy 0 upper-case 206 times of
206 — and the one byte that is not turned out to be a file with two
lengths: CPORT49.ROM is 1,332 bytes to one copy and 1,400 to another. The
file's own header says 1,332, and the 68 bytes in between are a terminator and
a 512-bit signature. The same 64 bytes appear appended to /rom_tags,
whose two copies disagree in exactly the fields the first disc's did, with
exactly the same values. The directory copies record the volume before and
after its signing pass, which answers a question the checklist had left open,
and which a sampling tool had printed as '4' against 'x'.
Personal data: zero, on both denominators, and for a structural reason. The
first disc's five telephone numbers were in ProTracker instrument-name slots;
M.K. counts zero here, so there are no modules and no comment fields. Fifty
minutes of AIFF-C has nowhere for a person to write. One name is published —
vertex, the RCS login in $Id: startopera,v 1.16 1994/04/05 22:18:25 vertex Exp $ — and the decision is argued rather than inherited.
87.34 % of the disc is identified, against roughly 77 % on the first, and
the largest thing still undecoded is 8 megabytes of .CHR sprite archives
whose two-level offset index is derived on 24 files of 24 and whose leaves are
not, with the four failed attempts written down. 20 chapters, 21 saved runs, 11
tools written for this disc, and predictions written before it was opened that
scored 43.5 of 60.
Logicware for Interplay, 1995. The third 3DO disc documented here, and the
one that shows what two discs' worth of rules are worth: six claims the
checklist had marked [2 of 2] turned out to be wrong, and every one of them
had gone uncontradicted since 1994.
The disc is small and mostly empty — 56,702 sectors, 17.03 % of a 74-minute CD, of which 23.60 % is the mastering tool's filler string — and the emptiness is not a decision anybody made. The checklist said the fill fraction is the complement of how full the disc is; on this one that predicts 24.6250 % and the disc has 23.5953 %. The rule had been written in bytes and had to be written in sectors: the missing 583.85 sectors are the round-up slack in each file's last block, plus the index and its copies, plus the zero tail past the declared volume. 583.85 against 583.85, difference 0.0000.
Sixty percent of it is music. Nine AIFF-C files, 44,100 Hz stereo, SDX2, thirteen minutes and 1.51 seconds, plus 42 sound effects at 11,025 Hz whose sample payloads are a multiple of 1,024 on 42 of 42 and whose containers are exactly 54 bytes on 42 of 42, so the folder's byte total falls out of the two numbers. That puts the disc ninth in a table of nineteen, and the three 3DO discs now sit second, ninth and thirteenth — three discs of one console spread across three thirds of the table.
And this is the disc that settles why the sound is in the data track. As CD-DA the whole soundtrack plus everything else would be 21.33 % of a 74-minute disc. Capacity was free by a factor of five. The constraint is the drive: a single-speed reader delivers 153,600 bytes a second, PCM stereo needs 176,400, and it cannot serve a Red Book track and read data at once.
The Data Streamer, which the checklist had marked [deleted]. Two files in
/Movies/ hold 11.6 megabytes of it. The container was derived from the bytes:
chunks of id + length, a header declaring a 20,480-byte block size that both
files are exact multiples of, a subscriber table naming the chunk types, one
padding chunk per block, and timestamps that rise monotonically across video and
audio alike. Dividing a duration the audio header states by the tick count the
chunks carry gives a 240 Hz stream clock, and the two films run at exactly
10 and 12 frames per second — numbers nothing on the disc declares.
And the codec is Cinepak. The checklist had deleted that on the strength of
CVID counting zero on two discs. The field says cvid, in lower case, and
nobody had counted it. 550 frames decoded, every macroblock accounted for, and
what they show is Interplay burned into a slab of marble and Logicware
under a blue arc — two company names that count zero as strings on the disc.
The studio's name is a picture, for the third time. id Software 0,
Logicware 0, Interplay 0, MacPlay 0, Macintosh 0. Nineteen human names,
three company names and a 1995 copyright are painted into three cels inside an
archive with no name table, and a fourth cel is a cartoon captioned with two
more. The copyright plaque also reads Macintosh Version - MacPlay, which
is the only place on the disc the Macintosh is named.
The banner screen, open since the first disc, is answered. The magic is
APPSCRN; the format is derived; the pixel order is the framebuffer's
interleaved one, established by rendering five candidates and scoring them
before anybody looked. And the picture is the SDK's own placeholder:
FICTIONAL DEVELOPER presents BOGUS TITLE, shipped unchanged on a disc sold in
a shop. The other two discs have zero occurrences of the magic over 1.08
gigabytes, so not found has become not present.
The game's own data is in a format the platform does not define. Eight files
open BRGR, 368 members, and the archive's directory ends exactly where its
first member begins on 8 of 8 with slack zero. Inside are ninety maps — the
six MS-DOS episodes named after their own title screens, plus a thirty-level
scenario in an archive called SECOND whose banner reads ORIGINAL ENCOUNTER —
and nineteen cels stored as three words of a Cel Control Block and the packed
pixels, with the other sixteen fields thrown away.
And one thing nobody was looking for. /rom_tags turns out to be a table of
32-byte records, and the record of type 0x0c carries a value that increases
monotonically across the three discs in press order. Read as seconds since 1
January 1904 — the epoch this platform already uses for its sample rates —
the three land in September 1993, January 1995 and September 1995, and the
first is twenty-five days before its disc's documented release date. The
file system has no dates and never will; the disc has one, in a file, four bytes
long.
The five things this index asked of its first disc, answered:
Settle the Opera file system against a real disc. Done, and the answer
included a correction to the checklist's own directory-record layout — the name
is at +32, not +28, and block_count at +20 was missing entirely — plus the
next_block trap above, plus the discovery that the volume label is itself a
file with a directory-entry type byte of 6.
Answer whether the copy list is real. It is, and it produced two results rather than one: the arithmetic (0.0319 % of the disc, redundancy in the index rather than the data) and the disagreement (two of 41 groups). A format that records its own redundancy also records its own inconsistency, which a discovered duplicate never can.
Count the CEL engine and DSP call sites. Done, and the question turned out to be the wrong shape for this platform. On the Amiga CD, Akiko was optional and six discs said no. On the 3DO the CEL engine is the only way to draw and the DSP the only way to make sound, so yes is not a finding. The productive question is through the folios or through the hardware, and the answer is folios — even the movie decoder hands its output to a cel control block. The question is reframed in the checklist rather than left to run for six discs.
Hash the banner screen and anything vendor-supplied. The banner screen was
not found — no image sits in this disc's root and if one exists it is not a
file. But something better turned up: /System/, 94 files and 435,110 bytes
of Portfolio OS, pressed onto the disc by the SDK's disc builder and referenced
by nothing in the game. If a second disc's AUDIOFOLIO has the same SHA-1,
this platform has its CD-i moment in two discs rather than five. The hashes are
published for exactly that.
Publish notes/sha1-all.txt. Published, 451 records — with two companions
this platform needs and the checklist now asks for: a per-member list for the
movie archive, because a third of the disc is inside one file, and a per-copy
list from the directory records, because that is how the two disagreements were
found.