ui_stop.lst

来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,139 行 · 第 1/4 页

LST
1,139
字号
   \   03F9  1E01              LD      E,1
   \   03FB  3E00              LD      A,BYTE3 sel_prev
   \   03FD  21D700            LD      HL,LWRD sel_prev
   \   0400  CDEB04            CALL    LWRD ?0117
    246                                  g_reader_vars.g_txt.PrevSeek=0;
    247                                  g_reader_vars.g_txt.CurrentSeek=0;
    248                                  g_reader_vars.g_txt.BufSector=0;
   \   0403            ?0062:
    249                              //清除多出的HOLD消息,防止按键停了还跳几曲
    250                              while(ap_get_message() != 0);
   \   0403  CD0000            CALL    LWRD ap_get_message
   \   0406  B7                OR      A
   \   0407  CA5A01            JP      Z,?0023
   \   040A            ?0063:
    251                              break;
   \   040A  18F7              JR      ?0062
   \   040C            ?0061:
   \   040C            ?0064:
    252                          case AP_KEY_NEXT :
    253                          case AP_KEY_NEXT | AP_KEY_HOLD:
    254                               if(active < g_file_total - 1)
   \   040C  ED4B0200          LD      BC,(g_file_total)
   \   0410  0B                DEC     BC
   \   0411  2A0000            LD      HL,(active)
   \   0414  F680              OR      128
   \   0416  ED42              SBC     HL,BC
   \   0418  E21C04            JP      PO,?0108
   \   041B  AC                XOR     H
   \   041C            ?0108:
   \   041C  F24804            JP      P,?0066
   \   041F            ?0065:
    255                               {
    256                                          active++;
   \   041F  2A0000            LD      HL,(active)
   \   0422  23                INC     HL
   \   0423  220000            LD      (active),HL
    257                                                                  if(active/6==cur_group)
   \   0426  010600            LD      BC,6
   \   0429  EB                EX      DE,HL
   \   042A  CD0000            CALL    LWRD ?SS_DIV_L02
   \   042D  DD6EF8            LD      L,(IX-8)
   \   0430  DD66F9            LD      H,(IX-7)
   \   0433  A7                AND     A
   \   0434  ED52              SBC     HL,DE
   \   0436  2015              JR      NZ,?0115
   \   0438            ?0067:
    258                                          {
    259                                                  old_active=active-1;
   \   0438  2A0000            LD      HL,(active)
   \   043B  2B                DEC     HL
   \   043C  DD75FA            LD      (IX-6),L
   \   043F  DD74FB            LD      (IX-5),H
    260                                                  list_change=TRUE;
   \   0442  DD36F001          LD      (IX-16),1
    261                                          }
    262                                          else
   \   0446  1809              JR      ?0070
   \   0448            ?0068:
    263                                                  need_draw = TRUE;
   \   0448            ?0069:
    264                               }
    265                               else
   \   0448            ?0066:
    266                               {
    267                                          active = 0;
   \   0448  6A                LD      L,D
   \   0449  62                LD      H,D
   \   044A  220000            LD      (active),HL
    268                                          need_draw = TRUE;
   \   044D            ?0115:
   \   044D  DD36EE01          LD      (IX-18),1
   \   0451            ?0070:
    269                               }
    270                               sel_next(TRUE);
   \   0451  1E01              LD      E,1
   \   0453  3E00              LD      A,BYTE3 sel_next
   \   0455  219400            LD      HL,LWRD sel_next
   \   0458  CDEB04            CALL    LWRD ?0117
    271                               g_reader_vars.g_txt.PrevSeek=0;
    272                               g_reader_vars.g_txt.CurrentSeek=0;
    273                               g_reader_vars.g_txt.BufSector=0;
   \   045B            ?0072:
    274                               //清除多出的HOLD消息,防止按键停了还跳几曲
    275                               while(ap_get_message() != 0);
   \   045B  CD0000            CALL    LWRD ap_get_message
   \   045E  B7                OR      A
   \   045F  CA5A01            JP      Z,?0023
   \   0462            ?0073:
    276                                  break;
   \   0462  18F7              JR      ?0072
   \   0464            ?0071:
   \   0464            ?0074:
    277                          case AP_KEY_MODE:
    278                               g_menu_active=1;
    279                               break;         
   \   0464            ?0075:
    280                          case  AP_KEY_MODE|AP_KEY_UP:
    281                          
    282                                  if(g_menu_active)                               // set the mode
   \   0464  3A0000            LD      A,(g_menu_active)
   \   0467  B7                OR      A
   \   0468  281A              JR      Z,?0077
   \   046A            ?0076:
    283                                  {
    284                                          result=MenuInReader();
   \   046A  3E00              LD      A,BYTE3 MenuInReader
   \   046C  210000            LD      HL,LWRD MenuInReader
   \   046F  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    285                            if(result==RESULT_IGNORE)
   \   0472  3E34              LD      A,52
   \   0474  AD                XOR     L
   \   0475  B4                OR      H
   \   0476  2820              JR      Z,?0110
   \   0478            ?0078:
    286                            {
    287                                file_changed=TRUE;
    288                                break;
   \   0478            ?0079:
    289                            }
    290                            else if(result==RESULT_SD_OUT)
   \   0478  3E36              LD      A,54
   \   047A  AD                XOR     L
   \   047B  B4                OR      H
   \   047C  2843              JR      Z,?0112
   \   047E            ?0080:
    291                             {
    292                                need_sel_file = TRUE;
    293                                break;
   \   047E            ?0081:
    294                             }
    295                                          else if(result==0)
   \   047E  7D                LD      A,L
   \   047F  B4                OR      H
   \   0480  201D              JR      NZ,?0086
   \   0482            ?0082:
    296                                          {
    297                                              need_sel_file = TRUE;
   \   0482  183D              JR      ?0112
    298                                              break;
   \   0484            ?0083:
    299                                          }
    300                                          else
    301                                              return result;
    302                                  }
   \   0484            ?0077:
    303                                  else
    304                                  g_menu_active=TRUE;
   \   0484  3E01              LD      A,1
   \   0486  320000            LD      (g_menu_active),A
    305                                break;
   \   0489  C35A01            JP      LWRD ?0023
   \   048C            ?0084:
    306                          
    307                          case AP_KEY_PLAY | AP_KEY_UP:
    308                                  result=do_play();
   \   048C  3E00              LD      A,BYTE3 do_play
   \   048E  210000            LD      HL,LWRD do_play
   \   0491  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    309                                  if(result==0)
   \   0494  7D                LD      A,L
   \   0495  B4                OR      H
   \   0496  2007              JR      NZ,?0086
   \   0498            ?0085:
    310                                {
    311                                          file_changed=TRUE;
   \   0498            ?0110:
   \   0498  DD36EF01          LD      (IX-17),1
    312                                          break;
   \   049C  C35A01            JP      LWRD ?0023
   \   049F            ?0086:
    313                                }
    314                                else
    315                                     return result;
    316                  case AP_MSG_SD_OUT:
   \   049F  183F              JR      ?0096
   \   04A1            ?0087:
    317                       if (g_reader_vars.location.disk == 'H')
   \   04A1  3A0600            LD      A,(g_reader_vars+6)
   \   04A4  FE48              CP      72
   \   04A6  2021              JR      NZ,?0089
   \   04A8            ?0088:
    318                          {
    319                              g_reader_vars.location.disk = 'C';
   \   04A8  3E43              LD      A,67
   \   04AA  320600            LD      (g_reader_vars+6),A
    320                              ui_err_msg(CARDPULL,CARDPULL,g_comval.langid);//显示卡拔出
   \   04AD  ED4B0C00          LD      BC,(g_comval+12)
   \   04B1  42                LD      B,D
   \   04B2  C5                PUSH    BC
   \   04B3  018A01            LD      BC,394
   \   04B6  59                LD      E,C
   \   04B7  50                LD      D,B
   \   04B8  3E00              LD      A,BYTE3 ui_err_msg
   \   04BA  210000            LD      HL,LWRD ui_err_msg
   \   04BD  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   04C0  F1                POP     AF
    321                              need_sel_file=TRUE;
   \   04C1            ?0112:
   \   04C1  3E01              LD      A,1
   \   04C3  320400            LD      (need_sel_file),A
    322                              break;
   \   04C6  C35A01            JP      LWRD ?0023
   \   04C9            ?0089:
   \   04C9            ?0090:
    323                          }
    324          
    325                          default:
    326                                  key = ap_handle_hotkey( key);
   \   04C9  CD0000            CALL    LWRD ap_handle_hotkey
   \   04CC  4F                LD      C,A
    327                                  if(key == RESULT_REDRAW) need_draw = TRUE;
   \   04CD  3E32              LD      A,50
   \   04CF  A9                XOR     C
   \   04D0  2007              JR      NZ,?0092
   \   04D2            ?0091:
   \   04D2  DD36EE01          LD      (IX-18),1
   \   04D6  C35A01            JP      LWRD ?0023
   \   04D9            ?0092:
    328                                  else if(key != 0) return key;
   \   04D9  79                LD      A,C
   \   04DA  B7                OR      A
   \   04DB  CA5A01            JP      Z,?0023
   \   04DE            ?0094:
   \   04DE  69                LD      L,C
   \   04DF  60                LD      H,B
    329                          
    330                          }
   \   04E0            ?0095:
   \   04E0            ?0093:
   \   04E0            ?0053:
    331          
    332                  }
    333                  return result;
    334          }
   \   04E0            ?0096:
   \   04E0  DDF9              LD      SP,IX
   \   04E2  DDE1              POP     IX
   \   04E4  FDE1              POP     IY
   \   04E6  D1                POP     DE
   \   04E7  C1                POP     BC
   \   04E8  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   04EB            ?0117:
   \   04EB  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   04EE  010000            LD      BC,0
   \   04F1  69                LD      L,C
   \   04F2  60                LD      H,B
   \   04F3  223700            LD      (g_reader_vars+55),HL
   \   04F6  ED433900          LD      (g_reader_vars+57),BC
   \   04FA  223B00            LD      (g_reader_vars+59),HL
   \   04FD  ED433D00          LD      (g_reader_vars+61),BC
   \   0501  223F00            LD      (g_reader_vars+63),HL
   \   0504  C9                RET
   \   0000                    RSEG    CSTR
   \   0000            ?0004:
   \   0000  524F4F54          DEFB    'ROOT'
   \   0004  00                DEFB    0
   \   0005            ?0006:
   \   0005  5C00              DEFB    92,0
   \   0000                    RSEG    CONST
   \   0000            menu_pos:
   \   0000  16                DEFB    22
   \   0001  28                DEFB    '('
   \   0002  3A                DEFB    ':'
   \   0003  4C                DEFB    'L'
   \   0004  5E                DEFB    '^'
   \   0005  70                DEFB    'p'
   \   0000                    RSEG    UDATA0
   \   0000            active:
   \   0002                    DEFS    2
   \   0002            g_file_total:
   \   0004                    DEFS    2
   \   0004            need_sel_file:
   \   0005                    DEFS    1
   \   0005            fileName:
   \   0037                    DEFS    50
   \   0037                    END

Errors: none
Warnings: none
Code size: 1285
Constant size: 13
Static variable size: Data(55) Iram(0)

⌨️ 快捷键说明

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