image of READY prompt

Wang2200.org

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

# Sector 379, program filename = 'ISS.040U'
0010 REM  ISS.040U, RELEASE 5-1, (11/07/79) - COPYRIGHT WANG LABS. INC.
0049 COM Z9$8,Z8$8,Z1$(25)8,Z2$(25)8,Z3$(25)1,Z8,Z9
   : DIM E$36
   : DIM Z$(3)83,Z$16,Z1$3
   : DIM M$8,D$32
0120 %   THIS MUST BE STATEMENT 120
0220 S1$="ISS.200SISS.254SISS.050S"
   : LOAD DC T#0,<LEN(S1$)/8>S1$10,0BEG 250
0250 GOSUB '50(4)
   : $UNPACK(F=HEX(A003A003A0085003))Z$(Z1)TO I1$,I2$,M$,E
   : GOSUB '60("DECOMPRESSION",4)
   : GOSUB '61("INPUT ADDRESS",I1$,"80","DISK")
   : GOSUB '61("MODE",M$,"81"," ")
   : GOSUB '61("OUTPUT ADDRESS",I2$,"82","DISK")
   : GOSUB '62("EXTRA SECTORS",E,"84")
0350 GOSUB '70
   : SELECT #1<I1$>
   : SELECT #2<I2$>
   : GOSUB '42(M$,E)
0420 LOAD DC T#0,"ISS.041U"
   : ERRORGOTO 430
0430 PRINT AT(1,0);"RE-MOUNT ISS DISK AT ";S$;TAB(S0)
   : GOSUB '254
   : F9$="M"
   : GOTO 420
0480 DEFFN'15
   : RETURN CLEAR ALL
0500 PRINT AT(1,0,3*S0);
   : GOTO 350
0560 DEFFN'80
   : GOSUB '40("ENTER INPUT ADDRESS")
   : Z$,I1$=Z1$
   : RETURN
0610 DEFFN'82
   : GOSUB '40("ENTER OUTPUT ADDRESS")
   : Z$,I2$=Z1$
   : RETURN
0660 DEFFN'81
   : PRINT AT(14,0);"1 - ALL    3 - RANGE"
   : PRINT "2 - PART   4 - INDIRECT";
   : GOSUB '200("1","4",1,0,"ENTER MODE",1)
   : D$="ALL     PART    RANGE   INDIRECT"
   : Z$,M$=STR(D$,Q9*8-7,8)
   : PRINT AT(14,0,2*S0)
   : RETURN
0790 DEFFN'84
   : GOSUB '200("1","250",3,0,"ENTER NUMBER OF EXTRA SECTORS",1)
   : Z,E=Q9
   : RETURN
0860 DEFFN'51
   : $PACK(F=HEX(A003A003A0085003))Z$(Z1)FROMI1$,I2$,M$,E
   : RETURN
0920 DEFFN'42(Z9$,Z8)
   : Z9=0
   : Z8$=" "
   : IF Z9$="ALL"THEN 1050
   : IF Z9$="RANGE"THEN 1120
   : E$="MOUNT INPUT AND OUTPUT DISKS"
0980 PRINT AT(1,0,S0);E$
   : GOSUB '254
   : IF Z9$="INDIRECT"THEN 1220
   : IF Z9$="PART"THEN 1330
   : STOP "ERROR"
1050 IF I1$=I2$THEN GOSUB '113(1,"MODE AND ADDRESSES INCOMPATIBLE")
   : Z1$(1)=ALL(HEX(00))
   : Z2$(1)=ALL(HEX(FF))
   : Z3$(1)=BIN(Z8+1)
   : F9$="M"
   : RETURN
1120 IF I1$=I2$THEN GOSUB '113(1,"MODE AND ADDRESSES INCOMPATIBLE")
1130 GOSUB '200(" "," ",8,0,"ENTER BEGINNING LIMIT FOR RANGE",2)
   : Z1$(1)=Q6$
   : GOSUB '200(" "," ",8,0,"ENTER ENDING LIMIT FOR RANGE",2)
   : Z2$(1)=Q6$
   : Z3$(1)=BIN(Z8+1)
   : IF Z1$(1)>=Z2$(1)THEN GOSUB '113(2,"INVALID RANGE")
   : F9$="M"
   : RETURN
1220 SELECT #3<I1$>
1240 GOSUB '200(" "," ",8,0,"ENTER REFERENCE FILE NAME",2)
   : Z8$=Q6$
   : LIMITS T#1,Z8$,Z,Z,Z,Z
   : ERRORE$="MOUNT INPUT DISK"
   : PRINT HEX(07)
   : GOTO 980
1280 IF Z<1THEN GOSUB '113(3,"NOT AN ACTIVE FILE ON INPUT DISK")
   : IF Z=1THEN GOSUB '113(3,"WRONG FILE TYPE")
   : RETURN
1330 PRINT AT(1,0);"ENTER FILE NAMES    (0 = END)"
   : PRINT AT(11,20);"INPUT        OUTPUT      SECTORS"
   : GOTO 1460
1370 Y1=12
   : FOR Y=MAX(1,Z9-1)TO Z9
   : PRINT AT(Y1,15);TAB(S0);
   : PRINT AT(Y1,15);Y;" ";STR(Z1$(Y),1);"     ";STR(Z2$(Y),1);"       ";
   : IF VAL(Z3$(Y))-1=-1THEN PRINT AT(Y1,48);
   : PRINT VAL(Z3$(Y))-1;TAB(10)
   : Y1=Y1+1
   : NEXT Y
1460 Y1=MIN(12+Z9,14)
   : PRINT AT(Y1,0,63);
1490 PRINT AT(Y1,15);Z9+1;
   : LINPUT ?Z1$(Z9+1)
   : PRINT AT(3,0,50)
   : IF Z1$(Z9+1)="0"THEN 1820
   : LIMITS T#1,Z1$(Z9+1),Y,Y,Y,Y
   : ERRORE$="MOUNT INPUT DISK"
   : PRINT HEX(07)
   : GOTO 980
1540 IF Y<1THEN GOSUB '113(4,"NOT AN ACTIVE FILE ON INPUT DISK")
   : IF Y=2THEN GOSUB '113(4,"NOT A PROGRAM FILE")
   : IF Z2$(Z9+1)=" "THEN Z2$(Z9+1)=Z1$(Z9+1)
1580 PRINT AT(Y1,31);
   : LINPUT Z2$(Z9+1)
   : PRINT AT(3,0,50)
   : IF Z2$(Z9+1)="0"THEN GOSUB '113(5,"INVALID NAME")
   : LIMITS T#2,Z2$(Z9+1),Y,Y,Y,Y
   : ERRORE$="MOUNT OUTPUT DISK"
   : PRINT HEX(07)
   : GOTO 980
1630 IF Y<>0THEN GOSUB '113(4,"FILE ALREADY EXISTS ON OUTPUT DISK")
   : MAT SEARCHSTR(Z2$(),1,Z9*8+1),=STR(Z2$(Z9+1),1)TO Z$STEP 8
   : IF STR(Z$,1,2)<>HEX(0000)THEN GOSUB '113(4,"DUPLICATE OUTPUT FILE NAME")
   : Z$=" "
   : IF Z3$(Z9+1)<>" "THEN Y=VAL(Z3$(Z9+1))-1
   : ELSE Y=Z8
   : $PACK(D=HEX(0020))Z$FROMY
   : IF STR(Z$,1,1)=" "THEN Z$=STR(Z$,2)
1700 PRINT AT(Y1,47);
   : LINPUT STR(Z$,1,3)
   : IF NUM(STR(Z$,1,LEN(Z$)))<>LEN(Z$)THEN GOSUB '113(6,"INVALID ENTRY")
   : CONVERT Z$TO Z
   : IF Z<-1OR Z>250THEN GOSUB '113(6,"1<= X <=250 (ddd.)")
   : Z3$(Z9+1)=BIN(Z+1)
   : PRINT AT(3,0,50)
   : Z9=Z9+1
   : IF Z9<25THEN 1370
1820 PRINT AT(11,0,5*S0)
   : PRINT AT(1,0,2*S0)
   : Z8=0
   : RETURN
1880 DEFFN'113(Y,E$)
   : RETURN CLEAR
1900 PRINT HEX(07);AT(3,0,50);"RE-ENTER, ";E$
   : ON YGOTO 350,1130,1240,1490,1580,1700
1950 DEFFN'31
   : PRINT HEX(03)
   : COM CLEAR Z9$
1980 LOAD DC T#0,"ISS.100M"
   : ERRORGOTO 1990
1990 PRINT HEX(010A);"MOUNT ISS DISK AT ADDRESS ";S$
   : GOSUB '254
   : GOTO 1980