حاسوب توجيه أبولو  كان حاسوب توجيه أبولو كمبيوتر رقمي تم إنتاجه لبرنامج Apollo والذي تم تثبيته على متن كل وحدة الخدمة Apollo (CM) ووحدة Apollo Lunar (LM). قدم الحاسوب الحسابات والواجهات الإلكترونية للتوجيه والملاحة والتحكم في المركبة الفضائية. كان حاسوب توجيه أبولو أول كمبيوتر يعتمد على دوائر السيليكون المتكاملة . كان أداء الكمبيوتر مشابهًا للجيل الأول من أجهزة الكمبيوتر المنزلية من أواخر السبعينيات ، مثل Apple II وTRS-80 و Commodore PET .  يبلغ طول الكلمة الحاسوب 16 بت ، مع 15 بتة بيانات وبت تماثل واحد. ويتم تخزين معظم البرامج الموجودة على الحاسوب AGC في ذاكرة خاصة للقراءة فقط تُعرف باسم ذاكرة الحبل الأساسي ، والتي تم تشكيلها عن طريق نسج الأسلاك عبر النوى الحديدية المغناطيسية وحولها ، على الرغم من توفر كمية صغيرة من ذاكرة القراءة / الكتابة الأساسية .  تواصل رواد الفضاء مع الحاسوب AGC باستخدام شاشة رقمية ولوحة مفاتيح تسمى DSKY (بالنسبة إلى "الشاشة ولوحة المفاتيح" ، وتُنطق "DIS-kee"). تم تطوير AGC وواجهة مستخدم DSKY الخاصة به في أوائل الستينيات من القرن الماضي لبرنامج Apollo بواسطة مختبر MIT Instrumentation ، وقد طار لأول مرة في عام 1966.  طار رواد الفضاء يدويًا خلال مشروع جيميني باستخدام عصي التحكم ، لكن أجهزة الكمبيوتر AGC وجهت معظم مشروع أبولو باستثناء فترة وجيزة أثناء الهبوط على سطح القمر. حملت كل رحلة قمرية اثنين من الكمبيوتر AGC ، واحدة في وحدة القيادة ووحدة أبولو القمرية ، باستثناء أبولو 8 التي لم تكن بحاجة إلى وحدة قمرية لمهمتها في مدار القمر. كان الحاسوب AGC في وحدة القيادة هو مركز نظام التوجيه والملاحة والتحكم (GNC). أدار حاسوب توجيه أبولو في الوحدة القمرية Apollo PGNCS (نظام التوجيه والملاحة والتحكم الأساسي) ، مع نطق الاختصار "pings" . كان لكل مهمة قمرية جهازي كمبيوتر إضافيين:   تم تصميم AGC في مختبر MIT للأجهزة تحت إشراف Charles Stark Draper ، مع تصميم الأجهزة تحت إشراف إلدون سي هول . جاءت الأعمال البنائية ة المبكرة من جيه إتش لانينج جونيور وألبرت هوبكنز وريتشارد باتين ورامون ألونسو وهيو بلير سميث. تم تصنيع معدات الطيران بواسطة شركة Raytheon ، والتي كان Herb Thaler أيضًا عضوًا في فريق البنية.  بعد استخدام شرائح الدوائر المتكاملة في منصة المراقبة بين الكواكب في عام 1963 ، تم اعتماد تقنية IC لاحقًا لـلكمبيتر AGC. كان كمبيوتر رحلة أبولو هو أول كمبيوتر يستخدم رقائق السيليكون .  بينما استخدمت نسخة Block I عدد 4100 وحدة IC متكاملة ، تحتوي كل منها على بوابة NOR واحدة ثلاثية المدخلات ، استخدم الإصدار الأخير من Block II (المستخدم في الرحلات المأهولة) حوالي 2800 وحدة متكاملة ، معظمها بوابات NOR مزدوجة ثلاثية المدخلات وأعداد أصغر من الموسعات والاستشعار والمكبرات الإلكترونية. تم تنفيذ الدوائر المتكاملة ، من Fairchild Semiconductor ، باستخدام منطق الترانزستور المقاوم (RTL) في حزمة مسطحة . تم توصيلهم عن طريق لف الأسلاك ، ثم تم دمج الأسلاك في بلاستيك الايبوكسي المصبوب.   أدى استخدام نوع واحد من IC (NOR3 المزدوج) في جميع أنحاء AGC إلى تجنب المشكلات التي ابتليت بتصميم كمبيوتر IC آخر مبكرًا ، وهو كمبيوتر التوجيه Minuteman II ، والذي استخدم مزيجًا من منطق الصمام الثنائي والترانزستور والبوابات المنطقية للديود .  بوابات NOR هي بوابات منطقية عالمية يمكن من خلالها إنشاء أي بوابة أخرى ، وإن كان ذلك على حساب استخدام المزيد من البوابات.  كان الكمبيوتر يحتوي على 2048 كلمة من ذاكرة النواة المغناطيسية القابلة للمسح و 36864 كلمة من ذاكرة الحبل الأساسية للقراءة فقط . كلاهما كان له وقت دورة 11.72 ميكروثانية. كان طول كلمة الذاكرة 16 بت: 15 بت من البيانات وبت واحدًا متماثلًا. كان تنسيق كلمة وحدة المعالجة المركزية الداخلية 16 بت 14 بتًا من البيانات ، وبت تجاوز واحد ، وبت تسجيل واحد (تمثيل مكمل واحد ).   كانت واجهة المستخدم الخاصة بـ AGC هي "DSKY" ، وهي تعني "الشاشة ولوحة المفاتيح" وعادة ما تُنطق ""DIS-kee"." يحتوي على مجموعة من أضواء المؤشرات ، وشاشات رقمية ، ولوحة مفاتيح بنمط الآلة الحاسبة . تم إدخال الأوامر عدديًا ، كأرقام مكونة من رقمين: فعل ، وإسم . وصف "الفعل" نوع الإجراء الذي يتعين القيام به وحدد "الاسم" البيانات التي تأثرت بالإجراء المحدد بواسطة أمر الفعل (التفعيل).  تم عرض كل رقم عبر اللون الأخضر (المحدد كـ 530 نانومتر ) عرض سبعة أجزاء ذات توهج كهربائي عالي الجهد ؛ هذه كانت مدفوعة بالمرحلات الكهروميكانيكية ، مما يحد من معدل التحديث. يمكن أيضًا عرض ثلاثة أرقام موقعة من خمسة أرقام في نظامي ثماني أو عشري ، وعادة ما تستخدم لعرض متجهات مثل ارتفاع المركبة الفضائية أو تغيير السرعة المطلوب ( صاروخ دلتا- V ). على الرغم من تخزين البيانات داخليًا في هيئة وحدات مترية ، فقد تم عرضها كوحدات مألوفة للولايات المتحدة . كانت هذه الواجهة التي تشبه الآلة الحاسبة هي الأولى من نوعها.  تحتوي وحدة القيادة على اثنين من DSKYs متصلان بـ AGC: أحدهما موجود على لوحة العدادات الرئيسية والثاني يقع في حجرة المعدات السفلية بالقرب من آلة السدس المستخدمة لمحاذاة منصة التوجيه بالقصور الذاتي . تحتوي الوحدة القمرية على DSKY واحد من أجل AGC الخاص بها. تم وضع مؤشر موقف مدير الرحلة (FDAI) ، الذي يتحكم فيه AGC ، فوق DSKY على وحدة تحكم القائد وعلى LM.  جاء مرجع توقيت الحاسوب AGC من 2.048 MHz (ميغاهرتز) لساعة كريستال . تم تقسيم الساعة على اثنين لإنتاج 1.024 من أربع مراحل للساعة التي يستخدمها AGC لأداء العمليات الداخلية. 1.024 ميغاهرتز تم تقسيم ساعة بالميغاهرتز أيضًا على اثنين لإنتاج إشارة 512  كيلوهرتز kHz تسمى "التردد الرئيسي" ؛ وتم استخدام هذه الإشارة لمزامنة أنظمة مركبة الفضاء الخارجية أبولو.  كما تم تقسيم التردد الرئيسي من خلال مقاسات "رتبية" ، أولاً بخمسة باستخدام عداد حلقي لإنتاج إشارة 102.4  كيلو هرتز. ثم تم تقسيم هذا على مرحلتين إلى 17 مرحلة متتالية تسمى F1 (51.2 كيلو هرتز) حتى F17 (0.78125 هرتز). مرحلة F10 ( 100 هرتز) إلى AGC لزيادة ساعة الوقت الحقيقي والعدادات اللاإرادية الأخرى باستخدام نظام Pinc (تمت مناقشته أدناه). وتم استخدام المرحلة F17 لتشغيل AGC بشكل متقطع عندما كان يعمل في وضع "الاستعداد".  كان لدى AGC أربعة سجلات 16 بت للاستخدام الحسابي العام ، تسمى "السجلات المركزية" :   كانت هناك أيضًا أربعة مواقع في الذاكرة الأساسية ، في العناوين من 20 إلى 23 ، "مواقع التحرير" المُدبلجة لأن كل ما تم تخزينه هناك سيظهر مقلوبًا أو يتم تدويره بواسطة موضع بت واحد ، باستثناء واحد قام بتغيير مواضع بتات السبعة اليمنى ، لاستخراج واحد من السبعة - بت المرجع التفسيري . الرموز التي تم تجميعها من اثنين اختصرت في كلمة واحدة. كان هذا شائعًا في الحزمة الأولى( البلوك الأول) والبلوك الثاني في الحاسوبين AGC.  كان لدى حاسوب AGC سجلات إضافية تم استخدامها داخليًا أثناء التشغيل:   استخدم تنسيق التعليمات 3 بتات لرمز التشغيل و 12 بتًا للعنوان. يحتوي Block I على 11 تعليمات: codice_2 و codice_5 و codice_6 و codice_7 و codice_8 و codice_9 و codice_10 و codice_11 (أساسي) و codice_12 و codice_3 و codice_1 (إضافي). أول ثمانية ، تسمى "التعليمات الأساسية" ، تم الوصول إليها مباشرة من المرجع 3 بت. الشفرة. وتم الإشارة إلى الثلاثة الأخيرة على أنها "إرشادات extracode" لأنه تم الوصول إليها عن طريق تنفيذ نوع خاص من تعليمات codice_2 مباشرة .  تتكون تعليمات Block I AGC مما يلي:   تم تنفيذ التعليمات في مجموعات من 12 خطوة ، تسمى "نبضات التوقيت" . وتم تسمية نبضات التوقيت من TP1 إلى TP12. تم استدعاء كل مجموعة من 12 نبضة توقيت التعليمات "اللاحقة" . تعليمات بسيطة ، مثل TC ، يتم تنفيذها في تتابع واحد من 12 نبضة. تتطلب التعليمات الأكثر تعقيدًا العديد من التكرارات اللاحقة. استخدمت تعليمات المضاعفة ( codice_3 ) 8 تكرارات: أولية تسمى codice_59 ، متبوعة بـ codice_60 تالية والتي تكررت 6 مرات ، ثم تنتهي بـ codice_61 . تم تقليل هذا إلى 3 تتابعات لاحقة في Block II.  يمكن أن تؤدي كل نبضة توقيت في تالية لاحقة إلى ما يصل إلى 5 "نبضات تحكم" . كانت نبضات التحكم هي الإشارات التي أدت العمل الفعلي للتعليمات ، مثل قراءة محتويات السجل على الحافلة ، أو كتابة البيانات من الحافلة في السجل.  تم تنظيم ذاكرة Block I AGC في بنوك سعة 1100 كلمة. أدنى بنك (بنك 0) كان ذاكرة قابلة للمسح (RAM). جميع البنوك فوق البنك 0 كانت ذاكرة ثابتة (ROM). تحتوي كل تعليمات الحاسوب AGC على حقل عنوان 12 بت. تناولت البتات السفلية (1-10) الذاكرة داخل كل بنك. حدد البتتان 11 و 12 البنك: 00 حدد بنك الذاكرة القابل للمسح ؛ 01 اختار أدنى بنك (بنك 1) من الذاكرة الثابتة ؛ 10 تم اختيار التالي (البنك 2) ؛ وقام 11 باختيار السجل "المصرفي" الذي يمكن استخدامه لتحديد أي بنك أعلاه 2. كان يطلق على البنوك 1 و 2 اسم الذاكرة "الثابتة" ، لأنها كانت متوفرة دائمًا ، بغض النظر عن محتويات سجل البنك. كانت البنوك 3 وما فوق تسمى "ثابتة للتحويل" لأن البنك المحدد تم تحديده من خلال السجل المصرفي.  كان لدى Block I AGC في البداية 12 ألف كلمة في الذاكرة الثابتة ، ولكن تم زيادتها لاحقًا إلى 24 ألف. يحتوي Block II على 36 ألف كلمة من الذاكرة الثابتة و 2000 كلمة في الذاكرة القابلة للمسح.  قام AGC بنقل البيانات من وإلى الذاكرة من خلال سجل G في عملية تسمى "دورة الذاكرة" . أخذت دورة الذاكرة 12 نبضة توقيت (11.72 μs). بدأت الدورة عند توقيت النبض 1 (TP1) عندما قام AGC بتحميل عنوان الذاكرة ليتم جلبه في سجل S. استردت أجهزة الذاكرة كلمة البيانات من الذاكرة على العنوان المحدد بواسطة سجل S. تم إيداع الكلمات من الذاكرة القابلة للمسح في السجل G عن طريق توقيت النبض 6 (TP6) ؛ كانت الكلمات من الذاكرة الثابتة متاحة عن طريق توقيت النبض 7. كانت كلمة الذاكرة المسترجعة متاحة بعد ذلك في سجل G للوصول إلى AGC أثناء نبضات التوقيت من 7 إلى 10. بعد توقيت النبض 10 ، تمت إعادة كتابة البيانات الموجودة في سجل G إلى الذاكرة.  حدثت دورة ذاكرة AGC بشكل مستمر أثناء عملية AGC. كان على التعليمات التي تحتاج إلى بيانات الذاكرة الوصول إليها أثناء نبضات التوقيت 7-10. إذا قام AGC بتغيير كلمة الذاكرة في سجل G ، تتم إعادة كتابة الكلمة التي تم تغييرها إلى الذاكرة بعد توقيت النبض 10. بهذه الطريقة ، يتم تدوير كلمات البيانات بشكل مستمر من الذاكرة إلى السجل G ثم العودة مرة أخرى إلى الذاكرة.  تحتوي الأجزاء الخمسة عشر السفلية من كل كلمة ذاكرة على تعليمات أو بيانات AGC ، مع حماية كل كلمة بواسطة بتة تكافؤ فردية 16. تم ضبط هذا البت على 1 أو 0 بواسطة دارة مولد التكافؤ ، لذا فإن عدد 1s في كل كلمة ذاكرة سينتج دائمًا رقمًا فرديًا. قامت دائرة فحص التكافؤ باختبار بت التكافؤ خلال كل دورة ذاكرة ؛ إذا لم يتطابق البت مع القيمة المتوقعة ، يُفترض أن كلمة الذاكرة تالفة وأن ضوء لوحة "إنذار التكافؤ" مضاء.  كان لدى الحاسوب AGC خمس مقاطعات متجهة :   استجاب الحاسوب AGC لكل مقاطعة من خلال تعليق البرنامج الساري مؤقتًا ، وتنفيذ روتين خدمة مقاطعة قصيرة ثم استئناف البرنامج الذي حدث فيه قطع.  كان لدى AGC أيضًا 20 عدادًا لا إراديًا . كانت هذه مواقع الذاكرة التي تعمل كعدادات لأعلى / لأسفل ، أو سجلات التحول. ستزداد العدادات أو تنقص أو تتحول استجابةً للمدخلات الداخلية. تم التعامل مع الزيادة ( "Pinc" ) ، أو التناقص ( "Minc" ) ، أو التحول ( "Shinc" ) من خلال أحد التعليمات الدقيقة التي تم إدخالها بين أي تعليمتين عاديتين.  يمكن تشغيل المقاطعات عندما تفيض العدادات. وتم إنتاج المقاطعات T3rupt و Dsrupt عندما كانت عداداتهم مدفوعة بـ 100 هرتز لكل ساعة جهاز ، فاضت بعد تنفيذ العديد من عمليات Pinc اللاحقة. تم تشغيل مقاطعة Uprupt بعد أن تحول عدادها الذي ينفذ Shinc اللاحقة 16 بت من بيانات الإرسال في AGC.  كان لدى AGC وضع توفير الطاقة يتم التحكم فيه بواسطة مفتاح "الاستعداد المسموح به" . قام هذا الوضع بإيقاف تشغيل طاقة AGC ، باستثناء 2.048  MHz ومدرج التقسيم scaler . أعادت إشارة F17 من scaler تغيير طاقة AGC و AGC مرة أخرى في فواصل زمنية مقدارها 1.28 ثانية. في هذا الوضع ، يقوم AGC بأداء الوظائف الأساسية ، وفحص مفتاح الاستعداد المسموح به ، وإذا كان لا يزال ممكّنًا ، فيقوم بإيقاف تشغيل الطاقة وإعادته إلى وضع السكون حتى إشارة F17 التالية.  في وضع الاستعداد يظل AGC ساكنا معظم الوقت ؛ لذلك لم يكن نشطا لتنفيذ تعليمات Pinc اللازمة لتحديث ساعة الوقت الحقيقي لـ AGC في الساعة على فترات 10 مللي ثانية. للتعويض ، كانت إحدى الوظائف التي يؤديها AGC في كل مرة ينشط فيها في وضع الاستعداد هي تحديث ساعة الوقت الحقيقي بمقدار 1.28 ثانية.  تم تصميم وضع الاستعداد لتقليل الطاقة بمقدار 5 إلى 10 W (من 70 W) أثناء رحلة منتصف المسار عندما لا تكون هناك حاجة إلى الحاسوب AGC. ومع ذلك ، فمن الناحية العملية ، تم ترك AGC قيد التشغيل خلال جميع مراحل المهمة ولم يتم استخدام هذه الميزة مطلقًا.  كان لدى AGC ناقل قراءة 16 بت وناقل كتابة 16 بت. البيانات من السجلات المركزية (A ، Q ، Z ، أو LP) ، أو غيرها من السجلات الداخلية يمكن وضعها في بوابة القراءة مع إشارة تحكم. ناقل القراءة متصل بناقل الكتابة من خلال مخزن مؤقت غير مقلوب ، لذا فإن أي بيانات تظهر على ناقل القراءة تظهر أيضًا في ناقل الكتابة. يمكن لإشارات التحكم الأخرى نسخ بيانات ناقل الكتابة إلى السجلات.  يحتوي Block II AGC أيضًا على تعليمات codice_62 (الاسم هو تقلص "Ed's Interrupt" ، بعد Ed Smally ، المبرمج الذي طلب ذلك). لا تؤدي هذه التعليمات إلى حدوث مقاطعة ، ولكنها تؤدي إجراءين شائعين لمقاطعة المعالجة. الإجراء الأول ، يمنع المزيد من المقاطعات (ويتطلب تعليمات codice_37 لتمكينها مرة أخرى). في الإجراء الثاني ، يتم تحميل سجل codice_64 بالقيمة الحالية لعداد البرنامج (Z). تم استخدامه مرة واحدة فقط في برنامج Apollo ، لإعداد تسلسل إنهاء دورة DAP في الطيار الآلي الرقمي للوحدة القمرية . يُعتقد أنه مسؤول عن مشاكل محاكاة برنامج LEM AGC Luminary .  أصدرت PGNCS تحذيرات غير متوقعة أثناء هبوط أبولو 11 على سطح القمر ، حيث أظهر AGC "إنذار 1202" ("تجاوز تنفيذي - لا توجد مجموعات أساسية") ، ثم "إنذار 1201" ("تجاوز تنفيذي - لا توجد مناطق هبوط VAC"). كانت استجابة AGC لأي من الإنذارين هي إعادة تشغيل بسيطة. كان السبب هو التدفق السريع والمستمر لدورات استقبال زائفة من رادار الالتقاء (تتبع وحدة القيادة الموجودة في المدار) ، وقد تركت عمدًا في وضع الاستعداد أثناء الهبوط في حالة الحاجة إليها لوقف عملية الهبوط.  خلال هذا الجزء من النهج ، يتم تحميل المعالج بنسبة 85٪ تقريبًا. تسببت الدورة الإضافية البالغة 6400 من دورات التقييم في أضاعات في ثانية ما يعادل 13٪ من الحمل ، مما يترك وقتًا كافيًا لتشغيل جميع المهام المجدولة حتى الاكتمال. بعد خمس دقائق من الهبوط ، أعطى Buzz Aldrin للكمبيوتر الأمر "1668" ، والذي أمره بحساب الفرق DELTAH بشكل دوري (الفرق بين الارتفاع الذي يشعر به الرادار والارتفاع المحسوب). أضاف الأمر "1668" 10٪ أخرى إلى عبء عمل المعالج ، مما تسبب في تجاوز تنفيذي وانطلاق الإنذار "1202" . وبعد حصوله على "GO" من هيوستن لمتابعة الهبوط ، أدخل ألدرين الأمر "1668" مرة أخرى فحدث إنذار آخر "1202" . وعند الإبلاغ عن الإنذار الثاني ، أضاف ألدرين التعليق "يبدو أنه يظهر عندما يكون لدينا ارتفاعا في أداء الحاسوب" بسبب الأمر الإضافي "1668" الذي أضاف 10% من عبء الحاسوب. تم تصميم برنامج AGC مع جدولة الأولوية ، واستعادته تلقائيًا ، وحذف المهام ذات الأولوية المنخفضة بما في ذلك مهمة العرض "1668" لإكمال مهام التوجيه والتحكم الحرجة. أصدر مراقب التوجيه ستيف باليس من هيوستن وفريق الدعم الذي يضم "جاك جارمان" عدة مكالمات "GO" وكان الهبوط ناجحًا. لدوره ، حصل "باليس "على وسام الحرية الرئاسي الأمريكي نيابة عن فريق مركز التحكم بأكمله ورواد فضاء أبولو الثلاثة.  لم تكن المشكلة خطأ برمجي في AGC ، ولم تكن خطأ تجريبيًا. لقد كان خطأ في تصميم الأجهزة الطرفية كان معروفًا بالفعل ووثق من قبل مهندسي Apollo 5. ومع ذلك ، نظرًا لأن المشكلة حدثت مرة واحدة فقط أثناء الاختبار ، فقد خلصوا إلى أنه كان من الآمن الطيران باستخدام الأجهزة الموجودة التي اختبروها بالفعل ، بدلاً من الطيران باستخدام نظام رادار أحدث ولكن لم يتم اختباره إلى حد كبير. في الأجهزة الفعلية ، تم ترميز موضع رادار الالتقاء مع التزامن المتحمس بواسطة مصدر مختلف يبلغ 800 هرتز AC من الذي يستخدمه الكمبيوتر كمرجع توقيت. الاثنان بتردد 800  هرتز كانت مصادر مغلقة التردد ولكن لم يتم قفل الطور ، وجعلت اختلافات الطور العشوائية الصغيرة تبدو كما لو أن الهوائي "يتردد" بسرعة في موضعه ، على الرغم من أنه كان ثابتًا تمامًا. ولـّدت هذه الحركات الوهمية سلسلة سريعة من سرقات الدورة.  أنقذ البرنامج الذي ألفه Halcombe Laning وتصميم الكمبيوتر مهمة هبوط أبولو 11. لولا تصميم "لانينج" ، لكان الهبوط قد أُجهض لعدم وجود جهاز كمبيوتر توجيه مستقر.  شكg الحاسوب AGC أساس نظام تجريبي للطيران بالسلك (FBW) ؛ ثبت في الطائرة F-8 Crusader لإثبات التطبيق العملي للطيران بالسلك المدفوع بالكمبيوتر. وتم استبدالحاسوب AGC المستخدم في المرحلة الأولى من البرنامج بآلة أخرى في المرحلة الثانية ، وأدى البحث الذي تم إجراؤه على البرنامج إلى تطوير أنظمة الطيران بالسلك لمكوك الفضاء . كما أدى AGC - وإن كان بشكل غير مباشر - إلى تطوير أنظمة fly-by-wire لجيل المقاتلين التي تم تطويرها في ذلك الوقت.  تم استخدام الحاسوب AGC أيضًا لمركبة الإنقاذ الغاطسة العميقة التابعة للبحرية الأمريكية .  في عام 2003 ، بدأ Ron Burkey جهدًا لاستعادة الكود المصدري الذي يعمل على تشغيل حاسوب AGC وبناء محاكيا قادرا على تشغيله ، وهو VirtualAGC. تم تحميل جزء من الكمية الكبيرة من التعليمات البرمجية المصدر التي تم إنقاذها نتيجة لهذا الجهد بواسطة متدرب سابق في وكالة ناسا إلى GitHub في 7 يوليو 2016 ، مما جذب انتباه وسائل الإعلام بشكل كبير. تم توفير كود مصدر Apollo 11 Guidance Computer الأصلي في الأصل في عام 2003 من خلال مشروع Virtual AGC ومتحف MIT . تم نسخها ورقمتها من قوائم التعليمات البرمجية الأصلية ذات النسخ المطبوعة التي تم إجراؤها في الستينيات. في منتصف عام 2016 ، قام المتدرب السابق في وكالة ناسا ، كريس جاري ، بتحميل كود مصدر AGC على GitHub .