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

📄 ui_licensinf.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   00BC  8200              DEFW    ?0087
   \   00BE  CE00              DEFW    ?0018
   \   00C0  E300              DEFW    ?0019
   \   00C2  E300              DEFW    ?0019
   \   00C4  E300              DEFW    ?0019
   \   00C6  8200              DEFW    ?0087
   \   00C8  CE00              DEFW    ?0018
   \   00CA  8200              DEFW    ?0087
   \   00CC  CE00              DEFW    ?0018
   \   00CE            ?0017:
    141                  {
    142                  case AP_KEY_NEXT:
    143                  case AP_KEY_NEXT | AP_KEY_HOLD:
    144                  case AP_KEY_VOLADD:
    145                   case AP_KEY_VOLADD | AP_KEY_HOLD:
    146                               /*
    147                               if ((itemcnt == BeginDateTimeDisp_def) || (itemcnt == ExpDateTimeDisp_def))
    148                               {
    149                                       if(subitemcnt == 0)
    150                                       {
    151                                               subitemcnt = 1;
    152                                              if (displaycase(&licensinfbuf.drminf, itemcnt, 1,string_id))
    153                                              {
    154                                                      break;
    155                                              }
    156                                       }
    157                                      subitemcnt = 0;
    158                               }
    159                              */
    160                           itemcnt = NextItem(&licensinfbuf.drminf, itemcnt, string_id);
    161                          break;
   \   00CE            ?0018:
    162          
    163                  case AP_KEY_PREV:
    164                  case AP_KEY_PREV | AP_KEY_HOLD:
    165                  case AP_KEY_VOLSUB:
    166                  case AP_KEY_VOLSUB | AP_KEY_HOLD:       
    167                              /*
    168                               if ((itemcnt == BeginDateTimeDisp_def) || (itemcnt == ExpDateTimeDisp_def))
    169                               {
    170                                       if (subitemcnt == 1)
    171                                       {
    172                                               subitemcnt = 0;
    173                                              if (displaycase(&licensinfbuf.drminf, itemcnt, 0,string_id))
    174                                              {
    175                                                      break;
    176                                              }
    177                                              
    178                                       }
    179                                      subitemcnt = 0;                                                    
    180                               }    
    181                               */
    182                           itemcnt = PrevItem(&licensinfbuf.drminf, itemcnt, string_id);                    
   \   00CE  FDE5              PUSH    IY
   \   00D0  DD4EE2            LD      C,(IX-30)
   \   00D3  210800            LD      HL,8
   \   00D6  39                ADD     HL,SP
   \   00D7  110100            LD      DE,1
   \   00DA  19                ADD     HL,DE
   \   00DB  EB                EX      DE,HL
   \   00DC  3E00              LD      A,BYTE3 PrevItem
   \   00DE  215101            LD      HL,LWRD PrevItem
   \   00E1  18B2              JR      ?0086
    183                          break;
   \   00E3            ?0019:
    184                  
    185                  case AP_KEY_MODE | AP_KEY_UP:                
    186                  case AP_MSG_WAIT_TIMEOUT://8秒退出    
    187                  case AP_KEY_PLAY | AP_KEY_UP:
    188                           return RESULT_IGNORE;
   \   00E3  213400            LD      HL,52
    189                          
    190                  default:
   \   00E6  1813              JR      ?0026
   \   00E8            ?0020:
    191                      key=ap_handle_hotkey(key);//热键处理
   \   00E8  CD0000            CALL    LWRD ap_handle_hotkey
   \   00EB  DD77E3            LD      (IX-29),A
    192                      if(key == RESULT_REDRAW)
   \   00EE  FE32              CP      50
   \   00F0  28AA              JR      Z,?0012
   \   00F2            ?0021:
    193                      {
    194                          need_draw=TRUE;
   \   00F2            ?0022:
    195                      }
    196                      else if(key!=0)
   \   00F2  AF                XOR     A
   \   00F3  DDB6E3            OR      (IX-29)
   \   00F6  28A4              JR      Z,?0012
   \   00F8            ?0024:
    197                      {
    198                          return key;                                              
   \   00F8  6F                LD      L,A
   \   00F9  2600              LD      H,0
    199                      }
   \   00FB            ?0026:
   \   00FB  FDE1              POP     IY
   \   00FD  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0100            ?0107:
   \   0100  3E00              LD      A,BYTE3 ResShowMultiString
   \   0102  210000            LD      HL,LWRD ResShowMultiString
   \   0105  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0108            ?0109:
   \   0108  DD5E02            LD      E,(IX+2)
   \   010B  DD5603            LD      D,(IX+3)
   \   010E            ?0108:
   \   010E  3E00              LD      A,BYTE3 displaycase
   \   0110  218701            LD      HL,LWRD displaycase
   \   0113  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0116            ?0025:
   \   0116            ?0023:
   \   0116            ?0016:
    200                  }//switch(key)            
    201              }//while(1)
    202          }
   \   0116            NextItem:
    203          
    204          /*
    205          output: 输出最后选中的项目的号                    
    206          */
    207          
    208          char NextItem(licensinf_t *infbuf, char cnt,  int  lan_id)
    209          {
   \   0116  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0119  FEFF              DEFW    65534
    210              bool result;
    211              char i;
    212              
    213              if (cnt>=lincensinf_maxitem_def)
   \   011B  79                LD      A,C
   \   011C  FE06              CP      6
   \   011E  3804              JR      C,?0028
   \   0120            ?0027:
    214              {
    215                  return lincensinf_maxitem_def;            
   \   0120  2E06              LD      L,6
    216              }
   \   0122  182A              JR      ?0034
   \   0124            ?0028:
    217              
    218              i = cnt + 1;
   \   0124  41                LD      B,C
   \   0125  04                INC     B
   \   0126  DD70FE            LD      (IX-2),B
   \   0129            ?0030:
    219              
    220              for (; i<=lincensinf_maxitem_def;)
   \   0129  3E06              LD      A,6
   \   012B  DDBEFE            CP      (IX-2)
   \   012E  381B              JR      C,?0029
   \   0130            ?0031:
    221              {
    222                  result = displaycase(infbuf, i, 0,lan_id);
   \   0130  DD6E0A            LD      L,(IX+10)
   \   0133  DD660B            LD      H,(IX+11)
   \   0136  E5                PUSH    HL
   \   0137  0E00              LD      C,0
   \   0139  C5                PUSH    BC
   \   013A  DD4EFE            LD      C,(IX-2)
   \   013D  CD0801            CALL    LWRD ?0109
   \   0140  F1                POP     AF
   \   0141  F1                POP     AF
    223                  if (result)            
   \   0142  2C                INC     L
   \   0143  2D                DEC     L
   \   0144  2005              JR      NZ,?0029
   \   0146            ?0032:
    224                  {
    225                      return i;
    226                  }
   \   0146            ?0033:
    227                  i++;
   \   0146  DD34FE            INC     (IX-2)
   \   0149  18DE              JR      ?0030
   \   014B            ?0029:
    228              }
    229              return i;
   \   014B  DD6EFE            LD      L,(IX-2)
    230          }
   \   014E            ?0034:
   \   014E  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0151            PrevItem:
    231          
    232          char PrevItem(licensinf_t *infbuf, char cnt,  int lan_id)
    233          {
   \   0151  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0154  FEFF              DEFW    65534
    234              bool result;
    235              char i;
    236              
    237              if (cnt == 0)
   \   0156  0C                INC     C
   \   0157  0D                DEC     C
   \   0158  2003              JR      NZ,?0036
   \   015A            ?0035:
    238              {
    239                  return 0;
   \   015A  69                LD      L,C
    240              }
   \   015B  1827              JR      ?0042
   \   015D            ?0036:
    241          
    242              i = cnt - 1;
   \   015D  79                LD      A,C
   \   015E  C6FF              ADD     A,255
   \   0160  DD77FE            LD      (IX-2),A
   \   0163            ?0038:
    243              
    244              for (; i>=0;)
   \   0163  DD7EFE            LD      A,(IX-2)
   \   0166            ?0039:
    245              {
    246                  result = displaycase(infbuf, i, 0,lan_id);
   \   0166  DD6E0A            LD      L,(IX+10)
   \   0169  DD660B            LD      H,(IX+11)
   \   016C  E5                PUSH    HL
   \   016D  0E00              LD      C,0
   \   016F  C5                PUSH    BC
   \   0170  4F                LD      C,A
   \   0171  CD0801            CALL    LWRD ?0109
   \   0174  F1                POP     AF
   \   0175  F1                POP     AF
    247                  if (result)            
   \   0176  2C                INC     L
   \   0177  2D                DEC     L
   \   0178  2805              JR      Z,?0041
   \   017A            ?0040:
    248                  {
    249                      return i;
   \   017A  DD6EFE            LD      L,(IX-2)
    250                  }
   \   017D  1805              JR      ?0042
   \   017F            ?0041:
    251                  i--;
   \   017F  DD35FE            DEC     (IX-2)
   \   0182  18DF              JR      ?0038
   \   0184            ?0037:
    252              }
    253              return i;
    254          }
   \   0184            ?0042:
   \   0184  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0187            displaycase:
    255          
    256          
    257          
    258          
    259          //=============================================
    260          //显示的项目
    261          /*
    262          如当前项目不要显示,则跳到下一个项目,
    263          如已到最后一个或最前一个,则不动
    264          
    265          input:
    266              要显示的项目
    267          
    268          output:
    269              返回是否能显示T: 已显示; 
    270                                                          F: 没有显示
    271          */
    272          
    273          //=============================================
    274          bool displaycase(licensinf_t *infbuf, char cnt, char subcnt, int lan_id)
    275          {
   \   0187  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   018A  FAFF              DEFW    65530
   \   018C  FDE5              PUSH    IY
   \   018E  DD6E02            LD      L,(IX+2)
   \   0191  DD6603            LD      H,(IX+3)
   \   0194  E5                PUSH    HL
   \   0195  FDE1              POP     IY
    276              switch(cnt)
   \   0197  59                LD      E,C
   \   0198  CD0000            CALL    LWRD ?C_S_SWITCH_L06
   \   019B  00                DEFB    0
   \   019C  0700              DEFW    7
   \   019E  1E03              DEFW    ?0068
   \   01A0  AE01              DEFW    ?0044
   \   01A2  D501              DEFW    ?0047
   \   01A4  1902              DEFW    ?0050
   \   01A6  3602              DEFW    ?0053
   \   01A8  5D02              DEFW    ?0056
   \   01AA  A102              DEFW    ?0059
   \   01AC  E402              DEFW    ?0062
   \   01AE            ?0044:
    277              {        
    278              case RemainPlayCntDisp_def:
    279                  if ((infbuf->switchflag & on_PLAYCNT_def) == 0)
   \   01AE  FDCB006E          BIT     5,(IY+0)
   \   01B2  CA1E03            JP      Z,?0068
   \   01B5            ?0045:
    280                  {
    281                      return FALSE;    
    282                  }
   \   01B5            ?0046:
    283                  else
    284                  {
    285                          char tmpbuf[5];
    286                          //显示标题
    287                          ClearScreen(NULL);
   \   01B5  CD2503            CALL    LWRD ?0106
    288                          ResShowMultiString(PLAYCNT, lan_id, 255, 90);

⌨️ 快捷键说明

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