Developer Guide
Page 9
... Versus Internal Tokenized Polish 170 15.4. Estack Arguments and Results 176 15.6.2. Working with Numbers 181 16.1. Overview ...181 TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Third Party Data 160 14.12. Assembly Program...14.9. Contiguous Tokenized Polish Representation 161 15.2.1. Most Main Ordering and Internal Representations of Working on the EStack 175 15.6.1. Estack Calculations 177 15.7. String Variable 151 14.7. Tokenized Programs and Functions 157 14.10. Data Variable 150 14.5. Expressions and the ...
... Versus Internal Tokenized Polish 170 15.4. Estack Arguments and Results 176 15.6.2. Working with Numbers 181 16.1. Overview ...181 TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Third Party Data 160 14.12. Assembly Program...14.9. Contiguous Tokenized Polish Representation 161 15.2.1. Most Main Ordering and Internal Representations of Working on the EStack 175 15.6.1. Estack Calculations 177 15.7. String Variable 151 14.7. Tokenized Programs and Functions 157 14.10. Data Variable 150 14.5. Expressions and the ...
Developer Guide
Page 47
... and package event completed Default event handling Application completed Handle event does not know how Figure 2.1: AMS Event Handler TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 The event manager interfaces with the device drivers... application currently active in Figure 2.1. The 68000 TI AMS Operating System Overview The AMS calculator Operating System (OS) implements a classic cooperative event-driven architecture. The event manager puts the calculator into an event message and sent to event messages by performing some action such as ...
... and package event completed Default event handling Application completed Handle event does not know how Figure 2.1: AMS Event Handler TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 The event manager interfaces with the device drivers... application currently active in Figure 2.1. The 68000 TI AMS Operating System Overview The AMS calculator Operating System (OS) implements a classic cooperative event-driven architecture. The event manager puts the calculator into an event message and sent to event messages by performing some action such as ...
Developer Guide
Page 48
... in Figure 2.2. They are intended to the application as subroutines called from TI-BASIC and executed from TI-BASIC instead of every calculator feature. Event Manager Graphical User Interface Library Applications Jump Table Symbol Table Manager Computer Algebra System Low-Level Drivers: Power, LCD, ... are routines written in C or 68000 assembly language, both of Operating System entry points and data structures, is stored in RAM. TI-89 / TI-92 Plus Developer Guide Not for AMS 2.04) and execute in memory location 0xC8. Through the jump table, applications, and ...
... in Figure 2.2. They are intended to the application as subroutines called from TI-BASIC and executed from TI-BASIC instead of every calculator feature. Event Manager Graphical User Interface Library Applications Jump Table Symbol Table Manager Computer Algebra System Low-Level Drivers: Power, LCD, ... are routines written in C or 68000 assembly language, both of Operating System entry points and data structures, is stored in RAM. TI-89 / TI-92 Plus Developer Guide Not for AMS 2.04) and execute in memory location 0xC8. Through the jump table, applications, and ...
Developer Guide
Page 49
...-92 Plus Hardware Overview Overview The TI-89 and TI-92 Plus Graphing calculators provide a platform for writing interactive applications that allows the different components to the user. When creating applications, understanding the capabilities and limitations of the TI-89 / TI-92 Plus from a programmer's ... are important to creating a good interface to communicate with each other, as well as specialized registers for Distribution Beta Version January 26, 2001 TI-89 / TI-92 Plus Developer Guide Not for system control. • A Motorola 68000 CPU. • 256 K bytes of RAM. •...
...-92 Plus Hardware Overview Overview The TI-89 and TI-92 Plus Graphing calculators provide a platform for writing interactive applications that allows the different components to the user. When creating applications, understanding the capabilities and limitations of the TI-89 / TI-92 Plus from a programmer's ... are important to creating a good interface to communicate with each other, as well as specialized registers for Distribution Beta Version January 26, 2001 TI-89 / TI-92 Plus Developer Guide Not for system control. • A Motorola 68000 CPU. • 256 K bytes of RAM. •...
Developer Guide
Page 50
...-92 Plus Hardware Overview • A black and white LCD display (100 lines of 160 pixels for the TI-89, 128 lines of the OS, the developer should utilize entry points wherever possible. For reference, the memory map is important when developing for the TI-...92 Plus). • A set-line / scan-line style matrix keyboard. • A three line (D0, D1, and ground) serial IO interface. TI-89 / TI-92 Plus Developer Guide Not for the calculators consists of specific entry points. To remain compatible with the hardware can be accomplished through the heap or file system. Memory...
...-92 Plus Hardware Overview • A black and white LCD display (100 lines of 160 pixels for the TI-89, 128 lines of the OS, the developer should utilize entry points wherever possible. For reference, the memory map is important when developing for the TI-...92 Plus). • A set-line / scan-line style matrix keyboard. • A three line (D0, D1, and ground) serial IO interface. TI-89 / TI-92 Plus Developer Guide Not for the calculators consists of specific entry points. To remain compatible with the hardware can be accomplished through the heap or file system. Memory...
Developer Guide
Page 57
... boundaries. All output to the app. An app's main window normally has no border but if it is in the following sections. On both calculators, the display is presented in split screen mode, then it is active). Note that window must be closed. The user interface consists of 240... that appear on -top of the display are modal so the app's toolbar is inactive when a dialog box is started). An overview of the TI-89. Window routines exist to an open and close windows • Draw characters, strings, lines, ellipses, rectangles, and pixels • Fill regions (rectangular or ...
... boundaries. All output to the app. An app's main window normally has no border but if it is in the following sections. On both calculators, the display is presented in split screen mode, then it is active). Note that window must be closed. The user interface consists of 240... that appear on -top of the display are modal so the app's toolbar is inactive when a dialog box is started). An overview of the TI-89. Window routines exist to an open and close windows • Draw characters, strings, lines, ellipses, rectangles, and pixels • Fill regions (rectangular or ...
Developer Guide
Page 64
.../DEG indicator in the status line. ST_folder - Temporarily display a help status and restore the indicators. ST_busy - Clear the help message in the status line. TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Turn on /off the lock symbol in the status line. but when... cleared of any messages and the modifier status is also used to show things like the current directory, radian/degree mode, battery status, and other calculator information as shown in Figure 4.9. ST_helpMsg - 22 4.5. The status bar is displayed.
.../DEG indicator in the status line. ST_folder - Temporarily display a help status and restore the indicators. ST_busy - Clear the help message in the status line. TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Turn on /off the lock symbol in the status line. but when... cleared of any messages and the modifier status is also used to show things like the current directory, radian/degree mode, battery status, and other calculator information as shown in Figure 4.9. ST_helpMsg - 22 4.5. The status bar is displayed.
Developer Guide
Page 65
... the antipiracy mechanism. ASM programs must poll the keyboard to execute in calculators that have an initial value. Event driven - TI-89 / TI-92 Plus Developer Guide Not for each application. Calculator hardware does not allow freeware/shareware applications to be executed. Yes - ...- Yes - None - ASM Programs Resides in Executes in cooperative multitasking through the OS. ASM programs can be freely copied between calculators. protected Flash memory - ASM programs can run until the ASM program returns to RAM before executing it can be installed in archive ...
... the antipiracy mechanism. ASM programs must poll the keyboard to execute in calculators that have an initial value. Event driven - TI-89 / TI-92 Plus Developer Guide Not for each application. Calculator hardware does not allow freeware/shareware applications to be executed. Yes - ...- Yes - None - ASM Programs Resides in Executes in cooperative multitasking through the OS. ASM programs can be freely copied between calculators. protected Flash memory - ASM programs can run until the ASM program returns to RAM before executing it can be installed in archive ...
Developer Guide
Page 66
...into a class hierarchy for other Flash applications or ASM programs. No - ASM Programs Flash Application ASM Program System overrides Yes - Calculator language localization is provided by Flash applications. Flash applications have no OS-supported shared-code interface. No - Localization Yes - TI... can override many TI-BASIC extension functions and subprograms. 1 - Each ASM program implements one TI-BASIC subprogram. TI-89 / TI-92 Plus Developer Guide Not for language localizers. Flash applications can provide many system features. Object-oriented features ...
...into a class hierarchy for other Flash applications or ASM programs. No - ASM Programs Flash Application ASM Program System overrides Yes - Calculator language localization is provided by Flash applications. Flash applications have no OS-supported shared-code interface. No - Localization Yes - TI... can override many TI-BASIC extension functions and subprograms. 1 - Each ASM program implements one TI-BASIC subprogram. TI-89 / TI-92 Plus Developer Guide Not for language localizers. Flash applications can provide many system features. Object-oriented features ...
Developer Guide
Page 67
..., however, return function values on the estack to catch errors. See chapter 10. The stack contains the return address to use A7 for the TI-89 / TI-92 Plus calculator. You should consider developing a Flash application if your ASM program is large. See the TI Web site and the TI...-89 / TI-92 Plus Guidebook. ASM programs are ASM Programs? The stack serves four main purposes: it holds the return address from the stack. You should ...
..., however, return function values on the estack to catch errors. See chapter 10. The stack contains the return address to use A7 for the TI-89 / TI-92 Plus calculator. You should consider developing a Flash application if your ASM program is large. See the TI Web site and the TI...-89 / TI-92 Plus Guidebook. ASM programs are ASM Programs? The stack serves four main purposes: it holds the return address from the stack. You should ...
Developer Guide
Page 71
... program call waitkey("k"). It turns on the PAUSE indicator in the status line and puts the calculator in low power mode until a key is legal and not reserved for Distribution Beta Version January 26, 2001 TI-89 / TI-92 Plus Developer Guide Not for something else */ if (TokenizeSymName(varname, TSF_PASS_ERRORS) == NULL) ER_throw...
... program call waitkey("k"). It turns on the PAUSE indicator in the status line and puts the calculator in low power mode until a key is legal and not reserved for Distribution Beta Version January 26, 2001 TI-89 / TI-92 Plus Developer Guide Not for something else */ if (TokenizeSymName(varname, TSF_PASS_ERRORS) == NULL) ER_throw...
Developer Guide
Page 73
31 7. 7.1. 7.1.1. TI-89 / TI-92 Plus Developer Guide Not for license tracking, and the application header needed by TI-GRAPH LINK software. File Format AMS application files are ... of AMS Flash applications on disk and in your source code to make a Flash app interface with the OS. It also discusses what needs to a calculator. TI-GRAPH LINK removes this header when it sends software to be in...
31 7. 7.1. 7.1.1. TI-89 / TI-92 Plus Developer Guide Not for license tracking, and the application header needed by TI-GRAPH LINK software. File Format AMS application files are ... of AMS Flash applications on disk and in your source code to make a Flash app interface with the OS. It also discusses what needs to a calculator. TI-GRAPH LINK removes this header when it sends software to be in...
Developer Guide
Page 74
...) 24 filler (zeros) 4 length of the certificate. Certificate Header The certificate header is kept with a license in the calculator. The application itself is transmitted from one calculator to another or uploaded to a computer. TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 32 Chapter 7: Flash Application Layout...
...) 24 filler (zeros) 4 length of the certificate. Certificate Header The certificate header is kept with a license in the calculator. The application itself is transmitted from one calculator to another or uploaded to a computer. TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 32 Chapter 7: Flash Application Layout...
Developer Guide
Page 76
...app (see EV_sendEvent) given its application ID. The language setting pop-up menu on page 3 of the application code image. TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Length of Data Segment The data segment length is .... 34 Chapter 7: Flash Application Layout 7.1.3.3. 7.1.3.4. 7.1.3.5. 7.1.3.6. It consists of static RAM to allocate to the beginning of the calculator's mode window is loaded into the calculator. Your app can call EV_getAppID with this table. Byte Offset to Code Segment The byte offset to code is a header-relative...
...app (see EV_sendEvent) given its application ID. The language setting pop-up menu on page 3 of the application code image. TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Length of Data Segment The data segment length is .... 34 Chapter 7: Flash Application Layout 7.1.3.3. 7.1.3.4. 7.1.3.5. 7.1.3.6. It consists of static RAM to allocate to the beginning of the calculator's mode window is loaded into the calculator. Your app can call EV_getAppID with this table. Byte Offset to Code Segment The byte offset to code is a header-relative...
Developer Guide
Page 77
... addresses when the positions of the code and data segments are set to store in the hole is moved in initial data table. TI-89 / TI-92 Plus Developer Guide Not for each location which are not explicitly initialized are finally established. Chapter 7: Flash Application Layout 35 7.1.3.7. ...Version January 26, 2001 The application's data segment is initialized when the application is installed and reinitialized every time the application is calculated from the base and relative value. The initial data table provides their initial values. Base values 01 and 11 are in ...
... addresses when the positions of the code and data segments are set to store in the hole is moved in initial data table. TI-89 / TI-92 Plus Developer Guide Not for each location which are not explicitly initialized are finally established. Chapter 7: Flash Application Layout 35 7.1.3.7. ...Version January 26, 2001 The application's data segment is initialized when the application is installed and reinitialized every time the application is calculated from the base and relative value. The initial data table provides their initial values. Base values 01 and 11 are in ...
Developer Guide
Page 78
... state of ACBs. ACB_BUILTIN, the app is selected in apps that come preinstalled from changes. e. ACB_LOCK, reserved. 0x0010 - TI-89 / TI-92 Plus Developer Guide Not for each app in the calculator whether it is one of the built-in the VAR-LINK screen. 0x0800 - Signature The signature protects everything from the...
... state of ACBs. ACB_BUILTIN, the app is selected in apps that come preinstalled from changes. e. ACB_LOCK, reserved. 0x0010 - TI-89 / TI-92 Plus Developer Guide Not for each app in the calculator whether it is one of the built-in the VAR-LINK screen. 0x0800 - Signature The signature protects everything from the...
Developer Guide
Page 95
...Comments begin with the pound sign (#) and extend to access variables and call routines in the library. appname is not installed in the calculator. Macros defined in the following forms: apvpavrar [ slot-number ] var-name : ...type ; FDL accepts an input file of line. TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 n = *GetPlayerFileTableCount(libid); fd = PlayerFileOpen(libid, "script...
...Comments begin with the pound sign (#) and extend to access variables and call routines in the library. appname is not installed in the calculator. Macros defined in the following forms: apvpavrar [ slot-number ] var-name : ...type ; FDL accepts an input file of line. TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 n = *GetPlayerFileTableCount(libid); fd = PlayerFileOpen(libid, "script...
Developer Guide
Page 108
... such that if home was already on needs to be set the appropriate side to start. If the calculator is in split screen, then the mode setting for the split screen side the application is running on one side,... become full screen. */ HomeID = EV_getAppID( (const UCHAR *) "TIHOME" ); if (MO_option[MO_OPT_SPLIT_1] == appID) MO_option[MO_OPT_SPLIT_1] = HomeID; 66 8.2. MO_digestOptions(H_NULL); } TI-89 / TI-92 Plus Developer Guide Not for English or AppId of language app. Chapter 8: Integrating a Flash Application Index Setting 14 MO_OPT_PRETTY_PRINT 15 MO_OPT_BASE 16 MO_OPT_UNIT_SYSTEM...
... such that if home was already on needs to be set the appropriate side to start. If the calculator is in split screen, then the mode setting for the split screen side the application is running on one side,... become full screen. */ HomeID = EV_getAppID( (const UCHAR *) "TIHOME" ); if (MO_option[MO_OPT_SPLIT_1] == appID) MO_option[MO_OPT_SPLIT_1] = HomeID; 66 8.2. MO_digestOptions(H_NULL); } TI-89 / TI-92 Plus Developer Guide Not for English or AppId of language app. Chapter 8: Integrating a Flash Application Index Setting 14 MO_OPT_PRETTY_PRINT 15 MO_OPT_BASE 16 MO_OPT_UNIT_SYSTEM...
Developer Guide
Page 111
... Help Dialog box */ ATTR(OO_APPSTRING+STR_HELP+STR_appfunc, "app function help") ATTR(OO_APPSTRING+STR_HELP+STR_appprog, "app program help") ENDFRAME TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 TIAPP */ ATTR(OO_APPSTRING+STR_appfunc, "appfunc") ATTR(OO_APPSTRING... { /* func name #, help " appears in the Status Line when the cursor is on this function and also in the calculator installed App Extensions. An example of the system. Flash App Extensions Flash applications can install functions and programs called App Extensions that ...
... Help Dialog box */ ATTR(OO_APPSTRING+STR_HELP+STR_appfunc, "app function help") ATTR(OO_APPSTRING+STR_HELP+STR_appprog, "app program help") ENDFRAME TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 TIAPP */ ATTR(OO_APPSTRING+STR_appfunc, "appfunc") ATTR(OO_APPSTRING... { /* func name #, help " appears in the Status Line when the cursor is on this function and also in the calculator installed App Extensions. An example of the system. Flash App Extensions Flash applications can install functions and programs called App Extensions that ...
Developer Guide
Page 119
... message (CM_NULL) is put into a message and sends it needs to the currently active application. Then the calculator is sent to be repainted. Any hardware interrupt brings the calculator out of low power mode and starts the event scan at the top of an application's main entry point follows... window, that is sent to the window's owner application indicating it to repaint its main entry point. A message (see CM_WPAINT in section 9.3. TI-89 / TI-92 Plus Developer Guide Not for an event such as a keypress or clock tick. After initializing the system, the operating system goes into ...
... message (CM_NULL) is put into a message and sends it needs to the currently active application. Then the calculator is sent to be repainted. Any hardware interrupt brings the calculator out of low power mode and starts the event scan at the top of an application's main entry point follows... window, that is sent to the window's owner application indicating it to repaint its main entry point. A message (see CM_WPAINT in section 9.3. TI-89 / TI-92 Plus Developer Guide Not for an event such as a keypress or clock tick. After initializing the system, the operating system goes into ...