New upstream version 2.20
[debian/cpmtools] / diskdefs
1 diskdef ibm-3740
2   seclen 128
3   tracks 77
4   sectrk 26
5   blocksize 1024
6   maxdir 64
7   skew 6
8   boottrk 2
9   os 2.2
10 end
11
12 diskdef 4mb-hd
13   seclen 128
14   tracks 1024
15   sectrk 32
16   blocksize 2048
17   maxdir 256
18   skew 1
19   boottrk 0
20   os p2dos
21 end
22
23 diskdef pcw
24   seclen 512
25   tracks 40
26   sectrk 9
27   blocksize 1024
28   maxdir 64
29   skew 1
30   boottrk 1
31   os 3
32   libdsk:format pcw180
33 end
34
35 diskdef pc1.2m
36   seclen 512
37   tracks 80
38   # this format uses 15 sectors per track, but 30 per cylinder
39   sectrk 30
40   blocksize 4096
41   maxdir 256
42   skew 1
43   boottrk 0
44   os 3
45 end
46
47 # CP/M 86 on 1.44MB floppies
48 diskdef cpm86-144feat
49   seclen 512
50   tracks 160
51   sectrk 18
52   blocksize 4096
53   maxdir 256
54   skew 1
55   boottrk 2
56   os 3
57   libdsk:format ibm1440
58 end
59
60 # CP/M 86 on 720KB floppies
61 diskdef cpm86-720
62   seclen 512
63   tracks 160
64   sectrk 9 
65   blocksize 2048
66   maxdir 256
67   skew 1
68   boottrk 2
69   os 3
70 end
71
72 diskdef cf2dd
73   seclen 512
74   tracks 160
75   sectrk 9
76   blocksize 2048
77   maxdir 256
78   skew 1
79   boottrk 1
80   os 3
81   libdsk:format pcw720
82 end
83
84 #amstrad: values are read from super block (special name hardcoded)
85
86 # Royal alphatronic
87 # setfdprm /dev/fd1 dd ssize=256 cyl=40 sect=16 head=2
88 diskdef alpha
89   seclen 256
90   tracks 40
91   sectrk 32
92   blocksize 2048
93   maxdir 128
94   skew 1
95   boottrk 2
96   os 2.2
97 end
98
99 # Apple II CP/M skew o Apple II DOS 3.3 skew
100 diskdef apple-do
101   seclen 256
102   tracks 35
103   sectrk 16
104   blocksize 1024
105   maxdir 64
106   skewtab 0,6,12,3,9,15,14,5,11,2,8,7,13,4,10,1
107   boottrk 3
108   os 2.2
109 end
110
111 # Apple II CP/M skew o Apple II PRODOS skew
112 diskdef apple-po
113   seclen 256
114   tracks 35
115   sectrk 16
116   blocksize 1024
117   maxdir 64
118   skewtab 0,9,3,12,6,15,1,10,4,13,7,8,2,11,5,14
119   boottrk 3
120   os 2.2
121 end
122
123 # MYZ80 hard drive (only works with libdsk, because it has a 256-byte header)
124 diskdef myz80
125   seclen 1024
126   tracks 64
127   sectrk 128
128   blocksize 4096
129   maxdir 1024
130   skew 1
131   boottrk 0
132   os 3
133   libdsk:format pcw720
134 end
135
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.
139 diskdef cpcsys
140   seclen 512
141   tracks 40
142   sectrk 9
143   blocksize 1024
144   maxdir 64
145   skew 1
146   boottrk 2
147   os 3
148   libdsk:format cpcsys
149 end
150 diskdef cpcdata
151   seclen 512
152   tracks 40
153   sectrk 9
154   blocksize 1024
155   maxdir 64
156   skew 1
157   boottrk 0
158   os 3
159   libdsk:format cpcdata
160 end
161
162 # after being read in with no sector skew.
163 diskdef nigdos
164   seclen 512
165   # NigDos double sided disk format, 42 tracks * 2 sides
166   tracks 84
167   sectrk 10
168   blocksize 2048
169   maxdir 128
170   skew 1
171   boottrk 0
172   # this format wastes half of the directory entry
173   logicalextents 1
174   os 3
175 end
176
177 diskdef epsqx10
178   seclen 512
179   tracks 40
180   sectrk 20
181   blocksize 2048
182   maxdir 128
183   skew 0
184   boottrk 2
185   os 2.2
186 end
187
188 diskdef ibm-8ss
189   seclen 512
190   tracks 40
191   sectrk 8
192   blocksize 1024
193   maxdir 64
194   skew 0
195   boottrk 1
196   os 2.2
197 end
198
199 diskdef ibm-8ds
200   seclen 512
201   tracks 40
202   sectrk 8
203   blocksize 1024
204   maxdir 64
205   skew 0
206   boottrk 1
207   os 2.2
208 end
209
210 diskdef electroglas
211   seclen 512
212   tracks 80
213   sectrk 10
214   blocksize 2048
215   maxdir 256
216   skew 0
217   boottrk 1
218   os 3
219 end
220
221 # IBM CP/M-86
222 # setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48 head=1
223 diskdef ibmpc-514ss
224    seclen 512
225    tracks 40
226    sectrk 8
227    blocksize 1024
228    maxdir 64
229    skew 1
230    boottrk 1
231    os 2.2
232    libdsk:format ibm160
233 end
234
235 # IBM CP/M-86
236 # setfdprm /dev/fd1 sect=8 dtr=1 hd ssize=512 tpi=48
237 diskdef ibmpc-514ds
238    seclen 512
239    tracks 80
240    sectrk 8
241    blocksize 2048
242    maxdir 64
243    skew 0
244    boottrk 2
245    os 2.2
246    libdsk:format ibm320
247 end
248
249 diskdef p112
250   seclen 512
251   tracks 160
252   sectrk 18
253   blocksize 2048
254   maxdir 256
255   skew 1
256   boottrk 2
257   os 3
258 end
259
260 diskdef p112-old
261   seclen 512
262   tracks 160
263   sectrk 18
264   blocksize 2048
265   maxdir 128
266   skew 1
267   boottrk 1
268   os 3
269 end
270
271 diskdef gide-cfa
272   seclen 512
273   tracks 1000
274   sectrk 16
275   blocksize 4096
276   maxdir 1024
277   skew 0
278   boottrk 2
279   os 3
280 end
281
282 diskdef gide-cfb
283   seclen 512
284   tracks 1000
285   sectrk 16
286   blocksize 4096
287   maxdir 1024
288   skew 0
289   boottrk 0
290 # Start of second partition
291   offset 1000trk
292   os 3
293 end
294
295 # AT&T/Olivetti Word Processor
296 diskdef attwp
297    seclen 256
298    tracks 80
299    sectrk 32
300    blocksize 2048
301    maxdir 128
302    boottrk 1
303    logicalextents 1
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
305    os 2.2
306 end
307
308 # setfdprm /dev/fd0 zerobased SS DD ssize=512 cyl=40 sect=10 head=1
309 # Kaypro II
310 diskdef kpii
311   seclen 512
312   tracks 40
313   sectrk 10
314   blocksize 1024
315   maxdir 64
316   skew 0
317   boottrk 1
318   os 2.2
319 end
320
321 # setfdprm /dev/fd0 zerobased DS DD ssize=512 cyl=40 sect=10 head=2
322 # Kayro IV
323 diskdef kpiv
324   seclen 512
325   tracks 80
326   sectrk 10
327   blocksize 2048
328   maxdir 64
329   skew 0
330   boottrk 1
331   os 2.2
332 end
333
334 # setfdprm /dev/fd0 dd sect=10
335 diskdef interak
336   seclen 512
337   tracks 80
338   sectrk 20
339   blocksize 4096
340   maxdir 256
341   skew 1
342   boottrk 2
343   os 2.2
344 end
345
346 # Timex FDD3000 3"
347 diskdef fdd3000
348   seclen 256
349   tracks 40
350   sectrk 16
351   blocksize 1024
352   maxdir 128
353   boottrk 4
354   os 2.2
355   skew 7
356 end
357
358 # Timex FDD3000 3"
359 diskdef fdd3000_2
360   seclen 256
361   tracks 40
362   sectrk 16
363   blocksize 1024
364   maxdir 128
365   boottrk 2
366   os 2.2
367   skew 5
368 end
369
370 # Robotron 1715
371 diskdef 1715
372   seclen 1024
373   tracks 40
374   sectrk 5
375   blocksize 1024
376   maxdir 64
377   skew 0
378   boottrk 3
379   os 2.2
380 end
381
382 # Robotron 1715 with SCP3
383 diskdef 17153
384   seclen 1024
385   tracks 160
386   sectrk 5
387   blocksize 2048
388   maxdir 128
389   skew 0
390   boottrk 4
391   os 3
392 end
393
394 #DDR
395 diskdef scp624
396   seclen 256
397   tracks 160
398   sectrk 16
399   blocksize 2048
400   maxdir 128
401   skew 0
402   boottrk 2
403   os 2.2
404 end
405
406 diskdef scp640
407   seclen 256
408   tracks 160
409   sectrk 16
410   blocksize 2048
411   maxdir 128
412   skew 0
413   boottrk 0
414   os 2.2
415 end
416
417 diskdef scp780
418   seclen 1024
419   tracks 160
420   sectrk 5
421   blocksize 2048
422   maxdir 128
423   skew 0
424   boottrk 2
425   os 2.2
426 end
427
428 diskdef scp800
429   seclen 1024
430   tracks 160
431   sectrk 5
432   blocksize 2048
433   maxdir 128
434   skew 0
435   boottrk 0
436   os 2.2
437 end 
438
439 diskdef z9001
440   seclen 1024
441   tracks 160
442   sectrk 5
443   blocksize 2048
444   maxdir 192
445   skew 0
446   boottrk 0
447   os 2.2
448 end 
449
450 # Visual Technology Visual 1050 computer
451 diskdef v1050
452   seclen 512
453   tracks 80
454   sectrk 10
455   blocksize 2048
456   maxdir 128
457   skew 0
458   boottrk 2
459   os 3
460 end
461
462 # Microbee 40 track 5.25" disks
463 diskdef microbee40
464   seclen 512
465   tracks 80
466   sectrk 10
467   blocksize 2048
468   maxdir 128
469   skewtab 1,4,7,0,3,6,9,2,5,8
470   boottrk 2
471   os 2.2
472 end
473
474 diskdef dreamdisk40
475   seclen 512
476   tracks 80
477   sectrk 10
478   blocksize 2048
479   maxdir 128
480   skewtab 1,4,7,0,3,6,9,2,5,8
481   boottrk 2
482   os 2.2
483 end
484
485 diskdef dreamdisk80
486   seclen 512
487   tracks 160
488   sectrk 10
489   blocksize 2048
490   maxdir 256
491   skewtab 1,4,7,0,3,6,9,2,5,8
492   boottrk 2
493   os 2.2
494 end
495
496 diskdef rc759
497   seclen 1024
498   tracks 154
499   sectrk 8
500   blocksize 2048
501   maxdir 512
502   boottrk 4
503   os 3
504 end
505
506 # ICL Comet: 40 track 5.25" Single Sided
507 #
508 diskdef icl-comet-525ss
509    seclen 512
510    tracks 40
511    sectrk 10
512    blocksize 1024
513    maxdir 64
514    skewtab 0,3,6,9,2,5,8,1,4,7
515    boottrk 2
516    os 2.2
517 end
518
519 diskdef z80pack-hd
520   seclen 128
521   tracks 255
522   sectrk 128
523   blocksize 2048
524   maxdir 1024
525   skew 0
526   boottrk 0
527   os 2.2
528 end
529
530 diskdef z80pack-hdb
531   seclen 128
532   tracks 256
533   sectrk 16384
534   blocksize 16384
535   maxdir 8192
536   skew 0
537   boottrk 0
538   os 2.2
539 end
540
541 # Bondwell 12 and 14 disk images in IMD raw binary format
542 diskdef bw12
543   seclen 256
544   tracks 40
545   sectrk 18
546   blocksize 2048
547   maxdir 64
548   skew 1
549   boottrk 2
550   os 2.2
551 end
552
553 diskdef bw14
554   seclen 256
555   tracks 80
556   sectrk 18
557   blocksize 2048
558   maxdir 64
559   skew 1
560   boottrk 2
561   os 2.2
562 end
563
564 ############################
565 # north star cp/m  disks
566 ############################
567
568 #North Star floppy 360K
569
570 diskdef nsfd
571   seclen 512
572   tracks 70 
573   sectrk 10 
574   blocksize 2048
575   maxdir 64
576   skew 5  
577   boottrk 2
578   os 2.2
579 end
580
581
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
587
588 diskdef nshd4
589   seclen 512
590   tracks 512
591   sectrk 16 
592   blocksize 4096
593   maxdir 256
594   skew 0  
595   boottrk 0
596   os 2.2
597 end
598
599
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
605
606 diskdef nshd8
607   seclen 512
608   tracks 1024
609   sectrk 16 
610   blocksize 8192
611   maxdir 256
612   skew 0  
613   boottrk 0
614   os 2.2
615 end
616
617 # Northstar Micro-Disk System MDS-A-D 175
618 diskdef mdsad175
619     seclen 512
620     blocksize 1024
621     tracks 35
622     maxdir 64
623     boottrk 2
624     sectrk 10
625     skew 5
626     os 2.2
627 end
628
629
630 # Northstar Micro-Disk System MDS-A-D 350
631 diskdef mdsad350
632    seclen 512
633    blocksize 2048
634    tracks 70
635    maxdir 64
636    boottrk 2
637    sectrk 10
638    skew 5
639    os 2.2
640 end
641
642
643 # Osborne 1
644 diskdef osborne1
645    seclen 1024
646    tracks 40
647    sectrk 5
648    blocksize 1024
649    maxdir 64
650    boottrk 3
651    os 2.2
652 end
653
654 # Osborne Nuevo/Vixen/4
655 diskdef osborne4
656    seclen 1024
657    tracks 80
658    sectrk 5
659    blocksize 2048
660    maxdir 128
661    skew 2
662    boottrk 2
663    os 2.2
664 end
665
666 # Lobo Max-80 8" CP/M 2
667 diskdef lobo2
668   seclen 256
669   tracks 77
670   sectrk 30
671   blocksize 2048
672   maxdir 64
673   skew 0
674   boottrk 2
675   os 2.2
676 end
677
678 #Lobo Max-80 8" CP/M 3
679 diskdef lobo3
680   seclen 512
681   tracks 77
682   sectrk 17
683   blocksize 2048
684   maxdir 64
685   skew 0
686   boottrk 2
687   os 3
688 end
689
690 # PRO CP/M RZ50 DZ format (Perhaps only 79 tracks should be used?)
691 diskdef dec_pro
692   seclen 512
693   tracks 80
694   sectrk 10
695   blocksize 2048
696   maxdir 128
697   skew 2
698   boottrk 2
699   os 2.2
700 end
701
702 # TDOS with DateStamper
703 diskdef tdos-ds
704   seclen 1024
705   tracks 77
706   sectrk 16
707   blocksize 2048
708   maxdir 256
709   skew 0
710   boottrk 1
711   os zsys
712 end
713
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
717 # their size.
718
719 # PMC Micromate
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
723 # PMC-101 MicroMate
724 # CP/M Plus
725 # System Master
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
730 diskdef pmc101
731   seclen 1024
732   tracks 80
733   sectrk 5
734   blocksize 2048
735   maxdir 128
736   skew 0
737   boottrk 2
738   os 3
739 end
740   
741 # BEGIN td143ssdd8  Turbo Dos 1.43 - SSDD 8" - 512 x 16
742 # Test OK - image size = 630,784, from Don Maslin's archive
743 diskdef td143ssdd8
744   seclen 512
745   tracks 77
746   sectrk 9
747   blocksize 1024
748   maxdir 64
749   skew 0
750   boottrk 0
751   os 2.2
752 # DENSITY MFM ,LOW 
753 end
754
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
757 diskdef heassdd8
758   seclen 512
759   tracks 77
760   sectrk 16
761   blocksize 2048
762   maxdir 128
763   skew 0
764   boottrk 2
765   os 2.2
766 # DENSITY MFM ,LOW 
767 end
768
769 # Morrow Designs Micro-Decision         DOUBLE
770 # 64k CP/M Vers. 2.2 Rev.2.3            SIDED
771 # Copyright '76, '77, '78, '79, '80
772 # Digital Research
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
779 diskdef mordsdd
780   seclen 1024
781   tracks 80
782   sectrk 5
783   blocksize 2048
784   maxdir 128
785   skew 3
786   boottrk 2
787   OS 2.2
788 end
789
790
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
794 diskdef morsddd
795   seclen 1024
796   tracks 40
797   sectrk 5
798   blocksize 2048
799   maxdir 128
800   skew 3
801   boottrk 2
802   os 2.2
803 # DENSITY MFM ,LOW 
804 # BSH 4 BLM 15 EXM 1 DSM 94 DRM 127 AL0 0C0H AL1 0 OFS 2
805 end
806
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
809 diskdef osb1sssd
810   seclen 256
811   tracks 40
812   sectrk 10
813   blocksize 2048
814   maxdir 64
815   skew 2
816   boottrk 3
817   os 2.2
818 # DENSITY MFM ,LOW 
819 # BSH 4 BLM 15 EXM 1 DSM 45 DRM 63 AL0 080H AL1 0 OFS 3
820 end
821
822 # BEGIN ampdsdd  Ampro - DSDD 48 tpi 5.25" - 512 x 10
823 # Test OK - image size = 409,600, from Don Maslin's archive
824 diskdef ampdsdd
825   seclen 1024
826   tracks 80
827   sectrk 5
828   blocksize 2048
829   maxdir 128
830   skew 0
831   boottrk 2
832   os 2.2
833   libdsk:format ampro400d
834 # DENSITY MFM ,LOW 
835 # BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2
836 end
837
838 # BEGIN ampdsdd80  Ampro - DSDD 96 tpi 5.25" - 512 x 10
839 # Test OK - image size = 819,200, from Don Maslin's archive
840 diskdef ampdsdd80
841   seclen 1024
842   tracks 160
843   sectrk 5
844   blocksize 2048
845   maxdir 128
846   skew 0
847   boottrk 2
848   os 2.2
849   libdsk:format ampro800
850 # DENSITY MFM ,LOW 
851 # BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2
852 end
853
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
856 diskdef altdsdd
857   seclen 512
858   tracks 160
859   sectrk 9
860   blocksize 4096
861   maxdir 177
862   skew 0
863   boottrk 2
864   os 3
865 # DENSITY MFM ,HIGH 
866 # BSH 5 BLM 31 EXM 3 DSM 176 DRM 176 AL0 0C0H AL1 0 OFS 2
867 end
868
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
871 diskdef trsomsssd
872   seclen 128
873   tracks 35
874   sectrk 18
875   blocksize 1024
876   maxdir 64
877   skew 4
878   boottrk 3
879   os 2.2
880 # DENSITY FM ,LOW 
881 # BSH 3 BLM 7 EXM 0 DSM 71 DRM 63 AL0 0C0H AL1 0 OFS 3
882 end
883
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
891
892 diskdef memotech-type03
893   seclen 128
894   tracks 98
895   sectrk 26
896   blocksize 2048
897   maxdir 64
898   skew 1
899   boottrk 2
900   os 2.2
901 end
902
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
910
911 diskdef memotech-type07
912   seclen 128
913   tracks 196
914   sectrk 26
915   blocksize 2048
916   maxdir 128
917   skew 1
918   boottrk 2
919   os 2.2
920 end
921
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
931   seclen 128
932   tracks 315
933   sectrk 26
934   blocksize 4096
935   maxdir 256
936   skew 1
937   boottrk 2
938   os 2.2
939 end
940
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
950   seclen 128
951   tracks 630
952   sectrk 26
953   blocksize 4096
954   maxdir 256
955   skew 1
956   boottrk 2
957   os 2.2
958 end
959
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
969   seclen 128
970   tracks 1260
971   sectrk 26
972   blocksize 4096
973   maxdir 512
974   skew 1
975   boottrk 2
976   os 2.2
977 end
978
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
988   seclen 128
989   tracks 2521
990   sectrk 26
991   blocksize 4096
992   maxdir 512
993   skew 1
994   boottrk 2
995   os 2.2
996 end
997
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
1007   seclen 128
1008   tracks 2521
1009   sectrk 26
1010   blocksize 4096
1011   maxdir 512
1012   skew 1
1013   boottrk 2
1014   os 2.2
1015 end
1016
1017 # Memotech type 19, ie: 8MB SD Card
1018 diskdef memotech-type19
1019   seclen 128
1020   tracks 2521
1021   sectrk 26
1022   blocksize 4096
1023   maxdir 512
1024   skew 1
1025   boottrk 2
1026   os 2.2
1027   offset 8M
1028 end
1029
1030 # Memotech type 1A, ie: 8MB SD Card
1031 diskdef memotech-type1A
1032   seclen 128
1033   tracks 2521
1034   sectrk 26
1035   blocksize 4096
1036   maxdir 512
1037   skew 1
1038   boottrk 2
1039   os 2.2
1040   offset 16M
1041 end
1042
1043 # Memotech type 1B, ie: 8MB SD Card
1044 diskdef memotech-type1B
1045   seclen 128
1046   tracks 2521
1047   sectrk 26
1048   blocksize 4096
1049   maxdir 512
1050   skew 1
1051   boottrk 2
1052   os 2.2
1053   offset 24M
1054 end
1055
1056 # Memotech type 1C, ie: 8MB SD Card
1057 diskdef memotech-type1C
1058   seclen 128
1059   tracks 2521
1060   sectrk 26
1061   blocksize 4096
1062   maxdir 512
1063   skew 1
1064   boottrk 2
1065   os 2.2
1066   offset 32M
1067 end
1068
1069 # Memotech type 1D, ie: 8MB SD Card
1070 diskdef memotech-type1D
1071   seclen 128
1072   tracks 2521
1073   sectrk 26
1074   blocksize 4096
1075   maxdir 512
1076   skew 1
1077   boottrk 2
1078   os 2.2
1079   offset 40M
1080 end
1081
1082 # Memotech type 1E, ie: 8MB SD Card
1083 diskdef memotech-type1E
1084   seclen 128
1085   tracks 2521
1086   sectrk 26
1087   blocksize 4096
1088   maxdir 512
1089   skew 1
1090   boottrk 2
1091   os 2.2
1092   offset 48M
1093 end
1094
1095 # Memotech type 1F, ie: 8MB SD Card
1096 diskdef memotech-type1F
1097   seclen 128
1098   tracks 2521
1099   sectrk 26
1100   blocksize 4096
1101   maxdir 512
1102   skew 1
1103   boottrk 2
1104   os 2.2
1105   offset 56M
1106 end
1107
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
1117   seclen 128
1118   tracks 79
1119   sectrk 26
1120   blocksize 1024
1121   maxdir 64
1122   skew 1
1123   boottrk 2
1124   os 2.2
1125 end
1126
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
1136   seclen 128
1137   tracks 158
1138   sectrk 26
1139   blocksize 2048
1140   maxdir 128
1141   skew 1
1142   boottrk 2
1143   os 2.2
1144 end
1145
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
1155   seclen 128
1156   tracks 148
1157   sectrk 26
1158   blocksize 2048
1159   maxdir 128
1160   skew 1
1161   boottrk 2
1162   os 2.2
1163 end
1164
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
1174   seclen 128
1175   tracks 138
1176   sectrk 26
1177   blocksize 2048
1178   maxdir 128
1179   skew 1
1180   boottrk 2
1181   os 2.2
1182 end
1183
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
1193   seclen 128
1194   tracks 44
1195   sectrk 26
1196   blocksize 2048
1197   maxdir 128
1198   skew 1
1199   boottrk 2
1200   os 2.2
1201 end
1202
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
1214   seclen 128
1215   tracks 98
1216   sectrk 26
1217   blocksize 2048
1218   maxdir 64
1219   skew 1
1220   boottrk 2
1221   os 2.2
1222 end
1223
1224 # Research Machines 380Z/480Z 5.25" "Single Density" or "MDS" format.
1225 # All tracks are formatted FM 16x128.
1226 diskdef rm-sd
1227   seclen 128
1228   tracks 40
1229   sectrk 16
1230   blocksize 1024
1231   maxdir 64
1232   skew 3
1233   boottrk 3
1234   os 2.2
1235 end
1236
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.
1241 diskdef rm-dd
1242   seclen 512
1243   tracks 40
1244   sectrk 9
1245   blocksize 1024
1246   maxdir 64
1247   skew 5
1248   boottrk 3
1249   os 2.2
1250 end
1251
1252 # Research Machines 380Z/480Z 5.25" "Quad Density" or "MQ" format.
1253 # Track 0 is formatted FM 16x128; 1+ are MFM 9x512.
1254 diskdef rm-qd
1255   seclen 512
1256   tracks 80
1257   sectrk 9
1258   blocksize 2048
1259   maxdir 128
1260   skew 5
1261   boottrk 3
1262   os 2.2
1263 end
1264
1265 # Ampro Little Board Z80 running CP/M 2.21
1266 # BEGIN AMP1  Ampro - SSDD 48 tpi 5.25"
1267 # DENSITY MFM, LOW
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
1271 # END
1272
1273 diskdef amp1
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
1279   skew 0             #= SKEW = 0
1280   boottrk 2           #= OFS = 2
1281   os 2.2
1282 end
1283
1284 #BEGIN AMP2  Ampro - DSDD 48 tpi 5.25"
1285 #DENSITY MFM, LOW
1286 #CYLINDERS 40 SIDES 2
1287 #SECTORS 10,512
1288 #SKEW 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
1291 #ORDER SIDES
1292 #BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2
1293 #END
1294
1295 # setfdprm /dev/fd0 DS DD ssize=512 cyl=40 sect=10 head=2
1296 diskdef amp2
1297   seclen 512
1298   tracks 80
1299   sectrk 10
1300   blocksize 2048
1301   maxdir 128
1302   skew 0
1303   boottrk 2
1304   os 2.2
1305 end
1306
1307 #BEGIN AMP3  Ampro - SSDD 96 tpi 3.5"
1308 #DENSITY MFM, LOW
1309 #CYLINDERS 80 SIDES 1 SECTORS 5,1024 SKEW 2
1310 #SIDE1 0 1,2,3,4,5
1311 #BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2
1312 #END
1313
1314 # setfdprm /dev/fd0 SS DD ssize=1024 cyl=80 sect=5 head=1
1315 diskdef amp3
1316   seclen 1024
1317   tracks 80
1318   sectrk 5
1319   blocksize 2048
1320   maxdir 128
1321   skew 0
1322   boottrk 2
1323   os 2.2
1324 end
1325
1326 #BEGIN AMP4  Ampro - DSDD 96 tpi 3.5"
1327 #DENSITY MFM, LOW
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
1331 #ORDER SIDES
1332 #BSH 4 BLM 15 EXM 0 DSM 394 DRM 255 AL0 0F0H AL1 0 OFS 2
1333 #END
1334
1335 # setfdprm /dev/fd0 DS DD ssize=1024 cyl=80 sect=5 head=2
1336 diskdef amp4
1337   seclen 1024
1338   tracks 160
1339   sectrk 5
1340   blocksize 2048
1341   maxdir 256
1342   skew 0
1343   boottrk 2
1344   os 2.2
1345 end
1346
1347 #BEGIN AMP5  Ampro - SSDD 3.5"
1348 #DENSITY MFM, LOW
1349 #CYLINDERS 80 SIDES 1 SECTORS 5,1024 SKEW 2
1350 #SIDE1 0 1,2,3,4,5
1351 #BSH 4 BLM 15 EXM 1 DSM 194 DRM 127 AL0 0C0H AL1 0 OFS 2
1352 #END
1353
1354 # setfdprm /dev/fd0 SS DD ssize=1024 cyl=80 sect=5 head=1
1355 diskdef amp5
1356   seclen 1024
1357   tracks 80
1358   sectrk 5
1359   blocksize 2048
1360   maxdir 128
1361   skew 0
1362   boottrk 2
1363   os 2.2
1364 end
1365
1366 #BEGIN AMP6  Ampro - DSDD 3.5"
1367 #DENSITY MFM, LOW
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
1371 #ORDER SIDES
1372 #BSH 4 BLM 15 EXM 0 DSM 394 DRM 255 AL0 0F0H AL1 0 OFS 2
1373 #END
1374
1375 # setfdprm /dev/fd0 DS DD ssize=1024 cyl=80 sect=5 head=2
1376 diskdef amp6
1377   seclen 1024
1378   tracks 160
1379   sectrk 5
1380   blocksize 2048
1381   maxdir 256
1382   skew 0
1383   boottrk 2
1384   os 2.2
1385 end
1386
1387 diskdef ampro800
1388   seclen 1024
1389   tracks 160
1390   sectrk 5
1391   blocksize 2048
1392   maxdir 256
1393   skew 0
1394   boottrk 2
1395   os 2.2
1396 end