pc2g,电脑好游戏
以下文字转载自https://www.dingmos.com/index.php/archives/29/
我又来了,致力于把计算机底层“玩”明白系列又添一笔。实现一个红白机模拟器,跑跑童年的回忆——超级玛丽。
起因是这样的:偶然刷知乎,看到一个问答GitHub 或者其他的开源平台中是否有一些适合初学者的 C++ 项目?,底下有答主[1]推荐Github上的一个项目SimpleNES。我一细看,这不是实践计算机组成原理的最佳项目吗?
这是用软件实现一个指令集级别的CPU模拟器、PPU(图形处理单元)模拟器、计算机体系结构中的总线、内存分配的项目,做完这个项目可以理解整个硬件系统是如何工作的。
此外,红白机模拟器还很有趣,你成功实现它之后就可以愉快地在自己的 PC 玩超级玛丽了。你可以在享受自己学习到新知识和带着满满地成就感愉快地“浪费“一下午在玩游戏上。效果如下图:
这个项目并不难,会 C++ 更好,只会 C 的话也可以用 C with Class来实现,在调用C++的基本STL就可(不要问我怎么知道的~)。