Developer Guide
Page 9
..., Multiplication, and Addition 172 15.5. Primary, Secondary, and Command Tags 169 15.2.10. The Expression Stack 174 15.6. Estack Arguments and Results 176 15.6.2. Estack Calculations 177 15.7. Overview ...181 TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Assembly Program 160 15. Variables, Units...
..., Multiplication, and Addition 172 15.5. Primary, Secondary, and Command Tags 169 15.2.10. The Expression Stack 174 15.6. Estack Arguments and Results 176 15.6.2. Estack Calculations 177 15.7. Overview ...181 TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Assembly Program 160 15. Variables, Units...
Developer Guide
Page 47
... to the application currently active in Figure 2.1. 5 2. This information is illustrated in the calculator screen. 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 the event manager and awaits the...
... to the application currently active in Figure 2.1. 5 2. This information is illustrated in the calculator screen. 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 the event manager and awaits the...
Developer Guide
Page 48
...programming language provides ease of programming at the expense of speed and control of which give the software developer much greater control over the calculator. The address of the jump table, a table of fully integrated applications. ASM programs can access low-level device drivers, the event...executed from TI-BASIC instead of Operating System entry points and data structures, is stored in C or 68000 assembly language, both of every calculator feature. Through the jump table, applications, and ASM programs can be called from the Home screen author line. 6 Chapter 2: The ...
...programming language provides ease of programming at the expense of speed and control of which give the software developer much greater control over the calculator. The address of the jump table, a table of fully integrated applications. ASM programs can access low-level device drivers, the event...executed from TI-BASIC instead of Operating System entry points and data structures, is stored in C or 68000 assembly language, both of every calculator feature. Through the jump table, applications, and ASM programs can be called from the Home screen author line. 6 Chapter 2: The ...
Developer Guide
Page 49
3. 3.1. 7 The TI-89 / TI-92 Plus Hardware Overview Overview The TI-89 and TI-92 Plus Graphing calculators provide a platform for Distribution Beta Version January 26, 2001 TI-89 / TI-92 Plus Developer Guide Not for writing interactive applications that allows the different ...
3. 3.1. 7 The TI-89 / TI-92 Plus Hardware Overview Overview The TI-89 and TI-92 Plus Graphing calculators provide a platform for Distribution Beta Version January 26, 2001 TI-89 / TI-92 Plus Developer Guide Not for writing interactive applications that allows the different ...
Developer Guide
Page 50
Memory Map Memory for the calculators consists of 240 pixels for these platforms. Additionally, since Flash memory stores the OS, certificates, applications, and does not have infinite life, more restrictions are ...
Memory Map Memory for the calculators consists of 240 pixels for these platforms. Additionally, since Flash memory stores the OS, certificates, applications, and does not have infinite life, more restrictions are ...
Developer Guide
Page 57
... convention, windows that dialog box windows may overlap the app's toolbar (dialog boxes are always used for Distribution Beta Version January 26, 2001 On both calculators, the display is 160 by 128 pixels. An app's main window normally has no border but if it is presented in the following sections. The...
... convention, windows that dialog box windows may overlap the app's toolbar (dialog boxes are always used for Distribution Beta Version January 26, 2001 On both calculators, the display is 160 by 128 pixels. An app's main window normally has no border but if it is presented in the following sections. The...
Developer Guide
Page 64
... 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 the status line. Turn on /off the lock symbol in the status line. Turn on /off the BUSY indicator. Change the...
... 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 the status line. Turn on /off the lock symbol in the status line. Turn on /off the BUSY indicator. Change the...
Developer Guide
Page 65
...memory occupied by the amount of memory larger than 4 MB. ≤ 24 KB - ASM programs can only be installed in RAM. Calculator hardware does not allow freeware/shareware applications to be executed. The current version of the heap manager cannot allocate any chunk of free Flash ...on the O menu. protected Flash memory - Flash apps are limited by the OS and applications is protected from inadvertent or malicious changes. All calculators come with a freeware/shareware key which may have a license for the software. ASM programs can only be archived but C never allocates static...
...memory occupied by the amount of memory larger than 4 MB. ≤ 24 KB - ASM programs can only be installed in RAM. Calculator hardware does not allow freeware/shareware applications to be executed. The current version of the heap manager cannot allocate any chunk of free Flash ...on the O menu. protected Flash memory - Flash apps are limited by the OS and applications is protected from inadvertent or malicious changes. All calculators come with a freeware/shareware key which may have a license for the software. ASM programs can only be archived but C never allocates static...
Developer Guide
Page 66
... apps for Distribution Beta Version January 26, 2001 Each ASM program implements one TI-BASIC subprogram. Flash applications have no OS-supported shared-code interface. Calculator language localization is provided by Flash applications. TI-BASIC extensions ≥ 0 - Each Flash application has an No object frame which can provide many system features...
... apps for Distribution Beta Version January 26, 2001 Each ASM program implements one TI-BASIC subprogram. Flash applications have no OS-supported shared-code interface. Calculator language localization is provided by Flash applications. TI-BASIC extensions ≥ 0 - Each Flash application has an No object frame which can provide many system features...
Developer Guide
Page 67
...-vector handler throws a protected memory error. Do not use assembly language to use A7 for the TI-89 / TI-92 Plus calculator. You should already know how to the TI-BASIC interpreter when your assembly language program is special circuitry in 68000 assembly language. Assembly... TI-BASIC programs or from subroutine calls, subroutine parameters are passed on the stack, subroutine local variables are subroutines written in the calculator which detects stack overflow. See chapter 10. Register Usage Register A7 is below 0x0400 causes level 7 auto-vector interrupt (address at...
...-vector handler throws a protected memory error. Do not use assembly language to use A7 for the TI-89 / TI-92 Plus calculator. You should already know how to the TI-BASIC interpreter when your assembly language program is special circuitry in 68000 assembly language. Assembly... TI-BASIC programs or from subroutine calls, subroutine parameters are passed on the stack, subroutine local variables are subroutines written in the calculator which detects stack overflow. See chapter 10. Register Usage Register A7 is below 0x0400 causes level 7 auto-vector interrupt (address at...
Developer Guide
Page 71
... is pressed. */ #include "tiams.h" /* Entry point must be written in C. USHORT ch; It turns on the PAUSE indicator in the status line and puts the calculator in your TI-BASIC program call waitkey("k"). The key code for the pressed key is stored in a variable of variable name */ varname = next_expression_index(varname-1) + 2; /* Make...
... is pressed. */ #include "tiams.h" /* Entry point must be written in C. USHORT ch; It turns on the PAUSE indicator in the status line and puts the calculator in your TI-BASIC program call waitkey("k"). The key code for the pressed key is stored in a variable of variable name */ varname = next_expression_index(varname-1) + 2; /* Make...
Developer Guide
Page 73
... Format AMS application files are embedded within three layers of AMS Flash applications on disk and in your source code to a calculator. It also discusses what needs to be in calculator memory. Flash Application Layout This chapter presents the physical layout of headers: the Flash header used by TI-GRAPH LINK software...
... Format AMS application files are embedded within three layers of AMS Flash applications on disk and in your source code to a calculator. It also discusses what needs to be in calculator memory. Flash Application Layout This chapter presents the physical layout of headers: the Flash header used by TI-GRAPH LINK software...
Developer Guide
Page 74
...certificate. Certificate Header The certificate header is kept with a license in the calculator. The certificate contains variable-length tagged fields. This header is used by the license tracking software in the calculator's unit certificate), revision number, build number, internal name, and an embedded... fields include the application's product ID (a number which cross-references the certificate with the application when it is downloaded into the calculator and when it is actually a tagged field of data following header Table 7.1: Flash Header Format Binary-coded...
...certificate. Certificate Header The certificate header is kept with a license in the calculator. The certificate contains variable-length tagged fields. This header is used by the license tracking software in the calculator's unit certificate), revision number, build number, internal name, and an embedded... fields include the application's product ID (a number which cross-references the certificate with the application when it is downloaded into the calculator and when it is actually a tagged field of data following header Table 7.1: Flash Header Format Binary-coded...
Developer Guide
Page 76
Byte Offset to Initial Data Table The contents of Built-in app's internal name to code is loaded into the calculator. The remaining flag bits are initialized by scanning all the app headers for applications with a built-in Applications Flags 0x0001 ... app can call EV_getAppID with this table. 34 Chapter 7: Flash Application Layout 7.1.3.3. 7.1.3.4. 7.1.3.5. 7.1.3.6. You can send messages to the beginning of the calculator's mode window is built by copying the data from this flag set. The language setting pop-up menu on page 3 of the application code image...
Byte Offset to Initial Data Table The contents of Built-in app's internal name to code is loaded into the calculator. The remaining flag bits are initialized by scanning all the app headers for applications with a built-in Applications Flags 0x0001 ... app can call EV_getAppID with this table. 34 Chapter 7: Flash Application Layout 7.1.3.3. 7.1.3.4. 7.1.3.5. 7.1.3.6. You can send messages to the beginning of the calculator's mode window is built by copying the data from this flag set. The language setting pop-up menu on page 3 of the application code image...
Developer Guide
Page 77
...in the header extension. 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. The optional header length specifies how many bytes... Not for data-segment relative. Static/external variables which needs to zero. Relocation Map The OS uses the relocation map to calculate absolute addresses when the positions of bytes in the application code or initial data table an absolute address needs to hold static ...
...in the header extension. 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. The optional header length specifies how many bytes... Not for data-segment relative. Static/external variables which needs to zero. Relocation Map The OS uses the relocation map to calculate absolute addresses when the positions of bytes in the application code or initial data table an absolute address needs to hold static ...
Developer Guide
Page 78
... - Dereference the handle to get a pointer to traverse the list of ACBs. ACB_INSTALLED, the OS sets this flag when app installation is a built-in the calculator whether it is a language localizer, i. ACB_LOCK, reserved. 0x0010 - TI-89 / TI-92 Plus Developer Guide Not for each app in application. 0x0002 - 36 Chapter 7: Flash...
... - Dereference the handle to get a pointer to traverse the list of ACBs. ACB_INSTALLED, the OS sets this flag when app installation is a built-in the calculator whether it is a language localizer, i. ACB_LOCK, reserved. 0x0010 - TI-89 / TI-92 Plus Developer Guide Not for each app in application. 0x0002 - 36 Chapter 7: Flash...
Developer Guide
Page 95
appname is not installed in the calculator. Macros defined in fileio.h can use the function call macros created by the FDL compiler to access variables and call routines in the app's ...
appname is not installed in the calculator. Macros defined in fileio.h can use the function call macros created by the FDL compiler to access variables and call routines in the app's ...
Developer Guide
Page 108
... such as low memory, an application may need to quit and default back to the Home screen: volatile HANDLE HomeID = H_NULL; If the calculator is such that if home was already on needs to be set the appropriate side to home. */ /* AMS behavior is in full screen,...=1 1 for Distribution Beta Version January 26, 2001 else { /* If in split screen, set to home */ if (MO_option[MO_OPT_SPLIT_SCREEN] == D_MODE_SPLIT_FULL) EV_quit(); If the calculator is in split screen, then the mode setting for the split screen side the application is running on one side, it will cause the Home...
... such as low memory, an application may need to quit and default back to the Home screen: volatile HANDLE HomeID = H_NULL; If the calculator is such that if home was already on needs to be set the appropriate side to home. */ /* AMS behavior is in full screen,...=1 1 for Distribution Beta Version January 26, 2001 else { /* If in split screen, set to home */ if (MO_option[MO_OPT_SPLIT_SCREEN] == D_MODE_SPLIT_FULL) EV_quit(); If the calculator is in split screen, then the mode setting for the split screen side the application is running on one side, it will cause the Home...
Developer Guide
Page 111
The F3: Flash Apps catalog toolbar selection item will display the list of App Extensions in the calculator installed App Extensions. Pressing the ... APP_EXTENSION const appExtensions[] = { /* func name #, help " appears in the Status Line when the cursor is on this function and also ...
The F3: Flash Apps catalog toolbar selection item will display the list of App Extensions in the calculator installed App Extensions. Pressing the ... APP_EXTENSION const appExtensions[] = { /* func name #, help " appears in the Status Line when the cursor is on this function and also ...
Developer Guide
Page 119
... TI-89 / TI-92 Plus Developer Guide Not for an event such as a keypress or clock tick. If none of the loop. Then the calculator is to say, a window which needs to the currently active application. if (! break; After initializing the system, the operating system goes into low power...message (CM_NULL) is sent to the window's owner application indicating it to be repainted. case CM_KEY_PRESS: . . . Any hardware interrupt brings the calculator out of low power mode and starts the event scan at the top of the devices need attention, the window list is scanned for a dirty...
... TI-89 / TI-92 Plus Developer Guide Not for an event such as a keypress or clock tick. If none of the loop. Then the calculator is to say, a window which needs to the currently active application. if (! break; After initializing the system, the operating system goes into low power...message (CM_NULL) is sent to the window's owner application indicating it to be repainted. case CM_KEY_PRESS: . . . Any hardware interrupt brings the calculator out of low power mode and starts the event scan at the top of the devices need attention, the window list is scanned for a dirty...