42 Chapter 2: TI-83 Plus Specific Information
TI-83 Plus Developer Guide Third Release May 28, 2002
Create_MatA:
LD HL,MatAname
B_CALL Mov9ToOP1 ; OP1 = name
B_CALL FindSym ; look up
JR C,CreateIt ; jump if it does not exist
;
LD A,B
OR A ; archived?
JR NZ,Failed ; jump if it is archived
;
B_CALL DelVarNoArc ; delete it, it is not archived
CreateIt:
AppOnErr Failed ; install error handler
;
LD HL,5*256+3 ; dim wanted 5x3
B_CALL CreateRMat ; ret from call if no mem error
;
AppOffErr ; remove error handler
;
OR A ;CA=0ifsuccessful
RET
MatAName:
DB MatObj, tVarMat, tMatA, 0
;
; control comes here if memory error during create
;
Failed:
SCF ;CA=1ifnotsuccessful
RET
Archiving and Unarchiving
Applications can use the Flash archive area in the same way as users do during normal
system operation. Variables can be archived - moved from RAM to the archive area.
They can also be unarchived - removed from the archive area and placed into RAM.
More information on the uses of archiving can be found in the TI-83 Plus Graphing
Calculator Guidebook.
Note: Most system routines are not designed to work with variables stored in the Archive area, and
many do not check for this condition. Be sure to check where variables are located, RAM or
Archive, before using them as inputs to system routines.
• What can be archived?
All user variables can be archived, except the following (listed by type):
RealObj / CplxObj: X, Y, T, θ
ListObj / CListObj: RESID, IDList
EquObj, NewEquObj: Any
• What cannot be unarchived?
The following can not be unarchived:
GroupObj