Proses manufaktur
| × | 1 | ||||
| × | 1 | ||||
| × | 36 | ||||
| × | 36 | ||||
| × | 36 | ||||
| × | 36 | ||||
| × | 17 | ||||
| × | 8 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
| ||||
| ||||
|
Jika Anda ingin membangun ini tetapi tidak menyukai gagasan untuk memulai sepenuhnya dari awal, silakan lihat Perlengkapan Altair-Duino Chris Davis yang datang dengan semua komponen, PCB, kasing, dan Arduino Due yang telah diprogram sebelumnya!
Berikut adalah beberapa gambar dari orang lain yang telah membangun proyek ini dan membuatnya sendiri:
Jika ada orang lain yang ingin membagikan kreasi mereka, beri tahu saya dan saya akan mempostingnya di sini. Saya ingin melihat variasi versi yang dibuat orang!
Untuk waktu yang lama saya berpikir akan keren memiliki komputer Altair 8800 untuk bermain-main. Tetapi Altair vintage yang berfungsi jarang dan karenanya mahal, dengan mudah berharga $ 1500- $ 2500 jika tersedia sama sekali. Ada beberapa opsi lain, seperti altairclone.com tetapi itu masih berharga $600 yang bagi saya terlalu banyak untuk dihabiskan di komputer yang - meskipun sangat keren - akan digunakan secara terbatas. Untungnya Mike Douglas, pencipta Altair Clone, telah menyediakan kepada komunitas semua dokumen dan perangkat lunak lama yang dia buru dan gunakan saat membuat klon. Berkat kerja Mike, ada banyak informasi tentang cara kerja bagian dalam Altair dan periferal paling populer yang tersedia dengan mudah.
Pada titik tertentu saya melihat spesifikasi Arduino Mega 2560 dan mulai bertanya-tanya apakah itu akan memiliki cukup pin I/O untuk hanya menghubungkan LED dan sakelar dari panel depan Altair dan menulis perangkat lunak emulator saya sendiri. Ternyata Arduino Mega memiliki tepat jumlah pin I/O yang tepat. Jadi saya hanya perlu membuat klon Altair saya sendiri.
Menggunakan Arduino Mega untuk menggerakkan simulator bekerja dengan baik dan mudah diatur tetapi emulasi berjalan hanya sekitar 25% dari kecepatan Altair dan hanya dapat menyediakan 6KB RAM yang diemulasi (walaupun pada masa lalu itu akan menjadi banyak ). Kapasitas penyimpanan permanen (untuk menyimpan program/data yang dibuat di simulator) juga terbatas karena EEPROM Mega hanya menampung 4KB.
Arduino Due memiliki banyak memori untuk mendukung 64KB penuh dari emulasi RAM dan berjalan jauh lebih cepat daripada Mega. Selain itu, Due dapat menyimpan data ke memori flash saat dijalankan. Itu memungkinkan untuk menggunakan bagian mana pun dari flash 512K yang tidak digunakan oleh simulator itu sendiri untuk penyimpanan permanen.
Menggunakan Karena Saya sekarang memiliki simulator Altair 8800 yang berjalan pada kecepatan asli, menyediakan 64K RAM yang diemulasi, menyertakan banyak perangkat lunak Altair dan masih dapat menyediakan 32K penyimpanan semi-permanen untuk memuat dan menyimpan program dan data di emulator.
Tujuan saya untuk proyek ini adalah untuk sedekat mungkin dengan perasaan Altair 8800 "asli" saat bekerja dengan simulator. Itu termasuk membuat lampu panel depan mencerminkan perilaku nyata sebanyak mungkin. Salah satu kriteria untuk itu adalah kemungkinan memainkan game "Kill-the-Bit" panel depan - dan itu adalah:
Ternyata simulasinya cukup sesuai dengan aslinya sehingga bahkan demo musik Altair 8800 berfungsi. Perhatikan bahwa ini bergantung pada radio AM yang menangkap interferensi elektromagnetik yang dihasilkan oleh sirkuit Altair!
Kembali pada hari itu, Teknologi Prosesor merilis papan ekstensi kecil untuk Altair (hanya beberapa kapasitor dan resistor) dengan perangkat lunak yang menyertainya yang mengubah Altair menjadi sistem musik yang terhormat (untuk saat itu). Penambahan yang sama dapat dilakukan pada Simulator (lihat dokumentasi) yang memungkinkannya memainkan lagu yang dibuat untuk sistem musik saat itu. Ini contohnya:
Ekstensi lain yang penting secara historis untuk Altair adalah papan grafis Cromemco Dazzler. Menggunakan ekstensi perangkat lunak atau perangkat keras, Simulator juga dapat mengemulasi papan tersebut:
Namun ekstensi perangkat lunak/perangkat keras lain memungkinkan Simulator untuk meniru kartu grafis Teknologi Prosesor VDM-1:
Tentu saja pada akhirnya saya tidak memiliki Altair asli, jadi semua informasi tentang cara kerjanya harus berasal dari dokumen dan video (lihat pengakuan di bawah). Mungkin ada beberapa perbedaan kecil tetapi secara keseluruhan saya pikir itu mereproduksi perilaku aslinya dengan cukup baik. Satu perbedaan yang diketahui (dan disengaja) adalah lampu status HLDA:Pada aslinya, ini menandakan bahwa CPU telah mengakui dihentikan oleh perangkat eksternal. Fungsi ini tidak pernah digunakan dalam simulator, jadi ini menandakan bahwa file (serial/tape capture/replay) sedang dibuka.
Sorotan
Saat menggunakan Due, ketahuilah bahwa semua yang diambil atau disimpan dalam simulator akan terhapus jika Anda mengunggah versi sketsa baru ke Due. Ini karena data yang disimpan disimpan dalam memori flash yang terhapus saat mengunggah sketsa baru (Dua tidak memiliki EEPROM untuk penyimpanan permanen). Jika kartu SD dihubungkan ke Due, data yang disimpan disimpan di kartu SD. Dalam hal ini, data tidak akan hilang saat mengunggah sketsa baru.
Dokumentasi
Karena simulator bekerja persis sama dengan Altair 8800, dokumentasi Altair asli (mudah ditemukan di Google), akan memberikan semua informasi yang diperlukan untuk mengoperasikan sakelar panel depan.
Namun, simulator memang menyertakan sejumlah fungsi tambahan dan perangkat lunak bawaan untuk Altair yang dapat diakses melalui sakelar AUX1/AUX2 di panel depan (yang disertakan tetapi tidak digunakan pada Altair asli). Fungsionalitas itu dijelaskan dalam dokumen terpisah yang saya tulis saat mengembangkan perangkat lunak untuk Simulator. Dokumen ini memiliki banyak halaman dan informasi yang terkandung di dalamnya akan memenuhi halaman ini, jadi silakan merujuk ke file Documentation.pdf di repositori sumber.
Instruksi pembuatan
Salah satu tujuannya adalah menggunakan sirkuit pendukung sesedikit mungkin. Baik Arduino Mega maupun Due memiliki cukup pin I/O untuk menghubungkan semua elemen panel depan secara langsung. Satu-satunya sirkuit tambahan yang diperlukan adalah transistor dan resistor untuk menggerakkan 36 LED (jika LED terhubung langsung ke pin output Aruino dan terlalu banyak dihidupkan pada saat yang sama, arus total akan melebihi batas Arduino).
Membuat skema lengkap untuk proyek ini akan membosankan, berulang (36 sirkuit driver LED identik, kabel untuk 32 sakelar) dan tidak terlalu membantu. Jadi dokumen skema malah berisi tabel terperinci tentang elemen mana yang terhubung ke pin Arduino mana dan skema untuk masing-masing sub-sirkuit (seperti driver LED). Saya juga menambahkan file Fritzing untuk menunjukkan tata letak komponen driver LED pada stripboard.
Untuk membuat panel depan, saya mulai dengan pindaian panel depan Altair berkualitas tinggi (ditemukan di sini di www.vintage-computer.com) dan mencetaknya di toko fotokopi ke kartu stok. Untuk bagian belakangnya (untuk benar-benar menahan sakelar dan LED di tempatnya) saya menggunakan lembaran logam ukuran 22, menggunakan bor listrik biasa untuk membuat lubang untuk LED dan sakelar. Sirkuit driver LED disolder pada potongan stripboard yang disolder langsung ke LED yang pada gilirannya ditahan oleh lembaran logam.
Panel depan dipegang di tempat dan tegak oleh kotak kayu sederhana. Kotaknya tidak sedalam Altair aslinya (karena hanya untuk menahan panel depan dan Arduino).
Untuk memasang sakelar On/Off panel depan, saya hanya menambahkan soket listrik (sama seperti pada Arduino itu sendiri) ke kotak, menyambungkannya ke sakelar panel depan dan dari sana ke steker listrik yang dihubungkan ke Arduino.
Saat menggunakan Arduino Due, emulasi hingga 16 88-DCDD disk drive dapat diaktifkan dengan menghubungkan kartu SD ke port SPI Due. Halaman terakhir dalam dokumen Skema menunjukkan pengkabelan yang diperlukan secara detail.
Sebelum mengunggah sketsa ke Arduino Due, pastikan untuk mengubah pengaturan pengoptimalan kompiler Arduino ke "kinerja". Secara default diatur ke "ukuran" (tidak yakin mengapa karena Due memiliki memori flash 512k). Untuk melakukannya, muat file
c:\Users\[user]\AppData\Local\Arduino15\packages\arduino\hardware\sam\1.6.9\platform.txt
ke editor teks dan ubah kemunculan "-Os" menjadi "-O3". Anda dapat melewati langkah ini tetapi simulator akan berjalan jauh lebih lambat.
Perangkat lunak simulator juga dapat berjalan di Arduino (Mega atau Due) tanpa kontrol panel depan yang terhubung. Ini memungkinkan untuk menjalankan beberapa program yang disertakan (yang sebagian besar menggunakan terminal serial dan bukan elemen panel depan). Untuk melakukannya, edit config.h
file sumber dan atur #define STANDALONE 1
(bukan 0). Lihat bagian "Kemampuan debug" dalam dokumentasi untuk melihat cara mengoperasikan elemen panel depan virtual dalam pengaturan itu. Perlu diingat bahwa ini bukan tujuan penggunaan simulator. Saya sarankan menggunakan emulator semua perangkat lunak berbasis PC jika Anda tidak ingin membangun perangkat keras panel depan. config.h
file sumber berisi sejumlah sakelar yang menyertakan/mengecualikan fungsionalitas simulator. Pengaturan default berfungsi dengan baik tetapi jika Anda ingin mengubah simulator, ini adalah tempat untuk memulai.
Ucapan Terima Kasih
Karena saya sendiri tidak memiliki Altair, saya harus mengandalkan untuk mendapatkan informasi dari internet. Video instruksional Altair 8800 yang diproduksi oleh Mike Douglas (deramp5113) dari altairclone.com sangat membantu dan sangat menarik untuk ditonton. Selain memproduksi video, Mike telah mengumpulkan banyak manual perangkat keras dan perangkat lunak terkait Altair dan menyediakannya di situsnya.
(Perhatikan bahwa video Mike sangat membantu untuk mendapatkan beberapa ide tentang apa yang harus dilakukan dengan simulator setelah Anda membuatnya)
Alat ADEXER Martin Eberhard sangat berharga untuk men-debug dukungan hard drive tingkat rendah. Dia juga menulis dua boot loader yang digunakan oleh simulator:combo disk boot loader (CDBL) untuk boot disk dan mini-disk serta hard disk boot loader (HDBL) yang lebih pendek dan lebih stabil dari aslinya.
Sementara saya menulis semua kode termasuk emulasi CPU sendiri, saya mengambil beberapa inspirasi dari proyek model inti i8080 ketika datang untuk mendapatkan perhitungan setengah-carry dan instruksi DAA diimplementasikan secara efisien.
Simulator ini menyertakan beberapa perangkat lunak asli untuk Altair 8800. Terima kasih banyak lainnya kepada Mike Douglas yang menghabiskan waktu berjam-jam untuk memburu, mengumpulkan, dan membuat perangkat lunak ini berfungsi dan kemudian membuat semuanya tersedia di situs web altairclone.com-nya:
Gambar disk dan hard disk (termasuk dalam subdirektori "disk" dari arsip sumber) juga diambil dari altairclone.com serta deramp.com (situs web pribadi Mike Douglas). Ini termasuk CP/M, berbagai versi disk BASIC, Altair DOS (termasuk Fortran) dan banyak lagi. Sekali lagi, Mike telah melakukan pekerjaan luar biasa dengan menemukan semua perangkat lunak itu dan kemudian membuat gambar disk yang berfungsi yang dapat digunakan oleh komunitas Altair. Saya hanya menggunakan perangkat lunak pilihan sehingga Anda mungkin ingin mengunjungi altairclone.com atau deramp.com dan melihat lebih banyak lagi.
Forum Diskusi
Chris Davis dari Altairduino.com telah menyiapkan Grup Google untuk mendiskusikan pertanyaan terkait Altair-Duino:
https://groups.google.com/forum/#!forum/altair-duino
Jangan ragu untuk mengunjungi dan berkontribusi dalam diskusi!
Proses manufaktur
Komponen dan persediaan Arduino Mega 2560 × 1 Alat dan mesin yang diperlukan Jigsaw Aplikasi dan layanan online Arduino IDE Tentang proyek ini Ini adalah lift 5 lantai yang berfungsi. Tingginya 3 kaki. Kami bekerja keras untuk ini. Mari kita mu
Komponen dan persediaan Arduino UNO × 1 Sensor Pencari Jangkauan ToF SparkFun - VL6180 VL53L0X untuk jarak jauh dan VL6180X untuk jarak dekat. disini saya menggunakan VL6180X × 1 motor servo × 1 Aplikasi dan layanan online Arduino IDE Memproses
Komponen dan persediaan Arduino MKR1000 × 1 Klik Lingkungan MikroE × 1 Alat dan mesin yang diperlukan Kabel jumper Adafruit Wanita/Wanita Aplikasi dan layanan online Arduino IDE WolkAbout IoT Platform Tentang proyek ini
Komponen dan persediaan Arduino UNO Semua jenis Uno dapat digunakan. Saya memiliki Geekcreit Uno yang berfungsi dengan baik. × 1 Breadboard (generik) × 1 Kabel jumper (generik) Diperlukan Pria/Pria × 1 LED (generik) Anda membutuhkan lampu merah, hijau, dan biru