image of READY prompt

Wang2200.org

Listing of file='TBO.INST' on disk='vmedia/toolbox.wvd.zip'

# Sector 65, program filename = 'TBO.INST'
0010 REM %.TBO.INST 06/28/88 -- Installation Utility --
0040 DIM T1$(250)1,S0$(8)124,X0$3,X0$(2)3,Z0$80,X0,Z1$8
0050 DIM D$80,N$8,N1$80,D$(16)16,S$3,Q$1
0052 F=-1
   : RESTORE LINE9000
   : READ D$
0054 F=F+1
   : READ N$
   : IF N$<>" "THEN 54
   : PRINT HEX(03);
   : PRINT AT(1,40-LEN(D$)/2);D$;AT(2,35);F;"files"
0063 REM X0 contains processing mode
   : REM X0=1  => Copy Only
   : REM X0=2  => Copy & Verify
0070 REM Print Menu
   : REM Reset Restore Flag
   : Z1$="JUNK0000"
   : X1=0
   : GOSUB '50(S9$," ")
0080 ON R1+2GOTO 100,100,112
0090 STOP "screen not found ? "#
0100 REM Cancel; SHIFT Cancel
   : GOSUB '60("(terminated)",23,0,80)
0105 LOAD RUN  T"START"
   : ERRORGOSUB '60(" ",23,0,80)
   : GOTO 70
0112 IF X0$(1)<>" " THEN 113
   : REM no origin platter selected
   : S9$=HEX(F218010132F902)
   : GOTO 120
0113 IF X0$(2)<>" " THEN 130
   : REM no destination platter selected
   : S9$=HEX(F218010132F903)
0120 PRINT HEX(07);
   : GOSUB '60("Information Required",23,0,80)
   : GOTO 70
0130 GOSUB '100(X0$(1))
   : X0$(1)=S$
   : IF Q$=" "THEN 150
0140 PRINT HEX(07);
   : GOSUB '60("Invalid Device Address",23,0,80)
   : S9$=HEX(F218010132F902)
   : GOTO 70
0150 GOSUB '100(X0$(2))
   : X0$(2)=S$
   : IF Q$=" "THEN 163
0160 PRINT HEX(07);
   : GOSUB '60("Invalid Device Address",23, 0,80)
   : S9$=HEX(F218010132F903)
   : GOTO 70
0163 IF X0$(1)<>X0$(2)THEN 165
   : PRINT HEX(07);
   : GOSUB '60("Duplicate Device Address",23, 0,80)
   : S9$=HEX(F218010132F902)
   : GOTO 70
0165 REM #1 => Origin
   : SELECT #1<X0$(1)>
   : $OPEN #1
   : ERRORGOTO 140
0166 REM #2 => Destination
   : $CLOSE#1
   : SELECT #2<X0$(2)>
   : $OPEN #2
   : ERRORGOTO 160
0167 $CLOSE#2
0168 DATA LOAD BA T#1,(0,A)D$()
   : PRINT AT(9,40);"Cat. Cur.  Max."
   : PRINT AT(10,40);
   : GOSUB 182
   : GOSUB 181
0170 GOSUB '60("Start Installation ?",23,0,80)
0180 KEYIN K$
   : ON POS(HEX(8250F0)=K$)+1GOTO 180,190
   : GOSUB '60(" ",23,0,80)
   : GOTO 70
0181 DATA LOAD BA T#2,(0,A)D$()
   : PRINT AT(11,40);
0182 PRINTUSING "### ##### #####",VAL(STR(D$(),2)),VAL(STR(D$(),3),2)-1,VAL(ST
     R(D$(),5),2)-1
   : RETURN
0184 % #### ##### #####
0185 %Processing File  ### : ########   Sectors = ####
0190 REM Begin Installation
0191 GOSUB '60(" ",23,0,80)
0195 PRINT HEX(06);AT(18,1,80);
   : PRINTUSING 185;
   : PRINT HEX(05);
0205 GOSUB 790
   : IF N$=" " THEN 230
0208 LIMITS T#1,N$,A,B,C,D
   : ERRORX9=ERR
   : GOTO 540
0210 PRINT AT(22,0,80)
   : PRINT AT(23,0,80)
   : N=N+1
   : PRINT AT(18,0);HEX(020402000E06);
   : PRINTUSING 185,N,N$,B-A+1
   : PRINT HEX(0F);AT(19,0,80);STR(N1$,10)
   : GOSUB 500
0220 GOSUB 181
   : GOTO 205
0230 GOSUB '60("Installation Complete, Please Press Cancel/Edit",23,0,80)
0240 KEYIN K$
   : ON POS(HEX(50F0)=K$)+1GOTO 240
   : GOSUB '60(" ",18,0,40)
   : GOSUB '60(" ",23,0,80)
   : GOTO 70
0490 LIMITS T#1,N$,A,B,C,D
   : ERRORX9=ERR
   : GOTO 540
0500 MOVE T#1,N$TO T#2,
   : ERRORX9=ERR
   : GOTO 540
0520 IF X0=1THEN RETURN
0530 LIMITS T#2,N$,A,B,C,D
   : ERRORX9=ERR
   : GOTO 540
0535 VERIFY T#2,(A,B)E
   : ERRORX9=ERR
   : GOTO 540
0536 IF E=0THEN RETURN
   : GOTO 603
0540 REM interrogate error on initial attempt to move file
   : ON 90-X9 GOTO ,,,,,,550,571,575
   : REM on error goto,,,already catalogued, not at origin, no room on platter
   : GOTO 601
0550 REM already catalogued
   : SCRATCH T#2,N$
   : ERRORX9=ERR
   : GOTO 601
0560 PRINT AT(18,0,10);"Replacing"
   : MOVE T #1,N$TO T#2,()
   : ERRORX9=ERR
   : IF X9=81 THEN 580
   : IF X9=82 THEN 571
   : GOTO 601
0570 GOTO 520
0571 REM not at origin
   : PRINT HEX(07);
   : GOSUB '60("File not found on origin platter",22,0,80)
   : GOSUB '60("Load next disk and press RUN or Cancel/Edit to Abort Installat
     ion",23,0,80)
0572 KEYIN K$
   : ON POS(HEX(8250F0)=K$)+1GOTO 572,573
   : GOSUB '60(" ",18,0,40)
   : GOSUB '60(" ",22,0,80*2)
   : GOTO 70
0573 GOSUB '60(" ",22,0,80*2)
   : GOTO 500
0575 REM no room on destination platter
   : PRINT HEX(07);
   : GOSUB '60("No room on destination platter",22,0,80)
   : GOSUB '60("Load new disk and press RUN or Cancel/Edit to Abort Installati
     on",23,0,80)
0576 KEYIN K$
   : ON POS(HEX(8250F0)=K$)+1GOTO 576,577
   : GOSUB '60(" ",18,0,40)
   : GOSUB '60(" ",22,0,80*2)
   : GOTO 70
0577 GOSUB '60(" ",22,0,80*2)
   : GOTO 500
0580 REM insufficient room in old file space
   : SAVE T#2,(N$)Z1$0,0
   : ERRORX9=ERR
   : IF X9<>83THEN 601
   : CONVERT STR(Z1$,5)TO E
   : CONVERT E+1TO STR(Z1$,5),(####)
   : IF E>9999 THEN 601
   : GOTO 580
0590 SCRATCH T#2,Z1$
   : ERRORX9=ERR
   : GOTO 601
0600 GOTO 500
0601 RETURN CLEAR
   : PRINT HEX(07);
   : GOSUB '60("DISK ERROR -" ,22,0,80)
   : PRINT HEX(0E);X9;HEX(0F);
   : GOSUB '60("RUN - Retry          CANCEL - Exit",23,0,80)
0602 KEYIN K$
   : ON POS(HEX(8250F0)=K$)+1GOTO 602, 208
   : GOSUB '60(" ",18,0,40)
   : GOSUB '60(" ",23,0,80)
   : GOTO 70
0603 RETURN CLEAR
   : PRINT HEX(07);
   : GOSUB '60("INSTALLATION ABORTED, PLEASE CANCEL - VERIFY ERROR SECTOR",23,
     0,80)
   : PRINT HEX(0E);E;HEX(0F);
0604 KEYIN K$
   : ON POS(HEX(50F0)=K$)+1GOTO 602
   : GOSUB '60(" ",18,0,40)
   : GOSUB '60(" ",22,0,80)
   : GOSUB '60(" ",23,0,80)
   : GOTO 70
0790 REM %subroutine to get user module names
   : IF X1=0THEN RESTORE LINE9000,2
   : X1=1
   : READ N1$
   : N$=N1$
   : IF N$=" "THEN X1=0
   : RETURN
1010 DEFFN'60(Z0$,R,C,E)
   : REM Prints a message highlighted
   : PRINT HEX(020402000E06);AT(R,C,E);STR(Z0$,,LEN(Z0$));HEX(0F);
   : RETURN
3800 REM %^ -- SE.SUBS, RELEASE 6.03, (05/10/82) SCREEN SUBROUTINES --
3801 DIM T1(8),S1$,S4$80,T1$1,T2$80,T3$1,T$(10)1,T4$3,S2$124
3802 REM %ACCEPT REPEATING FIELD
3803 DEFFN'126(T1(1),T1(2),T1(3),T1(4),T1(5),T1(6),T1(7),T1(8),T1$(),S0$,S2$,T
     2,T9,T$(),S9)
   : I=20
   : GOSUB 3863
   : T2,T5=MIN(MAX(1,T2),T1(6))
   : $TRAN(T$(),HEX(202E))R
   : T$(5)="5"
   : R1=1
3804 IF S9>1THEN 3810
3805 IF T9<0THEN 3806
   : T$(5)="5"
   : T3$=S2$
   : GOSUB 3831
   : S2$=T3$
   : IF T9=0THEN 3808
   : T2=T5
3806 GOSUB 3835
   : GOSUB '130(T0,T1,T1(3),S2$,T1$(T2),S0$," ",T$(),T0$)
   : T1$(T2)=S4$
   : IF R1<5OR R1=11OR R1=14THEN 3808
3807 IF R1=5THEN T2=T2+1
   : IF R1=6THEN T2=T2-1
   : IF T2>=1AND T2<=T1(6)THEN 3806
3808 RETURN
3809 REM %^PICKTYPE (S9 =2/P1; =3/PM)
3810 SELECT PRINT 205(80)
   : PRINT HEX(0202020F);
   : $TRAN(S2$,HEX(8520))R
   : IF T9<0THEN 3814
   : T5=T2
   : FOR T2=1TO T1(6)
   : IF S9=2THEN 3811
   : T4$=STR(S2$,T2,1)&HEX(0F09)
   : GOTO 3812
3811 IF T2=T5THEN T4$=HEX(8B0E09)
   : ELSE T4$=HEX(900F09)
3812 GOSUB 3835
   : GOSUB 3824
3813 NEXT T2
   : T2=T5
   : IF T9=0THEN 3825
3814 IF S9=3THEN S0$=S0$&"DI"
   : GOSUB 3835
   : PRINT HEX(06);AT(T0-1,T1-1);
   : T9=1
   : GOSUB 3840
   : IF S9=2AND R1<11OR R1<7THEN 3825
   : IF S9=2THEN 3818
   : ON R1-8GOTO 3815,3816
   : GOTO 3819
3815 STR(S2$,T2,1)=HEX(85)
   : GOTO 3817
3816 STR(S2$,T2,1)=HEX(8B)
3817 T4$=STR(S2$,T2,1)&HEX(0F09)
   : GOSUB 3824
   : I=1
   : GOTO 3822
3818 T4$=HEX(900F09)
   : GOSUB 3824
3819 ON POS(HEX(2008)=T1$)GOTO 3820,3821
   : GOSUB 3826
   : GOTO 3823
3820 I=1
   : GOTO 3822
3821 I=-1
3822 T2=T2+I
   : T2=MOD(T2,T1(6))
   : IF T2=0THEN T2=T1(6)
   : IF T1$(T2)=" "THEN 3822
3823 IF S9=3THEN T4$=STR(S2$,T2,1)&HEX(0F09)
   : ELSE T4$=HEX(8B0E09)
   : GOSUB 3835
   : GOSUB 3824
   : GOTO 3814
3824 PRINT HEX(06);AT(T0-1,T1-1);
   : IF T1$(T2)>" "THEN PRINT HEX(0E);T4$;STR(T1$(T2));
   : ELSE PRINT TAB(T1-1+2);STR(T1$(T2));
   : RETURN
3825 $TRAN(S2$,HEX(2085))R
   : T0=T2
   : PRINT HEX(0F0202000F);
   : IF S2=2THEN RETURN
   : MAT REDIM T1$(T1(6))1
   : T1$()=S2$
   : SELECT PRINT 005(80)
   : RETURN
3826 T1$=OR HEX(20)
   : S=-1
   : IF T2=T1(6)THEN 3827
   : FOR I=T2+1TO T1(6)
   : T3$=STR(T1$(I),1,1)OR HEX(20)
   : IF T3$<>T1$THEN NEXT I
   : ELSE S=I
3827 IF T2=1OR S>0THEN 3828
   : FOR I=1TO T2-1
   : T3$=STR(T1$(I),1,1)OR HEX(20)
   : IF T3$<>T1$THEN NEXT I
   : ELSE S=I
3828 IF S>-1THEN T2=S
   : RETURN
3829 REM %^DISPLAY REPEATING FIELD
3830 DEFFN'127(T1(1),T1(2),T1(3),T1(4),T1(5),T1(6),T1(7),T1(8),T1$(),T$())
   : MAT REDIM T1$(T1(6))T1(3)
   : $TRAN(T$(),HEX(202E))R
3831 SELECT PRINT 405(80)
   : IF T$(7)=" "THEN PRINT HEX(020402000E06);
   : ELSE PRINT HEX(0F06)
   : FOR T2=1TO T1(6)
   : GOSUB 3835
   : S2$=T1$(T2)
   : IF T$(3)=" "OR S2$=" "THEN 3832
   : STR(S2$,,LEN(S2$))=ALL(8B)
3832 IF T$(5)>" "THEN $TRAN(S2$,HEX(8520))R
   : PRINT AT(T0-1,T1-1);STR(S2$,,T1(3));
   : NEXT T2
3833 SELECT PRINT 005(80)
   : RETURN
3834 REM %^GLOBAL ROUTINES
3835 IF T$(4)>" "THEN T0=INT((T2-1)/T1(8))*T1(7)+T1(1)
   : ELSE T0=MOD((T2-1),T1(4))*T1(7)+T1(1)
   : IF T$(4)>" "THEN T1=MOD((T2-1),T1(8))*T1(5)+T1(2)
   : ELSE T1=INT((T2-1)/T1(4))*T1(5)+T1(2)
   : RETURN
3837 IF T0$<>" "THEN GOSUB 3859
   : IF T>0THEN GOSUB 3861
   : RETURN
3838 REM %keystroke eval
3839 T=1
   : PRINT HEX(06070E);AT(23,0,40);" Invalid key ignored";AT(T0-1,T1-2+T9);
3840 R1=99
   : IF T$(9)=" "THEN PRINT HEX(02050F);
   : KEYIN T1$,,3844
   : IF T1$>HEX(82)THEN 3840
   : IF T$(9)>" "THEN IF POS(S0$=T1$)=0OR T1$=" "THEN 3839
   : GOSUB 3837
   : ON POS(HEX(81820D)=T1$)GOTO 3841,3842,3843
   : RETURN
3841 R1=0
   : RETURN
3842 R1=1
   : RETURN
3843 R1=5
   : RETURN
3844 GOSUB 3837
   : IF T1$>HEX(1F)THEN 3845
   : IF POS(S0$=T1$)=0THEN 3845
   : R1=4
   : S0=VAL(T1$)
   : RETURN
3845 ON POS(HEX(F01F507E7F)=T1$)GOTO 3846,3846,3847,3848,3849
   : GOTO 3850
3846 R1=0
   : RETURN
3847 R1=-1
   : RETURN
3848 R1=5
   : RETURN
3849 R1=6
   : RETURN
3850 T1$=AND HEX(0F)
   : IF POS(HEX(0203050608090A0C0D)=T1$)>0THEN 3851
   : GOTO 3839
3851 $TRAN(T1$,HEX(0B060E05))R
   : R1=VAL(T1$)
   : T2$="1PN4567EDIuewd56"
   : IF POS(S0$=STR(T2$,R1,1))>0THEN RETURN
   : GOTO 3839
3852 ON POS(HEX(2008)=T1$)GOTO 3853,3854
   : GOTO 3855
3853 IF T$(4)>" "THEN R1=12
   : ELSE R1=14
   : GOTO 3855
3854 IF T$(4)>" "THEN R1=13
   : ELSE R1=11
3855 I=T1(6)
   : IF T$(4)=" "THEN 3856
   : IF R1=14THEN T2=MOD(T2+T1(8),I)
   : IF R1=11THEN T2=MOD(T2-T1(8),I)
   : GOTO 3857
3856 IF R1=14THEN T2=MOD(T2+1,I)
   : IF R1=11THEN T2=MOD(T2-1,I)
3857 IF T2=0THEN T2=T1(6)
   : IF T2>T1(6)THEN 3852
   : RETURN
3858 %erase window
3859 FOR I=1TO VAL(STR(T0$,3))
   : PRINT HEX(06);AT(VAL(STR(T0$,1))-2+I,VAL(STR(T0$,2)),VAL(STR(T0$,4)));
   : NEXT I
   : T0$=" "
3860 %erase errmsg
3861 PRINT HEX(06);AT(23,0,79);
   : T=0
   : GOSUB 3898
   : RETURN
3862 REM %set disp attr
3863 S1$=HEX(0204)&BIN(I/10)&BIN(MOD(I,10))&HEX(0E)
   : PRINT STR(S1$,,5);
   : RETURN
3864 REM %.DISPLAY MSG
3865 DEFFN'128(S2$,T0,T1,I)
   : SELECT PRINT 005(80)
   : IF T0=99THEN PRINT HEX(07);
   : IF T1=99THEN T1=40-(LEN(S2$)/2)
   : T0=MIN(24,T0)
   : T1=MAX(1,T1)
   : GOSUB 3863
   : I=1
   : STR(S2$,LEN(S2$)+1,1)=HEX(AF)
   : T=POS(S2$=HEX(AF))
3866 PRINT HEX(06);AT(T0-1,T1-1);STR(S2$,I,T-1);
   : I=I+T
   : T=POS(STR(S2$,I)=HEX(AF))
   : T0=T0+1
   : IF T>0THEN 3866
   : PRINT HEX(020402000F06);
   : RETURN
3867 REM %^DISPLAY SCR TEXT
3868 DEFFN'129
   : SELECT PRINT 205(80)
3869 READ T0,T1,I,S4$
   : ERRORR1=-2
   : RETURN
3870 IF T0=0THEN RETURN
   : IF I=99THEN 3871
   : IF I=0THEN PRINT HEX(0F);
   : ELSE GOSUB 3863
   : PRINT HEX(06);AT(T0-1,T1-1);STR(S4$,,LEN(S4$));
   : GOTO 3869
3871 PRINT HEX(06);AT(T0-1,T1-1);BOX(VAL(S4$),VAL(STR(S4$,2)))
   : GOTO 3869
3872 REM %^TEXT ENTRY
3873 DEFFN'130(T0,T1,T5,S2$,S4$,S0$,T2$,T$(),T0$)
   : SELECT PRINT 405(80)
   : PRINT HEX(0202000F020402000E);
   : $TRAN(T$(),HEX(202E))R
   : IF T2$>" "THEN PRINT HEX(060F);AT(T0-1,T1-2-LEN(T2$));T2$;HEX(0E);
   : S2$=ALL(S2$)
   : T6=POS("H#X"=S2$)
   : PRINT HEX(0202020F);
3874 IF T$(3)>" "AND S4$>" "THEN T9=LEN(S4$)+1
   : ELSE T9=1
   : IF T$(9)=" "THEN GOSUB 3897
   : IF S0$<>" "THEN S0$=S0$&"IDEew"
   : ELSE S0$="IDEew"
3875 GOSUB 3840
   : IF T$(9)>" "THEN 3906
   : IF R1<7THEN 3900
   : IF R1=11AND POS(S0$="U")>0THEN 3900
   : IF R1=14AND POS(S0$="D")>0THEN 3900
   : IF R1<99AND T$(3)>" "THEN 3893
   : ON R1-7GOTO 3879,3884,3881,3875,3886,3890,3875
   : IF T1$=HEX(08)THEN 3890
   : IF T9<=T5THEN 3877
   : PRINT HEX(07);
   : GOTO 3875
3876 REM %char
3877 STR(S4$,T9,1)=T1$
   : $TRAN(T1$,HEX(8020))R
   : IF T$(3)=" "THEN PRINT HEX(0E);T1$;
   : ELSE PRINT HEX(0E8B);
   : GOTO 3887
3878 REM %erase
3879 IF T5<T9THEN 3875
   : STR(S4$,T9)=" "
   : GOSUB 3897
   : GOTO 3875
3880 REM %insrt
3881 IF T5<T9THEN 3875
   : MAT COPY -S4$<T9,T5-T9>TO -S4$<T9+1,T5-T9>
   : STR(S4$,T9,1)=" "
   : GOSUB 3897
   : GOTO 3875
3882 REM %del
3884 IF T5<T9THEN 3875
   : MAT COPY S4$<T9+1,T5-T9>TO S4$<T9,T5-T9>
   : STR(S4$,T5,1)=" "
   : GOSUB 3897
   : GOTO 3875
3885 REM %incrm
3886 IF T9<T5+1THEN PRINT HEX(09);
3887 IF T9<>T5THEN 3888
   : IF T$(1)=" "THEN 3888
   : R1=5
   : GOTO 3900
3888 T9=MIN(T5+1,T9+1)
   : GOTO 3875
3889 REM %decrm
3890 IF T9>1THEN 3891
   : IF T$(2)=" "THEN 3875
   : R1=6
   : GOTO 3900
3891 PRINT HEX(08);
   : T9=T9-1
   : IF T1$<>HEX(08)THEN 3875
   : STR(S4$,T9,1)=" "
   : PRINT HEX(8508);
   : GOTO 3875
3892 PRINT HEX(06070E);AT(23,0,50);T2$;
   : T=1
   : GOSUB 3898
   : GOTO 3875
3893 T2$=" Invalid key ignored"
   : GOTO 3892
3894 T2$=" Information required, please enter"
   : GOTO 3892
3895 T2$=" Invalid characters in field"
   : GOTO 3892
3896 REM %print field
3897 PRINT HEX(06);AT(T0-1,T1-1);
   : T2$=S4$
   : IF T$(3)>" "AND T2$>" "THEN STR(T2$,,LEN(T2$))=ALL(8B)
   : $TRAN(T2$,HEX(8520))R
   : PRINT STR(T2$,,T5);
3898 PRINT HEX(06);AT(T0-1,T1-2+T9);
   : RETURN
3900 IF T$(7)=" "OR T$(3)>" "THEN 3901
   : PRINT HEX(0F);
   : GOSUB 3897
3901 $TRAN(S4$,HEX(20802085))R
   : IF R1<1THEN 3903
   : IF S4$=" "AND T$(6)>" "THEN 3894
3902 REM %validation
3903 ON T6GOTO 3905,3904,3906
   : GOTO 3905
3904 IF NUM(S4$)<T1(3)THEN 3895
   : GOTO 3906
3905 IF S4$=" "THEN 3906
   : I=LEN(S4$)
   : IF VER(STR(S4$,,I),S2$)<ITHEN GOTO 3895
3906 SELECT PRINT 005(80)
   : PRINT HEX(0F0202000F);
   : RETURN
5000 DEFFN'50 (S9$,S0$)
   : REM Display and Accept ISNy0701 (VER 6.03)
5001 S4=1
   : S3=03
   : S2=0
   : S1=0
   : T0$=" "
5002 IF POS(S9$=F2)>0 THEN T0$=STR(S9$,POS(S9$=F2)+1,4)
5003 RESTORE LINE 5027
   : GOSUB '129
5004 T9=0
   : FOR T4=1TO 03
5005 ON T4GOSUB 5012,5017,5022
5006 NEXT T4
5007 T9=-1
   : IF POS(S9$=F9)>0 THEN T3=VAL(STR(S9$,POS(S9$=F9)+1))
   : ELSE T3=S4
5008 ON T3GOSUB 5012,5017,5022
5009 ON R1GOTO ,,,,5010,5011
   : RETURN
5010 T3=MOD(T3+1,S3+1)
   : IF T3=0 THEN T3=S4
   : GOTO 5008
5011 T3=MOD(T3-1,S3+1)
   : IF T3<S4 THEN GOTO 5011
   : GOTO 5008
5012 MAT REDIM T1$(002)015
   : RESTORE LINE 5012
   : FOR I=1TO 002
   : READ T1$(I)
   : NEXT I
   : GOSUB '126(7,9,1,2,1,002,1,1,T1$(),S0$," ",X0,T9," ",2)
   : X0=T0
   : RETURN
5013 DATA  "Copy Only","Copy and Verify"
5017 MAT REDIM T1$(001)003
   : GOSUB '126(11,32,3,1,4,001,1,1,X0$(1),S0$,"H",1,T9,"1",1)
   : X0$(1)=T1$()
   : RETURN
5022 MAT REDIM T1$(001)003
   : GOSUB '126(12,32,3,1,4,001,1,1,X0$(2),S0$,"H",1,T9," ",1)
   : X0$(2)=T1$()
   : RETURN
5027 DATA 01,26,00,"**** INSTALLATION UTILITY ****"
5028 DATA 05,02,00,"Select Installation Mode:"
5029 DATA 11,02,00,"Origin platter address:"
5030 DATA 12,02,00,"Destination platter address:"
5031 DATA 0,0,0," "
5200 REM %.VALIDATE ADDR
5210 DEFFN'100(S$)
   : IF S$="340"THEN 5230
   : $TRAN(S$,"AaBbCcDdEeFf")R
   : IF POS("DB3"=S$)>0AND POS("123567"=STR(S$,2))>0AND VER(STR(S$,3),"H")>0TH
     EN 5220
   : Q$="I"
   : RETURN
5220 IF POS("3B"=S$)=0OR POS("123"=STR(S$,2))=0OR STR(S$,3)<>"0"THEN 5230
   : IF STR(S$,,1)="3"THEN STR(S$,3)="1"
   : STR(S$,,1)="D"
5230 Q$=" "
   : RETURN
9000 REM %^.SYS release description
9005 DATA "Tool Box Option 10/22/86 Reset LOAD SYS TBO"
9008 REM %.DATA files
9990 DATA " "," "