image of READY prompt

Wang2200.org

Listing of file='uGBS' on disk='vmedia/701-2606C.wvd.zip'

# Sector 19, program filename = 'uGBS'
0010 REM uGBS
0040 DEFFN@PART"uGBS"
   : $RELEASETERMINAL
   : $BREAK!
3594 DEFFN'199
   : SELECT @PARTS0$
   : ON NGOTO 3604,3620,3640,3794,3812,3842,3884
3604 Q2=POS(" EXNDSABP"=Q$)
   : IF Q2>0THEN J0=Q2-1
   : SELECT PRINT 005(80)
   : IF J0>0AND J$(J0)>" "THEN PRINT AT(3,0,80);HEX(07);J$(J0)
   : J$()="End of file     Improper call   Record not foundDuplicate key   No
     more space   Access conflict Record busy     Invalid password"
   : RETURN
3620 Q8=MAX(POS(Q6$>" "),1)
   : Q7$,Q6$=STR(Q6$,Q8)
   : Q7=VAL(Q0$(Q9))
   : IF Q9=1THEN Q7=Q7-1
   : STR(Q6$,,Q7)=ALL(STR(Q0$(Q9),2))
   : Q8=LEN(Q7$)
   : IF STR(Q0$(Q9),3)<>"0"THEN Q7=1
   : ELSE Q7=Q7+1-Q8
   : STR(Q6$,Q7,Q8)=Q7$
   : RETURN
3640 Q6=Q9
   : SELECT PRINT 005(80)
   : IF Q7$<>" "THEN PRINT HEX(010A);Q7$;TAB(80)
3646 KEYIN Q7$,3646,3646
3650 Q7$=" "
   : Q7=Q3+Q4+2+17*(1-ABS(SGN(Q3+Q4)))
   : IF Q5>1THEN Q7=Q3+64*(1-ABS(SGN(Q3)))
   : PRINT AT(2,0,80);
   : IF Q5>-1AND Q5<3THEN 3668
   : STR(Q6$,Q7+1)=" "
   : LINPUT -STR(Q6$,,Q7)
   : GOTO 3694
3668 Q6$=ALL(8B)
   : IF Q5>1THEN 3688
   : STR(Q6$,Q3+1,1)="."
   : STR(Q6$,Q7)=" "
   : Q7$="Default = "&Q6$&"-"
   : $TRAN(Q7$,HEX(238B))R
   : PRINT AT(2,Q7+3);
   : IF Q5=0THEN PRINTUSING Q7$,Q9;
   : PRINT HEX(0D)
   : Q7$=Q6$
3688 LINPUT ?STR(Q6$,,Q7)
   : IF Q5=0AND Q6$=Q7$THEN Q7=0
   : IF Q5=1AND Q6$=Q7$THEN Q6$="0"
3694 $TRAN(Q6$,HEX(208B))R
   : IF Q7$=HEX(0F)THEN 3650
   : IF Q6$=HEX(1F)THEN 3728
   : IF Q5>1THEN 3734
   : $TRAN(STR(Q6$,POS(Q6$=".")+1)," .")R
   : $TRAN(Q7$,HEX(238B))R
   : MAT COPY -Q7$<1,16>TO -Q7$<2,17>
   : STR(Q7$,,1)="-"
   : IF Q7=0THEN CONVERT Q9TO Q6$,(Q7$)
   : CONVERT Q$(1)TO Q7
   : ERRORQ7=0
3712 CONVERT Q$(2)TO Q8
   : ERRORQ8=0
3714 CONVERT Q6$TO Q9
   : ERRORGOTO 3760
3718 IF Q3+Q4=0THEN 3724
   : IF ABS(Q9)>=10^ABS(Q3)OR INT(Q9*10^Q4)<>Q9*10^Q4THEN 3760
3724 IF Q7=0AND Q8=0THEN 3728
   : IF Q9<Q7OR Q9>Q8THEN 3760
3728 PRINT AT(1,0,240)
   : RETURN
3734 IF Q$()=" "THEN 3728
   : IF Q4=0AND Q$(1)<=Q6$AND Q$(2)>=Q6$THEN 3728
   : Q7$=HEX(07)
   : IF Q4=0THEN 3756
   : IF Q4=1THEN $TRAN(STR(Q6$,,Q3),Q$(2))R
   : Q7=LEN(Q$(1))
   : MAT SEARCHSTR(Q$(1),,Q7),=STR(Q6$,,Q3)TO STR(Q7$,,2)STEP Q3+1
   : Q9=INT((VAL(Q7$,2)+Q3)/(Q3+1))
   : IF Q9>0THEN 3728
   : Q7$=" - "&STR(Q$(1),,Q7)&HEX(07)
3756 PRINT AT(3,0,80);"Re-enter.";Q7$
   : GOTO 3650
3760 Q7$=HEX(07)
   : IF Q$()=" "THEN 3756
   : PRINT AT(3,0,80);Q7$;"Re-enter, ";Q7;"<= X <=";Q8
   : Q9=Q6
   : GOTO 3650
3770 DEFFN'126
3772 DEFFN'31
   : Q6$=HEX(1F)
   : RETURN
3778 DEFFN'15
   : Q7$=HEX(0F)
   : RETURN
3784 DEFFN'4
   : IF Q5>1THEN Q6$="END"
   : ELSE Q6$="0"
   : RETURN
3794 SELECT PRINT 005(80)
   : PRINT AT(2,0,80)
   : Q7$=" "
   : KEYIN Q7$,3802,3802
3802 LINPUT "Key 'RETURN' to resume.",?STR(Q7$,,1)
   : PRINT AT(1,0,240)
   : RETURN
3812 Q6,Q7,Q8,U9=0
   : IF POS(U9$=".")>0THEN 3834
   : $UNPACK(D=HEX(002F))U9$TO Q6,Q7,Q8
   : ERRORQ6=0
3816 IF Q6<1OR Q6>12OR Q8<1OR Q8>99THEN 3834
   : Q6$=HEX(001F1C1F1E1F1E1F1F1E1F1E1F)
   : IF MOD(Q8,4)=0THEN STR(Q6$,3,1)=HEX(1D)
   : IF Q7<1OR Q7>VAL(STR(Q6$,Q6+1,1))THEN 3834
   : ADD(STR(Q6$,,Q6),STR(Q6$,2,Q6))
   : U9=Q8*1E3+VAL(Q6$)+INT(Q6/9)*256-VAL(STR(Q6$,Q6+1,1))+Q7
   : RETURN
3834 Q6$="E"
   : RETURN
3842 U9$=" "
   : IF Q9<=0THEN 3834
   : Q9=INT(Q9)
   : Q7=INT(365.25*(INT(Q9/1E3)-1))+MOD(Q9,1E3)
   : Q9=INT(Q7/365.25)
   : Q9=Q9-1+SGN(Q7-INT(365.25*Q9))
   : U9=Q9*1E3+(Q7-INT(365.25*Q9))+1E3
   : Q9=INT(U9/1E3)
   : Q6$=HEX(001F3B5A7897B5D4F311304E6D)
   : IF MOD(Q9,4)=0THEN STR(Q6$,3)=ADDALL(HEX(01))
   : FOR Q6=1TO 12
3866 IF VAL(STR(Q6$,Q6+1,1))+INT(Q6/9)*256>=U9-Q9*1E3THEN 3870
   : NEXT Q6
3870 Q7=U9-Q9*1E3-VAL(STR(Q6$,Q6))-INT(Q6/10)*256
   : CONVERT Q6*1E6+Q7*1E3+Q9TO U9$,(########)
   : U9$=XOR HEX(00001F00001F0000)
   : RETURN
3884 FOR Q5=1TO Q6
   : PRINT
   : NEXT Q5
   : RETURN