前几天无意见看到一些NES的开发资料,勾起了小时候暑假的无数美好回忆,做为一名码农,萌发了自己写一款模拟器的想法.一来可以加深自己对整个系统/游戏的理解,一来可以实现小时候的梦想:),希望可以坚持下来.
通过资料发现开发一款NES/FC的模拟器并没有想象中的复杂,8位的CPU只有不足56条指令,只要模拟这些指令对内存的操作,即可实现模拟器的核心运算功能.图像显示方面也是用尽了各种奇淫技巧.当然具体实现起来各种细节也是不可忽略的.目前只看了一些资料,有些概念也是似懂非懂,github上也有一些开源的模拟器可以作为参考(目前比较完善的一个是go语言实现的),慢慢来吧.
项目地址:https://github.com/redxu/xnes
开源的目的也是为了督促自己不要弃坑,尽力去完善.
另外,NES的cartridge是干什么用的?看资料也看的似懂非懂,只是做为硬件防伪还是一个内存单元?
-------------------------------------------------------------------------------------------------------------------------------
2015-09-02 晚上又仔细看了下nesdoc,终于发现cartridge就是游戏卡带的意思...,那么处理流程上就可以跳过cartridge这一步,因为rom就是cartridge的内容dump出来,直接加载进入memory就好了.