View Single Post
Old 20th Sep 2020, 10:00 pm   #383
JohnBHanson
Heptode
 
Join Date: Aug 2009
Location: Worthing, Sussex, UK.
Posts: 662
Default Re: Gemini 80-Bus System

The answer is in the mfb bios manual.

Side change type are as follows

s: use side 0 before side 1.
EG use Cyl0Sid0, Cyl1Sid0, Cyl2Sid0...Cyl79Sid0
then Cyl0Sid1, Cyl1Sid1, Cyl2Sid1...Cyl79Sid1

u: use side 0 before side 1 - tracks in reverse order
EG use Cyl0Sid0, Cyl1Sid0, Cyl2Sid0...Cyl79Sid0
then Cyl79Sid1, Cyl78Sid1, Cyl77Sid1...Cyl0Sid1

c: and t; are the same as for the layout of the disk and are generally interchangable.
EG use use Cyl0Sid0, Cyl0Sid1, Cyl1Sid0, Cyl1Sid1...Cyl79Sid0, Cyl79Sid0

The difference between c and t is how these are presented to cpm. CPM only understands tracks and sectors. To expand from a single sided disk it is possible to double either the nuumber of sectors OR the number of tracks. CPMs view is always in terms of 128 byte sectors. Gemini disks have 10 sectors of 512 byte sectors per track which cpm sees as 40 sectors of 128 byte sectors because of the deblocking algorithm in the bios. If C format is selected then the number of sectors per track is doubled to account for the two sides, if T format is selected the number of tracks is doubled when presented to cpm.

Thus the same disk can be regarded by cpm as 80 cpm tracks of 80 128 byte sectors per track OR as 160 cpm tracks or 40 128 byte cpm sectors.

one thing that could cause an incompatability is the OFF item within the DPB. This also doubles in t format. However it is possible in t format for this to be odd which means that the directory starts on side 1 of the disk in this case C format cannot be used but in most cases either can be used.

Another possible incompatibiltiy is that C format allows different physical sector numbers to be used on side 0 and side 1 as the sector translate table
is doubled in size. However I don't know any system that uses this.

The gemini MFB supports both C and T. However my MFB/Diskdef only use
the (Slightly) more general T varient.

To convert one to the other in the DPB half/double OFF and double/half the SPT within the DPB, but the bios code need a change to the
code which determines the side. For T mode it is the bottom bit of the CPM track number used for side number, for C number the side number is
used by looking at the sector number.

Gotek knows about cylinder/side/sector directly.

I hope that helps....

Last edited by JohnBHanson; 20th Sep 2020 at 10:08 pm.
JohnBHanson is offline