;=========================================================================== ; ; * * * * * * * * * * * * * * * * ; * TI-OS Plus! 1.2 Readme File * ; * * * * * * * * * * * * * * * * ; ; File dated 02/27/2001 (MM/DD/YYYY) ; created by Tijl Coosemans (tijlc@mail.com) ; ;===========================================================================
;=========================================================================== ; * What It Does * ;===========================================================================
TI-OS Plus! is an interrupt program (a program that runs at the background), which runs external modules. So by simply installing a module you can add extra or other functions to your TI-83...
;=========================================================================== ; * How To Use It * ;===========================================================================
Send the group file tiosplus.83g to your calculator. This should install the following programs: TIPLUS : the executable ZTIPLS : the assembly code To enable TI-OS Plus! run the program named TIPLUS. It will show 'enabled' and quit, so you can continue doing whatever you want. To disable the workings just run TIPLUS again. It is safe to run basic programs but I recommend you to disable TI-OS Plus! when you run assembly programs. It is also safe to turn off your calculator and the calc will APD after about 2 minutes of no activity. An extra feature is that you can turn off the calc by pressing [alpha]+[on]. When you then turn it back on, you get (just as with apd) back to the place you turned it off.
You can also run TIPLUS with a value in 'ans' to force a specific action. The following shows all the commands. 1 : disables TI-OS Plus! 2 : enables TI-OS Plus! If 'ans' contains any other value than the ones listed above, the program will run as described before. ( Notice that 'ans' is 0 after running TIPLUS. ) This feature might come handy in combination with Assembly Programs. By example, you can change prgmA of ION by: :1:prgmTIPLUS :send(9prgm0ION // 0 is theta :ClrHome :prgmTIPLUS This program will disable TI-OS Plus! (even if it is already disabled) before running ION and reenable it afterwards.
Installing Modules ------------------ It's really simple to install a module. The only thing you have to do, is send it to your calculator. You don't even need to disable TI-OS Plus! nor you need to reenable it afterwards.
;=========================================================================== ; * History * ;===========================================================================
<-> version 1.2 - 20010227 -- size: 581 bytes * fixed the bug that caused the calc to crash sometimes when a non prog/list var was created * fixed the bug that caused the calc to crash sometimes when you had a lot of user vars * [alpha]+[on] works better now * a module has to start with a $A7 now <-> version 1.1 - 20010224 -- size: 575 bytes * added [alpha]+[on] feature * now runs modules even when there hasn't been a key press * fixed a lot of severe bugs, it's a lot more stable <-> version 1.0 - 20010210 -- size: 535 bytes * first release
;=========================================================================== ; * Developing Modules * ;===========================================================================
- TI-OS Plus! calls every module one by one as it encounters them in the prog/list table before the TI-OS interprets a possible key press. - Modules are run directly from their location in memory: they are not reallocated. However, they can reallocate themselves when necessary, but do know that only bytes 8265h-8382h are save. - At module startup the key pressed has been saved in acc. The key values are the same as what _getk (4A18h) returns. (0 means no key) - To have your program be recognised as a module the first byte needs to be a '$A7' (simply add a 'and a' at the beginning). - Remember that since your program will be called from an interrupt, you cannot use any rom calls (unless you make your program rom specific). You also cannot use the 'ei' command, unless you really know what your are doing. 'ei' enables interrupts again, so it can mess up the current interrupt handle, with all kinds of consequences...
All questions, tips, comments,... are welcome at tijlc@mail.com