Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

3do-gamelist-doc

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

The discs

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

Crash 'n Burn — the write-up

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.

Super Street Fighter II Turbo — the write-up

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.

Wolfenstein 3D — the write-up

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.

What the first entry had to do

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.

About

Index of the 3DO disc documentation: one repository per pressing, plus the shared Opera-filesystem platform checklist they feed into. Empty so far - created before the first disc so that disc one has a structure to be filed into. Format archaeology only, no disc images, no game assets.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors