83Plus:OS:Memory Layout

From WikiTI
Revision as of 11:36, 9 December 2020 by NonstickAtom (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Memory Layout

This table describes how the RAM is organized.

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.