texas instrument - ti89 ti92 plus developer guide
DESCRIPTION
Texas InstrumentTI-89 / TI-92 Plus Developer GuideBeta Version .02TRANSCRIPT
-
Texas Instruments Holland B.V.Rutherfordweg 1023542 CG Utrecht-The Netherlands
Texas Instruments U.S.A.7800 Banner Dr.Dallas TX. 75251
www. t i . com/ca l c 1997 Texas Instruments
TI-89 / TI-92 Plus Developer GuideBeta Version .02
Back FrontSpine
5.31
8.07Variable
spine
-
2000, 2001 Texas Instruments Incorporated
, TI-GRAPH LINK, and TI FLASH Studio are trademarks of Texas Instruments Incorporated.
Sierra C is a trademark of Sierra Systems.
Important informationTexas Instruments makes no warranty, either expressed or implied, including but notlimited to any implied warranties of merchantability and fitness for a particular purpose,regarding any programs or book materials and makes such materials available solely onan as-is basis.
In no event shall Texas Instruments be liable to anyone for special, collateral, incidental,or consequential damages in connection with or arising out of the purchase or use ofthese materials, and the sole and exclusive liability of Texas Instruments, regardless ofthe form of action, shall not exceed the purchase price of this product. Moreover, TexasInstruments shall not be liable for any claim of any kind whatsoever against the use ofthese materials by any other party.
The latest version of this Guide, along with all other up-to-date information fordevelopers, is available at www.ti.com/calc/developers/.
-
iTI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
Table of Contents
1. Introduction ..............................................................................................11.1. Purpose of this Guide...........................................................................................11.2. Chapter Layout.....................................................................................................11.3. Conventions Used in this Guide...........................................................................3
2. The 68000 TI AMS Operating System Overview......................................5
3. The TI-89 / TI-92 Plus Hardware Overview..............................................73.1. Overview ..............................................................................................................73.2. Memory Map ........................................................................................................8
3.2.1. Vector Table ...........................................................................................................93.3. ASIC registers ....................................................................................................11
4. User Interface Overview.........................................................................154.1. Windows.............................................................................................................154.2. Menus ................................................................................................................16
4.2.1. Toolbars................................................................................................................174.2.2. Pop-ups ................................................................................................................17
4.2.2.1. Static Pop-ups .........................................................................................174.2.2.2. Dynamic Pop-ups ....................................................................................184.2.2.3. Dynamic Pop-ups with Menu Features....................................................18
4.3. Dialog Boxes ......................................................................................................184.4. Fonts ..................................................................................................................194.5. The Status Line ..................................................................................................22
5. Flash Applications vs. ASM Programs ...................................................23
6. Assembly Language Programming Overview ........................................256.1. What are ASM Programs? .................................................................................256.2. Hardware Stack..................................................................................................256.3. Register Usage ..................................................................................................256.4. Calling Flash-ROM-Resident Routines ..............................................................26
-
ii Table of Contents
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
6.5. Subroutine Linkage ............................................................................................276.6. Sample ASM Program .......................................................................................29
7. Flash Application Layout ........................................................................317.1. File Format .........................................................................................................31
7.1.1. Flash Header ........................................................................................................317.1.2. Certificate Header.................................................................................................327.1.3. Application Header ...............................................................................................33
7.1.3.1. Magic Number .........................................................................................337.1.3.2. Internal Application Name .......................................................................337.1.3.3. Flags........................................................................................................347.1.3.4. Length of Data Segment..........................................................................347.1.3.5. Byte Offset to Code Segment..................................................................347.1.3.6. Byte Offset to Initial Data Table...............................................................347.1.3.7. Length of Initial Data Table......................................................................357.1.3.8. Optional Header ......................................................................................35
7.1.4. Relocation Map.....................................................................................................357.1.5. Application Code ..................................................................................................357.1.6. Initial Data Table...................................................................................................357.1.7. Signature ..............................................................................................................36
7.2. Layout in Memory...............................................................................................367.3. Source Layout ....................................................................................................38
7.3.1. Interactive Applications.........................................................................................387.3.1.1. FRAME ....................................................................................................397.3.1.2. Pointer to FRAME....................................................................................407.3.1.3. Object Frame Attributes...........................................................................40
7.3.1.3.1. Attribute OO_APP_FLAGS (0x1).........................................................407.3.1.3.2. Attribute OO_APP_NAME (0x2) ..........................................................417.3.1.3.3. Attribute OO_APP_TOK_NAME (0x3).................................................417.3.1.3.4. Method OO_APP_PROCESS_EVENT (0x4) ......................................417.3.1.3.5. Attribute OO_APP_DEFAULT_MENU (0x5) .......................................427.3.1.3.6. Attribute OO_APP_DEFAULT_MENU_HANDLE (0x6).......................427.3.1.3.7. Attribute OO_APP_EXT_COUNT (0x7)...............................................427.3.1.3.8. Attribute OO_APP_EXTENSIONS (0x8) .............................................42
-
Table of Contents iii
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
7.3.1.3.9. Attribute OO_APP_EXT_ENTRIES (0x9)............................................427.3.1.3.10. Method OO_APP_LOCALIZE (0xA) ..................................................437.3.1.3.11. Method OO_APP_UNLOCALIZE (0xB).............................................437.3.1.3.12. Method OO_APP_CAN_DELETE (0xC)............................................437.3.1.3.13. Method OO_APP_CAN_MOVE (0xD) ...............................................437.3.1.3.14. Method OO_APP_VIEWER (0xE) .....................................................447.3.1.3.15. Attribute OO_APP_ICON (0xF) .........................................................447.3.1.3.16. Method OO_APP_EXT_HELP (0x10) ...............................................447.3.1.3.17. Method OO_APP_NOTICE_INSTALL (0x11)....................................447.3.1.3.18. Method OO_APP_ABOUT (0x12) .....................................................447.3.1.3.19. Attribute OO_APPSTRING (0x1000 and up).....................................45
7.3.1.4. Example...................................................................................................457.3.2. TI-BASIC Extensions............................................................................................487.3.3. Shared-Code Library ............................................................................................51
7.3.3.1. Creating the Library Interface ..................................................................517.3.3.2. Accessing a Library .................................................................................537.3.3.3. Frame Description Language ..................................................................53
7.3.4. Language Localization..........................................................................................567.3.4.1. Localizer Template ..................................................................................567.3.4.2. How Localization Works ..........................................................................60
8. Integrating a Flash Application ...............................................................638.1. Mode Settings ....................................................................................................63
8.1.1. Mode Notification Flags ........................................................................................638.1.1.1. Modifying Mode Settings Within an App..................................................648.1.1.2. MO_option Array and Settings ................................................................64
8.2. Switching to the Home Screen...........................................................................668.3. Catalog...............................................................................................................67
8.3.1. Built-in Functions and Commands........................................................................678.3.2. User-Defined Functions and Programs ................................................................678.3.3. Flash App Extensions...........................................................................................69
8.4. Interfacing with TI-BASIC...................................................................................708.5. Verifying the OS Version....................................................................................748.6. Optimizing Code Space .....................................................................................75
-
iv Table of Contents
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
8.7. VAR-LINK...........................................................................................................76
9. Application Control Flow.........................................................................779.1. Event-Driven Architecture ..................................................................................779.2. Event Structure Layout.......................................................................................789.3. Commands.........................................................................................................799.4. Starting and Stopping an Application .................................................................849.5. Keyboard Events................................................................................................859.6. Menu Processing ...............................................................................................85
9.6.1. Static Menus.........................................................................................................869.6.2. Dynamic Menus....................................................................................................87
9.7. Paint Events .......................................................................................................889.8. Background Events ............................................................................................889.9. Default Event Handler ........................................................................................88
9.9.1. CM_KEY_PRESS.................................................................................................889.9.2. CM_PASTE_STRING...........................................................................................919.9.3. CM_PASTE_HANDLE..........................................................................................929.9.4. CM_STO...............................................................................................................929.9.5. CM_RCL...............................................................................................................929.9.6. CM_DEACTIVATE ...............................................................................................929.9.7. CM_ACTIVATE ....................................................................................................92
9.10. Installing, Moving, and Deleting an Application................................................92
10. Error Handling ......................................................................................9510.1. Throwing an Error ..........................................................................................9510.2. Delayed Error Messages ...............................................................................9510.3. Throwing Your Own Errors ............................................................................9610.4. Catching Errors ..............................................................................................9710.5. Cleaning Up ...................................................................................................9710.6. Caveats..........................................................................................................98
10.6.1. Jumping Out of TRY Blocks ..........................................................................9810.6.2. Referencing Auto Variables in ONERR/FINALLY Blocks..............................9910.6.3. Where Not to Throw Errors ...........................................................................99
-
Table of Contents v
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
11. Creating the User Interface ................................................................10111.1. Common Screen Components.....................................................................101
11.1.1. Screen/Window Regions and Coordinates..................................................10111.1.2. BITMAP.......................................................................................................10211.1.3. ICON ...........................................................................................................102
11.2. Windows ......................................................................................................10211.2.1. Window Regions and Coordinates ..............................................................10311.2.2. Window Routines ........................................................................................104
11.3. Menus ..........................................................................................................10511.3.1. Menu-Draw Structure ..................................................................................10611.3.2. Menu IDs .....................................................................................................10611.3.3. Menu Routines ............................................................................................106
11.4. Dialog Boxes................................................................................................10811.4.1. Dialog Routines ...........................................................................................10811.4.2. Dialog Fields................................................................................................109
11.4.2.1. Field Index ...............................................................................................10911.4.2.2. DYNPOPUP.............................................................................................10911.4.2.3. EDIT_FIELD.............................................................................................109
11.4.2.4. HEADER..................................................................................................110
11.4.2.5. HEDIT ......................................................................................................110
11.4.2.6. HPOPUP..................................................................................................11011.4.2.7. MENU ......................................................................................................11011.4.2.8. POPUP ....................................................................................................11111.4.2.9. SCROLL_REGION ..................................................................................11111.4.2.10. TEXT......................................................................................................112
11.4.2.11. XFLAGS.................................................................................................11211.4.3. Dialog Flags ................................................................................................11311.4.4. Dialog Call-Backs ........................................................................................114
11.5. Resource Compiler ......................................................................................11511.5.1. DIALOG Boxes............................................................................................11711.5.2. MENUs........................................................................................................11811.5.3. POPUPs ......................................................................................................119
11.6. Example.......................................................................................................120
-
vi Table of Contents
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
11.6.1. Files in Example and Explanation of Details ...............................................123
12. Basic Text Editing Facility ..................................................................12712.1. How to Edit Text...........................................................................................12712.2. Simple Text Edit Example............................................................................12812.3. Clipboard .....................................................................................................129
13. Memory Management ........................................................................13113.1. The Heap (Dynamic RAM Storage) .............................................................13113.2. File System ..................................................................................................132
13.2.1. Opening Multiple Files for WRITE Mode .....................................................13313.3. Managing Variables .....................................................................................134
13.3.1. Normal Symbol Routines.............................................................................13613.3.2. Storing and Retrieving Variable Data ..........................................................137
13.3.2.1. Store and Recall Look-up Paths ..............................................................13813.3.2.2. Recall Look-up Path.................................................................................13813.3.2.3. Store Look-up Path..................................................................................13913.3.2.4. HSYM VarRecall (BYTE *Var, RECALL_FLAGS Flags)..........................13913.3.2.5. HSYM VarStore (BYTE *DestVar, WORD Flags,
WORD SourceSize [, parm1] [, parm2] [, parm3] . . . ) ..........................14113.3.2.6. General Data Storage..............................................................................14213.3.2.7. System Functions ....................................................................................143
13.3.3. Low-Level Routines.....................................................................................14313.3.3.1. Utilities .....................................................................................................14413.3.3.2. Low-Level Folder Routines ......................................................................14413.3.3.3. Low-Level Symbol Routines ....................................................................144
14. Data Types.........................................................................................14514.1. Expression ...................................................................................................147
14.1.1. Non-Negative or Negative Integers .............................................................14714.1.2. Positive or Negative Fractions.....................................................................14714.1.3. Floating-Point Numbers...............................................................................14814.1.4. All Other Tags Not Listed Here ...................................................................148
14.2. List ...............................................................................................................14814.3. Matrix ...........................................................................................................149
-
Table of Contents vii
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
14.4. Data Variable ...............................................................................................15014.5. Text Variable................................................................................................15114.6. String Variable .............................................................................................15114.7. Graph Database ..........................................................................................15214.8. Bitmap PIC Images......................................................................................15614.9. Tokenized Programs and Functions ............................................................15714.10. Programs and Functions in Text Format ...................................................15914.11. Third Party Data.........................................................................................16014.12. Assembly Program.....................................................................................160
15. Expressions and the Expression Stack ..............................................16115.1. Overview......................................................................................................16115.2. Contiguous Tokenized Polish Representation .............................................161
15.2.1. Tags ............................................................................................................16215.2.2. Numbers......................................................................................................16315.2.3. Variables, Units and Physical Constants.....................................................16515.2.4. Other Constants ..........................................................................................16615.2.5. One-argument Tags ....................................................................................16715.2.6. Two-argument Tags ....................................................................................16715.2.7. Tags That Take More Than Two or a Variable Number of Arguments ......16815.2.8. Lists and Matrices .......................................................................................16915.2.9. Primary, Secondary, and Command Tags ..................................................16915.2.10. User and Application Defined Functions and Programs............................170
15.3. External Versus Internal Tokenized Polish ..................................................17015.4. Most Main Ordering and Internal Representations of
Exponentiation, Multiplication, and Addition ................................................17215.5. The Expression Stack..................................................................................17415.6. An Example of Working on the EStack ........................................................175
15.6.1. Estack Arguments and Results ...................................................................17615.6.2. Estack Calculations .....................................................................................177
15.7. Working With Lists .......................................................................................178
16. Working with Numbers .......................................................................18116.1. Overview......................................................................................................181
-
viii Table of Contents
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
16.2. Rational System vs. Float System ...............................................................18116.3. EXACT/APPROX/AUTO Modes ..................................................................18216.4. Floating Point Numbers ...............................................................................18316.5. Rational Numbers ........................................................................................18516.6. EStack Arithmetic.........................................................................................18516.7. Complex Numbers .......................................................................................186
17. Graphing ............................................................................................18917.1. The Graph Screen .......................................................................................18917.2. Working with the Graph Application.............................................................19017.3. Two Graph Mode .........................................................................................19217.4. Graphing Functions .....................................................................................19317.5. Graph Application Memory Usage...............................................................19417.6. Available Graph System Routines and Global Variables.............................195
18. TI FLASH Studio (IDE) Overview .......................................................19918.1. Introduction ..................................................................................................19918.2. Development System...................................................................................199
18.2.1. Requirements ..............................................................................................19918.2.2. Installation ...................................................................................................20018.2.3. Compiler/Assembler/Linker .........................................................................20118.2.4. Simulator/Debugger ....................................................................................20118.2.5. IDE Overview ..............................................................................................20118.2.6. Uninstalling..................................................................................................20318.2.7. Support........................................................................................................20318.2.8. References ..................................................................................................203
18.3. TI FLASH Studio Interface...........................................................................20418.3.1. File Menu.....................................................................................................20518.3.2. Edit Menu ....................................................................................................20618.3.3. View Menu...................................................................................................20718.3.4. Project Menu ...............................................................................................21118.3.5. Debug Menu................................................................................................21218.3.6. Simulator Menu ...........................................................................................21418.3.7. Link Menu....................................................................................................215
-
Table of Contents ix
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
18.3.8. Window Menu..............................................................................................21518.3.9. Help Menu...................................................................................................216
18.4. Example.......................................................................................................21618.4.1. Creating a Flash Studio Project...................................................................21618.4.2. Building the Application ...............................................................................21718.4.3. Loading the Application into the Simulator ..................................................21718.4.4. Debugging the Application ..........................................................................21718.4.5. Terminating TI FLASH Studio .....................................................................21718.4.6. Preparing the Application for Site Testing ...................................................218
18.4.6.1. Educational and Professional Developers ...............................................218
18.4.7. Preparing for Public Release.......................................................................219
Glossary ...................................................................................................221
Appendix A: System Routines..................................................................225Algebra Utilities .......................................................................................................227
are_expressions_identical ............................................................................................231compare_expressions ..................................................................................................232did_push_lincf...............................................................................................................234factor_base_index ........................................................................................................235factor_exponent_index .................................................................................................236has_different_variable ..................................................................................................237im_index .......................................................................................................................238index_if_pushed_binomial_info ....................................................................................239index_if_pushed_qquad_info........................................................................................240index_numeric_term.....................................................................................................242index_of_lead_base_of_lead_term ..............................................................................244index_reductum_with_tag_base...................................................................................245index_rmng_factor........................................................................................................246index_rmng_fctrs_start_base .......................................................................................247index_rmng_fctrs_start_base_tag ................................................................................248index_rmng_fctrs_start_fctr_tag ...................................................................................249is_free_of_tag...............................................................................................................250is_independent_of ........................................................................................................251
-
x Table of Contents
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
is_independent_of_tail..................................................................................................252is_polynomial_in_var_or_kern......................................................................................255is_tail_independent_of..................................................................................................256is_term_improper..........................................................................................................257is_totally_polynomial ....................................................................................................258lead_base_index ..........................................................................................................259lead_factor_index .........................................................................................................260lead_term_index...........................................................................................................262linear_degree................................................................................................................264main_gen_var_index ....................................................................................................265map_unary_over_comparison......................................................................................266next_var_or_kernel_index ............................................................................................267numeric_factor_index ...................................................................................................268push_but_factor............................................................................................................270push_but_term..............................................................................................................271push_constant_factors .................................................................................................272push_denominator........................................................................................................273push_dependent_factors ..............................................................................................274push_dependent_terms................................................................................................275push_desolve ...............................................................................................................276push_div_dif_1c............................................................................................................277push_div_dif_1f ............................................................................................................278push_independent_factors ...........................................................................................279push_independent_terms.............................................................................................280push_integer_gcd.........................................................................................................281push_integer_lcm .........................................................................................................282push_nonconstant_factors ...........................................................................................283push_nonconstant_terms .............................................................................................284push_nonnumeric_factors ............................................................................................285push_numerator ...........................................................................................................286push_percent................................................................................................................287push_poly_deg_in_var_or_kernel ................................................................................288push_subst_no_simp....................................................................................................289push_substitute_simplify ..............................................................................................290
-
Table of Contents xi
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
push_substitute_using_such_that ................................................................................291push_var_kern_tail .......................................................................................................292re_index........................................................................................................................293reductum_index............................................................................................................294remaining_factors_index ..............................................................................................296replace_top2_with_imre ...............................................................................................298
Apps ........................................................................................................................299EV_getAppID................................................................................................................301EV_quit .........................................................................................................................302OO_appGetPublicStorage............................................................................................303OO_appIsMarkedDelete...............................................................................................304OO_appMarkDelete......................................................................................................305OO_AppNameToACB ..................................................................................................306OO_appSetPublicStorage ............................................................................................307OO_CondGetAttr ..........................................................................................................309OO_Deref .....................................................................................................................310OO_Destroy..................................................................................................................311OO_DestroyAll..............................................................................................................312OO_GetAppAttr ............................................................................................................313OO_GetAttr...................................................................................................................314OO_HasAttr ..................................................................................................................315OO_InstallAppHook......................................................................................................316OO_InstallAppHookByName........................................................................................318OO_InstallSystemHook ................................................................................................320OO_New.......................................................................................................................322OO_NextACB ...............................................................................................................323OO_PrevACB ...............................................................................................................324OO_SetAppAttr.............................................................................................................325OO_SetAttr ...................................................................................................................326OO_UninstallAppHook .................................................................................................327OO_UninstallAppHookByName....................................................................................328OO_UninstallSystemHook............................................................................................329
-
xii Table of Contents
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
Certificates ..............................................................................................................331freeIdList.......................................................................................................................333LIO_SendIdList.............................................................................................................334
Data Utilities ............................................................................................................335DataTypeNames...........................................................................................................337gen_version ..................................................................................................................338GetDataType ................................................................................................................339GetFuncPrgmBodyPtr ..................................................................................................340QSysProtected .............................................................................................................341SmapTypeStrings .........................................................................................................342
Dialog ......................................................................................................................343Dialog ...........................................................................................................................345DialogAdd.....................................................................................................................347DialogDo.......................................................................................................................349DialogNew ....................................................................................................................350DlgMessage..................................................................................................................353DrawStaticButton..........................................................................................................354ERD_dismissNotice......................................................................................................356ERD_notice ..................................................................................................................357VarNew.........................................................................................................................358VarOpen .......................................................................................................................360VarSaveAs....................................................................................................................362
Direct Floating Point Operations .............................................................................363acos..............................................................................................................................367acosh............................................................................................................................368asin ...............................................................................................................................369asinh .............................................................................................................................370atan...............................................................................................................................371atan2.............................................................................................................................372atanh.............................................................................................................................373bcdadd..........................................................................................................................374bcdbcd..........................................................................................................................375bcdcmp.........................................................................................................................376
-
Table of Contents xiii
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
bcddiv ...........................................................................................................................377bcdlong.........................................................................................................................378bcdmul ..........................................................................................................................379bcdneg..........................................................................................................................380bcdsub..........................................................................................................................381cacos ............................................................................................................................382cacosh ..........................................................................................................................383casin .............................................................................................................................384casinh ...........................................................................................................................385catan.............................................................................................................................386catanh...........................................................................................................................387ccos ..............................................................................................................................388ccosh ............................................................................................................................389ceil ................................................................................................................................390cexp..............................................................................................................................391ck_valid_float................................................................................................................392cln .................................................................................................................................393clog10...........................................................................................................................394cos................................................................................................................................395cosh..............................................................................................................................396csin ...............................................................................................................................397csinh .............................................................................................................................398csqrt..............................................................................................................................399ctan...............................................................................................................................400ctanh.............................................................................................................................401estack_number_to_Float ..............................................................................................402estack_to_float .............................................................................................................403exp................................................................................................................................404fabs...............................................................................................................................405floor...............................................................................................................................406fmod..............................................................................................................................407frexp10..........................................................................................................................408is_float_infinity ..............................................................................................................409is_float_negative_zero..................................................................................................410
-
xiv Table of Contents
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
is_float_positive_zero ...................................................................................................411is_float_signed_infinity .................................................................................................412is_float_transfinite.........................................................................................................413is_float_unsigned_inf_or_nan.......................................................................................414is_float_unsigned_zero.................................................................................................415is_nan...........................................................................................................................416log.................................................................................................................................417log10.............................................................................................................................418modf..............................................................................................................................419pow...............................................................................................................................420push_Float....................................................................................................................421push_Float_to_nonneg_int ...........................................................................................422round12 ........................................................................................................................423round12_err ..................................................................................................................424round14 ........................................................................................................................426sin .................................................................................................................................427sinh ...............................................................................................................................428sqrt................................................................................................................................429tan.................................................................................................................................430tanh...............................................................................................................................431
Display ....................................................................................................................433ClientToScr...................................................................................................................435display_statements.......................................................................................................436DrawStrWidth ...............................................................................................................437DrawStrWidthP .............................................................................................................438Parms2D.......................................................................................................................439Parse1DExpr ................................................................................................................440Parse2DExpr ................................................................................................................442Parse2DMultiExpr.........................................................................................................443Print2DExpr ..................................................................................................................444sf_width ........................................................................................................................445
-
Table of Contents xv
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
Error Handling .........................................................................................................447clear_error_context.......................................................................................................449ER_catch ......................................................................................................................450ER_success..................................................................................................................451ER_throwFrame ...........................................................................................................452ER_throwVar ................................................................................................................454ERD_dialog ..................................................................................................................455find_error_message......................................................................................................456
EStack Arithmetic ....................................................................................................457add_to_top....................................................................................................................461add1_to_top..................................................................................................................462can_be_approxed.........................................................................................................463compare_complex_magnitudes....................................................................................465compare_Floats............................................................................................................466compare_numbers........................................................................................................467did_push_cnvrt_Float_to_integer .................................................................................468divide_top .....................................................................................................................469get_lb............................................................................................................................470get_ub...........................................................................................................................471integer_non_unknown ..................................................................................................472is_cFloat_agg ...............................................................................................................473is_complex_Float..........................................................................................................475is_complex0..................................................................................................................476is_complex_number .....................................................................................................477is_constant ...................................................................................................................478is_Float_exact_whole_number.....................................................................................479is_minus1 .....................................................................................................................480is_pos_int_and_eq_quantum .......................................................................................481is_reciprocal_of_quantum ............................................................................................482is_whole_number .........................................................................................................483is0 .................................................................................................................................484is1 .................................................................................................................................485negate_top....................................................................................................................486
-
xvi Table of Contents
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
push_arg_minus_1.......................................................................................................487push_arg_plus_1..........................................................................................................488push_difference............................................................................................................489push_gcd_numbers ......................................................................................................490push_is_prime ..............................................................................................................491push_minus_recip_of_quantum ...................................................................................492push_negate.................................................................................................................493push_negate_quantum_as_negint ...............................................................................494push_pi .........................................................................................................................495push_pi_on_quantum...................................................................................................496push_product................................................................................................................497push_quantum_as_nonnegative_int.............................................................................498push_quantum_pair_as_pos_frac ................................................................................499push_ratio.....................................................................................................................500push_reciprocal ............................................................................................................501push_reciprocal_of_quantum .......................................................................................502push_sum.....................................................................................................................503push0............................................................................................................................504push1............................................................................................................................505replace_top_with_reciprocal.........................................................................................506replace_top2_with_difference.......................................................................................507replace_top2_with_prod ...............................................................................................508replace_top2_with_ratio ...............................................................................................509replace_top2_with_sum................................................................................................510subtract_from_top.........................................................................................................511subtract1_from_top.......................................................................................................512times_top......................................................................................................................513
EStack Utilities ........................................................................................................515check_estack_size .......................................................................................................517delete_between ............................................................................................................518delete_expression ........................................................................................................519deleted_between ..........................................................................................................520deleted_expression ......................................................................................................521
-
Table of Contents xvii
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
estack_to_short ............................................................................................................522estack_to_ushort ..........................................................................................................523GetValue.......................................................................................................................524move_between_to_top .................................................................................................525moved_between_to_top ...............................................................................................526next_expression_index.................................................................................................527push_between ..............................................................................................................528push_expression ..........................................................................................................529push_Float_to_rat.........................................................................................................530push_long_to_integer ...................................................................................................531push_quantum..............................................................................................................532push_ulong_to_integer .................................................................................................533push_ushort_to_integer................................................................................................534reset_estack_size.........................................................................................................535
Expression Evaluation / Algebraic Simplification.....................................................537ForceFloat ....................................................................................................................539NG_approxESI .............................................................................................................540NG_execute..................................................................................................................541NG_rationalESI.............................................................................................................542push_approx.................................................................................................................543push_equals .................................................................................................................544push_greater_than .......................................................................................................545push_greater_than_or_equals......................................................................................546push_internal_simplify ..................................................................................................547push_less_than ............................................................................................................548push_less_than_or_equals...........................................................................................549push_not_equals ..........................................................................................................550push_simplify................................................................................................................551push_simplify_statements ............................................................................................552replace_top_with_post_simplified.................................................................................553
Files.........................................................................................................................555FAccess........................................................................................................................557FClose ..........................................................................................................................558
-
xviii Table of Contents
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
FCreate.........................................................................................................................559FDelete .........................................................................................................................560FEof ..............................................................................................................................561FFindFirst .....................................................................................................................562FFindNext .....................................................................................................................563FGetC...........................................................................................................................564FGetPos .......................................................................................................................565FGetSize.......................................................................................................................566FOpen...........................................................................................................................567FPutC ...........................................................................................................................570FRead...........................................................................................................................571FSetBufSize..................................................................................................................572FSetPos........................................................................................................................573FSetSize .......................................................................................................................574FSetVer ........................................................................................................................575FStatus .........................................................................................................................576FType ...........................................................................................................................577FWrite ...........................................................................................................................578TokenizeName .............................................................................................................579
Graphing .................................................................................................................581CkValidDelta.................................................................................................................583cmd_clrdraw .................................................................................................................584cmd_clrgraph................................................................................................................585cmd_rclgdb...................................................................................................................586cmd_stogdb..................................................................................................................587CptDeltax......................................................................................................................588CptDeltay......................................................................................................................589CptFuncX......................................................................................................................590CptIndep.......................................................................................................................591EQU_select ..................................................................................................................593EQU_setStyle ...............................................................................................................594FindFunc.......................................................................................................................595FindGrFunc...................................................................................................................596
-
Table of Contents xix
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
gr_CptIndepInc .............................................................................................................597gr_delete_fldpic ............................................................................................................599gr_DispLabels...............................................................................................................600gr_xres_pixel ................................................................................................................601GraphActivate...............................................................................................................602GrAxes..........................................................................................................................606GrClipLine.....................................................................................................................607GrLineFlt.......................................................................................................................609GT_Regraph.................................................................................................................610GT_Regraph_if_neccy..................................................................................................611StepCk..........................................................................................................................612XCvtFtoP ......................................................................................................................613XCvtPtoF ......................................................................................................................614YCvtFtoP ......................................................................................................................615YCvtPtoF ......................................................................................................................616
Home Screen ..........................................................................................................617cmd_clrhome................................................................................................................619cmd_disphome .............................................................................................................620HomeAlone...................................................................................................................621HomeExecute ...............................................................................................................622HS_getAns ...................................................................................................................623HS_getEntry .................................................................................................................624HS_popEStack .............................................................................................................625
Interrupts .................................................................................................................627idle ................................................................................................................................629off..................................................................................................................................631OSSetSR......................................................................................................................632
Keyboard.................................................................................................................633alphaLockOff ................................................................................................................635alphaLockOn ................................................................................................................636GetAlphaStatus ............................................................................................................637GKeyFlush....................................................................................................................638GKeyIn..........................................................................................................................639
-
xx Table of Contents
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
kbhit ..............................................................................................................................641KeyYesOrNo.................................................................................................................642ngetchx .........................................................................................................................643OSCheckBreak.............................................................................................................644OSClearBreak ..............................................................................................................645OSDisableBreak ...........................................................................................................646OSEnableBreak............................................................................................................647OSInitBetweenKeyDelay ..............................................................................................648OSInitKeyInitDelay .......................................................................................................649push_getkey .................................................................................................................650pushkey ........................................................................................................................651QModeKey....................................................................................................................652QSysKey.......................................................................................................................653restoreAlphaLock..........................................................................................................654
Link..........................................................................................................................655BatTooLowFlash...........................................................................................................657LIO_RecvData ..............................................................................................................658LIO_SendData..............................................................................................................659OSCheckLinkOpen.......................................................................................................660OSLinkClose.................................................................................................................661OSLinkOpen.................................................................................................................662OSLinkReset ................................................................................................................663
Lists and Matrices ...................................................................................................665all_tail ...........................................................................................................................669any_tail .........................................................................................................................670cmd_sorta.....................................................................................................................671cmd_sortd.....................................................................................................................672did_map_aggregate_arg ..............................................................................................673is_matrix .......................................................................................................................674is_square_matrix ..........................................................................................................675last_element_index.......................................................................................................676map_tail ........................................................................................................................677push_augment..............................................................................................................678
-
Table of Contents xxi
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
push_coldim .................................................................................................................679push_colnorm...............................................................................................................680push_cross_product .....................................................................................................681push_cumsum ..............................................................................................................682push_determinant.........................................................................................................683push_diag .....................................................................................................................684push_dimension ...........................................................................................................685push_dot_add...............................................................................................................686push_dot_div ................................................................................................................687push_dot_mult ..............................................................................................................688push_dot_sub...............................................................................................................689push_dotproduct...........................................................................................................690push_eigvc ...................................................................................................................691push_eigvl ....................................................................................................................692push_identity_mat ........................................................................................................693push_list_to_mat ..........................................................................................................694push_mat_to_list ..........................................................................................................695push_matnorm..............................................................................................................696push_mean...................................................................................................................697push_median................................................................................................................698push_mrow...................................................................................................................700push_mrowadd.............................................................................................................702push_newlist.................................................................................................................703push_newmat ...............................................................................................................704push_prodlist ................................................................................................................705push_randmat...............................................................................................................706push_red_row_ech.......................................................................................................707push_reversed_tail .......................................................................................................708push_row_echelon .......................................................................................................709push_rowadd................................................................................................................710push_rowdim ................................................................................................................711push_rownorm..............................................................................................................712push_rowswap..............................................................................................................713push_sign .....................................................................................................................714
-
xxii Table of Contents
TI-89 / TI-92 Plus Developer Guide Not for Distribution Beta Version January 26, 2001
push_stddev .................................................................................................................715push_submat ................................................................................................................716push_sumlist.................................................................................................................718push_transpose_aux ....................................................................................................719push_unitv ....................................................................................................................721push_variance ..............................................................................................................722remaining_element_count ............................................................................................723
Logic........................................................................................................................725and_onto_top................................................................................................................727is_equivalent_to............................................................................................................728is_negative ...................................................................................................................729is_never0 ......................................................................................................................730is_nonnegative .............................................................................................................731is_nonpositive...............................................................................................................732is_positive.....................................................................................................................733is_real ...........................................................................................................................734is_undefined .................................................................................................................735lead_conjunct_factor_index..........................................................................................736lead_disjunct_term_index.............................................................................................737or_onto_top ..................................................................................................................738push_and......................................................................................................................739push_but_conjunct_factor ............................................................................................740push_not.......................................................................................................................741push_or.........................................................................................................................742push_when ...................