TI-84 Plus Silver Edition EmulatorInteractive ManualGuidebook PDFOpen the calculator + guided tutorials ▶

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.

Checking Available Memory: the MEMORY Menup. 326

The MEMORY menu is where you see how much memory is left, find out what is using it, and tidy it up. Press 2ndMEM (MEM) from anywhere to open it.

The calculator has three kinds of storage. RAM holds your calculations, lists, variables and data while you work. The Archive (also called the user data archive) is a protected area for programs, groups and other variables that you want to keep safe and out of the way of RAM. App slots are the sectors of flash memory where applications are installed.

Memory of the TI-84 Plus family
CalculatorAvailable RAMAvailable ArchiveApp slots
TI-84 Plus24 kilobytes491 kilobytes30
TI-84 Plus Silver Edition24 kilobytes1.5 megabytes94
Note Some Apps use more than one App slot.
Note In this emulator your memory lives in the browser and is saved automatically. The byte counts shown on the memory screens are the emulator's own approximation of the Silver Edition: roughly 24 KB of RAM and about 1.5 MB of archive. There are no real flash Apps to install.
Tutorial

Open the MEMORY menu

Every task in this chapter starts from the MEMORY menu.

▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go

  1. Press 2ndMEM to display the MEMORY menu. It lists eight items.
    2ndMEM
  2. Press CLEAR to leave the menu without choosing anything.
    CLEAR

Displaying the About Screenp. 327

1:About shows information about the calculator: the type of graphing calculator, the operating system (OS) version, the Product ID, and the Flash Application certificate revision number. On a real calculator each unit has its own 14-digit Product ID; you may need it if you contact technical support, to register the calculator, or to identify it if it is lost or stolen. New OS versions can be installed as upgrades become available.

Note The emulator's About screen identifies the TI-84 Plus Silver Edition, OS 2.55MP, and says it is an independent re-implementation. There is no real Product ID or certificate.
Tutorial

Display the About screen

▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go

  1. Open the MEMORY menu.
    2ndMEM
  2. Choose 1:About. The screen reports the model and OS version.
    1
  3. Press CLEAR to return to the home screen.
    CLEAR

Displaying the MEMORY MANAGEMENT/DELETE Menup. 327

2:Mem Mgmt/Del... opens the MEMORY MANAGEMENT/DELETE menu. The first two lines report the free memory: RAM FREE is the unused RAM and ARC FREE is the unused archive. Below them is a list of variable types. Pick a type to see every variable of that type and the number of bytes it takes. Memory is always measured in bytes.

Use this to decide what to delete when you need room for a new program or App. A small arrow at the top or bottom of the left column means the list scrolls: press ▲︎ or ▼︎ to see more types.

Note The Real, List, Y-Vars and Prgm types never show zero bytes, even after memory has been cleared, because the system always keeps a few built-in variables of those types.
Note Apps are independent applications stored in flash ROM. AppVars is a holder for the variables that Apps create. You can only change AppVars contents from inside the App that made them. The emulator has no installable Apps, so A:Apps and B:AppVars have nothing to list.

To leave the MEMORY MANAGEMENT/DELETE menu (or any of its variable screens), press 2ndQUIT (QUIT) or CLEAR. Both bring you back to the home screen.

Tutorial

Check how much memory is free

▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go

  1. Open the MEMORY menu.
    2ndMEM
  2. Choose 2:Mem Mgmt/Del. The top two lines are RAM FREE and ARC FREE.
    2
  3. Press 2ndQUIT (QUIT) to return to the home screen.
    2ndQUIT
Tutorial

See how much memory your lists use

You will create a list and then look at the List category.

▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go

  1. Open the MEMORY menu, then 2:Mem Mgmt/Del.
    2ndMEM2
  2. Choose 4:List. Each list in memory appears with its size in bytes. The cursor is at L₁.
    4
  3. Leave without changing anything by pressing 2ndQUIT.
    2ndQUIT

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.

  1. Press 2ndMEM to open the MEMORY menu.
  2. Choose 2:Mem Mgmt/Del.
  3. 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.
  4. 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.
Note Deleting a program or an App does ask first: you get an "Are You Sure?" style prompt. Choose 2:Yes to go ahead, or 1:No to cancel.

To leave a variable screen without deleting anything, press 2ndQUIT, which returns to the home screen.

Note Some system variables cannot be deleted. Examples are the last-answer variable Ans and the statistics variable RegEQ.
Tutorial

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

  1. Open the MEMORY menu and choose 2:Mem Mgmt/Del.
    2ndMEM2
  2. Choose 4:List to see the lists. The selection cursor is on the first one, L₁.
    4
  3. Press DEL to delete the list under the cursor. No confirmation is asked.
    DEL
  4. 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 Entries
Clear Entries

Clears the ENTRY storage area, so 2ndENTRY no longer recalls earlier entries. It takes no arguments.

Where: 2ndMEM (MEM) 3:Clear Entries
Keys: 2ndMEM3
  • Clear Entries then ENTER empties the stored entries.
  1. Press 2ndMEM to open the MEMORY menu.
  2. Choose 3:Clear Entries. The instruction is pasted onto the home screen.
  3. Press ENTER to clear the ENTRY storage area.

To cancel before running it, press CLEAR.

Note If you choose 3:Clear Entries while you are editing a program, the instruction is pasted into the program, and the last entry is cleared when the program runs.
Tutorial

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

  1. Type and run a first calculation.
    1+1ENTER
  2. Run a second one.
    2+2ENTER
  3. Open the MEMORY menu and choose 3:Clear Entries. The command is pasted on the home screen.
    2ndMEM3
  4. 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.

ClrAllLists
ClrAllLists

Sets the dimension of every list in memory to 0. List names are kept.

Where: 2ndMEM (MEM) 4:ClrAllLists
Keys: 2ndMEM4
  • With {1,2,3}→L₁ stored, ClrAllLists makes dim(L₁) equal 0.
  1. Press 2ndMEM to open the MEMORY menu.
  2. Choose 4:ClrAllLists. The instruction is pasted onto the home screen.
  3. Press ENTER to set every list in memory to dimension 0.

To cancel before running it, press CLEAR.

Note If you choose 4:ClrAllLists while editing a program, the instruction is pasted into the program, and the lists are cleared when the program runs.
Tutorial

Clear every list at once

▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go

  1. Open the MEMORY menu and choose 4:ClrAllLists. The command is pasted on the home screen.
    2ndMEM4
  2. 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.

Note Not every variable can be archived, and not every archived item can be unarchived. System variables such as r, t, x, y and θ cannot be archived. Apps and groups always live in flash ROM, so there is no need to archive them. Groups cannot be unarchived, but you can ungroup or delete them.
Archive
Archive variable

Moves 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.

Where: 2ndMEM (MEM) 5:Archive, or CATALOG
Keys: 2ndMEM5
  • Archive L₁ then ENTER archives list L₁.
UnArchive
UnArchive variable

Moves an archived variable back into RAM, so it can be used and edited again. RAM must have enough free space for the variable.

Where: 2ndMEM (MEM) 6:UnArchive, or CATALOG
Keys: 2ndMEM6
  • 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 thisSizes must be such that
Archivearchive free size > variable size
UnArchiveRAM free size > variable size
Note If there is not enough space, unarchive or delete variables. When you unarchive a variable, not all the archive memory it used is released straight away, because the system remembers where the variable has been and where it is now in RAM.
Note Even when there seems to be enough free space, you may see a Garbage Collect? message when you archive. Depending on how usable the empty blocks in the archive are, you may need to unarchive some variables to create free space. See Garbage Collection.
Which variable types can be archived and unarchived
Variable typeNamesArchive?UnArchive?
Real numbersA, B, ... , Zyesyes
Complex numbersA, B, ... , Zyesyes
Matrices[A], [B], [C], ... , [J]yesyes
ListsL₁, L₂, L₃, L₄, L₅, L₆, and user-defined namesyesyes
Programsuser-defined namesyesyes
FunctionsY₁, Y₂, ... , Y₉, Y₀nonot applicable
Parametric equationsX₁T and Y₁T, ... , X₆T and Y₆Tnonot applicable
Polar functionsr₁, r₂, r₃, r₄, r₅, r₆nonot applicable
Sequence functionsu, v, wnonot applicable
Stat plotsPlot1, Plot2, Plot3nonot applicable
Graph databasesGDB1, GDB2, ...yesyes
Graph picturesPic1, Pic2, ... , Pic9, Pic0yesyes
StringsStr1, Str2, ... , Str9, Str0yesyes
TablesTblStart, ΔTbl, TblInputnonot applicable
AppsApplicationssee the note aboveno
AppVarsApplication variablesyesyes
Groupsgroup namessee the note aboveno
Variables with reserved namesminX, maxX, RegEQ, and othersnonot applicable
System variablesXmin, Xmax, and othersnonot applicable

Archiving with the MEMORY Menu Commandsp. 332

This is how to archive or unarchive a list such as L₁ with the commands in the MEMORY menu.

  1. Press 2ndMEM to display the MEMORY menu.
  2. Choose 5:Archive or 6:UnArchive to paste the command onto the home screen.
  3. Press 2ndL1 to paste L₁ after it.
  4. Press ENTER to finish.
Note An asterisk is shown to the left of the name of an archived variable, so you can tell it is archived.
Tutorial

Archive and unarchive list L₁ with the MEMORY menu

▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go

  1. Open the MEMORY menu and choose 5:Archive. The command is pasted onto the home screen.
    2ndMEM5
  2. Press 2ndL1 to paste the list name L₁.
    2ndL1
  3. Press ENTER. The calculator archives L₁ and reports Done.
    ENTER
  4. Now reverse it. Open the MEMORY menu and choose 6:UnArchive.
    2ndMEM6
  5. Paste L₁ and press ENTER to move it back into RAM.
    2ndL1ENTER

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.

  1. Press 2ndMEM to display the MEMORY menu.
  2. Choose 2:Mem Mgmt/Del to open the MEMORY MANAGEMENT/DELETE menu.
  3. Choose 4:List to see the lists.
  4. 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.
  5. Press 2ndQUIT to leave the list screen.
Note You can reach an archived variable to link, delete or unarchive it, but you cannot edit it.
Tutorial

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

  1. Open the MEMORY menu, then 2:Mem Mgmt/Del, then 4:List. The cursor is on L₁.
    2ndMEM24
  2. Press ENTER to archive L₁. An asterisk appears to its left.
    ENTER
  3. Press ENTER again with the cursor still on L₁ to unarchive it. The asterisk disappears.
    ENTER
  4. 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.

Note In this emulator your calculator state is saved in the browser. The reset menus work like the real ones, so use them only when you want to start over. Tutorials in this manual run in a sandbox, and your own data is restored when a tutorial ends.

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: Normal notation, Func graphing, Real numbers and Full screen.
  • 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 rand seed value set back to 0.
Tutorial

Display the RAM ARCHIVE ALL menu

▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go

  1. Open the MEMORY menu.
    2ndMEM
  2. Choose 7:Reset. The RAM tab of the menu appears with 1:All RAM and 2:Defaults.
    7
  3. Press ▶︎ to see the ARCHIVE tab.
    ▶︎
  4. Press ▶︎ again for the ALL tab.
    ▶︎
  5. 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.

Tip Before you reset all RAM, think about deleting just the items you do not need to get back enough memory.
  1. 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.
  2. For RESET RAM, read the message under the menu.
  3. To cancel and return to the home screen, choose 1:No.
  4. To go ahead, choose 2:Reset. The home screen shows RAM cleared or Defaults set.
Tutorial

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

  1. Open the MEMORY menu and choose 7:Reset.
    2ndMEM7
  2. Choose 1:All RAM. The RESET RAM menu asks you to confirm.
    1
  3. Choose 2:Reset to erase RAM. The home screen reports RAM cleared.
    2
Tutorial

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

  1. Check the angle mode. In Degree mode sin(90) is 1.
    SIN90)ENTER
  2. Open the MEMORY menu, choose 7:Reset, then 2:Defaults.
    2ndMEM72
  3. Choose 2:Reset. The home screen reports Defaults set.
    2
  4. 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.

  1. From the RAM ARCHIVE ALL menu, press ▶︎ to display the ARCHIVE menu.
  2. Choose 1:Vars (RESET ARC VARS), 2:Apps (RESET ARC APPS) or 3:Both (RESET ARC BOTH).
  3. Read the message under the menu. To cancel and return to the home screen, choose 1:No.
  4. To continue, choose 2:Reset. A message on the home screen says which kind of archive memory was cleared.
Tutorial

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

  1. Open the MEMORY menu, choose 7:Reset, then press ▶︎ to reach the ARCHIVE tab.
    2ndMEM7▶︎
  2. Choose 1:Vars. The RESET ARC VARS menu asks you to confirm.
    1
  3. 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.

  1. From the RAM ARCHIVE ALL menu, press ▶︎ twice to display the ALL menu.
  2. Choose 1:All Memory to open the RESET MEMORY menu.
  3. Read the message under the menu. To cancel and return to the home screen, choose 1:No.
  4. To continue, choose 2:Reset. The home screen shows MEM cleared.
Note Clearing memory can change the screen contrast on a real calculator. If the screen is faded or blank afterwards, adjust the contrast with 2nd▲︎ (darker) or 2nd▼︎ (lighter). The emulator's display is not affected.
Tutorial

Reset all memory

▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go

  1. Open the MEMORY menu, choose 7:Reset, and press ▶︎ twice to reach the ALL tab.
    2ndMEM7▶︎▶︎
  2. Choose 1:All Memory. The RESET MEMORY menu asks you to confirm.
    1
  3. Choose 2:Reset. The home screen shows MEM cleared and 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

  1. Press 2ndMEM to display the MEMORY menu.
  2. Choose 8:Group to display the GROUP UNGROUP menu.
  3. Press ENTER on 1:Create New to start a new group.
  4. Type a name for the group (alpha-lock is on) and press ENTER.
  5. 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.
  6. 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.
  7. Press ENTER to complete the grouping.
Note A group name is one to eight characters long. The first character must be a letter A to Z or θ. The second through eighth characters can be letters, numbers or θ.
Note You can only group variables that are in RAM. Some system variables, such as Ans and RegEQ, cannot be grouped.
Tutorial

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

  1. Open the MEMORY menu and choose 8:Group. The GROUP tab offers 1:Create New.
    2ndMEM8
  2. Press ENTER to start a new group. A Name= prompt appears with alpha-lock already on.
    ENTER
  3. 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
  4. Choose 2:All-. This lists every variable in RAM with none selected yet.
    2
  5. Press ENTER to select the first variable (a small square marks it), then ▼︎ and ENTER to select the second.
    ENTER▼︎ENTER
  6. Press ▶︎ to move to the DONE tab, then ENTER to complete the grouping. The home screen shows Done.
    ▶︎ENTER
  7. 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
  8. 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.

  1. Press 2ndMEM to display the MEMORY menu.
  2. Choose 8:Group to display the GROUP UNGROUP menu.
  3. Press ▶︎ to display the UNGROUP menu.
  4. Press ▲︎ or ▼︎ to put the selection cursor next to the group you want, then press ENTER. The ungroup is carried out.
Note Ungrouping does not remove the group from the archive. To remove the group itself, delete it in the archive (for example from the C:Group screen of Mem Mgmt/Del).
Tutorial

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

  1. Remove the originals from RAM: store 0 in A.
    0STO►ALPHAAENTER
  2. Clear the lists with 4:ClrAllLists from the MEMORY menu and press ENTER.
    2ndMEM4ENTER
  3. Open the MEMORY menu, choose 8:Group, and press ▶︎ to see the UNGROUP tab. Group ABC is listed.
    2ndMEM8▶︎
  4. 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.

Tutorial

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

  1. Change A so you can see what Overwrite does.
    9STO►ALPHAAENTER
  2. Open the MEMORY menu, choose 8:Group, press ▶︎ for the UNGROUP tab, and press ENTER on ABC.
    2ndMEM8▶︎ENTER
  3. 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.

Note In the emulator the archive is a simple list in browser storage, so there is nothing to defragment and garbage collection finishes instantly. The messages and the GarbageCollect command still behave like the real ones so you can practise them.

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.

Note The process message 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.

Note On a real calculator, losing power during garbage collection can erase all memory (RAM and archive).

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.

GarbageCollect
GarbageCollect

Starts garbage collection of the user data archive after you confirm the Garbage Collect? message. Takes no arguments.

Where: 2ndCATALOG (CATALOG), scroll to GarbageCollect
  • GarbageCollect then ENTER shows the Garbage Collect? message; choose 2:Yes to run it.
  1. On the home screen, press 2ndCATALOG to display the CATALOG.
  2. Press ▼︎ or ▲︎ to scroll to GarbageCollect, or press ALPHAG (G) to jump to the commands that start with G.
  3. Press ENTER to paste the command onto the home screen.
  4. Press ENTER to display the Garbage Collect? message.
  5. Choose 2:Yes to start.
Tutorial

Run GarbageCollect from the CATALOG

▶ Try this step-by-step on the online TI-84 Plus — keys light up as you go

  1. Open the CATALOG.
    2ndCATALOG
  2. 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
  3. Press ENTER to paste the command onto the home screen.
    ENTER
  4. Press ENTER to run it. The Garbage Collect? message appears.
    ENTER
  5. 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.

Note You can get ERR:ARCHIVE FULL even when the MEMORY screen shows enough free space to archive a variable or store an application, because free space is only usable if it is in one big enough block.
Note A similar error, ERR:MEMORY, means RAM (not the archive) is full. Free RAM by deleting variables or archiving large ones from the Mem Mgmt/Del screens. See Appendix B for the full list of errors.