Pada tanggal 20 Juli 2009, untuk menghormati peringatan 40 tahun pendaratan di bulan, cetakan dengan kode sumber program untuk komputer onboard Apollo Guidance Computer (AGC) telah didigitalkan dan diposting di Internet . Tujuh tahun telah berlalu - dan sekarang contoh unik dari sejarah komputer ini telah menerima kehidupan kedua. Saat ini, kode sumber untuk AGC dalam assembler diterbitkan di Github secara keseluruhan, terbuka untuk pencarian, komentar, garpu, dll.Dalam kode Anda dapat menemukan panggilan kesalahan terkenal dengan kode 1201 dan 1202 , yang sangat dikhawatirkan Neil Armstrong, dan banyak lagi.Di Github, repositori Apollo-11 dengan cepat menempati posisi pertama dalam daftar repositori terpopuler per hari (tidak ada keraguan bahwa dalam peringkat mingguan ia akan menempati peringkat pertama besok). Benar-benar ada sesuatu untuk dilihat. Sangat menarik untuk membaca beberapa nama prosedur ( BURN_BABY_BURN - MASTER_IGNITION_ROUTINE.s ) dan komentar dalam kode asli.CAF CODE500 # ASTRONAUT: PLEASE CRANK THE
TC BANKCALL # SILLY THING AROUND
CADR GOPERF1
TCF GOTOP00H # TERMINATE
TCF P63SPOT3 # PROCEED SEE IF HE'S LYING
TC BANKCALL # ENTER INITIALIZE LANDING RADAR
CADR SETPOS1
TC POSTJUMP # OFF TO SEE THE WIZARD ...
CADR BURNBABY
Program ini memiliki kode "sementara", seperti dalam banyak program modern.TC BANKCALL # TEMPORARY, I HOPE HOPE HOPE
CADR STOPRATE # TEMPORARY, I HOPE HOPE HOPE
TC DOWNFLAG # PERMIT X-AXIS OVERRIDE
Dan inilah versi komentar populer tahun 1969 , "This Must Never Happen."CA A
Tiket pertama
telah dibuat di repositori Github - sebuah diskusi tentang "bug" yang perlu diperbaiki dalam program.Pengembang SilverWingedSeraph menulis: "Satu pengguna memiliki masalah yang agak serius dengan pencampuran kriogenik dalam tangki oksigen dengan munculnya pesan kesalahan." Untuk mereproduksi kesalahan dalam program, ulangi urutan tindakan berikut:- Bangun modul layanan.
- Terbang ke orbit bulan.
- Di orbit bulan, mulailah mencampur dalam tangki oksigen.
โJika ada masalah dengan perkabelan dalam modul, maka kesalahan dapat direproduksi. Hati-hati, karena situasinya bisa berbahaya bagi penguji yang mencoba mereproduksi kesalahan, โkata pengembang di Github, bukan tanpa rasa humor.Tentu saja, maksudnya adalah kecelakaan terkenal dengan peralatan modul layanan Apollo 13, setelah itu modul harus segera dikembalikan ke Bumi menggunakan manuver luar biasa.Secara umum, saat ini hanya satu salinan fisik dari cetakan program modul bulan yang telah disimpan . Buku cetakan disimpan di Museum Institut Teknologi Massachusetts.Kode program ditulis oleh Don Islesdengan kolega. Isles secara pribadi adalah penulis sekitar 2.000 baris kode yang bertanggung jawab atas pendaratan modul bulan.Anda dapat mencoba menjalankan perintah kontrol Apollo di emulator (ini hanya simulator komputer, tanpa wahana antariksa itu sendiri). Emulator
komputer pesawat ruang angkasa
Apollo Instruksi emulatorApollo Perintah Apollo Command Module (CM) dan Lunar Module (LM) secara otomatis mendarat di permukaan bulan. Komputer mengendalikan motor dan servomotor secara real time. Komputer kendali on-board
Apollo pesawat ruang angkasa
Layar komputer kontrol di-papanManajemen dilakukan oleh Apollo Guidance Computer (AGC). Komputer on-board dilengkapi dengan OS waktu nyata dengan dukungan multithreading, ia mengendalikan semua sistem, menerima sinyal dari radar, teleskop, giroskop, dan akselerometer.Buku " Digital Apollo " menjelaskan dengan baik bagaimana program memprioritaskan dan mengalokasikan waktu CPU.
Spesifikasi teknis komputer kendali on-board pesawat ruang angkasa ApolloStandar waktu AGC ditetapkan oleh resonator kuarsa dengan frekuensi 2,048 MHz. Memori komputer terdiri dari 2048 kata RAM yang dapat ditulis ulang dan 36 K kata-kata ROM dengan pengambilan sampel linier pada beberapa inti yang dijahit. Siklus baca-tulis RAM dan ROM mengambil 11,72 ฮผs. Panjang kata adalah 16 bit: 15 bit data dan 1 bit paritas. Format kata 16-bit prosesor termasuk 14 bit data, bit melimpah, dan bit tanda.Lihat juga:Panduan Pemrograman Komputer Panduan Bimbingan Apollo