summaryrefslogtreecommitdiff
path: root/v4.0/src/CMD/DISKCOMP/DCOMPMS.INC
diff options
context:
space:
mode:
authorGravatar Mark Zbikowski2024-04-25 21:24:10 +0100
committerGravatar Microsoft Open Source2024-04-25 22:32:27 +0000
commit2d04cacc5322951f187bb17e017c12920ac8ebe2 (patch)
tree80ee017efa878dfd5344b44249e6a241f2a7f6e2 /v4.0/src/CMD/DISKCOMP/DCOMPMS.INC
parentMerge pull request #430 from jpbaltazar/typoptbr (diff)
downloadms-dos-main.tar.gz
ms-dos-main.tar.xz
ms-dos-main.zip
MZ is back!HEADmain
Diffstat (limited to 'v4.0/src/CMD/DISKCOMP/DCOMPMS.INC')
-rw-r--r--v4.0/src/CMD/DISKCOMP/DCOMPMS.INC232
1 files changed, 232 insertions, 0 deletions
diff --git a/v4.0/src/CMD/DISKCOMP/DCOMPMS.INC b/v4.0/src/CMD/DISKCOMP/DCOMPMS.INC
new file mode 100644
index 0000000..6808808
--- /dev/null
+++ b/v4.0/src/CMD/DISKCOMP/DCOMPMS.INC
@@ -0,0 +1,232 @@
1;:util DISKCOMP ;utility name
2;:class 1 ;DOS extended errors:
3;:class 2 ;parse errors:
4;1 Too many parameters
5;2 Required parameter missing
6;3 Invalid switch
7;4 Invalid keyword
8;5 Parameter value not in allowed range
9;6 Parameter value not allowed [parse ret codes 6 and 7]
10;7 (undefined)
11;8 Parameter format not correct
12;9 (undefined)
13;10 Invalid parameter [no corresponding parse ret code]
14;11 Invalid parameter combination [no corresponding parse ret code]
15;;
16;:class A ;system messages
17;
18;:use 1 COMMON1 ;"Incorrect DOS version"
19;
20;:use 2 EXTEND8 ;"Insufficient memory"
21;
22;:use 3 PARSE10 ;"Invalid parameter"
23;;
24;:def 4 "Do not specify filename(s)",CR,LF
25;"Command format: DISKCOMP d: d: [/1][/8]",LF,CR
26;
27;:def 5 CR,LF,"Invalid drive specification",CR,LF
28;"Specified drive does not exist",CR,LF
29;"or is non-removable",CR,LF
30;
31;:def 6 CR,LF,"Cannot DISKCOMP to or from",CR,LF
32;"a network drive",CR,LF
33;
34;:def 7 CR,LF,"Insert FIRST diskette in drive %1:",CR,LF
35;
36;:def 8 CR,LF,"Insert SECOND diskette in drive %1:",CR,LF
37;
38;:def 9 CR,LF,"FIRST diskette bad or incompatible",CR,LF
39;
40;:def 10 CR,LF,"SECOND diskette bad or incompatible",CR,LF
41;
42;:use 11 EXTEND21 ;"Drive not ready" NOTE CHANGE %1 TO %0
43;
44;:use 12 COMMON28 ;"Press any key to continue . . ."
45;
46;:use 13 EXTEND19 ;CR,LF,"Attempt to write to write-protected diskette",CR,LF
47;
48;:def 14 CR,LF,"Compare another diskette (Y/N) ?"
49;
50;:def 15 CR,LF,"Comparing %1 tracks",CR,LF
51;"%2 sectors per track, %3 side(s)",CR,LF
52;
53;:def 16 CR,LF,"Drive types or diskette types",CR,LF
54;"not compatible",CR,LF
55;
56;:def 17 CR,LF,"Unrecoverable read error on drive %2",CR,LF
57;"side %3, track %4",CR,LF
58;
59;:def 18 CR,LF,"Compare error on",CR,LF,"side %3, track %4",CR,LF
60;
61;:def 19 "Make sure a diskette is inserted into",CR,LF
62;"the drive and the door is closed",CR,LF
63;
64;:def 20 CR,LF,"Compare process ended",CR,LF
65;
66;:def 21 CR,LF,"Compare OK",CR,LF
67;
68;:def 22 CR,LF
69;:end
70; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
71 IF1 ;AN000;
72 %OUT COMPONENT=DISKCOMP, MODULE=DCOMPMS.INC...;AN000;
73 ENDIF ;AN000;
74; $SALUT (0,13,18,22) ; ;AN000;
75;THIS MODULE IS INCLUDED IN DCOMPSM.SAL.
76; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
77
78FOUR_SUBS EQU 4 ;AN000;FOUR VARIABLES IN ONE MSG
79PC_ID_4 EQU 4 ;AN000;IDENTIFIES FOURTH REPLACEMENT PARM
80PC_ID_5 EQU 5 ;AN000;IDENTIFIES FIFTH REPLACEMENT PARM
81LETTER_A EQU "A" ;AN000;DEFAULT DRIVE ID
82CLEAR_BUF EQU 0C0H ;AN006;CLEAR KEYBOARD BUFFER BEFORE INPUT
83KEY_IN_ECHO EQU 1 ;AN000;REQUEST KEYBOARD INPUT TO AL, ECHO RESPONSE
84KEY_IN EQU 8 ;AN000;REQUEST KEYBOARD INPUT TO AL, NO ECHO
85FILL_OFF EQU 0 ;AN000;TO BE FILLED IN WITH OFFSET TO DATA
86FILL_SEG EQU 0 ;AN000;TO BE FILLED IN WITH THE COMMON SEG ID
87 ; SINCE A .COM FILE CANNOT HAVE
88 ; SEGMENT FIXUP RECORDS
89
90SUBLIST_PARSE SUBLIST <,,FILL_OFF,FILL_SEG,PC_ID_0,SF_BITS <SF_LEFT,,SF_ASCIIZ,SF_CHAR>,MAX_0,MIN_1,PAD_BLK> ;AN003;
91 PUBLIC SUBLIST_PARSE ;AN003;
92
93; THE NEXT GROUP ARE ADDITIONAL CLASS "A" MESSAGES
94; SPECIFICALLY DEFINED FOR THE DISKCOMP UTILITY
95
96 ;"Insufficient memory"
97MSGNUM_UNSUF_MEMORY MSG_DESC <2> ;AN000;
98 PUBLIC MSGNUM_UNSUF_MEMORY ;AN000;
99
100 ;CR,LF,"Invalid parameter",CR,LF
101MSGNUM_INVALID_PARM MSG_DESC <3> ;AN000;
102 PUBLIC MSGNUM_INVALID_PARM ;AN000;
103
104 ;"Do not specify filename(s)",CR,LF
105 ;"Command format: DISKCOMP d: d: [/1][/8]",CR,LF
106MSGNUM_INVALID_PARM2 MSG_DESC <4> ;AN000;
107 PUBLIC MSGNUM_INVALID_PARM2 ;AN000;
108
109; = = = = = = = = = = = = = = = =
110 ;CR,LF,"Invalid drive specification",CR,LF
111 ;"Specified drive does not exist",CR,LF
112 ;"or is non-removable",CR,LF
113MSGNUM_INVALID_DRV MSG_DESC <5> ;AN000;
114 PUBLIC MSGNUM_INVALID_DRV ;AN000;
115
116; = = = = = = = = = = = = = = = =
117 ;CR,LF,"Cannot DISKCOMP to or from",CR,LF
118 ;"a network drive",CR,LF
119MSGNUM_DRV_REDIRECTED MSG_DESC <6> ;AN000;
120 PUBLIC MSGNUM_DRV_REDIRECTED ;AN000;
121
122; = = = = = = = = = = = = = = = =
123 ;CR,LF,"Insert FIRST diskette in drive %1:",CR,LF
124MSGNUM_LOAD_FIRST MSG_DESC <7,,SUBLIST_78,ONE_SUBS> ;AN000;
125 PUBLIC MSGNUM_LOAD_FIRST,SUBLIST_78 ;AN000;
126
127SUBLIST_78 SUBLIST <,,FILL_OFF,FILL_SEG,PC_ID_1,SF_BITS<SF_LEFT,,SF_CH,SF_CHAR>,MAX_0,MIN_1>;AN000;
128;THE "FILL" FIELDS NEED TO BE SET TO POINT TO
129;"ASCII_DRV1_ID" OR "ASCII_DRV2_ID"(BELOW).
130
131 ;CR,LF,"Insert SECOND diskette in drive %1:",CR,LF
132MSGNUM_LOAD_SECOND MSG_DESC <8,,SUBLIST_78,ONE_SUBS> ;AN000;
133 PUBLIC MSGNUM_LOAD_SECOND ;AN000;
134
135 ;IF "FIRST" SPECIFIED
136ASCII_DRV1_ID DB LETTER_A-BYTE ;AN000;
137
138 ;IF "SECOND" SPECIFIED
139ASCII_DRV2_ID DB LETTER_A-BYTE ;AN000;
140 PUBLIC ASCII_DRV1_ID,ASCII_DRV2_ID ;AN000;
141
142; = = = = = = = = = = = = = = = =
143 ;CR,LF,"FIRST diskette bad or incompatible",CR,LF
144MSGNUM_BAD_FIRST MSG_DESC <9> ;AN000;
145 PUBLIC MSGNUM_BAD_FIRST ;AN000;
146; = = = = = = = = = = = = = = = =
147 ;CR,LF,"SECOND diskette bad or incompatible",CR,LF
148MSGNUM_BAD_SECOND MSG_DESC <10> ;AN000;
149 PUBLIC MSGNUM_BAD_SECOND ;AN000;
150; = = = = = = = = = = = = = = = =
151 ;CR,LF,Drive not ready",CR,LF
152MSGNUM_GET_READY MSG_DESC <11,,SUBLIST_11,ONE_SUBS> ;AN000;
153 PUBLIC MSGNUM_GET_READY ;AN000;
154
155SUBLIST_11 SUBLIST <,,DRIVE_LETTER,FILL_SEG,PC_ID_0,SF_BITS<SF_LEFT,,SF_ASCIIZ,SF_CHAR>,MAX_0,MIN_1>;AN000;
156 PUBLIC SUBLIST_11 ;AN000;
157
158DRIVE_LETTER DB LETTER_A,":",NULL ;AN000;
159 PUBLIC DRIVE_LETTER ;AN000;
160
161SKIP_MSG DB NULL ;AN000;
162 PUBLIC SKIP_MSG ;AN000;
163; = = = = = = = = = = = = = = = =
164 ;CR,LF,"Press any key to continue . . .",CR,LF
165MSGNUM_STRIKE MSG_DESC <12,,,,(CLASS_A SHL 8) OR (CLEAR_BUF + KEY_IN)> ;AN006;
166 PUBLIC MSGNUM_STRIKE ;AN000;
167; = = = = = = = = = = = = = = = =
168; ;CR,LF,"Attempt to write to write-protected diskette",CR,LF
169MSGNUM_WRITE_PROTECT MSG_DESC <13> ;AN000;
170 PUBLIC MSGNUM_WRITE_PROTECT ;AN000;
171; = = = = = = = = = = = = = = = =
172 ;CR,LF,"Compare another diskette (Y/N) ?"
173MSGNUM_COMP_ANOTHER MSG_DESC <14,,,,(CLASS_A SHL 8) OR (CLEAR_BUF + KEY_IN_ECHO)> ;AN006;
174 PUBLIC MSGNUM_COMP_ANOTHER ;AN000;
175; = = = = = = = = = = = = = = = =
176 ;CR,LF,"Comparing %1 tracks",CR,LF
177 ;"%2 Sectors/Track, %3 Side(s)",CR,LF
178MSGNUM_COMPARING MSG_DESC <15,,SUBLIST_15A,THREE_SUBS> ;AN000;
179 PUBLIC MSGNUM_COMPARING ;AN000;
180
181SUBLIST_15A SUBLIST <,,MSG_TRACKS,FILL_SEG,PC_ID_1,SF_BITS<SF_LEFT,,SF_WORD,SF_UN_BD>,MAX_0,MIN_1>;AN000;
182SUBLIST_15B SUBLIST <,,MSG_SECTRK,FILL_SEG,PC_ID_2,SF_BITS<SF_LEFT,,SF_WORD,SF_UN_BD>,MAX_0,MIN_1>;AN000;
183SUBLIST_15C SUBLIST <,,MSG_SIDES,FILL_SEG,PC_ID_3,SF_BITS<SF_LEFT,,SF_WORD,SF_UN_BD>,MAX_0,MIN_1>;AN000;
184 PUBLIC SUBLIST_15A,SUBLIST_15B,SUBLIST_15C ;AN000;
185
186MSG_TRACKS DW 0 ;AN000;NUMBER OF TRACKS
187MSG_SECTRK DW 0 ;AN000;NUMBER OF SECTORS PER TRACK
188MSG_SIDES DW 0 ;AN000;NUMBER OF SIDES
189 PUBLIC MSG_TRACKS,MSG_SECTRK,MSG_SIDES ;AN000;
190; = = = = = = = = = = = = = = = =
191 ;CR,LF,"Drive types or diskette types",CR,LF
192 ;"not compatible",CR,LF
193MSGNUM_NOT_COMPATIBLE MSG_DESC <16> ;AN000;
194 PUBLIC MSGNUM_NOT_COMPATIBLE ;AN000;
195; = = = = = = = = = = = = = = = =
196 ;CR,LF,"Unrecoverable read error on drive %2",CR,LF
197 ;"side %3, track %4",CR,LF
198 ;%2 IS "DRIVE_LETTER", AND
199 ;"MSG_SIDES" AND "MSG_TRACKS" ARE %3 AND %4.
200MSGNUM_HARD_ERROR_READ MSG_DESC <17,,SUBLIST_17B,THREE_SUBS> ;AN000;
201 PUBLIC MSGNUM_HARD_ERROR_READ ;AN000;
202
203SUBLIST_17B SUBLIST <,,DRIVE_LETTER,FILL_SEG,PC_ID_2,SF_BITS<SF_LEFT,,SF_ASCIIZ,SF_CHAR>,MAX_0,MIN_1>;AN000;
204SUBLIST_17C SUBLIST <,,MSG_SIDES,FILL_SEG,PC_ID_3,SF_BITS<SF_LEFT,,SF_WORD,SF_UN_BD>,MAX_0,MIN_1> ;AN000;
205SUBLIST_17D SUBLIST <,,MSG_TRACKS,FILL_SEG,PC_ID_4,SF_BITS<SF_LEFT,,SF_WORD,SF_UN_BD>,MAX_0,MIN_1>;AN000;
206 PUBLIC SUBLIST_17B,SUBLIST_17C,SUBLIST_17D ;AN000;
207
208 ;CR,LF,"Compare error on",CR,LF
209 ;"side %3, track %4",CR,LF
210 ;"MSG_SIDES" AND "MSG_TRACKS" ARE %3 AND %4.
211MSGNUM_HARD_ERROR_COMP MSG_DESC <18,,SUBLIST_17C,TWO_SUBS> ;AN000;
212 PUBLIC MSGNUM_HARD_ERROR_COMP ;AN000;
213; = = = = = = = = = = = = = = = =
214 ;:def 19 "Make sure a diskette is inserted into",CR,LF
215 ;"the drive and the door is closed",CR,LF
216MSGNUM_CLOSE_DOOR MSG_DESC <19> ;AN004;
217 PUBLIC MSGNUM_CLOSE_DOOR ;AN004;
218; = = = = = = = = = = = = = = = =
219 ;CR,LF,"Compare process ended",CR,LF
220MSGNUM_FATAL_ERROR MSG_DESC <20> ;AN000;
221 PUBLIC MSGNUM_FATAL_ERROR ;AN000;
222; = = = = = = = = = = = = = = = =
223 ;CR,LF,"Compare OK",CR,LF
224MSGNUM_COMP_OK MSG_DESC <21> ;AN000;
225 PUBLIC MSGNUM_COMP_OK ;AN000;
226; = = = = = = = = = = = = = = = =
227 ;CR,LF
228MSGNUM_NEWLINE MSG_DESC <22> ;AC007;
229 PUBLIC MSGNUM_NEWLINE ;AN000;
230; = = = = = = = = = = = = = = = =
231;end of DCOMPMS.INC
232 \ No newline at end of file