机器之心报导
机器之心修改部
在许多人看来,打造一台家用的核算机需求太多硬件:主板、CPU 等等。但完结一个 8 位的核算机远没有这么杂乱。近来,一位名为 Matt Sarnoff 的开发者就仅用了 6 个芯片就拼装好了一台核算机。它不仅能有音视频输入输出,还可以完结编程使命。不愧是经典又复古的 8 位电脑。
时至今日,8-bit 风格的电脑仍然有着永存的魅力。那么,是否可以正常的运用经典的 CPU 来完结现在的核算使命,一起保存 8-bit 的风格呢?
近来,一位名为 Matt Sarnoff 的开发者开发了一款经典的家用核算机,名为 Amethyst。它有一个集成式的键盘,可以生成声响和图画。其中有一个高档编程言语,可以让用户自己编程。更重要的是,这个核算机只需求 6 块芯片,这中心还包含一个 ATMEGA1284P 的 CPU,一个 USB 接口芯片,以及 4 个简略的集成电路。
可以正常的看到,你可以在上面完结一些根本操作。这个核算机还可以显现五颜六色图画。
那么,怎样用这些简略的硬件拼装一台核算机呢?
Amethyst :六个芯片打造家用核算机
据作者介绍,Amethyst 是一种复古风格的家用九三级,环绕 ATmega1284 微操控器打造。它可以组成 NTSC 视频输出,有着高色彩和高分辨率形式、单声道音频输出和一个完好的机械键盘。
该核算机运用 Forth 编程言语,有图画和声响指令、调试器和屏幕修改功用。它选用一个 USB Type-B 接口,供给 5V 的电源和与一台 PC 的衔接交流。
此外,Amethyst 兼容 Optiboot (Arduino) bootloader,可以将固件加载到上面,不需求特别的编程硬件。
硬件装备
在硬件装备上,首先是 CPU。作者运用了 ATMEGA1284P。这是一个 2008 年发布的 CPU,有 128KB 的闪存和 16KB 的内存。它的运转主频最高到达 20MHZ,有一个内置的序列界面操控器以及 32 位的输入/输出 pin。
怎么让这个电脑输入和输出视频?作者找出了 4 个 7400 芯片——两个多路复用器和两个并行到串行移位寄存器。
详细而言,他将 CPU 上的 8 个 pin 设置并行,将其一起传入 4 个芯片中,然后将它们转化高速串行比特流。经过这种方法,他可以让核算机在屏幕上显现出 215 种不同的色彩。当然,这样带来的价值也很大,为了跟上屏幕改写,CPU 只剩下 25% 的算力处理其他使命了。
核算机的全体电路图示。这是一个单板核算机,运用 6 个芯片,生成 215 色视频。键盘直接焊在板子上,相同支撑音频和四个串行 I/O 链接,用于外围使命,如游戏操控或存储设备。该电脑运用了自带的 Forth 虚拟机,供给编程环境。
编程言语和环境
因为终究意图是供给一个轻量级的编程环境,所以作者挑选了 Forth 而不是 Basic。Forth 是嵌入式体系的言语,具有交互性以及可高效编译代码的功用,可以在有限空间内发挥作用。因为 1284P 不可以直接从 RAM 中履行已编译的代码,因而将代码编译为中心字节代码,之后该字节码将作为数据供给给从 1284P 的虚拟机。虚拟机的代码是用汇编代码编写的,并进行了恰当的手动调整以使其尽可能高效。
作者可以运用先进的激光切割机,因而规划以及制作木箱(wooden case)并不是很困难。机械键盘的开关直接焊接在 Amethyst 的单印刷电路板上,这个键盘的空格键在 Enter 键上方。
作者所用机械键盘的空格键不像一般键盘那样坐落中心,而在 Enter 键的上面。
作用展现
从上图来看,这台电脑供给了一个命令行界面,用户都可以进行各种操作。
更风趣的是,电脑还自带了一个游戏。游戏中,玩家扮演机器人「#」,并从一大推字符中寻觅「kitten」。
寻觅 kitten 的游戏界面,可见这个核算机可以完结许多使命,具有必定的功能。
总硬件清单
那么这个别具风格的家用核算机详细需求哪些硬件呢?请看以下硬件清单:
以 14.318 MHz 运转的 ATmega1284 微操控器(8 位)
16KB 内存储器(16352 字节可用于应用程序)
4KB 非易失性 EEPROM 存储
具有 Cherry MX 键开关的机械键盘
NTSC 五颜六色和单色复合视频输出:
256 色、16 色和 4 色位图图形,分辨率最高为 160x200
分辨率高达 640x200 的单色位图图形
40x25 和 80x25 单色文本形式
40x25 五颜六色文本形式
40x25 五颜六色平铺图形形式
单声道音频输出(脉冲波或 PWM)
USB 串行通讯速度高达 57600 波特
四个 SPI 扩展端口,用于外设、操控器和存储设备
仅 6 个芯片(ATmega1284、FT320X、2 个 74HC157 和 2 个 74HC166)
完好的原理图、PCB 文件以及体系代码都可以在 Github 里找到。一起,作者也表明欢迎读者经过已供给的信息构建自己的 Amethyst 或许改善其已有的规划。
参阅衔接:
https://spectrum.ieee.org/geek-life/hands-on/build-this-8bit-home-computer-with-just-5-chips
https://github.com/74hc595/Amethyst/blob/master/README.md
本文为机器之心报导,转载请联络本大众号取得授权。
------------------------------------------------
参加机器之心(全职记者 / 实习生):hr@jiqizhixin.com
投稿或寻求报导:content@jiqizhixin.com
广告 & 商务协作:bd@jiqizhixin.com