Earlier in this thread, Richard proposed gathering ALL the information
form a bootable diskette by examining the BDOS. Unfortunately, that is
not quite feasable, since too much is done in the BIOS. To his credit, he
NOW says that the disk must have a substantial file or two, such as PIP,
ASM, or MOVCPM. That is correct.
Let's look at what is needed/desirable/useful for analyzing a disk format.
Please bear with me for not always using DRIs terminology - there are a
lot of alternate names for the same things.
If there is access to a functioning machine, then the output of
STAT DSK:
provides a lot of what is needed.
PHYSICAL FORMAT:
Bytes per sector: physical read of diskette. Watch out for differences in
format between reserved tracks v data area
Sectors per track: physical read. Watch out for disk formats that include
unused sectors (9 formatted sectors per track with 8 used!)
Sides: physical read. Watch out for diskettes that have both sides
formatted, but are only using one.
Watch out for diskettes with 40 or 80 formatted tracks that use 35 or 77!
Watch out for a few WEIRD systems that reformat sectors as they use them!
Watch out for aftermarket mods, such as alternate BIOSes - the diskette
that you receive for a given machine might not always be representative of
that machine.
Watch out for SPELLING! I once added in a format that I thought was
spelled GROUPIL. By the time that I found out that I had misread sloppy
handwriting, 4 competing programs had copied the "GROUPIL" format! There
exists an INW format. But some LNW formats are misidentified in some
programs as INW.
Number of reserved tracks: Look at sectors until you find something that
LOOKS like a directory. That could be automated.
Side pattern: (up side 0, down side 1/up 0 up 1/alternating/ etc)
if not alternating, requires a disk that is over half full! In THEORY, it
might be determinable through exhaustive study of the BIOS and BDOS. In
reality, find a disk over half full.
Records per block: although theoretically determinable from exhaustive
study of BIOS and BDOS, the way to determine it is to look at the
directory entry for a file larger than one block.
Bytes/bits used for block number: look at directory entry for file
larger than one block.
Number of blocks represented in each directory entry: in the case of 8
records per block, look at directory entry for a file larger than 8
blocks.
Interleave: need a file larger than a full track that is EITHER a known
file (PIP, ASM, MOVCPM are good), OR one that is understandable (text
file, or machine language of a processor/mnemonics of which you are
familiar. If there is even a little text scattered in a file, you can
"look for 1/2 a worm" by finding the beginning of a word at the end of a
sector and the beginning at the beginning of another sector.
With Richard's latest change to require a known file on the diskette, it
is becoming more feasable. But you don't always get that! I always
explain in detail what I need, and the critical importance of identifyi8ng
the disk ("By the time that it arrives, I will have talked to a lot of
other people, and forgotten the details, so please be SURE to label the
disk with what format it is!") Then, when the disk arrives, it is
unlabelled, with a note that says nothing but: "Here's the disk we talked
about". It usually has no files on it, or one file of less than 100
bytes. Sometimes it will have 4 copies of that file. Maybe there will
be a printout of STAT (not STAT DSK:) from a different diskette.
--
Fred Cisin cisin(a)xenosoft.com
XenoSoft
http://www.xenosoft.com
PO Box 1236 (510) 558-9366
Berkeley, CA 94701-1236