The Tasker Interrupt is a great, innovative feature we have incorporated
into MirageOS, which allows for the user to do specific Tasks during the
execution of ION and MirageOS programs. We use the technology that the
Z80 Assembly processor allows us, and enable an Interrupt routine that
constantly executes behind the regular execution of the current program.
In this Interrupt routine, we check for the ON key to be pressed and when
it is, our routine Pauses program and scans the keypad for other keys to
be pressed. Specific tasks that are assigned to those keys are then carried
out, which can be very beneficial to the User of the calculator.
The different processes we have programmed into the Tasker Interrupt are:
1.) Immediatly quit to the shell, 2.) Immediatly quit to the Homescreen,
3.) Power Down the calculator at any point in a program, 4.) Change the
contrast level of the display, 5.) Take a screenshot of the contents of
the LCD screen, and store it to a picture variable, and 6.) Alter the
execution speed of the program, with two settings of speeding it up, and
two settings of slowing down the program. Look below in the next section
of this page to find out the details on each of these processes, and to
see which keys activate them during the executing of a program.
This Tasker Interrupt is similar to the one used in the TI-86 shell, YAS,
however we have chosen to make our Interrupt routine be non-graphical,
since the TI-83 Plus has limitations that the TI-86 doesn't. The TI-83
Plus has an LCD Driver, rather than a memory-mapped display like the
TI-86, and this prevents us from writing anything to the screen, which
would certainly mess up the display of the currently running program.
There is not an easy way of saving the contents of the current screen
and being able to restore it later, so we have chosen not to allow a
type of visable menu, but instead make the Tasker Interrupt a system
of Hotkeys. You must memorize which keys do what processes, however,
the keys we have assigned are fairly obvious for what they do, so you
shouldn't have too much difficulty there.
We do not garuntee that the Tasker Interrupt will work flawlessly in
all programs or even activate at all. This is due to the fact that
some ION programs purposely disable the Interrupt, because they think
it gains speed in their programs, or they may use an Interrupt of their
own which could temporarily overwrite ours. All programs that are made
for MirageOS should be able to use the Tasker Interrupt, since we have
set standards for MirageOS developers on how to manage the Interrupt
routine so that it will work properly. We have purposely disallowed
this feature from working in TI-82 or BASIC programs, because it is
far too complicated for us to make this work. TI-82 programs use many
different memory locations from the TI-83 Plus, so it isnt possible
for us to setup an Interrupt routine in a fixed location while the
shell is emulating TI-82 programs. BASIC programs are greatly involved
with the TI-OS, which does a great amount of work to run these type of
programs. We are unable to control all the things that the TI-OS may
do in a BASIC program, which could disrupt the function of the
Tasker Interrupt in working properly. Despite some of the limitations
mentioned here, we believe for our Tasker Interrupt to work in most
cases, and be a great asset to the users of MirageOS.
Tasker
Interrupt :
Tasker Key Processes |
|
Here is a list of all the processes that we have allowed the Tasker
Interrupt to carry out from ION and MirageOS programs. In this table
you will find the category of the specific process, the keypress on
how to acheive that, and then detailed information pertaining to
each of the Tasks.
Exit Back To MirageOS |
ON + CLEAR |
This task will immediatly break execution of the current running program
and return the user back to the shell. This is helpful for exiting a
program quickly, so you dont have to follow its own path of exiting,
and lets you return to the shell to run another program. Using on+^ instead of on+clear will exit immediately and disallow program writeback. See Note Below.
|
|
|
Exit To The Homescreen |
ON + MODE |
This task will immediatly break execution of the current running program
and send you to the Homescreen of the TI-OS. This type of task has been
known as a "Teacher Key" or "Boss Key", so you can quickly exit a program
and look as if you are doing mathmatical computations from the Homescreen.
:) See Note Below.
|
|
|
Power Down Calculator |
ON + DEL |
This task lets you Power Down the calculator at any point in a program, the
same way the calc is shut down from the homescreen with 2nd+ON. This is
beneficial for halting the program and turning off your calculator for the
time being so you can come back to it later. The ON key will turn the
calculator back on again, to resume the program.
|
|
|
Change Contrast Level |
ON + PLUS/MINUS |
This task lets you alter the Contrast Level of the display from any point
in a program, by using the Plus and Minus keys, the way contrast is altered
from the shell. This is helpful in some fast action games where a lot of
the activity is blurry, and you would like to alter your contrast level
to improve the visability of the game.
|
|
|
Take Screenshot To PicX |
ON + NUMBER |
This task lets you capture the current contents of the LCD screen, and
send that picture to one of the PicX variables on the calculator, where
X is the value 0-9. For example, you would press ON+1 to send the screen
to Pic1, and be able to view that from the TI-OS later. Note: You must
have the particular PicX variable already created in order to store the
screen to that variable. If it has not been created, the Tasker Interrupt
will not carry out this process.
|
|
|
Alter Execution Speed |
ON + TOP KEY |
This task allows you to Speed Up or Slow Down the execution of the
current running program. By pressing ON+YEquals or ON+Window, the
program will run faster in some cases. Pressing ON+Trace or ON+Graph,
the program will run slower, and pressing ON+Zoom will return the
program to its regular execution speed.
Fastest Fast Normal Slow Slowest
To make a program faster, we change the value of the Interrupt port,
so that Interrupts are called less often, and the program runs its
code more often, and we don't garuntee for this to work in all
programs. To make a program slower, we add in more delays in the
Interrupt routine, so there are slight pauses constantly, which
makes the program run slower as a whole.
|
|
|
NOTE: When using the "Exit Back To MirageOS" and "Exit To The Homescreen" tasks,
most programs will be aborted without having a chance to clean up anything they
altered in the TI-OS, so some oddities may be present after using these processes.
In MirageOS programs, however, we give developers the ability to finish up what
they need to in their programs, before MirageOS aborts it. The results will be
better for these two Exiting Tasks in those cases.
Key
Hooks : TI-OS Special
Hotkeys |
|
In MirageOS, we have implmented the ability for special Hotkeys to be used
during the TI-OS, which have specific purposes relating to our shell. Since
MirageOS is a Flash Application at a fixed location in ROM, it has the
ability to add Key Hooks to the key routine of the TI-OS (that uses 2nd
and Alpha as shift keys), and normal Assembly programs do not have this
ability.
The first thing we have programmed that uses Key Hooks in the TI-OS and
relates to Hotkeys is the Quick Key Repeat feature. This option can be
enabled from the Options Screen, and its purpose is to remove the delay
that occurs during the TI-OS when you hold down a key. An example of this
working is when you are in the PRGM menu and press down, there becomes
a slight delay and the keypress of Down does not repeat immediatly.
Setting this flag will alleviate the delay and repeat the key quickly.
This Key Hook is beneficial when doing some typing of commands or text
and you want to shift from one character or token to the next, without
having the pause in there that can sometimes be annoying. In some
instances, this Quick Key Repeat is too fast, so you may not want to
enable this Key Hook all the time. Note: This feature does not affect
the keys during the shell or programs, but only during the TI-OS.
The next Hotkey we have implemented is the ability to Power Down the calculator
from anywhere in the TI-OS by pressing ALPHA then ON, and being able to
resume where you left off in the TI-OS. If you shut down the normal way
by pressing 2ND then ON, turning the calculator will send you back to the
Homescreen, and not let you resume where you last left off. This Hotkey
is beneficial to use in some cases when you are working on the calculator,
such as when typing code into the BASIC editor, and you want to come back
to that place later without having to search through the BASIC program again.
Other examples are when working in the Matrix, List, or Function editors,
where you may want to temporarily Power Down, and resume there later.
Another Hotkey we have added allows the user to start up MirageOS from
anywhere in the TI-OS by pressing the APPS key and then ON, or holding ON
and then pressing APPS. This is faster than pressing APPS, waiting for
the menu of applications to load, and then selecting MirageOS from the
list. Note that if you are on the APPS menu, the previous Hotkey of
powering down with ALPHA+ON will not work, since the APPS key Hotkey
will be activated first and start up the shell when you press ON. This
Hotkey and the previous ones can be turned on and off from the Options
menu of our MirageOS under the category "Tasker And Key Hooks".
The last thing we have implemented that relates to Key Hooks in the TI-OS
is the ability to block access from the Memory menu. We use Hotkeys in
a way to detect if 2nd+PLUS had been pressed, which would take the user
to the Mem menu, and we cancel out that key process. This is beneficial to
the user of the calculator if they want to block out anyone from accessing
their programs and variables, especially the AppVar named "MirageOS" that
our shell uses, and contains the currently set Password. If another person
were to have your calculator and be inside the TI-OS, they could not get
into MirageOS without the Password you have set. However, if they get to
the Mem menu to delete your appvar, the Password will be erased. To prevent
this from happening, we have implemented this Hotkey, which you can
activate from the Options menu in MirageOS.
Here is a summary of the Keys and their Functions we have allowed as
Special Hotkeys in the TI-OS through the use of Key Hooks:
- Quick Key Repeat : Removes the delay of a keypress in the TI-OS.
- ALPHA+ON : Shut down the calculator from anywhere in the TI-OS.
- APPS+ON or ON+APPS : Quickly start up our Flash Application shell.
- 2ND+PLUS : Block any access to the Memory menu for protection.