
TI-83 System Flags Documentation
================================

Organized By Jason Kovacs - Jason_K@calc.org
(Use Fixed Width Font for Veiwing This Text)

This text file Documents and Organizes All of the Known System Flags on the TI-83.
They are Arranged by IY Offset Value, and give the Name of that value that Texas
Instruments equated in their Include File already. The Names for all the Bits in
that Offset are also given. The Functions of that Flag are given according to if
they are Set (1) or Reset (0). Several Offsets have more than one name assigned to
them, if they contain Bits that serve unrelated purposes.

Most of this Information was provided by Texas Instruments on their website in the
section of their TI-83 ASM Docs. The URL is "http://www.ti.com/calc/docs/83asm.htm"
where this information on the System Flags was found.  Although, not all this info
had been Documented by Texas Instruments, but rather the people of the TI Community.
Credits to Individuals who have Discovered the Functions of some Undocumented System
Flags, are given at the Bottom of this Text File, with those IY Offsets and Bits. 


IY+00h - trigflags      - Functions
===================================
Bit 0  - ???            - Unknown
Bit 1  - ???            - Unknown
Bit 2  - trigdeg        - 0 = Degrees Mode  1 = Radians Mode
Bit 3  - ???            - Unknown
Bit 4  - ???            - Unknown
Bit 5  - ???            - Unknown
Bit 6  - ???            - Unknown
Bit 7  - ???            - Unknown


IY+01h - Not Named      - Functions
===================================
This Offset Has No Known Functions.


IY+02h - plotflags      - Functions
===================================
Bit 0  - tracedisp      - 0 = Trace Mode is Not In Effect  1 = Tracing Is In Effect
Bit 1  - plotloc        - 0 = Draw to LCD and Plotsscreen  1 = Draw Only to LCD
Bit 2  - plotdisp       - 0 = Graph Screen Is Not In Display  1 = Graph Is In Display
Bit 3  - ???            - Unknown


IY+02h - grfmodeflags   - Functions
===================================
Bit 4  - grffuncm       - 1 = Function Graph Mode
Bit 5  - grfpolarm      - 1 = Polar Graph Mode
Bit 6  - grfparamm      - 1 = Parametric Graph Mode
Bit 7  - grfrecurm      - 1 = Sequence Graph Mode
Bits 4-7                - 0 = Not In That Mode (Only One will be Set)


IY+03h - graphflags     - Functions
===================================
Bit 0  - graphdraw      - 0 = Graph is "Clean"  1 = Graph is "Dirty"
Bit 1  - ???            - Unknown
Bit 2  - graphcursor    - 0 = Graph Cursor is Off  1 = Graph Cursor is On
Bit 3  - ???            - Unknown
Bit 4  - ???            - Unknown
Bit 5  - ???            - Unknown
Bit 6  - ???            - Unknown
Bit 7  - ???            - Unknown


IY+04h - grfdbflags     - Functions
===================================
Bit 0  - grfdot         - 0 = Sequential Mode  1 = Dot Mode
Bit 1  - grfsimul       - 0 = Sequential Graph Draw  1 = Simultaneous Graph Draw
Bit 2  - grfgrid        - 0 = Dont Draw Graph Grid  1 = Draw Graph Grid
Bit 3  - grfpolar       - 0 = Show Rectangular Coordinates  1 = Show Polar Coordinates
Bit 4  - grfnocoord     - 0 = Show Graph Coordinates  1 = No Graph Coordinates
Bit 5  - grfnoaxis      - 0 = Draw Axis  1 = Dont Draw Axis
Bit 6  - grflabel       - 0 = No Graph Labels  0 = Show Graph Labels
Bit 7  - ???            - Unknown


IY+05h - textflags      - Functions
===================================
Bit 0  - ???            - Unknown
Bit 1  - textEraseBelow - 1 = Erase Line Below Small Font Text  0 = Dont Erase It
Bit 2  - textScrolled   - 1 = Screen Scrolled After Writing to it. (Needs Testing)
Bit 3  - textInverse    - 0 = Write in Normal Text  1 = Write in Inverted Text
Bit 4  - ???            - Unknown
Bit 5  - ???            - Unknown
Bit 6  - ???            - Unknown
Bit 7  - ???            - Unknown


IY+06h - Not Named      - Functions
===================================
This Offset Has No Known Functions.


IY+07h - Not Named      - Functions
===================================
This Offset Has No Known Functions.


IY+08h - execflags      - Functions 
===================================
Bit 0  - ???            - Unknown
Bit 1  - prgmRunning    - A Basic or ASM Program is Currently Executing
Bit 2  - ???            - Unknown
Bit 3  - calcbusy       - The Calc is currently Executing any Sequence of Code
Bit 4  - ???            - ??? It has some importance, used at $019C on Rom v1.07
Bit 5  - ???            - Unknown
Bit 6  - ???            - Unknown
Bit 7  - ???            - Unknown


IY+09h - onFlags        - Functions
===================================
Bit 0  - ???            - Unknown
Bit 1  - ???            - Unknown
Bit 2  - ???            - Unknown
Bit 3  - onRunning      - 1 = The Calculator Is Running  0 = The Calculator Is Off
Bit 4  - onInterrupt    - 1 = An [ON] Key Interrupt Occured  0 = [ON] Wasnt Pressed
Bit 5  - ???            - Unknown

IY+09h - statflags      - Functions
===================================
Bit 6  - statsvalid     - 1 = Stat Results Are Valid  0 = StatVars Usable for FreeRam
Bit 7  - ???            - Unknown


IY+0Ah - fmtflags       - Functions
===================================
Bit 0  - fmtExponent    - 1 = Exponential Display Mode \  If Both Are Reset (0) then the
Bit 1  - fmtEng         - 1 = Engineering Display Mode /  Calc is in Normal Display Mode
Bit 2  - ???            - Unknown
Bit 3  - ???            - Unknown
Bit 4  - ???            - Unknown

IY+0Ah - nummode        - Functions
===================================
Bit 5  - fmtreal        - 1 = Real Math Mode
Bit 6  - fmtrect        - 1 = Rect Complex Math Mode
Bit 7  - fmtpolar       - 1 = Polar Complex Math Mode
Bits 5-7                - 0 = Not In That Mode (Only One will be Set)


IY+0Bh - Not Named      - Functions
===================================
This Offset Has No Known Functions.


IY+0Ch - curflags       - Functions
===================================
Bit 0  - ???            - Unknown
Bit 1  - ???            - Unknown
Bit 2  - curAble        - 1 = Cursor Flash Enabled  0 = Not Enabled (In A Menu)
Bit 3  - curOn          - When Cursor is Blinking  0 = Cursor Is Off  1 = Cursor Is On
Bit 4  - curLock        - 1 = Cursor is Locked Off  0 = Not Locked Off (Blinking)
Bit 5  - ???            - Unknown
Bit 6  - ???            - Unknown
Bit 7  - ???            - Unknown


IY+0Dh - appflags       - Functions
===================================
Bit 0  - ???            - Unknown
Bit 1  - appTextSave    - 1 = Save Chars Written, To Textshadow  0 = Dont Save Them
Bit 2  - appAutoScroll  - 1 = Auto-Scroll Text When Written on Last Line  0 = Dont Scroll
Bit 3  - ???            - Unknown
Bit 4  - ???            - Unknown
Bit 5  - ???            - Unknown
Bit 6  - ???            - Unknown
Bit 7  - ???            - Unknown


IY Offsets 0Eh through 10h have yet to be Documented.


IY+11h - plotflag2      - Functions
===================================
Bit 0  - ???            - Unknown
Bit 1  - ???            - Unknown
Bit 2  - ???            - Unknown
Bit 3  - expr_param     - Unknown
Bit 4  - expr_writing   - Unknown
Bit 5  - Not Named      - 1 = Currently In The PRGM Menu  0 = Not in the PRGM Menu
Bit 6  - ???            - Unknown
Bit 7  - ???            - Unknown


IY+12h - indicflags     - Functions
===================================
Bit 0  - indicRun       - 1 = Run Indicator On  0 = Run Indicator Off
Bit 1  - ???            - ???  It is SET when in the Catalog though.
Bit 2  - indicOnly      - 1 = Interrupts will Only update Run Indicator and
                              Not flash the Cursor or do Auto-Power Down

IY+12h - shiftflags     - Functions
===================================
Bit 3  - shift2nd       - 1 = 2nd Key Shift Mode On  0 = Shift Mode Off
Bit 4  - shiftAlpha     - 1 = Alpha Key Mode On  0 = Alpha Mode Off
Bit 5  - ???            - Unknown
Bit 6  - shiftALock     - 1 = Alpha Lock Enabled  0 = No Alpha Lock Occuring
Bit 7  - ???            - Unknown


IY+13h - tblflags       - Functions
===================================
Bit 0  - ???            - Unknown
Bit 1  - ???            - Unknown
Bit 2  - ???            - Unknown
Bit 3  - ???            - Unknown
Bit 4  - AutoFill       - 0 = Define Indep Var in Table by TableSet  1 = Prompt for Independent Var
Bit 5  - AutoCalc       - 0 = Auto-Calc Results of Dependent Var in Table  1 = Prompt for Depend Var 
Bit 6  - ???            - Unknown
Bit 7  - ???            - Unknown


IY+14h - sgrflags       - Functions
===================================
Bit 0  - grfSplit       - 1 = Horizontal Graph Split Mode  0 = Not That Mode
Bit 1  - VertSplit      - 1 = Verticle Graph Split Mode  0 = Not That Mode
Bit 2  - ???            - Unknown
Bit 3  - ???            - Unknown
Bit 4  - Write_on_graph - 1 = Indicates Display Routines Write to Graphcreen  0 = ???
Bit 5  - ???            - Unknown
Bit 6  - ???            - Unknown
Bit 7  - textwrite      - 1 = Small Font Writes to Plotsscreen  0 = Writes Only to the Display


IY Offsets 15h through 17h have yet to be Documented.


IY+18h - Not Named      - Functions
===================================
Bit 0  - ???            - Unknown
Bit 1  - ???            - Unknown
Bit 2  - ???            - Unknown
Bit 3  - ???            - Unknown
Bit 4  - ???            - Unknown
Bit 5  - BattCheck      - 0 = Batteries are OK  1 = Batteries are LOW, need to be Replaced.
Bit 6  - ???            - Unknown
Bit 7  - ???            - Unknown


IY Offsets 19h through 20h have yet to be Documented.


IY+21h - ASM_FLAG1      - Functions
===================================
Bit 0  - asm_flag1_0    - Available For ASM Programming
Bit 1  - asm_flag1_1    - Available For ASM Programming
Bit 2  - asm_flag1_2    - Available For ASM Programming
Bit 3  - asm_flag1_3    - Available For ASM Programming
Bit 4  - asm_flag1_4    - Available For ASM Programming
Bit 5  - asm_flag1_5    - Available For ASM Programming
Bit 6  - asm_flag1_6    - Available For ASM Programming
Bit 7  - asm_flag1_7    - Available For ASM Programming


IY+22h - ASM_FLAG2      - Functions
===================================
Bit 0  - asm_flag2_0    - Available For ASM Programming
Bit 1  - asm_flag2_1    - Available For ASM Programming
Bit 2  - asm_flag2_2    - Available For ASM Programming
Bit 3  - asm_flag2_3    - Available For ASM Programming
Bit 4  - asm_flag2_4    - Available For ASM Programming
Bit 5  - asm_flag2_5    - Available For ASM Programming
Bit 6  - asm_flag2_6    - Available For ASM Programming
Bit 7  - asm_flag2_7    - Available For ASM Programming


IY+23h - ASM_FLAG3      - Functions
===================================
Bit 0  - asm_flag3_0    - Available For ASM Programming
Bit 1  - asm_flag3_1    - Available For ASM Programming
Bit 2  - asm_flag3_2    - Available For ASM Programming
Bit 3  - asm_flag3_3    - Available For ASM Programming
Bit 4  - asm_flag3_4    - Available For ASM Programming
Bit 5  - asm_flag3_5    - Available For ASM Programming
Bit 6  - asm_flag3_6    - Available For ASM Programming
Bit 7  - asm_flag3_7    - Available For ASM Programming


Credits For System Flag Discoveries
===================================

Jason Kovacs
  IY+08h, Bits 1 and 3
  IY+11h, Bit 5
Linus Akesson
  IY+18h, Bit 5


