另一个周末即将来临,我可以花一些时间从事我的激情项目,包括使用单板计算机,使用模拟器以及使用烙铁进行一般修补。 今年早些时候,我写过关于在Raspberry Pi上复活Commodore Amiga的文章 一位同事将我们对旧技术的痴迷称为“ 对保存我们的数字文化的热情 ”。

在“数字考古学”世界中,我听说了一种通过使用现场可编程门阵列 (FPGA)来模拟旧系统的新方法。 这个概念让我很感兴趣,因此我花了一个周末来学习更多。 具体来说,我想知道是否可以使用FPGA模拟Commodore Amiga。

什么是FPGA?

当您构建电路板时,所有内容实际上都是在硅中蚀刻的。 您可以更改在其上运行的软件,但是物理电路是不可变的。 因此,如果要向其添加新组件或稍后对其进行修改,则受到硬件物理特性的限制。 使用FPGA,您可以对硬件进行编程以模拟新组件或更改现有组件。 这是通过可编程逻辑门实现的(因此得名)。 这为物联网(IoT)设备提供了很大的灵活性,因为以后可以对其进行更改以满足新的要求。

使用FPGA和MiSTer进行复古计算

今天,FPGA被用于许多设备,包括智能手机,医疗设备,机动车辆和飞机。 由于FPGA可以轻松修改并且通常具有低功耗要求,因此这些器件无处不在! 它们的制造成本也不高,并且可以配置为多种用途。

Commodore Amiga设计的芯片具有特定用途和有趣的名称。 例如,“加里”是一个门阵列,后来在A3000和A4000上升级“他”时变成了“胖加里”。 “ Bridgette”是一个集成的总线缓冲区,而令人愉悦的“ Amber”是A3000上的一个“闪烁固定器”。 利用可编程门模拟这些芯片的能力为Amiga仿真提供了理想的平台。

介绍MiSTer项目

我一直在使用的板是TerasicDE10-Nano 该设备开箱即用,非常适合学习FPGA的工作原理,使您可以使用各种工具来入门。

使用FPGA和MiSTer进行复古计算

MiSTer项目建立在该板的顶部,并采用子板来提供内存扩展,SDRAM和改进的I / O,所有这些均建立在基于Linux的发行版上。 为了将其用作仿真平台,它通过使用“核心”进行了扩展,这些“核心”定义了电路板将要仿真的架构。

用MiSTer发行版刷新设备后,您可以加载“核心”,该核心是要使用的芯片的定义以及用于管理仿真系统的关联菜单的组合。

使用FPGA和MiSTer进行复古计算

与运行仿真软件的Raspberry Pi相比,这些内核为仿真提供了更多的本机体验,通常,在基于软件的仿真器上不能完美运行的应用程序在MiSTer上可以正常运行。

如何开始

在线上有大量资源可以帮助您入门。 第一站是MiSTer的GitHub页面上的文档 ,其中包含有关将所有内容组合在一起的分步说明。 如果您希望从视觉上看板,请从Retro Man Cave YouTube频道观看此视频 有关配置Minimig (mini Amiga的缩写)内核以加载磁盘或使用Amiga的经典WorkbenchWHDLoad的更多信息 ,请查看YouTube上Phil的计算机实验室的精彩教程

核心数

MiSTer具有可用于多种系统的内核。 我的主要兴趣是由Minimig核心提供的Amiga仿真。 我还对在大学期间使用过的Commodore 64和PET以及BBC微型计算机感兴趣。 对在Commodore PET上玩《 太空侵略者》也情有独钟,这是我承认的(很多年后!)是我本周末在大学计算机实验室预订时间的真正原因。

加载内核后,您可以通过连接的键盘并通过按F12来访问“内核”菜单来与之交互。 要访问外壳程序,可以使用F9键登录,该键会为您显示一个登录提示。 您将需要一个kickstart ROM (相当于PC的BIOS),以使Amiga运行。 您可以从Cloanto获得这些文件, Cloanto出售Amiga Forever kickstart,其中包含启动系统所需的ROM以及可以在MiSTer上使用的游戏,演示和硬盘文件。 将kickstart ROM存储在SD卡的根目录中,并将其命名为“ KICK.ROM”。

在我的MiSTer板上,即使我的Pi有更多的可用内存,我也可以运行不在Raspberry Pi上运行的Amiga演示。 仿真更加准确,运行效率更高。 通过扩展板,我什至可以使用旧硬件,例如原始的Commodore显示器和Amiga游戏杆。

源代码

MiSTer项目的所有代码均可在其GitHub存储库中找到 您可以访问核心以及主要的MiSTer设置,关联的脚本和菜单文件。 这些会被积极更新,并且有一个坚实的社区正在积极开发,错误修复和改善所有贡献,因此请定期检查更新。 该仓库具有大量可用信息,可帮助您启动和运行。

安全注意事项

定制的灵活性带来了潜在的安全漏洞 所有MiSTer安装都在根帐户上附带了预设密码,因此,您要做的第一件事就是更改密码。 如果您使用该设备为游戏搭建机柜,并且已授予该设备访问网络的权限,则可以使用默认的登录凭据来利用该设备,从而可能导致第三方访问您的网络。

对于非MiSTer项目,FPGA公开了一个过程能够监听另一个过程的能力,因此限制对设备的访问应该是您要做的第一件事。 在构建应用程序时,应隔离进程以防止不必要的访问。 如果您打算将开发板部署在其他用户或共享应用程序可以访问的地方,则这一点尤其重要。

查找更多信息

在线上有很多有关此类项目的信息。 以下是一些您可能会有所帮助的资源。

社区

子板

视频和演练

在哪里购买硬件

MiSTer项目

其他FPGA

翻译自: https://opensource.com/article/19/11/fpga-mister

相关文章: