The official ap2inf web page
If you just want to download ap2inf and don't want to read all this
rubbish, then click here. Most of what is
here is in the README file that's distributed with the archive anyway.
Welcome to the official ap2inf web page. I'm not expecting there to
be a rush of sudden interest in ap2inf with the result that thousands
of unofficial pages pop up, it's just that "ap2inf page" looked a bit
too short and unimpressive.
That's nice. So what is ap2inf anyway?
Ap2inf is a computer program that I have written. It merges two of my
areas of interest, these being old 8-bit computers and adventure games.
The program's purpose is to extract data from Infocom disk images for
the Apl2em Apple 2 emulator (and now ApplePC). The extracted data files
can then be played with interpreters on other platforms.
Oh. Where do these disk images come from?
Disk images are created by transferring the disk data from an Apple 2
to a file on another machine via a serial cable or other device. If you
have a PC and an Apple 2 with a serial card, you can use
You could also just get disk images that have already been transfered
infocom directory on ftp.apple.asimov.net.
Aha. And where do I get an interpreter?
There are interpreters available for just about every currently used
platform. Here are a few ports of ZIP (originally written by Mark Howell):
For Windows: WZIP,
For X: XZIP,
For the (gasp) Mac: MaxZip
There are lots of other interpreters in the
directory of the interactive
Okay... so where do I actually get ap2inf from?
The latest version is 1.4.2 and you can get it right
here. It contains ANSI C source, a README
file telling you how to use it and an MSDOS executable because people with
MSDOS sometimes don't have C compilers.
And how does it work?
Here's a piece of the ap2inf README file. All options to ap2inf are
specified on the command line. The format is as follows:
ap2inf [options] diskfile datafile
Diskfile is the name of the disk image file in the current directory
and datafile is the name of the data file that the program will create.
If a file of this name exists, it will be overwritten, so be careful.
diskfile and datafile are required, whereas [options] are... optional.
The options can be one or more of the following:
-h This gives help in using ap2inf. Since you're reading this file
you probably shouldn't need to use this option. The program
will not extract anything if this option is found.
-ix This is to specify the sector interleaving scheme to use. Using
-i0 will cause the program to assume that the disk has no
interleaving, which is true for most games. Using -i1 assumes
standard DOS 3.3 interleaving such as interpreter E uses.
-lxxx This option allows the user to specify the length of the data
file to extract. With most games this information is stored in
the game header, but with the older games it is not. If there is
no data length in the game header and none is specified on the
command line then the maximum possible length of 131072 bytes
is used so as to be sure not to truncate the data.
-cxxx This option allows the user to specify the checksum to use to
check the integrity of the data file. As with the data length,
this is usually stored in the game header but is absent in the
-pxxx This is to specify padding. Older interpreters used to a use
virtual memory style paging scheme due to memory constraints. Thus
data files were padded with zeros to fill up the last page to the
page size the interpreter used. Common values are 256 or 512
bytes. I'm sure that none of the modern commonly-used interpreters
need the files to be padded in this way.
Which games will ap2inf work on?
It should work on all version 3 games. It won't work on multi-disk games.
Specifically, it won't work on Bureaucracy, the only multi-disk Apple ][ game
that I've come across. :( Well, not yet...
What systems will ap2inf work on?
The program is written in ANSI C and the source is provided, so it
should (at least theoretically) be portable to any system that has an
ANSI-compliant C compiler. A list of systems that I've actually compiled
and run it on is in the README file.
If you have any questions (or answers) or anything else to talk about,
send me some email.