image of READY prompt

Wang2200.org

Listing of file='IDS2SUB1' on disk='vmedia/701-2715B.wvd.zip'

# Sector 760, program filename = 'IDS2SUB1'
0010 DEFFNB(Q)=11*INT(MOD(VAL(STR(E2$(),134)),Q+Q)/Q)
0016 DEFFN'39(F5$,P)
   : IF VER(F5$,"IDS2")=4OR VER(F5$,"ids2")=4OR F5$="IDEAS2"THEN P=2
   : LIMITS T#P,F5$,A,M,N,Q
   : RETURN
0026 DEFFN'32(F5$)
   : V=0
0028 P=3
   : IF V=0THEN F2$=" "
   : GOSUB 16
   : F0,Q=MAX(0,INT(Q/2))
   : F=0
   : IF Q<1THEN RETURN
   : MAT REDIM E2$(24)83
   : DATA LOAD DA T#P,(A)E2$()
   : IF V<2THEN E1$=STR(E2$(),34)
   : F=FNB(128)
   : FOR M=1TO 3
   : F6$(MOD(M,3)+11)=BIN(78+FNB(2^(7-M)))
   : F0=D
   : D=N
   : N=VAL(STR(E2$(),M+134))
   : NEXT M
   : IF F=0OR F0>0THEN E0$=F5$
   : ON VGOTO 65
   : FOR M=62TO 76STEP 2
   : CONVERT STR(E2$(),M,2)TO Q
   : ERRORQ=32
0054 STR(E2$,M/2-30)=BIN(Q)
   : NEXT M
   : PRINT HEX(060F)
   : IF F=0THEN PRINT HEX(03)
   : IF FNB(2)>0THEN PRINT @E1$(2);
   : IF F=0THEN $TRAN(E2$()<153,1840>,HEX(0920))R
   : FOR M=0TO 22
   : R=153+M*80
   : C=POS(STR(E2$(),R,80)>09)
   : IF C>0THEN PRINT AT(M,C-1);STR(E2$(),R-1+C,POS(-STR(E2$(),R,80)>09)-C+1);
   : IF M=0THEN PRINT HEX(0F);
   : NEXT M
   : IF FNB(4)*F0>0THEN E8$(3)="Y"
0065 IF FNB(8)>0AND V=0THEN E$()=" "
   : IF N=0THEN 76
   : MAT REDIM E2$(N)83
   : DATA LOAD DA T#P,(A+8)E2$()
   : IF V=1OR D=0THEN 76
   : FOR M=N*83+1-D*4TO N*83-3STEP 4
   : UNPACK(##)STR(E2$(),M)TO R,C,Q,W
   : PRINT AT(R,C);BOX(Q,W);
   : NEXT M
0076 IF F=0OR F0>0OR V=1THEN 80
   : F2$=F5$
   : F5$=E0$
0078 DEFFN'33(F5$)
   : V=1
   : GOTO 28
0080 MAT REDIM E2$(250)9
   : E2$(250)=HEX(010000B89F904000)
   : F=0
   : Q=1
   : IF E8$(3)<>"Y"THEN RETURN
0081 DEFFN'36
   : FOR D=MAX(1,F)TO F0
   : Q=D
   : GOSUB 385
   : NEXT D
   : E8$(3)=" "
   : RETURN
0082 IF E6$<>HEX(0F)OR E1$=" "THEN RETURN
   : RETURN CLEAR
   : E7$=E0$
   : G=F
   : F5$=E1$
   : V=2
   : IF F6$(53)>"N"THEN E3$()=E2$()
   : E9$=" "
   : GOSUB 28
0086 PRINT HEX(06);@E1$(2);AT(23,0,80);AT(23,16);"Press EXEC to return to norm
     al operations";
   : KEYIN E6$
   : F=G
   : IF POS(HEX(0D82)=E6$)=0THEN 86
   : V=2
   : F5$=E7$
   : GOSUB 28
   : IF F2$<>" "THEN GOSUB '32(F2$)
   : IF F6$(53)>"N"THEN STR(E2$(),,1992)=E3$()
   : GOSUB '36
   : IF E8$(2)="M"THEN GOSUB 458
   : F=G
0087 DEFFN'34(F)
   : F6$(14)="Y"
   : H=1
   : Q=F
   : GOSUB 258
   : E$,E4$()=" "
   : IF P>0AND T<10THEN E$,E4$()=STR(E$(),P,L)
0095 N,E=0
   : IF FNK(F)=0THEN ON SGN(P)+1GOTO 253,250
   : STR(E$,1+LEN(E$)*SGN(POS(E$>20)))=ALL(8B)
   : E4$()=E$
   : IF FND(F)=0 THEN E$=ALL(8B)
   : Q=3
   : GOSUB 381
   : E$=E4$()
0107 PRINT @E1$(3);AT(R,C+N);HEX(05);
0108 KEYIN E6$,,416
0109 ON POS(HEX(080D82)=E6$)GOTO 195,201,201
   : IF T<8AND E6$>HEX(60)THEN AND (E6$,DF)
   : IF T>9OR POS(STR(@E$,VAL(@F$(T)),VAL(STR(@F$(T),2)))=E6$)=0THEN 191
   : IF E8$(2)="M"THEN GOSUB 125
   : W=L
   : IF T=2OR T=4AND POS("+-"=E6$)=0THEN W=W-1+SGN(POS(E$=2B)+POS(E$=2D))
   : IF T=3OR T=4AND E6$<>"."AND D>0AND POS(E$=2E)=0THEN W=W-1-D
   : O=53
0117 IF W<LAND N=WTHEN 192
   : N=N+1
   : STR(E$,N,1)=E6$
   : IF N+E=1THEN STR(E$,2)=ALL(8B)
   : IF FND(F)=0THEN E6$=HEX(8B)
   : ELSE ON NGOSUB 381
   : ELSE PRINT E6$;
   : IF N<LTHEN 107
   : IF MOD(FNV(8),4)<2THEN 201
   : N=N-1
0122 PRINT HEX(07);
   : GOTO 107
0125 IF E8$(2)="M"THEN PRINT HEX(06);AT(23,0,80);AT(R,C+N);HEX(05);
   : E8$(2)=" "
   : RETURN
0129 DEFFN'44(E$)
   : GOSUB 398
0131 DEFFN'43(Q)
   : P=0
   : E4$()=" "
   : IF Q>269OR Q<1THEN Q=250
   : IF Q<251THEN GOSUB 260
   : ELSE IF Q>250AND Q<261THEN DATA LOAD BA T#2,(FNQ(Q))E4$()
   : ELSE IF Q<269THEN GOSUB 255
   : ELSE E4$()=R7$()
   : IF P>0AND Q<251AND STR(E2$(Q),6)>=HEX(90)THEN CONVERT VAL(E$(P))TO E4$(),
     (##)
   : ELSE IF P>0THEN E4$()=STR(E$(),P,L)
   : E$=E4$()
   : GOTO 253
0149 DEFFN'55(N,A)
   : E=F
   : Q,F=N
   : GOSUB 258
   : Q=A
   : GOSUB 216
   : F=E
   : RETURN
0160 DEFFN'48(C,E4$(),L)
   : IF C<1THEN C=FN0(1)+ABS(C)
   : IF L=0THEN L=LEN(E4$())
   : STR(E0$(),C+1,L)=E4$()
   : IF C+L>FN0(1)THEN STR(E0$(),,1)=BIN(C+L)
   : RETURN
0166 DEFFN'49(L)
   : IF L=0THEN L=FN0(1)
   : E$=@E1$(2)&"Printer not ready - check printer, EXEC to continue"
   : STR(E8$(),3,2)=BIN(L-1)&F6$(11)
   : IF E8$(4)="Y"THEN E$=E$&", '31 to cancel"
0167 $GIO#1,(@E5$(),E8$())E0$()<2,L-1>;E$<,LEN(E$)>
   : E0$()=HEX(01)
   : IF E8$(5)=HEX(1F)THEN 170
   : IF E8$(5)<>" "THEN PRINT AT(23,0,80);
   : KEYIN E6$,169,169
   : RETURN
0169 IF VAL(E6$)=31THEN 170
   : RETURN
0170 IF F6$(53)<>"N"OR F6$(11)="N"THEN RETURN
   : COM CLEAR E5$
   : GOSUB '40(R3$(1))
0179 DEFFN'64(Q,B)
   : GOSUB 131
   : Q=B
   : GOTO 238
0191 O=T
0192 GOSUB 443
   : GOTO 107
0195 IF N=0THEN 122
   : STR(E$,N,1)=HEX(8B)
   : PRINT HEX(088B08);
   : GOTO 346
0201 GOSUB 125
   : E6$=" "
   : ON T-9GOTO 416
   : Q,E=F
   : B=1
   : $TRAN(E$,HEX(208B))R
   : O=0
   : IF E$=" "AND MOD(FNV(3),16)>7THEN 205
   : IF POS(E$=20)>LOR MOD(FNV(3),8)<4OR E$=" "THEN 211
   : O=23
0205 GOSUB 442
   : GOTO 95
0211 Q=0
   : E$=STR(E$,,L)
   : IF T>4OR E$=" "THEN 228
   : CONVERT E$ TO Q
   : ERRORO=24
   : ON BGOTO 205
   : GOTO 216
0213 N=POS(E$=2E)
   : IF D=0AND N>0THEN D=LEN(E$)-N
0216 Q=ROUND((Q,D)
   : E$=HEX(0000)
   : STR(E$,3,L)=ALL(23)
   : IF D>0THEN STR(E$,L-D+2,1)="."
   : IF T=2OR T>3THEN STR(E$,3,1)="+"
   : PRINTUSING TO E$,STR(E$,3),Q
   : E$=STR(E$,3)
   : N=POS(E$>20)
   : A=MOD(FNV(3),2)
   : IF STR(E$,N,1)<"0"AND A=1THEN STR(E$,,N)=STR(E$,N,1)
   : N=POS(E$>20)
   : IF A=1THEN N=1
   : $TRAN(E$<N,L-N+1>,"0  +")R
   : E$=STR(E$,N)
   : IF POS(E$=23)>0THEN H=0
0228 E4$()=" "
   : IF MOD(FNV(3),4)<2THEN E4$()=E$
   : ELSE STR(E4$(),1+L-LEN(E$))=E$
   : A=Q
   : Q=F
   : B=1
   : GOTO 248
0234 DEFFN'65(E$,E7$)
   : GOSUB 129
   : E$=E7$
0236 DEFFN'46(E$,E4$())
   : GOSUB 398
0238 DEFFN'45(Q,E4$())
   : T=7
   : E=F
   : F=Q
   : P=0
   : B=INT(F/251)
   : IF B=0THEN GOSUB 258
   : ELSE IF Q<261THEN DATA SAVE BA T#2,(FNQ(Q))E4$()
   : ELSE IF Q<269THEN GOSUB 255
   : ELSE R7$()=E4$()
0248 E$=E4$()
   : IF T<5AND B=0THEN 211
   : IF P>0THEN STR(E$(),P,L)=E4$()
   : IF F6$(53)="R"AND F<=F0THEN GOSUB '68
   : F=E
0250 IF Q>249OR R>23THEN 253
   : GOSUB 384
   : IF STR(E2$(Q),7)>HEX(3F)THEN PRINT @E1$(VAL(STR(E2$(Q),7))*.016);AT(R,C);
     STR(E$,,L);
   : ELSE IF FNK(Q)=1THEN PRINT AT(R,C,L);
0253 CONVERT E$TO Q
   : ERRORQ=0
0254 RETURN
0255 P=E(Q-260)
   : L=E0(Q-260)
   : RETURN
0258 D=MOD(FNV(4),8)
0259 T=INT(VAL(STR(E2$(Q),6))*.0625)+1
0260 R=INT(VAL(STR(E2$(Q),4))*.125)
   : C=INT(VAL(STR(E2$(Q),5))*.5)
   : P=INT(VAL(STR(E2$(Q),2),2)*.0625)
   : L=VAL(E2$(Q))
   : RETURN
0299 ON EGOTO 327
   : S=F
   : ON VAL(E6$)-3GOTO 314,,,307,,,,314,314,307,307
   : IF E6$<>HEX(21)OR FND(F)=0THEN 122
0303 Q=4-E
   : GOSUB 381
   : E=1-E
   : GOTO 107
0307 IF F6$(13)="N"THEN 122
   : IF E6$=HEX(07)THEN F=2
   : IF E6$=HEX(0E)THEN F=F-4
   : F=F-1
0311 F=MAX(0,F-1)
   : IF F=0OR FNK(F+1)>0THEN 320
   : GOTO 311
0314 IF F6$(12)="N"THEN 122
   : IF E6$=HEX(04)THEN B=F0-1
   : ELSE IF E6$=HEX(0B)THEN B=F+4
   : ELSE B=F
   : FOR F=BTO SSTEP -1
   : IF MOD(FNV(8),64)>31THEN B=F-1
   : NEXT F
   : F=B
0320 F6$(15)=E6$
   : F6$(52)="Y"
   : Q=S
   : GOSUB 385
   : IF F6$(53)>"N"THEN RETURN
   : F=F+1
   : GOTO 87
0327 IF E6$=HEX(21)THEN 303
   : ON VAL(E6$)-3GOTO 341,,,344,333,336,338,342,343,346,345,87
   : GOTO 122
0333 STR(E$,N+1)=" "
0334 GOSUB 381
   : GOTO 107
0336 STR(E$,N+1)=STR(E$,N+2)
   : GOTO 334
0338 MAT COPY -E$<N+1,80-N>TO -E$<N+2,80-N>
   : STR(E$,N+1,1)=" "
   : GOTO 334
0341 N=L
0342 N=N+4
0343 N=MIN(N+1,L-1)
   : GOTO 107
0344 N=5
0345 N=N-4
0346 N=MAX(0,N-1)
   : GOTO 107
0349 Q=F
   : GOSUB 385
   : IF POS(E3$=E6$)>0THEN 354
   : F6$(52)="Y"
   : F=F0-1
0354 F6$(15)=E6$
   : CONVERT VAL(E6$)TO E$,(##)
   : E4$()=E$
   : GOTO 253
0381 GOSUB 384
   : IF FNK(F)>0AND POS(STR(E$,,L)<8B)=0OR Q>0THEN IF R<24THEN PRINT @E1$(Q);A
     T(R,C);STR(E$,,L);
   : RETURN
0384 SELECT PRINT 205
   : PRINT HEX(06);
   : RETURN
0385 DEFFN'37(Q)
   : GOSUB 260
   : IF P=0OR STR(E2$(Q),7,1)<HEX(40)THEN E$=" "
   : ELSE E$=STR(E$(),P,L)
   : IF E$=" "AND E8$(3)="Y"THEN E$=ALL(8B)
   : GOTO 250
0398 DEFFN'54(E$)
   : IF E9$=E0$THEN 413
   : F5$=E0$
   : GOSUB '58(3,3)
   : IF Q=0THEN RETURN
   : GOSUB 969
   : E3$()=" "
   : M=N-2-A+Q
   : IF M=0THEN 413
   : N=A
0409 Q=0
   : W=MIN(8,M)*3
   : GOSUB 969
   : A=N
   : ON QGOTO 409
0413 Q=250
   : IF E$=" "THEN RETURN
   : IF VER(E$,"@TSTFLD#")=8THEN Q=VAL(STR(E$,8))+203
   : MAT SEARCHE9$(),=STR(E$,,8)TO F9$STEP 8
   : IF FNJ(0)>0THEN Q=260+FNJ(7)/8
   : MAT SEARCHE3$(),=STR(E$,,8)TO F9$STEP 8
   : IF FNJ(0)>0THEN Q=FNJ(7)/8
   : IF E$="@SYSBUF0"THEN Q=269
   : RETURN
0416 GOSUB 82
   : GOSUB 125
   : $TRAN(E6$,HEX(21F0227E237F637C0C4C0D4D09490A4A))R
   : E8$=E2$&E3$
   : IF F6$(53)>"N"AND E6$<>" "AND E=0AND T<10AND POS(E8$=E6$)>0THEN 349
   : GOSUB 82
   : IF E6$=HEX(1F)AND F6$(11)="Y"THEN GOSUB '40(R3$(1))
   : IF T<10THEN 299
   : F6$(15)=E6$
   : Q=VAL(E6$)
   : IF P=0THEN RETURN
   : E$(P)=E6$
   : CONVERT QTO E$,(##)
   : RETURN
0418 DEFFN'40(E8$)
   : IF E8$<>R3$(1)THEN 420
   : FOR V=1TO LEN(STR(E1$()))/56
   : IF F1$(V)=" "THEN 419
   : GOSUB 489
   : IF T<2OR T>4THEN 419
   : D=FN5(9)
   : X=0
   : IF T=4THEN GOSUB 637
   : ELSE GOSUB '67(V,STR(F1$(V),FNP(0)),0)
   : STR(E3$(),C-1,1)=HEX(FF)
   : GOSUB 766
   : D=FN5(9)
   : $CLOSE#D
0419 F1$(V)=" "
   : NEXT V
0420 GOSUB '39(E8$,4)
   : IF Q=1THEN MAT REDIM E3$(249)8,E0$(249)1
   : IF Q=1THEN LOAD DA T#P,(A)1000,
   : O=11
0952 %
0969 %