R: R: Floppy disk: one drive per face

Enrico email.it enrico.lazzerini at email.it
Fri Nov 6 15:19:57 CST 2020

First of all I would like to thank you all for every suggestion that comes
from so much experience. I only know my Ferguson bigboard 1 pretty well

The z80 based machine was called GENERAL PROCESSOR Model T year 1981.
You can see it here: https://www.vintagesbc.it/?page_id=877 and the cards it
was equipped with here: https://www.vintagesbc.it/?page_id=879 even if it is
old information because I, together with a competent hardware technician and
another enthusiast who has already written an emulator HERE:
https://nippur72.github.io/gpmodelt-emu/ (you have to press CR to start then
BD and enter ...)
and the emulator video here:
https://www.youtube.com/watch?v=cRmmUYkaDxs&feature=youtu.be we are
proceeding to derive electrical schematics, save firmware, software, and try
to reconstruct and document everything.
You have to think that they used a WD1791 which has an inverted data bus and
in the firmware they use CPL instruction to invert it again so on the disk
the CP / M  (CCP + BDOS + bios) is written all INVERTed.

Based on the firmware on eprom configuration it could manage:
- 2 drives 8 "(128x26x77) or 5" (128x18 (maybe 16) x40) all in FM and seen
as A, b, c, d
- 1 8 "DSDD single B unit and 1 HD 10MB Winchester drive (divided into 2
halves A and C)

At the beginning the engineers made ibm 3740 in side A. Only after they
passed to make a drive double face so we think they didn't change things
also because it seems to be possible to boot from both side A and side B and
we expect the side B of drive A it would in IBM 3740 format.

We noticed that the sectors always start from ZERO and not from 1 so it is
interesting what you say: “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.! "


-----Messaggio originale-----
Da: cctalk [mailto:cctalk-bounces at classiccmp.org] Per conto di Fred Cisin
via cctalk
Inviato: venerdì 6 novembre 2020 20:41
A: General Discussion: On-Topic and Off-Topic Posts
Oggetto: Re: R: Floppy disk: one drive per face

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