HPADÿÿ0|]JY3�nŸ3�ƒºŸ#öj3�3�ØÂ7¸Ÿ~DProgrammer's calculatorçEY‡j’rfunction _frombase(n); begin return frombase(n,field "base"); end; function _tobase(n); begin return tobase(n,field "base"); end; handler cancel; begin go to pad "calc"; end; handler keypress(k); begin get whichitem("1,2,3,4,5,6,7,8,9,0,BIGMINUS,-,CTRL+BACKSPACE,BACKSPACE,+,BIGPLUS,*,SLASH,/,=,PERIOD,a,A,b,B,c,C,d,D,e,E,f,F",key(k)); if it is 0 then pass; get item it of "20,21,22,10,11,12,5,6,7,15,13,13,9,48,3,3,8,18,18,14,16,40,40,41,41,42,42,43,43,44,44,36,36"; set the focus to button id it; send "select" to button id it; end; handler help; begin go to page id 15 of pad "calc.hlp"; end;€‚ž’€‚Êþæ ïC$ _frombase87XXbase&##  frombase;:9*$ _tobase87XXbase&##  tobase;:9*7calc *871,2,3,4,5,6,7,8,9,0,BIGMINUS,-,CTRL+BACKSPACE,BACKSPACE,+,BIGPLUS,*,SLASH,/,=,PERIOD,a,A,b,B,c,C,d,D,e,E,f,FX   W:  whichitem;:� XXX0 +/20,21,22,10,11,12,5,6,7,15,13,13,9,48,3,3,8,18,18,14,16,40,40,41,41,42,42,43,43,44,44,36,36X � XXXX O hselectX O ‰*7calc.hlp“15’*8MZ8 ÿÿÑA9,=(= ==ðéÌnX6òëécM)-137:N`hzF(U‹ìƒ~ ~ŠF7ëŠF0‹ÀÿÀŽÂ&ˆ]ÂU‹ìƒì¡Ä™;Vw3r;Fw,¡Ä™RPÿvÿvšŒ(RPèÔÿ¡Ä™RPÿvÿvšî(RPë�ÿvÿvè�ÿ‹å]Â�U‹ìƒìƒ~t¸‹å]Ë��F‰FøŒVúƒFøÄ^ø&ÿwþ&ÿwüš‰Fü‰VþƒFøÄ^ø&ÿwþ&ÿwüš £Ä¸p£ÀŒÂÿvþÿvüèMÿÄÀ&ƸpPšRPšë�U‹ì€~A| ŠF˜-7]ŠF˜-0]Â�U‹ìƒì V+À‰Fú‰FøÇFü‰Fþÿvÿvš(ƒÄ‹ðë1�ÿvþÿvüÄ^&Š*äPè¤ÿ™RPšX(FøVú¡Ä™RP�FüPš0(‹ÆN Àuɉvö‹Fø‹Vú^‹å]Â�U‹ìƒì ƒ~t¸‹å]Ë��F‰FôŒVöƒFôÄ^ô&‹Gü&‹Wþ‰Fø‰VúƒFô‹^ô&ÿwþ&ÿwüš £ÄÄ^ø&ÿw&ÿ7è8ÿ‰Fü‰VþRPšRPšë Ë�Ë�° é„° é° éz° éu°épì=Jd="¸=ŽØºF´ Í!¸LÍ!VW¸=ŽØ¾h¿hè#_^šôËVW¸=ŽØ¾h¿hè _^šöË;÷sƒï‹ EtòÿëîÃ2ä.ÿ.#U‹ì‹×Ä~3À¹ÿÿò®÷ÑI‘‹ú]ËU‹ìÄ^ÿv ÿv &ÿw&ÿ7šX(Ä^&‰&‰W‹å]ÊU‹ì‹F‹^ Ø‹^ u ‹F÷ã‹å]Ê÷ã‹È‹F÷f È‹F÷ãÑ‹å]ÊU‹ìSV‹F Àu‹N ‹F3Ò÷ñ‹Ø‹F÷ñ‹Óë8‹È‹^ ‹V‹FÑéÑÛÑêÑØ Éuô÷ó‹ð÷f ‘‹F ÷æÑr ;Vwr;FvN3Ò–^[‹å]ÊU‹ìS‹F Àu‹N ‹F3Ò÷ñ‹F÷ñ‹Â3ÒëE‹È‹^ ‹V‹FÑéÑÛÑêÑØ Éuô÷ó‹È÷f ‘÷f Ñr ;Vwr ;Fv+F V +FV÷Ú÷؃Ú[‹å]ÊToBaseFromBase =z=ˆFFFFFFFFThis program requires HyperPAD. $JMZJ ÿÿø�)ÕΖ!#'*>PXjU‹ìƒìWVÇFúƒ~téÄ�F‰FîŒVðƒFîÄ^î&Ä_ü&‹&‹W‰Fü‰VþƒFîÄ^î&Ä_ü&‹&‹W‰Fê‰Vì‹vò‹Fü‹Vþ‰Fö‰VøÄ~üë�&€=,tG&€=uó‰~üŒFþ‹ß&Š*ä‹ð öt&ˆ'ÿvìÿvêÿvøÿvöšƒÄ‰Fô ötÄ^ü&Æ,ƒ~ôu‰vòë ötÿFüÿFúë’ÇFúëè�ÿvúš RPš¸^_‹å]ËË�Ë�´/Í!ŒÂ‹ÃËU‹ì´ÅVÍ!]ÊU‹ì´N¹1ÅVÍ!r3Àë¸]Ê´OÍ!r3Àë¸˰ ét° éoì:T¸ŽØº8´ Í!¸LÍ!VW¸ŽØ¾Z¿Zè#_^šàËVW¸ŽØ¾Z¿Zè _^šâË;÷sƒï‹ EtòÿëîÃ2ä.ÿ.U‹ì‹ÖÅv Ä^°ÿ Àt-¬&Š'C:àtó,A<É€á ÁA†à,A<É€á ÁA:ÄtÓÀÿ˜‹ò]ËwhichitemFFFFFFFFThis program requires HyperPAD. $BASE× WITEM P0:Tape‡±‡±‡±‡±‡‡‡‡‡‡‡‡‡‡‡¡pÿ‡ˆžpÿ‡P@  display!!pžpÿU+;3Handler Select; Begin operator 1; End; Òž;71  operator;:*Há  „ž!+w Buttonl š 1 È _ 1oopÿO'7/Handler Select; Begin addnum 7; End;Òž777  addnum;:*H  ŒžÂ7w Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€O'7/Handler Select; Begin addnum 8; End;Òž778  addnum;:*H  ˆž]8w Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€O'7/Handler Select; Begin addnum 9; End;Òž779  addnum;:*H  �žø9w Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€U+;3Handler Select; Begin operator 3; End; Òž;73  operator;:*HáÌž“xw Buttonl š 1 È _ 1oopÿû�­¥Handler Select; Begin global state,n1,savedop; put 0 into state; put empty into n1; put empty into savedop; put empty into field "display"; End; Òž­70�stateXXX��n1XXX��savedopXXX��Xdisplay&X X*Há „ž4CLRButtonl š 1 È _ 1GGpÿO'7/Handler Select; Begin addnum 4; End;Òž774  addnum;:*H  ¬ž{4w Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€O'7/Handler Select; Begin addnum 5; End;Òž775  addnum;:*H ´ž5w Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€O'7/Handler Select; Begin addnum 6; End;Òž776  addnum;:*H ¸ž±6w Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€U+;3Handler Select; Begin operator 2; End; Òž;72  operator;:*Há ÈžL-w Buttonl š 1 È _ 1oopÿU+;3Handler Select; Begin operator 6; End; Òž;76  operator;:*Háôží=w Buttonl š 1 È _ 1oopÿO'7/Handler Select; Begin addnum 0; End;Òž770  addnum;:*H¨žŽ0w Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€U+;3Handler Select; Begin operator 4; End; Òž;74  operator;:*HáØž)öw Buttonl š 1 È _ 1oopÿ‘FVNHandler Select; Begin unary -_frombase(field "display"),"-"; End; Ò7V7Xdisplay&##  _frombase;:[-  unary;:*Há!$üžÊ-/+Buttonl š 1 È _ 1oopÿO'7/Handler Select; Begin addnum 1; End;Òž771  addnum;:*H  ž§1w Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€O'7/Handler Select; Begin addnum 2; End;Òž772  addnum;:*HlžB2w Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€O'7/Handler Select; Begin addnum 3; End;Òž773  addnum;:*HžÝ3w Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€U+;3Handler Select; Begin operator 5; End; Òž;75  operator;:*Há! $ žx XüButtonl š 1 È _ 1oopÿ¥N^VHandler Select; Begin unary sqrt(_frombase(field "display")),"SQRT"; End; Ò7^7Xdisplay&##  _frombase;:   G:SQRT  unary;:*HP!$<ž!ûRTutton¤Ä7ù01oopÿ›JZRHandler Select; Begin unary _frombase(field "display") ^ 2,"POW2"; End;Ò7Z72Xdisplay&##  _frombase;:nPOW2  unary;:*HP!$èž "XýTutton¤Ä7ù01oopÿ 6ªº²Handler Select; Begin answer "Ok to print tape?"; if it is not "Ok" then exit; set the printer to on; print fld "Tape" & return; set the printer to off; End; Òžº7Ok to print tape?XXUOkX.*X Ñ ‚à P� XTape&##,}X Ñ ‚ß P*Hs Lžñ"1-Print TapeˆÂ7ftog@[hE31 p1x>(80Handler Select; Begin go home; End; Ò787‹*H0IOÀÂ7H$Homeutton‡±‡‡‡‡‡‡‡‡‡‡‡1‡GGpÿ‡D'7/Handler Select; Begin cancel; End; Ò777X  :*H0CGÈÂ7Ò$¼eutton‡±‡‡‡‡‡‡‡‡‡‡‡1‡GGpÿ‡P0"@Poperators±‡±‡±‡±‡‡‡‡‡‡‡‡‡!p‡pÿ‡P‡#@/ 8 Base‡±‡±‡±‡±‡±‡±‡‡‡‡‡‡‡‡‡1p‡ÿ‡Q)91Handler Select; Begin addnum "F"; End;Ò797F  addnum;:*H$ ž&Fw Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€ÔjzrHandler Select; Begin get _frombase(field "display"); put 2 into field "base"; unary it,"BIN"; End;Ò7z7Xdisplay&##  _frombase;:�XXXX2�Xbase&X XXBIN  unary;:*H%/ 4 ,ž£&BinButton6  operator;:1 pB0/Ök{sHandler Select; Begin get _frombase(field "display"); put 10 into field "base"; unary it,"DEC"; End;Ò7{7Xdisplay&##  _frombase;:�XXXX10�Xbase&X XXDEC  unary;:*H&/4$žÃ'DecButton6  operator;:1 pD /Ök{sHandler Select; Begin get _frombase(field "display"); put 16 into field "base"; unary it,"HEX"; End;Ò7{7Xdisplay&##  _frombase;:�XXXX16�Xbase&X XXHEX  unary;:*H'/4žå(HexButton6  operator;:1 pH#/Q)91Handler Select; Begin addnum "A"; End;Ò797A  addnum;:*H(  8ž*Aw Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€Q)91Handler Select; Begin addnum "B"; End;Ò797B  addnum;:*H) @ž¤*Bw Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€Q)91Handler Select; Begin addnum "C"; End;Ò797C  addnum;:*H*HžA+Cw Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€Q)91Handler Select; Begin addnum "D"; End;Ò797D  addnum;:*H+ PžÞ+Dw Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€Q)91Handler Select; Begin addnum "E"; End;Ò797E  addnum;:*H,Xž{,Ew Button€ß€‡‡‡‡ß€ß€ß€ß€ß€ß€1€00pÿ€‡—�Handler Select; Begin put field "display" & "," & field "base" into field "Memory"; unary _frombase(field "display"),"STO"; End; Ò7—7Xbase&##,Xdisplay&##,,�XMemory&X XXdisplay&##  _frombase;:STO  unary;:*HP-&)`ž-STOutton¤Ä7ù01oopÿh¾ÎÆHandler Select; Begin get field "Memory"; if it is empty then exit; get frombase(item 1 of it,item 2 of it); put empty into field "display"; addnum tobase(it,field "base"); End; Ò7Î7XMemory&##�XXXX�X+*XX1XX2  frombase;:�XXXX��Xdisplay&X XXXbase&##  tobase;:  addnum;:*HP.& ) hžl.RCLutton¤Ä7ù01oopÿP0/` - Memoryl0a0t0‡‡‡‡‡‡‡‡‡‡1p‡Džÿ‡U,<4Handler Select; Begin addnum "BS"; End; Ò7<7BS  addnum;:*Há0!$tžr0RButtonl š 1 È _ 1GGpÿB%5-Handler Select; Begin help; End; Ò757X  ï:*H‡1FN°ž1F1=Helpls‡‡‡‡‡‡‡‡‡‡‡1‡GGpÿ‡4{e6<LDHandler Select; Begin put empty into field "Tape"; End; ÒžL7��XTape&X X*Hs2@ž¡12-Clear TapeˆÂ7ftog@[hE31 p2y.‡g × o handler totape(s); begin put s after the last line of field "tape"; get the rect of field "tape"; put item 4 of it - item 2 of it into h; put the number of lines of field "tape" into n; if n > h then set the startline of field "Tape" to n - h; end; handler todisplay(n); begin global n1; get _tobase(n); put it into n1; put it into field "display"; end; handler openpage; begin global ops; put field "operators" into ops; send "select" to button "CLR"; end; handler _add(n); begin if n is "BS" then delete the last char of field "display" else put n after the last char of field "display"; end; handler _clear; begin put empty into field "display"; end; handler addnum(n); begin global state; case state of 0 : begin _add n; put 1 into state; end; 1 : _add n; 2 : begin _clear; _add n; put 3 into state; end; 3 : _add n; 4 : begin _clear; _add n; put 1 into state; end; end; end; handler plus(a1,a2); begin global n1; todisplay(a1 + a2); end; handler multiply(a1,a2); begin todisplay a1 * a2; end; handler power(a1,a2); begin todisplay a1^a2; end; handler divide(a1,a2); begin todisplay a1/a2; end; handler equal(a1,a2); begin end; handler minus(a1,a2); begin todisplay a1-a2; end; handler _calc; begin global n1,savedop,ops; put n1 into a1; put field "display" into a2; send item 1 of line savedop of ops _frombase(a1),_frombase(a2) to this page; totape a1 && item 2 of line savedop of ops && a2 && "=" && n1; end; handler _saveop(opnum); begin global savedop; put opnum into savedop; end; handler _savenum; begin global n1; put field "display" into n1; end; handler operator(opnum); begin global state,savedop; case state of 0 : ; 1 : begin _savenum; _saveop opnum; put 2 into state; end; 2 : _saveop opnum; 3 : begin _calc; if opnum is 6 then begin put 4 into state; end else begin _saveop opnum; put 2 into state; end; end; 4 : begin _saveop opnum; put 2 into state; end; end; end; handler unary(n,op); begin global state; put field "display" into a1; todisplay n; totape op & "(" & a1 & ")" && "=" && field "display"; put 2 into state; end;D€�ž× E€�‡ éá F€� G€�| H€�£ I€�šž ÚÉ J€�ë Ù K€�9 L€�K M€�w N€�<O€�šbP€��Q€�¦$totape87X�Xtape&Xl——A  Xtape&  )c� XXX X2 X4 � XXXXtape&##A� XXX  3XTape&  Ë   P*$ todisplay87X  _tobase;:� XXX �n1XXX �Xdisplay&X X*7Xoperators&##�opsXXXselectXCLRM ‰*$_add87BSX+#�Xdisplay&Xl——> W$%X�Xdisplay&Xl——>  *$_clear7��Xdisplay&X X*$addnum87state$$Ù0+$X  _add;:1�stateXXX$Ñÿ1+X  _add;:$¶ÿ2+2X _clear;:X  _add;:3�stateXXX$|ÿ3+X  _add;:$aÿ4+2X _clear;:X  _add;:1�stateXXX$'ÿ*$plus87 X  todisplay;:*87 X!  todisplay;:*$power87 Xn  todisplay;:*87 X"  todisplay;:*$equal87*$minus87 X  todisplay;:*$_calc7n1� XXXXdisplay&##� XXX   _frombase;:   _frombase;:opsXsavedop1` ‰n1= opsXsavedop2 ----  totape;:*$ _saveop87X�savedopXXX*$ _savenum7Xdisplay&##�n1XXX*$ operator87state$$ó0+$òÿ1+7X _savenum;:X  _saveop;:2�stateXXX$³ÿ2+X  _saveop;:$•ÿ3+QX _calc;:6X+4�stateXXX$$X  _saveop;:2�stateXXX$<ÿ4+'X  _saveop;:2�stateXXX$ ÿ*$unary87Xdisplay&##� XXXX  todisplay;:Xdisplay&##=) ( ,,,--  totape;:2�stateXXX*únˆ‚ HyperPAD 2.2¨ Brightbi‚l-Roberts & Co.‚‚± Progra‚mer's Calculator µ±Ú·Ä¿Ü–³·³Û–³·³Û–³·³Û–³·³Û–³·³Û–÷Ä´Û–³·³Û–÷Ä´Û–³œ š³Û–³œ š³Û–³œ š³Û–³œ š³Û–³œ š³Û–³œ š³Û–³œ š³Û–³œ š³Û–³œ š³Û–³œ š³Û–À·ÄÙÛ—¹ßå> Use the numeric keypad to enter numbers, ENTER to calculate. ’Ðp‚‡™0¶‡¹€–‡¹€–‡¹€–‡¹€–‡¹€–‡¹€–‡¹€–‡¹€–‡¹€–‡¹€–‡¹€–‡¹€–‡¹€–‡¹€–‡¹€–‡¹€–‡¹€–‡¹€–‡¹€–‡¹€—‡¹€•‡ÐÐ0¹@R2‚B*3}Ïx®Iê1Ìg£D߀]ø“. Ï À!§"þ#ˆ$%b%´%Y&y'›(½)Z*÷*”+1,Î,".Ö/ 0É0W12€H€H"G"€H¬Â732plus,+ minus,- multiply,* divide,ö power,^ equal,=‡#€H‡hÀ�10/€H‡% ÝE9EOEeE®EÇE