In order to write this program, I need information about disk image formats, as
well as the format of DOS and ProDOS disks. My quest for this info up to this
point has been rather unsucessful.
If anyone would care to post, email, or direct me to any relevant information,
it would be much appreciated.
Tom "Cowgod" Greene
thec...@aol.com
cow...@rockpile.com
>I am attempting to write a program which will be sort of a "File Manager"
>utility for DOS 3.3 and ProDOS disk images. I hope to have support for
>importing and exporting files, cataloging disks, as well as standard file
>maintainence functions such as delete, rename, etc.
Me too. I just haven't had time to look at for about a month. I
pretty much have everything working with ProDOS disks but still have
to add DOS 3.3 support.
>In order to write this program, I need information about disk image formats, as
>well as the format of DOS and ProDOS disks. My quest for this info up to this
>point has been rather unsucessful.
Good luck. I asked this same question several months ago and didn't
hear anything back. Come to think of it, it may have been in August
and people might have been on vacation.
Except for nibble images, most, if not all, disk images are just the
raw sectors from the disks. The only thing you need to know are, what
order the sectors are in and what information is in the header if it
has one. The latter is what I've been trying to find. The header
format for .XGS and .2MG files.
>If anyone would care to post, email, or direct me to any relevant information,
>it would be much appreciated.
If you do get some information could you please let me know as well.
If I find this information first, I'll send it your way.
=== I've had enough SPAM. Cut the obvious from my address to email me. ===
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
image.
Flags:
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
er, DOS is of course .do
- henrik
>Hi guys,
>
>2img is a public format, so here it is : :-)
[snip]
Thanks Henrik. I was sure I had archived your discussion with the XGS
programmer (Joshua?) about creating this image format but I've been
unable to locate it.
Now if I can just find the XGS header info so that I can support those
few .XGS images people might run across...