Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dino Crisis (Italy) — Dreamcast GD-ROM, Capcom, 2000

A byte-level study of one three-track BIN/CUE dump of a European GD-ROM. No emulator was run and no instruction was executed; everything here is a statement about bytes at rest, with the command that reproduces it.

This is the second Dreamcast in this collection. The first (dc-sonicadventure-doc) left seven falsifiable questions and this disc answers four, half-answers two, and cannot answer one — and the most valuable thing it did was overturn the answer it was handed to the most important of them.


The short sheet

object 4 files, 1,201,166,751 bytes, three tracks of 2352-byte sectors
tracks 450 data + 6,100 audio (low density) + 504,150 data (high density)
product T7019D 13 · V1.000 · area E · released 20001023
volumes DINO_CRISIS · CAPCOM CO.,LTD. · CRI CD CRAFT VER.2.30
files 294 in no subdirectory + 3 text files = 681,217,379 bytes
the hole 171,491 unclaimed sectors, 34.0159 % of the track, all zero, in front of the data
sectors EDC and ECC verify on 504,600 of 504,600, zero mismatches
engine one SH-4 program, 1,745,124 bytes, not scrambled, entropy 6.9511
clocks 297 files on one instant; 44 library build stamps; one linker stamp four hours and thirty-six minutes before the master
thesis SFD + AFS = 577,107,968 = 84.7172 % of declared file bytes
languages six on a disc that declares one
names 110 people, 108 of whom no string search can find
crossings 0 of 291 hashes against 73 repositories and 52,991 hash tokens

The seven things this disc settled

  1. The IP.BIN bootstrap block is shared — 99.6893 % of 32,512 bytes identical across two publishers and fourteen months, differing in four patches: a region sentence in an eight-slot table indexed by the area letter, one library version stamp, one flag byte, and a pointer that moved because a string moved. A hash proves sameness and cannot measure difference.
  2. The 276 .DAT opened, and 102,277,632 of 102,277,632 bytes are classified. A load script of 16-byte records, padded with the ASCII string dummy header — which appears 32,361 times on a disc with no DUMMY file — then sections padded to 2,048 bytes, closing on the file size on 265 of 265.
  3. The pictures came out. size == 12 + w·h·2 on 3,141 of 3,141 members; ARGB1555 settled by rendering the Capcom logo; the indexed rule settled by 112 item icons turning from noise into weapons. And with it the Italian: «Questo gioco contiene scene violente e sanguinose» is 153,600 bytes of pixels, not a string.
  4. The seven films carry a clock the filesystem does not have — a 2,030-byte metadata packet naming their source files and their authoring minute, whose frame count agrees with an independent count on 7 of 7. The first disc's ten films carry none.
  5. The film audio is ADX, not MPEG audio — on this disc and on the first one, which makes it a correction to both.
  6. Seventy-nine seconds nobody had ever heard: the warning track is five spoken blocks in English, French, German, Spanish and Italian, and the first block is the same length as the American disc's entire track. The length of a red-book track on this platform is a count of the region's languages.
  7. 867 absolute build paths inside the executable, against zero on the first disc — and the 867th, the only one in lower case with backslashes, is c:\dino\stage\mouse.dat.

The chapters

00 Predictions, written before the disc was opened and left standing
01 The object: one disc that weighs three different numbers
02 Technical sheet: every number with the command that reproduces it
03 The two areas: a third of the disc is a hole, and the hole is in front
04 The container: 276 files with no tag, and the padding that gave them away
05 The pictures: the item icons decided the pixel format, and a human looked
06 The executable, the bootstrap and the clocks
07 The films: seven private clocks and one wrong codec label
08 The sound: 822 streams and seventy-nine seconds nobody had heard
09 The language: italiano is not on this disc, and the disc is in Italian
10 Against the first disc: the best answer is a correction
11 Against the collection: zero crossings and one middleware vendor
12 Personal data: 110 names, 108 of them drawn rather than written
13 Corrections: eleven, three and four
14 Leftovers: 351 megabytes of nothing at the front
15 What was not done, and what the third disc settles in ten seconds
16 Scorecard: the predictions marked, honestly

The hash lists

notes/ publishes five lists so a third disc can falsify this one in seconds:

  • sha1-all.txt — the four files of the dump
  • sha1-highdensity.txt — 294 files with absolute LBA and size
  • sha1-lowdensity.txt — the three text files
  • sha1-afs-members.txt — the 822 archive members
  • sha1-vendor-assets.txt — the sub-file regions that might be pressed verbatim across the platform, including a recorded absence: there is no 0GDTEX.PVR on this disc, 0 .PVR of 294, which removes it from the first disc's candidate list

The tools

340 Python files in tools/, 337 inherited from the previous session and three written here:

  • dat.py — the .DAT container, derived from these bytes. --validate before --census, five negative controls that fire, and a --render whose docstring records that the pixel format was settled by looking at pictures.
  • ipdiff.py — diffs two IP.BIN images and prints agreement, first difference, and a map of the differing runs. Four lines of idea, and it overturned the session's headline.
  • sfdmeta.py — the Sofdec 0xBF private stream, and the codec test that showed 0xC0 carries ADX.

One inherited tool was fixed: mode1.py capped two counters at 4,000 and printed the cap as a count, which had been documented and never repaired. With the cap gone the numbers are 99,300 and 404,850 and they sum exactly to the track.

Reproducing

python tools/mode1.py "Dino Crisis (Italy) (Track 3).bin" --cook _work/track3.iso
python tools/iso9660.py _work/track3.iso --extract _work/hd --lba-base 45000
python tools/dat.py --selftest && python tools/dat.py _work/hd --validate
python tools/ipdiff.py --selftest
python tools/sfdmeta.py --selftest && python tools/sfdmeta.py --bf-table _work/hd
python tools/toolscan.py tools

The dump itself is not in this repository and neither is anything extracted from it. _work/ reached 3,941,633,080 bytes during the session — the two cooked images, 294 extracted files, 822 archive members, 14 elementary streams, the first disc's track 3 re-cooked, and every rendered picture — and was deleted at the end. The figure is measured, not remembered: the first draft of this line said 4.4 GB.

About

Dino Crisis (Italy), Dreamcast GD-ROM, Capcom 2000: the IP.BIN boot block is 99.69 % shared with the first disc, 276 untagged .DAT opened to the byte, and six languages on a disc where 'italiano' counts zero.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages