Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(revision 4481)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/format/app_dongle.format	(working copy)
@@ -83,6 +83,7 @@
 1 mem_ms_b5_function_flag_temp
 1 mem_usb_delay_store_b4_flag_count
 1 mem_usb_delay_store_b5_flag_count
+1 mem_ms_key_function_flag_temp
 2 mem_otp_offset_b4_addr
 2 mem_otp_offset_b4_addr_end
 2 mem_otp_offset_b5_addr
@@ -103,6 +104,9 @@
 3 mem_usb_system_ctrl_release
 3 mem_usb_multkey_release
 
+1 mem_usb_normal_key_flag
+1 mem_usb_multikey_key_flag
+1 mem_usb_system_key_flag
 
 )
 
@@ -112,10 +116,28 @@
 0xff LONG_PRESS
 0xee LONG_RELEASE
 
-0x01 B5_DEFAULT
-0x02 B4_DEFAULT
-0x03 B4_BIT
-0x04 B5_BIT
+0x01 B4_DEFAULT
+0x02 B5_DEFAULT
+0x03 B5_BIT
+0x04 B4_BIT
+)
+
+(
+//b4 or b5 fuction list
+0x01 FORWORD
+0x02 BACKWORD
+0x03 ALT_A
+0x04 BOSS
+0x05 VOL_ADD
+0x06 VOL_DOWN
+0x07 PC_SLEEP
+0x08 LIGHT_ADD
+0x09 LIGHT_DOWN
+0x0a POWERDOWN
+0x0b PLAY
+0x0c PALY_FORWORD
+0x0d PLAY_NEXT
+0x0e TASK_WINDOWS
 )
 
 (
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(revision 4481)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/eeprom.dat	(working copy)
@@ -2,8 +2,8 @@
 02
 aa
 55
-2a
-15
+f6
+16
 c2
 84
 00
@@ -23,7 +23,7 @@
 c0
 0a
 04
-5a
+cd
 c0
 0a
 81
@@ -43,7 +43,7 @@
 c0
 1b
 85
-36
+a9
 c0
 1c
 00
@@ -54,8 +54,8 @@
 dc
 c0
 1e
-84
-b4
+85
+27
 c0
 1f
 00
@@ -67,11 +67,11 @@
 c0
 6d
 04
-2b
+9e
 c0
 6e
 04
-3b
+ae
 c0
 7f
 01
@@ -103,31 +103,31 @@
 c0
 1c
 84
-76
+e9
 c0
 26
 84
-7a
+ed
 c0
 37
 85
-40
+b3
 c0
 41
 04
-7c
+ef
 c0
 42
 02
 5a
 c0
 44
-04
-9c
+05
+0f
 c0
 45
-04
-a9
+05
+1c
 c1
 7f
 80
@@ -243,7 +243,7 @@
 20
 20
 03
-21
+94
 6f
 e0
 c6
@@ -295,7 +295,7 @@
 20
 20
 03
-2a
+9d
 6f
 e0
 c6
@@ -347,7 +347,7 @@
 20
 20
 03
-21
+94
 6f
 e0
 c6
@@ -399,7 +399,7 @@
 20
 20
 03
-21
+94
 20
 40
 75
@@ -630,12 +630,12 @@
 6e
 20
 40
-03
-fd
+04
+70
 20
 40
 04
-28
+9b
 20
 40
 00
@@ -651,7 +651,7 @@
 20
 20
 04
-2a
+9d
 20
 75
 80
@@ -1467,7 +1467,7 @@
 20
 20
 03
-21
+94
 70
 48
 9c
@@ -1507,7 +1507,7 @@
 20
 20
 03
-21
+94
 70
 48
 55
@@ -1543,7 +1543,7 @@
 20
 20
 03
-21
+94
 70
 48
 dd
@@ -1583,7 +1583,7 @@
 20
 20
 03
-21
+94
 70
 48
 55
@@ -1611,7 +1611,7 @@
 20
 20
 03
-21
+94
 70
 49
 18
@@ -1639,7 +1639,7 @@
 20
 20
 03
-21
+94
 6f
 e0
 c8
@@ -1687,7 +1687,7 @@
 20
 20
 03
-21
+94
 70
 48
 14
@@ -1719,11 +1719,11 @@
 20
 20
 03
-21
+94
 6f
 e0
 88
-79
+7a
 67
 e0
 c9
@@ -1739,11 +1739,11 @@
 6f
 e0
 88
-79
+7a
 67
 e0
 c9
-bf
+c2
 70
 49
 c6
@@ -2279,7 +2279,7 @@
 da
 20
 49
-59
+61
 20
 40
 7d
@@ -2291,7 +2291,7 @@
 20
 20
 48
-37
+48
 da
 20
 49
@@ -2307,15 +2307,15 @@
 20
 20
 48
-48
+37
 20
 40
 02
-3c
+38
 20
 40
 02
-38
+3c
 6f
 e0
 89
@@ -2367,7 +2367,7 @@
 20
 40
 03
-33
+a6
 6f
 e0
 c9
@@ -2378,8 +2378,8 @@
 52
 20
 20
-03
-c0
+04
+33
 70
 09
 14
@@ -2495,7 +2495,7 @@
 20
 20
 03
-2a
+9d
 6f
 e0
 c5
@@ -2591,7 +2591,7 @@
 20
 20
 03
-2a
+9d
 d8
 a0
 09
@@ -2655,7 +2655,7 @@
 20
 20
 03
-21
+94
 d8
 a0
 09
@@ -2719,7 +2719,7 @@
 20
 20
 03
-21
+94
 6f
 e0
 c5
@@ -2730,20 +2730,20 @@
 6b
 c2
 81
-82
-e8
+83
+5b
 c2
 82
-82
-f0
+83
+63
 c2
 83
 03
-0a
+7d
 c2
 83
 83
-1b
+8e
 20
 20
 02
@@ -2802,20 +2802,20 @@
 6b
 c2
 81
-82
-e8
+83
+5b
 c2
 82
-82
-f0
+83
+63
 c2
 83
 03
-0a
+7d
 c2
 83
 83
-1b
+8e
 20
 60
 00
@@ -2907,7 +2907,7 @@
 20
 20
 03
-21
+94
 6f
 e0
 89
@@ -2927,7 +2927,7 @@
 1f
 e6
 7c
-02
+01
 24
 42
 82
@@ -2939,11 +2939,11 @@
 1f
 e6
 7c
-01
+02
 24
 42
-82
-e4
+83
+50
 20
 60
 00
@@ -2955,3101 +2955,2990 @@
 79
 3f
 fe
-03
-67
-e0
-89
-14
+04
 20
-60
-00
-00
+40
+03
+11
 6f
 e0
-89
-14
-79
-3f
+c9
+6a
+2f
+ef
 fe
 04
-67
-e0
-89
-14
+20
+40
+82
+fd
+24
+40
+82
+e8
 20
 60
 00
 00
 6f
 e0
-c5
-eb
-68
-48
-c8
-0e
-98
-46
-7c
-00
-20
-62
-80
-00
-67
-e0
-c8
-0e
-6f
-e0
-c8
-0e
-c1
-ff
-80
-00
-20
-20
-01
-8b
-6f
-e1
-45
-eb
-67
-e1
-48
-05
+c9
+fa
+24
+5a
+02
+ef
 6f
 e0
-c8
-05
-68
-48
-c8
-12
-98
-46
-7c
-00
-24
-42
-82
+c9
 fb
+24
+5a
+02
+f3
 6f
 e0
-c8
-06
-68
-48
-c8
-13
-98
-46
-7c
-00
+c9
+fc
 24
-42
-82
-fe
+5a
+02
+f8
 20
 60
 00
 00
-6f
-e0
-c8
-05
-67
-e0
-c8
-12
+70
+49
+fa
+00
+d8
+a0
+09
+23
 20
+40
+7c
+99
 20
-01
+20
+03
+1a
+70
+49
+fb
+00
+d8
+a0
+09
+33
+20
+40
+7c
+99
+6f
+e1
+c9
+f7
+20
+20
+03
+28
+70
+49
+fc
+00
+d8
+a0
+09
+43
+20
+40
+7c
+99
 6f
+e1
+c9
+f4
+20
+20
+03
+4c
 6f
 e0
-c8
-06
+c9
+bf
 67
 e0
-c8
+c9
+c7
+6f
+e0
+c9
+c7
+c0
+00
+83
+0f
+c0
+01
+03
 13
 c0
-2a
+01
 83
+16
+c0
+02
 03
+20
 c0
-55
+02
+83
+24
+c0
+03
+03
+2c
+c0
+03
+83
+1c
+c0
+04
+03
+30
+c0
+04
+83
+34
+c0
+05
+03
+48
+c0
+05
+83
+38
+c0
+06
 03
+3c
+c0
 06
+83
+40
+c0
+07
+03
+44
 20
 60
 00
 00
 6f
 e0
-c9
-1d
-79
-3f
-fe
-05
-20
-20
-03
-08
-6f
-e0
-c9
-1d
+89
+14
 79
 20
 7e
-05
+03
 67
 e0
-c9
-1d
-20
+89
+14
 20
-01
-92
+60
+00
+00
 6f
+e0
+89
+14
+79
 20
-c5
-7d
-1f
+7e
+04
 20
-f3
-ff
-da
 20
-45
-eb
-da
-40
-47
-ff
+03
+11
+d8
+a0
+09
+23
 20
 40
-7d
-64
-20
-62
-80
-00
-6f
-e3
-45
-eb
-67
-e3
-47
-ff
-6f
-e1
-45
-f4
-67
-e1
-48
-08
-6f
-e1
-45
-f1
-67
-e1
-48
-05
+7c
+99
 6f
 e1
-45
-f6
+c9
+d0
+70
+49
+fa
+01
 67
 e1
-48
-0a
+89
+23
+20
 20
-40
 02
-f2
+85
+d8
+a0
+09
+23
+20
+40
+7c
+99
 6f
-e0
-c5
-f3
+e1
+c9
+dc
 20
 20
 03
-1c
-6f
-e0
-c5
-eb
-68
-48
-c8
-07
-98
-46
-7c
-00
+19
+d8
+a0
+09
+23
 20
-62
-80
-00
-67
-e0
-c8
-07
+40
+7c
+99
+6f
+e1
+c9
+d3
 20
 20
-01
-82
+03
+19
+d8
+a0
+09
+33
+20
+40
+7c
+99
 6f
-e0
+e1
+c9
+d6
+70
+49
+fb
+01
+67
+e1
 89
-0e
+34
+70
+09
+33
+03
+70
+09
+0c
+21
 20
-7a
-00
-00
-da
 20
-49
-59
+03
+94
+d8
+a0
+09
+33
 20
 40
-7d
-a5
-24
-7a
-00
-00
-6f
-e0
-89
-0c
-67
-e0
-86
+7c
+99
 6f
-da
+e1
+c9
+d9
 20
-49
-59
 20
+03
+27
+d8
+a0
+09
+33
 20
-7d
-8b
+40
+7c
+99
 6f
-e0
-89
-0e
+e1
+c9
+df
 20
-7a
-00
-00
-da
 20
-49
-61
+03
+27
+d8
+a0
+09
+33
 20
 40
-7d
-a5
-24
-7a
-00
-00
+7c
+99
 6f
-e0
+e1
 c9
-61
-67
-e0
-86
+e2
+20
+20
+03
+27
+d8
+a0
+09
+33
+20
+40
+7c
+99
 6f
-da
+e1
+c9
+e8
 20
-49
-61
 20
+03
+27
+d8
+a0
+09
+33
+20
+40
+7c
+99
+6f
+e1
+c9
+eb
 20
-7d
-8b
-da
 20
-49
-61
+03
+27
+d8
+a0
+09
+33
 20
 40
-7d
-a3
+7c
+99
+6f
+e1
+c9
+ee
 20
-7a
-00
-00
+20
+03
+27
+d8
+a0
+09
+33
+20
+40
+7c
+99
 6f
-f0
-8c
-25
-1f
 e1
-7e
-0f
-24
-7a
-00
-00
+c9
+f1
+20
+20
+03
+27
+d8
+a0
+09
+43
+20
+40
+7c
+99
 6f
-e0
+e1
+c9
+e5
+70
+49
+fc
+01
+67
+e1
 89
-0d
-c4
-00
-80
-00
+44
+70
+09
+43
+02
+70
+09
+0c
+22
+20
+20
+03
+94
 6f
 e0
 89
-0d
+14
 79
 3f
 fe
-01
-67
-e0
-89
-0d
-da
+03
 20
-49
-61
+40
+03
+11
+6f
+e0
+c9
+6a
+2f
+ef
+fe
+03
 20
 40
-7d
-97
+83
+58
+24
+40
+82
+e8
 20
-7a
+60
 00
 00
-c0
-08
-7c
-28
-c0
-08
-83
-44
+6f
+e0
+c9
+c2
+67
+e0
+c9
+c7
 20
 20
-23
-5a
+02
+ff
 6f
 e0
-c9
+c5
+eb
+68
+48
+c8
+0e
+98
+46
 7c
-c0
-00
-03
-50
-c0
 00
-83
-52
-c0
-01
-03
-60
-c0
-01
-83
-64
-c0
-02
-03
-74
-c0
-02
-83
-7b
-c0
-03
-03
-6a
-c0
-03
-83
-6e
-c0
-04
-03
-70
-c0
-04
-83
-72
 20
-60
+62
+80
 00
+67
+e0
+c8
+0e
+6f
+e0
+c8
+0e
+c1
+ff
+80
 00
-70
-49
-7c
-01
 20
 20
-48
-32
-df
-e0
-49
-82
+01
+8b
+6f
+e1
+45
+eb
 67
 e1
-49
-7f
+48
+05
 6f
 e0
-88
-fa
-c0
+c8
+05
+68
+48
+c8
+12
+98
+46
+7c
 00
-03
-58
-c0
+24
+42
+83
+6e
+6f
+e0
+c8
+06
+68
+48
+c8
+13
+98
+46
+7c
 00
+24
+42
 83
-5c
+71
 20
 60
 00
 00
-70
-49
-7c
-02
 6f
-e1
-c9
-72
+e0
+c8
+05
 67
-e1
-89
-23
+e0
+c8
+12
 20
 20
-7c
-28
-70
-49
-7c
-02
+01
 6f
-e1
-c9
-75
+6f
+e0
+c8
+06
 67
-e1
-89
-23
+e0
+c8
+13
+c0
+2a
+83
+76
+c0
+55
+03
+79
+20
+60
+00
+00
+6f
+e0
+c9
+1d
+79
+3f
+fe
+05
 20
 20
-7c
-28
-70
-49
-7c
 03
+7b
 6f
 e0
 c9
-72
+1d
+79
+20
+7e
+05
 67
 e0
-89
-23
+c9
+1d
 20
 20
-7c
-28
-70
-49
-7c
-04
-d8
-a0
-09
-23
-df
+01
+92
+6f
 20
-00
-08
+c5
+7d
+1f
+20
+f3
+ff
+da
 20
+45
+eb
+da
 40
-7c
-a3
-70
-49
-7e
-00
+47
+ff
 20
+40
+7d
+64
 20
-7c
-28
-70
-49
-7c
-07
+62
+80
+00
 6f
-e1
-c9
-78
+e3
+45
+eb
 67
+e3
+47
+ff
+6f
 e1
-89
-23
-20
-20
-7c
-28
-70
-49
-7c
+45
+f4
+67
+e1
+48
 08
+6f
+e1
+45
+f1
+67
+e1
+48
+05
+6f
+e1
+45
+f6
+67
+e1
+48
+0a
 20
-20
+40
 03
 65
-70
-49
-7c
-09
+6f
+e0
+c5
+f3
 20
 20
 03
-6b
-70
-49
+8f
+6f
+e0
+c5
+eb
+68
+48
+c8
+07
+98
+46
 7c
 00
 20
-20
-03
-65
-6f
-e0
-c9
-7b
-1f
+62
+80
+00
+67
 e0
-fe
+c8
+07
+20
+20
 01
-67
+82
+6f
 e0
-c9
-7b
-c1
-87
-80
+89
+0e
+20
+7a
 00
-70
-49
-7b
 00
-70
+da
+20
 49
-7c
-05
+59
 20
-60
+40
+7d
+a5
+24
+7a
 00
 00
 6f
 e0
-c9
-7e
-c0
-00
-83
-65
-c0
-00
-03
-81
+89
+0c
+67
+e0
+86
+6f
+da
 20
-60
+49
+59
+20
+20
+7d
+8b
+6f
+e0
+89
+0e
+20
+7a
 00
 00
-70
+da
+20
 49
-7c
-06
+61
 20
-60
+40
+7d
+a5
+24
+7a
 00
 00
-d8
-40
-49
-82
 6f
 e0
-c9
-81
-98
-40
-84
-00
+89
+0b
+67
+e0
+86
 6f
-e1
+da
+20
 49
-7f
-98
-46
-7c
-00
+61
 20
-22
-83
-7f
 20
-40
-03
-91
+7d
+8b
+da
+20
+49
+61
 20
 40
-03
-b3
-6f
-e0
-c9
 7d
-67
-e0
-89
-23
-62
+a3
 20
-89
-25
+7a
+00
+00
 6f
-e1
-49
-7f
+f0
+8c
+25
 1f
+e1
+7e
+0f
+24
+7a
+00
+00
+6f
+e0
+89
+0d
+c4
+00
+80
+00
+6f
 e0
+89
+0d
+79
+3f
 fe
 01
 67
-e1
-49
-7f
-70
+e0
+89
+0d
+da
+20
 49
-7e
-01
+61
 20
+40
+7d
+97
 20
+7a
+00
+00
+c0
+08
 7c
 28
-68
-49
-49
-7f
-ef
-e0
-80
-02
-1f
-e6
-7c
-7a
-24
-21
-03
-98
-da
-40
-00
-61
-9a
-46
-22
-00
+c0
+08
+83
+b7
 20
-21
-03
-af
-ef
+20
+23
+5a
+6f
 e0
-80
-02
-1f
-e6
+c9
 7c
-39
-24
-21
-03
-9e
-da
-40
+c0
 00
-30
-9a
-46
-22
+03
+c3
+c0
 00
-20
-21
+83
+c5
+c0
+01
 03
-b1
-1f
-e6
-7c
-3a
-20
-22
+d3
+c0
+01
 83
-a7
-1f
-e6
-7c
-2f
-20
-22
+d7
+c0
+02
+03
+e7
+c0
+02
 83
-a9
-1f
-e6
-7c
-2e
-20
-22
+ee
+c0
+03
+03
+dd
+c0
+03
 83
-ab
-1f
-e6
-7c
-2d
-20
-22
+e1
+c0
+04
+03
+e3
+c0
+04
 83
-ad
-20
-60
-00
-00
-da
-20
-00
-33
-20
-60
-00
-00
-da
-20
-00
-38
-20
-60
-00
-00
-da
-20
-00
-37
+e5
 20
 60
 00
 00
-da
+70
+49
+7c
+01
 20
-00
-2d
 20
-60
+48
+32
+df
+e0
+49
+82
+67
+e1
+49
+7f
+6f
+e0
+88
+fa
+c0
 00
+03
+cb
+c0
 00
-1a
-20
-a2
-04
+83
+cf
 20
 60
 00
 00
-1a
+70
+49
+7c
+02
+6f
+e1
+c9
+72
+67
+e1
+89
+23
 20
-a2
-27
 20
-60
-00
-00
+7c
+28
 70
 49
-7d
-00
+7c
+02
 6f
 e1
+c9
+75
+67
+e1
+89
+23
+20
+20
+7c
+28
+70
 49
-7f
-ef
+7c
+03
+6f
 e0
-80
-3f
-d8
-c0
-49
-aa
-68
-48
 c9
-a9
-18
-42
 72
-00
-e8
-40
-80
-06
-98
-46
-7c
-00
+67
+e0
+89
+23
 20
-22
-83
-be
-c2
-00
-03
-b9
 20
-60
-00
-00
+7c
+28
 70
 49
-7d
-02
+7c
+04
+d8
+a0
+09
+23
+df
 20
-60
 00
-00
-da
-20
-49
-59
+08
 20
 40
-7d
+7c
 a3
-20
-7a
-00
+70
+49
+7e
 00
+20
+20
+7c
+28
+70
+49
+7c
+07
 6f
-f0
-8c
-25
-1f
 e1
-7e
-0f
-24
-7a
-00
-00
-6f
-e0
-89
-0d
-c4
-01
-00
-00
-6f
-e0
-89
-0d
-79
-3f
-fe
-02
+c9
+78
 67
-e0
+e1
 89
-0d
-da
+23
+20
 20
+7c
+28
+70
 49
-59
+7c
+08
 20
-40
-7d
-97
 20
-7a
-00
-00
-c0
-10
+03
+d8
+70
+49
 7c
 09
-c0
-12
-03
-e8
-c0
-13
-03
-e0
-c0
-14
-83
-e0
-c0
-11
-83
-e0
-c0
-18
+20
+20
 03
-f6
-c0
-12
-83
-ef
-c0
-10
-fc
-24
-c0
-11
+de
+70
+49
 7c
-2c
-c0
-13
-83
-d9
+00
 20
 20
-23
-5a
+03
+d8
 6f
 e0
-c8
-14
-20
-7a
-00
-00
+c9
+7b
 1f
-e2
-72
+e0
+fe
+01
+67
+e0
+c9
+7b
+c1
+87
+80
 00
-d8
-c0
-48
-15
-20
-40
+70
+49
 7b
-db
-d8
-a0
-48
-14
-20
-20
-03
-e6
-6f
-e0
-c8
-55
+00
+70
+49
+7c
+05
 20
-7a
+60
 00
 00
-1f
-e2
-72
+6f
+e0
+c9
+7e
+c0
 00
+83
 d8
 c0
-48
-56
-20
-40
-7b
-db
-d8
-a0
-48
-55
-df
-20
 00
-41
-20
+03
+f4
 20
+60
+00
+00
+70
+49
 7c
-a1
-6f
-e0
-c8
-96
+06
 20
-7a
-00
+60
 00
-1f
-e2
-72
 00
 d8
-c0
-48
-97
-20
 40
-7b
-db
-d8
-a0
-48
-96
-20
-20
-03
-e6
+49
+82
 6f
 e0
-c8
-d7
-20
-7a
-00
+c9
+81
+98
+40
+84
 00
-1f
-e2
-72
+6f
+e1
+49
+7f
+98
+46
+7c
 00
-d8
-c0
-48
-d8
 20
-40
-7b
-db
-d8
-a0
-48
-d7
+22
+83
+f2
 20
+40
+04
+04
 20
-03
-e6
+40
+04
+26
 6f
 e0
 c9
-18
-20
-7a
-00
-00
+7d
+67
+e0
+89
+23
+62
+20
+89
+25
+6f
+e1
+49
+7f
 1f
-e2
-72
-00
-d8
-c0
+e0
+fe
+01
+67
+e1
 49
-19
-20
-40
-7b
-db
-d8
-a0
+7f
+70
 49
-18
-20
+7e
+01
 20
-03
-e6
 20
-75
+7c
+28
+68
+49
+49
+7f
+ef
+e0
 80
-00
-20
-40
+02
+1f
+e6
+7c
+7a
+24
 21
-60
-d8
+04
+0b
+da
 40
 00
-27
+61
+9a
+46
+22
+00
 20
-40
 21
-6f
-20
-40
+04
+22
+ef
+e0
+80
+02
+1f
+e6
+7c
+39
+24
 21
-a6
-70
-8a
-25
-7f
-70
-8a
-30
-1a
-70
-8a
-31
-78
-70
-8a
-8f
-b2
-70
-8a
-c2
-00
-70
-8a
-c3
+04
+11
+da
+40
 00
-d8
-e0
+30
+9a
+46
+22
 00
-06
 20
-40
+21
 04
+24
+1f
+e6
+7c
+3a
+20
+22
+84
 1a
-2a
+1f
+e6
+7c
 2f
-fe
-0d
 20
-40
-21
-1d
-2a
-4f
-fe
-0d
+22
+84
+1c
+1f
+e6
+7c
+2e
 20
-40
-21
+22
+84
 1e
-d8
-e0
-00
-05
+1f
+e6
+7c
+2d
 20
-40
-21
-1c
+22
+84
 20
-40
-21
-1e
 20
-40
-04
-1a
-d8
-a0
-8a
-c2
-1a
-31
-fe
+60
 00
-20
-40
-21
-17
-1a
-51
-fe
 00
+da
 20
-40
-21
-17
-18
-e0
-8f
-ff
-20
-21
-04
-0f
-20
-20
-21
-4f
-20
-00
 00
-3c
-58
+33
+20
+60
 00
-0f
 00
-67
-f1
-09
-82
-58
+da
+20
 00
-0f
-f0
-67
-f1
-09
-84
-70
-89
-81
-09
-70
-89
-81
-03
-70
-89
-80
-06
+38
 20
+60
 00
 00
-3c
 da
 20
 00
+37
+20
+60
+00
 00
 da
-40
-00
+20
 00
-df
+2d
 20
+60
 00
-10
-d8
-c0
-0f
 00
+1a
 20
+a2
+04
 20
-21
-2d
-20
-75
-80
+60
 00
+00
+1a
 20
-20
-22
-72
+a2
+27
 20
 60
 00
 00
-20
-75
-80
-00
 70
-8a
-07
-77
-70
-8a
-08
-c9
-70
-8a
-0b
-01
+49
+7d
+00
 6f
+e1
+49
+7f
+ef
 e0
-c4
-09
-67
-f0
 80
-cd
-20
+3f
+d8
+c0
+49
+aa
+68
+48
+c9
+a9
+18
+42
+72
 00
-0b
-b8
-20
-40
-04
-53
-70
-8a
-08
-c1
-6a
+e8
 40
-c4
-19
-df
+80
+06
+98
+46
+7c
+00
 20
+22
+84
+31
+c2
 00
-08
+04
+2c
 20
-40
-6f
-58
-6f
-e0
-c4
-19
-67
-e0
-c4
-33
-62
-40
-c4
-19
+60
+00
+00
+70
+49
+7d
+02
 20
 60
 00
 00
+da
 20
-40
-04
 49
-6f
-f0
-8a
-09
-79
-3f
-fe
-07
-67
-f0
-8a
-09
-70
-8a
-07
-77
-70
-8a
-08
-c1
-70
-8a
-0b
-01
+59
 20
 40
-6f
-90
-6f
-e0
-c4
-09
-67
-f0
-80
-cd
+7d
+a3
 20
+7a
 00
-0b
-b8
-20
-40
-04
-53
-70
-80
-cd
 00
-20
-20
-6f
-a1
 6f
 f0
-80
-cc
-79
-20
+8c
+25
+1f
+e1
 7e
-01
-67
-f0
-80
-cc
-6a
-40
-c4
-19
-6f
-e0
-c4
-33
-67
-e0
-c4
-19
-df
-20
+0f
+24
+7a
+00
 00
-08
-20
-40
 6f
-67
-62
-40
+e0
+89
+0d
 c4
-19
-20
-60
+01
 00
 00
-70
-80
-cc
-03
 6f
-f0
-81
-29
-c3
+e0
+89
+0d
+79
+3f
+fe
 02
-84
-54
-68
-59
-01
-64
-60
+67
+e0
+89
+0d
+da
+20
 49
-44
-0a
-70
-80
-cc
-00
+59
 20
-60
+40
+7d
+97
+20
+7a
 00
 00
-70
-8a
-82
-11
-70
-8a
-8d
-12
-70
-8a
-8e
-0a
-6f
-e0
-c0
-99
 c0
-08
-04
-73
-58
-00
-57
-62
-67
-f1
+10
+7c
 09
-07
-70
-89
-01
-03
-70
-89
-30
-03
-c6
-16
-80
-00
-70
-89
-01
-01
-70
-8a
-82
-07
-70
-8a
-8d
-44
-70
-8a
-8e
-0a
-6f
-e0
 c0
-99
+12
+04
+5b
 c0
-08
+13
 04
-70
-58
-00
-2b
-b1
-67
-f1
-09
-07
-c6
-97
-80
-00
-70
-89
-30
+53
+c0
+14
+84
+53
+c0
+11
+84
+53
+c0
+18
+04
+69
+c0
+12
+84
+62
+c0
+10
+fc
 24
-70
-89
-01
-05
+c0
+11
+7c
+2c
+c0
+13
+84
+4c
 20
-60
+20
+23
+5a
+6f
+e0
+c8
+14
+20
+7a
 00
 00
-58
+1f
+e2
+72
 00
-41
-89
-67
-f1
-09
-07
-20
+d8
+c0
+48
+15
 20
-04
-6c
-58
-00
-83
-12
-67
-f1
-09
-07
+40
+7b
+db
+d8
+a0
+48
+14
 20
 20
 04
-61
+59
 6f
 e0
-c3
-34
-c1
+c8
+55
+20
+7a
 00
 00
+1f
+e2
+72
 00
+d8
 c0
-01
-b0
-4a
+48
+56
 20
+40
+7b
+db
+d8
+a0
+48
+55
+df
 20
-28
-e1
-79
-3f
-80
-30
+00
+41
 20
 20
-2a
-f6
+7c
+a1
 6f
 e0
-c5
-ea
-c0
-55
-33
-29
-c0
-2a
-b3
-3a
-c0
-11
-04
-82
-c0
-7f
-b5
-9b
+c8
+96
 20
-60
+7a
 00
 00
-6f
-e0
-c5
-ae
-20
-3a
-04
-88
-6f
+1f
 e2
-45
-ec
-68
-4a
-46
-2c
-98
-46
-7c
-00
-24
-62
-80
-00
-6f
-e0
-c5
-eb
-c0
+72
 00
-84
-8c
+d8
 c0
-01
-04
-94
+48
+97
 20
-60
-00
-00
+40
+7b
+db
+d8
+a0
+48
+96
+20
+20
+04
+59
 6f
 e0
-c5
-de
-24
+c8
+d7
+20
 7a
 00
 00
-6f
-e0
-c5
-d3
-c0
-01
-04
-91
-20
-60
-00
+1f
+e2
+72
 00
-70
-45
-de
-01
+d8
+c0
+48
+d8
 20
 40
-33
-8d
+7b
+db
+d8
+a0
+48
+d7
 20
 20
-33
-6b
+04
+59
 6f
 e0
-c5
-df
-24
+c9
+18
+20
 7a
 00
 00
-6f
-e0
-c5
-d4
-c0
-80
-04
-99
-20
-60
-00
+1f
+e2
+72
 00
-70
-45
-df
-01
+d8
+c0
+49
+19
 20
 40
-33
-93
+7b
+db
+d8
+a0
+49
+18
 20
 20
-33
-78
-6f
-e0
-c6
-16
-c1
-00
-00
-00
-6f
-e0
-c6
-2a
-24
-7a
-00
-00
-6f
-e0
-c6
-28
-24
-7a
-00
-00
-6f
-e0
-c6
-24
+04
+59
 20
-7a
-00
-00
-6f
-e0
-c5
-d3
-c1
+75
 80
 00
+20
+40
+21
+60
+d8
+40
 00
+27
+20
+40
+21
 6f
-e0
-c5
-d4
-c1
-80
+20
+40
+21
+a6
+70
+8a
+25
+7f
+70
+8a
+30
+1a
+70
+8a
+31
+78
+70
+8a
+8f
+b2
+70
+8a
+c2
 00
+70
+8a
+c3
 00
-20
-20
-34
-36
-6f
+d8
 e0
-c6
-16
-c1
-80
-80
 00
+06
 20
 40
 04
-ad
-20
+8d
+2a
+2f
+fe
+0d
 20
-34
-6d
-6f
-e0
-c6
-15
-c3
-80
-80
-00
-79
+40
+21
+1d
+2a
+4f
+fe
+0d
 20
-7e
-01
-67
+40
+21
+1e
+d8
 e0
-c6
-15
-58
-00
-00
 00
-67
-e1
-c5
-d3
-20
+05
 20
-33
-07
+40
+21
+1c
 20
 40
-04
-c1
+21
+1e
 20
 40
 04
-c3
-6f
-e0
-89
-01
+8d
+d8
+a0
+8a
+c2
+1a
+31
+fe
+00
 20
-5a
-48
-b5
+40
+21
+17
+1a
+51
+fe
+00
 20
 40
-79
-06
-6f
+21
+17
+18
 e0
-88
-f7
+8f
+ff
 20
-7a
-00
-00
-70
-08
-f7
-00
-6f
-e1
-08
-f5
-d8
-40
-03
-a2
-98
-46
-7c
-00
-24
-62
-80
-00
+21
+04
+82
 20
 20
-01
-c6
+21
+4f
+20
+00
+00
+3c
 58
 00
+0f
 00
-10
-20
-20
-70
-c8
-d8
-e0
+67
+f1
+09
+82
+58
 00
+0f
+f0
+67
+f1
+09
+84
+70
+89
+81
+09
+70
+89
+81
+03
+70
+89
+80
 06
 20
-40
-7c
-ef
-24
-7a
 00
 00
+3c
+da
 20
+00
+00
+da
 40
-04
-cd
-20
-40
-04
-d0
-20
-40
-04
-e0
-20
-40
-04
-f7
-d8
-e0
 00
-06
-58
 00
+df
+20
+00
+10
+d8
+c0
+0f
 00
-28
 20
 20
-7c
-e1
-6f
-e0
-c9
-7c
+21
+2d
 20
-7a
-00
+75
+80
 00
 20
 20
-02
-6b
-6f
-e0
-c6
-2b
-c4
-00
+22
+72
+20
+60
 00
 00
-6f
-e0
-c8
-0f
 20
-7a
-00
+75
+80
 00
-6f
-e1
-48
-10
-1f
-e0
-fe
+70
+8a
+07
+77
+70
+8a
+08
+c9
+70
+8a
+0b
 01
-67
-e1
-48
-10
-d8
-40
-04
-b0
-98
-46
-7c
-00
-24
-61
-00
-00
-58
-00
-00
-00
-67
-e1
-48
-10
 6f
 e0
-c8
-0f
+c4
+09
+67
+f0
+80
+cd
 20
-7a
-00
-00
-70
-48
-0f
 00
+0b
+b8
 20
-60
-00
-00
-da
-60
-49
-c5
-da
 40
 04
-e3
-20
-20
-42
-e0
+c6
+70
+8a
+08
+c1
 6a
-41
-49
-c7
-1a
-42
-26
+40
+c4
+19
+df
+20
 00
+08
 20
 40
-05
-18
+6f
+58
 6f
 e0
-c9
-c1
-20
-3a
-04
-ef
+c4
+19
 67
 e0
-c9
-c0
-1a
+c4
+33
+62
+40
+c4
+19
+20
 60
-a6
-01
-6f
-e1
-49
-c9
-9a
-66
-7c
-00
-24
-61
-00
 00
-1a
-62
-24
 00
 20
-20
+40
 04
-e5
-68
-48
-c9
-c0
+bc
 6f
-e0
-c9
-bf
-98
-46
-7c
-00
-20
-62
-80
-00
-da
-20
-49
-bf
-df
-20
-00
+f0
+8a
+09
+79
+3f
+fe
+07
+67
+f0
+8a
+09
+70
+8a
+07
+77
+70
+8a
+08
+c1
+70
+8a
+0b
 01
-1a
-62
-24
-00
-20
-20
-6b
-45
-da
-60
-49
-c6
-da
-40
-04
-fa
-20
-20
-42
-e0
-6a
-41
-49
-cb
-1a
-42
-26
-00
 20
 40
-05
-2d
+6f
+90
 6f
 e0
-c9
 c4
-20
-3a
-05
-06
+09
 67
-e0
-c9
-c3
-1a
-60
-a6
-01
-6f
-e1
-49
+f0
+80
 cd
-9a
-66
-7c
-00
-24
-61
-00
-00
-1a
-62
-24
-00
-20
 20
-04
-fc
-68
-48
-c9
-c3
-6f
-e0
-c9
-c2
-98
-46
-7c
 00
+0b
+b8
 20
-62
+40
+04
+c6
+70
 80
+cd
 00
-da
 20
-49
-c2
 20
+6f
+a1
+6f
+f0
+80
+cc
+79
 20
-04
-f4
+7e
+01
+67
+f0
+80
+cc
 6a
-41
-49
-c7
-1a
-42
-26
-00
-20
 40
-05
-18
+c4
+19
 6f
 e0
-c9
-c1
-20
-3a
-05
-1b
+c4
+33
 67
 e0
-c9
-c0
-1a
-60
-a6
-01
-6f
-e1
-49
-c9
-9a
-66
-7c
-00
-24
-21
-05
-1b
-1a
-62
-24
-00
-20
-20
-05
-0e
+c4
+19
 df
 20
 00
-01
-da
-20
-49
-c1
-20
+08
 20
-6b
-74
+40
 6f
-e0
-c9
-c0
-20
-5a
-05
-1f
 67
-e0
-c9
-bf
+62
+40
+c4
+19
 20
 60
 00
 00
-58
-00
-00
+70
+80
+cc
+03
+6f
+f0
+81
+29
+c3
 02
-20
+84
+c7
+68
+59
+01
+64
 60
-00
-00
-6a
-41
 49
-cb
-1a
-42
-26
+44
+0a
+70
+80
+cc
 00
 20
-40
-05
-2d
-6f
-e0
-c9
-c4
-20
-3a
-05
-30
-67
-e0
-c9
-c3
-1a
 60
-a6
+00
+00
+70
+8a
+82
+11
+70
+8a
+8d
+12
+70
+8a
+8e
+0a
+6f
+e0
+c0
+99
+c0
+08
+04
+e6
+58
+00
+57
+62
+67
+f1
+09
+07
+70
+89
+01
+03
+70
+89
+30
+03
+c6
+16
+80
+00
+70
+89
 01
+01
+70
+8a
+82
+07
+70
+8a
+8d
+44
+70
+8a
+8e
+0a
 6f
-e1
-49
-cd
-9a
-66
-7c
+e0
+c0
+99
+c0
+08
+04
+e3
+58
 00
-24
-21
-05
+2b
+b1
+67
+f1
+09
+07
+c6
+97
+80
+00
+70
+89
 30
-1a
-62
 24
+70
+89
+01
+05
+20
+60
 00
+00
+58
+00
+41
+89
+67
+f1
+09
+07
 20
 20
-05
-23
+04
 df
-20
+58
 00
-01
-da
-20
-49
-c4
+83
+12
+67
+f1
+09
+07
 20
 20
-6b
-74
+04
+d4
 6f
 e0
-c9
 c3
-20
-5a
-05
 34
-67
+c1
+00
+00
+00
+c0
+01
+b0
+4a
+20
+20
+28
+e1
+79
+3f
+80
+30
+20
+20
+2a
+f6
+6f
 e0
-c9
-c2
+c5
+ea
+c0
+55
+33
+29
+c0
+2a
+b3
+3a
+c0
+11
+04
+f5
+c0
+7f
+b5
+9b
 20
 60
 00
 00
-58
+6f
+e0
+c5
+ae
+20
+3a
+04
+fb
+6f
+e2
+45
+ec
+68
+4a
+46
+2c
+98
+46
+7c
+00
+24
+62
+80
 00
+6f
+e0
+c5
+eb
+c0
 00
+84
+ff
+c0
 01
+05
+07
 20
 60
 00
 00
-20
-40
-47
-c3
 6f
 e0
-c6
-95
-67
+c5
+de
+24
+7a
+00
+00
+6f
 e0
 c5
-d1
-20
-40
-05
-0c
-20
-40
+d3
+c0
+01
 05
-21
+04
 20
-40
-32
-81
-6f
-e0
-c6
-69
-c4
-00
+60
 00
 00
 70
 45
-ca
+de
 01
 20
+40
+33
+8d
 20
-32
-84
+20
+33
+6b
 6f
 e0
-c6
-69
-c3
-00
-31
-65
-78
-37
-fc
-00
-20
+c5
+df
+24
+7a
 00
 00
-18
 6f
 e0
-c4
-f8
-79
+c5
+d4
+c0
+80
+05
+0c
 20
-7e
+60
 00
-67
-e0
-c4
-f8
+00
+70
+45
+df
+01
 20
 40
 33
-a5
-20
-40
-31
-e5
+93
 20
 20
-31
-95
-c9
-e4
-aa
-55
-40
-00
-00
-40
-05
-00
-32
-07
-00
-00
-80
-63
-00
-00
-00
+33
+78
+6f
+e0
+c6
+16
+c1
 00
 00
 00
+6f
+e0
+c6
+2a
+24
+7a
 00
 00
+6f
+e0
+c6
+28
+24
+7a
 00
 00
+6f
+e0
+c6
+24
+20
+7a
 00
 00
+6f
+e0
+c5
+d3
+c1
+80
 00
 00
+6f
+e0
+c5
+d4
+c1
+80
 00
 00
 20
+20
+34
+36
+6f
+e0
+c6
+16
+c1
+80
+80
 00
+20
+40
+05
+20
+20
+20
+34
+6d
+6f
+e0
+c6
+15
+c3
+80
+80
 00
-14
+79
+20
+7e
+01
+67
+e0
+c6
+15
+58
 00
 00
 00
+67
+e1
+c5
+d3
+20
+20
+33
+07
+20
+40
+05
+34
+20
+40
+05
+36
+6f
 e0
-45
-00
-00
+89
+01
+20
+5a
+48
+b5
+20
+40
+79
+06
+6f
+e0
+88
+f7
+20
+7a
 00
 00
+70
+08
+f7
 00
+6f
+e1
+08
+f5
+d8
+40
+03
+a2
+98
+46
+7c
 00
-02
+24
+62
+80
 00
 20
+20
+01
+c6
+58
 00
 00
+10
+20
+20
+70
+c8
+d8
+e0
 00
-80
+06
+20
+40
+7c
+ef
+24
+7a
 00
 00
-14
+20
+40
 05
+40
+20
+40
+05
+43
+20
+40
+05
+53
+20
+40
+05
+6a
+d8
+e0
 00
+06
+58
 00
 00
+28
+20
+20
+7c
+e1
+6f
+e0
+c9
+7c
+20
+7a
 00
 00
+20
+20
+02
+6b
+6f
+e0
+c6
+2b
+c4
 00
 00
 00
+6f
+e0
+c8
+0f
+20
+7a
 00
 00
-00
-00
-00
-00
-aa
-55
-01
-00
-cb
-43
-04
-aa
-55
-01
-00
-ec
-44
-ff
-aa
-55
+6f
+e1
+48
+10
+1f
+e0
+fe
 01
+67
+e1
+48
+10
+d8
+40
+04
+b0
+98
+46
+7c
 00
-1c
-02
-5a
-aa
-55
-01
+24
+61
 00
-69
-46
-10
-aa
-55
-01
 00
-94
-46
-03
-aa
-55
-18
+58
 00
-6a
-46
-01
-51
-31
-20
-10
-51
-31
-25
-20
-01
-0d
-32
-2e
-34
-47
-20
-52
-65
-63
-65
-69
-76
-65
-72
-aa
-55
-01
 00
-95
-46
-94
-aa
-55
-06
 00
-f1
-44
+67
+e1
+48
+10
+6f
+e0
+c8
+0f
 20
-12
-23
-74
-12
-23
-aa
-55
-02
+7a
 00
-8b
-45
-78
-69
-aa
-55
-02
 00
+70
+48
 0f
-46
-1e
 00
-aa
-55
-43
+20
+60
 00
-98
-46
+00
+da
+60
+49
+c5
+da
+40
+05
+56
+20
+20
 42
-09
-02
+e0
+6a
+41
+49
+c8
+1a
 42
+26
 00
-02
-01
-00
-a0
-32
-09
-04
-00
-00
-01
-03
-01
+20
+40
+05
+8b
+6f
+e0
+c9
+c1
+20
+3a
+05
+62
+67
+e0
+c9
+c0
+1a
+60
+a6
 01
+6f
+e1
+49
+ca
+9a
+66
+7c
 00
-09
-21
+24
+61
 00
-02
 00
-01
-22
-3f
+1a
+62
+24
 00
-07
+20
+20
 05
-81
-03
-40
-00
-02
-09
-04
-01
-00
-02
-03
-01
-02
+58
+68
+48
+c9
+c0
+6f
+e0
+c9
+bf
+98
+46
+7c
 00
-09
-21
+20
+62
+80
 00
-02
+da
+20
+49
+bf
+df
+20
 00
 01
-22
-b7
-00
-07
-05
-82
-03
-40
+1a
+62
+24
 00
-02
-07
-05
-02
-03
+20
+20
+6b
+45
+da
+60
+49
+c6
+da
 40
-00
-02
-aa
-55
-b8
-00
-23
-47
-b7
 05
-01
-09
-02
-a1
-01
-85
-01
-09
-01
-a1
+6d
+20
+20
+42
+e0
+6a
+41
+49
+cc
+1a
+42
+26
 00
+20
+40
 05
-09
-19
-01
-29
+a0
+6f
+e0
+c9
+c4
+20
+3a
 05
-15
-00
-25
+79
+67
+e0
+c9
+c3
+1a
+60
+a6
 01
-95
+6f
+e1
+49
+ce
+9a
+66
+7c
+00
+24
+61
+00
+00
+1a
+62
+24
+00
+20
+20
 05
-75
-01
-81
-02
-95
-01
-75
-03
-81
-01
+6f
+68
+48
+c9
+c3
+6f
+e0
+c9
+c2
+98
+46
+7c
+00
+20
+62
+80
+00
+da
+20
+49
+c2
+20
+20
 05
-01
-09
-30
-09
-31
-16
-01
-f8
+67
+6a
+41
+49
+c8
+1a
+42
 26
-ff
-07
-75
-10
-95
-02
-81
-06
-09
-38
-15
-81
-25
-7f
-75
-08
-95
-01
-81
-06
+00
+20
+40
 05
-0c
-0a
-38
-02
-95
-01
-81
-06
-c0
-c0
+8b
+6f
+e0
+c9
+c1
+20
+3a
 05
+8e
+67
+e0
+c9
+c0
+1a
+60
+a6
 01
-09
-80
-a1
-01
-85
-02
+6f
+e1
+49
+ca
+9a
+66
+7c
+00
+24
+21
+05
+8e
+1a
+62
+24
+00
+20
+20
 05
-01
-19
 81
-29
-88
-15
+df
+20
 00
-25
-01
-95
-08
-75
 01
-81
-06
+da
+20
+49
+c1
+20
+20
+6b
+74
+6f
+e0
+c9
 c0
+20
+5a
 05
-0c
-09
-01
-a1
+92
+67
+e0
+c9
+bf
+20
+60
+00
+00
+58
+00
+00
 01
-85
-03
-15
+20
+60
 00
-26
-80
-03
-19
 00
-2a
-80
-03
-75
-10
-95
-01
-81
+6a
+41
+49
+cc
+1a
+42
+26
 00
-c0
-06
-a1
-ff
-09
-02
-a1
+20
+40
+05
+a0
+6f
+e0
+c9
+c4
+20
+3a
+05
+a3
+67
+e0
+c9
+c3
+1a
+60
+a6
 01
-85
-a1
-95
-3f
-75
-08
-25
-ff
-15
+6f
+e1
+49
+ce
+9a
+66
+7c
 00
-09
-01
-81
-02
-85
-a2
-95
-3f
-75
-08
-25
-ff
-15
+24
+21
+05
+a3
+1a
+62
+24
+00
+20
+20
+05
+96
+df
+20
 00
-09
 01
-b1
+da
+20
+49
+c4
+20
+20
+6b
+74
+6f
+e0
+c9
+c3
+20
+5a
+05
+a7
+67
+e0
+c9
+c2
+20
+60
+00
+00
+58
+00
+00
 02
-c0
-06
-a2
-ff
-09
-01
-a1
-01
-85
-a0
+20
+60
+00
+00
+20
+40
+47
+c3
+6f
+e0
+c6
 95
-3f
-75
-08
-25
-ff
-15
+67
+e0
+c5
+d1
+20
+40
+05
+7f
+20
+40
+05
+94
+20
+40
+32
+81
+6f
+e0
+c6
+69
+c4
 00
-09
+00
+00
+70
+45
+ca
 01
-81
-02
-c0
-aa
-55
-02
+20
+20
+32
+84
+6f
+e0
+c6
+69
+c3
 00
-0c
-48
-09
+31
+65
+78
+37
+fc
+00
+20
+00
+00
+18
+6f
+e0
+c4
+f8
+79
+20
+7e
 00
+67
+e0
+c4
+f8
+20
+40
+33
+a5
+20
+40
+31
+e5
+20
+20
+31
+95
+30
+c1
 aa
 55
-2a
+40
 00
-cf
-49
-04
 00
-04
-08
+40
+05
 00
+32
 07
-03
-e9
 00
-03
-ea
 00
-08
+80
+63
 00
-0f
-03
-6f
 00
-03
-70
 00
-02
-01
 00
-03
-cd
 00
-03
-b6
 00
-03
-b5
 00
-04
 00
-2b
-02
 00
 00
-03
 00
 00
-aa
-55
-08
 00
-c7
-49
-dd
-1e
-40
-1f
-41
-1f
-a4
-1f
-aa
-55
-09
 00
-72
-49
-08
 00
-15
-08
 00
-2c
+20
 00
 00
-28
-aa
-55
-11
+14
 00
-7f
-49
-82
-49
-0e
-77
-77
-77
-2e
-76
-64
-2d
-6d
-6b
-73
-2e
-63
-6f
-6d
-aa
-55
-16
 00
-a9
-49
-15
-7e
-21
-40
-23
-24
-25
-5e
-26
-2a
-28
-29
-5f
-2b
-7b
-7d
-7c
-22
-3a
-3e
-3f
-3c
-aa
-55
-01
 00
-48
-41
-0c
-aa
-55
-06
+e0
+45
 00
-c3
-40
-35
-3f
-64
-db
-7b
-3b
-aa
-55
-01
 00
-a7
-40
-20
-aa
-55
-03
 00
-c9
-40
 00
-08
-a5
-aa
-55
-01
 00
-99
-40
-18
-aa
-55
-01
 00
-1c
-41
-3e
-aa
-55
-0c
+02
 00
-16
+20
 00
 00
 00
+80
 00
 00
+14
+05
+00
 00
 00
 00
@@ -6058,595 +5947,706 @@
 00
 00
 00
-aa
-55
-05
 00
-5e
-41
-08
-0e
-05
-03
 00
-aa
-55
-01
 00
-68
-41
-20
-aa
-55
-02
 00
-9a
-40
 00
-0c
 aa
 55
-05
+01
 00
+cb
 43
-41
-ff
 04
-00
-00
-08
 aa
 55
 01
 00
-07
+ec
 44
-01
+ff
 aa
 55
 01
 00
-09
-44
-0a
+1c
+02
+5a
 aa
 55
 01
 00
-08
-44
-00
+69
+46
+10
 aa
 55
 01
 00
-11
-44
-00
+94
+46
+03
 aa
 55
-04
+18
 00
+6a
+46
+01
+51
+31
+20
+10
+51
+31
+25
+20
+01
 0d
-44
-00
-07
-ff
-07
+32
+2e
+34
+47
+20
+52
+65
+63
+65
+69
+76
+65
+72
 aa
 55
 01
 00
-38
-44
-a0
+95
+46
+94
 aa
 55
-02
+06
 00
-3b
+f1
 44
-bc
-02
+20
+12
+23
+74
+12
+23
 aa
 55
 02
 00
-39
-44
-90
-01
+8b
+45
+78
+69
 aa
 55
 02
 00
-3d
-44
-03
-09
-aa
-55
-01
+0f
+46
+1e
 00
-49
-41
-ff
 aa
 55
+43
+00
+98
+46
+42
+09
 02
+42
 00
-9c
-40
-49
-41
-55
-aa
+02
+01
+00
+a0
+32
+09
+04
+00
+00
+01
+03
+01
+01
+00
+09
+21
+00
+02
+00
+01
+22
+3f
+00
+07
+05
+81
+03
+40
+00
+02
+09
+04
+01
+00
+02
+03
+01
+02
+00
+09
+21
+00
+02
+00
+01
+22
+b7
+00
+07
+05
+82
+03
+40
+00
+02
+07
+05
+02
+03
+40
+00
+02
 aa
 55
-7d
-a3
-8c
-04
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+b8
+00
+23
+47
+b7
+05
+01
+09
+02
+a1
+01
+85
+01
+09
+01
+a1
+00
+05
+09
+19
+01
+29
+05
+15
+00
+25
+01
+95
+05
+75
+01
+81
+02
+95
+01
+75
+03
+81
+01
+05
+01
+09
+30
+09
+31
+16
+01
+f8
+26
 ff
+07
+75
+10
+95
+02
+81
+06
+09
+38
+15
+81
+25
+7f
+75
+08
+95
+01
+81
+06
+05
+0c
+0a
+38
+02
+95
+01
+81
+06
+c0
+c0
+05
+01
+09
+80
+a1
+01
+85
+02
+05
+01
+19
+81
+29
+88
+15
+00
+25
+01
+95
+08
+75
+01
+81
+06
+c0
+05
+0c
+09
+01
+a1
+01
+85
+03
+15
+00
+26
+80
+03
+19
+00
+2a
+80
+03
+75
+10
+95
+01
+81
+00
+c0
+06
+a1
 ff
+09
+02
+a1
+01
+85
+a1
+95
+3f
+75
+08
+25
 ff
+15
+00
+09
+01
+81
+02
+85
+a2
+95
+3f
+75
+08
+25
 ff
+15
+00
+09
+01
+b1
+02
+c0
+06
+a2
 ff
+09
+01
+a1
+01
+85
+a0
+95
+3f
+75
+08
+25
 ff
+15
+00
+09
+01
+81
+02
+c0
+aa
+55
+02
+00
+0c
+48
+09
+00
+aa
+55
+2a
+00
+d0
+49
+04
+00
+04
+08
+00
+07
+03
+e9
+00
+03
+ea
+00
+08
+00
+0f
+03
+6f
+00
+03
+70
+00
+02
+01
+00
+03
+cd
+00
+03
+b6
+00
+03
+b5
+00
+04
+00
+2b
+02
+00
+00
+03
+00
+00
+aa
+55
+08
+00
+c8
+49
+dd
+1e
+40
+1f
+41
+1f
+a4
+1f
+aa
+55
+09
+00
+72
+49
+08
+00
+15
+08
+00
+2c
+00
+00
+28
+aa
+55
+11
+00
+7f
+49
+82
+49
+0e
+77
+77
+77
+2e
+76
+64
+2d
+6d
+6b
+73
+2e
+63
+6f
+6d
+aa
+55
+16
+00
+a9
+49
+15
+7e
+21
+40
+23
+24
+25
+5e
+26
+2a
+28
+29
+5f
+2b
+7b
+7d
+7c
+22
+3a
+3e
+3f
+3c
+aa
+55
+01
+00
+48
+41
+0c
+aa
+55
+06
+00
+c3
+40
+35
+3f
+64
+db
+7b
+3b
+aa
+55
+01
+00
+a7
+40
+20
+aa
+55
+03
+00
+c9
+40
+00
+08
+a5
+aa
+55
+01
+00
+99
+40
+18
+aa
+55
+01
+00
+1c
+41
+3e
+aa
+55
+0c
+00
+16
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+00
+aa
+55
+05
+00
+5e
+41
+08
+0e
+05
+03
+00
+aa
+55
+01
+00
+68
+41
+20
+aa
+55
+02
+00
+9a
+40
+00
+0c
+aa
+55
+05
+00
+43
+41
 ff
+04
+00
+00
+08
+aa
+55
+01
+00
+07
+44
+01
+aa
+55
+01
+00
+09
+44
+0a
+aa
+55
+01
+00
+08
+44
+00
+aa
+55
+01
+00
+11
+44
+00
+aa
+55
+04
+00
+0d
+44
+00
+07
 ff
+07
+aa
+55
+01
+00
+38
+44
+a0
+aa
+55
+02
+00
+3b
+44
+bc
+02
+aa
+55
+02
+00
+39
+44
+90
+01
+aa
+55
+02
+00
+3d
+44
+03
+09
+aa
+55
+01
+00
+49
+41
 ff
+aa
+55
+02
+00
+9c
+40
+49
+41
+55
+aa
+aa
+55
+7f
+a3
+32
+2e
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-0c
-35
+ea
+c7
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(revision 4481)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/memmap.format	(working copy)
@@ -1532,24 +1532,28 @@
 0x49c4 mem_ms_b5_function_flag_temp
 0x49c5 mem_usb_delay_store_b4_flag_count
 0x49c6 mem_usb_delay_store_b5_flag_count
-0x49c7 mem_otp_offset_b4_addr
-0x49c9 mem_otp_offset_b4_addr_end
-0x49cb mem_otp_offset_b5_addr
-0x49cd mem_otp_offset_b5_addr_end
-0x49cf mem_usb_win_alt_a
-0x49d2 mem_usb_win_win_d
-0x49d5 mem_usb_win_vol_add
-0x49d8 mem_usb_win_vol_decrease
-0x49db mem_usb_win_sleep
-0x49de mem_usb_win_light_add
-0x49e1 mem_usb_win_light_decrease
-0x49e4 mem_usb_win_powerdown
-0x49e7 mem_usb_win_play
-0x49ea mem_usb_win_forword_play
-0x49ed mem_usb_win_next_play
-0x49f0 mem_usb_win_task_windows
-0x49f3 mem_usb_system_ctrl_release
-0x49f6 mem_usb_multkey_release
+0x49c7 mem_ms_key_function_flag_temp
+0x49c8 mem_otp_offset_b4_addr
+0x49ca mem_otp_offset_b4_addr_end
+0x49cc mem_otp_offset_b5_addr
+0x49ce mem_otp_offset_b5_addr_end
+0x49d0 mem_usb_win_alt_a
+0x49d3 mem_usb_win_win_d
+0x49d6 mem_usb_win_vol_add
+0x49d9 mem_usb_win_vol_decrease
+0x49dc mem_usb_win_sleep
+0x49df mem_usb_win_light_add
+0x49e2 mem_usb_win_light_decrease
+0x49e5 mem_usb_win_powerdown
+0x49e8 mem_usb_win_play
+0x49eb mem_usb_win_forword_play
+0x49ee mem_usb_win_next_play
+0x49f1 mem_usb_win_task_windows
+0x49f4 mem_usb_system_ctrl_release
+0x49f7 mem_usb_multkey_release
+0x49fa mem_usb_normal_key_flag
+0x49fb mem_usb_multikey_key_flag
+0x49fc mem_usb_system_key_flag
 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_XZR/usb_1m_ai/output/otp.dat	(revision 4481)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/otp.dat	(working copy)
@@ -11,8 +11,8 @@
 00
 aa
 55
-2a
-15
+f6
+16
 c2
 84
 00
@@ -32,7 +32,7 @@
 c0
 0a
 04
-5a
+cd
 c0
 0a
 81
@@ -52,7 +52,7 @@
 c0
 1b
 85
-36
+a9
 c0
 1c
 00
@@ -63,8 +63,8 @@
 dc
 c0
 1e
-84
-b4
+85
+27
 c0
 1f
 00
@@ -76,11 +76,11 @@
 c0
 6d
 04
-2b
+9e
 c0
 6e
 04
-3b
+ae
 c0
 7f
 01
@@ -112,31 +112,31 @@
 c0
 1c
 84
-76
+e9
 c0
 26
 84
-7a
+ed
 c0
 37
 85
-40
+b3
 c0
 41
 04
-7c
+ef
 c0
 42
 02
 5a
 c0
 44
-04
-9c
+05
+0f
 c0
 45
-04
-a9
+05
+1c
 c1
 7f
 80
@@ -252,7 +252,7 @@
 20
 20
 03
-21
+94
 6f
 e0
 c6
@@ -304,7 +304,7 @@
 20
 20
 03
-2a
+9d
 6f
 e0
 c6
@@ -356,7 +356,7 @@
 20
 20
 03
-21
+94
 6f
 e0
 c6
@@ -408,7 +408,7 @@
 20
 20
 03
-21
+94
 20
 40
 75
@@ -639,12 +639,12 @@
 6e
 20
 40
-03
-fd
+04
+70
 20
 40
 04
-28
+9b
 20
 40
 00
@@ -660,7 +660,7 @@
 20
 20
 04
-2a
+9d
 20
 75
 80
@@ -1476,7 +1476,7 @@
 20
 20
 03
-21
+94
 70
 48
 9c
@@ -1516,7 +1516,7 @@
 20
 20
 03
-21
+94
 70
 48
 55
@@ -1552,7 +1552,7 @@
 20
 20
 03
-21
+94
 70
 48
 dd
@@ -1592,7 +1592,7 @@
 20
 20
 03
-21
+94
 70
 48
 55
@@ -1620,7 +1620,7 @@
 20
 20
 03
-21
+94
 70
 49
 18
@@ -1648,7 +1648,7 @@
 20
 20
 03
-21
+94
 6f
 e0
 c8
@@ -1696,7 +1696,7 @@
 20
 20
 03
-21
+94
 70
 48
 14
@@ -1728,11 +1728,11 @@
 20
 20
 03
-21
+94
 6f
 e0
 88
-79
+7a
 67
 e0
 c9
@@ -1748,11 +1748,11 @@
 6f
 e0
 88
-79
+7a
 67
 e0
 c9
-bf
+c2
 70
 49
 c6
@@ -2288,7 +2288,7 @@
 da
 20
 49
-59
+61
 20
 40
 7d
@@ -2300,7 +2300,7 @@
 20
 20
 48
-37
+48
 da
 20
 49
@@ -2316,15 +2316,15 @@
 20
 20
 48
-48
+37
 20
 40
 02
-3c
+38
 20
 40
 02
-38
+3c
 6f
 e0
 89
@@ -2376,7 +2376,7 @@
 20
 40
 03
-33
+a6
 6f
 e0
 c9
@@ -2387,8 +2387,8 @@
 52
 20
 20
-03
-c0
+04
+33
 70
 09
 14
@@ -2504,7 +2504,7 @@
 20
 20
 03
-2a
+9d
 6f
 e0
 c5
@@ -2600,7 +2600,7 @@
 20
 20
 03
-2a
+9d
 d8
 a0
 09
@@ -2664,7 +2664,7 @@
 20
 20
 03
-21
+94
 d8
 a0
 09
@@ -2728,7 +2728,7 @@
 20
 20
 03
-21
+94
 6f
 e0
 c5
@@ -2739,20 +2739,20 @@
 6b
 c2
 81
-82
-e8
+83
+5b
 c2
 82
-82
-f0
+83
+63
 c2
 83
 03
-0a
+7d
 c2
 83
 83
-1b
+8e
 20
 20
 02
@@ -2811,20 +2811,20 @@
 6b
 c2
 81
-82
-e8
+83
+5b
 c2
 82
-82
-f0
+83
+63
 c2
 83
 03
-0a
+7d
 c2
 83
 83
-1b
+8e
 20
 60
 00
@@ -2916,7 +2916,7 @@
 20
 20
 03
-21
+94
 6f
 e0
 89
@@ -2936,7 +2936,7 @@
 1f
 e6
 7c
-02
+01
 24
 42
 82
@@ -2948,11 +2948,11 @@
 1f
 e6
 7c
-01
+02
 24
 42
-82
-e4
+83
+50
 20
 60
 00
@@ -2964,115 +2964,575 @@
 79
 3f
 fe
-03
-67
-e0
-89
-14
+04
 20
-60
-00
-00
+40
+03
+11
 6f
 e0
-89
-14
-79
-3f
+c9
+6a
+2f
+ef
 fe
 04
-67
-e0
-89
-14
+20
+40
+82
+fd
+24
+40
+82
+e8
 20
 60
 00
 00
 6f
 e0
-c5
-eb
-68
-48
-c8
-0e
-98
-46
-7c
-00
-20
-62
-80
-00
-67
-e0
-c8
-0e
-6f
-e0
-c8
-0e
-c1
-ff
-80
-00
-20
-20
-01
-8b
-6f
-e1
-45
-eb
-67
-e1
-48
-05
+c9
+fa
+24
+5a
+02
+ef
 6f
 e0
-c8
-05
-68
-48
-c8
-12
-98
-46
-7c
-00
-24
-42
-82
+c9
 fb
+24
+5a
+02
+f3
 6f
 e0
-c8
-06
-68
-48
-c8
-13
-98
-46
-7c
-00
+c9
+fc
 24
-42
-82
-fe
+5a
+02
+f8
 20
 60
 00
 00
-6f
-e0
-c8
-05
-67
-e0
-c8
-12
+70
+49
+fa
+00
+d8
+a0
+09
+23
+20
+40
+7c
+99
+20
+20
+03
+1a
+70
+49
+fb
+00
+d8
+a0
+09
+33
+20
+40
+7c
+99
+6f
+e1
+c9
+f7
+20
+20
+03
+28
+70
+49
+fc
+00
+d8
+a0
+09
+43
+20
+40
+7c
+99
+6f
+e1
+c9
+f4
+20
+20
+03
+4c
+6f
+e0
+c9
+bf
+67
+e0
+c9
+c7
+6f
+e0
+c9
+c7
+c0
+00
+83
+0f
+c0
+01
+03
+13
+c0
+01
+83
+16
+c0
+02
+03
+20
+c0
+02
+83
+24
+c0
+03
+03
+2c
+c0
+03
+83
+1c
+c0
+04
+03
+30
+c0
+04
+83
+34
+c0
+05
+03
+48
+c0
+05
+83
+38
+c0
+06
+03
+3c
+c0
+06
+83
+40
+c0
+07
+03
+44
+20
+60
+00
+00
+6f
+e0
+89
+14
+79
+20
+7e
+03
+67
+e0
+89
+14
+20
+60
+00
+00
+6f
+e0
+89
+14
+79
+20
+7e
+04
+20
+20
+03
+11
+d8
+a0
+09
+23
+20
+40
+7c
+99
+6f
+e1
+c9
+d0
+70
+49
+fa
+01
+67
+e1
+89
+23
+20
+20
+02
+85
+d8
+a0
+09
+23
+20
+40
+7c
+99
+6f
+e1
+c9
+dc
+20
+20
+03
+19
+d8
+a0
+09
+23
+20
+40
+7c
+99
+6f
+e1
+c9
+d3
+20
+20
+03
+19
+d8
+a0
+09
+33
+20
+40
+7c
+99
+6f
+e1
+c9
+d6
+70
+49
+fb
+01
+67
+e1
+89
+34
+70
+09
+33
+03
+70
+09
+0c
+21
+20
+20
+03
+94
+d8
+a0
+09
+33
+20
+40
+7c
+99
+6f
+e1
+c9
+d9
+20
+20
+03
+27
+d8
+a0
+09
+33
+20
+40
+7c
+99
+6f
+e1
+c9
+df
+20
+20
+03
+27
+d8
+a0
+09
+33
+20
+40
+7c
+99
+6f
+e1
+c9
+e2
+20
+20
+03
+27
+d8
+a0
+09
+33
+20
+40
+7c
+99
+6f
+e1
+c9
+e8
+20
+20
+03
+27
+d8
+a0
+09
+33
+20
+40
+7c
+99
+6f
+e1
+c9
+eb
+20
+20
+03
+27
+d8
+a0
+09
+33
+20
+40
+7c
+99
+6f
+e1
+c9
+ee
+20
+20
+03
+27
+d8
+a0
+09
+33
+20
+40
+7c
+99
+6f
+e1
+c9
+f1
+20
+20
+03
+27
+d8
+a0
+09
+43
+20
+40
+7c
+99
+6f
+e1
+c9
+e5
+70
+49
+fc
+01
+67
+e1
+89
+44
+70
+09
+43
+02
+70
+09
+0c
+22
+20
+20
+03
+94
+6f
+e0
+89
+14
+79
+3f
+fe
+03
+20
+40
+03
+11
+6f
+e0
+c9
+6a
+2f
+ef
+fe
+03
+20
+40
+83
+58
+24
+40
+82
+e8
+20
+60
+00
+00
+6f
+e0
+c9
+c2
+67
+e0
+c9
+c7
+20
+20
+02
+ff
+6f
+e0
+c5
+eb
+68
+48
+c8
+0e
+98
+46
+7c
+00
+20
+62
+80
+00
+67
+e0
+c8
+0e
+6f
+e0
+c8
+0e
+c1
+ff
+80
+00
+20
+20
+01
+8b
+6f
+e1
+45
+eb
+67
+e1
+48
+05
+6f
+e0
+c8
+05
+68
+48
+c8
+12
+98
+46
+7c
+00
+24
+42
+83
+6e
+6f
+e0
+c8
+06
+68
+48
+c8
+13
+98
+46
+7c
+00
+24
+42
+83
+71
+20
+60
+00
+00
+6f
+e0
+c8
+05
+67
+e0
+c8
+12
 20
 20
 01
@@ -3088,11 +3548,11 @@
 c0
 2a
 83
-03
+76
 c0
 55
 03
-06
+79
 20
 60
 00
@@ -3108,7 +3568,7 @@
 20
 20
 03
-08
+7b
 6f
 e0
 c9
@@ -3183,8 +3643,8 @@
 0a
 20
 40
-02
-f2
+03
+65
 6f
 e0
 c5
@@ -3192,7 +3652,7 @@
 20
 20
 03
-1c
+8f
 6f
 e0
 c5
@@ -3275,8 +3735,8 @@
 00
 6f
 e0
-c9
-61
+89
+0b
 67
 e0
 86
@@ -3352,7 +3812,7 @@
 c0
 08
 83
-44
+b7
 20
 20
 23
@@ -3364,43 +3824,43 @@
 c0
 00
 03
-50
+c3
 c0
 00
 83
-52
+c5
 c0
 01
 03
-60
+d3
 c0
 01
 83
-64
+d7
 c0
 02
 03
-74
+e7
 c0
 02
 83
-7b
+ee
 c0
 03
 03
-6a
+dd
 c0
 03
 83
-6e
+e1
 c0
 04
 03
-70
+e3
 c0
 04
 83
-72
+e5
 20
 60
 00
@@ -3428,11 +3888,11 @@
 c0
 00
 03
-58
+cb
 c0
 00
 83
-5c
+cf
 20
 60
 00
@@ -3532,7 +3992,7 @@
 20
 20
 03
-65
+d8
 70
 49
 7c
@@ -3540,7 +4000,7 @@
 20
 20
 03
-6b
+de
 70
 49
 7c
@@ -3548,7 +4008,7 @@
 20
 20
 03
-65
+d8
 6f
 e0
 c9
@@ -3584,11 +4044,11 @@
 c0
 00
 83
-65
+d8
 c0
 00
 03
-81
+f4
 20
 60
 00
@@ -3624,15 +4084,15 @@
 20
 22
 83
-7f
+f2
 20
 40
-03
-91
+04
+04
 20
 40
-03
-b3
+04
+26
 6f
 e0
 c9
@@ -3679,8 +4139,8 @@
 7a
 24
 21
-03
-98
+04
+0b
 da
 40
 00
@@ -3691,8 +4151,8 @@
 00
 20
 21
-03
-af
+04
+22
 ef
 e0
 80
@@ -3703,8 +4163,8 @@
 39
 24
 21
-03
-9e
+04
+11
 da
 40
 00
@@ -3715,40 +4175,40 @@
 00
 20
 21
-03
-b1
+04
+24
 1f
 e6
 7c
 3a
 20
 22
-83
-a7
+84
+1a
 1f
 e6
 7c
 2f
 20
 22
-83
-a9
+84
+1c
 1f
 e6
 7c
 2e
 20
 22
-83
-ab
+84
+1e
 1f
 e6
 7c
 2d
 20
 22
-83
-ad
+84
+20
 20
 60
 00
@@ -3835,12 +4295,12 @@
 00
 20
 22
-83
-be
+84
+31
 c2
 00
-03
-b9
+04
+2c
 20
 60
 00
@@ -3915,28 +4375,28 @@
 09
 c0
 12
-03
-e8
+04
+5b
 c0
 13
-03
-e0
+04
+53
 c0
 14
-83
-e0
+84
+53
 c0
 11
-83
-e0
+84
+53
 c0
 18
-03
-f6
+04
+69
 c0
 12
-83
-ef
+84
+62
 c0
 10
 fc
@@ -3947,8 +4407,8 @@
 2c
 c0
 13
-83
-d9
+84
+4c
 20
 20
 23
@@ -3979,8 +4439,8 @@
 14
 20
 20
-03
-e6
+04
+59
 6f
 e0
 c8
@@ -4039,8 +4499,8 @@
 96
 20
 20
-03
-e6
+04
+59
 6f
 e0
 c8
@@ -4067,8 +4527,8 @@
 d7
 20
 20
-03
-e6
+04
+59
 6f
 e0
 c9
@@ -4095,8 +4555,8 @@
 18
 20
 20
-03
-e6
+04
+59
 20
 75
 80
@@ -4148,7 +4608,7 @@
 20
 40
 04
-1a
+8d
 2a
 2f
 fe
@@ -4180,7 +4640,7 @@
 20
 40
 04
-1a
+8d
 d8
 a0
 8a
@@ -4208,7 +4668,7 @@
 20
 21
 04
-0f
+82
 20
 20
 21
@@ -4312,7 +4772,7 @@
 20
 40
 04
-53
+c6
 70
 8a
 08
@@ -4348,7 +4808,7 @@
 20
 40
 04
-49
+bc
 6f
 f0
 8a
@@ -4392,7 +4852,7 @@
 20
 40
 04
-53
+c6
 70
 80
 cd
@@ -4452,7 +4912,7 @@
 c3
 02
 84
-54
+c7
 68
 59
 01
@@ -4488,7 +4948,7 @@
 c0
 08
 04
-73
+e6
 58
 00
 57
@@ -4532,7 +4992,7 @@
 c0
 08
 04
-70
+e3
 58
 00
 2b
@@ -4568,7 +5028,7 @@
 20
 20
 04
-6c
+df
 58
 00
 83
@@ -4580,7 +5040,7 @@
 20
 20
 04
-61
+d4
 6f
 e0
 c3
@@ -4620,7 +5080,7 @@
 c0
 11
 04
-82
+f5
 c0
 7f
 b5
@@ -4636,7 +5096,7 @@
 20
 3a
 04
-88
+fb
 6f
 e2
 45
@@ -4660,11 +5120,11 @@
 c0
 00
 84
-8c
+ff
 c0
 01
-04
-94
+05
+07
 20
 60
 00
@@ -4683,8 +5143,8 @@
 d3
 c0
 01
+05
 04
-91
 20
 60
 00
@@ -4715,8 +5175,8 @@
 d4
 c0
 80
-04
-99
+05
+0c
 20
 60
 00
@@ -4795,8 +5255,8 @@
 00
 20
 40
-04
-ad
+05
+20
 20
 20
 34
@@ -4831,12 +5291,12 @@
 07
 20
 40
-04
-c1
+05
+34
 20
 40
-04
-c3
+05
+36
 6f
 e0
 89
@@ -4903,20 +5363,20 @@
 00
 20
 40
-04
-cd
+05
+40
 20
 40
-04
-d0
+05
+43
 20
 40
-04
-e0
+05
+53
 20
 40
-04
-f7
+05
+6a
 d8
 e0
 00
@@ -5011,8 +5471,8 @@
 c5
 da
 40
-04
-e3
+05
+56
 20
 20
 42
@@ -5020,7 +5480,7 @@
 6a
 41
 49
-c7
+c8
 1a
 42
 26
@@ -5028,15 +5488,15 @@
 20
 40
 05
-18
+8b
 6f
 e0
 c9
 c1
 20
 3a
-04
-ef
+05
+62
 67
 e0
 c9
@@ -5048,7 +5508,7 @@
 6f
 e1
 49
-c9
+ca
 9a
 66
 7c
@@ -5063,8 +5523,8 @@
 00
 20
 20
-04
-e5
+05
+58
 68
 48
 c9
@@ -5103,8 +5563,8 @@
 c6
 da
 40
-04
-fa
+05
+6d
 20
 20
 42
@@ -5112,7 +5572,7 @@
 6a
 41
 49
-cb
+cc
 1a
 42
 26
@@ -5120,7 +5580,7 @@
 20
 40
 05
-2d
+a0
 6f
 e0
 c9
@@ -5128,7 +5588,7 @@
 20
 3a
 05
-06
+79
 67
 e0
 c9
@@ -5140,7 +5600,7 @@
 6f
 e1
 49
-cd
+ce
 9a
 66
 7c
@@ -5155,8 +5615,8 @@
 00
 20
 20
-04
-fc
+05
+6f
 68
 48
 c9
@@ -5179,12 +5639,12 @@
 c2
 20
 20
-04
-f4
+05
+67
 6a
 41
 49
-c7
+c8
 1a
 42
 26
@@ -5192,7 +5652,7 @@
 20
 40
 05
-18
+8b
 6f
 e0
 c9
@@ -5200,7 +5660,7 @@
 20
 3a
 05
-1b
+8e
 67
 e0
 c9
@@ -5212,7 +5672,7 @@
 6f
 e1
 49
-c9
+ca
 9a
 66
 7c
@@ -5220,7 +5680,7 @@
 24
 21
 05
-1b
+8e
 1a
 62
 24
@@ -5228,7 +5688,7 @@
 20
 20
 05
-0e
+81
 df
 20
 00
@@ -5248,7 +5708,7 @@
 20
 5a
 05
-1f
+92
 67
 e0
 c9
@@ -5260,7 +5720,7 @@
 58
 00
 00
-02
+01
 20
 60
 00
@@ -5268,7 +5728,7 @@
 6a
 41
 49
-cb
+cc
 1a
 42
 26
@@ -5276,7 +5736,7 @@
 20
 40
 05
-2d
+a0
 6f
 e0
 c9
@@ -5284,7 +5744,7 @@
 20
 3a
 05
-30
+a3
 67
 e0
 c9
@@ -5296,7 +5756,7 @@
 6f
 e1
 49
-cd
+ce
 9a
 66
 7c
@@ -5304,7 +5764,7 @@
 24
 21
 05
-30
+a3
 1a
 62
 24
@@ -5312,7 +5772,7 @@
 20
 20
 05
-23
+96
 df
 20
 00
@@ -5332,7 +5792,7 @@
 20
 5a
 05
-34
+a7
 67
 e0
 c9
@@ -5344,7 +5804,7 @@
 58
 00
 00
-01
+02
 20
 60
 00
@@ -5364,11 +5824,11 @@
 20
 40
 05
-0c
+7f
 20
 40
 05
-21
+94
 20
 40
 32
@@ -5429,8 +5889,8 @@
 20
 31
 95
-c9
-e4
+30
+c1
 aa
 55
 40
@@ -5876,7 +6336,7 @@
 55
 2a
 00
-cf
+d0
 49
 04
 00
@@ -5924,7 +6384,7 @@
 55
 08
 00
-c7
+c8
 49
 dd
 1e
@@ -6192,8 +6652,8 @@
 aa
 aa
 55
-7d
+7f
 a3
-8c
-04
+32
+2e
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(revision 4481)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/output/program.lis	(working copy)
@@ -4,19 +4,19 @@
 0001 c0000021 beq patch00_0 ,p_soft_reset 
 0002 c0010063 beq patch00_2 ,p_main_loop 
 0003 c008806c beq patch02_1 ,p_set_sync_on 
-0004 c00a045a beq patch02_4 ,p_set_lemode 
+0004 c00a04cd beq patch02_4 ,p_set_lemode 
 0005 c00a810d beq patch02_5 ,p_rf_rx_enable 
 0006 c00c011b beq patch03_0 ,p_txon 
 0007 c00c80c1 beq patch03_1 ,p_set_tx_power 
 0008 c00d007d beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b8536 beq patch06_7 ,p_dongle_default_init 
+0009 c01b85a9 beq patch06_7 ,p_dongle_default_init 
 000a c01c00e0 beq patch07_0 ,p_dongle_read_kb_bind_status 
 000b c01c80dc beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e84b4 beq patch07_5 ,p_dongle_usb_dispatch 
+000c c01e8527 beq patch07_5 ,p_dongle_usb_dispatch 
 000d c01f0027 beq patch07_6 ,p_dongle_work_mode_auto 
 000e c06280d9 beq patch18_5 ,p_otp_read_data 
-000f c06d042b beq patch1b_2 ,p_sadc_calibration 
-0010 c06e043b beq patch1b_4 ,p_enable_adc 
+000f c06d049e beq patch1b_2 ,p_sadc_calibration 
+0010 c06e04ae beq patch1b_4 ,p_enable_adc 
 0011 c07f0126 beq patch1f_6 ,p_usb_init 
 0012 c07f81b5 beq patch1f_7 ,p_usb_rx 
 0013 c07e8122 beq patch1f_5 ,p_usb_isr 
@@ -26,13 +26,13 @@
 0015 c00001d9 beq patch20_0 ,p_usb_class_type 
 0016 c0010218 beq patch20_2 ,p_usb0_request_get_descriptor 
 0017 c0030240 beq patch20_6 ,p_usb_tx 
-0018 c01c8476 beq patch27_1 ,p_le_parse 
-0019 c026847a beq patch29_5 ,p_le_init_adv 
-001a c0378540 beq patch2d_7 ,p_g24_receive_skip_end 
-001b c041047c beq patch30_2 ,p_g24_bind_data_parse_next 
+0018 c01c84e9 beq patch27_1 ,p_le_parse 
+0019 c02684ed beq patch29_5 ,p_le_init_adv 
+001a c03785b3 beq patch2d_7 ,p_g24_receive_skip_end 
+001b c04104ef beq patch30_2 ,p_g24_bind_data_parse_next 
 001c c042025a beq patch30_4 ,p_g24_receive_packet_start1 
-001d c044049c beq patch31_0 ,p_g24_mode_switch_bind_search 
-001e c04504a9 beq patch31_2 ,p_g24_bind_mode_auto 
+001d c044050f beq patch31_0 ,p_g24_mode_switch_bind_search 
+001e c045051c beq patch31_2 ,p_g24_bind_mode_auto 
 001f c17f8000 rtneq patch3f_7 
 0020 2020235a branch assert 
 
@@ -71,7 +71,7 @@
 0038 58000000 setarg 0 
 0039 e7e38005 istore 7 ,contw 
 003a 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-003b 20200321 branch p_dongle_usb_tx_enable_ep2 
+003b 20200394 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_g24_kb_blank_data:
 003c 6fe0c665 fetch 1 ,mem_dg_kb_blank_data_enable 
@@ -86,7 +86,7 @@
 0045 67e44651 store 8 ,mem_dg_kb_data_last_data 
 0046 70092300 jam kb_normal_report_id ,mem_usb_kb_data 
 0047 70090b10 jam usb_ep1_kb ,mem_usb_ep1_data 
-0048 2020032a branch p_dongle_usb_tx_enable_ep1 
+0048 2020039d branch p_dongle_usb_tx_enable_ep1 
 
 p_dongle_g24_kb_sys_ctrl_blank_data:
 0049 6fe0c667 fetch 1 ,mem_dg_kb_system_crtl_blank_data_enable 
@@ -101,7 +101,7 @@
 0052 6fe10943 fetch 2 ,mem_usb_kb_system 
 0053 67e1465f store 2 ,mem_dg_kb_system_sta_data 
 0054 70090c22 jam usb_ep2_systemkey ,mem_usb_ep2_data 
-0055 20200321 branch p_dongle_usb_tx_enable_ep2 
+0055 20200394 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_g24_kb_mul_blank_data:
 0056 6fe0c666 fetch 1 ,mem_dg_kb_mul_blank_data_enable 
@@ -116,7 +116,7 @@
 005f 6fe18933 fetch 3 ,mem_usb_kb_multikey 
 0060 67e1c65c store 3 ,mem_dg_kb_multikey_last_data 
 0061 70090c21 jam usb_ep2_multikey ,mem_usb_ep2_data 
-0062 20200321 branch p_dongle_usb_tx_enable_ep2 
+0062 20200394 branch p_dongle_usb_tx_enable_ep2 
 
 p_main_loop:
 0063 20407552 call sp_calc_sequence_256 
@@ -184,12 +184,12 @@
 0099 58557474 setarg 0x557474 
 009a 67f18968 store 3 ,0x8968 
 009b 7089606e jam 0x6e ,0x8960 
-009c 204003fd call p_rx_dcoc 
-009d 20400428 call p_rfpll_aac_ghpc 
+009c 20400470 call p_rx_dcoc 
+009d 2040049b call p_rfpll_aac_ghpc 
 009e 204000a2 call p_set_xtal_cap 
 009f 7041480c jam system_clk_12m ,mem_system_clk 
 00a0 20406f4e call sadc_calibration 
-00a1 2020042a branch p_dpll_ring_ibias_calc 
+00a1 2020049d branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
 00a2 20758000 rtn wake 
@@ -441,7 +441,7 @@
 016a 6fe1480a fetch 2 ,mem_usb_get_report_code_data 
 016b 67e14864 store 2 ,mem_dongle_usb_ep2_data + 15 
 016c 70090c23 jam usb_ep2_device_info ,mem_usb_ep2_data 
-016d 20200321 branch p_dongle_usb_tx_enable_ep2 
+016d 20200394 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_dpi:
 016e 70489c01 jam 0x01 ,mem_usb_dpi_info_data + 6 
@@ -455,7 +455,7 @@
 0174 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
 0175 67e0c89b store 1 ,mem_usb_dpi_info_data + 5 
 0176 70090c24 jam usb_ep2_dpi ,mem_usb_ep2_data 
-0177 20200321 branch p_dongle_usb_tx_enable_ep2 
+0177 20200394 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_sn:
 0178 70485540 jam 0x40 ,mem_dongle_usb_ep2_data 
@@ -466,7 +466,7 @@
 017d 6fe347ff fetch 6 ,mem_usb_get_report_sn_data 
 017e 67e3485a store 6 ,mem_dongle_usb_ep2_data + 5 
 017f 70090c26 jam usb_ep2_sn ,mem_usb_ep2_data 
-0180 20200321 branch p_dongle_usb_tx_enable_ep2 
+0180 20200394 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_battery:
 0181 7048dd01 jam 0x01 ,mem_usb_battery_info_data + 6 
@@ -480,7 +480,7 @@
 0187 6fe0c807 fetch 1 ,mem_usb_get_report_battery_data 
 0188 67e0c8dc store 1 ,mem_usb_battery_info_data + 5 
 0189 70090c25 jam usb_ep2_battery ,mem_usb_ep2_data 
-018a 20200321 branch p_dongle_usb_tx_enable_ep2 
+018a 20200394 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_ep2_app_data:
 018b 70485540 jam 0x40 ,mem_dongle_usb_ep2_data 
@@ -489,7 +489,7 @@
 018e 70485808 jam 0x08 ,mem_dongle_usb_ep2_data + 3 
 018f 70485900 jam 0x00 ,mem_dongle_usb_ep2_data + 4 
 0190 70090c29 jam usb_ep2_app ,mem_usb_ep2_data 
-0191 20200321 branch p_dongle_usb_tx_enable_ep2 
+0191 20200394 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_tx_ep2_key_data:
 0192 70491840 jam 0x40 ,mem_usb_key_info_data 
@@ -498,7 +498,7 @@
 0195 70491b04 jam 0x04 ,mem_usb_key_info_data + 3 
 0196 70491c01 jam 0x01 ,mem_usb_key_info_data + 4 
 0197 70090c30 jam usb_ep2_key ,mem_usb_ep2_data 
-0198 20200321 branch p_dongle_usb_tx_enable_ep2 
+0198 20200394 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_get_connect_state:
 0199 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
@@ -514,7 +514,7 @@
 01a1 70481801 jam 0x01 ,mem_usb_rf_state_data + 4 
 01a2 70481901 jam 0x01 ,mem_usb_rf_state_data + 5 
 01a3 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
-01a4 20200321 branch p_dongle_usb_tx_enable_ep2 
+01a4 20200394 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_device_disconnect:
 01a5 70481440 jam 0x40 ,mem_usb_rf_state_data 
@@ -524,17 +524,17 @@
 01a9 70481801 jam 0x01 ,mem_usb_rf_state_data + 4 
 01aa 70481900 jam 0x00 ,mem_usb_rf_state_data + 5 
 01ab 70090c27 jam usb_ep2_mskb_state ,mem_usb_ep2_data 
-01ac 20200321 branch p_dongle_usb_tx_enable_ep2 
+01ac 20200394 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_usb_hci_cmd_set_ms_b4_fuction:
-01ad 6fe08879 fetch 1 ,mem_usb0_set_report_data + 4 
+01ad 6fe0887a fetch 1 ,mem_usb0_set_report_data + 5 
 01ae 67e0c9bf store 1 ,mem_ms_b4_function_flag 
 01af 7049c50a jam 10 ,mem_usb_delay_store_b4_flag_count 
 01b0 20600000 rtn 
 
 p_dongle_usb_hci_cmd_set_ms_b5_fuction:
-01b1 6fe08879 fetch 1 ,mem_usb0_set_report_data + 4 
-01b2 67e0c9bf store 1 ,mem_ms_b4_function_flag 
+01b1 6fe0887a fetch 1 ,mem_usb0_set_report_data + 5 
+01b2 67e0c9c2 store 1 ,mem_ms_b5_function_flag 
 01b3 7049c60a jam 10 ,mem_usb_delay_store_b5_flag_count 
 01b4 20600000 rtn 
 
@@ -701,21 +701,21 @@
 0236 67e0c696 store 1 ,mem_setreport_count 
 0237 20600000 rtn 
 
-p_usb_tx_ep2_queue_buff_check:
-0238 da204959 arg mem_usb_ep2_fifo ,rega 
+p_usb_tx_ep1_queue_buff_check:
+0238 da204961 arg mem_usb_ep1_fifo ,rega 
 0239 20407da3 call fifo_is_empty 
 023a 207a0000 rtn blank 
-023b 20204837 branch dongle_usb_tx_enable_ep2 
+023b 20204848 branch dongle_usb_tx_ep1_enable 
 
-p_usb_tx_ep1_queue_buff_check:
+p_usb_tx_ep2_queue_buff_check:
 023c da204959 arg mem_usb_ep2_fifo ,rega 
 023d 20407da3 call fifo_is_empty 
 023e 207a0000 rtn blank 
-023f 20204848 branch dongle_usb_tx_ep1_enable 
+023f 20204837 branch dongle_usb_tx_enable_ep2 
 
 p_usb_tx:
-0240 2040023c call p_usb_tx_ep1_queue_buff_check 
-0241 20400238 call p_usb_tx_ep2_queue_buff_check 
+0240 20400238 call p_usb_tx_ep1_queue_buff_check 
+0241 2040023c call p_usb_tx_ep2_queue_buff_check 
 0242 6fe0890d fetch 1 ,mem_usb_tx_enable 
 0243 207a0000 rtn blank 
 0244 6ff08c25 fetch 1 ,core_usb_txbusy 
@@ -728,10 +728,10 @@
 024b c0817c06 bne usb_connected ,usb_tx_fifo_release 
 024c 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
 024d 243a7c06 nbranch usb_tx_fifo_release ,blank 
-024e 20400333 call p_usb_tx_data_ep1 
+024e 204003a6 call p_usb_tx_data_ep1 
 024f 6fe0c97c fetch 1 ,mem_usb_website_step 
 0250 245a0252 ncall p_usb_ms_data_clear_key_value ,blank 
-0251 202003c0 branch p_usb_tx_data_ep2 
+0251 20200433 branch p_usb_tx_data_ep2 
 
 p_usb_ms_data_clear_key_value:
 0252 70091400 jam 0 ,mem_usb_mouse_data + 1 
@@ -770,7 +770,7 @@
 026b d8a00923 arg mem_usb_kb_data ,contw 
 026c 20407c9a call memset0_8 
 026d 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
-026e 2020032a branch p_dongle_usb_tx_enable_ep1 
+026e 2020039d branch p_dongle_usb_tx_enable_ep1 
 
 p_dongle_g24_kb:
 026f 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
@@ -800,7 +800,7 @@
 
 p_dongle_usb_tx_normal_data_enable:
 0285 70090b10 jam usb_ep1_kb ,mem_usb_ep1_data 
-0286 2020032a branch p_dongle_usb_tx_enable_ep1 
+0286 2020039d branch p_dongle_usb_tx_enable_ep1 
 
 p_dongle_g24_kb_type2:
 0287 d8a00943 arg mem_usb_kb_system ,contw 
@@ -820,7 +820,7 @@
 
 p_dongle_usb_tx_system_data_enable:
 0295 70090c22 jam usb_ep2_systemkey ,mem_usb_ep2_data 
-0296 20200321 branch p_dongle_usb_tx_enable_ep2 
+0296 20200394 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_g24_kb_type3:
 0297 d8a00933 arg mem_usb_kb_multikey ,contw 
@@ -840,15 +840,15 @@
 
 p_dongle_usb_tx_multikey_data_enable:
 02a5 70090c21 jam usb_ep2_multikey ,mem_usb_ep2_data 
-02a6 20200321 branch p_dongle_usb_tx_enable_ep2 
+02a6 20200394 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_g24_mouse:
 02a7 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
 02a8 c282026b bbit1 data_http ,p_dongle_usb_tx_http_data 
-02a9 c28182e8 bbit1 data_app ,p_dongle_receive_app_data 
-02aa c28282f0 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-02ab c283030a bbit1 data_device_info ,p_dongle_receive_device_info_data 
-02ac c283831b bbit1 data_battery ,p_dongle_receive_battery_data 
+02a9 c281835b bbit1 data_app ,p_dongle_receive_app_data 
+02aa c2828363 bbit1 data_dpi ,p_dongle_receive_dpi_data 
+02ab c283037d bbit1 data_device_info ,p_dongle_receive_device_info_data 
+02ac c283838e bbit1 data_battery ,p_dongle_receive_battery_data 
 02ad 202002ae branch p_dongle_g24_mouse_next 
 
 p_dongle_g24_mouse_next:
@@ -865,10 +865,10 @@
 02b8 20407cda call memcpy 
 02b9 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
 02ba c282026b bbit1 data_http ,p_dongle_usb_tx_http_data 
-02bb c28182e8 bbit1 data_app ,p_dongle_receive_app_data 
-02bc c28282f0 bbit1 data_dpi ,p_dongle_receive_dpi_data 
-02bd c283030a bbit1 data_device_info ,p_dongle_receive_device_info_data 
-02be c283831b bbit1 data_battery ,p_dongle_receive_battery_data 
+02bb c281835b bbit1 data_app ,p_dongle_receive_app_data 
+02bc c2828363 bbit1 data_dpi ,p_dongle_receive_dpi_data 
+02bd c283037d bbit1 data_device_info ,p_dongle_receive_device_info_data 
+02be c283838e bbit1 data_battery ,p_dongle_receive_battery_data 
 02bf 20600000 rtn 
 
 p_dongle_g24_mouse_data:
@@ -899,7 +899,7 @@
 p_dongle_mouse_data_tx_enable:
 02d3 204002d9 call p_dongle_receive_b4_b5_flag_check 
 02d4 70090c20 jam usb_ep2_ms ,mem_usb_ep2_data 
-02d5 20200321 branch p_dongle_usb_tx_enable_ep2 
+02d5 20200394 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_mouse_key_data_tx_enable:
 02d6 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
@@ -908,840 +908,1005 @@
 
 p_dongle_receive_b4_b5_flag_check:
 02d9 6fe0c9bf fetch 1 ,mem_ms_b4_function_flag 
-02da 1fe67c02 sub pdata ,b4_default ,null 
+02da 1fe67c01 sub pdata ,b4_default ,null 
 02db 244282e0 ncall p_dongle_b4_fuction_change_set ,zero 
 02dc 6fe0c9c2 fetch 1 ,mem_ms_b5_function_flag 
-02dd 1fe67c01 sub pdata ,b5_default ,null 
-02de 244282e4 ncall p_dongle_b5_fuction_change_set ,zero 
+02dd 1fe67c02 sub pdata ,b5_default ,null 
+02de 24428350 ncall p_dongle_b5_fuction_change_set ,zero 
 02df 20600000 rtn 
 
 p_dongle_b4_fuction_change_set:
 02e0 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
-02e1 793ffe03 set0 b4_bit ,pdata 
-02e2 67e08914 store 1 ,mem_usb_mouse_data + 1 
-02e3 20600000 rtn 
+02e1 793ffe04 set0 b4_bit ,pdata 
+02e2 20400311 call p_dongle_usb_mouse_dat_store 
+02e3 6fe0c96a fetch 1 ,mem_dg_mouse_data 
+02e4 2feffe04 isolate1 b4_bit ,pdata 
+02e5 204082fd call p_donge_ms_b4_key_press_set ,true 
+02e6 244082e8 ncall p_donge_ms_fuction_key_release_set ,true 
+02e7 20600000 rtn 
+
+p_donge_ms_fuction_key_release_set:
+02e8 6fe0c9fa fetch 1 ,mem_usb_normal_key_flag 
+02e9 245a02ef ncall p_dongle_ms_normal_key_release ,blank 
+02ea 6fe0c9fb fetch 1 ,mem_usb_multikey_key_flag 
+02eb 245a02f3 ncall p_dongle_ms_multikey_key_release ,blank 
+02ec 6fe0c9fc fetch 1 ,mem_usb_system_key_flag 
+02ed 245a02f8 ncall p_dongle_ms_system_key_release ,blank 
+02ee 20600000 rtn 
+
+p_dongle_ms_normal_key_release:
+02ef 7049fa00 jam 0 ,mem_usb_normal_key_flag 
+02f0 d8a00923 arg mem_usb_kb_data ,contw 
+02f1 20407c99 call memset0_16 
+02f2 2020031a branch p_dongle_ms_tx_normal_data + 1 
+
+p_dongle_ms_multikey_key_release:
+02f3 7049fb00 jam 0 ,mem_usb_multikey_key_flag 
+02f4 d8a00933 arg mem_usb_kb_multikey ,contw 
+02f5 20407c99 call memset0_16 
+02f6 6fe1c9f7 fetch 3 ,mem_usb_multkey_release 
+02f7 20200328 branch p_dongle_ms_tx_multikey_data + 1 
+
+p_dongle_ms_system_key_release:
+02f8 7049fc00 jam 0 ,mem_usb_system_key_flag 
+02f9 d8a00943 arg mem_usb_kb_system ,contw 
+02fa 20407c99 call memset0_16 
+02fb 6fe1c9f4 fetch 3 ,mem_usb_system_ctrl_release 
+02fc 2020034c branch p_dongle_ms_tx_system_data + 1 
+
+p_donge_ms_b4_key_press_set:
+02fd 6fe0c9bf fetch 1 ,mem_ms_b4_function_flag 
+02fe 67e0c9c7 store 1 ,mem_ms_key_function_flag_temp 
+
+p_dongle_ms_key_press_val_set:
+02ff 6fe0c9c7 fetch 1 ,mem_ms_key_function_flag_temp 
+0300 c000830f beq forword ,p_dongle_ms_forword_val_set 
+0301 c0010313 beq backword ,p_dongle_ms_back_val_set 
+0302 c0018316 beq alt_a ,p_dongle_ms_alt_a_val_set 
+0303 c0020320 beq boss ,p_dongle_ms_boss_val_set 
+0304 c0028324 beq vol_add ,p_dongle_ms_vol_add_val_set 
+0305 c003032c beq vol_down ,p_dongle_ms_vol_down_val_set 
+0306 c003831c beq pc_sleep ,p_dongle_ms_pc_sleep_val_set 
+0307 c0040330 beq light_add ,p_dongle_ms_light_add_val_set 
+0308 c0048334 beq light_down ,p_dongle_ms_light_down_val_set 
+0309 c0050348 beq powerdown ,p_dongle_ms_powerdown_val_set 
+030a c0058338 beq play ,p_dongle_ms_play_set 
+030b c006033c beq paly_forword ,p_dongle_ms_play_forword_set 
+030c c0068340 beq play_next ,p_dongle_ms_play_next_set 
+030d c0070344 beq task_windows ,p_dongle_ms_task_windows_set 
+030e 20600000 rtn 
+
+p_dongle_ms_forword_val_set:
+030f 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
+0310 79207e03 set1 b5_bit ,pdata 
+
+p_dongle_usb_mouse_dat_store:
+0311 67e08914 store 1 ,mem_usb_mouse_data + 1 
+0312 20600000 rtn 
+
+p_dongle_ms_back_val_set:
+0313 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
+0314 79207e04 set1 b4_bit ,pdata 
+0315 20200311 branch p_dongle_usb_mouse_dat_store 
+
+p_dongle_ms_alt_a_val_set:
+0316 d8a00923 arg mem_usb_kb_data ,contw 
+0317 20407c99 call memset0_16 
+0318 6fe1c9d0 fetch 3 ,mem_usb_win_alt_a 
+
+p_dongle_ms_tx_normal_data:
+0319 7049fa01 jam 1 ,mem_usb_normal_key_flag 
+031a 67e18923 store 3 ,mem_usb_kb_data 
+031b 20200285 branch p_dongle_usb_tx_normal_data_enable 
+
+p_dongle_ms_pc_sleep_val_set:
+031c d8a00923 arg mem_usb_kb_data ,contw 
+031d 20407c99 call memset0_16 
+031e 6fe1c9dc fetch 3 ,mem_usb_win_sleep 
+031f 20200319 branch p_dongle_ms_tx_normal_data 
+
+p_dongle_ms_boss_val_set:
+0320 d8a00923 arg mem_usb_kb_data ,contw 
+0321 20407c99 call memset0_16 
+0322 6fe1c9d3 fetch 3 ,mem_usb_win_win_d 
+0323 20200319 branch p_dongle_ms_tx_normal_data 
+
+p_dongle_ms_vol_add_val_set:
+0324 d8a00933 arg mem_usb_kb_multikey ,contw 
+0325 20407c99 call memset0_16 
+0326 6fe1c9d6 fetch 3 ,mem_usb_win_vol_add 
+
+p_dongle_ms_tx_multikey_data:
+0327 7049fb01 jam 1 ,mem_usb_multikey_key_flag 
+0328 67e18934 store 3 ,mem_usb_kb_multikey + 1 
+0329 70093303 jam kb_multikey_report_id ,mem_usb_kb_multikey 
+032a 70090c21 jam usb_ep2_multikey ,mem_usb_ep2_data 
+032b 20200394 branch p_dongle_usb_tx_enable_ep2 
+
+p_dongle_ms_vol_down_val_set:
+032c d8a00933 arg mem_usb_kb_multikey ,contw 
+032d 20407c99 call memset0_16 
+032e 6fe1c9d9 fetch 3 ,mem_usb_win_vol_decrease 
+032f 20200327 branch p_dongle_ms_tx_multikey_data 
+
+p_dongle_ms_light_add_val_set:
+0330 d8a00933 arg mem_usb_kb_multikey ,contw 
+0331 20407c99 call memset0_16 
+0332 6fe1c9df fetch 3 ,mem_usb_win_light_add 
+0333 20200327 branch p_dongle_ms_tx_multikey_data 
+
+p_dongle_ms_light_down_val_set:
+0334 d8a00933 arg mem_usb_kb_multikey ,contw 
+0335 20407c99 call memset0_16 
+0336 6fe1c9e2 fetch 3 ,mem_usb_win_light_decrease 
+0337 20200327 branch p_dongle_ms_tx_multikey_data 
+
+p_dongle_ms_play_set:
+0338 d8a00933 arg mem_usb_kb_multikey ,contw 
+0339 20407c99 call memset0_16 
+033a 6fe1c9e8 fetch 3 ,mem_usb_win_play 
+033b 20200327 branch p_dongle_ms_tx_multikey_data 
+
+p_dongle_ms_play_forword_set:
+033c d8a00933 arg mem_usb_kb_multikey ,contw 
+033d 20407c99 call memset0_16 
+033e 6fe1c9eb fetch 3 ,mem_usb_win_forword_play 
+033f 20200327 branch p_dongle_ms_tx_multikey_data 
+
+p_dongle_ms_play_next_set:
+0340 d8a00933 arg mem_usb_kb_multikey ,contw 
+0341 20407c99 call memset0_16 
+0342 6fe1c9ee fetch 3 ,mem_usb_win_next_play 
+0343 20200327 branch p_dongle_ms_tx_multikey_data 
+
+p_dongle_ms_task_windows_set:
+0344 d8a00933 arg mem_usb_kb_multikey ,contw 
+0345 20407c99 call memset0_16 
+0346 6fe1c9f1 fetch 3 ,mem_usb_win_task_windows 
+0347 20200327 branch p_dongle_ms_tx_multikey_data 
+
+p_dongle_ms_powerdown_val_set:
+0348 d8a00943 arg mem_usb_kb_system ,contw 
+0349 20407c99 call memset0_16 
+034a 6fe1c9e5 fetch 3 ,mem_usb_win_powerdown 
+
+p_dongle_ms_tx_system_data:
+034b 7049fc01 jam 1 ,mem_usb_system_key_flag 
+034c 67e18944 store 3 ,mem_usb_kb_system + 1 
+034d 70094302 jam kb_system_conctrl_report_id ,mem_usb_kb_system 
+034e 70090c22 jam usb_ep2_systemkey ,mem_usb_ep2_data 
+034f 20200394 branch p_dongle_usb_tx_enable_ep2 
 
 p_dongle_b5_fuction_change_set:
-02e4 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
-02e5 793ffe04 set0 b5_bit ,pdata 
-02e6 67e08914 store 1 ,mem_usb_mouse_data + 1 
-02e7 20600000 rtn 
+0350 6fe08914 fetch 1 ,mem_usb_mouse_data + 1 
+0351 793ffe03 set0 b5_bit ,pdata 
+0352 20400311 call p_dongle_usb_mouse_dat_store 
+0353 6fe0c96a fetch 1 ,mem_dg_mouse_data 
+0354 2feffe03 isolate1 b5_bit ,pdata 
+0355 20408358 call p_donge_ms_b5_key_press_set ,true 
+0356 244082e8 ncall p_donge_ms_fuction_key_release_set ,true 
+0357 20600000 rtn 
+
+p_donge_ms_b5_key_press_set:
+0358 6fe0c9c2 fetch 1 ,mem_ms_b5_function_flag 
+0359 67e0c9c7 store 1 ,mem_ms_key_function_flag_temp 
+035a 202002ff branch p_dongle_ms_key_press_val_set 
 
 p_dongle_receive_app_data:
-02e8 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-02e9 6848c80e fetcht 1 ,mem_dongle_app_data 
-02ea 98467c00 isub temp ,null 
-02eb 20628000 rtn zero 
-02ec 67e0c80e store 1 ,mem_dongle_app_data 
-02ed 6fe0c80e fetch 1 ,mem_dongle_app_data 
-02ee c1ff8000 rtnne long_press 
-02ef 2020018b branch p_dongle_usb_tx_ep2_app_data 
+035b 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+035c 6848c80e fetcht 1 ,mem_dongle_app_data 
+035d 98467c00 isub temp ,null 
+035e 20628000 rtn zero 
+035f 67e0c80e store 1 ,mem_dongle_app_data 
+0360 6fe0c80e fetch 1 ,mem_dongle_app_data 
+0361 c1ff8000 rtnne long_press 
+0362 2020018b branch p_dongle_usb_tx_ep2_app_data 
 
 p_dongle_receive_dpi_data:
-02f0 6fe145eb fetch 2 ,mem_24g_rxdata_temp + 3 
-02f1 67e14805 store 2 ,mem_usb_get_report_dpi_data 
+0363 6fe145eb fetch 2 ,mem_24g_rxdata_temp + 3 
+0364 67e14805 store 2 ,mem_usb_get_report_dpi_data 
 
 p_dongle_receive_dpi_data_compare:
-02f2 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
-02f3 6848c812 fetcht 1 ,mem_dongle_receive_dpi_data 
-02f4 98467c00 isub temp ,null 
-02f5 244282fb ncall p_dongle_usb_ep2_tx_dpi_data_enable ,zero 
-02f6 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
-02f7 6848c813 fetcht 1 ,mem_dongle_receive_dpi_data + 1 
-02f8 98467c00 isub temp ,null 
-02f9 244282fe ncall p_dongle_usb_ep2_tx_dpi_state_data_enable ,zero 
-02fa 20600000 rtn 
+0365 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
+0366 6848c812 fetcht 1 ,mem_dongle_receive_dpi_data 
+0367 98467c00 isub temp ,null 
+0368 2442836e ncall p_dongle_usb_ep2_tx_dpi_data_enable ,zero 
+0369 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
+036a 6848c813 fetcht 1 ,mem_dongle_receive_dpi_data + 1 
+036b 98467c00 isub temp ,null 
+036c 24428371 ncall p_dongle_usb_ep2_tx_dpi_state_data_enable ,zero 
+036d 20600000 rtn 
 
 p_dongle_usb_ep2_tx_dpi_data_enable:
-02fb 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
-02fc 67e0c812 store 1 ,mem_dongle_receive_dpi_data 
-02fd 2020016f branch p_dongle_usb_tx_ep2_dpi_data 
+036e 6fe0c805 fetch 1 ,mem_usb_get_report_dpi_data 
+036f 67e0c812 store 1 ,mem_dongle_receive_dpi_data 
+0370 2020016f branch p_dongle_usb_tx_ep2_dpi_data 
 
 p_dongle_usb_ep2_tx_dpi_state_data_enable:
-02fe 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
-02ff 67e0c813 store 1 ,mem_dongle_receive_dpi_data + 1 
-0300 c02a8303 beq release ,p_dongle_dpi_key_release 
-0301 c0550306 beq press ,p_dongle_dpi_key_press 
-0302 20600000 rtn 
+0371 6fe0c806 fetch 1 ,mem_usb_get_report_dpi_data + 1 
+0372 67e0c813 store 1 ,mem_dongle_receive_dpi_data + 1 
+0373 c02a8376 beq release ,p_dongle_dpi_key_release 
+0374 c0550379 beq press ,p_dongle_dpi_key_press 
+0375 20600000 rtn 
 
 p_dongle_dpi_key_release:
-0303 6fe0c91d fetch 1 ,mem_usb_key_info_data + 5 
-0304 793ffe05 set0 5 ,pdata 
-0305 20200308 branch p_dongle_dpi_key_press + 2 
+0376 6fe0c91d fetch 1 ,mem_usb_key_info_data + 5 
+0377 793ffe05 set0 5 ,pdata 
+0378 2020037b branch p_dongle_dpi_key_press + 2 
 
 p_dongle_dpi_key_press:
-0306 6fe0c91d fetch 1 ,mem_usb_key_info_data + 5 
-0307 79207e05 set1 5 ,pdata 
-0308 67e0c91d store 1 ,mem_usb_key_info_data + 5 
-0309 20200192 branch p_dongle_usb_tx_ep2_key_data 
+0379 6fe0c91d fetch 1 ,mem_usb_key_info_data + 5 
+037a 79207e05 set1 5 ,pdata 
+037b 67e0c91d store 1 ,mem_usb_key_info_data + 5 
+037c 20200192 branch p_dongle_usb_tx_ep2_key_data 
 
 p_dongle_receive_device_info_data:
-030a 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
-030b 1f20f3ff increase -1 ,loopcnt 
-030c da2045eb arg mem_24g_rxdata_temp + 3 ,rega 
-030d da4047ff arg mem_usb_get_report_sn_data ,regb 
-030e 20407d64 call compare_loop 
-030f 20628000 rtn zero 
-0310 6fe345eb fetch 6 ,mem_24g_rxdata_temp + 3 
-0311 67e347ff store 6 ,mem_usb_get_report_sn_data 
-0312 6fe145f4 fetch 2 ,mem_24g_rxdata_temp + 12 
-0313 67e14808 store 2 ,mem_usb_get_report_mouse_version_data 
-0314 6fe145f1 fetch 2 ,mem_24g_rxdata_temp + 9 
-0315 67e14805 store 2 ,mem_usb_get_report_dpi_data 
-0316 6fe145f6 fetch 2 ,mem_24g_rxdata_temp + 14 
-0317 67e1480a store 2 ,mem_usb_get_report_code_data 
-0318 204002f2 call p_dongle_receive_dpi_data_compare 
-0319 6fe0c5f3 fetch 1 ,mem_24g_rxdata_temp + 11 
-031a 2020031c branch p_dongle_receive_battery_data_compare 
+037d 6f20c57d fetchr loopcnt ,1 ,mem_24g_rxdata_length 
+037e 1f20f3ff increase -1 ,loopcnt 
+037f da2045eb arg mem_24g_rxdata_temp + 3 ,rega 
+0380 da4047ff arg mem_usb_get_report_sn_data ,regb 
+0381 20407d64 call compare_loop 
+0382 20628000 rtn zero 
+0383 6fe345eb fetch 6 ,mem_24g_rxdata_temp + 3 
+0384 67e347ff store 6 ,mem_usb_get_report_sn_data 
+0385 6fe145f4 fetch 2 ,mem_24g_rxdata_temp + 12 
+0386 67e14808 store 2 ,mem_usb_get_report_mouse_version_data 
+0387 6fe145f1 fetch 2 ,mem_24g_rxdata_temp + 9 
+0388 67e14805 store 2 ,mem_usb_get_report_dpi_data 
+0389 6fe145f6 fetch 2 ,mem_24g_rxdata_temp + 14 
+038a 67e1480a store 2 ,mem_usb_get_report_code_data 
+038b 20400365 call p_dongle_receive_dpi_data_compare 
+038c 6fe0c5f3 fetch 1 ,mem_24g_rxdata_temp + 11 
+038d 2020038f branch p_dongle_receive_battery_data_compare 
 
 p_dongle_receive_battery_data:
-031b 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+038e 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
 
 p_dongle_receive_battery_data_compare:
-031c 6848c807 fetcht 1 ,mem_usb_get_report_battery_data 
-031d 98467c00 isub temp ,null 
-031e 20628000 rtn zero 
-031f 67e0c807 store 1 ,mem_usb_get_report_battery_data 
-0320 20200182 branch p_dongle_usb_tx_ep2_battery_data 
+038f 6848c807 fetcht 1 ,mem_usb_get_report_battery_data 
+0390 98467c00 isub temp ,null 
+0391 20628000 rtn zero 
+0392 67e0c807 store 1 ,mem_usb_get_report_battery_data 
+0393 20200182 branch p_dongle_usb_tx_ep2_battery_data 
 
 p_dongle_usb_tx_enable_ep2:
-0321 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-0322 207a0000 rtn blank 
-0323 da204959 arg mem_usb_ep2_fifo ,rega 
-0324 20407da5 call fifo_is_full 
-0325 247a0000 nrtn blank 
-0326 6fe0890c fetch 1 ,mem_usb_ep2_data 
-0327 67e0866f store 1 ,mem_fifo_temp 
-0328 da204959 arg mem_usb_ep2_fifo ,rega 
-0329 20207d8b branch fifo_in 
+0394 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+0395 207a0000 rtn blank 
+0396 da204959 arg mem_usb_ep2_fifo ,rega 
+0397 20407da5 call fifo_is_full 
+0398 247a0000 nrtn blank 
+0399 6fe0890c fetch 1 ,mem_usb_ep2_data 
+039a 67e0866f store 1 ,mem_fifo_temp 
+039b da204959 arg mem_usb_ep2_fifo ,rega 
+039c 20207d8b branch fifo_in 
 
 p_dongle_usb_tx_enable_ep1:
-032a 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
-032b 207a0000 rtn blank 
-032c da204961 arg mem_usb_ep1_fifo ,rega 
-032d 20407da5 call fifo_is_full 
-032e 247a0000 nrtn blank 
-032f 6fe0c961 fetch 1 ,mem_usb_ep1_fifo 
-0330 67e0866f store 1 ,mem_fifo_temp 
-0331 da204961 arg mem_usb_ep1_fifo ,rega 
-0332 20207d8b branch fifo_in 
+039d 6fe0890e fetch 1 ,mem_usb_device_enumeration_endflag 
+039e 207a0000 rtn blank 
+039f da204961 arg mem_usb_ep1_fifo ,rega 
+03a0 20407da5 call fifo_is_full 
+03a1 247a0000 nrtn blank 
+03a2 6fe0890b fetch 1 ,mem_usb_ep1_data 
+03a3 67e0866f store 1 ,mem_fifo_temp 
+03a4 da204961 arg mem_usb_ep1_fifo ,rega 
+03a5 20207d8b branch fifo_in 
 
 p_usb_tx_data_ep1:
-0333 da204961 arg mem_usb_ep1_fifo ,rega 
-0334 20407da3 call fifo_is_empty 
-0335 207a0000 rtn blank 
-0336 6ff08c25 fetch 1 ,core_usb_txbusy 
-0337 1fe17e0f and_into 0x0f ,pdata 
-0338 247a0000 nrtn blank 
-0339 6fe0890d fetch 1 ,mem_usb_tx_enable 
-033a c4008000 rtnbit0 1 
-033b 6fe0890d fetch 1 ,mem_usb_tx_enable 
-033c 793ffe01 set0 1 ,pdata 
-033d 67e0890d store 1 ,mem_usb_tx_enable 
-033e da204961 arg mem_usb_ep1_fifo ,rega 
-033f 20407d97 call fifo_out 
-0340 207a0000 rtn blank 
-0341 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
-0342 c0088344 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
-0343 2020235a branch assert 
+03a6 da204961 arg mem_usb_ep1_fifo ,rega 
+03a7 20407da3 call fifo_is_empty 
+03a8 207a0000 rtn blank 
+03a9 6ff08c25 fetch 1 ,core_usb_txbusy 
+03aa 1fe17e0f and_into 0x0f ,pdata 
+03ab 247a0000 nrtn blank 
+03ac 6fe0890d fetch 1 ,mem_usb_tx_enable 
+03ad c4008000 rtnbit0 1 
+03ae 6fe0890d fetch 1 ,mem_usb_tx_enable 
+03af 793ffe01 set0 1 ,pdata 
+03b0 67e0890d store 1 ,mem_usb_tx_enable 
+03b1 da204961 arg mem_usb_ep1_fifo ,rega 
+03b2 20407d97 call fifo_out 
+03b3 207a0000 rtn blank 
+03b4 c0087c28 beq usb_ep1_kb ,usb_tx_kb_normal_data 
+03b5 c00883b7 beq usb_ep1_kb_http ,p_usb_tx_http_data_set 
+03b6 2020235a branch assert 
 
 p_usb_tx_http_data_set:
-0344 6fe0c97c fetch 1 ,mem_usb_website_step 
-0345 c0000350 beq key_release ,p_usb_webstie_key_release_data 
-0346 c0008352 beq website_win ,p_usb_website_winr_data 
-0347 c0010360 beq website_r_space_release ,p_usb_website_r_space_release_data 
-0348 c0018364 beq website_win_release ,p_usb_website_win_release_data 
-0349 c0020374 beq website_wait ,p_usb_website_wait_tx_data 
-034a c002837b beq website_data ,p_usb_website_data 
-034b c003036a beq website_enter_1 ,p_usb_website_enter_data1 
-034c c003836e beq website_enter_release_1 ,p_usb_website_enter_release_data1 
-034d c0040370 beq website_enter_2 ,p_usb_website_enter_data2 
-034e c0048372 beq website_enter_release_2 ,p_usb_website_enter_release_data2 
-034f 20600000 rtn 
+03b7 6fe0c97c fetch 1 ,mem_usb_website_step 
+03b8 c00003c3 beq key_release ,p_usb_webstie_key_release_data 
+03b9 c00083c5 beq website_win ,p_usb_website_winr_data 
+03ba c00103d3 beq website_r_space_release ,p_usb_website_r_space_release_data 
+03bb c00183d7 beq website_win_release ,p_usb_website_win_release_data 
+03bc c00203e7 beq website_wait ,p_usb_website_wait_tx_data 
+03bd c00283ee beq website_data ,p_usb_website_data 
+03be c00303dd beq website_enter_1 ,p_usb_website_enter_data1 
+03bf c00383e1 beq website_enter_release_1 ,p_usb_website_enter_release_data1 
+03c0 c00403e3 beq website_enter_2 ,p_usb_website_enter_data2 
+03c1 c00483e5 beq website_enter_release_2 ,p_usb_website_enter_release_data2 
+03c2 20600000 rtn 
 
 p_usb_webstie_key_release_data:
-0350 70497c01 jam website_win ,mem_usb_website_step 
-0351 20204832 branch dongle_g24_ms_blank_data_tx_ep2 
+03c3 70497c01 jam website_win ,mem_usb_website_step 
+03c4 20204832 branch dongle_g24_ms_blank_data_tx_ep2 
 
 p_usb_website_winr_data:
-0352 dfe04982 arg mem_usb_website_info + 1 ,pdata 
-0353 67e1497f store 2 ,mem_usb_website_ptr 
-0354 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
-0355 c0000358 beq 0 ,p_usb_tx_winos_winr_data 
-0356 c000835c beq 1 ,p_usb_tx_macos_winr_data 
-0357 20600000 rtn 
+03c5 dfe04982 arg mem_usb_website_info + 1 ,pdata 
+03c6 67e1497f store 2 ,mem_usb_website_ptr 
+03c7 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
+03c8 c00003cb beq 0 ,p_usb_tx_winos_winr_data 
+03c9 c00083cf beq 1 ,p_usb_tx_macos_winr_data 
+03ca 20600000 rtn 
 
 p_usb_tx_winos_winr_data:
-0358 70497c02 jam website_r_space_release ,mem_usb_website_step 
-0359 6fe1c972 fetch 3 ,mem_usb_win_cmd 
-035a 67e18923 store 3 ,mem_usb_kb_data 
-035b 20207c28 branch usb_tx_kb_normal_data 
+03cb 70497c02 jam website_r_space_release ,mem_usb_website_step 
+03cc 6fe1c972 fetch 3 ,mem_usb_win_cmd 
+03cd 67e18923 store 3 ,mem_usb_kb_data 
+03ce 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_macos_winr_data:
-035c 70497c02 jam website_r_space_release ,mem_usb_website_step 
-035d 6fe1c975 fetch 3 ,mem_usb_mac_cmd 
-035e 67e18923 store 3 ,mem_usb_kb_data 
-035f 20207c28 branch usb_tx_kb_normal_data 
+03cf 70497c02 jam website_r_space_release ,mem_usb_website_step 
+03d0 6fe1c975 fetch 3 ,mem_usb_mac_cmd 
+03d1 67e18923 store 3 ,mem_usb_kb_data 
+03d2 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_r_space_release_data:
-0360 70497c03 jam website_win_release ,mem_usb_website_step 
-0361 6fe0c972 fetch 1 ,mem_usb_win_cmd 
-0362 67e08923 store 1 ,mem_usb_kb_data 
-0363 20207c28 branch usb_tx_kb_normal_data 
+03d3 70497c03 jam website_win_release ,mem_usb_website_step 
+03d4 6fe0c972 fetch 1 ,mem_usb_win_cmd 
+03d5 67e08923 store 1 ,mem_usb_kb_data 
+03d6 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_win_release_data:
-0364 70497c04 jam website_wait ,mem_usb_website_step 
+03d7 70497c04 jam website_wait ,mem_usb_website_step 
 
 p_usb_webstie_release_data:
-0365 d8a00923 arg mem_usb_kb_data ,contw 
-0366 df200008 arg 8 ,loopcnt 
-0367 20407ca3 call memset0 
-0368 70497e00 jam 0 ,mem_usb_website_release_flag 
-0369 20207c28 branch usb_tx_kb_normal_data 
+03d8 d8a00923 arg mem_usb_kb_data ,contw 
+03d9 df200008 arg 8 ,loopcnt 
+03da 20407ca3 call memset0 
+03db 70497e00 jam 0 ,mem_usb_website_release_flag 
+03dc 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_data1:
-036a 70497c07 jam website_enter_release_1 ,mem_usb_website_step 
+03dd 70497c07 jam website_enter_release_1 ,mem_usb_website_step 
 
 p_usb_webstie_enter_data:
-036b 6fe1c978 fetch 3 ,mem_usb_kb_enter 
-036c 67e18923 store 3 ,mem_usb_kb_data 
-036d 20207c28 branch usb_tx_kb_normal_data 
+03de 6fe1c978 fetch 3 ,mem_usb_kb_enter 
+03df 67e18923 store 3 ,mem_usb_kb_data 
+03e0 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_website_enter_release_data1:
-036e 70497c08 jam website_enter_2 ,mem_usb_website_step 
-036f 20200365 branch p_usb_webstie_release_data 
+03e1 70497c08 jam website_enter_2 ,mem_usb_website_step 
+03e2 202003d8 branch p_usb_webstie_release_data 
 
 p_usb_website_enter_data2:
-0370 70497c09 jam website_enter_release_2 ,mem_usb_website_step 
-0371 2020036b branch p_usb_webstie_enter_data 
+03e3 70497c09 jam website_enter_release_2 ,mem_usb_website_step 
+03e4 202003de branch p_usb_webstie_enter_data 
 
 p_usb_website_enter_release_data2:
-0372 70497c00 jam website_done ,mem_usb_website_step 
-0373 20200365 branch p_usb_webstie_release_data 
+03e5 70497c00 jam website_done ,mem_usb_website_step 
+03e6 202003d8 branch p_usb_webstie_release_data 
 
 p_usb_website_wait_tx_data:
-0374 6fe0c97b fetch 1 ,mem_usb_website_wait_count 
-0375 1fe0fe01 increase 1 ,pdata 
-0376 67e0c97b store 1 ,mem_usb_website_wait_count 
-0377 c1878000 rtnne website_wait_count 
-0378 70497b00 jam 0 ,mem_usb_website_wait_count 
-0379 70497c05 jam website_data ,mem_usb_website_step 
-037a 20600000 rtn 
+03e7 6fe0c97b fetch 1 ,mem_usb_website_wait_count 
+03e8 1fe0fe01 increase 1 ,pdata 
+03e9 67e0c97b store 1 ,mem_usb_website_wait_count 
+03ea c1878000 rtnne website_wait_count 
+03eb 70497b00 jam 0 ,mem_usb_website_wait_count 
+03ec 70497c05 jam website_data ,mem_usb_website_step 
+03ed 20600000 rtn 
 
 p_usb_website_data:
-037b 6fe0c97e fetch 1 ,mem_usb_website_release_flag 
-037c c0008365 beq 1 ,p_usb_webstie_release_data 
-037d c0000381 beq 0 ,p_usb_website_info_data 
-037e 20600000 rtn 
+03ee 6fe0c97e fetch 1 ,mem_usb_website_release_flag 
+03ef c00083d8 beq 1 ,p_usb_webstie_release_data 
+03f0 c00003f4 beq 0 ,p_usb_website_info_data 
+03f1 20600000 rtn 
 
 p_usb_webstie_info_data_done:
-037f 70497c06 jam website_enter_1 ,mem_usb_website_step 
-0380 20600000 rtn 
+03f2 70497c06 jam website_enter_1 ,mem_usb_website_step 
+03f3 20600000 rtn 
 
 p_usb_website_info_data:
-0381 d8404982 arg mem_usb_website_info + 1 ,temp 
-0382 6fe0c981 fetch 1 ,mem_usb_website_info 
-0383 98408400 iadd temp ,temp 
-0384 6fe1497f fetch 2 ,mem_usb_website_ptr 
-0385 98467c00 isub temp ,null 
-0386 2022837f branch p_usb_webstie_info_data_done ,zero 
-0387 20400391 call p_usb_tx_website_acii2hidkey 
-0388 204003b3 call p_usb_tx_website_need_shift 
-0389 6fe0c97d fetch 1 ,mem_usb_website_shift_flag 
-038a 67e08923 store 1 ,mem_usb_kb_data 
-038b 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
-038c 6fe1497f fetch 2 ,mem_usb_website_ptr 
-038d 1fe0fe01 increase 1 ,pdata 
-038e 67e1497f store 2 ,mem_usb_website_ptr 
-038f 70497e01 jam 1 ,mem_usb_website_release_flag 
-0390 20207c28 branch usb_tx_kb_normal_data 
+03f4 d8404982 arg mem_usb_website_info + 1 ,temp 
+03f5 6fe0c981 fetch 1 ,mem_usb_website_info 
+03f6 98408400 iadd temp ,temp 
+03f7 6fe1497f fetch 2 ,mem_usb_website_ptr 
+03f8 98467c00 isub temp ,null 
+03f9 202283f2 branch p_usb_webstie_info_data_done ,zero 
+03fa 20400404 call p_usb_tx_website_acii2hidkey 
+03fb 20400426 call p_usb_tx_website_need_shift 
+03fc 6fe0c97d fetch 1 ,mem_usb_website_shift_flag 
+03fd 67e08923 store 1 ,mem_usb_kb_data 
+03fe 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
+03ff 6fe1497f fetch 2 ,mem_usb_website_ptr 
+0400 1fe0fe01 increase 1 ,pdata 
+0401 67e1497f store 2 ,mem_usb_website_ptr 
+0402 70497e01 jam 1 ,mem_usb_website_release_flag 
+0403 20207c28 branch usb_tx_kb_normal_data 
 
 p_usb_tx_website_acii2hidkey:
-0391 6849497f fetcht 2 ,mem_usb_website_ptr 
-0392 efe08002 ifetch 1 ,temp 
-0393 1fe67c7a sub pdata ,0x7a ,null 
-0394 24210398 nbranch p_usb_tx_website_acii2hidkey1 ,positive 
-0395 da400061 arg 0x61 ,regb 
-0396 9a462200 isub regb ,rega 
-0397 202103af branch p_usb_tx_website_acii2keycode_a2z ,positive 
+0404 6849497f fetcht 2 ,mem_usb_website_ptr 
+0405 efe08002 ifetch 1 ,temp 
+0406 1fe67c7a sub pdata ,0x7a ,null 
+0407 2421040b nbranch p_usb_tx_website_acii2hidkey1 ,positive 
+0408 da400061 arg 0x61 ,regb 
+0409 9a462200 isub regb ,rega 
+040a 20210422 branch p_usb_tx_website_acii2keycode_a2z ,positive 
 
 p_usb_tx_website_acii2hidkey1:
-0398 efe08002 ifetch 1 ,temp 
-0399 1fe67c39 sub pdata ,0x39 ,null 
-039a 2421039e nbranch p_usb_tx_website_acii2keycode_sign ,positive 
-039b da400030 arg 0x30 ,regb 
-039c 9a462200 isub regb ,rega 
-039d 202103b1 branch p_usb_tx_website_acii2keycode_029 ,positive 
+040b efe08002 ifetch 1 ,temp 
+040c 1fe67c39 sub pdata ,0x39 ,null 
+040d 24210411 nbranch p_usb_tx_website_acii2keycode_sign ,positive 
+040e da400030 arg 0x30 ,regb 
+040f 9a462200 isub regb ,rega 
+0410 20210424 branch p_usb_tx_website_acii2keycode_029 ,positive 
 
 p_usb_tx_website_acii2keycode_sign:
-039e 1fe67c3a sub pdata ,0x3a ,null 
-039f 202283a7 branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
-03a0 1fe67c2f sub pdata ,0x2f ,null 
-03a1 202283a9 branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
-03a2 1fe67c2e sub pdata ,0x2e ,null 
-03a3 202283ab branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
-03a4 1fe67c2d sub pdata ,0x2d ,null 
-03a5 202283ad branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
-03a6 20600000 rtn 
+0411 1fe67c3a sub pdata ,0x3a ,null 
+0412 2022841a branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
+0413 1fe67c2f sub pdata ,0x2f ,null 
+0414 2022841c branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
+0415 1fe67c2e sub pdata ,0x2e ,null 
+0416 2022841e branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
+0417 1fe67c2d sub pdata ,0x2d ,null 
+0418 20228420 branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
+0419 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_3a:
-03a7 da200033 arg 0x33 ,rega 
-03a8 20600000 rtn 
+041a da200033 arg 0x33 ,rega 
+041b 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2f:
-03a9 da200038 arg 0x38 ,rega 
-03aa 20600000 rtn 
+041c da200038 arg 0x38 ,rega 
+041d 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2e:
-03ab da200037 arg 0x37 ,rega 
-03ac 20600000 rtn 
+041e da200037 arg 0x37 ,rega 
+041f 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_sign_2d:
-03ad da20002d arg 0x2d ,rega 
-03ae 20600000 rtn 
+0420 da20002d arg 0x2d ,rega 
+0421 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_a2z:
-03af 1a20a204 add rega ,4 ,rega 
-03b0 20600000 rtn 
+0422 1a20a204 add rega ,4 ,rega 
+0423 20600000 rtn 
 
 p_usb_tx_website_acii2keycode_029:
-03b1 1a20a227 add rega ,0x27 ,rega 
-03b2 20600000 rtn 
+0424 1a20a227 add rega ,0x27 ,rega 
+0425 20600000 rtn 
 
 p_usb_tx_website_need_shift:
-03b3 70497d00 jam 0 ,mem_usb_website_shift_flag 
-03b4 6fe1497f fetch 2 ,mem_usb_website_ptr 
-03b5 efe0803f ifetch 1 ,pdata 
-03b6 d8c049aa arg mem_usb_website_info_sign + 1 ,contr 
-03b7 6848c9a9 fetcht 1 ,mem_usb_website_info_sign 
-03b8 18427200 copy temp ,loopcnt 
+0426 70497d00 jam 0 ,mem_usb_website_shift_flag 
+0427 6fe1497f fetch 2 ,mem_usb_website_ptr 
+0428 efe0803f ifetch 1 ,pdata 
+0429 d8c049aa arg mem_usb_website_info_sign + 1 ,contr 
+042a 6848c9a9 fetcht 1 ,mem_usb_website_info_sign 
+042b 18427200 copy temp ,loopcnt 
 
 p_usb_tx_website_need_shift_check_loop:
-03b9 e8408006 ifetcht 1 ,contr 
-03ba 98467c00 isub temp ,null 
-03bb 202283be branch p_usb_tx_website_need_shift_setflag ,zero 
-03bc c20003b9 loop p_usb_tx_website_need_shift_check_loop 
-03bd 20600000 rtn 
+042c e8408006 ifetcht 1 ,contr 
+042d 98467c00 isub temp ,null 
+042e 20228431 branch p_usb_tx_website_need_shift_setflag ,zero 
+042f c200042c loop p_usb_tx_website_need_shift_check_loop 
+0430 20600000 rtn 
 
 p_usb_tx_website_need_shift_setflag:
-03be 70497d02 jam 2 ,mem_usb_website_shift_flag 
-03bf 20600000 rtn 
+0431 70497d02 jam 2 ,mem_usb_website_shift_flag 
+0432 20600000 rtn 
 
 p_usb_tx_data_ep2:
-03c0 da204959 arg mem_usb_ep2_fifo ,rega 
-03c1 20407da3 call fifo_is_empty 
-03c2 207a0000 rtn blank 
-03c3 6ff08c25 fetch 1 ,core_usb_txbusy 
-03c4 1fe17e0f and_into 0x0f ,pdata 
-03c5 247a0000 nrtn blank 
-03c6 6fe0890d fetch 1 ,mem_usb_tx_enable 
-03c7 c4010000 rtnbit0 2 
-03c8 6fe0890d fetch 1 ,mem_usb_tx_enable 
-03c9 793ffe02 set0 2 ,pdata 
-03ca 67e0890d store 1 ,mem_usb_tx_enable 
-03cb da204959 arg mem_usb_ep2_fifo ,rega 
-03cc 20407d97 call fifo_out 
-03cd 207a0000 rtn blank 
-03ce c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-03cf c01203e8 beq usb_ep2_dpi ,p_usb_tx_dongle_ep2_dpi_data 
-03d0 c01303e0 beq usb_ep2_sn ,p_usb_tx_dongle_ep2_data 
-03d1 c01483e0 beq usb_ep2_app ,p_usb_tx_dongle_ep2_data 
-03d2 c01183e0 beq usb_ep2_device_info ,p_usb_tx_dongle_ep2_data 
-03d3 c01803f6 beq usb_ep2_key ,p_usb_tx_dongle_ep2_key_data 
-03d4 c01283ef beq usb_ep2_battery ,p_usb_tx_dongle_ep2_battery_data 
-03d5 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-03d6 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-03d7 c01383d9 beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
-03d8 2020235a branch assert 
+0433 da204959 arg mem_usb_ep2_fifo ,rega 
+0434 20407da3 call fifo_is_empty 
+0435 207a0000 rtn blank 
+0436 6ff08c25 fetch 1 ,core_usb_txbusy 
+0437 1fe17e0f and_into 0x0f ,pdata 
+0438 247a0000 nrtn blank 
+0439 6fe0890d fetch 1 ,mem_usb_tx_enable 
+043a c4010000 rtnbit0 2 
+043b 6fe0890d fetch 1 ,mem_usb_tx_enable 
+043c 793ffe02 set0 2 ,pdata 
+043d 67e0890d store 1 ,mem_usb_tx_enable 
+043e da204959 arg mem_usb_ep2_fifo ,rega 
+043f 20407d97 call fifo_out 
+0440 207a0000 rtn blank 
+0441 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+0442 c012045b beq usb_ep2_dpi ,p_usb_tx_dongle_ep2_dpi_data 
+0443 c0130453 beq usb_ep2_sn ,p_usb_tx_dongle_ep2_data 
+0444 c0148453 beq usb_ep2_app ,p_usb_tx_dongle_ep2_data 
+0445 c0118453 beq usb_ep2_device_info ,p_usb_tx_dongle_ep2_data 
+0446 c0180469 beq usb_ep2_key ,p_usb_tx_dongle_ep2_key_data 
+0447 c0128462 beq usb_ep2_battery ,p_usb_tx_dongle_ep2_battery_data 
+0448 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+0449 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+044a c013844c beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
+044b 2020235a branch assert 
 
 p_usb_tx_rf_state_data:
-03d9 6fe0c814 fetch 1 ,mem_usb_rf_state_data 
-03da 207a0000 rtn blank 
-03db 1fe27200 copy pdata ,loopcnt 
-03dc d8c04815 arg mem_usb_rf_state_data + 1 ,contr 
-03dd 20407bdb call usb_tx_ep2 
-03de d8a04814 arg mem_usb_rf_state_data ,contw 
-03df 202003e6 branch p_usb_tx_buff_clr 
+044c 6fe0c814 fetch 1 ,mem_usb_rf_state_data 
+044d 207a0000 rtn blank 
+044e 1fe27200 copy pdata ,loopcnt 
+044f d8c04815 arg mem_usb_rf_state_data + 1 ,contr 
+0450 20407bdb call usb_tx_ep2 
+0451 d8a04814 arg mem_usb_rf_state_data ,contw 
+0452 20200459 branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_data:
-03e0 6fe0c855 fetch 1 ,mem_dongle_usb_ep2_data 
-03e1 207a0000 rtn blank 
-03e2 1fe27200 copy pdata ,loopcnt 
-03e3 d8c04856 arg mem_dongle_usb_ep2_data + 1 ,contr 
-03e4 20407bdb call usb_tx_ep2 
-03e5 d8a04855 arg mem_dongle_usb_ep2_data ,contw 
+0453 6fe0c855 fetch 1 ,mem_dongle_usb_ep2_data 
+0454 207a0000 rtn blank 
+0455 1fe27200 copy pdata ,loopcnt 
+0456 d8c04856 arg mem_dongle_usb_ep2_data + 1 ,contr 
+0457 20407bdb call usb_tx_ep2 
+0458 d8a04855 arg mem_dongle_usb_ep2_data ,contw 
 
 p_usb_tx_buff_clr:
-03e6 df200041 arg 65 ,loopcnt 
-03e7 20207ca1 branch clear_mem 
+0459 df200041 arg 65 ,loopcnt 
+045a 20207ca1 branch clear_mem 
 
 p_usb_tx_dongle_ep2_dpi_data:
-03e8 6fe0c896 fetch 1 ,mem_usb_dpi_info_data 
-03e9 207a0000 rtn blank 
-03ea 1fe27200 copy pdata ,loopcnt 
-03eb d8c04897 arg mem_usb_dpi_info_data + 1 ,contr 
-03ec 20407bdb call usb_tx_ep2 
-03ed d8a04896 arg mem_usb_dpi_info_data ,contw 
-03ee 202003e6 branch p_usb_tx_buff_clr 
+045b 6fe0c896 fetch 1 ,mem_usb_dpi_info_data 
+045c 207a0000 rtn blank 
+045d 1fe27200 copy pdata ,loopcnt 
+045e d8c04897 arg mem_usb_dpi_info_data + 1 ,contr 
+045f 20407bdb call usb_tx_ep2 
+0460 d8a04896 arg mem_usb_dpi_info_data ,contw 
+0461 20200459 branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_battery_data:
-03ef 6fe0c8d7 fetch 1 ,mem_usb_battery_info_data 
-03f0 207a0000 rtn blank 
-03f1 1fe27200 copy pdata ,loopcnt 
-03f2 d8c048d8 arg mem_usb_battery_info_data + 1 ,contr 
-03f3 20407bdb call usb_tx_ep2 
-03f4 d8a048d7 arg mem_usb_battery_info_data ,contw 
-03f5 202003e6 branch p_usb_tx_buff_clr 
+0462 6fe0c8d7 fetch 1 ,mem_usb_battery_info_data 
+0463 207a0000 rtn blank 
+0464 1fe27200 copy pdata ,loopcnt 
+0465 d8c048d8 arg mem_usb_battery_info_data + 1 ,contr 
+0466 20407bdb call usb_tx_ep2 
+0467 d8a048d7 arg mem_usb_battery_info_data ,contw 
+0468 20200459 branch p_usb_tx_buff_clr 
 
 p_usb_tx_dongle_ep2_key_data:
-03f6 6fe0c918 fetch 1 ,mem_usb_key_info_data 
-03f7 207a0000 rtn blank 
-03f8 1fe27200 copy pdata ,loopcnt 
-03f9 d8c04919 arg mem_usb_key_info_data + 1 ,contr 
-03fa 20407bdb call usb_tx_ep2 
-03fb d8a04918 arg mem_usb_key_info_data ,contw 
-03fc 202003e6 branch p_usb_tx_buff_clr 
+0469 6fe0c918 fetch 1 ,mem_usb_key_info_data 
+046a 207a0000 rtn blank 
+046b 1fe27200 copy pdata ,loopcnt 
+046c d8c04919 arg mem_usb_key_info_data + 1 ,contr 
+046d 20407bdb call usb_tx_ep2 
+046e d8a04918 arg mem_usb_key_info_data ,contw 
+046f 20200459 branch p_usb_tx_buff_clr 
 
 p_rx_dcoc:
-03fd 20758000 rtn wake 
-03fe 20402160 call set_sync_on 
-03ff d8400027 arg 39 ,temp 
-0400 2040216f call set_freq_rx 
-0401 204021a6 call rf_rx_enable 
-0402 708a257f jam 0x7f ,0x8a25 
-0403 708a301a jam 0x1a ,0x8a30 
-0404 708a3178 jam 0x78 ,0x8a31 
-0405 708a8fb2 jam 0xb2 ,0x8a8f 
-0406 708ac200 jam 0 ,0x8ac2 
-0407 708ac300 jam 0 ,0x8ac3 
-0408 d8e00006 arg 6 ,queue 
-0409 2040041a call p_rx_dcoc_avg 
-040a 2a2ffe0d isolate1 13 ,rega 
-040b 2040211d call qset_start 
-040c 2a4ffe0d isolate1 13 ,regb 
-040d 2040211e call qset_p 
-040e d8e00005 arg 5 ,queue 
+0470 20758000 rtn wake 
+0471 20402160 call set_sync_on 
+0472 d8400027 arg 39 ,temp 
+0473 2040216f call set_freq_rx 
+0474 204021a6 call rf_rx_enable 
+0475 708a257f jam 0x7f ,0x8a25 
+0476 708a301a jam 0x1a ,0x8a30 
+0477 708a3178 jam 0x78 ,0x8a31 
+0478 708a8fb2 jam 0xb2 ,0x8a8f 
+0479 708ac200 jam 0 ,0x8ac2 
+047a 708ac300 jam 0 ,0x8ac3 
+047b d8e00006 arg 6 ,queue 
+047c 2040048d call p_rx_dcoc_avg 
+047d 2a2ffe0d isolate1 13 ,rega 
+047e 2040211d call qset_start 
+047f 2a4ffe0d isolate1 13 ,regb 
+0480 2040211e call qset_p 
+0481 d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-040f 2040211c call qset1_p 
-0410 2040211e call qset_p 
-0411 2040041a call p_rx_dcoc_avg 
-0412 d8a08ac2 arg 0x8ac2 ,contw 
-0413 1a31fe00 rshift4 rega ,pdata 
-0414 20402117 call qsetxor 
-0415 1a51fe00 rshift4 regb ,pdata 
-0416 20402117 call qsetxor 
-0417 18e08fff increase -1 ,queue 
-0418 2021040f branch p_rx_dcoc_loop2 ,positive 
-0419 2020214f branch rx_dcoc_loop2 + 10 
+0482 2040211c call qset1_p 
+0483 2040211e call qset_p 
+0484 2040048d call p_rx_dcoc_avg 
+0485 d8a08ac2 arg 0x8ac2 ,contw 
+0486 1a31fe00 rshift4 rega ,pdata 
+0487 20402117 call qsetxor 
+0488 1a51fe00 rshift4 regb ,pdata 
+0489 20402117 call qsetxor 
+048a 18e08fff increase -1 ,queue 
+048b 20210482 branch p_rx_dcoc_loop2 ,positive 
+048c 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-041a 2000003c nop 60 
-041b 58000f00 setarg mem_dcoc_buf 
-041c 67f10982 store 2 ,0x8982 
-041d 58000ff0 setarg mem_dcoc_buf_end 
-041e 67f10984 store 2 ,0x8984 
-041f 70898109 jam 0x9 ,0x8981 
-0420 70898103 jam 0x3 ,0x8981 
-0421 70898006 jam 0x6 ,0x8980 
-0422 2000003c nop 60 
-0423 da200000 arg 0 ,rega 
-0424 da400000 arg 0 ,regb 
-0425 df200010 arg 16 ,loopcnt 
-0426 d8c00f00 arg mem_dcoc_buf ,contr 
-0427 2020212d branch rx_dcoc_loop 
+048d 2000003c nop 60 
+048e 58000f00 setarg mem_dcoc_buf 
+048f 67f10982 store 2 ,0x8982 
+0490 58000ff0 setarg mem_dcoc_buf_end 
+0491 67f10984 store 2 ,0x8984 
+0492 70898109 jam 0x9 ,0x8981 
+0493 70898103 jam 0x3 ,0x8981 
+0494 70898006 jam 0x6 ,0x8980 
+0495 2000003c nop 60 
+0496 da200000 arg 0 ,rega 
+0497 da400000 arg 0 ,regb 
+0498 df200010 arg 16 ,loopcnt 
+0499 d8c00f00 arg mem_dcoc_buf ,contr 
+049a 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-0428 20758000 rtn wake 
-0429 20202272 branch rfpll_aac_ghpc + 1 
+049b 20758000 rtn wake 
+049c 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-042a 20600000 rtn 
+049d 20600000 rtn 
 
 p_sadc_calibration:
-042b 20758000 rtn wake 
-042c 708a0777 jam 0x77 ,core_gpadc_ctrl 
-042d 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-042e 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-042f 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0430 67f080cd store 1 ,core_sadc_clkdiv 
-0431 20000bb8 nop 3000 
-0432 20400453 call p_sadc_read 
-0433 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0434 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-0435 df200008 arg 8 ,loopcnt 
-0436 20406f58 call sadc_cal_read + 1 
-0437 6fe0c419 fetch 1 ,mem_spi_write_addr 
-0438 67e0c433 store 1 ,mem_adc_cal_c7 
-0439 6240c419 storer regb ,1 ,mem_spi_write_addr 
-043a 20600000 rtn 
+049e 20758000 rtn wake 
+049f 708a0777 jam 0x77 ,core_gpadc_ctrl 
+04a0 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+04a1 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+04a2 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+04a3 67f080cd store 1 ,core_sadc_clkdiv 
+04a4 20000bb8 nop 3000 
+04a5 204004c6 call p_sadc_read 
+04a6 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+04a7 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+04a8 df200008 arg 8 ,loopcnt 
+04a9 20406f58 call sadc_cal_read + 1 
+04aa 6fe0c419 fetch 1 ,mem_spi_write_addr 
+04ab 67e0c433 store 1 ,mem_adc_cal_c7 
+04ac 6240c419 storer regb ,1 ,mem_spi_write_addr 
+04ad 20600000 rtn 
 
 p_enable_adc:
-043b 20400449 call p_sadc_cal_write 
-043c 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-043d 793ffe07 set0 7 ,pdata 
-043e 67f08a09 store 1 ,core_gpadc_cfg1 
-043f 708a0777 jam 0x77 ,core_gpadc_ctrl 
-0440 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-0441 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-0442 20406f90 call sadc_channel 
-0443 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-0444 67f080cd store 1 ,core_sadc_clkdiv 
-0445 20000bb8 nop 3000 
-0446 20400453 call p_sadc_read 
-0447 7080cd00 jam 0 ,core_sadc_clkdiv 
-0448 20206fa1 branch sadc_dma 
+04ae 204004bc call p_sadc_cal_write 
+04af 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+04b0 793ffe07 set0 7 ,pdata 
+04b1 67f08a09 store 1 ,core_gpadc_cfg1 
+04b2 708a0777 jam 0x77 ,core_gpadc_ctrl 
+04b3 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+04b4 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+04b5 20406f90 call sadc_channel 
+04b6 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+04b7 67f080cd store 1 ,core_sadc_clkdiv 
+04b8 20000bb8 nop 3000 
+04b9 204004c6 call p_sadc_read 
+04ba 7080cd00 jam 0 ,core_sadc_clkdiv 
+04bb 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-0449 6ff080cc fetch 1 ,core_sadc_ctrl 
-044a 79207e01 set1 1 ,pdata 
-044b 67f080cc store 1 ,core_sadc_ctrl 
-044c 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-044d 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-044e 67e0c419 store 1 ,mem_spi_write_addr 
-044f df200008 arg 8 ,loopcnt 
-0450 20406f67 call sadc_cal_write + 4 
-0451 6240c419 storer regb ,1 ,mem_spi_write_addr 
-0452 20600000 rtn 
+04bc 6ff080cc fetch 1 ,core_sadc_ctrl 
+04bd 79207e01 set1 1 ,pdata 
+04be 67f080cc store 1 ,core_sadc_ctrl 
+04bf 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+04c0 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+04c1 67e0c419 store 1 ,mem_spi_write_addr 
+04c2 df200008 arg 8 ,loopcnt 
+04c3 20406f67 call sadc_cal_write + 4 
+04c4 6240c419 storer regb ,1 ,mem_spi_write_addr 
+04c5 20600000 rtn 
 
 p_sadc_read:
-0453 7080cc03 jam 0x03 ,core_sadc_ctrl 
+04c6 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-0454 6ff08129 fetch 1 ,core_perf_status 
-0455 c3028454 bbit0 saradc_done ,p_sadc_read_wait 
-0456 68590164 fetcht 2 ,core_sadc_data 
-0457 6049440a storet 2 ,mem_adc_current_value 
-0458 7080cc00 jam 0x00 ,core_sadc_ctrl 
-0459 20600000 rtn 
+04c7 6ff08129 fetch 1 ,core_perf_status 
+04c8 c30284c7 bbit0 saradc_done ,p_sadc_read_wait 
+04c9 68590164 fetcht 2 ,core_sadc_data 
+04ca 6049440a storet 2 ,mem_adc_current_value 
+04cb 7080cc00 jam 0x00 ,core_sadc_ctrl 
+04cc 20600000 rtn 
 
 p_set_lemode:
-045a 708a8211 jam 0x11 ,0x8a82 
-045b 708a8d12 jam 0x12 ,0x8a8d 
-045c 708a8e0a jam 0x0a ,0x8a8e 
-045d 6fe0c099 fetch 1 ,mem_fcomp_div 
-045e c0080473 beq xtal_16m ,p_set_lemode_2m_16m 
-045f 58005762 setarg 0x5762 
-0460 67f10907 store 2 ,0x8907 
+04cd 708a8211 jam 0x11 ,0x8a82 
+04ce 708a8d12 jam 0x12 ,0x8a8d 
+04cf 708a8e0a jam 0x0a ,0x8a8e 
+04d0 6fe0c099 fetch 1 ,mem_fcomp_div 
+04d1 c00804e6 beq xtal_16m ,p_set_lemode_2m_16m 
+04d2 58005762 setarg 0x5762 
+04d3 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-0461 70890103 jam 3 ,0x8901 
-0462 70893003 jam 3 ,0x8930 
-0463 c6168000 rtnmark1 mark_ble_2m 
-0464 70890101 jam 1 ,0x8901 
-0465 708a8207 jam 0x07 ,0x8a82 
-0466 708a8d44 jam 0x44 ,0x8a8d 
-0467 708a8e0a jam 0x0a ,0x8a8e 
-0468 6fe0c099 fetch 1 ,mem_fcomp_div 
-0469 c0080470 beq xtal_16m ,p_set_lemode_1m_16m 
-046a 58002bb1 setarg 0x2bb1 
-046b 67f10907 store 2 ,0x8907 
+04d4 70890103 jam 3 ,0x8901 
+04d5 70893003 jam 3 ,0x8930 
+04d6 c6168000 rtnmark1 mark_ble_2m 
+04d7 70890101 jam 1 ,0x8901 
+04d8 708a8207 jam 0x07 ,0x8a82 
+04d9 708a8d44 jam 0x44 ,0x8a8d 
+04da 708a8e0a jam 0x0a ,0x8a8e 
+04db 6fe0c099 fetch 1 ,mem_fcomp_div 
+04dc c00804e3 beq xtal_16m ,p_set_lemode_1m_16m 
+04dd 58002bb1 setarg 0x2bb1 
+04de 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-046c c6978000 rtnmark0 mark_ble_lr 
-046d 70893024 jam 0x24 ,0x8930 
-046e 70890105 jam 5 ,0x8901 
-046f 20600000 rtn 
+04df c6978000 rtnmark0 mark_ble_lr 
+04e0 70893024 jam 0x24 ,0x8930 
+04e1 70890105 jam 5 ,0x8901 
+04e2 20600000 rtn 
 
 p_set_lemode_1m_16m:
-0470 58004189 setarg 0x4189 
-0471 67f10907 store 2 ,0x8907 
-0472 2020046c branch p_set_lemode_1m 
+04e3 58004189 setarg 0x4189 
+04e4 67f10907 store 2 ,0x8907 
+04e5 202004df branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-0473 58008312 setarg 0x8312 
-0474 67f10907 store 2 ,0x8907 
-0475 20200461 branch p_set_lemode_2m 
+04e6 58008312 setarg 0x8312 
+04e7 67f10907 store 2 ,0x8907 
+04e8 202004d4 branch p_set_lemode_2m 
 
 p_le_parse:
-0476 6fe0c334 fetch 1 ,mem_le_packet_llid 
-0477 c1000000 rtneq llid_reserved 
-0478 c001b04a beq llid_le_ll ,le_parse_ll 
-0479 202028e1 branch le_parse_l2cap 
+04e9 6fe0c334 fetch 1 ,mem_le_packet_llid 
+04ea c1000000 rtneq llid_reserved 
+04eb c001b04a beq llid_le_ll ,le_parse_ll 
+04ec 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-047a 793f8030 set0 mark_ble_crc_fail ,mark 
-047b 20202af6 branch le_init_adv + 1 
+04ed 793f8030 set0 mark_ble_crc_fail ,mark 
+04ee 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-047c 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-047d c0553329 beq datatype_bind ,g24_bind_first_step 
-047e c02ab33a beq datatype_config ,g24_bind_second_step 
-047f c0110482 beq datatype_ok ,p_g24_bind_third_step 
-0480 c07fb59b beq datatype_attemp ,g24_data_attemp 
-0481 20600000 rtn 
+04ef 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+04f0 c0553329 beq datatype_bind ,g24_bind_first_step 
+04f1 c02ab33a beq datatype_config ,g24_bind_second_step 
+04f2 c01104f5 beq datatype_ok ,p_g24_bind_third_step 
+04f3 c07fb59b beq datatype_attemp ,g24_data_attemp 
+04f4 20600000 rtn 
 
 p_g24_bind_third_step:
-0482 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-0483 203a0488 branch p_g24_bind_third_step_skip ,blank 
-0484 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-0485 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-0486 98467c00 isub temp ,null 
-0487 24628000 nrtn zero 
+04f5 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+04f6 203a04fb branch p_g24_bind_third_step_skip ,blank 
+04f7 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
+04f8 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+04f9 98467c00 isub temp ,null 
+04fa 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-0488 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0489 c000848c beq datatype_device1 ,p_g24_bind_third_step_device1 
-048a c0010494 beq datatype_device2 ,p_g24_bind_third_step_device2 
-048b 20600000 rtn 
+04fb 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+04fc c00084ff beq datatype_device1 ,p_g24_bind_third_step_device1 
+04fd c0010507 beq datatype_device2 ,p_g24_bind_third_step_device2 
+04fe 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-048c 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-048d 247a0000 nrtn blank 
-048e 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-048f c0010491 beq 2 ,p_g24_bind_dvc1_step_success 
-0490 20600000 rtn 
+04ff 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+0500 247a0000 nrtn blank 
+0501 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0502 c0010504 beq 2 ,p_g24_bind_dvc1_step_success 
+0503 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-0491 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-0492 2040338d call g24_binding_dvc1_living 
-0493 2020336b branch g24_bind_dvc1_step_success + 1 
+0504 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+0505 2040338d call g24_binding_dvc1_living 
+0506 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-0494 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-0495 247a0000 nrtn blank 
-0496 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0497 c0800499 bne 0 ,p_g24_bind_dvc2_step_success 
-0498 20600000 rtn 
+0507 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+0508 247a0000 nrtn blank 
+0509 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+050a c080050c bne 0 ,p_g24_bind_dvc2_step_success 
+050b 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-0499 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-049a 20403393 call g24_binding_dvc2_living 
-049b 20203378 branch g24_bind_dvc2_step_success + 1 
+050c 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+050d 20403393 call g24_binding_dvc2_living 
+050e 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-049c 6fe0c616 fetch 1 ,mem_24g_work_mode 
-049d c1000000 rtneq dongle_work 
-049e 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-049f 247a0000 nrtn blank 
-04a0 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-04a1 247a0000 nrtn blank 
-04a2 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-04a3 207a0000 rtn blank 
-04a4 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-04a5 c1800000 rtnne 0 
-04a6 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-04a7 c1800000 rtnne 0 
-04a8 20203436 branch g24_mode_switch_bind_search + 9 
+050f 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0510 c1000000 rtneq dongle_work 
+0511 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+0512 247a0000 nrtn blank 
+0513 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+0514 247a0000 nrtn blank 
+0515 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+0516 207a0000 rtn blank 
+0517 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0518 c1800000 rtnne 0 
+0519 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+051a c1800000 rtnne 0 
+051b 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-04a9 6fe0c616 fetch 1 ,mem_24g_work_mode 
-04aa c1808000 rtnne dongle_bind 
-04ab 204004ad call p_g24_bind_init 
-04ac 2020346d branch g24_bind_mode_auto + 4 
+051c 6fe0c616 fetch 1 ,mem_24g_work_mode 
+051d c1808000 rtnne dongle_bind 
+051e 20400520 call p_g24_bind_init 
+051f 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-04ad 6fe0c615 fetch 1 ,mem_24g_mode_init 
-04ae c3808000 rtnbit1 dongle_bind 
-04af 79207e01 set1 dongle_bind ,pdata 
-04b0 67e0c615 store 1 ,mem_24g_mode_init 
-04b1 58000000 setarg 0 
-04b2 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-04b3 20203307 branch g24_bind_init + 8 
+0520 6fe0c615 fetch 1 ,mem_24g_mode_init 
+0521 c3808000 rtnbit1 dongle_bind 
+0522 79207e01 set1 dongle_bind ,pdata 
+0523 67e0c615 store 1 ,mem_24g_mode_init 
+0524 58000000 setarg 0 
+0525 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+0526 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-04b4 204004c1 call p_wdt_kick 
-04b5 204004c3 call p_g24_100ms_timer_event 
-04b6 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-04b7 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-04b8 20407906 call usb_isr 
-04b9 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-04ba 207a0000 rtn blank 
-04bb 7008f700 jam 0 ,mem_usb0_get_set_report 
-04bc 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-04bd d84003a2 arg pc_set_report_protocol ,temp 
-04be 98467c00 isub temp ,null 
-04bf 24628000 nrtn zero 
-04c0 202001c6 branch p_dongle_usb_data_received_analysis 
+0527 20400534 call p_wdt_kick 
+0528 20400536 call p_g24_100ms_timer_event 
+0529 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+052a 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+052b 20407906 call usb_isr 
+052c 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+052d 207a0000 rtn blank 
+052e 7008f700 jam 0 ,mem_usb0_get_set_report 
+052f 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+0530 d84003a2 arg pc_set_report_protocol ,temp 
+0531 98467c00 isub temp ,null 
+0532 24628000 nrtn zero 
+0533 202001c6 branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-04c1 58000010 setarg 16 
-04c2 202070c8 branch wdt_init_config 
+0534 58000010 setarg 16 
+0535 202070c8 branch wdt_init_config 
 
 p_g24_100ms_timer_event:
-04c3 d8e00006 arg usb_timer_100ms ,queue 
-04c4 20407cef call timer_check 
-04c5 247a0000 nrtn blank 
-04c6 204004cd call p_g24_http_over_pack_check 
-04c7 204004d0 call p_g24_dongle_disconnect_state_check 
-04c8 204004e0 call p_g24_dongle_store_b4_flag_check 
-04c9 204004f7 call p_g24_dongle_store_b5_flag_check 
+0536 d8e00006 arg usb_timer_100ms ,queue 
+0537 20407cef call timer_check 
+0538 247a0000 nrtn blank 
+0539 20400540 call p_g24_http_over_pack_check 
+053a 20400543 call p_g24_dongle_disconnect_state_check 
+053b 20400553 call p_g24_dongle_store_b4_flag_check 
+053c 2040056a call p_g24_dongle_store_b5_flag_check 
 
 p_g24_100ms_timer_init:
-04ca d8e00006 arg usb_timer_100ms ,queue 
-04cb 58000028 setarg 40 
-04cc 20207ce1 branch timer_init 
+053d d8e00006 arg usb_timer_100ms ,queue 
+053e 58000028 setarg 40 
+053f 20207ce1 branch timer_init 
 
 p_g24_http_over_pack_check:
-04cd 6fe0c97c fetch 1 ,mem_usb_website_step 
-04ce 207a0000 rtn blank 
-04cf 2020026b branch p_dongle_usb_tx_http_data 
+0540 6fe0c97c fetch 1 ,mem_usb_website_step 
+0541 207a0000 rtn blank 
+0542 2020026b branch p_dongle_usb_tx_http_data 
 
 p_g24_dongle_disconnect_state_check:
-04d0 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
-04d1 c4000000 rtnbit0 0 
-04d2 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
-04d3 207a0000 rtn blank 
-04d4 6fe14810 fetch 2 ,mem_dongle_no_data_count 
-04d5 1fe0fe01 increase 1 ,pdata 
-04d6 67e14810 store 2 ,mem_dongle_no_data_count 
-04d7 d84004b0 arg 0x4b0 ,temp 
-04d8 98467c00 isub temp ,null 
-04d9 24610000 nrtn positive 
-04da 58000000 setarg 0 
-04db 67e14810 store 2 ,mem_dongle_no_data_count 
-04dc 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
-04dd 207a0000 rtn blank 
-04de 70480f00 jam 0 ,mem_dongle_connect_mouse_flag 
-04df 20600000 rtn 
+0543 6fe0c62b fetch 1 ,mem_24g_bind_device_living 
+0544 c4000000 rtnbit0 0 
+0545 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
+0546 207a0000 rtn blank 
+0547 6fe14810 fetch 2 ,mem_dongle_no_data_count 
+0548 1fe0fe01 increase 1 ,pdata 
+0549 67e14810 store 2 ,mem_dongle_no_data_count 
+054a d84004b0 arg 0x4b0 ,temp 
+054b 98467c00 isub temp ,null 
+054c 24610000 nrtn positive 
+054d 58000000 setarg 0 
+054e 67e14810 store 2 ,mem_dongle_no_data_count 
+054f 6fe0c80f fetch 1 ,mem_dongle_connect_mouse_flag 
+0550 207a0000 rtn blank 
+0551 70480f00 jam 0 ,mem_dongle_connect_mouse_flag 
+0552 20600000 rtn 
 
 p_g24_dongle_store_b4_flag_check:
-04e0 da6049c5 arg mem_usb_delay_store_b4_flag_count ,regc 
-04e1 da4004e3 arg p_g24_dongle_store_b4_flag ,regb 
-04e2 202042e0 branch timer_single_step 
+0553 da6049c5 arg mem_usb_delay_store_b4_flag_count ,regc 
+0554 da400556 arg p_g24_dongle_store_b4_flag ,regb 
+0555 202042e0 branch timer_single_step 
 
 p_g24_dongle_store_b4_flag:
-04e3 6a4149c7 fetchr regb ,2 ,mem_otp_offset_b4_addr 
-04e4 1a422600 copy regb ,regc 
+0556 6a4149c8 fetchr regb ,2 ,mem_otp_offset_b4_addr 
+0557 1a422600 copy regb ,regc 
 
 p_g24_dongle_store_b4_flag_loop:
-04e5 20400518 call p_g24_dongle_load_b4_flag_comon 
-04e6 6fe0c9c1 fetch 1 ,mem_ms_b4_function_flag_temp 
-04e7 203a04ef branch p_g24_dongle_store_b4_flag_store ,blank 
-04e8 67e0c9c0 store 1 ,mem_ms_b4_function_flag_last 
-04e9 1a60a601 increase 1 ,regc 
-04ea 6fe149c9 fetch 2 ,mem_otp_offset_b4_addr_end 
-04eb 9a667c00 isub regc ,null 
-04ec 24610000 nrtn positive 
-04ed 1a622400 copy regc ,regb 
-04ee 202004e5 branch p_g24_dongle_store_b4_flag_loop 
+0558 2040058b call p_g24_dongle_load_b4_flag_comon 
+0559 6fe0c9c1 fetch 1 ,mem_ms_b4_function_flag_temp 
+055a 203a0562 branch p_g24_dongle_store_b4_flag_store ,blank 
+055b 67e0c9c0 store 1 ,mem_ms_b4_function_flag_last 
+055c 1a60a601 increase 1 ,regc 
+055d 6fe149ca fetch 2 ,mem_otp_offset_b4_addr_end 
+055e 9a667c00 isub regc ,null 
+055f 24610000 nrtn positive 
+0560 1a622400 copy regc ,regb 
+0561 20200558 branch p_g24_dongle_store_b4_flag_loop 
 
 p_g24_dongle_store_b4_flag_store:
-04ef 6848c9c0 fetcht 1 ,mem_ms_b4_function_flag_last 
-04f0 6fe0c9bf fetch 1 ,mem_ms_b4_function_flag 
-04f1 98467c00 isub temp ,null 
-04f2 20628000 rtn zero 
-04f3 da2049bf arg mem_ms_b4_function_flag ,rega 
+0562 6848c9c0 fetcht 1 ,mem_ms_b4_function_flag_last 
+0563 6fe0c9bf fetch 1 ,mem_ms_b4_function_flag 
+0564 98467c00 isub temp ,null 
+0565 20628000 rtn zero 
+0566 da2049bf arg mem_ms_b4_function_flag ,rega 
 
 p_otp_store_data:
-04f4 df200001 arg 1 ,loopcnt 
-04f5 1a622400 copy regc ,regb 
-04f6 20206b45 branch otp_write 
+0567 df200001 arg 1 ,loopcnt 
+0568 1a622400 copy regc ,regb 
+0569 20206b45 branch otp_write 
 
 p_g24_dongle_store_b5_flag_check:
-04f7 da6049c6 arg mem_usb_delay_store_b5_flag_count ,regc 
-04f8 da4004fa arg p_g24_dongle_store_b5_flag ,regb 
-04f9 202042e0 branch timer_single_step 
+056a da6049c6 arg mem_usb_delay_store_b5_flag_count ,regc 
+056b da40056d arg p_g24_dongle_store_b5_flag ,regb 
+056c 202042e0 branch timer_single_step 
 
 p_g24_dongle_store_b5_flag:
-04fa 6a4149cb fetchr regb ,2 ,mem_otp_offset_b5_addr 
-04fb 1a422600 copy regb ,regc 
+056d 6a4149cc fetchr regb ,2 ,mem_otp_offset_b5_addr 
+056e 1a422600 copy regb ,regc 
 
 p_g24_dongle_store_b5_flag_loop:
-04fc 2040052d call p_g24_dongle_load_b5_flag_comon 
-04fd 6fe0c9c4 fetch 1 ,mem_ms_b5_function_flag_temp 
-04fe 203a0506 branch p_g24_dongle_store_b5_flag_store ,blank 
-04ff 67e0c9c3 store 1 ,mem_ms_b5_function_flag_last 
-0500 1a60a601 increase 1 ,regc 
-0501 6fe149cd fetch 2 ,mem_otp_offset_b5_addr_end 
-0502 9a667c00 isub regc ,null 
-0503 24610000 nrtn positive 
-0504 1a622400 copy regc ,regb 
-0505 202004fc branch p_g24_dongle_store_b5_flag_loop 
+056f 204005a0 call p_g24_dongle_load_b5_flag_comon 
+0570 6fe0c9c4 fetch 1 ,mem_ms_b5_function_flag_temp 
+0571 203a0579 branch p_g24_dongle_store_b5_flag_store ,blank 
+0572 67e0c9c3 store 1 ,mem_ms_b5_function_flag_last 
+0573 1a60a601 increase 1 ,regc 
+0574 6fe149ce fetch 2 ,mem_otp_offset_b5_addr_end 
+0575 9a667c00 isub regc ,null 
+0576 24610000 nrtn positive 
+0577 1a622400 copy regc ,regb 
+0578 2020056f branch p_g24_dongle_store_b5_flag_loop 
 
 p_g24_dongle_store_b5_flag_store:
-0506 6848c9c3 fetcht 1 ,mem_ms_b5_function_flag_last 
-0507 6fe0c9c2 fetch 1 ,mem_ms_b5_function_flag 
-0508 98467c00 isub temp ,null 
-0509 20628000 rtn zero 
-050a da2049c2 arg mem_ms_b5_function_flag ,rega 
-050b 202004f4 branch p_otp_store_data 
+0579 6848c9c3 fetcht 1 ,mem_ms_b5_function_flag_last 
+057a 6fe0c9c2 fetch 1 ,mem_ms_b5_function_flag 
+057b 98467c00 isub temp ,null 
+057c 20628000 rtn zero 
+057d da2049c2 arg mem_ms_b5_function_flag ,rega 
+057e 20200567 branch p_otp_store_data 
 
 p_g24_dongle_load_b4_flag:
-050c 6a4149c7 fetchr regb ,2 ,mem_otp_offset_b4_addr 
-050d 1a422600 copy regb ,regc 
+057f 6a4149c8 fetchr regb ,2 ,mem_otp_offset_b4_addr 
+0580 1a422600 copy regb ,regc 
 
 p_g24_dongle_load_b4_flag_loop:
-050e 20400518 call p_g24_dongle_load_b4_flag_comon 
-050f 6fe0c9c1 fetch 1 ,mem_ms_b4_function_flag_temp 
-0510 203a051b branch p_g24_dongle_load_b4_flag_load ,blank 
-0511 67e0c9c0 store 1 ,mem_ms_b4_function_flag_last 
-0512 1a60a601 increase 1 ,regc 
-0513 6fe149c9 fetch 2 ,mem_otp_offset_b4_addr_end 
-0514 9a667c00 isub regc ,null 
-0515 2421051b nbranch p_g24_dongle_load_b4_flag_load ,positive 
-0516 1a622400 copy regc ,regb 
-0517 2020050e branch p_g24_dongle_load_b4_flag_loop 
+0581 2040058b call p_g24_dongle_load_b4_flag_comon 
+0582 6fe0c9c1 fetch 1 ,mem_ms_b4_function_flag_temp 
+0583 203a058e branch p_g24_dongle_load_b4_flag_load ,blank 
+0584 67e0c9c0 store 1 ,mem_ms_b4_function_flag_last 
+0585 1a60a601 increase 1 ,regc 
+0586 6fe149ca fetch 2 ,mem_otp_offset_b4_addr_end 
+0587 9a667c00 isub regc ,null 
+0588 2421058e nbranch p_g24_dongle_load_b4_flag_load ,positive 
+0589 1a622400 copy regc ,regb 
+058a 20200581 branch p_g24_dongle_load_b4_flag_loop 
 
 p_g24_dongle_load_b4_flag_comon:
-0518 df200001 arg 1 ,loopcnt 
-0519 da2049c1 arg mem_ms_b4_function_flag_temp ,rega 
-051a 20206b74 branch otp_read_data 
+058b df200001 arg 1 ,loopcnt 
+058c da2049c1 arg mem_ms_b4_function_flag_temp ,rega 
+058d 20206b74 branch otp_read_data 
 
 p_g24_dongle_load_b4_flag_load:
-051b 6fe0c9c0 fetch 1 ,mem_ms_b4_function_flag_last 
-051c 205a051f call p_g24_donge_b4_default_set ,blank 
-051d 67e0c9bf store 1 ,mem_ms_b4_function_flag 
-051e 20600000 rtn 
+058e 6fe0c9c0 fetch 1 ,mem_ms_b4_function_flag_last 
+058f 205a0592 call p_g24_donge_b4_default_set ,blank 
+0590 67e0c9bf store 1 ,mem_ms_b4_function_flag 
+0591 20600000 rtn 
 
 p_g24_donge_b4_default_set:
-051f 58000002 setarg b4_default 
-0520 20600000 rtn 
+0592 58000001 setarg b4_default 
+0593 20600000 rtn 
 
 p_g24_dongle_load_b5_flag:
-0521 6a4149cb fetchr regb ,2 ,mem_otp_offset_b5_addr 
-0522 1a422600 copy regb ,regc 
+0594 6a4149cc fetchr regb ,2 ,mem_otp_offset_b5_addr 
+0595 1a422600 copy regb ,regc 
 
 p_g24_dongle_load_b5_flag_loop:
-0523 2040052d call p_g24_dongle_load_b5_flag_comon 
-0524 6fe0c9c4 fetch 1 ,mem_ms_b5_function_flag_temp 
-0525 203a0530 branch p_g24_dongle_load_b5_flag_load ,blank 
-0526 67e0c9c3 store 1 ,mem_ms_b5_function_flag_last 
-0527 1a60a601 increase 1 ,regc 
-0528 6fe149cd fetch 2 ,mem_otp_offset_b5_addr_end 
-0529 9a667c00 isub regc ,null 
-052a 24210530 nbranch p_g24_dongle_load_b5_flag_load ,positive 
-052b 1a622400 copy regc ,regb 
-052c 20200523 branch p_g24_dongle_load_b5_flag_loop 
+0596 204005a0 call p_g24_dongle_load_b5_flag_comon 
+0597 6fe0c9c4 fetch 1 ,mem_ms_b5_function_flag_temp 
+0598 203a05a3 branch p_g24_dongle_load_b5_flag_load ,blank 
+0599 67e0c9c3 store 1 ,mem_ms_b5_function_flag_last 
+059a 1a60a601 increase 1 ,regc 
+059b 6fe149ce fetch 2 ,mem_otp_offset_b5_addr_end 
+059c 9a667c00 isub regc ,null 
+059d 242105a3 nbranch p_g24_dongle_load_b5_flag_load ,positive 
+059e 1a622400 copy regc ,regb 
+059f 20200596 branch p_g24_dongle_load_b5_flag_loop 
 
 p_g24_dongle_load_b5_flag_comon:
-052d df200001 arg 1 ,loopcnt 
-052e da2049c4 arg mem_ms_b5_function_flag_temp ,rega 
-052f 20206b74 branch otp_read_data 
+05a0 df200001 arg 1 ,loopcnt 
+05a1 da2049c4 arg mem_ms_b5_function_flag_temp ,rega 
+05a2 20206b74 branch otp_read_data 
 
 p_g24_dongle_load_b5_flag_load:
-0530 6fe0c9c3 fetch 1 ,mem_ms_b5_function_flag_last 
-0531 205a0534 call p_g24_donge_b5_default_set ,blank 
-0532 67e0c9c2 store 1 ,mem_ms_b5_function_flag 
-0533 20600000 rtn 
+05a3 6fe0c9c3 fetch 1 ,mem_ms_b5_function_flag_last 
+05a4 205a05a7 call p_g24_donge_b5_default_set ,blank 
+05a5 67e0c9c2 store 1 ,mem_ms_b5_function_flag 
+05a6 20600000 rtn 
 
 p_g24_donge_b5_default_set:
-0534 58000001 setarg b5_default 
-0535 20600000 rtn 
+05a7 58000002 setarg b5_default 
+05a8 20600000 rtn 
 
 p_dongle_default_init:
-0536 204047c3 call dongle_default_init + 1 
-0537 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-0538 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-0539 2040050c call p_g24_dongle_load_b4_flag 
-053a 20400521 call p_g24_dongle_load_b5_flag 
-053b 20403281 call g24_enable_1m 
-053c 6fe0c669 fetch 1 ,mem_dg_sys_config 
-053d c4000000 rtnbit0 dg_enable_new_revision 
-053e 7045ca01 jam on ,mem_24g_disable_fec1 
-053f 20203284 branch g24_enable_2m 
+05a9 204047c3 call dongle_default_init + 1 
+05aa 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+05ab 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+05ac 2040057f call p_g24_dongle_load_b4_flag 
+05ad 20400594 call p_g24_dongle_load_b5_flag 
+05ae 20403281 call g24_enable_1m 
+05af 6fe0c669 fetch 1 ,mem_dg_sys_config 
+05b0 c4000000 rtnbit0 dg_enable_new_revision 
+05b1 7045ca01 jam on ,mem_24g_disable_fec1 
+05b2 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_end:
-0540 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0541 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-0542 7837fc00 enable user3 
-0543 20000018 nop 24 
-0544 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0545 79207e00 set1 bit_ack_24g ,pdata 
-0546 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-0547 204033a5 call g24_ackpayload_prep 
-0548 204031e5 call g24_transmit_prep 
-0549 20203195 branch g24_transmit 
+05b3 6fe0c669 fetch 1 ,mem_dg_sys_config 
+05b4 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+05b5 7837fc00 enable user3 
+05b6 20000018 nop 24 
+05b7 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+05b8 79207e00 set1 bit_ack_24g ,pdata 
+05b9 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+05ba 204033a5 call g24_ackpayload_prep 
+05bb 204031e5 call g24_transmit_prep 
+05bc 20203195 branch g24_transmit 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(revision 4481)
+++ /1121s/branch/dongle/1m/USB_XZR/usb_1m_ai/program/patch.prog	(working copy)
@@ -552,14 +552,14 @@
 **************************************************************************************************/
 
 p_dongle_usb_hci_cmd_set_ms_b4_fuction:
-	fetch 1,mem_usb0_set_report_data+4
+	fetch 1,mem_usb0_set_report_data+5
 	store 1,mem_ms_b4_function_flag
 	jam 10, mem_usb_delay_store_b4_flag_count
 	rtn
 
 p_dongle_usb_hci_cmd_set_ms_b5_fuction:
-	fetch 1,mem_usb0_set_report_data+4
-	store 1,mem_ms_b4_function_flag
+	fetch 1,mem_usb0_set_report_data+5
+	store 1,mem_ms_b5_function_flag
 	jam 10,mem_usb_delay_store_b5_flag_count
 	rtn
 
@@ -727,17 +727,17 @@
 	store 1,mem_setreport_count
 	rtn
 
-p_usb_tx_ep2_queue_buff_check:
-	arg mem_usb_ep2_fifo,rega
+p_usb_tx_ep1_queue_buff_check:
+	arg mem_usb_ep1_fifo,rega
 	call fifo_is_empty
 	rtn blank
-	branch dongle_usb_tx_enable_ep2
+	branch dongle_usb_tx_ep1_enable
 
-p_usb_tx_ep1_queue_buff_check:
+p_usb_tx_ep2_queue_buff_check:
 	arg mem_usb_ep2_fifo,rega
 	call fifo_is_empty
 	rtn blank
-	branch dongle_usb_tx_ep1_enable
+	branch dongle_usb_tx_enable_ep2
 
 p_usb_tx:
 	call p_usb_tx_ep1_queue_buff_check
@@ -946,9 +946,163 @@
 p_dongle_b4_fuction_change_set:
 	fetch 1,mem_usb_mouse_data+1
 	set0 B4_BIT,pdata
+	call p_dongle_usb_mouse_dat_store
+	fetch 1,mem_dg_mouse_data
+	isolate1 B4_BIT,pdata
+	call p_donge_ms_b4_key_press_set,true
+	ncall p_donge_ms_fuction_key_release_set,true
+	rtn
+
+p_donge_ms_fuction_key_release_set:
+	fetch 1,mem_usb_normal_key_flag
+	ncall p_dongle_ms_normal_key_release,blank
+	fetch 1,mem_usb_multikey_key_flag
+	ncall p_dongle_ms_multikey_key_release,blank
+	fetch 1,mem_usb_system_key_flag
+	ncall p_dongle_ms_system_key_release,blank
+	rtn
+
+
+p_dongle_ms_normal_key_release:
+	jam 0,mem_usb_normal_key_flag
+	arg mem_usb_kb_data,contw
+	call memset0_16
+	branch p_dongle_ms_tx_normal_data+1
+	
+p_dongle_ms_multikey_key_release:
+	jam 0,mem_usb_multikey_key_flag
+	arg mem_usb_kb_multikey,contw
+	call memset0_16
+	fetch 3,mem_usb_multkey_release
+	branch p_dongle_ms_tx_multikey_data+1
+
+p_dongle_ms_system_key_release:
+	jam 0,mem_usb_system_key_flag
+	arg mem_usb_kb_system,contw
+	call memset0_16
+	fetch 3,mem_usb_system_ctrl_release
+	branch p_dongle_ms_tx_system_data+1
+
+p_donge_ms_b4_key_press_set:
+	fetch 1,mem_ms_b4_function_flag
+	store 1,mem_ms_key_function_flag_temp
+p_dongle_ms_key_press_val_set:
+	fetch 1,mem_ms_key_function_flag_temp
+	beq FORWORD,p_dongle_ms_forword_val_set
+	beq BACKWORD,p_dongle_ms_back_val_set
+	beq ALT_A,p_dongle_ms_alt_a_val_set
+	beq BOSS,p_dongle_ms_boss_val_set
+	beq VOL_ADD,p_dongle_ms_vol_add_val_set
+	beq VOL_DOWN,p_dongle_ms_vol_down_val_set
+	beq PC_SLEEP,p_dongle_ms_pc_sleep_val_set
+	beq LIGHT_ADD,p_dongle_ms_light_add_val_set
+	beq LIGHT_DOWN,p_dongle_ms_light_down_val_set
+	beq POWERDOWN,p_dongle_ms_powerdown_val_set
+	beq PLAY,p_dongle_ms_play_set
+	beq PALY_FORWORD,p_dongle_ms_play_forword_set
+	beq PLAY_NEXT,p_dongle_ms_play_next_set
+	beq TASK_WINDOWS,p_dongle_ms_task_windows_set
+	rtn
+
+//======================ms key==========================//
+p_dongle_ms_forword_val_set:
+	fetch 1,mem_usb_mouse_data+1
+	set1 B5_BIT,pdata
+p_dongle_usb_mouse_dat_store:
 	store 1,mem_usb_mouse_data+1
 	rtn
+p_dongle_ms_back_val_set:
+	fetch 1,mem_usb_mouse_data+1
+	set1 B4_BIT,pdata
+	branch p_dongle_usb_mouse_dat_store
+
+//======================normal key==========================//
+p_dongle_ms_alt_a_val_set:
+	arg mem_usb_kb_data,contw
+	call memset0_16
+	fetch 3,mem_usb_win_alt_a
+p_dongle_ms_tx_normal_data:
+	jam 1,mem_usb_normal_key_flag
+	store 3,mem_usb_kb_data
+	branch p_dongle_usb_tx_normal_data_enable
+
+p_dongle_ms_pc_sleep_val_set:
+	arg mem_usb_kb_data,contw
+	call memset0_16
+	fetch 3,mem_usb_win_sleep
+	branch p_dongle_ms_tx_normal_data
+
+p_dongle_ms_boss_val_set:
+	arg mem_usb_kb_data,contw
+	call memset0_16
+	fetch 3,mem_usb_win_win_d
+	branch p_dongle_ms_tx_normal_data
+
+//======================multikey key==========================//
+p_dongle_ms_vol_add_val_set:
+	arg mem_usb_kb_multikey,contw
+	call memset0_16
+	fetch 3,mem_usb_win_vol_add
+p_dongle_ms_tx_multikey_data:
+	jam 1,mem_usb_multikey_key_flag
+	store 3,mem_usb_kb_multikey+1
+	jam KB_MULTIKEY_REPORT_ID,mem_usb_kb_multikey
+	jam USB_EP2_MULTIKEY,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
+
+p_dongle_ms_vol_down_val_set:
+	arg mem_usb_kb_multikey,contw
+	call memset0_16
+	fetch 3,mem_usb_win_vol_decrease
+	branch p_dongle_ms_tx_multikey_data
+
+p_dongle_ms_light_add_val_set:
+	arg mem_usb_kb_multikey,contw
+	call memset0_16
+	fetch 3,mem_usb_win_light_add
+	branch p_dongle_ms_tx_multikey_data
+
+p_dongle_ms_light_down_val_set:
+	arg mem_usb_kb_multikey,contw
+	call memset0_16
+	fetch 3,mem_usb_win_light_decrease
+	branch p_dongle_ms_tx_multikey_data
+
+p_dongle_ms_play_set:
+	arg mem_usb_kb_multikey,contw
+	call memset0_16
+	fetch 3,mem_usb_win_play
+	branch p_dongle_ms_tx_multikey_data
+
+p_dongle_ms_play_forword_set:
+	arg mem_usb_kb_multikey,contw
+	call memset0_16
+	fetch 3,mem_usb_win_forword_play
+	branch p_dongle_ms_tx_multikey_data
 
+p_dongle_ms_play_next_set:
+	arg mem_usb_kb_multikey,contw
+	call memset0_16
+	fetch 3,mem_usb_win_next_play
+	branch p_dongle_ms_tx_multikey_data
+
+p_dongle_ms_task_windows_set:
+	arg mem_usb_kb_multikey,contw
+	call memset0_16
+	fetch 3,mem_usb_win_task_windows
+	branch p_dongle_ms_tx_multikey_data
+
+//======================system key==========================//
+p_dongle_ms_powerdown_val_set:
+	arg mem_usb_kb_system,contw
+	call memset0_16
+	fetch 3,mem_usb_win_powerdown
+p_dongle_ms_tx_system_data:
+	jam 1,mem_usb_system_key_flag
+	store 3,mem_usb_kb_system+1
+	jam KB_SYSTEM_CONCTRL_REPORT_ID,mem_usb_kb_system
+	jam USB_EP2_SYSTEMKEY,mem_usb_ep2_data
+	branch p_dongle_usb_tx_enable_ep2
 
 /***********************************************************************************
 * Description: 	b4 fuction check
@@ -957,10 +1111,17 @@
 p_dongle_b5_fuction_change_set:
 	fetch 1,mem_usb_mouse_data+1
 	set0 B5_BIT,pdata
-	store 1,mem_usb_mouse_data+1
+	call p_dongle_usb_mouse_dat_store
+	fetch 1,mem_dg_mouse_data
+	isolate1 B5_BIT,pdata
+	call p_donge_ms_b5_key_press_set,true
+	ncall p_donge_ms_fuction_key_release_set,true
 	rtn
 
-
+p_donge_ms_b5_key_press_set:
+	fetch 1,mem_ms_b5_function_flag
+	store 1,mem_ms_key_function_flag_temp
+	branch p_dongle_ms_key_press_val_set
 
 
 	
@@ -1064,7 +1225,7 @@
 	arg mem_usb_ep1_fifo,rega
 	call fifo_is_full
 	nrtn blank
-	fetch 1,mem_usb_ep1_fifo
+	fetch 1,mem_usb_ep1_data
 	store 1,mem_fifo_temp
 	arg mem_usb_ep1_fifo,rega
 	branch fifo_in
