我正在编写GameBoy Classic模拟器。这是GitHub存储库 (https://github.com/FelixWeichselgartner/GameBoy-Classic-Emulator)。
CPU指令似乎工作正常。我将指令与此gameboy调试器 (http://bgb.bircd.org/) 中的指令进行了比较。对于Tetris,我执行相同的指令。
我的问题是关于图形方面的。我已经实现了一个从正确地址获取瓷砖的函数(取决于使用的瓷砖集)。然而,我不知道如何初始化Video Ram (@地址0x8000)。我将32kB Tetris rom从地址0x0000复制到0x7FFF的内存中。因此,从0x8000开始的所有内容都没有在此处初始化。无论在调试工具中还是在我的代码中,都没有任何东西被写入vram(从cpu opcode指令)。
因此,我期望我将不得不初始化VRAM。但是我找不到任何在线资源,当写入VRAM时会发生什么。
所以我的问题是: 哪个游戏机模拟器实例负责将瓷砖复制到VRAM中。
我已经尝试过的事情: 使用另一个模拟器进行调试 -> 这向我展示了没有CPU指令复制到VRAM。 查看GitHub上的各种GameBoy模拟器 -> 找不到任何一个初始化VRAM的。
如果有人能帮助我,我将非常感激。
问候 schnauzbartS
CPU指令似乎工作正常。我将指令与此gameboy调试器 (http://bgb.bircd.org/) 中的指令进行了比较。对于Tetris,我执行相同的指令。
我的问题是关于图形方面的。我已经实现了一个从正确地址获取瓷砖的函数(取决于使用的瓷砖集)。然而,我不知道如何初始化Video Ram (@地址0x8000)。我将32kB Tetris rom从地址0x0000复制到0x7FFF的内存中。因此,从0x8000开始的所有内容都没有在此处初始化。无论在调试工具中还是在我的代码中,都没有任何东西被写入vram(从cpu opcode指令)。
因此,我期望我将不得不初始化VRAM。但是我找不到任何在线资源,当写入VRAM时会发生什么。
所以我的问题是: 哪个游戏机模拟器实例负责将瓷砖复制到VRAM中。
我已经尝试过的事情: 使用另一个模拟器进行调试 -> 这向我展示了没有CPU指令复制到VRAM。 查看GitHub上的各种GameBoy模拟器 -> 找不到任何一个初始化VRAM的。
如果有人能帮助我,我将非常感激。
问候 schnauzbartS