Skip to content

Latest commit

 

History

History
91 lines (75 loc) · 5 KB

File metadata and controls

91 lines (75 loc) · 5 KB

Overview

Merlin's Apprentice, Philips Interactive Media of America, 1995. A puzzle game designed and directed by Cliff Johnson — the author of The Fool's Errand — and the only CD-i title he made.

This documentation describes the European pressing, dumped as Merlin's Apprentice (Europe).bin / .cue: one CDI/2352 track of 131,610 sectors, 29:14, 39.5 % of a CD.

What the disc is

Eighteen entries in a flat root. No directories.

Volume identifier MERLINS APPRENTICE
Publisher PHILIPS INTERACTIVE MEDIA OF AMERICA, 1994
Data preparer _ISG_CDI_TOOLS_1.6
Application identifier cdi_merlin
Volume created 1995-01-31 13:57:20
Executable cdi_merlin, 139,264 B, one OS-9/68000 module, edition 7

Where the 309 MB goes:

sectors MB share
real-time video and audio 66,245 154.0 50.3 %
real-time bit-rate padding 50,416 117.2 38.3 %
BOLT libraries (three identical copies) 10,338 24.0 7.9 %
tail padding 2,258 5.2 1.7 %
pre-file-system region 2,251 5.2 1.7 %
program, symbols and animation table 79 0.2 0.1 %
file system 2 0.0 0.0 %
the three text files 3 0.0 0.0 %

Nothing on the disc is unaccounted for. Between the path table and the tail there is not one free sector.

The five things worth knowing

The linker's symbol file shipped. cdi_merlin.stb is 19,752 bytes in the root that nothing on the disc names and the program never opens. It is an OS-9 Data module holding the complete global symbol table of the link: 887 symbols with their source-level names, covering the game, the C runtime and the OS-9 system library. It was written at 13:57:18 on 31 January 1995; the executable beside it is stamped 13:57:19 and the volume descriptor 13:57:20. Three seconds, one build, and the debug output went onto the glass master with everything else. See 04-symbol-table.md.

The whole game falls out of those symbols. Eight puzzle engines, 27 named puzzles and three potions, recovered by intersecting symbol addresses with string offsets — including a BOSS_GetCheatMode / BOSS_SetCheatMode pair. See 08-game-architecture.md.

The engine has a name and a credit. BOLT, in ASCII, at the head of boltlib0.blt; InitBOLT, OpenBOLTLib, GetBOLTGroup, BOLTAllocType in the symbol table; and, in the disc's own bibliography.txt, BOLT Engineering Support: David Todd, Ken Jordon. The container is fully mapped here: 129 groups, 7,703 members, chained end to end with zero breaks. See 05-bolt-library.md.

The pre-file-system region is the same recording as on two 1993 discs. Descramble sectors 19–2,268 and the 5,229,000 bytes hash to a0ed87f2e98b43f91281d16390fb178b — byte-identical to Origami (Netherlands, 1993) and Link: The Faces of Evil (USA, 1993). Merlin was mastered in 1995, which pushes that authoring-chain artefact two years further than the CD-i platform notes had it. See 01-disc-image.md.

help.rtf is a jukebox and says so. Eight audio channels whose first sectors are 24, 23, 22, 21, 20, 19, 18, 17 — a perfect round-robin — carrying 25.2 minutes of narration, of which the game plays one channel. The symbol table calls the API TC_Open_Jukebox, TC_Play_Jukebox_Selection, TC_Is_Jukebox_Playing. See 07-audio.md.

Contents

Doc Contents
01-disc-image.md The track, and 5.2 MB of speech in front of the file system that three unrelated discs now share
02-filesystem.md Green Book descriptor, eighteen entries, and three text files carrying SCCS keywords and the full credits
03-executable.md cdi_merlin: one module, CRC-clean, and what sits in front of the code
04-symbol-table.md cdi_merlin.stb, 887 symbols, and the address model that proves it
05-bolt-library.md The BOLT container, mapped to the byte, and a compressor that barely compresses
06-realtime-files.md Eight real-time files, 89 animations, and the four-byte table that indexes them
07-audio.md Level B ADPCM, the eight-channel help jukebox, and the one stereo animation
08-game-architecture.md Eight engines, 27 puzzles, three potions, the save format, and the cheat flag
09-leftovers.md The archaeology: a shipped symbol file, a Traffic Cop, a Kludge, and a diagnostic that shouts
10-open-questions.md What is measured, what is inferred, and what did not resolve
notes/ Full inventories: files, symbols, BOLT groups, strings
cdi-platformnotes-doc Platform checklist — what to look for on any CD-i disc. Shared by every CD-i pipeline; this repo links it rather than forking it