Skip to content

Latest commit

 

History

History
65 lines (60 loc) · 2.2 KB

README.MD

File metadata and controls

65 lines (60 loc) · 2.2 KB

Make FC(NES) Emulator Step by Step

Re: 从零开始的红白机模拟

StepFC

项目说明

同时拥有VS2017和CodeLite的项目工程以保证在不同编译器上能够成功编译.

License

  • StepFC::StepX 每个步骤, 基于 MIT, 重点是分享代码
  • StepFC::StepFC 成品模拟器, 基于GPLv2, 重点是模拟器本身的可执行二进制文件

StepX列表

  1. 第0步: 加载NES ROM文件
    • 读取文件是优先的.
    • 但是打好基础也是非常重要的, 接口是一个好东西
  2. 第1步: 实现基本的CPU读写功能
    • 需要了解CPU地址空间的布局哦
  3. 第2步: 6502汇编
    • 实现反汇编是调试不可缺少的一环
  4. 第3步: 实现CPU指令
    • 这一步比起前面就比较大了
    • 实现所有的CPU指令
  5. 第4步: 背景渲染
    • 实现第一次图像显示
  6. 第5步: 基本输入
    • 实现标准双手柄的输入
  7. 第6步: 精灵渲染
    • 然后就是渲染64个精灵
  8. 第7步: 实现中精度同步
    • 基于初级的暴力的垂直同步
    • 合并背景与精灵
  9. 第8步: 实现基本音频播放
    • 用一个末端的状态机实现音频吧
  10. 第9步: 实现Mappper1234
    • Mapper4是主要介绍的, 因为会触发IRQ
  11. 第A步: 实现基础混频
    • 将音频准确度从60Hz提高至44.1kHz吧
    • 但是距离1.79MHz还差了几十倍, 路还很长
  12. 第B步: 存档读档规范化
    • 终于规范化存储档了
    • SL大法好
  13. 第C步: 录像与回放
    • 可以用于TAS了
  14. 第D步: 滤镜与滤波器
    • 让用户体验更好一点
    • FC甚至自带了滤波器
  15. 第E步: 扩展音频
    • 扩展音频也是FC的一大亮点
    • NSF探索
    • 音频可视化
  16. 第F步: 全部成为F
    • 重启
    • 扩展输入
    • 更精确地模拟
    • FDS BIOS
    • 更多的Mapper
    • 游戏特化
    • 平台优化
    • 网络
    • 图形用户接口
    • NES调试
    • 作弊器/金手指
    • 以上内容均讨论, 内容留空