On Fri, 6 Nov 2020, Enrico email.it via cctalk wrote:
We are trying to read some floppy disk used on a 1981
Italian Z80
machine with CP / M.
We saved an image with IMD and we know that the geometry of face A is
IBM 3740 26x128x77 tracks.
By inserting this data into the 22DISK definition file we can
successfully extract the CP / M files from A side.
So this for to read 1st face A:
BEGIN MUP1 Mupid Seite 1 - SSSD 96 tpi 5.25"
DENSITY FM ,LOW
CYLINDERS 80
SIDES 1
SECTORS 10,256
SIDE1 0 0,2,4,6,8,1,3,5,7,9
BSH 4 BLM 15 EXM 1 DSM 96 DRM 127 AL0 0C0H AL1 0 OFS 3
END
And this for to read the other side B:
BEGIN MUP2 Mupid Seite 2 - SSSD 96 tpi 5.25"
DENSITY FM ,LOW
CYLINDERS 80
SIDES 2
SECTORS 10,256
SIDE2 0 0,2,4,6,8,1,3,5,7,9
SIDE1 0 0,2,4,6,8,1,3,5,7,9
ORDER CYLINDERS
BSH 4 BLM 15 EXM 1 DSM 96 DRM 127 AL0 0C0H AL1 0 OFS 3
END
Right?
WRITE PROTECT ALL OF THOSE DISKS, BEFORE YOU START!
Can you tell us the NAME of the machine?
(Unless the NAME is "1981 Italian Z80")
WHAT SIZE disk is it?
Is it 26 128 byte sectors, or
is it 10 256 byte sectors?
35, 40, 70, 77, or 80 cylinders/tracks?
What kind of drive?
3"? 3.25"? 3.5"?
((8" 26 * 128 * 77) is not the same as (5.25" 10 * 256 * 80))
Yes, a 5.25" SSSD disk CAN hold 18 128 byte sector per track, but you
might have to squeeze the [inter-sector] gaps a little, so 16 may be a
more conservative choice.
In the sector headers, . . .
On the second side, is the "HEAD NUMBER" field, in the C/H/R/N sector
headers, 0? or 1?
If 0, then you really should try unplugging the heads of the drive and
swapping them. That will put "side A/0" on the second/B side of the
disk.
If the "HEAD NUMBER" field, in the C/H/R/N sector headers, is 1
Then you are best off doing as Chuck suggested, and LYING to the transfer
program to tell it that it is a format that goes UP the first side, then
retracts to track 0 and then goes UP the second side, (there were
numerous formats that did that) but that you want the transfer program to
IGNORE the first half of each disk ("side A"). Ignoring the first half in
that case can be done on a CP/M disk by saying that the number of
"RESERVED TRACKS" (system tracks to be ignored for data transfer) includes
the entire first side, and the first few of the second side.
If you can image the disk with a DOCUMENTED image structure, then
consider writing some trivial code to split the image, to give you
separate images of the two sides, and then try to read the files from
each of those, as if they were two single sided drives.
Or, write a disk copy program to read the second side, and copy it to the
first side of a scratch disk.
BTW, the "each side is a separate drive" patches for PC-DOS 1.00 were 8
512 byte sectors on each side, with 40 tracks, so those would not help.
Yes, we're all bozos on this bus. ("Firesign Theater" fourth album)
But, when it comes to disk formats,
none of the rest of us bozos can compare to Chuck.
This is the greatest "don't try to teach your
grandmother how to steal
sheep" moment I've seen all year. \o/
BTW, in cultures that frown on
stealing sheep, that is sometimes
expressed as "teaching grandma to suck eggs".
--
Grumpy Ol' Fred Cisin cisin at
xenosoft.com
XenoSoft
http://www.xenosoft.com