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

raspberry pi pico|在raspberry pi pico上玩nes游戏(1)(开源树莓派pico NES模拟器)-效果演示及介绍文章目录前言raspberrypipicoNES模拟器制作过程实现思路前言在国内因为外观被称为红白机的任天堂FC(欧美版叫NES),或者说Famicom(典型的日式英语缩写),小时候我们都喜欢玩

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接口240×320分辨率)显示游戏图象
  • 支持开机动画、菜单选择游戏运行
  • 支持音频输出(I2S),使用 CJMCUTRRS 3.5mm音频座模块 输出音频更方便!
  • 支持 PCF8574 I/O 拓展模块(I2C接口)控制游戏,拓展的8个I/O引脚用于游戏按键(上、下、左、右、A、B、select、start)
  • 支持使用 国内7针、9针NES游戏手柄 控制游戏
  • 支持 国内MicroUSB接口的NES游戏手柄 控制游戏

课程用到的开发板及硬件:https://item.taobao.com/item.htm?id=642291784020
项目使用 VScode+platformio插件开发,以上功能均可在 ./platformio.ini 文件裁剪。

制作过程

硬件准备

  • Raspberry pi pico 购买地址
  • Micro SD卡模块(SPI协议) 购买地址 和 任意TF卡
  • 2.2寸ILI9341显示屏(SPI接口240×320分辨率) 购买地址
  • 国内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) ,角色格式为 8×8 或 8×16 个像素,一条扫描线最多显示 8 个角色,虽然可以超过此限制,但是会造成角色闪烁。背景仅能显示一个卷轴,画面分辨率为 256×240 ,但因为 NTSC 系统的限制,不能显示顶部及底部的 8 条扫描线,所以分辨率剩下 256×224。
所以我们使用2.2寸(240×320)的显示屏就足够了。
那么,接下来是存储设备的问题,存储设备我使用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模拟器)-搭建开发环境

获取源码

仓库地址: https://gitee.com/weidongshan/rpi_pico_100ask_infones.git

今天的文章raspberry pi pico|在raspberry pi pico上玩nes游戏(1)(开源树莓派pico NES模拟器)-效果演示及介绍分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/65518.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注