diff options
Diffstat (limited to 'v4.0/src/SELECT/SELECT8.ASM')
| -rw-r--r-- | v4.0/src/SELECT/SELECT8.ASM | 453 |
1 files changed, 453 insertions, 0 deletions
diff --git a/v4.0/src/SELECT/SELECT8.ASM b/v4.0/src/SELECT/SELECT8.ASM new file mode 100644 index 0000000..effac33 --- /dev/null +++ b/v4.0/src/SELECT/SELECT8.ASM | |||
| @@ -0,0 +1,453 @@ | |||
| 1 | |||
| 2 | |||
| 3 | PAGE 55,132 ;AN000; | ||
| 4 | NAME SELECT ;AN000; | ||
| 5 | TITLE SELECT - DOS - SELECT.EXE ;AN000; | ||
| 6 | SUBTTL SELECT8.asm ;AN000; | ||
| 7 | .ALPHA ;AN000; | ||
| 8 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 9 | ; | ||
| 10 | ; SELECT8.ASM : Copyright 1988 Microsoft | ||
| 11 | ; | ||
| 12 | ; DATE: August 8/87 | ||
| 13 | ; | ||
| 14 | ; COMMENTS: Assemble with MASM 3.0 (using the /A option) | ||
| 15 | ; | ||
| 16 | ; | ||
| 17 | ; CHANGE HISTORY: | ||
| 18 | ; | ||
| 19 | ; ;AN000; DT added support for creation of the DOSSHELL.BAT as a | ||
| 20 | ; separately installed file. (D233) | ||
| 21 | ; ;AN002; GHG for P1146 | ||
| 22 | ; ;AN003; GHG for D234 | ||
| 23 | ; ;AN004; GHG for P65 | ||
| 24 | ; ;AN005; DT for single drive support | ||
| 25 | ; ;AN006; JW correct critical error problems during format/copy | ||
| 26 | ; | ||
| 27 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 28 | DATA SEGMENT BYTE PUBLIC 'DATA' ;AN000; | ||
| 29 | EXTRN EXEC_ERR:BYTE ;AN063;SEH | ||
| 30 | EXTRN BCHAR:BYTE ;AN000;DT | ||
| 31 | EXTRN DSKCPY_ERR:BYTE ;AN000;DT | ||
| 32 | EXTRN DSKCPY_WHICH:BYTE ;AN000;DT | ||
| 33 | EXTRN DSKCPY_OPTION:BYTE ;AN000;DT | ||
| 34 | EXTRN DSKCPY_PAN1:WORD ;AN000;DT | ||
| 35 | EXTRN DSKCPY_PAN2:WORD ;AN000;DT | ||
| 36 | EXTRN DSKCPY_PAN3:WORD ;AN000;DT | ||
| 37 | EXTRN DSKCPY_SOURCE:WORD ;AN000;DT | ||
| 38 | DATA ENDS ;AN000; | ||
| 39 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 40 | ; | ||
| 41 | ; | ||
| 42 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 43 | .XLIST ;AN000; | ||
| 44 | INCLUDE PANEL.MAC ;AN000; | ||
| 45 | INCLUDE SELECT.INC ;AN000; | ||
| 46 | INCLUDE PAN-LIST.INC ;AN000; | ||
| 47 | INCLUDE CASTRUC.INC ;AN000; | ||
| 48 | INCLUDE STRUC.INC ;AN000; | ||
| 49 | INCLUDE MACROS.INC ;AN000; | ||
| 50 | INCLUDE EXT.INC ;AN000; | ||
| 51 | INCLUDE VARSTRUC.INC ;AN000; | ||
| 52 | INCLUDE ROUT_EXT.INC ;AN000; | ||
| 53 | .LIST ;AN000; | ||
| 54 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 55 | ; | ||
| 56 | ; | ||
| 57 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 58 | EXTRN ALLOCATE_MEMORY_CALL:FAR ;AN063;SEH | ||
| 59 | EXTRN DEALLOCATE_MEMORY_CALL:FAR ;AN063;SEH | ||
| 60 | EXTRN ALLOCATE_BLOCK:FAR ;AN000;DT | ||
| 61 | EXTRN PM_BASECHAR:BYTE ;AN000; | ||
| 62 | EXTRN PM_BASEATTR:BYTE ;AN000; | ||
| 63 | EXTRN CRD_CCBVECOFF:WORD ;AN000; | ||
| 64 | EXTRN CRD_CCBVECSEG:WORD ;AN000; | ||
| 65 | SELECT SEGMENT PARA PUBLIC 'SELECT' ;AN000; | ||
| 66 | ASSUME CS:SELECT,DS:DATA ;AN000; | ||
| 67 | ; | ||
| 68 | INCLUDE CASEXTRN.INC ;AN000; | ||
| 69 | ; | ||
| 70 | EXTRN EXIT_SELECT:near ;AN000; | ||
| 71 | EXTRN CREATE_CONFIG_SYS:NEAR ;AN000; | ||
| 72 | EXTRN CREATE_AUTOEXEC_BAT:NEAR ;AN000; | ||
| 73 | EXTRN CREATE_SHELL_BAT:NEAR ;AN000;DT | ||
| 74 | EXTRN DEALLOCATE_HELP:FAR ;AN007;JW | ||
| 75 | ; | ||
| 76 | EXTRN INSTALL_TO_360_DRIVE:NEAR ;AN000;DT | ||
| 77 | EXTRN INSTALL_ERROR:NEAR ;AN000; | ||
| 78 | EXTRN EXIT_DOS:NEAR ;AN000; | ||
| 79 | EXTRN PROCESS_ESC_F3:NEAR ;AN000; | ||
| 80 | EXTRN EXIT_DOS_CONT:NEAR ;AN000; | ||
| 81 | EXTRN GET_ENTER_KEY:NEAR ;AN063;SEH | ||
| 82 | EXTRN GET_OVERLAY:NEAR ;AN063;SEH | ||
| 83 | extrn Free_Parser:near | ||
| 84 | PUBLIC DISKETTE_INSTALL ;AN111;JW | ||
| 85 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 86 | ; | ||
| 87 | ; Install is to drive B: or drive A: | ||
| 88 | ; | ||
| 89 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 90 | DISKETTE_INSTALL: ;AC111;JW | ||
| 91 | ; | ||
| 92 | INIT_VAR F_PATH, E_PATH_NO ;AN000; | ||
| 93 | INIT_VAR F_APPEND, E_APPEND_NO ;AN000; | ||
| 94 | INIT_VAR F_PROMPT, E_PROMPT_NO ;AN000; | ||
| 95 | INIT_VAR F_XMA, E_XMA_NO ;AN000; | ||
| 96 | INIT_VAR F_FASTOPEN, E_FASTOPEN_NO ;AN000; | ||
| 97 | INIT_VAR F_SHARE, E_SHARE_NO ;AN000; | ||
| 98 | INIT_VAR S_INSTALL_PATH,0 ;AN000;set install path field = 0 | ||
| 99 | ; | ||
| 100 | .IF < N_DISKETTE_A eq E_DISKETTE_360 > ;AN111;JW | ||
| 101 | GOTO INSTALL_TO_360_DRIVE ;AN111;JW | ||
| 102 | .ENDIF ;AN111;JW | ||
| 103 | ; | ||
| 104 | .IF < N_DISKETTE_A eq E_DISKETTE_720 > ;AN111;JW | ||
| 105 | GOTO INSTALL_TO_720_DRIVE ;AN111;JW | ||
| 106 | .ENDIF ;AN111;JW | ||
| 107 | ; | ||
| 108 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 109 | ; | ||
| 110 | ; install is to 1.44M drives | ||
| 111 | ; | ||
| 112 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 113 | ;;;Introduction to 1440KB install ; | ||
| 114 | INIT_PQUEUE PAN_INSTALL_DOS ;AN000; initialize queue | ||
| 115 | PREPARE_PANEL PAN_START1440 ;AN000; | ||
| 116 | PREPARE_PANEL PAN_HBAR ;AN000; | ||
| 117 | PREPARE_CHILDREN ;AN000; prepare child panels | ||
| 118 | DISPLAY_PANEL ;AN000; | ||
| 119 | ; | ||
| 120 | GET_FUNCTION FK_ENT ;AN000; | ||
| 121 | ; | ||
| 122 | .IF < I_DEST_DRIVE eq E_DEST_DRIVE_B > near ;AN111;JW | ||
| 123 | ;;;insert startup diskette in drive B: ; | ||
| 124 | INIT_PQUEUE PAN_INST_PROMPT ;AN000; initialize queue | ||
| 125 | PREPARE_PANEL SUB_INS_START_B ;AN000; insert startup diskette in drive B: | ||
| 126 | PREPARE_PANEL PAN_HBAR ;AN000; prepare horizontal bar | ||
| 127 | PREPARE_CHILDREN ;AN000; prepare child panels | ||
| 128 | DISPLAY_PANEL ;AN000; display panel | ||
| 129 | ; | ||
| 130 | GET_FUNCTION FK_ENT ;AN000; | ||
| 131 | ; | ||
| 132 | ;;;formatting disk screen ; | ||
| 133 | INIT_PQUEUE FORMAT_DISKET ;AN000; initialize queue | ||
| 134 | DISPLAY_PANEL ;AN000; | ||
| 135 | ; | ||
| 136 | ;;;format startup diskette in drive B: ; | ||
| 137 | .REPEAT ;AN006;JW | ||
| 138 | EXEC_PROGRAM S_FORMAT,S_FORMAT_B,PARM_BLOCK,EXEC_NO_DIR;AN000; format startup disket & copy system files | ||
| 139 | .LEAVE nc ;AN006;JW | ||
| 140 | HANDLE_FORMAT_ERROR ;AN000;JW | ||
| 141 | .UNTIL ;AN006;JW | ||
| 142 | ; | ||
| 143 | ;;;create config and autoexec files on startup diskette ; | ||
| 144 | CREATE_CONFIG S_CONFIG_NEW_B, N_RETCODE ;AN000; create CONFIG.SYS file | ||
| 145 | .IF c ;AN000; | ||
| 146 | GOTO INSTALL_ERROR ;AN000; | ||
| 147 | .ENDIF ;AN000; | ||
| 148 | CREATE_AUTOEXEC S_AUTO_NEW_B,E_DEST_SHELL,N_RETCODE;AN000; create AUTOEXEC.BAT file with SHELL pars | ||
| 149 | .IF < c > near ;AN000; | ||
| 150 | GOTO INSTALL_ERROR ;AN000; | ||
| 151 | .ENDIF ;AN000; | ||
| 152 | ; | ||
| 153 | .ELSE near ;AN111; install is to 1.44 meg A: drive JW | ||
| 154 | ; | ||
| 155 | ;;;format startup diskette in drive A: ; | ||
| 156 | ;;;use format int2f call to display panels ; | ||
| 157 | INIT_VAR FORMAT_WHICH,STARTUP ;AN111;JW | ||
| 158 | .REPEAT ;AN006;JW | ||
| 159 | HOOK_2F_FORMAT ;AN111;JW | ||
| 160 | EXEC_PROGRAM S_FORMAT,S_FORMAT_A,PARM_BLOCK,EXEC_NO_DIR ;AN000; format startup disket & copy system files | ||
| 161 | .LEAVE nc ;AN006;JW | ||
| 162 | UNHOOK_2F ;AN111;JW | ||
| 163 | HANDLE_FORMAT_ERROR ;AN000;JW | ||
| 164 | INSERT_DISK SUB_REM_DOS_A, S_DOS_SEL_360 ;AN000; | ||
| 165 | .UNTIL ;AN006;JW | ||
| 166 | UNHOOK_2F ;AN111;JW | ||
| 167 | ; | ||
| 168 | ;;;create config and autoexec files on startup diskette ; | ||
| 169 | CREATE_CONFIG S_CONSYS_C, N_RETCODE ;AN000; create CONFIG.SYS file | ||
| 170 | .IF c ;AN000; | ||
| 171 | GOTO INSTALL_ERROR ;AN000; | ||
| 172 | .ENDIF ;AN000; | ||
| 173 | CREATE_AUTOEXEC S_AUTOEX_C,E_DEST_SHELL,N_RETCODE ;AN000; create AUTOEXEC.BAT file with SHELL pars | ||
| 174 | .IF c ;AN000; | ||
| 175 | GOTO INSTALL_ERROR ;AN000; | ||
| 176 | .ENDIF ;AN000; | ||
| 177 | ; | ||
| 178 | ;;; insert the INSTALL diskette in drive A: ; | ||
| 179 | INSERT_DISK SUB_REM_DOS_A, S_DOS_SEL_360 ;AN000; | ||
| 180 | ; | ||
| 181 | .ENDIF ;AN000; | ||
| 182 | ; | ||
| 183 | ;;;copying files screen ; | ||
| 184 | INIT_PQUEUE PAN_INSTALL_DOS ;AN000; initialize queue | ||
| 185 | PREPARE_PANEL SUB_COPYING ;AN111; prepare copying files message JW | ||
| 186 | DISPLAY_PANEL ;AN000; | ||
| 187 | ; | ||
| 188 | .IF < I_DEST_DRIVE eq E_DEST_DRIVE_A > ;AN111;JW | ||
| 189 | INIT_VAR SOURCE_PANEL, SUB_REM_DOS_A ;AN000; | ||
| 190 | INIT_VAR DEST_PANEL, SUB_INS_STARTT_S360 ;AN000; | ||
| 191 | .ENDIF ;AN000; | ||
| 192 | ; | ||
| 193 | ;;;copy all files from INSTALL diskette to STARTUP diskette | ||
| 194 | COPY_FILES I_DEST_DRIVE,COPY_INST_1200_1440,E_INST_1200_1440;AN000; | ||
| 195 | .IF c ;AN000; | ||
| 196 | GOTO INSTALL_ERROR ;AN000; | ||
| 197 | .ENDIF ;AN000; | ||
| 198 | ; | ||
| 199 | ;;; insert OPERATING diskette in A: ; | ||
| 200 | INSERT_DISK SUB_REM_SEL_A, S_DOS_UTIL1_DISK ;AN000; | ||
| 201 | ; | ||
| 202 | ;;;copying files screen ; | ||
| 203 | INIT_PQUEUE PAN_INSTALL_DOS ;AN000; initialize queue | ||
| 204 | PREPARE_PANEL SUB_COPYING ;AN000; prepare copying files message | ||
| 205 | DISPLAY_PANEL ;AN000; | ||
| 206 | ; | ||
| 207 | .IF < I_DEST_DRIVE eq E_DEST_DRIVE_A > ;AN111;JW | ||
| 208 | INIT_VAR SOURCE_PANEL, SUB_REM_SEL_A ;AN111;JW | ||
| 209 | INIT_VAR DEST_PANEL, SUB_INS_STARTT_S360 ;AN111;JW | ||
| 210 | .ENDIF ;AN000; | ||
| 211 | ; | ||
| 212 | ;;;copy all files from OPERATING diskette to STARTUP diskette; | ||
| 213 | COPY_FILES I_DEST_DRIVE,COPY_OPER_1200_1440,E_OPER_1200_1440;AN000; | ||
| 214 | .IF c ;AN000; | ||
| 215 | GOTO INSTALL_ERROR ;AN000; | ||
| 216 | .ENDIF ;AN000; | ||
| 217 | |||
| 218 | .if < f_shell eq e_shell_yes > near ; install the shell? | ||
| 219 | |||
| 220 | ;;; insert MS-SHELL diskette in A: ; | ||
| 221 | INSERT_DISK SUB_INS_MSSHELL_A, S_DOS_SHEL_DISK ;AN000; | ||
| 222 | ; | ||
| 223 | ;;;copying files screen ; | ||
| 224 | INIT_PQUEUE PAN_INSTALL_DOS ;AN000; initialize queue | ||
| 225 | PREPARE_PANEL SUB_COPYING ;AN000; prepare copying files message | ||
| 226 | DISPLAY_PANEL ;AN000; | ||
| 227 | ; | ||
| 228 | .IF < I_DEST_DRIVE eq E_DEST_DRIVE_A > ;AN111;JW | ||
| 229 | INIT_VAR SOURCE_PANEL, SUB_INS_MSSHELL_A ;AN111;JW | ||
| 230 | INIT_VAR DEST_PANEL, SUB_INS_STARTT_S360 ;AN111;JW | ||
| 231 | .ENDIF ;AN000; | ||
| 232 | ; | ||
| 233 | ;;;copy all files from OPERATING diskette to STARTUP diskette; | ||
| 234 | COPY_FILES I_DEST_DRIVE,COPY_SHELL_1200_1440,E_SHELL_1200_1440;AN000; | ||
| 235 | .IF c ;AN000; | ||
| 236 | GOTO INSTALL_ERROR ;AN000; | ||
| 237 | .ENDIF ;AN000; | ||
| 238 | |||
| 239 | .endif ; installing the shell | ||
| 240 | ; | ||
| 241 | .IF < I_DEST_DRIVE eq E_DEST_DRIVE_B > ;AN111;JW | ||
| 242 | CREATE_SHELL S_SHELL_NEW_B, N_RETCODE ;AN000;DT | ||
| 243 | .IF c ;AN000;DT | ||
| 244 | GOTO INSTALL_ERROR ;AN000;DT | ||
| 245 | .ENDIF ;AN000;DT | ||
| 246 | .ELSE ;AN000; | ||
| 247 | CREATE_SHELL S_SHELL_NEW, N_RETCODE ;AN000;DT | ||
| 248 | .IF c ;AN000;DT | ||
| 249 | GOTO INSTALL_ERROR ;AN000;DT | ||
| 250 | .ENDIF ;AN000;DT | ||
| 251 | .ENDIF ;AN000; | ||
| 252 | ; | ||
| 253 | ;;;installation complete screen ; | ||
| 254 | INIT_PQUEUE PAN_COMPLETE2 ;AN000; initialize queue | ||
| 255 | PREPARE_PANEL SUB_COMP_KYS_1C ;AN000; | ||
| 256 | DISPLAY_PANEL ;AN000; | ||
| 257 | SAVE_PANEL_LIST ;AN000; | ||
| 258 | ; | ||
| 259 | GET_FUNCTION FK_REBOOT ;AN000; | ||
| 260 | ;;;;;;;;control will not return here. user has to reboot;;;;;;;;; end of install to 1.44M drive | ||
| 261 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 262 | ; | ||
| 263 | ; Install to 720K drive | ||
| 264 | ; | ||
| 265 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 266 | INSTALL_TO_720_DRIVE: | ||
| 267 | .IF < MEM_SIZE eq 256 > | ||
| 268 | DEALLOCATE_MEMORY | ||
| 269 | call Free_Parser | ||
| 270 | .IF < C > | ||
| 271 | GOTO INSTALL_ERROR | ||
| 272 | .ENDIF | ||
| 273 | CALL GET_OVERLAY | ||
| 274 | INSERT_DISK SUB_REM_DOS_A, S_DOS_COM_360 | ||
| 275 | .ENDIF | ||
| 276 | |||
| 277 | ;;;Introduction to 720KB install | ||
| 278 | INIT_PQUEUE PAN_INSTALL_DOS | ||
| 279 | PREPARE_PANEL PAN_START720 | ||
| 280 | PREPARE_PANEL PAN_HBAR | ||
| 281 | PREPARE_CHILDREN | ||
| 282 | DISPLAY_PANEL | ||
| 283 | |||
| 284 | GET_FUNCTION FK_ENT | ||
| 285 | |||
| 286 | CALL DEALLOCATE_HELP | ||
| 287 | |||
| 288 | .IF < I_DEST_DRIVE eq E_DEST_DRIVE_A > near | ||
| 289 | |||
| 290 | ;;;diskcopy INSTALL diskette to STARTUP diskette | ||
| 291 | DISKCOPY_TO DSKCPY_TO_A_360,NO_SOURCE1,S_DOS_SEL_360 | ||
| 292 | DISKCOPY_PANELS SUB_REM_DOS_A,SUB_COPYING,SUB_INS_STARTT_S360 | ||
| 293 | .REPEAT | ||
| 294 | INIT_VAR N_DSKCPY_ERR,E_DSKCPY_OK | ||
| 295 | CALL HOOK_INT_2F | ||
| 296 | EXEC_PROGRAM S_DISKCOPY,S_DISKCOPY_PARM,PARM_BLOCK,EXEC_NO_DIR | ||
| 297 | CALL RESTORE_INT_2F | ||
| 298 | .IF < c > | ||
| 299 | GOTO INSTALL_ERROR | ||
| 300 | .ENDIF | ||
| 301 | .UNTIL < N_DSKCPY_ERR ne E_DSKCPY_RETRY > | ||
| 302 | ; delete unneeded files | ||
| 303 | ERASE_FILE S_AUTOEX_C | ||
| 304 | ERASE_FILE S_CONSYS_C | ||
| 305 | ERASE_FILE S_SELEXE_C | ||
| 306 | ERASE_FILE S_SELHLP_C | ||
| 307 | ERASE_FILE S_SELPRT_C | ||
| 308 | ERASE_FILE S_SELDAT_C | ||
| 309 | ; make config.sys and autoexec.bat | ||
| 310 | create_config s_consys_c, n_retcode | ||
| 311 | .if c | ||
| 312 | goto install_error | ||
| 313 | .endif | ||
| 314 | create_autoexec s_autoex_c, e_dest_dos, n_retcode | ||
| 315 | .if c | ||
| 316 | goto install_error | ||
| 317 | .endif | ||
| 318 | |||
| 319 | ;;; diskcopy OPERATE diskette to WORKING diskette | ||
| 320 | .REPEAT | ||
| 321 | DISKCOPY_TO DSKCPY_TO_A_360,SOURCE1,S_DOS_UTIL1_DISK | ||
| 322 | DISKCOPY_PANELS SUB_REM_SEL_A,SUB_COPYING,SUB_INS_WORKING_A | ||
| 323 | INIT_VAR N_DSKCPY_ERR,E_DSKCPY_OK | ||
| 324 | CALL HOOK_INT_2F | ||
| 325 | EXEC_PROGRAM S_DISKCOPY,S_DISKCOPY_PARM,PARM_BLOCK,EXEC_NO_DIR | ||
| 326 | CALL RESTORE_INT_2F | ||
| 327 | .IF < c > | ||
| 328 | GOTO INSTALL_ERROR | ||
| 329 | .ENDIF | ||
| 330 | .LEAVE < N_DSKCPY_ERR ne E_DSKCPY_RETRY > | ||
| 331 | INSERT_DISK SUB_REM_DOS_A, S_DOS_SEL_360 | ||
| 332 | .UNTIL | ||
| 333 | |||
| 334 | ;;;perhaps diskcopy MS-SHELL to SHELL | ||
| 335 | .IF < f_shell eq e_shell_yes > near | ||
| 336 | .REPEAT | ||
| 337 | INSERT_DISK SUB_REM_DOS_A, S_DOS_SEL_360 | ||
| 338 | DISKCOPY_TO DSKCPY_TO_A_360,SOURCE1,S_DOS_SHEL_DISK | ||
| 339 | DISKCOPY_PANELS SUB_INS_MSSHELL_A,SUB_COPYING,SUB_INS_SHELL_S360 | ||
| 340 | INIT_VAR N_DSKCPY_ERR,E_DSKCPY_OK | ||
| 341 | CALL HOOK_INT_2F | ||
| 342 | EXEC_PROGRAM S_DISKCOPY,S_DISKCOPY_PARM,PARM_BLOCK,EXEC_NO_DIR | ||
| 343 | CALL RESTORE_INT_2F | ||
| 344 | .IF < c > | ||
| 345 | GOTO INSTALL_ERROR | ||
| 346 | .ENDIF | ||
| 347 | .UNTIL < N_DSKCPY_ERR ne E_DSKCPY_RETRY > | ||
| 348 | ; make config.sys and autoexec.bat | ||
| 349 | create_config s_consys_c, n_retcode | ||
| 350 | .if c | ||
| 351 | goto install_error | ||
| 352 | .endif | ||
| 353 | create_autoexec s_autoex_c, e_dest_shell, n_retcode | ||
| 354 | .if c | ||
| 355 | goto install_error | ||
| 356 | .endif | ||
| 357 | create_shell s_shell_new, n_retcode | ||
| 358 | .IF c near | ||
| 359 | goto install_error | ||
| 360 | .ENDIF | ||
| 361 | .ENDIF | ||
| 362 | |||
| 363 | .ELSE near ; This is a two floppy system. Install from A to B. | ||
| 364 | |||
| 365 | ;;;diskcopy INSTALL diskette to STARTUP diskette | ||
| 366 | DISKCOPY_TO DSKCPY_TO_B,SOURCE1,S_DOS_SEL_360 | ||
| 367 | DISKCOPY_PANELS SUB_INS_START_B,SUB_COPYING,NOPANEL | ||
| 368 | .REPEAT | ||
| 369 | INIT_VAR N_DSKCPY_ERR,E_DSKCPY_OK | ||
| 370 | CALL HOOK_INT_2F | ||
| 371 | EXEC_PROGRAM S_DISKCOPY,S_DSKCPY_TO_B,PARM_BLOCK,EXEC_NO_DIR | ||
| 372 | CALL RESTORE_INT_2F | ||
| 373 | .IF < c > | ||
| 374 | GOTO INSTALL_ERROR | ||
| 375 | .ENDIF | ||
| 376 | .UNTIL < N_DSKCPY_ERR ne E_DSKCPY_RETRY > | ||
| 377 | ; delete unneeded files | ||
| 378 | ERASE_FILE S_AUTO_NEW_B | ||
| 379 | ERASE_FILE S_CONFIG_NEW_B | ||
| 380 | ERASE_FILE S_SELEXE_NEW_B | ||
| 381 | ERASE_FILE S_SELHLP_NEW_B | ||
| 382 | ERASE_FILE S_SELPRT_NEW_B | ||
| 383 | ERASE_FILE S_SELDAT_NEW_B | ||
| 384 | ; make config.sys and autoexec.bat | ||
| 385 | create_config s_config_new_b, n_retcode | ||
| 386 | .if c | ||
| 387 | goto install_error | ||
| 388 | .endif | ||
| 389 | create_autoexec s_auto_new_b, e_dest_dos, n_retcode | ||
| 390 | .if c | ||
| 391 | goto install_error | ||
| 392 | .endif | ||
| 393 | |||
| 394 | ;;; diskcopy OPERATE diskette to WORKING diskette | ||
| 395 | .REPEAT | ||
| 396 | DISKCOPY_TO DSKCPY_TO_B,SOURCE1,S_DOS_UTIL1_DISK | ||
| 397 | DISKCOPY_PANELS SUB_INS_OP_WORK,SUB_COPYING,NOPANEL | ||
| 398 | INIT_VAR N_DSKCPY_ERR,E_DSKCPY_OK | ||
| 399 | CALL HOOK_INT_2F | ||
| 400 | EXEC_PROGRAM S_DISKCOPY,S_DSKCPY_TO_B,PARM_BLOCK,EXEC_NO_DIR | ||
| 401 | CALL RESTORE_INT_2F | ||
| 402 | .IF < c > | ||
| 403 | GOTO INSTALL_ERROR | ||
| 404 | .ENDIF | ||
| 405 | .LEAVE < N_DSKCPY_ERR ne E_DSKCPY_RETRY > | ||
| 406 | INSERT_DISK SUB_REM_DOS_A, S_DOS_SEL_360 | ||
| 407 | .UNTIL | ||
| 408 | |||
| 409 | ;;;perhaps diskcopy MS-SHELL to SHELL | ||
| 410 | .IF < f_shell eq e_shell_yes > near | ||
| 411 | .REPEAT | ||
| 412 | INSERT_DISK SUB_REM_DOS_A, S_DOS_SEL_360 | ||
| 413 | DISKCOPY_TO DSKCPY_TO_B,SOURCE1,S_DOS_SHEL_DISK | ||
| 414 | DISKCOPY_PANELS SUB_INS_SHELL_DISKS,SUB_COPYING,NOPANEL | ||
| 415 | INIT_VAR N_DSKCPY_ERR,E_DSKCPY_OK | ||
| 416 | CALL HOOK_INT_2F | ||
| 417 | EXEC_PROGRAM S_DISKCOPY,S_DSKCPY_TO_B,PARM_BLOCK,EXEC_NO_DIR | ||
| 418 | CALL RESTORE_INT_2F | ||
| 419 | .IF < c > | ||
| 420 | GOTO INSTALL_ERROR | ||
| 421 | .ENDIF | ||
| 422 | .UNTIL < N_DSKCPY_ERR ne E_DSKCPY_RETRY > | ||
| 423 | ; make config.sys and autoexec.bat | ||
| 424 | create_config s_config_new_b, n_retcode | ||
| 425 | .if c | ||
| 426 | goto install_error | ||
| 427 | .endif | ||
| 428 | create_autoexec s_auto_new_b, e_dest_shell, n_retcode | ||
| 429 | .if c | ||
| 430 | goto install_error | ||
| 431 | .endif | ||
| 432 | create_shell s_shell_new_b, n_retcode | ||
| 433 | .if c | ||
| 434 | goto install_error | ||
| 435 | .endif | ||
| 436 | .ENDIF | ||
| 437 | .ENDIF ; end if two drive 720 installation | ||
| 438 | |||
| 439 | |||
| 440 | ;;;installation complete and change diskettes screen | ||
| 441 | INIT_PQUEUE PAN_COMPLETE2 | ||
| 442 | PREPARE_PANEL SUB_COMP_KYS_2 | ||
| 443 | DISPLAY_PANEL | ||
| 444 | SAVE_PANEL_LIST | ||
| 445 | GET_FUNCTION FK_REBOOT | ||
| 446 | ;;;;;;;;control will not return here. user has to reboot | ||
| 447 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 448 | ; | ||
| 449 | ; | ||
| 450 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 451 | SELECT ENDS | ||
| 452 | END | ||
| 453 | \ No newline at end of file | ||