100 CLS0:PRINT@66,"MODEL MC-10 MINI-CALCULATOR"; 110 FORX=0TO30:Y=INT(RND(0)*8)+1:SET(0,X,Y):SET(63,X,Y):NEXTX 120 FORX=0TO62:Y=INT(RND(0)*8)+1:SET(X,0,Y):SET(X,30,Y):NEXTX 200 PRINT@130,"ACCUMULATOR = "; 510 OP$="=" 1000 REM MAIN PART 1010 GOSUB20000 1020 B$=OP$:GOSUB15000:ON B GOTO 2000,3000,4000,5000,6000,9000 1030 GOTO1000 2000 REM ADDITION 2010 GOSUB 10000 2020 A=A+N 2030 GOTO 1000 3000 REM SUBTRACTION 3010 GOSUB10000 3020 A=A-N:GOTO1000 4000 REM MULTIPLICATION 4010 GOSUB10000:A=A*N:GOTO1000 5000 REM DIVISION 5010 GOSUB10000:IFN<>0THENA=A/N:GOTO1000 5020 GOTO1000 6000 GOSUB10000:A=A^N:GOTO1000 9000 REM ENTER OR EQUALS 9010 GOSUB10000 9020 IFLEN(N$)>0 THENA=N 9030 GOTO 1000 10000 F=0:F1=202 10010 PRINT@200,"> -€€€€€€€€€€€€€€€€€"; 10030 IFOP$>""THENB$=OP$:GOSUB15000:IFB>0ANDB<6THENF=1:PRINT@198,OP$; 10040 N=0 10050 N$="" 10080 A$=INKEY$:IFA$=""THEN10080 10085 R=ASC(A$):SOUNDR,1 10086 IFR=8THENN$="":F=0:A=0:GOTO10000 10088 IF(VAL(A$)>0ORA$="0"ORA$=".")ANDLEN(N$)<12THENN$=N$+A$:F=1:PRINT@F1,A$;"-";:F1=F1+1:GOTO10080 10090 IF(VAL(A$)>0ORA$="0"ORA$=".")ANDLEN(N$)>=12THEN10080 10095 B$=A$:GOSUB15000:IF(B=1ORB=2)ANDF=1THENF=0:N$=A$:PRINT@F1,A$;"-";:F1=F1+1:GOTO10080 10100 R=ASC(A$)-177:IFR>0THENON R GOTO31000,32000,33000,34000,35000,36000,37000,38000,39000,40000 10110 IFB=0ANDB$<>CHR$(13)THEN10080 10115 IFB$=CHR$(13)THENA$="=" 10120 N=VAL(N$):OP$=A$:PRINT@202,"€€€€€€€€€€€€€€€€€€€€";:RETURN 15000 L=LEN(B$):FORB1=1TOL 15005 B=0 15010 L$=MID$(B$,B1,1):IFL$="+"THENB=1 15020 IFL$="-"THENB=2 15030 IFL$="*"THENB=3 15040 IFL$="/"THENB=4 15050 IFL$="^"THENB=5 15060 IFL$="="THENB=6 15100 RETURN 20000 PRINT@143,"€€€€€€€€€€€€€€€€";:PRINT@143,A;:RETURN 20200 RETURN 31000 A=INT(A):GOTO1000 32000 A=ABS(A):GOTO1000 33000 GOTO 10110 34000 GOTO 10110 35000 IFA<=0THENRETURN 35100 A=SQR(A):RETURN 36000 IFA<=0THENRETURN 36100 A=LOG(A):RETURN 37000 GOTO 10110 38000 A=SIN(A):RETURN 39000 A=COS(A):RETURN 40000 A=TAN(A):RETURN 50000 A$=INKEY$:IFA$=""THEN50000 50030 CLS0:RETURN