ap_message2_formusic.lst

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

LST
1,069
字号
   \   01BC  ED42              SBC     HL,BC
   \   01BE  2005              JR      NZ,?0052
   \   01C0            ?0054:
   \   01C0            ?0053:
   \   01C0            ?0051:
    216                  {
    217                      return AP_MSG_STANDBY;
   \   01C0  2E1D              LD      L,29
    218                  }
   \   01C2  C37102            JP      LWRD ?0077
   \   01C5            ?0052:
    219                  #ifdef EAR_PROTECT
    220                      if(g_autoswitch_time != 0 && g_autoswitch_counter == g_autoswitch_time) //自动关机
   \   01C5  2A0200            LD      HL,(g_autoswitch_time)
   \   01C8  7D                LD      A,L
   \   01C9  B4                OR      H
   \   01CA  280D              JR      Z,?0056
   \   01CC  ED4B0300          LD      BC,(g_autoswitch_counter)
   \   01D0  ED42              SBC     HL,BC
   \   01D2  2005              JR      NZ,?0056
   \   01D4            ?0058:
   \   01D4            ?0057:
   \   01D4            ?0055:
    221                      {
    222                          return AP_MSG_FORCE_STANDBY;
   \   01D4            ?0109:
   \   01D4  2E1F              LD      L,31
    223                      }
   \   01D6  C37102            JP      LWRD ?0077
   \   01D9            ?0056:
    224                  #endif
    225          
    226                  if( (g_rtc_counter % 16) == 0 )
   \   01D9  2A0C00            LD      HL,(g_rtc_counter)
   \   01DC  7D                LD      A,L
   \   01DD  E60F              AND     15
   \   01DF  2005              JR      NZ,?0060
   \   01E1            ?0059:
    227                  {
    228          
    229                      return AP_MSG_WAIT_TIMEOUT;    //8 sec timeout
   \   01E1  2E1E              LD      L,30
    230                  }
   \   01E3  C37102            JP      LWRD ?0077
   \   01E6            ?0060:
    231          
    232                  if(key == MSG_RTC2HZ) key = AP_MSG_RTC;
   \   01E6  DD4602            LD      B,(IX+2)
   \   01E9  05                DEC     B
   \   01EA  E2F301            JP      PO,?0062
   \   01ED            ?0061:
   \   01ED  DD36021C          LD      (IX+2),28
   \   01F1  1804              JR      ?0063
   \   01F3            ?0062:
    233                  else key = AP_MSG_CHARGING;
   \   01F3  DD36021B          LD      (IX+2),27
   \   01F7            ?0063:
    234          
    235                  break;
   \   01F7  1875              JR      ?0076
   \   01F9            ?0064:
    236          
    237          
    238              case MSG_USB_STICK:        //usb plugin, 等同按键
    239                  g_rtc_counter = 0;
   \   01F9  210000            LD      HL,0
   \   01FC  220C00            LD      (g_rtc_counter),HL
    240                  key_count = 1;
   \   01FF  23                INC     HL
   \   0200  220F00            LD      (?0012),HL
    241                  key = AP_MSG_USB_PLUGIN;
   \   0203  DD36021A          LD      (IX+2),26
    242          
    243                  //开背光
    244                  if(g_light_time != 0)
   \   0207  3A0500            LD      A,(g_light_time)
   \   020A  B7                OR      A
   \   020B  2861              JR      Z,?0076
   \   020D            ?0065:
    245                  {
    246                      Lightmodeset(TRUE);//开关背光(TRUE: 开, FALSE:关)
   \   020D  5D                LD      E,L
   \   020E  CD7402            CALL    LWRD ?0113
    247                      g_light_flag = FALSE;
   \   0211  AF                XOR     A
   \   0212  320E00            LD      (g_light_flag),A
    248                  }
    249                  else
   \   0215            ?0066:
   \   0215            ?0067:
    250                  {
    251                  }
    252                  break;
   \   0215  1857              JR      ?0076
   \   0217            ?0068:
    253          
    254          //#ifndef DEBUG
    255              case MSG_LOW_LOPOWER:    //low power, nmi 0.98v
    256                  DUMP("low power", 0);
    257                  key = AP_MSG_LOW_POWER_MY;
   \   0217  DD36028B          LD      (IX+2),139
    258                  break;
   \   021B  1851              JR      ?0076
   \   021D            ?0069:
    259          //#endif
    260          
    261              case MSG_USB_UNSTICK:    //ap 不识别的消息
    262              case Msg_KeyNull:        //没有按键
    263                  key = AP_KEY_NULL;
   \   021D  DD360200          LD      (IX+2),0
    264                  break;
   \   0221  184B              JR      ?0076
   \   0223            ?0070:
    265          
    266                          case Msg_KeyUnHold:
    267                  key = AP_MSG_UNLOCK;
    268                  g_rtc_counter = 0;
   \   0223  210000            LD      HL,0
   \   0226  220C00            LD      (g_rtc_counter),HL
    269                  key_count = 1;
   \   0229  23                INC     HL
   \   022A  220F00            LD      (?0012),HL
    270                  key_value = key;
   \   022D  3E18              LD      A,24
   \   022F  180C              JR      ?0110
    271                  break;
   \   0231            ?0071:
    272          
    273              case Msg_KeyHold:
    274                  //lock 后还会有up消息
    275                  key = AP_MSG_LOCK;
    276                  g_rtc_counter = 0;
   \   0231  210000            LD      HL,0
   \   0234  220C00            LD      (g_rtc_counter),HL
    277                  key_count = 1;
   \   0237  23                INC     HL
   \   0238  220F00            LD      (?0012),HL
    278                  key_value = key;
   \   023B  3E19              LD      A,25
   \   023D            ?0110:
   \   023D  321100            LD      (?0013),A
   \   0240  DD7702            LD      (IX+2),A
    279                  break;
   \   0243  1829              JR      ?0076
   \   0245            ?0072:
    280          
    281          //
    282          //    case MSG_SD_IN:/*插卡状态*/
    283          //        key = AP_MSG_SD_IN;
    284          //        break;
    285          //
    286          //    case MSG_SD_OUT:/*拨卡状态*/
    287          //        key = AP_MSG_SD_OUT;
    288          //        break;
    289          //
    290              default:            //新的按键
    291                  g_rtc_counter = 0;
   \   0245  210000            LD      HL,0
   \   0248  220C00            LD      (g_rtc_counter),HL
    292                  key_count = 1;
   \   024B  23                INC     HL
   \   024C  220F00            LD      (?0012),HL
    293                  key_value = key;
   \   024F  7B                LD      A,E
   \   0250  321100            LD      (?0013),A
    294          
    295                  //开背光
    296                  if (!g_light_flag)
   \   0253  3A0E00            LD      A,(g_light_flag)
   \   0256  B7                OR      A
   \   0257  2008              JR      NZ,?0074
   \   0259            ?0073:
    297                  {
    298                      //如背灯没开,不理按键
    299                      key_count = 0;
   \   0259  2B                DEC     HL
   \   025A  220F00            LD      (?0012),HL
    300                      g_rtc_counter = 0;
    301                      return NULL;
   \   025D            ?0108:
   \   025D  2E00              LD      L,0
    302                  }
   \   025F  1810              JR      ?0077
   \   0261            ?0074:
    303          
    304                  if(g_comval.KeyTone)        //key tone add by mzh 2007.3.14
   \   0261  3A1D00            LD      A,(g_comval+29)
   \   0264  B7                OR      A
   \   0265  2807              JR      Z,?0076
   \   0267            ?0075:
    305                      sKY_Beep(g_comval.KeyTone);
   \   0267  ED5B1D00          LD      DE,(g_comval+29)
   \   026B  CD0000            CALL    LWRD sKY_Beep
   \   026E            ?0076:
   \   026E            ?0036:
    306              } //switch()
    307              return key;
   \   026E  DD6E02            LD      L,(IX+2)
    308          }
   \   0271            ?0077:
   \   0271  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0274            ?0113:
   \   0274  3E00              LD      A,BYTE3 Lightmodeset
   \   0276  210000            LD      HL,LWRD Lightmodeset
   \   0279  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   027C            ap_set_event:
    309          
    310          /*
    311          ********************************************************************************
    312          * Description : 设置事件发生标志
    313          *
    314          * Arguments   : event, 事件集合
    315          *
    316          * Returns     :
    317          *
    318          * Notes       :
    319          *
    320          ********************************************************************************
    321          */
    322          void ap_set_event(WORD event)
    323          {
   \   027C  D5                PUSH    DE
    324          //    g_ap_event |= event;
    325          }
   \   027D  E1                POP     HL
   \   027E  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0281            ap_get_event:
    326          
    327          /*
    328          ********************************************************************************
    329          * Description : 检测事件是否发生
    330          *
    331          * Arguments   : event, 需要检测的事件集合
    332                  condition:
    333                      AP_EVENT_ALL:    所有事件发生,返回event,否则返回0
    334                      AP_EVENT_ANY:    任意事件发生,返回event,否则返回0
    335          * Returns     : event 按照 condition 指定的条件发生,返回系统事件的集合
    336                  不满足条件, 返回0
    337          *
    338          * Notes       :
    339          *
    340          ********************************************************************************
    341          */
    342          WORD ap_get_event(WORD event, WORD condition)
    343          {
   \   0281  CD0000            CALL    LWRD ?ENT_PARM_DIRECT_L09
    344          //    if(condition == AP_EVENT_ALL)
    345          //    {
    346          //        if( (g_ap_event & event) == event) return g_ap_event;
    347          //        else return 0;
    348          //    }
    349          //    else if(condition == AP_EVENT_ANY)
    350          //    {
    351          //        if( (g_ap_event & event) != 0) return g_ap_event;
    352          //        else return 0;
    353          //    }
    354          //    else return 0;
    355          }
   \   0284  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0287            ap_sleep:
    356          
    357          /*
    358          ********************************************************************************
    359          * Description : 清除事件发生标志
    360          *
    361          * Arguments   : event, 事件集合
    362          *
    363          * Returns     :

⌨️ 快捷键说明

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