資料介紹
描述
如果您想構(gòu)建它但不喜歡完全從頭開(kāi)始的想法,請(qǐng)查看Chris Davis 的 Altair-Duino 套件,其中包含所有組件、PCB、外殼和預(yù)編程的 Arduino Due!
以下是其他人的一些圖片,他們已經(jīng)建立了這個(gè)項(xiàng)目并把它變成了自己的:
- Alan Lowther為他的版本找到了一個(gè)漂亮的金屬外殼,并連接了一個(gè) Raspberry Pi 用于輸入/輸出和語(yǔ)音合成。
- Martin Zumr用木頭做了一個(gè)非常漂亮的盒子。
如果其他人想分享他們的創(chuàng)作,請(qǐng)告訴我,我會(huì)在這里發(fā)布。我很想看到人們想出的各種版本!
很長(zhǎng)一段時(shí)間以來(lái),我一直認(rèn)為擁有一臺(tái) Altair 8800 計(jì)算機(jī)會(huì)很酷。但是工作的老式 Altair 很少見(jiàn),因此價(jià)格昂貴,如果有的話(huà),很容易花費(fèi) 1500 至 2500 美元。還有其他一些選擇,例如altairclone.com ,但仍然要花費(fèi) 600 美元,這對(duì)我來(lái)說(shuō)太貴了,無(wú)法花在一臺(tái)雖然非??岬猛居邢薜挠?jì)算機(jī)上。值得慶幸的是,Altair Clone 的創(chuàng)建者 Mike Douglas 已向社區(qū)提供了他在創(chuàng)建克隆時(shí)尋找并使用的所有舊文檔和軟件。多虧了 Mike 的工作,有大量關(guān)于 Altair 的內(nèi)部工作原理及其最流行的外圍設(shè)備的信息。
在某個(gè)時(shí)候,我正在查看 Arduino Mega 2560 規(guī)格并開(kāi)始想知道它是否有足夠的 I/O 引腳來(lái)連接 Altair 前面板的 LED 和開(kāi)關(guān)并編寫(xiě)我自己的仿真器軟件。原來(lái) Arduino Mega的 I/O 引腳數(shù)量正好合適。所以我只需要制作自己的 Altair 克隆。
使用 Arduino Mega 來(lái)驅(qū)動(dòng)模擬器運(yùn)行良好且設(shè)置簡(jiǎn)單,但模擬運(yùn)行速度僅為 Altair 的 25% 左右,并且只能提供 6KB 的模擬 RAM(盡管在過(guò)去這會(huì)很多)。永久存儲(chǔ)容量(用于保存在模擬器中創(chuàng)建的程序/數(shù)據(jù))也受到限制,因?yàn)?Mega 的 EEPROM 僅容納 4KB。
Arduino Due 有足夠的內(nèi)存來(lái)支持完整的 64KB 模擬 RAM,并且運(yùn)行速度比 Mega 快得多。此外,Due 可以在運(yùn)行時(shí)將數(shù)據(jù)保存到閃存中。這使得可以使用模擬器本身未使用的 512K 閃存的任何部分進(jìn)行永久存儲(chǔ)。
使用 Due 我現(xiàn)在有一個(gè) Altair 8800 模擬器,它以大約原始速度運(yùn)行,提供 64K 的模擬 RAM,包括許多 Altair 軟件,并且仍然可以提供 32K 的半永久存儲(chǔ)來(lái)加載和保存模擬器中的程序和數(shù)據(jù)。
我對(duì)這個(gè)項(xiàng)目的目標(biāo)是在使用模擬器時(shí)盡可能接近“真實(shí)”的 Altair 8800 感覺(jué)。這包括讓前面板燈盡可能地反映真實(shí)行為。一個(gè)標(biāo)準(zhǔn)是應(yīng)該可以玩前面板“Kill-the-Bit”游戲 - 它是:
事證明,模擬對(duì)原版來(lái)說(shuō)足夠真實(shí),甚至 Altair 8800音樂(lè)演示也能正常工作。請(qǐng)注意,這依賴(lài)于 AM 無(wú)線(xiàn)電接收 Altair 電路產(chǎn)生的電磁干擾!
過(guò)去,Processor Technology 為 Altair 發(fā)布了一個(gè)小型擴(kuò)展板(只有幾個(gè)電容器和電阻器),附帶的軟件將 Altair 變成了一個(gè)受人尊敬的音樂(lè)系統(tǒng)(當(dāng)時(shí))。可以對(duì)模擬器進(jìn)行相同的添加(參見(jiàn)文檔),使其能夠播放當(dāng)時(shí)為音樂(lè)系統(tǒng)創(chuàng)建的曲調(diào)。這是一個(gè)例子:
Altair 另一個(gè)具有歷史意義的重要擴(kuò)展是Cromemco Dazzler顯卡。使用軟件或硬件擴(kuò)展,模擬器還可以模擬該板:
強(qiáng)調(diào)
- 準(zhǔn)確再現(xiàn) Altair 前面板元素的行為。
- 運(yùn)行速度與原始 Altair 8800 大致相同(使用 Arduino Due 時(shí))或使用 Arduino Mega 時(shí) 25% 原始速度。
- 模擬 RAM 大小為 64KB (Due) 或 6K (Mega)
- 包含許多 Altair 程序,可以輕松加載到模擬器中,包括 Pong、Altair 4K BASIC(第一個(gè) Microsoft 產(chǎn)品)、Altair 擴(kuò)展 BASIC、MITS Programming System II(僅限到期)、Altair Time Sharing BASIC(允許多個(gè)用戶(hù)同時(shí)使用 BASIC)。
- BASIC 和 Assembler 示例程序包含在仿真器軟件中,可以輕松加載到 BASIC/Assembler 中。
- 模擬一個(gè) 88-SIO、88-2SIO 和 88-ACR(錄音機(jī)接口)板。每個(gè)模擬的串行設(shè)備都可以映射到 Arduino 的串行接口。默認(rèn)情況下,最常見(jiàn)的兩個(gè)(88-SIO 和 88-2SIO 端口 1)以 115200 波特 8n1 映射到 Arduino 的主串行端口,可以通過(guò) USB 電纜訪(fǎng)問(wèn)。我建議將串行到藍(lán)牙加密狗連接到 RX/TX 串行引腳。這樣,任何支持藍(lán)牙的設(shè)備都可以作為 Altair 的終端。
- 在 Arduino Due 上,可以同時(shí)使用主串行接口 (USB) 和 Serial1 接口(引腳 18/19)。
- 發(fā)送到每個(gè)串行設(shè)備(包括 ACR 磁帶)的數(shù)據(jù)可以被捕獲并重放為多達(dá) 256 個(gè)文件,這些文件保存在 Arduino 的本地存儲(chǔ)(EEPROM 或閃存)中。
- 磁帶接口支持在擴(kuò)展 BASIC 中使用 CSAVE/CLOAD 命令(支持是自動(dòng)的,無(wú)需用戶(hù)交互)。非常適合開(kāi)發(fā)您自己的 BASIC 程序!
- 模擬Cromemco Dazzler顯卡(需要一些額外的硬件/軟件,請(qǐng)參見(jiàn)此處)
- 模擬處理器技術(shù) VDM1視頻終端板(需要一些額外的硬件/軟件,請(qǐng)參見(jiàn)此處)
- 模擬多達(dá) 16 個(gè) 88-DCDD 磁盤(pán)驅(qū)動(dòng)器(默認(rèn)配置為 4 個(gè))。磁盤(pán)驅(qū)動(dòng)器仿真是可選的,但需要將 SD 卡連接到 Arduino 的 SPI 頭。僅在使用 Arduino Due 時(shí)支持。
- 模擬 88-HDSK 硬盤(pán)控制器,最多連接 4 個(gè)硬盤(pán)驅(qū)動(dòng)器單元(默認(rèn)配置為 1 個(gè)),每個(gè)單元有 4 個(gè)盤(pán)片。
- 模擬具有實(shí)時(shí)時(shí)鐘和向量中斷處理功能的 88-RTC-VI 板。這使得運(yùn)行 Altair Time Sharing Basic 成為可能。
- 可以將 256 字節(jié)的內(nèi)存頁(yè)面保存到永久存儲(chǔ)器并加載回內(nèi)存。這提供了一種保存通過(guò)前面板開(kāi)關(guān)輸入的程序的簡(jiǎn)單方法。
- 許多設(shè)置可以通過(guò)集成的配置編輯器輕松更改。
使用 Due 時(shí),請(qǐng)注意,如果您將新版本的草圖上傳到 Due,模擬器中捕獲或保存的所有內(nèi)容都會(huì)被刪除。這是因?yàn)楸4娴臄?shù)據(jù)存儲(chǔ)在閃存中,在上傳新草圖時(shí)會(huì)被擦除(Due 沒(méi)有任何用于永久存儲(chǔ)的 EEPROM)。如果 SD 卡連接到 Due,則保存的數(shù)據(jù)將存儲(chǔ)在 SD 卡上。在這種情況下,上傳新草圖時(shí)數(shù)據(jù)不會(huì)丟失。
文檔
由于模擬器的工作原理與 Altair 8800 完全相同,原始 Altair 文檔(可在 Google 上輕松找到)將提供操作前面板開(kāi)關(guān)所需的所有信息。
但是,該模擬器確實(shí)包含一些額外的功能和 Altair 的內(nèi)置軟件,可通過(guò)前面板上的 AUX1/AUX2 開(kāi)關(guān)訪(fǎng)問(wèn)(原始 Altair 包含但未使用這些開(kāi)關(guān))。該功能在我為模擬器開(kāi)發(fā)軟件時(shí)編寫(xiě)的單獨(dú)文檔中進(jìn)行了解釋。該文檔有很多頁(yè),其中包含的信息會(huì)使該頁(yè)面不堪重負(fù),因此請(qǐng)參閱源存儲(chǔ)庫(kù)中的Documentation.pdf文件。
構(gòu)建說(shuō)明
一個(gè)目標(biāo)是使用盡可能少的支持電路。Arduino Mega 和 Due 都有足夠的 I/O 引腳直接連接所有前面板元件。唯一需要的附加電路是驅(qū)動(dòng) 36 個(gè) LED 的晶體管和電阻器(如果 LED 直接連接到 Aruino 的輸出引腳并且同時(shí)打開(kāi)太多,總電流將超過(guò) Arduino 的限制)。
為這個(gè)項(xiàng)目創(chuàng)建完整的原理圖將是乏味的、重復(fù)的(36 個(gè)相同的 LED 驅(qū)動(dòng)器電路、32 個(gè)開(kāi)關(guān)的接線(xiàn))并且不是很有幫助。因此,原理圖文檔包含有關(guān)哪些元素連接到哪些 Arduino 引腳以及各個(gè)子電路(如 LED 驅(qū)動(dòng)器)的原理圖的詳細(xì)表格。我還添加了一個(gè) Fritzing 文件來(lái)顯示條板上 LED 驅(qū)動(dòng)器組件的布局。
為了制作前面板,我首先對(duì) Altair 的前面板進(jìn)行了高質(zhì)量掃描,然后在復(fù)印店將其打印到卡片紙上。對(duì)于背襯(實(shí)際將開(kāi)關(guān)和 LED 固定到位),我使用了一張 22 號(hào)金屬片,使用普通電鉆為 LED 和開(kāi)關(guān)打孔。LED 驅(qū)動(dòng)器電路焊接在條板上,條板直接焊接到 LED 上,而 LED 又由金屬片固定在適當(dāng)?shù)奈恢谩?/font>
前面板由一個(gè)簡(jiǎn)單的木箱固定并直立。盒子沒(méi)有原來(lái)的 Altair 深(因?yàn)樗恍枰潭ㄇ懊姘搴?Arduino)。
要連接前面板開(kāi)/關(guān)開(kāi)關(guān),我只是在盒子上添加了一個(gè)電源插座(與 Arduino 本身相同),將其連接到前面板開(kāi)關(guān),然后從那里連接到插入 Arduino 的電源插頭。
使用 Arduino Due 時(shí),可以通過(guò)將 SD 卡連接到 Due 的 SPI 端口來(lái)啟用最多 16 個(gè) 88-DCDD 磁盤(pán)驅(qū)動(dòng)器的仿真。原理圖文檔的最后一頁(yè)詳細(xì)顯示了所需的接線(xiàn)。
在將草圖上傳到 Arduino Due 之前,請(qǐng)務(wù)必將 Arduino 編譯器的優(yōu)化設(shè)置切換為“性能”。默認(rèn)情況下,它設(shè)置為“大小”(不知道為什么,因?yàn)?Due 有 512k 閃存)。為此,請(qǐng)加載文件
c:\Users\[user]\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.9\platform.txt
進(jìn)入文本編輯器并將任何出現(xiàn)的“-Os”更改為“-O3”。您可以跳過(guò)此步驟,但模擬器的運(yùn)行速度會(huì)明顯變慢。
模擬器軟件也可以在沒(méi)有連接任何前面板控件的情況下在準(zhǔn)系統(tǒng) Arduino(Mega 或 Due)上運(yùn)行。這確實(shí)允許運(yùn)行很多包含的程序(那些主要使用串行終端而不是前面板元素的程序)。為此,請(qǐng)編輯config.h
源文件并設(shè)置#define STANDALONE 1
(而不是 0)。請(qǐng)參閱文檔中的“調(diào)試功能”部分,了解如何在該設(shè)置中操作虛擬前面板元素。請(qǐng)記住,這不是模擬器的預(yù)期用途。如果您不想構(gòu)建前面板硬件,我建議使用基于 PC 的全軟件仿真器。這config.h
源文件包含許多包含/排除模擬器功能的開(kāi)關(guān)。默認(rèn)設(shè)置運(yùn)行良好,但如果您想調(diào)整模擬器,這是開(kāi)始的地方。
致謝
由于我自己沒(méi)有 Altair,我不得不依靠從互聯(lián)網(wǎng)上獲取信息。由 altairclone.com 的 Mike Douglas (deramp5113) 制作的 Altair 8800 教學(xué)視頻非常有幫助,觀看起來(lái)非常有趣。除了制作視頻之外,Mike 還收集了大量與 Altair 相關(guān)的硬件和軟件手冊(cè),并在他的網(wǎng)站上提供了這些手冊(cè)。
(請(qǐng)注意,Mike 的視頻非常有助于在構(gòu)建模擬器后獲得一些關(guān)于如何使用模擬器的想法)
Martin Eberhard 的 ADEXER 工具對(duì)于低級(jí)調(diào)試硬盤(pán)支持非常寶貴。他還編寫(xiě)了模擬器使用的兩個(gè)引導(dǎo)加載程序:用于引導(dǎo)磁盤(pán)和迷你磁盤(pán)的組合磁盤(pán)引導(dǎo)加載程序 (CDBL) 以及比原來(lái)更短、更穩(wěn)定的硬盤(pán)引導(dǎo)加載程序 (HDBL)。
雖然我自己編寫(xiě)了包括 CPU 仿真在內(nèi)的所有代碼,但在高效實(shí)現(xiàn)半進(jìn)位計(jì)算和 DAA 指令方面,我確實(shí)從 i8080 核心模型項(xiàng)目中獲得了一些靈感。
該模擬器包括一些用于 Altair 8800 的原始軟件。另外非常感謝 Mike Douglas,他花費(fèi)了無(wú)數(shù)時(shí)間尋找、收集并讓該軟件工作,然后將其全部發(fā)布在他的altairclone.com網(wǎng)站上:
- Altair 4K 基礎(chǔ)版(MITS 1975)
- Altair Extended ROM Basic (MITS 1975)
- Altair 分時(shí)基礎(chǔ)(MITS 1977)
- Kill-the-Bit 游戲(Dean McDaniel,1975 年)
- 使用前面板的乒乓球游戲(Mike Douglas)
- “黛西,黛西……”音樂(lè)(史蒂夫·多皮爾,1975 年)
- 音樂(lè)系統(tǒng)(處理器技術(shù) 1977)
- MITS 編程系統(tǒng) II (MITS 1976)
- Altair Turnkey Monitor (MITS 1977)
- i8080 CPU 診斷(Microcosm Associates,1980)
- i8080 CPU 鍛煉器(Frank D. Cringle 1994,Ian Bartholomew 2009)
磁盤(pán)和硬盤(pán)映像(包含在源存檔的“disks”子目錄中)也被altairclone.com和deramp.com (Mike Douglas 的個(gè)人網(wǎng)站)獲取。其中包括 CP/M、各種版本的磁盤(pán) BASIC、Altair DOS(包括 Fortran)等等。再一次,Mike 完成了一項(xiàng)了不起的工作,找到了所有這些軟件,然后創(chuàng)建了可供 Altair 社區(qū)使用的正常運(yùn)行的磁盤(pán)映像。我只使用了一些軟件,因此您可能想前往altairclone.com或deramp.com并查看更多內(nèi)容。
?
- 生存危機(jī)-Arduino角色扮演游戲模擬器
- DIY 8800W Arduino交流調(diào)光器
- Wokwi Arduino模擬器介紹
- SMCE:您的Arduino汽車(chē)模擬器
- 用于飛行模擬器的帶Arduino的LCD面板
- 帶有Arduino的糾纏量子比特模擬器
- 通過(guò)在線(xiàn)模擬器上的Arduino操作伺服電機(jī)
- Arduino模擬器開(kāi)源分享
- 一個(gè)真正的Arduino UNO電子寵物模擬器
- 用Arduino板和LDR單元制作自動(dòng)存在模擬器
- labview軸心軌跡模擬器軸心軌跡分析 33次下載
- 基于DSP的電磁脈沖模擬器控制系統(tǒng)設(shè)計(jì)方案 13次下載
- ADSIM模擬器
- 如何使用MATLAB RTW和Vxworks實(shí)現(xiàn)飛行模擬器的實(shí)時(shí)仿真 7次下載
- 汽車(chē)駕駛模擬器新一代實(shí)時(shí)場(chǎng)景系統(tǒng)的開(kāi)發(fā)
- DC/DC模擬器的特征和使用方法 768次閱讀
- 使用Netropy廣域網(wǎng)模擬器測(cè)試簡(jiǎn)化SD-WAN測(cè)試 570次閱讀
- 華為eNSP模擬器安裝教程 3100次閱讀
- 華為新版模擬器eNSP Lite 6066次閱讀
- 華為新版模擬器eNSP Lite安裝攻略 7320次閱讀
- 2分鐘快速教你如何在華為模擬器ensp上進(jìn)行抓包? 4623次閱讀
- 如何對(duì)PNET 模擬器進(jìn)行初始化安裝 2054次閱讀
- 使用LED作為模擬輸出的汽車(chē)警報(bào)模擬器電路 1904次閱讀
- HarmonyOS本地模擬器的版本演進(jìn)與使用方法 6274次閱讀
- 基于步進(jìn)電機(jī)和單片機(jī)的航海羅經(jīng)模擬器方案設(shè)計(jì)淺析 1083次閱讀
- 基于QEMU系統(tǒng)模擬器Xilinx/QEMU的運(yùn)行與調(diào)試 9210次閱讀
- 基于TL431的電動(dòng)汽車(chē)多節(jié)串聯(lián)鋰電池模擬器 7801次閱讀
- 一種基于FPGA嵌入式系統(tǒng)的雷達(dá)信號(hào)模擬器的實(shí)現(xiàn) 2744次閱讀
- 基于FPGA的飛行模擬器通信接口設(shè)計(jì) 2763次閱讀
- 基于TS101的SAR回波信號(hào)模擬器設(shè)計(jì) 1597次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論