设为首页收藏本站

琵琶行论坛

 找回密码
 注册
查看: 1968|回复: 8

MAME DEBUG常用指令

[复制链接]

该用户从未签到

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



  1. 内存搜寻: ci, cn, cl

  2.     ci
  3.     搜寻任务初始化, 每次搜寻一开始一定要输入这指令

  4.     cn
  5.     搜寻指令
  6.     例子:
  7.     cn eq,60
  8.     搜寻目标等于60 (十六进制)
  9.         
  10.     cn eq,#96
  11.     搜寻目标等于96 (十进制)

  12.     cn eq
  13.     搜寻目标的数值没有变化

  14.     cn ne
  15.     搜寻目标的数值有变化
  16.         
  17.     cn +
  18.     搜寻目标的数值增加
  19.    
  20.     cn -
  21.     搜寻目标的数值减少
  22.         
  23.     cn +,3
  24.     搜寻目标的数值增加3 (十六进制)

  25.     cl
  26.     列出所有搜寻结果

  27.     cl xxx.txt
  28.     输出所有搜寻结果至档案xxx.txt, 其输出的格式为XML cheat金手指的格式

  29.    
  30. 内存监视点指令: wp, wplist, wpclear
  31.     例子:
  32.     wp 1234,1,r
  33.       在地址1234下读取监视点(该地址被读取的时候中断), 数据长度1

  34.     wp 1234,2,w
  35.       在地址1234下写入监视点(该地址被写入的时候中断), 数据长度2
  36.      
  37.     wp 1234,6,rw
  38.       在地址1234下读写监视点(该地址被读取或被写入的时候中断), 数据长度6

  39.     wp 23456,a,w,wpdata == 1
  40.       在地址1234下写入监视点, 数据长度a, 且写入的数据等于1

  41.     wplist
  42.       列出所有监视点

  43.     wpclear 3
  44.       删除编号3的监视点

  45.     wpclear
  46.       删除所有监视点

  47.       

  48. 程序断点指令: bp, bplist, bpclear
  49.     例子:
  50.     bp 1234
  51.       在地址1234下断, 当程序运行到地址1234的程序代码的时候会中断

  52.     bp 23456,a0 == 0 && a1 == 0
  53.       在地址23456下断, 且中断条件为a0等于0以及a1等于0

  54.     bplist
  55.       列出所有断点

  56.     bpclear 3
  57.       删除编号3的断点

  58.     bpclear
  59.       删除所有断点

  60.       
  61.       
  62. 跟蹤紀錄指令: trace
  63.     例子:
  64.     trace 01.txt
  65.     跟踪当前CPU运行的所有代码, 输出至文件01.txt

  66.     trace off
  67.     停止跟踪, 并且关闭文件

  68.     trace 01.txt,0
  69.     跟踪编号为0的CPU运行的所有代码, 输出至文件01.txt

  70.     trace off,0
  71.     停止跟踪编号为0的CPU, 并且关闭文件

  72.     trace 01.txt,0,{tracelog "A=%02X ",a}
  73.     跟踪编号为0的CPU运行的所有代码, 输出至文件01.txt
  74.     并且在每一行的前面, 写上"A=a "
  75.     "A=%02X ",a为一个C语言printf函数常用的输出格式
  76.     意为将a的值代入%02X中, 而02表示两位数, 不足两位时以0填入
  77.     X表示为大写十六进制数



  78. 内存直接写入指令: maincpu
  79.     格式为 maincpu.[][]@地址=数据
  80.     第一个[]:
  81.     o 表示ROM地址
  82.     p 表示RAM地址

  83.     第二个[]:
  84.     d 表示4字节
  85.     w 表示2字节
  86.     b 表示1字节

  87.     例子:
  88.     maincpu.ob@1234=FF
  89.     在ROM地址1234处, 写入FF一个字节

  90.     maincpu.ow@1234=4E71
  91.     在ROM地址1234处, 写入4E 71两个字节

  92.     maincpu.od@1234=600A4E71
  93.     在ROM地址1234处, 写入60 0A 4E 71四个字节

  94.     注: 如果是RAM地址, 可以在内存浏览窗口中直接改写
  95.    

  96. 其他:
  97.     dasm 输出档案名,地址,长度
  98.     输出程序的反汇编代码
  99.     例子:
  100.     dasm 01.txt,0,100000
  101.     将程序汇编代码自地址0开始, 长度100000, 输出至文件01.txt

  102.     softreset
  103.     游戏重启, 但不重新载入ROM

  104.     hardreset
  105.     游戏重启, 且重新载入ROM

  106.     snap xxx.png
  107.     截图为xxx.png

  108.   
  109.   
  110.   
  111. 热键:
  112.     ~ 中断游戏
  113.     F5 运行游戏
  114.     F12 运行游戏且隐藏调试窗口
  115.     F11 步入, 单步执行, 会进入子程序
  116.     F10 步过, 单步执行, 不会进入子程序
  117.     Shift+F11 执行到子程序返回
  118.     Ctrl+M 内存浏览窗口
  119.     F6 运行到下个CPU, 有时候~中断游戏会停在音效控制的CPU, 用这指令可以切换到主CPU



复制代码


本帖子中包含更多资源

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

x

评分

1

查看全部评分

该用户从未签到

 楼主| 发表于 2016-4-22 01:25:25 | 显示全部楼层
本帖最后由 axdx 于 2016-5-4 04:03 编辑

mame 0.126以前的版本需要找debug build版才有游戏调试器
自0.126开始, 所有版本都有游戏调试器了, 不再需要去找debug build版
debug build版变成是给程序员用来调试mame自己用的
(请参考官方mame说明 http://mamedev.org/?p=231)

mame plus 0.168版下载 http://f.ppxclub.com/601010-1-1

mame plus 其他旧版 https://sourceforge.net/projects/mameplus/files/releases/


这里以mame plus 0.168版说明下设置
下载后, 运行前端程序 mamepgui.exe
在选项 -> 默认游戏选项里, 我一般用这些设置



杂项里的Debug打勾就是使用游戏调试器
Debugger font size是字体大小, 可以调大一点

你如果是下其他比较老的mame plus版本
运行的是老ui程序 mamepui.exe
也差不多, 选项 -> 默认游戏选项里找这个Activate Integrated Debugger打勾




另外, 这里有一个改了两个功能的版本
http://f.ppxclub.com/669494-1-1



本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

签到天数: 785 天

[LV.10]以坛为家III

发表于 2016-4-22 02:54:51 | 显示全部楼层
好东西,谢谢分享!
回复 支持 反对

使用道具 举报

签到天数: 1 天

[LV.1]初来乍到

发表于 2016-4-22 06:47:18 | 显示全部楼层
谢谢分享!
回复

使用道具 举报

该用户从未签到

发表于 2016-4-22 07:56:38 | 显示全部楼层
感谢分享心得。
回复 支持 反对

使用道具 举报

签到天数: 38 天

[LV.5]常住居民I

发表于 2016-4-22 16:53:49 | 显示全部楼层
看来你是准备把老东西重新发一遍了
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2016-4-22 20:16:07 | 显示全部楼层
yzj3047188 发表于 2016-4-22 16:53
看来你是准备把老东西重新发一遍了

我也不想这么做
谁让EZ把老东西都吞了
说好的要恢复数据, 到现在神马也没有

回复 支持 反对

使用道具 举报

签到天数: 7 天

[LV.3]偶尔看看II

发表于 2016-4-22 22:13:56 | 显示全部楼层
都是好东西,如果因为论坛的缘故而消失,确实可惜
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2016-4-25 20:09:11 | 显示全部楼层
正好在学debug mame,收下了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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