程序员

raspberry pi pico|爷青回!在raspberry pi pico上玩nes游戏(开

作者:admin 2021-04-30 我要评论

文章目录 前言 raspberry pi pico NES模拟器 制作过程 硬件准备 制作思路 实现思路 源码 前言 在国内因为外观被称为红白机的任天堂FC(欧美版叫NES)或者说Famicom...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

前言

在这里插入图片描述

在国内因为外观被称为红白机的任天堂FC(欧美版叫NES),或者说Famicom(典型的日式英语缩写),小时候我们都喜欢玩FC,现在仍有很多人想做出属于自己的游戏机(模拟器),而nes模拟器正是不二之选,通过制作模拟器我们能学习到关于软硬件各方面的知识,可谓是很多程序员走向编程开发道路上不可缺少的一环。

raspberry pi pico NES模拟器

在这里插入图片描述

制作过程

硬件准备

制作思路

FC使用一颗理光制造的8位2A03 NMOS处理器(基于6502中央处理器,但是缺乏BCD模式),PAL制式机型运行频率为1.773447MHz,NTSC制式机型运行频率为1.7897725MHz,主内存和显示内存为2KB。
而Raspberry pi pico搭载RP2040,其拥有双核 Arm Cortex-M0+ 处理器,264KB的SRAM和2MB的板载闪存,支持高达16MB的片外Flash。
我们完全可以使用pico模拟出FC游戏机的效果。

实现思路

作为游戏机我们比较关心的是显示设备的问题,FC使用理光开发的图像控制器(PPU),有 2KB 的视频内存,调色盘可显示 48 色及 5 个灰阶。一个画面可显示 64 个角色(sprites) ,角色格式为 8x8 或 8x16 个像素,一条扫描线最多显示 8 个角色,虽然可以超过此限制,但是会造成角色闪烁。背景仅能显示一个卷轴,画面分辨率为 256x240 ,但因为 NTSC 系统的限制,不能显示顶部及底部的 8 条扫描线,所以分辨率剩下 256x224。
所以我们使用2.2寸(240x320)的显示屏就足够了。
那么,接下来是存储设备的问题,存储设备我使用sd卡存储、访问nes游戏文件。
最后就是游戏手柄部分,FC的游戏手柄有8个按钮(上、下、左、右、A、B、select、start),也就是说我们要处理8种按键事件。虽然说pico有26个多功能GPIO引脚,但是为每个按键都分配一个GPIO引脚仍然是一个不小的开销,使用PCF8574模块我们只需要使用两个引脚即可获得所有按键的状态。

源码

源码将会有详细的视频教程讲解,点击这里访问教程发布地址
待续…

;原文链接:https://blog.csdn.net/qq_35181236/article/details/115447946

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • raspberry pi pico|爷青回!在raspberr

    raspberry pi pico|爷青回!在raspberr

  • Excel工作表中的11个逻辑函数应用技巧

    Excel工作表中的11个逻辑函数应用技巧

  • PHP常用header头定义代码示例汇总

    PHP常用header头定义代码示例汇总

  • 如何使用Topshelf与.NET泛型主机建立Wi

    如何使用Topshelf与.NET泛型主机建立Wi

腾讯云代理商
海外云服务器