gpt4 book ai didi

emulation - 与模拟器中运行的 NES 游戏进行通信

转载 作者:行者123 更新时间:2023-12-02 10:20:53 28 4
gpt4 key购买 nike

我正在考虑创建一个街机来娱乐。类似于 this one 。我想知道是否可以从某些游戏中获取事件,例如 super 马里奥。假设我完成了一个关卡,我想获取该事件、分数和一些其他数据,并使用该数据执行一些操作。我正在考虑在 Windows 中运行模拟器。有人从事过类似的工作吗?从旧的 NES 游戏中获取事件和数据不是太困难吗?也许我不应该运行Windows,而应该运行一些Linux?好吧,请分享您对如何完成其​​中的软件部分的想法。

最佳答案

诸如 FCEUX 之类的现代模拟器可以通过 Lua 脚本 ( see example video ) 与正在运行的 ROM 进行交互。使用 this API 您可以编写 Lua 脚本来:

  1. 监控某个内存位置
  2. 等待它保存一些特殊值(例如 level_just_finished)
  3. 从内存中读出当前分数
  4. 对分数做一些事情

为了知道要检查哪些内存位置,您需要反汇编 ROM 或通过调试器运行它,或两者兼而有之。至于 super 马里奥兄弟,已经有一个 commented disassembly available 。 FCEUX 模拟器还有一个可供您使用的内置调试器/反汇编器。

所有这些都需要付出很大的努力,并且您需要了解 Lua、6502 汇编以及 NES 的内部工作原理。对于您的街机,您可能最好只使用 UberNES 等模拟器,它会自动为许多流行的游戏提供 track your highscore

关于emulation - 与模拟器中运行的 NES 游戏进行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6827605/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com