                 *****************************************
                 * Advanced TI-83 Calculator version 1.0 *
                 *****************************************

>>>>>>>>>>>>>>>>>>>>>>>>>>>> Table of Contents <<<<<<<<<<<<<<<<<<<<<<<<<<<<

1. Introduction
2. Features
3. Requirements
4. Technical Information
5. Keys
6. Options
7. Variables
8. Known Bugs
9. Future Projects
10. Credits


>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 1. Introduction <<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Welcome to the help file for the mathematical program ATC. This file will
hopefully answer all your questions regarding ATC. Feel free to contact me
if you encounter a problem that is unspecified in this file or if you have
a question that remains unanswered after reading this file. Constructive
criticism and suggestions are also welcome. I can be reached at
arash.sanamrad@swipnet.se. However, please keep in mind that I cannot be
held responsible for any form of damage to your TI-83. I really doubt that
that will ever happen unless you tamper with the source code (which is of
course strictly forbidden). Enjoy!


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 2. Features <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

* Answers are stored in the answer variables (A-F and Str1) so that they
  can easily be retrieved after quitting ATC

* ATC deletes all the variables it uses during calculations and other
  operations so that you do not have to "clean" your TI-83 yourself

* ATC always gives you the exact answer if possible

* Built-in APD (automatic powerdown) that will turn off/lock the TI-83
  after approximately one minute of inactivity

* Change the contrast by pressing [+] or [-]

* Conversion of bases, concentration, temperature and time

* Four different hot keys give you the ability to instantaneously quit
  ATC, jump to the main menu or the calculations menu and turn off the 
  TI-83/lock the TI-83

* Five different options will tailor ATC according to your needs and wishes

* Hints at the bottom of the screen give you valuable information

* Lots of formulas for equations, geometry, progressions and stationary
  points

* Newton-Raphson algorithms can solve many equations and can also find many
  stationary points and tell you if it is a maximum, minimum or a point of
  inflection!

* Nice interface

* Useful functions such as changing protection, inverting the graph screen
  and locking the TI-83 (it can only be unlocked with your own four-digit
  code)


>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3. Requirements <<<<<<<<<<<<<<<<<<<<<<<<<<<<<

1) A TI-83 with approximately 14 kB of available memory BEFORE receiving
   the files*

2) A graph link, parallel link or serial link accompanied with the
   appropriate software


* ATC is less than 8.5 kB, but you need to have more than 5 kB of available
  memory to be able to run ATC. This is one of the downsides of squishing.
  See "Technical Information" for more information about squishing.
 

>>>>>>>>>>>>>>>>>>>>>>>> 4. Technical Information <<<<<<<<<<<<<<<<<<<<<<<<<

After sending the file "ATC.83G" to the TI-83, it will "explode" into three
files:

===========================================================================
| Name     | Size | Description                                           |
|==========|======|=======================================================|	
| ATC      | 3288 | The BASIC part of ATC. Run this program to start ATC. |
| ZASMLOAD |  213 | Not my program, but is required to run ZATC*.         |
| ZATC     | 5171 | The ASM part of ATC. Do not attempt to run this!      |
===========================================================================

* ZATC is squished. This basically means that it has been compressed to 50%
  of its original size. This makes the program faster and smaller. You will
  however need ZASMLOAD to run the compressed program. Note that all this
  is taken care of in the BASIC part, so the only thing you have to do is
  to run ATC.

ASM <-> BASIC
"""""""""""""
As you can see, ATC is written in approximately 61% ASM and 39% BASIC. It
seems as if this is the optimum ratio in terms of memory and safety. The
menus, the answer screens and most of the advanced functions are written in
ASM, while the numerical input and the calculations are written in BASIC.

Key Input
"""""""""
The key input is done through the use of direct input. This means that many
of the "ordinary keys" such as [2nd] and [ALPHA] are disabled when running
the ASM part of ATC. This is primarily due to safety concerns and to avoid
using interrupt routines.

Lock Function
"""""""""""""
ATC gives you the ability to lock your TI-83. This means that you have to
enter your own four-digit code in order to unlock it. Note that this lock
is foolproof, so make sure that you write down your code somewhere in case
you forget it. If you despite this forget your code, you can either try
different codes (there are only 10000 different combinations) or you can
remove your batteries and thus reset the entire memory of your TI-83.

Optimization
""""""""""""
I realize that this is a very big program and that the amount of memory is
very limited on the TI-83. Therefore, I have spent countless hours on
optimization. This can clearly be seen if you take a look at the source
code of the BASIC part of ATC, and I can assure you that the same goes for
the ASM part.


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 5. Keys <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Note that these keys only work when ATC is in ASM-mode (not during
calculations and input):

==========================================================================
| Key(s)  | Answer screens     | Menus              | Unlock ATC         |
|=========|====================|====================|====================|
| [CALC]  | Jump to            | Jump to            | No effect          |
|         | calculations menu  | calculations menu  |                    |
|---------|--------------------|--------------------|--------------------|
| [QUIT]  | Return to TI-OS    | Return to TI-OS    | No effect          |
|---------|--------------------|--------------------|--------------------|
| "Left"  | Previous page      | Previous menu      | No effect          |
|---------|--------------------|--------------------|--------------------|
|  "Up"   | No effect          | Move cursor up     | No effect          |
|---------|--------------------|--------------------|--------------------|
| "Right" | Next page          | No effect          | No effect          |
|---------|--------------------|--------------------|--------------------|
| "Down"  | No effect          | Move cursor down   | No effect          |
|---------|--------------------|--------------------|--------------------|
| [CLEAR] | Return to menus    | Go to main menu    | No effect          |
|---------|--------------------|--------------------|--------------------|
| [0]-[9] | Jump to a page     | No effect          | Enter code         |
|---------|--------------------|--------------------|--------------------|
| [-]/[+] | Change contrast    | Change contrast    | No effect          |
|---------|--------------------|--------------------|--------------------|
|  [ON]   | Turn the TI-83 off | Turn the TI-83 off | Turn the TI-83 off |
|---------|--------------------|--------------------|--------------------|
| [ENTER] | Next page, return  | Accept choice      | No effect          |
|         | to menus if it is  |                    |                    |
|         | the last page      |                    |                    |
==========================================================================


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 6. Options <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Auto-lock: If this option is turned on, then the TI-83 will lock itself
           when APD occurs or when [ON] is pressed.

Change code: You can change your four-digit code with this option. The
             standard code is 1234.

Cursor: With this option, you can decide whether you want ATC to remember
        the position of the cursor (which menu or screen it is on) or not.
        ATC will return to the main menu after each operation if you choose
        "reset".

Month: This option is important if you want accurate time conversion.

X1: "X1" is the guess for Newton-Raphson. "Random" is an integer between
    -10 and 10.


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 7. Variables <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Answer Variables
""""""""""""""""
The answer variables are the variables A-F and Str1. Str1 will only be used
when converting from one base to another. Note that the answers are
generally saved in the same the order they appear, i.e. if the screen says

A=43.01193501

A=31.25tan(54)

then A=43.01193501, B=31.25 and C=54. The only exceptions are the base
conversion (the decimal number will be saved in A) and the quadratic
equation/cosine rule with two answers (when you solve for b). In the latter
case, A=X1/b1=C+sqrroot(D) and B=X2/b2=C-sqrroot(D).

Calculation Variables
"""""""""""""""""""""
The main calculation variables are G-K, Str0 and Str9. These variables
will frequently be used and will always be deleted when you return to the
TI-OS. The secondary calculation variables are L-N. They will only be
used when solving cubic equations or finding stationary points for a
quartic function. They will only be deleted after those calculations.

Communication Variables
"""""""""""""""""""""""
The main communication variables are X and Y. The secondary communication
variables are G-I and K. The ASM and the BASIC parts of ATC will use these
variables for communication. All these variables will be deleted when you
return to the TI-OS.

List "ATC"
""""""""""
The list "ATC" is used for storing the options. This list will be created
if it cannot be detected when you run ATC. So if you accidentally edit this
list, just delete it and ATC will automatically recreate it (note that the
standard options will be set).


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 8. Known Bugs <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

I know that ATC has two bugs that I cannot eliminate. Both of them concern
the protection of programs:

* The function "Change protect." does for some weird reason not work on
  one-lettered programs. If you want to (un)protect these programs, you
  have to use the "Protect prgms" and "Unprotect prgms" functions.

* The function "Protect prgms" protects more than the programs. In fact, it
  protects the home screen, i.e. if you accidentally enter "5+" as a
  command, you can longer choose the option "2:Goto". Fortunately, there is
  a simple way of restoring the protection of the home screen. Go to the
  home screen an press [2nd], [+], [5] and [2] twice. Unfortunately, this
  will reset the other TI-83 options (mode, window etc.) as well.


>>>>>>>>>>>>>>>>>>>>>>>>>>> 9. Future Projects <<<<<<<<<<<<<<<<<<<<<<<<<<<<

For the time being, I only have a few short-term projects:

* Find some way of fixing the "protection-bugs" if possible.

* Update the documentation (this file) if needed. I might also add a
  section for FAQ (Frequently Asked Questions).


>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 10. Credits <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Last but not least, thanks to

* All those mathematicians on the Internet who have provided all kinds of
  wonderful formulas

* James Matthews for writing the ASM83 Guru

* Hannes Edfeldt (Movax) for writing the program Devpac83

* Pat Milherson for writing the programs SQUISH and ZASMLOAD

* Rusty Wagner for his Virtual TI emulator

* Texas Instruments for creating the wonderful TI-83

* Ticalc.org for letting me use their Internet space

* Tony for writing the TI-83 ASM Help File

* You for downloading this program and trying it out


>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Copyright 2003 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<