Electronic Joint Business

Solution for E-Business

编写一个 Commodore 64 模拟器

Commodor 64 (C64) 是 FC(Family Computer 俗称任天堂红白机)使用的微处理器,本文详细介绍如何用 C# 来实现一个 Commodore 64 模拟器。1 这个模拟器性能不太好,这主要是因为该仿真是基于时钟周期以及驱动器的实现等等代码实现方式。后来由于某些原因,我用 C++ 重新实现了该模拟器,这使得性能大大提升。这个结果促使我最终放弃了 C# 实现,因为不值得因为语言的限制来浪费时间与精力,我打算写篇文章来讨论这个问题。 虽然 C# 版有这样那样的缺失和问题,不过它仍适合作为理解仿真概念的基础。 在这篇文章中,我不想解释实际硬件是如何工作的。网上可以找到关于此话题的大量资源。这里我将主要关注如何进行仿真及其具体实现。 你想编译并运行该模拟器,建议先阅读一下关于 ROM 文件的小节。 C64 处理器的寄存器组织、寻址方式和指令集 以下这些 C64 的组件对程序员可见: 6510 芯片 — 中央处理器 ( 兼容 6502 芯片,只是多了一个额外的 IO 端口) VIC-II 芯片 – 负责图形处理 SID 芯片 – 负责声音处理 2 片 CIA 芯片 – 负责定时器与 IO (比如串行总线、键盘、游戏杆等等) […]

, ,

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.