0 'CALC.BA author unknown note: someone entered this date: 10/09/83 1 'CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 5 PRINT"CALCULATOR PROGRAM" 10 SCREEN 0,0 20 CLS:PRINT" 1) HEX TO DEC CONV 2) DEC TO HEX CONV" 30 PRINT" 3) OCTAL TO HEX,DEC 4) ALARM" 40 PRINT" 5) ADD HEX 6) SUB HEX" 50 PRINT" 7) CALCULATOR" 52 PRINT" 8) PRINTER SET UP 9) SPARE" 54 PRINT"10) ADD ROWS & COL. 11) MENU" 94 CLEAR 95 INPUTQ:IFQ=11THENMENU 96 PT$="ENTER '0' TO EXIT" 100 ON Q GOSUB 1000,2000,3000,4000,5000,5000,6800,10000,9000,12000,11000,12000 120 GOTO20 1000 CLS:PRINT"HEX TO DEC" 1005 PRINTPT$ 1006 X=102 1010 INPUT "WHAT IS HEX #";H$ 1014 IF H$="0"THENRETURN 1016 GOSUB1018:PRINT@X,"DEC # =";T:X=X+40:IF X>260THEN X=262 1017 GOTO1010 1018 T=0 1020 FORI=1TOLEN(H$) 1040 T=T+(ASC(MID$(H$,I,1))-48)*16^(LEN(H$)-I) 1045 IFMID$(H$,I,1)>":"THEN T=T-7*16^(LEN(H$)-I) 1050 NEXTI 1060 RETURN 2000 CLS:PRINT"DEC TO HEX" 2001 PRINT PT$ 2002 X=102 2005 DIMA$(15) 2006 GOSUB2500 2010 INPUT"DEC #";A:IFA=0THENRETURN 2020 GOSUB2030:GOTO2010 2030 B=4096:G=256:L=16 2035 C=A/B 2037 D=INT(C):E=D*B:F=A-E:H=F/G 2040 I=INT(H):J=I*G:K=F-J:M=K/L 2050 N=INT(M):O=N*L:P=K-O 2060 Q1=INT(P) 2062 PRINT@X,"HEX#= ";A$(D);A$(I);A$(N);A$(Q1):X=X+40:IFX>260THENX=262 2063 RETURN 2500 FORI=48TO63 2510 A$(I-48)=CHR$(I) 2520 IFI>57THENA$(I-48)=CHR$(I+7) 2530 NEXTI:RETURN 3000 CLS:PRINTPT$:DIMA$(15):GOSUB2500 3003 INPUT"OCTAL #";O$ 3005 A=0:IFO$="0"THENRETURN 3010 FOR I=1TOLEN(O$) 3020 A=VAL(MID$(O$,I,1))*8^(LEN(O$)-I)+A 3030 NEXTI:PRINT "DEC#= ";A;:X=POS(0)+40*CSRLIN:GOSUB2030:GOTO3003 4000 PRINT "ALARM ":PRINT"THE TIME IS ";TIME$ 4010 INPUT "ENTER ALARM TIME ";A$ 4020 ON TIME$=A$ GOSUB 4500 4030 TIME$ ON 4035 IFT$<>TIME$THEN PRINT TIME$:T$=TIME$ 4036 IF F$="E"THENRETURN 4040 GOTO 4030 4500 FORI=1TO30 4510 SOUND(I*100),10 4520 NEXTI:F$="E":RETURN 5000 DIMA$(55):GOSUB2500 5005 CLS:IFQ=5THEN PRINT"ADD HEX #"ELSE PRINT"SUBTRACT HEX" 5007 INPUT"1ST #";H$:GOSUB1018:N1=T 5010 INPUT"2ND #";H$ 5020 GOSUB1018: 5023 IFQ=5THENA=N1+TELSE A=N1-T 5026 PRINT"TOTAL DEC=";A;:X=POS(0)+120:GOSUB2030:INPUT "AGAIN";Y$:IF Y$="N"THENRETURN 5030 GOTO5005 6000 RETURN 6800 DIME$(30):DEFINT I,J,K,L 6801 CLS:ON ERROR GOTO 6970 6802 PRINT"CALC - ENTER ONLY CAPITOLS OF OPERATOR" 6803 PRINT"YOU MAY ENTER '=' FOR '+'" 6804 PI=3.14159265358979323846:ME$="MEMORY=" 6805 PRINT" + - * / ^ SQRT. SIN COS TAN EXIT":PRINT"STORE RECALL M+ M- CM" 6810 PRINT@160,STRING$(40," ");:PRINT@160,"1ST #?";A;" ";:PRINT@167,; 6811 GOSUB 6812:GOTO6825 6812 FORI=1TO30:E$(I)=INPUT$(1):IFASC(E$(I))=8 THENI=I-2:A$=LEFT$(A$,LEN(A$)-1):PRINT@167,A$;" ";:PRINT@(167+I),;:NEXTI 6813 IF(ASC(E$(I))<48ORASC(E$(I))>57)ANDE$(I)<>"."ANDE$(I)<>"E" THENRETURN 6815 A$=A$+E$(I):PRINT@167,A$; 6816 IFA$="E"THENRETURN 6818 NEXTI:RETURN 6825 IFA$="E"THENRETURN 6826 IFA$<>""THENA=VAL(A$):A$="" 6827 T$=E$(I) 6828 ' PRINT@160,"1ST #?";A;STRING$(15," ") 6830 PRINT@185,;:PRINT"OPERATOR? ";T$; 6831 IFT$="M"ORT$="C"THENPRINT@195,T$;:T1$=INPUT$(1):T$=T$+T1$:PRINT@280,STRING$(39," "); 6835 IFA$="E"THENRETURN 6836 IFT$="="THENT$="+" 6839 IFT$="M="THENT$="M+" 6840 PRINT@185,"OPERATOR? ";T$;" " 6841 D=ASC(T$) 6842 IFT$="^"THEN6847 6843 PRINT@240,STRING$(40," "); 6844 PRINT@200,STRING$(40," "); 6845 IFD>47THEN6870 6847 PRINT@200,;:INPUT"2ND #";B 6849 PRINT A;T$;B;"="; 6850 ON D-41 GOSUB 6910,6920,6830,6940,6950,6960 6860 IFT$="^"THENPRINT A;T$;B;"=";A^B:A=A^B:GOTO6810 6870 IFT$="S"THENB=SIN(A/180*PI) 6872 IFT$="CO"THENB=COS(A/180*PI) 6874 IFT$="Q"THENB=SQR(A) 6875 IFT$="T"THENB=TAN(A/180*PI) 6877 IFT$="O"THEN M=A:PRINT@280,ME$;M;STRING$(20," ");:GOTO6810 6880 IFT$="R"THEN A=M:GOTO6810 6882 IFT$="M+"THEN M=M+A:PRINT@280,ME$;M;:GOTO6810 6884 IFT$="CM"THENM=0:PRINT@280,ME$;M;:GOTO6810 6885 IFT$="M-"THENM=M-A:PRINT@280,ME$;M;:GOTO6810 6887 IFD>48THENPRINTT$;"(";A;")=";B;:A=B 6900 GOTO6810 6910 PRINTA*B:A=A*B:RETURN 6920 PRINTA+B:A=A+B 6930 RETURN 6940 PRINTA-B:A=A-B 6950 RETURN 6960 PRINTA/B:A=A/B:RETURN 6970 PRINT"ERROR": RESUME 6801 7000 RETURN 8000 RETURN 9000 RETURN 10000 PRINT"MICROLINE 83A PRINTER SETUP" 10010 PRINT"1) WIDE 2) NARROW PAPER":INPUTW1:PRINT 10020 PRINT"1) CONDENSED 2) NORMAL" 10030 PRINT"3) BOLD 4) WIDE" 10040 INPUTP1:PRINT 10050 PRINT"1) 6 3) 8 LINES/INCH":INPUTV1 10060 IF V1=2ORP1>4ORV1>3ORW1>2THENPRINT"NON VALID INPUT":GOTO 10010 10070 LPRINTCHR$(27);CHR$(64+W1);CHR$(30); 10080 K$=CHR$(30):IFP1=1THENK$=CHR$(29) 10090 IFP1=3THEN K$=CHR$(29)+CHR$(31) 10100 IFP1=4 THENK$=CHR$(31) 10110 LPRINTK$;CHR$(27);CHR$(53+V1); 10120 RETURN 12000 CLS 12006 PRINT"ADD-ENTER EACH NUMBER THEN 'ENTER'" 12007 PRINT"ENTER 'E' TO STOP A ROW ENTRY AND 'T' TO GET TOTAL" 12010 DIM A(20,15),T(15),E(15),TT(20) 12015 FORO=0TO15 12020 FORI=0TO20 12030 CA$="0":INPUTCA$:IF CA$<>"E"ANDCA$<>"T"THEN A(I,O)=VAL(CA$) 12035 TT(I)=TT(I)+A(I,O) 12040 IFCA$="E"THENE(O)=I:PRINT:GOTO12055 12041 IF CA$="T"THEN E(O)=I:GOTO 12057 12050 NEXTI 12055 NEXTO 12056 ' 12057 FORR=0TO O 12058 IF TR