Developer Guide
Page 3
... Layout...1 1.3. Overview ...7 3.2. ASIC registers ...11 4. Dialog Boxes ...18 4.4. Flash Applications vs. Hardware Stack 25 6.3. Windows...15 4.2. Menus ...16 4.2.1. Register Usage 25 6.4. Calling Flash-ROM-Resident Routines 26 TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Introduction 1 1.1. The 68000 TI AMS Operating System Overview 5 3. User Interface...
... Layout...1 1.3. Overview ...7 3.2. ASIC registers ...11 4. Dialog Boxes ...18 4.4. Flash Applications vs. Hardware Stack 25 6.3. Windows...15 4.2. Menus ...16 4.2.1. Register Usage 25 6.4. Calling Flash-ROM-Resident Routines 26 TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Introduction 1 1.1. The 68000 TI AMS Operating System Overview 5 3. User Interface...
Developer Guide
Page 49
... registers for system control. • A Motorola 68000 CPU. • 256 K bytes of RAM. • 2 MB bytes of Flash ROM. TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Pictured below is a block diagram of the "glue logic" that... utilize input, processing, storage, communication, and presentation. 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. ...
... registers for system control. • A Motorola 68000 CPU. • 256 K bytes of RAM. • 2 MB bytes of Flash ROM. TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Pictured below is a block diagram of the "glue logic" that... utilize input, processing, storage, communication, and presentation. 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 51
... 0x005AFF System bss and data segments 0x005B00 ****** (Border can vary) Heap ****** (Border can vary) 0x3FFFF Flash ROM Boot Sector 0x400000 0x40FFFF Certificate Memory 0x410000 0x411FFF System Privileged 0x412000 0x41FFFF Operating System 0x420000 ******(Border can vary) Archive Memory...0x3FFFFF 0x600000 0x7FFFFF Contents TI-92 Plus RAM Vectors 0x000000 See section 3.2.1. Chapter 3: The TI-89 / TI-92 Plus Hardware Overview 9 3.2.1. TI-89 0x000000 0x0003FF 0x000400 0x0041FF 0x004200 0x004203 0x004204 0x004BFF 0x004C00 0x005AFF 0x005B00 (Border can vary)****** (Border ...
... 0x005AFF System bss and data segments 0x005B00 ****** (Border can vary) Heap ****** (Border can vary) 0x3FFFF Flash ROM Boot Sector 0x400000 0x40FFFF Certificate Memory 0x410000 0x411FFF System Privileged 0x412000 0x41FFFF Operating System 0x420000 ******(Border can vary) Archive Memory...0x3FFFFF 0x600000 0x7FFFFF Contents TI-92 Plus RAM Vectors 0x000000 See section 3.2.1. Chapter 3: The TI-89 / TI-92 Plus Hardware Overview 9 3.2.1. TI-89 0x000000 0x0003FF 0x000400 0x0041FF 0x004200 0x004203 0x004204 0x004BFF 0x004C00 0x005AFF 0x005B00 (Border can vary)****** (Border ...
Developer Guide
Page 52
...-92 Plus Hardware Overview Address 68000 CPU Vector TI-89 / TI-92 Plus Usage 0x000000 Initial supervisor stack pointer Initial supervisor stack pointer 0x000004 Pointer to operating system entry point Pointer to operating system entry ... 5 - 8 0x0000A3 Not used 0x0000A4 Trap 9 - 11 0x0000AC System reserved 0x0000B0 Trap 12 - 14 0x0000BB Not used 0x0000BC Trap 15 System reserved 0x0000C0 Unassigned / reserved Simple ROM detect constant - 0xFF0055AA 0x0000A8 Unassigned / reserved Address of system call jump table 0x0000AC 0x0003FF Not used Table 3:2: Vector Table TI...
...-92 Plus Hardware Overview Address 68000 CPU Vector TI-89 / TI-92 Plus Usage 0x000000 Initial supervisor stack pointer Initial supervisor stack pointer 0x000004 Pointer to operating system entry point Pointer to operating system entry ... 5 - 8 0x0000A3 Not used 0x0000A4 Trap 9 - 11 0x0000AC System reserved 0x0000B0 Trap 12 - 14 0x0000BB Not used 0x0000BC Trap 15 System reserved 0x0000C0 Unassigned / reserved Simple ROM detect constant - 0xFF0055AA 0x0000A8 Unassigned / reserved Address of system call jump table 0x0000AC 0x0003FF Not used Table 3:2: Vector Table TI...
Developer Guide
Page 67
... line just like other calculators through the link port. Error Handling to learn how to use A7 for Distribution Beta Version January 26, 2001 TI-89 / TI-92 Plus Developer Guide Not for anything else. ASM programs are small (≤ 8 K for AMS 2.03 and ≤ 24 K for...not provide. The stack contains the return address to the TI-BASIC interpreter when your ASM program is 15.5 KB in size located from Flash ROM, they appear as an interpreted language could never attain. What are loaded into and execute from 0x0400 to occur. Additionally, your assembly language ...
... line just like other calculators through the link port. Error Handling to learn how to use A7 for Distribution Beta Version January 26, 2001 TI-89 / TI-92 Plus Developer Guide Not for anything else. ASM programs are small (≤ 8 K for AMS 2.03 and ≤ 24 K for...not provide. The stack contains the return address to the TI-BASIC interpreter when your ASM program is 15.5 KB in size located from Flash ROM, they appear as an interpreted language could never attain. What are loaded into and execute from 0x0400 to occur. Additionally, your assembly language ...
Developer Guide
Page 68
...routines from subroutine with register A6 to access subroutine parameters and to be returned in D0. zero = no keypress, nonzero = key waiting TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Registers D0, D1, D2, A0, and A1 are returned ...26 6.4. D7 and A2 - movem.l d3-d5/a2-a3,-(sp) ; If you use only scratch registers, then you can use . Calling Flash-ROM-Resident Routines Memory address 0xC8 contains a pointer to the Sierra C™ register usage conventions. Save and restore D3 - Chapter 6: Assembly Language Programming Overview ...
...routines from subroutine with register A6 to access subroutine parameters and to be returned in D0. zero = no keypress, nonzero = key waiting TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 Registers D0, D1, D2, A0, and A1 are returned ...26 6.4. D7 and A2 - movem.l d3-d5/a2-a3,-(sp) ; If you use only scratch registers, then you can use . Calling Flash-ROM-Resident Routines Memory address 0xC8 contains a pointer to the Sierra C™ register usage conventions. Save and restore D3 - Chapter 6: Assembly Language Programming Overview ...
Developer Guide
Page 79
.... The OS allocates memory for the app. Applications are stored in memory are returned to make room for Distribution Beta Version January 26, 2001 TI-89 / TI-92 Plus Developer Guide Not for additional Flash applications. The OS reapportions archive memory to application memory as needed to archive memory. When an... list. Static variables (.data and .bss sections) are stored in RAM. The executable code and constant resources (.text and .const sections) are stored in Flash ROM.
.... The OS allocates memory for the app. Applications are stored in memory are returned to make room for Distribution Beta Version January 26, 2001 TI-89 / TI-92 Plus Developer Guide Not for additional Flash applications. The OS reapportions archive memory to application memory as needed to archive memory. When an... list. Static variables (.data and .bss sections) are stored in RAM. The executable code and constant resources (.text and .const sections) are stored in Flash ROM.
Developer Guide
Page 80
... applications need to provide local language customization. Finally, a simple example pulls the pieces together into a complete application. RAM ACB .data .bss .text FRAME .const Flash ROM Figure 7.2: Application RAM and Flash Usage The OS expects the first variable in the application's initialized data (.data section) to be a pointer to get the...'s event handler. the most common usage. This section covers the layout of the object frame with a library of your application needs to the OS. TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
... applications need to provide local language customization. Finally, a simple example pulls the pieces together into a complete application. RAM ACB .data .bss .text FRAME .const Flash ROM Figure 7.2: Application RAM and Flash Usage The OS expects the first variable in the application's initialized data (.data section) to be a pointer to get the...'s event handler. the most common usage. This section covers the layout of the object frame with a library of your application needs to the OS. TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
Developer Guide
Page 928
...MenuLoad (const MENU * BaseMenu, WORD Size) Category(ies): Menus Description: Begin a dynamically created menu, using dynamic menus. (continued) TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 The number of bytes in the MENU (the resource compiler ... cause heap compression. Availability: On AMS 2.00 and higher. Inputs: BaseMenu - Size - see MenuNew for restrictions on creating and using a ROM based menu as the starting point (the menu's flags, width, and height are stored in DynMenuAdd or DynMenuChange and then passed to MenuBegin to...
...MenuLoad (const MENU * BaseMenu, WORD Size) Category(ies): Menus Description: Begin a dynamically created menu, using dynamic menus. (continued) TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001 The number of bytes in the MENU (the resource compiler ... cause heap compression. Availability: On AMS 2.00 and higher. Inputs: BaseMenu - Size - see MenuNew for restrictions on creating and using a ROM based menu as the starting point (the menu's flags, width, and height are stored in DynMenuAdd or DynMenuChange and then passed to MenuBegin to...
Developer Guide
Page 972
... is present. Side Effects: None Availability: All versions of parameter block unsigned long hardwareID; // 1 = TI-92 Plus, 3 = TI-89 unsigned long hardwareRevision; // hardware revision number unsigned long bootMajor; // boot code version number unsigned long bootRevision; // boot code revision number unsigned ...is important to a parameter block in ROM. The pointer returned by this routine points directly to check the value of the calculator hardware. TI-89 / TI-92 Plus Differences: None See Also: Not applicable. (continued) TI-89 / TI-92 Plus Developer Guide Not...
... is present. Side Effects: None Availability: All versions of parameter block unsigned long hardwareID; // 1 = TI-92 Plus, 3 = TI-89 unsigned long hardwareRevision; // hardware revision number unsigned long bootMajor; // boot code version number unsigned long bootRevision; // boot code revision number unsigned ...is important to a parameter block in ROM. The pointer returned by this routine points directly to check the value of the calculator hardware. TI-89 / TI-92 Plus Differences: None See Also: Not applicable. (continued) TI-89 / TI-92 Plus Developer Guide Not...