The Apprentice, The Vision Factory / Philips Interactive Media International, 1994. A side-scrolling platform game for the Philips CD-i, widely held to be the best action game the console got, and the only one usually named in the same sentence as its contemporaries on other hardware.
This repository documents the European pressing, dumped as a CHD.
The disc names its own makers in three places and they do not all agree, which is the usual state of affairs and worth reading carefully.
| where | what it says |
|---|---|
| volume id | The Apprentice |
| publisher field | The Vision Factory |
| data preparer field | Tim, Luke, Luc and Arjen |
| application id | CMDS/cdi_loader |
copyright |
Copyright Philips Interactive Media International Limited 1994 |
bibliographic |
Programming by Tim Moss · Graphics by Luke Verhulst · Game design by Luke Verhulst and Tim Moss · Music by Joost Egmond |
| volume created | 1994-10-19 15:59:55 |
The Vision Factory was a Dutch studio; the publisher field carries the
developer's name rather than the publisher's, and the copyright file carries
the publisher's. The data-preparer field — which is blank on most CD-i discs,
and on two of the four previously documented ones holds the string
_ISG_CDI_TOOLS_1.6 — here holds four first names. Two of them, Tim and
Luke, are in the credits. Luc and Arjen are not, and turning them up
elsewhere on the disc took a different route entirely
(09-leftovers.md).
bibliographic also misspells the publisher: Philips Interacive Media inc., no t. Link's disc misspells the same word in the same company's name
in the volume descriptor. Typos live in the fields that were typed.
This is the first title in this series of pipelines that is not a plain data disc, and the difference matters before anything else can be read:
The Apprentice is a CD-i Ready disc. There is no data track. The entire CD-i file system — volume descriptor, path table, executables, every asset — sits inside the 69,150-sector pregap of track 1, where an ordinary audio CD player, which starts at INDEX 01, will never go. Behind it are 22 Red Book audio tracks. Put the disc in a stereo and it is a 46-minute album; put it in a CD-i player and it is a game.
The practical consequence is that a ripper follows the TOC, sees an audio track, and hands you the pregap as raw channel data: correct 12-byte sync marks and everything else still scrambled. Section 01-disc-image.md has the proof and the one-line fix.
image 279,300 sectors 62:04
CD-i area (track 1 pregap) 69,150 19.9 % of the image is the game
Red Book audio, 22 tracks 206,347 73.9 %
| region | sectors | share |
|---|---|---|
| head filler, sectors 18–2267 | 2,250 | 0.81 % |
| volume descriptors, path table, two directories | 7 | 0.00 % |
| CD-i files | 55,596 | 19.90 % |
| tail filler, sectors 57868–60117 | 2,250 | 0.81 % |
| digital silence up to track 1 INDEX 01 | 9,032 | 3.23 % |
| Red Book audio | 206,347 | 73.88 % |
The two filler regions are byte-identical to each other — the same 5,229,000 bytes of 44.1 kHz PCM written twice, once in front of the volume and once behind it. No previously documented CD-i disc does that; on all four of them the tail padding is plain zeroes.
Ninety-one files, in a root plus two directories. The program owns everything
it draws: 45 .dat containers holding 68000 code, CLUT7 and CLUT8 bitmaps,
palettes, tile maps and enemy tables, and three real-time files holding 46
minutes of ADPCM music. Nothing is streamed as video; there is no MPEG and no
Digital Video cartridge requirement.
Six numbered levels, each with an intro, three maps and an enemy file; a bonus level; five stub maps for a seventh level; and a separate Space Invaders program with its own OS-9 module and its own asset file.
| doc | contents |
|---|---|
| 01-disc-image.md | CD-i Ready, the scrambled dump, and two identical filler regions |
| 02-filesystem.md | Green Book descriptor, 93 entries, and the CD-DA attribute bit |
| 03-executables.md | Six modules, four applications, and the loader that picks between them |
| 04-symbol-table.md | cdi_app.stb — 521 named symbols, shipped by accident |
| 05-dat-containers.md | The .dat format, proved by chaining 45 files to the byte |
| 06-graphics.md | CLUT7 and CLUT8, two line pitches, palettes and tile maps |
| 07-audio-and-music.md | 22 tracks twice over, and the table that maps one onto the other |
| 08-game-architecture.md | What the symbol table says the game is |
| 09-leftovers.md | A debugger with a disassembler, an NVRAM switch to turn it on, and twenty names |
| 10-cross-disc.md | What this disc shares, byte for byte, with other CD-i titles |
| 11-open-questions.md | What is measured, what is inferred, what did not close |
Inventories that are too long to read inline live in ../notes/.