Ti Constructor
 
Loading...
Searching...
No Matches
ti83plus.h
Go to the documentation of this file.
1#pragma once
21#ifndef DOXYGEN
22
24
25
26//System Variable Equates
27//------------------------------
28#define XSCLt 2
29#define YSCLt 3
30#define XMINt 0x0A
31#define XMAXt 0x0B
32#define YMINt 0x0C
33#define YMAXt 0x0D
34#define TMINt 0x0E
35#define TMAXt 0x0F
36#define THETMINt 0x10
37#define THETMAXt 0x11
38#define TBLMINt 0x1A
39#define PLOTSTARTt 0x1B
40#define NMAXt 0x1D
41#define NMINt 0x1F
42#define TBLSTEPt 0x21
43#define TSTEPt 0x22
44#define THETSTEPt 0x23
45#define DELTAXt 0x26
46#define DELTAYt 0x27
47#define XFACTt 0x28
48#define YFACTt 0x29
49#define FINNt 0x2B
50#define FINIt 0x2C
51#define FINPVt 0x2D
52#define FINPMTt 0x2E
53#define FINFVt 0x2F
54#define FINPYt 0x30
55#define FINCYt 0x31
56#define PLOTSTEPt 0x34
57#define XRESt 0x36
58
59//Run indicators
60//------------------------------------
61#define busyPause 0b10101010
62#define busyNormal 0b11110000
63
64//Banked Call Equates/Macros
65//-----------------------------------------------
66#define rBR_CALL 0x28
67#define BRT_JUMP0 0x50
68// OMITED LINE: #define bcall(xxxx) rst 28h \ .dw xxxx
69// OMITED LINE: #define bjump(xxxx) call 50h \ .dw xxxx
70
71//Common Restart Routines
72//------------------------------
73#define rOP1TOOP2 0x08
74#define rFINDSYM 0x10
75#define rPUSHREALO1 0x18
76#define rMOV9TOOP1 0x20
77#define rFPADD 0x30
78
79//Error Handler Equates/Macros
80//-------------------------------------------
81#define APP_PUSH_ERRORH 0x59
82#define APP_POP_ERRORH 0x5C
83// OMITED LINE: #define AppOnErr(xxxx) ld hl,xxxx \ call 59h
84// OMITED LINE: #define AppOffErr call 5Ch
85
86//Page 1Bh ROM Calls
87//--------------------------------
88#define _JErrorNo 0x4000
89#define _FontHook 0x4003
90#define _call_character_hook 0x4006 //calls character(localize) hook
91#define _ldHLind 0x4009 //l=a=(hl),h=(hl+1)
92#define _CpHLDE 0x400C
93#define _DivHLBy10 0x400F
94#define _DivHLByA 0x4012
95#define _kdbScan 0x4015
96#define _GetCSC 0x4018 //key board scan codes
97#define _coorMon 0x401B //
98#define _Mon 0x401E //system monitor, customized through the context vectors
99#define _monForceKey 0x4021 //
100#define _sendKPress 0x4024
101#define _JForceCmdNoChar 0x4027
102#define _JForceCmd 0x402A //
103#define _sysErrHandler 0x402D //loads error context? sp=(onSP)
104#define _newContext 0x4030 //(kbdKey)=0, loads context, restores page in 4000h-7fffh
105#define _newContext0 0x4033 //loads context
106#define _cxPutAway 0x4036 //
107#define _cxPutAway2 0x4039 //same but also does a B_CALL CanAlphIns
108#define _cxPPutAway 0x403C
109#define _cxSizeWind 0x403F
110#define _cxErrEP 0x4042
111#define _cxMain 0x4045
112#define _monErrHand 0x4048 //installs errorhandler to start of ROM call, loads error context, jumps to mon
113#define _AppInit 0x404B //loads vector data at hl to cxMain and the rest of the vectors
114#define _resetRam 0x404E
115#define _lcd_busy 0x4051 //wait till bit 1 of port 2 is set
116#define _Min 0x4054 //op1 = lowest number between op1 and op2
117#define _Max 0x4057 //op1 = highest number between op1 and op2
118#define _Trunc 0x4060
119#define _InvSub 0x4063
120#define _Times2 0x4066
121#define _Plus1 0x4069 //op1=op1+1
122#define _Minus1 0x406C
123#define _FPSub 0x406F
124#define _FPAdd 0x4072
125#define _DToR 0x4075
126#define _RToD 0x4078
127#define _Cube 0x407B
128#define _TimesPt5 0x407E
129#define _FPSquare 0x4081
130#define _FPMult 0x4084 //op1=op1*op2
131#define _LJRND 0x4087 //adjusts op1 if 0s precede the actual number... rounding? when
132#define _InvOP1SC 0x408A
133#define _InvOP1S 0x408D
134#define _InvOP2S 0x4090
135#define _frac 0x4093
136#define _fprecip 0x4096
137#define _fpdiv 0x4099
138#define _SqRoot 0x409C
139#define _RndGuard 0x409F
140#define _RnFx 0x40A2
141#define _int 0x40A5
142#define _Round 0x40A8
143#define _LnX 0x40AB
144#define _LogX 0x40AE
145#define _LJNORND 0x40B1 //like _LJRND but no rounding
146#define _EToX 0x40B4
147#define _TenX 0x40B7
148#define _SinCosRad 0x40BA
149#define _Sin 0x40BD
150#define _cos 0x40C0
151#define _Tan 0x40C3
152#define _SinHCosH 0x40C6
153#define _TanH 0x40C9
154#define _cosh 0x40CC
155#define _SinH 0x40CF
156#define _ACosRad 0x40D2
157#define _ATanRad 0x40D5
158#define _ATan2Rad 0x40D8
159#define _ASinRad 0x40DB
160#define _ACos 0x40DE
161#define _ATan 0x40E1
162#define _ASin 0x40E4
163#define _ATan2 0x40E7
164#define _ATanH 0x40EA
165#define _ASinH 0x40ED
166#define _ACosH 0x40F0
167#define _PtoR 0x40F3
168#define _RToP 0x40F6
169#define _HLTimes9 0x40F9
170#define _CkOP1Cplx 0x40FC
171#define _CkOP1Real 0x40FF
172#define _Angle 0x4102
173#define _COP1Set0 0x4105
174#define _CpOP4OP3 0x4108
175#define _Mov9OP2Cp 0x410B
176#define _AbsO1O2Cp 0x410E
177#define _cpop1op2 0x4111
178#define _OP3ToOP4 0x4114
179#define _OP1ToOP4 0x4117
180#define _OP2ToOP4 0x411A
181#define _OP4ToOP2 0x411D
182#define _OP1ToOP3 0x4123
183#define _OP5ToOP2 0x4126
184#define _OP5ToOP6 0x4129
185#define _OP5ToOP4 0x412C
186#define _OP1ToOP2 0x412F
187#define _OP6ToOP2 0x4132
188#define _OP6ToOP1 0x4135
189#define _OP4ToOP1 0x4138
190#define _OP5ToOP1 0x413B
191#define _OP3ToOP1 0x413E
192#define _OP6ToOP5 0x4141
193#define _OP4ToOP5 0x4144
194#define _OP3ToOP5 0x4147
195#define _OP2ToOP5 0x414A
196#define _OP2ToOP6 0x414D
197#define _OP1ToOP6 0x4150
198#define _OP1ToOP5 0x4153
199#define _OP2ToOP1 0x4156
200#define _Mov11B 0x4159
201#define _Mov10B 0x415C
202#define _Mov9B 0x415F
203#define _mov9B2 0x4162 //points to _mov9B
204#define _Mov8B 0x4165
205#define _Mov7B 0x4168
206#define _Mov7B2 0x416B //same pointer as _Mov7B
207#define _OP2ToOP3 0x416E
208#define _OP4ToOP3 0x4171
209#define _OP5ToOP3 0x4174
210#define _OP4ToOP6 0x4177
211#define _Mov9ToOP1 0x417A
212#define _Mov9OP1OP2 0x417D
213#define _Mov9ToOP2 0x4180
214#define _MovFrOP1 0x4183
215#define _OP4Set1 0x4186
216#define _OP3Set1 0x4189
217#define _OP2Set8 0x418C
218#define _OP2Set5 0x418F
219#define _OP2SetA 0x4192
220#define _OP2Set4 0x4195
221#define _OP2Set3 0x4198
222#define _OP1Set1 0x419B
223#define _OP1Set4 0x419E
224#define _OP1Set3 0x41A1
225#define _OP3Set2 0x41A4
226#define _OP1Set2 0x41A7
227#define _OP2Set2 0x41AA
228#define _OP2Set1 0x41AD
229#define _Zero16D 0x41B0
230#define _OP5Set0 0x41B3
231#define _OP4Set0 0x41B6
232#define _OP3Set0 0x41B9
233#define _OP2Set0 0x41BC
234#define _OP1Set0 0x41BF
235#define _OPSet0 0x41C2 //hl = location to write floating point 0
236#define _ZeroOP1 0x41C5
237#define _ZeroOP2 0x41C8
238#define _ZeroOP3 0x41CB
239#define _ZeroOP 0x41CE
240#define _ClrLp 0x41D1
241#define _ShRAcc 0x41D4 //move high nibble in a to low nibble
242#define _ShLAcc 0x41D7 //move low nibble in a to high nibble
243#define _ShR18 0x41DA //insert a 0 nibble at high nibble of (hl), shift 9 bytes 1 nibble to right
244#define _SHR18A 0x41DD //insert low nibble in a at high nibble of (hl), shift 9 bytes 1 nibble to right
245#define _SHR16 0x41E0 //insert a 0 nibble at highnibble of (hl), shift 8 bytes 1 nibble to right
246#define _SHR14 0x41E3 //insert low nibble in a at high nibble of (hl), shift 7 bytes 1 nibble to right
247#define _SHL16 0x41E6 //insert nibble of 0 in low nibble of (hl), shift 8 bytes (before and including (hl)) to the left 1 nibble
248#define _SHL14 0x41E9 //insert low nibble of a in low nibble of (hl), shift 7 bytes (before and including (hl)) to the left 1 nibble
249#define _SRDO1 0x41EC
250#define _SHRDRND 0x41EF
251#define _MANTPA 0x41F2 //adds the value of a to hl which points to the end of the bcd 7 bytes long
252#define _ADDPROP 0x41F5 //adds the value of a to hl which points to the end of the bcd (b bytes long)
253#define _ADDPROPLP 0x41F8 //adds the value of a and carry to hl which points to the end of the bcd (b bytes long)
254#define _ADD16D 0x41FB //adds the bcd numbers at (hl-7) and (de-7)
255#define _ADD14D 0x41FE //adds the bcd numbers at (hl-6) and (de-6)
256#define _SUB16D 0x4201 //subtracts bcd numbers at (hl-7) and (de-7)
257#define _SUB14D 0x4204 //subtracts bcd numbers at (hl-6) and (de-6)
258#define _OP2ExOP6 0x4207
259#define _OP5ExOP6 0x420A
260#define _OP1ExOP5 0x420D
261#define _OP1ExOP6 0x4210
262#define _OP2ExOP4 0x4213
263#define _OP2ExOP5 0x4216
264#define _OP1ExOP3 0x4219
265#define _OP1ExOP4 0x421C
266#define _OP1ExOP2 0x421F
267#define _ExLp 0x4222
268#define _CkOP1C0 0x4225
269#define _CkOP1FP0 0x4228
270#define _CkOP2FP0 0x422B
271#define _PosNo0Int 0x422E
272#define _CKPosInt 0x4231
273#define _CKInt 0x4234
274#define _CKOdd 0x4237
275#define _CKOP1M 0x423A
276#define _GETCONOP1 0x423D //a=0 opX=57.29577951308232 (1 radian in degrees)
277#define _GETCONOP2 0x4240 //a=1 opX=1.570796326794897 (90 deg = pi/2)
278//a=2 opX=.7853981633974483 (45 deg = pi/4)
279//a=3 opX=.4342944819032518 (log e)
280//a=4 opX=3.141592653589800 (pi)
281//a=5 opX=.0174532925199433 (pi/180 = 1 degree in radians)
282//a=6 opX=2.302585092994046 (ln 10)
283#define _PIDIV2 0x4243 //not code, but a pointer to: .db 80h,15h,70h,79h,63h,26h,79h,48h,97h
284#define _PIDIV4 0x4246 // .db 7fh,78h,53h,98h,16h,33h,97h,44h,83h
285#define _PItimes2 0x4249 //not code, but a pointer to a 2*pi in non-OP format (no exponent byte)
286#define _PI 0x424C //not code, but a pointer to a pi in non-OP format (no exponent byte)
287#define _ExpToHex 0x424F
288#define _OP1ExpToDec 0x4252
289#define _ckop2pos 0x4255
290#define _CkOP1Pos 0x4258
291#define _ClrOP2S 0x425B
292#define _ClrOP1S 0x425E
293#define _FDIV100 0x4261 //op1=op1/100
294#define _FDIV10 0x4264 //op1=op1/10
295#define _DecO1Exp 0x4267 //decrease exponent by 1, this can go from 0 to FF
296#define _INCO1EXP 0x426A //op1=op1*10
297#define _INCEXP 0x426D //hl points to the floating point's exponent to be multiplied by 10
298#define _CkValidNum 0x4270
299#define _GETEXP 0x4273 //a=OP1's exponent, carry set if negative exponent, Z if e0
300#define _HTimesL 0x4276
301#define _EOP1NotReal 0x4279
302#define _ThetaName 0x427C
303#define _RName 0x427F
304#define _REGEQNAME 0x4282
305#define _RECURNNAME 0x4285
306#define _XName 0x4288
307#define _YName 0x428B
308#define _TName 0x428E
309#define _REALNAME 0x4291
310#define _SETesTOfps 0x4294 //moves the word at fps to es
311#define _markTableDirty 0x4297 //looks up table variable and marks VAT entry as "dirty" or selected
312#define _OP1MOP2EXP 0x429A //op1's exponent = op1's expoent - op2's exponent
313#define _OP1EXPMinusE 0x429D //a=(op1+1)-e
314#define _CHKERRBREAK 0x42A0
315#define _isA2ByteTok 0x42A3
316#define _GETLASTENTRY 0x42A6
317#define _GETLASTENTRYPTR 0x42A9
318#define _REGCLRCHNG 0x42AC
319#define _RESETWINTOP 0x42AF //takes into account grfsplitoverride and grfsplit flags
320#define _SetYUp 0x42B2 //loads 7 to port 10... what does this do?
321#define _SetXUp 0x42B5 //loads 5 to port 10...
322#define _ISO1NONTLSTorPROG 0x42B8 //checks if op1 contains a list, program, group, or appvar obj name
323#define _ISO1NONTEMPLST 0x42BB //checks if op1 contains a list (why would op1+1 contain 01, or 0d for a var name?)
324#define _IS_A_LSTorCLST 0x42BE //checks if a = 1 or 0Dh
325#define _CHK_HL_999 0x42C1 //returns nc if less than 999, throws invalid dim error if greater than or equal to 999
326#define _equ_or_newequ 0x42C4
327#define _errd_op1notpos 0x42C7
328#define _ErrD_OP1Not_R 0x42CA
329#define _ErrD_OP1NotPosInt 0x42CD
330#define _ErrD_OP1_LE_0 0x42D0
331#define _ErrD_OP1_0 0x42D3
332#define _FINDSYM_GET_SIZE 0x42D6 //like findsym, but on output hl is the size of the variable
333#define _STO_STATVAR 0x42D9
334#define _Rcl_StatVar 0x42DC
335#define _CkOP2Real 0x42DF
336#define _GET_X_INDIRECT 0x42E2 //whatever this is, it uses the imathptrX locations
337#define _MemChk 0x42E5
338#define _CMPPRGNAMLEN1 0x42E8 //gets variable name length from HL
339#define _CMPPRGNAMLEN 0x42EB //gets variable name length from OP1
340#define _FINDPROGSYM 0x42EE //find the program whose name is in op1 (see chkfindsym in SDK)
341#define _ChkFindSym 0x42F1
342#define _FindSym 0x42F4
343#define _InsertMem 0x42F7
344#define _INSERTMEMA 0x42FA //not sure how this differs from insertmem
345#define _EnoughMem 0x42FD
346#define _CMPMEMNEED 0x4300
347#define _CREATEPVAR4 0x4303
348#define _CREATEPVAR3 0x4306
349#define _CREATEVAR3 0x4309
350#define _CreateCplx 0x430C
351#define _CreateReal 0x430F
352#define _CreateTempRList 0x4312
353#define _CreateRList 0x4315
354#define _CREATETCLIST 0x4318
355#define _CreateCList 0x431B
356#define _CreateTempRMat 0x431E
357#define _CreateRMat 0x4321
358#define _CreateTempString 0x4324
359#define _CreateStrng 0x4327
360#define _Create0Equ 0x432A
361#define _CreateTempEqu 0x432D
362#define _CreateEqu 0x4330
363#define _CreatePict 0x4333
364#define _CreateGDB 0x4336
365#define _CreateProg 0x4339
366#define _CHKDEL 0x433C
367#define _CHKDELA 0x433F
368#define _ADJPARSER 0x4342
369#define _ADJMATH 0x4345
370#define _ADJM7 0x4348
371#define _DELMEMA 0x434B
372#define _GET_FORM_NUM 0x434E
373#define _DelVar 0x4351
374#define _DELVARIO 0x4354
375#define _DelMem 0x4357
376#define _DELVAR3D 0x435A
377#define _DELVAR3C 0x435D
378#define _DELVAR3DC 0x4360 //may be incorrect
379#define _IsFixedName 0x4363
380#define _DelVarEntry 0x4366
381#define _DataSizeA 0x4369
382#define _DataSize 0x436C
383#define _POPMCPLXO1 0x436F
384#define _POPMCPLX 0x4372
385#define _MOVCPLX 0x4375
386#define _popOP5 0x4378
387#define _popOP3 0x437B
388#define _popOP1 0x437E
389#define _PopRealO6 0x4381
390#define _PopRealO5 0x4384
391#define _PopRealO4 0x4387
392#define _PopRealO3 0x438A
393#define _PopRealO2 0x438D
394#define _PopRealO1 0x4390
395#define _PopReal 0x4393
396#define _FPOPCPLX 0x4396
397#define _FPOPREAL 0x4399
398#define _FPOPFPS 0x439C
399#define _DeallocFPS 0x439F
400#define _DeallocFPS1 0x43A2
401#define _AllocFPS 0x43A5
402#define _AllocFPS1 0x43A8
403#define _PushRealO6 0x43AB
404#define _PushRealO5 0x43AE
405#define _PushRealO4 0x43B1
406#define _PushRealO3 0x43B4
407#define _PushRealO2 0x43B7
408#define _PushRealO1 0x43BA
409#define _PushReal 0x43BD
410#define _PushOP5 0x43C0
411#define _PushOP3 0x43C3
412#define _PUSHMCPLXO3 0x43C6
413#define _PushOP1 0x43C9
414#define _PUSHMCPLXO1 0x43CC
415#define _PUSHMCPLX 0x43CF
416#define _ExMCplxO1 0x43D2
417#define _Exch9 0x43D5
418#define _CpyTo1FPS11 0x43D8
419#define _CpyTo2FPS5 0x43DB
420#define _CpyTo1FPS5 0x43DE
421#define _CpyTo2FPS6 0x43E1
422#define _CpyTo1FPS6 0x43E4
423#define _CpyTo2FPS7 0x43E7
424#define _CpyTo1FPS7 0x43EA
425#define _CpyTo1FPS8 0x43ED
426#define _CpyTo2FPS8 0x43F0
427#define _CpyTo1FPS10 0x43F3
428#define _CpyTo1FPS9 0x43F6
429#define _CpyTo2FPS4 0x43F9
430#define _CpyTo6FPS3 0x43FC
431#define _CpyTo6FPS2 0x43FF
432#define _CpyTo2FPS3 0x4402
433#define _CPYCTO1FPS3 0x4405
434#define _CpyTo1FPS3 0x4408
435#define _CPYFPS3 0x440B
436#define _CpyTo1FPS4 0x440E
437#define _CpyTo3FPS2 0x4411
438#define _CpyTo5FPST 0x4414
439#define _CpyTo6FPST 0x4417
440#define _CpyTo4FPST 0x441A
441#define _CpyTo3FPST 0x441D
442#define _CpyTo2FPST 0x4420
443#define _CpyTo1FPST 0x4423
444#define _CPYFPST 0x4426
445#define _CpyStack 0x4429
446#define _CpyTo3FPS1 0x442C
447#define _CpyTo2FPS1 0x442F
448#define _CpyTo1FPS1 0x4432
449#define _CPYFPS1 0x4435
450#define _CpyTo2FPS2 0x4438
451#define _CpyTo1FPS2 0x443B
452#define _CPYFPS2 0x443E
453#define _CpyO3ToFPST 0x4441
454#define _CpyO2ToFPST 0x4444
455#define _CpyO6ToFPST 0x4447
456#define _CpyO1ToFPST 0x444A
457#define _CpyToFPST 0x444D
458#define _CpyToStack 0x4450
459#define _CpyO3ToFPS1 0x4453
460#define _CpyO5ToFPS1 0x4456
461#define _CpyO2ToFPS1 0x4459
462#define _CpyO1ToFPS1 0x445C
463#define _CpyToFPS1 0x445F
464#define _CpyO2ToFPS2 0x4462
465#define _CpyO3ToFPS2 0x4465
466#define _CpyO6ToFPS2 0x4468
467#define _CpyO1ToFPS2 0x446B
468#define _CpyToFPS2 0x446E
469#define _CpyO5ToFPS3 0x4471
470#define _CpyO2ToFPS3 0x4474
471#define _CpyO1ToFPS3 0x4477
472#define _CpyToFPS3 0x447A
473#define _CpyO1ToFPS6 0x447D
474#define _CpyO1ToFPS7 0x4480
475#define _CpyO1ToFPS5 0x4483
476#define _CpyO2ToFPS4 0x4486
477#define _CpyO1ToFPS4 0x4489
478#define _ErrNotEnoughMem 0x448C //only if not HL bytes free
479#define _FPSMINUS9 0x448F
480#define _HLMINUS9 0x4492
481#define _ErrOverflow 0x4495
482#define _ErrDivBy0 0x4498
483#define _ErrSingularMat 0x449B
484#define _ErrDomain 0x449E
485#define _ErrIncrement 0x44A1
486#define _ErrNon_Real 0x44A4
487#define _ErrSyntax 0x44A7
488#define _ErrDataType 0x44AA
489#define _ErrArgument 0x44AD
490#define _ErrDimMismatch 0x44B0
491#define _ErrDimension 0x44B3
492#define _ErrUndefined 0x44B6
493#define _ErrMemory 0x44B9
494#define _ErrInvalid 0x44BC
495#define _ErrBreak 0x44BF
496#define _ErrStat 0x44C2
497#define _ErrSignChange 0x44C5
498#define _ErrIterations 0x44C8
499#define _ErrBadGuess 0x44CB
500#define _ErrTolTooSmall 0x44CE
501#define _ErrStatPlot 0x44D1
502#define _ErrLinkXmit 0x44D4
503#define _JError 0x44D7
504#define _noErrorEntry 0x44DA
505#define _pushErrorHandleR 0x44DD
506#define _popErrorHandleR 0x44E0
507#define _strcopy 0x44E3
508#define _strCat 0x44E6
509#define _isInSet 0x44E9
510#define _sDone 0x44EC //this should actually be called _SetEquToOP1
511#define _serrort 0x44EF
512#define _sNameEq 0x44F2
513#define _sUnderScr 0x44F5
514#define _sFAIL 0x44F8
515#define _sName 0x44FB
516#define _sOK 0x44FE
517#define _PutMap 0x4501
518#define _PutC 0x4504
519#define _DispHL 0x4507
520#define _PutS 0x450A
521#define _putpsb 0x450D
522#define _PutPS 0x4510
523#define _wputps 0x4513
524#define _putbuf 0x4516
525#define _putbuf1 0x4519
526#define _wputc 0x451C
527#define _wputs 0x451F
528#define _wputsEOL 0x4522 //displays string in HL in big font, and uses ... if too long
529#define _wdispEOL 0x4525
530#define _whomeup 0x4528
531#define _setNumWindow 0x452B //based on current cursor position, sets winleft and similar (for input prompts)
532#define _newline 0x452E
533#define _moveDown 0x4531
534#define _scrollUp 0x4534
535#define _shrinkWindow 0x4537
536#define _moveUp 0x453A
537#define _scrollDown 0x453D
538#define _ClrLCDFull 0x4540
539#define _ClrLCD 0x4543
540#define _ClrScrnFull 0x4546
541#define _ClrScrn 0x4549
542#define _ClrTxtShd 0x454C
543#define _ClrWindow 0x454F
544#define _EraseEOL 0x4552
545#define _EraseEOW 0x4555
546#define _HomeUp 0x4558
547#define _getcurloc 0x455B
548#define _VPutMap 0x455E
549#define _VPutS 0x4561
550#define _VPutSN 0x4564
551#define _vputsnG 0x4567
552#define _vputsnT 0x456A
553#define _RunIndicOn 0x456D
554#define _RunIndicOff 0x4570
555#define _saveCmdShadow 0x4573
556#define _saveShadow 0x4576
557#define _rstrShadow 0x4579
558#define _rstrpartial 0x457C
559#define _rstrCurRow 0x457F
560#define _rstrUnderMenu 0x4582
561#define _rstrbotrow 0x4585
562#define _saveTR 0x4588 //save top right corner of LCD so 2nd arrow can be displayed, indicinuse flag must be set
563#define _restoreTR 0x458B //restore top right corner of LCD destroyed by an arrow. indicinuse flag must be set
564#define _GetKeyPress 0x458E
565#define _GetTokLen 0x4591 //input: hl=pointer to token. output: a=lenght of string, hl=pointer to string on page 1
566#define _GET_TOK_STRNG 0x4594 //input: hl=pointer to token. output: op3=string of the token, a=length of string
567#define _GETTOKSTRING 0x4597 //input: DE=token. output: hl=pointer to the string on page 1
568#define _PUTBPATBUF2 0x459A
569#define _PUTBPATBUF 0x459D
570#define _putbPAT 0x45A0
571#define _putcCheckScrolL 0x45A3
572#define _DispEOL 0x45A6
573#define _fdispEOL 0x45A9
574#define _MAKEROWCMD 0x45AC
575#define _TOTOSTRP 0x45AF
576#define _SETVARNAME 0x45B2
577#define _DispDone 0x45B5
578#define _finishoutput 0x45B8
579#define _curBlink 0x45BB
580#define _CursorOff 0x45BE
581#define _hideCursor 0x45C1
582#define _CursorOn 0x45C4
583#define _showCursor 0x45C7
584#define _KeyToString 0x45CA
585#define _PULLDOWNCHK 0x45CD //something wrong here
586#define _MenuCatCommon 0x45D0
587#define _ZIfCatalog 0x45D3
588#define _ZIfMatrixMenu 0x45D6 //_loadCurCat
589#define _LoadMenuNum 0x45D9
590#define _LoadMenuNumL 0x45DC
591#define _MenCatRet 0x45DF //restores display as though a menu were just cleared (restores some flags too)
592#define _MenuSwitchContext 0x45E2 //switches to context in A, calls menu hook with A=3, set 5,(iy+16h) for some sort of override to not make switch
593#define _MenuEdKey 0x45E5
594#define _BackUpGraphSettings 0x45E8
595#define _notalphnum 0x45EB
596#define _SaveSavedFlags 0x45EE
597#define _SetMenuFlags 0x45F1
598#define _RstrSomeFlags 0x45F4
599#define _RstrOScreen 0x45F7 //restores saveSScreen to the display
600#define _SaveOScreen 0x45FA //stores display in saveSScreen
601#define _dispListName 0x45FD //_SeeIfErrorCx
602#define _PrevContext 0x4600
603#define _CompareContext 0x4603
604#define _AdrMRow 0x4606
605#define _AdrMEle 0x4609
606#define _GETMATOP1A 0x460C
607#define _GETM1TOOP1 0x460F
608#define _GETM1TOP1A 0x4612
609#define _GetMToOP1 0x4615
610#define _PUTTOM1A 0x4618
611#define _PUTTOMA1 0x461B
612#define _PutToMat 0x461E
613#define _MAT_EL_DIV 0x4621
614#define _CMATFUN 0x4624
615#define _ROWECH_POLY 0x4627
616#define _ROWECHELON 0x462A
617#define _AdrLEle 0x462D
618#define _GETL1TOOP1 0x4630
619#define _GETL1TOP1A 0x4633
620#define _GetLToOP1 0x4636
621#define _GETL1TOOP2 0x4639
622#define _GETL1TOP2A 0x463C
623#define _GETL2TOP1A 0x463F
624#define _PUTTOLA1 0x4642
625#define _PutToL 0x4645
626#define _MAXMINLST 0x4648
627#define _LLOW 0x464B
628#define _LHIGH 0x464E
629#define _LSUM 0x4651
630#define CUMSUM 0x4654
631#define _ToFrac 0x4657
632#define _SEQSET 0x465A
633#define _SEQSOLVE 0x465D
634#define _CMP_NUM_INIT 0x4660
635#define _BinOPExec 0x4663
636#define _EXMEAN1 0x4666
637#define _SET2MVLPTRS 0x4669
638#define _SETMAT1 0x466C
639#define _CREATETLIST 0x466F
640#define _UnOPExec 0x4672
641#define _ThreeExec 0x4675
642#define _RESTOREERRNO 0x4678
643#define _FourExec 0x467B
644#define _FiveExec 0x467E
645#define _CPYTO2ES1 0x4681
646#define _CPYTO6ES1 0x4684
647#define _CPYTO1ES1 0x4687
648#define _CPYTO3ES1 0x468A
649#define _CPYTO3ES2 0x468D
650#define _CPYTO2ES2 0x4690
651#define _CPYTO1ES2 0x4693
652#define _CPYTO2ES3 0x4696
653#define _CPYTO1ES3 0x4699
654#define _CPYTO3ES4 0x469C
655#define _CPYTO6ES3 0x469F
656#define _CPYTO2ES4 0x46A2
657#define _CPYTO1ES4 0x46A5
658#define _CPYTO2ES5 0x46A8
659#define _CPYTO1ES5 0x46AB
660#define _CPYTO4EST 0x46AE
661#define _CPYTO2EST 0x46B1
662#define _CPYTO1EST 0x46B4
663#define _CPYTO2ES6 0x46B7
664#define _CPYTO1ES6 0x46BA
665#define _CPYTO2ES7 0x46BD
666#define _CPYTO1ES7 0x46C0
667#define _CPYTO2ES8 0x46C3
668#define _CPYTO1ES8 0x46C6
669#define _CPYTO1ES9 0x46C9
670#define _CPYTO2ES9 0x46CC
671#define _CPYTO2ES10 0x46CF
672#define _CPYTO1ES10 0x46D2
673#define _CPYTO2ES11 0x46D5
674#define _CPYTO1ES11 0x46D8
675#define _CPYTO2ES12 0x46DB
676#define _CPYTO1ES12 0x46DE
677#define _CPYTO2ES13 0x46E1
678#define _CPYTO1ES13 0x46E4
679#define _CPYTO1ES14 0x46E7
680#define _CPYTO1ES16 0x46EA
681#define _CPYTO1ES17 0x46ED
682#define _CPYTO1ES18 0x46F0
683#define _CPYTO1ES15 0x46F3
684#define _CPYTO2ES15 0x46F6
685#define _CPYO1TOEST 0x46F9
686#define _CPYO1TOES1 0x46FC
687#define _CPYO6TOES1 0x46FF
688#define _CPYO6TOES3 0x4702
689#define _CPYO1TOES2 0x4705
690#define _CPYO2TOES2 0x4708
691#define _CPYO1TOES3 0x470B
692#define _CPYO1TOES4 0x470E
693#define _CPYO1TOES5 0x4711
694#define _CPYO1TOES6 0x4714
695#define _CPYO1TOES7 0x4717
696#define _CPYO2TOES4 0x471A
697#define _CPYO2TOES5 0x471D
698#define _CPYO2TOES6 0x4720
699#define _CPYO2TOES7 0x4723
700#define _CPYO2TOES8 0x4726
701#define _CPYO2TOES9 0x4729
702#define _CPYO1TOES8 0x472C
703#define _CPYO1TOES9 0x472F
704#define _CPYO1TOES10 0x4732
705#define _CPYO1TOES11 0x4735
706#define _CPYO1TOES12 0x4738
707#define _CPYO1TOES13 0x473B
708#define _CPYO1TOES14 0x473E
709#define _CPYO1TOES15 0x4741
710#define _EVALF3A 0x4744
711#define _GetK 0x4747 //?
712#define _setTitle 0x474A
713#define _dispVarVal 0x474D
714#define _RecallEd 0x4750 //_setupBuffer
715#define _createNumEditBuf 0x4753
716#define _ProcessBufKeys 0x4756 //may be default key processing like [CLEAR], etc. especially for an edit buffer.
717#define _CallCommon 0x4759
718#define _CommonKeys 0x475C
719#define _Leftmore 0x475F
720#define _fDel 0x4762
721#define _fClear 0x4765
722#define _finsDisp 0x4768 //Michael says _FinsDisp02 equ 4768h (something's not right)
723#define _FinsDisp02 0x476B //_setIndicator
724#define _closeeditbufnor 0x476E
725#define _releaseBuffer 0x4771
726#define _varnameToOP1hl 0x4774
727#define _nameToOP1 0x4777
728#define _numPPutAway 0x477A
729#define _numRedisp 0x477D
730#define _numError02 0x4780
731#define _Load_SFont 0x4783
732#define _SFont_Len 0x4786
733#define _InitNumVec 0x4789 //inits window settings/table setup/finance solver context (dialog-like)
734#define _SetXXOP1 0x478C
735#define _SetXXOP2 0x478F
736#define _SetXXXXOP2 0x4792
737#define _UCLineS 0x4795
738#define _CLine 0x4798
739#define _CLineS 0x479B
740#define _XRootY 0x479E
741#define _YToX 0x47A1
742#define _ZmStats 0x47A4
743#define _POINT_STAT_HLP 0x47A7
744#define _DRAWSPLOT 0x47AA
745#define _INITNEWTRACEP 0x47AD //A is input here, goes to (8E63h)
746#define _SPLOTCOORD 0x47B0
747#define _SPLOTRIGHT 0x47B3
748#define _SPLOTLEFT 0x47B6
749#define _CMPBOXINFO 0x47B9
750#define _NEXTPLOT 0x47BC
751#define _PREVPLOT 0x47BF
752#define _CLRPREVPLOT 0x47C2
753#define _PUT_INDEX_LST 0x47C5
754#define _GET_INDEX_LST 0x47C8
755#define _HEAP_SORT 0x47CB
756#define _StoGDB2 0x47CE
757#define _RclGDB2 0x47D1
758#define _CircCmd 0x47D4
759#define _GrphCirc 0x47D7
760#define _Mov18B 0x47DA
761#define _DarkLine 0x47DD
762#define _ILine 0x47E0
763#define _IPoint 0x47E3
764#define _XYRNDBOTH 0x47E6
765#define _XYRND 0x47E9
766#define _CheckTOP 0x47EC
767#define _CheckXY 0x47EF
768#define _DarkPnt 0x47F2
769#define _CPointS 0x47F5
770#define _WTOV 0x47F8
771#define _VtoWHLDE 0x47FB
772#define _Xitof 0x47FE
773#define _YftoI 0x4801
774#define _XftoI 0x4804
775#define _TraceOff 0x4807
776#define _GrRedisp 0x480A
777#define _GDISPTOKEN 0x480D
778#define _GRDECODA 0x4810
779#define _LABCOOR 0x4813 //draws labels with _GRLABELS and X/Y/whatever coordinates, including stat plot stuff
780#define _COORDISP 0x4816 //draws X & Y coordinates (or R and theta if PolarGC)
781#define _TMPEQUNOSRC 0x4819
782#define _GRLABELS 0x481C
783#define _YPIXSET 0x481F
784#define _XPIXSET 0x4822
785#define _COPYRNG 0x4825
786#define _VALCUR 0x4828 //just sets/resets three flags, enables graph cursor
787#define _GRPUTAWAY 0x482B
788#define _RSTGFLAGS 0x482E
789#define _GRReset 0x4831
790#define _XYCENT 0x4834
791#define _ZOOMXYCMD 0x4837
792#define _CPTDELY 0x483A
793#define _CPTDELX 0x483D
794#define _SetFuncM 0x4840
795#define _SetSeqM 0x4843
796#define _SetPolM 0x4846
797#define _SetParM 0x4849
798#define _ZmInt 0x484C
799#define _ZmDecml 0x484F
800#define _ZmPrev 0x4852
801#define _ZmUsr 0x4855
802#define _SETUZM 0x4858
803#define _ZmFit 0x485B
804#define _ZmSquare 0x485E
805#define _ZmTrig 0x4861
806#define _SetXMinMax 0x4864
807#define _ZooDefault 0x4867
808#define _GrBufCpy 0x486A
809#define _DRAWSPLITLINE 0x486D
810#define _RestoreDisp 0x4870
811#define _FNDDB 0x4873
812#define _AllEq 0x4876
813#define _fndallseleq 0x4879
814#define _NEXTEQ 0x487C
815#define _PREVEQ 0x487F
816#define _BLINKGCUR 0x4882
817#define _NBCURSOR 0x4885
818#define _STATMARK 0x4888
819#define _CHKTEXTCURS 0x488B
820#define _Regraph 0x488E
821#define _DOREFFLAGS02 0x4891 //something wrong here
822#define INITNSEQ 0x4894
823#define _YRES 0x4897 //_PLOTPTXY2
824#define _Ceiling 0x489A //ceil(OP1)
825#define _PutXY 0x489D //draws X & Y coordinates (regardless of PolarGC)
826#define _PUTEQUNO 0x48A0
827#define _PDspGrph 0x48A3
828#define _HorizCmd 0x48A6
829#define _VertCmd 0x48A9
830#define _LineCmd 0x48AC
831#define _UnLineCmd 0x48AF
832#define _PointCmd 0x48B2
833#define _PixelTest 0x48B5
834#define _PixelCmd 0x48B8
835#define _TanLnF 0x48BB
836#define _DRAWCMD_INIT 0x48BE
837#define _DrawCmd 0x48C1
838#define _SHADECMD 0x48C4
839#define _InvCmd 0x48C7
840#define _STATSHADE 0x48CA
841#define _dspmattable 0x48CD
842#define _dsplsts 0x48D0
843#define _closeEditBuf 0x48D3
844#define _parseEditBuf 0x48D6
845#define _putsm 0x48D9
846#define _DspCurTbl 0x48DC
847#define _DSPGRTBL 0x48DF
848#define _zeroTemplate 0x48E2
849#define _settblrefs 0x48E5
850#define _dispTblBot 0x48E8
851#define _DispTblTop 0x48EB
852#define _dispTblbody 0x48EE
853#define _VPUTBLANK 0x48F1
854#define _TBLTRACE 0x48F4
855#define _dispListNameY 0x48F7
856#define _CurNameLength 0x48FA
857#define _NameToBuf 0x48FD
858#define _jpromptcursor 0x4900
859#define _BufLeft 0x4903
860#define _BufRight 0x4906
861#define _bufInsert 0x4909
862#define _bufQueueChar 0x490C
863#define _BufReplace 0x490F
864#define _BufDelete 0x4912
865#define _BUFPEEK 0x4915
866#define _BUFPEEK1 0x4918
867#define _BUFPEEK2 0x491B
868#define _BUFPEEK3 0x491E
869#define _BufToBtm 0x4921
870#define _setupEditEqu 0x4924
871#define _BufToTop 0x4927
872#define _isEditFull 0x492A
873#define _IsEditEmpty 0x492D
874#define _IsAtTop 0x4930
875#define _IsAtBtm 0x4933
876#define _BufClear 0x4936
877#define _JcursorFirst 0x4939
878#define _JcursorLast 0x493C
879#define _CursorLeft 0x493F
880#define _cursorRight 0x4942
881#define _cursorUp 0x4945
882#define _CursorDown 0x4948
883#define _cursorToOffset 0x494B
884#define _InsDisp 0x494E
885#define _FDISPBOL1 0x4951
886#define _FDISPBOL 0x4954
887#define _DispEOW 0x4957
888#define _DispHead 0x495A
889#define _DispTail 0x495D
890#define _PutTokString 0x4960
891#define _setupEditCmd 0x4963
892#define _setEmptyEditEqu 0x4966
893#define _SetEmptyEditPtr 0x4969
894#define _CloseEditEqu 0x496C
895#define _GetPrevTok 0x496F
896#define _getkey 0x4972
897#define _canIndic 0x4975
898#define _LCD_DRIVERON 0x4978
899#define _DFMIN2 0x497B
900#define _formDisp 0x497E //this is directly what the OS calls on the homescreen to display a result
901#define _formMatrix 0x4981
902#define _wscrollLeft 0x4984
903#define _wscrollUp 0x4987
904#define _wscrollDown 0x498A
905#define _wscrollRight 0x498D
906#define _FormEReal 0x4990
907#define _formERealTOK 0x4993
908#define _FormDCplx 0x4996
909#define _FormReal 0x4999
910#define _formScrollUp 0x499C
911#define _setwinabove 0x499F
912#define _disarmScroll 0x49A2
913#define _OP1toEdit 0x49A5
914#define _MinToEdit 0x49A8
915#define _rclVarToEdit 0x49AB
916#define _rclVarToEditPtR 0x49AE
917#define _RCLENTRYTOEDIT 0x49B1
918#define _rclToQueue 0x49B4 //recalls bytes at OP1 into edit buffer
919#define _FORMTOTOK 0x49B7
920#define _DISP_INTERVAL 0x49BA
921#define _DisplstName 0x49BD
922#define _dispSLstNameHL 0x49C0
923#define _EditEqu 0x49C3
924#define _closeEquField 0x49C6
925#define _AutoSelect 0x49C9
926#define _DISPYEOS 0x49CC
927#define _dispNumEOS 0x49CF
928#define _setupdispeq 0x49D2
929#define _DispForward 0x49D5
930#define _DispYPrompt2 0x49D8
931#define _stringwidth 0x49DB
932#define _dispErrorScreen 0x49DE //displays top row of error screen (error message)
933#define _POPCX 0x49E1 //moves 14 bytes at cxPrev to cxMain, 15th byte goes to replace appflags
934#define _loadnoeentry 0x49E4
935#define _SaveScreen 0x49E7
936#define _RETSCREEN 0x49EA
937#define _RetScreenErr 0x49ED
938#define _CheckSplitFlag 0x49F0
939#define _SolveRedisp 0x49F3
940#define _SolveDisp 0x49F6
941#define _itemName 0x49F9
942#define _SetNorm_Vals 0x49FC
943#define _SetYOffset 0x49FF //sets up YOffset and next 4 bytes (possibly specialized for the table editor)
944#define _ConvKeyToTok 0x4A02
945#define _ConvFCKeyToTok 0x4A05
946#define _ConvFEKeyToTok 0x4A08
947#define _TokToKey 0x4A0B
948#define _SendSkipExitPacket 0x4A0E
949#define _GETVARCMD 0x4A11
950#define _SendVarCmd 0x4A14
951#define _SendScreenshot 0x4A17
952#define keyscnlnk 0x4A1A
953#define _DeselectAllVars 0x4A1D
954#define _DelRes 0x4A20
955#define _ConvLcToLr 0x4A23
956#define _RedimMat 0x4A26
957#define _IncLstSize 0x4A29
958#define _InsertList 0x4A2C
959#define _dellistel 0x4A2F
960#define _EditProg 0x4A32
961#define _CloseProg 0x4A35
962#define _ClrGraphRef 0x4A38
963#define _FixTempCnt 0x4A3B
964#define _SAVEDATA 0x4A3E
965#define _RESTOREDATA 0x4A41
966#define _FindAlphaUp 0x4A44
967#define _FindAlphaDn 0x4A47
968#define _CmpSyms 0x4A4A
969#define _CREATETEMP 0x4A4D
970#define _CleanAll 0x4A50
971#define _MoveToNextSym 0x4A53 //input: hl=pointer to type byte of VAT entry. output: hl = pointer to next entry's type byte
972#define _ConvLrToLc 0x4A56
973#define _TblScreenDn 0x4A59 //something is not right here
974#define _TblScreenUp 0x4A5C
975#define _SCREENUP 0x4A5F
976#define _ScreenUpDown 0x4A62
977#define _ZifRclHandler 0x4A65
978#define _zifrclkapp 0x4A68
979#define _rclkeyRtn 0x4A6B
980#define _RCLKEY 0x4A6B
981#define _RCLREGEQ_CALL 0x4A6E
982#define _RCLREGEQ 0x4A71
983#define _initNamePrompt 0x4A74
984#define _NamePrompt2 0x4A77
985#define _CATALOGCHK 0x4A7A
986#define _clrTR 0x4A7D
987#define _QUAD 0x4A80
988#define _GRAPHQUAD 0x4A83
989#define _BC2NOREAL 0x4A86
990#define _ErrNonReal_FPST_FPS1 0x4A89
991#define _ErrNonReal 0x4A8C //ERR:DATA TYPE if top B numers from FPS are non-real
992#define _WRITE_TEXT 0x4A8F
993#define _FORSEQINIT 0x4A92
994#define _GRPHPARS 0x4A95
995#define _PLOTPARS 0x4A98
996#define _ParseInp 0x4A9B
997#define _PARSEOFF 0x4A9E
998#define _PARSESCAN 0x4AA1
999#define _GETPARSE 0x4AA4
1000#define _SAVEPARSE 0x4AA7
1001#define _InitPFlgs 0x4AAA
1002#define _CKENDLINERR 0x4AAD
1003#define _OP2Set60 0x4AB0
1004#define _GETSTATPTR 0x4AB3
1005#define _CMP_STATPTR 0x4AB6
1006#define _VARSYSADR 0x4AB9
1007#define _StoSysTok 0x4ABC
1008#define _StoAns 0x4ABF
1009#define _StoTheta 0x4AC2
1010#define _StoR 0x4AC5
1011#define _StoY 0x4AC8
1012#define _StoN 0x4ACB
1013#define _StoT 0x4ACE
1014#define _StoX 0x4AD1
1015#define _StoOther 0x4AD4
1016#define _RclAns 0x4AD7
1017#define _RclY 0x4ADA
1018#define _RclN 0x4ADD
1019#define _RclX 0x4AE0
1020#define _RclVarSym 0x4AE3
1021#define _RclSysTok 0x4AE6
1022#define _StMatEl 0x4AE9
1023#define _STLSTVECEL 0x4AEC
1024#define _ConvOP1 0x4AEF
1025#define _Find_Parse_Formula 0x4AF2
1026#define _PARSE_FORMULA 0x4AF5
1027#define _FetchQuotedString 0x4AF8
1028#define _FetchNumLine 0x4AFB
1029#define _ParseNameTokens 0x4AFE
1030#define _ParseInpGraph 0x4B01 //same as _ParseInp except 3,(iy+1Fh) is graph/split screen override, or something
1031#define _ParseInpGraphReset 0x4B04 //_ParseInpGraph except zeroes out iy+6/7, resets 3,(iy+1Ah) & 0,(iy+1Fh), fmtFlags->fmtOverride, parse within ParseInp?
1032#define _ParseInpLastEnt 0x4B07 //ParseInp on program 05h,23h,00h
1033#define _ErrOnCertainTypes 0x4B0A //ERR:DATA TYPE if A is one of a couple of values...subroutine in ParseInp, somehow
1034#define _CreatePair 0x4B0D
1035#define _PUSHNUM 0x4B10
1036#define _INCCURPCERREND 0x4B13
1037#define _ERREND 0x4B16
1038#define _COMMAERRF 0x4B19
1039#define _COMMAERR 0x4B1C
1040#define _STEQARG2 0x4B1F
1041#define _STEQARG 0x4B22
1042#define _INPARG 0x4B25
1043#define _STEQARG3 0x4B28
1044#define _NXTFETCH 0x4B2B
1045#define _CKFETCHVAR 0x4B2E
1046#define _FETCHVARA 0x4B31
1047#define _FETCHVAR 0x4B34
1048#define _CKENDLIN 0x4B37 //gets parse byte in A and then _CKENDEXP
1049#define _CKENDEXP 0x4B3A //checks A for 3Eh or 3Fh
1050#define _CKPARSEND 0x4B3D
1051#define _STOTYPEARG 0x4B40
1052#define _ConvDim 0x4B43
1053#define _ConvDim00 0x4B46
1054#define _AHEADEQUAL 0x4B49
1055#define _PARSAHEADS 0x4B4C
1056#define _PARSAHEAD 0x4B4F
1057#define _AnsName 0x4B52
1058#define _STOCMPREALS 0x4B55
1059#define _GETDEPTR 0x4B58
1060#define _PUSH2BOPER 0x4B5B //push the value in bc onto the operator stack
1061#define _POP2BOPER 0x4B5E //pop 2 bytes on the operator stack to bc
1062#define _PUSHOPER 0x4B61 //push the value in a onto the operator stack
1063#define _POPOPER 0x4B64 //pop 1 byte on the operator stack to a
1064#define _FIND_E_UNDEF 0x4B67
1065#define _STTMPEQ 0x4B6A
1066#define _FINDEOL 0x4B6D
1067#define _BRKINC 0x4B70
1068#define _INCFETCH 0x4B73
1069#define _CURFETCH 0x4B76
1070#define _Random 0x4B79
1071#define _StoRand 0x4B7C
1072#define _RandInit 0x4B7F
1073#define _resetStacks 0x4B82 //(onsp)->(errsp), (fpbase)->(fps), (opbase)->(ops)
1074#define _Factorial 0x4B85
1075#define _YONOFF 0x4B88
1076#define _EQSELUNSEL 0x4B8B
1077#define _ITSOLVER 0x4B8E
1078#define _GRITSOLVER 0x4B91
1079#define _ITSOLVERB 0x4B94
1080#define _ITSOLVERNB 0x4B97
1081#define _ExTest_INT 0x4B9A
1082#define _DIST_FUN 0x4BAD
1083#define _LogGamma 0x4BA0
1084#define _OneVar 0x4BA3
1085#define _ONEVARS_0 0x4BA6
1086#define _ORDSTAT 0x4BA9
1087#define _INITSTATANS2 0x4BAC
1088#define _ANOVA_SPEC 0x4BAF
1089#define _OutputExpr 0x4BB2
1090#define _CentCursor 0x4BB5
1091#define _TEXT 0x4BB8
1092#define _FINISHSPEC 0x4BBB
1093#define _TRCYFUNC 0x4BBE
1094#define _RCL_SEQ_X 0x4BC1
1095#define _RCLSEQ2 0x4BC4
1096#define _GRPPutAway 0x4BC7
1097#define _CKVALDELX 0x4BCA
1098#define _CKVALDELTA 0x4BCD
1099#define _GrBufClr 0x4BD0
1100#define _GRBUFCPY_V 0x4BD3
1101#define _FNDSELEQ 0x4BD6
1102#define _CLRGRAPHXY 0x4BD9
1103#define _NEDXT_Y_STYLE 0x4BDC
1104#define _PLOTPT 0x4BDF
1105#define _NEWINDEP 0x4BE2
1106#define _Axes 0x4BE5
1107#define _setPenX 0x4BE8
1108#define _setPenY 0x4BEB
1109#define _setPenT 0x4BEE
1110#define _TAN_EQU_DISP 0x4BF1
1111#define _PutAns 0x4BF4
1112#define _DispOP1A 0x4BF7
1113#define _MATHTANLN 0x4BFA
1114#define _ENDDRAW 0x4BFD
1115#define _SetTblGraphDraw 0x4C00
1116#define _StartDialog 0x4C03
1117#define _DialogInit 0x4C06
1118#define _GetDialogNumOP1 0x4C09
1119#define _SetDialogNumOP1 0x4C0C
1120#define _GetDialogNumHL 0x4C0F
1121#define _ErrArgumentO123 0x4C12 //ERR:ARGUMENT if OP2>OP1 or OP1>OP3
1122#define _SetDialogKeyOverride 0x4C15
1123#define _ResDialogKeyOverride 0x4C18
1124#define _ForceDialogKeypress 0x4C1B
1125#define _DialogStartGetKey 0x4C1E
1126#define _StartDialog_Override 0x4C21
1127#define _CallDialogCallback 0x4C24
1128#define _SetDialogCallback 0x4C27
1129#define _ResDialogCallback 0x4C2A
1130#define _CopyDialogNum 0x4C2D
1131#define _MemClear 0x4C30
1132#define _MemSet 0x4C33
1133#define _ReloadAppEntryVecs 0x4C36
1134#define _PointOn 0x4C39
1135#define _ExecuteNewPrgm 0x4C3C
1136#define _StrLength 0x4C3F
1137#define _VPutMapRec 0x4C42
1138#define _getRomPage 0x4C45
1139#define _FindAppUp 0x4C48
1140#define _FindAppDn 0x4C4B
1141#define _FindApp 0x4C4E
1142#define _ExecuteApp 0x4C51
1143#define _MonReset 0x4C54
1144#define _ClearParseVar 0x4C57
1145#define _SetParseVarProg 0x4C5A
1146#define _isContextKey 0x4C5D
1147#define _IBounds 0x4C60
1148#define _IOffset 0x4C63
1149#define _DrawCirc2 0x4C66
1150#define _CanAlphIns 0x4C69
1151#define cxRedisp 0x4C6C
1152#define _GetBaseVer 0x4C6F
1153#define _OPSet0DE 0x4C72 //loads a floating point 0 to location de
1154#define _AppGetCbl 0x4C75
1155#define _AppGetCalc 0x4C78
1156#define _SaveDisp 0x4C7B
1157#define _SetIgnoreKey 0x4C7E //set 1,(iy+28h) / ret
1158#define _SetSendThisKeyBack 0x4C81 //set 2,(iy+28h) / ld (kbdKey),a / ret
1159#define _DisableApd 0x4C84
1160#define _EnableApd 0x4C87 //set apdable,(iy+apdflags)
1161#define _JForceCmdNoChar2 0x4C8A //2.41 at least
1162#define _set2IY34 0x4C8D //set 2,(iy+34) / ret
1163#define _forcecmd 0x4C90
1164#define _ApdSetup 0x4C93
1165#define _Get_NumKey 0x4C96
1166#define _AppSetup 0x4C99 //or _AppCleanup, or something
1167#define _HandleLinkKeyActivity 0x4C9C
1168#define _JForceCmdNoChar3 0x4C9F //2.41 at least
1169#define _ReleaseSedit 0x4CA2
1170#define _initsmalleditline 0x4CA5
1171#define _startsmalledit 0x4CA8
1172//4CABh
1173#define _SGetTokString 0x4CAE
1174#define _LoadPattern 0x4CB1
1175#define _SStringLength 0x4CB4
1176#define _RestorePenCol 0x4CB7
1177//4CBAh
1178#define _DoNothing 0x4CBD
1179#define _ForceSmallEditReturn 0x4CC0
1180//4CC3h ;saves context
1181//4CC6h
1182//4CC9h
1183//4CCCh
1184#define _VEraseEOL 0x4CCF
1185//4CD2h
1186//4CD5h
1187#define _GoToErr 0x4CD8
1188#define _initsmalleditBox 0x4CDB
1189//4CDEh
1190#define _EmptyHook 0x4CE1
1191#define _ForceSmallEditReturn2 0x4CE4
1192//4CE7h ;same as 4CC3h
1193//4CEAh
1194#define _ClearRow 0x4CED
1195//4CF0h
1196//4CF3h
1197//4CF6h
1198//4CF9h
1199//4CFCh
1200//4CFFh
1201//4D02h
1202//4D05h
1203//4D08h
1204//4D0Bh
1205//4D0Eh
1206//4D11h
1207//4D14h
1208//4D17h
1209//4D1Ah
1210//4D1Dh
1211//4D20h
1212//4D23h
1213#define _AppScreenUpDown 0x4D26 //shifts screen up/down, A is LCD row, H is number of lines to shift, (OP1)-(OP1+3) are something
1214#define _AppScreenUpDown1 0x4D29 //shifts screen up/down, but really no clue what the inputs are (all registers and (OP1)-(OP1+3))
1215//4D2Ch
1216#define _initsmalleditlinevar 0x4D2F
1217#define _initsmalleditlineop1 0x4D32
1218#define _initsmalleditboxvar 0x4D35
1219#define _initsmalleditboxop1 0x4D38
1220//4D3Bh
1221#define _RestartDialog 0x4D3E
1222#define _ErrCustom1 0x4D41
1223#define _ErrCustom2 0x4D44
1224#define _AppStartMouse 0x4D47
1225#define _AppStartMouseNoSetup 0x4D4A
1226#define _AppMouseGetKey 0x4D4D
1227#define _AppDispMouse 0x4D50
1228#define _AppEraseMouse 0x4D53
1229#define _AppSetupMouseMem 0x4D56
1230#define _GetDispRowOffset 0x4D59 //HL=A*12 (intended for A to be row and HL becomes offset into plotSScreen)
1231#define _ClearRect 0x4D5C
1232#define _InvertRect 0x4D5F
1233#define _FillRect 0x4D62
1234#define _AppUpdateMouse 0x4D65
1235#define _AppDispPrevMouse 0x4D68 //might bring previous keypress's movement to current coordinates with flags to not display
1236//4D6Bh ;restores some cursor flags and stuff
1237#define _initcellbox 0x4D6E
1238#define _drawcell 0x4D71
1239//4D74h
1240#define _invertcell 0x4D77
1241#define _setcelloverride 0x4D7A
1242#define _DrawRectBorder 0x4D7D
1243#define _ClearCell 0x4D80
1244#define _covercell 0x4D83
1245#define _EraseRectBorder 0x4D86
1246#define _FillRectPattern 0x4D89
1247#define _DrawRectBorderClear 0x4D8C
1248//4D8Fh ;mouse subroutine
1249//4D92h
1250#define _VerticalLine 0x4D95
1251#define _IBoundsFull 0x4D98
1252#define _DisplayImage 0x4D9B
1253//4D9Eh ;does something dumb with ports 10h/11h
1254//4DA1h ;mouse subroutine
1255#define _AppUpdateMouseCoords 0x4DA4
1256#define _ShiftBitsLeft 0x4DA7 //mouse subroutine, shifts B bits left from DE sprite to HL one
1257//4DAAh ;mouse subroutine
1258//4DADh ;mouse subroutine
1259//4DB0h ;mouse subroutine
1260//4DB3h ;mouse subroutine
1261//4DB6h ;mouse subroutine
1262//4DB9h ;mouse subroutine
1263//4DBCh ;mouse subroutine
1264#define _AppUpdateMouseRow 0x4DBF
1265#define _AppDrawMouse 0x4DC2 //set 2,(iy+2Ch) for AppEraseMouse, reset for AppDispMouse
1266#define _AppDrawMouseDirect 0x4DC5 //pretty much _AppDrawMouse, but you pass LCD column in A
1267#define _CPoint 0x4DC8
1268#define _DeleteApp 0x4DCB
1269#define _AppUpdateMouseXY 0x4DCE
1270#define _setmodecellflag 0x4DD1
1271#define _resetmodecellflag 0x4DD4
1272#define _ismodecellset 0x4DD7
1273#define _getmodecellflag 0x4DDA
1274//4DDDh
1275#define _CellBoxManager 0x4DE0
1276#define _startnewcell 0x4DE3
1277//4DE6h
1278#define _CellCursorHandle 0x4DE9
1279//4DECh
1280//4DEFh
1281#define _ClearCurCell 0x4DF2
1282#define _drawcurcell 0x4DF5
1283#define _invertcurcell 0x4DF8
1284#define _covercurcell 0x4DFB
1285#define _BlinkCell 0x4DFE
1286#define _BlinkCellNoLookUp 0x4E01
1287#define _BlinkCurCell 0x4E04
1288#define _BlinkCellToOn 0x4E07
1289#define _BlinkCellToOnNoLookUp 0x4E0A
1290#define _BlinkCurCellToOn 0x4E0D
1291#define _BlinkCellToOff 0x4E10
1292#define _BlinkCellToOffNoLookUp0x4E13
1293#define _BlinkCurCellToOff 0x4E16
1294#define _getcurmodecellflag 0x4E19
1295//4E1Ch
1296#define _startsmalleditreturn 0x4E1F
1297//4E22h
1298//4E25h
1299#define _CellkHandle 0x4E28
1300#define _errchkalphabox 0x4E2B
1301//4E2Eh
1302//4E31h
1303//4E34h
1304//4E37h
1305#define _eraseallcells 0x4E3A
1306#define _iscurmodecellset 0x4E3D
1307//4E40h
1308#define _initalphabox 0x4E43
1309//4E46h
1310//4E49h
1311#define _drawblnkcell 0x4E4C
1312#define _ClearBlnkCell 0x4E4F
1313#define _invertblnkcell 0x4E52
1314#define _AppMouseForceKey 0x4E55
1315#define _AppSetupMouseMemCoords 0x4E58 //this is _AppSetupMouseMem except you pass starting coordinates in HL
1316#define _AppMoveMouse 0x4E5B //this is _AppMouseForceKey and then updating coordinates
1317#define _GetStringInput 0x4E5E
1318#define _GetStringInput2 0x4E61
1319#define _WaitEnterKeyValue 0x4E64
1320#define _HorizontalLine 0x4E67
1321#define _CreateAppVar 0x4E6A
1322#define _CreateProtProg 0x4E6D
1323#define _CreateVar 0x4E70
1324#define _AsmComp 0x4E73
1325#define _GetAsmSize 0x4E76
1326#define _SquishPrgm 0x4E79
1327#define _ExecutePrgm 0x4E7C
1328#define _ChkFindSymAsm 0x4E7F
1329#define _ParsePrgmName 0x4E82
1330#define _CSub 0x4E85
1331#define _CAdd 0x4E88
1332#define _CSqaure 0x4E8B
1333#define _CMult 0x4E8E
1334#define _CRecip 0x4E91
1335#define _CDiv 0x4E94
1336#define _CAbs 0x4E97
1337#define _AddSquares 0x4E9A
1338#define _CSqRoot 0x4E9D
1339#define _CLN 0x4EA0
1340#define _CLog 0x4EA3
1341#define _CTenX 0x4EA6
1342#define _CEtoX 0x4EA9
1343#define _CXrootY 0x4EAC
1344//4EAFh
1345#define _CYtoX 0x4EB2
1346#define _InvertNonReal 0x4EB5
1347#define _CplxMult 0x4EB8
1348#define _CplxDiv 0x4EBB
1349#define _CplxTrunc 0x4EBE
1350#define _CplxFrac 0x4EC1
1351#define _CplxFloor 0x4EC4
1352#define _SendHeaderPacket 0x4EC7
1353#define _CancelTransmission 0x4ECA
1354#define _SendScreenContents 0x4ECD
1355#define _SendRAMVarData 0x4ED0
1356#define _SendRAMCmd 0x4ED3
1357#define _SendPacket 0x4ED6
1358#define _ReceiveAck 0x4ED9
1359#define _Send4BytePacket 0x4EDC
1360#define _SendDataByte 0x4EDF
1361#define _Send4Bytes 0x4EE2
1362#define _SendAByte 0x4EE5
1363#define _SendCByte 0x4EE8
1364#define _GetSmallPacket 0x4EEB
1365#define _GetDataPacket 0x4EEE
1366#define _SendAck 0x4EF1
1367#define _Get4Bytes 0x4EF4
1368#define _Get3Bytes 0x4EF7
1369#define _Rec1stByte 0x4EFA
1370#define _Rec1stByteNC 0x4EFD
1371#define _ContinueGetByte 0x4F00
1372#define _RecAByteIO 0x4F03
1373#define _ReceiveVar 0x4F06
1374#define _ReceiveVarDataExists 0x4F09
1375#define _ReceiveVarData 0x4F0C
1376#define _SrchVLstUp 0x4F0F
1377#define _SrchVLstDn 0x4F12
1378#define _SendVariable 0x4F15
1379#define _Get4BytesCursor 0x4F18
1380#define _Get4BytesNC 0x4F1B
1381#define _Convert85List 0x4F1E
1382#define _SendDirectoryContents 0x4F21
1383#define _SendReadyPacket 0x4F24
1384#define _Convert85Real 0x4F27
1385#define _ret_6 0x4F2A
1386#define _SendCertificate 0x4F2D //sends certificate in header/data packets, Flash must be unlocked, used with sending an application in LINK menu
1387#define _SendApplication 0x4F30
1388#define _SendOSHeader 0x4F33
1389#define _SendOSPage 0x4F36
1390#define _SendOS 0x4F39
1391#define _FlashWriteDisable 0x4F3C
1392#define _SendCmd 0x4F3F
1393#define _SendOSValidationData 0x4F42
1394#define _Disp 0x4F45
1395#define _SendGetkeyPress 0x4F48
1396#define _RejectCommand 0x4F4B
1397#define _CheckLinkLines 0x4F4E
1398#define _GetHookByte 0x4F51
1399#define _GetBytePaged 0x4F54
1400#define _cursorhook 0x4F57
1401#define _call_library_hook 0x4F5A
1402#define _call_rawkey_hook 0x4F5D
1403#define _setCursorHook 0x4F60 //enable cursor hook
1404#define _EnableLibraryHook 0x4F63
1405#define _SetGetKeyHook 0x4F66
1406#define _ClrCursorHook 0x4F69
1407#define _DisableLibraryHook 0x4F6C
1408#define _ClrRawKeyHook 0x4F6F
1409#define _ResetHookBytes 0x4F72
1410#define _AdjustAllHooks 0x4F75
1411#define _getkeyhook 0x4F78
1412#define _SetGetcscHook 0x4F7B
1413#define _ClrGetKeyHook 0x4F7E
1414#define _call_linkactivity_hook 0x4F81
1415#define _EnableLinkActivityHook 0x4F84
1416#define _DisableLinkHook 0x4F87
1417#define _GetSmallPacket2 0x4F8A
1418#define _EnableCatalog2Hook 0x4F8D
1419#define _DisableCatalog2Hook 0x4F90
1420#define _EnableLocalizeHook 0x4F93
1421#define _DisableLocalizeHook 0x4F96
1422#define _SetTokenHook 0x4F99
1423#define _ClearTokenHook 0x4F9C
1424//4F9Fh ld hl,92c6 / ld a,(92c5) / res 2,a / cp (hl) / ret
1425//4FA2h hl=11*(92fc)+92c9 / ld a,(hl) / and Fh / cp 2 / ret ; I can almost guarantee this is stat plot related
1426#define _DispListElementOffLA 0x4FA5
1427#define _Bit_VertSplit 0x4FA8
1428#define _SetHomescreenHook 0x4FAB
1429#define _ClrHomeScreenHook 0x4FAE
1430#define _SetWindowHook 0x4FB1
1431#define _DisableWindowHook 0x4FB4
1432#define _SetGraphModeHook 0x4FB7
1433#define _DisableGraphHook 0x4FBA
1434#define _ParseAndStoreSysVar 0x4FBD
1435#define _DisplayEditSysVar 0x4FC0
1436#define _JForceWindowSettings 0x4FC3
1437#define _DelVarArc 0x4FC6
1438#define _DelVarNoArc 0x4FC9
1439#define _SetAllPlots 0x4FCC
1440#define _SetYeditHook 0x4FCF
1441#define _DisableYEquHook 0x4FD2
1442#define _JForceYEqu 0x4FD5
1443#define _Arc_Unarc 0x4FD8 //checks for low battery
1444#define _ArchiveVar 0x4FDB //set 0,(iy+24h) to check for low battery first
1445#define _UnarchiveVar 0x4FDE
1446#define _DialogKeyHook 0x4FE1 //rawkey hook used by OS for dialog context
1447#define _SetFontHook 0x4FE4
1448#define _ClrFontHook 0x4FE7
1449#define _SetRegraphHook 0x4FEA
1450#define _DisableRegraphHook 0x4FED
1451#define _RunGraphingHook 0x4FF0
1452#define _SetTraceHook 0x4FF3
1453#define _DisableTraceHook 0x4FF6
1454#define _RunTraceHook 0x4FF9
1455#define _NDeriv 0x4FFC
1456#define _PolarDerivative 0x4FFF
1457#define _JForceGraphNoKey 0x5002
1458#define _JForceGraphKey 0x5005
1459#define _PowerOff 0x5008
1460#define _GetKeyRetOff 0x500B //same as getkey, only returns kOff if 2nd+on is pressed
1461#define _FindGroupSym 0x500E
1462#define _FillBasePageTable 0x5011
1463#define _ArcChk 0x5014
1464#define _FlashToRam 0x5017
1465#define _LoadDEIndPaged 0x501A
1466#define _LoadCIndPaged 0x501D
1467#define _SetupPagedPtr 0x5020
1468#define _PagedGet 0x5023
1469#define _SetParserHook 0x5026
1470#define _ClearParserHook 0x5029
1471#define _SetAppChangeHook 0x502C
1472#define _ClearAppChangeHook 0x502F
1473#define _EnableGraphicsHook 0x5032
1474#define _DisableGraphicsHook 0x5035
1475#define _IPointNoGraphicsHook 0x5038
1476#define _ILineNoHook 0x503B
1477//503Eh
1478#define _DeleteTempPrograms 0x5041
1479#define _EnableCatalog1Hook 0x5044
1480#define _DisableCatalog1Hook 0x5047
1481#define _EnableHelpHook 0x504A
1482#define _DisableHelpHook 0x504D
1483#define _DispCatalogEnd 0x5050
1484#define _GetMenuKeypress 0x5053
1485#define _GetCatalogItem 0x5056
1486#define _RunCatalog2Hook 0x5059
1487#define _RunCatalog1Hook 0x505C
1488//505Fh
1489//5062h
1490#define _dispMenuTitle 0x5065
1491//5068h
1492#define _EnablecxRedispHook 0x506B
1493#define _DisablecxRedispHook 0x506E
1494#define _BufCpy 0x5071
1495#define _BufClr 0x5074
1496#define _UnOPExec2 0x5077
1497#define _BinOPExec2 0x507A
1498#define _LoadMenuB 0x507D //clears screen and loads menu from B, plus a couple flag changes
1499#define _DisplayVarInfo 0x5080
1500#define _SetMenuHook 0x5083
1501#define _ClearMenuHook 0x5086
1502#define _getBCOffsetIX 0x5089
1503#define _GetBCOffsetIX2 0x508C
1504#define _ForceFullScreen 0x508F
1505#define _GetVariableData 0x5092
1506#define _FindSwapSector 0x5095
1507#define _CopyFlashPage 0x5098
1508#define _FindAppNumPages 0x509B
1509#define _HLMinus5 0x509E
1510#define _SendArcPacket 0x50A1
1511#define _ForceGraphKeypress 0x50A4
1512#define _DoNothing3 0x50A7
1513#define _FormBase 0x50AA
1514//50ADh
1515#define _IsFragmented 0x50B0
1516#define _Chk_Batt_Low 0x50B3
1517#define _Chk_Batt_Low_2 0x50B6
1518#define _Arc_Unarc2 0x50B9 //identical to _Arc_Unarc, except you can choose to res 0,(iy+24h) to skip low battery check
1519#define _GetAppBasePage 0x50BC //input: a=one of an app's pages. output: a=app's first page
1520#define _SetExSpeed 0x50BF
1521#define _RclExit 0x50C2
1522#define _GroupAllVars 0x50C5
1523#define _UngroupVar 0x50C8
1524#define _WriteToFlash 0x50CB //ReceiveApplication or something like that on OSes below 2.40
1525#define _SetSilentLinkHook 0x50CE
1526#define _DisableSilentLinkHook 0x50D1
1527#define _TwoVarSet 0x50D4
1528#define _ExecClassCToken 0x50D7
1529#define _ExecClass3Token 0x50DA
1530#define _GetSysInfo 0x50DD
1531#define _NZIf83Plus 0x50E0
1532#define _LinkStatus 0x50E3
1533#define _DoNothing2 0x50E6 //originally for TI-Navigator
1534#define _KeyboardGetKey 0x50E9
1535#define _RunAppLib 0x50EC
1536#define _FindSpecialAppHeader 0x50EF
1537#define _SendUSBData 0x50F2
1538#define _AppGetCBLUSB 0x50F5
1539#define _AppGetCalcUSB 0x50F8
1540#define _GetVarCmdUSB 0x50FB
1541//50FEh
1542#define _TenX2 0x5101
1543//5104h
1544//5107h
1545#define _GetVarVersion 0x510A
1546//510Dh
1547//5110h
1548#define _DeleteTempEditEqu 0x5113
1549#define _JcursorFirst2 0x5116
1550//5119h
1551#define _PromptMoveBackLeft 0x511C
1552#define _wputsEOL2 0x511F //same except res 0,(iy+0Eh) first
1553#define _InvertTextInsMode 0x5122
1554//5125h
1555#define _ResetDefaults 0x5128
1556#define _ZeroFinanceVars 0x512B
1557#define _DispHeader 0x512E
1558#define _JForceGroup 0x5131
1559//5134h
1560//5137h
1561#define _DispCoords 0x513A
1562//513Dh
1563//5140h
1564#define _chkTmr 0x5143
1565//5146h
1566//5149h
1567//514Ch
1568#define _getDate 0x514F
1569#define _GetDateString 0x5152
1570#define _getDtFmt 0x5155
1571#define _getDtStr 0x5158
1572#define _getTime 0x515B
1573#define _GetTimeString 0x515E
1574#define _getTmFmt 0x5161
1575#define _getTmStr 0x5164
1576#define _SetZeroOne 0x5167
1577#define _setDate 0x516A
1578#define _IsOneTwoThree 0x516D
1579#define _setTime 0x5170
1580#define _IsOP112or24 0x5173
1581#define _chkTimer0 0x5176
1582#define _timeCnv 0x5179
1583#define _GetLToOP1Extra 0x517C
1584#define _ClrWindowAndFlags 0x517F
1585#define _SetMachineID 0x5182
1586#define _ResetLists 0x5185
1587#define _DispValue 0x5188
1588//518Bh
1589//518Eh
1590#define _ExecLib 0x5191
1591//5194h
1592#define _CPOP1OP2Rounded 0x5197
1593#define _CPOP1OP2Rounded2 0x519A
1594#define _OpenLib 0x519D
1595//51A0h
1596//51A3h
1597#define _ResetIOPrompt 0x51A6
1598#define _StrCpyVarData 0x51A9
1599#define _SetUpEditor 0x51AC
1600#define _SortA 0x51AF
1601#define _SortD 0x51B2
1602//51B5h
1603#define _IsOP1ResID 0x51B8
1604#define _ListEdNameCxMain 0x51BB
1605#define _ListEdEnterNewName 0x51BE
1606//51C1h
1607#define _ForceModeKeypress 0x51C4 //forces a keypress (and calls help hook) on any of several mode-setting contexts
1608#define _DispAboutScreen 0x51C7
1609#define _ChkHelpHookVer 0x51CA
1610#define _Disp32 0x51CD
1611//51D0h
1612//51D3h
1613//51D6h
1614//51D9h
1615#define _DrawTableEditor 0x51DC //draws table editor lines
1616#define _DisplayListNameEquals 0x51DF
1617#define _DisplayListHeader 0x51E2
1618#define _DispMatrixDimensions 0x51E5
1619#define _HighlightListEdItem 0x51E8
1620//51EBh
1621//51EEh
1622#define _MatrixName 0x51F1
1623//51F4h
1624//51F7h
1625//51FAh
1626//51FDh
1627//5200h
1628//5203h
1629//5206h
1630//5209h
1631//520Ch
1632//520Fh
1633#define _SetupEmptyEditTempEqu 0x5212
1634#define _ExecClass1Token 0x5215
1635#define _HandleMathTokenParse 0x5218
1636#define _MaybePushMultiplyOp 0x521B
1637#define _RestartParseOP1Result 0x521E
1638#define _Chk_Batt_Level 0x5221
1639//5224h
1640//5227h
1641//522Ah
1642#define _DisplayListEquals 0x522D
1643#define _GetCurPlotListOffset 0x5230
1644#define _GoToLastRow 0x5233
1645#define _RectBorder 0x5236
1646//5239h
1647//523Ch
1648//523Fh
1649#define _LoadA5 0x5242
1650//5245h
1651#define _NamedListToOP1 0x5248
1652//524Bh
1653//524Eh
1654//5251h
1655#define _InitUSBDeviceCallback 0x5254
1656#define _KillUSBDevice 0x5257 //this actually recycles the USB connection and re-inits it (I think)
1657#define _SetUSBConfiguration 0x525A
1658#define _RequestUSBData 0x525D
1659#define _StopReceivingUSBData 0x5260
1660#define _FindAppHeaderByPage 0x5263
1661#define _FindNextHeaderByPage 0x5266
1662#define _IsMatchingLaunchApp 0x5269
1663#define _InitTimer 0x526C
1664#define _KillTimer 0x526F
1665#define _StartTimer 0x5272
1666#define _RestartTimer 0x5275
1667#define _StopTimer 0x5278
1668#define _WaitTimer 0x527B
1669#define _CheckTimer 0x527E
1670#define _CheckTimerRestart 0x5281
1671#define _SetVertGraphActive 0x5284
1672#define _ClearVertGraphActive 0x5287
1673#define _EnableUSBHook 0x528A
1674#define _DisableUSBHook 0x528D
1675#define _InitUSBDevice 0x5290
1676#define _KillUSBPeripheral 0x5293
1677#define _GetCurPlotListOffset2 0x5296
1678//5299h
1679#define _GraphLine 0x529C
1680//529Fh
1681//52A2h
1682//52A5h
1683//52A8h
1684//52ABh
1685//52AEh
1686#define _ZifTableEditor 0x52B1
1687//52B4h
1688#define _GetCurPlotOffset 0x52B7
1689//52BAh
1690#define _FindAppName 0x52BD
1691//52C0h
1692//52C3h
1693#define _UpdateStatPlotLists 0x52C6
1694#define _GrBufCpyCustom 0x52C9
1695//52CCh
1696//52CFh
1697//52D2h
1698#define _VDispRealOP1 0x52D5
1699#define _DispXEqualsNum 0x52D8
1700#define _ResetGraphSettings 0x52DB
1701#define _InitializeVariables 0x52DE
1702//52E1h ;bit 4,(9C75h) (this is DEFINITELY returning the status of something when acting as a TI-SmartView Input Pad...this bit is bit 1 of the data byte from a PC HID Set Report request)
1703#define _DelVarSym 0x52E4
1704#define _FindAppUpNoCase 0x52E7
1705#define _FindAppDnNoCase 0x52EA
1706#define _DeleteInvalidApps 0x52ED
1707#define _DeleteApp_Link 0x52F0
1708#define _CmpSymsNoCase 0x52F3
1709#define _SetAppRestrictions 0x52F6
1710#define _RemoveAppRestrictions 0x52F9
1711#define _QueryAppRestrictions 0x52FC
1712#define _DispAppRestrictions 0x52FF
1713#define _SetupHome 0x5302
1714#define _GRPUTAWAYFull 0x5305 //same as _GRPUTAWAY except it assumes no split screen
1715#define _SendSmartPadKeypress 0x5308 //B and A are the inputs
1716#define _ToggleUSBSmartPadInput 0x530B //A is input, 0 or 1 to enable/disable
1717#define _IsUSBDeviceConnected 0x530E //bit 4,(81h) \ ret, this is just a guess on its purpose but it seems to work
1718#define _RecycleUSB 0x5311 //identical to 5257h
1719#define _PolarEquToOP1 0x5314
1720#define _ParamXEquToOP1 0x5317
1721#define _ParamYEquToOP1 0x531A
1722#define _GetRestrictionsOptions 0x531D
1723#define _DispResetComplete 0x5320
1724#define _PTTReset 0x5323
1725#define _FindAppCustom 0x5326
1726#define _ClearGraphStyles 0x5329
1727//532Ch
1728//532Fh
1729//5332h
1730//5335h
1731//5338h
1732//533Bh
1733//533Eh
1734//5341h
1735//5344h
1736//5347h
1737//534Ah
1738//534Dh
1739//5350h
1740//5353h
1741//5356h
1742//5359h
1743//535Ch
1744//535Fh
1745//5362h
1746//5365h
1747//5368h
1748//536Bh
1749//536Eh
1750//5371h
1751//5374h
1752//5377h
1753//537Ah
1754//537Dh
1755//5380h
1756//5383h
1757//5386h
1758//5389h
1759//538Ch
1760//538Fh
1761//5392h
1762//5395h
1763//5398h
1764//539Bh
1765//539Eh
1766//53A1h
1767//53A4h
1768//53A7h
1769//53AAh
1770//53ADh
1771//53B0h
1772//53B3h
1773//53B6h
1774//53B9h
1775//53BCh
1776//53BFh
1777//53C2h
1778//53C5h
1779//53C8h
1780//53CBh
1781//53CEh
1782//53D1h
1783//53D4h
1784//53D7h
1785//53DAh
1786//53DDh
1787//53E0h
1788//53E3h
1789//53E6h
1790//53E9h
1791//53ECh
1792//53EFh
1793//53F2h
1794//53F5h
1795//53F8h
1796//53FBh
1797//53FEh
1798//5401h
1799//5404h
1800//5407h
1801//540Ah
1802//540Dh
1803//5410h
1804//5413h
1805//5416h
1806//5419h
1807//541Ch
1808//541Fh
1809//5422h
1810//5425h
1811//5428h
1812//542Bh
1813//542Eh
1814//5431h
1815//5434h
1816//5437h
1817//543Ah
1818//543Dh
1819//5440h
1820//5443h
1821//5446h
1822//5449h
1823#define _xorAret 0x5443
1824#define _scfRet 0x5446
1825#define _ret 0x5449
1826
1827//Page 1Fh ROM Calls
1828//--------------------------------
1829#define bootbtf 0x8000
1830//400Fh may point to version string ("1.02 ",0)
1831#define _MD5Final 0x8018
1832#define _RSAValidate 0x801B
1833#define _cmpStr 0x801E //BigNumCompare
1834#define _WriteAByte 0x8021
1835#define _EraseFlash 0x8024
1836#define _FindFirstCertField 0x8027
1837#define _ZeroToCertificate 0x802A
1838#define _GetCertificateEnd 0x802D
1839#define _FindGroupedField 0x8030
1840#define _ret_1 0x8033
1841#define _ret_2 0x8036
1842#define _ret_3 0x8039
1843#define _ret_4 0x803C
1844#define _ret_5 0x803F
1845#define _Mult8By8 0x8042
1846#define _Mult16By8 0x8045
1847#define _Div16By8 0x8048
1848#define _Div16By16 0x804B
1849//804Eh ;scary certificate reading and writing, something about calc ID and fields 0A10/0A20
1850#define _LoadAIndPaged 0x8051
1851#define _FlashToRam2 0x8054
1852#define _GetCertificateStart 0x8057
1853#define _GetFieldSize 0x805A
1854#define _FindSubField 0x805D
1855#define _EraseCertificateSector 0x8060
1856#define _CheckHeaderKey 0x8063
1857//8066h ;just returns Z if specified data in field 0310h, subfield 0610h exists, DE points to data of that field you want to find
1858//8069h ;just returns number of 0810h/0710h fields that exist in certificate or something, in IX
1859#define _Load_LFontV2 0x806C
1860#define _Load_LFontV 0x806F
1861#define _ReceiveOS 0x8072
1862#define _FindOSHeaderSubField 0x8075
1863#define _FindNextCertField 0x8078
1864#define _GetByteOrBoot 0x807B
1865#define _getSerial 0x807E //GetCalcSerial
1866#define _ReceiveCalcID 0x8081 //receives certificate replacement (including calculator ID, fails if already exists) and writes it, requires Flash unlocked
1867#define _EraseFlashPage 0x8084
1868#define _WriteFlashUnsafe 0x8087
1869#define _dispBootVer 0x808A
1870#define _MD5Init 0x808D
1871#define _MD5Update 0x8090
1872#define _MarkOSInvalid 0x8093
1873#define _FindProgramLicense 0x8096 //copies 8010h field to appID and other insane stuff that makes zero sense
1874#define _MarkOSValid 0x8099
1875#define _CheckOSValidated 0x809C
1876#define _SetupAppPubKey 0x809F
1877#define _SigModR 0x80A2
1878#define _TransformHash 0x80A5
1879#define _IsAppFreeware 0x80A8
1880#define _FindAppHeaderSubField 0x80AB
1881#define _WriteValidationNumber 0x80AE //generates two-byte validation number from calc ID and stores to certificate
1882#define _Div32By16 0x80B1
1883#define _FindGroup 0x80B4 //searches until field of DE-like group is found (DE=0A00h, it stops when it finds 0Ax0h)
1884#define _getBootVer 0x80B7
1885#define _getHardwareVersion 0x80BA
1886#define _xorA 0x80BD //xor a
1887#define _bignumpowermod17 0x80C0
1888#define _ProdNrPart1 0x80C3
1889#define _WriteAByteSafe 0x80C6
1890#define _WriteFlash 0x80C9
1891#define _SetupDateStampPubKey 0x80CC
1892#define _SetFlashLowerBound 0x80CF
1893#define _LowBatteryBoot 0x80D2
1894//TI-84 Plus/Silver Edition Only Entry Points
1895#define _AttemptUSBOSReceive 0x80E4 //Z to wait for USB cable insert & get OS, NZ and A= contents of port 4Dh or 56h, ON to cancel & clear RAM
1896#define _DisplayBootMessage 0x80E7
1897#define _NewLine2 0x80EA
1898#define _DisplayBootError10 0x80ED
1899#define _Chk_Batt_Low_B 0x80F0
1900#define _Chk_Batt_Low_B2 0x80F3
1901#define _ReceiveOS_USB 0x80F6
1902#define _DisplayOSProgress 0x80F9
1903#define _ResetCalc 0x80FC
1904#define _SetupOSPubKey 0x80FF
1905#define _CheckHeaderKeyHL 0x8102 //same as _CheckHeaderKey, only you pass the address of header in HL, not at appData
1906#define _USBErrorCleanup 0x8105 //kills some USB stuff (doesn't completely kill periph communication), error handler in boot code
1907#define _InitUSB 0x8108 //initializes USB hardware as peripheral, sets 5,(iy+1Bh), C set if problems
1908//810Bh set 1,(81h) and wait (has something to do with USB peripheral kill, but it doesn't actually kill it)
1909#define _KillUSB 0x810E //identical to 8105h, except in the middle of the outputs, it sends zero to port 4Ch
1910#define _DisplayBootError1 0x8111
1911#define _DisplayBootError2 0x8114
1912#define _DisplayBootError3 0x8117
1913#define _DisplayBootError4 0x811A
1914#define _DisplayBootError5 0x811D
1915#define _DisplayBootError6 0x8120
1916#define _DisplayBootError7 0x8123
1917#define _DisplayBootError8 0x8126
1918#define _DisplayBootError9 0x8129
1919
1920//RAM Equates
1921//--------------------------------
1922#define ramStart 0x8000
1923#define appData 0x8000
1924#define ramCode 0x8100
1925#define SmallEditColumnLeft 0x8177
1926#define SmallEditRow 0x8178
1927#define SmallEditColumnRight 0x8179
1928//penCol left edge? equ 817Bh
1929#define bigInteger1 0x8182
1930#define SmallEditCancelParse 0x8194
1931#define SmallEditRowCount 0x81B7
1932#define bigInteger2 0x81C3
1933#define SmallEditPromptString 0x81CC
1934#define ramCodeEnd 0x822F
1935#define baseAppBrTab 0x8230 //table of base pages for apps on page < 20h (starts with eight zeroes because they're OS pages)
1936#define clockFlag 0x8230 //bit 2 set for 24-hour mode and don't display "AM/PM"
1937#define clockIDs 0x8231 //five bytes, numbers 0-4 in memory, that when present, stops displaying clock numbers in time setting context?
1938#define bootTemp 0x8251
1939#define MD5Temp 0x8259
1940#define MD5Length 0x8269
1941#define MD5Hash 0x8292
1942#define appSearchPage 0x82A3
1943#define tempSwapArea 0x82A5
1944//something equ 837Bh ;18 bytes, probably indicates something about Flash app pages, start out as 0FFh
1945#define appID 0x838D
1946#define arcPageEnd 0x8392
1947#define arcPtrEnd 0x8393
1948//839Fh something...field size bytes?
1949#define MD5Buffer 0x83A5
1950#define Abackup 0x83EB
1951#define ramReturnData 0x83ED
1952#define arcInfo 0x83EE
1953#define savedArcInfo 0x8406
1954#define appInfo 0x8432
1955#define appBank_jump 0x843C
1956#define appPage 0x843E
1957#define kbdScanCode 0x843F
1958#define kbdKey 0x8444
1959#define kbdGetKy 0x8445
1960#define keyExtend 0x8446
1961#define EXTECHO keyExtend
1962#define contrast 0x8447
1963#define apdSubTimer 0x8448
1964#define apdTimer 0x8449
1965#define curTime 0x844A
1966#define curRow 0x844B
1967#define curCol 0x844C
1968#define curOffset 0x844D
1969#define curUnder 0x844E
1970#define curY 0x844F
1971#define curType 0x8450
1972#define curXRow 0x8451
1973#define prevDData 0x8452
1974#define lFont_record 0x845A
1975#define sFont_record 0x8462
1976#define tokVarPtr 0x846A
1977#define tokLen 0x846C
1978#define indicMem 0x846E //eight bytes used by _saveTR and _restoreTR to store image in top right corner
1979#define indicCounter 0x8476
1980#define indicBusy 0x8477
1981#define OP1 0x8478
1982#define OP1M 0x847A
1983#define OP2 0x8483
1984#define OP2M 0x8485
1985#define OP2EXT 0x848C
1986#define OP3 0x848E
1987#define OP3M 0x8490
1988#define OP4 0x8499
1989#define OP4M 0x849B
1990#define OP5 0x84A4
1991#define OP5M 0x84A6
1992#define OP6 0x84AF
1993#define OP6M 0x84B1
1994#define OP6EXT 0x84B8
1995#define progToEdit 0x84BF
1996#define nameBuff 0x84C7
1997#define equ_edit_save 0x84D2
1998#define iMathPtr1 0x84D3
1999#define iMathPtr2 0x84D5
2000#define iMathPtr3 0x84D7
2001#define iMathPtr4 0x84D9
2002#define iMathPtr5 0x84DB
2003#define chkDelPtr1 0x84DD
2004#define chkDelPtr2 0x84DF
2005#define insDelPtr 0x84E1
2006#define upDownPtr 0x84E3
2007#define fOutDat 0x84E5
2008#define asm_data_ptr1 0x84EB
2009#define asm_data_ptr2 0x84ED
2010#define asm_sym_ptr1 0x84EF
2011#define asm_sym_ptr2 0x84F1
2012#define asm_ram 0x84F3
2013#define asm_ind_call 0x8507
2014#define textShadow 0x8508
2015#define textShadCur 0x8588
2016#define textShadTop 0x858A
2017#define textShadAlph 0x858B
2018#define textShadIns 0x858C
2019#define cxMain 0x858D
2020#define cxPPutAway 0x858F
2021#define cxPutAway 0x8591
2022#define cxErrorEP 0x8595
2023#define cxSizeWind 0x8597
2024#define cxPage 0x8599
2025#define cxCurApp 0x859A
2026#define cxPrev 0x859B //12 bytes are shadows of cxMain through cxCurApp and appFlags
2027#define monQH 0x85AA
2028#define monQT 0x85AB
2029#define monQueue 0x85AC
2030#define onSP 0x85BC
2031#define promptRow 0x85C0
2032#define promptCol 0x85C1
2033#define promptIns 0x85C2
2034#define promptShift 0x85C3
2035#define promptRet 0x85C4
2036#define promptValid 0x85C6
2037#define promptTop 0x85C8
2038#define promptCursor 0x85CA
2039#define promptTail 0x85CC
2040#define promptBtm 0x85CE
2041#define varType 0x85D0
2042#define varCurrent 0x85D1
2043#define varClass 0x85D9
2044#define CatalogCurrent 0x85DA //word at this location starting with 6007h corresponds to what is highlighted in catalog
2045#define menuActive 0x85DC
2046#define menuAppDepth 0x85DD
2047#define MenuCurrent 0x85DE
2048// equ 85DFh ;holds current submenu index
2049// equ 85E0h ;holds currently selected item in current submenu
2050// equ 85E1h ;holds number of submenus for this menu
2051// equ 85E2h ;holds number of items in this submenu
2052// equ 85E3h ;iy+appFlags backup for menu stuff
2053// equ 85E4h ;iy+0Ch backup for menu stuff
2054// equ 85E5h ;curGStyle backup for menu stuff
2055// equ 85E6h ;iy+graphFlags backup for menu stuff
2056#define ProgCurrent 0x85E8
2057//something, OP1 backup? equ 85F2h ;type and name of topmost variable on menu with names
2058//something equ 85FDh
2059#define userMenuSA 0x85FE
2060#define ioPrompt 0x865F
2061#define dImageWidth 0x8660
2062#define ioFlag 0x8670
2063#define sndRecState 0x8672
2064#define ioErrState 0x8673
2065#define header 0x8674
2066#define ioData 0x867D
2067#define ioNewData 0x8689
2068#define bakHeader 0x868B
2069//something equ 8697h ;app bitmap for selecting stuff from menus
2070//something equ 86B7h ;used in 47h and 74h link packets
2071#define penCol 0x86D7
2072#define penRow 0x86D8
2073#define rclQueue 0x86D9
2074#define rclQueueEnd 0x86DB
2075#define errNo 0x86DD
2076#define errSP 0x86DE
2077#define errOffset 0x86E0
2078#define saveSScreen 0x86EC
2079#define asm_prgm_size 0x89EC
2080#define bstCounter 0x89EE
2081#define flags 0x89F0
2082#define appFlagsAddr 0x89FD
2083//something equ 8A36h ;stats-related? This gets stored to (varCurrent) for some reason
2084#define statVars 0x8A3A
2085#define anovaf_vars 0x8C17
2086#define infVars 0x8C4D
2087#define infVar1 0x8C56
2088#define infVar2 0x8C5F
2089#define infVar3 0x8C68
2090#define infVar4 0x8C71
2091#define infVar5 0x8C7A
2092#define infVar6 0x8C83
2093#define infVar7 0x8C8C
2094#define infVar8 0x8C95
2095#define infVar9 0x8C9E
2096#define infVar10 0x8CA7
2097#define infVar11 0x8CB0
2098#define infVar12 0x8CB9
2099#define infVar13 0x8CC2
2100#define infVar14 0x8CCB
2101#define infVar15 0x8CD4
2102#define infVar16 0x8CDD
2103#define infVar17 0x8CE6
2104#define infVar18 0x8CEF
2105#define infVar19 0x8CF8
2106#define infVar20 0x8D01
2107//something equ 8D0Bh
2108//list-related stat vars equ 8D0Dh
2109#define curGStyle 0x8D17
2110#define curGY 0x8D18
2111#define curGX 0x8D19
2112#define curGY2 0x8D1A
2113#define curGX2 0x8D1B //currently selected equation while graphing
2114#define freeSaveY 0x8D1C
2115#define freeSaveX 0x8D1D
2116//100 bytes equ 8D2Ah
2117#define XOffset 0x8DA1
2118#define YOffset 0x8DA2
2119#define lcdTallP 0x8DA3
2120#define pixWideP 0x8DA4
2121#define pixWide_m_1 0x8DA5
2122#define pixWide_m_2 0x8DA6
2123#define lastEntryPTR 0x8DA7 //pointer to the next available byte in the entry stack
2124#define lastEntryStk 0x8DA9 //the start of entry stack (note last entry is not in the stack, it is in the program '#'.) This is a stack of strings. first 2 bytes are length, followed by string. 2nd from last entry is first in this stack.
2125#define numLastEntries 0x8E29 //number of entries you can back-track through minus one
2126#define currLastEntry 0x8E2A //counter used by OS to keep track of which entry was just displayed by pressing 2nd+enter
2127#define curPlotNumber 0x8E63 //current plot being graphed (1-3), this gets reset back to 0
2128//something equ 8E65h
2129//something equ 8E66h
2130#define curInc 0x8E67
2131#define uXmin 0x8E7E
2132#define uXmax 0x8E87
2133#define uXscl 0x8E90
2134#define uYmin 0x8E99
2135#define uYmax 0x8EA2
2136#define uYscl 0x8EAB
2137#define uThetMin 0x8EB4
2138#define uThetMax 0x8EBD
2139#define uThetStep 0x8EC6
2140#define uTmin 0x8ECF
2141#define uTmax 0x8ED8
2142#define uTStep 0x8EE1
2143#define uPlotStart 0x8EEA
2144#define unMax 0x8EF3
2145#define uu0 0x8EFC
2146#define uv0 0x8F05
2147#define unMin 0x8F0E
2148#define uu02 0x8F17
2149#define uv02 0x8F20
2150#define uw0 0x8F29
2151#define uPlotStep 0x8F32
2152#define uXres 0x8F3B
2153#define uw02 0x8F44
2154#define Xmin 0x8F50
2155#define Xmax 0x8F59
2156#define Xscl 0x8F62
2157#define Ymin 0x8F6B
2158#define Ymax 0x8F74
2159#define Yscl 0x8F7D
2160#define ThetaMin 0x8F86
2161#define ThetaMax 0x8F8F
2162#define ThetaStep 0x8F98
2163#define TminPar 0x8FA1
2164#define TmaxPar 0x8FAA
2165#define Tstep 0x8FB3
2166#define PlotStart 0x8FBC
2167#define nMax 0x8FC5
2168#define u0 0x8FCE
2169#define v0 0x8FD7
2170#define nMin 0x8FE0
2171#define u02 0x8FE9
2172#define v02 0x8FF2
2173#define w0 0x8FFB
2174#define PlotStep 0x9004
2175#define XresO 0x900D
2176#define w02 0x9016
2177#define un1 0x901F
2178#define un2 0x9028
2179#define vn1 0x9031
2180#define vn2 0x903A
2181#define wn1 0x9043
2182#define wn2 0x904C
2183#define fin_N 0x9055
2184#define fin_I 0x905E
2185#define fin_PV 0x9067
2186#define fin_PMT 0x9070
2187#define fin_FV 0x9079
2188#define fin_PY 0x9082
2189#define fin_CY 0x908B
2190#define cal_N 0x9094
2191#define cal_I 0x909D
2192#define cal_PV 0x90A6
2193#define cal_PMT 0x90AF
2194#define cal_FV 0x90B8
2195#define cal_PY 0x90C1
2196#define smallEditRAM 0x90D3
2197#define XFact 0x913F
2198#define YFact 0x9148
2199#define Xres_int 0x9151
2200#define deltaX 0x9152
2201#define deltaY 0x915B
2202#define shortX 0x9164
2203#define shortY 0x916D
2204#define lower 0x9176
2205#define upper 0x917F
2206#define XOutSym 0x918C
2207#define XOutDat 0x918E
2208#define YOutSym 0x9190
2209#define YOutDat 0x9192
2210#define inputSym 0x9194
2211#define inputDat 0x9196
2212#define prevData 0x9198
2213//something equ 91D9h
2214//something equ 91DAh
2215#define CurTableRow 0x91DC
2216#define CurTableCol 0x91DD
2217#define TblMin 0x92B3
2218#define TblStep 0x92BC
2219//something equ 92C5h
2220//something equ 92C6h
2221//somePlotThing1 equ 92D9h
2222//somePlotThing2 equ 92EAh
2223//somePlotThing3 equ 92FBh
2224#define ES 0x9302 //bottom of the es
2225#define EST 0x9305 //current height of the es
2226//something equ 9311h ;this is the pointer to a table of stuff for a BASIC menu
2227#define plotSScreen 0x9340
2228#define seed1 0x9640
2229#define seed2 0x9649
2230#define basic_prog 0x9652
2231#define basic_start 0x965B
2232#define nextParseByte 0x965D //basic_pc
2233#define basic_end 0x965F
2234#define numArguments 0x9661
2235//something equ 9665h ;parser-related word
2236//something equ 966Ch
2237//something equ 966Dh
2238#define cmdShadow 0x966E
2239#define cmdShadCur 0x96EE
2240#define cmdShadAlph 0x96F0
2241#define cmdShadIns 0x96F1
2242#define cmdCursor 0x96F2
2243#define editTop 0x96F4
2244#define editCursor 0x96F6
2245#define editTail 0x96F8
2246#define editBtm 0x96FA
2247//something equ 96FEh ;word, this is offset into list for currently-highlighted element in list editor
2248//something equ 9700h ;table entry pointer used in dialog/menu/edit buffer routines
2249#define matrixDimensions 0x9702 //dimensions of matrix being edited in matrix editor
2250#define editSym 0x9706 //pointer to symbol table entry of variable being edited
2251#define editDat 0x9708 //pointer to data of variable being edited
2252//something equ 970Eh ;stats/list editor related, usually 1
2253//something equ 970Fh ;stats/list editor related, usually 0 (this is 0-based offset from listName1), pretty sure this is a page offset
2254//something equ 9710h ;stats/list editor related, usually 0 (this is 0-based currently-selected list)
2255#define listName1 0x9711
2256#define listName2 0x9716
2257#define listName3 0x971B
2258#define listName4 0x9720
2259#define listName5 0x9725
2260#define listName6 0x972A
2261#define listName7 0x972F
2262#define listName8 0x9734
2263#define listName9 0x9739
2264#define listName10 0x973E
2265#define listName11 0x9743
2266#define listName12 0x9748
2267#define listName13 0x974D
2268#define listName14 0x9752
2269#define listName15 0x9757
2270#define listName16 0x975C
2271#define listName17 0x9761
2272#define listName18 0x9766
2273#define listName19 0x976B
2274#define listName20 0x9770
2275//something equ 9775h
2276#define y1LineType 0x9776 //these bytes define the line type for functions which are graphed
2277#define y2LineType 0x9777
2278#define y3LineType 0x9778
2279#define y4LineType 0x9779
2280#define y5LineType 0x977A
2281#define y6LineType 0x977B
2282#define y7LineType 0x977C
2283#define y8LineType 0x977D
2284#define y9LineType 0x977E
2285#define y0LineType 0x977F
2286#define para1LineType 0x9780
2287#define para2LineType 0x9781
2288#define para3LineType 0x9782
2289#define para4LineType 0x9783
2290#define para5LineType 0x9784
2291#define para6LineType 0x9785
2292#define polar1LineType 0x9786
2293#define polar2LineType 0x9787
2294#define polar3LineType 0x9788
2295#define polar4LineType 0x9789
2296#define polar5LineType 0x978A
2297#define polar6LineType 0x978B
2298#define secULineType 0x978C
2299#define secVLineType 0x978D
2300#define secWLineType 0x978E
2301//something equ 979Fh
2302//something equ 97A1h
2303#define winTop 0x97A5
2304#define winBtm 0x97A6
2305#define winLeftEdge 0x97A7
2306#define winLeft 0x97A8
2307#define winAbove 0x97AA
2308#define winRow 0x97AC
2309#define winCol 0x97AE
2310#define fmtDigits 0x97B0
2311#define fmtString 0x97B1
2312#define fmtConv 0x97F2
2313#define fmtLeft 0x9804
2314#define fmtIndex 0x9806
2315#define fmtMatSym 0x9808
2316#define fmtMatMem 0x980A
2317#define EQS 0x980C
2318//something equ 980Eh
2319//something equ 9810h
2320#define freeRAM 0x9815 //pretty sure this is the amount of RAM free, valid in Mem Mgmt/Del anyway
2321//something equ 9817h
2322#define tSymPtr1 0x9818
2323#define tSymPtr2 0x981A
2324#define chkDelPtr3 0x981C
2325#define chkDelPtr4 0x981E
2326#define tempMem 0x9820
2327#define fpBase 0x9822
2328#define FPS 0x9824
2329#define OPBase 0x9826
2330#define OPS 0x9828
2331#define pTempCnt 0x982A
2332#define cleanTmp 0x982C
2333#define pTemp 0x982E //end of symbol table
2334#define progPtr 0x9830
2335#define newDataPtr 0x9832
2336#define pagedCount 0x9834
2337#define pagedPN 0x9835
2338#define pagedGetPtr 0x9836
2339#define pagedPutPtr 0x9838
2340#define pagedBuf 0x983A
2341//something equ 984Ah ;this is the top LCD row for a menu (usually 1)
2342#define appErr1 0x984D
2343#define appErr2 0x985A
2344#define flashByte1 0x9867
2345#define flashByte2 0x9868
2346#define freeArcBlock 0x9869
2347#define arcPage 0x986B
2348#define arcPtr 0x986C
2349#define appRawKeyHandle 0x9870
2350#define appBackUpScreen 0x9872
2351#define customHeight 0x9B72
2352#define localLanguage 0x9B73
2353#define hookExecTemp 0x9B75
2354#define linkActivityHook 0x9B78
2355#define cursorHookPtr 0x9B7C
2356#define libraryHookPtr 0x9B80
2357#define rawKeyHookPtr 0x9B84
2358#define getKeyHookPtr 0x9B88
2359#define homescreenHookPtr 0x9B8C
2360#define windowHookPtr 0x9B90
2361#define graphHookPtr 0x9B94
2362#define yEqualsHookPtr 0x9B98
2363#define fontHookPtr 0x9B9C
2364#define regraphHookPtr 0x9BA0
2365#define graphicsHook 0x9BA4
2366#define traceHookPtr 0x9BA8
2367#define parserHookPtr 0x9BAC
2368#define appChangeHookPtr 0x9BB0
2369#define catalog1HookPtr 0x9BB4
2370#define helpHookPtr 0x9BB8
2371#define cxRedispHookPtr 0x9BBC
2372#define menuHookPtr 0x9BC0
2373#define catalog2HookPtr 0x9BC4
2374#define tokenHookPtr 0x9BC8
2375#define localizeHookPtr 0x9BCC
2376#define silentLinkHookPtr 0x9BD0 //restartClr?
2377#define USBActivityHookPtr 0x9BD4
2378#define baseAppBrTab2 0x9C06 //table of base pages for apps on page >= 20h; first 20h bytes are zeroes.
2379#define USBcallbackPage 0x9C13
2380#define USBcallbackPtr 0x9C14
2381#define vendorID 0x9C16
2382#define productID 0x9C18
2383#define devReleaseNumber 0x9C1A
2384#define oldSESpeed 0x9C21
2385#define calcPeripheralState 0x9C26
2386#define usb_dataWaitingCount 0x9C27
2387#define basePageTable2End 0x9C6F //this is the last page
2388#define port91hTemp 0x9C79
2389#define usb_dataExpectCount 0x9C80
2390#define offPageCallPage 0x9C83 //temporarily stores off-page page and address
2391#define offPageCallAddress 0x9C84
2392//something equ 9C86h ;used with SE link activity, values of 00h, 0FAh, 0FFh probably mean something
2393//something equ 9C87h ;zero this to force the APPS menu to recache itself (this is always either 0, 1, or last app page, for some reason)
2394//something equ 9C88h ;don't know, but it's 14 bytes and has to do with selecting stuff (if 9C87h is non-zero, this is zeroed out)
2395//something equ 9C9Eh ;funky, this actually gets written to the certificate on non-83+ (11 bytes)
2396#define SEspeed 0x9CAE
2397//something, table index equ 9CAFh
2398//something equ 9CB0h
2399//something equ 9CB1h ;table
2400//something equ 9CCDh
2401#define localTokStr 0x9D65
2402#define keyForStr 0x9D76
2403#define keyToStrRam 0x9D77
2404#define sedMonSp 0x9D88 //small edit monitor SP
2405#define bpSave 0x9D8A
2406#define userMem 0x9D95
2407#define symTable 0x0FE66
2408
2409//System Flags
2410//----------------------------------------------------------------------
2411#define ioDelFlag 0x0
2412#define inDelete 0 //1 = DELETE SCREEN
2413
2414#define trigFlags 0x0 //Trigonometry mode settings
2415#define trigDeg 2 //1=degrees, 0=radians
2416
2417#define kbdFlags 0x0 //Keyboard scan
2418#define kbdSCR 3 //1=scan code ready
2419#define kbdKeyPress 4 //1=key has been pressed
2420
2421#define doneFlags 0x0 //display "Done"
2422#define donePrgm 5 //1=display "Done" after prgm
2423//----------------------------------------------------------------------
2424#define editFlags 0x1
2425#define editOpen 2 //1=edit buffer is open
2426
2427#define ansFlags 1
2428#define AnsScroll 3 //1=answer can scroll, seems must be reset in order to move about edit buffer
2429
2430#define monFlags 0x1 //monitor flags
2431#define monAbandon 4 //1=don't start any long process in put away (#715)
2432//----------------------------------------------------------------------
2433#define plotFlags 0x2 //plot generation flags
2434#define plotLoc 1 //0=bkup & display, 1=display only
2435#define plotDisp 2 //1=plot is in display, 0=text in display, this also indicates whether graph is being shown or not
2436
2437#define grfModeFlags 0x2 //graph mode settings
2438#define grfFuncM 4 //1=function graph
2439#define grfPolarM 5 //1=polar graph
2440#define grfParamM 6 //1=parametric graph
2441#define grfRecurM 7 //1=RECURSION graph
2442//----------------------------------------------------------------------
2443#define graphFlags 0x3
2444#define graphDraw 0 //0=graph is valid, 1=redraw graph(dirty)
2445#define graphCursor 2
2446//----------------------------------------------------------------------
2447#define grfDBFlags 0x4
2448#define grfDot 0 //0=line, 1=dot
2449#define grfSimul 1 //0=sequential, 1=simultaneous
2450#define grfGrid 2 //0=no grid, 1=grid
2451#define grfPolar 3 //0=rectangular, 1=polar coordinates
2452#define grfNoCoord 4 //0=display coordinates, 1=off
2453#define grfNoAxis 5 //0=axis, 1=no axis
2454#define grfLabel 6 //0=off, 1=axis label
2455//----------------------------------------------------------------------
2456#define textFlags 0x5 //Text output flags
2457#define textEraseBelow 1 //1=erase line below small char
2458#define textScrolled 2 //1=screen scrolled
2459#define textInverse 3 //1=display inverse bit-map
2460#define textInsMode 4 //0=overstrike, 1=insert mode
2461//----------------------------------------------------------------------
2462#define ParsFlag 0x6 //PARSER flags
2463//----------------------------------------------------------------------
2464#define ParsFlag2 0x7 //PARSER flags
2465#define numOP1 0 //1=RESULT IN OP1, 0=NO RESULT
2466//----------------------------------------------------------------------
2467#define newDispF 0x8 //Derivative mode flags
2468#define preClrForMode 0 //1=HELP BLINK ON MODE SCREEN
2469#define allowProgTokens 1 //1=allow programming tokens to be parsed in BASIC programs
2470
2471#define apdFlags 0x8 //Automatic power-down
2472#define apdAble 2 //1=APD enabled
2473#define apdRunning 3 //1=APD clock running
2474#define apdWarmStart 4 //1=calculator is turning on from APD or power loss
2475//----------------------------------------------------------------------
2476#define web_err_mask 0x60
2477//----------------------------------------------------------------------
2478#define onFlags 0x9 //on key flags
2479#define parseInput 1 //1=parse input when done
2480#define onRunning 3 //1=calculator is running
2481#define onInterrupt 4 //1=on key interrupt request
2482
2483#define statFlags 0x9 //statistics flags
2484//unknown equ 5 ;unknown
2485#define statsValid 6 //1=stats are valid
2486//----------------------------------------------------------------------
2487#define fmtFlags 0x0A //numeric format flags
2488#define fmtExponent 0 //1=show exponent, 0=no exponent
2489#define fmtEng 1 //1=engineering notion, 0=scientific
2490#define fmtHex 2 //1=hexadecimal
2491#define fmtOct 3 //1=octal
2492#define fmtBin 4 //1=binary
2493
2494#define numMode 0x0A
2495#define fmtReal 5
2496#define fmtRect 6
2497#define fmtPolar 7
2498
2499#define realMode 5
2500#define rectMode 6
2501#define polarMode 7
2502// ;if Hex and Oct both = 1
2503// ; then Bin=0 means >Frac
2504// ; Bin=1 means >DMS
2505#define fmtBaseMask 0b00011100 // mask to base flags
2506#define fmtBaseShift 2 // offset to base flags
2507//
2508// CHECK IF THESE ARE USED BY NUMFORM,
2509//
2510// equ 6
2511// equ 7
2512//----------------------------------------------------------------------
2513#define fmtOverride 0x0B //copy of fmtFlags with conversion override
2514//----------------------------------------------------------------------
2515#define fmtEditFlags 0x0C //numeric editing flags
2516#define fmtEdit 0 //1=format number for editing
2517
2518#define curFlags 0x0C //Cursor
2519#define curAble 2 //1=cursor flash is enabled
2520#define curOn 3 //1=cursor is showing
2521#define curLock 4 //1=cursor is locked off
2522
2523#define cmdFlags 0x0C //command editor flags
2524#define cmdVirgin 5 //1=nothing has been typed in cmd bfr
2525//----------------------------------------------------------------------
2526#define appFlags 0x0D //application flags
2527#define appWantIntrpt 0 //1=want ON key interrupts
2528#define appTextSave 1 //1=save characters in textShadow
2529#define appAutoScroll 2 //1=auto-scroll text on last line
2530#define appMenus 3 //1=process keys that bring up menus, 0=check Lock menu flag
2531#define appLockMenus 4 //1=ignore menu keys, 0=switch to home screen and bring up menu
2532#define appCurGraphic 5 //1=graphic cursor
2533#define appCurWord 6 //1=text cursor covers entire word
2534#define appExit 7 //1=application handles [EXIT] key itself
2535
2536#define appWantIntrptF 1<<appWantIntrpt
2537#define appTextSaveF 1<<appTextSave
2538#define appAutoScrollF 1<<appAutoScroll
2539#define appMenusF 1<<appMenus
2540#define appLockMenusF 1<<appLockMenus
2541#define appCurGraphicF 1<<appCurGraphic
2542#define appCurWordF 1<<appCurWord
2543#define appExitF 1<<appExit
2544//----------------------------------------------------------------------
2545#define rclFlag 0x0E //OS recall queue flags
2546#define enableQueue 7 //1 = enable recall queue
2547//----------------------------------------------------------------------
2548#define seqFlags 0x0F //Sequential Graph flags
2549#define webMode 0 //0 = NORMAL SEQ MODE, 1 = WEB MODE
2550#define webVert 1
2551#define sequv 2 //U vs V
2552#define seqvw 3 //V vs W
2553#define sequw 4 //U vs W
2554//----------------------------------------------------------------------
2555#define promptFlags 0x11 //prompt line flags
2556#define promptEdit 0 //1=editing in prompt buffer
2557//----------------------------------------------------------------------
2558#define indicFlags 0x12 //Indicator flags
2559#define indicRun 0 //1=run indicator ON
2560#define indicInUse 1 //indicator save area in use=1, free=0 ;resetting will disable 2nd while in _getkey
2561#define indicOnly 2 //interrupt handler only checks run indicator
2562
2563#define shiftFlags 0x12 //[2nd] and [ALPHA] flags
2564#define shift2nd 3 //1=[2nd] has been pressed
2565#define shiftAlpha 4 //1=[ALPHA] has been pressed
2566#define shiftLwrAlph 5 //1=lower case, 0=upper case
2567#define shiftALock 6 //1=alpha lock has been pressed
2568#define shiftKeepAlph 7 //1=cannot cancel alpha shift
2569//----------------------------------------------------------------------
2570#define tblFlags 0x13 //table flags.
2571#define autoFill 4 //1=prompt, 0=fillAuto
2572#define autoCalc 5 //1=prompt, 0=CalcAuto
2573#define reTable 6 //0=table is okay, 1=must recompute table.
2574//----------------------------------------------------------------------
2575#define sGrFlags 0x14
2576#define grfSplit 0 //1=Split Graph, 0=Normal
2577#define vertSplit 1 //1=Vertical (left-right) Split
2578#define grfSChanged 2 //1=Graph just changed Split <-> normal
2579#define grfSplitOverride 3 //1 = ignore graph split flag if set
2580#define write_on_graph 4 //1 = TEXT OR EQU WRITING TO GRAPH SCREEN
2581#define g_style_active 5 //1 = GRAPH STYLES ARE ENABLED, USE THEM
2582#define cmp_mod_box 6 //1 = DOING MOD BOX PLOT COMPUTATION
2583#define textWrite 7
2584//----------------------------------------------------------------------
2585#define newIndicFlags 0x15
2586#define extraIndic 0
2587#define saIndic 1
2588//3 has something to do with stat/list editor
2589//----------------------------------------------------------------------
2590#define interruptFlags 0x16
2591#define secondTimerEnabled 0 //1 = second hardware timer enabled
2592#define batteryFlags 0x16
2593#define batteriesGood 2 //1 = batteries good, I think this being reset will force the calc to shut off, used in USB error handler
2594//----------------------------------------------------------------------
2595#define smartFlags 0x17
2596#define smarter_mask 3
2597#define smarter_test 1
2598#define smartGraph 0
2599#define smartGraph_inv 1
2600//----------------------------------------------------------------------
2601#define traceFlags 0x18
2602#define grfExpr 0 //set to hide expression while tracing
2603//----------------------------------------------------------------------
2604//There is a flag 19h.
2605//----------------------------------------------------------------------
2606#define statFlags2 0x1A
2607#define statDiagnosticsOn 0 //1 = stat diagnostics on
2608//----------------------------------------------------------------------
2609#define linkFlags 0x1B
2610#define IDis95h 1 //1 = link routines use machine ID 95h (CBL)
2611#define IDis82h 2 //1 = link routines use machine ID 82h (TI-82)
2612#define IDis83h 3 //1 = link routines use machine ID 83h (TI-83)
2613#define IDis03h 4 //1 = link routines use machine ID 03h (PC to TI-83)
2614#define USBenabled 5 //1 = use USB port first, or at least try to
2615//----------------------------------------------------------------------
2616//There is a flag 1Ch (stats-related).
2617//----------------------------------------------------------------------
2618//There is a flag 1Dh.
2619//----------------------------------------------------------------------
2620//There is a flag 1Eh.
2621//----------------------------------------------------------------------
2622#define varTypeMask 0x1F //is this a flag byte? yes
2623#define varGraphRef 6
2624//----------------------------------------------------------------------
2625#define graphFlags2 0x1F
2626#define splitOverride 3 //0 = force full screen with ParseInp, or something
2627//----------------------------------------------------------------------
2628#define asm_Flag1 0x21 //ASM CODING
2629#define asm_Flag2 0x22 //ASM CODING
2630#define asm_Flag3 0x23 //ASM CODING
2631//----------------------------------------------------------------------
2632#define arcFlag 0x24
2633#define checkBatteryLevelFirst 0 //1 = check battery levels in Arc_Unarc first and throw error if low
2634
2635#define getSendFlg 0x24
2636#define comFailed 1 //1 = Get/Send Communication Failed
2637
2638#define selfTestFlag 0x24
2639#define resetOnPowerOn 2 //1 = Force RAM reset when APD disabled on next power on
2640
2641#define appLwrCaseFlag 0x24
2642#define lwrCaseActive 3
2643//----------------------------------------------------------------------
2644#define contextFlags 0x25
2645#define nocxPutAway 5 //1 = do not call cxPutAway routine
2646//----------------------------------------------------------------------
2647#define groupFlags 0x26 //used temporarily in Arc_Unarc
2648#define inGroup 1 //1 = IN GROUP CONTEXT
2649#define noCompletionByte 2 //1 = do not write 0FCh when calling Arc_Unarc, leave as 0FEh
2650#define noDataWrite 3 //1 = do not write data when calling Arc_Unarc, nor size bytes
2651#define writeSizeBytesOnly 5 //1 = only write size bytes when calling Arc_Unarc
2652//----------------------------------------------------------------------
2653//There is a flag 27h.
2654//----------------------------------------------------------------------
2655#define APIFlg 0x28
2656#define appAllowContext 0 //App wants context changes to happen
2657//1 set to ignore a key after returning from rawkeyhook
2658//2 set to send this key back?
2659//3
2660#define appRunning 4 //app is currently running
2661//5
2662//6
2663#define appRetKeyOff 7 //1 = GetKey returns kOff when [2nd]+[ON] pressed
2664//----------------------------------------------------------------------
2665#define apiFlg2 0x29
2666//----------------------------------------------------------------------
2667#define apiFlg3 0x2A
2668//1 set means using small font?
2669//----------------------------------------------------------------------
2670#define apiFlg4 0x2B
2671#define cellOverride 1 //use cell override
2672#define fullScrnDraw 2 //DRAW INTO LAST ROW/COL OF SCREEN
2673//----------------------------------------------------------------------
2674#define mouseFlag1 0x2C
2675//----------------------------------------------------------------------
2676#define mouseFlag2 0x2D //might want to keep this always reset
2677//----------------------------------------------------------------------
2678#define xapFlag0 0x2E //external app flags, do not use 0,(iy+2Eh) (used by mouse routines)
2679#define xapFlag1 0x2F
2680#define xapFlag2 0x30
2681#define xapFlag3 0x31
2682//----------------------------------------------------------------------
2683#define fontFlags 0x32
2684#define fracDrawLFont 2
2685#define fracTallLFont 3
2686#define customFont 7
2687//----------------------------------------------------------------------
2688#define hookflags1 0x33 //also scriptFlag, rclFlag2, backGroundLink
2689#define alt_On 0 //run ONSCRPT at startup
2690#define alt_Off 1 //run OFFSCRPT at shutdown
2691#define useRclQueueEnd 2 //1 = external mode
2692#define ignoreBPLink 3 //1 = override flag for link activity hook
2693#define bPLinkOn 4 //1 = link activity hook active
2694#define enableKeyEcho 5 //1 = sends keypresses back to connected calc as remote control packets (with GetCSC vs. GetKey codes...really dumb, TI)
2695#define noTempDelete 6 //1 = do not delete temporary programs at homescreen
2696//----------------------------------------------------------------------
2697#define hookflags2 0x34 //also sysHookFlg
2698#define getCSCHookActive 0 //1 = GetCSC hook active
2699#define libraryHookActive 1 //1 = library hook active
2700//2 This is set in the OS, but never referenced and the code is never executed
2701#define homescreenHookActive 4 //1 = homescreen hook active
2702#define rawKeyHookActive 5 //1 = raw key hook active
2703#define catalog2HookActive 6 //1 = catalog 2 hook active
2704#define cursorHookActive 7 //1 = cursor hook active
2705//----------------------------------------------------------------------
2706#define hookflags3 0x35 //also sysHookFlg1
2707#define tokenHookActive 0 //1 = token hook active
2708#define localizeHookActive 1 //1 = localize hook active
2709#define windowHookActive 2 //1 = window hook active
2710#define graphHookActive 3 //1 = graph hook active
2711#define yEquHookActive 4 //1 = Y= hook active
2712#define fontHookActive 5 //1 = font hook active
2713#define regraphHookActive 6 //1 = regraph hook active
2714#define drawingHookActive 7 //1 = drawing hook active
2715//----------------------------------------------------------------------
2716#define hookflags4 0x36 //also sysHookFlag2
2717#define traceHookActive 0 //1 = trace hook active
2718#define parserHookActive 1 //1 = parser hook active
2719#define appChangeHookActive 2 //1 = app change hook active
2720#define catalog1HookActive 3 //1 = catalog 1 hook active
2721#define helpHookActive 4 //1 = help hook active
2722#define cxRedispHookActive 5 //1 = cxRedisp hook active
2723#define menuHookActive 6 //1 = menu hook active
2724#define silentLinkHookActive 7 //1 = silent link hook active
2725//----------------------------------------------------------------------
2726//hookflags2Override equ 37h ;set corresponding bit to kill iy+35h hook when executing app
2727//----------------------------------------------------------------------
2728//hookflags3Override equ 38h ;set corresponding bit to kill iy+36h hook when executing app
2729//----------------------------------------------------------------------
2730//hookflags4Override equ 39h ;set corresponding bit to kill iy+37h hook when executing app
2731//----------------------------------------------------------------------
2732//hookflags5 equ 3Ah
2733#define usbActivityHookActive 0 //1 = USB activity hook active
2734//----------------------------------------------------------------------
2735#define plotFlag3 0x3C
2736#define bufferOnly 0
2737#define useFastCirc 4
2738//----------------------------------------------------------------------
2739#define dBKeyFlags 0x3D
2740#define keyDefaultsF 6 //1 = GetKey returns extended keycodes with TI-Keyboard
2741//----------------------------------------------------------------------
2742#define silentLinkFlags 0x3E
2743#define silentLinkActive 0 //1 = SE/84+ silent link is active
2744
2745#define extraHookFlags 0x3E
2746#define checkCatalog2HookVer 3 //1 = check catalog 2 hook's version before executing it (and error or take other action if so)
2747#define openLibActive 4 //1 = OpenLib( was successfully called on a Flash application (ExecLib will error if zero)
2748//5
2749//----------------------------------------------------------------------
2750#define clockFlags 0x3F
2751#define notMDYMode 0 //0 = M/D/Y format
2752#define isYMDMode 1 //1 = Y/M/D format
2753#define is24Hour 2 //1 = clock in 24 hour mode
2754#define inAfternoon 3 //1 = current time is in afternoon (PM) (I think)
2755#define useTokensInString 4 //1 = use tokens instead of characters when displaying clock as string (for getTmStr and getDtStr vs. MODE screen) (keep this reset)
2756#define displayClock 5 //1 = display clock (this is set every second, reset otherwise)
2757#define clockOn 6 //1 = clock on
2758//----------------------------------------------------------------------
2759#define USBFlag1 0x40
2760//1 Reset in I/O receiving code, doesn't seem to be used anywhere else
2761#define usbReceiveZone1 2 //1 = receive to RAM pages 3/2 ("zone 1")
2762//----------------------------------------------------------------------
2763#define USBFlag2 0x41
2764//0
2765//2
2766#define noUSBHostInit 3 //1 = _InitSpecificUSBDevice must fail
2767#define usbDataWaiting 5
2768//6
2769//7
2770//----------------------------------------------------------------------
2771#define USBFlag3 0x42
2772//----------------------------------------------------------------------
2773#define USBFlag4 0x43
2774#define usbTimeoutError 0 //1 = USB timeout error (crystal timer expired)
2775//----------------------------------------------------------------------
2776
2777//Character Font Equates
2778//-------------------------------
2779#define LrecurN 0x001
2780#define LrecurU 0x002
2781#define LrecurV 0x003
2782#define LrecurW 0x004
2783#define Lconvert 0x005
2784#define LsqUp 0x006
2785#define LsqDown 0x007
2786#define Lintegral 0x008
2787#define Lcross 0x009
2788#define LboxIcon 0x00A
2789#define LcrossIcon 0x00B
2790#define LdotIcon 0x00C
2791#define LsubT 0x00D //small capital T for parametric mode.
2792#define LcubeR 0x00E //slightly different 3 for cubed root.
2793#define LhexF 0x00F
2794#define Lroot 0x010
2795#define Linverse 0x011
2796#define Lsquare 0x012
2797#define Langle 0x013
2798#define Ldegree 0x014
2799#define Lradian 0x015
2800#define Ltranspose 0x016
2801#define LLE 0x017
2802#define LNE 0x018
2803#define LGE 0x019
2804#define Lneg 0x01A
2805#define Lexponent 0x01B
2806#define Lstore 0x01C
2807#define Lten 0x01D
2808#define LupArrow 0x01E
2809#define LdownArrow 0x01F
2810#define Lspace 0x020
2811#define Lexclam 0x021
2812#define Lquote 0x022
2813#define Lpound 0x023
2814#define Lfourth 0x024
2815#define Lpercent 0x025
2816#define Lampersand 0x026
2817#define Lapostrophe 0x027
2818#define LlParen 0x028
2819#define LrParen 0x029
2820#define Lasterisk 0x02A
2821#define LplusSign 0x02B
2822#define Lcomma 0x02C
2823#define Ldash 0x02D
2824#define Lperiod 0x02E
2825#define Lslash 0x02F
2826#define L0 0x030
2827#define L1 0x031
2828#define L2 0x032
2829#define L3 0x033
2830#define L4 0x034
2831#define L5 0x035
2832#define L6 0x036
2833#define L7 0x037
2834#define L8 0x038
2835#define L9 0x039
2836#define Lcolon 0x03A
2837#define Lsemicolon 0x03B
2838#define LLT 0x03C
2839#define LEQ 0x03D
2840#define LGT 0x03E
2841#define Lquestion 0x03F
2842#define LatSign 0x040
2843#define LcapA 0x041
2844#define LcapB 0x042
2845#define LcapC 0x043
2846#define LcapD 0x044
2847#define LcapE 0x045
2848#define LcapF 0x046
2849#define LcapG 0x047
2850#define LcapH 0x048
2851#define LcapI 0x049
2852#define LcapJ 0x04A
2853#define LcapK 0x04B
2854#define LcapL 0x04C
2855#define LcapM 0x04D
2856#define LcapN 0x04E
2857#define LcapO 0x04F
2858#define LcapP 0x050
2859#define LcapQ 0x051
2860#define LcapR 0x052
2861#define LcapS 0x053
2862#define LcapT 0x054
2863#define LcapU 0x055
2864#define LcapV 0x056
2865#define LcapW 0x057
2866#define LcapX 0x058
2867#define LcapY 0x059
2868#define LcapZ 0x05A
2869#define Ltheta 0x05B
2870#define Lbackslash 0x05C
2871#define LrBrack 0x05D
2872#define Lcaret 0x05E
2873#define Lunderscore 0x05F
2874#define Lbackquote 0x060
2875#define La 0x061
2876#define Lb 0x062
2877#define Lc 0x063
2878#define Ld 0x064
2879#define Le 0x065
2880#define Lf 0x066
2881#define Lg 0x067
2882#define Lh 0x068
2883#define Li 0x069
2884#define Lj 0x06A
2885#define Lk 0x06B
2886#define Ll 0x06C
2887#define Lm 0x06D
2888#define Ln 0x06E
2889#define Lo 0x06F
2890#define Lp 0x070
2891#define Lq 0x071
2892#define Lr 0x072
2893#define Ls 0x073
2894#define Lt 0x074
2895#define Lu 0x075
2896#define Lv 0x076
2897#define Lw 0x077
2898#define Lx 0x078
2899#define Ly 0x079
2900#define Lz 0x07A
2901#define LlBrace 0x07B
2902#define Lbar 0x07C
2903#define LrBrace 0x07D
2904#define Ltilde 0x07E
2905#define LinvEQ 0x07F
2906#define Lsub0 0x080
2907#define Lsub1 0x081
2908#define Lsub2 0x082
2909#define Lsub3 0x083
2910#define Lsub4 0x084
2911#define Lsub5 0x085
2912#define Lsub6 0x086
2913#define Lsub7 0x087
2914#define Lsub8 0x088
2915#define Lsub9 0x089
2916#define LcapAAcute 0x08A
2917#define LcapAGrave 0x08B
2918#define LcapACaret 0x08C
2919#define LcapADier 0x08D
2920#define LaAcute 0x08E
2921#define LaGrave 0x08F
2922#define LaCaret 0x090
2923#define LaDier 0x091
2924#define LcapEAcute 0x092
2925#define LcapEGrave 0x093
2926#define LcapECaret 0x094
2927#define LcapEDier 0x095
2928#define LeAcute 0x096
2929#define LeGrave 0x097
2930#define LeCaret 0x098
2931#define LeDier 0x099
2932#define LcapIAcute 0x09A
2933#define LcapIGrave 0x09B
2934#define LcapICaret 0x09C
2935#define LcapIDier 0x09D
2936#define LiAcute 0x09E
2937#define LiGrave 0x09F
2938#define LiCaret 0x0A0
2939#define LiDier 0x0A1
2940#define LcapOAcute 0x0A2
2941#define LcapOGrave 0x0A3
2942#define LcapOCaret 0x0A4
2943#define LcapODier 0x0A5
2944#define LoAcute 0x0A6
2945#define LoGrave 0x0A7
2946#define LoCaret 0x0A8
2947#define LoDier 0x0A9
2948#define LcapUAcute 0x0AA
2949#define LcapUGrave 0x0AB
2950#define LcapUCaret 0x0AC
2951#define LcapUDier 0x0AD
2952#define LuAcute 0x0AE
2953#define LuGrave 0x0AF
2954#define LuCaret 0x0B0
2955#define LuDier 0x0B1
2956#define LcapCCed 0x0B2
2957#define LcCed 0x0B3
2958#define LcapNTilde 0x0B4
2959#define LnTilde 0x0B5
2960#define Laccent 0x0B6
2961#define Lgrave 0x0B7
2962#define Ldieresis 0x0B8
2963#define LquesDown 0x0B9
2964#define LexclamDown 0x0BA
2965#define Lalpha 0x0BB
2966#define Lbeta 0x0BC
2967#define Lgamma 0x0BD
2968#define LcapDelta 0x0BE
2969#define Ldelta 0x0BF
2970#define Lepsilon 0x0C0
2971#define LlBrack 0x0C1
2972#define Llambda 0x0C2
2973#define Lmu 0x0C3
2974#define Lpi 0x0C4
2975#define Lrho 0x0C5
2976#define LcapSigma 0x0C6
2977#define Lsigma 0x0C7
2978#define Ltau 0x0C8
2979#define Lphi 0x0C9
2980#define LcapOmega 0x0CA
2981#define LxMean 0x0CB
2982#define LyMean 0x0CC
2983#define LsupX 0x0CD
2984#define Lellipsis 0x0CE
2985#define Lleft 0x0CF
2986#define Lblock 0x0D0
2987#define Lper 0x0D1
2988#define Lhyphen 0x0D2
2989#define Larea 0x0D3
2990#define Ltemp 0x0D4
2991#define Lcube 0x0D5
2992#define Lenter 0x0D6
2993#define LimagI 0x0D7
2994#define Lphat 0x0D8
2995#define Lchi 0x0D9
2996#define LstatF 0x0DA
2997#define Llne 0x0DB
2998#define LlistL 0x0DC
2999#define LfinanN 0x0DD
3000#define L2_r_paren 0x0DE
3001#define LblockArrow 0x0DF
3002#define LcurO 0x0E0
3003#define LcurO2 0x0E1
3004#define LcurOcapA 0x0E2
3005#define LcurOa 0x0E3
3006#define LcurI 0x0E4
3007#define LcurI2 0x0E5
3008#define LcurIcapA 0x0E6
3009#define LcurIa 0x0E7
3010#define LGline 0x0E8 // = 0
3011#define LGthick 0x0E9 // = 1
3012#define LGabove 0x0EA // = 2
3013#define LGbelow 0x0EB // = 3
3014#define LGpath 0x0EC // = 4
3015#define LGanimate 0x0ED // = 5
3016#define LGdot 0x0EE // = 6
3017#define LUpBlk 0x0EF //Up arrow and Block in solver
3018#define LDnBlk 0x0F0 //Down arrow and Block in solver
3019#define LcurFull 0x0F1 //note: must be last char (PutMap checks)
3020
3021//(MenuCurrent) Values
3022//--------------------------
3023#define mConfirmation 0x01
3024#define mApps 0x02
3025#define mProgramHome 0x03
3026#define mPrgm_Run 0x00
3027#define mPrgm_Edit 0x01
3028#define mPrgm_New 0x02
3029#define mZoom 0x04
3030#define mZoom_Zoom 0x00
3031#define mZoom_Memory 0x01
3032#define mDraw 0x05
3033#define mDraw_Draw 0x00
3034#define mDraw_Points 0x01
3035#define mDraw_Store 0x02
3036#define mStatPlots 0x06
3037#define mStat 0x07
3038#define mStat_Edit 0x00
3039#define mStat_Calc 0x01
3040#define mStat_Tests 0x02
3041#define mMath 0x08
3042#define mMath_Math 0x00
3043#define mMath_Number 0x01
3044#define mMath_Complex 0x02
3045#define mMath_Prob 0x03
3046#define mTest 0x09
3047#define mTest_Test 0x00
3048#define mTest_Logic 0x01
3049#define mVars 0x0A
3050#define mVars_Vars 0x00
3051#define mVars_YVars 0x01
3052#define mMemory 0x0C
3053#define mMatrix 0x0D
3054#define mMatrix_Name 0x00
3055#define mMatrix_Math 0x01
3056#define mMatrix_Edit 0x02
3057#define mDistr 0x0E
3058#define mDistr_Distr 0x00
3059#define mDistr_Draw 0x01
3060#define mAngle 0x0F
3061#define mList 0x10
3062#define mList_Names 0x00
3063#define mList_Ops 0x01
3064#define mList_Math 0x02
3065#define mCalculate 0x11
3066#define mVarsWin 0x14
3067#define mVarsWin_XY 0x00
3068#define mVarsWin_TTh 0x01
3069#define mVarsWin_UVW 0x02
3070#define mVarsZoom 0x15
3071#define mVarsZoom_ZXY 0x00
3072#define mVarsZoom_ZT 0x01
3073#define mVarsZoom_UVW 0x02
3074#define mVarsGDB 0x16
3075#define mVarsPics 0x17
3076#define mVarsStrings 0x18
3077#define mVarsStat 0x19
3078#define mVarsStat_XY 0x00
3079#define mVarsStat_Sigma 0x01
3080#define mVarsStat_EQ 0x02
3081#define mVarsStat_Test 0x03
3082#define mVarsStat_Pts 0x04
3083#define mVarsTable 0x1A
3084#define mVarsYEqu 0x1B
3085#define mVarsParametric 0x1C
3086#define mVarsPolar 0x1D
3087#define mVarsFnOnOff 0x1E
3088#define mMemReset 0x1F
3089#define mMemReset_RAM 0x00
3090#define mMemReset_ROM 0x01
3091#define mMemReset_All 0x02
3092#define mMemMgmtDel 0x20
3093#define mMemResetDefaults 0x21
3094#define mMemResetRAMAll 0x23
3095#define mMemResetROMVars 0x24
3096#define mMemResetROMApps 0x25
3097#define mMemResetROMAll 0x26
3098#define mMemResetAll 0x27
3099#define mGroup 0x28
3100#define mGroup_New 0x00
3101#define mGroup_Ungroup 0x01
3102#define mGroupVars 0x29
3103#define mProgramEdit 0x2A
3104#define mPrgmEd_Ctrl 0x00
3105#define mPrgmEd_IO 0x01
3106#define mPrgmEd_Exec 0x02
3107#define mPrgmZoom 0x2B
3108#define mPrgmZoom_Zoom 0x00
3109#define mPrgmZoom_Mem 0x01
3110#define mPrgmDraw 0x2C
3111#define mPrgmDraw_Draw 0x00
3112#define mPrgmDraw_Pt 0x01
3113#define mPrgmDraw_Store 0x02
3114#define mPrgmStatPlot 0x2D
3115#define mPrgmSP_Plots 0x00
3116#define mPrgmSP_Type 0x01
3117#define mPrgmSP_Mark 0x02
3118#define mPrgmStat 0x2E
3119#define mPrgmStat_Edit 0x00
3120#define mPrgmStat_Calc 0x01
3121#define mPrgmStat_Tests 0x02
3122#define mPrgmMath 0x2F
3123#define mPrgmMath_Math 0x00
3124#define mPrgmMath_Num 0x01
3125#define mPrgmMath_Cplx 0x02
3126#define mPrgmMath_Prob 0x03
3127#define mLink 0x30
3128#define mLink_Send 0x00
3129#define mLink_Recieve 0x01
3130#define mLinkTrasmit 0x31
3131#define mLinkXmit_Xmit 0x01
3132#define mGarbageCollect 0x3F
3133#define mSelectGroupVars 0x40
3134#define mSelGrpVars_Sel 0x00
3135#define mSelGrpVars_Grp 0x01
3136#define mDuplicateName 0x42
3137#define mCatalog 0x45
3138#define mFinance 0x22
3139#define mFinance_Calc 0x00
3140#define mFinance_Vars 0x01
3141
3142//Keypress Equates
3143//-------------------------------
3144#define kRight 0x001
3145#define kLeft 0x002
3146#define kUp 0x003
3147#define kDown 0x004
3148#define kEnter 0x005
3149#define kAlphaEnter 0x006
3150#define kAlphaUp 0x007
3151#define kAlphaDown 0x008
3152#define kClear 0x009
3153#define kDel 0x00A
3154#define kIns 0x00B
3155#define kRecall 0x00C
3156#define kLastEnt 0x00D
3157#define kBOL 0x00E
3158#define kEOL 0x00F
3159
3160#define kSelAll 0x010
3161#define kUnselAll 0x011
3162#define kLtoTI82 0x012
3163#define kBackup 0x013
3164#define kRecieve 0x014
3165#define kLnkQuit 0x015
3166#define kTrans 0x016
3167#define kRename 0x017
3168#define kOverw 0x018
3169#define kOmit 0x019
3170#define kCont 0x01A
3171#define kSendID 0x01B
3172#define kSendSW 0x01C
3173#define kYes 0x01D
3174#define kNoWay 0x01E
3175#define kvSendType 0x01F
3176#define kOverWAll 0x020
3177#define kNo 0x025
3178#define kKReset 0x026
3179#define kApp 0x027
3180#define kDoug 0x028
3181#define kListflag 0x029
3182#define menuStart 0x02B
3183#define kAreYouSure 0x02B
3184#define kAppsMenu 0x02C
3185#define kPrgm 0x02D
3186#define kZoom 0x02E
3187#define kDraw 0x02F
3188#define kSPlot 0x030
3189#define kStat 0x031
3190#define kMath 0x032
3191#define kTest 0x033
3192#define kChar 0x034
3193#define kVars 0x035
3194#define kMem 0x036
3195#define kMatrix 0x037
3196#define kDist 0x038
3197#define kAngle 0x039
3198#define kList 0x03A
3199#define kCalc 0x03B
3200#define kFin 0x03C
3201#define menuEnd kFin
3202#define kCatalog 0x03E
3203#define kInputDone 0x03F
3204#define kOff kInputDone
3205#define kQuit 0x040
3206#define appStart kQuit
3207#define kLinkIO 0x041
3208#define kMatrixEd 0x042
3209#define kStatEd 0x043
3210#define kGraph 0x044
3211#define kMode 0x045
3212#define kPrgmEd 0x046 //PROGRAM EDIT
3213#define kPrgmCr 0x047 //PROGRAM CREATE
3214#define kWindow 0x048 //RANGE EDITOR
3215#define kYequ 0x049 //EQUATION EDITOR
3216#define kTable 0x04A //TABLE EDITOR
3217#define kTblSet 0x04B //TABLE SET
3218#define kChkRAM 0x04C //CHECK RAM (About screen)
3219#define kDelMem 0x04D //DELETE MEM
3220#define kResetMem 0x04E //RESET MEM
3221#define kResetDef 0x04F //RESET DEFAULT
3222#define kPrgmInput 0x050 //PROGRAM INPUT
3223#define kZFactEd 0x051 //ZOOM FACTOR EDITOR
3224#define kError 0x052 //ERROR
3225#define kSolveTVM 0x053 //TVM SOLVER
3226#define kSolveRoot 0x054 //SOLVE EDITOR
3227#define kStatP 0x055 //stat plot
3228#define kInfStat 0x056 //Inferential Statistic
3229#define kFormat 0x057 //FORMAT
3230#define kExtApps 0x058 //External Applications. NEW
3231#define kNewApps 0x059 //New Apps for Cerberus.
3232#define append kNewApps
3233#define echoStart1 0x05A
3234#define kTrace 0x05A
3235#define kZFit 0x05B
3236#define kZIn 0x05C
3237#define kZOut 0x05D
3238#define kZPrev 0x05E
3239#define kBox 0x05F
3240#define kDecml 0x060
3241#define kSetZm 0x061
3242#define kSquar 0x062
3243#define kStd 0x063
3244#define kTrig 0x064
3245#define kUsrZm 0x065
3246#define kZSto 0x066
3247#define kZInt 0x067
3248#define kZStat 0x068
3249#define echoStart2 0x069
3250#define kSelect 0x069
3251#define kCircl 0x06A
3252#define kClDrw 0x06B
3253#define kLine 0x06C
3254#define kPen 0x06D
3255#define kPtChg 0x06E
3256#define kPtOff 0x06F
3257#define kPtOn 0x070
3258#define kVert 0x071
3259#define kHoriz 0x072
3260#define kText 0x073
3261#define kTanLn 0x074
3262#define kEval 0x075
3263#define kInters 0x076
3264#define kDYDX 0x077
3265#define kFnIntg 0x078
3266#define kRootG 0x079
3267#define kDYDT 0x07A
3268#define kDXDT 0x07B
3269#define kDRDo 0x07C
3270#define KGFMin 0x07D
3271#define KGFMax 0x07E
3272#define EchoStart 0x07F
3273#define kListName 0x07F
3274#define kAdd 0x080
3275#define kSub 0x081
3276#define kMul 0x082
3277#define kDiv 0x083
3278#define kExpon 0x084
3279#define kLParen 0x085
3280#define kRParen 0x086
3281#define kLBrack 0x087
3282#define kRBrack 0x088
3283#define kShade 0x089
3284#define kStore 0x08A
3285#define kComma 0x08B
3286#define kChs 0x08C
3287#define kDecPnt 0x08D
3288#define k0 0x08E
3289#define k1 0x08F
3290#define k2 0x090
3291#define k3 0x091
3292#define k4 0x092
3293#define k5 0x093
3294#define k6 0x094
3295#define k7 0x095
3296#define k8 0x096
3297#define k9 0x097
3298#define kEE 0x098
3299#define kSpace 0x099
3300#define kCapA 0x09A
3301#define kCapB 0x09B
3302#define kCapC 0x09C
3303#define kCapD 0x09D
3304#define kCapE 0x09E
3305#define kCapF 0x09F
3306#define kCapG 0x0A0
3307#define kCapH 0x0A1
3308#define kCapI 0x0A2
3309#define kCapJ 0x0A3
3310#define kCapK 0x0A4
3311#define kCapL 0x0A5
3312#define kCapM 0x0A6
3313#define kCapN 0x0A7
3314#define kCapO 0x0A8
3315#define kCapP 0x0A9
3316#define kCapQ 0x0AA
3317#define kCapR 0x0AB
3318#define kCapS 0x0AC
3319#define kCapT 0x0AD
3320#define kCapU 0x0AE
3321#define kCapV 0x0AF
3322#define kCapW 0x0B0
3323#define kCapX 0x0B1
3324#define kCapY 0x0B2
3325#define kCapZ 0x0B3
3326#define kVarx 0x0B4
3327#define kPi 0x0B5
3328#define kInv 0x0B6
3329#define kSin 0x0B7
3330#define kASin 0x0B8
3331#define kCos 0x0B9
3332#define kACos 0x0BA
3333#define kTan 0x0BB
3334#define kATan 0x0BC
3335#define kSquare 0x0BD
3336#define kSqrt 0x0BE
3337#define kLn 0x0BF
3338#define kExp 0x0C0
3339#define kLog 0x0C1
3340#define kALog 0x0C2
3341#define kToABC 0x0C3
3342#define kClrTbl 0x0C4
3343#define kAns 0x0C5
3344#define kColon 0x0C6
3345#define kNDeriv 0x0C7
3346#define kFnInt 0x0C8
3347#define kRoot 0x0C9
3348#define kQuest 0x0CA
3349#define kQuote 0x0CB
3350#define kTheta 0x0CC
3351#define kIf 0x0CD
3352#define kThen 0x0CE
3353#define kElse 0x0CF
3354#define kFor 0x0D0
3355#define kWhile 0x0D1
3356#define kRepeat 0x0D2
3357#define kEnd 0x0D3
3358#define kPause 0x0D4
3359#define kLbl 0x0D5
3360#define kGoto 0x0D6
3361#define kISG 0x0D7
3362#define kDSL 0x0D8
3363#define kMenu 0x0D9
3364#define kExec 0x0DA
3365#define kReturn 0x0DB
3366#define kStop 0x0DC
3367#define kInput 0x0DD
3368#define kPrompt 0x0DE
3369#define kDisp 0x0DF
3370#define kDispG 0x0E0
3371#define kDispT 0x0E1
3372#define kOutput 0x0E2
3373#define kGetKey 0x0E3
3374#define kClrHome 0x0E4
3375#define kPrtScr 0x0E5
3376#define kSinH 0x0E6
3377#define kCosH 0x0E7
3378#define kTanH 0x0E8
3379#define kASinH 0x0E9
3380#define kACosH 0x0EA
3381#define kATanH 0x0EB
3382#define kLBrace 0x0EC
3383#define kRBrace 0x0ED
3384#define kI 0x0EE
3385#define kCONSTeA 0x0EF
3386#define kPlot3 0x0F0
3387#define kFMin 0x0F1
3388#define kFMax 0x0F2
3389#define kL1A 0x0F3
3390#define kL2A 0x0F4
3391#define kL3A 0x0F5
3392#define kL4A 0x0F6
3393#define kL5A 0x0F7
3394#define kL6A 0x0F8
3395#define kunA 0x0F9
3396#define kvnA 0x0FA
3397#define kwnA 0x0FB
3398
3399//THIS KEY MEANS THAT IT IS A 2 BYTE KEYCODE
3400//THERE ARE 2 OF THESE KEYS; BE CAREFUL WITH USAGE
3401//------------------------------------------------
3402#define kExtendEcho2 0x0FC
3403
3404//THIS KEY MEANS THAT THE KEY PRESS IS ONE THAT ECHOS
3405//INTO A BUFFER, AND IT IS A 2 BYTE KEY CODE, GO LOOK AT
3406//(EXTECHO) FOR THE KEY VALUE
3407//------------------------------------------------------
3408#define kExtendEcho 0x0FE
3409
3410#define kE1BT 0
3411#define kDrawInv kE1BT
3412#define kDrawF kE1BT+1
3413#define kPixelOn kE1BT+2
3414#define kPixelOff kE1BT+3
3415#define kPxlTest kE1BT+4
3416#define kRCGDB kE1BT+5
3417#define kRCPic kE1BT+6
3418#define kSTGDB kE1BT+7
3419#define kSTPic kE1BT+8
3420#define kAbs kE1BT+9
3421#define kTEqu kE1BT+10 //==
3422#define kTNoteQ kE1BT+11 //<>
3423#define kTGT kE1BT+12 //>
3424#define kTGTE kE1BT+13 //>=
3425#define kTLT kE1BT+14 //<
3426#define kTLTE kE1BT+15 //<=
3427#define kAnd kE1BT+16
3428#define kOr kE1BT+17
3429#define kXor kE1BT+18
3430#define kNot kE1BT+19
3431#define kLR1 kE1BT+20
3432#define kXRoot kE1BT+21
3433#define kCube kE1BT+22
3434#define kCbRt kE1BT+23 //Cube ROOT
3435#define kToDec kE1BT+24
3436#define kCubicR kE1BT+25
3437#define kQuartR kE1BT+26
3438#define kPlot1 kE1BT+27
3439#define kPlot2 kE1BT+28
3440#define kRound kE1BT+29
3441#define kIPart kE1BT+30
3442#define kFPart kE1BT+31
3443#define kInt kE1BT+32
3444#define kRand kE1BT+33
3445#define kNPR kE1BT+34
3446#define kNCR kE1BT+35
3447#define kXFactorial kE1BT+36
3448#define kRad kE1BT+37
3449#define kDegr kE1BT+38 //DEGREES CONV
3450#define kAPost kE1BT+39
3451#define kToDMS kE1BT+40
3452#define kRToPo kE1BT+41 //R
3453#define kRToPr kE1BT+42
3454#define kPToRx kE1BT+43
3455#define kPToRy kE1BT+44
3456#define kRowSwap kE1BT+45
3457#define kRowPlus kE1BT+46
3458#define kTimRow kE1BT+47
3459#define kTRowP kE1BT+48
3460#define kSortA kE1BT+49
3461#define kSortD kE1BT+50
3462#define kSeq kE1BT+51
3463#define kMin kE1BT+52
3464#define kMax kE1BT+53
3465#define kMean kE1BT+54
3466#define kMedian kE1BT+55
3467#define kSum kE1BT+56
3468#define kProd kE1BT+57
3469#define kDet kE1BT+58
3470#define kTransp kE1BT+59
3471#define kDim kE1BT+60
3472#define kFill kE1BT+61
3473#define kIdent kE1BT+62
3474#define kRandm kE1BT+63
3475#define kAug kE1BT+64
3476#define kOneVar kE1BT+65
3477#define kTwoVar kE1BT+66
3478#define kLR kE1BT+67
3479#define kLRExp kE1BT+68
3480#define kLRLn kE1BT+69
3481#define kLRPwr kE1BT+70
3482#define kMedMed kE1BT+71
3483#define kQuad kE1BT+72
3484#define kClrLst kE1BT+73
3485#define kHist kE1BT+74
3486#define kxyLine kE1BT+75
3487#define kScatter kE1BT+76
3488#define kmRad kE1BT+77
3489#define kmDeg kE1BT+78
3490#define kmNormF kE1BT+79
3491#define kmSci kE1BT+80
3492#define kmEng kE1BT+81
3493#define kmFloat kE1BT+82
3494#define kFix kE1BT+83
3495#define kSplitOn kE1BT+84
3496#define kFullScreen kE1BT+85
3497#define kStndrd kE1BT+86
3498#define kParam kE1BT+87
3499#define kPolar kE1BT+88
3500#define kSeqG kE1BT+89
3501#define kAFillOn kE1BT+90
3502#define kAFillOff kE1BT+91
3503#define kACalcOn kE1BT+92
3504#define kACalcOff kE1BT+93
3505#define kFNOn kE1BT+94
3506#define kFNOff kE1BT+95
3507#define kPlotsOn kE1BT+96
3508#define kPlotsOff kE1BT+97
3509#define kPixelChg kE1BT+98
3510#define kSendMBL kE1BT+99
3511#define kRecvMBL kE1BT+100
3512#define kBoxPlot kE1BT+101
3513#define kBoxIcon kE1BT+102
3514#define kCrossIcon kE1BT+103
3515#define kDotIcon kE1BT+104
3516#define kE2BT kE1BT+105
3517#define kSeqential kE2BT
3518#define kSimulG kE2BT+1
3519#define kPolarG kE2BT+2
3520#define kRectG kE2BT+3
3521#define kCoordOn kE2BT+4
3522#define kCoordOff kE2BT+5
3523#define kDrawLine kE2BT+6
3524#define kDrawDot kE2BT+7
3525#define kAxisOn kE2BT+8
3526#define kAxisOff kE2BT+9
3527#define kGridOn kE2BT+10
3528#define kGridOff kE2BT+11
3529#define kLblOn kE2BT+12
3530#define kLblOff kE2BT+13
3531#define kL1 kE2BT+14
3532#define kL2 kE2BT+15
3533#define kL3 kE2BT+16
3534#define kL4 kE2BT+17
3535#define kL5 kE2BT+18
3536#define kL6 kE2BT+19
3537
3538//These keys are laid on top of existing keys to
3539//enable localization in the inferential stats editor.
3540//----------------------------------------------------
3541#define kinfData kL1
3542#define kinfStats kL1+1
3543#define kinfYes kL1+2
3544#define kinfNo kL1+3
3545#define kinfCalc kL1+4
3546#define kinfDraw kL1+5
3547#define kinfAlt1ne kL1+6
3548#define kinfAlt1lt kL1+7
3549#define kinfAlt1gt kL1+8
3550#define kinfAlt2ne kL1+9
3551#define kinfAlt2lt kL1+10
3552#define kinfAlt2gt kL1+11
3553#define kinfAlt3ne kL1+12
3554#define kinfAlt3lt kL1+13
3555#define kinfAlt3gt kL1+14
3556#define kinfAlt4ne kL1+15
3557#define kinfAlt4lt kL1+16
3558#define kinfAlt4gt kL1+17
3559#define kinfAlt5ne kL1+18
3560#define kinfAlt5lt kL1+19
3561#define kinfAlt5gt kL1+20
3562#define kinfAlt6ne kL1+21
3563#define kinfAlt6lt kL1+22
3564#define kinfAlt6gt kL1+23
3565#define kMatA kE2BT+20
3566#define kMatB kE2BT+21
3567#define kMatC kE2BT+22
3568#define kMatD kE2BT+23
3569#define kMatE kE2BT+24
3570#define kXmin kE2BT+25
3571#define kXmax kE2BT+26
3572#define kXscl kE2BT+27
3573#define kYmin kE2BT+28
3574#define kYmax kE2BT+29
3575#define kYscl kE2BT+30
3576#define kTmin kE2BT+31
3577#define kTmax kE2BT+32
3578#define kTStep kE2BT+33
3579#define kOmin kE2BT+34
3580#define kOmax kE2BT+35
3581#define kOStep kE2BT+36
3582#define ku0 kE2BT+37
3583#define kv0 kE2BT+38
3584#define knMin kE2BT+39
3585#define knMax kE2BT+40
3586#define kDeltaY kE2BT+41
3587#define kDeltaX kE2BT+42
3588#define kZXmin kE2BT+43
3589#define kZXmax kE2BT+44
3590#define kZXscl kE2BT+45
3591#define kZYmin kE2BT+46
3592#define kZYmax kE2BT+47
3593#define kZYscl kE2BT+48
3594#define kZTmin kE2BT+49
3595#define kZTmax kE2BT+50
3596#define kZTStep kE2BT+51
3597#define kZOmin kE2BT+52
3598#define kZOmax kE2BT+53
3599#define kZOStep kE2BT+54
3600#define kZu0 kE2BT+55
3601#define kZv0 kE2BT+56
3602#define kZnMin kE2BT+57
3603#define kZnMax kE2BT+58
3604#define kDelLast kE2BT+59
3605#define kSinReg kE2BT+60
3606#define kConstE kE2BT+61
3607#define kPic1 kE2BT+62
3608#define kPic2 kE2BT+63
3609#define kPic3 kE2BT+64
3610#define kDelVar kE2BT+65
3611#define kGetCalc kE2BT+66
3612#define kRealM kE2BT+67
3613#define kPolarM kE2BT+68
3614#define kRectM kE2BT+69
3615#define kuv kE2BT+70 //U vs V
3616#define kvw kE2BT+71 //V vs W
3617#define kuw kE2BT+72 //U vs W
3618#define kFinPMTend kE2BT+73
3619#define kFinPMTbeg kE2BT+74
3620#define kGraphStyle kE2BT+75
3621#define kExprOn kE2BT+76
3622#define kExprOff kE2BT+77
3623#define kStatA kE2BT+78
3624#define kStatB kE2BT+79
3625#define kStatC kE2BT+80
3626#define kCorr kE2BT+81
3627#define kStatD kE2BT+82
3628#define kStatE kE2BT+83
3629#define kRegEq kE2BT+84
3630#define kMinX kE2BT+85
3631#define kQ1 kE2BT+86
3632#define kMD kE2BT+87
3633#define kQ3 kE2BT+88
3634#define kMaxX kE2BT+89
3635#define kStatX1 kE2BT+90
3636#define kStatY1 kE2BT+91
3637#define kStatX2 kE2BT+92
3638#define kStatY2 kE2BT+93
3639#define kStatX3 kE2BT+94
3640#define kStatY3 kE2BT+95
3641#define kTblMin kE2BT+96
3642#define kTblStep kE2BT+97
3643#define kSetupLst kE2BT+98
3644#define kClrAllLst kE2BT+99
3645#define kLogistic kE2BT+100
3646#define kZTest kE2BT+101
3647#define kTTest kE2BT+102
3648#define k2SampZTest kE2BT+103
3649#define k2SampTTest kE2BT+104
3650#define k1PropZTest kE2BT+105
3651#define k2PropZTest kE2BT+106
3652#define kChiTest kE2BT+107
3653#define k2SampFTest kE2BT+108
3654#define kZIntVal kE2BT+109
3655#define kTIntVal kE2BT+110
3656#define k2SampTInt kE2BT+111
3657#define k2SampZInt kE2BT+112
3658#define k1PropZInt kE2BT+113
3659#define k2PropZInt kE2BT+114
3660#define kDNormal kE2BT+115
3661#define kInvNorm kE2BT+116
3662#define kDT kE2BT+117
3663#define kChi kE2BT+118
3664#define kDF kE2BT+119
3665#define kBinPDF kE2BT+120
3666#define kBinCDF kE2BT+121
3667#define kPoiPDF kE2BT+122
3668#define kPoiCDF kE2BT+123
3669#define kun kE2BT+124
3670#define kvn kE2BT+125
3671#define kwn kE2BT+126
3672#define kRecn kE2BT+127
3673#define kPlotStart kE2BT+128
3674#define kZPlotStart kE2BT+129 //recursion n
3675#define kXFact kE2BT+130 //PlotStart
3676#define kYFact kE2BT+131 //ZPlotStart
3677#define kANOVA kE2BT+132 //XFact
3678#define kMaxY kE2BT+133 //YFact
3679#define kWebOn kE2BT+134 //MinY
3680#define kWebOff kE2BT+135 //MaxY
3681#define kTblInput kE2BT+136 //WEB ON
3682#define kGeoPDF kE2BT+137 //WEB OFF
3683#define kGeoCDF kE2BT+138 //WEB OFF
3684#define kShadeNorm kE2BT+139
3685#define kShadeT kE2BT+140
3686#define kShadeChi kE2BT+141
3687#define kShadeF kE2BT+142
3688#define kPlotStep kE2BT+143
3689#define kZPlotStep kE2BT+144
3690#define kLinRegtTest kE2BT+145
3691#define KMGT kE2BT+146 //VERT SPLIT
3692#define kSelectA kE2BT+147
3693#define kZFitA kE2BT+148
3694#define kE2BT_End kZFitA
3695
3696//More 2 Byte Keys
3697//------------------------------------
3698#define kE2BT2 0
3699#define kGDB1 kE2BT2
3700#define kGDB2 kE2BT2+1
3701#define kGDB3 kE2BT2+2
3702#define kY1 kE2BT2+3
3703#define kY2 kE2BT2+4
3704#define kY3 kE2BT2+5
3705#define kY4 kE2BT2+6
3706#define kY5 kE2BT2+7
3707#define kY6 kE2BT2+8
3708#define kY7 kE2BT2+9
3709#define kY8 kE2BT2+10
3710#define kY9 kE2BT2+11
3711#define kY0 kE2BT2+12
3712#define kX1T kE2BT2+13
3713#define kY1T kE2BT2+14
3714#define kX2T kE2BT2+15
3715#define kY2T kE2BT2+16
3716#define kX3T kE2BT2+17
3717#define kY3T kE2BT2+18
3718#define kX4T kE2BT2+19
3719#define kY4T kE2BT2+20
3720#define kX5T kE2BT2+21
3721#define kY5T kE2BT2+22
3722#define kX6T kE2BT2+23
3723#define kY6T kE2BT2+24
3724#define kR1 kE2BT2+25
3725#define kR2 kE2BT2+26
3726#define kR3 kE2BT2+27
3727#define kR4 kE2BT2+28
3728#define kR5 kE2BT2+29
3729#define kR6 kE2BT2+30
3730#define kGDB4 kE2BT2+31
3731#define kGDB5 kE2BT2+32
3732#define kGDB6 kE2BT2+33
3733#define kPic4 kE2BT2+34
3734#define kPic5 kE2BT2+35
3735#define kPic6 kE2BT2+36
3736#define kGDB7 kE2BT2+37
3737#define kGDB8 kE2BT2+38
3738#define kGDB9 kE2BT2+39
3739#define kGDB0 kE2BT2+40
3740#define kPic7 kE2BT2+41
3741#define kPic8 kE2BT2+42
3742#define kPic9 kE2BT2+43
3743#define kPic0 kE2BT2+44
3744#define kStatN kE2BT2+45
3745#define kXMean kE2BT2+46
3746#define kConj kE2BT2+47
3747#define kReal kE2BT2+48
3748#define kFAngle kE2BT2+49
3749#define kLCM kE2BT2+50
3750#define kGCD kE2BT2+51
3751#define kRandInt kE2BT2+52
3752#define kRandNorm kE2BT2+53
3753#define kToPolar kE2BT2+54
3754#define kToRect kE2BT2+55
3755#define kYMean kE2BT2+56
3756#define kStdX kE2BT2+57
3757#define kStdX1 kE2BT2+58
3758#define kw0 kE2BT2+59
3759#define kMatF kE2BT2+60
3760#define kMatG kE2BT2+61
3761#define kMatRH kE2BT2+62
3762#define kMatI kE2BT2+63
3763#define kMatJ kE2BT2+64
3764#define kYMean1 kE2BT2+65
3765#define kStdY kE2BT2+66
3766#define kStdY1 kE2BT2+67
3767#define kMatToLst kE2BT2+68
3768#define kLstToMat kE2BT2+69
3769#define kCumSum kE2BT2+70
3770#define kDeltaLst kE2BT2+71
3771#define kStdDev kE2BT2+72
3772#define kVariance kE2BT2+73
3773#define kLength kE2BT2+74
3774#define kEquToStrng kE2BT2+75
3775#define kStrngToEqu kE2BT2+76
3776#define kExpr kE2BT2+77
3777#define kSubStrng kE2BT2+78
3778#define kInStrng kE2BT2+79
3779#define kStr1 kE2BT2+80
3780#define kStr2 kE2BT2+81
3781#define kStr3 kE2BT2+82
3782#define kStr4 kE2BT2+83
3783#define kStr5 kE2BT2+84
3784#define kStr6 kE2BT2+85
3785#define kStr7 kE2BT2+86
3786#define kStr8 kE2BT2+87
3787#define kStr9 kE2BT2+88
3788#define kStr0 kE2BT2+89
3789#define kFinN kE2BT2+90
3790#define kFinI kE2BT2+91
3791#define kFinPV kE2BT2+92
3792#define kFinPMT kE2BT2+93
3793#define kFinFV kE2BT2+94
3794#define kFinPY kE2BT2+95
3795#define kFinCY kE2BT2+96
3796#define kFinFPMT kE2BT2+97
3797#define kFinFI kE2BT2+98
3798#define kFinFPV kE2BT2+99
3799#define kFinFN kE2BT2+100
3800#define kFinFFV kE2BT2+101
3801#define kFinNPV kE2BT2+102
3802#define kFinIRR kE2BT2+103
3803#define kFinBAL kE2BT2+104
3804#define kFinPRN kE2BT2+105
3805#define kFinINT kE2BT2+106
3806#define kSumX kE2BT2+107
3807#define kSumX2 kE2BT2+108
3808#define kFinToNom kE2BT2+109
3809#define kFinToEff kE2BT2+110
3810#define kFinDBD kE2BT2+111
3811#define kStatVP kE2BT2+112
3812#define kStatZ kE2BT2+113
3813#define kStatT kE2BT2+114
3814#define kStatChi kE2BT2+115
3815#define kStatF kE2BT2+116
3816#define kStatDF kE2BT2+117
3817#define kStatPhat kE2BT2+118
3818#define kStatPhat1 kE2BT2+119
3819#define kStatPhat2 kE2BT2+120
3820#define kStatMeanX1 kE2BT2+121
3821#define kStatMeanX2 kE2BT2+122
3822#define kStatStdX1 kE2BT2+123
3823#define kStatStdX2 kE2BT2+124
3824#define kStatStdXP kE2BT2+125
3825#define kStatN1 kE2BT2+126
3826#define kStatN2 kE2BT2+127
3827#define kStatLower kE2BT2+128
3828#define kStatUpper kE2BT2+129
3829#define kuw0 kE2BT2+130
3830#define kImag kE2BT2+131
3831#define kSumY kE2BT2+132
3832#define kXres kE2BT2+133
3833#define kStat_s kE2BT2+134
3834#define kSumY2 kE2BT2+135
3835#define kSumXY kE2BT2+136
3836#define kuXres kE2BT2+137
3837#define kModBox kE2BT2+138
3838#define kNormProb kE2BT2+139
3839#define kNormalPDF kE2BT2+140
3840#define kTPDF kE2BT2+141
3841#define kChiPDF kE2BT2+142
3842#define kFPDF kE2BT2+143
3843#define kMinY kE2BT2+144 //MinY
3844#define kRandBin kE2BT2+145
3845#define kRef kE2BT2+146
3846#define kRRef kE2BT2+147
3847#define kLRSqr kE2BT2+148
3848#define kBRSqr kE2BT2+149
3849#define kDiagOn kE2BT2+150
3850#define kDiagOff kE2BT2+151
3851#define kun1 kE2BT2+152 //FOR RCL USE WHEN GOTTEN FROM 82
3852#define kvn1 kE2BT2+153 //FOR RCL USE WHEN GOTTEN FROM 82
3853#define k83_00End kvn1 //end of original keys...
3854#define kArchive k83_00End + 1
3855#define kUnarchive k83_00End + 2
3856#define kAsm k83_00End + 3 //Asm(
3857#define kAsmPrgm k83_00End + 4 //AsmPrgm
3858#define kAsmComp k83_00End + 5 //AsmComp(
3859#define kcapAAcute k83_00End + 6
3860#define kcapAGrave k83_00End + 7
3861#define kcapACaret k83_00End + 8
3862#define kcapADier k83_00End + 9
3863#define kaAcute k83_00End + 10
3864#define kaGrave k83_00End + 11
3865#define kaCaret k83_00End + 12
3866#define kaDier k83_00End + 13
3867#define kcapEAcute k83_00End + 14
3868#define kcapEGrave k83_00End + 15
3869#define kcapECaret k83_00End + 16
3870#define kcapEDier k83_00End + 17
3871#define keAcute k83_00End + 18
3872#define keGrave k83_00End + 19
3873#define keCaret k83_00End + 20
3874#define keDier k83_00End + 21
3875#define kcapIAcute k83_00End + 22
3876#define kcapIGrave k83_00End + 23
3877#define kcapICaret k83_00End + 24
3878#define kcapIDier k83_00End + 25
3879#define kiAcute k83_00End + 26
3880#define kiGrave k83_00End + 27
3881#define kiCaret k83_00End + 28
3882#define kiDier k83_00End + 29
3883#define kcapOAcute k83_00End + 30
3884#define kcapOGrave k83_00End + 31
3885#define kcapOCaret k83_00End + 32
3886#define kcapODier k83_00End + 33
3887#define koAcute k83_00End + 34
3888#define koGrave k83_00End + 35
3889#define koCaret k83_00End + 36
3890#define koDier k83_00End + 37
3891#define kcapUAcute k83_00End + 38
3892#define kcapUGrave k83_00End + 39
3893#define kcapUCaret k83_00End + 40
3894#define kcapUDier k83_00End + 41
3895#define kuAcute k83_00End + 42
3896#define kuGrave k83_00End + 43
3897#define kuCaret k83_00End + 44
3898#define kuDier k83_00End + 45
3899#define kcapCCed k83_00End + 46
3900#define kcCed k83_00End + 47
3901#define kcapNTilde k83_00End + 48
3902#define knTilde k83_00End + 49
3903#define kaccent k83_00End + 50
3904#define kgrave k83_00End + 51
3905#define kdieresis k83_00End + 52
3906#define kquesDown k83_00End + 53
3907#define kexclamDown k83_00End + 54
3908#define kalpha k83_00End + 55
3909#define kbeta k83_00End + 56
3910#define kgamma k83_00End + 57
3911#define kcapDelta k83_00End + 58
3912#define kdelta k83_00End + 59
3913#define kepsilon k83_00End + 60
3914#define klambda k83_00End + 61
3915#define kmu k83_00End + 62
3916#define kpi2 k83_00End + 63
3917#define krho k83_00End + 64
3918#define kcapSigma k83_00End + 65
3919#define ksigma k83_00End + 66
3920#define ktau k83_00End + 67
3921#define kphi k83_00End + 68
3922#define kcapOmega k83_00End + 69
3923#define kphat k83_00End + 70
3924#define kchi2 k83_00End + 71
3925#define kstatF2 k83_00End + 72
3926#define kLa k83_00End + 73
3927#define kLb k83_00End + 74
3928#define kLc k83_00End + 75
3929#define kLd k83_00End + 76
3930#define kLe k83_00End + 77
3931#define kLf k83_00End + 78
3932#define kLg k83_00End + 79
3933#define kLh k83_00End + 80
3934#define kLi k83_00End + 81
3935#define kLj k83_00End + 82
3936#define kLk k83_00End + 83
3937#define kLl k83_00End + 84
3938#define kLm k83_00End + 85
3939#define kLsmalln k83_00End + 86
3940#define kLo k83_00End + 87
3941#define kLp k83_00End + 88
3942#define kLq k83_00End + 89
3943#define kLsmallr k83_00End + 90
3944#define kLs k83_00End + 91
3945#define kLt k83_00End + 92
3946#define kLu k83_00End + 93
3947#define kLv k83_00End + 94
3948#define kLw k83_00End + 95
3949#define kLx k83_00End + 96
3950#define kLy k83_00End + 97
3951#define kLz k83_00End + 98
3952#define kGarbageC k83_00End + 99 //GarbageCollect
3953#define kE2BT2_End kGarbageC
3954
3955//TI-83 Plus Context Equates
3956//---------------------------------------------
3957#define cxCmd kQuit //home screen
3958#define cxMatEdit kMatrixEd //matrix editor
3959#define cxPrgmEdit kPrgmEd //program editor
3960#define cxEquEdit kYequ //equation editor
3961#define cxGrRange kWindow //graph range editor
3962#define cxGrZfact kZFactEd //graph zoom factors editor
3963#define cxGraph kGraph //graph mode
3964#define cxStatEdit kStatEd //statistics list editor
3965#define cxPrgmInput kPrgmInput //programmed input
3966#define cxError kError //error handler
3967#define cxLinkIO kLinkIO //LINK I/O interface
3968#define cxMem kResetMem //reset memory
3969#define cxDefMem kResetDef //reset default
3970#define cxRAMApp kChkRAM //RAM usage screen
3971#define cxMode kMode //mode settings screen
3972#define cxErase kDelMem //memory erase
3973#define cxPrgmCreate kPrgmCr //PROGRAM CREATE
3974#define cxTableEditor kTable //TABLE EDITOR
3975#define cxTableSet kTblSet //TABLE SET UP
3976#define cxStatPlot kStatP //STAT PLOTS
3977#define cxInfStat kInfStat //Inferential Statistic
3978#define cxFormat kFormat //FORMAT CONTEXT
3979#define cxSolveTVM kSolveTVM //Solve TVM
3980#define cxSolveRoot kSolveRoot //Solve Root
3981#define lastOldApp kExtApps //external applications
3982#define cxextapps kExtApps
3983#define cxNewApps kNewApps //new cerberus applications
3984#define cxGroup cxNewApps+0 //1st new app.
3985#define cxUnGroup cxNewApps+1 //2nd new app.
3986#define lastNewApp cxUnGroup //last new app for this ver
3987
3988//Scan Code Equates
3989//-------------------------------
3990#define skDown 0x01
3991#define skLeft 0x02
3992#define skRight 0x03
3993#define skUp 0x04
3994#define skEnter 0x09
3995#define skAdd 0x0A
3996#define skSub 0x0B
3997#define skMul 0x0C
3998#define skDiv 0x0D
3999#define skPower 0x0E
4000#define skClear 0x0F
4001#define skChs 0x11
4002#define sk3 0x12
4003#define sk6 0x13
4004#define sk9 0x14
4005#define skRParen 0x15
4006#define skTan 0x16
4007#define skVars 0x17
4008#define skDecPnt 0x19
4009#define sk2 0x1A
4010#define sk5 0x1B
4011#define sk8 0x1C
4012#define skLParen 0x1D
4013#define skCos 0x1E
4014#define skPrgm 0x1F
4015#define skStat 0x20
4016#define sk0 0x21
4017#define sk1 0x22
4018#define sk4 0x23
4019#define sk7 0x24
4020#define skComma 0x25
4021#define skSin 0x26
4022#define skMatrix 0x27
4023#define skGraphvar 0x28
4024#define skStore 0x2A
4025#define skLn 0x2B
4026#define skLog 0x2C
4027#define skSquare 0x2D
4028#define skRecip 0x2E
4029#define skMath 0x2F
4030#define skAlpha 0x30
4031#define skGraph 0x31
4032#define skTrace 0x32
4033#define skZoom 0x33
4034#define skWindow 0x34
4035#define skYEqu 0x35
4036#define sk2nd 0x36
4037#define skMode 0x37
4038#define skDel 0x38
4039
4040//Tokens
4041//----------------------------------------------------
4042#define EOSSTART 0
4043
4044//DISPLAY CONVERSIONS COME IMMEDIATELY BEFORE 'TSTORE'
4045//
4046#define DCONV 0x01
4047//
4048#define tToDMS DCONV //01h
4049#define tToDEC DCONV+1 //02h
4050#define tToAbc DCONV+2 //03h > A b/c
4051//
4052#define tStore DCONV+3 //04h Lstore 01
4053//
4054#define tBoxPlot 0x05
4055//
4056#define BRACKS 0x06
4057//
4058#define tLBrack BRACKS //06h '['
4059#define tRBrack BRACKS+1 //07h ']'
4060#define tLBrace BRACKS+2 //08h '{'
4061#define tRBrace BRACKS+3 //09h '}'
4062//
4063#define tPOST1 BRACKS+4
4064//
4065#define tFromRad tPOST1 //0Ah Lradian
4066#define tFromDeg tPOST1+1 //0Bh Ldegree
4067#define tRecip tPOST1+2 //0Ch Linverse
4068#define tSqr tPOST1+3 //0Dh Lsquare
4069#define tTrnspos tPOST1+4 //0Eh Ltranspose
4070#define tCube tPOST1+5 //0Fh '^3'
4071//
4072#define tLParen 0x10 //10h '('
4073#define tRParen 0x11 //11h ')'
4074//
4075#define IMUN 0x12
4076//
4077#define tRound IMUN //12h 'round'
4078#define tPxTst IMUN+1 //13h 'PXL-TEST'
4079#define tAug IMUN+2 //14h 'aug'
4080#define tRowSwap IMUN+3 //15h 'rSwap'
4081#define tRowPlus IMUN+4 //16h 'rAdd'
4082#define tmRow IMUN+5 //17h 'multR'
4083#define tmRowPlus IMUN+6 //18h 'mRAdd'
4084#define tMax IMUN+7 //19h 'max'
4085#define tMin IMUN+8 //1Ah 'min'
4086#define tRToPr IMUN+9 //1Bh 'R>Pr
4087#define tRToPo IMUN+10 //1Ch 'R>Po
4088#define tPToRx IMUN+11 //1Dh 'P>Rx
4089#define tPToRy IMUN+12 //1Eh 'P>Ry
4090#define tMedian IMUN+13 //1Fh 'MEDIAN
4091#define tRandM IMUN+14 //20h 'randM'
4092#define tMean IMUN+15 //21h
4093#define tRoot IMUN+16 //22h 'ROOT'
4094#define tSeries IMUN+17 //23h 'seq'
4095#define tFnInt IMUN+18 //24h 'fnInt'
4096#define tNDeriv IMUN+19 //25h 'fnIr'
4097#define tEvalF IMUN+20 //26h
4098#define tFmin IMUN+21 //27h
4099#define tFmax IMUN+22 //28h
4100//
4101#define tEOSEL IMUN+23
4102//
4103#define tSpace tEOSEL //29h ' '
4104#define tString tEOSEL+1 //2Ah '"'
4105#define tComma tEOSEL+2 //2Bh ','
4106//
4107#define tii 0x2C //i
4108
4109//Postfix Functions
4110//-----------------------------------------
4111#define tPost 0x2D
4112//
4113#define tFact tPost //2Dh '!'
4114//
4115#define tCubicR 0x2E
4116#define tQuartR 0x2F
4117
4118//Number Tokens
4119//---------------------------------------
4120#define NUMS 0x30
4121//
4122#define t0 NUMS //30h
4123#define t1 NUMS+1 //31h
4124#define t2 NUMS+2 //32h
4125#define t3 NUMS+3 //33h
4126#define t4 NUMS+4 //34h
4127#define t5 NUMS+5 //35h
4128#define t6 NUMS+6 //36h
4129#define t7 NUMS+7 //37h
4130#define t8 NUMS+8 //38h
4131#define t9 NUMS+9 //39h
4132#define tDecPt NUMS+10 //3Ah
4133#define tee NUMS+11 //3Bh
4134
4135//Binary OP
4136//-------------------------------------------
4137#define tOr 0x3C //3Ch '_or_'
4138#define tXor 0x3D //3Dh
4139//
4140#define tColon 0x3E //3Eh ':'
4141#define tEnter 0x3F //3Fh Lenter
4142//
4143#define tAnd 0x40 //40h '_and_'
4144
4145//Letter Tokens
4146//--------------------------------------
4147#define LET 0x41
4148#define tA LET //41h
4149#define tB LET+1 //42h
4150#define tC LET+2 //43h
4151#define tD LET+3 //44h
4152#define tE LET+4 //45h
4153#define tF LET+5 //46h
4154#define tG LET+6 //47h
4155#define tH LET+7 //48h
4156#define tI LET+8 //49h
4157#define tJ LET+9 //4Ah
4158#define tK LET+10 //4Bh
4159#define tL LET+11 //4Ch
4160#define tM LET+12 //4Dh
4161#define tN LET+13 //4Eh
4162#define tO LET+14 //4Fh
4163#define tP LET+15 //50h
4164#define tQ LET+16 //51h
4165#define tR LET+17 //52h
4166#define tS LET+18 //53h
4167#define tT LET+19 //54h
4168#define tU LET+20 //55h
4169#define tV LET+21 //56h
4170#define tW LET+22 //57h
4171#define tX LET+23 //58h
4172#define tY LET+24 //59h
4173#define tZ LET+25 //5Ah
4174#define tTheta LET+26 //5Bh
4175
4176//These Var Tokens Are 1st Of A Double Token
4177//------------------------------------------
4178
4179#define vToks LET+27
4180
4181//User Matrix Token, 2nd Token Needed For Name
4182//
4183#define tVarMat vToks //5Ch
4184//
4185//User List Token, 2nd Token Needed For Name
4186//
4187#define tVarLst vToks+1 //5Dh
4188//
4189//User Equation Token, 2nd Token Needed For Name
4190//
4191#define tVarEqu vToks+2 //5Eh
4192#define tProg vToks+3 //5Fh
4193//
4194//User Pict Token, 2nd Token Needed For Name
4195//
4196#define tVarPict vToks+4 //60h
4197//
4198//User GDB Token, 2nd Token Needed For Name
4199//
4200#define tVarGDB vToks+5 //61h
4201#define tVarOut vToks+6 //62h
4202#define tVarSys vToks+7 //63h
4203
4204//Mode Setting Commands
4205//-------------------------------------------------
4206#define MODESA vToks+8 //64h
4207#define tRad MODESA //64h 'Radian'
4208#define tDeg MODESA+1 //65h 'Degree'
4209#define tNormF MODESA+2 //66h 'Normal'
4210#define tSci MODESA+3 //67h 'Sci'
4211#define tEng MODESA+4 //68h 'Eng'
4212#define tFloat MODESA+5 //69h 'Float'
4213#define CMPS 0x6A
4214#define tEQ CMPS //6Ah '=='
4215#define tLT CMPS+1 //6Bh '<'
4216#define tGT CMPS+2 //6Ch '>'
4217#define tLE CMPS+3 //6Dh LLE
4218#define tGE CMPS+4 //6Eh LGE
4219#define tNE CMPS+5 //6Fh LNE
4220
4221//Binary OP
4222//---------------------------------------
4223#define tAdd 0x70 //70h '+'
4224#define tSub 0x71 //71h '-'
4225#define tAns 0x72 //72h
4226
4227//Mode Setting Commands
4228//-------------------------------------------------------
4229#define MODES 0x73
4230#define tFix MODES //73h 'Fix_'
4231#define tSplitOn MODES+1 //74h
4232#define tFullScreen MODES+2 //75h
4233#define tStndrd MODES+3 //76h 'Func'
4234#define tParam MODES+4 //77h 'Param'
4235#define tPolar MODES+5 //78h 'Pol'
4236#define tSeqG MODES+6 //79h
4237#define tAFillOn MODES+7 //7Ah 'AUTO FILL ON'
4238#define tAFillOff MODES+8 //7Bh
4239#define tACalcOn MODES+9 //7Ch
4240#define tACalcOff MODES+10 //7Dh 'AutoFill OFF'
4241
4242//Graph Format Tokens Are 2 Byte Tokens
4243//----------------------------------------
4244#define tGFormat MODES+11 //7Eh
4245#define tBoxIcon 0x7F
4246#define tCrossIcon 0x80
4247#define tDotIcon 0x81
4248
4249//(More) Binary OP
4250//---------------------------------------
4251#define tMul 0x82 //82h '*'
4252#define tDiv 0x83 //83h '/'
4253
4254//Some Graph Commands
4255//------------------------------------------------------
4256#define GRCMDS 0x84
4257#define tTrace GRCMDS // 84h 'Trace'
4258#define tClDrw GRCMDS+1 // 85h 'ClDrw'
4259#define tZoomStd GRCMDS+2 // 86h 'ZStd'
4260#define tZoomtrg GRCMDS+3 // 87h 'Ztrg'
4261#define tZoomBox GRCMDS+4 // 88h 'ZBOX'
4262#define tZoomIn GRCMDS+5 // 89h 'ZIn'
4263#define tZoomOut GRCMDS+6 // 8Ah 'ZOut'
4264#define tZoomSqr GRCMDS+7 // 8Bh 'ZSqr'
4265#define tZoomInt GRCMDS+8 // 8Ch 'ZInt'
4266#define tZoomPrev GRCMDS+9 // 8Dh 'ZPrev'
4267#define tZoomDec GRCMDS+10 // 8Eh 'ZDecm'
4268#define tZoomStat GRCMDS+11 // 8Fh 'ZStat
4269#define tUsrZm GRCMDS+12 // 90h 'ZRcl'
4270#define tPrtScrn GRCMDS+13 // 91h 'PrtScrn'
4271#define tZoomSto GRCMDS+14 // 92h ZOOM STORE
4272#define tText GRCMDS+15 // 93h
4273
4274//Binary OP (Combination & Permutation)
4275//-------------------------------------------------
4276#define tnPr GRCMDS+16 //94h '_nPr_'
4277#define tnCr GRCMDS+17 //95h '_nCr_'
4278
4279//More Graph Commands
4280//--------------------------------------------------
4281#define tYOn GRCMDS+18 //96h 'FnOn_'
4282#define tYOff GRCMDS+19 //97h 'FnOff_'
4283#define tStPic GRCMDS+20 //98h 'StPic_'
4284#define tRcPic GRCMDS+21 //99h 'RcPic_'
4285#define tStoDB GRCMDS+22 //9Ah 'StGDB_'
4286#define tRclDB GRCMDS+23 //9Bh 'RcGDB_'
4287#define tLine GRCMDS+24 //9Ch 'Line'
4288#define tVert GRCMDS+25 //9Dh 'Vert_'
4289#define tPtOn GRCMDS+26 //9Eh 'PtOn'
4290#define tPtOff GRCMDS+27 //9Fh 'PtOff'
4291
4292//Token A0 Cannot Be An EOS Function Since Low MULT=A0 Already
4293//------------------------------------------------------------
4294#define tPtChg GRCMDS+28 //A0h 'PtChg'
4295#define tPXOn GRCMDS+29 //A1h
4296#define tPXOff GRCMDS+30 //A2h
4297#define tPXChg GRCMDS+31 //A3h
4298#define tShade GRCMDS+32 //A4h 'Shade'
4299#define tCircl GRCMDS+33 //A5h 'Circl'
4300#define tHorz GRCMDS+34 //A6h 'HORIZONTAL'
4301#define tTanLn GRCMDS+35 //A7h 'TanLn'
4302#define tDrInv GRCMDS+36 //A8h 'DrInv_'
4303#define tDrawF GRCMDS+37 //A9h 'DrawF_'
4304#define tVarStrng 0x0AA
4305
4306//Functions with No Arguments
4307//--------------------------------------------------
4308#define NOARG 0x0AB
4309#define tRand NOARG //ABh 'rand'
4310#define tPi NOARG+1 //ACh Lpi
4311#define tGetKey NOARG+2 //ADh 'getKy'
4312#define tAPost tGetKey+1 //APOSTROPHY
4313#define tQuest tAPost+1 //QUESTION MARK
4314#define UNARY tQuest+1 //B0h
4315#define tChs UNARY //B0h
4316#define tInt UNARY+1 //B1h
4317#define tAbs UNARY+2 //B2h
4318#define tDet UNARY+3 //B3h
4319#define tIdent UNARY+4 //B4h
4320#define tDim UNARY+5 //B5h
4321#define tSum UNARY+6 //B6h
4322#define tProd UNARY+7 //B7h
4323#define tNot UNARY+8 //B8h
4324#define tIPart UNARY+9 //B9h
4325#define tFPart UNARY+10 //BAh
4326
4327//New 2 Byte Tokens
4328//------------------------------------------
4329#define t2ByteTok 0x0BB
4330#define UNARYLR UNARY+12
4331#define tSqrt UNARYLR //BCh
4332#define tCubRt UNARYLR+1 //BDh
4333#define tLn UNARYLR+2 //BEh
4334#define tExp UNARYLR+3 //BFh
4335#define tLog UNARYLR+4 //C0h
4336#define tALog UNARYLR+5 //C1h
4337#define tSin UNARYLR+6 //C2h
4338#define tASin UNARYLR+7 //C3h
4339#define tCos UNARYLR+8 //C4h
4340#define tACos UNARYLR+9 //C5h
4341#define tTan UNARYLR+10 //C6h
4342#define tATan UNARYLR+11 //C7h
4343#define tSinH UNARYLR+12 //C8h
4344#define tASinH UNARYLR+13 //C9h
4345#define tCoshH UNARYLR+14 //CAh
4346#define tACosH UNARYLR+15 //CBh
4347#define tTanH UNARYLR+16 //CCh
4348#define tATanH UNARYLR+17 //CDh
4349
4350//Some Programming Commands
4351//------------------------------------------------------
4352#define PROGTOK UNARYLR+18
4353#define tIf PROGTOK //CEh
4354#define tThen PROGTOK+1 //CFh
4355#define tElse PROGTOK+2 //D0h
4356#define tWhile PROGTOK+3 //D1h
4357#define tRepeat PROGTOK+4 //D2h
4358#define tFor PROGTOK+5 //D3h
4359#define tEnd PROGTOK+6 //D4h
4360#define tReturn PROGTOK+7 //D5h
4361#define tLbl PROGTOK+8 //D6h 'Lbl_'
4362#define tGoto PROGTOK+9 //D7h 'Goto_'
4363#define tPause PROGTOK+10 //D8h 'Pause_'
4364#define tStop PROGTOK+11 //D9h 'Stop'
4365#define tISG PROGTOK+12 //DAh 'IS>'
4366#define tDSL PROGTOK+13 //DBh 'DS<'
4367#define tInput PROGTOK+14 //DCh 'Input_'
4368#define tPrompt PROGTOK+15 //DDh 'Prompt_'
4369#define tDisp PROGTOK+16 //DEh 'Disp_'
4370#define tDispG PROGTOK+17 //DFh 'DispG'
4371#define tOutput PROGTOK+18 //E0h 'Outpt'
4372#define tClLCD PROGTOK+19 //E1h 'ClLCD'
4373#define tConst PROGTOK+20 //E2h 'Fill'
4374#define tSortA PROGTOK+21 //E3h 'sortA_'
4375#define tSortD PROGTOK+22 //E4h 'sortD_'
4376#define tDispTab PROGTOK+23 //E5h 'Disp Table
4377#define tMenu PROGTOK+24 //E6h 'Menu'
4378#define tSendMBL PROGTOK+25 //E7h 'SEND'
4379#define tGetMBL PROGTOK+26 //E8h 'GET'
4380
4381//Stat Plot Commands
4382//------------------------------------------------------
4383#define statPCmd PROGTOK+27
4384#define tPlotOn statPCmd //E9h ' PLOTSON'
4385#define tPlotOff statPCmd+1 //EAh ' PLOTSOFF
4386#define tListName 0x0EB //LIST DESIGNATOR
4387#define tPlot1 0x0EC
4388#define tPlot2 0x0ED
4389#define tPlot3 0x0EE
4390#define tUnused01 0x0EF //available?
4391#define tPower 0x0F0 //'^'
4392#define tXRoot 0x0F1 //LsupX,Lroot
4393#define STATCMD 0x0F2
4394#define tOneVar STATCMD //F2h 'OneVar_'
4395#define tTwoVar STATCMD+1 //F3h
4396#define tLR STATCMD+2 //F4h 'LinR(A+BX
4397#define tLRExp STATCMD+3 //F5h 'ExpR_'
4398#define tLRLn STATCMD+4 //F6h 'LnR_'
4399#define tLRPwr STATCMD+5 //F7h 'PwrR_'
4400#define tMedMed STATCMD+6 //F8h
4401#define tQuad STATCMD+7 //F9h
4402#define tClrLst STATCMD+8 //FAh 'CLEAR LIST
4403#define tClrTbl STATCMD+9 //FBh CLEAR TABLE
4404#define tHist STATCMD+10 //FCh 'Hist_'
4405#define txyLine STATCMD+11 //FDh 'xyline_'
4406#define tScatter STATCMD+12 //FEh 'Scatter_'
4407#define tLR1 STATCMD+13 //FFh 'LINR(AX+B
4408
4409//2nd Half Of Graph Format Tokens
4410//----------------------------------------------
4411// Format settings commands
4412//
4413#define GFMT 0
4414#define tSeq GFMT // 'SeqG'
4415#define tSimulG GFMT+1 // 'SimulG'
4416#define tPolarG GFMT+2 // 'PolarGC'
4417#define tRectG GFMT+3 // 'RectGC'
4418#define tCoordOn GFMT+4 // 'CoordOn'
4419#define tCoordOff GFMT+5 // 'CoordOff'
4420#define tDrawLine GFMT+6 // 'DrawLine'
4421#define tDrawDot GFMT+7 // 'DrawDot'
4422#define tAxisOn GFMT+8 // 'AxesOn'
4423#define tAxisOff GFMT+9 // 'AxesOff'
4424#define tGridOn GFMT+10 // 'GridOn'
4425#define tGridOff GFMT+11 // 'GridOff'
4426#define tLblOn GFMT+12 // 'LabelOn'
4427#define tLblOff GFMT+13 // 'LabelOff'
4428#define tWebOn GFMT+14 // 'WebOn'
4429#define tWebOff GFMT+15 // 'WebOFF'
4430#define tuv GFMT+16 // U vs V
4431#define tvw GFMT+17 // V vs W
4432#define tuw GFMT+18 // U vs W
4433
4434//2nd Half Of User Matrix Tokens
4435//-------------------------------------
4436#define tMatA 0x00 //MAT A
4437#define tMatB 0x01 //MAT B
4438#define tMatC 0x02 //MAT C
4439#define tMatD 0x03 //MAT D
4440#define tMatE 0x04 //MAT E
4441#define tMatF 0x05 //MAT F
4442#define tMatG 0x06 //MAT G
4443#define tMatH 0x07 //MAT H
4444#define tMatI 0x08 //MAT I
4445#define tMatJ 0x09 //MAT J
4446
4447//2nd Half Of User List Tokens
4448//--------------------------------------
4449#define tL1 0x00 //LIST 1
4450#define tL2 0x01 //LIST 2
4451#define tL3 0x02 //LIST 3
4452#define tL4 0x03 //LIST 4
4453#define tL5 0x04 //LIST 5
4454#define tL6 0x05 //LIST 6
4455
4456//2nd Half Of User Equation Tokens
4457//----------------------------------
4458// "Y" EQUATIONS HAVE BIT 4 SET
4459//
4460#define tY1 0x10 //Y1
4461#define tY2 0x11 //Y2
4462#define tY3 0x12 //Y3
4463#define tY4 0x13 //Y4
4464#define tY5 0x14 //Y5
4465#define tY6 0x15 //Y6
4466#define tY7 0x16 //Y7
4467#define tY8 0x17 //Y8
4468#define tY9 0x18 //Y9
4469#define tY0 0x19 //Y0
4470
4471//Param Equations Have Bit 5 Set
4472//-----------------------------------
4473#define tX1T 0x20 //X1t
4474#define tY1T 0x21 //Y1t
4475#define tX2T 0x22 //X2t
4476#define tY2T 0x23 //Y2t
4477#define tX3T 0x24 //X3t
4478#define tY3T 0x25 //Y3t
4479#define tX4T 0x26 //X4t
4480#define tY4T 0x27 //Y4t
4481#define tX5T 0x28 //X5t
4482#define tY5T 0x29 //Y5t
4483#define tX6T 0x2A //X6t
4484#define tY6T 0x2B //Y6t
4485
4486//Polar Equations Have Bit 6 Set
4487//----------------------------------
4488#define tR1 0x40 //R1
4489#define tR2 0x41 //R2
4490#define tR3 0x42 //R3
4491#define tR4 0x43 //R4
4492#define tR5 0x44 //R5
4493#define tR6 0x45 //R6
4494
4495//Recursion Equations Have Bit 7 Set
4496//----------------------------------
4497#define tun 0x80 //Un
4498#define tvn 0x81 //Vn
4499#define twn 0x82 //Wn
4500
4501//2nd Half Of User Picture Tokens
4502//------------------------------------
4503#define tPic1 0x00 //PIC1
4504#define tPic2 0x01 //PIC2
4505#define tPic3 0x02 //PIC3
4506#define tPic4 0x03 //PIC4
4507#define tPic5 0x04 //PIC5
4508#define tPic6 0x05 //PIC6
4509#define tPic7 0x06 //PIC7
4510#define tPic8 0x07 //PIC8
4511#define tPic9 0x08 //PIC9
4512#define tPic0 0x09 //PIC0
4513
4514//2nd Half Of User Graph Database Tokens
4515//--------------------------------------
4516#define tGDB1 0x00 //GDB1
4517#define tGDB2 0x01 //GDB2
4518#define tGDB3 0x02 //GDB3
4519#define tGDB4 0x03 //GDB4
4520#define tGDB5 0x04 //GDB5
4521#define tGDB6 0x05 //GDB6
4522#define tGDB7 0x06 //GDB7
4523#define tGDB8 0x07 //GDB8
4524#define tGDB9 0x08 //GDB9
4525#define tGDB0 0x09 //GDB0
4526
4527//2nd Half Of String Vars
4528//------------------------------
4529#define tStr1 0x00
4530#define tStr2 0x01
4531#define tStr3 0x02
4532#define tStr4 0x03
4533#define tStr5 0x04
4534#define tStr6 0x05
4535#define tStr7 0x06
4536#define tStr8 0x07
4537#define tStr9 0x08
4538#define tStr0 0x09
4539
4540//2nd Half Of System Output Only Variables
4541//-----------------------------------------------------------------
4542//OPEN equ 00h
4543#define tRegEq 0x01 //REGRESSION EQUATION
4544#define tStatN 0x02 //STATISTICS N
4545#define tXMean 0x03 //X MEAN
4546#define tSumX 0x04 //SUM(X)
4547#define tSumXSqr 0x05 //SUM(X^2)
4548#define tStdX 0x06 //STANDARD DEV X
4549#define tStdPX 0x07 //STANDARD DEV POP X
4550#define tMinX 0x08 //Min X VALUE
4551#define tMaxX 0x09 //Max X VALUE
4552#define tMinY 0x0A //Min Y VALUE
4553#define tMaxY 0x0B //Max Y VALUE
4554#define tYmean 0x0C //Y MEAN
4555#define tSumY 0x0D //SUM(Y)
4556#define tSumYSqr 0x0E //SUM(Y^2)
4557#define tStdY 0x0F //STANDARD DEV Y
4558#define tStdPY 0x10 //STANDARD DEV POP Y
4559#define tSumXY 0x11 //SUM(XY)
4560#define tCorr 0x12 //CORRELATION
4561#define tMedX 0x13 //MED(X)
4562#define tQ1 0x14 //1ST QUADRANT OF X
4563#define tQ3 0x15 //3RD QUADRANT OF X
4564#define tQuadA 0x16 //1ST TERM OF QUAD POLY REG/ Y-INT
4565#define tQuadB 0x17 //2ND TERM OF QUAD POLY REG/ SLOPE
4566#define tQuadC 0x18 //3RD TERM OF QUAD POLY REG
4567#define tCubeD 0x19 //4TH TERM OF CUBIC POLY REG
4568#define tQuartE 0x1A //5TH TERM OF QUART POLY REG
4569#define tMedX1 0x1B //x1 FOR MED-MED
4570#define tMedX2 0x1C //x2 FOR MED-MED
4571#define tMedX3 0x1D //x3 FOR MED-MED
4572#define tMedY1 0x1E //y1 FOR MED-MED
4573#define tMedY2 0x1F //y2 FOR MED-MED
4574#define tMedY3 0x20 //y3 FOR MED-MED
4575#define tRecurn 0x21 //RECURSION N
4576#define tStatP 0x22
4577#define tStatZ 0x23
4578#define tStatT 0x24
4579#define tStatChi 0x25
4580#define tStatF 0x26
4581#define tStatDF 0x27
4582#define tStatPhat 0x28
4583#define tStatPhat1 0x29
4584#define tStatPhat2 0x2A
4585#define tStatMeanX1 0x2B
4586#define tStatStdX1 0x2C
4587#define tStatN1 0x2D
4588#define tStatMeanX2 0x2E
4589#define tStatStdX2 0x2F
4590#define tStatN2 0x30
4591#define tStatStdXP 0x31
4592#define tStatLower 0x32
4593#define tStatUpper 0x33
4594#define tStat_s 0x34
4595#define tLRSqr 0x35 //r^2
4596#define tBRSqr 0x36 //R^2
4597
4598//These next tokens are only used to access the data
4599//they are display only and the user cannot access them at all
4600//------------------------------------------------------------
4601#define tF_DF 0x37 //ANOFAV FACTOR DF
4602#define tF_SS 0x38 //ANOFAV FACTOR SS
4603#define tF_MS 0x39 //ANOFAV FACTOR MS
4604#define tE_DF 0x3A //ANOFAV ERROR DF
4605#define tE_SS 0x3B //ANOFAV ERROR SS
4606#define tE_MS 0x3C //ANOFAV ERROR MS
4607
4608//2nd Half Of System Input/Output Variables
4609//------------------------------------------------
4610// SYSTEM VARIABLE EQUATES
4611//
4612#define tuXscl 0
4613#define tuYscl 1
4614#define tXscl 2
4615#define tYscl 3
4616#define tRecuru0 4 //U 1ST INITIAL COND
4617#define tRecurv0 5 //V 1ST INITIAL COND
4618#define tun1 6 //U(N-1); NOT USED
4619#define tvn1 7 //V(N-1); NOT USED
4620#define tuRecuru0 8 //
4621#define tuRecurv0 9 //
4622#define tXmin 0x0A
4623#define tXmax 0x0B
4624#define tYmin 0x0C
4625#define tYmax 0x0D
4626#define tTmin 0x0E
4627#define tTmax 0x0F
4628#define tThetaMin 0x10
4629#define tThetaMax 0x11
4630#define tuXmin 0x12
4631#define tuXmax 0x13
4632#define tuYmin 0x14
4633#define tuYmax 0x15
4634#define tuThetMin 0x16
4635#define tuThetMax 0x17
4636#define tuTmin 0x18
4637#define tuTmax 0x19
4638#define tTblMin 0x1A
4639#define tPlotStart 0x1B
4640#define tuPlotStart 0x1C
4641#define tnMax 0x1D
4642#define tunMax 0x1E
4643#define tnMin 0x1F
4644#define tunMin 0x20
4645#define tTblStep 0x21
4646#define tTStep 0x22
4647#define tThetaStep 0x23
4648#define tuTStep 0x24
4649#define tuThetStep 0x25
4650#define tDeltaX 0x26
4651#define tDeltaY 0x27
4652#define tXFact 0x28
4653#define tYFact 0x29
4654#define tTblInput 0x2A
4655#define tFinN 0x2B
4656#define tFinI 0x2C
4657#define tFinPV 0x2D
4658#define tFinPMT 0x2E
4659#define tFinFV 0x2F
4660#define tFinPY 0x30
4661#define tFinCY 0x31
4662#define tRecurw0 0x32 //w0(1)
4663#define tuRecurw0 0x33
4664#define tPlotStep 0x34
4665#define tuPlotStep 0x35
4666#define tXres 0x36
4667#define tuXres 0x37
4668#define tRecuru02 0x38 //u0(2)
4669#define tuRecuru02 0x39
4670#define tRecurv02 0x3C //v0(2)
4671#define tuRecurv02 0x3D
4672#define tRecurw02 0x3E //w0(2)
4673#define tuRecurw02 0x3F
4674
4675//2nd Byte Of t2ByteTok Tokens
4676//------------------------------
4677#define tFinNPV 0x00
4678#define tFinIRR 0x01
4679#define tFinBAL 0x02
4680#define tFinPRN 0x03
4681#define tFinINT 0x04
4682#define tFinToNom 0x05
4683#define tFinToEff 0x06
4684#define tFinDBD 0x07
4685#define tLCM 0x08
4686#define tGCD 0x09
4687#define tRandInt 0x0A
4688#define tRandBin 0x0B
4689#define tSubStrng 0x0C
4690#define tStdDev 0x0D
4691#define tVariance 0x0E
4692#define tInStrng 0x0F
4693#define tDNormal 0x10
4694#define tInvNorm 0x11
4695#define tDT 0x12
4696#define tChI 0x13
4697#define tDF 0x14
4698#define tBINPDF 0x15
4699#define tBINCDF 0x16
4700#define tPOIPDF 0x17
4701#define tPOICDF 0x18
4702#define tGEOPDF 0x19
4703#define tGEOCDF 0x1A
4704#define tNormalPDF 0x1B
4705#define tTPDF 0x1C
4706#define tChiPDF 0x1D
4707#define tFPDF 0x1E
4708#define tRandNorm 0x1F
4709#define tFinFPMT 0x20
4710#define tFinFI 0x21
4711#define tFinFPV 0x22
4712#define tFinFN 0x23
4713#define tFinFFV 0x24
4714#define tConj 0x25
4715#define tReal 0x26
4716#define tImag 0x27
4717#define tAngle 0x28
4718#define tCumSum 0x29
4719#define tExpr 0x2A
4720#define tLength 0x2B
4721#define tDeltaLst 0x2C
4722#define tRef 0x2D
4723#define tRRef 0x2E
4724#define tToRect 0x2F
4725#define tToPolar 0x30
4726#define tConste 0x31
4727#define tSinReg 0x32
4728#define tLogistic 0x33
4729#define tLinRegTTest 0x34
4730#define tShadeNorm 0x35
4731#define tShadeT 0x36
4732#define tShadeChi 0x37
4733#define tShadeF 0x38
4734#define tMatToLst 0x39
4735#define tLstToMat 0x3A
4736#define tZTest 0x3B
4737#define tTTest 0x3C
4738#define t2SampZTest 0x3D
4739#define t1PropZTest 0x3E
4740#define t2PropZTest 0x3F
4741#define tChiTest 0x40
4742#define tZIntVal 0x41
4743#define t2SampZInt 0x42
4744#define t1PropZInt 0x43
4745#define t2PropZInt 0x44
4746#define tGraphStyle 0x45
4747#define t2SampTTest 0x46
4748#define t2SampFTest 0x47
4749#define tTIntVal 0x48
4750#define t2SampTInt 0x49
4751#define tSetupLst 0x4A
4752#define tFinPMTend 0x4B
4753#define tFinPMTbeg 0x4C
4754#define tRealM 0x4D
4755#define tPolarM 0x4E
4756#define tRectM 0x4F
4757#define tExprOn 0x50
4758#define tExprOff 0x51
4759#define tClrAllLst 0x52
4760#define tGetCalc 0x53
4761#define tDelVar 0x54
4762#define tEquToStrng 0x55
4763#define tStrngToEqu 0x56
4764#define tDelLast 0x57
4765#define tSelect 0x58
4766#define tANOVA 0x59
4767#define tModBox 0x5A
4768#define tNormProb 0x5B
4769#define tMGT 0x64 //VERTICAL SPLIT
4770#define tZFit 0x65 //ZOOM FIT
4771#define tDiag_on 0x66 //DIANOSTIC DISPLAY ON
4772#define tDiag_off 0x67 //DIANOSTIC DISPLAY OFF
4773#define tOkEnd2v0 0x67 //end of 2byte tokens for version 0.
4774#define tArchive 0x68 //archive
4775#define tUnarchive 0x69 //unarchive
4776#define tasm 0x6A
4777#define tasmComp 0x6B //asm compile
4778#define tasmPrgm 0x6C //signifies a program is asm
4779#define tasmCmp 0x6D //asm program is compiled
4780#define tLcapAAcute 0x6E
4781#define tLcapAGrave 0x6F
4782#define tLcapACaret 0x70
4783#define tLcapADier 0x71
4784#define tLaAcute 0x72
4785#define tLaGrave 0x73
4786#define tLaCaret 0x74
4787#define tLaDier 0x75
4788#define tLcapEAcute 0x76
4789#define tLcapEGrave 0x77
4790#define tLcapECaret 0x78
4791#define tLcapEDier 0x79
4792#define tLeAcute 0x7A
4793#define tLeGrave 0x7B
4794#define tLeCaret 0x7C
4795#define tLeDier 0x7D
4796#define tLcapIGrave 0x7F
4797#define tLcapICaret 0x80
4798#define tLcapIDier 0x81
4799#define tLiAcute 0x82
4800#define tLiGrave 0x83
4801#define tLiCaret 0x84
4802#define tLiDier 0x85
4803#define tLcapOAcute 0x86
4804#define tLcapOGrave 0x87
4805#define tLcapOCaret 0x88
4806#define tLcapODier 0x89
4807#define tLoAcute 0x8A
4808#define tLoGrave 0x8B
4809#define tLoCaret 0x8C
4810#define tLoDier 0x8D
4811#define tLcapUAcute 0x8E
4812#define tLcapUGrave 0x8F
4813#define tLcapUCaret 0x90
4814#define tLcapUDier 0x91
4815#define tLuAcute 0x92
4816#define tLuGrave 0x93
4817#define tLuCaret 0x94
4818#define tLuDier 0x95
4819#define tLcapCCed 0x96
4820#define tLcCed 0x97
4821#define tLcapNTilde 0x98
4822#define tLnTilde 0x99
4823#define tLaccent 0x9A
4824#define tLgrave 0x9B
4825#define tLdieresis 0x9C
4826#define tLquesDown 0x9D
4827#define tLexclamDown 0x9E
4828#define tLalpha 0x9F
4829#define tLbeta 0x0A0
4830#define tLgamma 0x0A1
4831#define tLcapDelta 0x0A2
4832#define tLdelta 0x0A3
4833#define tLepsilon 0x0A4
4834#define tLlambda 0x0A5
4835#define tLmu 0x0A6
4836#define tLpi 0x0A7
4837#define tLrho 0x0A8
4838#define tLcapSigma 0x0A9
4839#define tLphi 0x0AB
4840#define tLcapOmega 0x0AC
4841#define tLphat 0x0AD
4842#define tLchi 0x0AE
4843#define tLstatF 0x0AF
4844#define tLa 0x0B0
4845#define tLb 0x0B1
4846#define tLc 0x0B2
4847#define tLd 0x0B3
4848#define tLsmalle 0x0B4
4849#define tLf 0x0B5
4850#define tLsmallg 0x0B6
4851#define tLh 0x0B7
4852#define tLi 0x0B8
4853#define tLj 0x0B9
4854#define tLk 0x0BA
4855#define tLl 0x0BC
4856#define tLm 0x0BD
4857#define tLsmalln 0x0BE
4858#define tLo 0x0BF
4859#define tLp 0x0C0
4860#define tLq 0x0C1
4861#define tLsmallr 0x0C2
4862#define tLs 0x0C3
4863#define tLsmallt 0x0C4
4864#define tLu 0x0C5
4865#define tLv 0x0C6
4866#define tLw 0x0C7
4867#define tLx 0x0C8
4868#define tLy 0x0C9
4869#define tLz 0x0CA
4870#define tLsigma 0x0CB
4871#define tLtau 0x0CC
4872#define tLcapIAcute 0x0CD
4873#define tGarbagec 0x0CE
4874#define LastToken 0x0CE //tLAST TOKEN IN THIS VERSION...
4875
4876//Data Type Equates
4877//---------------------------------------------------------------------
4878#define RealObj 0
4879#define ListObj 1
4880#define MatObj 2
4881#define EquObj 3
4882#define StrngObj 4
4883#define ProgObj 5
4884#define ProtProgObj 6
4885#define PictObj 7
4886#define GDBObj 8
4887#define UnknownObj 9
4888#define UnknownEquObj 0x0A
4889#define NewEquObj 0x0B
4890#define CplxObj 0x0C
4891#define CListObj 0x0D
4892#define UndefObj 0x0E
4893#define WindowObj 0x0F
4894#define ZStoObj 0x10
4895#define TblRngObj 0x11
4896#define LCDObj 0x12
4897#define BackupObj 0x13
4898#define AppObj 0x14 //application, only used in menus/link
4899#define AppVarObj 0x15 //application variable
4900#define TempProgObj 0x16 //program, home deletes when finished
4901#define GroupObj 0x17 //group.
4902
4903//I/O Equates
4904//---------------------------------------------------
4905#define D0D1_bits 0x03
4906#define D0LD1L 0x03
4907#define D0LD1H 0x01
4908#define D0HD1L 0x02
4909#define D0HD1H 0x00
4910#define bport 0 //4-bit link port (I/O)
4911
4912//Device Codes
4913//-----------------------------------------------------------------
4914#define TI82DEV 0x82
4915#define PC82DEV 0x02
4916#define MAC82DEV 0x12
4917#define TI83FDEV 0x73
4918#define LINK83FDEV 0x23
4919#define TI83DEV 0x83
4920#define PC83DEV 0x03
4921#define MAC83DEV 0x13
4922#define TI85DEV 0x95 //different than real 85 so me talk
4923#define PC85DEV 0x05
4924#define MAC85DEV 0x15
4925#define TI73DEV 0x74 //device x3 is always an 83
4926#define PC73DEV 0x07
4927#define MAC73DEV 0x17
4928#define LINK73FDEV 0x23
4929#define PC83FDEV 0x23
4930
4931//System Error Codes
4932//-----------------------------------------------------------
4933#define E_EDITF 7 //allow re-entering application
4934#define E_EDIT 1<<E_EDITF
4935#define E_Mask 0x7F
4936#define E_Overflow 1+E_EDIT
4937#define E_DivBy0 2+E_EDIT
4938#define E_SingularMat 3+E_EDIT
4939#define E_Domain 4+E_EDIT
4940#define E_Increment 5+E_EDIT
4941#define E_Break 6+E_EDIT
4942#define E_NonReal 7+E_EDIT
4943#define E_Syntax 8+E_EDIT
4944#define E_DataType 9+E_EDIT
4945#define E_Argument 10+E_EDIT
4946#define E_DimMismatch 11+E_EDIT
4947#define E_Dimension 12+E_EDIT
4948#define E_Undefined 13+E_EDIT
4949#define E_Memory 14+E_EDIT
4950#define E_Invalid 15+E_EDIT
4951#define E_IllegalNest 16+E_EDIT
4952#define E_Bound 17+E_EDIT
4953#define E_GraphRange 18+E_EDIT
4954#define E_Zoom 19+E_EDIT
4955#define E_Label 20
4956#define E_Stat 21
4957#define E_Solver 22+E_EDIT
4958#define E_Singularity 23+E_EDIT
4959#define E_SignChange 24+E_EDIT
4960#define E_Iterations 25+E_EDIT
4961#define E_BadGuess 26+E_EDIT
4962#define E_StatPlo 27
4963#define E_TolTooSmall 28+E_EDIT
4964#define E_Reserved 29+E_EDIT
4965#define E_Mode 30+E_EDIT
4966#define E_LnkErr 31+E_EDIT
4967#define E_LnkMemErr 32+E_EDIT
4968#define E_LnkTransErr 33+E_EDIT
4969#define E_LnkDupErr 34+E_EDIT
4970#define E_LnkMemFull 35+E_EDIT
4971#define E_Unknown 36+E_EDIT
4972#define E_Scale 37+E_EDIT
4973#define E_IdNotFound 38
4974#define E_NoMode 39+E_EDIT
4975#define E_Validation 40
4976#define E_Length 41+E_EDIT
4977#define E_Application 42+E_EDIT
4978#define E_AppErr1 43+E_EDIT
4979#define E_AppErr2 44+E_EDIT
4980#define E_ExpiredApp 45
4981#define E_BadAdd 46
4982#define E_Archived 47+E_EDIT
4983#define E_Version 48
4984#define E_ArchFull 49
4985#define E_Variable 50+E_EDIT
4986#define E_Duplicate 51+E_EDIT
4987#define HigErrNum 51
4988//Obsolete error numbers 34 ;first LINK error
4989#define E_LinkIOChkSum 34
4990#define E_LinkIOTimeOut 35
4991#define E_LinkIOBusy 36
4992#define E_LinkIOVer 37
4993
4994//Equates To RAM Locations For Stat Vars
4995//----------------------------------------------------------------
4996#define FPLEN 9 //Length of a floating-point number.
4997#define StatN statVars
4998#define XMean StatN + FPLEN
4999#define SumX XMean + FPLEN
5000#define SumXSqr SumX + FPLEN
5001#define StdX SumXSqr + FPLEN
5002#define StdPX StdX + FPLEN
5003#define MinX StdPX + FPLEN
5004#define MaxX MinX + FPLEN
5005#define MinY MaxX + FPLEN
5006#define MaxY MinY + FPLEN
5007#define YMean MaxY + FPLEN
5008#define SumY YMean + FPLEN
5009#define SumYSqr SumY + FPLEN
5010#define StdY SumYSqr + FPLEN
5011#define StdPY StdY + FPLEN
5012#define SumXY StdPY + FPLEN
5013#define Corr SumXY + FPLEN
5014#define MedX Corr + FPLEN
5015#define Q1 MedX + FPLEN
5016#define Q3 Q1 + FPLEN
5017#define QuadA Q3 + FPLEN
5018#define QuadB QuadA + FPLEN
5019#define QuadC QuadB + FPLEN
5020#define CubeD QuadC + FPLEN
5021#define QuartE CubeD + FPLEN
5022#define MedX1 QuartE + FPLEN
5023#define MedX2 MedX1 + FPLEN
5024#define MedX3 MedX2 + FPLEN
5025#define MedY1 MedX3 + FPLEN
5026#define MedY2 MedY1 + FPLEN
5027#define MedY3 MedY2 + FPLEN
5028#define PStat MedY3 + 2*FPLEN
5029#define ZStat PStat + FPLEN
5030#define TStat ZStat + FPLEN
5031#define ChiStat TStat + FPLEN
5032#define FStat ChiStat + FPLEN
5033#define DF FStat + FPLEN
5034#define Phat DF + FPLEN
5035#define Phat1 Phat + FPLEN
5036#define Phat2 Phat1 + FPLEN
5037#define MeanX1 Phat2 + FPLEN
5038#define StdX1 MeanX1 + FPLEN
5039#define StatN1 StdX1 + FPLEN
5040#define MeanX2 StatN1 + FPLEN
5041#define StdX2 MeanX2 + FPLEN
5042#define StatN2 StdX2 + FPLEN
5043#define StdXP2 StatN2 + FPLEN
5044#define SLower StdXP2 + FPLEN
5045#define SUpper SLower + FPLEN
5046#define SStat SUpper + FPLEN
5047#define F_DF anovaf_vars
5048#define F_SS F_DF + FPLEN
5049#define F_MS F_SS + FPLEN
5050#define E_DF F_MS + FPLEN
5051#define E_SS E_DF + FPLEN
5052#define E_MS E_SS + FPLEN
5053
5054
5055
5057
5058
5059#endif
5060
5061#ifdef DOXYGEN
5062void _(); // needed to keep doxygen including the file
5063#endif
void _()