Detached Solutions Title

MirageOS Developer's Info
General Information

In most respects, programming Assembly Language for MirageOS is similar to programming for the TI-83/83+ shell, ION. You still use the bcall() macro when calling ROM routines, and the familiar ION libraries routines are still available. In addition to these ION library routines, more built-in subroutines have been made available to MirageOS developers.

There are a few things you must be aware of when programming for MirageOS:
  1. There are new development tools for MirageOS than what you use for ION development. We have provided another Batch file, and a Linker called DevPac8X, which generates TI-83 Plus files correctly now. The latest development tools are located below.

  2. There are new Include files which make development easier, and more accessible to TI-83 Plus romcalls than what ION provided. There is also a new Header required for MirageOS programs, which ties in with the new features of our shell.

  3. You may not alter any of the data in cmdShadow. This data is used by MirageOS for its internal variables and pointers that must be kept in tact between program executions. This area also contains the ION vector table for libraries, and variable space for use by GUIs, which must keep their data intact also.

  4. TextShadow is a copy of the Homescreen, and any changes you make to TextShadow will be reflected on the Homescreen after the program runs. We recommend that you do not use this area for saferam because we wish to leave the previous contents of the Homescreen the same for the user, when they are done running the shell and programs.

  5. By default, there will be an Interrupt routine running during your program. This Interrupt contains the Tasker Interrupt code we have implemented, and is located in the StatVars memory location. If you wish to use StatVars for variable storage, you must disable Interrupts or set IM 1 before doing so.

  6. You may use all of SavesScreen, appBackUpScreen, and TempSwapArea for variable storage. These areas combined allowed you 1859 bytes of saferam, but which will not be kept intact between program runs. Other programs will make use of this area also, and is not intended for long-term data storage.

Development Tools And Files:

To anyone who reads this, we are sorry for not having this section of our webpage done by the initial release of the shell, but we felt it was more important to get the shell and programs out before completing all the online documentation, which would've and still is taking a while to get together. For now, here are two text files in a zip that explain the MirageOS header, and then another file containing most of our built-in subroutines, and their Input/Output info:


The new Include file, Batch file, and Linker program were included in the MirageOS.zip that you have downloaded to use the shell.

MirageOS Program Header Info:

Info Coming Soon

Customizable Interrupt Routine:

One of the new features of MirageOS is the User Interrupt routines we have built into the shell for developers to use. By using the "setupint" subroutine with certain parameters, you can customize what interrupts you want running during your program. By default, only the Tasker Interrupt will be running when the program starts, and others can be set up to executre. Here is a description of what each Interrupt does:

Info Coming Soon

Copyright © 2000-2023  Detached Solutions
Last Modified: 2002-09-03 22:04:43 GMT