Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pc-simulman5-doc

Measurements of Simulman V (MS-DOS, Simulmondo, Bologna, 1993) — the fifth and last instalment of a cyberpunk adventure sold in fortnightly parts at Italian newsstands.

120 files, 2,056,643 bytes, twelve directories. Not a disc image, not a floppy set, not an archive: a folder as it sat on somebody's hard disk. Every number below has a command in tools/ that reproduces it and a saved run in notes/.

files / bytes 120 / 2,056,643 — the denominator for every percentage here
directories 12
distinct SHA-1 119 of 120
distinct mtimes 11996-12-24 23:32:00, on every file
compressed or encrypted blocks 0 of 557
absolute build paths 0, over 100.0000 % of the bytes
recorded media 0.0000 %
unknown formats when this started 16
unknown formats now 0

What this repository measures, and what it does not

It measures one folder. Not the product: four fifths of Simulman was sold on four other floppy disks and is not here, and the object says so in one place only — the 5 in the name of a directory (13).

No asset from the material is in this repository. No frame, no picture, no MIDI, no line of the game's dialogue. Only measurements and the code that reproduces them. game/, _pre/ and _work/ are all in .gitignore — the object sits inside this repository's folder, which is new in this branch and was the first thing verified, in both directions.

The five things worth knowing

1. The year is written in pixels. All 120 files carry one identical mtime, Christmas Eve 1996, which is wrong by three years. The string 1996 occurs zero times inside the bytes. The game states its own date on its title screen — © FRANCESCO CARLA' 1993, © SIMULMONDO 1993 — drawn as run-length-encoded artwork where no string search can reach it. It took a decoder and a person looking at the result. 04 · 07

2. One file is byte-identical to a file in the other Simulmondo game. NEWMIDIL.EXE, 26,137 bytes, is the same SHA-1 as 1000 Miglia's MIDI3DRV.EXE — same driver, different name, a year apart. They also share the palette format, whose header grew from two bytes to five between them, proved by arithmetic on fifteen files at three different palette sizes. Beyond those two things a racing game and an adventure by the same studio share nothing. 06

3. 58.3509 % of the object is one format with no magic number, and it opens. A container whose first offset is the length of its own offset table, a six-bit VGA palette, and a skip/copy sprite encoder. 156 pictures of 156 decode consuming every byte but the two that mark the end — a count that went from 0 to 156 when those two bytes were recognised for what they are. 07 · 08

4. The dialogue is XOR'd with a key stored in the file's own first byte. 2,304 candidate transforms were tried; 96 cleared 85 % printable and 95 of them were nonsense. The one that produced Italian is XOR with byte 0. The text writes _ for space 2,158 times against 3 — because the font's first glyph is 0x21 and there is no glyph for a space — and its last glyph is 0x97, which is CP437's ù, the last letter Italian asks for. 10

5. Nothing in it was recorded. No PCM anywhere; the music is nine MIDI sequences with zero program changes in 13,825 notes, the timbres living in 12,345 bytes appended to the driver. The pictures are drawn. 0.0000 % — the second zero in that table, and the first one measured with the object fully open rather than blind. 15

The chapters

00 Predictions, written before the object was opened — 56 clauses
01 One folder, 120 files, and a denominator that had to be chosen
02 The technical sheet: every number with the command that makes it again
03 This is not the product, and it is the only thing here that knows what year it is
04 Four clocks, one second, and a year written in pixels
05 Four executables, two compilers, and the one with its source names
06 The same file, twice, a year apart, under two names
07 58.3509 %, no magic number, and 156 pictures of 156
08 Four bits, the top sixteen colours, and a screen that is not scanlines
09 A big-endian script, a graph that closes, and an index that does nothing
10 One byte of secrecy, and a font that stops where the language does
11 Twenty-two minutes of music that never chooses an instrument
12 Nineteen bytes that reboot the computer
13 What is not here, including four fifths of the product
14 One crossing, and a zero that meant nothing
15 0.0000 %, measured with the eyes open
16 Three names, one criterion, two opposite answers
17 Open questions — six, and 3.06 % of the object unread
18 Corrections — thirteen, four of them mine
19 The predictions, scored: 42.0 of 56
20 Leftovers: 227,721 bytes, 11.0725 %, counted exactly

Reproducing

  python tools/treecensus.py game
  python tools/mzcensus.py   game
  python tools/aniread.py    game                  # 156 pictures of 156
  python tools/eleread.py    game                  # 162 sprites, and the base
  python tools/plaread.py    game --tokens --graph # the reference graph
  python tools/keyread.py    game                  # the dialogue
  python tools/midread.py    game                  # nine sequences
  python tools/twosimul.py   game "<1000 Miglia>"  # the one crossing
  python tools/toolclass.py                        # all 278, or nothing prints

Add --png <dir>, --copy <dir> or --dump <dir> to write decoded material. It goes outside the repository and stays there.

About

Measurements of Simulman V (MS-DOS, Simulmondo, Bologna, 1993): 120 files, 2,056,643 bytes, zero compressed blocks, one mtime that is wrong by three years. All sixteen unknown formats derived from the bytes; the year is drawn in pixels; one executable is byte-identical to 1000 Miglia's. Recorded media: 0.0000 %.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages