Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/format/app_dongle.format	(revision 3419)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/format/app_dongle.format	(working copy)
@@ -64,29 +64,11 @@
 8 mem_usb_ep2_fifo
 1 mem_dongle_freq_hop_flag
 1 mem_usb_http_data_step
-8 mem_usb_win_http_step1_data
-8 mem_usb_win_http_step2_data
-8 mem_usb_win_http_step3_data
-8 mem_usb_win_http_step4_data
-8 mem_usb_win_http_step5_data
-8 mem_usb_win_http_step6_data
-8 mem_usb_win_http_step7_data
-
-8 mem_usb_mac_http_step1_data
-8 mem_usb_mac_http_step2_data
-8 mem_usb_mac_http_step3_data
-8 mem_usb_mac_http_step4_data
-8 mem_usb_mac_http_step5_data
-8 mem_usb_mac_http_step6_data
-8 mem_usb_mac_http_step7_data
-8 mem_usb_mac_http_step8_data
-8 mem_usb_mac_http_step9_data
-8 mem_usb_mac_http_step10_data
-8 mem_usb_mac_http_step11_data
-8 mem_usb_mac_http_step12_data
-8 mem_usb_mac_http_step13_data
-8 mem_usb_mac_http_step14_data
-8 mem_usb_http_step_empty_data
+1 mem_usb_tx_data_flag
+3 mem_usb_win_cmd
+3 mem_usb_mac_cmd
+3 mem_usb_kb_shift
+
 )
 (
 0xA0 REPORT_ID_AUDIO_DATA_IN
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(revision 3419)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(working copy)
@@ -1516,28 +1516,10 @@
 0x4c16 mem_usb_ep2_fifo
 0x4c1e mem_dongle_freq_hop_flag
 0x4c1f mem_usb_http_data_step
-0x4c20 mem_usb_win_http_step1_data
-0x4c28 mem_usb_win_http_step2_data
-0x4c30 mem_usb_win_http_step3_data
-0x4c38 mem_usb_win_http_step4_data
-0x4c40 mem_usb_win_http_step5_data
-0x4c48 mem_usb_win_http_step6_data
-0x4c50 mem_usb_win_http_step7_data
-0x4c58 mem_usb_mac_http_step1_data
-0x4c60 mem_usb_mac_http_step2_data
-0x4c68 mem_usb_mac_http_step3_data
-0x4c70 mem_usb_mac_http_step4_data
-0x4c78 mem_usb_mac_http_step5_data
-0x4c80 mem_usb_mac_http_step6_data
-0x4c88 mem_usb_mac_http_step7_data
-0x4c90 mem_usb_mac_http_step8_data
-0x4c98 mem_usb_mac_http_step9_data
-0x4ca0 mem_usb_mac_http_step10_data
-0x4ca8 mem_usb_mac_http_step11_data
-0x4cb0 mem_usb_mac_http_step12_data
-0x4cb8 mem_usb_mac_http_step13_data
-0x4cc0 mem_usb_mac_http_step14_data
-0x4cc8 mem_usb_http_step_empty_data
+0x4c20 mem_usb_tx_data_flag
+0x4c21 mem_usb_win_cmd
+0x4c24 mem_usb_mac_cmd
+0x4c27 mem_usb_kb_shift
 0x45d3 mem_rssi_hex_received
 0x45d4 mem_24g_pair_sm
 0x45d5 mem_24g_pair_no_ack
Index: output/otp.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/otp.dat	(revision 3419)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/otp.dat	(working copy)
@@ -11,7 +11,7 @@
 00
 aa
 55
-3a
+4e
 16
 c2
 84
@@ -32,7 +32,7 @@
 c0
 0a
 04
-b3
+b7
 c0
 0a
 81
@@ -52,7 +52,7 @@
 c0
 1b
 85
-2d
+31
 c0
 1c
 01
@@ -64,7 +64,7 @@
 c0
 1e
 85
-1c
+20
 c0
 1f
 00
@@ -76,11 +76,11 @@
 c0
 6d
 04
-84
+88
 c0
 6e
 04
-94
+98
 c0
 7f
 01
@@ -112,19 +112,19 @@
 c0
 1c
 84
-cf
+d3
 c0
 26
 84
-d3
+d7
 c0
 37
 05
-37
+3c
 c0
 37
 85
-51
+56
 c0
 39
 00
@@ -136,7 +136,7 @@
 c0
 3a
 85
-5b
+60
 c0
 3f
 80
@@ -144,11 +144,11 @@
 c0
 40
 85
-6b
+70
 c0
 41
 04
-d5
+d9
 c0
 42
 02
@@ -156,11 +156,11 @@
 c0
 44
 05
-04
+08
 c0
 45
 05
-11
+15
 c0
 48
 80
@@ -416,7 +416,7 @@
 20
 40
 03
-a2
+a4
 20
 40
 00
@@ -984,7 +984,7 @@
 20
 20
 03
-95
+97
 6f
 e0
 c6
@@ -1212,11 +1212,11 @@
 20
 40
 04
-56
+5a
 20
 40
 04
-81
+85
 20
 40
 01
@@ -1232,7 +1232,7 @@
 20
 20
 04
-83
+87
 20
 75
 80
@@ -1788,7 +1788,7 @@
 58
 00
 03
-79
+7b
 67
 e1
 45
@@ -1796,7 +1796,7 @@
 58
 00
 03
-8e
+90
 67
 e1
 45
@@ -2708,11 +2708,11 @@
 20
 40
 03
-ac
+ae
 20
 20
 04
-1c
+20
 6f
 e0
 cc
@@ -2808,11 +2808,11 @@
 20
 40
 05
-8a
+8f
 20
 20
 04
-db
+df
 20
 40
 33
@@ -2952,19 +2952,19 @@
 c2
 83
 83
-21
+23
 c2
 83
 03
-37
+39
 c2
 82
 83
-04
+06
 c2
 82
 03
-0b
+0d
 c2
 81
 82
@@ -2972,7 +2972,7 @@
 20
 20
 02
-ea
+ec
 6f
 e1
 4a
@@ -2993,6 +2993,14 @@
 09
 0b
 11
+d8
+a0
+09
+23
+20
+40
+7c
+9a
 20
 20
 48
@@ -3008,11 +3016,11 @@
 20
 22
 82
-fa
+fc
 20
 40
 02
-fa
+fc
 6f
 e0
 c5
@@ -3052,11 +3060,11 @@
 c2
 83
 03
-37
+39
 c2
 82
 03
-0b
+0d
 20
 60
 00
@@ -3100,7 +3108,7 @@
 20
 20
 03
-70
+72
 70
 4c
 1e
@@ -3192,7 +3200,7 @@
 24
 42
 83
-4e
+50
 6f
 20
 c5
@@ -3280,7 +3288,7 @@
 24
 42
 83
-59
+5b
 6f
 20
 c5
@@ -3368,7 +3376,7 @@
 24
 42
 83
-63
+65
 6f
 20
 c5
@@ -3396,7 +3404,7 @@
 20
 20
 03
-04
+06
 58
 00
 00
@@ -3440,7 +3448,7 @@
 20
 20
 03
-70
+72
 70
 47
 a2
@@ -3480,7 +3488,7 @@
 20
 20
 03
-70
+72
 58
 00
 00
@@ -3532,7 +3540,7 @@
 20
 20
 03
-70
+72
 6f
 e0
 89
@@ -3576,15 +3584,15 @@
 c2
 83
 83
-21
+23
 c2
 83
 03
-37
+39
 20
 20
 03
-7d
+7f
 6f
 e0
 ca
@@ -3592,15 +3600,15 @@
 c0
 00
 03
-82
+84
 c0
 01
 03
-88
+8a
 c0
 01
 83
-8b
+8d
 20
 20
 33
@@ -3660,7 +3668,7 @@
 c0
 00
 83
-92
+94
 c0
 01
 00
@@ -3668,7 +3676,7 @@
 20
 20
 03
-92
+94
 6f
 e0
 c6
@@ -3680,7 +3688,7 @@
 20
 20
 03
-95
+97
 6f
 e0
 c6
@@ -3696,7 +3704,7 @@
 c0
 51
 03
-9a
+9c
 20
 60
 00
@@ -3748,7 +3756,7 @@
 20
 40
 03
-a9
+ab
 d8
 e0
 00
@@ -3756,7 +3764,7 @@
 58
 00
 00
-08
+18
 20
 20
 7c
@@ -3820,7 +3828,7 @@
 c0
 08
 83
-b9
+bb
 20
 20
 23
@@ -3837,22 +3845,26 @@
 e0
 cc
 1f
+20
+40
+03
+c3
 6f
 e0
-88
-fa
-c0
+cc
+20
+20
+7a
 00
-03
-c0
-c0
 00
-83
-cf
+70
+4c
 20
-60
-00
 00
+20
+20
+7c
+28
 6f
 e0
 cc
@@ -3860,367 +3872,371 @@
 c0
 00
 83
-ed
+f6
 c0
 01
 04
-17
+02
 c0
-0b
+01
+83
+fc
+c0
+02
 03
-ef
+fc
+c0
+02
+83
+fc
+c0
+0a
+04
+04
+c0
+0a
+83
+fc
 c0
 0b
-84
-17
+04
+06
+c0
+0b
+83
+fc
 c0
 0c
-03
-f1
+04
+06
 c0
 0c
-84
-17
+83
+fc
 c0
 0d
-03
-f3
+04
+08
 c0
 0d
-84
-17
+83
+fc
 c0
 0e
-03
-f5
+04
+0a
 c0
 0e
-84
-17
+83
+fc
 c0
 0f
-03
-f7
+04
+00
 c0
 0f
 83
-f9
+fc
 c0
 10
 04
-1a
-20
-60
-00
-00
-6f
-e0
-cc
-1f
+0c
 c0
-00
+10
 83
-fb
+fc
 c0
-01
+11
 04
-17
-c0
-07
-03
-fd
+0c
 c0
-07
-84
-17
+11
+83
+fc
 c0
-08
-03
-ff
+12
+04
+0e
 c0
-08
-84
-17
+12
+83
+fc
 c0
-09
+13
 04
-01
+10
 c0
-09
-84
-17
+13
+83
+fc
 c0
-0a
+14
 04
-03
+12
 c0
-0a
-84
-17
+14
+83
+fc
 c0
-0b
+15
 04
-05
+14
 c0
-0b
-84
-17
+15
+83
+fc
 c0
-0c
+16
 04
-07
+14
 c0
-0c
-84
-17
+16
+83
+fc
 c0
-0d
+17
 04
-09
+16
 c0
-0d
-84
 17
+83
+fc
 c0
-0e
+18
 04
-0b
+18
 c0
-0e
-84
-17
+18
+83
+fc
 c0
-0f
+19
 04
-0d
+10
 c0
-0f
-84
-17
+19
+83
+fc
 c0
-10
+1a
 04
-0f
+0e
 c0
-10
-84
-17
+1a
+83
+fc
 c0
-11
+1b
 04
-11
+0c
 c0
-11
-84
-17
+1b
+83
+fc
 c0
-12
+1c
 04
-13
+1a
 c0
-12
-84
-17
+1c
+83
+fc
 c0
-15
+1d
 04
-15
+14
 c0
-15
-84
-1a
-20
-60
-00
-00
-d8
+1d
+83
+fc
 c0
-4c
-20
-20
-20
+23
 04
-18
-d8
+1c
 c0
-4c
-28
-20
-20
-04
-18
-d8
+24
+03
+fc
 c0
-4c
-30
-20
-20
+25
 04
-18
-d8
+1c
 c0
-4c
-38
-20
-20
+26
 04
-18
-d8
-c0
-4c
-40
-20
+1e
 20
-04
-18
-d8
+60
+00
+00
+6f
+e0
+88
+fa
 c0
-4c
-48
-20
-20
-04
-18
-d8
+00
+03
+fa
 c0
-4c
-50
-20
+00
+83
+fe
 20
-04
-18
-d8
-c0
+60
+00
+00
+6f
+e1
+cc
+21
+67
+e1
+89
+23
+70
 4c
-58
 20
+01
 20
-04
-18
-d8
-c0
-4c
 60
+00
+00
+6f
+e1
+cc
+24
 20
 20
-04
-18
-d8
-c0
-4c
-68
+03
+fb
+6f
+e1
+cc
+27
 20
 20
-04
-18
-d8
-c0
-4c
+03
+fb
 70
+09
+23
+08
 20
 20
-04
-18
-d8
-c0
-4c
-78
+03
+fc
+70
+09
+26
+0b
 20
 20
-04
-18
-d8
-c0
-4c
-80
+03
+fc
+70
+09
+26
+17
 20
 20
-04
-18
-d8
-c0
-4c
-88
+03
+fc
+70
+09
+26
+13
 20
 20
-04
-18
-d8
-c0
-4c
-90
+03
+fc
+70
+09
+26
+16
 20
 20
-04
-18
-d8
-c0
-4c
-98
+03
+fc
+70
+09
+26
+38
 20
 20
-04
-18
-d8
-c0
-4c
-a0
+03
+fc
+70
+09
+26
+10
 20
 20
-04
-18
-d8
-c0
-4c
-a8
+03
+fc
+70
+09
+26
+12
 20
 20
-04
-18
-d8
-c0
-4c
-b0
+03
+fc
+70
+09
+26
+09
 20
 20
-04
-18
-d8
-c0
-4c
-b8
+03
+fc
+70
+09
+26
+0c
 20
 20
-04
-18
-d8
-c0
-4c
-c0
+03
+fc
+70
+09
+26
+37
 20
 20
+03
+fc
+70
+09
+26
+06
+20
+20
+03
+fc
+70
+09
+26
 04
-18
-d8
-c0
-4c
-c8
-df
 20
-00
-08
 20
+03
+fc
+70
+09
+26
+28
 20
-7b
-cf
+20
+03
+fc
 70
 4c
 1f
 00
 20
 20
-04
-17
+03
+fc
 da
 20
 4c
@@ -4264,7 +4280,7 @@
 c0
 13
 04
-35
+39
 c0
 10
 fc
@@ -4276,15 +4292,15 @@
 c0
 12
 04
-40
+44
 c0
 11
 84
-4b
+4f
 c0
 13
 84
-2d
+31
 20
 20
 23
@@ -4320,7 +4336,7 @@
 20
 20
 04
-3e
+42
 70
 09
 0c
@@ -4352,7 +4368,7 @@
 20
 20
 04
-3d
+41
 d8
 a0
 46
@@ -4396,7 +4412,7 @@
 20
 20
 04
-48
+4c
 d8
 a0
 47
@@ -4440,7 +4456,7 @@
 20
 20
 04
-53
+57
 d8
 a0
 4b
@@ -4504,7 +4520,7 @@
 20
 40
 04
-73
+77
 2a
 2f
 fe
@@ -4536,7 +4552,7 @@
 20
 40
 04
-73
+77
 d8
 a0
 8a
@@ -4564,7 +4580,7 @@
 20
 21
 04
-68
+6c
 20
 20
 21
@@ -4668,7 +4684,7 @@
 20
 40
 04
-ac
+b0
 70
 8a
 08
@@ -4704,7 +4720,7 @@
 20
 40
 04
-a2
+a6
 6f
 f0
 8a
@@ -4748,7 +4764,7 @@
 20
 40
 04
-ac
+b0
 70
 80
 cd
@@ -4808,7 +4824,7 @@
 c3
 02
 84
-ad
+b1
 68
 59
 01
@@ -4844,7 +4860,7 @@
 c0
 08
 04
-cc
+d0
 58
 00
 57
@@ -4888,7 +4904,7 @@
 c0
 08
 04
-c9
+cd
 58
 00
 2b
@@ -4924,7 +4940,7 @@
 20
 20
 04
-c5
+c9
 58
 00
 83
@@ -4936,7 +4952,7 @@
 20
 20
 04
-ba
+be
 6f
 e0
 c3
@@ -4976,11 +4992,11 @@
 c0
 11
 04
-eb
+ef
 c0
 7f
 84
-db
+df
 20
 60
 00
@@ -4992,11 +5008,11 @@
 c0
 00
 84
-df
+e3
 c0
 01
 04
-e5
+e9
 20
 60
 00
@@ -5056,7 +5072,7 @@
 20
 3a
 04
-f1
+f5
 6f
 e2
 4a
@@ -5080,11 +5096,11 @@
 c0
 00
 84
-f5
+f9
 c0
 01
-04
-fc
+05
+00
 20
 60
 00
@@ -5104,7 +5120,7 @@
 c0
 01
 04
-fa
+fe
 20
 60
 00
@@ -5132,7 +5148,7 @@
 c0
 80
 05
-01
+05
 20
 60
 00
@@ -5212,7 +5228,7 @@
 20
 40
 05
-15
+19
 20
 20
 34
@@ -5330,6 +5346,10 @@
 1f
 00
 70
+4c
+20
+00
+70
 45
 ca
 01
@@ -5380,7 +5400,7 @@
 c5
 13
 85
-42
+47
 6f
 e0
 c4
@@ -5424,7 +5444,7 @@
 20
 40
 85
-4f
+54
 18
 42
 7e
@@ -5512,7 +5532,7 @@
 20
 40
 85
-4f
+54
 18
 42
 7e
@@ -5576,7 +5596,7 @@
 20
 40
 05
-72
+77
 20
 40
 00
@@ -5584,7 +5604,7 @@
 20
 40
 05
-88
+8d
 20
 20
 33
@@ -5612,15 +5632,15 @@
 c0
 55
 05
-7c
+81
 c0
 2a
 85
-7e
+83
 c0
 11
 04
-eb
+ef
 c0
 7f
 b5
@@ -5644,7 +5664,7 @@
 20
 3a
 05
-84
+89
 6f
 e2
 4a
@@ -5701,8 +5721,8 @@
 60
 00
 00
-a1
-09
+97
+e2
 aa
 55
 40
@@ -5875,186 +5895,19 @@
 00
 aa
 55
-b0
+09
 00
-20
+21
 4c
 08
 00
 15
-00
-00
-00
-00
-00
-00
-00
-0b
-17
-17
-13
-16
-00
-02
-00
-33
-00
-00
-00
-00
-00
-00
-00
-38
-38
-10
-12
-09
-0c
-00
-00
-0c
-37
-06
-12
-10
-38
-00
-00
-04
-0c
-00
-00
-00
-00
-00
-00
-28
-00
-00
-00
-00
-00
 08
 00
 2c
-00
-00
-00
-00
-00
-00
-00
-0b
-17
-00
-00
-00
-00
-00
-00
-17
-00
-00
-00
-00
-00
-00
-00
-13
-16
-00
-00
-00
-00
 02
 00
 33
-00
-00
-00
-00
-00
-00
-00
-38
-00
-00
-00
-00
-00
-00
-00
-38
-00
-00
-00
-00
-00
-00
-00
-10
-12
-00
-00
-00
-00
-00
-00
-09
-0c
-00
-00
-00
-00
-00
-00
-0c
-37
-00
-00
-00
-00
-00
-00
-06
-12
-00
-00
-00
-00
-00
-00
-10
-38
-00
-00
-00
-00
-00
-00
-04
-0c
-00
-00
-00
-00
-00
-00
-28
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
-00
 aa
 55
 43
@@ -6554,8 +6407,8 @@
 aa
 aa
 55
-bb
-9a
-f5
-fe
+18
+96
+4a
+3d
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/program.lis	(revision 3419)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/program.lis	(working copy)
@@ -4,19 +4,19 @@
 0001 c000002a beq patch00_0 ,p_soft_reset 
 0002 c00100f7 beq patch00_2 ,p_main_loop 
 0003 c0088100 beq patch02_1 ,p_set_sync_on 
-0004 c00a04b3 beq patch02_4 ,p_set_lemode 
+0004 c00a04b7 beq patch02_4 ,p_set_lemode 
 0005 c00a819c beq patch02_5 ,p_rf_rx_enable 
 0006 c00c01aa beq patch03_0 ,p_txon 
 0007 c00c8150 beq patch03_1 ,p_set_tx_power 
 0008 c00d010e beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b852d beq patch06_7 ,p_dongle_default_init 
+0009 c01b8531 beq patch06_7 ,p_dongle_default_init 
 000a c01c016f beq patch07_0 ,p_dongle_read_kb_bind_status 
 000b c01c816b beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e851c beq patch07_5 ,p_dongle_usb_dispatch 
+000c c01e8520 beq patch07_5 ,p_dongle_usb_dispatch 
 000d c01f003d beq patch07_6 ,p_dongle_work_mode_auto 
 000e c0628168 beq patch18_5 ,p_otp_read_data 
-000f c06d0484 beq patch1b_2 ,p_sadc_calibration 
-0010 c06e0494 beq patch1b_4 ,p_enable_adc 
+000f c06d0488 beq patch1b_2 ,p_sadc_calibration 
+0010 c06e0498 beq patch1b_4 ,p_enable_adc 
 0011 c07f01b5 beq patch1f_6 ,p_usb_init 
 0012 c07f8213 beq patch1f_7 ,p_usb_rx 
 0013 c07e81b1 beq patch1f_5 ,p_usb_isr 
@@ -26,19 +26,19 @@
 0015 c000023a beq patch20_0 ,p_usb_class_type 
 0016 c0010279 beq patch20_2 ,p_usb0_request_get_descriptor 
 0017 c0030297 beq patch20_6 ,p_usb_tx 
-0018 c01c84cf beq patch27_1 ,p_le_parse 
-0019 c02684d3 beq patch29_5 ,p_le_init_adv 
-001a c0370537 beq patch2d_6 ,p_g24_receive_skip_fec1 
-001b c0378551 beq patch2d_7 ,p_g24_receive_skip_end 
+0018 c01c84d3 beq patch27_1 ,p_le_parse 
+0019 c02684d7 beq patch29_5 ,p_le_init_adv 
+001a c037053c beq patch2d_6 ,p_g24_receive_skip_fec1 
+001b c0378556 beq patch2d_7 ,p_g24_receive_skip_end 
 001c c03900cf beq patch2e_2 ,p_g24_transmit_packet 
 001d c0398083 beq patch2e_3 ,p_g24_transmit_prep 
-001e c03a855b beq patch2e_5 ,p_g24_read_len_pid_crc 
+001e c03a8560 beq patch2e_5 ,p_g24_read_len_pid_crc 
 001f c03f80aa beq patch2f_7 ,p_g24_pair_dispatch 
-0020 c040856b beq patch30_1 ,p_g24_bind_data_process 
-0021 c04104d5 beq patch30_2 ,p_g24_bind_data_parse_next 
+0020 c0408570 beq patch30_1 ,p_g24_bind_data_process 
+0021 c04104d9 beq patch30_2 ,p_g24_bind_data_parse_next 
 0022 c04202a8 beq patch30_4 ,p_g24_receive_packet_start1 
-0023 c0440504 beq patch31_0 ,p_g24_mode_switch_bind_search 
-0024 c0450511 beq patch31_2 ,p_g24_bind_mode_auto 
+0023 c0440508 beq patch31_0 ,p_g24_mode_switch_bind_search 
+0024 c0450515 beq patch31_2 ,p_g24_bind_mode_auto 
 0025 c0488080 beq patch32_1 ,p_g24_txbuf_clear 
 0026 c0458030 beq patch31_3 ,p_g24_search_mode_auto 
 0027 c1468000 rtneq patch31_5 
@@ -120,7 +120,7 @@
 0061 6fe0c616 fetch 1 ,mem_24g_work_mode 
 0062 c1800000 rtnne dongle_work 
 0063 20403451 call g24_work_init 
-0064 204003a2 call p_g24_100ms_timer_event 
+0064 204003a4 call p_g24_100ms_timer_event 
 0065 20400067 call p_g24_ch_process_check 
 0066 2020006e branch p_g24_receive_packet_start 
 
@@ -320,7 +320,7 @@
 p_dongle_ackpayload_prep_keyboard:
 00f0 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
 00f1 c28080f3 bbit1 1 ,p_dongle_pc_sleep_ackpayload_prep_keyboard 
-00f2 20200395 branch p_dongle_ackpayload_prep_end 
+00f2 20200397 branch p_dongle_ackpayload_prep_end 
 
 p_dongle_pc_sleep_ackpayload_prep_keyboard:
 00f3 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
@@ -387,12 +387,12 @@
 0128 58557474 setarg 0x557474 
 0129 67f18968 store 3 ,0x8968 
 012a 7089606e jam 0x6e ,0x8960 
-012b 20400456 call p_rx_dcoc 
-012c 20400481 call p_rfpll_aac_ghpc 
+012b 2040045a call p_rx_dcoc 
+012c 20400485 call p_rfpll_aac_ghpc 
 012d 20400131 call p_set_xtal_cap 
 012e 7041480c jam system_clk_12m ,mem_system_clk 
 012f 20406f4e call sadc_calibration 
-0130 20200483 branch p_dpll_ring_ibias_calc 
+0130 20200487 branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
 0131 20758000 rtn wake 
@@ -569,9 +569,9 @@
 01b8 67e107a9 store 2 ,mem_hidreportdesc_m 
 01b9 580002db setarg p_dongle_g24_mouse 
 01ba 67e145e4 store 2 ,mem_cb_24g_data_device1 
-01bb 58000379 setarg p_dongle_g24_keyboard 
+01bb 5800037b setarg p_dongle_g24_keyboard 
 01bc 67e145e6 store 2 ,mem_cb_24g_data_device2 
-01bd 5800038e setarg p_dongle_ackpayload_prep 
+01bd 58000390 setarg p_dongle_ackpayload_prep 
 01be 67e145e2 store 2 ,mem_cb_24g_ackpayload 
 
 p_usb_init_restart:
@@ -855,8 +855,8 @@
 029e c0817c06 bne usb_connected ,usb_tx_fifo_release 
 029f 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
 02a0 243a7c06 nbranch usb_tx_fifo_release ,blank 
-02a1 204003ac call p_usb_tx_data_ep1 
-02a2 2020041c branch p_usb_tx_data_ep2 
+02a1 204003ae call p_usb_tx_data_ep1 
+02a2 20200420 branch p_usb_tx_data_ep2 
 
 p_dongle_usb_ep2_connect_report_send:
 02a3 6fe0cc14 fetch 1 ,mem_usb_rf_state_report_flag 
@@ -888,8 +888,8 @@
 02b9 202033be branch g24_rx_interrupt_clear 
 
 p_g24_data_receive_attemp:
-02ba 2040058a call p_g24_bind_device_status 
-02bb 202004db branch p_g24_data_attemp 
+02ba 2040058f call p_g24_bind_device_status 
+02bb 202004df branch p_g24_data_attemp 
 
 p_g24_data_device1:
 02bc 2040338d call g24_binding_dvc1_living 
@@ -934,12 +934,12 @@
 02db 704c1e00 jam 0 ,mem_dongle_freq_hop_flag 
 02dc 204002e4 call p_dongle_24g_mouse_wheel_data_check 
 02dd 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-02de c2838321 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
-02df c2830337 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-02e0 c2828304 bbit1 datatype_heart ,p_dongle_g24_mouse_heart_data 
-02e1 c282030b bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
+02de c2838323 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
+02df c2830339 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+02e0 c2828306 bbit1 datatype_heart ,p_dongle_g24_mouse_heart_data 
+02e1 c282030d bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
 02e2 c28182e8 bbit1 datatype_http ,p_dongle_usb_tx_http_data 
-02e3 202002ea branch p_dongle_g24_mouse_next 
+02e3 202002ec branch p_dongle_g24_mouse_next 
 
 p_dongle_24g_mouse_wheel_data_check:
 02e4 6fe14a4d fetch 2 ,mem_24g_rxdata_temp_new + 8 
@@ -949,901 +949,898 @@
 
 p_dongle_usb_tx_http_data:
 02e8 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
-02e9 20204848 branch dongle_usb_tx_ep1_enable 
+02e9 d8a00923 arg mem_usb_kb_data ,contw 
+02ea 20407c9a call memset0_8 
+02eb 20204848 branch dongle_usb_tx_ep1_enable 
 
 p_dongle_g24_mouse_next:
-02ea 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-02eb 1fe67c09 sub pdata ,0x09 ,null 
-02ec 202282fa branch p_dongle_g24_mouse_data ,zero 
-02ed 204002fa call p_dongle_g24_mouse_data 
-02ee 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-02ef 1fe0fff8 add pdata ,-8 ,pdata 
-02f0 67e0c57d store 1 ,mem_24g_rxdata_length 
-02f1 1fe27200 copy pdata ,loopcnt 
-02f2 d8a04a47 arg mem_24g_rxdata_temp_new + 2 ,contw 
-02f3 d8c04a4f arg mem_24g_rxdata_temp_new + 10 ,contr 
-02f4 20407cda call memcpy 
-02f5 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-02f6 c28182e8 bbit1 datatype_http ,p_dongle_usb_tx_http_data 
-02f7 c2830337 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-02f8 c282030b bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
-02f9 20600000 rtn 
+02ec 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+02ed 1fe67c09 sub pdata ,0x09 ,null 
+02ee 202282fc branch p_dongle_g24_mouse_data ,zero 
+02ef 204002fc call p_dongle_g24_mouse_data 
+02f0 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+02f1 1fe0fff8 add pdata ,-8 ,pdata 
+02f2 67e0c57d store 1 ,mem_24g_rxdata_length 
+02f3 1fe27200 copy pdata ,loopcnt 
+02f4 d8a04a47 arg mem_24g_rxdata_temp_new + 2 ,contw 
+02f5 d8c04a4f arg mem_24g_rxdata_temp_new + 10 ,contr 
+02f6 20407cda call memcpy 
+02f7 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+02f8 c28182e8 bbit1 datatype_http ,p_dongle_usb_tx_http_data 
+02f9 c2830339 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+02fa c282030d bbit1 datatype_protocol ,p_g24_data_receive_protocol_data 
+02fb 20600000 rtn 
 
 p_dongle_g24_mouse_data:
-02fa 58000001 setarg ms_report_id 
-02fb 67e08913 store 1 ,mem_usb_mouse_data 
-02fc 6fe3ca48 fetch 7 ,mem_24g_rxdata_temp_new + 3 
-02fd e7e38005 istore 7 ,contw 
-02fe 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-02ff 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+02fc 58000001 setarg ms_report_id 
+02fd 67e08913 store 1 ,mem_usb_mouse_data 
+02fe 6fe3ca48 fetch 7 ,mem_24g_rxdata_temp_new + 3 
+02ff e7e38005 istore 7 ,contw 
 0300 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0301 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
-0302 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-0303 20200370 branch p_dongle_usb_tx_enable_ep2 
+0301 245a48dd ncall dongle_g24_ms_enable_blank_data_forcibly ,blank 
+0302 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0303 205a48e1 call dongle_g24_ms_disable_blank_data_forcibly ,blank 
+0304 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
+0305 20200372 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_g24_mouse_heart_data:
-0304 704c1e01 jam 1 ,mem_dongle_freq_hop_flag 
-0305 6fe0c864 fetch 1 ,mem_dongle_usb_ep2_data_flag 
-0306 207a0000 rtn blank 
-0307 70486400 jam 0 ,mem_dongle_usb_ep2_data_flag 
+0306 704c1e01 jam 1 ,mem_dongle_freq_hop_flag 
+0307 6fe0c864 fetch 1 ,mem_dongle_usb_ep2_data_flag 
+0308 207a0000 rtn blank 
+0309 70486400 jam 0 ,mem_dongle_usb_ep2_data_flag 
 
 p_24g_ackpayload_enable_set:
-0308 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-0309 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-030a 20600000 rtn 
+030a 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+030b 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
+030c 20600000 rtn 
 
 p_g24_data_receive_protocol_data:
-030b 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-030c 1f20f3ff increase -1 ,loopcnt 
-030d d8a04b13 arg mem_usb_protocol_data + 2 ,contw 
-030e d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-030f 20407cda call memcpy 
-0310 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0311 1fe0ffff increase -1 ,pdata 
-0312 d8a04b52 arg mem_usb_protocol_data_sta ,contw 
-0313 d8c04b13 arg mem_usb_protocol_data + 2 ,contr 
-0314 20407cda call memcpy 
-0315 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0316 1fe0ffff increase -1 ,pdata 
-0317 da404b52 arg mem_usb_protocol_data_sta ,regb 
-0318 da204b93 arg mem_usb_protocol_data_last ,rega 
-0319 20407d64 call compare_loop 
-031a 2442834e ncall p_dongle_usb_tx_protocol_data ,zero 
-031b 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-031c 1fe0ffff increase -1 ,pdata 
-031d d8c04b52 arg mem_usb_protocol_data_sta ,contr 
-031e d8a04b93 arg mem_usb_protocol_data_last ,contw 
-031f 20407cda call memcpy 
-0320 202033be branch g24_rx_interrupt_clear 
+030d 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+030e 1f20f3ff increase -1 ,loopcnt 
+030f d8a04b13 arg mem_usb_protocol_data + 2 ,contw 
+0310 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+0311 20407cda call memcpy 
+0312 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0313 1fe0ffff increase -1 ,pdata 
+0314 d8a04b52 arg mem_usb_protocol_data_sta ,contw 
+0315 d8c04b13 arg mem_usb_protocol_data + 2 ,contr 
+0316 20407cda call memcpy 
+0317 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0318 1fe0ffff increase -1 ,pdata 
+0319 da404b52 arg mem_usb_protocol_data_sta ,regb 
+031a da204b93 arg mem_usb_protocol_data_last ,rega 
+031b 20407d64 call compare_loop 
+031c 24428350 ncall p_dongle_usb_tx_protocol_data ,zero 
+031d 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+031e 1fe0ffff increase -1 ,pdata 
+031f d8c04b52 arg mem_usb_protocol_data_sta ,contr 
+0320 d8a04b93 arg mem_usb_protocol_data_last ,contw 
+0321 20407cda call memcpy 
+0322 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_mouse_audio_data:
-0321 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0322 1f20f3ff increase -1 ,loopcnt 
-0323 d8a047a3 arg mem_usb_audio_data + 2 ,contw 
-0324 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-0325 20407cda call memcpy 
-0326 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0327 1fe0ffff increase -1 ,pdata 
-0328 d8a047e1 arg mem_usb_audio_data_sta ,contw 
-0329 d8c047a3 arg mem_usb_audio_data + 2 ,contr 
-032a 20407cda call memcpy 
-032b 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-032c 1fe0ffff increase -1 ,pdata 
-032d da4047e1 arg mem_usb_audio_data_sta ,regb 
-032e da204821 arg mem_usb_audio_data_last ,rega 
-032f 20407d64 call compare_loop 
-0330 24428359 ncall p_dongle_usb_tx_audio_data ,zero 
-0331 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0332 1fe0ffff increase -1 ,pdata 
-0333 d8c047e1 arg mem_usb_audio_data_sta ,contr 
-0334 d8a04821 arg mem_usb_audio_data_last ,contw 
-0335 20407cda call memcpy 
-0336 202033be branch g24_rx_interrupt_clear 
+0323 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0324 1f20f3ff increase -1 ,loopcnt 
+0325 d8a047a3 arg mem_usb_audio_data + 2 ,contw 
+0326 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+0327 20407cda call memcpy 
+0328 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0329 1fe0ffff increase -1 ,pdata 
+032a d8a047e1 arg mem_usb_audio_data_sta ,contw 
+032b d8c047a3 arg mem_usb_audio_data + 2 ,contr 
+032c 20407cda call memcpy 
+032d 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+032e 1fe0ffff increase -1 ,pdata 
+032f da4047e1 arg mem_usb_audio_data_sta ,regb 
+0330 da204821 arg mem_usb_audio_data_last ,rega 
+0331 20407d64 call compare_loop 
+0332 2442835b ncall p_dongle_usb_tx_audio_data ,zero 
+0333 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0334 1fe0ffff increase -1 ,pdata 
+0335 d8c047e1 arg mem_usb_audio_data_sta ,contr 
+0336 d8a04821 arg mem_usb_audio_data_last ,contw 
+0337 20407cda call memcpy 
+0338 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_mouse_authca_data:
-0337 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0338 1f20f3ff increase -1 ,loopcnt 
-0339 d8a046e0 arg mem_usb_authca_data + 2 ,contw 
-033a d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-033b 20407cda call memcpy 
-033c 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-033d 1fe0ffff increase -1 ,pdata 
-033e d8a0471f arg mem_usb_authca_data_sta ,contw 
-033f d8c046e0 arg mem_usb_authca_data + 2 ,contr 
-0340 20407cda call memcpy 
-0341 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0342 1fe0ffff increase -1 ,pdata 
-0343 da40471f arg mem_usb_authca_data_sta ,regb 
-0344 da204760 arg mem_usb_authca_data_last ,rega 
-0345 20407d64 call compare_loop 
-0346 24428363 ncall p_dongle_usb_tx_authca_data ,zero 
-0347 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-0348 1fe0ffff increase -1 ,pdata 
-0349 d8c0471f arg mem_usb_authca_data_sta ,contr 
-034a d8a04760 arg mem_usb_authca_data_last ,contw 
-034b 20407cda call memcpy 
-034c 204033be call g24_rx_interrupt_clear 
-034d 20200304 branch p_dongle_g24_mouse_heart_data 
+0339 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+033a 1f20f3ff increase -1 ,loopcnt 
+033b d8a046e0 arg mem_usb_authca_data + 2 ,contw 
+033c d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+033d 20407cda call memcpy 
+033e 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+033f 1fe0ffff increase -1 ,pdata 
+0340 d8a0471f arg mem_usb_authca_data_sta ,contw 
+0341 d8c046e0 arg mem_usb_authca_data + 2 ,contr 
+0342 20407cda call memcpy 
+0343 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+0344 1fe0ffff increase -1 ,pdata 
+0345 da40471f arg mem_usb_authca_data_sta ,regb 
+0346 da204760 arg mem_usb_authca_data_last ,rega 
+0347 20407d64 call compare_loop 
+0348 24428365 ncall p_dongle_usb_tx_authca_data ,zero 
+0349 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+034a 1fe0ffff increase -1 ,pdata 
+034b d8c0471f arg mem_usb_authca_data_sta ,contr 
+034c d8a04760 arg mem_usb_authca_data_last ,contw 
+034d 20407cda call memcpy 
+034e 204033be call g24_rx_interrupt_clear 
+034f 20200306 branch p_dongle_g24_mouse_heart_data 
 
 p_dongle_usb_tx_protocol_data:
-034e 58000040 setarg 0x40 
-034f 67e0cb11 store 1 ,mem_usb_protocol_data 
-0350 704b12a1 jam report_id_data_in ,mem_usb_protocol_data + 1 
-0351 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0352 1fe0ffff increase -1 ,pdata 
-0353 1fe27200 copy pdata ,loopcnt 
-0354 d8c04b13 arg mem_usb_protocol_data + 2 ,contr 
-0355 d8a04b52 arg mem_usb_protocol_data_sta ,contw 
-0356 20407cda call memcpy 
-0357 70090c23 jam usb_ep2_protocol ,mem_usb_ep2_data 
-0358 20200370 branch p_dongle_usb_tx_enable_ep2 
+0350 58000040 setarg 0x40 
+0351 67e0cb11 store 1 ,mem_usb_protocol_data 
+0352 704b12a1 jam report_id_data_in ,mem_usb_protocol_data + 1 
+0353 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0354 1fe0ffff increase -1 ,pdata 
+0355 1fe27200 copy pdata ,loopcnt 
+0356 d8c04b13 arg mem_usb_protocol_data + 2 ,contr 
+0357 d8a04b52 arg mem_usb_protocol_data_sta ,contw 
+0358 20407cda call memcpy 
+0359 70090c23 jam usb_ep2_protocol ,mem_usb_ep2_data 
+035a 20200372 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_audio_data:
-0359 7047a2a0 jam report_id_audio_data_in ,mem_usb_audio_data + 1 
-035a 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-035b 1fe0ffff increase -1 ,pdata 
-035c 67e0c7a1 store 1 ,mem_usb_audio_data 
-035d 1fe27200 copy pdata ,loopcnt 
-035e d8c047a4 arg mem_usb_audio_data + 3 ,contr 
-035f d8a047e1 arg mem_usb_audio_data_sta ,contw 
-0360 20407cda call memcpy 
-0361 70090c24 jam usb_ep2_audio ,mem_usb_ep2_data 
-0362 20200370 branch p_dongle_usb_tx_enable_ep2 
+035b 7047a2a0 jam report_id_audio_data_in ,mem_usb_audio_data + 1 
+035c 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+035d 1fe0ffff increase -1 ,pdata 
+035e 67e0c7a1 store 1 ,mem_usb_audio_data 
+035f 1fe27200 copy pdata ,loopcnt 
+0360 d8c047a4 arg mem_usb_audio_data + 3 ,contr 
+0361 d8a047e1 arg mem_usb_audio_data_sta ,contw 
+0362 20407cda call memcpy 
+0363 70090c24 jam usb_ep2_audio ,mem_usb_ep2_data 
+0364 20200372 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_authca_data:
-0363 58000040 setarg 0x40 
-0364 67e0c6de store 1 ,mem_usb_authca_data 
-0365 7046dfa3 jam report_id_authca_data_in ,mem_usb_authca_data + 1 
-0366 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
-0367 1fe0ffff increase -1 ,pdata 
-0368 67e0c6e0 store 1 ,mem_usb_authca_data + 2 
-0369 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-036a 1fe0ffff increase -1 ,pdata 
-036b d8a046e1 arg mem_usb_authca_data + 3 ,contw 
-036c d8c0471f arg mem_usb_authca_data_sta ,contr 
-036d 20407cda call memcpy 
-036e 70090c26 jam usb_ep2_authca ,mem_usb_ep2_data 
-036f 20200370 branch p_dongle_usb_tx_enable_ep2 
+0365 58000040 setarg 0x40 
+0366 67e0c6de store 1 ,mem_usb_authca_data 
+0367 7046dfa3 jam report_id_authca_data_in ,mem_usb_authca_data + 1 
+0368 6fe0c57d fetch 1 ,mem_24g_rxdata_length 
+0369 1fe0ffff increase -1 ,pdata 
+036a 67e0c6e0 store 1 ,mem_usb_authca_data + 2 
+036b 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+036c 1fe0ffff increase -1 ,pdata 
+036d d8a046e1 arg mem_usb_authca_data + 3 ,contw 
+036e d8c0471f arg mem_usb_authca_data_sta ,contr 
+036f 20407cda call memcpy 
+0370 70090c26 jam usb_ep2_authca ,mem_usb_ep2_data 
+0371 20200372 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_enable_ep2:
-0370 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0371 207a0000 rtn blank 
-0372 da204c16 arg mem_usb_ep2_fifo ,rega 
-0373 20407da5 call fifo_is_full 
-0374 247a0000 nrtn blank 
-0375 6fe0890c fetch 1 ,mem_usb_ep2_data 
-0376 67e0866f store 1 ,mem_fifo_temp 
-0377 da204c16 arg mem_usb_ep2_fifo ,rega 
-0378 20207d8b branch fifo_in 
+0372 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+0373 207a0000 rtn blank 
+0374 da204c16 arg mem_usb_ep2_fifo ,rega 
+0375 20407da5 call fifo_is_full 
+0376 247a0000 nrtn blank 
+0377 6fe0890c fetch 1 ,mem_usb_ep2_data 
+0378 67e0866f store 1 ,mem_fifo_temp 
+0379 da204c16 arg mem_usb_ep2_fifo ,rega 
+037a 20207d8b branch fifo_in 
 
 p_dongle_g24_keyboard:
-0379 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-037a c2838321 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
-037b c2830337 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
-037c 2020037d branch p_dongle_g24_kb 
+037b 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+037c c2838323 bbit1 datatype_audio ,p_dongle_g24_mouse_audio_data 
+037d c2830339 bbit1 datatype_authca ,p_dongle_g24_mouse_authca_data 
+037e 2020037f branch p_dongle_g24_kb 
 
 p_dongle_g24_kb:
-037d 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-037e c0000382 beq 0 ,p_dongle_g24_kb_type0 
-037f c0010388 beq 2 ,p_dongle_g24_kb_type2 
-0380 c001838b beq 3 ,p_dongle_g24_kb_type3 
-0381 202033be branch g24_rx_interrupt_clear 
+037f 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0380 c0000384 beq 0 ,p_dongle_g24_kb_type0 
+0381 c001038a beq 2 ,p_dongle_g24_kb_type2 
+0382 c001838d beq 3 ,p_dongle_g24_kb_type3 
+0383 202033be branch g24_rx_interrupt_clear 
 
 p_dongle_g24_kb_type0:
-0382 6fe0ca4a fetch 1 ,mem_24g_rxdata_temp_new + 5 
-0383 67e0c611 store 1 ,mem_24g_ackpayload_enable 
-0384 704a4a00 jam 0 ,mem_24g_rxdata_temp_new + 5 
-0385 d8a00923 arg mem_usb_kb_data ,contw 
-0386 d8c04a49 arg mem_24g_rxdata_temp_new + 4 ,contr 
-0387 202048ef branch dongle_g24_kb_type0 + 5 
+0384 6fe0ca4a fetch 1 ,mem_24g_rxdata_temp_new + 5 
+0385 67e0c611 store 1 ,mem_24g_ackpayload_enable 
+0386 704a4a00 jam 0 ,mem_24g_rxdata_temp_new + 5 
+0387 d8a00923 arg mem_usb_kb_data ,contw 
+0388 d8c04a49 arg mem_24g_rxdata_temp_new + 4 ,contr 
+0389 202048ef branch dongle_g24_kb_type0 + 5 
 
 p_dongle_g24_kb_type2:
-0388 d8a00943 arg mem_usb_kb_system ,contw 
-0389 d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-038a 2020491f branch dongle_g24_kb_type2 + 2 
+038a d8a00943 arg mem_usb_kb_system ,contw 
+038b d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+038c 2020491f branch dongle_g24_kb_type2 + 2 
 
 p_dongle_g24_kb_type3:
-038b d8a00933 arg mem_usb_kb_multikey ,contw 
-038c d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
-038d 20204907 branch dongle_g24_kb_type3 + 2 
+038d d8a00933 arg mem_usb_kb_multikey ,contw 
+038e d8c04a48 arg mem_24g_rxdata_temp_new + 3 ,contr 
+038f 20204907 branch dongle_g24_kb_type3 + 2 
 
 p_dongle_ackpayload_prep:
-038e 6fe0c589 fetch 1 ,mem_24g_data_type 
-038f c0008392 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
-0390 c00100f0 beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
-0391 20200392 branch p_dongle_ackpayload_prep_mouse 
+0390 6fe0c589 fetch 1 ,mem_24g_data_type 
+0391 c0008394 beq datatype_device1 ,p_dongle_ackpayload_prep_mouse 
+0392 c00100f0 beq datatype_device2 ,p_dongle_ackpayload_prep_keyboard 
+0393 20200394 branch p_dongle_ackpayload_prep_mouse 
 
 p_dongle_ackpayload_prep_mouse:
-0392 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
-0393 c28000e2 bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
-0394 20200395 branch p_dongle_ackpayload_prep_end 
+0394 6fe0c693 fetch 1 ,mem_dg_pc_sleep_flag 
+0395 c28000e2 bbit1 0 ,p_dongle_pc_sleep_ackpayload_prep_mouse 
+0396 20200397 branch p_dongle_ackpayload_prep_end 
 
 p_dongle_ackpayload_prep_end:
-0395 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
-0396 c00080da beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
-0397 c00180e9 beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
-0398 c051039a beq report_id_data_out ,p_dongle_ep2_ackpayload_prep 
-0399 20600000 rtn 
+0397 6fe0c611 fetch 1 ,mem_24g_ackpayload_enable 
+0398 c00080da beq bind_ackpayload ,p_dongle_g24_bind_ackpayload_prep 
+0399 c00180e9 beq kb_led_ackpayload ,p_dongle_g24_kb_led_ackpayload_prep 
+039a c051039c beq report_id_data_out ,p_dongle_ep2_ackpayload_prep 
+039b 20600000 rtn 
 
 p_dongle_ep2_ackpayload_prep:
-039a 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
-039b 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
-039c 6fe0c865 fetch 1 ,mem_dongle_usb_ep2_data_len 
-039d 67e0c588 store 1 ,mem_24g_datalen 
-039e 1fe27200 copy pdata ,loopcnt 
-039f d8c04866 arg mem_dongle_g24_usb_ep2_ack_data ,contr 
-03a0 d8a04a8b arg mem_24g_txbuf_new ,contw 
-03a1 20207cda branch memcpy 
+039c 704611a2 jam report_id_data_out ,mem_24g_ackpayload_enable 
+039d 704a44a2 jam report_id_data_out ,mem_24g_ackpayload_enable_temp 
+039e 6fe0c865 fetch 1 ,mem_dongle_usb_ep2_data_len 
+039f 67e0c588 store 1 ,mem_24g_datalen 
+03a0 1fe27200 copy pdata ,loopcnt 
+03a1 d8c04866 arg mem_dongle_g24_usb_ep2_ack_data ,contr 
+03a2 d8a04a8b arg mem_24g_txbuf_new ,contw 
+03a3 20207cda branch memcpy 
 
 p_g24_100ms_timer_event:
-03a2 d8e00006 arg usb_timer_100ms ,queue 
-03a3 20407cef call timer_check 
-03a4 247a0000 nrtn blank 
-03a5 204003a9 call p_g24_http_over_pack_check 
+03a4 d8e00006 arg usb_timer_100ms ,queue 
+03a5 20407cef call timer_check 
+03a6 247a0000 nrtn blank 
+03a7 204003ab call p_g24_http_over_pack_check 
 
 p_g24_100ms_timer_init:
-03a6 d8e00006 arg usb_timer_100ms ,queue 
-03a7 58000008 setarg 8 
-03a8 20207ce1 branch timer_init 
+03a8 d8e00006 arg usb_timer_100ms ,queue 
+03a9 58000018 setarg 24 
+03aa 20207ce1 branch timer_init 
 
 p_g24_http_over_pack_check:
-03a9 6fe0cc1f fetch 1 ,mem_usb_http_data_step 
-03aa 207a0000 rtn blank 
-03ab 202002e8 branch p_dongle_usb_tx_http_data 
+03ab 6fe0cc1f fetch 1 ,mem_usb_http_data_step 
+03ac 207a0000 rtn blank 
+03ad 202002e8 branch p_dongle_usb_tx_http_data 
 
 p_usb_tx_data_ep1:
-03ac 6ff08c25 fetch 1 ,core_usb_txbusy 
-03ad 1fe17e0f and_into 0x0f ,pdata 
-03ae 247a0000 nrtn blank 
-03af 6fe0890d fetch 1 ,mem_usb_tx_enable 
-03b0 c4008000 rtnbit0 1 
+03ae 6ff08c25 fetch 1 ,core_usb_txbusy 
+03af 1fe17e0f and_into 0x0f ,pdata 
+03b0 247a0000 nrtn blank 
 03b1 6fe0890d fetch 1 ,mem_usb_tx_enable 
-03b2 793ffe01 set0 1 ,pdata 
-03b3 67e0890d store 1 ,mem_usb_tx_enable 
-03b4 6fe0890b fetch 1 ,mem_usb_ep1_data 
-03b5 207a0000 rtn blank 
-03b6 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
-03b7 c00883b9 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
-03b8 2020235a branch assert 
+03b2 c4008000 rtnbit0 1 
+03b3 6fe0890d fetch 1 ,mem_usb_tx_enable 
+03b4 793ffe01 set0 1 ,pdata 
+03b5 67e0890d store 1 ,mem_usb_tx_enable 
+03b6 6fe0890b fetch 1 ,mem_usb_ep1_data 
+03b7 207a0000 rtn blank 
+03b8 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+03b9 c00883bb beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
+03ba 2020235a branch assert 
 
 p_usb_tx_http_data_set:
-03b9 6fe0cc1f fetch 1 ,mem_usb_http_data_step 
-03ba 1fe0fe01 increase 1 ,pdata 
-03bb 67e0cc1f store 1 ,mem_usb_http_data_step 
-03bc 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
-03bd c00003c0 beq 0 ,p_usb_tx_win_http_data 
-03be c00083cf beq 1 ,p_usb_tx_mac_http_data 
-03bf 20600000 rtn 
+03bb 6fe0cc1f fetch 1 ,mem_usb_http_data_step 
+03bc 1fe0fe01 increase 1 ,pdata 
+03bd 67e0cc1f store 1 ,mem_usb_http_data_step 
+03be 204003c3 call p_usb_tx_http_data_check 
+03bf 6fe0cc20 fetch 1 ,mem_usb_tx_data_flag 
+03c0 207a0000 rtn blank 
+03c1 704c2000 jam 0 ,mem_usb_tx_data_flag 
+03c2 20207c28 branch usb_tx_kb_normal_data 
+
+p_usb_tx_http_data_check:
+03c3 6fe0cc1f fetch 1 ,mem_usb_http_data_step 
+03c4 c00083f6 beq 1 ,p_usb_tx_win_or_mac_check 
+03c5 c0010402 beq 2 ,p_usb_tx_cmd_release 
+03c6 c00183fc beq 3 ,p_usb_tx_ep1_data_enable 
+03c7 c00203fc beq 4 ,p_usb_tx_ep1_data_enable 
+03c8 c00283fc beq 5 ,p_usb_tx_ep1_data_enable 
+03c9 c00a0404 beq 20 ,p_usb_tx_data_h 
+03ca c00a83fc beq 21 ,p_usb_tx_ep1_data_enable 
+03cb c00b0406 beq 22 ,p_usb_tx_data_t 
+03cc c00b83fc beq 23 ,p_usb_tx_ep1_data_enable 
+03cd c00c0406 beq 24 ,p_usb_tx_data_t 
+03ce c00c83fc beq 25 ,p_usb_tx_ep1_data_enable 
+03cf c00d0408 beq 26 ,p_usb_tx_data_p 
+03d0 c00d83fc beq 27 ,p_usb_tx_ep1_data_enable 
+03d1 c00e040a beq 28 ,p_usb_tx_data_s 
+03d2 c00e83fc beq 29 ,p_usb_tx_ep1_data_enable 
+03d3 c00f0400 beq 30 ,p_usb_tx_shift_data_set 
+03d4 c00f83fc beq 31 ,p_usb_tx_ep1_data_enable 
+03d5 c010040c beq 32 ,p_usb_tx_data_spec1 
+03d6 c01083fc beq 33 ,p_usb_tx_ep1_data_enable 
+03d7 c011040c beq 34 ,p_usb_tx_data_spec1 
+03d8 c01183fc beq 35 ,p_usb_tx_ep1_data_enable 
+03d9 c012040e beq 36 ,p_usb_tx_data_m 
+03da c01283fc beq 37 ,p_usb_tx_ep1_data_enable 
+03db c0130410 beq 38 ,p_usb_tx_data_o 
+03dc c01383fc beq 39 ,p_usb_tx_ep1_data_enable 
+03dd c0140412 beq 40 ,p_usb_tx_data_f 
+03de c01483fc beq 41 ,p_usb_tx_ep1_data_enable 
+03df c0150414 beq 42 ,p_usb_tx_data_i 
+03e0 c01583fc beq 43 ,p_usb_tx_ep1_data_enable 
+03e1 c0160414 beq 44 ,p_usb_tx_data_i 
+03e2 c01683fc beq 45 ,p_usb_tx_ep1_data_enable 
+03e3 c0170416 beq 46 ,p_usb_tx_data_spec2 
+03e4 c01783fc beq 47 ,p_usb_tx_ep1_data_enable 
+03e5 c0180418 beq 48 ,p_usb_tx_data_c 
+03e6 c01883fc beq 49 ,p_usb_tx_ep1_data_enable 
+03e7 c0190410 beq 50 ,p_usb_tx_data_o 
+03e8 c01983fc beq 51 ,p_usb_tx_ep1_data_enable 
+03e9 c01a040e beq 52 ,p_usb_tx_data_m 
+03ea c01a83fc beq 53 ,p_usb_tx_ep1_data_enable 
+03eb c01b040c beq 54 ,p_usb_tx_data_spec1 
+03ec c01b83fc beq 55 ,p_usb_tx_ep1_data_enable 
+03ed c01c041a beq 56 ,p_usb_tx_data_a 
+03ee c01c83fc beq 57 ,p_usb_tx_ep1_data_enable 
+03ef c01d0414 beq 58 ,p_usb_tx_data_i 
+03f0 c01d83fc beq 59 ,p_usb_tx_ep1_data_enable 
+03f1 c023041c beq 70 ,p_usb_tx_data_enter 
+03f2 c02403fc beq 72 ,p_usb_tx_ep1_data_enable 
+03f3 c025041c beq 74 ,p_usb_tx_data_enter 
+03f4 c026041e beq 76 ,p_usb_tx_ep1_end 
+03f5 20600000 rtn 
+
+p_usb_tx_win_or_mac_check:
+03f6 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
+03f7 c00003fa beq 0 ,p_usb_tx_win_http_data 
+03f8 c00083fe beq 1 ,p_usb_tx_mac_http_data 
+03f9 20600000 rtn 
 
 p_usb_tx_win_http_data:
-03c0 6fe0cc1f fetch 1 ,mem_usb_http_data_step 
-03c1 c00083ed beq 1 ,p_usb_tx_win_http_step1 
-03c2 c0010417 beq 2 ,p_usb_tx_http_realse 
-03c3 c00b03ef beq 22 ,p_usb_tx_win_http_step2 
-03c4 c00b8417 beq 23 ,p_usb_tx_http_realse 
-03c5 c00c03f1 beq 24 ,p_usb_tx_win_http_step3 
-03c6 c00c8417 beq 25 ,p_usb_tx_http_realse 
-03c7 c00d03f3 beq 26 ,p_usb_tx_win_http_step4 
-03c8 c00d8417 beq 27 ,p_usb_tx_http_realse 
-03c9 c00e03f5 beq 28 ,p_usb_tx_win_http_step5 
-03ca c00e8417 beq 29 ,p_usb_tx_http_realse 
-03cb c00f03f7 beq 30 ,p_usb_tx_win_http_step6 
-03cc c00f83f9 beq 31 ,p_usb_tx_win_http_step7 
-03cd c010041a beq 32 ,p_usb_tx_http_end 
-03ce 20600000 rtn 
+03fa 6fe1cc21 fetch 3 ,mem_usb_win_cmd 
+
+p_usb_kb_spec_data_store:
+03fb 67e18923 store 3 ,mem_usb_kb_data 
+
+p_usb_tx_ep1_data_enable:
+03fc 704c2001 jam 1 ,mem_usb_tx_data_flag 
+03fd 20600000 rtn 
 
 p_usb_tx_mac_http_data:
-03cf 6fe0cc1f fetch 1 ,mem_usb_http_data_step 
-03d0 c00083fb beq 1 ,p_usb_tx_mac_http_step1 
-03d1 c0010417 beq 2 ,p_usb_tx_http_realse 
-03d2 c00703fd beq 14 ,p_usb_tx_mac_http_step2 
-03d3 c0078417 beq 15 ,p_usb_tx_http_realse 
-03d4 c00803ff beq 16 ,p_usb_tx_mac_http_step3 
-03d5 c0088417 beq 17 ,p_usb_tx_http_realse 
-03d6 c0090401 beq 18 ,p_usb_tx_mac_http_step4 
-03d7 c0098417 beq 19 ,p_usb_tx_http_realse 
-03d8 c00a0403 beq 20 ,p_usb_tx_mac_http_step5 
-03d9 c00a8417 beq 21 ,p_usb_tx_http_realse 
-03da c00b0405 beq 22 ,p_usb_tx_mac_http_step6 
-03db c00b8417 beq 23 ,p_usb_tx_http_realse 
-03dc c00c0407 beq 24 ,p_usb_tx_mac_http_step7 
-03dd c00c8417 beq 25 ,p_usb_tx_http_realse 
-03de c00d0409 beq 26 ,p_usb_tx_mac_http_step8 
-03df c00d8417 beq 27 ,p_usb_tx_http_realse 
-03e0 c00e040b beq 28 ,p_usb_tx_mac_http_step9 
-03e1 c00e8417 beq 29 ,p_usb_tx_http_realse 
-03e2 c00f040d beq 30 ,p_usb_tx_mac_http_step10 
-03e3 c00f8417 beq 31 ,p_usb_tx_http_realse 
-03e4 c010040f beq 32 ,p_usb_tx_mac_http_step11 
-03e5 c0108417 beq 33 ,p_usb_tx_http_realse 
-03e6 c0110411 beq 34 ,p_usb_tx_mac_http_step12 
-03e7 c0118417 beq 35 ,p_usb_tx_http_realse 
-03e8 c0120413 beq 36 ,p_usb_tx_mac_http_step13 
-03e9 c0128417 beq 37 ,p_usb_tx_http_realse 
-03ea c0150415 beq 42 ,p_usb_tx_mac_http_step14 
-03eb c015841a beq 43 ,p_usb_tx_http_end 
-03ec 20600000 rtn 
-
-p_usb_tx_win_http_step1:
-03ed d8c04c20 arg mem_usb_win_http_step1_data ,contr 
-03ee 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_win_http_step2:
-03ef d8c04c28 arg mem_usb_win_http_step2_data ,contr 
-03f0 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_win_http_step3:
-03f1 d8c04c30 arg mem_usb_win_http_step3_data ,contr 
-03f2 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_win_http_step4:
-03f3 d8c04c38 arg mem_usb_win_http_step4_data ,contr 
-03f4 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_win_http_step5:
-03f5 d8c04c40 arg mem_usb_win_http_step5_data ,contr 
-03f6 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_win_http_step6:
-03f7 d8c04c48 arg mem_usb_win_http_step6_data ,contr 
-03f8 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_win_http_step7:
-03f9 d8c04c50 arg mem_usb_win_http_step7_data ,contr 
-03fa 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_mac_http_step1:
-03fb d8c04c58 arg mem_usb_mac_http_step1_data ,contr 
-03fc 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_mac_http_step2:
-03fd d8c04c60 arg mem_usb_mac_http_step2_data ,contr 
-03fe 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_mac_http_step3:
-03ff d8c04c68 arg mem_usb_mac_http_step3_data ,contr 
-0400 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_mac_http_step4:
-0401 d8c04c70 arg mem_usb_mac_http_step4_data ,contr 
-0402 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_mac_http_step5:
-0403 d8c04c78 arg mem_usb_mac_http_step5_data ,contr 
-0404 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_mac_http_step6:
-0405 d8c04c80 arg mem_usb_mac_http_step6_data ,contr 
-0406 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_mac_http_step7:
-0407 d8c04c88 arg mem_usb_mac_http_step7_data ,contr 
-0408 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_mac_http_step8:
-0409 d8c04c90 arg mem_usb_mac_http_step8_data ,contr 
-040a 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_mac_http_step9:
-040b d8c04c98 arg mem_usb_mac_http_step9_data ,contr 
-040c 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_mac_http_step10:
-040d d8c04ca0 arg mem_usb_mac_http_step10_data ,contr 
-040e 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_mac_http_step11:
-040f d8c04ca8 arg mem_usb_mac_http_step11_data ,contr 
-0410 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_mac_http_step12:
-0411 d8c04cb0 arg mem_usb_mac_http_step12_data ,contr 
-0412 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_mac_http_step13:
-0413 d8c04cb8 arg mem_usb_mac_http_step13_data ,contr 
-0414 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_mac_http_step14:
-0415 d8c04cc0 arg mem_usb_mac_http_step14_data ,contr 
-0416 20200418 branch p_usb_tx_ep1_set 
-
-p_usb_tx_http_realse:
-0417 d8c04cc8 arg mem_usb_http_step_empty_data ,contr 
-
-p_usb_tx_ep1_set:
-0418 df200008 arg 8 ,loopcnt 
-0419 20207bcf branch usb_tx_ep1 
-
-p_usb_tx_http_end:
-041a 704c1f00 jam 0 ,mem_usb_http_data_step 
-041b 20200417 branch p_usb_tx_http_realse 
+03fe 6fe1cc24 fetch 3 ,mem_usb_mac_cmd 
+03ff 202003fb branch p_usb_kb_spec_data_store 
+
+p_usb_tx_shift_data_set:
+0400 6fe1cc27 fetch 3 ,mem_usb_kb_shift 
+0401 202003fb branch p_usb_kb_spec_data_store 
+
+p_usb_tx_cmd_release:
+0402 70092308 jam 0x08 ,mem_usb_kb_data 
+0403 202003fc branch p_usb_tx_ep1_data_enable 
+
+p_usb_tx_data_h:
+0404 7009260b jam 0x0b ,mem_usb_kb_data + 3 
+0405 202003fc branch p_usb_tx_ep1_data_enable 
+
+p_usb_tx_data_t:
+0406 70092617 jam 0x17 ,mem_usb_kb_data + 3 
+0407 202003fc branch p_usb_tx_ep1_data_enable 
+
+p_usb_tx_data_p:
+0408 70092613 jam 0x13 ,mem_usb_kb_data + 3 
+0409 202003fc branch p_usb_tx_ep1_data_enable 
+
+p_usb_tx_data_s:
+040a 70092616 jam 0x16 ,mem_usb_kb_data + 3 
+040b 202003fc branch p_usb_tx_ep1_data_enable 
+
+p_usb_tx_data_spec1:
+040c 70092638 jam 0x38 ,mem_usb_kb_data + 3 
+040d 202003fc branch p_usb_tx_ep1_data_enable 
+
+p_usb_tx_data_m:
+040e 70092610 jam 0x10 ,mem_usb_kb_data + 3 
+040f 202003fc branch p_usb_tx_ep1_data_enable 
+
+p_usb_tx_data_o:
+0410 70092612 jam 0x12 ,mem_usb_kb_data + 3 
+0411 202003fc branch p_usb_tx_ep1_data_enable 
+
+p_usb_tx_data_f:
+0412 70092609 jam 0x09 ,mem_usb_kb_data + 3 
+0413 202003fc branch p_usb_tx_ep1_data_enable 
+
+p_usb_tx_data_i:
+0414 7009260c jam 0x0c ,mem_usb_kb_data + 3 
+0415 202003fc branch p_usb_tx_ep1_data_enable 
+
+p_usb_tx_data_spec2:
+0416 70092637 jam 0x37 ,mem_usb_kb_data + 3 
+0417 202003fc branch p_usb_tx_ep1_data_enable 
+
+p_usb_tx_data_c:
+0418 70092606 jam 0x06 ,mem_usb_kb_data + 3 
+0419 202003fc branch p_usb_tx_ep1_data_enable 
+
+p_usb_tx_data_a:
+041a 70092604 jam 0x04 ,mem_usb_kb_data + 3 
+041b 202003fc branch p_usb_tx_ep1_data_enable 
+
+p_usb_tx_data_enter:
+041c 70092628 jam 0x28 ,mem_usb_kb_data + 3 
+041d 202003fc branch p_usb_tx_ep1_data_enable 
+
+p_usb_tx_ep1_end:
+041e 704c1f00 jam 0 ,mem_usb_http_data_step 
+041f 202003fc branch p_usb_tx_ep1_data_enable 
 
 p_usb_tx_data_ep2:
-041c da204c16 arg mem_usb_ep2_fifo ,rega 
-041d 20407da3 call fifo_is_empty 
-041e 207a0000 rtn blank 
-041f 6ff08c25 fetch 1 ,core_usb_txbusy 
-0420 1fe17e0f and_into 0x0f ,pdata 
-0421 247a0000 nrtn blank 
-0422 da204c16 arg mem_usb_ep2_fifo ,rega 
-0423 20407d97 call fifo_out 
-0424 207a0000 rtn blank 
-0425 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-0426 c0130435 beq usb_ep2_authca ,p_usb_tx_authca_data 
-0427 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-0428 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-0429 c0120440 beq usb_ep2_audio ,p_usb_tx_audio_data 
-042a c011844b beq usb_ep2_protocol ,p_usb_tx_protocol_data 
-042b c013842d beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
-042c 2020235a branch assert 
+0420 da204c16 arg mem_usb_ep2_fifo ,rega 
+0421 20407da3 call fifo_is_empty 
+0422 207a0000 rtn blank 
+0423 6ff08c25 fetch 1 ,core_usb_txbusy 
+0424 1fe17e0f and_into 0x0f ,pdata 
+0425 247a0000 nrtn blank 
+0426 da204c16 arg mem_usb_ep2_fifo ,rega 
+0427 20407d97 call fifo_out 
+0428 207a0000 rtn blank 
+0429 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+042a c0130439 beq usb_ep2_authca ,p_usb_tx_authca_data 
+042b c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+042c c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+042d c0120444 beq usb_ep2_audio ,p_usb_tx_audio_data 
+042e c011844f beq usb_ep2_protocol ,p_usb_tx_protocol_data 
+042f c0138431 beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
+0430 2020235a branch assert 
 
 p_usb_tx_rf_state_data:
-042d 6f20cbd4 fetchr loopcnt ,1 ,mem_usb_rf_state_data 
-042e d8c04bd5 arg mem_usb_rf_state_data + 1 ,contr 
-042f d8e00002 arg 2 ,queue 
-0430 da200759 arg mem_usb_txbuf2 ,rega 
-0431 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-0432 20407bd2 call usb_tx_buf 
-0433 d8a04bd4 arg mem_usb_rf_state_data ,contw 
-0434 2020043e branch p_usb_release_authca_buf + 1 
+0431 6f20cbd4 fetchr loopcnt ,1 ,mem_usb_rf_state_data 
+0432 d8c04bd5 arg mem_usb_rf_state_data + 1 ,contr 
+0433 d8e00002 arg 2 ,queue 
+0434 da200759 arg mem_usb_txbuf2 ,rega 
+0435 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+0436 20407bd2 call usb_tx_buf 
+0437 d8a04bd4 arg mem_usb_rf_state_data ,contw 
+0438 20200442 branch p_usb_release_authca_buf + 1 
 
 p_usb_tx_authca_data:
-0435 70090c00 jam 0 ,mem_usb_ep2_data 
-0436 6f20c6de fetchr loopcnt ,1 ,mem_usb_authca_data 
-0437 d8c046df arg mem_usb_authca_data + 1 ,contr 
+0439 70090c00 jam 0 ,mem_usb_ep2_data 
+043a 6f20c6de fetchr loopcnt ,1 ,mem_usb_authca_data 
+043b d8c046df arg mem_usb_authca_data + 1 ,contr 
 
 p_usb_tx_authca_ep2:
-0438 d8e00002 arg 2 ,queue 
-0439 da200759 arg mem_usb_txbuf2 ,rega 
-043a 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-043b 20407bd2 call usb_tx_buf 
-043c 2020043d branch p_usb_release_authca_buf 
+043c d8e00002 arg 2 ,queue 
+043d da200759 arg mem_usb_txbuf2 ,rega 
+043e 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+043f 20407bd2 call usb_tx_buf 
+0440 20200441 branch p_usb_release_authca_buf 
 
 p_usb_release_authca_buf:
-043d d8a046de arg mem_usb_authca_data ,contw 
-043e df200040 arg 64 ,loopcnt 
-043f 20207ca1 branch clear_mem 
+0441 d8a046de arg mem_usb_authca_data ,contw 
+0442 df200040 arg 64 ,loopcnt 
+0443 20207ca1 branch clear_mem 
 
 p_usb_tx_audio_data:
-0440 70090c00 jam 0 ,mem_usb_ep2_data 
-0441 6f20c7a1 fetchr loopcnt ,1 ,mem_usb_audio_data 
-0442 d8c047a3 arg mem_usb_audio_data + 2 ,contr 
+0444 70090c00 jam 0 ,mem_usb_ep2_data 
+0445 6f20c7a1 fetchr loopcnt ,1 ,mem_usb_audio_data 
+0446 d8c047a3 arg mem_usb_audio_data + 2 ,contr 
 
 p_usb_tx_audio_ep2:
-0443 d8e00002 arg 2 ,queue 
-0444 da200759 arg mem_usb_txbuf2 ,rega 
-0445 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-0446 20407bd2 call usb_tx_buf 
-0447 20200448 branch p_usb_release_audio_buf 
+0447 d8e00002 arg 2 ,queue 
+0448 da200759 arg mem_usb_txbuf2 ,rega 
+0449 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+044a 20407bd2 call usb_tx_buf 
+044b 2020044c branch p_usb_release_audio_buf 
 
 p_usb_release_audio_buf:
-0448 d8a047a1 arg mem_usb_audio_data ,contw 
-0449 df200040 arg 64 ,loopcnt 
-044a 20207ca1 branch clear_mem 
+044c d8a047a1 arg mem_usb_audio_data ,contw 
+044d df200040 arg 64 ,loopcnt 
+044e 20207ca1 branch clear_mem 
 
 p_usb_tx_protocol_data:
-044b 70090c00 jam 0 ,mem_usb_ep2_data 
-044c 6f20cb11 fetchr loopcnt ,1 ,mem_usb_protocol_data 
-044d d8c04b12 arg mem_usb_protocol_data + 1 ,contr 
+044f 70090c00 jam 0 ,mem_usb_ep2_data 
+0450 6f20cb11 fetchr loopcnt ,1 ,mem_usb_protocol_data 
+0451 d8c04b12 arg mem_usb_protocol_data + 1 ,contr 
 
 p_usb_tx_protocol_ep2:
-044e d8e00002 arg 2 ,queue 
-044f da200759 arg mem_usb_txbuf2 ,rega 
-0450 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-0451 20407bd2 call usb_tx_buf 
-0452 20200453 branch p_usb_release_protocol_buf 
+0452 d8e00002 arg 2 ,queue 
+0453 da200759 arg mem_usb_txbuf2 ,rega 
+0454 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+0455 20407bd2 call usb_tx_buf 
+0456 20200457 branch p_usb_release_protocol_buf 
 
 p_usb_release_protocol_buf:
-0453 d8a04b11 arg mem_usb_protocol_data ,contw 
-0454 df200041 arg 65 ,loopcnt 
-0455 20207ca1 branch clear_mem 
+0457 d8a04b11 arg mem_usb_protocol_data ,contw 
+0458 df200041 arg 65 ,loopcnt 
+0459 20207ca1 branch clear_mem 
 
 p_rx_dcoc:
-0456 20758000 rtn wake 
-0457 20402160 call set_sync_on 
-0458 d8400027 arg 39 ,temp 
-0459 2040216f call set_freq_rx 
-045a 204021a6 call rf_rx_enable 
-045b 708a257f jam 0x7f ,0x8a25 
-045c 708a301a jam 0x1a ,0x8a30 
-045d 708a3178 jam 0x78 ,0x8a31 
-045e 708a8fb2 jam 0xb2 ,0x8a8f 
-045f 708ac200 jam 0 ,0x8ac2 
-0460 708ac300 jam 0 ,0x8ac3 
-0461 d8e00006 arg 6 ,queue 
-0462 20400473 call p_rx_dcoc_avg 
-0463 2a2ffe0d isolate1 13 ,rega 
-0464 2040211d call qset_start 
-0465 2a4ffe0d isolate1 13 ,regb 
-0466 2040211e call qset_p 
-0467 d8e00005 arg 5 ,queue 
+045a 20758000 rtn wake 
+045b 20402160 call set_sync_on 
+045c d8400027 arg 39 ,temp 
+045d 2040216f call set_freq_rx 
+045e 204021a6 call rf_rx_enable 
+045f 708a257f jam 0x7f ,0x8a25 
+0460 708a301a jam 0x1a ,0x8a30 
+0461 708a3178 jam 0x78 ,0x8a31 
+0462 708a8fb2 jam 0xb2 ,0x8a8f 
+0463 708ac200 jam 0 ,0x8ac2 
+0464 708ac300 jam 0 ,0x8ac3 
+0465 d8e00006 arg 6 ,queue 
+0466 20400477 call p_rx_dcoc_avg 
+0467 2a2ffe0d isolate1 13 ,rega 
+0468 2040211d call qset_start 
+0469 2a4ffe0d isolate1 13 ,regb 
+046a 2040211e call qset_p 
+046b d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-0468 2040211c call qset1_p 
-0469 2040211e call qset_p 
-046a 20400473 call p_rx_dcoc_avg 
-046b d8a08ac2 arg 0x8ac2 ,contw 
-046c 1a31fe00 rshift4 rega ,pdata 
-046d 20402117 call qsetxor 
-046e 1a51fe00 rshift4 regb ,pdata 
-046f 20402117 call qsetxor 
-0470 18e08fff increase -1 ,queue 
-0471 20210468 branch p_rx_dcoc_loop2 ,positive 
-0472 2020214f branch rx_dcoc_loop2 + 10 
+046c 2040211c call qset1_p 
+046d 2040211e call qset_p 
+046e 20400477 call p_rx_dcoc_avg 
+046f d8a08ac2 arg 0x8ac2 ,contw 
+0470 1a31fe00 rshift4 rega ,pdata 
+0471 20402117 call qsetxor 
+0472 1a51fe00 rshift4 regb ,pdata 
+0473 20402117 call qsetxor 
+0474 18e08fff increase -1 ,queue 
+0475 2021046c branch p_rx_dcoc_loop2 ,positive 
+0476 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-0473 2000003c nop 60 
-0474 58000f00 setarg mem_dcoc_buf 
-0475 67f10982 store 2 ,0x8982 
-0476 58000ff0 setarg mem_dcoc_buf_end 
-0477 67f10984 store 2 ,0x8984 
-0478 70898109 jam 0x9 ,0x8981 
-0479 70898103 jam 0x3 ,0x8981 
-047a 70898006 jam 0x6 ,0x8980 
-047b 2000003c nop 60 
-047c da200000 arg 0 ,rega 
-047d da400000 arg 0 ,regb 
-047e df200010 arg 16 ,loopcnt 
-047f d8c00f00 arg mem_dcoc_buf ,contr 
-0480 2020212d branch rx_dcoc_loop 
+0477 2000003c nop 60 
+0478 58000f00 setarg mem_dcoc_buf 
+0479 67f10982 store 2 ,0x8982 
+047a 58000ff0 setarg mem_dcoc_buf_end 
+047b 67f10984 store 2 ,0x8984 
+047c 70898109 jam 0x9 ,0x8981 
+047d 70898103 jam 0x3 ,0x8981 
+047e 70898006 jam 0x6 ,0x8980 
+047f 2000003c nop 60 
+0480 da200000 arg 0 ,rega 
+0481 da400000 arg 0 ,regb 
+0482 df200010 arg 16 ,loopcnt 
+0483 d8c00f00 arg mem_dcoc_buf ,contr 
+0484 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-0481 20758000 rtn wake 
-0482 20202272 branch rfpll_aac_ghpc + 1 
+0485 20758000 rtn wake 
+0486 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-0483 20600000 rtn 
+0487 20600000 rtn 
 
 p_sadc_calibration:
-0484 20758000 rtn wake 
-0485 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0486 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-0487 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0488 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0489 67f080cd store 1 ,core_sadc_clkdiv 
-048a 20000bb8 nop 3000 
-048b 204004ac call p_sadc_read 
-048c 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-048d 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-048e df200008 arg 8 ,loopcnt 
-048f 20406f58 call sadc_cal_read + 1 
-0490 6fe0c419 fetch 1 ,mem_spi_write_addr 
-0491 67e0c433 store 1 ,mem_adc_cal_c7 
-0492 6240c419 storer regb ,1 ,mem_spi_write_addr 
-0493 20600000 rtn 
+0488 20758000 rtn wake 
+0489 708a0777 jam 0x77 ,core_gpadc_ctrl 
+048a 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+048b 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+048c 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+048d 67f080cd store 1 ,core_sadc_clkdiv 
+048e 20000bb8 nop 3000 
+048f 204004b0 call p_sadc_read 
+0490 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+0491 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+0492 df200008 arg 8 ,loopcnt 
+0493 20406f58 call sadc_cal_read + 1 
+0494 6fe0c419 fetch 1 ,mem_spi_write_addr 
+0495 67e0c433 store 1 ,mem_adc_cal_c7 
+0496 6240c419 storer regb ,1 ,mem_spi_write_addr 
+0497 20600000 rtn 
 
 p_enable_adc:
-0494 204004a2 call p_sadc_cal_write 
-0495 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-0496 793ffe07 set0 7 ,pdata 
-0497 67f08a09 store 1 ,core_gpadc_cfg1 
-0498 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0499 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-049a 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-049b 20406f90 call sadc_channel 
-049c 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-049d 67f080cd store 1 ,core_sadc_clkdiv 
-049e 20000bb8 nop 3000 
-049f 204004ac call p_sadc_read 
-04a0 7080cd00 jam 0 ,core_sadc_clkdiv 
-04a1 20206fa1 branch sadc_dma 
+0498 204004a6 call p_sadc_cal_write 
+0499 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+049a 793ffe07 set0 7 ,pdata 
+049b 67f08a09 store 1 ,core_gpadc_cfg1 
+049c 708a0777 jam 0x77 ,core_gpadc_ctrl 
+049d 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+049e 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+049f 20406f90 call sadc_channel 
+04a0 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+04a1 67f080cd store 1 ,core_sadc_clkdiv 
+04a2 20000bb8 nop 3000 
+04a3 204004b0 call p_sadc_read 
+04a4 7080cd00 jam 0 ,core_sadc_clkdiv 
+04a5 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-04a2 6ff080cc fetch 1 ,core_sadc_ctrl 
-04a3 79207e01 set1 1 ,pdata 
-04a4 67f080cc store 1 ,core_sadc_ctrl 
-04a5 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-04a6 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-04a7 67e0c419 store 1 ,mem_spi_write_addr 
-04a8 df200008 arg 8 ,loopcnt 
-04a9 20406f67 call sadc_cal_write + 4 
-04aa 6240c419 storer regb ,1 ,mem_spi_write_addr 
-04ab 20600000 rtn 
+04a6 6ff080cc fetch 1 ,core_sadc_ctrl 
+04a7 79207e01 set1 1 ,pdata 
+04a8 67f080cc store 1 ,core_sadc_ctrl 
+04a9 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+04aa 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+04ab 67e0c419 store 1 ,mem_spi_write_addr 
+04ac df200008 arg 8 ,loopcnt 
+04ad 20406f67 call sadc_cal_write + 4 
+04ae 6240c419 storer regb ,1 ,mem_spi_write_addr 
+04af 20600000 rtn 
 
 p_sadc_read:
-04ac 7080cc03 jam 0x03 ,core_sadc_ctrl 
+04b0 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-04ad 6ff08129 fetch 1 ,core_perf_status 
-04ae c30284ad bbit0 saradc_done ,p_sadc_read_wait 
-04af 68590164 fetcht 2 ,core_sadc_data 
-04b0 6049440a storet 2 ,mem_adc_current_value 
-04b1 7080cc00 jam 0x00 ,core_sadc_ctrl 
-04b2 20600000 rtn 
+04b1 6ff08129 fetch 1 ,core_perf_status 
+04b2 c30284b1 bbit0 saradc_done ,p_sadc_read_wait 
+04b3 68590164 fetcht 2 ,core_sadc_data 
+04b4 6049440a storet 2 ,mem_adc_current_value 
+04b5 7080cc00 jam 0x00 ,core_sadc_ctrl 
+04b6 20600000 rtn 
 
 p_set_lemode:
-04b3 708a8211 jam 0x11 ,0x8a82 
-04b4 708a8d12 jam 0x12 ,0x8a8d 
-04b5 708a8e0a jam 0x0a ,0x8a8e 
-04b6 6fe0c099 fetch 1 ,mem_fcomp_div 
-04b7 c00804cc beq xtal_16m ,p_set_lemode_2m_16m 
-04b8 58005762 setarg 0x5762 
-04b9 67f10907 store 2 ,0x8907 
+04b7 708a8211 jam 0x11 ,0x8a82 
+04b8 708a8d12 jam 0x12 ,0x8a8d 
+04b9 708a8e0a jam 0x0a ,0x8a8e 
+04ba 6fe0c099 fetch 1 ,mem_fcomp_div 
+04bb c00804d0 beq xtal_16m ,p_set_lemode_2m_16m 
+04bc 58005762 setarg 0x5762 
+04bd 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-04ba 70890103 jam 3 ,0x8901 
-04bb 70893003 jam 3 ,0x8930 
-04bc c6168000 rtnmark1 mark_ble_2m 
-04bd 70890101 jam 1 ,0x8901 
-04be 708a8207 jam 0x07 ,0x8a82 
-04bf 708a8d44 jam 0x44 ,0x8a8d 
-04c0 708a8e0a jam 0x0a ,0x8a8e 
-04c1 6fe0c099 fetch 1 ,mem_fcomp_div 
-04c2 c00804c9 beq xtal_16m ,p_set_lemode_1m_16m 
-04c3 58002bb1 setarg 0x2bb1 
-04c4 67f10907 store 2 ,0x8907 
+04be 70890103 jam 3 ,0x8901 
+04bf 70893003 jam 3 ,0x8930 
+04c0 c6168000 rtnmark1 mark_ble_2m 
+04c1 70890101 jam 1 ,0x8901 
+04c2 708a8207 jam 0x07 ,0x8a82 
+04c3 708a8d44 jam 0x44 ,0x8a8d 
+04c4 708a8e0a jam 0x0a ,0x8a8e 
+04c5 6fe0c099 fetch 1 ,mem_fcomp_div 
+04c6 c00804cd beq xtal_16m ,p_set_lemode_1m_16m 
+04c7 58002bb1 setarg 0x2bb1 
+04c8 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-04c5 c6978000 rtnmark0 mark_ble_lr 
-04c6 70893024 jam 0x24 ,0x8930 
-04c7 70890105 jam 5 ,0x8901 
-04c8 20600000 rtn 
+04c9 c6978000 rtnmark0 mark_ble_lr 
+04ca 70893024 jam 0x24 ,0x8930 
+04cb 70890105 jam 5 ,0x8901 
+04cc 20600000 rtn 
 
 p_set_lemode_1m_16m:
-04c9 58004189 setarg 0x4189 
-04ca 67f10907 store 2 ,0x8907 
-04cb 202004c5 branch p_set_lemode_1m 
+04cd 58004189 setarg 0x4189 
+04ce 67f10907 store 2 ,0x8907 
+04cf 202004c9 branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-04cc 58008312 setarg 0x8312 
-04cd 67f10907 store 2 ,0x8907 
-04ce 202004ba branch p_set_lemode_2m 
+04d0 58008312 setarg 0x8312 
+04d1 67f10907 store 2 ,0x8907 
+04d2 202004be branch p_set_lemode_2m 
 
 p_le_parse:
-04cf 6fe0c334 fetch 1 ,mem_le_packet_llid 
-04d0 c1000000 rtneq llid_reserved 
-04d1 c001b04a beq llid_le_ll ,le_parse_ll 
-04d2 202028e1 branch le_parse_l2cap 
+04d3 6fe0c334 fetch 1 ,mem_le_packet_llid 
+04d4 c1000000 rtneq llid_reserved 
+04d5 c001b04a beq llid_le_ll ,le_parse_ll 
+04d6 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-04d3 793f8030 set0 mark_ble_crc_fail ,mark 
-04d4 20202af6 branch le_init_adv + 1 
+04d7 793f8030 set0 mark_ble_crc_fail ,mark 
+04d8 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-04d5 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-04d6 c0553329 beq datatype_bind ,g24_bind_first_step 
-04d7 c02ab33a beq datatype_config ,g24_bind_second_step 
-04d8 c01104eb beq datatype_ok ,p_g24_bind_third_step 
-04d9 c07f84db beq datatype_attemp ,p_g24_data_attemp 
-04da 20600000 rtn 
+04d9 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+04da c0553329 beq datatype_bind ,g24_bind_first_step 
+04db c02ab33a beq datatype_config ,g24_bind_second_step 
+04dc c01104ef beq datatype_ok ,p_g24_bind_third_step 
+04dd c07f84df beq datatype_attemp ,p_g24_data_attemp 
+04de 20600000 rtn 
 
 p_g24_data_attemp:
-04db 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-04dc c00084df beq datatype_device1 ,p_g24_data_attemp_device1 
-04dd c00104e5 beq datatype_device2 ,p_g24_data_attemp_device2 
-04de 20600000 rtn 
+04df 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+04e0 c00084e3 beq datatype_device1 ,p_g24_data_attemp_device1 
+04e1 c00104e9 beq datatype_device2 ,p_g24_data_attemp_device2 
+04e2 20600000 rtn 
 
 p_g24_data_attemp_device1:
-04df 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-04e0 247a0000 nrtn blank 
-04e1 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-04e2 67e2462c store 4 ,mem_24g_transmitter_addr 
+04e3 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+04e4 247a0000 nrtn blank 
+04e5 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+04e6 67e2462c store 4 ,mem_24g_transmitter_addr 
 
 p_g24_store_device1_addr:
-04e3 67e24630 store 4 ,mem_24g_device1_addr 
-04e4 20600000 rtn 
+04e7 67e24630 store 4 ,mem_24g_device1_addr 
+04e8 20600000 rtn 
 
 p_g24_data_attemp_device2:
-04e5 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-04e6 247a0000 nrtn blank 
-04e7 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-04e8 67e2462c store 4 ,mem_24g_transmitter_addr 
+04e9 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+04ea 247a0000 nrtn blank 
+04eb 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+04ec 67e2462c store 4 ,mem_24g_transmitter_addr 
 
 p_g24_store_device2_addr:
-04e9 67e24634 store 4 ,mem_24g_device2_addr 
-04ea 20600000 rtn 
+04ed 67e24634 store 4 ,mem_24g_device2_addr 
+04ee 20600000 rtn 
 
 p_g24_bind_third_step:
-04eb 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-04ec 203a04f1 branch p_g24_bind_third_step_skip ,blank 
-04ed 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-04ee 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-04ef 98467c00 isub temp ,null 
-04f0 24628000 nrtn zero 
+04ef 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+04f0 203a04f5 branch p_g24_bind_third_step_skip ,blank 
+04f1 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+04f2 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+04f3 98467c00 isub temp ,null 
+04f4 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-04f1 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-04f2 c00084f5 beq datatype_device1 ,p_g24_bind_third_step_device1 
-04f3 c00104fc beq datatype_device2 ,p_g24_bind_third_step_device2 
-04f4 20600000 rtn 
+04f5 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+04f6 c00084f9 beq datatype_device1 ,p_g24_bind_third_step_device1 
+04f7 c0010500 beq datatype_device2 ,p_g24_bind_third_step_device2 
+04f8 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-04f5 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-04f6 247a0000 nrtn blank 
-04f7 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-04f8 c00104fa beq 2 ,p_g24_bind_dvc1_step_success 
-04f9 20600000 rtn 
+04f9 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+04fa 247a0000 nrtn blank 
+04fb 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+04fc c00104fe beq 2 ,p_g24_bind_dvc1_step_success 
+04fd 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-04fa 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-04fb 2020336b branch g24_bind_dvc1_step_success + 1 
+04fe 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+04ff 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-04fc 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-04fd 247a0000 nrtn blank 
-04fe 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-04ff c0800501 bne 0 ,p_g24_bind_dvc2_step_success 
-0500 20600000 rtn 
+0500 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+0501 247a0000 nrtn blank 
+0502 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0503 c0800505 bne 0 ,p_g24_bind_dvc2_step_success 
+0504 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-0501 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-0502 20403393 call g24_binding_dvc2_living 
-0503 20203378 branch g24_bind_dvc2_step_success + 1 
+0505 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+0506 20403393 call g24_binding_dvc2_living 
+0507 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-0504 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0505 c1000000 rtneq dongle_work 
-0506 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-0507 247a0000 nrtn blank 
-0508 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-0509 247a0000 nrtn blank 
-050a 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-050b 207a0000 rtn blank 
-050c 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-050d c1800000 rtnne 0 
-050e 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-050f c1800000 rtnne 0 
-0510 20203436 branch g24_mode_switch_bind_search + 9 
+0508 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0509 c1000000 rtneq dongle_work 
+050a 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+050b 247a0000 nrtn blank 
+050c 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+050d 247a0000 nrtn blank 
+050e 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+050f 207a0000 rtn blank 
+0510 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0511 c1800000 rtnne 0 
+0512 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0513 c1800000 rtnne 0 
+0514 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-0511 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0512 c1808000 rtnne dongle_bind 
-0513 20400515 call p_g24_bind_init 
-0514 2020346d branch g24_bind_mode_auto + 4 
+0515 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0516 c1808000 rtnne dongle_bind 
+0517 20400519 call p_g24_bind_init 
+0518 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-0515 6fe0c615 fetch 1 ,mem_24g_mode_init 
-0516 c3808000 rtnbit1 dongle_bind 
-0517 79207e01 set1 dongle_bind ,pdata 
-0518 67e0c615 store 1 ,mem_24g_mode_init 
-0519 58000000 setarg 0 
-051a 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-051b 20203307 branch g24_bind_init + 8 
+0519 6fe0c615 fetch 1 ,mem_24g_mode_init 
+051a c3808000 rtnbit1 dongle_bind 
+051b 79207e01 set1 dongle_bind ,pdata 
+051c 67e0c615 store 1 ,mem_24g_mode_init 
+051d 58000000 setarg 0 
+051e 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+051f 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-051c 70804300 jam 0 ,0x8043 
-051d 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-051e 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-051f 20407906 call usb_isr 
-0520 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-0521 207a0000 rtn blank 
-0522 7008f700 jam 0 ,mem_usb0_get_set_report 
-0523 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-0524 d84002a4 arg pc_set_report ,temp 
-0525 98467c00 isub temp ,null 
-0526 20228226 branch p_dongle_usb_data_received_analysis ,zero 
-0527 d84002a2 arg pc_set_report_prolotol ,temp 
-0528 98467c00 isub temp ,null 
-0529 24628000 nrtn zero 
-052a 20200226 branch p_dongle_usb_data_received_analysis 
+0520 70804300 jam 0 ,0x8043 
+0521 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+0522 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+0523 20407906 call usb_isr 
+0524 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+0525 207a0000 rtn blank 
+0526 7008f700 jam 0 ,mem_usb0_get_set_report 
+0527 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+0528 d84002a4 arg pc_set_report ,temp 
+0529 98467c00 isub temp ,null 
+052a 20228226 branch p_dongle_usb_data_received_analysis ,zero 
+052b d84002a2 arg pc_set_report_prolotol ,temp 
+052c 98467c00 isub temp ,null 
+052d 24628000 nrtn zero 
+052e 20200226 branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-052b 58000010 setarg 16 
-052c 202070c8 branch wdt_init_config 
+052f 58000010 setarg 16 
+0530 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-052d 204047c3 call dongle_default_init + 1 
-052e 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-052f 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-0530 704c1f00 jam 0 ,mem_usb_http_data_step 
-0531 7045ca01 jam on ,mem_24g_disable_fec1 
-0532 20403281 call g24_enable_1m 
-0533 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0534 c4000000 rtnbit0 dg_enable_new_revision 
-0535 7045ca01 jam on ,mem_24g_disable_fec1 
-0536 20203284 branch g24_enable_2m 
+0531 204047c3 call dongle_default_init + 1 
+0532 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+0533 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+0534 704c1f00 jam 0 ,mem_usb_http_data_step 
+0535 704c2000 jam 0 ,mem_usb_tx_data_flag 
+0536 7045ca01 jam on ,mem_24g_disable_fec1 
+0537 20403281 call g24_enable_1m 
+0538 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0539 c4000000 rtnbit0 dg_enable_new_revision 
+053a 7045ca01 jam on ,mem_24g_disable_fec1 
+053b 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_fec1:
-0537 7858fc00 disable user7 
-0538 280ffe2f isolate1 mark_ble_lr ,mark 
-0539 2040b16f call g24_lr_receive_pdu_len ,true 
-053a 2038b18a branch g24_lr_len_error ,user7 
-053b 2040317d call g24_receive_byte 
-053c 67e0c4f7 store 1 ,mem_24g_rxbuf 
-053d c5138542 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
-053e 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
-053f 6848c589 fetcht 1 ,mem_24g_data_type 
-0540 a8400e00 icompare bits_data ,temp 
-0541 2420b18c nbranch g24_type_error ,true 
+053c 7858fc00 disable user7 
+053d 280ffe2f isolate1 mark_ble_lr ,mark 
+053e 2040b16f call g24_lr_receive_pdu_len ,true 
+053f 2038b18a branch g24_lr_len_error ,user7 
+0540 2040317d call g24_receive_byte 
+0541 67e0c4f7 store 1 ,mem_24g_rxbuf 
+0542 c5138547 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
+0543 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
+0544 6848c589 fetcht 1 ,mem_24g_data_type 
+0545 a8400e00 icompare bits_data ,temp 
+0546 2420b18c nbranch g24_type_error ,true 
 
 p_g24_receive_skip:
-0542 2040317d call g24_receive_byte 
-0543 280ffe2f isolate1 mark_ble_lr ,mark 
-0544 2040b178 call g24_lr_receive_payload_len ,true 
-0545 e7e08005 istore 1 ,contw 
-0546 1fe90400 rshift3 pdata ,temp 
-0547 2feffe00 isolate1 0 ,pdata 
-0548 2040854f call p_g24_receive_payload_len_ext ,true 
-0549 18427e00 copy temp ,pdata 
-054a 1fe67c3f sub pdata ,0x3f ,null 
-054b 2421318e nbranch g24_len_over_error ,positive 
-054c 1fe27200 copy pdata ,loopcnt 
-054d 2022b154 branch g24rx_nopayload ,zero 
-054e 20203151 branch g24rx_loop 
+0547 2040317d call g24_receive_byte 
+0548 280ffe2f isolate1 mark_ble_lr ,mark 
+0549 2040b178 call g24_lr_receive_payload_len ,true 
+054a e7e08005 istore 1 ,contw 
+054b 1fe90400 rshift3 pdata ,temp 
+054c 2feffe00 isolate1 0 ,pdata 
+054d 20408554 call p_g24_receive_payload_len_ext ,true 
+054e 18427e00 copy temp ,pdata 
+054f 1fe67c3f sub pdata ,0x3f ,null 
+0550 2421318e nbranch g24_len_over_error ,positive 
+0551 1fe27200 copy pdata ,loopcnt 
+0552 2022b154 branch g24rx_nopayload ,zero 
+0553 20203151 branch g24rx_loop 
 
 p_g24_receive_payload_len_ext:
-054f 79200405 set1 5 ,temp 
-0550 20600000 rtn 
+0554 79200405 set1 5 ,temp 
+0555 20600000 rtn 
 
 p_g24_receive_skip_end:
-0551 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0552 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-0553 7837fc00 enable user3 
-0554 20000018 nop 24 
-0555 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0556 79207e00 set1 bit_ack_24g ,pdata 
-0557 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-0558 204033a5 call g24_ackpayload_prep 
-0559 204031e5 call g24_transmit_prep 
-055a 20203195 branch g24_transmit 
+0556 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0557 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+0558 7837fc00 enable user3 
+0559 20000018 nop 24 
+055a 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+055b 79207e00 set1 bit_ack_24g ,pdata 
+055c 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+055d 204033a5 call g24_ackpayload_prep 
+055e 204031e5 call g24_transmit_prep 
+055f 20203195 branch g24_transmit 
 
 p_g24_read_len_pid_crc:
-055b 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-055c 1fe90400 rshift3 pdata ,temp 
-055d 2feffe00 isolate1 0 ,pdata 
-055e 2040854f call p_g24_receive_payload_len_ext ,true 
-055f 18427e00 copy temp ,pdata 
-0560 67e0c57d store 1 ,mem_24g_rxdata_length 
-0561 1fe0fe01 increase 1 ,pdata 
-0562 d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
-0563 98c08c00 iadd contr ,contr 
-0564 efe18006 ifetch 3 ,contr 
-0565 67e1c580 store 3 ,mem_24g_sta_crc 
-0566 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0567 1fe37e00 rshift pdata ,pdata 
-0568 1fe17e03 and pdata ,0x03 ,pdata 
-0569 67e0c586 store 1 ,mem_24g_sta_pid 
-056a 20600000 rtn 
+0560 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+0561 1fe90400 rshift3 pdata ,temp 
+0562 2feffe00 isolate1 0 ,pdata 
+0563 20408554 call p_g24_receive_payload_len_ext ,true 
+0564 18427e00 copy temp ,pdata 
+0565 67e0c57d store 1 ,mem_24g_rxdata_length 
+0566 1fe0fe01 increase 1 ,pdata 
+0567 d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
+0568 98c08c00 iadd contr ,contr 
+0569 efe18006 ifetch 3 ,contr 
+056a 67e1c580 store 3 ,mem_24g_sta_crc 
+056b 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+056c 1fe37e00 rshift pdata ,pdata 
+056d 1fe17e03 and pdata ,0x03 ,pdata 
+056e 67e0c586 store 1 ,mem_24g_sta_pid 
+056f 20600000 rtn 
 
 p_g24_bind_data_process:
-056b 204033be call g24_rx_interrupt_clear 
-056c 20403119 call g24_receive_packet 
-056d 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-056e 20400572 call p_g24_bind_data_parse 
-056f 20400039 call p_g24_transmit_ack 
-0570 20400588 call p_g24_bind_device_status_check 
-0571 20203316 branch g24_bind_data_process + 7 
+0570 204033be call g24_rx_interrupt_clear 
+0571 20403119 call g24_receive_packet 
+0572 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+0573 20400577 call p_g24_bind_data_parse 
+0574 20400039 call p_g24_transmit_ack 
+0575 2040058d call p_g24_bind_device_status_check 
+0576 20203316 branch g24_bind_data_process + 7 
 
 p_g24_bind_data_parse:
-0572 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
-0573 d8c044f7 arg mem_24g_rxbuf ,contr 
-0574 d8a04a45 arg mem_24g_rxdata_temp_new ,contw 
-0575 20407c89 call memcpy8 
-0576 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-0577 c055057c beq datatype_bind ,p_g24_bind_first_step 
-0578 c02a857e beq datatype_config ,p_g24_bind_second_step 
-0579 c01104eb beq datatype_ok ,p_g24_bind_third_step 
-057a c07fb59b beq datatype_attemp ,g24_data_attemp 
-057b 20600000 rtn 
+0577 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
+0578 d8c044f7 arg mem_24g_rxbuf ,contr 
+0579 d8a04a45 arg mem_24g_rxdata_temp_new ,contw 
+057a 20407c89 call memcpy8 
+057b 6fe0ca47 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+057c c0550581 beq datatype_bind ,p_g24_bind_first_step 
+057d c02a8583 beq datatype_config ,p_g24_bind_second_step 
+057e c01104ef beq datatype_ok ,p_g24_bind_third_step 
+057f c07fb59b beq datatype_attemp ,g24_data_attemp 
+0580 20600000 rtn 
 
 p_g24_bind_first_step:
-057c 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-057d 2020332a branch g24_bind_first_step + 1 
+0581 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0582 2020332a branch g24_bind_first_step + 1 
 
 p_g24_bind_second_step:
-057e 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-057f 203a0584 branch p_g24_bind_second_step_skip ,blank 
-0580 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
-0581 684a44f1 fetcht 4 ,mem_24g_lap 
-0582 98467c00 isub temp ,null 
-0583 24628000 nrtn zero 
+0583 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+0584 203a0589 branch p_g24_bind_second_step_skip ,blank 
+0585 6fe24a49 fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0586 684a44f1 fetcht 4 ,mem_24g_lap 
+0587 98467c00 isub temp ,null 
+0588 24628000 nrtn zero 
 
 p_g24_bind_second_step_skip:
-0584 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0585 c000b344 beq datatype_device1 ,g24_bind_second_step_device1 
-0586 c0013351 beq datatype_device2 ,g24_bind_second_step_device2 
-0587 20600000 rtn 
+0589 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+058a c000b344 beq datatype_device1 ,g24_bind_second_step_device1 
+058b c0013351 beq datatype_device2 ,g24_bind_second_step_device2 
+058c 20600000 rtn 
 
 p_g24_bind_device_status_check:
-0588 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
-0589 207a0000 rtn blank 
+058d 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
+058e 207a0000 rtn blank 
 
 p_g24_bind_device_status:
-058a 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
-058b c000b38d beq datatype_device1 ,g24_binding_dvc1_living 
-058c c0013393 beq datatype_device2 ,g24_binding_dvc2_living 
-058d 20600000 rtn 
+058f 6fe0ca48 fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0590 c000b38d beq datatype_device1 ,g24_binding_dvc1_living 
+0591 c0013393 beq datatype_device2 ,g24_binding_dvc2_living 
+0592 20600000 rtn 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(revision 3419)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(working copy)
@@ -964,6 +964,8 @@
 
 p_dongle_usb_tx_http_data:
 	jam USB_EP1_KB_HTTP,mem_usb_ep1_data
+	arg mem_usb_kb_data,contw
+	call memset0_8
 	branch dongle_usb_tx_ep1_enable	
 
 p_dongle_g24_mouse_next:
@@ -1207,7 +1209,7 @@
 	call p_g24_http_over_pack_check
 p_g24_100ms_timer_init:
 	arg USB_TIMER_100MS,queue
-	setarg 8		//5ms
+	setarg 24		//10ms
 	branch timer_init
 
 p_g24_http_over_pack_check:
@@ -1234,138 +1236,136 @@
 	fetch 1,mem_usb_http_data_step
 	increase 1,pdata
 	store 1,mem_usb_http_data_step
+	
+	call p_usb_tx_http_data_check
+	fetch 1,mem_usb_tx_data_flag
+	rtn blank
+	jam 0,mem_usb_tx_data_flag
+	branch usb_tx_kb_normal_data	
+
+p_usb_tx_http_data_check:
+	fetch 1,mem_usb_http_data_step
+	beq 1,p_usb_tx_win_or_mac_check
+	beq 2,p_usb_tx_cmd_release
+	beq 3,p_usb_tx_ep1_data_enable
+	beq 4,p_usb_tx_ep1_data_enable
+	beq 5,p_usb_tx_ep1_data_enable
+	beq 20,p_usb_tx_data_h
+	beq 21,p_usb_tx_ep1_data_enable
+	beq 22,p_usb_tx_data_t
+	beq 23,p_usb_tx_ep1_data_enable
+	beq 24,p_usb_tx_data_t
+	beq 25,p_usb_tx_ep1_data_enable
+	beq 26,p_usb_tx_data_p
+	beq 27,p_usb_tx_ep1_data_enable
+	beq 28,p_usb_tx_data_s
+	beq 29,p_usb_tx_ep1_data_enable
+	beq 30,p_usb_tx_shift_data_set
+	beq 31,p_usb_tx_ep1_data_enable
+	beq 32,p_usb_tx_data_spec1
+	beq 33,p_usb_tx_ep1_data_enable
+	beq 34,p_usb_tx_data_spec1
+	beq 35,p_usb_tx_ep1_data_enable
+	beq 36,p_usb_tx_data_m
+	beq 37,p_usb_tx_ep1_data_enable
+	beq 38,p_usb_tx_data_o
+	beq 39,p_usb_tx_ep1_data_enable
+	beq 40,p_usb_tx_data_f
+	beq 41,p_usb_tx_ep1_data_enable
+	beq 42,p_usb_tx_data_i
+	beq 43,p_usb_tx_ep1_data_enable
+	beq 44,p_usb_tx_data_i
+	beq 45,p_usb_tx_ep1_data_enable
+	beq 46,p_usb_tx_data_spec2
+	beq 47,p_usb_tx_ep1_data_enable
+	beq 48,p_usb_tx_data_c
+	beq 49,p_usb_tx_ep1_data_enable
+	beq 50,p_usb_tx_data_o
+	beq 51,p_usb_tx_ep1_data_enable
+	beq 52,p_usb_tx_data_m
+	beq 53,p_usb_tx_ep1_data_enable
+	beq 54,p_usb_tx_data_spec1
+	beq 55,p_usb_tx_ep1_data_enable
+	beq 56,p_usb_tx_data_a
+	beq 57,p_usb_tx_ep1_data_enable
+	beq 58,p_usb_tx_data_i
+	beq 59,p_usb_tx_ep1_data_enable
+	beq 70,p_usb_tx_data_enter
+	beq 72,p_usb_tx_ep1_data_enable
+	beq 74,p_usb_tx_data_enter
+	beq 76,p_usb_tx_ep1_end
+	rtn
+
+p_usb_tx_win_or_mac_check:
 	fetch 1,mem_usb_tx_mac_enable
-	beq 0,p_usb_tx_win_http_data
-	beq 1,p_usb_tx_mac_http_data
+	beq 0,p_usb_tx_win_http_data		//win+r
+	beq 1,p_usb_tx_mac_http_data		//command+spaced
 	rtn
 
 p_usb_tx_win_http_data:
-	fetch 1,mem_usb_http_data_step
-	beq 1,p_usb_tx_win_http_step1			//send: win+r
-	beq 2,p_usb_tx_http_realse				//send: empty package
-	beq 22,p_usb_tx_win_http_step2		//send: shift+":"
-	beq 23,p_usb_tx_http_realse
-	beq 24,p_usb_tx_win_http_step3		//send: https
-	beq 25,p_usb_tx_http_realse			//send: empty package
-	beq 26,p_usb_tx_win_http_step4		//send: //mofi
-	beq 27,p_usb_tx_http_realse
-	beq 28,p_usb_tx_win_http_step5		//send: i.com/
-	beq 29,p_usb_tx_http_realse
-	beq 30,p_usb_tx_win_http_step6		//send: ai
-	beq 31,p_usb_tx_win_http_step7		//send enter
-	beq 32,p_usb_tx_http_end
+	fetch 3,mem_usb_win_cmd
+p_usb_kb_spec_data_store:
+	store 3,mem_usb_kb_data
+p_usb_tx_ep1_data_enable:
+	jam 1,mem_usb_tx_data_flag
 	rtn
 
 p_usb_tx_mac_http_data:
-	fetch 1,mem_usb_http_data_step
-	beq 1,p_usb_tx_mac_http_step1
-	beq 2,p_usb_tx_http_realse
-	beq 14,p_usb_tx_mac_http_step2
-	beq 15,p_usb_tx_http_realse
-	beq 16,p_usb_tx_mac_http_step3
-	beq 17,p_usb_tx_http_realse
-	beq 18,p_usb_tx_mac_http_step4
-	beq 19,p_usb_tx_http_realse
-	beq 20,p_usb_tx_mac_http_step5
-	beq 21,p_usb_tx_http_realse
-	beq 22,p_usb_tx_mac_http_step6
-	beq 23,p_usb_tx_http_realse
-	beq 24,p_usb_tx_mac_http_step7
-	beq 25,p_usb_tx_http_realse
-	beq 26,p_usb_tx_mac_http_step8
-	beq 27,p_usb_tx_http_realse
-	beq 28,p_usb_tx_mac_http_step9
-	beq 29,p_usb_tx_http_realse
-	beq 30,p_usb_tx_mac_http_step10
-	beq 31,p_usb_tx_http_realse
-	beq 32,p_usb_tx_mac_http_step11
-	beq 33,p_usb_tx_http_realse
-	beq 34,p_usb_tx_mac_http_step12
-	beq 35,p_usb_tx_http_realse
-	beq 36,p_usb_tx_mac_http_step13
-	beq 37,p_usb_tx_http_realse
-	beq 42,p_usb_tx_mac_http_step14
-	beq 43,p_usb_tx_http_end
-	rtn
-
-p_usb_tx_win_http_step1:
-	arg mem_usb_win_http_step1_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_win_http_step2:
-	arg mem_usb_win_http_step2_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_win_http_step3:
-	arg mem_usb_win_http_step3_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_win_http_step4:
-	arg mem_usb_win_http_step4_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_win_http_step5:
-	arg mem_usb_win_http_step5_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_win_http_step6:
-	arg mem_usb_win_http_step6_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_win_http_step7:
-	arg mem_usb_win_http_step7_data,contr
-	branch p_usb_tx_ep1_set
-
-p_usb_tx_mac_http_step1:
-	arg mem_usb_mac_http_step1_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_mac_http_step2:
-	arg mem_usb_mac_http_step2_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_mac_http_step3:
-	arg mem_usb_mac_http_step3_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_mac_http_step4:
-	arg mem_usb_mac_http_step4_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_mac_http_step5:
-	arg mem_usb_mac_http_step5_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_mac_http_step6:
-	arg mem_usb_mac_http_step6_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_mac_http_step7:
-	arg mem_usb_mac_http_step7_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_mac_http_step8:
-	arg mem_usb_mac_http_step8_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_mac_http_step9:
-	arg mem_usb_mac_http_step9_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_mac_http_step10:
-	arg mem_usb_mac_http_step10_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_mac_http_step11:
-	arg mem_usb_mac_http_step11_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_mac_http_step12:
-	arg mem_usb_mac_http_step12_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_mac_http_step13:
-	arg mem_usb_mac_http_step13_data,contr
-	branch p_usb_tx_ep1_set
-p_usb_tx_mac_http_step14:
-	arg mem_usb_mac_http_step14_data,contr
-	branch p_usb_tx_ep1_set
-
-p_usb_tx_http_realse:
-	arg mem_usb_http_step_empty_data,contr
-p_usb_tx_ep1_set:
-	arg 8,loopcnt
-	branch usb_tx_ep1
+	fetch 3,mem_usb_mac_cmd
+	branch p_usb_kb_spec_data_store
 
-p_usb_tx_http_end:
-	jam 0,mem_usb_http_data_step
-	branch p_usb_tx_http_realse
-	
+p_usb_tx_shift_data_set:		//":"
+	fetch 3,mem_usb_kb_shift
+	branch p_usb_kb_spec_data_store
+
+p_usb_tx_cmd_release:
+	jam 0x08,mem_usb_kb_data
+	branch p_usb_tx_ep1_data_enable
+
+p_usb_tx_data_h:
+	jam 0x0b,mem_usb_kb_data+3
+	branch p_usb_tx_ep1_data_enable
+p_usb_tx_data_t:
+	jam 0x17,mem_usb_kb_data+3
+	branch p_usb_tx_ep1_data_enable
+p_usb_tx_data_p:
+	jam 0x13,mem_usb_kb_data+3
+	branch p_usb_tx_ep1_data_enable
+p_usb_tx_data_s:
+	jam 0x16,mem_usb_kb_data+3
+	branch p_usb_tx_ep1_data_enable
+p_usb_tx_data_spec1:			//"//"
+	jam 0x38,mem_usb_kb_data+3
+	branch p_usb_tx_ep1_data_enable
+p_usb_tx_data_m:
+	jam 0x10,mem_usb_kb_data+3
+	branch p_usb_tx_ep1_data_enable
+p_usb_tx_data_o:
+	jam 0x12,mem_usb_kb_data+3
+	branch p_usb_tx_ep1_data_enable
+p_usb_tx_data_f:
+	jam 0x09,mem_usb_kb_data+3
+	branch p_usb_tx_ep1_data_enable
+p_usb_tx_data_i:
+	jam 0x0c,mem_usb_kb_data+3
+	branch p_usb_tx_ep1_data_enable
+p_usb_tx_data_spec2:			//"."
+	jam 0x37,mem_usb_kb_data+3
+	branch p_usb_tx_ep1_data_enable
+p_usb_tx_data_c:
+	jam 0x06,mem_usb_kb_data+3
+	branch p_usb_tx_ep1_data_enable
+p_usb_tx_data_a:
+	jam 0x04,mem_usb_kb_data+3
+	branch p_usb_tx_ep1_data_enable
+p_usb_tx_data_enter:
+	jam 0x28,mem_usb_kb_data+3
+	branch p_usb_tx_ep1_data_enable
 
+p_usb_tx_ep1_end:
+	jam 0,mem_usb_http_data_step
+	branch p_usb_tx_ep1_data_enable
 
-	
 
 p_usb_tx_data_ep2:
 	arg mem_usb_ep2_fifo,rega
@@ -1724,6 +1724,7 @@
 	fetch 1,mem_24g_pair_tx_power_init
 	store 1,mem_24g_pair_tx_power
 	jam 0,mem_usb_http_data_step
+	jam 0,mem_usb_tx_data_flag
 
 	jam ON,mem_24g_disable_fec1
 	call g24_enable_1M
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/sched/dongle.dat	(revision 3419)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/sched/dongle.dat	(working copy)
@@ -63,31 +63,9 @@
 #mem_rssi_noise_device2_buffer_ptr:mem_dg_rssi_noise_kb_buffer
 
 
-mem_usb_win_http_step1_data:08 00 15 00 00 00 00 00		#win+r
-mem_usb_win_http_step2_data:00 00 0b 17 17 13 16 00		#https
-mem_usb_win_http_step3_data:02 00 33 00 00 00 00 00		#shift+":"
-mem_usb_win_http_step4_data:00 00 38 38 10 12 09 0c		#//mofi
-mem_usb_win_http_step5_data:00 00 0c 37 06 12 10 38		#i.com/
-mem_usb_win_http_step6_data:00 00 04 0c 00 00 00 00		#ai
-mem_usb_win_http_step7_data:00 00 28 00 00 00 00 00		#enter
-
-mem_usb_mac_http_step1_data:08 00 2c 00 00 00 00 00		#command+space
-mem_usb_mac_http_step2_data:00 00 0b 17 00  00 00 00		#ht
-mem_usb_mac_http_step3_data:00 00 17 00 00 00 00 00		#t
-mem_usb_mac_http_step4_data:00 00 13 16 00 00 00 00		#ps
-mem_usb_mac_http_step5_data:02 00 33 00 00 00 00 00		#shift+":"
-mem_usb_mac_http_step6_data:00 00 38 00 00 00 00 00		#/
-mem_usb_mac_http_step7_data:00 00 38 00 00 00 00 00		#/
-mem_usb_mac_http_step8_data:00 00 10 12 00 00 00 00		#mo
-mem_usb_mac_http_step9_data:00 00 09 0c 00 00 00 00		#fi
-mem_usb_mac_http_step10_data:00 00 0c 37 00 00 00 00		#i.
-mem_usb_mac_http_step11_data:00 00 06 12 00 00 00 00		#co
-mem_usb_mac_http_step12_data:00 00 10 38 00 00 00 00		#m/
-mem_usb_mac_http_step13_data:00 00 04 0c 00 00 00 00		#ai
-mem_usb_mac_http_step14_data:00 00 28 00 00 00 00 00
-
-
-mem_usb_http_step_empty_data:00 00 00 00 00 00 00 00
+mem_usb_win_cmd:08 00 15 	#win+r
+mem_usb_mac_cmd:08 00 2c 	#command+space
+mem_usb_kb_shift:02 00 33	#shift
 
 mem_config_new:
 42 09 02 42 00 02 01 00 A0 32 
