📄 ui_stop.lst
字号:
\ 0337 CAE003 JP Z,?0166
\ 033A ?0066:
\ 033A C37B05 JP LWRD ?0170
266 }
\ 033D C37E05 JP LWRD ?0156
\ 0340 ?0067:
\ 0340 C3E003 JP LWRD ?0166
\ 0343 ?0063:
267 else if(result != 0)
\ 0343 7D LD A,L
\ 0344 B4 OR H
\ 0345 2806 JR Z,?0070
\ 0347 ?0069:
268 return result;
\ 0347 C37B05 JP LWRD ?0170
269 else
\ 034A C37E05 JP LWRD ?0156
\ 034D ?0070:
270 {
271 //需清除断点信息
272 //fselGetLocation(&g_voice_vars.location);
273 need_sel_file=TRUE;
\ 034D 3E01 LD A,1
\ 034F 320000 LD (need_sel_file),A
274 g_voice_vars.resore_pointer = 0L;
\ 0352 010000 LD BC,0
\ 0355 ED433100 LD (g_voice_vars+49),BC
\ 0359 ED433300 LD (g_voice_vars+51),BC
275 need_restore = FALSE;
\ 035D AF XOR A
\ 035E 320100 LD (need_restore),A
276 need_parse = TRUE;
277
278 Cur_Status=0; //Jerry Xie Add
\ 0361 320100 LD (Cur_Status),A
\ 0364 DD36F201 LD (IX-14),1
\ 0368 ?0068:
\ 0368 ?0061:
279 }
280 }
281 need_draw = TRUE;
\ 0368 1876 JR ?0166
282 break;
\ 036A C3F203 JP LWRD ?0091
\ 036D ?0071:
\ 036D ?0073:
283
284 case AP_KEY_PLAY | AP_KEY_UP:
285
286 while(ap_get_message()!=NULL); //clear rtc message.
\ 036D CD0000 CALL LWRD ap_get_message
\ 0370 B7 OR A
\ 0371 20FA JR NZ,?0071
\ 0373 ?0074:
\ 0373 ?0072:
287 cont_playing = TRUE; //开始连续播放
\ 0373 DD36F301 LD (IX-13),1
288
289 break;
\ 0377 1879 JR ?0091
\ 0379 ?0075:
290
291 case AP_KEY_PREV:
292 //clear the restore info, that just active once
293 case AP_KEY_PREV | AP_KEY_HOLD:
294 g_voice_vars.resore_pointer = 0L;
\ 0379 4F LD C,A
\ 037A 47 LD B,A
\ 037B ED433100 LD (g_voice_vars+49),BC
\ 037F ED433300 LD (g_voice_vars+51),BC
295 need_restore = FALSE;
\ 0383 320100 LD (need_restore),A
296 need_parse = sel_prev(TRUE);
\ 0386 1E01 LD E,1
\ 0388 3E00 LD A,BYTE3 sel_prev
\ 038A 210000 LD HL,LWRD sel_prev
\ 038D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0390 DD75F2 LD (IX-14),L
\ 0393 ?0077:
297 while(ap_get_message()!=NULL);
\ 0393 CD0000 CALL LWRD ap_get_message
\ 0396 B7 OR A
\ 0397 2859 JR Z,?0091
\ 0399 ?0078:
298 break;
\ 0399 18F8 JR ?0077
\ 039B ?0076:
\ 039B 1855 JR ?0091
\ 039D ?0079:
299 case AP_KEY_NEXT:
300 case AP_KEY_NEXT | AP_KEY_HOLD:
301 if( cont_playing == FALSE )
\ 039D DDB6F3 OR (IX-13)
\ 03A0 2013 JR NZ,?0081
\ 03A2 ?0080:
302 {
303 //clear the restore info, that just active once
304 g_voice_vars.resore_pointer = 0L;
\ 03A2 4F LD C,A
\ 03A3 47 LD B,A
\ 03A4 ED433100 LD (g_voice_vars+49),BC
\ 03A8 ED433300 LD (g_voice_vars+51),BC
305 need_restore = FALSE;
\ 03AC 320100 LD (need_restore),A
306
307 need_parse = sel_next(TRUE);
\ 03AF CDEC05 CALL LWRD ?0179
\ 03B2 DD75F2 LD (IX-14),L
\ 03B5 ?0081:
\ 03B5 ?0083:
308 }
309 while(ap_get_message()!=NULL);
\ 03B5 CD0000 CALL LWRD ap_get_message
\ 03B8 B7 OR A
\ 03B9 2837 JR Z,?0091
\ 03BB ?0084:
310 break;
\ 03BB 18F8 JR ?0081
\ 03BD ?0082:
\ 03BD 1833 JR ?0091
\ 03BF ?0085:
311 /*
312 case AP_KEY_VOLADD:
313 case AP_KEY_VOLSUB:
314 case AP_KEY_VOLADD | AP_KEY_HOLD:
315 case AP_KEY_VOLSUB | AP_KEY_HOLD:
316
317 result = show_volume(FALSE);
318 if(result != 0) return result;
319
320 need_draw = TRUE;
321 break;
322 */
323 case AP_MSG_RTC:
324 ui_show_batt(GetBattery(), g_comval.BatteryType,0);
\ 03BF 4F LD C,A
\ 03C0 C5 PUSH BC
\ 03C1 ED4B0F00 LD BC,(g_comval+15)
\ 03C5 CD0000 CALL LWRD GetBattery
\ 03C8 5F LD E,A
\ 03C9 1600 LD D,0
\ 03CB 3E00 LD A,BYTE3 ui_show_batt
\ 03CD 210000 LD HL,LWRD ui_show_batt
\ 03D0 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03D3 E1 POP HL
325 break;
\ 03D4 181C JR ?0091
\ 03D6 ?0086:
326 /*
327 case AP_MSG_SD_OUT:
328 g_card_ok = FALSE;
329 if(g_card_in_using)
330 {
331 result = show_error(CARDPULL);
332 if(result != 0)return result;
333 need_sel_file = TRUE;
334 need_parse = TRUE;
335 need_restore = FALSE;
336 //need_draw = TRUE;
337 }
338 break;
339
340 case AP_MSG_SD_IN:
341 g_card_ok = TRUE;
342 break;
343 */
344 default:
345 key = ap_handle_hotkey( key);
\ 03D6 CD0000 CALL LWRD ap_handle_hotkey
\ 03D9 DD77EE LD (IX-18),A
346 if(key == RESULT_REDRAW) need_draw = TRUE;
\ 03DC FE32 CP 50
\ 03DE 2006 JR NZ,?0088
\ 03E0 ?0087:
\ 03E0 ?0166:
\ 03E0 DD36F101 LD (IX-15),1
\ 03E4 180C JR ?0091
\ 03E6 ?0088:
347 else if(key != 0) return key;
\ 03E6 AF XOR A
\ 03E7 DDB6EE OR (IX-18)
\ 03EA 2806 JR Z,?0091
\ 03EC ?0090:
\ 03EC 6F LD L,A
\ 03ED 2600 LD H,0
348 } //switch(key)
\ 03EF C37E05 JP LWRD ?0156
\ 03F2 ?0091:
\ 03F2 ?0089:
\ 03F2 ?0055:
349
350 if( !need_parse )
\ 03F2 AF XOR A
\ 03F3 DDB6F2 OR (IX-14)
\ 03F6 C25500 JP NZ,?0006
\ 03F9 ?0092:
351 {
352 //check if playing
353 if(cont_playing)
\ 03F9 DDB6F3 OR (IX-13)
\ 03FC CA5500 JP Z,?0006
\ 03FF ?0094:
354 {
355 //check file format
356 if(format_ok)
\ 03FF AF XOR A
\ 0400 DDB6F4 OR (IX-12)
\ 0403 CAAD05 JP Z,?0097
\ 0406 ?0096:
357 {
358 #ifdef EAR_PROTECT
359 if (g_firstplay_flag)
\ 0406 3A0000 LD A,(g_firstplay_flag)
\ 0409 B7 OR A
\ 040A 280A JR Z,?0099
\ 040C ?0098:
360 {
361 g_autoswitch_counter = 0;
\ 040C 210000 LD HL,0
\ 040F 220000 LD (g_autoswitch_counter),HL
362 g_firstplay_flag = FALSE;
\ 0412 AF XOR A
\ 0413 320000 LD (g_firstplay_flag),A
\ 0416 ?0099:
363 }
364 #endif
365 result = do_play(need_restore);
\ 0416 ED5B0100 LD DE,(need_restore)
\ 041A 3E00 LD A,BYTE3 do_play
\ 041C 210000 LD HL,LWRD do_play
\ 041F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0422 E5 PUSH HL
\ 0423 FDE1 POP IY
366
367 //check result
368 switch(result)
\ 0425 EB EX DE,HL
\ 0426 CD0000 CALL LWRD ?S_S_SWITCH_L06
\ 0429 6500 DEFW 101
\ 042B 0800 DEFW 8
\ 042D 7605 DEFW ?0147
\ 042F FD04 DEFW ?0128
\ 0431 8904 DEFW ?0110
\ 0433 3F04 DEFW ?0101
\ 0435 4705 DEFW ?0143
\ 0437 EE04 DEFW ?0127
\ 0439 D204 DEFW ?0119
\ 043B 8904 DEFW ?0110
\ 043D 3F04 DEFW ?0101
\ 043F ?0101:
369 {
370 case RESULT_NEXT_PAUSE:
371 case RESULT_NEXT: //recommended by ryan
372 //output8(0x4e,input8(0x4e)| 0x08);
373 if(g_voice_vars.repeat_mode == 1) //repeat one
\ 043F 3A0300 LD A,(g_voice_vars+3)
\ 0442 3D DEC A
\ 0443 200E JR NZ,?0103
\ 0445 ?0102:
374 {
375 need_parse = sel_next(TRUE);
\ 0445 1E01 LD E,1
\ 0447 180C JR ?0167
\ 0449 210000 LD HL,LWRD sel_next
\ 044C 180C JR ?0174
\ 044E DD75F2 LD (IX-14),L
\ 0451 180D JR ?0104
\ 0453 ?0103:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -