Developer Guide
Page 5
...7.3.2. Creating the Library Interface 51 7.3.3.2. Language Localization 56 7.3.4.1. Localizer Template 56 7.3.4.2. Built-in Functions and Commands 67 8.3.2. Verifying the OS Version 74 8.6. Method OO_APP_LOCALIZE (0xA 43 7.3.1.3.11. Method... Application 63 8.1. Shared-Code Library 51 7.3.3.1. Mode Settings ...63 8.1.1. Modifying Mode Settings Within an App 64 8.1.1.2. User-Defined Functions and Programs 67 8.3.3. Interfacing with TI-BASIC 70 8.5. Table of Contents iii 7.3.1.3.9. Method OO_APP_UNLOCALIZE (0xB 43 7.3.1.3.12. Attribute OO_APPSTRING...
...7.3.2. Creating the Library Interface 51 7.3.3.2. Language Localization 56 7.3.4.1. Localizer Template 56 7.3.4.2. Built-in Functions and Commands 67 8.3.2. Verifying the OS Version 74 8.6. Method OO_APP_LOCALIZE (0xA 43 7.3.1.3.11. Method... Application 63 8.1. Shared-Code Library 51 7.3.3.1. Mode Settings ...63 8.1.1. Modifying Mode Settings Within an App 64 8.1.1.2. User-Defined Functions and Programs 67 8.3.3. Interfacing with TI-BASIC 70 8.5. Table of Contents iii 7.3.1.3.9. Method OO_APP_UNLOCALIZE (0xB 43 7.3.1.3.12. Attribute OO_APPSTRING...
Developer Guide
Page 8
... 14.1.3. Basic Text Editing Facility 127 12.1. Simple Text Edit Example 128 12.3. Normal Symbol Routines 136 13.3.2. Store Look-up Path 139 13.3.2.4. System Functions 143 13.3.3. Matrix ...149 TI-89 / TI-92 Plus Developer Guide Not for WRITE Mode 133 13.3. How to Edit Text 127 12.2. HSYM VarStore...
... 14.1.3. Basic Text Editing Facility 127 12.1. Simple Text Edit Example 128 12.3. Normal Symbol Routines 136 13.3.2. Store Look-up Path 139 13.3.2.4. System Functions 143 13.3.3. Matrix ...149 TI-89 / TI-92 Plus Developer Guide Not for WRITE Mode 133 13.3. How to Edit Text 127 12.2. HSYM VarStore...
Developer Guide
Page 9
... Polish Representation 161 15.2.1. Variables, Units and Physical Constants 165 15.2.4. Assembly Program 160 15. Bitmap PIC Images 156 14.9. Programs and Functions in Text Format 159 14.11. Overview ...161 15.2. An Example of Arguments ...... 168 15.2.8. Third Party Data 160 14.12. ...Lists and Matrices 169 15.2.9. User and Application Defined Functions and Programs 170 15.3. Overview ...181 TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 One-...
... Polish Representation 161 15.2.1. Variables, Units and Physical Constants 165 15.2.4. Assembly Program 160 15. Bitmap PIC Images 156 14.9. Programs and Functions in Text Format 159 14.11. Overview ...161 15.2. An Example of Arguments ...... 168 15.2.8. Third Party Data 160 14.12. ...Lists and Matrices 169 15.2.9. User and Application Defined Functions and Programs 170 15.3. Overview ...181 TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 One-...
Developer Guide
Page 10
... 214 18.3.7. Graph Application Memory Usage 194 17.6. Installation 200 18.2.3. EXACT/APPROX/AUTO Modes 182 16.4. Complex Numbers 186 17. Graphing 189 17.1. Graphing Functions 193 17.5. EStack Arithmetic 185 16.7. Development System 199 18.2.1. References 203 18.3. IDE Overview 201 18.2.6. File Menu...205 18.3.2. Working with the Graph...
... 214 18.3.7. Graph Application Memory Usage 194 17.6. Installation 200 18.2.3. EXACT/APPROX/AUTO Modes 182 16.4. Complex Numbers 186 17. Graphing 189 17.1. Graphing Functions 193 17.5. EStack Arithmetic 185 16.7. Development System 199 18.2.1. References 203 18.3. IDE Overview 201 18.2.6. File Menu...205 18.3.2. Working with the Graph...
Developer Guide
Page 41
... Translations 89 Table 9.2 Keypress Actions ...90 Table 11.1: Screen vs. Window Coordinates 101 Table 11.2: Dialog Flags and Corresponding Fields 113 Table 11.3: Call Back Function Return Values 114 Table 14.1: Data Tag Values ...146 Table 14.2: Data Object for a Non-Negative or Negative Integer 147 Table 14.3: Data Object for...
... Translations 89 Table 9.2 Keypress Actions ...90 Table 11.1: Screen vs. Window Coordinates 101 Table 11.2: Dialog Flags and Corresponding Fields 113 Table 11.3: Call Back Function Return Values 114 Table 14.1: Data Tag Values ...146 Table 14.2: Data Object for a Non-Negative or Negative Integer 147 Table 14.3: Data Object for...
Developer Guide
Page 42
xl Table of Contents Table 14.13: Data Object for a Tokenized Program or Function 157 Table 14.14: Flag 1 Values ...158 Table 14.15: Data Object for a Program or Function Stored in Text 159 Table 14.16: Data Object for Third Party Data 160 Table 14.17: Data Object ...Fraction Examples 164 Table 15.4: Variable Name Examples 165 Table 15.5: Symbolic Constants 166 Table 15.6: Examples of Single Argument Functions and Operators 167 Table 15.7: Examples of Functions of Two Arguments 167 Table 15.8: Examples of Arithmetic Operations and the Store Operation 168 Table 15.9: Examples of Other ...
xl Table of Contents Table 14.13: Data Object for a Tokenized Program or Function 157 Table 14.14: Flag 1 Values ...158 Table 14.15: Data Object for a Program or Function Stored in Text 159 Table 14.16: Data Object for Third Party Data 160 Table 14.17: Data Object ...Fraction Examples 164 Table 15.4: Variable Name Examples 165 Table 15.5: Symbolic Constants 166 Table 15.6: Examples of Single Argument Functions and Operators 167 Table 15.7: Examples of Functions of Two Arguments 167 Table 15.8: Examples of Arithmetic Operations and the Store Operation 168 Table 15.9: Examples of Other ...
Developer Guide
Page 44
... data types supported by the AMS. Chapter 15, Expressions and the Expression Stack, contains information important for numerical or symbolic analysis. Two graph mode, graphing functions, and its usage of screen and memory are provided for Distribution Beta Version January 26, 2001 Information on optimizing code space and identifying the active...
... data types supported by the AMS. Chapter 15, Expressions and the Expression Stack, contains information important for numerical or symbolic analysis. Two graph mode, graphing functions, and its usage of screen and memory are provided for Distribution Beta Version January 26, 2001 Information on optimizing code space and identifying the active...
Developer Guide
Page 45
It also contains an example that is the users manual for Distribution Beta Version January 26, 2001 The Courier font is usually associated with a function prototype. It is used to distinguish Assembly or C program text. Conventions Used in the System Routines (Entry Points) section. TI-89 / TI-92 Plus Developer ... FLASH Studio™ (IDE) Overview, is described in this Guide Bold text indicates the name of an input parameter. Italicized text indicates the name of a function, macro, or global variable that steps through the application development process.
It also contains an example that is the users manual for Distribution Beta Version January 26, 2001 The Courier font is usually associated with a function prototype. It is used to distinguish Assembly or C program text. Conventions Used in the System Routines (Entry Points) section. TI-89 / TI-92 Plus Developer ... FLASH Studio™ (IDE) Overview, is described in this Guide Bold text indicates the name of an input parameter. Italicized text indicates the name of a function, macro, or global variable that steps through the application development process.
Developer Guide
Page 58
...above example, the numbers 10, 11, 12, and 20 are not attached to 4095 (0xFFF) which is defined by the resource compiler (see the MenuLoad function for Distribution Beta Version January 26, 2001 The following example, MID_1, MID_2 and MID_CORRECT will have the values 1, 2, and 3 respectively, as a core...then adding to select an item from 1 to any toolbar. In the following example shows how a menu is then loaded into memory with the function keys (even though they may be modified). 16 4.2. Toolbars normally are placed at the top of items. There are two formats: toolbars and...
...above example, the numbers 10, 11, 12, and 20 are not attached to 4095 (0xFFF) which is defined by the resource compiler (see the MenuLoad function for Distribution Beta Version January 26, 2001 The following example, MID_1, MID_2 and MID_CORRECT will have the values 1, 2, and 3 respectively, as a core...then adding to select an item from 1 to any toolbar. In the following example shows how a menu is then loaded into memory with the function keys (even though they may be modified). 16 4.2. Toolbars normally are placed at the top of items. There are two formats: toolbars and...
Developer Guide
Page 59
... are normally used depending on the features needed: static pop-ups, dynamic pop-ups, and dynamic pop-ups with the MenuPopup function. If the user presses a function key, it with menu features (checkmarks, grayed-out). There are limited to select items from an app's toolbar. Load a... is called to hold additional information about the menu - Figure 4.3: AddToMenu Screen Shot Figure 4.4: mPop-upTest Screen Shot Menus are several functions for Distribution Beta Version January 26, 2001 such as checkmark and enable/disable status. Briefly they are drawn with dynamic menus. Static Pop...
... are normally used depending on the features needed: static pop-ups, dynamic pop-ups, and dynamic pop-ups with the MenuPopup function. If the user presses a function key, it with menu features (checkmarks, grayed-out). There are limited to select items from an app's toolbar. Load a... is called to hold additional information about the menu - Figure 4.3: AddToMenu Screen Shot Figure 4.4: mPop-upTest Screen Shot Menus are several functions for Distribution Beta Version January 26, 2001 such as checkmark and enable/disable status. Briefly they are drawn with dynamic menus. Static Pop...
Developer Guide
Page 60
...- PopupDo - This new handle is then passed to PopupBeginDo to have menu features like dialog boxes, that need to MenuSubStat and MenuCheck functions. Dynamic Pop-ups with Menu Features Static and dynamic pop-ups, as DynMenuAdd and DynMenuChange but for the resource compiler. A dialog box...final input for the dialog box, one for the pop-ups and another for the edit fields. Dynamic dialogs are two additional functions. The following functions: PopupNew - If MenuEnd is passed two arrays that can at least be passed to keep the same handle. Dialog Boxes ...
...- PopupDo - This new handle is then passed to PopupBeginDo to have menu features like dialog boxes, that need to MenuSubStat and MenuCheck functions. Dynamic Pop-ups with Menu Features Static and dynamic pop-ups, as DynMenuAdd and DynMenuChange but for the resource compiler. A dialog box...final input for the dialog box, one for the pop-ups and another for the edit fields. Dynamic dialogs are two additional functions. The following functions: PopupNew - If MenuEnd is passed two arrays that can at least be passed to keep the same handle. Dialog Boxes ...
Developer Guide
Page 61
... on the TI-89. The character attribute affects how the background and foreground pixels for Distribution Beta Version January 26, 2001 This is a user supplied function that interfaces between the Dialog routine and the user code. Figure 4.5: OverwriteDlg Dialog Box from each other and so care should be exercised when using...
... on the TI-89. The character attribute affects how the background and foreground pixels for Distribution Beta Version January 26, 2001 This is a user supplied function that interfaces between the Dialog routine and the user code. Figure 4.5: OverwriteDlg Dialog Box from each other and so care should be exercised when using...
Developer Guide
Page 65
... interaction Flash Application ASM Program protected Flash memory - RAM - Calculator hardware does not allow freeware/shareware applications to receive input from TI-BASIC as O, 3 and function keys. ASM Programs Resides in Executes in place, i.e., the app does not need to be installed without an additional license. The OS allocates a data segment...
... interaction Flash Application ASM Program protected Flash memory - RAM - Calculator hardware does not allow freeware/shareware applications to receive input from TI-BASIC as O, 3 and function keys. ASM Programs Resides in Executes in place, i.e., the app does not need to be installed without an additional license. The OS allocates a data segment...
Developer Guide
Page 66
.... Pointers to overriding system code would become invalid. Calculator language localization is provided by Flash applications. A single Flash application can override many TI-BASIC extension functions and subprograms. 1 - ASM programs have a shared-code interface which exposes its attributes (data and methods). ASM Programs Flash Application ASM Program System overrides Yes - Flash...
.... Pointers to overriding system code would become invalid. Calculator language localization is provided by Flash applications. A single Flash application can override many TI-BASIC extension functions and subprograms. 1 - ASM programs have a shared-code interface which exposes its attributes (data and methods). ASM Programs Flash Application ASM Program System overrides Yes - Flash...
Developer Guide
Page 67
... or call a subroutine when the stack pointer is the stack pointer. The level 7 auto-vector handler throws a protected memory error. ASM programs cannot, however, return function values on the stack, and register contents can be temporarily pushed onto and popped from Flash ROM, they appear as an interpreted language could never...
... or call a subroutine when the stack pointer is the stack pointer. The level 7 auto-vector handler throws a protected memory error. ASM programs cannot, however, return function values on the stack, and register contents can be temporarily pushed onto and popped from Flash ROM, they appear as an interpreted language could never...
Developer Guide
Page 68
Registers D0, D1, D2, A0, and A1 are returned in A0. Save and restore D3 - D7 and A2 - A3. Sierra C expects function values to determine if a key has been pressed on the keyboard: .include . . . Pointer values are scratch registers. File tiams.inc contains jump table offsets which ...
Registers D0, D1, D2, A0, and A1 are returned in A0. Save and restore D3 - D7 and A2 - A3. Sierra C expects function values to determine if a key has been pressed on the keyboard: .include . . . Pointer values are scratch registers. File tiams.inc contains jump table offsets which ...
Developer Guide
Page 70
... d3-d4/a2,-(sp) ; return from caller ; restore registers ; save registers 8(a6),d0 d0,-8(a6) ; The Assembly language subroutine is : short mySubr(short a, short b); return function result in local variable storage -2(a6),d0 (sp)+,d3-d4/a2 a6 ; move.w move.w . . . ;subroutine exit move.w movem.l unlk rts a6,#-8 ; 28 Chapter 6: Assembly Language...
... d3-d4/a2,-(sp) ; return from caller ; restore registers ; save registers 8(a6),d0 d0,-8(a6) ; The Assembly language subroutine is : short mySubr(short a, short b); return function result in local variable storage -2(a6),d0 (sp)+,d3-d4/a2 a6 ; move.w move.w . . . ;subroutine exit move.w movem.l unlk rts a6,#-8 ; 28 Chapter 6: Assembly Language...
Developer Guide
Page 78
... name appears in apps that come preinstalled from the factory or installed later as a language choice. 0x0008 - ACB_BUILTIN, the app is a description of TI_BASIC extension functions and commands in the VAR_LINK screen. e. USHORT flags - ACB_LOCK, reserved. 0x0010 - Routine EV_getAppID returns the ID of the app. ACB_INSTALLED, the OS sets this flag...
... name appears in apps that come preinstalled from the factory or installed later as a language choice. 0x0008 - ACB_BUILTIN, the app is a description of TI_BASIC extension functions and commands in the VAR_LINK screen. e. USHORT flags - ACB_LOCK, reserved. 0x0010 - Routine EV_getAppID returns the ID of the app. ACB_INSTALLED, the OS sets this flag...
Developer Guide
Page 80
... frame that the OS finds the address of attributes and methods in the application's initialized data (.data section) to be a pointer to implement each of functions and programs. It can serve several purposes. Finally, a simple example pulls the pieces together into a complete application. TI-89 / TI-92 Plus Developer Guide Not...
... frame that the OS finds the address of attributes and methods in the application's initialized data (.data section) to be a pointer to implement each of functions and programs. It can serve several purposes. Finally, a simple example pulls the pieces together into a complete application. TI-89 / TI-92 Plus Developer Guide Not...
Developer Guide
Page 81
.... • firstAttr - number of the attribute. the selector number of the first attribute or method selector in the OS. • prototype - The object frame accessor functions (OO_GetAttr and OO_SetAttr) look -up frame attributes by ATTR macros which define frame attributes (OO_Attr structures). • attrSelector - Attribute look up will fail if they...
.... • firstAttr - number of the attribute. the selector number of the first attribute or method selector in the OS. • prototype - The object frame accessor functions (OO_GetAttr and OO_SetAttr) look -up frame attributes by ATTR macros which define frame attributes (OO_Attr structures). • attrSelector - Attribute look up will fail if they...