gpt4 book ai didi

unit-testing - Gameboy模拟器测试策略?

转载 作者:行者123 更新时间:2023-11-28 19:51:15 25 4
gpt4 key购买 nike

我正在编写一个 gameboy 模拟器,并且正在努力确保正确模拟操作码。某些操作会设置标志寄存器,很难跟踪标志是否设置正确以及位置。

我想编写某种测试框架,但认为值得在这里寻求帮助。目前我看到了几个选项:

使用多个测试用例对每个操作码进行单元测试。问题是有 256 个 8 位操作码和 50+(不记得确切数字)16 位操作码。这需要很长时间才能正确完成。

编写某种日志记录框架,记录每个操作的堆栈跟踪并将其与其他已建立的模拟器进行比较。这将很快完成,并且可以相当快速地了解到底出了什么问题。日志文件看起来有点像这样:

...
PC = 212 Just executed opcode 7c - Register: AF: 5 30 BC: 0 13 HL: 5 ce DE: 1 cd SP: ffad
PC = 213 Just executed opcode 12 - Register: AF: 5 30 BC: 0 13 HL: 5 ce DE: 1 cd SP: ffad
...

缺点是我需要修改另一个模拟器的源以输出相同的形式。并且不能保证操作码是正确的,因为它假定其他模拟器是正确的。

我还应该考虑什么?

如果有帮助,这是我的代码:https://github.com/dbousamra/scalagb

最佳答案

您可以使用已经建立的测试 rom。我会推荐 Blargg 的测试 rom。你可以从这里得到它们:http://gbdev.gg8.se/files/roms/blargg-gb-tests/ .

关于unit-testing - Gameboy模拟器测试策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6953763/

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