1

我最近决定对一些 Chip8 仿真进行另一次重击。我正在阅读Cowgod 的技术参考资料,并注意到操作码LD Vx, K (Fx0A)的行为略有歧义。

Cowgod 的文档指出All execution stops until a key is pressed,但没有说明这是否会影响定时器寄存器的行为。

谁能澄清定时器寄存器的递减和被认为是异步的主程序执行?即计时器是否应该在主要执行等待按键时继续倒计时,或者计时器是否应该在继续递减之前等待按键?

我的直觉是,如果定时器在理论上是单独电路的一部分,那么计时应该独立进行,但是定时器也可能需要等待(即蜂鸣器继续发声,直到用户按下任何键)所以我决定问而不是假设。

4

1 回答 1

1

定时器通常是独立于 CPU 活动的计数器,与它们没有直接关系。

我同意你的观点,Cowgoods 声明“所有执行停止,直到按下键”可以解释为意味着计时器停止,但这与普遍接受的设计相反。我查看的其他 Chip-8 文档没有做出任何类似的声明。

我会假设计时器在等待用户输入时继续运行。

我确信网络上有(很多?)其他 Chip-8 仿真器。你可以查看他们的源代码,看看他们做了什么。

于 2014-12-31T18:04:06.627 回答