Difference between revisions of "83Plus:RAM:85DE"

From WikiTI
Jump to: navigation, search
m (Fixed category (Missing underscores))
(Comments)
 
(4 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:83Plus:RAM:By_Address|85DE - MenuCurrent]]
+
[[Category:83Plus:RAM:By_Address|85DE - MenuCurrent]] [[Category:83Plus:RAM:By_Name|MenuCurrent]]
[[Category:83Plus:RAM:By_Name|MenuCurrent]]
+
 
== Synopsis ==
 
== Synopsis ==
 
'''Official Name:''' MenuCurrent
 
'''Official Name:''' MenuCurrent
Line 18: Line 17:
 
* '''MenuCurrent+2:''' tells us which item in the menu is selected.
 
* '''MenuCurrent+2:''' tells us which item in the menu is selected.
  
<!--Again, I'm not sure if this is the right format...-->
 
 
== Comments ==
 
== Comments ==
 
Bytes two and three (the header and item) are zero-indexed, so item #1 is $00, item #2 is $01, etc.   
 
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.
 
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 ==
 
== Equates ==
Line 31: Line 31:
 
mApps              EQU $02
 
mApps              EQU $02
 
mProgramHome        EQU $03
 
mProgramHome        EQU $03
mPrgm_Run       EQU $00
+
mPrgm_Run           EQU $00
mPrgm_Edit     EQU $01
+
mPrgm_Edit         EQU $01
mPrgm_New       EQU $02
+
mPrgm_New           EQU $02
 
mZoom              EQU $04
 
mZoom              EQU $04
mZoom_Zoom     EQU $00
+
mZoom_Zoom         EQU $00
mZoom_Memory   EQU $01
+
mZoom_Memory       EQU $01
 
mDraw              EQU $05
 
mDraw              EQU $05
mDraw_Draw     EQU $00
+
mDraw_Draw         EQU $00
mDraw_Points   EQU $01
+
mDraw_Points       EQU $01
mDraw_Store     EQU $02
+
mDraw_Store         EQU $02
 
mStatPlots          EQU $06
 
mStatPlots          EQU $06
 
mStat              EQU $07
 
mStat              EQU $07
mStat_Edit     EQU $00
+
mStat_Edit         EQU $00
mStat_Calc     EQU $01
+
mStat_Calc         EQU $01
mStat_Tests     EQU $02
+
mStat_Tests         EQU $02
 
mMath              EQU $08
 
mMath              EQU $08
mMath_Math     EQU $00
+
mMath_Math         EQU $00
mMath_Number   EQU $01
+
mMath_Number       EQU $01
mMath_Complex   EQU $02
+
mMath_Complex       EQU $02
mMath_Prob     EQU $03
+
mMath_Prob         EQU $03
 
mTest              EQU $09
 
mTest              EQU $09
mTest_Test     EQU $00
+
mTest_Test         EQU $00
mTest_Logic     EQU $01
+
mTest_Logic         EQU $01
 
mVars              EQU $0B
 
mVars              EQU $0B
mVars_Vars     EQU $00
+
mVars_Vars         EQU $00
mVars_YVars     EQU $01
+
mVars_YVars         EQU $01
 
mMemory            EQU $0C
 
mMemory            EQU $0C
 
mMatrix            EQU $0D
 
mMatrix            EQU $0D
mMatrix_Name   EQU $00
+
mMatrix_Name       EQU $00
mMatrix_Math   EQU $01
+
mMatrix_Math       EQU $01
mMatrix_Edit   EQU $02
+
mMatrix_Edit       EQU $02
 
mDistr              EQU $0E
 
mDistr              EQU $0E
mDistr_Distr   EQU $00
+
mDistr_Distr       EQU $00
mDistr_Draw     EQU $01
+
mDistr_Draw         EQU $01
 
mAngle              EQU $0F
 
mAngle              EQU $0F
 
mList              EQU $10
 
mList              EQU $10
mList_Names     EQU $00
+
mList_Names         EQU $00
mList_Ops       EQU $01
+
mList_Ops           EQU $01
mList_Math     EQU $02
+
mList_Math         EQU $02
 
mCalculate          EQU $11
 
mCalculate          EQU $11
 
mVarsWin            EQU $14
 
mVarsWin            EQU $14
mVarsWin_XY     EQU $00
+
mVarsWin_XY         EQU $00
mVarsWin_TTh   EQU $01
+
mVarsWin_TTh       EQU $01
mVarsWin_UVW   EQU $02
+
mVarsWin_UVW       EQU $02
 
mVarsZoom          EQU $15
 
mVarsZoom          EQU $15
mVarsZoom_ZXY   EQU $00
+
mVarsZoom_ZXY       EQU $00
mVarsZoom_ZT   EQU $01
+
mVarsZoom_ZT       EQU $01
mVarsZoom_UVW   EQU $02
+
mVarsZoom_UVW       EQU $02
 
mVarsGDB            EQU $16
 
mVarsGDB            EQU $16
 
mVarsPics          EQU $17
 
mVarsPics          EQU $17
 
mVarsStrings        EQU $18
 
mVarsStrings        EQU $18
 
mVarsStat          EQU $19
 
mVarsStat          EQU $19
mVarsStat_XY   EQU $00
+
mVarsStat_XY       EQU $00
mVarsStat_Sigma EQU $01
+
mVarsStat_Sigma     EQU $01
mVarsStat_EQ   EQU $02
+
mVarsStat_EQ       EQU $02
mVarsStat_Test EQU $03
+
mVarsStat_Test     EQU $03
mVarsStat_Pts   EQU $04
+
mVarsStat_Pts       EQU $04
 
mVarsTable          EQU $1A
 
mVarsTable          EQU $1A
 
mVarsYEqu          EQU $1B
 
mVarsYEqu          EQU $1B
Line 94: Line 94:
 
mVarsFnOnOff        EQU $1E
 
mVarsFnOnOff        EQU $1E
 
mMemReset          EQU $1F
 
mMemReset          EQU $1F
mMemReset_RAM   EQU $00
+
mMemReset_RAM       EQU $00
mMemReset_ROM   EQU $01
+
mMemReset_ROM       EQU $01
mMemReset_All   EQU $02
+
mMemReset_All       EQU $02
 
mMemMgmtDel        EQU $20
 
mMemMgmtDel        EQU $20
 
mMemResetDefaults  EQU $21
 
mMemResetDefaults  EQU $21
Line 105: Line 105:
 
mMemResetAll        EQU $27
 
mMemResetAll        EQU $27
 
mGroup              EQU $28
 
mGroup              EQU $28
mGroup_New     EQU $00
+
mGroup_New         EQU $00
mGroup_Ungroup EQU $01
+
mGroup_Ungroup     EQU $01
 
mGroupVars          EQU $29
 
mGroupVars          EQU $29
 
mProgramEdit        EQU $2A
 
mProgramEdit        EQU $2A
mPrgmEd_Ctrl   EQU $00
+
mPrgmEd_Ctrl       EQU $00
mPrgmEd_IO     EQU $01
+
mPrgmEd_IO         EQU $01
mPrgmEd_Exec   EQU $02
+
mPrgmEd_Exec       EQU $02
 
mPrgmZoom          EQU $2B
 
mPrgmZoom          EQU $2B
mPrgmZoom_Zoom EQU $00
+
mPrgmZoom_Zoom     EQU $00
mPrgmZoom_Mem   EQU $01
+
mPrgmZoom_Mem       EQU $01
 
mPrgmDraw          EQU $2C
 
mPrgmDraw          EQU $2C
mPrgmDraw_Draw EQU $00
+
mPrgmDraw_Draw     EQU $00
mPrgmDraw_Pt   EQU $01
+
mPrgmDraw_Pt       EQU $01
mPrgmDraw_Store EQU $02
+
mPrgmDraw_Store     EQU $02
 
mPrgmStatPlot      EQU $2D
 
mPrgmStatPlot      EQU $2D
mPrgmSP_Plots   EQU $00
+
mPrgmSP_Plots       EQU $00
mPrgmSP_Type   EQU $01
+
mPrgmSP_Type       EQU $01
mPrgmSP_Mark   EQU $02
+
mPrgmSP_Mark       EQU $02
 
mPrgmStat          EQU $2E
 
mPrgmStat          EQU $2E
mPrgmStat_Edit EQU $00
+
mPrgmStat_Edit     EQU $00
mPrgmStat_Calc EQU $01
+
mPrgmStat_Calc     EQU $01
mPrgmStat_Tests EQU $02
+
mPrgmStat_Tests     EQU $02
 
mPrgmMath          EQU $2F
 
mPrgmMath          EQU $2F
mPrgmMath_Math EQU $00
+
mPrgmMath_Math     EQU $00
mPrgmMath_Num   EQU $01
+
mPrgmMath_Num       EQU $01
mPrgmMath_Cplx EQU $02
+
mPrgmMath_Cplx     EQU $02
mPrgmMath_Prob EQU $03
+
mPrgmMath_Prob     EQU $03
 
mLink              EQU $30
 
mLink              EQU $30
mLink_Send     EQU $00
+
mLink_Send         EQU $00
mLink_Recieve   EQU $01
+
mLink_Recieve       EQU $01
 
mLinkTrasmit        EQU $31
 
mLinkTrasmit        EQU $31
mLinkXmit_Xmit EQU $01
+
mLinkXmit_Xmit     EQU $01
 
mGarbageCollect    EQU $3F
 
mGarbageCollect    EQU $3F
 
mSelectGroupVars    EQU $40
 
mSelectGroupVars    EQU $40
mSelGrpVars_Sel EQU $00
+
mSelGrpVars_Sel     EQU $00
mSelGrpVars_Grp EQU $01
+
mSelGrpVars_Grp     EQU $01
 
mDuplicateName      EQU $42
 
mDuplicateName      EQU $42
 
mCatalog            EQU $45
 
mCatalog            EQU $45
 
mFinance            EQU $22
 
mFinance            EQU $22
mFinance_Calc   EQU $00
+
mFinance_Calc       EQU $00
mFinance_Vars   EQU $01</nowiki>
+
mFinance_Vars       EQU $01</nowiki>
  
 
== Credits and Contributions ==
 
== Credits and Contributions ==
* '''[[User|JasonM]]:''' For providing the original description
+
* '''[[User:JasonM|JasonM]]:''' For providing the original description
 
* '''Michael Vincent:''' For researching the MenuCurrent values (even if they weren't publicly documented :)
 
* '''Michael Vincent:''' For researching the MenuCurrent values (even if they weren't publicly documented :)

Latest revision as of 13:43, 12 January 2011

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 :)