R: 8 "disc geometry

Enrico email.it enrico.lazzerini at email.it
Wed Feb 10 15:40:03 CST 2021


So in the case of IBM 3740 Standard Disk Support the 768 bytes are an
unusable remnant due to the choice of the 1024byte block size.

Yes, the second case disk is a backup disk !!! The machine has a SASI card
that interfaces to an old Shugard SA-1403 SASI Controller that manages a
10MB winchester SA-1004 hard disk with 32 sectors of 256byte / track (with
256 tracks and 4 heads for a total of 32 * 256 * 256 * 4 = 8MB) and a disk
drive with 32 256byte / track sectors yet (with 77 tracks and 2 heads for a
total of 32 * 256 * 77 * 2 = 1.2MB)

Physically the directory starts at 10000H and ends at 13FFFH since the first
data on the disk image is stored starting at location 14000H.

I sincerely thank you for your kind and perfect response. In fact from the
specifications of the DPT I could not understand. Experience in this case
counts a lot.

THANK YOU


-----Messaggio originale-----
Da: cctalk [mailto:cctalk-bounces at classiccmp.org] Per conto di Patrick
Finnegan via cctalk
Inviato: mercoledì 10 febbraio 2021 21:52
A: Enrico email.it; General Discussion: On-Topic and Off-Topic Posts
Oggetto: Re: 8 "disc geometry

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 cctalk mailing list