Index: do_sdk.bat
===================================================================
--- /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/do_sdk.bat	(revision 6205)
+++ /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/do_sdk.bat	(working copy)
@@ -23,7 +23,7 @@
 setlocal enabledelayedexpansion
 copy program\patch_sdk.prog + program\patch.prog  output\bt_program23.meta
 copy format\rom.format + format\labels.format + format\command.format  output\bt_format.meta > nul
-
+
 ::perl util/memalloc.pl output/bt_format.meta
 
 if "%device_option%" equ "hci" (
@@ -73,7 +73,7 @@
 perl ../util/mergepatch.pl mouse_ble_att_list usb_kbdata_vendor_define usb_kbdata usb_msdata usb_devicedata usb_confdata ble_shutter_gatt_list ble_shutter_key_value_list ble_car_att_list sha256 
 perl ../util/romcrc.pl romcode.rom
 perl  ../util/mergepatch.pl otp
-
+perl  ../util/otpcheck.pl
 
 if "%device_option%" equ "keyboard" (
 cd ..\output
Index: output/bt_program23.icode
===================================================================
--- /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/bt_program23.icode	(revision 6205)
+++ /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/bt_program23.icode	(working copy)
@@ -3,18 +3,18 @@
  00000002  0x00000014 beq  0x0000001a , 0x00000028 
  00000003  0x00000015 beq  0x00000025 , 0x00000048 
  00000004  0x00000016 beq  0x00000028 , 0x0000008c 
- 00000005  0x00000017 beq  0x0000003e , 0x00000226 
+ 00000005  0x00000017 beq  0x0000003e , 0x00000229 
  00000006  0x00000018 beq  0x00000040 , 0x000000c2 
- 00000007  0x00000019 beq  0x00000043 , 0x000001da 
- 00000008  0x0000001a beq  0x00000044 , 0x000002e9 
+ 00000007  0x00000019 beq  0x00000043 , 0x000001dd 
+ 00000008  0x0000001a beq  0x00000044 , 0x000002ec 
  00000009  0x0000001b beq  0x00000049 , 0x000000d6 
  00000010  0x0000001c beq  0x0000004c , 0x000000cd 
- 00000011  0x0000001d beq  0x00000056 , 0x00000225 
- 00000012  0x0000001e beq  0x0000005c , 0x0000024b 
- 00000013  0x0000001f beq  0x0000005e , 0x000001a2 
- 00000014  0x00000020 beq  0x0000006a , 0x00000236 
- 00000015  0x00000021 beq  0x0000007c , 0x000002d5 
- 00000016  0x00000022 beq  0x00000082 , 0x000002d7 
+ 00000011  0x0000001d beq  0x00000056 , 0x00000228 
+ 00000012  0x0000001e beq  0x0000005c , 0x0000024e 
+ 00000013  0x0000001f beq  0x0000005e , 0x000001a5 
+ 00000014  0x00000020 beq  0x0000006a , 0x00000239 
+ 00000015  0x00000021 beq  0x0000007c , 0x000002d8 
+ 00000016  0x00000022 beq  0x00000082 , 0x000002da 
  00000017  0x00000023 beq  0x000000e9 , 0x00000056 
  00000018  0x00000024 beq  0x000000ea , 0x00000045 
  00000019  0x00000025 beq  0x000000cf , 0x0000009b 
@@ -156,7 +156,7 @@
  00000155  0x000000d1 call  0x00003717 
  00000156  0x000000d2 call  0x00007384 
  00000157  0x000000d3 call  0x000000a0 
- 00000158  0x000000d4 call  0x000000fe 
+ 00000158  0x000000d4 call  0x00000100 
  00000159  0x000000d5 branch  0x00003eb1 
  00000160  0x000000db call  0x000000a7 
  00000161  0x000000dc rtn  0x0000002b 
@@ -169,7 +169,7 @@
  00000168  0x000000e4 copy  0x0000003f , 0x00000012 
  00000169  0x000000e5 arg  0x00000008 , 0x00000039 
  00000170  0x000000e7 ifetcht  0x00000001 , 0x00000012 
- 00000171  0x000000e8 call  0x000002f3 
+ 00000171  0x000000e8 call  0x000002f6 
  00000172  0x000000e9 increase  0x00000001 , 0x00000012 
  00000173  0x000000ea loop  0x000000aa 
  00000174  0x000000eb rtn 
@@ -203,14 +203,14 @@
  00000202  0x00000110 beq  0x00000000 , 0x00003fe1 
  00000203  0x00000111 beq  0x00000001 , 0x00003feb 
  00000204  0x00000112 rtn 
- 00000205  0x00000114 call  0x0000012f 
+ 00000205  0x00000114 call  0x00000131 
  00000206  0x00000115 call  0x000000d0 
  00000207  0x00000116 branch  0x000045b4 
  00000208  0x0000011a arg  0x0000494e , 0x00000011 
  00000209  0x0000011b arg  0x00004963 , 0x00000012 
  00000210  0x0000011c arg  0x00000014 , 0x00000039 
  00000211  0x0000011d call  0x00007d66 
- 00000212  0x0000011e nbranch  0x000000fb , 0x00000005 
+ 00000212  0x0000011e nbranch  0x000000fd , 0x00000005 
  00000213  0x0000011f branch  0x000043ba 
  00000214  0x00000122 call  0x000000d8 
  00000215  0x00000123 branch  0x000042de 
@@ -246,519 +246,522 @@
  00000245  0x00000147 branch  0x000000f0 
  00000246  0x0000014a fetch  0x00000001 , 0x00004c7a 
  00000247  0x0000014b rtn  0x00000034 
- 00000248  0x0000014c jam  0x00000001 , 0x00004094 
- 00000249  0x0000014d jam  0x00000000 , 0x00004c7a 
- 00000250  0x0000014e rtn 
- 00000251  0x00000151 jam  0x00000000 , 0x00004094 
- 00000252  0x00000152 jam  0x00000001 , 0x00004c7a 
- 00000253  0x00000153 branch  0x000043b1 
- 00000254  0x00000156 call  0x00007de6 
- 00000255  0x00000157 fetcht  0x00000001 , 0x0000490f 
- 00000256  0x00000158 call  0x00004f0a 
- 00000257  0x0000015a fetch  0x00000008 , 0x0000488e 
- 00000258  0x0000015b isolate1  0x0000000a , 0x0000003f 
- 00000259  0x0000015c call  0x0000012b , 0x00000001 
- 00000260  0x0000015e setarg  0x0000491f 
- 00000261  0x0000015f store  0x00000002 , 0x00004948 
- 00000262  0x00000161 setarg  0x00004927 
- 00000263  0x00000162 store  0x00000002 , 0x0000494a 
- 00000264  0x00000164 setarg  0x0000493c 
- 00000265  0x00000165 store  0x00000002 , 0x0000494c 
- 00000266  0x00000166 call  0x00000115 
- 00000267  0x00000167 call  0x000023e1 
- 00000268  0x00000168 fetch  0x00000002 , 0x0000494a 
- 00000269  0x00000169 copy  0x0000003f , 0x00000012 
- 00000270  0x0000016a arg  0x00000014 , 0x00000039 
- 00000271  0x0000016c ifetcht  0x00000001 , 0x00000012 
- 00000272  0x0000016d isolate1  0x00000007 , 0x00000002 
- 00000273  0x0000016e ncall  0x00006f0b , 0x00000001 
- 00000274  0x0000016f increase  0x00000001 , 0x00000012 
- 00000275  0x00000170 loop  0x00003f09 
- 00000276  0x00000171 rtn 
- 00000277  0x00000174 fetch  0x00000002 , 0x00004948 
- 00000278  0x00000175 copy  0x0000003f , 0x00000012 
- 00000279  0x00000176 arg  0x00000008 , 0x00000039 
- 00000280  0x00000178 ifetcht  0x00000001 , 0x00000012 
- 00000281  0x00000179 call  0x00006f0b 
- 00000282  0x0000017a call  0x0000011e 
- 00000283  0x0000017b increase  0x00000001 , 0x00000012 
- 00000284  0x0000017c loop  0x00000118 
- 00000285  0x0000017d rtn 
- 00000286  0x00000180 call  0x00006ec0 
- 00000287  0x00000181 sub  0x00000002 , 0x000000ff , 0x0000003e 
- 00000288  0x00000182 rtn  0x00000005 
- 00000289  0x00000183 arg  0x00000000 , 0x00000008 
- 00000290  0x00000184 call  0x00006e9c 
- 00000291  0x00000185 isolate0  0x00000000 , 0x00000002 
- 00000292  0x00000186 branch  0x00000126 , 0x00000001 
- 00000293  0x00000187 lshift4  0x00000008 , 0x00000008 
- 00000294  0x00000189 ifetch  0x00000001 , 0x00000005 
- 00000295  0x0000018a iand  0x00000030 , 0x0000003f 
- 00000296  0x0000018b ior  0x00000008 , 0x0000003f 
- 00000297  0x0000018c istore  0x00000001 , 0x00000005 
- 00000298  0x0000018d rtn 
- 00000299  0x00000190 fetch  0x00000001 , 0x00008142 
- 00000300  0x00000191 set0  0x00000003 , 0x0000003f 
- 00000301  0x00000192 store  0x00000001 , 0x00008142 
- 00000302  0x00000193 rtn 
- 00000303  0x00000196 call  0x000000fe 
- 00000304  0x00000197 setarg  0x00000000 
- 00000305  0x00000198 store  0x00000002 , 0x0000499e 
- 00000306  0x00000199 arg  0x0000494e , 0x00000006 
- 00000307  0x0000019a arg  0x00004963 , 0x00000005 
- 00000308  0x0000019b arg  0x00000014 , 0x00000039 
- 00000309  0x0000019c call  0x00007cdc 
- 00000310  0x0000019d call  0x000043af 
- 00000311  0x0000019e setarg  0x0000494e 
- 00000312  0x0000019f store  0x00000002 , 0x00004998 
- 00000313  0x000001a0 setarg  0x00004adc 
- 00000314  0x000001a1 store  0x00000002 , 0x0000499a 
- 00000315  0x000001a2 call  0x000043ad 
- 00000316  0x000001a3 call  0x000043ab 
- 00000317  0x000001a5 fetch  0x00000002 , 0x0000499e 
- 00000318  0x000001a6 increase  0x00000001 , 0x0000003f 
- 00000319  0x000001a7 store  0x00000002 , 0x0000499e 
- 00000320  0x000001a8 bbit1  0x00000009 , 0x0000012f 
- 00000321  0x000001a9 fetcht  0x00000001 , 0x00004911 
- 00000322  0x000001aa call  0x00006ee0 
- 00000323  0x000001ab nbranch  0x0000013d , 0x00000001 
- 00000324  0x000001ac call  0x000043af 
- 00000325  0x000001ae fetcht  0x00000001 , 0x00004911 
- 00000326  0x000001af call  0x00006ee0 
- 00000327  0x000001b0 branch  0x00000145 , 0x00000001 
- 00000328  0x000001b1 call  0x0000017d 
- 00000329  0x000001b2 call  0x0000016c 
- 00000330  0x000001b3 call  0x000043ab 
- 00000331  0x000001b4 call  0x000043ad 
- 00000332  0x000001b6 fetch  0x00000002 , 0x0000494c 
- 00000333  0x000001b7 copy  0x0000003f , 0x00000012 
- 00000334  0x000001b8 jam  0x00000000 , 0x0000499d 
- 00000335  0x000001ba ifetcht  0x00000001 , 0x00000012 
- 00000336  0x000001bb fetch  0x00000002 , 0x0000494a 
- 00000337  0x000001bc copy  0x0000003f , 0x00000011 
- 00000338  0x000001bd copy  0x00000011 , 0x00000013 
- 00000339  0x000001be arg  0x00000014 , 0x00000039 
- 00000340  0x000001c0 ifetch  0x00000001 , 0x00000011 
- 00000341  0x000001c1 isub  0x00000002 , 0x0000003e 
- 00000342  0x000001c2 branch  0x00004366 , 0x00000005 
- 00000343  0x000001c3 increase  0x00000001 , 0x00000011 
- 00000344  0x000001c4 loop  0x00000154 
- 00000345  0x000001c6 increase  0x00000001 , 0x00000012 
- 00000346  0x000001c7 fetch  0x00000001 , 0x0000499d 
- 00000347  0x000001c8 increase  0x00000001 , 0x0000003f 
- 00000348  0x000001c9 store  0x00000001 , 0x0000499d 
- 00000349  0x000001ca sub  0x0000003f , 0x0000000b , 0x0000003e 
- 00000350  0x000001cb branch  0x0000014f , 0x00000002 
- 00000351  0x000001cd branch  0x00000115 
- 00000352  0x000001d0 fetch  0x00000002 , 0x00004998 
- 00000353  0x000001d1 copy  0x0000003f , 0x00000005 
- 00000354  0x000001d2 copy  0x00000011 , 0x0000003f 
- 00000355  0x000001d3 isub  0x00000013 , 0x0000003f 
- 00000356  0x000001d4 iadd  0x00000005 , 0x00000005 
- 00000357  0x000001d5 fetch  0x00000002 , 0x0000499a 
- 00000358  0x000001d6 copy  0x0000003f , 0x00000013 
- 00000359  0x000001d7 fetch  0x00000001 , 0x0000499d 
- 00000360  0x000001d8 iadd  0x00000013 , 0x00000013 
- 00000361  0x000001d9 ifetch  0x00000001 , 0x00000013 
- 00000362  0x000001da istore  0x00000001 , 0x00000005 
- 00000363  0x000001db branch  0x00000159 
- 00000364  0x000001e0 fetch  0x00000002 , 0x0000494a 
- 00000365  0x000001e1 copy  0x0000003f , 0x00000012 
- 00000366  0x000001e2 jam  0x00000000 , 0x0000499d 
- 00000367  0x000001e4 jam  0x00000000 , 0x0000499c 
- 00000368  0x000001e5 ifetcht  0x00000001 , 0x00000012 
- 00000369  0x000001e6 isolate1  0x00000007 , 0x00000002 
- 00000370  0x000001e7 branch  0x00000177 , 0x00000001 
- 00000371  0x000001e8 call  0x00006ef1 
- 00000372  0x000001e9 call  0x00000191 
- 00000373  0x000001ea ifetcht  0x00000001 , 0x00000012 
- 00000374  0x000001eb call  0x00006f0b 
- 00000375  0x000001ee increase  0x00000001 , 0x00000012 
- 00000376  0x000001ef fetch  0x00000002 , 0x00004998 
- 00000377  0x000001f0 call  0x0000437d 
- 00000378  0x000001f1 sub  0x0000003f , 0x00000013 , 0x0000003e 
- 00000379  0x000001f2 branch  0x0000016f , 0x00000002 
- 00000380  0x000001f3 rtn 
- 00000381  0x000001f5 jam  0x00000000 , 0x0000499d 
- 00000382  0x000001f7 call  0x000043a9 
- 00000383  0x000001f9 call  0x00000185 
- 00000384  0x000001fa call  0x000043a7 
- 00000385  0x000001fc call  0x00000185 
- 00000386  0x000001fd sub  0x0000003f , 0x0000000b , 0x0000003e 
- 00000387  0x000001fe branch  0x0000017e , 0x00000002 
- 00000388  0x000001ff branch  0x000043a9 
- 00000389  0x00000202 jam  0x00000000 , 0x0000499c 
- 00000390  0x00000203 call  0x00000191 
- 00000391  0x00000204 fetch  0x00000002 , 0x0000499a 
- 00000392  0x00000206 copy  0x0000003f , 0x00000005 
- 00000393  0x00000207 fetch  0x00000001 , 0x0000499d 
- 00000394  0x00000208 iadd  0x00000005 , 0x00000005 
- 00000395  0x00000209 fetch  0x00000001 , 0x0000499c 
- 00000396  0x0000020a istore  0x00000001 , 0x00000005 
- 00000397  0x0000020b fetch  0x00000001 , 0x0000499d 
- 00000398  0x0000020c increase  0x00000001 , 0x0000003f 
- 00000399  0x0000020d store  0x00000001 , 0x0000499d 
- 00000400  0x0000020e rtn 
- 00000401  0x00000210 fetch  0x00000002 , 0x00004948 
- 00000402  0x00000211 copy  0x0000003f , 0x00000013 
- 00000403  0x00000212 arg  0x00000008 , 0x00000039 
- 00000404  0x00000214 ifetcht  0x00000001 , 0x00000013 
- 00000405  0x00000215 call  0x00006eed 
- 00000406  0x00000216 ifetcht  0x00000001 , 0x00000013 
- 00000407  0x00000217 call  0x00006f0b 
- 00000408  0x00000218 nop  0x000000f0 
- 00000409  0x00000219 ifetcht  0x00000001 , 0x00000013 
- 00000410  0x0000021a call  0x00006ee0 
- 00000411  0x0000021b fetch  0x00000001 , 0x0000499c 
- 00000412  0x0000021c rshift  0x0000003f , 0x0000003f 
- 00000413  0x0000021d setflag  0x00000001 , 0x00000007 , 0x0000003f 
- 00000414  0x0000021e store  0x00000001 , 0x0000499c 
- 00000415  0x0000021f increase  0x00000001 , 0x00000013 
- 00000416  0x00000220 loop  0x00000194 
- 00000417  0x00000221 rtn 
- 00000418  0x00000224 call  0x00007de6 
- 00000419  0x00000226 fetcht  0x00000001 , 0x0000490f 
- 00000420  0x00000227 call  0x00006eac 
- 00000421  0x00000229 fetch  0x00000002 , 0x0000494a 
- 00000422  0x0000022a copy  0x0000003f , 0x00000012 
- 00000423  0x0000022b arg  0x00000014 , 0x00000039 
- 00000424  0x0000022d ifetcht  0x00000001 , 0x00000012 
- 00000425  0x0000022e isolate1  0x00000007 , 0x00000002 
- 00000426  0x0000022f ncall  0x00006ef1 , 0x00000001 
- 00000427  0x00000230 increase  0x00000001 , 0x00000012 
- 00000428  0x00000231 loop  0x000001a8 
- 00000429  0x00000233 call  0x00003f1b 
- 00000430  0x00000234 jam  0x00000000 , 0x0000488c 
- 00000431  0x00000236 fetch  0x00000002 , 0x00004948 
- 00000432  0x00000237 copy  0x0000003f , 0x00000012 
- 00000433  0x00000238 arg  0x00000008 , 0x00000039 
- 00000434  0x0000023a ifetcht  0x00000001 , 0x00000012 
- 00000435  0x0000023b sub  0x00000002 , 0x000000ff , 0x0000003e 
- 00000436  0x0000023c ncall  0x000001bf , 0x00000005 
- 00000437  0x0000023d ifetcht  0x00000001 , 0x00000012 
- 00000438  0x0000023e call  0x00006f0b 
- 00000439  0x0000023f increase  0x00000001 , 0x00000012 
- 00000440  0x00000240 loop  0x000001b2 
- 00000441  0x00000242 call  0x00006f4b 
- 00000442  0x00000243 call  0x000023e1 
- 00000443  0x00000244 fetcht  0x00000001 , 0x00004666 
- 00000444  0x00000245 call  0x00004f0a 
- 00000445  0x00000246 call  0x00004f0e 
- 00000446  0x00000247 branch  0x000040dd 
- 00000447  0x0000024a fetch  0x00000001 , 0x000049a0 
- 00000448  0x0000024b branch  0x00006eac , 0x00000034 
- 00000449  0x0000024d branch  0x00006ea5 
- 00000450  0x00000250 sub  0x00000002 , 0x000000ff , 0x0000003e 
- 00000451  0x00000251 rtn  0x00000005 
- 00000452  0x00000252 arg  0x00000003 , 0x00000008 
- 00000453  0x00000253 call  0x00006e9c 
- 00000454  0x00000254 isolate0  0x00000000 , 0x00000002 
- 00000455  0x00000255 branch  0x000001c9 , 0x00000001 
- 00000456  0x00000256 lshift4  0x00000008 , 0x00000008 
- 00000457  0x00000258 ifetch  0x00000001 , 0x00000005 
- 00000458  0x00000259 iand  0x00000030 , 0x0000003f 
- 00000459  0x0000025a ior  0x00000008 , 0x0000003f 
- 00000460  0x0000025b istore  0x00000001 , 0x00000005 
- 00000461  0x0000025c rtn 
- 00000462  0x0000025e fetch  0x00000001 , 0x00004ac2 
- 00000463  0x0000025f rtn  0x00000034 
- 00000464  0x00000260 increase  0xffffffff , 0x0000003f 
- 00000465  0x00000261 store  0x00000001 , 0x00004ac2 
- 00000466  0x00000263 fetch  0x00000008 , 0x0000488e 
- 00000467  0x00000264 bbit1  0x00000028 , 0x000001d7 
- 00000468  0x00000265 fetch  0x00000001 , 0x00004ac2 
- 00000469  0x00000266 branch  0x00004166 , 0x00000034 
- 00000470  0x00000267 branch  0x0000416c 
- 00000471  0x0000026a fetch  0x00000001 , 0x00004ac2 
- 00000472  0x0000026b branch  0x0000413c , 0x00000034 
- 00000473  0x0000026c branch  0x0000413a 
- 00000474  0x0000026f call  0x000040e0 
- 00000475  0x00000270 call  0x000040cc 
- 00000476  0x00000271 call  0x000040dd 
- 00000477  0x00000274 call  0x00004100 
- 00000478  0x00000275 call  0x00004186 
- 00000479  0x00000276 call  0x000041ab 
- 00000480  0x00000277 call  0x000001ce 
- 00000481  0x00000278 call  0x0000413e 
- 00000482  0x00000279 call  0x00004146 
- 00000483  0x0000027b call  0x000001f7 
- 00000484  0x0000027c call  0x0000428f 
- 00000485  0x0000027d call  0x000042c4 
- 00000486  0x00000280 call  0x0000326c 
- 00000487  0x00000281 call  0x00003507 
- 00000488  0x00000282 call  0x000058f6 
- 00000489  0x00000283 call  0x000042b5 
- 00000490  0x00000284 call  0x000042bf 
- 00000491  0x00000287 call  0x00004299 
- 00000492  0x00000288 call  0x000042a4 
- 00000493  0x00000289 call  0x0000550d 
- 00000494  0x0000028a call  0x000042ad 
- 00000495  0x0000028b call  0x00005510 
- 00000496  0x0000028c call  0x000042b2 
- 00000497  0x0000028d call  0x000042a1 
- 00000498  0x0000028f call  0x00005527 
- 00000499  0x00000290 call  0x0000429e 
- 00000500  0x00000291 call  0x000042c9 
- 00000501  0x00000292 call  0x000042cc 
- 00000502  0x00000293 branch  0x000042d5 
- 00000503  0x00000296 fetch  0x00000001 , 0x000048a6 
- 00000504  0x00000297 bbit1  0x00000000 , 0x000001fd 
- 00000505  0x00000298 call  0x00000215 
- 00000506  0x00000299 fetch  0x00000001 , 0x000048a6 
- 00000507  0x0000029a bbit1  0x00000001 , 0x00000209 
- 00000508  0x0000029b branch  0x0000021b 
- 00000509  0x0000029e fetch  0x00000001 , 0x000048a9 
- 00000510  0x0000029f sub  0x0000003f , 0x00000064 , 0x0000003e 
- 00000511  0x000002a0 nrtn  0x00000002 
- 00000512  0x000002a1 increase  0x00000001 , 0x0000003f 
- 00000513  0x000002a2 store  0x00000001 , 0x000048a9 
- 00000514  0x000002a3 rtnne  0x00000019 
- 00000515  0x000002a4 jam  0x00000000 , 0x000048a7 
- 00000516  0x000002a5 fetch  0x00000001 , 0x00004678 
- 00000517  0x000002a6 rtneq  0x00000004 
- 00000518  0x000002a7 call  0x00000221 
- 00000519  0x000002a8 call  0x000048e6 
- 00000520  0x000002a9 branch  0x00004680 
- 00000521  0x000002ac fetch  0x00000001 , 0x000048aa 
- 00000522  0x000002ad sub  0x0000003f , 0x00000064 , 0x0000003e 
- 00000523  0x000002ae nrtn  0x00000002 
- 00000524  0x000002af increase  0x00000001 , 0x0000003f 
- 00000525  0x000002b0 store  0x00000001 , 0x000048aa 
- 00000526  0x000002b1 rtnne  0x00000019 
- 00000527  0x000002b2 jam  0x00000000 , 0x000048a8 
- 00000528  0x000002b3 fetch  0x00000001 , 0x00004678 
- 00000529  0x000002b4 rtneq  0x00000004 
- 00000530  0x000002b5 call  0x00000221 
- 00000531  0x000002b6 call  0x00006824 
- 00000532  0x000002b7 branch  0x00004675 
- 00000533  0x000002bb jam  0x00000000 , 0x000048a9 
- 00000534  0x000002bc fetch  0x00000001 , 0x000048a7 
- 00000535  0x000002bd rtn  0x00000034 
- 00000536  0x000002be jam  0x00000000 , 0x000048a7 
- 00000537  0x000002bf call  0x00000221 
- 00000538  0x000002c0 branch  0x00006c99 
- 00000539  0x000002c3 jam  0x00000000 , 0x000048aa 
- 00000540  0x000002c4 fetch  0x00000001 , 0x000048a8 
- 00000541  0x000002c5 rtn  0x00000034 
- 00000542  0x000002c6 jam  0x00000000 , 0x000048a8 
- 00000543  0x000002c7 call  0x00004045 
- 00000544  0x000002c8 branch  0x00006c99 
- 00000545  0x000002cb fetch  0x00000008 , 0x0000488e 
- 00000546  0x000002cc bbit1  0x0000000f , 0x00005594 
- 00000547  0x000002cd bbit1  0x0000000e , 0x00004045 
- 00000548  0x000002ce rtn 
- 00000549  0x000002d1 branch  0x00004677 
- 00000550  0x000002d5 fetch  0x00000008 , 0x0000488e 
- 00000551  0x000002d7 bbit1  0x0000000f , 0x00003f31 
- 00000552  0x000002d8 branch  0x00003ec8 
- 00000553  0x000002db fetch  0x00000008 , 0x0000488e 
- 00000554  0x000002dc bbit0  0x0000003d , 0x00000230 
- 00000555  0x000002dd fetcht  0x00000001 , 0x00004440 
- 00000556  0x000002de call  0x00004f0a 
- 00000557  0x000002df fetcht  0x00000001 , 0x00004440 
- 00000558  0x000002e0 call  0x00006ee0 
- 00000559  0x000002e1 branch  0x00000229 , 0x00000001 
- 00000560  0x000002e3 call  0x00004049 
- 00000561  0x000002e4 arg  0x00000080 , 0x00000002 
- 00000562  0x000002e5 arg  0x00004678 , 0x00000011 
- 00000563  0x000002e6 arg  0x00000000 , 0x00000012 
- 00000564  0x000002e7 call  0x00006cd7 
- 00000565  0x000002e8 branch  0x00003fa2 
- 00000566  0x000002eb copy  0x00000011 , 0x00000006 
- 00000567  0x000002ec ifetch  0x00000003 , 0x00000006 
- 00000568  0x000002ed store  0x00000003 , 0x0000439b 
- 00000569  0x000002ee beq  0x00000001 , 0x00004919 
- 00000570  0x000002ef beq  0x00000007 , 0x0000495c 
- 00000571  0x000002f0 beq  0x00000009 , 0x00004938 
- 00000572  0x000002f1 beq  0x0000000b , 0x00004952 
- 00000573  0x000002f2 beq  0x00000008 , 0x00004971 
- 00000574  0x000002f3 beq  0x0000000c , 0x00000243 
- 00000575  0x000002f4 beq  0x0000000a , 0x0000499f 
- 00000576  0x000002f5 beq  0x00000012 , 0x000049c5 
- 00000577  0x000002f6 beq  0x00000052 , 0x000049cb 
- 00000578  0x000002f7 branch  0x00002b76 
- 00000579  0x000002fa ifetch  0x00000002 , 0x00000006 
- 00000580  0x000002fb store  0x00000002 , 0x00000693 
- 00000581  0x000002fc iforce  0x00000011 
- 00000582  0x000002fd fetcht  0x00000002 , 0x0000439c 
- 00000583  0x000002fe fetch  0x00000002 , 0x00004334 
- 00000584  0x000002ff isub  0x00000002 , 0x0000003e 
- 00000585  0x00000300 nbranch  0x00002d2e , 0x00000005 
- 00000586  0x00000304 branch  0x00004999 
- 00000587  0x00000308 copy  0x00000002 , 0x0000003f 
- 00000588  0x00000309 jam  0x00000005 , 0x00004a6f 
- 00000589  0x0000030a fetcht  0x00000001 , 0x000049a6 
- 00000590  0x0000030b sub  0x00000002 , 0x00000000 , 0x0000003e 
- 00000591  0x0000030c branch  0x0000474b , 0x00000005 
- 00000592  0x0000030d beq  0x000000e8 , 0x00000269 
- 00000593  0x0000030e beq  0x000000e9 , 0x0000026f 
- 00000594  0x0000030f beq  0x000000ea , 0x00000273 
- 00000595  0x00000310 beq  0x000000eb , 0x00000277 
- 00000596  0x00000311 beq  0x000000ec , 0x0000027b 
- 00000597  0x00000312 beq  0x000000ed , 0x0000027f 
- 00000598  0x00000313 beq  0x000000ee , 0x00000283 
- 00000599  0x00000314 beq  0x000000ef , 0x00000287 
- 00000600  0x00000316 beq  0x000000f0 , 0x0000028b 
- 00000601  0x00000317 beq  0x000000f1 , 0x0000028f 
- 00000602  0x00000318 beq  0x000000f2 , 0x00000293 
- 00000603  0x00000319 beq  0x000000f3 , 0x00000297 
- 00000604  0x0000031a beq  0x000000f4 , 0x0000029b 
- 00000605  0x0000031b beq  0x000000f5 , 0x0000029f 
- 00000606  0x0000031c beq  0x000000f6 , 0x000002a6 
- 00000607  0x0000031d beq  0x000000f7 , 0x000002aa 
- 00000608  0x0000031f beq  0x000000f8 , 0x000002b2 
- 00000609  0x00000320 beq  0x000000f9 , 0x000002b6 
- 00000610  0x00000321 beq  0x000000fa , 0x000002ba 
- 00000611  0x00000323 beq  0x000000fb , 0x000002be 
- 00000612  0x00000324 beq  0x000000fc , 0x000002c2 
- 00000613  0x00000325 beq  0x000000fd , 0x000002c6 
- 00000614  0x00000326 beq  0x000000fe , 0x000002ca 
- 00000615  0x00000328 beq  0x000000ff , 0x000002ce 
- 00000616  0x00000329 branch  0x000046e6 
- 00000617  0x0000032c fetch  0x00000001 , 0x00004678 
- 00000618  0x0000032d bne  0x00000000 , 0x00004715 
- 00000619  0x0000032e setarg  0x00000183 
- 00000620  0x00000331 store  0x00000002 , 0x00004a70 
- 00000621  0x00000332 jam  0x00000003 , 0x00004a6f 
- 00000622  0x00000333 branch  0x000046e6 
- 00000623  0x00000336 fetch  0x00000001 , 0x00004678 
- 00000624  0x00000337 bne  0x00000000 , 0x00004718 
- 00000625  0x00000338 setarg  0x000000ea 
- 00000626  0x00000339 branch  0x0000026c 
- 00000627  0x0000033c fetch  0x00000001 , 0x00004678 
- 00000628  0x0000033d bne  0x00000000 , 0x0000471a 
- 00000629  0x0000033e setarg  0x000000e9 
- 00000630  0x0000033f branch  0x0000026c 
- 00000631  0x00000342 fetch  0x00000001 , 0x00004678 
- 00000632  0x00000343 bne  0x00000000 , 0x0000471c 
- 00000633  0x00000344 setarg  0x000000e2 
- 00000634  0x00000345 branch  0x0000026c 
- 00000635  0x00000348 fetch  0x00000001 , 0x00004678 
- 00000636  0x00000349 bne  0x00000000 , 0x0000471e 
- 00000637  0x0000034a setarg  0x000000b6 
- 00000638  0x0000034b branch  0x0000026c 
- 00000639  0x0000034e fetch  0x00000001 , 0x00004678 
- 00000640  0x0000034f bne  0x00000000 , 0x00004720 
- 00000641  0x00000350 setarg  0x000000b5 
- 00000642  0x00000351 branch  0x0000026c 
- 00000643  0x00000354 fetch  0x00000001 , 0x00004678 
- 00000644  0x00000355 bne  0x00000000 , 0x00004722 
- 00000645  0x00000356 setarg  0x000000cd 
- 00000646  0x00000357 branch  0x0000026c 
- 00000647  0x0000035a fetch  0x00000001 , 0x00004678 
- 00000648  0x0000035b bne  0x00000000 , 0x00004724 
- 00000649  0x0000035c setarg  0x000000b7 
- 00000650  0x0000035d branch  0x0000026c 
- 00000651  0x00000360 fetch  0x00000001 , 0x00004678 
- 00000652  0x00000361 bne  0x00000000 , 0x00004726 
- 00000653  0x00000362 setarg  0x00000223 
- 00000654  0x00000363 branch  0x0000026c 
- 00000655  0x00000366 fetch  0x00000001 , 0x00004678 
- 00000656  0x00000367 bne  0x00000000 , 0x00004728 
- 00000657  0x00000368 setarg  0x0000018a 
- 00000658  0x00000369 branch  0x0000026c 
- 00000659  0x0000036c fetch  0x00000001 , 0x00004678 
- 00000660  0x0000036d bne  0x00000000 , 0x0000472a 
- 00000661  0x0000036e setarg  0x00000194 
- 00000662  0x0000036f branch  0x0000026c 
- 00000663  0x00000372 fetch  0x00000001 , 0x00004678 
- 00000664  0x00000373 bne  0x00000000 , 0x0000472c 
- 00000665  0x00000374 setarg  0x0000022a 
- 00000666  0x00000375 branch  0x0000026c 
- 00000667  0x00000378 fetch  0x00000001 , 0x00004678 
- 00000668  0x00000379 bne  0x00000000 , 0x0000472e 
- 00000669  0x0000037a setarg  0x00000192 
- 00000670  0x0000037b branch  0x0000026c 
- 00000671  0x0000037e fetch  0x00000001 , 0x00004678 
- 00000672  0x0000037f bne  0x00000000 , 0x00004730 
- 00000673  0x00000380 fetch  0x00000001 , 0x00004aa1 
- 00000674  0x00000381 beq  0x00000002 , 0x0000028b 
- 00000675  0x00000382 beq  0x00000003 , 0x0000028b 
- 00000676  0x00000383 setarg  0x00000221 
- 00000677  0x00000384 branch  0x0000026c 
- 00000678  0x00000387 fetch  0x00000001 , 0x00004678 
- 00000679  0x00000388 bne  0x00000000 , 0x00004732 
- 00000680  0x00000389 setarg  0x00000224 
- 00000681  0x0000038a branch  0x0000026c 
- 00000682  0x0000038d fetch  0x00000001 , 0x00004678 
- 00000683  0x0000038e bne  0x00000000 , 0x00004737 
- 00000684  0x0000038f fetch  0x00000001 , 0x00004aa1 
- 00000685  0x00000390 beq  0x00000001 , 0x000002b0 
- 00000686  0x00000391 setarg  0x000001ae 
- 00000687  0x00000392 branch  0x0000026c 
- 00000688  0x00000395 setarg  0x00000307 
- 00000689  0x00000396 branch  0x0000026c 
- 00000690  0x00000399 fetch  0x00000001 , 0x00004678 
- 00000691  0x0000039a bne  0x00000000 , 0x0000473d 
- 00000692  0x0000039b setarg  0x00000070 
- 00000693  0x0000039c branch  0x0000026c 
- 00000694  0x0000039f fetch  0x00000001 , 0x00004678 
- 00000695  0x000003a0 bne  0x00000000 , 0x0000473f 
- 00000696  0x000003a1 setarg  0x0000006f 
- 00000697  0x000003a2 branch  0x0000026c 
- 00000698  0x000003a5 fetch  0x00000001 , 0x00004678 
- 00000699  0x000003a6 bne  0x00000000 , 0x00004741 
- 00000700  0x000003a7 setarg  0x00000030 
- 00000701  0x000003a8 branch  0x0000026c 
- 00000702  0x000003ab fetch  0x00000001 , 0x00004678 
- 00000703  0x000003ac bne  0x00000000 , 0x00004743 
- 00000704  0x000003ad setarg  0x000000b8 
- 00000705  0x000003ae branch  0x0000026c 
- 00000706  0x000003b1 fetch  0x00000001 , 0x00004678 
- 00000707  0x000003b2 bne  0x00000000 , 0x00004745 
- 00000708  0x000003b3 setarg  0x00000225 
- 00000709  0x000003b4 branch  0x0000026c 
- 00000710  0x000003b7 fetch  0x00000001 , 0x00004678 
- 00000711  0x000003b8 bne  0x00000000 , 0x00004747 
- 00000712  0x000003b9 setarg  0x00000226 
- 00000713  0x000003ba branch  0x0000026c 
- 00000714  0x000003bd fetch  0x00000001 , 0x00004678 
- 00000715  0x000003be bne  0x00000000 , 0x00004749 
- 00000716  0x000003bf setarg  0x00000227 
- 00000717  0x000003c0 branch  0x0000026c 
- 00000718  0x000003c3 fetch  0x00000001 , 0x00004678 
- 00000719  0x000003c4 bne  0x00000000 , 0x00004752 
- 00000720  0x000003c5 jam  0x00000002 , 0x00004a6f 
- 00000721  0x000003c6 setarg  0x00000002 
- 00000722  0x000003c7 store  0x00000001 , 0x00004a70 
- 00000723  0x000003c8 branch  0x000046e6 
- 00000724  0x000003c9 beq  0x000000ed , 0x00004720 
- 00000725  0x000003cd call  0x000047b3 
- 00000726  0x000003ce branch  0x0000379c 
- 00000727  0x000003d2 ifetch  0x00000008 , 0x00000011 
- 00000728  0x000003d3 store  0x00000008 , 0x0000064e 
- 00000729  0x000003d5 call  0x00007057 
- 00000730  0x000003d6 call  0x000002e3 
- 00000731  0x000003d7 fetch  0x00000002 , 0x00000654 
- 00000732  0x000003d8 fetcht  0x00000002 , 0x00000650 
- 00000733  0x000003d9 isub  0x00000002 , 0x0000003e 
- 00000734  0x000003da ncall  0x00007054 , 0x00000002 
- 00000735  0x000003db fetcht  0x00000002 , 0x00000652 
- 00000736  0x000003dc isub  0x00000002 , 0x0000003e 
- 00000737  0x000003dd ncall  0x000002e6 , 0x00000002 
- 00000738  0x000003de branch  0x00004ed0 
- 00000739  0x000003e1 fetcht  0x00000001 , 0x00004422 
- 00000740  0x000003e2 set0  0x00000000 , 0x00000002 
- 00000741  0x000003e3 branch  0x00007059 
- 00000742  0x000003e6 fetcht  0x00000001 , 0x00004422 
- 00000743  0x000003e7 set1  0x00000000 , 0x00000002 
- 00000744  0x000003e8 branch  0x00007059 
- 00000745  0x000003eb fetch  0x00000001 , 0x000048b1 
- 00000746  0x000003ec beq  0x00000000 , 0x00004098 
- 00000747  0x000003ed beq  0x00000001 , 0x0000409d 
- 00000748  0x000003ee beq  0x00000002 , 0x000002ee 
- 00000749  0x000003ef branch  0x00004098 
- 00000750  0x000003f2 setarg  0x002c1270 
- 00000751  0x000003f3 store  0x00000003 , 0x000048ab 
- 00000752  0x000003f4 setarg  0x00014001 
- 00000753  0x000003f5 istore  0x00000003 , 0x00000005 
- 00000754  0x000003f6 rtn 
- 00000755  0x000003fa arg  0x00008049 , 0x00000005 
- 00000756  0x000003fb and  0x00000002 , 0x00000007 , 0x00000007 
- 00000757  0x000003fc rshift3  0x00000002 , 0x0000003f 
- 00000758  0x000003fd and_into  0x00000003 , 0x0000003f 
- 00000759  0x000003fe iadd  0x00000005 , 0x00000005 
- 00000760  0x000003ff ifetch  0x00000001 , 0x00000005 
- 00000761  0x00000400 qset1  0x0000003f 
- 00000762  0x00000401 istore  0x00000001 , 0x00000005 
- 00000763  0x00000402 rtn 
+ 00000248  0x0000014c fetch  0x00000001 , 0x0000474f 
+ 00000249  0x0000014d beq  0x000000ff , 0x000000fb 
+ 00000250  0x0000014e jam  0x00000001 , 0x00004094 
+ 00000251  0x00000150 jam  0x00000000 , 0x00004c7a 
+ 00000252  0x00000151 rtn 
+ 00000253  0x00000154 jam  0x00000000 , 0x00004094 
+ 00000254  0x00000155 jam  0x00000001 , 0x00004c7a 
+ 00000255  0x00000156 branch  0x000043b1 
+ 00000256  0x00000159 call  0x00007de6 
+ 00000257  0x0000015a fetcht  0x00000001 , 0x0000490f 
+ 00000258  0x0000015b call  0x00004f0a 
+ 00000259  0x0000015d fetch  0x00000008 , 0x0000488e 
+ 00000260  0x0000015e isolate1  0x0000000a , 0x0000003f 
+ 00000261  0x0000015f call  0x0000012d , 0x00000001 
+ 00000262  0x00000161 setarg  0x0000491f 
+ 00000263  0x00000162 store  0x00000002 , 0x00004948 
+ 00000264  0x00000164 setarg  0x00004927 
+ 00000265  0x00000165 store  0x00000002 , 0x0000494a 
+ 00000266  0x00000167 setarg  0x0000493c 
+ 00000267  0x00000168 store  0x00000002 , 0x0000494c 
+ 00000268  0x00000169 call  0x00000117 
+ 00000269  0x0000016a call  0x000023e1 
+ 00000270  0x0000016b fetch  0x00000002 , 0x0000494a 
+ 00000271  0x0000016c copy  0x0000003f , 0x00000012 
+ 00000272  0x0000016d arg  0x00000014 , 0x00000039 
+ 00000273  0x0000016f ifetcht  0x00000001 , 0x00000012 
+ 00000274  0x00000170 isolate1  0x00000007 , 0x00000002 
+ 00000275  0x00000171 ncall  0x00006f0b , 0x00000001 
+ 00000276  0x00000172 increase  0x00000001 , 0x00000012 
+ 00000277  0x00000173 loop  0x00003f09 
+ 00000278  0x00000174 rtn 
+ 00000279  0x00000177 fetch  0x00000002 , 0x00004948 
+ 00000280  0x00000178 copy  0x0000003f , 0x00000012 
+ 00000281  0x00000179 arg  0x00000008 , 0x00000039 
+ 00000282  0x0000017b ifetcht  0x00000001 , 0x00000012 
+ 00000283  0x0000017c call  0x00006f0b 
+ 00000284  0x0000017d call  0x00000120 
+ 00000285  0x0000017e increase  0x00000001 , 0x00000012 
+ 00000286  0x0000017f loop  0x0000011a 
+ 00000287  0x00000180 rtn 
+ 00000288  0x00000183 call  0x00006ec0 
+ 00000289  0x00000184 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00000290  0x00000185 rtn  0x00000005 
+ 00000291  0x00000186 arg  0x00000000 , 0x00000008 
+ 00000292  0x00000187 call  0x00006e9c 
+ 00000293  0x00000188 isolate0  0x00000000 , 0x00000002 
+ 00000294  0x00000189 branch  0x00000128 , 0x00000001 
+ 00000295  0x0000018a lshift4  0x00000008 , 0x00000008 
+ 00000296  0x0000018c ifetch  0x00000001 , 0x00000005 
+ 00000297  0x0000018d iand  0x00000030 , 0x0000003f 
+ 00000298  0x0000018e ior  0x00000008 , 0x0000003f 
+ 00000299  0x0000018f istore  0x00000001 , 0x00000005 
+ 00000300  0x00000190 rtn 
+ 00000301  0x00000193 fetch  0x00000001 , 0x00008142 
+ 00000302  0x00000194 set0  0x00000003 , 0x0000003f 
+ 00000303  0x00000195 store  0x00000001 , 0x00008142 
+ 00000304  0x00000196 rtn 
+ 00000305  0x00000199 call  0x00000100 
+ 00000306  0x0000019a setarg  0x00000000 
+ 00000307  0x0000019b store  0x00000002 , 0x0000499e 
+ 00000308  0x0000019c arg  0x0000494e , 0x00000006 
+ 00000309  0x0000019d arg  0x00004963 , 0x00000005 
+ 00000310  0x0000019e arg  0x00000014 , 0x00000039 
+ 00000311  0x0000019f call  0x00007cdc 
+ 00000312  0x000001a0 call  0x000043af 
+ 00000313  0x000001a1 setarg  0x0000494e 
+ 00000314  0x000001a2 store  0x00000002 , 0x00004998 
+ 00000315  0x000001a3 setarg  0x00004adc 
+ 00000316  0x000001a4 store  0x00000002 , 0x0000499a 
+ 00000317  0x000001a5 call  0x000043ad 
+ 00000318  0x000001a6 call  0x000043ab 
+ 00000319  0x000001a8 fetch  0x00000002 , 0x0000499e 
+ 00000320  0x000001a9 increase  0x00000001 , 0x0000003f 
+ 00000321  0x000001aa store  0x00000002 , 0x0000499e 
+ 00000322  0x000001ab bbit1  0x00000009 , 0x00000131 
+ 00000323  0x000001ac fetcht  0x00000001 , 0x00004911 
+ 00000324  0x000001ad call  0x00006ee0 
+ 00000325  0x000001ae nbranch  0x0000013f , 0x00000001 
+ 00000326  0x000001af call  0x000043af 
+ 00000327  0x000001b1 fetcht  0x00000001 , 0x00004911 
+ 00000328  0x000001b2 call  0x00006ee0 
+ 00000329  0x000001b3 branch  0x00000147 , 0x00000001 
+ 00000330  0x000001b4 call  0x0000017f 
+ 00000331  0x000001b5 call  0x0000016e 
+ 00000332  0x000001b6 call  0x000043ab 
+ 00000333  0x000001b7 call  0x000043ad 
+ 00000334  0x000001b9 fetch  0x00000002 , 0x0000494c 
+ 00000335  0x000001ba copy  0x0000003f , 0x00000012 
+ 00000336  0x000001bb jam  0x00000000 , 0x0000499d 
+ 00000337  0x000001bd ifetcht  0x00000001 , 0x00000012 
+ 00000338  0x000001be fetch  0x00000002 , 0x0000494a 
+ 00000339  0x000001bf copy  0x0000003f , 0x00000011 
+ 00000340  0x000001c0 copy  0x00000011 , 0x00000013 
+ 00000341  0x000001c1 arg  0x00000014 , 0x00000039 
+ 00000342  0x000001c3 ifetch  0x00000001 , 0x00000011 
+ 00000343  0x000001c4 isub  0x00000002 , 0x0000003e 
+ 00000344  0x000001c5 branch  0x00004366 , 0x00000005 
+ 00000345  0x000001c6 increase  0x00000001 , 0x00000011 
+ 00000346  0x000001c7 loop  0x00000156 
+ 00000347  0x000001c9 increase  0x00000001 , 0x00000012 
+ 00000348  0x000001ca fetch  0x00000001 , 0x0000499d 
+ 00000349  0x000001cb increase  0x00000001 , 0x0000003f 
+ 00000350  0x000001cc store  0x00000001 , 0x0000499d 
+ 00000351  0x000001cd sub  0x0000003f , 0x0000000b , 0x0000003e 
+ 00000352  0x000001ce branch  0x00000151 , 0x00000002 
+ 00000353  0x000001d0 branch  0x00000117 
+ 00000354  0x000001d3 fetch  0x00000002 , 0x00004998 
+ 00000355  0x000001d4 copy  0x0000003f , 0x00000005 
+ 00000356  0x000001d5 copy  0x00000011 , 0x0000003f 
+ 00000357  0x000001d6 isub  0x00000013 , 0x0000003f 
+ 00000358  0x000001d7 iadd  0x00000005 , 0x00000005 
+ 00000359  0x000001d8 fetch  0x00000002 , 0x0000499a 
+ 00000360  0x000001d9 copy  0x0000003f , 0x00000013 
+ 00000361  0x000001da fetch  0x00000001 , 0x0000499d 
+ 00000362  0x000001db iadd  0x00000013 , 0x00000013 
+ 00000363  0x000001dc ifetch  0x00000001 , 0x00000013 
+ 00000364  0x000001dd istore  0x00000001 , 0x00000005 
+ 00000365  0x000001de branch  0x0000015b 
+ 00000366  0x000001e3 fetch  0x00000002 , 0x0000494a 
+ 00000367  0x000001e4 copy  0x0000003f , 0x00000012 
+ 00000368  0x000001e5 jam  0x00000000 , 0x0000499d 
+ 00000369  0x000001e7 jam  0x00000000 , 0x0000499c 
+ 00000370  0x000001e8 ifetcht  0x00000001 , 0x00000012 
+ 00000371  0x000001e9 isolate1  0x00000007 , 0x00000002 
+ 00000372  0x000001ea branch  0x00000179 , 0x00000001 
+ 00000373  0x000001eb call  0x00006ef1 
+ 00000374  0x000001ec call  0x00000193 
+ 00000375  0x000001ed ifetcht  0x00000001 , 0x00000012 
+ 00000376  0x000001ee call  0x00006f0b 
+ 00000377  0x000001f1 increase  0x00000001 , 0x00000012 
+ 00000378  0x000001f2 fetch  0x00000002 , 0x00004998 
+ 00000379  0x000001f3 call  0x0000437d 
+ 00000380  0x000001f4 sub  0x0000003f , 0x00000013 , 0x0000003e 
+ 00000381  0x000001f5 branch  0x00000171 , 0x00000002 
+ 00000382  0x000001f6 rtn 
+ 00000383  0x000001f8 jam  0x00000000 , 0x0000499d 
+ 00000384  0x000001fa call  0x000043a9 
+ 00000385  0x000001fc call  0x00000187 
+ 00000386  0x000001fd call  0x000043a7 
+ 00000387  0x000001ff call  0x00000187 
+ 00000388  0x00000200 sub  0x0000003f , 0x0000000b , 0x0000003e 
+ 00000389  0x00000201 branch  0x00000180 , 0x00000002 
+ 00000390  0x00000202 branch  0x000043a9 
+ 00000391  0x00000205 jam  0x00000000 , 0x0000499c 
+ 00000392  0x00000206 call  0x00000193 
+ 00000393  0x00000207 fetch  0x00000002 , 0x0000499a 
+ 00000394  0x00000209 copy  0x0000003f , 0x00000005 
+ 00000395  0x0000020a fetch  0x00000001 , 0x0000499d 
+ 00000396  0x0000020b iadd  0x00000005 , 0x00000005 
+ 00000397  0x0000020c fetch  0x00000001 , 0x0000499c 
+ 00000398  0x0000020d istore  0x00000001 , 0x00000005 
+ 00000399  0x0000020e fetch  0x00000001 , 0x0000499d 
+ 00000400  0x0000020f increase  0x00000001 , 0x0000003f 
+ 00000401  0x00000210 store  0x00000001 , 0x0000499d 
+ 00000402  0x00000211 rtn 
+ 00000403  0x00000213 fetch  0x00000002 , 0x00004948 
+ 00000404  0x00000214 copy  0x0000003f , 0x00000013 
+ 00000405  0x00000215 arg  0x00000008 , 0x00000039 
+ 00000406  0x00000217 ifetcht  0x00000001 , 0x00000013 
+ 00000407  0x00000218 call  0x00006eed 
+ 00000408  0x00000219 nop  0x00000078 
+ 00000409  0x0000021a ifetcht  0x00000001 , 0x00000013 
+ 00000410  0x0000021b call  0x00006f0b 
+ 00000411  0x0000021c nop  0x00000078 
+ 00000412  0x0000021d ifetcht  0x00000001 , 0x00000013 
+ 00000413  0x0000021e call  0x00006ee0 
+ 00000414  0x0000021f fetch  0x00000001 , 0x0000499c 
+ 00000415  0x00000220 rshift  0x0000003f , 0x0000003f 
+ 00000416  0x00000221 setflag  0x00000001 , 0x00000007 , 0x0000003f 
+ 00000417  0x00000222 store  0x00000001 , 0x0000499c 
+ 00000418  0x00000223 increase  0x00000001 , 0x00000013 
+ 00000419  0x00000224 loop  0x00000196 
+ 00000420  0x00000225 rtn 
+ 00000421  0x00000228 call  0x00007de6 
+ 00000422  0x0000022a fetcht  0x00000001 , 0x0000490f 
+ 00000423  0x0000022b call  0x00006eac 
+ 00000424  0x0000022d fetch  0x00000002 , 0x0000494a 
+ 00000425  0x0000022e copy  0x0000003f , 0x00000012 
+ 00000426  0x0000022f arg  0x00000014 , 0x00000039 
+ 00000427  0x00000231 ifetcht  0x00000001 , 0x00000012 
+ 00000428  0x00000232 isolate1  0x00000007 , 0x00000002 
+ 00000429  0x00000233 ncall  0x00006ef1 , 0x00000001 
+ 00000430  0x00000234 increase  0x00000001 , 0x00000012 
+ 00000431  0x00000235 loop  0x000001ab 
+ 00000432  0x00000237 call  0x00003f1b 
+ 00000433  0x00000238 jam  0x00000000 , 0x0000488c 
+ 00000434  0x0000023a fetch  0x00000002 , 0x00004948 
+ 00000435  0x0000023b copy  0x0000003f , 0x00000012 
+ 00000436  0x0000023c arg  0x00000008 , 0x00000039 
+ 00000437  0x0000023e ifetcht  0x00000001 , 0x00000012 
+ 00000438  0x0000023f sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00000439  0x00000240 ncall  0x000001c2 , 0x00000005 
+ 00000440  0x00000241 ifetcht  0x00000001 , 0x00000012 
+ 00000441  0x00000242 call  0x00006f0b 
+ 00000442  0x00000243 increase  0x00000001 , 0x00000012 
+ 00000443  0x00000244 loop  0x000001b5 
+ 00000444  0x00000246 call  0x00006f4b 
+ 00000445  0x00000247 call  0x000023e1 
+ 00000446  0x00000248 fetcht  0x00000001 , 0x00004666 
+ 00000447  0x00000249 call  0x00004f0a 
+ 00000448  0x0000024a call  0x00004f0e 
+ 00000449  0x0000024b branch  0x000040dd 
+ 00000450  0x0000024e fetch  0x00000001 , 0x000049a0 
+ 00000451  0x0000024f branch  0x00006eac , 0x00000034 
+ 00000452  0x00000251 branch  0x00006ea5 
+ 00000453  0x00000254 sub  0x00000002 , 0x000000ff , 0x0000003e 
+ 00000454  0x00000255 rtn  0x00000005 
+ 00000455  0x00000256 arg  0x00000003 , 0x00000008 
+ 00000456  0x00000257 call  0x00006e9c 
+ 00000457  0x00000258 isolate0  0x00000000 , 0x00000002 
+ 00000458  0x00000259 branch  0x000001cc , 0x00000001 
+ 00000459  0x0000025a lshift4  0x00000008 , 0x00000008 
+ 00000460  0x0000025c ifetch  0x00000001 , 0x00000005 
+ 00000461  0x0000025d iand  0x00000030 , 0x0000003f 
+ 00000462  0x0000025e ior  0x00000008 , 0x0000003f 
+ 00000463  0x0000025f istore  0x00000001 , 0x00000005 
+ 00000464  0x00000260 rtn 
+ 00000465  0x00000262 fetch  0x00000001 , 0x00004ac2 
+ 00000466  0x00000263 rtn  0x00000034 
+ 00000467  0x00000264 increase  0xffffffff , 0x0000003f 
+ 00000468  0x00000265 store  0x00000001 , 0x00004ac2 
+ 00000469  0x00000267 fetch  0x00000008 , 0x0000488e 
+ 00000470  0x00000268 bbit1  0x00000028 , 0x000001da 
+ 00000471  0x00000269 fetch  0x00000001 , 0x00004ac2 
+ 00000472  0x0000026a branch  0x00004166 , 0x00000034 
+ 00000473  0x0000026b branch  0x0000416c 
+ 00000474  0x0000026e fetch  0x00000001 , 0x00004ac2 
+ 00000475  0x0000026f branch  0x0000413c , 0x00000034 
+ 00000476  0x00000270 branch  0x0000413a 
+ 00000477  0x00000273 call  0x000040e0 
+ 00000478  0x00000274 call  0x000040cc 
+ 00000479  0x00000275 call  0x000040dd 
+ 00000480  0x00000278 call  0x00004100 
+ 00000481  0x00000279 call  0x00004186 
+ 00000482  0x0000027a call  0x000041ab 
+ 00000483  0x0000027b call  0x000001d1 
+ 00000484  0x0000027c call  0x0000413e 
+ 00000485  0x0000027d call  0x00004146 
+ 00000486  0x0000027f call  0x000001fa 
+ 00000487  0x00000280 call  0x0000428f 
+ 00000488  0x00000281 call  0x000042c4 
+ 00000489  0x00000284 call  0x0000326c 
+ 00000490  0x00000285 call  0x00003507 
+ 00000491  0x00000286 call  0x000058f6 
+ 00000492  0x00000287 call  0x000042b5 
+ 00000493  0x00000288 call  0x000042bf 
+ 00000494  0x0000028b call  0x00004299 
+ 00000495  0x0000028c call  0x000042a4 
+ 00000496  0x0000028d call  0x0000550d 
+ 00000497  0x0000028e call  0x000042ad 
+ 00000498  0x0000028f call  0x00005510 
+ 00000499  0x00000290 call  0x000042b2 
+ 00000500  0x00000291 call  0x000042a1 
+ 00000501  0x00000293 call  0x00005527 
+ 00000502  0x00000294 call  0x0000429e 
+ 00000503  0x00000295 call  0x000042c9 
+ 00000504  0x00000296 call  0x000042cc 
+ 00000505  0x00000297 branch  0x000042d5 
+ 00000506  0x0000029a fetch  0x00000001 , 0x000048a6 
+ 00000507  0x0000029b bbit1  0x00000000 , 0x00000200 
+ 00000508  0x0000029c call  0x00000218 
+ 00000509  0x0000029d fetch  0x00000001 , 0x000048a6 
+ 00000510  0x0000029e bbit1  0x00000001 , 0x0000020c 
+ 00000511  0x0000029f branch  0x0000021e 
+ 00000512  0x000002a2 fetch  0x00000001 , 0x000048a9 
+ 00000513  0x000002a3 sub  0x0000003f , 0x00000064 , 0x0000003e 
+ 00000514  0x000002a4 nrtn  0x00000002 
+ 00000515  0x000002a5 increase  0x00000001 , 0x0000003f 
+ 00000516  0x000002a6 store  0x00000001 , 0x000048a9 
+ 00000517  0x000002a7 rtnne  0x00000019 
+ 00000518  0x000002a8 jam  0x00000000 , 0x000048a7 
+ 00000519  0x000002a9 fetch  0x00000001 , 0x00004678 
+ 00000520  0x000002aa rtneq  0x00000004 
+ 00000521  0x000002ab call  0x00000224 
+ 00000522  0x000002ac call  0x000048e6 
+ 00000523  0x000002ad branch  0x00004680 
+ 00000524  0x000002b0 fetch  0x00000001 , 0x000048aa 
+ 00000525  0x000002b1 sub  0x0000003f , 0x00000064 , 0x0000003e 
+ 00000526  0x000002b2 nrtn  0x00000002 
+ 00000527  0x000002b3 increase  0x00000001 , 0x0000003f 
+ 00000528  0x000002b4 store  0x00000001 , 0x000048aa 
+ 00000529  0x000002b5 rtnne  0x00000019 
+ 00000530  0x000002b6 jam  0x00000000 , 0x000048a8 
+ 00000531  0x000002b7 fetch  0x00000001 , 0x00004678 
+ 00000532  0x000002b8 rtneq  0x00000004 
+ 00000533  0x000002b9 call  0x00000224 
+ 00000534  0x000002ba call  0x00006824 
+ 00000535  0x000002bb branch  0x00004675 
+ 00000536  0x000002bf jam  0x00000000 , 0x000048a9 
+ 00000537  0x000002c0 fetch  0x00000001 , 0x000048a7 
+ 00000538  0x000002c1 rtn  0x00000034 
+ 00000539  0x000002c2 jam  0x00000000 , 0x000048a7 
+ 00000540  0x000002c3 call  0x00000224 
+ 00000541  0x000002c4 branch  0x00006c99 
+ 00000542  0x000002c7 jam  0x00000000 , 0x000048aa 
+ 00000543  0x000002c8 fetch  0x00000001 , 0x000048a8 
+ 00000544  0x000002c9 rtn  0x00000034 
+ 00000545  0x000002ca jam  0x00000000 , 0x000048a8 
+ 00000546  0x000002cb call  0x00004045 
+ 00000547  0x000002cc branch  0x00006c99 
+ 00000548  0x000002cf fetch  0x00000008 , 0x0000488e 
+ 00000549  0x000002d0 bbit1  0x0000000f , 0x00005594 
+ 00000550  0x000002d1 bbit1  0x0000000e , 0x00004045 
+ 00000551  0x000002d2 rtn 
+ 00000552  0x000002d5 branch  0x00004677 
+ 00000553  0x000002d9 fetch  0x00000008 , 0x0000488e 
+ 00000554  0x000002db bbit1  0x0000000f , 0x00003f31 
+ 00000555  0x000002dc branch  0x00003ec8 
+ 00000556  0x000002df fetch  0x00000008 , 0x0000488e 
+ 00000557  0x000002e0 bbit0  0x0000003d , 0x00000233 
+ 00000558  0x000002e1 fetcht  0x00000001 , 0x00004440 
+ 00000559  0x000002e2 call  0x00004f0a 
+ 00000560  0x000002e3 fetcht  0x00000001 , 0x00004440 
+ 00000561  0x000002e4 call  0x00006ee0 
+ 00000562  0x000002e5 branch  0x0000022c , 0x00000001 
+ 00000563  0x000002e7 call  0x00004049 
+ 00000564  0x000002e8 arg  0x00000080 , 0x00000002 
+ 00000565  0x000002e9 arg  0x00004678 , 0x00000011 
+ 00000566  0x000002ea arg  0x00000000 , 0x00000012 
+ 00000567  0x000002eb call  0x00006cd7 
+ 00000568  0x000002ec branch  0x00003fa2 
+ 00000569  0x000002ef copy  0x00000011 , 0x00000006 
+ 00000570  0x000002f0 ifetch  0x00000003 , 0x00000006 
+ 00000571  0x000002f1 store  0x00000003 , 0x0000439b 
+ 00000572  0x000002f2 beq  0x00000001 , 0x00004919 
+ 00000573  0x000002f3 beq  0x00000007 , 0x0000495c 
+ 00000574  0x000002f4 beq  0x00000009 , 0x00004938 
+ 00000575  0x000002f5 beq  0x0000000b , 0x00004952 
+ 00000576  0x000002f6 beq  0x00000008 , 0x00004971 
+ 00000577  0x000002f7 beq  0x0000000c , 0x00000246 
+ 00000578  0x000002f8 beq  0x0000000a , 0x0000499f 
+ 00000579  0x000002f9 beq  0x00000012 , 0x000049c5 
+ 00000580  0x000002fa beq  0x00000052 , 0x000049cb 
+ 00000581  0x000002fb branch  0x00002b76 
+ 00000582  0x000002fe ifetch  0x00000002 , 0x00000006 
+ 00000583  0x000002ff store  0x00000002 , 0x00000693 
+ 00000584  0x00000300 iforce  0x00000011 
+ 00000585  0x00000301 fetcht  0x00000002 , 0x0000439c 
+ 00000586  0x00000302 fetch  0x00000002 , 0x00004334 
+ 00000587  0x00000303 isub  0x00000002 , 0x0000003e 
+ 00000588  0x00000304 nbranch  0x00002d2e , 0x00000005 
+ 00000589  0x00000308 branch  0x00004999 
+ 00000590  0x0000030c copy  0x00000002 , 0x0000003f 
+ 00000591  0x0000030d jam  0x00000005 , 0x00004a6f 
+ 00000592  0x0000030e fetcht  0x00000001 , 0x000049a6 
+ 00000593  0x0000030f sub  0x00000002 , 0x00000000 , 0x0000003e 
+ 00000594  0x00000310 branch  0x0000474b , 0x00000005 
+ 00000595  0x00000311 beq  0x000000e8 , 0x0000026c 
+ 00000596  0x00000312 beq  0x000000e9 , 0x00000272 
+ 00000597  0x00000313 beq  0x000000ea , 0x00000276 
+ 00000598  0x00000314 beq  0x000000eb , 0x0000027a 
+ 00000599  0x00000315 beq  0x000000ec , 0x0000027e 
+ 00000600  0x00000316 beq  0x000000ed , 0x00000282 
+ 00000601  0x00000317 beq  0x000000ee , 0x00000286 
+ 00000602  0x00000318 beq  0x000000ef , 0x0000028a 
+ 00000603  0x0000031a beq  0x000000f0 , 0x0000028e 
+ 00000604  0x0000031b beq  0x000000f1 , 0x00000292 
+ 00000605  0x0000031c beq  0x000000f2 , 0x00000296 
+ 00000606  0x0000031d beq  0x000000f3 , 0x0000029a 
+ 00000607  0x0000031e beq  0x000000f4 , 0x0000029e 
+ 00000608  0x0000031f beq  0x000000f5 , 0x000002a2 
+ 00000609  0x00000320 beq  0x000000f6 , 0x000002a9 
+ 00000610  0x00000321 beq  0x000000f7 , 0x000002ad 
+ 00000611  0x00000323 beq  0x000000f8 , 0x000002b5 
+ 00000612  0x00000324 beq  0x000000f9 , 0x000002b9 
+ 00000613  0x00000325 beq  0x000000fa , 0x000002bd 
+ 00000614  0x00000327 beq  0x000000fb , 0x000002c1 
+ 00000615  0x00000328 beq  0x000000fc , 0x000002c5 
+ 00000616  0x00000329 beq  0x000000fd , 0x000002c9 
+ 00000617  0x0000032a beq  0x000000fe , 0x000002cd 
+ 00000618  0x0000032c beq  0x000000ff , 0x000002d1 
+ 00000619  0x0000032d branch  0x000046e6 
+ 00000620  0x00000330 fetch  0x00000001 , 0x00004678 
+ 00000621  0x00000331 bne  0x00000000 , 0x00004715 
+ 00000622  0x00000332 setarg  0x00000183 
+ 00000623  0x00000335 store  0x00000002 , 0x00004a70 
+ 00000624  0x00000336 jam  0x00000003 , 0x00004a6f 
+ 00000625  0x00000337 branch  0x000046e6 
+ 00000626  0x0000033a fetch  0x00000001 , 0x00004678 
+ 00000627  0x0000033b bne  0x00000000 , 0x00004718 
+ 00000628  0x0000033c setarg  0x000000ea 
+ 00000629  0x0000033d branch  0x0000026f 
+ 00000630  0x00000340 fetch  0x00000001 , 0x00004678 
+ 00000631  0x00000341 bne  0x00000000 , 0x0000471a 
+ 00000632  0x00000342 setarg  0x000000e9 
+ 00000633  0x00000343 branch  0x0000026f 
+ 00000634  0x00000346 fetch  0x00000001 , 0x00004678 
+ 00000635  0x00000347 bne  0x00000000 , 0x0000471c 
+ 00000636  0x00000348 setarg  0x000000e2 
+ 00000637  0x00000349 branch  0x0000026f 
+ 00000638  0x0000034c fetch  0x00000001 , 0x00004678 
+ 00000639  0x0000034d bne  0x00000000 , 0x0000471e 
+ 00000640  0x0000034e setarg  0x000000b6 
+ 00000641  0x0000034f branch  0x0000026f 
+ 00000642  0x00000352 fetch  0x00000001 , 0x00004678 
+ 00000643  0x00000353 bne  0x00000000 , 0x00004720 
+ 00000644  0x00000354 setarg  0x000000b5 
+ 00000645  0x00000355 branch  0x0000026f 
+ 00000646  0x00000358 fetch  0x00000001 , 0x00004678 
+ 00000647  0x00000359 bne  0x00000000 , 0x00004722 
+ 00000648  0x0000035a setarg  0x000000cd 
+ 00000649  0x0000035b branch  0x0000026f 
+ 00000650  0x0000035e fetch  0x00000001 , 0x00004678 
+ 00000651  0x0000035f bne  0x00000000 , 0x00004724 
+ 00000652  0x00000360 setarg  0x000000b7 
+ 00000653  0x00000361 branch  0x0000026f 
+ 00000654  0x00000364 fetch  0x00000001 , 0x00004678 
+ 00000655  0x00000365 bne  0x00000000 , 0x00004726 
+ 00000656  0x00000366 setarg  0x00000223 
+ 00000657  0x00000367 branch  0x0000026f 
+ 00000658  0x0000036a fetch  0x00000001 , 0x00004678 
+ 00000659  0x0000036b bne  0x00000000 , 0x00004728 
+ 00000660  0x0000036c setarg  0x0000018a 
+ 00000661  0x0000036d branch  0x0000026f 
+ 00000662  0x00000370 fetch  0x00000001 , 0x00004678 
+ 00000663  0x00000371 bne  0x00000000 , 0x0000472a 
+ 00000664  0x00000372 setarg  0x00000194 
+ 00000665  0x00000373 branch  0x0000026f 
+ 00000666  0x00000376 fetch  0x00000001 , 0x00004678 
+ 00000667  0x00000377 bne  0x00000000 , 0x0000472c 
+ 00000668  0x00000378 setarg  0x0000022a 
+ 00000669  0x00000379 branch  0x0000026f 
+ 00000670  0x0000037c fetch  0x00000001 , 0x00004678 
+ 00000671  0x0000037d bne  0x00000000 , 0x0000472e 
+ 00000672  0x0000037e setarg  0x00000192 
+ 00000673  0x0000037f branch  0x0000026f 
+ 00000674  0x00000382 fetch  0x00000001 , 0x00004678 
+ 00000675  0x00000383 bne  0x00000000 , 0x00004730 
+ 00000676  0x00000384 fetch  0x00000001 , 0x00004aa1 
+ 00000677  0x00000385 beq  0x00000002 , 0x0000028e 
+ 00000678  0x00000386 beq  0x00000003 , 0x0000028e 
+ 00000679  0x00000387 setarg  0x00000221 
+ 00000680  0x00000388 branch  0x0000026f 
+ 00000681  0x0000038b fetch  0x00000001 , 0x00004678 
+ 00000682  0x0000038c bne  0x00000000 , 0x00004732 
+ 00000683  0x0000038d setarg  0x00000224 
+ 00000684  0x0000038e branch  0x0000026f 
+ 00000685  0x00000391 fetch  0x00000001 , 0x00004678 
+ 00000686  0x00000392 bne  0x00000000 , 0x00004737 
+ 00000687  0x00000393 fetch  0x00000001 , 0x00004aa1 
+ 00000688  0x00000394 beq  0x00000001 , 0x000002b3 
+ 00000689  0x00000395 setarg  0x000001ae 
+ 00000690  0x00000396 branch  0x0000026f 
+ 00000691  0x00000399 setarg  0x00000307 
+ 00000692  0x0000039a branch  0x0000026f 
+ 00000693  0x0000039d fetch  0x00000001 , 0x00004678 
+ 00000694  0x0000039e bne  0x00000000 , 0x0000473d 
+ 00000695  0x0000039f setarg  0x00000070 
+ 00000696  0x000003a0 branch  0x0000026f 
+ 00000697  0x000003a3 fetch  0x00000001 , 0x00004678 
+ 00000698  0x000003a4 bne  0x00000000 , 0x0000473f 
+ 00000699  0x000003a5 setarg  0x0000006f 
+ 00000700  0x000003a6 branch  0x0000026f 
+ 00000701  0x000003a9 fetch  0x00000001 , 0x00004678 
+ 00000702  0x000003aa bne  0x00000000 , 0x00004741 
+ 00000703  0x000003ab setarg  0x00000030 
+ 00000704  0x000003ac branch  0x0000026f 
+ 00000705  0x000003af fetch  0x00000001 , 0x00004678 
+ 00000706  0x000003b0 bne  0x00000000 , 0x00004743 
+ 00000707  0x000003b1 setarg  0x000000b8 
+ 00000708  0x000003b2 branch  0x0000026f 
+ 00000709  0x000003b5 fetch  0x00000001 , 0x00004678 
+ 00000710  0x000003b6 bne  0x00000000 , 0x00004745 
+ 00000711  0x000003b7 setarg  0x00000225 
+ 00000712  0x000003b8 branch  0x0000026f 
+ 00000713  0x000003bb fetch  0x00000001 , 0x00004678 
+ 00000714  0x000003bc bne  0x00000000 , 0x00004747 
+ 00000715  0x000003bd setarg  0x00000226 
+ 00000716  0x000003be branch  0x0000026f 
+ 00000717  0x000003c1 fetch  0x00000001 , 0x00004678 
+ 00000718  0x000003c2 bne  0x00000000 , 0x00004749 
+ 00000719  0x000003c3 setarg  0x00000227 
+ 00000720  0x000003c4 branch  0x0000026f 
+ 00000721  0x000003c7 fetch  0x00000001 , 0x00004678 
+ 00000722  0x000003c8 bne  0x00000000 , 0x00004752 
+ 00000723  0x000003c9 jam  0x00000002 , 0x00004a6f 
+ 00000724  0x000003ca setarg  0x00000002 
+ 00000725  0x000003cb store  0x00000001 , 0x00004a70 
+ 00000726  0x000003cc branch  0x000046e6 
+ 00000727  0x000003cd beq  0x000000ed , 0x00004720 
+ 00000728  0x000003d1 call  0x000047b3 
+ 00000729  0x000003d2 branch  0x0000379c 
+ 00000730  0x000003d6 ifetch  0x00000008 , 0x00000011 
+ 00000731  0x000003d7 store  0x00000008 , 0x0000064e 
+ 00000732  0x000003d9 call  0x00007057 
+ 00000733  0x000003da call  0x000002e6 
+ 00000734  0x000003db fetch  0x00000002 , 0x00000654 
+ 00000735  0x000003dc fetcht  0x00000002 , 0x00000650 
+ 00000736  0x000003dd isub  0x00000002 , 0x0000003e 
+ 00000737  0x000003de ncall  0x00007054 , 0x00000002 
+ 00000738  0x000003df fetcht  0x00000002 , 0x00000652 
+ 00000739  0x000003e0 isub  0x00000002 , 0x0000003e 
+ 00000740  0x000003e1 ncall  0x000002e9 , 0x00000002 
+ 00000741  0x000003e2 branch  0x00004ed0 
+ 00000742  0x000003e5 fetcht  0x00000001 , 0x00004422 
+ 00000743  0x000003e6 set0  0x00000000 , 0x00000002 
+ 00000744  0x000003e7 branch  0x00007059 
+ 00000745  0x000003ea fetcht  0x00000001 , 0x00004422 
+ 00000746  0x000003eb set1  0x00000000 , 0x00000002 
+ 00000747  0x000003ec branch  0x00007059 
+ 00000748  0x000003ef fetch  0x00000001 , 0x000048b1 
+ 00000749  0x000003f0 beq  0x00000000 , 0x00004098 
+ 00000750  0x000003f1 beq  0x00000001 , 0x0000409d 
+ 00000751  0x000003f2 beq  0x00000002 , 0x000002f1 
+ 00000752  0x000003f3 branch  0x00004098 
+ 00000753  0x000003f6 setarg  0x002c1270 
+ 00000754  0x000003f7 store  0x00000003 , 0x000048ab 
+ 00000755  0x000003f8 setarg  0x00014001 
+ 00000756  0x000003f9 istore  0x00000003 , 0x00000005 
+ 00000757  0x000003fa rtn 
+ 00000758  0x000003fe arg  0x00008049 , 0x00000005 
+ 00000759  0x000003ff and  0x00000002 , 0x00000007 , 0x00000007 
+ 00000760  0x00000400 rshift3  0x00000002 , 0x0000003f 
+ 00000761  0x00000401 and_into  0x00000003 , 0x0000003f 
+ 00000762  0x00000402 iadd  0x00000005 , 0x00000005 
+ 00000763  0x00000403 ifetch  0x00000001 , 0x00000005 
+ 00000764  0x00000404 qset1  0x0000003f 
+ 00000765  0x00000405 istore  0x00000001 , 0x00000005 
+ 00000766  0x00000406 rtn 
Index: output/bt_program23.list
===================================================================
--- /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/bt_program23.list	(revision 6205)
+++ /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/bt_program23.list	(working copy)
@@ -280,600 +280,604 @@
 :      000329 p_keyboard_delay_lpm_timer:
 0xf6 000330 fetch 1 ,mem_keyboard_delay_lpm_flag 
 0xf7 000331 rtn blank 
-0xf8 000332 jam 1 ,mem_lpm_mode 
-0xf9 000333 jam 0 ,mem_keyboard_delay_lpm_flag 
-0xfa 000334 rtn 
-:      000336 p_keyboard_press_change_or_no_key:
-0xfb 000337 jam 0 ,mem_lpm_mode 
-0xfc 000338 jam 1 ,mem_keyboard_delay_lpm_flag 
-0xfd 000339 branch keyboard_press_change_or_no_key 
-:      000341 p_keyboard_gpio_init:
-0xfe 000342 call clear_wake 
-0xff 000343 fetcht 1 ,mem_keyboard_pb_button_gpio 
-0x100 000344 call device_gpio_config_input_pu 
-0x101 000346 fetch keyboard_flag_len ,mem_keyboard_flag 
-0x102 000347 isolate1 keyboard_disable_ice ,pdata 
-0x103 000348 call p_lpm_write_ice_disable ,true 
-0x104 000350 setarg mem_key_row_gpio 
-0x105 000351 store 2 ,mem_kb_row_ptr 
-0x106 000353 setarg mem_key_col_gpio 
-0x107 000354 store 2 ,mem_kb_col_ptr 
-0x108 000356 setarg mem_key_excol_gpio 
-0x109 000357 store 2 ,mem_kb_excol_ptr 
-0x10a 000358 call p_keyboard_key_row_init 
-0x10b 000359 call lpm_write_gpio_wakeup 
-0x10c 000360 fetch 2 ,mem_kb_col_ptr 
-0x10d 000361 copy pdata ,regb 
-0x10e 000362 arg 20 ,loopcnt 
-:      000363 p_keyboard_key_cow_init:
-0x10f 000364 ifetcht 1 ,regb 
-0x110 000365 isolate1 7 ,temp 
-0x111 000366 ncall gpio_set_high_impedance ,true 
-0x112 000367 increase 1 ,regb 
-0x113 000368 loop keyboard_key_cow_init 
-0x114 000369 rtn 
-:      000371 p_keyboard_key_row_init:
-0x115 000372 fetch 2 ,mem_kb_row_ptr 
-0x116 000373 copy pdata ,regb 
-0x117 000374 arg 8 ,loopcnt 
-:      000375 p_keyboard_key_row_init_loop:
-0x118 000376 ifetcht 1 ,regb 
-0x119 000377 call gpio_set_high_impedance 
-0x11a 000378 call p_gpio_clear_low_pullup 
-0x11b 000379 increase 1 ,regb 
-0x11c 000380 loop p_keyboard_key_row_init_loop 
-0x11d 000381 rtn 
-:      000383 p_gpio_clear_low_pullup:
-0x11e 000384 call gpio_set_low_pullup 
-0x11f 000385 sub temp ,ui_button_gpio_disable ,null 
-0x120 000386 rtn zero 
-0x121 000387 arg 0 ,debug 
-0x122 000388 call get_gpio_wakeup_index 
-0x123 000389 isolate0 0 ,temp 
-0x124 000390 branch gpio_clear_low_pullup_low4bit ,true 
-0x125 000391 lshift4 debug ,debug 
-:      000392 gpio_clear_low_pullup_low4bit:
-0x126 000393 ifetch 1 ,contw 
-0x127 000394 iand alarm ,pdata 
-0x128 000395 ior debug ,pdata 
-0x129 000396 istore 1 ,contw 
-0x12a 000397 rtn 
-:      000399 p_lpm_write_ice_disable:
-0x12b 000400 fetch 1 ,core_lpm_sysctl 
-0x12c 000401 set0 ice_mode ,pdata 
-0x12d 000402 store 1 ,core_lpm_sysctl 
-0x12e 000403 rtn 
-:      000405 p_keyboard_keyscan:
-0x12f 000406 call p_keyboard_gpio_init 
-0x130 000407 setarg 0 
-0x131 000408 store 2 ,mem_keyscan_exmcu_wait_wake_count 
-0x132 000409 arg mem_keyscan_value_current ,contr 
-0x133 000410 arg mem_keyscan_value_check ,contw 
-0x134 000411 arg 20 ,loopcnt 
-0x135 000412 call memcpy 
-0x136 000413 call keyboard_stb_state_low 
-0x137 000414 setarg mem_keyscan_value_current 
-0x138 000415 store 2 ,mem_keyscan_value_ptr 
-0x139 000416 setarg mem_keyscan_exmcu_value_new 
-0x13a 000417 store 2 ,mem_keyscan_exmcu_value_ptr 
-0x13b 000418 call keyboard_stb_state_high 
-0x13c 000419 call keyboard_clk_input 
-:      000420 p_keyboard_keyscan_exmcu_start_check:
-0x13d 000421 fetch 2 ,mem_keyscan_exmcu_wait_wake_count 
-0x13e 000422 increase 1 ,pdata 
-0x13f 000423 store 2 ,mem_keyscan_exmcu_wait_wake_count 
-0x140 000424 bbit1 9 ,p_keyboard_keyscan 
-0x141 000425 fetcht 1 ,mem_mcu_clk_gpio 
-0x142 000426 call gpio_get_bit 
-0x143 000427 nbranch p_keyboard_keyscan_exmcu_start_check ,true 
-0x144 000428 call keyboard_stb_state_low 
-:      000429 p_keyboard_keyscan_wait_wake_next:
-0x145 000430 fetcht 1 ,mem_mcu_clk_gpio 
-0x146 000431 call gpio_get_bit 
-0x147 000432 branch p_keyboard_keyscan_wait_wake_next ,true 
-0x148 000433 call p_keyboard_keyscan_get_exmcu_value 
-0x149 000434 call p_keyboard_keyscan_get_mcu_value 
-0x14a 000435 call keyboard_clk_input 
-0x14b 000436 call keyboard_stb_state_high 
-:      000437 p_keyboard_keyscan_copy_value:
-0x14c 000438 fetch 2 ,mem_kb_excol_ptr 
-0x14d 000439 copy pdata ,regb 
-0x14e 000440 jam 0 ,mem_keyscan_col_loop_count 
-:      000441 p_keyboard_compare_col_excol_gpio_loop:
-0x14f 000442 ifetcht 1 ,regb 
-0x150 000443 fetch 2 ,mem_kb_col_ptr 
-0x151 000444 copy pdata ,rega 
-0x152 000445 copy rega ,regc 
-0x153 000446 arg 20 ,loopcnt 
-:      000447 p_keyboard_compare_col_gpio_loop:
-0x154 000448 ifetch 1 ,rega 
-0x155 000449 isub temp ,null 
-0x156 000450 branch keyboard_copy_value_exmcu_to_mcu ,zero 
-0x157 000451 increase 1 ,rega 
-0x158 000452 loop p_keyboard_compare_col_gpio_loop 
-:      000453 p_keyboard_compare_col_excol_gpio_loop_next:
-0x159 000454 increase 1 ,regb 
-0x15a 000455 fetch 1 ,mem_keyscan_col_loop_count 
-0x15b 000456 increase 1 ,pdata 
-0x15c 000457 store 1 ,mem_keyscan_col_loop_count 
-0x15d 000458 sub pdata ,11 ,null 
-0x15e 000459 branch p_keyboard_compare_col_excol_gpio_loop ,positive 
-0x15f 000461 branch p_keyboard_key_row_init 
-:      000463 p_keyboard_copy_value_exmcu_to_mcu:
-0x160 000464 fetch 2 ,mem_keyscan_value_ptr 
-0x161 000465 copy pdata ,contw 
-0x162 000466 copy rega ,pdata 
-0x163 000467 isub regc ,pdata 
-0x164 000468 iadd contw ,contw 
-0x165 000469 fetch 2 ,mem_keyscan_exmcu_value_ptr 
-0x166 000470 copy pdata ,regc 
-0x167 000471 fetch 1 ,mem_keyscan_col_loop_count 
-0x168 000472 iadd regc ,regc 
-0x169 000473 ifetch 1 ,regc 
-0x16a 000474 istore 1 ,contw 
-0x16b 000475 branch p_keyboard_compare_col_excol_gpio_loop_next 
-:      000479 p_keyboard_keyscan_get_mcu_value:
-0x16c 000480 fetch 2 ,mem_kb_col_ptr 
-0x16d 000481 copy pdata ,regb 
-0x16e 000482 jam 0 ,mem_keyscan_col_loop_count 
-:      000483 p_keyboard_keyscan_mcu_start:
-0x16f 000484 jam 0 ,mem_keyscan_value_temp 
-0x170 000485 ifetcht 1 ,regb 
-0x171 000486 isolate1 7 ,temp 
-0x172 000487 branch p_keyboard_keyscan_mcu_start_loop ,true 
-0x173 000488 call gpio_out_active 
-0x174 000489 call p_keyboard_keyscan_get_col_value 
-0x175 000490 ifetcht 1 ,regb 
-0x176 000491 call gpio_set_high_impedance 
-:      000493 p_keyboard_keyscan_mcu_start_loop:
-0x177 000494 increase 1 ,regb 
-0x178 000495 fetch 2 ,mem_keyscan_value_ptr 
-0x179 000496 call keyboard_keyscan_value_store 
-0x17a 000497 sub pdata ,19 ,null 
-0x17b 000498 branch p_keyboard_keyscan_mcu_start ,positive 
-0x17c 000499 rtn 
-:      000500 p_keyboard_keyscan_get_exmcu_value:
-0x17d 000501 jam 0 ,mem_keyscan_col_loop_count 
-:      000502 p_keyboard_keyscan_exmcu_start_loop:
-0x17e 000503 call keyboard_clk_state_low 
-0x17f 000505 call p_keyboard_keyscan_exmcu_get_col_value 
-0x180 000506 call keyboard_clk_state_high 
+0xf8 000332 fetch 1 ,mem_device_fast_conn_flag 
+0xf9 000333 beq 0xff ,p_keyboard_delay_lpm_timer_next 
+0xfa 000334 jam 1 ,mem_lpm_mode 
+:      000335 p_keyboard_delay_lpm_timer_next:
+0xfb 000336 jam 0 ,mem_keyboard_delay_lpm_flag 
+0xfc 000337 rtn 
+:      000339 p_keyboard_press_change_or_no_key:
+0xfd 000340 jam 0 ,mem_lpm_mode 
+0xfe 000341 jam 1 ,mem_keyboard_delay_lpm_flag 
+0xff 000342 branch keyboard_press_change_or_no_key 
+:      000344 p_keyboard_gpio_init:
+0x100 000345 call clear_wake 
+0x101 000346 fetcht 1 ,mem_keyboard_pb_button_gpio 
+0x102 000347 call device_gpio_config_input_pu 
+0x103 000349 fetch keyboard_flag_len ,mem_keyboard_flag 
+0x104 000350 isolate1 keyboard_disable_ice ,pdata 
+0x105 000351 call p_lpm_write_ice_disable ,true 
+0x106 000353 setarg mem_key_row_gpio 
+0x107 000354 store 2 ,mem_kb_row_ptr 
+0x108 000356 setarg mem_key_col_gpio 
+0x109 000357 store 2 ,mem_kb_col_ptr 
+0x10a 000359 setarg mem_key_excol_gpio 
+0x10b 000360 store 2 ,mem_kb_excol_ptr 
+0x10c 000361 call p_keyboard_key_row_init 
+0x10d 000362 call lpm_write_gpio_wakeup 
+0x10e 000363 fetch 2 ,mem_kb_col_ptr 
+0x10f 000364 copy pdata ,regb 
+0x110 000365 arg 20 ,loopcnt 
+:      000366 p_keyboard_key_cow_init:
+0x111 000367 ifetcht 1 ,regb 
+0x112 000368 isolate1 7 ,temp 
+0x113 000369 ncall gpio_set_high_impedance ,true 
+0x114 000370 increase 1 ,regb 
+0x115 000371 loop keyboard_key_cow_init 
+0x116 000372 rtn 
+:      000374 p_keyboard_key_row_init:
+0x117 000375 fetch 2 ,mem_kb_row_ptr 
+0x118 000376 copy pdata ,regb 
+0x119 000377 arg 8 ,loopcnt 
+:      000378 p_keyboard_key_row_init_loop:
+0x11a 000379 ifetcht 1 ,regb 
+0x11b 000380 call gpio_set_high_impedance 
+0x11c 000381 call p_gpio_clear_low_pullup 
+0x11d 000382 increase 1 ,regb 
+0x11e 000383 loop p_keyboard_key_row_init_loop 
+0x11f 000384 rtn 
+:      000386 p_gpio_clear_low_pullup:
+0x120 000387 call gpio_set_low_pullup 
+0x121 000388 sub temp ,ui_button_gpio_disable ,null 
+0x122 000389 rtn zero 
+0x123 000390 arg 0 ,debug 
+0x124 000391 call get_gpio_wakeup_index 
+0x125 000392 isolate0 0 ,temp 
+0x126 000393 branch gpio_clear_low_pullup_low4bit ,true 
+0x127 000394 lshift4 debug ,debug 
+:      000395 gpio_clear_low_pullup_low4bit:
+0x128 000396 ifetch 1 ,contw 
+0x129 000397 iand alarm ,pdata 
+0x12a 000398 ior debug ,pdata 
+0x12b 000399 istore 1 ,contw 
+0x12c 000400 rtn 
+:      000402 p_lpm_write_ice_disable:
+0x12d 000403 fetch 1 ,core_lpm_sysctl 
+0x12e 000404 set0 ice_mode ,pdata 
+0x12f 000405 store 1 ,core_lpm_sysctl 
+0x130 000406 rtn 
+:      000408 p_keyboard_keyscan:
+0x131 000409 call p_keyboard_gpio_init 
+0x132 000410 setarg 0 
+0x133 000411 store 2 ,mem_keyscan_exmcu_wait_wake_count 
+0x134 000412 arg mem_keyscan_value_current ,contr 
+0x135 000413 arg mem_keyscan_value_check ,contw 
+0x136 000414 arg 20 ,loopcnt 
+0x137 000415 call memcpy 
+0x138 000416 call keyboard_stb_state_low 
+0x139 000417 setarg mem_keyscan_value_current 
+0x13a 000418 store 2 ,mem_keyscan_value_ptr 
+0x13b 000419 setarg mem_keyscan_exmcu_value_new 
+0x13c 000420 store 2 ,mem_keyscan_exmcu_value_ptr 
+0x13d 000421 call keyboard_stb_state_high 
+0x13e 000422 call keyboard_clk_input 
+:      000423 p_keyboard_keyscan_exmcu_start_check:
+0x13f 000424 fetch 2 ,mem_keyscan_exmcu_wait_wake_count 
+0x140 000425 increase 1 ,pdata 
+0x141 000426 store 2 ,mem_keyscan_exmcu_wait_wake_count 
+0x142 000427 bbit1 9 ,p_keyboard_keyscan 
+0x143 000428 fetcht 1 ,mem_mcu_clk_gpio 
+0x144 000429 call gpio_get_bit 
+0x145 000430 nbranch p_keyboard_keyscan_exmcu_start_check ,true 
+0x146 000431 call keyboard_stb_state_low 
+:      000432 p_keyboard_keyscan_wait_wake_next:
+0x147 000433 fetcht 1 ,mem_mcu_clk_gpio 
+0x148 000434 call gpio_get_bit 
+0x149 000435 branch p_keyboard_keyscan_wait_wake_next ,true 
+0x14a 000436 call p_keyboard_keyscan_get_exmcu_value 
+0x14b 000437 call p_keyboard_keyscan_get_mcu_value 
+0x14c 000438 call keyboard_clk_input 
+0x14d 000439 call keyboard_stb_state_high 
+:      000440 p_keyboard_keyscan_copy_value:
+0x14e 000441 fetch 2 ,mem_kb_excol_ptr 
+0x14f 000442 copy pdata ,regb 
+0x150 000443 jam 0 ,mem_keyscan_col_loop_count 
+:      000444 p_keyboard_compare_col_excol_gpio_loop:
+0x151 000445 ifetcht 1 ,regb 
+0x152 000446 fetch 2 ,mem_kb_col_ptr 
+0x153 000447 copy pdata ,rega 
+0x154 000448 copy rega ,regc 
+0x155 000449 arg 20 ,loopcnt 
+:      000450 p_keyboard_compare_col_gpio_loop:
+0x156 000451 ifetch 1 ,rega 
+0x157 000452 isub temp ,null 
+0x158 000453 branch keyboard_copy_value_exmcu_to_mcu ,zero 
+0x159 000454 increase 1 ,rega 
+0x15a 000455 loop p_keyboard_compare_col_gpio_loop 
+:      000456 p_keyboard_compare_col_excol_gpio_loop_next:
+0x15b 000457 increase 1 ,regb 
+0x15c 000458 fetch 1 ,mem_keyscan_col_loop_count 
+0x15d 000459 increase 1 ,pdata 
+0x15e 000460 store 1 ,mem_keyscan_col_loop_count 
+0x15f 000461 sub pdata ,11 ,null 
+0x160 000462 branch p_keyboard_compare_col_excol_gpio_loop ,positive 
+0x161 000464 branch p_keyboard_key_row_init 
+:      000466 p_keyboard_copy_value_exmcu_to_mcu:
+0x162 000467 fetch 2 ,mem_keyscan_value_ptr 
+0x163 000468 copy pdata ,contw 
+0x164 000469 copy rega ,pdata 
+0x165 000470 isub regc ,pdata 
+0x166 000471 iadd contw ,contw 
+0x167 000472 fetch 2 ,mem_keyscan_exmcu_value_ptr 
+0x168 000473 copy pdata ,regc 
+0x169 000474 fetch 1 ,mem_keyscan_col_loop_count 
+0x16a 000475 iadd regc ,regc 
+0x16b 000476 ifetch 1 ,regc 
+0x16c 000477 istore 1 ,contw 
+0x16d 000478 branch p_keyboard_compare_col_excol_gpio_loop_next 
+:      000482 p_keyboard_keyscan_get_mcu_value:
+0x16e 000483 fetch 2 ,mem_kb_col_ptr 
+0x16f 000484 copy pdata ,regb 
+0x170 000485 jam 0 ,mem_keyscan_col_loop_count 
+:      000486 p_keyboard_keyscan_mcu_start:
+0x171 000487 jam 0 ,mem_keyscan_value_temp 
+0x172 000488 ifetcht 1 ,regb 
+0x173 000489 isolate1 7 ,temp 
+0x174 000490 branch p_keyboard_keyscan_mcu_start_loop ,true 
+0x175 000491 call gpio_out_active 
+0x176 000492 call p_keyboard_keyscan_get_col_value 
+0x177 000493 ifetcht 1 ,regb 
+0x178 000494 call gpio_set_high_impedance 
+:      000496 p_keyboard_keyscan_mcu_start_loop:
+0x179 000497 increase 1 ,regb 
+0x17a 000498 fetch 2 ,mem_keyscan_value_ptr 
+0x17b 000499 call keyboard_keyscan_value_store 
+0x17c 000500 sub pdata ,19 ,null 
+0x17d 000501 branch p_keyboard_keyscan_mcu_start ,positive 
+0x17e 000502 rtn 
+:      000503 p_keyboard_keyscan_get_exmcu_value:
+0x17f 000504 jam 0 ,mem_keyscan_col_loop_count 
+:      000505 p_keyboard_keyscan_exmcu_start_loop:
+0x180 000506 call keyboard_clk_state_low 
 0x181 000508 call p_keyboard_keyscan_exmcu_get_col_value 
-0x182 000509 sub pdata ,11 ,null 
-0x183 000510 branch p_keyboard_keyscan_exmcu_start_loop ,positive 
-0x184 000511 branch keyboard_clk_state_low 
-:      000513 p_keyboard_keyscan_exmcu_get_col_value:
-0x185 000514 jam 0 ,mem_keyscan_value_temp 
-0x186 000515 call p_keyboard_keyscan_get_col_value 
-0x187 000516 fetch 2 ,mem_keyscan_exmcu_value_ptr 
-:      000517 p_keyboard_keyscan_value_store:
-0x188 000518 copy pdata ,contw 
-0x189 000519 fetch 1 ,mem_keyscan_col_loop_count 
-0x18a 000520 iadd contw ,contw 
-0x18b 000521 fetch 1 ,mem_keyscan_value_temp 
-0x18c 000522 istore 1 ,contw 
-0x18d 000523 fetch 1 ,mem_keyscan_col_loop_count 
-0x18e 000524 increase 1 ,pdata 
-0x18f 000525 store 1 ,mem_keyscan_col_loop_count 
-0x190 000526 rtn 
-:      000527 p_keyboard_keyscan_get_col_value:
-0x191 000528 fetch 2 ,mem_kb_row_ptr 
-0x192 000529 copy pdata ,regc 
-0x193 000530 arg 8 ,loopcnt 
-:      000531 p_keyboard_keyscan_get_col_value_loop:
-0x194 000532 ifetcht 1 ,regc 
-0x195 000533 call gpio_out_inactive 
-0x196 000534 ifetcht 1 ,regc 
-0x197 000535 call gpio_set_high_impedance 
-0x198 000536 nop 240 
-0x199 000537 ifetcht 1 ,regc 
-0x19a 000538 call gpio_get_bit 
-0x19b 000539 fetch 1 ,mem_keyscan_value_temp 
-0x19c 000540 rshift pdata ,pdata 
-0x19d 000541 setflag true ,7 ,pdata 
-0x19e 000542 store 1 ,mem_keyscan_value_temp 
-0x19f 000543 increase 1 ,regc 
-0x1a0 000544 loop p_keyboard_keyscan_get_col_value_loop 
-0x1a1 000545 rtn 
-:      000547 p_keyboard_lpm_before_common:
-0x1a2 000548 call clear_wake 
-0x1a3 000550 fetcht 1 ,mem_keyboard_pb_button_gpio 
-0x1a4 000551 call gpio_set_wake 
-0x1a5 000553 fetch 2 ,mem_kb_col_ptr 
-0x1a6 000554 copy pdata ,regb 
-0x1a7 000555 arg 20 ,loopcnt 
-:      000556 p_keyboard_key_col_wake_init:
-0x1a8 000557 ifetcht 1 ,regb 
-0x1a9 000558 isolate1 7 ,temp 
-0x1aa 000559 ncall gpio_out_active ,true 
-0x1ab 000560 increase 1 ,regb 
-0x1ac 000561 loop p_keyboard_key_col_wake_init 
-0x1ad 000563 call keyboard_gpio_pu_idle 
-0x1ae 000564 jam 0 ,mem_qdec_set_flag 
-0x1af 000566 fetch 2 ,mem_kb_row_ptr 
-0x1b0 000567 copy pdata ,regb 
-0x1b1 000568 arg 8 ,loopcnt 
-:      000569 p_keyboard_key_row_wake_init:
-0x1b2 000570 ifetcht 1 ,regb 
-0x1b3 000571 sub temp ,ui_button_gpio_disable ,null 
-0x1b4 000572 ncall p_keyboard_key_row_wake_set ,zero 
-0x1b5 000573 ifetcht 1 ,regb 
-0x1b6 000574 call gpio_set_high_impedance 
-0x1b7 000575 increase 1 ,regb 
-0x1b8 000576 loop p_keyboard_key_row_wake_init 
-0x1b9 000578 call lpm_puchk_set_check 
-0x1ba 000579 call lpm_write_gpio_wakeup 
-0x1bb 000580 fetcht 1 ,mem_device_reuse_2ice_gpio 
-0x1bc 000581 call device_gpio_config_input_pu 
-0x1bd 000582 call mouse_gpio_set_analog 
-0x1be 000583 branch keyboard_adc_gpio_set_before_hibernate 
-:      000585 p_keyboard_key_row_wake_set:
-0x1bf 000586 fetch 1 ,mem_same_keyvalue_timerout_flag 
-0x1c0 000587 branch gpio_set_wake ,blank 
-0x1c1 000589 branch gpio_set_wake_by_current_state 
-:      000591 p_gpio_set_low_pullup_wakeup:
-0x1c2 000592 sub temp ,ui_button_gpio_disable ,null 
-0x1c3 000593 rtn zero 
-0x1c4 000594 arg 3 ,debug 
-0x1c5 000595 call get_gpio_wakeup_index 
-0x1c6 000596 isolate0 0 ,temp 
-0x1c7 000597 branch p_gpio_set_low_pullup_low4bit ,true 
-0x1c8 000598 lshift4 debug ,debug 
-:      000599 p_gpio_set_low_pullup_low4bit:
-0x1c9 000600 ifetch 1 ,contw 
-0x1ca 000601 iand alarm ,pdata 
-0x1cb 000602 ior debug ,pdata 
-0x1cc 000603 istore 1 ,contw 
-0x1cd 000604 rtn 
-:      000605 p_keyboard_device_poweron_timer:
-0x1ce 000606 fetch 1 ,mem_keyboard_device_poweron_timer 
-0x1cf 000607 rtn blank 
-0x1d0 000608 increase -1 ,pdata 
-0x1d1 000609 store 1 ,mem_keyboard_device_poweron_timer 
-0x1d2 000611 fetch keyboard_flag_len ,mem_keyboard_flag 
-0x1d3 000612 bbit1 keyboard_enable_030_power_led ,p_keyboard_device_poweron_030_led 
-0x1d4 000613 fetch 1 ,mem_keyboard_device_poweron_timer 
-0x1d5 000614 branch keyboard_device_led_off ,blank 
-0x1d6 000615 branch keyboard_device_led_on 
-:      000617 p_keyboard_device_poweron_030_led:
-0x1d7 000618 fetch 1 ,mem_keyboard_device_poweron_timer 
-0x1d8 000619 branch keyboard_power_led_off ,blank 
-0x1d9 000620 branch keyboard_power_led_on 
-:      000622 p_keyboard_bb_event_timer:
-0x1da 000623 call keyboard_low_voltage_param_set 
-0x1db 000624 call keyboard_adc_read 
-0x1dc 000625 call keyboard_adc_gpio_set_before_hibernate 
-0x1dd 000628 call keyboard_low_voltage_led_timer 
-0x1de 000629 call keyboard_num_capslock_led_on_timer 
-0x1df 000630 call keyboard_rgb_on_timer 
-0x1e0 000631 call p_keyboard_device_poweron_timer 
-0x1e1 000632 call keyboard_mode_led_timer 
-0x1e2 000633 call keyboard_device_pair_led_timer 
-0x1e3 000635 call p_keyboard_key_press_timer 
-0x1e4 000636 call keyboard_commbination_key_process 
-0x1e5 000637 call keyboard_same_key_long_press_timer 
-0x1e6 000640 call g24_pair_timeout_timer 
-0x1e7 000641 call g24_reconn_timeout_timer 
-0x1e8 000642 call mouse_24g_long_sleep_param_update_timer 
-0x1e9 000643 call keyboard_24g_repeat_send_data 
-0x1ea 000644 call keyboard_24g_led_status_get_timer 
-0x1eb 000647 call keyboard_check_discovery_timeout_timer 
-0x1ec 000648 call keyboard_check_direct_timeout_timer 
-0x1ed 000649 call mouse_le_enable_att_list_timer 
-0x1ee 000650 call keyboard_le_battery_updata_timer 
-0x1ef 000651 call mouse_le_send_smp_security_request_timer 
-0x1f0 000652 call keyboard_le_send_conn_param_update_timer 
-0x1f1 000653 call keyboard_le_auto_recognize_timer 
-0x1f2 000655 call mouse_current_mult_update_timer 
-0x1f3 000656 call keyboard_store_information_delay_timer 
-0x1f4 000657 call keyboard_commbination_delay_release_timer 
-0x1f5 000658 call keyboard_usb_updata_timer 
-0x1f6 000659 branch keyboard_check_no_data_timeout_timer 
-:      000661 p_keyboard_key_press_timer:
-0x1f7 000662 fetch 1 ,mem_keyboard_switch_device_flag 
-0x1f8 000663 bbit1 keyboard_flag_g24_device_button ,p_keyboard_device_select_g24_press_timer 
-0x1f9 000664 call p_keyboard_device_select_g24_nopress_timer 
-0x1fa 000665 fetch 1 ,mem_keyboard_switch_device_flag 
-0x1fb 000666 bbit1 keyboard_flag_bt_device_button ,p_keyboard_device_select_bt_press_timer 
-0x1fc 000667 branch p_keyboard_device_select_bt_nopress_timer 
-:      000669 p_keyboard_device_select_g24_press_timer:
-0x1fd 000670 fetch 1 ,mem_keyboard_switch_g24_press_timer 
-0x1fe 000671 sub pdata ,100 ,null 
-0x1ff 000672 nrtn positive 
-0x200 000673 increase 1 ,pdata 
-0x201 000674 store 1 ,mem_keyboard_switch_g24_press_timer 
-0x202 000675 rtnne 25 
-0x203 000676 jam 0 ,mem_keyboard_switch_g24_enable 
-0x204 000677 fetch 1 ,mem_device_flag 
-0x205 000678 rtneq mode_usb_device 
-0x206 000679 call p_keyboard_store_device_number 
-0x207 000680 call keyboard_stop_bluetooth_mode 
-0x208 000681 branch keyboard_24g_start_pair_mode 
-:      000683 p_keyboard_device_select_bt_press_timer:
-0x209 000684 fetch 1 ,mem_keyboard_switch_bt_press_timer 
-0x20a 000685 sub pdata ,100 ,null 
-0x20b 000686 nrtn positive 
-0x20c 000687 increase 1 ,pdata 
-0x20d 000688 store 1 ,mem_keyboard_switch_bt_press_timer 
-0x20e 000689 rtnne 25 
-0x20f 000690 jam 0 ,mem_keyboard_switch_bt_enable 
-0x210 000691 fetch 1 ,mem_device_flag 
-0x211 000692 rtneq mode_usb_device 
-0x212 000693 call p_keyboard_store_device_number 
-0x213 000694 call hid_device_le_send_empty_packet 
-0x214 000695 branch keyboard_long_button_bt_discovery 
-:      000698 p_keyboard_device_select_g24_nopress_timer:
-0x215 000699 jam 0 ,mem_keyboard_switch_g24_press_timer 
-0x216 000700 fetch 1 ,mem_keyboard_switch_g24_enable 
-0x217 000701 rtn blank 
-0x218 000702 jam 0 ,mem_keyboard_switch_g24_enable 
-0x219 000703 call p_keyboard_store_device_number 
-0x21a 000704 branch soft_reset_chip 
-:      000706 p_keyboard_device_select_bt_nopress_timer:
-0x21b 000707 jam 0 ,mem_keyboard_switch_bt_press_timer 
-0x21c 000708 fetch 1 ,mem_keyboard_switch_bt_enable 
-0x21d 000709 rtn blank 
-0x21e 000710 jam 0 ,mem_keyboard_switch_bt_enable 
-0x21f 000711 call keyboard_store_device_number 
-0x220 000712 branch soft_reset_chip 
-:      000714 p_keyboard_store_device_number:
-0x221 000715 fetch keyboard_flag_len ,mem_keyboard_flag 
-0x222 000716 bbit1 keyboard_enable_otp ,mouse_write_otp_device_flag 
-0x223 000717 bbit1 keyboard_enable_eeprom ,keyboard_store_device_number 
-0x224 000718 rtn 
-:      000720 p_keyboard_long_button_bt_discovery:
-0x225 000721 branch keyboard_long_button_bt_discovery + 2 
-:      000724 p_keyboard_setting_config_next:
-0x226 000725 fetch keyboard_flag_len ,mem_keyboard_flag 
-0x227 000727 bbit1 keyboard_enable_otp ,keyboard_load_otp_info 
-0x228 000728 branch keyboard_setting_config + 11 
-:      000730 p_keyboard_load_2k_eeprom_info:
-0x229 000731 fetch keyboard_flag_len ,mem_keyboard_flag 
-0x22a 000732 bbit0 keyboard_enable_sda_multi_r_line ,p_keyboard_load_2k_eeprom_device_info_next 
-0x22b 000733 fetcht 1 ,mem_eeprom_sda_gpio 
-0x22c 000734 call device_gpio_config_input_pu 
-0x22d 000735 fetcht 1 ,mem_eeprom_sda_gpio 
-0x22e 000736 call gpio_get_bit 
-0x22f 000737 branch p_keyboard_load_2k_eeprom_info ,true 
-:      000738 p_keyboard_load_2k_eeprom_device_info_next:
-0x230 000739 call keyboard_eeprom_init 
-0x231 000740 arg 128 ,temp 
-0x232 000741 arg mem_device_flag ,rega 
-0x233 000742 arg keyboard_device_number_eeprom_offect ,regb 
-0x234 000743 call iicd_read_eep_data 
-0x235 000744 branch keyboard_load_info_check 
-:      000746 p_keyboard_le_parse_att:
-0x236 000747 copy rega ,contr 
-0x237 000748 ifetch 3 ,contr 
-0x238 000749 store 3 ,mem_le_att_opcode 
-0x239 000750 beq attop_error_response ,keyboard_le_send_att_find_by_type_value_request_mac 
-0x23a 000751 beq attop_find_by_type_value_response ,keyboard_le_parse_att_find_by_type_value_rsp 
-0x23b 000752 beq attop_read_by_type_response ,keyboard_le_send_att_read_by_type_rsp_mac 
-0x23c 000753 beq attop_read_response ,keyboard_le_parse_att_manu_resp 
-0x23d 000754 beq attop_read_by_type_request ,keyboard_le_parse_att_read_by_type_request 
-0x23e 000755 beq attop_read_blob_request ,p_keyboard_le_parse_att_read_blob_request 
-0x23f 000756 beq attop_read_request ,keyboard_le_parse_att_read_request 
-0x240 000757 beq attop_write_request ,keyboard_le_parse_att_write_request 
-0x241 000758 beq attop_write_command ,keyboard_le_parse_att_write_command 
-0x242 000759 branch le_parse_att2 
-:      000761 p_keyboard_le_parse_att_read_blob_request:
-0x243 000762 ifetch 2 ,contr 
-0x244 000763 store 2 ,mem_le_att_offset 
-0x245 000764 iforce rega 
-0x246 000765 fetcht 2 ,mem_le_att_handle 
-0x247 000766 fetch 2 ,mem_le_pairing_handle 
-0x248 000767 isub temp ,null 
-0x249 000768 nbranch le_send_att_read_blob_response ,zero 
-0x24a 000772 branch keyboard_le_send_att_read_blob_response 
-:      000775 p_keyboard_value_tpye_consumer_set:
-0x24b 000776 copy temp ,pdata 
-0x24c 000777 jam hid_reportid_bit_consumer_key ,mem_keyboard_tx_data 
-0x24d 000778 fetcht 1 ,mem_keyboard_all_press_key_count 
-0x24e 000779 sub temp ,hid_key_null ,null 
-0x24f 000780 branch keyboard_value_consumer_all_key_release ,zero 
-0x250 000781 beq hid_key_multikey_media ,p_keyboard_value_media 
-0x251 000782 beq hid_key_multikey_vol_down ,p_keyboard_value_vol_down 
-0x252 000783 beq hid_key_multikey_vol_up ,p_keyboard_value_vol_up 
-0x253 000784 beq hid_key_multikey_mute ,p_keyboard_value_mute 
-0x254 000785 beq hid_key_multikey_pre_track ,p_keyboard_value_pre_track 
-0x255 000786 beq hid_key_multikey_next_track ,p_keyboard_value_next_track 
-0x256 000787 beq hid_key_multikey_paly ,p_keyboard_value_play 
-0x257 000788 beq hid_key_multikey_stop ,p_keyboard_value_stop 
-0x258 000790 beq hid_key_ac_home ,p_keyboard_value_ac_home 
-0x259 000791 beq hid_key_mail ,p_keyboard_value_mail 
-0x25a 000792 beq hid_key_my_computer ,p_keyboard_value_my_computer 
-0x25b 000793 beq hid_key_ac_favorites ,p_keyboard_value_ac_favorites 
-0x25c 000794 beq hid_key_calculator ,p_keyboard_value_calculator 
-0x25d 000795 beq hid_key_ac_search ,p_keyboard_value_ac_search 
-0x25e 000796 beq hid_key_ac_back ,p_keyboard_value_ac_back 
-0x25f 000797 beq hid_key_os_soft_kb ,p_keyboard_value_os_soft_kb 
-0x260 000799 beq hid_key_light_down ,p_keyboard_value_light_down 
-0x261 000800 beq hid_key_light_up ,p_keyboard_value_light_up 
-0x262 000801 beq hid_key_ios_android_os_lock ,p_keyboard_value_os_lock 
-0x263 000803 beq hid_key_mac_eject ,p_keyboard_value_mac_eject 
-0x264 000804 beq hid_key_ac_forward ,p_keyboard_value_ac_forward 
-0x265 000805 beq hid_key_ac_stop ,p_keyboard_value_ac_stop 
-0x266 000806 beq hid_key_ac_refresh ,p_keyboard_value_ac_refresh 
-0x267 000808 beq hid_key_system_sleep ,p_keyboard_value_system_sleep 
-0x268 000809 branch keyboard_motion_data_check_next 
-:      000811 p_keyboard_value_media:
-0x269 000812 fetch 1 ,mem_device_flag 
-0x26a 000813 bne mode_24g_device ,keyboard_value_media 
-0x26b 000814 setarg 0x0183 
-:      000816 p_keyboard_24g_standard_data_send:
-0x26c 000817 store 2 ,mem_keyboard_tx_data + 1 
-0x26d 000818 jam hid_reportid_consumer_key ,mem_keyboard_tx_data 
-0x26e 000819 branch keyboard_motion_data_check_next 
-:      000821 p_keyboard_value_vol_down:
-0x26f 000822 fetch 1 ,mem_device_flag 
-0x270 000823 bne mode_24g_device ,keyboard_value_vol_down 
-0x271 000824 setarg 0x00ea 
-0x272 000825 branch p_keyboard_24g_standard_data_send 
-:      000827 p_keyboard_value_vol_up:
-0x273 000828 fetch 1 ,mem_device_flag 
-0x274 000829 bne mode_24g_device ,keyboard_value_vol_up 
-0x275 000830 setarg 0x00e9 
-0x276 000831 branch p_keyboard_24g_standard_data_send 
-:      000833 p_keyboard_value_mute:
-0x277 000834 fetch 1 ,mem_device_flag 
-0x278 000835 bne mode_24g_device ,keyboard_value_mute 
-0x279 000836 setarg 0x00e2 
-0x27a 000837 branch p_keyboard_24g_standard_data_send 
-:      000839 p_keyboard_value_pre_track:
-0x27b 000840 fetch 1 ,mem_device_flag 
-0x27c 000841 bne mode_24g_device ,keyboard_value_pre_track 
-0x27d 000842 setarg 0x00b6 
-0x27e 000843 branch p_keyboard_24g_standard_data_send 
-:      000845 p_keyboard_value_next_track:
-0x27f 000846 fetch 1 ,mem_device_flag 
-0x280 000847 bne mode_24g_device ,keyboard_value_next_track 
-0x281 000848 setarg 0x00b5 
-0x282 000849 branch p_keyboard_24g_standard_data_send 
-:      000851 p_keyboard_value_play:
-0x283 000852 fetch 1 ,mem_device_flag 
-0x284 000853 bne mode_24g_device ,keyboard_value_play 
-0x285 000854 setarg 0x00cd 
-0x286 000855 branch p_keyboard_24g_standard_data_send 
-:      000857 p_keyboard_value_stop:
-0x287 000858 fetch 1 ,mem_device_flag 
-0x288 000859 bne mode_24g_device ,keyboard_value_stop 
-0x289 000860 setarg 0x00b7 
-0x28a 000861 branch p_keyboard_24g_standard_data_send 
-:      000863 p_keyboard_value_ac_home:
-0x28b 000864 fetch 1 ,mem_device_flag 
-0x28c 000865 bne mode_24g_device ,keyboard_value_ac_home 
-0x28d 000866 setarg 0x0223 
-0x28e 000867 branch p_keyboard_24g_standard_data_send 
-:      000869 p_keyboard_value_mail:
-0x28f 000870 fetch 1 ,mem_device_flag 
-0x290 000871 bne mode_24g_device ,keyboard_value_mail 
-0x291 000872 setarg 0x018a 
-0x292 000873 branch p_keyboard_24g_standard_data_send 
-:      000875 p_keyboard_value_my_computer:
-0x293 000876 fetch 1 ,mem_device_flag 
-0x294 000877 bne mode_24g_device ,keyboard_value_my_computer 
-0x295 000878 setarg 0x0194 
-0x296 000879 branch p_keyboard_24g_standard_data_send 
-:      000881 p_keyboard_value_ac_favorites:
-0x297 000882 fetch 1 ,mem_device_flag 
-0x298 000883 bne mode_24g_device ,keyboard_value_ac_favorites 
-0x299 000884 setarg 0x022a 
-0x29a 000885 branch p_keyboard_24g_standard_data_send 
-:      000887 p_keyboard_value_calculator:
-0x29b 000888 fetch 1 ,mem_device_flag 
-0x29c 000889 bne mode_24g_device ,keyboard_value_calculator 
-0x29d 000890 setarg 0x0192 
-0x29e 000891 branch p_keyboard_24g_standard_data_send 
-:      000893 p_keyboard_value_ac_search:
-0x29f 000894 fetch 1 ,mem_device_flag 
-0x2a0 000895 bne mode_24g_device ,keyboard_value_ac_search 
-0x2a1 000896 fetch 1 ,mem_kb_computer_system 
-0x2a2 000897 beq system_os_ios ,p_keyboard_value_ac_home 
-0x2a3 000898 beq system_os_mac ,p_keyboard_value_ac_home 
-0x2a4 000899 setarg 0x0221 
-0x2a5 000900 branch p_keyboard_24g_standard_data_send 
-:      000902 p_keyboard_value_ac_back:
-0x2a6 000903 fetch 1 ,mem_device_flag 
-0x2a7 000904 bne mode_24g_device ,keyboard_value_ac_back 
-0x2a8 000905 setarg 0x0224 
-0x2a9 000906 branch p_keyboard_24g_standard_data_send 
-:      000908 p_keyboard_value_os_soft_kb:
-0x2aa 000909 fetch 1 ,mem_device_flag 
-0x2ab 000910 bne mode_24g_device ,keyboard_value_os_soft_kb 
-0x2ac 000911 fetch 1 ,mem_kb_computer_system 
-0x2ad 000912 beq system_os_android ,p_keyboard_value_os_soft_kb_android 
-0x2ae 000913 setarg 0x01ae 
-0x2af 000914 branch p_keyboard_24g_standard_data_send 
-:      000916 p_keyboard_value_os_soft_kb_android:
-0x2b0 000917 setarg 0x0307 
-0x2b1 000918 branch p_keyboard_24g_standard_data_send 
-:      000920 p_keyboard_value_light_down:
-0x2b2 000921 fetch 1 ,mem_device_flag 
-0x2b3 000922 bne mode_24g_device ,keyboard_value_light_down 
-0x2b4 000923 setarg 0x0070 
-0x2b5 000924 branch p_keyboard_24g_standard_data_send 
-:      000926 p_keyboard_value_light_up:
-0x2b6 000927 fetch 1 ,mem_device_flag 
-0x2b7 000928 bne mode_24g_device ,keyboard_value_light_up 
-0x2b8 000929 setarg 0x006f 
-0x2b9 000930 branch p_keyboard_24g_standard_data_send 
-:      000932 p_keyboard_value_os_lock:
-0x2ba 000933 fetch 1 ,mem_device_flag 
-0x2bb 000934 bne mode_24g_device ,keyboard_value_os_lock 
-0x2bc 000935 setarg 0x0030 
-0x2bd 000936 branch p_keyboard_24g_standard_data_send 
-:      000938 p_keyboard_value_mac_eject:
-0x2be 000939 fetch 1 ,mem_device_flag 
-0x2bf 000940 bne mode_24g_device ,keyboard_value_mac_eject 
-0x2c0 000941 setarg 0x00b8 
-0x2c1 000942 branch p_keyboard_24g_standard_data_send 
-:      000944 p_keyboard_value_ac_forward:
-0x2c2 000945 fetch 1 ,mem_device_flag 
-0x2c3 000946 bne mode_24g_device ,keyboard_value_ac_forward 
-0x2c4 000947 setarg 0x0225 
-0x2c5 000948 branch p_keyboard_24g_standard_data_send 
-:      000950 p_keyboard_value_ac_stop:
-0x2c6 000951 fetch 1 ,mem_device_flag 
-0x2c7 000952 bne mode_24g_device ,keyboard_value_ac_stop 
-0x2c8 000953 setarg 0x0226 
-0x2c9 000954 branch p_keyboard_24g_standard_data_send 
-:      000956 p_keyboard_value_ac_refresh:
-0x2ca 000957 fetch 1 ,mem_device_flag 
-0x2cb 000958 bne mode_24g_device ,keyboard_value_ac_refresh 
-0x2cc 000959 setarg 0x0227 
-0x2cd 000960 branch p_keyboard_24g_standard_data_send 
-:      000962 p_keyboard_value_system_sleep:
-0x2ce 000963 fetch 1 ,mem_device_flag 
-0x2cf 000964 bne mode_24g_device ,keyboard_value_system_sleep 
-0x2d0 000965 jam hid_reportid_system_ctrl ,mem_keyboard_tx_data 
-0x2d1 000966 setarg 0x02 
-0x2d2 000967 store 1 ,mem_keyboard_tx_data + 1 
-0x2d3 000968 branch keyboard_motion_data_check_next 
-0x2d4 000969 beq hid_key_multikey_next_track ,keyboard_value_next_track 
-:      000972 p_keyboard_app_enter_hibernate:
-0x2d5 000973 call keyboard_setgpio_hibernate 
-0x2d6 000974 branch app_enter_hibernate 
-:      000977 p_mouse_adc_bat_percent_lowpower_out:
-0x2d7 000978 ifetch 8 ,rega 
-0x2d8 000979 store 8 ,mem_pdatatemp 
-:      000980 p_mouse_adc_bat_percent_lowpower_out_battery:
-0x2d9 000981 call adc_clear_no_power_flag 
-0x2da 000982 call p_adc_clear_low_power_flag 
-0x2db 000983 fetch 2 ,mem_pdatatemp + 6 
-0x2dc 000984 fetcht 2 ,mem_pdatatemp + 2 
-0x2dd 000985 isub temp ,null 
-0x2de 000986 ncall adc_set_no_power_flag ,positive 
-0x2df 000987 fetcht 2 ,mem_pdatatemp + 4 
-0x2e0 000988 isub temp ,null 
-0x2e1 000989 ncall p_adc_set_low_power_flag ,positive 
-0x2e2 000990 branch mouse_adc_bat_level_set 
-:      000992 p_adc_clear_low_power_flag:
-0x2e3 000993 fetcht 1 ,mem_adc_power_flag 
-0x2e4 000994 set0 0 ,temp 
-0x2e5 000995 branch adc_set_power_flag 
-:      000997 p_adc_set_low_power_flag:
-0x2e6 000998 fetcht 1 ,mem_adc_power_flag 
-0x2e7 000999 set1 0 ,temp 
-0x2e8 001000 branch adc_set_power_flag 
-:      001002 p_keyboard_adc_vol_init:
-0x2e9 001003 fetch 1 ,mem_keyboard_power_type 
-0x2ea 001004 beq keyboard_battary_1v5 ,keyboard_adc_vol_1v5_init 
-0x2eb 001005 beq keyboard_battary_3v0 ,keyboard_adc_vol_3v0_init 
-0x2ec 001006 beq keyboard_battary_4v2 ,p_keyboard_adc_vol_4v2_init 
-0x2ed 001007 branch keyboard_adc_vol_1v5_init 
-:      001009 p_keyboard_adc_vol_4v2_init:
-0x2ee 001010 setarg 0x2c1270 
-0x2ef 001011 store 3 ,mem_keyboard_vdd_full_vol 
-0x2f0 001012 setarg 0x014001 
-0x2f1 001013 istore 3 ,contw 
-0x2f2 001014 rtn 
-:      001017 p_gpio_set_ds_bit:
-0x2f3 001018 arg core_gpio_ds ,contw 
-0x2f4 001019 and temp ,0x07 ,queue 
-0x2f5 001020 rshift3 temp ,pdata 
-0x2f6 001021 and_into 3 ,pdata 
-0x2f7 001022 iadd contw ,contw 
-0x2f8 001023 ifetch 1 ,contw 
-0x2f9 001024 qset1 pdata 
-0x2fa 001025 istore 1 ,contw 
-0x2fb 001026 rtn 
+0x182 000509 call keyboard_clk_state_high 
+0x183 000511 call p_keyboard_keyscan_exmcu_get_col_value 
+0x184 000512 sub pdata ,11 ,null 
+0x185 000513 branch p_keyboard_keyscan_exmcu_start_loop ,positive 
+0x186 000514 branch keyboard_clk_state_low 
+:      000516 p_keyboard_keyscan_exmcu_get_col_value:
+0x187 000517 jam 0 ,mem_keyscan_value_temp 
+0x188 000518 call p_keyboard_keyscan_get_col_value 
+0x189 000519 fetch 2 ,mem_keyscan_exmcu_value_ptr 
+:      000520 p_keyboard_keyscan_value_store:
+0x18a 000521 copy pdata ,contw 
+0x18b 000522 fetch 1 ,mem_keyscan_col_loop_count 
+0x18c 000523 iadd contw ,contw 
+0x18d 000524 fetch 1 ,mem_keyscan_value_temp 
+0x18e 000525 istore 1 ,contw 
+0x18f 000526 fetch 1 ,mem_keyscan_col_loop_count 
+0x190 000527 increase 1 ,pdata 
+0x191 000528 store 1 ,mem_keyscan_col_loop_count 
+0x192 000529 rtn 
+:      000530 p_keyboard_keyscan_get_col_value:
+0x193 000531 fetch 2 ,mem_kb_row_ptr 
+0x194 000532 copy pdata ,regc 
+0x195 000533 arg 8 ,loopcnt 
+:      000534 p_keyboard_keyscan_get_col_value_loop:
+0x196 000535 ifetcht 1 ,regc 
+0x197 000536 call gpio_out_inactive 
+0x198 000537 nop 120 
+0x199 000538 ifetcht 1 ,regc 
+0x19a 000539 call gpio_set_high_impedance 
+0x19b 000540 nop 120 
+0x19c 000541 ifetcht 1 ,regc 
+0x19d 000542 call gpio_get_bit 
+0x19e 000543 fetch 1 ,mem_keyscan_value_temp 
+0x19f 000544 rshift pdata ,pdata 
+0x1a0 000545 setflag true ,7 ,pdata 
+0x1a1 000546 store 1 ,mem_keyscan_value_temp 
+0x1a2 000547 increase 1 ,regc 
+0x1a3 000548 loop p_keyboard_keyscan_get_col_value_loop 
+0x1a4 000549 rtn 
+:      000551 p_keyboard_lpm_before_common:
+0x1a5 000552 call clear_wake 
+0x1a6 000554 fetcht 1 ,mem_keyboard_pb_button_gpio 
+0x1a7 000555 call gpio_set_wake 
+0x1a8 000557 fetch 2 ,mem_kb_col_ptr 
+0x1a9 000558 copy pdata ,regb 
+0x1aa 000559 arg 20 ,loopcnt 
+:      000560 p_keyboard_key_col_wake_init:
+0x1ab 000561 ifetcht 1 ,regb 
+0x1ac 000562 isolate1 7 ,temp 
+0x1ad 000563 ncall gpio_out_active ,true 
+0x1ae 000564 increase 1 ,regb 
+0x1af 000565 loop p_keyboard_key_col_wake_init 
+0x1b0 000567 call keyboard_gpio_pu_idle 
+0x1b1 000568 jam 0 ,mem_qdec_set_flag 
+0x1b2 000570 fetch 2 ,mem_kb_row_ptr 
+0x1b3 000571 copy pdata ,regb 
+0x1b4 000572 arg 8 ,loopcnt 
+:      000573 p_keyboard_key_row_wake_init:
+0x1b5 000574 ifetcht 1 ,regb 
+0x1b6 000575 sub temp ,ui_button_gpio_disable ,null 
+0x1b7 000576 ncall p_keyboard_key_row_wake_set ,zero 
+0x1b8 000577 ifetcht 1 ,regb 
+0x1b9 000578 call gpio_set_high_impedance 
+0x1ba 000579 increase 1 ,regb 
+0x1bb 000580 loop p_keyboard_key_row_wake_init 
+0x1bc 000582 call lpm_puchk_set_check 
+0x1bd 000583 call lpm_write_gpio_wakeup 
+0x1be 000584 fetcht 1 ,mem_device_reuse_2ice_gpio 
+0x1bf 000585 call device_gpio_config_input_pu 
+0x1c0 000586 call mouse_gpio_set_analog 
+0x1c1 000587 branch keyboard_adc_gpio_set_before_hibernate 
+:      000589 p_keyboard_key_row_wake_set:
+0x1c2 000590 fetch 1 ,mem_same_keyvalue_timerout_flag 
+0x1c3 000591 branch gpio_set_wake ,blank 
+0x1c4 000593 branch gpio_set_wake_by_current_state 
+:      000595 p_gpio_set_low_pullup_wakeup:
+0x1c5 000596 sub temp ,ui_button_gpio_disable ,null 
+0x1c6 000597 rtn zero 
+0x1c7 000598 arg 3 ,debug 
+0x1c8 000599 call get_gpio_wakeup_index 
+0x1c9 000600 isolate0 0 ,temp 
+0x1ca 000601 branch p_gpio_set_low_pullup_low4bit ,true 
+0x1cb 000602 lshift4 debug ,debug 
+:      000603 p_gpio_set_low_pullup_low4bit:
+0x1cc 000604 ifetch 1 ,contw 
+0x1cd 000605 iand alarm ,pdata 
+0x1ce 000606 ior debug ,pdata 
+0x1cf 000607 istore 1 ,contw 
+0x1d0 000608 rtn 
+:      000609 p_keyboard_device_poweron_timer:
+0x1d1 000610 fetch 1 ,mem_keyboard_device_poweron_timer 
+0x1d2 000611 rtn blank 
+0x1d3 000612 increase -1 ,pdata 
+0x1d4 000613 store 1 ,mem_keyboard_device_poweron_timer 
+0x1d5 000615 fetch keyboard_flag_len ,mem_keyboard_flag 
+0x1d6 000616 bbit1 keyboard_enable_030_power_led ,p_keyboard_device_poweron_030_led 
+0x1d7 000617 fetch 1 ,mem_keyboard_device_poweron_timer 
+0x1d8 000618 branch keyboard_device_led_off ,blank 
+0x1d9 000619 branch keyboard_device_led_on 
+:      000621 p_keyboard_device_poweron_030_led:
+0x1da 000622 fetch 1 ,mem_keyboard_device_poweron_timer 
+0x1db 000623 branch keyboard_power_led_off ,blank 
+0x1dc 000624 branch keyboard_power_led_on 
+:      000626 p_keyboard_bb_event_timer:
+0x1dd 000627 call keyboard_low_voltage_param_set 
+0x1de 000628 call keyboard_adc_read 
+0x1df 000629 call keyboard_adc_gpio_set_before_hibernate 
+0x1e0 000632 call keyboard_low_voltage_led_timer 
+0x1e1 000633 call keyboard_num_capslock_led_on_timer 
+0x1e2 000634 call keyboard_rgb_on_timer 
+0x1e3 000635 call p_keyboard_device_poweron_timer 
+0x1e4 000636 call keyboard_mode_led_timer 
+0x1e5 000637 call keyboard_device_pair_led_timer 
+0x1e6 000639 call p_keyboard_key_press_timer 
+0x1e7 000640 call keyboard_commbination_key_process 
+0x1e8 000641 call keyboard_same_key_long_press_timer 
+0x1e9 000644 call g24_pair_timeout_timer 
+0x1ea 000645 call g24_reconn_timeout_timer 
+0x1eb 000646 call mouse_24g_long_sleep_param_update_timer 
+0x1ec 000647 call keyboard_24g_repeat_send_data 
+0x1ed 000648 call keyboard_24g_led_status_get_timer 
+0x1ee 000651 call keyboard_check_discovery_timeout_timer 
+0x1ef 000652 call keyboard_check_direct_timeout_timer 
+0x1f0 000653 call mouse_le_enable_att_list_timer 
+0x1f1 000654 call keyboard_le_battery_updata_timer 
+0x1f2 000655 call mouse_le_send_smp_security_request_timer 
+0x1f3 000656 call keyboard_le_send_conn_param_update_timer 
+0x1f4 000657 call keyboard_le_auto_recognize_timer 
+0x1f5 000659 call mouse_current_mult_update_timer 
+0x1f6 000660 call keyboard_store_information_delay_timer 
+0x1f7 000661 call keyboard_commbination_delay_release_timer 
+0x1f8 000662 call keyboard_usb_updata_timer 
+0x1f9 000663 branch keyboard_check_no_data_timeout_timer 
+:      000665 p_keyboard_key_press_timer:
+0x1fa 000666 fetch 1 ,mem_keyboard_switch_device_flag 
+0x1fb 000667 bbit1 keyboard_flag_g24_device_button ,p_keyboard_device_select_g24_press_timer 
+0x1fc 000668 call p_keyboard_device_select_g24_nopress_timer 
+0x1fd 000669 fetch 1 ,mem_keyboard_switch_device_flag 
+0x1fe 000670 bbit1 keyboard_flag_bt_device_button ,p_keyboard_device_select_bt_press_timer 
+0x1ff 000671 branch p_keyboard_device_select_bt_nopress_timer 
+:      000673 p_keyboard_device_select_g24_press_timer:
+0x200 000674 fetch 1 ,mem_keyboard_switch_g24_press_timer 
+0x201 000675 sub pdata ,100 ,null 
+0x202 000676 nrtn positive 
+0x203 000677 increase 1 ,pdata 
+0x204 000678 store 1 ,mem_keyboard_switch_g24_press_timer 
+0x205 000679 rtnne 25 
+0x206 000680 jam 0 ,mem_keyboard_switch_g24_enable 
+0x207 000681 fetch 1 ,mem_device_flag 
+0x208 000682 rtneq mode_usb_device 
+0x209 000683 call p_keyboard_store_device_number 
+0x20a 000684 call keyboard_stop_bluetooth_mode 
+0x20b 000685 branch keyboard_24g_start_pair_mode 
+:      000687 p_keyboard_device_select_bt_press_timer:
+0x20c 000688 fetch 1 ,mem_keyboard_switch_bt_press_timer 
+0x20d 000689 sub pdata ,100 ,null 
+0x20e 000690 nrtn positive 
+0x20f 000691 increase 1 ,pdata 
+0x210 000692 store 1 ,mem_keyboard_switch_bt_press_timer 
+0x211 000693 rtnne 25 
+0x212 000694 jam 0 ,mem_keyboard_switch_bt_enable 
+0x213 000695 fetch 1 ,mem_device_flag 
+0x214 000696 rtneq mode_usb_device 
+0x215 000697 call p_keyboard_store_device_number 
+0x216 000698 call hid_device_le_send_empty_packet 
+0x217 000699 branch keyboard_long_button_bt_discovery 
+:      000702 p_keyboard_device_select_g24_nopress_timer:
+0x218 000703 jam 0 ,mem_keyboard_switch_g24_press_timer 
+0x219 000704 fetch 1 ,mem_keyboard_switch_g24_enable 
+0x21a 000705 rtn blank 
+0x21b 000706 jam 0 ,mem_keyboard_switch_g24_enable 
+0x21c 000707 call p_keyboard_store_device_number 
+0x21d 000708 branch soft_reset_chip 
+:      000710 p_keyboard_device_select_bt_nopress_timer:
+0x21e 000711 jam 0 ,mem_keyboard_switch_bt_press_timer 
+0x21f 000712 fetch 1 ,mem_keyboard_switch_bt_enable 
+0x220 000713 rtn blank 
+0x221 000714 jam 0 ,mem_keyboard_switch_bt_enable 
+0x222 000715 call keyboard_store_device_number 
+0x223 000716 branch soft_reset_chip 
+:      000718 p_keyboard_store_device_number:
+0x224 000719 fetch keyboard_flag_len ,mem_keyboard_flag 
+0x225 000720 bbit1 keyboard_enable_otp ,mouse_write_otp_device_flag 
+0x226 000721 bbit1 keyboard_enable_eeprom ,keyboard_store_device_number 
+0x227 000722 rtn 
+:      000724 p_keyboard_long_button_bt_discovery:
+0x228 000725 branch keyboard_long_button_bt_discovery + 2 
+:      000728 p_keyboard_setting_config_next:
+0x229 000729 fetch keyboard_flag_len ,mem_keyboard_flag 
+0x22a 000731 bbit1 keyboard_enable_otp ,keyboard_load_otp_info 
+0x22b 000732 branch keyboard_setting_config + 11 
+:      000734 p_keyboard_load_2k_eeprom_info:
+0x22c 000735 fetch keyboard_flag_len ,mem_keyboard_flag 
+0x22d 000736 bbit0 keyboard_enable_sda_multi_r_line ,p_keyboard_load_2k_eeprom_device_info_next 
+0x22e 000737 fetcht 1 ,mem_eeprom_sda_gpio 
+0x22f 000738 call device_gpio_config_input_pu 
+0x230 000739 fetcht 1 ,mem_eeprom_sda_gpio 
+0x231 000740 call gpio_get_bit 
+0x232 000741 branch p_keyboard_load_2k_eeprom_info ,true 
+:      000742 p_keyboard_load_2k_eeprom_device_info_next:
+0x233 000743 call keyboard_eeprom_init 
+0x234 000744 arg 128 ,temp 
+0x235 000745 arg mem_device_flag ,rega 
+0x236 000746 arg keyboard_device_number_eeprom_offect ,regb 
+0x237 000747 call iicd_read_eep_data 
+0x238 000748 branch keyboard_load_info_check 
+:      000750 p_keyboard_le_parse_att:
+0x239 000751 copy rega ,contr 
+0x23a 000752 ifetch 3 ,contr 
+0x23b 000753 store 3 ,mem_le_att_opcode 
+0x23c 000754 beq attop_error_response ,keyboard_le_send_att_find_by_type_value_request_mac 
+0x23d 000755 beq attop_find_by_type_value_response ,keyboard_le_parse_att_find_by_type_value_rsp 
+0x23e 000756 beq attop_read_by_type_response ,keyboard_le_send_att_read_by_type_rsp_mac 
+0x23f 000757 beq attop_read_response ,keyboard_le_parse_att_manu_resp 
+0x240 000758 beq attop_read_by_type_request ,keyboard_le_parse_att_read_by_type_request 
+0x241 000759 beq attop_read_blob_request ,p_keyboard_le_parse_att_read_blob_request 
+0x242 000760 beq attop_read_request ,keyboard_le_parse_att_read_request 
+0x243 000761 beq attop_write_request ,keyboard_le_parse_att_write_request 
+0x244 000762 beq attop_write_command ,keyboard_le_parse_att_write_command 
+0x245 000763 branch le_parse_att2 
+:      000765 p_keyboard_le_parse_att_read_blob_request:
+0x246 000766 ifetch 2 ,contr 
+0x247 000767 store 2 ,mem_le_att_offset 
+0x248 000768 iforce rega 
+0x249 000769 fetcht 2 ,mem_le_att_handle 
+0x24a 000770 fetch 2 ,mem_le_pairing_handle 
+0x24b 000771 isub temp ,null 
+0x24c 000772 nbranch le_send_att_read_blob_response ,zero 
+0x24d 000776 branch keyboard_le_send_att_read_blob_response 
+:      000779 p_keyboard_value_tpye_consumer_set:
+0x24e 000780 copy temp ,pdata 
+0x24f 000781 jam hid_reportid_bit_consumer_key ,mem_keyboard_tx_data 
+0x250 000782 fetcht 1 ,mem_keyboard_all_press_key_count 
+0x251 000783 sub temp ,hid_key_null ,null 
+0x252 000784 branch keyboard_value_consumer_all_key_release ,zero 
+0x253 000785 beq hid_key_multikey_media ,p_keyboard_value_media 
+0x254 000786 beq hid_key_multikey_vol_down ,p_keyboard_value_vol_down 
+0x255 000787 beq hid_key_multikey_vol_up ,p_keyboard_value_vol_up 
+0x256 000788 beq hid_key_multikey_mute ,p_keyboard_value_mute 
+0x257 000789 beq hid_key_multikey_pre_track ,p_keyboard_value_pre_track 
+0x258 000790 beq hid_key_multikey_next_track ,p_keyboard_value_next_track 
+0x259 000791 beq hid_key_multikey_paly ,p_keyboard_value_play 
+0x25a 000792 beq hid_key_multikey_stop ,p_keyboard_value_stop 
+0x25b 000794 beq hid_key_ac_home ,p_keyboard_value_ac_home 
+0x25c 000795 beq hid_key_mail ,p_keyboard_value_mail 
+0x25d 000796 beq hid_key_my_computer ,p_keyboard_value_my_computer 
+0x25e 000797 beq hid_key_ac_favorites ,p_keyboard_value_ac_favorites 
+0x25f 000798 beq hid_key_calculator ,p_keyboard_value_calculator 
+0x260 000799 beq hid_key_ac_search ,p_keyboard_value_ac_search 
+0x261 000800 beq hid_key_ac_back ,p_keyboard_value_ac_back 
+0x262 000801 beq hid_key_os_soft_kb ,p_keyboard_value_os_soft_kb 
+0x263 000803 beq hid_key_light_down ,p_keyboard_value_light_down 
+0x264 000804 beq hid_key_light_up ,p_keyboard_value_light_up 
+0x265 000805 beq hid_key_ios_android_os_lock ,p_keyboard_value_os_lock 
+0x266 000807 beq hid_key_mac_eject ,p_keyboard_value_mac_eject 
+0x267 000808 beq hid_key_ac_forward ,p_keyboard_value_ac_forward 
+0x268 000809 beq hid_key_ac_stop ,p_keyboard_value_ac_stop 
+0x269 000810 beq hid_key_ac_refresh ,p_keyboard_value_ac_refresh 
+0x26a 000812 beq hid_key_system_sleep ,p_keyboard_value_system_sleep 
+0x26b 000813 branch keyboard_motion_data_check_next 
+:      000815 p_keyboard_value_media:
+0x26c 000816 fetch 1 ,mem_device_flag 
+0x26d 000817 bne mode_24g_device ,keyboard_value_media 
+0x26e 000818 setarg 0x0183 
+:      000820 p_keyboard_24g_standard_data_send:
+0x26f 000821 store 2 ,mem_keyboard_tx_data + 1 
+0x270 000822 jam hid_reportid_consumer_key ,mem_keyboard_tx_data 
+0x271 000823 branch keyboard_motion_data_check_next 
+:      000825 p_keyboard_value_vol_down:
+0x272 000826 fetch 1 ,mem_device_flag 
+0x273 000827 bne mode_24g_device ,keyboard_value_vol_down 
+0x274 000828 setarg 0x00ea 
+0x275 000829 branch p_keyboard_24g_standard_data_send 
+:      000831 p_keyboard_value_vol_up:
+0x276 000832 fetch 1 ,mem_device_flag 
+0x277 000833 bne mode_24g_device ,keyboard_value_vol_up 
+0x278 000834 setarg 0x00e9 
+0x279 000835 branch p_keyboard_24g_standard_data_send 
+:      000837 p_keyboard_value_mute:
+0x27a 000838 fetch 1 ,mem_device_flag 
+0x27b 000839 bne mode_24g_device ,keyboard_value_mute 
+0x27c 000840 setarg 0x00e2 
+0x27d 000841 branch p_keyboard_24g_standard_data_send 
+:      000843 p_keyboard_value_pre_track:
+0x27e 000844 fetch 1 ,mem_device_flag 
+0x27f 000845 bne mode_24g_device ,keyboard_value_pre_track 
+0x280 000846 setarg 0x00b6 
+0x281 000847 branch p_keyboard_24g_standard_data_send 
+:      000849 p_keyboard_value_next_track:
+0x282 000850 fetch 1 ,mem_device_flag 
+0x283 000851 bne mode_24g_device ,keyboard_value_next_track 
+0x284 000852 setarg 0x00b5 
+0x285 000853 branch p_keyboard_24g_standard_data_send 
+:      000855 p_keyboard_value_play:
+0x286 000856 fetch 1 ,mem_device_flag 
+0x287 000857 bne mode_24g_device ,keyboard_value_play 
+0x288 000858 setarg 0x00cd 
+0x289 000859 branch p_keyboard_24g_standard_data_send 
+:      000861 p_keyboard_value_stop:
+0x28a 000862 fetch 1 ,mem_device_flag 
+0x28b 000863 bne mode_24g_device ,keyboard_value_stop 
+0x28c 000864 setarg 0x00b7 
+0x28d 000865 branch p_keyboard_24g_standard_data_send 
+:      000867 p_keyboard_value_ac_home:
+0x28e 000868 fetch 1 ,mem_device_flag 
+0x28f 000869 bne mode_24g_device ,keyboard_value_ac_home 
+0x290 000870 setarg 0x0223 
+0x291 000871 branch p_keyboard_24g_standard_data_send 
+:      000873 p_keyboard_value_mail:
+0x292 000874 fetch 1 ,mem_device_flag 
+0x293 000875 bne mode_24g_device ,keyboard_value_mail 
+0x294 000876 setarg 0x018a 
+0x295 000877 branch p_keyboard_24g_standard_data_send 
+:      000879 p_keyboard_value_my_computer:
+0x296 000880 fetch 1 ,mem_device_flag 
+0x297 000881 bne mode_24g_device ,keyboard_value_my_computer 
+0x298 000882 setarg 0x0194 
+0x299 000883 branch p_keyboard_24g_standard_data_send 
+:      000885 p_keyboard_value_ac_favorites:
+0x29a 000886 fetch 1 ,mem_device_flag 
+0x29b 000887 bne mode_24g_device ,keyboard_value_ac_favorites 
+0x29c 000888 setarg 0x022a 
+0x29d 000889 branch p_keyboard_24g_standard_data_send 
+:      000891 p_keyboard_value_calculator:
+0x29e 000892 fetch 1 ,mem_device_flag 
+0x29f 000893 bne mode_24g_device ,keyboard_value_calculator 
+0x2a0 000894 setarg 0x0192 
+0x2a1 000895 branch p_keyboard_24g_standard_data_send 
+:      000897 p_keyboard_value_ac_search:
+0x2a2 000898 fetch 1 ,mem_device_flag 
+0x2a3 000899 bne mode_24g_device ,keyboard_value_ac_search 
+0x2a4 000900 fetch 1 ,mem_kb_computer_system 
+0x2a5 000901 beq system_os_ios ,p_keyboard_value_ac_home 
+0x2a6 000902 beq system_os_mac ,p_keyboard_value_ac_home 
+0x2a7 000903 setarg 0x0221 
+0x2a8 000904 branch p_keyboard_24g_standard_data_send 
+:      000906 p_keyboard_value_ac_back:
+0x2a9 000907 fetch 1 ,mem_device_flag 
+0x2aa 000908 bne mode_24g_device ,keyboard_value_ac_back 
+0x2ab 000909 setarg 0x0224 
+0x2ac 000910 branch p_keyboard_24g_standard_data_send 
+:      000912 p_keyboard_value_os_soft_kb:
+0x2ad 000913 fetch 1 ,mem_device_flag 
+0x2ae 000914 bne mode_24g_device ,keyboard_value_os_soft_kb 
+0x2af 000915 fetch 1 ,mem_kb_computer_system 
+0x2b0 000916 beq system_os_android ,p_keyboard_value_os_soft_kb_android 
+0x2b1 000917 setarg 0x01ae 
+0x2b2 000918 branch p_keyboard_24g_standard_data_send 
+:      000920 p_keyboard_value_os_soft_kb_android:
+0x2b3 000921 setarg 0x0307 
+0x2b4 000922 branch p_keyboard_24g_standard_data_send 
+:      000924 p_keyboard_value_light_down:
+0x2b5 000925 fetch 1 ,mem_device_flag 
+0x2b6 000926 bne mode_24g_device ,keyboard_value_light_down 
+0x2b7 000927 setarg 0x0070 
+0x2b8 000928 branch p_keyboard_24g_standard_data_send 
+:      000930 p_keyboard_value_light_up:
+0x2b9 000931 fetch 1 ,mem_device_flag 
+0x2ba 000932 bne mode_24g_device ,keyboard_value_light_up 
+0x2bb 000933 setarg 0x006f 
+0x2bc 000934 branch p_keyboard_24g_standard_data_send 
+:      000936 p_keyboard_value_os_lock:
+0x2bd 000937 fetch 1 ,mem_device_flag 
+0x2be 000938 bne mode_24g_device ,keyboard_value_os_lock 
+0x2bf 000939 setarg 0x0030 
+0x2c0 000940 branch p_keyboard_24g_standard_data_send 
+:      000942 p_keyboard_value_mac_eject:
+0x2c1 000943 fetch 1 ,mem_device_flag 
+0x2c2 000944 bne mode_24g_device ,keyboard_value_mac_eject 
+0x2c3 000945 setarg 0x00b8 
+0x2c4 000946 branch p_keyboard_24g_standard_data_send 
+:      000948 p_keyboard_value_ac_forward:
+0x2c5 000949 fetch 1 ,mem_device_flag 
+0x2c6 000950 bne mode_24g_device ,keyboard_value_ac_forward 
+0x2c7 000951 setarg 0x0225 
+0x2c8 000952 branch p_keyboard_24g_standard_data_send 
+:      000954 p_keyboard_value_ac_stop:
+0x2c9 000955 fetch 1 ,mem_device_flag 
+0x2ca 000956 bne mode_24g_device ,keyboard_value_ac_stop 
+0x2cb 000957 setarg 0x0226 
+0x2cc 000958 branch p_keyboard_24g_standard_data_send 
+:      000960 p_keyboard_value_ac_refresh:
+0x2cd 000961 fetch 1 ,mem_device_flag 
+0x2ce 000962 bne mode_24g_device ,keyboard_value_ac_refresh 
+0x2cf 000963 setarg 0x0227 
+0x2d0 000964 branch p_keyboard_24g_standard_data_send 
+:      000966 p_keyboard_value_system_sleep:
+0x2d1 000967 fetch 1 ,mem_device_flag 
+0x2d2 000968 bne mode_24g_device ,keyboard_value_system_sleep 
+0x2d3 000969 jam hid_reportid_system_ctrl ,mem_keyboard_tx_data 
+0x2d4 000970 setarg 0x02 
+0x2d5 000971 store 1 ,mem_keyboard_tx_data + 1 
+0x2d6 000972 branch keyboard_motion_data_check_next 
+0x2d7 000973 beq hid_key_multikey_next_track ,keyboard_value_next_track 
+:      000976 p_keyboard_app_enter_hibernate:
+0x2d8 000977 call keyboard_setgpio_hibernate 
+0x2d9 000978 branch app_enter_hibernate 
+:      000981 p_mouse_adc_bat_percent_lowpower_out:
+0x2da 000982 ifetch 8 ,rega 
+0x2db 000983 store 8 ,mem_pdatatemp 
+:      000984 p_mouse_adc_bat_percent_lowpower_out_battery:
+0x2dc 000985 call adc_clear_no_power_flag 
+0x2dd 000986 call p_adc_clear_low_power_flag 
+0x2de 000987 fetch 2 ,mem_pdatatemp + 6 
+0x2df 000988 fetcht 2 ,mem_pdatatemp + 2 
+0x2e0 000989 isub temp ,null 
+0x2e1 000990 ncall adc_set_no_power_flag ,positive 
+0x2e2 000991 fetcht 2 ,mem_pdatatemp + 4 
+0x2e3 000992 isub temp ,null 
+0x2e4 000993 ncall p_adc_set_low_power_flag ,positive 
+0x2e5 000994 branch mouse_adc_bat_level_set 
+:      000996 p_adc_clear_low_power_flag:
+0x2e6 000997 fetcht 1 ,mem_adc_power_flag 
+0x2e7 000998 set0 0 ,temp 
+0x2e8 000999 branch adc_set_power_flag 
+:      001001 p_adc_set_low_power_flag:
+0x2e9 001002 fetcht 1 ,mem_adc_power_flag 
+0x2ea 001003 set1 0 ,temp 
+0x2eb 001004 branch adc_set_power_flag 
+:      001006 p_keyboard_adc_vol_init:
+0x2ec 001007 fetch 1 ,mem_keyboard_power_type 
+0x2ed 001008 beq keyboard_battary_1v5 ,keyboard_adc_vol_1v5_init 
+0x2ee 001009 beq keyboard_battary_3v0 ,keyboard_adc_vol_3v0_init 
+0x2ef 001010 beq keyboard_battary_4v2 ,p_keyboard_adc_vol_4v2_init 
+0x2f0 001011 branch keyboard_adc_vol_1v5_init 
+:      001013 p_keyboard_adc_vol_4v2_init:
+0x2f1 001014 setarg 0x2c1270 
+0x2f2 001015 store 3 ,mem_keyboard_vdd_full_vol 
+0x2f3 001016 setarg 0x014001 
+0x2f4 001017 istore 3 ,contw 
+0x2f5 001018 rtn 
+:      001021 p_gpio_set_ds_bit:
+0x2f6 001022 arg core_gpio_ds ,contw 
+0x2f7 001023 and temp ,0x07 ,queue 
+0x2f8 001024 rshift3 temp ,pdata 
+0x2f9 001025 and_into 3 ,pdata 
+0x2fa 001026 iadd contw ,contw 
+0x2fb 001027 ifetch 1 ,contw 
+0x2fc 001028 qset1 pdata 
+0x2fd 001029 istore 1 ,contw 
+0x2fe 001030 rtn 
Index: output/bt_program23.meta
===================================================================
--- /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/bt_program23.meta	(revision 6205)
+++ /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/bt_program23.meta	(working copy)
@@ -329,7 +329,10 @@
 p_keyboard_delay_lpm_timer:
 	fetch 1,mem_keyboard_delay_lpm_flag
 	rtn blank
+	fetch 1,mem_device_fast_conn_flag
+	beq 0xff,p_keyboard_delay_lpm_timer_next
 	jam 1,mem_lpm_mode
+p_keyboard_delay_lpm_timer_next:
 	jam 0,mem_keyboard_delay_lpm_flag
 	rtn
 
@@ -531,9 +534,10 @@
 p_keyboard_keyscan_get_col_value_loop:              	// loop 8 times
 	ifetcht 1,regc
 	call gpio_out_inactive
+	nop 120
 	ifetcht 1,regc
 	call gpio_set_high_impedance
-	nop 240        
+	nop 120       
 	ifetcht 1,regc       
 	call gpio_get_bit    
 	fetch 1,mem_keyscan_value_temp    
Index: output/bt_program23.rom
===================================================================
--- /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/bt_program23.rom	(revision 6205)
+++ /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/bt_program23.rom	(working copy)
@@ -3,18 +3,18 @@
 11000000000011010000000000101000
 11000000000100101000000001001000
 11000000000101000000000010001100
-11000000000111110000001000100110
+11000000000111110000001000101001
 11000000001000000000000011000010
-11000000001000011000000111011010
-11000000001000100000001011101001
+11000000001000011000000111011101
+11000000001000100000001011101100
 11000000001001001000000011010110
 11000000001001100000000011001101
-11000000001010110000001000100101
-11000000001011100000001001001011
-11000000001011110000000110100010
-11000000001101010000001000110110
-11000000001111100000001011010101
-11000000010000010000001011010111
+11000000001010110000001000101000
+11000000001011100000001001001110
+11000000001011110000000110100101
+11000000001101010000001000111001
+11000000001111100000001011011000
+11000000010000010000001011011010
 11000000011101001000000001010110
 11000000011101010000000001000101
 11000000011001111000000010011011
@@ -156,7 +156,7 @@
 00100000010000000011011100010111
 00100000010000000111001110000100
 00100000010000000000000010100000
-00100000010000000000000011111110
+00100000010000000000000100000000
 00100000001000000011111010110001
 00100000010000000000000010100111
 00100000011101011000000000000000
@@ -169,7 +169,7 @@
 00011111111000100010010000000000
 11011111001000000000000000001000
 11101000010000001000000000010010
-00100000010000000000001011110011
+00100000010000000000001011110110
 00011010010000001010010000000001
 11000010000000000000000010101010
 00100000011000000000000000000000
@@ -203,14 +203,14 @@
 11000000000000000011111111100001
 11000000000000001011111111101011
 00100000011000000000000000000000
-00100000010000000000000100101111
+00100000010000000000000100110001
 00100000010000000000000011010000
 00100000001000000100010110110100
 11011010001000000100100101001110
 11011010010000000100100101100011
 11011111001000000000000000010100
 00100000010000000111110101100110
-00100100001000101000000011111011
+00100100001000101000000011111101
 00100000001000000100001110111010
 00100000010000000000000011011000
 00100000001000000100001011011110
@@ -246,6 +246,8 @@
 00100000001000000000000011110000
 01101111111000001100110001111010
 00100000011110100000000000000000
+01101111111000001100011101001111
+11000000011111111000000011111011
 01110000010000001001010000000001
 01110000010011000111101000000000
 00100000011000000000000000000000
@@ -257,14 +259,14 @@
 00100000010000000100111100001010
 01101111111001000100100010001110
 00101111111011111111111000001010
-00100000010000001000000100101011
+00100000010000001000000100101101
 01011000000000000100100100011111
 01100111111000010100100101001000
 01011000000000000100100100100111
 01100111111000010100100101001010
 01011000000000000100100100111100
 01100111111000010100100101001100
-00100000010000000000000100010101
+00100000010000000000000100010111
 00100000010000000010001111100001
 01101111111000010100100101001010
 00011111111000100010010000000000
@@ -280,9 +282,9 @@
 11011111001000000000000000001000
 11101000010000001000000000010010
 00100000010000000110111100001011
-00100000010000000000000100011110
+00100000010000000000000100100000
 00011010010000001010010000000001
-11000010000000000000000100011000
+11000010000000000000000100011010
 00100000011000000000000000000000
 00100000010000000110111011000000
 00011000010001100111110011111111
@@ -290,7 +292,7 @@
 11011001000000000000000000000000
 00100000010000000110111010011100
 00101000010011000000000000000000
-00100000001000001000000100100110
+00100000001000001000000100101000
 00011001000100100001000000000000
 11101111111000001000000000000101
 10011110000000010111111000000000
@@ -301,7 +303,7 @@
 01111001001111111111111000000011
 01100111111100001000000101000010
 00100000011000000000000000000000
-00100000010000000000000011111110
+00100000010000000000000100000000
 01011000000000000000000000000000
 01100111111000010100100110011110
 11011000110000000100100101001110
@@ -318,16 +320,16 @@
 01101111111000010100100110011110
 00011111111000001111111000000001
 01100111111000010100100110011110
-11000010100001001000000100101111
+11000010100001001000000100110001
 01101000010010001100100100010001
 00100000010000000110111011100000
-00100100001000001000000100111101
+00100100001000001000000100111111
 00100000010000000100001110101111
 01101000010010001100100100010001
 00100000010000000110111011100000
-00100000001000001000000101000101
-00100000010000000000000101111101
-00100000010000000000000101101100
+00100000001000001000000101000111
+00100000010000000000000101111111
+00100000010000000000000101101110
 00100000010000000100001110101011
 00100000010000000100001110101101
 01101111111000010100100101001100
@@ -342,14 +344,14 @@
 10011000010001100111110000000000
 00100000001000101100001101100110
 00011010001000001010001000000001
-11000010000000000000000101010100
+11000010000000000000000101010110
 00011010010000001010010000000001
 01101111111000001100100110011101
 00011111111000001111111000000001
 01100111111000001100100110011101
 00011111111001100111110000001011
-00100000001000010000000101001111
-00100000001000000000000100010101
+00100000001000010000000101010001
+00100000001000000000000100010111
 01101111111000010100100110011000
 00011111111000100000101000000000
 00011010001000100111111000000000
@@ -361,34 +363,34 @@
 10011010011000001010011000000000
 11101111111000001000000000010011
 11100111111000001000000000000101
-00100000001000000000000101011001
+00100000001000000000000101011011
 01101111111000010100100101001010
 00011111111000100010010000000000
 01110000010010011001110100000000
 01110000010010011001110000000000
 11101000010000001000000000010010
 00101000010011111111111000000111
-00100000001000001000000101110111
+00100000001000001000000101111001
 00100000010000000110111011110001
-00100000010000000000000110010001
+00100000010000000000000110010011
 11101000010000001000000000010010
 00100000010000000110111100001011
 00011010010000001010010000000001
 01101111111000010100100110011000
 00100000010000000100001101111101
 00011111111001100111110000010011
-00100000001000010000000101101111
+00100000001000010000000101110001
 00100000011000000000000000000000
 01110000010010011001110100000000
 00100000010000000100001110101001
-00100000010000000000000110000101
+00100000010000000000000110000111
 00100000010000000100001110100111
-00100000010000000000000110000101
+00100000010000000000000110000111
 00011111111001100111110000001011
-00100000001000010000000101111110
+00100000001000010000000110000000
 00100000001000000100001110101001
 01110000010010011001110000000000
-00100000010000000000000110010001
+00100000010000000000000110010011
 01101111111000010100100110011010
 00011111111000100000101000000000
 01101111111000001100100110011101
@@ -404,9 +406,10 @@
 11011111001000000000000000001000
 11101000010000001000000000010011
 00100000010000000110111011101101
+00100000000000000000000001111000
 11101000010000001000000000010011
 00100000010000000110111100001011
-00100000000000000000000011110000
+00100000000000000000000001111000
 11101000010000001000000000010011
 00100000010000000110111011100000
 01101111111000001100100110011100
@@ -414,7 +417,7 @@
 01111001001000001111111000000111
 01100111111000001100100110011100
 00011010011000001010011000000001
-11000010000000000000000110010100
+11000010000000000000000110010110
 00100000011000000000000000000000
 00100000010000000111110111100110
 01101000010010001100100100001111
@@ -426,7 +429,7 @@
 00101000010011111111111000000111
 00100100010000001110111011110001
 00011010010000001010010000000001
-11000010000000000000000110101000
+11000010000000000000000110101011
 00100000010000000011111100011011
 01110000010010001000110000000000
 01101111111000010100100101001000
@@ -434,11 +437,11 @@
 11011111001000000000000000001000
 11101000010000001000000000010010
 00011000010001100111110011111111
-00100100010000101000000110111111
+00100100010000101000000111000010
 11101000010000001000000000010010
 00100000010000000110111100001011
 00011010010000001010010000000001
-11000010000000000000000110110010
+11000010000000000000000110110101
 00100000010000000110111101001011
 00100000010000000010001111100001
 01101000010010001100011001100110
@@ -453,7 +456,7 @@
 11011001000000000000000000000011
 00100000010000000110111010011100
 00101000010011000000000000000000
-00100000001000001000000111001001
+00100000001000001000000111001100
 00011001000100100001000000000000
 11101111111000001000000000000101
 10011110000000010111111000000000
@@ -465,7 +468,7 @@
 00011111111000001111111111111111
 01100111111000001100101011000010
 01101111111001000100100010001110
-11000010100101000000000111010111
+11000010100101000000000111011010
 01101111111000001100101011000010
 00100000001110100100000101100110
 00100000001000000100000101101100
@@ -478,10 +481,10 @@
 00100000010000000100000100000000
 00100000010000000100000110000110
 00100000010000000100000110101011
-00100000010000000000000111001110
+00100000010000000000000111010001
 00100000010000000100000100111110
 00100000010000000100000101000110
-00100000010000000000000111110111
+00100000010000000000000111111010
 00100000010000000100001010001111
 00100000010000000100001011000100
 00100000010000000011001001101100
@@ -502,11 +505,11 @@
 00100000010000000100001011001100
 00100000001000000100001011010101
 01101111111000001100100010100110
-11000010100000000000000111111101
-00100000010000000000001000010101
+11000010100000000000001000000000
+00100000010000000000001000011000
 01101111111000001100100010100110
-11000010100000001000001000001001
-00100000001000000000001000011011
+11000010100000001000001000001100
+00100000001000000000001000011110
 01101111111000001100100010101001
 00011111111001100111110001100100
 00100100011000010000000000000000
@@ -516,7 +519,7 @@
 01110000010010001010011100000000
 01101111111000001100011001111000
 11000001000000100000000000000000
-00100000010000000000001000100001
+00100000010000000000001000100100
 00100000010000000100100011100110
 00100000001000000100011010000000
 01101111111000001100100010101010
@@ -528,14 +531,14 @@
 01110000010010001010100000000000
 01101111111000001100011001111000
 11000001000000100000000000000000
-00100000010000000000001000100001
+00100000010000000000001000100100
 00100000010000000110100000100100
 00100000001000000100011001110101
 01110000010010001010100100000000
 01101111111000001100100010100111
 00100000011110100000000000000000
 01110000010010001010011100000000
-00100000010000000000001000100001
+00100000010000000000001000100100
 00100000001000000110110010011001
 01110000010010001010101000000000
 01101111111000001100100010101000
@@ -552,12 +555,12 @@
 11000010100001111011111100110001
 00100000001000000011111011001000
 01101111111001000100100010001110
-11000011000111101000001000110000
+11000011000111101000001000110011
 01101000010010001100010001000000
 00100000010000000100111100001010
 01101000010010001100010001000000
 00100000010000000110111011100000
-00100000001000001000001000101001
+00100000001000001000001000101100
 00100000010000000100000001001001
 11011000010000000000000010000000
 11011010001000000100011001111000
@@ -572,7 +575,7 @@
 11000000000001001100100100111000
 11000000000001011100100101010010
 11000000000001000100100101110001
-11000000000001100000001001000011
+11000000000001100000001001000110
 11000000000001010100100110011111
 11000000000010010100100111000101
 11000000001010010100100111001011
@@ -590,30 +593,30 @@
 01101000010010001100100110100110
 00011000010001100111110000000000
 00100000001000101100011101001011
-11000000011101000000001001101001
-11000000011101001000001001101111
-11000000011101010000001001110011
-11000000011101011000001001110111
-11000000011101100000001001111011
-11000000011101101000001001111111
-11000000011101110000001010000011
-11000000011101111000001010000111
-11000000011110000000001010001011
-11000000011110001000001010001111
-11000000011110010000001010010011
-11000000011110011000001010010111
-11000000011110100000001010011011
-11000000011110101000001010011111
-11000000011110110000001010100110
-11000000011110111000001010101010
-11000000011111000000001010110010
-11000000011111001000001010110110
-11000000011111010000001010111010
-11000000011111011000001010111110
-11000000011111100000001011000010
-11000000011111101000001011000110
-11000000011111110000001011001010
-11000000011111111000001011001110
+11000000011101000000001001101100
+11000000011101001000001001110010
+11000000011101010000001001110110
+11000000011101011000001001111010
+11000000011101100000001001111110
+11000000011101101000001010000010
+11000000011101110000001010000110
+11000000011101111000001010001010
+11000000011110000000001010001110
+11000000011110001000001010010010
+11000000011110010000001010010110
+11000000011110011000001010011010
+11000000011110100000001010011110
+11000000011110101000001010100010
+11000000011110110000001010101001
+11000000011110111000001010101101
+11000000011111000000001010110101
+11000000011111001000001010111001
+11000000011111010000001010111101
+11000000011111011000001011000001
+11000000011111100000001011000101
+11000000011111101000001011001001
+11000000011111110000001011001101
+11000000011111111000001011010001
 00100000001000000100011011100110
 01101111111000001100011001111000
 11000000100000000100011100010101
@@ -624,98 +627,98 @@
 01101111111000001100011001111000
 11000000100000000100011100011000
 01011000000000000000000011101010
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100011010
 01011000000000000000000011101001
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100011100
 01011000000000000000000011100010
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100011110
 01011000000000000000000010110110
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100100000
 01011000000000000000000010110101
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100100010
 01011000000000000000000011001101
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100100100
 01011000000000000000000010110111
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100100110
 01011000000000000000001000100011
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100101000
 01011000000000000000000110001010
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100101010
 01011000000000000000000110010100
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100101100
 01011000000000000000001000101010
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100101110
 01011000000000000000000110010010
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100110000
 01101111111000001100101010100001
-11000000000000010000001010001011
-11000000000000011000001010001011
+11000000000000010000001010001110
+11000000000000011000001010001110
 01011000000000000000001000100001
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100110010
 01011000000000000000001000100100
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100110111
 01101111111000001100101010100001
-11000000000000001000001010110000
+11000000000000001000001010110011
 01011000000000000000000110101110
-00100000001000000000001001101100
+00100000001000000000001001101111
 01011000000000000000001100000111
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100111101
 01011000000000000000000001110000
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011100111111
 01011000000000000000000001101111
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011101000001
 01011000000000000000000000110000
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011101000011
 01011000000000000000000010111000
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011101000101
 01011000000000000000001000100101
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011101000111
 01011000000000000000001000100110
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011101001001
 01011000000000000000001000100111
-00100000001000000000001001101100
+00100000001000000000001001101111
 01101111111000001100011001111000
 11000000100000000100011101010010
 01110000010010100110111100000010
@@ -728,14 +731,14 @@
 11101111111001000000000000010001
 01100111111001000000011001001110
 00100000010000000111000001010111
-00100000010000000000001011100011
+00100000010000000000001011100110
 01101111111000010000011001010100
 01101000010010010000011001010000
 10011000010001100111110000000000
 00100100010000010111000001010100
 01101000010010010000011001010010
 10011000010001100111110000000000
-00100100010000010000001011100110
+00100100010000010000001011101001
 00100000001000000100111011010000
 01101000010010001100010000100010
 01111001001111111000010000000000
@@ -746,7 +749,7 @@
 01101111111000001100100010110001
 11000000000000000100000010011000
 11000000000000001100000010011101
-11000000000000010000001011101110
+11000000000000010000001011110001
 00100000001000000100000010011000
 01011000001011000001001001110000
 01100111111000011100100010101011
Index: output/eeprom.dat
===================================================================
--- /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/eeprom.dat	(revision 6205)
+++ /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/eeprom.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-f2
+fe
 0b
 c2
 84
@@ -27,7 +27,7 @@
 c0
 1f
 02
-26
+29
 c0
 20
 00
@@ -35,11 +35,11 @@
 c0
 21
 81
-da
+dd
 c0
 22
 02
-e9
+ec
 c0
 24
 80
@@ -51,27 +51,27 @@
 c0
 2b
 02
-25
+28
 c0
 2e
 02
-4b
+4e
 c0
 2f
 01
-a2
+a5
 c0
 35
 02
-36
+39
 c0
 3e
 02
-d5
+d8
 c0
 41
 02
-d7
+da
 c0
 74
 80
@@ -638,8 +638,8 @@
 a0
 20
 40
+01
 00
-fe
 20
 20
 3e
@@ -691,7 +691,7 @@
 20
 40
 02
-f3
+f6
 1a
 40
 a4
@@ -827,7 +827,7 @@
 20
 40
 01
-2f
+31
 20
 40
 00
@@ -855,7 +855,7 @@
 24
 22
 80
-fb
+fd
 20
 20
 43
@@ -996,6 +996,14 @@
 7a
 00
 00
+6f
+e0
+c7
+4f
+c0
+7f
+80
+fb
 70
 40
 94
@@ -1043,7 +1051,7 @@
 20
 40
 81
-2b
+2d
 58
 00
 49
@@ -1071,7 +1079,7 @@
 20
 40
 01
-15
+17
 20
 40
 23
@@ -1135,7 +1143,7 @@
 20
 40
 01
-1e
+20
 1a
 40
 a4
@@ -1143,7 +1151,7 @@
 c2
 00
 01
-18
+1a
 20
 60
 00
@@ -1175,7 +1183,7 @@
 20
 20
 81
-26
+28
 19
 12
 10
@@ -1218,8 +1226,8 @@
 00
 20
 40
+01
 00
-fe
 58
 00
 00
@@ -1287,7 +1295,7 @@
 c2
 84
 81
-2f
+31
 68
 48
 c9
@@ -1299,7 +1307,7 @@
 24
 20
 81
-3d
+3f
 20
 40
 43
@@ -1315,15 +1323,15 @@
 20
 20
 81
-45
+47
 20
 40
 01
-7d
+7f
 20
 40
 01
-6c
+6e
 20
 40
 43
@@ -1383,7 +1391,7 @@
 c2
 00
 01
-54
+56
 1a
 40
 a4
@@ -1407,11 +1415,11 @@
 20
 21
 01
-4f
+51
 20
 20
 01
-15
+17
 6f
 e1
 49
@@ -1459,7 +1467,7 @@
 20
 20
 01
-59
+5b
 6f
 e1
 49
@@ -1487,7 +1495,7 @@
 20
 20
 81
-77
+79
 20
 40
 6e
@@ -1495,7 +1503,7 @@
 20
 40
 01
-91
+93
 e8
 40
 80
@@ -1523,7 +1531,7 @@
 20
 21
 01
-6f
+71
 20
 60
 00
@@ -1539,7 +1547,7 @@
 20
 40
 01
-85
+87
 20
 40
 43
@@ -1547,7 +1555,7 @@
 20
 40
 01
-85
+87
 1f
 e6
 7c
@@ -1555,7 +1563,7 @@
 20
 21
 01
-7e
+80
 20
 20
 43
@@ -1567,7 +1575,7 @@
 20
 40
 01
-91
+93
 6f
 e1
 49
@@ -1628,6 +1636,10 @@
 40
 6e
 ed
+20
+00
+00
+78
 e8
 40
 80
@@ -1639,7 +1651,7 @@
 20
 00
 00
-f0
+78
 e8
 40
 80
@@ -1671,7 +1683,7 @@
 c2
 00
 01
-94
+96
 20
 60
 00
@@ -1719,7 +1731,7 @@
 c2
 00
 01
-a8
+ab
 20
 40
 3f
@@ -1751,7 +1763,7 @@
 24
 42
 81
-bf
+c2
 e8
 40
 80
@@ -1767,7 +1779,7 @@
 c2
 00
 01
-b2
+b5
 20
 40
 6f
@@ -1827,7 +1839,7 @@
 20
 20
 81
-c9
+cc
 19
 12
 10
@@ -1875,7 +1887,7 @@
 c2
 94
 01
-d7
+da
 6f
 e0
 ca
@@ -1927,7 +1939,7 @@
 20
 40
 01
-ce
+d1
 20
 40
 41
@@ -1939,7 +1951,7 @@
 20
 40
 01
-f7
+fa
 20
 40
 42
@@ -2022,12 +2034,12 @@
 a6
 c2
 80
-01
-fd
+02
+00
 20
 40
 02
-15
+18
 6f
 e0
 c8
@@ -2035,11 +2047,11 @@
 c2
 80
 82
-09
+0c
 20
 20
 02
-1b
+1e
 6f
 e0
 c8
@@ -2079,7 +2091,7 @@
 20
 40
 02
-21
+24
 20
 40
 48
@@ -2127,7 +2139,7 @@
 20
 40
 02
-21
+24
 20
 40
 68
@@ -2155,7 +2167,7 @@
 20
 40
 02
-21
+24
 20
 20
 6c
@@ -2223,7 +2235,7 @@
 c3
 1e
 82
-30
+33
 68
 48
 c4
@@ -2243,7 +2255,7 @@
 20
 20
 82
-29
+2c
 20
 40
 40
@@ -2303,7 +2315,7 @@
 c0
 06
 02
-43
+46
 c0
 05
 49
@@ -2375,99 +2387,99 @@
 c0
 74
 02
-69
+6c
 c0
 74
 82
-6f
+72
 c0
 75
 02
-73
+76
 c0
 75
 82
-77
+7a
 c0
 76
 02
-7b
+7e
 c0
 76
 82
-7f
+82
 c0
 77
 02
-83
+86
 c0
 77
 82
-87
+8a
 c0
 78
 02
-8b
+8e
 c0
 78
 82
-8f
+92
 c0
 79
 02
-93
+96
 c0
 79
 82
-97
+9a
 c0
 7a
 02
-9b
+9e
 c0
 7a
 82
-9f
+a2
 c0
 7b
 02
-a6
+a9
 c0
 7b
 82
-aa
+ad
 c0
 7c
 02
-b2
+b5
 c0
 7c
 82
-b6
+b9
 c0
 7d
 02
-ba
+bd
 c0
 7d
 82
-be
+c1
 c0
 7e
 02
-c2
+c5
 c0
 7e
 82
-c6
+c9
 c0
 7f
 02
-ca
+cd
 c0
 7f
 82
-ce
+d1
 20
 20
 46
@@ -2511,7 +2523,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2527,7 +2539,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2543,7 +2555,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2559,7 +2571,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2575,7 +2587,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2591,7 +2603,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2607,7 +2619,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2623,7 +2635,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2639,7 +2651,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2655,7 +2667,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2671,7 +2683,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2687,7 +2699,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2703,11 +2715,11 @@
 c0
 01
 02
-8b
+8e
 c0
 01
 82
-8b
+8e
 58
 00
 02
@@ -2715,7 +2727,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2731,7 +2743,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2747,7 +2759,7 @@
 c0
 00
 82
-b0
+b3
 58
 00
 01
@@ -2755,7 +2767,7 @@
 20
 20
 02
-6c
+6f
 58
 00
 03
@@ -2763,7 +2775,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2779,7 +2791,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2795,7 +2807,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2811,7 +2823,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2827,7 +2839,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2843,7 +2855,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2859,7 +2871,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2875,7 +2887,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2927,7 +2939,7 @@
 20
 40
 02
-e3
+e6
 6f
 e1
 06
@@ -2955,7 +2967,7 @@
 24
 41
 02
-e6
+e9
 20
 20
 4e
@@ -2999,7 +3011,7 @@
 c0
 01
 02
-ee
+f1
 20
 20
 40
@@ -3060,8 +3072,8 @@
 60
 00
 00
-66
-30
+7c
+ca
 aa
 55
 40
@@ -4011,17 +4023,17 @@
 3c
 49
 c2
-c3
-c4
-c5
-c6
-c7
-80
-81
-82
-83
-84
+c1
 85
+84
+83
+82
+81
+80
+c7
+c6
+c4
+c3
 aa
 55
 1c
@@ -4572,22 +4584,10 @@
 aa
 aa
 55
-ce
+ca
 7a
-d0
-03
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+98
+00
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-98
-e5
+32
+91
Index: output/flash.dat
===================================================================
--- /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/flash.dat	(revision 6205)
+++ /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/flash.dat	(working copy)
@@ -2,7 +2,7 @@
 02
 aa
 55
-f2
+fe
 0b
 c2
 84
@@ -27,7 +27,7 @@
 c0
 1f
 02
-26
+29
 c0
 20
 00
@@ -35,11 +35,11 @@
 c0
 21
 81
-da
+dd
 c0
 22
 02
-e9
+ec
 c0
 24
 80
@@ -51,27 +51,27 @@
 c0
 2b
 02
-25
+28
 c0
 2e
 02
-4b
+4e
 c0
 2f
 01
-a2
+a5
 c0
 35
 02
-36
+39
 c0
 3e
 02
-d5
+d8
 c0
 41
 02
-d7
+da
 c0
 74
 80
@@ -638,8 +638,8 @@
 a0
 20
 40
+01
 00
-fe
 20
 20
 3e
@@ -691,7 +691,7 @@
 20
 40
 02
-f3
+f6
 1a
 40
 a4
@@ -827,7 +827,7 @@
 20
 40
 01
-2f
+31
 20
 40
 00
@@ -855,7 +855,7 @@
 24
 22
 80
-fb
+fd
 20
 20
 43
@@ -996,6 +996,14 @@
 7a
 00
 00
+6f
+e0
+c7
+4f
+c0
+7f
+80
+fb
 70
 40
 94
@@ -1043,7 +1051,7 @@
 20
 40
 81
-2b
+2d
 58
 00
 49
@@ -1071,7 +1079,7 @@
 20
 40
 01
-15
+17
 20
 40
 23
@@ -1135,7 +1143,7 @@
 20
 40
 01
-1e
+20
 1a
 40
 a4
@@ -1143,7 +1151,7 @@
 c2
 00
 01
-18
+1a
 20
 60
 00
@@ -1175,7 +1183,7 @@
 20
 20
 81
-26
+28
 19
 12
 10
@@ -1218,8 +1226,8 @@
 00
 20
 40
+01
 00
-fe
 58
 00
 00
@@ -1287,7 +1295,7 @@
 c2
 84
 81
-2f
+31
 68
 48
 c9
@@ -1299,7 +1307,7 @@
 24
 20
 81
-3d
+3f
 20
 40
 43
@@ -1315,15 +1323,15 @@
 20
 20
 81
-45
+47
 20
 40
 01
-7d
+7f
 20
 40
 01
-6c
+6e
 20
 40
 43
@@ -1383,7 +1391,7 @@
 c2
 00
 01
-54
+56
 1a
 40
 a4
@@ -1407,11 +1415,11 @@
 20
 21
 01
-4f
+51
 20
 20
 01
-15
+17
 6f
 e1
 49
@@ -1459,7 +1467,7 @@
 20
 20
 01
-59
+5b
 6f
 e1
 49
@@ -1487,7 +1495,7 @@
 20
 20
 81
-77
+79
 20
 40
 6e
@@ -1495,7 +1503,7 @@
 20
 40
 01
-91
+93
 e8
 40
 80
@@ -1523,7 +1531,7 @@
 20
 21
 01
-6f
+71
 20
 60
 00
@@ -1539,7 +1547,7 @@
 20
 40
 01
-85
+87
 20
 40
 43
@@ -1547,7 +1555,7 @@
 20
 40
 01
-85
+87
 1f
 e6
 7c
@@ -1555,7 +1563,7 @@
 20
 21
 01
-7e
+80
 20
 20
 43
@@ -1567,7 +1575,7 @@
 20
 40
 01
-91
+93
 6f
 e1
 49
@@ -1628,6 +1636,10 @@
 40
 6e
 ed
+20
+00
+00
+78
 e8
 40
 80
@@ -1639,7 +1651,7 @@
 20
 00
 00
-f0
+78
 e8
 40
 80
@@ -1671,7 +1683,7 @@
 c2
 00
 01
-94
+96
 20
 60
 00
@@ -1719,7 +1731,7 @@
 c2
 00
 01
-a8
+ab
 20
 40
 3f
@@ -1751,7 +1763,7 @@
 24
 42
 81
-bf
+c2
 e8
 40
 80
@@ -1767,7 +1779,7 @@
 c2
 00
 01
-b2
+b5
 20
 40
 6f
@@ -1827,7 +1839,7 @@
 20
 20
 81
-c9
+cc
 19
 12
 10
@@ -1875,7 +1887,7 @@
 c2
 94
 01
-d7
+da
 6f
 e0
 ca
@@ -1927,7 +1939,7 @@
 20
 40
 01
-ce
+d1
 20
 40
 41
@@ -1939,7 +1951,7 @@
 20
 40
 01
-f7
+fa
 20
 40
 42
@@ -2022,12 +2034,12 @@
 a6
 c2
 80
-01
-fd
+02
+00
 20
 40
 02
-15
+18
 6f
 e0
 c8
@@ -2035,11 +2047,11 @@
 c2
 80
 82
-09
+0c
 20
 20
 02
-1b
+1e
 6f
 e0
 c8
@@ -2079,7 +2091,7 @@
 20
 40
 02
-21
+24
 20
 40
 48
@@ -2127,7 +2139,7 @@
 20
 40
 02
-21
+24
 20
 40
 68
@@ -2155,7 +2167,7 @@
 20
 40
 02
-21
+24
 20
 20
 6c
@@ -2223,7 +2235,7 @@
 c3
 1e
 82
-30
+33
 68
 48
 c4
@@ -2243,7 +2255,7 @@
 20
 20
 82
-29
+2c
 20
 40
 40
@@ -2303,7 +2315,7 @@
 c0
 06
 02
-43
+46
 c0
 05
 49
@@ -2375,99 +2387,99 @@
 c0
 74
 02
-69
+6c
 c0
 74
 82
-6f
+72
 c0
 75
 02
-73
+76
 c0
 75
 82
-77
+7a
 c0
 76
 02
-7b
+7e
 c0
 76
 82
-7f
+82
 c0
 77
 02
-83
+86
 c0
 77
 82
-87
+8a
 c0
 78
 02
-8b
+8e
 c0
 78
 82
-8f
+92
 c0
 79
 02
-93
+96
 c0
 79
 82
-97
+9a
 c0
 7a
 02
-9b
+9e
 c0
 7a
 82
-9f
+a2
 c0
 7b
 02
-a6
+a9
 c0
 7b
 82
-aa
+ad
 c0
 7c
 02
-b2
+b5
 c0
 7c
 82
-b6
+b9
 c0
 7d
 02
-ba
+bd
 c0
 7d
 82
-be
+c1
 c0
 7e
 02
-c2
+c5
 c0
 7e
 82
-c6
+c9
 c0
 7f
 02
-ca
+cd
 c0
 7f
 82
-ce
+d1
 20
 20
 46
@@ -2511,7 +2523,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2527,7 +2539,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2543,7 +2555,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2559,7 +2571,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2575,7 +2587,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2591,7 +2603,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2607,7 +2619,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2623,7 +2635,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2639,7 +2651,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2655,7 +2667,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2671,7 +2683,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2687,7 +2699,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2703,11 +2715,11 @@
 c0
 01
 02
-8b
+8e
 c0
 01
 82
-8b
+8e
 58
 00
 02
@@ -2715,7 +2727,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2731,7 +2743,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2747,7 +2759,7 @@
 c0
 00
 82
-b0
+b3
 58
 00
 01
@@ -2755,7 +2767,7 @@
 20
 20
 02
-6c
+6f
 58
 00
 03
@@ -2763,7 +2775,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2779,7 +2791,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2795,7 +2807,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2811,7 +2823,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2827,7 +2839,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2843,7 +2855,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2859,7 +2871,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2875,7 +2887,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2927,7 +2939,7 @@
 20
 40
 02
-e3
+e6
 6f
 e1
 06
@@ -2955,7 +2967,7 @@
 24
 41
 02
-e6
+e9
 20
 20
 4e
@@ -2999,7 +3011,7 @@
 c0
 01
 02
-ee
+f1
 20
 20
 40
@@ -3060,8 +3072,8 @@
 60
 00
 00
-66
-30
+7c
+ca
 aa
 55
 40
@@ -4011,17 +4023,17 @@
 3c
 49
 c2
-c3
-c4
-c5
-c6
-c7
-80
-81
-82
-83
-84
+c1
 85
+84
+83
+82
+81
+80
+c7
+c6
+c4
+c3
 aa
 55
 1c
@@ -4572,22 +4584,10 @@
 aa
 aa
 55
-ce
+ca
 7a
-d0
-03
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
-ff
+98
+00
 ff
 ff
 ff
@@ -8188,5 +8188,5 @@
 ff
 ff
 ff
-98
-e5
+32
+91
Index: output/otp.dat
===================================================================
--- /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/otp.dat	(revision 6205)
+++ /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/otp.dat	(working copy)
@@ -11,7 +11,7 @@
 00
 aa
 55
-f2
+fe
 0b
 c2
 84
@@ -36,7 +36,7 @@
 c0
 1f
 02
-26
+29
 c0
 20
 00
@@ -44,11 +44,11 @@
 c0
 21
 81
-da
+dd
 c0
 22
 02
-e9
+ec
 c0
 24
 80
@@ -60,27 +60,27 @@
 c0
 2b
 02
-25
+28
 c0
 2e
 02
-4b
+4e
 c0
 2f
 01
-a2
+a5
 c0
 35
 02
-36
+39
 c0
 3e
 02
-d5
+d8
 c0
 41
 02
-d7
+da
 c0
 74
 80
@@ -647,8 +647,8 @@
 a0
 20
 40
+01
 00
-fe
 20
 20
 3e
@@ -700,7 +700,7 @@
 20
 40
 02
-f3
+f6
 1a
 40
 a4
@@ -836,7 +836,7 @@
 20
 40
 01
-2f
+31
 20
 40
 00
@@ -864,7 +864,7 @@
 24
 22
 80
-fb
+fd
 20
 20
 43
@@ -1005,6 +1005,14 @@
 7a
 00
 00
+6f
+e0
+c7
+4f
+c0
+7f
+80
+fb
 70
 40
 94
@@ -1052,7 +1060,7 @@
 20
 40
 81
-2b
+2d
 58
 00
 49
@@ -1080,7 +1088,7 @@
 20
 40
 01
-15
+17
 20
 40
 23
@@ -1144,7 +1152,7 @@
 20
 40
 01
-1e
+20
 1a
 40
 a4
@@ -1152,7 +1160,7 @@
 c2
 00
 01
-18
+1a
 20
 60
 00
@@ -1184,7 +1192,7 @@
 20
 20
 81
-26
+28
 19
 12
 10
@@ -1227,8 +1235,8 @@
 00
 20
 40
+01
 00
-fe
 58
 00
 00
@@ -1296,7 +1304,7 @@
 c2
 84
 81
-2f
+31
 68
 48
 c9
@@ -1308,7 +1316,7 @@
 24
 20
 81
-3d
+3f
 20
 40
 43
@@ -1324,15 +1332,15 @@
 20
 20
 81
-45
+47
 20
 40
 01
-7d
+7f
 20
 40
 01
-6c
+6e
 20
 40
 43
@@ -1392,7 +1400,7 @@
 c2
 00
 01
-54
+56
 1a
 40
 a4
@@ -1416,11 +1424,11 @@
 20
 21
 01
-4f
+51
 20
 20
 01
-15
+17
 6f
 e1
 49
@@ -1468,7 +1476,7 @@
 20
 20
 01
-59
+5b
 6f
 e1
 49
@@ -1496,7 +1504,7 @@
 20
 20
 81
-77
+79
 20
 40
 6e
@@ -1504,7 +1512,7 @@
 20
 40
 01
-91
+93
 e8
 40
 80
@@ -1532,7 +1540,7 @@
 20
 21
 01
-6f
+71
 20
 60
 00
@@ -1548,7 +1556,7 @@
 20
 40
 01
-85
+87
 20
 40
 43
@@ -1556,7 +1564,7 @@
 20
 40
 01
-85
+87
 1f
 e6
 7c
@@ -1564,7 +1572,7 @@
 20
 21
 01
-7e
+80
 20
 20
 43
@@ -1576,7 +1584,7 @@
 20
 40
 01
-91
+93
 6f
 e1
 49
@@ -1637,6 +1645,10 @@
 40
 6e
 ed
+20
+00
+00
+78
 e8
 40
 80
@@ -1648,7 +1660,7 @@
 20
 00
 00
-f0
+78
 e8
 40
 80
@@ -1680,7 +1692,7 @@
 c2
 00
 01
-94
+96
 20
 60
 00
@@ -1728,7 +1740,7 @@
 c2
 00
 01
-a8
+ab
 20
 40
 3f
@@ -1760,7 +1772,7 @@
 24
 42
 81
-bf
+c2
 e8
 40
 80
@@ -1776,7 +1788,7 @@
 c2
 00
 01
-b2
+b5
 20
 40
 6f
@@ -1836,7 +1848,7 @@
 20
 20
 81
-c9
+cc
 19
 12
 10
@@ -1884,7 +1896,7 @@
 c2
 94
 01
-d7
+da
 6f
 e0
 ca
@@ -1936,7 +1948,7 @@
 20
 40
 01
-ce
+d1
 20
 40
 41
@@ -1948,7 +1960,7 @@
 20
 40
 01
-f7
+fa
 20
 40
 42
@@ -2031,12 +2043,12 @@
 a6
 c2
 80
-01
-fd
+02
+00
 20
 40
 02
-15
+18
 6f
 e0
 c8
@@ -2044,11 +2056,11 @@
 c2
 80
 82
-09
+0c
 20
 20
 02
-1b
+1e
 6f
 e0
 c8
@@ -2088,7 +2100,7 @@
 20
 40
 02
-21
+24
 20
 40
 48
@@ -2136,7 +2148,7 @@
 20
 40
 02
-21
+24
 20
 40
 68
@@ -2164,7 +2176,7 @@
 20
 40
 02
-21
+24
 20
 20
 6c
@@ -2232,7 +2244,7 @@
 c3
 1e
 82
-30
+33
 68
 48
 c4
@@ -2252,7 +2264,7 @@
 20
 20
 82
-29
+2c
 20
 40
 40
@@ -2312,7 +2324,7 @@
 c0
 06
 02
-43
+46
 c0
 05
 49
@@ -2384,99 +2396,99 @@
 c0
 74
 02
-69
+6c
 c0
 74
 82
-6f
+72
 c0
 75
 02
-73
+76
 c0
 75
 82
-77
+7a
 c0
 76
 02
-7b
+7e
 c0
 76
 82
-7f
+82
 c0
 77
 02
-83
+86
 c0
 77
 82
-87
+8a
 c0
 78
 02
-8b
+8e
 c0
 78
 82
-8f
+92
 c0
 79
 02
-93
+96
 c0
 79
 82
-97
+9a
 c0
 7a
 02
-9b
+9e
 c0
 7a
 82
-9f
+a2
 c0
 7b
 02
-a6
+a9
 c0
 7b
 82
-aa
+ad
 c0
 7c
 02
-b2
+b5
 c0
 7c
 82
-b6
+b9
 c0
 7d
 02
-ba
+bd
 c0
 7d
 82
-be
+c1
 c0
 7e
 02
-c2
+c5
 c0
 7e
 82
-c6
+c9
 c0
 7f
 02
-ca
+cd
 c0
 7f
 82
-ce
+d1
 20
 20
 46
@@ -2520,7 +2532,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2536,7 +2548,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2552,7 +2564,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2568,7 +2580,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2584,7 +2596,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2600,7 +2612,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2616,7 +2628,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2632,7 +2644,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2648,7 +2660,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2664,7 +2676,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2680,7 +2692,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2696,7 +2708,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2712,11 +2724,11 @@
 c0
 01
 02
-8b
+8e
 c0
 01
 82
-8b
+8e
 58
 00
 02
@@ -2724,7 +2736,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2740,7 +2752,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2756,7 +2768,7 @@
 c0
 00
 82
-b0
+b3
 58
 00
 01
@@ -2764,7 +2776,7 @@
 20
 20
 02
-6c
+6f
 58
 00
 03
@@ -2772,7 +2784,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2788,7 +2800,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2804,7 +2816,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2820,7 +2832,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2836,7 +2848,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2852,7 +2864,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2868,7 +2880,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2884,7 +2896,7 @@
 20
 20
 02
-6c
+6f
 6f
 e0
 c6
@@ -2936,7 +2948,7 @@
 20
 40
 02
-e3
+e6
 6f
 e1
 06
@@ -2964,7 +2976,7 @@
 24
 41
 02
-e6
+e9
 20
 20
 4e
@@ -3008,7 +3020,7 @@
 c0
 01
 02
-ee
+f1
 20
 20
 40
@@ -3069,8 +3081,8 @@
 60
 00
 00
-66
-30
+7c
+ca
 aa
 55
 40
@@ -4020,17 +4032,17 @@
 3c
 49
 c2
-c3
-c4
-c5
-c6
-c7
-80
-81
-82
-83
-84
+c1
 85
+84
+83
+82
+81
+80
+c7
+c6
+c4
+c3
 aa
 55
 1c
@@ -4581,7 +4593,7 @@
 aa
 aa
 55
-ce
+ca
 7a
-d0
-03
+98
+00
Index: output/program.lis
===================================================================
--- /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/program.lis	(revision 6205)
+++ /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/program.lis	(working copy)
@@ -5,18 +5,18 @@
 0002 c00d0028 beq patch03_2 ,p_initialize_radio_cont 
 0003 c0128048 beq patch04_5 ,p_lpm_sleep 
 0004 c014008c beq patch05_0 ,p_lpm_dispatch 
-0005 c01f0226 beq patch07_6 ,p_keyboard_setting_config_next 
+0005 c01f0229 beq patch07_6 ,p_keyboard_setting_config_next 
 0006 c02000c2 beq patch08_0 ,p_keyboard_store_device_info 
-0007 c02181da beq patch08_3 ,p_keyboard_bb_event_timer 
-0008 c02202e9 beq patch08_4 ,p_keyboard_adc_vol_init 
+0007 c02181dd beq patch08_3 ,p_keyboard_bb_event_timer 
+0008 c02202ec beq patch08_4 ,p_keyboard_adc_vol_init 
 0009 c02480d6 beq patch09_1 ,p_keyboard_idle 
 000a c02600cd beq patch09_4 ,p_kscan_dispatch 
-000b c02b0225 beq patch0a_6 ,p_keyboard_long_button_bt_discovery 
-000c c02e024b beq patch0b_4 ,p_keyboard_value_tpye_consumer_set 
-000d c02f01a2 beq patch0b_6 ,p_keyboard_lpm_before_common 
-000e c0350236 beq patch0d_2 ,p_keyboard_le_parse_att 
-000f c03e02d5 beq patch0f_4 ,p_keyboard_app_enter_hibernate 
-0010 c04102d7 beq patch10_2 ,p_mouse_adc_bat_percent_lowpower_out 
+000b c02b0228 beq patch0a_6 ,p_keyboard_long_button_bt_discovery 
+000c c02e024e beq patch0b_4 ,p_keyboard_value_tpye_consumer_set 
+000d c02f01a5 beq patch0b_6 ,p_keyboard_lpm_before_common 
+000e c0350239 beq patch0d_2 ,p_keyboard_le_parse_att 
+000f c03e02d8 beq patch0f_4 ,p_keyboard_app_enter_hibernate 
+0010 c04102da beq patch10_2 ,p_mouse_adc_bat_percent_lowpower_out 
 0011 c0748056 beq patch1d_1 ,p_otp_write 
 0012 c0750045 beq patch1d_2 ,p_otp_read_data 
 0013 c067809b beq patch19_7 ,p_keyboard_init 
@@ -188,7 +188,7 @@
 009b 20403717 call app_param_init 
 009c 20407384 call enable_authrom 
 009d 204000a0 call p_keyboard_setting_config 
-009e 204000fe call p_keyboard_gpio_init 
+009e 20400100 call p_keyboard_gpio_init 
 009f 20203eb1 branch keyboard_init + 3 
 
 p_keyboard_setting_config:
@@ -207,7 +207,7 @@
 
 p_keyboard_gpio_drive_strength_loop:
 00aa e8408012 ifetcht 1 ,regb 
-00ab 204002f3 call p_gpio_set_ds_bit 
+00ab 204002f6 call p_gpio_set_ds_bit 
 00ac 1a40a401 increase 1 ,regb 
 00ad c20000aa loop p_keyboard_gpio_drive_strength_loop 
 00ae 20600000 rtn 
@@ -251,7 +251,7 @@
 00cc 20600000 rtn 
 
 p_kscan_dispatch:
-00cd 2040012f call p_keyboard_keyscan 
+00cd 20400131 call p_keyboard_keyscan 
 00ce 204000d0 call p_keyboard_key_process 
 00cf 202045b4 branch keyboard_special_key_check 
 
@@ -260,7 +260,7 @@
 00d1 da404963 arg mem_keyscan_value_check ,regb 
 00d2 df200014 arg 20 ,loopcnt 
 00d3 20407d66 call string_compare 
-00d4 242280fb nbranch p_keyboard_press_change_or_no_key ,zero 
+00d4 242280fd nbranch p_keyboard_press_change_or_no_key ,zero 
 00d5 202043ba branch keyboard_key_process + 5 
 
 p_keyboard_idle:
@@ -312,682 +312,687 @@
 p_keyboard_delay_lpm_timer:
 00f6 6fe0cc7a fetch 1 ,mem_keyboard_delay_lpm_flag 
 00f7 207a0000 rtn blank 
-00f8 70409401 jam 1 ,mem_lpm_mode 
-00f9 704c7a00 jam 0 ,mem_keyboard_delay_lpm_flag 
-00fa 20600000 rtn 
+00f8 6fe0c74f fetch 1 ,mem_device_fast_conn_flag 
+00f9 c07f80fb beq 0xff ,p_keyboard_delay_lpm_timer_next 
+00fa 70409401 jam 1 ,mem_lpm_mode 
+
+p_keyboard_delay_lpm_timer_next:
+00fb 704c7a00 jam 0 ,mem_keyboard_delay_lpm_flag 
+00fc 20600000 rtn 
 
 p_keyboard_press_change_or_no_key:
-00fb 70409400 jam 0 ,mem_lpm_mode 
-00fc 704c7a01 jam 1 ,mem_keyboard_delay_lpm_flag 
-00fd 202043b1 branch keyboard_press_change_or_no_key 
+00fd 70409400 jam 0 ,mem_lpm_mode 
+00fe 704c7a01 jam 1 ,mem_keyboard_delay_lpm_flag 
+00ff 202043b1 branch keyboard_press_change_or_no_key 
 
 p_keyboard_gpio_init:
-00fe 20407de6 call clear_wake 
-00ff 6848c90f fetcht 1 ,mem_keyboard_pb_button_gpio 
-0100 20404f0a call device_gpio_config_input_pu 
-0101 6fe4488e fetch keyboard_flag_len ,mem_keyboard_flag 
-0102 2feffe0a isolate1 keyboard_disable_ice ,pdata 
-0103 2040812b call p_lpm_write_ice_disable ,true 
-0104 5800491f setarg mem_key_row_gpio 
-0105 67e14948 store 2 ,mem_kb_row_ptr 
-0106 58004927 setarg mem_key_col_gpio 
-0107 67e1494a store 2 ,mem_kb_col_ptr 
-0108 5800493c setarg mem_key_excol_gpio 
-0109 67e1494c store 2 ,mem_kb_excol_ptr 
-010a 20400115 call p_keyboard_key_row_init 
-010b 204023e1 call lpm_write_gpio_wakeup 
-010c 6fe1494a fetch 2 ,mem_kb_col_ptr 
-010d 1fe22400 copy pdata ,regb 
-010e df200014 arg 20 ,loopcnt 
+0100 20407de6 call clear_wake 
+0101 6848c90f fetcht 1 ,mem_keyboard_pb_button_gpio 
+0102 20404f0a call device_gpio_config_input_pu 
+0103 6fe4488e fetch keyboard_flag_len ,mem_keyboard_flag 
+0104 2feffe0a isolate1 keyboard_disable_ice ,pdata 
+0105 2040812d call p_lpm_write_ice_disable ,true 
+0106 5800491f setarg mem_key_row_gpio 
+0107 67e14948 store 2 ,mem_kb_row_ptr 
+0108 58004927 setarg mem_key_col_gpio 
+0109 67e1494a store 2 ,mem_kb_col_ptr 
+010a 5800493c setarg mem_key_excol_gpio 
+010b 67e1494c store 2 ,mem_kb_excol_ptr 
+010c 20400117 call p_keyboard_key_row_init 
+010d 204023e1 call lpm_write_gpio_wakeup 
+010e 6fe1494a fetch 2 ,mem_kb_col_ptr 
+010f 1fe22400 copy pdata ,regb 
+0110 df200014 arg 20 ,loopcnt 
 
 p_keyboard_key_cow_init:
-010f e8408012 ifetcht 1 ,regb 
-0110 284ffe07 isolate1 7 ,temp 
-0111 2440ef0b ncall gpio_set_high_impedance ,true 
-0112 1a40a401 increase 1 ,regb 
-0113 c2003f09 loop keyboard_key_cow_init 
-0114 20600000 rtn 
+0111 e8408012 ifetcht 1 ,regb 
+0112 284ffe07 isolate1 7 ,temp 
+0113 2440ef0b ncall gpio_set_high_impedance ,true 
+0114 1a40a401 increase 1 ,regb 
+0115 c2003f09 loop keyboard_key_cow_init 
+0116 20600000 rtn 
 
 p_keyboard_key_row_init:
-0115 6fe14948 fetch 2 ,mem_kb_row_ptr 
-0116 1fe22400 copy pdata ,regb 
-0117 df200008 arg 8 ,loopcnt 
+0117 6fe14948 fetch 2 ,mem_kb_row_ptr 
+0118 1fe22400 copy pdata ,regb 
+0119 df200008 arg 8 ,loopcnt 
 
 p_keyboard_key_row_init_loop:
-0118 e8408012 ifetcht 1 ,regb 
-0119 20406f0b call gpio_set_high_impedance 
-011a 2040011e call p_gpio_clear_low_pullup 
-011b 1a40a401 increase 1 ,regb 
-011c c2000118 loop p_keyboard_key_row_init_loop 
-011d 20600000 rtn 
+011a e8408012 ifetcht 1 ,regb 
+011b 20406f0b call gpio_set_high_impedance 
+011c 20400120 call p_gpio_clear_low_pullup 
+011d 1a40a401 increase 1 ,regb 
+011e c200011a loop p_keyboard_key_row_init_loop 
+011f 20600000 rtn 
 
 p_gpio_clear_low_pullup:
-011e 20406ec0 call gpio_set_low_pullup 
-011f 18467cff sub temp ,ui_button_gpio_disable ,null 
-0120 20628000 rtn zero 
-0121 d9000000 arg 0 ,debug 
-0122 20406e9c call get_gpio_wakeup_index 
-0123 284c0000 isolate0 0 ,temp 
-0124 20208126 branch gpio_clear_low_pullup_low4bit ,true 
-0125 19121000 lshift4 debug ,debug 
+0120 20406ec0 call gpio_set_low_pullup 
+0121 18467cff sub temp ,ui_button_gpio_disable ,null 
+0122 20628000 rtn zero 
+0123 d9000000 arg 0 ,debug 
+0124 20406e9c call get_gpio_wakeup_index 
+0125 284c0000 isolate0 0 ,temp 
+0126 20208128 branch gpio_clear_low_pullup_low4bit ,true 
+0127 19121000 lshift4 debug ,debug 
 
 gpio_clear_low_pullup_low4bit:
-0126 efe08005 ifetch 1 ,contw 
-0127 9e017e00 iand alarm ,pdata 
-0128 9901fe00 ior debug ,pdata 
-0129 e7e08005 istore 1 ,contw 
-012a 20600000 rtn 
+0128 efe08005 ifetch 1 ,contw 
+0129 9e017e00 iand alarm ,pdata 
+012a 9901fe00 ior debug ,pdata 
+012b e7e08005 istore 1 ,contw 
+012c 20600000 rtn 
 
 p_lpm_write_ice_disable:
-012b 6ff08142 fetch 1 ,core_lpm_sysctl 
-012c 793ffe03 set0 ice_mode ,pdata 
-012d 67f08142 store 1 ,core_lpm_sysctl 
-012e 20600000 rtn 
+012d 6ff08142 fetch 1 ,core_lpm_sysctl 
+012e 793ffe03 set0 ice_mode ,pdata 
+012f 67f08142 store 1 ,core_lpm_sysctl 
+0130 20600000 rtn 
 
 p_keyboard_keyscan:
-012f 204000fe call p_keyboard_gpio_init 
-0130 58000000 setarg 0 
-0131 67e1499e store 2 ,mem_keyscan_exmcu_wait_wake_count 
-0132 d8c0494e arg mem_keyscan_value_current ,contr 
-0133 d8a04963 arg mem_keyscan_value_check ,contw 
-0134 df200014 arg 20 ,loopcnt 
-0135 20407cdc call memcpy 
-0136 204043af call keyboard_stb_state_low 
-0137 5800494e setarg mem_keyscan_value_current 
-0138 67e14998 store 2 ,mem_keyscan_value_ptr 
-0139 58004adc setarg mem_keyscan_exmcu_value_new 
-013a 67e1499a store 2 ,mem_keyscan_exmcu_value_ptr 
-013b 204043ad call keyboard_stb_state_high 
-013c 204043ab call keyboard_clk_input 
+0131 20400100 call p_keyboard_gpio_init 
+0132 58000000 setarg 0 
+0133 67e1499e store 2 ,mem_keyscan_exmcu_wait_wake_count 
+0134 d8c0494e arg mem_keyscan_value_current ,contr 
+0135 d8a04963 arg mem_keyscan_value_check ,contw 
+0136 df200014 arg 20 ,loopcnt 
+0137 20407cdc call memcpy 
+0138 204043af call keyboard_stb_state_low 
+0139 5800494e setarg mem_keyscan_value_current 
+013a 67e14998 store 2 ,mem_keyscan_value_ptr 
+013b 58004adc setarg mem_keyscan_exmcu_value_new 
+013c 67e1499a store 2 ,mem_keyscan_exmcu_value_ptr 
+013d 204043ad call keyboard_stb_state_high 
+013e 204043ab call keyboard_clk_input 
 
 p_keyboard_keyscan_exmcu_start_check:
-013d 6fe1499e fetch 2 ,mem_keyscan_exmcu_wait_wake_count 
-013e 1fe0fe01 increase 1 ,pdata 
-013f 67e1499e store 2 ,mem_keyscan_exmcu_wait_wake_count 
-0140 c284812f bbit1 9 ,p_keyboard_keyscan 
-0141 6848c911 fetcht 1 ,mem_mcu_clk_gpio 
-0142 20406ee0 call gpio_get_bit 
-0143 2420813d nbranch p_keyboard_keyscan_exmcu_start_check ,true 
-0144 204043af call keyboard_stb_state_low 
+013f 6fe1499e fetch 2 ,mem_keyscan_exmcu_wait_wake_count 
+0140 1fe0fe01 increase 1 ,pdata 
+0141 67e1499e store 2 ,mem_keyscan_exmcu_wait_wake_count 
+0142 c2848131 bbit1 9 ,p_keyboard_keyscan 
+0143 6848c911 fetcht 1 ,mem_mcu_clk_gpio 
+0144 20406ee0 call gpio_get_bit 
+0145 2420813f nbranch p_keyboard_keyscan_exmcu_start_check ,true 
+0146 204043af call keyboard_stb_state_low 
 
 p_keyboard_keyscan_wait_wake_next:
-0145 6848c911 fetcht 1 ,mem_mcu_clk_gpio 
-0146 20406ee0 call gpio_get_bit 
-0147 20208145 branch p_keyboard_keyscan_wait_wake_next ,true 
-0148 2040017d call p_keyboard_keyscan_get_exmcu_value 
-0149 2040016c call p_keyboard_keyscan_get_mcu_value 
-014a 204043ab call keyboard_clk_input 
-014b 204043ad call keyboard_stb_state_high 
+0147 6848c911 fetcht 1 ,mem_mcu_clk_gpio 
+0148 20406ee0 call gpio_get_bit 
+0149 20208147 branch p_keyboard_keyscan_wait_wake_next ,true 
+014a 2040017f call p_keyboard_keyscan_get_exmcu_value 
+014b 2040016e call p_keyboard_keyscan_get_mcu_value 
+014c 204043ab call keyboard_clk_input 
+014d 204043ad call keyboard_stb_state_high 
 
 p_keyboard_keyscan_copy_value:
-014c 6fe1494c fetch 2 ,mem_kb_excol_ptr 
-014d 1fe22400 copy pdata ,regb 
-014e 70499d00 jam 0 ,mem_keyscan_col_loop_count 
+014e 6fe1494c fetch 2 ,mem_kb_excol_ptr 
+014f 1fe22400 copy pdata ,regb 
+0150 70499d00 jam 0 ,mem_keyscan_col_loop_count 
 
 p_keyboard_compare_col_excol_gpio_loop:
-014f e8408012 ifetcht 1 ,regb 
-0150 6fe1494a fetch 2 ,mem_kb_col_ptr 
-0151 1fe22200 copy pdata ,rega 
-0152 1a222600 copy rega ,regc 
-0153 df200014 arg 20 ,loopcnt 
+0151 e8408012 ifetcht 1 ,regb 
+0152 6fe1494a fetch 2 ,mem_kb_col_ptr 
+0153 1fe22200 copy pdata ,rega 
+0154 1a222600 copy rega ,regc 
+0155 df200014 arg 20 ,loopcnt 
 
 p_keyboard_compare_col_gpio_loop:
-0154 efe08011 ifetch 1 ,rega 
-0155 98467c00 isub temp ,null 
-0156 2022c366 branch keyboard_copy_value_exmcu_to_mcu ,zero 
-0157 1a20a201 increase 1 ,rega 
-0158 c2000154 loop p_keyboard_compare_col_gpio_loop 
+0156 efe08011 ifetch 1 ,rega 
+0157 98467c00 isub temp ,null 
+0158 2022c366 branch keyboard_copy_value_exmcu_to_mcu ,zero 
+0159 1a20a201 increase 1 ,rega 
+015a c2000156 loop p_keyboard_compare_col_gpio_loop 
 
 p_keyboard_compare_col_excol_gpio_loop_next:
-0159 1a40a401 increase 1 ,regb 
-015a 6fe0c99d fetch 1 ,mem_keyscan_col_loop_count 
-015b 1fe0fe01 increase 1 ,pdata 
-015c 67e0c99d store 1 ,mem_keyscan_col_loop_count 
-015d 1fe67c0b sub pdata ,11 ,null 
-015e 2021014f branch p_keyboard_compare_col_excol_gpio_loop ,positive 
-015f 20200115 branch p_keyboard_key_row_init 
+015b 1a40a401 increase 1 ,regb 
+015c 6fe0c99d fetch 1 ,mem_keyscan_col_loop_count 
+015d 1fe0fe01 increase 1 ,pdata 
+015e 67e0c99d store 1 ,mem_keyscan_col_loop_count 
+015f 1fe67c0b sub pdata ,11 ,null 
+0160 20210151 branch p_keyboard_compare_col_excol_gpio_loop ,positive 
+0161 20200117 branch p_keyboard_key_row_init 
 
 p_keyboard_copy_value_exmcu_to_mcu:
-0160 6fe14998 fetch 2 ,mem_keyscan_value_ptr 
-0161 1fe20a00 copy pdata ,contw 
-0162 1a227e00 copy rega ,pdata 
-0163 9a667e00 isub regc ,pdata 
-0164 98a08a00 iadd contw ,contw 
-0165 6fe1499a fetch 2 ,mem_keyscan_exmcu_value_ptr 
-0166 1fe22600 copy pdata ,regc 
-0167 6fe0c99d fetch 1 ,mem_keyscan_col_loop_count 
-0168 9a60a600 iadd regc ,regc 
-0169 efe08013 ifetch 1 ,regc 
-016a e7e08005 istore 1 ,contw 
-016b 20200159 branch p_keyboard_compare_col_excol_gpio_loop_next 
+0162 6fe14998 fetch 2 ,mem_keyscan_value_ptr 
+0163 1fe20a00 copy pdata ,contw 
+0164 1a227e00 copy rega ,pdata 
+0165 9a667e00 isub regc ,pdata 
+0166 98a08a00 iadd contw ,contw 
+0167 6fe1499a fetch 2 ,mem_keyscan_exmcu_value_ptr 
+0168 1fe22600 copy pdata ,regc 
+0169 6fe0c99d fetch 1 ,mem_keyscan_col_loop_count 
+016a 9a60a600 iadd regc ,regc 
+016b efe08013 ifetch 1 ,regc 
+016c e7e08005 istore 1 ,contw 
+016d 2020015b branch p_keyboard_compare_col_excol_gpio_loop_next 
 
 p_keyboard_keyscan_get_mcu_value:
-016c 6fe1494a fetch 2 ,mem_kb_col_ptr 
-016d 1fe22400 copy pdata ,regb 
-016e 70499d00 jam 0 ,mem_keyscan_col_loop_count 
+016e 6fe1494a fetch 2 ,mem_kb_col_ptr 
+016f 1fe22400 copy pdata ,regb 
+0170 70499d00 jam 0 ,mem_keyscan_col_loop_count 
 
 p_keyboard_keyscan_mcu_start:
-016f 70499c00 jam 0 ,mem_keyscan_value_temp 
-0170 e8408012 ifetcht 1 ,regb 
-0171 284ffe07 isolate1 7 ,temp 
-0172 20208177 branch p_keyboard_keyscan_mcu_start_loop ,true 
-0173 20406ef1 call gpio_out_active 
-0174 20400191 call p_keyboard_keyscan_get_col_value 
-0175 e8408012 ifetcht 1 ,regb 
-0176 20406f0b call gpio_set_high_impedance 
+0171 70499c00 jam 0 ,mem_keyscan_value_temp 
+0172 e8408012 ifetcht 1 ,regb 
+0173 284ffe07 isolate1 7 ,temp 
+0174 20208179 branch p_keyboard_keyscan_mcu_start_loop ,true 
+0175 20406ef1 call gpio_out_active 
+0176 20400193 call p_keyboard_keyscan_get_col_value 
+0177 e8408012 ifetcht 1 ,regb 
+0178 20406f0b call gpio_set_high_impedance 
 
 p_keyboard_keyscan_mcu_start_loop:
-0177 1a40a401 increase 1 ,regb 
-0178 6fe14998 fetch 2 ,mem_keyscan_value_ptr 
-0179 2040437d call keyboard_keyscan_value_store 
-017a 1fe67c13 sub pdata ,19 ,null 
-017b 2021016f branch p_keyboard_keyscan_mcu_start ,positive 
-017c 20600000 rtn 
+0179 1a40a401 increase 1 ,regb 
+017a 6fe14998 fetch 2 ,mem_keyscan_value_ptr 
+017b 2040437d call keyboard_keyscan_value_store 
+017c 1fe67c13 sub pdata ,19 ,null 
+017d 20210171 branch p_keyboard_keyscan_mcu_start ,positive 
+017e 20600000 rtn 
 
 p_keyboard_keyscan_get_exmcu_value:
-017d 70499d00 jam 0 ,mem_keyscan_col_loop_count 
+017f 70499d00 jam 0 ,mem_keyscan_col_loop_count 
 
 p_keyboard_keyscan_exmcu_start_loop:
-017e 204043a9 call keyboard_clk_state_low 
-017f 20400185 call p_keyboard_keyscan_exmcu_get_col_value 
-0180 204043a7 call keyboard_clk_state_high 
-0181 20400185 call p_keyboard_keyscan_exmcu_get_col_value 
-0182 1fe67c0b sub pdata ,11 ,null 
-0183 2021017e branch p_keyboard_keyscan_exmcu_start_loop ,positive 
-0184 202043a9 branch keyboard_clk_state_low 
+0180 204043a9 call keyboard_clk_state_low 
+0181 20400187 call p_keyboard_keyscan_exmcu_get_col_value 
+0182 204043a7 call keyboard_clk_state_high 
+0183 20400187 call p_keyboard_keyscan_exmcu_get_col_value 
+0184 1fe67c0b sub pdata ,11 ,null 
+0185 20210180 branch p_keyboard_keyscan_exmcu_start_loop ,positive 
+0186 202043a9 branch keyboard_clk_state_low 
 
 p_keyboard_keyscan_exmcu_get_col_value:
-0185 70499c00 jam 0 ,mem_keyscan_value_temp 
-0186 20400191 call p_keyboard_keyscan_get_col_value 
-0187 6fe1499a fetch 2 ,mem_keyscan_exmcu_value_ptr 
+0187 70499c00 jam 0 ,mem_keyscan_value_temp 
+0188 20400193 call p_keyboard_keyscan_get_col_value 
+0189 6fe1499a fetch 2 ,mem_keyscan_exmcu_value_ptr 
 
 p_keyboard_keyscan_value_store:
-0188 1fe20a00 copy pdata ,contw 
-0189 6fe0c99d fetch 1 ,mem_keyscan_col_loop_count 
-018a 98a08a00 iadd contw ,contw 
-018b 6fe0c99c fetch 1 ,mem_keyscan_value_temp 
-018c e7e08005 istore 1 ,contw 
-018d 6fe0c99d fetch 1 ,mem_keyscan_col_loop_count 
-018e 1fe0fe01 increase 1 ,pdata 
-018f 67e0c99d store 1 ,mem_keyscan_col_loop_count 
-0190 20600000 rtn 
+018a 1fe20a00 copy pdata ,contw 
+018b 6fe0c99d fetch 1 ,mem_keyscan_col_loop_count 
+018c 98a08a00 iadd contw ,contw 
+018d 6fe0c99c fetch 1 ,mem_keyscan_value_temp 
+018e e7e08005 istore 1 ,contw 
+018f 6fe0c99d fetch 1 ,mem_keyscan_col_loop_count 
+0190 1fe0fe01 increase 1 ,pdata 
+0191 67e0c99d store 1 ,mem_keyscan_col_loop_count 
+0192 20600000 rtn 
 
 p_keyboard_keyscan_get_col_value:
-0191 6fe14948 fetch 2 ,mem_kb_row_ptr 
-0192 1fe22600 copy pdata ,regc 
-0193 df200008 arg 8 ,loopcnt 
+0193 6fe14948 fetch 2 ,mem_kb_row_ptr 
+0194 1fe22600 copy pdata ,regc 
+0195 df200008 arg 8 ,loopcnt 
 
 p_keyboard_keyscan_get_col_value_loop:
-0194 e8408013 ifetcht 1 ,regc 
-0195 20406eed call gpio_out_inactive 
 0196 e8408013 ifetcht 1 ,regc 
-0197 20406f0b call gpio_set_high_impedance 
-0198 200000f0 nop 240 
+0197 20406eed call gpio_out_inactive 
+0198 20000078 nop 120 
 0199 e8408013 ifetcht 1 ,regc 
-019a 20406ee0 call gpio_get_bit 
-019b 6fe0c99c fetch 1 ,mem_keyscan_value_temp 
-019c 1fe37e00 rshift pdata ,pdata 
-019d 7920fe07 setflag true ,7 ,pdata 
-019e 67e0c99c store 1 ,mem_keyscan_value_temp 
-019f 1a60a601 increase 1 ,regc 
-01a0 c2000194 loop p_keyboard_keyscan_get_col_value_loop 
-01a1 20600000 rtn 
+019a 20406f0b call gpio_set_high_impedance 
+019b 20000078 nop 120 
+019c e8408013 ifetcht 1 ,regc 
+019d 20406ee0 call gpio_get_bit 
+019e 6fe0c99c fetch 1 ,mem_keyscan_value_temp 
+019f 1fe37e00 rshift pdata ,pdata 
+01a0 7920fe07 setflag true ,7 ,pdata 
+01a1 67e0c99c store 1 ,mem_keyscan_value_temp 
+01a2 1a60a601 increase 1 ,regc 
+01a3 c2000196 loop p_keyboard_keyscan_get_col_value_loop 
+01a4 20600000 rtn 
 
 p_keyboard_lpm_before_common:
-01a2 20407de6 call clear_wake 
-01a3 6848c90f fetcht 1 ,mem_keyboard_pb_button_gpio 
-01a4 20406eac call gpio_set_wake 
-01a5 6fe1494a fetch 2 ,mem_kb_col_ptr 
-01a6 1fe22400 copy pdata ,regb 
-01a7 df200014 arg 20 ,loopcnt 
+01a5 20407de6 call clear_wake 
+01a6 6848c90f fetcht 1 ,mem_keyboard_pb_button_gpio 
+01a7 20406eac call gpio_set_wake 
+01a8 6fe1494a fetch 2 ,mem_kb_col_ptr 
+01a9 1fe22400 copy pdata ,regb 
+01aa df200014 arg 20 ,loopcnt 
 
 p_keyboard_key_col_wake_init:
-01a8 e8408012 ifetcht 1 ,regb 
-01a9 284ffe07 isolate1 7 ,temp 
-01aa 2440eef1 ncall gpio_out_active ,true 
-01ab 1a40a401 increase 1 ,regb 
-01ac c20001a8 loop p_keyboard_key_col_wake_init 
-01ad 20403f1b call keyboard_gpio_pu_idle 
-01ae 70488c00 jam 0 ,mem_qdec_set_flag 
-01af 6fe14948 fetch 2 ,mem_kb_row_ptr 
-01b0 1fe22400 copy pdata ,regb 
-01b1 df200008 arg 8 ,loopcnt 
+01ab e8408012 ifetcht 1 ,regb 
+01ac 284ffe07 isolate1 7 ,temp 
+01ad 2440eef1 ncall gpio_out_active ,true 
+01ae 1a40a401 increase 1 ,regb 
+01af c20001ab loop p_keyboard_key_col_wake_init 
+01b0 20403f1b call keyboard_gpio_pu_idle 
+01b1 70488c00 jam 0 ,mem_qdec_set_flag 
+01b2 6fe14948 fetch 2 ,mem_kb_row_ptr 
+01b3 1fe22400 copy pdata ,regb 
+01b4 df200008 arg 8 ,loopcnt 
 
 p_keyboard_key_row_wake_init:
-01b2 e8408012 ifetcht 1 ,regb 
-01b3 18467cff sub temp ,ui_button_gpio_disable ,null 
-01b4 244281bf ncall p_keyboard_key_row_wake_set ,zero 
 01b5 e8408012 ifetcht 1 ,regb 
-01b6 20406f0b call gpio_set_high_impedance 
-01b7 1a40a401 increase 1 ,regb 
-01b8 c20001b2 loop p_keyboard_key_row_wake_init 
-01b9 20406f4b call lpm_puchk_set_check 
-01ba 204023e1 call lpm_write_gpio_wakeup 
-01bb 6848c666 fetcht 1 ,mem_device_reuse_2ice_gpio 
-01bc 20404f0a call device_gpio_config_input_pu 
-01bd 20404f0e call mouse_gpio_set_analog 
-01be 202040dd branch keyboard_adc_gpio_set_before_hibernate 
+01b6 18467cff sub temp ,ui_button_gpio_disable ,null 
+01b7 244281c2 ncall p_keyboard_key_row_wake_set ,zero 
+01b8 e8408012 ifetcht 1 ,regb 
+01b9 20406f0b call gpio_set_high_impedance 
+01ba 1a40a401 increase 1 ,regb 
+01bb c20001b5 loop p_keyboard_key_row_wake_init 
+01bc 20406f4b call lpm_puchk_set_check 
+01bd 204023e1 call lpm_write_gpio_wakeup 
+01be 6848c666 fetcht 1 ,mem_device_reuse_2ice_gpio 
+01bf 20404f0a call device_gpio_config_input_pu 
+01c0 20404f0e call mouse_gpio_set_analog 
+01c1 202040dd branch keyboard_adc_gpio_set_before_hibernate 
 
 p_keyboard_key_row_wake_set:
-01bf 6fe0c9a0 fetch 1 ,mem_same_keyvalue_timerout_flag 
-01c0 203a6eac branch gpio_set_wake ,blank 
-01c1 20206ea5 branch gpio_set_wake_by_current_state 
+01c2 6fe0c9a0 fetch 1 ,mem_same_keyvalue_timerout_flag 
+01c3 203a6eac branch gpio_set_wake ,blank 
+01c4 20206ea5 branch gpio_set_wake_by_current_state 
 
 p_gpio_set_low_pullup_wakeup:
-01c2 18467cff sub temp ,ui_button_gpio_disable ,null 
-01c3 20628000 rtn zero 
-01c4 d9000003 arg 3 ,debug 
-01c5 20406e9c call get_gpio_wakeup_index 
-01c6 284c0000 isolate0 0 ,temp 
-01c7 202081c9 branch p_gpio_set_low_pullup_low4bit ,true 
-01c8 19121000 lshift4 debug ,debug 
+01c5 18467cff sub temp ,ui_button_gpio_disable ,null 
+01c6 20628000 rtn zero 
+01c7 d9000003 arg 3 ,debug 
+01c8 20406e9c call get_gpio_wakeup_index 
+01c9 284c0000 isolate0 0 ,temp 
+01ca 202081cc branch p_gpio_set_low_pullup_low4bit ,true 
+01cb 19121000 lshift4 debug ,debug 
 
 p_gpio_set_low_pullup_low4bit:
-01c9 efe08005 ifetch 1 ,contw 
-01ca 9e017e00 iand alarm ,pdata 
-01cb 9901fe00 ior debug ,pdata 
-01cc e7e08005 istore 1 ,contw 
-01cd 20600000 rtn 
+01cc efe08005 ifetch 1 ,contw 
+01cd 9e017e00 iand alarm ,pdata 
+01ce 9901fe00 ior debug ,pdata 
+01cf e7e08005 istore 1 ,contw 
+01d0 20600000 rtn 
 
 p_keyboard_device_poweron_timer:
-01ce 6fe0cac2 fetch 1 ,mem_keyboard_device_poweron_timer 
-01cf 207a0000 rtn blank 
-01d0 1fe0ffff increase -1 ,pdata 
-01d1 67e0cac2 store 1 ,mem_keyboard_device_poweron_timer 
-01d2 6fe4488e fetch keyboard_flag_len ,mem_keyboard_flag 
-01d3 c29401d7 bbit1 keyboard_enable_030_power_led ,p_keyboard_device_poweron_030_led 
-01d4 6fe0cac2 fetch 1 ,mem_keyboard_device_poweron_timer 
-01d5 203a4166 branch keyboard_device_led_off ,blank 
-01d6 2020416c branch keyboard_device_led_on 
+01d1 6fe0cac2 fetch 1 ,mem_keyboard_device_poweron_timer 
+01d2 207a0000 rtn blank 
+01d3 1fe0ffff increase -1 ,pdata 
+01d4 67e0cac2 store 1 ,mem_keyboard_device_poweron_timer 
+01d5 6fe4488e fetch keyboard_flag_len ,mem_keyboard_flag 
+01d6 c29401da bbit1 keyboard_enable_030_power_led ,p_keyboard_device_poweron_030_led 
+01d7 6fe0cac2 fetch 1 ,mem_keyboard_device_poweron_timer 
+01d8 203a4166 branch keyboard_device_led_off ,blank 
+01d9 2020416c branch keyboard_device_led_on 
 
 p_keyboard_device_poweron_030_led:
-01d7 6fe0cac2 fetch 1 ,mem_keyboard_device_poweron_timer 
-01d8 203a413c branch keyboard_power_led_off ,blank 
-01d9 2020413a branch keyboard_power_led_on 
+01da 6fe0cac2 fetch 1 ,mem_keyboard_device_poweron_timer 
+01db 203a413c branch keyboard_power_led_off ,blank 
+01dc 2020413a branch keyboard_power_led_on 
 
 p_keyboard_bb_event_timer:
-01da 204040e0 call keyboard_low_voltage_param_set 
-01db 204040cc call keyboard_adc_read 
-01dc 204040dd call keyboard_adc_gpio_set_before_hibernate 
-01dd 20404100 call keyboard_low_voltage_led_timer 
-01de 20404186 call keyboard_num_capslock_led_on_timer 
-01df 204041ab call keyboard_rgb_on_timer 
-01e0 204001ce call p_keyboard_device_poweron_timer 
-01e1 2040413e call keyboard_mode_led_timer 
-01e2 20404146 call keyboard_device_pair_led_timer 
-01e3 204001f7 call p_keyboard_key_press_timer 
-01e4 2040428f call keyboard_commbination_key_process 
-01e5 204042c4 call keyboard_same_key_long_press_timer 
-01e6 2040326c call g24_pair_timeout_timer 
-01e7 20403507 call g24_reconn_timeout_timer 
-01e8 204058f6 call mouse_24g_long_sleep_param_update_timer 
-01e9 204042b5 call keyboard_24g_repeat_send_data 
-01ea 204042bf call keyboard_24g_led_status_get_timer 
-01eb 20404299 call keyboard_check_discovery_timeout_timer 
-01ec 204042a4 call keyboard_check_direct_timeout_timer 
-01ed 2040550d call mouse_le_enable_att_list_timer 
-01ee 204042ad call keyboard_le_battery_updata_timer 
-01ef 20405510 call mouse_le_send_smp_security_request_timer 
-01f0 204042b2 call keyboard_le_send_conn_param_update_timer 
-01f1 204042a1 call keyboard_le_auto_recognize_timer 
-01f2 20405527 call mouse_current_mult_update_timer 
-01f3 2040429e call keyboard_store_information_delay_timer 
-01f4 204042c9 call keyboard_commbination_delay_release_timer 
-01f5 204042cc call keyboard_usb_updata_timer 
-01f6 202042d5 branch keyboard_check_no_data_timeout_timer 
+01dd 204040e0 call keyboard_low_voltage_param_set 
+01de 204040cc call keyboard_adc_read 
+01df 204040dd call keyboard_adc_gpio_set_before_hibernate 
+01e0 20404100 call keyboard_low_voltage_led_timer 
+01e1 20404186 call keyboard_num_capslock_led_on_timer 
+01e2 204041ab call keyboard_rgb_on_timer 
+01e3 204001d1 call p_keyboard_device_poweron_timer 
+01e4 2040413e call keyboard_mode_led_timer 
+01e5 20404146 call keyboard_device_pair_led_timer 
+01e6 204001fa call p_keyboard_key_press_timer 
+01e7 2040428f call keyboard_commbination_key_process 
+01e8 204042c4 call keyboard_same_key_long_press_timer 
+01e9 2040326c call g24_pair_timeout_timer 
+01ea 20403507 call g24_reconn_timeout_timer 
+01eb 204058f6 call mouse_24g_long_sleep_param_update_timer 
+01ec 204042b5 call keyboard_24g_repeat_send_data 
+01ed 204042bf call keyboard_24g_led_status_get_timer 
+01ee 20404299 call keyboard_check_discovery_timeout_timer 
+01ef 204042a4 call keyboard_check_direct_timeout_timer 
+01f0 2040550d call mouse_le_enable_att_list_timer 
+01f1 204042ad call keyboard_le_battery_updata_timer 
+01f2 20405510 call mouse_le_send_smp_security_request_timer 
+01f3 204042b2 call keyboard_le_send_conn_param_update_timer 
+01f4 204042a1 call keyboard_le_auto_recognize_timer 
+01f5 20405527 call mouse_current_mult_update_timer 
+01f6 2040429e call keyboard_store_information_delay_timer 
+01f7 204042c9 call keyboard_commbination_delay_release_timer 
+01f8 204042cc call keyboard_usb_updata_timer 
+01f9 202042d5 branch keyboard_check_no_data_timeout_timer 
 
 p_keyboard_key_press_timer:
-01f7 6fe0c8a6 fetch 1 ,mem_keyboard_switch_device_flag 
-01f8 c28001fd bbit1 keyboard_flag_g24_device_button ,p_keyboard_device_select_g24_press_timer 
-01f9 20400215 call p_keyboard_device_select_g24_nopress_timer 
 01fa 6fe0c8a6 fetch 1 ,mem_keyboard_switch_device_flag 
-01fb c2808209 bbit1 keyboard_flag_bt_device_button ,p_keyboard_device_select_bt_press_timer 
-01fc 2020021b branch p_keyboard_device_select_bt_nopress_timer 
+01fb c2800200 bbit1 keyboard_flag_g24_device_button ,p_keyboard_device_select_g24_press_timer 
+01fc 20400218 call p_keyboard_device_select_g24_nopress_timer 
+01fd 6fe0c8a6 fetch 1 ,mem_keyboard_switch_device_flag 
+01fe c280820c bbit1 keyboard_flag_bt_device_button ,p_keyboard_device_select_bt_press_timer 
+01ff 2020021e branch p_keyboard_device_select_bt_nopress_timer 
 
 p_keyboard_device_select_g24_press_timer:
-01fd 6fe0c8a9 fetch 1 ,mem_keyboard_switch_g24_press_timer 
-01fe 1fe67c64 sub pdata ,100 ,null 
-01ff 24610000 nrtn positive 
-0200 1fe0fe01 increase 1 ,pdata 
-0201 67e0c8a9 store 1 ,mem_keyboard_switch_g24_press_timer 
-0202 c18c8000 rtnne 25 
-0203 7048a700 jam 0 ,mem_keyboard_switch_g24_enable 
-0204 6fe0c678 fetch 1 ,mem_device_flag 
-0205 c1020000 rtneq mode_usb_device 
-0206 20400221 call p_keyboard_store_device_number 
-0207 204048e6 call keyboard_stop_bluetooth_mode 
-0208 20204680 branch keyboard_24g_start_pair_mode 
+0200 6fe0c8a9 fetch 1 ,mem_keyboard_switch_g24_press_timer 
+0201 1fe67c64 sub pdata ,100 ,null 
+0202 24610000 nrtn positive 
+0203 1fe0fe01 increase 1 ,pdata 
+0204 67e0c8a9 store 1 ,mem_keyboard_switch_g24_press_timer 
+0205 c18c8000 rtnne 25 
+0206 7048a700 jam 0 ,mem_keyboard_switch_g24_enable 
+0207 6fe0c678 fetch 1 ,mem_device_flag 
+0208 c1020000 rtneq mode_usb_device 
+0209 20400224 call p_keyboard_store_device_number 
+020a 204048e6 call keyboard_stop_bluetooth_mode 
+020b 20204680 branch keyboard_24g_start_pair_mode 
 
 p_keyboard_device_select_bt_press_timer:
-0209 6fe0c8aa fetch 1 ,mem_keyboard_switch_bt_press_timer 
-020a 1fe67c64 sub pdata ,100 ,null 
-020b 24610000 nrtn positive 
-020c 1fe0fe01 increase 1 ,pdata 
-020d 67e0c8aa store 1 ,mem_keyboard_switch_bt_press_timer 
-020e c18c8000 rtnne 25 
-020f 7048a800 jam 0 ,mem_keyboard_switch_bt_enable 
-0210 6fe0c678 fetch 1 ,mem_device_flag 
-0211 c1020000 rtneq mode_usb_device 
-0212 20400221 call p_keyboard_store_device_number 
-0213 20406824 call hid_device_le_send_empty_packet 
-0214 20204675 branch keyboard_long_button_bt_discovery 
+020c 6fe0c8aa fetch 1 ,mem_keyboard_switch_bt_press_timer 
+020d 1fe67c64 sub pdata ,100 ,null 
+020e 24610000 nrtn positive 
+020f 1fe0fe01 increase 1 ,pdata 
+0210 67e0c8aa store 1 ,mem_keyboard_switch_bt_press_timer 
+0211 c18c8000 rtnne 25 
+0212 7048a800 jam 0 ,mem_keyboard_switch_bt_enable 
+0213 6fe0c678 fetch 1 ,mem_device_flag 
+0214 c1020000 rtneq mode_usb_device 
+0215 20400224 call p_keyboard_store_device_number 
+0216 20406824 call hid_device_le_send_empty_packet 
+0217 20204675 branch keyboard_long_button_bt_discovery 
 
 p_keyboard_device_select_g24_nopress_timer:
-0215 7048a900 jam 0 ,mem_keyboard_switch_g24_press_timer 
-0216 6fe0c8a7 fetch 1 ,mem_keyboard_switch_g24_enable 
-0217 207a0000 rtn blank 
-0218 7048a700 jam 0 ,mem_keyboard_switch_g24_enable 
-0219 20400221 call p_keyboard_store_device_number 
-021a 20206c99 branch soft_reset_chip 
+0218 7048a900 jam 0 ,mem_keyboard_switch_g24_press_timer 
+0219 6fe0c8a7 fetch 1 ,mem_keyboard_switch_g24_enable 
+021a 207a0000 rtn blank 
+021b 7048a700 jam 0 ,mem_keyboard_switch_g24_enable 
+021c 20400224 call p_keyboard_store_device_number 
+021d 20206c99 branch soft_reset_chip 
 
 p_keyboard_device_select_bt_nopress_timer:
-021b 7048aa00 jam 0 ,mem_keyboard_switch_bt_press_timer 
-021c 6fe0c8a8 fetch 1 ,mem_keyboard_switch_bt_enable 
-021d 207a0000 rtn blank 
-021e 7048a800 jam 0 ,mem_keyboard_switch_bt_enable 
-021f 20404045 call keyboard_store_device_number 
-0220 20206c99 branch soft_reset_chip 
+021e 7048aa00 jam 0 ,mem_keyboard_switch_bt_press_timer 
+021f 6fe0c8a8 fetch 1 ,mem_keyboard_switch_bt_enable 
+0220 207a0000 rtn blank 
+0221 7048a800 jam 0 ,mem_keyboard_switch_bt_enable 
+0222 20404045 call keyboard_store_device_number 
+0223 20206c99 branch soft_reset_chip 
 
 p_keyboard_store_device_number:
-0221 6fe4488e fetch keyboard_flag_len ,mem_keyboard_flag 
-0222 c287d594 bbit1 keyboard_enable_otp ,mouse_write_otp_device_flag 
-0223 c2874045 bbit1 keyboard_enable_eeprom ,keyboard_store_device_number 
-0224 20600000 rtn 
+0224 6fe4488e fetch keyboard_flag_len ,mem_keyboard_flag 
+0225 c287d594 bbit1 keyboard_enable_otp ,mouse_write_otp_device_flag 
+0226 c2874045 bbit1 keyboard_enable_eeprom ,keyboard_store_device_number 
+0227 20600000 rtn 
 
 p_keyboard_long_button_bt_discovery:
-0225 20204677 branch keyboard_long_button_bt_discovery + 2 
+0228 20204677 branch keyboard_long_button_bt_discovery + 2 
 
 p_keyboard_setting_config_next:
-0226 6fe4488e fetch keyboard_flag_len ,mem_keyboard_flag 
-0227 c287bf31 bbit1 keyboard_enable_otp ,keyboard_load_otp_info 
-0228 20203ec8 branch keyboard_setting_config + 11 
+0229 6fe4488e fetch keyboard_flag_len ,mem_keyboard_flag 
+022a c287bf31 bbit1 keyboard_enable_otp ,keyboard_load_otp_info 
+022b 20203ec8 branch keyboard_setting_config + 11 
 
 p_keyboard_load_2k_eeprom_info:
-0229 6fe4488e fetch keyboard_flag_len ,mem_keyboard_flag 
-022a c31e8230 bbit0 keyboard_enable_sda_multi_r_line ,p_keyboard_load_2k_eeprom_device_info_next 
-022b 6848c440 fetcht 1 ,mem_eeprom_sda_gpio 
-022c 20404f0a call device_gpio_config_input_pu 
-022d 6848c440 fetcht 1 ,mem_eeprom_sda_gpio 
-022e 20406ee0 call gpio_get_bit 
-022f 20208229 branch p_keyboard_load_2k_eeprom_info ,true 
+022c 6fe4488e fetch keyboard_flag_len ,mem_keyboard_flag 
+022d c31e8233 bbit0 keyboard_enable_sda_multi_r_line ,p_keyboard_load_2k_eeprom_device_info_next 
+022e 6848c440 fetcht 1 ,mem_eeprom_sda_gpio 
+022f 20404f0a call device_gpio_config_input_pu 
+0230 6848c440 fetcht 1 ,mem_eeprom_sda_gpio 
+0231 20406ee0 call gpio_get_bit 
+0232 2020822c branch p_keyboard_load_2k_eeprom_info ,true 
 
 p_keyboard_load_2k_eeprom_device_info_next:
-0230 20404049 call keyboard_eeprom_init 
-0231 d8400080 arg 128 ,temp 
-0232 da204678 arg mem_device_flag ,rega 
-0233 da400000 arg keyboard_device_number_eeprom_offect ,regb 
-0234 20406cd7 call iicd_read_eep_data 
-0235 20203fa2 branch keyboard_load_info_check 
+0233 20404049 call keyboard_eeprom_init 
+0234 d8400080 arg 128 ,temp 
+0235 da204678 arg mem_device_flag ,rega 
+0236 da400000 arg keyboard_device_number_eeprom_offect ,regb 
+0237 20406cd7 call iicd_read_eep_data 
+0238 20203fa2 branch keyboard_load_info_check 
 
 p_keyboard_le_parse_att:
-0236 1a220c00 copy rega ,contr 
-0237 efe18006 ifetch 3 ,contr 
-0238 67e1c39b store 3 ,mem_le_att_opcode 
-0239 c000c919 beq attop_error_response ,keyboard_le_send_att_find_by_type_value_request_mac 
-023a c003c95c beq attop_find_by_type_value_response ,keyboard_le_parse_att_find_by_type_value_rsp 
-023b c004c938 beq attop_read_by_type_response ,keyboard_le_send_att_read_by_type_rsp_mac 
-023c c005c952 beq attop_read_response ,keyboard_le_parse_att_manu_resp 
-023d c0044971 beq attop_read_by_type_request ,keyboard_le_parse_att_read_by_type_request 
-023e c0060243 beq attop_read_blob_request ,p_keyboard_le_parse_att_read_blob_request 
-023f c005499f beq attop_read_request ,keyboard_le_parse_att_read_request 
-0240 c00949c5 beq attop_write_request ,keyboard_le_parse_att_write_request 
-0241 c02949cb beq attop_write_command ,keyboard_le_parse_att_write_command 
-0242 20202b76 branch le_parse_att2 
+0239 1a220c00 copy rega ,contr 
+023a efe18006 ifetch 3 ,contr 
+023b 67e1c39b store 3 ,mem_le_att_opcode 
+023c c000c919 beq attop_error_response ,keyboard_le_send_att_find_by_type_value_request_mac 
+023d c003c95c beq attop_find_by_type_value_response ,keyboard_le_parse_att_find_by_type_value_rsp 
+023e c004c938 beq attop_read_by_type_response ,keyboard_le_send_att_read_by_type_rsp_mac 
+023f c005c952 beq attop_read_response ,keyboard_le_parse_att_manu_resp 
+0240 c0044971 beq attop_read_by_type_request ,keyboard_le_parse_att_read_by_type_request 
+0241 c0060246 beq attop_read_blob_request ,p_keyboard_le_parse_att_read_blob_request 
+0242 c005499f beq attop_read_request ,keyboard_le_parse_att_read_request 
+0243 c00949c5 beq attop_write_request ,keyboard_le_parse_att_write_request 
+0244 c02949cb beq attop_write_command ,keyboard_le_parse_att_write_command 
+0245 20202b76 branch le_parse_att2 
 
 p_keyboard_le_parse_att_read_blob_request:
-0243 efe10006 ifetch 2 ,contr 
-0244 67e10693 store 2 ,mem_le_att_offset 
-0245 98002200 iforce rega 
-0246 6849439c fetcht 2 ,mem_le_att_handle 
-0247 6fe14334 fetch 2 ,mem_le_pairing_handle 
-0248 98467c00 isub temp ,null 
-0249 2422ad2e nbranch le_send_att_read_blob_response ,zero 
-024a 20204999 branch keyboard_le_send_att_read_blob_response 
+0246 efe10006 ifetch 2 ,contr 
+0247 67e10693 store 2 ,mem_le_att_offset 
+0248 98002200 iforce rega 
+0249 6849439c fetcht 2 ,mem_le_att_handle 
+024a 6fe14334 fetch 2 ,mem_le_pairing_handle 
+024b 98467c00 isub temp ,null 
+024c 2422ad2e nbranch le_send_att_read_blob_response ,zero 
+024d 20204999 branch keyboard_le_send_att_read_blob_response 
 
 p_keyboard_value_tpye_consumer_set:
-024b 18427e00 copy temp ,pdata 
-024c 704a6f05 jam hid_reportid_bit_consumer_key ,mem_keyboard_tx_data 
-024d 6848c9a6 fetcht 1 ,mem_keyboard_all_press_key_count 
-024e 18467c00 sub temp ,hid_key_null ,null 
-024f 2022c74b branch keyboard_value_consumer_all_key_release ,zero 
-0250 c0740269 beq hid_key_multikey_media ,p_keyboard_value_media 
-0251 c074826f beq hid_key_multikey_vol_down ,p_keyboard_value_vol_down 
-0252 c0750273 beq hid_key_multikey_vol_up ,p_keyboard_value_vol_up 
-0253 c0758277 beq hid_key_multikey_mute ,p_keyboard_value_mute 
-0254 c076027b beq hid_key_multikey_pre_track ,p_keyboard_value_pre_track 
-0255 c076827f beq hid_key_multikey_next_track ,p_keyboard_value_next_track 
-0256 c0770283 beq hid_key_multikey_paly ,p_keyboard_value_play 
-0257 c0778287 beq hid_key_multikey_stop ,p_keyboard_value_stop 
-0258 c078028b beq hid_key_ac_home ,p_keyboard_value_ac_home 
-0259 c078828f beq hid_key_mail ,p_keyboard_value_mail 
-025a c0790293 beq hid_key_my_computer ,p_keyboard_value_my_computer 
-025b c0798297 beq hid_key_ac_favorites ,p_keyboard_value_ac_favorites 
-025c c07a029b beq hid_key_calculator ,p_keyboard_value_calculator 
-025d c07a829f beq hid_key_ac_search ,p_keyboard_value_ac_search 
-025e c07b02a6 beq hid_key_ac_back ,p_keyboard_value_ac_back 
-025f c07b82aa beq hid_key_os_soft_kb ,p_keyboard_value_os_soft_kb 
-0260 c07c02b2 beq hid_key_light_down ,p_keyboard_value_light_down 
-0261 c07c82b6 beq hid_key_light_up ,p_keyboard_value_light_up 
-0262 c07d02ba beq hid_key_ios_android_os_lock ,p_keyboard_value_os_lock 
-0263 c07d82be beq hid_key_mac_eject ,p_keyboard_value_mac_eject 
-0264 c07e02c2 beq hid_key_ac_forward ,p_keyboard_value_ac_forward 
-0265 c07e82c6 beq hid_key_ac_stop ,p_keyboard_value_ac_stop 
-0266 c07f02ca beq hid_key_ac_refresh ,p_keyboard_value_ac_refresh 
-0267 c07f82ce beq hid_key_system_sleep ,p_keyboard_value_system_sleep 
-0268 202046e6 branch keyboard_motion_data_check_next 
+024e 18427e00 copy temp ,pdata 
+024f 704a6f05 jam hid_reportid_bit_consumer_key ,mem_keyboard_tx_data 
+0250 6848c9a6 fetcht 1 ,mem_keyboard_all_press_key_count 
+0251 18467c00 sub temp ,hid_key_null ,null 
+0252 2022c74b branch keyboard_value_consumer_all_key_release ,zero 
+0253 c074026c beq hid_key_multikey_media ,p_keyboard_value_media 
+0254 c0748272 beq hid_key_multikey_vol_down ,p_keyboard_value_vol_down 
+0255 c0750276 beq hid_key_multikey_vol_up ,p_keyboard_value_vol_up 
+0256 c075827a beq hid_key_multikey_mute ,p_keyboard_value_mute 
+0257 c076027e beq hid_key_multikey_pre_track ,p_keyboard_value_pre_track 
+0258 c0768282 beq hid_key_multikey_next_track ,p_keyboard_value_next_track 
+0259 c0770286 beq hid_key_multikey_paly ,p_keyboard_value_play 
+025a c077828a beq hid_key_multikey_stop ,p_keyboard_value_stop 
+025b c078028e beq hid_key_ac_home ,p_keyboard_value_ac_home 
+025c c0788292 beq hid_key_mail ,p_keyboard_value_mail 
+025d c0790296 beq hid_key_my_computer ,p_keyboard_value_my_computer 
+025e c079829a beq hid_key_ac_favorites ,p_keyboard_value_ac_favorites 
+025f c07a029e beq hid_key_calculator ,p_keyboard_value_calculator 
+0260 c07a82a2 beq hid_key_ac_search ,p_keyboard_value_ac_search 
+0261 c07b02a9 beq hid_key_ac_back ,p_keyboard_value_ac_back 
+0262 c07b82ad beq hid_key_os_soft_kb ,p_keyboard_value_os_soft_kb 
+0263 c07c02b5 beq hid_key_light_down ,p_keyboard_value_light_down 
+0264 c07c82b9 beq hid_key_light_up ,p_keyboard_value_light_up 
+0265 c07d02bd beq hid_key_ios_android_os_lock ,p_keyboard_value_os_lock 
+0266 c07d82c1 beq hid_key_mac_eject ,p_keyboard_value_mac_eject 
+0267 c07e02c5 beq hid_key_ac_forward ,p_keyboard_value_ac_forward 
+0268 c07e82c9 beq hid_key_ac_stop ,p_keyboard_value_ac_stop 
+0269 c07f02cd beq hid_key_ac_refresh ,p_keyboard_value_ac_refresh 
+026a c07f82d1 beq hid_key_system_sleep ,p_keyboard_value_system_sleep 
+026b 202046e6 branch keyboard_motion_data_check_next 
 
 p_keyboard_value_media:
-0269 6fe0c678 fetch 1 ,mem_device_flag 
-026a c0804715 bne mode_24g_device ,keyboard_value_media 
-026b 58000183 setarg 0x0183 
+026c 6fe0c678 fetch 1 ,mem_device_flag 
+026d c0804715 bne mode_24g_device ,keyboard_value_media 
+026e 58000183 setarg 0x0183 
 
 p_keyboard_24g_standard_data_send:
-026c 67e14a70 store 2 ,mem_keyboard_tx_data + 1 
-026d 704a6f03 jam hid_reportid_consumer_key ,mem_keyboard_tx_data 
-026e 202046e6 branch keyboard_motion_data_check_next 
+026f 67e14a70 store 2 ,mem_keyboard_tx_data + 1 
+0270 704a6f03 jam hid_reportid_consumer_key ,mem_keyboard_tx_data 
+0271 202046e6 branch keyboard_motion_data_check_next 
 
 p_keyboard_value_vol_down:
-026f 6fe0c678 fetch 1 ,mem_device_flag 
-0270 c0804718 bne mode_24g_device ,keyboard_value_vol_down 
-0271 580000ea setarg 0x00ea 
-0272 2020026c branch p_keyboard_24g_standard_data_send 
+0272 6fe0c678 fetch 1 ,mem_device_flag 
+0273 c0804718 bne mode_24g_device ,keyboard_value_vol_down 
+0274 580000ea setarg 0x00ea 
+0275 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_vol_up:
-0273 6fe0c678 fetch 1 ,mem_device_flag 
-0274 c080471a bne mode_24g_device ,keyboard_value_vol_up 
-0275 580000e9 setarg 0x00e9 
-0276 2020026c branch p_keyboard_24g_standard_data_send 
+0276 6fe0c678 fetch 1 ,mem_device_flag 
+0277 c080471a bne mode_24g_device ,keyboard_value_vol_up 
+0278 580000e9 setarg 0x00e9 
+0279 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_mute:
-0277 6fe0c678 fetch 1 ,mem_device_flag 
-0278 c080471c bne mode_24g_device ,keyboard_value_mute 
-0279 580000e2 setarg 0x00e2 
-027a 2020026c branch p_keyboard_24g_standard_data_send 
+027a 6fe0c678 fetch 1 ,mem_device_flag 
+027b c080471c bne mode_24g_device ,keyboard_value_mute 
+027c 580000e2 setarg 0x00e2 
+027d 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_pre_track:
-027b 6fe0c678 fetch 1 ,mem_device_flag 
-027c c080471e bne mode_24g_device ,keyboard_value_pre_track 
-027d 580000b6 setarg 0x00b6 
-027e 2020026c branch p_keyboard_24g_standard_data_send 
+027e 6fe0c678 fetch 1 ,mem_device_flag 
+027f c080471e bne mode_24g_device ,keyboard_value_pre_track 
+0280 580000b6 setarg 0x00b6 
+0281 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_next_track:
-027f 6fe0c678 fetch 1 ,mem_device_flag 
-0280 c0804720 bne mode_24g_device ,keyboard_value_next_track 
-0281 580000b5 setarg 0x00b5 
-0282 2020026c branch p_keyboard_24g_standard_data_send 
+0282 6fe0c678 fetch 1 ,mem_device_flag 
+0283 c0804720 bne mode_24g_device ,keyboard_value_next_track 
+0284 580000b5 setarg 0x00b5 
+0285 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_play:
-0283 6fe0c678 fetch 1 ,mem_device_flag 
-0284 c0804722 bne mode_24g_device ,keyboard_value_play 
-0285 580000cd setarg 0x00cd 
-0286 2020026c branch p_keyboard_24g_standard_data_send 
+0286 6fe0c678 fetch 1 ,mem_device_flag 
+0287 c0804722 bne mode_24g_device ,keyboard_value_play 
+0288 580000cd setarg 0x00cd 
+0289 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_stop:
-0287 6fe0c678 fetch 1 ,mem_device_flag 
-0288 c0804724 bne mode_24g_device ,keyboard_value_stop 
-0289 580000b7 setarg 0x00b7 
-028a 2020026c branch p_keyboard_24g_standard_data_send 
+028a 6fe0c678 fetch 1 ,mem_device_flag 
+028b c0804724 bne mode_24g_device ,keyboard_value_stop 
+028c 580000b7 setarg 0x00b7 
+028d 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_ac_home:
-028b 6fe0c678 fetch 1 ,mem_device_flag 
-028c c0804726 bne mode_24g_device ,keyboard_value_ac_home 
-028d 58000223 setarg 0x0223 
-028e 2020026c branch p_keyboard_24g_standard_data_send 
+028e 6fe0c678 fetch 1 ,mem_device_flag 
+028f c0804726 bne mode_24g_device ,keyboard_value_ac_home 
+0290 58000223 setarg 0x0223 
+0291 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_mail:
-028f 6fe0c678 fetch 1 ,mem_device_flag 
-0290 c0804728 bne mode_24g_device ,keyboard_value_mail 
-0291 5800018a setarg 0x018a 
-0292 2020026c branch p_keyboard_24g_standard_data_send 
+0292 6fe0c678 fetch 1 ,mem_device_flag 
+0293 c0804728 bne mode_24g_device ,keyboard_value_mail 
+0294 5800018a setarg 0x018a 
+0295 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_my_computer:
-0293 6fe0c678 fetch 1 ,mem_device_flag 
-0294 c080472a bne mode_24g_device ,keyboard_value_my_computer 
-0295 58000194 setarg 0x0194 
-0296 2020026c branch p_keyboard_24g_standard_data_send 
+0296 6fe0c678 fetch 1 ,mem_device_flag 
+0297 c080472a bne mode_24g_device ,keyboard_value_my_computer 
+0298 58000194 setarg 0x0194 
+0299 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_ac_favorites:
-0297 6fe0c678 fetch 1 ,mem_device_flag 
-0298 c080472c bne mode_24g_device ,keyboard_value_ac_favorites 
-0299 5800022a setarg 0x022a 
-029a 2020026c branch p_keyboard_24g_standard_data_send 
+029a 6fe0c678 fetch 1 ,mem_device_flag 
+029b c080472c bne mode_24g_device ,keyboard_value_ac_favorites 
+029c 5800022a setarg 0x022a 
+029d 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_calculator:
-029b 6fe0c678 fetch 1 ,mem_device_flag 
-029c c080472e bne mode_24g_device ,keyboard_value_calculator 
-029d 58000192 setarg 0x0192 
-029e 2020026c branch p_keyboard_24g_standard_data_send 
+029e 6fe0c678 fetch 1 ,mem_device_flag 
+029f c080472e bne mode_24g_device ,keyboard_value_calculator 
+02a0 58000192 setarg 0x0192 
+02a1 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_ac_search:
-029f 6fe0c678 fetch 1 ,mem_device_flag 
-02a0 c0804730 bne mode_24g_device ,keyboard_value_ac_search 
-02a1 6fe0caa1 fetch 1 ,mem_kb_computer_system 
-02a2 c001028b beq system_os_ios ,p_keyboard_value_ac_home 
-02a3 c001828b beq system_os_mac ,p_keyboard_value_ac_home 
-02a4 58000221 setarg 0x0221 
-02a5 2020026c branch p_keyboard_24g_standard_data_send 
+02a2 6fe0c678 fetch 1 ,mem_device_flag 
+02a3 c0804730 bne mode_24g_device ,keyboard_value_ac_search 
+02a4 6fe0caa1 fetch 1 ,mem_kb_computer_system 
+02a5 c001028e beq system_os_ios ,p_keyboard_value_ac_home 
+02a6 c001828e beq system_os_mac ,p_keyboard_value_ac_home 
+02a7 58000221 setarg 0x0221 
+02a8 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_ac_back:
-02a6 6fe0c678 fetch 1 ,mem_device_flag 
-02a7 c0804732 bne mode_24g_device ,keyboard_value_ac_back 
-02a8 58000224 setarg 0x0224 
-02a9 2020026c branch p_keyboard_24g_standard_data_send 
+02a9 6fe0c678 fetch 1 ,mem_device_flag 
+02aa c0804732 bne mode_24g_device ,keyboard_value_ac_back 
+02ab 58000224 setarg 0x0224 
+02ac 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_os_soft_kb:
-02aa 6fe0c678 fetch 1 ,mem_device_flag 
-02ab c0804737 bne mode_24g_device ,keyboard_value_os_soft_kb 
-02ac 6fe0caa1 fetch 1 ,mem_kb_computer_system 
-02ad c00082b0 beq system_os_android ,p_keyboard_value_os_soft_kb_android 
-02ae 580001ae setarg 0x01ae 
-02af 2020026c branch p_keyboard_24g_standard_data_send 
+02ad 6fe0c678 fetch 1 ,mem_device_flag 
+02ae c0804737 bne mode_24g_device ,keyboard_value_os_soft_kb 
+02af 6fe0caa1 fetch 1 ,mem_kb_computer_system 
+02b0 c00082b3 beq system_os_android ,p_keyboard_value_os_soft_kb_android 
+02b1 580001ae setarg 0x01ae 
+02b2 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_os_soft_kb_android:
-02b0 58000307 setarg 0x0307 
-02b1 2020026c branch p_keyboard_24g_standard_data_send 
+02b3 58000307 setarg 0x0307 
+02b4 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_light_down:
-02b2 6fe0c678 fetch 1 ,mem_device_flag 
-02b3 c080473d bne mode_24g_device ,keyboard_value_light_down 
-02b4 58000070 setarg 0x0070 
-02b5 2020026c branch p_keyboard_24g_standard_data_send 
+02b5 6fe0c678 fetch 1 ,mem_device_flag 
+02b6 c080473d bne mode_24g_device ,keyboard_value_light_down 
+02b7 58000070 setarg 0x0070 
+02b8 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_light_up:
-02b6 6fe0c678 fetch 1 ,mem_device_flag 
-02b7 c080473f bne mode_24g_device ,keyboard_value_light_up 
-02b8 5800006f setarg 0x006f 
-02b9 2020026c branch p_keyboard_24g_standard_data_send 
+02b9 6fe0c678 fetch 1 ,mem_device_flag 
+02ba c080473f bne mode_24g_device ,keyboard_value_light_up 
+02bb 5800006f setarg 0x006f 
+02bc 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_os_lock:
-02ba 6fe0c678 fetch 1 ,mem_device_flag 
-02bb c0804741 bne mode_24g_device ,keyboard_value_os_lock 
-02bc 58000030 setarg 0x0030 
-02bd 2020026c branch p_keyboard_24g_standard_data_send 
+02bd 6fe0c678 fetch 1 ,mem_device_flag 
+02be c0804741 bne mode_24g_device ,keyboard_value_os_lock 
+02bf 58000030 setarg 0x0030 
+02c0 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_mac_eject:
-02be 6fe0c678 fetch 1 ,mem_device_flag 
-02bf c0804743 bne mode_24g_device ,keyboard_value_mac_eject 
-02c0 580000b8 setarg 0x00b8 
-02c1 2020026c branch p_keyboard_24g_standard_data_send 
+02c1 6fe0c678 fetch 1 ,mem_device_flag 
+02c2 c0804743 bne mode_24g_device ,keyboard_value_mac_eject 
+02c3 580000b8 setarg 0x00b8 
+02c4 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_ac_forward:
-02c2 6fe0c678 fetch 1 ,mem_device_flag 
-02c3 c0804745 bne mode_24g_device ,keyboard_value_ac_forward 
-02c4 58000225 setarg 0x0225 
-02c5 2020026c branch p_keyboard_24g_standard_data_send 
+02c5 6fe0c678 fetch 1 ,mem_device_flag 
+02c6 c0804745 bne mode_24g_device ,keyboard_value_ac_forward 
+02c7 58000225 setarg 0x0225 
+02c8 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_ac_stop:
-02c6 6fe0c678 fetch 1 ,mem_device_flag 
-02c7 c0804747 bne mode_24g_device ,keyboard_value_ac_stop 
-02c8 58000226 setarg 0x0226 
-02c9 2020026c branch p_keyboard_24g_standard_data_send 
+02c9 6fe0c678 fetch 1 ,mem_device_flag 
+02ca c0804747 bne mode_24g_device ,keyboard_value_ac_stop 
+02cb 58000226 setarg 0x0226 
+02cc 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_ac_refresh:
-02ca 6fe0c678 fetch 1 ,mem_device_flag 
-02cb c0804749 bne mode_24g_device ,keyboard_value_ac_refresh 
-02cc 58000227 setarg 0x0227 
-02cd 2020026c branch p_keyboard_24g_standard_data_send 
+02cd 6fe0c678 fetch 1 ,mem_device_flag 
+02ce c0804749 bne mode_24g_device ,keyboard_value_ac_refresh 
+02cf 58000227 setarg 0x0227 
+02d0 2020026f branch p_keyboard_24g_standard_data_send 
 
 p_keyboard_value_system_sleep:
-02ce 6fe0c678 fetch 1 ,mem_device_flag 
-02cf c0804752 bne mode_24g_device ,keyboard_value_system_sleep 
-02d0 704a6f02 jam hid_reportid_system_ctrl ,mem_keyboard_tx_data 
-02d1 58000002 setarg 0x02 
-02d2 67e0ca70 store 1 ,mem_keyboard_tx_data + 1 
-02d3 202046e6 branch keyboard_motion_data_check_next 
-02d4 c076c720 beq hid_key_multikey_next_track ,keyboard_value_next_track 
+02d1 6fe0c678 fetch 1 ,mem_device_flag 
+02d2 c0804752 bne mode_24g_device ,keyboard_value_system_sleep 
+02d3 704a6f02 jam hid_reportid_system_ctrl ,mem_keyboard_tx_data 
+02d4 58000002 setarg 0x02 
+02d5 67e0ca70 store 1 ,mem_keyboard_tx_data + 1 
+02d6 202046e6 branch keyboard_motion_data_check_next 
+02d7 c076c720 beq hid_key_multikey_next_track ,keyboard_value_next_track 
 
 p_keyboard_app_enter_hibernate:
-02d5 204047b3 call keyboard_setgpio_hibernate 
-02d6 2020379c branch app_enter_hibernate 
+02d8 204047b3 call keyboard_setgpio_hibernate 
+02d9 2020379c branch app_enter_hibernate 
 
 p_mouse_adc_bat_percent_lowpower_out:
-02d7 efe40011 ifetch 8 ,rega 
-02d8 67e4064e store 8 ,mem_pdatatemp 
+02da efe40011 ifetch 8 ,rega 
+02db 67e4064e store 8 ,mem_pdatatemp 
 
 p_mouse_adc_bat_percent_lowpower_out_battery:
-02d9 20407057 call adc_clear_no_power_flag 
-02da 204002e3 call p_adc_clear_low_power_flag 
-02db 6fe10654 fetch 2 ,mem_pdatatemp + 6 
-02dc 68490650 fetcht 2 ,mem_pdatatemp + 2 
-02dd 98467c00 isub temp ,null 
-02de 24417054 ncall adc_set_no_power_flag ,positive 
-02df 68490652 fetcht 2 ,mem_pdatatemp + 4 
+02dc 20407057 call adc_clear_no_power_flag 
+02dd 204002e6 call p_adc_clear_low_power_flag 
+02de 6fe10654 fetch 2 ,mem_pdatatemp + 6 
+02df 68490650 fetcht 2 ,mem_pdatatemp + 2 
 02e0 98467c00 isub temp ,null 
-02e1 244102e6 ncall p_adc_set_low_power_flag ,positive 
-02e2 20204ed0 branch mouse_adc_bat_level_set 
+02e1 24417054 ncall adc_set_no_power_flag ,positive 
+02e2 68490652 fetcht 2 ,mem_pdatatemp + 4 
+02e3 98467c00 isub temp ,null 
+02e4 244102e9 ncall p_adc_set_low_power_flag ,positive 
+02e5 20204ed0 branch mouse_adc_bat_level_set 
 
 p_adc_clear_low_power_flag:
-02e3 6848c422 fetcht 1 ,mem_adc_power_flag 
-02e4 793f8400 set0 0 ,temp 
-02e5 20207059 branch adc_set_power_flag 
-
-p_adc_set_low_power_flag:
 02e6 6848c422 fetcht 1 ,mem_adc_power_flag 
-02e7 79200400 set1 0 ,temp 
+02e7 793f8400 set0 0 ,temp 
 02e8 20207059 branch adc_set_power_flag 
 
+p_adc_set_low_power_flag:
+02e9 6848c422 fetcht 1 ,mem_adc_power_flag 
+02ea 79200400 set1 0 ,temp 
+02eb 20207059 branch adc_set_power_flag 
+
 p_keyboard_adc_vol_init:
-02e9 6fe0c8b1 fetch 1 ,mem_keyboard_power_type 
-02ea c0004098 beq keyboard_battary_1v5 ,keyboard_adc_vol_1v5_init 
-02eb c000c09d beq keyboard_battary_3v0 ,keyboard_adc_vol_3v0_init 
-02ec c00102ee beq keyboard_battary_4v2 ,p_keyboard_adc_vol_4v2_init 
-02ed 20204098 branch keyboard_adc_vol_1v5_init 
+02ec 6fe0c8b1 fetch 1 ,mem_keyboard_power_type 
+02ed c0004098 beq keyboard_battary_1v5 ,keyboard_adc_vol_1v5_init 
+02ee c000c09d beq keyboard_battary_3v0 ,keyboard_adc_vol_3v0_init 
+02ef c00102f1 beq keyboard_battary_4v2 ,p_keyboard_adc_vol_4v2_init 
+02f0 20204098 branch keyboard_adc_vol_1v5_init 
 
 p_keyboard_adc_vol_4v2_init:
-02ee 582c1270 setarg 0x2c1270 
-02ef 67e1c8ab store 3 ,mem_keyboard_vdd_full_vol 
-02f0 58014001 setarg 0x014001 
-02f1 e7e18005 istore 3 ,contw 
-02f2 20600000 rtn 
+02f1 582c1270 setarg 0x2c1270 
+02f2 67e1c8ab store 3 ,mem_keyboard_vdd_full_vol 
+02f3 58014001 setarg 0x014001 
+02f4 e7e18005 istore 3 ,contw 
+02f5 20600000 rtn 
 
 p_gpio_set_ds_bit:
-02f3 d8a08049 arg core_gpio_ds ,contw 
-02f4 18410e07 and temp ,0x07 ,queue 
-02f5 18497e00 rshift3 temp ,pdata 
-02f6 1fe17e03 and_into 3 ,pdata 
-02f7 98a08a00 iadd contw ,contw 
-02f8 efe08005 ifetch 1 ,contw 
-02f9 f9207e00 qset1 pdata 
-02fa e7e08005 istore 1 ,contw 
-02fb 20600000 rtn 
+02f6 d8a08049 arg core_gpio_ds ,contw 
+02f7 18410e07 and temp ,0x07 ,queue 
+02f8 18497e00 rshift3 temp ,pdata 
+02f9 1fe17e03 and_into 3 ,pdata 
+02fa 98a08a00 iadd contw ,contw 
+02fb efe08005 ifetch 1 ,contw 
+02fc f9207e00 qset1 pdata 
+02fd e7e08005 istore 1 ,contw 
+02fe 20600000 rtn 
 
Index: output/ramcode.rom
===================================================================
--- /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/ramcode.rom	(revision 6205)
+++ /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/ramcode.rom	(working copy)
@@ -3,18 +3,18 @@
 c00d0028
 c0128048
 c014008c
-c01f0226
+c01f0229
 c02000c2
-c02181da
-c02202e9
+c02181dd
+c02202ec
 c02480d6
 c02600cd
-c02b0225
-c02e024b
-c02f01a2
-c0350236
-c03e02d5
-c04102d7
+c02b0228
+c02e024e
+c02f01a5
+c0350239
+c03e02d8
+c04102da
 c0748056
 c0750045
 c067809b
@@ -156,7 +156,7 @@
 20403717
 20407384
 204000a0
-204000fe
+20400100
 20203eb1
 204000a7
 20758000
@@ -169,7 +169,7 @@
 1fe22400
 df200008
 e8408012
-204002f3
+204002f6
 1a40a401
 c20000aa
 20600000
@@ -203,14 +203,14 @@
 c0003fe1
 c000bfeb
 20600000
-2040012f
+20400131
 204000d0
 202045b4
 da20494e
 da404963
 df200014
 20407d66
-242280fb
+242280fd
 202043ba
 204000d8
 202042de
@@ -246,6 +246,8 @@
 202000f0
 6fe0cc7a
 207a0000
+6fe0c74f
+c07f80fb
 70409401
 704c7a00
 20600000
@@ -257,14 +259,14 @@
 20404f0a
 6fe4488e
 2feffe0a
-2040812b
+2040812d
 5800491f
 67e14948
 58004927
 67e1494a
 5800493c
 67e1494c
-20400115
+20400117
 204023e1
 6fe1494a
 1fe22400
@@ -280,9 +282,9 @@
 df200008
 e8408012
 20406f0b
-2040011e
+20400120
 1a40a401
-c2000118
+c200011a
 20600000
 20406ec0
 18467cff
@@ -290,7 +292,7 @@
 d9000000
 20406e9c
 284c0000
-20208126
+20208128
 19121000
 efe08005
 9e017e00
@@ -301,7 +303,7 @@
 793ffe03
 67f08142
 20600000
-204000fe
+20400100
 58000000
 67e1499e
 d8c0494e
@@ -318,16 +320,16 @@
 6fe1499e
 1fe0fe01
 67e1499e
-c284812f
+c2848131
 6848c911
 20406ee0
-2420813d
+2420813f
 204043af
 6848c911
 20406ee0
-20208145
-2040017d
-2040016c
+20208147
+2040017f
+2040016e
 204043ab
 204043ad
 6fe1494c
@@ -342,14 +344,14 @@
 98467c00
 2022c366
 1a20a201
-c2000154
+c2000156
 1a40a401
 6fe0c99d
 1fe0fe01
 67e0c99d
 1fe67c0b
-2021014f
-20200115
+20210151
+20200117
 6fe14998
 1fe20a00
 1a227e00
@@ -361,34 +363,34 @@
 9a60a600
 efe08013
 e7e08005
-20200159
+2020015b
 6fe1494a
 1fe22400
 70499d00
 70499c00
 e8408012
 284ffe07
-20208177
+20208179
 20406ef1
-20400191
+20400193
 e8408012
 20406f0b
 1a40a401
 6fe14998
 2040437d
 1fe67c13
-2021016f
+20210171
 20600000
 70499d00
 204043a9
-20400185
+20400187
 204043a7
-20400185
+20400187
 1fe67c0b
-2021017e
+20210180
 202043a9
 70499c00
-20400191
+20400193
 6fe1499a
 1fe20a00
 6fe0c99d
@@ -404,9 +406,10 @@
 df200008
 e8408013
 20406eed
+20000078
 e8408013
 20406f0b
-200000f0
+20000078
 e8408013
 20406ee0
 6fe0c99c
@@ -414,7 +417,7 @@
 7920fe07
 67e0c99c
 1a60a601
-c2000194
+c2000196
 20600000
 20407de6
 6848c90f
@@ -426,7 +429,7 @@
 284ffe07
 2440eef1
 1a40a401
-c20001a8
+c20001ab
 20403f1b
 70488c00
 6fe14948
@@ -434,11 +437,11 @@
 df200008
 e8408012
 18467cff
-244281bf
+244281c2
 e8408012
 20406f0b
 1a40a401
-c20001b2
+c20001b5
 20406f4b
 204023e1
 6848c666
@@ -453,7 +456,7 @@
 d9000003
 20406e9c
 284c0000
-202081c9
+202081cc
 19121000
 efe08005
 9e017e00
@@ -465,7 +468,7 @@
 1fe0ffff
 67e0cac2
 6fe4488e
-c29401d7
+c29401da
 6fe0cac2
 203a4166
 2020416c
@@ -478,10 +481,10 @@
 20404100
 20404186
 204041ab
-204001ce
+204001d1
 2040413e
 20404146
-204001f7
+204001fa
 2040428f
 204042c4
 2040326c
@@ -502,11 +505,11 @@
 204042cc
 202042d5
 6fe0c8a6
-c28001fd
-20400215
+c2800200
+20400218
 6fe0c8a6
-c2808209
-2020021b
+c280820c
+2020021e
 6fe0c8a9
 1fe67c64
 24610000
@@ -516,7 +519,7 @@
 7048a700
 6fe0c678
 c1020000
-20400221
+20400224
 204048e6
 20204680
 6fe0c8aa
@@ -528,14 +531,14 @@
 7048a800
 6fe0c678
 c1020000
-20400221
+20400224
 20406824
 20204675
 7048a900
 6fe0c8a7
 207a0000
 7048a700
-20400221
+20400224
 20206c99
 7048aa00
 6fe0c8a8
@@ -552,12 +555,12 @@
 c287bf31
 20203ec8
 6fe4488e
-c31e8230
+c31e8233
 6848c440
 20404f0a
 6848c440
 20406ee0
-20208229
+2020822c
 20404049
 d8400080
 da204678
@@ -572,7 +575,7 @@
 c004c938
 c005c952
 c0044971
-c0060243
+c0060246
 c005499f
 c00949c5
 c02949cb
@@ -590,30 +593,30 @@
 6848c9a6
 18467c00
 2022c74b
-c0740269
-c074826f
-c0750273
-c0758277
-c076027b
-c076827f
-c0770283
-c0778287
-c078028b
-c078828f
-c0790293
-c0798297
-c07a029b
-c07a829f
-c07b02a6
-c07b82aa
-c07c02b2
-c07c82b6
-c07d02ba
-c07d82be
-c07e02c2
-c07e82c6
-c07f02ca
-c07f82ce
+c074026c
+c0748272
+c0750276
+c075827a
+c076027e
+c0768282
+c0770286
+c077828a
+c078028e
+c0788292
+c0790296
+c079829a
+c07a029e
+c07a82a2
+c07b02a9
+c07b82ad
+c07c02b5
+c07c82b9
+c07d02bd
+c07d82c1
+c07e02c5
+c07e82c9
+c07f02cd
+c07f82d1
 202046e6
 6fe0c678
 c0804715
@@ -624,98 +627,98 @@
 6fe0c678
 c0804718
 580000ea
-2020026c
+2020026f
 6fe0c678
 c080471a
 580000e9
-2020026c
+2020026f
 6fe0c678
 c080471c
 580000e2
-2020026c
+2020026f
 6fe0c678
 c080471e
 580000b6
-2020026c
+2020026f
 6fe0c678
 c0804720
 580000b5
-2020026c
+2020026f
 6fe0c678
 c0804722
 580000cd
-2020026c
+2020026f
 6fe0c678
 c0804724
 580000b7
-2020026c
+2020026f
 6fe0c678
 c0804726
 58000223
-2020026c
+2020026f
 6fe0c678
 c0804728
 5800018a
-2020026c
+2020026f
 6fe0c678
 c080472a
 58000194
-2020026c
+2020026f
 6fe0c678
 c080472c
 5800022a
-2020026c
+2020026f
 6fe0c678
 c080472e
 58000192
-2020026c
+2020026f
 6fe0c678
 c0804730
 6fe0caa1
-c001028b
-c001828b
+c001028e
+c001828e
 58000221
-2020026c
+2020026f
 6fe0c678
 c0804732
 58000224
-2020026c
+2020026f
 6fe0c678
 c0804737
 6fe0caa1
-c00082b0
+c00082b3
 580001ae
-2020026c
+2020026f
 58000307
-2020026c
+2020026f
 6fe0c678
 c080473d
 58000070
-2020026c
+2020026f
 6fe0c678
 c080473f
 5800006f
-2020026c
+2020026f
 6fe0c678
 c0804741
 58000030
-2020026c
+2020026f
 6fe0c678
 c0804743
 580000b8
-2020026c
+2020026f
 6fe0c678
 c0804745
 58000225
-2020026c
+2020026f
 6fe0c678
 c0804747
 58000226
-2020026c
+2020026f
 6fe0c678
 c0804749
 58000227
-2020026c
+2020026f
 6fe0c678
 c0804752
 704a6f02
@@ -728,14 +731,14 @@
 efe40011
 67e4064e
 20407057
-204002e3
+204002e6
 6fe10654
 68490650
 98467c00
 24417054
 68490652
 98467c00
-244102e6
+244102e9
 20204ed0
 6848c422
 793f8400
@@ -746,7 +749,7 @@
 6fe0c8b1
 c0004098
 c000c09d
-c00102ee
+c00102f1
 20204098
 582c1270
 67e1c8ab
Index: output/romcode.rom
===================================================================
--- /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/romcode.rom	(revision 6205)
+++ /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/romcode.rom	(working copy)
@@ -31487,9 +31487,6 @@
 00000000
 00000000
 00000000
-00000000
-00000000
-00000000
 00020001
 18000228
 03020002
@@ -32001,4 +31998,4 @@
 00000000
 00000000
 00000000
-0000b933
\ No newline at end of file
+0000ce7e
\ No newline at end of file
Index: output/sched.rom
===================================================================
--- /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/sched.rom	(revision 6205)
+++ /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/output/sched.rom	(working copy)
@@ -373,8 +373,8 @@
 mem_device_reuse_2ice_gpio:05
 
 #portA:8x,portB:cx,fixed conf,don't change
-# mem_key_excol_gpio:c2 c1 85 84 83 82 81 80 c7 c6 c4     #fx0012
-mem_key_excol_gpio:c2 c3 c4 c5 c6 c7 80 81 82 83 84 85    #fx0010
+mem_key_excol_gpio:c2 c1 85 84 83 82 81 80 c7 c6 c4 c3    #fx0012
+
 #gpio00~16
 mem_key_row_gpio:
 12		#r1
Index: program/patch.prog
===================================================================
--- /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/program/patch.prog	(revision 6205)
+++ /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/program/patch.prog	(working copy)
@@ -518,9 +518,10 @@
 p_keyboard_keyscan_get_col_value_loop:              	// loop 8 times
 	ifetcht 1,regc
 	call gpio_out_inactive
+	nop 120
 	ifetcht 1,regc
 	call gpio_set_high_impedance
-	nop 240        
+	nop 120       
 	ifetcht 1,regc       
 	call gpio_get_bit    
 	fetch 1,mem_keyscan_value_temp    
Index: util/otpcheck.pl
===================================================================
--- /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/util/otpcheck.pl	(nonexistent)
+++ /1121s/1121se/branch/keyboard/internal/keyboard_only_ble_carbon_ex_pullup_sdk/util/otpcheck.pl	(working copy)
@@ -0,0 +1,77 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+use File::Spec;  
+# 获取当前脚本的目录路径
+my $current_dir = File::Spec->rel2abs('.');
+my $parent_dir = File::Spec->catdir($current_dir, '..');  # 获取上一级目录
+my $BASE = 0x1fc0;
+# 指定要搜索的文件名
+my $filename = File::Spec->catfile($parent_dir, 'output', 'otp.dat');
+# 打开文件进行读取
+open(my $fh, '<',$filename) or die "无法打开文件 '$filename':$!";
+
+# 读取整个文件到数组中
+my @file_content = <$fh>;
+chomp @file_content;  # 移除每行的换行符
+
+# 关闭文件句柄
+close($fh);
+
+# 初始化变量
+my $found = 0;
+my $otp_end_address = 0;
+# 循环遍历文件内容，每次移动一个字节
+for my $start (0 ..$#file_content - 3) {
+    # 提取从当前起始位置开始的四个字节
+    my $chunk = join('', @file_content[$start .. $start + 3]);
+    
+    # 检查这四个字节是否匹配指定的字符串
+    if ($chunk eq '55aaaa55') {
+        $otp_end_address = $start +9;
+        # print "After adding 9 to the start position: $start\n";
+        $found = 1;
+    }
+}
+
+# 如果找到了 "55aaaa55"，则继续处理 sched.rom 文件
+if ($found) {
+    my $sched_filename = File::Spec->catfile($parent_dir, 'output', 'sched.rom');
+    # 打开文件进行读取
+    open(my $sched_fh, '<',$sched_filename) or die "无法打开文件 '$sched_filename'$!";
+    # 读取整个文件到字符串中
+    my $sched_content = do { local$/; <$sched_fh> };
+    chomp $sched_content;  # 移除字符串末尾的换行符
+    # print "sched_content: $sched_content\n";
+    # 关闭文件句柄
+    close($sched_fh);
+    # 在 sched_content 中查找 "mem_shutter_efuse_end_offset:"
+    my $sched_position = index($sched_content, 'mem_otp_read_retention_max_size:');
+    # 如果找到了 "mem_shutter_efuse_end_offset:"
+    if ($sched_position != -1) {
+        # 获取 "mem_shutter_efuse_end_offset:" 后面的两个字节
+        my $five_bytes_with_spaces = substr($sched_content, $sched_position + length("mem_otp_read_retention_max_size:"), 5);
+        $five_bytes_with_spaces =~ s/ //g;  # 移除空格
+        my $five_bytes =$five_bytes_with_spaces;
+        print "Q:  $five_bytes\n";
+        # 字节颠倒
+        my $reversed_bytes = substr($five_bytes, 2, 2) . substr($five_bytes, 0, 2);
+        my $decimal_value = hex($reversed_bytes);
+        my $MAX_SIZE = $BASE - $decimal_value;
+        # 打印找到的字符串位置信息以及后面跟随的两个字节
+        print "===== Keyboard OTP Check =====\n";
+        print "mem_otp_read_retention_max_size: $decimal_value\n";
+        print "MAX OTP SIZE: $BASE - $decimal_value = $MAX_SIZE\n";
+        print "OTP SIZE:  $otp_end_address\n";
+        if($MAX_SIZE >$otp_end_address)
+        {
+            print"otp check done\n";
+        }
+        else
+        {
+            die "otp check failed, please check 'mem_otp_read_retention_max_size'\n";
+        }
+    } else {
+        print "String 'mem_otp_read_retention_max_size:' not found in file '$sched_filename'.\n";
+    }
+}
