www.detachedsolutions.com
Detached Solutions Title


The MirageOS User's Manual


Memory Management :  AppVar Information


MirageOS uses an AppVar which is a variable specially assigned for Flash Application use, to keep track of all the user options and folder information. The AppVar is named "MirageOS", which you can find near the bottom of your Mem menu above the FlashApps, and it has an initial size of 42 bytes. It will grow in size as you create more folders within the shell, and the name lengths of those folders also varry the size of the AppVar. To the right you will find a picture of the Mem menu of the TI-83 Plus where you can see our AppVar located after the shell has been executed once.
  

All of the options found on the Options Screen are stored within the AppVar, so the custom state of the last time you executed MirageOS will be restored the next time it is started. The AppVar is stored in FlashROM so that it does not have to reside in Ram, wasting FreeRam, and having the risk of being accidentally deleted or lost upon a Ram Reset. If you have set a Password, that data is also stored within the AppVar, and if it is deleted, the Password is lost and then anyone will be able to get into MirageOS. To protect your AppVar from malicious deletion, you can block access to the Mem menu of the TI-OS by enabling one of the Key Hooks located in the Options Screen under the category "Tasker And Key Hooks". If you do this and forget your Password, you will have to reset the Ram in order to disable the Key Hook that is set to block access to the Mem menu.

The shell unarchives and rearchives the AppVar whenever needed, however, we are cautious about the number of writes the FlashROM can take, so we do this as infrequently as possible. The contents of the AppVar are copied to Ram when you enter the Options Screen, and if any options have a different state upon leaving the Options Screen, that is when we rearchive the AppVar. This includes switching the current interface as well.

MirageOS alters the contents of the AppVar forcing it to be rearchived, whenever the user Creates, Renames, or Deletes a folder. The Sort states of each of your folders are also kept within the appvar, so that sort method will be carried out on your folders each time the shell is started and a new program is introduced into memory. Whenever the user changes the sort state of a folder, we have to rearchive the AppVar, but we don't expect for such a process to occur often.

If you ever want to reset MirageOS options and folders completely back to the default, you should choose the command "Reset System Defaults" from the Main Options screen. This will return all options to their starting states, and delete all folders that have been created, returning all programs to the MAIN folder. If you want to reset defaults but can't get into MirageOS for some reason (like you forgot your Password), you can delete the MirageOS AppVar and all settings and folders will be reset to the default.


Memory Management : FlashROM Aspects

MirageOS is a FlashROM Application requiring one full Rompage (16 KB) of your Archive memory. This is beneficial to TI-83 Plus users since the amount of FreeRAM available is not as great as the size of the Archive. Since MirageOS resides in FlashROM, more potential Ram space is allowed for Assembly programs to execute in, therefor allowing the possibility of larger programs (about 24 KB). The shell requires a small amount of extra FreeRAM and ROM space for AppVar management, that is space in Ram to copy the AppVar data to, and space in the Archive where the AppVar is stored. The remaining space on your calculator, RAM and FlashROM, can be used to store any other programs, variables, or applications that you want. To remove MirageOS from your TI-83 Plus, you can just delete it from memory through the Mem menu. The AppVar will not be deleted, so you will have to delete that manually as well.

Most users of the TI-83 Plus will archive their programs into FlashROM, and MirageOS can handle executing those programs by moving them to RAM first, and then rearchiving the program once it is finished executing. Some programs use a method of storing data back to themselves for safe keeping of recent data such as high scores, and this programming technique is called Program-Writeback. Our shell cannot disallow the ability for programs to write back to themselves since it is a vital aspect of ASM development in several cases, and these changes are meant to be saved, so our shell rearchives programs that are initially located in FlashROM. We have implemented a system to help protect the FlashROM memory though, by allowing programs to not be rearchived upon the user's choice. First, programs are only rearchived if any changes have been made that requrie saving. Second, there is an Option in the "Miscellaneous Options" section, which says to "Allow Write-Back In Archived Progs". If this option is Unchecked, then we do not unarchive the program and simply copy its data to RAM for execution, then no rearchive is necessary. The one downside to this feature is that Assembly programs will not be able to store their current data such as high scores. Some users do not mind losing the latest score from a program, and would rather have this better management of the Archive memory. Turning off this option will decrease loading and unloading time, and prevent wear of your Flash memory.















Copyright © 2000-2018  Detached Solutions
Last Modified: 2004-05-10 19:04:29 GMT