玩FPGA不乏味

714fa970ec257874fdb590932505010d.png

玩FPGA不乏味

Hello,大家好,之前给大家分享了大约一百多个关于FPGA的开源项目,涉及PCIe、网络、RISC-V、视频编码等等,这次给大家带来的是不枯燥的娱乐项目,主要偏向老的游戏内核使用FPGA进行硬解,涉及的内核数不胜数,主要目标是高的可实现性及复现性。

因为是娱乐项目,所以用本文中会有很多动图,下面开始。

1、zxuno

19ac545b97c27a4e417987eceaaee8a6.png

项目地址如下:

https://github.com/zxdos/zxuno

官方网站:

https://zxuno.speccy.org/faq.shtml

527802997445143b90e419a56c31bdfd.png

第一个,zx-uno,这是一个使用Xilinx Spartan XC6SLX9 FPGA实现整个 ZX Spectrum 计算机系列(ZX Spectrum是英国第一批家喻户晓的家用电脑之一,类似于美国的Commodore 64。但正是由于它的简单性、多功能性和伟大的设计,软件公司很快就赶上了为它编写各种软件的潮流)以及 ULAPlus、TurboSound 等系统的计算机,大小与 Raspberry Pi 相同。

支持的软核:

ZX Spectrum ZX81 SAM Coupé MSX1 C64 Atari 800XL
Jupiter ACE Oric Atmos BBC Micro VIC-20 Acorn Electron ZX Spectrum TBBlue Apple II 
Acorn Atom Amstrad CPC 6128 (no SD support) ZX Spectrum Kyp C16 / C116 / Plus4
Sharp MZ-700 PC/XT 512k PC/XT 2Mb PET ZX Spectrum 128 Kyp Multicomp CP/M
Galaksija Amstrad CPC 6128 (SD support) Amstrad CPC 464
Spectrum with PZX ZX Spectrum Kyp+VGA+TSound+SAA1099 Flappy Bird
TRS-80 ZX Spectrum (ESP26 UART support) Jupiter ACE (AY-3-8910, SD support)
Apple I Oric Atmos (with SD support) ZX Spectrum Kyp (native VGA output)

同时也支持很多街机内核,就不过多介绍了,自己去项目主页看一看,瞧一瞧!

按照开源地址制作硬件后(包含源文件及Gerber,可以直接打样),BOM如下:

5ef333497cc277976ebe2810749dc7f1.png

硬件展示如下:

a0b18881a5bc41d866d39a56f2125f6a.gif

然后就是启动:

6eb0b2794ae3071424f5f53cd3a00ffc.gif

接下来就是测试

74ea534b8ea7825aad7e4cd296d67cde.gif

最后就是尽情享受

ae71ebe632f5af6bbb386d82028afc87.gif

最后就是本项目是众筹项目,外壳也是必须的,下面是几种外壳产品:

b7a0ee44f965d4a54687be8f8a0c25bc.png b53baabea285afd1bca298aba6d15b81.png

36220c98e215f7c7f2da45b8f3870d86.jpeg

8e5c22c63327e4b95ac3f8e82e03fcf0.jpeg

09931784f91d9ba42e7d88071a9ed053.jpeg

c63edfd1ca51f03d94a746ee5cc7e205.jpeg

2、sidewinder

9634457d2ff0e125404a1ae6add47b8c.png

https://github.com/ManuFerHi/SidewinderFPGA

主要参数:

FPGA BOARD EP4CE22

SDRAM 256Mbit

项目提供硬件原理图(PDF),Gerber(可以直接打板)

硬件展示

e8ba9940dc7abca1abf30552c3f11bef.gif

启动

a18ab2959baa4ef7b49103fad4287895.gif

计算机启动

35ac8fa41e90a7047687a511c98ac306.gif

游戏选择

968ec9801dc7d9d92f59fc0be5ab48e9.gif

游戏演示

91f62bd81578702da4d369d5c212129e.gif

mister

https://github.com/MiSTer-devel/Main_MiSTer

最后一个就是mister,其实还有很多其他类似的项目,但是有了这个项目其他项目就相形见绌了,这一个项目可以看做是N个项目的集合,而且mister的强大基本会在未来几年内不会被超越。

265a1622b781ed119fe27398daa9c0d7.png

ac62731d6192908f01edda6a7e10068e.png

我们先看下这个项目的介绍:

MiSTer是一个开源项目,旨在使用现代硬件重新创建各种经典计算机(50+系统)、游戏机(25+种游戏机)和街机(10+种常用街机内核)。允许软件和游戏图像像在原始硬件(硬解)上一样运行,使用外围设备,如鼠标、键盘、操纵杆和其他游戏手柄。

硬件特性

使用DE10-NANO的开发板(很好购买)+SDRAM扩展板(不是必须,增加会增加好多内核适配)+低解板(不是必须)+USB HUB(不是必须)

所有需要的硬件都是开源的(AD的源文件),可以直接打板。

DE10-NANO的特点:

  • Altera Cyclone V SE FPGA with 110,000LE (41,500ALM) and 5,570Kbit of Block RAM.

  • ARM Cortex A9 dual-core CPU at 800MHz.

  • HDMI video and audio allowing connect to any modern monitor/TV.

  • DDR3 1GB available for both ARM and FPGA.

  • High speed ARM<->FPGA interconnect due to both being in the same chip.

硬件展示

97c83462a92bcce9855b3a2329fe6f40.gif

硬件组装完成

1ff86c069f16721386ca273771846939.gif

制作SD卡上系统

项目中提供了各种内核的源文件,可以根据自己需求进行移植,如果使用项目提供的板卡,则可以使用官方提供的SD卡镜像,镜像位置:

https://github.com/MiSTer-devel/mr-fusion/releases

制作过程如下:

33000d0505e524142fe8b7e16a6a3b15.gif

启动

7235718af9cad99d3ad30525dc8c4935.gif

更新游戏

因为跑得的Linux系统,所以可以使用SSH、TCP等工具通过网口从PC把游戏导入到SD卡内。

6f8e838d4d54d01697b72b4e4279bfff.gif

计算机启动演示

a45a6dd94335104059e40ba65542b350.gif

5c50fa535825414f5e51e257f959af17.gif

当然Windows95这种也不在话下:

9f6ff3cd59c9a66e0f8f2506c86c506f.gif

游戏演示

159c3756178ab7c02ed6e3c3802c3b3c.gif

03487740b26bd906ac72cfe32e38f93b.gif

总结

今天的项目就介绍到这里,大家有什么好玩的FPGA项目欢迎留言沟通。想找找童年记忆的小伙伴,可以试一试最后的项目,如果觉得资金不够第一个第二个项目也是可以试一试的(第二个项目后续我会移植一下)。

最后,还是感谢各个大佬开源的项目,让我们受益匪浅。后面有什么感兴趣方面的项目,大家可以在留言,今天就到这,我是爆肝的碎碎思,期待下期文章与你相见。

9645b27acc152e2a56254e9ecc6e5bfe.jpeg

拯救童年系列-GameBoy介绍及FPGA实现


c40f54ce346156684ccb678d8fcb3fc4.jpeg

童年修复系列-PC Engine/TurboGrafx-16介绍及FPGA实现


5ba2ee87b3d1ed1f5c42e531cf70baf6.jpeg

童年修复系列-SNES芯片组介绍及FPGA实现


c9379317d0708292f0167aa367ef15db.jpeg

【开源】我们和童年的距离,就是一台游戏机-用FPGA DIY一个NES游戏机


9a515e48546aa8c8dacb3085da993c02.jpeg

一块带给无数人年少欢乐的CPU,别说你没用过它



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/34802.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

工商业光伏系统踏勘、设计、施工全流程讲解

随着全球能源结构的转型和环保意识的提升&#xff0c;光伏发电作为一种清洁、可再生的能源形式&#xff0c;正越来越受到工商业领域的青睐。商场、学校、医院、各类工厂等地&#xff0c;安装光伏发电系统不仅能降低运营成本&#xff0c;还可以为企业树立良好的环保形象。 一、前…

mongo开启慢日志及常用命令行操作、数据备份

mongo开启慢日志及常用命令行操作、数据备份 1.常用命令行操作2.mongo备份3.通过命令临时开启慢日志记录4.通过修改配置开启慢日志记录 1.常用命令行操作 连接命令行 格式&#xff1a;mongo -u用户名 -p密码 --host 主机地址 --port 端口号 库名&#xff1b; 如&#xff1a;连…

Vue跨标签通讯(本地存储)(踩坑)

我司有一个需求【用户指引】 需求是根标签有一个用户指引总开关&#xff0c;可以控制页面所有的用户指引是否在页面进入后初始是否默认打开&#xff0c;但是有些页面会新开标签这就设计到跨标签通讯了 我采取的方案是本地存储 重点:首先本地存储在页面是同源(即域名协议端口三…

Scrapy解析JSON响应v

在 Scrapy 中解析 JSON 响应非常常见&#xff0c;特别是当目标网站的 API 返回 JSON 数据时。Scrapy 提供了一些工具和方法来轻松处理 JSON 响应。 1、问题背景 Scrapy中如何解析JSON响应&#xff1f; 有一只爬虫(点击查看源代码)&#xff0c;它可以完美地完成常规的HTML页面…

机器学习生物医学

Nature与Science重磅&#xff01;AI与生物医药迎来百年来最重磅进展&#xff01;https://mp.weixin.qq.com/s/Vw3Jm4vVKP14_UH2jqwsxA 第一天 机器学习及生物医学中应用简介 1. 机器学习及生物医学中应用简介 2. 机器学习基本概念介绍 3. 常用机器学习模型介绍&#xff0…

ISIS五

L1路由器的次优路径问题 路由渗透 可以打标签 等价路由上面下面都把骨干区域引入非骨干 强制ATT位不置位为1 attached-bit advertise never 在AR2上禁止ATT置位为1 在AR3没有禁止呀还是有默认路由 ISIS选路机制&#xff1a; L1的路由优于L2的路由 星号bit 叫DU-bit 知道…

BFC的理解

BFC的理解 BFC是什么&#xff1f;BFC如何触发&#xff1f;BFC的作用问题解决Margin重叠问题Margin塌陷问题高度塌陷 BFC是什么&#xff1f; BFC是块级格式上下文&#xff08;Block Formatting Context&#xff09;&#xff0c;是CSS布局的一个概念&#xff0c;在BFC布局里面的…

C++入门基础

一、C的第一个程序 C兼容C语⾔绝大多数的语法&#xff0c;所以C语言实现的hello world依旧可以运行&#xff0c;C中需要把定义⽂件 代码后缀改为.cpp&#xff0c;vs编译器看到是.cpp就会调⽤C编译器编译&#xff0c;linux下要⽤g编译&#xff0c;不再是gcc #include<stdio.h…

VMware 安装国产操作系统UOS过程

VMware是一个虚拟化的平台&#xff0c;在这个平台上能训练操作系统&#xff08;客户端版本和服务器端版本&#xff09;&#xff0c;在真机的条件下虚拟出更多的应用场景。&#xff08;如果你的硬件设备足够强悍&#xff0c;可以通常这个平台虚拟出256个终端&#xff08;可能会更…

仿蝠鲼软体机器人实现高速多模态游动

近期&#xff0c;华南理工大学周奕彤老师研究团队最新成果"Manta Ray-Inspired Soft Robotic Swimmer for High-speed and Multi-modal Swimming"被机器人领域会议 IEEE/RSJ International Conference on Intelligent Robots and Systems&#xff08;IROS 2024&#…

稀土阻燃剂:电子设备的安全守护者

稀土阻燃剂是一类以稀土元素为基础的阻燃材料&#xff0c;广泛应用于电子设备中&#xff0c;主要用于提高材料的阻燃性能和热稳定性&#xff0c;以满足现代电子设备对安全性和可靠性的要求。稀土阻燃剂在电子设备中的应用具有以下特点&#xff1a; 1. 电路板&#xff1a;稀土阻…

Issue id: AppLinkUrlError 应用intent-filter 配置深链接 URL 问题分析 | AndroidManifest

AndroidManifest.xml 配置文件中&#xff0c;对 activity 组件进行声明的时候&#xff0c;独立应用在 IDE 显示 intent-filter 报错&#xff0c;但不影响实际编译&#xff0c;因为是系统应用&#xff0c;肯定会有此 URL 的存在。 AOSP 源码&#xff1a; <activity android:…

QT 中 sqlite 数据库使用

一、前提 --pro文件添加sql模块QT core gui sql二、使用 说明 --用于与数据库建立连接QSqlDatabase--执行各种sql语句QSqlQuery--提供数据库特定的错误信息QSqlError查看qt支持的驱动 QStringList list QSqlDatabase::drivers();qDebug()<<list;连接 sqlite3 数据库 …

扫二维码进小程序的指定页面

草料二维码解码器 微信开发者工具 获取二维码解码的参数->是否登陆->跳转 options.q onLoad: function (options) {// console.log("options",options.q)if (options && options.q) {// 解码二维码携带的链接信息let qrUrl decodeURIComponent(optio…

微信小程序介绍-以及写项目流程(重要)

前言&#xff1a;本篇文章介绍微信小程序以及项目介绍&#xff1a; 文章介绍&#xff1a;介绍了微信小程序常用的指令、组件、api。tips&#xff1a;最好按照官方文档来进行学习&#xff0c;大致可以我的目录来学习&#xff0c;对于写项目是没有问题的 微信小程序官方文档https…

Apache Dolphinscheduler可视化 DAG 工作流任务调度系统

Apache Dolphinscheduler 关于 一个分布式易扩展的可视化 DAG 工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系&#xff0c;使调度系统在数据处理流程中开箱即用。 DolphinScheduler 的主要特性如下&#xff1a; 易于部署&#xff0c;提供四种部署方式&am…

“原批教育家”原批之星鲁健的杰作——原批俱乐部

伟大的原批教育家——原批之星&#xff0c;名为鲁健&#xff0c;是一位在南京邮电大学智能科学与技术专业中崭露头角的杰出人物。他不仅以其卓越的黑客技术和对网络正义的执着而闻名&#xff0c;更是“远古四神”之一&#xff0c;以其对原批之力的深刻理解和不同见解&#xff0…

github深度学习项目复现教程

如何找感兴趣的项目&#xff1f; 使用github或papers with code搜索关键词“deep learning”等&#xff0c;最受欢迎的是stars数最多的 查看readme 是否清晰地描述了项目目标、使用的技术、安装步骤和运行方法 是否包含依赖项、所需数据集和训练模型等信息 1、准备环境 如…

在玩“吃鸡”的时候游戏崩溃要如何解决?游戏运行时崩溃是什么原因?

“吃鸡”游戏崩溃问题深度解析与解决方案&#xff1a;原因、修复与预防 在紧张刺激的“吃鸡”&#xff08;即《绝地求生》&#xff09;游戏中&#xff0c;突然遭遇游戏崩溃无疑会让玩家倍感沮丧。作为一名经验丰富的软件开发从业者&#xff0c;我深知游戏崩溃可能由多种因素引…

YOLOv8实战道路裂缝缺陷识别

本文采用YOLOv8作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。YOLOv8以其高效的实时检测能力&#xff0c;在多个目标检测任务中展现出卓越性能。本研究针对道路裂缝数据集进行训练和优化&#xff0c;该数据集包含丰富的道路裂缝图像样本…