Upload
kyusang-park
View
73
Download
6
Tags:
Embed Size (px)
DESCRIPTION
Texas InstrumentTI-89 / TI-92 Plus Developer GuideBeta Version .02
Citation preview
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 ...................