- 积分
- 100
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|
楼主 |
发表于 2008-9-21 01:11:12
|
显示全部楼层
MMC刷机
由于时间匆忙,1楼没有做很好说明。抽空回来看看,并重新整理。
;MMC刷机
;作者:ljmstock
;for 6688/5508
;日期:2008.09.20
;作用:对简单补丁通过MMC刷机,也可用于补丁测试。
;一、原理:
;1、在常用挂钩处,用数据线刷入调用RAM的函数。
;2、通过MMC运行bin文件,将补丁代码加载到BLOCK,然后加载到RAM中。
;3、挂钩直接调用RAM中的补丁代码,改变原来机子的一些功能。
;4、这个挂钩成为“万用挂钩”,可以通过MMC上的bin文件随时进行更新,因此称为MMC刷机。
;二、使用方法:
;1、先将制作好的MMCto5153.bin、5153toRAM.bin拷入MMC,并运行,否则刷了补丁开机可能造成出错。
;2、用数据线刷入调用RAM函数的补丁。
;----------------------------
;在常用挂钩处,用数据线刷入调用RAM的函数,这是唯一要刷机的代码,一次刷入终身受益。
0x1f9900: FFFFFFFFFFFFFFFFFFFFFFFF DA0DA0C5DB00DA0DAAC5DB00;如地址冲突,自己移植
0x35EB0E: 3D04DAD002740D04CC00 DABF0099E01CDAF334ED;待机短按侧键-,刷过倒计时
0x1F0088:CC00CC00 DABF0699;刷过待机Patch跳转挂钩表,集中所有待机时功能更新。
;----------------------------
;以下内容为bin文件,在MMC上运行。制作方式winming的“VKP补丁数据转换BIN格式生成器V1.0 似水无痕版”
;1、5153toRAM1.bin(适用于待机短按侧键-):
;0x000000: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E6F4F6F9E00C88C088C088C0E6FCA000; size:A0,有效代码10行
;0x000010: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 88C0E6FC2114E6FDA005E6FE3700E00F
; 2114=5153,内存地址37:05A0
;0x000020: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E6F5B400DAC788EE06F00800DB00
; 5153toRAM2.bin(适用于待机Patch表):
;0x000000: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E6F4F6F9E00C88C088C088C0E6FCA000; size:A0,有效代码10行
;0x000010: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 88C0E6FC2114E6FDAA05E6FE3700E00F
; 2114=5153,内存地址37:05AA
;0x000020: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E6F5B400DAC788EE06F00800DB00
;2、MMCto5153.bin的内容为:
;以下4行为文件头
;0x000000: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E00C88C0E00DE00E88E088D0E6FFA000;A000,有效代码10行
;0x000010: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 88F0E6FC2114E6FD4000E6FE2000E00F; 2114=BLOCK5153
;0x000020: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DAB44AFA06F00800E6FD1E05DAE6A804
;0x000030: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DB00CC00CC00CC00CC00CC00CC00CC00
;0x000040: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 从0x000040开始为用户补丁代码,见实例
;例1:线路切换,待机短按侧键-
;0x000040: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DAA0CA1548423D02E01C0D01E02CFAA0
;0x000050: FFFF 4A16
;例2:一键开关网络Dong版,待机短按侧键-
;0x000040: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 46FC0D002D0446FC0E00FAD5D6E98880
;0x000050: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 88C088D0DC5998C8A8D8DC4DD48C0400
;0x000060: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 98D098C046F8EB002D05988046FC0E00
;0x000070: FFFFFFFFFFFFFFFFFFFFFFFFFFFF FAD5D6E99880DABF00A0FAD532EE;DABF00A0,开关网络
;例3:后台运行JAVA指示(绿茶版)(待机Patch表)
;0x000040: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF D7403400F3F22B3E3D010D10D7401100
;0x000050: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F3F2143C3D01DB003D010D08E6FC5100
;0x000060: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E6FD1100E6FEE801DAB304DFDB00
;例4:显示快速搜索网络图标(绿茶)(待机Patch表)
;0x000040: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DAA214F548412D08E6FC0000E6FD1F00
;0x000050: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E6FE1601DAB304DFDB00
;例5:UNDO和预留,直接使内存调用返回
;0x000040: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DB00
;----------------------------
;后记:这些仅仅是些例子,自己可以很大发挥。特别是一些Patch跳转挂钩表,只要占用其中一个挂钩就行了。
;类似的还有 Xinshou 开机和关机时的Patch跳转挂钩表。这种方式不会再出现FLASH地址冲突问题,也解决了地皮拥挤问题。
;最大的用处还在于一种全新的集成版:里面只有一些基础补丁、复杂补丁、常用补丁,和通用挂钩调用不同RAM地址的函数。
;其他补丁就用本方法随时刷机。
[ 本帖最后由 ljmstock 于 2008-9-21 01:18 编辑 ] |
|