Ion Documentataion
_________ /\__ __\ \/_/\ \_/ \ \ \ _________ ___ _____ \ \ \ /\ ___ \ /\ \/ __ \ \ \ \ \ \ \_/\ \ \ \ /_/\ \ \ \ \ \ \ \\ \ \ \ \ \ \ \ \ \_\ \__ \ \ \\_\ \ \ \ \ \ \ \ /\________\ \ \________\ \ \__\ \ \__\ \/________/ \/________/ \/__/ \/__/ v1.6 ----------=by Joe Wingbermuehle 20000617=----------
Contents
- Download Ion
- Description
- Features
- Installation
- Keys
- Files
- Notes and Trouble-Shooting
- FAQAA
- Developer Information
- History
- Credits
Description
Ion is an extensible assembly language shell for both the TI-83 and the TI-83 Plus. It provides an efficient means for creating and using programs on both calculators.
Features
- Basic Shell Features
- Allows any assembly language program to be run with only 40 bytes of free RAM.
- Allows external levels to be stored in Flash (TI-83 Plus only).
- Allows for modules, which allow one to customize the Ion interface.
- Automatically detects assembly language programs.
- Automatically moves programs to and from Flash as needed (TI-83 Plus only).
- Contains a built-in function library.
- Provides program write-back.
- Requires little memory.
- Navigational Features
- Allows for as many programs as your calculator can hold.
- Displays eight programs at a time.
- Right/Left arrow keys allow you to easily scroll through pages of programs.
- Power Saving Features
- Automatically powers down after a few minutes of inactivity.
- Uses little power while active.
Installation
- Send ion.8xg to your TI-83 Plus or
- Send ion.83g to your TI-83.
- Run prgmION.
Now run prgmA any time you want to run Ion. You may delete prgmION and prgmIONZ if you like. However, if you plan on sending Ion to someone else's calculator, you must send those files to properly install Ion. If you only sent prgmA and prgm0ION without sending prgmION and prgmIONZ and running prgmION, the calculator will crash! I recommend placing prgmION and prgmIONZ in Flash ROM (if you own a TI-83 Plus) after you install Ion. prgmZMINFO is the status line module. You may delete this file if you need the memory.
Keys
- Run a program: [Y=] or [ENTER]
- Move cursor: [(up)] or [(down)]
- Next program list: [(right)]
- Last program list: [(left)]
- Exit Ion: [MODE]
- Power down: [ON]
Files
This is a list of files included with ion.zip.
- ion.txt - The included Ion documentation.
- ion.inc - The included file used for making Ion programs.
- asm.bat - The DOS batch file used to assemble Ion programs.
- zminfo.z80 - The source code to the status line module.
- ion.83g - The TI-83 version of Ion (send this to your calculator if you own a TI-83).
- ion.8xg - The TI-83 Plus version of Ion (send this to your calculator if you own a TI-83 Plus).
This is a list of files included with the Ion group file (either ion.83g or ion.8xg).
- prgmION - The Ion Installer. Run this program to install Ion.
- prgmIONZ - A program needed by the Ion installer.
- prgmZMINFO - The status line module. This displays the status line at the bottom of your screen when you run prgmA (which is created when you run prgmION).
Notes and Trouble-Shooting
- Please read this entire file thoroughly before asking for help or submitting a bug report.
- TI-83 and TI-83 Plus programs are not compatible at the binary level. You must send the correct program to your calculator if it is to work. TI-83 programs have the *.83p extension and TI-83 Plus programs have the *.8xp extension.
- Ion should say "Ion Installed!" after being run. If it does not, you probably do not have enough free RAM.
- Although Ion can run programs from Flash (only on the TI-83 Plus), it is recommended that you place the programs you use most often in RAM. There are two reasons for this: it is slower for Ion to swap between Flash and RAM every time a program is executed and it is not good for the Flash to be written frequently.
- Modules must be located in RAM to run.
- If you get a message asking to do a garbage collect in Ion, always select yes.
- Avoid running Ion when your batteries are low. In particular, never run a program that is stored in Flash when your batteries are low (TI-83 Plus only).
- External level files for most programs can be stored in Flash (TI-83 Plus only). However, high scores etc, which may be stored with the external will be lost each time you exit the program or switch level sets.
- If a program that is stored in Flash refuses to run you probably do not have enough free RAM to execute it. Move some stuff out of RAM to make room for the program.
- See the FAQAA section if you still have questions.
History
Non-public releases are not documented.
- Project started: 19990623
- Version 1.0 <> 19990824
- TI-83 size: 1746 bytes (less once installed)
- TI-83 Plus size: 1801 bytes (1539 bytes once installed)
- First release!
- Version 1.1 <> 19991009
- TI-83 size: 1741 bytes (1392 bytes once installed)
- TI-83 Plus size: 1804 bytes (1546 bytes once installed)
- Fixed the bug that caused the TI-83 version to eat memory if installed more than once.
- Fixed the bug that caused the symbol table to become corrupt.
- Fixed the problem with ionFastCopy that caused the screen to become garbled.
- Now clears the graph screen on exit.
- Fixed a bug in the TI-83 Plus version that caused some crashes.
- Fixed a bug in the TI-83 Plus version that caused some programs to detect external levels incorrectly.
- Version 1.2 <> 19991218
- TI-83 size: 1742 bytes (1420 once installed)
- TI-83 Plus size: 1795 bytes (1571 once installed)
- NOTE: This version is not compatible with previous versions! Reset the RAM before installing by selecting [2nd] [+] [7] [1] [2]. You may want to save your programs first.
- Fixed a bug that caused some crashes.
- Added the ability to go to the previous list.
- Version 1.3 <> 20000101
- TI-83 size: 1764 bytes (1431 bytes once installed)
- TI-83 Plus size: 1783 bytes (1549 bytes once installed)
- Y2K OK
- Major improvements to the module code. Forced restart now works properly and reruns all modules with keycode 1. Modules now run at the proper location on the TI-83 and the TI-83 Plus (fixes some crashes). Module detection number has been changed to a two (all modules must be reassembled to work)!
- Improved program detection code; fixes the reinstall problems that occurred periodically.
- Numerous problems in ion.inc have been fixed.
- Version 1.4 <> 20000103
- TI-83 size: 1592 bytes (1375 bytes once installed)
- TI-83 Plus size: 1725 bytes (1491 bytes once installed)
- Fixed a bug in the TI-83 Plus module code.
- Added another module event: program selection (code 2).
- Now the bottom line of the Ion screen is blank unless a module is installed. zmInfo, included in ion.8xg and ion.83g, displays the standard bottom line.
- Compensated for a bug in the TI-83 Plus ROM that caused running prgmA to have no affect sometimes.
- Optimized a little more.
- Version 1.5 <> 20000519
- TI-83 size: 1535 bytes (1318 bytes once installed)
- TI-83 Plus size: 1626 bytes (1392 bytes once installed)
- Improved the program loader. Now Ion is much smaller and more stable.
- Fixed a bug that sometimes caused problems when running TI-83 Plus archived programs.
- Now external levels (for most programs) can be used from Flash ROM (TI-83 Plus only). Note that saving level data does not work when the level is in Flash ROM.
- Version 1.6 <> 20000617
- TI-83 size: 1529 bytes (1312 bytes once installed)
- TI-83 Plus size: 1630 bytes (1396 bytes once installed)
- Fixed the bug in the ionDetect library routine, which caused some programs to crash on the TI-83 Plus. Unfortunately, this added to the program size for the TI-83 Plus.
- Shaved off a few bytes.
- The source code is now included with the zip file.
Credits
Thank you to the following people:
- Dan Englender (aka Dulce)
Helped me immensely with figuring out TI-83 Plus oddities. He also tested Ion trillions of times.
- Brandon Whaley (aka Red Picasso)
Gave me the information I needed to create Ion.
- You for using Ion!
- All the people that encouraged me to finish this project.
Without these people, Ion would not have been possible. I'm sorry if I missed anyone!