basal_dsc_dec.lst

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

LST
501
字号
   \   00AA  CD0000            CALL    LWRD PicViewExit
    102               if(PicViewOrder==0xff)
   \   00AD  3A0000            LD      A,(PicViewOrder)
   \   00B0  3C                INC     A
   \   00B1  2802              JR      Z,?0024
   \   00B3            ?0022:
    103               return 0;
    104               else
   \   00B3            ?0023:
    105               return 1;       
   \   00B3  3E01              LD      A,1
    106              }
   \   00B5            ?0024:
   \   00B5  E1                POP     HL
   \   00B6  DDE1              POP     IX
   \   00B8  C9                RET
   \   00B9            ?0056:
   \   00B9  1E02              LD      E,2
   \   00BB  CD0000            CALL    LWRD SetDrawMode
   \   00BE  110000            LD      DE,JpegRegion
   \   00C1  CD0000            CALL    LWRD SetWindow
   \   00C4  CD0000            CALL    LWRD SetStartLine
   \   00C7  C9                RET
   \   00C8            GifDec_Play:
    107          //prev,55;next,56;play,57
    108          
    109          
    110          non_banked  char  GifDec_Play(ColorLcmInfor *PicInfor,handle fp,char Playtype)
    111          {
   \   00C8  FDE5              PUSH    IY
   \   00CA  DDE5              PUSH    IX
   \   00CC  DD210000          LD      IX,0
   \   00D0  DD39              ADD     IX,SP
   \   00D2  C5                PUSH    BC
   \   00D3  D5                PUSH    DE
   \   00D4  F5                PUSH    AF
    112           
    113               int key,result;   
    114               ui_run_realtime=TRUE;         //实时模式,不显示锁图标 
   \   00D5  3E01              LD      A,1
   \   00D7  320000            LD      (ui_run_realtime),A
    115               PicViewInit(fp);                   // init the decoder
   \   00DA  59                LD      E,C
   \   00DB  50                LD      D,B
   \   00DC  CD0000            CALL    LWRD PicViewInit
    116               DSCPicSetParament(PicInfor);  // set the decoder infor
   \   00DF  DD5EFC            LD      E,(IX-4)
   \   00E2  DD56FD            LD      D,(IX-3)
   \   00E5  CD0000            CALL    LWRD DSCPicSetParament
    117               StartDsp(12);                           // set the dsp mips and start   36,mip         
   \   00E8  1E0C              LD      E,12
   \   00EA  CD0000            CALL    LWRD StartDsp
   \   00ED            ?0026:
    118                     
    119               while(PicViewOrder!=0xf3)              // if the deoceder don't compelet,it keep going
   \   00ED  3A0000            LD      A,(PicViewOrder)
   \   00F0  FEF3              CP      243
   \   00F2  CA8F01            JP      Z,?0025
   \   00F5            ?0027:
    120               {  
    121                   
    122                  output8(0x4e,input8(0x4e)|0x8);
   \   00F5  DB4E              IN      A,(78)
   \   00F7  CBDF              SET     3,A
   \   00F9  D34E              OUT     (78),A
    123                   
    124                  if(PicViewOrder==0xf5)
   \   00FB  3A0000            LD      A,(PicViewOrder)
   \   00FE  FEF5              CP      245
   \   0100  200B              JR      NZ,?0029
   \   0102            ?0028:
    125                  {
    126                          PicViewOrder=0;                                       
   \   0102  AF                XOR     A
   \   0103  320000            LD      (PicViewOrder),A
    127                          SetDrawMode(DrawModeHPic_def);
   \   0106  CDB900            CALL    LWRD ?0056
    128                          SetWindow(&JpegRegion);   
    129          ///////////////////////////////////////// for LG 1.8'OLED  JPEG DisPlay    zxs added 2006.03.17   
    130                          SetStartLine();    
    131                          output8(0x35,0xe5);
   \   0109  3EE5              LD      A,229
   \   010B  D335              OUT     (53),A
   \   010D            ?0029:
    132                  }
    133                        
    134                  if(PicViewOrder==0xff)break;    
   \   010D  3A0000            LD      A,(PicViewOrder)
   \   0110  3C                INC     A
   \   0111  287C              JR      Z,?0025
   \   0113            ?0030:
   \   0113            ?0031:
    135              result=0;
   \   0113  FD210000          LD      IY,0
    136              if(PicViewOrder==0xf8)
   \   0117  3A0000            LD      A,(PicViewOrder)
   \   011A  FEF8              CP      248
   \   011C  2014              JR      NZ,?0035
   \   011E            ?0032:
    137              {
    138                   PicViewOrder=0;
   \   011E  AF                XOR     A
   \   011F  320000            LD      (PicViewOrder),A
    139                   output8(0x35,0xe8);
   \   0122  3EE8              LD      A,232
   \   0124  D335              OUT     (53),A
    140                   if(Playtype==1)
   \   0126  DD4606            LD      B,(IX+6)
   \   0129  05                DEC     B
   \   012A  2006              JR      NZ,?0035
   \   012C            ?0034:
    141                   {
    142                       result=56;
   \   012C  FD213800          LD      IY,56
    143                       break;
   \   0130  185D              JR      ?0025
   \   0132            ?0035:
   \   0132            ?0033:
    144                   }
    145              }
    146              
    147              key=ap_get_message();                   // get the user message
   \   0132  CD0000            CALL    LWRD ap_get_message
   \   0135  4F                LD      C,A
   \   0136  59                LD      E,C
   \   0137  0600              LD      B,0
   \   0139  50                LD      D,B
    148              switch(key)
   \   013A  CD0000            CALL    LWRD ?S_V_SWITCH_L06
   \   013D  0800              DEFW    8
   \   013F  0500              DEFW    5
   \   0141  0600              DEFW    6
   \   0143  1B00              DEFW    27
   \   0145  1C00              DEFW    28
   \   0147  1D00              DEFW    29
   \   0149  2100              DEFW    33
   \   014B  4500              DEFW    69
   \   014D  4600              DEFW    70
   \   014F  7F01              DEFW    ?0046
   \   0151  7301              DEFW    ?0043
   \   0153  6701              DEFW    ?0040
   \   0155  6101              DEFW    ?0039
   \   0157  8701              DEFW    ?0036
   \   0159  8701              DEFW    ?0036
   \   015B  8701              DEFW    ?0036
   \   015D  7301              DEFW    ?0043
   \   015F  6701              DEFW    ?0040
   \   0161            ?0037:
    149                  {                
    150                  case AP_MSG_STANDBY:
    151                      //if(Playtype==0)result=RESULT_STANDBY;
    152                      break;
   \   0161            ?0038:
    153                  case AP_MSG_RTC:
    154                  case AP_MSG_CHARGING:           
    155                      break;
   \   0161            ?0039:
    156                  case AP_KEY_PLAY | AP_KEY_UP:
    157                      result=57;
   \   0161  FD213900          LD      IY,57
    158                      break;
   \   0165  1820              JR      ?0036
   \   0167            ?0040:
    159                  case AP_KEY_PREV :
    160                  case AP_KEY_PREV | AP_KEY_HOLD:
    161                      if(Playtype==0)result=55;
   \   0167  AF                XOR     A
   \   0168  DDB606            OR      (IX+6)
   \   016B  201A              JR      NZ,?0036
   \   016D            ?0041:
   \   016D  FD213700          LD      IY,55
   \   0171            ?0042:
    162                      break;
   \   0171  1814              JR      ?0036
   \   0173            ?0043:
    163                  case AP_KEY_NEXT :
    164                  case AP_KEY_NEXT | AP_KEY_HOLD:
    165                      if(Playtype==0)result=56;
   \   0173  AF                XOR     A
   \   0174  DDB606            OR      (IX+6)
   \   0177  200E              JR      NZ,?0036
   \   0179            ?0044:
   \   0179  FD213800          LD      IY,56
   \   017D            ?0045:
    166                      break;    
   \   017D  1808              JR      ?0036
   \   017F            ?0046:
    167                  default:
    168                   key = ap_handle_hotkey(key);
   \   017F  59                LD      E,C
   \   0180  CD0000            CALL    LWRD ap_handle_hotkey
   \   0183  4F                LD      C,A
    169                   result=key;                    
   \   0184  C5                PUSH    BC
   \   0185  FDE1              POP     IY
   \   0187            ?0036:
    170                  }
    171                  if(result!=0)break;              
   \   0187  FDE5              PUSH    IY
   \   0189  E1                POP     HL
   \   018A  7D                LD      A,L
   \   018B  B4                OR      H
   \   018C  CAED00            JP      Z,?0026
   \   018F            ?0047:
   \   018F            ?0048:
   \   018F            ?0025:
    172                        
    173               }           
    174               ui_run_realtime=FALSE;         //实时模式,不显示锁图标 
   \   018F  AF                XOR     A
   \   0190  320000            LD      (ui_run_realtime),A
    175               StopDsp();     
   \   0193  CD0000            CALL    LWRD StopDsp
    176               PicViewExit();
   \   0196  CD0000            CALL    LWRD PicViewExit
    177               if(PicViewOrder==0xff)
   \   0199  3A0000            LD      A,(PicViewOrder)
   \   019C  3C                INC     A
   \   019D  2804              JR      Z,?0051
   \   019F            ?0049:
    178               return 0;
    179               else
   \   019F            ?0050:
    180               return result;       
   \   019F  FDE5              PUSH    IY
   \   01A1  E1                POP     HL
   \   01A2  7D                LD      A,L
    181              }
   \   01A3            ?0051:
   \   01A3  DDF9              LD      SP,IX
   \   01A5  DDE1              POP     IX
   \   01A7  FDE1              POP     IY
   \   01A9  C9                RET
    182          
    183          
    184          
    185          
    186          
   \   0000                    RSEG    UDATA0
   \   0000            TmpReg:
   \   0004                    DEFS    4
   \   0004                    END

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

⌨️ 快捷键说明

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