83Plus:OS:Memory Layout
From WikiTI
Revision as of 10:36, 9 December 2020 by NonstickAtom (Talk | contribs)
Memory Layout
This table describes how the RAM is organized.
Address | Description |
---|---|
appData to userMem-1 | System RAM: Used by the OS to store various pointers, settings, buffers, etc. |
userMem to (tempMem)-1 | User Memory: This is where all variables are stored. |
(tempMem) to (FPBase)-1 | Temp Memory: This is where the OS stores temporary variables. |
(FPBase) to (FPS)-1 | Floating Point Stack: A LIFO stack for floating point number (or variable names). |
(FPS) to (OPS) | Free RAM. |
(OPS)+1 to (OPBase) | Operator Stack: A LIFO stack used to parse expressions and to store return information when a TI-Basic program is called from another TI-Basic program. TI won't tell anything about this. |
(OPBase)+1 to (pTemp) | Variable Allocation Table (VAT) for temporary variables. |
(pTemp)+1 to (progPtr) | Variable Allocation Table (VAT) for programs,appvars,groups and lists with variable length names. |
(progPtr)+1 to symTable | Variable Allocation Table (VAT) for all variables with a fixed name: reals, strings, ans, functions, matrices, etc. |
symTable+1 to $FFFE | Hardware Stack |
the_mad_joob found that $FFFF is unused by the system. It is an extra scrap byte.