Welcome to the MirageOS Homepage! Here you will find a great amount
of information about our TI-83 Plus Flash Application shell, such as
a Features List, a User's Manual with screenshots, Documentation for
Assembly programmers who want to develop for MirageOS, and an Archive
of all available Graphical User Interfaces for our shell. Located
below, we have provided general information about MirageOS, and a
brief summary of all its features. Near the bottom of this page are
links to the other major sections of this homepage, which contain
more detailed information and content pertaining to this great new
shell we have developed.

What Is MirageOS?

MirageOS is a Flash Application for the TI-83 Plus and TI-84 Plus that functions as
a shell to manage and execute Z80 Assembly and TI-BASIC programs. This
shell is similar to ION for the TI-83/83+, however, MirageOS has a
greater amount of features for the User and the Programmer. It is
compatable with previous TI-83 Plus formats, and
establishes a new and enhanced program format as well. There is a
convenient Interface that has many innovative features, which makes
this FlashApp one of the best developments for the TI-83 Plus so far.

Although MirageOS seems like a new Operating System with its many
abilities, it does not replace the TI-OS, and infact works along side
it. This shell is comparable to an Operating System, but like a mirage,
it seems to be something that it isn't... Despite that fact, MirageOS
contains a great deal of features that we are sure will please the
TI-83 Plus public. Read through the many paragraphs below that describe
all the things our Flash Application shell can do...

Features Of MirageOS

Supports Several Program Formats - Our shell can run programs
of several different formats and shells, such as MirageOS-specific, ION,
BASIC, TI-OS ASM. BASIC program execution is now supported on all hardware/operating-system combinations.

Powerful Program Manager - This is the Built-In, Graphical
Interface for the shell that displays all compatible programs by name
in a scrollable list. The Program Manager has a Function Bar, which
contains a great amount of commands that you can carry out to organize
and manage your programs. You have the ability to Rename any program on
your calculator, Un/Archive them from/into FlashROM, Protect/Unlock
programs so that they can or can't be edited from the TI-OS, Hide
programs so that they dont show up in the PRGM menu, and Unhide them
accordingly. From the Function Bar, you can also view the amount of
FreeRAM and FreeROM of the calculator without having to goto the Mem
menu, and you can transfer programs to other 82/83/83+ calculators.
More info about the Program Manager is described in further features.

External User Interfaces - We support External Interface
files that can use the functionality of the shell and display programs
in their own creative manner. The four GUIs provided so far list
programs by Name, Description, and Button Image individually, and there
is also a Command Prompt Interface. These are all optional to have on
your calculator, but some users may prefer to use them over the Program
Manager.

Supports Program Folders - MirageOS lets the user organize
their programs into many folders within the Program Manager, which are
optional to have except for the MAIN directory. Folders can be created
with custom names, programs can be moved in and out of them, they can
be renamed, and deleted. In the Program Manager, all folders are listed
and can be Opened and Closed so that their contents can be shown or
hidden temporarily.

Custom Sorting of Folders - You have the ability to Sort
the programs in each of your folders by name. By default, MirageOS sorts
the folders automatically when starting up, incase you have loaded
new programs onto the calculator that are out of order. This feature
is sometimes slow, however, when you have a lot of programs to be
sorted, so we give the option to turn off Auto-Sort at start-up.

Battery Power Friendly - The shell runs in Low-Power mode
while it waits for a keypress from the user so that it does not
constantly execute at full-speed and waste Battery Power. We support
Auto-Power-Down (APD), which turns the calculator off automatically
after 3 minutes of inactivity. There is also the ability to instantly
Power-Down your calc without having to exit the shell and press
2nd+ON from the TI-OS. When inside of MirageOS, you can press the ON
key to shut down the calculator, and press ON again to turn the calc
back on and resume in the shell.

Custom Info For Programs - MirageOS allows for Assembly
programs to have long descriptions that can be displayed when searching
through the list of programs to run, just like most other shells have.
Our shell also allows for BASIC programs to have long, customized
descriptions, which is an innovation that we think a lot of TI-83 Plus
BASIC developers will enjoy. Our shell also allows for MirageOS-specific
programs to have custom images that are 15x15 pixels in size, which can
give a graphical representation of that program like an icon. These
images are used mostly in the Buttons Interface, but they can also be
seen from the Program Manager when you have that option set.

Built-In Password Protection - From the Options Screen of
MirageOS, where the user can change many aspects of the shell and the
TI-OS, Password Protection can be enabled. The user has the ability to
set a Password that will be prompted for when entering the shell from
the TI-OS, and after the calculator is turned back on from being shut
down or APDing. This feature allows security for the user from people
that should not be using their calculator, and the Password is stored
into FlashROM so the shell is still safe if the RAM is reset.

Hotkeys in the TI-OS - Since MirageOS is a Flash Application,
it has the ability to implement Keyhooks into the TI-OS, and adds more
functionality that could not be done with a regular Assembly program.
When using the TI-OS normally, like at the Homescreen, you have the
ability to start the shell by holding ON and pressing the APPS key.
Another Hotkey we have implemented is being able to Power-Down the
calculator from anywhere in the TI-OS, and then resume there without
being sent back to the Homescreen. This is done by pressing ALPHA and
then ON, and is beneficial for things like being in the Basic Editor of
the calculator. The last Hotkey we have added allows protection of the
Memory Menu. If this option is enabled in the shell, access to the Mem
menu by pressing 2nd+Mem will be rejected, and this is helpful in
protecting variables from being deleted like the AppVar, which contains
your shell Password.

Tasker Interrupt In Programs - One of the coolest features
that MirageOS contains is the ability to carry out certain Tasks while
ION and MirageOS programs are executing. We use an Interrupt Routine,
enabled during programs, that allows special Hotkeys to accomplish various
tasks at any point in a program. The tasks we have incorporated are
changing the contrast level, Powering-Down and resuming the program
later, quitting back to the shell or the homescreen at any point (like
a Teacher-Key), speeding up and slowing down the program execution, and
even taking screenshots of the LCD anytime and sending that to one of
the PicX variables. This feature does not work in Basic
programs, and even some ION programs, but will work in most, if not
all, MirageOS programs.

Assembly Program Development - MirageOS enhances ASM program
development for the TI-83 Plus by allowing MirageOS developers access to
many more built-in subroutines than ION provides. These routines are for
general use, and are well optimized for speed since size wasnt a big
problem in our FlashApp. It also allows for MirageOS programs to be
smaller since they do not have to include routines straight into their
sources, but can call the built-in ones instead. We also give a system
of easily adding a user Interrupt routine along with the Tasker Interrupt
routine, so that MirageOS programs have the ability to execute code
outside of their main code. There are various other features for
development purposes too, which are all explained in the Developer
Information section of this MirageOS Homepage.

System Memory Benefits - By using MirageOS, there are many
underlying features that aren't seen, but improve the usage of programs
on your calculator, regarding the RAM and FlashROM. As a Flash
Application, the shell resides in ROM and executes there, as opposed to
being located in RAM to run programs. For this reason, Assembly programs
have more potential FreeRAM to use, and can be larger in size, nearly
24 Kb. MirageOS can run programs that have been Archived into the FlashROM
for long-term storage, by moving the data to RAM first. Some programs
write back data to themselves, for saving things such as high-scores,
however, that causes an Archived program to be Re-Archived, which is
somewhat harmful to the FlashROM if there are many writes. Our shell
gives the option to Not write back programs, with the only downside of
not being able to save recent data changes in the program. Another thing
is that External Levels for programs may be located in RAM, or in FlashROM
where they are safer, and MirageOS handles them appropriatly either way.
Lastly, there is no limit on the number of programs the shell can detect,
as some shells have. The only limitation for the number of programs you
can keep on your calculator is the amount of memory available.

Environmentally Friendly - MirageOS supports kindness to the
environment in which we live in. We advocate to "Save The Whales", which
implies other Environmentally-Friendly actions, and respect for the
creatures of this planet... Thank you for your support. :)

NOTE: No animals were harmed during the development and
testing of this Flash Application.

View this large and comprehensive
guide to find out any information relating to the usage of our Flash
Application shell. This guide has detailed documents about all of the
functions that can be carried out, all the options and their purposes,
what keys do what in any part of the shell, and tips on how to improve
your usage experience with MirageOS. Here you will also find many
screenshots that we have taken from every section of the shell, and
we point out the various aspects of each screen that is useful for the
user to know.

This section of our website
contains a listing of software and files relating to MirageOS,
specifically the Graphical User Interfaces that are available
to the public, and also any Assembly source material we provide
to other developers. We have chosen not to include the Assembly
programs and games made by the public for MirageOS, because to
manage all the files that will emerge in the future would be
too much for our staff to handle while they work on their own
projects. We will leave the archiving of any TI-83 Plus programs
to the other major TI websites, which we support, and the TCPA
will also take part in releasing RAM programs that coincide with
our Flash Application shell.

Here you will find a great amount
of information regarding Assembly Program Development for our Flash
Application shell. We provide documentation on the required format that
MirageOS-specific programs must have, and the files needed that allow
you to compile them for the TI-83 Plus. We also provide information
about the development standards that programmers should take on when
writing for this shell, as well as the Include files that contain RAM
locations and subroutine entry point addresses that are used. We give
thorough information about the Built-In subroutines of our shell, their
Input and Output info, the Registers used in the routines, and even
sample sources on programming usage of the routines. This section of
our webpage also contains information about how to create Graphical
User Interfaces that can be used with MirageOS.