Developer Guide
Page 9
... Tags That Take More Than Two or a Variable Number of Working on the EStack 175 15.6.1. Bitmap PIC Images 156 14.9. Numbers...163 15.2.3. Estack Calculations 177 15.7. Tags ...162 15.2.2. One-argument Tags 167 15.2.6. String Variable 151 14.7. Overview ...161 15.2. Primary, Secondary, and Command Tags 169 15.2.10...
... Tags That Take More Than Two or a Variable Number of Working on the EStack 175 15.6.1. Bitmap PIC Images 156 14.9. Numbers...163 15.2.3. Estack Calculations 177 15.7. Tags ...162 15.2.2. One-argument Tags 167 15.2.6. String Variable 151 14.7. Overview ...161 15.2. Primary, Secondary, and Command Tags 169 15.2.10...
Developer Guide
Page 47
.... This process is then packaged into low power mode until another event occurs. 5 2. The 68000 TI AMS Operating System Overview The AMS calculator Operating System (OS) implements a classic cooperative event-driven architecture. An application reacts to determine when something important has happened such as moving its... cursor or repainting its window. The event manager puts the calculator into an event message and sent to the event manager and awaits the next event. This information is illustrated in the...
.... This process is then packaged into low power mode until another event occurs. 5 2. The 68000 TI AMS Operating System Overview The AMS calculator Operating System (OS) implements a classic cooperative event-driven architecture. An application reacts to determine when something important has happened such as moving its... cursor or repainting its window. The event manager puts the calculator into an event message and sent to the event manager and awaits the next event. This information is illustrated in the...
Developer Guide
Page 48
... of fully integrated applications. The address of the jump table, a table of which give the software developer much greater control over the calculator. ASM programs can access low-level device drivers, the event manager, memory manager, symbol table manager, graphical user interface library, computer algebra...Overview Many operating system routines are intended to the application as subroutines called from TI-BASIC and executed from TI-BASIC instead of every calculator feature. TI-89 / TI-92 Plus Developer Guide Not for AMS 2.04) and execute in C or 68000 assembly language, both...
... of fully integrated applications. The address of the jump table, a table of which give the software developer much greater control over the calculator. ASM programs can access low-level device drivers, the event manager, memory manager, symbol table manager, graphical user interface library, computer algebra...Overview Many operating system routines are intended to the application as subroutines called from TI-BASIC and executed from TI-BASIC instead of every calculator feature. TI-89 / TI-92 Plus Developer Guide Not for AMS 2.04) and execute in C or 68000 assembly language, both...
Developer Guide
Page 49
... TI-89 / TI-92 Plus from a programmer's perspective. 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 writing interactive applications that allows the different components to the user.
... TI-89 / TI-92 Plus from a programmer's perspective. 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 writing interactive applications that allows the different components to the user.
Developer Guide
Page 50
TI-89 / TI-92 Plus Developer Guide Not for the calculators consists of RAM memory, Flash memory, and address space within the ASIC. 8 3.2. For reference, the memory map is important when developing for the TI-92 ...
TI-89 / TI-92 Plus Developer Guide Not for the calculators consists of RAM memory, Flash memory, and address space within the ASIC. 8 3.2. For reference, the memory map is important when developing for the TI-92 ...
Developer Guide
Page 57
On both calculators, the display is 160 by 128 pixels. 4. 4.1. 15 User Interface Overview The TI-92 Plus has a display of 240 by 100 pixels. The bottom seven ...
On both calculators, the display is 160 by 128 pixels. 4. 4.1. 15 User Interface Overview The TI-92 Plus has a display of 240 by 100 pixels. The bottom seven ...
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. ST_busy - Turn on /off the BUSY indicator. ST_readOnly - Turn on /off the lock symbol in the status line...
... 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. ST_busy - Turn on /off the BUSY indicator. ST_readOnly - Turn on /off the lock symbol in the status line...
Developer Guide
Page 65
...from the user. ASM programs are limited by the OS and applications is not difficult in assembly language but C never allocates static/global variables in calculators that have an initial value. The OS provides default behavior for many of an archived ASM program before it . ≤ 4 MB - ... can be archived but can define and reference global and static variables any of memory larger than 4 MB. ≤ 24 KB - All calculators come with a freeware/shareware key which may have a license for special keys on the keyboard. They can be freely copied between...
...from the user. ASM programs are limited by the OS and applications is not difficult in assembly language but C never allocates static/global variables in calculators that have an initial value. The OS provides default behavior for many of an archived ASM program before it . ≤ 4 MB - ... can be archived but can define and reference global and static variables any of memory larger than 4 MB. ≤ 24 KB - All calculators come with a freeware/shareware key which may have a license for special keys on the keyboard. They can be freely copied between...
Developer Guide
Page 66
ASM programs may move during heap garbage collect. Calculator language localization is provided by Flash applications. No - Each ASM program implements one TI-BASIC subprogram. ASM programs have a shared-code interface which exposes its ...
ASM programs may move during heap garbage collect. Calculator language localization is provided by Flash applications. No - Each ASM program implements one TI-BASIC subprogram. ASM programs have a shared-code interface which exposes its ...
Developer Guide
Page 67
... language and be temporarily pushed onto and popped from the Home screen author line just like other calculators through the link port. Additionally, your Flash applications enjoy a measure of calculator resources that ASM programs do not take up precious RAM. See chapter 10. Do not use ...They can be familiar with the advantage of speed and direct control of copy protection that TI-BASIC as data type ASM in the calculator which detects stack overflow. You should consider developing a Flash application if your ASM program is large. The stack contains the return address...
... language and be temporarily pushed onto and popped from the Home screen author line just like other calculators through the link port. Additionally, your Flash applications enjoy a measure of calculator resources that ASM programs do not take up precious RAM. See chapter 10. Do not use ...They can be familiar with the advantage of speed and direct control of copy protection that TI-BASIC as data type ASM in the calculator which detects stack overflow. You should consider developing a Flash application if your ASM program is large. The stack contains the return address...
Developer Guide
Page 71
It turns on the PAUSE indicator in the status line and puts the calculator in C. varname = top_estack; /* Get a keypress */ while ((ch = EV_getc(ST_PAUSE, &e)) == 0) ; /* Push character number onto estack */ push_ushort_to_integer(ch); /* Pop character number into variable */ VarStore(varname, STOF_ESI, 0, top_estack); } ...
It turns on the PAUSE indicator in the status line and puts the calculator in C. varname = top_estack; /* Get a keypress */ while ((ch = EV_getc(ST_PAUSE, &e)) == 0) ; /* Push character number onto estack */ push_ushort_to_integer(ch); /* Pop character number into variable */ VarStore(varname, STOF_ESI, 0, top_estack); } ...
Developer Guide
Page 73
... license tracking, and the application header needed by TI-GRAPH LINK software. TI-GRAPH LINK removes this header when it sends software to be in calculator memory. 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... Version January 26, 2001 The following table describes the fields of headers: the Flash header used by AMS applications. It also discusses what needs to a calculator. 31 7. 7.1. 7.1.1.
... license tracking, and the application header needed by TI-GRAPH LINK software. TI-GRAPH LINK removes this header when it sends software to be in calculator memory. 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... Version January 26, 2001 The following table describes the fields of headers: the Flash header used by AMS applications. It also discusses what needs to a calculator. 31 7. 7.1. 7.1.1.
Developer Guide
Page 74
... variable-length tagged fields. Certificate Header The certificate header is kept with a license in the calculator. This header is used by the license tracking software in the calculator's unit certificate), revision number, build number, internal name, and an embedded date certificate (the...Other 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 decimal...
... variable-length tagged fields. Certificate Header The certificate header is kept with a license in the calculator. This header is used by the license tracking software in the calculator's unit certificate), revision number, build number, internal name, and an embedded date certificate (the...Other 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 decimal...
Developer Guide
Page 76
... Distribution Beta Version January 26, 2001 Byte Offset to Code Segment The byte offset to code is a header-relative pointer to the beginning of the calculator's mode window is built by copying the data from this flag set. TI-89 / TI-92 Plus Developer Guide Not for applications with a built-in... of the application's initialized RAM (.data section) are reserved and should be zero. Length of Data Segment The data segment length is loaded into the calculator.
... Distribution Beta Version January 26, 2001 Byte Offset to Code Segment The byte offset to code is a header-relative pointer to the beginning of the calculator's mode window is built by copying the data from this flag set. TI-89 / TI-92 Plus Developer Guide Not for applications with a built-in... of the application's initialized RAM (.data section) are reserved and should be zero. Length of Data Segment The data segment length is loaded into the calculator.
Developer Guide
Page 77
...their initial values. 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. Length of Initial Data Table Number of garbage collection. Relocation Map The OS uses ...be included after the required header section. Optional Header Additional header information may be updated. Static/external variables which needs to calculate absolute addresses when the positions of AMS. Application Code The code segment contains executable application code and constant data. The ...
...their initial values. 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. Length of Initial Data Table Number of garbage collection. Relocation Map The OS uses ...be included after the required header section. Optional Header Additional header information may be updated. Static/external variables which needs to calculate absolute addresses when the positions of AMS. Application Code The code segment contains executable application code and constant data. The ...
Developer Guide
Page 78
Routines OO_NextACB and OO_PrevACB are used to traverse the list of the app. USHORT flags - ACB_LOCALIZER, the app is a built-in the calculator whether it is complete. 0x0004 - ACB_JT_VERSION, jump table version mismatch, do not show on the APPS pop-up menu. 0x0020 - TI-89 / TI-92 Plus ...
Routines OO_NextACB and OO_PrevACB are used to traverse the list of the app. USHORT flags - ACB_LOCALIZER, the app is a built-in the calculator whether it is complete. 0x0004 - ACB_JT_VERSION, jump table version mismatch, do not show on the APPS pop-up menu. 0x0020 - TI-89 / TI-92 Plus ...
Developer Guide
Page 95
... compiler to object frame variables and methods. Once you have obtained the ID of an application, you can be found, i.e., is not installed in the calculator. Macros defined in the following forms: apvpavrar [ slot-number ] var-name : type ; Comments begin with the pound sign...
... compiler to object frame variables and methods. Once you have obtained the ID of an application, you can be found, i.e., is not installed in the calculator. Macros defined in the following forms: apvpavrar [ slot-number ] var-name : type ; Comments begin with the pound sign...
Developer Guide
Page 108
... 18 MO_OPT_LANGUAGE Description D_OFF=1, D_ON D_DEC=1, D_HEX, D_BIN D_UNIT_SI=1, D_UNIT_US, D_UNIT_CUSTOM D_UNIT_DEFAULTS=1 1 for Distribution Beta Version January 26, 2001 If the calculator is in split screen, set the appropriate side to home. */ /* AMS behavior is such that if home was already on needs to be... for the split screen side the application is in full screen, just quit to switch to the Home screen application's ID. If the calculator is running on one side, it will cause the Home screen application to start. MO_digestOptions(H_NULL); } TI-89 / TI-92 Plus...
... 18 MO_OPT_LANGUAGE Description D_OFF=1, D_ON D_DEC=1, D_HEX, D_BIN D_UNIT_SI=1, D_UNIT_US, D_UNIT_CUSTOM D_UNIT_DEFAULTS=1 1 for Distribution Beta Version January 26, 2001 If the calculator is in split screen, set the appropriate side to home. */ /* AMS behavior is such that if home was already on needs to be... for the split screen side the application is in full screen, just quit to switch to the Home screen application's ID. If the calculator is running on one side, it will cause the Home screen application to start. MO_digestOptions(H_NULL); } TI-89 / TI-92 Plus...
Developer Guide
Page 111
... Flash applications can install functions and programs called App Extensions that installed the App Extension to the rest of the Flash applications loaded in the calculator installed App Extensions. TIAPP */ ATTR(OO_APPSTRING+STR_appfunc, "appfunc") ATTR(OO_APPSTRING+STR_appprog, "appprog") /* The STR_HELP+STR_appfunc string "app function help" appears in the Status Line when...
... Flash applications can install functions and programs called App Extensions that installed the App Extension to the rest of the Flash applications loaded in the calculator installed App Extensions. TIAPP */ ATTR(OO_APPSTRING+STR_appfunc, "appfunc") ATTR(OO_APPSTRING+STR_appprog, "appprog") /* The STR_HELP+STR_appfunc string "app function help" appears in the Status Line when...
Developer Guide
Page 119
...list is scanned for a dirty window, that is sent to the window's owner application indicating it to be repainted. Then the calculator is sent to repaint its main entry point. An application receives messages from the OS through its window. TE_handleEvent(&terec, event))... 9.1. 77 Application Control Flow Event-Driven Architecture The TI AMS Operating System (OS) implements an event-driven architecture. 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: #include "tiams.h" TERecord ...
...list is scanned for a dirty window, that is sent to the window's owner application indicating it to be repainted. Then the calculator is sent to repaint its main entry point. An application receives messages from the OS through its window. TE_handleEvent(&terec, event))... 9.1. 77 Application Control Flow Event-Driven Architecture The TI AMS Operating System (OS) implements an event-driven architecture. 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: #include "tiams.h" TERecord ...