Home » Archimedes archive » Micro User » MU 1990-08.adf » July\BBC/CALC-BA
July\BBC/CALC-BA
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Micro User » MU 1990-08.adf |
Filename: | July\BBC/CALC-BA |
Read OK: | ✔ |
File size: | 0D61 bytes |
Load address: | FFFFFB43 |
Exec address: | 6D3933B8 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Archimedes archive » Micro User » MU 1990-08.adf » July\BBC/CALC-BA
- AEW website » mu » mu_5_25_discs_Micro_User_08_05_D-MU08_05.ssd » CALC-BA
File contents
10 REM Listing III 20 REM By Glenn Marshall 30 REM (C) The Micro User 40 : 50 IF PAGE<>&2100 THEN END 60 : 70 *FX3 80 PROCbasic_variables 90 PROCmc_variables 100 CALL calculator 110 ON ERROR PROCerror 120 PROCdisplay(store$) 130 : 140 REPEAT 150 CALL calc_icon_data 160 CALL pointer 170 PROCdecode 171*save calc 4000 8000 180 UNTIL exit=on 190 : 200 CALL erase_calculator 210 *FX210,1 220 *FX3,6 230 *FX210,0 240 : 250 : 260 CHAIN "DESKTOP" 270 : 280 : 290 DEFPROCbasic_variables 300 store$="0" 310 total$="" 320 memory$="" 330 on=1 340 off=0 350 decimal=off 360 operation=on 370 digits=8 380 xpos=38 390 ypos=7 400 symbols$="+*/-^=" 410 exit=off 420 ENDPROC 430 : 440 DEFPROCdisplay(string$) 450 COLOUR 129:COLOUR 0 460 PRINT TAB(xpos-8,ypos);STRING$(18," ") 470 PRINT TAB(xpos-LEN(string$)+10,ypos);string$ 480 ENDPROC 490 : 500 DEFPROCdecode 510 LOCAL key$,loop 520 IF ?icon=255 ENDPROC 530 RESTORE 710 540 FOR loop=1 TO ?icon 550 READ key$ 560 NEXT loop 570 IF key$="E" exit=on 580 IF key$="A" PROCac 590 IF key$="C" AND operation=off THEN PROCc 600 IF key$="M" PROCmc 610 IF key$=">" PROCms 620 IF key$="<" PROCmr 630 IF key$="N" PROCinverse 640 IF key$="P" PROCpi 650 IF key$="%" PROCpercent 660 IF INSTR(symbols$,key$)<>0 PROCdo_operation(key$) 670 IF LEN(store$)>=digits ENDPROC 680 IF key$>="0" AND key$<="9" PROCnumber(key$) 690 IF key$="." AND digits<14 PROCput_decimal 700 ENDPROC 710 DATA E,%,N,^,/,P,7,8,9,*,M,4,5,6,-,<,1,2,3,+,>,0,.,=,C,A 720 : 730 DEFPROCnumber(key$) 740 IF store$="0" store$="" 750 store$=store$+key$ 760 PROCdisplay(store$) 770 operation=off 780 ENDPROC 790 : 800 DEFPROCdo_operation(key$) 810 IF operation=on total$=LEFT$(total$,LEN(total$)-1) 820 total$=total$+store$ 830 total$=STR$(EVAL(total$)) 840 PROCdisplay(total$) 850 total$=total$+key$ 860 PRINT TAB(30,ypos);key$ 870 store$="" 880 operation=on 890 decimal=off 900 digits=8 910 ENDPROC 920 : 930 DEFPROCc 940 store$="0" 950 decimal=off 960 digits=8 970 PROCdisplay(store$) 980 ENDPROC 990 : 1000 DEFPROCpercent 1010 IF total$="" OR store$="" OR operation=on THEN ENDPROC 1020 IF RIGHT$(total$,1)="*" store$=store$+"/100" 1030 IF RIGHT$(total$,1)="+" total$="("+total$:store$=store$+")/("+store$+"/100)" 1040 IF RIGHT$(total$,1)="/" store$=store$+"*100" 1050 IF RIGHT$(total$,1)="/" total$="(("+total$:total$=LEFT$(total$,(LEN(total$)-1)):store$="/"+store$+")*100)-100" 1060 PRINT TAB(30,ypos);key$ 1070 PROCdo_operation("=") 1080 ENDPROC 1090 : 1100 DEFPROCpi 1110 store$=STR$(PI) 1120 PROCdisplay(store$) 1130 operation=off 1140 decimal=on 1150 ENDPROC 1160 : 1170 DEFPROCput_decimal 1180 store$=store$+"." 1190 decimal=on 1200 digits=9 1210 PROCdisplay(store$) 1220 ENDPROC 1230 : 1240 DEFPROCac 1250 store$="0" 1260 total$="" 1270 decimal=off 1280 digits=8 1290 PROCdisplay(store$) 1300 ENDPROC 1310 : 1320 DEFPROCmc 1330 memory$="" 1340 ENDPROC 1350 : 1360 DEFPROCmr 1370 IF memory$="" PROCdisplay("0"):store$="":ENDPROC 1380 store$=memory$ 1390 PROCdisplay(store$) 1400 operation=off 1410 ENDPROC 1420 : 1430 DEFPROCms 1440 IF operation=off memory$=store$ 1450 IF operation=on mem$=LEFT$(total$,LEN(total$)-1) 1460 ENDPROC 1470 : 1480 DEFPROCinverse 1490 IF operation=on PROCinv_total 1500 IF operation=off PROCinv_store 1510 ENDPROC 1520 : 1530 DEFPROCinv_total 1540 IF total$="" PROCdisplay("0"):ENDPROC 1550 IF LEFT$(total$,1)="-" total$=MID$(total$,2,LEN(total$)):PROCdisplay(LEFT$(total$,LEN(total$)-1)):ENDPROC 1560 total$="-"+total$ 1570 PROCdisplay(LEFT$(total$,LEN(total$)-1)) 1580 ENDPROC 1590 : 1600 DEFPROCinv_store 1610 IF store$="" PROCdisplay("0"):ENDPROC 1620 IF LEFT$(store$,1)="-" store$=MID$(store$,2,LEN(store$)):PROCdisplay(store$):ENDPROC 1630 store$="-"+store$ 1640 PROCdisplay(store$) 1650 ENDPROC 1660 : 1670 DEFPROCerror 1680 IF ERR=17 THEN END 1690 store$="Error" 1700 PROCdisplay(store$) 1710 VDU 7 1720 FOR delay=0 TO 500:NEXT 1730 store$="0" 1740 total$="" 1750 operation=off 1760 decimal=off 1770 digits=7 1780 ENDPROC 1790 : 1800 DEFPROCmc_variables 1810 calculator=&1ED8 1820 calc_icon_data=&1F43 1830 erase_calculator=&1F16 1840 pointer=&1900 1850 icon=&63 1860 ENDPROC
� Listing III � By Glenn Marshall � (C) The Micro User ( : 2 � �<>&2100 � � < : F *FX3 P �basic_variables Z �mc_variables d � calculator n � � �error x �display(store$) � : � � � � calc_icon_data � � pointer � �decode �*save calc 4000 8000 � � exit=on � : � � erase_calculator � *FX210,1 � *FX3,6 � *FX210,0 � : � : � "DESKTOP" : : " ��basic_variables , store$="0" 6 total$="" @ memory$="" J on=1 T off=0 ^ decimal=off h operation=on r digits=8 | xpos=38 � ypos=7 � symbols$="+*/-^=" � exit=off � � � : � ��display(string$) � � 129:� 0 � � �xpos-8,ypos);�18," ") �( � �xpos-�(string$)+10,ypos);string$ � � � : � ��decode � � key$,loop � ?icon=255 � � �dFB � loop=1 � ?icon & � key$ 0 � loop : � key$="E" exit=on D � key$="A" �ac N$ � key$="C" � operation=off � �c X � key$="M" �mc b � key$=">" �ms l � key$="<" �mr v � key$="N" �inverse � � key$="P" �pi � � key$="%" �percent �- � �symbols$,key$)<>0 �do_operation(key$) � � �(store$)>=digits � �* � key$>="0" � key$<="9" �number(key$) �( � key$="." � digits<14 �put_decimal � � �: � E,%,N,^,/,P,7,8,9,*,M,4,5,6,-,<,1,2,3,+,>,0,.,=,C,A � : � ��number(key$) � � store$="0" store$="" � store$=store$+key$ � �display(store$) operation=off � : ��do_operation(key$) */ � operation=on total$=�total$,�(total$)-1) 4 total$=total$+store$ > total$=�(�(total$)) H �display(total$) R total$=total$+key$ \ � �30,ypos);key$ f store$="" p operation=on z decimal=off � digits=8 � � � : � ��c � store$="0" � decimal=off � digits=8 � �display(store$) � � � : � ��percent �/ � total$="" � store$="" � operation=on � � �* � �total$,1)="*" store$=store$+"/100" J � �total$,1)="+" total$="("+total$:store$=store$+")/("+store$+"/100)" * � �total$,1)="/" store$=store$+"*100" e � �total$,1)="/" total$="(("+total$:total$=�total$,(�(total$)-1)):store$="/"+store$+")*100)-100" $ � �30,ypos);key$ . �do_operation("=") 8 � B : L ��pi V store$=�(�) ` �display(store$) j operation=off t decimal=on ~ � � : � ��put_decimal � store$=store$+"." � decimal=on � digits=9 � �display(store$) � � � : � ��ac � store$="0" � total$="" � decimal=off digits=8 �display(store$) � : ( ��mc 2 memory$="" < � F : P ��mr Z+ � memory$="" �display("0"):store$="":� d store$=memory$ n �display(store$) x operation=off � � � : � ��ms �# � operation=off memory$=store$ �- � operation=on mem$=�total$,�(total$)-1) � � � : � ��inverse � � operation=on �inv_total � � operation=off �inv_store � � � : � ��inv_total � total$="" �display("0"):� R � �total$,1)="-" total$=�total$,2,�(total$)):�display(�total$,�(total$)-1)):� total$="-"+total$ "# �display(�total$,�(total$)-1)) , � 6 : @ ��inv_store J! � store$="" �display("0"):� TD � �store$,1)="-" store$=�store$,2,�(store$)):�display(store$):� ^ store$="-"+store$ h �display(store$) r � | : � ��error � � �=17 � � � store$="Error" � �display(store$) � � 7 � � delay=0 � 500:� � store$="0" � total$="" � operation=off � decimal=off � digits=7 � � � : ��mc_variables calculator=&1ED8 calc_icon_data=&1F43 & erase_calculator=&1F16 0 pointer=&1900 : icon=&63 D � �
00000000 0d 00 0a 14 20 f4 20 20 20 4c 69 73 74 69 6e 67 |.... . Listing| 00000010 20 49 49 49 0d 00 14 1a 20 f4 20 20 20 42 79 20 | III.... . By | 00000020 47 6c 65 6e 6e 20 4d 61 72 73 68 61 6c 6c 0d 00 |Glenn Marshall..| 00000030 1e 1b 20 f4 20 20 20 28 43 29 20 54 68 65 20 4d |.. . (C) The M| 00000040 69 63 72 6f 20 55 73 65 72 0d 00 28 06 20 3a 0d |icro User..(. :.| 00000050 00 32 13 20 e7 20 90 3c 3e 26 32 31 30 30 20 8c |.2. . .<>&2100 .| 00000060 20 e0 0d 00 3c 06 20 3a 0d 00 46 09 20 2a 46 58 | ...<. :..F. *FX| 00000070 33 0d 00 50 15 20 f2 62 61 73 69 63 5f 76 61 72 |3..P. .basic_var| 00000080 69 61 62 6c 65 73 0d 00 5a 12 20 f2 6d 63 5f 76 |iables..Z. .mc_v| 00000090 61 72 69 61 62 6c 65 73 0d 00 64 11 20 d6 20 63 |ariables..d. . c| 000000a0 61 6c 63 75 6c 61 74 6f 72 0d 00 6e 0f 20 ee 20 |alculator..n. . | 000000b0 85 20 f2 65 72 72 6f 72 0d 00 78 15 20 f2 64 69 |. .error..x. .di| 000000c0 73 70 6c 61 79 28 73 74 6f 72 65 24 29 0d 00 82 |splay(store$)...| 000000d0 06 20 3a 0d 00 8c 06 20 f5 0d 00 96 17 20 20 20 |. :.... ..... | 000000e0 d6 20 63 61 6c 63 5f 69 63 6f 6e 5f 64 61 74 61 |. calc_icon_data| 000000f0 0d 00 a0 10 20 20 20 d6 20 70 6f 69 6e 74 65 72 |.... . pointer| 00000100 0d 00 aa 0e 20 20 20 f2 64 65 63 6f 64 65 0d 00 |.... .decode..| 00000110 ab 18 2a 73 61 76 65 20 63 61 6c 63 20 34 30 30 |..*save calc 400| 00000120 30 20 38 30 30 30 0d 00 b4 0e 20 fd 20 65 78 69 |0 8000.... . exi| 00000130 74 3d 6f 6e 0d 00 be 06 20 3a 0d 00 c8 17 20 d6 |t=on.... :.... .| 00000140 20 65 72 61 73 65 5f 63 61 6c 63 75 6c 61 74 6f | erase_calculato| 00000150 72 0d 00 d2 0d 20 2a 46 58 32 31 30 2c 31 0d 00 |r.... *FX210,1..| 00000160 dc 0b 20 2a 46 58 33 2c 36 0d 00 e6 0d 20 2a 46 |.. *FX3,6.... *F| 00000170 58 32 31 30 2c 30 0d 00 f0 06 20 3a 0d 00 fa 06 |X210,0.... :....| 00000180 20 3a 0d 01 04 10 20 d7 20 22 44 45 53 4b 54 4f | :.... . "DESKTO| 00000190 50 22 0d 01 0e 06 20 3a 0d 01 18 06 20 3a 0d 01 |P".... :.... :..| 000001a0 22 16 20 dd f2 62 61 73 69 63 5f 76 61 72 69 61 |". ..basic_varia| 000001b0 62 6c 65 73 0d 01 2c 0f 20 73 74 6f 72 65 24 3d |bles..,. store$=| 000001c0 22 30 22 0d 01 36 0e 20 74 6f 74 61 6c 24 3d 22 |"0"..6. total$="| 000001d0 22 0d 01 40 0f 20 6d 65 6d 6f 72 79 24 3d 22 22 |"..@. memory$=""| 000001e0 0d 01 4a 09 20 6f 6e 3d 31 0d 01 54 0a 20 6f 66 |..J. on=1..T. of| 000001f0 66 3d 30 0d 01 5e 10 20 64 65 63 69 6d 61 6c 3d |f=0..^. decimal=| 00000200 6f 66 66 0d 01 68 11 20 6f 70 65 72 61 74 69 6f |off..h. operatio| 00000210 6e 3d 6f 6e 0d 01 72 0d 20 64 69 67 69 74 73 3d |n=on..r. digits=| 00000220 38 0d 01 7c 0c 20 78 70 6f 73 3d 33 38 0d 01 86 |8..|. xpos=38...| 00000230 0b 20 79 70 6f 73 3d 37 0d 01 90 16 20 73 79 6d |. ypos=7.... sym| 00000240 62 6f 6c 73 24 3d 22 2b 2a 2f 2d 5e 3d 22 0d 01 |bols$="+*/-^="..| 00000250 9a 0d 20 65 78 69 74 3d 6f 66 66 0d 01 a4 06 20 |.. exit=off.... | 00000260 e1 0d 01 ae 06 20 3a 0d 01 b8 17 20 dd f2 64 69 |..... :.... ..di| 00000270 73 70 6c 61 79 28 73 74 72 69 6e 67 24 29 0d 01 |splay(string$)..| 00000280 c2 0e 20 fb 20 31 32 39 3a fb 20 30 0d 01 cc 1d |.. . 129:. 0....| 00000290 20 f1 20 8a 78 70 6f 73 2d 38 2c 79 70 6f 73 29 | . .xpos-8,ypos)| 000002a0 3b c4 31 38 2c 22 20 22 29 0d 01 d6 28 20 f1 20 |;.18," ")...( . | 000002b0 8a 78 70 6f 73 2d a9 28 73 74 72 69 6e 67 24 29 |.xpos-.(string$)| 000002c0 2b 31 30 2c 79 70 6f 73 29 3b 73 74 72 69 6e 67 |+10,ypos);string| 000002d0 24 0d 01 e0 06 20 e1 0d 01 ea 06 20 3a 0d 01 f4 |$.... ..... :...| 000002e0 0d 20 dd f2 64 65 63 6f 64 65 0d 01 fe 10 20 ea |. ..decode.... .| 000002f0 20 6b 65 79 24 2c 6c 6f 6f 70 0d 02 08 12 20 e7 | key$,loop.... .| 00000300 20 3f 69 63 6f 6e 3d 32 35 35 20 e1 0d 02 12 0b | ?icon=255 .....| 00000310 20 f7 20 8d 64 46 42 0d 02 1c 15 20 e3 20 6c 6f | . .dFB.... . lo| 00000320 6f 70 3d 31 20 b8 20 3f 69 63 6f 6e 0d 02 26 0d |op=1 . ?icon..&.| 00000330 20 20 20 f3 20 6b 65 79 24 0d 02 30 0b 20 ed 20 | . key$..0. . | 00000340 6c 6f 6f 70 0d 02 3a 17 20 e7 20 6b 65 79 24 3d |loop..:. . key$=| 00000350 22 45 22 20 65 78 69 74 3d 6f 6e 0d 02 44 13 20 |"E" exit=on..D. | 00000360 e7 20 6b 65 79 24 3d 22 41 22 20 f2 61 63 0d 02 |. key$="A" .ac..| 00000370 4e 24 20 e7 20 6b 65 79 24 3d 22 43 22 20 80 20 |N$ . key$="C" . | 00000380 6f 70 65 72 61 74 69 6f 6e 3d 6f 66 66 20 8c 20 |operation=off . | 00000390 f2 63 0d 02 58 13 20 e7 20 6b 65 79 24 3d 22 4d |.c..X. . key$="M| 000003a0 22 20 f2 6d 63 0d 02 62 13 20 e7 20 6b 65 79 24 |" .mc..b. . key$| 000003b0 3d 22 3e 22 20 f2 6d 73 0d 02 6c 13 20 e7 20 6b |=">" .ms..l. . k| 000003c0 65 79 24 3d 22 3c 22 20 f2 6d 72 0d 02 76 18 20 |ey$="<" .mr..v. | 000003d0 e7 20 6b 65 79 24 3d 22 4e 22 20 f2 69 6e 76 65 |. key$="N" .inve| 000003e0 72 73 65 0d 02 80 13 20 e7 20 6b 65 79 24 3d 22 |rse.... . key$="| 000003f0 50 22 20 f2 70 69 0d 02 8a 18 20 e7 20 6b 65 79 |P" .pi.... . key| 00000400 24 3d 22 25 22 20 f2 70 65 72 63 65 6e 74 0d 02 |$="%" .percent..| 00000410 94 2d 20 e7 20 a7 73 79 6d 62 6f 6c 73 24 2c 6b |.- . .symbols$,k| 00000420 65 79 24 29 3c 3e 30 20 f2 64 6f 5f 6f 70 65 72 |ey$)<>0 .do_oper| 00000430 61 74 69 6f 6e 28 6b 65 79 24 29 0d 02 9e 1a 20 |ation(key$).... | 00000440 e7 20 a9 28 73 74 6f 72 65 24 29 3e 3d 64 69 67 |. .(store$)>=dig| 00000450 69 74 73 20 e1 0d 02 a8 2a 20 e7 20 6b 65 79 24 |its ....* . key$| 00000460 3e 3d 22 30 22 20 80 20 6b 65 79 24 3c 3d 22 39 |>="0" . key$<="9| 00000470 22 20 f2 6e 75 6d 62 65 72 28 6b 65 79 24 29 0d |" .number(key$).| 00000480 02 b2 28 20 e7 20 6b 65 79 24 3d 22 2e 22 20 80 |..( . key$="." .| 00000490 20 64 69 67 69 74 73 3c 31 34 20 f2 70 75 74 5f | digits<14 .put_| 000004a0 64 65 63 69 6d 61 6c 0d 02 bc 06 20 e1 0d 02 c6 |decimal.... ....| 000004b0 3a 20 dc 20 45 2c 25 2c 4e 2c 5e 2c 2f 2c 50 2c |: . E,%,N,^,/,P,| 000004c0 37 2c 38 2c 39 2c 2a 2c 4d 2c 34 2c 35 2c 36 2c |7,8,9,*,M,4,5,6,| 000004d0 2d 2c 3c 2c 31 2c 32 2c 33 2c 2b 2c 3e 2c 30 2c |-,<,1,2,3,+,>,0,| 000004e0 2e 2c 3d 2c 43 2c 41 0d 02 d0 06 20 3a 0d 02 da |.,=,C,A.... :...| 000004f0 13 20 dd f2 6e 75 6d 62 65 72 28 6b 65 79 24 29 |. ..number(key$)| 00000500 0d 02 e4 1b 20 e7 20 73 74 6f 72 65 24 3d 22 30 |.... . store$="0| 00000510 22 20 73 74 6f 72 65 24 3d 22 22 0d 02 ee 17 20 |" store$="".... | 00000520 73 74 6f 72 65 24 3d 73 74 6f 72 65 24 2b 6b 65 |store$=store$+ke| 00000530 79 24 0d 02 f8 15 20 f2 64 69 73 70 6c 61 79 28 |y$.... .display(| 00000540 73 74 6f 72 65 24 29 0d 03 02 12 20 6f 70 65 72 |store$).... oper| 00000550 61 74 69 6f 6e 3d 6f 66 66 0d 03 0c 06 20 e1 0d |ation=off.... ..| 00000560 03 16 06 20 3a 0d 03 20 19 20 dd f2 64 6f 5f 6f |... :.. . ..do_o| 00000570 70 65 72 61 74 69 6f 6e 28 6b 65 79 24 29 0d 03 |peration(key$)..| 00000580 2a 2f 20 e7 20 6f 70 65 72 61 74 69 6f 6e 3d 6f |*/ . operation=o| 00000590 6e 20 74 6f 74 61 6c 24 3d c0 74 6f 74 61 6c 24 |n total$=.total$| 000005a0 2c a9 28 74 6f 74 61 6c 24 29 2d 31 29 0d 03 34 |,.(total$)-1)..4| 000005b0 19 20 74 6f 74 61 6c 24 3d 74 6f 74 61 6c 24 2b |. total$=total$+| 000005c0 73 74 6f 72 65 24 0d 03 3e 18 20 74 6f 74 61 6c |store$..>. total| 000005d0 24 3d c3 28 a0 28 74 6f 74 61 6c 24 29 29 0d 03 |$=.(.(total$))..| 000005e0 48 15 20 f2 64 69 73 70 6c 61 79 28 74 6f 74 61 |H. .display(tota| 000005f0 6c 24 29 0d 03 52 17 20 74 6f 74 61 6c 24 3d 74 |l$)..R. total$=t| 00000600 6f 74 61 6c 24 2b 6b 65 79 24 0d 03 5c 15 20 f1 |otal$+key$..\. .| 00000610 20 8a 33 30 2c 79 70 6f 73 29 3b 6b 65 79 24 0d | .30,ypos);key$.| 00000620 03 66 0e 20 73 74 6f 72 65 24 3d 22 22 0d 03 70 |.f. store$=""..p| 00000630 11 20 6f 70 65 72 61 74 69 6f 6e 3d 6f 6e 0d 03 |. operation=on..| 00000640 7a 10 20 64 65 63 69 6d 61 6c 3d 6f 66 66 0d 03 |z. decimal=off..| 00000650 84 0d 20 64 69 67 69 74 73 3d 38 0d 03 8e 06 20 |.. digits=8.... | 00000660 e1 0d 03 98 06 20 3a 0d 03 a2 08 20 dd f2 63 0d |..... :.... ..c.| 00000670 03 ac 0f 20 73 74 6f 72 65 24 3d 22 30 22 0d 03 |... store$="0"..| 00000680 b6 10 20 64 65 63 69 6d 61 6c 3d 6f 66 66 0d 03 |.. decimal=off..| 00000690 c0 0d 20 64 69 67 69 74 73 3d 38 0d 03 ca 15 20 |.. digits=8.... | 000006a0 f2 64 69 73 70 6c 61 79 28 73 74 6f 72 65 24 29 |.display(store$)| 000006b0 0d 03 d4 06 20 e1 0d 03 de 06 20 3a 0d 03 e8 0e |.... ..... :....| 000006c0 20 dd f2 70 65 72 63 65 6e 74 0d 03 f2 2f 20 e7 | ..percent.../ .| 000006d0 20 74 6f 74 61 6c 24 3d 22 22 20 84 20 73 74 6f | total$="" . sto| 000006e0 72 65 24 3d 22 22 20 84 20 6f 70 65 72 61 74 69 |re$="" . operati| 000006f0 6f 6e 3d 6f 6e 20 8c 20 e1 0d 03 fc 2a 20 e7 20 |on=on . ....* . | 00000700 c2 74 6f 74 61 6c 24 2c 31 29 3d 22 2a 22 20 73 |.total$,1)="*" s| 00000710 74 6f 72 65 24 3d 73 74 6f 72 65 24 2b 22 2f 31 |tore$=store$+"/1| 00000720 30 30 22 0d 04 06 4a 20 e7 20 c2 74 6f 74 61 6c |00"...J . .total| 00000730 24 2c 31 29 3d 22 2b 22 20 74 6f 74 61 6c 24 3d |$,1)="+" total$=| 00000740 22 28 22 2b 74 6f 74 61 6c 24 3a 73 74 6f 72 65 |"("+total$:store| 00000750 24 3d 73 74 6f 72 65 24 2b 22 29 2f 28 22 2b 73 |$=store$+")/("+s| 00000760 74 6f 72 65 24 2b 22 2f 31 30 30 29 22 0d 04 10 |tore$+"/100)"...| 00000770 2a 20 e7 20 c2 74 6f 74 61 6c 24 2c 31 29 3d 22 |* . .total$,1)="| 00000780 2f 22 20 73 74 6f 72 65 24 3d 73 74 6f 72 65 24 |/" store$=store$| 00000790 2b 22 2a 31 30 30 22 0d 04 1a 65 20 e7 20 c2 74 |+"*100"...e . .t| 000007a0 6f 74 61 6c 24 2c 31 29 3d 22 2f 22 20 74 6f 74 |otal$,1)="/" tot| 000007b0 61 6c 24 3d 22 28 28 22 2b 74 6f 74 61 6c 24 3a |al$="(("+total$:| 000007c0 74 6f 74 61 6c 24 3d c0 74 6f 74 61 6c 24 2c 28 |total$=.total$,(| 000007d0 a9 28 74 6f 74 61 6c 24 29 2d 31 29 29 3a 73 74 |.(total$)-1)):st| 000007e0 6f 72 65 24 3d 22 2f 22 2b 73 74 6f 72 65 24 2b |ore$="/"+store$+| 000007f0 22 29 2a 31 30 30 29 2d 31 30 30 22 0d 04 24 15 |")*100)-100"..$.| 00000800 20 f1 20 8a 33 30 2c 79 70 6f 73 29 3b 6b 65 79 | . .30,ypos);key| 00000810 24 0d 04 2e 17 20 f2 64 6f 5f 6f 70 65 72 61 74 |$.... .do_operat| 00000820 69 6f 6e 28 22 3d 22 29 0d 04 38 06 20 e1 0d 04 |ion("=")..8. ...| 00000830 42 06 20 3a 0d 04 4c 09 20 dd f2 70 69 0d 04 56 |B. :..L. ..pi..V| 00000840 10 20 73 74 6f 72 65 24 3d c3 28 af 29 0d 04 60 |. store$=.(.)..`| 00000850 15 20 f2 64 69 73 70 6c 61 79 28 73 74 6f 72 65 |. .display(store| 00000860 24 29 0d 04 6a 12 20 6f 70 65 72 61 74 69 6f 6e |$)..j. operation| 00000870 3d 6f 66 66 0d 04 74 0f 20 64 65 63 69 6d 61 6c |=off..t. decimal| 00000880 3d 6f 6e 0d 04 7e 06 20 e1 0d 04 88 06 20 3a 0d |=on..~. ..... :.| 00000890 04 92 12 20 dd f2 70 75 74 5f 64 65 63 69 6d 61 |... ..put_decima| 000008a0 6c 0d 04 9c 16 20 73 74 6f 72 65 24 3d 73 74 6f |l.... store$=sto| 000008b0 72 65 24 2b 22 2e 22 0d 04 a6 0f 20 64 65 63 69 |re$+".".... deci| 000008c0 6d 61 6c 3d 6f 6e 0d 04 b0 0d 20 64 69 67 69 74 |mal=on.... digit| 000008d0 73 3d 39 0d 04 ba 15 20 f2 64 69 73 70 6c 61 79 |s=9.... .display| 000008e0 28 73 74 6f 72 65 24 29 0d 04 c4 06 20 e1 0d 04 |(store$).... ...| 000008f0 ce 06 20 3a 0d 04 d8 09 20 dd f2 61 63 0d 04 e2 |.. :.... ..ac...| 00000900 0f 20 73 74 6f 72 65 24 3d 22 30 22 0d 04 ec 0e |. store$="0"....| 00000910 20 74 6f 74 61 6c 24 3d 22 22 0d 04 f6 10 20 64 | total$="".... d| 00000920 65 63 69 6d 61 6c 3d 6f 66 66 0d 05 00 0d 20 64 |ecimal=off.... d| 00000930 69 67 69 74 73 3d 38 0d 05 0a 15 20 f2 64 69 73 |igits=8.... .dis| 00000940 70 6c 61 79 28 73 74 6f 72 65 24 29 0d 05 14 06 |play(store$)....| 00000950 20 e1 0d 05 1e 06 20 3a 0d 05 28 09 20 dd f2 6d | ..... :..(. ..m| 00000960 63 0d 05 32 0f 20 6d 65 6d 6f 72 79 24 3d 22 22 |c..2. memory$=""| 00000970 0d 05 3c 06 20 e1 0d 05 46 06 20 3a 0d 05 50 09 |..<. ...F. :..P.| 00000980 20 dd f2 6d 72 0d 05 5a 2b 20 e7 20 6d 65 6d 6f | ..mr..Z+ . memo| 00000990 72 79 24 3d 22 22 20 f2 64 69 73 70 6c 61 79 28 |ry$="" .display(| 000009a0 22 30 22 29 3a 73 74 6f 72 65 24 3d 22 22 3a e1 |"0"):store$="":.| 000009b0 0d 05 64 13 20 73 74 6f 72 65 24 3d 6d 65 6d 6f |..d. store$=memo| 000009c0 72 79 24 0d 05 6e 15 20 f2 64 69 73 70 6c 61 79 |ry$..n. .display| 000009d0 28 73 74 6f 72 65 24 29 0d 05 78 12 20 6f 70 65 |(store$)..x. ope| 000009e0 72 61 74 69 6f 6e 3d 6f 66 66 0d 05 82 06 20 e1 |ration=off.... .| 000009f0 0d 05 8c 06 20 3a 0d 05 96 09 20 dd f2 6d 73 0d |.... :.... ..ms.| 00000a00 05 a0 23 20 e7 20 6f 70 65 72 61 74 69 6f 6e 3d |..# . operation=| 00000a10 6f 66 66 20 6d 65 6d 6f 72 79 24 3d 73 74 6f 72 |off memory$=stor| 00000a20 65 24 0d 05 aa 2d 20 e7 20 6f 70 65 72 61 74 69 |e$...- . operati| 00000a30 6f 6e 3d 6f 6e 20 6d 65 6d 24 3d c0 74 6f 74 61 |on=on mem$=.tota| 00000a40 6c 24 2c a9 28 74 6f 74 61 6c 24 29 2d 31 29 0d |l$,.(total$)-1).| 00000a50 05 b4 06 20 e1 0d 05 be 06 20 3a 0d 05 c8 0e 20 |... ..... :.... | 00000a60 dd f2 69 6e 76 65 72 73 65 0d 05 d2 1e 20 e7 20 |..inverse.... . | 00000a70 6f 70 65 72 61 74 69 6f 6e 3d 6f 6e 20 f2 69 6e |operation=on .in| 00000a80 76 5f 74 6f 74 61 6c 0d 05 dc 1f 20 e7 20 6f 70 |v_total.... . op| 00000a90 65 72 61 74 69 6f 6e 3d 6f 66 66 20 f2 69 6e 76 |eration=off .inv| 00000aa0 5f 73 74 6f 72 65 0d 05 e6 06 20 e1 0d 05 f0 06 |_store.... .....| 00000ab0 20 3a 0d 05 fa 10 20 dd f2 69 6e 76 5f 74 6f 74 | :.... ..inv_tot| 00000ac0 61 6c 0d 06 04 20 20 e7 20 74 6f 74 61 6c 24 3d |al... . total$=| 00000ad0 22 22 20 f2 64 69 73 70 6c 61 79 28 22 30 22 29 |"" .display("0")| 00000ae0 3a e1 0d 06 0e 52 20 e7 20 c0 74 6f 74 61 6c 24 |:....R . .total$| 00000af0 2c 31 29 3d 22 2d 22 20 74 6f 74 61 6c 24 3d c1 |,1)="-" total$=.| 00000b00 74 6f 74 61 6c 24 2c 32 2c a9 28 74 6f 74 61 6c |total$,2,.(total| 00000b10 24 29 29 3a f2 64 69 73 70 6c 61 79 28 c0 74 6f |$)):.display(.to| 00000b20 74 61 6c 24 2c a9 28 74 6f 74 61 6c 24 29 2d 31 |tal$,.(total$)-1| 00000b30 29 29 3a e1 0d 06 18 16 20 74 6f 74 61 6c 24 3d |)):..... total$=| 00000b40 22 2d 22 2b 74 6f 74 61 6c 24 0d 06 22 23 20 f2 |"-"+total$.."# .| 00000b50 64 69 73 70 6c 61 79 28 c0 74 6f 74 61 6c 24 2c |display(.total$,| 00000b60 a9 28 74 6f 74 61 6c 24 29 2d 31 29 29 0d 06 2c |.(total$)-1))..,| 00000b70 06 20 e1 0d 06 36 06 20 3a 0d 06 40 10 20 dd f2 |. ...6. :..@. ..| 00000b80 69 6e 76 5f 73 74 6f 72 65 0d 06 4a 21 20 e7 20 |inv_store..J! . | 00000b90 73 74 6f 72 65 24 3d 22 22 20 f2 64 69 73 70 6c |store$="" .displ| 00000ba0 61 79 28 22 30 22 29 3a e1 20 0d 06 54 44 20 e7 |ay("0"):. ..TD .| 00000bb0 20 c0 73 74 6f 72 65 24 2c 31 29 3d 22 2d 22 20 | .store$,1)="-" | 00000bc0 73 74 6f 72 65 24 3d c1 73 74 6f 72 65 24 2c 32 |store$=.store$,2| 00000bd0 2c a9 28 73 74 6f 72 65 24 29 29 3a f2 64 69 73 |,.(store$)):.dis| 00000be0 70 6c 61 79 28 73 74 6f 72 65 24 29 3a e1 0d 06 |play(store$):...| 00000bf0 5e 16 20 73 74 6f 72 65 24 3d 22 2d 22 2b 73 74 |^. store$="-"+st| 00000c00 6f 72 65 24 0d 06 68 15 20 f2 64 69 73 70 6c 61 |ore$..h. .displa| 00000c10 79 28 73 74 6f 72 65 24 29 0d 06 72 06 20 e1 0d |y(store$)..r. ..| 00000c20 06 7c 06 20 3a 0d 06 86 0c 20 dd f2 65 72 72 6f |.|. :.... ..erro| 00000c30 72 0d 06 90 0f 20 e7 20 9f 3d 31 37 20 8c 20 e0 |r.... . .=17 . .| 00000c40 0d 06 9a 13 20 73 74 6f 72 65 24 3d 22 45 72 72 |.... store$="Err| 00000c50 6f 72 22 0d 06 a4 15 20 f2 64 69 73 70 6c 61 79 |or".... .display| 00000c60 28 73 74 6f 72 65 24 29 0d 06 ae 08 20 ef 20 37 |(store$).... . 7| 00000c70 0d 06 b8 16 20 e3 20 64 65 6c 61 79 3d 30 20 b8 |.... . delay=0 .| 00000c80 20 35 30 30 3a ed 0d 06 c2 0f 20 73 74 6f 72 65 | 500:..... store| 00000c90 24 3d 22 30 22 0d 06 cc 0e 20 74 6f 74 61 6c 24 |$="0".... total$| 00000ca0 3d 22 22 0d 06 d6 12 20 6f 70 65 72 61 74 69 6f |="".... operatio| 00000cb0 6e 3d 6f 66 66 0d 06 e0 10 20 64 65 63 69 6d 61 |n=off.... decima| 00000cc0 6c 3d 6f 66 66 0d 06 ea 0d 20 64 69 67 69 74 73 |l=off.... digits| 00000cd0 3d 37 0d 06 f4 06 20 e1 0d 06 fe 06 20 3a 0d 07 |=7.... ..... :..| 00000ce0 08 13 20 dd f2 6d 63 5f 76 61 72 69 61 62 6c 65 |.. ..mc_variable| 00000cf0 73 0d 07 12 15 20 63 61 6c 63 75 6c 61 74 6f 72 |s.... calculator| 00000d00 3d 26 31 45 44 38 0d 07 1c 19 20 63 61 6c 63 5f |=&1ED8.... calc_| 00000d10 69 63 6f 6e 5f 64 61 74 61 3d 26 31 46 34 33 0d |icon_data=&1F43.| 00000d20 07 26 1b 20 65 72 61 73 65 5f 63 61 6c 63 75 6c |.&. erase_calcul| 00000d30 61 74 6f 72 3d 26 31 46 31 36 0d 07 30 12 20 70 |ator=&1F16..0. p| 00000d40 6f 69 6e 74 65 72 3d 26 31 39 30 30 0d 07 3a 0d |ointer=&1900..:.| 00000d50 20 69 63 6f 6e 3d 26 36 33 0d 07 44 06 20 e1 0d | icon=&63..D. ..| 00000d60 ff |.| 00000d61