100 PRINT "[147]":POKE53282,0:POKE53265,107:POKE646,1 110 PRINT "PERSONAL CALCULATOR[146]" 120 PRINTTAB(9);"TO SET SCREEN COLORS" 130 PRINTTAB(9);"HIT F1 FOR BLUE" 140 PRINTTAB(13);"F3 FOR WHITE" 150 PRINTTAB(13);"F5 FOR GREY" 160 PRINTTAB(13);"F7 FOR RED" 170 FOR J=0TO4 180 FOR I=1353 TO 1372 190 POKEI+J*40,PEEK(I+J*40)AND63OR64 200 NEXT:NEXT:POKE53265,91 210 GET A$:IF A$=""THEN210 220 REM F1 OPTION 230 IF A$="[133]"THEN 310 240 REM F3 OPTION 250 IF A$="[134]"THEN 320 260 REM F5 OPTION 270 IF A$=CHR$(135) THEN 330 280 REM F7 OPTION 290 IF PEEK(197)=3ANDPEEK(653)=0THEN 340 300 GOTO210 310 POKE53281,6:POKE53280,14:POKE646,14:GOTO350 320 POKE53281,1:POKE53280,6:POKE646,6:GOTO350 330 POKE53281,15:POKE53280,11:POKE646,11:GOTO350 340 POKE53281,2:POKE53280,10:POKE646,10: 350 POKE53265,27 360 PRINT"[147] HIT F1 TO ADD A+B " 370 PRINTTAB(8);"F1' TO SUBTRACT A-B " 380 PRINTTAB(8);"F2 TO MULTIPLY A*B " 390 PRINTTAB(8);"F3 TO DIVIDE A/B " 400 PRINTTAB(8);"F3' TO GET LOG " 410 PRINTTAB(8);"F4 TO GET SINE (DEGREES) " 420 PRINTTAB(8);"F5 TO GET TANGENT (DEGREES) " 430 PRINTTAB(8);"F5' TO GET HEX FROM DECIMAL " 440 PRINTTAB(8);"F6 TO GET DECIMAL FROM HEX " 450 PRINTTAB(8);"F7 TO GET BINARY FROM DECIMAL" 460 PRINTTAB(8);"F7' TO GET DECIMAL FROM BINARY" 470 PRINTTAB(8);"F8 TO QUIT " 480 X$="" 490 GET A$:IFA$=""THEN490 500 REM F1 RESPONSE 510 IFPEEK(197)=4ANDPEEK(653)=0THENGOSUB1080:PRINTA;" + ";B;" = ";A+B:GOTO1050 520 REM F1' RESPONSE 530 IFPEEK(197)=4ANDPEEK(653)=2THENGOSUB1080:PRINTA;" - ";B;" = ";A-B:GOTO1050 540 REM F2 RESPONSE 550 IFPEEK(197)=4ANDPEEK(653)=1THENGOSUB1080:PRINTA;" X ";B;" = ";A*B:GOTO1050 560 REM F3 RESPONSE 570 IFPEEK(197)=5ANDPEEK(653)=0THENGOSUB1080:PRINTA;" / ";B;" = ";A/B:GOTO1050 580 REM F3' RESPONSE 590 IFPEEK(197)<>5ORPEEK(653)<>2THENGOTO640 600 GOSUB1100:C=LOG(A):D=LOG(A)/LOG(10) 610 PRINT"LOG(10) OF ";A;" = "D 620 PRINT"LOG(E) OF ";A;" = "C:GOTO1050 630 REM F4 RESPONSE 640 IFPEEK(197)<>5ORPEEK(653)<>1THENGOTO660 650 X$="IN DEGREES":GOSUB1100:PRINT"SINE ";A;" = "SIN(A*(null)/180):GOTO1050 660 IFPEEK(197)<>6ORPEEK(653)<>0THENGOTO690 670 X$="IN DEGREES":GOSUB1100:PRINT"TANGENT ";A;" = "TAN(A*(null)/180):GOTO1050 680 REM F5' RESPONSE 690 IFPEEK(197)<>6ORPEEK(653)<>2THENGOTO750 700 X$="(65535 MAX)":GOSUB1100:B=INT(A/16^3):C=INT((A-B*16^3)/256) 710 D=INT((A-B*16^3-C*256)/16):E=INT(A-B*16^3-C*256-D*16) 720 PRINT"HEX OF";A;;" IS $"; 730 F=B:GOSUB1110:F=C:GOSUB1110:F=D:GOSUB1110:F=E:GOSUB1110:GOTO1050 740 REM F6 RESPONSE 750 IFPEEK(197)<>6ORPEEK(653)<>1THENGOTO850 760 PRINT"[147]INPUT HEX NUMBER WITH LEADING ZEROS ($FFFF MAX)":INPUT A$ 770 IF LEFT$(A$,1)="$"THEN A$=MID$(A$,2,8) 780 B$=LEFT$(A$,1):C$=MID$(A$,2,1):D$=MID$(A$,3,1):E$=RIGHT$(A$,1):G=0:Z=0 790 F$=B$:F=16^3:GOSUB1190:Z=G*F 800 F$=C$:F=16^2:GOSUB1190:Z=G*F+Z 810 F$=D$:F=16:GOSUB1190:Z=G*F+Z 820 F$=E$:F=1:GOSUB1190:Z=G*F+Z 830 PRINT"THE DECIMAL VALUE OF $";A$;" IS ";Z:GOTO1050 840 REM F7 RESPONSE 850 IFPEEK(197)<>3ORPEEK(653)<>0THENGOTO960 860 X$="(255 MAX)":GOSUB1100 870 B=INT(A/128):C=INT((A-B*128)/64):D=INT((A-B*128-C*64)/32) 880 E=INT((A-B*128-C*64-D*32)/16):F=INT((A-B*128-C*64-D*32-E*16)/8) 890 G=INT((A-B*128-C*64-D*32-E*16-F*8)/4) 900 H=INT((A-B*128-C*64-D*32-E*16-F*8-G*4)/2) 910 I=INT(A-B*128-C*64-D*32-E*16-F*8-G*4-H*2) 920 B$="%"+CHR$(B+48)+CHR$(C+48)+CHR$(D+48)+CHR$(E+48)+CHR$(F+48)+CHR$(G+48) 930 B$=B$+CHR$(H+48)+CHR$(I+48):PRINT"THE BINARY VALUE OF";A;"IS ";B$ 940 GOTO1050 950 REM F7' RESPONSE 960 IFPEEK(197)<>3ORPEEK(653)<>2THENGOTO1030 970 PRINT"[147]ENTER BINARY NUMBER (%11111111) MAX":INPUT A$ 980 IF LEFT$(A$,1)="%"THEN A$=MID$(A$,2,8) 990 Q$=A$:X=0:FOR I=7TO0STEP-1:B=VAL(LEFT$(A$,1)) 1000 X=X+B*2^I:A$=MID$(A$,2):NEXT 1010 PRINT"THE DECIMAL VALUE OF %";Q$;" IS ";X:GOTO1050 1020 REM F8 RESPONSE 1030 IFPEEK(197)=3ANDPEEK(653)=1THENPRINT"[147]BYE":END 1040 GOTO510 1050 PRINT"HIT ANY KEY TO CONTINUE" 1060 GET A$:IF A$=""THEN 1060 1070 GOTO360 1080 PRINT"[147]INPUT A":INPUT A 1090 PRINT"INPUT B":INPUTB:RETURN 1100 PRINT"[147]INPUT A ";X$ :INPUT A:RETURN 1110 IF F<10 THEN F$=CHR$(F+48) 1120 IF F=10 THEN F$="A" 1130 IF F=11 THEN F$="B" 1140 IF F=12 THEN F$="C" 1150 IF F=13 THEN F$="D" 1160 IF F=14 THEN F$="E" 1170 IF F=15 THEN F$="F" 1180 PRINT F$;:RETURN 1190 IF VAL(F$)<10 THEN G=VAL(F$) 1200 IF F$="A" THEN G=10 1210 IF F$="B" THEN G=11 1220 IF F$="C" THEN G=12 1230 IF F$="D" THEN G=13 1240 IF F$="E" THEN G=14 1250 IF F$="F" THEN G=15 1260 RETURN