83Plus:RAM:85DE
From WikiTI
Synopsis
Official Name: MenuCurrent
Memory Address: 85DEh
Length: 3 bytes.
This area of memory stores the value of the current TI-OS menu.
Description
- MenuCurrent: contains a value for the type of menu (e.g. [PRGM], [MATH]). Note that the corresponding sub-menus are also equivalent to their respective menu (e.g. [PRGM] is also the same value as [DRAW])
- MenuCurrent+1: contains which header is selected (e.g. [NUM] in the [MATH] menu).
- MenuCurrent+2: tells us which item in the menu is selected.
Comments
Bytes two and three (the header and item) are zero-indexed, so item #1 is $00, item #2 is $01, etc.
Once a menu is exited, these bytes are reset.
Note that under OS version 2.53MP (and presumably later), the chart below is off by one in most cases. For example, mGarbageCollect is $40 instead of $3F, and mGroupVars is $2A instead of $29. It has been confirmed that 2.55MP still contains this off-by-one bug.
Equates
Here is a list of equates related to MenuCurrent and MenuCurrent+1:
mConfirmation EQU $01 mApps EQU $02 mProgramHome EQU $03 mPrgm_Run EQU $00 mPrgm_Edit EQU $01 mPrgm_New EQU $02 mZoom EQU $04 mZoom_Zoom EQU $00 mZoom_Memory EQU $01 mDraw EQU $05 mDraw_Draw EQU $00 mDraw_Points EQU $01 mDraw_Store EQU $02 mStatPlots EQU $06 mStat EQU $07 mStat_Edit EQU $00 mStat_Calc EQU $01 mStat_Tests EQU $02 mMath EQU $08 mMath_Math EQU $00 mMath_Number EQU $01 mMath_Complex EQU $02 mMath_Prob EQU $03 mTest EQU $09 mTest_Test EQU $00 mTest_Logic EQU $01 mVars EQU $0B mVars_Vars EQU $00 mVars_YVars EQU $01 mMemory EQU $0C mMatrix EQU $0D mMatrix_Name EQU $00 mMatrix_Math EQU $01 mMatrix_Edit EQU $02 mDistr EQU $0E mDistr_Distr EQU $00 mDistr_Draw EQU $01 mAngle EQU $0F mList EQU $10 mList_Names EQU $00 mList_Ops EQU $01 mList_Math EQU $02 mCalculate EQU $11 mVarsWin EQU $14 mVarsWin_XY EQU $00 mVarsWin_TTh EQU $01 mVarsWin_UVW EQU $02 mVarsZoom EQU $15 mVarsZoom_ZXY EQU $00 mVarsZoom_ZT EQU $01 mVarsZoom_UVW EQU $02 mVarsGDB EQU $16 mVarsPics EQU $17 mVarsStrings EQU $18 mVarsStat EQU $19 mVarsStat_XY EQU $00 mVarsStat_Sigma EQU $01 mVarsStat_EQ EQU $02 mVarsStat_Test EQU $03 mVarsStat_Pts EQU $04 mVarsTable EQU $1A mVarsYEqu EQU $1B mVarsParametric EQU $1C mVarsPolar EQU $1D mVarsFnOnOff EQU $1E mMemReset EQU $1F mMemReset_RAM EQU $00 mMemReset_ROM EQU $01 mMemReset_All EQU $02 mMemMgmtDel EQU $20 mMemResetDefaults EQU $21 mMemResetRAMAll EQU $23 mMemResetROMVars EQU $24 mMemResetROMApps EQU $25 mMemResetROMAll EQU $26 mMemResetAll EQU $27 mGroup EQU $28 mGroup_New EQU $00 mGroup_Ungroup EQU $01 mGroupVars EQU $29 mProgramEdit EQU $2A mPrgmEd_Ctrl EQU $00 mPrgmEd_IO EQU $01 mPrgmEd_Exec EQU $02 mPrgmZoom EQU $2B mPrgmZoom_Zoom EQU $00 mPrgmZoom_Mem EQU $01 mPrgmDraw EQU $2C mPrgmDraw_Draw EQU $00 mPrgmDraw_Pt EQU $01 mPrgmDraw_Store EQU $02 mPrgmStatPlot EQU $2D mPrgmSP_Plots EQU $00 mPrgmSP_Type EQU $01 mPrgmSP_Mark EQU $02 mPrgmStat EQU $2E mPrgmStat_Edit EQU $00 mPrgmStat_Calc EQU $01 mPrgmStat_Tests EQU $02 mPrgmMath EQU $2F mPrgmMath_Math EQU $00 mPrgmMath_Num EQU $01 mPrgmMath_Cplx EQU $02 mPrgmMath_Prob EQU $03 mLink EQU $30 mLink_Send EQU $00 mLink_Recieve EQU $01 mLinkTrasmit EQU $31 mLinkXmit_Xmit EQU $01 mGarbageCollect EQU $3F mSelectGroupVars EQU $40 mSelGrpVars_Sel EQU $00 mSelGrpVars_Grp EQU $01 mDuplicateName EQU $42 mCatalog EQU $45 mFinance EQU $22 mFinance_Calc EQU $00 mFinance_Vars EQU $01
Credits and Contributions
- JasonM: For providing the original description
- Michael Vincent: For researching the MenuCurrent values (even if they weren't publicly documented :)