tryplaying.lst

来自「MP3 整个 SDK」· LST 代码 · 共 517 行 · 第 1/2 页

LST
517
字号
     88                              {
     89                                  ResShowPic(SLIDPTR,25+k,53);           //显示箭头
   \   00F5  C619              ADD     A,25
   \   00F7  CD0002            CALL    LWRD ?0052
   \   00FA  F1                POP     AF
     90                                  ResShowPic(FMBARBG,0,47);                    //显示US频率条
   \   00FB  0E2F              LD      C,47
   \   00FD  C5                PUSH    BC
   \   00FE  0E00              LD      C,0
   \   0100  113300            LD      DE,51
   \   0103  180E              JR      ?0045
     91                              }
     92                              else
   \   0105            ?0018:
     93                              {
     94                                 ResShowPic(SLIDPTR,40+k,53);            //显示箭头
   \   0105  C628              ADD     A,40
   \   0107  CD0002            CALL    LWRD ?0052
   \   010A  F1                POP     AF
     95                                 ResShowPic(FMJPBAR,0,47);                    //显示JP频率条
   \   010B  0E2F              LD      C,47
   \   010D  C5                PUSH    BC
   \   010E  0E00              LD      C,0
   \   0110  113700            LD      DE,55
   \   0113            ?0045:
   \   0113  CD0302            CALL    LWRD ?0053
   \   0116  F1                POP     AF
   \   0117            ?0019:
     96                              }
     97                              flash_point = 0;
   \   0117  AF                XOR     A
   \   0118  DD77FA            LD      (IX-6),A
   \   011B  DD77FB            LD      (IX-5),A
     98                          }
     99                          else                           // 清除箭头
   \   011E  C36E00            JP      LWRD ?0006
   \   0121            ?0016:
    100                          {
    101          
    102                              if(FMStatus.mode==0)
   \   0121  B7                OR      A
   \   0122  0E2F              LD      C,47
   \   0124  C5                PUSH    BC
   \   0125  2005              JR      NZ,?0022
   \   0127            ?0021:
    103                              {
    104                                 ResShowPic(FMBARBG,0,47);
   \   0127  4F                LD      C,A
   \   0128  1E33              LD      E,51
   \   012A  1803              JR      ?0046
    105                              }
    106                              else
   \   012C            ?0022:
    107                              {
    108                                 ResShowPic(FMJPBAR,0,47);
   \   012C  4A                LD      C,D
   \   012D  1E37              LD      E,55
   \   012F            ?0046:
   \   012F  CD0302            CALL    LWRD ?0053
   \   0132  F1                POP     AF
   \   0133            ?0023:
    109                              }
    110          
    111                              flash_point = 1;
   \   0133  DD36FA01          LD      (IX-6),1
   \   0137  DD36FB00          LD      (IX-5),0
   \   013B            ?0020:
    112          
    113                          }
    114                     //     UpdateScreen(NULL);
    115                          break;
   \   013B  C36E00            JP      LWRD ?0006
   \   013E            ?0024:
    116                      case AP_KEY_VOLADD:
    117                      case AP_KEY_VOLADD | AP_KEY_HOLD:
    118                       if (FMStatus.volume ++ <31)
   \   013E  210600            LD      HL,FMStatus+6
   \   0141  7E                LD      A,(HL)
   \   0142  34                INC     (HL)
   \   0143  FE1F              CP      31
   \   0145  380D              JR      C,?0048
   \   0147            ?0025:
    119                          {
    120                              ui_show_volfm(FMStatus.volume);   //显示音量
    121                              fmSendCommand(MC_SETVOLUME, FMStatus.volume);
    122                          }
    123                          else
   \   0147            ?0026:
    124                          {
    125                              FMStatus.volume = 31;
   \   0147  3E1F              LD      A,31
   \   0149  1819              JR      ?0047
   \   014B            ?0027:
    126                          }
    127                          break;
   \   014B            ?0028:
    128          
    129                                     // 音量调节.  zxs==
    130                      case AP_KEY_VOLSUB:
    131                      case AP_KEY_VOLSUB | AP_KEY_HOLD:
    132                      if (FMStatus.volume-- > 0)
   \   014B  210600            LD      HL,FMStatus+6
   \   014E  46                LD      B,(HL)
   \   014F  35                DEC     (HL)
   \   0150  04                INC     B
   \   0151  05                DEC     B
   \   0152  280F              JR      Z,?0030
   \   0154            ?0029:
    133                          {
    134                              ui_show_volfm(FMStatus.volume);   //显示音量
   \   0154            ?0048:
   \   0154  ED5B0600          LD      DE,(FMStatus+6)
   \   0158  3E00              LD      A,BYTE3 ui_show_volfm
   \   015A  210000            LD      HL,LWRD ui_show_volfm
   \   015D  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    135                              fmSendCommand(MC_SETVOLUME, FMStatus.volume);
   \   0160  C36500            JP      LWRD ?0049
    136                          }
    137                          else
   \   0163            ?0030:
    138                          {
    139                              FMStatus.volume = 0;
   \   0163  AF                XOR     A
   \   0164            ?0047:
   \   0164  320600            LD      (FMStatus+6),A
   \   0167            ?0031:
    140                          }
    141                          break;
   \   0167  C36E00            JP      LWRD ?0006
   \   016A            ?0032:
    142          
    143           
    144                      default:                    //热键处理
    145                          key=ap_handle_hotkey(key);
   \   016A  FDE5              PUSH    IY
   \   016C  E1                POP     HL
   \   016D  5D                LD      E,L
   \   016E  CD0000            CALL    LWRD ap_handle_hotkey
   \   0171  4F                LD      C,A
   \   0172  C5                PUSH    BC
   \   0173  FDE1              POP     IY
    146                          if(key!=0)
   \   0175  79                LD      A,C
   \   0176  B7                OR      A
   \   0177  CA6E00            JP      Z,?0006
   \   017A            ?0033:
    147                          {
    148                              loop = FALSE;
   \   017A  DD70FE            LD      (IX-2),B
   \   017D            ?0034:
   \   017D            ?0008:
   \   017D  C36E00            JP      LWRD ?0006
   \   0180            ?0005:
    149                          }
    150                  }
    151              }
    152               //fmSendCommand(MC_MUTE,SetMUTE);
    153               fmSendCommand(MC_GETFREQ, (int)&k); // 保存电台
   \   0180  6F                LD      L,A
   \   0181  67                LD      H,A
   \   0182  39                ADD     HL,SP
   \   0183  4D                LD      C,L
   \   0184  44                LD      B,H
   \   0185  1E11              LD      E,17
   \   0187  CD0E00            CALL    LWRD ?0051
    154               FMAutoTab[AutoTabNum] = k;
   \   018A  2A0000            LD      HL,(AutoTabNum)
   \   018D  2600              LD      H,0
   \   018F  29                ADD     HL,HL
   \   0190  010000            LD      BC,FMAutoTab
   \   0193  09                ADD     HL,BC
   \   0194  DD4EF6            LD      C,(IX-10)
   \   0197  71                LD      (HL),C
   \   0198  DD46F7            LD      B,(IX-9)
   \   019B  23                INC     HL
   \   019C  70                LD      (HL),B
    155               AutoTabNum++;
   \   019D  210000            LD      HL,AutoTabNum
   \   01A0  34                INC     (HL)
    156               for(i = AutoTabNum;i < 20;i++)
   \   01A1  ED4B0000          LD      BC,(AutoTabNum)
   \   01A5  0600              LD      B,0
   \   01A7  DD71F8            LD      (IX-8),C
   \   01AA  DD70F9            LD      (IX-7),B
   \   01AD            ?0036:
   \   01AD  011480            LD      BC,32788
   \   01B0  DD6EF8            LD      L,(IX-8)
   \   01B3  DD66F9            LD      H,(IX-7)
   \   01B6  78                LD      A,B
   \   01B7  AC                XOR     H
   \   01B8  67                LD      H,A
   \   01B9  ED42              SBC     HL,BC
   \   01BB  3035              JR      NC,?0035
   \   01BD            ?0037:
    157               {
    158                  if(radio_param.param1[i] == k)    // 删除重复的电台.
   \   01BD  DD6EF8            LD      L,(IX-8)
   \   01C0  DD66F9            LD      H,(IX-7)
   \   01C3  29                ADD     HL,HL
   \   01C4  ED4B0000          LD      BC,(radio_param)
   \   01C8  09                ADD     HL,BC
   \   01C9  46                LD      B,(HL)
   \   01CA  23                INC     HL
   \   01CB  66                LD      H,(HL)
   \   01CC  68                LD      L,B
   \   01CD  DD4EF6            LD      C,(IX-10)
   \   01D0  DD46F7            LD      B,(IX-9)
   \   01D3  A7                AND     A
   \   01D4  ED42              SBC     HL,BC
   \   01D6  2010              JR      NZ,?0040
   \   01D8            ?0039:
    159                  {
    160                      radio_param.param1[i] =0;
   \   01D8  DD6EF8            LD      L,(IX-8)
   \   01DB  DD66F9            LD      H,(IX-7)
   \   01DE  29                ADD     HL,HL
   \   01DF  ED4B0000          LD      BC,(radio_param)
   \   01E3  09                ADD     HL,BC
   \   01E4  AF                XOR     A
   \   01E5  77                LD      (HL),A
   \   01E6  23                INC     HL
   \   01E7  77                LD      (HL),A
   \   01E8            ?0040:
   \   01E8  DD34F8            INC     (IX-8)
   \   01EB  20C0              JR      NZ,?0036
   \   01ED  DD34F9            INC     (IX-7)
   \   01F0  18BB              JR      ?0036
   \   01F2            ?0035:
    161                    //  FMStatus.station_count--;
    162                   }
    163               }
    164               return key;
   \   01F2  FDE5              PUSH    IY
   \   01F4  E1                POP     HL
    165          }
   \   01F5            ?0041:
   \   01F5  DDF9              LD      SP,IX
   \   01F7  DDE1              POP     IX
   \   01F9  FDE1              POP     IY
   \   01FB  D1                POP     DE
   \   01FC  C1                POP     BC
   \   01FD  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0200            ?0052:
   \   0200  4F                LD      C,A
   \   0201  1EDC              LD      E,220
   \   0203            ?0053:
   \   0203  3E00              LD      A,BYTE3 ResShowPic
   \   0205  210000            LD      HL,LWRD ResShowPic
   \   0208  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   020B                    END

Errors: none
Warnings: none
Code size: 523
Constant size: 0
Static variable size: Data(0) Iram(0)

⌨️ 快捷键说明

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