目前,我正在用 Java 制作 NES 模拟器。除了一些小问题外,我的 6502 核心可以工作 99%。问题是,我正在为 NES 模拟 6502,但我从未像对 PS1、N64 或 DOS 那样对它感兴趣。我一直想模拟一个控制台/系统,它能够做的不仅仅是在屏幕上绘制一些简单的 2D 精灵,比如前面提到的系统。
我想问的是:与 6502 相比,是什么让 x86 处理器难以模拟?我唯一能想到的是庞大的 x86 指令集,并且 x86 仿真器必须对效率进行更多编程,而不是代码的可读性。我问这个是因为我查看了 DosBox 源代码,并且与几乎所有的 6502 开源模拟器相比,DosBox 的 x86 核心的源代码对我来说甚至都无法理解。当一个处理器所做的只是查找操作码列表并系统地执行它们时,为什么会有如此大的复杂性差异?