Everything below was measured from the disc image. Nothing is taken from a database, a box scan, or prior knowledge of the title. Where the disc does not say, it is in 12-open-questions.md with the measurement that failed to settle it.
Stated once here and used everywhere (checklist step 25).
- File offset — a byte position in a file as it sits in the ISO 9660
volume. Written
0x1234and always qualified with the file name. - Resident offset — a byte position inside a file after every container
in it has been expanded. Resident pieces are named
<file>+s<offset>for a stream found at that offset and<file>+gap<offset>for the raw bytes between streams, so an address in this document is always attached to one named piece. - Hunk offset — a byte position relative to the start of a hunk's image,
which is what
LoadSegrelocates against. An absolute constant in a hunk executable is a hunk offset if a relocation entry covers it and a literal if not;tools/relocs.py --atanswers that.
Where a number is a hunk offset it is labelled as one. Otherwise addresses are file or resident offsets as above.
Not one game. Three, and that turns out to matter for every size figure in this document.
| Tree | Files | On disc | Share |
|---|---|---|---|
/SuperFrog |
122 | 4,102,748 | 50.5 % |
/SuperStardust |
64 | 3,221,772 | 39.6 % |
/Pool (Arcade Pool) |
14 | 601,518 | 7.4 % |
system (/c, /s, /libs, /devs, /fonts, root icons) |
21 | 200,527 | 2.5 % |
| total | 221 | 8,126,565 |
Super Stardust and Arcade Pool are demos, launched by their own scripts from a front-end menu. Super Stardust is three separate programs run in sequence.
volume identifier SuperFrog_AGA
volume set identifier SuperFrog_AGA
publisher identifier Team 17
data preparer Kenny Grant - ISOCD 1.04 by Pantaray, Inc. USA -
application identifier s/startup-sequence
system identifier CDTV
creation date 1994-08-24 12:17:15 +0
CATALOG 5022358170384 (a real EAN-13)
- Publisher: Team 17. Stated by the disc, not inferred.
- Year: 1994 for the compilation master. The game itself is older — see 10-floppy-ancestry.md, which recovers the three-floppy layout of the earlier release from inside the CD executable.
- Version:
$VER: T17MENU 39.1 Kenny G (23.07.94)on the front-end menu, and$VER: T17Man 1.0 (9.8.94)on the document viewer. The game engineSuperFrogCDcarries no$VER:and no bare build banner — see 09-text.md. - Author: the disc names exactly one person, Kenny Grant — and it names
him twice, in the ISO preparer field and in the menu's own
$VER:string asKenny G. He is the mastering operator and the author of the front end. Nobody who wrote the game is named anywhere in the filesystem. - The system identifier says
CDTV, notCD32, on a disc whose volume name ends_AGA.
| Document | What is in it |
|---|---|
| 01-disc-and-filesystem.md | Image geometry, PVD field by field, sector map, the 32-sector run, the preparer result |
| 02-tm-block.md | The .TM trademark block and what it says about tool-versus-label |
| 03-timestamps.md | Two calendar days, three bursts, and a root directory dated a week early |
| 04-boot-chain.md | Startup-sequence, the menu that writes its own script, all five scripts read in full |
| 05-compression.md | 158 Imploder streams, a ninth container, nesting depth, the three container forms |
| 06-executables.md | Hunk structure, relocation density, the dispatch table, the two-build diff done properly |
| 07-graphics.md | 320×256 five-plane display, stored copper lists, blitter geometry, tile layout, no C2P |
| 08-audio.md | No Red Book track; 34 modules in a format the checklist had not seen |
| 09-text.md | 1.05 % / 0.50 %, four languages in correct Latin-1, and a shipped markup language |
| 10-floppy-ancestry.md | The 1993 three-floppy layout, recovered exactly from the CD binary |
| 11-label-comparison.md | Superfrog against The Speris Legacy, the other Team 17 disc |
| 12-open-questions.md | What is still unresolved, with the measurement, and the predictions table |
The band's ceiling breaks, on one of its two readings. Superfrog alone is 4,102,748 bytes on disc and 13,336,690 resident — 84,993 bytes and 0.64 % above Marvin's 13,251,697, which had been the maximum across fifteen discs. Read on disc it is 4.10 MB and sits comfortably inside the band. So the two readings now disagree about the same disc for the first time, which is worth more than either number alone. Full arithmetic in 05-compression.md.
The cruncher follows the label, and the mastering tool does not. Two
predictions were written before either was measured and they point in opposite
directions. Superfrog packs with the Imploder, exactly like The Speris
Legacy, the other Team 17 disc — so the "cruncher follows the label" reading now
spans two labels instead of one. But its .TM block is byte-identical to the
twelve discs cut with the same tool and not to Speris's — so the .TM follows
the tool. Same disc, same label, opposite answers. See
11-label-comparison.md.
The floppy release, recovered byte-exact. SuperFrogCD carries four
parallel vocabularies of the same 85 asset names — SDDISK1:, DF0:, DF1:,
DF2:. The union of the three floppy devices is exactly the SDDISK1 set, zero
difference either way, so the disk-to-asset assignment of the earlier release is
readable from the CD binary: disk 1 common, disk 2 worlds 1–3, disk 3 worlds
4–6, with four files deliberately duplicated across disks to avoid a swap.
10-floppy-ancestry.md.
A markup language, shipped in source with its comments. The four manual
files are not data. They are scripts for an in-house viewer, T17Man, in a
language with eleven directives, # comment banners, named asset bindings and a
font table. All twelve asset references resolve to files that are on the disc.
09-text.md.
A build-machine assign left in 26 shipped files. Every level map carries
@SDIFF:<level>-IFF at resident offset 0xAF, naming the IFF artwork it was
built from. SDIFF: is created by no script on this disc and none of the eight
targets shipped. The assign is spelled three different ways across the files —
SDIFF 32 times, sdiff 10, Sdiff 10.
Two builds that a byte diff calls unrelated. MAINDEMO1 and MAINDEMO2
share zero end-aligned bytes and diverge at code offset 0x24. Mask the
relocated longwords and they agree for 6,083 bytes, then differ by a single
immediate: #$0001 against #$0002. Method note for open item 23 in
06-executables.md.
A ninth container format. Nine files in /SuperStardust/CRM begin PaCK.
The 14-byte header is validated on all nine — 14 + packed == filesize every
time — and on the four with a sibling in RAW/ the declared unpacked size
equals that sibling's byte count exactly. The codec itself is not decoded;
that is open question 3.
A one-byte video-mode difference, and it is a DisplayID. T17Man and
T17Man.lace are both 24,172 bytes and differ in ten bytes across two runs: the
$VER: date, and one byte turning SA_DisplayID from $00029000 (PAL:HighRes)
into $00029004 (PAL:HighRes-Interlaced). Neither is NTSC.
- No Akiko. Zero pointer loads of
$00B80000,$00B80030,$00B80038,$00B8003C; zero$C0DE0000. All four figures reported in 07-graphics.md. - No C2P. The six C2P constants appear 42,017 times as data and 37 times as
an
andi.l/eori.limmediate — but only$55555555and$AAAAAAAA, never$F0F0F0F0,$0F0F0F0F,$CCCCCCCCor$33333333. A converter needs the whole ladder. The frame is planar in planar, the ninth such disc. - No save system.
libs/nonvolatile.libraryships and no game binary mentions it. Superfrog on CD32 does not save. - No bytecode VM of the Universe kind. What is there instead is a 64-way type dispatch over object records — five tables, 320 slots, 24 distinct handlers, 82.8 % of the slots pointing at one shared default.
- No little-endian IFF. All 20
FORMs walk correctly big-endian, none little-endian. A clean negative on step 35. - No MS-DOS epoch. Zero 1980 timestamps, zero 1978. Two calendar days total.
- No empty directories, and no
.infofile shared with any disc in the set.