Difference between revisions of "83Plus:Hooks:9B98"

From WikiTI
Jump to: navigation, search
(categorized)
(Using the Hook)
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:83Plus:Hooks:By_Name|Y= Hook]]
+
[[Category:83Plus:Hooks:By_Name|Y= Hook]] [[Category:83Plus:Hooks:By_Address|9B98 - Y= Hook]]
[[Category:83Plus:Hooks:By_Address|9B98 - Y= Hook]]
+
 
== Synopsis ==
 
== Synopsis ==
 
'''Name:''' Y Equ Hook
 
'''Name:''' Y Equ Hook
Line 19: Line 18:
 
These different values, passed in a, determines what the hook should do.
 
These different values, passed in a, determines what the hook should do.
 
* 0: The calculator is switching to the Y= app.
 
* 0: The calculator is switching to the Y= app.
* 1: The calculator is switching to the sign in front of y1..y0 from. This isn't called when moving up and down through these signs
+
* 1: The cursor is moving left to the graph style icon. This isn't called when moving up and down through these icons.
* 2: Preparing to draw the sign in front of y1..y0. If you want your own sign there, just use PutC and abort the drawing of the sign by the OS.
+
* 2: Preparing to draw the graph style icon in front of y1..y0. If you want your own icon there, just use PutC and abort the drawing of the sign by the OS.
** Zero flag: Clear to abort the drawing of the sign.
+
** Zero flag: Clear to abort the drawing of the icon.
 +
** B = current equation, where Y1 = 10h, Y2 = 11h and so on.
 
* 3: Preparing to draw plot1..3
 
* 3: Preparing to draw plot1..3
 
** Zero flag: Clear to abort the drawing of the plot1..3 texts.
 
** Zero flag: Clear to abort the drawing of the plot1..3 texts.
Line 38: Line 38:
 
* 8: Preparing to draw the = sign. If you want your own sign there, just use PutC and abort the drawing of the sign by the OS.
 
* 8: Preparing to draw the = sign. If you want your own sign there, just use PutC and abort the drawing of the sign by the OS.
 
** Zero flag: Clear to abort the drawing of the = sign.
 
** Zero flag: Clear to abort the drawing of the = sign.
 +
** hl: On the TI-84+CSE, possibly others, bit 5 of (hl) is used to determine if the function is enabled if the zero flag is set after the hook.
 
* 9: Preparing to switch the cursor to another function
 
* 9: Preparing to switch the cursor to another function
  
 
== Comments ==
 
== Comments ==
 
The above information is based on research in func mode only.
 
The above information is based on research in func mode only.
 +
 +
The YEqu app updates the values at [[83Plus:RAM:980C|EQS]] whenever it's displaying or updating a function. This can be used to change the hook and YEqu behaviour.
 +
 +
A normal sequence of the subfunctions above triggered when the OS is displaying the Y= menu: 0, 3, [2, 8, (9 if non-empty equation), ] (sequence repeats for number of visible equations), 6,

Latest revision as of 22:10, 6 September 2016

Synopsis

Name: Y Equ Hook

Hook Pointer Block Address: 9B98

Hook Enable BCALL: 4FCF

Hook Disable BCALL: 4FD2

Hook Call BCALL: (none known)

Hook Active Flag: 4, (iy + 35h)

This hook allows you to change the way the Y Equ app functions.

Using the Hook

These different values, passed in a, determines what the hook should do.

  • 0: The calculator is switching to the Y= app.
  • 1: The cursor is moving left to the graph style icon. This isn't called when moving up and down through these icons.
  • 2: Preparing to draw the graph style icon in front of y1..y0. If you want your own icon there, just use PutC and abort the drawing of the sign by the OS.
    • Zero flag: Clear to abort the drawing of the icon.
    • B = current equation, where Y1 = 10h, Y2 = 11h and so on.
  • 3: Preparing to draw plot1..3
    • Zero flag: Clear to abort the drawing of the plot1..3 texts.
  • 4: Preparing to switch to the plot1..3 line.
    • Zero flag: Clear to abort the action of switching to the plot1..3 line.
  • 5: Preparing to en/disable the function (inverting the = sign)
    • c: Contains the appropriate that will be executed. It can be changed to do the opposite action.
      • c=0 Preparing to disable the function
      • c=1 Preparing to enable the function
    • Zero flag: Clear to abort the change
  • 6: A key has been pressed
    • b: Contains the GetKey equivalent of the key being pressed. This can be changed to simulate another keypress.
    • Zero flag: Clear to ignore the keypress
  • 7: This is called after a=5 when it's turning on of off the = sign.
    • L: Contains the function being edited.
  • 8: Preparing to draw the = sign. If you want your own sign there, just use PutC and abort the drawing of the sign by the OS.
    • Zero flag: Clear to abort the drawing of the = sign.
    • hl: On the TI-84+CSE, possibly others, bit 5 of (hl) is used to determine if the function is enabled if the zero flag is set after the hook.
  • 9: Preparing to switch the cursor to another function

Comments

The above information is based on research in func mode only.

The YEqu app updates the values at EQS whenever it's displaying or updating a function. This can be used to change the hook and YEqu behaviour.

A normal sequence of the subfunctions above triggered when the OS is displaying the Y= menu: 0, 3, [2, 8, (9 if non-empty equation), ] (sequence repeats for number of visible equations), 6,