49 # this format uses 15 sectors per track, but 30 per cylinder
58 # CP/M 86 on 1.44MB floppies
71 # CP/M 86 on 720KB floppies
95 #amstrad: values are read from super block (special name hardcoded)
98 # setfdprm /dev/fd1 dd ssize=256 cyl=40 sect=16 head=2
110 # Apple II CP/M skew o Apple II DOS 3.3 skew
117 skewtab 0,6,12,3,9,15,14,5,11,2,8,7,13,4,10,1
122 # Apple II CP/M skew o Apple II PRODOS skew
129 skewtab 0,9,3,12,6,15,1,10,4,13,7,8,2,11,5,14
134 # MYZ80 hard drive (only works with libdsk, because it has a 256-byte header)
147 # Despite being Amstrad formats, CPC System and CPC Data don't have an Amstrad
148 # superblock. You'll need to use libdsk to access them because the Linux
149 # and Windows kernel drivers won't touch them.
170 libdsk:format cpcdata
173 # after being read in with no sector skew.
176 # NigDos double sided disk format, 42 tracks * 2 sides
183 # this format wastes half of the directory entry
233 # setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48 head=1
247 # setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48
301 # Start of second partition
306 # AT&T/Olivetti Word Processor
315 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
319 # setfdprm /dev/fd0 zerobased SS DD ssize=512 cyl=40 sect=10 head=1
333 # setfdprm /dev/fd0 zerobased DS DD ssize=512 cyl=40 sect=10 head=2
347 # setfdprm /dev/fd0 dd sect=10
395 # Robotron 1715 with SCP3
463 # Visual Technology Visual 1050 computer
475 # Microbee 40 track 5.25" disks
482 skewtab 1,4,7,0,3,6,9,2,5,8
493 skewtab 1,4,7,0,3,6,9,2,5,8
504 skewtab 1,4,7,0,3,6,9,2,5,8
520 # ICL Comet: 40 track 5.25" Single Sided
522 diskdef icl-comet-525ss
528 skewtab 0,3,6,9,2,5,8,1,4,7
555 # Bondwell 12 and 14 disk images in IMD raw binary format
578 ############################
579 # north star cp/m disks
580 ############################
582 #North Star floppy 360K
596 #North Star CP/M Virtual-Disk file on Hard Disk
597 # prepared with allocation factor = 4
598 # as in "CR CPMB 4000 4"
599 # needs to be copied off hard drive before you can
600 # work on it with cpmtools
614 #North Star CP/M Virtual-Disk file on Hard Disk
615 # prepared with allocation factor = 8
616 # as in "CR CPMB 6000 8"
617 # needs to be copied off hard drive before you can
618 # work on it with cpmtools
631 # Northstar Micro-Disk System MDS-A-D 175
644 # Northstar Micro-Disk System MDS-A-D 350
668 # Osborne Nuevo/Vixen/4
680 # Lobo Max-80 8" CP/M 2
692 #Lobo Max-80 8" CP/M 3
704 # PRO CP/M RZ50 DZ format (Perhaps only 79 tracks should be used?)
716 # TDOS with DateStamper
728 # The following entires are tested and working
729 # Most of the images are either from Don Maslin's archive or from
730 # Dave Dunfield's site, but not all - they are noted as well as
734 # Dave Dunfield's Imagedisk information from DSK conversion from IMD:
735 # IMageDisk Utility 1.18 / Mar 07 2012
736 # IMD 1.14: 10/03/2007 11:13:27
740 # Assuming 1:1 for Binary output
741 # 0/0 250 kbps DD 5x1024
742 # 80 tracks(40/40), 400 sectors (12 Compressed)
743 # Entry derived from above - image size = 409,600, from Dave Dunfield
755 # BEGIN td143ssdd8 Turbo Dos 1.43 - SSDD 8" - 512 x 16
756 # Test OK - image size = 630,784, from Don Maslin's archive
769 # BEGIN headsdd8 Heath H89, Magnolia CP/M - SSDD 8" - 512 x 16
770 # Test OK - image size = 630,784, from Don Maslin's archive
783 # ZEN7 Zenith Z-100 - SSDD 48 tpi 5.25" - 512 x 8
795 # ZEN8 Zenith Z-100 - DSDD 48 tpi 5.25" - 512 x 8
807 # ZEN9 Zenith Z-100 - SSSD 8" - 128 x 26
819 # ZENA Zenith Z-100 - SSDD 8" - 256 x 26
831 # Morrow Designs Micro-Decision DOUBLE
832 # 64k CP/M Vers. 2.2 Rev.2.3 SIDED
833 # Copyright '76, '77, '78, '79, '80
835 # Copyright 1982,1983 Morrow Designs, Inc.
836 # Assuming 1:1 for Binary output
837 # 0/0 250 kbps DD 5x1024
838 # 80 tracks(40/40), 400 sectors (128 Compressed)
839 # Entry derived from above data
840 # Test OK - image siae = 409600, from Dave Dunfield
853 # BEGIN morsddd Morrow MD2 - SSDD 48 tpi 5.25" - 1024 x 5
854 # Test OK - image size = 204,800, from Don Maslin's archive
855 # Also tested with image from Dave Dunfield
866 # BSH 4 BLM 15 EXM 1 DSM 94 DRM 127 AL0 0C0H AL1 0 OFS 2
869 # BEGIN osb1sssd Osborne 1 - SSSD 48 tpi 5.25" - 256 x 10
870 # Test OK - image size = 102,400, from Don Maslin's archive
881 # BSH 4 BLM 15 EXM 1 DSM 45 DRM 63 AL0 080H AL1 0 OFS 3
884 # BEGIN altdsdd Altos - DSDD 5" - 512 x 9
885 # Test OK - both CP/M and MP/M - image size = 737,280, from Dave Dunfield
896 # BSH 5 BLM 31 EXM 3 DSM 176 DRM 176 AL0 0C0H AL1 0 OFS 2
899 # All TRS formats added by Larry Kraemer
901 # BEGIN trsomsssd TRS-80 Model 1, Omikron CP/M - SSSD 48 tpi 5.25" - 128 x 18
902 # Test OK - image size = 80,640, from TRS-80 Yahoo Group posting
913 # BSH 3 BLM 7 EXM 0 DSM 71 DRM 63 AL0 0C0H AL1 0 OFS 3
916 diskdef trsg #= TRS-80 Model 4,4P Montezuma System 170K - SSDD 48 tpi 5.25"
917 seclen 256 #= Sectors xx,256
918 tracks 40 #= (Cylinders * Sides) = 40*1 = 40
919 # sides alt #= Order of Cylinders = alt, outout, outback
920 sectrk 18 #= Sectors 18,xxx
921 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
922 maxdir 128 #= (DRM+1) = 128
923 # datarate DD #= DENSITY SD, DD, HD, or ED
924 # FM NO #= Format YES = FM, or NO = MFM
925 skew 2 #= [0..8] try 2
927 # #= 2, 2.2, or 3 (NO comment on next line)
931 diskdef trsh #= TRS-80 Model 4,4P Montezuma Data 200K - SSDD 48 tpi 5.25"
932 seclen 512 #= Sectors xx,512
933 tracks 40 #= (Cylinders * Sides) = 40*1 = 40
934 # sides alt #= Order of Cylinders = alt, outout, outback
935 sectrk 10 #= Sectors 10,xxx
936 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
937 maxdir 128 #= (DRM+1) = 128
938 # datarate DD #= DENSITY SD, DD, HD, or ED
939 # FM NO #= Format YES = FM, or NO = MFM
940 skew 2 #= [0..8] try 2
942 # #= 2, 2.2, or 3 (NO comment on next line)
946 diskdef trsi #= TRS-80 Model 4,4P Montezuma System 350K - DSDD 48 tpi 5.25"
947 seclen 256 #= Sectors xx,256
948 tracks 80 #= (Cylinders * Sides) = 40*2 = 80
949 # sides outout #= Order of Cylinders = alt, outout, outback
950 sectrk 18 #= Sectors 18,xxx
951 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
952 maxdir 128 #= (DRM+1) = 128
953 # datarate DD #= DENSITY SD, DD, HD, or ED
954 # FM NO #= Format YES = FM, or NO = MFM
955 skew 2 #= [0..8] try 2
957 # #= 2, 2.2, or 3 (NO comment on next line)
961 diskdef trsj #= TRS-80 Model 4,4P Montezuma Data 400K - DSDD 48 tpi 5.25"
962 seclen 512 #= Sectors xx,512
963 tracks 80 #= (Cylinders * Sides) = 40*2 = 80
964 # sides outout #= Order of Cylinders = alt, outout, outback
965 sectrk 10 #= Sectors 10,xxx
966 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
967 maxdir 128 #= (DRM+1) = 128
968 # datarate DD #= DENSITY SD, DD, HD, or ED
969 # FM NO #= Format YES = FM, or NO = MFM
970 skew 2 #= [0..8] try 2
972 # #= 2, 2.2, or 3 (NO comment on next line)
976 diskdef trsk #= TRS-80 Model 4,4P Montezuma System 350K - SSDD 96 tpi 5.25"
977 seclen 256 #= Sectors xx,256
978 tracks 80 #= (Cylinders * Sides) = 80*1 = 80
979 # sides alt #= Order of Cylinders = alt, outout, outback
980 sectrk 18 #= Sectors 18,xxx
981 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
982 maxdir 128 #= (DRM+1) = 128
983 # datarate DD #= DENSITY SD, DD, HD, or ED
984 # FM NO #= Format YES = FM, or NO = MFM
985 skew 2 #= [0..8] try 2
987 # #= 2, 2.2, or 3 (NO comment on next line)
991 diskdef trsl #= TRS-80 Model 4,4P Montezuma Data 400K - SSDD 96 tpi 5.25"
992 seclen 512 #= Sectors xx,512
993 tracks 80 #= (Cylinders * Sides) = 80*1 = 80
994 # sides alt #= Order of Cylinders = alt, outout, outback
995 sectrk 10 #= Sectors 10,xxx
996 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
997 maxdir 128 #= (DRM+1) = 128
998 # datarate DD #= DENSITY SD, DD, HD, or ED
999 # FM NO #= Format YES = FM, or NO = MFM
1000 skew 2 #= [0..8] try 2
1001 boottrk 0 #= OFS = 0
1002 # #= 2, 2.2, or 3 (NO comment on next line)
1006 diskdef trsm #= TRS-80 Model 4,4P Montezuma System 710K - DSDD 96 tpi 5.25"
1007 seclen 256 #= Sectors xx,256
1008 tracks 160 #= (Cylinders * Sides) = 80*2 = 160
1009 # sides alt #= Order of Cylinders = alt, outout, outback
1010 sectrk 18 #= Sectors 18,xxx
1011 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
1012 maxdir 128 #= (DRM+1) = 128
1013 # datarate DD #= DENSITY SD, DD, HD, or ED
1014 # FM NO #= Format YES = FM, or NO = MFM
1015 skew 2 #= [0..8] try 2
1016 boottrk 2 #= OFS = 2
1017 # #= 2, 2.2, or 3 (NO comment on next line)
1021 diskdef trsn #= TRS-80 Model 4,4P Montezuma Data 800K - DSDD 96 tpi 5.25"
1022 seclen 512 #= Sectors xx,512
1023 tracks 160 #= (Cylinders * Sides) = 80*2 = 160
1024 # sides alt #= Order of Cylinders = alt, outout, outback
1025 sectrk 10 #= Sectors 10,xxx
1026 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
1027 maxdir 128 #= (DRM+1) = 128
1028 # datarate DD #= DENSITY SD, DD, HD, or ED
1029 # FM NO #= Format YES = FM, or NO = MFM
1030 skew 0 #= [0..8] try 2
1031 boottrk 0 #= OFS = 0
1032 # #= 2, 2.2, or 3 (NO comment on next line)
1036 diskdef trso #= TRS-80 Model 4,4P Montezuma Extend System 190K - SSDD 48 tpi 5.25"
1037 seclen 512 #= Sectors xx,512
1038 tracks 40 #= (Cylinders * Sides) = 40*1 = 40
1039 # sides alt #= Order of Cylinders = alt, outout, outback
1040 sectrk 10 #= Sectors 10,xxx
1041 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
1042 maxdir 128 #= (DRM+1) = 128
1043 # datarate DD #= DENSITY SD, DD, HD, or ED
1044 # FM NO #= Format YES = FM, or NO = MFM
1045 skew 2 #= [0..8] try x
1046 boottrk 2 #= OFS = 2
1047 # #= 2, 2.2, or 3 (NO comment on next line)
1051 diskdef trsp #= TRS-80 Model 4,4P Montezuma Extend System 390K - DSDD 48 tpi 5.25"
1052 seclen 512 #= Sectors xx,512
1053 tracks 80 #= (Cylinders * Sides) = 40*2 = 80
1054 # sides alt #= Order of Cylinders = alt, outout, outback
1055 sectrk 10 #= Sectors 10,xxx
1056 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
1057 maxdir 128 #= (DRM+1) = 128
1058 # datarate DD #= DENSITY SD, DD, HD, or ED
1059 # FM NO #= Format YES = FM, or NO = MFM
1060 skew 2 #= [0..8] try 2
1061 boottrk 2 #= OFS = 2
1062 # #= 2, 2.2, or 3 (NO comment on next line)
1066 diskdef trsq #= TRS-80 Model 4,4P Montezuma Extend System 390K - SSDD 96 tpi 5.25"
1067 seclen 512 #= Sectors xx,512
1068 tracks 80 #= (Cylinders * Sides) = 80*1 = 80
1069 # sides alt #= Order of Cylinders = alt, outout, outback
1070 sectrk 10 #= Sectors 10,xxx
1071 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
1072 maxdir 128 #= (DRM+1) = 128
1073 # datarate DD #= DENSITY SD, DD, HD, or ED
1074 # FM NO #= Format YES = FM, or NO = MFM
1075 skew 2 #= [0..8] try 2
1076 boottrk 2 #= OFS = 2
1077 # #= 2, 2.2, or 3 (NO comment on next line)
1081 diskdef trsr #= TRS-80 Model 4,4P Montezuma Extend System 790K - DSDD 96 tpi 5.25"
1082 seclen 512 #= Sectors xx,512
1083 tracks 160 #= (Cylinders * Sides) = 80*2 = 160
1084 # sides alt #= Order of Cylinders = alt, outout, outback
1085 sectrk 10 #= Sectors 10,xxx
1086 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
1087 maxdir 128 #= (DRM+1) = 128
1088 # datarate DD #= DENSITY SD, DD, HD, or ED
1089 # FM NO #= Format YES = FM, or NO = MFM
1090 skew 2 #= [0..8] try 2
1091 boottrk 2 #= OFS = 2
1092 # #= 2, 2.2, or 3 (NO comment on next line)
1096 diskdef trss #= TRS-80 Model 4,4P Montezuma Super Data 220K - SSDD 48 tpi 5.25"
1097 seclen 1024 #= Sectors xx,1024
1098 tracks 40 #= (Cylinders * Sides) = 40*1 = 40
1099 # sides alt #= Order of Cylinders = alt, outout, outback
1100 sectrk 6 #= Sectors 6,xxx
1101 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
1102 maxdir 128 #= (DRM+1) = 128
1103 # datarate DD #= DENSITY SD, DD, HD, or ED
1104 # FM NO #= Format YES = FM, or NO = MFM
1105 skew 2 #= [0..8] try 2
1106 boottrk 0 #= OFS = 0
1107 # #= 2, 2.2, or 3 (NO comment on next line)
1111 diskdef trst #= TRS-80 Model 4,4P Montezuma Super Data 440K - DSDD 48 tpi 5.25"
1112 seclen 1024 #= Sectors xx,1024
1113 tracks 80 #= (Cylinders * Sides) = 40*2 = 80
1114 # sides outout #= Order of Cylinders = alt, outout, outback
1115 sectrk 6 #= Sectors 6,xxx
1116 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
1117 maxdir 128 #= (DRM+1) = 128
1118 # datarate DD #= DENSITY SD, DD, HD, or ED
1119 # FM NO #= Format YES = FM, or NO = MFM
1120 skew 2 #= [0..8] try 2
1121 boottrk 0 #= OFS = 0
1122 # #= 2, 2.2, or 3 (NO comment on next line)
1126 diskdef trsu #= TRS-80 Model 4,4P Montezuma Super Data 440K - SSDD 96 tpi 5.25"
1127 seclen 1024 #= Sectors xx,1024
1128 tracks 80 #= (Cylinders * Sides) = 80*1 = 80
1129 # sides alt #= Order of Cylinders = alt, outout, outback
1130 sectrk 6 #= Sectors 6,xxx
1131 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
1132 maxdir 128 #= (DRM+1) = 128
1133 # datarate DD #= DENSITY SD, DD, HD, or ED
1134 # FM NO #= Format YES = FM, or NO = MFM
1135 skew 2 #= [0..8] try 2
1136 boottrk 0 #= OFS = 0
1137 # #= 2, 2.2, or 3 (NO comment on next line)
1141 diskdef trsv #= TRS-80 Model 4,4P Montezuma Super Data 880K - DSDD 96 tpi 5.25"
1142 seclen 1024 #= Sectors xx,1024
1143 tracks 160 #= (Cylinders * Sides) = 80*2 = 160
1144 # sides alt #= Order of Cylinders = alt, outout, outback
1145 sectrk 6 #= Sectors 6,xxx
1146 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
1147 maxdir 128 #= (DRM+1) = 128
1148 # datarate DD #= DENSITY SD, DD, HD, or ED
1149 # FM NO #= Format YES = FM, or NO = MFM
1150 skew 2 #= [0..8] try x
1151 boottrk 0 #= OFS = 0
1152 # #= 2, 2.2, or 3 (NO comment on next line)
1156 diskdef trsw #= TRS-80 Model 4,4P Montezuma System 400K - SSDD 96 tpi 3.5"
1157 seclen 512 #= Sectors xx,512
1158 tracks 80 #= (Cylinders * Sides) = 80*1 = 80
1159 # sides alt #= Order of Cylinders = alt, outout, outback
1160 sectrk 10 #= Sectors 10,xxx
1161 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
1162 maxdir 128 #= (DRM+1) = 128
1163 # datarate DD #= DENSITY SD, DD, HD, or ED
1164 # FM NO #= Format YES = FM, or NO = MFM
1165 skew 2 #= [0..8] try 2
1166 boottrk 0 #= OFS = 0
1167 # #= 2, 2.2, or 3 (NO comment on next line)
1171 #BEGIN TRSE TRS-80 II/12/16 Aton CP/M - SSHD 8" - 1024 x 8
1186 # TRSF TRS-80 II/12/16 Aton CP/M - DSHD 8" - 1024 x 8
1200 # TRS5 TRS-80, Lifeboat CP/M (1024 bytes/sector) - SSDD 8"
1201 # The first track is 26 sectors with 128 bytes, the rest are 1024 x 8
1214 # Memotech type 03, ie: 3.5" or 5.25", D/S, D/D, S/T
1215 # 40 tracks, 2 sides, 16 sectors/track, 256 bytes/sector
1216 # Bytes on the media = 2*40*16*256 = 327680
1217 # CP/M sees 26 128 byte records per track (similar to 8" disks).
1218 # Tracks = 327680/(26*128) = 98
1219 # Data is in 2048 byte blocks, on track 2 onwards
1220 # Blocks = ((98-2)*26*128)/2048 = 156, which agrees with DPB
1222 diskdef memotech-type03
1233 # Memotech type 07, ie: 3.5" or 5.25", D/S, D/D, D/T
1234 # 80 tracks, 2 sides, 16 sectors/track, 256 bytes/sector
1235 # Bytes on the media = 2*80*16*256 = 655360
1236 # CP/M sees 26 128 byte records per track (similar to 8" disks).
1237 # Tracks = 655360/(26*128) = 196
1238 # Data is in 2048 byte blocks, on track 2 onwards
1239 # Blocks = ((196-2)*26*128)/2048 = 315, which agrees with DPB
1241 diskdef memotech-type07
1252 # Memotech type 43, ie: 1MB Silicon Disc
1253 # CP/M sees 26 128 byte records per track
1254 # Note: Unlike common practice with real physical disks, with real geometry,
1255 # the DPB for Silicon Discs includes blocks on the last incomplete track
1256 # Tracks = 1048576/(26*128) = 315.07
1257 # Data is in 4096 byte blocks, on track 2 onwards
1258 # Blocks = (1048576-2*26*128)/4096 = 254, which agrees with DPB
1259 # Blocks = ((315-2)*26*128)/4096 = 254, so we don't need the 0.07 track
1260 diskdef memotech-type43
1271 # Memotech type 47, ie: 2MB Silicon Disc
1272 # CP/M sees 26 128 byte records per track
1273 # Note: Unlike common practice with real physical disks, with real geometry,
1274 # the DPB for Silicon Discs includes blocks on the last incomplete track
1275 # Tracks = 2097152/(26*128) = 630.15
1276 # Data is in 4096 byte blocks, on track 2 onwards
1277 # Blocks = (2097152-2*26*128)/4096 = 510, which agrees with DPB
1278 # Blocks = ((630-2)*26*128)/4096 = 510, so we don't need the 0.15 track
1279 diskdef memotech-type47
1290 # Memotech type 4B, ie: 4MB Silicon Disc
1291 # CP/M sees 26 128 byte records per track
1292 # Note: Unlike common practice with real physical disks, with real geometry,
1293 # the DPB for Silicon Discs includes blocks on the last incomplete track
1294 # Tracks = 4194304/(26*128) = 1260.3
1295 # Data is in 4096 byte blocks, on track 2 onwards
1296 # Blocks = (4194304-2*26*128)/4096 = 1022, which agrees with DPB
1297 # Blocks = ((1260-2)*26*128)/4096 = 1022, so we don't need the 0.3 track
1298 diskdef memotech-type4B
1309 # Memotech type 4F, ie: 8MB Silicon Disc
1310 # CP/M sees 26 128 byte records per track
1311 # Note: Unlike common practice with real physical disks, with real geometry,
1312 # the DPB for Silicon Discs includes blocks on the last incomplete track
1313 # Tracks = 8388608/(26*128) = 2520.61
1314 # Data is in 4096 byte blocks, on track 2 onwards
1315 # Blocks = (8388608-2*26*128)/4096 = 2046, which agrees with DPB
1316 # Blocks = ((2520-2)*26*128)/4096 = 2045, so we need the extra 0.61 track
1317 diskdef memotech-type4F
1328 # Memotech type 18, ie: 8MB SD Card
1329 # CP/M sees 26 128 byte records per track
1330 # Note: Unlike common practice with real physical disks, with real geometry,
1331 # the DPB for SD Cards includes blocks on the last incomplete track
1332 # Tracks = 8388608/(26*128) = 2520.61
1333 # Data is in 4096 byte blocks, on track 2 onwards
1334 # Blocks = (8388608-2*26*128)/4096 = 2046, which agrees with DPB
1335 # Blocks = ((2520-2)*26*128)/4096 = 2045, so we need the extra 0.61 track
1336 diskdef memotech-type18
1347 # Memotech type 19, ie: 8MB SD Card
1348 diskdef memotech-type19
1360 # Memotech type 1A, ie: 8MB SD Card
1361 diskdef memotech-type1A
1373 # Memotech type 1B, ie: 8MB SD Card
1374 diskdef memotech-type1B
1386 # Memotech type 1C, ie: 8MB SD Card
1387 diskdef memotech-type1C
1399 # Memotech type 1D, ie: 8MB SD Card
1400 diskdef memotech-type1D
1412 # Memotech type 1E, ie: 8MB SD Card
1413 diskdef memotech-type1E
1425 # Memotech type 1F, ie: 8MB SD Card
1426 diskdef memotech-type1F
1438 # Memotech type 50, ie: 256KB RAM Disc
1439 # CP/M sees 26 128 byte records per track
1440 # Note: Unlike common practice with real physical disks, with real geometry,
1441 # the DPB for RAM Discs includes blocks on the last incomplete track
1442 # Tracks = 262144/(26*128) = 78.76
1443 # Data is in 1024 byte blocks, on track 2 onwards
1444 # Blocks = (262144-2*26*128)/1024 = 249, which agrees with DPB
1445 # Blocks = ((78-2)*26*128)/1024 = 247, so we need the extra 0.76 track
1446 diskdef memotech-type50
1457 # Memotech type 51, ie: 512KB RAM Disc
1458 # CP/M sees 26 128 byte records per track
1459 # Note: Unlike common practice with real physical disks, with real geometry,
1460 # the DPB for RAM Discs includes blocks on the last incomplete track
1461 # Tracks = 524288/(26*128) = 157.53
1462 # Data is in 2048 byte blocks, on track 2 onwards
1463 # Blocks = (524288-2*26*128)/2048 = 252, which agrees with DPB
1464 # Blocks = ((157-2)*26*128)/2048 = 251, so we need the extra 0.53 track
1465 diskdef memotech-type51
1476 # Memotech type 51, as used in Italy, ie: 480KB RAM Disc
1477 # CP/M sees 26 128 byte records per track
1478 # Note: Unlike common practice with real physical disks, with real geometry,
1479 # the DPB for RAM Discs includes blocks on the last incomplete track
1480 # Tracks = 491520/(26*128) = 147.69
1481 # Data is in 2048 byte blocks, on track 2 onwards
1482 # Blocks = (491520-2*26*128)/2048 = 236, which agrees with DPB
1483 # Blocks = ((147-2)*26*128)/2048 = 235, so we need the extra 0.69 track
1484 diskdef memotech-type51-italy
1495 # Memotech type 51, after S2R64.COM, ie: 448KB RAM Disc
1496 # CP/M sees 26 128 byte records per track
1497 # Note: Unlike common practice with real physical disks, with real geometry,
1498 # the DPB for RAM Discs includes blocks on the last incomplete track
1499 # Tracks = 458752/(26*128) = 137.84
1500 # Data is in 2048 byte blocks, on track 2 onwards
1501 # Blocks = (458752-2*26*128)/2048 = 220, which agrees with DPB, after S2R64.COM
1502 # Blocks = ((137-2)*26*128)/2048 = 219, so we need the extra 0.84 track
1503 diskdef memotech-type51-s2r64
1514 # Memotech type 51, after S2R.COM, ie: 144KB RAM Disc
1515 # CP/M sees 26 128 byte records per track
1516 # Note: Unlike common practice with real physical disks, with real geometry,
1517 # the DPB for RAM Discs includes blocks on the last incomplete track
1518 # Tracks = 147456/(26*128) = 44.3
1519 # Data is in 2048 byte blocks, on track 2 onwards
1520 # Blocks = (147456-2*26*128)/2048 = 68, which agrees with DPB, after S2R.COM
1521 # Blocks = ((44-2)*26*128)/2048 = 68, so we don't need the extra 0.3 track
1522 diskdef memotech-type51-s2r
1533 # Memotech type 52, ie: 320KB RAM Disc
1534 # Added for REMEMOTECH
1535 # CP/M sees 26 128 byte records per track
1536 # Note: Unlike common practice with real physical disks, with real geometry,
1537 # the DPB for RAM Discs includes blocks on the last incomplete track
1538 # Tracks = 327680/(26*128) = 98.46
1539 # Data is in 2048 byte blocks, on track 2 onwards
1540 # Blocks = (327680-2*26*128)/2048 = 156
1541 # Blocks = ((98-2)*26*128)/2048 = 156, so we don't need the extra 0.46 track
1542 # This type very deliberately and conveniently exactly matches type 03
1543 diskdef memotech-type52
1554 # Research Machines 380Z/480Z 5.25" "Single Density" or "MDS" format.
1555 # All tracks are formatted FM 16x128.
1567 # Research Machines 380Z/480Z 5.25" "Double Density" or "MD" format.
1568 # Track 0 is formatted FM 16x128; 1+ are MFM 9x512.
1569 # If you're working with an image file, make sure that track 0 is
1570 # padded to be the same size as the other tracks.
1582 # Research Machines 380Z/480Z 5.25" "Quad Density" or "MQ" format.
1583 # Track 0 is formatted FM 16x128; 1+ are MFM 9x512.
1595 # Ampro Little Board Z80 running CP/M 2.21
1596 # BEGIN AMP1 Ampro - SSDD 48 tpi 5.25"
1598 # CYLINDERS 40 SIDES 1 SECTORS 10,512 SKEW 2
1599 # SIDE1 0 1,2,3,4,5,6,7,8,9,10
1600 # BSH 4 BLM 15 EXM 1 DSM 94 DRM 63 AL0 080H AL1 0 OFS 2
1604 seclen 512 #= Sectors xx,512
1605 tracks 40 #= (Cylinders * Sides) = 40*1 = 40
1606 sectrk 10 #= Sectors 10,xxx
1607 blocksize 2048 #= (128*(BLM+1)) = 2048
1608 maxdir 64 #(DRM+1) = 64
1610 boottrk 2 #= OFS = 2
1614 #BEGIN AMP2 Ampro - DSDD 48 tpi 5.25"
1616 #CYLINDERS 40 SIDES 2
1619 #SIDE1 0 17,18,19,20,21,22,23,24,25,26
1620 #SIDE2 1 17,18,19,20,21,22,23,24,25,26
1622 #BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2
1625 # setfdprm /dev/fd0 DS DD ssize=512 cyl=40 sect=10 head=2
1637 #BEGIN AMP3 Ampro - SSDD 96 tpi 3.5"
1639 #CYLINDERS 80 SIDES 1 SECTORS 5,1024 SKEW 2
1641 #BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2
1644 # setfdprm /dev/fd0 SS DD ssize=1024 cyl=80 sect=5 head=1
1656 #BEGIN AMP4 Ampro - DSDD 96 tpi 3.5"
1658 #CYLINDERS 80 SIDES 2 SECTORS 5,1024 SKEW 2
1659 #SIDE1 0 17,18,19,20,21
1660 #SIDE2 1 17,18,19,20,21
1662 #BSH 4 BLM 15 EXM 0 DSM 394 DRM 255 AL0 0F0H AL1 0 OFS 2
1665 # setfdprm /dev/fd0 DS DD ssize=1024 cyl=80 sect=5 head=2
1677 #BEGIN AMP5 Ampro - SSDD 3.5"
1679 #CYLINDERS 80 SIDES 1 SECTORS 5,1024 SKEW 2
1681 #BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2
1684 # setfdprm /dev/fd0 SS DD ssize=1024 cyl=80 sect=5 head=1
1696 #BEGIN AMP6 Ampro - DSDD 3.5"
1698 #CYLINDERS 80 SIDES 2 SECTORS 5,1024 SKEW 2
1699 #SIDE1 0 17,18,19,20,21
1700 #SIDE2 1 17,18,19,20,21
1702 #BSH 4 BLM 15 EXM 0 DSM 394 DRM 255 AL0 0F0H AL1 0 OFS 2
1705 # setfdprm /dev/fd0 DS DD ssize=1024 cyl=80 sect=5 head=2
1728 # Ampro - DSDD 48 tpi 5.25" - 512 x 10
1738 libdsk:format ampro400d
1740 # BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2
1743 # BEGIN ampdsdd80 Ampro - DSDD 96 tpi 5.25" - 512 x 10
1744 # Test OK - image size = 819,200, from Don Maslin's archive
1754 libdsk:format ampro800
1756 # BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2
1759 # ALTAIRZ80 SIMH *dsk 8MB Harddisk (Type AZ80 HDSK)
1760 diskdef 8megAltairSIMH
1771 # ALTAIRZ80 SIMH *dsk MITS 88-DISK 137 Byte/Sektor
1772 # speedball (copylib) skewtable
1784 diskdef all1 #= Allen-Bradley Advisor+ - DSDD 3.5"
1785 seclen 512 #= Sectors xx,512
1786 tracks 160 #= (Cylinders * Sides) = 80*2 = 160
1787 sides alt #= Order of Cylinders = alt, outout, outback
1788 sectrk 8 #= Sectors 8,xxx
1789 blocksize 2048 #= (128*(BLM+1)) = 7=1024, 15=2048, 31=4096, 63=8192
1790 maxdir 128 #= (DRM+1) = 128
1791 datarate DD #= DENSITY SD, DD, HD, or ED
1792 FM NO #= Format YES = FM, or NO = MFM
1793 skew 0 #= [0..8] try x
1794 boottrk 1 #= OFS = 1
1795 # #= 2, 2.2, or 3 (NO comment on next line)
1799 # COM8 Compupro (Viasyn) 8/16 - SSDD 8" - 1024 x 8
1813 # Spectravideo SVI-728 (MSX) with SVI-707 floppy drive
1825 # Intel MDS/22 8" Double Density
1837 # Intel MDS/22 8" Single Density. Untested.
1849 # CF card in PCMCIA slot on NC200 with cpmish
1860 # Floppy image on NC200 with cpmish
1871 # ZCN format drive partitions in nc100em's nc100.card
1872 # use this for a bootable A: drive
1873 # (assumes ZCN system is 12k, which it has been for years)
1885 # use this for a non-bootable A: drive
1886 diskdef zcna_nonboot
1897 # ZCN b/c/d all assumed to be non-bootable
1934 # Hewlett-Packard HP9000-200 - 70-track SS drive that emulates a
1935 # 35 track DSDD 48 tpi 5.25"
1950 # BSH 4 BLM 15 EXM 1 DSM 255 DRM 1023 AL0 0FFH AL1 0FFH OFS 0