2009-10-31 33 views
6

我现在的梦想是开始一个老式游戏机模拟器(Atari,Colecovision等)的项目,但在我开始之前我需要知道一些东西:创建一个简单的旧学校控制台模拟器

  • 哪个是最简单的控制台来创建它的模拟器?
  • 我在哪里可以找到一些好的资源来建立它?
  • 哪个是建立模拟器的最佳语言?

谢谢。

回答

5

所有的互联网首先是充分的资源涵盖这个话题,我可以在最基本的一条,我从同时开发我的模拟器开始的一个点你:如果你想要更多的东西很多硬件的compreensive http://fms.komkon.org/EMUL8/HOWTO.html

(你会)检查了这一点:http://www.zophar.net/

写一个模拟器是一个相当复杂的故事,你必须重新完成程序运行的硬件,否则它将无法正常工作!我建议从一个像GameBoy这样简单的hw开始(它有一个修改后的z80 cpu,这是一个更简单和最有趣的实现,我建议关于这个主题的www.z80.info)..你不应该尝试复杂的硬件,因为你必须关心太多的事情。

当然,最好的语言是纯C或C++,只是因为它坚持更多的硬件,它非常有效率。..介意你需要编写一个虚拟机,其行为与真实的虚拟机完全一样。

+0

您在琐领域需要的是正确的菜单..不是每一个平台上“技术文件”是完美的文件记录(这就是为什么我建议你从GB开始,因为互联网知道它的一切),但你可以找到很多有用的资源 – Jack 2009-10-31 20:16:47

+0

GB并不像听起来那么容易。很多游戏对不模仿硬件的仿真器非常敏感。在视频刷新周期的特定部分(通过某些硬件寄存器更改时测量)给出太多/太少的周期会导致写入较差的游戏挂起/崩溃/显示虚假行为... – 2010-08-07 18:10:09

0

关于第二个问题,你可以看看MAME Wiki

5

哪个是最简单的控制台来创建它的模拟器?

我发现Chip-8是一个很好的起点。开/关图形相对简单,只有一个固定的声音和40个以下的操作码。

我发现Cowgod's Chip-8 Technical Reference是一个很好的资源。

我在哪里可以找到一些很好的资源来建立它?

你需要选择你的目标系统,然后研究它的技术信息。如果你选择一个流行的系统,比如Gameboy(mentioned by Jack),这会容易得多。

哪个是建立模拟器的最佳语言?

C/C++非常棒,因为您接近硬件,因此可以获得最佳性能。以前在Assembly中有过仿真器,但我不会推荐它(尤其是如果你刚刚开始)。

尽管如此,用JavaScript编写的模拟器具有可接受的帧速率。

我会选择一种你最舒服的语言,并且牢记任何接近金属的东西在理论上都会获得更好的表现。

我写了一些博客文章,可以帮助过: