- 精华
- 2
- 帖子
- 15689
- 威望
- 16 点
- 积分
- 16857 点
- 种子
- 7 点
- 注册时间
- 2008-4-5
- 最后登录
- 2024-8-1
|
发表于 2009-10-5 20:54 · 辽宁
|
显示全部楼层
下面是引用***y-***y于2009-10-03 04:09发表的:
SHENQIFX兄,打保釘不成功,地址超出範圍。是甚麼原因呢?認是邏輯內存地址不對,怎樣解決? 过程比较麻烦:
1.首先是确认地址码和指令码,mips汇编每个指令固定为32位,如 901a8124 24001001 中的前段是地址码,后段为指令码,地址码的第一位一般要替换为0值,数字9打头的raw码成功率较高.
2.获得raw(原始)码,然后使用PS2DIS确认获得的raw码的必须码是否与启动文件中对应地址处的指令相同,由于金手指码格式较多,因此需要用PS2DIS确认和重新定位(找到真正的raw地址即对应启动文件的指令地址).
3.pcsx2补丁地址的计算方法:如果raw地址码减去逻辑内存偏移值(一般即0x100000)加上程序段起始值(一般即0x80)小于0或大于启动文件长度则该地址为运行后分配的地址是不能写入启动文件的。
4.符合以上条件的raw码可以用于修改启动文件,可以先做成模拟器补丁测试后再应用于启动文件 |
|