- 积分
- 745
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
很早就想总结一个2128FLASH修改用到的函数表,可是实在太多了,而且很零散.所以没有搞成.从本周起,我会把每一周内看到的函数或者常用的地址抄录下来,写上注释.做一个总结.我想一定会对其他研究FLASH的同好有一定的帮助,少走些弯路.
我不是专业的程序员,有些地方可能注释得有问题,或者不标准,再或者根本就是错的,再再或者根本就是我在胡扯...总之我知道多少就会写多少,请大家多提意见.
这个东西可能开始看起来会很乱,因为我看代码也没有规律的,看到哪里就抄到哪里,注释是想到哪里就写到哪里.有一定积累后我会把这些零散的东西来一个排序之类的操作,到时候再说吧.
1:锁键盘函数地址
//用到这个函数的补丁是"锁键盘关闭显示(尚未开发完成)","根据情景模式选择锁键盘"等.
ROM:C9F32E DA 86 3C E5 calls 86h, sub_86E53C ;锁键盘函数
ROM:C9F332 48 40 cmp r4, #0 ;
ROM:C9F334 2D 04 jmpr cc_Z, loc_C9F33E
跳转到这里:
ROM:86E53C
ROM:86E53C
ROM:86E53C sub_86E53C: ; CODE XREF: sub_86E54E+6P
ROM:86E53C ; ROM:C9C3ECP ...
ROM:86E53C DA 83 70 D6 calls 83h, sub_83D670
ROM:86E540 48 40 cmp r4, #0
ROM:86E542 3D 02 jmpr cc_NZ, loc_86E548
ROM:86E544 E0 1C mov r12, #1
ROM:86E546 0D 01 jmpr cc_UC, loc_86E54A
//这个是手动的锁键盘函数,还有一个自动锁键盘的函数不知道忘在哪儿了...
2:笔画输入法的修改
//所有笔画的修改都是从这里来的,往下走还有很多,有些还没有搞明白.
//拼音也有一样的结构,这个研究得比较多,注释也很详细.但是这个星期没有时间看了.
ROM:C3B044 EA 20 72 B2 jmpa cc_Z, loc_C3B272 ;上键
ROM:C3B048 46 F3 24 00 cmp r3, #24h ; '$'
ROM:C3B04C EA 20 72 B2 jmpa cc_Z, loc_C3B272 ;长按上键
ROM:C3B050 46 F3 1F 00 cmp r3, #1Fh
ROM:C3B054 EA 20 12 B3 jmpa cc_Z, loc_C3B312 ;下键
ROM:C3B058 46 F3 23 00 cmp r3, #23h ; '#'
ROM:C3B05C EA 20 12 B3 jmpa cc_Z, loc_C3B312 ;长按下键
ROM:C3B060 46 F3 14 00 cmp r3, #14h ; #键
ROM:C3B064 EA 20 00 B9 jmpa cc_Z, loc_C3B900
//这里举个例子说一下,从上面的第一排跳到这里.是上键控制光标移动的机制,
ROM:C3B272 loc_C3B272: ; CODE XREF: ROM:C3B044j
ROM:C3B272 ; ROM:C3B04Cj
ROM:C3B272 48 E1 cmp r14, #1 //有输入,在输入笔画状态
ROM:C3B274 EA 20 F0 B2 jmpa cc_Z, loc_C3B2F0
ROM:C3B278 48 E2 cmp r14, #2 //有输入,在选字状态
ROM:C3B27A 2D 04 jmpr cc_Z, loc_C3B284
ROM:C3B27C 48 E0 cmp r14, #0 //无输入
ROM:C3B27E 2D 2A jmpr cc_Z, loc_C3B2D4
ROM:C3B280 EA 00 00 B9 jmpa cc_UC, loc_C3B900
//从loc_C3B284一路看下来,这里:
ROM:C3B2C6 28 E1 sub r14, #1 //选字翻页就是这么来的.
//下键也是一样的,大家可以对照着看一下.
|
|