]> git.sur5r.net Git - cc65/blob - asminc/atari_pokey.inc
Support for self explanatory KBCODE values
[cc65] / asminc / atari_pokey.inc
1 ;-------------------------------------------------------------------------
2 ; POKEY Address Equates
3 ;-------------------------------------------------------------------------
4
5 ; Read Addresses
6
7 POT0    = POKEY + $00         ;potentiometer 0
8 POT1    = POKEY + $01         ;potentiometer 1
9 POT2    = POKEY + $02         ;potentiometer 2
10 POT3    = POKEY + $03         ;potentiometer 3
11 POT4    = POKEY + $04         ;potentiometer 4
12 POT5    = POKEY + $05         ;potentiometer 5
13 POT6    = POKEY + $06         ;potentiometer 6
14 POT7    = POKEY + $07         ;potentiometer 7
15
16 ALLPOT  = POKEY + $08         ;potentiometer port status
17 KBCODE  = POKEY + $09         ;keyboard code
18 RANDOM  = POKEY + $0A         ;random number generator
19 SERIN   = POKEY + $0D         ;serial port input
20 IRQST   = POKEY + $0E         ;IRQ interrupt status
21 SKSTAT  = POKEY + $0F         ;serial port and keyboard status
22
23 ; Write Addresses
24
25 AUDF1   = POKEY + $00         ;channel 1 audio frequency
26 AUDC1   = POKEY + $01         ;channel 1 audio control
27
28 AUDF2   = POKEY + $02         ;channel 2 audio frequency
29 AUDC2   = POKEY + $03         ;channel 2 audio control
30
31 AUDF3   = POKEY + $04         ;channel 3 audio frequency
32 AUDC3   = POKEY + $05         ;channel 3 audio control
33
34 AUDF4   = POKEY + $06         ;channel 4 audio frequency
35 AUDC4   = POKEY + $07         ;channel 4 audio control
36
37 AUDCTL  = POKEY + $08         ;audio control
38 STIMER  = POKEY + $09         ;start timers
39 SKRES   = POKEY + $0A         ;reset SKSTAT status
40 POTGO   = POKEY + $0B         ;start potentiometer scan sequence
41 SEROUT  = POKEY + $0D         ;serial port output
42 IRQEN   = POKEY + $0E         ;IRQ interrupt enable
43 SKCTL   = POKEY + $0F         ;serial port and keyboard control
44
45
46 ; KBCODE Values
47
48 KEY_NONE    = $FF
49
50 KEY_0       = $32
51 KEY_1       = $1F
52 KEY_2       = $1E
53 KEY_3       = $1A
54 KEY_4       = $18
55 KEY_5       = $1D
56 KEY_6       = $1B
57 KEY_7       = $33
58 KEY_8       = $35
59 KEY_9       = $30
60
61 KEY_A       = $3F
62 KEY_B       = $15
63 KEY_C       = $12
64 KEY_D       = $3A
65 KEY_E       = $2A
66 KEY_F       = $38
67 KEY_G       = $3D
68 KEY_H       = $39
69 KEY_I       = $0D
70 KEY_J       = $01
71 KEY_K       = $05
72 KEY_L       = $00
73 KEY_M       = $25
74 KEY_N       = $23
75 KEY_O       = $08
76 KEY_P       = $0A
77 KEY_Q       = $2F
78 KEY_R       = $28
79 KEY_S       = $3E
80 KEY_T       = $2D
81 KEY_U       = $0B
82 KEY_V       = $10
83 KEY_W       = $2E
84 KEY_X       = $16
85 KEY_Y       = $2B
86 KEY_Z       = $17
87
88 KEY_COMMA       = $20
89 KEY_PERIOD      = $22
90 KEY_SLASH       = $26
91 KEY_SEMICOLON   = $02
92 KEY_PLUS        = $06
93 KEY_ASTERISK    = $07
94 KEY_DASH        = $0E
95 KEY_EQUALS      = $0F
96 KEY_LESSTHAN    = $36
97 KEY_GREATERTHAN = $37
98
99 KEY_ESC     = $1C
100 KEY_TAB     = $2C
101 KEY_SPACE   = $21
102 KEY_RETURN  = $0C
103 KEY_DELETE  = $34
104 KEY_CAPS    = $3C
105 KEY_INVERSE = $27
106 KEY_HELP    = $11
107
108 KEY_F1      = $03
109 KEY_F2      = $04
110 KEY_F3      = $13
111 KEY_F4      = $14
112
113 KEY_SHIFT   = $40
114 KEY_CTRL    = $80
115
116 ; Composed keys
117
118 KEY_EXCLAMATIONMARK = KEY_1 | KEY_SHIFT
119 KEY_QUOTE           = KEY_2 | KEY_SHIFT
120 KEY_HASH            = KEY_3 | KEY_SHIFT
121 KEY_DOLLAR          = KEY_4 | KEY_SHIFT
122 KEY_PERCENT         = KEY_5 | KEY_SHIFT
123 KEY_AMPERSAND       = KEY_6 | KEY_SHIFT
124 KEY_APOSTROPHE      = KEY_7 | KEY_SHIFT
125 KEY_AT              = KEY_8 | KEY_SHIFT
126 KEY_OPENINGPARAN    = KEY_9 | KEY_SHIFT
127 KEY_CLOSINGPARAN    = KEY_0 | KEY_SHIFT
128 KEY_UNDERLINE       = KEY_DASH | KEY_SHIFT
129 KEY_BAR             = KEY_EQUALS | KEY_SHIFT
130 KEY_COLON           = KEY_SEMICOLON | KEY_SHIFT
131 KEY_BACKSLASH       = KEY_PLUS | KEY_SHIFT
132 KEY_CIRCUMFLEX      = KEY_ASTERISK | KEY_SHIFT
133 KEY_OPENINGBRACKET  = KEY_COMMA | KEY_SHIFT
134 KEY_CLOSINGBRACKET  = KEY_PERIOD | KEY_SHIFT
135 KEY_QUESTIONMARK    = KEY_SLASH | KEY_SHIFT
136 KEY_CLEAR           = KEY_LESSTHAN | KEY_SHIFT
137 KEY_INSERT          = KEY_GREATERTHAN | KEY_SHIFT
138
139 KEY_UP              = KEY_UNDERLINE | KEY_CTRL
140 KEY_DOWN            = KEY_EQUALS | KEY_CTRL
141 KEY_LEFT            = KEY_PLUS | KEY_CTRL
142 KEY_RIGHT           = KEY_ASTERISK | KEY_CTRL