1. Directory
  2. Apple II Textfiles
  3. a2img.fmt
Path: news1.icaen!news.uiowa.edu!news1.chicago.iagnet.net!iagnet.net!howland.erols.net!newsfeed.internetmci.com!!news-was.dfn.de!news-fra1.dfn.de!news-ge.switch.ch!news-zh.switch.ch!elna.ethz.ch!not-for-mail
From: GUDATH@EZINFO.VMSMAIL.ETHZ.CH (Henrik 'Ratte' Gudat)
Newsgroups: comp.emulators.apple2
Subject: Re: Disk Image formats
Date: 2 Dec 1997 07:25:20 GMT
Organization: F.E.Systems Emulation Technologies
Lines: 52
Distribution: world
Message-ID: <660d50$8tj$1@elna.ethz.ch>
References: <19971201040901.XAA19285@ladder02.news.aol.com> <34831774.6730572@news.bconnex.net>
NNTP-Posting-Host: ezinfo.ethz.ch
X-News-Reader: VMS NEWS 1.24
In-Reply-To: CUTjefbla@bconnex.net's message of Mon, 01 Dec 1997 20:27:03 GMT

Hi guys,

2img is a public format, so here it is : :-)

Please note that subtype 2 (raw nibbles) has not been further discussed and is
undefined as of this writing.

typedef struct {
	char	magic[4];	/* "2IMG"                                  */
	char	creator[4];	/* Creator signature                       */
	word16	header_len;	/* Length of header in bytes            k  */
	word16	version;	/* Image version                           */
	word32	image_format;	/* Image data format (see below)           */
	word32	flags;		/* Format flags (see below)                */
	word32	num_blocks;	/* Number of 512-byte blocks in this image */
	word32	data_offset;	/* File offset to start of data            */
	word32	data_len;	/* Length of data in bytes                 */
	word32	cmnt_offset;	/* File offset to start of comment         */
	word32	cmnt_len;	/* Length of comment in bytes              */
	word32	creator_offset;	/* File offset to start of creator data    */
	word32	creator_len;	/* Length of creator data in bytes         */
	word32	spare[4];	/* Spare words (pads header to 64 bytes)   */
} image_header;

Format numbers:

0 = DOS 3.3-order dump of disk data. This is really only valid for
    a floppy disk image.
1 = ProDOS-order dump of the disk data. This is the only valid format
    for a hard disk image.
2 = Raw dump of the disk nibbles. This is only valid for a floppy disk


0x80000000 = Image is write protected (1 = yes, 0 = no)

Now regarding .po and .do files: these files contain chunks of 256 bytes - the
logical disk data. Important: the sectors (256 bytes) are arranged in DOS (.po)
or ProDOS (.po) order. Both OSes have a very specific sector interleaf. This
means, the disk images contain the sectors in the order as they appear under
the drive head. So, sector 0 ius the first one but sector 1 is likely to be
anywhere but the following sector. The interleaf is different fro ProDOS and 
DOS and described in DOS/ProDOS books.

I hope this helps. You can mail me if it's not clear, or post here.

- henrik


AAAAH! MY EYES! Click here if you prefer a black and white color scheme.