TAKE NOTE PRINTING/PROGRAMMERS' CALCULATOR v1.0 Copyright 1990, Take Note Software If you are at all familiar with calculators you should have no trouble with this program. The program may be used as an accessory or as a Gem program (with the extender renamed from ".ACC" to ".PRG"). It has the ability to output to a printer after each entry/calculation or store these and print them out as a group. The calculator uses its own window and as such may be dragged around the screen to get it out of the way. It is closed or removed from operation the same manner as any Gem window. The program is rather memory hungry (using about 100k) because of the tape function. TAPE BOX The box to the right of the calculator is the tape box which can display a history of 18 operations at a time and hold 999 total. As you exceed the number of displayable operations you will see the scroll bar at the right of the window reconfigure. You may use the scroll bar to display any portion of the "tape". There are five different buttons which affect the tape box. TAPE OFF - Turn the tape box off. DEC - See below. PRINT - Print the entire tape. CLEAR - Clear the entire tape SPACE - Insert a blank line in the tape box. NUMBER FORMATS There are 6 possible formats that you can display numbers in. "DEC" decimal, or base 10 "$" decimal, base 10 but in dollars and cents format which includes truncating to the second decimal place. Pound Sterling Sign same as the above but... "OCT" octal, or base 8 "BIN" binary or base 2 "RT" Running total. This is available only in the second display. There are boxes to the right of all three display areas which control the format of numbers used within. All three will read "DEC" the first time you use the calculator. You may cycle through the various formats by clicking on these boxes. OPERATORS/FUNCTIONS Besides the standard +,-./,*,^ there are operators and functions that programmers often use as described briefly below. These are found to the left of the calculator below the display boxes. Below are logical operators which act on a pair of numbers bit wise. AND - Logical AND. NOT - Logical AND NOT. OR - Logical OR. XOR - Logical XOR. Next are the shift and roll functions. They take a number and shift or roll bits to the left or right. They can operate using either a "Long" word (32 bits), a "Word" (16 bits) or a "Byte" (8 bits) (see below). The largest valid argument is 32. Larger numbers are treated as argument MOD 32. See the next entry. SHR - Shift bits right. SHL - Shift bits left. ROR - Roll bits right. ROL - Roll bits left. LONG - The button named "Long" does not initiate an operation but controls the number of bits used by the shift and roll functions. You can change between the three lengths described above by clicking on this box. There are two functions for changing individual bits (0 to 31) of a number. If you enter an argument greater than 32 the result will reflect the argument MOD 32, e.g., 4 BSET 33 gives the same result as 4 BSET 1. See "MOD" below. BSET - Set a bit to ON. BCLR - Set a bit to OFF. The following functions require no argument and operate immediately upon the current number, displaying the result. SIN - The sine of a number. COS - The cosine of a number. TAN - The tangent of a number. ATAN - The arc tangent of a number. ASIN - The arc sine of a number. ACOS - The arc cosine of a number. DEG - Converts radians to degrees. RAD - Converts degrees to radians. SQR - The square root of a number. LOG - The logarithm of x base e. EXP - The xth power to the base of a number. These next functions either round or return a portion of the current number. They also require no argument. TRUN - Truncate, returning only the whole portion of a number. This is not rounding as TRUN(1.51)=1 where ROUN(1.51)=2. FRAC - Returns only the fractional portion of a number. e.g. FRAC(1.75)=.75 ROUN - Rounds the current number. MOD - The last function was added at the last minute and returns the modulus or remainder of an integer division. e.g 10 MOD 3=1 or the remainder of 10 divided by 3=1. This function returns only whole numbers and all input will be rounded. SEND To the left of the calculator is a button called "SEND". If this is selected when you close the calculator, the number shown in the top display box will be transmitted as a series of keystrokes. Any application which is monitoring the keyboard should receive it. This can be handy for sending the results of a calculation to your word processor. The sent string is padded on both ends with a space. PRINTER You may choose to have the calculator print out operations and numbers immediately by clicking on the button that is labeled "Printer". Normally all output will be to the right side of the paper but if you want to print on narrower paper or are more comfortable with the calculations to the left, select the button named "L. Just.". This selection will also affect the tape box print-out. KEYSTROKES All keys on the numeric keypad and regular keyboard follow their on-screen graphic equivalent. Additional keystrokes are; F1 - Cycle through the main display box number formats. F2 - Cycle through the translation display formats. F3 - Cycle through the tape box formats. Undo - CE (Clear entry). Clr/Home - CA (Clear all). ")" on the numeric keypad is the equivalent of "^". "/" on the keyboard is the equivalent of the on-screen "ö". "ö" (Ascii code 246) is also sent to the printer. This character will print as an italic "v" if you're printer is using the Epson italic character set but is present in most other standard character sets. DISCLAIMER This program has been tested quite a bit but Take Note Software accepts no liability for damage from its' use or misuse and makes no claims as to its suitability for any specific purpose. If you discover any bugs or have any suggestions to make please feel free to contact us. Please include this read me file with the program if sharing it with others. This program has been released to the public domain and is free. Of course if you find it useful and want to send us money (maybe 5$? ) we won't argue with you about it. This is a new concept in software distribution based on guilt called Share- your-money-with-us-if-you've-got-it-ware which shouldn't be taken too seriously. J.L.Jacobi Take Note Software 285 Divisadero #3 San Francisco, CA 94117 (415)431-9495 Take Note Software also publishes commercially, "Take Note", a musical ear/sight training program for the Atari ST and Amiga computers. For further information write/call us at the above address/phone number. REVISION LOG V1.1 - 01/06/91 - Large numbers (outside the range -2,147,483,648 to 2,147,483,647) entered or translated to hex/octal/binary formats no longer crash the system however these numbers will be automatically displayed in decimal or floating point no matter what type translation is selected. - There is now a choice to print to disk as well as the printer. The file saved is "TAPE####.ASC" where #### represents the number of the tape file. The program checks to see if previous tape files are present and takes the first available number, i.e., if "TAPE1.ASC" is found the file will be saved as "TAPE2.ASC". The files are saved to the default directory (the directory booted to or that the program was run from). V1.11 - 02/01/91 MOD bug fixed. V1.20 - 03/10/91 - The Hex number routine has been redone so that it will display larger numbers. A memory function has now been added with four options: MR - Recall a number from memory. M+ - Add the current number to memory. M- - Subtract the current number from memory. MC - Clear memory. The corresponding keystrokes are; ^CR/^ENTER/^= MR ^Clr/Home MC ^+ M+ ^- M- (For some reason this does not work on a MEGA STe keypad) These functions occupy the buttons that used to contain the tape functions. All print and tape functions have been moved to a dialog box which will appear whenever you click on either "Print" or "Tape". - There is now a separate "Save" tape option which writes the current tape to disk instead of the program prompting you to "Print Where?" after you select the "Print" tape button. - The bug that would cause the program to bomb if you hit more than 31 consecutive zeros after the decimal point has been fixed. - Dollar format numbers now are displayed correctly when negative. - There are now commas (well sort of) for decimal and dollar format numbers in the main and translation displays. - The tape counter would reset even when you answered no to the alert asking if you wanted to clear the tape. This really screwed things up. It has been fixed. V1.25 04/17/91 - Attempting to perform bit operations on floating point numbers no longer crashes the system but generates a message instead. - The "=" sign was being lightened instead of the decimal point in version 1.2 when switching to number formats other than decimal or $. It's been fixed. - The window now shrinks when the tape function is turned off and then expands again when turned on. It boots with the tape function off to save memory and screen space. - The calculator remembers its current screen position and is placed there the next time it is opened. - The program now works in low rez although there is no tape function. Formerly it would try to end itself (A GEM No-No! for accessories) and cause a mysterious hang-up (Mysterious because it wouldn't register itself in the menu) whenever you tried to run another program or switch resolutions. - Although I don't have a TT to check out the new graphics modes the program should now behave properly with them. If they don't please let me know. - C-Ops. For programmers in C you may now have the SHR, SHL, AND, OR and XOR buttons appear as the C operators >>, <<, &, | and ^ by selecting this option which appears in the TAPE/PRINT dialog. V1.26 06/02/92 - The pounds sterling symbol was added for users of that currency as per a request from Paul E. Banbury. Thanks for the suggestion. USERS POLL PROPOSED Additions: - The ability to change numbers on the tape and recalculate any affected results (this will probably slow things down a wee bit as items will have to be translated on the fly but should save quite a bit of space and add a lot of flexibility). - The ability to load previously saved tapes. - Time format (base 60). Please let me know what you think of these proposed changes or make your wish list known by Genie E-MAIL (address J.JACOBI) or writing to me at the address listed somewhere above.