8 "disc geometry

Patrick Finnegan pat at vax11.net
Wed Feb 10 14:52:28 CST 2021


I've spent a fair bit of time staring at DPT's so we'll see if I can help..

On Wed, Feb 10, 2021 at 7:35 AM Enrico email.it via cctalk <
cctalk at classiccmp.org> wrote:

> Hi at all. I have few questions on how the geometry is calculated.
>
>
> 1) I would like to understand. this table represents an 3740 IBM standard
> disk
>
> D: Drive Characteristics
> 1944: 128 Byte Record Capacity
> 243: Kilobyte Drive Capacity
> 64: 32 Byte Directory Entries
> 64: Checked Directory Entries
> 128: Records / Extent
> 8: Records / Block
> 26: Sectors / Track
> 2: Reserved Tracks
>
> Its DPT is:
>
> 1A00 03 07 00 F200 3F00 C000 1000 0200
>
> Or:
> SPT = 001A = The number of 128 byte records per track.
> BSH = 03 = The block shift count.
> BLM = 07 = The block mask.
> EXM = 00 = The extent mask.
> DSM = 00F2 = Disk storage maximum (the largest block number).
> DRM = 003F = Directory maximum (the largest directory entry).
> DAB = 00C0 = Directory Allocation Block AL1: = 00 & AL0: = C0 [0C0H]
> CKS = 0010 = Directory check size.
> OFF = 0002 = Track offset (number of reserved tracks).
>
> I already know there are 26x128x77 = 256256 bytes
> But how does this table represent them?
>

The disk is blocked into 1K blocks (8*128 bytes), and there are 243 blocks,
starting after the reserved tracks (2).
So there is 256256 total capacity -- 2*128*26 bytes on the reserved tracks,
243*8*128 bytes usable, and 768 bytes of stranded capacity, since you can't
have a partial block.

The directory starts on block 0 and occupies 2 blocks.  For AL0 and AL1,
the word is 0C000h, which has two 1 bits, marking the first two blocks as
directory blocks.  This matches up with DRM, which says there are 40h
directory entries (32 bytes each), for a total of 2048 bytes.


> 1944 sectors x 128 bytes = 248832 bytes = 243x1024 is the capacity actually
> available for the files
> The system takes 26 sects/track x128 bytes/sect x2 sects= 6656 bytes
>
> So 256256 - 248832 = 768 bytes
> They are for the directory
> but how does this number come out?
>
>
No, that 768 bytes is just unusable space.


> 2) I have instead this table of a BASF 6104 Floppy Disk Drive managed
> through a Shugart SA-1403 SASI Controller:
>
> B: Drive Characteristics
> 9216: 128 Byte Record Capacity
> 1152: Kilobyte Drive Capacity
> 64: 32 Byte Directory Entries
> 64: Checked Directory Entries
> 2048: Records / Extent
> 128: Records / Block
> 512: Sectors / Track
> 1: Reserved Tracks
>
> Its DPT is:
>
> 0002 07 7F 0F 4700 3F00 8000 1000 0100
>
> SPT = 0200 = The number of 128 byte records per track.
> BSH = 07 = The block shift count.
> BLM = 7F = The block mask.
> EXM = 0F = The extent mask.
> DSM = 0047 = Disk storage maximum (the largest block number).
> DRM = 003F = Directory maximum (the largest directory entry).
> DAB = 0080 = Directory Allocation Block AL1: = 00 & AL0: = C0 [0C0H]
> CKS = 0010 = Directory check size.
> OFF = 0001 = Track offset (number of reserved tracks).
>
> Oddly, the controller seems to manage the drive as 32 sect/tracks x256
> bytes/setc x77 trakcs x2 heads
>
> In this case I don't know exactly the parameters of the diskette
>
> 9216 sectors x 128 bytes = 1.179.648 bytes = 1.152x1024 is the capacity
> actually available for the files
> The system takes 512 setcs/track x32 bytes/sect x1 tracks = 16.384 bytes
>
> In case 1 the gross capacity is 256256 while in case 2 which is it?
>

You have a total of 512*128 bytes per track - 64K. I assume the SASI
controller is remapping things around, and the disk doesn't physically have
tracks this big.

Each block is 128*128 bytes, or 16k  And there's a total of one reserved
track (64K) plus 72 blocks (1152K), for a total disk size of 1245184 bytes
(1216K).

The directory is all in the first block (16KB), with a maximum of 64
entries. I'd guess that the floppy was meant to hold backup or install sets
or something, and not lots of small files, as this sorta layout lets you
minimize disk overhead if you do that.


> 3) what could be the correct parameters to insert in 22disk in order to
> transfer files between a type 2 disk and msdos?
>
>
You will probably have some issues directly using the floppy disk on a PC
with those parameters, since I suspect the controller is remapping things
and they don't line up on track boundaries.  If you can dump a raw image
with eg imagedisk, you can probably get that to work with 22disk.  I don't
know enough about 22disk to help you, but its author is on the list and may
be able to help.

Pat


More information about the cctech mailing list