I get an error when I try to run Ion or an Ion program.

Several things could be causing this problem. Here is a check list:

Can I type Ion into my calculator?

In short, NO! The reason is that Ion is an assembly language program. It is possible to type in some assembly language programs (although it requires extreme patience). However, certain bytes in Ion apparently do not line up with Basic tokens for the calculator and are, therefore, incorrectly displayed when opened, thus making them impossible to type in on the calculator. It might be possible to assemble Ion to hex, type in the hex, and then convert the hex to binary on the calculator, but that would require much work to say the least (so don't even ask me how to do it). On a similar note, it is not possible to open the Ion files in the graph link software before sending them because the graph link software will mess up the program when it tries to parse what it believes to be a Basic program.

How do I access more than eight programs?

Press the right arrow key to view the next list of programs.

Why won't Ion detect my Basic programs?

Ion does not support Basic programs. For now you will have to use the PRGM menu. Sometime in the future I may release an Ion module to detect and run Basic programs.

Why isn't Ion working?

Make sure you send ion.83g (if you have a TI-83) or ion.8xg (if you have a TI-83 Plus). Then run prgmION to install Ion. Finally, run prgmA to start Ion for the first time. If you do not have any Ion-compatible programs loaded, Ion will not start. Note: SOS and AShell programs will not run under Ion. Do not ungroup Ion! Read the Installation Instructions! If all else fails, try resetting the calculator and resending your files. Some programs, such as Diamonds, require external levels to be loaded to run. Make sure you have all the required files.

Why do I need a shell?

On the TI-83, assembly language programs require approximately two times more space to store and three times more memory to run than Ion programs. On the TI-83 Plus, assembly language programs require an equivalent amount of memory to store, but require two times more memory to run than Ion programs. Furthermore, Ion allows programs to take advantage of certain shared libraries (which makes programs smaller) and it gives the user an intuitive interface to his or her programs. Also, on the TI-83 Plus, Ion takes care of moving programs in and out of Flash as necessary.

What is the difference between Ion and SOS?

Obviously, support for the TI-83 Plus is the most significant difference, otherwise, there are three major differences between Ion and SOS, which is a shell also by Joe Wingbermuehle for the TI-83. First of all, Ion uses a new and improved method of relocation, which allows assembly language programs to take complete advantage of all the system ROM calls. Secondly, Ion does not support external libraries. Ion has the most popular library routines built-in. This saves space and eliminates confusion caused by different library files. The routines not included in Ion were seldom used and, therefore, removed. Lastly, Ion loads itself in a different way, which allows it to run with under 45 bytes of free memory. Other features were added and removed, but these are the most significant.

Why aren't SOS programs compatible with Ion?

SOS programs aren't compatible with Ion because they use a different library format and a slightly different header format. The Ion format improved on the SOS format to conserve memory. Also, to ensure complete TI-83 Plus compatibility, SOS compatibility was dropped.

Is Ion an upgrade from SOS?

No, Ion is a completely different system. The code, except for some of the library functions, was completely rewritten. I do, however, intend on completely replacing SOS with Ion.

Is Ion a replacement for SOS?

Yes. I intend to completely replace SOS with Ion. However, this will take some time since many AShell and SOS programs exist.

Where can I get the Ion source?

The Ion source code is included with the zip file.
Note that I strongly urge programmers not to take advantage of undocumented features in Ion as they may change in future releases.