⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ui_director2.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 5 页
字号:
    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 + -