<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://learn.cemetech.net/index.php?action=history&amp;feed=atom&amp;title=Z80%3ASystem_Flags</id>
	<title>Z80:System Flags - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://learn.cemetech.net/index.php?action=history&amp;feed=atom&amp;title=Z80%3ASystem_Flags"/>
	<link rel="alternate" type="text/html" href="http://learn.cemetech.net/index.php?title=Z80:System_Flags&amp;action=history"/>
	<updated>2026-06-04T01:46:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://learn.cemetech.net/index.php?title=Z80:System_Flags&amp;diff=340&amp;oldid=prev</id>
		<title>Maintenance script: Initial automated import</title>
		<link rel="alternate" type="text/html" href="http://learn.cemetech.net/index.php?title=Z80:System_Flags&amp;diff=340&amp;oldid=prev"/>
		<updated>2016-02-06T06:04:05Z</updated>

		<summary type="html">&lt;p&gt;Initial automated import&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The system flags are a special place in memory pointed to by the IY index register, which points to &amp;#039;&amp;#039;flags&amp;#039;&amp;#039;. They contain vital information that can be stored in 1 bit, so they have been compressed into 1 bit to save space. If you ever need to restore the IY register back before quiting, do this:&lt;br /&gt;
&lt;br /&gt;
    ld IY,flags&lt;br /&gt;
&lt;br /&gt;
To do something to the flags (set, reset, or bit), do this:&lt;br /&gt;
&lt;br /&gt;
    set trigDeg,(IY+trigFlags)                  ;trigDeg is now 1&lt;br /&gt;
    res trigDeg,(IY+trigFlags)                  ;trigDeg is now 0&lt;br /&gt;
    bit trigDeg,(IY+trigFlags)                  ;Tests trigDeg&lt;br /&gt;
&lt;br /&gt;
== Assembly Flags ==&lt;br /&gt;
&lt;br /&gt;
If you look at the bottom of the flags table, you&amp;#039;ll notice that there are 3 bytes for assembly flags. These are flags that are not used by the OS, and can be used by assembly programmers for their own purposes.&lt;br /&gt;
&lt;br /&gt;
    #define shoot asm_Flag1_0&lt;br /&gt;
    # define weaponFlags asm_Flag1&lt;br /&gt;
&lt;br /&gt;
= System Flags Breakdown =&lt;br /&gt;
&lt;br /&gt;
Here&amp;#039;s a breakdown of the system flags:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Flag Name !! IY Offset !! Equate Description !! Comments &lt;br /&gt;
|-&lt;br /&gt;
| trigDeg || trigFlags || 0 = radian angle mode || &lt;br /&gt;
|-&lt;br /&gt;
| || ||1 = degree angle mode || &lt;br /&gt;
|-&lt;br /&gt;
| plotLoc || plotFlags || 0 = write to display and buffer || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = write to display only || &lt;br /&gt;
|-&lt;br /&gt;
| plotDisp || plotFlags || 0 = graph screen not in display || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = graph in display || &lt;br /&gt;
|-&lt;br /&gt;
| grfFuncM || grfModeFlags || 0 = not function graph mode || Please note that the grfMode functions must have only 1 set and the rest reset; otherwise, the calculator will crash. &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = function graph mode || &lt;br /&gt;
|-&lt;br /&gt;
| grfPolarM || grfModeFlags || 0 = not polar graph mode || Please note that the grfMode functions must have only 1 set and the rest reset. &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = polar graph mode || &lt;br /&gt;
|-&lt;br /&gt;
| grfParamM || grfModeFlags || 0 = not parametric graph mode || Please note that the grfMode functions must have only 1 set and the rest reset. &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = parametric graph mode || &lt;br /&gt;
|-&lt;br /&gt;
| grfRecurM || graphFlags || 0 = not sequence graph mode || Please note that the grfMode functions must have only 1 set and the rest reset. &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = sequence graph mode || &lt;br /&gt;
|-&lt;br /&gt;
| graphDraw || grfDBFlags || 0 = graph is up to date || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = graph needs to be updated || &lt;br /&gt;
|-&lt;br /&gt;
| grfDot || grfDBFlags || 0 = graph connected draw mode || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = graph dot draw mode || &lt;br /&gt;
|-&lt;br /&gt;
| grfSimul || grfDBFlags || 0 = Draw functions one at a time || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = Draw all functions simultaneously || &lt;br /&gt;
|-&lt;br /&gt;
| grfGrid || grfDBFlags || 0 = graph mode grid off || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = graph mode grid on || &lt;br /&gt;
|-&lt;br /&gt;
| grfPolar || grfDBFlags|| 0 = Rectangular coordinates || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = Polar coordinates || &lt;br /&gt;
|-&lt;br /&gt;
| grfNoCoord || grfDBFlags || 0 = graph coordinates off || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = graph coordinates on || &lt;br /&gt;
|-&lt;br /&gt;
| grfNoAxis || grfDBFlags || 0 = graph draw axis || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = graph no axis || &lt;br /&gt;
|-&lt;br /&gt;
| grfLabel || grfDBFlags || 0 = graph labels off || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = graph labels on || &lt;br /&gt;
|-&lt;br /&gt;
| textEraseBelow || textFlags || 0 = Don&amp;#039;t erase line below || Only on small text &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = erase line below || &lt;br /&gt;
|-&lt;br /&gt;
| textInverse || textFlags || 0 = Regular text || Affects both small and large text &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = write in reverse video || &lt;br /&gt;
|-&lt;br /&gt;
| onInterrupt || onFlags || 0 =  No on-key interrupt || The on-key is interrupt driven but doesn&amp;#039;t stop execution. Flag is set by the interrupt handler when the on-key is pressed. &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = On-key interrupt encountered || &lt;br /&gt;
|-&lt;br /&gt;
| statsValid || statFlags || 0 = Stat results invalid || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = Stat results valid || &lt;br /&gt;
|-&lt;br /&gt;
| fmtExponent || cell-content || 0 = Normal Mode || Either fmtExponent, fmtEng, or neither is set. &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = scientific display mode || &lt;br /&gt;
|-&lt;br /&gt;
| fmtEng || fmtFlags || 0 = Normal Mode || Either fmtExponent, fmtEng, or neither is set. &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = engineering display mode || &lt;br /&gt;
|-&lt;br /&gt;
| fmtReal || fmtFlags || 0 = Not real math mode || Either fmtReal, fmtRect,or fmtPolar must be set &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = real math mode || &lt;br /&gt;
|-&lt;br /&gt;
| fmtRect || fmtFlags || 0 = Not rect complex math mode || Either fmtReal, fmtRect,or fmtPolar must be set &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = rect complex math mode || &lt;br /&gt;
|-&lt;br /&gt;
| fmtPolar || fmtFlags || 0 = not polar complex math mode || Either fmtReal, fmtRect,or fmtPolar must be set &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = polar complex math mode || &lt;br /&gt;
|-&lt;br /&gt;
| curAble || curFlags || 0 = Cursor flash disabled || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = Cursor flash enabled || &lt;br /&gt;
|-&lt;br /&gt;
| curOn || curFlags || 0 = Invisible cursor || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = cursor is showing || &lt;br /&gt;
|-&lt;br /&gt;
| curLock || curFlags || 0 = Cursor not locked || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = Cursor is locked off || &lt;br /&gt;
|-&lt;br /&gt;
| appTextSave || appFlags || 0 = Don&amp;#039;t write to textShadow || Places a copy of the character written to the display into the textShadow buffer. &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = Save characters written in textShadow || &lt;br /&gt;
|-&lt;br /&gt;
| appAutoScroll || appFlags || 0 = Don&amp;#039;t auto scroll || Scrolls text if on last line of large text &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = auto-scroll text on last line || &lt;br /&gt;
|-&lt;br /&gt;
| indicRun || indicFlags || 0 = run indicator off || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = run indicator on || &lt;br /&gt;
|-&lt;br /&gt;
| comFailed || getSendFlg || 0 = com did not fail || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = com failed || &lt;br /&gt;
|-&lt;br /&gt;
| apdRunning || apdFlags || 0 = APD off || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = APD on || &lt;br /&gt;
|-&lt;br /&gt;
| indicOnly || indicFlags || 0 = Run indicator not only priority || Sets the interrupt handler to update the run indicator, but not to process APD, blink the cursor, or scan for keys. It is useful when executing I/O link port operations for speed. &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = only update run indicator || &lt;br /&gt;
|-&lt;br /&gt;
| shift2nd || shiftFlags || 0 = second key not pressed || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = second key pressed || &lt;br /&gt;
|-&lt;br /&gt;
| shiftAlpha || shiftFlags || 0 = Normal mode || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = Alpha mode || &lt;br /&gt;
|-&lt;br /&gt;
| shifLwrAlpha || shiftFlags || 0 = not lowercase mode || Alpha mode also active if set &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = lower case mode || &lt;br /&gt;
|-&lt;br /&gt;
| shiftALock || shiftFlags || 0 = Not Alpha lock || Alpha mode also set &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = Alpha lock || &lt;br /&gt;
|-&lt;br /&gt;
| grfSplit || sGrFlags || 0 = Normal graph mode || Either grfSplit, vertSplit, or neither must be set &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = horizontal graph split mode || &lt;br /&gt;
|-&lt;br /&gt;
| vertSplit || sGrFlags || 0 = Normal graph mode || Either grfSplit, vertSplit, or neither must be set &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = vertical graph split mode || &lt;br /&gt;
|-&lt;br /&gt;
| textWrite || sGrFlags || 0 = small font writes to display || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = small font writes to buffer || &lt;br /&gt;
|-&lt;br /&gt;
| fullScrnDraw || apiFlag4 || 0 = Can&amp;#039;t use column 95 or row 0 || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = allows draws to use column 95 and row 0 || &lt;br /&gt;
|-&lt;br /&gt;
| bufferOnly || plotFlag3 || 0 = Draw to display and buffer || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = draw to graph buffer only || &lt;br /&gt;
|-&lt;br /&gt;
| fracDrawLFont || fontFlags || 0 = small font with UserPutMap || Affects small text routines &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = draw large font in UserPutMap || &lt;br /&gt;
|-&lt;br /&gt;
| customFont || fontFlags || 0 = Standard OS fonts || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = draw custom characters || &lt;br /&gt;
|-&lt;br /&gt;
| lwrCaseActive || appLwrCaseFlag || 0 = Lowercase disabled for GetKey || &lt;br /&gt;
|-&lt;br /&gt;
| || || 1 = enable lower case in GetKey loop || &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag1_0 || asm_Flag1 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag1_1 || asm_Flag1 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag1_2 || asm_Flag1 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag1_3 || asm_Flag1 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag1_4 || asm_Flag1 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag1_5 || asm_Flag1 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag1_6 || asm_Flag1 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag1_7 || asm_Flag1 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag2_0 || asm_Flag2 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag2_1 || asm_Flag2 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag2_2 || asm_Flag2 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag2_3 || asm_Flag2 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag2_4 || asm_Flag2 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag2_5 || asm_Flag2 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag2_6 || asm_Flag2 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag2_7 || asm_Flag2 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag3_0 || asm_Flag3 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag3_1 || asm_Flag3 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag3_2 || asm_Flag3 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag3_3 || asm_Flag3 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag3_4 || asm_Flag3 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag3_5 || asm_Flag3 || Your choice || Not used by the OS. &lt;br /&gt;
|-&lt;br /&gt;
| asm_Flag3_6 || asm_Flag3 || Your choice || Not used by the OS. &lt;br /&gt;
|}|&lt;br /&gt;
&lt;br /&gt;
{{lowercase}}&lt;br /&gt;
[[Category:Z80 Assembly]]&lt;br /&gt;
[[Category:Z80 Heaven]]&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>