Ticket #9: kernel_1.h

File kernel_1.h, 68.7 KB (added by debrouxl, 4 years ago)

First step of the de-duplication of definitions: mark which TIGCC headers are to be used

Line 
1#ifndef __KERNEL_H__
2#define __KERNEL_H__
3
4#if defined(NOSTUB) || defined(KERNEL) || defined(DOORS)
5# error "kernel.h" must not be included with tigcclib.h
6#endif
7
8/* If someone uses the main function */
9#define main _main
10
11/* Select target */
12#ifdef USE_TI89
13        short   _ti89;
14#endif
15#if defined(USE_TI92PLUS) || defined(USE_TI92P)
16        short   _ti92plus;
17#endif
18#ifdef USE_V200
19        short   _v200;
20#endif
21#if !defined(USE_TI92PLUS) && !defined(USE_TI92P) && !defined(USE_TI89) && !defined(USE_V200)
22        short   _ti92plus,_ti89,_v200;
23#endif
24
25/* Define default value */
26#define asm __asm__
27#define __ATTR_STD__ __attribute__((__stkparm__))
28#define __ATTR_STD_NORETURN__ __attribute__((__stkparm__,__noreturn__))
29#define CALLBACK __ATTR_STD__
30#define __ATTR_TIOS__ __ATTR_STD__
31#define __ATTR_TIOS_NORETURN__ __ATTR_STD_NORETURN__
32#define __ATTR_TIOS_CALLBACK__ CALLBACK
33#define __ATTR_GCC__
34#define __ATTR_LIB_C__ __attribute__((__regparm__(4)))
35#define __ATTR_LIB_ASM__ __ATTR_STD__
36#define __ATTR_LIB_ASM_NORETURN__ __ATTR_STD_NORETURN__
37#define __ATTR_LIB_CALLBACK_C__ CALLBACK
38#define __ATTR_LIB_CALLBACK_ASM__ CALLBACK
39
40/* Float definition */
41#define _tios_float_1(f,x,t) ({typedef float(*__temp__type__)(short,t)__ATTR_LIB_ASM__;((__temp__type__)__BC)(4*0x##f,x);})
42#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);})
43
44/* Romcalls first definition */
45extern void __attribute__((__may_alias__))
46  _ROM_CALL_0,_ROM_CALL_1,_ROM_CALL_2,_ROM_CALL_3,_ROM_CALL_4,_ROM_CALL_5,_ROM_CALL_6,_ROM_CALL_7,_ROM_CALL_8,_ROM_CALL_9,_ROM_CALL_A,_ROM_CALL_B,_ROM_CALL_C,_ROM_CALL_D,_ROM_CALL_E,_ROM_CALL_F,
47  _ROM_CALL_10,_ROM_CALL_11,_ROM_CALL_12,_ROM_CALL_13,_ROM_CALL_14,_ROM_CALL_15,_ROM_CALL_16,_ROM_CALL_17,_ROM_CALL_18,_ROM_CALL_19,_ROM_CALL_1A,_ROM_CALL_1B,_ROM_CALL_1C,_ROM_CALL_1D,_ROM_CALL_1E,_ROM_CALL_1F,
48  _ROM_CALL_20,_ROM_CALL_21,_ROM_CALL_22,_ROM_CALL_23,_ROM_CALL_24,_ROM_CALL_25,_ROM_CALL_26,_ROM_CALL_27,_ROM_CALL_28,_ROM_CALL_29,_ROM_CALL_2A,_ROM_CALL_2B,_ROM_CALL_2C,_ROM_CALL_2D,_ROM_CALL_2E,_ROM_CALL_2F,
49  _ROM_CALL_30,_ROM_CALL_31,_ROM_CALL_32,_ROM_CALL_33,_ROM_CALL_34,_ROM_CALL_35,_ROM_CALL_36,_ROM_CALL_37,_ROM_CALL_38,_ROM_CALL_39,_ROM_CALL_3A,_ROM_CALL_3B,_ROM_CALL_3C,_ROM_CALL_3D,_ROM_CALL_3E,_ROM_CALL_3F,
50  _ROM_CALL_40,_ROM_CALL_41,_ROM_CALL_42,_ROM_CALL_43,_ROM_CALL_44,_ROM_CALL_45,_ROM_CALL_46,_ROM_CALL_47,_ROM_CALL_48,_ROM_CALL_49,_ROM_CALL_4A,_ROM_CALL_4B,_ROM_CALL_4C,_ROM_CALL_4D,_ROM_CALL_4E,_ROM_CALL_4F,
51  _ROM_CALL_50,_ROM_CALL_51,_ROM_CALL_52,_ROM_CALL_53,_ROM_CALL_54,_ROM_CALL_55,_ROM_CALL_56,_ROM_CALL_57,_ROM_CALL_58,_ROM_CALL_59,_ROM_CALL_5A,_ROM_CALL_5B,_ROM_CALL_5C,_ROM_CALL_5D,_ROM_CALL_5E,_ROM_CALL_5F,
52  _ROM_CALL_60,_ROM_CALL_61,_ROM_CALL_62,_ROM_CALL_63,_ROM_CALL_64,_ROM_CALL_65,_ROM_CALL_66,_ROM_CALL_67,_ROM_CALL_68,_ROM_CALL_69,_ROM_CALL_6A,_ROM_CALL_6B,_ROM_CALL_6C,_ROM_CALL_6D,_ROM_CALL_6E,_ROM_CALL_6F,
53  _ROM_CALL_70,_ROM_CALL_71,_ROM_CALL_72,_ROM_CALL_73,_ROM_CALL_74,_ROM_CALL_75,_ROM_CALL_76,_ROM_CALL_77,_ROM_CALL_78,_ROM_CALL_79,_ROM_CALL_7A,_ROM_CALL_7B,_ROM_CALL_7C,_ROM_CALL_7D,_ROM_CALL_7E,_ROM_CALL_7F,
54  _ROM_CALL_80,_ROM_CALL_81,_ROM_CALL_82,_ROM_CALL_83,_ROM_CALL_84,_ROM_CALL_85,_ROM_CALL_86,_ROM_CALL_87,_ROM_CALL_88,_ROM_CALL_89,_ROM_CALL_8A,_ROM_CALL_8B,_ROM_CALL_8C,_ROM_CALL_8D,_ROM_CALL_8E,_ROM_CALL_8F,
55  _ROM_CALL_90,_ROM_CALL_91,_ROM_CALL_92,_ROM_CALL_93,_ROM_CALL_94,_ROM_CALL_95,_ROM_CALL_96,_ROM_CALL_97,_ROM_CALL_98,_ROM_CALL_99,_ROM_CALL_9A,_ROM_CALL_9B,_ROM_CALL_9C,_ROM_CALL_9D,_ROM_CALL_9E,_ROM_CALL_9F,
56  _ROM_CALL_A0,_ROM_CALL_A1,_ROM_CALL_A2,_ROM_CALL_A3,_ROM_CALL_A4,_ROM_CALL_A5,_ROM_CALL_A6,_ROM_CALL_A7,_ROM_CALL_A8,_ROM_CALL_A9,_ROM_CALL_AA,_ROM_CALL_AB,_ROM_CALL_AC,_ROM_CALL_AD,_ROM_CALL_AE,_ROM_CALL_AF,
57  _ROM_CALL_B0,_ROM_CALL_B1,_ROM_CALL_B2,_ROM_CALL_B3,_ROM_CALL_B4,_ROM_CALL_B5,_ROM_CALL_B6,_ROM_CALL_B7,_ROM_CALL_B8,_ROM_CALL_B9,_ROM_CALL_BA,_ROM_CALL_BB,_ROM_CALL_BC,_ROM_CALL_BD,_ROM_CALL_BE,_ROM_CALL_BF,
58  _ROM_CALL_C0,_ROM_CALL_C1,_ROM_CALL_C2,_ROM_CALL_C3,_ROM_CALL_C4,_ROM_CALL_C5,_ROM_CALL_C6,_ROM_CALL_C7,_ROM_CALL_C8,_ROM_CALL_C9,_ROM_CALL_CA,_ROM_CALL_CB,_ROM_CALL_CC,_ROM_CALL_CD,_ROM_CALL_CE,_ROM_CALL_CF,
59  _ROM_CALL_D0,_ROM_CALL_D1,_ROM_CALL_D2,_ROM_CALL_D3,_ROM_CALL_D4,_ROM_CALL_D5,_ROM_CALL_D6,_ROM_CALL_D7,_ROM_CALL_D8,_ROM_CALL_D9,_ROM_CALL_DA,_ROM_CALL_DB,_ROM_CALL_DC,_ROM_CALL_DD,_ROM_CALL_DE,_ROM_CALL_DF,
60  _ROM_CALL_E0,_ROM_CALL_E1,_ROM_CALL_E2,_ROM_CALL_E3,_ROM_CALL_E4,_ROM_CALL_E5,_ROM_CALL_E6,_ROM_CALL_E7,_ROM_CALL_E8,_ROM_CALL_E9,_ROM_CALL_EA,_ROM_CALL_EB,_ROM_CALL_EC,_ROM_CALL_ED,_ROM_CALL_EE,_ROM_CALL_EF,
61  _ROM_CALL_F0,_ROM_CALL_F1,_ROM_CALL_F2,_ROM_CALL_F3,_ROM_CALL_F4,_ROM_CALL_F5,_ROM_CALL_F6,_ROM_CALL_F7,_ROM_CALL_F8,_ROM_CALL_F9,_ROM_CALL_FA,_ROM_CALL_FB,_ROM_CALL_FC,_ROM_CALL_FD,_ROM_CALL_FE,_ROM_CALL_FF,
62  _ROM_CALL_100,_ROM_CALL_101,_ROM_CALL_102,_ROM_CALL_103,_ROM_CALL_104,_ROM_CALL_105,_ROM_CALL_106,_ROM_CALL_107,_ROM_CALL_108,_ROM_CALL_109,_ROM_CALL_10A,_ROM_CALL_10B,_ROM_CALL_10C,_ROM_CALL_10D,_ROM_CALL_10E,_ROM_CALL_10F,
63  _ROM_CALL_110,_ROM_CALL_111,_ROM_CALL_112,_ROM_CALL_113,_ROM_CALL_114,_ROM_CALL_115,_ROM_CALL_116,_ROM_CALL_117,_ROM_CALL_118,_ROM_CALL_119,_ROM_CALL_11A,_ROM_CALL_11B,_ROM_CALL_11C,_ROM_CALL_11D,_ROM_CALL_11E,_ROM_CALL_11F,
64  _ROM_CALL_120,_ROM_CALL_121,_ROM_CALL_122,_ROM_CALL_123,_ROM_CALL_124,_ROM_CALL_125,_ROM_CALL_126,_ROM_CALL_127,_ROM_CALL_128,_ROM_CALL_129,_ROM_CALL_12A,_ROM_CALL_12B,_ROM_CALL_12C,_ROM_CALL_12D,_ROM_CALL_12E,_ROM_CALL_12F,
65  _ROM_CALL_130,_ROM_CALL_131,_ROM_CALL_132,_ROM_CALL_133,_ROM_CALL_134,_ROM_CALL_135,_ROM_CALL_136,_ROM_CALL_137,_ROM_CALL_138,_ROM_CALL_139,_ROM_CALL_13A,_ROM_CALL_13B,_ROM_CALL_13C,_ROM_CALL_13D,_ROM_CALL_13E,_ROM_CALL_13F,
66  _ROM_CALL_140,_ROM_CALL_141,_ROM_CALL_142,_ROM_CALL_143,_ROM_CALL_144,_ROM_CALL_145,_ROM_CALL_146,_ROM_CALL_147,_ROM_CALL_148,_ROM_CALL_149,_ROM_CALL_14A,_ROM_CALL_14B,_ROM_CALL_14C,_ROM_CALL_14D,_ROM_CALL_14E,_ROM_CALL_14F,
67  _ROM_CALL_150,_ROM_CALL_151,_ROM_CALL_152,_ROM_CALL_153,_ROM_CALL_154,_ROM_CALL_155,_ROM_CALL_156,_ROM_CALL_157,_ROM_CALL_158,_ROM_CALL_159,_ROM_CALL_15A,_ROM_CALL_15B,_ROM_CALL_15C,_ROM_CALL_15D,_ROM_CALL_15E,_ROM_CALL_15F,
68  _ROM_CALL_160,_ROM_CALL_161,_ROM_CALL_162,_ROM_CALL_163,_ROM_CALL_164,_ROM_CALL_165,_ROM_CALL_166,_ROM_CALL_167,_ROM_CALL_168,_ROM_CALL_169,_ROM_CALL_16A,_ROM_CALL_16B,_ROM_CALL_16C,_ROM_CALL_16D,_ROM_CALL_16E,_ROM_CALL_16F,
69  _ROM_CALL_170,_ROM_CALL_171,_ROM_CALL_172,_ROM_CALL_173,_ROM_CALL_174,_ROM_CALL_175,_ROM_CALL_176,_ROM_CALL_177,_ROM_CALL_178,_ROM_CALL_179,_ROM_CALL_17A,_ROM_CALL_17B,_ROM_CALL_17C,_ROM_CALL_17D,_ROM_CALL_17E,_ROM_CALL_17F,
70  _ROM_CALL_180,_ROM_CALL_181,_ROM_CALL_182,_ROM_CALL_183,_ROM_CALL_184,_ROM_CALL_185,_ROM_CALL_186,_ROM_CALL_187,_ROM_CALL_188,_ROM_CALL_189,_ROM_CALL_18A,_ROM_CALL_18B,_ROM_CALL_18C,_ROM_CALL_18D,_ROM_CALL_18E,_ROM_CALL_18F,
71  _ROM_CALL_190,_ROM_CALL_191,_ROM_CALL_192,_ROM_CALL_193,_ROM_CALL_194,_ROM_CALL_195,_ROM_CALL_196,_ROM_CALL_197,_ROM_CALL_198,_ROM_CALL_199,_ROM_CALL_19A,_ROM_CALL_19B,_ROM_CALL_19C,_ROM_CALL_19D,_ROM_CALL_19E,_ROM_CALL_19F,
72  _ROM_CALL_1A0,_ROM_CALL_1A1,_ROM_CALL_1A2,_ROM_CALL_1A3,_ROM_CALL_1A4,_ROM_CALL_1A5,_ROM_CALL_1A6,_ROM_CALL_1A7,_ROM_CALL_1A8,_ROM_CALL_1A9,_ROM_CALL_1AA,_ROM_CALL_1AB,_ROM_CALL_1AC,_ROM_CALL_1AD,_ROM_CALL_1AE,_ROM_CALL_1AF,
73  _ROM_CALL_1B0,_ROM_CALL_1B1,_ROM_CALL_1B2,_ROM_CALL_1B3,_ROM_CALL_1B4,_ROM_CALL_1B5,_ROM_CALL_1B6,_ROM_CALL_1B7,_ROM_CALL_1B8,_ROM_CALL_1B9,_ROM_CALL_1BA,_ROM_CALL_1BB,_ROM_CALL_1BC,_ROM_CALL_1BD,_ROM_CALL_1BE,_ROM_CALL_1BF,
74  _ROM_CALL_1C0,_ROM_CALL_1C1,_ROM_CALL_1C2,_ROM_CALL_1C3,_ROM_CALL_1C4,_ROM_CALL_1C5,_ROM_CALL_1C6,_ROM_CALL_1C7,_ROM_CALL_1C8,_ROM_CALL_1C9,_ROM_CALL_1CA,_ROM_CALL_1CB,_ROM_CALL_1CC,_ROM_CALL_1CD,_ROM_CALL_1CE,_ROM_CALL_1CF,
75  _ROM_CALL_1D0,_ROM_CALL_1D1,_ROM_CALL_1D2,_ROM_CALL_1D3,_ROM_CALL_1D4,_ROM_CALL_1D5,_ROM_CALL_1D6,_ROM_CALL_1D7,_ROM_CALL_1D8,_ROM_CALL_1D9,_ROM_CALL_1DA,_ROM_CALL_1DB,_ROM_CALL_1DC,_ROM_CALL_1DD,_ROM_CALL_1DE,_ROM_CALL_1DF,
76  _ROM_CALL_1E0,_ROM_CALL_1E1,_ROM_CALL_1E2,_ROM_CALL_1E3,_ROM_CALL_1E4,_ROM_CALL_1E5,_ROM_CALL_1E6,_ROM_CALL_1E7,_ROM_CALL_1E8,_ROM_CALL_1E9,_ROM_CALL_1EA,_ROM_CALL_1EB,_ROM_CALL_1EC,_ROM_CALL_1ED,_ROM_CALL_1EE,_ROM_CALL_1EF,
77  _ROM_CALL_1F0,_ROM_CALL_1F1,_ROM_CALL_1F2,_ROM_CALL_1F3,_ROM_CALL_1F4,_ROM_CALL_1F5,_ROM_CALL_1F6,_ROM_CALL_1F7,_ROM_CALL_1F8,_ROM_CALL_1F9,_ROM_CALL_1FA,_ROM_CALL_1FB,_ROM_CALL_1FC,_ROM_CALL_1FD,_ROM_CALL_1FE,_ROM_CALL_1FF,
78  _ROM_CALL_200,_ROM_CALL_201,_ROM_CALL_202,_ROM_CALL_203,_ROM_CALL_204,_ROM_CALL_205,_ROM_CALL_206,_ROM_CALL_207,_ROM_CALL_208,_ROM_CALL_209,_ROM_CALL_20A,_ROM_CALL_20B,_ROM_CALL_20C,_ROM_CALL_20D,_ROM_CALL_20E,_ROM_CALL_20F,
79  _ROM_CALL_210,_ROM_CALL_211,_ROM_CALL_212,_ROM_CALL_213,_ROM_CALL_214,_ROM_CALL_215,_ROM_CALL_216,_ROM_CALL_217,_ROM_CALL_218,_ROM_CALL_219,_ROM_CALL_21A,_ROM_CALL_21B,_ROM_CALL_21C,_ROM_CALL_21D,_ROM_CALL_21E,_ROM_CALL_21F,
80  _ROM_CALL_220,_ROM_CALL_221,_ROM_CALL_222,_ROM_CALL_223,_ROM_CALL_224,_ROM_CALL_225,_ROM_CALL_226,_ROM_CALL_227,_ROM_CALL_228,_ROM_CALL_229,_ROM_CALL_22A,_ROM_CALL_22B,_ROM_CALL_22C,_ROM_CALL_22D,_ROM_CALL_22E,_ROM_CALL_22F,
81  _ROM_CALL_230,_ROM_CALL_231,_ROM_CALL_232,_ROM_CALL_233,_ROM_CALL_234,_ROM_CALL_235,_ROM_CALL_236,_ROM_CALL_237,_ROM_CALL_238,_ROM_CALL_239,_ROM_CALL_23A,_ROM_CALL_23B,_ROM_CALL_23C,_ROM_CALL_23D,_ROM_CALL_23E,_ROM_CALL_23F,
82  _ROM_CALL_240,_ROM_CALL_241,_ROM_CALL_242,_ROM_CALL_243,_ROM_CALL_244,_ROM_CALL_245,_ROM_CALL_246,_ROM_CALL_247,_ROM_CALL_248,_ROM_CALL_249,_ROM_CALL_24A,_ROM_CALL_24B,_ROM_CALL_24C,_ROM_CALL_24D,_ROM_CALL_24E,_ROM_CALL_24F,
83  _ROM_CALL_250,_ROM_CALL_251,_ROM_CALL_252,_ROM_CALL_253,_ROM_CALL_254,_ROM_CALL_255,_ROM_CALL_256,_ROM_CALL_257,_ROM_CALL_258,_ROM_CALL_259,_ROM_CALL_25A,_ROM_CALL_25B,_ROM_CALL_25C,_ROM_CALL_25D,_ROM_CALL_25E,_ROM_CALL_25F,
84  _ROM_CALL_260,_ROM_CALL_261,_ROM_CALL_262,_ROM_CALL_263,_ROM_CALL_264,_ROM_CALL_265,_ROM_CALL_266,_ROM_CALL_267,_ROM_CALL_268,_ROM_CALL_269,_ROM_CALL_26A,_ROM_CALL_26B,_ROM_CALL_26C,_ROM_CALL_26D,_ROM_CALL_26E,_ROM_CALL_26F,
85  _ROM_CALL_270,_ROM_CALL_271,_ROM_CALL_272,_ROM_CALL_273,_ROM_CALL_274,_ROM_CALL_275,_ROM_CALL_276,_ROM_CALL_277,_ROM_CALL_278,_ROM_CALL_279,_ROM_CALL_27A,_ROM_CALL_27B,_ROM_CALL_27C,_ROM_CALL_27D,_ROM_CALL_27E,_ROM_CALL_27F,
86  _ROM_CALL_280,_ROM_CALL_281,_ROM_CALL_282,_ROM_CALL_283,_ROM_CALL_284,_ROM_CALL_285,_ROM_CALL_286,_ROM_CALL_287,_ROM_CALL_288,_ROM_CALL_289,_ROM_CALL_28A,_ROM_CALL_28B,_ROM_CALL_28C,_ROM_CALL_28D,_ROM_CALL_28E,_ROM_CALL_28F,
87  _ROM_CALL_290,_ROM_CALL_291,_ROM_CALL_292,_ROM_CALL_293,_ROM_CALL_294,_ROM_CALL_295,_ROM_CALL_296,_ROM_CALL_297,_ROM_CALL_298,_ROM_CALL_299,_ROM_CALL_29A,_ROM_CALL_29B,_ROM_CALL_29C,_ROM_CALL_29D,_ROM_CALL_29E,_ROM_CALL_29F,
88  _ROM_CALL_2A0,_ROM_CALL_2A1,_ROM_CALL_2A2,_ROM_CALL_2A3,_ROM_CALL_2A4,_ROM_CALL_2A5,_ROM_CALL_2A6,_ROM_CALL_2A7,_ROM_CALL_2A8,_ROM_CALL_2A9,_ROM_CALL_2AA,_ROM_CALL_2AB,_ROM_CALL_2AC,_ROM_CALL_2AD,_ROM_CALL_2AE,_ROM_CALL_2AF,
89  _ROM_CALL_2B0,_ROM_CALL_2B1,_ROM_CALL_2B2,_ROM_CALL_2B3,_ROM_CALL_2B4,_ROM_CALL_2B5,_ROM_CALL_2B6,_ROM_CALL_2B7,_ROM_CALL_2B8,_ROM_CALL_2B9,_ROM_CALL_2BA,_ROM_CALL_2BB,_ROM_CALL_2BC,_ROM_CALL_2BD,_ROM_CALL_2BE,_ROM_CALL_2BF,
90  _ROM_CALL_2C0,_ROM_CALL_2C1,_ROM_CALL_2C2,_ROM_CALL_2C3,_ROM_CALL_2C4,_ROM_CALL_2C5,_ROM_CALL_2C6,_ROM_CALL_2C7,_ROM_CALL_2C8,_ROM_CALL_2C9,_ROM_CALL_2CA,_ROM_CALL_2CB,_ROM_CALL_2CC,_ROM_CALL_2CD,_ROM_CALL_2CE,_ROM_CALL_2CF,
91  _ROM_CALL_2D0,_ROM_CALL_2D1,_ROM_CALL_2D2,_ROM_CALL_2D3,_ROM_CALL_2D4,_ROM_CALL_2D5,_ROM_CALL_2D6,_ROM_CALL_2D7,_ROM_CALL_2D8,_ROM_CALL_2D9,_ROM_CALL_2DA,_ROM_CALL_2DB,_ROM_CALL_2DC,_ROM_CALL_2DD,_ROM_CALL_2DE,_ROM_CALL_2DF,
92  _ROM_CALL_2E0,_ROM_CALL_2E1,_ROM_CALL_2E2,_ROM_CALL_2E3,_ROM_CALL_2E4,_ROM_CALL_2E5,_ROM_CALL_2E6,_ROM_CALL_2E7,_ROM_CALL_2E8,_ROM_CALL_2E9,_ROM_CALL_2EA,_ROM_CALL_2EB,_ROM_CALL_2EC,_ROM_CALL_2ED,_ROM_CALL_2EE,_ROM_CALL_2EF,
93  _ROM_CALL_2F0,_ROM_CALL_2F1,_ROM_CALL_2F2,_ROM_CALL_2F3,_ROM_CALL_2F4,_ROM_CALL_2F5,_ROM_CALL_2F6,_ROM_CALL_2F7,_ROM_CALL_2F8,_ROM_CALL_2F9,_ROM_CALL_2FA,_ROM_CALL_2FB,_ROM_CALL_2FC,_ROM_CALL_2FD,_ROM_CALL_2FE,_ROM_CALL_2FF,
94  _ROM_CALL_300,_ROM_CALL_301,_ROM_CALL_302,_ROM_CALL_303,_ROM_CALL_304,_ROM_CALL_305,_ROM_CALL_306,_ROM_CALL_307,_ROM_CALL_308,_ROM_CALL_309,_ROM_CALL_30A,_ROM_CALL_30B,_ROM_CALL_30C,_ROM_CALL_30D,_ROM_CALL_30E,_ROM_CALL_30F,
95  _ROM_CALL_310,_ROM_CALL_311,_ROM_CALL_312,_ROM_CALL_313,_ROM_CALL_314,_ROM_CALL_315,_ROM_CALL_316,_ROM_CALL_317,_ROM_CALL_318,_ROM_CALL_319,_ROM_CALL_31A,_ROM_CALL_31B,_ROM_CALL_31C,_ROM_CALL_31D,_ROM_CALL_31E,_ROM_CALL_31F,
96  _ROM_CALL_320,_ROM_CALL_321,_ROM_CALL_322,_ROM_CALL_323,_ROM_CALL_324,_ROM_CALL_325,_ROM_CALL_326,_ROM_CALL_327,_ROM_CALL_328,_ROM_CALL_329,_ROM_CALL_32A,_ROM_CALL_32B,_ROM_CALL_32C,_ROM_CALL_32D,_ROM_CALL_32E,_ROM_CALL_32F,
97  _ROM_CALL_330,_ROM_CALL_331,_ROM_CALL_332,_ROM_CALL_333,_ROM_CALL_334,_ROM_CALL_335,_ROM_CALL_336,_ROM_CALL_337,_ROM_CALL_338,_ROM_CALL_339,_ROM_CALL_33A,_ROM_CALL_33B,_ROM_CALL_33C,_ROM_CALL_33D,_ROM_CALL_33E,_ROM_CALL_33F,
98  _ROM_CALL_340,_ROM_CALL_341,_ROM_CALL_342,_ROM_CALL_343,_ROM_CALL_344,_ROM_CALL_345,_ROM_CALL_346,_ROM_CALL_347,_ROM_CALL_348,_ROM_CALL_349,_ROM_CALL_34A,_ROM_CALL_34B,_ROM_CALL_34C,_ROM_CALL_34D,_ROM_CALL_34E,_ROM_CALL_34F,
99  _ROM_CALL_350,_ROM_CALL_351,_ROM_CALL_352,_ROM_CALL_353,_ROM_CALL_354,_ROM_CALL_355,_ROM_CALL_356,_ROM_CALL_357,_ROM_CALL_358,_ROM_CALL_359,_ROM_CALL_35A,_ROM_CALL_35B,_ROM_CALL_35C,_ROM_CALL_35D,_ROM_CALL_35E,_ROM_CALL_35F,
100  _ROM_CALL_360,_ROM_CALL_361,_ROM_CALL_362,_ROM_CALL_363,_ROM_CALL_364,_ROM_CALL_365,_ROM_CALL_366,_ROM_CALL_367,_ROM_CALL_368,_ROM_CALL_369,_ROM_CALL_36A,_ROM_CALL_36B,_ROM_CALL_36C,_ROM_CALL_36D,_ROM_CALL_36E,_ROM_CALL_36F,
101  _ROM_CALL_370,_ROM_CALL_371,_ROM_CALL_372,_ROM_CALL_373,_ROM_CALL_374,_ROM_CALL_375,_ROM_CALL_376,_ROM_CALL_377,_ROM_CALL_378,_ROM_CALL_379,_ROM_CALL_37A,_ROM_CALL_37B,_ROM_CALL_37C,_ROM_CALL_37D,_ROM_CALL_37E,_ROM_CALL_37F,
102  _ROM_CALL_380,_ROM_CALL_381,_ROM_CALL_382,_ROM_CALL_383,_ROM_CALL_384,_ROM_CALL_385,_ROM_CALL_386,_ROM_CALL_387,_ROM_CALL_388,_ROM_CALL_389,_ROM_CALL_38A,_ROM_CALL_38B,_ROM_CALL_38C,_ROM_CALL_38D,_ROM_CALL_38E,_ROM_CALL_38F,
103  _ROM_CALL_390,_ROM_CALL_391,_ROM_CALL_392,_ROM_CALL_393,_ROM_CALL_394,_ROM_CALL_395,_ROM_CALL_396,_ROM_CALL_397,_ROM_CALL_398,_ROM_CALL_399,_ROM_CALL_39A,_ROM_CALL_39B,_ROM_CALL_39C,_ROM_CALL_39D,_ROM_CALL_39E,_ROM_CALL_39F,
104  _ROM_CALL_3A0,_ROM_CALL_3A1,_ROM_CALL_3A2,_ROM_CALL_3A3,_ROM_CALL_3A4,_ROM_CALL_3A5,_ROM_CALL_3A6,_ROM_CALL_3A7,_ROM_CALL_3A8,_ROM_CALL_3A9,_ROM_CALL_3AA,_ROM_CALL_3AB,_ROM_CALL_3AC,_ROM_CALL_3AD,_ROM_CALL_3AE,_ROM_CALL_3AF,
105  _ROM_CALL_3B0,_ROM_CALL_3B1,_ROM_CALL_3B2,_ROM_CALL_3B3,_ROM_CALL_3B4,_ROM_CALL_3B5,_ROM_CALL_3B6,_ROM_CALL_3B7,_ROM_CALL_3B8,_ROM_CALL_3B9,_ROM_CALL_3BA,_ROM_CALL_3BB,_ROM_CALL_3BC,_ROM_CALL_3BD,_ROM_CALL_3BE,_ROM_CALL_3BF,
106  _ROM_CALL_3C0,_ROM_CALL_3C1,_ROM_CALL_3C2,_ROM_CALL_3C3,_ROM_CALL_3C4,_ROM_CALL_3C5,_ROM_CALL_3C6,_ROM_CALL_3C7,_ROM_CALL_3C8,_ROM_CALL_3C9,_ROM_CALL_3CA,_ROM_CALL_3CB,_ROM_CALL_3CC,_ROM_CALL_3CD,_ROM_CALL_3CE,_ROM_CALL_3CF,
107  _ROM_CALL_3D0,_ROM_CALL_3D1,_ROM_CALL_3D2,_ROM_CALL_3D3,_ROM_CALL_3D4,_ROM_CALL_3D5,_ROM_CALL_3D6,_ROM_CALL_3D7,_ROM_CALL_3D8,_ROM_CALL_3D9,_ROM_CALL_3DA,_ROM_CALL_3DB,_ROM_CALL_3DC,_ROM_CALL_3DD,_ROM_CALL_3DE,_ROM_CALL_3DF,
108  _ROM_CALL_3E0,_ROM_CALL_3E1,_ROM_CALL_3E2,_ROM_CALL_3E3,_ROM_CALL_3E4,_ROM_CALL_3E5,_ROM_CALL_3E6,_ROM_CALL_3E7,_ROM_CALL_3E8,_ROM_CALL_3E9,_ROM_CALL_3EA,_ROM_CALL_3EB,_ROM_CALL_3EC,_ROM_CALL_3ED,_ROM_CALL_3EE,_ROM_CALL_3EF,
109  _ROM_CALL_3F0,_ROM_CALL_3F1,_ROM_CALL_3F2,_ROM_CALL_3F3,_ROM_CALL_3F4,_ROM_CALL_3F5,_ROM_CALL_3F6,_ROM_CALL_3F7,_ROM_CALL_3F8,_ROM_CALL_3F9,_ROM_CALL_3FA,_ROM_CALL_3FB,_ROM_CALL_3FC,_ROM_CALL_3FD,_ROM_CALL_3FE,_ROM_CALL_3FF,
110  _ROM_CALL_400,_ROM_CALL_401,_ROM_CALL_402,_ROM_CALL_403,_ROM_CALL_404,_ROM_CALL_405,_ROM_CALL_406,_ROM_CALL_407,_ROM_CALL_408,_ROM_CALL_409,_ROM_CALL_40A,_ROM_CALL_40B,_ROM_CALL_40C,_ROM_CALL_40D,_ROM_CALL_40E,_ROM_CALL_40F,
111  _ROM_CALL_410,_ROM_CALL_411,_ROM_CALL_412,_ROM_CALL_413,_ROM_CALL_414,_ROM_CALL_415,_ROM_CALL_416,_ROM_CALL_417,_ROM_CALL_418,_ROM_CALL_419,_ROM_CALL_41A,_ROM_CALL_41B,_ROM_CALL_41C,_ROM_CALL_41D,_ROM_CALL_41E,_ROM_CALL_41F,
112  _ROM_CALL_420,_ROM_CALL_421,_ROM_CALL_422,_ROM_CALL_423,_ROM_CALL_424,_ROM_CALL_425,_ROM_CALL_426,_ROM_CALL_427,_ROM_CALL_428,_ROM_CALL_429,_ROM_CALL_42A,_ROM_CALL_42B,_ROM_CALL_42C,_ROM_CALL_42D,_ROM_CALL_42E,_ROM_CALL_42F,
113  _ROM_CALL_430,_ROM_CALL_431,_ROM_CALL_432,_ROM_CALL_433,_ROM_CALL_434,_ROM_CALL_435,_ROM_CALL_436,_ROM_CALL_437,_ROM_CALL_438,_ROM_CALL_439,_ROM_CALL_43A,_ROM_CALL_43B,_ROM_CALL_43C,_ROM_CALL_43D,_ROM_CALL_43E,_ROM_CALL_43F,
114  _ROM_CALL_440,_ROM_CALL_441,_ROM_CALL_442,_ROM_CALL_443,_ROM_CALL_444,_ROM_CALL_445,_ROM_CALL_446,_ROM_CALL_447,_ROM_CALL_448,_ROM_CALL_449,_ROM_CALL_44A,_ROM_CALL_44B,_ROM_CALL_44C,_ROM_CALL_44D,_ROM_CALL_44E,_ROM_CALL_44F,
115  _ROM_CALL_450,_ROM_CALL_451,_ROM_CALL_452,_ROM_CALL_453,_ROM_CALL_454,_ROM_CALL_455,_ROM_CALL_456,_ROM_CALL_457,_ROM_CALL_458,_ROM_CALL_459,_ROM_CALL_45A,_ROM_CALL_45B,_ROM_CALL_45C,_ROM_CALL_45D,_ROM_CALL_45E,_ROM_CALL_45F,
116  _ROM_CALL_460,_ROM_CALL_461,_ROM_CALL_462,_ROM_CALL_463,_ROM_CALL_464,_ROM_CALL_465,_ROM_CALL_466,_ROM_CALL_467,_ROM_CALL_468,_ROM_CALL_469,_ROM_CALL_46A,_ROM_CALL_46B,_ROM_CALL_46C,_ROM_CALL_46D,_ROM_CALL_46E,_ROM_CALL_46F,
117  _ROM_CALL_470,_ROM_CALL_471,_ROM_CALL_472,_ROM_CALL_473,_ROM_CALL_474,_ROM_CALL_475,_ROM_CALL_476,_ROM_CALL_477,_ROM_CALL_478,_ROM_CALL_479,_ROM_CALL_47A,_ROM_CALL_47B,_ROM_CALL_47C,_ROM_CALL_47D,_ROM_CALL_47E,_ROM_CALL_47F,
118  _ROM_CALL_480,_ROM_CALL_481,_ROM_CALL_482,_ROM_CALL_483,_ROM_CALL_484,_ROM_CALL_485,_ROM_CALL_486,_ROM_CALL_487,_ROM_CALL_488,_ROM_CALL_489,_ROM_CALL_48A,_ROM_CALL_48B,_ROM_CALL_48C,_ROM_CALL_48D,_ROM_CALL_48E,_ROM_CALL_48F,
119  _ROM_CALL_490,_ROM_CALL_491,_ROM_CALL_492,_ROM_CALL_493,_ROM_CALL_494,_ROM_CALL_495,_ROM_CALL_496,_ROM_CALL_497,_ROM_CALL_498,_ROM_CALL_499,_ROM_CALL_49A,_ROM_CALL_49B,_ROM_CALL_49C,_ROM_CALL_49D,_ROM_CALL_49E,_ROM_CALL_49F,
120  _ROM_CALL_4A0,_ROM_CALL_4A1,_ROM_CALL_4A2,_ROM_CALL_4A3,_ROM_CALL_4A4,_ROM_CALL_4A5,_ROM_CALL_4A6,_ROM_CALL_4A7,_ROM_CALL_4A8,_ROM_CALL_4A9,_ROM_CALL_4AA,_ROM_CALL_4AB,_ROM_CALL_4AC,_ROM_CALL_4AD,_ROM_CALL_4AE,_ROM_CALL_4AF,
121  _ROM_CALL_4B0,_ROM_CALL_4B1,_ROM_CALL_4B2,_ROM_CALL_4B3,_ROM_CALL_4B4,_ROM_CALL_4B5,_ROM_CALL_4B6,_ROM_CALL_4B7,_ROM_CALL_4B8,_ROM_CALL_4B9,_ROM_CALL_4BA,_ROM_CALL_4BB,_ROM_CALL_4BC,_ROM_CALL_4BD,_ROM_CALL_4BE,_ROM_CALL_4BF,
122  _ROM_CALL_4C0,_ROM_CALL_4C1,_ROM_CALL_4C2,_ROM_CALL_4C3,_ROM_CALL_4C4,_ROM_CALL_4C5,_ROM_CALL_4C6,_ROM_CALL_4C7,_ROM_CALL_4C8,_ROM_CALL_4C9,_ROM_CALL_4CA,_ROM_CALL_4CB,_ROM_CALL_4CC,_ROM_CALL_4CD,_ROM_CALL_4CE,_ROM_CALL_4CF,
123  _ROM_CALL_4D0,_ROM_CALL_4D1,_ROM_CALL_4D2,_ROM_CALL_4D3,_ROM_CALL_4D4,_ROM_CALL_4D5,_ROM_CALL_4D6,_ROM_CALL_4D7,_ROM_CALL_4D8,_ROM_CALL_4D9,_ROM_CALL_4DA,_ROM_CALL_4DB,_ROM_CALL_4DC,_ROM_CALL_4DD,_ROM_CALL_4DE,_ROM_CALL_4DF,
124  _ROM_CALL_4E0,_ROM_CALL_4E1,_ROM_CALL_4E2,_ROM_CALL_4E3,_ROM_CALL_4E4,_ROM_CALL_4E5,_ROM_CALL_4E6,_ROM_CALL_4E7,_ROM_CALL_4E8,_ROM_CALL_4E9,_ROM_CALL_4EA,_ROM_CALL_4EB,_ROM_CALL_4EC,_ROM_CALL_4ED,_ROM_CALL_4EE,_ROM_CALL_4EF,
125  _ROM_CALL_4F0,_ROM_CALL_4F1,_ROM_CALL_4F2,_ROM_CALL_4F3,_ROM_CALL_4F4,_ROM_CALL_4F5,_ROM_CALL_4F6,_ROM_CALL_4F7,_ROM_CALL_4F8,_ROM_CALL_4F9,_ROM_CALL_4FA,_ROM_CALL_4FB,_ROM_CALL_4FC,_ROM_CALL_4FD,_ROM_CALL_4FE,_ROM_CALL_4FF,
126  _ROM_CALL_500,_ROM_CALL_501,_ROM_CALL_502,_ROM_CALL_503,_ROM_CALL_504,_ROM_CALL_505,_ROM_CALL_506,_ROM_CALL_507,_ROM_CALL_508,_ROM_CALL_509,_ROM_CALL_50A,_ROM_CALL_50B,_ROM_CALL_50C,_ROM_CALL_50D,_ROM_CALL_50E,_ROM_CALL_50F,
127  _ROM_CALL_510,_ROM_CALL_511,_ROM_CALL_512,_ROM_CALL_513,_ROM_CALL_514,_ROM_CALL_515,_ROM_CALL_516,_ROM_CALL_517,_ROM_CALL_518,_ROM_CALL_519,_ROM_CALL_51A,_ROM_CALL_51B,_ROM_CALL_51C,_ROM_CALL_51D,_ROM_CALL_51E,_ROM_CALL_51F,
128  _ROM_CALL_520,_ROM_CALL_521,_ROM_CALL_522,_ROM_CALL_523,_ROM_CALL_524,_ROM_CALL_525,_ROM_CALL_526,_ROM_CALL_527,_ROM_CALL_528,_ROM_CALL_529,_ROM_CALL_52A,_ROM_CALL_52B,_ROM_CALL_52C,_ROM_CALL_52D,_ROM_CALL_52E,_ROM_CALL_52F,
129  _ROM_CALL_530,_ROM_CALL_531,_ROM_CALL_532,_ROM_CALL_533,_ROM_CALL_534,_ROM_CALL_535,_ROM_CALL_536,_ROM_CALL_537,_ROM_CALL_538,_ROM_CALL_539,_ROM_CALL_53A,_ROM_CALL_53B,_ROM_CALL_53C,_ROM_CALL_53D,_ROM_CALL_53E,_ROM_CALL_53F,
130  _ROM_CALL_540,_ROM_CALL_541,_ROM_CALL_542,_ROM_CALL_543,_ROM_CALL_544,_ROM_CALL_545,_ROM_CALL_546,_ROM_CALL_547,_ROM_CALL_548,_ROM_CALL_549,_ROM_CALL_54A,_ROM_CALL_54B,_ROM_CALL_54C,_ROM_CALL_54D,_ROM_CALL_54E,_ROM_CALL_54F,
131  _ROM_CALL_550,_ROM_CALL_551,_ROM_CALL_552,_ROM_CALL_553,_ROM_CALL_554,_ROM_CALL_555,_ROM_CALL_556,_ROM_CALL_557,_ROM_CALL_558,_ROM_CALL_559,_ROM_CALL_55A,_ROM_CALL_55B,_ROM_CALL_55C,_ROM_CALL_55D,_ROM_CALL_55E,_ROM_CALL_55F,
132  _ROM_CALL_560,_ROM_CALL_561,_ROM_CALL_562,_ROM_CALL_563,_ROM_CALL_564,_ROM_CALL_565,_ROM_CALL_566,_ROM_CALL_567,_ROM_CALL_568,_ROM_CALL_569,_ROM_CALL_56A,_ROM_CALL_56B,_ROM_CALL_56C,_ROM_CALL_56D,_ROM_CALL_56E,_ROM_CALL_56F,
133  _ROM_CALL_570,_ROM_CALL_571,_ROM_CALL_572,_ROM_CALL_573,_ROM_CALL_574,_ROM_CALL_575,_ROM_CALL_576,_ROM_CALL_577,_ROM_CALL_578,_ROM_CALL_579,_ROM_CALL_57A,_ROM_CALL_57B,_ROM_CALL_57C,_ROM_CALL_57D,_ROM_CALL_57E,_ROM_CALL_57F,
134  _ROM_CALL_580,_ROM_CALL_581,_ROM_CALL_582,_ROM_CALL_583,_ROM_CALL_584,_ROM_CALL_585,_ROM_CALL_586,_ROM_CALL_587,_ROM_CALL_588,_ROM_CALL_589,_ROM_CALL_58A,_ROM_CALL_58B,_ROM_CALL_58C,_ROM_CALL_58D,_ROM_CALL_58E,_ROM_CALL_58F,
135  _ROM_CALL_590,_ROM_CALL_591,_ROM_CALL_592,_ROM_CALL_593,_ROM_CALL_594,_ROM_CALL_595,_ROM_CALL_596,_ROM_CALL_597,_ROM_CALL_598,_ROM_CALL_599,_ROM_CALL_59A,_ROM_CALL_59B,_ROM_CALL_59C,_ROM_CALL_59D,_ROM_CALL_59E,_ROM_CALL_59F,
136  _ROM_CALL_5A0,_ROM_CALL_5A1,_ROM_CALL_5A2,_ROM_CALL_5A3,_ROM_CALL_5A4,_ROM_CALL_5A5,_ROM_CALL_5A6,_ROM_CALL_5A7,_ROM_CALL_5A8,_ROM_CALL_5A9,_ROM_CALL_5AA,_ROM_CALL_5AB,_ROM_CALL_5AC,_ROM_CALL_5AD,_ROM_CALL_5AE,_ROM_CALL_5AF,
137  _ROM_CALL_5B0,_ROM_CALL_5B1,_ROM_CALL_5B2,_ROM_CALL_5B3,_ROM_CALL_5B4,_ROM_CALL_5B5,_ROM_CALL_5B6,_ROM_CALL_5B7,_ROM_CALL_5B8,_ROM_CALL_5B9,_ROM_CALL_5BA,_ROM_CALL_5BB,_ROM_CALL_5BC,_ROM_CALL_5BD,_ROM_CALL_5BE,_ROM_CALL_5BF,
138  _ROM_CALL_5C0,_ROM_CALL_5C1,_ROM_CALL_5C2,_ROM_CALL_5C3,_ROM_CALL_5C4,_ROM_CALL_5C5,_ROM_CALL_5C6,_ROM_CALL_5C7,_ROM_CALL_5C8,_ROM_CALL_5C9,_ROM_CALL_5CA,_ROM_CALL_5CB,_ROM_CALL_5CC,_ROM_CALL_5CD,_ROM_CALL_5CE,_ROM_CALL_5CF,
139  _ROM_CALL_5D0,_ROM_CALL_5D1,_ROM_CALL_5D2,_ROM_CALL_5D3,_ROM_CALL_5D4,_ROM_CALL_5D5,_ROM_CALL_5D6,_ROM_CALL_5D7,_ROM_CALL_5D8,_ROM_CALL_5D9,_ROM_CALL_5DA,_ROM_CALL_5DB,_ROM_CALL_5DC,_ROM_CALL_5DD,_ROM_CALL_5DE,_ROM_CALL_5DF,
140  _ROM_CALL_5E0,_ROM_CALL_5E1,_ROM_CALL_5E2,_ROM_CALL_5E3,_ROM_CALL_5E4,_ROM_CALL_5E5,_ROM_CALL_5E6,_ROM_CALL_5E7,_ROM_CALL_5E8,_ROM_CALL_5E9,_ROM_CALL_5EA,_ROM_CALL_5EB,_ROM_CALL_5EC,_ROM_CALL_5ED,_ROM_CALL_5EE,_ROM_CALL_5EF,
141  _ROM_CALL_5F0,_ROM_CALL_5F1,_ROM_CALL_5F2,_ROM_CALL_5F3,_ROM_CALL_5F4,_ROM_CALL_5F5,_ROM_CALL_5F6,_ROM_CALL_5F7,_ROM_CALL_5F8,_ROM_CALL_5F9,_ROM_CALL_5FA,_ROM_CALL_5FB,_ROM_CALL_5FC,_ROM_CALL_5FD,_ROM_CALL_5FE,_ROM_CALL_5FF,
142  _ROM_CALL_600,_ROM_CALL_601,_ROM_CALL_602,_ROM_CALL_603,_ROM_CALL_604,_ROM_CALL_605,_ROM_CALL_606,_ROM_CALL_607,_ROM_CALL_608,_ROM_CALL_609,_ROM_CALL_60A,_ROM_CALL_60B,_ROM_CALL_60C,_ROM_CALL_60D,_ROM_CALL_60E,_ROM_CALL_60F,
143  _ROM_CALL_610,_ROM_CALL_611,_ROM_CALL_612,_ROM_CALL_613,_ROM_CALL_614,_ROM_CALL_615,_ROM_CALL_616,_ROM_CALL_617,_ROM_CALL_618,_ROM_CALL_619,_ROM_CALL_61A,_ROM_CALL_61B,_ROM_CALL_61C,_ROM_CALL_61D,_ROM_CALL_61E,_ROM_CALL_61F,
144  _ROM_CALL_620,_ROM_CALL_621,_ROM_CALL_622,_ROM_CALL_623,_ROM_CALL_624,_ROM_CALL_625,_ROM_CALL_626,_ROM_CALL_627,_ROM_CALL_628,_ROM_CALL_629,_ROM_CALL_62A,_ROM_CALL_62B,_ROM_CALL_62C,_ROM_CALL_62D,_ROM_CALL_62E,_ROM_CALL_62F,
145  _ROM_CALL_630,_ROM_CALL_631,_ROM_CALL_632,_ROM_CALL_633,_ROM_CALL_634,_ROM_CALL_635,_ROM_CALL_636,_ROM_CALL_637,_ROM_CALL_638,_ROM_CALL_639,_ROM_CALL_63A,_ROM_CALL_63B,_ROM_CALL_63C,_ROM_CALL_63D,_ROM_CALL_63E,_ROM_CALL_63F,
146  _ROM_CALL_640,_ROM_CALL_641,_ROM_CALL_642,_ROM_CALL_643,_ROM_CALL_644,_ROM_CALL_645,_ROM_CALL_646,_ROM_CALL_647,_ROM_CALL_648,_ROM_CALL_649,_ROM_CALL_64A,_ROM_CALL_64B,_ROM_CALL_64C,_ROM_CALL_64D,_ROM_CALL_64E,_ROM_CALL_64F,
147  _ROM_CALL_650,_ROM_CALL_651,_ROM_CALL_652,_ROM_CALL_653,_ROM_CALL_654,_ROM_CALL_655,_ROM_CALL_656,_ROM_CALL_657,_ROM_CALL_658,_ROM_CALL_659,_ROM_CALL_65A,_ROM_CALL_65B,_ROM_CALL_65C,_ROM_CALL_65D,_ROM_CALL_65E,_ROM_CALL_65F,
148  _ROM_CALL_660,_ROM_CALL_661,_ROM_CALL_662,_ROM_CALL_663,_ROM_CALL_664,_ROM_CALL_665,_ROM_CALL_666,_ROM_CALL_667,_ROM_CALL_668,_ROM_CALL_669,_ROM_CALL_66A,_ROM_CALL_66B,_ROM_CALL_66C,_ROM_CALL_66D,_ROM_CALL_66E,_ROM_CALL_66F,
149  _ROM_CALL_670,_ROM_CALL_671,_ROM_CALL_672,_ROM_CALL_673,_ROM_CALL_674,_ROM_CALL_675,_ROM_CALL_676,_ROM_CALL_677,_ROM_CALL_678,_ROM_CALL_679,_ROM_CALL_67A,_ROM_CALL_67B,_ROM_CALL_67C,_ROM_CALL_67D,_ROM_CALL_67E,_ROM_CALL_67F,
150  _ROM_CALL_680,_ROM_CALL_681,_ROM_CALL_682,_ROM_CALL_683,_ROM_CALL_684,_ROM_CALL_685,_ROM_CALL_686,_ROM_CALL_687,_ROM_CALL_688,_ROM_CALL_689,_ROM_CALL_68A,_ROM_CALL_68B,_ROM_CALL_68C,_ROM_CALL_68D,_ROM_CALL_68E,_ROM_CALL_68F,
151  _ROM_CALL_690,_ROM_CALL_691,_ROM_CALL_692,_ROM_CALL_693,_ROM_CALL_694,_ROM_CALL_695,_ROM_CALL_696,_ROM_CALL_697,_ROM_CALL_698,_ROM_CALL_699,_ROM_CALL_69A,_ROM_CALL_69B,_ROM_CALL_69C,_ROM_CALL_69D,_ROM_CALL_69E,_ROM_CALL_69F,
152  _ROM_CALL_6A0,_ROM_CALL_6A1,_ROM_CALL_6A2,_ROM_CALL_6A3,_ROM_CALL_6A4,_ROM_CALL_6A5,_ROM_CALL_6A6,_ROM_CALL_6A7,_ROM_CALL_6A8,_ROM_CALL_6A9,_ROM_CALL_6AA,_ROM_CALL_6AB,_ROM_CALL_6AC,_ROM_CALL_6AD,_ROM_CALL_6AE,_ROM_CALL_6AF,
153  _ROM_CALL_6B0,_ROM_CALL_6B1,_ROM_CALL_6B2,_ROM_CALL_6B3,_ROM_CALL_6B4,_ROM_CALL_6B5,_ROM_CALL_6B6,_ROM_CALL_6B7,_ROM_CALL_6B8,_ROM_CALL_6B9,_ROM_CALL_6BA,_ROM_CALL_6BB,_ROM_CALL_6BC,_ROM_CALL_6BD,_ROM_CALL_6BE,_ROM_CALL_6BF,
154  _ROM_CALL_6C0,_ROM_CALL_6C1,_ROM_CALL_6C2,_ROM_CALL_6C3,_ROM_CALL_6C4,_ROM_CALL_6C5,_ROM_CALL_6C6,_ROM_CALL_6C7,_ROM_CALL_6C8,_ROM_CALL_6C9,_ROM_CALL_6CA,_ROM_CALL_6CB,_ROM_CALL_6CC,_ROM_CALL_6CD,_ROM_CALL_6CE,_ROM_CALL_6CF,
155  _ROM_CALL_6D0,_ROM_CALL_6D1,_ROM_CALL_6D2,_ROM_CALL_6D3,_ROM_CALL_6D4,_ROM_CALL_6D5,_ROM_CALL_6D6,_ROM_CALL_6D7,_ROM_CALL_6D8,_ROM_CALL_6D9,_ROM_CALL_6DA,_ROM_CALL_6DB,_ROM_CALL_6DC,_ROM_CALL_6DD,_ROM_CALL_6DE,_ROM_CALL_6DF,
156  _ROM_CALL_6E0,_ROM_CALL_6E1,_ROM_CALL_6E2,_ROM_CALL_6E3,_ROM_CALL_6E4,_ROM_CALL_6E5,_ROM_CALL_6E6,_ROM_CALL_6E7,_ROM_CALL_6E8,_ROM_CALL_6E9,_ROM_CALL_6EA,_ROM_CALL_6EB,_ROM_CALL_6EC,_ROM_CALL_6ED,_ROM_CALL_6EE,_ROM_CALL_6EF,
157  _ROM_CALL_6F0,_ROM_CALL_6F1,_ROM_CALL_6F2,_ROM_CALL_6F3,_ROM_CALL_6F4,_ROM_CALL_6F5,_ROM_CALL_6F6,_ROM_CALL_6F7,_ROM_CALL_6F8,_ROM_CALL_6F9,_ROM_CALL_6FA,_ROM_CALL_6FB,_ROM_CALL_6FC,_ROM_CALL_6FD,_ROM_CALL_6FE,_ROM_CALL_6FF,
158  _ROM_CALL_700,_ROM_CALL_701,_ROM_CALL_702,_ROM_CALL_703,_ROM_CALL_704,_ROM_CALL_705,_ROM_CALL_706,_ROM_CALL_707,_ROM_CALL_708,_ROM_CALL_709,_ROM_CALL_70A,_ROM_CALL_70B,_ROM_CALL_70C,_ROM_CALL_70D,_ROM_CALL_70E,_ROM_CALL_70F,
159  _ROM_CALL_710,_ROM_CALL_711,_ROM_CALL_712,_ROM_CALL_713,_ROM_CALL_714,_ROM_CALL_715,_ROM_CALL_716,_ROM_CALL_717,_ROM_CALL_718,_ROM_CALL_719,_ROM_CALL_71A,_ROM_CALL_71B,_ROM_CALL_71C,_ROM_CALL_71D,_ROM_CALL_71E,_ROM_CALL_71F,
160  _ROM_CALL_720,_ROM_CALL_721,_ROM_CALL_722,_ROM_CALL_723,_ROM_CALL_724,_ROM_CALL_725,_ROM_CALL_726,_ROM_CALL_727,_ROM_CALL_728,_ROM_CALL_729,_ROM_CALL_72A,_ROM_CALL_72B,_ROM_CALL_72C,_ROM_CALL_72D,_ROM_CALL_72E,_ROM_CALL_72F,
161  _ROM_CALL_730,_ROM_CALL_731,_ROM_CALL_732,_ROM_CALL_733,_ROM_CALL_734,_ROM_CALL_735,_ROM_CALL_736,_ROM_CALL_737,_ROM_CALL_738,_ROM_CALL_739,_ROM_CALL_73A,_ROM_CALL_73B,_ROM_CALL_73C,_ROM_CALL_73D,_ROM_CALL_73E,_ROM_CALL_73F,
162  _ROM_CALL_740,_ROM_CALL_741,_ROM_CALL_742,_ROM_CALL_743,_ROM_CALL_744,_ROM_CALL_745,_ROM_CALL_746,_ROM_CALL_747,_ROM_CALL_748,_ROM_CALL_749,_ROM_CALL_74A,_ROM_CALL_74B,_ROM_CALL_74C,_ROM_CALL_74D,_ROM_CALL_74E,_ROM_CALL_74F,
163  _ROM_CALL_750,_ROM_CALL_751,_ROM_CALL_752,_ROM_CALL_753,_ROM_CALL_754,_ROM_CALL_755,_ROM_CALL_756,_ROM_CALL_757,_ROM_CALL_758,_ROM_CALL_759,_ROM_CALL_75A,_ROM_CALL_75B,_ROM_CALL_75C,_ROM_CALL_75D,_ROM_CALL_75E,_ROM_CALL_75F,
164  _ROM_CALL_760,_ROM_CALL_761,_ROM_CALL_762,_ROM_CALL_763,_ROM_CALL_764,_ROM_CALL_765,_ROM_CALL_766,_ROM_CALL_767,_ROM_CALL_768,_ROM_CALL_769,_ROM_CALL_76A,_ROM_CALL_76B,_ROM_CALL_76C,_ROM_CALL_76D,_ROM_CALL_76E,_ROM_CALL_76F,
165  _ROM_CALL_770,_ROM_CALL_771,_ROM_CALL_772,_ROM_CALL_773,_ROM_CALL_774,_ROM_CALL_775,_ROM_CALL_776,_ROM_CALL_777,_ROM_CALL_778,_ROM_CALL_779,_ROM_CALL_77A,_ROM_CALL_77B,_ROM_CALL_77C,_ROM_CALL_77D,_ROM_CALL_77E,_ROM_CALL_77F,
166  _ROM_CALL_780,_ROM_CALL_781,_ROM_CALL_782,_ROM_CALL_783,_ROM_CALL_784,_ROM_CALL_785,_ROM_CALL_786,_ROM_CALL_787,_ROM_CALL_788,_ROM_CALL_789,_ROM_CALL_78A,_ROM_CALL_78B,_ROM_CALL_78C,_ROM_CALL_78D,_ROM_CALL_78E,_ROM_CALL_78F,
167  _ROM_CALL_790,_ROM_CALL_791,_ROM_CALL_792,_ROM_CALL_793,_ROM_CALL_794,_ROM_CALL_795,_ROM_CALL_796,_ROM_CALL_797,_ROM_CALL_798,_ROM_CALL_799,_ROM_CALL_79A,_ROM_CALL_79B,_ROM_CALL_79C,_ROM_CALL_79D,_ROM_CALL_79E,_ROM_CALL_79F,
168  _ROM_CALL_7A0,_ROM_CALL_7A1,_ROM_CALL_7A2,_ROM_CALL_7A3,_ROM_CALL_7A4,_ROM_CALL_7A5,_ROM_CALL_7A6,_ROM_CALL_7A7,_ROM_CALL_7A8,_ROM_CALL_7A9,_ROM_CALL_7AA,_ROM_CALL_7AB,_ROM_CALL_7AC,_ROM_CALL_7AD,_ROM_CALL_7AE,_ROM_CALL_7AF,
169  _ROM_CALL_7B0,_ROM_CALL_7B1,_ROM_CALL_7B2,_ROM_CALL_7B3,_ROM_CALL_7B4,_ROM_CALL_7B5,_ROM_CALL_7B6,_ROM_CALL_7B7,_ROM_CALL_7B8,_ROM_CALL_7B9,_ROM_CALL_7BA,_ROM_CALL_7BB,_ROM_CALL_7BC,_ROM_CALL_7BD,_ROM_CALL_7BE,_ROM_CALL_7BF,
170  _ROM_CALL_7C0,_ROM_CALL_7C1,_ROM_CALL_7C2,_ROM_CALL_7C3,_ROM_CALL_7C4,_ROM_CALL_7C5,_ROM_CALL_7C6,_ROM_CALL_7C7,_ROM_CALL_7C8,_ROM_CALL_7C9,_ROM_CALL_7CA,_ROM_CALL_7CB,_ROM_CALL_7CC,_ROM_CALL_7CD,_ROM_CALL_7CE,_ROM_CALL_7CF,
171  _ROM_CALL_7D0,_ROM_CALL_7D1,_ROM_CALL_7D2,_ROM_CALL_7D3,_ROM_CALL_7D4,_ROM_CALL_7D5,_ROM_CALL_7D6,_ROM_CALL_7D7,_ROM_CALL_7D8,_ROM_CALL_7D9,_ROM_CALL_7DA,_ROM_CALL_7DB,_ROM_CALL_7DC,_ROM_CALL_7DD,_ROM_CALL_7DE,_ROM_CALL_7DF,
172  _ROM_CALL_7E0,_ROM_CALL_7E1,_ROM_CALL_7E2,_ROM_CALL_7E3,_ROM_CALL_7E4,_ROM_CALL_7E5,_ROM_CALL_7E6,_ROM_CALL_7E7,_ROM_CALL_7E8,_ROM_CALL_7E9,_ROM_CALL_7EA,_ROM_CALL_7EB,_ROM_CALL_7EC,_ROM_CALL_7ED,_ROM_CALL_7EE,_ROM_CALL_7EF,
173  _ROM_CALL_7F0,_ROM_CALL_7F1,_ROM_CALL_7F2,_ROM_CALL_7F3,_ROM_CALL_7F4,_ROM_CALL_7F5,_ROM_CALL_7F6,_ROM_CALL_7F7,_ROM_CALL_7F8,_ROM_CALL_7F9,_ROM_CALL_7FA,_ROM_CALL_7FB,_ROM_CALL_7FC,_ROM_CALL_7FD,_ROM_CALL_7FE,_ROM_CALL_7FF;
174
175#define _rom_call(type,args,index) (_rom_call_concat(type,args,0x##index,_ROM_CALL_##index))
176#define _rom_call_addr(index) (_rom_call_addr_concat(0x##index,_ROM_CALL_##index))
177#define _rom_call_addr_concat(intindex,romindex) (&romindex)
178#define __rom_call_addr_concat(intindex,romindex) (&romindex)
179#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));}))
180#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));}))
181#define _rom_call_concat(type,args,intindex,romindex) (*((type(*__ATTR_TIOS__)args)(__rom_call_addr_concat(intindex,romindex))))
182#define import_binary(filename,symname) asm(".globl "#symname"\n"#symname":\n\t.incbin \""filename"\"")
183
184/* Kernel RAM_CALLS */
185extern void
186        _RAM_CALL_0,_RAM_CALL_1,_RAM_CALL_2,_RAM_CALL_3,
187        _RAM_CALL_4,_RAM_CALL_5,_RAM_CALL_6,_RAM_CALL_7,
188        _RAM_CALL_8,_RAM_CALL_9,_RAM_CALL_A,_RAM_CALL_B,
189        _RAM_CALL_C,_RAM_CALL_D,_RAM_CALL_E,_RAM_CALL_F,
190        _RAM_CALL_10,_RAM_CALL_11,_RAM_CALL_12,_RAM_CALL_13,
191        _RAM_CALL_14,_RAM_CALL_21,_RAM_CALL_22,_RAM_CALL_23,
192        _RAM_CALL_24,_RAM_CALL_25,_RAM_CALL_26,_RAM_CALL_27,
193        _RAM_CALL_28,_RAM_CALL_2D,_RAM_CALL_2E;
194#define __RAM_CALL(n,type) ((type)&_RAM_CALL_##n)
195
196/* Define Kernel values -- pass 2 */
197#define __CALCULATOR    __RAM_CALL(0, const unsigned char*)
198#define CALCULATOR      (__CALCULATOR[0])
199#define HW_VERSION      (__CALCULATOR[1])
200#define EMULATOR        (__CALCULATOR[3])
201#define font_medium     __RAM_CALL(E, const void*)
202#define font_small      __RAM_CALL(22, const void*)
203#define font_large      __RAM_CALL(23, const void *)
204#define LCD_MEM         __RAM_CALL(21, void*)
205#define LCD_WIDTH       __RAM_CALL (1, unsigned long)
206#define LCD_HEIGHT      __RAM_CALL (2, unsigned long)
207#define LCD_LINE_BYTES  __RAM_CALL (4, unsigned long)
208#define LCD_SIZE        __RAM_CALL (C, unsigned long)
209#define ROM_BASE        __RAM_CALL(3, unsigned char *)
210#define RETURN_VALUE    (*(unsigned char **)_RAM_CALL_F = *(unsigned char **)_ROM_CALL_109)
211#define Heap            __RAM_CALL(11, void***)
212#define FOLDER_LIST_HANDLE __RAM_CALL (12, unsigned long)
213#define MainHandle      __RAM_CALL (13, unsigned long)
214#define ROM_VERSION     __RAM_CALL (14, unsigned long)
215#define kb_globals      __RAM_CALL(10, void*)
216#define KEY_PRESSED_FLAG (*(unsigned short*)(kb_globals+0x1C))
217#define GETKEY_CODE     (*(unsigned short*)(kb_globals+0x1E))
218#define KEY_LEFT        __RAM_CALL(5, unsigned long)
219#define KEY_RIGHT       __RAM_CALL(6, unsigned long)
220#define KEY_UP          __RAM_CALL(7, unsigned long)
221#define KEY_DOWN        __RAM_CALL(8, unsigned long)
222#define KEY_UPRIGHT     __RAM_CALL(9, unsigned long)
223#define KEY_DOWNLEFT    __RAM_CALL(A, unsigned long)
224#define KEY_DIAMOND     __RAM_CALL(B, unsigned long)
225#define KEY_SHIFT       __RAM_CALL(D, unsigned long)
226#define ROM_BASE        __RAM_CALL(3, unsigned char *)
227#define GHOST_SPACE     __RAM_CALL(2D, unsigned char *)
228#define KERNEL_SPACE    __RAM_CALL(2E, unsigned char *)
229
230typedef unsigned short *__pushort;       
231typedef short *__pshort;
232typedef long *__plong;
233typedef unsigned long *__pulong;
234
235/* Define commun struct */
236typedef unsigned char   ESQ;
237typedef const ESQ       *CESI;
238typedef ESQ             *ESI;
239typedef struct{unsigned short Size;ESQ Expr[];}MULTI_EXPR;
240typedef CESI            SYM_STR;
241typedef unsigned short  HANDLE;
242typedef struct{HANDLE folder;unsigned short offset;}HSym;
243typedef struct{char name[8];unsigned short compat;union{unsigned short flags_n;struct{unsigned int busy:1,local:1,flag1_5:1,flag1_4:1,collapsed:1,twin:1,archived:1,in_view:1;unsigned int folder:1,overwritten:1,checked:1,hidden:1,locked:1,statvar:1,graph_ref_1:1,graph_ref_0:1;}bits;}flags;HANDLE handle;}SYM_ENTRY;
244typedef unsigned long   size_t;
245typedef struct{unsigned short exponent;unsigned long long mantissa;}bcd __attribute__((__may_alias__));
246typedef float ti_float;
247typedef struct{unsigned short Field;unsigned short HdrLen;unsigned long Len;void*Data;}CERT_FIELD;
248typedef struct{void*Start,*Pos,*End;short EOFVal;}CFILE;
249typedef union{struct{unsigned char x0,y0,x1,y1;}xy;unsigned long l;}SCR_RECT;
250typedef struct{short x0,y0,x1,y1;}WIN_RECT;
251typedef struct{void*ScrAddr;unsigned char XMax,YMax;short CurFont,CurAttr,CurX,CurY;SCR_RECT CurClip;}SCR_STATE;
252typedef 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;
253typedef CALLBACK short(*DialogNew_t)(short x,long y);
254typedef CALLBACK unsigned short(*CESI_Callback_t)(CESI);
255typedef CALLBACK unsigned short(*ESI_Callback_Int_t)(ESI,unsigned short);
256typedef CALLBACK void(*ESI_Callback_t)(ESI);
257typedef 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];
258typedef struct EventStruct{unsigned short Type;unsigned short RunningApp;unsigned short Side;unsigned short StatusFlags;union{WINDOW*w;WIN_RECT*r;char*pasteText;HANDLE hPasteText;struct{unsigned short Mod;unsigned short Code;}Key;}extra;unsigned char StartType;}EVENT;
259typedef void(*EVENT_HANDLER)(EVENT*)CALLBACK;
260typedef struct{unsigned short CurrentFolder;unsigned short SplitScreen;unsigned short NumGraphs;unsigned short Graph1;unsigned short Graph2;unsigned short Split1App;unsigned short Split2App;unsigned short SplitRatio;unsigned short Angle;unsigned short ExactApprox;unsigned short Fix;unsigned short Exp;unsigned short Vector;unsigned short Complex;unsigned short Pretty;unsigned short Base;unsigned short UnitSystem;unsigned short CustomUnits;}MO_OPTIONS;
261typedef 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;
262typedef unsigned char SCR_COORDS;
263typedef short WIN_COORDS;
264typedef struct{unsigned short NumRows,NumCols;unsigned char Data[];}BITMAP;
265typedef struct{unsigned short i[16];}ICON;
266typedef struct{unsigned char Count;struct{unsigned char Attr,x0,y0,x1,y1;}Data[];}MULTI_LINE;
267typedef unsigned short*pICON;
268typedef void(*__HS_pushEmptyFIFONode__type__)(short)__ATTR_TIOS__;
269typedef 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;
270typedef struct{FIFO_ELEMENT Entry;FIFO_ELEMENT Ans;HANDLE Prev;HANDLE Next;}FIFO_NODE;
271typedef struct __attribute__((__may_alias__)){short foo;}_DEREF_INT_HANDLER,*INT_HANDLER;
272typedef 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;
273typedef struct{unsigned char Len;unsigned char Data[];}BN;
274typedef struct{unsigned long state[4];unsigned long count[2];unsigned char buffer[64];}MD5_CTX;
275typedef struct{unsigned long D2,D3,D4,D5,D6,D7;unsigned long A2,A3,A4,A5,A6,A7;unsigned long PC;}JMP_BUF[1];
276typedef struct{WINDOW*w;WIN_RECT rect;long value;long low,high;long logwidth;short physwidth;}ST_PROGRESS_BAR;
277typedef void*va_list;
278typedef struct{char*fpos;void*base;unsigned short handle;short flags;short unget;unsigned long alloc;unsigned short buffincrement;}FILE;
279typedef unsigned long fpos_t;
280typedef CALLBACK void(*vcbprintf_Callback_t)(char c,void**param);
281typedef CALLBACK short(*vcbscanf_get_Callback_t)(void*param);
282typedef CALLBACK short(*vcbscanf_unget_Callback_t)(void*param);
283typedef void(*__vcbprintf__type__)(vcbprintf_Callback_t,void**,const char*,void*)__ATTR_TIOS__;
284typedef struct {char *buffer; unsigned short pos;} __sscanf_string;
285typedef CALLBACK void(*atexit_t)(void);
286typedef CALLBACK short(*compare_t)(const void*elem1,const void*elem2);
287typedef struct{short quot,rem;}div_t;
288typedef struct{long quot,rem;}ldiv_t;
289typedef struct{unsigned short Head;unsigned short Tail;unsigned short Size;unsigned short Used;unsigned short Buffer[];}DEF_QUEUE;
290typedef CALLBACK void(*Timer_Callback_t)(void);
291typedef struct{unsigned short len;unsigned char releaseVersionMajor;unsigned char releaseVersionMinor;unsigned short releaseDateYear;unsigned char releaseDateMonth;unsigned char releaseDateDay;}BASECODE_PARM_BLOCK;
292typedef struct TextEditStruct{WINDOW*Parent;unsigned short ReadOnly;WIN_RECT Rect;unsigned short BufSize;unsigned short CurSize;unsigned short CursorOffset;unsigned short StartOffset;unsigned short PreChars;unsigned short CharWidth;unsigned short CharHeight;unsigned short LineNum;unsigned short CursorX;unsigned short Flags;union{HANDLE h;const char*p;}Text;}TEXT_EDIT;
293
294/* Define commun flags */
295enum Bool{FALSE,TRUE};
296enum CompatFlags{CF_NONE=0,CF_CONVERT=1,CF_ENHANCED=2,CF_NEW=3};
297enum ExtendedSysTypes {SEQ_INITC=7,DE_INITC=8,DE_FLDPIC=9,SOLVER_SYS_VARS=10,UNIT_VAR=11,C_COL=12,R_REGEQ=13,R_SYSVAR=14};
298enum FindOptions {FO_SINGLE_FOLDER=0x01,FO_RECURSE=0x02,FO_SKIP_TEMPS=0x04,FO_NOTEMPS=0x04,FO_RETURN_TWINS=0x08,FO_CKTWINS=0x08,FO_RETURN_FOLDER=0x10,FO_SKIP_COLLAPSE=0x20};
299enum FolderOpFlags{FOP_UNLOCK=0,FOP_LOCK=1,FOP_ALL_FOLDERS=0x80};
300enum FolderStats{MAIN_FOLDER=2,FOLDER_TABLE=3,NOT_FOUND=4,BAD_FOLDER=5};
301enum SymFlags {SF_GREF1=0x0001,SF_GREF2=0x0002,SF_STATVAR=0x0004,SF_LOCKED=0x0008,SF_HIDDEN=0x0010,SF_OPEN=0x0010,SF_CHECKED=0x0020,SF_OVERWRITTEN=0x0040,SF_FOLDER=0x0080,SF_INVIEW=0x0100,SF_ARCHIVED=0x0200,SF_TWIN=0x0400,SF_COLLAPSED=0x0800,SF_LOCAL=0x4000,SF_BUSY=0x8000};
302enum SystemDataTypes {SDT_EXPR=0,SDT_LIST=1,SDT_MAT=2,SDT_FUNC=3,SDT_PRGM=4,SDT_PIC=5,SDT_STR=6,SDT_TEXT=7,SDT_GDB=8,SDT_DATA=9,SDT_FIG=10,SDT_MAC=11,SDT_OTH=12,SDT_SYS=13,SDT_ALL=14,SDT_ASM=15};
303enum VarRecallFlags{VR_NO_SYS_VARS=0x01,VR_FUNC_NAME=0x02,VR_LINK=0x04};
304enum VarStoreFlags{STOF_ESI=0x4000,STOF_ELEMENT=0x4001,STOF_NONE=0x4002,STOF_HESI=0x4003};
305enum Tags {VAR_NAME_TAG=0x00,_VAR_Q_TAG=0x01,VAR_R_TAG=0x02,VAR_S_TAG=0x03,VAR_T_TAG=0x04,VAR_U_TAG=0x05,VAR_V_TAG=0x06,VAR_W_TAG=0x07,VAR_X_TAG=0x08,VAR_Y_TAG=0x09,VAR_Z_TAG=0x0A,VAR_A_TAG=0x0B,VAR_B_TAG=0x0C,VAR_C_TAG=0x0D,VAR_D_TAG=0x0E,VAR_E_TAG=0x0F,VAR_F_TAG=0x10,VAR_G_TAG=0x11,VAR_H_TAG=0x12,VAR_I_TAG=0x13,VAR_J_TAG=0x14,VAR_K_TAG=0x15,VAR_L_TAG=0x16,VAR_M_TAG=0x17,VAR_N_TAG=0x18,VAR_O_TAG=0x19,VAR_P_TAG=0x1A,VAR_Q_TAG=0x1B,EXT_SYSTEM_TAG=0x1C,ARB_REAL_TAG=0x1D,ARB_INT_TAG=0x1E,POSINT_TAG=0x1F,NEGINT_TAG=0x20,POSFRAC_TAG=0x21,NEGFRAC_TAG=0x22,FLOAT_TAG=0x23,BCD_TAG=0x23,PI_TAG=0x24,EXP_TAG=0x25,IM_TAG=0x26,NEGINFINITY_TAG=0x27,INFINITY_TAG=0x28,PN_INFINITY_TAG=0x29,UNDEF_TAG=0x2A,FALSE_TAG=0x2B,TRUE_TAG=0x2C,STR_TAG=0x2D,NOTHING_TAG=0x2E,ACOSH_TAG=0x2F,ASINH_TAG=0x30,ATANH_TAG=0x31,ASECH_TAG=0x32,ACSCH_TAG=0x33,ACOTH_TAG=0x34,COSH_TAG=0x35,SINH_TAG=0x36,TANH_TAG=0x37,SECH_TAG=0x38,CSCH_TAG=0x39,COTH_TAG=0x3A,ACOS_TAG=0x3B,ASIN_TAG=0x3C,ATAN_TAG=0x3D,ASEC_TAG=0x3E,ACSC_TAG=0x3F,ACOT_TAG=0x40,RACOS_TAG=0x41,RASIN_TAG=0x42,RATAN_TAG=0x43,COS_TAG=0x44,SIN_TAG=0x45,TAN_TAG=0x46,SEC_TAG=0x47,CSC_TAG=0x48,COT_TAG=0x49,ITAN_TAG=0x4A,ABS_TAG=0x4B,ANGLE_TAG=0x4C,CEILING_TAG=0x4D,FLOOR_TAG=0x4E,INT_TAG=0x4F,SIGN_TAG=0x50,SQRT_TAG=0x51,EXPF_TAG=0x52,LN_TAG=0x53,LOG_TAG=0x54,FPART_TAG=0x55,IPART_TAG=0x56,CONJ_TAG=0x57,IMAG_TAG=0x58,REAL_TAG=0x59,APPROX_TAG=0x5A,TEXPAND_TAG=0x5B,TCOLLECT_TAG=0x5C,GETDENOM_TAG=0x5D,GETNUM_TAG=0x5E,ERROR_TAG=0x5F,CUMSUM_TAG=0x60,DET_TAG=0x61,COLNORM_TAG=0x62,ROWNORM_TAG=0x63,NORM_TAG=0x64,MEAN_TAG=0x65,MEDIAN_TAG=0x66,PRODUCT_TAG=0x67,STDDEV_TAG=0x68,SUM_TAG=0x69,VARIANCE_TAG=0x6A,UNITV_TAG=0x6B,DIM_TAG=0x6C,MAT2LIST_TAG=0x6D,NEWLIST_TAG=0x6E,RREF_TAG=0x6F,REF_TAG=0x70,IDENTITY_TAG=0x71,DIAG_TAG=0x72,COLDIM_TAG=0x73,ROWDIM_TAG=0x74,TRANSPOSE_TAG=0x75,FACTORIAL_TAG=0x76,PERCENT_TAG=0x77,RADIANS_TAG=0x78,NOT_TAG=0x79,MINUS_TAG=0x7A,VEC_POLAR_TAG=0x7B,VEC_CYLIND_TAG=0x7C,VEC_SPHERE_TAG=0x7D,START_TAG=0x7E,ISTORE_TAG=0x7F,STORE_TAG=0x80,WITH_TAG=0x81,XOR_TAG=0x82,OR_TAG=0x83,AND_TAG=0x84,LT_TAG=0x85,LE_TAG=0x86,EQ_TAG=0x87,GE_TAG=0x88,GT_TAG=0x89,NE_TAG=0x8A,ADD_TAG=0x8B,ADDELT_TAG=0x8C,SUB_TAG=0x8D,SUBELT_TAG=0x8E,MUL_TAG=0x8F,MULELT_TAG=0x90,DIV_TAG=0x91,DIVELT_TAG=0x92,POW_TAG=0x93,POWELT_TAG=0x94,SINCOS_TAG=0x95,SOLVE_TAG=0x96,CSOLVE_TAG=0x97,NSOLVE_TAG=0x98,ZEROS_TAG=0x99,CZEROS_TAG=0x9A,FMIN_TAG=0x9B,FMAX_TAG=0x9C,COMPLEX_TAG=0x9D,POLYEVAL_TAG=0x9E,RANDPOLY_TAG=0x9F,CROSSP_TAG=0xA0,DOTP_TAG=0xA1,GCD_TAG=0xA2,LCM_TAG=0xA3,MOD_TAG=0xA4,INTDIV_TAG=0xA5,REMAIN_TAG=0xA6,NCR_TAG=0xA7,NPR_TAG=0xA8,P2RX_TAG=0xA9,P2RY_TAG=0xAA,P2PTHETA_TAG=0xAB,P2PR_TAG=0xAC,AUGMENT_TAG=0xAD,NEWMAT_TAG=0xAE,RANDMAT_TAG=0xAF,SIMULT_TAG=0xB0,PART_TAG=0xB1,EXP2LIST_TAG=0xB2,RANDNORM_TAG=0xB3,MROW_TAG=0xB4,ROWADD_TAG=0xB5,ROWSWAP_TAG=0xB6,ARCLEN_TAG=0xB7,NINT_TAG=0xB8,PI_PRODUCT_TAG=0xB9,SIGMA_SUM_TAG=0xBA,MROWADD_TAG=0xBB,ANS_TAG=0xBC,ENTRY_TAG=0xBD,EXACT_TAG=0xBE,LOGB_TAG=0xBF,COMDENOM_TAG=0xC0,EXPAND_TAG=0xC1,FACTOR_TAG=0xC2,CFACTOR_TAG=0xC3,INTEGRATE_TAG=0xC4,DIFFERENTIATE_TAG=0xC5,AVGRC_TAG=0xC6,NDERIV_TAG=0xC7,TAYLOR_TAG=0xC8,LIMIT_TAG=0xC9,PROPFRAC_TAG=0xCA,WHEN_TAG=0xCB,ROUND_TAG=0xCC,DMS_TAG=0xCD,LEFT_TAG=0xCE,RIGHT_TAG=0xCF,MID_TAG=0xD0,SHIFT_TAG=0xD1,SEQ_TAG=0xD2,LIST2MAT_TAG=0xD3,SUBMAT_TAG=0xD4,SUBSCRIPT_TAG=0xD5,RAND_TAG=0xD6,MIN_TAG=0xD7,MAX_TAG=0xD8,LIST_TAG=0xD9,USERFUNC_TAG=0xDA,MATRIX_TAG=0xDB,FUNC_TAG=0xDC,DATA_TAG=0xDD,GDB_TAG=0xDE,PIC_TAG=0xDF,TEXT_TAG=0xE0,FIG_TAG=0xE1,MAC_TAG=0xE2,EXT_TAG=0xE3,EXT_INSTR_TAG=0xE4,END_TAG=0xE5,COMMENT_TAG=0xE6,NEXTEXPR_TAG=0xE7,NEWLINE_TAG=0xE8,ENDSTACK_TAG=0xE9,PN1_TAG=0xEA,PN2_TAG=0xEB,ERROR_MSG_TAG=0xEC,EIGVC_TAG=0xED,EIGVL_TAG=0xEE,DASH_TAG=0xEF,LOCALVAR_TAG=0xF0,DESOLVE_TAG=0xF1,FDASH_TAG=0xF2,ASM_TAG=0xF3,ISPRIME_TAG=0xF4,OTH_TAG=0xF8,ROTATE_TAG=0xF9};
306enum HeapWalkCmds{H_WALK_VERIFY=0,H_WALK_STATUS=1,H_WALK_DUMP=2,H_WALK_SYM=3};
307enum Buttons{BT_NONE,BT_OK,BT_SAVE,BT_YES,BT_CANCEL,BT_NO,BT_GOTO};
308enum ExtTags{INDIR_TAG=0x01,GETKEY_TAG=0x02,GETFOLD_TAG=0x03,SWITCH_TAG=0x04,UNITCONV_TAG=0x05,ORD_TAG=0x06,EXPR_TAG=0x07,CHAR_TAG=0x08,STRING_TAG=0x09,GETTYPE_TAG=0x0A,GETMODE_TAG=0x0B,SETFOLD_TAG=0x0C,PTTEST_TAG=0x0D,PXLTEST_TAG=0x0E,SETGRAPH_TAG=0x0F,SETTABLE_TAG=0x10,SETMODE_TAG=0x11,FORMAT_TAG=0x12,INSTRING_TAG=0x13,APPEND_TAG=0x14,DD_TAG=0x15,EXPR2DMS_TAG=0x16,VEC2RECT_TAG=0x17,VEC2POLAR_TAG=0x18,VEC2CYLIND_TAG=0x19,VEC2SPHERE_TAG=0x1A,PARENTH_START_TAG=0x1B,PARENTH_END_TAG=0x1C,MAT_START_TAG=0x1D,MAT_END_TAG=0x1E,LIST_START_TAG=0x1F,LIST_END_TAG=0x20,COMMA_TAG=0x21,SEMICOLON_TAG=0x22,COMPLEX_ANGLE_TAG=0x23,SINGLE_QUOTE_TAG=0x24,QUOTE_TAG=0x25,POLCPLX_TAG=0x26,TMPCNV_TAG=0x27,DELTA_TMPCNV_TAG=0x28,GETUNITS_TAG=0x29,SETUNITS_TAG=0x2A,BIN_TAG=0x2B,HEX_TAG=0x2C,INT2BIN_TAG=0x2D,INT2DEC_TAG=0x2E,INT2HEX_TAG=0x2F,DET_TOL_TAG=0x30,REF_TOL_TAG=0x31,RREF_TOL_TAG=0x32,SIMULT_TOL_TAG=0x33,GETCONFG_TAG=0x34,V_AUGMENT_TAG=0x35,MEAN_TWOARG_TAG=0x36,PRODUCT_TWOARG_TAG=0x37,STDDEV_TWOARG_TAG=0x39,SUM_TWOARG_TAG=0x3A,VARIANCE_TWOARG_TAG=0x3A,DELTA_LIST_TAG=0x3B,ISCLKON_TAG=0x46,GETDATE_TAG=0x47,GETTIME_TAG=0x48,GETTMZN_TAG=0x49,SETDATE_TAG=0x4A,SETTIME_TAG=0x4B,SETTMZN_TAG=0x4C,DAYOFWK_TAG=0x4D,STARTTMR_TAG=0x4E,CHECKTMR_TAG=0x4F,TIMECNV_TAG=0x50,GETDTFMT_TAG=0x51,GETTMFMT_TAG=0x52,GETDTSTR_TAG=0x53,GETTMSTR_TAG=0x54,SETDTFMT_TAG=0x55,SETTMFMT_TAG=0x56};
309enum InstructionTags{CLRDRAW_ITAG=1,CLRGRAPH_ITAG=2,CLRHOME_ITAG=3,CLRIO_ITAG=4,CLRTABLE_ITAG=5,CUSTOM_ITAG=6,CYCLE_ITAG=7,DIALOG_ITAG=8,DISPG_ITAG=9,DISPTBL_ITAG=0xA,ELSE_ITAG=0xB,ENDCUSTM_ITAG=0xC,ENDDLOG_ITAG=0xD,ENDFOR_ITAG=0xE,ENDFUNC_ITAG=0xF,ENDIF_ITAG=0x10,ENDLOOP_ITAG=0x11,ENDPRGM_ITAG=0x12,ENDTBAR_ITAG=0x13,ENDTRY_ITAG=0x14,ENDWHILE_ITAG=0x15,EXIT_ITAG=0x16,FUNC_ITAG=0x17,LOOP_ITAG=0x18,PRGM_ITAG=0x19,SHOWSTAT_ITAG=0x1A,STOP_ITAG=0x1B,THEN_ITAG=0x1C,TOOLBAR_ITAG=0x1D,TRACE_ITAG=0x1E,TRY_ITAG=0x1F,ZOOMBOX_ITAG=0x20,ZOOMDATA_ITAG=0x21,ZOOMDEC_ITAG=0x22,ZOOMFIT_ITAG=0x23,ZOOMIN_ITAG=0x24,ZOOMINT_ITAG=0x25,ZOOMOUT_ITAG=0x26,ZOOMPREV_ITAG=0x27,ZOOMRCL_ITAG=0x28,ZOOMSQR_ITAG=0x29,ZOOMSTD_ITAG=0x2A,ZOOMSTO_ITAG=0x2B,ZOOMTRIG_ITAG=0x2C,DRAWFUNC_ITAG=0x2D,DRAWINV_ITAG=0x2E,GOTO_ITAG=0x2F,LBL_ITAG=0x30,GET_ITAG=0x31,SEND_ITAG=0x32,GETCALC_ITAG=0x33,SENDCALC_ITAG=0x34,NEWFOLD_ITAG=0x35,PRINTOBJ_ITAG=0x36,RCLGDB_ITAG=0x37,STOGDB_ITAG=0x38,ELSEIF_ITAG=0x39,IF_ITAG=0x3A,IFTHEN_ITAG=0x3B,RANDSEED_ITAG=0x3C,WHILE_ITAG=0x3D,LINETAN_ITAG=0x3E,COPYVAR_ITAG=0x3F,RENAME_ITAG=0x40,STYLE_ITAG=0x41,FILL_ITAG=0x42,REQUEST_ITAG=0x43,POPUP_ITAG=0x44,PTCHG_ITAG=0x45,PTOFF_ITAG=0x46,PTON_ITAG=0x47,PXLCHG_ITAG=0x48,PXLOFF_ITAG=0x49,PXLON_ITAG=0x4A,MOVEVAR_ITAG=0x4B,DROPDOWN_ITAG=0x4C,OUTPUT_ITAG=0x4D,PTTEXT_ITAG=0x4E,PXLTEXT_ITAG=0x4F,DRAWSLP_ITAG=0x50,PAUSE_ITAG=0x51,RETURN_ITAG=0x52,INPUT_ITAG=0x53,PLOTSOFF_ITAG=0x54,PLOTSON_ITAG=0x55,TITLE_ITAG=0x56,ITEM_ITAG=0x57,INPUTSTR_ITAG=0x58,LINEHORZ_ITAG=0x59,LINEVERT_ITAG=0x5A,PXLHORZ_ITAG=0x5B,PXLVERT_ITAG=0x5C,ANDPIC_ITAG=0x5D,RCLPIC_ITAG=0x5E,RPLCPIC_ITAG=0x5F,XORPIC_ITAG=0x60,DRAWPOL_ITAG=0x61,TEXT_ITAG=0x62,ONEVAR_ITAG=0x63,STOPIC_ITAG=0x64,GRAPH_ITAG=0x65,TABLE_ITAG=0x66,NEWPIC_ITAG=0x67,DRAWPARM_ITAG=0x68,CYCLEPIC_ITAG=0x69,CUBICREG_ITAG=0x6A,EXPREG_ITAG=0x6B,LINREG_ITAG=0x6C,LNREG_ITAG=0x6D,MEDMED_ITAG=0x6E,POWERREG_ITAG=0x6F,QUADREG_ITAG=0x70,QUARTREG_ITAG=0x71,TWOVAR_ITAG=0x72,SHADE_ITAG=0x73,FOR_ITAG=0x74,CIRCLE_ITAG=0x75,PXLCRCL_ITAG=0x76,NEWPLOT_ITAG=0x77,LINE_ITAG=0x78,PXLLINE_ITAG=0x79,DISP_ITAG=0x7A,FNOFF_ITAG=0x7B,FNON_ITAG=0x7C,LOCAL_ITAG=0x7D,DELFOLD_ITAG=0x7E,DELVAR_ITAG=0x7F,LOCK_ITAG=0x80,PROMPT_ITAG=0x81,SORTA_ITAG=0x82,SORTD_ITAG=0x83,UNLOCK_ITAG=0x84,NEWDATA_ITAG=0x85,DEFINE_ITAG=0x86,ELSE_TRY_ITAG=0x87,CLRERR_ITAG=0x88,PASSERR_ITAG=0x89,DISPHOME_ITAG=0x8A,EXEC_ITAG=0x8B,ARCHIVE_ITAG=0x8C,UNARCHIV_ITAG=0x8D,LU_ITAG=0x8E,QR_ITAG=0x8F,BLDDATA_ITAG=0x90,DRWCTOUR_ITAG=0x91,NEWPROB_ITAG=0x92,SINREG_ITAG=0x93,LOGISTIC_ITAG=0x94,CUSTMON_ITAG=0x95,CUSTMOFF_ITAG=0x96,SENDCHAT_ITAG=0x97,REQUEST_THREEARG_TAG=0x99,CLOCKON_TAG=0x9A,CLOCKOFF_TAG=0x9B};
310enum SysvarTags{X_BAR_TAG=1,Y_BAR_TAG=2,SIGMA_X_TAG=3,SIGMA_X2_TAG=4,SIGMA_Y_TAG=5,SIGMA_Y2_TAG=6,SIGMA_XY_TAG=7,SX_TAG=8,SY_TAG=9,SMLSIGMA_X_TAG=0xA,SMLSIGMA_Y_TAG=0xB,NSTAT_TAG=0xC,MINX_TAG=0xD,MINY_TAG=0xE,Q1_TAG=0xF,MEDSTAT_TAG=0x10,Q3_TAG=0x11,MAXX_TAG=0x12,MAXY_TAG=0x13,CORR_TAG=0x14,R2_TAG=0x15,MEDX1_TAG=0x16,MEDX2_TAG=0x17,MEDX3_TAG=0x18,MEDY1_TAG=0x19,MEDY2_TAG=0x1A,MEDY3_TAG=0x1B,XC_TAG=0x1C,YC_TAG=0x1D,ZC_TAG=0x1E,TC_TAG=0x1F,RC_TAG=0x20,THETA_C_TAG=0x21,NC_TAG=0x22,XFACT_TAG=0x23,YFACT_TAG=0x24,ZFACT_TAG=0x25,XMIN_TAG=0x26,XMAX_TAG=0x27,XSCL_TAG=0x28,YMIN_TAG=0x29,YMAX_TAG=0x2A,YSCL_TAG=0x2B,DELTA_X_TAG=0x2C,DELTA_Y_TAG=0x2D,XRES_TAG=0x2E,XGRID_TAG=0x2F,YGRID_TAG=0x30,ZMIN_TAG=0x31,ZMAX_TAG=0x32,ZSCL_TAG=0x33,EYE_THETA_TAG=0x34,EYE_PHI_TAG=0x35,THETA_MIN_TAG=0x36,THETA_MAX_TAG=0x37,THETA_STEP_TAG=0x38,TMIN_TAG=0x39,TMAX_TAG=0x3A,TSTEP_TAG=0x3B,NMIN_TAG=0x3C,NMAX_TAG=0x3D,PLOTSTRT_TAG=0x3E,PLOTSTEP_TAG=0x3F,ZXMIN_TAG=0x40,ZXMAX_TAG=0x41,ZXSCL_TAG=0x42,ZYMIN_TAG=0x43,ZYMAX_TAG=0x44,ZYSCL_TAG=0x45,ZXRES_TAG=0x46,Z_THETA_MIN_TAG=0x47,Z_THETA_MAX_TAG=0x48,Z_THETA_STEP_TAG=0x49,ZTMIN_TAG=0x4A,ZTMAX_TAG=0x4B,ZTSTEP_TAG=0x4C,ZXGRID_TAG=0x4D,ZYGRID_TAG=0x4E,ZZMIN_TAG=0x4F,ZZMAX_TAG=0x50,ZZSCL_TAG=0x51,ZEYE_THETA_TAG=0x52,ZEYE_PHI_TAG=0x53,ZNMIN_TAG=0x54,ZNMAX_TAG=0x55,ZPLTSTEP_TAG=0x56,ZPLTSTRT_TAG=0x57,SEED1_TAG=0x58,SEED2_TAG=0x59,OK_TAG=0x5A,ERRORNUM_TAG=0x5B,SYSMATH_TAG=0x5C,SYSDATA_TAG=0x5D,REGEQ_TAG=0x5E,REGCOEF_TAG=0x5F,TBLINPUT_TAG=0x60,TBLSTART_TAG=0x61,DELTA_TBL_TAG=0x62,FLDPIC_TAG=0x63,EYE_PSI_TAG=0x64,TPLOT_TAG=0x65,DIFTOL_TAG=0x66,ZEYE_PSI_TAG=0x67,T0_TAG=0x68,DTIME_TAG=0x69,NCURVES_TAG=0x6A,FLDRES_TAG=0x6B,ESTEP_TAG=0x6C,ZT0DE_TAG=0x6D,ZTMAXDE_TAG=0x6E,ZTSTEPDE_TAG=0x6F,ZTPLOTDE_TAG=0x70,NCONTOUR_TAG=0x71};
311enum TokenizeSymNameFlags{TSF_FULLY_QUALIFIED=0x01,TSF_ALLOW_RESERVED=0x02,TSF_PASS_ERRORS=0x04};
312enum ST_ACTIVITIES{ACTIVITY_IDLE,ACTIVITY_BUSY,ACTIVITY_PAUSED,ACTIVITY_NORMAL};
313enum WinFlags{WF_SYS_ALLOC=0x0001,WF_STEAL_MEM=0x0002,WF_DONT_REALLOC=0x0004,WF_ROUNDEDBORDER=0x0008,WF_SAVE_SCR=0x0010,WF_DUP_SCR=0x0020,WF_TTY=0x0040,WF_ACTIVE=0x0080,WF_NOBORDER=0x0100,WF_NOBOLD=0x0200,WF_DUP_ON=0x0400,WF_VIRTUAL=0x0800,WF_TITLE=0x1000,WF_DIRTY=0x2000,WF_TRY_SAVE_SCR=0x4010,WF_VISIBLE=0x8000};
314enum EventIDs{CM_NOTHING=0x0,CM_LAST_STRING_NUMBER=0x4ff,CM_FIRST_APP_ID=0x500,CM_FIRST_SYS_ID=0x700,CM_IDLE=0x700,CM_NULL=0x700,CM_INIT=0x701,CM_STARTTASK=0x702,CM_START=0x702,CM_ACTIVATE=0x703,CM_FOCUS=0x704,CM_UNFOCUS=0x705,CM_DEACTIVATE=0x706,CM_ENDTASK=0x707,CM_QUIT=0x707,CM_START_CURRENT=0x708,CM_RESTART=0x708,CM_APD=0x709,CM_OFF=0x70A,CM_ON=0x70B,CM_INSTALL=0x70C,CM_UNINSTALL=0x70D,CM_PACK=0x70E,CM_UNPACK=0x70F,CM_KEYPRESS=0x710,CM_KEY_PRESS=0x710,CM_MENU_CUT=0x720,CM_CUT=0x720,CM_MENU_COPY=0x721,CM_COPY=0x721,CM_MENU_PASTE=0x722,CM_PASTE=0x722,CM_STRING=0x723,CM_PASTE_STRING=0x723,CM_HSTRING=0x724,CM_PASTE_HANDLE=0x724,CM_DEL=0x725,CM_DELETE=0x725,CM_CLR=0x726,CM_CLEAR=0x726,CM_MENU_CLEAR=0x727,CM_CLEAR_ALL=0x727,CM_MENU_FIND=0x728,CM_FIND=0x728,CM_INSERT=0x730,CM_TOGGLE_INSERT=0x730,CM_BLINK=0x740,CM_CURSOR_FLASH=0x740,CM_STORE=0x750,CM_STO=0x750,CM_RECALL=0x751,CM_RCL=0x751,CM_WPAINT=0x760,CM_MENU_OPEN=0x770,CM_OPEN=0x770,CM_MENU_SAVE=0x771,CM_SAVE_AS=0x771,CM_MENU_NEW=0x772,CM_NEW=0x772,CM_MENU_FORMAT=0x773,CM_FORMAT=0x773,CM_MENU_ABOUT=0x774,CM_ABOUT=0x774,CM_MODE_CHANGE=0x780,CM_SWITCH_GRAPH=0x781,CM_DEFAULTS=0x782,CM_GEOMETRY=0x7C0,CM_OPEN_SYSDATA=0x7C0,CM_FIRST_APP_STRING=0x800};
315enum PaintFlags{PAINTING_ENABLED=0,PAINTING_SUSPENDED=2};
316enum StandardTaskIDs{AP_NULL=-3,AP_RUNNING=-2,AP_CURRENT=-1};
317enum StartTypes{AP_START_CURRENT=0,__AP_START_NEW_2=1,__AP_START_OPEN_2=2,__AP_START_ERROR_2=3,__AP_START_NEW_1=0x10,__AP_START_OPEN_1=0x20,__AP_START_ERROR_1=0x30};
318enum GraphModes{GR_FUNC=1,GR_PAR=2,GR_POL=3,GR_SEQ=4,GR_3D=5,GR_DE=6};
319enum 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};
320enum BoxAttrs{B_NORMAL=0x10,B_ROUNDED=0x20,B_DOUBLE=0x40,B_CUT=0x80};
321enum Fonts{F_4x6,F_6x8,F_8x10};
322enum IntVecs{AUTO_INT_1=0x64,AUTO_INT_2=0x68,AUTO_INT_3=0x6C,AUTO_INT_4=0x70,AUTO_INT_5=0x74,AUTO_INT_6=0x78,AUTO_INT_7=0x7C,TRAP_0=0x80,TRAP_1=0x84,TRAP_2=0x88,TRAP_3=0x8C,TRAP_4=0x90,TRAP_5=0x94,TRAP_6=0x98,TRAP_7=0x9C,TRAP_8=0xA0,TRAP_9=0xA4,TRAP_10=0xA8,TRAP_11=0xAC,TRAP_12=0xB0,TRAP_13=0xB4,TRAP_14=0xB8,TRAP_15=0xBC,INT_VEC_RESET=0x04,INT_VEC_BUS_ERROR=0x08,INT_VEC_ADDRESS_ERROR=0x0C,INT_VEC_ILLEGAL_INSTRUCTION=0x10,INT_VEC_ZERO_DIVIDE=0x14,INT_VEC_CHK_INS=0x18,INT_VEC_TRAPV_INS=0x1C,INT_VEC_PRIVILEGE_VIOLATION=0x20,INT_VEC_TRACE=0x24,INT_VEC_LINE_1010=0x28,INT_VEC_LINE_1111=0x2C,INT_VEC_UNINITIALIZED_INT=0x3C,INT_VEC_SPURIOUS_INT=0x60,INT_VEC_KEY_PRESS=0x68,INT_VEC_LINK=0x70,INT_VEC_ON_KEY_PRESS=0x78,INT_VEC_STACK_OVERFLOW=0x7C,INT_VEC_INT_MASK=0x84,INT_VEC_MANUAL_RESET=0x88,INT_VEC_OFF=0x90,INT_VEC_SELF_TEST=0xA8,INT_VEC_ARCHIVE=0xAC,INT_VEC_ER_THROW=0xBC};
323enum Arrows{ARROW_UP=1,ARROW_LEFT=2,ARROW_DOWN=3,ARROW_RIGHT=4};
324enum 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};
325enum StatKeys{STAT_2ND=1,STAT_DIAMOND=2,STAT_SHIFT=3,STAT_HAND=4};
326enum DynMenuFlags{DMF_TEXT=0x0001,DMF_ICON=0x0002,DMF_BITMAP=0x0004,DMF_CHILD_SUB=0x1000,DMF_CHILD=0x2000,DMF_TOP_SUB=0x4000,DMF_TOP=0x8000};
327enum ItemTypes{MT_TEXT=0x8000,MT_XREF=0x9000,MT_ICON=0xA000,MT_CASCADE=0x4000};
328enum MenuBeginFlags{MBF_WITHICON=0x01,MBF_REDEF=0x02,MBF_SYS_ALLOC=0x04,MBF_MAX_MENU_WIDTH=0x08,MBF_STRIKEOUT=0x10,MBF_HMENU=0x20,MBF_NO_DRAWTOP=0x40};
329enum MenuCheckCmds{MC_CHECK=0,MC_UNCHECK=1,MC_STATUS=2,MC_FLIP=3};
330enum 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};
331enum MenuKeyValues{M_NOITEM=0,M_NOTMENUKEY=-2};
332enum VCFPFlags{VCFP_ALL=0x01,VCFP_SKIP_CURDIR=0x02};
333enum SprtModes{SPRT_XOR,SPRT_OR,SPRT_AND};
334enum ST_FLAGS{ST_IDLE=0,ST_BUSY=1,ST_PAUSE=2,ST_CLEAR=3,ST_NORMAL=3,ST_NOTHING=0,ST_BATT=1,ST_BATT_DARK=2,ST_BATT_OK=0,ST_BATT_LOW=1,ST_BATT_REPLACE=2,ST_RAD=0,ST_DEG=1,ST_FUNC=0,ST_PAR=2,ST_POL=3,ST_SEQ=4,ST_3D=5,ST_DE=6,ST_NONE=0,ST_2ND=1,ST_SHIFT=2,ST_DIAMOND=4,ST_ALPHA=8,ST_SH_A_LOCK=16,ST_A_LOCK=32,ST_AUTO=0,ST_EXACT=1,ST_APPROX=2};
335enum FileFlags{_F_READ=0x0001,_F_WRIT=0x0002,_F_RDWR=0x0003,_F_ERR=0x0010,_F_EOF=0x0020,_F_BIN=0x0040};
336enum SeekModes{SEEK_SET,SEEK_CUR,SEEK_END};
337enum Timers{BATT_TIMER=1,APD_TIMER=2,LIO_TIMER=3,CURSOR_TIMER=4,MISC_TIMER=5,USER_TIMER=6};
338
339#define H_NULL 0
340#define NULL ((void*)0)
341#define CENTER (-1)
342
343#define AMS_1xx ((_ram_call(14,unsigned short)&0x0F00)==0x100)
344#define AMS_2xx ((_ram_call(14,unsigned short)&0x0F00)==0x200)
345#define AMS_3xx ((_ram_call(14,unsigned short)&0x0F00)==0x300)
346
347/* Define tigcc internal functions */
348extern unsigned short _rowread(short asm("d0"))__ATTR_LIB_ASM__;
349extern long labs(long)__ATTR_GCC__;
350extern float atof(const char*)__ATTR_LIB_ASM__;
351extern __HS_pushEmptyFIFONode__type__ __get_HS_pushEmptyFIFONode(void)__ATTR_LIB_C__;
352extern void HomeStore(void)__ATTR_LIB_ASM__;
353extern void HomeStorePair(HANDLE,HANDLE)__ATTR_LIB_C__;
354extern void __attribute__((__may_alias__)) __dummy_handler__;
355extern unsigned char PRG_getStart(void)__ATTR_LIB_C__;
356extern void push_longint(long)__ATTR_LIB_ASM__;
357extern void push_longlongint(long long)__ATTR_LIB_ASM__;
358extern void *calloc(short asm("d0"),short asm("d1"))__ATTR_LIB_ASM__;
359void *alloca(long)__ATTR_GCC__;
360extern void *calloc_throw(short asm("d0"),short asm("d1"))__ATTR_LIB_ASM__;
361extern void *HeapAllocPtrThrow(long asm("a0"))__ATTR_LIB_ASM__;
362extern HANDLE HeapReallocThrow(HANDLE asm("d0"),long asm("a0"))__ATTR_LIB_ASM__;
363extern void *malloc_throw(long asm("a0"))__ATTR_LIB_ASM__;
364extern void *realloc(void* asm("a0"),long asm("d0"))__ATTR_LIB_ASM__;
365extern void *realloc_throw(void* asm("a0"),long asm("d0"))__ATTR_LIB_ASM__;
366extern void __assertion_failed(const char*,const char*,short)__ATTR_LIB_ASM_NORETURN__;
367extern char _extalnum_list[];
368extern char _extpunct_list[];
369extern short NoCallBack(short,long)__ATTR_TIOS_CALLBACK__;
370extern void push_shortint(short)__ATTR_LIB_ASM__;
371extern short EV_getAppID(const char* asm("a0"))__ATTR_LIB_ASM__;
372extern float __BC()__ATTR_LIB_ASM__;
373extern void Sprite8(short,short,short,unsigned char*,void*,short)__ATTR_LIB_C__;
374extern void Sprite16(short,short,short,unsigned short*,void*,short)__ATTR_LIB_C__;
375extern void Sprite32(short,short,short,unsigned long*,void*,short)__ATTR_LIB_C__;
376extern char *gets(char* asm("a2"))__ATTR_LIB_ASM__;
377extern char *getsn(char* asm("a2"),long asm("d3"))__ATTR_LIB_ASM__;
378extern void printf(const char*,...)__ATTR_TIOS__;
379extern void puts(const char*)__ATTR_LIB_ASM__;
380extern short rename(const char*,const char*)__ATTR_LIB_C__;
381extern void cbprintf(vcbprintf_Callback_t,void**,const char*,...)__ATTR_TIOS__;
382extern short cbscanf(vcbscanf_get_Callback_t asm("a0"),vcbscanf_unget_Callback_t asm("a1"),void* asm("a2"),const char* asm("a3"),...)__ATTR_LIB_ASM__;
383extern void clrscr(void)__ATTR_LIB_ASM__;
384extern short fclose(FILE*)__ATTR_LIB_C__;
385extern short fgetc(FILE*)__ATTR_LIB_C__;
386extern short fgetchar(void)__ATTR_LIB_ASM__;
387extern char *fgets(char*,short,FILE*)__ATTR_LIB_C__;
388extern FILE *fopen(const char*,const char*)__ATTR_LIB_C__;
389extern short fprintf(FILE*,const char*,...)__ATTR_TIOS__;
390extern short fputc(short,FILE*)__ATTR_TIOS_CALLBACK__;
391extern short fputchar(short)__ATTR_TIOS_CALLBACK__;
392extern short fputs(const char*,FILE*)__ATTR_LIB_ASM__;
393extern unsigned short fread(void*,short,short,FILE*)__ATTR_LIB_C__;
394extern short fseek(FILE*,long,short)__ATTR_LIB_C__;
395extern void fsetbufsize(short,FILE*)__ATTR_LIB_C__;
396extern long ftell(const FILE*)__ATTR_LIB_C__;
397extern unsigned short fwrite(const void*,short,short,FILE*)__ATTR_LIB_C__;
398extern void strputchar(char,void**)__ATTR_TIOS_CALLBACK__;
399extern char *tmpnam(char*)__ATTR_LIB_C__;
400extern short unlink(const char*)__ATTR_LIB_C__;
401extern short vcbscanf(vcbscanf_get_Callback_t asm("a0"),vcbscanf_unget_Callback_t asm("a1"),void* asm("a2"),const char* asm("a3"),va_list asm("a4"))__ATTR_LIB_ASM__;
402extern CALLBACK short __fscanf_get(FILE *param);
403extern CALLBACK void __fscanf_unget(short c, FILE *param);
404extern CALLBACK short __sscanf_get(__sscanf_string *param);
405extern CALLBACK void __sscanf_unget(short c, __sscanf_string *param);
406extern long __randseed;
407extern short atoi(const char*)__ATTR_LIB_C__;
408extern long atol(const char*)__ATTR_LIB_C__;
409extern void *bsearch(const void*,const void*,short,short,compare_t)__ATTR_LIB_C__;
410extern void qsort(void*,short,short,compare_t)__ATTR_LIB_C__;
411extern short rand(void)__ATTR_LIB_ASM__;
412extern long strtol(const char*,char**,short)__ATTR_LIB_C__;
413extern unsigned long strtoul(const char*,char**,short)__ATTR_LIB_C__;
414extern short OSVFreeTimer(short asm("d0"))__ATTR_LIB_ASM__;
415extern short OSVRegisterTimer(short asm("d0"),long asm("d3"),Timer_Callback_t asm("d4"))__ATTR_LIB_ASM__;
416extern void *kbd_queue(void)__ATTR_LIB_ASM__;
417
418/* These constants are needed for use in "asm" statements */
419asm(".set MT_TEXT,0x8000");
420asm(".set MT_XREF,0x9000");
421asm(".set MT_ICON,0xA000");
422asm(".set MT_CASCADE,0x4000");
423
424/* Define kernel functions */
425#define Idle            _RAM_CALL_15
426#define kernel_Idle     Idle
427extern  void    Idle(void);
428#define kernel_Exec     _RAM_CALL_16
429extern  short kernel_Exec(HANDLE hd asm("d0"));
430#define kernel_Ptr2Hd   _RAM_CALL_17
431extern  HANDLE kernel_Ptr2Hd(void *ptr asm("a0"));
432#define kernel_Hd2Sym   _RAM_CALL_18
433extern  SYM_ENTRY *kernel_Hd2Sym(HANDLE hd asm("d0"));
434typedef struct _LibRef LibRef;
435#define kernel_LibsBegin _RAM_CALL_19
436LibRef *kernel_LibsBegin(char *libname asm("a0"), unsigned char version asm("d1"));
437#define kernel_LibsEnd  _RAM_CALL_1A
438void kernel_LibsEnd(LibRef *lib asm("a0"));
439#define kernel_LibsPtr  _RAM_CALL_1C
440void *kernel_LibsPtr(LibRef *lib asm("a0"), short function asm("d0"));
441#define kernel_LibsCall _RAM_CALL_1B
442__attribute__((__stkparm__)) unsigned long kernel_LibsCall(LibRef *lib, short function, ...);
443#define kernel_LibsExec _RAM_CALL_1D
444__attribute__((__stkparm__)) void kernel_LibsExec(char *name, short function, char version, ...);
445#define kernel_HdKeep   _RAM_CALL_1E
446void    kernel_HdKeep(HANDLE hd asm("d0"));
447#define kernel_ExtractFromPack  _RAM_CALL_1F
448HANDLE  kernel_ExtractFromPack(void *pack asm("a5"), short index asm("d0"));
449#define kernel_ExtractFile      _RAM_CALL_20
450HANDLE  kernel_ExtractFile(const char *name asm("a2"));
451#define kernel_ExtractFileFromPack      _RAM_CALL_29
452HANDLE  kernel_ExtractFileFromPack(HANDLE hd asm("d0"), const char *name asm("a2"));
453#define exit    _RAM_CALL_2A
454void    exit(int c asm("d0"));
455#define atexit  _RAM_CALL_2B
456int     atexit(void (*func)(void) asm("a0"));
457#define kernel_RegisterVector _RAM_CALL_2C
458void    kernel_RegisterVector (unsigned short vect asm("d0"), const void *func asm("a0"));
459#define kernel_SystemDir _RAM_CALL_2F
460extern const char kernel_SystemDir[];
461
462/* Define Alloc functions */
463// HEADER: alloc.h
464
465/* Define args functions */
466// HEADER: args.h
467
468// MISSING-HEADER: asmtypes.h
469
470/* Define assert conditions */
471// HEADER: assert.h
472
473/* bascmd */
474// HEADER: bascmd.h
475
476/* basfunc.h */
477// HEADER: basfunc.h
478
479/* basop.h */
480// HEADER: basop.h
481
482/* cert.h */
483// HEADER: cert.h
484
485// NON-INCLUED-HEADER-FOR-NOW: compat.h
486
487/* ctype */
488// HEADER: ctype.h
489
490// NON-INCLUED-HEADER-FOR-NOW: default.h
491
492/* Dialog.h */
493// HEADER: dialog.h
494
495// NON-INCLUED-HEADER: dll.h
496
497// INCOMPATIBLE-HEADER: doors.h
498
499/* error.h */
500// HEADER: error.h
501
502/* estack */
503// HEADER: estack.h
504
505/* events */
506// HEADER: events.h
507
508/* Flash */
509// HEADER: flash.h
510
511/* Float */
512// HEADER: float.h
513
514// HEADER: timath.h
515
516/* Draw */
517// HEADER: gdraw.h
518
519// HEADER: graph.h
520
521// MISSING-HEADER: graphing.h
522
523/* Home screen */
524// HEADER: homescr.h
525
526/* Int */
527// HEADER: intr.h
528
529/* Keyboard */
530// HEADER: kbd.h
531
532/* Limits */
533// HEADER: limits.h
534
535/* Link */
536// HEADER: link.h
537
538// MISSING-HEADER-MAYBE: mem.h
539
540/* menus */
541// HEADER: menus.h
542
543/* Peek poke */
544// HEADER: peekpoke.h
545
546// NON-INCLUED-HEADER: nostub.h
547
548// HEADER-TO-BE-MERGED-WITH-HERE-DEFINITIONS: romsymb.h
549
550/* RSA */
551// HEADER: rsa.h
552
553// HEADER: setjmp.h
554
555// HEADER: sprites.h
556
557/* statlines */
558// HEADER: statline.h
559
560/* Std*/
561// HEADER: stdarg.h
562// HEADER: stddef.h
563// MISSING-HEADER: stdint.h
564
565/* stdio */
566// HEADER: stdio.h
567
568/* stdlib */
569// HEADER: stdlib.h
570// TODO: modify the #ifndef DOORS
571
572/* string */
573// HEADER: string.h
574
575/* system */
576// HEADER: system.h
577
578/* Text Edit */
579// HEADER: textedit.h
580
581/* Timath */
582
583// MISSING-HEADER: unknown.h
584
585// MISSING-HEADER: values.h
586
587/* Define VAT functions */
588// HEADER: vat.h
589
590// MISSING-HEADER-MAYBE: version.h
591
592/* Windows */
593// HEADER: wingraph.h
594
595/* Define graphlib functions */
596asm("graphlib__version02: .xdef graphlib__version02");
597
598#define graphlib_fill graphlib__0000
599void    graphlib_fill(unsigned short x asm("d0"), unsigned short y asm("d1"), unsigned short width asm("d2"), unsigned short height asm("d3"), unsigned short color asm("d4"));
600
601#define graphlib_put_sprite graphlib__0001
602void    graphlib_put_sprite(unsigned short x asm("d0"), unsigned short y asm("d1"), void *sprite asm("a0"));
603
604#define graphlib_put_sprite2 graphlib__000C
605void    graphlib_put_sprite2(unsigned short x asm("d0"), unsigned short y asm("d1"), void *sprite asm("a0"), unsigned char *mask asm("a2"));
606
607#define graphlib_put_sprite_mask graphlib__000B
608void    graphlib_put_sprite_mask(unsigned short x asm("d0"), unsigned short y asm("d1"), unsigned char mask asm("d3"), void *sprite asm("a0"));
609
610#define graphlib_smallbox graphlib__0002
611void    graphlib_smallbox(char *title asm("a0"));
612
613#define graphlib_box graphlib__0003
614void    graphlib_box(unsigned short x asm("d0"), unsigned short y asm("d1"), unsigned short width asm("d2"), unsigned short height asm("d3"), char *title asm("a0"));
615
616#define graphlib_frame graphlib__0004
617void    graphlib_frame(unsigned short x asm("d0"), unsigned short y asm("d1"), unsigned short width asm("d4"), unsigned short height asm("d5"));
618
619#define graphlib_clrscr graphlib__0005
620void    graphlib__clrscr();
621
622#define graphlib_clrscr2 graphlib__0014
623void    graphlib__clrscr2();
624
625#define graphlib_vert graphlib__0006
626void    graphlib_vert(unsigned short x asm("d0"), unsigned short y1 asm("d1"), unsigned short y2 asm("d2"));
627
628#define graphlib_horiz graphlib__0007
629void    graphlib_horiz(unsigned short x1 asm("d0"), unsigned short y asm("d1"), unsigned short x2 asm("d2"), unsigned short color asm("d3"));
630
631#define graphlib_bigbox graphlib__0008
632void    graphlib_bigbox(char *title asm("a0"));
633
634#define _graphlib_scrtomem graphlib__0009
635void    _graphlib_scrtomem(unsigned short x asm("d0"), unsigned short y asm("d1"), unsigned short width asm("d2"), unsigned short height asm("d3"));
636#define graphlib_scrtomem(_x, _y, _height, _width) ({register unsigned short __d4 asm("d4"); _graphlib_scrtomem(_x, _y, _height, _width); __d4;})
637
638#define graphlib_memtoscr graphlib__000A
639void    graphlib_memtoscr(unsigned short x asm("d0"), unsigned short y asm("d1"), unsigned short width asm("d2"), unsigned short height asm("d3"), HANDLE hd asm("d4"));
640
641#define graphlib_line graphlib__0017
642void    graphlib_line(unsigned short x1 asm("d0"), unsigned short y1 asm("d1"), unsigned short x2 asm("d2"), unsigned short y2 asm("d3"), void *screen asm("a0"));
643
644#define graphlib_choosescreen graphlib__000D
645extern unsigned short graphlib_choosescreen;
646
647typedef struct {
648        unsigned short x1;
649        unsigned short y1;
650        unsigned short x2;
651        unsigned short y2;
652        unsigned short x;
653        unsigned short y;
654        char    *str;
655        } dialog_struct;
656#define graphlib_show_dialog graphlib__0015
657void    graphlib_show_dialog(dialog_struct *d asm("a6"));
658
659#define graphlib_clear_dialog graphlib__0016
660void    graphlib_clear_dialog();
661
662#define graphlib_erase_rect graphlib__0018
663void    graphlib_erase_rect(void *r);
664
665#define graphlib_frame_rect graphlib__0019
666void    graphlib_frame_rect(void *r);
667
668#define graphlib_gray2 graphlib__000E
669void    graphlib_gray2();
670
671#define graphlib_gray4 graphlib__000F
672void    graphlib_gray4();
673
674#define graphlib_gray7 graphlib__0010
675void    graphlib_gray7();
676
677#define graphlib_plane0 graphlib__0011
678#define graphlib_plane1 graphlib__0012
679#define graphlib_plane2 graphlib__0013
680extern unsigned char *graphlib_plane0;
681extern unsigned char *graphlib_plane1;
682extern unsigned char *graphlib_plane2;
683
684/* Define userlib functions */
685asm("userlib__version02: .xdef userlib__version02");
686
687#define userlib_idle_loop userlib__0000
688short   userlib_idle_loop();
689#define userlib_random  userlib__0001
690short   userlib_random(short limit asm("d0"));
691#define userlib_randseed userlib__0002
692extern  short   userlib__randseed;
693#define userlib_exec userlib__0003
694__attribute__((__stkparm__)) short      userlib_exec(HANDLE handle);
695#define userlib_inputstr userlib__0006
696char    *userlib_inputstr(short x asm("d1"), short y asm("d2"), short maxlen asm("d3"));
697#define userlib_smallmenu userlib__000C
698short   userlib_samllmenu(short x asm("d0"), short y asm("d1"), char nbitem asm("d2"), char *str_list asm("a0"));
699#define userlib_runprog userlib__0010
700short   userlib_runprog(char *progname asm("a0"));
701
702// Hexlib
703asm("hexlib__version01: .xdef hexlib__version01");
704
705#define hexlib_put_char hexlib__0000
706void    hexlib_put_char(long x asm("d2"), long y asm("d1"), long character asm("d0"));
707#define hexlib_put_bin  hexlib__0001
708void    hexlib_put_bin(long x asm("d2"), long y asm("d1"), long number asm("d0"), long digits asm("d4"));
709#define hexlib_put_hex  hexlib__0002
710void    hexlib_put_hex(long x asm("d2"), long y asm("d1"), long number asm("d0"), long digits asm("d4"));
711
712// Shrnklib
713asm("shrnklib__version03: .xdef shrnklib__version03");
714
715#define shrnklib_OpenArchive    shrnklib__0000
716HANDLE  shrnklib_OpenArchive(void *archive asm("a0"));
717#define shrnklib_CloseArchive   shrnklib__0001
718void    shrnklib_CloseArchive(HANDLE arch_hd asm("d0"));
719#define shrnklib_Extract        shrnklib__0002
720void    *shrnklib_Extract(HANDLE arch_hd asm("d0"), short index asm("d1"), void *dest asm("a0"));
721#define shrnklib_Free(ptr) HeapFree(HeapPtrToHandle(ptr))
722
723//Ziplib
724asm("ziplib__version01: .xdef ziplib__version01");
725
726#define ziplib_check_cmem       ziplib__0000
727short   ziplib_check_cmem(void *data asm("a0"), unsigned short len asm("d0"));
728#define ziplib_check_emem       ziplib__0001
729short   ziplib_check_emem(void *archive asm("a0"));
730#define ziplib_eval_cmem        ziplib__0002
731short   ziplib_eval_cmem(void *data asm("a0"), unsigned short len asm("d0"));
732#define ziplib_eval_emem        ziplib__0003
733short   ziplib_eval_emem(void *archive asm("a0"));
734#define ziplib_compress ziplib__0004
735short   ziplib_compress(void *data asm("a0"), unsigned short len asm("d0"), void *dest asm("a1"));
736#define ziplib_extract  ziplib__0005
737short   ziplib_extract(void *archive asm("a0"), void *dest asm("a1"));
738#define ziplib_zipfile  ziplib__0006
739char    ziplib_zipfile(SYM_ENTRY *sym asm("a0"), char comment asm("d0"));
740#define ziplib_iscomp   ziplib__000B
741short   ziplib_iscomp(SYM_ENTRY *sym asm("a0"));
742#define _ziplib_tempfile        ziplib__0007
743long long _ziplib_tempfile(SYM_ENTRY *sym asm("a0"), char comment asm("d1"));
744#define ziplib_tempfile(sym, comment) ({long long result__ = _ziplib_tempfile(sym, comment); (char)(result__>>32)?-(short)(char)(result__>>32):(short)result__;})
745#define ziplib_extract_string   ziplib__0008
746void    ziplib_extract_string(void *archive asm("a0"), short arch_index asm("d3"), short str_index asm("d4"), void *dest asm("a1"));
747#define ziplib_write_string     ziplib__0009
748void    ziplib_write_string(void *archive asm("a0"), short x asm("d0"), short y asm("d1"), short arch_index asm("d3"), short str_index asm("d4"));
749#define ziplib_write_string_inv ziplib__000A
750void    ziplib_write_string_inv(void *archive asm("a0"), short x asm("d0"), short y asm("d1"), short arch_index asm("d3"), short str_index asm("d4"));
751
752#endif
753