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

📄 ui_main_for_music.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 3 页
字号:
    101          ********************************************************************************
    102          * Description : 数字转换成字符串
    103          *
    104          * Arguments   : i, 数字
    105          *               buf, 输出字符串指针,5 bytes
    106          *
    107          * Returns     : 成功, 输出字符串指针
    108          *
    109          * Notes       : 数字只能是 0000~9999
    110          *
    111          ********************************************************************************
    112          */
    113          char *itoa_4(WORD i, char *buf)
    114          {
   \   0090  FDE5              PUSH    IY
   \   0092  DDE5              PUSH    IX
   \   0094  C5                PUSH    BC
   \   0095  DDE1              POP     IX
   \   0097  D5                PUSH    DE
   \   0098  FDE1              POP     IY
    115          
    116              buf[0] = (i % 10000) / 1000+'0' ;
   \   009A  011027            LD      BC,10000
   \   009D  CD0000            CALL    LWRD ?US_MOD_L02
   \   00A0  01E803            LD      BC,1000
   \   00A3  CD8900            CALL    LWRD ?0039
   \   00A6  DD7700            LD      (IX+0),A
    117              buf[1] = (i % 1000) / 100+'0' ;
   \   00A9  FDE5              PUSH    IY
   \   00AB  D1                POP     DE
   \   00AC  CD7400            CALL    LWRD ?0037
   \   00AF  DD7701            LD      (IX+1),A
    118              buf[2] = (i % 100) / 10+'0' ;
   \   00B2  CD8100            CALL    LWRD ?0038
   \   00B5  DD7702            LD      (IX+2),A
    119              buf[3] = (i % 10)+'0';
   \   00B8  FDE5              PUSH    IY
   \   00BA  D1                POP     DE
   \   00BB  CD0000            CALL    LWRD ?US_MOD_L02
   \   00BE  7B                LD      A,E
   \   00BF  C630              ADD     A,48
   \   00C1  DD7703            LD      (IX+3),A
    120              buf[4] = 0;
   \   00C4  DD7004            LD      (IX+4),B
    121          
    122              return buf;
   \   00C7  C36A00            JP      LWRD ?0032
    123          }
   \   00CA            main_ResShowPic:
    124          
    125          
    126          //只有这个界面使用,为了提高效率而放在这里
    127          int main_ResShowPic(WORD id, uchar x, uchar y)
    128          {
   \   00CA  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   00CD  FCFF              DEFW    65532
    129              WORD buf[2];    //buffer for sd read
    130          
    131              ASSERT(id <= UIID_MAX);
    132          
    133              //读entry
    134              SD_FSeek(res_fp, SEEK_SET, (long)id * sizeof(res_entry_t));
   \   00CF  DD6E02            LD      L,(IX+2)
   \   00D2  DD6603            LD      H,(IX+3)
   \   00D5  010000            LD      BC,0
   \   00D8  3E04              LD      A,4
   \   00DA  CD0000            CALL    LWRD ?L_LSH_L03
   \   00DD  C5                PUSH    BC
   \   00DE  E5                PUSH    HL
   \   00DF  0E00              LD      C,0
   \   00E1  ED5B0000          LD      DE,(res_fp)
   \   00E5  CD0000            CALL    LWRD SD_FSeek
   \   00E8  E1                POP     HL
   \   00E9  E1                POP     HL
    135              SD_FRead(res_fp, &res_entry, sizeof(res_entry_t));
   \   00EA  211000            LD      HL,16
   \   00ED  E5                PUSH    HL
   \   00EE  010000            LD      BC,res_entry
   \   00F1  ED5B0000          LD      DE,(res_fp)
   \   00F5  CD0000            CALL    LWRD SD_FRead
   \   00F8  F1                POP     AF
    136              if(res_entry.type != RES_TYPE_PIC) return 0;
   \   00F9  3A0600            LD      A,(res_entry+6)
   \   00FC  3D                DEC     A
   \   00FD  2805              JR      Z,?0003
   \   00FF            ?0002:
   \   00FF  210000            LD      HL,0
    137              ASSERT(res_entry.length <= 512);
   \   0102  1863              JR      ?0006
   \   0104            ?0003:
    138          
    139              //读数据
    140              SD_FSeek(res_fp, SEEK_SET, res_entry.offset);
   \   0104  2A0200            LD      HL,(res_entry+2)
   \   0107  E5                PUSH    HL
   \   0108  2A0000            LD      HL,(res_entry)
   \   010B  E5                PUSH    HL
   \   010C  4F                LD      C,A
   \   010D  ED5B0000          LD      DE,(res_fp)
   \   0111  CD0000            CALL    LWRD SD_FSeek
   \   0114  E1                POP     HL
   \   0115  E1                POP     HL
    141          
    142              SD_FRead(res_fp, buf, sizeof(buf));
   \   0116  210400            LD      HL,4
   \   0119  E5                PUSH    HL
   \   011A  2B                DEC     HL
   \   011B  2B                DEC     HL
   \   011C  39                ADD     HL,SP
   \   011D  4D                LD      C,L
   \   011E  44                LD      B,H
   \   011F  ED5B0000          LD      DE,(res_fp)
   \   0123  CD0000            CALL    LWRD SD_FRead
   \   0126  F1                POP     AF
    143          
    144              res_region.width = (char)buf[0];
   \   0127  DD7EFC            LD      A,(IX-4)
   \   012A  320200            LD      (res_region+2),A
    145              res_region.height = (char)buf[1];
   \   012D  DD7EFE            LD      A,(IX-2)
   \   0130  320300            LD      (res_region+3),A
    146          
    147              //显示
    148              res_region.x = x;
   \   0133  DD7E04            LD      A,(IX+4)
   \   0136  320000            LD      (res_region),A
    149              res_region.y = y;
   \   0139  DD7E0A            LD      A,(IX+10)
   \   013C  320100            LD      (res_region+1),A
    150              PutSDImage(&res_region, res_fp->rwpointer);
   \   013F  211400            LD      HL,20
   \   0142  ED4B0000          LD      BC,(res_fp)
   \   0146  09                ADD     HL,BC
   \   0147  4E                LD      C,(HL)
   \   0148  23                INC     HL
   \   0149  46                LD      B,(HL)
   \   014A  23                INC     HL
   \   014B  5E                LD      E,(HL)
   \   014C  23                INC     HL
   \   014D  56                LD      D,(HL)
   \   014E  D5                PUSH    DE
   \   014F  C5                PUSH    BC
   \   0150  110000            LD      DE,res_region
   \   0153  CD0000            CALL    LWRD PutSDImage
   \   0156  E1                POP     HL
   \   0157  E1                POP     HL
    151              if(ui_auto_update) UpdateScreen(&res_region);
   \   0158  3A0000            LD      A,(ui_auto_update)
   \   015B  B7                OR      A
   \   015C  2806              JR      Z,?0005
   \   015E            ?0004:
   \   015E  110000            LD      DE,res_region
   \   0161  CD0000            CALL    LWRD UpdateScreen
   \   0164            ?0005:
    152              return 1;
   \   0164  210100            LD      HL,1
    153          }
   \   0167            ?0006:
   \   0167  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   016A            ui_show_a:
    154          
    155          
    156          
    157          void ui_show_a(WORD id)                  //音乐类型
    158          {
   \   016A  CD0000            CALL    LWRD ?ENT_PARM_DIRECT_L09
    159              main_ResShowPic(id, POS_TYPE, POSY_TYPE);
   \   016D  0E04              LD      C,4
   \   016F  C5                PUSH    BC
   \   0170  0E42              LD      C,66
   \   0172            ?0033:
   \   0172  CD8101            CALL    LWRD ?0040
   \   0175  F1                POP     AF
    160          
    161          }
   \   0176  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0179            ?0041:
   \   0179  5F                LD      E,A
   \   017A  1600              LD      D,0
   \   017C  21B100            LD      HL,177
   \   017F  19                ADD     HL,DE
   \   0180  EB                EX      DE,HL
   \   0181            ?0040:
   \   0181  3E00              LD      A,BYTE3 main_ResShowPic
   \   0183  21CA00            LD      HL,LWRD main_ResShowPic
   \   0186  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0189            ui_show_b:
    162          void ui_show_b(WORD id)                   //播放模式
    163          {
   \   0189  CD0000            CALL    LWRD ?ENT_PARM_DIRECT_L09
    164            main_ResShowPic(id,  POS_PALYMODE,  POSY_PALYMODE);
   \   018C  0E00              LD      C,0
   \   018E  C5                PUSH    BC
   \   018F  0E80              LD      C,128
   \   0191  C37201            JP      LWRD ?0033
    165          }
   \   0194            ui_show_c:
    166          
    167          //id =0, clear the icon
    168          void ui_show_c(WORD id)              //EQ
    169          {
   \   0194  CD0000            CALL    LWRD ?ENT_PARM_DIRECT_L09
    170              main_ResShowPic(id,POS_EQ,POSY_EQ);
   \   0197  0E04              LD      C,4
   \   0199  C5                PUSH    BC
   \   019A  0EB2              LD      C,178
   \   019C  C37201            JP      LWRD ?0033
    171          }
   \   019F            ui_show_d:
    172          
    173          
    174          
    175          void ui_show_d(const char *string)   //显示当前时间
    176          {   char id;
   \   019F  C5                PUSH    BC
   \   01A0  DDE5              PUSH    IX
   \   01A2  F5                PUSH    AF
   \   01A3  D5                PUSH    DE
   \   01A4  DDE1              POP     IX
    177              id=*string-0x30;
   \   01A6  1A                LD      A,(DE)
   \   01A7  C6D0              ADD     A,208
    178              main_ResShowPic(PRGNUM0+id,POS_SONGTIME,POSY_SONGTIME);
   \   01A9  0E32              LD      C,50
   \   01AB  C5                PUSH    BC
   \   01AC  0E3E              LD      C,62
   \   01AE  CD7901            CALL    LWRD ?0041
   \   01B1  F1                POP     AF
    179              string++;
    180              id= *string-0x30;
   \   01B2  DD7E01            LD      A,(IX+1)
   \   01B5  C6D0              ADD     A,208
    181              main_ResShowPic(PRGNUM0+id,POS_SONGTIME+24,POSY_SONGTIME);
   \   01B7  0E32              LD      C,50
   \   01B9  C5                PUSH    BC
   \   01BA  0E56              LD      C,86
   \   01BC  CD7901            CALL    LWRD ?0041
   \   01BF  F1                POP     AF
    182              string++;
    183              id= *string-0x30;
   \   01C0  DD7E02            LD      A,(IX+2)
   \   01C3  C6D0              ADD     A,208
    184              main_ResShowPic(PRGNUM0+id,POS_SONGTIME+40,POSY_SONGTIME);
   \   01C5  0E32              LD      C,50
   \   01C7  C5                PUSH    BC
   \   01C8  0E66              LD      C,102

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -