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

From WikiTI
Jump to: navigation, search
(Comments)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
[[Category:83Plus:Hooks:By_Name|App Change Hook]] [[Category:83Plus:Hooks:By_Address|9BB0 - App Change Hook]]
 
== Synopsis ==
 
== Synopsis ==
'''Name:''' App Change Hook
+
'''Name:''' App Change Hook ''(also called the Context Switch hook)''
  
 
'''Hook Pointer Block Address:''' [[83Plus:RAM:9BB0|9BB0]]
 
'''Hook Pointer Block Address:''' [[83Plus:RAM:9BB0|9BB0]]
Line 20: Line 21:
 
** Turning the calculator off from most apps: A = 2
 
** Turning the calculator off from most apps: A = 2
 
** Exiting an external app: A = 0
 
** Exiting an external app: A = 0
** Turning the calculator off from the graph screen (possibly others): A = 0  
+
** Turning the calculator off from the graph screen (possibly others): A = 0
 +
* HL = Address the OS is going to jump to in order to switch to new app (this is a page 0 call)
  
 
== Comments ==
 
== Comments ==
TIOS completely ignores the output of this hook.
+
On known monochrome TI-83 Plus/TI-84 Plus calculators, the TI-OS completely ignores the output of this hook.  You can force TIOS to go certain apps by using the JForce... B_JUMPs. (These B_JUMPs are probably not intended to be used inside this hook, so this may or may not be safe, depending on the apps involved.) On the TI-84 Plus C Silver Edition, you must preserve A and HL, because the OS does ''not'' ignore these values. However, it's not known if modifying A and HL is a "safe" way to change which new context is launched.

Latest revision as of 07:29, 9 May 2015

Synopsis

Name: App Change Hook (also called the Context Switch hook)

Hook Pointer Block Address: 9BB0

Hook Enable BCALL: 502C

Hook Disable BCALL: 502F

Hook Call BCALL: (none known)

Hook Active Flag: 2, (iy + 36h)

This hook is called at any time that TIOS changes from one app to another. Also called when the calculator is turned off.

Using the Hook

  • B = current app
    • Switching from one app to another: A = new app
    • Turning the calculator off from most apps: A = 2
    • Exiting an external app: A = 0
    • Turning the calculator off from the graph screen (possibly others): A = 0
  • HL = Address the OS is going to jump to in order to switch to new app (this is a page 0 call)

Comments

On known monochrome TI-83 Plus/TI-84 Plus calculators, the TI-OS completely ignores the output of this hook. You can force TIOS to go certain apps by using the JForce... B_JUMPs. (These B_JUMPs are probably not intended to be used inside this hook, so this may or may not be safe, depending on the apps involved.) On the TI-84 Plus C Silver Edition, you must preserve A and HL, because the OS does not ignore these values. However, it's not known if modifying A and HL is a "safe" way to change which new context is launched.