📄 main.lst
字号:
\ 02E9 CD0000 CALL LWRD DRV_ActiveDrive
\ 02EC B7 OR A
\ 02ED 2056 JR NZ,?0065
\ 02EF ?0053:
356 {
357 if((param!=FMREC_START)&&(param!=FMREC_NOSTART))
\ 02EF 3E0D LD A,13
\ 02F1 DDAEFE XOR (IX-2)
\ 02F4 DDB6FF OR (IX-1)
\ 02F7 2815 JR Z,?0056
\ 02F9 3E0E LD A,14
\ 02FB DDAEFE XOR (IX-2)
\ 02FE DDB6FF OR (IX-1)
\ 0301 280B JR Z,?0056
\ 0303 ?0058:
\ 0303 ?0057:
\ 0303 ?0055:
358 show_error(CREADERR);//显示卡错
\ 0303 117602 LD DE,630
\ 0306 3E00 LD A,BYTE3 show_error
\ 0308 210900 LD HL,LWRD show_error
\ 030B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 030E ?0056:
359 if ((g_DiskStateFlag & SetDiskOKFlag_def) == 0)
\ 030E 3A2000 LD A,(g_DiskStateFlag)
\ 0311 CB7F BIT 7,A
\ 0313 280E JR Z,?0132
\ 0315 ?0059:
360 {
361 ResClose(res_fp);
362 return 0;
363 }
\ 0315 ?0060:
364 g_record_vars.location.disk='C';
\ 0315 3E43 LD A,67
\ 0317 322A00 LD (g_record_vars+10),A
\ 031A ?0054:
365 }
366 }
367 else
\ 031A 1829 JR ?0065
\ 031C ?0052:
368 { //没卡
369 if ((g_DiskStateFlag & SetDiskOKFlag_def) == 0)
\ 031C 3A2000 LD A,(g_DiskStateFlag)
\ 031F CB7F BIT 7,A
\ 0321 2012 JR NZ,?0063
\ 0323 ?0062:
370 {
371 ResClose(res_fp);
\ 0323 ?0132:
\ 0323 ED5B0000 LD DE,(res_fp)
\ 0327 3E00 LD A,BYTE3 ResClose
\ 0329 210000 LD HL,LWRD ResClose
\ 032C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
372 return 0;
\ 032F 210000 LD HL,0
373 }
\ 0332 C33805 JP LWRD ?0123
\ 0335 ?0063:
374
375 if(g_record_vars.location.disk=='H')
\ 0335 3A2A00 LD A,(g_record_vars+10)
\ 0338 FE48 CP 72
\ 033A 2009 JR NZ,?0065
\ 033C ?0064:
376 {
377 g_record_vars.location.disk='C';
\ 033C 3E43 LD A,67
\ 033E 322A00 LD (g_record_vars+10),A
378 need_reset_dir=TRUE;
\ 0341 DD36FA01 LD (IX-6),1
\ 0345 ?0065:
\ 0345 ?0061:
379 }
380 }
381
382 //fix DRV_ActiveDrive()
383 if(g_record_vars.location.disk != 'C' &&
384 g_record_vars.location.disk != 'H')
\ 0345 3A2A00 LD A,(g_record_vars+10)
\ 0348 FE43 CP 67
\ 034A 2809 JR Z,?0067
\ 034C FE48 CP 72
\ 034E 2805 JR Z,?0067
\ 0350 ?0069:
\ 0350 ?0068:
\ 0350 ?0066:
385 {
386 g_record_vars.location.disk = 'C';
\ 0350 3E43 LD A,67
\ 0352 322A00 LD (g_record_vars+10),A
\ 0355 ?0067:
387 }
388 //fix FS_CD()
389 if(g_record_vars.location.path[0] == 0)
\ 0355 3A3800 LD A,(g_record_vars+24)
\ 0358 B7 OR A
\ 0359 2009 JR NZ,?0071
\ 035B ?0070:
390 {
391 strcpy(g_record_vars.location.path, FS_CD_ROOT);
\ 035B 110000 LD DE,?0005
\ 035E 213800 LD HL,g_record_vars+24
\ 0361 CD0000 CALL LWRD ?STRCPY_L11
\ 0364 ?0071:
392 }
393
394 //初始化文件系统
395 if(!DRV_ActiveDrive(g_record_vars.location.disk, 0))
\ 0364 0E00 LD C,0
\ 0366 ED5B2A00 LD DE,(g_record_vars+10)
\ 036A CD0000 CALL LWRD DRV_ActiveDrive
\ 036D B7 OR A
\ 036E 200C JR NZ,?0075
\ 0370 ?0072:
396 {
397 if(!DRV_ActiveDrive('C', 0)) disk_ok = FALSE;
\ 0370 4F LD C,A
\ 0371 1E43 LD E,67
\ 0373 CD0000 CALL LWRD DRV_ActiveDrive
\ 0376 B7 OR A
\ 0377 2003 JR NZ,?0075
\ 0379 ?0074:
\ 0379 DD77F7 LD (IX-9),A
\ 037C ?0075:
\ 037C ?0073:
398 }
399 // read var from vm
400
401 if(disk_ok)
\ 037C AF XOR A
\ 037D DDB6F7 OR (IX-9)
\ 0380 CACC04 JP Z,?0077
\ 0383 ?0076:
402 {
403 SetBackgdColor(Color_MENU_def);
\ 0383 010000 LD BC,0
\ 0386 11FFFF LD DE,65535
\ 0389 CD0000 CALL LWRD SetBackgdColor
404 SetPenColor(Color_BLACK_def);
\ 038C 010000 LD BC,0
\ 038F 59 LD E,C
\ 0390 50 LD D,B
\ 0391 CD0000 CALL LWRD SetPenColor
405 ClearScreen(NULL);
\ 0394 110000 LD DE,0
\ 0397 CD0000 CALL LWRD ClearScreen
406 ResShowMultiString(WAITPASS, g_comval.langid, 255, 58);
\ 039A 0E3A LD C,58
\ 039C C5 PUSH BC
\ 039D 0EFF LD C,255
\ 039F C5 PUSH BC
\ 03A0 ED4B0C00 LD BC,(g_comval+12)
\ 03A4 115802 LD DE,600
\ 03A7 3E00 LD A,BYTE3 ResShowMultiString
\ 03A9 210000 LD HL,LWRD ResShowMultiString
\ 03AC CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03AF F1 POP AF
\ 03B0 F1 POP AF
407
408 //status = FS_SetCurDir(g_record_vars.location.ClusterNo);
409 status = FS_CD(g_record_vars.location.path);
\ 03B1 113800 LD DE,g_record_vars+24
\ 03B4 CD0000 CALL LWRD FS_CD
\ 03B7 DD77F8 LD (IX-8),A
410 if((!status)||need_reset_dir)
\ 03BA B7 OR A
\ 03BB 2806 JR Z,?0080
\ 03BD AF XOR A
\ 03BE DDB6FA OR (IX-6)
\ 03C1 280B JR Z,?0079
\ 03C3 ?0080:
\ 03C3 ?0081:
\ 03C3 ?0078:
411 status = reset_record_dir();
\ 03C3 3E00 LD A,BYTE3 reset_record_dir
\ 03C5 213700 LD HL,LWRD reset_record_dir
\ 03C8 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 03CB DD75F8 LD (IX-8),L
\ 03CE ?0079:
412 //////////////////////////////////////////////////////////////////// zxs add for card Record
413 {
414 g_free_space = (ulong)FS_GetSpace(FS_GET_SPACE_FREE);
\ 03CE 1E01 LD E,1
\ 03D0 CD0000 CALL LWRD FS_GetSpace
\ 03D3 227C00 LD (g_free_space),HL
\ 03D6 ED437E00 LD (g_free_space+2),BC
415
416 if(g_free_space > SPACE_LOW);
\ 03DA C5 PUSH BC
\ 03DB E5 PUSH HL
\ 03DC A7 AND A
\ 03DD 211400 LD HL,20
\ 03E0 C1 POP BC
\ 03E1 ED42 SBC HL,BC
\ 03E3 210000 LD HL,0
\ 03E6 C1 POP BC
\ 03E7 ED42 SBC HL,BC
\ 03E9 3837 JR C,?0089
\ 03EB ?0082:
417 else
\ 03EB ?0083:
418 {
419 if(g_record_vars.location.disk=='C')
\ 03EB 3A2A00 LD A,(g_record_vars+10)
\ 03EE FE43 CP 67
\ 03F0 200D JR NZ,?0086
\ 03F2 ?0085:
420 {
421 if((DRV_DetectUD(1) == 0x20))
\ 03F2 1E01 LD E,1
\ 03F4 CD0000 CALL LWRD DRV_DetectUD
\ 03F7 FE20 CP 32
\ 03F9 2027 JR NZ,?0089
\ 03FB ?0087:
422 {
423 g_record_vars.location.disk='H';
\ 03FB 3E48 LD A,72
\ 03FD 1802 JR ?0133
424 DRV_ActiveDrive(g_record_vars.location.disk, 0);
425 strcpy(g_record_vars.location.path, FS_CD_ROOT);
426 g_record_vars.location.filename[0] = 0;
427 status = reset_record_dir();
\ 03FF ?0088:
428 }
429 }
430 else
\ 03FF ?0086:
431 {
432 g_record_vars.location.disk='C';
\ 03FF 3E43 LD A,67
\ 0401 ?0133:
\ 0401 322A00 LD (g_record_vars+10),A
433 DRV_ActiveDrive(g_record_vars.location.disk, 0);
\ 0404 0E00 LD C,0
\ 0406 5F LD E,A
\ 0407 CD0000 CALL LWRD DRV_ActiveDrive
434 strcpy(g_record_vars.location.path, FS_CD_ROOT);
\ 040A 110000 LD DE,?0005
\ 040D 213800 LD HL,g_record_vars+24
\ 0410 CD0000 CALL LWRD ?STRCPY_L11
435 g_record_vars.location.filename[0] = 0;
\ 0413 AF XOR A
\ 0414 324400 LD (g_record_vars+36),A
436 status = reset_record_dir();
\ 0417 3E00 LD A,BYTE3 reset_record_dir
\ 0419 213700 LD HL,LWRD reset_record_dir
\ 041C CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 041F DD75F8 LD (IX-8),L
\ 0422 ?0089:
\ 0422 ?0084:
437 }
438
439 }
440 }
441 //////////////////////////////////////////////////////////////////// zxs add for card Record
442 //进入后显示 停止界面
443 if(status)
\ 0422 AF XOR A
\ 0423 DDB6F8 OR (IX-8)
\ 0426 CAAC04 JP Z,?0091
\ 0429 ?0090:
444 { make_dirname();
\ 0429 3E00 LD A,BYTE3 make_dirname
\ 042B 215B01 LD HL,LWRD make_dirname
\ 042E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
445 switch(param)
\ 0431 DD4EFE LD C,(IX-2)
\ 0434 DD7EFF LD A,(IX-1)
\ 0437 EE80 XOR 128
\ 0439 47 LD B,A
\ 043A EE80 XOR 128
\ 043C B1 OR C
\ 043D 2010 JR NZ,?0094
\ 043F ?0093:
446 {
447 case NON_FMREC: //主菜单下按mode键,非FM录音.录音源取决于当前.rec_source的设置.
448 g_rec_from = rec_source_tab[g_record_vars.rec_source];
\ 043F ED4B2400 LD BC,(g_record_vars+4)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -