机器之心报道

机器之心编辑部

在很多人看来,打造一台家用的计算机需要太多硬件:主板、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

3加密狗计算pin码_6 个芯片打造复古经典计算机:215 色显示,能编程能玩小游戏...相关推荐

  1. arduino openmv 显示图像_6 个芯片打造复古经典计算机:215 色显示,能编程能玩小游戏...

    在很多人看来,打造一台家用的计算机需要太多硬件:主板.CPU 等等.但实现一个 8 位的计算机远没有这么复杂.近日,一位名为 Matt Sarnoff 的开发者就仅用了 6 个芯片就组装好了一台计算机 ...

  2. flask计算pin码

    Flask debug模式算pin码_Ys3ter的博客-CSDN博客_flask pin码 可以参考这个链接 ctfshow801 然后这张图非常的重要 也就是我们需要上面的各个因素,然后获得pin ...

  3. 根据路由器MAC地址精确计算PIN码第八位的方法

    方法对于穷举法PJ路由MM用处不是太大,但是这是我PIN了几个路由器得出来的规律,这个方法对所有品种的路由器有效,希望能给大家一点启发. 第8位的算法: 如果pin码前7位分别是:ABCDEFG 第八 ...

  4. [源码和文档分享]基于C#实现的双人对战与道具赛的俄罗斯方块小游戏

    1.系统总体设计 要完成本系统中俄罗斯方块,必须考虑以下几个问题: 如何判断一个方块下落到底部或是发生碰撞 如何预测一个方块最终能下落到达的位置并给以玩家提示 如何判断一个方块在进行左右移动或是旋转时 ...

  5. pin码计算器网页版_新款尼桑密码计算器(提供算密码服务)

    今天和大家介绍一款ICC的国外原车车辆的防盗密码计算器,这款软件能通过原车的车架码或PCM码查询出原车的防盗密码.适合的车型比较广.对设备不多,需要经常匹配车辆防盗的朋友,的确到来不少方便. 以下是官 ...

  6. EasyDSS如何实现定期检测和取读加密狗授权?

    TSINGSEE青犀视频有加密机.加密狗.授权码三种授权方式,其中加密机是插在虚拟机上,加密狗是插在物理机上,加密狗在物理机可以方便插拔更换服务器. EasyDSS的加密狗授权,主要读取到授权时间.允 ...

  7. 模拟美萍加密狗--Rockey2虚拟狗(五)

    虚拟狗开源后很多网友询问有关使用方法的问题,其实看我前四篇文章就应该了解怎样使用了,但还是写篇教程吧 [一].安装DSF (驱动模拟环境): 运行DSFx86Runtime.msi 如需改变安装目录请 ...

  8. 谷歌取得量子计算突破:200秒完成经典计算机10000年计算任务

    钛媒体注:北京时间昨日晚间,据外媒报道,谷歌周三称在计算机研究领域取得了一项突破,打造出了第一台能够超越当今最强大的超级计算机能力的量子计算机. 该量子系统只用了 200 秒完成一个计算,而同样的计算 ...

  9. android 小游戏源码_Python入门太难?不如从玩塔防小游戏开始,玩通关就能学会编程...

    我一直认为,在python入门阶段学习基础理论,太枯燥.所以我们整理了很多有关python的项目案例,有详细教程还有源码,希望能帮助更多对python感兴趣的人. 这是其中一个适合入门的Python项 ...

最新文章

  1. Matlab编程与数据类型 -- 字符型数组
  2. pytorch中网络loss传播和参数更新理解
  3. Bean的依赖注入方式
  4. OpenCV:详解掩膜mask
  5. setjump和longjump
  6. python3-开发进阶补充Django中的文件的上传
  7. C++11特性补充笔记1
  8. 疾速激爽,电竞玩家的心仪之选:AMD 锐龙 5000 系列登场!
  9. 我的开发环境配置经验
  10. HTML颜色表及html代码(前端必备)
  11. 有哪些计算机法人快捷键,tras企业版操作说明.doc-广东省国家税务局.doc
  12. wifi认证源码html,openwrt 实现本地wifidog简单认证,认证端纯html
  13. 淘宝新上架的产品如何在站内SEO优化
  14. Bootstrap4 徽章(Badges)
  15. wireshark源码分析二
  16. int正数和负数的原码、反码、补码
  17. centos7配置tomcat环境变量
  18. 【LeetCode】345. Reverse Vowels of a String 解题报告
  19. 运营商大数据如何应用?优势有哪些?
  20. 光引发剂主要用途_可见光引发剂的应用

热门文章

  1. 互联网+法律兴起,品牌上线数量出现爆发
  2. 自动聊天机器人项目班
  3. Window插件获取窗口坐标
  4. python开发爬虫-Python3 Scrapy 安装方法 (一脸辛酸泪)
  5. 线性独立路径_设计一个线性电源电路,需要准备哪些元器件呢?
  6. 图片放大不失真软件 S-Spline V2
  7. JavaScript图片 向下闪缩放的效果
  8. 灌醉茅台董事长拿到便宜酒?潘长江和茅台双双回应...
  9. 5G iPhone SE起售价399美元 今年有望出货3000万部
  10. 加投35000瓶原价茅台 天猫双11今晚8点开售