ui_play.lst
来自「MP3 整个 SDK」· LST 代码 · 共 1,122 行 · 第 1/4 页
LST
1,122 行
243 break;
\ 035D ?0114:
244
245 case AP_KEY_MODE | AP_KEY_UP:
246 //Stop_display=0;
247 break;
\ 035D ?0115:
248
249 case AP_KEY_PLAY | AP_KEY_UP:
250 return 0;
251
252 case AP_MSG_SD_OUT:
\ 035D ?0116:
253 if (g_viewpic_vars.location.disk == 'H')
\ 035D 3A0400 LD A,(g_viewpic_vars+4)
\ 0360 FE48 CP 72
\ 0362 2019 JR NZ,?0118
\ 0364 ?0117:
254 {
255 g_viewpic_vars.location.disk = 'C';
\ 0364 3E43 LD A,67
\ 0366 320400 LD (g_viewpic_vars+4),A
256 ui_err_msg(CARDPULL,CARDPULL,g_comval.langid);//显示卡拔出
\ 0369 ED4B0C00 LD BC,(g_comval+12)
\ 036D 42 LD B,D
\ 036E C5 PUSH BC
\ 036F CD8A02 CALL LWRD ?0170
\ 0372 F1 POP AF
257 need_sel_file=TRUE;
\ 0373 3E01 LD A,1
\ 0375 320000 LD (need_sel_file),A
258 return 0;
\ 0378 ?0156:
\ 0378 210000 LD HL,0
259 }
\ 037B 1846 JR ?0130
\ 037D ?0118:
\ 037D ?0119:
260
261 default:
262 key = ap_handle_hotkey( key);
\ 037D FDE5 PUSH IY
\ 037F E1 POP HL
\ 0380 5D LD E,L
\ 0381 CD0000 CALL LWRD ap_handle_hotkey
\ 0384 4F LD C,A
\ 0385 C5 PUSH BC
\ 0386 FDE1 POP IY
263 if(key == RESULT_REDRAW) need_draw = TRUE;
\ 0388 3E32 LD A,50
\ 038A A9 XOR C
\ 038B 2006 JR NZ,?0121
\ 038D ?0120:
\ 038D ?0157:
\ 038D DD36FD01 LD (IX-3),1
\ 0391 1807 JR ?0124
\ 0393 ?0121:
264 else if(key != 0) return key;
\ 0393 FDE5 PUSH IY
\ 0395 E1 POP HL
\ 0396 7D LD A,L
\ 0397 B4 OR H
\ 0398 2029 JR NZ,?0130
\ 039A ?0123:
265 }
\ 039A ?0124:
\ 039A ?0122:
\ 039A ?0108:
266 //if((need_draw)&&(Stop_display==0))
267 if(need_draw)
\ 039A AF XOR A
\ 039B DDB6FD OR (IX-3)
\ 039E CABD02 JP Z,?0084
\ 03A1 ?0125:
268 {
269 if(active < g_file_total - 1)active++;
\ 03A1 ED4B0000 LD BC,(g_file_total)
\ 03A5 0B DEC BC
\ 03A6 2A0000 LD HL,(active)
\ 03A9 F680 OR 128
\ 03AB ED42 SBC HL,BC
\ 03AD E2B103 JP PO,?0152
\ 03B0 AC XOR H
\ 03B1 ?0152:
\ 03B1 F2BA03 JP P,?0128
\ 03B4 ?0127:
\ 03B4 2A0000 LD HL,(active)
\ 03B7 23 INC HL
\ 03B8 1803 JR ?0153
270 else
\ 03BA ?0128:
271 active = 0;
\ 03BA 210000 LD HL,0
\ 03BD ?0153:
\ 03BD ?0129:
272 sel_next(TRUE);
\ 03BD CD7102 CALL LWRD ?0168
\ 03C0 ?0126:
\ 03C0 C3BD02 JP LWRD ?0084
273 }
274
275 }
276 return result;
277 }
\ 03C3 ?0130:
\ 03C3 C33702 JP LWRD ?0083
\ 03C6 do_play:
278
279 int do_play(void)
280 {
\ 03C6 C5 PUSH BC
\ 03C7 D5 PUSH DE
\ 03C8 DDE5 PUSH IX
\ 03CA 21E0FF LD HL,65504
\ 03CD 39 ADD HL,SP
\ 03CE F9 LD SP,HL
281 int result;
282 comval_t g_comval;
283 SetBackgdColor(Color_BLACK_def);
\ 03CF 010000 LD BC,0
\ 03D2 59 LD E,C
\ 03D3 50 LD D,B
\ 03D4 CD0000 CALL LWRD SetBackgdColor
284 InitLcmDeviceInfor(&Dscinf);
\ 03D7 110000 LD DE,Dscinf
\ 03DA 3E00 LD A,BYTE3 InitLcmDeviceInfor
\ 03DC 210000 LD HL,LWRD InitLcmDeviceInfor
\ 03DF CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
285
286 //关闭背光时间
287 VMRead(& g_comval, VM_SYSTEM, sizeof(g_comval));
\ 03E2 212000 LD HL,32
\ 03E5 E5 PUSH HL
\ 03E6 010002 LD BC,512
\ 03E9 68 LD L,B
\ 03EA 39 ADD HL,SP
\ 03EB EB EX DE,HL
\ 03EC CD0000 CALL LWRD VMRead
\ 03EF E1 POP HL
288 g_comval.LightTime = 0;
\ 03F0 210900 LD HL,9
\ 03F3 39 ADD HL,SP
\ 03F4 3600 LD (HL),0
289 ap_message_init(& g_comval);
\ 03F6 210000 LD HL,0
\ 03F9 39 ADD HL,SP
\ 03FA EB EX DE,HL
\ 03FB 3E00 LD A,BYTE3 ap_message_init
\ 03FD 210000 LD HL,LWRD ap_message_init
\ 0400 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
290
291 switch(g_viewpic_vars.playflag)
\ 0403 3A0200 LD A,(g_viewpic_vars+2)
\ 0406 FE00 CP 0
\ 0408 2007 JR NZ,?0133
\ 040A ?0132:
292 {
293 case 0:
294 result=Manual_play();
\ 040A 3E00 LD A,BYTE3 Manual_play
\ 040C 21AE00 LD HL,LWRD Manual_play
\ 040F 1809 JR ?0165
295 break;
\ 0411 ?0133:
\ 0411 FE01 CP 1
\ 0413 200D JR NZ,?0134
296 case 1:
297 result=Auto_play();
\ 0415 3E00 LD A,BYTE3 Auto_play
\ 0417 219702 LD HL,LWRD Auto_play
\ 041A ?0165:
\ 041A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 041D E5 PUSH HL
\ 041E DDE1 POP IX
298 break;
\ 0420 1804 JR ?0131
\ 0422 ?0134:
299 default:
300 result = 0;
\ 0422 DD210000 LD IX,0
\ 0426 ?0131:
301 }
302 //恢复背光时间
303 VMRead(& g_comval, VM_SYSTEM, sizeof(g_comval));
\ 0426 212000 LD HL,32
\ 0429 E5 PUSH HL
\ 042A 010002 LD BC,512
\ 042D 68 LD L,B
\ 042E 39 ADD HL,SP
\ 042F EB EX DE,HL
\ 0430 CD0000 CALL LWRD VMRead
\ 0433 E1 POP HL
304 ap_message_init(& g_comval);
\ 0434 210000 LD HL,0
\ 0437 39 ADD HL,SP
\ 0438 EB EX DE,HL
\ 0439 3E00 LD A,BYTE3 ap_message_init
\ 043B 210000 LD HL,LWRD ap_message_init
\ 043E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
305
306 ClearScreen(NULL);
\ 0441 110000 LD DE,0
\ 0444 CD0000 CALL LWRD ClearScreen
307 SetDrawMode(DrawModeH_def);
\ 0447 1E00 LD E,0
\ 0449 CD0000 CALL LWRD SetDrawMode
308 SetBackgdColor(Color_WHITE_def);
\ 044C 010000 LD BC,0
\ 044F 11FFFF LD DE,65535
\ 0452 CD0000 CALL LWRD SetBackgdColor
309 if(err_id==0)
\ 0455 3A0900 LD A,(err_id)
\ 0458 B7 OR A
\ 0459 2005 JR NZ,?0136
\ 045B ?0135:
310 {
311 return result;
\ 045B DDE5 PUSH IX
\ 045D E1 POP HL
312 }
\ 045E 180F JR ?0137
\ 0460 ?0136:
313 else
314 {
315 return ui_err_msg(MFMTERR,MFMTERR,g_comval.langid);
\ 0460 210C00 LD HL,12
\ 0463 39 ADD HL,SP
\ 0464 4E LD C,(HL)
\ 0465 0600 LD B,0
\ 0467 C5 PUSH BC
\ 0468 018E01 LD BC,398
\ 046B CD8D02 CALL LWRD ?0171
\ 046E F1 POP AF
316 }
\ 046F ?0137:
\ 046F EB EX DE,HL
\ 0470 212000 LD HL,32
\ 0473 39 ADD HL,SP
\ 0474 F9 LD SP,HL
\ 0475 EB EX DE,HL
\ 0476 DDE1 POP IX
\ 0478 D1 POP DE
\ 0479 C1 POP BC
\ 047A C30000 JP LWRD ?BANK_FAST_LEAVE_L08
317 }
\ 0000 RSEG CONST
\ 0000 ?0002:
\ 0000 4A5047 DEFB 'JPG'
\ 0003 00 DEFB 0
\ 0004 424D50 DEFB 'BMP'
\ 0007 00 DEFB 0
\ 0008 474946 DEFB 'GIF'
\ 000B 00 DEFB 0
\ 0000 RSEG UDATA0
\ 0000 Dscinf:
\ 0007 DEFS 7
\ 0007 fp:
\ 0009 DEFS 2
\ 0009 err_id:
\ 000A DEFS 1
\ 000A Stop_display:
\ 000B DEFS 1
\ 000B count_autoplay:
\ 000C DEFS 1
\ 000C Delaytime:
\ 000D DEFS 1
\ 000D message_temp:
\ 001D DEFS 16
\ 001D PictureType:
\ 001E DEFS 1
\ 001E END
Errors: none
Warnings: none
Code size: 1149
Constant size: 12
Static variable size: Data(30) Iram(0)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?