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

📄 ui_play.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 3 页
字号:
   \   00E3  2A3500            LD      HL,(g_reader_vars+53)
   \   00E6  ED4B3D00          LD      BC,(g_reader_vars+61)
   \   00EA  ED42              SBC     HL,BC
   \   00EC  4D                LD      C,L
   \   00ED  44                LD      B,H
   \   00EE  EB                EX      DE,HL
     89             // if(g_reader_vars.g_txt.BufSector!=(g_reader_vars.g_txt.SectorTotal-1))
     90              if(FileLengthLeft>0) 
   \   00EF  DD36E805          LD      (IX-24),5
   \   00F3  DD36E900          LD      (IX-23),0
   \   00F7  DD36EB01          LD      (IX-21),1
   \   00FB  DD36F000          LD      (IX-16),0
   \   00FF  C5                PUSH    BC
   \   0100  E5                PUSH    HL
   \   0101  010000            LD      BC,0
   \   0104  69                LD      L,C
   \   0105  60                LD      H,B
   \   0106  CD0000            CALL    LWRD ?SL_CMP_L03
   \   0109  3004              JR      NC,?0006
   \   010B            ?0005:
     91                  bPageDownFlag = TRUE;
   \   010B  DD36F001          LD      (IX-16),1
   \   010F            ?0006:
     92              if(g_reader_vars.playflag) 
   \   010F  3A0200            LD      A,(g_reader_vars+2)
   \   0112  B7                OR      A
   \   0113  2814              JR      Z,?0008
   \   0115            ?0007:
     93              {
     94                  FlagAutoPlay = TRUE;
     95                  AutoPlayTimeSet = g_reader_vars.autoplaytime;
   \   0115  ED4B0300          LD      BC,(g_reader_vars+3)
   \   0119  44                LD      B,H
   \   011A  DD71E8            LD      (IX-24),C
   \   011D  DD70E9            LD      (IX-23),B
     96                  AutoPlayTime=AutoPlayTimeSet*2;
   \   0120  69                LD      L,C
   \   0121  60                LD      H,B
   \   0122  29                ADD     HL,HL
   \   0123  DD75E6            LD      (IX-26),L
   \   0126  DD74E7            LD      (IX-25),H
   \   0129            ?0008:
   \   0129            ?0010:
     97              }
     98          
     99              while( 1 )
    100              {
    101                  DC  oldDC_sav;
    102                  if( bRedraw )
   \   0129  AF                XOR     A
   \   012A  DDB6EB            OR      (IX-21)
   \   012D  2818              JR      Z,?0013
   \   012F            ?0012:
    103                  {
    104                      nDrawRow = view_page_down(&g_reader_vars.g_txt, FALSE,NULL ); // 显示一屏
   \   012F  210000            LD      HL,0
   \   0132  E5                PUSH    HL
   \   0133  4C                LD      C,H
   \   0134  113100            LD      DE,g_reader_vars+49
   \   0137  3E00              LD      A,BYTE3 view_page_down
   \   0139  210000            LD      HL,LWRD view_page_down
   \   013C  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   013F  F1                POP     AF
   \   0140  DD75EC            LD      (IX-20),L
    105                      bRedraw = FALSE;
   \   0143  DD36EB00          LD      (IX-21),0
   \   0147            ?0013:
    106                  }
    107                  GetDCStatus(&oldDC_sav);
   \   0147  210F00            LD      HL,15
   \   014A  39                ADD     HL,SP
   \   014B  EB                EX      DE,HL
   \   014C  CD0000            CALL    LWRD GetDCStatus
    108                  key = ap_get_message();
   \   014F  CD0000            CALL    LWRD ap_get_message
    109          
    110                  switch( key )
   \   0152  5F                LD      E,A
   \   0153  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   0156  0900              DEFW    9
   \   0158  05                DEFB    5
   \   0159  06                DEFB    6
   \   015A  1C                DEFB    28
   \   015B  21                DEFB    33
   \   015C  30                DEFB    48
   \   015D  37                DEFB    55
   \   015E  45                DEFB    69
   \   015F  46                DEFB    70
   \   0160  80                DEFB    128
   \   0161  F702              DEFW    ?0068
   \   0163  B201              DEFW    ?0019
   \   0165  EC01              DEFW    ?0026
   \   0167  6C02              DEFW    ?0046
   \   0169  9602              DEFW    ?0052
   \   016B  CB02              DEFW    ?0058
   \   016D  7501              DEFW    ?0015
   \   016F  B201              DEFW    ?0019
   \   0171  EC01              DEFW    ?0026
   \   0173  6C02              DEFW    ?0046
   \   0175            ?0015:
    111                  {
    112                      case AP_KEY_PLAY | AP_KEY_UP:
    113                           { 
    114                              FileLengthLeft= g_reader_vars.g_txt.FileLengthBytes - g_reader_vars.g_txt.CurrentSeek;
   \   0175  A7                AND     A
   \   0176  2A3300            LD      HL,(g_reader_vars+51)
   \   0179  ED4B3B00          LD      BC,(g_reader_vars+59)
   \   017D  ED42              SBC     HL,BC
   \   017F  EB                EX      DE,HL
   \   0180  2A3500            LD      HL,(g_reader_vars+53)
   \   0183  ED4B3D00          LD      BC,(g_reader_vars+61)
   \   0187  ED42              SBC     HL,BC
   \   0189  4D                LD      C,L
   \   018A  44                LD      B,H
   \   018B  EB                EX      DE,HL
    115                              if(FileLengthLeft<=0)
   \   018C  C5                PUSH    BC
   \   018D  E5                PUSH    HL
   \   018E  010000            LD      BC,0
   \   0191  69                LD      L,C
   \   0192  60                LD      H,B
   \   0193  CD0000            CALL    LWRD ?SL_CMP_L03
   \   0196  3814              JR      C,?0017
   \   0198            ?0016:
    116                              { 
    117                                 g_reader_vars.g_txt.PrevSeek=0;
   \   0198  223700            LD      (g_reader_vars+55),HL
   \   019B  ED433900          LD      (g_reader_vars+57),BC
    118                                  g_reader_vars.g_txt.CurrentSeek=0;
   \   019F  223B00            LD      (g_reader_vars+59),HL
   \   01A2  ED433D00          LD      (g_reader_vars+61),BC
    119                                  g_reader_vars.g_txt.BufSector=0;
   \   01A6  223F00            LD      (g_reader_vars+63),HL
    120                              }
    121                              else
   \   01A9  C3BC02            JP      LWRD ?0082
   \   01AC            ?0017:
    122                              { 
    123                               ToPrevScreenPosition(&g_reader_vars.g_txt);       //回上一屏              
   \   01AC  CD7703            CALL    LWRD ?0084
   \   01AF            ?0018:
    124                              }
    125                              return 0;
   \   01AF  C3BC02            JP      LWRD ?0082
    126                          }
   \   01B2            ?0019:
    127                      case MSG_RTC2HZ:        //rtc
    128                      case AP_MSG_RTC:
    129                          if(!g_reader_vars.playflag) break; 
   \   01B2  3A0200            LD      A,(g_reader_vars+2)
   \   01B5  B7                OR      A
   \   01B6  CA5703            JP      Z,?0073
   \   01B9            ?0020:
   \   01B9            ?0021:
    130                          if( AutoPlayTimeSet == 0 ) break;
   \   01B9  DD7EE8            LD      A,(IX-24)
   \   01BC  DDB6E9            OR      (IX-23)
   \   01BF  CA5703            JP      Z,?0073
   \   01C2            ?0022:
   \   01C2            ?0023:
    131                          ap_message_init(NULL);  // 清除屏保
   \   01C2  110000            LD      DE,0
   \   01C5  3E00              LD      A,BYTE3 ap_message_init
   \   01C7  210000            LD      HL,LWRD ap_message_init
   \   01CA  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    132                          if( -- AutoPlayTime != 0 )
   \   01CD  DD6EE6            LD      L,(IX-26)
   \   01D0  DD66E7            LD      H,(IX-25)
   \   01D3  2B                DEC     HL
   \   01D4  DD75E6            LD      (IX-26),L
   \   01D7  DD74E7            LD      (IX-25),H
   \   01DA  7D                LD      A,L
   \   01DB  B4                OR      H
   \   01DC  C25703            JP      NZ,?0073
   \   01DF            ?0024:
    133                              break;
   \   01DF            ?0025:
    134                      AutoPlayTime=AutoPlayTimeSet*2;                   
   \   01DF  DD6EE8            LD      L,(IX-24)
   \   01E2  DD66E9            LD      H,(IX-23)
   \   01E5  29                ADD     HL,HL
   \   01E6  DD75E6            LD      (IX-26),L
   \   01E9  DD74E7            LD      (IX-25),H
   \   01EC            ?0026:
    135                          //跳至AP_KEY_NEXT处理
    136                      case AP_KEY_NEXT:
    137                      case AP_KEY_NEXT| AP_KEY_HOLD:
    138                          // 先试翻屏, 如果到结尾, 回到先前位置, 用于RESULT_REDRAW的消息重画
    139                          if( SCR_ROW == nDrawRow && bPageDownFlag)
   \   01EC  DD7EEC            LD      A,(IX-20)
   \   01EF  FE07              CP      7
   \   01F1  2052              JR      NZ,?0028
   \   01F3  AF                XOR     A
   \   01F4  DDB6F0            OR      (IX-16)
   \   01F7  284C              JR      Z,?0028
   \   01F9            ?0030:
   \   01F9            ?0029:
   \   01F9            ?0027:
    140                          {    
    141                               byte    ret_page, Next_page;
    142                              ret_page = view_page_down(&g_reader_vars.g_txt, 1,NULL);
   \   01F9  210000            LD      HL,0
   \   01FC  E5                PUSH    HL
   \   01FD  0E01              LD      C,1
   \   01FF  113100            LD      DE,g_reader_vars+49
   \   0202  3E00              LD      A,BYTE3 view_page_down
   \   0204  210000            LD      HL,LWRD view_page_down
   \   0207  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   020A  F1                POP     AF
   \   020B  DD75FD            LD      (IX-3),L
    143                              if(0xff !=  ret_page)
   \   020E  2C                INC     L
   \   020F  282F              JR      Z,?0038
   \   0211            ?0031:
    144                              {                      
    145                                  bRedraw = TRUE;
   \   0211  DD36EB01          LD      (IX-21),1
    146          //                        nCurPage++;
    147          
    148                                  if(ret_page == SCR_ROW)
   \   0215  DD7EFD            LD      A,(IX-3)
   \   0218  FE07              CP      7
   \   021A  2020              JR      NZ,?0034
   \   021C            ?0033:
    149                                  {
    150                                      Next_page = view_page_down(&g_reader_vars.g_txt, 2,NULL);
   \   021C  210000            LD      HL,0
   \   021F  E5                PUSH    HL
   \   0220  0E02              LD      C,2
   \   0222  113100            LD      DE,g_reader_vars+49
   \   0225  3E00              LD      A,BYTE3 view_page_down
   \   0227  210000            LD      HL,LWRD view_page_down
   \   022A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   022D  F1                POP     AF
    151                                      if(Next_page != 0xff)
   \   022E  2C                INC     L
   \   022F  2806              JR      Z,?0036
   \   0231            ?0035:
    152                                      {
    153                                          bPageDownFlag = TRUE;
   \   0231  DD36F001          LD      (IX-16),1
    154                                      }
    155                                      else
   \   0235  1809              JR      ?0038
   \   0237            ?0036:
    156                                          bPageDownFlag = FALSE;
   \   0237  DD75F0            LD      (IX-16),L
   \   023A            ?0037:
    157                                  }
    158                                  else
   \   023A  1804              JR      ?0038
   \   023C            ?0034:
    159                                      bPageDownFlag = FALSE;
   \   023C  DD36F000          LD      (IX-16),0
   \   0240            ?0038:
   \   0240            ?0032:
    160                                  
    161                                   
    162                              }
    163                              ToPrevScreenPosition(&g_reader_vars.g_txt);   // 返回前一屏的位置  
   \   0240  CD7703            CALL    LWRD ?0084
    164                          }
    165                          else
   \   0243  181E              JR      ?0039
   \   0245            ?0028:
    166                          {  
    167                              g_reader_vars.g_txt.PrevSeek=0;
   \   0245  010000            LD      BC,0
   \   0248  69                LD      L,C
   \   0249  60                LD      H,B
   \   024A  223700            LD      (g_reader_vars+55),HL
   \   024D  ED433900          LD      (g_reader_vars+57),BC
    168                              g_reader_vars.g_txt.CurrentSeek=0;
   \   0251  223B00            LD      (g_reader_vars+59),HL

⌨️ 快捷键说明

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