Rev 290 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
290 | ddp | 1 | ; |
2 | ; |
||
261 | ddp | 3 | ; 0 4 |
4 | ; 5 1 |
||
5 | ; ���������������������������������������������Ŀ |
||
6 | ; � � |
||
7 | ; � e 1 2 3 4 5 6 7 8 9 0 1 2 p s p . . . �07 |
||
8 | ; � � |
||
9 | ; � ` 1 2 3 4 5 6 7 8 9 0 - = < i h u n / * - � |
||
10 | ; � t Q W E R T Y U I O P [ ] \ d e d 7 8 9 � |
||
11 | ; � c A S D F G H J K L ; ' e 4 5 6 + � |
||
12 | ; � s Z X C V B N M , . / s 1 2 3 � |
||
13 | ; � c w a s a w m c < > 0 . e � |
||
14 | ; � � |
||
15 | ; ���������������������������������������������ij |
||
16 | ; � Raw data: �16 |
||
17 | ; � 00 00 00 00 00 00 00 00 00 00 00 00 00 00 �17 |
||
18 | ; � � |
||
19 | ; � �����⭮� ����⨥ <ESC> - ��室 �� ��� �19 |
||
20 | ; ����������������������������������������������� |
||
21 | ; |
||
22 | ; |
||
23 | ;-------------------------------------- |
||
24 | ; |
||
25 | .EQU TPSK_PTR =0 |
||
26 | .EQU TPSK_TEMP =1 |
||
27 | .EQU TPSK_COUNT =2 |
||
28 | .EQU TPSK_FLAGS =3 |
||
29 | .EQU TPSK_LEDS =4 |
||
30 | ; |
||
31 | ;-------------------------------------- |
||
32 | ; |
||
33 | ;TESTPS2KEYB_NOEXIT: |
||
34 | ; GETMEM 5 |
||
35 | ; STH TPSK_FLAGS,FF |
||
36 | ; |
||
37 | ; LDIZ WIND_T_PS2K*2 |
||
38 | ; CALL WINDOW |
||
39 | ; RJMP T_PSK00 |
||
40 | ; |
||
41 | ; - - - - - - - - - - - - - - - - - - - |
||
42 | ; |
||
43 | TESTPS2KEYB: |
||
44 | GETMEM 5 |
||
45 | STH TPSK_FLAGS,NULL |
||
46 | |||
47 | LDIZ WIND_T_PS2K*2 |
||
48 | CALL WINDOW |
||
49 | LDIZ MLMSG_TPS2K_0*2 |
||
50 | RCALL SCR_PRINTMLSTR |
||
51 | T_PSK00:LDI TEMP,$80 |
||
52 | STH TPSK_LEDS,TEMP |
||
53 | |||
54 | LDIZ MSG_TPS2K_1*2 |
||
55 | RCALL SCR_PRINTSTRZ |
||
56 | LDI DATA,$C4 ;"�" |
||
57 | LDI COUNT,45 |
||
58 | RCALL SCR_FILL_CHAR |
||
59 | |||
60 | LDIZ MEGABUFFER+16 |
||
61 | T_PSK01:ST -Z,NULL |
||
62 | TST ZL |
||
63 | BRNE T_PSK01 |
||
64 | STS PS2K_RAW_READY,NULL |
||
65 | STH TPSK_PTR,NULL |
||
66 | |||
67 | T_PSK10: |
||
68 | LDS DATA,PS2K_RAW_READY |
||
69 | TST DATA |
||
70 | BREQ T_PSK11 |
||
71 | LDS DATA,PS2K_RAW_CODE |
||
72 | RCALL T_PSK80 |
||
73 | T_PSK11: |
||
74 | LDH DATA,TPSK_LEDS |
||
75 | SBRS DATA,7 |
||
76 | RJMP T_PSK1L |
||
77 | ANDI DATA,$07 |
||
78 | STH TPSK_LEDS,DATA |
||
79 | LDI DATA,$ED |
||
80 | RCALL T_PSK80 |
||
81 | RCALL PS2K_SEND_BYTE |
||
82 | BREQ T_PSK1_SETLED_FAIL |
||
83 | RCALL PS2K_RECEIVE_BYTE |
||
84 | BREQ T_PSK1_SETLED_FAIL |
||
85 | RCALL T_PSK80 |
||
86 | CPI DATA,$FA |
||
87 | BRNE T_PSK1_SETLED_FAIL |
||
88 | LDH DATA,TPSK_LEDS |
||
89 | RCALL T_PSK80 |
||
90 | RCALL PS2K_SEND_BYTE |
||
91 | BREQ T_PSK1_SETLED_FAIL |
||
92 | RCALL PS2K_RECEIVE_BYTE |
||
93 | BREQ T_PSK1_SETLED_FAIL |
||
94 | RCALL T_PSK80 |
||
95 | CPI DATA,$FA |
||
96 | BRNE T_PSK1_SETLED_FAIL |
||
97 | RCALL T_PSK7_SHOW_LEDS |
||
98 | T_PSK1_SETLED_FAIL: |
||
99 | |||
100 | T_PSK1L: |
||
101 | LDS TEMP,PS2K_KEY_FLAGS |
||
102 | SBRS TEMP,PS2K_BIT_READY |
||
103 | RJMP T_PSK10 |
||
104 | ; |
||
105 | STS PS2K_KEY_FLAGS,NULL |
||
106 | LDS DATA,PS2K_KEY_CODE |
||
107 | STH TPSK_TEMP,TEMP |
||
108 | |||
109 | LDH COUNT,TPSK_FLAGS |
||
110 | ; TST COUNT |
||
111 | ; BRMI T_PSK21 |
||
112 | SBRS TEMP,PS2K_BIT_RELEASE |
||
113 | RJMP T_PSK21 |
||
114 | SBRC TEMP,PS2K_BIT_EXTKEY |
||
115 | RJMP T_PSK22 |
||
116 | CPI DATA,KEY_ESC |
||
117 | BRNE T_PSK22 |
||
118 | INC COUNT |
||
119 | STH TPSK_FLAGS,COUNT |
||
120 | CPI COUNT,3 |
||
121 | BRCS T_PSK21 |
||
122 | |||
123 | RCALL SCR_KBDSETLED |
||
124 | FREEMEM 5 |
||
125 | RET |
||
126 | ; |
||
127 | T_PSK22:STH TPSK_FLAGS,NULL |
||
128 | T_PSK21:SBRC TEMP,PS2K_BIT_EXTKEY |
||
129 | RJMP T_PSK12 |
||
130 | SBRC TEMP,PS2K_BIT_RELEASE |
||
131 | RJMP T_PSK26 |
||
132 | |||
133 | LDH XL,TPSK_LEDS |
||
134 | LDI XH,$01 |
||
135 | CPI DATA,KEY_SCROLLLOCK |
||
136 | BRNE T_PSK23 |
||
137 | EOR XL,XH |
||
138 | ORI XL,$80 |
||
139 | T_PSK23:LSL XH |
||
140 | CPI DATA,KEY_NUMLOCK |
||
141 | BRNE T_PSK24 |
||
142 | EOR XL,XH |
||
143 | ORI XL,$80 |
||
144 | T_PSK24:LSL XH |
||
145 | CPI DATA,KEY_CAPSLOCK |
||
146 | BRNE T_PSK25 |
||
147 | EOR XL,XH |
||
148 | ORI XL,$80 |
||
149 | T_PSK25:STH TPSK_LEDS,XL |
||
150 | T_PSK26: |
||
151 | |||
152 | CPI DATA,$83 ;F7 |
||
153 | BRNE T_PSK12 |
||
154 | LDI XL,(9<<3)|0 |
||
155 | RJMP T_PSK14 |
||
156 | T_PSK12:CPI DATA,$84 ;SysReg |
||
157 | BRNE T_PSK13 |
||
158 | LDI XL,(15<<3)|0 |
||
159 | RJMP T_PSK14 |
||
160 | T_PSK13: |
||
161 | CPI DATA,$80 |
||
162 | BRCC T_PSK10_A |
||
163 | LSL DATA |
||
164 | SBRC TEMP,PS2K_BIT_EXTKEY |
||
165 | ORI DATA,$01 |
||
166 | LDIZ TPSK_TAB*2 |
||
167 | ADD ZL,DATA |
||
168 | ADC ZH,NULL |
||
169 | LPM XL,Z |
||
170 | TST XL |
||
171 | BREQ T_PSK10_A |
||
172 | T_PSK14:MOV XH,XL |
||
173 | ANDI XH,0B00000111 |
||
174 | TST XH |
||
175 | BREQ T_PSK15 |
||
176 | INC XH |
||
177 | T_PSK15:LSR XL |
||
178 | LSR XL |
||
179 | ANDI XL,0B00111110 |
||
180 | CPI XL,36 |
||
181 | BRCS T_PSK16 |
||
182 | INC XL |
||
183 | T_PSK16:CPI XL,30 |
||
184 | BRCS T_PSK17 |
||
185 | INC XL |
||
186 | T_PSK17:ADDI XL,3 |
||
187 | ADDI XH,7 |
||
188 | RCALL SCR_SET_CURSOR |
||
189 | LDH DATA,TPSK_TEMP |
||
190 | LDI TEMP,$AE |
||
191 | SBRC DATA,PS2K_BIT_RELEASE |
||
192 | LDI TEMP,$D1 |
||
193 | LDI COUNT,1 |
||
194 | RCALL SCR_FILL_ATTR |
||
195 | T_PSK10_A: |
||
196 | RJMP T_PSK10 |
||
197 | ; |
||
198 | ; |
||
199 | T_PSK80:PUSH DATA |
||
200 | STS PS2K_RAW_READY,NULL |
||
201 | |||
202 | LDH ZL,TPSK_PTR |
||
203 | LDI ZH,HIGH(MEGABUFFER) |
||
204 | ST Z+,DATA |
||
205 | ANDI ZL,$0F |
||
206 | STH TPSK_PTR,ZL |
||
207 | |||
208 | ANDI FLAGS1,0B11111100 ;!!! |
||
209 | LDI XL,5 |
||
210 | LDI XH,17 |
||
211 | RCALL SCR_SET_CURSOR |
||
212 | LDH ZL,TPSK_PTR |
||
213 | INC ZL |
||
214 | LDI COUNT,13 |
||
215 | |||
216 | T_PSK81:STH TPSK_COUNT,COUNT |
||
217 | LDI ZH,HIGH(MEGABUFFER) |
||
218 | INC ZL |
||
219 | ANDI ZL,$0F |
||
220 | STH TPSK_TEMP,ZL |
||
221 | LD DATA,Z |
||
222 | PUSH DATA |
||
223 | LDI TEMP,$0E |
||
224 | CPI DATA,$E0 |
||
225 | BREQ T_PSK82 |
||
226 | CPI DATA,$E1 |
||
227 | BREQ T_PSK82 |
||
228 | LDI TEMP,$0D |
||
229 | CPI DATA,$F0 |
||
230 | BREQ T_PSK82 |
||
231 | LDI TEMP,$0B |
||
232 | CPI DATA,$ED |
||
233 | BREQ T_PSK82 |
||
234 | LDI TEMP,$0A |
||
235 | CPI DATA,$85 |
||
236 | BRCC T_PSK82 |
||
237 | LDI TEMP,$0F |
||
238 | T_PSK82:RCALL SCR_SET_ATTR |
||
239 | LDI DATA,$20 |
||
240 | RCALL SCR_PUTCHAR |
||
241 | POP DATA |
||
242 | LDH COUNT,TPSK_COUNT |
||
243 | TST COUNT |
||
244 | BREQ T_PSK83 |
||
245 | RCALL HEXBYTE |
||
246 | LDH ZL,TPSK_TEMP |
||
247 | LDH COUNT,TPSK_COUNT |
||
248 | DEC COUNT |
||
249 | RJMP T_PSK81 |
||
250 | T_PSK83: |
||
251 | ORI FLAGS1,0B00000010 ;!!! |
||
252 | CALL HEXBYTE |
||
253 | LDI DATA,$20 |
||
254 | CALL PUTCHAR |
||
255 | |||
256 | POP DATA |
||
257 | RET |
||
258 | ; |
||
259 | ; |
||
260 | T_PSK7_SHOW_LEDS: |
||
261 | LDI XL,41 |
||
262 | LDI XH,7 |
||
263 | RCALL SCR_SET_CURSOR |
||
264 | LDH DATA,TPSK_LEDS |
||
265 | LDI TEMP,$DC |
||
266 | SBRS DATA,1 |
||
267 | LDI TEMP,$D0 |
||
268 | LDI COUNT,2 |
||
269 | RCALL SCR_FILL_ATTR |
||
270 | LDH DATA,TPSK_LEDS |
||
271 | LDI TEMP,$DC |
||
272 | SBRS DATA,2 |
||
273 | LDI TEMP,$D0 |
||
274 | LDI COUNT,2 |
||
275 | RCALL SCR_FILL_ATTR |
||
276 | LDH DATA,TPSK_LEDS |
||
277 | LDI TEMP,$DC |
||
278 | SBRS DATA,0 |
||
279 | LDI TEMP,$D0 |
||
280 | LDI COUNT,2 |
||
281 | RJMP SCR_FILL_ATTR |
||
282 | ; |
||
283 | ;-------------------------------------- |
||
284 | ; |
||
285 | WIND_T_PS2K: |
||
286 | .DB 3,5,47,16,$DF,$01 |
||
287 | ; |
||
288 | ;-------------------------------------- |
||
289 | ; |
||
290 | TPSK_TAB: |
||
291 | .DB 0 , 0 ;00 |
||
292 | .DB (11<<3)|0, 0 ;01 |
||
293 | .DB 0 , 0 ;02 |
||
294 | .DB ( 7<<3)|0, 0 ;03 |
||
295 | .DB ( 5<<3)|0, 0 ;04 |
||
296 | .DB ( 3<<3)|0, 0 ;05 |
||
297 | .DB ( 4<<3)|0, 0 ;06 |
||
298 | .DB (14<<3)|0, 0 ;07 |
||
299 | .DB 0 , 0 ;08 |
||
300 | .DB (12<<3)|0, 0 ;09 |
||
301 | .DB (10<<3)|0, 0 ;0A |
||
302 | .DB ( 8<<3)|0, 0 ;0B |
||
303 | .DB ( 6<<3)|0, 0 ;0C |
||
304 | .DB ( 1<<3)|2, 0 ;0D |
||
305 | .DB ( 1<<3)|1, 0 ;0E |
||
306 | .DB 0 , 0 ;0F |
||
307 | .DB 0 , 0 ;10 |
||
308 | .DB ( 3<<3)|5, (11<<3)|5 ;11 |
||
309 | .DB ( 1<<3)|4, 0 ;12 |
||
310 | .DB 0 , 0 ;13 |
||
311 | .DB ( 1<<3)|5, (14<<3)|5 ;14 |
||
312 | .DB ( 2<<3)|2, 0 ;15 |
||
313 | .DB ( 2<<3)|1, 0 ;16 |
||
314 | .DB 0 , 0 ;17 |
||
315 | .DB 0 , 0 ;18 |
||
316 | .DB 0 , 0 ;19 |
||
317 | .DB ( 2<<3)|4, 0 ;1A |
||
318 | .DB ( 3<<3)|3, 0 ;1B |
||
319 | .DB ( 2<<3)|3, 0 ;1C |
||
320 | .DB ( 3<<3)|2, 0 ;1D |
||
321 | .DB ( 3<<3)|1, 0 ;1E |
||
322 | .DB 0 , ( 2<<3)|5 ;1F |
||
323 | .DB 0 , 0 ;20 |
||
324 | .DB ( 4<<3)|4, 0 ;21 |
||
325 | .DB ( 3<<3)|4, 0 ;22 |
||
326 | .DB ( 4<<3)|3, 0 ;23 |
||
327 | .DB ( 4<<3)|2, 0 ;24 |
||
328 | .DB ( 5<<3)|1, 0 ;25 |
||
329 | .DB ( 4<<3)|1, 0 ;26 |
||
330 | .DB 0 , (12<<3)|5 ;27 |
||
331 | .DB 0 , 0 ;28 |
||
332 | .DB ( 7<<3)|5, 0 ;29 |
||
333 | .DB ( 5<<3)|4, 0 ;2A |
||
334 | .DB ( 5<<3)|3, 0 ;2B |
||
335 | .DB ( 6<<3)|2, 0 ;2C |
||
336 | .DB ( 5<<3)|2, 0 ;2D |
||
337 | .DB ( 6<<3)|1, 0 ;2E |
||
338 | .DB 0 , (13<<3)|5 ;2F |
||
339 | .DB 0 , 0 ;30 |
||
340 | .DB ( 7<<3)|4, 0 ;31 |
||
341 | .DB ( 6<<3)|4, 0 ;32 |
||
342 | .DB ( 7<<3)|3, 0 ;33 |
||
343 | .DB ( 6<<3)|3, 0 ;34 |
||
344 | .DB ( 7<<3)|2, 0 ;35 |
||
345 | .DB ( 7<<3)|1, 0 ;36 |
||
346 | .DB 0 , 0 ;37 |
||
347 | .DB 0 , 0 ;38 |
||
348 | .DB 0 , 0 ;39 |
||
349 | .DB ( 8<<3)|4, 0 ;3A |
||
350 | .DB ( 8<<3)|3, 0 ;3B |
||
351 | .DB ( 8<<3)|2, 0 ;3C |
||
352 | .DB ( 8<<3)|1, 0 ;3D |
||
353 | .DB ( 9<<3)|1, 0 ;3E |
||
354 | .DB 0 , 0 ;3F |
||
355 | .DB 0 , 0 ;40 |
||
356 | .DB ( 9<<3)|4, 0 ;41 |
||
357 | .DB ( 9<<3)|3, 0 ;42 |
||
358 | .DB ( 9<<3)|2, 0 ;43 |
||
359 | .DB (10<<3)|2, 0 ;44 |
||
360 | .DB (11<<3)|1, 0 ;45 |
||
361 | .DB (10<<3)|1, 0 ;46 |
||
362 | .DB 0 , 0 ;47 |
||
363 | .DB 0 , 0 ;48 |
||
364 | .DB (10<<3)|4, 0 ;49 |
||
365 | .DB (11<<3)|4, (19<<3)|1 ;4A |
||
366 | .DB (10<<3)|3, 0 ;4B |
||
367 | .DB (11<<3)|3, 0 ;4C |
||
368 | .DB (11<<3)|2, 0 ;4D |
||
369 | .DB (12<<3)|1, 0 ;4E |
||
370 | .DB 0 , 0 ;4F |
||
371 | .DB 0 , 0 ;50 |
||
372 | .DB 0 , 0 ;51 |
||
373 | .DB (12<<3)|3, 0 ;52 |
||
374 | .DB 0 , 0 ;53 |
||
375 | .DB (12<<3)|2, 0 ;54 |
||
376 | .DB (13<<3)|1, 0 ;55 |
||
377 | .DB 0 , 0 ;56 |
||
378 | .DB 0 , 0 ;57 |
||
379 | .DB ( 1<<3)|3, 0 ;58 |
||
380 | .DB (14<<3)|4, 0 ;59 |
||
381 | .DB (14<<3)|3, (21<<3)|5 ;5A |
||
382 | .DB (13<<3)|2, 0 ;5B |
||
383 | .DB 0 , 0 ;5C |
||
384 | .DB (14<<3)|2, 0 ;5D |
||
385 | .DB 0 , 0 ;5E |
||
386 | .DB 0 , 0 ;5F |
||
387 | .DB 0 , 0 ;60 |
||
388 | .DB 0 , 0 ;61 |
||
389 | .DB 0 , 0 ;62 |
||
390 | .DB 0 , 0 ;63 |
||
391 | .DB 0 , 0 ;64 |
||
392 | .DB 0 , 0 ;65 |
||
393 | .DB (14<<3)|1, 0 ;66 |
||
394 | .DB 0 , 0 ;67 |
||
395 | .DB 0 , 0 ;68 |
||
396 | .DB (18<<3)|4, (16<<3)|2 ;69 |
||
397 | .DB 0 , 0 ;6A |
||
398 | .DB (18<<3)|3, (15<<3)|5 ;6B |
||
399 | .DB (18<<3)|2, (16<<3)|1 ;6C |
||
400 | .DB 0 , 0 ;6D |
||
401 | .DB 0 , 0 ;6E |
||
402 | .DB 0 , 0 ;6F |
||
403 | .DB (18<<3)|5, (15<<3)|1 ;70 |
||
404 | .DB (20<<3)|5, (15<<3)|2 ;71 |
||
405 | .DB (19<<3)|4, (16<<3)|5 ;72 |
||
406 | .DB (19<<3)|3, 0 ;73 |
||
407 | .DB (20<<3)|3, (17<<3)|5 ;74 |
||
408 | .DB (19<<3)|2, (16<<3)|4 ;75 |
||
409 | .DB ( 1<<3)|0, 0 ;76 |
||
410 | .DB (18<<3)|1, 0 ;77 |
||
411 | .DB (13<<3)|0, 0 ;78 |
||
412 | .DB (21<<3)|3, 0 ;79 |
||
413 | .DB (20<<3)|4, (17<<3)|2 ;7A |
||
414 | .DB (21<<3)|1, 0 ;7B |
||
415 | .DB (20<<3)|1, (15<<3)|0 ;7C |
||
416 | .DB (20<<3)|2, (17<<3)|1 ;7D |
||
417 | .DB (16<<3)|0, (17<<3)|0 ;7E |
||
418 | .DB 0 , 0 ;7F |
||
419 | ; |
||
420 | ;-------------------------------------- |
||
421 | ; |