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           ci...@xenosoft.com
XenoSoft                        http://www.xenosoft.com

Reply via email to