📄 rf_oper.lst
字号:
"File: RF_OPER.ASM Holtek Cross-Assembler Version 2.86 Page 1
1 0000 INCLUDE DONGLE.INC
2 0000
3 0000 PUBLIC INIT_RF
4 0000 PUBLIC RF_CHANGE_TO_TX
5 0000 PUBLIC RF_CHANGE_TO_RX
6 0000 PUBLIC RF_REFILL_COMMAND
7 0000 PUBLIC RF_WAIT_DATA
8 0000 PUBLIC RF_REG_WRITE
9 0000 PUBLIC RF_REG_READ
10 0000 PUBLIC RF_FIFO_WRITE
11 0000 PUBLIC RF_FIFO_READ
12 0000
13 0000 PUBLIC RF_CHANNEL
14 0000 PUBLIC CHANNEL_INDEX
15 0000 PUBLIC RF_REG_ADDRESS
16 0000 PUBLIC RF_REG_DATA
17 0000
18 0000 PUBLIC TEST_RF
19 0000
20 0000 PUBLIC RF_KDATA_GOT
21 0000 PUBLIC RF_MDATA_GOT
22 0000 EXTERN TIME_COUNT :BYTE
23 0000 EXTERN WRITE_FIFO2 :NEAR
24 0000 EXTERN WRITE_FIFO2X :NEAR
25 0000 EXTERN WRITE_FIFO2XX :NEAR
26 0000
27 0000 EXTERN WRITE_FIFO1 :NEAR
28 0000 EXTERN WRITE_FIFO1_ALLZERO :NEAR
29 0000 EXTERN FIFO_WF :BIT
30 0000 EXTERN FIFO_WF1 :BIT
31 0000 EXTERN NOT_BOOT_TYPE :BIT
32 0000
33 0000 EXTERN NEXT_1_CHANNEL :BYTE
34 0000 EXTERN NEXT_2_CHANNEL :BYTE
35 0000 EXTERN NEXT_3_CHANNEL :BYTE
36 0000 EXTERN NEXT_4_CHANNEL :BYTE
37 0000 EXTERN NEXT_5_CHANNEL :BYTE
38 0000
39 0000 RFOPER_DATA .SECTION 'DATA'
40 0000
41 0000 00 RF_LCOUNT0 DB ?
42 0001 00 RF_LCOUNT1 DB ?
43 0002 00 RF_LCOUNT2 DB ?
44 0003 00 RF_REG_ADDRESS DB ?
45 0004 00 RF_REG_DATA DB ?
46 0005 00 RF_DATALNG DB ?
47 0006
48 0006 00 RF_CHANNEL DB ?
49 0007 00 RF_FSP_COUNT DB ?
50 0008 00 RF_LAST_MSERIAL DB ?
51 0009 00 RF_LAST_KSERIAL DB ?
52 000A 00 RF_LAST_RSERIAL DB ?
53 000B ;RF_BLOCK_GROUP DB ?
54 000B
55 000B 00 CHANNEL_INDEX DB ?
56 000C
57 000C 00 RF_NOMOUSE_CNT DB ?
"File: RF_OPER.ASM Holtek Cross-Assembler Version 2.86 Page 2
58 000D
59 000D ;OLD_KEY DB ?
60 000D ;OLD_X DB ?
61 000D ;OLD_Y DB ?
62 000D
63 000D ;KEY_XOR DB ?
64 000D ;X_XOR DB ?
65 000D ;Y_XOR DB ?
66 000D ;MOUSE_OR DB ?
67 000D
68 000D 00 PER_CNT DB ?
69 000E 00 PER DB ?
70 000F 00 PERIOD_CNT DB ?
71 0010
72 0010 00 RF_MDATA_GOT DBIT
73 0010 RF_KDATA_GOT DBIT
74 0010 RF_MLINKED DBIT
75 0011
76 0010 MAKE_KEY DBIT
77 0011
78 0011 00 M_COUNT DB ?
79 0012 00 F_WRITE_FAIL_COUNT DB ?
80 0013 00 WAIT_NO_ALIVE_PACK_COUNT DB ?
81 0014
82 0000 REOPER_CODE .SECTION 'CODE'
83 0000
84 0000 TEST_RF:
85 0000 ;================CONTINUES RF READ IN TEST===============
86 0000 ; MOV A, 8
87 0000 ; MOV RF_DATALNG, A
88 0000 ;
89 0000 ; RUN_AGAIN:
90 0000 ; SET TRRDY
91 0000 ;
92 0000 ; WAIT:
93 0000 ; SNZ TRINT
94 0000 ; JMP WAIT
95 0000 ;
96 0000 ; CLR TRRDY
97 0000 ; CALL RF_FIFO_READ
98 0000 ; JMP RUN_AGAIN
99 0000 ;
100 0000 ;==================END HERE=============================
101 0000
102 0000 ;==============CONTINUES RF WRITE OUT TEST==============
103 0000 ;
104 0000 ; RUN_AGAIN:
105 0000 ; MOV A, RF_OUTBUFF
106 0000 ; MOV MP0, A
107 0000 ;
108 0000 ; MOV A, 8
109 0000 ; MOV RF_DATALNG, A
110 0000 ; MOV RF_LCOUNT0, A
111 0000 ;
112 0000 ; FILLLOOP:
113 0000 ; MOV A, RF_LCOUNT0
114 0000 ; MOV ID0, A
115 0000 ;
116 0000 ; INC MP0
117 0000 ;
"File: RF_OPER.ASM Holtek Cross-Assembler Version 2.86 Page 3
118 0000 ; SDZ RF_LCOUNT0
119 0000 ; JMP FILLLOOP
120 0000 ;
121 0000 ; CALL RF_FIFO_WRITE
122 0000 ; WAIT:
123 0000 ; SNZ TRINT
124 0000 ; JMP WAIT
125 0000 ;
126 0000 ; JMP RUN_AGAIN
127 0000 ;==============================END HERE==================
128 0000 0003 RET
129 0001
130 0001 INIT_RF:
131 0001 3693 CLR TRSDAT_CTRL
132 0002 3013 SET TRINT_CTRL
133 0003 3093 SET DRSSI_CTRL
134 0004 3713 CLR SPIEN_CTRL
135 0005 3712 CLR SPIEN
136 0006 3593 CLR TRRDY_CTRL
137 0007 3592 CLR TRRDY
138 0008 3693 CLR TRSDAT_CTRL
139 0009 3692 CLR TRSDAT
140 000A 3613 CLR TRSCLK_CTRL
141 000B 3612 CLR TRSCLK
142 000C 3793 CLR PSB_CTRL
143 000D 3392 SET PSB
144 000E
145 000E 2000 R CALL RF_RESET
146 000F
147 000F 6600 CALL INIT_RF_REG
148 0010
149 0010 0F02 MOV A, 002H
150 0011 0080 R MOV RF_CHANNEL, A
151 0012
152 0012 0F0A MOV A, 00AH
153 0013 0080 R MOV RF_DATALNG, A
154 0014
155 0014 1F00 R CLR RF_FSP_COUNT
156 0015 3400 R CLR RF_MLINKED
157 0016 1F00 R CLR CHANNEL_INDEX
158 0017
159 0017 ;CLR RF_LAST_MSERIAL
160 0017 ;CLR RF_LAST_KSERIAL
161 0017 ; CLR RF_BLOCK_GROUP
162 0017
163 0017 1F00 R CLR PERIOD_CNT
164 0018 1F00 R CLR PER_CNT
165 0019 1F00 R CLR PER
166 001A
167 001A 0003 RET
168 001B
169 001B RF_CHANGE_TO_RX:
170 001B 0700 R MOV A, RF_CHANNEL ;KIM
171 001C 0080 R MOV RF_REG_DATA, A
172 001D 1F00 R CLR RF_REG_ADDRESS
173 001E 2000 R CALL RF_REG_WRITE
174 001F 0003 RET
175 0020
176 0020 RF_CHANGE_TO_TX:
177 0020 0700 R MOV A, RF_CHANNEL ;KIM
"File: RF_OPER.ASM Holtek Cross-Assembler Version 2.86 Page 4
178 0021 0D80 OR A, 080H
179 0022 0080 R MOV RF_REG_DATA, A
180 0023 1F00 R CLR RF_REG_ADDRESS
181 0024 2000 R CALL RF_REG_WRITE
182 0025 0003 RET
183 0026
184 0026 RF_REFILL_COMMAND:
185 0026 0FB6 MOV A, RF_OUTBUFF
186 0027 0081 MOV MP0, A
187 0028
188 0028 0FF0 MOV A, 0F0H ;0XF0
189 0029 0080 MOV ID0, A
190 002A 1481 INC MP0
191 002B
192 002B 0700 R MOV A, RF_FSP_COUNT ;FSP COUNING NUMBER
193 002C 0080 MOV ID0, A
194 002D 1481 INC MP0
195 002E
196 002E ; CLR ACC
197 002E
198 002E ; MOV ID0, A
199 002E ; INC MP0
200 002E
201 002E 1F05 CLR ACC
202 002F
203 002F 3C00 R SZ RF_MDATA_GOT;RF_LAST_KSERIAL
204 0030 0D03 OR A, 003H ;00CH
205 0031 ; CLR RF_MDATA_GOT
206 0031 ;===== 1011 ====
207 0031 3C00 R SZ RF_KDATA_GOT
208 0032 0D0C OR A, 00CH
209 0033 ; CLR RF_KDATA_GOT
210 0033 ;===============
211 0033 ; SZ RF_LAST_MSERIAL
212 0033 ; OR A, 003H
213 0033 ;===== 1011 =====
214 0033 ; SZ RF_LAST_KSERIAL
215 0033 ; OR A, 00CH
216 0033 ;================
217 0033 0080 MOV ID0, A
218 0034 1481 INC MP0
219 0035
220 0035 ; MOV A, RF_LAST_MSERIAL;mask later
221 0035 ; MOV ID0, A;mask later
222 0035 ; INC MP0;mask later
223 0035 ;
224 0035 ; MOV A, RF_LAST_KSERIAL;mask later
225 0035 ; MOV ID0, A;mask later
226 0035 ; INC MP0;mask later
227 0035
228 0035 ; CLR RF_LAST_MSERIAL
229 0035 ; CLR RF_LAST_KSERIAL
230 0035
231 0035 0700 E MOV A, NEXT_1_CHANNEL;RF_BLOCK_GROUP
232 0036 0080 MOV ID0, A
233 0037 1481 INC MP0
234 0038
235 0038 0700 E MOV A, NEXT_2_CHANNEL;RF_BLOCK_GROUP
236 0039 0080 MOV ID0, A
237 003A 1481 INC MP0
"File: RF_OPER.ASM Holtek Cross-Assembler Version 2.86 Page 5
238 003B
239 003B 0700 E MOV A, NEXT_3_CHANNEL;RF_BLOCK_GROUP
240 003C 0080 MOV ID0, A
241 003D 1481 INC MP0
242 003E
243 003E 0700 E MOV A, NEXT_4_CHANNEL;RF_BLOCK_GROUP
244 003F 0080 MOV ID0, A
245 0040 1481 INC MP0
246 0041
247 0041 ;; MOV A, NEXT_5_CHANNEL
248 0041 ; MOV ID0, A
249 0041
250 0041
251 0041 1480 R INC RF_FSP_COUNT
252 0042
253 0042 0003 RET
254 0043
255 0043 RF_WAIT_DATA:
256 0043 3596 CLR LED_PIN
257 0044 3192 SET TRRDY
258 0045 340A CLR CARRY
259 0046
260 0046 3400 R CLR RF_MDATA_GOT
261 0047 3400 R CLR RF_KDATA_GOT
262 0048
263 0048 ;WAIT FOR RF_DATA FOR ABOUT 4MS
264 0048 RX_WAIT_TRINT:
265 0048 3C12 SZ TRINT
266 0049 2800 R JMP GOT_RF_DATA
267 004A
268 004A 0700 E MOV A, TIME_COUNT
269 004B 0A1E SUB A, 30;24
270 004C 3C0A SZ CARRY
271 004D 2800 R JMP EXIT_RF_WAIT_DATA
272 004E 2800 R JMP RX_WAIT_TRINT
273 004F
274 004F GOT_RF_DATA:
275 004F 3116 SET PC.2
276 0050 2000 R CALL RF_FIFO_READ
277 0051 2000 R CALL HANDLE_RF_DATA
278 0052 3516 CLR PC.2
279 0053
280 0053 2800 R JMP RX_WAIT_TRINT
281 0054
282 0054 EXIT_RF_WAIT_DATA:
283 0054 3592 CLR TRRDY
284 0055
285 0055 ;============ ALIVE COUNT =========================
286 0055 3800 R SNZ MAKE_KEY
287 0056 2800 R JMP NORMAL_EXIT
288 0057 0F0F MOV A, 15
289 0058 0400 R XOR A, WAIT_NO_ALIVE_PACK_COUNT
290 0059 1085 SZ ACC
291 005A 2800 R JMP WAIT_RELEASE
292 005B 2800 R JMP RELEASE_TIMEOUT
293 005C WAIT_RELEASE:
294 005C 1480 R INC WAIT_NO_ALIVE_PACK_COUNT
295 005D 2800 R JMP NORMAL_EXIT
296 005E RELEASE_TIMEOUT:
297 005E 2000 E CALL WRITE_FIFO1_ALLZERO
"File: RF_OPER.ASM Holtek Cross-Assembler Version 2.86 Page 6
298 005F 1F00 R CLR WAIT_NO_ALIVE_PACK_COUNT
299 0060 3400 R CLR MAKE_KEY
300 0061 NORMAL_EXIT:
301 0061 ;==================================================
302 0061
303 0061 ;SZ NOT_BOOT_TYPE
304 0061 ;JMP NOT_20_YET
305 0061
306 0061 ;SNZ RF_KDATA_GOT
307 0061 ;CALL WRITE_FIFO1_ALLZERO
308 0061
309 0061 ; INC RF_NOMOUSE_CNT
310 0061 ; MOV A, 3
311 0061 ; XOR A, RF_NOMOUSE_CNT
312 0061 ; SZ ACC
313 0061 ; JMP NOT_20_YET
314 0061 ;
315 0061 3800 R SNZ RF_MDATA_GOT
316 0062 3196 SET LED_PIN
317 0063
318 0063 ; SZ RF_KDATA_GOT
319 0063 ; SET PC.3
320 0063 ; CLR RF_NOMOUSE_CNT
321 0063 ;
322 0063 ; NOT_20_YET:
323 0063 3800 R SNZ RF_MDATA_GOT
324 0064 1480 R INC PER_CNT
325 0065
326 0065 1480 R INC PERIOD_CNT
327 0066 0FFF MOV A, 255
328 0067 0400 R XOR A, PERIOD_CNT
329 0068 1085 SZ ACC
330 0069 2800 R JMP NOT_100_CNT
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -