summaryrefslogtreecommitdiff
path: root/v4.0/src/SELECT/VAR.ASM
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/SELECT/VAR.ASM')
-rw-r--r--v4.0/src/SELECT/VAR.ASM946
1 files changed, 946 insertions, 0 deletions
diff --git a/v4.0/src/SELECT/VAR.ASM b/v4.0/src/SELECT/VAR.ASM
new file mode 100644
index 0000000..0074a81
--- /dev/null
+++ b/v4.0/src/SELECT/VAR.ASM
@@ -0,0 +1,946 @@
1PAGE 60,132 ;AN000;
2NAME SELECT ;AN000;
3TITLE VARIABLES - DOS - SELECT.EXE ;AN000;
4SUBTTL var.asm ;AN000;
5.ALPHA ;AN000;
6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7;
8; VAR.ASM: Copyright 1988 Microsoft
9;
10; DATE: August 8/87
11;
12; COMMENTS: Assemble with MASM 3.0 (using the /A option)
13;
14; Module contains variables used by SELECT.
15;
16; CHANGE HISTORY:
17;
18;
19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
20 ;
21 INCLUDE SYSMSG.INC ;AN000;
22 MSG_UTILNAME <SELECT> ;AN000;
23 ;
24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
25;
26;
27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
28DATA SEGMENT BYTE PUBLIC 'DATA' ;AN000;
29 INCLUDE VARSTRUC.INC ;AN000;
30 INCLUDE SEL_FILE.INC ;AN000;
31 ;
32 PUBLIC E_ENTER,E_TAB,E_ESCAPE ;AN000;
33 ;
34ESCAPE EQU 27 ;AN000;
35ENTER EQU 13 ;AN000;
36TAB EQU 9 ;AN000;
37F1 EQU 59 ;AN000;
38F3 EQU 61 ;AN000;
39SPACE EQU 32 ;AN000;
40 ;
41 PUBLIC DRIVE_A,DRIVE_B ;AN000;JW
42DRIVE_A EQU 0 ;AN000;JW
43DRIVE_B EQU 1 ;AN000;JW
44 ;
45MSG_SERVICES <MSGDATA> ;AN000;
46 ;
47 PUBLIC SUPPORT_STATUS ;AN000;
48SUPPORT_STATUS DW ? ;AN000;
49 DW ? ;AN000;
50 DW ? ;AN000;
51 DW ? ;AN000;
52 DW ? ;AN000;
53 DW ? ;AN000;
54 DW ? ;AN000;
55 DW ? ;AN000;
56 DW ? ;AN000;
57 DW ? ;AN000;
58 ;
59 PUBLIC I_USER_INDEX ;AN000;
60I_USER_INDEX DW ? ;AN000; Index value for scroll list
61 ;
62 PUBLIC N_USER_NUMERIC,MIN_INPUT_VAL,MAX_INPUT_VAL;AN000;
63N_USER_NUMERIC DW ? ;AN000; Input value for numeric fields
64MIN_INPUT_VAL DW ? ;AN000; Minimum value of input
65MAX_INPUT_VAL DW ? ;AN000; Maximum value of input
66 ;
67 PUBLIC S_USER_STRING,P_USER_STRING,M_USER_STRING;AN000;
68S_USER_STRING DW M_USER_STRING ;AN000; Length of string
69P_USER_STRING DB 120 DUP(?) ;AN000; Actual string
70M_USER_STRING EQU $ - P_USER_STRING ;AN000;
71 ;
72 PUBLIC N_VALID_KEYS ;AN000;
73N_VALID_KEYS DW ? ;AN000; Valid keys for current input
74 ;
75 PUBLIC N_USER_FUNC, E_ENTER, E_ESCAPE, E_TAB, E_F3, E_SPACE ;AN000;
76N_USER_FUNC DW ? ;AN000; Function type entered by user
77E_ENTER = ENTER ;AN000; Enter key
78E_ESCAPE = ESCAPE ;AN000; Escape key
79E_TAB = TAB ;AN000; Tab key
80E_F3 = F3*256 ;AN000; Function key 3 (F3,0)
81E_SPACE = SPACE ;AN000; ;
82 ;
83 PUBLIC FK_ENT_F3, FK_ENT_F3_LEN ;AN000;
84FK_ENT_F3 DB ENTER,0,F3 ;AN000; Enter, F3
85FK_ENT_F3_LEN EQU ($-FK_ENT_F3) ;AN000;
86 ;
87 PUBLIC FK_ENT_ESC, FK_ENT_ESC_LEN ;AN000;
88FK_ENT_ESC DB ENTER,ESCAPE ;AN000; Enter, Esc
89FK_ENT_ESC_LEN EQU ($-FK_ENT_ESC) ;AN000;
90 ;
91 PUBLIC FK_ENT_ESC_F3, FK_ENT_ESC_F3_LEN ;AN000;
92FK_ENT_ESC_F3 DB ENTER,ESCAPE,0,F3 ;AN000; Enter, Esc
93FK_ENT_ESC_F3_LEN EQU ($-FK_ENT_ESC_F3) ;AN000;
94 ;
95 PUBLIC FK_ENT, FK_ENT_LEN ;AN000;
96FK_ENT DB ENTER ;AN000; Enter
97FK_ENT_LEN EQU ($-FK_ENT) ;AN000;
98 ;
99 PUBLIC FK_TEXT, FK_TEXT_LEN ;AN000;
100FK_TEXT DB ENTER,ESCAPE,0,F1,0,F3 ;AN000; Enter, ESC, F1, F3
101FK_TEXT_LEN EQU ($-FK_TEXT) ;AN000;
102 ;
103 PUBLIC FK_SCROLL, FK_SCROLL_LEN ;AN000;
104FK_SCROLL DB ENTER,ESCAPE,0,F1,0,F3 ;AN000; Enter,ESC, F1, F3
105FK_SCROLL_LEN EQU ($-FK_SCROLL) ;AN000;
106 ;
107 PUBLIC FK_TAB, FK_TAB_LEN ;AN000;
108FK_TAB DB TAB,ENTER,ESCAPE,0,F1,0,F3 ;AN000;Enter, ESC, F1, F3, Tab
109FK_TAB_LEN EQU ($-FK_TAB) ;AN000;
110 ;
111 PUBLIC FK_REVIEW, FK_REVIEW_LEN ;AN000;
112FK_REVIEW DB ENTER,SPACE,ESCAPE,0,F1,0,F3 ;AN000;Enter,ESC,F1,F3,SPACE
113FK_REVIEW_LEN EQU ($-FK_REVIEW) ;AN000;
114 ;
115 PUBLIC FK_DATE, FK_DATE_LEN ;AN000;
116FK_DATE DB TAB,ENTER,0,F1 ;AN000; Enter, ESC, F1, Tab
117FK_DATE_LEN EQU ($-FK_DATE) ;AN000;
118 ;
119 PUBLIC FK_FORMAT, FK_FORMAT_LEN ;AN000;
120FK_FORMAT DB ENTER,0,F1 ;AN000;
121FK_FORMAT_LEN EQU ($-FK_FORMAT) ;AN000;
122 ;
123 PUBLIC FK_REBOOT, FK_REBOOT_LEN ;AN000;
124FK_REBOOT DB ? ;AN000; only CTRL+ALT+DEL keys valid
125FK_REBOOT_LEN EQU 0 ;AN000;
126 ;
127 PUBLIC ERROR_KEYS,ERROR_KEYS_LEN,E_QUIT,E_RETURN ;AN000;
128ERROR_KEYS DB 0,F3,ENTER ;AN000;
129ERROR_KEYS_LEN EQU $-ERROR_KEYS ;AN000;
130E_QUIT EQU 1 ;AN000;
131E_RETURN EQU 2 ;AN000;
132 ;
133 PUBLIC E_YES, E_NO, E_NA ;AN000;
134E_YES EQU 1 ;AN000;
135E_NO EQU 2 ;AN000;
136E_NA EQU 6 ;AN000;
137 ;
138 PUBLIC N_SELECT_MODE, E_SELECT_MENU, E_SELECT_FDISK, E_SELECT_INV ;AN000;
139N_SELECT_MODE DW ? ;AN000; SELECT command line mode
140E_SELECT_MENU EQU 0 ;AN000; MENU mode
141E_SELECT_FDISK EQU 1 ;AN000; FDISK mode
142E_SELECT_INV EQU 0FFH ;AN000; Invalid parameter
143 ;
144 PUBLIC N_FORMAT_MODE,E_FORMAT_SELECT,E_FORMAT_NEW,E_FORMAT_USED ;AN000;
145N_FORMAT_MODE DW ? ;AN000; FORMAT mode specified on command line
146E_FORMAT_SELECT EQU 1 ;AN000; new disk - select to format all partitions
147E_FORMAT_NEW EQU 2 ;AN000; new disk - user to format all partitions
148E_FORMAT_USED EQU 3 ;AN000; used disk - user to format all partitions
149 ;
150 PUBLIC S_SPACE ;AN000;
151S_SPACE DW M_SPACE ;AN000;
152P_SPACE DB ' ' ;AN000;
153M_SPACE EQU $ - P_SPACE ;AN000;
154 ;
155 PUBLIC S_OFF ;AN000;
156S_OFF DW M_OFF ;AN000; OFF parameter
157P_OFF DB 'OFF' ;AN000;
158M_OFF EQU $ - P_OFF ;AN000;
159 ;
160 PUBLIC S_ON ;AN000;
161S_ON DW M_ON ;AN000; ON parameter
162P_ON DB 'ON' ;AN000;
163M_ON EQU $ - P_ON ;AN000;
164 ;
165 PUBLIC I_WORKSPACE,N_WORK_PREV,E_WORKSPACE_BAL,E_WORKSPACE_MIN,E_WORKSPACE_MAX ;AN000;
166I_WORKSPACE DW ? ;AN000; user workspace option
167N_WORK_PREV DW ? ;AN000; previous workspace option
168E_WORKSPACE_MIN EQU 1 ;AN000; minimize DOS functions
169E_WORKSPACE_BAL EQU 2 ;AN000; balance DOS function
170E_WORKSPACE_MAX EQU 3 ;AN000; maximize DOS functions
171 ;
172 PUBLIC S_ANSI,M_ANSI,F_ANSI,E_ANSI_YES,D_ANSI_1,E_ANSI_B,E_ANSI_C,E_ANSI_NO ;AN000;
173S_ANSI DW M_ANSI ;AN000; ANSI command
174P_ANSI DB 2 DUP(?) ;AN000;
175M_ANSI EQU $ - P_ANSI ;AN000;
176D_ANSI_1 DW 2 ;AN000;
177 DB '/X' ;AN000;
178F_ANSI DW ? ;AN000; ANSI support required indicator
179E_ANSI_NO = E_NO ;AN000; ANSI support not required
180E_ANSI_YES = E_YES ;AN000; include ANSI.SYS command
181E_ANSI_B EQU 2 ;AN000;
182E_ANSI_C EQU 3 ;AN000;
183 ;
184 PUBLIC S_APPEND, F_APPEND, E_APPEND_YES, E_APPEND_NO, M_APPEND ;AN000;
185 PUBLIC S_APPEND_P, M_APPEND_P ;AN000;JW
186S_APPEND DW M_APPEND ;AN000; APPEND command
187P_APPEND DB 120 DUP(?) ;AN000;
188M_APPEND EQU $ - P_APPEND ;AN000;
189S_APPEND_P DW 2 ;AN000; APPEND command paramters JW
190P_APPEND_P DB '/E' ;AN000; Default parameter JW
191 DB 38 DUP(' ') ;AN000; JW
192M_APPEND_P EQU $ - P_APPEND_P ;AN000; JW
193F_APPEND DW ? ;AN000; APPEND support indicator
194E_APPEND_NO = E_NO ;AN000; APPEND support not required
195E_APPEND_YES = E_YES ;AN000; include APPEND command
196 ;
197 PUBLIC S_BREAK, M_BREAK, ST_BREAK, MT_BREAK ;AN000;
198S_BREAK DW M_BREAK ;AN000; BREAK command
199P_BREAK DB 3 DUP(?) ;AN000;
200M_BREAK EQU $ - P_BREAK ;AN000;
201ST_BREAK DW MT_BREAK ;AN000; temp location for BREAK command
202PT_BREAK DB M_BREAK DUP(?) ;AN000;
203MT_BREAK EQU $ - PT_BREAK ;AN000;
204 ;
205 PUBLIC S_BUFFERS,M_BUFFERS,D_BUFFERS_1,D_BUFFERS_2,ST_BUFFERS,MT_BUFFERS ;AN000;
206S_BUFFERS DW M_BUFFERS ;AN000; BUFFERS command
207P_BUFFERS DB 7 DUP(?) ;AN000;
208M_BUFFERS EQU $ - P_BUFFERS ;AN000;
209D_BUFFERS_1 DW 2 ;AN000;
210 DB '20' ;AN000;
211D_BUFFERS_2 DW 4 ;AN000;
212 DB '25,8' ;AC041;SEH for optimal performance
213ST_BUFFERS DW MT_BUFFERS ;AN000; temp location for BUFFERS parameters
214PT_BUFFERS DB M_BUFFERS DUP(?) ;AN000;
215MT_BUFFERS EQU $ - PT_BUFFERS ;AN000;
216 ;
217 PUBLIC S_CPSW, M_CPSW, F_CPSW, E_CPSW_YES, E_CPSW_NO, E_CPSW_NA ;AN000;
218 PUBLIC E_CPSW_B, E_CPSW_C, ST_CPSW, MT_CPSW ;AN000;
219 PUBLIC N_CPSW, E_CPSW_NOT_VAL, E_CPSW_NOT_REC, E_CPSW_VALID ;AN000;
220S_CPSW DW M_CPSW ;AN000; CPSW command
221P_CPSW DB 3 DUP(?) ;AN000;
222M_CPSW EQU $ - P_CPSW ;AN000;
223F_CPSW DW ? ;AN000; CPSW support indicator
224E_CPSW_NO = E_NO ;AN000; CPSW support not required
225E_CPSW_YES = E_YES ;AN000; include CPSW command
226E_CPSW_NA = E_NA ;AN000; CPSW not available
227E_CPSW_B EQU 1 ;AN000;
228E_CPSW_C EQU 1 ;AN000;
229ST_CPSW DW MT_CPSW ;AN000; temp location for CPSW command
230PT_CPSW DB M_CPSW DUP(?) ;AN000;
231MT_CPSW EQU $ - PT_CPSW ;AN000;
232N_CPSW DW ? ;AN000; code page switching indicator for country
233E_CPSW_NOT_VAL EQU 0 ;AN000; code page switching not allowed
234E_CPSW_NOT_REC EQU 1 ;AN000; code page switching not recommended
235E_CPSW_VALID EQU 2 ;AN000; code page switching recommended
236 ;
237 PUBLIC S_FASTOPEN, M_FASTOPEN, F_FASTOPEN, E_FASTOPEN_YES ;AN000;
238 PUBLIC E_FASTOPEN_NO, D_FASTOPEN_1, D_FASTOPEN_2, E_FASTOPEN_C ;AN000;
239S_FASTOPEN DW M_FASTOPEN ;AN000; FASTOPEN command
240P_FASTOPEN DB 60 DUP(?) ;AN000;
241M_FASTOPEN EQU $ - P_FASTOPEN ;AN000;
242D_FASTOPEN_1 DW 10 ;AN000;
243 DB 'C:=(50,25)' ;AN000;
244D_FASTOPEN_2 DW 12 ;AN000;
245 DB 'C:=(150,150)' ;AC078; SEH changed from 200,200 to 150,150 due to expanded mem problems ;AC041; SEH for optimal performance
246F_FASTOPEN DW ? ;AN000; FASTOPEN support indicator
247E_FASTOPEN_NO = E_NO ;AN000; FASTOPEN support not required
248E_FASTOPEN_YES = E_YES ;AN000; include FASTOPEN command
249E_FASTOPEN_C EQU 4 ;AN000;
250 ;
251 PUBLIC S_FCBS, M_FCBS, D_FCBS_1, ST_FCBS, MT_FCBS ;AN000;
252S_FCBS DW M_FCBS ;AN000; FCBS command
253P_FCBS DB 7 DUP(?) ;AN000;
254M_FCBS EQU $ - P_FCBS ;AN000;
255D_FCBS_1 DW 4 ;AN000;
256 DB '20,8' ;AN000;
257ST_FCBS DW MT_FCBS ;AN000; temp location for FCBS command
258PT_FCBS DB M_FCBS DUP(?) ;AN000;
259MT_FCBS EQU $ - PT_FCBS ;AN000;
260 ;
261 PUBLIC S_FILES, M_FILES, D_FILES_1, D_FILES_2, ST_FILES, MT_FILES ;AN000;
262S_FILES DW M_FILES ;AN000; FILES command
263P_FILES DB 3 DUP(?) ;AN000;
264M_FILES EQU $ - P_FILES ;AN000;
265D_FILES_1 DW 2 ;AN000;
266 DB '20' ;AN000;
267D_FILES_2 DW 1 ;AN000;
268 DB '8' ;AN000;
269ST_FILES DW MT_FILES ;AN000; temp location for FILES command
270PT_FILES DB M_FILES DUP(?) ;AN000;
271MT_FILES EQU $ - PT_FILES ;AN000;
272 ;
273 PUBLIC S_GRAPHICS, M_GRAPHICS, F_GRAPHICS, E_GRAPHICS_YES ;AN000;
274 PUBLIC E_GRAPHICS_NO, E_GRAPHICS_B, E_GRAPHICS_C ;AN000;
275S_GRAPHICS DW M_GRAPHICS ;AN000; GRAPHICS command
276P_GRAPHICS DB 80 DUP(?) ;AN000;
277M_GRAPHICS EQU $ - P_GRAPHICS ;AN000;
278F_GRAPHICS DW ? ;AN000; GRAPHICS support indicator
279E_GRAPHICS_NO = E_NO ;AN000; GRAPHICS support not required
280E_GRAPHICS_YES = E_YES ;AN000; include GRAPHICS command
281E_GRAPHICS_B EQU 4 ;AN000;
282E_GRAPHICS_C EQU 6 ;AN000;
283 ;
284 PUBLIC F_GRAFTABL, E_GRAFTABL_YES, E_GRAFTABL_NO, E_GRAFTABL_NA ;AN000;
285 PUBLIC E_GRAFTABL_B, E_GRAFTABL_C ;AN000;
286F_GRAFTABL DW ? ;AN000; GRAFTABL support indicator
287E_GRAFTABL_NO = E_NO ;AN000; GRAFTABL support not required
288E_GRAFTABL_YES = E_YES ;AN000; include GRAFTABL command
289E_GRAFTABL_NA = E_NA ;AN000; GRAFTABL not available
290E_GRAFTABL_B EQU 3 ;AN000;
291E_GRAFTABL_C EQU 5 ;AN000;
292 ;
293 PUBLIC S_LASTDRIVE,M_LASTDRIVE,D_LASTDRIVE_1,ST_LASTDRIVE,MT_LASTDRIVE ;AN000;
294S_LASTDRIVE DW M_LASTDRIVE ;AN000; LASTDRIVE command
295P_LASTDRIVE DB 1 DUP(?) ;AN000;
296M_LASTDRIVE EQU $ - P_LASTDRIVE ;AN000;
297D_LASTDRIVE_1 DW 1 ;AN000;
298 DB 'E' ;AN000;
299ST_LASTDRIVE DW MT_LASTDRIVE ;AN000; temp location for LASTDRIVE command
300PT_LASTDRIVE DB M_LASTDRIVE DUP(?) ;AN000;
301MT_LASTDRIVE EQU $ - PT_LASTDRIVE ;AN000;
302 ;
303 PUBLIC S_PATH, M_PATH, F_PATH, E_PATH_YES, E_PATH_NO ;AN000;
304S_PATH DW M_PATH ;AN000; PATH command
305P_PATH DB 120 DUP(?) ;AN000;
306M_PATH EQU $ - P_PATH ;AN000;
307F_PATH DW ? ;AN000; PATH support indicator
308E_PATH_NO = E_NO ;AN000; PATH support not required
309E_PATH_YES = E_YES ;AN000; include PATH command
310 ;
311 PUBLIC S_PROMPT,M_PROMPT,F_PROMPT,E_PROMPT_YES,E_PROMPT_NO,D_PROMPT_1 ;AN000;
312S_PROMPT DW M_PROMPT ;AN000; PROMPT command
313P_PROMPT DB 120 DUP(?) ;AN000;
314M_PROMPT EQU $ - P_PROMPT ;AN000;
315D_PROMPT_1 DW 4 ;AN000;
316 DB '$P$G' ;AN000;
317F_PROMPT DW ? ;AN000; PROMPT command indicator
318E_PROMPT_NO = E_NO ;AN000; PROMPT command not to be included
319E_PROMPT_YES = E_YES ;AN000; include PROMPT command
320 ;
321 PUBLIC S_SHARE,M_SHARE,F_SHARE,E_SHARE_YES,E_SHARE_NO,E_SHARE_C ;AN000;
322S_SHARE DW M_SHARE ;AN000; SHARE command
323P_SHARE DB 15 DUP(?) ;AN000;
324M_SHARE EQU $ - P_SHARE ;AN000;
325F_SHARE DW ? ;AN000; SHARE support indicator
326E_SHARE_NO = E_NO ;AN000; SHARE support not required
327E_SHARE_YES = E_YES ;AN000; include SHARE command
328E_SHARE_C EQU 7 ;AN000;
329 ;
330 PUBLIC S_SHELL, M_SHELL, F_SHELL, E_SHELL_YES, E_SHELL_NO ;AN000;
331 PUBLIC D_SHELL_1, D_SHELL_2, E_SHELL_B, E_SHELL_C ;AC018;SEH ;AC000;JW
332S_SHELL DW M_SHELL ;AN000; SHELL command
333P_SHELL DB 115 DUP(?) ;AN000;
334M_SHELL EQU $ - P_SHELL ;AN000;
335D_SHELL_1 DW M_SHELL_1 ;AN000;
336P_SHELL_1 DB '/TRAN/MAINT/MENU/EXIT/SND/PROMPT' ;AC077;SEH ;AC000;JW
337M_SHELL_1 EQU $ - P_SHELL_1 ;AN000;
338D_SHELL_2 DW M_SHELL_2 ;AN000;
339P_SHELL_2 DB '/TRAN/COLOR/DOS/MENU/MUL' ;AC071;SEH ;AC016;SEH ;AC000;JW
340 DB '/SND/MEU:SHELL.MEU/CLR:SHELL.CLR/PROMPT/MAINT/EXIT/SWAP/DATE' ;AC012;SEH ;AC000;JW
341M_SHELL_2 EQU $ - P_SHELL_2 ;AN000;
342F_SHELL DW ? ;AN000; SHELL support indicator
343E_SHELL_NO = E_NO ;AN000; SHELL support not required
344E_SHELL_YES = E_YES ;AN000; include SHELL command
345E_SHELL_B = 5
346E_SHELL_C = 8
347 ;
348 PUBLIC MACHINE_TYPE, PS2_FLAG, MOD25_OR_MOD30 ;AN000;JW
349MACHINE_TYPE DB ? ;AN000;JW
350PS2_FLAG DB ? ;AN000;JW
351MOD25_OR_MOD30 EQU 0FAH ;AN000;JW
352 ;
353 PUBLIC S_STACKS,M_STACKS,ST_STACKS,MT_STACKS ;AN000;
354S_STACKS DW M_STACKS ;AN000; STACKS command
355P_STACKS DB 6 DUP(?) ;AN000;
356M_STACKS EQU $ - P_STACKS ;AN000;
357ST_STACKS DW MT_STACKS ;AN000; temp location for STACKS command
358PT_STACKS DB M_STACKS DUP(?) ;AN000;
359MT_STACKS EQU $ - PT_STACKS ;AN000;
360 ;
361 PUBLIC S_VDISK,M_VDISK,F_VDISK,E_VDISK_YES,E_VDISK_NO,E_VDISK_B,E_VDISK_C ;AN000;
362S_VDISK DW M_VDISK ;AN000; VDISK command
363P_VDISK DB 20 DUP(?) ;AN000;
364M_VDISK EQU $ - P_VDISK ;AN000;
365F_VDISK DW ? ;AN000; VDISK support indicator
366E_VDISK_NO = E_NO ;AN000; VDISK support not required
367E_VDISK_YES = E_YES ;AN000; include VDISK command
368E_VDISK_B EQU 6 ;AN000;
369E_VDISK_C EQU 9 ;AN000;
370 ;
371 PUBLIC S_VERIFY, M_VERIFY, ST_VERIFY, MT_VERIFY ;AN000;
372S_VERIFY DW M_VERIFY ;AN000; VERIFY command
373P_VERIFY DB 3 DUP(?) ;AN000;
374M_VERIFY EQU $ - P_VERIFY ;AN000;
375ST_VERIFY DW MT_VERIFY ;AN000; temp location for VERIFY command
376PT_VERIFY DB M_VERIFY DUP(?) ;AN000;
377MT_VERIFY EQU $ - PT_VERIFY ;AN000;
378 ;
379 PUBLIC S_XMAEM, M_XMAEM ;AN000;
380S_XMAEM DW M_XMAEM ;AN000; XMAEM command
381P_XMAEM DB 40 DUP(?) ;AN000;
382M_XMAEM EQU $ - P_XMAEM ;AN000;
383 ;
384 PUBLIC S_XMA2EMS, M_XMA2EMS, D_XMA2EMS_1, F_XMA, E_XMA_NO, E_XMA_NA ;AN000;
385 PUBLIC E_XMA_YES, E_XMA_C, N_XMA, E_XMA_ABSENT, E_XMA_PRESENT ;AN000;
386S_XMA2EMS DW M_XMA2EMS ;AN000; XMA2EMS command
387P_XMA2EMS DB 40 DUP(?) ;AN000;
388M_XMA2EMS EQU $ - P_XMA2EMS ;AN000;
389D_XMA2EMS_1 DW 30 ;AN000;
390 DB 'FRAME=D000 P254=C000 P255=C400' ;AC044;SEH ;AC040;SEH ;AN000;JW
391F_XMA DW ? ;AN000; Expanded Memory support indicator
392E_XMA_NO = E_NO ;AN000; Expanded Memory support not required
393E_XMA_YES = E_YES ;AN000; include XMAEM, XMA2EMS commands
394E_XMA_NA = E_NA ;AN000; Expanded memory not available
395E_XMA_C EQU 2 ;AN000;
396N_XMA DW ? ;AN000; Expanded memory presence indicator
397E_XMA_ABSENT EQU 0 ;AN000; expanded memory not present
398E_XMA_PRESENT EQU 1 ;AN000; expanded memory is present
399 ;
400 PUBLIC N_MOD80, E_IS_MOD80, E_NOT_MOD80 ;AN000;JW
401N_MOD80 DW ? ;AN000; Model 80 indicator
402E_NOT_MOD80 EQU 0 ;AN000; is not a model 80
403E_IS_MOD80 EQU 1 ;AN000; is a model 80
404 ;
405 PUBLIC I_DEST_DRIVE, E_DEST_DRIVE_A, E_DEST_DRIVE_B, E_DEST_DRIVE_C ;AN111;JW
406I_DEST_DRIVE DW ? ;AN000; Install destination drive - set by CHECK_VALID_MEDIA
407E_DEST_DRIVE_C EQU 1 ;AN000; drive C:
408E_DEST_DRIVE_B EQU 2 ;AN000; drive B:
409E_DEST_DRIVE_A EQU 3 ;AN111; drive A:
410 ;
411 PUBLIC N_DRIVE_OPTION, E_OPTION_B_C, E_OPTION_A_C ;AN111;JW
412N_DRIVE_OPTION DW ? ;AN111; Which options to choose from JW
413E_OPTION_B_C EQU 1 ;AN111; install to B or C JW
414E_OPTION_A_C EQU 2 ;AN111; install to A or C JW
415 ;
416 PUBLIC N_DEST_DRIVE, E_DEST_SELECT, E_DEST_USER ;AN000;
417N_DEST_DRIVE DB ? ;AN000; destination drive determined by user or SELECT
418E_DEST_SELECT EQU 0 ;AN000; SELECT will determine default drive
419E_DEST_USER EQU 1 ;AN000; user will select destination drive
420 ;
421 PUBLIC N_DISKETTE_TOT, N_ZERO_DISKETTE, N_DISKETTE_A, N_DISKETTE_B ;AN000;
422 PUBLIC E_DISKETTE_INV, E_DISKETTE_360, E_DISKETTE_720, E_DISKETTE_1200, E_DISKETTE_1440 ;AN000;
423N_DISKETTE_TOT DB ? ;AN000; number of diskette drives
424N_ZERO_DISKETTE EQU 0 ;AN000;
425N_DISKETTE_A DB ? ;AN000; drive A: diskette status
426N_DISKETTE_B DB ? ;AN000; drive B: diskette status
427E_DISKETTE_INV EQU 0FFH ;AN000; diskette not present
428E_DISKETTE_360 EQU 0 ;AN000; diskette media is 360K (5.25 inch)
429E_DISKETTE_1200 EQU 1 ;AN000; diskette media is 1.2M (5.25 inch)
430E_DISKETTE_720 EQU 2 ;AN000; diskette media is 720K (3.5 inch)
431E_DISKETTE_1440 EQU 7 ;AN000; diskette media is 1.44M (3.5 inch)
432 ;
433 PUBLIC S_DEST_DRIVE,M_DEST_DRIVE,S_DRIVE_A ;AN000;
434S_DEST_DRIVE DW M_DEST_DRIVE ;AN000; Destination drive to install DOS
435P_DEST_DRIVE DB 'C:\' ;AN000;
436M_DEST_DRIVE EQU $ - P_DEST_DRIVE ;AN000;
437S_DRIVE_A DW M_DRIVE_A ;AN000;
438P_DRIVE_A DB 'A:\' ;AN000;
439M_DRIVE_A EQU $ - P_DRIVE_A ;AN000;
440 ;
441 PUBLIC S_C_DRIVE,S_A_DRIVE,S_B_DRIVE ;AC039;SEH;AN000;JW
442S_C_DRIVE DW M_C_DRIVE ;AN000; Destination drive w/o backslash JW
443P_C_DRIVE DB 'C:' ;AN000;
444M_C_DRIVE EQU $ - P_C_DRIVE ;AN000;
445S_A_DRIVE DW M_A_DRIVE ;AN039;SEH Destination drive w/o backslash
446P_A_DRIVE DB 'A:' ;AN039;SEH
447M_A_DRIVE EQU $ - P_A_DRIVE ;AN039;SEH
448S_B_DRIVE DW M_B_DRIVE ;AN039;SEH Destination drive w/o backslash
449P_B_DRIVE DB 'B:' ;AN039;SEH
450M_B_DRIVE EQU $ - P_B_DRIVE ;AN039;SEH
451 ;
452 PUBLIC S_DOS_LOC, M_DOS_LOC, D_DOS_LOC_1 ;AN000;
453S_DOS_LOC DW M_DOS_LOC ;AN000; user defined DOS location path for drive C:
454P_DOS_LOC DB 37 DUP(?) ;AN000;
455M_DOS_LOC EQU $ - P_DOS_LOC ;AN000;
456D_DOS_LOC_1 DW 3 ;AN000;
457 DB 'DOS' ;AN000;
458 ;
459 PUBLIC S_INSTALL_PATH, M_INSTALL_PATH ;AN000;
460S_INSTALL_PATH DW M_INSTALL_PATH ;AN000; install path including drive
461P_INSTALL_PATH DB 40 DUP( ) ;AN000;
462M_INSTALL_PATH EQU $ - P_INSTALL_PATH ;AN000;
463 ;
464 PUBLIC I_CTY_KYBD, E_CTY_KB_PREDEF, E_CTY_KB_USER ;AN000;
465I_CTY_KYBD DW ? ;AN000; index for country and keyboard screen
466E_CTY_KB_PREDEF EQU 1 ;AN000; Use predefined country/keyboard
467E_CTY_KB_USER EQU 2 ;AN000; user specified country/keyboard to be used
468 ;
469 PUBLIC N_CTY_LIST, E_CTY_LIST_1, E_CTY_LIST_2 ;AN000;
470N_CTY_LIST DW ? ;AN000; Country code scroll list identifier
471E_CTY_LIST_1 EQU 1 ;AN000; code 001 - 046
472E_CTY_LIST_2 EQU 2 ;AN000; code 047 - 972
473 ;
474 PUBLIC I_COUNTRY, N_COUNTRY ;AN000;
475I_COUNTRY DW ? ;AN000; Index into country code list
476N_COUNTRY DW ? ;AN000; Country Code
477 ;
478 PUBLIC N_KYBD_LIST, E_KYBD_LIST_1, E_KYBD_LIST_2 ;AN000;
479N_KYBD_LIST DW ? ;AN000; Keyboard code scroll list identifier
480E_KYBD_LIST_1 EQU 1 ;AN000; code BE - NO
481E_KYBD_LIST_2 EQU 2 ;AN000; code PO - none
482 ;
483 PUBLIC I_KEYBOARD ;AN000;
484I_KEYBOARD DW ? ;AN000; Index into keyboard code list
485 ;
486 PUBLIC S_KEYBOARD,N_KYBD_VAL,E_KYBD_VAL_YES,E_KYBD_VAL_NO ;AN000;
487 PUBLIC M_KEYBOARD,E_KYBD_VAL_DEF ;AN000;
488S_KEYBOARD DW M_KEYBOARD ;AN000;
489P_KEYBOARD DB 2 DUP(?) ;AN000; Keyboard code
490M_KEYBOARD EQU $ - P_KEYBOARD ;AN000;
491N_KYBD_VAL DB ? ;AN000; Keyboard code valid indicator
492E_KYBD_VAL_NO EQU 0 ;AN000; Keyboard code is not valid
493E_KYBD_VAL_YES EQU 1 ;AN000; Keyboard code is valid
494E_KYBD_VAL_DEF EQU 2 ;AN000; Default keyboard (US) is to be used
495 ; This state is defined so that keyboard screen
496 ; will be displayed with "None" option
497 ;
498 PUBLIC N_DESIGNATES, N_CP_PRI, N_CP_SEC, N_CTY_RES ;AN000;
499N_DESIGNATES DW ? ;AN000; number of designates
500N_CP_PRI DW ? ;AN000; Primary code page
501N_CP_SEC DW ? ;AN000; Secondary code page
502N_CTY_RES DB ? ;AN000; reserved byte from country table
503 ;
504 PUBLIC I_KYBD_ALT, S_KYBD_ALT, M_KYBD_ALT, N_KYBD_ALT ;AN000;
505 PUBLIC E_KYBD_ALT_NO, E_KYBD_ALT_YES ;AN000;
506I_KYBD_ALT DW ? ;AN000; Index into alternate keyboard code list
507S_KYBD_ALT DW M_KYBD_ALT ;AN000;
508P_KYBD_ALT DB 2 DUP(?) ;AN000; Keyboard code
509M_KYBD_ALT EQU $ - P_KYBD_ALT ;AN000;
510N_KYBD_ALT DB ? ;AN000; Alternate keyboards present indicator
511E_KYBD_ALT_NO EQU 0 ;AN000; no alternate keyboards
512E_KYBD_ALT_YES EQU 1 ;AN000; are alternate keyboards are present
513 ;
514 PUBLIC N_KYB_LOAD,E_KYB_LOAD_SUC,E_KYB_LOAD_ERR,E_KYB_LOAD_US,E_KYB_LOAD_UND ;AN000;
515N_KYB_LOAD DW ? ;AN000; KEYB load status
516E_KYB_LOAD_SUC EQU 1 ;AN000; no error from KEYB
517E_KYB_LOAD_ERR EQU 2 ;AN000; error from KEYB
518E_KYB_LOAD_US EQU 3 ;AN000; US keyboard loaded
519E_KYB_LOAD_UND EQU 4 ;AN000; undefined keyboard loaded
520 ;
521; Country code association with Keyboard code & Code Page
522 PUBLIC CTY_TAB_A,CTY_TAB_A_1,CTY_A_ITEMS ;AN000;
523CTY_TAB_A DB CTY_A_ITEMS ;AN000; no of entries in table
524CTY_TAB_A_1 CTY_DEF < 001,E_KYBD_VAL_DEF,' ',437,850,1,E_CPSW_NOT_REC,0> ;AN000; (01) United States
525 CTY_DEF < 002,E_KYBD_VAL_YES,'CF',863,850,2,E_CPSW_VALID ,0> ;AN000; (02) Canada (French)
526 CTY_DEF < 003,E_KYBD_VAL_YES,'LA',850,437,1,E_CPSW_VALID ,0> ;AC070;SEH ;AN000; (03) Latin America
527 CTY_DEF < 031,E_KYBD_VAL_YES,'NL',437,850,1,E_CPSW_VALID ,0> ;AN000; (04) Netherlands
528 CTY_DEF < 032,E_KYBD_VAL_YES,'BE',850,437,1,E_CPSW_VALID ,0> ;AN000; (05) Belgium
529 CTY_DEF < 033,E_KYBD_VAL_YES,'FR',437,850,1,E_CPSW_VALID ,1> ;AN000; (06) France
530 CTY_DEF < 034,E_KYBD_VAL_YES,'SP',850,437,1,E_CPSW_VALID ,0> ;AN000; (07) Spain
531 CTY_DEF < 039,E_KYBD_VAL_YES,'IT',437,850,1,E_CPSW_VALID ,2> ;AN000; (08) Italy
532 CTY_DEF < 041,E_KYBD_VAL_YES,'SF',850,437,1,E_CPSW_VALID ,0> ;AN000; (09) Switzerland
533 CTY_DEF < 044,E_KYBD_VAL_YES,'UK',437,850,1,E_CPSW_VALID ,3> ;AN000; (10) United Kingdom
534 CTY_DEF < 045,E_KYBD_VAL_YES,'DK',850,865,2,E_CPSW_VALID ,0> ;AN000; (11) Denmark
535 CTY_DEF < 046,E_KYBD_VAL_YES,'SV',437,850,1,E_CPSW_VALID ,0> ;AN000; (12) Sweden
536CTY_A_ITEMS EQU ($ - CTY_TAB_A_1) / TYPE CTY_DEF ;AN000; no of items
537 ;
538 PUBLIC CTY_TAB_B,CTY_TAB_B_1,CTY_B_ITEMS ;AN000;
539CTY_TAB_B DB CTY_B_ITEMS ;AN000; no of entries in table
540CTY_TAB_B_1 CTY_DEF < 047,E_KYBD_VAL_YES,'NO',850,865,2,E_CPSW_VALID ,0 > ;AN000; (01) Norway
541 CTY_DEF < 049,E_KYBD_VAL_YES,'GR',437,850,1,E_CPSW_VALID ,0 > ;AN000; (02) Germany
542 CTY_DEF < 061,E_KYBD_VAL_YES,'US',437,850,1,E_CPSW_VALID ,0 > ;AN000; (03) Australia
543 CTY_DEF < 081,E_KYBD_VAL_NO ,' ',000,000,0,E_CPSW_NOT_VAL,0 > ;AN000; (04) Japan
544 CTY_DEF < 082,E_KYBD_VAL_NO ,' ',000,000,0,E_CPSW_NOT_VAL,0 > ;AN000; (05) Korea
545 CTY_DEF < 086,E_KYBD_VAL_NO ,' ',000,000,0,E_CPSW_NOT_VAL,0 > ;AN000; (06) Republic of China
546 CTY_DEF < 088,E_KYBD_VAL_NO ,' ',000,000,0,E_CPSW_NOT_VAL,0 > ;AN000; (07) Taiwan
547 CTY_DEF < 351,E_KYBD_VAL_YES,'PO',850,860,2,E_CPSW_VALID ,0 > ;AN000; (08) Portugal
548 CTY_DEF < 358,E_KYBD_VAL_YES,'SU',850,437,1,E_CPSW_VALID ,0 > ;AN000; (09) Finland
549 CTY_DEF < 785,E_KYBD_VAL_NO ,' ',000,000,0,E_CPSW_NOT_VAL,0 > ;AN000; (10) Arabic Speaking
550 CTY_DEF < 972,E_KYBD_VAL_NO ,' ',000,000,0,E_CPSW_NOT_VAL,0 > ;AN000; (11) Hebrew Speaking
551CTY_B_ITEMS EQU ($ - CTY_TAB_B_1) / TYPE CTY_DEF ;AN000; no of items
552 ;
553; Keyboard Codes supported
554 PUBLIC KYBD_TAB_A,KYBD_TAB_A_1,KYBD_A_ITEMS ;AN000;
555KYBD_TAB_A DB KYBD_A_ITEMS ;AN000; no of entries in table
556KYBD_TAB_A_1 KYB_DEF < 'BE', E_KYBD_ALT_NO > ;AN000; (01) Flemish
557 KYB_DEF < 'CF', E_KYBD_ALT_NO > ;AN000; (02) Canadian French
558 KYB_DEF < 'DK', E_KYBD_ALT_NO > ;AN000; (03) Danish
559 KYB_DEF < 'FR', E_KYBD_ALT_YES> ;AN000; (04) French
560 KYB_DEF < 'GR', E_KYBD_ALT_NO > ;AN000; (05) German
561 KYB_DEF < 'IT', E_KYBD_ALT_YES> ;AN000; (06) Italian
562 KYB_DEF < 'LA', E_KYBD_ALT_NO > ;AN000; (07) Latin American (Spanish)
563 KYB_DEF < 'NL', E_KYBD_ALT_NO > ;AN000; (08) Dutch
564 KYB_DEF < 'NO', E_KYBD_ALT_NO > ;AN000; (09) Norwegian
565KYBD_A_ITEMS EQU ($ - KYBD_TAB_A_1) / TYPE KYB_DEF ;AN000; no of items in table
566 ;
567 PUBLIC KYBD_TAB_B,KYBD_TAB_B_1,KYBD_B_ITEMS ;AN000;
568KYBD_TAB_B DB KYBD_B_ITEMS ;AN000; no of entries in table
569KYBD_TAB_B_1 KYB_DEF < 'PO', E_KYBD_ALT_NO > ;AN000; (01) Portuguese
570 KYB_DEF < 'SF', E_KYBD_ALT_NO > ;AN000; (02) Swiss (French)
571 KYB_DEF < 'SG', E_KYBD_ALT_NO > ;AN000; (03) Swiss (German)
572 KYB_DEF < 'SP', E_KYBD_ALT_NO > ;AN000; (04) Spanish
573 KYB_DEF < 'SU', E_KYBD_ALT_NO > ;AN000; (05) Finnish
574 KYB_DEF < 'SV', E_KYBD_ALT_NO > ;AN000; (06) Swedish
575 KYB_DEF < 'UK', E_KYBD_ALT_YES> ;AN000; (07) UK English
576 KYB_DEF < 'US', E_KYBD_ALT_NO > ;AN000; (08) US English
577 KYB_DEF < ' ', E_KYBD_ALT_NO > ;AN000; (09) none of the above
578KYBD_B_ITEMS EQU ($ - KYBD_TAB_B_1) / TYPE KYB_DEF ;AN000; no of items in table
579 ;
580 PUBLIC ALT_TAB_PTR ;AN000;
581ALT_TAB_PTR DW ? ;AN000; pointer keyboard table
582 ;
583 PUBLIC ALT_KYB_ID, ALT_FRENCH, ALT_ITALIAN, ALT_UK, ALT_KYB_ID_PREV ;AN000;
584ALT_KYB_ID DB ? ;AN000; keyboard code identifier
585ALT_KYB_ID_PREV DB ? ;AN000; previous keyboard code identifier
586ALT_FRENCH EQU 1 ;AN000; French keyboard
587ALT_ITALIAN EQU 2 ;AN000; Italian keyboard
588ALT_UK EQU 3 ;AN000; UK English keyboard
589 ;
590 PUBLIC ALT_KYB_TABLE, ALT_KYB_TAB_1, ALT_KYB_ITEMS ;AN000;
591ALT_KYB_TABLE DB ALT_KYB_ITEMS ;AN000; no of items in table
592ALT_KYB_TAB_1 ALT_KYB_DEF < 'FR', ALT_KYBD_FR, ALT_FRENCH > ;AN000; French keyboard
593 ALT_KYB_DEF < 'IT', ALT_KYBD_IT, ALT_ITALIAN > ;AN000; Italian keyboard
594 ALT_KYB_DEF < 'UK', ALT_KYBD_UK, ALT_UK > ;AN000; UK English
595ALT_KYB_ITEMS EQU ($ - ALT_KYB_TAB_1) / TYPE ALT_KYB_DEF ;AN000; no of items
596 ;
597 PUBLIC ALT_KYBD_FR, ALT_KYBD_FR_1, ALT_FR_ITEMS ;AN000;
598ALT_KYBD_FR DB ALT_FR_ITEMS ;AN000; Alternate French Keyboard-no of entries in table
599ALT_KYBD_FR_1 FR_STRUC <'120'> ;AN000;
600 FR_STRUC <'189'> ;AC000;JW
601ALT_FR_ITEMS EQU ($ - ALT_KYBD_FR_1) / TYPE FR_STRUC ;AN000;
602 ;
603 PUBLIC ALT_KYBD_IT, ALT_KYBD_IT_1, ALT_IT_ITEMS ;AN000;
604ALT_KYBD_IT DB ALT_IT_ITEMS ;AN000; Alternate Italian keyboard-no of entries in table
605ALT_KYBD_IT_1 IT_STRUC <'142'> ;AC090;JW Switched with '141
606 IT_STRUC <'141'> ;AC090;JW
607ALT_IT_ITEMS EQU ($ - ALT_KYBD_IT_1) / TYPE IT_STRUC ;AN000;
608 ;
609 PUBLIC ALT_KYBD_UK, ALT_KYBD_UK_1, ALT_UK_ITEMS ;AN000;
610ALT_KYBD_UK DB ALT_UK_ITEMS ;AN000; no of entries in table
611ALT_KYBD_UK_1 UK_STRUC <'168'> ;AN000;
612 UK_STRUC <'166'> ;AC000;JW
613ALT_UK_ITEMS EQU ($ - ALT_KYBD_UK_1) / TYPE UK_STRUC ;AN000;
614 ;
615 PUBLIC ALT_ID_DEF ;AN000;
616ALT_ID_DEF DB 0 ;AN000;DT
617 ;
618 PUBLIC S_US ;AN000;
619S_US DW M_US ;AN000;
620P_US DB 'US' ;AN000;
621M_US EQU $ - P_US ;AN000;
622 ;
623 PUBLIC S_SWISS ;AN000;
624S_SWISS DW M_SWISS ;AN000;
625P_SWISS DB 'SF' ;AN000;
626M_SWISS EQU $ - P_SWISS ;AN000;
627 ;
628 PUBLIC PRINTER_TABLES ;AN000;
629PRINTER_TABLES EQU $ ;AN000;
630 PRINTER_DEF < > ;AN000; LPT1
631 PRINTER_DEF < > ;AN000; LPT2
632 PRINTER_DEF < > ;AN000; LPT3
633 PRINTER_DEF < > ;AN000; COM1
634 PRINTER_DEF < > ;AN000; COM2
635 PRINTER_DEF < > ;AN000; COM3
636 PRINTER_DEF < > ;AN000; COM4
637 ;
638 PUBLIC N_NUMPRINT, MIN_NUMPRINT, MAX_NUMPRINT ;AN000;
639N_NUMPRINT DW ? ;AN000; No. of printers to install
640MIN_NUMPRINT EQU 0 ;AN000;
641MAX_NUMPRINT EQU 7 ;AN000;
642 ;
643 PUBLIC N_SERIAL, N_PARALLEL ;AN000;
644N_PARALLEL DW ? ;AN000;
645N_SERIAL DW ? ;AN000;
646 ;
647 PUBLIC I_PORT, I_REDIRECT, I_PRINTER ;AN000;
648I_PORT DW ? ;AN000; port number
649I_REDIRECT DW ? ;AN000; serial port redirection
650I_PRINTER DW ? ;AN000; index into printer list
651 ;
652 PUBLIC N_PRINTER_TYPE, E_SERIAL, E_PARALLEL ;AN000;
653N_PRINTER_TYPE DB ? ;AN000; printer type
654E_SERIAL EQU 53H ;AN000; Serial 'S'
655E_PARALLEL EQU 50H ;AN000; Parallel 'P'
656 ;
657 PUBLIC S_MODE_PARM, M_MODE_PARM ;AN000;
658S_MODE_PARM DW M_MODE_PARM ;AN000;
659P_MODE_PARM DB 40 DUP(?) ;AN000;
660M_MODE_PARM EQU $ - P_MODE_PARM ;AN000;
661 ;
662 PUBLIC S_CP_DRIVER, M_CP_DRIVER ;AN000;
663S_CP_DRIVER DW M_CP_DRIVER ;AN000;
664P_CP_DRIVER DB 22 DUP(?) ;AN000;
665M_CP_DRIVER EQU $ - P_CP_DRIVER ;AN000;
666 ;
667 PUBLIC S_CP_PREPARE, M_CP_PREPARE ;AN000;
668S_CP_PREPARE DW M_CP_PREPARE ;AN000;
669P_CP_PREPARE DB 12 DUP(?) ;AN000;
670M_CP_PREPARE EQU $ - P_CP_PREPARE ;AN000;
671 ;
672 PUBLIC S_GRAPH_PARM, M_GRAPH_PARM ;AN000;
673S_GRAPH_PARM DW M_GRAPH_PARM ;AN000;
674P_GRAPH_PARM DB 20 DUP(?) ;AN000;
675M_GRAPH_PARM EQU $ - P_GRAPH_PARM ;AN000;
676 ;
677 PUBLIC F_REVIEW, E_REVIEW_ACCEPT, E_REVIEW_VIEW ;AN000;
678F_REVIEW DW ? ;AN000; Review selection screen index
679E_REVIEW_ACCEPT EQU 1 ;AN000; user will accept selections made by SELECT
680E_REVIEW_VIEW EQU 2 ;AN000; user wants to view/change selections made by SELECT
681 ;
682 PUBLIC N_DISPLAY, E_CPSW_DISP, E_NOCPSW_DISP ;AN000;
683N_DISPLAY DB ? ;AN000; display type indicator
684E_CPSW_DISP EQU 0 ;AN000; display type will support CPSW
685E_NOCPSW_DISP EQU 1 ;AN000; display type will not support CPSW
686 ;
687 PUBLIC N_YEAR, MIN_YEAR, MAX_YEAR ;AN000;
688N_YEAR DW ? ;AN000; calender year
689MIN_YEAR EQU 1980 ;AN000;
690MAX_YEAR EQU 2079 ;AN000;
691 ;
692 PUBLIC N_MONTH, MIN_MONTH, MAX_MONTH ;AN000;
693N_MONTH DW ? ;AN000; calender month
694MIN_MONTH EQU 1 ;AN000;
695MAX_MONTH EQU 12 ;AN000;
696 ;
697 PUBLIC N_DAY, MIN_DAY, MAX_DAY ;AN000;
698N_DAY DW ? ;AN000; calender day
699MIN_DAY EQU 1 ;AN000;
700MAX_DAY EQU 31 ;AN000;
701 ;
702 PUBLIC N_HOUR, MIN_HOUR, MAX_HOUR ;AN000;
703N_HOUR DW ? ;AN000; hour
704MIN_HOUR EQU 0 ;AN000;
705MAX_HOUR EQU 23 ;AN000;
706 ;
707 PUBLIC N_MINUTE, MIN_MINUTE, MAX_MINUTE ;AN000;
708N_MINUTE DW ? ;AN000; minute
709MIN_MINUTE EQU 0 ;AN000;
710MAX_MINUTE EQU 59 ;AN000;
711 ;
712 PUBLIC N_SECOND, MIN_SECOND, MAX_SECOND ;AN000;
713N_SECOND DW ? ;AN000; second
714MIN_SECOND EQU 0 ;AN000;
715MAX_SECOND EQU 59 ;AN000;
716 ;
717 PUBLIC PARM_BLOCK, CMD_BUFF ;AN000;
718PARM_BLOCK LABEL WORD ;AN000; parameter block for EXEC_PROGRAM
719 DW 0 ;AN000; use parent environment
720 DW OFFSET CMD_BUFF ;AN000; pointer to commnad line
721 DW ? ;AN000; segment for command line
722 DW 5CH ;AN000; default FCB
723 DW ? ;AN000; segment for FCB
724 DW 6CH ;AN000; default FCB
725 DW ? ;AN000; segment for FCB
726PARM_BLOCK_END EQU $ ;AN000;
727 ;
728CMD_BUFF LABEL BYTE ;AN000; command line passed to EXEC_PROGRAM
729 DB ? ;AN000; length of command line - excluding carrier return
730 DB 80 DUP(?) ;AN000;
731CMD_BUFF_END EQU $ ;AN000;
732 ;
733 PUBLIC S_STR40, P_STR40, M_STR40 ;AN000;JW
734S_STR40 DW M_STR40 ;AN000; Temporary variable for string field
735P_STR40 DB 40 DUP(?) ;AN000;JW
736M_STR40 EQU $ - P_STR40 ;AN000;JW
737 ;
738 PUBLIC S_STR120_1, P_STR120_1, M_STR120_1 ;AN000;
739S_STR120_1 DW M_STR120_1 ;AN000; Temporary variable for string field
740P_STR120_1 DB 120 DUP(?) ;AN000;
741M_STR120_1 EQU $ - P_STR120_1 ;AN000;
742 ;
743 PUBLIC S_STR120_2, M_STR120_2 ;AN000;
744S_STR120_2 DW M_STR120_2 ;AN000; Temporary variable for string field
745P_STR120_2 DB 120 DUP(?) ;AN000;
746M_STR120_2 EQU $ - P_STR120_2 ;AN000;
747 ;
748 PUBLIC S_STR120_3, M_STR120_3 ;AN000;
749S_STR120_3 DW M_STR120_3 ;AN000; Temporary variable for string field
750P_STR120_3 DB 120 DUP(?) ;AN000;
751M_STR120_3 EQU $ - P_STR120_3 ;AN000;
752 ;
753 PUBLIC S_STR120_4, M_STR120_4 ;AN039;SEH
754S_STR120_4 DW M_STR120_4 ;AN039;SEH Temporary variable for string field
755P_STR120_4 DB 120 DUP(?) ;AN039;SEH
756M_STR120_4 EQU $ - P_STR120_4 ;AN039;SEH
757 ;
758 PUBLIC SC_LINE, MC_LINE ;AN000;
759SC_LINE DW MC_LINE ;AN000; Temporary variable for string field
760PC_LINE DB 130 DUP(?) ;AN000;
761MC_LINE EQU $ - PC_LINE - 2 ;AN000;
762 ;
763 PUBLIC N_HANDLE ;AN000;
764N_HANDLE DW ? ;AN000; save location for file handle
765 ;
766 PUBLIC N_WRITE_HANDLE, N_WRITE_ERR_CODE ;AN000;
767N_WRITE_HANDLE DW ? ;AN000; File handle for prepared file
768N_WRITE_ERR_CODE DW ? ;AN000; error code for prepared file
769 ;
770 PUBLIC N_RETCODE, N_COUNTER ;AN000;
771N_RETCODE DW ? ;AN000; Return code if execution not a success
772N_COUNTER DW ? ;AN000; Loop counter
773 ;
774 PUBLIC N_WORD_1, N_WORD_2, N_WORD_3, N_WORD_4, N_WORD_5, N_WORD_6,N_BYTE_1 ;AN000;
775N_WORD_1 DW ? ;AN000; temp variable
776N_WORD_2 DW ? ;AN000; temp variable
777N_WORD_3 DW ? ;AN000; temp variable
778N_WORD_4 DW ? ;AN000; temp variable
779N_WORD_5 DW ? ;AN000; temp variable
780N_WORD_6 DW ? ;AN000; temp variable
781N_BYTE_1 DB ? ;AN025; temp variable
782 ;
783 PUBLIC SAVE_AREA ;AN000;
784SAVE_AREA DB 4 DUP(?) ;AN000; save area for stack pointer before EXEC program
785 ;
786 PUBLIC N_HOUSE_CLEAN,E_CLEAN_YES,E_CLEAN_NO ;AN000;
787N_HOUSE_CLEAN DB ? ;AN000;
788E_CLEAN_YES EQU 1 ;AN000; erase temp files
789E_CLEAN_NO EQU 0 ;AN000; no temp files to erase
790 ;
791 PUBLIC N_DSKCPY_ERR,E_DSKCPY_RETRY,E_DSKCPY_OK ;AN000;JW
792N_DSKCPY_ERR DB 0 ;AN000;JW
793E_DSKCPY_RETRY EQU 1 ;AN000; retry diskcopy
794E_DSKCPY_OK EQU 0 ;AN000; diskcopy successful
795 ;
796 PUBLIC E_CR, E_LF ;AN000;
797E_CR EQU 0DH ;AN000;
798E_LF EQU 0AH ;AN000;
799 ;
800; EQUATES FOR FIELD TYPES DEFINED IN DISK STATUS STRUCTURE
801; EQUATES FOR N_PART_NAME ; Partition name
802 PUBLIC E_PART_PRI_DOS, E_PART_EXT_DOS, E_PART_LOG_DRI ;AN000;
803 PUBLIC E_FREE_MEM_EDOS, E_FREE_MEM_DISK, E_PART_OTHER ;AN000;
804E_PART_PRI_DOS EQU 1 ;AN000; Primary DOS partition
805E_PART_EXT_DOS EQU 2 ;AN000; Extended DOS partition
806E_PART_LOG_DRI EQU 3 ;AN000; Logical Drive
807E_FREE_MEM_EDOS EQU 4 ;AN000; Free space in Extended DOS partition
808E_FREE_MEM_DISK EQU 5 ;AN000; Free disk space - undefined partition
809E_PART_OTHER EQU 6 ;AN000; other partition types i.e not DOS or EDOS
810
811; EQUATES FOR N_PART_STATUS ; Partition status
812 PUBLIC E_PART_UNFORMAT, E_PART_FORMAT ;AN000;
813E_PART_UNFORMAT EQU 0 ;AN000; partition is unformatted
814E_PART_FORMAT EQU 1 ;AN000; partition is formatted
815 ;
816; EQUATES FOR N_PART_TYPE ; Partition type
817 PUBLIC E_PART_FAT, E_PART_KSAM, E_PART_UNDEF, E_PART_IGNORE ;AN000;
818E_PART_FAT EQU 1 ;AN000; FAT
819E_PART_KSAM EQU 2 ;AN000; KSAM
820E_PART_UNDEF EQU 3 ;AN000; not assigned
821E_PART_IGNORE EQU 4 ;AN000; other partition types i.e not FAT or KSAM
822 ;
823 PUBLIC N_DISK_1, E_DISK_1, N_DISK_2, E_DISK_2 ;AN000;
824 PUBLIC E_DISK_INV, E_DISK_NO_PART, E_DISK_VAL_PART ;AN000;
825N_DISK_1 DW ? ;AN000; first fixed disk status
826N_DISK_2 DW ? ;AN000; second fixed disk status
827E_DISK_1 EQU 1 ;AN000;
828E_DISK_2 EQU 2 ;AN000;
829E_DISK_INV EQU 0 ;AN000; fixed disk not present
830E_DISK_NO_PART EQU 1 ;AN000; fixed disk present : no DOS or EDOS partitions
831E_DISK_VAL_PART EQU 2 ;AN000; fixed disk present : DOS or EDOS partitions exist
832 ;
833 PUBLIC N_DISK_1_S1,N_DISK_2_S1,E_DISK_PRI,E_DISK_EXT_DOS ;AN000;
834 PUBLIC E_DISK_LOG_DRI,E_DISK_EDOS_MEM,E_DISK_FREE_MEM ;AN000;
835N_DISK_1_S1 DW ? ;AN000; detailed status of first fixed drive
836N_DISK_2_S1 DW ? ;AN000; detailed status or second fixed drive
837E_DISK_PRI EQU 01H ;AN000; Primary DOS partition exists
838E_DISK_EXT_DOS EQU 02H ;AN000; Extended DOS partitions exists
839E_DISK_LOG_DRI EQU 04H ;AN000; Logical drives exist in Extended Dos partitions
840E_DISK_EDOS_MEM EQU 08H ;AN000; Free space exists in Extended DOS partition
841E_DISK_FREE_MEM EQU 10H ;AN000; Free disk space exists
842 ;
843 PUBLIC N_DISK_1_S2, N_DISK_2_S2,E_SPACE_NONE,E_SPACE_EDOS,E_SPACE_DISK ;AN000;
844N_DISK_1_S2 DW 0 ;AN000;
845N_DISK_2_S2 DW 0 ;AN000;
846E_SPACE_NONE EQU 0 ;AN000; no free space in EDOS and DISK
847E_SPACE_EDOS EQU 1 ;AN000; free space in EDOS
848E_SPACE_DISK EQU 2 ;AN000; no EDOS but free space in disk
849 ;
850 PUBLIC F_PARTITION, E_PART_DEFAULT, E_PART_USER ;AN000;
851F_PARTITION DW 1 ;AN000; partition size division option
852E_PART_DEFAULT EQU 1 ;AN000; default partition sizes are to be used
853E_PART_USER EQU 2 ;AN000; user will define partition sizes
854 ;
855 PUBLIC I_DESTINATION, E_ENTIRE_DISK, E_PATH_ONLY ;AN000;JW
856I_DESTINATION DW 1 ;AN000; destination on c: disk option JW
857E_ENTIRE_DISK EQU 1 ;AN000; replace files across entire disk JW
858E_PATH_ONLY EQU 2 ;AN000; replace files in dos path only JW
859 ;
860 PUBLIC F_FORMAT, E_FORMAT_FAT, E_FORMAT_NO ;AN000;
861F_FORMAT DW ? ;AN000;
862E_FORMAT_FAT EQU 1 ;AN000; format partition with FAT
863E_FORMAT_NO EQU 2 ;AN000; do not format partition
864 ;
865 PUBLIC N_DISK1_MODE, E_DISK1_INSTALL, E_DISK1_REPLACE ;AN000;
866N_DISK1_MODE DW ? ;AN000; install mode for fixed disk
867E_DISK1_INSTALL EQU 1 ;AN000; install DOS-no partitions
868E_DISK1_REPLACE EQU 2 ;AN000; replace DOS-partitions exist
869 ;
870 PUBLIC DISK_1_TABLE,DISK_1_VAL_ITEM,DISK_1_START,M_DISK_1_ITEMS ;AN000;
871DISK_1_TABLE DB M_DISK_1_ITEMS ;AN000; maximum no of items in table
872DISK_1_VAL_ITEM DB 0 ;AN000; number of valid entries in table
873DISK_1_START DB (100*TYPE DISK_STATUS) DUP (0) ;AN000;
874M_DISK_1_ITEMS EQU ($ - DISK_1_START) / TYPE DISK_STATUS ;AN000;
875 ;
876 PUBLIC DISK_2_TABLE,DISK_2_VAL_ITEM,DISK_2_START,M_DISK_2_ITEMS ;AN000;
877DISK_2_TABLE DB M_DISK_2_ITEMS ;AN000; maximum no of items in table
878DISK_2_VAL_ITEM DB 0 ;AN000; number of valid entries in table
879DISK_2_START DB (100*TYPE DISK_STATUS) DUP (0) ;AN000;
880M_DISK_2_ITEMS EQU ($ - DISK_2_START) / TYPE DISK_STATUS ;AN000;
881 ;
882 PUBLIC N_NAME_PART,N_SIZE_PART,N_STATUS_PART,P_DRIVE_PART,N_TYPE_PART,N_LEVEL1_PART,N_LEVEL2_PART,N_LEVEL3_PART,N_LEVEL4_PART ;AC065;SEH add check for version number ;AN000;
883N_NAME_PART DB 0 ;AN000; partition name
884N_SIZE_PART DW 0 ;AN000; partition size
885N_STATUS_PART DB 0 ;AN000; partition status
886N_TYPE_PART DB 0 ;AN000; partition type
887P_DRIVE_PART DB ' ' ;AN000; drive letter assigned
888N_LEVEL1_PART DB 0 ;AN065; SEH version number (1st part) for DOS 4.00 1st part = blank
889N_LEVEL2_PART DB 0 ;AN065; SEH version number (2nd part) for DOS 4.00 2nd part = 4
890N_LEVEL3_PART DB 0 ;AN065; SEH version number (3rd part) for DOS 4.00 3rd part = .
891N_LEVEL4_PART DB 0 ;AN065; SEH version number (4th part) for DOS 4.00 4th part = 0
892 ;
893 PUBLIC N_DISK_NUM,E_DISK_ROW,E_DISK_COL,E_DRIVE_ROW,E_DRIVE_COL ;AN000;
894N_DISK_NUM DB ? ;AN000; holder for ascii disk number
895E_DISK_ROW EQU 0 ;AN000; row for fixed disk number (0 based)
896E_DISK_COL EQU 19 ;AN000; column for fixed disk number
897E_DRIVE_ROW EQU 0 ;AN000; row for logical drive letter (0 based)
898E_DRIVE_COL EQU 19 ;AN000; column for logical drive letter
899 ;
900 PUBLIC STACK_INDEX, SELECT_STACK, STACK_SIZE ;AN000;
901STACK_INDEX DB 00H ;AN000; no. of entries in stack
902SELECT_STACK DW 50 DUP(?) ;AN000; stack entries
903STACK_SIZE EQU $ - SELECT_STACK ;AN000; size of SELECT stack
904 ;
905 PUBLIC N_DEST,E_DEST_DOS,E_DEST_SHELL ;AN000;
906N_DEST DB ? ;AN000;
907E_DEST_DOS EQU 1 ;AN000;
908E_DEST_SHELL EQU 2 ;AN000;
909 ;
910; Variables which return information if a critical error occurs.
911; INT_24_ERROR returns the error code from the critical error routine
912; INT_24_FLAG is set if a critical error occurs. It is not enough
913; to check if INT_24_ERROR is non-zero, since a value of zero is a critical error.
914PUBLIC INT_24_ERROR, INT_24_FLAG ;AN000;
915INT_24_ERROR DW 0 ;AN000;
916INT_24_FLAG DB 0 ;AN000;
917 ;
918; Area to save the old interrupt 23h vector for restoration when the program is done.
919PUBLIC OLD_INT_23 ;AN074;SEH ctrl-break
920OLD_INT_23 DD 0 ;AN074;SEH
921; Area to save the old interrupt 24h vector for restoration when the program is done.
922PUBLIC OLD_INT_24 ;AN000;
923OLD_INT_24 DD 0 ;AN000;
924; Area to save the old interrupt 2Fh vector for restoration when the program is done.
925PUBLIC OLD_INT_2F ;AN000;
926OLD_INT_2F DD 0 ;AN000;
927 ;
928PUBLIC MEM_SIZE ;AN000;
929MEM_SIZE DW 0 ;AN000;DT installed memory in machine
930 ;
931 PUBLIC FORMAT_WHICH, STARTUP, SHELL ;AN000;
932FORMAT_WHICH DB ? ;AN111; indicator for which disk (720) to format JW
933STARTUP EQU 0 ;AN111; format startup
934SHELL EQU 1 ;AN111; format shell
935 ;
936 PUBLIC DISK_PANEL, SEARCH_FILE ;AN000;JW
937DISK_PANEL DW ? ;AN000;JW Holds panel number for INSERT_DISK
938SEARCH_FILE DW ? ;AN000;JW Holds offset of file to search for
939
940 PUBLIC SUB_ERROR ;AN000;JW Holds error code of sub process
941SUB_ERROR DB ? ;AN000;JW
942
943include msgdcl.inc
944 ;
945DATA ENDS ;AN000;
946 END ;AN000;