home *** CD-ROM | disk | FTP | other *** search
- A Scientific Calculator
- -----------------------
-
- Version 1.06d (16-Jul-92)
-
-
- * If you do not read documentation then please note the *
- * following 'key' (sic) features of this calculator. *
- * *
- * Result dragging *
- * Key short cuts ( + translation table) *
- * Fully algerbaic *
- * Constant operations *
- * Adjust acesses the inverse function *
-
-
- * This app is fast approaching its FOURTH birthday - *
- * long term users please read the questions near the *
- * of this document and - perhaps - reply. *
-
-
- Files included in this package :-
-
- !Run
- !RunImage
- !Sprites
- !Help [this file]
- Templates
- Sprites
- HelpText
- KeyTable
- MakeTable
- chkspr ) my chkspr util, rename the app and see what
- !Boot ) happens (nothing!), description in Comments.
-
-
- This scientific calculator was written to forefill the
- need of a decent scientific calc under RISC OS. Since it
- was first written several pd SciCalcs have surfaced
- (even Acorn had its hand in one) but I feel that this calc
- is significantly better and more useable; the decision is
- yours!
-
-
- Introduction
- ------------
-
- The calculator is fully algerbraic.
-
- [ This means expressions are evaluated using
- BODMAS order (Brackets, Power, Multiple/Divide,
- Add/Subtract - where brackets are evaluated
- first). Hence 2+3*4 is calculated as 2+(3*4)
- unlike non-algerbraic calculators that would
- evaluate (2+3)*4 ]
-
-
- Also the calculator handles magnitudes greater than
- 99999999, using 9 digits with scientific notation (9 digits
- because the tenth digit in BBC BASIC 5 is generally wrong
- when doing function calculations)
-
-
- NOTE The largest number handled is of the order 1*10^32,
- this is the largest number BBC BASIC 5 can use - if
- this application is run on a, hypothical, new version
- of BASIC supporting extra precision then this should
- be no problem.
-
- Ontop of all this the calculator has a very large range
- of scientific functions, with which anyone who has ever
- used a casio calculator ought to feel familar with
- (version 1.00 was based extreemly closely on the fx350).
-
-
- Usage
- -----
-
- Functions are accessed by using the standard
- 'Reverse-Polish' method used on normal calculators
- (eg 20 sin rather than sin 20).
-
- To use a function on the currently displayed number
- click select on the funtion name
-
- *** The inverse function of a key is available ***
- *** by clicking ADJUST rather than SELECT ***
-
- (ie SELECT for sin, ADJUST for arcsin).
-
-
- Unobvious Adjust functions are:-
-
- EXP where SELECT sets the multiplying power of ten
- and ADJUST gives PI (EXP also gives PI if you
- have not entered any digits after a clear or
- equals).
-
- rnd where SELECT fixs the display (see menu options
- below) and ADJUST gives a random number.
-
-
- If an algerbraic operation (*/+-^) is clicked on twice
- then the calculator enters 'constant' mode, a 'K' lights up
- in the top left hand corner of the window to signify this.
- Once in constant mode the selected algerbraic operation is
- repeated with the current register on any entered numbers
- each time = is clicked (try it and see!). Constant mode is
- canceled by AC or entering any other algerbric operation.
-
-
- Clicking on SciCalc's iconbar sprite or on the
- calculator's keys will cause the calculator to claim the
- caret and then numbers (including hex) can be entered via
- the keyboard or keypad. Note if numlock is off you will not
- be able to use the keypad(!).
-
- <Escape> will return the caret to its original position.
-
- NOTE # is AC, <delete> is C and <SH><del> is AC
-
-
- Memory
- ------
-
- Memory funtions avaliable are :-
-
- MR Memory recall
- M+ (SELECT) Memory plus
- M- (ADJUST on M+) Memory minus
- Min Memory set to display
-
- To clear the memory SELECT clear and then SELECT Min
-
- If a number is stored in the memory then the memory
- indicator (small M in the top left corner) is 'lit
- up'.
-
-
- Menu Options
- ------------
-
- Option 'Ascii'
-
- This option has a submenu which displays all the ASCII
- characters in a window. To place an ascii value of a
- character in the display icon simply click on that
- character (clicking with select removes the window,
- clicking with adjust does not!). The ASCII value of the
- character will be displayed in the current base in the
- display icon.
-
-
- Options 'Degrees' and 'Hex'
-
- To change the current angular measure choose the
- approprate item. All angular functions will now operate in
- this measure and the correct angular measure indicator will
- 'light up'.
- The angular measure may also be set by clicking on the
- approprate indicator.
-
-
- Options 'Dec', 'Hex' and 'Bin'
-
- To change the current display base choose the approprate
- item. 'Dec' represents base 10 (the usual one!), 'Hex' base
- 16 and 'Bin' base two. The display icon will change to the
- approprate base and the correct base indicator will 'light
- up'.
- The base may also be set by clicking on the approprate
- indicator.
-
- NOTE: In base 16 sin, cos, tan, 1/x, log and ln become A,
- B, C, D, E and F for hex entry. In bases 16 and 2 the
- following functions cease to work (function!) sin,
- cos, tan, root, 1/x, log, ln, rnd, rnd#, EXP.
-
-
- Options 'Norm','Fix' and 'Sci'
-
- To change the method of displaying base ten numbers
- choose the approprate item from the approprate submenu (ie
- for fix 3 choose '3' from the 'Fix' submenu). 'Fix'
- specifies the number of decimal places to be displayed
- (rounding if nessecary) the number if required, 'Sci'
- specifies the number of significant digits past the decimal
- point under scientific notation (again rounding if
- nessecary). 'Norm' unsets the 'Fix' and 'Sci' choice and
- returns the display mode to the one chosen by the
- application as approprate
-
- NOTE: The function 'rnd' will set the internal register to
- the value of the displayed register (ie if you are
- using Fix 3 to show 3.14159265 the the display is
- 3.142 and on clicking rnd the register storing
- 3.14159265 becomes 3.142 so if you choose 'Norm' the
- display is still 3.142). Norm unsets Fix and Sci
- settings.
-
-
- Result Dragging
- ---------------
-
- The value currently displayed (in the format displayed)
- can be transfered from !SciCalc to any other application
- (or the filer) as a textfile.
-
- To store the value simply drag the display icon onto the
- receiving application. The receiving application will treat
- this as it would when a textfile is dragged onto it. To
- facilite this !SciCalc does not claim the caret when you
- click on the display icon (whereas it does if you click on
- any other).
-
- Sometimes it is either inconvient or impossible to drag
- the display icon onto the receiving application (eg a
- writeable icon). The result can be sent as if is was typed
- in by placing the pointer over the calculator and pressing
- <SHIFT>.
-
- The <SHIFT> facilty is also particulay useful when using
- !Edit because !Edit does not move the caret to the end of a
- inserted file, the <SHIFT> facility does this by default.
- (Note Impression does not have this problem and drags can
- be done easily.)
-
-
- Appendix 1 - Functions
- ---------------------
-
- Key Select Adjust
- -----------------------------------------------------------
- ! sin ! Sine (x) ! Arcsine (x) !
- ! cos ! Cosine (x) ! Arccosine (x) !
- ! tan ! Tangent (x) ! Arctangent (x) !
- ! 1/x ! The reciprocal of x ! --- !
- ! log ! Log base 10 (x) ! 10 to the power x !
- ! ln ! Log base e (x) ! e to the power x !
- ! EXP ! pi or time 10^(entry) ! pi !
- ! ! ! x factorial ! --- !
- ! Min ! put x in the memory ! --- !
- ! M+ ! add x to the memory ! add -x to the memory !
- ! MR _ ! display the memory ! --- !
- ! € ! the square root of x ! x² !
- ! x^y ! x raised to power entry ! x^(1/y) !
- ! not ! logical not x ! --- !
- ! and ! logical and x with entry ! --- !
- ! or ! logical or x with entry ! --- !
- ! eor ! logical eor x with entry ! --- !
- ! rnd ! Register set to display ! Random # from 0 to 1 !
- ! AC ! Clears all except memory ! --- !
- ! C ! Clears display only ! --- !
- ! +/- ! swaps the sign of x ! --- !
- ! ( ! Open bracket,20 levels ! --- !
- ! ) ! Close bracket ! --- !
- -----------------------------------------------------------
-
- Appendix 2 - Key short cuts
- ---------------------------
-
- The following keys are short cuts to their 'iconsakes' :-
-
- 0 1 2 3 4 5 6 7 8 9 - + / * = ( )
-
- The following keys are short cuts to their 'iconsakes' only
- in base 16 (case unimportant) :-
-
- A B C D E F
-
- The following keys are mapped as such :-
-
- <Delete> Clear
- <Shift><Delete> All Clear
- # Clear
-
-
- Appendix 3 - Versions
- ---------------------
-
- v1.03 Due to popular appeal (well I did ask for comments!)
- I have now made the mode buttons act to clicks (fix
- and sci do not but no benefit would be gained if you
- could). The divide key has been 'spriteized' (cos
- someone who obviously doesn't use Latin 1 asked me
- to).
-
- v1.04 Hex input can be in upper or lower case (thanks Damon).
- Fixed the caret claiming bug (for good?)
- Dragable results (idea from Keith Slone, thanks!)
-
- v1.05 ASCII table added
- When <SHIFT> is pressed the pointer need not be
- on the display icon.
- Calculator now starts at its template file position!
-
- v1.05b Oh well - so there were a couple bugs that I didn't
- check in my hurry to release the 1.05 version (b for
- bug fix!). Now the window for the ascii table is big
- enough(!) and mode changes are handled properly (I
- AM slacking a bit!)
-
- v1.06 Well,well,well. I found a bug that has been resident
- for yonks! (goes to show I actually use it!) - but
- I fixed it. Now brackets ought to work perfectly.
- FINALLY implemented constant operations (who noticed
- it was in the template defn?) Ok, outside stats fns
- I think I have done all I want to do on this app
- now. I am planning on writing a statistical analyser
- - so watch out!
-
- v1.06c Bug fixes again. The constant feature turned on
- incorrectly (2*3*4 turned it on because there are
- two *s !). Also clicking on the iconbar sprite
- claims the caret. This must be it!
-
- v1.06d Bug fixes again! Fix and Sci didn't work properly
- (ta Mike Smith) & fixed a few niggles I noticed when
- playing. Changed my help system over to msgtrans (hmm,
- my system was basically the same, just slower cos in
- BASIC!).
-
-
- Comments after 4 years!
- -----------------------
-
- Yes indeed - this app is now about FOUR YEARS old!
-
- Question - Who has been using it for more than two?
- (if you have - what are YOUR niggles with it?)
-
- Question - Does it look nice?
-
- Question - How do you people rate this app to the competition.
- (Does it need a revamp?)
-
- Question - Who uses the ASCII table?
-
- No one has ever commented about the key short cuts.
-
- Question - Does this mean everyone is happy with them as
- they are or has someone found a more
- comprehensive set?
-
- Question - Do you really use result dragging - Can I improve
- the output format? (user defined)
-
- Question - More functions? (extra popup key window?) Which?
-
- Answers on a postcard(!) or Arcade or maurp@csv.warwick.ac.uk
-
-
- Comments - For advanced users
- -----------------------------
-
- The file 'KeyTable' holds the key translation array, this
- has been created using the file 'MakeTable'. This array
- maps ASCII values to icon numbers.
-
- Simply the file holds one byte for every ASCII character
- from 32 (space) to 94 (^). The byte stores the icon to be
- 'clicked' if that particular key is pressed. The supplied
- translation table just translates the numbers and
- arithmetic operators, if you wish to translate other
- functions just call up the template in !FormEd, find the
- icon number for the function, set the appropriate line in
- 'MakeTable' to the icon number and run it to create the new
- table (ASCII 255 = no translation).
-
-
- The ChkSpr Utility
-
- The chkspr utility will, when run, examine the '!Sprites'
- file and check if the first sprite is the application's
- name. If not that sprite's name will be changed to the
- application directory's name. The !Boot file contains
- 'Run ChkSpr', this runs the util, the next line contains
- 'IconSprites <Obey$Dir>.!Sprites' this loads the new sprite
- in. The filer always calls any new (ie renamed) app's !Boot
- file so the new sprite is automatically loaded for display.
-
- Please feel free to use the utility separately from the
- rest of the package but please note that the conditions set
- out below apply to it.
-
-
- Conditions of Use
- -----------------
-
- This application is supplied free to everyone 'as is', I
- do not give any guarantee that it is free of bugs, or
- supply any warranty about its suitabliliy for use. However
- if there are any problems with it and you notify me of them
- then I probably will do my best to recify them.
-
- You may give this application to anyone, via any medium,
- so long as :-
-
- 1) It is delivered with ALL the supplied files and
- unaltered (except !Run & !Boot files) .
-
- 2) It is not supplied on a disc you are charging
- for (except for media and postage costs).
-
- You have permission to use any part or the whole
- application in a project you intend to place in the public
- domain, as long as I am fully credited. If you wish to use
- these routines in a program that is for sale (for however
- much and for whatever reasons) or released as copyright
- material then my express permission in writing must be
- obtained. I maintain copyright on all the material
- supplied and reserve the right to amend these conditions in
- cases where I deem misuse.
-
- A large number of hours of work have gone into the
- production and maintenance of this application and although
- I have supplied the application free, donations will be
- gratefully received (and if over 7 pounds I will send you a
- disc with updates of this and all other pd stuff I have
- written. Please include a letter telling me which apps of
- mine you use and their version numbers).
-
-
- Contacts
- --------
-
- My address:
-
- 6 Parklands Place,
- Guildford,
- Surrey GU1 2PS.
-
-
- BBS I call frequently:
-
- Arcade BBS [081 654 2212] mbx 23
-
- Email address (the best way to contact me)
-
- maurp@csv.warwick.ac.uk
-
- © Emmet Spier 1992 - USE and Enjoy!
-