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