Index: format/app_dongle.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/format/app_dongle.format	(revision 3873)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/format/app_dongle.format	(working copy)
@@ -62,13 +62,33 @@
 
 8 mem_usb_ep2_fifo
 1 mem_dongle_freq_hop_flag
-1 mem_usb_http_data_step
-1 mem_usb_tx_data_flag
+//http
 3 mem_usb_win_cmd
 3 mem_usb_mac_cmd
-3 mem_usb_kb_shift
+3 mem_usb_kb_enter
+1 mem_usb_website_wait_count
+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
+)
 
+(
+0 WEBSITE_WIN
+1 WEBSITE_R_SPACE_RELEASE
+2 WEBSITE_WIN_RELEASE
+3 WEBSITE_WAIT
+4 WEBSITE_DATA
+5 WEBSITE_ENTER_1
+6 WEBSITE_ENTER_RELEASE_1
+7 WEBSITE_ENTER_2
+8 WEBSITE_ENTER_RELEASE_2
+0 WEBSITE_DONE
+15 WEBSITE_WAIT_COUNT
 )
+
 (
 0xA0 REPORT_ID_AUDIO_DATA_IN
 0xA1 REPORT_ID_DATA_IN
Index: output/memmap.format
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(revision 3873)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/memmap.format	(working copy)
@@ -1515,11 +1515,16 @@
 0x4b97 mem_usb_rf_state_report_flag1
 0x4b98 mem_usb_ep2_fifo
 0x4ba0 mem_dongle_freq_hop_flag
-0x4ba1 mem_usb_http_data_step
-0x4ba2 mem_usb_tx_data_flag
-0x4ba3 mem_usb_win_cmd
-0x4ba6 mem_usb_mac_cmd
-0x4ba9 mem_usb_kb_shift
+0x4ba1 mem_usb_win_cmd
+0x4ba4 mem_usb_mac_cmd
+0x4ba7 mem_usb_kb_enter
+0x4baa mem_usb_website_wait_count
+0x4bab mem_usb_website_step
+0x4bac mem_usb_website_shift_flag
+0x4bad mem_usb_website_release_flag
+0x4bae mem_usb_website_ptr
+0x4bb0 mem_usb_website_info
+0x4bd8 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_1m_mingjian/output/otp.dat	(revision 3873)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/otp.dat	(working copy)
@@ -11,7 +11,7 @@
 00
 aa
 55
-12
+52
 17
 c2
 84
@@ -32,7 +32,7 @@
 c0
 0a
 04
-e8
+fa
 c0
 0a
 81
@@ -52,7 +52,7 @@
 c0
 1b
 85
-62
+74
 c0
 1c
 01
@@ -64,7 +64,7 @@
 c0
 1e
 85
-51
+63
 c0
 1f
 00
@@ -76,11 +76,11 @@
 c0
 6d
 04
-b9
+cb
 c0
 6e
 04
-c9
+db
 c0
 7f
 01
@@ -112,19 +112,19 @@
 c0
 1c
 85
-04
+16
 c0
 26
 85
-08
+1a
 c0
 37
 05
-6d
+7d
 c0
 37
 85
-87
+97
 c0
 39
 00
@@ -136,7 +136,7 @@
 c0
 3a
 85
-91
+a1
 c0
 3f
 80
@@ -144,11 +144,11 @@
 c0
 40
 85
-a1
+b1
 c0
 41
 05
-0a
+1c
 c0
 42
 02
@@ -156,11 +156,11 @@
 c0
 44
 05
-39
+4b
 c0
 45
 05
-46
+58
 c0
 48
 80
@@ -1232,11 +1232,11 @@
 20
 40
 04
-8b
+9d
 20
 40
 04
-b6
+c8
 20
 40
 01
@@ -1252,7 +1252,7 @@
 20
 20
 04
-b8
+ca
 20
 75
 80
@@ -2880,7 +2880,7 @@
 20
 20
 04
-46
+58
 6f
 e0
 cb
@@ -2976,11 +2976,11 @@
 20
 40
 05
-c0
+d0
 20
 20
 05
-10
+22
 20
 40
 33
@@ -3924,7 +3924,7 @@
 6f
 e0
 cb
-a1
+ab
 20
 7a
 00
@@ -3988,407 +3988,479 @@
 6f
 e0
 cb
-a1
-1f
-e0
-fe
+ab
+c0
+00
+03
+ec
+c0
+00
+83
+f8
+c0
 01
-67
+03
+fc
+c0
+01
+84
+0c
+c0
+02
+04
+13
+c0
+02
+84
+02
+c0
+03
+04
+06
+c0
+03
+84
+08
+c0
+04
+04
+0a
+20
+60
+00
+00
+6f
 e0
+88
+fa
+c0
+00
+03
+f0
+c0
+00
+83
+f4
+20
+60
+00
+00
+70
+4b
+ab
+01
+6f
+e1
 cb
 a1
+67
+e1
+89
+23
 20
-40
-03
-e9
+20
+7c
+28
+70
+4b
+ab
+01
+6f
+e1
+cb
+a4
+67
+e1
+89
+23
+20
+20
+7c
+28
+70
+4b
+ab
+02
 6f
 e0
 cb
-a2
+a1
+67
+e0
+89
+23
+20
+20
+7c
+28
+70
+4b
+ab
+03
+d8
+a0
+09
+23
+df
 20
-7a
-00
 00
+08
+20
+40
+7c
+a3
 70
 4b
-a2
+ad
 00
 20
 20
 7c
 28
+70
+4b
+ab
+06
 6f
-e0
+e1
 cb
-a1
-c0
-00
-84
-1c
-c0
-01
-04
+a7
+67
+e1
+89
+23
+20
+20
+7c
 28
-c0
-01
-84
-22
-c0
-02
+70
+4b
+ab
+07
+20
+20
+03
+fd
+70
+4b
+ab
+08
+20
+20
 04
-22
-c0
-02
-84
-22
-c0
-0a
+03
+70
+4b
+ab
+00
+20
+20
+03
+fd
+6f
+e0
+cb
+aa
+1f
+e0
+fe
+01
+67
+e0
+cb
+aa
+c1
+87
+80
+00
+70
+4b
+aa
+00
+70
+4b
+ab
 04
-2a
+20
+60
+00
+00
+6f
+e0
+cb
+ad
 c0
-0a
-84
-22
+00
+83
+fd
 c0
-0b
+00
 04
-2c
-c0
-0b
-84
-22
-c0
-0c
-04
-2c
-c0
-0c
-84
-22
-c0
-0d
-04
-2e
-c0
-0d
-84
-22
-c0
-0e
-04
-30
-c0
-0e
-84
-22
-c0
-0f
-04
-26
-c0
-0f
-84
-22
-c0
-10
-04
-32
-c0
-10
-84
-22
-c0
-11
-04
-32
-c0
-11
-84
-22
-c0
-12
-04
-34
-c0
-12
-84
-22
-c0
-13
-04
-36
-c0
-13
-84
-22
-c0
-14
-04
-38
-c0
-14
-84
-22
-c0
-15
-04
-3a
-c0
-15
-84
-22
-c0
-16
-04
-3a
-c0
-16
-84
-22
-c0
-17
-04
-3c
-c0
-17
-84
-22
-c0
-18
-04
-3e
-c0
-18
-84
-22
-c0
-19
-04
-36
-c0
 19
-84
-22
-c0
-1a
-04
-34
-c0
-1a
-84
-22
-c0
-1b
-04
-32
-c0
-1b
-84
-22
-c0
-1c
-04
-40
-c0
-1c
-84
-22
-c0
-1d
-04
-3a
-c0
-1d
-84
-22
-c0
-23
-04
-42
-c0
-24
-04
-22
-c0
-25
-04
-42
-c0
-26
-04
-44
 20
 60
 00
 00
+70
+4b
+ab
+05
+20
+60
+00
+00
+d8
+40
+4b
+b1
 6f
 e0
-88
-fa
-c0
+cb
+b0
+98
+40
+84
 00
-04
-20
-c0
+6f
+e1
+4b
+ae
+98
+46
+7c
 00
+20
+22
 84
-24
+17
 20
-60
-00
-00
+40
+04
+29
+20
+40
+04
+4b
 6f
-e1
+e0
 cb
-a3
+ac
 67
-e1
+e0
 89
 23
+62
+20
+89
+25
+6f
+e1
+4b
+ae
+1f
+e0
+fe
+01
+67
+e1
+4b
+ae
 70
 4b
-a2
+ad
 01
 20
-60
+20
+7c
+28
+68
+49
+4b
+ae
+ef
+e0
+80
+02
+1f
+e6
+7c
+7a
+24
+21
+04
+30
+da
+40
 00
+61
+9a
+46
+22
 00
-6f
-e1
-cb
-a6
-20
 20
-04
 21
-6f
-e1
-cb
-a9
-20
-20
 04
+47
+ef
+e0
+80
+02
+1f
+e6
+7c
+39
+24
 21
-70
-09
-23
-08
-20
-20
 04
+36
+da
+40
+00
+30
+9a
+46
 22
-70
-09
-26
-0b
-20
+00
 20
+21
 04
-22
-70
-09
-26
-17
-20
+49
+1f
+e6
+7c
+3a
 20
-04
 22
-70
-09
-26
-13
-20
+84
+3f
+1f
+e6
+7c
+2f
 20
-04
 22
-70
-09
-26
-16
+84
+41
+1f
+e6
+7c
+2e
 20
+22
+84
+43
+1f
+e6
+7c
+2d
 20
-04
 22
-70
-09
-26
-38
+84
+45
 20
+60
+00
+00
+da
 20
-04
-22
-70
-09
-26
-10
+00
+33
 20
+60
+00
+00
+da
 20
-04
-22
-70
-09
-26
-12
+00
+38
 20
+60
+00
+00
+da
 20
-04
-22
-70
-09
-26
-09
+00
+37
 20
+60
+00
+00
+da
 20
-04
-22
-70
-09
-26
-0c
+00
+2d
 20
+60
+00
+00
+1a
 20
+a2
 04
-22
-70
-09
-26
-37
 20
+60
+00
+00
+1a
 20
-04
-22
+a2
+27
+20
+60
+00
+00
 70
-09
-26
+4b
+ac
+00
+6f
+e1
+4b
+ae
+ef
+e0
+80
+3f
+d8
+c0
+4b
+d9
+68
+48
+cb
+d8
+18
+42
+72
+00
+e8
+40
+80
 06
+98
+46
+7c
+00
 20
-20
-04
 22
-70
-09
-26
-04
-20
-20
+84
+56
+c2
+00
 04
-22
-70
-09
-26
-28
-20
+51
 20
-04
-22
+60
+00
+00
 70
 4b
-a1
-00
-20
+ac
+02
 20
-04
-22
+60
+00
+00
 da
 20
 4b
@@ -4452,7 +4524,7 @@
 c0
 13
 04
-64
+76
 c0
 10
 fc
@@ -4464,15 +4536,15 @@
 c0
 12
 04
-71
+83
 c0
 11
 84
-7e
+90
 c0
 13
 84
-5c
+6e
 20
 20
 23
@@ -4508,7 +4580,7 @@
 20
 20
 04
-6f
+81
 70
 09
 0c
@@ -4548,7 +4620,7 @@
 20
 20
 04
-6e
+80
 d8
 a0
 46
@@ -4600,7 +4672,7 @@
 20
 20
 04
-7b
+8d
 d8
 a0
 47
@@ -4652,7 +4724,7 @@
 20
 20
 04
-88
+9a
 d8
 a0
 4a
@@ -4716,7 +4788,7 @@
 20
 40
 04
-a8
+ba
 2a
 2f
 fe
@@ -4748,7 +4820,7 @@
 20
 40
 04
-a8
+ba
 d8
 a0
 8a
@@ -4776,7 +4848,7 @@
 20
 21
 04
-9d
+af
 20
 20
 21
@@ -4880,7 +4952,7 @@
 20
 40
 04
-e1
+f3
 70
 8a
 08
@@ -4916,7 +4988,7 @@
 20
 40
 04
-d7
+e9
 6f
 f0
 8a
@@ -4960,7 +5032,7 @@
 20
 40
 04
-e1
+f3
 70
 80
 cd
@@ -5020,7 +5092,7 @@
 c3
 02
 84
-e2
+f4
 68
 59
 01
@@ -5056,7 +5128,7 @@
 c0
 08
 05
-01
+13
 58
 00
 57
@@ -5099,8 +5171,8 @@
 99
 c0
 08
-04
-fe
+05
+10
 58
 00
 2b
@@ -5135,8 +5207,8 @@
 07
 20
 20
-04
-fa
+05
+0c
 58
 00
 83
@@ -5147,8 +5219,8 @@
 07
 20
 20
-04
-ef
+05
+01
 6f
 e0
 c3
@@ -5188,11 +5260,11 @@
 c0
 11
 05
-20
+32
 c0
 7f
 85
-10
+22
 20
 60
 00
@@ -5204,11 +5276,11 @@
 c0
 00
 85
-14
+26
 c0
 01
 05
-1a
+2c
 20
 60
 00
@@ -5268,7 +5340,7 @@
 20
 3a
 05
-26
+38
 6f
 e2
 49
@@ -5292,11 +5364,11 @@
 c0
 00
 85
-2a
+3c
 c0
 01
 05
-31
+43
 20
 60
 00
@@ -5316,7 +5388,7 @@
 c0
 01
 05
-2f
+41
 20
 60
 00
@@ -5344,7 +5416,7 @@
 c0
 80
 05
-36
+48
 20
 60
 00
@@ -5424,7 +5496,7 @@
 20
 40
 05
-4a
+5c
 20
 20
 34
@@ -5460,7 +5532,7 @@
 20
 40
 05
-60
+72
 6f
 e0
 89
@@ -5538,14 +5610,6 @@
 c5
 d1
 70
-4b
-a1
-00
-70
-4b
-a2
-00
-70
 45
 ca
 01
@@ -5596,7 +5660,7 @@
 c5
 13
 85
-78
+88
 6f
 e0
 c4
@@ -5640,7 +5704,7 @@
 20
 40
 85
-85
+95
 18
 42
 7e
@@ -5728,7 +5792,7 @@
 20
 40
 85
-85
+95
 18
 42
 7e
@@ -5792,7 +5856,7 @@
 20
 40
 05
-a8
+b8
 20
 40
 00
@@ -5800,7 +5864,7 @@
 20
 40
 05
-be
+ce
 20
 20
 33
@@ -5828,19 +5892,19 @@
 c0
 55
 05
-b2
+c2
 c0
 2a
 85
-b4
+c4
 c0
 11
 05
-20
+32
 c0
 7f
 85
-10
+22
 20
 60
 00
@@ -5860,7 +5924,7 @@
 20
 3a
 05
-ba
+ca
 6f
 e2
 49
@@ -5917,8 +5981,8 @@
 60
 00
 00
-5f
-81
+21
+34
 aa
 55
 40
@@ -6091,21 +6155,6 @@
 00
 aa
 55
-09
-00
-a3
-4b
-08
-00
-15
-08
-00
-2c
-02
-00
-33
-aa
-55
 43
 00
 98
@@ -6405,6 +6454,78 @@
 c0
 aa
 55
+09
+00
+a1
+4b
+08
+00
+15
+08
+00
+2c
+00
+00
+28
+aa
+55
+17
+00
+ae
+4b
+b1
+4b
+14
+68
+74
+74
+70
+73
+3a
+2f
+2f
+6d
+6f
+66
+69
+69
+2e
+63
+6f
+6d
+2f
+61
+69
+aa
+55
+16
+00
+d8
+4b
+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
@@ -6595,8 +6716,8 @@
 aa
 aa
 55
-93
-94
-34
-7f
+92
+a6
+66
+1b
 f0
Index: output/program.lis
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/output/program.lis	(revision 3873)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/output/program.lis	(working copy)
@@ -4,19 +4,19 @@
 0001 c000002a beq patch00_0 ,p_soft_reset 
 0002 c00100fe beq patch00_2 ,p_main_loop 
 0003 c0088107 beq patch02_1 ,p_set_sync_on 
-0004 c00a04e8 beq patch02_4 ,p_set_lemode 
+0004 c00a04fa beq patch02_4 ,p_set_lemode 
 0005 c00a81a1 beq patch02_5 ,p_rf_rx_enable 
 0006 c00c01af beq patch03_0 ,p_txon 
 0007 c00c8155 beq patch03_1 ,p_set_tx_power 
 0008 c00d0115 beq patch03_2 ,p_initialize_radio_cont 
-0009 c01b8562 beq patch06_7 ,p_dongle_default_init 
+0009 c01b8574 beq patch06_7 ,p_dongle_default_init 
 000a c01c0174 beq patch07_0 ,p_dongle_read_kb_bind_status 
 000b c01c8170 beq patch07_1 ,p_dongle_write_kb_bind_status 
-000c c01e8551 beq patch07_5 ,p_dongle_usb_dispatch 
+000c c01e8563 beq patch07_5 ,p_dongle_usb_dispatch 
 000d c01f003d beq patch07_6 ,p_dongle_work_mode_auto 
 000e c062816d beq patch18_5 ,p_otp_read_data 
-000f c06d04b9 beq patch1b_2 ,p_sadc_calibration 
-0010 c06e04c9 beq patch1b_4 ,p_enable_adc 
+000f c06d04cb beq patch1b_2 ,p_sadc_calibration 
+0010 c06e04db beq patch1b_4 ,p_enable_adc 
 0011 c07f01ba beq patch1f_6 ,p_usb_init 
 0012 c07f822d beq patch1f_7 ,p_usb_rx 
 0013 c07e81b6 beq patch1f_5 ,p_usb_isr 
@@ -26,19 +26,19 @@
 0015 c0000254 beq patch20_0 ,p_usb_class_type 
 0016 c0010293 beq patch20_2 ,p_usb0_request_get_descriptor 
 0017 c00302be beq patch20_6 ,p_usb_tx 
-0018 c01c8504 beq patch27_1 ,p_le_parse 
-0019 c0268508 beq patch29_5 ,p_le_init_adv 
-001a c037056d beq patch2d_6 ,p_g24_receive_skip_fec1 
-001b c0378587 beq patch2d_7 ,p_g24_receive_skip_end 
+0018 c01c8516 beq patch27_1 ,p_le_parse 
+0019 c026851a beq patch29_5 ,p_le_init_adv 
+001a c037057d beq patch2d_6 ,p_g24_receive_skip_fec1 
+001b c0378597 beq patch2d_7 ,p_g24_receive_skip_end 
 001c c03900d6 beq patch2e_2 ,p_g24_transmit_packet 
 001d c039808a beq patch2e_3 ,p_g24_transmit_prep 
-001e c03a8591 beq patch2e_5 ,p_g24_read_len_pid_crc 
+001e c03a85a1 beq patch2e_5 ,p_g24_read_len_pid_crc 
 001f c03f80b1 beq patch2f_7 ,p_g24_pair_dispatch 
-0020 c04085a1 beq patch30_1 ,p_g24_bind_data_process 
-0021 c041050a beq patch30_2 ,p_g24_bind_data_parse_next 
+0020 c04085b1 beq patch30_1 ,p_g24_bind_data_process 
+0021 c041051c beq patch30_2 ,p_g24_bind_data_parse_next 
 0022 c04202d2 beq patch30_4 ,p_g24_receive_packet_start1 
-0023 c0440539 beq patch31_0 ,p_g24_mode_switch_bind_search 
-0024 c0450546 beq patch31_2 ,p_g24_bind_mode_auto 
+0023 c044054b beq patch31_0 ,p_g24_mode_switch_bind_search 
+0024 c0450558 beq patch31_2 ,p_g24_bind_mode_auto 
 0025 c0488087 beq patch32_1 ,p_g24_txbuf_clear 
 0026 c0458030 beq patch31_3 ,p_g24_search_mode_auto 
 0027 c1468000 rtneq patch31_5 
@@ -394,12 +394,12 @@
 012d 58557474 setarg 0x557474 
 012e 67f18968 store 3 ,0x8968 
 012f 7089606e jam 0x6e ,0x8960 
-0130 2040048b call p_rx_dcoc 
-0131 204004b6 call p_rfpll_aac_ghpc 
+0130 2040049d call p_rx_dcoc 
+0131 204004c8 call p_rfpll_aac_ghpc 
 0132 20400136 call p_set_xtal_cap 
 0133 7041480c jam system_clk_12m ,mem_system_clk 
 0134 20406f4e call sadc_calibration 
-0135 202004b8 branch p_dpll_ring_ibias_calc 
+0135 202004ca branch p_dpll_ring_ibias_calc 
 
 p_set_xtal_cap:
 0136 20758000 rtn wake 
@@ -906,7 +906,7 @@
 02c9 6fe08902 fetch 1 ,mem_usb_clear_remote_wakeup 
 02ca 243a7c06 nbranch usb_tx_fifo_release ,blank 
 02cb 204003d4 call p_usb_tx_data_ep1 
-02cc 20200446 branch p_usb_tx_data_ep2 
+02cc 20200458 branch p_usb_tx_data_ep2 
 
 p_dongle_usb_ep2_connect_report_send:
 02cd 6fe0cb96 fetch 1 ,mem_usb_rf_state_report_flag 
@@ -938,8 +938,8 @@
 02e3 202033be branch g24_rx_interrupt_clear 
 
 p_g24_data_receive_attemp:
-02e4 204005c0 call p_g24_bind_device_status 
-02e5 20200510 branch p_g24_data_attemp 
+02e4 204005d0 call p_g24_bind_device_status 
+02e5 20200522 branch p_g24_data_attemp 
 
 p_g24_data_device1:
 02e6 2040338d call g24_binding_dvc1_living 
@@ -1233,7 +1233,7 @@
 03d0 20207ce1 branch timer_init 
 
 p_g24_http_over_pack_check:
-03d1 6fe0cba1 fetch 1 ,mem_usb_http_data_step 
+03d1 6fe0cbab fetch 1 ,mem_usb_website_step 
 03d2 207a0000 rtn blank 
 03d3 2020030c branch p_dongle_usb_tx_http_data 
 
@@ -1253,649 +1253,675 @@
 03e0 2020235a branch assert 
 
 p_usb_tx_http_data_set:
-03e1 6fe0cba1 fetch 1 ,mem_usb_http_data_step 
-03e2 1fe0fe01 increase 1 ,pdata 
-03e3 67e0cba1 store 1 ,mem_usb_http_data_step 
-03e4 204003e9 call p_usb_tx_http_data_check 
-03e5 6fe0cba2 fetch 1 ,mem_usb_tx_data_flag 
-03e6 207a0000 rtn blank 
-03e7 704ba200 jam 0 ,mem_usb_tx_data_flag 
-03e8 20207c28 branch usb_tx_kb_normal_data 
-
-p_usb_tx_http_data_check:
-03e9 6fe0cba1 fetch 1 ,mem_usb_http_data_step 
-03ea c000841c beq 1 ,p_usb_tx_win_or_mac_check 
-03eb c0010428 beq 2 ,p_usb_tx_cmd_release 
-03ec c0018422 beq 3 ,p_usb_tx_ep1_data_enable 
-03ed c0020422 beq 4 ,p_usb_tx_ep1_data_enable 
-03ee c0028422 beq 5 ,p_usb_tx_ep1_data_enable 
-03ef c00a042a beq 20 ,p_usb_tx_data_h 
-03f0 c00a8422 beq 21 ,p_usb_tx_ep1_data_enable 
-03f1 c00b042c beq 22 ,p_usb_tx_data_t 
-03f2 c00b8422 beq 23 ,p_usb_tx_ep1_data_enable 
-03f3 c00c042c beq 24 ,p_usb_tx_data_t 
-03f4 c00c8422 beq 25 ,p_usb_tx_ep1_data_enable 
-03f5 c00d042e beq 26 ,p_usb_tx_data_p 
-03f6 c00d8422 beq 27 ,p_usb_tx_ep1_data_enable 
-03f7 c00e0430 beq 28 ,p_usb_tx_data_s 
-03f8 c00e8422 beq 29 ,p_usb_tx_ep1_data_enable 
-03f9 c00f0426 beq 30 ,p_usb_tx_shift_data_set 
-03fa c00f8422 beq 31 ,p_usb_tx_ep1_data_enable 
-03fb c0100432 beq 32 ,p_usb_tx_data_spec1 
-03fc c0108422 beq 33 ,p_usb_tx_ep1_data_enable 
-03fd c0110432 beq 34 ,p_usb_tx_data_spec1 
-03fe c0118422 beq 35 ,p_usb_tx_ep1_data_enable 
-03ff c0120434 beq 36 ,p_usb_tx_data_m 
-0400 c0128422 beq 37 ,p_usb_tx_ep1_data_enable 
-0401 c0130436 beq 38 ,p_usb_tx_data_o 
-0402 c0138422 beq 39 ,p_usb_tx_ep1_data_enable 
-0403 c0140438 beq 40 ,p_usb_tx_data_f 
-0404 c0148422 beq 41 ,p_usb_tx_ep1_data_enable 
-0405 c015043a beq 42 ,p_usb_tx_data_i 
-0406 c0158422 beq 43 ,p_usb_tx_ep1_data_enable 
-0407 c016043a beq 44 ,p_usb_tx_data_i 
-0408 c0168422 beq 45 ,p_usb_tx_ep1_data_enable 
-0409 c017043c beq 46 ,p_usb_tx_data_spec2 
-040a c0178422 beq 47 ,p_usb_tx_ep1_data_enable 
-040b c018043e beq 48 ,p_usb_tx_data_c 
-040c c0188422 beq 49 ,p_usb_tx_ep1_data_enable 
-040d c0190436 beq 50 ,p_usb_tx_data_o 
-040e c0198422 beq 51 ,p_usb_tx_ep1_data_enable 
-040f c01a0434 beq 52 ,p_usb_tx_data_m 
-0410 c01a8422 beq 53 ,p_usb_tx_ep1_data_enable 
-0411 c01b0432 beq 54 ,p_usb_tx_data_spec1 
-0412 c01b8422 beq 55 ,p_usb_tx_ep1_data_enable 
-0413 c01c0440 beq 56 ,p_usb_tx_data_a 
-0414 c01c8422 beq 57 ,p_usb_tx_ep1_data_enable 
-0415 c01d043a beq 58 ,p_usb_tx_data_i 
-0416 c01d8422 beq 59 ,p_usb_tx_ep1_data_enable 
-0417 c0230442 beq 70 ,p_usb_tx_data_enter 
-0418 c0240422 beq 72 ,p_usb_tx_ep1_data_enable 
-0419 c0250442 beq 74 ,p_usb_tx_data_enter 
-041a c0260444 beq 76 ,p_usb_tx_ep1_end 
-041b 20600000 rtn 
-
-p_usb_tx_win_or_mac_check:
-041c 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
-041d c0000420 beq 0 ,p_usb_tx_win_http_data 
-041e c0008424 beq 1 ,p_usb_tx_mac_http_data 
-041f 20600000 rtn 
-
-p_usb_tx_win_http_data:
-0420 6fe1cba3 fetch 3 ,mem_usb_win_cmd 
-
-p_usb_kb_spec_data_store:
-0421 67e18923 store 3 ,mem_usb_kb_data 
-
-p_usb_tx_ep1_data_enable:
-0422 704ba201 jam 1 ,mem_usb_tx_data_flag 
-0423 20600000 rtn 
-
-p_usb_tx_mac_http_data:
-0424 6fe1cba6 fetch 3 ,mem_usb_mac_cmd 
-0425 20200421 branch p_usb_kb_spec_data_store 
-
-p_usb_tx_shift_data_set:
-0426 6fe1cba9 fetch 3 ,mem_usb_kb_shift 
-0427 20200421 branch p_usb_kb_spec_data_store 
-
-p_usb_tx_cmd_release:
-0428 70092308 jam 0x08 ,mem_usb_kb_data 
-0429 20200422 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_h:
-042a 7009260b jam 0x0b ,mem_usb_kb_data + 3 
-042b 20200422 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_t:
-042c 70092617 jam 0x17 ,mem_usb_kb_data + 3 
-042d 20200422 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_p:
-042e 70092613 jam 0x13 ,mem_usb_kb_data + 3 
-042f 20200422 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_s:
-0430 70092616 jam 0x16 ,mem_usb_kb_data + 3 
-0431 20200422 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_spec1:
-0432 70092638 jam 0x38 ,mem_usb_kb_data + 3 
-0433 20200422 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_m:
-0434 70092610 jam 0x10 ,mem_usb_kb_data + 3 
-0435 20200422 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_o:
-0436 70092612 jam 0x12 ,mem_usb_kb_data + 3 
-0437 20200422 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_f:
-0438 70092609 jam 0x09 ,mem_usb_kb_data + 3 
-0439 20200422 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_i:
-043a 7009260c jam 0x0c ,mem_usb_kb_data + 3 
-043b 20200422 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_spec2:
-043c 70092637 jam 0x37 ,mem_usb_kb_data + 3 
-043d 20200422 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_c:
-043e 70092606 jam 0x06 ,mem_usb_kb_data + 3 
-043f 20200422 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_a:
-0440 70092604 jam 0x04 ,mem_usb_kb_data + 3 
-0441 20200422 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_data_enter:
-0442 70092628 jam 0x28 ,mem_usb_kb_data + 3 
-0443 20200422 branch p_usb_tx_ep1_data_enable 
-
-p_usb_tx_ep1_end:
-0444 704ba100 jam 0 ,mem_usb_http_data_step 
-0445 20200422 branch p_usb_tx_ep1_data_enable 
+03e1 6fe0cbab fetch 1 ,mem_usb_website_step 
+03e2 c00003ec beq website_win ,p_usb_website_winr_data 
+03e3 c00083f8 beq website_r_space_release ,p_usb_website_r_space_release_data 
+03e4 c00103fc beq website_win_release ,p_usb_website_win_release_data 
+03e5 c001840c beq website_wait ,p_usb_website_wait_tx_data 
+03e6 c0020413 beq website_data ,p_usb_website_data 
+03e7 c0028402 beq website_enter_1 ,p_usb_website_enter_data1 
+03e8 c0030406 beq website_enter_release_1 ,p_usb_website_enter_release_data1 
+03e9 c0038408 beq website_enter_2 ,p_usb_website_enter_data2 
+03ea c004040a beq website_enter_release_2 ,p_usb_website_enter_release_data2 
+03eb 20600000 rtn 
+
+p_usb_website_winr_data:
+03ec 6fe088fa fetch 1 ,mem_usb_tx_mac_enable 
+03ed c00003f0 beq 0 ,p_usb_tx_winos_winr_data 
+03ee c00083f4 beq 1 ,p_usb_tx_macos_winr_data 
+03ef 20600000 rtn 
+
+p_usb_tx_winos_winr_data:
+03f0 704bab01 jam website_r_space_release ,mem_usb_website_step 
+03f1 6fe1cba1 fetch 3 ,mem_usb_win_cmd 
+03f2 67e18923 store 3 ,mem_usb_kb_data 
+03f3 20207c28 branch usb_tx_kb_normal_data 
+
+p_usb_tx_macos_winr_data:
+03f4 704bab01 jam website_r_space_release ,mem_usb_website_step 
+03f5 6fe1cba4 fetch 3 ,mem_usb_mac_cmd 
+03f6 67e18923 store 3 ,mem_usb_kb_data 
+03f7 20207c28 branch usb_tx_kb_normal_data 
+
+p_usb_website_r_space_release_data:
+03f8 704bab02 jam website_win_release ,mem_usb_website_step 
+03f9 6fe0cba1 fetch 1 ,mem_usb_win_cmd 
+03fa 67e08923 store 1 ,mem_usb_kb_data 
+03fb 20207c28 branch usb_tx_kb_normal_data 
+
+p_usb_website_win_release_data:
+03fc 704bab03 jam website_wait ,mem_usb_website_step 
+
+p_usb_webstie_release_data:
+03fd d8a00923 arg mem_usb_kb_data ,contw 
+03fe df200008 arg 8 ,loopcnt 
+03ff 20407ca3 call memset0 
+0400 704bad00 jam 0 ,mem_usb_website_release_flag 
+0401 20207c28 branch usb_tx_kb_normal_data 
+
+p_usb_website_enter_data1:
+0402 704bab06 jam website_enter_release_1 ,mem_usb_website_step 
+
+p_usb_webstie_enter_data:
+0403 6fe1cba7 fetch 3 ,mem_usb_kb_enter 
+0404 67e18923 store 3 ,mem_usb_kb_data 
+0405 20207c28 branch usb_tx_kb_normal_data 
+
+p_usb_website_enter_release_data1:
+0406 704bab07 jam website_enter_2 ,mem_usb_website_step 
+0407 202003fd branch p_usb_webstie_release_data 
+
+p_usb_website_enter_data2:
+0408 704bab08 jam website_enter_release_2 ,mem_usb_website_step 
+0409 20200403 branch p_usb_webstie_enter_data 
+
+p_usb_website_enter_release_data2:
+040a 704bab00 jam website_done ,mem_usb_website_step 
+040b 202003fd branch p_usb_webstie_release_data 
+
+p_usb_website_wait_tx_data:
+040c 6fe0cbaa fetch 1 ,mem_usb_website_wait_count 
+040d 1fe0fe01 increase 1 ,pdata 
+040e 67e0cbaa store 1 ,mem_usb_website_wait_count 
+040f c1878000 rtnne website_wait_count 
+0410 704baa00 jam 0 ,mem_usb_website_wait_count 
+0411 704bab04 jam website_data ,mem_usb_website_step 
+0412 20600000 rtn 
+
+p_usb_website_data:
+0413 6fe0cbad fetch 1 ,mem_usb_website_release_flag 
+0414 c00083fd beq 1 ,p_usb_webstie_release_data 
+0415 c0000419 beq 0 ,p_usb_website_info_data 
+0416 20600000 rtn 
+
+p_usb_webstie_info_data_done:
+0417 704bab05 jam website_enter_1 ,mem_usb_website_step 
+0418 20600000 rtn 
+
+p_usb_website_info_data:
+0419 d8404bb1 arg mem_usb_website_info + 1 ,temp 
+041a 6fe0cbb0 fetch 1 ,mem_usb_website_info 
+041b 98408400 iadd temp ,temp 
+041c 6fe14bae fetch 2 ,mem_usb_website_ptr 
+041d 98467c00 isub temp ,null 
+041e 20228417 branch p_usb_webstie_info_data_done ,zero 
+041f 20400429 call p_usb_tx_website_acii2hidkey 
+0420 2040044b call p_usb_tx_website_need_shift 
+0421 6fe0cbac fetch 1 ,mem_usb_website_shift_flag 
+0422 67e08923 store 1 ,mem_usb_kb_data 
+0423 62208925 storer rega ,1 ,mem_usb_kb_data + 2 
+0424 6fe14bae fetch 2 ,mem_usb_website_ptr 
+0425 1fe0fe01 increase 1 ,pdata 
+0426 67e14bae store 2 ,mem_usb_website_ptr 
+0427 704bad01 jam 1 ,mem_usb_website_release_flag 
+0428 20207c28 branch usb_tx_kb_normal_data 
+
+p_usb_tx_website_acii2hidkey:
+0429 68494bae fetcht 2 ,mem_usb_website_ptr 
+042a efe08002 ifetch 1 ,temp 
+042b 1fe67c7a sub pdata ,0x7a ,null 
+042c 24210430 nbranch p_usb_tx_website_acii2hidkey1 ,positive 
+042d da400061 arg 0x61 ,regb 
+042e 9a462200 isub regb ,rega 
+042f 20210447 branch p_usb_tx_website_acii2keycode_a2z ,positive 
+
+p_usb_tx_website_acii2hidkey1:
+0430 efe08002 ifetch 1 ,temp 
+0431 1fe67c39 sub pdata ,0x39 ,null 
+0432 24210436 nbranch p_usb_tx_website_acii2keycode_sign ,positive 
+0433 da400030 arg 0x30 ,regb 
+0434 9a462200 isub regb ,rega 
+0435 20210449 branch p_usb_tx_website_acii2keycode_029 ,positive 
+
+p_usb_tx_website_acii2keycode_sign:
+0436 1fe67c3a sub pdata ,0x3a ,null 
+0437 2022843f branch p_usb_tx_website_acii2keycode_sign_3a ,zero 
+0438 1fe67c2f sub pdata ,0x2f ,null 
+0439 20228441 branch p_usb_tx_website_acii2keycode_sign_2f ,zero 
+043a 1fe67c2e sub pdata ,0x2e ,null 
+043b 20228443 branch p_usb_tx_website_acii2keycode_sign_2e ,zero 
+043c 1fe67c2d sub pdata ,0x2d ,null 
+043d 20228445 branch p_usb_tx_website_acii2keycode_sign_2d ,zero 
+043e 20600000 rtn 
+
+p_usb_tx_website_acii2keycode_sign_3a:
+043f da200033 arg 0x33 ,rega 
+0440 20600000 rtn 
+
+p_usb_tx_website_acii2keycode_sign_2f:
+0441 da200038 arg 0x38 ,rega 
+0442 20600000 rtn 
+
+p_usb_tx_website_acii2keycode_sign_2e:
+0443 da200037 arg 0x37 ,rega 
+0444 20600000 rtn 
+
+p_usb_tx_website_acii2keycode_sign_2d:
+0445 da20002d arg 0x2d ,rega 
+0446 20600000 rtn 
+
+p_usb_tx_website_acii2keycode_a2z:
+0447 1a20a204 add rega ,4 ,rega 
+0448 20600000 rtn 
+
+p_usb_tx_website_acii2keycode_029:
+0449 1a20a227 add rega ,0x27 ,rega 
+044a 20600000 rtn 
+
+p_usb_tx_website_need_shift:
+044b 704bac00 jam 0 ,mem_usb_website_shift_flag 
+044c 6fe14bae fetch 2 ,mem_usb_website_ptr 
+044d efe0803f ifetch 1 ,pdata 
+044e d8c04bd9 arg mem_usb_website_info_sign + 1 ,contr 
+044f 6848cbd8 fetcht 1 ,mem_usb_website_info_sign 
+0450 18427200 copy temp ,loopcnt 
+
+p_usb_tx_website_need_shift_check_loop:
+0451 e8408006 ifetcht 1 ,contr 
+0452 98467c00 isub temp ,null 
+0453 20228456 branch p_usb_tx_website_need_shift_setflag ,zero 
+0454 c2000451 loop p_usb_tx_website_need_shift_check_loop 
+0455 20600000 rtn 
+
+p_usb_tx_website_need_shift_setflag:
+0456 704bac02 jam 2 ,mem_usb_website_shift_flag 
+0457 20600000 rtn 
 
 p_usb_tx_data_ep2:
-0446 da204b98 arg mem_usb_ep2_fifo ,rega 
-0447 20407da3 call fifo_is_empty 
-0448 207a0000 rtn blank 
-0449 6ff08c25 fetch 1 ,core_usb_txbusy 
-044a 1fe17e0f and_into 0x0f ,pdata 
-044b 247a0000 nrtn blank 
-044c 6fe0890d fetch 1 ,mem_usb_tx_enable 
-044d c4010000 rtnbit0 2 
-044e 6fe0890d fetch 1 ,mem_usb_tx_enable 
-044f 793ffe02 set0 2 ,pdata 
-0450 67e0890d store 1 ,mem_usb_tx_enable 
-0451 da204b98 arg mem_usb_ep2_fifo ,rega 
-0452 20407d97 call fifo_out 
-0453 207a0000 rtn blank 
-0454 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
-0455 c0130464 beq usb_ep2_authca ,p_usb_tx_authca_data 
-0456 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
-0457 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
-0458 c0120471 beq usb_ep2_audio ,p_usb_tx_audio_data 
-0459 c011847e beq usb_ep2_protocol ,p_usb_tx_protocol_data 
-045a c013845c beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
-045b 2020235a branch assert 
+0458 da204b98 arg mem_usb_ep2_fifo ,rega 
+0459 20407da3 call fifo_is_empty 
+045a 207a0000 rtn blank 
+045b 6ff08c25 fetch 1 ,core_usb_txbusy 
+045c 1fe17e0f and_into 0x0f ,pdata 
+045d 247a0000 nrtn blank 
+045e 6fe0890d fetch 1 ,mem_usb_tx_enable 
+045f c4010000 rtnbit0 2 
+0460 6fe0890d fetch 1 ,mem_usb_tx_enable 
+0461 793ffe02 set0 2 ,pdata 
+0462 67e0890d store 1 ,mem_usb_tx_enable 
+0463 da204b98 arg mem_usb_ep2_fifo ,rega 
+0464 20407d97 call fifo_out 
+0465 207a0000 rtn blank 
+0466 c0107c09 beq usb_ep2_ms ,usb_tx_ms_data 
+0467 c0130476 beq usb_ep2_authca ,p_usb_tx_authca_data 
+0468 c010fc24 beq usb_ep2_multikey ,usb_tx_kb_multikey_data 
+0469 c0117c2c beq usb_ep2_systemkey ,usb_tx_kb_systemkey_data 
+046a c0120483 beq usb_ep2_audio ,p_usb_tx_audio_data 
+046b c0118490 beq usb_ep2_protocol ,p_usb_tx_protocol_data 
+046c c013846e beq usb_ep2_mskb_state ,p_usb_tx_rf_state_data 
+046d 2020235a branch assert 
 
 p_usb_tx_rf_state_data:
-045c 6f20cb56 fetchr loopcnt ,1 ,mem_usb_rf_state_data 
-045d d8c04b57 arg mem_usb_rf_state_data + 1 ,contr 
-045e d8e00002 arg 2 ,queue 
-045f da200759 arg mem_usb_txbuf2 ,rega 
-0460 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-0461 20407bd2 call usb_tx_buf 
-0462 d8a04b56 arg mem_usb_rf_state_data ,contw 
-0463 2020046f branch p_usb_release_authca_buf + 1 
+046e 6f20cb56 fetchr loopcnt ,1 ,mem_usb_rf_state_data 
+046f d8c04b57 arg mem_usb_rf_state_data + 1 ,contr 
+0470 d8e00002 arg 2 ,queue 
+0471 da200759 arg mem_usb_txbuf2 ,rega 
+0472 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+0473 20407bd2 call usb_tx_buf 
+0474 d8a04b56 arg mem_usb_rf_state_data ,contw 
+0475 20200481 branch p_usb_release_authca_buf + 1 
 
 p_usb_tx_authca_data:
-0464 70090c00 jam 0 ,mem_usb_ep2_data 
-0465 6fe0c6de fetch 1 ,mem_usb_authca_data 
-0466 1fe27200 copy pdata ,loopcnt 
-0467 207a0000 rtn blank 
-0468 d8c046df arg mem_usb_authca_data + 1 ,contr 
+0476 70090c00 jam 0 ,mem_usb_ep2_data 
+0477 6fe0c6de fetch 1 ,mem_usb_authca_data 
+0478 1fe27200 copy pdata ,loopcnt 
+0479 207a0000 rtn blank 
+047a d8c046df arg mem_usb_authca_data + 1 ,contr 
 
 p_usb_tx_authca_ep2:
-0469 d8e00002 arg 2 ,queue 
-046a da200759 arg mem_usb_txbuf2 ,rega 
-046b 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-046c 20407bd2 call usb_tx_buf 
-046d 2020046e branch p_usb_release_authca_buf 
+047b d8e00002 arg 2 ,queue 
+047c da200759 arg mem_usb_txbuf2 ,rega 
+047d 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+047e 20407bd2 call usb_tx_buf 
+047f 20200480 branch p_usb_release_authca_buf 
 
 p_usb_release_authca_buf:
-046e d8a046de arg mem_usb_authca_data ,contw 
-046f df200040 arg 64 ,loopcnt 
-0470 20207ca1 branch clear_mem 
+0480 d8a046de arg mem_usb_authca_data ,contw 
+0481 df200040 arg 64 ,loopcnt 
+0482 20207ca1 branch clear_mem 
 
 p_usb_tx_audio_data:
-0471 70090c00 jam 0 ,mem_usb_ep2_data 
-0472 6fe0c7a1 fetch 1 ,mem_usb_audio_data 
-0473 1fe27200 copy pdata ,loopcnt 
-0474 207a0000 rtn blank 
-0475 d8c047a2 arg mem_usb_audio_data + 1 ,contr 
+0483 70090c00 jam 0 ,mem_usb_ep2_data 
+0484 6fe0c7a1 fetch 1 ,mem_usb_audio_data 
+0485 1fe27200 copy pdata ,loopcnt 
+0486 207a0000 rtn blank 
+0487 d8c047a2 arg mem_usb_audio_data + 1 ,contr 
 
 p_usb_tx_audio_ep2:
-0476 d8e00002 arg 2 ,queue 
-0477 da200759 arg mem_usb_txbuf2 ,rega 
-0478 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-0479 20407bd2 call usb_tx_buf 
-047a 2020047b branch p_usb_release_audio_buf 
+0488 d8e00002 arg 2 ,queue 
+0489 da200759 arg mem_usb_txbuf2 ,rega 
+048a 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+048b 20407bd2 call usb_tx_buf 
+048c 2020048d branch p_usb_release_audio_buf 
 
 p_usb_release_audio_buf:
-047b d8a047a1 arg mem_usb_audio_data ,contw 
-047c df200040 arg 64 ,loopcnt 
-047d 20207ca1 branch clear_mem 
+048d d8a047a1 arg mem_usb_audio_data ,contw 
+048e df200040 arg 64 ,loopcnt 
+048f 20207ca1 branch clear_mem 
 
 p_usb_tx_protocol_data:
-047e 70090c00 jam 0 ,mem_usb_ep2_data 
-047f 6fe0ca93 fetch 1 ,mem_usb_protocol_data 
-0480 1fe27200 copy pdata ,loopcnt 
-0481 207a0000 rtn blank 
-0482 d8c04a94 arg mem_usb_protocol_data + 1 ,contr 
+0490 70090c00 jam 0 ,mem_usb_ep2_data 
+0491 6fe0ca93 fetch 1 ,mem_usb_protocol_data 
+0492 1fe27200 copy pdata ,loopcnt 
+0493 207a0000 rtn blank 
+0494 d8c04a94 arg mem_usb_protocol_data + 1 ,contr 
 
 p_usb_tx_protocol_ep2:
-0483 d8e00002 arg 2 ,queue 
-0484 da200759 arg mem_usb_txbuf2 ,rega 
-0485 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
-0486 20407bd2 call usb_tx_buf 
-0487 20200488 branch p_usb_release_protocol_buf 
+0495 d8e00002 arg 2 ,queue 
+0496 da200759 arg mem_usb_txbuf2 ,rega 
+0497 62310c0c storer rega ,2 ,core_usb_tx_saddr2 
+0498 20407bd2 call usb_tx_buf 
+0499 2020049a branch p_usb_release_protocol_buf 
 
 p_usb_release_protocol_buf:
-0488 d8a04a93 arg mem_usb_protocol_data ,contw 
-0489 df200041 arg 65 ,loopcnt 
-048a 20207ca1 branch clear_mem 
+049a d8a04a93 arg mem_usb_protocol_data ,contw 
+049b df200041 arg 65 ,loopcnt 
+049c 20207ca1 branch clear_mem 
 
 p_rx_dcoc:
-048b 20758000 rtn wake 
-048c 20402160 call set_sync_on 
-048d d8400027 arg 39 ,temp 
-048e 2040216f call set_freq_rx 
-048f 204021a6 call rf_rx_enable 
-0490 708a257f jam 0x7f ,0x8a25 
-0491 708a301a jam 0x1a ,0x8a30 
-0492 708a3178 jam 0x78 ,0x8a31 
-0493 708a8fb2 jam 0xb2 ,0x8a8f 
-0494 708ac200 jam 0 ,0x8ac2 
-0495 708ac300 jam 0 ,0x8ac3 
-0496 d8e00006 arg 6 ,queue 
-0497 204004a8 call p_rx_dcoc_avg 
-0498 2a2ffe0d isolate1 13 ,rega 
-0499 2040211d call qset_start 
-049a 2a4ffe0d isolate1 13 ,regb 
-049b 2040211e call qset_p 
-049c d8e00005 arg 5 ,queue 
+049d 20758000 rtn wake 
+049e 20402160 call set_sync_on 
+049f d8400027 arg 39 ,temp 
+04a0 2040216f call set_freq_rx 
+04a1 204021a6 call rf_rx_enable 
+04a2 708a257f jam 0x7f ,0x8a25 
+04a3 708a301a jam 0x1a ,0x8a30 
+04a4 708a3178 jam 0x78 ,0x8a31 
+04a5 708a8fb2 jam 0xb2 ,0x8a8f 
+04a6 708ac200 jam 0 ,0x8ac2 
+04a7 708ac300 jam 0 ,0x8ac3 
+04a8 d8e00006 arg 6 ,queue 
+04a9 204004ba call p_rx_dcoc_avg 
+04aa 2a2ffe0d isolate1 13 ,rega 
+04ab 2040211d call qset_start 
+04ac 2a4ffe0d isolate1 13 ,regb 
+04ad 2040211e call qset_p 
+04ae d8e00005 arg 5 ,queue 
 
 p_rx_dcoc_loop2:
-049d 2040211c call qset1_p 
-049e 2040211e call qset_p 
-049f 204004a8 call p_rx_dcoc_avg 
-04a0 d8a08ac2 arg 0x8ac2 ,contw 
-04a1 1a31fe00 rshift4 rega ,pdata 
-04a2 20402117 call qsetxor 
-04a3 1a51fe00 rshift4 regb ,pdata 
-04a4 20402117 call qsetxor 
-04a5 18e08fff increase -1 ,queue 
-04a6 2021049d branch p_rx_dcoc_loop2 ,positive 
-04a7 2020214f branch rx_dcoc_loop2 + 10 
+04af 2040211c call qset1_p 
+04b0 2040211e call qset_p 
+04b1 204004ba call p_rx_dcoc_avg 
+04b2 d8a08ac2 arg 0x8ac2 ,contw 
+04b3 1a31fe00 rshift4 rega ,pdata 
+04b4 20402117 call qsetxor 
+04b5 1a51fe00 rshift4 regb ,pdata 
+04b6 20402117 call qsetxor 
+04b7 18e08fff increase -1 ,queue 
+04b8 202104af branch p_rx_dcoc_loop2 ,positive 
+04b9 2020214f branch rx_dcoc_loop2 + 10 
 
 p_rx_dcoc_avg:
-04a8 2000003c nop 60 
-04a9 58000f00 setarg mem_dcoc_buf 
-04aa 67f10982 store 2 ,0x8982 
-04ab 58000ff0 setarg mem_dcoc_buf_end 
-04ac 67f10984 store 2 ,0x8984 
-04ad 70898109 jam 0x9 ,0x8981 
-04ae 70898103 jam 0x3 ,0x8981 
-04af 70898006 jam 0x6 ,0x8980 
-04b0 2000003c nop 60 
-04b1 da200000 arg 0 ,rega 
-04b2 da400000 arg 0 ,regb 
-04b3 df200010 arg 16 ,loopcnt 
-04b4 d8c00f00 arg mem_dcoc_buf ,contr 
-04b5 2020212d branch rx_dcoc_loop 
+04ba 2000003c nop 60 
+04bb 58000f00 setarg mem_dcoc_buf 
+04bc 67f10982 store 2 ,0x8982 
+04bd 58000ff0 setarg mem_dcoc_buf_end 
+04be 67f10984 store 2 ,0x8984 
+04bf 70898109 jam 0x9 ,0x8981 
+04c0 70898103 jam 0x3 ,0x8981 
+04c1 70898006 jam 0x6 ,0x8980 
+04c2 2000003c nop 60 
+04c3 da200000 arg 0 ,rega 
+04c4 da400000 arg 0 ,regb 
+04c5 df200010 arg 16 ,loopcnt 
+04c6 d8c00f00 arg mem_dcoc_buf ,contr 
+04c7 2020212d branch rx_dcoc_loop 
 
 p_rfpll_aac_ghpc:
-04b6 20758000 rtn wake 
-04b7 20202272 branch rfpll_aac_ghpc + 1 
+04c8 20758000 rtn wake 
+04c9 20202272 branch rfpll_aac_ghpc + 1 
 
 p_dpll_ring_ibias_calc:
-04b8 20600000 rtn 
+04ca 20600000 rtn 
 
 p_sadc_calibration:
-04b9 20758000 rtn wake 
-04ba 708a0777 jam 0x77 ,core_gpadc_ctrl 
-04bb 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
-04bc 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-04bd 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-04be 67f080cd store 1 ,core_sadc_clkdiv 
-04bf 20000bb8 nop 3000 
-04c0 204004e1 call p_sadc_read 
-04c1 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-04c2 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-04c3 df200008 arg 8 ,loopcnt 
-04c4 20406f58 call sadc_cal_read + 1 
-04c5 6fe0c419 fetch 1 ,mem_spi_write_addr 
-04c6 67e0c433 store 1 ,mem_adc_cal_c7 
-04c7 6240c419 storer regb ,1 ,mem_spi_write_addr 
-04c8 20600000 rtn 
+04cb 20758000 rtn wake 
+04cc 708a0777 jam 0x77 ,core_gpadc_ctrl 
+04cd 708a08c9 jam 0xc9 ,core_gpadc_cfg0 
+04ce 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+04cf 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+04d0 67f080cd store 1 ,core_sadc_clkdiv 
+04d1 20000bb8 nop 3000 
+04d2 204004f3 call p_sadc_read 
+04d3 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+04d4 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+04d5 df200008 arg 8 ,loopcnt 
+04d6 20406f58 call sadc_cal_read + 1 
+04d7 6fe0c419 fetch 1 ,mem_spi_write_addr 
+04d8 67e0c433 store 1 ,mem_adc_cal_c7 
+04d9 6240c419 storer regb ,1 ,mem_spi_write_addr 
+04da 20600000 rtn 
 
 p_enable_adc:
-04c9 204004d7 call p_sadc_cal_write 
-04ca 6ff08a09 fetch 1 ,core_gpadc_cfg1 
-04cb 793ffe07 set0 7 ,pdata 
-04cc 67f08a09 store 1 ,core_gpadc_cfg1 
-04cd 708a0777 jam 0x77 ,core_gpadc_ctrl 
-04ce 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
-04cf 708a0b01 jam 0x01 ,core_gpadc_cfg3 
-04d0 20406f90 call sadc_channel 
-04d1 6fe0c409 fetch 1 ,mem_adc_clkdiv 
-04d2 67f080cd store 1 ,core_sadc_clkdiv 
-04d3 20000bb8 nop 3000 
-04d4 204004e1 call p_sadc_read 
-04d5 7080cd00 jam 0 ,core_sadc_clkdiv 
-04d6 20206fa1 branch sadc_dma 
+04db 204004e9 call p_sadc_cal_write 
+04dc 6ff08a09 fetch 1 ,core_gpadc_cfg1 
+04dd 793ffe07 set0 7 ,pdata 
+04de 67f08a09 store 1 ,core_gpadc_cfg1 
+04df 708a0777 jam 0x77 ,core_gpadc_ctrl 
+04e0 708a08c1 jam 0xc1 ,core_gpadc_cfg0 
+04e1 708a0b01 jam 0x01 ,core_gpadc_cfg3 
+04e2 20406f90 call sadc_channel 
+04e3 6fe0c409 fetch 1 ,mem_adc_clkdiv 
+04e4 67f080cd store 1 ,core_sadc_clkdiv 
+04e5 20000bb8 nop 3000 
+04e6 204004f3 call p_sadc_read 
+04e7 7080cd00 jam 0 ,core_sadc_clkdiv 
+04e8 20206fa1 branch sadc_dma 
 
 p_sadc_cal_write:
-04d7 6ff080cc fetch 1 ,core_sadc_ctrl 
-04d8 79207e01 set1 1 ,pdata 
-04d9 67f080cc store 1 ,core_sadc_ctrl 
-04da 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
-04db 6fe0c433 fetch 1 ,mem_adc_cal_c7 
-04dc 67e0c419 store 1 ,mem_spi_write_addr 
-04dd df200008 arg 8 ,loopcnt 
-04de 20406f67 call sadc_cal_write + 4 
-04df 6240c419 storer regb ,1 ,mem_spi_write_addr 
-04e0 20600000 rtn 
+04e9 6ff080cc fetch 1 ,core_sadc_ctrl 
+04ea 79207e01 set1 1 ,pdata 
+04eb 67f080cc store 1 ,core_sadc_ctrl 
+04ec 6a40c419 fetchr regb ,1 ,mem_spi_write_addr 
+04ed 6fe0c433 fetch 1 ,mem_adc_cal_c7 
+04ee 67e0c419 store 1 ,mem_spi_write_addr 
+04ef df200008 arg 8 ,loopcnt 
+04f0 20406f67 call sadc_cal_write + 4 
+04f1 6240c419 storer regb ,1 ,mem_spi_write_addr 
+04f2 20600000 rtn 
 
 p_sadc_read:
-04e1 7080cc03 jam 0x03 ,core_sadc_ctrl 
+04f3 7080cc03 jam 0x03 ,core_sadc_ctrl 
 
 p_sadc_read_wait:
-04e2 6ff08129 fetch 1 ,core_perf_status 
-04e3 c30284e2 bbit0 saradc_done ,p_sadc_read_wait 
-04e4 68590164 fetcht 2 ,core_sadc_data 
-04e5 6049440a storet 2 ,mem_adc_current_value 
-04e6 7080cc00 jam 0x00 ,core_sadc_ctrl 
-04e7 20600000 rtn 
+04f4 6ff08129 fetch 1 ,core_perf_status 
+04f5 c30284f4 bbit0 saradc_done ,p_sadc_read_wait 
+04f6 68590164 fetcht 2 ,core_sadc_data 
+04f7 6049440a storet 2 ,mem_adc_current_value 
+04f8 7080cc00 jam 0x00 ,core_sadc_ctrl 
+04f9 20600000 rtn 
 
 p_set_lemode:
-04e8 708a8211 jam 0x11 ,0x8a82 
-04e9 708a8d12 jam 0x12 ,0x8a8d 
-04ea 708a8e0a jam 0x0a ,0x8a8e 
-04eb 6fe0c099 fetch 1 ,mem_fcomp_div 
-04ec c0080501 beq xtal_16m ,p_set_lemode_2m_16m 
-04ed 58005762 setarg 0x5762 
-04ee 67f10907 store 2 ,0x8907 
+04fa 708a8211 jam 0x11 ,0x8a82 
+04fb 708a8d12 jam 0x12 ,0x8a8d 
+04fc 708a8e0a jam 0x0a ,0x8a8e 
+04fd 6fe0c099 fetch 1 ,mem_fcomp_div 
+04fe c0080513 beq xtal_16m ,p_set_lemode_2m_16m 
+04ff 58005762 setarg 0x5762 
+0500 67f10907 store 2 ,0x8907 
 
 p_set_lemode_2m:
-04ef 70890103 jam 3 ,0x8901 
-04f0 70893003 jam 3 ,0x8930 
-04f1 c6168000 rtnmark1 mark_ble_2m 
-04f2 70890101 jam 1 ,0x8901 
-04f3 708a8207 jam 0x07 ,0x8a82 
-04f4 708a8d44 jam 0x44 ,0x8a8d 
-04f5 708a8e0a jam 0x0a ,0x8a8e 
-04f6 6fe0c099 fetch 1 ,mem_fcomp_div 
-04f7 c00804fe beq xtal_16m ,p_set_lemode_1m_16m 
-04f8 58002bb1 setarg 0x2bb1 
-04f9 67f10907 store 2 ,0x8907 
+0501 70890103 jam 3 ,0x8901 
+0502 70893003 jam 3 ,0x8930 
+0503 c6168000 rtnmark1 mark_ble_2m 
+0504 70890101 jam 1 ,0x8901 
+0505 708a8207 jam 0x07 ,0x8a82 
+0506 708a8d44 jam 0x44 ,0x8a8d 
+0507 708a8e0a jam 0x0a ,0x8a8e 
+0508 6fe0c099 fetch 1 ,mem_fcomp_div 
+0509 c0080510 beq xtal_16m ,p_set_lemode_1m_16m 
+050a 58002bb1 setarg 0x2bb1 
+050b 67f10907 store 2 ,0x8907 
 
 p_set_lemode_1m:
-04fa c6978000 rtnmark0 mark_ble_lr 
-04fb 70893024 jam 0x24 ,0x8930 
-04fc 70890105 jam 5 ,0x8901 
-04fd 20600000 rtn 
+050c c6978000 rtnmark0 mark_ble_lr 
+050d 70893024 jam 0x24 ,0x8930 
+050e 70890105 jam 5 ,0x8901 
+050f 20600000 rtn 
 
 p_set_lemode_1m_16m:
-04fe 58004189 setarg 0x4189 
-04ff 67f10907 store 2 ,0x8907 
-0500 202004fa branch p_set_lemode_1m 
+0510 58004189 setarg 0x4189 
+0511 67f10907 store 2 ,0x8907 
+0512 2020050c branch p_set_lemode_1m 
 
 p_set_lemode_2m_16m:
-0501 58008312 setarg 0x8312 
-0502 67f10907 store 2 ,0x8907 
-0503 202004ef branch p_set_lemode_2m 
+0513 58008312 setarg 0x8312 
+0514 67f10907 store 2 ,0x8907 
+0515 20200501 branch p_set_lemode_2m 
 
 p_le_parse:
-0504 6fe0c334 fetch 1 ,mem_le_packet_llid 
-0505 c1000000 rtneq llid_reserved 
-0506 c001b04a beq llid_le_ll ,le_parse_ll 
-0507 202028e1 branch le_parse_l2cap 
+0516 6fe0c334 fetch 1 ,mem_le_packet_llid 
+0517 c1000000 rtneq llid_reserved 
+0518 c001b04a beq llid_le_ll ,le_parse_ll 
+0519 202028e1 branch le_parse_l2cap 
 
 p_le_init_adv:
-0508 793f8030 set0 mark_ble_crc_fail ,mark 
-0509 20202af6 branch le_init_adv + 1 
+051a 793f8030 set0 mark_ble_crc_fail ,mark 
+051b 20202af6 branch le_init_adv + 1 
 
 p_g24_bind_data_parse_next:
-050a 6fe0c9c9 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-050b c0553329 beq datatype_bind ,g24_bind_first_step 
-050c c02ab33a beq datatype_config ,g24_bind_second_step 
-050d c0110520 beq datatype_ok ,p_g24_bind_third_step 
-050e c07f8510 beq datatype_attemp ,p_g24_data_attemp 
-050f 20600000 rtn 
+051c 6fe0c9c9 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+051d c0553329 beq datatype_bind ,g24_bind_first_step 
+051e c02ab33a beq datatype_config ,g24_bind_second_step 
+051f c0110532 beq datatype_ok ,p_g24_bind_third_step 
+0520 c07f8522 beq datatype_attemp ,p_g24_data_attemp 
+0521 20600000 rtn 
 
 p_g24_data_attemp:
-0510 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0511 c0008514 beq datatype_device1 ,p_g24_data_attemp_device1 
-0512 c001051a beq datatype_device2 ,p_g24_data_attemp_device2 
-0513 20600000 rtn 
+0522 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0523 c0008526 beq datatype_device1 ,p_g24_data_attemp_device1 
+0524 c001052c beq datatype_device2 ,p_g24_data_attemp_device2 
+0525 20600000 rtn 
 
 p_g24_data_attemp_device1:
-0514 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-0515 247a0000 nrtn blank 
-0516 6fe249cb fetch 4 ,mem_24g_rxdata_temp_new + 4 
-0517 67e2462c store 4 ,mem_24g_transmitter_addr 
+0526 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+0527 247a0000 nrtn blank 
+0528 6fe249cb fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0529 67e2462c store 4 ,mem_24g_transmitter_addr 
 
 p_g24_store_device1_addr:
-0518 67e24630 store 4 ,mem_24g_device1_addr 
-0519 20600000 rtn 
+052a 67e24630 store 4 ,mem_24g_device1_addr 
+052b 20600000 rtn 
 
 p_g24_data_attemp_device2:
-051a 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-051b 247a0000 nrtn blank 
-051c 6fe249cb fetch 4 ,mem_24g_rxdata_temp_new + 4 
-051d 67e2462c store 4 ,mem_24g_transmitter_addr 
+052c 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+052d 247a0000 nrtn blank 
+052e 6fe249cb fetch 4 ,mem_24g_rxdata_temp_new + 4 
+052f 67e2462c store 4 ,mem_24g_transmitter_addr 
 
 p_g24_store_device2_addr:
-051e 67e24634 store 4 ,mem_24g_device2_addr 
-051f 20600000 rtn 
+0530 67e24634 store 4 ,mem_24g_device2_addr 
+0531 20600000 rtn 
 
 p_g24_bind_third_step:
-0520 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-0521 203a0526 branch p_g24_bind_third_step_skip ,blank 
-0522 6fe249cb fetch 4 ,mem_24g_rxdata_temp_new + 4 
-0523 684a462c fetcht 4 ,mem_24g_transmitter_addr 
-0524 98467c00 isub temp ,null 
-0525 24628000 nrtn zero 
+0532 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+0533 203a0538 branch p_g24_bind_third_step_skip ,blank 
+0534 6fe249cb fetch 4 ,mem_24g_rxdata_temp_new + 4 
+0535 684a462c fetcht 4 ,mem_24g_transmitter_addr 
+0536 98467c00 isub temp ,null 
+0537 24628000 nrtn zero 
 
 p_g24_bind_third_step_skip:
-0526 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
-0527 c000852a beq datatype_device1 ,p_g24_bind_third_step_device1 
-0528 c0010531 beq datatype_device2 ,p_g24_bind_third_step_device2 
-0529 20600000 rtn 
+0538 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
+0539 c000853c beq datatype_device1 ,p_g24_bind_third_step_device1 
+053a c0010543 beq datatype_device2 ,p_g24_bind_third_step_device2 
+053b 20600000 rtn 
 
 p_g24_bind_third_step_device1:
-052a 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
-052b 247a0000 nrtn blank 
-052c 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-052d c001052f beq 2 ,p_g24_bind_dvc1_step_success 
-052e 20600000 rtn 
+053c 6fe0c5de fetch 1 ,mem_24g_device1_bind_disable 
+053d 247a0000 nrtn blank 
+053e 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+053f c0010541 beq 2 ,p_g24_bind_dvc1_step_success 
+0540 20600000 rtn 
 
 p_g24_bind_dvc1_step_success:
-052f 7045de01 jam 1 ,mem_24g_device1_bind_disable 
-0530 2020336b branch g24_bind_dvc1_step_success + 1 
+0541 7045de01 jam 1 ,mem_24g_device1_bind_disable 
+0542 2020336b branch g24_bind_dvc1_step_success + 1 
 
 p_g24_bind_third_step_device2:
-0531 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
-0532 247a0000 nrtn blank 
-0533 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0534 c0800536 bne 0 ,p_g24_bind_dvc2_step_success 
-0535 20600000 rtn 
+0543 6fe0c5df fetch 1 ,mem_24g_device2_bind_disable 
+0544 247a0000 nrtn blank 
+0545 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0546 c0800548 bne 0 ,p_g24_bind_dvc2_step_success 
+0547 20600000 rtn 
 
 p_g24_bind_dvc2_step_success:
-0536 7045df01 jam 1 ,mem_24g_device2_bind_disable 
-0537 20403393 call g24_binding_dvc2_living 
-0538 20203378 branch g24_bind_dvc2_step_success + 1 
+0548 7045df01 jam 1 ,mem_24g_device2_bind_disable 
+0549 20403393 call g24_binding_dvc2_living 
+054a 20203378 branch g24_bind_dvc2_step_success + 1 
 
 p_g24_mode_switch_bind_search:
-0539 6fe0c616 fetch 1 ,mem_24g_work_mode 
-053a c1000000 rtneq dongle_work 
-053b 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
-053c 247a0000 nrtn blank 
-053d 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
-053e 247a0000 nrtn blank 
-053f 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
-0540 207a0000 rtn blank 
-0541 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
-0542 c1800000 rtnne 0 
-0543 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
-0544 c1800000 rtnne 0 
-0545 20203436 branch g24_mode_switch_bind_search + 9 
+054b 6fe0c616 fetch 1 ,mem_24g_work_mode 
+054c c1000000 rtneq dongle_work 
+054d 6fe0c62a fetch 1 ,mem_24g_b_s_mode_switch_disable 
+054e 247a0000 nrtn blank 
+054f 6fe0c628 fetch 1 ,mem_24g_mode_b_s_switch_exit 
+0550 247a0000 nrtn blank 
+0551 6fe0c624 fetch 1 ,mem_24g_mode_b_s_switch 
+0552 207a0000 rtn blank 
+0553 6fe0c5d3 fetch 1 ,mem_24g_device1_bind_step 
+0554 c1800000 rtnne 0 
+0555 6fe0c5d4 fetch 1 ,mem_24g_device2_bind_step 
+0556 c1800000 rtnne 0 
+0557 20203436 branch g24_mode_switch_bind_search + 9 
 
 p_g24_bind_mode_auto:
-0546 6fe0c616 fetch 1 ,mem_24g_work_mode 
-0547 c1808000 rtnne dongle_bind 
-0548 2040054a call p_g24_bind_init 
-0549 2020346d branch g24_bind_mode_auto + 4 
+0558 6fe0c616 fetch 1 ,mem_24g_work_mode 
+0559 c1808000 rtnne dongle_bind 
+055a 2040055c call p_g24_bind_init 
+055b 2020346d branch g24_bind_mode_auto + 4 
 
 p_g24_bind_init:
-054a 6fe0c615 fetch 1 ,mem_24g_mode_init 
-054b c3808000 rtnbit1 dongle_bind 
-054c 79207e01 set1 dongle_bind ,pdata 
-054d 67e0c615 store 1 ,mem_24g_mode_init 
-054e 58000000 setarg 0 
-054f 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
-0550 20203307 branch g24_bind_init + 8 
+055c 6fe0c615 fetch 1 ,mem_24g_mode_init 
+055d c3808000 rtnbit1 dongle_bind 
+055e 79207e01 set1 dongle_bind ,pdata 
+055f 67e0c615 store 1 ,mem_24g_mode_init 
+0560 58000000 setarg 0 
+0561 67e1c5d3 store 3 ,mem_24g_device1_bind_step 
+0562 20203307 branch g24_bind_init + 8 
 
 p_dongle_usb_dispatch:
-0551 20400560 call p_wdt_kick 
-0552 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
-0553 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
-0554 20407906 call usb_isr 
-0555 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
-0556 207a0000 rtn blank 
-0557 7008f700 jam 0 ,mem_usb0_get_set_report 
-0558 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
-0559 d84002a4 arg pc_set_report ,temp 
-055a 98467c00 isub temp ,null 
-055b 20228240 branch p_dongle_usb_data_received_analysis ,zero 
-055c d84002a2 arg pc_set_report_prolotol ,temp 
-055d 98467c00 isub temp ,null 
-055e 24628000 nrtn zero 
-055f 20200240 branch p_dongle_usb_data_received_analysis 
+0563 20400572 call p_wdt_kick 
+0564 6fe08901 fetch 1 ,mem_usb_remote_wakeup 
+0565 205a48b5 call dongle_clear_pc_sleep_flag ,blank 
+0566 20407906 call usb_isr 
+0567 6fe088f7 fetch 1 ,mem_usb0_get_set_report 
+0568 207a0000 rtn blank 
+0569 7008f700 jam 0 ,mem_usb0_get_set_report 
+056a 6fe108f5 fetch 2 ,mem_usb_setup_bvalue_temp 
+056b d84002a4 arg pc_set_report ,temp 
+056c 98467c00 isub temp ,null 
+056d 20228240 branch p_dongle_usb_data_received_analysis ,zero 
+056e d84002a2 arg pc_set_report_prolotol ,temp 
+056f 98467c00 isub temp ,null 
+0570 24628000 nrtn zero 
+0571 20200240 branch p_dongle_usb_data_received_analysis 
 
 p_wdt_kick:
-0560 58000010 setarg 16 
-0561 202070c8 branch wdt_init_config 
+0572 58000010 setarg 16 
+0573 202070c8 branch wdt_init_config 
 
 p_dongle_default_init:
-0562 204047c3 call dongle_default_init + 1 
-0563 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
-0564 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
-0565 704ba100 jam 0 ,mem_usb_http_data_step 
-0566 704ba200 jam 0 ,mem_usb_tx_data_flag 
-0567 7045ca01 jam on ,mem_24g_disable_fec1 
-0568 20403281 call g24_enable_1m 
-0569 6fe0c669 fetch 1 ,mem_dg_sys_config 
-056a c4000000 rtnbit0 dg_enable_new_revision 
-056b 7045ca01 jam on ,mem_24g_disable_fec1 
-056c 20203284 branch g24_enable_2m 
+0574 204047c3 call dongle_default_init + 1 
+0575 6fe0c695 fetch 1 ,mem_24g_pair_tx_power_init 
+0576 67e0c5d1 store 1 ,mem_24g_pair_tx_power 
+0577 7045ca01 jam on ,mem_24g_disable_fec1 
+0578 20403281 call g24_enable_1m 
+0579 6fe0c669 fetch 1 ,mem_dg_sys_config 
+057a c4000000 rtnbit0 dg_enable_new_revision 
+057b 7045ca01 jam on ,mem_24g_disable_fec1 
+057c 20203284 branch g24_enable_2m 
 
 p_g24_receive_skip_fec1:
-056d 7858fc00 disable user7 
-056e 280ffe2f isolate1 mark_ble_lr ,mark 
-056f 2040b16f call g24_lr_receive_pdu_len ,true 
-0570 2038b18a branch g24_lr_len_error ,user7 
-0571 2040317d call g24_receive_byte 
-0572 67e0c4f7 store 1 ,mem_24g_rxbuf 
-0573 c5138578 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
-0574 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
-0575 6848c589 fetcht 1 ,mem_24g_data_type 
-0576 a8400e00 icompare bits_data ,temp 
-0577 2420b18c nbranch g24_type_error ,true 
+057d 7858fc00 disable user7 
+057e 280ffe2f isolate1 mark_ble_lr ,mark 
+057f 2040b16f call g24_lr_receive_pdu_len ,true 
+0580 2038b18a branch g24_lr_len_error ,user7 
+0581 2040317d call g24_receive_byte 
+0582 67e0c4f7 store 1 ,mem_24g_rxbuf 
+0583 c5138588 bmark1 mark_24g_rxmode ,p_g24_receive_skip 
+0584 6fe0c4f7 fetch 1 ,mem_24g_rxbuf 
+0585 6848c589 fetcht 1 ,mem_24g_data_type 
+0586 a8400e00 icompare bits_data ,temp 
+0587 2420b18c nbranch g24_type_error ,true 
 
 p_g24_receive_skip:
-0578 2040317d call g24_receive_byte 
-0579 280ffe2f isolate1 mark_ble_lr ,mark 
-057a 2040b178 call g24_lr_receive_payload_len ,true 
-057b e7e08005 istore 1 ,contw 
-057c 1fe90400 rshift3 pdata ,temp 
-057d 2feffe00 isolate1 0 ,pdata 
-057e 20408585 call p_g24_receive_payload_len_ext ,true 
-057f 18427e00 copy temp ,pdata 
-0580 1fe67c3f sub pdata ,0x3f ,null 
-0581 2421318e nbranch g24_len_over_error ,positive 
-0582 1fe27200 copy pdata ,loopcnt 
-0583 2022b154 branch g24rx_nopayload ,zero 
-0584 20203151 branch g24rx_loop 
+0588 2040317d call g24_receive_byte 
+0589 280ffe2f isolate1 mark_ble_lr ,mark 
+058a 2040b178 call g24_lr_receive_payload_len ,true 
+058b e7e08005 istore 1 ,contw 
+058c 1fe90400 rshift3 pdata ,temp 
+058d 2feffe00 isolate1 0 ,pdata 
+058e 20408595 call p_g24_receive_payload_len_ext ,true 
+058f 18427e00 copy temp ,pdata 
+0590 1fe67c3f sub pdata ,0x3f ,null 
+0591 2421318e nbranch g24_len_over_error ,positive 
+0592 1fe27200 copy pdata ,loopcnt 
+0593 2022b154 branch g24rx_nopayload ,zero 
+0594 20203151 branch g24rx_loop 
 
 p_g24_receive_payload_len_ext:
-0585 79200405 set1 5 ,temp 
-0586 20600000 rtn 
+0595 79200405 set1 5 ,temp 
+0596 20600000 rtn 
 
 p_g24_receive_skip_end:
-0587 6fe0c669 fetch 1 ,mem_dg_sys_config 
-0588 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
-0589 7837fc00 enable user3 
-058a 20000018 nop 24 
-058b 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-058c 79207e00 set1 bit_ack_24g ,pdata 
-058d 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
-058e 204033a5 call g24_ackpayload_prep 
-058f 204031e5 call g24_transmit_prep 
-0590 20203195 branch g24_transmit 
+0597 6fe0c669 fetch 1 ,mem_dg_sys_config 
+0598 c3003165 bbit0 dg_enable_new_revision ,g24_receive_skip_end + 1 
+0599 7837fc00 enable user3 
+059a 20000018 nop 24 
+059b 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+059c 79207e00 set1 bit_ack_24g ,pdata 
+059d 67e0c4f8 store 1 ,mem_24g_rxbuf + 1 
+059e 204033a5 call g24_ackpayload_prep 
+059f 204031e5 call g24_transmit_prep 
+05a0 20203195 branch g24_transmit 
 
 p_g24_read_len_pid_crc:
-0591 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-0592 1fe90400 rshift3 pdata ,temp 
-0593 2feffe00 isolate1 0 ,pdata 
-0594 20408585 call p_g24_receive_payload_len_ext ,true 
-0595 18427e00 copy temp ,pdata 
-0596 67e0c57d store 1 ,mem_24g_rxdata_length 
-0597 1fe0fe01 increase 1 ,pdata 
-0598 d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
-0599 98c08c00 iadd contr ,contr 
-059a efe18006 ifetch 3 ,contr 
-059b 67e1c580 store 3 ,mem_24g_sta_crc 
-059c 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
-059d 1fe37e00 rshift pdata ,pdata 
-059e 1fe17e03 and pdata ,0x03 ,pdata 
-059f 67e0c586 store 1 ,mem_24g_sta_pid 
-05a0 20600000 rtn 
+05a1 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+05a2 1fe90400 rshift3 pdata ,temp 
+05a3 2feffe00 isolate1 0 ,pdata 
+05a4 20408595 call p_g24_receive_payload_len_ext ,true 
+05a5 18427e00 copy temp ,pdata 
+05a6 67e0c57d store 1 ,mem_24g_rxdata_length 
+05a7 1fe0fe01 increase 1 ,pdata 
+05a8 d8c044f8 arg mem_24g_rxbuf + 1 ,contr 
+05a9 98c08c00 iadd contr ,contr 
+05aa efe18006 ifetch 3 ,contr 
+05ab 67e1c580 store 3 ,mem_24g_sta_crc 
+05ac 6fe0c4f8 fetch 1 ,mem_24g_rxbuf + 1 
+05ad 1fe37e00 rshift pdata ,pdata 
+05ae 1fe17e03 and pdata ,0x03 ,pdata 
+05af 67e0c586 store 1 ,mem_24g_sta_pid 
+05b0 20600000 rtn 
 
 p_g24_bind_data_process:
-05a1 204033be call g24_rx_interrupt_clear 
-05a2 20403119 call g24_receive_packet 
-05a3 2437b3be nbranch g24_rx_interrupt_clear ,user3 
-05a4 204005a8 call p_g24_bind_data_parse 
-05a5 20400039 call p_g24_transmit_ack 
-05a6 204005be call p_g24_bind_device_status_check 
-05a7 20203316 branch g24_bind_data_process + 7 
+05b1 204033be call g24_rx_interrupt_clear 
+05b2 20403119 call g24_receive_packet 
+05b3 2437b3be nbranch g24_rx_interrupt_clear ,user3 
+05b4 204005b8 call p_g24_bind_data_parse 
+05b5 20400039 call p_g24_transmit_ack 
+05b6 204005ce call p_g24_bind_device_status_check 
+05b7 20203316 branch g24_bind_data_process + 7 
 
 p_g24_bind_data_parse:
-05a8 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
-05a9 d8c044f7 arg mem_24g_rxbuf ,contr 
-05aa d8a049c7 arg mem_24g_rxdata_temp_new ,contw 
-05ab 20407c89 call memcpy8 
-05ac 6fe0c9c9 fetch 1 ,mem_24g_rxdata_temp_new + 2 
-05ad c05505b2 beq datatype_bind ,p_g24_bind_first_step 
-05ae c02a85b4 beq datatype_config ,p_g24_bind_second_step 
-05af c0110520 beq datatype_ok ,p_g24_bind_third_step 
-05b0 c07f8510 beq datatype_attemp ,p_g24_data_attemp 
-05b1 20600000 rtn 
+05b8 70462205 jam bind_mode_continue ,mem_24g_bind_mode_continue 
+05b9 d8c044f7 arg mem_24g_rxbuf ,contr 
+05ba d8a049c7 arg mem_24g_rxdata_temp_new ,contw 
+05bb 20407c89 call memcpy8 
+05bc 6fe0c9c9 fetch 1 ,mem_24g_rxdata_temp_new + 2 
+05bd c05505c2 beq datatype_bind ,p_g24_bind_first_step 
+05be c02a85c4 beq datatype_config ,p_g24_bind_second_step 
+05bf c0110532 beq datatype_ok ,p_g24_bind_third_step 
+05c0 c07f8522 beq datatype_attemp ,p_g24_data_attemp 
+05c1 20600000 rtn 
 
 p_g24_bind_first_step:
-05b2 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
-05b3 2020332a branch g24_bind_first_step + 1 
+05c2 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
+05c3 2020332a branch g24_bind_first_step + 1 
 
 p_g24_bind_second_step:
-05b4 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
-05b5 203a05ba branch p_g24_bind_second_step_skip ,blank 
-05b6 6fe249cb fetch 4 ,mem_24g_rxdata_temp_new + 4 
-05b7 684a44f1 fetcht 4 ,mem_24g_lap 
-05b8 98467c00 isub temp ,null 
-05b9 24628000 nrtn zero 
+05c4 6fe0c5ae fetch 1 ,mem_24g_pair_switch 
+05c5 203a05ca branch p_g24_bind_second_step_skip ,blank 
+05c6 6fe249cb fetch 4 ,mem_24g_rxdata_temp_new + 4 
+05c7 684a44f1 fetcht 4 ,mem_24g_lap 
+05c8 98467c00 isub temp ,null 
+05c9 24628000 nrtn zero 
 
 p_g24_bind_second_step_skip:
-05ba 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
-05bb c000b344 beq datatype_device1 ,g24_bind_second_step_device1 
-05bc c0013351 beq datatype_device2 ,g24_bind_second_step_device2 
-05bd 20600000 rtn 
+05ca 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
+05cb c000b344 beq datatype_device1 ,g24_bind_second_step_device1 
+05cc c0013351 beq datatype_device2 ,g24_bind_second_step_device2 
+05cd 20600000 rtn 
 
 p_g24_bind_device_status_check:
-05be 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
-05bf 207a0000 rtn blank 
+05ce 6fe0c5d5 fetch 1 ,mem_24g_bind_device_status 
+05cf 207a0000 rtn blank 
 
 p_g24_bind_device_status:
-05c0 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
-05c1 c000b38d beq datatype_device1 ,g24_binding_dvc1_living 
-05c2 c0013393 beq datatype_device2 ,g24_binding_dvc2_living 
-05c3 20600000 rtn 
+05d0 6fe0c9ca fetch 1 ,mem_24g_rxdata_temp_new + 3 
+05d1 c000b38d beq datatype_device1 ,g24_binding_dvc1_living 
+05d2 c0013393 beq datatype_device2 ,g24_binding_dvc2_living 
+05d3 20600000 rtn 
               org 0x2000
 
 start:
Index: program/patch.prog
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(revision 3873)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/program/patch.prog	(working copy)
@@ -1274,7 +1274,7 @@
 	branch timer_init
 
 p_g24_http_over_pack_check:
-	fetch 1,mem_usb_http_data_step
+	fetch 1,mem_usb_website_step
 	rtn blank
 	branch p_dongle_usb_tx_http_data
 
@@ -1293,140 +1293,163 @@
 	beq USB_EP1_KB_HTTP,p_usb_tx_http_data_set
 	branch assert
 
+//=========================HTTP START======================//
 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 1,p_usb_tx_win_or_mac_check
-	beq 2,p_usb_tx_cmd_release
-	beq 3,p_usb_tx_ep1_data_enable
-	beq 4,p_usb_tx_ep1_data_enable
-	beq 5,p_usb_tx_ep1_data_enable
-	beq 20,p_usb_tx_data_h
-	beq 21,p_usb_tx_ep1_data_enable
-	beq 22,p_usb_tx_data_t
-	beq 23,p_usb_tx_ep1_data_enable
-	beq 24,p_usb_tx_data_t
-	beq 25,p_usb_tx_ep1_data_enable
-	beq 26,p_usb_tx_data_p
-	beq 27,p_usb_tx_ep1_data_enable
-	beq 28,p_usb_tx_data_s
-	beq 29,p_usb_tx_ep1_data_enable
-	beq 30,p_usb_tx_shift_data_set
-	beq 31,p_usb_tx_ep1_data_enable
-	beq 32,p_usb_tx_data_spec1
-	beq 33,p_usb_tx_ep1_data_enable
-	beq 34,p_usb_tx_data_spec1
-	beq 35,p_usb_tx_ep1_data_enable
-	beq 36,p_usb_tx_data_m
-	beq 37,p_usb_tx_ep1_data_enable
-	beq 38,p_usb_tx_data_o
-	beq 39,p_usb_tx_ep1_data_enable
-	beq 40,p_usb_tx_data_f
-	beq 41,p_usb_tx_ep1_data_enable
-	beq 42,p_usb_tx_data_i
-	beq 43,p_usb_tx_ep1_data_enable
-	beq 44,p_usb_tx_data_i
-	beq 45,p_usb_tx_ep1_data_enable
-	beq 46,p_usb_tx_data_spec2
-	beq 47,p_usb_tx_ep1_data_enable
-	beq 48,p_usb_tx_data_c
-	beq 49,p_usb_tx_ep1_data_enable
-	beq 50,p_usb_tx_data_o
-	beq 51,p_usb_tx_ep1_data_enable
-	beq 52,p_usb_tx_data_m
-	beq 53,p_usb_tx_ep1_data_enable
-	beq 54,p_usb_tx_data_spec1
-	beq 55,p_usb_tx_ep1_data_enable
-	beq 56,p_usb_tx_data_a
-	beq 57,p_usb_tx_ep1_data_enable
-	beq 58,p_usb_tx_data_i
-	beq 59,p_usb_tx_ep1_data_enable
-	beq 70,p_usb_tx_data_enter
-	beq 72,p_usb_tx_ep1_data_enable
-	beq 74,p_usb_tx_data_enter
-	beq 76,p_usb_tx_ep1_end
+	fetch 1,mem_usb_website_step
+	beq WEBSITE_WIN,p_usb_website_winr_data
+	beq WEBSITE_R_SPACE_RELEASE,p_usb_website_r_space_release_data
+	beq WEBSITE_WIN_RELEASE,p_usb_website_win_release_data
+	beq WEBSITE_WAIT,p_usb_website_wait_tx_data
+	beq WEBSITE_DATA,p_usb_website_data
+	beq WEBSITE_ENTER_1,p_usb_website_enter_data1
+	beq WEBSITE_ENTER_RELEASE_1,p_usb_website_enter_release_data1
+	beq WEBSITE_ENTER_2,p_usb_website_enter_data2
+	beq WEBSITE_ENTER_RELEASE_2,p_usb_website_enter_release_data2
 	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_win_http_data:
+p_usb_tx_winos_winr_data:
+	jam WEBSITE_R_SPACE_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
-
-p_usb_tx_mac_http_data:
+	branch usb_tx_kb_normal_data
+p_usb_tx_macos_winr_data:
+	jam WEBSITE_R_SPACE_RELEASE,mem_usb_website_step
 	fetch 3,mem_usb_mac_cmd
-	branch p_usb_kb_spec_data_store
+	store 3,mem_usb_kb_data
+	branch usb_tx_kb_normal_data
+p_usb_website_r_space_release_data:
+	jam WEBSITE_WIN_RELEASE,mem_usb_website_step
+	fetch 1,mem_usb_win_cmd
+	store 1,mem_usb_kb_data
+	branch usb_tx_kb_normal_data
+
+p_usb_website_win_release_data:
+	jam WEBSITE_WAIT,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_website_enter_data1:	
+	jam WEBSITE_ENTER_RELEASE_1,mem_usb_website_step
+p_usb_webstie_enter_data:
+	fetch 3,mem_usb_kb_enter
+	store 3,mem_usb_kb_data
+	branch usb_tx_kb_normal_data
+p_usb_website_enter_release_data1:
+	jam WEBSITE_ENTER_2,mem_usb_website_step
+	branch p_usb_webstie_release_data
+p_usb_website_enter_data2:
+	jam WEBSITE_ENTER_RELEASE_2,mem_usb_website_step
+	branch p_usb_webstie_enter_data
+p_usb_website_enter_release_data2:
+	jam WEBSITE_DONE,mem_usb_website_step
+	branch p_usb_webstie_release_data
 
-p_usb_tx_shift_data_set:		//":"
-	fetch 3,mem_usb_kb_shift
-	branch p_usb_kb_spec_data_store
-
-p_usb_tx_cmd_release:
-	jam 0x08,mem_usb_kb_data
-	branch p_usb_tx_ep1_data_enable
-
-p_usb_tx_data_h:
-	jam 0x0b,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-p_usb_tx_data_t:
-	jam 0x17,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-p_usb_tx_data_p:
-	jam 0x13,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-p_usb_tx_data_s:
-	jam 0x16,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-p_usb_tx_data_spec1:			//"//"
-	jam 0x38,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-p_usb_tx_data_m:
-	jam 0x10,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-p_usb_tx_data_o:
-	jam 0x12,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-p_usb_tx_data_f:
-	jam 0x09,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-p_usb_tx_data_i:
-	jam 0x0c,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-p_usb_tx_data_spec2:			//"."
-	jam 0x37,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-p_usb_tx_data_c:
-	jam 0x06,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-p_usb_tx_data_a:
-	jam 0x04,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-p_usb_tx_data_enter:
-	jam 0x28,mem_usb_kb_data+3
-	branch p_usb_tx_ep1_data_enable
-
-p_usb_tx_ep1_end:
-	jam 0,mem_usb_http_data_step
-	branch p_usb_tx_ep1_data_enable
+p_usb_website_wait_tx_data:
+	fetch 1,mem_usb_website_wait_count
+	increase 1,pdata
+	store 1,mem_usb_website_wait_count
+	rtnne WEBSITE_WAIT_COUNT
+	jam 0,mem_usb_website_wait_count
+	jam WEBSITE_DATA,mem_usb_website_step
+	rtn
+	
+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_webstie_info_data_done:
+	jam WEBSITE_ENTER_1,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+2
+	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
+	sub pdata,0x2d,null
+	branch p_usb_tx_website_acii2keycode_sign_2d,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_sign_2d:	//'-'
+	arg 0x2d,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
 
+//=========================HTTP END======================//
 
 p_usb_tx_data_ep2:
 	arg mem_usb_ep2_fifo,rega
@@ -1794,8 +1817,6 @@
 
 	fetch 1,mem_24g_pair_tx_power_init
 	store 1,mem_24g_pair_tx_power
-	jam 0,mem_usb_http_data_step
-	jam 0,mem_usb_tx_data_flag
 
 	jam ON,mem_24g_disable_fec1
 	call g24_enable_1M
Index: sched/dongle.dat
===================================================================
--- /1121s/branch/dongle/1m/usb_1m_mingjian/sched/dongle.dat	(revision 3873)
+++ /1121s/branch/dongle/1m/usb_1m_mingjian/sched/dongle.dat	(working copy)
@@ -63,10 +63,6 @@
 #mem_rssi_noise_device2_buffer_ptr:mem_dg_rssi_noise_kb_buffer
 
 
-mem_usb_win_cmd:08 00 15 	#win+r
-mem_usb_mac_cmd:08 00 2c 	#command+space
-mem_usb_kb_shift:02 00 33	#shift
-
 mem_config_new:
 42 09 02 42 00 02 01 00 A0 32 
 09 04 00 00 01 03 01 01 00 
@@ -146,6 +142,15 @@
 81 02 
 C0
 
+mem_usb_win_cmd:08 00 15 	#win+r
+mem_usb_mac_cmd:08 00 2c 	#command+space
+mem_usb_kb_enter:00 00 28	#shift
+mem_usb_website_ptr:mem_usb_website_info+1
+mem_usb_website_info:
+'https://mofii.com/ai
+mem_usb_website_info_sign:
+'~!@#$%^&*()_+{}|":>?<
+
 #mem_rf_debug_rx_gpio:87
 #mem_rf_debug_tx_gpio:88
 #uart config
