Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vis-sherlockholmes-doc

A byte-level documentation of the Sherlock Holmes: Consulting Detective, Vol. I CD-ROM for the Tandy / Memorex VIS (1992, ICOM Simulations) — the first retail VIS disc this collection has opened, and the first object in it where ninety-six per cent of the bytes were a format nobody had ever described.

No disc image, no game asset and no decoded frame is published here. Only measurements, the code that reproduces them, and one hash list.

the object one .bin + .cue, MODE1/2352, 512,745,408 bytes, sha1 66a20865ab247d3917944241c94d682e23bee6ae
the medium 218,004 sectors. EDC 218,004/218,004, ECC P 218,004/218,004, ECC Q 218,004/218,004. Zero errors of any kind
the volume ISO 9660, one namespace, publisher and data preparer both ICOM SIMULATIONS, mastered 1992-11-11 22:59:12
the contents 193 files, 7 directories, 445,760,838 bytes, nine extensions
the headline 96.4344 % is .IMV — 1 h 48 m 35 s of moving picture at 15 fps with 32.1420 % of the whole disc in recorded 22,050 Hz sound
the program SHI.EXE, 0.0268 %. A real-mode Borland C++ 1991 DOS executable. No NE header, no import table, no .DLL, no .INI
the platform one file of 193 knows it is on a VISCONTROL.TAT, 483 bytes, 0.000108 %

The question this session was set

What is a VIS title, actually? The platform checklist says a VIS title is a Win16 NE application launched by Modular Windows, and says — proven by writing code that ran — that there is no real-mode DOS path on the machine. The first retail VIS disc anybody here has opened ships a Borland C++ MZ DOS executable and Microsoft's DOS mouse driver, named in that order inside Tandy's own vendor block.

The answer published in 11 is the narrow one: this disc contains no Windows executable, and one disc cannot say what the platform requires. Four readings survive every measurement; the cheapest — a DOS master with a Tandy vendor block bolted on — is the most likely and is not settled. The checklist gains a [1 of 4] column and a contradiction stated as a contradiction. Its [authoring] marks are not demoted by what a publisher shipped.

The chapters

00 predictions, written before the zip was opened — 15 inherited clauses, 75 open
01 the object, and the denominator, chosen on a rule that predates the figure
02 the technical sheet, with the command on every line
03 a perfect Mode 1 image, and 300 written sectors nobody claims
04 .IMV derived — a doubly-linked block chain that restarts on every sector boundary
05 .IMV decoded — a palette found by scoring against a control, and a picture I described wrongly
06 .IMV heard — 22,050 Hz, a third of the disc, and the ten bytes that made it knock
07 one container format for every data file, stating two quantities twice each
08 the script, the newspaper, and three cases that share a fifth of their world
09 a DOS program on a Windows console, and the field it has no room for
10 CONTROL.TAT, the fourth sample, and a field that stops meaning what the notes say
11 what is a VIS title, on a sample of one
12 96.4344 %, the head of the table, and two 1992 adventure games at opposite ends of it
13 a dump that does date itself after all, and a cast nobody can read
14 zero, across seventy-five repositories
15 66,984,570 bytes of medium, and the files that are not here
16 nine errors in the pre-briefing, and five of my own
17 99.84 % of the picture, and the exact place I stopped
18 the predictions, scored

The findings

.IMV is derived, and the derivation is checkable. Each block states its own size and the previous block's, so size[i-1] == prev[i] is a test a wrong layout cannot pass by luck. It holds on 157 of 157 files and every block in them. And the chain runs in segments — 3,879 of them — each starting on a CD sector boundary, each restating the stream header, each naming the next one's sector. That is why every one of the 157 files is an exact multiple of 2,048 bytes: not padding, structure. A 1× drive can begin decoding anywhere.

The running time comes out twice. 97,730 declared frames at 15 fps is 6,515.3 seconds; 143,276,490 bytes of audio at 22,050 Hz is 6,497.8. They disagree by 0.269 %.

One container format opens every data file on the disc — the script, the newspaper, the character tables, a 2.2 MB art bank and 8.5 MB of sampled sound, 30 files. It writes down where its records end twice, and how many there are twice. The one data file that fails, fails loudly.

And the thing this repository is most sure of is smaller than it started out. The first draft said the pictures were filmed. Measured against the disc's own bank of hand-painted art, the one frame described in detail is a drawing — and 123 of the 157 first frames open in a fade from black and cannot be judged at all. The sound is settled as a recording. The picture source is not, and 12 says so.

The tools

Seven were written here. They live in tools/ alongside the 351 inherited from the previous pipeline.

imv.py the .IMV reader — validate, census, segments, key frames, WAV, and --reject as a negative control
icomdat.py ICOM's container format, with both cross-checks
palfit.py scores candidate readings of a palette against a shuffled control, and says so out loud when none separates
flatness.py tells art drawn in a palette from a continuous-tone source, using the disc's own painted art as the control
mz.py a real-mode DOS MZ header and relocation-table reader — this collection had never read one
controltat.py the VIS vendor block, as a table instead of four paragraphs of prose. This one belongs to every future VIS disc
mctext.py the case-file censuses
vistokens.py asks a disc what it knows about the machine it is on — and prints file names and offsets, never a bare count

The family

vis-platformnotes-doc the canonical checklist. This disc is the first pressing ever to feed it
vis-gamelist-doc the index. This disc is its first entry

notes/sha1-all.txt — 193 records, sizes summing to 445,760,838, 186 distinct hashes. It exists so that anybody holding an MS-DOS pressing of this title can settle 11 in a minute.

About

Byte-level documentation of Sherlock Holmes: Consulting Detective Vol. I (Tandy/Memorex VIS, 1992, ICOM Simulations). 96.4344% of the disc is .IMV, a video format with no published description: derived, decoded, 1h48m at 15fps with 22,050 Hz PCM interleaved. And a retail VIS disc with no Windows executable at all.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages