image of READY prompt

Wang2200.org

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

# Sector 42, program filename = 'GBSM'
0010 REM GBSM,     RELEASE 2.2, (09/10/80) THIS PROGRAM IS A COPYRIGHT PRODUCT
      OF WANG LABORATORIES INC. UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITED
0170 COM @Q8$18,@T5$10,@V$18,@T
   : COM @V4$(8)5,@Q,@Q$17,@Q9$17,@Q0$49,@T$(8)17
   : COM @Q1,@I0$5,I
   : DIM Q$(2)80,Q6$80,Q7$80,Q3,Q4,Q5,Q6,Q7,Q8,Q9,U9$8,U9
   : GOTO 4000
3638 DEFFN'100(Q$(1),Q$(2),Q3,Q4,Q7$,Q5)
   : 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
   : 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
3810 DEFFN'121(U9$)
   : 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
3840 DEFFN'123(Q9)
   : 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
4000 SELECT PRINT 005(80),LIST 005(80),CO 005(80)
   : PRINT HEX(03)
4020 GOSUB '100(HEX(00),HEX(7F),8,0,"ENTER TODAY'S DATE  (MM/DD/YY)",2)
   : GOSUB '121(Q6$)
   : IF Q6$<>"E"THEN 4070
   : PRINT AT(3,0,80);"Invalid date, Re-enter.";HEX(07)
   : GOTO 4020
4070 @Q1=U9
   : GOSUB '123(@Q1)
   : PRINT HEX(0305);U9$,@Q1
   : Q6$="Y"
   : GOSUB '100("N,Y","NnYyY ",1,1,"IS DATE OK  (Y OR N)",3)
   : IF Q6$="N"THEN 4020
   : PRINT HEX(03)
   : COM CLEAR I
   : @T=0
   : @T$(),@V4$()=ALL(FF)
   : @Q=1
   : @V$=HEX(5001A002A002A0025004A001A002A002A001)
   : @T5$=HEX(A003A01EA001A008A002)
4220 @Q8$=HEX(A0026001A003600160016001600160026002)
   : LOAD T"uGBS"
9998 DEFFN'29"Q$=";HEX(22);"GBSM";HEX(22);":SCRATCH TQ$:SAVET$()Q$";HEX(0D)