Listing of file='@DOSSET' on disk='vmedia/mvp-cs386-1.30-disk2.wvd.zip'
# Sector 401, program filename = '@DOSSET'
0010 REM %^ @DOSSET PROGRAM - Written by K. Baxi E.A.M.E. R&D
0020 REM % Ver 1.0 20 JUN 1991
0030 REM **********************************************
0040 REM * *
0050 REM * DOS SETUP Programme *
0060 REM * *
0070 REM **********************************************
0090 REM % SET VARS READ CONFIG CHECK IF TERM1 ELSE EXIT
0100 DIM A$(16)3,A$12,B$3,C$2,D$(16),K$1
: A$="D10D20D30340"
: DATA LOAD DC OPEN T#0,"@DOScfig"
: DATA LOAD DC #0,A$()
: DATA SAVE DC CLOSE
0110 IF #TERM<>1THEN 490
0120 REM % DISPLAY INPUT SCREEN AND ALLOW INPUTS
: GOSUB 260
0130 B$=A$(2)
: PRINT AT(5,50);
: LINPUT B$
: GOSUB 350
: IF B=0THEN 130
: A$(2)=B$
0140 B$=A$(3)
: PRINT AT(7,50);
: LINPUT B$
: GOSUB 350
: IF B=0THEN 140
: A$(3)=B$
0150 B$=A$(5)
: PRINT AT(9,50);
: LINPUT B$
: GOSUB 420
: IF B=0THEN 150
: A$(5)=B$
0160 B$=A$(4)
: PRINT AT(11,50);
: LINPUT B$
: GOSUB 400
: IF B=0THEN 160
: A$(4)=B$
0170 B$=STR(A$(6),1,1)&" "
: PRINT AT(13,50);
: LINPUT STR(B$,1,1)
: IF STR(B$,1,1)<"1"OR STR(B$,1,1)>"2"THEN 170
: ELSE A$(6)=B$
0180 REM %REFRESH UPDATED DATA SCREEN AND ALLOW UPDATE Y/N
0190 GOSUB 260
0200 PRINT AT(22,0);HEX(02050F0E07);"Update 'config' y/n ";
: KEYIN K$
: P=POS("YyNn"=K$)
: IF P>0OR P<5THEN PRINT K$
: IF P>0OR P<5THEN 210
: ELSE GOTO 200
0210 IF P>2THEN 250
0220 REM % update config file
0230 DATA LOAD DC OPEN T#0,"@DOScfig"
: DATA SAVE DC #0,A$()
: DATA SAVE DC CLOSE
0240 PRINT AT(22,0,);HEX(0E);"Setup Complete - Press any Key to Continue ";
: KEYIN K$
: PRINT HEX(0F)
0250 LOAD RUN "@DOSSTRT"
0260 REM % Setup screen display
0270 PRINT HEX(0306);
: C$=ALL(20)
0280 PRINT HEX(0E);AT(1,20);"* * * D O S S E T U P P R O G R A M * * * "
0290 PRINT AT(5,10);HEX(0E);"Address For Drive 'A' For Dos Emulation: ";A$(2)
0300 PRINT AT(7,10);HEX(0E);"Address For Drive 'B' For Dos Emulation: ";A$(3)
0310 PRINT AT(9,10);HEX(0E);"Address For Drive 'C' For Dos Emulation: ";A$(5)
0320 PRINT AT(11,10);HEX(0E);"Address For Printer (LPT1) : ";A$(4)
0330 PRINT AT(13,10);HEX(0E);"Clock display 12/24 hr [1/2] : ";STR(A
$(6),1,1)
0340 RETURN
0350 REM % Verify the field for disk address for drives 'A' and 'B'
0360 C$=ALL(00)
: IF B$="340"THEN 390
: STR(B$,1,1)=STR(B$,1,1)OR HEX(20)
: STR(B$,1,1)=STR(B$,1,1)XOR HEX(20)
0370 MAT SEARCHA$,=B$TO C$
0380 B=VAL(C$,2)
0390 RETURN
0400 REM % verify printer field
0410 IF VER(B$,"NNN")<>3THEN B=0
: RETURN
0420 REM % verify the field for drive c
0430 C$=ALL(00)
: IF B$="340"THEN 480
: STR(B$,1,1)=STR(B$,1,1)OR HEX(20)
: STR(B$,1,1)=STR(B$,1,1)XOR HEX(20)
0440 B=VER(B$,"N#N")
: IF B<>3THEN 450
: GOTO 460
0450 IF B<>3THEN B=0
: GOTO 480
0460 IF STR(B$,3,1)="0"THEN DO
: B=0
: END DO
0470 IF STR(B$,2,2)="5F"OR STR(B$,2,2)="7F"OR STR(B$,2,2)="9F"THEN DO
: B=0
: END DO
0480 IF B$="340"THEN B=3
: RETURN
0490 REM % NOT TERMINAL 1 - EXIT
0500 PRINT HEX(070E);"Config can only be executed by SYSTEM Console"
0510 I4$="R"
: LOAD T"@DOS"
1000 STOP "If you are here then something very wrong!!!"