Difference between revisions of "83Plus:OS:ByROMPage"
m (Confirmed 83P, moved, and fixed category) |
(Got bored and added some information - the table might need work...) |
||
Line 1: | Line 1: | ||
[[Category:83Plus:OS Information|ROM Page 1B]] | [[Category:83Plus:OS Information|ROM Page 1B]] | ||
− | |||
− | This page contains at the start a list of 3-byte vectors for ROM calls. | + | This page contains at the start a list of 3-byte vectors for ROM calls. This is then used by the B_CALL routine to determine what address on what page each ROM call resides. This is page 1B for the TI-83 Plus, 3B for the TI-84 Plus and 7B for the TI-83 Plus Silver Edition & the TI-84 Plus Silver Edition. |
==Structure== | ==Structure== | ||
− | ''to | + | Each 3-byte vector contains an address and a page number. The address comes first, stored in little-endian format, followed by the page number. |
+ | {| border="1" cellspacing="0" cellpadding="2" | ||
+ | |+Example Vector Table | ||
+ | |- | ||
+ | ! Address !! Common Name !! LSB Addr. Ptr. !! MSB Addr. Ptr. !! Page Number | ||
+ | |- | ||
+ | ! 4000 | ||
+ | | [[83Plus:BCALLs:4000|JErrorNo]] || C7 || 25 || 00 | ||
+ | |- | ||
+ | ! 4003 | ||
+ | | [[83Plus:BCALLs:4003|FontHook]] || A3 || 77 || 7B | ||
+ | |- | ||
+ | ! 4006 | ||
+ | | [[83Plus:BCALLs:4006|LocalizeHook]] || 44 || 77 || 7B | ||
+ | |} | ||
+ | ''Note: The preceding values were obtained from TI-OS v1.15. Values on other OSs are most likely to differ.'' | ||
+ | |||
+ | |||
+ | In this manner, TI can change the address pointer and page of the actual routine on a different OS version (e.g. they needed to update a section of code) and the B_CALL routine would still point to the correct page and address. | ||
+ | |||
+ | ==See Also== | ||
+ | * [[83Plus:OS:How BCALLs work|How BCALLs work]] |
Revision as of 10:39, 13 September 2005
This page contains at the start a list of 3-byte vectors for ROM calls. This is then used by the B_CALL routine to determine what address on what page each ROM call resides. This is page 1B for the TI-83 Plus, 3B for the TI-84 Plus and 7B for the TI-83 Plus Silver Edition & the TI-84 Plus Silver Edition.
Structure
Each 3-byte vector contains an address and a page number. The address comes first, stored in little-endian format, followed by the page number.
Address | Common Name | LSB Addr. Ptr. | MSB Addr. Ptr. | Page Number |
---|---|---|---|---|
4000 | JErrorNo | C7 | 25 | 00 |
4003 | FontHook | A3 | 77 | 7B |
4006 | LocalizeHook | 44 | 77 | 7B |
Note: The preceding values were obtained from TI-OS v1.15. Values on other OSs are most likely to differ.
In this manner, TI can change the address pointer and page of the actual routine on a different OS version (e.g. they needed to update a section of code) and the B_CALL routine would still point to the correct page and address.