📄 ui_director2.lst
字号:
318 file[0] = 'R';
\ 04E8 DD360052 LD (IX+0),82
319 file[1] = 'O';
\ 04EC DD36014F LD (IX+1),79
320 file[2] = 'O';
\ 04F0 DD36024F LD (IX+2),79
321 file[3] = 'T';
\ 04F4 DD360354 LD (IX+3),84
322 file[4] = 0;
\ 04F8 DD7704 LD (IX+4),A
323 }
324 else
\ 04FB 1808 JR ?0058
\ 04FD ?0057:
325 {
326 file[0] = '\\';
\ 04FD DD36005C LD (IX+0),92
327 file[1] = 0;
\ 0501 DD360100 LD (IX+1),0
\ 0505 ?0058:
328 }
329 fselDirNo[fselDirLayer]=0;
\ 0505 ED4B0000 LD BC,(fselDirLayer)
\ 0509 0600 LD B,0
\ 050B 210000 LD HL,fselDirNo
\ 050E 09 ADD HL,BC
\ 050F 70 LD (HL),B
330 return 1;
\ 0510 1862 JR ?0061
331
332 }
\ 0512 ?0055:
333 else
334 {
335 tmp=0;
336 tmp = Getdirbuf(num);
\ 0512 210000 LD HL,0
\ 0515 39 ADD HL,SP
\ 0516 E5 PUSH HL
\ 0517 59 LD E,C
\ 0518 50 LD D,B
\ 0519 3E00 LD A,BYTE3 Getdirbuf
\ 051B 210000 LD HL,LWRD Getdirbuf
\ 051E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0521 4D LD C,L
\ 0522 44 LD B,H
\ 0523 E1 POP HL
\ 0524 71 LD (HL),C
\ 0525 23 INC HL
\ 0526 70 LD (HL),B
337
338 fselDirNo[fselDirLayer]=tmp;
\ 0527 ED4B0000 LD BC,(fselDirLayer)
\ 052B 0600 LD B,0
\ 052D 210000 LD HL,fselDirNo
\ 0530 09 ADD HL,BC
\ 0531 E5 PUSH HL
\ 0532 210200 LD HL,2
\ 0535 39 ADD HL,SP
\ 0536 46 LD B,(HL)
\ 0537 E1 POP HL
\ 0538 70 LD (HL),B
339
340 if(tmp > 0)
\ 0539 210000 LD HL,0
\ 053C 39 ADD HL,SP
\ 053D 78 LD A,B
\ 053E 23 INC HL
\ 053F B6 OR (HL)
\ 0540 2832 JR Z,?0061
\ 0542 ?0059:
341 {
342 FS_Dir(file, Ui_IgnoreExt, FS_DIR_DIR);
\ 0542 0E81 LD C,129
\ 0544 C5 PUSH BC
\ 0545 010000 LD BC,Ui_IgnoreExt
\ 0548 DDE5 PUSH IX
\ 054A D1 POP DE
\ 054B CD0000 CALL LWRD FS_Dir
\ 054E E1 POP HL
343 for(m = 2; m <= tmp; m++)
\ 054F FD210200 LD IY,2
\ 0553 ?0062:
\ 0553 FDE5 PUSH IY
\ 0555 C1 POP BC
\ 0556 210000 LD HL,0
\ 0559 39 ADD HL,SP
\ 055A 56 LD D,(HL)
\ 055B 23 INC HL
\ 055C 66 LD H,(HL)
\ 055D 6A LD L,D
\ 055E A7 AND A
\ 055F ED42 SBC HL,BC
\ 0561 3811 JR C,?0061
\ 0563 ?0063:
344 FS_Dir(file, Ui_IgnoreExt, FS_DIR_DIR_CONT);
\ 0563 0E01 LD C,1
\ 0565 C5 PUSH BC
\ 0566 010000 LD BC,Ui_IgnoreExt
\ 0569 DDE5 PUSH IX
\ 056B D1 POP DE
\ 056C CD0000 CALL LWRD FS_Dir
\ 056F E1 POP HL
345 }
\ 0570 FD23 INC IY
\ 0572 18DF JR ?0062
\ 0574 ?0061:
\ 0574 ?0060:
346 return 1;
\ 0574 2E01 LD L,1
347 }
\ 0576 ?0065:
\ 0576 F1 POP AF
\ 0577 F1 POP AF
\ 0578 DDE1 POP IX
\ 057A FDE1 POP IY
\ 057C C30000 JP LWRD ?BANK_FAST_LEAVE_L08
348 }
\ 057F DecodeOnePage:
349
350 /********************************************************************************
351 * Description : decode onepage file record .
352 *
353 * Arguments :
354 * top:first record
355 * bottom:last record
356 * type : show file kind
357 * string_id: language type
358 * Returns :
359 *
360 **type= DIRECTORY_MUSIC/DIRECTORY_VOICE/...
361 *
362 ********************************************************************************/
363 void DecodeOnePage(WORD top,WORD bottom,BYTE type, BYTE string_id)
364 {
\ 057F FDE5 PUSH IY
\ 0581 DDE5 PUSH IX
\ 0583 C5 PUSH BC
\ 0584 21CCFF LD HL,65484
\ 0587 39 ADD HL,SP
\ 0588 F9 LD SP,HL
\ 0589 D5 PUSH DE
\ 058A FDE1 POP IY
365 WORD i,NameNum,temp;
366 char Longnamebuf[50];
367 temp=fselTotal;
\ 058C ED4B0000 LD BC,(fselTotal)
\ 0590 71 LD (HL),C
\ 0591 23 INC HL
\ 0592 70 LD (HL),B
368 fselTotal=GetFileTotalCur(FALSE);
\ 0593 1E00 LD E,0
\ 0595 3E00 LD A,BYTE3 GetFileTotalCur
\ 0597 210000 LD HL,LWRD GetFileTotalCur
\ 059A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 059D 220000 LD (fselTotal),HL
369 for(i = top; i <= bottom; i++)
\ 05A0 FDE5 PUSH IY
\ 05A2 DDE1 POP IX
\ 05A4 ?0067:
\ 05A4 DDE5 PUSH IX
\ 05A6 C1 POP BC
\ 05A7 213400 LD HL,52
\ 05AA 39 ADD HL,SP
\ 05AB 56 LD D,(HL)
\ 05AC 23 INC HL
\ 05AD 66 LD H,(HL)
\ 05AE 6A LD L,D
\ 05AF A7 AND A
\ 05B0 ED42 SBC HL,BC
\ 05B2 3876 JR C,?0066
\ 05B4 ?0068:
370 {
371 if(i>dir_total_num) //文件
\ 05B4 2A4B00 LD HL,(dir_total_num)
\ 05B7 ED42 SBC HL,BC
\ 05B9 301B JR NC,?0071
\ 05BB ?0070:
372 {
373 fselGetByNO(file_name, (i - dir_total_num ));
\ 05BB ED4B4B00 LD BC,(dir_total_num)
\ 05BF DDE5 PUSH IX
\ 05C1 E1 POP HL
\ 05C2 A7 AND A
\ 05C3 ED42 SBC HL,BC
\ 05C5 4D LD C,L
\ 05C6 44 LD B,H
\ 05C7 110000 LD DE,file_name
\ 05CA 3E00 LD A,BYTE3 fselGetByNO
\ 05CC 210000 LD HL,LWRD fselGetByNO
\ 05CF CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
374 temp_record.filetype= TYPE_FILE;
\ 05D2 3E01 LD A,1
\ 05D4 180C JR ?0086
375 }
376 else //目录
\ 05D6 ?0071:
377 {
378 get_dir_name(file_name, i );
\ 05D6 110000 LD DE,file_name
\ 05D9 3E00 LD A,BYTE3 get_dir_name
\ 05DB 21C804 LD HL,LWRD get_dir_name
\ 05DE CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
379 temp_record.filetype= TYPE_DIR;
\ 05E1 AF XOR A
\ 05E2 ?0086:
\ 05E2 320000 LD (temp_record),A
\ 05E5 ?0072:
380 }
381 GetLongNameAndSave(file_name,Longnamebuf,string_id); //保存长,短名字到 temp_record
\ 05E5 214000 LD HL,64
\ 05E8 39 ADD HL,SP
\ 05E9 4E LD C,(HL)
\ 05EA C5 PUSH BC
\ 05EB 210400 LD HL,4
\ 05EE 39 ADD HL,SP
\ 05EF 4D LD C,L
\ 05F0 44 LD B,H
\ 05F1 110000 LD DE,file_name
\ 05F4 3E00 LD A,BYTE3 GetLongNameAndSave
\ 05F6 210000 LD HL,LWRD GetLongNameAndSave
\ 05F9 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 05FC E1 POP HL
382 SaveOtherPara(); //保存其他目录结构相关参数到 temp_record
\ 05FD 3E00 LD A,BYTE3 SaveOtherPara
\ 05FF 216900 LD HL,LWRD SaveOtherPara
\ 0602 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
383
384 TransOneRecord(OnePageRecord+i-top,&temp_record); //将temp_record的记录数据保存到idm中
\ 0605 FDE5 PUSH IY
\ 0607 D1 POP DE
\ 0608 DDE5 PUSH IX
\ 060A E1 POP HL
\ 060B A7 AND A
\ 060C ED52 SBC HL,DE
\ 060E EB EX DE,HL
\ 060F 014B00 LD BC,75
\ 0612 CD0000 CALL LWRD ?S_MUL_L02
\ 0615 210000 LD HL,OnePageRecord
\ 0618 19 ADD HL,DE
\ 0619 EB EX DE,HL
\ 061A 3E00 LD A,BYTE3 TransOneRecord
\ 061C 218D00 LD HL,LWRD TransOneRecord
\ 061F 010000 LD BC,temp_record
\ 0622 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0625 DD23 INC IX
\ 0627 C3A405 JP LWRD ?0067
\ 062A ?0066:
385 }
386 fselTotal=temp;
\ 062A 210000 LD HL,0
\ 062D 39 ADD HL,SP
\ 062E 46 LD B,(HL)
\ 062F 23 INC HL
\ 0630 66 LD H,(HL)
\ 0631 68 LD L,B
\ 0632 220000 LD (fselTotal),HL
387 }
\ 0635 213600 LD HL,54
\ 0638 39 ADD HL,SP
\ 0639 F9 LD SP,HL
\ 063A DDE1 POP IX
\ 063C FDE1 POP IY
\ 063E C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0000 RSEG CSTR
\ 0000 ?0047:
\ 0000 5C00 DEFB 92,0
\ 0000 RSEG CONST
\ 0000 file_pos:
\ 0000 77 DEFB 'w'
\ 0001 62 DEFB 'b'
\ 0002 4D DEFB 'M'
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -