现有的单片机比如51,avr等都可以跑十几MHz的频率,拥有几K的内存,比以前的红白机用的处理器跑1.8MHz应该快多了(同样是8bit的处理器),但是貌似用单片机还是没办法做出像超级玛丽这样比较大而且运行流畅的游戏,这是为什么呢?
现有的单片机比如51,avr等都可以跑十几MHz的频率,拥有几K的内存,比以前的红白机用的处理器跑1.8MHz应该快多了(同样是8bit的处理器),但是貌似用单片机还是没办法做出像超级玛丽这样比较大而且运行流畅的游戏,这是为什么呢?
有位牛人利用单片机自制了FC游戏机,该游戏机使用51系列MCU作为控制器,8bit游戏机FC的显示芯片6538作为PPU
硬件调试已经全部通过,实际画面效果流畅度可以与FC媲美,目前只有一个用魂斗罗2的图做的一个简单的DEMO,而且效果仅仅是一个背景加几个卡通
性能参数:
MCU:STC89c52R,11.0592Mhz双倍速,可以换更高的晶振或性能更快的51MCU
内存:16KB
PPU:型号:UA6538(2C02)
发色数,:最大发色数56色,同屏幕显示25色
解析度:256x240
显存:4KB
声音:暂时没有
输出:CVBS, PAL制式
RF射频
之所以想到做这款机器主要是因为受不了用汇编写FC游戏,于是希望使用上更快的CPU用c语言来写FC游戏,控制器选择使用51,因为51性价比高,其速度足以跟得上PPU6538的节奏
而且可以方便的升级,用更快的51来替代,比如使用1T的51。
现在终于可以用c写FC游戏了,这个DEMO就是在keilc开发环境上写出来,其中没有嵌入任何汇编代码,卡通(主角魂斗罗)照样可以平滑移动,不过如果场景变得更复杂还是有可能嵌入汇编加速。
上图: