main.lst

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

LST
536
字号
    111          
    112                  ActiveDriveOK = DRV_ActiveDrive('C', MODE_SLOW); //04-2-28 16:29
   \   00CD  0E01              LD      C,1
   \   00CF  1E43              LD      E,67
   \   00D1  CD0000            CALL    LWRD DRV_ActiveDrive
   \   00D4  324F00            LD      (ActiveDriveOK),A
    113                  if (!ActiveDriveOK)
   \   00D7  B7                OR      A
   \   00D8  202A              JR      NZ,?0011
   \   00DA            ?0010:
    114                  {
    115                      ui_show_msg (MREADERR, MREADERR, g_comval.langid);        //temp ybfu
   \   00DA  ED4B0C00          LD      BC,(g_comval+12)
   \   00DE  47                LD      B,A
   \   00DF  C5                PUSH    BC
   \   00E0  018901            LD      BC,393
   \   00E3  59                LD      E,C
   \   00E4  50                LD      D,B
   \   00E5  3E00              LD      A,BYTE3 ui_show_msg
   \   00E7  210000            LD      HL,LWRD ui_show_msg
   \   00EA  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00ED  F1                POP     AF
   \   00EE            ?0013:
    116                      while( ap_get_message() != NULL );//清空消息池,确保DELAY时间准确
   \   00EE  CD0000            CALL    LWRD ap_get_message
   \   00F1  B7                OR      A
   \   00F2  20FA              JR      NZ,?0013
   \   00F4            ?0014:
   \   00F4            ?0012:
    117                      ap_sleep(4);
   \   00F4  110400            LD      DE,4
   \   00F7  3E00              LD      A,BYTE3 ap_sleep
   \   00F9  210000            LD      HL,LWRD ap_sleep
   \   00FC  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    118                      g_viewpic_vars.location.disk='H';          //磁盘出错 从卡上读文件  zxs  add
   \   00FF  3E48              LD      A,72
   \   0101  322400            LD      (g_viewpic_vars+4),A
   \   0104            ?0011:
    119          
    120                  }
    121                  g_DiskStateFlag |= SetDiskOKFlag_def;//标志 flash 已格式化
   \   0104  210000            LD      HL,g_DiskStateFlag
   \   0107  CBFE              SET     7,(HL)
    122          
    123                  if (DRV_DetectUD(1) == 0x20)
   \   0109  1E01              LD      E,1
   \   010B  CD0000            CALL    LWRD DRV_DetectUD
   \   010E  FE20              CP      32
   \   0110  2049              JR      NZ,?0016
   \   0112            ?0015:
    124                  { //有卡
    125                      DRV_ActiveUD(1,MODE_SLOW);
   \   0112  0E01              LD      C,1
   \   0114  59                LD      E,C
   \   0115  CD0000            CALL    LWRD DRV_ActiveUD
    126                      if (!DRV_ActiveDrive('H', MODE_SLOW))
   \   0118  0E01              LD      C,1
   \   011A  1E48              LD      E,72
   \   011C  CD0000            CALL    LWRD DRV_ActiveDrive
   \   011F  B7                OR      A
   \   0120  2032              JR      NZ,?0018
   \   0122            ?0017:
    127                      {
    128                          ui_show_msg (CREADERR, CREADERR, g_comval.langid);        //temp ybfu
   \   0122  ED4B0C00          LD      BC,(g_comval+12)
   \   0126  47                LD      B,A
   \   0127  C5                PUSH    BC
   \   0128  019401            LD      BC,404
   \   012B  59                LD      E,C
   \   012C  50                LD      D,B
   \   012D  3E00              LD      A,BYTE3 ui_show_msg
   \   012F  210000            LD      HL,LWRD ui_show_msg
   \   0132  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0135  F1                POP     AF
   \   0136            ?0020:
    129                          while( ap_get_message() != NULL );      //清空消息池,确保DELAY时间准确
   \   0136  CD0000            CALL    LWRD ap_get_message
   \   0139  B7                OR      A
   \   013A  20FA              JR      NZ,?0020
   \   013C            ?0021:
   \   013C            ?0019:
    130                          ap_sleep(4);
   \   013C  110400            LD      DE,4
   \   013F  3E00              LD      A,BYTE3 ap_sleep
   \   0141  210000            LD      HL,LWRD ap_sleep
   \   0144  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    131                          g_viewpic_vars.location.disk='C';      //卡出错从Flash磁盘读文件
   \   0147  3E43              LD      A,67
   \   0149  322400            LD      (g_viewpic_vars+4),A
    132                          if (!ActiveDriveOK)
   \   014C  3A4F00            LD      A,(ActiveDriveOK)
   \   014F  B7                OR      A
   \   0150  2026              JR      NZ,?0027
   \   0152            ?0022:
    133                          {
    134                              ResClose(res_fp);
   \   0152  1812              JR      ?0032
    135                              return 0;
    136                          }
   \   0154            ?0023:
    137                      }  
    138                      else
   \   0154            ?0018:
    139                       g_DiskStateFlag |= SetCardOKFlag_def;//标志 卡 已格式化
   \   0154  210000            LD      HL,g_DiskStateFlag
   \   0157  CBDE              SET     3,(HL)
   \   0159            ?0024:
    140                  }
    141                  else
   \   0159  181D              JR      ?0027
   \   015B            ?0016:
    142                  { //没卡
    143                      g_viewpic_vars.location.disk='C';      //卡出错从Flash磁盘读文件
   \   015B  3E43              LD      A,67
   \   015D  322400            LD      (g_viewpic_vars+4),A
    144                      if (!ActiveDriveOK)
   \   0160  3A4F00            LD      A,(ActiveDriveOK)
   \   0163  B7                OR      A
   \   0164  2012              JR      NZ,?0027
   \   0166            ?0026:
    145                      {
    146                          ResClose(res_fp);
   \   0166            ?0032:
   \   0166  ED5B0000          LD      DE,(res_fp)
   \   016A  3E00              LD      A,BYTE3 ResClose
   \   016C  210000            LD      HL,LWRD ResClose
   \   016F  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    147                          return 0;
   \   0172  210000            LD      HL,0
    148                      }
   \   0175  C30D02            JP      LWRD ?0030
   \   0178            ?0027:
   \   0178            ?0025:
    149                  }
    150                  SetPenColor(Color_WHITE_def);
   \   0178  010000            LD      BC,0
   \   017B  11FFFF            LD      DE,65535
   \   017E  CD0000            CALL    LWRD SetPenColor
    151                  SetBackgdColor(Color_BLACK_def);
   \   0181  010000            LD      BC,0
   \   0184  59                LD      E,C
   \   0185  50                LD      D,B
   \   0186  CD0000            CALL    LWRD SetBackgdColor
    152                  //show initializing...
    153                  ClearScreen(NULL);
   \   0189  110000            LD      DE,0
   \   018C  CD0000            CALL    LWRD ClearScreen
    154                  ResShowMultiString(WAITPASS, g_comval.langid, 255, 80);
   \   018F  0E50              LD      C,80
   \   0191  C5                PUSH    BC
   \   0192  0EFF              LD      C,255
   \   0194  C5                PUSH    BC
   \   0195  ED4B0C00          LD      BC,(g_comval+12)
   \   0199  11B501            LD      DE,437
   \   019C  3E00              LD      A,BYTE3 ResShowMultiString
   \   019E  210000            LD      HL,LWRD ResShowMultiString
   \   01A1  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   01A4  F1                POP     AF
   \   01A5  F1                POP     AF
    155                  result = InitFileSelector();
   \   01A6  3E00              LD      A,BYTE3 InitFileSelector
   \   01A8  210000            LD      HL,LWRD InitFileSelector
   \   01AB  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   01AE  E5                PUSH    HL
   \   01AF  DDE1              POP     IX
    156                  if(result!=0)
   \   01B1  7D                LD      A,L
   \   01B2  B4                OR      H
   \   01B3  280B              JR      Z,?0029
   \   01B5            ?0028:
    157                  {
    158                      result=show_stop();
   \   01B5  3E00              LD      A,BYTE3 show_stop
   \   01B7  210000            LD      HL,LWRD show_stop
   \   01BA  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   01BD  E5                PUSH    HL
   \   01BE  DDE1              POP     IX
   \   01C0            ?0029:
    159                  }
    160          
    161                  output8(0x05,status);         //解决进U盘提示格式化的问题   zxs add
   \   01C0  210000            LD      HL,0
   \   01C3  39                ADD     HL,SP
   \   01C4  7E                LD      A,(HL)
   \   01C5  D305              OUT     (5),A
    162                  ap_sleep(4);
   \   01C7  110400            LD      DE,4
   \   01CA  3E00              LD      A,BYTE3 ap_sleep
   \   01CC  210000            LD      HL,LWRD ap_sleep
   \   01CF  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    163                  output8(0x4e,input8(0x4e)|0x8)    ; //modified by jmzhang
   \   01D2  DB4E              IN      A,(78)
   \   01D4  CBDF              SET     3,A
   \   01D6  D34E              OUT     (78),A
    164                  ResClose(res_fp);   
   \   01D8  ED5B0000          LD      DE,(res_fp)
   \   01DC  3E00              LD      A,BYTE3 ResClose
   \   01DE  210000            LD      HL,LWRD ResClose
   \   01E1  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    165                  fselGetLocation(& g_viewpic_vars.location); 
   \   01E4  112400            LD      DE,g_viewpic_vars+4
   \   01E7  3E00              LD      A,BYTE3 fselGetLocation
   \   01E9  210000            LD      HL,LWRD fselGetLocation
   \   01EC  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    166                  VMWrite(&g_viewpic_vars, VM_AP_View);
   \   01EF  010040            LD      BC,16384
   \   01F2  112000            LD      DE,g_viewpic_vars
   \   01F5  CD0000            CALL    LWRD VMWrite
    167           ////////////////////////////     zxs add for card     
    168              output8(0x2f,input8(0x2f)|0x04);       //CE3 change to GIOA3  
   \   01F8  DB2F              IN      A,(47)
   \   01FA  CBD7              SET     2,A
   \   01FC  D32F              OUT     (47),A
    169              output8(0xee,input8(0xee)&0xf7); 
   \   01FE  DBEE              IN      A,(238)
   \   0200  CB9F              RES     3,A
   \   0202  D3EE              OUT     (238),A
    170              output8(0xf7,input8(0xf7)|0x01);      // PowerOff
   \   0204  DBF7              IN      A,(247)
   \   0206  CBC7              SET     0,A
   \   0208  D3F7              OUT     (247),A
    171          ////////////////////////////     zxs add for card  
    172                  return result;
   \   020A  DDE5              PUSH    IX
   \   020C  E1                POP     HL
    173              }
   \   020D            ?0030:
   \   020D  F1                POP     AF
   \   020E  F1                POP     AF
   \   020F  DDE1              POP     IX
   \   0211  C1                POP     BC
   \   0212  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
    174          
    175          
    176          
   \   0000                    RSEG    CSTR
   \   0000            ?0006:
   \   0000  3A                DEFB    ':'
   \   0001  00                DEFB    0
   \   0002            ?0007:
   \   0002  75693330          DEFB    'ui30.res'
   \   0006  2E726573
   \   000A  00                DEFB    0
   \   0000                    RSEG    UDATA0
   \   0000            g_comval:
   \   0020                    DEFS    32
   \   0020            g_viewpic_vars:
   \   004D                    DEFS    45
   \   004D            test:
   \   004E                    DEFS    1
   \   004E            g_menu_active:
   \   004F                    DEFS    1
   \   004F            ActiveDriveOK:
   \   0050                    DEFS    1
   \   0000                    RSEG    IDATA0
   \   0000            g_DiskStateFlag:
   \   0001                    DEFS    1
   \   0000                    RSEG    CDATA0
   \   0000  00                DEFB    0
   \   0001                    END

Errors: none
Warnings: none
Code size: 533
Constant size: 12
Static variable size: Data(81) Iram(0)

⌨️ 快捷键说明

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