image of READY prompt

Wang2200.org

Listing of file='ISS.001U' on disk='vmedia/701-2423D.wvd.zip'

# Sector 146, program filename = 'ISS.001U'
0010 REM  ISS.001U, RELEASE 5-1, (11/07/79) - COPYRIGHT WANG LABS. INC.
0070 DIM C1$(4)64,C2$(4)64,N1$8,N2$8,E$64,Z5$64,I$2
0120 % THIS MUST BE STATEMENT 120
0140 S1$="ISS.254SISS.226SISS.217SISS.229S"
   : LOAD DC T#0,<LEN(S1$)/8>S1$10,0BEG 160
0160 IF S$(1)<>" "THEN SELECT #4<S$(1)>
   : C0=1
   : IF F9$=" "THEN 280
0200 PRINT AT(1,0,S0);"MOUNT PLATTERS AT THE INDICATED ADDRESSES"
   : GOSUB '254
   : DATA LOAD BA T#1,(0)C1$()
   : ERRORGOTO 200
0230 DATA LOAD BA T#2,(0)C2$()
   : ERRORGOTO 200
0280 GOSUB '91
   : IF N1$=HEX(0000000000000000)THEN 430
   : Q6$=" "
   : IF M1$="VERIFY"THEN 360
   : PRINT HEX(01);"COPYING FILE NUMBER";C0-1,TAB(80)
   : PRINT "INPUT FILE NAME = ";N1$,"OUTPUT FILE NAME = ";N2$;TAB(80)
   : GOSUB 960
   : IF Q6$="E"OR M1$="COPY"THEN 280
0360 PRINT HEX(01);"VERIFYING FILE NUMBER";C0-1,TAB(80)
   : PRINT "INPUT FILE NAME = ";N1$,"OUTPUT FILE NAME = ";N2$;TAB(80)
   : GOSUB 750
   : GOTO 280
0430 DEFFN'31
   : SELECT PRINT 005
   : $CLOSE#4
   : PRINT HEX(03)
   : IF Z8$<>" "THEN GOSUB '219(Z8$,3,S2," ",0)
   : COM CLEAR Z9$
0490 LOAD DC T#0,"ISS.100M"
   : ERRORGOTO 500
0500 PRINT HEX(010A);"MOUNT ISS DISK AT ADDRESS ";S$
   : GOSUB '254
   : GOTO 490
0570 E$="FILE - "&STR(N1$,1)&" - DOES NOT EXIST ON INPUT PLATTER."
   : GOTO 680
0590 E$="FILE - "&STR(N2$,1)&" - DOES NOT EXIST ON OUTPUT PLATTER."
   : GOTO 680
0610 E$="FILE - "&STR(N1$,1)&" - CAN NOT BE COPIED"
   : GOTO 680
0630 E$="FILE - "&STR(N1$,1)&" - DOES NOT VERIFY"
   : GOTO 680
0650 E$="FILE - "&STR(N1$,1)&" - DIFFERENT NUMBER OF SECTORS USED"
0680 GOSUB '92(E$)
   : Q6$="E"
   : RETURN
0750 LIMITS T#1,N1$,X1,Y1,Z1,N1
   : LIMITS T#2,N2$,X2,Y2,Z2,N2
   : IF N1<=0THEN 570
   : IF N2<=0THEN 590
   : IF Z1<>Z2THEN 650
   : Z1=Z1+(1-SGN(Z1-1))*(Y1-X1)
   : FOR I=ABS(N1-2)TO Z1-N1-1
   : DATA LOAD BA T#1,(X1+I,Y1)C1$()
   : DATA LOAD BA T#2,(X2+I,Y2)C2$()
   : IF C1$()<>C2$()THEN 630
   : NEXT I
   : RETURN
0960 LIMITS T#1,N1$,X1,Y1,Z1,N1
   : IF N1<=0THEN 570
   : Z1=Z1+(1-SGN(Z1-1))*(Y1-X1)
   : A=Z1+N+(N1-2)*3
   : IF N<0THEN A=Y1-X1+1+(N1-2)*3
   : IF A>65534THEN 610
   : LIMITS T#2,N2$,X2,Y2,Z2,N2
   : IF M2$="ADD"OR M2$="ADD/REPLACE"AND N2=0THEN 1220
   : IF M2$="REPLACE"OR M2$="ADD/REPLACE"AND N2<>0AND Z1<=Y2-X2+1THEN 1120
   : GOTO 610
1120 IF N1=2AND N2=2THEN 1290
   : SCRATCH T#2,N2$
   : IF N1=1THEN SAVE DC T#2,(N2$)N2$10,0
   : ELSE DATA SAVE DC OPEN T#2,(N2$)N2$
   : GOTO 1290
1190 SAVE DC T#2,(A)N2$10,0
   : ERRORGOTO 610
1200 GOTO 1260
1220 IF N1=1THEN 1190
   : DATA SAVE DC OPEN T#2,(A)N2$
   : ERRORGOTO 610
1260 LIMITS T#2,N2$,X2,Y2,Z2,N2
1290 Z2=SGN(Y1-X1)
   : COPY T#1,(Y1-Z2,Y1)TO T#2,(Y2-Z2)
   : COPY T#1,(X1+SGN(2-N1),X1+(Z1-2)*Z2)TO T#2,(X2+SGN(2-N1))
   : IF N1$<>Z8$OR Z9$<>"INDIRECT"THEN RETURN
   : DATA LOAD BA T#2,(Y2)C1$()
   : STR(C1$(),32+S2,1)=" "
   : DATA SAVE BA T#2,(Y2)C1$()
   : RETURN
1390 DEFFN'91
   : IF Z9$="INDIRECT"THEN 1740
   : IF Z9$="PART"THEN 1620
   : IF Z9=0THEN N1$=ALL(HEX(00))
   : IF Z9=0THEN Z9=1
1470 GOSUB '226(1,N1$)
   : N1$,N2$=R9$
   : IF N1$=HEX(0000000000000000)THEN RETURN
   : N=VAL(Z3$(1),2)-1
   : IF R<1THEN 1470
   : IF N1$<Z1$(1)THEN 1470
   : IF N1$>Z2$(1)THEN 1470
   : IF Z9$="PROGRAM"AND R=2THEN 1470
   : IF Z9$="DATA"AND R=1THEN 1470
   : C0=C0+1
   : RETURN
1620 Z8=Z8+1
   : IF Z8>Z9THEN 1710
   : N1$=Z1$(Z8)
   : N2$=Z2$(Z8)
   : N=VAL(Z3$(Z8),2)-1
   : C0=C0+1
   : RETURN
1710 N1$=ALL(HEX(00))
   : RETURN
1740 MAT REDIM Z1$(14)8,Z2$(14)8,Z3$(14)1
   : IF Z9=1THEN 1820
1770 GOSUB '217(Z8$,3,S2,-2,2,"ISS 4.0 REF"," ",0)
   : IF Q$<>" "THEN 1980
   : Z9=1
   : Z8=0
1820 IF Z8=0THEN DATA LOAD DC #3,STR(Z1$(),1),STR(Z2$(),1),STR(Z3$(),1)
   : IF END THEN 1940
   : Z8=Z8+1
   : N1$=Z1$(Z8)
   : N2$=Z2$(Z8)
   : N=VAL(Z3$(Z8))-1
   : IF Z8=14THEN Z8=0
   : IF N1$=" "THEN 1820
   : C0=C0+1
   : RETURN
1940 N1$=ALL(HEX(00))
   : GOSUB '219(Z8$,3,S2," ",0)
   : RETURN
1980 PRINT AT(1,0);"ERROR IN REFERENCE FILE OPEN = ";Q$
   : GOSUB '254
   : GOTO 1770
2040 DEFFN'92(Z5$)
   : IF S$(1)=" "THEN 2140
   : GOSUB '94
   : SELECT PRINT <S$(1)>
   : IF N3$=" "AND S$(1)<>"005"THEN PRINT HEX(0C0E);"COPY/VERIFY ERRORS";HEX(0
     A0A0D);" "
   : N3$=N2$
   : PRINT Z5$
   : SELECT PRINT 005
   : RETURN
2140 PRINT AT(1,0);Z5$;TAB(80)
   : GOSUB '254
   : RETURN
2200 DEFFN'94
2220 $OPEN 2300,#4
   : $CLOSE#4
2240 $GIO#4(010A02001212400040004000,A$)
   : IF STR(A$,8,1)=HEX(00)THEN RETURN
   : PRINT AT(1,0,S0);"SELECT PRINTER"
   : GOSUB '254
   : GOTO 2240
2300 PRINT AT(1,0,S0);"PRINTER HOGGED"
   : GOSUB '254
   : GOTO 2220