欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

NES模拟器源码阅读

发布时间:2023/12/20 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 NES模拟器源码阅读 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

前言

编程语言是一门工具。它用于实现逻辑。看到C++实现的任天堂红白机模拟器这篇推荐之后,遂去阅读SimpleNES的源码。

代码中关于日志设置和按键映射的相关代码阅读完毕。关于nes模拟的代码并没有阅读。使用软件来模拟硬件,需要先熟悉游戏机的硬件。这里|这里有相关的教程,但学习起来性价比并不高,遂忽略具体的模拟过程,仅看硬件模拟的总体代码框架。


总体代码

主函数的代码分为四部分:参数读取,日志设置,按键映射,模拟器运行nes游戏。

  • 参数读取:通过argc/argv循环读取参数。每个参数均为字符串类型,使用stringstream对字符串中的内容进行细致处理。
  • 日志设置:日志分级,只记录比设置等级高的日志;不同级别的日志可以输出不同/相同日志文件中;存在默认日志等级;(日志对象可以是一个文件流)
  • 按键映射:基础库提供全局按键;使用的真实按键和虚拟按键之间建立映射关系;按键之间的映射关系,可以通过配置文件修改。
  • 模拟器运行游戏(相关代码未读):卡带模拟(根据nes文件格式,将nes文件加载如内存);CPU模拟;PPU模拟;BUS模拟(通过总线进行读写数据);等;

  • 缺少

    代码的cmake过程同样没看。不咋会,哪天遇到/整理一个关于库的创建/调用的cmake编译过程。

    咋向下发射子弹的??

    总结

    以上是生活随笔为你收集整理的NES模拟器源码阅读的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。