776|1

7

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【极海APM32F407 Tiny Board】 1.NES模拟器 [复制链接]

NES模拟器

一、NES简介

NES是“Nintendo Entertainment System”的缩写,它是任天堂公司在1980年代推出的一款家用游戏机。在日本,它被称为Famicom(Family Computer)。NES于1983年在日本首次推出,随后于1985年在北美地区发行,成为当时家庭游戏市场的主导力量。
这款游戏机因其丰富的游戏库、经典的游戏系列以及在家庭游戏市场的影响力而备受推崇。它引入了许多经典游戏,如《马里奥兄弟》(Super Mario Bros.)、《塞尔达传说》(The Legend of Zelda)、《魂斗罗》(Contra)和《魔界村》(Castlevania)等,这些游戏至今仍然被认为是游戏史上的经典之作。

二、移植准备

2.1 资料下载

首先下载相关资料,函数库,以及一些示例,电路原理图等,如下所示
本次使用的是RTT进行开发,需要下载板级支持包
同时将PYOCD更新到最新版本,不然可能存在下载失败的情况
接下来新建RTT工程,如下所示,主函数1s打印一次
使用外接串口与开发板的串口1连接,打开终端,可以看到1s打印1次
由于打印信息不方便观察,且有时候需要用终端,这里将打印信息调整为板载的LED灯,类似于心跳灯。查看板载的LED灯原理图,如下所示:
添加心跳灯代码,使用GET_PIN函数时需要包含drv_common.h头文件,不然编译会报错。
在使用RTT开发过程中遇到很多坑,于是就放弃了使用RTT开发,果断入手标准库进行开发,时间小于用RTT开发。本次使用一个SPI的例程进行修改调整,添加spi,LCD,以及NES模拟器代码,由于使用RTT花了太多时间,过程就不在详细介绍,步骤也比较多。

2.2 SPI驱动

本次使用的是SPI1与ili9341进行连接,配置如下:
读写函数:

2.3 LCD显示实现

添加LCD源码,添加LCD路径,替换头文件等
LCD引脚配置:
接下来就是写数据与写命令函数的替换,将内部函数调整为SPI的读写函数:

三、移植过程

NES模拟器移植这里不详细进行介绍,添加源码,头文件路径
调整NES模拟器显示内容:
主函数,添加nes头文件,以及执行函数:

四、效果

NES模拟器

 

此帖出自单片机论坛

最新回复

为啥只显示一半的屏幕,另一半呢   详情 回复 发表于 2024-2-20 16:30
点赞 关注(1)
 

回复
举报

365

帖子

0

TA的资源

版主

沙发
 

为啥只显示一半的屏幕,另一半呢

此帖出自单片机论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
硬件工程师必读攻略

硬件工程师必读攻略

EZ430 Chronos 无线手表开发套件 美国代购全过程

EZ430 Chronos 无线手表开发套件 美国代购全过程 从美国代购的EZ430-Chronos 开发套件已经到手两天,把玩一番后感觉确实挺好 ...

炎炎夏日需要一个清凉的地 - 自制水冷系统(指尖的思绪之程序篇)

炎炎夏日需要一个清凉的地 - 自制水冷系统(十一 指尖的思绪之程序篇) 前段时间接手了一个项目,所以DIY的进程有些停滞。 ...

mpu9250 mpu6050 DMP msp430G2553程序使用SPI和IIC直接读取四元素

本帖最后由 lb8820265 于 2015-3-16 23:06 编辑 发现很多人用MPU6050却对DMP很是畏惧,不敢直接用,经过研究后终于在K6 ...

MAX32630的带自动复位功能DAPLink固件

本帖最后由 dcexpert 于 2017-8-2 22:13 编辑 MAX32630开发板带有一个DAPLink仿真器(MAXREFDES100HDK)。DAPLink是CMSIS-DAP ...

指针用法请教

int sdram_test(void) { volatile unsigned char *p = (volatile unsigned char *)0x30000000; int i; // write sdram ...

Linux内核启动流程-迅为IMX6ULL开发板(一)

在前面的章节介绍了uboot和Linux内核的一些相关内容。在来看Linux内核的大致启动流程,Linux内核的启动流程要比uboot复杂的多, ...

如何设计低成本蓝牙音乐播放系统

29“万里”树莓派小车——直行偏向问题与新控制模式

本帖最后由 lb8820265 于 2022-3-20 10:32 编辑 小车终于成功运动起来了,可是却发小车多次做平行移动后,yaw方向会偏。造成 ...

【Follow me第二季第4期】一步一步学习Arduino Nano RP2040 Connect

一、前情介绍 本次活动是DigiKey联合EEWorld发起的Follow me活动的第二季的第四期,本次活动的主角是Arduino® Nano RP204 ...

关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表