分享到新浪微博 分享到QQ空间 打印

[其他] 【小技巧文】主要是ct2跟no$gba的(不断更新)

【小技巧文】主要是ct2跟no$gba的(不断更新)

查看ds内存的方法
内存查看在很多方面有着实际用处,想必很多人这方面跟我有着一样的体会,现在介绍几种我自己常用的。
访问no$gba运行ds游戏时的内存,
1.用CT2
ct2有这部分功能,可以查看主内存(0x02000000~0x023FFFFF)跟显存 vram(0x06xxxxxx)
具体方法如下,用no$gba打开ds游戏,然后打开ct2(请确保ct2的版本在09.09.13之后,不然访问的内存有误),文件菜单下有个“乱入ds模拟器”选项,选中模拟器,之后会弹出如下的窗口:

点击右下角,可以看到2个选项,如下:

上面一个就是显存,下面一个就是主内存,任选一个进入,哦,对了,此举还可以简易汉化模拟器哦~~
小贴士, 有时候,在运行有些游戏进入不了内存,这时候,就需要一个媒介了。
举个例子,模拟器运行空之探险队的时候,无法乱入内存,但运行时暗探险队的时候,可以乱入内存,那么可以这样做。
模拟器运行时暗探险队→用ct2乱入内存,顺便汉化模拟器→模拟器运行空之探险队→内存变为运行空之探险队的了
用这种间接的方式,达到访问内存的目的,常备一个可以被乱入内存的rom,以备各种情况。


2.用no$gba自带的
这个很好说了,调试版本的no$gba左下角就是内存窗口/断点窗口,2者的切换也很容易,右键菜单选择Break/Watch window|data window就可以互相切换了,当切换到data window的时候,右键菜单选goto,接着键入内存地址即可。这是一种,不过只能查看,如果要做高级的,就需要其他的方法了。
接上,转到目标地址之后,在工具菜单下导出十六进制数据(模拟器没汉化的话,就是utility选项下,选择hexdump to file),然后输入要导出的字节,不过导出的其实是文本文件,不是二进制文件。
那么,需要二进制文件的话,又该怎么办呢?
很简单,选择文件菜单下的保存即时存档(模拟器没汉化的话,就是file选项下,选择write snapshot),生成的SNA文件就保存了内存中的大部分数据,为什么说是大部分,因为no$gba的即时存档功能并不完善,没有保存诸如高速缓存部分的内存。
小贴士,如果打开SNA文件,发觉数据几乎无法被查看,那就是即时存档被压缩了,解决方法有2个
第一个
引用:
在模拟器目录中找到“NO$GBA.INI”文件。打开后,找到“SAV/SNA File Format == Compressed”一行,把“Compressed”改为“Raw”
第二个
进入模拟器的设置选项,就是options那个,选择files setup,也就是文件设置,左下角有一个SAV/SNA file format,选择Raw即可。
小贴士2,在SNA文件中可以查看平时无法被模拟器访问的3D材质哦,从而给修改或者破解提供了更多的方向,至于为什么模拟器无法查看,是因为ds的3D材质对于CPU不可见,仅对图形引擎可见,模拟器也做了这方面的模拟。

ARM指令修改
ct2基本上没办法敲arm指令,貌似就nop空指令可以,thumb有时候也无法识别,不过no$gba基本支持,首先要能够进入内存,如果是用ct2访问内存,接着在用no$gba修改指令,在no$gba中修改指令是很容易的事情,直接在指令窗口输入指令,即可完成,修改完以后,由于ct2可以直接复制粘贴十六进制数据,直接把内存中的数据复制粘贴到对应的rom文件中,就可以完成修改了。

arm9.bin/overlay压缩问题
有时候,会碰到压缩的arm9.bin/overlay,这时候该怎么下手呢?
ct2有提供这方面的功能,打开arm9.bin或者overlay被压缩的nds文件,然后打开工具菜单下的nds文件系统信息,

如上所示,选择解压,然后文件就被解压缩了,不过要压缩回去怎么办呢?
也很简单,选择压缩选择,然后选择目标arm9.bin即可完成。
小贴士,ct2的这个功能,其实不单单是压缩,还做了导入处理,所以一次性就可以把压缩跟导入问题给搞定了~

CT2的图块/tile编辑修改调整功能
1.基本的图块修改
图块跟tile貌似是一个概念,下面我都这样理解了啊~~
用ct2打开目标文件,点击要修改的图块,运用鼠标左键或右键点击目标像素,可以修改了,但颜色好像就2种,怎么换颜色呢?
很简单,切换到调色板视图

先点击“文本”按钮,然后鼠标左键点击别的颜色,这样子,鼠标左键能修改的颜色就发生变化了,要修改鼠标右键对应的颜色,点击“背景”按钮,再选择对应颜色即可。
2.调整功能
Ctrl + 左/右 微调图块偏移
Ctrl + 上/下 调整图像显示格式
Alt + 左/右 调整单位图块的宽
Atl + 上/下 调整单位图块的高
shift + 左/右 调整显示出来的图块的列数
shift + 上/下 调整显示出来的图块的行数
Ctrl + C/Ctrl + V 复制/粘贴图块

[ 本帖最后由 enler 于 2010-8-21 11:30 编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

恩。不错不错。不过这些我以前就会了,期待更精彩的!

TOP

谢谢楼上支持,其实我觉得也没啥什么很营养的内容,随便看看就是了
吐槽一句,还是没有洋葱头喝茶表情
本帖最近评分记录
  • pokemon002 PT币 +1 那你上次的那个洋葱头喝茶哪里来的(某增益 ... 2010-8-22 06:31

TOP

有点难懂

TOP