show_stop_menu.lst

来自「MP3 整个 SDK」· LST 代码 · 共 1,396 行 · 第 1/5 页

LST
1,396
字号
    227                  }
   \   01F3            ?0037:
   \   01F3            ?0035:
    228              }
    229              if(menu_flag)
   \   01F3  AF                XOR     A
   \   01F4  DDB6F2            OR      (IX-14)
   \   01F7  ED5B0400          LD      DE,(g_list+4)
   \   01FB  2874              JR      Z,?0039
   \   01FD            ?0038:
    230              {
    231              switch( g_list.active )
   \   01FD  CD0000            CALL    LWRD ?S_S_SWITCH_L06
   \   0200  0000              DEFW    0
   \   0202  0400              DEFW    4
   \   0204  DA03              DEFW    ?0081
   \   0206  0E02              DEFW    ?0041
   \   0208  C903              DEFW    ?0078
   \   020A  D003              DEFW    ?0079
   \   020C  DA03              DEFW    ?0081
   \   020E            ?0041:
    232              {
    233              case 0:        //local folder
    234                  if(g_record_vars.location.disk=='H')
   \   020E  3A0A00            LD      A,(g_record_vars+10)
   \   0211  FE48              CP      72
   \   0213  2005              JR      NZ,?0043
   \   0215            ?0042:
    235                  {
    236                          g_record_vars.location.disk='C' ;
    237                          memset(g_record_vars.location.filename,0,12);
   \   0215  CDE503            CALL    LWRD ?0195
    238                  }
    239                  else
   \   0218  1810              JR      ?0044
   \   021A            ?0043:
    240                  {
    241                  memcpy(file, g_record_vars.location.filename,12);
   \   021A  0E0C              LD      C,12
   \   021C  210400            LD      HL,4
   \   021F  39                ADD     HL,SP
   \   0220  EB                EX      DE,HL
   \   0221  212400            LD      HL,g_record_vars+36
   \   0224  EDB0              LDIR
    242                  g_record_vars.location.filename[0] = 0;
   \   0226  AF                XOR     A
   \   0227  322400            LD      (g_record_vars+36),A
   \   022A            ?0044:
    243                  }
    244                  //fselInit(DIRECTORY_ALL,  FSEL_DIR_END, FSEL_TYPE_COMMONDIR, 'C');
    245                  fselInit(DIRECTORY_ALL,  FSEL_DIR_END, FSEL_TYPE_COMMONDIR,g_record_vars.location.disk);
   \   022A  210A00            LD      HL,g_record_vars+10
   \   022D  4E                LD      C,(HL)
   \   022E  C5                PUSH    BC
   \   022F  0E00              LD      C,0
   \   0231  C5                PUSH    BC
   \   0232  CDF303            CALL    LWRD ?0197
   \   0235  F1                POP     AF
   \   0236  F1                POP     AF
    246                  fselGetLocation(&g_record_vars.location);
   \   0237  CDFF03            CALL    LWRD ?0198
    247                  result =  ui_directory(&g_record_vars.location, DIRECTORY_ALL, g_comval.langid);
   \   023A  C5                PUSH    BC
   \   023B  CD0F04            CALL    LWRD ?0199
   \   023E  F1                POP     AF
   \   023F  DD75F0            LD      (IX-16),L
   \   0242  DD74F1            LD      (IX-15),H
    248                  memcpy(g_record_vars.location.filename, file, 12);
   \   0245  010C00            LD      BC,12
   \   0248  112400            LD      DE,g_record_vars+36
   \   024B  210400            LD      HL,4
   \   024E  39                ADD     HL,SP
   \   024F  EDB0              LDIR
    249                  g_menu_active = FALSE;
   \   0251  AF                XOR     A
   \   0252  320000            LD      (g_menu_active),A
    250          
    251                  if(result == RESULT_IGNORE)
   \   0255  3E34              LD      A,52
   \   0257  DDAEF0            XOR     (IX-16)
   \   025A  DDB6F1            OR      (IX-15)
   \   025D  2006              JR      NZ,?0046
   \   025F            ?0045:
    252                     result= 0;
   \   025F  DD77F0            LD      (IX-16),A
   \   0262  DD77F1            LD      (IX-15),A
   \   0265            ?0046:
    253                  if(result != 0) return result;
   \   0265  DD7EF0            LD      A,(IX-16)
   \   0268  DDB6F1            OR      (IX-15)
   \   026B  CABC03            JP      Z,?0077
   \   026E            ?0047:
   \   026E  C3B403            JP      LWRD ?0160
    254                  else
   \   0271            ?0048:
    255                  {
    256                      make_dirname();
    257                      return RESULT_DIR_CHANGED;
    258                  }
   \   0271            ?0049:
    259                  //break;
    260          
    261              case 1:
    262                  result =  show_RecFrom_menu();
    263          
    264                  return result;
    265          
    266              case 2:        //rec type
   \   0271            ?0050:
    267                  result =  show_rectype_menu();
    268          
    269                  return result;
    270                  //break;
    271              case 3:        //exit
   \   0271            ?0051:
    272                  return 0;
    273              default:
   \   0271            ?0052:
   \   0271            ?0040:
    274                  //ASSERT(FALSE);
    275                  ;
    276              }//switch
    277              return 0;
    278          
    279              }
   \   0271            ?0039:
    280              else //CARD
    281              {
    282                  switch( g_list.active )
   \   0271  CD0000            CALL    LWRD ?S_S_SWITCH_L06
   \   0274  0000              DEFW    0
   \   0276  0500              DEFW    5
   \   0278  DA03              DEFW    ?0081
   \   027A  8402              DEFW    ?0054
   \   027C  E702              DEFW    ?0062
   \   027E  C903              DEFW    ?0078
   \   0280  D003              DEFW    ?0079
   \   0282  DA03              DEFW    ?0081
   \   0284            ?0054:
    283                  {
    284                  case 0:        //local folder
    285                      if(g_record_vars.location.disk=='H')
   \   0284  3A0A00            LD      A,(g_record_vars+10)
   \   0287  FE48              CP      72
   \   0289  2005              JR      NZ,?0056
   \   028B            ?0055:
    286                      {
    287                            g_record_vars.location.disk='C' ;
    288                           memset(g_record_vars.location.filename,0,12);
   \   028B  CDE503            CALL    LWRD ?0195
    289                      }
    290                      else
   \   028E  1810              JR      ?0057
   \   0290            ?0056:
    291                      {
    292                              memcpy(file, g_record_vars.location.filename,12);
   \   0290  0E0C              LD      C,12
   \   0292  210400            LD      HL,4
   \   0295  39                ADD     HL,SP
   \   0296  EB                EX      DE,HL
   \   0297  212400            LD      HL,g_record_vars+36
   \   029A  EDB0              LDIR
    293                              g_record_vars.location.filename[0] = 0;
   \   029C  AF                XOR     A
   \   029D  322400            LD      (g_record_vars+36),A
   \   02A0            ?0057:
    294                      }
    295                      fselInit(DIRECTORY_ALL,  FSEL_DIR_END, FSEL_TYPE_COMMONDIR,g_record_vars.location.disk);
   \   02A0  210A00            LD      HL,g_record_vars+10
   \   02A3  4E                LD      C,(HL)
   \   02A4  C5                PUSH    BC
   \   02A5  0E00              LD      C,0
   \   02A7  C5                PUSH    BC
   \   02A8  CDF303            CALL    LWRD ?0197
   \   02AB  F1                POP     AF
   \   02AC  F1                POP     AF
    296                      fselGetLocation(&g_record_vars.location);
   \   02AD  CDFF03            CALL    LWRD ?0198
    297                      result =  ui_directory(&g_record_vars.location, DIRECTORY_ALL, g_comval.langid);
   \   02B0  C5                PUSH    BC
   \   02B1  CD0F04            CALL    LWRD ?0199
   \   02B4  F1                POP     AF
   \   02B5  DD75F0            LD      (IX-16),L
   \   02B8  DD74F1            LD      (IX-15),H
    298                      memcpy(g_record_vars.location.filename, file, 12);
   \   02BB  010C00            LD      BC,12
   \   02BE  112400            LD      DE,g_record_vars+36
   \   02C1  210400            LD      HL,4
   \   02C4  39                ADD     HL,SP
   \   02C5  EDB0              LDIR
    299                      g_menu_active = FALSE;
   \   02C7  AF                XOR     A
   \   02C8  320000            LD      (g_menu_active),A
    300          
    301                      if(result == RESULT_IGNORE)
   \   02CB  3E34              LD      A,52
   \   02CD  DDAEF0            XOR     (IX-16)
   \   02D0  DDB6F1            OR      (IX-15)
   \   02D3  2006              JR      NZ,?0059
   \   02D5            ?0058:
    302                        result= 0;
   \   02D5  DD77F0            LD      (IX-16),A
   \   02D8  DD77F1            LD      (IX-15),A
   \   02DB            ?0059:
    303                       if(result != 0) return result;
   \   02DB  DD7EF0            LD      A,(IX-16)
   \   02DE  DDB6F1            OR      (IX-15)
   \   02E1  CABC03            JP      Z,?0077
   \   02E4            ?0060:
   \   02E4  C3B403            JP      LWRD ?0160
    304                      else
   \   02E7            ?0061:
    305                       {
    306                         make_dirname();
    307                         return RESULT_DIR_CHANGED;
    308                      }
   \   02E7            ?0062:
    309          
    310                  case 1:        //card folder
    311          
    312                      if(g_record_vars.location.disk=='C')
   \   02E7  3A0A00            LD      A,(g_record_vars+10)
   \   02EA  FE43              CP      67
   \   02EC  2049              JR      NZ,?0064
   \   02EE            ?0063:
    313                      {
    314                                 g_record_vars.location.disk='H' ;
   \   02EE  3E48              LD      A,72
   \   02F0  320A00            LD      (g_record_vars+10),A
    315                                 result=fselInit(DIRECTORY_ALL,  FSEL_DIR_END, FSEL_TYPE_COMMONDIR,g_record_vars.location.disk);
   \   02F3  4F                LD      C,A
   \   02F4  C5                PUSH    BC
   \   02F5  48                LD      C,B
   \   02F6  C5                PUSH    BC
   \   02F7  CDF303            CALL    LWRD ?0197
   \   02FA  F1                POP     AF
   \   02FB  F1                POP     AF
    316                                 if(!result)
   \   02FC  7D                LD      A,L
   \   02FD  B7                OR      A
   \   02FE  201B              JR      NZ,?0066
   \   0300            ?0065:
    317                                 {
    318                                   g_record_vars.location.disk='C' ;
    319                                   show_error(CREADERR);//显示卡错
   \   0300  CD1C04            CALL    LWRD ?0200
    320                                  fselInit(DIRECTORY_ALL,  FSEL_DIR_END, FSEL_TYPE_COMMONDIR,g_record_vars.location.disk);
   \   0303  210A00            LD      HL,g_record_vars+10
   \   0306  4E                LD      C,(HL)
   \   0307  C5                PUSH    BC
   \   0308  0E00              LD      C,0
   \   030A  C5                PUSH    BC
   \   030B  CDF303            CALL    LWRD ?0197
   \   030E  F1                POP     AF
   \   030F  F1                POP     AF
    321                                  reset_record_dir();
   \   0310  3E00              LD      A,BYTE3 reset_record_dir
   \   0312  210000            LD      HL,LWRD reset_record_dir
   \   0315  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    322                                  make_dirname();
   \   0318  C3BC03            JP      LWRD ?0077
    323                                  return RESULT_DIR_CHANGED;
    324                                  //return 0;
    325          
    326                                 }
   \   031B            ?0066:
    327                                 if((g_record_vars.rec_bitrate==3)||(g_record_vars.rec_bitrate==2))
   \   031B  3A0300            LD      A,(g_record_vars+3)
   \   031E  FE03              CP      3
   \   0320  2804              JR      Z,?0069
   \   0322  3D                DEC     A
   \   0323  3D                DEC     A
   \   0324  2009              JR      NZ,?0068
   \   0326            ?0069:
   \   0326            ?0070:
   \   0326            ?0067:
    328                                 {
    329                                   g_record_vars.rec_bitrate=0;
   \   0326  AF                XOR     A
   \   0327  320300            LD      (g_record_vars+3),A

⌨️ 快捷键说明

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