在很多人看來,打造一臺家用的計算機需要太多硬件:主板、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 彩色和單色復合視頻輸出:
o 256 色、16 色和 4 色位圖圖形,分辨率最高為 160x200
o 分辨率高達 640x200 的單色位圖圖形
o 40x25 和 80x25 單色文本模式
o 40x25 彩色文本模式
o 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
-
計算機
+關注
關注
19文章
7421瀏覽量
87718 -
硬件配置
+關注
關注
0文章
15瀏覽量
7172
發布評論請先 登錄
相關推薦
評論