diskdef ibm-3740 seclen 128 tracks 77 sectrk 26 blocksize 1024 maxdir 64 skew 6 boottrk 2 os 2.2 end diskdef 4mb-hd seclen 128 tracks 1024 sectrk 32 blocksize 2048 maxdir 256 skew 1 boottrk 0 os p2dos end diskdef pcw seclen 512 tracks 40 sectrk 9 blocksize 1024 maxdir 64 skew 1 boottrk 1 os 3 libdsk:format pcw180 end diskdef pc1.2m seclen 512 tracks 80 # this format uses 15 sectors per track, but 30 per cylinder sectrk 30 blocksize 4096 maxdir 256 skew 1 boottrk 0 os 3 end # CP/M 86 on 1.44MB floppies diskdef cpm86-144feat seclen 512 tracks 160 sectrk 18 blocksize 4096 maxdir 256 skew 1 boottrk 2 os 3 libdsk:format ibm1440 end # CP/M 86 on 720KB floppies diskdef cpm86-720 seclen 512 tracks 160 sectrk 9 blocksize 2048 maxdir 256 skew 1 boottrk 2 os 3 end diskdef cf2dd seclen 512 tracks 160 sectrk 9 blocksize 2048 maxdir 256 skew 1 boottrk 1 os 3 libdsk:format pcw720 end #amstrad: values are read from super block (special name hardcoded) # Royal alphatronic # setfdprm /dev/fd1 dd ssize=256 cyl=40 sect=16 head=2 diskdef alpha seclen 256 tracks 40 sectrk 32 blocksize 2048 maxdir 128 skew 1 boottrk 2 os 2.2 end # Apple II CP/M skew o Apple II DOS 3.3 skew diskdef apple-do seclen 256 tracks 35 sectrk 16 blocksize 1024 maxdir 64 skewtab 0,6,12,3,9,15,14,5,11,2,8,7,13,4,10,1 boottrk 3 os 2.2 end # Apple II CP/M skew o Apple II PRODOS skew diskdef apple-po seclen 256 tracks 35 sectrk 16 blocksize 1024 maxdir 64 skewtab 0,9,3,12,6,15,1,10,4,13,7,8,2,11,5,14 boottrk 3 os 2.2 end # MYZ80 hard drive (only works with libdsk, because it has a 256-byte header) diskdef myz80 seclen 1024 tracks 64 sectrk 128 blocksize 4096 maxdir 1024 skew 1 boottrk 0 os 3 libdsk:format pcw720 end # Despite being Amstrad formats, CPC System and CPC Data don't have an Amstrad # superblock. You'll need to use libdsk to access them because the Linux # and Windows kernel drivers won't touch them. diskdef cpcsys seclen 512 tracks 40 sectrk 9 blocksize 1024 maxdir 64 skew 1 boottrk 2 os 3 libdsk:format cpcsys end diskdef cpcdata seclen 512 tracks 40 sectrk 9 blocksize 1024 maxdir 64 skew 1 boottrk 0 os 3 libdsk:format cpcdata end # after being read in with no sector skew. diskdef nigdos seclen 512 # NigDos double sided disk format, 42 tracks * 2 sides tracks 84 sectrk 10 blocksize 2048 maxdir 128 skew 1 boottrk 0 # this format wastes half of the directory entry logicalextents 1 os 3 end diskdef epsqx10 seclen 512 tracks 40 sectrk 20 blocksize 2048 maxdir 128 skew 0 boottrk 2 os 2.2 end diskdef ibm-8ss seclen 512 tracks 40 sectrk 8 blocksize 1024 maxdir 64 skew 0 boottrk 1 os 2.2 end diskdef ibm-8ds seclen 512 tracks 40 sectrk 8 blocksize 1024 maxdir 64 skew 0 boottrk 1 os 2.2 end diskdef electroglas seclen 512 tracks 80 sectrk 10 blocksize 2048 maxdir 256 skew 0 boottrk 1 os 3 end # IBM CP/M-86 # setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48 head=1 diskdef ibmpc-514ss seclen 512 tracks 40 sectrk 8 blocksize 1024 maxdir 64 skew 1 boottrk 1 os 2.2 libdsk:format ibm160 end # IBM CP/M-86 # setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48 diskdef ibmpc-514ds seclen 512 tracks 80 sectrk 8 blocksize 2048 maxdir 64 skew 0 boottrk 2 os 2.2 libdsk:format ibm320 end diskdef p112 seclen 512 tracks 160 sectrk 18 blocksize 2048 maxdir 256 skew 1 boottrk 2 os 3 end diskdef p112-old seclen 512 tracks 160 sectrk 18 blocksize 2048 maxdir 128 skew 1 boottrk 1 os 3 end diskdef gide-cfa seclen 512 tracks 1000 sectrk 16 blocksize 4096 maxdir 1024 skew 0 boottrk 2 os 3 end diskdef gide-cfb seclen 512 tracks 1000 sectrk 16 blocksize 4096 maxdir 1024 skew 0 boottrk 0 # Start of second partition offset 1000trk os 3 end # AT&T/Olivetti Word Processor diskdef attwp seclen 256 tracks 80 sectrk 32 blocksize 2048 maxdir 128 boottrk 1 logicalextents 1 skewtab 0,2,4,6,8,10,12,14,1,3,5,7,9,11,13,15,16,18,20,22,24,26,28,30,17,19,21,23,25,27,29,31 os 2.2 end # setfdprm /dev/fd0 zerobased SS DD ssize=512 cyl=40 sect=10 head=1 # Kaypro II diskdef kpii seclen 512 tracks 40 sectrk 10 blocksize 1024 maxdir 64 skew 0 boottrk 1 os 2.2 end # setfdprm /dev/fd0 zerobased DS DD ssize=512 cyl=40 sect=10 head=2 # Kayro IV diskdef kpiv seclen 512 tracks 80 sectrk 10 blocksize 2048 maxdir 64 skew 0 boottrk 1 os 2.2 end # setfdprm /dev/fd0 dd sect=10 diskdef interak seclen 512 tracks 80 sectrk 20 blocksize 4096 maxdir 256 skew 1 boottrk 2 os 2.2 end # Timex FDD3000 3" diskdef fdd3000 seclen 256 tracks 40 sectrk 16 blocksize 1024 maxdir 128 boottrk 4 os 2.2 skew 7 end # Timex FDD3000 3" diskdef fdd3000_2 seclen 256 tracks 40 sectrk 16 blocksize 1024 maxdir 128 boottrk 2 os 2.2 skew 5 end # Robotron 1715 diskdef 1715 seclen 1024 tracks 40 sectrk 5 blocksize 1024 maxdir 64 skew 0 boottrk 3 os 2.2 end # Robotron 1715 with SCP3 diskdef 17153 seclen 1024 tracks 160 sectrk 5 blocksize 2048 maxdir 128 skew 0 boottrk 4 os 3 end #DDR diskdef scp624 seclen 256 tracks 160 sectrk 16 blocksize 2048 maxdir 128 skew 0 boottrk 2 os 2.2 end diskdef scp640 seclen 256 tracks 160 sectrk 16 blocksize 2048 maxdir 128 skew 0 boottrk 0 os 2.2 end diskdef scp780 seclen 1024 tracks 160 sectrk 5 blocksize 2048 maxdir 128 skew 0 boottrk 2 os 2.2 end diskdef scp800 seclen 1024 tracks 160 sectrk 5 blocksize 2048 maxdir 128 skew 0 boottrk 0 os 2.2 end diskdef z9001 seclen 1024 tracks 160 sectrk 5 blocksize 2048 maxdir 192 skew 0 boottrk 0 os 2.2 end # Visual Technology Visual 1050 computer diskdef v1050 seclen 512 tracks 80 sectrk 10 blocksize 2048 maxdir 128 skew 0 boottrk 2 os 3 end # Microbee 40 track 5.25" disks diskdef microbee40 seclen 512 tracks 80 sectrk 10 blocksize 2048 maxdir 128 skewtab 1,4,7,0,3,6,9,2,5,8 boottrk 2 os 2.2 end diskdef dreamdisk40 seclen 512 tracks 80 sectrk 10 blocksize 2048 maxdir 128 skewtab 1,4,7,0,3,6,9,2,5,8 boottrk 2 os 2.2 end diskdef dreamdisk80 seclen 512 tracks 160 sectrk 10 blocksize 2048 maxdir 256 skewtab 1,4,7,0,3,6,9,2,5,8 boottrk 2 os 2.2 end diskdef rc759 seclen 1024 tracks 154 sectrk 8 blocksize 2048 maxdir 512 boottrk 4 os 3 end # ICL Comet: 40 track 5.25" Single Sided # diskdef icl-comet-525ss seclen 512 tracks 40 sectrk 10 blocksize 1024 maxdir 64 skewtab 0,3,6,9,2,5,8,1,4,7 boottrk 2 os 2.2 end diskdef z80pack-hd seclen 128 tracks 255 sectrk 128 blocksize 2048 maxdir 1024 skew 0 boottrk 0 os 2.2 end diskdef z80pack-hdb seclen 128 tracks 256 sectrk 16384 blocksize 16384 maxdir 8192 skew 0 boottrk 0 os 2.2 end # Bondwell 12 and 14 disk images in IMD raw binary format diskdef bw12 seclen 256 tracks 40 sectrk 18 blocksize 2048 maxdir 64 skew 1 boottrk 2 os 2.2 end diskdef bw14 seclen 256 tracks 80 sectrk 18 blocksize 2048 maxdir 64 skew 1 boottrk 2 os 2.2 end ############################ # north star cp/m disks ############################ #North Star floppy 360K diskdef nsfd seclen 512 tracks 70 sectrk 10 blocksize 2048 maxdir 64 skew 5 boottrk 2 os 2.2 end #North Star CP/M Virtual-Disk file on Hard Disk # prepared with allocation factor = 4 # as in "CR CPMB 4000 4" # needs to be copied off hard drive before you can # work on it with cpmtools diskdef nshd4 seclen 512 tracks 512 sectrk 16 blocksize 4096 maxdir 256 skew 0 boottrk 0 os 2.2 end #North Star CP/M Virtual-Disk file on Hard Disk # prepared with allocation factor = 8 # as in "CR CPMB 6000 8" # needs to be copied off hard drive before you can # work on it with cpmtools diskdef nshd8 seclen 512 tracks 1024 sectrk 16 blocksize 8192 maxdir 256 skew 0 boottrk 0 os 2.2 end # Northstar Micro-Disk System MDS-A-D 175 diskdef mdsad175 seclen 512 blocksize 1024 tracks 35 maxdir 64 boottrk 2 sectrk 10 skew 5 os 2.2 end # Northstar Micro-Disk System MDS-A-D 350 diskdef mdsad350 seclen 512 blocksize 2048 tracks 70 maxdir 64 boottrk 2 sectrk 10 skew 5 os 2.2 end # Osborne 1 diskdef osborne1 seclen 1024 tracks 40 sectrk 5 blocksize 1024 maxdir 64 boottrk 3 os 2.2 end # Osborne Nuevo/Vixen/4 diskdef osborne4 seclen 1024 tracks 80 sectrk 5 blocksize 2048 maxdir 128 skew 2 boottrk 2 os 2.2 end # Lobo Max-80 8" CP/M 2 diskdef lobo2 seclen 256 tracks 77 sectrk 30 blocksize 2048 maxdir 64 skew 0 boottrk 2 os 2.2 end #Lobo Max-80 8" CP/M 3 diskdef lobo3 seclen 512 tracks 77 sectrk 17 blocksize 2048 maxdir 64 skew 0 boottrk 2 os 3 end # PRO CP/M RZ50 DZ format (Perhaps only 79 tracks should be used?) diskdef dec_pro seclen 512 tracks 80 sectrk 10 blocksize 2048 maxdir 128 skew 2 boottrk 2 os 2.2 end # TDOS with DateStamper diskdef tdos-ds seclen 1024 tracks 77 sectrk 16 blocksize 2048 maxdir 256 skew 0 boottrk 1 os zsys end # The following entires are tested and working # Most of the images are either from Don Maslin's archive or from # Dave Dunfield's site, but not all - they are noted as well as # their size. # PMC Micromate # Dave Dunfield's Imagedisk information from DSK conversion from IMD: # IMageDisk Utility 1.18 / Mar 07 2012 # IMD 1.14: 10/03/2007 11:13:27 # PMC-101 MicroMate # CP/M Plus # System Master # Assuming 1:1 for Binary output # 0/0 250 kbps DD 5x1024 # 80 tracks(40/40), 400 sectors (12 Compressed) # Entry derived from above - image size = 409,600, from Dave Dunfield diskdef pmc101 seclen 1024 tracks 80 sectrk 5 blocksize 2048 maxdir 128 skew 0 boottrk 2 os 3 end # BEGIN td143ssdd8 Turbo Dos 1.43 - SSDD 8" - 512 x 16 # Test OK - image size = 630,784, from Don Maslin's archive diskdef td143ssdd8 seclen 512 tracks 77 sectrk 9 blocksize 1024 maxdir 64 skew 0 boottrk 0 os 2.2 # DENSITY MFM ,LOW end # BEGIN headsdd8 Heath H89, Magnolia CP/M - SSDD 8" - 512 x 16 # Test OK - image size = 630,784, from Don Maslin's archive diskdef heassdd8 seclen 512 tracks 77 sectrk 16 blocksize 2048 maxdir 128 skew 0 boottrk 2 os 2.2 # DENSITY MFM ,LOW end # Morrow Designs Micro-Decision DOUBLE # 64k CP/M Vers. 2.2 Rev.2.3 SIDED # Copyright '76, '77, '78, '79, '80 # Digital Research # Copyright 1982,1983 Morrow Designs, Inc. # Assuming 1:1 for Binary output # 0/0 250 kbps DD 5x1024 # 80 tracks(40/40), 400 sectors (128 Compressed) # Entry derived from above data # Test OK - image siae = 409600, from Dave Dunfield diskdef mordsdd seclen 1024 tracks 80 sectrk 5 blocksize 2048 maxdir 128 skew 3 boottrk 2 OS 2.2 end # BEGIN morsddd Morrow MD2 - SSDD 48 tpi 5.25" - 1024 x 5 # Test OK - image size = 204,800, from Don Maslin's archive # Also tested with image from Dave Dunfield diskdef morsddd seclen 1024 tracks 40 sectrk 5 blocksize 2048 maxdir 128 skew 3 boottrk 2 os 2.2 # DENSITY MFM ,LOW # BSH 4 BLM 15 EXM 1 DSM 94 DRM 127 AL0 0C0H AL1 0 OFS 2 end # BEGIN osb1sssd Osborne 1 - SSSD 48 tpi 5.25" - 256 x 10 # Test OK - image size = 102,400, from Don Maslin's archive diskdef osb1sssd seclen 256 tracks 40 sectrk 10 blocksize 2048 maxdir 64 skew 2 boottrk 3 os 2.2 # DENSITY MFM ,LOW # BSH 4 BLM 15 EXM 1 DSM 45 DRM 63 AL0 080H AL1 0 OFS 3 end # BEGIN ampdsdd Ampro - DSDD 48 tpi 5.25" - 512 x 10 # Test OK - image size = 409,600, from Don Maslin's archive diskdef ampdsdd seclen 1024 tracks 80 sectrk 5 blocksize 2048 maxdir 128 skew 0 boottrk 2 os 2.2 libdsk:format ampro400d # DENSITY MFM ,LOW # BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2 end # BEGIN ampdsdd80 Ampro - DSDD 96 tpi 5.25" - 512 x 10 # Test OK - image size = 819,200, from Don Maslin's archive diskdef ampdsdd80 seclen 1024 tracks 160 sectrk 5 blocksize 2048 maxdir 128 skew 0 boottrk 2 os 2.2 libdsk:format ampro800 # DENSITY MFM ,LOW # BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2 end # BEGIN altdsdd Altos - DSDD 5" - 512 x 9 # Test OK - both CP/M and MP/M - image size = 737,280, from Dave Dunfield diskdef altdsdd seclen 512 tracks 160 sectrk 9 blocksize 4096 maxdir 177 skew 0 boottrk 2 os 3 # DENSITY MFM ,HIGH # BSH 5 BLM 31 EXM 3 DSM 176 DRM 176 AL0 0C0H AL1 0 OFS 2 end # BEGIN trsomsssd TRS-80 Model 1, Omikron CP/M - SSSD 48 tpi 5.25" - 128 x 18 # Test OK - image size = 80,640, from TRS-80 Yahoo Group posting diskdef trsomsssd seclen 128 tracks 35 sectrk 18 blocksize 1024 maxdir 64 skew 4 boottrk 3 os 2.2 # DENSITY FM ,LOW # BSH 3 BLM 7 EXM 0 DSM 71 DRM 63 AL0 0C0H AL1 0 OFS 3 end # Memotech type 03, ie: 3.5" or 5.25", D/S, D/D, S/T # 40 tracks, 2 sides, 16 sectors/track, 256 bytes/sector # Bytes on the media = 2*40*16*256 = 327680 # CP/M sees 26 128 byte records per track (similar to 8" disks). # Tracks = 327680/(26*128) = 98 # Data is in 2048 byte blocks, on track 2 onwards # Blocks = ((98-2)*26*128)/2048 = 156, which agrees with DPB diskdef memotech-type03 seclen 128 tracks 98 sectrk 26 blocksize 2048 maxdir 64 skew 1 boottrk 2 os 2.2 end # Memotech type 07, ie: 3.5" or 5.25", D/S, D/D, D/T # 80 tracks, 2 sides, 16 sectors/track, 256 bytes/sector # Bytes on the media = 2*80*16*256 = 655360 # CP/M sees 26 128 byte records per track (similar to 8" disks). # Tracks = 655360/(26*128) = 196 # Data is in 2048 byte blocks, on track 2 onwards # Blocks = ((196-2)*26*128)/2048 = 315, which agrees with DPB diskdef memotech-type07 seclen 128 tracks 196 sectrk 26 blocksize 2048 maxdir 128 skew 1 boottrk 2 os 2.2 end # Memotech type 43, ie: 1MB Silicon Disc # CP/M sees 26 128 byte records per track # Note: Unlike common practice with real physical disks, with real geometry, # the DPB for Silicon Discs includes blocks on the last incomplete track # Tracks = 1048576/(26*128) = 315.07 # Data is in 4096 byte blocks, on track 2 onwards # Blocks = (1048576-2*26*128)/4096 = 254, which agrees with DPB # Blocks = ((315-2)*26*128)/4096 = 254, so we don't need the 0.07 track diskdef memotech-type43 seclen 128 tracks 315 sectrk 26 blocksize 4096 maxdir 256 skew 1 boottrk 2 os 2.2 end # Memotech type 47, ie: 2MB Silicon Disc # CP/M sees 26 128 byte records per track # Note: Unlike common practice with real physical disks, with real geometry, # the DPB for Silicon Discs includes blocks on the last incomplete track # Tracks = 2097152/(26*128) = 630.15 # Data is in 4096 byte blocks, on track 2 onwards # Blocks = (2097152-2*26*128)/4096 = 510, which agrees with DPB # Blocks = ((630-2)*26*128)/4096 = 510, so we don't need the 0.15 track diskdef memotech-type47 seclen 128 tracks 630 sectrk 26 blocksize 4096 maxdir 256 skew 1 boottrk 2 os 2.2 end # Memotech type 4B, ie: 4MB Silicon Disc # CP/M sees 26 128 byte records per track # Note: Unlike common practice with real physical disks, with real geometry, # the DPB for Silicon Discs includes blocks on the last incomplete track # Tracks = 4194304/(26*128) = 1260.3 # Data is in 4096 byte blocks, on track 2 onwards # Blocks = (4194304-2*26*128)/4096 = 1022, which agrees with DPB # Blocks = ((1260-2)*26*128)/4096 = 1022, so we don't need the 0.3 track diskdef memotech-type4B seclen 128 tracks 1260 sectrk 26 blocksize 4096 maxdir 512 skew 1 boottrk 2 os 2.2 end # Memotech type 4F, ie: 8MB Silicon Disc # CP/M sees 26 128 byte records per track # Note: Unlike common practice with real physical disks, with real geometry, # the DPB for Silicon Discs includes blocks on the last incomplete track # Tracks = 8388608/(26*128) = 2520.61 # Data is in 4096 byte blocks, on track 2 onwards # Blocks = (8388608-2*26*128)/4096 = 2046, which agrees with DPB # Blocks = ((2520-2)*26*128)/4096 = 2045, so we need the extra 0.61 track diskdef memotech-type4F seclen 128 tracks 2521 sectrk 26 blocksize 4096 maxdir 512 skew 1 boottrk 2 os 2.2 end # Memotech type 18, ie: 8MB SD Card # CP/M sees 26 128 byte records per track # Note: Unlike common practice with real physical disks, with real geometry, # the DPB for SD Cards includes blocks on the last incomplete track # Tracks = 8388608/(26*128) = 2520.61 # Data is in 4096 byte blocks, on track 2 onwards # Blocks = (8388608-2*26*128)/4096 = 2046, which agrees with DPB # Blocks = ((2520-2)*26*128)/4096 = 2045, so we need the extra 0.61 track diskdef memotech-type18 seclen 128 tracks 2521 sectrk 26 blocksize 4096 maxdir 512 skew 1 boottrk 2 os 2.2 end # Memotech type 19, ie: 8MB SD Card diskdef memotech-type19 seclen 128 tracks 2521 sectrk 26 blocksize 4096 maxdir 512 skew 1 boottrk 2 os 2.2 offset 8M end # Memotech type 1A, ie: 8MB SD Card diskdef memotech-type1A seclen 128 tracks 2521 sectrk 26 blocksize 4096 maxdir 512 skew 1 boottrk 2 os 2.2 offset 16M end # Memotech type 1B, ie: 8MB SD Card diskdef memotech-type1B seclen 128 tracks 2521 sectrk 26 blocksize 4096 maxdir 512 skew 1 boottrk 2 os 2.2 offset 24M end # Memotech type 1C, ie: 8MB SD Card diskdef memotech-type1C seclen 128 tracks 2521 sectrk 26 blocksize 4096 maxdir 512 skew 1 boottrk 2 os 2.2 offset 32M end # Memotech type 1D, ie: 8MB SD Card diskdef memotech-type1D seclen 128 tracks 2521 sectrk 26 blocksize 4096 maxdir 512 skew 1 boottrk 2 os 2.2 offset 40M end # Memotech type 1E, ie: 8MB SD Card diskdef memotech-type1E seclen 128 tracks 2521 sectrk 26 blocksize 4096 maxdir 512 skew 1 boottrk 2 os 2.2 offset 48M end # Memotech type 1F, ie: 8MB SD Card diskdef memotech-type1F seclen 128 tracks 2521 sectrk 26 blocksize 4096 maxdir 512 skew 1 boottrk 2 os 2.2 offset 56M end # Memotech type 50, ie: 256KB RAM Disc # CP/M sees 26 128 byte records per track # Note: Unlike common practice with real physical disks, with real geometry, # the DPB for RAM Discs includes blocks on the last incomplete track # Tracks = 262144/(26*128) = 78.76 # Data is in 1024 byte blocks, on track 2 onwards # Blocks = (262144-2*26*128)/1024 = 249, which agrees with DPB # Blocks = ((78-2)*26*128)/1024 = 247, so we need the extra 0.76 track diskdef memotech-type50 seclen 128 tracks 79 sectrk 26 blocksize 1024 maxdir 64 skew 1 boottrk 2 os 2.2 end # Memotech type 51, ie: 512KB RAM Disc # CP/M sees 26 128 byte records per track # Note: Unlike common practice with real physical disks, with real geometry, # the DPB for RAM Discs includes blocks on the last incomplete track # Tracks = 524288/(26*128) = 157.53 # Data is in 2048 byte blocks, on track 2 onwards # Blocks = (524288-2*26*128)/2048 = 252, which agrees with DPB # Blocks = ((157-2)*26*128)/2048 = 251, so we need the extra 0.53 track diskdef memotech-type51 seclen 128 tracks 158 sectrk 26 blocksize 2048 maxdir 128 skew 1 boottrk 2 os 2.2 end # Memotech type 51, as used in Italy, ie: 480KB RAM Disc # CP/M sees 26 128 byte records per track # Note: Unlike common practice with real physical disks, with real geometry, # the DPB for RAM Discs includes blocks on the last incomplete track # Tracks = 491520/(26*128) = 147.69 # Data is in 2048 byte blocks, on track 2 onwards # Blocks = (491520-2*26*128)/2048 = 236, which agrees with DPB # Blocks = ((147-2)*26*128)/2048 = 235, so we need the extra 0.69 track diskdef memotech-type51-italy seclen 128 tracks 148 sectrk 26 blocksize 2048 maxdir 128 skew 1 boottrk 2 os 2.2 end # Memotech type 51, after S2R64.COM, ie: 448KB RAM Disc # CP/M sees 26 128 byte records per track # Note: Unlike common practice with real physical disks, with real geometry, # the DPB for RAM Discs includes blocks on the last incomplete track # Tracks = 458752/(26*128) = 137.84 # Data is in 2048 byte blocks, on track 2 onwards # Blocks = (458752-2*26*128)/2048 = 220, which agrees with DPB, after S2R64.COM # Blocks = ((137-2)*26*128)/2048 = 219, so we need the extra 0.84 track diskdef memotech-type51-s2r64 seclen 128 tracks 138 sectrk 26 blocksize 2048 maxdir 128 skew 1 boottrk 2 os 2.2 end # Memotech type 51, after S2R.COM, ie: 144KB RAM Disc # CP/M sees 26 128 byte records per track # Note: Unlike common practice with real physical disks, with real geometry, # the DPB for RAM Discs includes blocks on the last incomplete track # Tracks = 147456/(26*128) = 44.3 # Data is in 2048 byte blocks, on track 2 onwards # Blocks = (147456-2*26*128)/2048 = 68, which agrees with DPB, after S2R.COM # Blocks = ((44-2)*26*128)/2048 = 68, so we don't need the extra 0.3 track diskdef memotech-type51-s2r seclen 128 tracks 44 sectrk 26 blocksize 2048 maxdir 128 skew 1 boottrk 2 os 2.2 end # Memotech type 52, ie: 320KB RAM Disc # Added for REMEMOTECH # CP/M sees 26 128 byte records per track # Note: Unlike common practice with real physical disks, with real geometry, # the DPB for RAM Discs includes blocks on the last incomplete track # Tracks = 327680/(26*128) = 98.46 # Data is in 2048 byte blocks, on track 2 onwards # Blocks = (327680-2*26*128)/2048 = 156 # Blocks = ((98-2)*26*128)/2048 = 156, so we don't need the extra 0.46 track # This type very deliberately and conveniently exactly matches type 03 diskdef memotech-type52 seclen 128 tracks 98 sectrk 26 blocksize 2048 maxdir 64 skew 1 boottrk 2 os 2.2 end # Research Machines 380Z/480Z 5.25" "Single Density" or "MDS" format. # All tracks are formatted FM 16x128. diskdef rm-sd seclen 128 tracks 40 sectrk 16 blocksize 1024 maxdir 64 skew 3 boottrk 3 os 2.2 end # Research Machines 380Z/480Z 5.25" "Double Density" or "MD" format. # Track 0 is formatted FM 16x128; 1+ are MFM 9x512. # If you're working with an image file, make sure that track 0 is # padded to be the same size as the other tracks. diskdef rm-dd seclen 512 tracks 40 sectrk 9 blocksize 1024 maxdir 64 skew 5 boottrk 3 os 2.2 end # Research Machines 380Z/480Z 5.25" "Quad Density" or "MQ" format. # Track 0 is formatted FM 16x128; 1+ are MFM 9x512. diskdef rm-qd seclen 512 tracks 80 sectrk 9 blocksize 2048 maxdir 128 skew 5 boottrk 3 os 2.2 end # Ampro Little Board Z80 running CP/M 2.21 # BEGIN AMP1 Ampro - SSDD 48 tpi 5.25" # DENSITY MFM, LOW # CYLINDERS 40 SIDES 1 SECTORS 10,512 SKEW 2 # SIDE1 0 1,2,3,4,5,6,7,8,9,10 # BSH 4 BLM 15 EXM 1 DSM 94 DRM 63 AL0 080H AL1 0 OFS 2 # END diskdef amp1 seclen 512 #= Sectors xx,512 tracks 40 #= (Cylinders * Sides) = 40*1 = 40 sectrk 10 #= Sectors 10,xxx blocksize 2048 #= (128*(BLM+1)) = 2048 maxdir 64 #(DRM+1) = 64 skew 0 #= SKEW = 0 boottrk 2 #= OFS = 2 os 2.2 end #BEGIN AMP2 Ampro - DSDD 48 tpi 5.25" #DENSITY MFM, LOW #CYLINDERS 40 SIDES 2 #SECTORS 10,512 #SKEW 2 #SIDE1 0 17,18,19,20,21,22,23,24,25,26 #SIDE2 1 17,18,19,20,21,22,23,24,25,26 #ORDER SIDES #BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2 #END # setfdprm /dev/fd0 DS DD ssize=512 cyl=40 sect=10 head=2 diskdef amp2 seclen 512 tracks 80 sectrk 10 blocksize 2048 maxdir 128 skew 0 boottrk 2 os 2.2 end #BEGIN AMP3 Ampro - SSDD 96 tpi 3.5" #DENSITY MFM, LOW #CYLINDERS 80 SIDES 1 SECTORS 5,1024 SKEW 2 #SIDE1 0 1,2,3,4,5 #BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2 #END # setfdprm /dev/fd0 SS DD ssize=1024 cyl=80 sect=5 head=1 diskdef amp3 seclen 1024 tracks 80 sectrk 5 blocksize 2048 maxdir 128 skew 0 boottrk 2 os 2.2 end #BEGIN AMP4 Ampro - DSDD 96 tpi 3.5" #DENSITY MFM, LOW #CYLINDERS 80 SIDES 2 SECTORS 5,1024 SKEW 2 #SIDE1 0 17,18,19,20,21 #SIDE2 1 17,18,19,20,21 #ORDER SIDES #BSH 4 BLM 15 EXM 0 DSM 394 DRM 255 AL0 0F0H AL1 0 OFS 2 #END # setfdprm /dev/fd0 DS DD ssize=1024 cyl=80 sect=5 head=2 diskdef amp4 seclen 1024 tracks 160 sectrk 5 blocksize 2048 maxdir 256 skew 0 boottrk 2 os 2.2 end #BEGIN AMP5 Ampro - SSDD 3.5" #DENSITY MFM, LOW #CYLINDERS 80 SIDES 1 SECTORS 5,1024 SKEW 2 #SIDE1 0 1,2,3,4,5 #BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2 #END # setfdprm /dev/fd0 SS DD ssize=1024 cyl=80 sect=5 head=1 diskdef amp5 seclen 1024 tracks 80 sectrk 5 blocksize 2048 maxdir 128 skew 0 boottrk 2 os 2.2 end #BEGIN AMP6 Ampro - DSDD 3.5" #DENSITY MFM, LOW #CYLINDERS 80 SIDES 2 SECTORS 5,1024 SKEW 2 #SIDE1 0 17,18,19,20,21 #SIDE2 1 17,18,19,20,21 #ORDER SIDES #BSH 4 BLM 15 EXM 0 DSM 394 DRM 255 AL0 0F0H AL1 0 OFS 2 #END # setfdprm /dev/fd0 DS DD ssize=1024 cyl=80 sect=5 head=2 diskdef amp6 seclen 1024 tracks 160 sectrk 5 blocksize 2048 maxdir 256 skew 0 boottrk 2 os 2.2 end diskdef ampro800 seclen 1024 tracks 160 sectrk 5 blocksize 2048 maxdir 256 skew 0 boottrk 2 os 2.2 end