R: Floppy disk: one drive per face

Fred Cisin cisin at xenosoft.com
Fri Nov 6 13:41:09 CST 2020

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"
> 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
> And this for to read the other side B:
> BEGIN MUP2  Mupid Seite 2 - SSSD 96 tpi 5.25"
> 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
> BSH 4 BLM 15 EXM 1 DSM 96 DRM 127 AL0 0C0H AL1 0 OFS 3
> Right?


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 

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

More information about the cctalk mailing list