References
- Paul David Doherty, Infocom Fact Sheet: http://pdd.if-legends.org/infocom/fact-sheet.txt. Section VIII covers the compilations. The Masterpieces subsection is visibly unfinished - it omits Leather Goddesses entirely and has a placeholder in the prose - so prefer disc evidence where the two disagree.
- The part numbers printed on Infocom disks and boxes are Order Codes, documented in Doherty’s Fact Sheet: a Product Code identifying the game plus a System Code identifying the platform, e.g.
IM3-CO4 is Suspect for the Commodore Amiga. Section I.1 lists the Product Code of every game; the System Code table gives AP1 Apple II, AP2 Apple Macintosh, AP3 Apple IIgs, AT1 Atari 800/XL/XE, AT2 Atari ST, CO1 C64/128, CO4 Amiga, IB1/IB2 IBM and MS-DOS, TI2 TI-99/4A and two dozen more. After the Activision merger these were replaced by Activision system codes - PD IBM/MS-DOS, TD Apple II, KD Apple IIgs, SD Atari ST, WD Amiga, DD C64/128 - which is why a late disk reads PD-IS3G-04 rather than IS3G-IB2. The four 1988 Solid Gold releases have their own Product Codes ending in G (IZ1G, IC1G, IS3G, IZ0G); Hitchhiker’s Solid Gold is the exception, sharing IS4 with the standard release, which Doherty notes explicitly. The Fact Sheet gives the components rather than an exhaustive title-by-platform table, and not every game shipped on every platform. Its System Code table is also incomplete: a dual-media Leather Goddesses grey box in this catalog carries IC-1-IB3, and the Fact Sheet lists only IB1 and IB2. Treat the table as the best published list rather than a closed set.
- Andrew Plotkin, The Obsessively Complete Infocom Catalog: https://eblong.com/infocom/. Per-game file lists with release and serial numbers, and
zcanalyze.py for reading z-code headers. It also hosts a copy of nearly every release, which makes it the reference to check before claiming a build is rare: every build this catalog has read off retail media is listed and downloadable there. Used that way it is also a verifier - all 21 stories extracted here match its copies, 14 byte-identical and 7 differing only in the platform header bytes at 0x01/0x04/0x05.
- The leaked Infocom ZIL sources: https://github.com/historicalsource. Used here for the Zork Zero border analysis.
- Mark Howell’s ztools (
txd, infodump, pix2gif): https://ifarchive.org/indexes/if-archive/infocom/tools/ztools/. Fetched and built by scripts/get-ztools.sh.
- ZCut: https://ifarchive.org/if-archive/infocom/tools/zcut11.c. Extracts a story file from an Apple II, Atari 8-bit, Commodore 64/128 or Amstrad CPC disk image, walking each platform’s on-disk layout rather than assuming the story is contiguous. It is the practical way to get a story file off original 8-bit media, and it reports the interpreter letter as a bonus. Two cautions: it needs C99 (
enum tsystem is forward-declared through a typedef and wants a small edit to build), and its “Checksum good” is the Z-machine’s 16-bit byte sum, which passes on a permuted image - verify the result independently.
- Greaseweazle: https://github.com/keirf/greaseweazle. Flux-level floppy reader used for every diskette in this catalog; its Flippy Disks wiki page covers reading second surfaces, and issues #460 (Commodore) and #473 (Apple II) document why a flippy’s reverse side reads backwards.
- Michael Sternberg, An Apple II Build Chain for Inform (KansasFest 2017): https://media.unpythonic.net/emergent-files/01765766083/apple_ii_inform2.pdf. Section 2.2 documents how Infocom’s Apple II ZIP/XZIP titles are laid out on disk - 16-sector first disk, boot code and interpreter on tracks 0-3, story from track 5, and the remainder on a second 18-sector image once the story passes 100,864 bytes. It also names the interleaving tools (
interl, interlz3, Steve Nickolas’s interlz5) and notes which releases skip interleaving. The only reference found that explains the second surface of a V5 Apple II diskette.
- S. V. Nickolas, interlz5: https://ifarchive.org/if-archive/infocom/tools/interlz5.zip, with Jeff Epler’s Python reimplementation
interl5.py alongside it. Converts a Z5 story into Apple II disk images, and its mktrk/mksec are the authoritative description of the 18-sector second surface - one D5 AA AD mark, a 4-and-4 track number, then 18 data fields at 5 + 343*n. Its interl[16] table is the DOS 3.3 interleave applied to side 1’s story area, tracks 4-34 only. Note its two-bit area reads two bytes past each sector, so the last three nibbles of every sector differ from a naive model of the encoder; Epler’s port documents the same inconsistency.
- The leaked Infocom interpreter sources,
infocom-zcode-terps: the Apple II XZIP is under apple/xzip/, and rwts.asm holds the reading half of the 18-sector format in a routine commented “READ SECTOR FROM BIG TRACK”. It finds the mark, decodes the track number, then walks sectors forward from it, which is why the 343-nibble stride is exact and no sector can be reached out of order.
- Greaseweazle issue #444: an HD 5.25” drive generates false flux transitions when reading samples as long as 12 microseconds, which is exactly what Apple GCR’s 3-cell gaps (10,020 ns) present. The maintainer’s advice -
gw read --densel L - is the single most valuable setting in this catalog: it took three Infocom 18-sector surfaces from almost readable to byte-exact from one capture each.
- IF Archive Infocom media: https://ifarchive.org/indexes/if-archive/infocom/media/. Portable conversions of the Lurking Horror and Sherlock sound files.
- Redump: http://redump.org/. This repo’s pressings of Masterpieces (disc 64685) and The Zork Anthology (disc 82144) hash-match their entries; Redump’s Infocom coverage is otherwise thin - the Lost Treasures volume 1 CDs appear absent entirely.