.xlist ;Don't list this file Subttl CP/M+ Drive Data Structure Generator (31_May_84) ; ; Copyright 1984 ; Morrow Designs, Inc. ; San Leandro, Ca. ; Bill Smith, John Zalabak ; ; ; The following drive type codes are either defined [d] or reserved [r]: ;----------------------------------------------------------------------- ; ; Floppy Disks ; ------------ ; DSDD [d] 5.25" double sided double density 48 tpi drive ; DSQD [r] 5.25" double sided double density 96 tip drive ; ; Hard Disks ; ---------- ; ST06 [d] Seagate, Model ST506 (5 meg) ; ; SQ06 [d] SyQuest Technology, Model 306 (6 meg) ; ; SA11 [d] Shugart Associates, Model SA712 (11 meg) ; ; CM11 [d] Computer Memories Inc., Model 5412, (11 meg) ; CM16 [d] Computer Memories Inc., Model 5619, (16 meg) ; CM34 [d] Computer Memories Inc., Model 6640, (34 meg) ; ; CD31 [d] Control Data Corporation, Model 9415-5 (31 meg) ; ; MS11 [d] Mini-Scribe, Model 3212 (11 meg) ; ; TU34 [d] Tulin Corporation, Model TL 240 (34 meg) ; ;---------------------------------------------------------------------- ; Define Macro (22_Mar_84) ;------------------------- ; 1) the define macro is called once for each drive. ; 2) each time it is called it generates 3 new macros which are unique ; for the logical drive, and contain the logical drive's name. ; 3) it generates macros which when used, create the MTAB, DPH, and ; DPB for the drive. ; 4) macros defined by DEFINE begin with the structure name MT, DPH, DPB, ; include the letter M, and end with the drive letter, as in DPBMA ; (the dpb for drive a). This macro will compile DPBxxxx where xxxx is ; the drive type (see below). These macros generate labels which are ; the same as the macro name without M (as in DPBA:). ; define macro dv,typ mt&m&dv macro ;Mtab Definition mt&dv: mt&typ endm dpbm&dv macro ;DPB Definition dpb&dv: dpb&typ endm dphm&dv macro ;DPH Definition dph&dv: dphgen dv endm xl&dv equ xl&typ ;Translate Table csv&dv equ csv&typ ;Checksum Vector endm page ;---------------------------------------------------------------------- ; Proto-Type DPH ;--------------- ; 1) prototype dph for all drives, do not change ; dphgen macro dv dw xl&dv ds 10,0 dw dpb&dv dw csv&dv dw -2,-2,-2,-2 db 0 endm ;---------------------------------------------------------------------- ; Table_Gen ;---------- ; table_gen macro typ drive aset 0 irpc dv,ABCDEFGHIJKLMNOP if drive lt drives drive aset drive+1 dw typ&dv else exitm endif endm endm ;---------------------------------------------------------------------- ; Struct_Gen ;----------- ; struct_gen macro typ drive aset 0 irpc dv,ABCDEFGHIJKLMNOP if drive lt drives drive aset drive+1 &typ&m&dv dv else exitm endif endm endm page ;====================================================================== ; DSDD: Floppy Disk - 5.25" Double Sided - Double Density ;======================================================== ; ; Translate Table and CheckSum Vector Definitions ;------------------------------------------------ ; xldsdd equ xlt1k ;Standard translate table csvdsdd equ -2 ;gencpm creates the checksum vector ; Mtab Definitions ;----------------- ; 1) media table for standard Morrow 5.25 inch double sided ; double density drives. ; 2) see file HD??DEF.MAC for full description of field assignments ; mtdsdä macro db 10000100b ;virtual drive, double sided, drive = 0 db 00100011b ;double density, 1024 bytes per sector db 00000000b ;reserved byte db 0 ;no park offset dw 40 ;40 cylinders db 6 /3 ;6 ms step rate db 15 /3 ;15 ms settling time db 6 /3 ;6 ms recal step rate db 0 ;0 ms head load time db 500 /3 ;500 ms motor on time dw 23 ;starting track of write precomp. dw -1 ;starting track of write lo-current db 0 ;format type, odd track on alt. head endm ; Floppy Disk DPB ;---------------- ; 1) dpb for standard Morrow 5.25 inch 390k dsdd floppy ; dpbdsdd macro dw 40 ;SPT (records per track) db 4,0Fh ;BSH, BLM (2k blocks) db 1 ;EXM (2 logical extnts/physical extent) dw 195-1 ;DSM (195*2k drive capacity = 390k) dw 192-1 ;DRM (192 directory entries in: 3 Blks db 0E0h ;AL0 (2k blocks*3)/32bytes/entry ) db 000h ;AL1 dw (192/4)-1 ;CKS (Checked directory size) dw 2 ;OFF (2 system tracks) db 3,7 ;PSH, PHM (1k physical sectors) endm page ;====================================================================== ; ST06: Hard Disk - Seagate ST 506 (23_May_84) ;============================================= ; ; Translate Table and CheckSum Vector Definitions ;------------------------------------------------ ; xlst06 equ 0 ;No Translate Table csvst06 equ 0 ;No CheckSum Vector ; Mtab Definitions ;----------------- ; 1) media table (mtab) for an ST-506 (5.25" 5 meg winchester) ; 2) see file HD??DEF.MAC for full description of field assignments ; mtst06 macro db 00101110b ;Has_sector 0, 4 heads, drive = 2 db 01101011b ;ready_line,DD,bad_map,1k sectors db 00000000b ;reserved byte db 0 ;no park offset dw 306 ;306 cylinders db 3 /3 ;3 ms Step Rate db 15 /3 ;18ms Settling Time db 3 /3 ;3 ms recal step rate db 0 ;0 ms head load time db 0 ;0 ms motor on time dw 8000h ;No Write precomp dw 128 ;starting track of lo-current db 0 ;format type, normal endm ; Hard Disk Dpb ;-------------- ; 1) Total Formatted Capacity is 5.432 meg ; 2) dpb for 5.25 inch 5 meg winchesters ; dpbst06 macro dw 72 ;SPT (records per track) db 5,1Fh ;BSH, BLM (4k blocks) db 1 ;EXM (2 logical_ext/physical_ext) dw (153-2)*36/4-1 ;DSM (306_cyl-2_res * 36sct/cyl /4sct/grp -1) dw 16*4*32-1 ;DRM 16 groups * 4k/group * 32 dirs/k db 0FFh ;AL0 (16 groups for directory (max)) db 0FFh ;Al1 dw 8000h ;CKS (drive is permanent) dw 8 ;OFF (8 tracks (2 cyl) 1_Sys, 7_BadMap db 3,7 ;PSH, PHM (1k physical sectors) endm page ;====================================================================== ; SQ06: Hard Disk - SyQuest 306 (23_May_84) ;========================================== ; ; Translate Table and CheckSum Vector Definitions ;------------------------------------------------ ; xlsq06 equ 0 ;No Translate Table csvsq06 equ -2 ;Have System create the CheckSum Vector ; Mtab Definitions ;----------------- ; 1) media table (mtab) for a SyQuest 306 (5.25" 6 meg removable winchester) ; 2) see file HD??DEF.MAC for full description of field assignments ; mtsq06 macro db 00100110b ;Has_sector 0, 4 heads, drive = 2 db 01101111b ;ready_line,DD,bad_map,fast_seek,1k sectors db 00000000b ;reserved byte db 0 ;no park offset dw 306 ;306 cylinders db 0 ;0 ms Step Rate (fast seek) db 0FFh ;No Settling Time db 3 /3 ;3 ms recal step rate db 0 ;0 ms head load time db 0 ;0 ms motor on time dw 8000h ;No write precomp dw 8000h ;No low write current adjust db 0 ;format type, normal endm ; Hard Disk Dpb ;-------------- ; 1) Total Formatted Capacity is 5.432 ; 1) dpb for 5.25 inch 6 meg removable media winchesters ; dpbsq06 macro dw 72 ;SPT (records per track) db 5,1Fh ;BSH, BLM (4k blocks) db 1 ;EXM (2 logical_ext/physical_ext) dw (((612-8)/4) * 9) - 1 ;DSM (1 less than total # of 4k blocks) dw 16*4*32-1 ;DRM 16 groups * 4k/group * 32 dirs/k db 0FFh ;AL0 (16 groups for directory (max)) db 0FFh ;Al1 dw (16*4*32-1)/4 ;CKS (DRM/4) this is a removable disk dw 8 ;OFF (8 tracks (2 cyl) 1_Sys, 7_BadMap db 3,7 ;PSH, PHM (1k physical sectors) endm page ;====================================================================== ; SA11: Hard Disk - Shugart Associates, Model SA712 (11 meg) ;=========================================================== ; ; Translate Table and CheckSum Vector Definitions ;------------------------------------------------ ; xlsa11 equ 0 ;No Translate Table csvsa11 equ 0 ;No CheckSum Vector ; Mtab Definitions ;----------------- ; 1) media table (mtab) for a SA7712 (5.25" 11 meg winchester) ; 2) see file HD??DEF.MAC for full description of field assignments ; mtsa11 macro db 00101110b ;Has_sector 0, 4 heads, drive = 2 db 01101111b ;ready_line,DD,bad_map,fast_seek,1k sectors db 00000000b ;reserved byte db 0 ;no park offset dw 306 ;306 cylinders db 0 ;0 ms Step Rate (fast seek) db 0FFh ;No Settling Time db 12 /3 ;15 ms recal step rate db 0 ;0 ms head load time db 0 ;0 ms motor on time dw 200 ;Starting track of Write PreComp dw 8000h ;No low write current adjust db 0 ;format type, normal endm ; Hard Disk Dpb ;-------------- ; 1) Total Formatted Capacity is 10.940 meg ; 2) dpb for 5.25 inch 11 meg winchesters ; dpbsa11 macro dw 72 ;SPT (records per track) db 5,1Fh ;BSH, BLM (4k blocks) db 1 ;EXM (2 logical_ext/physical_ext) dw (306-2)*36/4-1 ;DSM (306_cyl-2_res * 36sct/cyl /4sct/grp -1) dw 16*4*32-1 ;DRM 16 groups * 4k/group * 32 dirs/k db 0FFh ;AL0 (16 groups for directory (max)) db 0FFh ;Al1 dw 8000h ;CKS (drive is permanent) dw 8 ;OFF (8 tracks (2 cyl) 1_Sys, 7_BadMap db 3,7 ;PSH, PHM (1k physical sectors) endm page ;====================================================================== ; CM11: Hard Disk - CMI 5412 (23_May_84) ;======================================= ; ; Translate Table and CheckSum Vector Definitions ;------------------------------------------------ ; xlcm11 equ 0 ;No Translate Table csvcm11 equ 0 ;No CheckSum Vector ; Mtab Definitions ;----------------- ; 1) media table (mtab) for a CMI_5412 (5.25" 11 meg winchester) ; 2) see file HD??DEF.MAC for full description of field assignments ; mtcm11 macro db 00101110b ;Has_sector 0, 4 heads, drive = 2 db 01101111b ;ready_line,DD,bad_map,fast_seek,1k sectors db 00000000b ;reserved byte db 0 ;no park offset dw 306 ;306 cylinders db 0 ;0 ms Step Rate (fast seek) db 0FFh ;No Settling Time db 3 /3 ;3 ms recal step rate db 0 ;0 ms head load time db 0 ;0 ms motor on time dw 8000h ;No write precomp dw 8000h ;No low write current adjust db 0 ;format type, normal endm ; Hard Disk Dpb ;-------------- ; 1) Total Formatted Capacity is 10.940 meg ; 2) dpb for 5.25 inch 11 meg winchesters ; dpbcm11 macro dw 72 ;SPT (records per track) db 5,1Fh ;BSH, BLM (4k blocks) db 1 ;EXM (2 logical_ext/physical_ext) dw (306-2)*36/4-1 ;DSM (306_cyl-2_res * 36sct/cyl /4sct/grp -1) dw 16*4*32-1 ;DRM 16 groups * 4k/group * 32 dirs/k db 0FFh ;AL0 (16 groups for directory (max)) db 0FFh ;Al1 dw 8000h ;CKS (drive is permanent) dw 8 ;OFF (8 tracks (2 cyl) 1_Sys, 7_BadMap db 3,7 ;PSH, PHM (1k physical sectors) endm page ;====================================================================== ; CM16: Hard Disk - CMI 5619 (22_Mar_84) ;======================================= ; ; Translate Table and CheckSum Vector Definitions ;------------------------------------------------ ; xlcm16 equ 0 ;No Translate Table csvcm16 equ 0 ;No CheckSum Vector ; Mtab Definitions ;----------------- ; 1) media table (mtab) for CMI_5619 (5.25" 16 meg winchester) ; 2) see file HD??DEF.MAC for full description of field assignments ; mtcm16 macro db 00110110b ;Has_Sector_0, 6 heads, drive = 2 db 01101111b ;ready line,DD,badMap,fast seek,1k sect db 00000000b ;reserved byte db 0 ;no park offset dw 306 ;306 cylinders db 0FFh ;0 ms Settling Time (fast seek) db 0 ;0 ms Step Rate (Fast Seek) db 3 /3 ;3 ms recal step rate db 0 ;0 ms head load time db 0 ;0 ms motor on time dw 8000h ;No write precomp dw 8000h ;No low write current control db 0 ;format type, normal endm ; Hard Disk Dpb ;-------------- ; 1) Total Formatted Storage Capacity is 16.448 meg ; 2) dpb for standard Morrow 5.25 inch 16 meg winchesters ; 3) Note that the DSM figure is equal to: ( ( (Total Number of Tracks - ; Reserved Track) / Allocation Block size) * Physical Sectors/Track)-1 ; dpbcm16 macro dw 72 ;SPT (records per track) db 5,1Fh ;BSH, BLM (4k blocks) db 1 ;EXM (2 logical extents/physical extnt) dw (((1836-8)/4) * 9) - 1 ;DSM (1 less than total # of 4k blocks) dw 16*4*32-1 ;DRM (16_groups*4k/group*32dirs/k=2048) db 0FFh ;AL0 (reserve 16 groups for directory) db 0FFh ;AL1 dw 8000h ;CKS (drive is permanent) dw 8 ;OFF (8 tracks (2 cyl) 1_Sys, 7_BadMap db 3,7 ;PSH, PHM (1k physical sectors) endm page ;====================================================================== ; CM34: Hard Disk - CMI 6640 (28_Mar_84) ;======================================= ; ; Translate Table and CheckSum Vector Definitions ;------------------------------------------------ ; xlcm34 equ 0 ;No Translate Table csvcm34 equ 0 ;No CheckSum Vector ; Mtab Definitions ;----------------- ; 1) media table (mtab) for a CMI_6640 (5.25" 34 meg winchester) ; 2) see file HD??DEF.MAC for full description of field assignments ; mtcm34 macro db 00110110b ;Has_Sector_0, 6 heads, drive = 2 db 01101111b ;ready line,DD,BadMap,fast seek,1k sect db 00000000b ;reserved byte db 0 ;no park offset dw 640 ;640 cylinders db 0FFh ;0 ms Settling Time db 0 ;3 ms Step Rate db 3 /3 ;3 ms recal step rate db 0 ;0 ms head load time db 0 ;0 ms motor on time dw 0FFFFh ;starting track of write precomp dw 0FFFFh ;starting track of write lo-current db 0 ;format type, normal endm ; Hard Disk Dpb ;-------------- ; 1) Total Formatted Storage Capacity is 34.484 meg ; 2) Note that the DSM figure is equal to: ( ( (Total Number of Tracks - ; Reserved Track) / Allocation Block size) * Physical Sectors/Track)-1 ; dpbcm34 macro dw 72 ;SPT (records per track) db 5,1Fh ;BSH, BLM (4k blocks) db 1 ;EXM (2 logical extents/physical extnt) dw (((3840-8)/4) * 9) - 1 ;DSM (1 less than total # of 4k blocks) dw 16*4*32-1 ;DRM (16_groups*4k/group*32dirs/k=2048) db 0FFh ;AL0 (reserve 16 groups for directory) db 0FFh ;AL1 dw 8000h ;CKS (drive is permanent) dw 8 ;OFF (8 tracks (2 cyl) 1_Sys, 7_BadMap db 3,7 ;PSH, PHM (1k physical sectors) endm page ;====================================================================== ; CD31: Hard Disk - CDC 9415-5 (30_Mar_84) ;========================================= ; ; Translate Table and CheckSum Vector Definitions ;------------------------------------------------ ; xlcd31 equ 0 ;No Translate Table csvcd31 equ 0 ;No CheckSum Vector ; Mtab Definitions ;----------------- ; 1) media table (mtab) for a CMI_6640 (5.25" 31 meg winchester) ; 2) see file HD??DEF.MAC for full description of field assignments ; mtcd31 macro db 00110010b ;Has_Sector_0, 5 heads, drive = 2 db 01101111b ;ready line,DD,BadMap,fast seek,1k sect db 00000000b ;reserved byte db 10 ;10 cylinder park offset dw 657 ;657 cylinders db 0FFh ;0 ms Settling Time db 0 ;3 ms Step Rate db 3 /3 ;3 ms recal step rate db 0 ;0 ms head load time db 0 ;0 ms motor on time dw 0FFFFh ;starting track of write precomp dw 0FFFFh ;starting track of write lo-current db 0 ;format type, normal endm ; Hard Disk Dpb ;-------------- ; 1) Total Formatted Capacity is 29.480 ; 2) Note that the DSM figure is equal to: ( ( (Total Number of Tracks - ; Reserved Track) / Allocation Block size) * Physical Sectors/Track)-1 ; dpbcd31 macro dw 72 ;SPT (records per track) db 5,1Fh ;BSH, BLM (4k blocks) db 1 ;EXM (2 logical extents/physical extnt) dw (((3285-8)/4) * 9) - 1 ;DSM (1 less than total # of 4k blocks) dw 16*4*32-1 ;DRM (16_groups*4k/group*32dirs/k=2048) db 0FFh ;AL0 (reserve 16 groups for directory) db 0FFh ;AL1 dw 8000h ;CKS (drive is permanent) dw 8 ;OFF (8 tracks (2 cyl) 1_Sys, 7_BadMap db 3,7 ;PSH, PHM (1k physical sectors) endm page ;====================================================================== ; MS11: Hard Disk - Mini-Scribe 3212 (31_May_84) ;=============================================== ; ; Translate Table and CheckSum Vector Definitions ;------------------------------------------------ ; xlms11 equ 0 ;No Translate Table csvms11 equ 0 ;No CheckSum Vector ; Mtab Definitions ;----------------- ; 1) media table (mtab) for a Mini-Scribe (5.25" 11 meg winchester) ; 2) see file HD??DEF.MAC for full description of field assignments ; mtms11 macro db 00100110b ;Has_sector 0, 4 heads, drive = 2 db 01101111b ;ready_line,DD,bad_map,fast_seek,1k sectors db 00000000b ;reserved byte db 0 ;no park offset dw 612 ;612 cylinders db 0 ;0 ms Step Rate (fast seek) db 0FFh ;No Settling Time db 3 /3 ;3 ms recal step rate db 0 ;0 ms head load time db 0 ;0 ms motor on time dw 8000h ;No write precomp dw 8000h ;No low write current adjust db 0 ;format type, normal endm ; Hard Disk Dpb ;-------------- ; 1) Total Formatted Capacity is 10.940 meg ; 2) dpb for 5.25 inch 11 meg winchesters ; dpbms11 macro dw 72 ;SPT (records per track) db 5,1Fh ;BSH, BLM (4k blocks) db 1 ;EXM (2 logical_ext/physical_ext) dw (306-2)*36/4-1 ;DSM (306_cyl-2_res * 36sct/cyl /4sct/grp -1) dw 16*4*32-1 ;DRM 16 groups * 4k/group * 32 dirs/k db 0FFh ;AL0 (16 groups for directory (max)) db 0FFh ;Al1 dw 8000h ;CKS (drive is permanent) dw 8 ;OFF (8 tracks (2 cyl) 1_Sys, 7_BadMap db 3,7 ;PSH, PHM (1k physical sectors) endm page ;====================================================================== ; TU34: Hard Disk - Tulin Corp. TU 240 (4_Jun_84) ;================================================ ; ; Translate Table and CheckSum Vector Definitions ;------------------------------------------------ ; xltu34 equ 0 ;No Translate Table csvtu34 equ 0 ;No CheckSum Vector ; Mtab Definitions ;----------------- ; 1) Media table (mtab) for a Tu 240 (5.25" 34 meg winchester) ; 2) see file HD??DEF.MAC for full description of field assignments ; mttu34 macro db 00110110b ;Has_Sector_0, 6 heads, drive = 2 db 01101111b ;ready line,DD,BadMap,fast seek,1k sect db 00000000b ;reserved byte db 0 ;no park offset dw 640 ;640 cylinders db 0FFh ;0 ms Settling Time db 0 ;0 ms Step Rate db 15 /3 ;15 ms recal step rate db 0 ;0 ms head load time db 0 ;0 ms motor on time dw 8000h ;No write precomp dw 8000h ;No write lo-current db 0 ;format type, normal endm ; Hard Disk Dpb ;-------------- ; 1) Total Formatted Storage Capacity is 34.484 meg ; 2) Note that the DSM figure is equal to: ( ( (Total Number of Tracks - ; Reserved Track) / Allocation Block size) * Physical Sectors/Track)-1 ; dpbtu34 macro dw 72 ;SPT (records per track) db 5,1Fh ;BSH, BLM (4k blocks) db 1 ;EXM (2 logical extents/physical extnt) dw (((3840-8)/4) * 9) - 1 ;DSM (1 less than total # of 4k blocks) dw 16*4*32-1 ;DRM (16_groups*4k/group*32dirs/k=2048) db 0FFh ;AL0 (reserve 16 groups for directory) db 0FFh ;AL1 dw 8000h ;CKS (drive is permanent) dw 8 ;OFF (8 tracks (2 cyl) 1_Sys, 7_BadMap db 3,7 ;PSH, PHM (1k physical sectors) endm page .list ;Resume listing (done with DRIVES.MAC)