<?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%3AGetKey_Codes</id>
	<title>Z80:GetKey Codes - 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%3AGetKey_Codes"/>
	<link rel="alternate" type="text/html" href="http://learn.cemetech.net/index.php?title=Z80:GetKey_Codes&amp;action=history"/>
	<updated>2026-05-28T16:24:56Z</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:GetKey_Codes&amp;diff=419&amp;oldid=prev</id>
		<title>KermMartian at 08:28, 6 February 2016</title>
		<link rel="alternate" type="text/html" href="http://learn.cemetech.net/index.php?title=Z80:GetKey_Codes&amp;diff=419&amp;oldid=prev"/>
		<updated>2016-02-06T08:28:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:28, 6 February 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l62&quot;&gt;Line 62:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 62:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [&amp;#039;&amp;#039;&amp;#039;[&amp;#039;&amp;#039;&amp;#039;] || kLBrack || $87 !! || [&amp;#039;&amp;#039;&amp;#039;]&amp;#039;&amp;#039;&amp;#039;] || kRBrack || $88 !! || [EE] || kEE || $98  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [&amp;#039;&amp;#039;&amp;#039;[&amp;#039;&amp;#039;&amp;#039;] || kLBrack || $87 !! || [&amp;#039;&amp;#039;&amp;#039;]&amp;#039;&amp;#039;&amp;#039;] || kRBrack || $88 !! || [EE] || kEE || $98  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [ &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Z80:File: http://images.planetmath.org:8080/cache/objects/432/l2h/img1.png|8080/cache/objects/432/l2h/img1.png]&lt;/del&gt;] ] || kPi || $B5 !! || [SIN^^-1^^] || kASin || $B8 !! || [COS^^-1^^] || kACos || $BA  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;π&lt;/ins&gt;] ] || kPi || $B5 !! || [SIN^^-1^^] || kASin || $B8 !! || [COS^^-1^^] || kACos || $BA  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [TAN^^-1^^] || kATan || $BC !! || [√] || kSqrt || $BE !! || [e^^x^^] || kExp || $C0  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| [TAN^^-1^^] || kATan || $BC !! || [√] || kSqrt || $BE !! || [e^^x^^] || kExp || $C0  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>KermMartian</name></author>
	</entry>
	<entry>
		<id>http://learn.cemetech.net/index.php?title=Z80:GetKey_Codes&amp;diff=356&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:GetKey_Codes&amp;diff=356&amp;oldid=prev"/>
		<updated>2016-02-06T07:21:10Z</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;= GetKey Key Codes =&lt;br /&gt;
&lt;br /&gt;
Key Codes returned from the GetKey ROM Call. Note that GetKey accepts inputs from Secondary functions (2nd), Alpha functions (ALPHA), and Alpha-Lower functions (ALPHA-ALPHA) keys.&lt;br /&gt;
&lt;br /&gt;
The table of key code values is stored at &amp;#039;&amp;#039;&amp;#039;(KeyExtend)&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;kExtendEcho2 ($FC)&amp;#039;&amp;#039;&amp;#039; holds the last key code returned from GetKey, which is also stored into the accumulator after calling GetKey.&lt;br /&gt;
&lt;br /&gt;
== Regular Key Codes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Code !! Equate !! !! Key !!  Code !! Equate !! !! Key !! Code !! Equate &lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt; || kRight || $01 !! || &amp;lt; || kLeft || $02 !! || Λ || kUp  || $03 &lt;br /&gt;
|-&lt;br /&gt;
| V || kDown || $04 !! || [ENTER] || kEnter || $05 !! || [CLEAR] || kClear || $09 &lt;br /&gt;
|-&lt;br /&gt;
| [ZOOM] || kZoom || $2E !! || [STAT] || kStat || $31 !! || [MATH] || kMath || $32 &lt;br /&gt;
|-&lt;br /&gt;
| [VARS] || kVars || $35 !! || [GRAPH] || kGraph || $44 !! || [MODE] || kMode || $45 &lt;br /&gt;
|-&lt;br /&gt;
| [WINDOW] || kWindow || $48 !! || [Y=] || kYEqu || $49 !! || [TRACE] || kTrace || $5A &lt;br /&gt;
|-&lt;br /&gt;
| [+] || kAdd || $80 !! || [-] || kSub || $81 !! || [*] || kMul || $82 &lt;br /&gt;
|-&lt;br /&gt;
| [÷] || kDiv || $83 !! || [(] || kLParen || $85 !! || [)] || kRParen || $86 &lt;br /&gt;
|-&lt;br /&gt;
| [STO=&amp;gt;] || kSto || $8A !! || [,] || kComma || $8B !! || [(-)] || kChs || $8C &lt;br /&gt;
|-&lt;br /&gt;
| [.] || kDecPnt || $8D !! || [0] || k0 || $8E !! || [1] || k1 || $8F &lt;br /&gt;
|-&lt;br /&gt;
| [2] || k2 || $90 !! || [3] || k3 || $91 !! || [4] || k4 || $92 &lt;br /&gt;
|-&lt;br /&gt;
| [5] || k5 || $93 !! || [6] || k6 || $94 !! || [7] || k5 || $95 &lt;br /&gt;
|-&lt;br /&gt;
| [8] || k8 || $96 !! || [9] || k9 || $97 !! || [X,T,θ,n] || kVarX || $B4 &lt;br /&gt;
|-&lt;br /&gt;
| [SIN] || kSin || $B7 !! || [COS] || kCos || $B9 !! || [TAN] || kTan || $BB &lt;br /&gt;
|-&lt;br /&gt;
| [X^^2^^] || kSquare || $BD !! || [LN] || kLn || $BF !! || [LOG] || kLog || $C1 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Secondary Function Key Codes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Code !! Equate !! !! Key !!  Code !! Equate !! !! Key !! Code !! Equate &lt;br /&gt;
|-&lt;br /&gt;
| [INS] || kIns || $0B !! || [RCL] || kRecall || $0C !! || [ENTRY] || kLastEnt || $0D &lt;br /&gt;
|-&lt;br /&gt;
| [2nd] + &amp;lt; || kBOL || $0E !! || [2nd] + &amp;gt; || kEOL || $0F !! || [DRAW] || kDraw || $2F &lt;br /&gt;
|-&lt;br /&gt;
| [TEST] || kTest || $33 !! || [MEM] || kMem || $36 !! || [MATRIX] || kMatrix || $37 &lt;br /&gt;
|-&lt;br /&gt;
| [DISTR] || kDist || $38 !! || [ANGLE] || kAngle || $39 !! || [LIST] || kList || $3A &lt;br /&gt;
|-&lt;br /&gt;
| [CALC] || kCalc || $3B !! || [CATALOG] || kCatalog || $3E !! || [OFF] || kOff || $3F  &lt;br /&gt;
|-&lt;br /&gt;
| [QUIT] || kQuit || $40 !! || [LINK] || kLinkIO || $41 !! || [STAT PLOT] || kStatEd || $43 &lt;br /&gt;
|-&lt;br /&gt;
| [TABLE] || kTable || $4A !! || [TBLSET] || kTblSet || $4B !! || [FORMAT] || kFormat || $57 &lt;br /&gt;
|-&lt;br /&gt;
| [&amp;#039;&amp;#039;&amp;#039;[&amp;#039;&amp;#039;&amp;#039;] || kLBrack || $87 !! || [&amp;#039;&amp;#039;&amp;#039;]&amp;#039;&amp;#039;&amp;#039;] || kRBrack || $88 !! || [EE] || kEE || $98 &lt;br /&gt;
|-&lt;br /&gt;
| [ [[Z80:File: http://images.planetmath.org:8080/cache/objects/432/l2h/img1.png|8080/cache/objects/432/l2h/img1.png]] ] || kPi || $B5 !! || [SIN^^-1^^] || kASin || $B8 !! || [COS^^-1^^] || kACos || $BA &lt;br /&gt;
|-&lt;br /&gt;
| [TAN^^-1^^] || kATan || $BC !! || [√] || kSqrt || $BE !! || [e^^x^^] || kExp || $C0 &lt;br /&gt;
|-&lt;br /&gt;
| [10^^x^^] || kALog || $C2 !! || [Ans] || kAns || $C5 !! !! !! !! &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
These are also Secondary function key codes, but note that they overlap with the Alpha-Lower keys. It is important to check the LwrCaseActive flag to make sure that the key press is indeed a secondary function key instead of a lower case key.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Code !! Equate !! !! Key !!  Code !! Equate !! !! Key !! Code !! Equate &lt;br /&gt;
|-&lt;br /&gt;
| [{] || kLBrace || $EC !! || [}] || kRBrace || $ED !! || [&amp;#039;&amp;#039;i&amp;#039;&amp;#039;] || kI || $EE &lt;br /&gt;
|-&lt;br /&gt;
| [&amp;#039;&amp;#039;e&amp;#039;&amp;#039;] || kCONSTeA || $EF !! || [L1] || kL1A || $F3 !! || [L2] || kL2A || $F4 &lt;br /&gt;
|-&lt;br /&gt;
| [L3] || kL3A || $F5 !! || [L4] || kL4A || $F6 !! || [L5] || kL5A || $F7 &lt;br /&gt;
|-&lt;br /&gt;
| [L6] || kL6A || $F8 !! || [u] || kUnA || $F9 !! || [v] || kVnA || $FA &lt;br /&gt;
|-&lt;br /&gt;
| [w] || kWnA || FB !! !! !! !! !! !! !! !! &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alpha Key Codes ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Code !! Equate !! !! Key !!  Code !! Equate !! !! Key !! $Code !! Equate &lt;br /&gt;
|-&lt;br /&gt;
| [SOLVE] || kAlphaEnter || $06  !! || Page Up || kAlphaUp || $07  !! || Page Down || kAlphaDown || $08 (1) &lt;br /&gt;
|-&lt;br /&gt;
| [_] || kSpace || $99 !! || [A] || kCapA || $9A !! || [B] || kCapB || $9B &lt;br /&gt;
|-&lt;br /&gt;
| [C] || kCapC || $9C !! || [D] || kCapD || $9D !! || [E] || kCapE || $9E &lt;br /&gt;
|-&lt;br /&gt;
| [F] || kCapF || $9F !! || [G] || kCapG || $A0 !! || [H] || kCapH || $A1 &lt;br /&gt;
|-&lt;br /&gt;
| [I] || kCapI || $A2 !! || [J] || kCapJ || $A3 !! || [K] || kCapK || $A4 &lt;br /&gt;
|-&lt;br /&gt;
| [L] || kCapL || $A5 !! || [M] || kCapM || $A6 !! || [N] || kCapN || $A7 &lt;br /&gt;
|-&lt;br /&gt;
| [O] || kCapO || $A8 !! || [P] || kCapP || $A9 !! || [Q] || kCapQ || $AA &lt;br /&gt;
|-&lt;br /&gt;
| [R] || kCapR || $AB !! || [S] || kCapS || $AC !! || [T] || kCapT || $AD &lt;br /&gt;
|-&lt;br /&gt;
| [U] || kCapU || $AE !! || [V] || kCapV || $AF !! || [W] || kCapW || $B0 &lt;br /&gt;
|-&lt;br /&gt;
| [X] || kCapX || $B1 !! || [Y] || kCapY || $B2 !! || [Z] || kCapZ || $B3 &lt;br /&gt;
|-&lt;br /&gt;
| [:] || kColon || $C6 !! || [?] || kQuest || $CA !! || [&amp;quot;] || kQuote || $CB &lt;br /&gt;
|-&lt;br /&gt;
| [θ] || kTheta || $CC !! !! !! !! !! !! !! !! &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alpha-Lower Key Codes ==&lt;br /&gt;
&lt;br /&gt;
To Enable Alpha-Lower you need to set the LwrCaseActive Flag. Note that these values do overlap with some of the secondary function key values so you will need to test LwrCaseActive to make sure it is really Alpha-Lower instead of a secondary function key.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    SET LwrCaseActive,(IY+AppLwrCaseFlag)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Code !! Equate !! !! Key !!  Code !! Equate !! !! Key !! Code !! Equate &lt;br /&gt;
|-&lt;br /&gt;
| [a] || kLa || $E2 !! || [b] || kLb || $E3 !! || [c] || kLc || $E4 &lt;br /&gt;
|-&lt;br /&gt;
| [d] || kLd || $E5 !! || [e] || kLe || $E6 !! || [f] || kLf || $E7 &lt;br /&gt;
|-&lt;br /&gt;
| [g] || kLg || $E8 !! || [h] || kLh || $E9 !! || [i] || kLi || $EA &lt;br /&gt;
|-&lt;br /&gt;
| [j] || kLj || $EB !! || [k] || kLk || $EC !! || [l] || kLl || $ED &lt;br /&gt;
|-&lt;br /&gt;
| [m] || kLm|| $EE !! || [n] || kLSmalln || $EF !! || [o] || kLo || $F0 &lt;br /&gt;
|-&lt;br /&gt;
| [p] || kLp || $F1 !! || [q] || kLq || $F2 !! || [r] || kLSmallr || $F3 &lt;br /&gt;
|-&lt;br /&gt;
| [s] || kLs || $F4 !! || [t] || kLt || $F5 !! || [u] || kLu || $F6 &lt;br /&gt;
|-&lt;br /&gt;
| [v] || kLv || $F7 !! || [w] || kLw || $F8 !! || [x] || kLx || $F9 &lt;br /&gt;
|-&lt;br /&gt;
| [y] || kLy || $FA !! || [z] || kLz || $FB !! !! !! !! &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
----------&lt;br /&gt;
&lt;br /&gt;
Information taken from Sigma&amp;#039;s Learn ASM in 28 days, [*http://dragonfire.unitedti.org/asmin28/ref/keycodes.html Key Codes]&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>