show_stop.lst
来自「MP3 整个 SDK」· LST 代码 · 共 1,184 行 · 第 1/4 页
LST
1,184 行
218 result = show_stop_menu();
\ 021F 3E00 LD A,BYTE3 show_stop_menu
\ 0221 210000 LD HL,LWRD show_stop_menu
\ 0224 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
219 if(result == RESULT_DIR_CHANGED ||
220 g_record_vars.rec_bitrate != rec_bitrate)
\ 0227 3E67 LD A,103
\ 0229 AD XOR L
\ 022A B4 OR H
\ 022B 2809 JR Z,?0030
\ 022D 3A0300 LD A,(g_record_vars+3)
\ 0230 DDBEFC CP (IX-4)
\ 0233 CA8A04 JP Z,?0086
\ 0236 ?0030:
\ 0236 ?0031:
\ 0236 ?0028:
221 {
222 g_record_vars.Rec_Fsrate=rec_FsrateCodec[g_record_vars.rec_bitrate];
\ 0236 ED4B0300 LD BC,(g_record_vars+3)
\ 023A 0600 LD B,0
\ 023C 210400 LD HL,rec_FsrateCodec
\ 023F 09 ADD HL,BC
\ 0240 46 LD B,(HL)
\ 0241 78 LD A,B
\ 0242 320200 LD (g_record_vars+2),A
223 //重新分析文件个数
224 need_parse = TRUE;
\ 0245 C36804 JP LWRD ?0096
225 continue;
\ 0248 ?0029:
226 }
227 else return result;
228
229 }
\ 0248 ?0027:
230
231
232 parse_total_time();
\ 0248 3E00 LD A,BYTE3 parse_total_time
\ 024A 210000 LD HL,LWRD parse_total_time
\ 024D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
233 if(channelnum == DUAL_CH)
\ 0250 3A0A00 LD A,(channelnum)
\ 0253 3D DEC A
\ 0254 3D DEC A
\ 0255 010000 LD BC,currentBitrate
\ 0258 ED5B0300 LD DE,(g_record_vars+3)
\ 025C 200A JR NZ,?0033
\ 025E ?0032:
234 itoa_3(((WORD)rec_Fsrate[g_record_vars.rec_bitrate])*8,¤tBitrate[0]);
\ 025E 57 LD D,A
\ 025F 210000 LD HL,rec_Fsrate
\ 0262 19 ADD HL,DE
\ 0263 6E LD L,(HL)
\ 0264 62 LD H,D
\ 0265 29 ADD HL,HL
\ 0266 1808 JR ?0087
235 else
\ 0268 ?0033:
236 itoa_3(((WORD)rec_Fsrate[g_record_vars.rec_bitrate])*4,¤tBitrate[0]);
\ 0268 1600 LD D,0
\ 026A 210000 LD HL,rec_Fsrate
\ 026D 19 ADD HL,DE
\ 026E 6E LD L,(HL)
\ 026F 62 LD H,D
\ 0270 ?0087:
\ 0270 29 ADD HL,HL
\ 0271 29 ADD HL,HL
\ 0272 EB EX DE,HL
\ 0273 3E00 LD A,BYTE3 itoa_3
\ 0275 210000 LD HL,LWRD itoa_3
\ 0278 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 027B ?0034:
237
238 //check disk out
239 if(g_free_space == 0)
\ 027B 2A0000 LD HL,(g_free_space)
\ 027E 7D LD A,L
\ 027F B4 OR H
\ 0280 2A0200 LD HL,(g_free_space+2)
\ 0283 B5 OR L
\ 0284 B4 OR H
\ 0285 2016 JR NZ,?0036
\ 0287 ?0035:
240 {
241 ap_sleep(4);
\ 0287 110400 LD DE,4
\ 028A 3E00 LD A,BYTE3 ap_sleep
\ 028C 210000 LD HL,LWRD ap_sleep
\ 028F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0292 ?0038:
242 while( ap_get_message() != NULL){ ; }
\ 0292 CD0000 CALL LWRD ap_get_message
\ 0295 B7 OR A
\ 0296 20FA JR NZ,?0038
\ 0298 ?0039:
\ 0298 ?0037:
243 return show_error(MWRIERR);
\ 0298 118A01 LD DE,394
\ 029B 1820 JR ?0090
244 }
\ 029D ?0036:
245
246 //check codec error, report dir out
247 if(ap_get_event(AP_EVENT_CODEC_ERR, AP_EVENT_ANY) != 0)
\ 029D 010000 LD BC,0
\ 02A0 110001 LD DE,256
\ 02A3 3E00 LD A,BYTE3 ap_get_event
\ 02A5 210000 LD HL,LWRD ap_get_event
\ 02A8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02AB 7D LD A,L
\ 02AC B4 OR H
\ 02AD 2814 JR Z,?0041
\ 02AF ?0040:
248 {
249 ap_del_event(AP_EVENT_CODEC_ERR);
\ 02AF 110001 LD DE,256
\ 02B2 3E00 LD A,BYTE3 ap_del_event
\ 02B4 210000 LD HL,LWRD ap_del_event
\ 02B7 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
250 return show_error(MDIROUT);
\ 02BA 118D01 LD DE,397
\ 02BD ?0090:
\ 02BD CD9704 CALL LWRD ?0100
251 }
\ 02C0 C38A04 JP LWRD ?0086
\ 02C3 ?0041:
252
253 //gen file name
254 format_filename();
\ 02C3 3E00 LD A,BYTE3 format_filename
\ 02C5 213501 LD HL,LWRD format_filename
\ 02C8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
255
256 if(!gen_filename())
\ 02CB 3E00 LD A,BYTE3 gen_filename
\ 02CD 215D01 LD HL,LWRD gen_filename
\ 02D0 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02D3 2C INC L
\ 02D4 2D DEC L
\ 02D5 2017 JR NZ,?0043
\ 02D7 ?0042:
257 {
258 //print some error message
259 return ui_show_msg (DFILEOUT, DFILEOUT, g_comval.langid);
\ 02D7 ED4B0C00 LD BC,(g_comval+12)
\ 02DB 45 LD B,L
\ 02DC C5 PUSH BC
\ 02DD 019201 LD BC,402
\ 02E0 59 LD E,C
\ 02E1 50 LD D,B
\ 02E2 3E00 LD A,BYTE3 ui_show_msg
\ 02E4 210000 LD HL,LWRD ui_show_msg
\ 02E7 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02EA F1 POP AF
260 }
\ 02EB C38A04 JP LWRD ?0086
\ 02EE ?0043:
261
262 need_parse = FALSE;
263 need_draw = TRUE;
\ 02EE DD36F800 LD (IX-8),0
\ 02F2 DD36FA01 LD (IX-6),1
\ 02F6 ?0025:
264 }
265
266 //show ui
267 if(need_draw)
\ 02F6 AF XOR A
\ 02F7 DDB6FA OR (IX-6)
\ 02FA 284E JR Z,?0045
\ 02FC ?0044:
268 {
269 ui_draw();
\ 02FC 3E00 LD A,BYTE3 ui_draw
\ 02FE 210000 LD HL,LWRD ui_draw
\ 0301 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
270
271 // current time
272 // ui_show_ef("00:00:00", 0);
273 g_rec_time.hour=0;
\ 0304 AF XOR A
\ 0305 320000 LD (g_rec_time),A
274 g_rec_time.minute=0;
\ 0308 320100 LD (g_rec_time+1),A
275 g_rec_time.second=0;
\ 030B 320200 LD (g_rec_time+2),A
276 itoa_1(g_rec_time.hour, &g_now_time[0]);
\ 030E 010000 LD BC,g_now_time
\ 0311 ED5B0000 LD DE,(g_rec_time)
\ 0315 3E00 LD A,BYTE3 itoa_1
\ 0317 210000 LD HL,LWRD itoa_1
\ 031A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
277 itoa_2(g_rec_time.minute, &g_now_time[1]);
\ 031D 010100 LD BC,g_now_time+1
\ 0320 ED5B0100 LD DE,(g_rec_time+1)
\ 0324 3E00 LD A,BYTE3 itoa_2
\ 0326 210000 LD HL,LWRD itoa_2
\ 0329 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
278 itoa_2(g_rec_time.second, &g_now_time[3]);
\ 032C 010300 LD BC,g_now_time+3
\ 032F ED5B0200 LD DE,(g_rec_time+2)
\ 0333 3E00 LD A,BYTE3 itoa_2
\ 0335 210000 LD HL,LWRD itoa_2
\ 0338 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
279 ui_show_d(g_now_time);
\ 033B 110000 LD DE,g_now_time
\ 033E 3E00 LD A,BYTE3 ui_show_d
\ 0340 210000 LD HL,LWRD ui_show_d
\ 0343 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
280
281 need_draw = FALSE;
\ 0346 DD36FA00 LD (IX-6),0
\ 034A ?0045:
282 }//neeed_draw
283
284
285 //handle msg
286 key = ap_get_message();
\ 034A CD0000 CALL LWRD ap_get_message
\ 034D DD77F9 LD (IX-7),A
287
288 //fix key for auto start
289 if(auto_start)
\ 0350 AF XOR A
\ 0351 DDB6FE OR (IX-2)
\ 0354 2808 JR Z,?0047
\ 0356 ?0046:
290 {
291 key = AP_KEY_AB |AP_KEY_UP;
292 auto_start = FALSE;
\ 0356 DD36F931 LD (IX-7),49
\ 035A DD36FE00 LD (IX-2),0
\ 035E ?0047:
293 }
294
295 switch( key )
\ 035E DD5EF9 LD E,(IX-7)
\ 0361 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 0364 0800 DEFW 8
\ 0366 10 DEFB 16
\ 0367 11 DEFB 17
\ 0368 1B DEFB 27
\ 0369 1C DEFB 28
\ 036A 21 DEFB 33
\ 036B 30 DEFB 48
\ 036C 31 DEFB 49
\ 036D 37 DEFB 55
\ 036E 6F04 DEFW ?0080
\ 0370 3504 DEFW ?0077
\ 0372 D603 DEFW ?0065
\ 0374 8003 DEFW ?0050
\ 0376 D603 DEFW ?0065
\ 0378 1C04 DEFW ?0076
\ 037A 1C04 DEFW ?0076
\ 037C FD01 DEFW ?0022
\ 037E CE03 DEFW ?0052
\ 0380 ?0049:
296 {
297
298
299 case AP_KEY_MODE:
300 g_menu_active=TRUE;
301 break;
\ 0380 ?0050:
302 case AP_KEY_MODE | AP_KEY_UP:
303 if(g_menu_active)
\ 0380 3A0B00 LD A,(g_menu_active)
\ 0383 B7 OR A
\ 0384 2848 JR Z,?0052
\ 0386 ?0051:
304 {
305 //check the type changed
306 rec_bitrate = g_record_vars.rec_bitrate;
\ 0386 3A0300 LD A,(g_record_vars+3)
\ 0389 DD77FC LD (IX-4),A
307
308 if (g_rec_from != R_FM) //非FM录音停止菜单界面 by ccm
\ 038C 3A0000 LD A,(g_rec_from)
\ 038F FE40 CP 64
\ 0391 2807 JR Z,?0054
\ 0393 ?0053:
309 result = show_stop_menu();
\ 0393 3E00 LD A,BYTE3 show_stop_menu
\ 0395 210000 LD HL,LWRD show_stop_menu
\ 0398 1805 JR ?0088
310 else //FM录音停止菜单界面
\ 039A ?0054:
311 result = fm_show_stop_menu();
\ 039A 3E00 LD A,BYTE3 fm_show_stop_menu
\ 039C 210000 LD HL,LWRD fm_show_stop_menu
\ 039F ?0088:
\ 039F CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03A2 ?0055:
312
313 if(result == RESULT_DIR_CHANGED ||
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?