Interactive Manual › Chapter 18
Chapter 18: Memory and Variable Management
Check free memory, delete variables, clear the last-entry storage and all lists, archive and unarchive variables, group variables, run garbage collection and reset RAM, defaults, archive or all memory from the MEMORY menu.
Deleting Items from Memoryp. 329
You can free memory by deleting the contents of any variable: a real or complex number, list, matrix, Y= variable, program, App, AppVar, picture, graph database or string.
- Press 2ndMEM to open the MEMORY menu.
- Choose 2:Mem Mgmt/Del.
- Choose the type of data you want to delete, or 1:All for a list of every variable of every type. A screen appears listing each variable of that type with the bytes it uses. For example, 4:List shows the lists.
- Press ▲︎ or ▼︎ to move the selection cursor (▶) next to the variable, then press DEL. The variable is deleted at once, with no confirmation. You can delete as many variables as you like from this screen.
To leave a variable screen without deleting anything, press 2ndQUIT, which returns to the home screen.
Ans and the statistics variable RegEQ.Delete a list from memory
You will delete list L₁ from the List screen of Mem Mgmt/Del.
▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go
- Open the MEMORY menu and choose 2:Mem Mgmt/Del.2ndMEM2
- Choose 4:List to see the lists. The selection cursor is on the first one, L₁.4
- Press DEL to delete the list under the cursor. No confirmation is asked.DEL
- Press 2ndQUIT to go back to the home screen. L₁ is now empty and L₂ is untouched.2ndQUIT
Clearing Entries and List Elementsp. 329
Two MEMORY menu commands clear data in bulk: 3:Clear Entries wipes the ENTRY storage, and 4:ClrAllLists empties every list.
Clear Entriesp. 329
The calculator remembers the last entries you ran on the home screen so that 2ndENTRY (ENTRY) can recall them. Clear Entries empties that ENTRY storage area.
Clear EntriesClears the ENTRY storage area, so 2ndENTRY no longer recalls earlier entries. It takes no arguments.
Clear Entriesthen ENTER empties the stored entries.
- Press 2ndMEM to open the MEMORY menu.
- Choose 3:Clear Entries. The instruction is pasted onto the home screen.
- Press ENTER to clear the ENTRY storage area.
To cancel before running it, press CLEAR.
Clear the ENTRY storage area
First run two calculations so there is something stored, then clear it.
▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go
- Type and run a first calculation.1+1ENTER
- Run a second one.2+2ENTER
- Open the MEMORY menu and choose 3:Clear Entries. The command is pasted on the home screen.2ndMEM3
- Press ENTER to run it. The stored entries are gone; 2ndENTRY has nothing older to recall.ENTER
ClrAllListsp. 330
ClrAllLists sets the dimension of every list in RAM to 0, which removes all their elements at once. It does not delete the lists themselves: the names stay in the LIST NAMES menu and in the stat list editor, just empty.
ClrAllListsSets the dimension of every list in memory to 0. List names are kept.
- With
{1,2,3}→L₁stored,ClrAllListsmakesdim(L₁)equal 0.
- Press 2ndMEM to open the MEMORY menu.
- Choose 4:ClrAllLists. The instruction is pasted onto the home screen.
- Press ENTER to set every list in memory to dimension 0.
To cancel before running it, press CLEAR.
Clear every list at once
▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go
- Open the MEMORY menu and choose 4:ClrAllLists. The command is pasted on the home screen.2ndMEM4
- Press ENTER to run it. Both lists now have dimension 0.ENTER
Archiving and UnArchiving Variablesp. 330
Archiving moves data, programs and other variables into the user data archive (ARC). Archived variables are protected: you cannot edit or delete them by accident. Archiving also frees up RAM for variables that need more room.
An archived variable can only be looked at and unarchived. For example, if you archive list L₁ you will still see L₁ listed in memory, but pasting L₁ on the home screen will not show its contents and you cannot edit it. You can still link, delete or unarchive it.
Archive variableMoves a variable from RAM to the user data archive. An asterisk then appears in front of the name in the memory screens. Archive needs enough free archive space for the variable.
Archive L₁then ENTER archives list L₁.
UnArchive variableMoves an archived variable back into RAM, so it can be used and edited again. RAM must have enough free space for the variable.
UnArchive L₁then ENTER returns list L₁ to RAM.
You can archive and unarchive in two ways: use the 5:Archive and 6:UnArchive commands (from the MEMORY menu or the CATALOG), or use the Memory Management editor screens.
Before archiving or unarchiving something big, such as a large program, check its size and the free space in the MEMORY MANAGEMENT screen. The sizes must satisfy these conditions:
| To do this | Sizes must be such that |
|---|---|
| Archive | archive free size > variable size |
| UnArchive | RAM free size > variable size |
| Variable type | Names | Archive? | UnArchive? |
|---|---|---|---|
| Real numbers | A, B, ... , Z | yes | yes |
| Complex numbers | A, B, ... , Z | yes | yes |
| Matrices | [A], [B], [C], ... , [J] | yes | yes |
| Lists | L₁, L₂, L₃, L₄, L₅, L₆, and user-defined names | yes | yes |
| Programs | user-defined names | yes | yes |
| Functions | Y₁, Y₂, ... , Y₉, Y₀ | no | not applicable |
| Parametric equations | X₁T and Y₁T, ... , X₆T and Y₆T | no | not applicable |
| Polar functions | r₁, r₂, r₃, r₄, r₅, r₆ | no | not applicable |
| Sequence functions | u, v, w | no | not applicable |
| Stat plots | Plot1, Plot2, Plot3 | no | not applicable |
| Graph databases | GDB1, GDB2, ... | yes | yes |
| Graph pictures | Pic1, Pic2, ... , Pic9, Pic0 | yes | yes |
| Strings | Str1, Str2, ... , Str9, Str0 | yes | yes |
| Tables | TblStart, ΔTbl, TblInput | no | not applicable |
| Apps | Applications | see the note above | no |
| AppVars | Application variables | yes | yes |
| Groups | group names | see the note above | no |
| Variables with reserved names | minX, maxX, RegEQ, and others | no | not applicable |
| System variables | Xmin, Xmax, and others | no | not applicable |
Archiving with a Memory Management Editor Screenp. 332
You can also archive from the Mem Mgmt/Del screens. On any variable screen, put the cursor next to a variable and press ENTER: an asterisk appears to its left and the variable is archived. To unarchive it, put the cursor next to the archived variable and press ENTER again; the asterisk disappears.
- Press 2ndMEM to display the MEMORY menu.
- Choose 2:Mem Mgmt/Del to open the MEMORY MANAGEMENT/DELETE menu.
- Choose 4:List to see the lists.
- Move the cursor to L₁ and press ENTER to archive it. An asterisk appears beside L₁. Press ENTER on an archived variable to unarchive it.
- Press 2ndQUIT to leave the list screen.
Archive and unarchive L₁ from the List screen
▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go
- Open the MEMORY menu, then 2:Mem Mgmt/Del, then 4:List. The cursor is on L₁.2ndMEM24
- Press ENTER to archive L₁. An asterisk appears to its left.ENTER
- Press ENTER again with the cursor still on L₁ to unarchive it. The asterisk disappears.ENTER
- Press 2ndQUIT to leave.2ndQUIT
Resetting the TI-84 Plusp. 333
7:Reset... opens the RAM ARCHIVE ALL menu. It lets you reset everything, including the default settings, or reset only selected parts of memory while keeping the rest, such as your programs and Y= functions. For example, you can reset all of RAM, or just put the settings back to their defaults.
Be careful: resetting RAM erases all data and programs in RAM. For the archive you can reset variables (Vars), applications (Apps) or both. Resetting archive Vars erases all data and programs in the archive, and resetting archive Apps erases all applications in it.
Resetting the defaults restores all defaults in RAM to the factory settings. Stored data and programs are not changed. Some of the defaults that come back:
- Mode settings:
Normalnotation,Funcgraphing,Realnumbers andFullscreen. - All Y= functions turned off.
- Window variables: Xmin=⁻10, Xmax=10, Xscl=1, Yscl=1 and Xres=1.
- All STAT PLOTS turned off.
- Format settings: CoordOn (graph coordinates on), AxesOn and ExprOn (expression on).
- The
randseed value set back to 0.
Display the RAM ARCHIVE ALL menu
▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go
- Open the MEMORY menu.2ndMEM
- Choose 7:Reset. The RAM tab of the menu appears with 1:All RAM and 2:Defaults.7
- Press ▶︎ to see the ARCHIVE tab.▶︎
- Press ▶︎ again for the ALL tab.▶︎
- Press CLEAR to leave without resetting anything.CLEAR
Resetting RAM Memoryp. 334
Resetting all RAM puts the RAM system variables back to factory settings and deletes every non-system variable and all programs. Resetting RAM defaults puts every system setting back to its default but does not delete variables or programs. Neither one touches the variables and Apps in the user data archive.
- From the RAM ARCHIVE ALL menu, choose 1:All RAM to open the RESET RAM menu, or 2:Defaults to open the RESET DEFAULTS menu.
- For RESET RAM, read the message under the menu.
- To cancel and return to the home screen, choose 1:No.
- To go ahead, choose 2:Reset. The home screen shows
RAM clearedorDefaults set.
Reset all RAM
This erases variables and programs in RAM. It is safe here: the tutorial runs in a sandbox.
▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go
- Open the MEMORY menu and choose 7:Reset.2ndMEM7
- Choose 1:All RAM. The RESET RAM menu asks you to confirm.1
- Choose 2:Reset to erase RAM. The home screen reports
RAM cleared.2
Reset the defaults only
Defaults restores your settings (here the angle mode) but keeps your stored variables.
▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go
- Check the angle mode. In Degree mode sin(90) is 1.SIN90)ENTER
- Open the MEMORY menu, choose 7:Reset, then 2:Defaults.2ndMEM72
- Choose 2:Reset. The home screen reports
Defaults set.2 - The mode is back to Radian, so sin(90) is about 0.894. Your variable A is untouched.
Resetting Archive Memoryp. 335
When you reset archive memory you choose what to delete from the user data archive: all variables, all applications, or both.
- From the RAM ARCHIVE ALL menu, press ▶︎ to display the ARCHIVE menu.
- Choose 1:Vars (RESET ARC VARS), 2:Apps (RESET ARC APPS) or 3:Both (RESET ARC BOTH).
- Read the message under the menu. To cancel and return to the home screen, choose 1:No.
- To continue, choose 2:Reset. A message on the home screen says which kind of archive memory was cleared.
Reset archive variables
You will archive a list and then wipe the archive variables.
▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go
- Open the MEMORY menu, choose 7:Reset, then press ▶︎ to reach the ARCHIVE tab.2ndMEM7▶︎
- Choose 1:Vars. The RESET ARC VARS menu asks you to confirm.1
- Choose 2:Reset to erase the archive variables. The home screen confirms.2
Resetting All Memoryp. 336
Resetting all memory restores both RAM and the user data archive to factory settings. All non-system variables, applications and programs are deleted, and all system variables go back to their defaults. It is the most drastic option, so first consider deleting only the items you do not need.
- From the RAM ARCHIVE ALL menu, press ▶︎ twice to display the ALL menu.
- Choose 1:All Memory to open the RESET MEMORY menu.
- Read the message under the menu. To cancel and return to the home screen, choose 1:No.
- To continue, choose 2:Reset. The home screen shows
MEM cleared.
Reset all memory
▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go
- Open the MEMORY menu, choose 7:Reset, and press ▶︎ twice to reach the ALL tab.2ndMEM7▶︎▶︎
- Choose 1:All Memory. The RESET MEMORY menu asks you to confirm.1
- Choose 2:Reset. The home screen shows
MEM clearedand everything is back to factory state.2
Grouping and Ungrouping Variablesp. 336
Grouping lets you make a copy of two or more variables from RAM and store them together as one group in the user data archive. The originals stay in RAM. Once a group exists you can delete the variables from RAM to free memory and later ungroup them to get them back.
The variables must exist in RAM before you can group them. Archived variables cannot be added to a group.
Grouping Variablesp. 336
- Press 2ndMEM to display the MEMORY menu.
- Choose 8:Group to display the GROUP UNGROUP menu.
- Press ENTER on 1:Create New to start a new group.
- Type a name for the group (alpha-lock is on) and press ENTER.
- Choose the type of data to group. 1:All+ lists every variable of every type with all of them already selected. 2:All- lists every variable of every type with none selected. Other entries list one type only.
- Move the cursor to the first variable you want in the group and press ENTER. A small square stays to the left of each selected variable. Repeat for every variable you want, then press ▶︎ to move to DONE.
- Press ENTER to complete the grouping.
Ans and RegEQ, cannot be grouped.Create a group of variables
You will group the real variable A and the list L₁ into a new group called ABC.
▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go
- Open the MEMORY menu and choose 8:Group. The GROUP tab offers 1:Create New.2ndMEM8
- Press ENTER to start a new group. A
Name=prompt appears with alpha-lock already on.ENTER - Type the name ABC. Alpha-lock is on, so just press the keys whose green letters are A, B and C. Do not press ALPHA, which would turn the lock off. Then press ENTER.MATHAPPSPRGMENTER
- Choose 2:All-. This lists every variable in RAM with none selected yet.2
- Press ENTER to select the first variable (a small square marks it), then ▼︎ and ENTER to select the second.ENTER▼︎ENTER
- Press ▶︎ to move to the DONE tab, then ENTER to complete the grouping. The home screen shows
Done.▶︎ENTER - To check, open Mem Mgmt/Del and choose the Group screen (the last entry, reached by pressing ▲︎ from the top of the list). Group ABC is listed.2ndMEM2▲︎ENTER
- Press 2ndQUIT to leave.2ndQUIT
Ungrouping Variablesp. 338
Ungrouping copies the variables in a group from the user data archive back into RAM, as ordinary separate variables.
- Press 2ndMEM to display the MEMORY menu.
- Choose 8:Group to display the GROUP UNGROUP menu.
- Press ▶︎ to display the UNGROUP menu.
- Press ▲︎ or ▼︎ to put the selection cursor next to the group you want, then press ENTER. The ungroup is carried out.
Ungroup a group of variables
A group ABC holding A and L₁ already exists. You will delete the originals from RAM and bring them back by ungrouping.
▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go
- Remove the originals from RAM: store 0 in A.0STO►ALPHAAENTER
- Clear the lists with 4:ClrAllLists from the MEMORY menu and press ENTER.2ndMEM4ENTER
- Open the MEMORY menu, choose 8:Group, and press ▶︎ to see the UNGROUP tab. Group ABC is listed.2ndMEM8▶︎
- With the cursor on ABC, press ENTER. The variables are copied back to RAM.ENTER
The DuplicateName Menup. 338
If the variable being ungrouped has the same name as one already in RAM, ungrouping pauses and shows the DuplicateName menu so you can decide what to do.
With 1:Rename a Name= prompt appears with alpha-lock on. Type a new variable name and press ENTER, and ungrouping resumes. 2:Overwrite replaces the variable that is in RAM with the one from the group. 3:Overwrite All does that for every duplicate without asking again. 4:Omit leaves the RAM variable alone and moves on to the next one in the group. 5:Quit stops ungrouping; whatever was already ungrouped stays.
Ungroup when a variable name is already in use
Group ABC holds A=5 and L₁. This time the originals are still in RAM, so the DuplicateName menu appears.
▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go
- Change A so you can see what Overwrite does.9STO►ALPHAAENTER
- Open the MEMORY menu, choose 8:Group, press ▶︎ for the UNGROUP tab, and press ENTER on ABC.2ndMEM8▶︎ENTER
- Choose 3:Overwrite All. Every duplicate is overwritten with the grouped copy and ungrouping finishes.3
Garbage Collectionp. 339
Garbage collection tidies the archive so that free space is gathered into usable blocks. It happens automatically when you archive something and there is no single free block big enough, and you can also trigger it yourself.
The Garbage Collect? Messagep. 339
If you use the user data archive a lot, you may see a Garbage Collect? message. It appears when you try to archive a variable and there is not enough free contiguous archive memory. The message warns you that archiving will take longer than usual, and that it will fail if there still is not enough room.
It can also be a clue that a program is stuck in a loop that keeps filling the archive. If you suspect that, choose No to cancel, then find and fix the problem in the program.
Defragmenting... is shown when an application marked for deletion is found. On a real calculator garbage collection can take up to 20 minutes, depending on how much of the archive is in use.When garbage collection ends, the variable may or may not have been archived, depending on how much space was freed. If it was not, unarchive some variables and try again.
Why Is Garbage Collection Necessary?p. 340
The user data archive is divided into sectors. When you start archiving, variables are stored one after another in sector 1, up to the end of the sector.
An archived variable occupies one continuous block inside a single sector; it cannot cross a sector boundary. If a variable does not fit in what is left of the sector, it is placed at the start of the next sector, which usually leaves an empty block at the end of the previous one. Each new variable goes into the first empty block big enough to hold it, all the way to the last sector. Those leftover empty blocks can add up to a lot of space. Garbage collection is needed when the variable you are archiving is bigger than every empty block.
How Unarchiving a Variable Affects the Processp. 341
When you unarchive a variable, it is copied to RAM but is not really removed from the archive. It is only marked for deletion, and is actually deleted at the next garbage collection.
If the MEMORY screen shows enough free space. You can still get a Garbage Collect? or ERR:ARCHIVE FULL message even when the Mem Mgmt screen says there is room. When you unarchive a variable, the ARC FREE figure goes up immediately, but the space is not really usable until after the next garbage collection. If ARC FREE shows enough room for your variable, there will probably be enough after garbage collection, depending on how usable the empty blocks are.
The Garbage Collection Processp. 341
Garbage collection does two things:
- It deletes the unarchived variables (the ones marked for deletion) from the user data archive.
- It rearranges the variables that remain into consecutive blocks, which merges the empty blocks into one larger free area.
Using the GarbageCollect Commandp. 342
You can cut down on automatic garbage collections by running the GarbageCollect command now and then to optimize memory.
GarbageCollectStarts garbage collection of the user data archive after you confirm the Garbage Collect? message. Takes no arguments.
GarbageCollectthen ENTER shows the Garbage Collect? message; choose 2:Yes to run it.
- On the home screen, press 2ndCATALOG to display the CATALOG.
- Press ▼︎ or ▲︎ to scroll to GarbageCollect, or press ALPHAG (G) to jump to the commands that start with G.
- Press ENTER to paste the command onto the home screen.
- Press ENTER to display the Garbage Collect? message.
- Choose 2:Yes to start.
Run GarbageCollect from the CATALOG
▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go
- Open the CATALOG.2ndCATALOG
- Press ALPHAG to jump to the entries that start with the letter G. The cursor lands on the first G command; scroll with ▼︎ if GarbageCollect is not selected yet.ALPHAG
- Press ENTER to paste the command onto the home screen.ENTER
- Press ENTER to run it. The Garbage Collect? message appears.ENTER
- Choose 2:Yes to begin garbage collection. It finishes at once here and you return to the home screen.2
ERR:ARCHIVE FULL Messagep. 343
The ERR:ARCHIVE FULL message can appear in two situations:
- There is not enough room to archive a variable in one continuous block within a single sector.
- There is not enough room to store an application in one continuous block of memory.
The message also tells you the largest single block of memory available for storing a variable and for storing an application. To fix the problem, run the GarbageCollect command (Using the GarbageCollect Command) to optimize memory. If there is still not enough room, delete variables or applications to make space.