爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 489|回复: 11
收起左侧

[求助] [已解决]高手能不能移植这个补丁?

[复制链接]
发表于 2009-5-10 16:54:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册会员 微信登录

x
本帖最后由 loquat 于 2009-5-13 18:33 编辑

Run java-machine with start 1st midlet
只有运行java时,才启动java虚拟机,如果不运行java或者上网已经全elf的话,这个就很有必要了。
如果不运行java就会有多很多的RAM(我的S7C刷后增加了大概4M多的RAM),是这个补丁的完美MP版本。
http://mobile.0110.cn/viewthread.php?tid=410281
  1. ;RAM up to 8M
  2. ;(c) funmarkus
  3. ;(p) loquat
  4. 0x00A16BC0: CD5402EB 0000A0E1       ;S7Cv47
复制代码
  1. ;E71Cv41
  2. ;FIX version
  3. ;* Run java-machine with start 1st midlet *
  4. ;(c) @ndreS/PRM
  5. ;(idei) Miha_r, DronSPB
  6. ;(p) binghelingxi
  7. ;和“Java-machine killer”和“扩大空余RAM到8MB”这个补丁冲突
  8. ;首次运行需要调用java的程序,就会开始运行java虚拟机,在此之前,和“扩大空余RAM到8MB”这个补丁有相同的效果
  9. ;JAVA软件都正常使用,但是导致主菜单无法打开,请使用其他方法打开,如ELF,或Native Menu,
  10. ;也可以从“开发人员”——>“Java”——>“Start Flexmenu”
  11. 0A2FB2C: 873103EB 73FFD8FA ;a
  12. 0A2460C: 87C9FFFB C046C046 ;b
  13. ;(c) Miha_r
  14. 0A2FA28: 04 00 ;c
  15. #pragma enable old_equal_ff
  16. 006F900: 01B506480478FB2C03D101BC024CA047
  17. 006F910: 00BDFB24047001BD,0xA0AFC150,0xA8D88F00 ;d,free ram
  18. #pragma disable old_equal_ff
  19. /*
  20. a: //48 D0 8D E2 F0 81 BD E8 53 49 45 4D-4,BLX 0x6F900
  21. b: //00 40 86 E5 70 D0 8D E2 70 80 BD E8-4
  22. c: //00 00 55 E3 0D 00 00 0A 10 10 8D E2 04 51 81 E7-4
  23. d: //07 10 A0 11 DC 10 8F 02 00 60 A0 E1 00 00 56 E3-8
  24. */
复制代码
  1. ;ELC1v41
  2. ;FIX version
  3. ;* Run java-machine with start 1st midlet *
  4. ;(c) @ndreS/PRM
  5. ;(idei) Miha_r, DronSPB
  6. ;(p) snoopyhzy
  7. ;和“Java-machine killer”和“扩大空余RAM到8MB”这个补丁冲突
  8. ;首次运行需要调用java的程序,就会开始运行java虚拟机,在此之前,和“扩大空余RAM到8MB”这个补丁有相同的效果
  9. ;JAVA软件都正常使用,但是导致主菜单无法打开,请使用其他方法打开,如ELF,或Native Menu,
  10. ;也可以从“开发人员”——>“Java”——>“Start Flexmenu”
  11. ;另外关闭主菜单后可以运行双JAVA
  12. 0A36314: AF3503EB 79E5D8FA ;a
  13. 0A2ADF4: 87C9FFFB C046C046 ;b
  14. ;(c) Miha_r
  15. 00A36210: 04 00
  16. #pragma enable old_equal_ff
  17. 006F900: 01B506480478FB2C03D101BC024CA047
  18. 006F910: 00BDFB24047001BD,0xA0B039D8,0xA8D88EF0 ;d,free ram
  19. #pragma disable old_equal_ff
  20. /*
  21. a: //48 D0 8D E2 F0 81 BD E8 53 49 45 4D-4,BLX 0x6F900
  22. b: //00 40 86 E5 70 D0 8D E2 70 80 BD E8-4
  23. c: //00 00 55 E3 0D 00 00 0A 10 10 8D E2 04 51 81 E7-4
  24. d: //07 10 A0 11 DC 10 8F 02 00 60 A0 E1 00 00 56 E3-8
  25. */
复制代码
这个是冰大教我的简单移植RAM的方法,我还一直没试验过。
  1. ROM:0xA0000000-0xA3FFFFFF
  2. RAM:0xA8.......,S68/E71/EL71还有0xAC...,0xAD....,不过其0xA8....中的一部分不是RAM,大概是未定义的

  3. 识别,简单的方法,反汇编之后很容易看出来
  4. 直接观察就看四字节对齐双位取反之后是否是A0..A1..A8.....

  5. RAM地址移植:
  6. a为要移植的地址,A为原机型FUBU,B为移植目标机型FUBU
  7. 搜索工具用SMELTER
  8. 1.将a双位取反在A中搜索,如果搜不到,略去后两位搜索(如:0xA8000000,搜索特征码就是??0000A8),
  9. 2.找到最相近的,记为b,记它与a的差为c,
  10. 3.接下来用移植ROM中地址的方法来移植b在B中的位置,记为d,
  11. 4.读取d的4字节数据双位取反,记为e,e是一个RAM地址,如果不是,重新做第2步,找次相近的
  12. 5.e+c,就是我们要的结果

  13. 上面的方法,其实是比较粗糙的,用armdebugger直接调试,重要的是明白其原理
复制代码
发表于 2009-5-10 17:15:42 | 显示全部楼层
额搞不定好久了。。。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-10 17:19:48 | 显示全部楼层
本帖最后由 loquat 于 2009-5-10 21:24 编辑

找到了已经移植到NSG的
  1. ;S75v52
  2. ;Run java-machine with start 1st midlet
  3. ;Run java-machine with start 1st midlet
  4. ;(c) @ndreS/PRM
  5. ;(r) (i)Miha_r, DronSPB
  6. ;09FD6C4: C1A902EB 8DC8D9FA
  7. 0A16BC0: CD5402EB  ;a S7Cv47
  8. ;09F3F9C: FC3F17EB C046C046
  9. 0A0D498: 186228EB C046C046    ;b S7Cv47

  10. ;09FD658: 04 00
  11. 0A16B54: 04 00 ;c S7Cv47
  12. #pragma enable old_equal_ff
  13. 006F900: 01B506480478FB2C03D101BC024CA047
  14. 006F910: 00BDFB24047001BD,0xA0AABEFC,0xA8000080    ;S7Cv47
  15. #pragma disable old_equal_ff
复制代码
  1. ;S75v47
  2. ;Run java-machine with the start of 1st midlet
  3. ;(c) @ndreS/PRM
  4. ;(r) (i)Miha_r, DronSPB
  5. ;(p) dimonp25
  6. 09FCB3C: E2AA02EB 6FCBD9FA
  7. 09F3414: 514017EB C046C046

  8. ;09FCAD0: 04 00
  9. #pragma enable old_equal_ff
  10. 006F900: 01B506480478FB2C03D101BC024CA047
  11. 006F910: 00BDFB24047001BD,0xA0AA76CC,0xA8000080
  12. #pragma disable old_equal_ff
复制代码

按照冰以前说的应该是Thumb模式的,
因为我用BL直接跳过去还是死机,死机地址一直在0x00A16BC0
回复 支持 反对

使用道具 举报

发表于 2009-5-10 17:50:31 | 显示全部楼层
这个RAM地址不需要移植,只要16字节的空白RAM就可以了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-10 19:22:56 | 显示全部楼层

这个地方还是没有理解,RAM按地址来看已经超过fubu的范围了。
该怎么看的?
回复 支持 反对

使用道具 举报

发表于 2009-5-10 19:48:02 | 显示全部楼层
S75的12宫不是JAVA的吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-10 20:21:41 | 显示全部楼层
S75的12宫不是JAVA的吗
askman1123 发表于 2009-5-10 19:48

这个不知道,反正我打了这个补丁之后极速菜单还能用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-10 21:59:36 | 显示全部楼层
这个贴不能沉,给高手看的。
就差一个跳转我不会算了。
回复 支持 反对

使用道具 举报

发表于 2009-5-10 22:46:48 | 显示全部楼层
支持,不能沉,帮顶~
回复 支持 反对

使用道具 举报

发表于 2009-5-11 13:17:05 | 显示全部楼层
顶这个贴子,希望早点移植这个补丁,很好的补丁。不过用了之后要刷那些极速菜单修正补丁再用极速菜单换调主菜单,我的EL71正用着
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-13 13:58:07 | 显示全部楼层
顶起,高手怎么不进来呢???
回复 支持 反对

使用道具 举报

发表于 2009-5-13 14:03:54 | 显示全部楼层
6# askman1123
我个人觉得s75的12宫是java,急速菜单则不是……如图……

xxx.jpg
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2025-7-23 16:33

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表