# Difference between revisions of "Z80:GetKey Codes"

(Initial automated import) |
KermMartian (talk | contribs) m |
||

Line 62: | Line 62: | ||

| ['''['''] || kLBrack || $87 !! || [''']'''] || kRBrack || $88 !! || [EE] || kEE || $98 | | ['''['''] || kLBrack || $87 !! || [''']'''] || kRBrack || $88 !! || [EE] || kEE || $98 | ||

|- | |- | ||

− | | [ | + | | [π] ] || kPi || $B5 !! || [SIN^^-1^^] || kASin || $B8 !! || [COS^^-1^^] || kACos || $BA |

|- | |- | ||

| [TAN^^-1^^] || kATan || $BC !! || [√] || kSqrt || $BE !! || [e^^x^^] || kExp || $C0 | | [TAN^^-1^^] || kATan || $BC !! || [√] || kSqrt || $BE !! || [e^^x^^] || kExp || $C0 |

## Latest revision as of 04:28, 6 February 2016

## Contents

# GetKey Key Codes

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.

The table of key code values is stored at **(KeyExtend)**.

**kExtendEcho2 ($FC)** holds the last key code returned from GetKey, which is also stored into the accumulator after calling GetKey.

## Regular Key Codes

Key | Code | Equate | Key | Code | Equate | Key | Code | Equate | ||
---|---|---|---|---|---|---|---|---|---|---|

> | kRight | $01 !! | < | kLeft | $02 !! | Λ | kUp | $03 | ||

V | kDown | $04 !! | [ENTER] | kEnter | $05 !! | [CLEAR] | kClear | $09 | ||

[ZOOM] | kZoom | $2E !! | [STAT] | kStat | $31 !! | [MATH] | kMath | $32 | ||

[VARS] | kVars | $35 !! | [GRAPH] | kGraph | $44 !! | [MODE] | kMode | $45 | ||

[WINDOW] | kWindow | $48 !! | [Y=] | kYEqu | $49 !! | [TRACE] | kTrace | $5A | ||

[+] | kAdd | $80 !! | [-] | kSub | $81 !! | [*] | kMul | $82 | ||

[÷] | kDiv | $83 !! | [(] | kLParen | $85 !! | [)] | kRParen | $86 | ||

[STO=>] | kSto | $8A !! | [,] | kComma | $8B !! | [(-)] | kChs | $8C | ||

[.] | kDecPnt | $8D !! | [0] | k0 | $8E !! | [1] | k1 | $8F | ||

[2] | k2 | $90 !! | [3] | k3 | $91 !! | [4] | k4 | $92 | ||

[5] | k5 | $93 !! | [6] | k6 | $94 !! | [7] | k5 | $95 | ||

[8] | k8 | $96 !! | [9] | k9 | $97 !! | [X,T,θ,n] | kVarX | $B4 | ||

[SIN] | kSin | $B7 !! | [COS] | kCos | $B9 !! | [TAN] | kTan | $BB | ||

[X^^2^^] | kSquare | $BD !! | [LN] | kLn | $BF !! | [LOG] | kLog | $C1 |

## Secondary Function Key Codes

Key | Code | Equate | Key | Code | Equate | Key | Code | Equate | ||
---|---|---|---|---|---|---|---|---|---|---|

[INS] | kIns | $0B !! | [RCL] | kRecall | $0C !! | [ENTRY] | kLastEnt | $0D | ||

[2nd] + < | kBOL | $0E !! | [2nd] + > | kEOL | $0F !! | [DRAW] | kDraw | $2F | ||

[TEST] | kTest | $33 !! | [MEM] | kMem | $36 !! | [MATRIX] | kMatrix | $37 | ||

[DISTR] | kDist | $38 !! | [ANGLE] | kAngle | $39 !! | [LIST] | kList | $3A | ||

[CALC] | kCalc | $3B !! | [CATALOG] | kCatalog | $3E !! | [OFF] | kOff | $3F | ||

[QUIT] | kQuit | $40 !! | [LINK] | kLinkIO | $41 !! | [STAT PLOT] | kStatEd | $43 | ||

[TABLE] | kTable | $4A !! | [TBLSET] | kTblSet | $4B !! | [FORMAT] | kFormat | $57 | ||

[[] |
kLBrack | $87 !! | []] |
kRBrack | $88 !! | [EE] | kEE | $98 | ||

[π] ] | kPi | $B5 !! | [SIN^^-1^^] | kASin | $B8 !! | [COS^^-1^^] | kACos | $BA | ||

[TAN^^-1^^] | kATan | $BC !! | [√] | kSqrt | $BE !! | [e^^x^^] | kExp | $C0 | ||

[10^^x^^] | kALog | $C2 !! | [Ans] | kAns | $C5 !! !! !! !! |

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.

Key | Code | Equate | Key | Code | Equate | Key | Code | Equate | ||
---|---|---|---|---|---|---|---|---|---|---|

[{] | kLBrace | $EC !! | [}] | kRBrace | $ED !! | [i] |
kI | $EE | ||

[e] |
kCONSTeA | $EF !! | [L1] | kL1A | $F3 !! | [L2] | kL2A | $F4 | ||

[L3] | kL3A | $F5 !! | [L4] | kL4A | $F6 !! | [L5] | kL5A | $F7 | ||

[L6] | kL6A | $F8 !! | [u] | kUnA | $F9 !! | [v] | kVnA | $FA | ||

[w] | kWnA | FB !! !! !! !! !! !! !! !! |

## Alpha Key Codes

Key | Code | Equate | Key | Code | Equate | Key | $Code | Equate | ||
---|---|---|---|---|---|---|---|---|---|---|

[SOLVE] | kAlphaEnter | $06 !! | Page Up | kAlphaUp | $07 !! | Page Down | kAlphaDown | $08 (1) | ||

[_] | kSpace | $99 !! | [A] | kCapA | $9A !! | [B] | kCapB | $9B | ||

[C] | kCapC | $9C !! | [D] | kCapD | $9D !! | [E] | kCapE | $9E | ||

[F] | kCapF | $9F !! | [G] | kCapG | $A0 !! | [H] | kCapH | $A1 | ||

[I] | kCapI | $A2 !! | [J] | kCapJ | $A3 !! | [K] | kCapK | $A4 | ||

[L] | kCapL | $A5 !! | [M] | kCapM | $A6 !! | [N] | kCapN | $A7 | ||

[O] | kCapO | $A8 !! | [P] | kCapP | $A9 !! | [Q] | kCapQ | $AA | ||

[R] | kCapR | $AB !! | [S] | kCapS | $AC !! | [T] | kCapT | $AD | ||

[U] | kCapU | $AE !! | [V] | kCapV | $AF !! | [W] | kCapW | $B0 | ||

[X] | kCapX | $B1 !! | [Y] | kCapY | $B2 !! | [Z] | kCapZ | $B3 | ||

[:] | kColon | $C6 !! | [?] | kQuest | $CA !! | ["] | kQuote | $CB | ||

[θ] | kTheta | $CC !! !! !! !! !! !! !! !! |

## Alpha-Lower Key Codes

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.

SET LwrCaseActive,(IY+AppLwrCaseFlag)

Key | Code | Equate | Key | Code | Equate | Key | Code | Equate | ||
---|---|---|---|---|---|---|---|---|---|---|

[a] | kLa | $E2 !! | [b] | kLb | $E3 !! | [c] | kLc | $E4 | ||

[d] | kLd | $E5 !! | [e] | kLe | $E6 !! | [f] | kLf | $E7 | ||

[g] | kLg | $E8 !! | [h] | kLh | $E9 !! | [i] | kLi | $EA | ||

[j] | kLj | $EB !! | [k] | kLk | $EC !! | [l] | kLl | $ED | ||

[m] | kLm | $EE !! | [n] | kLSmalln | $EF !! | [o] | kLo | $F0 | ||

[p] | kLp | $F1 !! | [q] | kLq | $F2 !! | [r] | kLSmallr | $F3 | ||

[s] | kLs | $F4 !! | [t] | kLt | $F5 !! | [u] | kLu | $F6 | ||

[v] | kLv | $F7 !! | [w] | kLw | $F8 !! | [x] | kLx | $F9 | ||

[y] | kLy | $FA !! | [z] | kLz | $FB !! !! !! !! |

Information taken from Sigma's Learn ASM in 28 days, [*http://dragonfire.unitedti.org/asmin28/ref/keycodes.html Key Codes]