Difference between revisions of "83Plus:BCALLs:505C"
From WikiTI
Premchai21 (Talk | contribs) m (remove wikify template, sigh) |
(corrections and clarifications) |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
[[Category:83Plus:BCALLs:By Name:Hook|RunCatalog1Hook]] | [[Category:83Plus:BCALLs:By Name:Hook|RunCatalog1Hook]] | ||
[[Category:83Plus:BCALLs:By Address|505C - RunCatalog1Hook]] | [[Category:83Plus:BCALLs:By Address|505C - RunCatalog1Hook]] | ||
− | |||
== Synopsis == | == Synopsis == | ||
'''Unofficial Name:''' RunCatalog1Hook | '''Unofficial Name:''' RunCatalog1Hook | ||
Line 8: | Line 7: | ||
'''BCALL Address:''' 505C | '''BCALL Address:''' 505C | ||
− | Checks the first byte | + | Checks the first byte of the block for the [[83Plus:Hooks:9BB4|Catalog 1 Hook]]. |
If the byte is 83, the hook is run; otherwise, the active flag for the hook is | If the byte is 83, the hook is run; otherwise, the active flag for the hook is | ||
set to zero. | set to zero. | ||
=== Inputs === | === Inputs === | ||
− | + | * Register values to pass to the catalog 1 hook. | |
− | + | ||
=== Outputs === | === Outputs === | ||
− | * | + | * If the hook is invalid, it is disabled, and all registers are preserved except F. |
− | * | + | ** In this case, the zero flag is cleared if A = 0Ch, set otherwise. |
+ | * If the hook is valid, it is called, and all register values upon exiting the hook are preserved and returned. | ||
=== Destroys === | === Destroys === | ||
− | + | * F | |
+ | * As with all hooks, you must assume everything in RAM may be destroyed, but remember that any side effects are intentional. | ||
== Comments == | == Comments == | ||
− | This | + | This routine does not check that the hook is enabled. You must test this yourself, e.g. |
+ | |||
+ | bit [[83Plus:Flags:36#Bit_3|catalog1HookActive,(iy+catalog1HookFlag)]] | ||
+ | jr z,SkipHook | ||
+ | B_CALL _Catalog1Hook | ||
+ | SkipHook: | ||
== Credits and Contributions == | == Credits and Contributions == | ||
*Michael Cimino | *Michael Cimino |
Latest revision as of 12:57, 28 March 2006
Synopsis
Unofficial Name: RunCatalog1Hook
BCALL Address: 505C
Checks the first byte of the block for the Catalog 1 Hook. If the byte is 83, the hook is run; otherwise, the active flag for the hook is set to zero.
Inputs
- Register values to pass to the catalog 1 hook.
Outputs
- If the hook is invalid, it is disabled, and all registers are preserved except F.
- In this case, the zero flag is cleared if A = 0Ch, set otherwise.
- If the hook is valid, it is called, and all register values upon exiting the hook are preserved and returned.
Destroys
- F
- As with all hooks, you must assume everything in RAM may be destroyed, but remember that any side effects are intentional.
Comments
This routine does not check that the hook is enabled. You must test this yourself, e.g.
bit catalog1HookActive,(iy+catalog1HookFlag) jr z,SkipHook B_CALL _Catalog1Hook SkipHook:
Credits and Contributions
- Michael Cimino