SNES ROM 指令是否会跨越银行边界?

问题描述

我正在开发一个 Snes 模拟器,我目前正在创建一个内存映射器(为了简单起见,我只从 LoROM 开始)。我已将 ROM 文件加载到 0x00 到 0x7D 组上的地址 0x8000 到 0xFFFF,并且我目前正在研究我的读/写功能,该功能旨在能够访问内存的任何部分(不仅仅是 ROM,在其他方面)字)。但是,由于我的代码不区分对 ROM 的读/写与内存中其他任何地方的读/写,我可能会遇到一个环绕问题,即指令的某些部分的位置存储在 ROM 中 - 假设地址处的 16 位值0x00FFFF - 增加到 0x010000 而不是它应该的 0x018000。

我想象的解决方案是创建特定于 ROM 的读/写函数,并通过引用传递 PC 的参数,以便它可以适当地递增。但是,如果我首先不需要担心跨越银行边界,则不需要这样做。

tl;dr:在 Snes 游戏中,指令是否会跨越银行边界?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)