Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pc-bumpy-doc

A measured description of one folder: 57 files, 743,759 bytes, 0 subdirectories, copied from the owner's drive as a 1992 download directory holding BUMPY'S ARCADE FANTASY (MS-DOS; BUMPY (C) LORICIEL 1992 printed by its own program and painted with the studio's panther on its presentation screen) — a French bouncing-ball arcade in nine levels of fifteen or twelve platforms, wrapped in a Fairlight release of 18 July 1992 with its NFO, the NFO's blank form, a BBS advert, an anti-virus receipt, a 2-byte disk key and three empty files that spell a board. The program is not packed and says almost nothing; every picture and every level sits behind a 12-byte head whose length is big-endian on a PC, and two level files were left in the clear as the key. The object is not published. What is published is what could be counted, read out of the loader, unpacked, rendered and checked — all of it from the object's own bytes, none of it from outside.

The short card

what it is a platform arcade of a red ball with eyes and blue gloves, bouncing across screens of platforms — bars, springs, spiked bars, broken ones — collecting fruit and gifts among monsters; nine worlds (teddy bears and balloons, hedgehogs in sunglasses …), each a map of rings joined by paths, each a .BUM/.DEC/.PAV triple of 15 or 12 platforms on 8 × 6 grids; a password per level and a copy protection that asks for a platform number from the manual — cracked in two bytes
title BUMPY'S ARCADE FANTASY — painted with the apostrophe on TITRE.VEC and BUMPRESE.VEC; BUMPY in the program's two menus and its file names; Fairlight typed BUMPY ARCADE FANTASY
studio LoricielBUMPY (C) LORICIEL 1992 at 1684Ch and 17DF0h of BUMPY.EXE, the video and sound menus; the panther and the word LORICIEL painted on the presentation screen; Fairlight's Loreciel is a misspelling. The people, painted on the last screen: auteur JF Streife, programmation F Spada, M Winogradoff, musique C Perrotin, graphisme I Maury, P Jarry, and R.D
year 1992 — the copyright line in the program, twice; the release 1992-07-18 by its NFO; twelve files dated June–July 1992; seventeen dated 1987-04-22 by a clock, twenty-four by a broken one (2052, 2055)
language French — the installer (Insérez la disquette, Bon amusement), the joystick errors (Erreur dans TstJoy), the file names (MONDE, TITRE, DESSFIN, FLECHE, BUMSPJEU), the credits (AUTEUR, GRAPHISME); the game's own texts English (ENTER YOUR PASSWORD, HALL OF FAME, EASY / MEDIUM / HARD)
platform IBM PC, 8086 code, Turbo C++ 1990; CGA/EGA/VGA/Tandy/MCGA/VGA256 offered, EGA and VGA in BIOS mode 0Dh 320 × 200 × 16; Ad Lib (OPL2 at 388h) and MT-32 (MPU-401 at 330h); joystick (201h) and mouse (int 33h); two floppies, a and b, or a hard disk with QUELDISK = z
files 57: 14 .VEC screens, 9 × .BUM/.DEC/.PAV levels, 2 sprite banks, 1 font, 1 MIDI, 1 Ad Lib bank, 1 program, 2 batches, 2 NFOs, 1 TheDraw .COM, 1 CPAV checklist, QUELDISK, 3 empty
bytes 743,759 — behind the 12-byte head 443,827 (59.67 %, 38 files → 812,935 unpacked), program 112,704, sprites 91,304, MIDI 35,141, SCORE.VEC 32,099, release 14,209, bank 6,748, the two plaintext levels 5,242, font 1,981, installer and QUELDISK 504
distinct sha1 55 — the empty file three times
the head u32 BE unpacked length, u32 BE unused, u16 BE method (4 = RLE with escape, 12 = bit mask over the output; bit 15 = last stage), u16 BE XOR of the five; read out of the module at 0C28h:0000 with dosdis.py; 38 of 38 close, up to three stages deep (93 in all), and the two plaintext .BUM are the shapes they close on
the screens 14 × 32,099 = 51 zero bytes + 48 DAC bytes (6-bit, into DAC 0–7 and 16–23) + four planes of 8,000; title, presentation with the panther, credits, difficulty overlay, nine worlds, the HALL OF FAME frame — all fourteen confirmed by the owner
the game 126 platforms: 194-byte records of three 8 × 6 tables (a floor row of eight 1s, a staircase diagonal) + 6 parameters; 812-byte décor records of 270 triplets; 320 × 192 four-plane backgrounds; 511 sprites (40 sizes, 16 × 16 to 48 × 27) behind a 512-entry big-endian table with 12-byte heads below the pointers; a 7 × 8 font of 86 glyphs padded to even addresses; eight passwords; seven default scores from 5,000,000 down to 500
the protection Enter the platform number: a random sprite from a 16-entry table, the manual's number from another (4, 6, 7, 5, 15 …), three tries — and at cs:4219 the entered number is written over the expected one and a jmp skips the ERROR branch nothing else reaches: 88 46 FC EB 1D where 3A 46 FC 74 1D would compare; no disk check anywhere (int 13h ×0)
the music BUMPY.MID SMF 1, 7 tracks (xylo, harpsi, bass2, bells, pompe, programs), 192 ppqn, 75 bpm, 3,863 notes, ≈ 3′45″; BUMPY.BNK Ad Lib v1.0, 129 of 160 instruments named rol000..rol128_
the release Fairlight, Cracked By: Sleepwalker, Packaged By: Grimstalk, 07/18/92; FLT.BAK the form with the fields blank (261 bytes differ); LIMITS.COM = The Outer Limits BBS, Fairlight Member Board, 313, the board the NFO lists with SysOp FlashBack; CHKLIST.CPS CPAV's record of this BUMPY.EXE, 07-17; BIO-TECH'S WORLD in three file names
crossings 0 of 55 over 116 repositories
coverage specified 22.7597 %, derived 77.2403 %, opaque 0 bytes (3 empty files), residue 0 — from 78.36 % opaque and two NFOs filed as Shift-JIS before this session
tools 605 Python files: 598 inherited (1 repaired: coverage.py's cp437 probe, fourth appearance of its defect), 7 written — five readers from listings, a MIDI walker and a bank census

The work this time was one decompressor, one blitter read as far as its palette, five readers, one repair — and a program that would not speak until its loader was followed. The codec was read whole: a head reader that swaps every word, a dispatcher that loops while bit 15 is clear, and two handlers out of eighteen — run-length behind an escape, and a bit mask that writes one chosen byte where a flag is set. Out came fourteen screens, and the first render decided sequential planes over interleaved ones; out came the title with its apostrophe, the panther, and a credits screen the owner had never reached. Then the program gave up what the pre-briefing had missed in its own string dump — BUMPY (C) LORICIEL 1992, twice — and what nobody had asked: a loader keyed to two floppies by a 2-byte file, a resource table with five files nothing opens, a copy protection built on the manual's platform numbers, and the two bytes that turn its comparison into an assignment.

The pre-briefing's figures were corrected twelve times, from 70 % to 59.67 % for the headed bytes to "no studio, no year in the program". Its five hunches score three halves, a third and a sixth, and no whole truth.

The chapters

Eight, and the count is the content's: the codec had to be one because it is 60 % of the bytes and every picture; the screens one because the title and the studio are pixels; the game one because the owner played it and the levels are what they never saw; the program one because the protection, the crack and the two-disk loader are its story; the release and the clocks one because a download directory of 1992 is its own object; and the tools one because a repair came before the first reader.

chapter what it says
01 — What this is the folder, the split, what the object says in the clear, the denominators, coverage
02 — The technical sheet every figure with its command
03 — The codec the 12-byte head, the dispatcher, method 4 and method 12, the closure on 38 of 38 and on the two plaintexts
04 — The screens the layout from the blitter and the palette loader, the fourteen renders, the title that names the game and the panther that names the studio
05 — The game nine levels in three files each, 126 platforms, the 8 × 6 grids, the backgrounds, 511 sprites, the font
06 — The program the strings, the two record tables and two floppies, QUELDISK, the copy protection and its two bytes, the ports
07 — The release and the clocks Fairlight's NFO and form, The Outer Limits, CPAV, the empty names, the MIDI and the bank, seven clocks, zero crossings
08 — Tools, predictions and calibration the cp437 repair, the seven tools, rule 0, the five hunches scored, twelve corrections, the term +9.00

Tools

605 Python files in tools\; the seven of this object and the repaired one:

tool reads closes on
bumpack.py the 12-byte compressed head, methods 4 and 12, stacked stages the XOR check on every head, the declared length of every stage, 38 of 38
vecscreen.py the 32,099-byte screen: 51 + 48 palette bytes, four planes DAC bytes ≤ 63, registers into DAC 0–7/16–23, exactly 32,099
bumsprite.py the 512-entry big-endian table, 12-byte heads below the pointers table + heads + pixels + slack = file, offsets rising, h4 a multiple of 4
carfont.py the .CAR font: 224 absolute offsets, glyphs padded EVEN the first offset = the table's end, every record 3 + (8 − top) + pad, residue 0
bumlevel.py .BUM 2 + n × 194, .DEC 2 + n × 812, .PAV 6 + 4 × 7,680 the three lengths; prints the 8 × 6 grids; renders the backgrounds
midiwalk.py, adlibbnk.py Standard MIDI (running status, meta, text names), the Ad Lib bank the chunk walk on the file; 28 + 12n + 30n on the file
coverage.py + _cp437_text, _cp437_art repaired; + 9 probes for this object 187 selftest checks

Every tool has a selftest on built specimens, refuses a directory through dirguard, and prints names through nameguard. notes\ holds the output of every command the chapters cite; the renders stay in _work\ and are described, not published.

Provenance

The folder arrived as a copy of the owner's, modification times kept; its location is not written here. INSTALL.BAT says C:\BUMPY, and that is the object's. Nothing outside the object was consulted — not Loriciel's history, not another platform's version, not a recording of the levels the owner never reached. What the bytes do not say, these documents say they do not.

About

BUMPY'S ARCADE FANTASY (Loriciel, MS-DOS, 1992) from a 1992 Fairlight download folder: the 12-byte big-endian codec read out of the unpacked loader and closed on 38 of 38 files, 14 screens rendered, 9 levels of 126 platforms, 511 sprites, a manual-lookup copy protection and its two-byte crack.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages