Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3do-crashnburn-doc

Measurements of Crash 'n Burn (3DO, Crystal Dynamics, 1993) — a launch title, sold with the console on 4 October 1993.

One pressed CD-ROM: one track, 307,446 sectors, 629,649,408 bytes of user data, 451 files. Not a folder, not an install, not a dump of somebody's hard disk: the object measured here is exactly the object that was sold. Every number below has a command in tools/ that reproduces it and a saved run in notes/.

user data 629,649,408 bytes — the denominator for every percentage here
files / bytes in files 451 / 555,875,804 (88.2833 %)
directories 38
distinct SHA-1 444 of 451
file system Opera, not ISO 9660 — derived from the bytes, 03
sectors owned by nothing and not mastering fill 0
mastering fill (iamaduck) 35,387 sectors = 11.5100 %
directory copies that disagree 2 of 41 groups
absolute build paths 0, over 100 % of the pressing
timestamps anywhere in the file system 0 — the format has no date field
Red Book audio tracks 0
Cinepak, Data Streamer 0, in any form
recorded media 10.73 % .. 33.77 % — a band, 14
unknown formats when this started 15
unknown formats now 11, and one partly — 16

The first 3DO disc in this collection

This is the first pressing documented for this platform, so it also fills in the first row of the shared checklist at 3do-platformnotes-doc and the first entry of 3do-gamelist-doc. That checklist was written before any disc was opened, so every claim in it was marked [unverified]; this disc confirmed some, corrected others, deleted two, and left the rest marked as they were.

No asset from the disc is in this repository. No frame of the movies, no picture, no sound, no module, no byte of the image. _work/, _pre/, prompt.txt and the .chd are all in .gitignore — the object sits inside this repository's folder, and that was verified in both directions with git check-ignore -v --no-index before the first git add.

The six things worth knowing

1. A quarter of a gigabyte was hiding behind one field. The pre-briefing handed to this session reported 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. They were files. next_block in the Opera directory-block header is a block index inside the directory, not an absolute address, and four directories on this disc span more than one block. Read correctly there are 451 files and zero unowned sectors, and the sector accounting closes with no double claims. 03 · 04

2. 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. /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 that differ in 8 bytes, and only one of them can be the file the console reads. The 3DO platform notes said a disagreement would be the finding of the day. There are two. 03

3. It is a third full-motion video, in a codec the studio wrote itself. Cinepak occurs zero times, FILM zero, STRM zero — and /BIGFILE is 188 megabytes of movies with FMV_Open and FMV_DecompressFrame in the executable beside it. 7,239 frames of 128 × 96, 5-5-5 pixels, 4 × 4 blocks from a shared dictionary of 19,200, laid out in a boustrophedon that was measured rather than guessed. The container's header names five continuation files and the disc has three: EXTRA.3 and EXTRA.4 were cut. 07

4. The studio's name is on the disc twice, and neither is where anyone looked. Crystal Dynamics occurs zero times over 629 megabytes. Crystal dynamics, with a small d, occurs seven — in the instrument-name slots of seven ProTracker modules, where the person who converted the music signed the work. And (C) 1993, CRYSTAL DYNAMICS, INC. is drawn in pixels on /CNB/Glue/FMVLegal.img, the frame the movies play inside. The game's own title is on the disc only as pixels too. 09 · 06

5. A header field that is right on 30 files and wrong on 31. Every picture on this disc is LRform — the console's interleaved framebuffer order — and the pixelorder byte in the IMAG chunk says so on the 30 credits screens and says the opposite on the other 31. A decoder that trusts the field produces 31 wrong pictures out of 61. Two art pipelines and a launch schedule. 06

6. Three menu pictures called UNKOWN1, UNKOWN2 and UNKOWN3 have names. /launchme holds two string tables — twelve circuits and twelve menu pictures — in the same order, agreeing on nine. The other three fall out: UNKOWN1 is gold, UNKOWN2 is silver, UNKOWN3 is bronze. The typo has been pressed on this disc since launch day. 08

The chapters

00 predictions, written before the disc was opened — 38.0 of 58
01 one pressing: the object is the thing that was sold
02 the sheet: every number with the command that makes it again
03 the Opera file system: one field, read as an address, hid 244 megabytes
04 every sector: the accounting closes, and 11.5 % of the disc is a duck
05 two scripts calling each other in a circle, and thirty-four ARM images
06 the cel: a geometry proved to the last byte, and a field that is right half the time
07 131 movies: a codec derived far enough to see a face, and not far enough
08 twelve circuits: 57 % of the disc in one directory
09 nine and a half seconds, and nine Amiga modules that have no Paula
10 114 paths, 23 wrong about case, and two files named and never pressed
11 the sixteenth session of the protection question, and a new kind of answer
12 what is not here: no Red Book, no Data Streamer, no dates
13 a zero that could not have been anything else, and four crossings not made of bytes
14 is it a video game: a band, because a quarter of the disc is of undetermined kind
15 thirty names, drawn in pixels, published on purpose
16 what a second 3DO disc should do first
17 one wrong field, thirteen wrong numbers, and eleven of my own
18 prediction scoring, clause by clause
19 74,813,823 bytes that carry nothing, counted exactly

The tools

Written for this disc, because nothing in the collection could read it:

opera.py the Opera file system — label, block header, entry, copy list, and a negative control that must fail before anything is censused
sectormap3do.py every sector attributed to exactly one owner, with the total made to close
opercopies.py every copy the directory claims, compared byte for byte
bigfile.py the movie archive and the movie format inside it — a partial decoder, and it says so
markers.py four-character markers per file, with the chance expectation beside every count
discstr.py strings over the user data of a whole track, not over a file tree
disccontacts.py the same for contact data, counted and not printed
aiffread.py AIFF and AIFF-C from the COMM chunk, with the 80-bit rate decoded
modread.py ProTracker validated and split into score and sample, with contact data redacted at the point of output
aifstr.py the two-way cross-reference, exact and case-folded

The other 279 came from the previous session. iso9660.py, xa.py, cdxa.py and subch.py do not apply — there is a disc and it is not that disc. mzcensus.py, pecensus.py, pe.py and ne.py do not apply — the executables are ARM Image Format. protscan.py does not apply and its zero is reported as the tool read nothing, which is what it printed.

Reproducing

chdman extractcd -i "Crash n Burn (USA Korea).chd" -o _work/cnb.cue -ob _work/cnb.bin
python tools/opera.py    _work/cnb.bin --selftest
python tools/opera.py    _work/cnb.bin --list > notes/listing.txt
python tools/opera.py    _work/cnb.bin --extract _work/files
python tools/sectormap3do.py _work/cnb.bin --runs
python tools/opercopies.py   _work/cnb.bin
python tools/discstr.py  _work/cnb.bin --file notes/strings.txt
python tools/bigfile.py  _work/files/BIGFILE --member 76

chdman is MAME's. A copy lives in 3do-platformnotes-doc/bin/, gitignored there, so the next 3DO pipeline does not have to find it again.

About

Byte-level measurements of Crash 'n Burn (3DO, Crystal Dynamics, 1993), the first 3DO disc in this collection. An Opera file system reader written from scratch; 451 files, not the 326 a mis-read next_block field showed; 7,239 frames of a codec the studio wrote because Cinepak had not shipped.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages