5 TITLE SELECT
- DOS
- SELECT
.EXE
;AN000;
6 SUBTTL SELECT7
.asm
;AN000;
8 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
10 ; SELECT7.ASM : Copyright 1988 Microsoft
14 ; COMMENTS: Assemble with MASM 3.0 (using the /A option)
16 ; Panel flow is defined in the following files:
26 ; Module contains code for :
32 ; ;AN009; DT added support for creation of the DOSSHELL.BAT as a
33 ; separately installed file. (D233)
34 ; ;AN002; GHG for P1146
35 ; ;AN003; GHG for D234
37 ; ;AN005; DT for single drive support
38 ; ;AN006; JW for dos location choice (global or path only)
39 ; ;AN007; JW fixed deletion of select.* when installation is to the root
40 ; ;AN072; DT Overlay parser and pcinput if memory = 256KB
42 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
43 DATA SEGMENT BYTE PUBLIC 'DATA' ;AN000;
45 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
48 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
50 INCLUDE PANEL
.MAC
;AN000;
51 INCLUDE SELECT
.INC ;AN000;
52 INCLUDE PAN
-LIST
.INC ;AN000;
53 INCLUDE CASTRUC
.INC ;AN000;
54 INCLUDE STRUC.INC ;AN000;
55 INCLUDE MACROS
.INC ;AN000;
56 INCLUDE MACROS7
.INC ;AN009;DT
57 INCLUDE EXT
.INC ;AN000;
58 INCLUDE VARSTRUC
.INC ;AN000;
59 INCLUDE ROUT_EXT
.INC ;AN000;
61 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
63 EXTRN DEALLOCATE_HELP
:FAR ;AN000;DT
64 EXTRN DEALLOCATE_BLOCK
:FAR ;AN000;DT
65 EXTRN ALLOCATE_BLOCK
:FAR ;AN000;DT
66 EXTRN DEALLOCATE_MEMORY_CALL
:FAR ;AN000;DT
67 EXTRN ALLOCATE_MEMORY_CALL
:FAR ;AN000;DT
69 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
70 SELECT
SEGMENT PARA
PUBLIC 'SELECT' ;AN000;
71 ASSUME
CS:SELECT
,DS:DATA ;AN000;
73 INCLUDE CASEXTRN
.INC ;AN000;
75 EXTRN EXIT_SELECT
:near ;AN000;
76 EXTRN CREATE_CONFIG_SYS
:NEAR ;AN000;
77 EXTRN CREATE_AUTOEXEC_BAT
:NEAR ;AN000;
78 EXTRN CREATE_SHELL_BAT
:NEAR ;AN009;DT
80 EXTRN EXIT_DOS
:near ;AN004;GHG
81 EXTRN INSTALL_ERROR
:near ;AN004;GHG
82 EXTRN EXIT_SELECT
:NEAR ;AN004;GHG
83 EXTRN PROCESS_ESC_F3
:near ;AN004;GHG
84 EXTRN EXIT_DOS_CONT
:NEAR ;AN004;GHG
86 PUBLIC CONTINUE_360
;AN000;
87 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
91 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
92 ;;;;;;;;;;INSTALL 360KB DISKETTE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
94 ; Display copying files from INSTALL diskette
96 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
100 .IF < N_DISKETTE_A
eq E_DISKETTE_360
> near ;AN000;
102 INIT_PQUEUE PAN_INSTALL_DOS
;AN000; initialize queue
103 PREPARE_PANEL SUB_COPYING
;AN000; prepare copying from diskette 2 message
104 DISPLAY_PANEL
;AN000;
106 .IF < MEM_SIZE
eq 256 > ;AN000;DT
107 DEALLOCATE_MEMORY
;AN000;DT
110 ;;;S_STR120_1 = "a:*.* c:\path /a parameter for REPLACE
111 MERGE_STRING S_STR120_1
,M_STR120_1
,S_A_STARS
,S_INSTALL_PATH
;AN000;
112 APPEND_STRING S_STR120_1
,M_STR120_1
,S_SLASH_A
;AN000;
114 ; .IF < I_DESTINATION eq E_ENTIRE_DISK > ;AN006;JW
116 ; ;;;S_STR120_3 = "a:*.* c:\ /s /r parameter for REPLACE
117 ; COPY_STRING S_STR120_3,M_STR120_3,S_REPLACE_PAR1 ;AN006;JW
119 ;;;S_STR120_3 = "a:*.* c:\<path> parameter for REPLACE
120 MERGE_STRING S_STR120_3
,M_STR120_3
,S_A_STARS
,S_INSTALL_PATH
;AN006;JW
121 APPEND_STRING S_STR120_3
,M_STR120_3
,S_SLASH_R
;AN000;JW
124 ;;;change attributes of some files so they are not copied
125 CHANGE_ATTRIBUTE HIDE_STARTUP
, E_HIDE_STARTUP
;AN000;
127 ;;;replace files in drive C: with new files on INSTALL diskette
128 EXEC_PROGRAM S_REPLACE
,S_STR120_3
,PARM_BLOCK
,EXEC_DIR
;AN006;JW
130 .IF < MEM_SIZE
eq 256 > ;AN000;DT
131 CALL GET_OVERLAY
;AN000;DT Get panels
133 HANDLE_ERROR ERR_COPY_DISK
, E_RETURN
;AN000;
134 RESTORE_ATTRIBUTE HIDE_STARTUP
,E_HIDE_STARTUP
;AN000;
137 ;;;S_STR120_1 = "a:*.* C:\<path> /A" ;
138 ;;;copy NEW files on INSTALL diskette to install path ;
139 EXEC_PROGRAM S_REPLACE
,S_STR120_1
,PARM_BLOCK
,EXEC_DIR
;AN000; copy new files
141 .IF < MEM_SIZE
eq 256 > ;AN000;DT
142 CALL GET_OVERLAY
;AN000;DT Get panels
144 HANDLE_ERROR ERR_COPY_DISK
, E_RETURN
;AN000;
145 RESTORE_ATTRIBUTE HIDE_STARTUP
,E_HIDE_STARTUP
;AN000;
148 RESTORE_ATTRIBUTE HIDE_STARTUP
,E_HIDE_STARTUP
;AN000;
149 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
151 ; Prompt the user to remove the INSTALL (source) diskette
152 ; and insert the OPERATING 1 (source) diskette.
154 ;;;;;;;;;;SHELL 360KB DISKETTE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
155 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
157 .IF < MEM_SIZE
eq 256 > ;AN000;DT
158 CALL GET_OVERLAY
;AN000;DT Get panels
161 ;;;insert OPERATING 1 diskette in drive A: ;
162 INSERT_DISK SUB_REM_SELECT_360
, S_DOS_UTIL1_DISK
;AN000;JW
163 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
165 ; Display copying files
167 ; NOTE: The REPLACE command is now issued from the hard disk
168 ; (since it is not found on any other disk)
170 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
171 INIT_PQUEUE PAN_INSTALL_DOS
;AN000; initialize queue
172 PREPARE_PANEL SUB_COPYING
;AN000; prepare copying from diskette 2 message
173 DISPLAY_PANEL
;AN000;
175 .IF < MEM_SIZE
eq 256 > ;AN000;DT
176 DEALLOCATE_MEMORY
;AN000;DT
179 ;;;S_STR120_1 = "a:*.* c:\path /a parameter for REPLACE
180 MERGE_STRING S_STR120_1
,M_STR120_1
,S_A_STARS
,S_INSTALL_PATH
;AN000;
181 APPEND_STRING S_STR120_1
,M_STR120_1
,S_SLASH_A
;AN000;
183 COMPARE_STRINGS S_INSTALL_PATH
, S_DEST_DRIVE
;AN000; compare to C:\
184 .IF < nc
> ;AN000; if the same
185 MERGE_STRING S_STR120_2
,M_STR120_2
,S_INSTALL_PATH
,S_REPLACE
;AN000;
187 MERGE_STRING S_STR120_2
,M_STR120_2
,S_INSTALL_PATH
,S_SLASH
;AN000;
188 APPEND_STRING S_STR120_2
,M_STR120_2
,S_REPLACE
;AN000;
191 ;;;replace files in drive C: with new files on OPERATING 1 diskette
192 EXEC_PROGRAM S_STR120_2
,S_STR120_3
,PARM_BLOCK
,EXEC_DIR
;AN006;JW
194 .IF < MEM_SIZE
eq 256 > ;AN000;DT
195 CALL GET_OVERLAY
;AN000;DT Get panels
197 HANDLE_ERROR ERR_COPY_DISK
, E_RETURN
;AN000;
200 ;;;S_STR120_1 = "a:*.* C:\<path> /A" ;
201 ;;;copy NEW files on OPERATING 1 diskette to install path
202 EXEC_PROGRAM S_STR120_2
,S_STR120_1
,PARM_BLOCK
,EXEC_DIR
;AN000; copy new files
204 .IF < MEM_SIZE
eq 256 > ;AN000;DT
205 CALL GET_OVERLAY
;AN000;DT Get panels
207 HANDLE_ERROR ERR_COPY_DISK
, E_RETURN
;AN000;
209 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
211 ; insert the OPERATING #2 diskette.
213 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
215 .IF < MEM_SIZE
eq 256 > ;AN000;DT
216 CALL GET_OVERLAY
;AN000;DT Get panels
219 ;;; insert OPERATING #2 diskette in drive A: ;
220 INSERT_DISK SUB_INS_OPER2
, S_DOS_UTIL2_DISK
;AN000;JW
221 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
223 ; Display copying files from OPERATING #2
225 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
226 INIT_PQUEUE PAN_INSTALL_DOS
;AN000; initialize queue
227 PREPARE_PANEL SUB_COPYING
;AN000; prepare copying from diskette 1 message
228 DISPLAY_PANEL
;AN000;
230 .IF < MEM_SIZE
eq 256 > ;AN000;DT
231 DEALLOCATE_MEMORY
;AN000;DT
234 ;;;replace files in drive C: with new files on OPERATING 2 diskette
235 EXEC_PROGRAM S_STR120_2
,S_STR120_3
,PARM_BLOCK
,EXEC_DIR
;AN006;JW
237 .IF < MEM_SIZE
eq 256 > ;AN000;DT
238 CALL GET_OVERLAY
;AN000;DT Get panels
240 HANDLE_ERROR ERR_COPY_DISK
, E_RETURN
;AN000;
243 ;;;S_STR120_1 = "a:*.* C:\<path> /A " ;
244 ;;;copy NEW files on OPERATING 2 diskette to install path
245 EXEC_PROGRAM S_STR120_2
,S_STR120_1
,PARM_BLOCK
,EXEC_DIR
;AN000; copy new files
247 .IF < MEM_SIZE
eq 256 > ;AN000;DT
248 CALL GET_OVERLAY
;AN000;DT Get panels
250 HANDLE_ERROR ERR_COPY_DISK
, E_RETURN
;AN000;
252 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
254 ; insert the OPERATING #3 diskette.
256 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
258 .IF < MEM_SIZE
eq 256 > ;AN000;DT
259 CALL GET_OVERLAY
;AN000;DT Get panels
262 ;;; insert OPERATING #3 diskette in drive A: ;
263 INSERT_DISK SUB_REM_UTIL1_360
, S_DOS_UTIL3_DISK
;AN000;JW
264 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
266 ; Display copying files from OPERATING #3
268 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
269 INIT_PQUEUE PAN_INSTALL_DOS
;AN000; initialize queue
270 PREPARE_PANEL SUB_COPYING
;AN000; prepare copying from diskette 1 message
271 DISPLAY_PANEL
;AN000;
273 .IF < MEM_SIZE
eq 256 > ;AN000;DT
274 DEALLOCATE_MEMORY
;AN000;DT
277 ;;;replace files in drive C: with new files on OPERATING 2 diskette
278 EXEC_PROGRAM S_STR120_2
,S_STR120_3
,PARM_BLOCK
,EXEC_DIR
;AN006;JW
280 .IF < MEM_SIZE
eq 256 > ;AN000;DT
281 CALL GET_OVERLAY
;AN000;DT Get panels
283 HANDLE_ERROR ERR_COPY_DISK
, E_RETURN
;AN000;
286 ;;;S_STR120_1 = "a:*.* C:\<path> /A " ;
287 ;;;copy NEW files on OPERATING 2 diskette to install path
288 EXEC_PROGRAM S_STR120_2
,S_STR120_1
,PARM_BLOCK
,EXEC_DIR
;AN000; copy new files
290 .IF < MEM_SIZE
eq 256 > ;AN000;DT
291 CALL GET_OVERLAY
;AN000;DT Get panels
293 HANDLE_ERROR ERR_COPY_DISK
, E_RETURN
;AN000;
295 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
297 ; insert the SELECT diskette.
299 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
301 .IF < MEM_SIZE
eq 256 > ;AN000;DT
302 CALL GET_OVERLAY
;AN000;DT Get panels
304 ;;; insert the SELECT diskette in drive A ;
305 INSERT_DISK SUB_REM_SHELL_360
, S_DOS_SEL_360
;AN000;JW
307 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
309 ; Display copying files from SELECT diskette
311 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
312 INIT_PQUEUE PAN_INSTALL_DOS
;AN000; initialize queue
313 PREPARE_PANEL SUB_COPYING
;AN000; prepare copying from diskette 1 message
314 DISPLAY_PANEL
;AN000;
316 .IF < MEM_SIZE
eq 256 > ;AN000;DT
317 DEALLOCATE_MEMORY
;AN000;DT
320 ;;;replace files in drive C: with new files on SELECT diskette
321 EXEC_PROGRAM S_STR120_2
,S_STR120_3
,PARM_BLOCK
,EXEC_DIR
;AN006;JW
323 .IF < MEM_SIZE
eq 256 > ;AN000;DT
324 CALL GET_OVERLAY
;AN000;DT Get panels
326 HANDLE_ERROR ERR_COPY_DISK
, E_RETURN
;AN000;
329 ;;;S_STR120_1 = "a:*.* C:\<path> /A " ;
330 ;;;copy new files on SELECT diskette to install path ;
331 EXEC_PROGRAM S_STR120_2
,S_STR120_1
,PARM_BLOCK
,EXEC_DIR
;AN000; copy new files
333 .IF < MEM_SIZE
eq 256 > ;AN000;DT
334 CALL GET_OVERLAY
;AN000;DT Get panels
336 HANDLE_ERROR ERR_COPY_DISK
, E_RETURN
;AN000;
339 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
341 ; maybe insert the SHELL diskette.
343 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
345 .IF < f_shell
eq e_shell_yes
> near
347 .IF < MEM_SIZE
eq 256 > ;AN000;DT
348 CALL GET_OVERLAY
;AN000;DT Get panels
351 INSERT_DISK SUB_INS_MSSHELL_A
, S_DOS_SHEL_DISK
;AN000;JW
352 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
354 ; Display copying files from SHELL diskette
356 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
357 INIT_PQUEUE PAN_INSTALL_DOS
;AN000; initialize queue
358 PREPARE_PANEL SUB_COPYING
;AN000; prepare copying from diskette 1 message
359 DISPLAY_PANEL
;AN000;
361 .IF < MEM_SIZE
eq 256 > ;AN000;DT
362 DEALLOCATE_MEMORY
;AN000;DT
365 ;;;replace files in drive C: with new files on SHELL diskette
366 EXEC_PROGRAM S_STR120_2
,S_STR120_3
,PARM_BLOCK
,EXEC_DIR
;AN006;JW
368 .IF < MEM_SIZE
eq 256 > ;AN000;DT
369 CALL GET_OVERLAY
;AN000;DT Get panels
371 HANDLE_ERROR ERR_COPY_DISK
, E_RETURN
;AN000;
374 ;;;S_STR120_1 = "a:*.* C:\<path> /A " ;
375 ;;;copy NEW files on SHELL diskette to install path
376 EXEC_PROGRAM S_STR120_2
,S_STR120_1
,PARM_BLOCK
,EXEC_DIR
;AN000; copy new files
378 .IF < MEM_SIZE
eq 256 > ;AN000;DT
379 CALL GET_OVERLAY
;AN000;DT Get panels
381 HANDLE_ERROR ERR_COPY_DISK
, E_RETURN
;AN000;
384 .endif
; optional shell support
387 ;Delete select files from C: drive ;
388 COMPARE_STRINGS S_INSTALL_PATH
, S_DEST_DRIVE
;AN007; compare to C:\
389 .IF < nc
> ;AN007; if installed to the root
390 MERGE_STRING S_STR120_1
,M_STR120_1
,S_C_DRIVE
,S_SELDAT_C
;AN000;
391 ERASE_FILE S_STR120_1
;AN000;DT
392 MERGE_STRING S_STR120_1
,M_STR120_1
,S_C_DRIVE
,S_SELEXE_C
;AN000;
393 ERASE_FILE S_STR120_1
;AN000;DT
394 .ELSE near ;AN007; else installed to a directory
395 MERGE_STRING S_STR120_1
,M_STR120_1
,S_INSTALL_PATH
,S_SELDAT_C
;AN000;
396 ERASE_FILE S_STR120_1
;AN000;DT
397 MERGE_STRING S_STR120_1
,M_STR120_1
,S_INSTALL_PATH
,S_SELEXE_C
;AN000;
398 ERASE_FILE S_STR120_1
;AN000;DT
399 MERGE_STRING S_STR120_1
,M_STR120_1
,S_INSTALL_PATH
,S_AUTOEX_C
;AN000;
400 ERASE_FILE S_STR120_1
;AN000;DT
401 MERGE_STRING S_STR120_1
,M_STR120_1
,S_INSTALL_PATH
,S_CONSYS_C
;AN000;
402 ERASE_FILE S_STR120_1
;AN000;DT
406 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
407 ;;;;360KB;;;;360KB;;;;360KB;;;;360KB;;;;360KB;;;;360KB;;;;360KB;;
409 ; End of 360KB support
411 ; Installation completed. inform user to reboot
413 ; Search for the installed CONFIG.340 , and
414 ; we issue a different panel to describe the '.340' files.
416 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
418 .IF < MEM_SIZE
eq 256 > ;AN000;DT
419 ALLOCATE_MEMORY
;AN000;DT
420 CALL INITIALIZE
;AN000;DT and read them in
423 INIT_PQUEUE PAN_COMPLETE1
;AN000; initialize queue
424 .IF < I_DESTINATION ne E_ENTIRE_DISK
> ;AN010;JW
425 PREPARE_PANEL PAN_PARTIAL
;AN010;JW
427 FIND_FILE S_CONFIG_REN
, E_FILE_ATTR
;AN003;GHG Look for '.340' files
429 PREPARE_PANEL SUB_COMP_VER
;AN003;GHG prepare DOS install message
431 PREPARE_PANEL SUB_COMP_REP
;AN003;GHG prepare DOS Replace message
435 PREPARE_PANEL SUB_COMP_KYS_1
;AN000;
436 DISPLAY_PANEL
;AN000;
437 SAVE_PANEL_LIST
;AN000;
439 GET_FUNCTION FK_REBOOT
;AN000; User has to reboot
440 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
444 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
445 PUBLIC GET_OVERLAY
;AN000;
446 GET_OVERLAY PROC
NEAR ;AN000;
447 .IF < N_DISKETTE_A ne E_DISKETTE_720
> ;AN063;SEH
449 DISPLAY_MESSAGE
12 ;AN000;DT Insert SELECT diskette
451 GET_FUNCTION FK_ENT
;AN000; get user entered function
452 FIND_FILE S_DOS_SEL_360
, E_FILE_ATTR
;AN000;
453 .LEAVE < nc
> ;AN000;
454 DISPLAY_MESSAGE
11 ;AN000;DT Beep
457 ALLOCATE_MEMORY
;AN000;DT
458 CALL INITIALIZE
;AN000;DT and read them in
460 GET_OVERLAY ENDP
;AN000;