玩FPGA不乏味
Hello,大家好,之前给大家分享了大约一百多个关于FPGA的开源项目,涉及PCIe、网络、RISC-V、视频编码等等,这次给大家带来的是不枯燥的娱乐项目,主要偏向老的游戏内核使用FPGA进行硬解,涉及的内核数不胜数,主要目标是高的可实现性及复现性。
因为是娱乐项目,所以用本文中会有很多动图,下面开始。
1、zxuno
项目地址如下:
https://github.com/zxdos/zxuno
官方网站:
https://zxuno.speccy.org/faq.shtml
第一个,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如下:
硬件展示如下:
然后就是启动:
接下来就是测试
最后就是尽情享受
最后就是本项目是众筹项目,外壳也是必须的,下面是几种外壳产品:
2、sidewinder
https://github.com/ManuFerHi/SidewinderFPGA
主要参数:
FPGA BOARD EP4CE22
SDRAM 256Mbit
项目提供硬件原理图(PDF),Gerber(可以直接打板)
硬件展示
启动
计算机启动
游戏选择
游戏演示
mister
https://github.com/MiSTer-devel/Main_MiSTer
最后一个就是mister,其实还有很多其他类似的项目,但是有了这个项目其他项目就相形见绌了,这一个项目可以看做是N个项目的集合,而且mister的强大基本会在未来几年内不会被超越。
我们先看下这个项目的介绍:
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.
硬件展示
硬件组装完成
制作SD卡上系统
项目中提供了各种内核的源文件,可以根据自己需求进行移植,如果使用项目提供的板卡,则可以使用官方提供的SD卡镜像,镜像位置:
https://github.com/MiSTer-devel/mr-fusion/releases
制作过程如下:
启动
更新游戏
因为跑得的Linux系统,所以可以使用SSH、TCP等工具通过网口从PC把游戏导入到SD卡内。
计算机启动演示
当然Windows95这种也不在话下:
游戏演示
总结
今天的项目就介绍到这里,大家有什么好玩的FPGA项目欢迎留言沟通。想找找童年记忆的小伙伴,可以试一试最后的项目,如果觉得资金不够第一个第二个项目也是可以试一试的(第二个项目后续我会移植一下)。
最后,还是感谢各个大佬开源的项目,让我们受益匪浅。后面有什么感兴趣方面的项目,大家可以在留言,今天就到这,我是爆肝的碎碎思,期待下期文章与你相见。
拯救童年系列-GameBoy介绍及FPGA实现
童年修复系列-PC Engine/TurboGrafx-16介绍及FPGA实现
童年修复系列-SNES芯片组介绍及FPGA实现
【开源】我们和童年的距离,就是一台游戏机-用FPGA DIY一个NES游戏机
一块带给无数人年少欢乐的CPU,别说你没用过它