Memory Management

There are times that we run into a memory management issue with the TI-83 Plus and TI-84 Plus calculators. This page walks a user through steps that may be taken to overcome such problems.
Figure 1
We will start this discussion by running into a memory problem. On the particular calculator used for this demonstration we were able to start a run of the GRND4 program. The actual details of the run, shown starting in Figure 1 are not important. In fact, there really is not much to see until we get to Figure 4.
Figure 2
This is a second screen shot from the program.
Figure 3
And a third screen from the program. After we hit the key to continue, the program clears the screen and starts showing its progress by writing dots onto the screen. We cannot capture that screen, but please note that at some point the process stopped and we were taken to the screen shown in Figure 4.
Figure 4
This is the error screen that the calculator displays because it has run out of usable memory. You have two options. You may Quit the program, which is what you should do. Or you may Goto the line in the program where the error occurred, an action that you should not take. [The reason you do not want to do this is that it will put you into the program editor and just the slightest error in hitting a key there could make the program unusable. I suggest that you always use the Quit option.]

Press to select the highlighted Quit option.

Figure 5
We know that we have a MEMORY error. We can press to get to the screen shown in Figure 5.

This screen gives us access to many items, each of which deals with issues related to the memory allocations on the calculator. In our case we want to move to the item Mem Mgmt/Del... so we just press the key.

Figure 6
In Figure 6 we see that at this point the calculator being used here has only 894 bytes of available RAM (random access memory). The RAM is where the calculator does all of its work. You need available space to store data. 894 bytes is just not enough. We need to increase the amount of available memory.

One might note that the calculator has a huge amount of ARC memory available. In fact, this calculator has 163940 bytes of such memory free. ARC memory is used to hold the archived storage of the calculator. ARC memory cannot be made into RAM but we can move items that we do not need now from RAM to ARC and in the process free up that RAM space. Our first effort will be to do just that with some of the programs on the calculator.

Figure 7
To move to Figure 7 we have used the key to move the highlight down to item 7 in the list. If we select this item the calculator will give us a list of the programs stored on it along with the size of each program. Once w have highlighted item 7 we press to select it.
Figure 8
Figure 8 shows the start of the list of programs on this calculator. As we look at this list we note that the program DOLLAR is in the list. That program is used in a different class. It actually has no use in the Math 160 class. However, it is using up 208 bytes of RAM.
Figure 9
In Figure 9 we have moved the highlight to point to the DOLLAR program. To move to Figure 10 we press the key.
Figure 10
We notice three changes in moving from Figure 9 to Figure 10. First there is an asterisk, the * character, in front of the program name. This indicates that the program hs been moved from RAM to ARC storage. Second, because DOLLAR is no longer in RAM the amount of free RAM space has increased, unfortunately not by the full 208 bytes but by almost that much. We now have 1089 bytes of free RAM. Third, the available archive space, the free ARC space, has decreased to 163327 to hold the DOLLAR program.

By moving the DOLLAR program to the archive we have kept it on the calculator. We can recall it to RAM at a later time if we want to use it. But for now, it is on the calculator but not directly usable.

Figure 11
Picking up a few hundred bytes is probably not enough for us. We move further down the list of programs, using the key. As shown in Figure 11, the calculator being used here also contains the SM3 program. This is a fairly large program and it too has no use in the Math 160 class. In Figure 11 we have placed the cursor on the SM3 program. We press the key to move SM3 to the ARC space and thus free up a large chunk of RAM space. The result is shown in Figure 12.
Figure 12
Again, the asterisk in from of the program name indicates that it is now in the archive, the free RAM has increased to 3340 bytes, and the free ARC space has dropped accordingly.

Moving programs to the archive frees up the RAM. We have an alternative, a more drastic step, that we can take. We can delete the program from the calculator completely. If we have a copy of he program safely stored on our computer then we can always reload it from the computer to the calculator if we need to restore it.

Press the key to remove the highlighted program no matter if it is in RAM or ARC space.

Figure 13
It is such a drastic step to remove a program that the calculator actually requires confirmation of our action. Thus, Figure 13 requests that we are sure we want to do this. We will press to select the Yes option.
Figure 14
We are returned to the program management screen where we see that SM3 is now gone. ARC space has increased back to the 163627 bytes that it had before we moved SM3 into it. And, as a small extra gift, our RAM has actually gone up by 10 bytes.

As it turns out, all the rest of the programs have some use in the Math 160 course. If we needed the space we could move some of them to the archive now and then recall them later, possibly moving others to the archive later to free up space then.

3350 bytes is a good amount of space to have to do our work. However, we might be able to find a bit more space. We can exit this screen via . Then we can use to move back to the screen shown again in Figure 15.

Figure 15
We have seen this before. But this time we are interested in looking at the Lists that are defined on this calculator.
Figure 16
We move the highlight down to item 4:List... and then press .
Figure 17
Just as Figure 8 showed the programs on this calculator, Figure 17 shows the start of the list of Lists on the calculator. The first items are the six standard lists, L1 through L6. Furthermore, we see that L1 is using 876 bytes of RAM space while L6 is only using 12 bytes.
Figure 18
Using the key we can move down the ist to see more items.
Figure 19
Clearly, there are many Lists defined on this calculator and they are taking up a great deal of space.
Figure 20
In Figure 20 we have moved down to highlight the list RFREQ. Assuming that we have no particular use for this list we can delete it by pressing the key.
Figure 21
The result is shown in Figure 21. The item RFREQ is no longer there and the available RAM spaced has increased to 4023 bytes.

We should note here that the calculator is not as cautious about deleting lists as it was about deleting programs. Unlike the delete that we did back in Figures 12 and 13, the calculator does not ask for a confirmation in the deletion of a list from RAM.

Figure 22
For Figure 22 we have used the key to move back up the listing to the item AB. Just as with programs, we can move a list from RAM to ARC. We do this by pressing the key.
Figure 23
The changes from Figure 22 to Figure 23 are as expected. There is an asterisk before the list name, the RAM space has increased, and the ARC space has gone down.

We can delete the highlighted list AB even though it is in the ARC space, by pressing the key.

Figure 24
Interestingly, the calculator is cautious about deleting a list from the ARC space. We need to confirm our intention by pressing the key.
Figure 25
This returns us to the list management screen. Now the AB list is gone, the ARC space has increased, and even the RAM space has gone up a little.

The highlight is currently pointing to CMCNT. We press to delete that list and move to Figure 26.

Figure 26
Again, the result is that we have increased the free RAM space.

Although we can just keep deleting items one at a time, there is a slightly different approach that does almost the same thing. We return to the main memory management screen via the key sequence.

Figure 27
This is the main memory management screen and we are interested in the fourth option.
Figure 28
We move the highlight down to that option and then press .
Figure 29
This merely pastes the command ClrAllLists onto our home screen. Then we press to perform that command.
Figure 30
The calculator responds with Done. That command empties all of the lists on teh calculator. Note that it does not delete the lists, but rather it removes all data from the lists.
Figure 31
We can verify this by returning to the memory management screens by first using . Then use to move the highlight to item 2. Finally, press to move to Figure 32.
Figure 32
Here we immediately note that the free RAM space has increased to 10428, a relatively large amount of free space in which the calculator can do its future work.

We can exit this via the sequence .

Figure 33
This returns us to the home screen.

©Roger M. Palay
Saline, MI 48176
January, 2013