TI-89 / TI-92 Plus Developer Guide Beta Version .02
Total Page:16
File Type:pdf, Size:1020Kb
Spine Back Front 5.31” Texas Instruments U.S.A. 7800 Banner Dr. Dallas TX. 75251 Texas Instruments Holland B.V. Rutherfordweg 102 3542 CG Utrecht-The Netherlands TI-89 / TI-92 Plus Developer Guide Beta Version .02 © 1997 Texas Instruments www.ti.com/calc 8.07” Variable spine Important information Texas Instruments makes no warranty, either expressed or implied, including but not limited to any implied warranties of merchantability and fitness for a particular purpose, regarding any programs or book materials and makes such materials available solely on an “as-is” basis. In no event shall Texas Instruments be liable to anyone for special, collateral, incidental, or consequential damages in connection with or arising out of the purchase or use of these materials, and the sole and exclusive liability of Texas Instruments, regardless of the form of action, shall not exceed the purchase price of this product. Moreover, Texas Instruments shall not be liable for any claim of any kind whatsoever against the use of these materials by any other party. The latest version of this Guide, along with all other up-to-date information for developers, is available at www.ti.com/calc/developers/. © 2000, 2001 Texas Instruments Incorporated , TI-GRAPH LINK, and TI FLASH Studio are trademarks of Texas Instruments Incorporated. Sierra C is a trademark of Sierra Systems. i Table of Contents 1. Introduction ..............................................................................................1 1.1. Purpose of this Guide...........................................................................................1 1.2. Chapter Layout.....................................................................................................1 1.3. Conventions Used in this Guide...........................................................................3 2. The 68000 TI AMS Operating System Overview......................................5 3. The TI-89 / TI-92 Plus Hardware Overview..............................................7 3.1. Overview ..............................................................................................................7 3.2. Memory Map ........................................................................................................8 3.2.1. Vector Table ...........................................................................................................9 3.3. ASIC registers ....................................................................................................11 4. User Interface Overview.........................................................................15 4.1. Windows.............................................................................................................15 4.2. Menus ................................................................................................................16 4.2.1. Toolbars................................................................................................................17 4.2.2. Pop-ups ................................................................................................................17 4.2.2.1. Static Pop-ups .........................................................................................17 4.2.2.2. Dynamic Pop-ups ....................................................................................18 4.2.2.3. Dynamic Pop-ups with Menu Features....................................................18 4.3. Dialog Boxes ......................................................................................................18 4.4. Fonts ..................................................................................................................19 4.5. The Status Line ..................................................................................................22 5. Flash Applications vs. ASM Programs ...................................................23 6. Assembly Language Programming Overview ........................................25 6.1. What are ASM Programs? .................................................................................25 6.2. Hardware Stack..................................................................................................25 6.3. Register Usage ..................................................................................................25 6.4. Calling Flash-ROM-Resident Routines ..............................................................26 TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 ii Table of Contents 6.5. Subroutine Linkage ............................................................................................27 6.6. Sample ASM Program .......................................................................................29 7. Flash Application Layout ........................................................................31 7.1. File Format .........................................................................................................31 7.1.1. Flash Header........................................................................................................31 7.1.2. Certificate Header.................................................................................................32 7.1.3. Application Header ...............................................................................................33 7.1.3.1. Magic Number .........................................................................................33 7.1.3.2. Internal Application Name .......................................................................33 7.1.3.3. Flags........................................................................................................34 7.1.3.4. Length of Data Segment..........................................................................34 7.1.3.5. Byte Offset to Code Segment..................................................................34 7.1.3.6. Byte Offset to Initial Data Table...............................................................34 7.1.3.7. Length of Initial Data Table......................................................................35 7.1.3.8. Optional Header ......................................................................................35 7.1.4. Relocation Map.....................................................................................................35 7.1.5. Application Code ..................................................................................................35 7.1.6. Initial Data Table...................................................................................................35 7.1.7. Signature ..............................................................................................................36 7.2. Layout in Memory...............................................................................................36 7.3. Source Layout ....................................................................................................38 7.3.1. Interactive Applications.........................................................................................38 7.3.1.1. FRAME ....................................................................................................39 7.3.1.2. Pointer to FRAME....................................................................................40 7.3.1.3. Object Frame Attributes...........................................................................40 7.3.1.3.1. Attribute OO_APP_FLAGS (0x1).........................................................40 7.3.1.3.2. Attribute OO_APP_NAME (0x2) ..........................................................41 7.3.1.3.3. Attribute OO_APP_TOK_NAME (0x3).................................................41 7.3.1.3.4. Method OO_APP_PROCESS_EVENT (0x4) ......................................41 7.3.1.3.5. Attribute OO_APP_DEFAULT_MENU (0x5) .......................................42 7.3.1.3.6. Attribute OO_APP_DEFAULT_MENU_HANDLE (0x6).......................42 7.3.1.3.7. Attribute OO_APP_EXT_COUNT (0x7)...............................................42 7.3.1.3.8. Attribute OO_APP_EXTENSIONS (0x8) .............................................42 TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Table of Contents iii 7.3.1.3.9. Attribute OO_APP_EXT_ENTRIES (0x9)............................................42 7.3.1.3.10. Method OO_APP_LOCALIZE (0xA) ..................................................43 7.3.1.3.11. Method OO_APP_UNLOCALIZE (0xB).............................................43 7.3.1.3.12. Method OO_APP_CAN_DELETE (0xC)............................................43 7.3.1.3.13. Method OO_APP_CAN_MOVE (0xD) ...............................................43 7.3.1.3.14. Method OO_APP_VIEWER (0xE) .....................................................44 7.3.1.3.15. Attribute OO_APP_ICON (0xF) .........................................................44 7.3.1.3.16. Method OO_APP_EXT_HELP (0x10) ...............................................44 7.3.1.3.17. Method OO_APP_NOTICE_INSTALL (0x11)....................................44 7.3.1.3.18. Method OO_APP_ABOUT (0x12) .....................................................44 7.3.1.3.19. Attribute OO_APPSTRING (0x1000 and up).....................................45 7.3.1.4. Example...................................................................................................45 7.3.2. TI-BASIC Extensions............................................................................................48