📄 show_stop.lst
字号:
\ 0224 3E00 LD A,BYTE3 show_stop_menu
\ 0226 210000 LD HL,LWRD show_stop_menu
\ 0229 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
225 if(result == RESULT_DIR_CHANGED ||
226 g_record_vars.rec_bitrate != rec_bitrate)
\ 022C 3E67 LD A,103
\ 022E AD XOR L
\ 022F B4 OR H
\ 0230 2809 JR Z,?0030
\ 0232 3A0300 LD A,(g_record_vars+3)
\ 0235 DDBEFC CP (IX-4)
\ 0238 CA9E04 JP Z,?0083
\ 023B ?0030:
\ 023B ?0031:
\ 023B ?0028:
227 {
228 g_record_vars.Rec_Fsrate=rec_FsrateCodec[g_record_vars.rec_bitrate];
\ 023B ED4B0300 LD BC,(g_record_vars+3)
\ 023F 0600 LD B,0
\ 0241 210400 LD HL,rec_FsrateCodec
\ 0244 09 ADD HL,BC
\ 0245 46 LD B,(HL)
\ 0246 78 LD A,B
\ 0247 320200 LD (g_record_vars+2),A
229 //重新分析文件个数
230 need_parse = TRUE;
\ 024A C36304 JP LWRD ?0073
231 continue;
\ 024D ?0029:
232 }
233 else return result;
234
235 }
\ 024D ?0027:
236
237
238 parse_total_time();
\ 024D 3E00 LD A,BYTE3 parse_total_time
\ 024F 210000 LD HL,LWRD parse_total_time
\ 0252 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
239 if(channelnum == DUAL_CH)
\ 0255 3A0A00 LD A,(channelnum)
\ 0258 3D DEC A
\ 0259 3D DEC A
\ 025A 010000 LD BC,currentBitrate
\ 025D ED5B0300 LD DE,(g_record_vars+3)
\ 0261 200A JR NZ,?0033
\ 0263 ?0032:
240 itoa_3(((WORD)rec_Fsrate[g_record_vars.rec_bitrate])*8,¤tBitrate[0]);
\ 0263 57 LD D,A
\ 0264 210000 LD HL,rec_Fsrate
\ 0267 19 ADD HL,DE
\ 0268 6E LD L,(HL)
\ 0269 62 LD H,D
\ 026A 29 ADD HL,HL
\ 026B 1808 JR ?0084
241 else
\ 026D ?0033:
242 itoa_3(((WORD)rec_Fsrate[g_record_vars.rec_bitrate])*4,¤tBitrate[0]);
\ 026D 1600 LD D,0
\ 026F 210000 LD HL,rec_Fsrate
\ 0272 19 ADD HL,DE
\ 0273 6E LD L,(HL)
\ 0274 62 LD H,D
\ 0275 ?0084:
\ 0275 29 ADD HL,HL
\ 0276 29 ADD HL,HL
\ 0277 EB EX DE,HL
\ 0278 3E00 LD A,BYTE3 itoa_3
\ 027A 210000 LD HL,LWRD itoa_3
\ 027D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0280 ?0034:
243
244 //check disk out
245 if(g_free_space == 0)
\ 0280 2A0000 LD HL,(g_free_space)
\ 0283 7D LD A,L
\ 0284 B4 OR H
\ 0285 2A0200 LD HL,(g_free_space+2)
\ 0288 B5 OR L
\ 0289 B4 OR H
\ 028A 2016 JR NZ,?0036
\ 028C ?0035:
246 {
247 ap_sleep(4);
\ 028C 110400 LD DE,4
\ 028F 3E00 LD A,BYTE3 ap_sleep
\ 0291 210000 LD HL,LWRD ap_sleep
\ 0294 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0297 ?0038:
248 while( ap_get_message() != NULL){ ; }
\ 0297 CD0000 CALL LWRD ap_get_message
\ 029A B7 OR A
\ 029B 20FA JR NZ,?0038
\ 029D ?0039:
\ 029D ?0037:
249 return show_error(MWRIERR);
\ 029D 11FF01 LD DE,511
\ 02A0 1811 JR ?0087
250 }
\ 02A2 ?0036:
251
252 //check codec error, report dir out
253 if(g_rec_event == AP_EVENT_CODEC_ERR)
\ 02A2 2A0000 LD HL,(g_rec_event)
\ 02A5 3E01 LD A,1
\ 02A7 AC XOR H
\ 02A8 B5 OR L
\ 02A9 2013 JR NZ,?0041
\ 02AB ?0040:
254 {
255 g_rec_event = 0;
\ 02AB 6F LD L,A
\ 02AC 67 LD H,A
\ 02AD 220000 LD (g_rec_event),HL
256 //ap_del_event(AP_EVENT_CODEC_ERR);
257 return show_error(MDIROUT);
\ 02B0 111902 LD DE,537
\ 02B3 ?0087:
\ 02B3 3E00 LD A,BYTE3 show_error
\ 02B5 210000 LD HL,LWRD show_error
\ 02B8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
258 }
\ 02BB C39E04 JP LWRD ?0083
\ 02BE ?0041:
259
260 //gen file name
261 format_filename();
\ 02BE 3E00 LD A,BYTE3 format_filename
\ 02C0 213501 LD HL,LWRD format_filename
\ 02C3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
262
263 if(!gen_filename())
\ 02C6 3E00 LD A,BYTE3 gen_filename
\ 02C8 215D01 LD HL,LWRD gen_filename
\ 02CB CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02CE 2C INC L
\ 02CF 2D DEC L
\ 02D0 2017 JR NZ,?0043
\ 02D2 ?0042:
264 {
265 //print some error message
266 return ui_show_msg (DFILEOUT, DFILEOUT, g_comval.langid);
\ 02D2 ED4B0C00 LD BC,(g_comval+12)
\ 02D6 45 LD B,L
\ 02D7 C5 PUSH BC
\ 02D8 017402 LD BC,628
\ 02DB 59 LD E,C
\ 02DC 50 LD D,B
\ 02DD 3E00 LD A,BYTE3 ui_show_msg
\ 02DF 210000 LD HL,LWRD ui_show_msg
\ 02E2 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 02E5 F1 POP AF
267 }
\ 02E6 C39E04 JP LWRD ?0083
\ 02E9 ?0043:
268
269 need_parse = FALSE;
270 need_draw = TRUE;
\ 02E9 DD36F900 LD (IX-7),0
\ 02ED DD36FA01 LD (IX-6),1
\ 02F1 ?0025:
271 }
272
273 //show ui
274 if(need_draw)
\ 02F1 AF XOR A
\ 02F2 DDB6FA OR (IX-6)
\ 02F5 285A JR Z,?0045
\ 02F7 ?0044:
275 {
276 ui_draw();
\ 02F7 3E00 LD A,BYTE3 ui_draw
\ 02F9 210000 LD HL,LWRD ui_draw
\ 02FC CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
277
278 // current time
279 // ui_show_ef("00:00:00", 0);
280 g_rec_time.hour=0;
\ 02FF AF XOR A
\ 0300 320000 LD (g_rec_time),A
281 g_rec_time.minute=0;
\ 0303 320100 LD (g_rec_time+1),A
282 g_rec_time.second=0;
\ 0306 320200 LD (g_rec_time+2),A
283 itoa_1(g_rec_time.hour, &g_now_time[0]);
\ 0309 010000 LD BC,g_now_time
\ 030C ED5B0000 LD DE,(g_rec_time)
\ 0310 3E00 LD A,BYTE3 itoa_1
\ 0312 210000 LD HL,LWRD itoa_1
\ 0315 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
284 g_now_time[1]=':';
\ 0318 3E3A LD A,58
\ 031A 320100 LD (g_now_time+1),A
285 itoa_2(g_rec_time.minute, &g_now_time[2]);
\ 031D 010200 LD BC,g_now_time+2
\ 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
286 g_now_time[4]=':';
\ 032C 3E3A LD A,58
\ 032E 320400 LD (g_now_time+4),A
287 itoa_2(g_rec_time.second, &g_now_time[5]);
\ 0331 010500 LD BC,g_now_time+5
\ 0334 ED5B0200 LD DE,(g_rec_time+2)
\ 0338 3E00 LD A,BYTE3 itoa_2
\ 033A 210000 LD HL,LWRD itoa_2
\ 033D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
288 ui_show_d(g_now_time,0);
\ 0340 0E00 LD C,0
\ 0342 110000 LD DE,g_now_time
\ 0345 3E00 LD A,BYTE3 ui_show_d
\ 0347 210000 LD HL,LWRD ui_show_d
\ 034A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
289
290 need_draw = FALSE;
\ 034D DD36FA00 LD (IX-6),0
\ 0351 ?0045:
291 }//neeed_draw
292
293
294 //handle msg
295 key = ap_get_message();
\ 0351 CD0000 CALL LWRD ap_get_message
\ 0354 DD77F8 LD (IX-8),A
296
297 //fix key for auto start
298 if(auto_start)
\ 0357 AF XOR A
\ 0358 DDB6FE OR (IX-2)
\ 035B 2808 JR Z,?0047
\ 035D ?0046:
299 {
300 key = AP_KEY_AB |AP_KEY_UP;
301 auto_start = FALSE;
\ 035D DD36F831 LD (IX-8),49
\ 0361 DD36FE00 LD (IX-2),0
\ 0365 ?0047:
302 }
303
304 switch( key )
\ 0365 DD5EF8 LD E,(IX-8)
\ 0368 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 036B 0700 DEFW 7
\ 036D 10 DEFB 16
\ 036E 11 DEFB 17
\ 036F 1B DEFB 27
\ 0370 1C DEFB 28
\ 0371 21 DEFB 33
\ 0372 30 DEFB 48
\ 0373 31 DEFB 49
\ 0374 8304 DEFW ?0077
\ 0376 DA03 DEFW ?0065
\ 0378 8403 DEFW ?0050
\ 037A DA03 DEFW ?0065
\ 037C 6A04 DEFW ?0076
\ 037E 6A04 DEFW ?0076
\ 0380 FD01 DEFW ?0022
\ 0382 D203 DEFW ?0052
\ 0384 ?0049:
305 {
306 case AP_KEY_MODE:
307 g_menu_active=TRUE;
308 break;
\ 0384 ?0050:
309 case AP_KEY_MODE | AP_KEY_UP:
310 if(g_menu_active)
\ 0384 3A0B00 LD A,(g_menu_active)
\ 0387 B7 OR A
\ 0388 2848 JR Z,?0052
\ 038A ?0051:
311 {
312 //check the type changed
313 rec_bitrate = g_record_vars.rec_bitrate;
\ 038A 3A0300 LD A,(g_record_vars+3)
\ 038D DD77FC LD (IX-4),A
314
315 if (g_rec_from != R_FM) //非FM录音停止菜单界面 by ccm
\ 0390 3A0000 LD A,(g_rec_from)
\ 0393 FE40 CP 64
\ 0395 2807 JR Z,?0054
\ 0397 ?0053:
316 result = show_stop_menu();
\ 0397 3E00 LD A,BYTE3 show_stop_menu
\ 0399 210000 LD HL,LWRD show_stop_menu
\ 039C 1805 JR ?0085
317 else //FM录音停止菜单界面
\ 039E ?0054:
318 result = fm_show_stop_menu();
\ 039E 3E00 LD A,BYTE3 fm_show_stop_menu
\ 03A0 210000 LD HL,LWRD fm_show_stop_menu
\ 03A3 ?0085:
\ 03A3 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03A6 ?0055:
319
320 if(result == RESULT_DIR_CHANGED ||
321 g_record_vars.rec_bitrate != rec_bitrate)
\ 03A6 3E67 LD A,103
\ 03A8 AD XOR L
\ 03A9 B4 OR H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -