新電氣元件允許我們更有效地重建舊接線。特別是,易於訪問的和經濟實惠的FPGA套件,可以將許多舊計算機的接線放在一起作為“芯片”解決方案。
當我處理持有舊泡沫LED屏幕以及相當機械矩陣鍵盤時,我決定開發舊單板計算機的複製品。理性選擇似乎是開發Kim-1或Heathkit ET-3400。即使對於Arduino,Kim-1的副本已經存在,因此我的任務將最小化以將鍵盤和顯示器鏈接。然而,那我告訴自己,我會用真理,即我的泡沫屏幕有9個職位,作為開發傳奇的捷克斯洛伐克單板電腦PMI-80的理由,它利用完全相同的顯示。我的副本是一個FPGA,而不是這個極其計算機的FPGA仿真器。
PMI-80.
原始PMI-80 [來源:DLW博客]最有可能在Hackaday的遊客中很有可能理解這台電腦,這是在前捷克斯洛伐克的80年代製作的。 Hackaday編輯[Brian Benchoff]可能是唯一一個閱讀這類標本的人。但是,如果您擁有一個我們的一個人,請在下面的評論中聽到它。對於那些不熟悉的人來說,讓我們先介紹它。
PMI-80是基於英特爾8080處理器的單板機構計算機。考慮到它是在所謂的鐵幕後面的八十年代生產,它利用了捷克斯洛伐克特斯拉芯片而不是原始的英特爾,雖然它們在功能上相同,但包括編號(英特爾8080A有一個名稱MHB8080A,PIO 8255A被提供為MHB8255A。等等。)
基地包括普通的“神聖三位一體”佈線(8080A – 8224 – 8228)。在樹脂8224電路的輸入上是電容器以及二極管,在電源接通後提供復位。晶體有10 MHz,因此計算機以10/9 = 1.111 MHz的頻率運行。 INTA輸入電路8228鏈接到+ 12V,這使得在中斷請求的情況下,執行RST 7(即跳轉到地址0038)。
內存是從1K PROM(8608,1KX8)以及1 KB RAM(2x 2114)芯片開發的。 PROM在0000 – $ 03FF的地址提供,RAM為1億美元 – $ 1FFF。甚至可能將額外的2708內存(0400美元 – $ 07FF)添加到電路板上。
VAD30屏幕[圖像來源:Nostalcomp.cz]計算機此外還包括在前德國(Deutsche Demokratische Republik)生產的VQD30顯示屏。這是屏幕NSA1198或CQYP95-9七分段典型陰極顯示器的實用等同物。輸入數據由鍵盤提供,該鍵盤被開發為3×9矩陣。這些外圍設備都由基於PIO 8255的電路驅動。與驅動器晶體管端口插座(PA0-PA6)管理的私有段(陽極)。通過電路MH1082(相當於74145)解碼的最低四位C端口C(相當於74145),從-9 of-9解碼,其用於選擇位置,並同時激活鍵盤的列。鍵盤線鏈接到位PC4-PC6。
以極其基本的方式在磁帶上保留磁帶,同樣通過PIO 8255管理。每個條目都有一個起始位(1),那麼實際值,以及止動位(0)。在錄製期間,程序在PA6端口上產生0.2ms的提供商頻率週期,以及用引腳PA7閃光燈。在閱讀期間,信息在BIT PC7提供。
PIO 8255作為地址$ F8-$ FB的外圍連接。計算機板使插入一個更多的PIO電路,然後鏈接以解決$ F4-$ F7以及完全提供給應用程序。
手術
鍵盤由25個秘密組成,以5×5矩陣設置。然而,內部有線電布。兩個秘密(re和i)直接導致處理器的輸入(分別分別int)。保持秘密(0-9,A-F,EX,R,BR,M,L,S以及=)已在已經指出的3×9矩陣中有線連接,如此所示。
打開後,屏幕屏幕檢查出“PMI-80”以及等於任何類型的關鍵壓力機的計算機。之後它進入了主要屏幕模式,由“?”決定在顯示屏的左側。然後計算機等待屏幕命令。
監控命令
m – 修改/查看內存內容。按下m後,左側顯示字符M以及計算機等待地址條目。按=激活數據條目。每次按=地址指南提升1.數據輸入都通過按=以及0-f的秘密來完成。
R – 查看以及修改寄存器的內容。按下R r後,左側顯示字符“R”以及計算機等待對應於寄存器對(AF = A,B = BC,D = DE,HL 9 = 8 = SP)的擊鍵。再次,可以自定義數據以及利用=步驟到下一個對。
前運行程序。計算機等待地址,按=跳入程序。可以通過跳轉到地址0或地址8(對應於跳轉到監視器)來終止程序。
BR – 與g完全相同,但是具有斷點。首先,您要求進入必須停止程序的地址,以及下一個啟動地址。
L,S – 噸以及保存數據(這裡未實施)
我 – 中斷。觸發中斷以及跳轉以滿足$ 0038。只有指導:JMP $ 1FE6。在此地址(在RAM中),您需要非常首先生成跳轉到您的處理程序例程。
重新重置。在重置期間,RAM不清楚,因此它可以用作程序中斷以及返回監視器。
從Git存儲庫提供提供評論的屏幕。
PMI-80在FPGA中
我選擇了一塊低成本的FPGA開發套件,EP2C5 / EP2C6小板,這是一個用於他的Multicomp的授予Searle(謝謝的靈感!)。它具有Altera Cyclone II芯片,我使用VHDL編程。
我將鍵盤鏈接為5×5矩陣,不是原始的3×9;在FPGA內處理備份適合PMI的類型。
屏幕與電阻器直接連接到FPGA,以及再次,所有邏輯以及重新映射到適合於仿真的類型中正在FPGA內完成。
缺少一個用於使用錄音機的接口,我還沒有執行此操作。您可以在我的github repo看到我的現在應用程序。
我利用了一個名為Light8080的8080的免費軟件VHDL應用。無論如何,它不是“T-Perfue”。無論如何都是不需要的。我同樣使用PIA8255組件。
主代碼位於數據RMI.VHD中,其中每個組件的所有“膠合邏輯”:8080,8255,RAM,ROM,鍵盤以及LED。
存檔同樣包括我在仿真時使用的測試元素,例如。顯示十六進制數字的基本屏幕。讓仿真正常工作有點不穩定。 8080處理器的原始應用程序處理有點非標準時間,因為奇數指定出現在總線上,例如RAM在處理器檢查之前在處理器之前停止提供信息等。一些事情有助於我:
用基本代碼測試ROM
時鐘發生器,頻率約為1 Hz
十六進制屏幕(組件立即刷新屏幕內容,直接從數據或地址總線帶來數據進入輸入)
Altera Probe – 連接到電路的在線邏輯探頭,它將數據通過JTAG接口傳輸到Quartus IDE。
建立硬件以及構圖仿真器是一個工作的周末,也是它仍然是“0.1版”。在未來,我想延長系統模仿其他單板計算機(Kim,Et,也許Cosmac ELF)以及模擬磁帶,也可以作為RS-232接口。看看快速的視頻演示。檢查下面的資源,如果您正在考慮在芯片項目上進行更多的複古計算,請留下評論。
資源
源代碼:https://github.com/maly/fpmi
PMI-80描述斯洛伐克:
http://www.nostalcomp.cz/pdfka/pmi80_popis.pdf.
單擊以訪問pmi80_doplnky.pdf
單擊以訪問pmi_prirucka1.pdf
http://www.nostalcomp.cz/pdfka/pmi_prirucka2.pdf.