Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/format/app_dongle.format	(revision 3541)
+++ /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/format/app_dongle.format	(working copy)
@@ -39,7 +39,21 @@
 1 mem_usb_tx_data_flag
 3 mem_usb_win_cmd
 3 mem_usb_mac_cmd
-3 mem_usb_kb_shift
+3 mem_usb_kb_enter
+1 mem_usb_website_step
+1 mem_usb_website_shift_flag
+1 mem_usb_website_release_flag
+2 mem_usb_website_ptr
+40 mem_usb_website_info
+22 mem_usb_website_info_sign
+)
+(
+1 WEBSITE_WIN
+2 WEBSITE_WIN_RELEASE
+3 WEBSITE_DATA
+4 WEBSITE_ENTER
+5 WEBSITE_ENTER_RELEASE
+6 WEBSITE_DONE
 )
 
 
Index: output/eeprom.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/output/eeprom.dat	(revision 3541)
+++ /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-6e
+56
 0a
 c2
 84
@@ -23,7 +23,7 @@
 c0
 0a
 02
-06
+01
 c0
 0a
 80
@@ -43,7 +43,7 @@
 c0
 1b
 82
-86
+80
 c0
 1c
 00
@@ -55,11 +55,11 @@
 c0
 1e
 82
-6e
+69
 c0
 1f
 02
-72
+6e
 c0
 62
 80
@@ -67,11 +67,11 @@
 c0
 6d
 01
-d7
+d2
 c0
 6e
 01
-e7
+e2
 c0
 7f
 00
@@ -95,31 +95,31 @@
 c0
 1c
 82
-22
+1d
 c0
 26
 82
-26
+21
 c0
 37
 82
-91
+8b
 c0
 41
 02
-28
+23
 c0
 42
 02
-48
+43
 c0
 44
 02
-56
+51
 c0
 45
 02
-63
+5e
 c1
 7f
 80
@@ -363,11 +363,11 @@
 20
 40
 01
-a9
+a4
 20
 40
 01
-d4
+cf
 20
 40
 00
@@ -383,7 +383,7 @@
 20
 20
 01
-d6
+d1
 20
 75
 80
@@ -919,7 +919,7 @@
 58
 00
 02
-4f
+4a
 67
 e1
 45
@@ -1303,407 +1303,387 @@
 6f
 e0
 c6
-98
-1f
+a3
+c0
+00
+81
+4b
+c0
+01
+01
+61
+c0
+01
+81
+5b
+c0
+02
+01
+57
+c0
+02
+81
+5f
+20
+60
+00
+00
+6f
 e0
-fe
+88
+fa
+c0
+00
 01
+4f
+c0
+00
+81
+53
+20
+60
+00
+00
+70
+46
+a3
+02
+6f
+e1
+c6
+9a
 67
-e0
+e1
+89
+23
+20
+20
+7c
+28
+70
+46
+a3
+02
+6f
+e1
 c6
-98
+9d
+67
+e1
+89
+23
 20
-40
-01
-4c
+20
+7c
+28
+70
+46
+a3
+05
+6f
+e1
+c6
+a0
+67
+e1
+89
+23
+20
+20
+7c
+28
 6f
 e0
 c6
-99
+a5
+c0
+00
+81
+62
+c0
+00
+01
+69
 20
-7a
+60
 00
 00
 70
 46
-99
+a3
+06
+20
+20
+01
+62
+70
+46
+a3
+03
+d8
+a0
+09
+23
+df
+20
+00
+08
+20
+40
+7c
+a3
+70
+46
+a5
 00
 20
 20
 7c
 28
+70
+46
+a3
+04
+20
+60
+00
+00
+d8
+40
+46
+a9
 6f
 e0
 c6
+a8
 98
-c0
-02
-81
-9d
-c0
-03
-01
-9b
-c0
-03
+40
+84
+00
+6f
+e1
+46
+a6
+98
+46
+7c
+00
+20
+22
 81
-a5
-c0
-14
+67
+20
+40
 01
-7d
-c0
-14
-81
-a5
-c0
-15
+79
+20
+40
 01
-7f
-c0
-15
-81
-a5
-c0
-16
+97
+6f
+e0
+c6
+a4
+67
+e0
+89
+23
+62
+20
+89
+26
+6f
+e1
+46
+a6
+1f
+e0
+fe
 01
-7f
-c0
-16
-81
+67
+e1
+46
+a6
+70
+46
 a5
-c0
-17
 01
-81
-c0
-17
-81
-a5
-c0
-18
-01
-99
-c0
-18
-81
-a5
-c0
-19
-01
-83
-c0
-19
-81
-a5
-c0
-1a
-01
-83
-c0
-1a
-81
-a5
-c0
-1b
-01
-85
-c0
-1b
-81
-a5
-c0
-1c
-01
-85
-c0
-1c
-81
-a5
-c0
-1d
-01
-85
-c0
-1d
-81
-a5
-c0
-1e
-01
-87
-c0
-1e
-81
-a5
-c0
-1f
-01
-89
-c0
-1f
-81
-a5
-c0
 20
-01
-8b
-c0
 20
-81
-a5
-c0
-21
-01
-7d
-c0
+7c
+28
+68
+49
+46
+a6
+ef
+e0
+80
+02
+1f
+e6
+7c
+7a
+24
 21
-81
-a5
-c0
-22
 01
-8d
-c0
+80
+da
+40
+00
+61
+9a
+46
 22
-81
-a5
-c0
-23
-01
-8f
-c0
-23
-81
-a5
-c0
-24
+00
+20
+21
 01
-91
-c0
+93
+ef
+e0
+80
+02
+1f
+e6
+7c
+39
 24
-81
-a5
-c0
-25
-01
-87
-c0
-25
-81
-a5
-c0
-26
+21
 01
-93
-c0
-26
-81
-a5
-c0
-27
+86
+da
+40
+00
+30
+9a
+46
+22
+00
+20
+21
 01
 95
-c0
-27
+1f
+e6
+7c
+3a
+20
+22
 81
-a5
-c0
-2d
-01
-97
-c0
-2d
+8d
+1f
+e6
+7c
+2f
+20
+22
 81
-a5
-c0
-2e
-01
-97
-c0
+8f
+1f
+e6
+7c
 2e
+20
+22
 81
-a7
+91
 20
 60
 00
 00
-70
-09
-26
-0b
-20
-20
-01
-a5
-70
-09
-26
-17
-20
-20
-01
-a5
-70
-09
-26
-13
-20
-20
-01
-a5
-70
-09
-26
-38
-20
-20
-01
-a5
-70
-09
-26
-1a
-20
-20
-01
-a5
-70
-09
-26
-37
-20
-20
-01
-a5
-70
-09
-26
-1d
-20
-20
-01
-a5
-70
-09
-26
-1b
-20
-20
-01
-a5
-70
-09
-26
-1c
-20
-20
-01
-a5
-70
-09
-26
-04
-20
-20
-01
-a5
-70
-09
-26
-0c
-20
-20
-01
-a5
-70
-09
-26
-06
-20
-20
-01
-a5
-70
-09
-26
-11
-20
-20
-01
-a5
-70
-09
-26
-28
+da
 20
+00
+33
 20
-01
-a5
-6f
-e1
-c6
-a0
+60
+00
+00
+da
 20
+00
+38
 20
-01
-a4
-70
-09
-23
-08
+60
+00
+00
+da
 20
+00
+37
 20
-01
-a5
-6f
-e0
-88
-fa
-c0
+60
 00
-01
-a3
-c0
 00
-81
-a1
+1a
+20
+a2
+04
 20
 60
 00
 00
-6f
-e1
-c6
-9d
+1a
 20
+a2
+27
 20
-01
+60
+00
+00
+70
+46
 a4
+00
 6f
 e1
+46
+a6
+ef
+e0
+80
+3f
+d8
+c0
+46
+d1
+68
+48
 c6
-9a
-67
-e1
-89
-23
-70
+d0
+18
+42
+72
+00
+e8
+40
+80
+06
+98
 46
-99
+7c
+00
+20
+22
+81
+a2
+c2
+00
 01
+9d
 20
 60
 00
 00
 70
 46
-98
-00
-20
+a4
+02
 20
-01
-a5
+60
+00
+00
 20
 75
 80
@@ -1755,7 +1735,7 @@
 20
 40
 01
-c6
+c1
 2a
 2f
 fe
@@ -1787,7 +1767,7 @@
 20
 40
 01
-c6
+c1
 d8
 a0
 8a
@@ -1815,7 +1795,7 @@
 20
 21
 01
-bb
+b6
 20
 20
 21
@@ -1919,7 +1899,7 @@
 20
 40
 01
-ff
+fa
 70
 8a
 08
@@ -1955,7 +1935,7 @@
 20
 40
 01
-f5
+f0
 6f
 f0
 8a
@@ -1999,7 +1979,7 @@
 20
 40
 01
-ff
+fa
 70
 80
 cd
@@ -2058,8 +2038,8 @@
 29
 c3
 02
-82
-00
+81
+fb
 68
 59
 01
@@ -2095,7 +2075,7 @@
 c0
 08
 02
-1f
+1a
 58
 00
 57
@@ -2139,7 +2119,7 @@
 c0
 08
 02
-1c
+17
 58
 00
 2b
@@ -2175,7 +2155,7 @@
 20
 20
 02
-18
+13
 58
 00
 83
@@ -2187,7 +2167,7 @@
 20
 20
 02
-0d
+08
 6f
 e0
 c3
@@ -2227,7 +2207,7 @@
 c0
 11
 02
-2e
+29
 c0
 7f
 b5
@@ -2243,7 +2223,7 @@
 20
 3a
 02
-34
+2f
 6f
 e2
 45
@@ -2267,11 +2247,11 @@
 c0
 00
 82
-38
+33
 c0
 01
 02
-40
+3b
 20
 60
 00
@@ -2291,7 +2271,7 @@
 c0
 01
 02
-3d
+38
 20
 60
 00
@@ -2323,7 +2303,7 @@
 c0
 80
 02
-45
+40
 20
 60
 00
@@ -2375,7 +2355,7 @@
 c2
 81
 82
-52
+4d
 20
 20
 48
@@ -2459,7 +2439,7 @@
 20
 40
 02
-67
+62
 20
 20
 34
@@ -2495,7 +2475,11 @@
 20
 40
 02
-70
+6c
+20
+40
+02
+78
 20
 20
 48
@@ -2519,7 +2503,7 @@
 20
 40
 02
-76
+72
 20
 20
 48
@@ -2539,7 +2523,7 @@
 20
 40
 02
-7c
+78
 20
 40
 35
@@ -2563,7 +2547,7 @@
 20
 40
 02
-83
+7f
 d8
 e0
 00
@@ -2571,23 +2555,15 @@
 58
 00
 00
-10
+50
 20
 20
 7c
 e1
-6f
-e0
-c6
-98
-20
-7a
-00
-00
 20
 20
 02
-52
+4d
 20
 40
 47
@@ -2672,8 +2648,8 @@
 20
 31
 95
-4e
-62
+da
+41
 aa
 55
 40
@@ -2856,9 +2832,66 @@
 08
 00
 2c
-02
 00
-33
+00
+28
+aa
+55
+17
+00
+a6
+46
+a9
+46
+14
+68
+74
+74
+70
+3a
+2f
+2f
+77
+77
+77
+2e
+7a
+78
+68
+79
+61
+69
+2e
+63
+6e
+aa
+55
+16
+00
+d0
+46
+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
@@ -3051,43 +3084,10 @@
 aa
 aa
 55
-46
-4f
-33
-14
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+62
+61
+00
+69
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-cd
-ab
+5b
+5d
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/output/memmap.format	(revision 3541)
+++ /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/output/memmap.format	(working copy)
@@ -1488,7 +1488,13 @@
 0x4699 mem_usb_tx_data_flag
 0x469a mem_usb_win_cmd
 0x469d mem_usb_mac_cmd
-0x46a0 mem_usb_kb_shift
+0x46a0 mem_usb_kb_enter
+0x46a3 mem_usb_website_step
+0x46a4 mem_usb_website_shift_flag
+0x46a5 mem_usb_website_release_flag
+0x46a6 mem_usb_website_ptr
+0x46a8 mem_usb_website_info
+0x46d0 mem_usb_website_info_sign
 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_MZ/usb_1m_httpMZ/output/otp.dat	(revision 3541)
+++ /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/output/otp.dat	(working copy)
@@ -11,7 +11,7 @@
 00
 aa
 55
-6e
+56
 0a
 c2
 84
@@ -32,7 +32,7 @@
 c0
 0a
 02
-06
+01
 c0
 0a
 80
@@ -52,7 +52,7 @@
 c0
 1b
 82
-86
+80
 c0
 1c
 00
@@ -64,11 +64,11 @@
 c0
 1e
 82
-6e
+69
 c0
 1f
 02
-72
+6e
 c0
 62
 80
@@ -76,11 +76,11 @@
 c0
 6d
 01
-d7
+d2
 c0
 6e
 01
-e7
+e2
 c0
 7f
 00
@@ -104,31 +104,31 @@
 c0
 1c
 82
-22
+1d
 c0
 26
 82
-26
+21
 c0
 37
 82
-91
+8b
 c0
 41
 02
-28
+23
 c0
 42
 02
-48
+43
 c0
 44
 02
-56
+51
 c0
 45
 02
-63
+5e
 c1
 7f
 80
@@ -372,11 +372,11 @@
 20
 40
 01
-a9
+a4
 20
 40
 01
-d4
+cf
 20
 40
 00
@@ -392,7 +392,7 @@
 20
 20
 01
-d6
+d1
 20
 75
 80
@@ -928,7 +928,7 @@
 58
 00
 02
-4f
+4a
 67
 e1
 45
@@ -1312,407 +1312,387 @@
 6f
 e0
 c6
-98
-1f
-e0
-fe
-01
-67
-e0
-c6
-98
-20
-40
-01
-4c
-6f
-e0
-c6
-99
-20
-7a
-00
-00
-70
-46
-99
-00
-20
-20
-7c
-28
-6f
-e0
-c6
-98
-c0
-02
-81
-9d
-c0
-03
-01
-9b
-c0
-03
-81
-a5
-c0
-14
-01
-7d
-c0
-14
-81
-a5
-c0
-15
-01
-7f
-c0
-15
-81
-a5
-c0
-16
-01
-7f
-c0
-16
-81
-a5
-c0
-17
-01
-81
-c0
-17
-81
-a5
-c0
-18
-01
-99
-c0
-18
-81
-a5
-c0
-19
-01
-83
+a3
 c0
-19
+00
 81
-a5
+4b
 c0
-1a
 01
-83
-c0
-1a
-81
-a5
-c0
-1b
 01
-85
-c0
-1b
-81
-a5
+61
 c0
-1c
 01
-85
-c0
-1c
 81
-a5
+5b
 c0
-1d
+02
 01
-85
+57
 c0
-1d
+02
 81
-a5
+5f
+20
+60
+00
+00
+6f
+e0
+88
+fa
 c0
-1e
+00
 01
-87
+4f
 c0
-1e
+00
 81
-a5
-c0
-1f
-01
+53
+20
+60
+00
+00
+70
+46
+a3
+02
+6f
+e1
+c6
+9a
+67
+e1
 89
-c0
-1f
-81
-a5
-c0
+23
 20
-01
-8b
-c0
 20
-81
-a5
-c0
-21
-01
-7d
-c0
-21
-81
-a5
-c0
-22
-01
-8d
-c0
-22
-81
-a5
-c0
+7c
+28
+70
+46
+a3
+02
+6f
+e1
+c6
+9d
+67
+e1
+89
 23
-01
-8f
-c0
+20
+20
+7c
+28
+70
+46
+a3
+05
+6f
+e1
+c6
+a0
+67
+e1
+89
 23
-81
-a5
-c0
-24
-01
-91
-c0
-24
-81
-a5
-c0
-25
-01
-87
-c0
-25
-81
-a5
-c0
-26
-01
-93
-c0
-26
-81
-a5
-c0
-27
-01
-95
-c0
-27
-81
+20
+20
+7c
+28
+6f
+e0
+c6
 a5
 c0
-2d
-01
-97
-c0
-2d
+00
 81
-a5
+62
 c0
-2e
+00
 01
-97
-c0
-2e
-81
-a7
+69
 20
 60
 00
 00
 70
-09
-26
-0b
+46
+a3
+06
 20
 20
 01
-a5
+62
 70
+46
+a3
+03
+d8
+a0
 09
-26
-17
+23
+df
 20
+00
+08
 20
-01
-a5
+40
+7c
+a3
 70
-09
-26
-13
-20
-20
-01
+46
 a5
-70
-09
-26
-38
+00
 20
 20
-01
-a5
+7c
+28
 70
-09
-26
-1a
-20
+46
+a3
+04
 20
-01
-a5
-70
-09
-26
-37
+60
+00
+00
+d8
+40
+46
+a9
+6f
+e0
+c6
+a8
+98
+40
+84
+00
+6f
+e1
+46
+a6
+98
+46
+7c
+00
 20
+22
+81
+67
 20
+40
 01
-a5
-70
-09
-26
-1d
-20
+79
 20
+40
 01
-a5
-70
-09
-26
-1b
-20
+97
+6f
+e0
+c6
+a4
+67
+e0
+89
+23
+62
 20
-01
-a5
-70
-09
+89
 26
-1c
-20
-20
+6f
+e1
+46
+a6
+1f
+e0
+fe
 01
-a5
+67
+e1
+46
+a6
 70
-09
-26
-04
-20
-20
-01
+46
 a5
-70
-09
-26
-0c
+01
 20
 20
+7c
+28
+68
+49
+46
+a6
+ef
+e0
+80
+02
+1f
+e6
+7c
+7a
+24
+21
 01
-a5
-70
-09
-26
-06
+80
+da
+40
+00
+61
+9a
+46
+22
+00
 20
+21
+01
+93
+ef
+e0
+80
+02
+1f
+e6
+7c
+39
+24
+21
+01
+86
+da
+40
+00
+30
+9a
+46
+22
+00
 20
+21
 01
-a5
-70
-09
-26
-11
+95
+1f
+e6
+7c
+3a
+20
+22
+81
+8d
+1f
+e6
+7c
+2f
 20
+22
+81
+8f
+1f
+e6
+7c
+2e
 20
-01
-a5
-70
-09
-26
-28
+22
+81
+91
 20
+60
+00
+00
+da
 20
-01
-a5
-6f
-e1
-c6
-a0
+00
+33
+20
+60
+00
+00
+da
 20
+00
+38
 20
-01
-a4
-70
-09
-23
-08
+60
+00
+00
+da
 20
+00
+37
 20
-01
-a5
-6f
-e0
-88
-fa
-c0
+60
 00
-01
-a3
-c0
 00
-81
-a1
+1a
+20
+a2
+04
 20
 60
 00
 00
-6f
-e1
-c6
-9d
+1a
 20
+a2
+27
 20
-01
+60
+00
+00
+70
+46
 a4
+00
 6f
 e1
+46
+a6
+ef
+e0
+80
+3f
+d8
+c0
+46
+d1
+68
+48
 c6
-9a
-67
-e1
-89
-23
-70
+d0
+18
+42
+72
+00
+e8
+40
+80
+06
+98
 46
-99
+7c
+00
+20
+22
+81
+a2
+c2
+00
 01
+9d
 20
 60
 00
 00
 70
 46
-98
-00
-20
+a4
+02
 20
-01
-a5
+60
+00
+00
 20
 75
 80
@@ -1764,7 +1744,7 @@
 20
 40
 01
-c6
+c1
 2a
 2f
 fe
@@ -1796,7 +1776,7 @@
 20
 40
 01
-c6
+c1
 d8
 a0
 8a
@@ -1824,7 +1804,7 @@
 20
 21
 01
-bb
+b6
 20
 20
 21
@@ -1928,7 +1908,7 @@
 20
 40
 01
-ff
+fa
 70
 8a
 08
@@ -1964,7 +1944,7 @@
 20
 40
 01
-f5
+f0
 6f
 f0
 8a
@@ -2008,7 +1988,7 @@
 20
 40
 01
-ff
+fa
 70
 80
 cd
@@ -2067,8 +2047,8 @@
 29
 c3
 02
-82
-00
+81
+fb
 68
 59
 01
@@ -2104,7 +2084,7 @@
 c0
 08
 02
-1f
+1a
 58
 00
 57
@@ -2148,7 +2128,7 @@
 c0
 08
 02
-1c
+17
 58
 00
 2b
@@ -2184,7 +2164,7 @@
 20
 20
 02
-18
+13
 58
 00
 83
@@ -2196,7 +2176,7 @@
 20
 20
 02
-0d
+08
 6f
 e0
 c3
@@ -2236,7 +2216,7 @@
 c0
 11
 02
-2e
+29
 c0
 7f
 b5
@@ -2252,7 +2232,7 @@
 20
 3a
 02
-34
+2f
 6f
 e2
 45
@@ -2276,11 +2256,11 @@
 c0
 00
 82
-38
+33
 c0
 01
 02
-40
+3b
 20
 60
 00
@@ -2300,7 +2280,7 @@
 c0
 01
 02
-3d
+38
 20
 60
 00
@@ -2332,7 +2312,7 @@
 c0
 80
 02
-45
+40
 20
 60
 00
@@ -2384,7 +2364,7 @@
 c2
 81
 82
-52
+4d
 20
 20
 48
@@ -2468,7 +2448,7 @@
 20
 40
 02
-67
+62
 20
 20
 34
@@ -2504,7 +2484,11 @@
 20
 40
 02
-70
+6c
+20
+40
+02
+78
 20
 20
 48
@@ -2528,7 +2512,7 @@
 20
 40
 02
-76
+72
 20
 20
 48
@@ -2548,7 +2532,7 @@
 20
 40
 02
-7c
+78
 20
 40
 35
@@ -2572,7 +2556,7 @@
 20
 40
 02
-83
+7f
 d8
 e0
 00
@@ -2580,23 +2564,15 @@
 58
 00
 00
-10
+50
 20
 20
 7c
 e1
-6f
-e0
-c6
-98
-20
-7a
-00
-00
 20
 20
 02
-52
+4d
 20
 40
 47
@@ -2681,8 +2657,8 @@
 20
 31
 95
-4e
-62
+da
+41
 aa
 55
 40
@@ -2865,9 +2841,66 @@
 08
 00
 2c
-02
 00
-33
+00
+28
+aa
+55
+17
+00
+a6
+46
+a9
+46
+14
+68
+74
+74
+70
+3a
+2f
+2f
+77
+77
+77
+2e
+7a
+78
+68
+79
+61
+69
+2e
+63
+6e
+aa
+55
+16
+00
+d0
+46
+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
@@ -3060,8 +3093,8 @@
 aa
 aa
 55
-46
-4f
-33
-14
+62
+61
+00
+69
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/output/program.lis	(revision 3541)
+++ /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/output/program.lis	(working copy)
@@ -4,19 +4,19 @@
 0001 c000001f beq patch00_0 ,p_soft_reset 
 0002 c0010025 beq patch00_2 ,p_main_loop 
 0003 c008802e beq patch02_1 ,p_set_sync_on 
-0004 c00a0206 beq patch02_4 ,p_set_lemode 
+0004 c00a0201 beq patch02_4 ,p_set_lemode 
 0005 c00a80ca beq patch02_5 ,p_rf_rx_enable 
 0006 c00c00d8 beq patch03_0 ,p_txon 
 0007 c00c807e beq patch03_1 ,p_set_tx_power 
 0008 c00d003c beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b8286 beq patch06_7 ,p_dongle_default_init 
+0009 c01b8280 beq patch06_7 ,p_dongle_default_init 
 000a c01c009d beq patch07_0 ,p_dongle_read_kb_bind_status 
 000b c01c8099 beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e826e beq patch07_5 ,p_dongle_usb_dispatch 
-000d c01f0272 beq patch07_6 ,p_dongle_work_mode_auto 
+000c c01e8269 beq patch07_5 ,p_dongle_usb_dispatch 
+000d c01f026e beq patch07_6 ,p_dongle_work_mode_auto 
 000e c0628096 beq patch18_5 ,p_otp_read_data 
-000f c06d01d7 beq patch1b_2 ,p_sadc_calibration 
-0010 c06e01e7 beq patch1b_4 ,p_enable_adc 
+000f c06d01d2 beq patch1b_2 ,p_sadc_calibration 
+0010 c06e01e2 beq patch1b_4 ,p_enable_adc 
 0011 c07f00e2 beq patch1f_6 ,p_usb_init 
 0012 c07f80e7 beq patch1f_7 ,p_usb_rx 
 0013 2020235a branch assert 
@@ -24,13 +24,13 @@
 pf_patch_ext:
 0014 c0000104 beq patch20_0 ,p_usb_class_type 
 0015 c0030123 beq patch20_6 ,p_usb_tx 
-0016 c01c8222 beq patch27_1 ,p_le_parse 
-0017 c0268226 beq patch29_5 ,p_le_init_adv 
-0018 c0378291 beq patch2d_7 ,p_g24_receive_skip_end 
-0019 c0410228 beq patch30_2 ,p_g24_bind_data_parse_next 
-001a c0420248 beq patch30_4 ,p_g24_receive_packet_start1 
-001b c0440256 beq patch31_0 ,p_g24_mode_switch_bind_search 
-001c c0450263 beq patch31_2 ,p_g24_bind_mode_auto 
+0016 c01c821d beq patch27_1 ,p_le_parse 
+0017 c0268221 beq patch29_5 ,p_le_init_adv 
+0018 c037828b beq patch2d_7 ,p_g24_receive_skip_end 
+0019 c0410223 beq patch30_2 ,p_g24_bind_data_parse_next 
+001a c0420243 beq patch30_4 ,p_g24_receive_packet_start1 
+001b c0440251 beq patch31_0 ,p_g24_mode_switch_bind_search 
+001c c045025e beq patch31_2 ,p_g24_bind_mode_auto 
 001d c17f8000 rtneq patch3f_7 
 001e 2020235a branch assert 
 
@@ -101,12 +101,12 @@
 0056 58557474 setarg 0x557474 
 0057 67f18968 store 3 ,0x8968 
 0058 7089606e jam 0x6e ,0x8960 
-0059 204001a9 call p_rx_dcoc 
-005a 204001d4 call p_rfpll_aac_ghpc 
+0059 204001a4 call p_rx_dcoc 
+005a 204001cf call p_rfpll_aac_ghpc 
 005b 2040005f call p_set_xtal_cap 
 005c 7041480c jam system_clk_12m ,mem_system_clk 
 005d 20406f4e call sadc_calibration 
-005e 202001d6 branch p_dpll_ring_ibias_calc 
+005e 202001d1 branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
 005f 20758000 rtn wake 
@@ -278,7 +278,7 @@
 p_usb_init:
 00e2 20407396 call enable_authrom 
 00e3 20407932 call usb_init_param 
-00e4 5800024f setarg p_dongle_g24_mouse 
+00e4 5800024a setarg p_dongle_g24_mouse 
 00e5 67e145e4 store 2 ,mem_cb_24g_data_device1 
 00e6 20207915 branch usb_init_restart 
 
@@ -398,473 +398,463 @@
 0143 20207bfb branch usb_tx_data_ep2 + 2 
 
 p_usb_tx_http_data_set:
-0144 6fe0c698 fetch 1 ,mem_usb_http_data_step 
-0145 1fe0fe01 increase 1 ,pdata 
-0146 67e0c698 store 1 ,mem_usb_http_data_step 
-0147 2040014c call p_usb_tx_http_data_check 
-0148 6fe0c699 fetch 1 ,mem_usb_tx_data_flag 
-0149 207a0000 rtn blank 
-014a 70469900 jam 0 ,mem_usb_tx_data_flag 
-014b 20207c28 branch usb_tx_kb_normal_data 
-
-p_usb_tx_http_data_check:
-014c 6fe0c698 fetch 1 ,mem_usb_http_data_step 
-014d c002819d beq 5 ,p_usb_tx_win_or_mac_check 
-014e c003019b beq 6 ,p_usb_tx_cmd_release 
-014f c00381a5 beq 7 ,p_usb_tx_ep1_data_enable 
-0150 c014017d beq 40 ,p_usb_tx_data_h 
-0151 c01481a5 beq 41 ,p_usb_tx_ep1_data_enable 
-0152 c015017f beq 42 ,p_usb_tx_data_t 
-0153 c01581a5 beq 43 ,p_usb_tx_ep1_data_enable 
-0154 c016017f beq 44 ,p_usb_tx_data_t 
-0155 c01681a5 beq 45 ,p_usb_tx_ep1_data_enable 
-0156 c0170181 beq 46 ,p_usb_tx_data_p 
-0157 c01781a5 beq 47 ,p_usb_tx_ep1_data_enable 
-0158 c0180199 beq 48 ,p_usb_tx_shift_data_set 
-0159 c01881a5 beq 49 ,p_usb_tx_ep1_data_enable 
-015a c0190183 beq 50 ,p_usb_tx_data_spec1 
-015b c01981a5 beq 51 ,p_usb_tx_ep1_data_enable 
-015c c01a0183 beq 52 ,p_usb_tx_data_spec1 
-015d c01a81a5 beq 53 ,p_usb_tx_ep1_data_enable 
-015e c01b0185 beq 54 ,p_usb_tx_data_w 
-015f c01b81a5 beq 55 ,p_usb_tx_ep1_data_enable 
-0160 c01c0185 beq 56 ,p_usb_tx_data_w 
-0161 c01c81a5 beq 57 ,p_usb_tx_ep1_data_enable 
-0162 c01d0185 beq 58 ,p_usb_tx_data_w 
-0163 c01d81a5 beq 59 ,p_usb_tx_ep1_data_enable 
-0164 c01e0187 beq 60 ,p_usb_tx_data_spec2 
-0165 c01e81a5 beq 61 ,p_usb_tx_ep1_data_enable 
-0166 c01f0189 beq 62 ,p_usb_tx_data_z 
-0167 c01f81a5 beq 63 ,p_usb_tx_ep1_data_enable 
-0168 c020018b beq 64 ,p_usb_tx_data_x 
-0169 c02081a5 beq 65 ,p_usb_tx_ep1_data_enable 
-016a c021017d beq 66 ,p_usb_tx_data_h 
-016b c02181a5 beq 67 ,p_usb_tx_ep1_data_enable 
-016c c022018d beq 68 ,p_usb_tx_data_y 
-016d c02281a5 beq 69 ,p_usb_tx_ep1_data_enable 
-016e c023018f beq 70 ,p_usb_tx_data_a 
-016f c02381a5 beq 71 ,p_usb_tx_ep1_data_enable 
-0170 c0240191 beq 72 ,p_usb_tx_data_i 
-0171 c02481a5 beq 73 ,p_usb_tx_ep1_data_enable 
-0172 c0250187 beq 74 ,p_usb_tx_data_spec2 
-0173 c02581a5 beq 75 ,p_usb_tx_ep1_data_enable 
-0174 c0260193 beq 76 ,p_usb_tx_data_c 
-0175 c02681a5 beq 77 ,p_usb_tx_ep1_data_enable 
-0176 c0270195 beq 78 ,p_usb_tx_data_n 
-0177 c02781a5 beq 79 ,p_usb_tx_ep1_data_enable 
-0178 c02d0197 beq 90 ,p_usb_tx_data_enter 
-0179 c02d81a5 beq 91 ,p_usb_tx_ep1_data_enable 
-017a c02e0197 beq 92 ,p_usb_tx_data_enter 
-017b c02e81a7 beq 93 ,p_usb_tx_ep1_end 
-017c 20600000 rtn 
-
-p_usb_tx_data_h:
-017d 7009260b jam 0x0b ,mem_usb_kb_data + 3 
-017e 202001a5 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_t:
-017f 70092617 jam 0x17 ,mem_usb_kb_data + 3 
-0180 202001a5 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_p:
-0181 70092613 jam 0x13 ,mem_usb_kb_data + 3 
-0182 202001a5 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_spec1:
-0183 70092638 jam 0x38 ,mem_usb_kb_data + 3 
-0184 202001a5 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_w:
-0185 7009261a jam 0x1a ,mem_usb_kb_data + 3 
-0186 202001a5 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_spec2:
-0187 70092637 jam 0x37 ,mem_usb_kb_data + 3 
-0188 202001a5 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_z:
-0189 7009261d jam 0x1d ,mem_usb_kb_data + 3 
-018a 202001a5 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_x:
-018b 7009261b jam 0x1b ,mem_usb_kb_data + 3 
-018c 202001a5 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_y:
-018d 7009261c jam 0x1c ,mem_usb_kb_data + 3 
-018e 202001a5 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_a:
-018f 70092604 jam 0x04 ,mem_usb_kb_data + 3 
-0190 202001a5 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_i:
-0191 7009260c jam 0x0c ,mem_usb_kb_data + 3 
-0192 202001a5 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_c:
-0193 70092606 jam 0x06 ,mem_usb_kb_data + 3 
-0194 202001a5 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_n:
-0195 70092611 jam 0x11 ,mem_usb_kb_data + 3 
-0196 202001a5 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_enter:
-0197 70092628 jam 0x28 ,mem_usb_kb_data + 3 
-0198 202001a5 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_shift_data_set:
-0199 6fe1c6a0 fetch 3 ,mem_usb_kb_shift 
-019a 202001a4 branch p_usb_kb_spec_data_store 
-
-p_usb_tx_cmd_release:
-019b 70092308 jam 0x08 ,mem_usb_kb_data 
-019c 202001a5 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_win_or_mac_check:
-019d 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
-019e c00001a3 beq 0 ,p_usb_tx_win_http_data 
-019f c00081a1 beq 1 ,p_usb_tx_mac_http_data 
-01a0 20600000 rtn 
-
-p_usb_tx_mac_http_data:
-01a1 6fe1c69d fetch 3 ,mem_usb_mac_cmd 
-01a2 202001a4 branch p_usb_kb_spec_data_store 
-
-p_usb_tx_win_http_data:
-01a3 6fe1c69a fetch 3 ,mem_usb_win_cmd 
-
-p_usb_kb_spec_data_store:
-01a4 67e18923 store 3 ,mem_usb_kb_data 
-
-p_usb_tx_ep1_data_enable:
-01a5 70469901 jam 1 ,mem_usb_tx_data_flag 
-01a6 20600000 rtn 
-
-p_usb_tx_ep1_end:
-01a7 70469800 jam 0 ,mem_usb_http_data_step 
-01a8 202001a5 branch p_usb_tx_ep1_data_enable 
+0144 6fe0c6a3 fetch 1 ,mem_usb_website_step 
+0145 c000814b beq website_win ,p_usb_website_winr_data 
+0146 c0010161 beq website_win_release ,p_usb_website_winr_release_data 
+0147 c001815b beq website_data ,p_usb_website_data 
+0148 c0020157 beq website_enter ,p_usb_website_enter_data 
+0149 c002815f beq website_enter_release ,p_usb_website_enter_release_data 
+014a 20600000 rtn 
+
+p_usb_website_winr_data:
+014b 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
+014c c000014f beq 0 ,p_usb_tx_winos_winr_data 
+014d c0008153 beq 1 ,p_usb_tx_macos_winr_data 
+014e 20600000 rtn 
+
+p_usb_tx_winos_winr_data:
+014f 7046a302 jam website_win_release ,mem_usb_website_step 
+0150 6fe1c69a fetch 3 ,mem_usb_win_cmd 
+0151 67e18923 store 3 ,mem_usb_kb_data 
+0152 20207c28 branch usb_tx_kb_normal_data 
+
+p_usb_tx_macos_winr_data:
+0153 7046a302 jam website_win_release ,mem_usb_website_step 
+0154 6fe1c69d fetch 3 ,mem_usb_mac_cmd 
+0155 67e18923 store 3 ,mem_usb_kb_data 
+0156 20207c28 branch usb_tx_kb_normal_data 
+
+p_usb_website_enter_data:
+0157 7046a305 jam website_enter_release ,mem_usb_website_step 
+0158 6fe1c6a0 fetch 3 ,mem_usb_kb_enter 
+0159 67e18923 store 3 ,mem_usb_kb_data 
+015a 20207c28 branch usb_tx_kb_normal_data 
+
+p_usb_website_data:
+015b 6fe0c6a5 fetch 1 ,mem_usb_website_release_flag 
+015c c0008162 beq 1 ,p_usb_webstie_release_data 
+015d c0000169 beq 0 ,p_usb_website_info_data 
+015e 20600000 rtn 
+
+p_usb_website_enter_release_data:
+015f 7046a306 jam website_done ,mem_usb_website_step 
+0160 20200162 branch p_usb_webstie_release_data 
+
+p_usb_website_winr_release_data:
+0161 7046a303 jam website_data ,mem_usb_website_step 
+
+p_usb_webstie_release_data:
+0162 d8a00923 arg mem_usb_kb_data ,contw 
+0163 df200008 arg 8 ,loopcnt 
+0164 20407ca3 call memset0 
+0165 7046a500 jam 0 ,mem_usb_website_release_flag 
+0166 20207c28 branch usb_tx_kb_normal_data 
+
+p_usb_webstie_info_data_done:
+0167 7046a304 jam website_enter ,mem_usb_website_step 
+0168 20600000 rtn 
+
+p_usb_website_info_data:
+0169 d84046a9 arg mem_usb_website_info + 1 ,temp 
+016a 6fe0c6a8 fetch 1 ,mem_usb_website_info 
+016b 98408400 iadd temp ,temp 
+016c 6fe146a6 fetch 2 ,mem_usb_website_ptr 
+016d 98467c00 isub temp ,null 
+016e 20228167 branch p_usb_webstie_info_data_done ,zero 
+016f 20400179 call p_usb_tx_website_acii2hidkey 
+0170 20400197 call p_usb_tx_website_need_shift 
+0171 6fe0c6a4 fetch 1 ,mem_usb_website_shift_flag 
+0172 67e08923 store 1 ,mem_usb_kb_data 
+0173 62208926 storer rega ,1 ,mem_usb_kb_data + 3 
+0174 6fe146a6 fetch 2 ,mem_usb_website_ptr 
+0175 1fe0fe01 increase 1 ,pdata 
+0176 67e146a6 store 2 ,mem_usb_website_ptr 
+0177 7046a501 jam 1 ,mem_usb_website_release_flag 
+0178 20207c28 branch usb_tx_kb_normal_data 
+
+p_usb_tx_website_acii2hidkey:
+0179 684946a6 fetcht 2 ,mem_usb_website_ptr 
+017a efe08002 ifetch 1 ,temp 
+017b 1fe67c7a sub pdata ,0x7a ,null 
+017c 24210180 nbranch p_usb_tx_website_acii2hidkey1 ,positive 
+017d da400061 arg 0x61 ,regb 
+017e 9a462200 isub regb ,rega 
+017f 20210193 branch p_usb_tx_website_acii2keycode_a2z ,positive 
+
+p_usb_tx_website_acii2hidkey1:
+0180 efe08002 ifetch 1 ,temp 
+0181 1fe67c39 sub pdata ,0x39 ,null 
+0182 24210186 nbranch p_usb_tx_website_acii2keycode_sign ,positive 
+0183 da400030 arg 0x30 ,regb 
+0184 9a462200 isub regb ,rega 
+0185 20210195 branch p_usb_tx_website_acii2keycode_029 ,positive 
+
+p_usb_tx_website_acii2keycode_sign:
+0186 1fe67c3a sub pdata ,0x3a ,null 
+0187 2022818d branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
+0188 1fe67c2f sub pdata ,0x2f ,null 
+0189 2022818f branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
+018a 1fe67c2e sub pdata ,0x2e ,null 
+018b 20228191 branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
+018c 20600000 rtn 
+
+p_usb_tx_website_acii2keycode_sign_3a:
+018d da200033 arg 0x33 ,rega 
+018e 20600000 rtn 
+
+p_usb_tx_website_acii2keycode_sign_2f:
+018f da200038 arg 0x38 ,rega 
+0190 20600000 rtn 
+
+p_usb_tx_website_acii2keycode_sign_2e:
+0191 da200037 arg 0x37 ,rega 
+0192 20600000 rtn 
+
+p_usb_tx_website_acii2keycode_a2z:
+0193 1a20a204 add rega ,4 ,rega 
+0194 20600000 rtn 
+
+p_usb_tx_website_acii2keycode_029:
+0195 1a20a227 add rega ,0x27 ,rega 
+0196 20600000 rtn 
+
+p_usb_tx_website_need_shift:
+0197 7046a400 jam 0 ,mem_usb_website_shift_flag 
+0198 6fe146a6 fetch 2 ,mem_usb_website_ptr 
+0199 efe0803f ifetch 1 ,pdata 
+019a d8c046d1 arg mem_usb_website_info_sign + 1 ,contr 
+019b 6848c6d0 fetcht 1 ,mem_usb_website_info_sign 
+019c 18427200 copy temp ,loopcnt 
+
+p_usb_tx_website_need_shift_check_loop:
+019d e8408006 ifetcht 1 ,contr 
+019e 98467c00 isub temp ,null 
+019f 202281a2 branch p_usb_tx_website_need_shift_setflag ,zero 
+01a0 c200019d loop p_usb_tx_website_need_shift_check_loop 
+01a1 20600000 rtn 
+
+p_usb_tx_website_need_shift_setflag:
+01a2 7046a402 jam 2 ,mem_usb_website_shift_flag 
+01a3 20600000 rtn 
 
 p_rx_dcoc:
-01a9 20758000 rtn wake 
-01aa 20402160 call set_sync_on 
-01ab d8400027 arg 39 ,temp 
-01ac 2040216f call set_freq_rx 
-01ad 204021a6 call rf_rx_enable 
-01ae 708a257f jam 0x7f ,0x8a25 
-01af 708a301a jam 0x1a ,0x8a30 
-01b0 708a3178 jam 0x78 ,0x8a31 
-01b1 708a8fb2 jam 0xb2 ,0x8a8f 
-01b2 708ac200 jam 0 ,0x8ac2 
-01b3 708ac300 jam 0 ,0x8ac3 
-01b4 d8e00006 arg 6 ,queue 
-01b5 204001c6 call p_rx_dcoc_avg 
-01b6 2a2ffe0d isolate1 13 ,rega 
-01b7 2040211d call qset_start 
-01b8 2a4ffe0d isolate1 13 ,regb 
-01b9 2040211e call qset_p 
-01ba d8e00005 arg 5 ,queue 
+01a4 20758000 rtn wake 
+01a5 20402160 call set_sync_on 
+01a6 d8400027 arg 39 ,temp 
+01a7 2040216f call set_freq_rx 
+01a8 204021a6 call rf_rx_enable 
+01a9 708a257f jam 0x7f ,0x8a25 
+01aa 708a301a jam 0x1a ,0x8a30 
+01ab 708a3178 jam 0x78 ,0x8a31 
+01ac 708a8fb2 jam 0xb2 ,0x8a8f 
+01ad 708ac200 jam 0 ,0x8ac2 
+01ae 708ac300 jam 0 ,0x8ac3 
+01af d8e00006 arg 6 ,queue 
+01b0 204001c1 call p_rx_dcoc_avg 
+01b1 2a2ffe0d isolate1 13 ,rega 
+01b2 2040211d call qset_start 
+01b3 2a4ffe0d isolate1 13 ,regb 
+01b4 2040211e call qset_p 
+01b5 d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-01bb 2040211c call qset1_p 
-01bc 2040211e call qset_p 
-01bd 204001c6 call p_rx_dcoc_avg 
-01be d8a08ac2 arg 0x8ac2 ,contw 
-01bf 1a31fe00 rshift4 rega ,pdata 
-01c0 20402117 call qsetxor 
-01c1 1a51fe00 rshift4 regb ,pdata 
-01c2 20402117 call qsetxor 
-01c3 18e08fff increase -1 ,queue 
-01c4 202101bb branch p_rx_dcoc_loop2 ,positive 
-01c5 2020214f branch rx_dcoc_loop2 + 10 
+01b6 2040211c call qset1_p 
+01b7 2040211e call qset_p 
+01b8 204001c1 call p_rx_dcoc_avg 
+01b9 d8a08ac2 arg 0x8ac2 ,contw 
+01ba 1a31fe00 rshift4 rega ,pdata 
+01bb 20402117 call qsetxor 
+01bc 1a51fe00 rshift4 regb ,pdata 
+01bd 20402117 call qsetxor 
+01be 18e08fff increase -1 ,queue 
+01bf 202101b6 branch p_rx_dcoc_loop2 ,positive 
+01c0 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-01c6 2000003c nop 60 
-01c7 58000f00 setarg mem_dcoc_buf 
-01c8 67f10982 store 2 ,0x8982 
-01c9 58000ff0 setarg mem_dcoc_buf_end 
-01ca 67f10984 store 2 ,0x8984 
-01cb 70898109 jam 0x9 ,0x8981 
-01cc 70898103 jam 0x3 ,0x8981 
-01cd 70898006 jam 0x6 ,0x8980 
-01ce 2000003c nop 60 
-01cf da200000 arg 0 ,rega 
-01d0 da400000 arg 0 ,regb 
-01d1 df200010 arg 16 ,loopcnt 
-01d2 d8c00f00 arg mem_dcoc_buf ,contr 
-01d3 2020212d branch rx_dcoc_loop 
+01c1 2000003c nop 60 
+01c2 58000f00 setarg mem_dcoc_buf 
+01c3 67f10982 store 2 ,0x8982 
+01c4 58000ff0 setarg mem_dcoc_buf_end 
+01c5 67f10984 store 2 ,0x8984 
+01c6 70898109 jam 0x9 ,0x8981 
+01c7 70898103 jam 0x3 ,0x8981 
+01c8 70898006 jam 0x6 ,0x8980 
+01c9 2000003c nop 60 
+01ca da200000 arg 0 ,rega 
+01cb da400000 arg 0 ,regb 
+01cc df200010 arg 16 ,loopcnt 
+01cd d8c00f00 arg mem_dcoc_buf ,contr 
+01ce 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-01d4 20758000 rtn wake 
-01d5 20202272 branch rfpll_aac_ghpc + 1 
+01cf 20758000 rtn wake 
+01d0 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-01d6 20600000 rtn 
+01d1 20600000 rtn 
 
 p_sadc_calibration:
-01d7 20758000 rtn wake 
-01d8 708a0777 jam 0x77 ,core_gpadc_ctrl 
-01d9 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-01da 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-01db 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-01dc 67f080cd store 1 ,core_sadc_clkdiv 
-01dd 20000bb8 nop 3000 
-01de 204001ff call p_sadc_read 
-01df 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-01e0 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-01e1 df200008 arg 8 ,loopcnt 
-01e2 20406f58 call sadc_cal_read + 1 
-01e3 6fe0c419 fetch 1 ,mem_spi_write_addr 
-01e4 67e0c433 store 1 ,mem_adc_cal_c7 
-01e5 6240c419 storer regb ,1 ,mem_spi_write_addr 
-01e6 20600000 rtn 
+01d2 20758000 rtn wake 
+01d3 708a0777 jam 0x77 ,core_gpadc_ctrl 
+01d4 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+01d5 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+01d6 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+01d7 67f080cd store 1 ,core_sadc_clkdiv 
+01d8 20000bb8 nop 3000 
+01d9 204001fa call p_sadc_read 
+01da 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+01db 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+01dc df200008 arg 8 ,loopcnt 
+01dd 20406f58 call sadc_cal_read + 1 
+01de 6fe0c419 fetch 1 ,mem_spi_write_addr 
+01df 67e0c433 store 1 ,mem_adc_cal_c7 
+01e0 6240c419 storer regb ,1 ,mem_spi_write_addr 
+01e1 20600000 rtn 
 
 p_enable_adc:
-01e7 204001f5 call p_sadc_cal_write 
-01e8 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-01e9 793ffe07 set0 7 ,pdata 
-01ea 67f08a09 store 1 ,core_gpadc_cfg1 
-01eb 708a0777 jam 0x77 ,core_gpadc_ctrl 
-01ec 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-01ed 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-01ee 20406f90 call sadc_channel 
-01ef 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-01f0 67f080cd store 1 ,core_sadc_clkdiv 
-01f1 20000bb8 nop 3000 
-01f2 204001ff call p_sadc_read 
-01f3 7080cd00 jam 0 ,core_sadc_clkdiv 
-01f4 20206fa1 branch sadc_dma 
+01e2 204001f0 call p_sadc_cal_write 
+01e3 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+01e4 793ffe07 set0 7 ,pdata 
+01e5 67f08a09 store 1 ,core_gpadc_cfg1 
+01e6 708a0777 jam 0x77 ,core_gpadc_ctrl 
+01e7 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+01e8 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+01e9 20406f90 call sadc_channel 
+01ea 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+01eb 67f080cd store 1 ,core_sadc_clkdiv 
+01ec 20000bb8 nop 3000 
+01ed 204001fa call p_sadc_read 
+01ee 7080cd00 jam 0 ,core_sadc_clkdiv 
+01ef 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-01f5 6ff080cc fetch 1 ,core_sadc_ctrl 
-01f6 79207e01 set1 1 ,pdata 
-01f7 67f080cc store 1 ,core_sadc_ctrl 
-01f8 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-01f9 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-01fa 67e0c419 store 1 ,mem_spi_write_addr 
-01fb df200008 arg 8 ,loopcnt 
-01fc 20406f67 call sadc_cal_write + 4 
-01fd 6240c419 storer regb ,1 ,mem_spi_write_addr 
-01fe 20600000 rtn 
+01f0 6ff080cc fetch 1 ,core_sadc_ctrl 
+01f1 79207e01 set1 1 ,pdata 
+01f2 67f080cc store 1 ,core_sadc_ctrl 
+01f3 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+01f4 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+01f5 67e0c419 store 1 ,mem_spi_write_addr 
+01f6 df200008 arg 8 ,loopcnt 
+01f7 20406f67 call sadc_cal_write + 4 
+01f8 6240c419 storer regb ,1 ,mem_spi_write_addr 
+01f9 20600000 rtn 
 
 p_sadc_read:
-01ff 7080cc03 jam 0x03 ,core_sadc_ctrl 
+01fa 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-0200 6ff08129 fetch 1 ,core_perf_status 
-0201 c3028200 bbit0 saradc_done ,p_sadc_read_wait 
-0202 68590164 fetcht 2 ,core_sadc_data 
-0203 6049440a storet 2 ,mem_adc_current_value 
-0204 7080cc00 jam 0x00 ,core_sadc_ctrl 
-0205 20600000 rtn 
+01fb 6ff08129 fetch 1 ,core_perf_status 
+01fc c30281fb bbit0 saradc_done ,p_sadc_read_wait 
+01fd 68590164 fetcht 2 ,core_sadc_data 
+01fe 6049440a storet 2 ,mem_adc_current_value 
+01ff 7080cc00 jam 0x00 ,core_sadc_ctrl 
+0200 20600000 rtn 
 
 p_set_lemode:
-0206 708a8211 jam 0x11 ,0x8a82 
-0207 708a8d12 jam 0x12 ,0x8a8d 
-0208 708a8e0a jam 0x0a ,0x8a8e 
-0209 6fe0c099 fetch 1 ,mem_fcomp_div 
-020a c008021f beq xtal_16m ,p_set_lemode_2m_16m 
-020b 58005762 setarg 0x5762 
-020c 67f10907 store 2 ,0x8907 
+0201 708a8211 jam 0x11 ,0x8a82 
+0202 708a8d12 jam 0x12 ,0x8a8d 
+0203 708a8e0a jam 0x0a ,0x8a8e 
+0204 6fe0c099 fetch 1 ,mem_fcomp_div 
+0205 c008021a beq xtal_16m ,p_set_lemode_2m_16m 
+0206 58005762 setarg 0x5762 
+0207 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-020d 70890103 jam 3 ,0x8901 
-020e 70893003 jam 3 ,0x8930 
-020f c6168000 rtnmark1 mark_ble_2m 
-0210 70890101 jam 1 ,0x8901 
-0211 708a8207 jam 0x07 ,0x8a82 
-0212 708a8d44 jam 0x44 ,0x8a8d 
-0213 708a8e0a jam 0x0a ,0x8a8e 
-0214 6fe0c099 fetch 1 ,mem_fcomp_div 
-0215 c008021c beq xtal_16m ,p_set_lemode_1m_16m 
-0216 58002bb1 setarg 0x2bb1 
-0217 67f10907 store 2 ,0x8907 
+0208 70890103 jam 3 ,0x8901 
+0209 70893003 jam 3 ,0x8930 
+020a c6168000 rtnmark1 mark_ble_2m 
+020b 70890101 jam 1 ,0x8901 
+020c 708a8207 jam 0x07 ,0x8a82 
+020d 708a8d44 jam 0x44 ,0x8a8d 
+020e 708a8e0a jam 0x0a ,0x8a8e 
+020f 6fe0c099 fetch 1 ,mem_fcomp_div 
+0210 c0080217 beq xtal_16m ,p_set_lemode_1m_16m 
+0211 58002bb1 setarg 0x2bb1 
+0212 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-0218 c6978000 rtnmark0 mark_ble_lr 
-0219 70893024 jam 0x24 ,0x8930 
-021a 70890105 jam 5 ,0x8901 
-021b 20600000 rtn 
+0213 c6978000 rtnmark0 mark_ble_lr 
+0214 70893024 jam 0x24 ,0x8930 
+0215 70890105 jam 5 ,0x8901 
+0216 20600000 rtn 
 
 p_set_lemode_1m_16m:
-021c 58004189 setarg 0x4189 
-021d 67f10907 store 2 ,0x8907 
-021e 20200218 branch p_set_lemode_1m 
+0217 58004189 setarg 0x4189 
+0218 67f10907 store 2 ,0x8907 
+0219 20200213 branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-021f 58008312 setarg 0x8312 
-0220 67f10907 store 2 ,0x8907 
-0221 2020020d branch p_set_lemode_2m 
+021a 58008312 setarg 0x8312 
+021b 67f10907 store 2 ,0x8907 
+021c 20200208 branch p_set_lemode_2m 
 
 p_le_parse:
-0222 6fe0c334 fetch 1 ,mem_le_packet_llid 
-0223 c1000000 rtneq llid_reserved 
-0224 c001b04a beq llid_le_ll ,le_parse_ll 
-0225 202028e1 branch le_parse_l2cap 
+021d 6fe0c334 fetch 1 ,mem_le_packet_llid 
+021e c1000000 rtneq llid_reserved 
+021f c001b04a beq llid_le_ll ,le_parse_ll 
+0220 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-0226 793f8030 set0 mark_ble_crc_fail ,mark 
-0227 20202af6 branch le_init_adv + 1 
+0221 793f8030 set0 mark_ble_crc_fail ,mark 
+0222 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-0228 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0229 c0553329 beq datatype_bind ,g24_bind_first_step 
-022a c02ab33a beq datatype_config ,g24_bind_second_step 
-022b c011022e beq datatype_ok ,p_g24_bind_third_step 
-022c c07fb59b beq datatype_attemp ,g24_data_attemp 
-022d 20600000 rtn 
+0223 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+0224 c0553329 beq datatype_bind ,g24_bind_first_step 
+0225 c02ab33a beq datatype_config ,g24_bind_second_step 
+0226 c0110229 beq datatype_ok ,p_g24_bind_third_step 
+0227 c07fb59b beq datatype_attemp ,g24_data_attemp 
+0228 20600000 rtn 
 
 p_g24_bind_third_step:
-022e 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-022f 203a0234 branch p_g24_bind_third_step_skip ,blank 
-0230 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
-0231 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-0232 98467c00 isub temp ,null 
-0233 24628000 nrtn zero 
+0229 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+022a 203a022f branch p_g24_bind_third_step_skip ,blank 
+022b 6fe245ec fetch 4 ,mem_24g_rxdata_temp + 4 
+022c 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+022d 98467c00 isub temp ,null 
+022e 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-0234 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
-0235 c0008238 beq datatype_device1 ,p_g24_bind_third_step_device1 
-0236 c0010240 beq datatype_device2 ,p_g24_bind_third_step_device2 
-0237 20600000 rtn 
+022f 6fe0c5eb fetch 1 ,mem_24g_rxdata_temp + 3 
+0230 c0008233 beq datatype_device1 ,p_g24_bind_third_step_device1 
+0231 c001023b beq datatype_device2 ,p_g24_bind_third_step_device2 
+0232 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-0238 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-0239 247a0000 nrtn blank 
-023a 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-023b c001023d beq 2 ,p_g24_bind_dvc1_step_success 
-023c 20600000 rtn 
+0233 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+0234 247a0000 nrtn blank 
+0235 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0236 c0010238 beq 2 ,p_g24_bind_dvc1_step_success 
+0237 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-023d 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-023e 2040338d call g24_binding_dvc1_living 
-023f 2020336b branch g24_bind_dvc1_step_success + 1 
+0238 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+0239 2040338d call g24_binding_dvc1_living 
+023a 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-0240 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-0241 247a0000 nrtn blank 
-0242 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0243 c0800245 bne 0 ,p_g24_bind_dvc2_step_success 
-0244 20600000 rtn 
+023b 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+023c 247a0000 nrtn blank 
+023d 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+023e c0800240 bne 0 ,p_g24_bind_dvc2_step_success 
+023f 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-0245 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-0246 20403393 call g24_binding_dvc2_living 
-0247 20203378 branch g24_bind_dvc2_step_success + 1 
+0240 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+0241 20403393 call g24_binding_dvc2_living 
+0242 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_receive_packet_start1:
-0248 70804300 jam 0x00 ,0x8043 
-0249 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-024a c000b3c4 beq datatype_device1 ,g24_data_device1 
-024b c00133d3 beq datatype_device2 ,g24_data_device2 
-024c c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
-024d c281b3c4 bbit1 datatype_http ,g24_data_device1 
-024e 202033bb branch g24_receive_packet_start1 + 1 
+0243 70804300 jam 0x00 ,0x8043 
+0244 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+0245 c000b3c4 beq datatype_device1 ,g24_data_device1 
+0246 c00133d3 beq datatype_device2 ,g24_data_device2 
+0247 c07fb3c2 beq datatype_attemp ,g24_data_receive_attemp 
+0248 c281b3c4 bbit1 datatype_http ,g24_data_device1 
+0249 202033bb branch g24_receive_packet_start1 + 1 
 
 p_dongle_g24_mouse:
-024f 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
-0250 c2818252 bbit1 datatype_http ,p_dongle_usb_tx_http_data 
-0251 202048d4 branch dongle_g24_mouse 
+024a 6fe0c5ea fetch 1 ,mem_24g_rxdata_temp + 2 
+024b c281824d bbit1 datatype_http ,p_dongle_usb_tx_http_data 
+024c 202048d4 branch dongle_g24_mouse 
 
 p_dongle_usb_tx_http_data:
-0252 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
-0253 d8a00923 arg mem_usb_kb_data ,contw 
-0254 20407c9a call memset0_8 
-0255 20204848 branch dongle_usb_tx_ep1_enable 
+024d 70090b11 jam usb_ep1_kb_http ,mem_usb_ep1_data 
+024e d8a00923 arg mem_usb_kb_data ,contw 
+024f 20407c9a call memset0_8 
+0250 20204848 branch dongle_usb_tx_ep1_enable 
 
 p_g24_mode_switch_bind_search:
-0256 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0257 c1000000 rtneq dongle_work 
-0258 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-0259 247a0000 nrtn blank 
-025a 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-025b 247a0000 nrtn blank 
-025c 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-025d 207a0000 rtn blank 
-025e 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-025f c1800000 rtnne 0 
-0260 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0261 c1800000 rtnne 0 
-0262 20203436 branch g24_mode_switch_bind_search + 9 
+0251 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0252 c1000000 rtneq dongle_work 
+0253 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+0254 247a0000 nrtn blank 
+0255 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+0256 247a0000 nrtn blank 
+0257 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+0258 207a0000 rtn blank 
+0259 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+025a c1800000 rtnne 0 
+025b 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+025c c1800000 rtnne 0 
+025d 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-0263 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0264 c1808000 rtnne dongle_bind 
-0265 20400267 call p_g24_bind_init 
-0266 2020346d branch g24_bind_mode_auto + 4 
+025e 6fe0c616 fetch 1 ,mem_24g_work_mode 
+025f c1808000 rtnne dongle_bind 
+0260 20400262 call p_g24_bind_init 
+0261 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-0267 6fe0c615 fetch 1 ,mem_24g_mode_init 
-0268 c3808000 rtnbit1 dongle_bind 
-0269 79207e01 set1 dongle_bind ,pdata 
-026a 67e0c615 store 1 ,mem_24g_mode_init 
-026b 58000000 setarg 0 
-026c 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-026d 20203307 branch g24_bind_init + 8 
+0262 6fe0c615 fetch 1 ,mem_24g_mode_init 
+0263 c3808000 rtnbit1 dongle_bind 
+0264 79207e01 set1 dongle_bind ,pdata 
+0265 67e0c615 store 1 ,mem_24g_mode_init 
+0266 58000000 setarg 0 
+0267 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+0268 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-026e 20400270 call p_wdt_kick 
-026f 20204868 branch dongle_usb_dispatch + 1 
+0269 2040026c call p_wdt_kick 
+026a 20400278 call p_g24_100ms_timer_event 
+026b 20204868 branch dongle_usb_dispatch + 1 
 
 p_wdt_kick:
-0270 58000010 setarg 16 
-0271 202070c8 branch wdt_init_config 
+026c 58000010 setarg 16 
+026d 202070c8 branch wdt_init_config 
 
 p_dongle_work_mode_auto:
-0272 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0273 c1800000 rtnne dongle_work 
-0274 20400276 call p_g24_work_mode_start 
-0275 202048a7 branch dongle_work_mode_auto + 4 
+026e 6fe0c616 fetch 1 ,mem_24g_work_mode 
+026f c1800000 rtnne dongle_work 
+0270 20400272 call p_g24_work_mode_start 
+0271 202048a7 branch dongle_work_mode_auto + 4 
 
 p_g24_work_mode_start:
-0276 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0277 c1800000 rtnne dongle_work 
-0278 20403451 call g24_work_init 
-0279 2040027c call p_g24_100ms_timer_event 
-027a 20403518 call g24_ch_process 
-027b 202033ab branch g24_receive_packet_start 
+0272 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0273 c1800000 rtnne dongle_work 
+0274 20403451 call g24_work_init 
+0275 20400278 call p_g24_100ms_timer_event 
+0276 20403518 call g24_ch_process 
+0277 202033ab branch g24_receive_packet_start 
 
 p_g24_100ms_timer_event:
-027c d8e00006 arg usb_timer_100ms ,queue 
-027d 20407cef call timer_check 
-027e 247a0000 nrtn blank 
-027f 20400283 call p_g24_http_over_pack_check 
+0278 d8e00006 arg usb_timer_100ms ,queue 
+0279 20407cef call timer_check 
+027a 247a0000 nrtn blank 
+027b 2040027f call p_g24_http_over_pack_check 
 
 p_g24_100ms_timer_init:
-0280 d8e00006 arg usb_timer_100ms ,queue 
-0281 58000010 setarg 16 
-0282 20207ce1 branch timer_init 
+027c d8e00006 arg usb_timer_100ms ,queue 
+027d 58000050 setarg 80 
+027e 20207ce1 branch timer_init 
 
 p_g24_http_over_pack_check:
-0283 6fe0c698 fetch 1 ,mem_usb_http_data_step 
-0284 207a0000 rtn blank 
-0285 20200252 branch p_dongle_usb_tx_http_data 
+027f 2020024d branch p_dongle_usb_tx_http_data 
 
 p_dongle_default_init:
-0286 204047c3 call dongle_default_init + 1 
-0287 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-0288 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-0289 70469800 jam 0 ,mem_usb_http_data_step 
-028a 70469900 jam 0 ,mem_usb_tx_data_flag 
-028b 7045ca00 jam off ,mem_24g_disable_fec1 
-028c 20403281 call g24_enable_1m 
-028d 6fe0c669 fetch 1 ,mem_dg_sys_config 
-028e c4000000 rtnbit0 dg_enable_new_revision 
-028f 7045ca01 jam on ,mem_24g_disable_fec1 
-0290 20203284 branch g24_enable_2m 
+0280 204047c3 call dongle_default_init + 1 
+0281 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+0282 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+0283 70469800 jam 0 ,mem_usb_http_data_step 
+0284 70469900 jam 0 ,mem_usb_tx_data_flag 
+0285 7045ca00 jam off ,mem_24g_disable_fec1 
+0286 20403281 call g24_enable_1m 
+0287 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0288 c4000000 rtnbit0 dg_enable_new_revision 
+0289 7045ca01 jam on ,mem_24g_disable_fec1 
+028a 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_end:
-0291 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0292 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-0293 7837fc00 enable user3 
-0294 20000018 nop 24 
-0295 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0296 79207e00 set1 bit_ack_24g ,pdata 
-0297 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-0298 204033a5 call g24_ackpayload_prep 
-0299 204031e5 call g24_transmit_prep 
-029a 20203195 branch g24_transmit 
+028b 6fe0c669 fetch 1 ,mem_dg_sys_config 
+028c c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+028d 7837fc00 enable user3 
+028e 20000018 nop 24 
+028f 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+0290 79207e00 set1 bit_ack_24g ,pdata 
+0291 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+0292 204033a5 call g24_ackpayload_prep 
+0293 204031e5 call g24_transmit_prep 
+0294 20203195 branch g24_transmit 
               org 0x2000
 
 start:
Index: output/ramcode.rom
===================================================================
--- /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/output/ramcode.rom	(revision 3541)
+++ /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/output/ramcode.rom	(working copy)
@@ -2,31 +2,31 @@
 c000001f
 c0010025
 c008802e
-c00a0206
+c00a0201
 c00a80ca
 c00c00d8
 c00c807e
 c00d003c
-c01b8286
+c01b8280
 c01c009d
 c01c8099
-c01e826e
-c01f0272
+c01e8269
+c01f026e
 c0628096
-c06d01d7
-c06e01e7
+c06d01d2
+c06e01e2
 c07f00e2
 c07f80e7
 2020235a
 c0000104
 c0030123
-c01c8222
-c0268226
-c0378291
-c0410228
-c0420248
-c0440256
-c0450263
+c01c821d
+c0268221
+c037828b
+c0410223
+c0420243
+c0440251
+c045025e
 c17f8000
 2020235a
 20800000
@@ -87,12 +87,12 @@
 58557474
 67f18968
 7089606e
-204001a9
-204001d4
+204001a4
+204001cf
 2040005f
 7041480c
 20406f4e
-202001d6
+202001d1
 20758000
 37d98200
 6fe0c11c
@@ -226,7 +226,7 @@
 20207993
 20407396
 20407932
-5800024f
+5800024a
 67e145e4
 20207915
 6fe08709
@@ -322,107 +322,102 @@
 1fe17e0f
 247a0000
 20207bfb
-6fe0c698
-1fe0fe01
-67e0c698
-2040014c
-6fe0c699
-207a0000
-70469900
-20207c28
-6fe0c698
-c002819d
-c003019b
-c00381a5
-c014017d
-c01481a5
-c015017f
-c01581a5
-c016017f
-c01681a5
-c0170181
-c01781a5
-c0180199
-c01881a5
-c0190183
-c01981a5
-c01a0183
-c01a81a5
-c01b0185
-c01b81a5
-c01c0185
-c01c81a5
-c01d0185
-c01d81a5
-c01e0187
-c01e81a5
-c01f0189
-c01f81a5
-c020018b
-c02081a5
-c021017d
-c02181a5
-c022018d
-c02281a5
-c023018f
-c02381a5
-c0240191
-c02481a5
-c0250187
-c02581a5
-c0260193
-c02681a5
-c0270195
-c02781a5
-c02d0197
-c02d81a5
-c02e0197
-c02e81a7
-20600000
-7009260b
-202001a5
-70092617
-202001a5
-70092613
-202001a5
-70092638
-202001a5
-7009261a
-202001a5
-70092637
-202001a5
-7009261d
-202001a5
-7009261b
-202001a5
-7009261c
-202001a5
-70092604
-202001a5
-7009260c
-202001a5
-70092606
-202001a5
-70092611
-202001a5
-70092628
-202001a5
-6fe1c6a0
-202001a4
-70092308
-202001a5
+6fe0c6a3
+c000814b
+c0010161
+c001815b
+c0020157
+c002815f
+20600000
 6fe088fa
-c00001a3
-c00081a1
+c000014f
+c0008153
 20600000
-6fe1c69d
-202001a4
+7046a302
 6fe1c69a
 67e18923
-70469901
+20207c28
+7046a302
+6fe1c69d
+67e18923
+20207c28
+7046a305
+6fe1c6a0
+67e18923
+20207c28
+6fe0c6a5
+c0008162
+c0000169
+20600000
+7046a306
+20200162
+7046a303
+d8a00923
+df200008
+20407ca3
+7046a500
+20207c28
+7046a304
+20600000
+d84046a9
+6fe0c6a8
+98408400
+6fe146a6
+98467c00
+20228167
+20400179
+20400197
+6fe0c6a4
+67e08923
+62208926
+6fe146a6
+1fe0fe01
+67e146a6
+7046a501
+20207c28
+684946a6
+efe08002
+1fe67c7a
+24210180
+da400061
+9a462200
+20210193
+efe08002
+1fe67c39
+24210186
+da400030
+9a462200
+20210195
+1fe67c3a
+2022818d
+1fe67c2f
+2022818f
+1fe67c2e
+20228191
+20600000
+da200033
+20600000
+da200038
+20600000
+da200037
+20600000
+1a20a204
+20600000
+1a20a227
+20600000
+7046a400
+6fe146a6
+efe0803f
+d8c046d1
+6848c6d0
+18427200
+e8408006
+98467c00
+202281a2
+c200019d
+20600000
+7046a402
 20600000
-70469800
-202001a5
 20758000
 20402160
 d8400027
@@ -435,7 +430,7 @@
 708ac200
 708ac300
 d8e00006
-204001c6
+204001c1
 2a2ffe0d
 2040211d
 2a4ffe0d
@@ -443,14 +438,14 @@
 d8e00005
 2040211c
 2040211e
-204001c6
+204001c1
 d8a08ac2
 1a31fe00
 20402117
 1a51fe00
 20402117
 18e08fff
-202101bb
+202101b6
 2020214f
 2000003c
 58000f00
@@ -476,7 +471,7 @@
 6fe0c409
 67f080cd
 20000bb8
-204001ff
+204001fa
 708a08c1
 6a40c419
 df200008
@@ -485,7 +480,7 @@
 67e0c433
 6240c419
 20600000
-204001f5
+204001f0
 6ff08a09
 793ffe07
 67f08a09
@@ -496,7 +491,7 @@
 6fe0c409
 67f080cd
 20000bb8
-204001ff
+204001fa
 7080cd00
 20206fa1
 6ff080cc
@@ -511,7 +506,7 @@
 20600000
 7080cc03
 6ff08129
-c3028200
+c30281fb
 68590164
 6049440a
 7080cc00
@@ -520,7 +515,7 @@
 708a8d12
 708a8e0a
 6fe0c099
-c008021f
+c008021a
 58005762
 67f10907
 70890103
@@ -531,7 +526,7 @@
 708a8d44
 708a8e0a
 6fe0c099
-c008021c
+c0080217
 58002bb1
 67f10907
 c6978000
@@ -540,10 +535,10 @@
 20600000
 58004189
 67f10907
-20200218
+20200213
 58008312
 67f10907
-2020020d
+20200208
 6fe0c334
 c1000000
 c001b04a
@@ -553,23 +548,23 @@
 6fe0c5ea
 c0553329
 c02ab33a
-c011022e
+c0110229
 c07fb59b
 20600000
 6fe0c5ae
-203a0234
+203a022f
 6fe245ec
 684a462c
 98467c00
 24628000
 6fe0c5eb
-c0008238
-c0010240
+c0008233
+c001023b
 20600000
 6fe0c5de
 247a0000
 6fe0c5d3
-c001023d
+c0010238
 20600000
 7045de01
 2040338d
@@ -577,7 +572,7 @@
 6fe0c5df
 247a0000
 6fe0c5d4
-c0800245
+c0800240
 20600000
 7045df01
 20403393
@@ -590,7 +585,7 @@
 c281b3c4
 202033bb
 6fe0c5ea
-c2818252
+c281824d
 202048d4
 70090b11
 d8a00923
@@ -611,7 +606,7 @@
 20203436
 6fe0c616
 c1808000
-20400267
+20400262
 2020346d
 6fe0c615
 c3808000
@@ -620,30 +615,29 @@
 58000000
 67e1c5d3
 20203307
-20400270
+2040026c
+20400278
 20204868
 58000010
 202070c8
 6fe0c616
 c1800000
-20400276
+20400272
 202048a7
 6fe0c616
 c1800000
 20403451
-2040027c
+20400278
 20403518
 202033ab
 d8e00006
 20407cef
 247a0000
-20400283
+2040027f
 d8e00006
-58000010
+58000050
 20207ce1
-6fe0c698
-207a0000
-20200252
+2020024d
 204047c3
 6fe0c695
 67e0c5d1
Index: output/sched.rom
===================================================================
--- /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/output/sched.rom	(revision 3541)
+++ /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/output/sched.rom	(working copy)
@@ -131,9 +131,12 @@
 
 mem_usb_win_cmd:08 00 15 	#win+r
 mem_usb_mac_cmd:08 00 2c 	#command+space
-mem_usb_kb_shift:02 00 33	#shift
-
-
+mem_usb_kb_enter:00 00 28	#shift
+mem_usb_website_ptr:mem_usb_website_info+1
+mem_usb_website_info:
+'http://www.zxhyai.cn
+mem_usb_website_info_sign:
+'~!@#$%^&*()_+{}|":>?<
 #mem_rf_debug_rx_gpio:87
 #mem_rf_debug_tx_gpio:88
 #uart config
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/program/patch.prog	(revision 3541)
+++ /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/program/patch.prog	(working copy)
@@ -421,152 +421,127 @@
 	branch usb_tx_data_ep2+2
 
 p_usb_tx_http_data_set:
-	fetch 1,mem_usb_http_data_step
-	increase 1,pdata
-	store 1,mem_usb_http_data_step
-	
-	call p_usb_tx_http_data_check
-	fetch 1,mem_usb_tx_data_flag
-	rtn blank
-	jam 0,mem_usb_tx_data_flag
-	branch usb_tx_kb_normal_data
-p_usb_tx_http_data_check:
-	fetch 1,mem_usb_http_data_step
-	beq 5,p_usb_tx_win_or_mac_check
-	beq 6,p_usb_tx_cmd_release
-	beq 7,p_usb_tx_ep1_data_enable
-
-	beq 40,p_usb_tx_data_h
-	beq 41,p_usb_tx_ep1_data_enable
-	beq 42,p_usb_tx_data_t
-	beq 43,p_usb_tx_ep1_data_enable
-	beq 44,p_usb_tx_data_t
-	beq 45,p_usb_tx_ep1_data_enable
-	beq 46,p_usb_tx_data_p
-	beq 47,p_usb_tx_ep1_data_enable
-	beq 48,p_usb_tx_shift_data_set
-	beq 49,p_usb_tx_ep1_data_enable
-	beq 50,p_usb_tx_data_spec1
-	beq 51,p_usb_tx_ep1_data_enable
-	beq 52,p_usb_tx_data_spec1
-	beq 53,p_usb_tx_ep1_data_enable
-	beq 54,p_usb_tx_data_w
-	beq 55,p_usb_tx_ep1_data_enable
-	beq 56,p_usb_tx_data_w
-	beq 57,p_usb_tx_ep1_data_enable
-	beq 58,p_usb_tx_data_w
-	beq 59,p_usb_tx_ep1_data_enable
-	beq 60,p_usb_tx_data_spec2
-	beq 61,p_usb_tx_ep1_data_enable
-	beq 62,p_usb_tx_data_z
-	beq 63,p_usb_tx_ep1_data_enable
-	beq 64,p_usb_tx_data_x
-	beq 65,p_usb_tx_ep1_data_enable
-	beq 66,p_usb_tx_data_h
-	beq 67,p_usb_tx_ep1_data_enable
-	beq 68,p_usb_tx_data_y
-	beq 69,p_usb_tx_ep1_data_enable
-	beq 70,p_usb_tx_data_a
-	beq 71,p_usb_tx_ep1_data_enable
-	beq 72,p_usb_tx_data_i
-	beq 73,p_usb_tx_ep1_data_enable
-	beq 74,p_usb_tx_data_spec2
-	beq 75,p_usb_tx_ep1_data_enable
-	beq 76,p_usb_tx_data_c
-	beq 77,p_usb_tx_ep1_data_enable
-	beq 78,p_usb_tx_data_n
-	beq 79,p_usb_tx_ep1_data_enable
-
-	beq 90,p_usb_tx_data_enter
-	beq 91,p_usb_tx_ep1_data_enable
-	beq 92,p_usb_tx_data_enter
-	beq 93,p_usb_tx_ep1_end
-	rtn
-p_usb_tx_data_h:
-	jam 0x0b,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-p_usb_tx_data_t:
-	jam 0x17,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-p_usb_tx_data_p:
-	jam 0x13,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-
-p_usb_tx_data_spec1:			//"/"
-	jam 0x38,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-
-p_usb_tx_data_w:
-	jam 0x1a,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-
-p_usb_tx_data_spec2:			//"."
-	jam 0x37,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-
-p_usb_tx_data_z:
-	jam 0x1d,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-
-p_usb_tx_data_x:
-	jam 0x1b,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-
-p_usb_tx_data_y:
-	jam 0x1c,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-
-p_usb_tx_data_a:
-	jam 0x04,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-
-p_usb_tx_data_i:
-	jam 0x0c,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-
-p_usb_tx_data_c:
-	jam 0x06,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-
-p_usb_tx_data_n:
-	jam 0x11,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-
-
-p_usb_tx_data_enter:
-	jam 0x28,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-
-p_usb_tx_shift_data_set:		//":"
-	fetch 3,mem_usb_kb_shift
-	branch p_usb_kb_spec_data_store
-
-p_usb_tx_cmd_release:
-	jam 0x08,mem_usb_kb_data
-	branch p_usb_tx_ep1_data_enable
+	fetch 1,mem_usb_website_step
+	beq WEBSITE_WIN,p_usb_website_winr_data
+	beq WEBSITE_WIN_RELEASE,p_usb_website_winr_release_data
+	beq WEBSITE_DATA,p_usb_website_data
+	beq WEBSITE_ENTER,p_usb_website_enter_data
+	beq WEBSITE_ENTER_RELEASE,p_usb_website_enter_release_data
+	rtn
 
-p_usb_tx_win_or_mac_check:
+p_usb_website_winr_data:
 	fetch 1,mem_usb_tx_mac_enable
-	beq 0,p_usb_tx_win_http_data		//win+r
-	beq 1,p_usb_tx_mac_http_data		//command+spaced
+	beq 0,p_usb_tx_winos_winr_data		//win+r
+	beq 1,p_usb_tx_macos_winr_data		//command+spaced
 	rtn
-
-p_usb_tx_mac_http_data:
-	fetch 3,mem_usb_mac_cmd
-	branch p_usb_kb_spec_data_store
-
-p_usb_tx_win_http_data:
+p_usb_tx_winos_winr_data:
+	jam WEBSITE_WIN_RELEASE,mem_usb_website_step
 	fetch 3,mem_usb_win_cmd
-p_usb_kb_spec_data_store:
 	store 3,mem_usb_kb_data
-p_usb_tx_ep1_data_enable:
-	jam 1,mem_usb_tx_data_flag
-	rtn
+	branch usb_tx_kb_normal_data
+p_usb_tx_macos_winr_data:
+	jam WEBSITE_WIN_RELEASE,mem_usb_website_step
+	fetch 3,mem_usb_mac_cmd
+	store 3,mem_usb_kb_data
+	branch usb_tx_kb_normal_data
+p_usb_website_enter_data:	
+	jam WEBSITE_ENTER_RELEASE,mem_usb_website_step
+	fetch 3,mem_usb_kb_enter
+	store 3,mem_usb_kb_data
+	branch usb_tx_kb_normal_data
+p_usb_website_data:
+	fetch 1,mem_usb_website_release_flag
+	beq 1,p_usb_webstie_release_data
+	beq 0,p_usb_website_info_data
+	rtn	
+p_usb_website_enter_release_data:
+	jam WEBSITE_DONE,mem_usb_website_step
+	branch p_usb_webstie_release_data
+p_usb_website_winr_release_data:
+	jam WEBSITE_DATA,mem_usb_website_step
+p_usb_webstie_release_data:
+	arg mem_usb_kb_data,contw
+	arg 8,loopcnt
+	call memset0
+	jam 0,mem_usb_website_release_flag
+	branch usb_tx_kb_normal_data
 
-p_usb_tx_ep1_end:
-	jam 0,mem_usb_http_data_step
-	branch p_usb_tx_ep1_data_enable
+p_usb_webstie_info_data_done:
+	jam WEBSITE_ENTER,mem_usb_website_step
+	rtn
+p_usb_website_info_data:
+	arg mem_usb_website_info+1,temp
+	fetch 1,mem_usb_website_info
+	iadd temp,temp
+	fetch 2,mem_usb_website_ptr
+	isub temp,null
+	branch p_usb_webstie_info_data_done,zero
+	call p_usb_tx_website_acii2hidkey
+	call p_usb_tx_website_need_shift
+	fetch 1,mem_usb_website_shift_flag
+	store 1,mem_usb_kb_data
+	storer rega,1,mem_usb_kb_data+3
+	fetch 2,mem_usb_website_ptr
+	increase 1,pdata
+	store 2,mem_usb_website_ptr
+	jam 1,mem_usb_website_release_flag
+	branch usb_tx_kb_normal_data
 
+p_usb_tx_website_acii2hidkey:
+	fetcht 2,mem_usb_website_ptr
+	ifetch 1,temp
+	sub pdata,0x7a,null
+	nbranch p_usb_tx_website_acii2hidkey1,positive
+	arg 0x61,regb
+	isub regb,rega
+	branch p_usb_tx_website_acii2keycode_a2z,positive
+p_usb_tx_website_acii2hidkey1:
+	ifetch 1,temp
+	sub pdata,0x39,null
+	nbranch p_usb_tx_website_acii2keycode_sign,positive
+	arg 0x30,regb
+	isub regb,rega
+	branch p_usb_tx_website_acii2keycode_029,positive
+p_usb_tx_website_acii2keycode_sign:
+	sub pdata,0x3a,null
+	branch p_usb_tx_website_acii2keycode_sign_3a,zero
+	sub pdata,0x2f,null
+	branch p_usb_tx_website_acii2keycode_sign_2f,zero
+	sub pdata,0x2e,null
+	branch p_usb_tx_website_acii2keycode_sign_2e,zero
+	rtn
+p_usb_tx_website_acii2keycode_sign_3a:	//':'
+	arg 0x33,rega
+	rtn
+p_usb_tx_website_acii2keycode_sign_2f:	//'/'
+	arg 0x38,rega
+	rtn
+p_usb_tx_website_acii2keycode_sign_2e:	//'.'
+	arg 0x37,rega
+	rtn
+p_usb_tx_website_acii2keycode_a2z:
+	add rega,4,rega
+	rtn
+p_usb_tx_website_acii2keycode_029:
+	add rega,0x27,rega
+	rtn
+
+p_usb_tx_website_need_shift:
+	jam 0,mem_usb_website_shift_flag
+	fetch 2,mem_usb_website_ptr
+	ifetch 1,pdata
+	arg mem_usb_website_info_sign+1,contr
+	fetcht 1,mem_usb_website_info_sign
+	copy temp,loopcnt
+p_usb_tx_website_need_shift_check_loop:
+	ifetcht 1,contr
+	isub temp,null
+	branch p_usb_tx_website_need_shift_setflag,zero
+	loop p_usb_tx_website_need_shift_check_loop
+	rtn
+p_usb_tx_website_need_shift_setflag:
+	jam 2,mem_usb_website_shift_flag
+	rtn
 p_rx_dcoc:
 	rtn wake
 	call set_sync_on
@@ -820,6 +795,7 @@
 
 p_dongle_usb_dispatch:
 	call p_wdt_kick
+	call p_g24_100ms_timer_event
 	branch dongle_usb_dispatch+1
 
 p_wdt_kick:
@@ -846,12 +822,12 @@
 	call p_g24_http_over_pack_check
 p_g24_100ms_timer_init:
 	arg USB_TIMER_100MS,queue
-	setarg 16		//10ms
+	setarg 80		//10ms
 	branch timer_init
 
 p_g24_http_over_pack_check:
-	fetch 1,mem_usb_http_data_step
-	rtn blank
+//	fetch 1,mem_usb_http_data_step
+//	rtn blank
 	branch p_dongle_usb_tx_http_data
 
 p_dongle_default_init:
@@ -1059,4 +1035,4 @@
 	istore 1,contwu
 	branch uarta_send
 
-endif	
\ No newline at end of file
+endif	
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/sched/dongle.dat	(revision 3541)
+++ /1121s/branch/dongle/1m/USB_MZ/usb_1m_httpMZ/sched/dongle.dat	(working copy)
@@ -64,9 +64,12 @@
 
 mem_usb_win_cmd:08 00 15 	#win+r
 mem_usb_mac_cmd:08 00 2c 	#command+space
-mem_usb_kb_shift:02 00 33	#shift
-
-
+mem_usb_kb_enter:00 00 28	#shift
+mem_usb_website_ptr:mem_usb_website_info+1
+mem_usb_website_info:
+'http://www.zxhyai.cn
+mem_usb_website_info_sign:
+'~!@#$%^&*()_+{}|":>?<
 #mem_rf_debug_rx_gpio:87
 #mem_rf_debug_tx_gpio:88
 #uart config
