TI-86 System Flags


IY starts at $C3E5 (_Flags in RAM). This, most people never care to know. It continues to $C409; $C40A (_ram_to_use1 in RAM) marks the beginning of user flags, $C413 is the last. We're going to explore each bit of each byte in betweeen and see what we find. To check a system or user flag (8 bits to every byte) we use bit X,(iy+Y), where X is the bit and Y is offset from iy ($C3E5). To set a flag (change the bit to one) use set X,(iy+Y). To reset a flag (change the bit to zero) use res X,(iy+Y). If you understand that, plz continue.
Bit,(iy+offset)RAMSummary
0,(iy+$00)$C3E5 call _SETMATCPLX ; $459B, set $00,(iy+$00)
call _RESMATTYPE ; $45C3, res $00,(iy+$00)
call _CHKMATTYPE ; $4597, bit $00,(iy+$00)
$01,(iy+$00)$C3E5No Info
$02,(iy+$00)$C3E5Degree (set) or Radian (res)
$03,(iy+$00)$C3E5Set if just tokenized a Basic program (WW)
$04,(iy+$00)$C3E5No Info
$05,(iy+$00)$C3E5Does (set) or doesn't (res) display "Done" right justified after a program exits
$06,(iy+$00)$C3E5No Info
$07,(iy+$00)$C3E5No Info
$00,(iy+$01)$C3E6No Info
$01,(iy+$01)$C3E6No Info
$02,(iy+$01)$C3E6No Info
$03,(iy+$01)$C3E6No Info
$04,(iy+$01)$C3E6No Info
$05,(iy+$01)$C3E6call _SizeWind ; $40C5 - call _cxSizeWind ($C1B1), bit $05,(iy+$01)
$06,(iy+$01)$C3E6No Info
$07,(iy+$01)$C3E6No Info
$00,(iy+$02)$C3E7No Info
$01,(iy+$02)$C3E7plotloc,(iy+plotflags)
$02,(iy+$02)$C3E7plotdisp,(iy+plotflags)
$03,(iy+$02)$C3E7No Info
$04,(iy+$02)$C3E7call _bitGrfFuncM ; $402C, bit $04,(iy+$02)
call _SETFUNCM ; $4E0D, set $04,(iy+$02) - TI-Basic Func
$05,(iy+$02)$C3E7call _bitGrfPolarM ; $4030, bit $05,(iy+$02)
call _SETPOLM ; $4E11, set $05,(iy+$02) - TI-Basic Pol
$06,(iy+$02)$C3E7call _bitgrfparamm ; $4034, bit $06,(iy+$02)
call _SETPARM ; $4E15, set $06,(iy+$02) - TI-Basic Param
$07,(iy+$02)$C3E7call _bitgrfrecurm ; $4038, bit $07,(iy+$02)
call _SETDIFM ; $4E19, set $07,(iy+$02) - TI-Basic DifEq
$00,(iy+$03)$C3E8bit graphdraw,(iy+graphflags)
$01,(iy+$03)$C3E8call _chkgraphprog ;$4667
$02,(iy+$03)$C3E8bit graphcursor,(iy+graphflags)
$03,(iy+$03)$C3E8No Info
$04,(iy+$03)$C3E8No Info
$05,(iy+$03)$C3E8No Info
$06,(iy+$03)$C3E8No Info
$07,(iy+$03)$C3E8No Info
$00,(iy+$04)$C3E9TI-Basic DrawDot (set) or DrawLine (res)
$01,(iy+$04)$C3E9TI-Basic SimulG (set) or SeqG (res)
$02,(iy+$04)$C3E9TI-Basic GridOn (set) or GridOff (res)
$03,(iy+$04)$C3E9TI-Basic PolarGC (set) or RectGC (res)
$04,(iy+$04)$C3E9TI-Basic CoordOn (set) or CoordOff (res)
$05,(iy+$04)$C3E9TI-Basic AxesOn (set) or AxesOff (res)
$06,(iy+$04)$C3E9TI-Basic LabelOn (set) or LabelOff (res)
$07,(iy+$04)$C3E9No Info
$00,(iy+$05)$C3EANo Info
$01,(iy+$05)$C3EAtextEraseBelow
$02,(iy+$05)$C3EAtextScrolled
$03,(iy+$05)$C3EAInverted text colors (set) or Normal Text colors (res)
$04,(iy+$05)$C3EANo Info
$05,(iy+$05)$C3EANo Info
$06,(iy+$05)$C3EANo Info
$07,(iy+$05)$C3EANo Info
$00,(iy+$06)$C3EBparsflag
$01,(iy+$06)$C3EBNo Info
$02,(iy+$06)$C3EBNo Info
$03,(iy+$06)$C3EBNo Info
$04,(iy+$06)$C3EBNo Info
$05,(iy+$06)$C3EBNo Info
$06,(iy+$06)$C3EBNo Info
$07,(iy+$06)$C3EBNo Info
$00,(iy+$07)$C3ECcall _bitNUMOP1 ; $4000, bit $00,(iy+$07)
call _CHKNUMOP1ERR ; $45B7, error 7 SYNTAX if bit $00,(iy+$07) = 0
$01,(iy+$07)$C3ECNo Info
$02,(iy+$07)$C3ECNo Info
$03,(iy+$07)$C3ECNo Info
$04,(iy+$07)$C3ECNo Info
$05,(iy+$07)$C3ECNo Info
$06,(iy+$07)$C3ECNo Info
$07,(iy+$07)$C3ECNo Info
$00,(iy+$08)$C3EDNo Info
$01,(iy+$08)$C3EDcall _bitModeSolve ; $4004, bit $01,(iy+$08)
$02,(iy+$08)$C3EDenable APD counter
$03,(iy+$08)$C3EDlock APD
$04,(iy+$08)$C3EDAPD has expired
$05,(iy+$08)$C3EDNo Info
$06,(iy+$08)$C3EDNo Info
$07,(iy+$08)$C3EDNo Info
$00,(iy+$09)$C3EENo Info
$01,(iy+$09)$C3EENo Info
$02,(iy+$09)$C3EENo Info
$03,(iy+$09)$C3EEAllows ON Break (set) or not (res)
$04,(iy+$09)$C3EEcall _chkON ; $4028, bit $04,(iy+$09)
$05,(iy+$09)$C3EENo Info
$06,(iy+$09)$C3EENo Info
$07,(iy+$09)$C3EENo Info
$00,(iy+$0A)$C3EFset $00,(iy+$0A) = TI-Basic Sci. when bit 0 and 1 res, TI-Basic Normal
$01,(iy+$0A)$C3EFset $01,(iy+$0A) = TI-Basic Eng
$02,(iy+$0A)$C3EFset $02,(iy+$0A) = TI-Basic Hex
$03,(iy+$0A)$C3EFset $03,(iy+$0A) = TI-Basic Oct
$04,(iy+$0A)$C3EFset $04,(iy+$0A) = TI-Basic Bin
$05,(iy+$0A)$C3EFNo Info
$06,(iy+$0A)$C3EFNo Info
$07,(iy+$0A)$C3EFNo Info
$00,(iy+$0B)$C3F0set $00,(iy+$0B) = TI-Basic Sci. when bit 0 and 1 res, TI-Basic Normal
$01,(iy+$0B)$C3F0set $01,(iy+$0B) = TI-Basic Eng
$02,(iy+$0B)$C3F0set $02,(iy+$0B) = TI-Basic Hex
$03,(iy+$0B)$C3F0set $03,(iy+$0B) = TI-Basic Oct
$04,(iy+$0B)$C3F0set $04,(iy+$0B) = TI-Basic Bin
$05,(iy+$0B)$C3F0No Info
$06,(iy+$0B)$C3F0No Info
$07,(iy+$0B)$C3F0No Info
$00,(iy+$0C)$C3F1No Info
$01,(iy+$0C)$C3F1No Info
$02,(iy+$0C)$C3F1curAble
$03,(iy+$0C)$C3F1curOn
$04,(iy+$0C)$C3F1curLock
$05,(iy+$0C)$C3F1No Info
$06,(iy+$0C)$C3F1No Info
$07,(iy+$0C)$C3F1No Info
$00,(iy+$0D)$C3F2No Info
$01,(iy+$0D)$C3F2appTextSave
$02,(iy+$0D)$C3F2appAutoScroll
$03,(iy+$0D)$C3F2No Info
$04,(iy+$0D)$C3F2No Info
$05,(iy+$0D)$C3F2No Info
$06,(iy+$0D)$C3F2No Info
$07,(iy+$0D)$C3F2No Info
$00,(iy+$0E)$C3F3No Info
$01,(iy+$0E)$C3F3No Info
$02,(iy+$0E)$C3F3No Info
$03,(iy+$0E)$C3F3No Info
$04,(iy+$0E)$C3F3No Info
$05,(iy+$0E)$C3F3No Info
$06,(iy+$0E)$C3F3No Info
$07,(iy+$0E)$C3F3No Info
$00,(iy+$0F)$C3F4No Info
$01,(iy+$0F)$C3F4No Info
$02,(iy+$0F)$C3F4No Info
$03,(iy+$0F)$C3F4No Info
$04,(iy+$0F)$C3F4No Info
$05,(iy+$0F)$C3F4No Info
$06,(iy+$0F)$C3F4No Info
$07,(iy+$0F)$C3F4No Info
$00,(iy+$10)$C3F5No Info
$01,(iy+$10)$C3F5No Info
$02,(iy+$10)$C3F5No Info
$03,(iy+$10)$C3F5No Info
$04,(iy+$10)$C3F5No Info
$05,(iy+$10)$C3F5No Info
$06,(iy+$10)$C3F5No Info
$07,(iy+$10)$C3F5No Info
$00,(iy+$11)$C3F6No Info
$01,(iy+$11)$C3F6No Info
$02,(iy+$11)$C3F6No Info
$03,(iy+$11)$C3F6No Info
$04,(iy+$11)$C3F6No Info
$05,(iy+$11)$C3F6No Info
$06,(iy+$11)$C3F6No Info
$07,(iy+$11)$C3F6No Info
$00,(iy+$12)$C3F6indicRun
$01,(iy+$12)$C3F6No Info
$02,(iy+$12)$C3F6indicOnly
$03,(iy+$12)$C3F6shift2nd
$04,(iy+$12)$C3F6shiftAlpha
$05,(iy+$12)$C3F6shiftLwrAlph
$06,(iy+$12)$C3F6shiftALock
$07,(iy+$12)$C3F6No Info
$00,(iy+$13)$C3F8No Info
$01,(iy+$13)$C3F8No Info
$02,(iy+$13)$C3F8No Info
$03,(iy+$13)$C3F8No Info
$04,(iy+$13)$C3F8No Info
$05,(iy+$13)$C3F8No Info
$06,(iy+$13)$C3F8No Info
$07,(iy+$13)$C3F8No Info
$00,(iy+$14)$C3F9No Info
$01,(iy+$14)$C3F9No Info
$02,(iy+$14)$C3F9No Info
$03,(iy+$14)$C3F9No Info
$04,(iy+$14)$C3F9No Info
$05,(iy+$14)$C3F9No Info
$06,(iy+$14)$C3F9No Info
$07,(iy+$14)$C3F9No Info
$00,(iy+$15)$C3FANo Info
$01,(iy+$15)$C3FANo Info
$02,(iy+$15)$C3FANo Info
$03,(iy+$15)$C3FANo Info
$04,(iy+$15)$C3FANo Info
$05,(iy+$15)$C3FANo Info
$06,(iy+$15)$C3FANo Info
$07,(iy+$15)$C3FANo Info
$00,(iy+$16)$C3FBNo Info
$01,(iy+$16)$C3FBNo Info
$02,(iy+$16)$C3FBNo Info
$03,(iy+$16)$C3FBNo Info
$04,(iy+$16)$C3FBNo Info
$05,(iy+$16)$C3FBNo Info
$06,(iy+$16)$C3FBNo Info
$07,(iy+$16)$C3FBex_asap_cmd
$00,(iy+$17)$C3FCNo Info
$01,(iy+$17)$C3FCNo Info
$02,(iy+$17)$C3FCNo Info
$03,(iy+$17)$C3FCNo Info
$04,(iy+$17)$C3FCNo Info
$05,(iy+$17)$C3FCNo Info
$06,(iy+$17)$C3FCProgramExecuting
$07,(iy+$17)$C3FCNo Info
$00,(iy+$18)$C3FDNo Info
$01,(iy+$18)$C3FDNo Info
$02,(iy+$18)$C3FDNo Info
$03,(iy+$18)$C3FDNo Info
$04,(iy+$18)$C3FDNo Info
$05,(iy+$18)$C3FDNo Info
$06,(iy+$18)$C3FDtextwrite
$07,(iy+$18)$C3FDNo Info
$00,(iy+$19)$C3FENo Info
$01,(iy+$19)$C3FENo Info
$02,(iy+$19)$C3FENo Info
$03,(iy+$19)$C3FENo Info
$04,(iy+$19)$C3FENo Info
$05,(iy+$19)$C3FERK (res) or Euler (set) (WW)
$06,(iy+$19)$C3FENo Info
$07,(iy+$19)$C3FENo Info
$00,(iy+$1A)$C3FF
$01,(iy+$1A)$C3FFSlpFld (res) or DirFld (set) (WW)
$02,(iy+$1A)$C3FFFldOff (set) (WW)
$03,(iy+$1A)$C3FFNo Info
$04,(iy+$1A)$C3FFNo Info
$05,(iy+$1A)$C3FFNo Info
$06,(iy+$1A)$C3FFNo Info
$07,(iy+$1A)$C3FFNo Info
$00,(iy+$1B)$C400No Info
$01,(iy+$1B)$C400No Info
$02,(iy+$1B)$C400call _SETGRAPHDRAW ; $4018, res $02,(iy+$1B)
$03,(iy+$1B)$C400No Info
$04,(iy+$1B)$C400No Info
$05,(iy+$1B)$C400No Info
$06,(iy+$1B)$C400No Info
$07,(iy+$1B)$C400No Info
$00,(iy+$1C)$C401No Info
$01,(iy+$1C)$C401No Info
$02,(iy+$1C)$C401No Info
$03,(iy+$1C)$C401No Info
$04,(iy+$1C)$C401No Info
$05,(iy+$1C)$C401No Info
$06,(iy+$1C)$C401No Info
$07,(iy+$1C)$C401No Info
$00,(iy+$1D)$C402No Info
$01,(iy+$1D)$C402No Info
$02,(iy+$1D)$C402No Info
$03,(iy+$1D)$C402No Info
$04,(iy+$1D)$C402No Info
$05,(iy+$1D)$C402call _BITSTAT1 ; $45BF, bit $05,(iy+$1D)
$06,(iy+$1D)$C402call _STATVARS ; $C415, free if res $06,(iy+$1D)
$07,(iy+$1D)$C402No Info
$00,(iy+$1E)$C403No Info
$01,(iy+$1E)$C403No Info
$02,(iy+$1E)$C403No Info
$03,(iy+$1E)$C403No Info
$04,(iy+$1E)$C403No Info
$05,(iy+$1E)$C403No Info
$06,(iy+$1E)$C403No Info
$07,(iy+$1E)$C403No Info
$00,(iy+$1F)$C404No Info
$01,(iy+$1F)$C404No Info
$02,(iy+$1F)$C404ex_asm_module
$03,(iy+$1F)$C404No Info
$04,(iy+$1F)$C404No Info
$05,(iy+$1F)$C404No Info
$06,(iy+$1F)$C404No Info
$07,(iy+$1F)$C404No Info
$00,(iy+$20)$C405No Info
$01,(iy+$20)$C405No Info
$02,(iy+$20)$C405No Info
$03,(iy+$20)$C405No Info
$04,(iy+$20)$C405No Info
$05,(iy+$20)$C405No Info
$06,(iy+$20)$C405No Info
$07,(iy+$20)$C405No Info
$00,(iy+$21)$C406No Info
$01,(iy+$21)$C406No Info
$02,(iy+$21)$C406No Info
$03,(iy+$21)$C406No Info
$04,(iy+$21)$C406No Info
$05,(iy+$21)$C406No Info
$06,(iy+$21)$C406No Info
$07,(iy+$21)$C406No Info
$00,(iy+$22)$C407No Info
$01,(iy+$22)$C407No Info
$02,(iy+$22)$C407No Info
$03,(iy+$22)$C407No Info
$04,(iy+$22)$C407No Info
$05,(iy+$22)$C407No Info
$06,(iy+$22)$C407No Info
$07,(iy+$22)$C407No Info
$00,(iy+$23)$C407enable user font (5x7)
$01,(iy+$23)$C407enable user font (variable width)
$02,(iy+$23)$C407enable user interrupt routine
$03,(iy+$23)$C407enable user on routine
$04,(iy+$23)$C407enable user link routine
$05,(iy+$23)$C407alt_sqrt ?
$06,(iy+$23)$C407enable (sqrt)EXPR
$07,(iy+$23)$C407enable user off routine
$00,(iy+$24)$C409enable (sqrt)PARSE
$01,(iy+$24)$C409enable (sqrt)FORM
$02,(iy+$24)$C409enable (sqrt)EXEC
$03,(iy+$24)$C409No Info
$04,(iy+$24)$C409enable (sqrt)HOME
$05,(iy+$24)$C409enable (sqrt)CMDTOK
$06,(iy+$24)$C409enable (sqrt)KEY
$07,(iy+$24)$C409enable (sqrt)GRF
$00 to $07,(iy+$25)$C40AUser Flag
$00 to $07,(iy+$26)$C40B
$00 to $07,(iy+$27)$C40C
$00 to $07,(iy+$28)$C40D
$00 to $07,(iy+$29)$C40E
$00 to $07,(iy+$2A)$C40F
$00 to $07,(iy+$2B)$C410
$00 to $07,(iy+$2C)$C411
$00 to $07,(iy+$2D)$C412
$00 to $07,(iy+$2E)$C413
(WW) means I discovered it without previous documentation.