38 # this format uses 15 sectors per track, but 30 per cylinder
47 # CP/M 86 on 1.44MB floppies
60 # CP/M 86 on 720KB floppies
84 #amstrad: values are read from super block (special name hardcoded)
87 # setfdprm /dev/fd1 dd ssize=256 cyl=40 sect=16 head=2
99 # Apple II CP/M skew o Apple II DOS 3.3 skew
106 skewtab 0,6,12,3,9,15,14,5,11,2,8,7,13,4,10,1
111 # Apple II CP/M skew o Apple II PRODOS skew
118 skewtab 0,9,3,12,6,15,1,10,4,13,7,8,2,11,5,14
123 # MYZ80 hard drive (only works with libdsk, because it has a 256-byte header)
136 # Despite being Amstrad formats, CPC System and CPC Data don't have an Amstrad
137 # superblock. You'll need to use libdsk to access them because the Linux
138 # and Windows kernel drivers won't touch them.
159 libdsk:format cpcdata
162 # after being read in with no sector skew.
165 # NigDos double sided disk format, 42 tracks * 2 sides
172 # this format wastes half of the directory entry
222 # setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48 head=1
236 # setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48
290 # Start of second partition
295 # AT&T/Olivetti Word Processor
304 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
308 # setfdprm /dev/fd0 zerobased SS DD ssize=512 cyl=40 sect=10 head=1
321 # setfdprm /dev/fd0 zerobased DS DD ssize=512 cyl=40 sect=10 head=2
334 # setfdprm /dev/fd0 dd sect=10
382 # Robotron 1715 with SCP3
450 # Visual Technology Visual 1050 computer
462 # Microbee 40 track 5.25" disks
469 skewtab 1,4,7,0,3,6,9,2,5,8
480 skewtab 1,4,7,0,3,6,9,2,5,8
491 skewtab 1,4,7,0,3,6,9,2,5,8
506 # ICL Comet: 40 track 5.25" Single Sided
508 diskdef icl-comet-525ss
514 skewtab 0,3,6,9,2,5,8,1,4,7
541 # Bondwell 12 and 14 disk images in IMD raw binary format
564 ############################
565 # north star cp/m disks
566 ############################
568 #North Star floppy 360K
582 #North Star CP/M Virtual-Disk file on Hard Disk
583 # prepared with allocation factor = 4
584 # as in "CR CPMB 4000 4"
585 # needs to be copied off hard drive before you can
586 # work on it with cpmtools
600 #North Star CP/M Virtual-Disk file on Hard Disk
601 # prepared with allocation factor = 8
602 # as in "CR CPMB 6000 8"
603 # needs to be copied off hard drive before you can
604 # work on it with cpmtools
617 # Northstar Micro-Disk System MDS-A-D 175
630 # Northstar Micro-Disk System MDS-A-D 350
654 # Osborne Nuevo/Vixen/4
666 # Lobo Max-80 8" CP/M 2
678 #Lobo Max-80 8" CP/M 3
690 # PRO CP/M RZ50 DZ format (Perhaps only 79 tracks should be used?)
702 # TDOS with DateStamper
714 # The following entires are tested and working
715 # Most of the images are either from Don Maslin's archive or from
716 # Dave Dunfield's site, but not all - they are noted as well as
720 # Dave Dunfield's Imagedisk information from DSK conversion from IMD:
721 # IMageDisk Utility 1.18 / Mar 07 2012
722 # IMD 1.14: 10/03/2007 11:13:27
726 # Assuming 1:1 for Binary output
727 # 0/0 250 kbps DD 5x1024
728 # 80 tracks(40/40), 400 sectors (12 Compressed)
729 # Entry derived from above - image size = 409,600, from Dave Dunfield
741 # BEGIN td143ssdd8 Turbo Dos 1.43 - SSDD 8" - 512 x 16
742 # Test OK - image size = 630,784, from Don Maslin's archive
755 # BEGIN headsdd8 Heath H89, Magnolia CP/M - SSDD 8" - 512 x 16
756 # Test OK - image size = 630,784, from Don Maslin's archive
769 # Morrow Designs Micro-Decision DOUBLE
770 # 64k CP/M Vers. 2.2 Rev.2.3 SIDED
771 # Copyright '76, '77, '78, '79, '80
773 # Copyright 1982,1983 Morrow Designs, Inc.
774 # Assuming 1:1 for Binary output
775 # 0/0 250 kbps DD 5x1024
776 # 80 tracks(40/40), 400 sectors (128 Compressed)
777 # Entry derived from above data
778 # Test OK - image siae = 409600, from Dave Dunfield
791 # BEGIN morsddd Morrow MD2 - SSDD 48 tpi 5.25" - 1024 x 5
792 # Test OK - image size = 204,800, from Don Maslin's archive
793 # Also tested with image from Dave Dunfield
804 # BSH 4 BLM 15 EXM 1 DSM 94 DRM 127 AL0 0C0H AL1 0 OFS 2
807 # BEGIN osb1sssd Osborne 1 - SSSD 48 tpi 5.25" - 256 x 10
808 # Test OK - image size = 102,400, from Don Maslin's archive
819 # BSH 4 BLM 15 EXM 1 DSM 45 DRM 63 AL0 080H AL1 0 OFS 3
822 # BEGIN ampdsdd Ampro - DSDD 48 tpi 5.25" - 512 x 10
823 # Test OK - image size = 409,600, from Don Maslin's archive
833 libdsk:format ampro400d
835 # BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2
838 # BEGIN ampdsdd80 Ampro - DSDD 96 tpi 5.25" - 512 x 10
839 # Test OK - image size = 819,200, from Don Maslin's archive
849 libdsk:format ampro800
851 # BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2
854 # BEGIN altdsdd Altos - DSDD 5" - 512 x 9
855 # Test OK - both CP/M and MP/M - image size = 737,280, from Dave Dunfield
866 # BSH 5 BLM 31 EXM 3 DSM 176 DRM 176 AL0 0C0H AL1 0 OFS 2
869 # BEGIN trsomsssd TRS-80 Model 1, Omikron CP/M - SSSD 48 tpi 5.25" - 128 x 18
870 # Test OK - image size = 80,640, from TRS-80 Yahoo Group posting
881 # BSH 3 BLM 7 EXM 0 DSM 71 DRM 63 AL0 0C0H AL1 0 OFS 3
884 # Memotech type 03, ie: 3.5" or 5.25", D/S, D/D, S/T
885 # 40 tracks, 2 sides, 16 sectors/track, 256 bytes/sector
886 # Bytes on the media = 2*40*16*256 = 327680
887 # CP/M sees 26 128 byte records per track (similar to 8" disks).
888 # Tracks = 327680/(26*128) = 98
889 # Data is in 2048 byte blocks, on track 2 onwards
890 # Blocks = ((98-2)*26*128)/2048 = 156, which agrees with DPB
892 diskdef memotech-type03
903 # Memotech type 07, ie: 3.5" or 5.25", D/S, D/D, D/T
904 # 80 tracks, 2 sides, 16 sectors/track, 256 bytes/sector
905 # Bytes on the media = 2*80*16*256 = 655360
906 # CP/M sees 26 128 byte records per track (similar to 8" disks).
907 # Tracks = 655360/(26*128) = 196
908 # Data is in 2048 byte blocks, on track 2 onwards
909 # Blocks = ((196-2)*26*128)/2048 = 315, which agrees with DPB
911 diskdef memotech-type07
922 # Memotech type 43, ie: 1MB Silicon Disc
923 # CP/M sees 26 128 byte records per track
924 # Note: Unlike common practice with real physical disks, with real geometry,
925 # the DPB for Silicon Discs includes blocks on the last incomplete track
926 # Tracks = 1048576/(26*128) = 315.07
927 # Data is in 4096 byte blocks, on track 2 onwards
928 # Blocks = (1048576-2*26*128)/4096 = 254, which agrees with DPB
929 # Blocks = ((315-2)*26*128)/4096 = 254, so we don't need the 0.07 track
930 diskdef memotech-type43
941 # Memotech type 47, ie: 2MB Silicon Disc
942 # CP/M sees 26 128 byte records per track
943 # Note: Unlike common practice with real physical disks, with real geometry,
944 # the DPB for Silicon Discs includes blocks on the last incomplete track
945 # Tracks = 2097152/(26*128) = 630.15
946 # Data is in 4096 byte blocks, on track 2 onwards
947 # Blocks = (2097152-2*26*128)/4096 = 510, which agrees with DPB
948 # Blocks = ((630-2)*26*128)/4096 = 510, so we don't need the 0.15 track
949 diskdef memotech-type47
960 # Memotech type 4B, ie: 4MB Silicon Disc
961 # CP/M sees 26 128 byte records per track
962 # Note: Unlike common practice with real physical disks, with real geometry,
963 # the DPB for Silicon Discs includes blocks on the last incomplete track
964 # Tracks = 4194304/(26*128) = 1260.3
965 # Data is in 4096 byte blocks, on track 2 onwards
966 # Blocks = (4194304-2*26*128)/4096 = 1022, which agrees with DPB
967 # Blocks = ((1260-2)*26*128)/4096 = 1022, so we don't need the 0.3 track
968 diskdef memotech-type4B
979 # Memotech type 4F, ie: 8MB Silicon Disc
980 # CP/M sees 26 128 byte records per track
981 # Note: Unlike common practice with real physical disks, with real geometry,
982 # the DPB for Silicon Discs includes blocks on the last incomplete track
983 # Tracks = 8388608/(26*128) = 2520.61
984 # Data is in 4096 byte blocks, on track 2 onwards
985 # Blocks = (8388608-2*26*128)/4096 = 2046, which agrees with DPB
986 # Blocks = ((2520-2)*26*128)/4096 = 2045, so we need the extra 0.61 track
987 diskdef memotech-type4F
998 # Memotech type 18, ie: 8MB SD Card
999 # CP/M sees 26 128 byte records per track
1000 # Note: Unlike common practice with real physical disks, with real geometry,
1001 # the DPB for SD Cards includes blocks on the last incomplete track
1002 # Tracks = 8388608/(26*128) = 2520.61
1003 # Data is in 4096 byte blocks, on track 2 onwards
1004 # Blocks = (8388608-2*26*128)/4096 = 2046, which agrees with DPB
1005 # Blocks = ((2520-2)*26*128)/4096 = 2045, so we need the extra 0.61 track
1006 diskdef memotech-type18
1017 # Memotech type 19, ie: 8MB SD Card
1018 diskdef memotech-type19
1030 # Memotech type 1A, ie: 8MB SD Card
1031 diskdef memotech-type1A
1043 # Memotech type 1B, ie: 8MB SD Card
1044 diskdef memotech-type1B
1056 # Memotech type 1C, ie: 8MB SD Card
1057 diskdef memotech-type1C
1069 # Memotech type 1D, ie: 8MB SD Card
1070 diskdef memotech-type1D
1082 # Memotech type 1E, ie: 8MB SD Card
1083 diskdef memotech-type1E
1095 # Memotech type 1F, ie: 8MB SD Card
1096 diskdef memotech-type1F
1108 # Memotech type 50, ie: 256KB RAM Disc
1109 # CP/M sees 26 128 byte records per track
1110 # Note: Unlike common practice with real physical disks, with real geometry,
1111 # the DPB for RAM Discs includes blocks on the last incomplete track
1112 # Tracks = 262144/(26*128) = 78.76
1113 # Data is in 1024 byte blocks, on track 2 onwards
1114 # Blocks = (262144-2*26*128)/1024 = 249, which agrees with DPB
1115 # Blocks = ((78-2)*26*128)/1024 = 247, so we need the extra 0.76 track
1116 diskdef memotech-type50
1127 # Memotech type 51, ie: 512KB RAM Disc
1128 # CP/M sees 26 128 byte records per track
1129 # Note: Unlike common practice with real physical disks, with real geometry,
1130 # the DPB for RAM Discs includes blocks on the last incomplete track
1131 # Tracks = 524288/(26*128) = 157.53
1132 # Data is in 2048 byte blocks, on track 2 onwards
1133 # Blocks = (524288-2*26*128)/2048 = 252, which agrees with DPB
1134 # Blocks = ((157-2)*26*128)/2048 = 251, so we need the extra 0.53 track
1135 diskdef memotech-type51
1146 # Memotech type 51, as used in Italy, ie: 480KB RAM Disc
1147 # CP/M sees 26 128 byte records per track
1148 # Note: Unlike common practice with real physical disks, with real geometry,
1149 # the DPB for RAM Discs includes blocks on the last incomplete track
1150 # Tracks = 491520/(26*128) = 147.69
1151 # Data is in 2048 byte blocks, on track 2 onwards
1152 # Blocks = (491520-2*26*128)/2048 = 236, which agrees with DPB
1153 # Blocks = ((147-2)*26*128)/2048 = 235, so we need the extra 0.69 track
1154 diskdef memotech-type51-italy
1165 # Memotech type 51, after S2R64.COM, ie: 448KB RAM Disc
1166 # CP/M sees 26 128 byte records per track
1167 # Note: Unlike common practice with real physical disks, with real geometry,
1168 # the DPB for RAM Discs includes blocks on the last incomplete track
1169 # Tracks = 458752/(26*128) = 137.84
1170 # Data is in 2048 byte blocks, on track 2 onwards
1171 # Blocks = (458752-2*26*128)/2048 = 220, which agrees with DPB, after S2R64.COM
1172 # Blocks = ((137-2)*26*128)/2048 = 219, so we need the extra 0.84 track
1173 diskdef memotech-type51-s2r64
1184 # Memotech type 51, after S2R.COM, ie: 144KB RAM Disc
1185 # CP/M sees 26 128 byte records per track
1186 # Note: Unlike common practice with real physical disks, with real geometry,
1187 # the DPB for RAM Discs includes blocks on the last incomplete track
1188 # Tracks = 147456/(26*128) = 44.3
1189 # Data is in 2048 byte blocks, on track 2 onwards
1190 # Blocks = (147456-2*26*128)/2048 = 68, which agrees with DPB, after S2R.COM
1191 # Blocks = ((44-2)*26*128)/2048 = 68, so we don't need the extra 0.3 track
1192 diskdef memotech-type51-s2r
1203 # Memotech type 52, ie: 320KB RAM Disc
1204 # Added for REMEMOTECH
1205 # CP/M sees 26 128 byte records per track
1206 # Note: Unlike common practice with real physical disks, with real geometry,
1207 # the DPB for RAM Discs includes blocks on the last incomplete track
1208 # Tracks = 327680/(26*128) = 98.46
1209 # Data is in 2048 byte blocks, on track 2 onwards
1210 # Blocks = (327680-2*26*128)/2048 = 156
1211 # Blocks = ((98-2)*26*128)/2048 = 156, so we don't need the extra 0.46 track
1212 # This type very deliberately and conveniently exactly matches type 03
1213 diskdef memotech-type52
1224 # Research Machines 380Z/480Z 5.25" "Single Density" or "MDS" format.
1225 # All tracks are formatted FM 16x128.
1237 # Research Machines 380Z/480Z 5.25" "Double Density" or "MD" format.
1238 # Track 0 is formatted FM 16x128; 1+ are MFM 9x512.
1239 # If you're working with an image file, make sure that track 0 is
1240 # padded to be the same size as the other tracks.
1252 # Research Machines 380Z/480Z 5.25" "Quad Density" or "MQ" format.
1253 # Track 0 is formatted FM 16x128; 1+ are MFM 9x512.
1265 # Ampro Little Board Z80 running CP/M 2.21
1266 # BEGIN AMP1 Ampro - SSDD 48 tpi 5.25"
1268 # CYLINDERS 40 SIDES 1 SECTORS 10,512 SKEW 2
1269 # SIDE1 0 1,2,3,4,5,6,7,8,9,10
1270 # BSH 4 BLM 15 EXM 1 DSM 94 DRM 63 AL0 080H AL1 0 OFS 2
1274 seclen 512 #= Sectors xx,512
1275 tracks 40 #= (Cylinders * Sides) = 40*1 = 40
1276 sectrk 10 #= Sectors 10,xxx
1277 blocksize 2048 #= (128*(BLM+1)) = 2048
1278 maxdir 64 #(DRM+1) = 64
1280 boottrk 2 #= OFS = 2
1284 #BEGIN AMP2 Ampro - DSDD 48 tpi 5.25"
1286 #CYLINDERS 40 SIDES 2
1289 #SIDE1 0 17,18,19,20,21,22,23,24,25,26
1290 #SIDE2 1 17,18,19,20,21,22,23,24,25,26
1292 #BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2
1295 # setfdprm /dev/fd0 DS DD ssize=512 cyl=40 sect=10 head=2
1307 #BEGIN AMP3 Ampro - SSDD 96 tpi 3.5"
1309 #CYLINDERS 80 SIDES 1 SECTORS 5,1024 SKEW 2
1311 #BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2
1314 # setfdprm /dev/fd0 SS DD ssize=1024 cyl=80 sect=5 head=1
1326 #BEGIN AMP4 Ampro - DSDD 96 tpi 3.5"
1328 #CYLINDERS 80 SIDES 2 SECTORS 5,1024 SKEW 2
1329 #SIDE1 0 17,18,19,20,21
1330 #SIDE2 1 17,18,19,20,21
1332 #BSH 4 BLM 15 EXM 0 DSM 394 DRM 255 AL0 0F0H AL1 0 OFS 2
1335 # setfdprm /dev/fd0 DS DD ssize=1024 cyl=80 sect=5 head=2
1347 #BEGIN AMP5 Ampro - SSDD 3.5"
1349 #CYLINDERS 80 SIDES 1 SECTORS 5,1024 SKEW 2
1351 #BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2
1354 # setfdprm /dev/fd0 SS DD ssize=1024 cyl=80 sect=5 head=1
1366 #BEGIN AMP6 Ampro - DSDD 3.5"
1368 #CYLINDERS 80 SIDES 2 SECTORS 5,1024 SKEW 2
1369 #SIDE1 0 17,18,19,20,21
1370 #SIDE2 1 17,18,19,20,21
1372 #BSH 4 BLM 15 EXM 0 DSM 394 DRM 255 AL0 0F0H AL1 0 OFS 2
1375 # setfdprm /dev/fd0 DS DD ssize=1024 cyl=80 sect=5 head=2