image of READY prompt

Wang2200.org

Listing of file='QSUBS02' on disk='vmedia/701-2739G.wvd.zip'

# Sector 665, program filename = 'QSUBS02'
3801 DEFFN'162
3836 PRINT HEX(06)
   : Q2$=" "
   : Q9(1)=LEN(STR(Q8$()))/LEN(STR(Q8$(1)))
   : ON POS("12345"=STR(Q1$,2))GOTO 3838,3838,3839,3876,3883
   : PRINT AT(0,30);"BAD SCREEN CALL"
   : Q2$=HEX(82)
   : RETURN
3838 Q9(4)=Q1
   : Q9(5)=0
3839 IF Q1$="02"THEN 3852
   : PRINT HEX(0306)
   : IF Q6(1,1)=0THEN 3846
   : FOR Q9=1TO Q6(1,1)
   : READ Q9$
   : ERRORQ9=Q6(1,1)
   : GOTO 3845
3843 IF STR(Q9$,1,1)<>"*"THEN 3844
   : CONVERT STR(Q9$,2,2)TO Q9(4)
   : PRINT AT(Q6(1,2),Q9(4));STR(Q9$,4,LEN(Q9$))
   : Q6(1,2)=Q6(1,2)+1
   : Q9(4)=1
   : GOTO 3845
3844 PRINT AT(Q6(1,2),39-LEN(Q9$)/2);Q9$
   : Q6(1,2)=Q6(1,2)+1
3845 NEXT Q9
3846 IF Q6(2,1)=0THEN 3851
   : FOR Q9=1TO Q6(2,1)
   : READ Q9$
   : ERRORQ9=Q6(2,1)
   : GOTO 3850
3848 IF POS(Q9$="*")<>0THEN 3849
   : PRINT AT(Q6(2,2),Q6(3,1)-POS(Q9$="-"));Q9$;
   : Q6(2,2)=Q6(2,2)+1
   : GOTO 3850
3849 IF POS(Q9$="*")=1THEN PRINT AT(Q6(2,2),Q6(3,2)-POS(Q9$="-")+1);STR(Q9$,2,
     LEN(Q9$)-1)
   : ELSE PRINT AT(Q6(2,2),Q6(3,1)-POS(Q9$="-"));STR(Q9$,1,POS(Q9$="*")-1);AT(
     Q6(2,2),Q6(3,2)-(POS(-Q9$="-")-POS(Q9$="*")));STR(Q9$,POS(Q9$="*")+1,(LEN
     (Q9$)-POS(Q9$="*")))
   : Q6(2,2)=Q6(2,2)+1
3850 NEXT Q9
3851 IF STR(Q1$,2,1)="3"THEN 3876
   : IF Q=0THEN RETURN
3852 FOR Q9=1TO Q
   : PRINT AT(Q5(Q9,1),Q5(Q9,2));HEX(2E20);STR(Q7$(Q9),3)
   : NEXT Q9
   : IF STR(Q1$,,1)="0"THEN 3855
   : Q2$=HEX(82)
   : RETURN
3855 PRINT HEX(020402000F)
   : GOTO 3858
3856 Q9(4)=MOD(Q9(4)-2*POS(HEX(08)=Q2$),Q)+1
3857 PRINT AT(Q5(Q9(5),1),Q5(Q9(5),2));HEX(0F2E20);STR(Q7$(Q9(5)),3)
3858 PRINT AT(Q5(Q9(4),1),Q5(Q9(4),2));HEX(0E8B20);STR(Q7$(Q9(4)),3);HEX(0F);A
     T(Q5(Q9(4),1),Q5(Q9(4),2));
   : Q9(5)=Q9(4)
3860 KEYIN Q2$,,3868
   : PRINT HEX(06);AT(22,0,80);AT(23,0,80)
   : ON POS(HEX(0D2008827E)=STR(Q2$,,1))GOTO 3867,3856,3856,3867
   : Q9=Q9(4)
3865 Q9(4)=MOD(Q9(4),Q)+1
   : IF Q9=Q9(4)THEN GOTO 3860
   : IF STR(Q7$(Q9(4)),3,1)=STR(Q2$,,1)AND Q9(5)<>Q9(4)THEN 3857
   : Q6$=STR(Q2$,,1)AND HEX(DF)
   : IF STR(Q7$(Q9(4)),3,1)=STR(Q6$,,1)AND Q9(5)<>Q9(4)THEN 3857
   : Q6$=STR(Q2$,,1)OR HEX(20)
   : IF STR(Q7$(Q9(4)),3,1)=STR(Q6$,,1)AND Q9(5)<>Q9(4)THEN 3857
   : GOTO 3865
3867 Q1=Q9(4)
   : RETURN
3868 PRINT HEX(06);AT(22,0,80);AT(23,0,80)
   : IF STR(Q2$,,1)=HEX(42)THEN Q2$=HEX(02)
   : IF STR(Q2$,,1)=HEX(43)THEN Q2$=HEX(03)
   : FOR Q9=1TO Q9(1)
   : IF Q8$(Q9)=STR(Q2$,,1)THEN 3867
   : NEXT Q9
   : IF STR(Q2$,,1)=HEX(7E)OR STR(Q2$,,1)=HEX(05)OR STR(Q2$,,1)=HEX(45)THEN 38
     56
   : IF STR(Q2$,,1)<>HEX(7F)AND STR(Q2$,,1)<>HEX(06)AND STR(Q2$,,1)<>HEX(46)TH
     EN 3874
   : STR(Q2$,,1)=HEX(08)
   : GOTO 3856
3874 PRINT AT(23,5);HEX(07200400000E);"Invalid Key";HEX(0F0C)
   : GOTO 3860
3876 Q1=1
   : IF Q=0THEN 3883
   : FOR Q9=1TO Q
   : READ Q9$
   : ERRORSTOP "NOT ENOUGH DATA STATEMENTS FOR PROMPTS"#
3879 Q=LEN(Q9$)+Q7(Q9,2)
   : PRINT AT(Q7(Q9,1),Q7(Q9,2));Q9$;AT(Q7(Q9,1),Q,79-Q);
   : NEXT Q9
   : IF Q7(Q9,1)>=22THEN 3883
   : SELECT PRINT 005(80)
   : PRINT AT(Q7(Q9,1)+1,1,(Q7-Q7(Q9,1)-1)*80)
   : SELECT PRINT 205(80)
3883 IF Q5=0THEN RETURN
   : Q9$=HEX(8520)
   : $TRAN(Q5$(),Q9$)R
   : PRINT HEX(020402000E)
   : FOR Q9=1TO Q5
   : PRINT AT(Q5(Q9,1),Q5(Q9,2));
   : IF Q5(Q9,3)>0THEN PRINT STR(Q5$(Q9),,Q5(Q9,3));
   : ELSE GOSUB 3915
   : NEXT Q9
   : IF STR(Q1$,,1)="0"THEN 3888
   : Q2$=HEX(82)
   : GOTO 3911
3888 Q=0
3889 Q9=Q
3890 IF Q9>79THEN Q9=79
   : IF Q9>(ABS(Q5(Q1,3))-1)THEN Q9=0
   : PRINT AT(Q5(Q1,1),Q5(Q1,2)+Q9);HEX(02050F);
   : KEYIN Q2$,,3916
   : PRINT HEX(06);AT(22,0,80);AT(23,0,80)
   : ON POS(HEX(200D0882)=STR(Q2$,1,1))GOTO 3896,3907,3908,3911
   : IF STR(Q2$,1,1)<>HEX(FF)THEN 3897
   : KEYIN Q2$
   : KEYIN Q2$
   : IF STR(Q2$,1,1)<HEX(A0)THEN 3890
   : GOTO 3898
3896 Q2$=HEX(85)
   : GOTO 3898
3897 IF STR(Q2$,1,1)>HEX(7F)THEN 3890
3898 IF Q9>(ABS(Q5(Q1,3))-1)THEN Q9=0
   : PRINT AT(Q5(Q1,1),Q5(Q1,2)+Q9);
   : IF Q5(Q1,3)>0THEN PRINT STR(Q2$,1,1);
   : ELSE PRINT HEX(8B)
   : STR(Q5$(Q1),Q9+1,1)=STR(Q2$,1,1)
3900 Q9=Q9+1
   : IF Q9>ABS(Q5(Q1,3)-1)THEN 3901
   : ELSE GOTO 3890
3901 Q1=Q1+1
   : Q9=0
   : IF Q1<=Q5THEN 3888
   : Q1=1
   : Q9=0
   : GOTO 3888
3907 STR(Q2$,,1)=HEX(0D)
   : GOTO 3901
3908 STR(Q2$,,1)=HEX(08)
   : Q9=Q9-1
   : IF Q9>=0THEN 3909
   : Q1=Q1-1
   : IF Q1<1THEN Q1=Q5
   : Q=ABS(Q5(Q1,3))-1
   : Q9=Q
3909 STR(Q5$(Q1),Q9+1,1)=HEX(85)
   : PRINT AT(Q5(Q1,1),Q5(Q1,2)+Q9);
   : IF Q5(Q1,3)>0THEN PRINT HEX(85);
   : GOTO 3890
3910 STR(Q2$,,1)=HEX(08)
   : Q9=Q9-1
   : GOTO 3930
3911 PRINT HEX(020400000E)
   : Q9$=HEX(2085)
   : $TRAN(Q5$(),Q9$)R
   : FOR Q9=1TO Q5
   : PRINT AT(Q5(Q9,1),Q5(Q9,2));
   : IF Q5(Q9,3)>0THEN PRINT STR(Q5$(Q9),1,Q5(Q9,3))
   : ELSE GOSUB 3915
   : NEXT Q9
   : RETURN
3915 FOR Q8=1TO ABS(Q5(Q9,3))
   : PRINT HEX(8B);
   : NEXT Q8
   : RETURN
3916 PRINT HEX(06);AT(22,0,80);AT(23,0,80)
   : IF STR(Q2$,,1)=HEX(42)THEN Q2$=HEX(02)
   : IF STR(Q2$,,1)=HEX(43)THEN Q2$=HEX(03)
   : FOR Q=1TO Q9(1)
   : IF Q8$(Q)=STR(Q2$,1,1)THEN 3911
   : ELSE NEXT Q
   : ON VAL(STR(Q2$,1,1))GOTO ,,,,3927,3930,,,,,,3900,3926
   : IF STR(Q2$,1,1)=HEX(7E)THEN 3907
   : IF STR(Q2$,1,1)=HEX(7F)THEN 3910
3922 IF STR(Q2$,1,1)=HEX(46)OR STR(Q2$,1,1)=HEX(56)THEN 3930
   : ELSE IF STR(Q2$,1,1)=HEX(45)OR STR(Q2$,1,1)=HEX(55)THEN 3927
   : ELSE IF STR(Q2$,1,1)=HEX(4D)OR STR(Q2$,1,1)=HEX(5D)THEN 3926
   : ELSE IF STR(Q2$,1,1)=HEX(4C)OR STR(Q2$,1,1)=HEX(5C)THEN 3900
   : PRINT AT(23,5);HEX(07200400000E);"Invalid Key";HEX(0F0C)
   : GOTO 3890
3926 Q9=Q9-1
   : IF Q9>=0THEN 3890
   : Q1=Q1-1
   : IF Q1<1THEN Q1=Q5
   : Q=ABS(Q5(Q1,3))-1
   : Q9=Q
   : GOTO 3890
3927 Q=0
   : Q1=Q1+1
   : IF Q1>Q5THEN Q1=1
3928 IF Q>ABS(Q5(Q1,3))-1THEN Q=ABS(Q5(Q1,3))-1
   : GOTO 3889
3930 Q9=0
   : Q=Q9
   : Q1=Q1-1
   : IF Q1<1THEN Q1=Q5
   : GOTO 3928