xbird
级别: 火花会员
编号: 92216
精华: 0
发帖: 112
威望: 0 点
配偶: 单身
火 花 币: 17216 HHB
注册时间:2008-08-08
最后登陆:2010-07-19
|
下面是引用不要踩我于2008-08-31 18:04发表的: 不能直接扩充,不然会破环下一个数据段的数据,这两天我研究了NDS ROM的结构,本来想查看一下天使汉化组那个工具的源代码,结果受到的链接都过期了,真正解决方法就是更改ndsheader.bin里的指针,这个文件主要就是包含了ROM内部文件的指针,只要把指向database的指针指向空白段,然后把原来的Database写到空白段,就行了,ROM 039042D0之后都是空白的,空间要多大就有多大.等于不要原来的database,而用自己的database.不过不这样改,直接解压改,然后压缩导入貌似也是够的,至少我到现在还没有发现会超过上限
关于你说的一样,估计只是改好后,压缩回来比原来小了,然后自动补FF造成的,恩肯定是这样的,所有的压缩算法压缩后的大小都不可能是一样的,LZ77压缩也是这样,但是它的解压出来的文件肯定是一样的,主要是由于LZ77的格式造成的,你可以看一下网上的关于LZ77的算法,. |
|
用agblz.exe压缩后虽然不一样,但解压正如兄台所说的是一样的,估计放回去也无大碍。Thanks!
的确,刚刚试过,用扩充的方法是不可行的,即使我把后面的数据复制下来,扩充后再贴回去也没用,用ndsl运行不了。看来rom本身是按位寻址的,或者只能改指针,在后面放数据~
请问如何修改ndsheader.bin这个文件?用什么工具?提取出来用UE打开看不懂……(虽然改过后不能正常运行,但还是想知道)
[ 此贴被xbird在2008-08-31 22:07重新编辑 ]
|
|
[25 楼]
|
Posted:2008-08-31 22:01| |
顶端
| |