我们要做什么?
本系列博客想要用C++写一个任地域红白机模拟器,小时候玩过红白机的朋友应该很快想起来了吧,没错,经典的的超级马里奥、魂斗罗等等游戏,都是那个时代的代表作。
+在本系列文章中,我们将从头构建一个红白机模拟器:从CPU指令集开始,用C++代码模拟红白机的各类硬件行为,一步步实现我们的目标。
+为什么做这个
“不觉得这很酷吗?作为一名理工男我觉得这太酷了,很符合我对任地狱的想象,科技并带着趣味。“
+进度计划
我们计划按照上图的流程来实现整个项目:
+-
+
- [] 实现6502 CPU的官方指令集(Official Instructions) +
- [] 构建总线结构,为后续数据的访问存储做准备 +
- [] 解析卡带数据——所有的游戏内容都是写在卡带中的 +
- [] 实现PPU——游戏画面的显示与PPU强相关,这部分相对而言是最难的 +
- [] 实现手柄控制器的模拟与映射 +
- [] 实现声音发生器APU +
参考文章
-
+
- NES Wikipedia,这个网站是重中之重,所有你需要的信息,无论是硬件实现还是汇编代码,都能在这里寻得踪迹,好好利用这个网站; +
- RUST NES,使用RUST语言写的NES模拟器,和我一样来自TUD的朋友对这个一定不会陌生; +
- Simple NES,使用C++写的基础NES模拟器,但是没有实现APU等硬件逻辑; +