我在试着破解一个叫"Katz und“的老游戏。我已经意识到了无限的生命,重写了分数,我已经实现了水平跳跃的一半。我认为精灵碰撞将是完成水平跳跃的关键。
问题是我在代码中找不到任何可能导致sprite/字符冲突的部分。
我试着用动作回放模拟器找到它:没有结果。
在MC监视器中,我搜索了D01E和D01F,但由于操作码导致的所有匹配:
H 0000 FFFF 1E D0
H 0000 FFFF 1F D0我还尝试查找LDA $D01E和LDA $D01F,但没有结果:
H 0000 FFFF AD 1E D0
H 0000 FFFF AD 1F D0我还可以检查什么?谢谢!
发布于 2019-08-08 17:57:19
如果我编写一个大量使用VIC2的游戏(我想所有的游戏都是这样),我会考虑将VIC2的基地址存储在某个地方,然后使用索引寻址访问其中的寄存器。因此,您可以查找在某个位置存储基地址(或VIC2范围内的任何地址)的任何代码。任何这样的代码都必须首先在某个时刻(或LDX或LDY)执行LDA #$D0。
另一件需要检查的事情是你的程序是否干扰了中断例程。可以对VIC2进行编程,使其在检测到子画面冲突时发出中断。
https://stackoverflow.com/questions/57406376
复制相似问题