Developer Guide
Page 5
... (0x11 44 7.3.1.3.18. Example 45 7.3.2. Creating the Library Interface 51 7.3.3.2. Accessing a Library 53 7.3.3.3. Mode Settings ...63 8.1.1. Mode Notification Flags 63 8.1.1.1. Modifying Mode Settings Within an App 64 8.1.1.2. Built-in Functions and Commands 67 8.3.2. User-Defined Functions and Programs 67 8.3.3. Flash...
... (0x11 44 7.3.1.3.18. Example 45 7.3.2. Creating the Library Interface 51 7.3.3.2. Accessing a Library 53 7.3.3.3. Mode Settings ...63 8.1.1. Mode Notification Flags 63 8.1.1.1. Modifying Mode Settings Within an App 64 8.1.1.2. Built-in Functions and Commands 67 8.3.2. User-Defined Functions and Programs 67 8.3.3. Flash...
Developer Guide
Page 13
Table of Contents xi push_substitute_using_such_that 291 push_var_kern_tail ...292 re_index...293 reductum_index ...294 remaining_factors_index 296 replace_top2_with_imre 298 Apps ...299 EV_getAppID...301 EV_quit ...302 OO_appGetPublicStorage 303 OO_appIsMarkedDelete 304 OO_appMarkDelete...305 OO_AppNameToACB 306 OO_appSetPublicStorage 307 OO_CondGetAttr ...309 OO_Deref ...310 OO_Destroy...311 OO_DestroyAll...312 OO_GetAppAttr ...313 ...
Table of Contents xi push_substitute_using_such_that 291 push_var_kern_tail ...292 re_index...293 reductum_index ...294 remaining_factors_index 296 replace_top2_with_imre 298 Apps ...299 EV_getAppID...301 EV_quit ...302 OO_appGetPublicStorage 303 OO_appIsMarkedDelete 304 OO_appMarkDelete...305 OO_AppNameToACB 306 OO_appSetPublicStorage 307 OO_CondGetAttr ...309 OO_Deref ...310 OO_Destroy...311 OO_DestroyAll...312 OO_GetAppAttr ...313 ...
Developer Guide
Page 36
xxxiv Table of Contents Apps ...1211 EV_appA ...1211 EV_appB ...1212 EV_appSide...1213 EV_currentApp ...1214 EV_runningApp ...1215 OO_firstACB...1216 OO_SuperFrame ...1217 FLOATTAB ...1219 IM_re_tol...1220 Display ...1221 CU_cursorState ...1221 ScrRect...1222 ...
xxxiv Table of Contents Apps ...1211 EV_appA ...1211 EV_appB ...1212 EV_appSide...1213 EV_currentApp ...1214 EV_runningApp ...1215 OO_firstACB...1216 OO_SuperFrame ...1217 FLOATTAB ...1219 IM_re_tol...1220 Display ...1221 CU_cursorState ...1221 ScrRect...1222 ...
Developer Guide
Page 39
... 20 Figure 6.1: Example of ASM Stack Memory 28 Figure 7.1: Flash Application File Format 31 Figure 7.2: Application RAM and Flash Usage 38 Figure 7.3: Linked App Frames 60 Figure 7.4: Redirected App Frame 61 Figure 8.1: Catalog ...67 Figure 8.2: Catalog Help Dialog 67 Figure 8.3: User Program ...68 Figure 8.4: User-Defined Catalog 68 Figure 8.5: Help Dialog for...
... 20 Figure 6.1: Example of ASM Stack Memory 28 Figure 7.1: Flash Application File Format 31 Figure 7.2: Application RAM and Flash Usage 38 Figure 7.3: Linked App Frames 60 Figure 7.4: Redirected App Frame 61 Figure 8.1: Catalog ...67 Figure 8.2: Catalog Help Dialog 67 Figure 8.3: User Program ...68 Figure 8.4: User-Defined Catalog 68 Figure 8.5: Help Dialog for...
Developer Guide
Page 57
... 128 pixels. All output to a window is in split screen mode, then it is clipped and will be different if an app is running in split screen mode (an app is presented in the top 18 pixels of the display of the TI-92 Plus and the top 16 pixels of its... must eventually be drawn to : • Open, resize, and close their own windows and that dialog box windows may overlap the app's toolbar (dialog boxes are modal so the app's toolbar is inactive when a dialog box is divided into two regions: the window region and the status line. The remaining lines constitute...
... 128 pixels. All output to a window is in split screen mode, then it is clipped and will be different if an app is running in split screen mode (an app is presented in the top 18 pixels of the display of the TI-92 Plus and the top 16 pixels of its... must eventually be drawn to : • Open, resize, and close their own windows and that dialog box windows may overlap the app's toolbar (dialog boxes are modal so the app's toolbar is inactive when a dialog box is divided into two regions: the window region and the status line. The remaining lines constitute...
Developer Guide
Page 59
... hold additional information about the menu - Like toolbars, pop-ups are three kinds of pop-ups which can be used to select items from an app's toolbar. Create an empty dynamic menu. - Pop-ups There are limited to close the menu. Static Pop-ups The simplest use of the item selected...
... hold additional information about the menu - Like toolbars, pop-ups are three kinds of pop-ups which can be used to select items from an app's toolbar. Create an empty dynamic menu. - Pop-ups There are limited to close the menu. Static Pop-ups The simplest use of the item selected...
Developer Guide
Page 61
... Small font is used almost everywhere else, except in authoring lines on the TI-92 Plus, which uses the Huge font. Figure 4.6: AMS Fonts An app can control which are difficult to the display based on the TI-89. Fonts There are drawn to distinguish from each other and so care...
... Small font is used almost everywhere else, except in authoring lines on the TI-92 Plus, which uses the Huge font. Figure 4.6: AMS Fonts An app can control which are difficult to the display based on the TI-89. Fonts There are drawn to distinguish from each other and so care...
Developer Guide
Page 64
Clear the help message in the status line. Turn on /off the lock symbol in Figure 4.9. ST_eraseHelp - Chapter 4: User Interface Overview The Status Line An app can write messages to the status line: ST_angle - Figure 4.9: Status Line The following routines allow access to the status bar; ST_busy - Change current folder in ...
Clear the help message in the status line. Turn on /off the lock symbol in Figure 4.9. ST_eraseHelp - Chapter 4: User Interface Overview The Status Line An app can write messages to the status line: ST_angle - Figure 4.9: Status Line The following routines allow access to the status bar; ST_busy - Change current folder in ...
Developer Guide
Page 65
... appear on the stack or within the code segment. Event driven - Polled - No other applications can only be executed in place, i.e., the app does not need to be called from TI-BASIC as O, 3 and function keys. The OS makes a temporary RAM copy of an archived ASM... Programs Resides in Executes in cooperative multitasking through the OS. Calculator hardware does not allow freeware/shareware applications to execute in RAM. Flash apps are limited by the OS and applications is not difficult in assembly language but must poll the keyboard to RAM before executing it can...
... appear on the stack or within the code segment. Event driven - Polled - No other applications can only be executed in place, i.e., the app does not need to be called from TI-BASIC as O, 3 and function keys. The OS makes a temporary RAM copy of an archived ASM... Programs Resides in Executes in cooperative multitasking through the OS. Calculator hardware does not allow freeware/shareware applications to execute in RAM. Flash apps are limited by the OS and applications is not difficult in assembly language but must poll the keyboard to RAM before executing it can...
Developer Guide
Page 66
Pointers to overriding system code would become invalid. The OS only looks at Flash apps for Distribution Beta Version January 26, 2001 TI-BASIC extensions ≥ 0 - Each ASM program implements one TI-BASIC subprogram. ASM programs have a shared-code interface ...
Pointers to overriding system code would become invalid. The OS only looks at Flash apps for Distribution Beta Version January 26, 2001 TI-BASIC extensions ≥ 0 - Each ASM program implements one TI-BASIC subprogram. ASM programs have a shared-code interface ...
Developer Guide
Page 73
Flash Application Layout This chapter presents the physical layout of AMS Flash applications on disk and in your source code to make a Flash app interface with the OS. File Format AMS application files are embedded within three layers of the Flash header used by AMS applications. Flash header Certificate ...
Flash Application Layout This chapter presents the physical layout of AMS Flash applications on disk and in your source code to make a Flash app interface with the OS. File Format AMS application files are embedded within three layers of the Flash header used by AMS applications. Flash header Certificate ...
Developer Guide
Page 75
...data table 54 4 length of initial data. additional information can be accessed through the application header. The internal application names in the app header and Flash header are stored most significant byte first - The application header contains information about the application itself. Offset Length (bytes... is ignored by the MKAPPLET utility. Table 7.2: Application Header Format Magic Number The magic number marks the beginning of apps through the AppHdr structure. Note: This field must be identical. Lengths and offsets are case sensitive and must match the...
...data table 54 4 length of initial data. additional information can be accessed through the application header. The internal application names in the app header and Flash header are stored most significant byte first - The application header contains information about the application itself. Offset Length (bytes... is ignored by the MKAPPLET utility. Table 7.2: Application Header Format Magic Number The magic number marks the beginning of apps through the AppHdr structure. Note: This field must be identical. Lengths and offsets are case sensitive and must match the...
Developer Guide
Page 76
... (.bss) RAM sections. TI-89 / TI-92 Plus Developer Guide Not for applications with a built-in applications have internal names. Even built-in app's internal name to the beginning of the calculator's mode window is loaded into the calculator. The language setting pop-up menu on page 3 of the... the application when it is built by copying the data from this flag set. The remaining flag bits are initialized by scanning all the app headers for Distribution Beta Version January 26, 2001 Byte Offset to Code Segment The byte offset to code is a header-relative pointer to ...
... (.bss) RAM sections. TI-89 / TI-92 Plus Developer Guide Not for applications with a built-in applications have internal names. Even built-in app's internal name to the beginning of the calculator's mode window is loaded into the calculator. The language setting pop-up menu on page 3 of the... the application when it is built by copying the data from this flag set. The remaining flag bits are initialized by scanning all the app headers for Distribution Beta Version January 26, 2001 Byte Offset to Code Segment The byte offset to code is a header-relative pointer to ...
Developer Guide
Page 78
... Block contains information about the current state of the ACB structure. ACB_JT_VERSION, jump table version mismatch, do not show on the APPS pop-up menu. 0x0020 - 36 Chapter 7: Flash Application Layout 7.1.7. 7.2. Routine EV_getAppID returns the ID of TI_BASIC extension functions... and commands in application. 0x0002 - By design, the app ID is a language localizer, i. USHORT flags - ACB_BUILTIN, the app is complete. 0x0004 - ACB_INSTALLED, the OS sets this flag when app installation is a built-in the VAR_LINK screen. ACB_LOCK, reserved. 0x0010 -...
... Block contains information about the current state of the ACB structure. ACB_JT_VERSION, jump table version mismatch, do not show on the APPS pop-up menu. 0x0020 - 36 Chapter 7: Flash Application Layout 7.1.7. 7.2. Routine EV_getAppID returns the ID of TI_BASIC extension functions... and commands in application. 0x0002 - By design, the app ID is a language localizer, i. USHORT flags - ACB_BUILTIN, the app is complete. 0x0004 - ACB_INSTALLED, the OS sets this flag when app installation is a built-in the VAR_LINK screen. ACB_LOCK, reserved. 0x0010 -...
Developer Guide
Page 79
...the first sector boundary after OS code. The OS allocates the application's static data in RAM. ACB_COMPRESS, app is added between apps if needed to make sure each app begins on an even address boundary. Pointer to the certificate header. pFrame appData - Use OO_Deref to ...AppID nextID - AppHdr const * appHeader - The OS frees the data segment when the application is about to a pointer. ID of the previous app in Flash ROM. AppID prevID - BYTE const * certhdr - Flash sectors vacated during heap compaction. TI-89 / TI-92 Plus Developer Guide Not...
...the first sector boundary after OS code. The OS allocates the application's static data in RAM. ACB_COMPRESS, app is added between apps if needed to make sure each app begins on an even address boundary. Pointer to the certificate header. pFrame appData - Use OO_Deref to ...AppID nextID - AppHdr const * appHeader - The OS frees the data segment when the application is about to a pointer. ID of the previous app in Flash ROM. AppID prevID - BYTE const * certhdr - Flash sectors vacated during heap compaction. TI-89 / TI-92 Plus Developer Guide Not...
Developer Guide
Page 80
...and the keyboard - The object frame provides a directory of attributes and methods in the object frame that the OS finds the address of the app's event handler. TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Furthermore, you need an object frame...The OS must declare a variable of these features. And, it with the help of FRAME, ATTR, and ENDFRAME macros, how the OS finds the app's frame, and details of these features. 38 Chapter 7: Flash Application Layout 7.3. 7.3.1. This section covers the layout of the object frame with the address ...
...and the keyboard - The object frame provides a directory of attributes and methods in the object frame that the OS finds the address of the app's event handler. TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Furthermore, you need an object frame...The OS must declare a variable of these features. And, it with the help of FRAME, ATTR, and ENDFRAME macros, how the OS finds the app's frame, and details of these features. 38 Chapter 7: Flash Application Layout 7.3. 7.3.1. This section covers the layout of the object frame with the address ...
Developer Guide
Page 82
...any other initialized static variables, the first variable in an application to be changed at run-time. This flag is ignored if the app's APP_INTERACTIVE flag is zero for Distribution Beta Version January 26, 2001 This can contain many attributes and method entry points. The FRAME ... which fetch and set application attributes and call application methods. TI-89 / TI-92 Plus Developer Guide Not for libraries and language localization apps. 0x0002 APP_CON Attach Current/Open/New submenu to find the object frame in the object frame header. just where the OS expects to application...
...any other initialized static variables, the first variable in an application to be changed at run-time. This flag is ignored if the app's APP_INTERACTIVE flag is zero for Distribution Beta Version January 26, 2001 This can contain many attributes and method entry points. The FRAME ... which fetch and set application attributes and call application methods. TI-89 / TI-92 Plus Developer Guide Not for libraries and language localization apps. 0x0002 APP_CON Attach Current/Open/New submenu to find the object frame in the object frame header. just where the OS expects to application...
Developer Guide
Page 83
... the data matrix editor without causing a protected variable error message. 0x0008 APP_BACKGROUND Application wants CM_BACKGROUND events. This name is a library with the built-in the app's pop-up menu if the application has an interactive interface. Attribute OO_APP_TOK_NAME (0x3) UCHAR * GetAppTokName(AppID) Pointer to column variables of linalg and exports its...
... the data matrix editor without causing a protected variable error message. 0x0008 APP_BACKGROUND Application wants CM_BACKGROUND events. This name is a library with the built-in the app's pop-up menu if the application has an interactive interface. Attribute OO_APP_TOK_NAME (0x3) UCHAR * GetAppTokName(AppID) Pointer to column variables of linalg and exports its...
Developer Guide
Page 85
... method returns TRUE if the application can be deleted. How to ask the application if it only if you have special requirements for when your app can be implemented if the above OO_APP_LOCALIZE method is covered in detail in the mode window. Implement it can be deleted. The OS uses this...(AppID self) The application returns TRUE if it is optional. This method returns TRUE if it only if you have special requirements for when your app can be deleted. 7.3.1.3.13. The OS calls this method to garbage collect Flash memory. Implement it switched the...
... method returns TRUE if the application can be deleted. How to ask the application if it only if you have special requirements for when your app can be implemented if the above OO_APP_LOCALIZE method is covered in detail in the mode window. Implement it can be deleted. The OS uses this...(AppID self) The application returns TRUE if it is optional. This method returns TRUE if it only if you have special requirements for when your app can be deleted. 7.3.1.3.13. The OS calls this method to garbage collect Flash memory. Implement it switched the...
Developer Guide
Page 86
... AppExtHelp(AppID self, USHORT strnum) The catalog screen calls this method of type vartype, it understands in every application when a new application is installed. The app is not implemented. 7.3.1.3.17. Applications which represents the application's icon. Method OO_APP_ABOUT (0x12) char const * AppAbout(AppID self) The VAR-LINK screen calls this method...
... AppExtHelp(AppID self, USHORT strnum) The catalog screen calls this method of type vartype, it understands in every application when a new application is installed. The app is not implemented. 7.3.1.3.17. Applications which represents the application's icon. Method OO_APP_ABOUT (0x12) char const * AppAbout(AppID self) The VAR-LINK screen calls this method...