0707070000020035321006440001460001440000010057300367444273000000500000000003Size50 0707070000020013611007550001460001440000010227200367444263300001000000001266Install# Install script for Programmer's Calculator program # # Written by: Gregg Stratton # Date: 3/26/86 # echo "Installing Programmer's Calculator in Office" ln prgcalc /usr/bin chown bin /usr/bin/prgcalc chgrp bin /usr/bin/prgcalc chmod 755 /usr/bin/prgcalc ln prgcalc.hlp /usr/lib/ua chown bin /usr/lib/ua/prgcalc.hlp chgrp bin /usr/lib/ua/prgcalc.hlp chmod 644 /usr/lib/ua/prgcalc.hlp # # Update Office User Agent file # echo "Name=Programmer Calculator" >/tmp/c echo "Default = Run" >>/tmp/c echo "Run=EXEC -d /usr/bin/prgcalc" >>/tmp/c echo "Help=EXEC -d /usr/bin/uahelp -h /usr/lib/ua/prgcalc.hlp \ -t \"Overview\"" >>/tmp/c uaupd -r "Programmer Calculator" -a /tmp/c Office rm -f /tmp/c 0707070000020035511006440001460001440000010227160367444265500000500000000064NameProgrammer Calculator Version 1.0 - from THE STORE! 0707070000020033021007550001460001440000010057310364623725300000700000000427Remove# Install script to remove the Programmer's Calculator program # # Written by: Gregg Stratton # Date: 3/26/86 # echo "Removing Programmer's Calculator" rm -f /usr/bin/prgcalc rm -f /usr/lib/ua/prgcalc.hlp # # Update user agent files # uaupd -r "Programmer Calculator" Office 0707070000020032771006440001460001440000010057320364623725200000600000000127Files./Size ./Install ./Name ./Remove ./Files ./MAKEflop ./MAKEcpio ./prgcalc ./prgcalc.hlp 0707070000020026731007770001460001440000010057330364623725300001100000000045MAKEflopcat Files | cpio -ocBv > /dev/rfp021 0707070000020032641007770001460001440000010057340364623725200001100000000046MAKEcpiocat Files | cpio -ocBv > PROG_CALC+IN 0707070000020026261007550001460001440000010057350364623725300001000000032662prgcalcRq %  .text% .data ,@.bss .lib /< N1X OQ./HJf/H#0N 9 f nr `" 9 f nr ` nr `P f*. /< N1Xp.N1N1`p.090 H/N1X`p-@./< N1.X-@p`LN^NuNVH0. H.N1-@0. H.N1-@ [f| ?fpBHnHnHnHn0. H/N1T m$./. /./.N -@` m -|` Of` .`-|`H-|`<-|`0-|`$-|`-|` -|`-|`-|`-|`-|`-|`-|`-|`-|`-|`B`B 5b@0; NJ6bV2>J&nzV2>J&`Z NfJ jg Jf-|`" fg Ff -|`B .`LN^NuNVHBB .lb . "nmD . "n n4 ."nm& ."nn n(HH-@`RpѮ` .`LN^NuNVHN1$p.p0/p&/p/p/N1-@Jlp`J. /.N1X. 090 H/N1X. HnN1X=|Hn/<W/.N1 -@Jl$.  /< /< p/N14 . /< /./.N "n"=|Hn/<W/.N1 p.p/N1 X. /< tp//.N1 n nBh nBh nBh nBh nB ./.N1ZX-@ .`LN^NuNVHJ l p-@`Bp.0. H/N1XBp-@./.0. H/N1HP ."| HA.0. H/N1XR./.0. H/N1HP ."| 1HH.0. H/N1X ../.0. H/N1HP ."| 1HH.0. H/N1XR./.0. H/N1HP ."| hA.0. H/N1X-n nJg" n-P n-h./.0. H/N1HP .Ѐ"ЀЁ"| A.0. H/N1XR./.0. H/N1HP ."| 1HH.0. H/N1X .X./.0. H/N1HP ."| 1HH.0. H/N1XR./.0. H/N1HP .Ѐ"ЀЁ"| A.0. H/N1XpѮ`-nJfp.0. H/N1XB nJg n R-@ n (R-@./.0. H/N1HP nA .0. H/N1X n "ЀЁ\"n#@ n"n")!A n ("ЁZ"n" n"n"#!A n"niRpѮpѮ`2 nr !A nr!A n n!| n|pѮR nr !A nr!A n n!| n|pѮR nr !A nr!A n ! n!|B n|R .`LN^NuNVH 0f: n f* n (0fp.090 H/N1X` n ("n ep.090 H/N1X`z n "fx n *ft n cp.090 H/N1X`F n f( 5op.090 H/N1X`. /.NX` n *ft n cp.090 H/N1X`F n f( 5op.090 H/N1X`. /.NzX`p n cp.090 H/N1X`F n f( 5op.090 H/N1X`. /.NX` n "f n *f> n cp.090 H/N1X`. /.NX` n *f> n cp.090 H/N1X`. /.N`X`: n cp.090 H/N1X`. /.N$X`. /.NX`LN^NuNVH n "(R n A  n ("n CB1 n ."/ n A/N1JP"n #@ n A. n 0H/N"X`LN^NuNVHBp.p/ n0H/N1HP +gn *gb /gV -gJ &g> |g2 ^g& %g >g <f. n0H/N1X`p . n0H/N1Xp.p/ n0H/N1HP nJg| n."/ nA/N1JP"n#@ n"n")è./. NhX-@Jf.p/N"X n"n")è nB g g f n r= ` n  nB nB n|0 nB( .`LN^NuNVHB n "f 0m 9o n "f 0m 7oz n "f 0m 9oR n "f Am Fo* n "f. am" fn. /.NX`0 +g *g /g -gz =gn %gb |gV &gJ ^g> >g2 <g& g g f . /< /.NP-@`j ~f. /< NbX`J g& g g f. /< /.N hP` f` n Jo: n S ("n CB1 n A. n 0H/N"X`p.090 H/N1X` g f, n A&. n A*/ n A"/NxP`T f2. /< N1X.  n 0H/N1rX`p.090 H/N1X .`LN^NuNVH n Jg( n ."/ n A/N1JP"n #@ n "n ")F!A n "n ")è nr= n B n B n |0 n B(. p/N"X`LN^NuNVH fl n ("`: n r !A"`N n r!A"`@ n r!A"`2 n r !A"`$ g g g`` f( n J&f n r!A&` n B&`t fh n (*`: n r!A*`N n r!A*`@ n r!A*`2 n r!A*`$ g g g` 9 "n "g n #" . p/N"Xp.p/ n 0H/N1HP n ("`r.  n 0H/N1X`x.  n 0H/N1X`\.  n 0H/N1X`@.  n 0H/N1X`$ g g g`p.p/ n 0H/N1HP 9 "n &g n #& p.p/ n 0H/N1HP n J&f.  n 0H/N1X`.  n 0H/N1Xp.p/ n 0H/N1HP 9 "n *g n #* p .p/ n 0H/N1HP n *f*.  n 0H/N1X n !|`\ n *f*.  n 0H/N1X n !|`$. $ n 0H/N1X n r!Ap.p/ n 0H/N1HP`LN^NuNVH< B n -h n B n `X n "n !i` n "n ")Ө n (e n ("n d n r!A`r n ("n d n r!A n "n ")`@ n A$H J"n . N1"J" n Jg0 n (e n ("n d n r!A` n Jf. N$-@`" n A&H K"n . N1"K"` n "n ")è` n "n ")`x n "n ")`d n Jf. N$-@`" n A(H L"n . N1"L"`" n J&fN n ("n ")F"n -@ n A*H M "n ")"M" n ".` n A$ B "n ")"B"` n A& C "n ")"C" n (d n r!A`p %g &g *g +g -g /gT g ^g |gx .`L< N^NuNVH nB nB n|0 nB(.p/N"X fZ n r= nBp.p/ n0H/N1HPp . n0H/N1X. * n0H/N1rXp.p/ n0H/N1HPLN^NuNVHp.p /p$/p/p/N1=@. ,0.H/N1Xp.p/0.H/N1HP. >0.H/N1X. b0.H/N1X. }0.H/N1X. 0.H/N1X. 0.H/N1X. 0.H/N1X. 0.H/N1X. 0.H/N1X. $0.H/N1X. G0.H/N1rX0.H.N10.H.N1`LN^NuNVHp.p/0. H/N1HP. p //< b0. H/N1 p.p/0. H/N1HP`LN^NuNVH f n -h` n -h ."n b n Jg. fHnN1X`. jHnN1X n ( n ("`./< nHnN1P` n J&f@ n (Fg n (F./< rHnN1P`./< vHnN1P`X./< zHnN1P`>./< ~HnN1P`$ gF gV g`p.p/ n 0H/N1HPHnp //< n 0H/N1p.p/ n 0H/N1HPHn n 0H/N1Pp.p/ n 0H/N1HP`LN^NuNVHp.p/ n0H/N1HP. n0H/N1rX. p //< n0H/N1 p.p/ n0H/N1HP n|0 nB( nB nBp`LN^Nu =~%<>&|^Unable to open calculator window Press any key to continue Dec Unsgnd Long 8 D P U a t      P P     (   [ d n y   Number BaseWord LengthSignShow AuthorCalculator OptionsChoose option from listprgcalc.hlpOptionsOctalDecimalHexidecimalBase OptionsChoose number base from listprgcalc.hlpNumber BasesSigned ValuesUnsigned ValuesSign OptionsChoose option from listprgcalc.hlpSigned NumbersOne byteTwo bytesFour bytesWord Length OptionsChoose word length from listprgcalc.hlpWord Length/usr/lib/wfont/special.8.ftC C D D  E E F F / / &And ~Neg8 8 9 9  A A B B * * |Or  ^Xor 4 4 5 5 6 6 7 7 - - <<< >>> 0 0 1 1 2 2 3 3 + + = = %Mod Clear Negate Modulo Shift Shift And Or Xor All Left Right Font file required to display calculator properly not foundlqqqqqqqqqqqqqk ------------- mqqqqqqqqqqqqqj ------------- lqqqk --- mqqqj --- x|Programmer's Calculatorua.hlpSystem errors=prgcalc.hlpOverview OctDecHexDecSignedUnsgndCharShrtLongCalculator Author PC7300 Programmer's Calculator Author: Gregg Stratton Company: Computer Dimensions San Francisco, CA Phone: (415) 552-6576 Date: March 25, 1986 Version: 1.0 This program is in the public domain and may be freely copied.Press any key to continue%*sOVR %lo%ld%lu%lX%lu%*sPress 'Clear All' key to continue%*sERROR0707070000020035551006660001460001440000010225170364623725400001400000013347prgcalc.hlpWlabel = "Programmer's Calculator Help" Contents = Overview, Operator Types, Options, Number Bases, Word Length, Signed Numbers, Errors Name = Overview Llabel = " USE OF CALCULTR" Slabel = " USE " Branch = Operator Types, Options, Number Bases, Word Length, Signed Numbers, Errors Title = "How to use the Calculator" Text = The Programmer's Calculator is used like an ordinary calculator. \ A number may be entered into the calculator by pointing to the \ number keys of the calculator with the mouse and pressing the left-hand \ button on the mouse or by pressing the appropriate number key on the \ keyboard. To complete the entry of a number, point to an operator key \ or the "=" key and press the mouse button or press the corresponding \ key on the keyboard. \EOT\ Name = Operator Types Llabel = "OPERATOR TYPES" Slabel = "OPERATRS" Branch = Overview, Options, Number Bases, Word Length, Signed Numbers, Errors Title = "Operator Types" Text = The arithmetic operators (+,-,*,/,MOD) perform normal arithmetic \ operations in the selected base between the result of the last \ operation and the next number entered. If the result of the operation \ is too large for the word size selected, an overflow indicator will \ be displayed and the high-order bytes of the result will be truncated. \ The "%" key or the "Modulo" function key may be used for the "MOD" operator. Logical (And, Or, Nor) operators are bitwise operators that mask \ the result of the previous operation with the next number entered. \ The operations may be selected by pointing to the appropriate calculator \ key with the mouse, using the labeled function key or by entering one of \ the following keys from the keyboard: And : use the & key Or : use the | key Xor : use the ^ key The shift operators will shift the result of the previous operation \ left or right the number of bits specified by the next number entered. \ If the calculator is set to use signed numbers and the operation is a \ right shift, the sign bit will be extended. The shift operations may \ also be done using the ">" and "<" keys. The negate operator does a bitwise negation of the number displayed. \ It is a unary operation and does not require a second number to be \ entered. The "~" key on the keyboard or the "Negate" function key \ may also be used to perform the negate operation. \EOT\ Name = Options Llabel = " OPTIONS" Slabel = " OPTIONS" Branch = Overview, Operator Types, Number Bases, Word Length, Signed Numbers, Errors Title = "Options" Text = One of three different number bases may be used in the calculations, \ one of three different word sizes may be used and the numbers may be \ signed or unsigned. These options may be selected by pointing to the \ appropriate option indicator on the calculator with the mouse and \ pressing the left-hand button. Or they may be selected by pressing the \ middle button on the mouse and selecting the desired options from the Option \ window. \EOT\ Name = Number Bases Llabel = " NUMBER BASES" Slabel = " BASES " Branch = Overview, Operator Types, Options, Word Length, Signed Numbers, Errors Title = "Number Bases" Text = The calculator will work in base 8 (Octal), 10 (Decimal) or 16 \ (Hexidecimal). To choose a base, point to the number base indicator \ next to the result register (Oct, Dec or Hex) and press the left-hand \ button. Each time the mouse button is pressed, the base will change \ and the result will be redisplayed in the new base. The base may also be selected to pressing the "Input Mode" key on the \ keyboard. Each time the key is pressed, the base will change. The base may also be selected by a third method: Press the middle button \ on the mouse or press the "Cmd" key on the keyboard. The calculator \ options window will be displayed. Select the "Number Base" option and \ then select the desired base. The keys that are valid for the entry of numbers will change depending \ upon the selected base. For example, the alphabetic keys (A-F) cannot \ be used when the base selected is Octal or Decimal. \EOT\ Name = Word Length Llabel = " WORD LENGTH" Slabel = "WORD LEN" Branch = Overview, Operator Types, Options, Number Bases, Signed Numbers, Errors Title = "Word Length" Text = The calculator will work with 1, 2 or 4-byte numbers. To choose a word \ size, point to the word length indicator (Char, Shrt or Long) and press \ the left-hand mouse button. Each time the button is pressed, the word \ length will change. The number displayed in the register will not be \ affected by changing the word length until the next operation is performed. \ The range of numbers that may be entered is determined by the word \ length. \EOT\ Name = Signed Numbers Llabel = " SIGNED NUMBERS" Slabel = "NO. SIGN" Branch = Overview, Operator Types, Options, Number Bases, Word Length, Errors Title = "Signed Numbers" Text = The calculator will work with signed and unsigned numbers when the number \ base is Decimal. Signed numbers are not valid in the other bases and \ the signed option is ignored. To toggle between signed and unsigned \ numbers, point to the sign indicator (Signed or Unsgnd) and press the \ left-hand mouse button. Each time the button is pressed, the sign will \ toggle. The number displayed in the register will not be affected by \ toggling the sign mode until the next operation is performed. \EOT\ Name = Errors Llabel = "CLEARING ERRORS" Slabel = " ERRORS " Branch = Overview, Operator Types, Options, Number Bases, Word Length, Signed Numbers Title = "Clearing Errors" Text = If a number is entered incorrectly, clear the last digit entered by \ pressing the "Dlete Char" key or clear the entire number by pressing \ the "Clear Line" key. To clear the calculator to start a new calculation, \ press the "Clear All" function key. \EOT\ 0707070000020035551006660001460001440000010225170364623725400001300000000000TRAILER!!! = "NO. SIGN" Branch = Overview, Operator Types, Options, Number Bases, Word Length, Errors Title = "Signed Numbers" Text = The calculator will work with signed and unsigned numbers when the number \ base is Decimal. Signed numbers are not valid in the other bases and \ the signed option is ignored. To toggle between signed and unsigned \ numbers, point to the sign indicator (Signed or Unsgnd) and press the \ left-hand mouse button. Each time the button is pressed, the sign will \ toggle. The number displayed in the register will not be affected by \ toggling the sign mode until the next operation is performed. \EOT\ Name = Errors Llabel = "CLEARING ERRORS" Slabel = " ERRORS " Branch = Overview, Operator Types, Options, Number Bases, Word Length, Signed Numbers Title = "Clearing Errors" Text = If a number is entered incorrectly, clear the last digit entered by \ pressing the "Dlete Char" key or clear the entire number by pressing \ the "Clear Line" key. To clear the calculator to start a new calculation, \ press the "Clear All" function key. \EOT\ 0707070000020035551006660001460001440000010225170364623725400001300000000000TRAILER!!! = "NO. SIGN" Branch = Overview, Operator Types, Options, Number Bases, Word Length, Errors Title = "Signed Numbers" Text = The calculator will work with signed and unsigned numbers when the number \ base is Decimal. Signed numbers are not valid in the other bases and \ the signed option is ignored. To toggle between signed and unsigned \ numbers, point to the sign indicator (Signed or Unsgnd) and press the \ left-hand mouse button. Each time the button is pressed, the sign will \ toggle. The number displayed in the register will not be affected by \ toggling the sign mode until the next operation is performed. \EOT\ Name = Errors Llabel = "CLEARING ERRORS" Slabel = " ERRORS " Branch = Overview, Operator Types, Options, Number Bases, Word Length, Signed Numbers Title = "Clearing Errors" Text = If a number is entered incorrectly, clear the last digit entered by \ pressing the "Dlete Char" key or clear the entire number by pressing \ the "Clear Line" key. To clear the calculator to start a new calculation, \ press the "Clear All" function key. \EOT\ 0707070000020035551006660001460001440000010225170364623725400001300000000000TRAILER!!! = "NO. SIGN" Branch = Overview, Operator Types, Options, Number Bases, Word Length, Errors Title = "Signed Numbers" Text = The calculator will work with signed and unsigned numbers when the number \ base is Decimal. Signed numbers are not valid in the other bases and \ the signed option is ignored. To toggle between signed and unsigned \ numbers, point to the sign indicator (Signed or Unsgnd) and press the \ left-hand mouse button. Each time the button is pressed, the sign will \ toggle. The number displayed in the register will not be affected by \ toggling the sign mode until the next operation is performed. \EOT\ Name = Errors Llabel = "CLEARING ERRORS" Slabel = " ERRORS " Branch = Overview, Operator Types, Options, Number Bases, Word Length, Signed Numbers Title = "Clearing Errors" Text = If a number is entered incorrectly, clear the last digit entered by \ pressing the "Dlete Char" key or clear the entire number by pressing \ the "Clear Line" key. To clear the calculator to start a new calculation, \ press the "Clear All" function key. \EOT\ 0707070000020035551006660001460001440000010225170364623725400001300000000000TRAILER!!! = "NO. SIGN" Branch = Overview, Operator Types, Options, Number Bases, Word Length, Errors Title = "Signed Numbers" Text = The calculator will work with signed and unsigned numbers when the number \ base is Decimal. Signed numbers are not valid in the other bases and \ the signed option is ignored. To toggle between signed and unsigned \ numbers, point to the sign indicator (Signed or Unsgnd) and press the \ left-hand mouse button. Each time the button is pressed, the sign wi