10 POKE650,128:PRINT"[147]"CHR$(142);:GOSUB 1000:GOTO1300 20 T$="":GET T$:IF T$="" THEN 20 22 POKE198,. 23 IFT$="Q"THEN3000 24 IF T$="M" THEN GOTO 600 25 IF CT=0 THEN E=0 30 IF T$="=" OR T$="+" OR T$="-" OR T$="*" OR T$="/" THEN GOTO500 40 IF T$="[176]" OR T$="[185]" THEN GOTO500 50 IF T$<>"[170]" THEN 80 60 IF CT<>0 THEN GOSUB960:E=NOTE:X=E:GOSUB700:GOTO560 70 GOSUB950:AC=NOTAC:X=AC:GOSUB700:GOTO560 80 IF T$="V"GOTO850 85 IF T$="."ANDBS$="9" THEN PT$="Y":GOTO 160 90 IF T$>="0"ANDT$<= "9" AND PT$<>"Y"THENE=BS*E+VAL(T$):GOTO 160 95 IF T$>="0"ANDT$<= BS$ANDPT$="Y"THENE=E+VAL(T$)/XX:XX=XX*BS:GOTO160 97 IF T$=CHR$(8) THENBS=16:BS$="F":PRINT ""TAB(15) "[144](H)":GOTO200 98 IF T$=CHR$(4) THENBS=10:BS$="9":PRINT""TAB(15)"[144](D)":GOTO200 99 IF T$=CHR$(15) THENBS=8:BS$="7":PRINT ""TAB(15)"[144](O)":GOTO200 100 IF T$="P" THEN GOTO 900 110 IF T$>="A"ANDT$<="F"ANDBS$="F"THENE=BS*E+ASC(T$)-ASC("7"):GOTO160 120 IFT$=CHR$(133)THEN GOSUB20000:GOTO10 130 IF T$=CHR$(3) THEN AC=0:OP$=" ":PO$=OP$:GOTO 150 140 IF T$=CHR$(5) THEN GOTO 150 141 IF T$="&"THEN GOTO500 145 GOSUB 10000:GOTO20 150 E=0:PT$="":XX=BS:X=E:GOSUB700:GOTO560 160 X=E:CT=CT+1:GOSUB700:GOTO 560 200 XX=BS:IF CT<>0 THEN T=E:GOSUB1600:E=T:GOSUB700:GOTO560 210 T=AC:GOSUB1600:AC=T:GOSUB700:GOTO560 500 IF OP$="+"THEN AC=AC+E 510 IF OP$="-"THEN AC=AC-E 520 IF OP$="*"THEN AC=AC*E 530 IF OP$="/"THEN AC=AC/E 540 IF OP$=" "THEN AC=E 544 IF OP$="[185]"THEN GOSUB950:AC=AC OR E 545 IF OP$="[176]"THEN GOSUB950:AC=AC AND E 546 IF PF$<>"Y" THEN GOTO 550 547 ST$=STR$(E):GOSUB1500:PRINT#4,OP$ LEFT$(SP$,I);ST$ 548 IF T$="=" THEN ST$=STR$(AC):GOSUB1500:PRINT#4,"=" LEFT$(SP$,I);ST$ 550 OP$=T$ 555 PT$="":XX=BS:X=AC:GOSUB700:CT=0: 560 PRINT "";LEFT$(SP$,15-LEN(ST$));ST$;"[146]" 561 R=0:C=22:GOSUB800:PRINT"VISI-CALCULATOR":IFV=0 THEN 20 562 R=1:C=19:GOSUB800:PRINT"[144] AC=" " [157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";AC 563 R=2:C=19:GOSUB800:PRINT" E =" " [157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";E 564 R=3:C=19:GOSUB800:PRINT" M =" " [157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";M 565 IFOP$="[176]"THENOP$="AND" 566 IFOP$="[185]"THENOP$="OR " 567 IFOP$="="THENOP$="= " 570 R=4:C=19:GOSUB800:PRINT" OP= "OP$ 572 GOTO20 600 T$="":GET T$:IF T$="" THEN 600 610 IF T$="R" THEN AC = M:OP$=" ":CT=0:X=AC:GOSUB700:GOTO560 620 IF T$="+" THEN M=M+D:GOTO 560 630 IF T$="-" THEN M=M-D:GOTO 560 640 IF T$="*" THEN M=M*D:GOTO 560 650 IF T$="/" THEN M=M/D:GOTO 560 660 IF T$="C" THEN M = 0:GOTO 560 670 GOSUB 10000:GOTO20 700 REM CHANGE NUMBER (DEC,HEX,ETC)TO CHAR 705 D=X:IF BS=10THENST$=STR$(X):RETURN 710 ST$="" 716 IF X <0 THEN X=65536+X 720 FOR I=1TO100 730 T1=(X/BS - INT(X/BS))*BS+1 740 ST$=MID$(H$,T1,1)+ST$ 750 X=INT(X/BS) 760 IF X=0 THEN RETURN 770 NEXT 800 POKE 781,R:POKE782,C:POKE783,PEEK(783)AND254:SYS65520:RETURN 850 IF V=0 THEN V=1:GOTO 20 860 V=0:GOTO 10 900 OPEN15,4,15:CLOSE15:IFST<>.THEN20 905 IF PF$="Y"THEN PRINT"[144] [209]":PF$="":CLOSE4:GOTO20 910 IFPF$<>"Y"THENPRINT"[144][209] " 915 PF$="Y":OPEN4,4:PRINT#4,"PRINTER ON" 920 GOTO 20 950 IFAC>LPORACLPORE A,O,N:[146] USED" 2020 R=6:GOSUB800:PRINT"TO ENTER LOGICAL" 2030 R=7:GOSUB800:PRINT"OPERATOR (AND, OR, &" 2040 R=8:GOSUB800:PRINT"NOT)." 2050 R=9:GOSUB800:PRINT"[150] D,H,O:[146] USED" 2060 R=10:GOSUB800:PRINT"TO CHANGE DECIMAL," 2070 R=11:GOSUB800:PRINT"HEX, & OCTAL MODES." 2080 R=12:GOSUB800:PRINT" P:[146] TOGGLES PRINTER" 2090 R=13:GOSUB800:PRINT"ON AND OFF." 2100 R=14:GOSUB800:PRINT" V:[146] TOGGLES THE" 2110 R=15:GOSUB800:PRINT"VISUAL DISPLAY." 2120 R=16:GOSUB800:PRINT" M:[146] IS USED AS" 2130 R=17:GOSUB800:PRINT"A MEMORY FOR THE" 2140 R=18:GOSUB800:PRINT"CALCULATOR. USE ONE" 2145 R=19:GOSUB800:PRINT"OF THE FOLLOWING" 2150 R=20:GOSUB800:PRINT"AFTER PRESSING [154] M [146]:" 2160 R=21:GOSUB800:PRINT"[154]  + - * / R " 2170 R=22:GOSUB800:PRINT"F1 = ADDITIONAL HELP" 2999 RETURN 3000 PRINT"[147] [154]ARE YOU SURE YOU WANT TO QUIT? [[159]Y[154]/[159]N[154]]" 3010 GETA$:IFA$<>"Y"ANDA$<>"N"THEN3010 3020 IFA$="N"THEN10 3030 OPEN15,8,15,"R0:HELLO CONNECT=HELLO CONNECT":INPUT#15,ER:CLOSE15 3040 PRINT"[147]";:IFER<>63THENEND 3050 LOAD"HELLO CONNECT",8 10000 REM BEEP 10010 S=54272:POKES+4,.:POKES+24,15 10020 POKES+5,10:POKES+6,0:POKES,34:POKES+1,50:POKES+4,33 10040 RETURN 20000 PRINT "[147]" TAB(14) "INSTRUCTIONS" CHR$(13) 20010 PRINT"YOUR VISI-CALCULATOR CAN BE USED JUST" 20020 PRINT"LIKE A HAND CALCULATOR. IT CALCULATES" 20030 PRINT"IN DECIMAL, HEXIDECIMAL AND OCTAL. IT" 20040 PRINT"CAN ALSO PRINT AS IT CALCULATES (IF YOU" 20050 PRINT"HAVE A PRINTER)." CHR$(13) 20060 PRINT"THE CURRENT MODE AND PRINTER SWITCH IS" 20070 PRINT"DISPLAYED" CHR$(13) 20075 PRINT"FOLLOWING ARE THE KEYS USED BY VISI- CALCULATOR:" 20080 PRINT"[144]KEY" TAB(12) "USE[146]" CHR$(13) 20090 PRINT"[144]0-9,A-F - USED TO ENTER DECIMAL" 20095 PRINT" OCTAL OR HEX NUMBERS" 20100 PRINT"[144]+,-,*,/ - USED TO ENTER ARITHMETIC" 20110 PRINT" OPERATOR" 20120 PRINT"[144]A,O,N - USED TO ENTER LOGICAL" 20130 PRINT" OPERATOR (AND,OR,NOT)" 20140 PRINT"[144]C - CLEAR ACCUMULATOR" 20150 PRINT"[144]E - CLEAR ENTRY" 20200 PRINT"PRESS FOR MORE INSTRUCTIONS" 20210 GET T$:IFT$<>" "THEN 20210 20225 PRINT "[147]" TAB(10) "INSTRUCTIONS(CONT)" CHR$(13) 20226 PRINT"[144]D - DECIMAL MODE" 20230 PRINT"[144]H - HEXIDECIMAL MODE" 20240 PRINT"[144]O - OCTAL MODE"CHR$(13) 20250 PRINT"[144]P - TURNS PRINTER ON AND OFF" 20260 PRINT"[144] - HELP TOGGLE"CHR$(13) 20270 PRINT"[144]M+,M- - ADDS AND SUBTRACTS ENTRY TO" 20275 PRINT" MEMORY" 20280 PRINT"[144]M* - MULTIPLIES ENTRY BY MEMORY" 20285 PRINT" AND ADDS TO MEMORY" 20290 PRINT"[144]M/ - DIVIDES MEMORY BY ENTRY AND" 20295 PRINT" ADDS TO MEMORY" 20310 PRINT"[144]MR - RECALLS VALUE IN MEMORY" 20320 PRINT"[144]V - VISUAL DISPLAY TOGGLE" 21000 PRINT"PRESS TO RETURN TO CALCULATOR" 21010 GET T$:IFT$<>" "THEN 21010 21020 RETURN