- 积分
- 412
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|
楼主 |
发表于 2009-7-26 11:59:00
|
显示全部楼层
还有一个,第一次自己尝试把接通振动的补丁从依赖lib的补丁改为常规的。。。
我修改的。- #define _RAMTMR 0xA8A7F180
- #define GBS_StartTimerProc 0xA0093278
- #define SetVibration 0xA01B11F3
- RSEG VIBRA_AT_STATT_START_HOOK
- CODE16
- LDR R4, =VIBRA_AT_CALL_START
- BLX R4
- RSEG VIBRA_AT_CALL_START_BODY
- CODE16
- VIBRA_AT_CALL_START
- MOV R1, LR
- ADD R1, #4
- ADD R0, #0x17
- PUSH {R0,R1}
- NOP
- NOP
- NOP
- PUSH {R0}
- LDR R0, =_RAMTMR
- LDR R1, =TIME
- LDR R2, =VIBRA_OFF
- ADD R2, #1
- LDR R3, =GBS_StartTimerProc
- BLX R3
- POP {R0}
- LDR R0, =POWER
- LDR R1, =SetVibration
- BLX R1
- ADD R2, R5, #0
- ADD R3, R5, #0
- MOV R1, #9
- POP {R0,PC}
- VIBRA_OFF:
- PUSH {LR}
- MOV R0, #0
- LDR R1, =SetVibration
- BLX R1
- POP {PC}
- DATA
- TIME
- DCD 100
- POWER
- DCD 50
- END
复制代码 反汇编得到的。- ROM:A0063800 ; ---------------------------------------------------------------------------
- ROM:A0063800 71 46 MOV R1, LR
- ROM:A0063802 04 31 ADD R1, #4
- ROM:A0063804 17 30 ADD R0, #0x17
- ROM:A0063806 03 B4 PUSH {R0,R1}
- ROM:A0063808 C0 46 NOP
- ROM:A006380A C0 46 NOP
- ROM:A006380C C0 46 NOP
- ROM:A006380E 01 B4 PUSH {R0}
- ROM:A0063810 07 48 LDR R0, =0xA8A7F230
- ROM:A0063812 64 21 MOV R1, #0x64
- ROM:A0063814 04 A2 ADR R2, loc_A0063828
- ROM:A0063816 01 32 ADD R2, #1
- ROM:A0063818 4D DF SWI 0x4D //4D: void GBS_StartTimerProc(void *htimer, long ms, void ptr())
- //0xA0093278
- ROM:A006381A 01 BC POP {R0}
- ROM:A006381C 1E 20 MOV R0, #0x1E
- ROM:A006381E 7C DF SWI 0x7C
- ROM:A0063820 2A 1C ADD R2, R5, #0
- ROM:A0063822 2B 1C ADD R3, R5, #0
- ROM:A0063824 09 21 MOV R1, #9
- ROM:A0063826 01 BD POP {R0,PC}
- ROM:A0063826
- ROM:A0063828 ; ---------------------------------------------------------------------------
- ROM:A0063828
- ROM:A0063828 loc_A0063828 ; DATA XREF: ROM:A0063814o
- ROM:A0063828 00 B5 PUSH {LR}
- ROM:A006382A 00 20 MOV R0, #0
- ROM:A006382C 7C DF SWI 0x7C // 7C: unsigned int SetVibration(unsigned int power) 0xA01B11F3
- ROM:A006382E 00 BD POP {PC}
- ROM:A006382E
- ROM:A006382E ; ---------------------------------------------------------------------------
- ROM:A0063830 30 F2 A7 A8 dword_A0063830 DCD 0xA8A7F230 ; DATA XREF: ROM:A0063810r
复制代码 |
|