File: ti83plus.inc - Tab length: 1 2 4 8 - Lines: on off - No wrap: on off

;ti-83 plus include file
;$05/07/2007

;system variable equates
;------------------------------
#define xsclt $02
#define ysclt $03
#define xmint $0a
#define xmaxt $0b
#define ymint $0c
#define ymaxt $0d
#define tmint $0e
#define tmaxt $0f
#define thetmint  $10
#define thetmaxt  $11
#define tblmint $1a
#define plotstartt  $1b
#define nmaxt $1d
#define nmint $1f
#define tblstept  $21
#define tstept  $22
#define thetstept $23
#define deltaxt $26
#define deltayt $27
#define xfactt  $28
#define yfactt  $29
#define finnt $2b
#define finit $2c
#define finpvt  $2d
#define finpmtt $2e
#define finfvt  $2f
#define finpyt  $30
#define fincyt  $31
#define plotstept $34
#define xrest $36

;run indicators
;------------------------------------
#define busypause %10101010
#define busynormal  %11110000

;banked call equates/macros
;-----------------------------------------------
#define rbr_call  $28
#define brt_jump0 $50
#define bcall(xxxx) rst rbr_call\ .dw xxxx
#define bjump(xxxx) call brt_jump0\ .dw xxxx

;common restart routines
;------------------------------
#define rop1toop2 $08
#define rfindsym  $10
#define rpushrealo1 $18
#define rmov9toop1  $20
#define rfpadd  $30

;error handler equates/macros
;-------------------------------------------
#define app_push_errorh $59
#define app_pop_errorh  $5c
#define apponerr(xxxx)  ld hl,xxxx\ call app_push_error
#define appofferr call app_pop_error

;page $1b rom calls
;--------------------------------
#define _jerrorno $4000
#define _fonthook $4003
#define _call_character_hook  $4006 ;calls character(localize) hook
#define _ldhlind  $4009 ;l=a=(hl),h=(hl+1)
#define _cphlde $400c
#define _divhlby10  $400f
#define _divhlbya $4012
#define _kdbscan  $4015
#define _getcsc $4018 ;key board scan codes
#define _coormon  $401b ;
#define _mon  $401e ;system monitor, customized through the context vectors
#define _monforcekey  $4021 ;
#define _sendkpress $4024
#define _jforcecmdnochar  $4027
#define _jforcecmd  $402a ;
#define _syserrhandler  $402d ;loads error context? sp=(onsp)
#define _newcontext $4030 ;(kbdkey)=0, loads context, restores page in  $4000-$7fff
#define _newcontext0  $4033 ;loads context
#define _cxputaway  $4036 ;
#define _cxputaway2 $4039 ;same but also does a b_call canalphins
#define _cxpputaway $403c
#define _cxsizewind $403f
#define _cxerrep  $4042
#define _cxmain $4045
#define _monerrhand $4048 ;installs errorhandler to start of rom call, loads error context, jumps to mon
#define _appinit  $404b ;loads vector data at hl to cxmain and the rest of the vectors
#define _resetram $404e
#define _lcd_busy $4051 ;wait till bit 1 of port 2 is set
#define _min  $4054 ;op1 = lowest number between op1 and op2
#define _max  $4057 ;op1 = highest number between op1 and op2
#define _trunc  $4060
#define _invsub $4063
#define _times2 $4066
#define _plus1  $4069 ;op1=op1+1
#define _minus1 $406c
#define _fpsub  $406f
#define _fpadd  $4072
#define _dtor $4075
#define _rtod $4078
#define _cube $407b
#define _timespt5 $407e
#define _fpsquare $4081
#define _fpmult $4084 ;op1=op1*op2
#define _ljrnd  $4087 ;adjusts op1 if 0s precede the actual number... rounding? when
#define _invop1sc $408a
#define _invop1s  $408d
#define _invop2s  $4090
#define _frac $4093
#define _fprecip  $4096
#define _fpdiv  $4099
#define _sqroot $409c
#define _rndguard $409f
#define _rnfx $40a2
#define _int  $40a5
#define _round  $40a8
#define _lnx  $40ab
#define _logx $40ae
#define _ljnornd  $40b1 ;like _ljrnd but no rounding
#define _etox $40b4
#define _tenx $40b7
#define _sincosrad  $40ba
#define _sin  $40bd
#define _cos  $40c0
#define _tan  $40c3
#define _sinhcosh $40c6
#define _tanh $40c9
#define _cosh $40cc
#define _sinh $40cf
#define _acosrad  $40d2
#define _atanrad  $40d5
#define _atan2rad $40d8
#define _asinrad  $40db
#define _acos $40de
#define _atan $40e1
#define _asin $40e4
#define _atan2  $40e7
#define _atanh  $40ea
#define _asinh  $40ed
#define _acosh  $40f0
#define _ptor $40f3
#define _rtop $40f6
#define _hltimes9 $40f9
#define _ckop1cplx  $40fc
#define _ckop1real  $40ff
#define _angle  $4102
#define _cop1set0 $4105
#define _cpop4op3 $4108
#define _mov9op2cp  $410b
#define _abso1o2cp  $410e
#define _cpop1op2 $4111
#define _op3toop4 $4114
#define _op1toop4 $4117
#define _op2toop4 $411a
#define _op4toop2 $411d
#define _op1toop3 $4123
#define _op5toop2 $4126
#define _op5toop6 $4129
#define _op5toop4 $412c
#define _op1toop2 $412f
#define _op6toop2 $4132
#define _op6toop1 $4135
#define _op4toop1 $4138
#define _op5toop1 $413b
#define _op3toop1 $413e
#define _op6toop5 $4141
#define _op4toop5 $4144
#define _op3toop5 $4147
#define _op2toop5 $414a
#define _op2toop6 $414d
#define _op1toop6 $4150
#define _op1toop5 $4153
#define _op2toop1 $4156
#define _mov11b $4159
#define _mov10b $415c
#define _mov9b  $415f
#define _mov9b2 $4162 ;points to _mov9b
#define _mov8b  $4165
#define _mov7b  $4168
#define _mov7b2 $416b ;same pointer as _mov7b
#define _op2toop3 $416e
#define _op4toop3 $4171
#define _op5toop3 $4174
#define _op4toop6 $4177
#define _mov9toop1  $417a
#define _mov9op1op2 $417d
#define _mov9toop2  $4180
#define _movfrop1 $4183
#define _op4set1  $4186
#define _op3set1  $4189
#define _op2set8  $418c
#define _op2set5  $418f
#define _op2seta  $4192
#define _op2set4  $4195
#define _op2set3  $4198
#define _op1set1  $419b
#define _op1set4  $419e
#define _op1set3  $41a1
#define _op3set2  $41a4
#define _op1set2  $41a7
#define _op2set2  $41aa
#define _op2set1  $41ad
#define _zero16d  $41b0
#define _op5set0  $41b3
#define _op4set0  $41b6
#define _op3set0  $41b9
#define _op2set0  $41bc
#define _op1set0  $41bf
#define _opset0 $41c2 ;hl = location to write floating point 0
#define _zeroop1  $41c5
#define _zeroop2  $41c8
#define _zeroop3  $41cb
#define _zeroop $41ce
#define _clrlp  $41d1
#define _shracc $41d4 ;move high nibble in a to low nibble
#define _shlacc $41d7 ;move low nibble in a to high nibble
#define _shr18  $41da ;insert a 0 nibble at high nibble of (hl), shift 9 bytes 1 nibble to right
#define _shr18a $41dd ;insert low nibble in a at high nibble of (hl), shift 9 bytes 1 nibble to right
#define _shr16  $41e0 ;insert a 0 nibble at highnibble of (hl), shift 8 bytes 1 nibble to right
#define _shr14  $41e3 ;insert low nibble in a at high nibble of (hl), shift 7 bytes 1 nibble to right
#define _shl16  $41e6 ;insert nibble of 0 in low nibble of (hl), shift 8 bytes (before and including (hl)) to the left 1 nibble
#define _shl14  $41e9 ;insert low nibble of a in low nibble of (hl), shift 7 bytes (before and including (hl)) to the left 1 nibble
#define _srdo1  $41ec
#define _shrdrnd  $41ef
#define _mantpa $41f2 ;adds the value of a to hl which points to the end of the bcd 7 bytes long
#define _addprop  $41f5 ;adds the value of a to hl which points to the end of the bcd (b bytes long)
#define _addproplp  $41f8 ;adds the value of a and carry to hl which points to the end of the bcd (b bytes long)
#define _add16d   $41fb ;adds the bcd numbers at (hl-7) and (de-7)
#define _add14d $41fe ;adds the bcd numbers at (hl-6) and (de-6)
#define _sub16d $4201 ;subtracts bcd numbers at (hl-7) and (de-7)
#define _sub14d $4204 ;subtracts bcd numbers at (hl-6) and (de-6)
#define _op2exop6 $4207
#define _op5exop6 $420a
#define _op1exop5 $420d
#define _op1exop6 $4210
#define _op2exop4 $4213
#define _op2exop5 $4216
#define _op1exop3 $4219
#define _op1exop4 $421c
#define _op1exop2 $421f
#define _exlp $4222
#define _ckop1c0  $4225
#define _ckop1fp0 $4228
#define _ckop2fp0 $422b
#define _posno0int  $422e
#define _ckposint $4231
#define _ckint  $4234
#define _ckodd  $4237
#define _ckop1m $423a
#define _getconop1  $423d ;a=0 opx=57.29577951308232 (1 radian in degrees)
#define _getconop2  $4240 ;a=1 opx=1.570796326794897 (90 deg = pi/2)
              ;a=2 opx=.7853981633974483 (45 deg = pi/4)
              ;a=3 opx=.4342944819032518 (log e)
              ;a=4 opx=3.141592653589800 (pi)
              ;a=5 opx=.0174532925199433 (pi/180 = 1 degree in radians)
              ;a=6 opx=2.302585092994046 (ln 10)
#define _pidiv2 $4243 ;not code, but a pointer to:  .db 80,15,70,79,63,26,79,48,97
#define _pidiv4 $4246 ;               .db 7f,78,53,98,16,33,97,44,83
#define _pitimes2 $4249 ;not code, but a pointer to a 2*pi in non-op format (no exponent byte)
#define _pi $424c ;not code, but a pointer to a pi in non-op format (no exponent byte)
#define _exptohex $424f
#define _op1exptodec  $4252
#define _ckop2pos $4255
#define _ckop1pos $4258
#define _clrop2s  $425b
#define _clrop1s  $425e
#define _fdiv100  $4261 ;op1=op1/100
#define _fdiv10 $4264 ;op1=op1/10
#define _deco1exp $4267 ;decrease exponent by 1, this can go from $00 to  $ff
#define _inco1exp $426a ;op1=op1*10
#define _incexp $426d ;hl points to the floating point's exponent to be multiplied by 10
#define _ckvalidnum $4270
#define _getexp $4273 ;a=op1's exponent, carry set if negative exponent, z if e0
#define _htimesl  $4276
#define _eop1notreal  $4279
#define _thetaname  $427c
#define _rname  $427f
#define _regeqname  $4282
#define _recurnname $4285
#define _xname  $4288
#define _yname  $428b
#define _tname  $428e
#define _realname $4291
#define _setestofps $4294 ;moves the word at fps to es
#define _marktabledirty $4297 ;looks up table variable and marks vat entry as "dirty" or selected
#define _op1mop2exp $429a ;op1's exponent = op1's expoent - op2's exponent
#define _op1expminuse $429d ;a=(op1+1)-e
#define _chkerrbreak  $42a0
#define _isa2bytetok  $42a3
#define _getlastentry $42a6
#define _getlastentryptr  $42a9
#define _regclrchng $42ac
#define _resetwintop  $42af ;takes into account grfsplitoverride and grfsplit flags
#define _setyup $42b2 ;loads 7 to port 10... what does this do?
#define _setxup $42b5 ;loads 5 to port 10...
#define _iso1nontlstorprog  $42b8 ;checks if op1 contains a list, program, group, or appvar obj name
#define _iso1nontemplst $42bb ;checks if op1 contains a list (why would op1+1 contain 01, or 0d for a var name?)
#define _is_a_lstorclst $42be ;checks if a = 1 or 0d
#define _chk_hl_999 $42c1 ;returns nc if less than 999, throws invalid dim error if greater than or equal to 999
#define _equ_or_newequ  $42c4
#define _errd_op1notpos $42c7
#define _errd_op1not_r  $42ca
#define _errd_op1notposint  $42cd
#define _errd_op1_le_0  $42d0
#define _errd_op1_0 $42d3
#define _findsym_get_size   $42d6 ;like findsym, but on output hl is the size of the variable
#define _sto_statvar  $42d9
#define _rcl_statvar  $42dc
#define _ckop2real  $42df
#define _get_x_indirect $42e2 ;whatever this is, it uses the imathptrx locations
#define _memchk $42e5
#define _cmpprgnamlen1  $42e8 ;gets variable name length from hl
#define _cmpprgnamlen $42eb ;gets variable name length from op1
#define _findprogsym  $42ee ;find the program whose name is in op1 (see chkfindsym in sdk)
#define _chkfindsym $42f1
#define _findsym  $42f4
#define _insertmem  $42f7
#define _insertmema $42fa ;not sure how this differs from insertmem
#define _enoughmem  $42fd
#define _cmpmemneed $4300
#define _createpvar4  $4303
#define _createpvar3  $4306
#define _createvar3 $4309
#define _createcplx $430c
#define _createreal $430f
#define _createtemprlist  $4312
#define _createrlist  $4315
#define _createtclist $4318
#define _createclist  $431b
#define _createtemprmat $431e
#define _creatermat $4321
#define _createtempstring $4324
#define _createstrng  $4327
#define _create0equ $432a
#define _createtempequ  $432d
#define _createequ  $4330
#define _createpict $4333
#define _creategdb  $4336
#define _createprog $4339
#define _chkdel $433c
#define _chkdela  $433f
#define _adjparser  $4342
#define _adjmath  $4345
#define _adjm7  $4348
#define _delmema  $434b
#define _get_form_num $434e
#define _delvar $4351
#define _delvario $4354
#define _delmem $4357
#define _delvar3d $435a
#define _delvar3c $435d
#define _delvar3dc  $4360 ;may be incorrect
#define _isfixedname  $4363
#define _delvarentry  $4366
#define _datasizea  $4369
#define _datasize $436c
#define _popmcplxo1 $436f
#define _popmcplx $4372
#define _movcplx  $4375
#define _popop5 $4378
#define _popop3 $437b
#define _popop1 $437e
#define _poprealo6  $4381
#define _poprealo5  $4384
#define _poprealo4  $4387
#define _poprealo3  $438a
#define _poprealo2  $438d
#define _poprealo1  $4390
#define _popreal  $4393
#define _fpopcplx $4396
#define _fpopreal $4399
#define _fpopfps  $439c
#define _deallocfps $439f
#define _deallocfps1  $43a2
#define _allocfps $43a5
#define _allocfps1  $43a8
#define _pushrealo6 $43ab
#define _pushrealo5 $43ae
#define _pushrealo4 $43b1
#define _pushrealo3 $43b4
#define _pushrealo2 $43b7
#define _pushrealo1 $43ba
#define _pushreal $43bd
#define _pushop5  $43c0
#define _pushop3  $43c3
#define _pushmcplxo3  $43c6
#define _pushop1  $43c9
#define _pushmcplxo1  $43cc
#define _pushmcplx  $43cf
#define _exmcplxo1  $43d2
#define _exch9  $43d5
#define _cpyto1fps11  $43d8
#define _cpyto2fps5 $43db
#define _cpyto1fps5 $43de
#define _cpyto2fps6 $43e1
#define _cpyto1fps6 $43e4
#define _cpyto2fps7 $43e7
#define _cpyto1fps7 $43ea
#define _cpyto1fps8 $43ed
#define _cpyto2fps8 $43f0
#define _cpyto1fps10  $43f3
#define _cpyto1fps9 $43f6
#define _cpyto2fps4 $43f9
#define _cpyto6fps3 $43fc
#define _cpyto6fps2 $43ff
#define _cpyto2fps3 $4402
#define _cpycto1fps3  $4405
#define _cpyto1fps3 $4408
#define _cpyfps3  $440b
#define _cpyto1fps4 $440e
#define _cpyto3fps2 $4411
#define _cpyto5fpst $4414
#define _cpyto6fpst $4417
#define _cpyto4fpst $441a
#define _cpyto3fpst $441d
#define _cpyto2fpst $4420
#define _cpyto1fpst $4423
#define _cpyfpst  $4426
#define _cpystack $4429
#define _cpyto3fps1 $442c
#define _cpyto2fps1 $442f
#define _cpyto1fps1 $4432
#define _cpyfps1  $4435
#define _cpyto2fps2 $4438
#define _cpyto1fps2 $443b
#define _cpyfps2  $443e
#define _cpyo3tofpst  $4441
#define _cpyo2tofpst  $4444
#define _cpyo6tofpst  $4447
#define _cpyo1tofpst  $444a
#define _cpytofpst  $444d
#define _cpytostack $4450
#define _cpyo3tofps1  $4453
#define _cpyo5tofps1  $4456
#define _cpyo2tofps1  $4459
#define _cpyo1tofps1  $445c
#define _cpytofps1  $445f
#define _cpyo2tofps2  $4462
#define _cpyo3tofps2  $4465
#define _cpyo6tofps2  $4468
#define _cpyo1tofps2  $446b
#define _cpytofps2  $446e
#define _cpyo5tofps3  $4471
#define _cpyo2tofps3  $4474
#define _cpyo1tofps3  $4477
#define _cpytofps3  $447a
#define _cpyo1tofps6  $447d
#define _cpyo1tofps7  $4480
#define _cpyo1tofps5  $4483
#define _cpyo2tofps4  $4486
#define _cpyo1tofps4  $4489
#define _errnotenoughmem  $448c ;only if not hl bytes free
#define _fpsminus9  $448f
#define _hlminus9 $4492
#define _erroverflow  $4495
#define _errdivby0  $4498
#define _errsingularmat $449b
#define _errdomain  $449e
#define _errincrement $44a1
#define _errnon_real  $44a4
#define _errsyntax  $44a7
#define _errdatatype  $44aa
#define _errargument  $44ad
#define _errdimmismatch $44b0
#define _errdimension $44b3
#define _errundefined $44b6
#define _errmemory  $44b9
#define _errinvalid $44bc
#define _errbreak $44bf
#define _errstat  $44c2
#define _errsignchange  $44c5
#define _erriterations  $44c8
#define _errbadguess  $44cb
#define _errtoltoosmall $44ce
#define _errstatplot  $44d1
#define _errlinkxmit  $44d4
#define _jerror $44d7
#define _noerrorentry $44da
#define _pusherrorhandler $44dd
#define _poperrorhandler  $44e0
#define _strcopy  $44e3
#define _strcat $44e6
#define _isinset  $44e9
#define _sdone  $44ec
#define _serrort  $44ef
#define _snameeq  $44f2
#define _sunderscr  $44f5
#define _sfail  $44f8
#define _sname  $44fb
#define _sok  $44fe
#define _putmap $4501
#define _putc $4504
#define _disphl $4507
#define _puts $450a
#define _putpsb $450d
#define _putps  $4510
#define _wputps $4513
#define _putbuf $4516
#define _putbuf1  $4519
#define _wputc  $451c
#define _wputs  $451f
#define _wputseol $4522 ;displays string in hl in big font, and uses ... if too long
#define _wdispeol $4525
#define _whomeup  $4528
#define _setnumwindow $452b ;based on current cursor position, sets winleft and similar (for input prompts)
#define _newline  $452e
#define _movedown $4531
#define _scrollup $4534
#define _shrinkwindow $4537
#define _moveup $453a
#define _scrolldown $453d
#define _clrlcdfull $4540
#define _clrlcd $4543
#define _clrscrnfull  $4546
#define _clrscrn  $4549
#define _clrtxtshd  $454c
#define _clrwindow  $454f
#define _eraseeol $4552
#define _eraseeow $4555
#define _homeup $4558
#define _getcurloc  $455b
#define _vputmap  $455e
#define _vputs  $4561
#define _vputsn $4564
#define _vputsng  $4567
#define _vputsnt  $456a
#define _runindicon $456d
#define _runindicoff  $4570
#define _savecmdshadow  $4573
#define _saveshadow $4576
#define _rstrshadow $4579
#define _rstrpartial  $457c
#define _rstrcurrow $457f
#define _rstrundermenu  $4582
#define _rstrbotrow $4585
#define _savetr $4588 ;save top right corner of lcd so 2nd arrow can be displayed, indicinuse flag must be set
#define _restoretr  $458b ;restore top right corner of lcd destroyed by an arrow. indicinuse flag must be set
#define _getkeypress  $458e
#define _gettoklen  $4591 ;input: hl=pointer to token. output: a=lenght of string, hl=pointer to string on page 1
#define _get_tok_strng  $4594 ;input: hl=pointer to token. output: op3=string of the token, a=length of string
#define _gettokstring $4597 ;input: de=token. output: hl=pointer to the string on page 1
#define _putbpatbuf2  $459a
#define _putbpatbuf $459d
#define _putbpat  $45a0
#define _putccheckscroll  $45a3
#define _dispeol  $45a6
#define _fdispeol $45a9
#define _makerowcmd $45ac
#define _totostrp $45af
#define _setvarname $45b2
#define _dispdone $45b5
#define _finishoutput $45b8
#define _curblink $45bb
#define _cursoroff  $45be
#define _hidecursor $45c1
#define _cursoron $45c4
#define _showcursor $45c7
#define _keytostring  $45ca
#define _pulldownchk  $45cd ;something wrong here
#define _menucatcommon  $45d0
#define _zifcatalog $45d3
#define _zifmatrixmenu  $45d6 ;_loadcurcat
#define _loadmenunum  $45d9
#define _loadmenunuml $45dc
#define _mencatret  $45df ;restores display as though a menu were just cleared (restores some flags too)
#define _menuswitchcontext  $45e2 ;switches to context in a, calls menu hook with a=3, set 5,(iy+$16) for some sort of override to not make switc
#define _menuedkey  $45e5
;$45e8
#define _notalphnum $45eb
#define _savesavedflags $45ee
#define _setmenuflags $45f1
#define _rstrsomeflags  $45f4
#define _rstroscreen  $45f7 ;restores savesscreen to the display
#define _saveoscreen  $45fa ;stores display in savesscreen
#define _displistname $45fd ;_seeiferrorcx
#define _prevcontext  $4600
#define _comparecontext $4603
#define _adrmrow  $4606
#define _adrmele  $4609
#define _getmatop1a $460c
#define _getm1toop1 $460f
#define _getm1top1a $4612
#define _getmtoop1  $4615
#define _puttom1a $4618
#define _puttoma1 $461b
#define _puttomat $461e
#define _mat_el_div $4621
#define _cmatfun  $4624
#define _rowech_poly  $4627
#define _rowechelon $462a
#define _adrlele  $462d
#define _getl1toop1 $4630
#define _getl1top1a $4633
#define _getltoop1  $4636
#define _getl1toop2 $4639
#define _getl1top2a $463c
#define _getl2top1a $463f
#define _puttola1 $4642
#define _puttol $4645
#define _maxminlst  $4648
#define _llow $464b
#define _lhigh  $464e
#define _lsum $4651
#define cumsum  $4654
#define _tofrac $4657
#define _seqset $465a
#define _seqsolve $465d
#define _cmp_num_init $4660
#define _binopexec  $4663
#define _exmean1  $4666
#define _set2mvlptrs  $4669
#define _setmat1  $466c
#define _createtlist  $466f
#define _unopexec $4672
#define _threeexec  $4675
#define _restoreerrno $4678
#define _fourexec $467b
#define _fiveexec $467e
#define _cpyto2es1  $4681
#define _cpyto6es1  $4684
#define _cpyto1es1  $4687
#define _cpyto3es1  $468a
#define _cpyto3es2  $468d
#define _cpyto2es2  $4690
#define _cpyto1es2  $4693
#define _cpyto2es3  $4696
#define _cpyto1es3  $4699
#define _cpyto3es4  $469c
#define _cpyto6es3  $469f
#define _cpyto2es4  $46a2
#define _cpyto1es4  $46a5
#define _cpyto2es5  $46a8
#define _cpyto1es5  $46ab
#define _cpyto4est  $46ae
#define _cpyto2est  $46b1
#define _cpyto1est  $46b4
#define _cpyto2es6  $46b7
#define _cpyto1es6  $46ba
#define _cpyto2es7  $46bd
#define _cpyto1es7  $46c0
#define _cpyto2es8  $46c3
#define _cpyto1es8  $46c6
#define _cpyto1es9  $46c9
#define _cpyto2es9  $46cc
#define _cpyto2es10 $46cf
#define _cpyto1es10 $46d2
#define _cpyto2es11 $46d5
#define _cpyto1es11 $46d8
#define _cpyto2es12 $46db
#define _cpyto1es12 $46de
#define _cpyto2es13 $46e1
#define _cpyto1es13 $46e4
#define _cpyto1es14 $46e7
#define _cpyto1es16 $46ea
#define _cpyto1es17 $46ed
#define _cpyto1es18 $46f0
#define _cpyto1es15 $46f3
#define _cpyto2es15 $46f6
#define _cpyo1toest $46f9
#define _cpyo1toes1 $46fc
#define _cpyo6toes1 $46ff
#define _cpyo6toes3 $4702
#define _cpyo1toes2 $4705
#define _cpyo2toes2 $4708
#define _cpyo1toes3 $470b
#define _cpyo1toes4 $470e
#define _cpyo1toes5 $4711
#define _cpyo1toes6 $4714
#define _cpyo1toes7 $4717
#define _cpyo2toes4 $471a
#define _cpyo2toes5 $471d
#define _cpyo2toes6 $4720
#define _cpyo2toes7 $4723
#define _cpyo2toes8 $4726
#define _cpyo2toes9 $4729
#define _cpyo1toes8 $472c
#define _cpyo1toes9 $472f
#define _cpyo1toes10  $4732
#define _cpyo1toes11  $4735
#define _cpyo1toes12  $4738
#define _cpyo1toes13  $473b
#define _cpyo1toes14  $473e
#define _cpyo1toes15  $4741
#define _evalf3a  $4744
#define _getk $4747 ;?
#define _settitle $474a
#define _dispvarval $474d
#define _recalled $4750 ;_setupbuffer
#define _createnumeditbuf $4753
#define _processbufkeys $4756 ;may be default key processing like [clear], etc. especially for an edit buffer.
#define _callcommon $4759
#define _commonkeys $475c
#define _leftmore $475f
#define _fdel $4762
#define _fclear $4765
#define _finsdisp $4768 ;michael says #define _finsdisp02 $4768 (something's not right)
#define _finsdisp02 $476b ;_setindicator
#define _closeeditbufnor  $476e
#define _releasebuffer  $4771
#define _varnametoop1l  $4774
#define _nametoop1  $4777
#define _numpputaway  $477a
#define _numredisp  $477d
#define _numerror02 $4780
#define _load_sfont $4783
#define _sfont_len  $4786
#define _initnumvec $4789
#define _setxxop1 $478c
#define _setxxop2 $478f
#define _setxxxxop2 $4792
#define _uclines  $4795
#define _cline  $4798
#define _clines $479b
#define _xrooty $479e
#define _ytox $47a1
#define _zmstats  $47a4
#define _point_stat_hlp $47a7
#define _drawsplot  $47aa
#define _initnewtracep  $47ad
#define _splotcoord $47b0
#define _splotright $47b3
#define _splotleft  $47b6
#define _cmpboxinfo $47b9
#define _nextplot $47bc
#define _prevplot $47bf
#define _clrprevplot  $47c2
#define _put_index_lst  $47c5
#define _get_index_lst  $47c8
#define _heap_sort  $47cb
#define _stogdb2  $47ce
#define _rclgdb2  $47d1
#define _circcmd  $47d4
#define _grphcirc $47d7
#define _mov18b $47da
#define _darkline $47dd
#define _iline  $47e0
#define _ipoint $47e3
#define _xyrndboth  $47e6
#define _xyrnd  $47e9
#define _checktop $47ec
#define _checkxy  $47ef
#define _darkpnt  $47f2
#define _cpoints  $47f5
#define _wtov $47f8
#define _vtowhlde $47fb
#define _xitof  $47fe
#define _yftoi  $4801
#define _xftoi  $4804
#define _traceoff $4807
#define _grredisp $480a
#define _gdisptoken $480d
#define _grdecoda $4810
#define _labcoor  $4813
#define _coordisp $4816 ;draws x & y coordinates (or r and theta if polargc)
#define _tmpequnosrc  $4819
#define _grlabels $481c
#define _ypixset  $481f
#define _xpixset  $4822
#define _copyrng  $4825
#define _valcur $4828
#define _grputaway  $482b
#define _rstgflags  $482e
#define _grreset  $4831
#define _xycent $4834
#define _zoomxycmd  $4837
#define _cptdely  $483a
#define _cptdelx  $483d
#define _setfuncm $4840
#define _setseqm  $4843
#define _setpolm  $4846
#define _setparm  $4849
#define _zmint  $484c
#define _zmdecml  $484f
#define _zmprev $4852
#define _zmusr  $4855
#define _setuzm $4858
#define _zmfit  $485b
#define _zmsquare $485e
#define _zmtrig $4861
#define _setxminmax $4864
#define _zoodefault $4867
#define _grbufcpy $486a
#define _drawsplitline  $486d
#define _restoredisp  $4870
#define _fnddb  $4873
#define _alleq  $4876
#define _fndallseleq  $4879
#define _nexteq $487c
#define _preveq $487f
#define _blinkgcur  $4882
#define _nbcursor $4885
#define _statmark $4888
#define _chktextcurs  $488b
#define _regraph  $488e
#define _dorefflags02 $4891 ;something wrong here
#define initnseq  $4894
#define _yres $4897 ;_plotptxy2
#define _ceiling  $489a ;ceil(op1)
#define _putxy  $489d ;draws x & y coordinates (regardless of polargc)
#define _putequno $48a0
#define _pdspgrph $48a3
#define _horizcmd $48a6
#define _vertcmd  $48a9
#define _linecmd  $48ac
#define _unlinecmd  $48af
#define _pointcmd $48b2
#define _pixeltest  $48b5
#define _pixelcmd   $48b8
#define _tanlnf $48bb
#define _drawcmd_init $48be
#define _drawcmd  $48c1
#define _shadecmd $48c4
#define _invcmd $48c7
#define _statshade  $48ca
#define _dspmattable  $48cd
#define _dsplsts  $48d0
#define _closeeditbuf $48d3
#define _parseeditbuf $48d6
#define _putsm  $48d9
#define _dspcurtbl  $48dc
#define _dspgrtbl $48df
#define _zerotemplate $48e2
#define _settblrefs $48e5
#define _disptblbot $48e8
#define _disptbltop $48eb
#define _disptblbody  $48ee
#define _vputblank  $48f1
#define _tbltrace $48f4
#define _displistnamey  $48f7
#define _curnamelength  $48fa
#define _nametobuf  $48fd
#define _jpromptcursor  $4900
#define _bufleft  $4903
#define _bufright $4906
#define _bufinsert  $4909
#define _bufqueuechar $490c
#define _bufreplace $490f
#define _bufdelete  $4912
#define _bufpeek  $4915
#define _bufpeek1 $4918
#define _bufpeek2 $491b
#define _bufpeek3 $491e
#define _buftobtm $4921
#define _setupeditequ $4924
#define _buftotop $4927
#define _iseditfull $492a
#define _iseditempty  $492d
#define _isattop  $4930
#define _isatbtm  $4933
#define _bufclear $4936
#define _jcursorfirst $4939
#define _jcursorlast  $493c
#define _cursorleft $493f
#define _cursorright  $4942
#define _cursorup $4945
#define _cursordown $4948
#define _cursortooffset $494b
#define _insdisp  $494e
#define _fdispbol1  $4951
#define _fdispbol $4954
#define _dispeow  $4957
#define _disphead $495a
#define _disptail $495d
#define _puttokstring $4960
#define _setupeditcmd $4963
#define _setemptyeditequ  $4966
#define _setemptyeditptr  $4969
#define _closeeditequ $496c
#define _getprevtok $496f
#define _getkey $4972
#define _canindic $4975
#define _lcd_driveron $4978
#define _dfmin2 $497b
#define _formdisp $497e
#define _formmatrix $4981
#define _wscrollleft  $4984
#define _wscrollup  $4987
#define _wscrolldown  $498a
#define _wscrollright $498d
#define _formereal  $4990
#define _formerealtok $4993
#define _formdcplx  $4996
#define _formreal $4999
#define _formscrollup $499c
#define _setwinabove  $499f
#define _disarmscroll $49a2
#define _op1toedit  $49a5
#define _mintoedit  $49a8
#define _rclvartoedit $49ab
#define _rclvartoeditptr  $49ae
#define _rclentrytoedit $49b1
#define _rcltoqueue $49b4 ;recalls bytes at op1 into edit buffer
#define _formtotok  $49b7
#define _disp_interval  $49ba
#define _displstname  $49bd
#define _dispslstnamehl $49c0
#define _editequ  $49c3
#define _closeequfield  $49c6
#define _autoselect $49c9
#define _dispyeos $49cc
#define _dispnumeos $49cf
#define _setupdispeq  $49d2
#define _dispforward  $49d5
#define _dispyprompt2 $49d8
#define _stringwidth  $49db
#define _disperrorscreen  $49de ;displays top row of error screen (error message)
#define _popcx  $49e1 ;moves 14 bytes at cxprev to cxmain, 15th byte goes to replace appflags
#define _loadnoeentry $49e4
#define _savescreen $49e7
#define _retscreen  $49ea
#define _retscreenerr $49ed
#define _checksplitflag $49f0
#define _solveredisp  $49f3
#define _solvedisp  $49f6
#define _itemname $49f9
#define _setnorm_vals $49fc
#define _setyoffset $49ff ;sets up yoffset and next 4 bytes (possibly specialized for the table editor)
#define _convkeytotok $4a02
#define _convfckeytotok $4a05
#define _convfekeytotok $4a08
#define _toktokey $4a0b
#define _sendskipexitpacket $4a0e
#define _getvarcmd  $4a11
#define _sendvarcmd $4a14
#define _sendscreenshot $4a17
#define keyscnlnk $4a1a
#define _deselectallvars  $4a1d
#define _delres $4a20
#define _convlctolr $4a23
#define _redimmat $4a26
#define _inclstsize $4a29
#define _insertlist $4a2c
#define _dellistel  $4a2f
#define _editprog $4a32
#define _closeprog  $4a35
#define _clrgraphref  $4a38
#define _fixtempcnt $4a3b
#define _savedata $4a3e
#define _restoredata  $4a41
#define _findalphaup  $4a44
#define _findalphadn  $4a47
#define _cmpsyms  $4a4a
#define _createtemp $4a4d
#define _cleanall $4a50
#define _movetonextsym  $4a53 ;input: hl=pointer to type byte of vat entry. output: hl = pointer to next entry's type byte
#define _convlrtolc $4a56
#define _tblscreendn  $4a59 ;something is not right here
#define _tblscreenup  $4a5c
#define _screenup $4a5f
#define _screenupdown $4a62
#define _zifrclhandler  $4a65
#define _zifrclkapp $4a68
#define _rclkeyrtn  $4a6b
#define _rclkey $4a6b
#define _rclregeq_call  $4a6e
#define _rclregeq $4a71
#define _initnameprompt $4a74
#define _nameprompt2  $4a77
#define _catalogchk $4a7a
#define _clrtr  $4a7d
#define _quad $4a80
#define _graphquad  $4a83
#define _bc2noreal  $4a86
;$4a89
#define _errnonreal $4a8c ;err:data type if top b numers from fps are non-real
#define _write_text $4a8f
#define _forseqinit $4a92
#define _grphpars $4a95
#define _plotpars $4a98
#define _parseinp $4a9b
#define _parseoff $4a9e
#define _parsescan  $4aa1
#define _getparse $4aa4
#define _saveparse  $4aa7
#define _initpflgs  $4aaa
#define _ckendlinerr  $4aad
#define _op2set60 $4ab0
#define _getstatptr $4ab3
#define _cmp_statptr  $4ab6
#define _varsysadr  $4ab9
#define _stosystok  $4abc
#define _stoans $4abf
#define _stotheta $4ac2
#define _stor $4ac5
#define _stoy $4ac8
#define _ston $4acb
#define _stot $4ace
#define _stox $4ad1
#define _stoother $4ad4
#define _rclans $4ad7
#define _rcly $4ada
#define _rcln $4add
#define _rclx $4ae0
#define _rclvarsym  $4ae3
#define _rclsystok  $4ae6
#define _stmatel  $4ae9
#define _stlstvecel $4aec
#define _convop1  $4aef
#define _find_parse_formula $4af2
#define _parse_formula  $4af5
#define _fetchquotedstring  $4af8
#define _fetchnumline $4afb
;$4afe
#define _parseinpgraph  $4b01 ;same as _parseinp except 3,(iy+$1f) is graph/split screen override, or something
#define _parseinpgraphreset $4b04 ;_parseinpgraph except zeroes out iy+6/7, resets 3,(iy+$1a) & 0,(iy+$1f), fmtflags->fmtoverride, parse within parseinp?
#define _parseinplastent  $4b07 ;parseinp on program  $05,$23,$00
#define _erroncertaintypes  $4b0a ;err:data type if a is one of a couple of values...subroutine in parseinp, somehow
#define _createpair $4b0d
#define _pushnum  $4b10
#define _inccurpcerrend $4b13
#define _errend $4b16
#define _commaerrf  $4b19
#define _commaerr $4b1c
#define _steqarg2 $4b1f
#define _steqarg  $4b22
#define _inparg $4b25
#define _steqarg3 $4b28
#define _nxtfetch $4b2b
#define _ckfetchvar $4b2e
#define _fetchvara  $4b31
#define _fetchvar $4b34
#define _ckendlin $4b37 ;gets parse byte in a and then _ckendexp
#define _ckendexp $4b3a ;checks a for $3e or  $3f
#define _ckparsend  $4b3d
#define _stotypearg $4b40
#define _convdim  $4b43
#define _convdim00  $4b46
#define _aheadequal $4b49
#define _parsaheads $4b4c
#define _parsahead          $4b4f
#define _ansname  $4b52
#define _stocmpreals  $4b55
#define _getdeptr $4b58
#define _push2boper $4b5b ;push the value in bc onto the operator stack
#define _pop2boper  $4b5e ;pop 2 bytes on the operator stack to bc
#define _pushoper $4b61 ;push the value in a onto the operator stack
#define _popoper  $4b64 ;pop 1 byte on the operator stack to a
#define _find_e_undef $4b67
#define _sttmpeq  $4b6a
#define _findeol  $4b6d
#define _brkinc $4b70
#define _incfetch $4b73
#define _curfetch $4b76
#define _random $4b79
#define _storand  $4b7c
#define _randinit $4b7f
#define _resetstacks  $4b82 ;(onsp)->(errsp), (fpbase)->(fps), (opbase)->(ops)
#define _factorial  $4b85
#define _yonoff $4b88
#define _eqselunsel $4b8b
#define _itsolver $4b8e
#define _gritsolver $4b91
#define _itsolverb  $4b94
#define _itsolvernb $4b97
#define _extest_int $4b9a
#define _dist_fun $4bad
#define _loggamma $4ba0
#define _onevar $4ba3
#define _onevars_0  $4ba6
#define _ordstat  $4ba9
#define _initstatans2 $4bac
#define _anova_spec $4baf
#define _outputexpr $4bb2
#define _centcursor $4bb5
#define _text $4bb8
#define _finishspec $4bbb
#define _trcyfunc $4bbe
#define _rcl_seq_x  $4bc1
#define _rclseq2  $4bc4
#define _grpputaway $4bc7
#define _ckvaldelx  $4bca
#define _ckvaldelta $4bcd
#define _grbufclr $4bd0
#define _grbufcpy_v $4bd3
#define _fndseleq $4bd6
#define _clrgraphxy $4bd9
#define _nedxt_y_style  $4bdc
#define _plotpt $4bdf
#define _newindep $4be2
#define _axes $4be5
#define _setpenx  $4be8
#define _setpeny  $4beb
#define _setpent  $4bee
#define _tan_equ_disp $4bf1
#define _putans $4bf4
#define _dispop1a $4bf7
#define _mathtanln  $4bfa
#define _enddraw  $4bfd
#define _settblgraphdraw  $4c00
#define _startdialog  $4c03
#define _dialoginit $4c06
#define _getdialognumop1  $4c09
#define _setdialognumop1  $4c0c
#define _getdialognumhl $4c0f
#define _errargumento123  $4c12 ;err:argument if op2>op1 or op1>op3
#define _setdialogkeyoverride $4c15
#define _resdialogkeyoverride $4c18
#define _forcedialogkeypress  $4c1b
#define _dialogstartgetkey  $4c1e
#define _startdialog_override $4c21
#define _calldialogcallback $4c24
#define _setdialogcallback  $4c27
#define _resdialogcallback  $4c2a
#define _copydialognum  $4c2d
#define _memclear $4c30
#define _memset $4c33
#define _reloadappentryvecs $4c36
#define _pointon  $4c39
#define _executenewprgm $4c3c
#define _strlength  $4c3f
#define _vputmaprec $4c42
#define _getrompage $4c45
#define _findappup  $4c48
#define _findappdn  $4c4b
#define _findapp  $4c4e
#define _executeapp $4c51
#define _monreset $4c54
;$4c57
;$4c5a
#define _iscontextkey $4c5d
#define _ibounds  $4c60
#define _ioffset  $4c63
#define _drawcirc2  $4c66
#define _canalphins $4c69
#define cxredisp  $4c6c
#define _getbasever $4c6f
#define _opset0de $4c72 ;loads a floating point 0 to location de
#define _appgetcbl  $4c75
#define _appgetcalc $4c78
#define _savedisp $4c7b
#define _setignorekey   $4c7e ;set 1,(iy+$28) / ret
#define _setsendthiskeyback $4c81 ;set 2,(iy+$28) / ld (kbdkey),a / ret
#define _disableapd $4c84
#define _enableapd  $4c87 ;set apdable,(iy+apdflags)
#define _jforcecmdnochar2 $4c8a ;$2.41 at least
#define _set2iy34 $4c8d ;set 2,(iy+$34) / ret
#define _forcecmd $4c90
#define _apdsetup $4c93
#define _get_numkey $4c96
#define _appsetup $4c99 ;or _appcleanup, or something
#define _handlelinkkeyactivity  $4c9c
#define _jforcecmdnochar3 $4c9f ;2.41 at least
#define _releasesedit $4ca2
#define _initsmalleditline  $4ca5
#define _startsmalledit $4ca8
;$4cab
#define _sgettokstring  $4cae
#define _loadpattern  $   $4cb1
#define _sstringlength  $4cb4
#define _restorepencol  $4cb7
;$4cba
#define _donothing  $4cbd
#define _forcesmalleditreturn $4cc0
;$4cc3 ;saves context
;$4cc6
;$4cc9
;$4ccc
#define _veraseeol  $4ccf
;$4cd2
;$4cd5
#define _gotoerr  $4cd8
#define _initsmalleditbox $4cdb
;$4cde
#define _emptyhook  $4ce1
#define _forcesmalleditreturn2  $4ce4
;$4ce7 ;same as $4cc3
;$4cea
#define _clearrow $4ced
;$4cf0
;$4cf3
;$4cf6
;$4cf9
;$4cfc
;$4cff
;$4d02
;$4d05
;$4d08
;$4d0b
;$4d0e
;$4d11
;$4d14
;$4d17
;$4d1a
;$4d1d
;$4d20
;$4d23
#define _appscreenupdown  $4d26 ;shifts screen up/down, a is lcd row, h is number of lines to shift, (op1)-(op1+3) are something
#define _appscreenupdown1 $4d29 ;shifts screen up/down, but really no clue what the inputs are (all registers and (op1)-(op1+3))
;$4d2c
#define _initsmalleditlinevar $4d2f
#define _initsmalleditlineop1 $4d32
#define _initsmalleditboxvar  $4d35
#define _initsmalleditboxop1  $4d38
;$4d3b
#define _restartdialog  $4d3e
#define _errcustom1 $4d41
#define _errcustom2 $4d44
#define _appstartmouse  $4d47
#define _appstartmousenosetup $4d4a
#define _appmousegetkey $4d4d
#define _appdispmouse $4d50
#define _apperasemouse  $4d53
#define _appsetupmousemem $4d56
#define _getdisprowoffset $4d59 ;hl=a*12 (intended for a to be row and hl becomes offset into plotsscreen)
#define _clearrect  $4d5c
#define _invertrect $4d5f
#define _fillrect $4d62
#define _appupdatemouse $4d65
#define _appdispprevmouse $4d68 ;might bring previous keypress's movement to current coordinates with flags to not display
;$4d6b ;restores some cursor flags and stuff
#define _initcellbox  $4d6e
#define _drawcell $4d71
;$4d74
#define _invertcell $4d77
#define _setcelloverride  $4d7a
#define _drawrectborder $4d7d
#define _clearcell  $4d80
#define _covercell  $4d83
#define _eraserectborder  $4d86
#define _fillrectpattern  $4d89
#define _drawrectborderclear  $4d8c
;$4d8f ;mouse subroutine
;$4d92
#define _verticalline $4d95
#define _iboundsfull  $4d98
#define _displayimage $4d9b
;$4d9e ;does something dumb with ports 10/11
;$4da1 ;mouse subroutine
#define _appupdatemousecoords $4da4
#define _shiftbitsleft  $4da7 ;mouse subroutine, shifts b bits left from de sprite to hl one
;$4daa ;mouse subroutine
;$4dad ;mouse subroutine
;$4db0 ;mouse subroutine
;$4db3 ;mouse subroutine
;$4db6 ;mouse subroutine
;$4db9 ;mouse subroutine
;$4dbc ;mouse subroutine
#define _appupdatemouserow  $4dbf
#define _appdrawmouse $4dc2 ;set 2,(iy+$2c) for apperasemouse, reset for appdispmouse
#define _appdrawmousedirect $4dc5 ;pretty much _appdrawmouse, but you pass lcd column in a
#define _cpoint $4dc8
#define _deleteapp  $4dcb
#define _appupdatemousexy $4dce
#define _setmodecellflag  $4dd1
#define _resetmodecellflag  $4dd4
#define _ismodecellset  $4dd7
#define _getmodecellflag  $4dda
;$4ddd
#define _cellboxmanager $4de0
#define _startnewcell $4de3
;$4de6
#define _cellcursorhandle $4de9
;$4dec
;$4def
#define _clearcurcell $4df2
#define _drawcurcell  $4df5
#define _invertcurcell  $4df8
#define _covercurcell $4dfb
#define _blinkcell  $4dfe
#define _blinkcellnolookup  $4e01
#define _blinkcurcell $4e04
#define _blinkcelltoon  $4e07
#define _blinkcelltoonnolookup  $4e0a
#define _blinkcurcelltoon $4e0d
#define _blinkcelltooff $4e10
#define _blinkcelltooffnolookup $4e13
#define _blinkcurcelltooff  $4e16
#define _getcurmodecellflag $4e19
;$4e1c
#define _startsmalleditreturn $4e1f
;$4e22
;$4e25
#define _cellkhandle  $4e28
#define _errchkalphabox $4e2b
;$4e2e
;$4e31
;$4e34
;$4e37
#define _eraseallcells  $4e3a
#define _iscurmodecellset $4e3d
;$4e40
#define _initalphabox $4e43
;$4e46
;$4e49
#define _drawblnkcell $4e4c
#define _clearblnkcell  $4e4f
#define _invertblnkcell $4e52
#define _appmouseforcekey $4e55
#define _appsetupmousememcoords $4e58 ;this is _appsetupmousemem except you pass starting coordinates in hl
#define _appmovemouse $4e5b ;this is _appmouseforcekey and then updating coordinates
#define _getstringinput $4e5e
#define _getstringinput2  $4e61
;$4e64
#define _horizontalline $4e67
#define _createappvar $4e6a
#define _createprotprog $4e6d
#define _createvar  $4e70
#define _asmcomp  $4e73
#define _getasmsize $4e76
#define _squishprgm $4e79
#define _executeprgm  $4e7c
#define _chkfindsymasm  $4e7f
#define _parseprgmname  $4e82
#define _csub $4e85
#define _cadd $4e88
#define _csqaure  $4e8b
#define _cmult  $4e8e
#define _crecip $4e91
#define _cdiv $4e94
#define _cabs $4e97
#define _addsquares $4e9a
#define _csqroot  $4e9d
#define _cln  $4ea0
#define _clog $4ea3
#define _ctenx  $4ea6
#define _cetox  $4ea9
#define _cxrooty  $4eac
;$4eaf
#define _cytox  $4eb2
#define _invertnonreal  $4eb5
#define _cplxmult $4eb8
#define _cplxdiv  $4ebb
#define _cplxtrunc  $4ebe
#define _cplxfrac $4ec1
#define _cplxfloor  $4ec4
#define _sendheaderpacket $4ec7
#define _canceltransmission $4eca
#define _sendscreencontents $4ecd
#define _sendramvardata $4ed0
#define _sendramcmd $4ed3
#define _sendpacket $4ed6
#define _receiveack $4ed9
#define _send4bytepacket  $4edc
#define _senddatabyte $4edf
#define _send4bytes $4ee2
#define _sendabyte  $4ee5
#define _sendcbyte  $4ee8
#define _getsmallpacket $4eeb
#define _getdatapacket  $4eee
#define _sendack  $4ef1
#define _get4bytes  $4ef4
#define _get3bytes  $4ef7
#define _rec1stbyte $4efa
#define _rec1stbytenc $4efd
#define _continuegetbyte  $4f00
#define _recabyteio $4f03
#define _receivevar $4f06
#define _receivevardataexists $4f09
#define _receivevardata $4f0c
#define _srchvlstup $4f0f
#define _srchvlstdn $4f12
#define _sendvariable $4f15
#define _get4bytescursor  $4f18
#define _get4bytesnc  $4f1b
#define _convert85list  $4f1e
#define _senddirectorycontents  $4f21
#define _sendreadypacket  $4f24
#define _convert85real  $4f27
#define _ret_6  $4f2a
#define _sendcertificate  $4f2d ;sends certificate in header/data packets, flash must be unlocked, used with sending an application in link menu
#define _sendapplication  $4f30
#define _sendosheader $4f33
#define _sendospage $4f36
#define _sendos $4f39
#define _flashwritedisable  $4f3c
#define _sendcmd  $4f3f
#define _sendosvalidationdata $4f42
#define _disp $4f45
#define _sendgetkeypress  $4f48
#define _rejectcommand  $4f4b
#define _checklinklines $4f4e
#define _gethookbyte  $4f51
#define _getbytepaged $4f54
#define _cursorhook $4f57
#define _call_library_hook  $4f5a
#define _call_rawkey_hook $4f5d
#define _setcursorhook  $4f60 ;enable cursor hook
#define _enablelibraryhook  $4f63
#define _setgetkeyhook  $4f66
#define _clrcursorhook  $4f69
#define _disablelibraryhook $4f6c
#define _clrrawkeyhook    $4f6f
#define _resethookbytes $4f72
#define _adjustallhooks $4f75
#define _getkeyhook $4f78
#define _setgetcschook  $4f7b
#define _clrgetkeyhook  $4f7e
#define _call_linkactivity_hook $4f81
#define _enablelinkactivityhook $4f84
#define _disablelinkhook  $4f87
#define _getsmallpacket2  $4f8a
#define _enablecatalog2ook  $4f8d
#define _disablecatalog2ook $4f90
#define _enablelocalizehook $4f93
#define _disablelocalizehook  $4f96
#define _settokenhook $4f99
#define _cleartokenhook $4f9c
;$4f9f ld hl,$92c6 / ld a,($92c5) / res 2,a / cp (hl) / ret
;$4fa2 hl=11*($92fc)+$92c9 / ld a,(hl) / and f / cp 2 / ret
;$4fa5
#define _bit_vertsplit  $4fa8
#define _sethomescreenhook  $4fab
#define _clrhomescreenhook  $4fae
#define _setwindowhook  $4fb1
#define _disablewindowhook  $4fb4
#define _setgraphmodehook $4fb7
#define _disablegraphhook $4fba
;$4fbd
;$4fc0
#define _jforcewindowsettings $4fc3
#define _delvararc  $4fc6
#define _delvarnoarc  $4fc9
#define _setallplots  $4fcc
#define _setyedithook   $4fcf
#define _disableyequhook  $4fd2
#define _jforceyequ $4fd5
#define _arc_unarc  $4fd8 ;checks for low battery
#define _archivevar $4fdb ;set 0,(iy+$24) to check for low battery first
#define _unarchivevar $4fde
#define _dialogkeyhook  $4fe1 ;rawkey hook used by os for dialog context
#define _setfonthook  $4fe4
#define _clrfonthook  $4fe7
#define _setregraphhook $4fea
#define _disableregraphhook $4fed
#define _rungraphinghook  $4ff0
#define _settracehook $4ff3
#define _disabletracehook $4ff6
#define _runtracehook $4ff9
#define _nderiv $4ffc
;$4fff
#define _jforcegraphnokey $5002
#define _jforcegraphkey $5005
#define _poweroff $5008
#define _getkeyretoff $500b ;same as getkey, only returns koff if 2nd+on is pressed
#define _findgroupsym $500e
#define _fillbasepagetable  $5011
#define _arcchk $5014
#define _flashtoram $5017
#define _loaddeindpaged $501a
#define _loadcindpaged  $501d
#define _setuppagedptr  $5020
#define _pagedget $5023
#define _setparserhook  $5026
#define _clearparserhook  $5029
#define _setappchangehook   $502c
#define _clearappchangehook $502f
#define _enablegraphicshook $5032
#define _disablegraphicshook  $5035
;$5038
#define _ilinenohook  $503b
;$503e
#define _deletetempprograms $5041
#define _enablecatalog1ook  $5044
#define _disablecatalog1ook $5047
#define _enablehelphook $504a
#define _disablehelphook  $504d
#define _dispcatalogend $5050
#define _getmenukeypress  $5053
#define _getcatalogitem $5056
#define _runcatalog2ook $5059
#define _runcatalog1ook $505c
;$505f
;$5062
#define _dispmenutitle  $5065
;$5068
#define _enablecxredisphook $506b
#define _disablecxredisphook  $506e
#define _bufcpy $5071
#define _bufclr $5074
#define _unopexec2  $5077
#define _binopexec2 $507a
#define _loadmenub  $507d ;clears screen and loads menu from b, plus a couple flag changes
#define _displayvarinfo $5080
#define _setmenuhook  $5083
#define _clearmenuhook  $5086
#define _getbcoffsetix  $5089
#define _getbcoffsetix2 $508c
#define _forcefullscreen  $508f
#define _getvariabledata  $5092
#define _findswapsector $5095
#define _copyflashpage  $5098
#define _findappnumpages  $509b
#define _hlminus5 $509e
#define _sendarcpacket  $50a1
#define _forcegraphkeypress $50a4
#define _donothing3 $50a7
#define _formbase $50aa
;$50ad
#define _isfragmented $50b0
#define _chk_batt_low $50b3
#define _chk_batt_low_2 $50b6
#define _arc_unarc2 $50b9 ;identical to _arc_unarc, except you can choose to res 0,(iy+$24) to skip low battery check
#define _getappbasepage $50bc ;input: a=one of an app's pages. output: a=app's first page
#define _setexspeed $50bf
#define _rclexit  $50c2
#define _groupallvars $50c5
#define _ungroupvar $50c8
#define _writetoflash $50cb ;receiveapplication or something like that on oses below 2.40
#define _setsilentlinkhook  $50ce
#define _disablesilentlinkhook  $50d1
#define _twovarset  $50d4
#define _execclass2token  $50d7
#define _execclass3token  $50da
#define _getsysinfo $50dd
#define _nzif83plus $50e0
#define _linkstatus $50e3
#define _donothing2 $50e6 ;originally for ti-navigator
#define _keyboardgetkey $50e9
#define _runapplib  $50ec
#define _findspecialappheader $50ef
#define _sendusbdata  $50f2
#define _appgetcblusb $50f5
#define _appgetcalcusb  $50f8
#define _getvarcmdusb $50fb
;$50fe
#define _tenx2  $5101
;$5104
;$5107
#define _getvarversion  $510a
;$510d
;$5110
#define _deletetempeditequ  $5113
#define _jcursorfirst2  $5116
;$5119
;$511c
#define _wputseol2  $511f ;same except res 0,(iy+$0e) first
#define _inverttextinsmode  $5122
;$5125
#define _resetdefaults  $5128
#define _zerofinancevars  $512b
#define _dispheader $512e
#define _jforcegroup  $5131
;$5134
;$5137
#define _dispcoords $513a
;$513d
;$5140
;$5143
;$5146
;$5149
;$514c
#define _getdate  $514f
;$5152
#define _getdtfmt $5155
;$5158
#define _gettime  $515b
;$515e
#define _gettmfmt $5161
;$5164
#define _setzeroone $5167
;$516a
#define _isonetwothree  $516d
;$5170
#define _isop112or24  $5173
#define _chktimer0  $5176
;$5179
;$517c
#define _clrwindowandflags  $517f
#define _setmachineid $5182
#define _resetlists $5185
;$5188
;$518b
;$518e
#define _execlib  $5191
;$5194
#define _cpop1op2rounded  $5197
#define _cpop1op2rounded2 $519a
#define _openlib  $519d
;$51a0
;$51a3
#define _resetioprompt  $51a6
;$51a9
#define _setupeditor  $51ac
#define _sorta  $51af
#define _sortd  $51b2
;$51b5
#define _isop1resid $51b8
;$51bb
;$51be
;$51c1
#define _forcemodekeypress  $51c4 ;forces a keypress (and calls help hook) on any of several mode-setting contexts
#define _dispaboutscreen  $51c7
#define _chkhelphookver $51ca
#define _disp32 $51cd
;$51d0
;$51d3
;$51d6
;$51d9
#define _drawtableeditor  $51dc ;draws table editor lines
;$51df
;$51e2
;$51e5
;$51e8
;$51eb
;$51ee
#define _matrixname $51f1
;$51f4
;$51f7
;$51fa
;$51fd
;$5200
;$5203
;$5206
;$5209
;$520c
;$520f
#define _setupemptyedittempequ  $5212
;$5215
;$5218
;$521b
;$521e
#define _chk_batt_level $5221
;$5224
;$5227
;$522a
;$522d
;$5230
#define _gotolastrow  $5233
#define _rectborder $5236
;$5239
;$523c
;$523f
#define _loada5 $5242
;$5245
#define _namedlisttoop1 $5248
;$524b
;$524e
;$5251
#define _initusbdevicecallback  $5254
#define _killusbdevice  $5257
#define _setusbconfiguration  $525a
#define _requestusbdata $525d
#define _stopreceivingusbdata $5260
#define _findappheaderbypage  $5263
#define _findnextheaderbypage $5266
#define _ismatchinglaunchapp  $5269
#define _inittimer  $526c
#define _killtimer  $526f
#define _starttimer $5272
#define _restarttimer $5275
#define _stoptimer  $5278
#define _waittimer  $527b
#define _checktimer $527e
#define _checktimerrestart  $5281
#define _setvertgraphactive $5284
#define _clearvertgraphactive $5287
#define _enableusbhook  $528a
#define _disableusbhook $528d
#define _initusbdevice  $5290
#define _killusbperipheral  $5293
;$5296
;$5299
#define _graphline  $529c
;$529f
;$52a2
;$52a5
;$52a8
;$52ab
;$52ae
#define _ziftableeditor $52b1
;$52b4
;$52b7
;$52ba
#define _findappname  $52bd
;$52c0
;$52c3
;$52c6
#define _grbufcpycustom $52c9
;$52cc
;$52cf
;$52d2
#define _vdisprealop1 $52d5
#define _dispxequalsnum $52d8
#define _resetgraphsettings $52db
#define _initializevariables  $52de
;$52e1 ;bit 4,($9c75) (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)
#define _delvarsym  $52e4
#define _findappupnocase  $52e7
#define _findappdnnocase  $52ea
#define _deleteinvalidapps  $52ed
#define _deleteapp_link $52f0
#define _cmpsymsnocase  $52f3
#define _setapprestrictions $52f6
#define _removeapprestrictions  $52f9
#define _queryapprestrictions $52fc
#define _dispapprestrictions  $52ff
#define _setuphome  $5302
#define _grputawayfull  $5305 ;same as _grputaway except it assumes no split screen
#define _sendsmartpadkeypress $5308 ;b and a are the inputs
#define _toggleusbsmartpadinput $530b ;a is input, 0 or 1 to enable/disable
#define _isusbdeviceconnected $530e ;bit 4,($81) \ ret, this is just a guess on its purpose but it seems to work
#define _clearusbcallback2  $5311 ;identical to $5257
#define _polarequtoop1  $5314
#define _paramxequtoop1 $5317
#define _paramyequtoop1 $531a
#define _getrestrictionsoptions $531d
#define _dispresetcomplete  $5320
#define _pttreset $5323
#define _findappcustom  $5326
#define _cleargraphstyles $5329

;page $1f rom calls
;--------------------------------
#define bootbtf $8000
;$400f may point to version string ("1.02 ",0)
#define _md5final $8018
#define _rsavalidate  $801b
#define _cmpstr $801e ;bignumcompare
#define _writeabyte $8021
#define _eraseflash $8024
#define _findfirstcertfield $8027
#define _zerotocertificate  $802a
#define _getcertificateend  $802d
#define _findgroupedfield $8030
#define _ret_1  $8033
#define _ret_2  $8036
#define _ret_3  $8039
#define _ret_4  $803c
#define _ret_5  $803f
#define _mult8by8 $8042
#define _mult16by8  $8045
#define _div16by8 $8048
#define _div16by16  $804b
;$804e ;scary certificate reading and writing, something about calc id and fields $0a10/$0a20
#define _loadaindpaged  $8051
#define _flashtoram2  $8054
#define _getcertificatestart  $8057
#define _getfieldsize $805a
#define _findsubfield $805d
#define _erasecertificatesector $8060
#define _checkheaderkey $8063
;$8066 ;just returns z if specified data in field $0310, subfield $0610 exists, de points to data of that field you want to find
;$8069 ;just returns number of  $0810/$0710 fields that exist in certificate or something, in ix
#define _load_lfontv2 $806c
#define _load_lfontv  $806f
#define _receiveos  $8072
#define _findosheadersubfield $8075
#define _findnextcertfield  $8078
#define _getbyteorboot  $807b
#define _getserial  $807e ;getcalcserial
#define _receivecalcid  $8081 ;receives certificate replacement (including calculator id, fails if already exists) and writes it, requires flash unlocked
#define _eraseflashpage $8084
#define _writeflashunsafe $8087
#define _dispbootver  $808a
#define _md5init  $808d
#define _md5update  $8090
#define _markosinvalid  $8093
#define _findprogramlicense $8096 ;copies $8010 field to appid and other insane stuff that makes zero sense
#define _markosvalid  $8099
#define _checkosvalidated $809c
#define _setupapppubkey $809f
#define _sigmodr  $80a2
#define _transformhash  $80a5
#define _isappfreeware  $80a8
#define _findappheadersubfield  $80ab
#define _writevalidationnumber  $80ae ;generates two-byte validation number from calc id and stores to certificate
#define _div32by16  $80b1
#define _findgroup  $80b4 ;searches until field of de-like group is found (de=$0a00, it stops when it finds $0ax0)
#define _getbootver $80b7
#define _gethardwareversion $80ba
#define _xora $80bd ;xor a
#define _bignumpowermod17 $80c0
#define _prodnrpart1  $80c3
#define _writeabytesafe $80c6
#define _writeflash $80c9
#define _setupdatestamppubkey $80cc
#define _setflashlowerbound $80cf
#define _lowbatteryboot $80d2
;ti-84 plus/silver edition only entry points
#define _attemptusbosreceive  $80e4 ;z to wait for usb cable insert & get os, nz and a= contents of port  $4d or  $56, on to cancel & clear ram
#define _displaybootmessage $80e7
#define _newline2 $80ea
#define _displaybooterror10 $80ed
#define _chk_batt_low_b $80f0
#define _chk_batt_low_b2  $80f3
#define _receiveos_usb  $80f6
#define _displayosprogress  $80f9
#define _resetcalc  $80fc
#define _setupospubkey  $80ff
#define _checkheaderkeyhl $8102 ;same as _checkheaderkey, only you pass the address of header in hl, not at appdata
#define _usberrorcleanup  $8105 ;kills some usb stuff (doesn't completely kill periph communication), error handler in boot code
#define _initusb  $8108 ;initializes usb hardware as peripheral, sets 5,(iy+$1b), c set if problems
;$810b set 1,($81) and wait (has something to do with usb peripheral kill, but it doesn't actually kill it)
#define _killusb  $810e ;identical to $8105, except in the middle of the outputs, it sends zero to port $4c
#define _displaybooterror1  $8111
#define _displaybooterror2  $8114
#define _displaybooterror3  $8117
#define _displaybooterror4  $811a
#define _displaybooterror5  $811d
#define _displaybooterror6  $8120
#define _displaybooterror7  $8123
#define _displaybooterror8  $8126
#define _displaybooterror9  $8129

;ram equates
;--------------------------------
#define ramstart  $8000
#define appdata $8000
#define ramcode $8100
#define smalleditcolumnleft $8177
#define smalleditrow  $8178
#define smalleditcolumnright  $8179
;pencol left edge?  $817b
#define biginteger1 $8182
#define smalleditcancelparse  $8194
#define smalleditrowcount $81b7
#define biginteger2 $81c3
#define smalleditpromptstring $81cc
#define ramcodeend  $822f
#define baseappbrtab  $8230 ;table of base pages for apps on page < 20 (starts with eight zeroes because they're os pages)
#define clockflag $8230 ;bit 2 set for 24-hour mode and don't display "am/pm"
#define clockids  $8231 ;five bytes, numbers 0-4 in memory, that when present, stops displaying clock numbers in time setting context?
#define boottemp  $8251
#define md5temp $8259
#define md5length $8269
#define md5ash  $8292
#define appsearchpage $82a3
#define tempswaparea  $82a5
;something  $837 ;18 bytes, probably indicates something about flash app pages, start out as  $ff
#define appid $838d
#define arcpageend  $8392
#define arcptrend $8393
;$839f something...field size bytes?
#define md5buffer $83a5
#define abackup $83eb
#define ramreturndata $83ed
#define arcinfo $83ee
#define savedarcinfo  $8406
#define appinfo $8432
#define appbank_jump  $843c
#define apppage $843e
#define kbdscancode $843f
#define kbdkey  $8444
#define kbdgetky  $8445
#define keyextend $8446
#define extecho keyextend
#define contrast  $8447
#define apdsubtimer $8448
#define apdtimer  $8449
#define curtime $844a
#define currow  $844b
#define curcol  $844c
#define curoffset $844d
#define curunder  $844e
#define cury  $844f
#define curtype $8450
#define curxrow $8451
#define prevddata $8452
#define lfont_record  $845a
#define sfont_record  $8462
#define tokvarptr $846a
#define toklen  $846c
#define indicmem  $846e ;eight bytes used by _savetr and _restoretr to store image in top right corner
#define indiccounter  $8476
#define indicbusy $8477
#define op1 $8478
#define op1m  $847a
#define op2 $8483
#define op2m  $8485
#define op2ext  $848c
#define op3 $848e
#define op3m  $8490
#define op4 $8499
#define op4m  $849b
#define op5 $84a4
#define op5m  $84a6
#define op6 $84af
#define op6m  $84b1
#define op6ext  $84b8
#define progtoedit  $84bf
#define namebuff  $84c7
#define equ_edit_save $84d2
#define imathptr1 $84d3
#define imathptr2 $84d5
#define imathptr3 $84d7
#define imathptr4 $84d9
#define imathptr5 $84db
#define chkdelptr1  $84dd
#define chkdelptr2  $84df
#define insdelptr $84e1
#define updownptr $84e3
#define foutdat $84e5
#define asm_data_ptr1 $84eb
#define asm_data_ptr2 $84ed
#define asm_sym_ptr1  $84ef
#define asm_sym_ptr2  $84f1
#define asm_ram $84f3
#define asm_ind_call  $8507
#define textshadow  $8508
#define textshadcur $8588
#define textshadtop $858a
#define textshadalph  $858b
#define textshadins $858c
#define cxmain  $858d
#define cxpputaway  $858f
#define cxputaway $8591
#define cxerrorep $8595
#define cxsizewind  $8597
#define cxpage  $8599
#define cxcurapp  $859a
#define cxprev  $859b ;12 bytes are shadows of cxmain through cxcurapp and appflags
#define monqh $85aa
#define monqt $85ab
#define monqueue  $85ac
#define onsp  $85bc
#define promptrow $85c0
#define promptcol $85c1
#define promptins $85c2
#define promptshift $85c3
#define promptret $85c4
#define promptvalid $85c6
#define prompttop $85c8
#define promptcursor  $85ca
#define prompttail  $85cc
#define promptbtm $85ce
#define vartype $85d0
#define varcurrent  $85d1
#define varclass  $85d9
#define catalogcurrent  $85da ;word at this location starting with  $6007 corresponds to what is highlighted in catalog
#define menuactive  $85dc
#define menuappdepth  $85dd
#define menucurrent $85de
;$85df ;holds current submenu index
;$85e0 ;holds currently selected item in current submenu
;$85e1 ;holds number of submenus for this menu
;$85e2 ;holds number of items in this submenu
;$85e3 ;iy+appflags backup for menu stuff
;$85e4 ;iy+$0c backup for menu stuff
;$85e5 ;curgstyle backup for menu stuff
;$85e6 ;iy+graphflags backup for menu stuff
#define progcurrent $85e8
;something, op1 backup? $85f2 ;type and name of topmost variable on menu with names
;something  $85fd
#define usermenusa  $85fe
#define ioprompt  $865f
#define dimagewidth $8660
#define ioflag  $8670
#define sndrecstate $8672
#define ioerrstate  $8673
#define header  $8674
#define iodata  $867d
#define ionewdata $8689
#define bakheader $868b
;something  $8697 ;app bitmap for selecting stuff from menus
;something  $86b7 ;used in  $47 and $74 link packets
#define pencol  $86d7
#define penrow  $86d8
#define rclqueue  $86d9
#define rclqueueend $86db
#define errno $86dd
#define errsp $86de
#define erroffset $86e0
#define savesscreen $86ec
#define asm_prgm_size $89ec
#define bstcounter  $89ee
#define flags $89f0
#define appflagsaddr  $89fd
;something  $8a36 ;stats-related? this gets stored to (varcurrent) for some reason
#define statvars  $8a3a
#define anovaf_vars $8c17
#define infvars $8c4d
#define infvar1 $8c56
#define infvar2 $8c5f
#define infvar3 $8c68
#define infvar4 $8c71
#define infvar5 $8c7a
#define infvar6 $8c83
#define infvar7 $8c8c
#define infvar8 $8c95
#define infvar9 $8c9e
#define infvar10  $8ca7
#define infvar11  $8cb0
#define infvar12  $8cb9
#define infvar13  $8cc2
#define infvar14  $8ccb
#define infvar15  $8cd4
#define infvar16  $8cdd
#define infvar17  $8ce6
#define infvar18  $8cef
#define infvar19  $8cf8
#define infvar20  $8d01
;something  $8d0b
;list-related stat vars $8d0d
#define curgstyle $8d17
#define curgy $8d18
#define curgx $8d19
#define curgy2  $8d1a
#define curgx2  $8d1b ;currently selected equation while graphing
#define freesavey $8d1c
#define freesavex $8d1d
;100 bytes  $8d2a
#define xoffset $8da1
#define yoffset $8da2
#define lcdtallp  $8da3
#define pixwidep  $8da4
#define pixwide_m_1 $8da5
#define pixwide_m_2 $8da6
#define lastentryptr  $8da7 ;pointer to the next available byte in the entry stack
#define lastentrystk  $8da9 ;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.
#define numlastentries  $8e29 ;number of entries you can back-track through minus one
#define currlastentry $8e2a ;counter used by os to keep track of which entry was just displayed by pressing 2nd+enter
;something  $8e65
;something  $8e66
#define curinc  $8e67
#define uxmin $8e7e
#define uxmax $8e87
#define uxscl $8e90
#define uymin $8e99
#define uymax $8ea2
#define uyscl $8eab
#define uthetmin  $8eb4
#define uthetmax  $8ebd
#define uthetstep $8ec6
#define utmin $8ecf
#define utmax $8ed8
#define utstep  $8ee1
#define uplotstart  $8eea
#define unmax $8ef3
#define uu0 $8efc
#define uv0 $8f05
#define unmin $8f0e
#define uu02  $8f17
#define uv02  $8f20
#define uw0 $8f29
#define uplotstep $8f32
#define uxres $8f3b
#define uw02  $8f44
#define xmin  $8f50
#define xmax  $8f59
#define xscl  $8f62
#define ymin  $8f6b
#define ymax  $8f74
#define yscl  $8f7d
#define thetamin  $8f86
#define thetamax  $8f8f
#define thetastep $8f98
#define tminpar $8fa1
#define tmaxpar $8faa
#define tstep $8fb3
#define plotstart $8fbc
#define nmax  $8fc5
#define u0  $8fce
#define v0  $8fd7
#define nmin  $8fe0
#define u02 $8fe9
#define v02 $8ff2
#define w0  $8ffb
#define plotstep  $9004
#define xreso $900d
#define w02 $9016
#define un1 $901f
#define un2 $9028
#define vn1 $9031
#define vn2 $903a
#define wn1 $9043
#define wn2 $904c
#define fin_n $9055
#define fin_i $905e
#define fin_pv  $9067
#define fin_pmt $9070
#define fin_fv  $9079
#define fin_py  $9082
#define fin_cy  $908b
#define cal_n $9094
#define cal_i $909d
#define cal_pv  $90a6
#define cal_pmt $90af
#define cal_fv  $90b8
#define cal_py  $90c1
#define smalleditram  $90d3
#define xfact $913f
#define yfact $9148
#define xres_int  $9151
#define deltax  $9152
#define deltay  $915b
#define shortx  $9164
#define shorty  $916d
#define lower $9176
#define upper $917f
#define xoutsym $918c
#define xoutdat $918e
#define youtsym $9190
#define youtdat $9192
#define inputsym  $9194
#define inputdat  $9196
#define prevdata  $9198
;something  $91d9
;something  $91da
#define curtablerow $91dc
#define curtablecol $91dd
#define tblmin  $92b3
#define tblstep $92bc
;something  $92c5
;something  $92c6
;someplotthing1 $92d9
;someplotthing2 $92ea
;someplotthing3 $92fb
#define es  $9302 ;bottom of the es
#define est $9305 ;current height of the es
;something  $9311 ;this is the pointer to a table of stuff for a basic menu
#define plotsscreen $9340
#define seed1 $9640
#define seed2 $9649
#define basic_prog  $9652
#define basic_start $965b
#define nextparsebyte $965d ;basic_pc
#define basic_end $965f
#define numarguments  $9661
;something  $9665 ;parser-related word
;something  $966c
;something  $966d
#define cmdshadow $966e
#define cmdshadcur  $96ee
#define cmdshadalph $96f0
#define cmdshadins  $96f1
#define cmdcursor $96f2
#define edittop $96f4
#define editcursor  $96f6
#define edittail  $96f8
#define editbtm $96fa
;something  $9700
#define editsym $9706 ;pointer to symbol table entry of variable being edited
#define editdat $9708 ;pointer to data of variable being edited
;something  $970e ;stats/list editor related, usually 1
;something  $970f ;stats/list editor related, usually 0
;something  $9710 ;stats/list editor related, usually 0
#define listname1 $9711
#define listname2 $9716
#define listname3 $971b
#define listname4 $9720
#define listname5 $9725
#define listname6 $972a
#define listname7 $972f
#define listname8 $9734
#define listname9 $9739
#define listname10  $973e
#define listname11  $9743
#define listname12  $9748
#define listname13  $974d
#define listname14  $9752
#define listname15  $9757
#define listname16  $975c
#define listname17  $9761
#define listname18  $9766
#define listname19  $976b
#define listname20  $9770
;something  $9775
#define y1linetype  $9776 ;these bytes define the line type for functions which are graphed
#define y2linetype  $9777
#define y3linetype  $9778
#define y4linetype  $9779
#define y5linetype  $977a
#define y6linetype  $977b
#define y7linetype  $977c
#define y8linetype  $977d
#define y9linetype  $977e
#define y0linetype  $977f
#define para1linetype $9780
#define para2linetype $9781
#define para3linetype $9782
#define para4linetype $9783
#define para5linetype $9784
#define para6linetype $9785
#define polar1linetype  $9786
#define polar2linetype  $9787
#define polar3linetype  $9788
#define polar4linetype  $9789
#define polar5linetype  $978a
#define polar6linetype  $978b
#define seculinetype  $978c
#define secvlinetype  $978d
#define secwlinetype  $978e
;something  $979f
;something  $97a1
#define wintop  $97a5
#define winbtm  $97a6
#define winleftedge $97a7
#define winleft $97a8
#define winabove  $97aa
#define winrow  $97ac
#define wincol  $97ae
#define fmtdigits $97b0
#define fmtstring $97b1
#define fmtconv $97f2
#define fmtleft $9804
#define fmtindex  $9806
#define fmtmatsym $9808
#define fmtmatmem $980a
#define eqs $980c
;something  $980e
;something  $9810
#define freeram $9815 ;pretty sure this is the amount of ram free, valid in mem mgmt/del anyway
;something  $9817
#define tsymptr1  $9818
#define tsymptr2  $981a
#define chkdelptr3  $981c
#define chkdelptr4  $981e
#define tempmem $9820
#define fpbase  $9822
#define fps $9824
#define opbase  $9826
#define ops $9828
#define ptempcnt  $982a
#define cleantmp  $982c
#define ptemp $982e ;end of symbol table
#define progptr $9830
#define newdataptr  $9832
#define pagedcount  $9834
#define pagedpn $9835
#define pagedgetptr $9836
#define pagedputptr $9838
#define pagedbuf  $983a
;something  $984a ;this is the top lcd row for a menu (usually 1)
#define apperr1 $984d
#define apperr2 $985a
#define flashbyte1  $9867
#define flashbyte2  $9868
#define freearcblock  $9869
#define arcpage $986b
#define arcptr  $986c
#define apprawkeyhandle $9870
#define appbackupscreen $9872
#define customheight  $9b72
#define locallanguage $9b73
#define hookexectemp  $9b75
#define linkactivityhook  $9b78
#define cursorhookptr $9b7c
#define libraryhookptr  $9b80
#define rawkeyhookptr $9b84
#define getkeyhookptr $9b88
#define homescreenhookptr $9b8c
#define windowhookptr $9b90
#define graphhookptr  $9b94
#define yequalshookptr  $9b98
#define fonthookptr $9b9c
#define regraphhookptr  $9ba0
#define graphicshook  $9ba4
#define tracehookptr  $9ba8
#define parserhookptr $9bac
#define appchangehookptr  $9bb0
#define catalog1ookptr  $9bb4
#define helphookptr $9bb8
#define cxredisphookptr $9bbc
#define menuhookptr $9bc0
#define catalog2ookptr  $9bc4
#define tokenhookptr  $9bc8
#define localizehookptr $9bcc
#define silentlinkhookptr $9bd0 ;restartclr?
#define usbactivityhookptr  $9bd4
#define baseappbrtab2 $9c06 ;table of base pages for apps on page >= 20; first 20 bytes are zeroes.
#define usbcallbackpage $9c13
#define usbcallbackptr  $9c14
#define vendorid  $9c16
#define productid $9c18
#define devreleasenumber  $9c1a
#define oldsespeed  $9c21
#define calcperipheralstate $9c26
#define usb_datawaitingcount  $9c27
#define basepagetable2end $9c6f ;this is the last page
#define port91temp  $9c79
#define usb_dataexpectcount $9c80
#define offpagecallpage $9c83 ;temporarily stores off-page page and address
#define offpagecalladdress  $9c84
;something  $9c86 ;used with se link activity, values of  $00,  $0fa, $0ff probably mean something
;something  $9c87 ;zero this to force the apps menu to recache itself (this is always either 0, 1, or last app page, for some reason)
;something  $9c88 ;don't know, but it's 14 bytes and has to do with selecting stuff (if $9c87 is non-zero, this is zeroed out)
;something  $9c9e ;funky, this actually gets written to the certificate on non-83+ (11 bytes)
#define sespeed $9cae
;something, table index $9caf
;something  $9cb0
;something  $9cb1 ;table
;something  $9ccd
#define localtokstr $9d65
#define keyforstr $9d76
#define keytostrram $9d77
#define sedmonsp  $9d88
#define bpsave  $9d8a
#define usermem $9d95
#define symtable  $0fe66

;system flags
;----------------------------------------------------------------------
#define iodelflag 0
#define indelete  0 ;1 = delete screen

#define trigflags 0 ;trigonometry mode settings
#define trigdeg 2 ;1=degrees, 0=radians

#define kbdflags  0 ;keyboard scan
#define kbdscr  3 ;1=scan code ready
#define kbdkeypress 4 ;1=key has been pressed

#define doneflags 0 ;display "done"
#define doneprgm  5 ;1=display "done" after prgm
;----------------------------------------------------------------------
#define editflags 1
#define editopen  2 ;1=edit buffer is open

#define ansflags  1
#define ansscroll 3 ;1=answer can scroll, seems must be reset in order to move about edit buffer

#define monflags  1  ;monitor flags
#define monabandon  4 ;1=don't start any long process in put away (#715)
;----------------------------------------------------------------------
#define plotflags 2 ;plot generation flags
#define plotloc   1 ;0=bkup & display, 1=display only
#define plotdisp  2 ;1=plot is in display, 0=text in display

#define grfmodeflags  2 ;graph mode settings
#define grffuncm  4 ;1=function grap
#define grfpolarm 5 ;1=polar grap
#define grfparamm 6 ;1=parametric grap
#define grfrecurm 7 ;1=recursion grap
;----------------------------------------------------------------------
#define graphflags  3
#define graphdraw 0 ;0=graph is valid, 1=redraw graph(dirty)
#define graphcursor 2
;----------------------------------------------------------------------
#define grfdbflags  4
#define grfdot  0 ;0=line, 1=dot
#define grfsimul  1 ;0=sequential, 1=simultaneous
#define grfgrid   2 ;0=no grid, 1=grid
#define grfpolar  3 ;0=rectangular, 1=polar coordinates
#define grfnocoord  4 ;0=display coordinates, 1=off
#define grfnoaxis 5 ;0=axis, 1=no axis
#define grflabel  6 ;0=off, 1=axis label
;----------------------------------------------------------------------
#define textflags 5 ;text output flags
#define texterasebelow  1 ;1=erase line below small char
#define textscrolled  2 ;1=screen scrolled
#define textinverse 3 ;1=display inverse bit-map
#define textinsmode 4 ;0=overstrike, 1=insert mode
;----------------------------------------------------------------------
#define parsflag  6 ;parser flags
;----------------------------------------------------------------------
#define parsflag2 7 ;parser flags
#define numop1  0 ;1=result in op1, 0=no result
;----------------------------------------------------------------------
#define newdispf  8 ;derivative mode flags
#define preclrformode 0 ;1=help blink on mode screen
#define allowprogtokens 1 ;1=allow programming tokens to be parsed in basic programs

#define apdflags  8 ;automatic power-down
#define apdable   2 ;1=apd enabled
#define apdrunning  3 ;1=apd clock running
;----------------------------------------------------------------------
#define web_err_mask  $60
;----------------------------------------------------------------------
#define onflags   9 ;on key flags
#define parseinput  1 ;1=parse input when done
#define onrunning 3 ;1=calculator is running
#define oninterrupt 4 ;1=on key interrupt request

#define statflags 9 ;statistics flags
;unknown  5 ;unknown
#define statsvalid  6 ;1=stats are valid
;----------------------------------------------------------------------
#define fmtflags  $0a ;numeric format flags
#define fmtexponent 0   ;1=show exponent, 0=no exponent
#define fmteng  1   ;1=engineering notion, 0=scientific
#define fmthex  2   ;1=hexadecimal
#define fmtoct  3   ;1=octal
#define fmtbin  4   ;1=binary

#define nummode $0a
#define fmtreal 5
#define fmtrect 6
#define fmtpolar  7

#define realmode  5
#define rectmode  6
#define polarmode 7
;     ;if hex and oct both = 1
;     ; then bin=0 means >frac
;     ; bin=1 means >dms
#define fmtbasemask %00011100 ; mask to base flags
#define fmtbaseshift   2  ; offset to base flags
;
;       check if these are used by numform,
;
;              6
;              7
;----------------------------------------------------------------------
#define fmtoverride $0b ;copy of fmtflags with conversion override
;----------------------------------------------------------------------
#define fmteditflags  $0c ;numeric editing flags
#define fmtedit 0 ;1=format number for editing

#define curflags  $0c ;cursor
#define curable   2 ;1=cursor flash is enabled
#define curon 3 ;1=cursor is showing
#define curlock   4 ;1=cursor is locked off

#define cmdflags  $0c ;command editor flags
#define cmdvirgin 5 ;1=nothing has been typed in cmd bfr
;----------------------------------------------------------------------
#define appflags  $0d ;application flags
#define appwantintrpt 0 ;1=want on key interrupts
#define apptextsave 1 ;1=save characters in textshadow
#define appautoscroll 2 ;1=auto-scroll text on last line
#define appmenus  3 ;1=process keys that bring up menus, 0=check lock menu flag
#define applockmenus  4 ;1=ignore menu keys, 0=switch to home screen and bring up menu
#define appcurgraphic 5 ;1=graphic cursor
#define appcurword  6 ;1=text cursor covers entire word
#define appexit   7 ;1=application handles [exit] key itself

#define appwantintrptf  1<<appwantintrpt
#define apptextsavef  1<<apptextsave
#define appautoscrollf  1<<appautoscroll
#define appmenusf 1<<appmenus
#define applockmenusf 1<<applockmenus
#define appcurgraphicf  1<<appcurgraphic
#define appcurwordf 1<<appcurword
#define appexitf  1<<appexit
;----------------------------------------------------------------------
#define rclflag $0e ;os recall queue flags
#define enablequeue 7 ;1 = enable recall queue
;----------------------------------------------------------------------
#define seqflags  $0f ;sequential graph flags
#define webmode 0 ;0 = normal seq mode, 1 = web mode
#define webvert 1
#define sequv 2 ;u vs v
#define seqvw 3 ;v vs w
#define sequw 4 ;u vs w
;----------------------------------------------------------------------
#define promptflags $11 ;prompt line flags
#define promptedit  0 ;1=editing in prompt buffer
;----------------------------------------------------------------------
#define indicflags  $12 ;indicator flags
#define indicrun  0 ;1=run indicator on
#define indicinuse  1 ;indicator save area in use=1, free=0 ;resetting will disable 2nd while in _getkey
#define indiconly 2 ;interrupt handler only checks run indicator

#define shiftflags  $12 ;[2nd] and [alpha] flags
#define shift2nd  3 ;1=[2nd] has been pressed
#define shiftalpha  4 ;1=[alpha] has been pressed
#define shiftlwralph  5 ;1=lower case, 0=upper case
#define shiftalock  6 ;1=alpha lock has been pressed
#define shiftkeepalph 7 ;1=cannot cancel alpha shift
;----------------------------------------------------------------------
#define tblflags  $13 ;table flags.
#define autofill  4 ;1=prompt, 0=fillauto
#define autocalc  5 ;1=prompt, 0=calcauto
#define retable 6 ;0=table is okay, 1=must recompute table.
;----------------------------------------------------------------------
#define sgrflags  $14
#define grfsplit  0 ;1=split graph, 0=normal
#define vertsplit 1 ;1=vertical (left-right) split
#define grfschanged 2 ;1=graph just changed split <-> normal
#define grfsplitoverride  3 ;1 = ignore graph split flag if set
#define write_on_graph  4 ;1 = text or  writing to graph screen
#define g_style_active  5 ;1 = graph styles are enabled, use them
#define cmp_mod_box 6 ;1 = doing mod box plot computation
#define textwrite 7
;----------------------------------------------------------------------
#define newindicflags $15
#define extraindic  0
#define saindic 1
;----------------------------------------------------------------------
#define batteryflags  $16
#define batteriesgood 2 ;1 = batteries good
;----------------------------------------------------------------------
#define smartflags  $17
#define smarter_mask  3
#define smarter_test  1
#define smartgraph  0
#define smartgraph_inv  1
;----------------------------------------------------------------------
#define traceflags  $18
#define grfexpr 0 ;set to hide expression while tracing
;----------------------------------------------------------------------
#define statflags2  $1a
#define statdiagnosticson 0 ;1 = stat diagnostics on
;----------------------------------------------------------------------
#define linkflags $1b
#define idis95  1 ;link routines use machine id 95 (cbl)
#define idis82  2 ;link routines use machine id 82 (ti-82)
#define idis83  3 ;link routines use machine id 83 (ti-83)
#define idis03  4 ;link routines use machine id 03 (pc to ti-83)
#define usbenabled  5 ;use usb port first, or at least try to
;----------------------------------------------------------------------
;there is a flag  $1c (stats-related).
;----------------------------------------------------------------------
;there is a flag  $1e.
;----------------------------------------------------------------------
#define vartypemask $1f ;is this a flag byte? yes
#define vargraphref 6
;----------------------------------------------------------------------
#define graphflags2 $1f
#define splitoverride 3 ;0 = force full screen with parseinp, or something
;----------------------------------------------------------------------
#define asm_flag1 $21 ;asm coding
#define asm_flag2 $22 ;asm coding
#define asm_flag3 $23 ;asm coding
;----------------------------------------------------------------------
#define arcflag $24
#define checkbatterylevelfirst  0 ;1 = check battery levels in arc_unarc first and throw error if low

#define getsendflg  $24
#define comfailed 1 ;1 = get/send communication failed

#define selftestflag  $24
#define resetonpoweron  2 ;1 = force ram reset when apd disabled on next power on

#define applwrcaseflag  $24
#define lwrcaseactive 3
;----------------------------------------------------------------------
#define contextflags  $25
#define nocxputaway 5 ;1 = do not call cxputaway routine
;----------------------------------------------------------------------
#define groupflags  $26 ;used temporarily in arc_unarc
#define ingroup 1 ;1 = in group context
#define nocompletionbyte  2 ;1 = do not write 0fch when calling arc_unarc, leave as 0fe
#define nodatawrite 3 ;1 = do not write data when calling arc_unarc, nor size bytes
#define writesizebytesonly  5 ;1 = only write size bytes when calling arc_unarc
;----------------------------------------------------------------------
#define apiflg  $28
#define appallowcontext 0           ;app wants context changes to happen
;1 set to ignore a key after returning from rawkeyhook
;2 set to send this key back?
;3
#define apprunning  4 ;app is currently running
;5
;6
#define appretkeyoff  7 ;1 = getkey returns koff when [2nd]+[on] pressed
;----------------------------------------------------------------------
#define apiflg2 $29
;----------------------------------------------------------------------
#define apiflg3 $2a
;1 set means using small font?
;----------------------------------------------------------------------
#define apiflg4 $2b
#define celloverride  1 ;use cell override
#define fullscrndraw  2 ;draw into last row/col of screen
;----------------------------------------------------------------------
#define mouseflag1  $2c
;----------------------------------------------------------------------
#define mouseflag2  $2d ;might want to keep this always reset.
;----------------------------------------------------------------------
#define xapflag0  $2e ;external app flags
#define xapflag1  $2f
#define xapflag2  $30
#define xapflag3  $31
;----------------------------------------------------------------------
#define fontflags $32
#define fracdrawlfont 2
#define fractalllfont 3
#define customfont  7
;----------------------------------------------------------------------
#define hookflags1  $33 ;also scriptflag, rclflag2, backgroundlink
#define alt_on  0 ;run onscrpt at startup
#define alt_off 1 ;run offscrpt at shutdown
#define userclqueueend  2 ;1 = external mode
#define ignorebplink  3 ;1 = override flag for link activity hook
#define bplinkon  4 ;1 = link activity hook active
#define notempdelete  6 ;1 = do not delete temporary programs at homescreen
;----------------------------------------------------------------------
#define hookflags2  $34 ;also syshookflg
#define getcschookactive  0 ;1 = getcsc hook active
#define libraryhookactive 1 ;1 = library hook active
#define homescreenhookactive  4 ;1 = homescreen hook active
#define rawkeyhookactive  5 ;1 = raw key hook active
#define catalog2ookactive 6 ;1 = catalog 2 hook active
#define cursorhookactive  7 ;1 = cursor hook active
;----------------------------------------------------------------------
#define hookflags3  $35 ;also syshookflg1
#define tokenhookactive 0 ;1 = token hook active
#define localizehookactive  1 ;1 = localize hook active
#define windowhookactive  2 ;1 = window hook active
#define graphhookactive 3 ;1 = graph hook active
#define yequhookactive  4 ;1 = y= hook active
#define fonthookactive  5 ;1 = font hook active
#define regraphhookactive 6 ;1 = regraph hook active
#define drawinghookactive 7 ;1 = drawing hook active
;----------------------------------------------------------------------
#define hookflags4  $36 ;also syshookflag2
#define tracehookactive 0 ;1 = trace hook active
#define parserhookactive  1 ;1 = parser hook active
#define appchangehookactive 2 ;1 = app change hook active
#define catalog1ookactive 3 ;1 = catalog 1 hook active
#define helphookactive  4 ;1 = help hook active
#define cxredisphookactive  5 ;1 = cxredisp hook active
#define menuhookactive  6 ;1 = menu hook active
#define silentlinkhookactive  7 ;1 = silent link hook active
;----------------------------------------------------------------------
;hookflags2override $37 ;set corresponding bit to kill iy+$35 hook when executing app
;----------------------------------------------------------------------
;hookflags3override $38 ;set corresponding bit to kill iy+$36 hook when executing app
;----------------------------------------------------------------------
;hookflags4override $39 ;set corresponding bit to kill iy+$37 hook when executing app
;----------------------------------------------------------------------
#define plotflag3 $3c
#define bufferonly  0
#define usefastcirc 4
;----------------------------------------------------------------------
#define dbkeyflags  $3d
#define keydefaultsf  6 ;1 = getkey returns extended keycodes with ti-keyboard
;----------------------------------------------------------------------
#define clockflags  $3f
#define notmdymode  0 ;0 = m/d/y format
#define isymdmode 1 ;1 = y/m/d format
#define is24our 2 ;1 = clock in 24 hour mode
#define clockon 6 ;1 = clock on
;----------------------------------------------------------------------
#define usbflag1  $40
#define usbreceivezone1 2 ;1 = receive to ram pages 3/2 ("zone 1")
;----------------------------------------------------------------------
#define usbflag2  $41
;0
;2
#define nousbhostinit 3 ;1 = _initspecificusbdevice must fail
#define usbdatawaiting  5
;6
;7
;----------------------------------------------------------------------
;there is a flag  $43.
;----------------------------------------------------------------------

;character font equates
;-------------------------------
#define lrecurn $01
#define lrecuru $02
#define lrecurv $03
#define lrecurw $04
#define lconvert  $05
#define lsqup $06
#define lsqdown $07
#define lintegral $08
#define lcross  $09
#define lboxicon  $0a
#define lcrossicon  $0b
#define ldoticon  $0c
#define lsubt     $0d ;small capital t for parametric mode.
#define lcuber    $0e ;slightly different 3 for cubed root.
#define lhexf $0f
#define lroot $10
#define linverse  $11
#define lsquare $12
#define langle  $13
#define ldegree $14
#define lradian $15
#define ltranspose  $16
#define lle $17
#define lne $18
#define lge $19
#define lneg  $1a
#define lexponent $1b
#define lstore  $1c
#define lten  $1d
#define luparrow  $1e
#define ldownarrow  $1f
#define lspace  $20
#define lexclam $21
#define lquote  $22
#define lpound  $23
#define lfourth $24
#define lpercent  $25
#define lampersand  $26
#define lapostrophe $27
#define llparen $28
#define lrparen $29
#define lasterisk $2a
#define lplussign $2b
#define lcomma  $2c
#define ldash $2d
#define lperiod $2e
#define lslash  $2f
#define l0  $30
#define l1  $31
#define l2  $32
#define l3  $33
#define l4  $34
#define l5  $35
#define l6  $36
#define l7  $37
#define l8  $38
#define l9  $39
#define lcolon  $3a
#define lsemicolon  $3b
#define llt $3c
#define leq $3d
#define lgt $3e
#define lquestion $3f
#define latsign $40
#define lcapa $41
#define lcapb $42
#define lcapc $43
#define lcapd $44
#define lcape $45
#define lcapf $46
#define lcapg $47
#define lcaph $48
#define lcapi $49
#define lcapj $4a
#define lcapk $4b
#define lcapl $4c
#define lcapm $4d
#define lcapn $4e
#define lcapo $4f
#define lcapp $50
#define lcapq $51
#define lcapr $52
#define lcaps $53
#define lcapt $54
#define lcapu $55
#define lcapv $56
#define lcapw $57
#define lcapx $58
#define lcapy $59
#define lcapz $5a
#define ltheta  $5b
#define lbackslash  $5c
#define lrbrack $5d
#define lcaret  $5e
#define lunderscore $5f
#define lbackquote  $60
#define la  $61
#define lb  $62
#define lc  $63
#define ld  $64
#define le  $65
#define lf  $66
#define lg  $67
#define lh  $68
#define li  $69
#define lj  $6a
#define lk  $6b
#define ll  $6c
#define lm  $6d
#define ln  $6e
#define lo  $6f
#define lp  $70
#define lq  $71
#define lr  $72
#define ls  $73
#define lt  $74
#define lu  $75
#define lv  $76
#define lw  $77
#define lx  $78
#define ly  $79
#define lz  $7a
#define llbrace $7b
#define lbar  $7c
#define lrbrace $7d
#define ltilde  $7e
#define linveq  $7f
#define lsub0 $80
#define lsub1 $81
#define lsub2 $82
#define lsub3 $83
#define lsub4 $84
#define lsub5 $85
#define lsub6 $86
#define lsub7 $87
#define lsub8 $88
#define lsub9 $89
#define lcapaacute  $8a
#define lcapagrave  $8b
#define lcapacaret  $8c
#define lcapadier $8d
#define laacute $8e
#define lagrave $8f
#define lacaret $90
#define ladier  $91
#define lcapeacute  $92
#define lcapegrave  $93
#define lcapecaret  $94
#define lcapedier $95
#define leacute $96
#define legrave $97
#define lecaret $98
#define ledier  $99
#define lcapiacute  $9a
#define lcapigrave  $9b
#define lcapicaret  $9c
#define lcapidier $9d
#define liacute $9e
#define ligrave $9f
#define licaret $a0
#define lidier  $a1
#define lcapoacute  $a2
#define lcapograve  $a3
#define lcapocaret  $a4
#define lcapodier $a5
#define loacute $a6
#define lograve $a7
#define locaret $a8
#define lodier  $a9
#define lcapuacute  $aa
#define lcapugrave  $ab
#define lcapucaret  $ac
#define lcapudier $ad
#define luacute $ae
#define lugrave $af
#define lucaret $b0
#define ludier  $b1
#define lcapcced  $b2
#define lcced $b3
#define lcapntilde  $b4
#define lntilde $b5
#define laccent $b6
#define lgrave  $b7
#define ldieresis $b8
#define lquesdown $b9
#define lexclamdown $ba
#define lalpha  $bb
#define lbeta $bc
#define lgamma  $bd
#define lcapdelta $be
#define ldelta  $bf
#define lepsilon  $c0
#define llbrack   $c1
#define llambda $c2
#define lmu $c3
#define lpi $c4
#define lrho  $c5
#define lcapsigma $c6
#define lsigma  $c7
#define ltau  $c8
#define lphi  $c9
#define lcapomega $ca
#define lxmean  $cb
#define lymean  $cc
#define lsupx $cd
#define lellipsis $ce
#define lleft $cf
#define lblock  $d0
#define lper  $d1
#define lhyphen $d2
#define larea $d3
#define ltemp $d4
#define lcube $d5
#define lenter  $d6
#define limagi  $d7
#define lphat $d8
#define lchi  $d9
#define lstatf  $da
#define llne  $db
#define llistl  $dc
#define lfinann   $dd
#define l2_r_paren  $de
#define lblockarrow   $df
#define lcuro     $e0
#define lcuro2    $e1
#define lcurocapa     $e2
#define lcuroa    $e3
#define lcuri     $e4
#define lcuri2    $e5
#define lcuricapa     $e6
#define lcuria    $e7
#define lgline        $e8 ; = 0
#define lgthick       $e9 ; = 1
#define lgabove $ea ; = 2
#define lgbelow $eb ; = 3
#define lgpath  $ec ; = 4
#define lganimate $ed ; = 5
#define lgdot $ee ; = 6
#define lupblk  $ef ;up arrow and block in solver
#define ldnblk  $f0 ;down arrow and block in solver
#define lcurfull  $f1 ;note: must be last char (putmap checks)

;(menucurrent) values
;--------------------------
#define mconfirmation $01
#define mapps $02
#define mprogramhome  $03
#define mprgm_run $00
#define mprgm_edit  $01
#define mprgm_new $02
#define mzoom $04
#define mzoom_zoom  $00
#define mzoom_memory  $01
#define mdraw $05
#define mdraw_draw  $00
#define mdraw_points  $01
#define mdraw_store $02
#define mstatplots  $06
#define mstat $07
#define mstat_edit  $00
#define mstat_calc  $01
#define mstat_tests $02
#define mmath $08
#define mmath_math  $00
#define mmath_number  $01
#define mmath_complex $02
#define mmath_prob  $03
#define mtest $09
#define mtest_test  $00
#define mtest_logic $01
#define mvars $0a
#define mvars_vars  $00
#define mvars_yvars $01
#define mmemory $0c
#define mmatrix $0d
#define mmatrix_name  $00
#define mmatrix_math  $01
#define mmatrix_edit  $02
#define mdistr  $0e
#define mdistr_distr  $00
#define mdistr_draw $01
#define mangle  $0f
#define mlist $10
#define mlist_names $00
#define mlist_ops $01
#define mlist_math  $02
#define mcalculate  $11
#define mvarswin  $14
#define mvarswin_xy $00
#define mvarswin_tth  $01
#define mvarswin_uvw  $02
#define mvarszoom $15
#define mvarszoom_zxy $00
#define mvarszoom_zt  $01
#define mvarszoom_uvw $02
#define mvarsgdb  $16
#define mvarspics $17
#define mvarsstrings  $18
#define mvarsstat $19
#define mvarsstat_xy  $00
#define mvarsstat_sigma $01
#define mvarsstat_eq  $02
#define mvarsstat_test  $03
#define mvarsstat_pts $04
#define mvarstable  $1a
#define mvarsyequ $1b
#define mvarsparametric $1c
#define mvarspolar  $1d
#define mvarsfnonoff  $1e
#define mmemreset $1f
#define mmemreset_ram $00
#define mmemreset_rom $01
#define mmemreset_all $02
#define mmemmgmtdel $20
#define mmemresetdefaults $21
#define mmemresetramall $23
#define mmemresetromvars  $24
#define mmemresetromapps  $25
#define mmemresetromall $26
#define mmemresetall  $27
#define mgroup  $28
#define mgroup_new  $00
#define mgroup_ungroup  $01
#define mgroupvars  $29
#define mprogramedit  $2a
#define mprgmed_ctrl  $00
#define mprgmed_io  $01
#define mprgmed_exec  $02
#define mprgmzoom $2b
#define mprgmzoom_zoom  $00
#define mprgmzoom_mem $01
#define mprgmdraw $2c
#define mprgmdraw_draw  $00
#define mprgmdraw_pt  $01
#define mprgmdraw_store $02
#define mprgmstatplot $2d
#define mprgmsp_plots $00
#define mprgmsp_type  $01
#define mprgmsp_mark  $02
#define mprgmstat $2e
#define mprgmstat_edit  $00
#define mprgmstat_calc  $01
#define mprgmstat_tests $02
#define mprgmmath $2f
#define mprgmmath_math  $00
#define mprgmmath_num $01
#define mprgmmath_cplx  $02
#define mprgmmath_prob  $03
#define mlink $30
#define mlink_send  $00
#define mlink_recieve $01
#define mlinktrasmit  $31
#define mlinkxmit_xmit  $01
#define mgarbagecollect $3f
#define mselectgroupvars  $40
#define mselgrpvars_sel $00
#define mselgrpvars_grp $01
#define mduplicatename  $42
#define mcatalog  $45
#define mfinance  $22
#define mfinance_calc $00
#define mfinance_vars $01

;keypress equates
;-------------------------------
#define kright  $01
#define kleft $02
#define kup $03
#define kdown $04
#define kenter  $05
#define kalphaenter $06
#define kalphaup  $07
#define kalphadown  $08
#define kclear  $09
#define kdel  $0a
#define kins  $0b
#define krecall $0c
#define klastent  $0d
#define kbol  $0e
#define keol  $0f

#define kselall $10
#define kunselall $11
#define kltoti82  $12
#define kbackup $13
#define krecieve  $14
#define klnkquit  $15
#define ktrans  $16
#define krename $17
#define koverw  $18
#define komit $19
#define kcont $1a
#define ksendid $1b
#define ksendsw $1c
#define kyes  $1d
#define knoway  $1e
#define kvsendtype  $1f
#define koverwall $20
#define kno $25
#define kkreset $26
#define kapp  $27
#define kdoug $28
#define klistflag $29
#define menustart $2b
#define kareyousure $2b
#define kappsmenu $2c
#define kprgm $2d
#define kzoom $2e
#define kdraw $2f
#define ksplot  $30
#define kstat $31
#define kmath $32
#define ktest $33
#define kchar $34
#define kvars $35
#define kmem  $36
#define kmatrix $37
#define kdist $38
#define kangle  $39
#define klist $3a
#define kcalc $3b
#define kfin  $3c
#define menuend kfin
#define kcatalog  $3e
#define kinputdone  $3f
#define koff  kinputdone
#define kquit $40
#define appstart  kquit
#define klinkio $41
#define kmatrixed $42
#define kstated $43
#define kgraph  $44
#define kmode $45
#define kprgmed $46 ;program edit
#define kprgmcr $47 ;program create
#define kwindow $48 ;range editor
#define kyequ $49 ;equation editor
#define ktable  $4a ;table editor
#define ktblset $4b ;table set
#define kchkram $4c ;check ram (about screen)
#define kdelmem $4d ;delete mem
#define kresetmem $4e ;reset mem
#define kresetdef $4f ;reset default
#define kprgminput  $50 ;program input
#define kzfacted  $51 ;zoom factor editor
#define kerror  $52 ;error
#define ksolvetvm $53 ;tvm solver
#define ksolveroot  $54 ;solve editor
#define kstatp  $55 ;stat plot
#define kinfstat  $56 ;inferential statistic
#define kformat $57 ;format
#define kextapps  $58 ;external applications.     new
#define knewapps  $59 ;new apps for cerberus.
#define append  knewapps
#define echostart1  $5a
#define ktrace  $5a
#define kzfit $5b
#define kzin  $5c
#define kzout $5d
#define kzprev  $5e
#define kbox  $5f
#define kdecml  $60
#define ksetzm  $61
#define ksquar  $62
#define kstd  $63
#define ktrig $64
#define kusrzm  $65
#define kzsto $66
#define kzint $67
#define kzstat  $68
#define echostart2  $69
#define kselect $69
#define kcircl  $6a
#define kcldrw  $6b
#define kline $6c
#define kpen  $6d
#define kptchg  $6e
#define kptoff  $6f
#define kpton $70
#define kvert $71
#define khoriz  $72
#define ktext $73
#define ktanln  $74
#define keval $75
#define kinters $76
#define kdydx $77
#define kfnintg $78
#define krootg  $79
#define kdydt $7a
#define kdxdt $7b
#define kdrdo $7c
#define kgfmin  $7d
#define kgfmax  $7e
#define echostart $7f
#define klistname $7f
#define kadd  $80
#define ksub  $81
#define kmul  $82
#define kdiv  $83
#define kexpon  $84
#define klparen $85
#define krparen $86
#define klbrack $87
#define krbrack $88
#define kshade  $89
#define kstore  $8a
#define kcomma  $8b
#define kchs  $8c
#define kdecpnt $8d
#define k0  $8e
#define k1  $8f
#define k2  $90
#define k3  $91
#define k4  $92
#define k5  $93
#define k6  $94
#define k7  $95
#define k8  $96
#define k9  $97
#define kee $98
#define kspace  $99
#define kcapa $9a
#define kcapb $9b
#define kcapc $9c
#define kcapd $9d
#define kcape $9e
#define kcapf $9f
#define kcapg $a0
#define kcaph $a1
#define kcapi $a2
#define kcapj $a3
#define kcapk $a4
#define kcapl $a5
#define kcapm $a6
#define kcapn $a7
#define kcapo $a8
#define kcapp $a9
#define kcapq $aa
#define kcapr $ab
#define kcaps $ac
#define kcapt $ad
#define kcapu $ae
#define kcapv $af
#define kcapw $b0
#define kcapx $b1
#define kcapy $b2
#define kcapz $b3
#define kvarx $b4
#define kpi $b5
#define kinv  $b6
#define ksin  $b7
#define kasin $b8
#define kcos  $b9
#define kacos $ba
#define ktan  $bb
#define katan $bc
#define ksquare $bd
#define ksqrt $be
#define kln $bf
#define kexp  $c0
#define klog  $c1
#define kalog $c2
#define ktoabc  $c3
#define kclrtbl $c4
#define kans  $c5
#define kcolon  $c6
#define knderiv $c7
#define kfnint  $c8
#define kroot $c9
#define kquest  $ca
#define kquote  $cb
#define ktheta  $cc
#define kif $cd
#define kthen $ce
#define kelse $cf
#define kfor  $d0
#define kwhile  $d1
#define krepeat $d2
#define kend  $d3
#define kpause  $d4
#define klbl  $d5
#define kgoto $d6
#define kisg  $d7
#define kdsl  $d8
#define kmenu $d9
#define kexec $da
#define kreturn $db
#define kstop $dc
#define kinput  $dd
#define kprompt $de
#define kdisp $df
#define kdispg  $e0
#define kdispt  $e1
#define koutput $e2
#define kgetkey $e3
#define kclrhome  $e4
#define kprtscr $e5
#define ksinh $e6
#define kcosh $e7
#define ktanh $e8
#define kasinh  $e9
#define kacosh  $ea
#define katanh  $eb
#define klbrace $ec
#define krbrace $ed
#define ki  $ee
#define kconstea  $ef
#define kplot3  $f0
#define kfmin $f1
#define kfmax $f2
#define kl1a  $f3
#define kl2a  $f4
#define kl3a  $f5
#define kl4a  $f6
#define kl5a  $f7
#define kl6a  $f8
#define kuna  $f9
#define kvna  $fa
#define kwna  $fb

;this key means that it is a 2 byte keycode
;there are 2 of these keys; be careful with usage
;------------------------------------------------
#define kextendecho2  $fc

;this key means that the key press is one that echos
;into a buffer, and it is a 2 byte key code, go look at
;(extecho) for the key value
;------------------------------------------------------
#define kextendecho $fe

#define ke1bt $00
#define kdrawinv  ke1bt
#define kdrawf  ke1bt+1
#define kpixelon  ke1bt+2
#define kpixeloff ke1bt+3
#define kpxltest  ke1bt+4
#define krcgdb  ke1bt+5
#define krcpic  ke1bt+6
#define kstgdb  ke1bt+7
#define kstpic  ke1bt+8
#define kabs  ke1bt+9
#define ktequ ke1bt+10 ;==
#define ktnoteq ke1bt+11 ;<>
#define ktgt  ke1bt+12 ;>
#define ktgte ke1bt+13 ;>=
#define ktlt  ke1bt+14 ;<
#define ktlte ke1bt+15 ;<=
#define kand  ke1bt+16
#define kor ke1bt+17
#define kxor  ke1bt+18
#define knot  ke1bt+19
#define klr1  ke1bt+20
#define kxroot  ke1bt+21
#define kcube ke1bt+22
#define kcbrt ke1bt+23 ;cube root
#define ktodec  ke1bt+24
#define kcubicr ke1bt+25
#define kquartr ke1bt+26
#define kplot1  ke1bt+27
#define kplot2  ke1bt+28
#define kround  ke1bt+29
#define kipart  ke1bt+30
#define kfpart  ke1bt+31
#define kint  ke1bt+32
#define krand ke1bt+33
#define knpr  ke1bt+34
#define kncr  ke1bt+35
#define kxfactorial ke1bt+36
#define krad  ke1bt+37
#define kdegr ke1bt+38 ;degrees conv
#define kapost  ke1bt+39
#define ktodms  ke1bt+40
#define krtopo  ke1bt+41 ;r
#define krtopr  ke1bt+42
#define kptorx  ke1bt+43
#define kptory  ke1bt+44
#define krowswap  ke1bt+45
#define krowplus  ke1bt+46
#define ktimrow ke1bt+47
#define ktrowp  ke1bt+48
#define ksorta  ke1bt+49
#define ksortd  ke1bt+50
#define kseq  ke1bt+51
#define kmin  ke1bt+52
#define kmax  ke1bt+53
#define kmean ke1bt+54
#define kmedian ke1bt+55
#define ksum  ke1bt+56
#define kprod ke1bt+57
#define kdet  ke1bt+58
#define ktransp ke1bt+59
#define kdim  ke1bt+60
#define kfill ke1bt+61
#define kident  ke1bt+62
#define krandm  ke1bt+63
#define kaug  ke1bt+64
#define konevar ke1bt+65
#define ktwovar ke1bt+66
#define klr ke1bt+67
#define klrexp  ke1bt+68
#define klrln ke1bt+69
#define klrpwr  ke1bt+70
#define kmedmed ke1bt+71
#define kquad ke1bt+72
#define kclrlst ke1bt+73
#define khist ke1bt+74
#define kxyline ke1bt+75
#define kscatter  ke1bt+76
#define kmrad ke1bt+77
#define kmdeg ke1bt+78
#define kmnormf ke1bt+79
#define kmsci ke1bt+80
#define kmeng ke1bt+81
#define kmfloat ke1bt+82
#define kfix  ke1bt+83
#define kspliton  ke1bt+84
#define kfullscreen ke1bt+85
#define kstndrd ke1bt+86
#define kparam  ke1bt+87
#define kpolar  ke1bt+88
#define kseqg ke1bt+89
#define kafillon  ke1bt+90
#define kafilloff ke1bt+91
#define kacalcon  ke1bt+92
#define kacalcoff ke1bt+93
#define kfnon ke1bt+94
#define kfnoff  ke1bt+95
#define kplotson  ke1bt+96
#define kplotsoff ke1bt+97
#define kpixelchg ke1bt+98
#define ksendmbl  ke1bt+99
#define krecvmbl  ke1bt+100
#define kboxplot  ke1bt+101
#define kboxicon  ke1bt+102
#define kcrossicon  ke1bt+103
#define kdoticon  ke1bt+104
#define ke2bt ke1bt+105
#define kseqential  ke2bt
#define ksimulg ke2bt+1
#define kpolarg ke2bt+2
#define krectg  ke2bt+3
#define kcoordon  ke2bt+4
#define kcoordoff ke2bt+5
#define kdrawline ke2bt+6
#define kdrawdot  ke2bt+7
#define kaxison ke2bt+8
#define kaxisoff  ke2bt+9
#define kgridon ke2bt+10
#define kgridoff  ke2bt+11
#define klblon  ke2bt+12
#define klbloff ke2bt+13
#define kl1 ke2bt+14
#define kl2 ke2bt+15
#define kl3 ke2bt+16
#define kl4 ke2bt+17
#define kl5 ke2bt+18
#define kl6 ke2bt+19

;these keys are laid on top of existing keys to
;enable localization in the inferential stats editor.
;----------------------------------------------------
#define kinfdata  kl1
#define kinfstats kl1+1
#define kinfyes kl1+2
#define kinfno  kl1+3
#define kinfcalc  kl1+4
#define kinfdraw  kl1+5
#define kinfalt1ne  kl1+6
#define kinfalt1lt  kl1+7
#define kinfalt1gt  kl1+8
#define kinfalt2ne  kl1+9
#define kinfalt2lt  kl1+10
#define kinfalt2gt  kl1+11
#define kinfalt3ne  kl1+12
#define kinfalt3lt  kl1+13
#define kinfalt3gt  kl1+14
#define kinfalt4ne  kl1+15
#define kinfalt4lt  kl1+16
#define kinfalt4gt  kl1+17
#define kinfalt5ne  kl1+18
#define kinfalt5lt  kl1+19
#define kinfalt5gt  kl1+20
#define kinfalt6ne  kl1+21
#define kinfalt6lt  kl1+22
#define kinfalt6gt  kl1+23
#define kmata ke2bt+20
#define kmatb ke2bt+21
#define kmatc ke2bt+22
#define kmatd ke2bt+23
#define kmate ke2bt+24
#define kxmin ke2bt+25
#define kxmax ke2bt+26
#define kxscl ke2bt+27
#define kymin ke2bt+28
#define kymax ke2bt+29
#define kyscl ke2bt+30
#define ktmin ke2bt+31
#define ktmax ke2bt+32
#define ktstep  ke2bt+33
#define komin ke2bt+34
#define komax ke2bt+35
#define kostep  ke2bt+36
#define ku0 ke2bt+37
#define kv0 ke2bt+38
#define knmin ke2bt+39
#define knmax ke2bt+40
#define kdeltay ke2bt+41
#define kdeltax ke2bt+42
#define kzxmin  ke2bt+43
#define kzxmax  ke2bt+44
#define kzxscl  ke2bt+45
#define kzymin  ke2bt+46
#define kzymax  ke2bt+47
#define kzyscl  ke2bt+48
#define kztmin  ke2bt+49
#define kztmax  ke2bt+50
#define kztstep ke2bt+51
#define kzomin  ke2bt+52
#define kzomax  ke2bt+53
#define kzostep ke2bt+54
#define kzu0  ke2bt+55
#define kzv0  ke2bt+56
#define kznmin  ke2bt+57
#define kznmax  ke2bt+58
#define kdellast  ke2bt+59
#define ksinreg ke2bt+60
#define kconste ke2bt+61
#define kpic1 ke2bt+62
#define kpic2 ke2bt+63
#define kpic3 ke2bt+64
#define kdelvar ke2bt+65
#define kgetcalc  ke2bt+66
#define krealm  ke2bt+67
#define kpolarm ke2bt+68
#define krectm  ke2bt+69
#define kuv ke2bt+70 ;u vs v
#define kvw ke2bt+71 ;v vs w
#define kuw ke2bt+72 ;u vs w
#define kfinpmtend  ke2bt+73
#define kfinpmtbeg  ke2bt+74
#define kgraphstyle ke2bt+75
#define kexpron ke2bt+76
#define kexproff  ke2bt+77
#define kstata  ke2bt+78
#define kstatb  ke2bt+79
#define kstatc  ke2bt+80
#define kcorr ke2bt+81
#define kstatd  ke2bt+82
#define kstate  ke2bt+83
#define kregeq  ke2bt+84
#define kminx ke2bt+85
#define kq1 ke2bt+86
#define kmd ke2bt+87
#define kq3 ke2bt+88
#define kmaxx ke2bt+89
#define kstatx1 ke2bt+90
#define kstaty1 ke2bt+91
#define kstatx2 ke2bt+92
#define kstaty2 ke2bt+93
#define kstatx3 ke2bt+94
#define kstaty3 ke2bt+95
#define ktblmin ke2bt+96
#define ktblstep  ke2bt+97
#define ksetuplst ke2bt+98
#define kclralllst  ke2bt+99
#define klogistic ke2bt+100
#define kztest  ke2bt+101
#define kttest  ke2bt+102
#define k2sampztest ke2bt+103
#define k2sampttest ke2bt+104
#define k1propztest ke2bt+105
#define k2propztest ke2bt+106
#define kchitest  ke2bt+107
#define k2sampftest ke2bt+108
#define kzintval  ke2bt+109
#define ktintval  ke2bt+110
#define k2samptint  ke2bt+111
#define k2sampzint  ke2bt+112
#define k1propzint  ke2bt+113
#define k2propzint  ke2bt+114
#define kdnormal  ke2bt+115
#define kinvnorm  ke2bt+116
#define kdt ke2bt+117
#define kchi  ke2bt+118
#define kdf ke2bt+119
#define kbinpdf ke2bt+120
#define kbincdf ke2bt+121
#define kpoipdf ke2bt+122
#define kpoicdf ke2bt+123
#define kun ke2bt+124
#define kvn ke2bt+125
#define kwn ke2bt+126
#define krecn ke2bt+127
#define kplotstart  ke2bt+128
#define kzplotstart ke2bt+129 ;recursion n
#define kxfact  ke2bt+130 ;plotstart
#define kyfact  ke2bt+131 ;zplotstart
#define kanova  ke2bt+132 ;xfact
#define kmaxy ke2bt+133 ;yfact
#define kwebon  ke2bt+134 ;miny
#define kweboff ke2bt+135 ;maxy
#define ktblinput ke2bt+136 ;web on
#define kgeopdf ke2bt+137 ;web off
#define kgeocdf ke2bt+138 ;web off
#define kshadenorm  ke2bt+139
#define kshadet ke2bt+140
#define kshadechi ke2bt+141
#define kshadef ke2bt+142
#define kplotstep ke2bt+143
#define kzplotstep  ke2bt+144
#define klinregttest  ke2bt+145
#define kmgt  ke2bt+146 ;vert split
#define kselecta  ke2bt+147
#define kzfita  ke2bt+148
#define ke2bt_end kzfita

;more 2 byte keys
;------------------------------------
#define ke2bt2  $00
#define kgdb1 ke2bt2
#define kgdb2 ke2bt2+1
#define kgdb3 ke2bt2+2
#define ky1 ke2bt2+3
#define ky2 ke2bt2+4
#define ky3 ke2bt2+5
#define ky4 ke2bt2+6
#define ky5 ke2bt2+7
#define ky6 ke2bt2+8
#define ky7 ke2bt2+9
#define ky8 ke2bt2+10
#define ky9 ke2bt2+11
#define ky0 ke2bt2+12
#define kx1t  ke2bt2+13
#define ky1t  ke2bt2+14
#define kx2t  ke2bt2+15
#define ky2t  ke2bt2+16
#define kx3t  ke2bt2+17
#define ky3t  ke2bt2+18
#define kx4t  ke2bt2+19
#define ky4t  ke2bt2+20
#define kx5t  ke2bt2+21
#define ky5t  ke2bt2+22
#define kx6t  ke2bt2+23
#define ky6t  ke2bt2+24
#define kr1 ke2bt2+25
#define kr2 ke2bt2+26
#define kr3 ke2bt2+27
#define kr4 ke2bt2+28
#define kr5 ke2bt2+29
#define kr6 ke2bt2+30
#define kgdb4 ke2bt2+31
#define kgdb5 ke2bt2+32
#define kgdb6 ke2bt2+33
#define kpic4 ke2bt2+34
#define kpic5 ke2bt2+35
#define kpic6 ke2bt2+36
#define kgdb7 ke2bt2+37
#define kgdb8 ke2bt2+38
#define kgdb9 ke2bt2+39
#define kgdb0 ke2bt2+40
#define kpic7 ke2bt2+41
#define kpic8 ke2bt2+42
#define kpic9 ke2bt2+43
#define kpic0 ke2bt2+44
#define kstatn  ke2bt2+45
#define kxmean  ke2bt2+46
#define kconj ke2bt2+47
#define kreal ke2bt2+48
#define kfangle ke2bt2+49
#define klcm  ke2bt2+50
#define kgcd  ke2bt2+51
#define krandint  ke2bt2+52
#define krandnorm ke2bt2+53
#define ktopolar  ke2bt2+54
#define ktorect ke2bt2+55
#define kymean  ke2bt2+56
#define kstdx ke2bt2+57
#define kstdx1  ke2bt2+58
#define kw0 ke2bt2+59
#define kmatf ke2bt2+60
#define kmatg ke2bt2+61
#define kmatrh  ke2bt2+62
#define kmati ke2bt2+63
#define kmatj ke2bt2+64
#define kymean1 ke2bt2+65
#define kstdy ke2bt2+66
#define kstdy1  ke2bt2+67
#define kmattolst ke2bt2+68
#define klsttomat ke2bt2+69
#define kcumsum ke2bt2+70
#define kdeltalst ke2bt2+71
#define kstddev ke2bt2+72
#define kvariance ke2bt2+73
#define klength ke2bt2+74
#define kequtostrng ke2bt2+75
#define kstrngtoequ ke2bt2+76
#define kexpr ke2bt2+77
#define ksubstrng ke2bt2+78
#define kinstrng  ke2bt2+79
#define kstr1 ke2bt2+80
#define kstr2 ke2bt2+81
#define kstr3 ke2bt2+82
#define kstr4         ke2bt2+83
#define kstr5         ke2bt2+84
#define kstr6         ke2bt2+85
#define kstr7         ke2bt2+86
#define kstr8         ke2bt2+87
#define kstr9         ke2bt2+88
#define kstr0         ke2bt2+89
#define kfinn         ke2bt2+90
#define kfini         ke2bt2+91
#define kfinpv        ke2bt2+92
#define kfinpmt       ke2bt2+93
#define kfinfv        ke2bt2+94
#define kfinpy        ke2bt2+95
#define kfincy        ke2bt2+96
#define kfinfpmt      ke2bt2+97
#define kfinfi        ke2bt2+98
#define kfinfpv       ke2bt2+99
#define kfinfn        ke2bt2+100
#define kfinffv       ke2bt2+101
#define kfinnpv       ke2bt2+102
#define kfinirr       ke2bt2+103
#define kfinbal       ke2bt2+104
#define kfinprn       ke2bt2+105
#define kfinint       ke2bt2+106
#define ksumx         ke2bt2+107
#define ksumx2        ke2bt2+108
#define kfintonom     ke2bt2+109
#define kfintoeff     ke2bt2+110
#define kfindbd       ke2bt2+111
#define kstatvp       ke2bt2+112
#define kstatz        ke2bt2+113
#define kstatt        ke2bt2+114
#define kstatchi      ke2bt2+115
#define kstatf        ke2bt2+116
#define kstatdf       ke2bt2+117
#define kstatphat     ke2bt2+118
#define kstatphat1    ke2bt2+119
#define kstatphat2    ke2bt2+120
#define kstatmeanx1   ke2bt2+121
#define kstatmeanx2   ke2bt2+122
#define kstatstdx1    ke2bt2+123
#define kstatstdx2    ke2bt2+124
#define kstatstdxp  ke2bt2+125
#define kstatn1 ke2bt2+126
#define kstatn2 ke2bt2+127
#define kstatlower  ke2bt2+128
#define kstatupper  ke2bt2+129
#define kuw0  ke2bt2+130
#define kimag ke2bt2+131
#define ksumy ke2bt2+132
#define kxres ke2bt2+133
#define kstat_s ke2bt2+134
#define ksumy2  ke2bt2+135
#define ksumxy  ke2bt2+136
#define kuxres  ke2bt2+137
#define kmodbox ke2bt2+138
#define knormprob ke2bt2+139
#define knormalpdf  ke2bt2+140
#define ktpdf ke2bt2+141
#define kchipdf ke2bt2+142
#define kfpdf ke2bt2+143
#define kminy ke2bt2+144 ;miny
#define krandbin  ke2bt2+145
#define kref  ke2bt2+146
#define krref ke2bt2+147
#define klrsqr  ke2bt2+148
#define kbrsqr  ke2bt2+149
#define kdiagon ke2bt2+150
#define kdiagoff  ke2bt2+151
#define kun1  ke2bt2+152 ;for rcl use when gotten from 82
#define kvn1  ke2bt2+153 ;for rcl use when gotten from 82
#define k83_00end kvn1 ;end of original keys...
#define karchive  k83_00end+1
#define kunarchive  k83_00end+2
#define kasm  k83_00end+3 ;asm(
#define kasmprgm  k83_00end+4 ;asmprgm
#define kasmcomp  k83_00end+5 ;asmcomp(
#define kcapaacute  k83_00end+6
#define kcapagrave  k83_00end+7
#define kcapacaret  k83_00end+8
#define kcapadier k83_00end+9
#define kaacute k83_00end+10
#define kagrave k83_00end+11
#define kacaret k83_00end+12
#define kadier  k83_00end+13
#define kcapeacute  k83_00end+14
#define kcapegrave  k83_00end+15
#define kcapecaret  k83_00end+16
#define kcapedier k83_00end+17
#define keacute k83_00end+18
#define kegrave k83_00end+19
#define kecaret k83_00end+20
#define kedier  k83_00end+21
#define kcapiacute  k83_00end+22
#define kcapigrave  k83_00end+23
#define kcapicaret  k83_00end+24
#define kcapidier k83_00end+25
#define kiacute k83_00end+26
#define kigrave k83_00end+27
#define kicaret k83_00end+28
#define kidier  k83_00end+29
#define kcapoacute  k83_00end+30
#define kcapograve  k83_00end+31
#define kcapocaret  k83_00end+32
#define kcapodier k83_00end+33
#define koacute k83_00end+34
#define kograve k83_00end+35
#define kocaret k83_00end+36
#define kodier  k83_00end+37
#define kcapuacute  k83_00end+38
#define kcapugrave  k83_00end+39
#define kcapucaret  k83_00end+40
#define kcapudier k83_00end+41
#define kuacute k83_00end+42
#define kugrave k83_00end+43
#define kucaret k83_00end+44
#define kudier  k83_00end+45
#define kcapcced  k83_00end+46
#define kcced k83_00end+47
#define kcapntilde  k83_00end+48
#define kntilde k83_00end+49
#define kaccent k83_00end+50
#define kgrave  k83_00end+51
#define kdieresis k83_00end+52
#define kquesdown k83_00end+53
#define kexclamdown   k83_00end+54
#define kalpha        k83_00end+55
#define kbeta         k83_00end+56
#define kgamma        k83_00end+57
#define kcapdelta k83_00end+58
#define kdelta  k83_00end+59
#define kepsilon  k83_00end+60
#define klambda k83_00end+61
#define kmu k83_00end+62
#define kpi2  k83_00end+63
#define krho  k83_00end+64
#define kcapsigma k83_00end+65
#define ksigma  k83_00end+66
#define ktau  k83_00end+67
#define kphi  k83_00end+68
#define kcapomega k83_00end+69
#define kphat k83_00end+70
#define kchi2 k83_00end+71
#define kstatf2 k83_00end+72
#define kla k83_00end+73
#define klb k83_00end+74
#define klc k83_00end+75
#define kld k83_00end+76
#define kle k83_00end+77
#define klf k83_00end+78
#define klg k83_00end+79
#define klh k83_00end+80
#define kli k83_00end+81
#define klj k83_00end+82
#define klk k83_00end+83
#define kll k83_00end+84
#define klm k83_00end+85
#define klsmalln  k83_00end+86
#define klo k83_00end+87
#define klp k83_00end+88
#define klq k83_00end+89
#define klsmallr  k83_00end+90
#define kls k83_00end+91
#define klt k83_00end+92
#define klu k83_00end+93
#define klv k83_00end+94
#define klw k83_00end+95
#define klx k83_00end+96
#define kly k83_00end+97
#define klz k83_00end+98
#define kgarbagec k83_00end+99 ;garbagecollect
#define ke2bt2_end  kgarbagec

;ti-83 plus context equates
;---------------------------------------------
#define cxcmd kquit ;home screen
#define cxmatedit kmatrixed ;matrix editor
#define cxprgmedit  kprgmed ;program editor
#define cxequedit kyequ ;equation editor
#define cxgrrange kwindow ;graph range editor
#define cxgrzfact kzfacted ;graph zoom factors editor
#define cxgraph kgrap ;graph mode
#define cxstatedit  kstated ;statistics list editor
#define cxprgminput kprgminput ;programmed input
#define cxerror kerror ;error handler
#define cxlinkio  klinkio ;link i/o interface
#define cxmem kresetmem ;reset memory
#define cxdefmem  kresetdef ;reset default
#define cxramapp  kchkram ;ram usage screen
#define cxmode  kmode ;mode settings screen
#define cxerase kdelmem ;memory erase
#define cxprgmcreate  kprgmcr ;program create
#define cxtableeditor ktable ;table editor
#define cxtableset  ktblset ;table set up
#define cxstatplot  kstatp ;stat plots
#define cxinfstat kinfstat ;inferential statistic
#define cxformat  kformat ;format context
#define cxsolvetvm  ksolvetvm ;solve tvm
#define cxsolveroot ksolveroot ;solve root
#define lastoldapp  kextapps ;external applications
#define cxextapps kextapps
#define cxnewapps knewapps ;new cerberus applications
#define cxgroup cxnewapps+0 ;$1st new app.
#define cxungroup cxnewapps+1 ;$2nd new app.
#define lastnewapp  cxungroup ;last new app for this ver

;scan code equates
;-------------------------------
#define skdown  $01
#define skleft  $02
#define skright $03
#define skup  $04
#define skenter $09
#define skadd $0a
#define sksub $0b
#define skmul $0c
#define skdiv $0d
#define skpower $0e
#define skclear $0f
#define skchs $11
#define sk3 $12
#define sk6 $13
#define sk9 $14
#define skrparen  $15
#define sktan $16
#define skvars  $17
#define skdecpnt  $19
#define sk2 $1a
#define sk5 $1b
#define sk8 $1c
#define sklparen  $1d
#define skcos $1e
#define skprgm  $1f
#define skstat  $20
#define sk0 $21
#define sk1 $22
#define sk4 $23
#define sk7 $24
#define skcomma $25
#define sksin $26
#define skmatrix  $27
#define skgraphvar  $28
#define skstore $2a
#define skln  $2b
#define sklog $2c
#define sksquare  $2d
#define skrecip $2e
#define skmath  $2f
#define skalpha $30
#define skgraph $31
#define sktrace $32
#define skzoom  $33
#define skwindow  $34
#define skyequ  $35
#define sk2nd $36
#define skmode  $37
#define skdel $38

;tokens
;----------------------------------------------------
#define eosstart  $00

;display conversions come immediately before 'tstore'
;
#define dconv $01
;
#define ttodms  dconv ;$01
#define ttodec  dconv+1 ;$02
#define ttoabc  dconv+2 ;$03 > a b/c
;
#define tstore  dconv+3 ;$04 lstore 01
;
#define tboxplot  $05
;
#define bracks  $06
;
#define tlbrack bracks ;$06 '['
#define trbrack bracks+1 ;$07 ']'
#define tlbrace bracks+2 ;$08 '{'
#define trbrace bracks+3 ;$09 '}'
;
#define tpost1  bracks+4
;
#define tfromrad  tpost1 ;$0a lradian
#define tfromdeg  tpost1+1 ;$0b ldegree
#define trecip  tpost1+2 ;$0c linverse
#define tsqr  tpost1+3 ;$0d lsquare
#define ttrnspos  tpost1+4 ;$0e ltranspose
#define tcube tpost1+5 ;$0f '^3'
;
#define tlparen $10 ;$10 '('
#define trparen $11 ;$11 ')'
;
#define imun  $12
;
#define tround  imun ;$12 'round'
#define tpxtst  imun+1 ;$13 'pxl-test'
#define taug  imun+2 ;$14 'aug'
#define trowswap  imun+3 ;$15 'rswap'
#define trowplus  imun+4 ;$16 'radd'
#define tmrow imun+5 ;$17 'multr'
#define tmrowplus imun+6 ;$18 'mradd'
#define tmax  imun+7 ;$19 'max'
#define tmin  imun+8 ;$1a 'min'
#define trtopr  imun+9 ;$1b 'r>pr
#define trtopo  imun+10 ;$1c 'r>po
#define tptorx  imun+11 ;$1d 'p>rx
#define tptory  imun+12 ;$1e 'p>ry
#define tmedian imun+13 ;$1f 'median
#define trandm  imun+14 ;$20 'randm'
#define tmean imun+15 ;$21
#define troot imun+16 ;$22 'root'
#define tseries imun+17 ;$23 'seq'
#define tfnint  imun+18 ;$24 'fnint'
#define tnderiv imun+19 ;$25 'fnir'
#define tevalf  imun+20 ;$26
#define tfmin imun+21 ;$27
#define tfmax imun+22 ;$28
;
#define teosel  imun+23
;
#define tspace  teosel ;$29 ' '
#define tstring teosel+1 ;$2a '"'
#define tcomma  teosel+2 ;$2b ','
;
#define tii $2c ;i

;postfix functions
;-----------------------------------------
#define tpost $2d
;
#define tfact tpost ;$2d '!'
;
#define tcubicr $2e
#define tquartr $2f

;number tokens
;---------------------------------------
#define nums  $30
;
#define t0  nums ;$30
#define t1  nums+1 ;$31
#define t2  nums+2 ;$32
#define t3  nums+3 ;$33
#define t4  nums+4 ;$34
#define t5  nums+5 ;$35
#define t6  nums+6 ;$36
#define t7  nums+7 ;$37
#define t8  nums+8 ;$38
#define t9  nums+9 ;$39
#define tdecpt  nums+10 ;$3a
#define tee nums+11 ;$3b

;binary op
;-------------------------------------------
#define tor $3c ;$3c '_or_'
#define txor  $3d ;$3d
;
#define tcolon  $3e ;$3e ':'
#define tenter  $3f ;$3f lenter
;
#define tand  $40 ;$40 '_and_'

;letter tokens
;--------------------------------------
#define let $41
#define ta  let ;$41
#define tb  let+1 ;$42
#define tc  let+2 ;$43
#define td  let+3 ;$44
#define te  let+4 ;$45
#define tf  let+5 ;$46
#define tg  let+6 ;$47
#define th  let+7 ;$48
#define ti  let+8 ;$49
#define tj  let+9 ;$4a
#define tk  let+10 ;$4b
#define tl  let+11 ;$4c
#define tm  let+12 ;$4d
#define tn  let+13 ;$4e
#define to  let+14 ;$4f
#define tp  let+15 ;$50
#define tq  let+16 ;$51
#define tr  let+17 ;$52
#define ts  let+18 ;$53
#define tt  let+19 ;$54
#define tu  let+20 ;$55
#define tv  let+21 ;$56
#define tw  let+22 ;$57
#define tx  let+23 ;$58
#define ty  let+24 ;$59
#define tz  let+25 ;$5a
#define ttheta  let+26 ;$5b

;these var tokens are 1st of a double token
;------------------------------------------

#define vtoks let+27

;user matrix token, 2nd token needed for name
;
#define tvarmat vtoks ;$5c
;
;user list token, 2nd token needed for name
;
#define tvarlst vtoks+1 ;$5d
;
;user equation token, 2nd token needed for name
;
#define tvarequ vtoks+2 ;$5e
#define tprog vtoks+3 ;$5f
;
;user pict token, 2nd token needed for name
;
#define tvarpict  vtoks+4 ;$60
;
;user gdb token, 2nd token needed for name
;
#define tvargdb vtoks+5 ;$61
#define tvarout vtoks+6 ;$62
#define tvarsys vtoks+7 ;$63

;mode setting commands
;-------------------------------------------------
#define modesa  vtoks+8 ;$64
#define trad  modesa ;$64 'radian'
#define tdeg  modesa+1 ;$65 'degree'
#define tnormf  modesa+2 ;$66 'normal'
#define tsci  modesa+3 ;$67 'sci'
#define teng  modesa+4 ;$68 'eng'
#define tfloat  modesa+5 ;$69 'float'
#define cmps  $6a
#define teq cmps ;$6a '=='
#define tlt cmps+1 ;$6b '<'
#define tgt cmps+2 ;$6c '>'
#define tle cmps+3 ;$6d lle
#define tge cmps+4 ;$6e lge
#define tne cmps+5 ;$6f lne

;binary op
;---------------------------------------
#define tadd  $70 ;$70 '+'
#define tsub  $71 ;$71 '-'
#define tans  $72 ;$72

;mode setting commands
;-------------------------------------------------------
#define modes $73
#define tfix  modes ;$73 'fix_'
#define tspliton  modes+1 ;$74
#define tfullscreen modes+2 ;$75
#define tstndrd modes+3 ;$76 'func'
#define tparam  modes+4 ;$77 'param'
#define tpolar  modes+5 ;$78 'pol'
#define tseqg modes+6 ;$79
#define tafillon  modes+7 ;$7a 'auto fill on'
#define tafilloff modes+8 ;$7b
#define tacalcon  modes+9 ;$7c
#define tacalcoff modes+10 ;$7d 'autofill off'

;graph format tokens are 2 byte tokens
;----------------------------------------
#define tgformat  modes+11 ;$7e
#define tboxicon  $7f
#define tcrossicon  $80
#define tdoticon  $81

;(more) binary op
;---------------------------------------
#define tmul  $82 ;$82 '*'
#define tdiv  $83 ;$83 '/'

;some graph commands
;------------------------------------------------------
#define grcmds  $84
#define ttrace  grcmds ;$84 'trace'
#define tcldrw  grcmds+1 ;$85 'cldrw'
#define tzoomstd  grcmds+2 ;$86 'zstd'
#define tzoomtrg  grcmds+3 ;$87 'ztrg'
#define tzoombox  grcmds+4 ;$88 'zbox'
#define tzoomin grcmds+5 ;$89 'zin'
#define tzoomout  grcmds+6 ;$8a 'zout'
#define tzoomsqr  grcmds+7 ;$8b 'zsqr'
#define tzoomint  grcmds+8 ;$8c 'zint'
#define tzoomprev grcmds+9 ;$8d 'zprev'
#define tzoomdec  grcmds+10 ;$8e 'zdecm'
#define tzoomstat grcmds+11 ;$8f 'zstat
#define tusrzm  grcmds+12 ;$90 'zrcl'
#define tprtscrn  grcmds+13 ;$91 'prtscrn'
#define tzoomsto  grcmds+14 ;$92  zoom store
#define ttext grcmds+15 ;$93

;binary op (combination & permutation)
;-------------------------------------------------
#define tnpr  grcmds+16 ;$94 '_npr_'
#define tncr  grcmds+17 ;$95 '_ncr_'

;more graph commands
;--------------------------------------------------
#define tyon  grcmds+18 ;$96 'fnon_'
#define tyoff grcmds+19 ;$97 'fnoff_'
#define tstpic  grcmds+20 ;$98 'stpic_'
#define trcpic  grcmds+21 ;$99 'rcpic_'
#define tstodb  grcmds+22 ;$9a 'stgdb_'
#define trcldb  grcmds+23 ;$9b 'rcgdb_'
#define tline grcmds+24 ;$9c 'line'
#define tvert grcmds+25 ;$9d 'vert_'
#define tpton grcmds+26 ;$9e 'pton'
#define tptoff  grcmds+27 ;$9f 'ptoff'

;token a0 cannot be an eos function since low mult=a0 already
;------------------------------------------------------------
#define tptchg  grcmds+28 ;$a0 'ptchg'
#define tpxon grcmds+29 ;$a1
#define tpxoff  grcmds+30 ;$a2
#define tpxchg  grcmds+31 ;$a3
#define tshade  grcmds+32 ;$a4 'shade'
#define tcircl  grcmds+33 ;$a5 'circl'
#define thorz grcmds+34 ;$a6 'horizontal'
#define ttanln  grcmds+35 ;$a7 'tanln'
#define tdrinv  grcmds+36 ;$a8 'drinv_'
#define tdrawf  grcmds+37 ;$a9 'drawf_'
#define tvarstrng $aa

;functions with no arguments
;--------------------------------------------------
#define noarg $0ab
#define trand noarg ;$ab 'rand'
#define tpi noarg+1 ;$ac  lpi
#define tgetkey noarg+2 ;$ad 'getky'
#define tapost  tgetkey+1 ;apostrophy
#define tquest  tapost+1 ;question mark
#define unary tquest+1 ;$b0
#define tchs  unary ;$b0
#define tint  unary+1 ;$b1
#define tabs  unary+2 ;$b2
#define tdet  unary+3 ;$b3
#define tident  unary+4 ;$b4
#define tdim  unary+5 ;$b5
#define tsum  unary+6 ;$b6
#define tprod unary+7 ;$b7
#define tnot  unary+8 ;$b8
#define tipart  unary+9 ;$b9
#define tfpart  unary+10 ;$ba

;new 2 byte tokens
;------------------------------------------
#define t2bytetok $bb
#define unarylr unary+12
#define tsqrt unarylr ;$bc
#define tcubrt  unarylr+1 ;$bd
#define tln unarylr+2 ;$be
#define texp  unarylr+3 ;$bf
#define tlog  unarylr+4 ;$c0
#define talog unarylr+5 ;$c1
#define tsin  unarylr+6 ;$c2
#define tasin unarylr+7 ;$c3
#define tcos  unarylr+8 ;$c4
#define tacos unarylr+9 ;$c5
#define ttan  unarylr+10 ;$c6
#define tatan unarylr+11 ;$c7
#define tsinh unarylr+12 ;$c8
#define tasinh  unarylr+13 ;$c9
#define tcoshh  unarylr+14 ;$ca
#define tacosh  unarylr+15 ;$cb
#define ttanh unarylr+16 ;$cc
#define tatanh  unarylr+17 ;$cd

;some programming commands
;------------------------------------------------------
#define progtok unarylr+18
#define tif progtok ;$ce
#define tthen progtok+1 ;$cf
#define telse progtok+2 ;$d0
#define twhile  progtok+3 ;$d1
#define trepeat progtok+4 ;$d2
#define tfor  progtok+5 ;$d3
#define tend  progtok+6 ;$d4
#define treturn progtok+7 ;$d5
#define tlbl  progtok+8 ;$d6 'lbl_'
#define tgoto progtok+9 ;$d7 'goto_'
#define tpause  progtok+10 ;$d8 'pause_'
#define tstop progtok+11 ;$d9 'stop'
#define tisg  progtok+12 ;$da 'is>'
#define tdsl  progtok+13 ;$db 'ds<'
#define tinput  progtok+14 ;$dc 'input_'
#define tprompt progtok+15 ;$dd 'prompt_'
#define tdisp progtok+16 ;$de 'disp_'
#define tdispg  progtok+17 ;$df 'dispg'
#define toutput progtok+18 ;$e0 'outpt'
#define tcllcd  progtok+19 ;$e1 'cllcd'
#define tconst  progtok+20 ;$e2 'fill'
#define tsorta  progtok+21 ;$e3 'sorta_'
#define tsortd  progtok+22 ;$e4 'sortd_'
#define tdisptab  progtok+23 ;$e5 'disp table
#define tmenu progtok+24 ;$e6 'menu'
#define tsendmbl  progtok+25 ;$e7 'send'
#define tgetmbl progtok+26 ;$e8 'get'

;stat plot commands
;------------------------------------------------------
#define statpcmd  progtok+27
#define tploton statpcmd ;$e9 ' plotson'
#define tplotoff  statpcmd+1 ;$ea ' plotsoff
#define tlistname $eb ;list designator
#define tplot1  $ec
#define tplot2  $ed
#define tplot3  $ee
#define tunused01 $ef ;available?
#define tpower  $f0 ;'^'
#define txroot  $f1 ;lsupx,lroot
#define statcmd $f2
#define tonevar statcmd ;f2 'onevar_'
#define ttwovar statcmd+1 ;f3
#define tlr statcmd+2 ;f4 'linr(a+bx
#define tlrexp  statcmd+3 ;f5 'expr_'
#define tlrln statcmd+4 ;f6 'lnr_'
#define tlrpwr  statcmd+5 ;f7 'pwrr_'
#define tmedmed statcmd+6 ;f8
#define tquad statcmd+7 ;f9
#define tclrlst statcmd+8 ;$fa 'clear list
#define tclrtbl statcmd+9 ;$fb clear table
#define thist statcmd+10 ;$fc 'hist_'
#define txyline statcmd+11 ;$fd 'xyline_'
#define tscatter  statcmd+12 ;$fe 'scatter_'
#define tlr1  statcmd+13 ;$ff 'linr(ax+b

;$2nd half of graph format tokens
;----------------------------------------------
;           format settings commands
;
#define gfmt  $00
#define tseq  gfmt ; 'seqg'
#define tsimulg gfmt+1 ; 'simulg'
#define tpolarg gfmt+2 ; 'polargc'
#define trectg  gfmt+3 ; 'rectgc'
#define tcoordon  gfmt+4 ; 'coordon'
#define tcoordoff gfmt+5 ; 'coordoff'
#define tdrawline gfmt+6 ; 'drawline'
#define tdrawdot  gfmt+7 ; 'drawdot'
#define taxison gfmt+8 ; 'axeson'
#define taxisoff  gfmt+9 ; 'axesoff'
#define tgridon gfmt+10 ; 'gridon'
#define tgridoff  gfmt+11 ; 'gridoff'
#define tlblon  gfmt+12 ; 'labelon'
#define tlbloff gfmt+13 ; 'labeloff'
#define twebon  gfmt+14 ; 'webon'
#define tweboff gfmt+15 ; 'weboff'
#define tuv gfmt+16 ; u vs v
#define tvw gfmt+17 ; v vs w
#define tuw gfmt+18 ; u vs w

;$2nd half of user matrix tokens
;-------------------------------------
#define tmata $00 ;mat a
#define tmatb $01 ;mat b
#define tmatc $02 ;mat c
#define tmatd $03 ;mat d
#define tmate $04 ;mat e
#define tmatf $05 ;mat f
#define tmatg $06 ;mat g
#define tmath $07 ;mat
#define tmati $08 ;mat i
#define tmatj $09 ;mat j

;$2nd half of user list tokens
;--------------------------------------
#define tl1 $00 ;list 1
#define tl2 $01 ;list 2
#define tl3 $02 ;list 3
#define tl4 $03 ;list 4
#define tl5 $04 ;list 5
#define tl6 $05 ;list 6

;$2nd half of user equation tokens
;----------------------------------
;  "y" equations have bit 4 set
;
#define ty1 $10 ;y1
#define ty2 $11 ;y2
#define ty3 $12 ;y3
#define ty4 $13 ;y4
#define ty5 $14 ;y5
#define ty6 $15 ;y6
#define ty7 $16 ;y7
#define ty8 $17 ;y8
#define ty9 $18 ;y9
#define ty0 $19 ;y0

;param equations have bit 5 set
;-----------------------------------
#define tx1t  $20 ;x1t
#define ty1t  $21 ;y1t
#define tx2t  $22 ;x2t
#define ty2t  $23 ;y2t
#define tx3t  $24 ;x3t
#define ty3t  $25 ;y3t
#define tx4t  $26 ;x4t
#define ty4t  $27 ;y4t
#define tx5t  $28 ;x5t
#define ty5t  $29 ;y5t
#define tx6t  $2a ;x6t
#define ty6t  $2b ;y6t

;polar equations have bit 6 set
;----------------------------------
#define tr1 $40 ;r1
#define tr2 $41 ;r2
#define tr3 $42 ;r3
#define tr4 $43 ;r4
#define tr5 $44 ;r5
#define tr6 $45 ;r6

;recursion equations have bit 7 set
;----------------------------------
#define tun $80 ;un
#define tvn $81 ;vn
#define twn $82 ;wn

;$2nd half of user picture tokens
;------------------------------------
#define tpic1 $00 ;pic1
#define tpic2 $01 ;pic2
#define tpic3 $02 ;pic3
#define tpic4 $03 ;pic4
#define tpic5 $04 ;pic5
#define tpic6 $05 ;pic6
#define tpic7 $06 ;pic7
#define tpic8 $07 ;pic8
#define tpic9 $08 ;pic9
#define tpic0 $09 ;pic0

;$2nd half of user graph database tokens
;--------------------------------------
#define tgdb1 $00 ;gdb1
#define tgdb2 $01 ;gdb2
#define tgdb3 $02 ;gdb3
#define tgdb4 $03 ;gdb4
#define tgdb5 $04 ;gdb5
#define tgdb6 $05 ;gdb6
#define tgdb7 $06 ;gdb7
#define tgdb8 $07 ;gdb8
#define tgdb9 $08 ;gdb9
#define tgdb0 $09 ;gdb0

;$2nd half of string vars
;------------------------------
#define tstr1 $00
#define tstr2 $01
#define tstr3 $02
#define tstr4 $03
#define tstr5 $04
#define tstr6 $05
#define tstr7 $06
#define tstr8 $07
#define tstr9 $08
#define tstr0 $09

;$2nd half of system output only variables
;-----------------------------------------------------------------
;open $00
#define tregeq  $01 ;regression equation
#define tstatn  $02 ;statistics n
#define txmean  $03 ;x mean
#define tsumx $04 ;sum(x)
#define tsumxsqr  $05 ;sum(x^2)
#define tstdx $06 ;standard dev x
#define tstdpx  $07 ;standard dev pop x
#define tminx $08 ;min x value
#define tmaxx $09 ;max x value
#define tminy $0a ;min y value
#define tmaxy $0b ;max y value
#define tymean  $0c ;y mean
#define tsumy $0d ;sum(y)
#define tsumysqr  $0e ;sum(y^2)
#define tstdy $0f ;standard dev y
#define tstdpy  $10 ;standard dev pop y
#define tsumxy  $11 ;sum(xy)
#define tcorr $12 ;correlation
#define tmedx $13 ;med(x)
#define tq1 $14 ;1st quadrant of x
#define tq3 $15 ;3rd quadrant of x
#define tquada  $16 ;1st term of quad poly reg/ y-int
#define tquadb  $17 ;2nd term of quad poly reg/ slope
#define tquadc  $18 ;3rd term of quad poly reg
#define tcubed  $19 ;4th term of cubic poly reg
#define tquarte $1a ;5th term of quart poly reg
#define tmedx1  $1b ;x1 for med-med
#define tmedx2  $1c ;x2 for med-med
#define tmedx3  $1d ;x3 for med-med
#define tmedy1  $1e ;y1 for med-med
#define tmedy2  $1f ;y2 for med-med
#define tmedy3  $20 ;y3 for med-med
#define trecurn $21 ;recursion n
#define tstatp  $22
#define tstatz  $23
#define tstatt  $24
#define tstatchi  $25
#define tstatf  $26
#define tstatdf $27
#define tstatphat $28
#define tstatphat1  $29
#define tstatphat2  $2a
#define tstatmeanx1 $2b
#define tstatstdx1  $2c
#define tstatn1 $2d
#define tstatmeanx2 $2e
#define tstatstdx2  $2f
#define tstatn2 $30
#define tstatstdxp  $31
#define tstatlower  $32
#define tstatupper  $33
#define tstat_s $34
#define tlrsqr  $35 ;r^2
#define tbrsqr  $36 ;r^2

;these next tokens are only used to access the data
;they are display only and the user cannot access them at all
;------------------------------------------------------------
#define tf_df $37 ;anofav factor df
#define tf_ss $38 ;anofav factor ss
#define tf_ms $39 ;anofav factor ms
#define te_df $3a ;anofav error df
#define te_ss $3b ;anofav error ss
#define te_ms $3c ;anofav error ms

;$2nd half of system input/output variables
;------------------------------------------------
;      system variable equates
;
#define tuxscl  $00
#define tuyscl  $01
#define txscl $02
#define tyscl $03
#define trecuru0  $04 ;u 1st initial cond
#define trecurv0  $05 ;v 1st initial cond
#define tun1  $06 ;u(n-1); not used
#define tvn1  $07 ;v(n-1); not used
#define turecuru0 $08 ;
#define turecurv0 $09 ;
#define txmin $0a
#define txmax $0b
#define tymin $0c
#define tymax $0d
#define ttmin $0e
#define ttmax $0f
#define tthetamin $10
#define tthetamax $11
#define tuxmin  $12
#define tuxmax  $13
#define tuymin  $14
#define tuymax  $15
#define tuthetmin $16
#define tuthetmax $17
#define tutmin  $18
#define tutmax  $19
#define ttblmin $1a
#define tplotstart  $1b
#define tuplotstart $1c
#define tnmax $1d
#define tunmax  $1e
#define tnmin $1f
#define tunmin  $20
#define ttblstep  $21
#define ttstep  $22
#define tthetastep  $23
#define tutstep $24
#define tuthetstep  $25
#define tdeltax $26
#define tdeltay $27
#define txfact  $28
#define tyfact  $29
#define ttblinput $2a
#define tfinn $2b
#define tfini $2c
#define tfinpv  $2d
#define tfinpmt $2e
#define tfinfv  $2f
#define tfinpy  $30
#define tfincy  $31
#define trecurw0  $32 ;w0(1)
#define turecurw0 $33
#define tplotstep $34
#define tuplotstep  $35
#define txres $36
#define tuxres  $37
#define trecuru02 $38 ;u0(2)
#define turecuru02  $39
#define trecurv02 $3c ;v0(2)
#define turecurv02  $3d
#define trecurw02 $3e ;w0(2)
#define turecurw02  $3f

;$2nd byte of t2bytetok tokens
;------------------------------
#define tfinnpv $00
#define tfinirr $01
#define tfinbal $02
#define tfinprn $03
#define tfinint $04
#define tfintonom $05
#define tfintoeff $06
#define tfindbd $07
#define tlcm  $08
#define tgcd  $09
#define trandint  $0a
#define trandbin  $0b
#define tsubstrng $0c
#define tstddev $0d
#define tvariance $0e
#define tinstrng  $0f
#define tdnormal  $10
#define tinvnorm  $11
#define tdt $12
#define tchi  $13
#define tdf $14
#define tbinpdf $15
#define tbincdf $16
#define tpoipdf $17
#define tpoicdf $18
#define tgeopdf $19
#define tgeocdf $1a
#define tnormalpdf  $1b
#define ttpdf $1c
#define tchipdf $1d
#define tfpdf $1e
#define trandnorm $1f
#define tfinfpmt  $20
#define tfinfi  $21
#define tfinfpv $22
#define tfinfn  $23
#define tfinffv $24
#define tconj $25
#define treal $26
#define timag $27
#define tangle  $28
#define tcumsum $29
#define texpr $2a
#define tlength $2b
#define tdeltalst $2c
#define tref  $2d
#define trref $2e
#define ttorect $2f
#define ttopolar  $30
#define tconste $31
#define tsinreg $32
#define tlogistic $33
#define tlinregttest  $34
#define tshadenorm  $35
#define tshadet $36
#define tshadechi $37
#define tshadef $38
#define tmattolst $39
#define tlsttomat $3a
#define tztest  $3b
#define tttest  $3c
#define t2sampztest $3d
#define t1propztest $3e
#define t2propztest $3f
#define tchitest  $40
#define tzintval  $41
#define t2sampzint  $42
#define t1propzint  $43
#define t2propzint  $44
#define tgraphstyle $45
#define t2sampttest $46
#define t2sampftest $47
#define ttintval  $48
#define t2samptint  $49
#define tsetuplst $4a
#define tfinpmtend  $4b
#define tfinpmtbeg  $4c
#define trealm  $4d
#define tpolarm $4e
#define trectm  $4f
#define texpron $50
#define texproff  $51
#define tclralllst  $52
#define tgetcalc  $53
#define tdelvar $54
#define tequtostrng $55
#define tstrngtoequ $56
#define tdellast  $57
#define tselect $58
#define tanova  $59
#define tmodbox $5a
#define tnormprob $5b
#define tmgt  $64 ;vertical split
#define tzfit $65 ;zoom fit
#define tdiag_on  $66 ;dianostic display on
#define tdiag_off $67 ;dianostic display off
#define tokend2v0 $67 ;end of 2byte tokens for version 0.
#define tarchive  $68 ;archive
#define tunarchive  $69 ;unarchive
#define tasm  $6a
#define tasmcomp  $6b ;asm compile
#define tasmprgm  $6c ;signifies a program is asm
#define tasmcmp $6d ;asm program is compiled
#define tlcapaacute $6e
#define tlcapagrave $6f
#define tlcapacaret $70
#define tlcapadier  $71
#define tlaacute  $72
#define tlagrave  $73
#define tlacaret  $74
#define tladier $75
#define tlcapeacute $76
#define tlcapegrave $77
#define tlcapecaret $78
#define tlcapedier  $79
#define tleacute  $7a
#define tlegrave  $7b
#define tlecaret  $7c
#define tledier $7d
#define tlcapigrave $7f
#define tlcapicaret $80
#define tlcapidier  $81
#define tliacute  $82
#define tligrave  $83
#define tlicaret  $84
#define tlidier $85
#define tlcapoacute $86
#define tlcapograve $87
#define tlcapocaret $88
#define tlcapodier  $89
#define tloacute  $8a
#define tlograve  $8b
#define tlocaret  $8c
#define tlodier $8d
#define tlcapuacute $8e
#define tlcapugrave $8f
#define tlcapucaret $90
#define tlcapudier  $91
#define tluacute  $92
#define tlugrave  $93
#define tlucaret  $94
#define tludier $95
#define tlcapcced $96
#define tlcced  $97
#define tlcapntilde $98
#define tlntilde  $99
#define tlaccent  $9a
#define tlgrave $9b
#define tldieresis  $9c
#define tlquesdown  $9d
#define tlexclamdown  $9e
#define tlalpha $9f
#define tlbeta  $a0
#define tlgamma $a1
#define tlcapdelta  $a2
#define tldelta $a3
#define tlepsilon $a4
#define tllambda  $a5
#define tlmu  $a6
#define tlpi  $a7
#define tlrho $a8
#define tlcapsigma  $a9
#define tlphi $ab
#define tlcapomega  $ac
#define tlphat  $ad
#define tlchi $ae
#define tlstatf $af
#define tla $b0
#define tlb $b1
#define tlc $b2
#define tld $b3
#define tlsmalle  $b4
#define tlf $b5
#define tlsmallg  $b6
#define tlh $b7
#define tli $b8
#define tlj $b9
#define tlk $ba
#define tll $bc
#define tlm $bd
#define tlsmalln  $be
#define tlo $bf
#define tlp $c0
#define tlq $c1
#define tlsmallr  $c2
#define tls $c3
#define tlsmallt  $c4
#define tlu $c5
#define tlv $c6
#define tlw $c7
#define tlx $c8
#define tly $c9
#define tlz $ca
#define tlsigma $cb
#define tltau $cc
#define tlcapiacute $cd
#define tgarbagec $ce
#define lasttoken $ce ;tlast token in this version...

;data type equates
;---------------------------------------------------------------------
#define realobj $00
#define listobj $01
#define matobj  $02
#define equobj  $03
#define strngobj  $04
#define progobj $05
#define protprogobj $06
#define pictobj $07
#define gdbobj  $08
#define unknownobj  $09
#define unknownequobj $0a
#define newequobj $0b
#define cplxobj $0c
#define clistobj  $0d
#define undefobj  $0e
#define windowobj $0f
#define zstoobj $10
#define tblrngobj $11
#define lcdobj  $12
#define backupobj $13
#define appobj  $14 ;application, only used in menus/link
#define appvarobj $15 ;application variable
#define tempprogobj $16 ;program, home deletes when finished
#define groupobj  $17 ;group.

;i/o equates
;---------------------------------------------------
#define d0d1_bits $03
#define d0ld1l  $03
#define d0ld1 $01
#define d0d1l $02
#define d0d1  $00
#define bport $00 ;$4-bit link port (i/o)

;device codes
;-----------------------------------------------------------------
#define ti82dev $82
#define pc82dev $02
#define mac82dev  $12
#define ti83fdev  $73
#define link83fdev  $23
#define ti83dev $83
#define pc83dev $03
#define mac83dev  $13
#define ti85dev $95 ;different than real 85 so me talk
#define pc85dev $05
#define mac85dev  $15
#define ti73dev $74 ;device x3 is always an 83
#define pc73dev $07
#define mac73dev  $17
#define link73fdev  $23
#define pc83fdev  $23

;system error codes
;-----------------------------------------------------------
#define e_editf 7 ;allow re-entering application
#define e_edit  1<<e_editf
#define e_mask  $7f
#define e_overflow  1+e_edit
#define e_divby0  2+e_edit
#define e_singularmat 3+e_edit
#define e_domain  4+e_edit
#define e_increment 5+e_edit
#define e_break 6+e_edit
#define e_nonreal 7+e_edit
#define e_syntax  8+e_edit
#define e_datatype  9+e_edit
#define e_argument  10+e_edit
#define e_dimmismatch 11+e_edit
#define e_dimension 12+e_edit
#define e_undefined 13+e_edit
#define e_memory  14+e_edit
#define e_invalid 15+e_edit
#define e_illegalnest 16+e_edit
#define e_bound 17+e_edit
#define e_graphrange  18+e_edit
#define e_zoom  19+e_edit
#define e_label 20
#define e_stat  21
#define e_solver  22+e_edit
#define e_singularity 23+e_edit
#define e_signchange  24+e_edit
#define e_iterations  25+e_edit
#define e_badguess  26+e_edit
#define e_statplo 27
#define e_toltoosmall 28+e_edit
#define e_reserved  29+e_edit
#define e_mode  30+e_edit
#define e_lnkerr  31+e_edit
#define e_lnkmemerr 32+e_edit
#define e_lnktranserr 33+e_edit
#define e_lnkduperr 34+e_edit
#define e_lnkmemfull  35+e_edit
#define e_unknown 36+e_edit
#define e_scale 37+e_edit
#define e_idnotfound  38
#define e_nomode  39+e_edit
#define e_validation  40
#define e_length  41+e_edit
#define e_application 42+e_edit
#define e_apperr1 43+e_edit
#define e_apperr2 44+e_edit
#define e_expiredapp  45
#define e_badadd  46
#define e_archived  47+e_edit
#define e_version 48
#define e_archfull  49
#define e_variable  50+e_edit
#define e_duplicate 51+e_edit
#define higerrnum 51
;obsolete error numbers 34 ;first link error
#define e_linkiochksum  34
#define e_linkiotimeout 35
#define e_linkiobusy  36
#define e_linkiover 37

;equates to ram locations for stat vars
;----------------------------------------------------------------
#define fplen 9 ;length of a floating-point number.
#define statn statvars
#define xmean statn+fplen
#define sumx  xmean+fplen
#define sumxsqr sumx+fplen
#define stdx  sumxsqr+fplen
#define stdpx stdx+fplen
#define minx  stdpx+fplen
#define maxx  minx+fplen
#define miny  maxx+fplen
#define maxy  miny+fplen
#define ymean maxy+fplen
#define sumy  ymean+fplen
#define sumysqr sumy+fplen
#define stdy  sumysqr+fplen
#define stdpy stdy+fplen
#define sumxy stdpy+fplen
#define corr  sumxy+fplen
#define medx  corr+fplen
#define q1  medx+fplen
#define q3  q1+fplen
#define quada q3+fplen
#define quadb quada+fplen
#define quadc quadb+fplen
#define cubed quadc+fplen
#define quarte  cubed+fplen
#define medx1 quarte+fplen
#define medx2 medx1+fplen
#define medx3 medx2+fplen
#define medy1 medx3+fplen
#define medy2 medy1+fplen
#define medy3 medy2+fplen
#define pstat medy3+2*fplen
#define zstat pstat+fplen
#define tstat zstat+fplen
#define chistat tstat+fplen
#define fstat chistat+fplen
#define df  fstat+fplen
#define phat  df+fplen
#define phat1 phat+fplen
#define phat2 phat1+fplen
#define meanx1  phat2+fplen
#define stdx1 meanx1+fplen
#define statn1  stdx1+fplen
#define meanx2  statn1+fplen
#define stdx2 meanx2+fplen
#define statn2  stdx2+fplen
#define stdxp2  statn2+fplen
#define slower  stdxp2+fplen
#define supper  slower+fplen
#define sstat supper+fplen
#define f_df  anovaf_vars
#define f_ss  f_df+fplen
#define f_ms  f_ss+fplen
#define e_df  f_ms+fplen
#define e_ss  e_df+fplen
#define e_ms  e_ss+fplen