Просмотр исходного кода

Import headers and completion info.

git-svn-id: file:///var/svn/tigccpp/trunk@13 9552661e-59e3-4036-b4f2-dbe53926924f
kevinkofler 19 лет назад
Родитель
Сommit
45c9e2b02d
100 измененных файлов с 7141 добавлено и 0 удалено
  1. 142 0
      tigcc/include/ASM/compat.h
  2. 1597 0
      tigcc/include/ASM/doorsos.h
  3. 304 0
      tigcc/include/ASM/filelib.h
  4. 380 0
      tigcc/include/ASM/graphlib.h
  5. 4 0
      tigcc/include/ASM/gray4lib.h
  6. 28 0
      tigcc/include/ASM/gray7lib.h
  7. 37 0
      tigcc/include/ASM/hexlib.h
  8. 61 0
      tigcc/include/ASM/hufflib.h
  9. 13 0
      tigcc/include/ASM/linelib.h
  10. 1482 0
      tigcc/include/ASM/os.h
  11. 202 0
      tigcc/include/ASM/userlib.h
  12. 38 0
      tigcc/include/ASM/util.h
  13. 170 0
      tigcc/include/ASM/ziplib.h
  14. BIN
      tigcc/include/C/Completion/all.ccf
  15. BIN
      tigcc/include/C/Completion/alloc.ccf
  16. BIN
      tigcc/include/C/Completion/args.ccf
  17. BIN
      tigcc/include/C/Completion/asmtypes.ccf
  18. BIN
      tigcc/include/C/Completion/assert.ccf
  19. BIN
      tigcc/include/C/Completion/bascmd.ccf
  20. BIN
      tigcc/include/C/Completion/basfunc.ccf
  21. BIN
      tigcc/include/C/Completion/basop.ccf
  22. BIN
      tigcc/include/C/Completion/cert.ccf
  23. BIN
      tigcc/include/C/Completion/compat.ccf
  24. BIN
      tigcc/include/C/Completion/ctype.ccf
  25. BIN
      tigcc/include/C/Completion/default.ccf
  26. BIN
      tigcc/include/C/Completion/dialogs.ccf
  27. BIN
      tigcc/include/C/Completion/dll.ccf
  28. BIN
      tigcc/include/C/Completion/doors.ccf
  29. BIN
      tigcc/include/C/Completion/error.ccf
  30. BIN
      tigcc/include/C/Completion/estack.ccf
  31. BIN
      tigcc/include/C/Completion/events.ccf
  32. BIN
      tigcc/include/C/Completion/flash.ccf
  33. BIN
      tigcc/include/C/Completion/float.ccf
  34. BIN
      tigcc/include/C/Completion/gdraw.ccf
  35. BIN
      tigcc/include/C/Completion/graph.ccf
  36. BIN
      tigcc/include/C/Completion/gray.ccf
  37. BIN
      tigcc/include/C/Completion/homescr.ccf
  38. BIN
      tigcc/include/C/Completion/intr.ccf
  39. BIN
      tigcc/include/C/Completion/kbd.ccf
  40. BIN
      tigcc/include/C/Completion/limits.ccf
  41. BIN
      tigcc/include/C/Completion/link.ccf
  42. BIN
      tigcc/include/C/Completion/math.ccf
  43. BIN
      tigcc/include/C/Completion/mem.ccf
  44. BIN
      tigcc/include/C/Completion/menus.ccf
  45. BIN
      tigcc/include/C/Completion/nostub.ccf
  46. BIN
      tigcc/include/C/Completion/peekpoke.ccf
  47. BIN
      tigcc/include/C/Completion/printf.ccf
  48. BIN
      tigcc/include/C/Completion/romsymb.ccf
  49. BIN
      tigcc/include/C/Completion/rsa.ccf
  50. BIN
      tigcc/include/C/Completion/setjmp.ccf
  51. BIN
      tigcc/include/C/Completion/sprites.ccf
  52. BIN
      tigcc/include/C/Completion/statline.ccf
  53. BIN
      tigcc/include/C/Completion/stdarg.ccf
  54. BIN
      tigcc/include/C/Completion/stddef.ccf
  55. BIN
      tigcc/include/C/Completion/stdio.ccf
  56. BIN
      tigcc/include/C/Completion/stdlib.ccf
  57. BIN
      tigcc/include/C/Completion/string.ccf
  58. BIN
      tigcc/include/C/Completion/system.ccf
  59. BIN
      tigcc/include/C/Completion/textedit.ccf
  60. BIN
      tigcc/include/C/Completion/tigcclib.ccf
  61. BIN
      tigcc/include/C/Completion/timath.ccf
  62. BIN
      tigcc/include/C/Completion/unknown.ccf
  63. BIN
      tigcc/include/C/Completion/values.ccf
  64. BIN
      tigcc/include/C/Completion/vat.ccf
  65. BIN
      tigcc/include/C/Completion/version.ccf
  66. BIN
      tigcc/include/C/Completion/wingraph.ccf
  67. 1 0
      tigcc/include/C/all.h
  68. 75 0
      tigcc/include/C/alloc.h
  69. 35 0
      tigcc/include/C/args.h
  70. 27 0
      tigcc/include/C/asmtypes.h
  71. 18 0
      tigcc/include/C/assert.h
  72. 160 0
      tigcc/include/C/bascmd.h
  73. 165 0
      tigcc/include/C/basfunc.h
  74. 74 0
      tigcc/include/C/basop.h
  75. 45 0
      tigcc/include/C/cert.h
  76. 198 0
      tigcc/include/C/compat.h
  77. 43 0
      tigcc/include/C/ctype.h
  78. 366 0
      tigcc/include/C/default.h
  79. 61 0
      tigcc/include/C/dialogs.h
  80. 28 0
      tigcc/include/C/dll.h
  81. 79 0
      tigcc/include/C/doors.h
  82. 219 0
      tigcc/include/C/error.h
  83. 58 0
      tigcc/include/C/estack.h
  84. 49 0
      tigcc/include/C/events.h
  85. 42 0
      tigcc/include/C/flash.h
  86. 48 0
      tigcc/include/C/float.h
  87. 22 0
      tigcc/include/C/gdraw.h
  88. 118 0
      tigcc/include/C/graph.h
  89. 91 0
      tigcc/include/C/gray.h
  90. 50 0
      tigcc/include/C/homescr.h
  91. 22 0
      tigcc/include/C/intr.h
  92. 74 0
      tigcc/include/C/kbd.h
  93. 37 0
      tigcc/include/C/limits.h
  94. 59 0
      tigcc/include/C/link.h
  95. 88 0
      tigcc/include/C/math.h
  96. 23 0
      tigcc/include/C/mem.h
  97. 96 0
      tigcc/include/C/menus.h
  98. 183 0
      tigcc/include/C/nostub.h
  99. 28 0
      tigcc/include/C/peekpoke.h
  100. 1 0
      tigcc/include/C/printf.h

+ 142 - 0
tigcc/include/ASM/compat.h

@@ -0,0 +1,142 @@
+tios::ST_eraseHelp equ _ROM_CALL_0E3
+tios::ST_showHelp equ _ROM_CALL_0E6
+tios::HeapFree equ _ROM_CALL_097
+tios::HeapAlloc equ _ROM_CALL_090
+tios::ER_catch equ _ROM_CALL_154
+tios::ER_success equ _ROM_CALL_155
+tios::reset_link equ _ROM_CALL_24C
+tios::flush_link equ _ROM_CALL_24D
+tios::tx_free equ _ROM_CALL_252
+tios::transmit equ _ROM_CALL_250
+tios::receive equ _ROM_CALL_24F
+tios::HeapFreeIndir equ _ROM_CALL_098
+tios::ST_busy equ _ROM_CALL_0E2
+tios::ER_throwVar equ _ROM_CALL_153
+tios::HeapRealloc equ _ROM_CALL_09D
+tios::sprintf equ _ROM_CALL_053
+tios::DrawStrXY equ _ROM_CALL_1A9
+tios::FontSetSys equ _ROM_CALL_18F
+tios::DrawTo equ _ROM_CALL_19C
+tios::MoveTo equ _ROM_CALL_19D
+tios::PortSet equ _ROM_CALL_1A2
+tios::PortRestore equ _ROM_CALL_1A3
+tios::WinActivate equ _ROM_CALL_001
+tios::WinClose equ _ROM_CALL_00B
+tios::WinOpen equ _ROM_CALL_01E
+tios::WinStrXY equ _ROM_CALL_026
+tios::HeapAllocThrow equ _ROM_CALL_093
+tios::strcmp equ _ROM_CALL_271
+tios::FontGetSys equ _ROM_CALL_18E
+tios::strlen equ _ROM_CALL_27E
+tios::strncmp equ _ROM_CALL_272
+tios::strncpy equ _ROM_CALL_26D
+tios::strcat equ _ROM_CALL_26E
+tios::strchr equ _ROM_CALL_274
+tios::memset equ _ROM_CALL_27C
+tios::memcmp equ _ROM_CALL_270
+tios::memcpy equ _ROM_CALL_26A
+tios::memmove equ _ROM_CALL_26B
+tios::_du32u32 equ _ROM_CALL_2AA
+tios::_ds32s32 equ _ROM_CALL_2A8
+tios::_du16u16 equ _ROM_CALL_2A6
+tios::_ds16u16 equ _ROM_CALL_2A4
+tios::_ru32u32 equ _ROM_CALL_2AB
+tios::_rs32s32 equ _ROM_CALL_2A9
+tios::_ru16u16 equ _ROM_CALL_2A7
+tios::_rs16u16 equ _ROM_CALL_2A5
+tios::DerefSym equ _ROM_CALL_079
+tios::MenuPopup equ _ROM_CALL_03B
+tios::MenuBegin equ _ROM_CALL_036
+tios::MenuOn equ _ROM_CALL_03A
+tios::ERD_dialog equ _ROM_CALL_151
+
+;****************************************************************************
+; defines
+
+tios::NULL		equ	0
+tios::H_NULL		equ	0
+tios::RAND_MAX		equ	$7FFF
+
+; codes for ST_busy()
+ACTIVITY_IDLE		equ	0
+ACTIVITY_BUSY		equ	1
+ACTIVITY_PAUSED		equ	2
+
+; codes for ER_throw()
+tios::ER_STOP		equ	2
+tios::ER_DIMENSION	equ	230
+tios::ER_MEMORY		equ	670
+tios::ER_MEMORY_DML	equ	810
+
+; tags
+tios::UNDEFINED_TAG	equ	$2A
+tios::LIST_TAG		equ	$D9
+tios::MATRIX_TAG	equ	$DB
+tios::END_TAG		equ	$E5
+
+tios::STOF_ESI		equ	$4000
+tios::STOF_HESI		equ	$4003
+
+;****************************************************************************
+; structures
+
+tios::SYM_ENTRY.name	equ	0	; name of symbol
+tios::SYM_ENTRY.flags	equ	8	; flags
+tios::SYM_ENTRY.hVal	equ	10	; handle of symbol
+
+
+tios::globals	equ	$4C00
+tios::kb_globals equ	_ROM_CALL_2A3+$15a
+tios::Heap	equ	_ROM_CALL_02F+$104+$16
+tios::ROM_base	equ	_RAM_CALL_003
+tios::FindSymEntry	equ	userlib::FindSymEntry
+tios::DrawCharXY	equ	userlib::DrawCharXY
+tios::kb_vars		equ	_ROM_CALL_2A3+$15a
+tios::ST_flags		equ	doorsos::ST_flags
+tios::DEREF		equ	doorsos::DEREF
+tios::ER_throw		equ	doorsos::ER_throw
+tios::DEREF_SYM		equ	doorsos::DEREF_SYM
+
+FOLDER_LIST_HANDLE	equ	doorsos::FolderListHandle
+tios::DefTempHandle	equ	doorsos::DefTempHandle
+
+
+;flib::find_pixel	equ	graphlib::find_pixel
+;flib::pixel_on		equ	graphlib::pixel_on
+;flib::pixel_off	equ	graphlib::pixel_off
+;flib::pixel_chg	equ	graphlib::pixel_chg
+flib::clr_scr		equ	graphlib::clr_scr2
+flib::zap_screen	equ	graphlib::clr_scr
+flib::idle_loop		equ	userlib::idle_loop
+flib::random		equ	userlib::random
+flib::rand_seed		equ	userlib::rand_seed
+flib::show_dialog	equ	graphlib::show_dialog
+flib::clear_dialog	equ	graphlib::clear_dialog
+flib::frame_rect	equ	graphlib::frame_rect
+flib::erase_rect	equ	graphlib::erase_rect
+
+
+gray4lib::on		equ	graphlib::gray4
+gray4lib::off		equ	graphlib::gray2
+gray4lib::plane0	equ	graphlib::plane1
+gray4lib::plane1	equ	graphlib::plane0
+
+gray7lib::on		equ	graphlib::gray7
+gray7lib::off		equ	graphlib::gray2
+gray7lib::plane0	equ	graphlib::plane2
+gray7lib::plane1	equ	graphlib::plane0
+gray7lib::plane2	equ	graphlib::plane1
+
+kernel::exec		equ	userlib::exec
+
+EXEC_NO_MEM		equ	1
+EXEC_LIB_NOT_FOUND	equ	2
+EXEC_LIB_RANGE_ERR	equ	3
+EXEC_NOT_EXEC		equ	4
+EXEC_UNKNOWN_FORMAT	equ	4
+
+hufflib::extract	equ	ziplib::extract
+hufflib::extract_string	equ	ziplib::extract_string
+hufflib::write_string	equ	ziplib::write_string
+hufflib::write_string_inv equ	ziplib::write_string_inv
+hufflib::check_mem	equ	ziplib::check_emem

+ 1597 - 0
tigcc/include/ASM/doorsos.h

@@ -0,0 +1,1597 @@
+doorsos::acos	equ	_ROM_CALL_F5
+doorsos::acosh	equ	_ROM_CALL_288
+doorsos::asin	equ	_ROM_CALL_F6
+doorsos::asinh	equ	_ROM_CALL_287
+doorsos::atan	equ	_ROM_CALL_F7
+doorsos::atan2	equ	_ROM_CALL_F8
+doorsos::atanh	equ	_ROM_CALL_289
+doorsos::cacos	equ	_ROM_CALL_13A
+doorsos::cacosh	equ	_ROM_CALL_13D
+doorsos::casin	equ	_ROM_CALL_13B
+doorsos::casinh	equ	_ROM_CALL_13E
+doorsos::catan	equ	_ROM_CALL_13C
+doorsos::catanh	equ	_ROM_CALL_13F
+doorsos::ccos	equ	_ROM_CALL_140
+doorsos::ccosh	equ	_ROM_CALL_143
+doorsos::ceil	equ	_ROM_CALL_105
+doorsos::cexp	equ	_ROM_CALL_149
+doorsos::cln	equ	_ROM_CALL_147
+doorsos::clog10	equ	_ROM_CALL_148
+doorsos::cos	equ	_ROM_CALL_F9
+doorsos::cosh	equ	_ROM_CALL_FC
+doorsos::csin	equ	_ROM_CALL_141
+doorsos::csinh	equ	_ROM_CALL_144
+doorsos::csqrt	equ	_ROM_CALL_146
+doorsos::ctan	equ	_ROM_CALL_142
+doorsos::ctanh	equ	_ROM_CALL_145
+doorsos::exp	equ	_ROM_CALL_FF
+doorsos::fabs	equ	_ROM_CALL_106
+doorsos::fadd	equ	_ROM_CALL_B6
+doorsos::fcmp	equ	_ROM_CALL_BB
+doorsos::fdiv	equ	_ROM_CALL_B9
+doorsos::flt	equ	_ROM_CALL_BD
+doorsos::float_class	equ	_ROM_CALL_2FA
+doorsos::floor	equ	_ROM_CALL_107
+doorsos::fmod	equ	_ROM_CALL_108
+doorsos::fmul	equ	_ROM_CALL_B8
+doorsos::fneg	equ	_ROM_CALL_BA
+doorsos::fpisanint	equ	_ROM_CALL_172
+doorsos::fpisodd	equ	_ROM_CALL_173
+doorsos::frexp10	equ	_ROM_CALL_2FB
+doorsos::fsub	equ	_ROM_CALL_B7
+doorsos::is_float_infinity	equ	_ROM_CALL_2FF
+doorsos::is_float_negative_zero	equ	_ROM_CALL_300
+doorsos::is_float_positive_zero	equ	_ROM_CALL_301
+doorsos::is_float_signed_infinity	equ	_ROM_CALL_302
+doorsos::is_float_transfinite	equ	_ROM_CALL_303
+doorsos::is_float_unsigned_inf_or_nan	equ	_ROM_CALL_304
+doorsos::is_float_unsigned_zero	equ	_ROM_CALL_305
+doorsos::is_inf	equ	_ROM_CALL_2FF
+doorsos::is_nan	equ	_ROM_CALL_306
+doorsos::is_nzero	equ	_ROM_CALL_300
+doorsos::is_pzero	equ	_ROM_CALL_301
+doorsos::is_sinf	equ	_ROM_CALL_302
+doorsos::is_transfinite	equ	_ROM_CALL_303
+doorsos::is_uinf_or_nan	equ	_ROM_CALL_304
+doorsos::is_uzero	equ	_ROM_CALL_305
+doorsos::itrig	equ	_ROM_CALL_28A
+doorsos::log	equ	_ROM_CALL_100
+doorsos::log10	equ	_ROM_CALL_101
+doorsos::modf	equ	_ROM_CALL_102
+doorsos::pow	equ	_ROM_CALL_103
+doorsos::round12	equ	_ROM_CALL_174
+doorsos::round12_err	equ	_ROM_CALL_227
+doorsos::round14	equ	_ROM_CALL_175
+doorsos::sin	equ	_ROM_CALL_FA
+doorsos::sincos	equ	_ROM_CALL_286
+doorsos::sinh	equ	_ROM_CALL_FD
+doorsos::sqrt	equ	_ROM_CALL_104
+doorsos::tan	equ	_ROM_CALL_FB
+doorsos::tanh	equ	_ROM_CALL_FE
+doorsos::trig	equ	_ROM_CALL_28B
+doorsos::trunc	equ	_ROM_CALL_BC
+doorsos::all_tail	equ	_ROM_CALL_3B5
+doorsos::any_tail	equ	_ROM_CALL_3B6
+doorsos::are_expressions_identical	equ	_ROM_CALL_2BF
+doorsos::can_be_approxed	equ	_ROM_CALL_2F5
+doorsos::check_estack_size	equ	_ROM_CALL_2C2
+doorsos::compare_complex_magnitudes	equ	_ROM_CALL_2F6
+doorsos::compare_expressions	equ	_ROM_CALL_2C0
+doorsos::compare_Floats	equ	_ROM_CALL_2F7
+doorsos::deleted_between	equ	_ROM_CALL_2C4
+doorsos::deleted_expression	equ	_ROM_CALL_2C6
+doorsos::delete_between	equ	_ROM_CALL_2C3
+doorsos::delete_expression	equ	_ROM_CALL_2C5
+doorsos::did_push_cnvrt_Float_to_integer	equ	_ROM_CALL_2F8
+doorsos::display_statements	equ	_ROM_CALL_4E
+doorsos::estack_number_to_Float	equ	_ROM_CALL_2F9
+doorsos::estack_to_short	equ	_ROM_CALL_2C7
+doorsos::estack_to_ushort	equ	_ROM_CALL_2C8
+doorsos::factor_base_index	equ	_ROM_CALL_2C9
+doorsos::factor_exponent_index	equ	_ROM_CALL_2CA
+doorsos::gcd_exact_whole_Floats	equ	_ROM_CALL_2FC
+doorsos::GetValue	equ	_ROM_CALL_2CB
+doorsos::get_key_ptr	equ	_ROM_CALL_2B7
+doorsos::HToESI	equ	_ROM_CALL_247
+doorsos::im_index	equ	_ROM_CALL_2CC
+doorsos::index_below_display_expression_aux	equ	_ROM_CALL_2B6
+doorsos::index_main_var	equ	_ROM_CALL_2CF
+doorsos::index_numeric_term	equ	_ROM_CALL_2CD
+doorsos::index_of_lead_base_of_lead_term	equ	_ROM_CALL_2CE
+doorsos::is_advanced_tag	equ	_ROM_CALL_2D0
+doorsos::is_antisymmetric	equ	_ROM_CALL_2D1
+doorsos::is_complex_number	equ	_ROM_CALL_2D2
+doorsos::is_complex0	equ	_ROM_CALL_2D3
+doorsos::is_Float_exact_whole_number	equ	_ROM_CALL_2FE
+doorsos::is_free_of_tag	equ	_ROM_CALL_2D4
+doorsos::is_independent_of	equ	_ROM_CALL_2D5
+doorsos::is_independent_of_de_seq_vars	equ	_ROM_CALL_2D6
+doorsos::is_independent_of_elements	equ	_ROM_CALL_2D8
+doorsos::is_independent_of_tail	equ	_ROM_CALL_2D7
+doorsos::is_matrix	equ	_ROM_CALL_3B7
+doorsos::is_monomial	equ	_ROM_CALL_2D9
+doorsos::is_monomial_in_kernel	equ	_ROM_CALL_2DA
+doorsos::is_narrowly_independent_of	equ	_ROM_CALL_2DB
+doorsos::is_square_matrix	equ	_ROM_CALL_3B8
+doorsos::is_symmetric	equ	_ROM_CALL_2DC
+doorsos::bottom_estack	equ	_ROM_CALL_432
+doorsos::is_valid_smap_aggregate	equ	_ROM_CALL_3B9
+doorsos::last_element_index	equ	_ROM_CALL_3BA
+doorsos::lead_base_index	equ	_ROM_CALL_2DE
+doorsos::lead_exponent_index	equ	_ROM_CALL_2DF
+doorsos::lead_factor_index	equ	_ROM_CALL_2E0
+doorsos::lead_term_index	equ	_ROM_CALL_2E1
+doorsos::likely_approx_to_complex_number	equ	_ROM_CALL_307
+doorsos::likely_approx_to_number	equ	_ROM_CALL_308
+doorsos::main_gen_var_index	equ	_ROM_CALL_2E2
+doorsos::map_tail	equ	_ROM_CALL_3BB
+doorsos::map_tail_Int	equ	_ROM_CALL_3BC
+doorsos::map_unary_over_comparison	equ	_ROM_CALL_2E3
+doorsos::min_quantum	equ	_ROM_CALL_2E4
+doorsos::moved_between_to_top	equ	_ROM_CALL_2E6
+doorsos::move_between_to_top	equ	_ROM_CALL_2E5
+doorsos::next_expression_index	equ	_ROM_CALL_10A
+doorsos::NG_approxESI	equ	_ROM_CALL_25C
+doorsos::NG_execute	equ	_ROM_CALL_25D
+doorsos::NG_graphESI	equ	_ROM_CALL_25E
+doorsos::NG_rationalESI	equ	_ROM_CALL_25F
+doorsos::NG_RPNToText	equ	_ROM_CALL_25B
+doorsos::NG_tokenize	equ	_ROM_CALL_260
+doorsos::norm1_complex_Float	equ	_ROM_CALL_309
+doorsos::numeric_factor_index	equ	_ROM_CALL_2E7
+doorsos::Parms2D	equ	_ROM_CALL_4D
+doorsos::Parse1DExpr	equ	_ROM_CALL_4F
+doorsos::Parse2DExpr	equ	_ROM_CALL_4A
+doorsos::Parse2DMultiExpr	equ	_ROM_CALL_4B
+doorsos::Print2DExpr	equ	_ROM_CALL_4C
+doorsos::push_ANSI_string	equ	_ROM_CALL_48A
+doorsos::push_between	equ	_ROM_CALL_2E8
+doorsos::push_cnvrt_integer_if_whole_nmb	equ	_ROM_CALL_30D
+doorsos::push_END_TAG	equ	_ROM_CALL_263
+doorsos::push_expr2_quantum	equ	_ROM_CALL_2EA
+doorsos::push_expr_quantum	equ	_ROM_CALL_2E9
+doorsos::push_Float	equ	_ROM_CALL_30A
+doorsos::push_Float_to_nonneg_int	equ	_ROM_CALL_30B
+doorsos::push_Float_to_rat	equ	_ROM_CALL_30C
+doorsos::push_internal_simplify	equ	_ROM_CALL_4F8
+doorsos::push_LIST_TAG	equ	_ROM_CALL_264
+doorsos::ARb_real_count	equ	_ROM_CALL_5C2
+doorsos::push_next_arb_int	equ	_ROM_CALL_2EB
+doorsos::push_next_arb_real	equ	_ROM_CALL_2EC
+doorsos::push_next_internal_var	equ	_ROM_CALL_2ED
+doorsos::push_offset_array	equ	_ROM_CALL_3C4
+doorsos::push_overflow_to_infinity	equ	_ROM_CALL_30E
+doorsos::push_parse_text	equ	_ROM_CALL_3CA
+doorsos::push_zstr	equ	_ROM_CALL_48A
+doorsos::push_quantum	equ	_ROM_CALL_2EE
+doorsos::push_quantum_pair	equ	_ROM_CALL_2EF
+doorsos::push_reversed_tail	equ	_ROM_CALL_3BF
+doorsos::push_round_Float	equ	_ROM_CALL_310
+doorsos::reductum_index	equ	_ROM_CALL_2F0
+doorsos::remaining_element_count	equ	_ROM_CALL_3C3
+doorsos::remaining_factors_index	equ	_ROM_CALL_2F1
+doorsos::reset_control_flags	equ	_ROM_CALL_2F4
+doorsos::reset_estack_size	equ	_ROM_CALL_2F3
+doorsos::re_index	equ	_ROM_CALL_2F2
+doorsos::should_and_did_push_approx_arg2	equ	_ROM_CALL_311
+doorsos::signum_Float	equ	_ROM_CALL_312
+doorsos::top_estack	equ	_ROM_CALL_109
+doorsos::is_tail_independent_of	equ	_ROM_CALL_2DD
+doorsos::push_transpose_aux	equ	_ROM_CALL_3C1
+doorsos::TokenizeSymName	equ	_ROM_CALL_80
+doorsos::push_expression	equ	_ROM_CALL_44D
+doorsos::ARb_int_count	equ	_ROM_CALL_5C3
+doorsos::ABT_dialog	equ	_ROM_CALL_10D
+doorsos::CAT_dialog	equ	_ROM_CALL_125
+doorsos::EV_captureEvents	equ	_ROM_CALL_C6
+doorsos::EV_centralDispatcher	equ	_ROM_CALL_156
+doorsos::EV_clearPasteString	equ	_ROM_CALL_C7
+doorsos::EV_defaultHandler	equ	_ROM_CALL_157
+doorsos::EV_eventLoop	equ	_ROM_CALL_158
+doorsos::EV_getc	equ	_ROM_CALL_C8
+doorsos::EV_getSplitRect	equ	_ROM_CALL_C9
+doorsos::EV_hook	equ	_ROM_CALL_2A3
+doorsos::EV_notifySwitchGraph	equ	_ROM_CALL_CA
+doorsos::EV_paintOneWindow	equ	_ROM_CALL_CB
+doorsos::EV_paintWindows	equ	_ROM_CALL_CC
+doorsos::EV_registerMenu	equ	_ROM_CALL_159
+doorsos::EV_restorePainting	equ	_ROM_CALL_CD
+doorsos::EV_sendEvent	equ	_ROM_CALL_CE
+doorsos::EV_sendEventSide	equ	_ROM_CALL_CF
+doorsos::EV_sendString	equ	_ROM_CALL_D0
+doorsos::EV_setCmdCheck	equ	_ROM_CALL_D1
+doorsos::EV_setCmdState	equ	_ROM_CALL_D2
+doorsos::EV_setFKeyState	equ	_ROM_CALL_D3
+doorsos::EV_startApp	equ	_ROM_CALL_D4
+doorsos::EV_startSide	equ	_ROM_CALL_D5
+doorsos::EV_startTask	equ	_ROM_CALL_D6
+doorsos::EV_suspendPainting	equ	_ROM_CALL_D7
+doorsos::EV_switch	equ	_ROM_CALL_D8
+doorsos::MO_currentOptions	equ	_ROM_CALL_D9
+doorsos::MO_defaults	equ	_ROM_CALL_DA
+doorsos::MO_digestOptions	equ	_ROM_CALL_DB
+doorsos::MO_isMultigraphTask	equ	_ROM_CALL_DC
+doorsos::MO_modeDialog	equ	_ROM_CALL_DD
+doorsos::MO_notifyModeChange	equ	_ROM_CALL_DE
+doorsos::MO_sendQuit	equ	_ROM_CALL_DF
+doorsos::handleVarLinkKey	equ	_ROM_CALL_129
+doorsos::handleRclKey	equ	_ROM_CALL_14F
+doorsos::AB_prodid	equ	_ROM_CALL_29D
+doorsos::AB_prodname	equ	_ROM_CALL_29E
+doorsos::AB_serno	equ	_ROM_CALL_29F
+doorsos::CB_fetchTEXT	equ	_ROM_CALL_C2
+doorsos::CB_replaceTEXT	equ	_ROM_CALL_C1
+doorsos::CU_restore	equ	_ROM_CALL_C3
+doorsos::CU_start	equ	_ROM_CALL_C4
+doorsos::CU_stop	equ	_ROM_CALL_C5
+doorsos::EX_patch	equ	_ROM_CALL_15A
+doorsos::HelpKeys	equ	_ROM_CALL_181
+doorsos::idle	equ	_ROM_CALL_29B
+doorsos::NeedStack	equ	_ROM_CALL_A4
+doorsos::off	equ	_ROM_CALL_29A
+doorsos::OSCheckBreak	equ	_ROM_CALL_EC
+doorsos::OSClearBreak	equ	_ROM_CALL_ED
+doorsos::OSContrastDn	equ	_ROM_CALL_297
+doorsos::OSContrastUp	equ	_ROM_CALL_296
+doorsos::OSdequeue	equ	_ROM_CALL_3AA
+doorsos::OSDisableBreak	equ	_ROM_CALL_EF
+doorsos::OSEnableBreak	equ	_ROM_CALL_EE
+doorsos::OSenqueue	equ	_ROM_CALL_3A9
+doorsos::OSFreeTimer	equ	_ROM_CALL_F1
+doorsos::OSqclear	equ	_ROM_CALL_3AD
+doorsos::OSqhead	equ	_ROM_CALL_3AC
+doorsos::OSqinquire	equ	_ROM_CALL_3AB
+doorsos::OSRegisterTimer	equ	_ROM_CALL_F0
+doorsos::OSReset	equ	_ROM_CALL_294
+doorsos::OSSetSR	equ	_ROM_CALL_29C
+doorsos::OSTimerCurVal	equ	_ROM_CALL_F2
+doorsos::OSTimerExpired	equ	_ROM_CALL_F3
+doorsos::OSTimerRestart	equ	_ROM_CALL_F4
+doorsos::QModeKey	equ	_ROM_CALL_182
+doorsos::QSysKey	equ	_ROM_CALL_183
+doorsos::SumStoChkMem	equ	_ROM_CALL_295
+doorsos::WordInList	equ	_ROM_CALL_184
+doorsos::XR_stringPtr	equ	_ROM_CALL_293
+doorsos::CU_cursorState	equ	_ROM_CALL_503
+doorsos::FiftyMsecTick	equ	_ROM_CALL_4FC
+doorsos::ReleaseVersion	equ	_ROM_CALL_440
+doorsos::ReleaseDate	equ	_ROM_CALL_43F
+doorsos::AB_getGateArrayVersion	equ	_ROM_CALL_15E
+doorsos::EX_getBasecodeParmBlock	equ	_ROM_CALL_5DA
+doorsos::ST_angle	equ	_ROM_CALL_E0
+doorsos::ST_batt	equ	_ROM_CALL_E1
+doorsos::ST_busy	equ	_ROM_CALL_E2
+doorsos::ST_eraseHelp	equ	_ROM_CALL_E3
+doorsos::ST_folder	equ	_ROM_CALL_E4
+doorsos::ST_graph	equ	_ROM_CALL_E5
+doorsos::ST_helpMsg	equ	_ROM_CALL_E6
+doorsos::ST_modKey	equ	_ROM_CALL_E7
+doorsos::ST_precision	equ	_ROM_CALL_E8
+doorsos::ST_readOnly	equ	_ROM_CALL_E9
+doorsos::ST_refDsp	equ	_ROM_CALL_EB
+doorsos::ST_showHelp	equ	_ROM_CALL_E6
+doorsos::ST_stack	equ	_ROM_CALL_EA
+doorsos::ST_progressIncrement	equ	_ROM_CALL_4DA
+doorsos::ST_progressBar	equ	_ROM_CALL_4D8
+doorsos::ST_progressDismiss	equ	_ROM_CALL_4DB
+doorsos::ST_progressUpdate	equ	_ROM_CALL_4D9
+doorsos::AddSymToFolder	equ	_ROM_CALL_70
+doorsos::DerefSym	equ	_ROM_CALL_79
+doorsos::EM_moveSymFromExtMem	equ	_ROM_CALL_161
+doorsos::EM_moveSymToExtMem	equ	_ROM_CALL_162
+doorsos::EM_twinSymFromExtMem	equ	_ROM_CALL_166
+doorsos::FindSymInFolder	equ	_ROM_CALL_71
+doorsos::FolderAdd	equ	_ROM_CALL_64
+doorsos::FolderAddTemp	equ	_ROM_CALL_73
+doorsos::FolderClear	equ	_ROM_CALL_66
+doorsos::FolderCount	equ	_ROM_CALL_6B
+doorsos::FolderCur	equ	_ROM_CALL_65
+doorsos::FolderCurTemp	equ	_ROM_CALL_72
+doorsos::FolderDel	equ	_ROM_CALL_66
+doorsos::FolderDelAllTemp	equ	_ROM_CALL_75
+doorsos::FolderDelTemp	equ	_ROM_CALL_74
+doorsos::FolderFind	equ	_ROM_CALL_67
+doorsos::FolderGetCur	equ	_ROM_CALL_68
+doorsos::FolderOp	equ	_ROM_CALL_69
+doorsos::FolderRename	equ	_ROM_CALL_6A
+doorsos::HSymDel	equ	_ROM_CALL_5F
+doorsos::HSYMtoName	equ	_ROM_CALL_7A
+doorsos::IsMainFolderStr	equ	_ROM_CALL_77
+doorsos::MakeHSym	equ	_ROM_CALL_282
+doorsos::SymAdd	equ	_ROM_CALL_5C
+doorsos::SymAddMain	equ	_ROM_CALL_5D
+doorsos::SymAddTwin	equ	_ROM_CALL_27F
+doorsos::SymCmp	equ	_ROM_CALL_81
+doorsos::SymCpy	equ	_ROM_CALL_82
+doorsos::SymCpy0	equ	_ROM_CALL_83
+doorsos::SymDel	equ	_ROM_CALL_5E
+doorsos::SymDelTwin	equ	_ROM_CALL_280
+doorsos::SymFind	equ	_ROM_CALL_60
+doorsos::SymFindFirst	equ	_ROM_CALL_6C
+doorsos::SymFindFolderName	equ	_ROM_CALL_6F
+doorsos::SymFindHome	equ	_ROM_CALL_62
+doorsos::SymFindMain	equ	_ROM_CALL_61
+doorsos::SymFindNext	equ	_ROM_CALL_6D
+doorsos::SymFindPrev	equ	_ROM_CALL_6E
+doorsos::SymFindPtr	equ	_ROM_CALL_283
+doorsos::SymMove	equ	_ROM_CALL_63
+doorsos::TempFolderName	equ	_ROM_CALL_76
+doorsos::TokToStrN	equ	_ROM_CALL_7C
+doorsos::StrToTokN	equ	_ROM_CALL_7B
+doorsos::ClearUserDef	equ	_ROM_CALL_7E
+doorsos::CheckLinkLockFlag	equ	_ROM_CALL_7F
+doorsos::VarRecall	equ	_ROM_CALL_85
+doorsos::VarStore	equ	_ROM_CALL_86
+doorsos::QSysProtected	equ	_ROM_CALL_88
+doorsos::SetOK	equ	_ROM_CALL_456
+doorsos::checkCurrent	equ	_ROM_CALL_121
+doorsos::CheckReservedName	equ	_ROM_CALL_8B
+doorsos::CheckSysFunc	equ	_ROM_CALL_89
+doorsos::EX_stoBCD	equ	_ROM_CALL_C0
+doorsos::ValidateSymName	equ	_ROM_CALL_84
+doorsos::SymSysVar	equ	_ROM_CALL_8C
+doorsos::ResetSymFlags	equ	_ROM_CALL_8E
+doorsos::partial_len	equ	_ROM_CALL_11C
+doorsos::GetDataType	equ	_ROM_CALL_435
+doorsos::SmapTypeStrings	equ	_ROM_CALL_436
+doorsos::GetFuncPrgmBodyPtr	equ	_ROM_CALL_43A
+doorsos::free	equ	_ROM_CALL_A3
+doorsos::FreeHandles	equ	_ROM_CALL_23B
+doorsos::HeapAlloc	equ	_ROM_CALL_90
+doorsos::HeapAllocESTACK	equ	_ROM_CALL_91
+doorsos::HeapAllocHigh	equ	_ROM_CALL_92
+doorsos::HeapAllocHighThrow	equ	_ROM_CALL_94
+doorsos::HeapAllocPtr	equ	_ROM_CALL_A2
+doorsos::HeapAllocThrow	equ	_ROM_CALL_93
+doorsos::HeapAvail	equ	_ROM_CALL_8F
+doorsos::HeapCompress	equ	_ROM_CALL_95
+doorsos::HeapDeref	equ	_ROM_CALL_96
+doorsos::HeapEnd	equ	_ROM_CALL_A1
+doorsos::HeapFreeIndir	equ	_ROM_CALL_98
+doorsos::HeapFreePtr	equ	_ROM_CALL_A3
+doorsos::HeapFree	equ	_ROM_CALL_97
+doorsos::HeapGetHandle	equ	_ROM_CALL_239
+doorsos::HeapGetLock	equ	_ROM_CALL_9B
+doorsos::HeapLock	equ	_ROM_CALL_9A
+doorsos::HeapMax	equ	_ROM_CALL_9C
+doorsos::HeapMoveHigh	equ	_ROM_CALL_A0
+doorsos::HeapPtrToHandle	equ	_ROM_CALL_23A
+doorsos::HeapRealloc	equ	_ROM_CALL_9D
+doorsos::HeapSize	equ	_ROM_CALL_9E
+doorsos::HeapUnlock	equ	_ROM_CALL_9F
+doorsos::HLock	equ	_ROM_CALL_99
+doorsos::malloc	equ	_ROM_CALL_A2
+doorsos::HeapWalk	equ	_ROM_CALL_12C
+doorsos::HeapShuffle	equ	_ROM_CALL_474
+doorsos::EX_getArg	equ	_ROM_CALL_BE
+doorsos::EX_getBCD	equ	_ROM_CALL_BF
+doorsos::RemainingArgCnt	equ	_ROM_CALL_3C3
+doorsos::GKeyDown	equ	_ROM_CALL_17F
+doorsos::GKeyFlush	equ	_ROM_CALL_180
+doorsos::GKeyIn	equ	_ROM_CALL_17E
+doorsos::kbhit	equ	_ROM_CALL_52
+doorsos::ngetchx	equ	_ROM_CALL_51
+doorsos::OSGetStatKeys	equ	_ROM_CALL_299
+doorsos::OSInitBetweenKeyDelay	equ	_ROM_CALL_249
+doorsos::pushkey	equ	_ROM_CALL_50
+doorsos::OSInitKeyInitDelay	equ	_ROM_CALL_248
+doorsos::alphaLockOn	equ	_ROM_CALL_481
+doorsos::alphaLockOff	equ	_ROM_CALL_482
+doorsos::SetAlphaStatus	equ	_ROM_CALL_163
+doorsos::GetAlphaStatus	equ	_ROM_CALL_164
+doorsos::KeyYesOrNo	equ	_ROM_CALL_3EB
+doorsos::OSFastArrows	equ	_ROM_CALL_15C
+doorsos::restoreAlphaLock	equ	_ROM_CALL_483
+doorsos::BitmapGet	equ	_ROM_CALL_185
+doorsos::BitmapInit	equ	_ROM_CALL_186
+doorsos::BitmapPut	equ	_ROM_CALL_187
+doorsos::BitmapSize	equ	_ROM_CALL_188
+doorsos::ClrScr	equ	_ROM_CALL_19E
+doorsos::DrawChar	equ	_ROM_CALL_1A4
+doorsos::DrawClipChar	equ	_ROM_CALL_191
+doorsos::DrawClipEllipse	equ	_ROM_CALL_192
+doorsos::DrawClipLine	equ	_ROM_CALL_193
+doorsos::DrawClipPix	equ	_ROM_CALL_194
+doorsos::DrawClipRect	equ	_ROM_CALL_195
+doorsos::DrawFkey	equ	_ROM_CALL_1A5
+doorsos::DrawIcon	equ	_ROM_CALL_1A6
+doorsos::DrawLine	equ	_ROM_CALL_1A7
+doorsos::DrawMultiLines	equ	_ROM_CALL_196
+doorsos::DrawPix	equ	_ROM_CALL_1A8
+doorsos::CalcBitmapSize	equ	_ROM_CALL_3EF
+doorsos::DrawStr	equ	_ROM_CALL_1A9
+doorsos::DrawStrWidth	equ	_ROM_CALL_197
+doorsos::DrawTo	equ	_ROM_CALL_19C
+doorsos::FillLines2	equ	_ROM_CALL_199
+doorsos::FillTriangle	equ	_ROM_CALL_198
+doorsos::FontCharWidth	equ	_ROM_CALL_190
+doorsos::FontGetSys	equ	_ROM_CALL_18E
+doorsos::FontSetSys	equ	_ROM_CALL_18F
+doorsos::GetPix	equ	_ROM_CALL_19F
+doorsos::LineTo	equ	_ROM_CALL_19C
+doorsos::MoveTo	equ	_ROM_CALL_19D
+doorsos::PortRestore	equ	_ROM_CALL_1A3
+doorsos::PortSet	equ	_ROM_CALL_1A2
+doorsos::QScrRectOverlap	equ	_ROM_CALL_18D
+doorsos::RestoreScrState	equ	_ROM_CALL_1A1
+doorsos::SaveScrState	equ	_ROM_CALL_1A0
+doorsos::ScrRect	equ	_ROM_CALL_2F
+doorsos::ScrRectFill	equ	_ROM_CALL_189
+doorsos::ScrRectOverlap	equ	_ROM_CALL_18A
+doorsos::ScrRectScroll	equ	_ROM_CALL_18B
+doorsos::ScrRectShift	equ	_ROM_CALL_18C
+doorsos::ScrToHome	equ	_ROM_CALL_2E
+doorsos::ScrToWin	equ	_ROM_CALL_2D
+doorsos::SetCurAttr	equ	_ROM_CALL_19A
+doorsos::SetCurClip	equ	_ROM_CALL_19B
+doorsos::ClientToScr	equ	_ROM_CALL_42C
+doorsos::DrawStrWidthP	equ	_ROM_CALL_3EE
+doorsos::MakeScrRect	equ	_ROM_CALL_42D
+doorsos::DrawWinBorder	equ	_ROM_CALL_27
+doorsos::FirstWindow	equ	_ROM_CALL_0
+doorsos::MakeWinRect	equ	_ROM_CALL_2C
+doorsos::RectWinToScr	equ	_ROM_CALL_2A
+doorsos::RectWinToWin	equ	_ROM_CALL_29
+doorsos::WinActivate	equ	_ROM_CALL_1
+doorsos::WinAttr	equ	_ROM_CALL_2
+doorsos::WinBackground	equ	_ROM_CALL_4
+doorsos::WinBackupToScr	equ	_ROM_CALL_3
+doorsos::WinBegin	equ	_ROM_CALL_5
+doorsos::WinBitmapGet	equ	_ROM_CALL_6
+doorsos::WinBitmapPut	equ	_ROM_CALL_7
+doorsos::WinBitmapSize	equ	_ROM_CALL_8
+doorsos::WinChar	equ	_ROM_CALL_A
+doorsos::WinCharXY	equ	_ROM_CALL_9
+doorsos::WinClose	equ	_ROM_CALL_B
+doorsos::WinClr	equ	_ROM_CALL_C
+doorsos::WinDeactivate	equ	_ROM_CALL_D
+doorsos::WinDupStat	equ	_ROM_CALL_E
+doorsos::WinEllipse	equ	_ROM_CALL_F
+doorsos::WinFill	equ	_ROM_CALL_10
+doorsos::WinFillLines2	equ	_ROM_CALL_11
+doorsos::WinFillTriangle	equ	_ROM_CALL_12
+doorsos::WinFont	equ	_ROM_CALL_13
+doorsos::WinGetCursor	equ	_ROM_CALL_14
+doorsos::WinHeight	equ	_ROM_CALL_292
+doorsos::WinHide	equ	_ROM_CALL_15
+doorsos::WinHome	equ	_ROM_CALL_16
+doorsos::WinLine	equ	_ROM_CALL_17
+doorsos::WinLineNC	equ	_ROM_CALL_18
+doorsos::WinLineRel	equ	_ROM_CALL_1A
+doorsos::WinLineTo	equ	_ROM_CALL_19
+doorsos::WinMoveCursor	equ	_ROM_CALL_1B
+doorsos::WinMoveRel	equ	_ROM_CALL_1D
+doorsos::WinMoveTo	equ	_ROM_CALL_1C
+doorsos::WinOpen	equ	_ROM_CALL_1E
+doorsos::WinPixGet	equ	_ROM_CALL_1F
+doorsos::WinPixSet	equ	_ROM_CALL_20
+doorsos::WinRect	equ	_ROM_CALL_21
+doorsos::WinReOpen	equ	_ROM_CALL_22
+doorsos::WinScrollH	equ	_ROM_CALL_23
+doorsos::WinScrollV	equ	_ROM_CALL_24
+doorsos::WinStr	equ	_ROM_CALL_25
+doorsos::WinStrXY	equ	_ROM_CALL_26
+doorsos::WinWidth	equ	_ROM_CALL_291
+doorsos::DrawStaticButton	equ	_ROM_CALL_35
+doorsos::SetWinClip	equ	_ROM_CALL_42E
+doorsos::BN_powerMod	equ	_ROM_CALL_123
+doorsos::BN_power17Mod	equ	_ROM_CALL_122
+doorsos::BN_prodMod	equ	_ROM_CALL_124
+doorsos::cdecrypt	equ	_ROM_CALL_127
+doorsos::MD5Done	equ	_ROM_CALL_257
+doorsos::MD5Final	equ	_ROM_CALL_256
+doorsos::MD5Init	equ	_ROM_CALL_254
+doorsos::MD5Update	equ	_ROM_CALL_255
+doorsos::Dialog	equ	_ROM_CALL_30
+doorsos::DialogAdd	equ	_ROM_CALL_33
+doorsos::DialogDo	equ	_ROM_CALL_32
+doorsos::DialogNew	equ	_ROM_CALL_34
+doorsos::DlgMessage	equ	_ROM_CALL_1B4
+doorsos::VarNew	equ	_ROM_CALL_28E
+doorsos::VarOpen	equ	_ROM_CALL_28C
+doorsos::VarSaveAs	equ	_ROM_CALL_28D
+doorsos::ERD_dialog	equ	_ROM_CALL_151
+doorsos::ERD_process	equ	_ROM_CALL_152
+doorsos::ER_catch	equ	_ROM_CALL_154
+doorsos::ER_success	equ	_ROM_CALL_155
+doorsos::ER_throwVar	equ	_ROM_CALL_153
+doorsos::find_error_message	equ	_ROM_CALL_2C1
+doorsos::EM_abandon	equ	_ROM_CALL_15B
+doorsos::EM_findEmptySlot	equ	_ROM_CALL_15F
+doorsos::EM_GC	equ	_ROM_CALL_160
+doorsos::EM_survey	equ	_ROM_CALL_165
+doorsos::EM_write	equ	_ROM_CALL_167
+doorsos::FL_addCert	equ	_ROM_CALL_169
+doorsos::FL_download	equ	_ROM_CALL_16A
+doorsos::FL_getCert	equ	_ROM_CALL_16C
+doorsos::FL_getHardwareParmBlock	equ	_ROM_CALL_16B
+doorsos::FL_getVerNum	equ	_ROM_CALL_16D
+doorsos::FL_write	equ	_ROM_CALL_171
+doorsos::BatTooLowFlash	equ	_ROM_CALL_434
+doorsos::FlashMemoryEnd	equ	_ROM_CALL_43D
+doorsos::EM_blockVerifyErase	equ	_ROM_CALL_15D
+doorsos::flush_link	equ	_ROM_CALL_24D
+doorsos::getcalc	equ	_ROM_CALL_54
+doorsos::LIO_Get	equ	_ROM_CALL_57
+doorsos::LIO_GetMultiple	equ	_ROM_CALL_59
+doorsos::LIO_Receive	equ	_ROM_CALL_58
+doorsos::LIO_RecvData	equ	_ROM_CALL_5B
+doorsos::LIO_Send	equ	_ROM_CALL_56
+doorsos::LIO_SendData	equ	_ROM_CALL_5A
+doorsos::LIO_SendProduct	equ	_ROM_CALL_253
+doorsos::OSCheckSilentLink	equ	_ROM_CALL_24A
+doorsos::OSLinkClose	equ	_ROM_CALL_24E
+doorsos::OSLinkCmd	equ	_ROM_CALL_24B
+doorsos::OSLinkOpen	equ	_ROM_CALL_24D
+doorsos::OSLinkReset	equ	_ROM_CALL_24C
+doorsos::OSLinkTxQueueActive	equ	_ROM_CALL_252
+doorsos::OSLinkTxQueueInquire	equ	_ROM_CALL_251
+doorsos::OSReadLinkBlock	equ	_ROM_CALL_24F
+doorsos::OSWriteLinkBlock	equ	_ROM_CALL_250
+doorsos::receive	equ	_ROM_CALL_24F
+doorsos::reset_link	equ	_ROM_CALL_24C
+doorsos::sendcalc	equ	_ROM_CALL_55
+doorsos::transmit	equ	_ROM_CALL_250
+doorsos::tx_free	equ	_ROM_CALL_252
+doorsos::MenuAddIcon	equ	_ROM_CALL_42
+doorsos::MenuAddText	equ	_ROM_CALL_41
+doorsos::MenuBegin	equ	_ROM_CALL_36
+doorsos::MenuCheck	equ	_ROM_CALL_37
+doorsos::MenuEnd	equ	_ROM_CALL_38
+doorsos::MenuGetTopRedef	equ	_ROM_CALL_40
+doorsos::MenuKey	equ	_ROM_CALL_39
+doorsos::MenuNew	equ	_ROM_CALL_43
+doorsos::MenuOn	equ	_ROM_CALL_3A
+doorsos::MenuPopup	equ	_ROM_CALL_3B
+doorsos::MenuSubStat	equ	_ROM_CALL_3C
+doorsos::MenuTopRedef	equ	_ROM_CALL_3F
+doorsos::MenuTopSelect	equ	_ROM_CALL_3E
+doorsos::MenuTopStat	equ	_ROM_CALL_3D
+doorsos::MenuUpdate	equ	_ROM_CALL_49
+doorsos::PopupAddText	equ	_ROM_CALL_44
+doorsos::PopupClear	equ	_ROM_CALL_46
+doorsos::PopupDo	equ	_ROM_CALL_47
+doorsos::PopupNew	equ	_ROM_CALL_45
+doorsos::PopupText	equ	_ROM_CALL_48
+doorsos::VarCreateFolderPopup	equ	_ROM_CALL_28F
+doorsos::MenuLoad	equ	_ROM_CALL_3F2
+doorsos::MenuFlags	equ	_ROM_CALL_3F4
+doorsos::QMenuTopSelect	equ	_ROM_CALL_41A
+doorsos::DynMenuAdd	equ	_ROM_CALL_3F1
+doorsos::FKeyI_H	equ	_ROM_CALL_592
+doorsos::DynMenuChange	equ	_ROM_CALL_3F0
+doorsos::MenuItemDef	equ	_ROM_CALL_3F3
+doorsos::MenuOff	equ	_ROM_CALL_419
+doorsos::PopupBegin	equ	_ROM_CALL_3F5
+doorsos::PopupBeginDo	equ	_ROM_CALL_3F6
+doorsos::ceof	equ	_ROM_CALL_128
+doorsos::cfindfield	equ	_ROM_CALL_12A
+doorsos::cgetc	equ	_ROM_CALL_12B
+doorsos::cgetcertrevno	equ	_ROM_CALL_2A0
+doorsos::cgetflen	equ	_ROM_CALL_12D
+doorsos::cgetfnl	equ	_ROM_CALL_12E
+doorsos::cgetnl	equ	_ROM_CALL_12F
+doorsos::cgetns	equ	_ROM_CALL_130
+doorsos::cgetsn	equ	_ROM_CALL_2A1
+doorsos::copen	equ	_ROM_CALL_132
+doorsos::copensub	equ	_ROM_CALL_133
+doorsos::cputhdr	equ	_ROM_CALL_134
+doorsos::cputnl	equ	_ROM_CALL_135
+doorsos::cputns	equ	_ROM_CALL_136
+doorsos::cread	equ	_ROM_CALL_137
+doorsos::ctell	equ	_ROM_CALL_138
+doorsos::cwrite	equ	_ROM_CALL_139
+doorsos::CertificateMemory	equ	_ROM_CALL_43E
+doorsos::sprintf	equ	_ROM_CALL_53
+doorsos::vcbprintf	equ	_ROM_CALL_53
+doorsos::cmd_clrdraw	equ	_ROM_CALL_32D
+doorsos::cmd_clrgraph	equ	_ROM_CALL_32F
+doorsos::cmd_clrhome	equ	_ROM_CALL_330
+doorsos::cmd_clrio	equ	_ROM_CALL_331
+doorsos::cmd_clrtable	equ	_ROM_CALL_332
+doorsos::cmd_custmoff	equ	_ROM_CALL_335
+doorsos::cmd_custmon	equ	_ROM_CALL_336
+doorsos::cmd_disp	equ	_ROM_CALL_33D
+doorsos::cmd_dispg	equ	_ROM_CALL_33E
+doorsos::cmd_disphome	equ	_ROM_CALL_33F
+doorsos::cmd_disptbl	equ	_ROM_CALL_340
+doorsos::cmd_fnoff	equ	_ROM_CALL_34D
+doorsos::cmd_fnon	equ	_ROM_CALL_34E
+doorsos::cmd_get	equ	_ROM_CALL_350
+doorsos::cmd_getcalc	equ	_ROM_CALL_351
+doorsos::cmd_graph	equ	_ROM_CALL_353
+doorsos::cmd_input	equ	_ROM_CALL_356
+doorsos::cmd_inputstr	equ	_ROM_CALL_357
+doorsos::cmd_newprob	equ	_ROM_CALL_367
+doorsos::cmd_output	equ	_ROM_CALL_369
+doorsos::cmd_pause	equ	_ROM_CALL_36B
+doorsos::cmd_printobj	equ	_ROM_CALL_370
+doorsos::cmd_prompt	equ	_ROM_CALL_371
+doorsos::cmd_rclgdb	equ	_ROM_CALL_381
+doorsos::cmd_send	equ	_ROM_CALL_387
+doorsos::cmd_sendcalc	equ	_ROM_CALL_388
+doorsos::cmd_sendchat	equ	_ROM_CALL_389
+doorsos::cmd_stogdb	equ	_ROM_CALL_390
+doorsos::cmd_style	equ	_ROM_CALL_392
+doorsos::cmd_table	equ	_ROM_CALL_393
+doorsos::cmd_shade	equ	_ROM_CALL_38A
+doorsos::cmd_newpic	equ	_ROM_CALL_365
+doorsos::cmd_newplot	equ	_ROM_CALL_366
+doorsos::cmd_pxlon	equ	_ROM_CALL_37B
+doorsos::cmd_circle	equ	_ROM_CALL_32C
+doorsos::cmd_cyclepic	equ	_ROM_CALL_339
+doorsos::cmd_randseed	equ	_ROM_CALL_380
+doorsos::cmd_line	equ	_ROM_CALL_358
+doorsos::cmd_andpic	equ	_ROM_CALL_32A
+doorsos::cmd_blddata	equ	_ROM_CALL_32B
+doorsos::cmd_clrerr	equ	_ROM_CALL_32E
+doorsos::cmd_drawparm	equ	_ROM_CALL_343
+doorsos::cmd_exit	equ	_ROM_CALL_34A
+doorsos::cmd_copyvar	equ	_ROM_CALL_333
+doorsos::cmd_cubicreg	equ	_ROM_CALL_334
+doorsos::cmd_custom	equ	_ROM_CALL_337
+doorsos::cmd_cycle	equ	_ROM_CALL_338
+doorsos::cmd_drawpol	equ	_ROM_CALL_344
+doorsos::cmd_delfold	equ	_ROM_CALL_33A
+doorsos::cmd_delvar	equ	_ROM_CALL_33B
+doorsos::cmd_dialog	equ	_ROM_CALL_33C
+doorsos::cmd_drawinv	equ	_ROM_CALL_342
+doorsos::cmd_drawfunc	equ	_ROM_CALL_341
+doorsos::cmd_linehorz	equ	_ROM_CALL_359
+doorsos::cmd_linetan	equ	_ROM_CALL_35A
+doorsos::cmd_else	equ	_ROM_CALL_345
+doorsos::cmd_endfor	equ	_ROM_CALL_346
+doorsos::cmd_for	equ	_ROM_CALL_34F
+doorsos::cmd_if	equ	_ROM_CALL_354
+doorsos::cmd_ifthen	equ	_ROM_CALL_355
+doorsos::cmd_linreg	equ	_ROM_CALL_35C
+doorsos::cmd_expreg	equ	_ROM_CALL_34B
+doorsos::cmd_lnreg	equ	_ROM_CALL_35D
+doorsos::cmd_logistic	equ	_ROM_CALL_360
+doorsos::cmd_sinreg	equ	_ROM_CALL_38C
+doorsos::cmd_twovar	equ	_ROM_CALL_398
+doorsos::cmd_onevar	equ	_ROM_CALL_368
+doorsos::cmd_showstat	equ	_ROM_CALL_38B
+doorsos::cmd_rplcpic	equ	_ROM_CALL_386
+doorsos::cmd_xorpic	equ	_ROM_CALL_39B
+doorsos::cmd_rclpic	equ	_ROM_CALL_382
+doorsos::cmd_pxlcircle	equ	_ROM_CALL_377
+doorsos::cmd_stopic	equ	_ROM_CALL_391
+doorsos::cmd_fill	equ	_ROM_CALL_34C
+doorsos::cmd_goto	equ	_ROM_CALL_352
+doorsos::cmd_popup	equ	_ROM_CALL_36E
+doorsos::cmd_endloop	equ	_ROM_CALL_347
+doorsos::cmd_endwhile	equ	_ROM_CALL_349
+doorsos::cmd_while	equ	_ROM_CALL_39A
+doorsos::cmd_try	equ	_ROM_CALL_397
+doorsos::cmd_endtry	equ	_ROM_CALL_348
+doorsos::cmd_passerr	equ	_ROM_CALL_36A
+doorsos::cmd_linevert	equ	_ROM_CALL_35B
+doorsos::cmd_plotsoff	equ	_ROM_CALL_36C
+doorsos::cmd_plotson	equ	_ROM_CALL_36D
+doorsos::cmd_slpline	equ	_ROM_CALL_38D
+doorsos::cmd_sortd	equ	_ROM_CALL_38F
+doorsos::cmd_sorta	equ	_ROM_CALL_38E
+doorsos::cmd_unlock	equ	_ROM_CALL_399
+doorsos::cmd_lock	equ	_ROM_CALL_35F
+doorsos::cmd_unarchiv	equ	_ROM_CALL_449
+doorsos::cmd_archive	equ	_ROM_CALL_448
+doorsos::cmd_pxlline	equ	_ROM_CALL_379
+doorsos::cmd_pxlhorz	equ	_ROM_CALL_378
+doorsos::cmd_pxlvert	equ	_ROM_CALL_37D
+doorsos::cmd_ptchg	equ	_ROM_CALL_372
+doorsos::cmd_ptoff	equ	_ROM_CALL_373
+doorsos::cmd_pxltext	equ	_ROM_CALL_37C
+doorsos::cmd_pton	equ	_ROM_CALL_374
+doorsos::cmd_pxlchg	equ	_ROM_CALL_376
+doorsos::cmd_pxloff	equ	_ROM_CALL_37A
+doorsos::cmd_text	equ	_ROM_CALL_394
+doorsos::cmd_pttext	equ	_ROM_CALL_375
+doorsos::cmd_local	equ	_ROM_CALL_35E
+doorsos::cmd_movevar	equ	_ROM_CALL_362
+doorsos::cmd_rename	equ	_ROM_CALL_383
+doorsos::cmd_return	equ	_ROM_CALL_385
+doorsos::cmd_trace	equ	_ROM_CALL_396
+doorsos::cmd_toolbar	equ	_ROM_CALL_395
+doorsos::cmd_request	equ	_ROM_CALL_384
+doorsos::cmd_newdata	equ	_ROM_CALL_363
+doorsos::cmd_newfold	equ	_ROM_CALL_364
+doorsos::cmd_zoomin	equ	_ROM_CALL_3A0
+doorsos::cmd_zoomdata	equ	_ROM_CALL_39D
+doorsos::cmd_zoomdec	equ	_ROM_CALL_39E
+doorsos::cmd_zoomfit	equ	_ROM_CALL_39F
+doorsos::cmd_zoomint	equ	_ROM_CALL_3A1
+doorsos::cmd_zoomprev	equ	_ROM_CALL_3A3
+doorsos::cmd_zoombox	equ	_ROM_CALL_39C
+doorsos::cmd_zoomout	equ	_ROM_CALL_3A2
+doorsos::cmd_zoomrcl	equ	_ROM_CALL_3A4
+doorsos::cmd_zoomsqr	equ	_ROM_CALL_3A5
+doorsos::cmd_zoomsto	equ	_ROM_CALL_3A7
+doorsos::cmd_zoomtrig	equ	_ROM_CALL_3A8
+doorsos::cmd_zoomstd	equ	_ROM_CALL_3A6
+doorsos::cmd_medmed	equ	_ROM_CALL_361
+doorsos::cmd_quartreg	equ	_ROM_CALL_37F
+doorsos::cmd_quadreg	equ	_ROM_CALL_37E
+doorsos::cmd_powerreg	equ	_ROM_CALL_36F
+doorsos::TE_checkSlack	equ	_ROM_CALL_A6
+doorsos::TE_close	equ	_ROM_CALL_A5
+doorsos::TE_empty	equ	_ROM_CALL_A7
+doorsos::TE_focus	equ	_ROM_CALL_A8
+doorsos::TE_handleEvent	equ	_ROM_CALL_A9
+doorsos::TE_indicateReadOnly	equ	_ROM_CALL_AA
+doorsos::TE_isBlank	equ	_ROM_CALL_AB
+doorsos::TE_openFixed	equ	_ROM_CALL_AD
+doorsos::TE_open	equ	_ROM_CALL_AC
+doorsos::TE_pasteText	equ	_ROM_CALL_AE
+doorsos::TE_reopenPlain	equ	_ROM_CALL_B0
+doorsos::TE_reopen	equ	_ROM_CALL_AF
+doorsos::TE_select	equ	_ROM_CALL_B1
+doorsos::TE_shrinkWrap	equ	_ROM_CALL_B2
+doorsos::TE_unfocus	equ	_ROM_CALL_B3
+doorsos::TE_updateCommand	equ	_ROM_CALL_B4
+doorsos::longjmp	equ	_ROM_CALL_267
+doorsos::setjmp	equ	_ROM_CALL_266
+doorsos::strcat	equ	_ROM_CALL_26E
+doorsos::strchr	equ	_ROM_CALL_274
+doorsos::strcmp	equ	_ROM_CALL_271
+doorsos::strcpy	equ	_ROM_CALL_26C
+doorsos::strcspn	equ	_ROM_CALL_275
+doorsos::strerror	equ	_ROM_CALL_27D
+doorsos::strlen	equ	_ROM_CALL_27E
+doorsos::strncat	equ	_ROM_CALL_26F
+doorsos::strncmp	equ	_ROM_CALL_272
+doorsos::strncpy	equ	_ROM_CALL_26D
+doorsos::strpbrk	equ	_ROM_CALL_276
+doorsos::strrchr	equ	_ROM_CALL_277
+doorsos::strspn	equ	_ROM_CALL_278
+doorsos::strstr	equ	_ROM_CALL_279
+doorsos::strtok	equ	_ROM_CALL_27A
+doorsos::cmpstri	equ	_ROM_CALL_16F
+doorsos::stricmp	equ	_ROM_CALL_407
+doorsos::memucmp	equ	_ROM_CALL_3CC
+doorsos::memcpy	equ	_ROM_CALL_26A
+doorsos::memchr	equ	_ROM_CALL_273
+doorsos::memcmp	equ	_ROM_CALL_270
+doorsos::_memset	equ	_ROM_CALL_27B
+doorsos::memmove	equ	_ROM_CALL_26B
+doorsos::memset	equ	_ROM_CALL_27C
+doorsos::add1_to_top	equ	_ROM_CALL_51D
+doorsos::push_gcd_then_cofactors	equ	_ROM_CALL_59E
+doorsos::and_onto_top	equ	_ROM_CALL_579
+doorsos::are_units_consistent	equ	_ROM_CALL_40F
+doorsos::assign_between	equ	_ROM_CALL_2AC
+doorsos::push_mrow_aux	equ	_ROM_CALL_31B
+doorsos::CharNumber	equ	_ROM_CALL_113
+doorsos::CheckGraphRef	equ	_ROM_CALL_7D
+doorsos::ST_flags	equ	_ROM_CALL_443
+doorsos::ck_valid_float	equ	_ROM_CALL_1E5
+doorsos::CkValidDelta	equ	_ROM_CALL_1C3
+doorsos::cleanup_de_mem	equ	_ROM_CALL_1EC
+doorsos::cleanup_seq_mem	equ	_ROM_CALL_1D7
+doorsos::clear_error_context	equ	_ROM_CALL_44C
+doorsos::FAccess	equ	_ROM_CALL_3D4
+doorsos::compare_numbers	equ	_ROM_CALL_50D
+doorsos::convert_to_TI_92	equ	_ROM_CALL_258
+doorsos::CountGrFunc	equ	_ROM_CALL_1D5
+doorsos::cpt_gr_fun	equ	_ROM_CALL_1D1
+doorsos::cpt_gr_param	equ	_ROM_CALL_1D2
+doorsos::cpt_gr_polar	equ	_ROM_CALL_1D3
+doorsos::CptDeltax	equ	_ROM_CALL_1C1
+doorsos::CptDeltay	equ	_ROM_CALL_1C2
+doorsos::CptFuncX	equ	_ROM_CALL_1B9
+doorsos::CptIndep	equ	_ROM_CALL_1C9
+doorsos::CptLastIndepDE	equ	_ROM_CALL_1EF
+doorsos::CreateEmptyList	equ	_ROM_CALL_1E6
+doorsos::CTypeTable	equ	_ROM_CALL_442
+doorsos::CustomBegin	equ	_ROM_CALL_14A
+doorsos::CustomEnd	equ	_ROM_CALL_14C
+doorsos::CustomFree	equ	_ROM_CALL_150
+doorsos::CustomMenuItem	equ	_ROM_CALL_14B
+doorsos::DataTypeNames	equ	_ROM_CALL_43B
+doorsos::de_initRes	equ	_ROM_CALL_1F0
+doorsos::de_loop	equ	_ROM_CALL_1EB
+doorsos::de_rng_no_graph	equ	_ROM_CALL_2A2
+doorsos::delete_list_element	equ	_ROM_CALL_2AF
+doorsos::deStepCk	equ	_ROM_CALL_1F9
+doorsos::did_push_divide_units	equ	_ROM_CALL_3AE
+doorsos::did_push_lincf	equ	_ROM_CALL_572
+doorsos::did_push_var_val	equ	_ROM_CALL_2AD
+doorsos::divide_top	equ	_ROM_CALL_527
+doorsos::does_push_fetch	equ	_ROM_CALL_2AE
+doorsos::dv_create_graph_titles	equ	_ROM_CALL_117
+doorsos::dv_findColumn	equ	_ROM_CALL_119
+doorsos::TIOS_EV_getAppID	equ	_ROM_CALL_454
+doorsos::EQU_deStatus	equ	_ROM_CALL_16E
+doorsos::EQU_getNameInfo	equ	_ROM_CALL_120
+doorsos::EQU_select	equ	_ROM_CALL_11E
+doorsos::EQU_setStyle	equ	_ROM_CALL_11F
+doorsos::ER_throwFrame	equ	_ROM_CALL_507
+doorsos::ERD_dismissNotice	equ	_ROM_CALL_476
+doorsos::ERD_notice	equ	_ROM_CALL_475
+doorsos::estack_to_float	equ	_ROM_CALL_469
+doorsos::EV_appA	equ	_ROM_CALL_452
+doorsos::EV_appB	equ	_ROM_CALL_453
+doorsos::EV_appSide	equ	_ROM_CALL_458
+doorsos::EV_currentApp	equ	_ROM_CALL_45C
+doorsos::EV_errorCode	equ	_ROM_CALL_46D
+doorsos::TIOS_strtol	equ	_ROM_CALL_4FF
+doorsos::EV_quit	equ	_ROM_CALL_48E
+doorsos::EV_runningApp	equ	_ROM_CALL_45D
+doorsos::execute_graph_func	equ	_ROM_CALL_1D0
+doorsos::FCreate	equ	_ROM_CALL_3D6
+doorsos::FDelete	equ	_ROM_CALL_3D7
+doorsos::FEof	equ	_ROM_CALL_3D8
+doorsos::FFindNext	equ	_ROM_CALL_3DA
+doorsos::FGetC	equ	_ROM_CALL_3DB
+doorsos::FGetPos	equ	_ROM_CALL_3DC
+doorsos::FPutC	equ	_ROM_CALL_3DF
+doorsos::FindFunc	equ	_ROM_CALL_1C5
+doorsos::FindGrFunc	equ	_ROM_CALL_1C6
+doorsos::FirstNonblank	equ	_ROM_CALL_4DE
+doorsos::FirstSeqPlot	equ	_ROM_CALL_1D6
+doorsos::fix_loop_displacements	equ	_ROM_CALL_170
+doorsos::FLOATTAB	equ	_ROM_CALL_464
+doorsos::ForceFloat	equ	_ROM_CALL_47D
+doorsos::FOpen	equ	_ROM_CALL_3DE
+doorsos::freeIdList	equ	_ROM_CALL_4D6
+doorsos::FSetPos	equ	_ROM_CALL_3E1
+doorsos::FSetVer	equ	_ROM_CALL_3E4
+doorsos::FStatus	equ	_ROM_CALL_3E5
+doorsos::FWrite	equ	_ROM_CALL_3E7
+doorsos::FuncLineFlt	equ	_ROM_CALL_1BF
+doorsos::gdb_len	equ	_ROM_CALL_1E0
+doorsos::gdb_recall	equ	_ROM_CALL_1E2
+doorsos::gdb_store	equ	_ROM_CALL_1E1
+doorsos::gen_version	equ	_ROM_CALL_259
+doorsos::get_lb	equ	_ROM_CALL_516
+doorsos::get_list_indices	equ	_ROM_CALL_2B8
+doorsos::get_matrix_indices	equ	_ROM_CALL_2B9
+doorsos::get_ub	equ	_ROM_CALL_517
+doorsos::GetStatValue	equ	_ROM_CALL_11B
+doorsos::GetSysGraphRef	equ	_ROM_CALL_8A
+doorsos::GetTagStr	equ	_ROM_CALL_46C
+doorsos::GM_Derivative	equ	_ROM_CALL_1B0
+doorsos::GM_DistArc	equ	_ROM_CALL_1B1
+doorsos::GM_Inflection	equ	_ROM_CALL_1AD
+doorsos::GM_Integrate	equ	_ROM_CALL_1AC
+doorsos::GM_Intersect	equ	_ROM_CALL_1AB
+doorsos::GM_Math1	equ	_ROM_CALL_1AF
+doorsos::GM_Shade	equ	_ROM_CALL_1B2
+doorsos::GM_TanLine	equ	_ROM_CALL_1AE
+doorsos::GM_Value	equ	_ROM_CALL_1AA
+doorsos::gr_active	equ	_ROM_CALL_10B
+doorsos::gr_add_fldpic	equ	_ROM_CALL_1F6
+doorsos::gr_ck_solvergraph	equ	_ROM_CALL_1FA
+doorsos::gr_CptIndepInc	equ	_ROM_CALL_1CA
+doorsos::gr_de_axes_lbl	equ	_ROM_CALL_1F2
+doorsos::gr_de_value	equ	_ROM_CALL_1ED
+doorsos::gr_del_locals	equ	_ROM_CALL_1CB
+doorsos::gr_del_vars_in_folder	equ	_ROM_CALL_1F1
+doorsos::gr_delete_fldpic	equ	_ROM_CALL_1F4
+doorsos::gr_DelFolder	equ	_ROM_CALL_1CC
+doorsos::gr_DispLabels	equ	_ROM_CALL_1E3
+doorsos::gr_execute_de	equ	_ROM_CALL_1F3
+doorsos::gr_execute_seq	equ	_ROM_CALL_1D4
+doorsos::gr_find_de_result	equ	_ROM_CALL_1E8
+doorsos::gr_find_el	equ	_ROM_CALL_1F8
+doorsos::gr_find_func_index	equ	_ROM_CALL_1EE
+doorsos::gr_flags	equ	_ROM_CALL_463
+doorsos::gr_initCondName	equ	_ROM_CALL_1C8
+doorsos::gr_openFolder	equ	_ROM_CALL_1CD
+doorsos::gr_other	equ	_ROM_CALL_10C
+doorsos::GR_Pan	equ	_ROM_CALL_1C4
+doorsos::gr_remove_fldpic	equ	_ROM_CALL_1F5
+doorsos::gr_seq_value	equ	_ROM_CALL_1DC
+doorsos::gr_stopic	equ	_ROM_CALL_1F7
+doorsos::gr_xres_pixel	equ	_ROM_CALL_1B8
+doorsos::GR3_addContours	equ	_ROM_CALL_1FB
+doorsos::GR3_freeDB	equ	_ROM_CALL_1FD
+doorsos::GR3_handleEvent	equ	_ROM_CALL_1FE
+doorsos::GR3_paint3d	equ	_ROM_CALL_1FF
+doorsos::GR3_xyToWindow	equ	_ROM_CALL_200
+doorsos::GraphActivate	equ	_ROM_CALL_1FC
+doorsos::GraphOrTableCmd	equ	_ROM_CALL_1E4
+doorsos::GrAxes	equ	_ROM_CALL_1B7
+doorsos::GrClipLine	equ	_ROM_CALL_1C0
+doorsos::grFuncName	equ	_ROM_CALL_1C7
+doorsos::GrLineFlt	equ	_ROM_CALL_1BE
+doorsos::GS_PlotAll	equ	_ROM_CALL_202
+doorsos::GS_PlotTrace	equ	_ROM_CALL_201
+doorsos::GT_BackupToScr	equ	_ROM_CALL_20C
+doorsos::GT_CalcDepVals	equ	_ROM_CALL_20D
+doorsos::GT_CenterGraphCursor	equ	_ROM_CALL_20E
+doorsos::GT_CursorKey	equ	_ROM_CALL_20F
+doorsos::GT_DE_Init_Conds	equ	_ROM_CALL_22A
+doorsos::GT_DspFreeTraceCoords	equ	_ROM_CALL_210
+doorsos::GT_DspMsg	equ	_ROM_CALL_212
+doorsos::GT_DspTraceCoords	equ	_ROM_CALL_211
+doorsos::GT_Error	equ	_ROM_CALL_213
+doorsos::GT_Format	equ	_ROM_CALL_214
+doorsos::GT_FreeTrace	equ	_ROM_CALL_215
+doorsos::GT_IncXY	equ	_ROM_CALL_216
+doorsos::GT_KeyIn	equ	_ROM_CALL_217
+doorsos::GT_Open	equ	_ROM_CALL_21B
+doorsos::GT_PrintCursor	equ	_ROM_CALL_229
+doorsos::GT_QFloatCursorsInRange	equ	_ROM_CALL_218
+doorsos::GT_Regraph	equ	_ROM_CALL_219
+doorsos::GT_Regraph_if_neccy	equ	_ROM_CALL_21A
+doorsos::GT_SaveAs	equ	_ROM_CALL_21C
+doorsos::GT_SelFunc	equ	_ROM_CALL_21D
+doorsos::GT_Set_Graph_Format	equ	_ROM_CALL_228
+doorsos::GT_SetCursorXY	equ	_ROM_CALL_21F
+doorsos::GT_SetGraphRange	equ	_ROM_CALL_21E
+doorsos::GT_ShowMarkers	equ	_ROM_CALL_220
+doorsos::GT_Trace	equ	_ROM_CALL_221
+doorsos::GT_ValidGraphRanges	equ	_ROM_CALL_222
+doorsos::GT_WinBound	equ	_ROM_CALL_223
+doorsos::GT_WinCursor	equ	_ROM_CALL_224
+doorsos::GXcoord	equ	_ROM_CALL_226
+doorsos::GYcoord	equ	_ROM_CALL_225
+doorsos::GZ_Box	equ	_ROM_CALL_22B
+doorsos::GZ_Center	equ	_ROM_CALL_22C
+doorsos::GZ_Decimal	equ	_ROM_CALL_22D
+doorsos::GZ_Fit	equ	_ROM_CALL_22E
+doorsos::GZ_InOut	equ	_ROM_CALL_22F
+doorsos::GZ_Integer	equ	_ROM_CALL_230
+doorsos::GZ_Previous	equ	_ROM_CALL_231
+doorsos::GZ_Recall	equ	_ROM_CALL_232
+doorsos::GZ_SetFactors	equ	_ROM_CALL_233
+doorsos::GZ_Square	equ	_ROM_CALL_234
+doorsos::GZ_Standard	equ	_ROM_CALL_235
+doorsos::GZ_Stat	equ	_ROM_CALL_236
+doorsos::GZ_Store	equ	_ROM_CALL_237
+doorsos::GZ_Trig	equ	_ROM_CALL_238
+doorsos::has_different_variable	equ	_ROM_CALL_5A0
+doorsos::has_unit_base	equ	_ROM_CALL_3AF
+doorsos::hStrAppend	equ	_ROM_CALL_45F
+doorsos::index_after_match_endtag	equ	_ROM_CALL_2B1
+doorsos::index_if_pushed_binomial_info	equ	_ROM_CALL_5A1
+doorsos::index_if_pushed_qquad_info	equ	_ROM_CALL_5A2
+doorsos::index_reductum_with_tag_base	equ	_ROM_CALL_59F
+doorsos::index_rmng_factor	equ	_ROM_CALL_565
+doorsos::index_rmng_fctrs_start_base	equ	_ROM_CALL_564
+doorsos::index_rmng_fctrs_start_base_tag	equ	_ROM_CALL_563
+doorsos::index_rmng_fctrs_start_fctr_tag	equ	_ROM_CALL_562
+doorsos::init_list_indices	equ	_ROM_CALL_2BA
+doorsos::init_matrix_indices	equ	_ROM_CALL_2BB
+doorsos::init_unit_system	equ	_ROM_CALL_3B0
+doorsos::InitDEAxesRng	equ	_ROM_CALL_1E9
+doorsos::InitDEMem	equ	_ROM_CALL_1EA
+doorsos::InitTimeSeq	equ	_ROM_CALL_1D9
+doorsos::integer_non_unknown	equ	_ROM_CALL_50C
+doorsos::is_cFloat_agg	equ	_ROM_CALL_465
+doorsos::is_complex_Float	equ	_ROM_CALL_48B
+doorsos::is_constant	equ	_ROM_CALL_593
+doorsos::is_equivalent_to	equ	_ROM_CALL_578
+doorsos::is_executable	equ	_ROM_CALL_25A
+doorsos::is_minus1	equ	_ROM_CALL_508
+doorsos::is_neg_lead_numr_coef_re_part	equ	_ROM_CALL_56D
+doorsos::is_negative	equ	_ROM_CALL_575
+doorsos::is_never0	equ	_ROM_CALL_577
+doorsos::is_nonnegative	equ	_ROM_CALL_574
+doorsos::is_nonpositive	equ	_ROM_CALL_576
+doorsos::is_pathname	equ	_ROM_CALL_3C6
+doorsos::is_polynomial_in_var_or_kern	equ	_ROM_CALL_56B
+doorsos::is_pos_int_and_eq_quantum	equ	_ROM_CALL_509
+doorsos::is_positive	equ	_ROM_CALL_573
+doorsos::is_reciprocal_of_quantum	equ	_ROM_CALL_50A
+doorsos::is_term_improper	equ	_ROM_CALL_556
+doorsos::is_totally_polynomial	equ	_ROM_CALL_56C
+doorsos::is_units_term	equ	_ROM_CALL_3B1
+doorsos::is_variable	equ	_ROM_CALL_488
+doorsos::is_whole_number	equ	_ROM_CALL_50B
+doorsos::is0	equ	_ROM_CALL_269
+doorsos::lead_conjunct_factor_index	equ	_ROM_CALL_580
+doorsos::lead_disjunct_term_index	equ	_ROM_CALL_57E
+doorsos::linear_degree	equ	_ROM_CALL_571
+doorsos::LIO_SendIdList	equ	_ROM_CALL_3D0
+doorsos::LoadSymFromFindHandle	equ	_ROM_CALL_281
+doorsos::LOC_formatDate	equ	_ROM_CALL_590
+doorsos::LOC_getLocalDateFormat	equ	_ROM_CALL_58F
+doorsos::LOC_localVersionDate	equ	_ROM_CALL_591
+doorsos::MO_option	equ	_ROM_CALL_447
+doorsos::negate_top	equ	_ROM_CALL_525
+doorsos::next_token	equ	_ROM_CALL_3C7
+doorsos::next_var_or_kernel_index	equ	_ROM_CALL_56E
+doorsos::NG_control	equ	_ROM_CALL_466
+doorsos::nonblank	equ	_ROM_CALL_3C8
+doorsos::OO_appGetPublicStorage	equ	_ROM_CALL_425
+doorsos::OO_appIsMarkedDelete	equ	_ROM_CALL_426
+doorsos::OO_appMarkDelete	equ	_ROM_CALL_427
+doorsos::OO_AppNameToACB	equ	_ROM_CALL_406
+doorsos::OO_appSetPublicStorage	equ	_ROM_CALL_429
+doorsos::OO_Deref	equ	_ROM_CALL_3FB
+doorsos::TIOS_ldiv	equ	_ROM_CALL_5BD
+doorsos::OO_CondGetAttr	equ	_ROM_CALL_3FA
+doorsos::OO_Destroy	equ	_ROM_CALL_423
+doorsos::OO_DestroyAll	equ	_ROM_CALL_4F5
+doorsos::OO_firstACB	equ	_ROM_CALL_451
+doorsos::OO_GetAppAttr	equ	_ROM_CALL_3FC
+doorsos::OO_GetAttr	equ	_ROM_CALL_3FD
+doorsos::OO_HasAttr	equ	_ROM_CALL_3FE
+doorsos::OO_InstallAppHook	equ	_ROM_CALL_490
+doorsos::OO_InstallAppHookByName	equ	_ROM_CALL_492
+doorsos::OO_InstallSystemHook	equ	_ROM_CALL_404
+doorsos::OO_New	equ	_ROM_CALL_3FF
+doorsos::OO_NextACB	equ	_ROM_CALL_402
+doorsos::OO_PrevACB	equ	_ROM_CALL_403
+doorsos::OO_SetAppAttr	equ	_ROM_CALL_400
+doorsos::OO_SetAttr	equ	_ROM_CALL_401
+doorsos::OO_SuperFrame	equ	_ROM_CALL_48F
+doorsos::OO_UninstallAppHook	equ	_ROM_CALL_491
+doorsos::OO_UninstallAppHookByName	equ	_ROM_CALL_493
+doorsos::OO_UninstallSystemHook	equ	_ROM_CALL_405
+doorsos::or_onto_top	equ	_ROM_CALL_57B
+doorsos::OSModKeyStatus	equ	_ROM_CALL_431
+doorsos::paint_all_except	equ	_ROM_CALL_11D
+doorsos::ParseSymName	equ	_ROM_CALL_78
+doorsos::PlotDel	equ	_ROM_CALL_203
+doorsos::PlotDup	equ	_ROM_CALL_207
+doorsos::PlotGet	equ	_ROM_CALL_205
+doorsos::PlotInit	equ	_ROM_CALL_206
+doorsos::PlotLookup	equ	_ROM_CALL_209
+doorsos::PlotPut	equ	_ROM_CALL_204
+doorsos::PlotSize	equ	_ROM_CALL_208
+doorsos::primary_tag_list	equ	_ROM_CALL_467
+doorsos::pSymPG	equ	_ROM_CALL_430
+doorsos::push_ans_entry	equ	_ROM_CALL_2B0
+doorsos::push_auto_units_conversion	equ	_ROM_CALL_3B2
+doorsos::push_but_conjunct_factor	equ	_ROM_CALL_582
+doorsos::push_but_factor	equ	_ROM_CALL_561
+doorsos::push_but_term	equ	_ROM_CALL_56A
+doorsos::push_constant_factors	equ	_ROM_CALL_55D
+doorsos::push_constant_terms	equ	_ROM_CALL_566
+doorsos::push_dependent_factors	equ	_ROM_CALL_55F
+doorsos::push_dependent_terms	equ	_ROM_CALL_568
+doorsos::push_div_dif_1c	equ	_ROM_CALL_58D
+doorsos::push_div_dif_1f	equ	_ROM_CALL_58C
+doorsos::push_float_qr_fact	equ	_ROM_CALL_2BC
+doorsos::push_format	equ	_ROM_CALL_315
+doorsos::push_independent_factors	equ	_ROM_CALL_560
+doorsos::push_independent_terms	equ	_ROM_CALL_569
+doorsos::TIOS_abs	equ	_ROM_CALL_5BA
+doorsos::push_long_to_integer	equ	_ROM_CALL_4E3
+doorsos::push_lu_fact	equ	_ROM_CALL_2BD
+doorsos::push_make_proper	equ	_ROM_CALL_557
+doorsos::push_minus_recip_of_quantum	equ	_ROM_CALL_510
+doorsos::push_negate_quantum_as_negint	equ	_ROM_CALL_4F1
+doorsos::push_nonconstant_factors	equ	_ROM_CALL_55E
+doorsos::push_nonconstant_terms	equ	_ROM_CALL_567
+doorsos::push_nonnumeric_factors	equ	_ROM_CALL_55C
+doorsos::push_parse_prgm_or_func_text	equ	_ROM_CALL_3C9
+doorsos::push_pi	equ	_ROM_CALL_512
+doorsos::push_pi_on_quantum	equ	_ROM_CALL_513
+doorsos::push_poly_deg_in_var_or_kernel	equ	_ROM_CALL_570
+doorsos::push_poly_qr	equ	_ROM_CALL_59D
+doorsos::push_quantum_as_nonnegative_int	equ	_ROM_CALL_50E
+doorsos::push_quantum_pair_as_pos_frac	equ	_ROM_CALL_511
+doorsos::push_reciprocal	equ	_ROM_CALL_597
+doorsos::push_reciprocal_of_quantum	equ	_ROM_CALL_50F
+doorsos::push_simplify	equ	_ROM_CALL_44E
+doorsos::push_simplify_statements	equ	_ROM_CALL_44F
+doorsos::push_sq_matrix_to_whole_number	equ	_ROM_CALL_3C0
+doorsos::push_standardize	equ	_ROM_CALL_558
+doorsos::push_symbolic_qr_fact	equ	_ROM_CALL_2BE
+doorsos::push_trig	equ	_ROM_CALL_535
+doorsos::push_ulong_to_integer	equ	_ROM_CALL_4E4
+doorsos::push_unit_system_list	equ	_ROM_CALL_3B3
+doorsos::push_ushort_to_integer	equ	_ROM_CALL_4E5
+doorsos::push_var	equ	_ROM_CALL_3CB
+doorsos::push_var_kern_tail	equ	_ROM_CALL_56F
+doorsos::push_zero_partial_column	equ	_ROM_CALL_3C2
+doorsos::push0	equ	_ROM_CALL_4E7
+doorsos::push1	equ	_ROM_CALL_4E8
+doorsos::QActivePlots	equ	_ROM_CALL_20A
+doorsos::QPlotActive	equ	_ROM_CALL_20B
+doorsos::QSkipGraphErr	equ	_ROM_CALL_1E7
+doorsos::QstatRcl	equ	_ROM_CALL_40B
+doorsos::raise_to_top	equ	_ROM_CALL_529
+doorsos::ReallocExprStruct	equ	_ROM_CALL_14D
+doorsos::recall_data_var	equ	_ROM_CALL_112
+doorsos::Regraph	equ	_ROM_CALL_1B6
+doorsos::remaining_conjuncts_index	equ	_ROM_CALL_581
+doorsos::remaining_disjuncts_index	equ	_ROM_CALL_57F
+doorsos::replace_top_with_reciprocal	equ	_ROM_CALL_52D
+doorsos::replace_top2_with_and	equ	_ROM_CALL_57A
+doorsos::replace_top2_with_difference	equ	_ROM_CALL_51C
+doorsos::replace_top2_with_imre	equ	_ROM_CALL_559
+doorsos::replace_top2_with_or	equ	_ROM_CALL_57C
+doorsos::replace_top2_with_pow	equ	_ROM_CALL_52A
+doorsos::replace_top2_with_prod	equ	_ROM_CALL_523
+doorsos::replace_top2_with_ratio	equ	_ROM_CALL_528
+doorsos::replace_top2_with_sum	equ	_ROM_CALL_519
+doorsos::rngLen	equ	_ROM_CALL_1DF
+doorsos::run_one_seq	equ	_ROM_CALL_1DB
+doorsos::ScrRectDivide	equ	_ROM_CALL_28
+doorsos::SearchExprStruct	equ	_ROM_CALL_14E
+doorsos::seqStepCk	equ	_ROM_CALL_1DE
+doorsos::seqWebInit	equ	_ROM_CALL_1DA
+doorsos::SetGraphMode	equ	_ROM_CALL_1B5
+doorsos::setup_more_graph_fun	equ	_ROM_CALL_1CE
+doorsos::setup_unit_system	equ	_ROM_CALL_3B4
+doorsos::sf_width	equ	_ROM_CALL_4D3
+doorsos::SP_Define	equ	_ROM_CALL_110
+doorsos::spike_chk_gr_dirty	equ	_ROM_CALL_11A
+doorsos::spike_geo_titles	equ	_ROM_CALL_115
+doorsos::spike_in_editor	equ	_ROM_CALL_116
+doorsos::spike_optionD	equ	_ROM_CALL_114
+doorsos::spike_titles_in_editor	equ	_ROM_CALL_118
+doorsos::statEnd	equ	_ROM_CALL_409
+doorsos::statFree	equ	_ROM_CALL_40A
+doorsos::statStart	equ	_ROM_CALL_408
+doorsos::StepCk	equ	_ROM_CALL_1DD
+doorsos::store_data_var	equ	_ROM_CALL_111
+doorsos::store_func_def	equ	_ROM_CALL_2B4
+doorsos::store_to_subscripted_element	equ	_ROM_CALL_2B5
+doorsos::FClose	equ	_ROM_CALL_3D5
+doorsos::subtract_from_top	equ	_ROM_CALL_51B
+doorsos::subtract1_from_top	equ	_ROM_CALL_51E
+doorsos::time_loop	equ	_ROM_CALL_1D8
+doorsos::times_top	equ	_ROM_CALL_522
+doorsos::tokenize_if_TI_92_or_text	equ	_ROM_CALL_265
+doorsos::TokenizeName	equ	_ROM_CALL_3E9
+doorsos::FFindFirst	equ	_ROM_CALL_3D9
+doorsos::unlock_more_graph_fun	equ	_ROM_CALL_1CF
+doorsos::ValidateStore	equ	_ROM_CALL_8D
+doorsos::VarGraphRefBitsClear	equ	_ROM_CALL_268
+doorsos::VarOptList	equ	_ROM_CALL_444
+doorsos::VarSaveTitle	equ	_ROM_CALL_290
+doorsos::VarStoreLink	equ	_ROM_CALL_87
+doorsos::WinBeginPaint	equ	_ROM_CALL_500
+doorsos::WinBitmapSizeExt	equ	_ROM_CALL_411
+doorsos::WinEndPaint	equ	_ROM_CALL_501
+doorsos::WinLineExt	equ	_ROM_CALL_47C
+doorsos::WinRemove	equ	_ROM_CALL_414
+doorsos::XCvtFtoP	equ	_ROM_CALL_1BD
+doorsos::XCvtPtoF	equ	_ROM_CALL_1BA
+doorsos::YCvtFtoP	equ	_ROM_CALL_1BC
+doorsos::YCvtFtoWin	equ	_ROM_CALL_1B3
+doorsos::YCvtPtoF	equ	_ROM_CALL_1BB
+doorsos::did_map_aggregate_arg	equ	_ROM_CALL_5B8
+doorsos::did_push_approx_inflection_point	equ	_ROM_CALL_5B0
+doorsos::errno	equ	_ROM_CALL_5D9
+doorsos::estack_max_index	equ	_ROM_CALL_5BF
+doorsos::EV_flags	equ	_ROM_CALL_5DF
+doorsos::Float0Index	equ	_ROM_CALL_5D0
+doorsos::Float1Index	equ	_ROM_CALL_5D1
+doorsos::FloatExp1Index	equ	_ROM_CALL_5D4
+doorsos::FloatHalfIndex	equ	_ROM_CALL_5E0
+doorsos::FloatMinus1Index	equ	_ROM_CALL_5D2
+doorsos::FloatPiIndex	equ	_ROM_CALL_5D3
+doorsos::IM_re_tol	equ	_ROM_CALL_5C1
+doorsos::index_false	equ	_ROM_CALL_5D6
+doorsos::index_true	equ	_ROM_CALL_5D5
+doorsos::Integer0Index	equ	_ROM_CALL_5CD
+doorsos::Integer1Index	equ	_ROM_CALL_5CE
+doorsos::Integer2Index	equ	_ROM_CALL_5E1
+doorsos::IntegerMinus1Index	equ	_ROM_CALL_5CF
+doorsos::is_real	equ	_ROM_CALL_5A9
+doorsos::is_undefined	equ	_ROM_CALL_5B7
+doorsos::NG_such_that_index	equ	_ROM_CALL_5D7
+doorsos::OSCheckLinkOpen	equ	_ROM_CALL_5E3
+doorsos::add_to_top	equ	_ROM_CALL_518
+doorsos::RM_Type	equ	_ROM_CALL_5DC
+doorsos::TIOS_labs	equ	_ROM_CALL_5BC
+doorsos::RAtionalize_tol	equ	_ROM_CALL_5C0
+doorsos::replace_top_with_post_simplified	equ	_ROM_CALL_5B6
+doorsos::WinStrXYWrap	equ	_ROM_CALL_5DB
+doorsos::TIOS_div	equ	_ROM_CALL_5BB
+doorsos::UpdateWindows	equ	_ROM_CALL_2B
+doorsos::push_user_func	equ	_ROM_CALL_2B3
+doorsos::is1	equ	_ROM_CALL_2FD
+doorsos::FGetSize	equ	_ROM_CALL_3DD
+doorsos::FRead	equ	_ROM_CALL_3E0
+doorsos::FSetBufSize	equ	_ROM_CALL_3E2
+doorsos::FSetSize	equ	_ROM_CALL_3E3
+doorsos::FType	equ	_ROM_CALL_3E6
+doorsos::GD_HVLine	equ	_ROM_CALL_178
+doorsos::GD_Circle	equ	_ROM_CALL_176
+doorsos::GD_Pen	equ	_ROM_CALL_179
+doorsos::GD_Eraser	equ	_ROM_CALL_17A
+doorsos::GD_Text	equ	_ROM_CALL_17B
+doorsos::GD_Select	equ	_ROM_CALL_17C
+doorsos::GD_Contour	equ	_ROM_CALL_17D
+doorsos::GD_Line	equ	_ROM_CALL_177
+doorsos::HomeAlone	equ	_ROM_CALL_506
+doorsos::HS_getAns	equ	_ROM_CALL_241
+doorsos::HomeExecute	equ	_ROM_CALL_10E
+doorsos::HomePushEStack	equ	_ROM_CALL_10F
+doorsos::HS_getEntry	equ	_ROM_CALL_242
+doorsos::HS_countFIFO	equ	_ROM_CALL_23D
+doorsos::HS_freeFIFONode	equ	_ROM_CALL_240
+doorsos::HS_deleteFIFONode	equ	_ROM_CALL_23E
+doorsos::HS_freeAll	equ	_ROM_CALL_23F
+doorsos::HS_chopFIFO	equ	_ROM_CALL_23C
+doorsos::HS_getFIFONode	equ	_ROM_CALL_243
+doorsos::HS_newFIFONode	equ	_ROM_CALL_245
+doorsos::HS_pushFIFONode	equ	_ROM_CALL_246
+doorsos::HS_popEStack	equ	_ROM_CALL_244
+doorsos::push_matrix_product	equ	_ROM_CALL_3C5
+doorsos::push_list_times	equ	_ROM_CALL_3BE
+doorsos::push_list_plus	equ	_ROM_CALL_3BD
+doorsos::push_pow	equ	_ROM_CALL_30F
+doorsos::push_and	equ	_ROM_CALL_5AB
+doorsos::push_arg_plus_1	equ	_ROM_CALL_51F
+doorsos::push_arg_minus_1	equ	_ROM_CALL_520
+doorsos::push_assignment	equ	_ROM_CALL_4DD
+doorsos::push_difference	equ	_ROM_CALL_51A
+doorsos::push_dot_div	equ	_ROM_CALL_4CD
+doorsos::push_dot_add	equ	_ROM_CALL_4A0
+doorsos::push_dot_exponentiate	equ	_ROM_CALL_596
+doorsos::push_dot_mult	equ	_ROM_CALL_4A1
+doorsos::push_dot_sub	equ	_ROM_CALL_4A2
+doorsos::push_equals	equ	_ROM_CALL_5A3
+doorsos::push_exponentiate	equ	_ROM_CALL_595
+doorsos::push_to_sphere	equ	_ROM_CALL_329
+doorsos::push_factorial	equ	_ROM_CALL_540
+doorsos::push_greater_than	equ	_ROM_CALL_5A5
+doorsos::push_greater_than_or_equals	equ	_ROM_CALL_5A7
+doorsos::push_indir_name	equ	_ROM_CALL_2B2
+doorsos::push_degrees	equ	_ROM_CALL_314
+doorsos::push_less_than	equ	_ROM_CALL_5A6
+doorsos::push_less_than_or_equals	equ	_ROM_CALL_5A8
+doorsos::push_negate	equ	_ROM_CALL_524
+doorsos::push_not	equ	_ROM_CALL_5AA
+doorsos::push_not_equals	equ	_ROM_CALL_5A4
+doorsos::push_or	equ	_ROM_CALL_5AC
+doorsos::push_percent	equ	_ROM_CALL_555
+doorsos::push_radians	equ	_ROM_CALL_4B3
+doorsos::push_product	equ	_ROM_CALL_521
+doorsos::push_ratio	equ	_ROM_CALL_526
+doorsos::push_sum	equ	_ROM_CALL_594
+doorsos::push_substitute_simplify	equ	_ROM_CALL_5B9
+doorsos::push_substitute_using_such_that	equ	_ROM_CALL_5BE
+doorsos::push_substitute_no_simplify	equ	_ROM_CALL_489
+doorsos::push_to_cylin	equ	_ROM_CALL_328
+doorsos::did_push_to_polar	equ	_ROM_CALL_313
+doorsos::push_square	equ	_ROM_CALL_52C
+doorsos::push_setgraph	equ	_ROM_CALL_322
+doorsos::push_getmode	equ	_ROM_CALL_318
+doorsos::push_rand	equ	_ROM_CALL_31F
+doorsos::push_getkey	equ	_ROM_CALL_316
+doorsos::push_setmode	equ	_ROM_CALL_323
+doorsos::push_settable	equ	_ROM_CALL_324
+doorsos::push_switch	equ	_ROM_CALL_327
+doorsos::push_acos	equ	_ROM_CALL_537
+doorsos::push_abs	equ	_ROM_CALL_543
+doorsos::push_acosh	equ	_ROM_CALL_53E
+doorsos::push_1st_derivative	equ	_ROM_CALL_5AE
+doorsos::push_approx	equ	_ROM_CALL_4F7
+doorsos::push_asinh	equ	_ROM_CALL_53D
+doorsos::push_asin	equ	_ROM_CALL_536
+doorsos::push_augment	equ	_ROM_CALL_496
+doorsos::push_atanh	equ	_ROM_CALL_53F
+doorsos::push_atan	equ	_ROM_CALL_538
+doorsos::push_char	equ	_ROM_CALL_497
+doorsos::push_ceiling	equ	_ROM_CALL_54B
+doorsos::push_coldim	equ	_ROM_CALL_498
+doorsos::push_colnorm	equ	_ROM_CALL_499
+doorsos::push_comdenom	equ	_ROM_CALL_59B
+doorsos::push_conj	equ	_ROM_CALL_547
+doorsos::push_cosh	equ	_ROM_CALL_53B
+doorsos::push_cos	equ	_ROM_CALL_533
+doorsos::push_cross_product	equ	_ROM_CALL_4CE
+doorsos::push_cumsum	equ	_ROM_CALL_49A
+doorsos::push_csolve	equ	_ROM_CALL_585
+doorsos::push_czeros	equ	_ROM_CALL_587
+doorsos::push_def_int	equ	_ROM_CALL_5B2
+doorsos::push_desolve	equ	_ROM_CALL_58B
+doorsos::push_determinant	equ	_ROM_CALL_49D
+doorsos::push_diag	equ	_ROM_CALL_49E
+doorsos::push_dimension	equ	_ROM_CALL_49F
+doorsos::push_dotproduct	equ	_ROM_CALL_4A3
+doorsos::push_eigvc	equ	_ROM_CALL_4CF
+doorsos::push_eigvl	equ	_ROM_CALL_4D0
+doorsos::push_exp	equ	_ROM_CALL_52E
+doorsos::push_expand	equ	_ROM_CALL_59A
+doorsos::push_factor	equ	_ROM_CALL_59C
+doorsos::push_floor	equ	_ROM_CALL_54A
+doorsos::push_fractional_part	equ	_ROM_CALL_54E
+doorsos::push_gcd_numbers	equ	_ROM_CALL_514
+doorsos::push_randnorm	equ	_ROM_CALL_4B5
+doorsos::push_getfold	equ	_ROM_CALL_317
+doorsos::push_gettype	equ	_ROM_CALL_319
+doorsos::push_identity_mat	equ	_ROM_CALL_4A4
+doorsos::push_im	equ	_ROM_CALL_546
+doorsos::push_re	equ	_ROM_CALL_545
+doorsos::push_comb	equ	_ROM_CALL_542
+doorsos::push_perm	equ	_ROM_CALL_541
+doorsos::push_part	equ	_ROM_CALL_31C
+doorsos::push_instring	equ	_ROM_CALL_31A
+doorsos::push_integer_remainder	equ	_ROM_CALL_550
+doorsos::push_integer_part	equ	_ROM_CALL_54D
+doorsos::push_integer_gcd	equ	_ROM_CALL_551
+doorsos::push_integer_lcm	equ	_ROM_CALL_552
+doorsos::push_integer_quotient	equ	_ROM_CALL_54F
+doorsos::push_is_prime	equ	_ROM_CALL_515
+doorsos::push_left	equ	_ROM_CALL_4A5
+doorsos::did_push_series	equ	_ROM_CALL_588
+doorsos::push_lim	equ	_ROM_CALL_5AD
+doorsos::push_ln	equ	_ROM_CALL_52F
+doorsos::push_list_to_mat	equ	_ROM_CALL_4A6
+doorsos::push_log10	equ	_ROM_CALL_530
+doorsos::push_mat_to_list	equ	_ROM_CALL_4A8
+doorsos::push_matnorm	equ	_ROM_CALL_4A7
+doorsos::push_max	equ	_ROM_CALL_58A
+doorsos::push_median	equ	_ROM_CALL_4AA
+doorsos::push_mean	equ	_ROM_CALL_4A9
+doorsos::push_mid	equ	_ROM_CALL_4AB
+doorsos::push_min	equ	_ROM_CALL_589
+doorsos::push_mod	equ	_ROM_CALL_54C
+doorsos::push_mrow	equ	_ROM_CALL_4AC
+doorsos::did_push_anti_deriv	equ	_ROM_CALL_5B1
+doorsos::push_mrowadd	equ	_ROM_CALL_4AD
+doorsos::push_newmat	equ	_ROM_CALL_4AF
+doorsos::push_newlist	equ	_ROM_CALL_4AE
+doorsos::push_nint	equ	_ROM_CALL_5B3
+doorsos::push_nsolve	equ	_ROM_CALL_583
+doorsos::push_nth_derivative	equ	_ROM_CALL_5AF
+doorsos::push_denominator	equ	_ROM_CALL_55B
+doorsos::push_numerator	equ	_ROM_CALL_55A
+doorsos::push_max2	equ	_ROM_CALL_599
+doorsos::push_max1	equ	_ROM_CALL_554
+doorsos::push_min1	equ	_ROM_CALL_553
+doorsos::push_min2	equ	_ROM_CALL_598
+doorsos::push_ord	equ	_ROM_CALL_4B0
+doorsos::push_r_cis	equ	_ROM_CALL_549
+doorsos::push_pttest	equ	_ROM_CALL_31D
+doorsos::push_pxltest	equ	_ROM_CALL_31E
+doorsos::push_when	equ	_ROM_CALL_57D
+doorsos::push_zeros	equ	_ROM_CALL_586
+doorsos::push_prodlist	equ	_ROM_CALL_4B2
+doorsos::push_randmat	equ	_ROM_CALL_4B4
+doorsos::push_randpoly	equ	_ROM_CALL_320
+doorsos::push_right	equ	_ROM_CALL_4B7
+doorsos::push_rotate	equ	_ROM_CALL_4B8
+doorsos::push_round	equ	_ROM_CALL_4B9
+doorsos::push_row_echelon	equ	_ROM_CALL_4BE
+doorsos::push_red_row_ech	equ	_ROM_CALL_4B6
+doorsos::push_rowdim	equ	_ROM_CALL_4BB
+doorsos::push_rowadd	equ	_ROM_CALL_4BA
+doorsos::push_rowswap	equ	_ROM_CALL_4BD
+doorsos::push_rownorm	equ	_ROM_CALL_4BC
+doorsos::push_sequence	equ	_ROM_CALL_4BF
+doorsos::push_setfold	equ	_ROM_CALL_321
+doorsos::push_shift	equ	_ROM_CALL_4C0
+doorsos::push_sign	equ	_ROM_CALL_544
+doorsos::push_sin2	equ	_ROM_CALL_531
+doorsos::push_sin	equ	_ROM_CALL_532
+doorsos::push_simult	equ	_ROM_CALL_4C1
+doorsos::push_sinh	equ	_ROM_CALL_53A
+doorsos::push_solve	equ	_ROM_CALL_584
+doorsos::push_sqrt	equ	_ROM_CALL_52B
+doorsos::push_string	equ	_ROM_CALL_326
+doorsos::push_stddev	equ	_ROM_CALL_4C3
+doorsos::push_submat	equ	_ROM_CALL_4C4
+doorsos::push_str_to_expr	equ	_ROM_CALL_325
+doorsos::push_sumlist	equ	_ROM_CALL_4C5
+doorsos::push_summation	equ	_ROM_CALL_5B4
+doorsos::push_extended_prod	equ	_ROM_CALL_5B5
+doorsos::push_tan	equ	_ROM_CALL_534
+doorsos::push_tanh	equ	_ROM_CALL_53C
+doorsos::push_unitv	equ	_ROM_CALL_4C8
+doorsos::push_variance	equ	_ROM_CALL_4C9
+doorsos::push_rec_to_angle	equ	_ROM_CALL_539
+doorsos::push_phase	equ	_ROM_CALL_548
+doorsos::NG_setup_graph_fun		equ	_ROM_CALL_261
+doorsos::NG_cleanup_graph_fun		equ _ROM_CALL_262
+doorsos::OSKeyScan		equ	_ROM_CALL_298
+
+doorsos::SymFindFoldername  equ _ROM_CALL_6F
+doorsos::MakeHsym  equ _ROM_CALL_282
+
+doorsos::_bcd_math  equ _ROM_CALL_B5
+doorsos::_ds16u16  equ _ROM_CALL_2A4
+doorsos::_ms16u16  equ _ROM_CALL_2A5
+doorsos::_du16u16  equ _ROM_CALL_2A6
+doorsos::_mu16u16  equ _ROM_CALL_2A7
+doorsos::_ds32s32  equ _ROM_CALL_2A8
+doorsos::_ms32s32  equ _ROM_CALL_2A9
+doorsos::_du32u32  equ _ROM_CALL_2AA
+doorsos::_mu32u32  equ _ROM_CALL_2AB
+
+doorsos::ScreenClear equ _ROM_CALL_19E
+doorsos::DrawStrXY equ _ROM_CALL_1A9
+doorsos::ArchiveErase equ _ROM_CALL_16A+$10
+doorsos::ArchiveWrite equ _ROM_CALL_171
+doorsos::bcdadd equ _ROM_CALL_B6
+doorsos::bcdcmp equ _ROM_CALL_BB
+doorsos::bcddiv equ _ROM_CALL_B9
+doorsos::bcdbcd equ _ROM_CALL_BD
+doorsos::bcdmul equ _ROM_CALL_B8
+doorsos::bcdneg equ _ROM_CALL_BA
+doorsos::bcdsub equ _ROM_CALL_B7
+doorsos::bcdlong equ _ROM_CALL_BC
+
+CALCULATOR		equ	_RAM_CALL_000
+HW_VERSION		equ	CALCULATOR+1
+LCD_WIDTH		equ	_RAM_CALL_001
+LCD_HEIGHT		equ	_RAM_CALL_002
+doorsos::ROM_base	equ	_RAM_CALL_003
+LCD_LINE_BYTES	equ	_RAM_CALL_004
+KEY_LEFT		equ	_RAM_CALL_005
+KEY_RIGHT		equ	_RAM_CALL_006
+KEY_UP			equ	_RAM_CALL_007
+KEY_DOWN		equ	_RAM_CALL_008
+KEY_UPRIGHT		equ	_RAM_CALL_009
+KEY_DOWNLEFT		equ	_RAM_CALL_00A
+KEY_DIAMOND		equ	_RAM_CALL_00B
+LCD_SIZE		equ	_RAM_CALL_00C
+KEY_SHIFT		equ	_RAM_CALL_00D
+doorsos::font_medium	equ	_RAM_CALL_00E
+ReturnValue		equ	_RAM_CALL_00F
+doorsos::kb_globals	equ	_RAM_CALL_010
+doorsos::Heap		equ	_RAM_CALL_011
+doorsos::FolderListHandle equ	_RAM_CALL_012
+doorsos::MainHandle	equ	_RAM_CALL_013
+ROM_VERSION		equ	_RAM_CALL_014
+
+doorsos::font_small	equ	doorsos::font_medium+$800
+doorsos::font_large	equ	doorsos::font_medium+$E00
+
+LCD_MEM equ $4c00
+doorsos::main_lcd equ LCD_MEM
+doorsos::globals equ $4c00
+doorsos::OSOnBreak	equ	doorsos::globals+$F02
+
+
+doorsos::MaxHandles	equ	doorsos::Heap-$16
+doorsos::TopHeap   	equ     doorsos::Heap-$C
+doorsos::FirstFreeByte	equ	doorsos::Heap-$14
+
+doorsos::kb_vars	equ 	doorsos::kb_globals
+
+KEY_PRESSED_FLAG	equ	doorsos::kb_globals+$1c
+GETKEY_CODE		equ	doorsos::kb_globals+$1e
+
+APD_INIT	equ	LCD_MEM+$F10
+APD_TIMER	equ	LCD_MEM+$F14
+APD_FLAG	equ	LCD_MEM+$F42
+
+doorsos::SYM_ENTRY.name equ 0
+doorsos::SYM_ENTRY.flags equ 8
+doorsos::SYM_ENTRY.hVal equ $c
+doorsos::NULL equ 0
+doorsos::H_NULL equ 0
+doorsos::RAND_MAX equ $7fff
+ACTIVITY_IDLE equ 0
+ACTIVITY_BUSY equ 1
+ACTIVITY_PAUSED equ 2
+doorsos::ER_STOP equ 2
+doorsos::ER_DIMENSION equ 230
+doorsos::ER_MEMORY equ 670
+doorsos::ER_MEMORY_DML equ 810
+doorsos::UNDEFINED_TAG equ $2a
+doorsos::LIST_TAG equ $d9
+doorsos::MATRIX_TAG equ $db
+doorsos::END_TAG equ $e5
+CALC_TI89 equ 0
+CALC_TI92PLUS equ 1
+
+ROM_CALL macro
+ move.l ($C8),a4
+ add.l #\1*4,a4
+ move.l (a4),a4
+ jsr (a4)
+ endm
+
+EXTRA_RAM_TABLE macro
+_extraram:
+    xdef _extraram
+    endm
+
+EXTRA_RAM_ADDR macro
+    dc.w \3
+    dc.w \4
+\2 equ _extraramaddr@\1
+    endm
+
+doorsos::DEREF     macro   ; Dn,An
+	lsl.w	#2,\1
+        move.l  doorsos::Heap,\2
+	move.l	0(\2,\1.w),\2
+		endm
+
+SetFont	macro
+	move.w	\1,-(a7)
+	jsr	doorsos::FontSetSys
+	addq.l	#2,a7
+		endm
+
+WriteStr	macro	;x,y,col,str
+	move.w	\3,-(a7)
+	pea	\4(pc)
+	move.w	\2,-(a7)
+	move.w	\1,-(a7)
+	jsr	doorsos::DrawStrXY
+	lea	10(a7),a7
+                endm
+
+WriteStrA	macro	;x,y,col,An
+	move.w	\3,-(a7)
+	move.l	\4,-(a7)
+	move.w	\2,-(a7)
+	move.w	\1,-(a7)
+	jsr	doorsos::DrawStrXY
+	lea	10(a7),a7
+                endm
+
+GetKeyStat	MACRO
+		move.w		#$FFFE,d0
+		move.b		\1,d1
+		rol.w 		d1,d0
+		move.w		d0,($600018)
+		nop
+		nop
+		nop
+		nop
+		move.b		($60001B),d0
+		ENDM
+
+DEREF macro
+ doorsos::DEREF \1,\2
+ endm
+
+handle_ptr macro
+ DEREF \1,\2
+ endm
+
+doorsos::DEREF_SYM macro
+ move.l \1,-(sp)
+ jsr doorsos::DerefSym
+ add.l #4,sp
+ endm
+
+
+doorsos::ER_throw macro
+ dc.w $A000+\1
+ endm
+
+inc	MACRO
+	addq.\0	#1,\1
+	ENDM
+INC	MACRO
+	addq.\0	#1,\1
+	ENDM
+dec	MACRO
+	subq.\0	#1,\1
+	ENDM
+DEC	MACRO
+	subq.\0	#1,\1
+	ENDM
+
+
+push	MACRO
+	move.\0	\1,-(a7)
+	ENDM
+
+pop	MACRO
+	move.\0	(a7)+,\1
+	ENDM
+pushm	MACRO
+	movem.\0	\1,-(a7)
+	ENDM
+
+popm	MACRO
+	movem.\0	(a7)+,\1
+	ENDM
+
+PUSH	MACRO
+	move.\0	\1,-(a7)
+	ENDM
+
+POP	MACRO
+	move.\0	(a7)+,\1
+	ENDM
+PUSHM	MACRO
+	movem.\0	\1,-(a7)
+	ENDM
+
+POPM	MACRO
+	movem.\0	(a7)+,\1
+	ENDM
+
+
+_library
+_ti89
+_ti92plus

+ 304 - 0
tigcc/include/ASM/filelib.h

@@ -0,0 +1,304 @@
+;-------------------------------------------------------------
+;  Filelib: file/folder operations functions
+;		by the Doors Team
+;	xvassor@mail.dotcom.fr   or	deucalion@mail.dotcom.fr
+;		http://start.at/doors
+;-------------------------------------------------------------
+
+;Before using this library, it would be better if you read some doc
+;about the TI89/TI92+ VAT (Variable Allocation Table).
+;You can probably find docs at TiCalc.org
+;	http://www.ticalc.org
+
+;NOTE: If you want to use these functions on a folder
+; you have to do: "moveq.w #doorsos::FolderListHandle,d0"
+;NOTE2: the index of a file(or a folder) is its place in the 
+;file(or folder) list.
+;for example if you have the following file list:
+
+;	filelib
+;	graphlib
+;	shell
+;	userlib
+
+;Then the index of filelib is 0, the index of graphlib is 1...
+
+;When d2=result is output it has the following values:
+;		0 -> error
+;		1 -> OK
+
+filelib::sortlist 	equ	filelib@0000
+;--------------------------------------------------------------
+;sortlist(list handle)
+;
+;   Sorts file/folder list d0 in alphabetical order
+;
+;Input:	d0.w = file/folder list handle
+;
+;Output: nothing
+;
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+filelib::delete		equ	filelib@0001
+;--------------------------------------------------------------
+;delete(folder,file/folder)
+;
+;    Deletes the file/folder d1 in folder d0
+;
+;Input: d0.w = folder handle
+;	d1.w = file/folder index
+;
+;Output: d2.w	= result
+:	
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+filelib::copy		equ	filelib@0002
+;--------------------------------------------------------------
+;copy(folder,file,newfolder)
+;
+;   Copies the file d1 in folder d0 to folder d2
+;
+;Input:d0.w = source folder handle
+;	d1.w = file index
+;	d2.w = dest folder handle
+;
+;Output: d2.w	= result
+;	NO OTHER REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+filelib::move		equ	filelib@0003
+;--------------------------------------------------------------
+;move(folder,file,newfolder)
+;
+;   Moves the file d1 in folder d0 to folder d2
+;
+;Input:d0.w = source folder handle
+;	d1.w = file index
+;	d2.w = dest folder handle
+;
+;Output:d2.w = result
+;	NO REGISTERS DESTROYED
+;
+;--------------------------------------------------------------
+
+filelib::rename		equ	filelib@0004
+;--------------------------------------------------------------
+;rename(folder,file/folder,newname)
+;
+;    Renames the file/folder d1 in folder d0 with new name a0
+;
+;Input: d0.w = folder handle
+;	d1.w = file/folder index
+;	a0.l = adress of the new name
+;
+;Output: d2.w = result
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+filelib::createfolder	equ	filelib@0005
+;--------------------------------------------------------------
+;createfolder(name)
+;
+;	Creates a new folder
+;
+;Input: a0.l = name of the folder
+;
+;Output: d2.w	= result
+;
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+filelib::protect	equ	filelib@0006
+;-------------------------------------------------------------
+;protect(folder,file/folder)
+;
+;   Protects the file/folder d1 in folder d0 so that this file
+; is unreacheable in TI OS and quite invisible in ASM programs
+;   You can access it again only with the Doors shell
+;
+;Input: d0.w = folder handle
+;	d1.w = file/folder index
+;
+;Output: d2.w = result
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+filelib::hide		equ	filelib@0007
+;--------------------------------------------------------------
+;hide(folder,file/folder)
+;
+;	used on a file, this function makes it disappear from TIOS
+;	used on a folder, this function hides it in the Var-Link
+;   But the file is always appears in ASM programs
+;Input:	d0.w = folder handle
+;		d1.w = file/folder index
+;
+;Output: nothing
+;--------------------------------------------------------------
+
+filelib::unhide		equ	filelib@0008
+;--------------------------------------------------------------
+;unhide(folder,file/folder)
+;
+;	Cancelles the effects of hide
+;
+;Input:	d0.w = folder handle
+;		d1.w = file/folder index
+;
+;Output: nothing
+;--------------------------------------------------------------
+
+filelib::hdltoindex	equ	filelib@0009
+;--------------------------------------------------------------
+;hdltoindex(file/folder handle)
+;
+;   Returns the index of the file given its handle
+;   It searches in all folders.
+;   This function is very useful if you want to use filelib and you only 
+;   possess the handle of a file
+;
+;Input:d2.w =file/folder handle to search
+;
+;Output: d1.w = file index
+;	d0.w = folder handle (=0 -> the handle wasn't found)
+;	NO OTHER REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+filelib::gettype	equ	filelib@000A
+;--------------------------------------------------------------
+;gettype(folder,file)
+;
+;	returns the type of the file d1 in folder d0
+;
+;Input: d0.w = folder handle
+;	d1.w = file index
+;
+;Output: d2.w = type of the file
+;
+;The values for d2 are:
+;
+;ASM	->0
+;LIB	->1
+;PROG	->2
+;FUNC	->3
+;MAT	->4
+;LIST	->5
+;MACR	->6
+;TEXT	->7
+;STR	->8
+;DATA	->9
+;FIG	->10
+;PIC	->11
+;GDB	->12
+;EXPR	->13
+;OTHER	->14
+;
+;	NO OTHER REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+filelib::search		equ	filelib@000B
+;--------------------------------------------------------------
+;search(file)
+;
+;looks in all folders if the file exists, and then returns its VAT entry adress in a0
+;
+;Input: a0.l: pointer to the name of the file
+;	d1.w : filelib::search will run d1 searches before returning, so that if different 
+;	folders have the same file name, not only the first file will be found
+;
+;Output: a0.l: adress of the VAT entry of the file
+;	d0.w:	handle of the folder of the file
+;--------------------------------------------------------------
+
+filelib::createfile		equ	filelib@000C
+;--------------------------------------------------------------
+;createfile(name,folder)
+;
+;	Creates a new file (0 bytes long)
+;
+;Input: a0.l = name of the file
+;	d0.w  = folder handle
+;
+;Output: a0.l = VAT entry adress of the file
+;
+;	if d2.w = 0, the file was succesfully created, else:
+;	1	-> Not enough memory
+;	2	-> File already exists
+;	3	-> Invalid name of the file
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+filelib::resizefile		equ	filelib@000D
+;--------------------------------------------------------------
+;resizefile(VAT Entry adress, size)
+;
+;	Resizes a file
+;
+;Input: a0.l = VAT entry adress of the file (you get it with userlib::FindSymEntry or filelib::search)
+;	 d0.w = new size of the file
+;
+;Output: d0.w = size of the file
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+filelib::readfile		equ	filelib@000E
+;--------------------------------------------------------------
+;readfile(VAT entry adress, size, position, buffer)
+;
+;	Reads a file
+;
+;Input: a0.l = VAT entry adress of the file (you get it with userlib::FindSymEntry or filelib::search)
+;	 d0.w = nb of bytes to read (>0)
+;	 d1.w = position of the first byte of the file to read
+;	 a1.l = pointer to the buffer where to place all read bytes
+;
+;Output: d0.w = nb of bytes correctly read
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+filelib::writefile		equ	filelib@000F
+;--------------------------------------------------------------
+;writefile(VAT entry adress, size, position, buffer)
+;
+;	Writes to a file, automatically tries to enlarge the file needed
+;
+;Input: a0.l = VAT entry adress of the file (you get it with userlib::FindSymEntry or filelib::search)
+;	 d0.w = nb of bytes to write (>0)
+;	 d1.w = position of the first byte of the file to write
+;	 a1.l = pointer to the buffer containing the bytes to write
+;
+;Output: d0.w = nb of bytes correctly written
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+filelib::archive		equ	filelib@0010
+;--------------------------------------------------------------
+;archive(folder,file)
+;
+;	Archives the file
+;
+;Input: d0.w = handle of the folder containing the file
+;	 d1.w = index of the file
+;
+;Output:
+;	d2.w = result
+;--------------------------------------------------------------
+
+filelib::unarchive		equ	filelib@0011
+;--------------------------------------------------------------
+;archive(folder,file)
+;
+;	Unarchives the file
+;
+;Input: d0.w = hanle of the folder containing the file
+;	 d1.w = index of the file
+;
+;Output:
+;	d2.w = result
+;--------------------------------------------------------------
+
+filelib::FindSymEntry	equ	filelib@0012
+filelib::topath		equ	filelib@0013
+filelib::sendvar		equ	filelib@0014

+ 380 - 0
tigcc/include/ASM/graphlib.h

@@ -0,0 +1,380 @@
+;-------------------------------------------------------------
+;    Graphlib: graphical functions
+;		by the Doors Team
+;	xvassor@mail.dotcom.fr   or	deucalion@mail.dotcom.fr
+;		http://start.at/doors
+;-------------------------------------------------------------
+
+graphlib::fill	equ	graphlib@0000
+;--------------------------------------------------------------
+;fill(x,y,width,height,color)
+;
+;   Fills the rectangle delimited by x, y, width and lenght with 
+;  the specified color
+;
+;Input:	d0.w = x
+;	d1.w = y
+;	d2.w = width
+;	d3.w = height
+;	d4.w = color:	0 -> Video Invert
+;			1 -> White
+;			2 -> Black
+;
+;Output: nothing
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+
+graphlib::put_sprite	equ	graphlib@0001
+;--------------------------------------------------------------
+;put_sprite(x,y,sprite)
+;
+;   Puts the sprite pointed to by a0 on the screen 
+;  at (d0,d1)
+;
+;Input:	d0.w = x
+;	d1.w = y
+;	a0.l = adress of the sprite & the mask
+;
+;	Sprite format is:
+; sprite:	dc.w	5 	;-> height of the sprite
+;		dc.w	1	;width in bytes
+;		dc.b	%11111000
+;		dc.b	%01110000
+;		dc.b	%00100000
+;		dc.b	%01110000
+;		dc.b	%11111000
+;
+; mask:		dc.b	%11111000
+;		dc.b	%11111000
+;		dc.b	%11111000
+;		dc.b	%11111000
+;		dc.b	%11111000
+;
+;Output: nothing
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+graphlib::put_sprite2		equ	graphlib@000C
+;--------------------------------------------------------------
+;put_sprite(x,y,sprite,maskadress)
+;
+;   Puts the sprite pointed to by a0 on the screen 
+;  at (d0,d1). The adress of the mask is a2
+;
+;Input:	d0.w = x
+;	d1.w = y
+;	a0.l = adress of the sprite
+;	a2.l = adress of the mask
+;	Sprite format is:
+; sprite:	dc.w	5 	;-> height of the sprite
+;		dc.w	1	;width in bytes
+;		dc.b	%11111000
+;		dc.b	%01110000
+;		dc.b	%00100000
+;		dc.b	%01110000
+;		dc.b	%11111000
+;
+;	(...)
+;
+; mask:		dc.b	%11111000
+;		dc.b	%11111000
+;		dc.b	%11111000
+;		dc.b	%11111000
+;		dc.b	%11111000
+;
+;
+;Output: nothing
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+graphlib::put_sprite_mask	equ	graphlib@000B
+;--------------------------------------------------------------
+;put_sprite_mask(x,y,mask,sprite)
+;
+;	Does the same as put_sprite, but you don't have to create
+;	a mask sprite after the sprite itself
+;	Instead, you have to define a 'constant mask'
+;	For example %00000000 as a constant mask will make all
+;	zeroes of you sprite being transparent
+;
+;Input:	d0.w = x
+;	d1.w = y
+;	d3.b = constant mask
+;	a0.l = adress of the sprite & the mask
+;
+;	Sprite format is:
+; sprite:	dc.w	5 	;-> height of the sprite
+;		dc.w	1	;width in bytes
+;		dc.b	%11111000
+;		dc.b	%01110000
+;		dc.b	%00100000
+;		dc.b	%01110000
+;		dc.b	%11111000
+;
+;Output: nothing
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+graphlib::smallbox	equ	graphlib@0002
+;--------------------------------------------------------------
+;smallbox(title)
+;
+;  Draws a box in the middle of the screen
+;
+;Input:	a0.l = title of the box
+;
+;Output: nothing
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+graphlib::box		equ	graphlib@0003
+;--------------------------------------------------------------
+;box(x,y,width,height)
+;
+;    Draws a box at (x,y)
+;Input: d0.w = x
+;	d1.w = y
+;	d2.w = width
+;	d3.w = height
+;	a0.l = title of the box
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+graphlib::frame 	equ	graphlib@0004
+;--------------------------------------------------------------
+;frame(x,y,width,height)
+;
+;  Draws a frame at (x,y)
+;
+;Input: d0.w = x
+;	d1.w = y
+;	d4.w = width
+;	d5.w = height
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+graphlib::clr_scr	equ	graphlib@0005
+;--------------------------------------------------------------
+;clr_scr(void)
+;
+;   clears the entire screen
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+graphlib::clr_scr2	equ	graphlib@0014	
+;--------------------------------------------------------------
+;clr_scr(void)
+;
+;   clears the screen except the status line
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+graphlib::vert  	equ	graphlib@0006
+;--------------------------------------------------------------
+;vert(x,y1,y2)
+;
+;   Draws a vertical line
+;
+;Input:	d0.w = x
+;	d1.w = y1
+;	d2.w = y2
+;
+;Output: nothing
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+graphlib::horiz 	equ	graphlib@0007
+;--------------------------------------------------------------
+;horiz(x1,y,x2,color)
+;
+;   Draws an horizontal line in the specified color
+;
+;Input:	d0.w = x1
+;	d1.w = y
+;	d2.w = x2
+;	d3.w = color  	0 -> Video Invert
+;			1 -> White
+;			2 -> Black
+;
+;Output: nothing
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+graphlib::bigbox	equ	graphlib@0008
+;--------------------------------------------------------------
+;bigbox(void)
+;
+;  Draws a big box in the middle of the screen
+;
+;Input:	a0.l = title of the box
+;
+;Output: nothing
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+graphlib::scrtomem	equ	graphlib@0009
+;--------------------------------------------------------------
+;scrtomem(x,y,lenght,width)
+;
+;This function copies a part of the screen to memory.
+;
+;Input:	d0.w = X of top left-hand corner in bytes(0<X<30)
+;	d1.w = Y of top left-hand corner (0<Y<128)
+;	d2.w = width in bytes (0<d2<30)  
+;	d3.w = height (0<d3<128)         
+;
+;Output: d4.w = handle to the memory containg the part of the screen.
+;	d4.w = 0 -> Not enough memory to save the screen
+;	NO REGISTERS DESTROYED
+;
+;NOTE:This function doesn't use real coordinates because it would take much more place
+;--------------------------------------------------------------
+
+graphlib::memtoscr	equ	graphlib@000A
+;--------------------------------------------------------------
+;memtoscr(x,y,lenght,width,handle)
+;
+;This function copies a handle in memory to screen.
+;
+;Input:	d0.w = X of top left-hand corner in bytes(0<X<30)
+;	d1.w = Y of top left-hand corner (0<Y<128)
+;	d2.w = width in bytes (0<d2<30) 
+;	d3.w = height (0<d3<128)	
+;	d4.w = handle previously created by memtoscr(containing the
+;					part of the screen to restore)
+;
+;Output:nothing
+;	NO REGISTERS DESTROYED
+;--------------------------------------------------------------
+
+;--------------------------------------------------------------
+; line()
+;
+; Function: Draws a line, _FAST_
+;
+; Input:    D0.W = X1
+;           D1.W = Y1
+;           D2.W = X2
+;           D3.W = Y2
+;           A0   = Address to top left corner (usually $4C00)
+;              
+;----------------------------------------------------------------------
+graphlib::line		equ	graphlib@0017
+
+graphlib::choosescreen	equ	graphlib@000D
+;--------------------------------------------------------------
+;	graphlib::choosescreen is a word sized variable.
+;
+;	If it is null, the adress of the screen for every graphlib
+;	 function will be LCD_MEM
+;	Else, the adress of the bitplane you want graphlib to use on
+;	 will be stored in a1
+;
+;	This allows you, for example, to use all graphlib functions
+;	 with grayscale !
+;--------------------------------------------------------------
+
+
+graphlib::show_dialog equ	graphlib@0015
+;----------------------------------------------------------------------------
+; show_dialog()
+;
+; Function: Displays a dialog box.
+;
+; input: A6=pointer to dialog struct
+; output: nothing
+;
+;Dialog struct:
+;0(a6).w : x1 (top-left)
+;2(a6).w : y1 (top-left)
+;4(a6).w : x2 (down-right)
+;6(a6).w : y2 (down-right)
+;8(a6).w : x of the string relative to x1
+;10(a6).w :y of the string relative to y1
+;12(a6).l : adress of the string
+;
+;example of dialog structure
+;
+;dial	dc.w	10,15,50,40,10,5
+;	dc.l	str
+;
+;str	dc.b	"HELLO !",0
+;----------------------------------------------------------------------------
+
+graphlib::clear_dialog equ	graphlib@0016
+;----------------------------------------------------------------------------
+; clear_dialog()
+;
+; Function: Erases the last dialog box drawn by show_dialog(). The area
+;           previously under the dialog will need to be redrawn.
+;
+; input:  nothing
+; output: nothing
+;----------------------------------------------------------------------------
+
+graphlib::erase_rect		equ	graphlib@0018
+;----------------------------------------------------------------------------
+; erase_rect(rect r)
+;
+; Function: Fills the rectangle {r} with solid white.
+;
+; Return: nothing
+;----------------------------------------------------------------------------
+
+graphlib::frame_rect		equ	graphlib@0019
+;----------------------------------------------------------------------------
+; frame_rect(rect r)
+;
+; Function: Draws the rectangle frame {r}.
+;
+; Return: nothing
+;----------------------------------------------------------------------------
+
+graphlib::gray2	equ	graphlib@000E
+;----------------------------------------------------------------------------
+; gray2(void)
+;
+; Function: Deactivate gray scale display
+;
+; Return: d0 = 0
+;----------------------------------------------------------------------------
+
+graphlib::gray4	equ	graphlib@000F
+;----------------------------------------------------------------------------
+; gray4(void)
+;
+; Function: Activate 4 shade gray scale display
+;
+; Return: D0.L = nonzero:success, zero=failure
+;----------------------------------------------------------------------------
+
+graphlib::gray7	equ	graphlib@0010
+;----------------------------------------------------------------------------
+; gray7(void)
+;
+; Function: Activate 7 shade gray scale display
+;
+; Return: D0.L = nonzero:success, zero=failure
+;----------------------------------------------------------------------------
+
+graphlib::plane0	equ	graphlib@0011
+;--------------------------------------------------------------
+;plane0 is the adress of the 1st bitplane (always = LCD_MEM)
+;--------------------------------------------------------------
+
+graphlib::plane1	equ	graphlib@0012
+;--------------------------------------------------------------
+;plane1 is the adress of the 2nd bitplane
+;--------------------------------------------------------------
+
+graphlib::plane2	equ	graphlib@0013
+;--------------------------------------------------------------
+;plane2 is the adress of the 3rd bitplane
+;--------------------------------------------------------------
+
+graphlib::getlength	equ	graphlib@001A
+; input:
+; a0 : pointer to a string
+; output:
+; d3.w = length of the string, in pixels, in the current font
+; d4.w = height of the string, in pixels, in the current font

+ 4 - 0
tigcc/include/ASM/gray4lib.h

@@ -0,0 +1,4 @@
+gray4lib::on equ gray4lib@0000
+gray4lib::off equ gray4lib@0001
+gray4lib::plane0 equ gray4lib@0002
+gray4lib::plane1 equ gray4lib@0003

+ 28 - 0
tigcc/include/ASM/gray7lib.h

@@ -0,0 +1,28 @@
+;----------------------------------------------------------------------------
+; on(void)
+;
+; Function: Activate 7 shade gray scale display
+;
+; Return: D0.L = nonzero:success, zero=failure
+;----------------------------------------------------------------------------
+gray7lib::on		equ	gray7lib@0000
+
+;----------------------------------------------------------------------------
+; off(void)
+;
+; Function: Deactivate gray scale display
+;
+; Return: nothing
+;
+;  D0-D7/A0-D6 destroyed
+;----------------------------------------------------------------------------
+gray7lib::off		equ	gray7lib@0001
+
+;----------------------------------------------------------------------------
+; plane0: long address of bitplane 0
+; plane1: long address of bitplane 1
+; plane2: long address of bitplane 2 (always = LCD_MEM)
+;----------------------------------------------------------------------------
+gray7lib::plane0	equ	gray7lib@0002
+gray7lib::plane1	equ	gray7lib@0003
+gray7lib::plane2	equ	gray7lib@0004

+ 37 - 0
tigcc/include/ASM/hexlib.h

@@ -0,0 +1,37 @@
+;----------------------------------------------------------------------------
+; put_char()
+;
+; Function: Prints a hex character
+;
+; input:  D0.L = character
+;         D1.L = row
+;         D2.L = column
+; output: nothing
+;----------------------------------------------------------------------------
+hexlib::put_char	equ	hexlib@0000
+
+;----------------------------------------------------------------------------
+; put_bin()
+;
+; Function: prints a binary long word
+;
+; input:  D0.L = long word
+;         D1.L = row
+;         D2.L = column
+;         D4.L = no. of digits - 1
+; output: nothing
+;----------------------------------------------------------------------------
+hexlib::put_bin		equ	hexlib@0001
+
+;----------------------------------------------------------------------------
+; put_hex()
+;
+; Function: prints a hexadecimal long word
+;
+; input:  D0.L = long word
+;         D1.L = row
+;         D2.L = column
+;         D4.L = no. of digits - 1
+; output: nothing
+;----------------------------------------------------------------------------
+hexlib::put_hex		equ	hexlib@0002

+ 61 - 0
tigcc/include/ASM/hufflib.h

@@ -0,0 +1,61 @@
+;----------------------------------------------------------------------------
+; extract()
+;
+; Function: Extracts data (huffman compression)
+;
+; Input:    A0   = Pointer to huffman compressed data
+;           A1   = Pointer to where the uncompressed data should be stored
+;           D3.W = File number to extract (not necessary if not multifile)
+;----------------------------------------------------------------------------
+hufflib::extract	equ	hufflib@0000
+
+;----------------------------------------------------------------------------
+; extract_string()
+;
+; Function: Extracts a string from huffman compressed data
+;
+; Input:    A0   = Pointer to huffman compressed data
+;           A1   = Pointer to where the string should be stored
+;           D3.W = File number to extract (not necessary if not multifile)
+;           D4.W = String number. First string = number 0
+;----------------------------------------------------------------------------
+hufflib::extract_string	equ	hufflib@0001
+
+;----------------------------------------------------------------------------
+; write_string()
+;
+; Function: Writes a compressed string with the current font. The string
+;           should not be longer than 80 characters.
+;
+; Input:    A0   = Pointer to huffman compressed data
+;           D0.W = x location
+;           D1.W = y location
+;           D3.W = File number to extract (not necessary if not multifile)
+;           D4.W = String number. First string = number 0
+;----------------------------------------------------------------------------
+hufflib::write_string	equ	hufflib@0002
+
+;----------------------------------------------------------------------------
+; write_string_inv()
+;
+; Function: Writes a compressed string with the current font (inverted color)
+;           The string should not be longer than 80 characters.
+;
+; Input:    A0   = Pointer to huffman compressed data
+;           D0.W = x location
+;           D1.W = y location
+;           D3.W = File number to extract (not necessary if not multifile)
+;           D4.W = String number. First string = number 0
+;----------------------------------------------------------------------------
+hufflib::write_string_inv	equ	hufflib@0003
+
+;----------------------------------------------------------------------------
+; check_mem()
+;
+; Function: Checks if there are enough memory (about 1100 bytes) free for
+;           uncompression
+;
+; Output:   D0.W = 0 if NOT enough memory
+;           D0.W = 1 if enough memory
+;----------------------------------------------------------------------------
+hufflib::check_mem	equ	hufflib@0004

+ 13 - 0
tigcc/include/ASM/linelib.h

@@ -0,0 +1,13 @@
+;----------------------------------------------------------------------------
+; fline()
+;
+; Function: Draws a line, _FAST_
+;
+; Input:    D0.W = X1
+;           D1.W = Y1
+;           D2.W = X2
+;           D3.W = Y2
+;           A0   = Address to top left corner (usually $4440)
+;              
+;----------------------------------------------------------------------------
+linelib::fline		equ	linelib@0000

+ 1482 - 0
tigcc/include/ASM/os.h

@@ -0,0 +1,1482 @@
+acos		equ	$F5
+acosh		equ	$288
+asin		equ	$F6
+asinh		equ	$287
+atan		equ	$F7
+atan2		equ	$F8
+atanh		equ	$289
+cacos		equ	$13A
+cacosh		equ	$13D
+casin		equ	$13B
+casinh		equ	$13E
+catan		equ	$13C
+catanh		equ	$13F
+ccos		equ	$140
+ccosh		equ	$143
+ceil		equ	$105
+cexp		equ	$149
+cln		equ	$147
+clog10		equ	$148
+cos		equ	$F9
+cosh		equ	$FC
+csin		equ	$141
+csinh		equ	$144
+csqrt		equ	$146
+ctan		equ	$142
+ctanh		equ	$145
+exp		equ	$FF
+fabs		equ	$106
+fadd		equ	$B6
+fcmp		equ	$BB
+fdiv		equ	$B9
+flt		equ	$BD
+float_class		equ	$2FA
+floor		equ	$107
+fmod		equ	$108
+fmul		equ	$B8
+fneg		equ	$BA
+fpisanint		equ	$172
+fpisodd		equ	$173
+frexp10		equ	$2FB
+fsub		equ	$B7
+is_float_infinity		equ	$2FF
+is_float_negative_zero		equ	$300
+is_float_positive_zero		equ	$301
+is_float_signed_infinity		equ	$302
+is_float_transfinite		equ	$303
+is_float_unsigned_inf_or_nan		equ	$304
+is_float_unsigned_zero		equ	$305
+is_inf		equ	$2FF
+is_nan		equ	$306
+is_nzero		equ	$300
+is_pzero		equ	$301
+is_sinf		equ	$302
+is_transfinite		equ	$303
+is_uinf_or_nan		equ	$304
+is_uzero		equ	$305
+itrig		equ	$28A
+log		equ	$100
+log10		equ	$101
+modf		equ	$102
+pow		equ	$103
+round12		equ	$174
+round12_err		equ	$227
+round14		equ	$175
+sin		equ	$FA
+sincos		equ	$286
+sinh		equ	$FD
+sqrt		equ	$104
+tan		equ	$FB
+tanh		equ	$FE
+trig		equ	$28B
+trunc		equ	$BC
+all_tail		equ	$3B5
+any_tail		equ	$3B6
+are_expressions_identical		equ	$2BF
+can_be_approxed		equ	$2F5
+check_estack_size		equ	$2C2
+compare_complex_magnitudes		equ	$2F6
+compare_expressions		equ	$2C0
+compare_Floats		equ	$2F7
+deleted_between		equ	$2C4
+deleted_expression		equ	$2C6
+delete_between		equ	$2C3
+delete_expression		equ	$2C5
+did_push_cnvrt_Float_to_integer		equ	$2F8
+display_statements		equ	$4E
+estack_number_to_Float		equ	$2F9
+estack_to_short		equ	$2C7
+estack_to_ushort		equ	$2C8
+factor_base_index		equ	$2C9
+factor_exponent_index		equ	$2CA
+gcd_exact_whole_Floats		equ	$2FC
+GetValue		equ	$2CB
+get_key_ptr		equ	$2B7
+HToESI		equ	$247
+im_index		equ	$2CC
+index_below_display_expression_aux		equ	$2B6
+index_main_var		equ	$2CF
+index_numeric_term		equ	$2CD
+index_of_lead_base_of_lead_term		equ	$2CE
+is_advanced_tag		equ	$2D0
+is_antisymmetric		equ	$2D1
+is_complex_number		equ	$2D2
+is_complex0		equ	$2D3
+is_Float_exact_whole_number		equ	$2FE
+is_free_of_tag		equ	$2D4
+is_independent_of		equ	$2D5
+is_independent_of_de_seq_vars		equ	$2D6
+is_independent_of_elements		equ	$2D8
+is_independent_of_tail		equ	$2D7
+is_matrix		equ	$3B7
+is_monomial		equ	$2D9
+is_monomial_in_kernel		equ	$2DA
+is_narrowly_independent_of		equ	$2DB
+is_square_matrix		equ	$3B8
+is_symmetric		equ	$2DC
+bottom_estack		equ	$432
+is_valid_smap_aggregate		equ	$3B9
+last_element_index		equ	$3BA
+lead_base_index		equ	$2DE
+lead_exponent_index		equ	$2DF
+lead_factor_index		equ	$2E0
+lead_term_index		equ	$2E1
+likely_approx_to_complex_number		equ	$307
+likely_approx_to_number		equ	$308
+main_gen_var_index		equ	$2E2
+map_tail		equ	$3BB
+map_tail_Int		equ	$3BC
+map_unary_over_comparison		equ	$2E3
+min_quantum		equ	$2E4
+moved_between_to_top		equ	$2E6
+move_between_to_top		equ	$2E5
+next_expression_index		equ	$10A
+NG_approxESI		equ	$25C
+NG_execute		equ	$25D
+NG_graphESI		equ	$25E
+NG_rationalESI		equ	$25F
+NG_RPNToText		equ	$25B
+NG_tokenize		equ	$260
+norm1_complex_Float		equ	$309
+numeric_factor_index		equ	$2E7
+Parms2D		equ	$4D
+Parse1DExpr		equ	$4F
+Parse2DExpr		equ	$4A
+Parse2DMultiExpr		equ	$4B
+Print2DExpr		equ	$4C
+push_ANSI_string		equ	$48A
+push_between		equ	$2E8
+push_cnvrt_integer_if_whole_nmb		equ	$30D
+push_END_TAG		equ	$263
+push_expr2_quantum		equ	$2EA
+push_expr_quantum		equ	$2E9
+push_Float		equ	$30A
+push_Float_to_nonneg_int		equ	$30B
+push_Float_to_rat		equ	$30C
+push_internal_simplify		equ	$4F8
+push_LIST_TAG		equ	$264
+ARb_real_count		equ	$5C2
+push_next_arb_int		equ	$2EB
+push_next_arb_real		equ	$2EC
+push_next_internal_var		equ	$2ED
+push_offset_array		equ	$3C4
+push_overflow_to_infinity		equ	$30E
+push_parse_text		equ	$3CA
+push_zstr		equ	$48A
+push_quantum		equ	$2EE
+push_quantum_pair		equ	$2EF
+push_reversed_tail		equ	$3BF
+push_round_Float		equ	$310
+reductum_index		equ	$2F0
+remaining_element_count		equ	$3C3
+remaining_factors_index		equ	$2F1
+reset_control_flags		equ	$2F4
+reset_estack_size		equ	$2F3
+re_index		equ	$2F2
+should_and_did_push_approx_arg2		equ	$311
+signum_Float		equ	$312
+top_estack		equ	$109
+is_tail_independent_of		equ	$2DD
+push_transpose_aux		equ	$3C1
+TokenizeSymName		equ	$80
+push_expression		equ	$44D
+ARb_int_count		equ	$5C3
+ABT_dialog		equ	$10D
+CAT_dialog		equ	$125
+EV_captureEvents		equ	$C6
+EV_centralDispatcher		equ	$156
+EV_clearPasteString		equ	$C7
+EV_defaultHandler		equ	$157
+EV_eventLoop		equ	$158
+EV_getc		equ	$C8
+EV_getSplitRect		equ	$C9
+EV_hook		equ	$2A3
+EV_notifySwitchGraph		equ	$CA
+EV_paintOneWindow		equ	$CB
+EV_paintWindows		equ	$CC
+EV_registerMenu		equ	$159
+EV_restorePainting		equ	$CD
+EV_sendEvent		equ	$CE
+EV_sendEventSide		equ	$CF
+EV_sendString		equ	$D0
+EV_setCmdCheck		equ	$D1
+EV_setCmdState		equ	$D2
+EV_setFKeyState		equ	$D3
+EV_startApp		equ	$D4
+EV_startSide		equ	$D5
+EV_startTask		equ	$D6
+EV_suspendPainting		equ	$D7
+EV_switch		equ	$D8
+MO_currentOptions		equ	$D9
+MO_defaults		equ	$DA
+MO_digestOptions		equ	$DB
+MO_isMultigraphTask		equ	$DC
+MO_modeDialog		equ	$DD
+MO_notifyModeChange		equ	$DE
+MO_sendQuit		equ	$DF
+handleVarLinkKey		equ	$129
+handleRclKey		equ	$14F
+AB_prodid		equ	$29D
+AB_prodname		equ	$29E
+AB_serno		equ	$29F
+CB_fetchTEXT		equ	$C2
+CB_replaceTEXT		equ	$C1
+CU_restore		equ	$C3
+CU_start		equ	$C4
+CU_stop		equ	$C5
+EX_patch		equ	$15A
+HelpKeys		equ	$181
+idle		equ	$29B
+NeedStack		equ	$A4
+off		equ	$29A
+OSCheckBreak		equ	$EC
+OSClearBreak		equ	$ED
+OSContrastDn		equ	$297
+OSContrastUp		equ	$296
+OSdequeue		equ	$3AA
+OSDisableBreak		equ	$EF
+OSEnableBreak		equ	$EE
+OSenqueue		equ	$3A9
+OSFreeTimer		equ	$F1
+OSqclear		equ	$3AD
+OSqhead		equ	$3AC
+OSqinquire		equ	$3AB
+OSRegisterTimer		equ	$F0
+OSReset		equ	$294
+OSSetSR		equ	$29C
+OSTimerCurVal		equ	$F2
+OSTimerExpired		equ	$F3
+OSTimerRestart		equ	$F4
+QModeKey		equ	$182
+QSysKey		equ	$183
+SumStoChkMem		equ	$295
+WordInList		equ	$184
+XR_stringPtr		equ	$293
+CU_cursorState		equ	$503
+FiftyMsecTick		equ	$4FC
+ReleaseVersion		equ	$440
+ReleaseDate		equ	$43F
+AB_getGateArrayVersion		equ	$15E
+EX_getBasecodeParmBlock		equ	$5DA
+ST_angle		equ	$E0
+ST_batt		equ	$E1
+ST_busy		equ	$E2
+ST_eraseHelp		equ	$E3
+ST_folder		equ	$E4
+ST_graph		equ	$E5
+ST_helpMsg		equ	$E6
+ST_modKey		equ	$E7
+ST_precision		equ	$E8
+ST_readOnly		equ	$E9
+ST_refDsp		equ	$EB
+ST_showHelp		equ	$E6
+ST_stack		equ	$EA
+ST_progressIncrement		equ	$4DA
+ST_progressBar		equ	$4D8
+ST_progressDismiss		equ	$4DB
+ST_progressUpdate		equ	$4D9
+AddSymToFolder		equ	$70
+DerefSym		equ	$79
+EM_moveSymFromExtMem		equ	$161
+EM_moveSymToExtMem		equ	$162
+EM_twinSymFromExtMem		equ	$166
+FindSymInFolder		equ	$71
+FolderAdd		equ	$64
+FolderAddTemp		equ	$73
+FolderClear		equ	$66
+FolderCount		equ	$6B
+FolderCur		equ	$65
+FolderCurTemp		equ	$72
+FolderDel		equ	$66
+FolderDelAllTemp		equ	$75
+FolderDelTemp		equ	$74
+FolderFind		equ	$67
+FolderGetCur		equ	$68
+FolderOp		equ	$69
+FolderRename		equ	$6A
+HSymDel		equ	$5F
+HSYMtoName		equ	$7A
+IsMainFolderStr		equ	$77
+MakeHSym		equ	$282
+SymAdd		equ	$5C
+SymAddMain		equ	$5D
+SymAddTwin		equ	$27F
+SymCmp		equ	$81
+SymCpy		equ	$82
+SymCpy0		equ	$83
+SymDel		equ	$5E
+SymDelTwin		equ	$280
+SymFind		equ	$60
+SymFindFirst		equ	$6C
+SymFindFolderName		equ	$6F
+SymFindHome		equ	$62
+SymFindMain		equ	$61
+SymFindNext		equ	$6D
+SymFindPrev		equ	$6E
+SymFindPtr		equ	$283
+SymMove		equ	$63
+TempFolderName		equ	$76
+TokToStrN		equ	$7C
+StrToTokN		equ	$7B
+ClearUserDef		equ	$7E
+CheckLinkLockFlag		equ	$7F
+VarRecall		equ	$85
+VarStore		equ	$86
+QSysProtected		equ	$88
+SetOK		equ	$456
+checkCurrent		equ	$121
+CheckReservedName		equ	$8B
+CheckSysFunc		equ	$89
+EX_stoBCD		equ	$C0
+ValidateSymName		equ	$84
+SymSysVar		equ	$8C
+ResetSymFlags		equ	$8E
+partial_len		equ	$11C
+GetDataType		equ	$435
+SmapTypeStrings		equ	$436
+GetFuncPrgmBodyPtr		equ	$43A
+free		equ	$A3
+FreeHandles		equ	$23B
+HeapAlloc		equ	$90
+HeapAllocESTACK		equ	$91
+HeapAllocHigh		equ	$92
+HeapAllocHighThrow		equ	$94
+HeapAllocPtr		equ	$A2
+HeapAllocThrow		equ	$93
+HeapAvail		equ	$8F
+HeapCompress		equ	$95
+HeapDeref		equ	$96
+HeapEnd		equ	$A1
+HeapFreeIndir		equ	$98
+HeapFreePtr		equ	$A3
+HeapFree		equ	$97
+HeapGetHandle		equ	$239
+HeapGetLock		equ	$9B
+HeapLock		equ	$9A
+HeapMax		equ	$9C
+HeapMoveHigh		equ	$A0
+HeapPtrToHandle		equ	$23A
+HeapRealloc		equ	$9D
+HeapSize		equ	$9E
+HeapUnlock		equ	$9F
+HLock		equ	$99
+malloc		equ	$A2
+HeapWalk		equ	$12C
+HeapShuffle		equ	$474
+EX_getArg		equ	$BE
+EX_getBCD		equ	$BF
+RemainingArgCnt		equ	$3C3
+GKeyDown		equ	$17F
+GKeyFlush		equ	$180
+GKeyIn		equ	$17E
+kbhit		equ	$52
+ngetchx		equ	$51
+OSGetStatKeys		equ	$299
+OSInitBetweenKeyDelay		equ	$249
+pushkey		equ	$50
+OSInitKeyInitDelay		equ	$248
+alphaLockOn		equ	$481
+alphaLockOff		equ	$482
+SetAlphaStatus		equ	$163
+GetAlphaStatus		equ	$164
+KeyYesOrNo		equ	$3EB
+OSFastArrows		equ	$15C
+restoreAlphaLock		equ	$483
+BitmapGet		equ	$185
+BitmapInit		equ	$186
+BitmapPut		equ	$187
+BitmapSize		equ	$188
+ClrScr		equ	$19E
+DrawChar		equ	$1A4
+DrawClipChar		equ	$191
+DrawClipEllipse		equ	$192
+DrawClipLine		equ	$193
+DrawClipPix		equ	$194
+DrawClipRect		equ	$195
+DrawFkey		equ	$1A5
+DrawIcon		equ	$1A6
+DrawLine		equ	$1A7
+DrawMultiLines		equ	$196
+DrawPix		equ	$1A8
+CalcBitmapSize		equ	$3EF
+DrawStr		equ	$1A9
+DrawStrWidth		equ	$197
+DrawTo		equ	$19C
+FillLines2		equ	$199
+FillTriangle		equ	$198
+FontCharWidth		equ	$190
+FontGetSys		equ	$18E
+FontSetSys		equ	$18F
+GetPix		equ	$19F
+LineTo		equ	$19C
+MoveTo		equ	$19D
+PortRestore		equ	$1A3
+PortSet		equ	$1A2
+QScrRectOverlap		equ	$18D
+RestoreScrState		equ	$1A1
+SaveScrState		equ	$1A0
+ScrRect		equ	$2F
+ScrRectFill		equ	$189
+ScrRectOverlap		equ	$18A
+ScrRectScroll		equ	$18B
+ScrRectShift		equ	$18C
+ScrToHome		equ	$2E
+ScrToWin		equ	$2D
+SetCurAttr		equ	$19A
+SetCurClip		equ	$19B
+ClientToScr		equ	$42C
+DrawStrWidthP		equ	$3EE
+MakeScrRect		equ	$42D
+DrawWinBorder		equ	$27
+FirstWindow		equ	$0
+MakeWinRect		equ	$2C
+RectWinToScr		equ	$2A
+RectWinToWin		equ	$29
+WinActivate		equ	$1
+WinAttr		equ	$2
+WinBackground		equ	$4
+WinBackupToScr		equ	$3
+WinBegin		equ	$5
+WinBitmapGet		equ	$6
+WinBitmapPut		equ	$7
+WinBitmapSize		equ	$8
+WinChar		equ	$A
+WinCharXY		equ	$9
+WinClose		equ	$B
+WinClr		equ	$C
+WinDeactivate		equ	$D
+WinDupStat		equ	$E
+WinEllipse		equ	$F
+WinFill		equ	$10
+WinFillLines2		equ	$11
+WinFillTriangle		equ	$12
+WinFont		equ	$13
+WinGetCursor		equ	$14
+WinHeight		equ	$292
+WinHide		equ	$15
+WinHome		equ	$16
+WinLine		equ	$17
+WinLineNC		equ	$18
+WinLineRel		equ	$1A
+WinLineTo		equ	$19
+WinMoveCursor		equ	$1B
+WinMoveRel		equ	$1D
+WinMoveTo		equ	$1C
+WinOpen		equ	$1E
+WinPixGet		equ	$1F
+WinPixSet		equ	$20
+WinRect		equ	$21
+WinReOpen		equ	$22
+WinScrollH		equ	$23
+WinScrollV		equ	$24
+WinStr		equ	$25
+WinStrXY		equ	$26
+WinWidth		equ	$291
+DrawStaticButton		equ	$35
+SetWinClip		equ	$42E
+BN_powerMod		equ	$123
+BN_power17Mod		equ	$122
+BN_prodMod		equ	$124
+cdecrypt		equ	$127
+MD5Done		equ	$257
+MD5Final		equ	$256
+MD5Init		equ	$254
+MD5Update		equ	$255
+Dialog		equ	$30
+DialogAdd		equ	$33
+DialogDo		equ	$32
+DialogNew		equ	$34
+DlgMessage		equ	$1B4
+VarNew		equ	$28E
+VarOpen		equ	$28C
+VarSaveAs		equ	$28D
+ERD_dialog		equ	$151
+ERD_process		equ	$152
+ER_catch		equ	$154
+ER_success		equ	$155
+ER_throwVar		equ	$153
+find_error_message		equ	$2C1
+EM_abandon		equ	$15B
+EM_findEmptySlot		equ	$15F
+EM_GC		equ	$160
+EM_survey		equ	$165
+EM_write		equ	$167
+FL_addCert		equ	$169
+FL_download		equ	$16A
+FL_getCert		equ	$16C
+FL_getHardwareParmBlock		equ	$16B
+FL_getVerNum		equ	$16D
+FL_write		equ	$171
+BatTooLowFlash		equ	$434
+FlashMemoryEnd		equ	$43D
+EM_blockVerifyErase		equ	$15D
+flush_link		equ	$24D
+getcalc		equ	$54
+LIO_Get		equ	$57
+LIO_GetMultiple		equ	$59
+LIO_Receive		equ	$58
+LIO_RecvData		equ	$5B
+LIO_Send		equ	$56
+LIO_SendData		equ	$5A
+LIO_SendProduct		equ	$253
+OSCheckSilentLink		equ	$24A
+OSLinkClose		equ	$24E
+OSLinkCmd		equ	$24B
+OSLinkOpen		equ	$24D
+OSLinkReset		equ	$24C
+OSLinkTxQueueActive		equ	$252
+OSLinkTxQueueInquire		equ	$251
+OSReadLinkBlock		equ	$24F
+OSWriteLinkBlock		equ	$250
+receive		equ	$24F
+reset_link		equ	$24C
+sendcalc		equ	$55
+transmit		equ	$250
+tx_free		equ	$252
+MenuAddIcon		equ	$42
+MenuAddText		equ	$41
+MenuBegin		equ	$36
+MenuCheck		equ	$37
+MenuEnd		equ	$38
+MenuGetTopRedef		equ	$40
+MenuKey		equ	$39
+MenuNew		equ	$43
+MenuOn		equ	$3A
+MenuPopup		equ	$3B
+MenuSubStat		equ	$3C
+MenuTopRedef		equ	$3F
+MenuTopSelect		equ	$3E
+MenuTopStat		equ	$3D
+MenuUpdate		equ	$49
+PopupAddText		equ	$44
+PopupClear		equ	$46
+PopupDo		equ	$47
+PopupNew		equ	$45
+PopupText		equ	$48
+VarCreateFolderPopup		equ	$28F
+MenuLoad		equ	$3F2
+MenuFlags		equ	$3F4
+QMenuTopSelect		equ	$41A
+DynMenuAdd		equ	$3F1
+FKeyI_H		equ	$592
+DynMenuChange		equ	$3F0
+MenuItemDef		equ	$3F3
+MenuOff		equ	$419
+PopupBegin		equ	$3F5
+PopupBeginDo		equ	$3F6
+ceof		equ	$128
+cfindfield		equ	$12A
+cgetc		equ	$12B
+cgetcertrevno		equ	$2A0
+cgetflen		equ	$12D
+cgetfnl		equ	$12E
+cgetnl		equ	$12F
+cgetns		equ	$130
+cgetsn		equ	$2A1
+copen		equ	$132
+copensub		equ	$133
+cputhdr		equ	$134
+cputnl		equ	$135
+cputns		equ	$136
+cread		equ	$137
+ctell		equ	$138
+cwrite		equ	$139
+CertificateMemory		equ	$43E
+sprintf		equ	$53
+cmd_clrdraw		equ	$32D
+cmd_clrgraph		equ	$32F
+cmd_clrhome		equ	$330
+cmd_clrio		equ	$331
+cmd_clrtable		equ	$332
+cmd_custmoff		equ	$335
+cmd_custmon		equ	$336
+cmd_disp		equ	$33D
+cmd_dispg		equ	$33E
+cmd_disphome		equ	$33F
+cmd_disptbl		equ	$340
+cmd_fnoff		equ	$34D
+cmd_fnon		equ	$34E
+cmd_get		equ	$350
+cmd_getcalc		equ	$351
+cmd_graph		equ	$353
+cmd_input		equ	$356
+cmd_inputstr		equ	$357
+cmd_newprob		equ	$367
+cmd_output		equ	$369
+cmd_pause		equ	$36B
+cmd_printobj		equ	$370
+cmd_prompt		equ	$371
+cmd_rclgdb		equ	$381
+cmd_send		equ	$387
+cmd_sendcalc		equ	$388
+cmd_sendchat		equ	$389
+cmd_stogdb		equ	$390
+cmd_style		equ	$392
+cmd_table		equ	$393
+cmd_shade		equ	$38A
+cmd_newpic		equ	$365
+cmd_newplot		equ	$366
+cmd_pxlon		equ	$37B
+cmd_circle		equ	$32C
+cmd_cyclepic		equ	$339
+cmd_randseed		equ	$380
+cmd_line		equ	$358
+cmd_andpic		equ	$32A
+cmd_blddata		equ	$32B
+cmd_clrerr		equ	$32E
+cmd_drawparm		equ	$343
+cmd_exit		equ	$34A
+cmd_copyvar		equ	$333
+cmd_cubicreg		equ	$334
+cmd_custom		equ	$337
+cmd_cycle		equ	$338
+cmd_drawpol		equ	$344
+cmd_delfold		equ	$33A
+cmd_delvar		equ	$33B
+cmd_dialog		equ	$33C
+cmd_drawinv		equ	$342
+cmd_drawfunc		equ	$341
+cmd_linehorz		equ	$359
+cmd_linetan		equ	$35A
+cmd_else		equ	$345
+cmd_endfor		equ	$346
+cmd_for		equ	$34F
+cmd_if		equ	$354
+cmd_ifthen		equ	$355
+cmd_linreg		equ	$35C
+cmd_expreg		equ	$34B
+cmd_lnreg		equ	$35D
+cmd_logistic		equ	$360
+cmd_sinreg		equ	$38C
+cmd_twovar		equ	$398
+cmd_onevar		equ	$368
+cmd_showstat		equ	$38B
+cmd_rplcpic		equ	$386
+cmd_xorpic		equ	$39B
+cmd_rclpic		equ	$382
+cmd_pxlcircle		equ	$377
+cmd_stopic		equ	$391
+cmd_fill		equ	$34C
+cmd_goto		equ	$352
+cmd_popup		equ	$36E
+cmd_endloop		equ	$347
+cmd_endwhile		equ	$349
+cmd_while		equ	$39A
+cmd_try		equ	$397
+cmd_endtry		equ	$348
+cmd_passerr		equ	$36A
+cmd_linevert		equ	$35B
+cmd_plotsoff		equ	$36C
+cmd_plotson		equ	$36D
+cmd_slpline		equ	$38D
+cmd_sortd		equ	$38F
+cmd_sorta		equ	$38E
+cmd_unlock		equ	$399
+cmd_lock		equ	$35F
+cmd_unarchiv		equ	$449
+cmd_archive		equ	$448
+cmd_pxlline		equ	$379
+cmd_pxlhorz		equ	$378
+cmd_pxlvert		equ	$37D
+cmd_ptchg		equ	$372
+cmd_ptoff		equ	$373
+cmd_pxltext		equ	$37C
+cmd_pton		equ	$374
+cmd_pxlchg		equ	$376
+cmd_pxloff		equ	$37A
+cmd_text		equ	$394
+cmd_pttext		equ	$375
+cmd_local		equ	$35E
+cmd_movevar		equ	$362
+cmd_rename		equ	$383
+cmd_return		equ	$385
+cmd_trace		equ	$396
+cmd_toolbar		equ	$395
+cmd_request		equ	$384
+cmd_newdata		equ	$363
+cmd_newfold		equ	$364
+cmd_zoomin		equ	$3A0
+cmd_zoomdata		equ	$39D
+cmd_zoomdec		equ	$39E
+cmd_zoomfit		equ	$39F
+cmd_zoomint		equ	$3A1
+cmd_zoomprev		equ	$3A3
+cmd_zoombox		equ	$39C
+cmd_zoomout		equ	$3A2
+cmd_zoomrcl		equ	$3A4
+cmd_zoomsqr		equ	$3A5
+cmd_zoomsto		equ	$3A7
+cmd_zoomtrig		equ	$3A8
+cmd_zoomstd		equ	$3A6
+cmd_medmed		equ	$361
+cmd_quartreg		equ	$37F
+cmd_quadreg		equ	$37E
+cmd_powerreg		equ	$36F
+TE_checkSlack		equ	$A6
+TE_close		equ	$A5
+TE_empty		equ	$A7
+TE_focus		equ	$A8
+TE_handleEvent		equ	$A9
+TE_indicateReadOnly		equ	$AA
+TE_isBlank		equ	$AB
+TE_openFixed		equ	$AD
+TE_open		equ	$AC
+TE_pasteText		equ	$AE
+TE_reopenPlain		equ	$B0
+TE_reopen		equ	$AF
+TE_select		equ	$B1
+TE_shrinkWrap		equ	$B2
+TE_unfocus		equ	$B3
+TE_updateCommand		equ	$B4
+longjmp		equ	$267
+setjmp		equ	$266
+strcat		equ	$26E
+strchr		equ	$274
+strcmp		equ	$271
+strcpy		equ	$26C
+strcspn		equ	$275
+strerror		equ	$27D
+strlen		equ	$27E
+strncat		equ	$26F
+strncmp		equ	$272
+strncpy		equ	$26D
+strpbrk		equ	$276
+strrchr		equ	$277
+strspn		equ	$278
+strstr		equ	$279
+strtok		equ	$27A
+cmpstri		equ	$16F
+stricmp		equ	$407
+memucmp		equ	$3CC
+memcpy		equ	$26A
+memchr		equ	$273
+memcmp		equ	$270
+_memset		equ	$27B
+memmove		equ	$26B
+memset		equ	$27C
+add1_to_top		equ	$51D
+push_gcd_then_cofactors		equ	$59E
+and_onto_top		equ	$579
+are_units_consistent		equ	$40F
+assign_between		equ	$2AC
+push_mrow_aux		equ	$31B
+CharNumber		equ	$113
+CheckGraphRef		equ	$7D
+ST_flags		equ	$443
+ck_valid_float		equ	$1E5
+CkValidDelta		equ	$1C3
+cleanup_de_mem		equ	$1EC
+cleanup_seq_mem		equ	$1D7
+clear_error_context		equ	$44C
+FAccess		equ	$3D4
+compare_numbers		equ	$50D
+convert_to_TI_92		equ	$258
+CountGrFunc		equ	$1D5
+cpt_gr_fun		equ	$1D1
+cpt_gr_param		equ	$1D2
+cpt_gr_polar		equ	$1D3
+CptDeltax		equ	$1C1
+CptDeltay		equ	$1C2
+CptFuncX		equ	$1B9
+CptIndep		equ	$1C9
+CptLastIndepDE		equ	$1EF
+CreateEmptyList		equ	$1E6
+CTypeTable		equ	$442
+CustomBegin		equ	$14A
+CustomEnd		equ	$14C
+CustomFree		equ	$150
+CustomMenuItem		equ	$14B
+DataTypeNames		equ	$43B
+de_initRes		equ	$1F0
+de_loop		equ	$1EB
+de_rng_no_graph		equ	$2A2
+delete_list_element		equ	$2AF
+deStepCk		equ	$1F9
+did_push_divide_units		equ	$3AE
+did_push_lincf		equ	$572
+did_push_var_val		equ	$2AD
+divide_top		equ	$527
+does_push_fetch		equ	$2AE
+dv_create_graph_titles		equ	$117
+dv_findColumn		equ	$119
+TIOS_EV_getAppID		equ	$454
+EQU_deStatus		equ	$16E
+EQU_getNameInfo		equ	$120
+EQU_select		equ	$11E
+EQU_setStyle		equ	$11F
+ER_throwFrame		equ	$507
+ERD_dismissNotice		equ	$476
+ERD_notice		equ	$475
+estack_to_float		equ	$469
+EV_appA		equ	$452
+EV_appB		equ	$453
+EV_appSide		equ	$458
+EV_currentApp		equ	$45C
+EV_errorCode		equ	$46D
+TIOS_strtol		equ	$4FF
+EV_quit		equ	$48E
+EV_runningApp		equ	$45D
+execute_graph_func		equ	$1D0
+FCreate		equ	$3D6
+FDelete		equ	$3D7
+FEof		equ	$3D8
+FFindNext		equ	$3DA
+FGetC		equ	$3DB
+FGetPos		equ	$3DC
+FPutC		equ	$3DF
+FindFunc		equ	$1C5
+FindGrFunc		equ	$1C6
+FirstNonblank		equ	$4DE
+FirstSeqPlot		equ	$1D6
+fix_loop_displacements		equ	$170
+FLOATTAB		equ	$464
+ForceFloat		equ	$47D
+FOpen		equ	$3DE
+freeIdList		equ	$4D6
+FSetPos		equ	$3E1
+FSetVer		equ	$3E4
+FStatus		equ	$3E5
+FWrite		equ	$3E7
+FuncLineFlt		equ	$1BF
+gdb_len		equ	$1E0
+gdb_recall		equ	$1E2
+gdb_store		equ	$1E1
+gen_version		equ	$259
+get_lb		equ	$516
+get_list_indices		equ	$2B8
+get_matrix_indices		equ	$2B9
+get_ub		equ	$517
+GetStatValue		equ	$11B
+GetSysGraphRef		equ	$8A
+GetTagStr		equ	$46C
+GM_Derivative		equ	$1B0
+GM_DistArc		equ	$1B1
+GM_Inflection		equ	$1AD
+GM_Integrate		equ	$1AC
+GM_Intersect		equ	$1AB
+GM_Math1		equ	$1AF
+GM_Shade		equ	$1B2
+GM_TanLine		equ	$1AE
+GM_Value		equ	$1AA
+gr_active		equ	$10B
+gr_add_fldpic		equ	$1F6
+gr_ck_solvergraph		equ	$1FA
+gr_CptIndepInc		equ	$1CA
+gr_de_axes_lbl		equ	$1F2
+gr_de_value		equ	$1ED
+gr_del_locals		equ	$1CB
+gr_del_vars_in_folder		equ	$1F1
+gr_delete_fldpic		equ	$1F4
+gr_DelFolder		equ	$1CC
+gr_DispLabels		equ	$1E3
+gr_execute_de		equ	$1F3
+gr_execute_seq		equ	$1D4
+gr_find_de_result		equ	$1E8
+gr_find_el		equ	$1F8
+gr_find_func_index		equ	$1EE
+gr_flags		equ	$463
+gr_initCondName		equ	$1C8
+gr_openFolder		equ	$1CD
+gr_other		equ	$10C
+GR_Pan		equ	$1C4
+gr_remove_fldpic		equ	$1F5
+gr_seq_value		equ	$1DC
+gr_stopic		equ	$1F7
+gr_xres_pixel		equ	$1B8
+GR3_addContours		equ	$1FB
+GR3_freeDB		equ	$1FD
+GR3_handleEvent		equ	$1FE
+GR3_paint3d		equ	$1FF
+GR3_xyToWindow		equ	$200
+GraphActivate		equ	$1FC
+GraphOrTableCmd		equ	$1E4
+GrAxes		equ	$1B7
+GrClipLine		equ	$1C0
+grFuncName		equ	$1C7
+GrLineFlt		equ	$1BE
+GS_PlotAll		equ	$202
+GS_PlotTrace		equ	$201
+GT_BackupToScr		equ	$20C
+GT_CalcDepVals		equ	$20D
+GT_CenterGraphCursor		equ	$20E
+GT_CursorKey		equ	$20F
+GT_DE_Init_Conds		equ	$22A
+GT_DspFreeTraceCoords		equ	$210
+GT_DspMsg		equ	$212
+GT_DspTraceCoords		equ	$211
+GT_Error		equ	$213
+GT_Format		equ	$214
+GT_FreeTrace		equ	$215
+GT_IncXY		equ	$216
+GT_KeyIn		equ	$217
+GT_Open		equ	$21B
+GT_PrintCursor		equ	$229
+GT_QFloatCursorsInRange		equ	$218
+GT_Regraph		equ	$219
+GT_Regraph_if_neccy		equ	$21A
+GT_SaveAs		equ	$21C
+GT_SelFunc		equ	$21D
+GT_Set_Graph_Format		equ	$228
+GT_SetCursorXY		equ	$21F
+GT_SetGraphRange		equ	$21E
+GT_ShowMarkers		equ	$220
+GT_Trace		equ	$221
+GT_ValidGraphRanges		equ	$222
+GT_WinBound		equ	$223
+GT_WinCursor		equ	$224
+GXcoord		equ	$226
+GYcoord		equ	$225
+GZ_Box		equ	$22B
+GZ_Center		equ	$22C
+GZ_Decimal		equ	$22D
+GZ_Fit		equ	$22E
+GZ_InOut		equ	$22F
+GZ_Integer		equ	$230
+GZ_Previous		equ	$231
+GZ_Recall		equ	$232
+GZ_SetFactors		equ	$233
+GZ_Square		equ	$234
+GZ_Standard		equ	$235
+GZ_Stat		equ	$236
+GZ_Store		equ	$237
+GZ_Trig		equ	$238
+has_different_variable		equ	$5A0
+has_unit_base		equ	$3AF
+hStrAppend		equ	$45F
+index_after_match_endtag		equ	$2B1
+index_if_pushed_binomial_info		equ	$5A1
+index_if_pushed_qquad_info		equ	$5A2
+index_reductum_with_tag_base		equ	$59F
+index_rmng_factor		equ	$565
+index_rmng_fctrs_start_base		equ	$564
+index_rmng_fctrs_start_base_tag		equ	$563
+index_rmng_fctrs_start_fctr_tag		equ	$562
+init_list_indices		equ	$2BA
+init_matrix_indices		equ	$2BB
+init_unit_system		equ	$3B0
+InitDEAxesRng		equ	$1E9
+InitDEMem		equ	$1EA
+InitTimeSeq		equ	$1D9
+integer_non_unknown		equ	$50C
+is_cFloat_agg		equ	$465
+is_complex_Float		equ	$48B
+is_constant		equ	$593
+is_equivalent_to		equ	$578
+is_executable		equ	$25A
+is_minus1		equ	$508
+is_neg_lead_numr_coef_re_part		equ	$56D
+is_negative		equ	$575
+is_never0		equ	$577
+is_nonnegative		equ	$574
+is_nonpositive		equ	$576
+is_pathname		equ	$3C6
+is_polynomial_in_var_or_kern		equ	$56B
+is_pos_int_and_eq_quantum		equ	$509
+is_positive		equ	$573
+is_reciprocal_of_quantum		equ	$50A
+is_term_improper		equ	$556
+is_totally_polynomial		equ	$56C
+is_units_term		equ	$3B1
+is_variable		equ	$488
+is_whole_number		equ	$50B
+is0		equ	$269
+lead_conjunct_factor_index		equ	$580
+lead_disjunct_term_index		equ	$57E
+linear_degree		equ	$571
+LIO_SendIdList		equ	$3D0
+LoadSymFromFindHandle		equ	$281
+LOC_formatDate		equ	$590
+LOC_getLocalDateFormat		equ	$58F
+LOC_localVersionDate		equ	$591
+MO_option		equ	$447
+negate_top		equ	$525
+next_token		equ	$3C7
+next_var_or_kernel_index		equ	$56E
+NG_control		equ	$466
+nonblank		equ	$3C8
+OO_appGetPublicStorage		equ	$425
+OO_appIsMarkedDelete		equ	$426
+OO_appMarkDelete		equ	$427
+OO_AppNameToACB		equ	$406
+OO_appSetPublicStorage		equ	$429
+OO_Deref		equ	$3FB
+TIOS_ldiv		equ	$5BD
+OO_CondGetAttr		equ	$3FA
+OO_Destroy		equ	$423
+OO_DestroyAll		equ	$4F5
+OO_firstACB		equ	$451
+OO_GetAppAttr		equ	$3FC
+OO_GetAttr		equ	$3FD
+OO_HasAttr		equ	$3FE
+OO_InstallAppHook		equ	$490
+OO_InstallAppHookByName		equ	$492
+OO_InstallSystemHook		equ	$404
+OO_New		equ	$3FF
+OO_NextACB		equ	$402
+OO_PrevACB		equ	$403
+OO_SetAppAttr		equ	$400
+OO_SetAttr		equ	$401
+OO_SuperFrame		equ	$48F
+OO_UninstallAppHook		equ	$491
+OO_UninstallAppHookByName		equ	$493
+OO_UninstallSystemHook		equ	$405
+or_onto_top		equ	$57B
+OSModKeyStatus		equ	$431
+paint_all_except		equ	$11D
+ParseSymName		equ	$78
+PlotDel		equ	$203
+PlotDup		equ	$207
+PlotGet		equ	$205
+PlotInit		equ	$206
+PlotLookup		equ	$209
+PlotPut		equ	$204
+PlotSize		equ	$208
+primary_tag_list		equ	$467
+pSymPG		equ	$430
+push_ans_entry		equ	$2B0
+push_auto_units_conversion		equ	$3B2
+push_but_conjunct_factor		equ	$582
+push_but_factor		equ	$561
+push_but_term		equ	$56A
+push_constant_factors		equ	$55D
+push_constant_terms		equ	$566
+push_dependent_factors		equ	$55F
+push_dependent_terms		equ	$568
+push_div_dif_1c		equ	$58D
+push_div_dif_1f		equ	$58C
+push_float_qr_fact		equ	$2BC
+push_format		equ	$315
+push_independent_factors		equ	$560
+push_independent_terms		equ	$569
+TIOS_abs		equ	$5BA
+push_long_to_integer		equ	$4E3
+push_lu_fact		equ	$2BD
+push_make_proper		equ	$557
+push_minus_recip_of_quantum		equ	$510
+push_negate_quantum_as_negint		equ	$4F1
+push_nonconstant_factors		equ	$55E
+push_nonconstant_terms		equ	$567
+push_nonnumeric_factors		equ	$55C
+push_parse_prgm_or_func_text		equ	$3C9
+push_pi		equ	$512
+push_pi_on_quantum		equ	$513
+push_poly_deg_in_var_or_kernel		equ	$570
+push_poly_qr		equ	$59D
+push_quantum_as_nonnegative_int		equ	$50E
+push_quantum_pair_as_pos_frac		equ	$511
+push_reciprocal		equ	$597
+push_reciprocal_of_quantum		equ	$50F
+push_simplify		equ	$44E
+push_simplify_statements		equ	$44F
+push_sq_matrix_to_whole_number		equ	$3C0
+push_standardize		equ	$558
+push_symbolic_qr_fact		equ	$2BE
+push_trig		equ	$535
+push_ulong_to_integer		equ	$4E4
+push_unit_system_list		equ	$3B3
+push_ushort_to_integer		equ	$4E5
+push_var		equ	$3CB
+push_var_kern_tail		equ	$56F
+push_zero_partial_column		equ	$3C2
+push0		equ	$4E7
+push1		equ	$4E8
+QActivePlots		equ	$20A
+QPlotActive		equ	$20B
+QSkipGraphErr		equ	$1E7
+QstatRcl		equ	$40B
+raise_to_top		equ	$529
+ReallocExprStruct		equ	$14D
+recall_data_var		equ	$112
+Regraph		equ	$1B6
+remaining_conjuncts_index		equ	$581
+remaining_disjuncts_index		equ	$57F
+replace_top_with_reciprocal		equ	$52D
+replace_top2_with_and		equ	$57A
+replace_top2_with_difference		equ	$51C
+replace_top2_with_imre		equ	$559
+replace_top2_with_or		equ	$57C
+replace_top2_with_pow		equ	$52A
+replace_top2_with_prod		equ	$523
+replace_top2_with_ratio		equ	$528
+replace_top2_with_sum		equ	$519
+rngLen		equ	$1DF
+run_one_seq		equ	$1DB
+ScrRectDivide		equ	$28
+SearchExprStruct		equ	$14E
+seqStepCk		equ	$1DE
+seqWebInit		equ	$1DA
+SetGraphMode		equ	$1B5
+setup_more_graph_fun		equ	$1CE
+setup_unit_system		equ	$3B4
+sf_width		equ	$4D3
+SP_Define		equ	$110
+spike_chk_gr_dirty		equ	$11A
+spike_geo_titles		equ	$115
+spike_in_editor		equ	$116
+spike_optionD		equ	$114
+spike_titles_in_editor		equ	$118
+statEnd		equ	$409
+statFree		equ	$40A
+statStart		equ	$408
+StepCk		equ	$1DD
+store_data_var		equ	$111
+store_func_def		equ	$2B4
+store_to_subscripted_element		equ	$2B5
+FClose		equ	$3D5
+subtract_from_top		equ	$51B
+subtract1_from_top		equ	$51E
+time_loop		equ	$1D8
+times_top		equ	$522
+tokenize_if_TI_92_or_text		equ	$265
+TokenizeName		equ	$3E9
+FFindFirst		equ	$3D9
+unlock_more_graph_fun		equ	$1CF
+ValidateStore		equ	$8D
+VarGraphRefBitsClear		equ	$268
+VarOptList		equ	$444
+VarSaveTitle		equ	$290
+VarStoreLink		equ	$87
+WinBeginPaint		equ	$500
+WinBitmapSizeExt		equ	$411
+WinEndPaint		equ	$501
+WinLineExt		equ	$47C
+WinRemove		equ	$414
+XCvtFtoP		equ	$1BD
+XCvtPtoF		equ	$1BA
+YCvtFtoP		equ	$1BC
+YCvtFtoWin		equ	$1B3
+YCvtPtoF		equ	$1BB
+did_map_aggregate_arg		equ	$5B8
+did_push_approx_inflection_point		equ	$5B0
+errno		equ	$5D9
+estack_max_index		equ	$5BF
+EV_flags		equ	$5DF
+Float0Index		equ	$5D0
+Float1Index		equ	$5D1
+FloatExp1Index		equ	$5D4
+FloatHalfIndex		equ	$5E0
+FloatMinus1Index		equ	$5D2
+FloatPiIndex		equ	$5D3
+IM_re_tol		equ	$5C1
+index_false		equ	$5D6
+index_true		equ	$5D5
+Integer0Index		equ	$5CD
+Integer1Index		equ	$5CE
+Integer2Index		equ	$5E1
+IntegerMinus1Index		equ	$5CF
+is_real		equ	$5A9
+is_undefined		equ	$5B7
+NG_such_that_index		equ	$5D7
+OSCheckLinkOpen		equ	$5E3
+add_to_top		equ	$518
+RM_Type		equ	$5DC
+TIOS_labs		equ	$5BC
+RAtionalize_tol		equ	$5C0
+replace_top_with_post_simplified		equ	$5B6
+WinStrXYWrap		equ	$5DB
+TIOS_div		equ	$5BB
+UpdateWindows		equ	$2B
+push_user_func		equ	$2B3
+is1		equ	$2FD
+FGetSize		equ	$3DD
+FRead		equ	$3E0
+FSetBufSize		equ	$3E2
+FSetSize		equ	$3E3
+FType		equ	$3E6
+GD_HVLine		equ	$178
+GD_Circle		equ	$176
+GD_Pen		equ	$179
+GD_Eraser		equ	$17A
+GD_Text		equ	$17B
+GD_Select		equ	$17C
+GD_Contour		equ	$17D
+GD_Line		equ	$177
+HomeAlone		equ	$506
+HS_getAns		equ	$241
+HomeExecute		equ	$10E
+HomePushEStack		equ	$10F
+HS_getEntry		equ	$242
+HS_countFIFO		equ	$23D
+HS_freeFIFONode		equ	$240
+HS_deleteFIFONode		equ	$23E
+HS_freeAll		equ	$23F
+HS_chopFIFO		equ	$23C
+HS_getFIFONode		equ	$243
+HS_newFIFONode		equ	$245
+HS_pushFIFONode		equ	$246
+HS_popEStack		equ	$244
+push_matrix_product		equ	$3C5
+push_list_times		equ	$3BE
+push_list_plus		equ	$3BD
+push_pow		equ	$30F
+push_and		equ	$5AB
+push_arg_plus_1		equ	$51F
+push_arg_minus_1		equ	$520
+push_assignment		equ	$4DD
+push_difference		equ	$51A
+push_dot_div		equ	$4CD
+push_dot_add		equ	$4A0
+push_dot_exponentiate		equ	$596
+push_dot_mult		equ	$4A1
+push_dot_sub		equ	$4A2
+push_equals		equ	$5A3
+push_exponentiate		equ	$595
+push_to_sphere		equ	$329
+push_factorial		equ	$540
+push_greater_than		equ	$5A5
+push_greater_than_or_equals		equ	$5A7
+push_indir_name		equ	$2B2
+push_degrees		equ	$314
+push_less_than		equ	$5A6
+push_less_than_or_equals		equ	$5A8
+push_negate		equ	$524
+push_not		equ	$5AA
+push_not_equals		equ	$5A4
+push_or		equ	$5AC
+push_percent		equ	$555
+push_radians		equ	$4B3
+push_product		equ	$521
+push_ratio		equ	$526
+push_sum		equ	$594
+push_substitute_simplify		equ	$5B9
+push_substitute_using_such_that		equ	$5BE
+push_substitute_no_simplify		equ	$489
+push_to_cylin		equ	$328
+did_push_to_polar		equ	$313
+push_square		equ	$52C
+push_setgraph		equ	$322
+push_getmode		equ	$318
+push_rand		equ	$31F
+push_getkey		equ	$316
+push_setmode		equ	$323
+push_settable		equ	$324
+push_switch		equ	$327
+push_acos		equ	$537
+push_abs		equ	$543
+push_acosh		equ	$53E
+push_1st_derivative		equ	$5AE
+push_approx		equ	$4F7
+push_asinh		equ	$53D
+push_asin		equ	$536
+push_augment		equ	$496
+push_atanh		equ	$53F
+push_atan		equ	$538
+push_char		equ	$497
+push_ceiling		equ	$54B
+push_coldim		equ	$498
+push_colnorm		equ	$499
+push_comdenom		equ	$59B
+push_conj		equ	$547
+push_cosh		equ	$53B
+push_cos		equ	$533
+push_cross_product		equ	$4CE
+push_cumsum		equ	$49A
+push_csolve		equ	$585
+push_czeros		equ	$587
+push_def_int		equ	$5B2
+push_desolve		equ	$58B
+push_determinant		equ	$49D
+push_diag		equ	$49E
+push_dimension		equ	$49F
+push_dotproduct		equ	$4A3
+push_eigvc		equ	$4CF
+push_eigvl		equ	$4D0
+push_exp		equ	$52E
+push_expand		equ	$59A
+push_factor		equ	$59C
+push_floor		equ	$54A
+push_fractional_part		equ	$54E
+push_gcd_numbers		equ	$514
+push_randnorm		equ	$4B5
+push_getfold		equ	$317
+push_gettype		equ	$319
+push_identity_mat		equ	$4A4
+push_im		equ	$546
+push_re		equ	$545
+push_comb		equ	$542
+push_perm		equ	$541
+push_part		equ	$31C
+push_instring		equ	$31A
+push_integer_remainder		equ	$550
+push_integer_part		equ	$54D
+push_integer_gcd		equ	$551
+push_integer_lcm		equ	$552
+push_integer_quotient		equ	$54F
+push_is_prime		equ	$515
+push_left		equ	$4A5
+did_push_series		equ	$588
+push_lim		equ	$5AD
+push_ln		equ	$52F
+push_list_to_mat		equ	$4A6
+push_log10		equ	$530
+push_mat_to_list		equ	$4A8
+push_matnorm		equ	$4A7
+push_max		equ	$58A
+push_median		equ	$4AA
+push_mean		equ	$4A9
+push_mid		equ	$4AB
+push_min		equ	$589
+push_mod		equ	$54C
+push_mrow		equ	$4AC
+did_push_anti_deriv		equ	$5B1
+push_mrowadd		equ	$4AD
+push_newmat		equ	$4AF
+push_newlist		equ	$4AE
+push_nint		equ	$5B3
+push_nsolve		equ	$583
+push_nth_derivative		equ	$5AF
+push_denominator		equ	$55B
+push_numerator		equ	$55A
+push_max2		equ	$599
+push_max1		equ	$554
+push_min1		equ	$553
+push_min2		equ	$598
+push_ord		equ	$4B0
+push_r_cis		equ	$549
+push_pttest		equ	$31D
+push_pxltest		equ	$31E
+push_when		equ	$57D
+push_zeros		equ	$586
+push_prodlist		equ	$4B2
+push_randmat		equ	$4B4
+push_randpoly		equ	$320
+push_right		equ	$4B7
+push_rotate		equ	$4B8
+push_round		equ	$4B9
+push_row_echelon		equ	$4BE
+push_red_row_ech		equ	$4B6
+push_rowdim		equ	$4BB
+push_rowadd		equ	$4BA
+push_rowswap		equ	$4BD
+push_rownorm		equ	$4BC
+push_sequence		equ	$4BF
+push_setfold		equ	$321
+push_shift		equ	$4C0
+push_sign		equ	$544
+push_sin2		equ	$531
+push_sin		equ	$532
+push_simult		equ	$4C1
+push_sinh		equ	$53A
+push_solve		equ	$584
+push_sqrt		equ	$52B
+push_string		equ	$326
+push_stddev		equ	$4C3
+push_submat		equ	$4C4
+push_str_to_expr		equ	$325
+push_sumlist		equ	$4C5
+push_summation		equ	$5B4
+push_extended_prod		equ	$5B5
+push_tan		equ	$534
+push_tanh		equ	$53C
+push_unitv		equ	$4C8
+push_variance		equ	$4C9
+push_rec_to_angle		equ	$539
+push_phase		equ	$548
+NG_setup_graph_fun		equ	$261
+NG_cleanup_graph_fun		equ $262
+OSKeyScan		equ	$298
+
+ScreenClear equ $19e
+bcdadd equ $b6
+bcdcmp equ $bb
+bcddiv equ $b9
+bcdbcd equ $bd
+bcdmul equ $b8
+bcdneg equ $ba
+bcdsub equ $b7
+bcdlong equ $bc
+
+SymFindFoldername  equ $6F
+MakeHsym  equ $282
+
+_bcd_math  equ $B5
+_ds16u16  equ $2A4
+_ms16u16  equ $2A5
+_du16u16  equ $2A6
+_mu16u16  equ $2A7
+_ds32s32  equ $2A8
+_ms32s32  equ $2A9
+_du32u32  equ $2AA
+_mu32u32  equ $2AB
+
+LCD_MEM equ $4c00
+doorsos::main_lcd equ LCD_MEM
+doorsos::globals equ $4c00
+
+ROM_CALL macro
+ move.l $C8,a4
+ move.l \1*4(a4),a4
+ jsr (a4)
+ endm
+
+ROM_CALL2 macro
+ move.l $C8,a4
+ move.l \1*4(a4),a4
+ endm
+
+inc	MACRO
+	addq.\0	#1,\1
+	ENDM
+INC	MACRO
+	addq.\0	#1,\1
+	ENDM
+dec	MACRO
+	subq.\0	#1,\1
+	ENDM
+DEC	MACRO
+	subq.\0	#1,\1
+	ENDM
+
+
+push	MACRO
+	move.\0	\1,-(a7)
+	ENDM
+
+pop	MACRO
+	move.\0	(a7)+,\1
+	ENDM
+pushm	MACRO
+	movem.\0	\1,-(a7)
+	ENDM
+
+popm	MACRO
+	movem.\0	(a7)+,\1
+	ENDM
+
+PUSH	MACRO
+	move.\0	\1,-(a7)
+	ENDM
+
+POP	MACRO
+	move.\0	(a7)+,\1
+	ENDM
+PUSHM	MACRO
+	movem.\0	\1,-(a7)
+	ENDM
+
+POPM	MACRO
+	movem.\0	(a7)+,\1
+	ENDM
+
+doorsos::SYM_ENTRY.name equ 0
+doorsos::SYM_ENTRY.flags equ 8
+doorsos::SYM_ENTRY.hVal equ $c
+doorsos::NULL equ 0
+doorsos::H_NULL equ 0
+doorsos::RAND_MAX equ $7fff
+ACTIVITY_IDLE equ 0
+ACTIVITY_BUSY equ 1
+ACTIVITY_PAUSED equ 2
+ER_STOP equ 2
+ER_DIMENSION equ 230
+ER_MEMORY equ 670
+ER_MEMORY_DML equ 810
+UNDEFINED_TAG equ $2a
+LIST_TAG equ $d9
+MATRIX_TAG equ $db
+END_TAG equ $e5
+CALC_TI89 equ 0
+CALC_TI92PLUS equ 1
+_nostub
+_ti89
+_ti92plus

+ 202 - 0
tigcc/include/ASM/userlib.h

@@ -0,0 +1,202 @@
+userlib::idle_loop      equ     userlib@0000
+;------------------------------------------------------------
+; Waits for a key input and returns the keycode value in d0
+; Supports APD and shuts down if user presses <DIAMOND>+<ON>
+;------------------------------------------------------------
+
+userlib::random		equ	userlib@0001
+;----------------------------------------------------------------------------
+; random(void)
+;
+; Function: Return a pseudorandom number
+;
+; input:  D0.W = upper limit
+; output: D0.W = random number in [0..limit-1]
+;----------------------------------------------------------------------------
+
+userlib::rand_seed	equ	userlib@0002
+;----------------------------------------------------------------------------
+; WORD rand_seed
+;
+; Random seed used by random(). You may store values to it to initialize
+; the random number seed.
+;----------------------------------------------------------------------------
+
+
+userlib::exec		equ	userlib@0003
+;----------------------------------------------------------------------------
+;executes a program
+;the parameter for this function is pushed on the stack
+;input:	the handle of the program to execute
+;output: d0.w = result
+;
+;Here are d0 values as result:
+;0 -> everything is alright
+;1 -> Not enough memory
+;2 -> Lib not found
+;3 -> Wrong lib version
+;4 -> File format is not valid
+;5 -> File is in use
+;other -> file was not a Doors OS file but was run.
+;----------------------------------------------------------------------------
+
+userlib::FindSymEntry	equ	userlib@0004
+userlib::DrawCharXY		equ	userlib@0005
+
+userlib::InputStr		equ	userlib@0006
+;---------------------------------------------------------------------
+; InputStr(x,y,maxchar)
+;
+;   Inputs a string at x,y
+;
+;Input:d1.w = x
+;	d2.w = y
+;	d3.w = maxchar
+;
+;Output: d0.w = string lenght
+;	 a0.l = adress of the string
+;---------------------------------------------------------------------
+
+userlib::getpassword		equ	userlib@0007
+;---------------------------------------------------------------------
+;getpassword(void)
+;
+;   Asks for the Doors password and return in d1 the result
+;
+;Input: nothing
+;
+;Output: d1.w = 0  -> Good password
+;	Otherwise the password was bad.
+;
+;	NO OTHER REGISTERS DETROYED
+;---------------------------------------------------------------------
+
+userlib::changepass		equ	userlib@0008
+;---------------------------------------------------------------------
+;changepass(void)
+;
+;   Asks for the old Doors password and if it is good, asks for a new Doors password
+;
+;Input and Output: nothing
+;
+;   NO REGISTERS DESTROYED
+;---------------------------------------------------------------------
+
+userlib::lockcalc		equ	userlib@0009
+;---------------------------------------------------------------------
+;lockcalc(void)
+;
+;   Turn off the calculator. When turned on, the Doors password is asked.
+;	If the password is bad, the calc is turned off again.
+;
+;Input: nothing
+;
+;Output: d4=0 -> screen wasn't restored
+;
+;   NO OTHER REGISTERS DESTROYED
+;
+;NOTE:this function requires 3840 bytes free (2000 on a 89) to save the screen
+;and later restore it. If there isn't place enough, the screen wont'be restored.
+;---------------------------------------------------------------------
+
+userlib::idle_hot		equ	userlib@000A
+;---------------------------------------------------------------------
+;idle_hot(void)
+;
+;   Same as idle_loop but:
+;	-pressing the F7 (Home on the 89) key will protect your calc by turning off 
+;	and asking for a password
+;	-pressing the F8 (Mode on the 89) key will turn off your calc
+;
+;Input: nothing
+;
+;Output: d0.w = getkey code of key pressed
+;	NO OTHER REGISTERS DETROYED
+;---------------------------------------------------------------------
+
+userlib::getfreeRAM		equ	userlib@000B
+;---------------------------------------------------------------------
+;  getfreeRAM(void)
+;
+;	returns the free memory, in bytes
+;
+;Input: nothing
+;
+;Output: d0.l = number of bytes free in memory
+;
+;	NO OTHER REGISTERS DESTROYED
+;---------------------------------------------------------------------
+
+userlib::smallmenu		equ	userlib@000C
+;-------------------------------------------------------
+; smallmenu(x,y,nbitem,txtlist)
+;
+;	Draws a small menu. Automatically adjusts width and height of the menu, taking into account the current font, the width and the height of the text
+;	This function restores the part of the screen it takes,
+;  so you don't have to redraw it.
+;
+;Input:
+;	d0.w = x
+;	d1.w = y
+;	d2.b = nbitem
+;	a0.l = string list; adding an extra null byte between 2 strings will force
+;		smallmenu to draw an horizontal line.
+;
+;Output:
+;	d0.w = Selected Item
+;	d1.w = Last key pressed
+;	d2.w = 0  -> ENTER pressed
+;		Otherwise, another key has been pressed
+;If there is not enough memory to save the screen, the menu won't be displayed
+;
+;-------------------------------------------------------
+
+userlib::getfreearchive		equ	userlib@000D
+;---------------------------------------------------------------------
+;  getfreearchive(void)
+;
+;	returns the free memory in archive, in bytes
+;
+;Input: nothing
+;
+;Output: d0.l = number of bytes free in archive memory
+;
+;	NO OTHER REGISTERS DESTROYED
+;---------------------------------------------------------------------
+
+userlib::set_APD			equ	userlib@000E
+;---------------------------------------------------------------------
+;  set_APD(short new_APD)
+;
+;	Sets the Auto Power Down timer to shut down the calc after <new_APD> seconds
+;
+;Input: d0.w = new_APD
+;
+;Output: nothing
+;
+;	NO REGISTERS DESTROYED
+;---------------------------------------------------------------------
+
+userlib::get_APD			equ	userlib@000F
+;---------------------------------------------------------------------
+;  short get_APD(void)
+;
+;	Gets the APD value (in seconds)
+;
+;Input: nothing
+;
+;Outut: d0.w = APD value
+;
+;	NO REGISTERS DESTROYED
+;---------------------------------------------------------------------
+
+userlib::runprog	equ	userlib@0010
+;---------------------------------------------------------------------
+;  short runprog(char* commandline)
+;
+;Input: the parameter is pushed on the stack, it is a pointer to 
+;	an ASCII string containing the commandline to run
+;  example: "main\doors()"
+;Output: d0.w : error code. Zero means no error.
+;
+;---------------------------------------------------------------------

+ 38 - 0
tigcc/include/ASM/util.h

@@ -0,0 +1,38 @@
+util::find_pixel equ util@0000
+util::pixel_on equ util@0001
+util::pixel_off equ util@0002
+util::pixel_chg equ util@0003
+util::prep_rect equ util@0004
+util::frame_rect equ util@0005
+util::erase_rect equ util@0006
+util::show_dialog equ util@0007
+util::clear_dialog equ util@0008
+util::clr_scr equ util@0009
+util::zap_screen equ util@000A
+util::idle_loop equ util@000B
+util::random equ util@000C
+util::DrawCharXY equ util@000D
+util::exec equ util@000E
+util::FindSymEntry equ util@000F
+util::rand_seed equ util@0010
+util::InitFargoCompatibility equ util@0011
+util::DeinitFargoCompatibility equ util@0012
+util::__SF_font equ util@0013 ;FargoII binary compat only
+
+flib::find_pixel equ util::find_pixel
+flib::pixel_on equ util::pixel_on
+flib::pixel_off equ util::pixel_off
+flib::pixel_chg equ util::pixel_chg
+flib::prep_rect equ util::prep_rect
+flib::frame_rect equ util::frame_rect
+flib::erase_rect equ util::erase_rect
+flib::show_dialog equ util::show_dialog
+flib::clear_dialog equ util::clear_dialog
+flib::clr_scr equ util::clr_scr
+flib::zap_screen equ util::zap_screen
+flib::idle_loop equ util::idle_loop
+flib::random equ util::random
+flib::rand_seed equ util::rand_seed
+tios::DrawCharXY equ util::DrawCharXY
+kernel::exec equ util::exec
+tios::FindSymEntry equ util::FindSymEntry

+ 170 - 0
tigcc/include/ASM/ziplib.h

@@ -0,0 +1,170 @@
+;----------------------------------------------------------------------------
+; check_cmem()
+;
+; Function: Checks if there are enough memory free for
+;           compression ( 2560 B needed ) **AND** for evaluating 
+;	    compressed size ( 1140 needed )
+;
+; Input:    A0   = Pointer to data which will be compressed
+;	    D0.W = Length of data which will be compressed
+;
+; Output:   D0.W = 0 if NOT enough memory
+;             NO OTHER REGISTERS DESTROYED
+;
+;----------------------------------------------------------------------------
+ziplib::check_cmem	equ	ziplib@0000
+
+;----------------------------------------------------------------------------
+; check_emem()
+;
+; Function: Checks if there are enough memory free for
+;           extraction (same command as Hufflib's : check_mem)
+;
+; Input:    A0   = Pointer to compressed data
+;
+; Output:   D0.W = 0 if NOT enough memory
+;	    NO OTHER REGISTERS DESTROYED
+;----------------------------------------------------------------------------
+ziplib::check_emem	equ	ziplib@0001
+
+;----------------------------------------------------------------------------
+; eval_cmem()
+;
+; Function: Evaluates the mem size of the compressed file.
+;
+; Input:    A0   = Pointer to datas which will be compressed 
+;	    D0.L = Length of datas which will be compressed
+;
+; Output:   D0.W = mem size of datas when they will be compressed
+;		    NO OTHER REGISTERS DESTROYED
+;----------------------------------------------------------------------------
+ziplib::eval_cmem	equ	ziplib@0002
+
+;----------------------------------------------------------------------------
+; eval_emem()
+;
+; Function: Evaluates the mem size of the extracted file.
+;		(works only with single file archive)
+;
+; Input:    A0   = Pointer to datas which will be uncompressed 
+;
+; Output:   D0.W = mem size of datas when they will be uncompressed
+;		    NO OTHER REGISTERS DESTROYED
+;----------------------------------------------------------------------------
+ziplib::eval_emem	equ	ziplib@0003
+
+;----------------------------------------------------------------------------
+; compress()
+;
+; Function: compress data
+;
+; Input:    A0   = Pointer to uncompressed data
+;           A1   = Pointer to where the compressed data should be stored
+;	    D0.W = Length of datas which will be compressed
+;----------------------------------------------------------------------------
+ziplib::compress	equ	ziplib@0004
+
+;----------------------------------------------------------------------------
+; extract()
+;
+; Function: Extracts data ( in fact same routine as hufflib's one )
+;
+; Input:    A0   = Pointer to compressed data
+;           A1   = Pointer to where the uncompressed data should be stored
+;           D3.W = File number to extract (not necessary if not multifile)
+;----------------------------------------------------------------------------
+ziplib::extract	equ	ziplib@0005
+
+;----------------------------------------------------------------------------
+; zipfile()
+;
+; Function: Compress or Extract a file
+;
+; Input:    A0   = Pointer to file in the VAT
+;	    D0.B = 0 disable commentary 
+;		   1 semi-commentary (error displayed)
+;		   else enable commentary (Windows, Confirmations,...)
+;
+; Output:        D0.B = 0 no error 				
+;		   	1 can't manipulate because file is archived
+;         	   	2 compressed file bigger than original
+;		   	3 not enough memory
+;			4 Program running
+;		    NO OTHER REGISTERS DESTROYED
+;----------------------------------------------------------------------------
+ziplib::zipfile	equ	ziplib@0006
+
+
+;----------------------------------------------------------------------------
+; iscomp()
+;
+; Function: Test if a file is compressed
+;
+; Input:    A0   = Pointer to file in the VAT
+;
+; Output:        D0.W = 0 compressed 				
+;		   	1 uncompressed
+;
+;		    NO OTHER REGISTERS DESTROYED
+;----------------------------------------------------------------------------
+ziplib::iscomp		equ	ziplib@000B
+
+
+;----------------------------------------------------------------------------
+; tempfile()
+;
+; Function: Extract a compressed file to a temporary handle
+;
+; Input:    A0   = Pointer to file in the VAT
+;	    D0.B = 0 disable commentary 
+;		   1 semi-commentary (error displayed)
+;		   else enable commentary (Windows, Confirmations,...)
+;
+; Output:    	 D0.B = 0 no error 				
+;		   	1 can't manipulate because file is archived, locked or hidden
+;		   	3 not enough memory
+;			5 File is not a compressed file
+;		 D1.W = handle of the temporary file
+;		    NO OTHER REGISTERS DESTROYED
+;----------------------------------------------------------------------------
+ziplib::tempfile	equ	ziplib@0007
+
+;----------------------------------------------------------------------------
+; extract_string()
+;
+; Function: Extracts a string from huffman compressed data
+;
+; Input:    A0   = Pointer to huffman compressed data
+;           A1   = Pointer to where the string should be stored
+;           D3.W = File number to extract (not necessary if not multifile)
+;           D4.W = String number. First string = number 0
+;----------------------------------------------------------------------------
+ziplib::extract_string	equ	ziplib@0008
+
+;----------------------------------------------------------------------------
+; write_string()
+;
+; Function: Writes a compressed string with the current font. The string
+;           should not be longer than 80 characters.
+;
+; Input:    A0   = Pointer to huffman compressed data
+;           D0.W = x location
+;           D1.W = y location
+;           D3.W = File number to extract (not necessary if not multifile)
+;           D4.W = String number. First string = number 0
+;----------------------------------------------------------------------------
+ziplib::write_string	equ	ziplib@0009
+
+;----------------------------------------------------------------------------
+; write_string_inv()
+;
+; Function: Writes a compressed string with the current font (inverted color)
+;           The string should not be longer than 80 characters.
+;
+; Input:    A0   = Pointer to huffman compressed data
+;           D0.W = x location
+;           D1.W = y location
+;           D3.W = File number to extract (not necessary if not multifile)
+;           D4.W = String number. First string = number 0
+;----------------------------------------------------------------------------
+ziplib::write_string_inv	equ	ziplib@000A

BIN
tigcc/include/C/Completion/all.ccf


BIN
tigcc/include/C/Completion/alloc.ccf


BIN
tigcc/include/C/Completion/args.ccf


BIN
tigcc/include/C/Completion/asmtypes.ccf


BIN
tigcc/include/C/Completion/assert.ccf


BIN
tigcc/include/C/Completion/bascmd.ccf


BIN
tigcc/include/C/Completion/basfunc.ccf


BIN
tigcc/include/C/Completion/basop.ccf


BIN
tigcc/include/C/Completion/cert.ccf


BIN
tigcc/include/C/Completion/compat.ccf


BIN
tigcc/include/C/Completion/ctype.ccf


BIN
tigcc/include/C/Completion/default.ccf


BIN
tigcc/include/C/Completion/dialogs.ccf


BIN
tigcc/include/C/Completion/dll.ccf


BIN
tigcc/include/C/Completion/doors.ccf


BIN
tigcc/include/C/Completion/error.ccf


BIN
tigcc/include/C/Completion/estack.ccf


BIN
tigcc/include/C/Completion/events.ccf


BIN
tigcc/include/C/Completion/flash.ccf


BIN
tigcc/include/C/Completion/float.ccf


BIN
tigcc/include/C/Completion/gdraw.ccf


BIN
tigcc/include/C/Completion/graph.ccf


BIN
tigcc/include/C/Completion/gray.ccf


BIN
tigcc/include/C/Completion/homescr.ccf


BIN
tigcc/include/C/Completion/intr.ccf


BIN
tigcc/include/C/Completion/kbd.ccf


BIN
tigcc/include/C/Completion/limits.ccf


BIN
tigcc/include/C/Completion/link.ccf


BIN
tigcc/include/C/Completion/math.ccf


BIN
tigcc/include/C/Completion/mem.ccf


BIN
tigcc/include/C/Completion/menus.ccf


BIN
tigcc/include/C/Completion/nostub.ccf


BIN
tigcc/include/C/Completion/peekpoke.ccf


BIN
tigcc/include/C/Completion/printf.ccf


BIN
tigcc/include/C/Completion/romsymb.ccf


BIN
tigcc/include/C/Completion/rsa.ccf


BIN
tigcc/include/C/Completion/setjmp.ccf


BIN
tigcc/include/C/Completion/sprites.ccf


BIN
tigcc/include/C/Completion/statline.ccf


BIN
tigcc/include/C/Completion/stdarg.ccf


BIN
tigcc/include/C/Completion/stddef.ccf


BIN
tigcc/include/C/Completion/stdio.ccf


BIN
tigcc/include/C/Completion/stdlib.ccf


BIN
tigcc/include/C/Completion/string.ccf


BIN
tigcc/include/C/Completion/system.ccf


BIN
tigcc/include/C/Completion/textedit.ccf


BIN
tigcc/include/C/Completion/tigcclib.ccf


BIN
tigcc/include/C/Completion/timath.ccf


BIN
tigcc/include/C/Completion/unknown.ccf


BIN
tigcc/include/C/Completion/values.ccf


BIN
tigcc/include/C/Completion/vat.ccf


BIN
tigcc/include/C/Completion/version.ccf


BIN
tigcc/include/C/Completion/wingraph.ccf


+ 1 - 0
tigcc/include/C/all.h

@@ -0,0 +1 @@
+#include <tigcclib.h>

+ 75 - 0
tigcc/include/C/alloc.h

@@ -0,0 +1,75 @@
+#ifndef __ALLOC
+#define __ALLOC
+
+#include <default.h>
+
+/* Begin Auto-Generated Part */
+#define H_NULL 0
+#define NULL ((void*)0)
+#ifndef __HAVE_size_t
+#define __HAVE_size_t
+typedef unsigned long size_t;
+#endif
+#ifndef __HAVE_Bool
+#define __HAVE_Bool
+enum Bool{FALSE,TRUE};
+#endif
+#ifndef __HAVE_HANDLE
+#define __HAVE_HANDLE
+typedef unsigned short HANDLE;
+#endif
+#ifndef __HAVE_alloca
+#define __HAVE_alloca
+void *alloca(long)__ATTR_GCC__;
+#endif
+#ifndef __HAVE_calloc
+#define __HAVE_calloc
+extern void *calloc(short asm("d0"),short asm("d1"))__ATTR_LIB_ASM__;
+#endif
+extern void *calloc_throw(short asm("d0"),short asm("d1"))__ATTR_LIB_ASM__;
+#define free _rom_call(void,(void*),A3)
+#define FreeHandles _rom_call(short,(void),23B)
+#define HeapAlloc _rom_call(HANDLE,(long),90)
+#define HeapAllocESTACK _rom_call(HANDLE,(long),91)
+#define HeapAllocHigh _rom_call(HANDLE,(long),92)
+#define HeapAllocHighThrow _rom_call(HANDLE,(long),94)
+#define HeapAllocPtr _rom_call(void*,(long),A2)
+extern void *HeapAllocPtrThrow(long asm("a0"))__ATTR_LIB_ASM__;
+#define HeapAllocThrow _rom_call(HANDLE,(long),93)
+#define HeapAvail _rom_call(unsigned long,(void),8F)
+#define HeapCompress _rom_call(void,(void),95)
+#define HeapDeref _rom_call(void*,(HANDLE),96)
+#define HeapEnd _rom_call(void*,(void),A1)
+#define HeapFree _rom_call(void,(HANDLE),97)
+#define HeapFreeIndir _rom_call(void,(HANDLE*),98)
+#define HeapFreePtr _rom_call(void,(void*),A3)
+#define HeapGetHandle _rom_call(HANDLE,(void),239)
+#define HeapGetLock _rom_call(short,(HANDLE),9B)
+#define HeapLock _rom_call(HANDLE,(HANDLE),9A)
+#define HeapMax _rom_call(unsigned long,(void),9C)
+#define HeapMoveHigh _rom_call(HANDLE,(HANDLE),A0)
+#define HeapPtrToHandle _rom_call(HANDLE,(void*),23A)
+#define HeapRealloc _rom_call(HANDLE,(HANDLE,long),9D)
+extern HANDLE HeapReallocThrow(HANDLE asm("d0"),long asm("a0"))__ATTR_LIB_ASM__;
+#define HeapSize _rom_call(unsigned long,(HANDLE),9E)
+#define HeapUnlock _rom_call(HANDLE,(HANDLE),9F)
+#define HLock _rom_call(void*,(HANDLE),99)
+#define malloc _rom_call(void*,(long),A2)
+extern void *malloc_throw(long asm("a0"))__ATTR_LIB_ASM__;
+#ifndef __HAVE_realloc
+#define __HAVE_realloc
+extern void *realloc(void* asm("a0"),long asm("d0"))__ATTR_LIB_ASM__;
+#endif
+extern void *realloc_throw(void* asm("a0"),long asm("d0"))__ATTR_LIB_ASM__;
+#if MIN_AMS>=200
+enum HeapWalkCmds{H_WALK_VERIFY=0,H_WALK_STATUS=1,H_WALK_DUMP=2
+#if MIN_AMS>=204
+,H_WALK_SYM=3
+#endif
+};
+#define HeapShuffle _rom_call(void,(void),474)
+#define HeapWalk _rom_call(short,(short),12C)
+#endif
+/* End Auto-Generated Part */
+
+#endif

Разница между файлами не показана из-за своего большого размера
+ 35 - 0
tigcc/include/C/args.h


+ 27 - 0
tigcc/include/C/asmtypes.h

@@ -0,0 +1,27 @@
+#ifndef __ASMTYPES
+#define __ASMTYPES
+
+#include <default.h>
+
+/* Begin Auto-Generated Part */
+typedef unsigned short BOOL;
+typedef unsigned char BYTE;
+typedef unsigned long DWORD;
+typedef signed char SBYTE;
+typedef signed char SCHAR;
+typedef signed long SDWORD;
+typedef signed int SINT;
+typedef signed long SLONG;
+typedef signed short SSHORT;
+typedef signed short SWORD;
+typedef unsigned char UBYTE;
+typedef unsigned char UCHAR;
+typedef unsigned long UDWORD;
+typedef unsigned int UINT;
+typedef unsigned long ULONG;
+typedef unsigned short USHORT;
+typedef unsigned short UWORD;
+typedef unsigned short WORD;
+/* End Auto-Generated Part */
+
+#endif

+ 18 - 0
tigcc/include/C/assert.h

@@ -0,0 +1,18 @@
+#ifndef __ASSERT
+#define __ASSERT
+
+#include <default.h>
+
+#ifndef NDEBUG
+
+extern void __assertion_failed(const char*,const char*,short)__ATTR_LIB_ASM_NORETURN__;
+
+/* Begin Auto-Generated Part */
+#define assert(p) ((p)?(void)0:__assertion_failed(#p,__FILE__,__LINE__))
+/* End Auto-Generated Part */
+
+#else
+#define assert(p) ((void)0)
+#endif
+
+#endif

+ 160 - 0
tigcc/include/C/bascmd.h

@@ -0,0 +1,160 @@
+#ifndef __BASCMD
+#define __BASCMD
+
+#include <default.h>
+
+/* Begin Auto-Generated Part */
+#ifndef __HAVE_ESQ
+#define __HAVE_ESQ
+typedef unsigned char ESQ;
+#endif
+#ifndef __HAVE_CESI
+#define __HAVE_CESI
+typedef const ESQ*CESI;
+#endif
+#ifndef __HAVE_ESI
+#define __HAVE_ESI
+typedef ESQ*ESI;
+#endif
+#define EStackIndex ESI
+#define Quantum ESQ
+#ifndef __HAVE_SYM_STR
+#define __HAVE_SYM_STR
+typedef CESI SYM_STR;
+#endif
+#if MIN_AMS>=101
+#define cmd_andpic ({__need_in_use_bit;_rom_call(void,(SYM_STR,CESI,CESI),32A);})
+#define cmd_blddata ({__need_in_use_bit;_rom_call(void,(ESI),32B);})
+#define cmd_circle ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI,CESI),32C);})
+#define cmd_clrdraw _rom_call(void,(void),32D)
+#define cmd_clrerr ({__need_in_use_bit;_rom_call(void,(void),32E);})
+#define cmd_clrgraph ({__need_in_use_bit;_rom_call(void,(void),32F);})
+#define cmd_clrhome _rom_call(void,(void),330)
+#define cmd_clrio _rom_call(void,(void),331)
+#define cmd_clrtable ({__need_in_use_bit;_rom_call(void,(void),332);})
+#define cmd_copyvar ({__need_in_use_bit;_rom_call(void,(SYM_STR,SYM_STR),333);})
+#define cmd_cubicreg ({__need_in_use_bit;_rom_call(void,(ESI),334);})
+#define cmd_custmoff _rom_call(void,(void),335)
+#define cmd_custmon _rom_call(void,(void),336)
+#define cmd_custom ({__need_in_use_bit;_rom_call(void,(void),337);})
+#define cmd_cycle _rom_call(void,(void),338)
+#define cmd_cyclepic ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI,CESI,CESI),339);})
+#define cmd_delfold ({__need_in_use_bit;_rom_call(void,(CESI),33A);})
+#define cmd_delvar ({__need_in_use_bit;_rom_call(void,(CESI),33B);})
+#define cmd_dialog ({__need_in_use_bit;_rom_call(void,(void),33C);})
+#define cmd_disp ({__need_in_use_bit;_rom_call(void,(CESI),33D);})
+#define cmd_dispg _rom_call(void,(void),33E)
+#define cmd_disphome ({__need_in_use_bit;_rom_call(void,(void),33F);})
+#define cmd_disptbl ({__need_in_use_bit;_rom_call(void,(void),340);})
+#define cmd_drawfunc ({__need_in_use_bit;_rom_call(void,(CESI),341);})
+#define cmd_drawinv ({__need_in_use_bit;_rom_call(void,(CESI),342);})
+#define cmd_drawparm ({__need_in_use_bit;_rom_call(void,(CESI),343);})
+#define cmd_drawpol ({__need_in_use_bit;_rom_call(void,(CESI),344);})
+#define cmd_else _rom_call(void,(void),345)
+#define cmd_endfor ({__need_in_use_bit;_rom_call(void,(void),346);})
+#define cmd_endloop _rom_call(void,(void),347)
+#define cmd_endtry ({__need_in_use_bit;_rom_call(void,(void),348);})
+#define cmd_endwhile ({__need_in_use_bit;_rom_call(void,(void),349);})
+#define cmd_exit _rom_call(void,(void),34A)
+#define cmd_expreg ({__need_in_use_bit;_rom_call(void,(ESI),34B);})
+#define cmd_fill ({__need_in_use_bit;_rom_call(void,(CESI,SYM_STR),34C);})
+#define cmd_fnoff ({__need_in_use_bit;_rom_call(void,(CESI),34D);})
+#define cmd_fnon ({__need_in_use_bit;_rom_call(void,(CESI),34E);})
+#define cmd_for ({__need_in_use_bit;_rom_call(void,(SYM_STR,CESI,CESI,CESI),34F);})
+#define cmd_get ({__need_in_use_bit;_rom_call(void,(SYM_STR),350);})
+#define cmd_getcalc ({__need_in_use_bit;_rom_call(void,(SYM_STR),351);})
+#define cmd_goto _rom_call(void,(SYM_STR),352)
+#define cmd_graph ({__need_in_use_bit;_rom_call(void,(CESI),353);})
+#define cmd_if ({__need_in_use_bit;_rom_call(void,(CESI),354);})
+#define cmd_ifthen ({__need_in_use_bit;_rom_call(void,(CESI),355);})
+#define cmd_input ({__need_in_use_bit;_rom_call(void,(CESI),356);})
+#define cmd_inputstr ({__need_in_use_bit;_rom_call(void,(ESI),357);})
+#define cmd_line ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI,CESI,CESI),358);})
+#define cmd_linehorz ({__need_in_use_bit;_rom_call(void,(CESI,CESI),359);})
+#define cmd_linetan ({__need_in_use_bit;_rom_call(void,(CESI,CESI),35A);})
+#define cmd_linevert ({__need_in_use_bit;_rom_call(void,(CESI,CESI),35B);})
+#define cmd_linreg ({__need_in_use_bit;_rom_call(void,(ESI),35C);})
+#define cmd_lnreg ({__need_in_use_bit;_rom_call(void,(ESI),35D);})
+#define cmd_local _rom_call(void,(CESI),35E)
+#define cmd_lock ({__need_in_use_bit;_rom_call(void,(CESI),35F);})
+#define cmd_logistic ({__need_in_use_bit;_rom_call(void,(ESI),360);})
+#define cmd_medmed ({__need_in_use_bit;_rom_call(void,(ESI),361);})
+#define cmd_movevar ({__need_in_use_bit;_rom_call(void,(SYM_STR,SYM_STR,SYM_STR),362);})
+#define cmd_newdata ({__need_in_use_bit;_rom_call(void,(CESI),363);})
+#define cmd_newfold ({__need_in_use_bit;_rom_call(void,(SYM_STR),364);})
+#define cmd_newpic ({__need_in_use_bit;_rom_call(void,(ESI,SYM_STR,ESI,ESI),365);})
+#define cmd_newplot _rom_call(void,(ESI),366)
+#define cmd_newprob ({__need_in_use_bit;_rom_call(void,(void),367);})
+#define cmd_onevar ({__need_in_use_bit;_rom_call(void,(ESI),368);})
+#define cmd_output ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI),369);})
+#define cmd_passerr ({__need_in_use_bit;_rom_call(void,(void),36A);})
+#define cmd_pause ({__need_in_use_bit;_rom_call(void,(CESI),36B);})
+#define cmd_plotsoff _rom_call(void,(CESI),36C)
+#define cmd_plotson _rom_call(void,(CESI),36D)
+#define cmd_popup ({__need_in_use_bit;_rom_call(void,(ESI,ESI),36E);})
+#define cmd_powerreg ({__need_in_use_bit;_rom_call(void,(ESI),36F);})
+#define cmd_printobj _rom_call(void,(SYM_STR),370)
+#define cmd_prompt ({__need_in_use_bit;_rom_call(void,(CESI),371);})
+#define cmd_ptchg ({__need_in_use_bit;_rom_call(void,(CESI,CESI),372);})
+#define cmd_ptoff ({__need_in_use_bit;_rom_call(void,(CESI,CESI),373);})
+#define cmd_pton ({__need_in_use_bit;_rom_call(void,(CESI,CESI),374);})
+#define cmd_pttext ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI),375);})
+#define cmd_pxlchg ({__need_in_use_bit;_rom_call(void,(CESI,CESI),376);})
+#define cmd_pxlcircle _rom_call(void,(CESI,CESI,CESI,CESI),377)
+#define cmd_pxlhorz _rom_call(void,(CESI,CESI),378)
+#define cmd_pxlline _rom_call(void,(CESI,CESI,CESI,CESI,CESI),379)
+#define cmd_pxloff ({__need_in_use_bit;_rom_call(void,(CESI,CESI),37A);})
+#define cmd_pxlon ({__need_in_use_bit;_rom_call(void,(CESI,CESI),37B);})
+#define cmd_pxltext ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI),37C);})
+#define cmd_pxlvert _rom_call(void,(CESI,CESI),37D)
+#define cmd_quadreg ({__need_in_use_bit;_rom_call(void,(ESI),37E);})
+#define cmd_quartreg ({__need_in_use_bit;_rom_call(void,(ESI),37F);})
+#define cmd_randseed ({__need_in_use_bit;_rom_call(void,(CESI),380);})
+#define cmd_rclgdb ({__need_in_use_bit;_rom_call(void,(SYM_STR),381);})
+#define cmd_rclpic ({__need_in_use_bit;_rom_call(void,(SYM_STR,CESI,CESI),382);})
+#define cmd_rename ({__need_in_use_bit;_rom_call(void,(SYM_STR,SYM_STR),383);})
+#define cmd_request ({__need_in_use_bit;_rom_call(void,(CESI,SYM_STR),384);})
+#define cmd_return ({__need_in_use_bit;_rom_call(void,(CESI),385);})
+#define cmd_rplcpic ({__need_in_use_bit;_rom_call(void,(SYM_STR,CESI,CESI),386);})
+#define cmd_send _rom_call(void,(CESI),387)
+#define cmd_sendcalc ({__need_in_use_bit;_rom_call(void,(SYM_STR),388);})
+#define cmd_sendchat ({__need_in_use_bit;_rom_call(void,(SYM_STR),389);})
+#define cmd_shade ({__need_in_use_bit;_rom_call(void,(ESI),38A);})
+#define cmd_showstat ({__need_in_use_bit;_rom_call(void,(void),38B);})
+#define cmd_sinreg ({__need_in_use_bit;_rom_call(void,(ESI),38C);})
+#define cmd_slpline ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI),38D);})
+#define cmd_sorta ({__need_in_use_bit;_rom_call(void,(ESI),38E);})
+#define cmd_sortd ({__need_in_use_bit;_rom_call(void,(ESI),38F);})
+#define cmd_stogdb ({__need_in_use_bit;_rom_call(void,(SYM_STR),390);})
+#define cmd_stopic ({__need_in_use_bit;_rom_call(void,(ESI),391);})
+#define cmd_style ({__need_in_use_bit;_rom_call(void,(CESI,CESI),392);})
+#define cmd_table ({__need_in_use_bit;_rom_call(void,(ESI),393);})
+#define cmd_text ({__need_in_use_bit;_rom_call(void,(CESI),394);})
+#define cmd_toolbar ({__need_in_use_bit;_rom_call(void,(void),395);})
+#define cmd_trace _rom_call(void,(void),396)
+#define cmd_try ({__need_in_use_bit;_rom_call(void,(void),397);})
+#define cmd_twovar ({__need_in_use_bit;_rom_call(void,(ESI),398);})
+#define cmd_unlock ({__need_in_use_bit;_rom_call(void,(CESI),399);})
+#define cmd_while ({__need_in_use_bit;_rom_call(void,(CESI),39A);})
+#define cmd_xorpic ({__need_in_use_bit;_rom_call(void,(SYM_STR,CESI,CESI),39B);})
+#define cmd_zoombox _rom_call(void,(void),39C)
+#define cmd_zoomdata _rom_call(void,(void),39D)
+#define cmd_zoomdec _rom_call(void,(void),39E)
+#define cmd_zoomfit _rom_call(void,(void),39F)
+#define cmd_zoomin _rom_call(void,(void),3A0)
+#define cmd_zoomint _rom_call(void,(void),3A1)
+#define cmd_zoomout _rom_call(void,(void),3A2)
+#define cmd_zoomprev _rom_call(void,(void),3A3)
+#define cmd_zoomrcl _rom_call(void,(void),3A4)
+#define cmd_zoomsqr _rom_call(void,(void),3A5)
+#define cmd_zoomstd _rom_call(void,(void),3A6)
+#define cmd_zoomsto _rom_call(void,(void),3A7)
+#define cmd_zoomtrig _rom_call(void,(void),3A8)
+#if MIN_AMS>=200
+#define cmd_archive ({__need_in_use_bit;_rom_call(void,(CESI),448);})
+#define cmd_unarchiv ({__need_in_use_bit;_rom_call(void,(CESI),449);})
+#endif
+#endif
+/* End Auto-Generated Part */
+
+#endif

+ 165 - 0
tigcc/include/C/basfunc.h

@@ -0,0 +1,165 @@
+#ifndef __BASFUNC
+#define __BASFUNC
+
+#include <default.h>
+
+/* Begin Auto-Generated Part */
+#define NULL_INDEX ((CESI)0)
+#ifndef __HAVE_ESQ
+#define __HAVE_ESQ
+typedef unsigned char ESQ;
+#endif
+#ifndef __HAVE_CESI
+#define __HAVE_CESI
+typedef const ESQ*CESI;
+#endif
+#ifndef __HAVE_ESI
+#define __HAVE_ESI
+typedef ESQ*ESI;
+#endif
+#define EStackIndex ESI
+#define Quantum ESQ
+#ifndef __HAVE_SYM_STR
+#define __HAVE_SYM_STR
+typedef CESI SYM_STR;
+#endif
+#if MIN_AMS>=101
+#define push_getfold _rom_call(void,(void),317)
+#define push_getkey ({__need_in_use_bit;_rom_call(void,(void),316);})
+#define push_getmode _rom_call(void,(CESI),318)
+#define push_gettype ({__need_in_use_bit;_rom_call(void,(CESI),319);})
+#define push_instring _rom_call(void,(CESI,CESI,CESI),31A)
+#define push_part ({__need_in_use_bit;_rom_call(void,(),31C);})
+#define push_pttest ({__need_in_use_bit;_rom_call(void,(CESI,CESI),31D);})
+#define push_pxltest ({__need_in_use_bit;_rom_call(void,(CESI,CESI),31E);})
+#define push_rand _rom_call(void,(CESI),31F)
+#define push_randpoly ({__need_in_use_bit;_rom_call(void,(CESI,CESI),320);})
+#define push_setfold ({__need_in_use_bit;_rom_call(void,(CESI),321);})
+#define push_setgraph _rom_call(void,(CESI,CESI),322)
+#define push_setmode ({__need_in_use_bit;_rom_call(void,(CESI,CESI),323);})
+#define push_settable _rom_call(void,(CESI,CESI),324)
+#define push_str_to_expr ({__need_in_use_bit;_rom_call(void,(CESI),325);})
+#define push_string _rom_call(void,(CESI),326)
+#define push_switch ({__need_in_use_bit;_rom_call(void,(CESI),327);})
+#if MIN_AMS>=200
+#define push_approx ({__need_in_use_bit;_rom_call(void,(CESI),4F7);})
+#define push_augment _rom_call(void,(CESI,CESI),496)
+#define push_char _rom_call(void,(CESI),497)
+#define push_coldim _rom_call(void,(CESI),498)
+#define push_colnorm ({__need_in_use_bit;_rom_call(void,(CESI),499);})
+#define push_cross_product ({__need_in_use_bit;_rom_call(void,(CESI,CESI),4CE);})
+#define push_cumsum ({__need_in_use_bit;_rom_call(void,(CESI),49A);})
+#define push_determinant ({__need_in_use_bit;_rom_call(void,(CESI,CESI),49D);})
+#define push_diag _rom_call(void,(CESI),49E)
+#define push_dimension _rom_call(void,(CESI),49F)
+#define push_dotproduct ({__need_in_use_bit;_rom_call(void,(CESI,CESI),4A3);})
+#define push_eigvc ({__need_in_use_bit;_rom_call(void,(CESI),4CF);})
+#define push_eigvl ({__need_in_use_bit;_rom_call(void,(CESI),4D0);})
+#define push_identity_mat _rom_call(void,(CESI),4A4)
+#define push_left _rom_call(void,(CESI,CESI),4A5)
+#define push_list_to_mat _rom_call(void,(CESI,CESI),4A6)
+#define push_mat_to_list _rom_call(void,(CESI),4A8)
+#define push_matnorm ({__need_in_use_bit;_rom_call(void,(CESI),4A7);})
+#define push_mean ({__need_in_use_bit;_rom_call(void,(CESI),4A9);})
+#define push_median ({__need_in_use_bit;_rom_call(void,(CESI),4AA);})
+#define push_mid _rom_call(void,(CESI,CESI,CESI),4AB)
+#define push_mrow ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI),4AC);})
+#define push_mrowadd ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI,CESI),4AD);})
+#define push_newlist _rom_call(void,(CESI),4AE)
+#define push_newmat _rom_call(void,(CESI,CESI),4AF)
+#define push_ord _rom_call(void,(CESI),4B0)
+#define push_prodlist ({__need_in_use_bit;_rom_call(void,(CESI),4B2);})
+#define push_randmat _rom_call(void,(CESI,CESI),4B4)
+#define push_randnorm ({__need_in_use_bit;_rom_call(void,(CESI,CESI),4B5);})
+#define push_red_row_ech ({__need_in_use_bit;_rom_call(void,(CESI,CESI),4B6);})
+#define push_right _rom_call(void,(CESI,CESI),4B7)
+#define push_rotate ({__need_in_use_bit;_rom_call(void,(CESI,CESI),4B8);})
+#define push_round ({__need_in_use_bit;_rom_call(void,(CESI,CESI),4B9);})
+#define push_row_echelon ({__need_in_use_bit;_rom_call(void,(CESI,CESI),4BE);})
+#define push_rowadd ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI),4BA);})
+#define push_rowdim ({__need_in_use_bit;_rom_call(void,(CESI),4BB);})
+#define push_rownorm ({__need_in_use_bit;_rom_call(void,(CESI),4BC);})
+#define push_rowswap _rom_call(void,(CESI,CESI,CESI),4BD)
+#define push_sequence ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI,CESI,CESI),4BF);})
+#define push_shift ({__need_in_use_bit;_rom_call(void,(CESI,CESI),4C0);})
+#define push_simult ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI),4C1);})
+#define push_stddev ({__need_in_use_bit;_rom_call(void,(CESI),4C3);})
+#define push_submat _rom_call(void,(CESI,CESI,CESI,CESI,CESI),4C4)
+#define push_sumlist ({__need_in_use_bit;_rom_call(void,(CESI),4C5);})
+#define push_unitv ({__need_in_use_bit;_rom_call(void,(CESI),4C8);})
+#define push_variance ({__need_in_use_bit;_rom_call(void,(CESI),4C9);})
+#if MIN_AMS>=202
+#define did_push_anti_deriv ({__need_in_use_bit;_rom_call(short,(CESI,CESI,short),5B1);})
+#define did_push_series ({__need_in_use_bit;_rom_call(short,(CESI,CESI,CESI,CESI,short),588);})
+#define push_1st_derivative ({__need_in_use_bit;_rom_call(void,(CESI,CESI),5AE);})
+#define push_abs ({__need_in_use_bit;_rom_call(void,(CESI),543);})
+#define push_acos ({__need_in_use_bit;_rom_call(void,(CESI),537);})
+#define push_acosh ({__need_in_use_bit;_rom_call(void,(CESI),53E);})
+#define push_asin ({__need_in_use_bit;_rom_call(void,(CESI),536);})
+#define push_asinh ({__need_in_use_bit;_rom_call(void,(CESI),53D);})
+#define push_atan ({__need_in_use_bit;_rom_call(void,(CESI),538);})
+#define push_atanh ({__need_in_use_bit;_rom_call(void,(CESI),53F);})
+#define push_ceiling ({__need_in_use_bit;_rom_call(void,(CESI),54B);})
+#define push_comb ({__need_in_use_bit;_rom_call(void,(CESI,CESI),542);})
+#define push_comdenom ({__need_in_use_bit;_rom_call(void,(CESI,CESI),59B);})
+#define push_conj ({__need_in_use_bit;_rom_call(void,(CESI),547);})
+#define push_cos ({__need_in_use_bit;_rom_call(void,(CESI),533);})
+#define push_cosh ({__need_in_use_bit;_rom_call(void,(CESI),53B);})
+#define push_csolve ({__need_in_use_bit;_rom_call(void,(CESI,CESI),585);})
+#define push_czeros ({__need_in_use_bit;_rom_call(void,(CESI,CESI),587);})
+#define push_def_int ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI,CESI),5B2);})
+#define push_denominator ({__need_in_use_bit;_rom_call(void,(CESI),55B);})
+#define push_desolve ({__need_in_use_bit;_rom_call(void,(CESI),58B);})
+#define push_exp ({__need_in_use_bit;_rom_call(void,(CESI),52E);})
+#define push_expand ({__need_in_use_bit;_rom_call(void,(CESI,CESI,short),59A);})
+#define push_extended_prod ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI,CESI),5B5);})
+#define push_factor ({__need_in_use_bit;_rom_call(void,(CESI,CESI,short),59C);})
+#define push_floor ({__need_in_use_bit;_rom_call(void,(CESI),54A);})
+#define push_fractional_part ({__need_in_use_bit;_rom_call(void,(CESI),54E);})
+#define push_gcd_numbers _rom_call(void,(CESI,CESI),514)
+#define push_im ({__need_in_use_bit;_rom_call(void,(CESI),546);})
+#define push_integer_gcd _rom_call(void,(CESI,CESI),551)
+#define push_integer_lcm ({__need_in_use_bit;_rom_call(void,(CESI,CESI),552);})
+#define push_integer_part ({__need_in_use_bit;_rom_call(void,(CESI),54D);})
+#define push_integer_quotient ({__need_in_use_bit;_rom_call(void,(CESI,CESI),54F);})
+#define push_integer_remainder ({__need_in_use_bit;_rom_call(void,(CESI,CESI),550);})
+#define push_is_prime ({__need_in_use_bit;_rom_call(void,(CESI),515);})
+#define push_lim ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI,CESI),5AD);})
+#define push_ln ({__need_in_use_bit;_rom_call(void,(CESI),52F);})
+#define push_log10 ({__need_in_use_bit;_rom_call(void,(CESI),530);})
+#define push_max1 ({__need_in_use_bit;_rom_call(void,(CESI),554);})
+#define push_max2 ({__need_in_use_bit;_rom_call(void,(CESI,CESI),599);})
+#define push_max ({__need_in_use_bit;_rom_call(void,(CESI,CESI),58A);})
+#define push_min1 ({__need_in_use_bit;_rom_call(void,(CESI),553);})
+#define push_min2 ({__need_in_use_bit;_rom_call(void,(CESI,CESI),598);})
+#define push_min ({__need_in_use_bit;_rom_call(void,(CESI,CESI),589);})
+#define push_mod ({__need_in_use_bit;_rom_call(void,(CESI,CESI),54C);})
+#define push_nint ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI,CESI),5B3);})
+#define push_nsolve ({__need_in_use_bit;_rom_call(void,(CESI,CESI),583);})
+#define push_nth_derivative ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI),5AF);})
+#define push_numerator ({__need_in_use_bit;_rom_call(void,(CESI),55A);})
+#define push_perm ({__need_in_use_bit;_rom_call(void,(CESI,CESI),541);})
+#define push_phase ({__need_in_use_bit;_rom_call(void,(CESI),548);})
+#define push_r_cis ({__need_in_use_bit;_rom_call(void,(CESI,CESI),549);})
+#define push_re ({__need_in_use_bit;_rom_call(void,(CESI),545);})
+#define push_rec_to_angle ({__need_in_use_bit;_rom_call(void,(CESI,CESI),539);})
+#define push_sign ({__need_in_use_bit;_rom_call(void,(CESI),544);})
+#define push_sin2 ({__need_in_use_bit;_rom_call(void,(CESI,CESI),531);})
+#define push_sin ({__need_in_use_bit;_rom_call(void,(CESI),532);})
+#define push_sinh ({__need_in_use_bit;_rom_call(void,(CESI),53A);})
+#define push_solve ({__need_in_use_bit;_rom_call(void,(CESI,CESI),584);})
+#define push_sqrt ({__need_in_use_bit;_rom_call(void,(CESI),52B);})
+#define push_summation ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI,CESI),5B4);})
+#define push_tan ({__need_in_use_bit;_rom_call(void,(CESI),534);})
+#define push_tanh ({__need_in_use_bit;_rom_call(void,(CESI),53C);})
+#define push_when ({__need_in_use_bit;_rom_call(void,(CESI),57D);})
+#define push_zeros ({__need_in_use_bit;_rom_call(void,(CESI,CESI),586);})
+#endif
+#endif
+#endif
+/* End Auto-Generated Part */
+
+#define push_subst_no_simp push_substitute_no_simplify
+#define push_nSolve push_nsolve
+
+#endif

+ 74 - 0
tigcc/include/C/basop.h

@@ -0,0 +1,74 @@
+#ifndef __BASOP
+#define __BASOP
+
+#include <default.h>
+
+/* Begin Auto-Generated Part */
+#ifndef __HAVE_ESQ
+#define __HAVE_ESQ
+typedef unsigned char ESQ;
+#endif
+#ifndef __HAVE_CESI
+#define __HAVE_CESI
+typedef const ESQ*CESI;
+#endif
+#ifndef __HAVE_ESI
+#define __HAVE_ESI
+typedef ESQ*ESI;
+#endif
+#define EStackIndex ESI
+#define Quantum ESQ
+#ifndef __HAVE_SYM_STR
+#define __HAVE_SYM_STR
+typedef CESI SYM_STR;
+#endif
+#if MIN_AMS>=101
+#define did_push_to_polar ({__need_in_use_bit;_rom_call(short,(),313);})
+#define push_degrees ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI),314);})
+#define push_indir_name ({__need_in_use_bit;_rom_call(void,(CESI),2B2);})
+#define push_list_plus ({__need_in_use_bit;_rom_call(void,(CESI,CESI),3BD);})
+#define push_list_times ({__need_in_use_bit;_rom_call(void,(CESI,CESI),3BE);})
+#define push_matrix_product ({__need_in_use_bit;_rom_call(void,(CESI,CESI),3C5);})
+#define push_pow _rom_call(void,(CESI,CESI),30F)
+#define push_to_cylin ({__need_in_use_bit;_rom_call(void,(),328);})
+#define push_to_sphere ({__need_in_use_bit;_rom_call(void,(),329);})
+#if MIN_AMS>=200
+#define push_assignment ({__need_in_use_bit;_rom_call(void,(CESI),4DD);})
+#define push_dot_add ({__need_in_use_bit;_rom_call(void,(CESI,CESI),4A0);})
+#define push_dot_div ({__need_in_use_bit;_rom_call(void,(CESI,CESI),4CD);})
+#define push_dot_mult ({__need_in_use_bit;_rom_call(void,(CESI,CESI),4A1);})
+#define push_dot_sub ({__need_in_use_bit;_rom_call(void,(CESI,CESI),4A2);})
+#define push_radians ({__need_in_use_bit;_rom_call(void,(CESI),4B3);})
+#define push_substitute_no_simplify _rom_call(void,(CESI,CESI,CESI),489)
+#if MIN_AMS>=202
+#define push_and ({__need_in_use_bit;_rom_call(void,(CESI,CESI),5AB);})
+#define push_arg_minus_1 ({__need_in_use_bit;_rom_call(void,(CESI),520);})
+#define push_arg_plus_1 ({__need_in_use_bit;_rom_call(void,(CESI),51F);})
+#define push_difference ({__need_in_use_bit;_rom_call(void,(CESI,CESI),51A);})
+#define push_dot_exponentiate ({__need_in_use_bit;_rom_call(void,(CESI,CESI),596);})
+#define push_equals ({__need_in_use_bit;_rom_call(void,(CESI,CESI),5A3);})
+#define push_exponentiate ({__need_in_use_bit;_rom_call(void,(CESI,CESI),595);})
+#define push_factorial ({__need_in_use_bit;_rom_call(void,(CESI),540);})
+#define push_greater_than ({__need_in_use_bit;_rom_call(void,(CESI,CESI),5A5);})
+#define push_greater_than_or_equals ({__need_in_use_bit;_rom_call(void,(CESI,CESI),5A7);})
+#define push_less_than ({__need_in_use_bit;_rom_call(void,(CESI,CESI),5A6);})
+#define push_less_than_or_equals ({__need_in_use_bit;_rom_call(void,(CESI,CESI),5A8);})
+#define push_negate ({__need_in_use_bit;_rom_call(void,(CESI),524);})
+#define push_not ({__need_in_use_bit;_rom_call(void,(CESI),5AA);})
+#define push_not_equals ({__need_in_use_bit;_rom_call(void,(CESI,CESI),5A4);})
+#define push_or _rom_call(void,(CESI,CESI),5AC)
+#define push_percent ({__need_in_use_bit;_rom_call(void,(CESI),555);})
+#define push_product ({__need_in_use_bit;_rom_call(void,(CESI,CESI),521);})
+#define push_ratio ({__need_in_use_bit;_rom_call(void,(CESI,CESI),526);})
+#define push_square ({__need_in_use_bit;_rom_call(void,(CESI),52C);})
+#define push_sum ({__need_in_use_bit;_rom_call(void,(CESI,CESI),594);})
+#if MIN_AMS>=204
+#define push_substitute_simplify ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI),5B9);})
+#define push_substitute_using_such_that ({__need_in_use_bit;_rom_call(void,(CESI,CESI,CESI),5BE);})
+#endif
+#endif
+#endif
+#endif
+/* End Auto-Generated Part */
+
+#endif

+ 45 - 0
tigcc/include/C/cert.h

@@ -0,0 +1,45 @@
+#ifndef __CERT
+#define __CERT
+
+#include <default.h>
+
+/* Begin Auto-Generated Part */
+#define H_NULL 0
+#define NULL ((void*)0)
+#ifndef __HAVE_Bool
+#define __HAVE_Bool
+enum Bool{FALSE,TRUE};
+#endif
+#ifndef __HAVE_HANDLE
+#define __HAVE_HANDLE
+typedef unsigned short HANDLE;
+#endif
+#ifndef __HAVE_size_t
+#define __HAVE_size_t
+typedef unsigned long size_t;
+#endif
+typedef struct{unsigned short Field;unsigned short HdrLen;unsigned long Len;void*Data;}CERT_FIELD;
+typedef struct{void*Start,*Pos,*End;short EOFVal;}CFILE;
+#define ceof _rom_call(short,(CFILE*),128)
+#define cfindfield _rom_call(short,(CFILE*,short,CERT_FIELD*),12A)
+#define cgetc _rom_call(unsigned char,(CFILE*),12B)
+#define cgetcertrevno _rom_call(short,(__plong),2A0)
+#define cgetflen _rom_call(unsigned long,(CFILE*,short),12D)
+#define cgetfnl _rom_call(long,(CERT_FIELD*),12E)
+#define cgetnl _rom_call(long,(CFILE*),12F)
+#define cgetns _rom_call(short,(CFILE*),130)
+#define cgetsn _rom_call(void,(char*),2A1)
+#define copen _rom_call(void,(CFILE*,char*,long),132)
+#define copensub _rom_call(void,(CFILE*,CERT_FIELD*),133)
+#define cputhdr _rom_call(short,(CFILE*,short,short),134)
+#define cputnl _rom_call(void,(CFILE*,long),135)
+#define cputns _rom_call(void,(CFILE*,short),136)
+#define cread _rom_call(short,(CFILE*,CERT_FIELD*),137)
+#define ctell _rom_call(unsigned long,(CFILE*),138)
+#define cwrite _rom_call(short,(CFILE*,CERT_FIELD*),139)
+#if MIN_AMS>=200
+#define CertificateMemory ((unsigned char*const)(_rom_call_addr(43E)))
+#endif
+/* End Auto-Generated Part */
+
+#endif

+ 198 - 0
tigcc/include/C/compat.h

@@ -0,0 +1,198 @@
+#ifndef __COMPAT
+#define __COMPAT
+
+#include <default.h>
+
+/* Begin Auto-Generated Part */
+#define KEY_DIAMOND (PSEUDO_CONST_KBD(16384,8192))
+#define KEY_DOWN (PSEUDO_CONST_KBD(340,344))
+#define KEY_DOWNLEFT (PSEUDO_CONST_KBD(342,345))
+#define KEY_LEFT (PSEUDO_CONST_KBD(338,337))
+#define KEY_OFF2 (PSEUDO_CONST_KBD(16651,8459))
+#define KEY_RIGHT (PSEUDO_CONST_KBD(344,340))
+#define KEY_SHIFT (PSEUDO_CONST_KBD(8192,16384))
+#define KEY_UP (PSEUDO_CONST_KBD(337,338))
+#define KEY_UPRIGHT (PSEUDO_CONST_KBD(345,342))
+#define LCD_HEIGHT (PSEUDO_CONST_SCREEN(100,128))
+#define LCD_LINE_BYTES (PSEUDO_CONST_SCREEN(20,30))
+#define LCD_WIDTH (PSEUDO_CONST_SCREEN(160,240))
+#define RR_0 (PSEUDO_CONST_KBD(4,9)),(PSEUDO_CONST_KBD(0,5))
+#define RR_1 (PSEUDO_CONST_KBD(4,1)),(PSEUDO_CONST_KBD(1,5))
+#define RR_2 (PSEUDO_CONST_KBD(3,1)),(PSEUDO_CONST_KBD(1,6))
+#define RR_3 (PSEUDO_CONST_KBD(2,1)),(PSEUDO_CONST_KBD(1,7))
+#define RR_4 (PSEUDO_CONST_KBD(4,2)),(PSEUDO_CONST_KBD(2,5))
+#define RR_5 (PSEUDO_CONST_KBD(3,2)),(PSEUDO_CONST_KBD(2,6))
+#define RR_6 2,(PSEUDO_CONST_KBD(2,7))
+#define RR_7 (PSEUDO_CONST_KBD(4,3)),(PSEUDO_CONST_KBD(3,5))
+#define RR_8 3,(PSEUDO_CONST_KBD(3,6))
+#define RR_9 (PSEUDO_CONST_KBD(2,3)),(PSEUDO_CONST_KBD(3,7))
+#define RR_2ND 0,(PSEUDO_CONST_KBD(4,0))
+#define RR_A (PSEUDO_CONST_KBD(RR_NO_KEY,9)),(PSEUDO_CONST_KBD(RR_NO_KEY,2))
+#define RR_ALPHA (PSEUDO_CONST_KBD(0,RR_NO_KEY)),(PSEUDO_CONST_KBD(7,RR_NO_KEY))
+#define RR_APPS (PSEUDO_CONST_KBD(5,7)),(PSEUDO_CONST_KBD(0,6))
+#define RR_B (PSEUDO_CONST_KBD(RR_NO_KEY,5)),(PSEUDO_CONST_KBD(RR_NO_KEY,1))
+#define RR_BCKSPC (PSEUDO_CONST_KBD(2,8)),(PSEUDO_CONST_KBD(6,0))
+#define RR_C (PSEUDO_CONST_KBD(RR_NO_KEY,3)),(PSEUDO_CONST_KBD(RR_NO_KEY,1))
+#define RR_CATALOG (PSEUDO_CONST_KBD(3,RR_NO_KEY)),(PSEUDO_CONST_KBD(6,RR_NO_KEY))
+#define RR_CLEAR (PSEUDO_CONST_KBD(1,7)),(PSEUDO_CONST_KBD(6,5))
+#define RR_COMMA (PSEUDO_CONST_KBD(2,4)),(PSEUDO_CONST_KBD(4,7))
+#define RR_COS (PSEUDO_CONST_KBD(RR_NO_KEY,5)),(PSEUDO_CONST_KBD(RR_NO_KEY,6))
+#define RR_D (PSEUDO_CONST_KBD(RR_NO_KEY,2)),(PSEUDO_CONST_KBD(RR_NO_KEY,2))
+#define RR_DIAMOND 0,(PSEUDO_CONST_KBD(6,1))
+#define RR_DIVIDE (PSEUDO_CONST_KBD(1,5)),(PSEUDO_CONST_KBD(4,0))
+#define RR_DOT (PSEUDO_CONST_KBD(3,9)),(PSEUDO_CONST_KBD(0,6))
+#define RR_DOWN 0,(PSEUDO_CONST_KBD(2,7))
+#define RR_E (PSEUDO_CONST_KBD(RR_NO_KEY,2)),(PSEUDO_CONST_KBD(RR_NO_KEY,3))
+#define RR_EE (PSEUDO_CONST_KBD(5,RR_NO_KEY)),(PSEUDO_CONST_KBD(2,RR_NO_KEY))
+#define RR_ENTER1 (PSEUDO_CONST_KBD(1,9)),(PSEUDO_CONST_KBD(0,1))
+#define RR_ENTER2 (PSEUDO_CONST_KBD(1,6)),(PSEUDO_CONST_KBD(0,6))
+#define RR_ENTER RR_ENTER1
+#define RR_EQUALS RR_NO_KEY,RR_NO_KEY
+#define RR_ESC (PSEUDO_CONST_KBD(6,8)),(PSEUDO_CONST_KBD(0,6))
+#define RR_F1 (PSEUDO_CONST_KBD(5,6)),(PSEUDO_CONST_KBD(7,4))
+#define RR_F2 4,(PSEUDO_CONST_KBD(7,4))
+#define RR_F3 (PSEUDO_CONST_KBD(3,2)),(PSEUDO_CONST_KBD(7,4))
+#define RR_F4 (PSEUDO_CONST_KBD(2,9)),(PSEUDO_CONST_KBD(7,4))
+#define RR_F5 (PSEUDO_CONST_KBD(1,7)),(PSEUDO_CONST_KBD(7,4))
+#define RR_F6 (PSEUDO_CONST_KBD(RR_NO_KEY,5)),(PSEUDO_CONST_KBD(RR_NO_KEY,4))
+#define RR_F7 (PSEUDO_CONST_KBD(RR_NO_KEY,3)),(PSEUDO_CONST_KBD(RR_NO_KEY,4))
+#define RR_F8 (PSEUDO_CONST_KBD(RR_NO_KEY,1)),(PSEUDO_CONST_KBD(RR_NO_KEY,4))
+#define RR_F (PSEUDO_CONST_KBD(RR_NO_KEY,3)),(PSEUDO_CONST_KBD(RR_NO_KEY,2))
+#define RR_G (PSEUDO_CONST_KBD(RR_NO_KEY,4)),(PSEUDO_CONST_KBD(RR_NO_KEY,2))
+#define RR_H (PSEUDO_CONST_KBD(RR_NO_KEY,5)),(PSEUDO_CONST_KBD(RR_NO_KEY,2))
+#define RR_HAND (PSEUDO_CONST_KBD(RR_NO_KEY,0)),(PSEUDO_CONST_KBD(RR_NO_KEY,3))
+#define RR_HOME (PSEUDO_CONST_KBD(5,RR_NO_KEY)),(PSEUDO_CONST_KBD(6,RR_NO_KEY))
+#define RR_I (PSEUDO_CONST_KBD(RR_NO_KEY,7)),(PSEUDO_CONST_KBD(RR_NO_KEY,3))
+#define RR_J (PSEUDO_CONST_KBD(RR_NO_KEY,6)),(PSEUDO_CONST_KBD(RR_NO_KEY,2))
+#define RR_K (PSEUDO_CONST_KBD(RR_NO_KEY,7)),(PSEUDO_CONST_KBD(RR_NO_KEY,2))
+#define RR_L (PSEUDO_CONST_KBD(RR_NO_KEY,8)),(PSEUDO_CONST_KBD(RR_NO_KEY,2))
+#define RR_LEFT 0,(PSEUDO_CONST_KBD(1,4))
+#define RR_LN (PSEUDO_CONST_KBD(RR_NO_KEY,6)),(PSEUDO_CONST_KBD(RR_NO_KEY,5))
+#define RR_M (PSEUDO_CONST_KBD(RR_NO_KEY,7)),(PSEUDO_CONST_KBD(RR_NO_KEY,1))
+#define RR_MINUS (PSEUDO_CONST_KBD(1,9)),(PSEUDO_CONST_KBD(2,0))
+#define RR_MODE (PSEUDO_CONST_KBD(4,8)),(PSEUDO_CONST_KBD(6,5))
+#define RR_MULTIPLY (PSEUDO_CONST_KBD(1,7)),(PSEUDO_CONST_KBD(3,7))
+#define RR_N (PSEUDO_CONST_KBD(RR_NO_KEY,6)),(PSEUDO_CONST_KBD(RR_NO_KEY,1))
+#define RR_NEGATE (PSEUDO_CONST_KBD(2,9)),(PSEUDO_CONST_KBD(0,7))
+#define RR_NO_KEY 0xF
+#define RR_O (PSEUDO_CONST_KBD(RR_NO_KEY,8)),(PSEUDO_CONST_KBD(RR_NO_KEY,3))
+#define RR_P (PSEUDO_CONST_KBD(RR_NO_KEY,6)),(PSEUDO_CONST_KBD(RR_NO_KEY,7))
+#define RR_PAREN_CLOSE (PSEUDO_CONST_KBD(3,4)),(PSEUDO_CONST_KBD(4,6))
+#define RR_PAREN_OPEN 4,(PSEUDO_CONST_KBD(4,5))
+#define RR_PLUS (PSEUDO_CONST_KBD(1,8)),(PSEUDO_CONST_KBD(1,4))
+#define RR_POWER (PSEUDO_CONST_KBD(1,6)),(PSEUDO_CONST_KBD(5,0))
+#define RR_Q (PSEUDO_CONST_KBD(RR_NO_KEY,9)),(PSEUDO_CONST_KBD(RR_NO_KEY,3))
+#define RR_R (PSEUDO_CONST_KBD(RR_NO_KEY,3)),(PSEUDO_CONST_KBD(RR_NO_KEY,3))
+#define RR_RIGHT 0,(PSEUDO_CONST_KBD(3,6))
+#define RR_S (PSEUDO_CONST_KBD(RR_NO_KEY,1)),(PSEUDO_CONST_KBD(RR_NO_KEY,2))
+#define RR_SHIFT 0,(PSEUDO_CONST_KBD(5,2))
+#define RR_SIN (PSEUDO_CONST_KBD(RR_NO_KEY,5)),(PSEUDO_CONST_KBD(RR_NO_KEY,5))
+#define RR_SPACE (PSEUDO_CONST_KBD(RR_NO_KEY,4)),(PSEUDO_CONST_KBD(RR_NO_KEY,0))
+#define RR_STORE (PSEUDO_CONST_KBD(5,3)),(PSEUDO_CONST_KBD(1,0))
+#define RR_T (PSEUDO_CONST_KBD(2,4)),(PSEUDO_CONST_KBD(5,3))
+#define RR_TAN (PSEUDO_CONST_KBD(RR_NO_KEY,5)),(PSEUDO_CONST_KBD(RR_NO_KEY,7))
+#define RR_THETA (PSEUDO_CONST_KBD(RR_NO_KEY,8)),(PSEUDO_CONST_KBD(RR_NO_KEY,1))
+#define RR_U (PSEUDO_CONST_KBD(RR_NO_KEY,6)),(PSEUDO_CONST_KBD(RR_NO_KEY,3))
+#define RR_UP 0,(PSEUDO_CONST_KBD(0,5))
+#define RR_V (PSEUDO_CONST_KBD(RR_NO_KEY,4)),(PSEUDO_CONST_KBD(RR_NO_KEY,1))
+#define RR_W (PSEUDO_CONST_KBD(RR_NO_KEY,1)),(PSEUDO_CONST_KBD(RR_NO_KEY,3))
+#define RR_WITH (PSEUDO_CONST_KBD(5,RR_NO_KEY)),(PSEUDO_CONST_KBD(3,RR_NO_KEY))
+#define RR_X (PSEUDO_CONST_KBD(5,2)),(PSEUDO_CONST_KBD(5,1))
+#define RR_Y (PSEUDO_CONST_KBD(4,5)),(PSEUDO_CONST_KBD(5,3))
+#define RR_Z (PSEUDO_CONST_KBD(3,1)),(PSEUDO_CONST_KBD(5,1))
+#define TI89 (CALCULATOR==0)
+#define TI89_CLASSIC (TI89&&HW_VERSION<3)
+#define TI89_TITANIUM (TI89&&HW_VERSION>=3)
+#define TI92PLUS (CALCULATOR==1)
+#define V200 (CALCULATOR==3)
+#define PSEUDO_CONST_CALC(calc92,calc89,calc92plus,calcv200) (CALCULATOR?((CALCULATOR==1)?(calc92plus):(calcv200)):(calc89))
+#define PSEUDO_CONST_KBD(kbd89,kbd92) PSEUDO_CONST_CALC(kbd92,kbd89,kbd92,kbd92)
+#define PSEUDO_CONST_SCREEN(screen89,screen92) PSEUDO_CONST_CALC(screen92,screen89,screen92,screen92)
+/* End Auto-Generated Part */
+
+#ifdef DOORS
+#define _CALCULATOR _ram_call (0,const unsigned char*)
+#define HW_VERSION ((unsigned short)(_CALCULATOR[1]))
+#else /* !DOORS */
+unsigned short __get_hw_version(void) __attribute__((const));
+#define HW_VERSION (__get_hw_version())
+#endif /* !DOORS */
+
+#if defined (_TI89_ONLY)
+#define ROM_base ((void*)(((unsigned long)__jmp_tbl)&0xE00000))
+#define CALCULATOR 0
+#elif defined (_TI92PLUS_ONLY)
+#define ROM_base ((void*)0x400000)
+#define CALCULATOR 1
+#elif defined (_V200_ONLY)
+#define ROM_base ((void*)(((unsigned long)__jmp_tbl)&0xE00000))
+#define CALCULATOR 3
+#else /* not only one calculator */
+
+#ifdef DOORS
+
+#define ROM_base _ram_call (3,const void*)
+/* PreOs 0.70 says CALCULATOR is -1 on the Titanium. We don't. */
+#define CALCULATOR ((signed char)_CALCULATOR[0]>0?_CALCULATOR[0]:0)
+
+#undef LCD_WIDTH
+#define LCD_WIDTH _ram_call (1,unsigned long)
+#undef LCD_HEIGHT
+#define LCD_HEIGHT _ram_call (2,unsigned long)
+#undef LCD_LINE_BYTES
+#define LCD_LINE_BYTES _ram_call (4,unsigned long)
+
+#undef KEY_LEFT
+#define KEY_LEFT _ram_call (5,unsigned long)
+#undef KEY_RIGHT
+#define KEY_RIGHT _ram_call (6,unsigned long)
+#undef KEY_UP
+#define KEY_UP _ram_call (7,unsigned long)
+#undef KEY_DOWN
+#define KEY_DOWN _ram_call (8,unsigned long)
+#undef KEY_UPRIGHT
+#define KEY_UPRIGHT _ram_call (9,unsigned long)
+#undef KEY_DOWNLEFT
+#define KEY_DOWNLEFT _ram_call (A,unsigned long)
+#undef KEY_DIAMOND
+#define KEY_DIAMOND _ram_call (B,unsigned long)
+#undef KEY_SHIFT
+#define KEY_SHIFT _ram_call (D,unsigned long)
+
+#else /* !DOORS */
+
+#define ROM_base ((void*)(((unsigned long)__jmp_tbl)&0xE00000))
+
+#ifdef NO_CALC_DETECT
+
+#ifdef USE_V200
+#define CALCULATOR (ROM_base==(void*)0x400000?1:(((unsigned char*)(_rom_call_addr(2F)))[2]>=200?3:0))
+#else
+#define CALCULATOR (ROM_base==(void*)0x400000)
+#endif
+
+#else /* !NO_CALC_DETECT */
+
+extern const short __calculator;
+#ifdef USE_TI89
+#define CALCULATOR (__calculator)
+#else /* !USE_TI89 */
+/* Special optimization: __calculator cannot be 0 */
+#define CALCULATOR (__calculator==3?3:1)
+#endif /* !USE_TI89 */
+
+#endif /* !NO_CALC_DETECT */
+
+#endif /* !DOORS */
+
+#ifdef OPTIMIZE_CALC_CONSTS
+#undef PSEUDO_CONST_CALC
+#define PSEUDO_CONST_CALC(calc92,calc89,calc92plus,calcv200) ({extern void __ld_calc_const_##calc92##_##calc89##_##calc92plus##_##calcv200;(unsigned short)&__ld_calc_const_##calc92##_##calc89##_##calc92plus##_##calcv200;})
+#endif /* OPTIMIZE_CALC_CONSTS */
+
+#endif /* not only one calculator */
+
+#pragma GCC poison TI92
+//#define TI92 (CALCULATOR==2)
+
+#endif

+ 43 - 0
tigcc/include/C/ctype.h

@@ -0,0 +1,43 @@
+#ifndef __CTYPE_H
+#define __CTYPE_H
+
+#include <default.h>
+
+/* NOTE: These macros use GNU C extensions for defining safe and "smart" */
+/* macros, so they are not portable to other C dialects                  */
+
+extern char _extalnum_list[];
+extern char _extpunct_list[];
+
+/* Begin Auto-Generated Part */
+#define _tolower(c) ((c)+'a'-'A')
+#define _toupper(c) ((c)+'A'-'a')
+#define isalnum(c) ({register short __c=(c);(__c>='0'&&__c<='9')||(__c>='A'&&__c<='Z')||(__c>='a'&&__c<='z');})
+#define isalpha(c) ({register short __c=(c);(__c>='A'&&__c<='Z')||(__c>='a'&&__c<='z');})
+#define isascii(c) ((unsigned short)(c)<128)
+#define iscntrl(c) ((unsigned short)(c)<14)
+#define isdigit(c) ({register short __c=(c);__c>='0'&&__c<='9';})
+#define isextalnum(c) ({register short __c=(c);(unsigned short)__c<256&&_extalnum_list[__c>>3]&(1<<(__c&7));})
+#define isextlower(c) ({register short __c=(c);(__c>='a'&&__c<='z')||(__c>=224&&__c<=254&&__c!=247);})
+#define isextpunct(c) ({register short __c=(c);(unsigned short)__c<256&&_extpunct_list[__c>>3]&(1<<(__c&7));})
+#define isextupper(c) ({register short __c=(c);(__c>='A'&&__c<='Z')||(__c>=192&&__c<=222&&__c!=215);})
+#define isfrgn(c) ({register short __c=(c);(__c>=128&&__c<148)||(__c==181||__c>=192)&&(__c<=255&&__c!=215&&__c!=247);)}
+#define isfrgnalnum(c) ({register short __c=(c);(__c>=128&&__c<=148&&__c!=140)||__c==181||(__c>=192&&__c<=255&&__c!=215&&__c!=247);})
+#define isfrgnlower(c) ({register short __c=(c);__c>=224&&__c<=254&&__c!=247;})
+#define isfrgnupper(c) ({register short __c=(c);__c>=192&&__c<=222&&__c!=215;})
+#define isgraph(c) ({register short __c=(c);__c==11||(__c>13&&__c<256&&__c!=32);})
+#define isGreek(c) ({register short __c=(c);(__c>=128&&__c<=148)||__c==181;})
+#define islower(c) ({register short __c=(c);__c>='a'&&__c<='z';})
+#define isprint(c) ({register short __c=(c);__c==11||(__c>13&&__c<256);})
+#define ispunct(c) ({register short __c=(c);__c>=33&&__c<=127&&!((__c>='0'&&__c<='9')||(__c>='A'&&__c<='Z')||(__c>='a'&&__c<='z'));})
+#define isspace(c) ({register short __c=(c);(__c>=9&&__c<=13)||__c==32;})
+#define isupper(c) ({register short __c=(c);__c>='A'&&__c<='Z';})
+#define isxdigit(c) ({register short __c=(c);(__c>='0'&&__c<='9')||(__c>='A'&&__c<='F')||(__c>='a'&&__c<='f');})
+#define toascii(c) ((c)&0x7F)
+#define toextlower(c) ({register short __c=(c);((__c>='A'&&__c<='Z')||(__c>=192&&__c<=222&&__c!=215))?(__c+'a'-'A'):__c;})
+#define toextupper(c) ({register short __c=(c);((__c>='a'&&__c<='z')||(__c>=224&&__c<=254&&__c!=247))?(__c+'A'-'a'):__c;})
+#define tolower(c) ({register short __c=(c);(__c>='A'&&__c<='Z')?(__c+'a'-'A'):__c;})
+#define toupper(c) ({register short __c=(c);(__c>='a'&&__c<='z')?(__c+'A'-'a'):__c;})
+/* End Auto-Generated Part */
+
+#endif

+ 366 - 0
tigcc/include/C/default.h

@@ -0,0 +1,366 @@
+#ifndef __DEFAULT_H
+#define __DEFAULT_H
+
+#define asm __asm__ /* for ANSI mode compiling */
+
+#define _main __main
+
+#define __ATTR_STD__ __attribute__((__stkparm__))
+#define __ATTR_STD_NORETURN__ __attribute__((__stkparm__,__noreturn__))
+#define CALLBACK __ATTR_STD__
+#define __ATTR_TIOS__ __ATTR_STD__
+#define __ATTR_TIOS_NORETURN__ __ATTR_STD_NORETURN__
+#define __ATTR_TIOS_CALLBACK__ CALLBACK
+#define __ATTR_GCC__ 
+#define __ATTR_LIB_C__ __attribute__((__regparm__(4)))
+#define __ATTR_LIB_ASM__ __ATTR_STD__
+#define __ATTR_LIB_ASM_NORETURN__ __ATTR_STD_NORETURN__
+#define __ATTR_LIB_CALLBACK_C__ CALLBACK
+#define __ATTR_LIB_CALLBACK_ASM__ CALLBACK
+
+#ifndef FARGO
+
+#ifdef USE_TI92P
+#define USE_TI92PLUS
+#endif
+
+#ifdef USE_TI89
+asm (".xdef _ti89");
+asm (".xdef _ti89ti");
+#if !defined (USE_TI92PLUS) && !defined (USE_V200)
+#define _TI89_ONLY
+#define _ONE_CALC_ONLY
+#endif
+#endif
+
+#ifdef USE_TI92PLUS
+asm (".xdef _ti92plus");
+#if !defined (USE_TI89) && !defined (USE_V200)
+#define _TI92PLUS_ONLY
+#define _ONE_CALC_ONLY
+#endif
+#endif
+
+#ifdef USE_V200
+asm (".xdef _v200");
+#if !defined (USE_TI89) && !defined (USE_TI92PLUS)
+#define _V200_ONLY
+#define _ONE_CALC_ONLY
+#endif
+#endif
+
+#if !defined (USE_TI89) && !defined (USE_TI92PLUS) && !defined (USE_V200)
+/* The program uses its own symbols to control the linker.
+   So support all calcs. */
+#define USE_TI89
+#define USE_TI92PLUS
+#define USE_V200
+#endif
+
+#if defined (USE_TI89) && defined (USE_TI92PLUS) && defined (USE_V200)
+#define _SUPPORT_ALL_CALCS
+#endif
+
+#ifdef _NO_INCLUDE_PATCH
+#define _INCLUDE_PATCH(patchname) 
+#else
+#define _INCLUDE_PATCH(patchname) asm(".xdef __ref_all_"#patchname)
+#endif
+
+/* Quick hacks for better archive support. */
+#ifdef _GENERIC_ARCHIVE
+#ifndef NO_CALC_DETECT
+#define NO_CALC_DETECT
+#endif
+#undef OPTIMIZE_ROM_CALLS
+#undef USE_FLINE_ROM_CALLS
+#undef USE_FLINE_JUMPS
+#undef USE_4_BYTE_FLINE_JUMPS
+#undef USE_INTERNAL_FLINE_EMULATOR
+#undef KERNEL_FORMAT_RELOCS
+#undef KERNEL_FORMAT_ROM_CALLS
+#undef KERNEL_FORMAT_BSS
+#undef COMPRESSED_FORMAT_RELOCS
+#undef COMPRESSED_FORMAT_ROM_CALLS
+#undef COMPRESSED_FORMAT_BSS
+#ifndef MIN_AMS
+#define MIN_AMS 100
+#endif
+#else
+_INCLUDE_PATCH(__startup_code);
+#ifndef MIN_AMS
+#define MIN_AMS 101
+#endif
+#endif
+
+#ifdef EXECUTE_IN_GHOST_SPACE
+#if defined(USE_KERNEL) || defined(DOORS)
+#error EXECUTE_IN_GHOST_SPACE does not work in kernel mode yet
+#endif
+_INCLUDE_PATCH(__execute_in_ghost_space);
+#endif
+
+#ifndef NO_CALC_DETECT
+#if !defined (_SUPPORT_ALL_CALCS)
+#define _NEED_CALC_DETECT
+ _INCLUDE_PATCH(__detect_calc);
+#ifdef _ONE_CALC_ONLY
+  _INCLUDE_PATCH(__test_for_specific_calc);
+#ifdef USE_TI89
+   _INCLUDE_PATCH(__test_for_89);
+#endif
+#ifdef USE_TI92PLUS
+   _INCLUDE_PATCH(__test_for_92p);
+#endif
+#ifdef USE_V200
+   _INCLUDE_PATCH(__test_for_v200);
+#endif
+#else
+  _INCLUDE_PATCH(__test_against_specific_calc);
+#ifndef USE_TI89
+   _INCLUDE_PATCH(__test_for_89);
+#endif
+#ifndef USE_TI92PLUS
+   _INCLUDE_PATCH(__test_for_92p);
+#endif
+#ifndef USE_V200
+   _INCLUDE_PATCH(__test_for_v200);
+#endif
+#endif
+#elif defined (OPTIMIZE_CALC_CONSTS)
+#define _NEED_CALC_DETECT
+ _INCLUDE_PATCH(__detect_calc);
+ _INCLUDE_PATCH(__test_for_specific_calc);
+ _INCLUDE_PATCH(__test_for_any_calc);
+#endif
+#endif
+
+#if (!defined (NO_AMS_CHECK)) && ((MIN_AMS>101 && (defined (USE_TI89))) || (MIN_AMS>100 && (defined (USE_TI92PLUS))) || (MIN_AMS>206 && (defined (USE_V200))))
+#define _NEED_AMS_CHECK
+ _INCLUDE_PATCH(__MIN_AMS_required);
+#if (MIN_AMS>=300)
+  _INCLUDE_PATCH(__MIN_AMS_3_00);
+#if (MIN_AMS>300)
+#warning Cannot check for AMS versions greater than 3.00
+#endif
+#elif (MIN_AMS>=209)
+  _INCLUDE_PATCH(__MIN_AMS_2_09);
+#if (MIN_AMS>209)
+#warning Cannot check for AMS versions between 2.09 and 3.00
+#endif
+#elif (MIN_AMS>=208)
+  _INCLUDE_PATCH(__MIN_AMS_2_08);
+#elif (MIN_AMS>=207)
+  _INCLUDE_PATCH(__MIN_AMS_2_07);
+#elif (MIN_AMS>=205)
+  _INCLUDE_PATCH(__MIN_AMS_2_05);
+#if (MIN_AMS>205)
+#warning Cannot check for AMS version 2.06
+#endif
+#elif (MIN_AMS>=204)
+  _INCLUDE_PATCH(__MIN_AMS_2_04);
+#elif (MIN_AMS>=203)
+  _INCLUDE_PATCH(__MIN_AMS_2_03);
+#elif (MIN_AMS>=202)
+  _INCLUDE_PATCH(__MIN_AMS_2_02);
+#elif (MIN_AMS>=201)
+  _INCLUDE_PATCH(__MIN_AMS_2_01);
+#elif (MIN_AMS>=200)
+  _INCLUDE_PATCH(__MIN_AMS_2_00);
+#elif (MIN_AMS>=105)
+  _INCLUDE_PATCH(__MIN_AMS_1_05);
+#if (MIN_AMS>105)
+#warning Cannot check for AMS versions between 1.05 and 2.00
+#endif
+#elif (MIN_AMS>=101)
+  _INCLUDE_PATCH(__MIN_AMS_1_01);
+#if (MIN_AMS>101)
+#warning Cannot check for AMS versions between 1.01 and 1.05
+#endif
+#endif
+#endif
+
+/* The following auto-generated definitions are preliminary and possibly overridden later by other files. */
+
+#define __rom_call_addr_concat _rom_call_addr_concat
+
+/* Begin Auto-Generated Part */
+#define MIN_AMS_MAJOR (MIN_AMS/100)
+#define MIN_AMS_MINOR (MIN_AMS%100)
+#define __jmp_tbl (*(void***)0xC8)
+#define _rom_call(type,args,index) (_rom_call_concat(type,args,0x##index,_ROM_CALL_##index))
+#define _rom_call_addr(index) (_rom_call_addr_concat(0x##index,_ROM_CALL_##index))
+#define _rom_call_addr_concat(intindex,romindex) (__jmp_tbl[intindex])
+#define _rom_call_addr_hack(index,addr,minams) (_rom_call_addr_hack_concat(0x##index,_ROM_CALL_##index,(addr),(minams),0x##index))
+#define _rom_call_addr_hack_concat(intindex,romindex,addr,minams,minindex) (MIN_AMS >= (minams) || TIOS_entries > (minindex) ? _rom_call_addr_concat (intindex, romindex) : ({ asm (".xdef __ref_all___reject_unofficial_os"); (void *) (addr); }))
+#define _rom_call_attr(type,args,attr,index) (*({typedef __ATTR_TIOS__ attr type(*__temp__type__)args;(__temp__type__)(__rom_call_addr_concat(0x##index,_ROM_CALL_##index));}))
+#define _rom_call_concat(type,args,intindex,romindex) (*((type(*__ATTR_TIOS__)args)(__rom_call_addr_concat(intindex,romindex))))
+#define _rom_call_hack(type,args,index,addr,minams) (_rom_call_hack_attr_concat(type,args,,0x##index,_ROM_CALL_##index,(addr),(minams),0x##index))
+#define _rom_call_hack_attr(type,args,attr,index,addr,minams) (_rom_call_hack_attr_concat(type,args,attr,0x##index,_ROM_CALL_##index,(addr),(minams),0x##index))
+#define _rom_call_hack_attr_concat(type,args,attr,intindex,romindex,addr,minams,minindex) (*({ typedef __ATTR_TIOS__ attr type (*__temp__type__hack__) args; (__temp__type__hack__) (MIN_AMS >= (minams) || TIOS_entries > (minindex) ? (const void *) (&(_rom_call_concat (void, (void), (intindex), (romindex)))) : ({ asm (".xdef __ref_all___reject_unofficial_os"); (const void *) (addr); })); }))
+#define import_binary(filename,symname) asm(".globl "#symname"\n"#symname":\n\t.incbin \""filename"\"")
+/* End Auto-Generated Part */
+
+#define TIOS_entries (*(unsigned long*)(__jmp_tbl-1))
+
+#ifdef UNOFFICIAL_OS_SUPPORT
+#undef _rom_call_hack_attr_concat
+#define _rom_call_hack_attr_concat(type,args,attr,intindex,romindex,addr,minams) (*({typedef __ATTR_TIOS__ attr type(*__temp__type__hack__)args;(__temp__type__hack__)(MIN_AMS>=(minams)||TIOS_entries>(intindex)?(const void*)(&(_rom_call_concat(void,(void),(intindex),(romindex)))):(const void*)__invalid_rom_call_hack);}))
+#undef _rom_call_addr_hack_concat
+#define _rom_call_addr_hack_concat(intindex,romindex,addr,minams,minindex) (MIN_AMS>=(minams)||TIOS_entries>(minindex)?_rom_call_addr_concat(intindex,romindex):__invalid_rom_call_hack)
+extern void *__invalid_rom_call_hack;
+#endif
+
+#ifdef REJECT_UNOFFICIAL_OS
+_INCLUDE_PATCH(__reject_unofficial_os);
+#endif
+
+#ifdef USE_INTERNAL_FLINE_EMULATOR
+_INCLUDE_PATCH(__fline_internal_emulator);
+#else
+#if defined (USE_4_BYTE_FLINE_JUMPS)
+#error You need to define USE_INTERNAL_FLINE_EMULATOR for 4-byte F-Line jumps
+#elif defined (USE_FLINE_ROM_CALLS) || defined (USE_FLINE_JUMPS)
+#if (MIN_AMS < 204) && !defined (USE_FLINE_EMULATOR)
+#error You need to define USE_[INTERNAL_]FLINE_EMULATOR or an appropriate value for MIN_AMS
+#endif
+#endif
+#endif
+
+#ifdef USE_FLINE_ROM_CALLS
+_INCLUDE_PATCH(__fline_rom_calls);
+asm(".set _F_LINE,0xF800");
+#endif
+#ifdef USE_4_BYTE_FLINE_JUMPS
+_INCLUDE_PATCH(__fline_jumps_4byte);
+asm(".xdef __ld_use_4byte_fline_jumps");
+#else
+#ifdef USE_FLINE_JUMPS
+_INCLUDE_PATCH(__fline_jumps);
+asm(".xdef __ld_use_fline_jumps");
+#endif
+#endif
+
+asm(".set _A_LINE,0xA000");
+
+#define __need_in_use_bit _INCLUDE_PATCH(__set_file_in_use_bit);
+
+#ifdef SET_FILE_IN_USE_BIT
+__need_in_use_bit;
+#endif
+
+#ifndef _GENERIC_ARCHIVE
+#ifdef COMPRESSED_FORMAT_DATA_VAR
+_INCLUDE_PATCH(__compressed_format_data_var);
+#else
+_INCLUDE_PATCH(__kernel_format_data_var);
+#endif
+#endif
+
+#if defined (DOORS) || defined (USE_KERNEL)
+
+#if MIN_AMS >= 200
+#define AMS_1xx 0
+#else
+#define AMS_1xx ((_ram_call(14,unsigned short)&0x0F00)==0x100)
+#endif
+#if MIN_AMS >= 300
+#define AMS_2xx 0
+#else
+#define AMS_2xx ((_ram_call(14,unsigned short)&0x0F00)==0x200)
+#endif
+#define AMS_3xx ((_ram_call(14,unsigned short)&0x0F00)==0x300)
+
+#else
+
+#if MIN_AMS >= 200
+#define AMS_1xx 0
+#else
+#define AMS_1xx (TIOS_entries<1000)
+#endif
+#if MIN_AMS >= 300
+#define AMS_2xx 0
+#define AMS_3xx 1
+#else
+#define AMS_2xx (!AMS_1xx && TIOS_entries<0x608)
+#define AMS_3xx (TIOS_entries>=0x608)
+#endif
+
+#endif
+
+#endif
+
+#ifdef OMIT_BSS_INIT
+asm(".xdef __ld_omit_bss_init");
+#endif
+
+#ifndef __PINT
+#define __PINT
+
+#ifdef __INT_SHORT__
+
+typedef union
+  {
+    short *__sp;
+    int *__ip;
+#ifndef STRICT_POINTERS
+    unsigned short *__usp;
+    unsigned int *__uip;
+#endif
+  } __pshort __attribute__((__transparent_union__));
+
+typedef union
+  {
+    unsigned short *__sp;
+    unsigned int *__ip;
+#ifndef STRICT_POINTERS
+    short *__ssp;
+    int *__sip;
+#endif
+  } __pushort __attribute__((__transparent_union__));
+
+typedef long *__plong;
+typedef unsigned long *__pulong;
+
+#else
+
+typedef short *__pshort;
+typedef unsigned short *__pushort;
+
+typedef union
+  {
+    long *__lp;
+    int *__ip;
+#ifndef STRICT_POINTERS
+    unsigned long *__ulp;
+    unsigned int *__uip;
+#endif
+  } __plong __attribute__((__transparent_union__));
+
+typedef union
+  {
+    unsigned long *__lp;
+    unsigned int *__ip;
+#ifndef STRICT_POINTERS
+    long *__slp;
+    int *__sip;
+#endif
+  } __pulong __attribute__((__transparent_union__));
+
+#endif
+
+#endif
+
+extern float __BC()__ATTR_LIB_ASM__;
+#define _tios_float_1(f,x,t) ({typedef float(*__temp__type__)(short,t)__ATTR_LIB_ASM__;((__temp__type__)__BC)(4*0x##f,x);})
+#define _tios_float_2(f,x,y,t1,t2) ({typedef float(*__temp__type__)(short,t1,t2)__ATTR_LIB_ASM__;((__temp__type__)__BC)(4*0x##f,x,y);})
+
+#if !defined (NOSTUB) && !defined (DOORS) && !defined (FARGO)
+#ifdef USE_KERNEL
+#include <doors.h>
+#else
+#include <nostub.h>
+#endif
+#endif
+
+#endif

+ 61 - 0
tigcc/include/C/dialogs.h

@@ -0,0 +1,61 @@
+#ifndef __DIALOGS
+#define __DIALOGS
+
+#include <default.h>
+
+#define DialogAddScroll(h,x,y,w,g,f,t,p,u,m) DialogAdd(h,0,x,y,3,(short)w,(short)g,(short)f,(short)t,(short)p,(short)u,(short)m)
+
+/* Begin Auto-Generated Part */
+#define CENTER (-1)
+#define H_NULL 0
+#define NULL ((void*)0)
+#ifndef __HAVE_Bool
+#define __HAVE_Bool
+enum Bool{FALSE,TRUE};
+#endif
+#ifndef __HAVE_ESQ
+#define __HAVE_ESQ
+typedef unsigned char ESQ;
+#endif
+#ifndef __HAVE_HANDLE
+#define __HAVE_HANDLE
+typedef unsigned short HANDLE;
+#endif
+#ifndef __HAVE_HSym
+#define __HAVE_HSym
+typedef struct{HANDLE folder;unsigned short offset;}HSym;
+#endif
+#ifndef __HAVE_SCR_RECT
+#define __HAVE_SCR_RECT
+typedef union{struct{unsigned char x0,y0,x1,y1;}xy;unsigned long l;}SCR_RECT;
+#endif
+#ifndef __HAVE_SCR_STATE
+#define __HAVE_SCR_STATE
+typedef struct{void*ScrAddr;unsigned char XMax,YMax;short CurFont,CurAttr,CurX,CurY;SCR_RECT CurClip;}SCR_STATE;
+#endif
+#ifndef __HAVE_WINDOW
+#define __HAVE_WINDOW
+typedef struct WindowStruct{unsigned short Flags;unsigned char CurFont;unsigned char CurAttr;unsigned char Background;short TaskId;short CurX,CurY;short CursorX,CursorY;SCR_RECT Client;SCR_RECT Window;SCR_RECT Clip;SCR_RECT Port;unsigned short DupScr;struct WindowStruct*Next;char*Title;SCR_STATE savedScrState;unsigned char Reserved[16];}WINDOW;
+#endif
+#ifndef __HAVE_Buttons
+#define __HAVE_Buttons
+enum Buttons{BT_NONE,BT_OK,BT_SAVE,BT_YES,BT_CANCEL,BT_NO,BT_GOTO};
+#endif
+typedef CALLBACK short(*DialogNew_t)(short x,long y);
+#define Dialog ({__need_in_use_bit;_rom_call(short,(void*,short,short,char*,__pshort),30);})
+#define DialogAdd _rom_call(HANDLE,(HANDLE,short,short,short,short,...),33)
+#define DialogAddPulldown(h,x,y,t,p,i) DialogAdd(h,2,x,y,14,(const char*)(t),(short)(p),(short)(i))
+#define DialogAddRequest(h,x,y,t,o,m,w) DialogAdd(h,0,x,y,2,(const char*)(t),(short)(o),(short)(m),(short)(w))
+#define DialogAddText(h,x,y,t) DialogAdd(h,0,x,y,7,(const char*)(t))
+#define DialogAddTitle(h,t,l,r) DialogAdd(h,0,0,0,8,(const char*)(t),(short)(l),(short)(r))
+#define DialogDo ({__need_in_use_bit;_rom_call(short,(HANDLE,short,short,char*,__pshort),32);})
+#define DialogNew _rom_call(HANDLE,(short,short,DialogNew_t),34)
+#define DialogNewSimple(w,h) DialogNew(w,h,NoCallBack)
+#define DlgMessage ({__need_in_use_bit;_rom_call(short,(const char*,const char*,short,short),1B4);})
+extern short NoCallBack(short,long)__ATTR_TIOS_CALLBACK__;
+#define VarNew ({__need_in_use_bit;_rom_call(HSym,(const ESQ*,...),28E);})
+#define VarOpen ({__need_in_use_bit;_rom_call(HSym,(const ESQ*,...),28C);})
+#define VarSaveAs ({__need_in_use_bit;_rom_call(HSym,(const ESQ*,const char*,...),28D);})
+/* End Auto-Generated Part */
+
+#endif

+ 28 - 0
tigcc/include/C/dll.h

@@ -0,0 +1,28 @@
+#ifndef __DLL
+#define __DLL
+
+#include <default.h>
+
+#define __DLL_SIGNATURE 0x444C4C20
+typedef struct{unsigned long Signature,ID;unsigned short major,minor;void*jump_table[];}__DLL_interface_struct;
+extern __DLL_interface_struct*__DLL_interface_ptr;
+extern void*__DLL_body_ptr;
+
+/* Begin Auto-Generated Part */
+enum DLL_ErrorCodes{DLL_OK,DLL_NOTINGHOSTSPACE,DLL_NOTFOUND,DLL_LOCKFAILED,DLL_OUTOFMEM,DLL_ALREADYLOADED,DLL_WRONGVERSION};
+#define _DLL_call(type,args,index) (*(type(*)args)_DLL_entry(index))
+#define _DLL_call_attr(type,args,attr,index) (*(type(*attr)args)_DLL_entry(index))
+#define _DLL_entry(index) (__DLL_interface_ptr->jump_table[index])
+#define _DLL_glbvar(type,index) (*(_DLL_reference(type,index)))
+#define _DLL_reference(type,index) ((type*const)_DLL_entry(index))
+extern short LoadDLL(const char*,long,short,short)__ATTR_LIB_C__;
+extern void LoadDLLThrow(const char*,long,short,short)__ATTR_LIB_C__;
+extern void UnloadDLL(void)__ATTR_LIB_C__;
+#define DLL_EXPORTS ,{
+#define DLL_ID __DLL_interface_struct __DLL_interface __attribute__((__section__("_stl20")))={__DLL_SIGNATURE,
+#define DLL_IMPLEMENTATION ,(void*)-1L}};
+#define DLL_INTERFACE asm(".xdef _nostub_dll\n\t.xdef __ld_ignore_global_imports");
+#define DLL_VERSION ,
+/* End Auto-Generated Part */
+
+#endif

+ 79 - 0
tigcc/include/C/doors.h

@@ -0,0 +1,79 @@
+#ifndef DOORS
+#define DOORS
+
+#ifdef NOSTUB
+
+#error "doors.h" must not be included in "nostub" mode!
+#undef DOORS
+
+#else
+
+#include <default.h>
+#define __REDEFINE_ALL_ROM_CALLS
+#include <romsymb.h>
+
+/* Begin Auto-Generated Part */
+#define _ram_call(ind,type) ((type)(&_RAM_CALL_##ind))
+#define _ram_call_addr(ind) (&_RAM_CALL_##ind)
+/* End Auto-Generated Part */
+
+extern void
+  _RAM_CALL_0,_RAM_CALL_1,_RAM_CALL_2,_RAM_CALL_3,
+  _RAM_CALL_4,_RAM_CALL_5,_RAM_CALL_6,_RAM_CALL_7,
+  _RAM_CALL_8,_RAM_CALL_9,_RAM_CALL_A,_RAM_CALL_B,
+  _RAM_CALL_C,_RAM_CALL_D,_RAM_CALL_E,_RAM_CALL_F,
+  _RAM_CALL_10,_RAM_CALL_11,_RAM_CALL_12,_RAM_CALL_13,
+  _RAM_CALL_14,_RAM_CALL_15,_RAM_CALL_16,_RAM_CALL_17,
+  _RAM_CALL_18,_RAM_CALL_19,_RAM_CALL_1A,_RAM_CALL_1B,
+  _RAM_CALL_1C,_RAM_CALL_1D,_RAM_CALL_1E,_RAM_CALL_1F;
+
+#ifndef _GENERIC_ARCHIVE
+
+_INCLUDE_PATCH(__kernel);
+
+#ifdef USE_PREOS_COMPRESSED_TABLES
+_INCLUDE_PATCH(__preos_headers);
+#endif
+
+#ifdef RETURN_VALUE
+
+#define __str(x) #x             /* A set of nasty hacks with preprocessor */
+#define __xstr(x) __str(x)      /* based on some very specific features   */
+#define __var(x) x##1
+#define __xvar(x) __var(x)
+
+#if __xvar(RETURN_VALUE)
+_INCLUDE_PATCH(__doors_retval);
+#else
+_INCLUDE_PATCH(__doors_retval_var);
+asm("\n"
+"	/* RETURN_VALUE <variable> Extra Support */\n"
+"	.xdef __retval_var_name__\n"
+"	.byte 0\n"
+"	.ascii \""__xstr(RETURN_VALUE)"\"\n"
+"__retval_var_name__:\n"
+"	.byte 0\n"
+"	.even\n"
+"	");
+#endif
+
+#undef __str
+#undef __xstr
+#undef __var
+#undef __xvar
+    
+#endif
+
+#if defined(ENABLE_ERROR_RETURN)
+__INCLUDE_PATCH(__special_error_return_support);
+#endif
+
+#ifdef COMMENT_STRING
+char _comment[] = (COMMENT_STRING);
+#endif
+
+#endif
+
+#endif
+
+#endif

+ 219 - 0
tigcc/include/C/error.h

@@ -0,0 +1,219 @@
+#ifndef __ERROR
+#define __ERROR
+
+#include <default.h>
+
+#define __CONST_INT_TO_ERR_LABEL(x) _ER_CODE_##x
+#define _ER_throw(err_no) ({extern void __CONST_INT_TO_ERR_LABEL(err_no);goto*(&(__CONST_INT_TO_ERR_LABEL(err_no)));})
+
+/* Begin Auto-Generated Part */
+#ifndef __HAVE_Bool
+#define __HAVE_Bool
+enum Bool{FALSE,TRUE};
+#endif
+typedef struct ErrorFrameStruct{unsigned long A2,A3,A4,A5,A6,A7;unsigned long D3,D4,D5,D6,D7;unsigned long NG_control;char*RetIndex;unsigned long PC;struct ErrorFrameStruct*Link;}ERROR_FRAME[1];
+#define ER_OK 0
+#define ER_OKAY 0
+#define ER_EXIT 1
+#define ER_STOP 2
+#define ER_OFF 3
+#define ER_PRGM_STOP 4
+#define ER_NO_MSG 9
+#define ER_FUNC_DID_NOT_RETURN_VALUE 10
+#define ER_TEST_NOT_TRUE_OR_FALSE 20
+#define ER_ARG_CANNOT_BE_FOLDER 30
+#define ER_ARGUMENT 40
+#define ER_ARG_MISMATCH 50
+#define ER_EXPECTED_BOOL_OR_AGG 60
+#define ER_ARG_MUST_BE_DECIMAL 70
+#define ER_ARG_MUST_BE_LABEL 80
+#define ER_ARGUMENT_MUST_BE_LIST 90
+#define ER_ARG_MUST_BE_MATRIX 100
+#define ER_ARG_MUST_BE_PIC 110
+#define ER_ARG_MUST_BE_PIC_OR_STR 120
+#define ER_ARG_MUST_BE_STRING 130
+#define ER_EXPECTED_VAR 140
+#define ER_ARG_MUST_BE_EMPTY_FOLDER 150
+#define ER_EXPECTED_ALGEBRAIC 160
+#define ER_ASAP_TOO_LONG 161
+#define ER_ATTRIBUTE_NOT_FOUND 163
+#define ER_BATT_LOW 165
+#define ER_BOUND 170
+#define ER_BREAK 180
+#define ER_CHECKSUM 185
+#define ER_CIRCULAR_DEFINITION 190
+#define ER_INVALID_SUCH_THAT 200
+#define ER_DATATYPE 210
+#define ER_DEPENDENT_LIMIT 220
+#define ER_DIFF_EQ_SETUP 225
+#define ER_DIMENSION 230
+#define ER_NOT_ENOUGH_ELEMENTS 230
+#define ER_NON_CONFORMING_LISTS 240
+#define ER_DIVBY0 250
+#define ER_DOMAIN 260
+#define ER_DUPLICATE_VAR_NAME 270
+#define ER_ELSEIF_WITHOUT_IF 280
+#define ER_ELSE_WITHOUT_IF 280
+#define ER_ENDTRY_WITHOUT_ELSE 290
+#define ER_EXCESSIVE_ITERATION 295
+#define ER_EXPECTED_2OR3_ELEMENTS 300
+#define ER_EXPIRED 305
+#define ER_APP_EXT_NOT_FOUND 307
+#define ER_APP_NOT_FOUND 308
+#define ER_INVALID_NSOLVE_ARG1 310
+#define ER_INVALID_SOLVE_ARG1 320
+#define ER_FOLDER 330
+#define ER_FUNCS_IN_DIFF_EQ 335
+#define ER_INCONSISTENT_UNITS 345
+#define ER_INVALID_SUBSCRIPT 350
+#define ER_INVALID_INDIR_STRING 360
+#define ER_INDIR_STRING_NOT_VARNAME 360
+#define ER_INDIR_STRING_NOT_FUNNAME 360
+#define ER_INVALID_ANS 380
+#define ER_ILLEGAL_ASSIGNMENT 390
+#define ER_ILLEGAL_ASSIGNMENT_VALUE 400
+#define ER_INVALID_AXES 405
+#define ER_ILLEGAL_COMMAND 410
+#define ER_INVALID_FOLDER_NAME 420
+#define ER_GRAPH_MODE 430
+#define ER_INVALID_GUESS 435
+#define ER_INVALID_IMPLIED_MULT 440
+#define ER_ILLEGAL_IN_FUNC 450
+#define ER_ILLEGAL_IN_CUSTOM 460
+#define ER_ILLEGAL_IN_DIALOG 470
+#define ER_ILLEGAL_IN_TOOLBAR 480
+#define ER_CANNOT_EXIT_FROM_TRY 490
+#define ER_CANNOT_CYCLE_FROM_TRY 490
+#define ER_CANNOT_GOTO_FROM_TRY 490
+#define ER_CANNOT_GOTO_INTO_TRY 490
+#define ER_INVALID_LABEL 500
+#define ER_INVALID_LIST_OR_MATRIX 510
+#define ER_INVAL_OUTSIDE_TB_CM 520
+#define ER_INVAL_OUTSIDE_DG_TB_CM 530
+#define ER_INVALID_OUTSIDE_DIALOG 540
+#define ER_MUST_BE_IN_PRGM_OR_FUNC 550
+#define ER_CYCLE_NOT_IN_LOOP 560
+#define ER_EXIT_NOT_IN_LOOP 560
+#define ER_INVALID_PATHNAME 570
+#define ER_INVALID_POLAR_COMPLEX 575
+#define ER_ILLEGAL_PRGM_REF 580
+#define ER_INVALID_SYNTAX_BLOCK 590
+#define ER_INVALID_TABLE 600
+#define ER_INVALID_USE_OF_UNITS 605
+#define ER_INVALID_LOCAL_DECLARATION 610
+#define ER_EXPECTED_VAR_OR_FUNC 620
+#define ER_INVALID_VAR_REF 630
+#define ER_INVALID_VECTOR_SYNTAX 640
+#define ER_LINK_IO 650
+#define ER_MAT_NOT_DIAGONALIZABLE 665
+#define ER_MEMORY 670
+#define ER_MEMORY_EXHAUSTION 670
+#define ER_ESTACK_OVERFLOW 670
+#define ER_STACK_VIO 673
+#define ER_EXPECTED_LPAR 680
+#define ER_EXPECTED_RPAR 690
+#define ER_EXPECTED_DOUBLE_QUOTE 700
+#define ER_EXPECTED_RIGHT_BRACKET 710
+#define ER_EXPECTED_RIGHT_BRACE 720
+#define ER_INVALID_BLOCK_STRUCTURE 730
+#define ER_MISSING_THEN 740
+#define ER_NOT_FUNC_OR_PRGM 750
+#define ER_NO_FUNCS_SEL 765
+#define ER_NO_SOLUTION 780
+#define ER_NON_ALGEBRAIC_VARIABLE 790
+#define ER_UNREAL_RESULT 800
+#define ER_EXPECTED_REAL 800
+#define ER_MEMORY_DML 810
+#define ER_RATIONAL_NUMERIC_OVERFLOW 830
+#define ER_OVERFLOW 830
+#define ER_STAT_PLOT 840
+#define ER_PRGM_NOT_FOUND 850
+#define ER_RECURSION_TOO_DEEP 860
+#define ER_RESERVED 870
+#define ER_SYS_FUNC 870
+#define ER_ROM_ROUTINE_NOT_AVAILABLE 875
+#define ER_SEQUENCE_SETUP 880
+#define ER_SIGNATURE_ERR 885
+#define ER_SINGULARMAT 890
+#define ER_SLOPE_FIELD_FUNCS 895
+#define ER_WEIGHTS_SUM_NOT_POS 900
+#define ER_LISTS_CONTAIN_NEG 900
+#define ER_LISTS_NOT2DISCREET 900
+#define ER_EMPTY_GROUP_NOT_VALID 900
+#define ER_SYNTAX 910
+#define ER_UNEXPECTED_CHARACTER 910
+#define ER_EXPECTED_EQUAL 910
+#define ER_EXPECTED_FACTOR 910
+#define ER_TOO_FEW_ARGS 930
+#define ER_TOO_MANY_ARGS 940
+#define ER_TOO_MANY_SUBSCRIPTS 950
+#define ER_TOO_MANY_UNDEFINED 955
+#define ER_UNDEFINED_VAR 960
+#define ER_UNLICENSED 965
+#define ER_GRAPH_FUNC_IN_USE 970
+#define ER_PROG_OR_FUNC_IN_USE 970
+#define ER_VAR_IN_USE 970
+#define ER_LOCKED 980
+#define ER_PROTECTED 980
+#define ER_NAME_TOO_LONG 990
+#define ER_RANGE 1000
+#define ER_ZOOM 1010
+#define ER_ILLEGAL_TAG 1020
+#define ER_UNKNOWN_TAG 1020
+#define ER_DIVISION_BUG 1020
+#define ER_MEM_VIO 1030
+#define ER_FP_TEST_FAIL 4094
+#define EXPECTED_BOOL_OR_AGG_ERROR 60
+#define EXPECTED_VAR_ERROR 140
+#define EXPECTED_ALGEBRAIC_ERROR 160
+#define INVALID_SUCH_THAT_ERROR 200
+#define NON_CONFORMING_LISTS_ERROR 240
+#define EXPECTED_2OR3_ELEMENTS_ERROR 300
+#define INVALID_NSOLVE_ARG1_ERROR 310
+#define INVALID_SOLVE_ARG1_ERROR 320
+#define INVALID_PATHNAME_ERROR 570
+#define EXPECTED_VAR_OR_FUNC_ERROR 620
+#define MEMORY_EXHAUSTION_ERROR 670
+#define ESTACK_OVERFLOW_ERROR 670
+#define EXPECTED_LPAR_ERROR 680
+#define EXPECTED_RPAR_ERROR 690
+#define EXPECTED_DOUBLE_QUOTE_ERROR 700
+#define EXPECTED_RIGHT_BRACKET_ERROR 710
+#define EXPECTED_RIGHT_BRACE_ERROR 720
+#define UNREAL_RESULT_ERROR 800
+#define EXPECTED_REAL_ERROR 800
+#define RATIONAL_NUMERIC_OVERFLOW_ERROR 830
+#define RECURSION_TOO_DEEP_ERROR 860
+#define SYNTAX_ERROR 910
+#define UNEXPECTED_CHARACTER_ERROR 910
+#define EXPECTED_EQUAL_ERROR 910
+#define EXPECTED_FACTOR_ERROR 910
+#define TOO_FEW_ARGS_ERROR 930
+#define TOO_MANY_ARGS_ERROR 940
+#define TOO_MANY_SUBSCRIPTS_ERROR 950
+#define TOO_MANY_UNDEFINED_ERROR 955
+#define GRAPH_FUNC_IN_USE_ERROR 970
+#define NAME_TOO_LONG_ERROR 990
+#define ILLEGAL_TAG_ERROR 1020
+#define UNKNOWN_TAG_ERROR 1020
+#define DIVISION_BUG_ERROR 1020
+#define ER_catch _rom_call(short,(void*),154)
+#define ER_success _rom_call(void,(void),155)
+#define ER_throw(err_no) _ER_throw(err_no)
+#define ER_throwVar _rom_call_attr(void,(short),__attribute__((__noreturn__)),153)
+#define ERD_dialog ({__need_in_use_bit;_rom_call(short,(short,short),151);})
+#define ERD_process ({__need_in_use_bit;_rom_call(void,(short),152);})
+#define ENDFINAL }if(errCode)PASS;}
+#define ENDTRY ;_ONERR_=0;}}
+#define FINALLY ER_success();}{
+#define ONERR ER_success();}else{register short _ONERR_=1;
+#define PASS (ER_throwVar(errCode))
+#define TRY {ERROR_FRAME __errFrame;unsigned short errCode;errCode=ER_catch(__errFrame);if(!errCode){
+#if MIN_AMS>=101
+#define find_error_message _rom_call(const char*,(short),2C1)
+#endif
+/* End Auto-Generated Part */
+
+#define ER_THROW(n) ER_throw(n)
+
+#endif

Разница между файлами не показана из-за своего большого размера
+ 58 - 0
tigcc/include/C/estack.h


Разница между файлами не показана из-за своего большого размера
+ 49 - 0
tigcc/include/C/events.h


+ 42 - 0
tigcc/include/C/flash.h

@@ -0,0 +1,42 @@
+#ifndef __FLASH
+#define __FLASH
+
+#include <default.h>
+
+#define __EM_findEmptySlot _rom_call(void*,(long,short),15F)
+
+/* Begin Auto-Generated Part */
+#define NULL ((void*)0)
+#ifndef __HAVE_Bool
+#define __HAVE_Bool
+enum Bool{FALSE,TRUE};
+#endif
+#ifndef __HAVE_HANDLE
+#define __HAVE_HANDLE
+typedef unsigned short HANDLE;
+#endif
+#ifndef __HAVE_size_t
+#define __HAVE_size_t
+typedef unsigned long size_t;
+#endif
+typedef struct{unsigned short len;unsigned long hardwareID;unsigned long hardwareRevision;unsigned long bootMajor;unsigned long bootRevision;unsigned long bootBuild;unsigned long gateArray;unsigned long physDisplayBitsWide;unsigned long physDisplayBitsTall;unsigned long LCDBitsWide;unsigned long LCDBitsTall;}HARDWARE_PARM_BLOCK;
+#define EM_abandon _rom_call(void,(HANDLE),15B)
+#define EM_blockVerifyErase _rom_call(short,(void*),15D)
+#define EM_findEmptySlot(s) (__EM_findEmptySlot((s),0))
+#define EM_GC _rom_call(short,(short),160)
+#define EM_survey _rom_call(void,(__pulong,__pulong,__pulong,__pulong,__pulong,__pulong),165)
+#define EM_write _rom_call(void,(const void*,void*,long),167)
+#define FL_addCert _rom_call(unsigned short,(void*,long),169)
+#define FL_download _rom_call_attr(void,(long),__attribute__((__noreturn__)),16A)
+#define FL_getCert _rom_call(void,(HANDLE*,__pulong,short),16C)
+#define FL_getHardwareParmBlock() (MIN_AMS<101&&TIOS_entries<0x3CC?(const void*)"\0\x6\0\0\0\x1":_rom_call(const void*,(void),16B)())
+#define FL_getVerNum _rom_call(unsigned short,(void),16D)
+#define FL_write _rom_call(void,(const void*,void*,long),171)
+#define GetAMSSize() ((*((unsigned long*)(((char*)ROM_base)+0x12002)))+0x49)
+#if MIN_AMS>=200
+#define FlashMemoryEnd ((unsigned char*const)(_rom_call_addr(43D)))
+#define BatTooLowFlash _rom_call(short,(short),434)
+#endif
+/* End Auto-Generated Part */
+
+#endif

+ 48 - 0
tigcc/include/C/float.h

@@ -0,0 +1,48 @@
+#ifndef __FLOAT_H
+#define __FLOAT_H
+
+#include <default.h>
+
+/* Begin Auto-Generated Part */
+#define DBL_DIG 16
+#define DBL_EPSILON (1e-15)
+#define DBL_MANT_BITS 64
+#define DBL_MANT_DIG 16
+#define DBL_MAX (9.999999999999999e999)
+#define DBL_MAX_10_EXP 999
+#define DBL_MAX_2_EXP 3321
+#define DBL_MAX_EXP 999
+#define DBL_MIN (1e-999)
+#define DBL_MIN_10_EXP (-999)
+#define DBL_MIN_2_EXP (-3318)
+#define DBL_MIN_EXP (-999)
+#define FLT_DIG 16
+#define FLT_EPSILON (1e-15)
+#define FLT_MANT_BITS 64
+#define FLT_MANT_DIG 16
+#define FLT_MAX (9.999999999999999e999)
+#define FLT_MAX_10_EXP 999
+#define FLT_MAX_2_EXP 3321
+#define FLT_MAX_EXP 999
+#define FLT_MIN (1e-999)
+#define FLT_MIN_10_EXP (-999)
+#define FLT_MIN_2_EXP (-3318)
+#define FLT_MIN_EXP (-999)
+#define FLT_NORMALIZE 1
+#define FLT_RADIX 10
+#define FLT_ROUNDS 1
+#define LDBL_DIG 16
+#define LDBL_EPSILON (1e-15)
+#define LDBL_MANT_BITS 64
+#define LDBL_MANT_DIG 16
+#define LDBL_MAX (9.999999999999999e999)
+#define LDBL_MAX_10_EXP 999
+#define LDBL_MAX_2_EXP 3321
+#define LDBL_MAX_EXP 999
+#define LDBL_MIN (1e-999)
+#define LDBL_MIN_10_EXP (-999)
+#define LDBL_MIN_2_EXP (-3318)
+#define LDBL_MIN_EXP (-999)
+/* End Auto-Generated Part */
+
+#endif

+ 22 - 0
tigcc/include/C/gdraw.h

@@ -0,0 +1,22 @@
+#ifndef __GDRAW
+#define __GDRAW
+
+#include <default.h>
+
+/* Begin Auto-Generated Part */
+enum GraphModes{GR_FUNC=1,GR_PAR=2,GR_POL=3,GR_SEQ=4,GR_3D=5,GR_DE=6};
+#define GD_Circle ({__need_in_use_bit;_rom_call(void,(void),176);})
+#define GD_Contour ({__need_in_use_bit;_rom_call(void,(void),17D);})
+#define GD_Eraser ({__need_in_use_bit;_rom_call(void,(void),17A);})
+#define GD_HVLine ({__need_in_use_bit;_rom_call(void,(short),178);})
+#define GD_Line ({__need_in_use_bit;_rom_call(void,(void),177);})
+#define GD_Pen ({__need_in_use_bit;_rom_call(void,(void),179);})
+#define GD_Select ({__need_in_use_bit;_rom_call(void,(void),17C);})
+#define GD_Text ({__need_in_use_bit;_rom_call(void,(void),17B);})
+#define GR3_paint3d ({__need_in_use_bit;_rom_call(void,(void),1FF);})
+#define GR3_xyToWindow ({__need_in_use_bit;_rom_call(void,(float,float,float*,__pshort,__pshort),200);})
+#define GZ_Box ({__need_in_use_bit;_rom_call(void,(void),22B);})
+#define GZ_Center ({__need_in_use_bit;_rom_call(void,(void),22C);})
+/* End Auto-Generated Part */
+
+#endif

+ 118 - 0
tigcc/include/C/graph.h

@@ -0,0 +1,118 @@
+#ifndef __GRAPH
+#define __GRAPH
+
+#include <default.h>
+
+/* Begin Auto-Generated Part */
+#define BITMAP_HDR_SIZE 4
+#define LCD_MEM ((void*)0x4C00)
+#define LCD_SIZE 3840
+#ifndef __HAVE_Bool
+#define __HAVE_Bool
+enum Bool{FALSE,TRUE};
+#endif
+#ifndef __HAVE_WIN_COORDS
+#define __HAVE_WIN_COORDS
+typedef short WIN_COORDS;
+#endif
+#ifndef __HAVE_WIN_RECT
+#define __HAVE_WIN_RECT
+typedef struct{short x0,y0,x1,y1;}WIN_RECT;
+#endif
+#ifndef __HAVE_Attrs
+#define __HAVE_Attrs
+enum Attrs{A_REVERSE,A_NORMAL,A_XOR,A_SHADED,A_REPLACE,A_OR,A_AND,A_THICK1,A_SHADE_V,A_SHADE_H,A_SHADE_NS,A_SHADE_PS};
+#endif
+#ifndef __HAVE_BITMAP
+#define __HAVE_BITMAP
+typedef struct{unsigned short NumRows,NumCols;unsigned char Data[];}BITMAP;
+#endif
+#ifndef __HAVE_BoxAttrs
+#define __HAVE_BoxAttrs
+enum BoxAttrs{B_NORMAL=0x10,B_ROUNDED=0x20,B_DOUBLE=0x40,B_CUT=0x80};
+#endif
+#ifndef __HAVE_Fonts
+#define __HAVE_Fonts
+enum Fonts{F_4x6,F_6x8,F_8x10};
+#endif
+#ifndef __HAVE_ICON
+#define __HAVE_ICON
+typedef struct{unsigned short i[16];}ICON;
+#endif
+typedef char LCD_BUFFER[LCD_SIZE];
+typedef struct{unsigned char Count;struct{signed char Attr,x0,y0,x1,y1;}Data[];}MULTI_LINE;
+#ifndef __HAVE_pICON
+#define __HAVE_pICON
+typedef unsigned short*pICON;
+#endif
+#ifndef __HAVE_SCR_COORDS
+#define __HAVE_SCR_COORDS
+typedef unsigned char SCR_COORDS;
+#endif
+#ifndef __HAVE_SCR_RECT
+#define __HAVE_SCR_RECT
+typedef union{struct{unsigned char x0,y0,x1,y1;}xy;unsigned long l;}SCR_RECT;
+#endif
+#ifndef __HAVE_SCR_STATE
+#define __HAVE_SCR_STATE
+typedef struct{void*ScrAddr;unsigned char XMax,YMax;short CurFont,CurAttr,CurX,CurY;SCR_RECT CurClip;}SCR_STATE;
+#endif
+#define ScrRect ((SCR_RECT*const)(_rom_call_addr(2F)))
+#define BitmapGet _rom_call(void,(const SCR_RECT*,void*),185)
+#define BitmapInit _rom_call(void,(const SCR_RECT*,void*),186)
+#define BitmapPut _rom_call(void,(short,short,const void*,const SCR_RECT*,short),187)
+#define BitmapSize _rom_call(unsigned short,(const SCR_RECT*),188)
+#define ClrScr _rom_call(void,(void),19E)
+#define ClearScreen ClrScr
+#define DisplayOff() (pokeIO_bclr(0x600015,0))
+#define DisplayOn() (pokeIO_bset(0x600015,0))
+#define DrawChar _rom_call(void,(short,short,char,short),1A4)
+#define DrawClipChar _rom_call(void,(short,short,short,const SCR_RECT*,short),191)
+#define DrawClipEllipse _rom_call(void,(short,short,short,short,const SCR_RECT*,short),192)
+#define DrawClipLine _rom_call(void,(const WIN_RECT*,const SCR_RECT*,short),193)
+#define DrawClipPix _rom_call(void,(short,short),194)
+#define DrawClipRect _rom_call(void,(const WIN_RECT*,const SCR_RECT*,short),195)
+#define DrawFkey _rom_call(void,(short,short,short,short),1A5)
+#define DrawIcon _rom_call(void,(short,short,const void*,short),1A6)
+#define DrawLine _rom_call(void,(short,short,short,short,short),1A7)
+#define DrawMultiLines _rom_call(void,(short,short,const void*),196)
+#define DrawPix _rom_call(void,(short,short,short),1A8)
+#define DrawStr _rom_call(void,(short,short,const char*,short),1A9)
+#define DrawStrXY DrawStr
+#define DrawStrWidth _rom_call(short,(const char*,short),197)
+#define DrawTo _rom_call(void,(short,short),19C)
+#define FillLines2 _rom_call(void,(const WIN_RECT*,const WIN_RECT*,const SCR_RECT*,short),199)
+#define FillTriangle _rom_call(void,(short,short,short,short,short,short,const SCR_RECT*,short),198)
+#define FontCharWidth _rom_call(short,(short),190)
+#define FontGetSys _rom_call(unsigned char,(void),18E)
+#define FontSetSys _rom_call(unsigned char,(short),18F)
+#define GetPix _rom_call(short,(short,short),19F)
+#define LCD_restore(b) ((void)(_rom_call(void,(),26A)(LCD_MEM,(const void*)(b),(long)LCD_SIZE)))
+#define LCD_save(b) ((void)(_rom_call(void,(),26A)((void*)(b),LCD_MEM,(long)LCD_SIZE)))
+#define LineTo _rom_call(void,(short,short),19C)
+#define MakeWinRect _rom_call(WIN_RECT*,(short,short,short,short),2C)
+#define MoveTo _rom_call(void,(short,short),19D)
+#define PortRestore _rom_call(void,(void),1A3)
+#define PortSet _rom_call(void,(void*,short,short),1A2)
+#define QScrRectOverlap _rom_call(short,(const SCR_RECT*,const SCR_RECT*),18D)
+#define RestoreScrState _rom_call(void,(const void*),1A1)
+#define SaveScrState _rom_call(void,(void*),1A0)
+#define ScrRectFill _rom_call(void,(const SCR_RECT*,const SCR_RECT*,short),189)
+#define ScrRectOverlap _rom_call(short,(const SCR_RECT*,const SCR_RECT*,SCR_RECT*),18A)
+#define ScrRectScroll _rom_call(void,(const SCR_RECT*,const SCR_RECT*,short,short),18B)
+#define ScrRectShift _rom_call(void,(const SCR_RECT*,const SCR_RECT*,short,short),18C)
+#define ScrToHome _rom_call(SCR_RECT*,(SCR_RECT*),2E)
+#define ScrToWin _rom_call(WIN_RECT*,(const SCR_RECT*),2D)
+#define SetCurAttr _rom_call(short,(short),19A)
+#define SetCurClip _rom_call(void,(const SCR_RECT*),19B)
+#if MIN_AMS>=200
+#define CalcBitmapSize _rom_call(unsigned short,(BITMAP*),3EF)
+#define ClientToScr _rom_call(void,(const SCR_RECT*,const SCR_RECT*,SCR_RECT*),42C)
+#define DrawStrWidthP _rom_call(unsigned short,(const char*,short,short),3EE)
+#define MakeScrRect _rom_call(SCR_RECT*,(short,short,short,short,SCR_RECT*),42D)
+#endif
+/* End Auto-Generated Part */
+
+#define ScreenClear ClrScr
+
+#endif

+ 91 - 0
tigcc/include/C/gray.h

@@ -0,0 +1,91 @@
+#ifndef __GRAY
+#define __GRAY
+
+#include <default.h>
+
+/*===========================================================================*/
+/*                                                                           */
+/* GrayScale-Support v3.50 for TIGCC                                          */
+/*                                                                           */
+/* compatible with HW1/HW2 on all AMS versions up to 2.05                    */
+/*                                                                           */
+/*                                                                           */
+/* original implementation:       Julien Muchembled (as part of UniversalOS) */
+/* NOSTUB and OpenSource version: thomas.nussbaumer@gmx.net (TiCT)           */
+/*                                                                           */
+/*===========================================================================*/
+
+/*--------------------------------------------------------------------------*/
+/* INTERNAL SECTION                                                         */
+/*                                                                          */
+/* DON'T USE THE INTERNAL VARIABLES DIRECTLY - INSTEAD USE THE MACROS BELOW */
+/*--------------------------------------------------------------------------*/
+
+extern void*                   __L_plane;            // pointer to light plane of standard buffer
+extern void*                   __D_plane;            // pointer to dark  plane of standard buffer
+extern void*                   __L_plane2;           // pointer to light plane of dbuffer
+extern void*                   __D_plane2;           // pointer to dark  plane of dbuffer
+extern unsigned short          __gray_handle;
+extern short                   __gray_hw_type;
+extern unsigned short          __gray_dbl_offset;    // offset to active grayscale doublebuffer (only values 0 and 8 are allowed)
+extern volatile unsigned long  __switch_cnt;
+extern volatile void          *__gray_old_int1_hw1;  // old INT1 handler on HW1
+extern volatile void          *__gray_old_int1_hw2;  // old INT1 handler on HW2
+extern const char              __gray_version[];     // just for internal maintainance
+
+/*--------------------------------------------------------------------------*/
+/* PUBLIC SECTION                                                           */
+/*--------------------------------------------------------------------------*/
+
+/* Begin Auto-Generated Part */
+#define GRAYDBUFFER_SIZE 7688
+#ifndef __HAVE_Bool
+#define __HAVE_Bool
+enum Bool{FALSE,TRUE};
+#endif
+#ifndef __HAVE_INT_HANDLER
+#define __HAVE_INT_HANDLER
+typedef struct __attribute__((__may_alias__)){short foo;}_DEREF_INT_HANDLER,*INT_HANDLER;
+#endif
+enum GrayModes{GRAY_OFF=0,GRAY_ON=1,GRAY_HW1=1,GRAY_HW2=1};
+enum GrayPlanes{LIGHT_PLANE=0,DARK_PLANE=1};
+#define GrayAdjust(x) ((void)(*(volatile unsigned char*)0x600013=128-(signed char)(x)))
+#define GrayCheckRunning() (!!__gray_handle)
+#define IsGrayMode GrayCheckRunning
+#define GrayDBufCleanup() ((void)(__gray_dbl_offset=0,__D_plane2=__D_plane,__L_plane2=__L_plane))
+#define GrayDBufGetActiveIdx() (!!__gray_dbl_offset)
+#define GrayDBufGetActivePlane(x) (GrayDBufGetPlane(GrayDBufGetActiveIdx(),x))
+#define GrayDBufGetHiddenIdx() (!__gray_dbl_offset)
+#define GrayDBufGetHiddenPlane(x) (GrayDBufGetPlane(GrayDBufGetHiddenIdx(),x))
+#define GrayDBufGetPlane(i,x) ((i)?((x)?__D_plane2:__L_plane2):GrayGetPlane(x))
+#define GrayDBufInit(p) ({char*aptr=(char*)((((long)p)+7)&0xfffffff8L);__gray_dbl_offset=0;__D_plane2=aptr;(void)(__L_plane2=aptr+3840);})
+#define GrayDBufSetActiveAMSPlane(x) GrayDBufSetAMSPlane(GrayDBufGetActiveIdx(),x)
+#define GrayDBufSetActiveIdx(i) ((void)(__gray_dbl_offset=((i)?8:0)))
+#define GrayDBufSetActiveIdxSync(i) ((void)(GrayWaitNSwitches(1),GrayDBufSetActiveIdx(i)))
+#define GrayDBufSetAMSPlane(i,x) (_rom_call(void,(void*,long),1A2)(GrayDBufGetPlane(i,x),0xEF007F))
+#define GrayDBufSetHiddenAMSPlane(x) GrayDBufSetAMSPlane(GrayDBufGetHiddenIdx(),x)
+#define GrayDBufToggle() ((void)(__gray_dbl_offset=(__gray_dbl_offset?0:8)))
+#define GrayDBufToggleSync() ({GrayWaitNSwitches(1);GrayDBufToggle();})
+#define GrayGetInt1Handler() ((INT_HANDLER)(__gray_hw_type?__gray_old_int1_hw2:__gray_old_int1_hw1))
+#define GetGrayInt1Handler GrayGetInt1Handler
+#define GrayGetPlane(x) ((x)?__D_plane:__L_plane)
+#define GetPlane GrayGetPlane
+#define GrayGetSwitchCount() (__switch_cnt)
+#define GetGraySwitchCount GrayGetSwitchCount
+#define GrayGetVersionString() ((const char*)__gray_version)
+#define GrayMode(x) ((x)?GrayOn():({GrayOff();(short)1;}))
+extern void GrayOff(void)__ATTR_LIB_ASM__;
+extern short GrayOn(void)__ATTR_LIB_ASM__;
+extern void GrayOnThrow(void)__ATTR_LIB_ASM__;
+#define GraySetAMSPlane(x) (_rom_call(void,(void*,long),1A2)(GrayGetPlane(x),0xEF007F))
+#define SetPlane GraySetAMSPlane
+#define GraySetInt1Handler(p) ((void)(__gray_hw_type?((INT_HANDLER)__gray_old_int1_hw2=(p)):((INT_HANDLER)__gray_old_int1_hw1=(p))))
+#define SetGrayInt1Handler GraySetInt1Handler
+#define GraySetSwitchCount(val) (__switch_cnt=(val))
+#define SetGraySwitchCount GraySetSwitchCount
+#define GrayWaitNSwitches(n) ({unsigned long __w=__switch_cnt+(n);while(__switch_cnt<__w);})
+/* End Auto-Generated Part */
+
+#define _GrayIsRealHW2() (__gray_hw_type)
+
+#endif

+ 50 - 0
tigcc/include/C/homescr.h

@@ -0,0 +1,50 @@
+#ifndef __HOMESCR
+#define __HOMESCR
+
+#include <default.h>
+
+typedef void(*__HS_pushEmptyFIFONode__type__)(short)__ATTR_TIOS__;
+extern __HS_pushEmptyFIFONode__type__ __get_HS_pushEmptyFIFONode(void)__ATTR_LIB_C__;
+
+/* Begin Auto-Generated Part */
+#define H_NULL 0
+#ifndef __HAVE_Bool
+#define __HAVE_Bool
+enum Bool{FALSE,TRUE};
+#endif
+#ifndef __HAVE_ESQ
+#define __HAVE_ESQ
+typedef unsigned char ESQ;
+#endif
+#ifndef __HAVE_HANDLE
+#define __HAVE_HANDLE
+typedef unsigned short HANDLE;
+#endif
+#ifndef __HAVE_MULTI_EXPR
+#define __HAVE_MULTI_EXPR
+typedef struct{unsigned short Size;ESQ Expr[];}MULTI_EXPR;
+#endif
+typedef struct{short ScreenLeft;long ScreenBottom;long XStart;unsigned short Width;unsigned short Height;short Top;HANDLE Expr;short TooLong;short PrettyPrint;unsigned short Exp;unsigned short Fix;}FIFO_ELEMENT;
+typedef struct{FIFO_ELEMENT Entry;FIFO_ELEMENT Ans;HANDLE Prev;HANDLE Next;}FIFO_NODE;
+#define HomeExecute ({__need_in_use_bit;_rom_call(void,(const char*,short),10E);})
+#define HomePushEStack _rom_call(void,(void),10F)
+extern void HomeStore(void)__ATTR_LIB_ASM__;
+extern void HomeStorePair(HANDLE,HANDLE)__ATTR_LIB_C__;
+#define HS_chopFIFO _rom_call(void,(void),23C)
+#define HS_countFIFO _rom_call(unsigned short,(void),23D)
+#define HS_deleteFIFONode _rom_call(HANDLE,(HANDLE),23E)
+#define HS_freeAll _rom_call(void,(void),23F)
+#define HS_freeFIFONode _rom_call(void,(HANDLE),240)
+#define HS_getAns _rom_call(HANDLE,(short),241)
+#define HS_getEntry _rom_call(HANDLE,(short),242)
+#define HS_getFIFONode _rom_call(HANDLE,(short),243)
+#define HS_newFIFONode _rom_call(HANDLE,(void),245)
+#define HS_popEStack _rom_call(HANDLE,(void),244)
+#define HS_pushEmptyFIFONode (*(__get_HS_pushEmptyFIFONode()))
+#define HS_pushFIFONode _rom_call(void,(HANDLE),246)
+#if MIN_AMS>=200
+#define HomeAlone _rom_call(unsigned short,(void),506)
+#endif
+/* End Auto-Generated Part */
+
+#endif

Разница между файлами не показана из-за своего большого размера
+ 22 - 0
tigcc/include/C/intr.h


+ 74 - 0
tigcc/include/C/kbd.h

@@ -0,0 +1,74 @@
+#ifndef __KBD
+#define __KBD
+
+#include <default.h>
+
+/* We have to use this internal macro since _keytest needs to be able to
+   accept single parameters (in particular, the RR_... constant pairs). */
+#define __keytest(row,col) (!!(_rowread_inverted(1<<(row))&(1<<(col))))
+
+/* If you can read the macro below, you must be a really good C programmer.
+   But I hope I can make it understandable:
+   __current_row and __current_rowread_result are defined by BEGIN_KEYTEST
+   and initialized to dummy values.
+   The definition is sort of the same as the one above, but
+   _rowread_inverted (1 << (row))
+   is replaced with
+   (__current_row == row ? __current_rowread_result : (__current_row = row, __current_rowread_result = _rowread_inverted (1 << (row))))
+   So,
+   if the row which was read the last time this macro was called equals the
+   one that is to be read now,
+     then use the last result in place of _rowread_inverted (1 << (row)),
+   otherwise
+     set __current_row,
+     set __current_rowread_result by calling _rowread_inverted,
+     and also return this value
+     (see the section in the doc about the ',' operator). */
+#define __keytest_optimized(row,col) (!!((__current_row==row?__current_rowread_result:(__current_row=row,__current_rowread_result=_rowread_inverted(1<<(row))))&(1<<(col))))
+
+/* Begin Auto-Generated Part */
+#define NULL ((void*)0)
+#ifndef __HAVE_Bool
+#define __HAVE_Bool
+enum Bool{FALSE,TRUE};
+#endif
+#ifndef __HAVE_SCR_RECT
+#define __HAVE_SCR_RECT
+typedef union{struct{unsigned char x0,y0,x1,y1;}xy;unsigned long l;}SCR_RECT;
+#endif
+enum Arrows{ARROW_UP=1,ARROW_LEFT=2,ARROW_DOWN=3,ARROW_RIGHT=4};
+#ifndef __HAVE_CommonKeys
+#define __HAVE_CommonKeys
+enum CommonKeys{KEY_F1=268,KEY_F2=269,KEY_F3=270,KEY_F4=271,KEY_F5=272,KEY_F6=273,KEY_F7=274,KEY_F8=275,KEY_ESC=264,KEY_QUIT=4360,KEY_APPS=265,KEY_SWITCH=4361,KEY_MODE=266,KEY_BACKSPACE=257,KEY_INS=4353,KEY_CLEAR=263,KEY_VARLNK=4141,KEY_CHAR=4139,KEY_ENTER=13,KEY_ENTRY=4109,KEY_STO=258,KEY_RCL=4354,KEY_SIGN=173,KEY_MATH=4149,KEY_MEM=4150,KEY_ON=267,KEY_OFF=4363};
+#endif
+enum StatKeys{STAT_2ND=1,STAT_DIAMOND=2,STAT_SHIFT=3,STAT_HAND=4};
+#define OSFastArrows (*((unsigned char*)(_rom_call_addr_hack_concat(0x15C,_ROM_CALL_15C,((unsigned char*)((unsigned long)(*(((unsigned short*)(_rom_call_addr(51)))+0x80)))),200,0x508))))
+#define _keytest(rowcol...) (__keytest(rowcol))
+#define _keytest_optimized(rowcol...) (__keytest_optimized(rowcol))
+extern unsigned short _rowread(short asm("d0"))__ATTR_LIB_ASM__;
+#define _rowread_internal(row) (~(_rowread(row)))
+#define _rowread_inverted(row) (_rowread(~((short)(row))))
+#define GKeyDown ({__need_in_use_bit;_rom_call(short,(void),17F);})
+#define GKeyFlush ({__need_in_use_bit;_rom_call(void,(void),180);})
+#define GKeyIn ({__need_in_use_bit;_rom_call(short,(SCR_RECT*,short),17E);})
+#define kbhit ({__need_in_use_bit;_rom_call(short,(void),52);})
+#define ngetchx ({__need_in_use_bit;_rom_call(short,(void),51);})
+#define OSGetStatKeys _rom_call(short,(void),299)
+#define OSInitBetweenKeyDelay(rate) ({short __oldRate=_OSInitBetweenKeyDelay(48);(__oldRate*48-1)/_OSInitBetweenKeyDelay((rate))+1;})
+#define OSInitKeyInitDelay _rom_call(short,(short),248)
+#define pushkey ({__need_in_use_bit;_rom_call(void,(short),50);})
+#define BEGIN_KEYTEST {register short __current_row=RR_NO_KEY;register unsigned short __current_rowread_result=0;
+#define END_KEYTEST }
+#if MIN_AMS>=200
+#define alphaLockOff _rom_call(void,(unsigned char*),482)
+#define alphaLockOn _rom_call(void,(unsigned char*),481)
+#define GetAlphaStatus _rom_call(unsigned char,(void),164)
+#define KeyYesOrNo _rom_call(short,(short),3EB)
+#define restoreAlphaLock _rom_call(void,(unsigned char*),483)
+#define SetAlphaStatus _rom_call(void,(char),163)
+#endif
+/* End Auto-Generated Part */
+
+#define _OSInitBetweenKeyDelay _rom_call(short,(short),249)
+
+#endif

+ 37 - 0
tigcc/include/C/limits.h

@@ -0,0 +1,37 @@
+#ifndef __LIMITS
+#define __LIMITS
+
+#include <default.h>
+
+#ifdef __CHAR_UNSIGNED__
+#define CHAR_MAX 255
+#define CHAR_MIN 0
+#else
+#define CHAR_MAX 127
+#define CHAR_MIN (-128)
+#endif
+
+#ifdef __INT_SHORT__
+#define INT_MAX 0x7FFF
+#define INT_MIN ((int)0x8000)
+#define UINT_MAX 0xFFFFU
+#else
+#define INT_MAX 0x7FFFFFFFL
+#define INT_MIN ((int)0x80000000L)
+#define UINT_MAX 0xFFFFFFFFUL
+#endif
+
+/* Begin Auto-Generated Part */
+#define CHAR_BIT 8
+#define LONG_MAX 0x7FFFFFFFL
+#define LONG_MIN ((long)0x80000000L)
+#define SCHAR_MAX 127
+#define SCHAR_MIN (-128)
+#define SHRT_MAX 0x7FFF
+#define SHRT_MIN ((short)0x8000)
+#define UCHAR_MAX 255
+#define ULONG_MAX 0xFFFFFFFFUL
+#define USHRT_MAX 0xFFFFU
+/* End Auto-Generated Part */
+
+#endif

+ 59 - 0
tigcc/include/C/link.h

@@ -0,0 +1,59 @@
+#ifndef __LINK
+#define __LINK
+
+#include <default.h>
+
+/* Begin Auto-Generated Part */
+#define NULL ((void*)0)
+#ifndef __HAVE_Bool
+#define __HAVE_Bool
+enum Bool{FALSE,TRUE};
+#endif
+#ifndef __HAVE_ESQ
+#define __HAVE_ESQ
+typedef unsigned char ESQ;
+#endif
+#ifndef __HAVE_CESI
+#define __HAVE_CESI
+typedef const ESQ*CESI;
+#endif
+#ifndef __HAVE_ESI
+#define __HAVE_ESI
+typedef ESQ*ESI;
+#endif
+#ifndef __HAVE_size_t
+#define __HAVE_size_t
+typedef unsigned long size_t;
+#endif
+#ifndef __HAVE_SYM_STR
+#define __HAVE_SYM_STR
+typedef CESI SYM_STR;
+#endif
+typedef struct{unsigned short hVar;union{const void*pVar;struct{unsigned short FindFlags;unsigned short NameSym;}DirVars;}extra;const char*VarName;unsigned short VarSize;unsigned short Index;unsigned short Unknown;unsigned char VarType;unsigned char VarCompat;}LIO_CTX;
+#define getcalc ({__need_in_use_bit;_rom_call(void,(SYM_STR),54);})
+#define LIO_Get _rom_call(unsigned short,(LIO_CTX*),57)
+#define LIO_GetMultiple ({__need_in_use_bit;_rom_call(short,(LIO_CTX*),59);})
+#define LIO_Receive ({__need_in_use_bit;_rom_call(unsigned short,(LIO_CTX*,short,short),58);})
+#define LIO_RecvData _rom_call(unsigned short,(void*,long,long),5B)
+#define LIO_Send _rom_call(unsigned short,(LIO_CTX*,short),56)
+#define LIO_SendData _rom_call(unsigned short,(const void*,long),5A)
+#define LIO_SendProduct _rom_call(unsigned short,(LIO_CTX*,short),253)
+#define OSCheckSilentLink _rom_call(short,(void),24A)
+#define OSLinkClose _rom_call(void,(void),24E)
+#define OSLinkCmd ({__need_in_use_bit;_rom_call(void,(short),24B);})
+#define OSLinkOpen _rom_call(void,(void),24D)
+#define flush_link OSLinkOpen
+#define OSLinkReset _rom_call(void,(void),24C)
+#define reset_link OSLinkReset
+#define OSLinkTxQueueActive _rom_call(short,(void),252)
+#define OSLinkTxQueueInquire _rom_call(unsigned short,(void),251)
+#define tx_free OSLinkTxQueueInquire
+#define OSReadLinkBlock _rom_call(unsigned short,(char*,short),24F)
+#define receive OSReadLinkBlock
+#define OSWriteLinkBlock _rom_call(short,(const char*,short),250)
+#define transmit OSWriteLinkBlock
+#define sendcalc ({__need_in_use_bit;_rom_call(unsigned short,(SYM_STR,short,short,unsigned char*),55);})
+/* End Auto-Generated Part */
+
+#endif
+

+ 88 - 0
tigcc/include/C/math.h

@@ -0,0 +1,88 @@
+#ifndef __MATH
+#define __MATH
+
+#include <default.h>
+
+/* Begin Auto-Generated Part */
+#define HALF_PI (1.570796326794897)
+#define NAN (0./0.)
+#define NEGATIVE_INF (1/NEGATIVE_ZERO)
+#define NEGATIVE_ZERO (-POSITIVE_ZERO)
+#define PI (3.141592653589793)
+#define POSITIVE_INF (1/POSITIVE_ZERO)
+#define POSITIVE_ZERO (1.e-8192*1.e-8192)
+#define UNSIGNED_INF (1/UNSIGNED_ZERO)
+#define UNSIGNED_ZERO (0.)
+#define ZERO (0.)
+#ifndef __HAVE_bcd
+#define __HAVE_bcd
+typedef struct{unsigned short exponent;unsigned long long mantissa;}bcd __attribute__((__may_alias__));
+#endif
+#ifndef __HAVE_Bool
+#define __HAVE_Bool
+enum Bool{FALSE,TRUE};
+#endif
+#define abs(x) ({typeof(x) __x = (x); __x >= 0 ? __x : -__x;})
+#define acos(x) _tios_float_1(F5,x,float)
+#define acosh(x) _tios_float_1(288,x,float)
+#define asin(x) _tios_float_1(F6,x,float)
+#define asinh(x) _tios_float_1(287,x,float)
+#define atan2(x,y) _tios_float_2(F8,x,y,float,float)
+#define atan(x) _tios_float_1(F7,x,float)
+#define atanh(x) _tios_float_1(289,x,float)
+#define cacos _rom_call(void,(float,float,float*,float*),13A)
+#define cacosh _rom_call(void,(float,float,float*,float*),13D)
+#define casin _rom_call(void,(float,float,float*,float*),13B)
+#define casinh _rom_call(void,(float,float,float*,float*),13E)
+#define catan _rom_call(void,(float,float,float*,float*),13C)
+#define catanh _rom_call(void,(float,float,float*,float*),13F)
+#define ccos _rom_call(void,(float,float,float*,float*),140)
+#define ccosh _rom_call(void,(float,float,float*,float*),143)
+#define ceil(x) _tios_float_1(105,x,float)
+#define cexp _rom_call(void,(float,float,float*,float*),149)
+#define cln _rom_call(void,(float,float,float*,float*),147)
+#define clog10 _rom_call(void,(float,float,float*,float*),148)
+#define cos(x) _tios_float_1(F9,x,float)
+#define cosh(x) _tios_float_1(FC,x,float)
+#define csin _rom_call(void,(float,float,float*,float*),141)
+#define csinh _rom_call(void,(float,float,float*,float*),144)
+#define csqrt _rom_call(void,(float,float,float*,float*),146)
+#define ctan _rom_call(void,(float,float,float*,float*),142)
+#define ctanh _rom_call(void,(float,float,float*,float*),145)
+#define exp(x) _tios_float_1(FF,x,float)
+#define fabs(x) _tios_float_1(106,x,float)
+#define floor(x) _tios_float_1(107,x,float)
+#define fmod(x,y) _tios_float_2(108,x,y,float,float)
+#define hypot(x,y) ({float __x=(x),__y=(y);sqrt(fadd(fmul((__x),(__x)),fmul((__y),(__y))));})
+#ifndef __HAVE_labs
+#define __HAVE_labs
+long labs(long)__ATTR_GCC__;
+#endif
+#define ldexp10(x,e) ({float __f=(x);((bcd*)&__f)->exponent+=(e);__f;})
+#define log(x) _tios_float_1(100,x,float)
+#define log10(x) _tios_float_1(101,x,float)
+#define modf(x,y) _tios_float_2(102,x,y,float,float*)
+#define pow(x,y) _tios_float_2(103,x,y,float,float)
+#define sin(x) _tios_float_1(FA,x,float)
+#define sinh(x) _tios_float_1(FD,x,float)
+#define sqrt(x) _tios_float_1(104,x,float)
+#define tan(x) _tios_float_1(FB,x,float)
+#define tanh(x) _tios_float_1(FE,x,float)
+#if MIN_AMS>=101
+#ifndef __HAVE_atof
+#define __HAVE_atof
+extern float atof(const char*)__ATTR_LIB_ASM__;
+#endif
+#define frexp10(x,y) _tios_float_2(2FB,x,y,float,__pshort)
+#define is_inf _rom_call(short,(float),2FF)
+#define is_nan _rom_call(short,(float),306)
+#define is_nzero _rom_call(short,(float),300)
+#define is_pzero _rom_call(short,(float),301)
+#define is_sinf _rom_call(short,(float),302)
+#define is_transfinite _rom_call(short,(float),303)
+#define is_uinf_or_nan _rom_call(short,(float),304)
+#define is_uzero _rom_call(short,(float),305)
+#endif
+/* End Auto-Generated Part */
+
+#endif

+ 23 - 0
tigcc/include/C/mem.h

@@ -0,0 +1,23 @@
+#ifndef __MEM
+#define __MEM
+
+#include <default.h>
+
+/* Begin Auto-Generated Part */
+#define NULL ((void*)0)
+#ifndef __HAVE_size_t
+#define __HAVE_size_t
+typedef unsigned long size_t;
+#endif
+#define _memset _rom_call(void*,(void*,short,long),27B)
+#define memchr _rom_call(void*,(const void*,short,long),273)
+#define memcmp _rom_call(short,(const void*,const void*,long),270)
+#define memcpy _rom_call(void*,(void*,const void*,long),26A)
+#define memmove _rom_call(void*,(void*,const void*,long),26B)
+#define memset _rom_call(void*,(void*,short,long),27C)
+#if MIN_AMS>=200
+#define memucmp _rom_call(short,(const void*,const void*,long),3CC)
+#endif
+/* End Auto-Generated Part */
+
+#endif

+ 96 - 0
tigcc/include/C/menus.h

@@ -0,0 +1,96 @@
+#ifndef __MENUS
+#define __MENUS
+
+#include <default.h>
+
+/* These constants are needed for use in "asm" statements */
+asm(".set MT_TEXT,0x8000");
+asm(".set MT_XREF,0x9000");
+asm(".set MT_ICON,0xA000");
+asm(".set MT_CASCADE,0x4000");
+
+/* Begin Auto-Generated Part */
+#define CENTER (-1)
+#define H_NULL 0
+#define NULL ((void*)0)
+#ifndef __HAVE_BITMAP
+#define __HAVE_BITMAP
+typedef struct{unsigned short NumRows,NumCols;unsigned char Data[];}BITMAP;
+#endif
+#ifndef __HAVE_Bool
+#define __HAVE_Bool
+enum Bool{FALSE,TRUE};
+#endif
+#ifndef __HAVE_CommonKeys
+#define __HAVE_CommonKeys
+enum CommonKeys{KEY_F1=268,KEY_F2=269,KEY_F3=270,KEY_F4=271,KEY_F5=272,KEY_F6=273,KEY_F7=274,KEY_F8=275,KEY_ESC=264,KEY_QUIT=4360,KEY_APPS=265,KEY_SWITCH=4361,KEY_MODE=266,KEY_BACKSPACE=257,KEY_INS=4353,KEY_CLEAR=263,KEY_VARLNK=4141,KEY_CHAR=4139,KEY_ENTER=13,KEY_ENTRY=4109,KEY_STO=258,KEY_RCL=4354,KEY_SIGN=173,KEY_MATH=4149,KEY_MEM=4150,KEY_ON=267,KEY_OFF=4363};
+#endif
+#ifndef __HAVE_HANDLE
+#define __HAVE_HANDLE
+typedef unsigned short HANDLE;
+#endif
+#ifndef __HAVE_ICON
+#define __HAVE_ICON
+typedef struct{unsigned short i[16];}ICON;
+#endif
+#ifndef __HAVE_pICON
+#define __HAVE_pICON
+typedef unsigned short*pICON;
+#endif
+enum DynMenuFlags{DMF_TEXT=0x0001,DMF_ICON=0x0002,DMF_BITMAP=0x0004
+#if MIN_AMS>=200
+,DMF_CHILD_SUB=0x1000
+#endif
+,DMF_CHILD=0x2000,DMF_TOP_SUB=0x4000,DMF_TOP=0x8000};
+enum ItemTypes{MT_TEXT=0x8000,MT_XREF=0x9000,MT_ICON=0xA000,MT_CASCADE=0x4000};
+enum MenuBeginFlags{MBF_WITHICON=0x01,MBF_REDEF=0x02,MBF_SYS_ALLOC=0x04
+#if MIN_AMS>=200
+,MBF_MAX_MENU_WIDTH=0x08,MBF_STRIKEOUT=0x10,MBF_HMENU=0x20,MBF_NO_DRAWTOP=0x40
+#endif
+};
+enum MenuCheckCmds{MC_CHECK=0
+#if MIN_AMS>=200
+,MC_UNCHECK=1
+#endif
+,MC_STATUS=2,MC_FLIP=3};
+enum MenuFlagsEnum{MF_POPUP=0x0001,MF_TOOLBOX=0x0002,MF_NONSEQ=0x0004,MF_ICON_TITLE=0x0008,MF_TEXT_TITLE=0x0010,MF_NO_NUMS=0x0020,MF_NO_UNAMED=0x0040,MF_DYN_POPUP=0x0080,MF_ALT_ICONS=0x0100,MF_BITMAP_TITLE=0x0200,MF_ERROR=0x0800,MF_ICONS_OVERLAP=0x1000,MF_TITLE=0x0218};
+enum MenuKeyValues{M_NOITEM=0,M_NOTMENUKEY=-2};
+enum VCFPFlags{VCFP_ALL=0x01,VCFP_SKIP_CURDIR=0x02};
+#define MenuAddIcon _rom_call(HANDLE,(HANDLE,short,const void*,short,short),42)
+#define MenuAddText _rom_call(HANDLE,(HANDLE,short,const char*,short,short),41)
+#define MenuBegin _rom_call(HANDLE,(const void*,short,short,short,...),36)
+#define MenuCheck _rom_call(short,(HANDLE,short,short),37)
+#define MenuEnd _rom_call(void,(HANDLE),38)
+#define MenuGetTopRedef _rom_call(short,(HANDLE,short),40)
+#define MenuKey ({__need_in_use_bit;_rom_call(short,(HANDLE,short),39);})
+#define MenuNew _rom_call(HANDLE,(short,short,short),43)
+#define MenuOn _rom_call(void,(HANDLE),3A)
+#define MenuPopup ({__need_in_use_bit;_rom_call(unsigned short,(const void*,short,short,short),3B);})
+#define MenuSubStat _rom_call(void,(HANDLE,short,short),3C)
+#define MenuTopRedef _rom_call(void,(HANDLE,short,short),3F)
+#define MenuTopSelect _rom_call(void,(HANDLE,short),3E)
+#define MenuTopStat _rom_call(void,(HANDLE,short,short),3D)
+#define MenuUpdate _rom_call(void,(void),49)
+#define PopupAddText _rom_call(HANDLE,(HANDLE,short,const char*,short),44)
+#define PopupClear _rom_call(HANDLE,(HANDLE),46)
+#define PopupDo ({__need_in_use_bit;_rom_call(short,(HANDLE,short,short,short),47);})
+#define PopupNew _rom_call(HANDLE,(const char*,short),45)
+#define PopupText _rom_call(const char*,(HANDLE,short),48)
+#define VarCreateFolderPopup _rom_call(HANDLE,(__pushort,short),28F)
+#if MIN_AMS>=200
+#define DynMenuAdd _rom_call(HANDLE,(HANDLE,short,const void*,short,short),3F1)
+#define DynMenuChange _rom_call(HANDLE,(HANDLE,short,const void*,short),3F0)
+#define MenuFlags _rom_call(short,(HANDLE),3F4)
+#define MenuItemDef _rom_call(void*,(HANDLE,short,__pushort),3F3)
+#define MenuLoad _rom_call(HANDLE,(const void*,short),3F2)
+#define MenuOff _rom_call(void,(HANDLE),419)
+#define PopupBegin _rom_call(HANDLE,(HANDLE,short),3F5)
+#define PopupBeginDo ({__need_in_use_bit;_rom_call(short,(HANDLE,short,short,short),3F6);})
+#define QMenuTopSelect _rom_call(unsigned short,(HANDLE),41A)
+#if MIN_AMS>=202
+#define FKeyI_H _rom_call(short,(HANDLE,short),592)
+#endif
+#endif
+/* End Auto-Generated Part */
+
+#endif

+ 183 - 0
tigcc/include/C/nostub.h

@@ -0,0 +1,183 @@
+#ifndef NOSTUB
+#define NOSTUB
+
+#ifdef DOORS
+
+#error "nostub.h" must not be included in "Doors" mode!
+#undef NOSTUB
+
+#else
+
+#include <default.h>
+
+#ifndef _GENERIC_ARCHIVE
+
+asm (".xdef _tigcc_native");
+
+_INCLUDE_PATCH(__nostub);
+
+#if defined (USE_FLINE_ROM_CALLS) || defined (KERNEL_FORMAT_ROM_CALLS) || defined (COMPRESSED_FORMAT_ROM_CALLS)
+#include <romsymb.h>
+#ifdef USE_FLINE_ROM_CALLS
+// Kernel-mode ROM calls as introduced by romsymb.h should be avoided.
+#undef _rom_call_addr
+#define _rom_call_addr(index) (__jmp_tbl[0x##index])
+#else
+#undef OPTIMIZE_ROM_CALLS
+#endif
+#endif
+
+#ifdef OPTIMIZE_ROM_CALLS
+_INCLUDE_PATCH(__optimize_rom_calls);
+#undef __jmp_tbl
+register void **__jmp_tbl asm("a5");
+#endif
+
+#ifdef SAVE_SCREEN
+_INCLUDE_PATCH(__save_screen);
+#endif
+
+#ifdef KERNEL_FORMAT_RELOCS
+_INCLUDE_PATCH(__kernel_format_relocs);
+#endif
+
+#ifdef COMPRESSED_FORMAT_RELOCS
+_INCLUDE_PATCH(__compressed_format_relocs);
+#endif
+
+#ifndef MERGE_BSS
+#ifdef COMPRESSED_FORMAT_BSS
+_INCLUDE_PATCH(__compressed_format_bss);
+#else
+_INCLUDE_PATCH(__kernel_format_bss);
+#endif
+#endif
+
+#ifdef COMPRESSED_FORMAT_ROM_CALLS
+_INCLUDE_PATCH(__compressed_format_rom_calls);
+#else
+_INCLUDE_PATCH(__kernel_format_rom_calls);
+#endif
+
+#ifdef RETURN_VALUE                /* A RETURN_VALUE option is present */
+
+#define __str(x) #x                /* A set of nasty hacks with preprocessor */
+#define __xstr(x) __str(x)         /* based on some very specific features   */
+#define __var(x) x##1
+#define __xvar(x) __var(x)
+
+#if __xvar(RETURN_VALUE)           /* Check whether RETURN_VALUE is blank */
+_INCLUDE_PATCH(__nostub_retval);
+#else                              /* A variable is assigned to RETURN_VALUE */
+_INCLUDE_PATCH(__nostub_retval_var);
+asm("\n"
+"	/* RETURN_VALUE <variable> Extra Support */\n"
+"	.xdef __retval_var_name__\n"
+"	.byte 0\n"
+"	.ascii \""__xstr(RETURN_VALUE)"\"\n"
+"__retval_var_name__:\n"
+"	.byte 0\n"
+"	.even\n"
+"	");
+#endif
+
+#undef __str                       /* Erase temporary macros */
+#undef __xstr
+#undef __var
+#undef __xvar
+
+#endif
+
+#ifdef ENABLE_ERROR_RETURN
+_INCLUDE_PATCH(__special_error_return_support);
+#if MIN_AMS<200
+_INCLUDE_PATCH(__special_error_return_support_ams_1);
+#endif
+#endif
+
+/* Support for the _nostub data extension (comment etc.) format: */
+#define _comment        _nostub_data__0000
+#define _program_name   _nostub_data__0001
+#define _version_string _nostub_data__0002
+#define _version_number _nostub_data__0003
+#define _bw_icon        _nostub_data__0004
+#define _grayscale_icon _nostub_data__0005
+#define _incompat_flags _nostub_data__0006
+
+#if 0 /* WARNING: DO NOT enable this before official standardization! */
+#define _authors        _nostub_data__0007
+#endif
+
+#define __TEXTSEC__ __attribute__((__section__(".text")))
+
+#ifdef COMMENT_STRING
+__TEXTSEC__ char _comment[] = (COMMENT_STRING);
+#endif
+
+#ifdef COMMENT_PROGRAM_NAME
+__TEXTSEC__ char _program_name[] = (COMMENT_PROGRAM_NAME);
+#endif
+
+#ifdef COMMENT_VERSION_STRING
+__TEXTSEC__ char _version_string[] = (COMMENT_VERSION_STRING);
+#endif
+
+#ifdef COMMENT_VERSION_NUMBER
+__TEXTSEC__ struct __attribute__((__aligned__(2))) {unsigned char major,minor,revision,subrev;} _version_number = {COMMENT_VERSION_NUMBER};
+#endif
+
+#ifdef COMMENT_BW_ICON
+__TEXTSEC__ short _bw_icon[16] = COMMENT_BW_ICON;
+#endif
+
+#ifdef COMMENT_GRAY_ICON
+__TEXTSEC__ short _grayscale_icon[2][16] = {COMMENT_GRAY_ICON};
+#endif
+
+#ifdef INCOMPAT_CREATES_HANDLES
+#define COMMENT_INCOMPAT_CREATES_HANDLES 0x01
+#else
+#define COMMENT_INCOMPAT_CREATES_HANDLES 0
+#endif
+
+#ifdef INCOMPAT_USES_TRAPS
+#define COMMENT_INCOMPAT_USES_TRAPS 0x02
+#else
+#define COMMENT_INCOMPAT_USES_TRAPS 0
+#endif
+
+#ifdef INCOMPAT_USES_VECTORS
+#define COMMENT_INCOMPAT_USES_VECTORS 0x04
+#else
+#define COMMENT_INCOMPAT_USES_VECTORS 0
+#endif
+
+#ifdef INCOMPAT_USES_EV_HOOK
+#define COMMENT_INCOMPAT_USES_EV_HOOK 0x08
+#else
+#define COMMENT_INCOMPAT_USES_EV_HOOK 0
+#endif
+
+#ifdef INCOMPAT_NEEDS_ALL_STACK
+#define COMMENT_INCOMPAT_NEEDS_ALL_STACK 0x10
+#else
+#define COMMENT_INCOMPAT_NEEDS_ALL_STACK 0
+#endif
+
+#define COMMENT_INCOMPAT_FLAGS (COMMENT_INCOMPAT_CREATES_HANDLES | COMMENT_INCOMPAT_USES_TRAPS | COMMENT_INCOMPAT_USES_VECTORS | COMMENT_INCOMPAT_USES_EV_HOOK | COMMENT_INCOMPAT_NEEDS_ALL_STACK)
+
+#if COMMENT_INCOMPAT_FLAGS
+__TEXTSEC__ unsigned long _incompat_flags = (COMMENT_INCOMPAT_FLAGS);
+#endif
+
+#if 0
+#ifdef COMMENT_AUTHORS
+__TEXTSEC__ char _authors[] = (COMMENT_AUTHORS);
+#endif
+#endif
+
+#endif
+
+#endif
+
+#endif

+ 28 - 0
tigcc/include/C/peekpoke.h

@@ -0,0 +1,28 @@
+#ifndef __PEEKPOKE
+#define __PEEKPOKE
+
+#include <default.h>
+
+/* Begin Auto-Generated Part */
+#define peek(addr) (*((unsigned char*)(long)(addr)))
+#define peek_bit(addr,bit) (!!(*((unsigned char*)(long)(addr))&(1<<(bit))))
+#define peek_l(addr) (*((unsigned long*)(long)(addr)))
+#define peek_w(addr) (*((unsigned short*)(long)(addr)))
+#define peekIO(port) (*((volatile unsigned char*)(long)(port)))
+#define peekIO_bit(port,bit) (!!(*((volatile unsigned char*)(long)(port))&(1<<(bit))))
+#define peekIO_w(port) (*((volatile unsigned short*)(long)(port)))
+#define poke(addr,val) (void)(*((unsigned char*)(long)(addr))=(val))
+#define poke_bclr(__dest_addr__,__bit_nr__) ({register char *__addr_temp__=(char *)(__dest_addr__);asm("bclr.b %2,%0":"+dm"(*__addr_temp__):"0"(*__addr_temp__),"di"(__bit_nr__));})
+#define poke_bset(__dest_addr__,__bit_nr__) ({register char *__addr_temp__=(char *)(__dest_addr__);asm("bset.b %2,%0":"+dm"(*__addr_temp__):"0"(*__addr_temp__),"di"(__bit_nr__));})
+#define poke_l(addr,val) (void)(*((unsigned long*)(long)(addr))=(val))
+#define poke_w(addr,val) (void)(*((unsigned short*)(long)(addr))=(val))
+#define pokeIO(port,val) (void)(*((volatile unsigned char*)(long)(port))=(val))
+#define pokeIO_bclr(__dest_addr__,__bit_nr__) ({register char *__addr_temp__=(char *)(__dest_addr__);asm("bclr.b %2,%0":"+dm"(*__addr_temp__):"0"(*__addr_temp__),"di"(__bit_nr__));})
+#define pokeIO_bset(__dest_addr__,__bit_nr__) ({register char *__addr_temp__=(char *)(__dest_addr__);asm("bset.b %2,%0":"+dm"(*__addr_temp__):"0"(*__addr_temp__),"di"(__bit_nr__));})
+#define pokeIO_w(port,val) (void)(*((volatile unsigned short*)(long)(port))=(val))
+#define speek(addr) (*((signed char*)(long)(addr)))
+#define speek_l(addr) (*((signed long*)(long)(addr)))
+#define speek_w(addr) (*((signed short*)(long)(addr)))
+/* End Auto-Generated Part */
+
+#endif

+ 1 - 0
tigcc/include/C/printf.h

@@ -0,0 +1 @@
+#include <stdio.h>

Некоторые файлы не были показаны из-за большого количества измененных файлов