Memory-mapped I/O ports

From Hackspire
Revision as of 19:54, 13 January 2010 by ExtendeD (talk | contribs) (TI-84+ keypad map)
Jump to navigation Jump to search

0x900E0010-0x900E001F - Keypad

(Read?)-Write, half-word (only?)

Keypad map. Each bit represents a key. If bit is cleared, the key is being pressed. Only bit 0 to 11 are used. The mapping depends on the currently used keypad (TI-Nspire or TI-84+).

TI-Nspire keypad map:

offset bit 0 bit 1 bit 2 bit 3 bit 4 bit 5 bit 6 bit 7 bit 8 bit 9 bit 10 bit 11
0010 ret enter space (-) Z . Y 0 X --- theta on
0012 , + W 3 V 2 U 1 T e^x pi click
0014 ? - S 6 R 5 Q 4 P 10^x EE ---
0016 : * O 9 N 8 M 7 L x^2 i ---
0018 " / K tan J cos I sin H ^ > ---
001A ' cat G ) F ( E var D caps < ---
001C flag --- C home B menu A esc | tab = ---
001E up --- right --- down --- left --- clear ctrl = ---


TI-84+ keypad map:

offset bit 0 bit 1 bit 2 bit 3 bit 4 bit 5 bit 6 bit 7 bit 8 bit 9 bit 10
down left right up --- --- --- --- --- --- --- on
enter + - * / ^ clear --- --- --- --- ---
(-) 3 6 9 ) tan vars --- --- --- --- ---
. 2 5 8 ( cos prgm stat --- --- --- ---
0 1 4 7 , sin apps X --- --- --- ---
--- sto ln log x^2 x^-1 math alpha --- --- --- ---
graph trace zoom wind y= 2nd mode del --- --- --- ---
--- --- --- --- --- --- --- --- --- --- --- ---

A4000100-A40096FF - Screen

Read-write, byte, half-word, word

Screen buffer. The upper left corner is the first byte. Each grayscaled pixel is 4-bit long. 1111 is white, 0000 is black.