有人告诉我,世嘉 Genesis 模拟器不可能由一个人完成,即使很多年也不行。这是为什么呢?小型独立团队和开源项目免费制作模拟器,YouTube 上有一个视频,视频中一个人在不到几个小时的时间内用 C++ 编写了一个 NES 模拟器。为什么不能制作世嘉 Genesis 模拟器?
如果您可以阅读广泛可用的硬件文档,并且可以模拟摩托罗拉 68k 加 Zilog 协处理器,那么为什么要花这么长时间呢?
答案1
有人告诉我,Sega Genesis 模拟器一个人都做不出来,甚至很多年都做不出来……这是为什么呢?
如果您的目标是 100% 准确地模拟所有游戏且不出现故障或其他错误,那么模拟经典视频游戏系统将极其困难。
小型独立团队和开源项目使 emus 免费,YouTube 上有一个视频,讲的是一名男子在不到几个小时的时间内用 C++ 编写了一个 NES 模拟器。
NES 是有史以来逆向工程和黑客记录最多的专有平台之一。有关它的信息几乎只能通过数百甚至更多的免费作品来获取。回溯到 1994 年、1995 年,当时大部分内容都是从那时开始的,情况就不同了。
我向你保证,这样的人不可能在几个小时内正确模拟所有 NES 映射器。有数百个这样的映射器,每个都需要在 NES 硬件之外进行独特的模拟。
为什么不能制作 Sega Genesis 模拟器?我的意思是,我是这样看待它的
如果你能阅读广泛使用的硬件文档
许多经典的视频游戏系统都没有文档记录(世嘉、任天堂不会直接把信息交给你!),而且必须对此类系统的确切行为进行细致的逆向工程。
并且可以模仿摩托罗拉 68k 加上 zilog 协处理器为什么需要这么长时间?
嗯,模拟 CPU,尤其是双处理器系统,并不容易。模拟视频处理器可能更具挑战性,尤其是对于较旧的系统,它们通常必须与 CPU 周期精确匹配才能正常工作。这通常也是最未记录/灰色区域发生的地方。此外,代码必须高效且快速才能模拟 60fps 或接近 60fps 的速度。这很难。你能用 68000 编程吗?
我相信,如果每天都努力的话,最多可以在 3 个月内制作出一个 Genesis 模拟器。
可能如果您只关注与少数游戏的兼容性,并且可以使用现有的 m68k+Z80 模拟器代码(并且有使用它的经验),那么可能如此。