设为首页收藏本站

琵琶行论坛

 找回密码
 注册
查看: 2669|回复: 19

mamep的debug源码修改

[复制链接]

该用户从未签到

发表于 2016-4-22 01:58:08 | 显示全部楼层 |阅读模式
本帖最后由 124641469 于 2016-10-15 10:28 编辑

其实都是很少用到的功能, 毕竟原版的debug就已经非常强大了

适用版本: mame plus 0.148 ~ 0.168

1. debug的内存浏览窗口可以直接对rom区点击写入数值
大部分游戏都适用, 不过偶而也有遇过无效的游戏
无效的游戏, 还是可以用maincpu指令对rom区写入数据就是了
或是在内存浏览窗口, 切换显示到 Region ':maincpu' 应该也可以直接写入


2. debug可以用load指令将二进制文件写进rom区里


3. 显示Region基地址
主要用来看rom区的基地址的
以wofj为例子, 游戏启动时, debug窗口会显示Region ':maincpu' = 0x0542F020


打开内存窗口, 首先看到地址0的数据如下


以Cheat Engine或其他内存搜寻工具载入mamep.exe
内存浏览到基地址0542F020


看到的数据和mame debug里其实是一样的, 只不过mame debug里显示的是二字节交叉的模式
比如CE里的A2 71, 在mame debug里就是71A2
在CE里修改数据的话, 可以反映到mame debug里

CE中还可以更改显示模式, 在内存浏览窗口右键, 选择Display Type -> 2 Byte hex, 这样就完全一样了:



4. 使用memdump指令时, 显示映射的基地址
这个主要用来看ram区的基地址
在debug窗口输入memdump


会在mamep文件夹下生成一个memdump.log文件, 以文本编辑器打开
找到Device ':maincpu' program address space read (或是write) ... 这一区段
可以看到地址映射表, 其中有一个是ram区
以wofj来说, 偷看cheat文件可以发现大部份作弊地址都是00ffxxxx
所以看一下映射表就可以发现ram区是在 00FF0000-00FFFFFF 这一区块里:


右边的offset=00FF0000是表示这个区块在游戏中的起始地址
而base address=0DEF1000就是这个区块在mamep中的起始地址, 也就是ram区的基地址了

现在可以来测试一下
wofj里1p的人物数据主要放在FFBE1C地址处, 要换算成CE中能看到的地址
由于FF0000对应的基地址是0DEF1000
所以首先要减FF0000, 得到BE1C, 然后再加ram区基地址0DEF1000, 可以得到0DEFCE1C
在CE中转到地址0DEFCE1C处就可以看到完全一样的数据了:






5. 由12楼燕市游徒大提供, 修正部份游戏寻址的问题, 需要使用指令 ci ub,搜寻起始地址,搜寻范围大小
进行初始化, 再进行内存搜寻


6. 遵照银河漫步大人的命令, 删除三个内置游戏pongf, pongd, breakout
(就在源码src\mame\arcade.lst里找这三个删除再编译即可)


编译好的两种版本下载:
mameplus 0.168 r5273版
https://pan.baidu.com/s/1pLiq7mN

mame plus 0.168 r5273版的ncp缩减版(只支持Neogeo Cps Pgm约一千个游戏)
https://pan.baidu.com/s/1qY3nl3u
缩减版的编译方法 http://f.ppxclub.com/669213-1-1

debug设置可以参考此帖2楼 http://f.ppxclub.com/669492-1-1


其他资源下载:
cheat    http://f.ppxclub.com/668090-1-1    http://f.ppxclub.com/669030-1-1
IPS    http://www.ppxclub.com/127368-1-1    http://f.ppxclub.com/669564-1-1
中文游戏列表    http://f.ppxclub.com/609487-1-1
中文出招表    http://f.ppxclub.com/130735-1-1


本帖子中包含更多资源

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

x

评分

3

查看全部评分

签到天数: 482 天

[LV.9]以坛为家II

发表于 2016-4-22 06:59:26 | 显示全部楼层
好工具,谢谢分享。
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2016-4-22 07:57:56 | 显示全部楼层
感谢分享,厉害!
回复 支持 反对

使用道具 举报

签到天数: 38 天

[LV.5]常住居民I

发表于 2016-4-22 16:53:12 | 显示全部楼层
666666
回复

使用道具 举报

签到天数: 7 天

[LV.3]偶尔看看II

发表于 2016-4-22 22:11:31 | 显示全部楼层
谢谢了~好东东
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2016-4-24 00:02:38 | 显示全部楼层
补了编译好的下载地址
回复 支持 反对

使用道具 举报

签到天数: 69 天

[LV.6]常住居民II

发表于 2016-4-24 19:40:14 | 显示全部楼层
技术白痴看不到,帮顶
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2016-4-25 17:08:43 | 显示全部楼层
谢谢分享
回复

使用道具 举报

签到天数: 1 天

[LV.1]初来乍到

发表于 2016-4-25 20:09:17 | 显示全部楼层
模拟器作弊码制作讨论,作弊码分享
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2016-5-2 09:51:28 | 显示全部楼层
好东西,支持AXDX
回复 支持 反对

使用道具 举报

签到天数: 109 天

[LV.6]常住居民II

发表于 2016-5-4 22:17:39 | 显示全部楼层
好东西
收录到模拟器列表去
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2016-5-5 17:47:09 | 显示全部楼层
大神能不能添加这个debug修改,这个修改对修改三国战纪2十分的有用,它能寻址到d00000-ffff的地址,如果不用这个修改就会 "No writable bytes found in this area"。我自己编译了mame 0.165,大神有空的时候可以编译到mameplus中。

http://mametesters.org/view.php?id=5518


I've encountered it a few times over the years and I've worked around it by bypassing the memory sanity check - which is obviously the wrong thing to do (which is why I've never submitted it). Each system should ideally be fixed for cheat searching individually, but it's such a minor issue that I can't see anybody being that bothered about it.

This is a global fiddle that does allow you to search, though you will likely need to enter the search areas manually eg CI UB 0,FFFFFF instead of CI.

in debugcmd.c

Change the INLINE int cheat_address_is_valid function to always RETURN TRUE :-

INLINE int cheat_address_is_valid(address_space &space, offs_t address)
{
return TRUE; //bypass the validity check
}

I think that's the only line and file that I needed to change ( I might be wrong ) but cheat searching in jaguar has worked for me some time (hence the jaguar cheat collection).
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|琵琶行论坛 ( 赣ICP备12000882号  

GMT+8, 2017-11-23 02:37 , Processed in 0.026154 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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