Developer Guide
Page 3
... 7 3.1. Dynamic Pop-ups with Menu Features 18 4.3. i Table of this Guide 3 2. Fonts ...19 4.5. The 68000 TI AMS Operating System Overview 5 3. Windows...15 4.2. Memory Map ...8 3.2.1. Flash Applications vs. Assembly Language Programming Overview 25 6.1. Pop-ups ...17 4.2.2.1. Conventions Used in this Guide 1 1.2. Dynamic Pop-ups 18 4.2.2.3. Register Usage 25 6.4.
... 7 3.1. Dynamic Pop-ups with Menu Features 18 4.3. i Table of this Guide 3 2. Fonts ...19 4.5. The 68000 TI AMS Operating System Overview 5 3. Windows...15 4.2. Memory Map ...8 3.2.1. Flash Applications vs. Assembly Language Programming Overview 25 6.1. Pop-ups ...17 4.2.2.1. Conventions Used in this Guide 1 1.2. Dynamic Pop-ups 18 4.2.2.3. Register Usage 25 6.4.
Developer Guide
Page 4
...0x3 41 7.3.1.3.4. Method OO_APP_PROCESS_EVENT (0x4 41 7.3.1.3.5. Subroutine Linkage 27 6.6. File Format ...31 7.1.1. Internal Application Name 33 7.1.3.3. Optional Header 35 7.1.4. Interactive Applications 38 7.3.1.1. Object Frame Attributes 40 7.3.1.3.1. Attribute OO_APP_DEFAULT_MENU (0x5 42 7.3.1.3.6. Certificate Header 32 7.1.3. Relocation Map...(0x8 42 TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Application Code 35 7.1.6. Flags...34 7.1.3.4. Flash Header ...31 7.1.2. Initial Data Table 35 7.1.7. Length of Initial ...
...0x3 41 7.3.1.3.4. Method OO_APP_PROCESS_EVENT (0x4 41 7.3.1.3.5. Subroutine Linkage 27 6.6. File Format ...31 7.1.1. Internal Application Name 33 7.1.3.3. Optional Header 35 7.1.4. Interactive Applications 38 7.3.1.1. Object Frame Attributes 40 7.3.1.3.1. Attribute OO_APP_DEFAULT_MENU (0x5 42 7.3.1.3.6. Certificate Header 32 7.1.3. Relocation Map...(0x8 42 TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Application Code 35 7.1.6. Flags...34 7.1.3.4. Flash Header ...31 7.1.2. Initial Data Table 35 7.1.7. Length of Initial ...
Developer Guide
Page 5
... OO_APP_VIEWER (0xE 44 7.3.1.3.15. Shared-Code Library 51 7.3.3.1. Verifying the OS Version 74 8.6. Method OO_APP_CAN_MOVE (0xD 43 7.3.1.3.14. Method OO_APP_ABOUT (0x12 44 7.3.1.3.19. Integrating a Flash Application 63 8.1. Attribute OO_APP_EXT_ENTRIES (0x9 42 7.3.1.3.10. Optimizing Code Space 75 TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001...
... OO_APP_VIEWER (0xE 44 7.3.1.3.15. Shared-Code Library 51 7.3.3.1. Verifying the OS Version 74 8.6. Method OO_APP_CAN_MOVE (0xD 43 7.3.1.3.14. Method OO_APP_ABOUT (0x12 44 7.3.1.3.19. Integrating a Flash Application 63 8.1. Attribute OO_APP_EXT_ENTRIES (0x9 42 7.3.1.3.10. Optimizing Code Space 75 TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001...
Developer Guide
Page 6
... 10.6. Referencing Auto Variables in ONERR/FINALLY Blocks 99 10.6.3. Dynamic Menus...87 9.7. Installing, Moving, and Deleting an Application 92 10. Delayed Error Messages 95 10.3. Event-Driven Architecture 77 9.2. Background Events 88 9.9. CM_STO...92 9.9.5. Keyboard ...Events 85 9.6. Static Menus...86 9.6.2. Event Structure Layout 78 9.3. Paint Events ...88 9.8. Starting and Stopping an Application 84 9.5. Catching Errors 97 10.5. Caveats...98 10.6.1. Menu Processing 85 9.6.1. Error Handling 95 10.1. VAR-LINK...76 9. Commands......
... 10.6. Referencing Auto Variables in ONERR/FINALLY Blocks 99 10.6.3. Dynamic Menus...87 9.7. Installing, Moving, and Deleting an Application 92 10. Delayed Error Messages 95 10.3. Event-Driven Architecture 77 9.2. Background Events 88 9.9. CM_STO...92 9.9.5. Keyboard ...Events 85 9.6. Static Menus...86 9.6.2. Event Structure Layout 78 9.3. Paint Events ...88 9.8. Starting and Stopping an Application 84 9.5. Catching Errors 97 10.5. Caveats...98 10.6.1. Menu Processing 85 9.6.1. Error Handling 95 10.1. VAR-LINK...76 9. Commands......
Developer Guide
Page 9
... 161 15.2.1. Tags That Take More Than Two or a Variable Number of Working on the EStack 175 15.6.1. Lists and Matrices 169 15.2.9. User and Application Defined Functions and Programs 170 15.3. An Example of Arguments ...... 168 15.2.8. Bitmap PIC Images 156 14.9. Most Main Ordering and Internal Representations of Contents...
... 161 15.2.1. Tags That Take More Than Two or a Variable Number of Working on the EStack 175 15.6.1. Lists and Matrices 169 15.2.9. User and Application Defined Functions and Programs 170 15.3. An Example of Arguments ...... 168 15.2.8. Bitmap PIC Images 156 14.9. Most Main Ordering and Internal Representations of Contents...
Developer Guide
Page 10
...203 18.2.8. TI FLASH Studio Interface 204 18.3.1. viii Table of Contents 16.2. Floating Point Numbers 183 16.5. Rational Numbers 185 16.6. Graph Application Memory Usage 194 17.6. Development System 199 18.2.1. References 203 18.3. Graphing Functions 193 17.5. Simulator/Debugger 201 18.2.5. Uninstalling 203 18.2.7....-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 EStack Arithmetic 185 16.7. Working with the Graph Application 190 17.3. Complex Numbers 186 17. Rational System vs. Compiler/Assembler/Linker 201 18.2.4.
...203 18.2.8. TI FLASH Studio Interface 204 18.3.1. viii Table of Contents 16.2. Floating Point Numbers 183 16.5. Rational Numbers 185 16.6. Graph Application Memory Usage 194 17.6. Development System 199 18.2.1. References 203 18.3. Graphing Functions 193 17.5. Simulator/Debugger 201 18.2.5. Uninstalling 203 18.2.7....-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 EStack Arithmetic 185 16.7. Working with the Graph Application 190 17.3. Complex Numbers 186 17. Rational System vs. Compiler/Assembler/Linker 201 18.2.4.
Developer Guide
Page 11
Example ...216 18.4.1. Educational and Professional Developers 218 18.4.7. Loading the Application into the Simulator 217 18.4.4. Terminating TI FLASH Studio 217 18.4.6. Debugging the Application 217 18.4.5. Creating a Flash Studio Project 216 18.4.2. Window Menu 215 18.3.9. Help Menu 216 18.4. Preparing for Public Release 219 Glossary 221... ...251 TI-89 / TI-92 Plus Developer Guide Not for Site Testing 218 18.4.6.1. Table of Contents ix 18.3.8. Building the Application 217 18.4.3. Preparing the Application for Distribution Beta Version January 26, 2001
Example ...216 18.4.1. Educational and Professional Developers 218 18.4.7. Loading the Application into the Simulator 217 18.4.4. Terminating TI FLASH Studio 217 18.4.6. Debugging the Application 217 18.4.5. Creating a Flash Studio Project 216 18.4.2. Window Menu 215 18.3.9. Help Menu 216 18.4. Preparing for Public Release 219 Glossary 221... ...251 TI-89 / TI-92 Plus Developer Guide Not for Site Testing 218 18.4.6.1. Table of Contents ix 18.3.8. Building the Application 217 18.4.3. Preparing the Application for Distribution Beta Version January 26, 2001
Developer Guide
Page 39
Table of Contents xxxvii Figures Figure 2.1: AMS Event Handler ...5 Figure 2.2: Application/OS Interface 6 Figure 3.1: System Block Diagram 7 Figure 4.1: MATH Menu...16 Figure 4.2: CHAR Menu...16 Figure 4.3: AddToMenu Screen Shot 17 Figure 4.4: ...Example Using the A_REVERSE Attribute 20 Figure 4.8: Example Using the A_SHADED Attribute 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 ...
Table of Contents xxxvii Figures Figure 2.1: AMS Event Handler ...5 Figure 2.2: Application/OS Interface 6 Figure 3.1: System Block Diagram 7 Figure 4.1: MATH Menu...16 Figure 4.2: CHAR Menu...16 Figure 4.3: AddToMenu Screen Shot 17 Figure 4.4: ...Example Using the A_REVERSE Attribute 20 Figure 4.8: Example Using the A_SHADED Attribute 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 ...
Developer Guide
Page 41
... Configuration Register 12 Table 4.1: Available Character Attributes 20 Table 4.2: Character Set...21 Table 6.1: AMS C Data Types ...27 Table 7.1: Flash Header Format 32 Table 7.2: Application Header Format 33 Table 7.3: Internal Names of Built-in Applications 34 Table 7.4: Relocation Map Format 35 Table 9.1: Keypress Translations 89 Table 9.2 Keypress Actions ...90 Table 11.1: Screen vs.
... Configuration Register 12 Table 4.1: Available Character Attributes 20 Table 4.2: Character Set...21 Table 6.1: AMS C Data Types ...27 Table 7.1: Flash Header Format 32 Table 7.2: Application Header Format 33 Table 7.3: Internal Names of Built-in Applications 34 Table 7.4: Relocation Map Format 35 Table 9.1: Keypress Translations 89 Table 9.2 Keypress Actions ...90 Table 11.1: Screen vs.
Developer Guide
Page 43
... System (OS). ASM Programs, presents a side-by-side comparison of downloadable Flash applications and Assembly language programs. The limitations and advantages of an application. Chapter 7, Flash Application Layout, contains detailed descriptions of the crucial components and physical layout of each are emphasized... are provided. Also included are discussed in detail. Purpose of this Guide The purpose of this guide is a good reference for application design on memory, interrupt vectors, and ASIC registers. Key components of windows, menus, toolbars, pop-ups, dialog boxes, fonts...
... System (OS). ASM Programs, presents a side-by-side comparison of downloadable Flash applications and Assembly language programs. The limitations and advantages of an application. Chapter 7, Flash Application Layout, contains detailed descriptions of the crucial components and physical layout of each are emphasized... are provided. Also included are discussed in detail. Purpose of this Guide The purpose of this guide is a good reference for application design on memory, interrupt vectors, and ASIC registers. Key components of windows, menus, toolbars, pop-ups, dialog boxes, fonts...
Developer Guide
Page 44
...Information on optimizing code space and identifying the active AMS version. Sample code illustrating the use of the operating system that an application may choose to integrate itself with such as instructions on how graphing can use the math engine for numerical or symbolic analysis... list of the twelve data types supported by the AMS. Chapter 15, Expressions and the Expression Stack, contains information important for applications that are provided for interfacing with examples. This chapter also provides tips on keyboard events and menu processing can expect to get information...
...Information on optimizing code space and identifying the active AMS version. Sample code illustrating the use of the operating system that an application may choose to integrate itself with such as instructions on how graphing can use the math engine for numerical or symbolic analysis... list of the twelve data types supported by the AMS. Chapter 15, Expressions and the Expression Stack, contains information important for applications that are provided for interfacing with examples. This chapter also provides tips on keyboard events and menu processing can expect to get information...
Developer Guide
Page 45
..., 2001 The Courier font is usually associated with a function prototype. Italicized text indicates the name of a function, macro, or global variable that steps through the application development process. It is used to distinguish Assembly or C program text. Chapter 1: Introduction 3 1.3.
..., 2001 The Courier font is usually associated with a function prototype. Italicized text indicates the name of a function, macro, or global variable that steps through the application development process. It is used to distinguish Assembly or C program text. Chapter 1: Introduction 3 1.3.
Developer Guide
Page 47
...performing some action such as a keypress or a timer interrupt. Event Manager event occurs Idle Decode 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 An application reacts to determine when something important has happened such as moving its cursor or repainting its window. This process is then packaged ...
...performing some action such as a keypress or a timer interrupt. Event Manager event occurs Idle Decode 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 An application reacts to determine when something important has happened such as moving its cursor or repainting its window. This process is then packaged ...
Developer Guide
Page 48
... TI-92 Plus Developer Guide Not for AMS 2.04) and execute in memory location 0xC8. Event Manager Graphical User Interface Library Applications Jump Table Symbol Table Manager Computer Algebra System Low-Level Drivers: Power, LCD, Memory Manager Keyboard, Link Port, Timer Math Package ... TI AMS Operating System Overview Many operating system routines are available to offer the same speed and efficient hardware access as Flash applications but as shown in C or 68000 assembly language, both of which give the software developer much greater control over the calculator...
... TI-92 Plus Developer Guide Not for AMS 2.04) and execute in memory location 0xC8. Event Manager Graphical User Interface Library Applications Jump Table Symbol Table Manager Computer Algebra System Low-Level Drivers: Power, LCD, Memory Manager Keyboard, Link Port, Timer Math Package ... TI AMS Operating System Overview Many operating system routines are available to offer the same speed and efficient hardware access as Flash applications but as shown in C or 68000 assembly language, both of which give the software developer much greater control over the calculator...
Developer Guide
Page 49
...control. • A Motorola 68000 CPU. • 256 K bytes of RAM. • 2 MB bytes of the "glue logic" that utilize input, processing, storage, communication, and presentation. Application Specific Integrated Circuit (ASIC) 68000 Central Processing Unit Liquid Crystal Display (LCD) Random Access Memory (RAM) Keyboard Flash Read Only Memory (ROM) Dbus Serial Input..., 2001 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.
...control. • A Motorola 68000 CPU. • 256 K bytes of RAM. • 2 MB bytes of the "glue logic" that utilize input, processing, storage, communication, and presentation. Application Specific Integrated Circuit (ASIC) 68000 Central Processing Unit Liquid Crystal Display (LCD) Random Access Memory (RAM) Keyboard Flash Read Only Memory (ROM) Dbus Serial Input..., 2001 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
... IO interface. For reference, the memory map is important when developing for these platforms. Additionally, since Flash memory stores the OS, certificates, applications, and does not have infinite life, more restrictions are placed on its use of 240 pixels for the calculators consists of the OS, the...-92 Plus Developer Guide Not for the TI-89, 128 lines of specific entry points. This chapter describes in some detail the locations that an application may need to accomplish a task. Memory Management. Chapter 3: The TI-89 / TI-92 Plus Hardware Overview • A black and white ...
... IO interface. For reference, the memory map is important when developing for these platforms. Additionally, since Flash memory stores the OS, certificates, applications, and does not have infinite life, more restrictions are placed on its use of 240 pixels for the calculators consists of the OS, the...-92 Plus Developer Guide Not for the TI-89, 128 lines of specific entry points. This chapter describes in some detail the locations that an application may need to accomplish a task. Memory Management. Chapter 3: The TI-89 / TI-92 Plus Hardware Overview • A black and white ...
Developer Guide
Page 65
... to execute in cooperative multitasking through the OS. protected Flash memory - Calculator hardware does not allow freeware/shareware applications to receive input from the Home screen author line. The lower 24 KB limit is protected from inadvertent or malicious changes...They can be installed in the code segment. RAM - No - Flash apps are executed in Size Data segment Copy protection O menu User interaction Flash Application ASM Program protected Flash memory - Yes - Yes - ASM programs must allocate variables on the O menu. Polled - The OS makes a temporary RAM...
... to execute in cooperative multitasking through the OS. protected Flash memory - Calculator hardware does not allow freeware/shareware applications to receive input from the Home screen author line. The lower 24 KB limit is protected from inadvertent or malicious changes...They can be installed in the code segment. RAM - No - Flash apps are executed in Size Data segment Copy protection O menu User interaction Flash Application ASM Program protected Flash memory - Yes - Yes - ASM programs must allocate variables on the O menu. Polled - The OS makes a temporary RAM...
Developer Guide
Page 66
...Beta Version January 26, 2001 Shared code Yes - Calculator language localization is provided by Flash applications. No - A single Flash application can override many TI-BASIC extension functions and subprograms. 1 - Flash applications have no OS-supported shared-code interface. Object frames can be arranged into a class ...programs. No - TI-89 / TI-92 Plus Developer Guide Not for language localizers. Object-oriented features Yes - Each Flash application has an No object frame which can be used as a library for method and attribute inheritance and class mix-ins. TI-BASIC...
...Beta Version January 26, 2001 Shared code Yes - Calculator language localization is provided by Flash applications. No - A single Flash application can override many TI-BASIC extension functions and subprograms. 1 - Flash applications have no OS-supported shared-code interface. Object frames can be arranged into a class ...programs. No - TI-89 / TI-92 Plus Developer Guide Not for language localizers. Object-oriented features Yes - Each Flash application has an No object frame which can be used as a library for method and attribute inheritance and class mix-ins. TI-BASIC...
Developer Guide
Page 67
...other calculators through the link port. See the TI Web site and the TI-89 / TI-92 Plus Guidebook. Additionally, your Flash applications enjoy a measure of calculator resources that ASM programs do not take up precious RAM. The stack serves four main purposes: it holds the... assembly language to write programs in the VAR-LINK window, they do not provide. 25 6. 6.1. 6.2. 6.3. You should consider developing a Flash application if your ASM program is the stack pointer. You should already know how to write programs for Distribution Beta Version January 26, 2001 The level...
...other calculators through the link port. See the TI Web site and the TI-89 / TI-92 Plus Guidebook. Additionally, your Flash applications enjoy a measure of calculator resources that ASM programs do not take up precious RAM. The stack serves four main purposes: it holds the... assembly language to write programs in the VAR-LINK window, they do not provide. 25 6. 6.1. 6.2. 6.3. You should consider developing a Flash application if your ASM program is the stack pointer. You should already know how to write programs for Distribution Beta Version January 26, 2001 The level...
Developer Guide
Page 73
...to be in calculator memory. Flash Application Layout This chapter presents the physical layout of headers: the Flash header used by AMS applications. TI-89 / TI-92 Plus Developer Guide Not for license tracking, and the application header needed for Distribution Beta Version ...January 26, 2001 Flash header Certificate header Application header Relocation map Application code Initial data table Signature Figure 7.1: Flash Application File Format Flash Header The Flash header is...
...to be in calculator memory. Flash Application Layout This chapter presents the physical layout of headers: the Flash header used by AMS applications. TI-89 / TI-92 Plus Developer Guide Not for license tracking, and the application header needed for Distribution Beta Version ...January 26, 2001 Flash header Certificate header Application header Relocation map Application code Initial data table Signature Figure 7.1: Flash Application File Format Flash Header The Flash header is...