600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > raspberry pi pico|在raspberry pi pico上玩nes游戏(1)(开源树莓派pico NES模拟器)-效果演示及介绍

raspberry pi pico|在raspberry pi pico上玩nes游戏(1)(开源树莓派pico NES模拟器)-效果演示及介绍

时间:2021-08-21 09:29:30

相关推荐

raspberry pi pico|在raspberry pi pico上玩nes游戏(1)(开源树莓派pico NES模拟器)-效果演示及介绍

文章目录

前言raspberry pi pico NES模拟器效果图功能介绍制作过程硬件准备制作思路实现思路搭建开发环境获取源码

raspberry pi pico|【项目一】找回童年!Raspberry pi pico NES模拟器

前言

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

raspberry pi pico NES模拟器

效果图

功能介绍

通过 SPI sd卡模块 从外挂的micro sd 卡(SPI)中加载游戏文件(Fat文件系统)2.2寸ILI9341显示屏 (SPI接口240x320分辨率)显示游戏图象支持开机动画、菜单选择游戏运行支持音频输出(I2S),使用 CJMCUTRRS 3.5mm音频座模块 输出音频更方便!支持 PCF8574 I/O 拓展模块(I2C接口)控制游戏,拓展的8个I/O引脚用于游戏按键(上、下、左、右、A、B、select、start)支持使用 国内7针、9针NES游戏手柄 控制游戏支持 国内MicroUSB接口的NES游戏手柄 控制游戏

课程用到的开发板及硬件:/item.htm?id=642291784020

项目使用 VScode+platformio插件开发,以上功能均可在./platformio.ini文件裁剪。

上图中绿色的大按钮用于让板子快速进入烧录模式(不需要插拔数据线),详细讲解请阅读这篇文章:Raspberry pi pico|为Raspberry Pi Pico添加重置按钮(pico烧录程序不再插拔数据线!)

制作过程

硬件准备

Raspberry pi pico 购买地址Micro SD卡模块(SPI协议) 购买地址 和 任意TF卡2.2寸ILI9341显示屏(SPI接口240x320分辨率) 购买地址国内MicroUSB、7针、9针接口的游戏手柄 或者 PCF8574 I/O 拓展模块(I2C接口) 购买地址杜邦线、面包线 购买地址按键(上、下、左、右、A、B、select、start) 购买地址 (如果使用 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模块我们只需要使用两个引脚即可获得所有按键的状态。

搭建开发环境

介绍到此完毕,下一篇文章我们开始搭建 raspberry pi pico 的开发环境:

raspberry pi pico|爷青回!在raspberry pi pico上玩nes游戏(2)(开源pico NES模拟器)-搭建开发环境

获取源码

仓库地址: /weidongshan/rpi_pico_100ask_infones.git

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。