main.lst

来自「MP3 整个 SDK」· LST 代码 · 共 1,352 行 · 第 1/5 页

LST
1,352
字号
   \   03C5  48                LD      C,B
   \   03C6            ?0134:
   \   03C6  1E09              LD      E,9
   \   03C8  C34905            JP      LWRD ?0141
   \   03CB  C34B05            JP      LWRD ?0135
   \   03CE  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    230                            fmSendCommand(MC_GETSTATUS,(int)&FMStatus);
   \   03D1  C34E05            JP      LWRD ?0154
   \   03D4  1E83              LD      E,131
   \   03D6  C35305            JP      LWRD ?0143
   \   03D9  210000            LD      HL,LWRD fmSendCommand
   \   03DC  C35805            JP      LWRD ?0159
    231                            Updateflag=1;
   \   03DF  3E01              LD      A,1
   \   03E1  C35D05            JP      LWRD ?0156
    232                            need_draw=TRUE;
   \   03E4  C3E405            JP      LWRD ?0136
    233                              break;
   \   03E7  C35102            JP      LWRD ?0033
   \   03EA            ?0058:
    234          
    235                      case AP_KEY_MODE|AP_KEY_UP:
    236                          g_list.headid = STOPMENU;
   \   03EA  21EA01            LD      HL,490
   \   03ED  221000            LD      (g_list+6),HL
    237                          g_list.active=active;
   \   03F0  ED4B0100          LD      BC,(?0026)
   \   03F4  42                LD      B,D
   \   03F5  ED430E00          LD      (g_list+4),BC
    238                          g_list.total=6+2;          //'+1' for FM Record by ccm
   \   03F9  210800            LD      HL,8
   \   03FC  220C00            LD      (g_list+2),HL
    239                          g_list.strid=string;
   \   03FF  210000            LD      HL,string
   \   0402  220A00            LD      (g_list),HL
    240                          //menu.string_id=0;                    //多语言修改
    241                          g_list.string_id=F_comval.langid;            //语言标志的选择
   \   0405  3A1F00            LD      A,(g_comval+12)
   \   0408  321200            LD      (g_list+8),A
    242                          result=ui_popup_list(&g_list, NULL);
   \   040B  48                LD      C,B
   \   040C  C5                PUSH    BC
   \   040D  C5                PUSH    BC
   \   040E  110A00            LD      DE,g_list
   \   0411  3E00              LD      A,BYTE3 ui_popup_list
   \   0413  210000            LD      HL,LWRD ui_popup_list
   \   0416  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0419  F1                POP     AF
   \   041A  F1                POP     AF
   \   041B  E5                PUSH    HL
   \   041C  FDE1              POP     IY
    243                          need_draw=TRUE;    
    244                          Updateflag=0; 
   \   041E  AF                XOR     A
   \   041F  323300            LD      (Updateflag),A
    245                          //if(result==RESULT_IGNORE)result=0;    //del by ccm
    246                          if(result==RESULT_IGNORE)               //按PLAY键和8s超时返回FM收音界面,不执行当前激活的菜单!
   \   0422  DD36FC01          LD      (IX-4),1
   \   0426  3E34              LD      A,52
   \   0428  AD                XOR     L
   \   0429  B4                OR      H
   \   042A  2007              JR      NZ,?0060
   \   042C            ?0059:
    247                          {
    248                              result = 0;
   \   042C  FD210000          LD      IY,0
    249                              break;
   \   0430  C35102            JP      LWRD ?0033
   \   0433            ?0060:
    250                          }
    251                          if(result!=0) return result;
   \   0433  7D                LD      A,L
   \   0434  B4                OR      H
   \   0435  2806              JR      Z,?0062
   \   0437            ?0061:
   \   0437  C30906            JP      LWRD ?0120
   \   043A  C30C06            JP      LWRD ?0121
   \   043D            ?0062:
    252                          active = g_list.active;
   \   043D  3A0E00            LD      A,(g_list+4)
   \   0440  320100            LD      (?0026),A
    253                          if(g_list.active==0)                        //电台保存
   \   0443  2A0E00            LD      HL,(g_list+4)
   \   0446  7D                LD      A,L
   \   0447  B4                OR      H
   \   0448  201A              JR      NZ,?0064
   \   044A            ?0063:
    254                          {
    255                              if(fmSendCommand(MC_SAVESTATION,0)!=FALSE)
   \   044A  1E0B              LD      E,11
   \   044C  CD1000            CALL    LWRD ?0169
   \   044F  2C                INC     L
   \   0450  2D                DEC     L
   \   0451  CA5102            JP      Z,?0033
   \   0454            ?0065:
    256                              {
    257                                  fmSendCommand(MC_BACKUP,(int)&radio_param);
   \   0454  1845              JR      ?0158
   \   0456  1E44              LD      E,68
   \   0458  C3CC05            JP      LWRD ?0160
   \   045B  210000            LD      HL,LWRD fmSendCommand
   \   045E  C3D105            JP      LWRD ?0150
   \   0461            ?0066:
   \   0461  C35102            JP      LWRD ?0033
   \   0464            ?0064:
    258                              }
    259                          }
    260                          //menu.active==2: add for FM record by ccm //电台录音
    261                          else if(g_list.active==1)
   \   0464  3E01              LD      A,1
   \   0466  AD                XOR     L
   \   0467  B4                OR      H
   \   0468  2006              JR      NZ,?0069
   \   046A            ?0068:
    262                          {
    263                              return RESULT_FMREC_NOSTART;
   \   046A  210E00            LD      HL,14
    264                          }
   \   046D  C30C06            JP      LWRD ?0121
   \   0470            ?0069:
    265                          else if(g_list.active==2)                //删除单个电台
   \   0470  3E02              LD      A,2
   \   0472  AD                XOR     L
   \   0473  B4                OR      H
   \   0474  201A              JR      NZ,?0071
   \   0476            ?0070:
    266                          {
    267                              if(fmSendCommand(MC_DELONE,0)!=FALSE)
   \   0476  1E55              LD      E,85
   \   0478  CD1000            CALL    LWRD ?0169
   \   047B  2C                INC     L
   \   047C  2D                DEC     L
   \   047D  CA5102            JP      Z,?0033
   \   0480            ?0072:
    268                              {
    269                                  fmSendCommand(MC_BACKUP,(int)&radio_param);
   \   0480  1819              JR      ?0158
   \   0482  1E44              LD      E,68
   \   0484  C3CC05            JP      LWRD ?0160
   \   0487  210000            LD      HL,LWRD fmSendCommand
   \   048A  C3D105            JP      LWRD ?0150
   \   048D            ?0073:
   \   048D  C35102            JP      LWRD ?0033
   \   0490            ?0071:
    270                              }
    271                          }
    272                          else if(g_list.active==3)                //删除全部电台
   \   0490  3E03              LD      A,3
   \   0492  AD                XOR     L
   \   0493  B4                OR      H
   \   0494  2016              JR      NZ,?0076
   \   0496            ?0075:
    273                          {
    274                              fmSendCommand(MC_DELALL,0);
   \   0496  1E56              LD      E,86
   \   0498  CD1000            CALL    LWRD ?0169
    275                              fmSendCommand(MC_BACKUP,(int)&radio_param);
   \   049B            ?0158:
   \   049B  010200            LD      BC,radio_param
   \   049E  1E44              LD      E,68
   \   04A0  C3CC05            JP      LWRD ?0160
   \   04A3  210000            LD      HL,LWRD fmSendCommand
   \   04A6  C3D105            JP      LWRD ?0150
   \   04A9  C35102            JP      LWRD ?0033
   \   04AC            ?0076:
    276                          }
    277                          else if(g_list.active==4)                //全自动搜台.
   \   04AC  3E04              LD      A,4
   \   04AE  AD                XOR     L
   \   04AF  B4                OR      H
   \   04B0  2042              JR      NZ,?0079
   \   04B2            ?0078:
    278                          {
    279                              result=AutoSearchHandle(10);
   \   04B2  1E0A              LD      E,10
   \   04B4  3E00              LD      A,BYTE3 AutoSearchHandle
   \   04B6  210000            LD      HL,LWRD AutoSearchHandle
   \   04B9  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   04BC  E5                PUSH    HL
   \   04BD  FDE1              POP     IY
    280                              if(result==RESULT_IGNORE)result=0;
   \   04BF  3E34              LD      A,52
   \   04C1  AD                XOR     L
   \   04C2  B4                OR      H
   \   04C3  2004              JR      NZ,?0081
   \   04C5            ?0080:
   \   04C5  FD210000          LD      IY,0
   \   04C9            ?0081:
    281                              if(result!=0)return result;
   \   04C9  FDE5              PUSH    IY
   \   04CB  E1                POP     HL
   \   04CC  7D                LD      A,L
   \   04CD  B4                OR      H
   \   04CE  2806              JR      Z,?0083
   \   04D0            ?0082:
   \   04D0  C30906            JP      LWRD ?0120
   \   04D3  C30C06            JP      LWRD ?0121
   \   04D6            ?0083:
    282                              if(FMStatus.volume)
   \   04D6  3A8A00            LD      A,(FMStatus+6)
   \   04D9  B7                OR      A
   \   04DA  CAC405            JP      Z,?0162
   \   04DD            ?0084:
    283                              fmSendCommand(MC_MUTE,releaseMUTE);
   \   04DD  CD0E00            CALL    LWRD ?0170
   \   04E0            ?0085:
    284                              fmSendCommand(MC_SETVOLUME,FMStatus.volume);
   \   04E0  C3C405            JP      LWRD ?0162
   \   04E3  0600              LD      B,0
   \   04E5  C3CA05            JP      LWRD ?0166
   \   04E8  C3CC05            JP      LWRD ?0160
   \   04EB  210000            LD      HL,LWRD fmSendCommand
   \   04EE  C3D105            JP      LWRD ?0150
   \   04F1  C35102            JP      LWRD ?0033
   \   04F4            ?0079:
    285                          }
    286                          else if(g_list.active==5)                //选择日本频段
   \   04F4  3E05              LD      A,5
   \   04F6  AD                XOR     L
   \   04F7  B4                OR      H
   \   04F8  2022              JR      NZ,?0088
   \   04FA            ?0087:
    287                          {
    288                              if(FMStatus.mode==1)
   \   04FA  3A8900            LD      A,(FMStatus+5)
   \   04FD  3D                DEC     A
   \   04FE  C25102            JP      NZ,?0033
   \   0501            ?0089:
    289                              {
    290                                  memcpy(&FMStatusJP,&FMStatus,sizeof(FMStatus));
   \   0501  0E08              LD      C,8
   \   0503  119400            LD      DE,FMStatusJP
   \   0506  218400            LD      HL,FMStatus
   \   0509  EDB0              LDIR
    291                                  memcpy(&FMStatus,&FMStatusUS,sizeof(FMStatus));
   \   050B  0E08              LD      C,8
   \   050D  118400            LD      DE,FMStatus
   \   0510  218C00            LD      HL,FMStatusUS
   \   0513  1827              JR      ?0151
    292                                  BandSwitch=TRUE;
   \   0515  DD36FD01          LD      (IX-3),1
   \   0519            ?0090:
   \   0519  C35102            JP      LWRD ?0033
   \   051C            ?0088:
    293                              }
    294                          }
    295                          else if(g_list.active==6)                //选择欧美频段
   \   051C  3E06              LD      A,6
   \   051E  AD                XOR     L
   \   051F  B4                OR      H
   \   0520  C25102            JP      NZ,?0033
   \   0523            ?0092:
    296                          {
    297                              if(FMStatus.mode==0)
   \   0523  3A8900            LD      A,(FMStatus+5)
   \   0526  B7                OR      A
   \   0527  C25102            JP      NZ,?0033
   \   052A            ?0094:
    298                              {
    299                                  memcpy(&FMStatusUS,&FMStatus,sizeof(FMStatus));
   \   052A  0E08              LD      C,8
   \   052C  118C00            LD      DE,FMStatusUS
   \   052F  218400            LD      HL,FMStatus
   \   0532  EDB0              LDIR
    300                                  memcpy(&FMStatus,&FMStatusJP,sizeof(FMStatus));
   \   0534  0E08              LD      C,8
   \   0536  118400            LD      DE,FMStatus
   \   0539  219400            LD      HL,FMStatusJP
   \   053C            ?0151:
   \   053C  EDB0              LDIR
    301                                  BandSwitch=TRUE;

⌨️ 快捷键说明

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