⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ap_message2_formusic.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 3 页
字号:
    137                  g_rtc_counter = 0;
   \   00D2  220700            LD      (g_rtc_counter),HL
    138                  if (!g_light_flag)
   \   00D5  3A0B00            LD      A,(g_light_flag)
   \   00D8  B7                OR      A
   \   00D9  200D              JR      NZ,?0026
   \   00DB            ?0025:
    139                  {
    140                      Lightmodeset(TRUE);//开关背光(TRUE: 开, FALSE:关)
   \   00DB  1E01              LD      E,1
   \   00DD  CDD001            CALL    LWRD ?0107
    141                      g_light_flag = TRUE;
   \   00E0  3E01              LD      A,1
   \   00E2  320B00            LD      (g_light_flag),A
    142                      return NULL;
   \   00E5  C3C601            JP      LWRD ?0097
    143                  }
   \   00E8            ?0026:
    144                  key = key_value | AP_KEY_UP;
   \   00E8  78                LD      A,B
   \   00E9  CBEF              SET     5,A
   \   00EB  C39D01            JP      LWRD ?0098
    145                  break;
   \   00EE            ?0027:
    146          
    147          
    148              case MSG_RTC2HZ:        //rtc
    149              case MSG_BAT_V_CHG:        //charging & rtc
    150                  g_rtc_counter++;
   \   00EE  2A0700            LD      HL,(g_rtc_counter)
   \   00F1  23                INC     HL
   \   00F2  220700            LD      (g_rtc_counter),HL
    151          
    152                  if((g_light_time != 0) && (g_rtc_counter >= g_light_time)&&((input8(0x57) & 0x02)==0))    //自动关背光
   \   00F5  3A0000            LD      A,(g_light_time)
   \   00F8  B7                OR      A
   \   00F9  2815              JR      Z,?0029
   \   00FB  4F                LD      C,A
   \   00FC  0600              LD      B,0
   \   00FE  ED42              SBC     HL,BC
   \   0100  380E              JR      C,?0029
   \   0102  DB57              IN      A,(87)
   \   0104  CB4F              BIT     1,A
   \   0106  2008              JR      NZ,?0029
   \   0108            ?0031:
   \   0108            ?0030:
   \   0108            ?0028:
    153                  {
    154                      //关背光
    155                      Lightmodeset(FALSE);                         //开关背光(true: 开, false:关) zxs  //
   \   0108  58                LD      E,B
   \   0109  CDD001            CALL    LWRD ?0107
    156                      g_light_flag = FALSE;
   \   010C  AF                XOR     A
   \   010D  320B00            LD      (g_light_flag),A
   \   0110            ?0029:
    157                  }
    158          
    159                  if(g_sleep_time != 0 && g_rtc_counter == g_sleep_time) //睡眠
   \   0110  2A0300            LD      HL,(g_sleep_time)
   \   0113  7D                LD      A,L
   \   0114  B4                OR      H
   \   0115  280D              JR      Z,?0033
   \   0117  ED4B0700          LD      BC,(g_rtc_counter)
   \   011B  ED42              SBC     HL,BC
   \   011D  2005              JR      NZ,?0033
   \   011F            ?0035:
   \   011F            ?0034:
   \   011F            ?0032:
    160                  {
    161                      return AP_MSG_SLEEP;
   \   011F  2E1F              LD      L,31
    162                  }
   \   0121  C3CD01            JP      LWRD ?0058
   \   0124            ?0033:
    163          
    164                  if(g_standby_time != 0 && g_rtc_counter == g_standby_time) //自动关机
   \   0124  2A0500            LD      HL,(g_standby_time)
   \   0127  7D                LD      A,L
   \   0128  B4                OR      H
   \   0129  280D              JR      Z,?0037
   \   012B  ED4B0700          LD      BC,(g_rtc_counter)
   \   012F  ED42              SBC     HL,BC
   \   0131  2005              JR      NZ,?0037
   \   0133            ?0039:
   \   0133            ?0038:
   \   0133            ?0036:
    165                  {
    166                      return AP_MSG_STANDBY;
   \   0133  2E1D              LD      L,29
    167                  }
   \   0135  C3CD01            JP      LWRD ?0058
   \   0138            ?0037:
    168          
    169                  if( (g_rtc_counter % 16) == 0 )
   \   0138  2A0700            LD      HL,(g_rtc_counter)
   \   013B  7D                LD      A,L
   \   013C  E60F              AND     15
   \   013E  2005              JR      NZ,?0041
   \   0140            ?0040:
    170                  {
    171          
    172                      return AP_MSG_WAIT_TIMEOUT;    //8 sec timeout
   \   0140  2E1E              LD      L,30
    173                  }
   \   0142  C3CD01            JP      LWRD ?0058
   \   0145            ?0041:
    174          
    175                  if(key == MSG_RTC2HZ) key = AP_MSG_RTC;
   \   0145  DD4602            LD      B,(IX+2)
   \   0148  05                DEC     B
   \   0149  E25201            JP      PO,?0043
   \   014C            ?0042:
   \   014C  DD36021C          LD      (IX+2),28
   \   0150  1878              JR      ?0057
   \   0152            ?0043:
    176                  else key = AP_MSG_CHARGING;
   \   0152  DD36021B          LD      (IX+2),27
   \   0156            ?0044:
    177          
    178                  break;
   \   0156  1872              JR      ?0057
   \   0158            ?0045:
    179          
    180          
    181              case MSG_USB_STICK:        //usb plugin, 等同按键
    182                  output8(0xf4,input8(0x0f4)&0xF7);    //set gio_c3 to low to cut battery
   \   0158  DBF4              IN      A,(244)
   \   015A  CB9F              RES     3,A
   \   015C  D3F4              OUT     (244),A
    183                  g_rtc_counter = 0;
   \   015E  210000            LD      HL,0
   \   0161  220700            LD      (g_rtc_counter),HL
    184                  key_count = 1;
   \   0164  23                INC     HL
   \   0165  220C00            LD      (?0012),HL
    185                  key = AP_MSG_USB_PLUGIN;
   \   0168  DD36021A          LD      (IX+2),26
    186          
    187                  //开背光
    188                  if(g_light_time != 0)
   \   016C  3A0000            LD      A,(g_light_time)
   \   016F  B7                OR      A
   \   0170  2858              JR      Z,?0057
   \   0172            ?0046:
    189                  {
    190                      Lightmodeset(TRUE);//开关背光(TRUE: 开, FALSE:关)
   \   0172  5D                LD      E,L
   \   0173  CDD001            CALL    LWRD ?0107
    191                      g_light_flag = FALSE;
   \   0176  AF                XOR     A
   \   0177  320B00            LD      (g_light_flag),A
    192                  }
    193                  else
   \   017A            ?0047:
   \   017A            ?0048:
    194                  {
    195                  }
    196                  break;
   \   017A  184E              JR      ?0057
   \   017C            ?0049:
    197          
    198          //#ifndef DEBUG
    199              case MSG_LOW_POWER:    //low power, nmi 0.98v
    200                  DUMP("low power", 0);
    201                  key = AP_MSG_LOW_POWER;
   \   017C  DD36021F          LD      (IX+2),31
    202                  break;
   \   0180  1848              JR      ?0057
   \   0182            ?0050:
    203          //#endif
    204          
    205              case MSG_USB_UNSTICK:    //ap 不识别的消息
    206                  output8(0xf4,input8(0x0f4)|0x08);    //set gio_c3 to high to open battery
   \   0182  DBF4              IN      A,(244)
   \   0184  CBDF              SET     3,A
   \   0186  D3F4              OUT     (244),A
   \   0188            ?0051:
    207              case Msg_KeyNull:        //没有按键
    208          //    case MSG_USB_UNSTICK:    //ap 不识别的消息
    209              case Msg_KeyUnHold:
    210                  key = AP_KEY_NULL;
   \   0188  DD360200          LD      (IX+2),0
    211                  break;
   \   018C  183C              JR      ?0057
   \   018E            ?0052:
    212          
    213          
    214              case Msg_KeyHold:
    215                  //lock 后还会有up消息
    216                  key = AP_MSG_LOCK;
    217                  g_rtc_counter = 0;
   \   018E  210000            LD      HL,0
   \   0191  220700            LD      (g_rtc_counter),HL
    218                  key_count = 1;
   \   0194  23                INC     HL
   \   0195  220C00            LD      (?0012),HL
    219                  key_value = key;
   \   0198  3E19              LD      A,25
   \   019A  320E00            LD      (?0013),A
   \   019D            ?0098:
   \   019D  DD7702            LD      (IX+2),A
    220          
    221                  break;
   \   01A0  1828              JR      ?0057
   \   01A2            ?0053:
    222          
    223              case MSG_SD_IN:/*插卡状态*/
    224                  key = AP_MSG_SD_IN;
   \   01A2  DD360238          LD      (IX+2),56
    225                  break;
   \   01A6  1822              JR      ?0057
   \   01A8            ?0054:
    226          
    227              case MSG_SD_OUT:/*拨卡状态*/
    228                  key = AP_MSG_SD_OUT;
   \   01A8  DD360237          LD      (IX+2),55
    229                  break;
   \   01AC  181C              JR      ?0057
   \   01AE            ?0055:
    230          
    231              default:            //新的按键
    232                  g_rtc_counter = 0;
   \   01AE  210000            LD      HL,0
   \   01B1  220700            LD      (g_rtc_counter),HL
    233                  key_count = 1;
   \   01B4  23                INC     HL
   \   01B5  220C00            LD      (?0012),HL
    234                  key_value = key;
   \   01B8  7B                LD      A,E
   \   01B9  320E00            LD      (?0013),A
    235          
    236                  //开背光
    237                  if (!g_light_flag)
   \   01BC  3A0B00            LD      A,(g_light_flag)
   \   01BF  B7                OR      A
   \   01C0  2008              JR      NZ,?0057
   \   01C2            ?0056:
    238                  {
    239                      //如背灯没开,不理按键
    240                      key_count = 0;
   \   01C2  2B                DEC     HL
   \   01C3  220C00            LD      (?0012),HL
    241                      g_rtc_counter = 0;
    242                      return NULL;
   \   01C6            ?0097:
   \   01C6  2E00              LD      L,0
    243                  }
   \   01C8  1803              JR      ?0058
   \   01CA            ?0057:
   \   01CA            ?0023:
    244              } //switch()
    245              return key;
   \   01CA  DD6E02            LD      L,(IX+2)
    246          }
   \   01CD            ?0058:
   \   01CD  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   01D0            ?0107:
   \   01D0  3E00              LD      A,BYTE3 Lightmodeset
   \   01D2  210000            LD      HL,LWRD Lightmodeset
   \   01D5  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   01D8            ap_set_event:
    247          
    248          /*
    249          ********************************************************************************
    250          * Description : 设置事件发生标志
    251          *
    252          * Arguments   : event, 事件集合
    253          *
    254          * Returns     :
    255          *
    256          * Notes       :
    257          *
    258          ********************************************************************************
    259          */
    260          void ap_set_event(WORD event)
    261          {
   \   01D8  CD0000            CALL    LWRD ?ENT_PARM_DIRECT_L09
    262              g_ap_event |= event;
   \   01DB  210900            LD      HL,g_ap_event
   \   01DE  7E                LD      A,(HL)
   \   01DF  B3                OR      E
   \   01E0  77                LD      (HL),A
   \   01E1  23                INC     HL
   \   01E2  7E                LD      A,(HL)
   \   01E3  B2                OR      D
   \   01E4  77                LD      (HL),A
    263          }
   \   01E5  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   01E8            ap_get_event:
    264          
    265          /*
    266          ********************************************************************************
    267          * Description : 检测事件是否发生
    268          *
    269          * Arguments   : event, 需要检测的事件集合
    270                  condition:
    271                      AP_EVENT_ALL:    所有事件发生,返回event,否则返回0
    272                      AP_EVENT_ANY:    任意事件发生,返回event,否则返回0
    273          * Returns     : event 按照 condition 指定的条件发生,返回系统事件的集合
    274                  不满足条件, 返回0
    275          *
    276          * Notes       :
    277          *
    278          ********************************************************************************
    279          */
    280          WORD ap_get_event(WORD event, WORD condition)
    281          {
   \   01E8  CD0000            CALL    LWRD ?ENT_PARM_DIRECT_L09
    282              if(condition == AP_EVENT_ALL)
   \   01EB  79                LD      A,C
   \   01EC  A0                AND     B
   \   01ED  3C                INC     A
   \   01EE  2010              JR      NZ,?0060
   \   01F0            ?0059:
    283              {
    284                  if( (g_ap_event & event) == event) return g_ap_event;
   \   01F0  2A0900            LD      HL,(g_ap_event)
   \   01F3  7D                LD      A,L
   \   01F4  A3                AND     E
   \   01F5  4F                LD      C,A
   \   01F6  7C                LD      A,H
   \   01F7  A2                AND     D

⌨️ 快捷键说明

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