Compare commits
No commits in common. "master" and "gh-pages" have entirely different histories.
243 changed files with 125 additions and 138344 deletions
|
|
@ -1,15 +0,0 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.agc]
|
||||
indent_style = tab
|
||||
tab_width = 8
|
||||
|
||||
[*.md]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
5
.github/ISSUE_TEMPLATE/Discussion.md
vendored
5
.github/ISSUE_TEMPLATE/Discussion.md
vendored
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
name: Discussion & Questions
|
||||
about: Discussion about the Apollo 11 source code is highly welcomed.
|
||||
labels: "Type: Discussion"
|
||||
---
|
||||
5
.github/ISSUE_TEMPLATE/Humour.md
vendored
5
.github/ISSUE_TEMPLATE/Humour.md
vendored
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
name: Humour / Jokes
|
||||
about: Humourous issues are allowed, but please follow GitHub's Acceptable Use policies
|
||||
labels: "Type: Humour"
|
||||
---
|
||||
15
.github/ISSUE_TEMPLATE/Proof_Comanche.md
vendored
15
.github/ISSUE_TEMPLATE/Proof_Comanche.md
vendored
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
name: Proof Comanche055
|
||||
about: Template for Comanche055 Proof issues
|
||||
title: "Proof "
|
||||
---
|
||||
Proof read transcribed code of [](//github.com/chrislgarry/Apollo-11/blob/master/Comanche055/.agc) against scans
|
||||
|
||||
**Multiple PRs for a few pages at a time are recommended!**
|
||||
|
||||
Lines:
|
||||
Page: — ()
|
||||
|
||||
Reduced quality scans can be found [here][1]
|
||||
|
||||
[1]://ibiblio.org/apollo/ScansForConversion/Comanche055
|
||||
15
.github/ISSUE_TEMPLATE/Proof_Luminary.md
vendored
15
.github/ISSUE_TEMPLATE/Proof_Luminary.md
vendored
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
name: Proof Luminary099
|
||||
about: Template for Luminary099 Proof issues
|
||||
title: "Proof "
|
||||
---
|
||||
Proof read transcribed code of [](//github.com/chrislgarry/Apollo-11/blob/master/Luminary099/.agc) against scans
|
||||
|
||||
**Multiple PRs for a few pages at a time are recommended!**
|
||||
|
||||
Lines:
|
||||
Page: — ()
|
||||
|
||||
Reduced quality scans can be found [here][1]
|
||||
|
||||
[1]://ibiblio.org/apollo/ScansForConversion/Luminary099
|
||||
9
.github/PULL_REQUEST_TEMPLATE.md
vendored
9
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
|
@ -1,9 +0,0 @@
|
|||
<!-- Proofing PRs:
|
||||
1. Title should follow "Proof [FILE NAME] #[PROOF ISSUE]", e.g:
|
||||
"Proof ALARM_AND_ABORT #564"
|
||||
2. Mention pages checked if you have not proofed the entire file
|
||||
|
||||
--><!-- New README/CONTRIBUTING PRs:
|
||||
1. Title should follow "Add [LANGUAGE] [README|CONTRIBUTING]", e.g:
|
||||
"Add Dutch README"
|
||||
-->
|
||||
6
.github/labeler.yml
vendored
6
.github/labeler.yml
vendored
|
|
@ -1,6 +0,0 @@
|
|||
"Type: Proof":
|
||||
- "**/*.agc"
|
||||
"Type: Meta":
|
||||
- "**/MAIN.agc"
|
||||
- "**/*.md"
|
||||
- "*.md"
|
||||
13
.github/workflows/label.yml
vendored
13
.github/workflows/label.yml
vendored
|
|
@ -1,13 +0,0 @@
|
|||
name: Pull Request Labeler
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 */3 * * *'
|
||||
jobs:
|
||||
labeler:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: paulfantom/periodic-labeler@master
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GITHUB_REPOSITORY: ${{ github.repository }}
|
||||
LABEL_MAPPINGS_FILE: .github/labeler.yml
|
||||
10
.github/workflows/markdownlint.yml
vendored
10
.github/workflows/markdownlint.yml
vendored
|
|
@ -1,10 +0,0 @@
|
|||
name: markdownlint
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
delivery:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v3
|
||||
- name: Run mdl
|
||||
uses: actionshub/markdownlint@2.0.2
|
||||
1
.mdlrc
1
.mdlrc
|
|
@ -1 +0,0 @@
|
|||
rules '~MD007', '~MD010', '~MD013', '~MD026', '~MD033', '~MD036'
|
||||
|
|
@ -1,167 +0,0 @@
|
|||
<div dir="RTL">
|
||||
|
||||
# المساهمة
|
||||
|
||||
🎌
|
||||
[Čeština][CZ]،
|
||||
[Dansk][DA]،
|
||||
[Deutsch][DE]،
|
||||
[English][EN]،
|
||||
[Español][ES]،
|
||||
[Français][FR]،
|
||||
[Italiano][IT]،
|
||||
[Kurdi][KU]،
|
||||
[Lietuvių][LT]،
|
||||
[Nederlands][NL]،
|
||||
[Norsk][NO]،
|
||||
[Polski][PL]،
|
||||
[Português][PT_BR]،
|
||||
[Türkçe][TR]،
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR]،
|
||||
**العربية**،
|
||||
[日本語][JA]،
|
||||
[正體中文][ZH_TW]،
|
||||
[简体中文][ZH_CN]،
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
تمّت رقمنة الكود المصدر في هذا المستودع يدويًا من مطبوعات ورقية، لذلك طرأت أخطاء طباعية و تباينات أخرى سهوًا. يجب تعديل الكود ليتّفق مع المسوحات الضوئية للطبعات التالية:
|
||||
|
||||
- [طبعات AGC لكود Comanche][8]
|
||||
- [طبعات AGC لكود Luminary][9]
|
||||
|
||||
## ملحقات مفيدة
|
||||
|
||||
يحوي GitHub دعمًا للتلوين النحويِّ للغة التجميع AGC، و مع أنّ محررات الكود الشائعة لا تدعم ذلك، إلا أنه ثمّة ملحقات توفر الدعم للغة AGC لكلٍ مِنْ المحررات التالية:
|
||||
|
||||
- [Atom][Atom]۞
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
۞ يدعم التنسيق الآلي
|
||||
|
||||
## التنسيق
|
||||
|
||||
**ملاحظة:** GitHub و الملحقات المذكورة أعلاه تضمن تلقائيًّا استخدام التنسيق الصحيح.
|
||||
|
||||
- استخدام علامة الجدولة للإزاحة أوّل السطر.
|
||||
- تعيين طول علامة الجدولة بثمان مسافات.
|
||||
- حذف المسافات اللاحقة للنصوص في السطر
|
||||
|
||||
## المطلوب التحقّق منه
|
||||
|
||||
التباينات بين المسوحات الضوئية و الكود المصدر في هذا المستودع، بما في ذلك:
|
||||
|
||||
### التعليقات
|
||||
|
||||
يجب أن تتطابق التعليقات في الكود المنسوخ مع ما في المسوحات حرفيًّا
|
||||
|
||||
من الجوانب التي ينبغي تحرّيها عند المراجعة:
|
||||
|
||||
#### الأخطاء الطباعية
|
||||
في بعض المواضع وقع مطوّرو البرمجية في أخطاء طباعية أثناء إدخال نصوص التعليقات، و قد تم تصويب بعض تلك الأخطاء من باب الخطأ في أثناء إنجاز الرقمنة ابتداءً، كما طرأت أخطاء أثناء الرقمنة لم توجد في الأصل.
|
||||
|
||||
على سبيل المثال، إذا تضمّنت التعليقات في الكود في المستودع كلمة `SPACECRAFT` بينما وجدت في الموضع المقابل في المسوحات الضوئية `SPAECRAFT` فيجب تصويب النص إلى `SPAECRAFT` بإغفال حرف `C`
|
||||
|
||||
كذلك إذا وُجد في كلمة في الكود المٌرقمَن خطأ طباعي غير موجود في المسوحات الضوئية فيجب تصويبه.
|
||||
|
||||
#### المسافات
|
||||
|
||||
يجب أن تُطابِق المسافات بين الأحرف في الكود المُرقمَن نظيراتها في المسوحات الضوئية، و ذلك يكون على النحو التالي في أغلب الحالات (طالعوا النقاش في [#316][10]):
|
||||
|
||||
- مسافة واحدة بين الكلمات
|
||||
- مسافتين بين العبارات
|
||||
- ثلاث مسافات لإزاحة أوّل السطر
|
||||
|
||||
- لكن الصفحات في المسوحات الضوئية لا تتبع كلّها تلك القواعد، و عند التباين يجب اتّباع ما في المسوحات الضوئية.
|
||||
|
||||
### السطور
|
||||
|
||||
- السطور التي *تحوي* `R0000` في العمود 1 يجب أن تطابق الممسوحات حرفيًّا.
|
||||
- السطور التي __لا__ *تحوي* `R0000` في العمود 1 يجب أن يسبقها سطر فارغ واحد أو اثنين متتاليين.
|
||||
- إذا وُجد أكثر من سطرين فارغين متتاليين يجب حذف الزائد منها.
|
||||
- لا تؤخذ الأسطر التي تحوي `R0000` في العمود 1 في الحسبان.
|
||||
- في المصدر، أنشئت تلك الفواصل بوضع رقم غير مطبوع في العمود 8. فوجود الرقم 2 في ذلك الموضع أوجد فراغًا مزدوجًا (سطر فارغ واحد) و وجود الرقم 3 أوجد فراغًا ثلاثيًّا (سطرين فارغين). القيم 4-8 كانت مُعرَّفة لكنها لم تستخدم قط. المزيد عن هذا في [#159][7]
|
||||
|
||||
على سبيل المثال:
|
||||
|
||||
<div dir="ltr">
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
</div>
|
||||
|
||||
يُصوّب إلى:
|
||||
<div dir="ltr">
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
## ملاحظة
|
||||
|
||||
قبل وضع طلب الدمج، يُرجى التأكد من اتفاق تحريراتكم مع المسوحات!
|
||||
|
||||
</div>
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
|
@ -1,159 +0,0 @@
|
|||
# Contributing
|
||||
|
||||
🎌
|
||||
**Čeština**,
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
Zdrojové kódy v tomto repozitáři byly manuálně digitalizovány z papírových zdrojových materiálů, mohou se v nich tedy vyskytovat chyby a překlepy. Kód by měl být modifikován tak, aby byl konzistentní se zdrojovým skenem:
|
||||
|
||||
- [AGC printouts for Comanche][8]
|
||||
- [AGC printouts for Luminary][9]
|
||||
|
||||
## Užitečná rozšíření
|
||||
|
||||
GitHub podporuje syntaxi AGC assembly jazyka. Váš editor pravděpodobně podporu mít nebude, proto zde poskytujeme seznam rozšíření na zvýraznění syntaxe jazyka AGC pro následující editory:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Podporuje automatické formátování
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Formátování
|
||||
|
||||
**Poznámka:** GitHub a výše uvedená rozšíření zajistí automatické použití správného formátování.
|
||||
|
||||
- Odsazení s použitím tabů
|
||||
- Šířka tabu je 8
|
||||
- Nezanechávat bílé znaky (whitespace) na konci řádků
|
||||
|
||||
## Co mám kontrolovat?
|
||||
|
||||
Jakékoliv rozdíly mezi skeny a zdrojovým kódem v tomto repozitáři, včetně:
|
||||
|
||||
### Komentářů
|
||||
|
||||
- Komentáře v přepsaném kódu by měly přesně odpovídat skenům
|
||||
- Toto může zahrnovat doslovné kopírování překlepů či přidávání/odebírání celých komentářů
|
||||
|
||||
### Zalomení řádků
|
||||
|
||||
- Zalomení řádků *obsahujících* `R0000` ve sloupci 1 by měly přesně odpovídat skenům.
|
||||
- Zalomení řádků *__bez__* `R0000` ve sloupci 1 by měly obsahovat jen 1 až 2 prázdné řádky v řadě
|
||||
- Pokud obsahují více než dva prázdné řádky, přebytečné odstraňte.
|
||||
- Řádky obsahující `R0000` v prvním sloupci se do tohoto nepočítají.
|
||||
- Vznikly díky nevytištěnému číslu ve sloupci 8 zdrojových dokumentů. Číslo 2 způsobilo vypsání dvojité mezery (jeden prázdný řádek) a číslo 3 trojité mezery (dva prázdné řádky). Hodnoty 4-8 byly definovány, ale nebyly použity. Více v [#159][7]
|
||||
|
||||
Napříkald následující kód:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
By měl být změněn na:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
### Mezery
|
||||
|
||||
- Mezery mezi dvěma znaky v řetězci by měly respektovat tyto konvence (viz diskuze v [#316][10]):
|
||||
- Jedna mezera pro nová slova.
|
||||
- Dvě mezery pro nové věty.
|
||||
- Tři mezery pro odsazení.
|
||||
|
||||
Napříkald následující kód:
|
||||
|
||||
```plain
|
||||
1) FOO BAR BAZ QUX QUUX QUUZ. CORGE, GRAULT,
|
||||
GARPLY, WALDO.
|
||||
```
|
||||
|
||||
By měl být změněn na:
|
||||
|
||||
```plain
|
||||
1) FOO BAR BAZ QUX QUUX QUUZ. CORGE, GRAULT,
|
||||
GARPLY, WALDO.
|
||||
```
|
||||
|
||||
## Poznámka
|
||||
|
||||
Než otevřete PR, ujistěte se že vaše změny jsou konzistentní se skeny!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,157 +0,0 @@
|
|||
# Bidrag
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
**Dansk**,
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
Kildekoden i dette «repository» er digitaliseret manuelt fra papirudskrifter, så skrivefejl og andre afvigelser kan være blevet introduceret. Koden skal modificeres så det er konsistent med følgende indskannede udskrifter:
|
||||
|
||||
- [AGC udskrift for Comanche][8]
|
||||
- [AGC udskrift for Luminary][9]
|
||||
|
||||
## Brugbare udvidelser
|
||||
|
||||
GitHub har indbygget syntaks understøttelse for AGC assembler sprog. De fleste kodeeditorer har ikke, men der findes AGC sprog udvidelser som giver syntaks fremhævelse for følgende editorer:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Supportere automatisk formattering
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Formattering
|
||||
|
||||
**Note:** GitHub og udvidelser markeret ovenfor vil sikre at du bruger den rigtige formattering automatisk.
|
||||
|
||||
- Brug tab indrykning
|
||||
- Brug tab bredde svarende til 8 mellemrum
|
||||
- Fjern mellemrum, tab og andre tegn der ikke er synlig fra slutningen af linien
|
||||
|
||||
## Hvad skal jeg kontrollere?
|
||||
|
||||
Alle forskelle mellem det indskannede og kildekoden i «repositoriet».
|
||||
|
||||
### Kommentarer
|
||||
|
||||
Kommentarer i den transskiberede kildekode **skal** matche det indskannede **fuldstændigt**.
|
||||
|
||||
Ofte forekomne forskelle som du skal kigge efter indeholder, men er ikke begrænset til:
|
||||
|
||||
#### Typografiske fejl
|
||||
|
||||
Nogle steder har de oprindelige udviklere lavet typegrafiske fejl da de skrev kommentarer. Nogle af disse blev fejlagtigt rettet under den oprindelige digitalisering, men selve digitaliseringen har også introduceret typografiske fejl, som ikke var til stede i indskanningerne.
|
||||
|
||||
For eksempel, hvis de digitaliserede kommentarer indeholdt `SPACECRAFT`, men der stod `SPAECRAFT` i det indskannede, så **SKAL** det rettes til `SPAECRAFT` (mangler `C`).
|
||||
|
||||
På samme måde, hvis et ord har en stavefejl i digitaliseringen, men er stavet korrekt i det indskannede, så **SKAL** stavefejlen rettes.
|
||||
|
||||
#### Mellemrum
|
||||
|
||||
Mellemrum mellem to tegn i kommentarer **BØR** matche det indskannede. I de fleste tilfælde (se diskussionen i [#316][10]) gælder følgende:
|
||||
|
||||
- Enkel mellemrum ved nyt ord.
|
||||
- Dobbel mellemrum for en ny sætning.
|
||||
- Trippel mellemrum for indrykning.
|
||||
|
||||
Ikke alle sider in det indskannede følger denne generalisering. Hvis det indskannede kun bruger et enkelt mellemrum i stedet for dobbel mellemrum, brug et enkelt mellemrum.
|
||||
|
||||
### Linie skift
|
||||
|
||||
- Linie skift *med* `R0000` i kolonne 1 bør matche det indskannede præcist.
|
||||
- Linie skift *uden* `R0000` i kolonne 1 bør kun indeholde 1 eller 2 blanke linier i træk.
|
||||
- Hvis der er mere end 2 blank linie skift, fjern de ekstra linie skift.
|
||||
- Linier med `R0000` i kolonne 1 skal ikke tælles med.
|
||||
- I originalen, dette blev skabt af en tegn i kolonne 8, som ikke blev skrevet ud. Stod der et 2-tal blev det til et dobbel mellemrum (enkel blank linie) og et 3-tal blive til trippel mellemrum (dobbel blank linie). Værdierne 4-8 var defineret, men blev aldrig brugt. Læs mere om det i [#159][7]
|
||||
|
||||
For eksempel skal følgende koden:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Se således ud:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
## Note
|
||||
|
||||
Før du laver en PR, sørg venligst for at dine ændringer er konsistente med det indskannede!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,157 +0,0 @@
|
|||
# Contributing
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
**Deutsch**,
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
Der Quellcode in diesem Repository wurde manuell digitalisiert, also sind jegliche Tippfehler und Diskrepanzen unabsichtlich eingeführt worden. Der Code soll so angepasst werden, dass er mit den folgenden eingescannten Ausdrucken übereinstimmt:
|
||||
|
||||
- [AGC printouts for Comanche][8]
|
||||
- [AGC printouts for Luminary][9]
|
||||
|
||||
## Nützliche Erweiterungen
|
||||
|
||||
GitHub verfügt über eine integrierte Syntax-Unterstützung für die AGC Assembly Sprache. Das gilt leider nicht für deinen Code Editor. Für die folgenden Editoren gibt es aber AGC-Spracherweiterungen, die Syntaxhervorhebung hinzufügen:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Unterstützt automatische Formatierung
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Formatierung
|
||||
|
||||
**Anmerkung:** GitHub und die oben erwähnten Erweiterungen werden automatisch sicherstellen, dass du die korrekte Formatierung einhältst.
|
||||
|
||||
- Verwende Tab-Einrückung
|
||||
- Verwende Tab-Breite von 8
|
||||
- Entferne Leerzeichen am Ende einer Zeile
|
||||
|
||||
## Was soll ich überprüfen?
|
||||
|
||||
Alle Diskrepanzen zwischen den Scans und dem Quelltext in diesem Repository.
|
||||
|
||||
### Kommentare
|
||||
|
||||
Kommentare in dem transkribierten Quellcode **MÜSSEN** denen in den Scans **genau** entsprechen.
|
||||
|
||||
Häufige Fehler, auf die du dich unter anderem beim Korrekturlesen achten solltest sind folgende (nicht abschließend):
|
||||
|
||||
#### Typographische Fehler
|
||||
|
||||
An einigen Stellen haben die ursprünglichen Entwickler typographische Fehler beim Schreiben von Kommentaren gemacht. Manche von diesen wurden fälschlicherweise bei der ursprünglichen Digitalisierung korrigiert, die Digitalisierung hat jedoch auch typografische Fehler eingeführt die nicht in den Scans vorhanden sind.
|
||||
|
||||
Wenn die digitalisierten Kommentare zum Beispiel `SPACECRAFT` enthielten aber `SPAECRAFT` in den Scans stand, dann **MUSS** die Digitalisierung zu `SPAECRAFT` korrigiert werden (fehlendes `C`).
|
||||
|
||||
Gleichermaßen gilt, dass wenn ein Wort einen Tippfehler in der Digitalisierung aufweist aber in den Scans korrekt geschrieben wurde der Tippfehler korrigiert werden **MUSS**.
|
||||
|
||||
#### Leerzeichen
|
||||
|
||||
Leerzeichen zwischen zwei Zeichen in Kommentaren **SOLLTEN** den Scans angeglichen werden. In den meisten Fällen (siehe die Diskussion in [#316][10]) sind es:
|
||||
|
||||
- Einzelne Leerzeichen für neue Wörter.
|
||||
- Doppelte Leerzeichen für neue Sätze.
|
||||
- Dreifache Leerzeichen für Einrückungen.
|
||||
|
||||
Nicht alle Seiten in den Scans befolgen diese Verallgemeinerung, wenn es in den Scans nur ein einzelnes Leerzeichen gibt statt einem doppelten Leerzeichen, verwende ein einzelnes Leerzeichen.
|
||||
|
||||
### Zeilenumbrüche
|
||||
|
||||
- Zeilenumbrüche *mit* `R0000` in Spalte 1 sollten genau mit den Scans übereinstimmen
|
||||
- Zeilenumbrüche *__ohne__* `R0000` in Spalte 1 sollten nur 1 bis 2 Leerzeilen hintereinander haben
|
||||
- Wenn es mehr als 2 Leerzeilen gibt, entferne die zusätzlichen Zeilenumbrüche.
|
||||
- Zeilen mit `R0000` in Spalte 1 werden dabei nicht dazugezählt.
|
||||
- In den Originalbildern wurden diese durch eine nicht gedruckte Ziffer in Spalte 8 verursacht. Eine 2 an dieser Stelle erzwang ein doppeltes Leerzeichen (einzelne Leerzeile) und eine 3 erzwang ein dreifaches Leerzeichen (doppelte Leerzeile). Die Werte zwischen 4 und 8 waren definiert, wurden aber nie verwendet. Mehr dazu in [#159][7]
|
||||
|
||||
Zum Beispiel, das folgende:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Sollte werden zu:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
## Anmerkung
|
||||
|
||||
Bevor du einen PR erstellst, stelle bitte sicher, dass deine Änderungen mit den Scans übereinstimmen!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,159 +0,0 @@
|
|||
# Contributing
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
**Español**,
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
El código fuente en este repositorio se digitalizó manualmente a partir de impresiones en papel, por lo que los errores tipográficos y otras discrepancias se han introducido accidentalmente. El código se modificará para que sea coherente con las impresiones escaneadas:
|
||||
|
||||
- [AGC impresiones para Comanche][8]
|
||||
- [AGC impresiones para Luminary][9]
|
||||
|
||||
## Extensiones Útiles
|
||||
|
||||
GitHub tiene soporte de sintaxis para el lenguaje ensamblador AGC incorporado. Lamentablemente, su editor de código no lo hará, sin embargo, hay extensiones de lenguaje AGC que proporcionan resaltado de sintaxis para los siguientes editores:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Admite formateo automático
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Formateo
|
||||
|
||||
**Nota:** GitHub y las extensiones marcadas anteriormente asegurarán que esté utilizando el formato correcto automáticamente.
|
||||
|
||||
- Use tabulación tipo sangría
|
||||
- Use un ancho de pestaña de 8
|
||||
- Recortar espacios en blanco al final
|
||||
|
||||
## ¿Qué verifico?
|
||||
|
||||
Cualquier discrepancia entre los escaneos y el código fuente en este repositorio, incluyendo:
|
||||
|
||||
### Comentarios
|
||||
|
||||
- Los comentarios en el código transcrito deben coincidir exactamente con los escaneos
|
||||
- Esto podría implicar crear un error tipográfico deliberado o eliminar / agregar un comentario completo.
|
||||
|
||||
### Saltos de línea
|
||||
|
||||
- Salto de línea *with* `R0000` en la columna 1 debe coincidir exactamente con los escaneos.
|
||||
- Salto de línea *with**__out__* `R0000` en la columna 1 debe contener solo 1 ó 2 líneas en blanco en una fila.
|
||||
- Si hay más de 2 saltos de línea en blanco, elimine los saltos de línea adicionales.
|
||||
- Líneas con `R0000` en la columna 1 no cuentan para esto.
|
||||
- En las imágenes de origen, éstas fueron creadas por un dígito sin imprimir en la columna 8. A 2 forzó un doble espacio (línea en blanco simple) y un 3 forzó un espacio triple (línea en blanco doble). Los valores 4-8 se definieron pero nunca se usaron. Lea más sobre esto en [#159][7]
|
||||
|
||||
Por ejemplo lo siguiente:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Debe convertirse:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
### Espacios
|
||||
|
||||
- Los espacios entre dos caracteres en la cadena deben respetar la siguiente convención (vea la discusión en [#316][10]):
|
||||
- Espacio único para nuevas palabras.
|
||||
- Doble espacio para nuevas oraciones.
|
||||
- Triple espacio para hendiduras.
|
||||
|
||||
Por ejemplo lo siguiente:
|
||||
|
||||
```plain
|
||||
1) FOO BAR BAZ QUX QUUX QUUZ. CORGE, GRAULT,
|
||||
GARPLY, WALDO.
|
||||
```
|
||||
|
||||
Debe convertirse:
|
||||
|
||||
```plain
|
||||
1) FOO BAR BAZ QUX QUUX QUUZ. CORGE, GRAULT,
|
||||
GARPLY, WALDO.
|
||||
```
|
||||
|
||||
## Nota
|
||||
|
||||
Antes de hacer un RP, ¡asegúrese de que sus cambios sean consistentes con los escaneos!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,156 +0,0 @@
|
|||
# Contribuer
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
**Français**,
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
Le code source de ce dépôt a été numérisé manuellement à partir de papiers imprimés, les fautes de frappe et autres anomalies ont donc été introduites accidentellement. Le code doit être modifié pour être cohérent avec les impressions numérisées suivantes :
|
||||
|
||||
- [Impressions AGC pour Comanche][8]
|
||||
- [Impressions AGC pour Luminary][9]
|
||||
|
||||
## Extensions utiles
|
||||
|
||||
GitHub prend en charge nativement la syntaxe pour le langage assembleur AGC. Malheureusement, votre éditeur de texte ne l’aura pas. Mais il y a des extensions pour le langage AGC pour les éditeurs suivants :
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Prend en charge le formatage automatique
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Mise en page
|
||||
|
||||
**Note :** GitHub et les extensions marquées ci-dessus vous assureront d'utiliser automatiquement le bon formatage.
|
||||
|
||||
- Utiliser une tabulation (tab) pour l'indentation
|
||||
- Utiliser une largeur de 8 caractères pour la tabulation
|
||||
- Pas d'espace à la fin des lignes
|
||||
|
||||
## Comment vérifier ?
|
||||
|
||||
Tout écart entre les scans et le code source dans ce référentiel.
|
||||
|
||||
### Commentaires
|
||||
|
||||
- Les commentaires dans le code transcrit **doivent** correspondre **exactement** aux scans.
|
||||
- Les problèmes courants que vous devez rechercher lors de la vérification sont les suivants. Attention, la liste n'est pas exhaustive !
|
||||
|
||||
#### Erreurs typographiques
|
||||
|
||||
À certains endroits, les développeurs originaux ont fait des erreurs typographiques en écrivant des commentaires. Certaines d’entre elles ont été corrigées par erreur lors de la numérisation initiale, mais la numérisation a également introduit des erreurs typographiques qui n’étaient pas présentes dans les scans.
|
||||
|
||||
Par exemple, si les commentaires numérisés contiennent `SPACECRAFT`, mais que `SPAECRAFT` a été imprimé dans les scans, la numérisation DOIT être corrigée en `SPAECRAFT` (C manquant).
|
||||
|
||||
De même, si un mot a une faute de frappe dans la numérisation mais est correctement orthographié dans les scans, alors la faute de frappe DOIT être corrigée.
|
||||
|
||||
#### Espaces
|
||||
|
||||
Les espaces entre deux caractères dans les commentaires **DEVRAIENT** correspondre aux scans. Dans la plupart des cas (voir la discussion dans [#316][10]), c'est:
|
||||
|
||||
- Espace unique pour les nouveaux mots
|
||||
- Double espace pour les nouvelles phrases
|
||||
- Triple espace pour les indentations
|
||||
|
||||
Toutes les pages des scans ne suivent pas cette généralisation, si les scans n'ont qu'un seul espace au lieu d'un double espace, utiliser un seul espace.
|
||||
|
||||
### Sauts de ligne
|
||||
|
||||
- Les lignes *avec* `R0000` dans la colonne 1 doivent correspondre exactement aux scans.
|
||||
- Les sauts de ligne *sans* `R0000` dans la colonne 1 ne doivent contenir que 1 ou 2 lignes vides d'affilée.
|
||||
- Si il y a plus de 2 lignes vides, supprimer les sauts de ligne supplémentaires.
|
||||
- Ne pas prendre en compte les lignes avec `R0000` dans la colonne 1.
|
||||
- Dans les images sources, celles-ci ont été créées à cause d'un caractère non imprimé dans la colonne 8. Un 2 a forcé un double espace (une seule ligne vide) et un 3 a forcé un triple espace (double ligne vide). Les valeurs 4-8 ont été définies mais n’ont jamais été utilisées. Pour en savoir plus [#159][7]
|
||||
|
||||
Par exemple, ce qui suit :
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Doit devenir :
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
## Note
|
||||
|
||||
Avant de faire une PR, assurez-vous que vos modifications soient cohérentes avec les scans !
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,157 +0,0 @@
|
|||
# Συνεισφορά
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
**Ελληνικά**,
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
Ο πηγαίος κώδικας σε αυτό το αποθετήριο ψηφιοποιήθηκε χειροκίνητα (με μη αυτόματο τρόπο) από εκτυπώσεις σε χαρτί, έτσι τυχαία λάθη και άλλες αποκλίσεις μπορεί να έχουν εισαχθεί κατά λάθος. Ο κώδικας πρέπει να τροποποιείται ώστε πάντα να είναι συνεπής με τις παρακάτω σαρωμένες εκτυπώσεις:
|
||||
|
||||
- [AGC printouts for Comanche][8]
|
||||
- [AGC printouts for Luminary][9]
|
||||
|
||||
## Χρήσιμες Επεκτάσεις
|
||||
|
||||
Το GitHub διαθέτει υποστήριξη συντακτικού για τη γλώσσα assembly του AGC. Δυστυχώς, ο επεξεργαστής κώδικά σας μπορεί να μην την υποστηρίζει, ωστόσο, υπάρχουν επεκτάσεις για τη γλώσσα assembly AGC που παρέχουν επισήμανση σύνταξης για τους ακόλουθους επεξεργαστές κώδικα:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Υποστηρίζει αυτόματη μορφοποίηση
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Mορφοποίηση
|
||||
|
||||
Σημείωση: Το GitHub και οι επεκτάσεις που σημειώνονται παραπάνω θα διασφαλίσουν ότι χρησιμοποιείτε τη σωστή μορφοποίηση αυτόματα.
|
||||
|
||||
- Χρήση εσοχής με tab
|
||||
- 8 χαρακτήες κενού για εσοχή tab
|
||||
- Περικοπή τελικών κενών χαρακτήρων γραμμής
|
||||
|
||||
## Τι να ελέγξω;
|
||||
|
||||
Τυχόν αποκλίσεις μεταξύ των σαρώσεων και του πηγαίου κώδικα σε αυτό το αποθετήριο.
|
||||
|
||||
### Σχόλια
|
||||
|
||||
Τα σχόλια στον μεταγραμμένο κώδικα **ΠΡΕΠΕΙ** να ταιριάζουν **ακριβώς** με τις σαρώσεις.
|
||||
|
||||
Συχνά προβλήματα που θα μπορούσατε να ψάξετε κατά τη διόρθωση περιλαμβάνουν αλλά δεν περιορίζονται σε:
|
||||
|
||||
#### Τυπογραφικά λάθη
|
||||
|
||||
Σε μερικά σημεία, οι αρχικοί προγραμματιστές έκαναν τυπογραφικά λάθη κατά τη σύνταξη σχολίων. Μερικά από αυτά διορθώθηκαν κατά λάθος κατά την αρχική ψηφιοποίηση, ωστόσο η ψηφιοποίηση έχει επίσης εισαγάγει τυπογραφικά λάθη που δεν υπήρχαν στις σαρώσεις.
|
||||
|
||||
Για παράδειγμα, εάν τα ψηφιοποιημένα σχόλια περιείχαν `SPACECRAFT`, αλλά `SPAECRAFT` ήταν γραμμένο στις σαρώσεις, τότε η ψηφιοποίηση **ΠΡΕΠΕΙ** να διορθωθεί σε `SPAECRAFT` (λείπει το `C`).
|
||||
|
||||
Αντίστοιχα, αν μια λέξη έχει κάποιο τυπογραφικό λάθος στην ψηφιοποίηση αλλά είναι γραμμένη σωστά στις σαρώσεις τότε αυτό το τυπογραφικό λάθος **ΠΡΕΠΕΙ** να διορθωθεί.
|
||||
|
||||
#### Κενά
|
||||
|
||||
Τα κενά μεταξύ χαρακτήρων στα σχόλια **ΘΑ ΕΠΡΕΠΕ** να ταιριάζουν με τις σαρώσεις. Τις περισσότερες φορές (δείτε τη συζήτηση στο [#316[10], αυτό σημαίνει:
|
||||
|
||||
- Ένα κενό για νέες λέξεις.
|
||||
- Δύο κενά για νέες προτάσεις.
|
||||
- Τρία κενά για εσοχές.
|
||||
|
||||
Αυτή η γενίκευση δεν ακολουθείτε από όλες τις σαρωμένες σελίδες, αν μια σάρωση έχει ένα κενό αντί για δύο, χρησιμοποιήστε ένα.
|
||||
|
||||
### Αλλαγές γραμμής
|
||||
|
||||
- Οι αλλαγές γραμμής με `R0000` στη στήλη 1 πρέπει να ταιριάζουν ακριβώς με τις σαρώσεις.
|
||||
- Οι αλλαγές γραμμής *χωρίς* `R0000` στη στήλη 1 πρέπει να περιέχουν μόνο 1 ή 2 κενές γραμμές στη σειρά.
|
||||
- Εάν υπάρχουν περισσότερες από 2 αλλαγές γραμμών, αφαιρέστε τις επιπλέον αλλαγές γραμμής.
|
||||
- Οι γραμμές με `R0000` στη στήλη 1 δεν υπολογίζονται σε αυτό.
|
||||
- Στις εικόνες προέλευσης, αυτές δημιουργήθηκαν από ένα μη τυπωμένο ψηφίο στη στήλη 8. Ένα 2 ανάγκαζε ένα διπλό διάστημα (μονή κενή γραμμή) και ένα 3 ανάγκαζε ένα τριπλό διάστημα (διπλή κενή γραμμή). Οι τιμές 4-8 ορίστηκαν αλλά δεν χρησιμοποιήθηκαν ποτέ. Διαβάστε περισσότερα σχετικά, στο [#159][7]
|
||||
|
||||
Για παράδειγμα το παρακάτω:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Πρέπει να γίνει:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
## Σημείωση
|
||||
|
||||
Πριν κάνετε ένα PR, παρακαλώ βεβαιωθείτε ότι οι αλλαγές σας είναι σύμφωνες με τις σαρώσεις!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,155 +0,0 @@
|
|||
# योगदान
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
**हिंदी**,
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[HI_IN]:CONTRIBUTING.hi_in.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
इस रिपॉजिटरी में स्रोत कोड को पेपर प्रिंटआउट से मैन्युअल रूप से डिजिटाइज़ किया गया था, इसलिए गलती से टाइपो और अन्य विसंगतियों को पेश किया गया है। निम्नलिखित स्कैन किए गए प्रिंटआउट के अनुरूप बनाने के लिए कोड को संशोधित किया जाएगा:
|
||||
|
||||
- [Comanche के लिए AGC प्रिंटआउट][8]
|
||||
- [Luminary के लिए AGC प्रिंटआउट][9]
|
||||
|
||||
## उपयोगी एक्सटेंशन
|
||||
|
||||
GitHub में अंतर्निहित AGC असेंबली भाषा के लिए सिंटैक्स समर्थन है। दुर्भाग्य से आपका कोड संपादक नहीं होगा, हालांकि एजीसी भाषा एक्सटेंशन हैं जो निम्नलिखित संपादकों के लिए सिंटैक्स हाइलाइटिंग प्रदान करते हैं::
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† स्वचालित स्वरूपण का समर्थन करता है
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## का प्रारूपण
|
||||
|
||||
**टिप्पणी:** GitHub और ऊपर चिह्नित एक्सटेंशन सुनिश्चित करेंगे कि आप स्वचालित रूप से सही स्वरूपण का उपयोग कर रहे हैं।
|
||||
|
||||
- टैब इंडेंटेशन का प्रयोग करें
|
||||
- 8 की टैब चौड़ाई का प्रयोग करें
|
||||
- पिछली सफेद जगह ट्रिम करें
|
||||
|
||||
## मैं क्या जाँच करूँ?
|
||||
|
||||
इस भंडार में स्कैन और स्रोत कोड के बीच कोई भी विसंगतियां।
|
||||
|
||||
### टिप्पणियाँ
|
||||
|
||||
प्रूफ़िंग करते समय आपको जिन सामान्य मुद्दों पर ध्यान देना चाहिए उनमें शामिल हैं, लेकिन इन्हीं तक सीमित नहीं:
|
||||
|
||||
### टंकण त्रुटियाँ
|
||||
|
||||
कुछ जगहों पर, मूल डेवलपर्स ने टिप्पणी लिखते समय टाइपोग्राफिक त्रुटियां कीं। इनमें से कुछ को प्रारंभिक डिजिटलीकरण के दौरान गलती से ठीक कर दिया गया था, हालांकि डिजिटलीकरण ने टाइपोग्राफिक त्रुटियों को भी पेश किया है जो स्कैन में मौजूद नहीं थे।
|
||||
|
||||
उदाहरण के लिए, यदि डिजीटल टिप्पणियों में `SPACECRAFT` शामिल है, लेकिन `SPAECRAFT` स्कैन में मुद्रित किया गया था, तो डिजिटलीकरण को `SPAECRAFT` (लापता `C`) में सही किया जाना चाहिए।
|
||||
|
||||
इसी तरह, यदि किसी शब्द में डिजिटाइजेशन में टाइपो है लेकिन स्कैन में सही वर्तनी है तो टाइपो को सही किया जाना चाहिए।
|
||||
|
||||
### खाली स्थान
|
||||
|
||||
टिप्पणियों में दो वर्णों के बीच रिक्त स्थान स्कैन से मेल खाना चाहिए। ज्यादातर मामलों में (चर्चा देखें [#316][10]):
|
||||
|
||||
- नए शब्दों के लिए सिंगल स्पेस।
|
||||
- नए वाक्यों के लिए डबल स्पेस।
|
||||
- इंडेंटेशन के लिए ट्रिपल स्पेस।
|
||||
|
||||
स्कैन के सभी पृष्ठ इस सामान्यीकरण का पालन नहीं करते हैं, यदि स्कैन में दोहरे स्थान के बजाय केवल एक ही स्थान है, तो एकल स्थान का उपयोग करें।
|
||||
|
||||
### कतार टूट जाती है
|
||||
|
||||
- कॉलम 1 में `R0000` के *साथ* लाइन ब्रेक स्कैन से बिल्कुल मेल खाना चाहिए।
|
||||
- कॉलम 1 में `R0000` के *बिना* लाइन ब्रेक में एक पंक्ति में केवल 1 या 2 खाली लाइनें होनी चाहिए।
|
||||
- यदि 2 से अधिक रिक्त रेखाएँ विराम हैं, तो अतिरिक्त रेखा विरामों को हटा दें।
|
||||
- कॉलम 1 में `R0000` वाली पंक्तियों की गणना इसमें नहीं की जाती है।
|
||||
- स्रोत छवियों में, ये कॉलम 8 में एक अमुद्रित अंक द्वारा बनाए गए थे। ए 2 ने एक डबल स्पेस (एकल रिक्त रेखा) को मजबूर किया और एक 3 ने ट्रिपल स्पेस (डबल रिक्त रेखा) को मजबूर कर दिया। मान 4-8 परिभाषित किए गए थे लेकिन कभी उपयोग नहीं किए गए। [#159][7] में इसके बारे में और पढ़ें।
|
||||
|
||||
उदाहरण के लिए निम्नलिखित:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
बन जाना चाहिए:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
## टिप्पणी
|
||||
|
||||
पीआर करने से पहले, कृपया सुनिश्चित करें कि आपके परिवर्तन स्कैन के अनुरूप हैं!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,157 +0,0 @@
|
|||
# Menyumbang
|
||||
|
||||
🎌
|
||||
**Bahasa Indonesia**,
|
||||
[Čeština][CZ],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[ID]:CONTRIBUTING.id.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
Kode asli dalam repositori ini didigitalkan secara manual dari kertas cetak, sehingga inkonsistensi dan ketidaksesuaian lainnya mungkin terjadi karena kesalahan. Kode perlu diubah agar sesuai dengan edisi yang diterbitkan:
|
||||
|
||||
- [AGC printouts for Comanche][8]
|
||||
- [AGC printouts for Luminary][9]
|
||||
|
||||
## Ekstensi yang berguna
|
||||
|
||||
GitHub memiliki dukungan sintaks untuk pengaturan bahasa AGC. Sayangnya kode editor anda tidak dapat melakukannya, namun ada ekstensi bahasa AGC yang menyediakan penyorotan sintaks untuk kode editor berikut:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Mendukung pemformatan otomatis
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Pemformatan
|
||||
|
||||
**Note:** GitHub dan plugin yang tercantum di atas akan secara otomatis mengonfirmasi bahwa Anda menggunakan plugin yang benar.
|
||||
|
||||
- Gunakan panjang tab
|
||||
- Gunakan panjang tab 8
|
||||
- Hapus karakter spasi ataupun tab di awal atau di akhir string
|
||||
|
||||
## Apa yang saya periksa?
|
||||
|
||||
Setiap perbedaan antara pemindaian dan kode sumber dalam repositori ini.
|
||||
|
||||
### Komentar
|
||||
|
||||
Komentar dalam kode yang ditranskripsikan **HARUS** cocok dengan pindaian **persis**.
|
||||
|
||||
Masalah umum yang harus Anda perhatikan saat pemeriksaan termasuk, tetapi tidak terbatas pada:
|
||||
|
||||
#### Kesalahan Tipografi
|
||||
|
||||
Di beberapa tempat, pengembang asli membuat kesalahan ketik saat menulis komentar. Beberapa di antaranya salah dikoreksi selama digitalisasi awal, namun digitalisasi juga menimbulkan kesalahan tipografi yang tidak ada dalam pemindaian.
|
||||
|
||||
Misalnya, jika komentar digital berisi `SPACECRAFT`, tetapi `spaecraft` dicetak dalam pemindaian, maka digitalisasi **HARUS** dikoreksi ke `spaecraft` (hilang `C`).
|
||||
|
||||
Demikian juga, jika sebuah kata memiliki kesalahan ketik dalam digitalisasi tetapi dieja dengan benar dalam pemindaian, maka kesalahan ketik **HARUS** diperbaiki.
|
||||
|
||||
#### Spasi
|
||||
|
||||
Spasi antara dua karakter dalam komentar **HARUS** cocok dengan pindaian. Dalam kebanyakan kasus (lihat diskusi di [#316][10]), ini adalah:
|
||||
|
||||
- Satu spasi untuk kata-kata baru.
|
||||
- Spasi ganda untuk kalimat baru.
|
||||
- Tiga ruang untuk lekukan.
|
||||
|
||||
Tidak semua halaman dalam pemindaian mengikuti generalisasi ini, jika pemindaian hanya memiliki satu spasi, bukan spasi ganda, gunakan satu spasi.
|
||||
|
||||
### Jeda baris
|
||||
|
||||
- Pemisahan baris *dengan* `R0000` di kolom 1 harus sama persis dengan pemindaian.
|
||||
- Pemisahan baris *dengan**__out__* `R0000` di kolom 1 hanya boleh berisi 1 atau 2 baris kosong dalam satu baris.
|
||||
- Jika ada lebih dari 2 jeda baris kosong, hapus jeda baris tambahan.
|
||||
- Baris dengan `R0000` di kolom 1 tidak diperhitungkan dalam hal ini.
|
||||
- Dalam gambar sumber, ini dibuat oleh digit yang belum dicetak di kolom 8. A 2 di sana memaksa spasi ganda (satu baris kosong dan 3 memaksa spasi tiga (garis kosong ganda). Nilai 4-8 didefinisikan tetapi tidak pernah digunakan. Baca selengkapnya di [#159][7]
|
||||
|
||||
Misalnya berikut ini:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Harus menjadi:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
## Catatan
|
||||
|
||||
Sebelum Anda membuat PR, pastikan perubahan Anda konsisten dengan pemindaian!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,158 +0,0 @@
|
|||
# Contribuire
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
**Italiano**
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
Il codice sorgente in questa repository è stato digitalizzato manualmente da stampe su carta, quindi errori di battitura e altre differenze sono state aggiunte accidentalmente. Il codice dovrebbe essere modificato per essere consistente con le seguenti scansioni:
|
||||
|
||||
- [AGC stampa per Comanche][8]
|
||||
- [AGC stampa per Luminary][9]
|
||||
|
||||
## Estensioni utili
|
||||
|
||||
GitHub supporta la sintassi assembly AGC nativamente. Se sfortunatamente il tuo editor di codice non dovesse farlo, sono presenti delle estensioni che aggiungono la sottolineatura della sintassi per i seguenti editor:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Supporta la formattazione automatica
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Formattazione
|
||||
|
||||
**Nota:** GitHub e le estensioni riportate di sopra assicureranno che tu stia usando automaticamente la formattazione corretta.
|
||||
|
||||
- Indenta con le tabulazioni
|
||||
- Usa una tabulazione di larghezza 8
|
||||
- Elimina spazi a fine riga
|
||||
|
||||
## Che cosa devo controllare?
|
||||
|
||||
Qualsiasi differenza tra le scannerizzazioni e il codice sorgente in questa repository.
|
||||
|
||||
### Commenti
|
||||
|
||||
Commenti nel codice trascritto **DEVONO** coincidere **ESATTAMENTE** con quelli delle scannerizzazioni.
|
||||
|
||||
Errori comuni a cui dovresti stare attento mentre verifichi includono, ma non sono limitati a:
|
||||
|
||||
#### Errori tipografici
|
||||
|
||||
Qualche volta, gli sviluppatori originali hanno fatto degli errori tipografici mentre scrivevano i commenti. Alcuni sono stati erroneamente corretti durante la digitalizzazione iniziale e anche la digitalizzazione stessa ha introdotto altri errori tipografici che non erano presenti nelle scannerizzazioni originali.
|
||||
|
||||
Per esempio, se i commenti digitalizzati contengono `SPACEFRAFT`, ma `SPAECRAFT` è stato stampato sulle scannerizzazioni, allora le digitalizzaioni **DEVONO** essere corrette in `SPAECRAFT` (senza `C`).
|
||||
|
||||
Analogamente, se una parola ha un errore di battitura ma è scritta correttamente nelle scannerizzazioni allora l'errore **DEVE** essere corretto.
|
||||
|
||||
#### Spazi
|
||||
|
||||
Spazi tra due caratteri nei commenti **DOVREBBERO** corrispondere alle scannerizzazioni. Nella maggior parte dei casi (Si guardi la discussione in [#316][10]), questo comprende:
|
||||
|
||||
- Spazio singolo tra parole.
|
||||
- Doppio spazio tra frasi.
|
||||
- Triplo spazio per l'indentazione.
|
||||
|
||||
Non tutte le pagine nelle scannerizzazioni seguono queste linee guida, se le scannerizzazioni hanno un solo uno spazio, usane uno solo.
|
||||
|
||||
### Ritorni a capo
|
||||
|
||||
- I ritorni a capo *con* `R0000` nella colonna 1 dovrebbero corrispondere alle scannerizzaioni esattamente.
|
||||
- I ritorni a capo *senza* `R0000` nella colonna 1 dovrebbero contenere solo 1 o 2 linee vuote di seguito.
|
||||
- Se ci sono più di 2 ritorni a capo, elimina quelli in eccesso.
|
||||
- Righe con `R0000` nella colonna 1 non seguono questa regola.
|
||||
- Nelle immagini originali, queste sono state create da un numero non stampato nella colonna 8. Un 2 ha forzato un doppio spazio (una singola riga vuota), invece un 3 ha forzato uno spazio triplo (due righe vuote). Valori da 4 a 8 sono
|
||||
stati definiti ma non sono mai stati usati. Puoi leggere di più qui [#159][7]
|
||||
|
||||
Per esempio, il seguente:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Dovrebbe diventare:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
## Note
|
||||
|
||||
Prima di fare una PR(Pull Request), per piacere controlla che i tuoi cambiamenti siano consistenti con le scannerizzazioni!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,156 +0,0 @@
|
|||
# コントリビュート
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
**日本語**,
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
このリポジトリのソースコードは紙の印刷物から手動でデジタル化された為、いくつかのタイプミスやその他の不一致が誤って導入されています。以下のスキャンしたプリントアウトと一致する様にコードを変更する必要があります:
|
||||
|
||||
- [AGC printouts for Comanche][8]
|
||||
- [AGC printouts for Luminary][9]
|
||||
|
||||
## 便利な拡張機能
|
||||
|
||||
GitHubには、組み込みのAGCアセンブリ言語の構文サポートがあります。残念ながらコードエディターにはありませんが、次のエディターにシンタックスハイライトをサポートするAGC言語拡張機能があります:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† オートフォーマットをサポート
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## フォーマット
|
||||
|
||||
**注意:** GitHubと上記の拡張機能により、正しいフォーマットが自動的に使用されます。
|
||||
|
||||
- タブでインデントする
|
||||
- タブ幅は8を使用する
|
||||
- 末尾の空白を削除する
|
||||
|
||||
## 確認方法は?
|
||||
|
||||
スキャンとこのリポジトリ内のソースコードとの間の不一致がある場合。
|
||||
|
||||
### コメント
|
||||
|
||||
文字起こしされたコードのコメントはスキャンと**正確**に一致**しなければなりません**。
|
||||
|
||||
校正中に注意する必要がある一般的な問題には、次のものがありますが、これらに限定されません:
|
||||
|
||||
#### 誤植
|
||||
|
||||
いくつかの場所において、元の開発者がコメントを書いている中で誤植をしています。これらのいくつかは、最初のデジタル化の際に修正がされていますが、デジタル化によってスキャンに存在しなかった誤植も発生してしまいました。
|
||||
|
||||
例えば、デジタル化されたコメントに `SPACECRAFT` が含まれているが、 `SPAECRAFT` が印刷されたスキャンの場合、デジタル化は `SPAECRAFT` に修正**しなければなりません**(`C` が抜けている)。
|
||||
|
||||
同様に、単語のデジタル化にタイプミスがあるが、スキャンでスペルが正しい場合は、タイプミスを修正**しなければなりません**。
|
||||
|
||||
### スペース
|
||||
|
||||
- コメント内の2つの文字間のスペースは、スキャンと一致**すべきです**。多くの場合([#316][10]のディスカッションを参照)、次の規則に従う必要があります:
|
||||
- 新しい単語の為の単一のスペース。
|
||||
- 新しい文章の為の2個のスペース。
|
||||
- インデントの為の3個のスペース。
|
||||
|
||||
スキャンのすべてのページがこの一般化に従っている訳ではありません。スキャンに2個のスペースではなく1個のスペースしかない場合、1個のスペースを使用して下さい。
|
||||
|
||||
### 改行
|
||||
|
||||
- 列1の `R0000` での改行は、スキャンと正確に一致する必要があります。
|
||||
- 列1の `R0000` で *ない* 改行は、1行または2行の空白行のみを含める必要があります。
|
||||
- 空白の改行が2つ以上ある場合は、余分な改行を削除します。
|
||||
- 列1に `R0000` が含まれる行は、これにカウントされません。
|
||||
- ソース画像では、これらは列8の印刷されていない数字によって作成されました。2はダブルスペース(単一の空白行)を強制し、3はトリプルスペース(二重の空白行)を強制しました。値4-8は定義されていますが使用されていません。詳しくは[#159][7]をご覧ください。
|
||||
|
||||
例えば、次の通りです:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
これになるはずです:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
## 注意
|
||||
|
||||
PRを作成する前に、変更がスキャンと一致していることを確認して下さい!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,126 +0,0 @@
|
|||
# 기여하기
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
**한국어**
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
## 유용한 확장기능들
|
||||
|
||||
GitHub은 내장 에디터에서 AGC문법을 지원합니다. 그러나 불행하게도 대개 사용되는 에디터들은 그렇지 않습니다. 하지만 확장 기능이 지원되는 에디터들이 있습니다.
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† 자동 포매팅 지원
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## 포매팅
|
||||
|
||||
**참고:** GitHub 내장 에디터와 위의 세 확장기능들은 이 문단에서 정의하는 포매팅을 자동으로 수행해 줍니다.
|
||||
|
||||
- 탭 들여쓰기를 사용하십시오.
|
||||
- 들여쓰기 크기는 8입니다.
|
||||
- 뒤에 불필요하게 붙는 공백 문자는 제거하시기 바랍니다.
|
||||
|
||||
## 확인해야 할 것들
|
||||
|
||||
### 주석
|
||||
|
||||
- 옮겨진 코드의 주석들은 스캔본과 일치해야 합니다.
|
||||
- 의도적인 오타나 전체 주석을 삭제/추가하는 것과 관계가 있을 수 있습니다.
|
||||
|
||||
### 개행
|
||||
|
||||
- 1열에서 `R0000`로 개행되는 경우 스캔본과 일치해야 합니다.
|
||||
- 1열에서 `R0000`*__없이__* 개행되는 경우 1~2개의 빈 줄이 있어야 합니다.
|
||||
- 만약 3개 이상의 개행이 있는 경우 초과분을 제거하십시오.
|
||||
- 1열에 `R0000`를 포함하는 경우 빈 줄로 치지 않습니다.
|
||||
- 소스 이미지는 8열의 인쇄되지 않은 숫자로 생성되었습니다.
|
||||
두 부분에 두 개의 공백과(빈 줄 한 개), 세 부분에 3개의 공백이(빈 줄 두 개) 강제됩니다.
|
||||
4-8의 값들은 정의되었지만 사용되지 않습니다. 자세한 내용은 [#159][7]를 참고하십시오.
|
||||
|
||||
예를 들어 이 코드는:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
이렇게 고쳐야 합니다:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
|
|
@ -1,162 +0,0 @@
|
|||
# Beşdarbûn
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
**Kurdî**,
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
Koda xwerû di vê depoyê de ji kaxezek çapkirî bi awak destkî hat dîjîtîzkirin, ji ber vê yekê nakokî û cudahiyên din bi şaşî hatine danîn. Pêdivîye ku kod bêne guhertin da ku li gorî çapên şandî li hev bikin:
|
||||
|
||||
- [AGC printouts for Comanche][8]
|
||||
- [AGC printouts for Luminary][9]
|
||||
|
||||
## Berfirehiyên bikêr
|
||||
|
||||
GitHub ji bo sazkirina zimanê AGC-ê desteka syntax heye. Mixabin redaktorê kodê yê li gel wê bê ev destek be, lê di heman dem de berfirehiyên zimanê AGC yê ku ronahî li ser syntaxê dikin ji bo redaktorên jêrîn hene:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Piştgiriya formasyona otomatîk dikin
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Formasyon
|
||||
|
||||
**Nîşe:** GitHub û pêvekên ku li jor hatine nîşankirin wê tekez bikin ku hûn bi awak otomatîk pêvekirina rast bikar tînin.
|
||||
|
||||
- Dirêjahiya tab bikar bînin
|
||||
- Dirêjahiya tab ya 8 bikar bînin
|
||||
- Zêdebûna spî jê bibe
|
||||
|
||||
## Ez çi kontrol dikim?
|
||||
|
||||
Çi ciyawaziya di navbera skana û koda xwerû di vê depoyê de, di nav de:
|
||||
|
||||
### Şîrove
|
||||
|
||||
- Şîrovên di koda ku hatî veguheztin divê tam weke skanan be.
|
||||
- Ev dibe ku di nav de şaştiyek qesdî be yan jî jêbirin/zedekirina şîrovekî bi tevahî.
|
||||
|
||||
### Şikandina xetê
|
||||
|
||||
- Şikandinên xetan yê ku *li gel* `R0000` di lingê 1 de gereke bi tam weke skanan bin.
|
||||
- Şikandinên xetan yê ku *ne li get* `R0000` di lingê 1 gereke tenê 1 an 2 xetên vala li peyhev hebin.
|
||||
- Eger zêdetir ji 2 şikandinê xetan hebin, şikandinê xetan yê zêde tecrîd bike.
|
||||
- Xetên li gel `R0000` di lingê 1 de di nav van de nayê jimartin.
|
||||
- Di wêneyên skanan de, ev şikandinên xetan hatine çêkirin di riya jimarek ne çapkirî di lingê 8an de. Jimara 2 li wer valahiyek dualî mecbûr kiriyê (yek xeta vala) û jimara 3 valahiyek sêalî mecbur kiriye (du xetên vala). Nirxên 4-8-ê hatin diyar kirin lê ti carî ne hatine bikaranîn. Zêdetir li ser wê bixwînin [#159][7]
|
||||
|
||||
Wek mînak jêrîn:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Gereke bibe:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
### Valahî
|
||||
|
||||
- Valahiyên di navbera du tîpan de di rêzikê de divê peymana jêrîn rêz bikin (nîqaşê li [#316][10] binihêrin):
|
||||
- Tenê valahiyek ji bo peyvên nû.
|
||||
- Du valahî ji bo hevokên nû.
|
||||
- Sê valahî ji bo çar-valahiyan.
|
||||
|
||||
Wek mînak jêrîn:
|
||||
|
||||
```plain
|
||||
1) FOO BAR BAZ QUX QUUX QUUZ. CORGE, GRAULT,
|
||||
GARPLY, WALDO.
|
||||
```
|
||||
|
||||
Gereke bibe:
|
||||
|
||||
```plain
|
||||
1) FOO BAR BAZ QUX QUUX QUUZ. CORGE, GRAULT,
|
||||
GARPLY, WALDO.
|
||||
```
|
||||
|
||||
## Nîşe
|
||||
|
||||
Berî ku hûn PR-ê çêbikin, ji kerema xwe pê tekez bikin ku guhartinên we bi skanan re hevbeş in!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,156 +0,0 @@
|
|||
# Prisidėjimas
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
**Lietuvių**,
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
Šios saugyklos kodas buvo suskaitmenintas rankiniu būdu iš popierinių spausdinių, todėl galima tikėtis klaidų ir kiti neatitikimų. Kodas turi būti pakeistas taip, kad labiau atitiktų šiuos nuskaitytus spausdinius:
|
||||
|
||||
- [AGC spausdiniai Comache][8]
|
||||
- [AGC spausdiniai Luminary][9]
|
||||
|
||||
## Naudingi plėtiniai
|
||||
|
||||
GitHub turi integruotą AGC assemblerio kalbos sintakės palaikymą. Dėja, jūsų kodo redaktorius šios assemblerio kalbos nepalaikys, tačiau yra AGC kalbos plėtinių, kurie suteikia sintakės paryškinimą šiems redaktoriams:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Palaiko automatinį formatavimą
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Formatavimas
|
||||
|
||||
**Pastaba:** GitHub ir plėtiniai nurodyti viršuje automatiškai užtikrins, kad naudotumėte teisingą formatavimą.
|
||||
|
||||
- Naudokite skirtuko įtrauką
|
||||
- Naudokite skirtuko plotį 8
|
||||
- Ištrinkite galinius tarpus
|
||||
|
||||
## Ką aš turiu patikrinti?
|
||||
|
||||
Betkokius neatitikimus tarp skenuočių ir šaltinio kodo šioje saugykloje.
|
||||
|
||||
### Komentarai
|
||||
|
||||
- Komentarai perrašytame kode turi **tiksliai** atitikti skenuočių komentarus.
|
||||
|
||||
Dažnai pasikartojančios problemos, į kurias turėtumėte atkreipti dėmesį, jomis neapsiribojant:
|
||||
|
||||
#### Tipografinės klaidos
|
||||
|
||||
Kai kuriose vietose, rašant komentarus, originalūs kūrėjai paliko tipografinių klaidų. Kai kurios iš jų buvo klaidingai ištaisytos per pradinį skaitmenizavimą, tačiau skaitmenizavimas taip pat pridėjo tipografinių klaidų, kurių nebuvo skenuotėse.
|
||||
|
||||
Pavyzdžiui, jeigu skaitmenizuotas komentaras turėjo žodį `SPACECRAFT`, bet `SPAECRAFT` buvo išspausdintas skenuotėse, tai ši skaitmenizacija **turi** būti pataisyta į `SPAECRAFT` (be `C`).
|
||||
|
||||
Taip pat, jeigu žodis turi klaidą skaitmenizacijoje, bet yra parašytas teisingai skenuotėse, tai ta klaida **turi** būti pataisyta.
|
||||
|
||||
### Tarpai
|
||||
|
||||
- Tarpai tarp dviejų rašmenų komentaruose **turi** atitikti skenuotes. Dažnu atvėju (žiūrėti diskusiją [#316][10]), tai yra:
|
||||
- Vienas tarpas naujiems žodžiams.
|
||||
- Dvigubas tarpas naujiems sakiniams.
|
||||
- Trigubas tarpas įtraukoms.
|
||||
|
||||
Nevisi puslapiai skenuotėse laikosi šių taisykių, jeigu skenuotės turi tik vieną tarpą vietoj dvigubo tarpo, reikia naudoti vieną tarpą.
|
||||
|
||||
### Eilučių lūžiai
|
||||
|
||||
- Linijų lūžiai su *pločiu* `R0000` pirmame stulpelyje turi tiksliai atitikti skenuotes.
|
||||
- Linijų lūžiai su *pločiu**__out__* `R0000` pirmame stulpelyje gali turėti tik vieną arba dvi tuščias eilutes iš eilės.
|
||||
- Jeigu yra daugiau negu dvi tuščios linijos, reikia ištrinti papildomas eilutes.
|
||||
- Linijos su `R0000` pirmame stulpelyje nesiskaičiuoja.
|
||||
- Šaltinių nuotraukose, šios buvo sukurtos nespausdintu skaitmeniu aštuntame stulpelyje. A 2 - ten buvo dvigubas tarpas (viena tuščia eilutė) ir a 3 buvo trigubas tarpas (dviguba tuščia eilutė). Reikšmės nuo 4-8 buvo apibrėžtos, bet niekada nenaudotos. Daugiau apie tai [#159][7]
|
||||
|
||||
Pavyzdžiui, šis tekstas:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Turėtų patapti:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
## Pastabos
|
||||
|
||||
Prieš kuriant PR, prašome įsitikinti, kad jūsų pakeitimai atitinka skenuotes!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
157
CONTRIBUTING.md
157
CONTRIBUTING.md
|
|
@ -1,157 +0,0 @@
|
|||
# Contributing
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
**English**,
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
The source code in this repository was digitized manually from paper printouts, so typos and other discrepancies have been introduced accidentally. The code shall be modified to be made consistent with the following scanned printouts:
|
||||
|
||||
- [AGC printouts for Comanche][8]
|
||||
- [AGC printouts for Luminary][9]
|
||||
|
||||
## Useful Extensions
|
||||
|
||||
GitHub has syntax support for the AGC assembly language built-in. Unfortunately your code editor will not, however there are AGC language extensions that provides syntax highlighting for the following editors:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Supports automatic formatting
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Formatting
|
||||
|
||||
**Note:** GitHub and extensions marked above will ensure you're using the correct formatting automatically.
|
||||
|
||||
- Use tab indentation
|
||||
- Use tab width of 8
|
||||
- Trim trailing whitespace
|
||||
|
||||
## What do I check?
|
||||
|
||||
Any discrepancies between the scans and the source code in this repository.
|
||||
|
||||
### Comments
|
||||
|
||||
Comments in the transcribed code **MUST** match the scans **exactly**.
|
||||
|
||||
Common issues you should look out for while proofing include, but not limited to:
|
||||
|
||||
#### Typographic Errors
|
||||
|
||||
In some places, the original developers made typographic errors while writing comments. Some of these were mistakenly corrected during the initial digitisation, however the digitisation has also introduced typographic errors that were not present in the scans.
|
||||
|
||||
For example, if the digitised comments contained `SPACECRAFT`, but `SPAECRAFT` was printed in the scans, then the digitisation **MUST** be corrected to `SPAECRAFT` (missing `C`).
|
||||
|
||||
Likewise, if a word has a typo in the digitisation but is spelt correctly in the scans then the typo **MUST** be corrected.
|
||||
|
||||
#### Spaces
|
||||
|
||||
Spaces between two characters in comments **SHOULD** match the scans. In most cases (see the discussion in [#316][10]), this is:
|
||||
|
||||
- Single space for new words.
|
||||
- Double space for new sentences.
|
||||
- Triple space for indentations.
|
||||
|
||||
Not all pages in the scans follow this generalisation, if the scans only have a single space instead of a double space, use a single space.
|
||||
|
||||
### Line breaks
|
||||
|
||||
- Line breaks *with* `R0000` in column 1 should match the scans exactly.
|
||||
- Line breaks *with**__out__* `R0000` in column 1 should contain only 1 or 2 blank lines in a row.
|
||||
- If there are more than 2 blank lines breaks, strip the extra line breaks.
|
||||
- Lines with `R0000` in column 1 do not count towards this.
|
||||
- In the source images, these were created by an unprinted digit in column 8. A 2 there forced a double space (single blank line) and a 3 forced a triple space (double blank line). Values 4-8 were defined but never used. Read more about it in [#159][7]
|
||||
|
||||
For example the following:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Should become:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
## Note
|
||||
|
||||
Before you make a PR, please make sure your changes are consistent with the scans!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,159 +0,0 @@
|
|||
# Bijdragen
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
**Nederlands**,
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
De broncode in deze repository is handmatig gedigitalizeerd van papieren stukken. Typfouten en andere discrepanties kunnen per ongeluk zijn toegevoegd. De code zal worden aangepast om gelijk te worden gemaakt aan de gescande papieren:
|
||||
|
||||
- [AGC prints voor Comanche][8]
|
||||
- [AGC prints voor Luminary][9]
|
||||
|
||||
## Handige extensies
|
||||
|
||||
GitHub heeft syntax ondersteuning voor de AGC assembly taal ingebouwd. Helaas heeft jouw editor dit niet, gelukkig zijn er AGC extensies die de volgende editors kunnen voorzien van syntax ondersteuning:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Ondersteunt automatische opmaak
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Opmaak
|
||||
|
||||
**Let op:** GitHub en de extensies in de lijst hierboven zorgen ervoor dat je automatisch de correcte opmaak gebruikt.
|
||||
|
||||
- Gebruik tab indentatie
|
||||
- Gebruik een tab width van 8
|
||||
- Haal trailing whitespace weg
|
||||
|
||||
## Wat controleer ik?
|
||||
|
||||
Elk verschil tussen de scans en de broncode in deze repository inclusief:
|
||||
|
||||
### Commentaren
|
||||
|
||||
- Commentaren in de overgeschreven code moeten exact hetzelfde zijn als in de scans
|
||||
- Soms betekent dit dat je expres een typfout moet overnemen of een commentaar volledig moet weghalen.
|
||||
|
||||
### Regeleindes
|
||||
|
||||
- Regeleinden *met* `R0000` in kolom 1 moeten exact overeen komen met de scans.
|
||||
- Regeleinden *zonder* `R0000` in kolom 1 moeten slechts 1 of 2 lege regels in een rij bevatten.
|
||||
- Als er meer dan twee lege regels zijn, haal de extra witregels dan weg.
|
||||
- Regels met `R0000` in kolom 1 tellen hierbij niet mee.
|
||||
- In de bron scans zijn deze aangemaakt door een niet uitgeprint getal in kolom 8. Een 2 in deze kolom veroorzaakte een dubbele spatie (enkele witregel) en een 3 in deze kolom veroorzaakte een driedubbele spatie (dubbele witregel). De waarden 4-8 waren wel gedefinieerd maar nooit gebruikt. Lees hier meer over in [#159][7]
|
||||
|
||||
Bijvoorbeeld het volgende:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Zou dit moeten worden:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
### Spaties
|
||||
|
||||
- Spaties tussen twee karakters in de string moeten de volgende conventie gebruiken (bekijk de discussie in [#316][10]):
|
||||
- Enkele spatie voor een nieuw woord.
|
||||
- Dubbele spatie voor een nieuwe zin.
|
||||
- Driedubbele spatie voor inspringen.
|
||||
|
||||
Bijvoorbeeld het volgende:
|
||||
|
||||
```plain
|
||||
1) FOO BAR BAZ QUX QUUX QUUZ. CORGE, GRAULT,
|
||||
GARPLY, WALDO.
|
||||
```
|
||||
|
||||
Zou dit moeten worden:
|
||||
|
||||
```plain
|
||||
1) FOO BAR BAZ QUX QUUX QUUZ. CORGE, GRAULT,
|
||||
GARPLY, WALDO.
|
||||
```
|
||||
|
||||
## Let op
|
||||
|
||||
Voordat je een PR maakt zorg er alsjeblieft voor dat je wijzigingen consistent zijn met de scans!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,155 +0,0 @@
|
|||
# Bidra
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
**Norsk**,
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
Kilde koden I dette «repository» var digitalisert manuelt ifra papir utskrifter, om det finnes stavefeil og andre avvik skall koden reflektere dette. Skrivefeil og andre avvik kan ha blitt innført ved et uhell men skal allikevel være identisk med følgende digitalisert papir utskrifter:
|
||||
|
||||
- [AGC utskrift for Comanche][8]
|
||||
- [AGC utskrift for Luminary][9]
|
||||
|
||||
## Nytteprogrammer
|
||||
|
||||
GitHub har kildekode støtte for «assembly» programmerings språket AGC ( innebygget ), og de følgene tekst redigerings programmene har også støtte for nøkkel ord fargesetting:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Supporterer automatisk formattering
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Formattering
|
||||
|
||||
**Merk:** GitHub og redigerings programmene nevnt ovenfor vil sørge for at du bruker korrekt formattering av kilde koden.
|
||||
|
||||
- Bruk Tab for innrykk
|
||||
- Bruk Tab med 8 mellomrom
|
||||
- Ta bort mellomrom og annet som ikke er synlig på slutten av setninger
|
||||
|
||||
## Hva må jeg sjekke?
|
||||
|
||||
Eventuelle avvik ifra de innskannede bildene og kilde koden i dette «repository»
|
||||
|
||||
### Kommentarer
|
||||
|
||||
Kommentarer i denne koden **SKAL** stemme **eksakt** med den digitaliserte originalen.
|
||||
|
||||
Vanlige feil en bør se etter er blant annet:
|
||||
|
||||
#### Typografiske feil
|
||||
|
||||
Noen steder skrev original utvikleren feil i kode kommentarene. Noen av disse feilene ble rettet under digitaliseringen, og digitaliseringen har også introdusert nye typografiske feil som ikke kommer ifra papir utskriften.
|
||||
|
||||
For eksempel, om de originale dokumentene var feilstavet til ‘SPAECRAFT’ og de digitaliserte dokumentene ble endret til ‘SPACECRAFT’ så **SKAL** dette rettes til og reflektere de originale dokumentene, altså uten ‘C’ i ordet.
|
||||
|
||||
På samme måte, om digitaliseringen introduserte stavefeil som ikke var tilstede i de originale dokumentene **SKAL** dette rettes.
|
||||
|
||||
#### Mellomrom
|
||||
|
||||
Mellomrom mellom to karakterer i teksten **BØR** følge de digitaliserte dokumentene. I de fleste tilfeller (se diskusjon i [#316[10]) betyr dette:
|
||||
|
||||
- Enkelt mellomrom for nye ord
|
||||
- Dobbelt mellomrom for nye linjer
|
||||
- Trippel mellomrom for innrykk
|
||||
|
||||
Ikke alle sider i de digitaliserte dokumentene følger denne generaliseringen, så om de digitaliserte dokumentene bruker enkelt mellomrom i stedet for dobbelt mellomrom så skal enkelt mellomrom følges.
|
||||
|
||||
### Linje Skift
|
||||
|
||||
- Linje skift *med* `R0000` i kolonne 1 skal stemme helt med originalen.
|
||||
- Linje skift *uten* `R0000` i kolonne 1 skal bare ha en eller to blanke linjer etter seg.
|
||||
- Om det er flere enn to blanke linjer skal de fjernes
|
||||
- Linjer med `R0000` i kolonne 1 regnes ikke i slike tilfeller
|
||||
- I originalen ble disse skapt av et uskrevet tegn i kolonne 8. Sto det 2 der var der et dobbelt mellomrom ( enkel blank linje ) og om det var 3 så ble det et trippel mellomrom ( to dobble linjer ). Verdiene ifra 4 til 8 var definert, men er ikke i bruk. Les mer om dette i [#159][7]
|
||||
|
||||
For eksempel skal følgende kode:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Se slik ut:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
## Noter
|
||||
|
||||
Før en gjør en «Pull Request» bør man være helt sikker på at forandringer er helt lik de digitaliserte bildene!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,157 +0,0 @@
|
|||
# Contributing
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
**Polski**,
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
Kod źródłowy w tym repozytorium został zdigitalizowany ręcznie na podstawie wydruków papierowych, więc literówki i inne rozbieżności zostały wprowadzone przypadkowo. Kod należy zmodyfikować, aby był zgodny z zeskanowanymi wydrukami:
|
||||
|
||||
- [AGC printouts for Comanche][8]
|
||||
- [AGC printouts for Luminary][9]
|
||||
|
||||
## Przydatne rozszerzenia
|
||||
|
||||
GitHub obsługuje składnię wbudowanego języka asemblera AGC. Niestety twój edytor kodu prawdopodobnie nie będzie go obsługiwał, jednak istnieją rozszerzenia języka AGC, które zapewniają obsługę składni tego języka dla następujących edytorów:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Wspiera automatyczne formatowanie
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Formatowanie
|
||||
|
||||
**Uwaga:** GitHub wraz z powyższymi rozszerzeniami zapewniają automatyczne użycie prawidłowego formatowana
|
||||
|
||||
- Tabulacja
|
||||
- Szerokość tabulacji wynosząca 8
|
||||
- Niepozostawianie spacji na końcu wierszy
|
||||
|
||||
## Co mam sprawdzać?
|
||||
|
||||
Wszelkie rozbieżności między skanami a kodem źródłowym tego repozytorium.
|
||||
|
||||
### Komentarze
|
||||
|
||||
Komentarze w transkrybowanym kodzie **MUSZĄ DOKŁADNIE** odpowiadać skanom.
|
||||
|
||||
Typowe problemy, na które należy zwrócić uwagę podczas sprawdzania, obejmują między innymi:
|
||||
|
||||
#### Literówki
|
||||
|
||||
W niektórych miejscach pierwotni programiści popełnili błędy typograficzne podczas pisania komentarzy. Niektóre z nich zostały błędnie poprawione podczas wstępnej digitalizacji, jednak digitalizacja wprowadziła również błędy typograficzne, których nie było w skanach.
|
||||
|
||||
Na przykład, jeśli zdigitalizowane komentarze zawierały słowo „SPACECRAFT”, ale na skanach odczytano „SPAECRAFT”, wówczas digitalizacja **MUSI** zostać poprawiona na „SPAECRAFT” (brakujące „C”).
|
||||
|
||||
Podobnie, jeśli słowo zawiera literówkę w digitalizacji, ale jest poprawnie napisane na skanach, wówczas literówka **MUSI** zostać poprawiona.
|
||||
|
||||
#### Spacje
|
||||
|
||||
Spacje pomiędzy dwoma znakami w danym ciągu powinny być zgodne z następującą konwencją (patrz na [#316][10]):
|
||||
|
||||
- Pojedyncza spacja dla nowego słowa.
|
||||
- Podwójna spacja dla nowego zdania.
|
||||
- Potrójna spacja dla akapitu.
|
||||
|
||||
Nie wszystkie strony w skanach są zgodne z tym uogólnieniem, jeśli skany mają tylko jedną spację zamiast podwójnej, użyj jednej spacji.
|
||||
|
||||
### Rozdzielanie wierszy
|
||||
|
||||
- Wiersz *rozpoczynający się od* `R0000` w kolumnie 1 powinien dokładnie pasować do skanów.
|
||||
- Wiersz *nierozpoczynający się od* `R0000` w kolumnie 1 powinien zawierać tylko 1 lub 2 puste wiersze z rzędu.
|
||||
- Jeżeli są więcej niż 2 puste wiersze - usuń ich nadmiar.
|
||||
- Wiersze rozpoczynające się od `R0000` w kolumnie 1 nie są zaliczane jako pusty wiersz.
|
||||
- W obrazach źródłowych puste linie zostały utworzone przez niezadrukowaną cyfrę w kolumnie 8. 2 wymusiło podwójną spację (pojedyncza pusta linia), a 3 wymusiło potrójną spację (podwójna pusta linia). Wartości 4-8 zostały zdefiniowane, ale nigdy nie były używane. Więcej na ten temat w [#159][7]
|
||||
|
||||
Na przykład:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Zostaje zmienione na:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
## Uwaga
|
||||
|
||||
Zanim utworzysz PR, upewnij się, że zmiany są zgodne ze skanami!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,160 +0,0 @@
|
|||
# Contribuindo
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
**Português**,
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
O código-fonte neste repositório foi digitado manualmente a partir de impressões em papel, logo alguns erros de digitação e discrepâncias foram introduzidos acidentalmente. O código deve ser modificado para se tornar consistente com as seguintes digitalizações:
|
||||
|
||||
- [Impressões em AGC para Comanche][8]
|
||||
- [Impressões em AGC para Luminary][9]
|
||||
|
||||
## Extensões úteis
|
||||
|
||||
GitHub possui suporte de sintaxe nativo para a linguagem assembly AGC.
|
||||
Infelizmente, seu editor de texto não o terá. Portanto, existem extensões para a linguagem AGC que providenciam destaque de sintaxe para os seguintes editores:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Suporta formatação automática
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Formatando
|
||||
|
||||
**Nota:** GitHub e as três extensões listadas acima garantirão que você estará usando a formatação correta automaticamente.
|
||||
|
||||
- Use indentação por tab
|
||||
- Use largura de tab em 8
|
||||
- Diminua o espaço em branco à direita
|
||||
|
||||
## O que devo conferir?
|
||||
|
||||
Quaisquer discrepâncias entre as digitalizações e o código-fonte neste repositório, incluindo:
|
||||
|
||||
### Comentários
|
||||
|
||||
- Comentários no código transcrito devem corresponder exatamente às digitalizações
|
||||
- Isso pode envolver criar um erro de digitação deliberadamente ou remover/adicionar um comentário inteiro.
|
||||
|
||||
### Quebra de linha
|
||||
|
||||
- Quebras de linha *com* `R0000` na coluna 1 devem corresponder exatamente às digitalizações.
|
||||
- Quebras de linha *sem* `R0000` na coluna 1 devem conter apenas uma ou duas linhas em branco em sequência.
|
||||
- Se existem mais de duas quebras de linha em branco, remova as quebras de linha extras.
|
||||
- Linhas com `R0000` na coluna 1 não contam para este propósito.
|
||||
- As imagens fonte foram criadas por meio de um dígito não-impresso na coluna 8. Um 2 forçava um espaço duplo (linha em branco única) e um 3 forçava um espaço triplo (linha em branco dupla). Os valores de 4 até 8 foram definidos porém nunca usados. Leia mais sobre em [#159][7]
|
||||
|
||||
Por exemplo, o seguinte código:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Deve tornar-se:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
### Espaços
|
||||
|
||||
- Espaços entre dois caracteres na cadeia de caracteres devem respeitar a seguinte convenção (veja a discussão em [#316][10]):
|
||||
- Espaço único para novas palavras.
|
||||
- Espaço duplo para novas sentenças.
|
||||
- Espaço triplo para indentações.
|
||||
|
||||
Por exemplo, o seguinte código:
|
||||
|
||||
```plain
|
||||
1) FOO BAR BAZ QUX QUUX QUUZ. CORGE, GRAULT,
|
||||
GARPLY, WALDO.
|
||||
```
|
||||
|
||||
Deve tornar-se:
|
||||
|
||||
```plain
|
||||
1) FOO BAR BAZ QUX QUUX QUUZ. CORGE, GRAULT,
|
||||
GARPLY, WALDO.
|
||||
```
|
||||
|
||||
## Notas
|
||||
|
||||
Antes de realizar um PR, por favor, certifique-se que suas mudanças estejam consistentes com as digitalizações!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,157 +0,0 @@
|
|||
# Katkıda Bulunma
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
**Türkçe**,
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
Bu repodaki kaynak kodu kağıt çıktılarından elle dijitalleştirilmiştir. Yani yazım hataları ve diğer tutarsızlıklar yanlışlıkla yapılmıştır. Kod, aşağıdaki taratılmış çıktılar ile tutarlı olması için düzenlenmelidir:
|
||||
|
||||
- [AGC printouts for Comanche][8]
|
||||
- [AGC printouts for Luminary][9]
|
||||
|
||||
## Yararlı Eklentiler
|
||||
|
||||
GitHub, AGC assembly dili için sentaks desteği sağlıyor ama sizin kodu düzenlemek için kullandığınız editör sağlamayacaktır. Aşağıdaki editörler AGC dili sentaks vurgulaması için eklentiler sunmaktadır:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Otomatik biçimlendirmeyi destekler
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Biçimlendirme
|
||||
|
||||
**Not:** GitHub ve yukarıdaki 3 eklenti otomatik olarak doğru biçimlendirmeyi kullanmanızı sağlayacaktır.
|
||||
|
||||
- Girintilemeyi tab ile yapın
|
||||
- Tab genişliği olarak 8'i kullanın
|
||||
- Devamındaki boşlukları silin
|
||||
|
||||
## Neyi kontrol edeyim?
|
||||
|
||||
Taratılmış çıktılar ve bu repodaki kaynak kodu arasındaki herhangi bir tutarsızlığı.
|
||||
|
||||
### Yorumlar
|
||||
|
||||
Uyarlanan koddaki yorum satırları, çıktılar ile **tamamen** **eşleşmelidir**.
|
||||
|
||||
Düzeltmek için bakmanız gereken bazı temel sorunlar şunlardır:
|
||||
|
||||
#### Yazım Hataları
|
||||
|
||||
Bazı yerlerde, orijinal geliştiriciler yorum yazarken yazım hataları yapmış. Bunların bazıları dijitalleştirme sürecinin başlarında yanlışlıkla düzeltildi fakat dijitalleştirme süreci taratılmış çıktılarda olmayan yeni yazım hatalarına da sebep oldu.
|
||||
|
||||
Örneğin, dijitalleştirilmiş yorumlar `SPACECRAFT` kelimesini içeriyorsa ama taratılmış çıktılarda `SPAECRAFT` yazıyorsa, dijitalleştirilmiş yorum `SPAECRAFT` (`C` eksik) olarak **düzeltilmelidir**.
|
||||
|
||||
Aynı şekilde, eğer dijitalleştirmiş yorumlarda bir yazım hatası varsa ama taratılmış çıktılarda doğru yazılmışsa, yazım hatası **düzeltilmelidir**.
|
||||
|
||||
### Boşluklar
|
||||
|
||||
Yorumlar arasındaki iki karakterin arasındaki boşluklar taratılmış çıktılar ile **uyuşmalıdır**. Bir çok durumda ([#316][10]'daki tartışmayı inceleyin) boşluklar şu şekildedir:
|
||||
|
||||
- Yeni kelimeler arası tek boşluk.
|
||||
- Yeni cümleler arası iki boşluk.
|
||||
- Yeni girintiler için üç boşluk.
|
||||
|
||||
Taratılmış çıktılarda bütün sayfalar bu genellemelere uymaz. Eğer çıktılarda iki boşluk yerine bir boşluk varsa, bir boşluk kullanın.
|
||||
|
||||
### Satır sonları
|
||||
|
||||
- Birinci sütunu `R0000` *ile* biten satır sonları çıktılar ile tamamen eşleşmelidir.
|
||||
- Birinci sütunu `R0000` *__olmadan__* biten satır sonları arka arkaya sadece 1 ya da 2 boş satır içermelidir.
|
||||
- Eğer 2'den fazla satır sonu varsa ekstra olan satır sonlarını kaldırın.
|
||||
- Birinci sütunu `R0000` *ile* biten satırlar bu kural dahilinde değildir.
|
||||
- Kaynak resimlerde bunlar 8. satırındaki basamak bastırılmamış halde oluşturulmuştur. Bir 2 kullanımı iki boşluğu (tek boş satırı) temsil ederken, bir 3 kullanımı üç boşluğu (iki boş satırı) ifade eder. 4 ve 8 tanımlanmıştır fakat hiç kullanılmamıştır. Bunun hakkında daha fazla okumak için: [#159][7]
|
||||
|
||||
Örneğin bu:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Buna dönüşmeli:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
## Not
|
||||
|
||||
PR yapmadan önce lütfen yaptığınız değişikliklerin çıktılar ile tutarlı olduğundan emin olun!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,157 +0,0 @@
|
|||
# Contributing
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
**Українска**,
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
Вихідний код у цьому репозиторії було оцифровано вручну з паперових роздруківок, тому помилки та інші розбіжності були внесені випадково. Код необхідно змінити, щоб узгодити його з такими сканованими роздруківками:
|
||||
|
||||
- [AGC printouts for Comanche][8]
|
||||
- [AGC printouts for Luminary][9]
|
||||
|
||||
## Корисні розширення
|
||||
|
||||
GitHub має вбудовану підтримку синтаксису для мови асемблера AGC. На жаль, ваш редактор коду цього не зробить, однак існують розширення мови AGC, які забезпечують підсвічування синтаксису для таких редакторів:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† Підтримує автоматичне форматування
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## Форматування
|
||||
|
||||
**Примітка.** GitHub і розширення, позначені вище, забезпечать автоматичне використання правильного форматування.
|
||||
|
||||
- Використовуйте відступ через TAB.
|
||||
- Використовуйте TAB шириною (width) у 8.
|
||||
- Видаляйте кінцеві пробіли.
|
||||
|
||||
## Що мені перевірити?
|
||||
|
||||
Будь-які розбіжності між сканами та вихідним кодом у цьому репозиторії.
|
||||
|
||||
### Коментарі
|
||||
|
||||
Коментарі в транскрибованому коді **МАЮТЬ** **точно** збігатися зі сканами.
|
||||
|
||||
Поширені проблеми, на які слід звернути увагу під час перевірки, вміщують, але не обмежуються таким:
|
||||
|
||||
#### Друкарські помилки
|
||||
|
||||
У деяких місцях оригінальні розробники допускали друкарські помилки під час написання коментарів. Деякі з них були помилково виправлені під час початкової оцифровки, однак оцифрування також допустило друкарські помилки, яких не було в сканованих документах.
|
||||
|
||||
Наприклад, якщо оцифровані коментарі містили `SPAECRAFT`, але `SPAECRAFT` було надруковано в сканах, тоді оцифрування **ПОТРІБНО** виправити на `SPAECRAFT` (відсутнє `C`).
|
||||
|
||||
Аналогічно якщо слово має друкарську помилку під час оцифрування, але написано правильно в сканах, тоді друкарську помилку **ПОТРІБНО** виправити.
|
||||
|
||||
#### Пробіли
|
||||
|
||||
Пробіли між двома символами в коментарях **ПОВИННІ** збігатися зі сканами. У більшості випадків (див. обговорення у [#316][10]), це:
|
||||
|
||||
- Одиничний пробіл для нових слів.
|
||||
- Подвійний пробіл для нових речень.
|
||||
- Потрійний пробіл для відступів.
|
||||
|
||||
Не всі скановані сторінки дотримуються цього узагальнення. Якщо скани мають лише один пробіл замість подвійного, використовуйте один пробіл.
|
||||
|
||||
### Розриви рядків
|
||||
|
||||
- Розриви рядків *з* `R0000` у стовпці 1 мають точно відповідати сканам.
|
||||
- Розриви рядків *з**__out__* `R0000` у стовпці 1 мають містити лише 1 або 2 порожні рядки поспіль.
|
||||
- Якщо є більше 2 порожніх розривів рядків, видаліть додаткові розриви рядків.
|
||||
- Рядки з `R0000` у стовпці 1 не враховуються.
|
||||
- На вихідних зображеннях вони були створені недрукованою цифрою в стовпці 8. 2 примусово ставило подвійний пробіл (один порожній рядок), а 3 — потрійний пробіл (подвійний порожній рядок). Значення 4-8 були визначені, але ніколи не використовувалися. Докладніше про це в [#159][7].
|
||||
|
||||
Наприклад, наступне:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
Має стати:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
## Примітка
|
||||
|
||||
Перш ніж робити PR, будь ласка, переконайтеся, що ваші зміни узгоджуються зі сканами!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,163 +0,0 @@
|
|||
# 贡献
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
[正體中文][ZH_TW],
|
||||
**简体中文**,
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
本仓库中的源代码来自对纸质打印输出文件的手动数字化,所以会不小心引入一些拼写错误和其他差异。这些代码应该被修正以使其与原纸质打印输出文件内容保持一致:
|
||||
|
||||
- [阿波罗 11 号制导计算机(AGC)中指令模块打印输出][8]
|
||||
- [阿波罗 11 号制导计算机(AGC)中登月模块打印输出][9]
|
||||
|
||||
## 有用的扩展
|
||||
|
||||
GitHub 内建支持 AGC 汇编语言语法。不幸的是,你的代码编辑器并不支持,但有些
|
||||
AGC 语言的扩展插件可以为下列的编辑器提供语法高亮显示支持:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† 符号表示支持自动格式化
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## 格式化
|
||||
|
||||
**注意**:GitHub 和上面列出的3个扩展插件会确保您自动使用正确的格式。
|
||||
|
||||
- 使用 TAB 进行缩进
|
||||
- TAB 宽度为 8 个字符
|
||||
- 去掉末尾的空格
|
||||
|
||||
## 我该怎么检查?
|
||||
|
||||
原始的扫描打印输出文件与此存储库中的源码之间存在的差异,包括:
|
||||
|
||||
### 注释
|
||||
|
||||
- 转录代码中的注释应与扫描件完全匹配
|
||||
- 这可能涉及故意创建的拼写错误或删除/添加整个评论
|
||||
|
||||
### 换行
|
||||
|
||||
- 第 1 列 *带* `R0000` 的换行符应与扫描件完全匹配。
|
||||
- 第 1 列 *不**__带__* `R0000` 的换行符应该只包含 1 个或 2 个连续空行。
|
||||
- 如果有超过 2 个空行换行,请删除额外的空白行换行。
|
||||
- 第 1 列中带 `R0000` 的行不计入此。
|
||||
- 在原始图片中,这些是由一个未打印的数字分 8 列创建。A 2 处强制两个空格(单个空白行),A 3 处强制三个空格(双空行)。值 4-8 被定义但从未使用过。可在 [#159][7] 查看细节
|
||||
|
||||
例如以下内容:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
应该改为:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
### 空格
|
||||
|
||||
- 字符串中两个字符之间的空格应遵循以下约定 (可在 [#316][10] 查阅相关讨论):
|
||||
- 新单词另起一个空格.
|
||||
- 新句另起两个空格.
|
||||
- 缩进占三个空格.
|
||||
|
||||
例如以下内容:
|
||||
|
||||
```plain
|
||||
1) FOO BAR BAZ QUX QUUX QUUZ. CORGE, GRAULT,
|
||||
GARPLY, WALDO.
|
||||
```
|
||||
|
||||
应该改为:
|
||||
|
||||
```plain
|
||||
1) FOO BAR BAZ QUX QUUX QUUZ. CORGE, GRAULT,
|
||||
GARPLY, WALDO.
|
||||
```
|
||||
|
||||
## 谨记
|
||||
|
||||
在提交 PR 之前,请确保您的更改与原始的扫描件打印输出一致!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[3]:https://github.com/wopian/agc-assembly
|
||||
[4]:https://github.com/jimlawton/AGC-Assembly
|
||||
[5]:https://github.com/Alhadis/language-agc
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,160 +0,0 @@
|
|||
# 貢獻
|
||||
|
||||
🎌
|
||||
[Čeština][CZ],
|
||||
[Dansk][DA],
|
||||
[Deutsch][DE],
|
||||
[English][EN],
|
||||
[Español][ES],
|
||||
[Français][FR],
|
||||
[Italiano][IT],
|
||||
[Kurdi][KU],
|
||||
[Lietuvių][LT],
|
||||
[Nederlands][NL],
|
||||
[Norsk][NO],
|
||||
[Polski][PL],
|
||||
[Português][PT_BR],
|
||||
[Türkçe][TR],
|
||||
[Ukrainian][UA]،
|
||||
[Ελληνικά][GR],
|
||||
[العربية][AR],
|
||||
[日本語][JA],
|
||||
**正體中文**,
|
||||
[简体中文][ZH_CN],
|
||||
[한국어][KO_KR]
|
||||
|
||||
[AR]:CONTRIBUTING.ar.md
|
||||
[CZ]:CONTRIBUTING.cz.md
|
||||
[DA]:CONTRIBUTING.da.md
|
||||
[DE]:CONTRIBUTING.de.md
|
||||
[EN]:CONTRIBUTING.md
|
||||
[ES]:CONTRIBUTING.es.md
|
||||
[FR]:CONTRIBUTING.fr.md
|
||||
[GR]:CONTRIBUTING.gr.md
|
||||
[IT]:CONTRIBUTING.it.md
|
||||
[JA]:CONTRIBUTING.ja.md
|
||||
[KO_KR]:CONTRIBUTING.ko_kr.md
|
||||
[KU]:CONTRIBUTING.ku.md
|
||||
[LT]:CONTRIBUTING.lt.md
|
||||
[NL]:CONTRIBUTING.nl.md
|
||||
[NO]:CONTRIBUTING.no.md
|
||||
[PL]:CONTRIBUTING.pl.md
|
||||
[PT_BR]:CONTRIBUTING.pt_br.md
|
||||
[TR]:CONTRIBUTING.tr.md
|
||||
[UA]:CONTRIBUTING.ua.md
|
||||
[ZH_CN]:CONTRIBUTING.zh_cn.md
|
||||
[ZH_TW]:CONTRIBUTING.zh_tw.md
|
||||
|
||||
這個倉庫的原始碼,是透過列印出的紙本輸出,予以手動數位化。所以可能會不小心出現錯字和其他出入。程式碼應當修正到與紙本掃描的輸出一致:
|
||||
|
||||
- [AGC printouts for Comanche][8]
|
||||
- [AGC printouts for Luminary][9]
|
||||
|
||||
## 實用套件
|
||||
|
||||
GitHub 內建 AGC 組語語法支援,但你的編輯器本身並沒有。不過,以下編輯器有提供 AGC 語法突顯的語言套件:
|
||||
|
||||
- [Atom][Atom]†
|
||||
- [CodeBlocks][CodeBlocks]
|
||||
- [Eclipse][Eclipse]
|
||||
- [Kate][Kate]
|
||||
- [ProgrammersNotepad][ProgrammersNotepad]
|
||||
- [Sublime Text 3][Sublime Text]†
|
||||
- [TextPad][TextPad]
|
||||
- [Vim][Vim]
|
||||
- [Visual Studio Code][VisualStudioCode]†
|
||||
- [jEdit][jEdit]
|
||||
|
||||
† 支援自動格式化
|
||||
|
||||
[Atom]:https://github.com/Alhadis/language-agc
|
||||
[CodeBlocks]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/CodeBlocks
|
||||
[Eclipse]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Eclipse
|
||||
[Kate]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/Kate
|
||||
[ProgrammersNotepad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/ProgrammersNotepad
|
||||
[Sublime Text]:https://github.com/jimlawton/AGC-Assembly
|
||||
[TextPad]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/TextPad
|
||||
[Vim]:https://github.com/wsdjeg/vim-assembly
|
||||
[VisualStudioCode]:https://github.com/wopian/agc-assembly
|
||||
[jEdit]:https://github.com/virtualagc/virtualagc/tree/master/Contributed/SyntaxHighlight/jEdit
|
||||
|
||||
## 格式化
|
||||
|
||||
**注意:** GitHub 與上面列出的套件,會自動確保您使用正確的格式。
|
||||
|
||||
- 用 tab 縮排
|
||||
- tab 寬度為 8
|
||||
- 去除底部空白
|
||||
|
||||
## 如何檢查?
|
||||
|
||||
掃描與倉庫原始碼的差異會包括:
|
||||
|
||||
### 註解
|
||||
|
||||
抄寫的註解**必須**和掃描**一模一樣**。
|
||||
|
||||
在檢查程式時需要留心,但不限於的問題有:
|
||||
|
||||
#### 拼寫錯誤
|
||||
|
||||
有時候,原始程式的開發者會撰寫時,出現若干拼寫錯誤。有時可能會在初次數位化時,被錯誤地更正;不過數位化本身,也可能產出在原始稿沒出現的拼寫錯誤。
|
||||
|
||||
比方說,數位化的註解如果是 `SPACECRAFT`、但掃描原稿是 `SPAECRAFT` 的話,數位化就**必須**更正為沒有 C 的 `SPAECRAFT`。
|
||||
|
||||
同樣地,如果是數位化的註解錯了、但掃描稿正確的話,就**必須**更正數位化的程式。
|
||||
|
||||
#### 空格
|
||||
|
||||
在字元內,兩個單字之間的空白**必須**與掃描相同。大多數時(請參閱 [#316][10] 的討論)慣例如下:
|
||||
|
||||
- 單字間空一格。
|
||||
- 句子間空兩格。
|
||||
- 縮排間空三格。
|
||||
|
||||
不是所有掃描都遵照這個慣例。如果不空兩格,而是空一格,那就空一格。
|
||||
|
||||
### 換行
|
||||
|
||||
- 在第一列(column 1)*有著* `R0000` 的換行,要和掃描一模一樣。
|
||||
- 在第一列*沒有* `R0000` 的換行,在一行(row)只能留有一到兩個空白行。
|
||||
- 如果空白行超過兩個,請刪去額外的空白行。
|
||||
- 如果在第一列有 `R0000` 的話,就不要這麼做。
|
||||
- 在原始圖片中,這些都是由第八列(column 8)的未列印數字所產生。2 強制用兩個(也就是單一空白行)、3 強制用三個(也就是雙空行)、4-8 有定義,但從未使用過。請參閱 [#159][7] 的詳細訊息。
|
||||
|
||||
例如以下程式:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
|
||||
0821 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
要改寫成:
|
||||
|
||||
```plain
|
||||
R0819 SUBROUTINE TO SKIP...
|
||||
R0820
|
||||
|
||||
|
||||
0820 LAMPTEST CS IMODES33
|
||||
```
|
||||
|
||||
## 注意
|
||||
|
||||
在發 PR 前,請確保您的修改與掃描輸出一模一樣!
|
||||
|
||||
[0]:https://github.com/chrislgarry/Apollo-11/pull/new/master
|
||||
[1]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[2]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[3]:https://github.com/wopian/agc-assembly
|
||||
[4]:https://github.com/jimlawton/AGC-Assembly
|
||||
[5]:https://github.com/Alhadis/language-agc
|
||||
[6]:https://github.com/wopian/agc-assembly#user-settings
|
||||
[7]:https://github.com/chrislgarry/Apollo-11/issues/159
|
||||
[8]:http://www.ibiblio.org/apollo/ScansForConversion/Comanche055/
|
||||
[9]:http://www.ibiblio.org/apollo/ScansForConversion/Luminary099/
|
||||
[10]:https://github.com/chrislgarry/Apollo-11/pull/316#pullrequestreview-102892741
|
||||
|
|
@ -1,513 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: AGC_BLOCK_TWO_SELF-CHECK.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1394-1403
|
||||
# Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting
|
||||
# from the Colossus249/ file of the same
|
||||
# name, using Comanche055 page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1394
|
||||
# PROGRAM DESCRIPTION DATE 20 DECEMBER 1967
|
||||
# PROGRAM NAME - SELF-CHECK LOG SECTION AGC BLOCK TWO SELF-CHECK
|
||||
# MOD NO - 1 ASSEMBLY SUBROUTINE UTILITYM REV 25
|
||||
# MOD BY - GAUNTT
|
||||
#
|
||||
#
|
||||
# FUNCTIONAL DESCRIPTION
|
||||
#
|
||||
# PROGRAM HAS TWO MAIN PARTS. THE FIRST IS SELF-CHECK WHICH RUNS AS A ZERO PRIORITY JOB WITH NO CORE SET, AS
|
||||
# PART OF THE BACK-UP IDLE LOOP. THE SECOND IS SHOW-BANKSUM WHICH RUNS AS A REGULAR EXECUTIVE JOB WITH ITS OWN
|
||||
# STARTING VERB.
|
||||
# THE PURPOSE OF SELF-CHECK IS TO CHECK OUT VARIOUS PARTS OF THE COMPUTER AS OUTLINED BELOW IN THE OPTIONS.
|
||||
# THE PURPOSE OF SHOW-BANKSUM IS TO DISPLAY THE SUM OF EACH BANK , ONE AT A TIME.
|
||||
# IN ALL THERE ARE 7 POSSIBLE OPTIONS IN THIS BLOCK II VERSION OF SELF-CHECK. MORE DETAIL DESCRIPTION MAY BE
|
||||
# FOUND IN E-2065 BLOCK II AGC SELF-CHECK AND SHOW BANKSUM BY EDWIN D. SMALLY DECEMBER 1966, AND ADDENDA 2 AND 3.
|
||||
# THE DIFFERENT OPTIONS ARE CONTROLLED BY PUTTING DIFFERENT NUMBERS IN THE SMODE REGISTER (NOUN 27). BELOW IS
|
||||
# A DESCRIPTION OF WHAT PARTS OF THE COMPUTER THAT ARE CHECKED BY THE OPTIONS, AND THE CORRESPONDING NUMBER, IN
|
||||
# OCTAL, TO LOAD INTO SMODE.
|
||||
# +-4 ERASABLE MEMORY
|
||||
# +-5 FIXED MEMORY
|
||||
# +-1,2,3,6,7,10 EVERYTHING IN OPTIONS 4 AND 5.
|
||||
# -0 SAME AS +-10 UNTIL AN ERROR IS DETECTED.
|
||||
# +0 NO CHECK, PUTS COMPUTER INTO THE BACKUP IDLE LOOP.
|
||||
#
|
||||
#
|
||||
# WARNINGS
|
||||
# USE OF E MEMORY RESERVED FOR SELF-CHECK (EVEN IN IDLE LOOP) AS TEMP STORAGE BY OTHER PROGRAMS IS DANGEROUS.
|
||||
# SMODE SET GREATER THAN OCT 10 PUTS COMPUTER INTO BACKUP IDLE LOOP.
|
||||
#
|
||||
#
|
||||
# CALLING SEQUENCE
|
||||
#
|
||||
# TO CALL SELF-CHECK KEY IN
|
||||
# V 21 N 27 E OPTION NUMBER E
|
||||
# TO CALL SHOW-BANKSUM KEY IN
|
||||
# V 91 E DISPLAYS FIRST BANK
|
||||
# V 33 E PROCEED, DISPLAYS NEXT BANK
|
||||
#
|
||||
#
|
||||
# EXIT MODES, NORMAL AND ALARM
|
||||
#
|
||||
# SELF-CHECK NORMALLY CONTINUES INDEFINITELY UNLESS THERE IS AN ERROR DETECTED. IF SO + OPTION NUMBERS PUT
|
||||
# COMPUTER INTO BACKUP IDLE LOOP, - OPTION NUMBERS RESTART THE OPTION.
|
||||
# THE -0 OPTION PROCEEDS FROM THE LINE FOLLOWING THE LINE WHERE THE ERROR WAS DETECTED.
|
||||
# SHOW-BANKSUM PROCEEDS UNTIL A TERMINATE IS KEYED IN (V 34 E). THE COMPUTER IS PUT INTO THE BACKUP IDLE LOOP
|
||||
#
|
||||
#
|
||||
#
|
||||
# OUTPUT
|
||||
# Page 1395
|
||||
# SELF-CHECK UPON DETECTING AN ERROR LOADS THE SELF-CHECK ALARM CONSTANT (01102) INTO THE FAILREG SET AND
|
||||
# TURNS ON THE ALARM LIGHT. THE OPERATOR MAY THEN DISPLAY THE THREE FAILREGS BY KEYING IN V 05 N 09 E. FOR FURTHER
|
||||
# INFORMATION HE MAY KEY IN V 05 N 08 E, THE DSKY DISPLAY IN R1 WILL BE ADDRESS+1 OF WHERE THE ERROR WAS DETECTED,
|
||||
# IN R2 THE BBCON OF SELF-CHECK, AND IN R3 THE TOTAL NUMBER OF ERRORS DETECTED BY SELF-CHECK SINCE THE LAST MAN
|
||||
# INITIATED FRESH START (SLAP1).
|
||||
# SHOW-BANKSUM STARTING WITH BANK 0 DISPLAYS IN R1 THE BANK SUM (A +-NUMBER EQUAL TO THE BANK NUMBER), IN R2
|
||||
# THE BANK NUMBER, AND IN R3 THE BUGGER WORD.
|
||||
#
|
||||
#
|
||||
# ERASABLE INITIALIZATION REQUIRED
|
||||
# ACCOMPLISHED BY FRESH START
|
||||
# SMODE SET TO +0
|
||||
#
|
||||
# DEBRIS
|
||||
# ALL EXITS FROM THE CHECK OF ERASABLE (ERASCHK) RESTORE ORIGINAL CONTENTS TO REGISTERS UNDER CHECK.
|
||||
# EXCEPTION IS A RESTART. RESTART THAT OCCURS DURING ERASCHK RESTORES ERASABLE, UNLESS THERE IS EVIDENCE TO DOUBT
|
||||
# E MEMORY, IN WHICH CASE PROGRAM THEN DOES A FRESH START (DOFSTART).
|
||||
|
||||
BANK 25
|
||||
SETLOC SELFCHEC
|
||||
BANK
|
||||
|
||||
COUNT 43/SELF
|
||||
|
||||
SBIT1 EQUALS BIT1
|
||||
SBIT2 EQUALS BIT2
|
||||
SBIT3 EQUALS BIT3
|
||||
SBIT4 EQUALS BIT4
|
||||
SBIT5 EQUALS BIT5
|
||||
SBIT6 EQUALS BIT6
|
||||
SBIT7 EQUALS BIT7
|
||||
SBIT8 EQUALS BIT8
|
||||
SBIT9 EQUALS BIT9
|
||||
SBIT10 EQUALS BIT10
|
||||
SBIT11 EQUALS BIT11
|
||||
SBIT12 EQUALS BIT12
|
||||
SBIT13 EQUALS BIT13
|
||||
SBIT14 EQUALS BIT14
|
||||
SBIT15 EQUALS BIT15
|
||||
|
||||
S+ZERO EQUALS ZERO
|
||||
S+1 EQUALS BIT1
|
||||
S+2 EQUALS BIT2
|
||||
S+3 EQUALS THREE
|
||||
S+4 EQUALS FOUR
|
||||
S+5 EQUALS FIVE
|
||||
# Page 1396
|
||||
S+6 EQUALS SIX
|
||||
S+7 EQUALS SEVEN
|
||||
S8BITS EQUALS LOW8 # 00377
|
||||
CNTRCON = OCT50 # USED IN CNTRCHK
|
||||
ERASCON1 OCTAL 00061 # USED IN ERASCHK
|
||||
ERASCON2 OCTAL 01373 # USED IN ERASCHK
|
||||
ERASCON6 = OCT1400 # USED IN ERASCHK
|
||||
ERASCON3 OCTAL 01461 # USED IN ERASCHK
|
||||
ERASCON4 OCTAL 01773 # USED IN ERASCHK
|
||||
S10BITS EQUALS LOW10 # 01777, USED IN ERASCHK
|
||||
SBNK03 EQUALS PRIO6 # 06000, USED IN ROPECHK
|
||||
-MAXADRS = HI5 # FOR ROPECHK
|
||||
SIXTY OCTAL 00060
|
||||
SUPRCON OCTAL 60017 # USED IN ROPECHK
|
||||
S13BITS OCTAL 17777
|
||||
CONC+S1 OCTAL 25252 # USED IN CYCLSHFT
|
||||
CONC+S2 OCTAL 52400 # USED IN CYCLSHFT
|
||||
ERASCON5 OCTAL 76777
|
||||
S-7 = OCT77770
|
||||
S-4 EQUALS NEG4
|
||||
S-3 EQUALS NEG3
|
||||
S-2 EQUALS NEG2
|
||||
S-1 EQUALS NEGONE
|
||||
S-ZERO EQUALS NEG0
|
||||
|
||||
EBANK= LST1
|
||||
ADRS1 ADRES SKEEP1
|
||||
SELFADRS ADRES SELFCHK # SELFCHK RETURN ADDRESS. SHOULD BE PUT
|
||||
# IN SELFRET WHEN GOING FROM SELFCHK TO
|
||||
# SHOWSUM AND PUT IN SKEEP1 WHEN GOING
|
||||
# FROM SHOWSUM TO SELF-CHECK.
|
||||
|
||||
PRERRORS CA ERESTORE # IS IT NECESSARY TO RESTORE ERASABLE
|
||||
EXTEND
|
||||
BZF ERRORS # NO
|
||||
EXTEND
|
||||
DCA SKEEP5
|
||||
INDEX SKEEP7
|
||||
DXCH 0000 # RESTORE THE TWO ERASABLE REGISTERS
|
||||
CA S+ZERO
|
||||
TS ERESTORE
|
||||
ERRORS INHINT
|
||||
CA Q
|
||||
TS SFAIL # SAVE Q FOR FAILURE LOCATION
|
||||
TS ALMCADR # FOR DISPLAY WITH BBANK AND ERCOUNT
|
||||
INCR ERCOUNT # KEEP TRACK OF NUMBER OF MALFUNCTIONS.
|
||||
TCALARM2 TC ALARM2
|
||||
OCT 01102 # SELF-CHECK MALFUNCTION INDICATOR
|
||||
CCS SMODE
|
||||
SIDLOOP CA S+ZERO
|
||||
# Page 1397
|
||||
TS SMODE
|
||||
TC SELFCHK # GO TO IDLE LOOP
|
||||
TC SFAIL # CONTINUE WITH SELF-CHECK
|
||||
|
||||
-1CHK CCS A
|
||||
TCF PRERRORS
|
||||
TCF PRERRORS
|
||||
CCS A
|
||||
TCF PRERRORS
|
||||
TC Q
|
||||
|
||||
SMODECHK EXTEND
|
||||
QXCH SKEEP1
|
||||
TC CHECKNJ # CHECK FOR NEW JOB
|
||||
CCS SMODE
|
||||
TC SOPTIONS
|
||||
TC SMODECHK +2 # TO BACKUP IDLE LOOP
|
||||
TC SOPTIONS
|
||||
INCR SCOUNT
|
||||
TC SKEEP1 # CONTINUE WITH SELF-CHECK
|
||||
|
||||
SOPTIONS AD S-7
|
||||
EXTEND
|
||||
BZMF +2 # FOR OPTIONS BELOW NINE.
|
||||
BNKOPTN TC SIDLOOP # ILLEGAL OPTION. GO TO IDLE LOOP.
|
||||
INCR SCOUNT # FOR OPTIONS BELOW NINE.
|
||||
AD S+7
|
||||
|
||||
INDEX A
|
||||
TC SOPTION1
|
||||
SOPTION1 TC SKEEP1 # WAS TC+TCF
|
||||
SOPTION2 TC SKEEP1 # WAS IN:OUT1
|
||||
SOPTION3 TC SKEEP1 # WAS COUNTCHK
|
||||
SOPTION4 TC ERASCHK
|
||||
SOPTION5 TC ROPECHK
|
||||
SOPTION6 TC SKEEP1
|
||||
SOPTION7 TC SKEEP1
|
||||
SOPTON10 TC SKEEP1 # CONTINUE WITH SELF-CHECK
|
||||
|
||||
CHECKNJ EXTEND
|
||||
QXCH SELFRET # SAVE RETURN ADDRESS WHILE TESTING NEWJOB
|
||||
TC POSTJUMP # TO SEE IF ANY JOBS HAVE BECOME ACTIVE.
|
||||
CADR ADVAN
|
||||
|
||||
SELFCHK TC SMODECHK # ** CHARLEY, COME IN HERE
|
||||
|
||||
# SKEEP7 HOLDS LOWEST OF TWO ADDRESSES BEING CHECKED.
|
||||
# SKEEP6 HOLDS B(X+1).
|
||||
# SKEEP5 HOLDS B(X).
|
||||
# SKEEP4 HOLDS C(EBANK) DURING ERASLOOP AND CHECKNJ.
|
||||
# Page 1398
|
||||
# SKEEP3 HOLDS LAST ADDRESS BEING CHECKED (HIGHEST ADDRESS).
|
||||
# SKEEP2 CONTROLS CHECKING OF NON-SWITCHABLE ERASABLE MEMORY WITH BANK NUMBERS IN EB.
|
||||
# ERASCHK TAKES APPROXMATELY 7 SECONDS
|
||||
ERASCHK CA S+1
|
||||
TS SKEEP2
|
||||
0EBANK CA S+ZERO
|
||||
TS EBANK
|
||||
CA ERASCON3 # 01461
|
||||
TS SKEEP7 # STARTING ADDRESS
|
||||
CA S10BITS # 01777
|
||||
TS SKEEP3 # LAST ADDRESS CHECKED
|
||||
TC ERASLOOP
|
||||
|
||||
E134567B CA ERASCON6 # 01400
|
||||
TS SKEEP7 # STARTING ADDRESS
|
||||
CA S10BITS # 01777
|
||||
TS SKEEP3 # LAST ADDRESS CHECKED
|
||||
TC ERASLOOP
|
||||
|
||||
2EBANK CA ERASCON6 # 01400
|
||||
TS SKEEP7 # STARTING ADDRESS
|
||||
CA ERASCON4 # 01773
|
||||
TS SKEEP3 # LAST ADDRESS CHECKED
|
||||
TC ERASLOOP
|
||||
|
||||
NOEBANK TS SKEEP2 # +0
|
||||
CA ERASCON1 # 00061
|
||||
TS SKEEP7 # STARTING ADDRESS
|
||||
CA ERASCON2 # 01373
|
||||
TS SKEEP3 # LAST ADDRESS CHECKED
|
||||
|
||||
ERASLOOP INHINT
|
||||
CA EBANK # STORES C(EBANK)
|
||||
TS SKEEP4
|
||||
EXTEND
|
||||
NDX SKEEP7
|
||||
DCA 0000
|
||||
DXCH SKEEP5 # STORES C(X) AND C(X+1) IN SKEEP6 AND 5.
|
||||
CA SKEEP7
|
||||
TS ERESTORE # IF RESTART, RESTORE C(X) AND C(X+1)
|
||||
TS L
|
||||
INCR L
|
||||
NDX A
|
||||
DXCH 0000 # PUTS OWN ADDRESS IN X AND X +1
|
||||
NDX SKEEP7
|
||||
CS 0001 # CS X+1
|
||||
NDX SKEEP7
|
||||
AD 0000 # AD X
|
||||
TC -1CHK
|
||||
CA ERESTORE # HAS ERASABLE BEEN RESTORED
|
||||
# Page 1399
|
||||
EXTEND
|
||||
BZF ELOOPFIN # YES, EXIT ERASLOOP.
|
||||
EXTEND
|
||||
NDX SKEEP7
|
||||
DCS 0000 # COMPLEMENT OF ADDRESS OF X AND X+1
|
||||
NDX SKEEP7
|
||||
DXCH 0000 # PUT COMPLEMENT OF ADDRESS OF X AND X+1
|
||||
NDX SKEEP7
|
||||
CS 0000 # CS X
|
||||
NDX SKEEP7
|
||||
AD 0001 # AD X+1
|
||||
TC -1CHK
|
||||
CA ERESTORE # HAS ERASABLE BEEN RESTORED
|
||||
EXTEND
|
||||
BZF ELOOPFIN # YES, EXIT ERASLOOP.
|
||||
EXTEND
|
||||
DCA SKEEP5
|
||||
NDX SKEEP7
|
||||
DXCH 0000 # PUT B(X) AND B(X+1) BACK INTO X AND X+1
|
||||
CA S+ZERO
|
||||
TS ERESTORE # IF RESTART, DO NOT RESTORE C(X), C(X+1)
|
||||
ELOOPFIN RELINT
|
||||
TC CHECKNJ # CHECK FOR NEW JOB
|
||||
CA SKEEP4 # REPLACES B(EBANK)
|
||||
TS EBANK
|
||||
INCR SKEEP7
|
||||
CS SKEEP7
|
||||
AD SKEEP3
|
||||
EXTEND
|
||||
BZF +2
|
||||
TC ERASLOOP # GO TO NEXT ADDRESS IN SAME BANK
|
||||
CCS SKEEP2
|
||||
TC NOEBANK
|
||||
INCR SKEEP2 # PUT +1 IN SKEEP2.
|
||||
CA EBANK
|
||||
AD SBIT9
|
||||
TS EBANK
|
||||
AD ERASCON5 # 76777, CHECK FOR BANK E2
|
||||
EXTEND
|
||||
BZF 2EBANK
|
||||
CCS EBANK
|
||||
TC E134567B # GO TO EBANKS 1,3,4,5,6, AND 7
|
||||
CA ERASCON6 # END OF ERASCHK
|
||||
TS EBANK
|
||||
# CNTRCHK PERFORMS A CS OF ALL REGISTERS FROM OCT. 60 THROUGH OCT. 10.
|
||||
# INCLUDED ARE ALL COUNTERS, T6-1, CYCLE AND SHIFT, AND ALL RUPT REGISTERS
|
||||
CNTRCHK CA CNTRCON # 00050
|
||||
CNTRLOOP TS SKEEP2
|
||||
AD SBIT4 # +10 OCTAL
|
||||
INDEX A
|
||||
# Page 1400
|
||||
CS 0000
|
||||
CCS SKEEP2
|
||||
TC CNTRLOOP
|
||||
|
||||
# CYCLSHFT CHECKS THE CYCLE AND SHIFT REGISTERS
|
||||
CYCLSHFT CA CONC+S1 # 25252
|
||||
TS CYR # C(CYR) = 12525
|
||||
TS CYL # C(CYL) = 52524
|
||||
TS SR # C(SR) = 12525
|
||||
TS EDOP # C(EDOP) = 00125
|
||||
AD CYR # 37777 C(CYR) = 45252
|
||||
AD CYL # 00-12524 C(CYL) = 25251
|
||||
AD SR # 00-25251 C(SR) = 05252
|
||||
AD EDOP # 00-25376 C(EDOP) = +0
|
||||
AD CONC+S2 # C(CONC+S2) = 52400
|
||||
TC -1CHK
|
||||
AD CYR # 45252
|
||||
AD CYL # 72523
|
||||
AD SR # 77775
|
||||
AD EDOP # 77775
|
||||
AD S+1 # 77776
|
||||
TC -1CHK
|
||||
|
||||
INCR SCOUNT +1
|
||||
TC SMODECHK
|
||||
# SKEEP1 HOLDS SUM
|
||||
# SKEEP2 HOLDS PRESENT CONTENTS OF ADDRESS IN ROPECHK AND SHOWSUM ROUTINES
|
||||
# SKEEP2 HOLDS BANK NUMBER IN LOW ORDER BITS DURING SHOWSUM DISPLAY
|
||||
# SKEEP3 HOLDS PRESENT ADDRESS (00000 TO 01777 IN COMMON FIXED BANKS)
|
||||
# (04000 TO 07777 IN FXFX BANKS)
|
||||
# SKEEP3 HOLDS BUGGER WORD DURING SHOWSUM DISPLAY
|
||||
# SKEEP4 HOLDS BANK NUMBER AND SUPER BANK NUMBER
|
||||
# SKEEP5 COUNTS 2 SUCCESSIVE TC SELF WORDS
|
||||
# SKEEP6 CONTROLS ROPECHK OR SHOWSUM OPTION
|
||||
# SKEEP7 CONTROLS WHEN ROUNTINE IS IN COMMON FIXED OR FIXED FIXED BANKS
|
||||
|
||||
ROPECHK CA S-ZERO # *
|
||||
TS SKEEP6 # * -0 FOR ROPECHK.
|
||||
STSHOSUM CA S+ZERO # * SHOULD BE ROPECHK
|
||||
|
||||
TS SKEEP4 # BANK NUMBER
|
||||
CA S+1
|
||||
COMMFX TS SKEEP7
|
||||
CA S+ZERO
|
||||
TS SKEEP1
|
||||
TS SKEEP3
|
||||
CA S+1
|
||||
TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
|
||||
COMADRS CA SKEEP4
|
||||
TS L # TO SET SUPER BANK
|
||||
# Page 1401
|
||||
MASK HI5
|
||||
AD SKEEP3
|
||||
TC SUPDACAL # SUPER DATA CALL
|
||||
TC ADSUM
|
||||
AD SBIT11 # 02000
|
||||
TC ADRSCHK
|
||||
|
||||
FXFX CS A
|
||||
TS SKEEP7
|
||||
EXTEND
|
||||
BZF +3
|
||||
CA SBIT12 # 04000, STARTING ADDRESS OF BANK 02
|
||||
TC +2
|
||||
CA SBNK03 # 06000, STARTING ADDRESS OF BANK 03
|
||||
TS SKEEP3
|
||||
CA S+ZERO
|
||||
TS SKEEP1
|
||||
CA S+1
|
||||
TS SKEEP5 # COUNTS DOWN 2 TC SELF WORDS
|
||||
FXADRS INDEX SKEEP3
|
||||
CA 0000
|
||||
TC ADSUM
|
||||
TC ADRSCHK
|
||||
|
||||
ADSUM TS SKEEP2
|
||||
AD SKEEP1
|
||||
TS SKEEP1
|
||||
CAF S+ZERO
|
||||
AD SKEEP1
|
||||
TS SKEEP1
|
||||
CS SKEEP2
|
||||
AD SKEEP3
|
||||
TC Q
|
||||
|
||||
ADRSCHK LXCH A
|
||||
CA SKEEP3
|
||||
MASK LOW10 # RELATIVE ADDRESS
|
||||
AD -MAXADRS # SUBTRACT MAX RELATIVE ADDRESS = 1777.
|
||||
EXTEND
|
||||
BZF SOPTION # CHECKSUM FINISHED IF LAST ADDRESS.
|
||||
CCS SKEEP5 # IS CHECKSUM FINISHED
|
||||
TC +3 # NO
|
||||
TC +2 # NO
|
||||
TC SOPTION # GO TO ROPECHK SHOWSUM OPTION
|
||||
CCS L # -0 MEANS A TC SELF WORD.
|
||||
TC CONTINU
|
||||
TC CONTINU
|
||||
TC CONTINU
|
||||
CCS SKEEP5
|
||||
TC CONTINU +1
|
||||
# Page 1402
|
||||
CA S-1
|
||||
TC CONTINU +1 # AD IN THE BUGGER WORD
|
||||
CONTINU CA S+1 # MAKE SURE TWO CONSECUTIVE TC SELF WORDS
|
||||
TS SKEEP5
|
||||
CCS SKEEP6 # *
|
||||
CCS NEWJOB # * +1, SHOWSUM
|
||||
TC CHANG1 # *
|
||||
TC +2 # *
|
||||
TC CHECKNJ # -0 IN SKEEP6 FOR ROPECHK
|
||||
|
||||
ADRS+1 INCR SKEEP3
|
||||
CCS SKEEP7
|
||||
TC COMADRS
|
||||
TC COMADRS
|
||||
TC FXADRS
|
||||
TC FXADRS
|
||||
|
||||
NXTBNK CS SKEEP4
|
||||
AD LSTBNKCH # LAST BANK TO BE CHECKED
|
||||
EXTEND
|
||||
BZF ENDSUMS # END OF SUMMING OF BANKS.
|
||||
CA SKEEP4
|
||||
AD SBIT11
|
||||
TS SKEEP4 # 37 TO 40 INCRMTS SKEEP4 BY END RND CARRY
|
||||
TC CHKSUPR
|
||||
17TO20 CA SBIT15
|
||||
ADS SKEEP4 # SET FOR BANK 20
|
||||
TC GONXTBNK
|
||||
CHKSUPR MASK HI5
|
||||
EXTEND
|
||||
BZF NXTSUPR # INCREMENT SUPER BANK
|
||||
27TO30 AD S13BITS
|
||||
EXTEND
|
||||
BZF +2 # BANK SET FOR 30
|
||||
TC GONXTBNK
|
||||
CA SIXTY # FIRST SUPER BANK
|
||||
ADS SKEEP4
|
||||
TC GONXTBNK
|
||||
NXTSUPR AD SUPRCON # SET BNK 30 + INCR SUPR BNK AND CANCEL
|
||||
ADS SKEEP4 # ERC BIT OF THE 37 TO 40 ADVANCE.
|
||||
GONXTBNK CCS SKEEP7
|
||||
TC COMMFX
|
||||
CA S+1
|
||||
TC FXFX
|
||||
CA SBIT7 # HAS TO BE LARGER THAN NO OF FXSW BANKS.
|
||||
TC COMMFX
|
||||
|
||||
SOPTION CA SKEEP4
|
||||
MASK HI5 # = BANK BITS
|
||||
TC LEFT5
|
||||
# Page 1403
|
||||
TS L # BANK NUMBER BEFORE SUPER BANK
|
||||
CA SKEEP4
|
||||
MASK S8BITS # = SUPER BANK BITS
|
||||
EXTEND
|
||||
BZF SOPT # BEFORE SUPER BANK
|
||||
TS SR # SUPER BANK NECESSARY
|
||||
CA L
|
||||
MASK SEVEN
|
||||
AD SR
|
||||
TS L # BANK NUMBER WITH SUPER BANK
|
||||
SOPT CA SKEEP6 # *
|
||||
EXTEND # *
|
||||
BZF +2 # * ON -0 CONTINUE WITH ROPE CHECK.
|
||||
TC SDISPLAY # * ON +1 GO TO DISPLAY OF SUM.
|
||||
CCS SKEEP1 # FORCE SUM TO ABSOLUTE VALUE.
|
||||
TC +2
|
||||
TC +2
|
||||
AD S+1
|
||||
TS SKEEP1
|
||||
BNKCHK CS L # = - BANK NUMBER
|
||||
AD SKEEP1
|
||||
AD S-1
|
||||
TC -1CHK # CHECK SUM
|
||||
TC NXTBNK
|
||||
|
||||
EBANK= NEWJOB
|
||||
LSTBNKCH BBCON* # * CONSTANT, LAST BANK.
|
||||
SBANK= LOWSUPER
|
||||
|
|
@ -1,230 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: ALARM_AND_ABORT.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055. It
|
||||
# is part of the source code for the Command Module's
|
||||
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 1493-1496
|
||||
# Contact: Ron Burkey <info@sandroid.org>
|
||||
# Website: http://www.ibiblio.org/apollo.
|
||||
# Mod history: 2009-05-07 RSB Adapted from Colossus249 file of the same
|
||||
# name, and page images. Corrected various
|
||||
# typos in the transcription of program
|
||||
# comments, and these should be back-ported
|
||||
# to Colossus249.
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further
|
||||
# information. Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 1493
|
||||
# THE FOLLOWING SUBROUTINE MAY BE CALLED TO DISPLAY A NON-ABORTIVE ALARM CONDITION. IT MAY BE CALLED
|
||||
# EITHER IN INTERRUPT OR UNDER EXECUTIVE CONTROL.
|
||||
#
|
||||
# CALLING SEQUENCE IS AS FOLLOWS:
|
||||
#
|
||||
# TC ALARM
|
||||
# OCT NNNNN
|
||||
# # (RETURNS HERE)
|
||||
BLOCK 02
|
||||
SETLOC FFTAG7
|
||||
BANK
|
||||
|
||||
EBANK= FAILREG
|
||||
|
||||
COUNT 02/ALARM
|
||||
|
||||
# ALARM TURNS ON THE PROGRAM ALARM LIGHT, BUT DOES NOT DISPLAY.
|
||||
|
||||
ALARM INHINT
|
||||
|
||||
CA Q
|
||||
ALARM2 TS ALMCADR
|
||||
INDEX Q
|
||||
CA 0
|
||||
BORTENT TS L
|
||||
|
||||
PRIOENT CA BBANK
|
||||
+1 EXTEND
|
||||
ROR SUPERBNK # ADD SUPER BITS.
|
||||
TS ALMCADR +1
|
||||
|
||||
LARMENT CA Q # STORE RETURN FOR ALARM
|
||||
TS ITEMP1
|
||||
|
||||
CA LOC
|
||||
TS LOCALARM
|
||||
CA BANKSET
|
||||
TS BANKALRM
|
||||
|
||||
CHKFAIL1 CCS FAILREG # IS ANYTHING IN FAILREG
|
||||
TCF CHKFAIL2 # YES TRY NEXT REG
|
||||
LXCH FAILREG
|
||||
TCF PROGLARM # TURN ALARM LIGHT ON FOR FIRST ALARM
|
||||
|
||||
CHKFAIL2 CCS FAILREG +1
|
||||
TCF FAIL3
|
||||
LXCH FAILREG +1
|
||||
TCF MULTEXIT
|
||||
|
||||
FAIL3 CA FAILREG +2
|
||||
# Page 1494
|
||||
MASK POSMAX
|
||||
CCS A
|
||||
TCF MULTFAIL
|
||||
LXCH FAILREG +2
|
||||
TCF MULTEXIT
|
||||
|
||||
PROGLARM CS DSPTAB +11D
|
||||
MASK OCT40400
|
||||
ADS DSPTAB +11D
|
||||
|
||||
MULTEXIT XCH ITEMP1 # OBTAIN RETURN ADDRESS IN A
|
||||
RELINT
|
||||
INDEX A
|
||||
TC 1
|
||||
|
||||
MULTFAIL CA L
|
||||
AD BIT15
|
||||
TS FAILREG +2
|
||||
|
||||
TCF MULTEXIT
|
||||
|
||||
# PRIOLARM DISPLAYS V05N09 VIA PRIODSPR WITH 3 RETURNS TO THE USER FROM THE ASTRONAUT AT CALL LOC +1,+2,+3 AND
|
||||
# AN IMMEDIATE RETURN TO THE USER AT CALL LOC +4. EXAMPLE FOLLOWS,
|
||||
# CAF OCTXX # ALARM CODE
|
||||
# TC BANKCALL
|
||||
# CADR PRIOLARM
|
||||
#
|
||||
# ... ...
|
||||
# ... ...
|
||||
# ... ... # ASTRONAUT RETURN
|
||||
# TC PHASCHNG # IMMEDIATE RETURN TO USER. RESTART
|
||||
# OCT X.1 # PHASE CHANGE FOR PRIO DISPLAY
|
||||
|
||||
BANK 10
|
||||
SETLOC DISPLAYS
|
||||
BANK
|
||||
|
||||
COUNT 10/DSPLA
|
||||
|
||||
PRIOLARM INHINT # * * * KEEP IN DISPLAY ROUTINES BANK
|
||||
TS L # SAVE ALARM CODE
|
||||
|
||||
CA BUF2 # 2 CADR OF PRIOLARM USER
|
||||
TS ALMCADR
|
||||
CA BUF2 +1
|
||||
TC PRIOENT +1 # * LEAVE L ALONE
|
||||
-2SEC DEC -200 # *** DONT MOVE
|
||||
CAF V05N09
|
||||
TCF PRIODSPR
|
||||
|
||||
# Page 1495
|
||||
BLOCK 02
|
||||
SETLOC FFTAG13
|
||||
BANK
|
||||
|
||||
COUNT 02/ALARM
|
||||
|
||||
BAILOUT INHINT
|
||||
CA Q
|
||||
TS ALMCADR
|
||||
|
||||
TC BANKCALL
|
||||
CADR VAC5STOR
|
||||
|
||||
INDEX ALMCADR
|
||||
CAF 0
|
||||
TC BORTENT
|
||||
OCT40400 OCT 40400
|
||||
|
||||
INHINT
|
||||
WHIMPER CA TWO
|
||||
AD Z
|
||||
TS BRUPT
|
||||
RESUME
|
||||
TC POSTJUMP # RESUME SENDS CONTROL HERE
|
||||
CADR ENEMA
|
||||
|
||||
SETLOC FFTAG7
|
||||
BANK
|
||||
|
||||
POODOO INHINT
|
||||
CA Q
|
||||
TS ALMCADR
|
||||
|
||||
TC BANKCALL
|
||||
CADR VAC5STOR # STORE ERASABLES FOR DEBUGGING PURPOSES.
|
||||
|
||||
INDEX ALMCADR
|
||||
CAF 0
|
||||
ABORT2 TC BORTENT
|
||||
|
||||
OCT77770 OCT 77770 # DONT MOVE
|
||||
CA V37FLBIT # IS AVERAGE G ON
|
||||
MASK FLAGWRD7
|
||||
CCS A
|
||||
TC WHIMPER -1 # YES. DONT DO POODOO. DO BAILOUT.
|
||||
|
||||
TC DOWNFLAG
|
||||
ADRES STATEFLG
|
||||
|
||||
TC DOWNFLAG
|
||||
# Page 1496
|
||||
ADRES REINTFLG
|
||||
|
||||
TC DOWNFLAG
|
||||
ADRES NODOFLAG
|
||||
|
||||
TC BANKCALL
|
||||
CADR MR.KLEAN
|
||||
TC WHIMPER
|
||||
|
||||
CCSHOLE INHINT
|
||||
CA Q
|
||||
TS ALMCADR
|
||||
TC BANKCALL
|
||||
CADR VAC5STOR
|
||||
CA OCT1103
|
||||
TC ABORT2
|
||||
OCT1103 OCT 1103
|
||||
CURTAINS INHINT
|
||||
CA Q
|
||||
TC ALARM2
|
||||
OCT217 OCT 00217
|
||||
TC ALMCADR # RETURN TO USER
|
||||
|
||||
DOALARM EQUALS ENDOFJOB
|
||||
# CALLING SEQUENCE FOR VARALARM
|
||||
#
|
||||
# CAF (ALARM)
|
||||
# TC VARALARM
|
||||
#
|
||||
# VARALARM TURNS ON PROGRAM ALARM LIGHT BUT DOES NOT DISPLAY
|
||||
VARALARM INHINT
|
||||
|
||||
TS L # SAVE USERS ALARM CODE
|
||||
|
||||
CA Q # SAVE USERS Q
|
||||
TS ALMCADR
|
||||
|
||||
TC PRIOENT
|
||||
OCT14 OCT 14 # DONT MOVE
|
||||
|
||||
TC ALMCADR # RETURN TO USER
|
||||
|
||||
ABORT EQUALS BAILOUT # *** TEMPORARY UNTIL ABORT CALLS OUT
|
||||
|
|
@ -1,626 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: ANGLFIND.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 399-411
|
||||
# Mod history: 2009-05-09 RSB Adapted from the Colossus249/ file
|
||||
# of the same name, using Comanche055 page
|
||||
# images.
|
||||
# 2009-05-22 RSB In NOGOM2, TC ZEROEROR corrected to
|
||||
# CADR ZEROEROR.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 399
|
||||
BANK 15
|
||||
SETLOC KALCMON1
|
||||
BANK
|
||||
|
||||
EBANK= BCDU
|
||||
|
||||
COUNT 22/KALC
|
||||
|
||||
KALCMAN3 TC INTPRET
|
||||
RTB
|
||||
READCDUK # PICK UP CURRENT CDU ANGLES
|
||||
STORE BCDU # STORE THE INITIAL S/C ANGLES
|
||||
AXC,2 TLOAD # COMPUTE THE TRANSFORMATION FROM
|
||||
MIS # INITIAL S/C AXES TO STABLE MEMBER AXES
|
||||
BCDU # (MIS)
|
||||
CALL
|
||||
CDUTODCM
|
||||
AXC,2 TLOAD # COMPUTE THE TRANSFORMATION FROM
|
||||
MFS # FINAL S/C AXES TO STABLE MEMBER AXES
|
||||
CPHI # (MFS)
|
||||
CALL
|
||||
CDUTODCM
|
||||
SECAD AXC,1 CALL # MIS AND MFS ARRAYS CALCULATED $2
|
||||
MIS
|
||||
TRANSPOS
|
||||
VLOAD
|
||||
STADR
|
||||
STOVL TMIS +12D
|
||||
STADR
|
||||
STOVL TMIS +6
|
||||
STADR
|
||||
STORE TMIS # TMIS = TRANSPOSE(MIS) SCALED BY 2
|
||||
AXC,1 AXC,2
|
||||
TMIS
|
||||
MFS
|
||||
CALL
|
||||
MXM3
|
||||
VLOAD STADR
|
||||
STOVL MFI +12D
|
||||
STADR
|
||||
STOVL MFI +6
|
||||
STADR
|
||||
STORE MFI # MFI = TMIS MFS (SCALED BY 4)
|
||||
SETPD CALL # TRANSPOSE MFI IN PD LIST
|
||||
18D
|
||||
TRNSPSPD
|
||||
VLOAD STADR
|
||||
STOVL TMFI +12D
|
||||
STADR
|
||||
STOVL TMFI +6
|
||||
# Page 400
|
||||
STADR
|
||||
STORE TMFI # TMFI = TRANSPOSE (MFI) SCALED BY 4
|
||||
|
||||
# CALCULATE COFSKEW AND MFISYM
|
||||
|
||||
DLOAD DSU
|
||||
TMFI +2
|
||||
MFI +2
|
||||
PDDL DSU # CALCULATE COF SCALED BY 2/SIN(AM)
|
||||
MFI +4
|
||||
TMFI +4
|
||||
PDDL DSU
|
||||
TMFI +10D
|
||||
MFI +10D
|
||||
VDEF
|
||||
STORE COFSKEW # EQUALS MFISKEW
|
||||
|
||||
# CALCULATE AM AND PROCEED ACCORDING TO ITS MAGNITUDE
|
||||
|
||||
DLOAD DAD
|
||||
MFI
|
||||
MFI +16D
|
||||
DSU DAD
|
||||
DP1/4TH
|
||||
MFI +8D
|
||||
STORE CAM # CAM = (MFI0+MFI4+MFI8-1)/2 HALF SCALE
|
||||
ARCCOS
|
||||
STORE AM # AM=ARCCOS(CAM) (AM SCALED BY 2)
|
||||
DSU BPL
|
||||
MINANG
|
||||
CHECKMAX
|
||||
EXIT # MANEUVER LESS THAN 0.25 DEG
|
||||
INHINT # GO DIRECTLY INTO ATTITUDE HOLD
|
||||
CS ONE # ABOUT COMMANDED ANGLES
|
||||
TS HOLDFLAG # NOGO WILL STOP ANY RATE AND SET UP FOR A
|
||||
TC LOADCDUD # GOOD RETURN
|
||||
TCF NOGO
|
||||
|
||||
CHECKMAX DLOAD DSU
|
||||
AM
|
||||
MAXANG
|
||||
BPL VLOAD
|
||||
ALTCALC # UNIT
|
||||
COFSKEW # COFSKEW
|
||||
UNIT
|
||||
STORE COF # COF IS THE MANEUVER AXIS
|
||||
GOTO # SEE IF MANEUVER GOES THRU GIMBAL LOCK
|
||||
LOCSKIRT
|
||||
ALTCALC VLOAD VAD # IF AM GREATER THAN 170 DEGREES
|
||||
MFI
|
||||
# Page 401
|
||||
TMFI
|
||||
VSR1
|
||||
STOVL MFISYM
|
||||
MFI +6
|
||||
VAD VSR1
|
||||
TMFI +6
|
||||
STOVL MFISYM +6
|
||||
MFI +12D
|
||||
VAD VSR1
|
||||
TMFI +12D
|
||||
STORE MFISYM +12D # MFISYM=(MFI+TMFI)/2 SCALED BY 4
|
||||
|
||||
# CALCULATE COF
|
||||
|
||||
DLOAD SR1
|
||||
CAM
|
||||
PDDL DSU # PD0 CAM $4
|
||||
DPHALF
|
||||
CAM
|
||||
BOVB PDDL # PD2 1 - CAM $2
|
||||
SIGNMPAC
|
||||
MFISYM +16D
|
||||
DSU DDV
|
||||
0
|
||||
2
|
||||
SQRT PDDL # COFZ = SQRT(MFISYM8-CAM)/(1-CAM)
|
||||
MFISYM +8D # $ ROOT 2
|
||||
DSU DDV
|
||||
0
|
||||
2
|
||||
SQRT PDDL # COFY = SQRT(MFISYM4-CAM)/(1-CAM) $ROOT2
|
||||
MFISYM
|
||||
DSU DDV
|
||||
0
|
||||
2
|
||||
SQRT VDEF # COFX = SQRT(MFISYM-CAM)/(1-CAM) $ROOT 2
|
||||
UNIT
|
||||
STORE COF
|
||||
|
||||
# DETERMINE LARGEST COF AND ADJUST ACCORDINGLY
|
||||
|
||||
COFMAXGO DLOAD DSU
|
||||
COF
|
||||
COF +2
|
||||
BMN DLOAD # COFY G COFX
|
||||
COMP12
|
||||
COF
|
||||
DSU BMN
|
||||
COF +4
|
||||
# Page 402
|
||||
METHOD3 # COFZ G COFX OR COFY
|
||||
GOTO
|
||||
METHOD1 # COFX G COFY OR COFZ
|
||||
COMP12 DLOAD DSU
|
||||
COF +2
|
||||
COF +4
|
||||
BMN
|
||||
METHOD3 # COFZ G COFY OR COFX
|
||||
|
||||
METHOD2 DLOAD BPL # COFY MAX
|
||||
COFSKEW +2 # UY
|
||||
U2POS
|
||||
VLOAD VCOMP
|
||||
COF
|
||||
STORE COF
|
||||
U2POS DLOAD BPL
|
||||
MFISYM +2 # UX UY
|
||||
OKU21
|
||||
DLOAD DCOMP # SIGN OF UX OPPOSITE TO UY
|
||||
COF
|
||||
STORE COF
|
||||
OKU21 DLOAD BPL
|
||||
MFISYM +10D # UY UZ
|
||||
LOCSKIRT
|
||||
DLOAD DCOMP # SIGN OF UZ OPPOSITE TO UY
|
||||
COF +4
|
||||
STORE COF +4
|
||||
GOTO
|
||||
LOCSKIRT
|
||||
METHOD1 DLOAD BPL # COFX MAX
|
||||
COFSKEW # UX
|
||||
U1POS
|
||||
VLOAD VCOMP
|
||||
COF
|
||||
STORE COF
|
||||
U1POS DLOAD BPL
|
||||
MFISYM +2 # UX UY
|
||||
OKU12
|
||||
DLOAD DCOMP
|
||||
COF +2 # SIGN OF UY OPPOSITE TO UX
|
||||
STORE COF +2
|
||||
OKU12 DLOAD BPL
|
||||
MFISYM +4 # UX UZ
|
||||
LOCSKIRT
|
||||
DLOAD DCOMP # SIGN OF UZ OPPOSITE TO UY
|
||||
COF +4
|
||||
STORE COF +4
|
||||
GOTO
|
||||
LOCSKIRT
|
||||
METHOD3 DLOAD BPL # COFZ MAX
|
||||
# Page 403
|
||||
COFSKEW +4 # UZ
|
||||
U3POS
|
||||
VLOAD VCOMP
|
||||
COF
|
||||
STORE COF
|
||||
U3POS DLOAD BPL
|
||||
MFISYM +4 # UX UZ
|
||||
OKU31
|
||||
DLOAD DCOMP
|
||||
COF # SIGN OF UX OPPOSITE TO UZ
|
||||
STORE COF
|
||||
OKU31 DLOAD BPL
|
||||
MFISYM +10D # UY UZ
|
||||
LOCSKIRT
|
||||
DLOAD DCOMP
|
||||
COF +2 # SIGN OF UY OPPOSITE TO UZ
|
||||
STORE COF +2
|
||||
GOTO
|
||||
LOCSKIRT
|
||||
|
||||
# Page 404
|
||||
# MATRIX OPERATIONS
|
||||
|
||||
MXM3 SETPD # MXM3 MULTIPLIES 2 3X3 MATRICES
|
||||
0 # AND LEAVES RESULT IN PD LIST
|
||||
DLOAD* PDDL* # ADDRESS OF 1ST MATRIX IN XR1
|
||||
12D,2 # ADDRESS OF 2ND MATRIX IN XR2
|
||||
6,2
|
||||
PDDL* VDEF # DEFINE VECTOR M2(COL 1)
|
||||
0,2
|
||||
MXV* PDDL* # M1XM2(COL 1) IN PD
|
||||
0,1
|
||||
14D,2
|
||||
PDDL* PDDL*
|
||||
8D,2
|
||||
2,2
|
||||
VDEF MXV* # DEFINE VECTOR M2(COL 2)
|
||||
0,1
|
||||
PDDL* PDDL* # M1XM2(COL 2) IN PD
|
||||
16D,2
|
||||
10D,2
|
||||
PDDL* VDEF # DEFINE VECTOR M2(COL 3)
|
||||
4,2
|
||||
MXV* PUSH # M1XM2(COL 3) IN PD
|
||||
0,1
|
||||
GOTO
|
||||
TRNSPSPD # REVERSE ROWS AND COLS IN PD AND
|
||||
# RETURN WITH M1XM2 IN PD LIST
|
||||
|
||||
TRANSPOS SETPD VLOAD* # TRANSPOS TRANSPOSES A 3X3 MATRIX
|
||||
0 # AND LEAVES RESULT IN PD LIST
|
||||
0,1 # MATRIX ADDRESS IN XR1
|
||||
PDVL* PDVL*
|
||||
6,1
|
||||
12D,1
|
||||
PUSH # MATRIX IN PD
|
||||
TRNSPSPD DLOAD PDDL # ENTER WITH MATRIX IN PD LIST
|
||||
2
|
||||
6
|
||||
STODL 2
|
||||
STADR
|
||||
STODL 6
|
||||
4
|
||||
PDDL
|
||||
12D
|
||||
STODL 4
|
||||
STADR
|
||||
STODL 12D
|
||||
10D
|
||||
PDDL
|
||||
# Page 405
|
||||
14D
|
||||
STODL 10D
|
||||
STADR
|
||||
STORE 14D
|
||||
RVQ # RETURN WITH TRANSPOSED MATRIX IN PD LIST
|
||||
MINANG DEC .00069375
|
||||
MAXANG DEC .472222
|
||||
# GIMBAL LOCK CONSTANTS
|
||||
|
||||
# D = MGA CORRESPONDING TO GIMBAL LOCK = 60 DEGREES
|
||||
# NGL = BUFFER ANGLE (TO AVOID DIVISIONS BY ZERO) = 2 DEGREES
|
||||
|
||||
SD DEC .433015 # = SIN(D) $2
|
||||
K3S1 DEC .86603 # = SIN(D) $2
|
||||
K4 DEC -.25 # = - COS(D) $2
|
||||
K4SQ DEC .125 # = COS(D)COS(D) $2
|
||||
SNGLCD DEC .008725 # = SIN(NGL)COS(D) $2
|
||||
CNGL DEC .499695 # = COS(NGL) $2
|
||||
READCDUK INHINT # LOAD T(MPAC) WITH THE CURRENT CDU ANGLES
|
||||
CA CDUZ
|
||||
TS MPAC +2
|
||||
EXTEND
|
||||
DCA CDUX
|
||||
RELINT
|
||||
TCF TLOAD +6
|
||||
BANK 16
|
||||
SETLOC KALCMON2
|
||||
BANK
|
||||
|
||||
COUNT* $$/KALC
|
||||
|
||||
CDUTODCM AXT,1 SSP # SUBROUTINE TO COMPUTE DIRECTION COSINE
|
||||
OCT 3 # MATRIX RELATING S/C AXES TO STABLE
|
||||
S1 # MEMBER AXES FROM 3 CDU ANGLES IN T(MPAC)
|
||||
OCT 1 # SET XR1, S1 AND PD FOR LOOP
|
||||
STORE 7
|
||||
SETPD
|
||||
0
|
||||
LOOPSIN SLOAD* RTB
|
||||
10D,1
|
||||
CDULOGIC
|
||||
STORE 10D # LOAD PD WITH 0 SIN(PHI)
|
||||
SIN PDDL # 2 COS(PHI)
|
||||
10D # 4 SIN(THETA)
|
||||
COS PUSH # 6 COS(THETA)
|
||||
TIX,1 DLOAD # 8 SIN(PSI)
|
||||
LOOPSIN # 10 COS(PSI)
|
||||
6
|
||||
DMP SL1
|
||||
10D
|
||||
# Page 406
|
||||
STORE 0,2
|
||||
DLOAD
|
||||
4
|
||||
DMP PDDL
|
||||
0 # (PD6 SIN(THETA)SIN(PHI))
|
||||
6
|
||||
DMP DMP
|
||||
8D
|
||||
2
|
||||
SL1 BDSU
|
||||
12D
|
||||
SL1
|
||||
STORE 2,2
|
||||
DLOAD
|
||||
2
|
||||
DMP PDDL # (PD7 COS(PHI)SIN(THETA)) SCALED 4
|
||||
4
|
||||
6
|
||||
DMP DMP
|
||||
8D
|
||||
0
|
||||
SL1
|
||||
DAD SL1
|
||||
14D
|
||||
STORE 4,2
|
||||
DLOAD
|
||||
8D
|
||||
STORE 6,2
|
||||
DLOAD
|
||||
10D
|
||||
DMP SL1
|
||||
2
|
||||
STORE 8D,2
|
||||
DLOAD
|
||||
10D
|
||||
DMP DCOMP
|
||||
0
|
||||
SL1
|
||||
STORE 10D,2
|
||||
DLOAD
|
||||
4
|
||||
DMP DCOMP
|
||||
10D
|
||||
SL1
|
||||
STORE 12D,2
|
||||
DLOAD
|
||||
DMP SL1 # (PUSH UP 7)
|
||||
8D
|
||||
PDDL DMP # (PD7 COS(PHI)SIN(THETA)SIN(PSI)) SCALE4
|
||||
6
|
||||
# Page 407
|
||||
0
|
||||
DAD SL1 # (PUSH UP 7)
|
||||
STADR # C7=COS(PHI)SIN(THETA)SIN(PSI)
|
||||
STORE 14D,2
|
||||
DLOAD
|
||||
DMP SL1 # (PUSH UP 6)
|
||||
8D
|
||||
PDDL DMP # (PD6 SIN(THETA)SIN(PHI)SIN(PSI)) SCALE4
|
||||
6
|
||||
2
|
||||
DSU SL1 # (PUSH UP 6)
|
||||
STADR
|
||||
STORE 16D,2 # C8=-SIN(THETA)SIN(PHI)SIN(PSI)
|
||||
RVQ # +COS(THETA)COS(PHI)
|
||||
ENDOCM EQUALS
|
||||
|
||||
BANK 15
|
||||
SETLOC KALCMON1
|
||||
BANK
|
||||
|
||||
# CALCULATION OF THE MATRIX DEL......
|
||||
#
|
||||
# * * --T *
|
||||
# DEL = (IDMATRIX)COS(A)+UU (1-COS(A))+UX SIN(A) SCALED 1
|
||||
#
|
||||
# -
|
||||
# WHERE U IS A UNIT VECTOR (DP SCALED 2) ALONG THE AXIS OF ROTATION.
|
||||
# A IS THE ANGLE OF ROTATION (DP SCALED 2)
|
||||
# -
|
||||
# UPON ENTRY THE STARTING ADDRESS OF U IS COF, AND A IS IN MPAC
|
||||
|
||||
COUNT 22/KALC
|
||||
|
||||
DELCOMP SETPD PUSH # MPAC CONTAINS THE ANGLE A
|
||||
0
|
||||
SIN PDDL # PD0 = SIN(A)
|
||||
COS PUSH # PD2 = COS(A)
|
||||
SR2 PDDL # PD2 = COS(A) $8
|
||||
BDSU BOVB # PD4 = 1-COS(A) $2
|
||||
DPHALF
|
||||
SIGNMPAC
|
||||
|
||||
# COMPUTE THE DIAGONAL COMPONENTS OF DEL
|
||||
|
||||
PDDL
|
||||
COF
|
||||
DSQ DMP
|
||||
4
|
||||
DAD SL3
|
||||
# Page 408
|
||||
2
|
||||
BOVB
|
||||
SIGNMPAC
|
||||
STODL DEL # UX UX(U-COS(A)) +COS(A) $1
|
||||
COF +2
|
||||
DSQ DMP
|
||||
4
|
||||
DAD SL3
|
||||
2
|
||||
BOVB
|
||||
SIGNMPAC
|
||||
STODL DEL +8D # UY UY(1-COS(A)) +COS(A) $1
|
||||
COF +4
|
||||
DSQ DMP
|
||||
4
|
||||
DAD SL3
|
||||
2
|
||||
BOVB
|
||||
SIGNMPAC
|
||||
STORE DEL +16D # UZ UZ(1-COS(A)) +COS(A) $1
|
||||
|
||||
# COMPUTE THE OFF DIAGONAL TERMS OF DEL
|
||||
|
||||
DLOAD DMP
|
||||
COF
|
||||
COF +2
|
||||
DMP SL1
|
||||
4
|
||||
PDDL DMP # D6 UX UY (1-COS A) $ 4
|
||||
COF +4
|
||||
0
|
||||
PUSH DAD # D8 UZ SIN A $ 4
|
||||
6
|
||||
SL2 BOVB
|
||||
SIGNMPAC
|
||||
STODL DEL +6
|
||||
BDSU SL2
|
||||
BOVB
|
||||
SIGNMPAC
|
||||
STODL DEL +2
|
||||
COF
|
||||
DMP DMP
|
||||
COF +4
|
||||
4
|
||||
SL1 PDDL # D6 UX UZ (1-COS A ) $ 4
|
||||
COF +2
|
||||
DMP PUSH # D8 UY SIN(A)
|
||||
0
|
||||
DAD SL2
|
||||
6
|
||||
# Page 409
|
||||
BOVB
|
||||
SIGNMPAC
|
||||
STODL DEL +4 # UX UZ (1-COS(A))+UY SIN(A)
|
||||
BDSU SL2
|
||||
BOVB
|
||||
SIGNMPAC
|
||||
STODL DEL +12D # UX UZ (U-COS(A))-UY SIN(A)
|
||||
COF +2
|
||||
DMP DMP
|
||||
COF +4
|
||||
4
|
||||
SL1 PDDL # D6 UY UZ (1-COS(A)) $ 4
|
||||
COF
|
||||
DMP PUSH # D6 UX SIN(A)
|
||||
0
|
||||
DAD SL2
|
||||
6
|
||||
BOVB
|
||||
SIGNMPAC
|
||||
STODL DEL +14D # UY UZ(1-COS(A)) +UX SIN(A)
|
||||
BDSU SL2
|
||||
BOVB
|
||||
SIGNMPAC
|
||||
STORE DEL +10D # UY UZ (1-COS(A)) -UX SIN(A)
|
||||
RVQ
|
||||
|
||||
# DIRECTION COSINE MATRIX TO CDU ANGLE ROUTINE
|
||||
# X1 CONTAINS THE COMPLEMENT OF THE STARTING ADDRESS FOR MATRIX (SCALED 2)
|
||||
# LEAVES CDU ANGLES SCALED 2PI IN V(MPAC)
|
||||
# COS(MGA) WILL BE LEFT IN S1 (SCALED 1)
|
||||
#
|
||||
# THE DIRECTION COSINE MATRIX RELATING S/C AXES TO STABLE MEMBER AXES CAN BE WRITTEN AS***
|
||||
#
|
||||
# C =COS(THETA)COS(PSI)
|
||||
# 0
|
||||
# C =-COS(THETA)SIN(PSI)COS(PHI)+SI (THETA)SIN(PHI)
|
||||
# 1
|
||||
# C =COS(THETA)SIN(PSI)SIN(PHI) + S N(THETA)COS(PHI)
|
||||
# 2
|
||||
# C =SIN(PSI)
|
||||
# 3
|
||||
# C =COS(PSI)COS(PHI)
|
||||
# 4
|
||||
# C =-COS(PSI)SIN(PHI)
|
||||
# 5
|
||||
# C =-SIN(THETA)COS(PSI)
|
||||
# 6
|
||||
# C =SIN(THETA)SIN(PSI)COS(PHI)+COS THETA)SIN(PHI)
|
||||
# 7
|
||||
# Page 410
|
||||
# C =-SIN(THETA)SIN(PSI)SIN(PHI)+COS(THETA)COS(PHI)
|
||||
# 8
|
||||
#
|
||||
# WHERE PHI = OGA
|
||||
# THETA = IGA
|
||||
# PSI = MGA
|
||||
|
||||
DCMTOCDU DLOAD* ARCSIN
|
||||
6,1
|
||||
PUSH COS # PD +0 PSI
|
||||
SL1 BOVB
|
||||
SIGNMPAC
|
||||
STORE S1
|
||||
DLOAD* DCOMP
|
||||
12D,1
|
||||
DDV ARCSIN
|
||||
S1
|
||||
PDDL* BPL # PD +2 THETA
|
||||
0,1 # MUST CHECK THE SIGN OF COS(THETA)
|
||||
OKTHETA # TO DETERMINE THE PROPER QUADRANT
|
||||
DLOAD DCOMP
|
||||
BPL DAD
|
||||
SUHALFA
|
||||
DPHALF
|
||||
GOTO
|
||||
CALCPHI
|
||||
SUHALFA DSU
|
||||
DPHALF
|
||||
CALCPHI PUSH
|
||||
OKTHETA DLOAD* DCOMP
|
||||
10D,1
|
||||
DDV ARCSIN
|
||||
S1
|
||||
PDDL* BPL # PUSH DOWN PHI
|
||||
8D,1
|
||||
OKPHI
|
||||
DLOAD DCOMP # PUSH UP PHI
|
||||
BPL DAD
|
||||
SUHALFAP
|
||||
DPHALF
|
||||
GOTO
|
||||
VECOFANG
|
||||
SUHALFAP DSU GOTO
|
||||
DPHALF
|
||||
VECOFANG
|
||||
OKPHI DLOAD # PUSH UP PHI
|
||||
VECOFANG VDEF RVQ
|
||||
|
||||
# Page 411
|
||||
# ROUTINE FOR TERMINATING AUTOMATIC MANEUVERS
|
||||
|
||||
NOGOM2 INHINT # THIS LOCATION ACCESSED BY A BZMF NOGO -2
|
||||
TC BANKCALL
|
||||
CADR ZEROEROR
|
||||
|
||||
NOGO INHINT
|
||||
TC STOPRATE
|
||||
|
||||
# TERMINATE MANEUVER
|
||||
CAF TWO # NOTE - ALL RETURNS ARE NOW MADE VIA
|
||||
TC WAITLIST # GOODEND
|
||||
EBANK= BCDU
|
||||
2CADR ENDMANU
|
||||
|
||||
TCF ENDOFJOB
|
||||
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,504 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: AUTOMATIC_MANEUVERS.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1025-1036
|
||||
# Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1025
|
||||
BANK 21
|
||||
SETLOC DAPS3
|
||||
BANK
|
||||
|
||||
COUNT 21/DAPAM
|
||||
|
||||
EBANK= KMPAC
|
||||
AHFNOROT EXTEND
|
||||
READ CHAN31
|
||||
MASK BIT14
|
||||
EXTEND
|
||||
BZMF FREECONT
|
||||
CA RCSFLAGS # SEE IF RATE FILTER HAS BEEN INITIALIZED
|
||||
MASK BIT14
|
||||
CCS A # IF SO, PROCEED WITH ATTITUDE CONTROL
|
||||
TCF REINIT # IF NOT, RECYCLE TO INITIALIZE FILTER
|
||||
# AUTOMATIC CONTROL YET
|
||||
EXTEND
|
||||
READ CHAN31
|
||||
MASK BIT13
|
||||
EXTEND
|
||||
BZMF HOLDFUNC
|
||||
|
||||
|
||||
AUTOCONT CA HOLDFLAG # IF HOLDFLAG IS +, GO TO GRABANG.
|
||||
EXTEND # OTHERWISE, GO TO ATTHOLD.
|
||||
BZMF ATTHOLD
|
||||
TCF GRABANG
|
||||
|
||||
# MINIMUM IMPULSE CONTROL
|
||||
|
||||
FREECONT CAF ONE
|
||||
TS HOLDFLAG # RESET HOLDFLAG
|
||||
# INHIBIT AUTOMATIC STEERING
|
||||
EXTEND
|
||||
READ CHAN32
|
||||
TS L
|
||||
COM
|
||||
MASK MANROT
|
||||
MASK CHANTEMP
|
||||
LXCH CHANTEMP
|
||||
TC STICKCHK
|
||||
INDEX RMANNDX
|
||||
CA MINTAU # MINTAU +0
|
||||
TS TAU # +1 +14MS MINIMUM IMPULSE
|
||||
INDEX PMANNDX # +2 -14MS TIME
|
||||
CA MINTAU # +3 +0
|
||||
TS TAU1
|
||||
INDEX YMANNDX
|
||||
CA MINTAU
|
||||
# Page 1026
|
||||
TS TAU2
|
||||
TCF T6PROGM
|
||||
|
||||
|
||||
MINTAU DEC 0
|
||||
DEC 23 # = 14MS
|
||||
DEC -23 # = -14MS
|
||||
DEC 0
|
||||
|
||||
# Page 1027
|
||||
# CALCULATION OF ATTITUDE ERRORS-
|
||||
# - * - - -
|
||||
# AK = AMGB (CDUX - THETADX) + BIAS
|
||||
#
|
||||
# IE *AK * * 1 SIN(PSI) 0 ** CDUX - THETADX * *BIAS *
|
||||
# * * * ** * * *
|
||||
# *AK1* = * 0 COS(PSI)COS(PHI) SIN(PHI)** CDUY - THETADY * + *BIAS1*
|
||||
# * * * ** * * *
|
||||
# *AK2* * 0 -COS(PSI)SIN(PHI) COS(PHI)** CDUZ - THETADZ * *BIAS2*
|
||||
#
|
||||
# THE BIASES ARE ADDED ONLY WHILE PERFORMING AUTOMATIC MANEUVERS (ESP KALCMANU) TO PROVIDE ADDITIONAL LEAD
|
||||
# AND PREVENT OVERSHOOT WHEN STARTING AN AUTOMATIC MANEUVER. NORMALLY THE REQUIRED LEAD IS ONLY 1-2 DEGREES.
|
||||
# BUT DURING HIGH RATE MANEUVERS IT CAN BE AS MUCH AS 7 DEGREES. THE BIASES ARE COMPUTED BY KALCMANU AND REMAIN
|
||||
# FIXED UNTIL THE MANEUVER IS COMPLETED AT WHICH TIME THEY ARE RESET TO ZERO.
|
||||
|
||||
|
||||
ATTHOLD CA CDUX
|
||||
EXTEND
|
||||
MSU THETADX
|
||||
TS ERRORX
|
||||
CA CDUY
|
||||
EXTEND
|
||||
MSU THETADY
|
||||
TS T5TEMP
|
||||
EXTEND
|
||||
MP AMGB1
|
||||
ADS ERRORX
|
||||
CA T5TEMP
|
||||
EXTEND
|
||||
MP AMGB4
|
||||
TS ERRORY
|
||||
CA T5TEMP
|
||||
EXTEND
|
||||
MP AMGB7
|
||||
TS ERRORZ
|
||||
CA CDUZ
|
||||
EXTEND
|
||||
MSU THETADZ
|
||||
TS T5TEMP
|
||||
EXTEND
|
||||
MP AMGB5
|
||||
ADS ERRORY
|
||||
CA T5TEMP
|
||||
EXTEND
|
||||
MP AMGB8
|
||||
ADS ERRORZ
|
||||
CS HOLDFLAG
|
||||
EXTEND
|
||||
# Page 1028
|
||||
BZMF JETS
|
||||
CA BIAS # AD BIASES ONLY IF PERFORMING AUTOMATIC
|
||||
ADS ERRORX
|
||||
CA BIAS1
|
||||
ADS ERRORY
|
||||
CA BIAS2
|
||||
ADS ERRORZ
|
||||
TCF JETS
|
||||
|
||||
|
||||
HOLDFUNC CCS HOLDFLAG
|
||||
TCF +3
|
||||
TCF ATTHOLD
|
||||
TCF +1
|
||||
GRABANG CAF ZERO # ZERO WBODYS AND BIASES
|
||||
TS WBODY
|
||||
TS WBODY +1
|
||||
TS WBODY1
|
||||
TS WBODY1 +1
|
||||
TS WBODY2
|
||||
TS WBODY2 +1
|
||||
TS BIAS
|
||||
TS BIAS1
|
||||
TS BIAS2
|
||||
|
||||
CA RCSFLAGS
|
||||
MASK OCT16000
|
||||
EXTEND # IS RATE DAMPING COMPLETED
|
||||
BZF ENDDAMP # IF SO, GO TO ENDDAMP
|
||||
CAF ZERO # OTHERWISE, ZERO ERRORS
|
||||
TS ERRORX
|
||||
TS ERRORY
|
||||
TS ERRORZ
|
||||
TCF JETS
|
||||
|
||||
ENDDAMP TS HOLDFLAG # SET HOLDFLAG +0
|
||||
EXTEND
|
||||
DCA CDUX # PICK UP CDU ANGLES FOR ATTITUDE HOLD
|
||||
DXCH THETADX # REFERENCES
|
||||
CA CDUZ
|
||||
TS THETADZ
|
||||
TCF ATTHOLD
|
||||
|
||||
# Page 1029
|
||||
# JET SWITCHING LOGIC AND CALCULATION OF REQUIRED ROTATION COMMANDS
|
||||
#
|
||||
# DETERMINE THE LOCATION OF THE RATE ERROR AND THE ATTITUDE ERROR RELATIVE TO THE SWITCHING LOGIC IN THE PHASE
|
||||
# PLANE.
|
||||
# COMPUTE THE CHANGE IN RATE CORRESPONDING TO THE ATTITUDE ERROR NECESSARY TO DRIVE THE THE S/C INTO THE
|
||||
# APPROPRIATE DEADZONE.
|
||||
#
|
||||
# .
|
||||
# R22 RATE . ERROR
|
||||
# WL+H .
|
||||
# ********************************* . ***** SWITCH LINES ENCLOSING DEADZONES
|
||||
# R23 WL * .
|
||||
# ----------------------------------* . ----- DESIRED RATE LINES
|
||||
# R23 WL-H - *.
|
||||
# ****************** - . R20, R21, R22, ETC REGIONS IN PHASE
|
||||
# * - .* R18 R20 R21 PLANE FOF COMPUTING DESIRED RESPONSE
|
||||
# * . *
|
||||
# *- . *
|
||||
# R22 R24*- R23 . *
|
||||
# * . *
|
||||
# * . *
|
||||
# + -ADB . * AF ATTITUDE
|
||||
# ........................+--+---------------+--+........................
|
||||
# AF * . +ADB + ERROR
|
||||
# * . *
|
||||
# * . -*
|
||||
# * . -*
|
||||
# * . -*
|
||||
# * . *
|
||||
# *. - *
|
||||
# . - *****************
|
||||
# .* -
|
||||
# . * --------------------------------
|
||||
# . *
|
||||
# . ********************************
|
||||
# .
|
||||
|
||||
# FIG. 1 PHASE PLANE SWITCHING LOGIC
|
||||
|
||||
|
||||
# CONSTANTS FOR JET SWITCHING LOGIC
|
||||
|
||||
WLH/SLOP DEC .00463 # = WL+H/SLOPE = .83333 DEG $180
|
||||
WL-H/SLP DEC .00277 # = WL-H/SLOPE = .5 DEG $180
|
||||
WLH 2DEC .0011111111 # = WL+H = 0.5 DEG/SEC $450
|
||||
|
||||
WLMH 2DEC .0006666666 # = WL-H = 0.3 DEG/SEC $450
|
||||
|
||||
WL 2DEC .0008888888 # = WL = 0.4 DEG/SEC $450
|
||||
|
||||
# Page 1030
|
||||
SLOPE2 DEC .32 # = 0.8 DEG/SEC/DEG $450/180
|
||||
JETS CA ADB
|
||||
AD FOUR # AF = FLAT REGION = .044 DEG
|
||||
TS T5TEMP # ADB+AF
|
||||
CAF TWO
|
||||
JLOOP TS SPNDX
|
||||
DOUBLE
|
||||
TS DPNDX
|
||||
EXTEND
|
||||
INDEX A
|
||||
DCA ADOT
|
||||
DXCH EDOT
|
||||
CA HOLDFLAG # HOLDFLAG = +0 MEANS THAT DAP IS IN
|
||||
EXTEND # ATTITUDE HOLD AND RATE DAMPING IS OVER.
|
||||
BZF INHOLD # IF THIS IS THE CASE, BYPASS ADDITION
|
||||
# OF WBODY AND GO TO INHOLD
|
||||
EXTEND
|
||||
INDEX DPNDX
|
||||
DCS WBODY
|
||||
DAS EDOT # = ADOT-WBODY
|
||||
INHOLD INDEX SPNDX
|
||||
CA ERRORX
|
||||
TS AERR # AERR = BIAS + AK
|
||||
|
||||
CCS EDOT
|
||||
TCF POSVEL
|
||||
TCF SIGNCK1
|
||||
TCF NEGVEL
|
||||
SIGNCK1 CCS EDOT +1
|
||||
TCF POSVEL
|
||||
TCF POSVEL
|
||||
TCF NEGVEL
|
||||
TCF NEGVEL
|
||||
POSVEL EXTEND
|
||||
DCA EDOT
|
||||
DXCH EDOTVEL
|
||||
CA T5TEMP
|
||||
TS ADBVEL # +(ADB+AF)
|
||||
CA AERR
|
||||
TS AERRVEL
|
||||
TC J6.
|
||||
NEGVEL EXTEND
|
||||
DCS EDOT
|
||||
DXCH EDOTVEL
|
||||
CS T5TEMP
|
||||
TS ADBVEL # -(ADB+AF)
|
||||
CS AERR
|
||||
TS AERRVEL
|
||||
|
||||
J6. EXTEND
|
||||
# Page 1031
|
||||
SU ADB
|
||||
AD WLH/SLOP
|
||||
EXTEND
|
||||
BZMF J8
|
||||
|
||||
CS T5TEMP # (ADB+AF)
|
||||
AD AERRVEL
|
||||
EXTEND
|
||||
BZMF +2
|
||||
TCF J7
|
||||
EXTEND
|
||||
DCS EDOTVEL
|
||||
EXTEND
|
||||
DV SLOPE
|
||||
EXTEND
|
||||
SU AERRVEL
|
||||
AD ADB
|
||||
EXTEND
|
||||
BZMF J18
|
||||
TCF J23
|
||||
|
||||
J7 CS WL-H/SLP
|
||||
EXTEND
|
||||
SU T5TEMP # (ADB+AF)
|
||||
AD AERRVEL
|
||||
EXTEND
|
||||
BZMF J20
|
||||
TCF J21
|
||||
|
||||
J8 EXTEND
|
||||
DCS WLH
|
||||
DXCH WTEMP
|
||||
EXTEND
|
||||
DCA EDOTVEL
|
||||
DAS WTEMP
|
||||
CCS WTEMP
|
||||
TCF J22
|
||||
TCF SIGNCK2
|
||||
TCF NJ22
|
||||
SIGNCK2 CCS WTEMP +1
|
||||
TCF J22
|
||||
TCF J22
|
||||
TCF NJ22
|
||||
|
||||
NJ22 EXTEND
|
||||
DCA EDOTVEL
|
||||
EXTEND
|
||||
DV SLOPE
|
||||
AD T5TEMP # (ADB+AF)
|
||||
AD AERRVEL
|
||||
# Page 1032
|
||||
CCS A
|
||||
TCF J23
|
||||
TCF J23
|
||||
TCF +2
|
||||
TCF J23
|
||||
|
||||
EXTEND
|
||||
DCS WLMH # WL - H
|
||||
DXCH WTEMP
|
||||
EXTEND
|
||||
DCA EDOTVEL
|
||||
DAS WTEMP
|
||||
CCS WTEMP
|
||||
TCF J23
|
||||
TCF SIGNCK3
|
||||
TCF NJ23
|
||||
SIGNCK3 CCS WTEMP +1
|
||||
TCF J23
|
||||
TCF J23
|
||||
TCF NJ23
|
||||
|
||||
NJ23 CA AERRVEL
|
||||
AD T5TEMP # (ADB+AF)
|
||||
AD WL-H/SLP
|
||||
CCS A
|
||||
TCF J24
|
||||
TCF J24
|
||||
TCF J22
|
||||
TCF J22
|
||||
|
||||
J18 EXTEND
|
||||
DCS EDOT
|
||||
DXCH KMPAC
|
||||
TCF JTIME
|
||||
|
||||
J20 CS AERR
|
||||
AD ADBVEL
|
||||
EXTEND
|
||||
MP SLOPE2 # (HYSTERESIS SLOPE)
|
||||
DXCH KMPAC
|
||||
EXTEND
|
||||
DCS EDOT
|
||||
DAS KMPAC
|
||||
TCF JTIME
|
||||
|
||||
J21 CCS EDOT
|
||||
TCF JP
|
||||
TCF SIGNCK4
|
||||
TCF JN
|
||||
SIGNCK4 CCS EDOT +1
|
||||
# Page 1033
|
||||
TCF JP
|
||||
TCF JP
|
||||
TCF JN
|
||||
JN EXTEND
|
||||
DCS EDOT
|
||||
DXCH KMPAC
|
||||
EXTEND
|
||||
DCA WL
|
||||
DAS KMPAC
|
||||
TCF JTIME
|
||||
|
||||
JP EXTEND
|
||||
DCS EDOT
|
||||
DXCH KMPAC
|
||||
EXTEND
|
||||
DCS WL
|
||||
DAS KMPAC
|
||||
TCF JTIME
|
||||
|
||||
J22 CCS EDOT
|
||||
TCF JN
|
||||
TCF SIGNCK5
|
||||
TCF JP
|
||||
SIGNCK5 CCS EDOT +1
|
||||
TCF JN
|
||||
TCF JN
|
||||
TCF JP
|
||||
TCF JP
|
||||
|
||||
J23 INDEX SPNDX
|
||||
CS BIT13 # RESET RATE DAMPING FLAG
|
||||
MASK RCSFLAGS # BIT13 FOR ROLL (SPNDX = 0)
|
||||
TS RCSFLAGS # BIT12 FOR PITCH (SPNDX = 1)
|
||||
# BIT11 FOR YAW (SPNDX = 2)
|
||||
|
||||
INDEX SPNDX
|
||||
CAF OCT01400 # IS THERE TO BE A FORCED FIRING ON THIS
|
||||
MASK RCSFLAGS # AXIS
|
||||
EXTEND
|
||||
BZF DOJET +2 # NO, GO TO DOJET +2 AND DO NOTHING
|
||||
|
||||
TCF J18 # YES, GO TO J18 AND FORCE A FIRING
|
||||
|
||||
J24 CS AERR
|
||||
EXTEND
|
||||
SU ADBVEL
|
||||
EXTEND
|
||||
MP SLOPE2 # (HYSTERESIS SLOPE)
|
||||
DXCH KMPAC
|
||||
EXTEND
|
||||
# Page 1034
|
||||
DCS EDOT
|
||||
DAS KMPAC
|
||||
|
||||
# Page 1035
|
||||
# COMPUTE THE JET ON TIME NECESSARY TO ACCOMPLISH THE DESIRED CHANGE IN RATE, IE
|
||||
#
|
||||
# T = J/M(DELTA W)
|
||||
# J
|
||||
#
|
||||
# DELTA W = DESIRED CHANGE IN S/C ANGULAR RATE AS DETERMINED BY THE
|
||||
# SWITCHING LOGIC, AT THIS POINT STORED IN KMPAC.
|
||||
#
|
||||
# J/M = S/C INERTIA TO TORQUE 9ATIO SCALED BY
|
||||
# (57.3/450)(B24/1600)(1/.8)
|
||||
# FOR 1 JET OPERATION (M = 700 FT-LB).
|
||||
# IE J/M = J(SLUG-FTFT) x 0.00000085601606
|
||||
#
|
||||
# THE CORRESPONDING COMPUTER VARIABLES ESTABLISHED BY
|
||||
# KEYBOARD ENTRY ARE
|
||||
# J/M (ROLL)
|
||||
# J/M1 (PITCH)
|
||||
# J/M2 (YAW)
|
||||
#
|
||||
# T = JET-ON TIME SCALED 16384/1600 SEC
|
||||
# J
|
||||
#
|
||||
# THE COMPUTER VARIABLES ARE
|
||||
# TAU (ROLL)
|
||||
# TAU1 (PITCH)
|
||||
# TAU2 (YAW)
|
||||
|
||||
JTIME INDEX SPNDX # PICK UP S/C INERTIA/TORQUE RATIO
|
||||
CA J/M # SCALED (57.3/450)(B24/1600)
|
||||
TC SMALLMP # FOR 1-JET OPERATION
|
||||
CA BIT11
|
||||
TC SMALLMP
|
||||
CCS KMPAC
|
||||
TCF +4
|
||||
TCF TAUNORM
|
||||
TCF +4
|
||||
TCF TAUNORM
|
||||
CA POSMAX
|
||||
TCF DOJET
|
||||
CA NEGMAX
|
||||
TCF DOJET
|
||||
|
||||
TAUNORM CA KMPAC +1
|
||||
DOJET INDEX SPNDX
|
||||
TS TAU
|
||||
CCS SPNDX
|
||||
TCF JLOOP
|
||||
TCF T6PROG
|
||||
|
||||
# Page 1036
|
||||
ZEROCMDS CAF ZERO
|
||||
TS TAU
|
||||
TS TAU1
|
||||
TS TAU2
|
||||
T6PROG EXTEND # WHEN THE ROTATION COMMANDS (TAUS)
|
||||
DCA JETADDR # HAVE BEEN DETERMINED
|
||||
DXCH T5LOC # RESET T5LOC FOR PHASE3
|
||||
TCF RESUME
|
||||
|
||||
EBANK= KMPAC
|
||||
JETADDR 2CADR JETSLECT
|
||||
|
|
@ -1,301 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: CM_BODY_ATTITUDE.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055. It
|
||||
# is part of the source code for the Command Module's
|
||||
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 883-889
|
||||
# Contact: Ron Burkey <info@sandroid.org>
|
||||
# Website: http://www.ibiblio.org/apollo.
|
||||
# Mod history: 2009-05-12 RSB Adapted from Colossus249 file of the same
|
||||
# name and Comanche 055 page images.
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further
|
||||
# information. Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 883
|
||||
BANK 35
|
||||
|
||||
SETLOC BODYATT
|
||||
BANK
|
||||
|
||||
COUNT 37/CMBAT
|
||||
|
||||
# PDL 12D - 15D SAFE.
|
||||
|
||||
# VALUES OF GIMBAL AND BODY ANGLES VALID AT PIP TIME ARE SAVED DURING READACCS.
|
||||
|
||||
EBANK= RTINIT # LET INTERPRETER SET EB
|
||||
|
||||
CM/POSE TC INTPRET # COME HERE VIA AVEGEXIT.
|
||||
|
||||
SETPD VLOAD
|
||||
0
|
||||
VN # KVSCALE = (12800/ .3048) /2VS
|
||||
VXSC PDVL
|
||||
-KVSCALE # KVSCALE = .81491944
|
||||
UNITW # FULL UNIT VECTOR
|
||||
VXV VXSC # VREL = V - WE*R
|
||||
UNITR
|
||||
KWE
|
||||
VAD STADR
|
||||
STORE -VREL # SAVE FOR ENTRY GUIDANCE. REF COORDS
|
||||
|
||||
UNIT LXA,1
|
||||
36D # ABVAL( -VREL) TO X1
|
||||
STORE UXA/2 # -UVREL REF COORDS
|
||||
|
||||
VXV VCOMP
|
||||
UNITR # .5 UNIT REF COORDS
|
||||
UNIT SSP # THE FOLLOWING IS TO PROVIDE A STABLE
|
||||
S1 # UN FOR THE END OF THE TERMINAL PHASE.
|
||||
SPVQUIT DEC .019405 # 1000/ 2 VS
|
||||
TIX,1 VLOAD # IF V-VQUIT POS, BRANCH.
|
||||
CM/POSE2 # SAVE UYA IN OLDUYA
|
||||
OLDUYA # OTHERWISE CONTINUE TO USE OLDUYA.
|
||||
CM/POSE2 STORE UYA/2 # REF COORDS
|
||||
|
||||
STORE OLDUYA # RESTORE, OR SAVE AS CASE MAY BE.
|
||||
|
||||
VXV VCOMP
|
||||
UXA/2 # FINISH OBTAINING TRAJECTORY TRIAD.
|
||||
VSL1
|
||||
STORE UZA/2 # REF COORDS
|
||||
# Page 884
|
||||
TLOAD # PICK UP CDUX, CDUY, CDUZ CORRESPONDING
|
||||
AOG/PIP # TO PIPUP TIME IN 2S.C AND SAVE.
|
||||
CM/TRIO STODL 24D
|
||||
25D # AIG/PIP
|
||||
|
||||
RTB PUSH # TO PDL0
|
||||
CDULOGIC
|
||||
COS
|
||||
STODL UBX/2 # CI /2
|
||||
# AIG/PIP FROM PDL 0
|
||||
SIN DCOMP
|
||||
STODL UBX/2 +4 # -SI /2
|
||||
26D # AMG/PIP
|
||||
RTB PUSH # TO PDL 0
|
||||
CDULOGIC
|
||||
SIN PDDL # XCH PDL 0. SAVE SM /2
|
||||
COS PDDL # CM /2 TO PDL 2
|
||||
0 # SM /2
|
||||
DCOMP VXSC
|
||||
UBX/2
|
||||
VSL1 # NOISE WONT OVFL.
|
||||
STODL UBY/2 # =(-SMCI, NOISE, SMSI)/2
|
||||
2 # CM /2 REPLACES NOISE
|
||||
STODL UBY/2 +2 # UBY/2=(-SMCI, CM, SMSI)/2
|
||||
24D # AOG/PIP
|
||||
RTB PUSH # TO PDL 4
|
||||
CDULOGIC
|
||||
SIN PDDL # XCH PDL 4. SAVE SO /2
|
||||
COS VXSC # CO /2
|
||||
UBY/2
|
||||
STODL UBY/2 # UBY/2=(-COSMCI, COCM, COSMSI)/4
|
||||
4D # SO /2
|
||||
DMP DCOMP
|
||||
UBX/2 +4 # -SI /2
|
||||
DAD
|
||||
UBY/2 # INCREMENT BY (SOSI /4)
|
||||
STODL UBY/2
|
||||
# SO /2 FROM PDL 4
|
||||
DMP DAD
|
||||
UBX/2 # CI /2
|
||||
UBY/2 +4
|
||||
STOVL UBY/2 +4 # YB/4 PLATFORM COORDS
|
||||
|
||||
# YB = (-COSMCI + SOSI , COCM , COSMSI + SOCI )
|
||||
|
||||
UBY/2
|
||||
VXM VSL2
|
||||
REFSMMAT # .5 UNIT
|
||||
STODL UBY/2 # YB/2 DONE REF COORDS
|
||||
# Page 885
|
||||
# CM /2 FROM PDL 2
|
||||
VXSC VSL1
|
||||
UBX/2
|
||||
STODL UBX/2 # =( CMCI, NOISE, -CMSI)/2
|
||||
STADR # SM /2 FROM PDL 0
|
||||
STOVL UBX/2 +2 # SM /2 REPLACES NOISE
|
||||
UBX/2 # XB/2 PLATFORM COORDS
|
||||
|
||||
# XB = ( CMCI , SM , -CMSI )
|
||||
|
||||
VXM VSL1
|
||||
REFSMMAT # .5 UNIT
|
||||
STORE UBX/2 # XB/2 DONE REF COORDS
|
||||
|
||||
VXV VSL1
|
||||
UBY/2
|
||||
STOVL UBZ/2 # ZB/2 DONE REF COORDS
|
||||
|
||||
# EQUIVALENT TO
|
||||
# ZB = ( SOSMCI + COSI , -SOCM , -SOSMSI + COCI)
|
||||
|
||||
UXA/2 # -UVREL/2 = -UVA/2
|
||||
VXV UNIT # GET UNIT(-UVREL*UBY)/2 = UL/2
|
||||
UBY/2 # YB/2
|
||||
PUSH DOT # UL/2 TO PDL 0,5
|
||||
UZA/2 # UNA/2
|
||||
STOVL COSTH # COS(ROLL)/4
|
||||
0 # UL/2
|
||||
|
||||
DOT
|
||||
UYA/2
|
||||
STCALL SINTH # -SIN(ROLL)/4
|
||||
ARCTRIG
|
||||
STOVL 6D # -(ROLL/180) /2
|
||||
UBY/2
|
||||
DOT SL1 # -UVA.UBY = -SIN(BETA)
|
||||
UXA/2 # -UVREL/2
|
||||
ARCSIN
|
||||
STOVL 7D # -(BETA/180) /2
|
||||
UBX/2 # XB/2
|
||||
DOT # UL.UBX = -SIN(ALFA)
|
||||
0 # UL/2
|
||||
STOVL SINTH # -SIN(ALFA)/4
|
||||
DOT # UL/2 FROM PDL 0
|
||||
UBZ/2
|
||||
STCALL COSTH # COS(ALFA)/2
|
||||
ARCTRIG
|
||||
STOVL 8D # -(ALFA/180) /2
|
||||
UNITR # UR/2 REF COORDS
|
||||
DOT SL1
|
||||
# Page 886
|
||||
UZA/2 # MORE ACCURATE AT LARGE ARG.
|
||||
ARCCOS
|
||||
STORE 10D # (-GAMA/180)/2
|
||||
|
||||
TLOAD EXIT # ANGLES IN MPAC IN THE ORDER
|
||||
# -( (ROLL, BETA, ALFA) /180)/2
|
||||
6D # THESE VALUES CORRECT AT PIPUP TIME.
|
||||
|
||||
# Page 887
|
||||
# BASIC SUBROUTINE TO UPDATE ATTITUDE ANGLES
|
||||
|
||||
EBANK= AOG
|
||||
|
||||
CM/ATUP CA EBAOG
|
||||
TS EBANK
|
||||
CMTR1 INDEX FIXLOC
|
||||
CS 10D # (GAMA/180)/2
|
||||
XCH GAMA
|
||||
TS L
|
||||
|
||||
INHINT
|
||||
# MUST REMAIN INHINTED UNTIL UPDATE OF BODY
|
||||
# ANGLES, SO THAT GAMDIFSW IS VALID FIRST PASS
|
||||
# INDICATOR.
|
||||
|
||||
CS CM/FLAGS
|
||||
MASK BIT11 # GAMDIFSW=94D BIT11 INITLY=0
|
||||
EXTEND # DONT CALC GAMA DOT UNTIL HAVE FORMD
|
||||
# ONE DIFFERENCE.
|
||||
BZF DOGAMDOT # IS OK, GO ON.
|
||||
ADS CM/FLAGS # KNOW BIT IS 0
|
||||
TC NOGAMDOT # SET GAMDOT = 0
|
||||
|
||||
DOGAMDOT CS L
|
||||
AD GAMA # DEL GAMA/360= T GAMDOT/360
|
||||
EXTEND
|
||||
MP TCDU # TCDU = .1 SEC, T = 2 SEC.
|
||||
TS GAMDOT # GAMA DOT TCDU / 180
|
||||
|
||||
EXTEND # IGNORE GAMDOT IF LEQ .5 DEG/SEC
|
||||
BZMF +2
|
||||
COM
|
||||
AD FIVE
|
||||
EXTEND
|
||||
BZMF +3 # SET GAMDOT=+0 AS TAG IF TOO SMALL.
|
||||
|
||||
NOGAMDOT CA ZERO # COME HERE INHINTED.
|
||||
TS GAMDOT
|
||||
# FOR NOW LEAVE IN 2S.C
|
||||
# UPDATE ANGLES BY CORRECTING EUILER ANG
|
||||
# FOR ACCRUED INCREMENT SINCE PIPUP
|
||||
# R = R EUIL + R(NOW) -R(PIPUP)
|
||||
CS MPAC # GET (R EUL/180) /2
|
||||
DOUBLE # POSSIBLE OVERFLOW
|
||||
TC CORANGOV # CORRECT FOR OVFL IF ANY
|
||||
EXTEND
|
||||
SU ROLL/PIP # GET INCR SINCE PIPUP
|
||||
AD ROLL/180 # ONLY SINGLE OVFL POSSIBLE.
|
||||
TC CORANGOV # CORRECT FOR OVFL IF ANY
|
||||
# Page 888
|
||||
TS TEMPROLL
|
||||
|
||||
CS MPAC +2 # GET (ALFA EUL/180) /2
|
||||
DOUBLE # SAME AS FOR ROLL. NEEDED FOR EXT ATM DAP
|
||||
TC CORANGOV # CORRECT FOR OVFL IF ANY
|
||||
EXTEND
|
||||
SU ALFA/PIP
|
||||
AD ALFA/180
|
||||
TC CORANGOV # CORRECT FOR OVFL IF ANY
|
||||
TS TEMPALFA
|
||||
|
||||
CS MPAC +1 # GET (BETA EUL/180) /2
|
||||
CMTR2 DOUBLE
|
||||
EXTEND
|
||||
SU BETA/PIP
|
||||
AD BETA/180
|
||||
XCH TEMPBETA # OVFL NOT EXPECTED.
|
||||
|
||||
CA EBANK3
|
||||
TS EBANK
|
||||
|
||||
EBANK= PHSNAME5
|
||||
EXTEND
|
||||
DCA REPOSADR # THIS ASSUMES THAT THE TC PHASCHNG
|
||||
DXCH PHSNAME5 # IS NOT CHANGED IN OCT 10035
|
||||
# SERVICER.
|
||||
|
||||
CA EBAOG
|
||||
TS EBANK
|
||||
|
||||
EBANK= AOG
|
||||
REDOPOSE EXTEND # RE-STARTS COME HERE
|
||||
DCA TEMPROLL
|
||||
DXCH ROLL/180
|
||||
CA TEMPBETA
|
||||
TS BETA/180
|
||||
|
||||
RELINT
|
||||
|
||||
TC INTPRET # CANT TC DANZIG AFTER PHASCHNG.
|
||||
CM/POSE3 VLOAD ABVAL # RETURN FROM CM/ATUP. (RESTART)
|
||||
VN # 2(-7) M/CS
|
||||
STORE VMAGI # FOR DISPLAY ON CALL.
|
||||
|
||||
GOTO
|
||||
POSEXIT # ENDEXIT, STARTENT, OR SCALEPOP.
|
||||
|
||||
CORANGOV TS L
|
||||
TC Q
|
||||
INDEX A
|
||||
# Page 889
|
||||
CA LIMITS
|
||||
ADS L
|
||||
TC Q # COSTS 2 MCT TO USE. SEE ANGOVCOR.
|
||||
|
||||
-KVSCALE 2DEC -.81491944 # -12800/(2 VS .3048)
|
||||
|
||||
TCDU DEC .1 # TCDU = .1 SEC.
|
||||
|
||||
EBANK= AOG
|
||||
REPOSADR 2CADR REDOPOSE
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,73 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: CONTRACT_AND_APPROVALS.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Mod history: 2009-05-06 RSB Transcribed from page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
|
||||
# Page 1
|
||||
|
||||
|
||||
# ************************************************************************
|
||||
# * *
|
||||
# * THIS AGC PROGRAM SHALL ALSO BE REFERRED TO AS: *
|
||||
# * *
|
||||
# * *
|
||||
# * COLOSSUS 2A *
|
||||
# * *
|
||||
# * *
|
||||
# * THIS PROGRAM IS INTENDED FOR USE IN THE CM AS SPECIFIED *
|
||||
# * IN REPORT R-577. THIS PROGRAM WAS PREPARED UNDER DSR *
|
||||
# * PROJECT 55-23870, SPONSORED BY THE MANNED SPACECRAFT *
|
||||
# * CENTER OF THE NATIONAL AERONAUTICS AND SPACE *
|
||||
# * ADMINISTRATION THROUGH CONTRACT NAS 9-4065 WITH THE *
|
||||
# * INSTRUMENTATION LABORATORY, MASSACHUSETTS INSTITUTE OF *
|
||||
# * TECHNOLOGY, CAMBRIDGE, MASS. *
|
||||
# * *
|
||||
# ************************************************************************
|
||||
|
||||
|
||||
# SUBMITTED: MARGARET H. HAMILTON DATE: 28 MAR 69
|
||||
# M.H.HAMILTON, COLOSSUS PROGRAMMING LEADER
|
||||
# APOLLO GUIDANCE AND NAVIGATION
|
||||
|
||||
# APPROVED: DANIEL J. LICKLY DATE: 28 MAR 69
|
||||
# D.J.LICKLY, DIRECTOR, MISSION PROGRAM DEVELOPMENT
|
||||
# APOLLO GUIDANCE AND NAVIGATION PROGRAM
|
||||
|
||||
# APPROVED: FRED H. MARTIN DATE: 28 MAR 69
|
||||
# FRED H. MARTIN, COLOSSUS PROJECT MANGER
|
||||
# APOLLO GUIDANCE AND NAVIGATION PROGRAM
|
||||
|
||||
# APPROVED: NORMAN E.SEARS DATE: 28 MAR 69
|
||||
# N.E. SEARS, DIRECTOR, MISSION DEVELOPMENT
|
||||
# APOLLO GUIDANCE AND NAVIGATION PROGRAM
|
||||
|
||||
# APPROVED: RICHARD H. BATTIN DATE: 28 MAR 69
|
||||
# R.H. BATTIN, DIRECTOR, MISSION DEVELOPMENT
|
||||
# APOLLO GUIDANCE AND NAVIGATION PROGRAM
|
||||
|
||||
# APPROVED: DAVID G. HOAG DATE: 28 MAR 69
|
||||
# D.G. HOAG, DIRECTOR
|
||||
# APOLLO GUIDANCE AND NAVIGATION PROGRAM
|
||||
|
||||
# APPROVED: RALPH R. RAGAN DATE: 28 MAR 69
|
||||
# R.R. RAGAN, DEPUTY DIRECTOR
|
||||
# INSTRUMENTATION LABORATORY
|
||||
|
|
@ -1,415 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: CSM_GEOMETRY.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 285-296
|
||||
# Mod history: 2009-05-08 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 285
|
||||
BANK 22
|
||||
SETLOC COMGEOM1
|
||||
BANK
|
||||
|
||||
# THIS ROUTINE TAKES THE SHAFT AND TRUNNION ANGLES AS READ BY THE CM OPTICAL SYSTEM AND CONVERTS THEM INTO A UNIT
|
||||
# VECTOR REFERENCED TO THE NAVIGATION BASE COORDINATE SYSTEM AND COINCIDENT WITH THE SEXTANT LINE OF SIGHT.
|
||||
#
|
||||
# THE INPUTS ARE 1) THE SEXTANT SHAFT AND TRUNNION ANGLES ARE STORED SP IN LOCATIONS 3 AND 5 RESPECTIVELY OF THE
|
||||
# MARK VAC AREA. 2) THE COMPLEMENT OF THE BASE ADDRESS OF THE MARK VAC AREA IS STORED SP AT LOCATION X1 OF YOUR
|
||||
# JOB VAC AREA.
|
||||
#
|
||||
# THE OUTPUT IS A HALF-UNIT VECTOR IN NAVIGATION BASE COORDINATES AND STORED AT LOCATION 32D OF THE VAC AREA. THE
|
||||
# OUTPUT IS ALSO AVAILABLE AT MPAC.
|
||||
|
||||
|
||||
COUNT 23/GEOM
|
||||
|
||||
SXTNB SLOAD* RTB # PUSHDOWN 00,02,04,(17D-19D),32D-36D
|
||||
5,1 # TRUNNION = TA
|
||||
CDULOGIC
|
||||
RTB PUSH
|
||||
SXTLOGIC
|
||||
SIN SL1
|
||||
PUSH SLOAD* # PD2 = SIN(TA)
|
||||
3,1 # SHAFT = SA
|
||||
RTB PUSH # PD4 = SA
|
||||
CDULOGIC
|
||||
|
||||
COS DMP
|
||||
2
|
||||
STODL STARM # COS(SA)SIN(TA)
|
||||
|
||||
SIN DMP
|
||||
STADR
|
||||
STODL STARM +2 # SIN(SA)SIN(TA)
|
||||
|
||||
COS
|
||||
STOVL STARM +4
|
||||
STARM # STARM = 32D
|
||||
MXV VSL1
|
||||
NB1NB2
|
||||
STORE 32D
|
||||
RVQ
|
||||
|
||||
|
||||
SXTLOGIC CAF 10DEGS- # CORRECT FOR 19.775 DEGREE OFFSET
|
||||
ADS MPAC
|
||||
CAF QUARTER
|
||||
TC SHORTMP
|
||||
TC DANZIG
|
||||
# Page 286
|
||||
# CALCSXA COMPUTES THE SEXTANT SHAFT AND TRUNNION ANGLES REQUIRED TO POSITION THE OPTICS SUCH THAT A STAR LINE-
|
||||
# OF-SIGHT LIES ALONG THE STAR VECTOR. THE ROUTINE TAKES THE GIVEN STAR VECTOR AND EXPRESSES IT AS A VECTOR REF-
|
||||
# ERENCED TO THE OPTICS COORDINATE SYSTEM. IN ADDITION IT SETS UP THREE UNIT VECTORS DEFINING THE X,Y, AND Z AXES
|
||||
# REFERENCED TO THE OPTICS COORDINATE SYSTEM.
|
||||
#
|
||||
# THE INPUTS ARE 1) THE STAR VECTOR REFERRED TO PRESENT STABLE MEMBER COORDINATES STORED AT STAR. 2) SAME ANGLE
|
||||
# INPUT AS *SMNB*, I.E. SINES AND COSINES OF THE CDU ANGLES, IN THE ORDER Y Z X, AT SINCDU AND COSCDU. A CALL
|
||||
# TO CDUTRIG WILL PROVIDE THIS INPUT.
|
||||
#
|
||||
# THE OUTPUTS ARE THE SEXTANT SHAFT AND TRUNNION ANGLES STORED DP AT SAC AND PAC RESPECTIVELY. (LOW ORDER PART
|
||||
# EQUAL TO ZERO).
|
||||
|
||||
|
||||
CALCSXA ITA VLOAD # PUSHDOWN 00-26D,28D,30D,32D-36D
|
||||
28D
|
||||
STAR
|
||||
CALL
|
||||
*SMNB*
|
||||
MXV VSL1
|
||||
NB2NB1
|
||||
STOVL STAR
|
||||
HIUNITX
|
||||
STOVL XNB1
|
||||
HIUNITY
|
||||
STOVL YNB1
|
||||
HIUNITZ
|
||||
STCALL ZNB1
|
||||
SXTANG1
|
||||
# Page 287
|
||||
# SXTANG COMPUTES THE SEXTANT SHAFT AND TRUNNION ANGLES REQUIRED TO POSITION THE OPTICS SUCH THAT A STAR LINE-OF-
|
||||
# SIGHT LIES ALONG THE STAR VECTOR.
|
||||
#
|
||||
# THE INPUTS ARE 1) THE STAR VECTOR REFERRED TO ANY COORDINATE SYSTEM STORED AT STAR. 2) THE NAVIGATION BASE
|
||||
# COORDINATES REFERRED TO THE SAME COORDINATE SYSTEM. THESE THREE HALF-UNIT VECTORS ARE STORED AT XNB, YNB, AND
|
||||
# ZNB.
|
||||
#
|
||||
# THE OUTPUTS ARE THE SEXTANT SHAFT AND TRUNNION ANGLES STORED DP AT SAC AND PAC RESPECTIVELY. (LOW ORDER PART
|
||||
# EQUAL TO ZERO).
|
||||
|
||||
|
||||
SXTANG ITA RTB # PUSHDOWN 16D,18D,22D-26D,28D
|
||||
28D
|
||||
TRANSP1 # EREF WRT NB2
|
||||
VLOAD MXV
|
||||
XNB
|
||||
NB2NB1
|
||||
VSL1
|
||||
STOVL XNB1
|
||||
YNB
|
||||
MXV VSL1
|
||||
NB2NB1
|
||||
STOVL YNB1
|
||||
ZNB
|
||||
MXV VSL1
|
||||
NB2NB1
|
||||
STORE ZNB1
|
||||
|
||||
RTB RTB
|
||||
TRANSP1
|
||||
TRANSP2
|
||||
|
||||
SXTANG1 VLOAD VXV
|
||||
ZNB1
|
||||
STAR
|
||||
BOV
|
||||
+1
|
||||
UNIT BOV
|
||||
ZNB=S1
|
||||
STORE PDA # PDA = UNIT(ZNB X S)
|
||||
|
||||
DOT DCOMP
|
||||
XNB1
|
||||
STOVL SINTH # SIN(SA) = PDA . -XNB
|
||||
PDA
|
||||
|
||||
DOT
|
||||
YNB1
|
||||
STCALL COSTH # COS(SA) = PDA . YNB
|
||||
ARCTRIG
|
||||
# Page 288
|
||||
RTB
|
||||
1STO2S
|
||||
STOVL SAC
|
||||
STAR
|
||||
BOV
|
||||
+1
|
||||
DOT SL1
|
||||
ZNB1
|
||||
ACOS
|
||||
BMN SL2
|
||||
SXTALARM # TRUNNION ANGLE NEGATIVE
|
||||
BOV DSU
|
||||
SXTALARM # TRUNNION ANGLE GREATER THAN 90 DEGREES
|
||||
20DEG-
|
||||
RTB
|
||||
1STO2S
|
||||
STORE PAC # FOR FLIGHT USE, CULTFLAG IS ON IF
|
||||
CLRGO # TRUNION IS GREATER THAN 90 DEG
|
||||
CULTFLAG
|
||||
28D
|
||||
SXTALARM SETGO # ALARM HAS BEEN REMOVED FROM THIS
|
||||
CULTFLAG
|
||||
28D # SUBROUTINE,ALARM WILL BE SET BY MPI
|
||||
ZNB=S1 DLOAD
|
||||
270DEG
|
||||
STODL SAC
|
||||
20DEGS-
|
||||
STORE PAC
|
||||
CLRGO
|
||||
CULTFLAG
|
||||
28D
|
||||
# Page 289
|
||||
# THESE TWO ROUTINES COMPUTE THE ACTUAL STATE VECTOR FOR LM, CSM BY ADDING
|
||||
# THE CONIC R,V AND THE DEVIATIONSR,V. THE STATE VECTORS ARE CONVERTED TO
|
||||
# METERS B-29 AND METERS/CSEC B-7 AND STORED APPROPRIATELY IN RN,VN OR
|
||||
# R-OTHER , V-OTHER FOR DOWNLINK. THE ROUTINES NAMES ARE SWITCHED IN THE
|
||||
# OTHER VEHICLES COMPUTER.
|
||||
#
|
||||
# INPUT
|
||||
# STATE VECTOR IN TEMPORARY STORAGE AREA
|
||||
# IF STATE VECTOR IS SCALED POS B27 AND VEL B5
|
||||
# SET X2 TO +2
|
||||
# IF STATE VECTOR IS SCALED POS B29 AND VEL B7
|
||||
# SET X2 TO 0
|
||||
#
|
||||
# OUTPUT
|
||||
# R(T) IN RN, V(T) IN VN, T IN PIPTIME
|
||||
# OR
|
||||
# R(T) IN R-OTHER, V(T) IN V-OTHER (T IS DEFINED BY T-OTHER)
|
||||
|
||||
|
||||
BANK 23
|
||||
SETLOC COMGEOM2
|
||||
BANK
|
||||
COUNT 10/GEOM
|
||||
SVDWN1 BOF RVQ # SW=1=AVETOMID DOING W-MATRIX INTEG
|
||||
AVEMIDSW
|
||||
+1
|
||||
VLOAD VSL*
|
||||
TDELTAV
|
||||
0 -7,2
|
||||
VAD VSL*
|
||||
RCV
|
||||
0,2
|
||||
STOVL RN
|
||||
TNUV
|
||||
VSL* VAD
|
||||
0 -4,2
|
||||
VCV
|
||||
VSL*
|
||||
0,2
|
||||
STODL VN
|
||||
TET
|
||||
STORE PIPTIME
|
||||
RVQ
|
||||
|
||||
SVDWN2 VLOAD VSL*
|
||||
TDELTAV
|
||||
0 -7,2
|
||||
VAD VSL*
|
||||
RCV
|
||||
# Page 290
|
||||
0,2
|
||||
STOVL R-OTHER
|
||||
TNUV
|
||||
VSL* VAD
|
||||
0 -4,2
|
||||
VCV
|
||||
VSL*
|
||||
0,2
|
||||
STORE V-OTHER
|
||||
RVQ
|
||||
# Page 291
|
||||
# SUBROUTINE TO COMPUTE THE NATURAL LOG OF C(MPAC, MPAC +1).
|
||||
#
|
||||
# ENTRY: CALL
|
||||
# LOG
|
||||
#
|
||||
# SUBROUTINE RETURNS WITH -LOG IN DP MPAC.
|
||||
#
|
||||
# EBANK IS ARBITRARY..
|
||||
|
||||
BANK 14
|
||||
SETLOC POWFLIT2
|
||||
BANK
|
||||
COUNT 23/GEOM
|
||||
|
||||
LOG NORM BDSU # GENERATES LOG BY SHIFTING ARG
|
||||
MPAC +3 # UNTIL IT LIES BETWEEN .5 AND 1.
|
||||
NEARLY1 # THE LOG OF THIS PART IS FOUND AND THE
|
||||
EXIT # LOG OF THE SHIFTED PART IS COMPUTED
|
||||
|
||||
TC POLY # AND ADDED IN. SHIFT COUNT STORED
|
||||
|
||||
DEC 2 # (N-1, SUPPLIED BY SMERZH)
|
||||
2DEC 0 # IN MPAC +3.
|
||||
2DEC .031335467
|
||||
2DEC .0130145859
|
||||
2DEC .0215738898
|
||||
|
||||
CAF ZERO
|
||||
TS MPAC +2
|
||||
EXTEND
|
||||
DCA CLOG2/32
|
||||
DXCH MPAC
|
||||
DXCH MPAC +3
|
||||
COM # LOAD POSITIVE SHIFT COUNT IN A.
|
||||
TC SHORTMP # MULTIPLY BY SHIFT COUNT.
|
||||
|
||||
DXCH MPAC +1
|
||||
DXCH MPAC
|
||||
DXCH MPAC +3
|
||||
DAS MPAC
|
||||
TC INTPRET # RESULT IN MPAC, MPAC +1
|
||||
|
||||
RVQ
|
||||
|
||||
NEARLY1 2DEC .999999999
|
||||
|
||||
# Page 292
|
||||
CLOG2/32 2DEC .0216608494
|
||||
|
||||
# Page 293
|
||||
# SUBROUTINE NAME: EARTH ROTATOR (EARROT1 OR EARROT2) DATE: 15 FEB 67
|
||||
# MOD NO: N +1 LOG SECTION: POWERED FLIGHT SUBROS
|
||||
# MOD BY: ENTRY GROUP (BAIRNSFATHER)
|
||||
# FUNCTIONAL DESCRIPTION: THIS ROUTINE PROJECTS THE INITIAL EARTH TARGET VECTOR RTINIT AHEAD THROUGH
|
||||
# THE ESTIMATED TIME OF FLIGHT. INITIAL CALL RESOLVES THE INITIAL TARGET VECTOR RTINIT INTO EASTERLY
|
||||
# AND NORMAL COMPONENTS RTEAST AND RTNORM . INITIAL AND SUBSEQUENT CALLS ROTATE THIS VECTOR
|
||||
# ABOUT THE (FULL) UNIT POLAR AXIS UNITW THROUGH THE ANGLE WIE DTEAROT TO OBTAIN THE ROTATED
|
||||
# TARGET VECTOR RT . ALL VECTORS EXCEPT UNITW ARE HALF UNIT.
|
||||
# THE EQUATIONS ARE
|
||||
# - - - -
|
||||
# RT = RTINIT + RTNORM (COS(WT) - 1) + RTEAST SIN(WT)
|
||||
# WHERE WT = WIE DTEAROT
|
||||
# RTINIT = INITIAL TARGET VECTOR
|
||||
# - - -
|
||||
# RTEAST = UNITW*RTINIT
|
||||
# - - -
|
||||
# RTNORM = RTEAST*UNITW
|
||||
#
|
||||
# FOR CONTINUOUS UPDATING, ONLY ONE ENTRY TO EARROT1 IS REQUIRED, WITH SUBSEQUENT ENTRIES AT EARROT2.
|
||||
# CALLING SEQUENCE: FIRST CALL SUBSEQUENT CALL
|
||||
# STCALL DTEAROT STCALL DTEAROT
|
||||
# EARROT1 EARROT2
|
||||
# C(MPAC) UNSPECIFIED C(MPAC) = DTEAROT
|
||||
# PUSHLOC = PDL+0, ARBITRARY. 6 LOCATIONS USED.
|
||||
#
|
||||
# SUBROUTINES USED: NONE
|
||||
# NORMAL EXIT MODES: RVQ
|
||||
# ALARMS: NONE
|
||||
# OUTPUT: RTEAST (-1) .5 UNIT VECTOR EAST, COMPNT OF RTINIT LEFT BY FIRST CALL
|
||||
# RTNORM (-1) .5 UNIT VECTOR NORML, COMPNT OF RTINIT LEFT BY FIRST CALL
|
||||
# RT (-1) .5 UNIT TARGET VECTOR, ROTATED LEFT BY ALL CALLS
|
||||
# DTEAROT (-28) CS MAY BE CHANGED BY EARROT2, IF OVER 1 DAY
|
||||
# ERASABLE INITIALIZATION REQUIRED:
|
||||
# UNITW (0) UNIT POLAR VECTOR PAD LOADED
|
||||
# RTINIT (-1) .5 UNIT INITIAL TARGET VECTOR LEFT BY ENTRY
|
||||
# DTEAROT (-28) CS TIME OF FLIGHT LEFT BY CALLER
|
||||
# DEBRIS: QPRET, PDL+0 ... PDL+5
|
||||
# Page 294
|
||||
EBANK= RTINIT
|
||||
|
||||
EARROT1 VLOAD VXV
|
||||
UNITW # FULL UNIT VECTOR
|
||||
RTINIT # .5 UNIT
|
||||
STORE RTEAST # .5 UNIT
|
||||
|
||||
VXV
|
||||
UNITW # FULL UNIT
|
||||
STODL RTNORM # .5 UNIT
|
||||
DTEAROT # (-28) CS
|
||||
|
||||
EARROT2 BOVB DDV
|
||||
TCDANZIG # RESET OVFIND, IF ON
|
||||
1/WIE
|
||||
BOV PUSH
|
||||
OVERADAY
|
||||
COS DSU
|
||||
HIDPHALF
|
||||
VXSC PDDL # XCH W PUSH LIST
|
||||
RTNORM # .5 UNIT
|
||||
SIN VXSC
|
||||
RTEAST # .5 UNIT
|
||||
VAD VSL1
|
||||
VAD UNIT # INSURE THAT RT IS 'UNIT'.
|
||||
RTINIT # .5 UNIT
|
||||
STORE RT # .5 UNIT TARGET VECTOR
|
||||
|
||||
RVQ
|
||||
|
||||
OVERADAY DLOAD SIGN
|
||||
1/WIE
|
||||
DTEAROT
|
||||
BDSU
|
||||
DTEAROT
|
||||
STORE DTEAROT
|
||||
|
||||
GOTO
|
||||
EARROT2
|
||||
|
||||
#WIE 2DEC .1901487997
|
||||
1/WIE 2DEC 8616410
|
||||
NB2NB1 2DEC +.8431756920 B-1
|
||||
2DEC 0
|
||||
2DEC -.5376381241 B-1
|
||||
# Page 295
|
||||
ZERINFLT 2DEC 0
|
||||
HALFNFLT 2DEC .5
|
||||
2DEC 0
|
||||
2DEC +.5376381241 B-1
|
||||
2DEC 0
|
||||
2DEC +.8431756920 B-1
|
||||
NB1NB2 2DEC +.8431756920 B-1
|
||||
2DEC 0
|
||||
2DEC +.5376381241 B-1
|
||||
2DEC 0
|
||||
2DEC .5
|
||||
2DEC 0
|
||||
2DEC -.5376381241 B-1
|
||||
2DEC 0
|
||||
2DEC +.8431756920 B-1
|
||||
|
||||
# Page 296
|
||||
10DEGS- DEC 3600
|
||||
|
||||
270DEG OCT 60000 # SHAFT 270 DEGREES 2S COMP.
|
||||
OCT 00000
|
||||
|
||||
20DEGS- DEC -07199
|
||||
DEC -00000
|
||||
|
||||
20DEG- DEC 03600
|
||||
DEC 00000
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,441 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: DOWN-TELEMETRY_PROGRAM.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055. It
|
||||
# is part of the source code for the Command Module's
|
||||
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 1093-1102
|
||||
# Contact: Ron Burkey <info@sandroid.org>
|
||||
# Website: http://www.ibiblio.org/apollo.
|
||||
# Mod history: 2009-05-08 RSB Adapted from Colossus249/ file of same name
|
||||
# and page images. Corrected various typos
|
||||
# in the transcription of program comments,
|
||||
# and these should be back-ported to
|
||||
# Colossus249.
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further
|
||||
# information. Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 1093
|
||||
# PROGRAM NAME- DOWN TELEMETRY PROGRAM
|
||||
# MOD NO.- 0 TO COMPLETELY REWRITE THE DOWN TELEMETRY PROGRAM AND DOWNLINK ERASABLE DUMP PROGRAM FOR THE
|
||||
# PURPOSE OF SAVING APPROXIMATELY 150 WORDS OF CORE STORAGE.
|
||||
# THIS CHANGE REQUIRES AN ENTIRELY NEW METHOD OF SPECIFYING DOWNLINK LISTS. REFER TO DOWNLINK
|
||||
# LISTS LOG SECTION FOR MORE DETAILS. HOWEVER THIS CHANGES WILL NOT AFFECT THE GROUND PROCESSING
|
||||
# OF DOWN TELEMETRY DATA.
|
||||
# MOD BY- KILROY, SMITH, DEWITT
|
||||
# DATE- 02OCT67
|
||||
# AUTHORS- KILROY, SMITH, DWWITT, DEWOLF, FAGIN
|
||||
# LOG SECTION- DOWN-TELEMETRY PROGRAM
|
||||
# FUNCTIONAL DESCRIPTION- THIS ROUTINE IS INITIATED BY TELEMETRY END
|
||||
# PULSE FROM THE DOWNLINK TELEMETRY CONVERTER. THIS PULSE OCCURS
|
||||
# AT 50 TIMES PER SEC(EVERY 20 MS) THEREFORE DODOWNTM IS
|
||||
# EXECUTED AT THESE RATES. THIS ROUTINE SELECTS THE APPROPRIATE
|
||||
# AGC DATA TO BE TRANSMITTED DOWNLINK AND LOADS IT INTO OUTPUT
|
||||
# CHANNELS 34 AND 35. THE INFORMATION IS THEN GATED OUT FROM THE
|
||||
# LGC IN SERIAL FASHION.
|
||||
# THIS PROGRAM IS CODED FOR A 2 SECOND DOWNLIST. SINCE DOWNRUPTS
|
||||
# OCCUR EVERY 20MS AND 2 AGC COMPUTER WORDS CAN BE PLACED IN
|
||||
# CHANNELS 34 AND 35 DURING EACH DOWNRUPT THE PROGRAM IS CAPABLE
|
||||
# OF SENDING 200 AGC WORDS EVERY 2 SECONDS.
|
||||
# CALLING SEQUENCE- NONE
|
||||
# PROGRAM IS ENTERED VIA TCF DODOWNTM WHICH IS EXECUTED AS A
|
||||
# RESULT OF A DOWNRUPT. CONTROL IS RETURNED VIA TCF RESUME WHICH
|
||||
# IN EFFECT IS A RESUME.
|
||||
# SUBROUTINES CALLED- NONE
|
||||
# NORMAL EXIT MODE- TCF RESUME
|
||||
# ALARM OR ABORT EXIT MODE- NONE
|
||||
# RESTART PROTECTION:
|
||||
# ON A FRESH START AND RESTART THE 'STARTSUB' SUBROUTINE WILL INITIALIZE THE DOWNLIST POINTER(ACTUALLY
|
||||
# DNTMGOTO) TO THE BEGINNING OF THE CURRENT DOWNLIST(I.E., CURRENT CONTENTS OF DNLSTADR). THIS HAS THE
|
||||
# EFFECT OF IGNORING THE REMAINDER OF THE DOWNLIST WHICH THE DOWN-TELEMETRY PROGRAM WAS WORKING ON WHEN
|
||||
# THE RESTART(OR FRESH START) OCCURRED AND RESUME DOWN TELEMETRY FROM THE BEGINNING OF THE CURRENT
|
||||
# DOWNLIST.
|
||||
# ALSO OF INTEREST IS THE FACT THAT ON A RESTART THE AGC WILL ZERO DOWNLINK CHANNELS 13, 34 AND 35.
|
||||
# DOWNLINK LIST SELECTION:
|
||||
# THE APPROPRIATE DOWNLINK LISTS ARE SELECTED BY THE FOLLOWING:
|
||||
# 1. FRESH START
|
||||
# 2. V37EXXE WHERE XX = THE MAJOR MODE BEING SELECTED.
|
||||
# 3. UPDATE PROGRAM(P27)
|
||||
# 4. NON-V37 SELECTABLE TYPE PROGRAMS(E.G. AGS INITIALIZATION(SUNDANCE,LUMINARY) AND P61-P62
|
||||
# TRANSITION(COLOSSUS) ETC.).
|
||||
# DOWNLINK LIST RULES AND LIMITATIONS:
|
||||
# READ SECTION(S) WHICH FOLLOW 'DEBRIS' WRITEUP.
|
||||
# OUTPUT- EVERY 2 SECONDS 100 DOUBLE PRECISION WORDS(I.E. 200 LGC
|
||||
# COMPUTER WORDS) ARE TRANSMITTED VIA DOWNLINK.
|
||||
# ERASABLE INITIALIZATION REQUIRED- NONE
|
||||
# 'DNTMGOTO' AND 'DNLSTADR' ARE INITIALIZED BY THE FRESH START PROGRAM.
|
||||
# DEBRIS(ERASABLE LOCATIONS DESTROYED BY THIS PROGRAM)-
|
||||
# LDATALST,DNTMBUFF TO DNTMBUFF +21D,TMINDEX,DNQ.
|
||||
# Page 1094
|
||||
# (No source on this page of the original assembly listing.)
|
||||
|
||||
# Page 1095
|
||||
# DODOWNTM IS ENTERED EVERY 20 MS BY AN INTERRUPT TRIGGERED BY THE
|
||||
# RECEIPT OF AN ENDPULSE FROM THE SPACECRAFT TELEMETRY PROGRAMMER.
|
||||
#
|
||||
# NOTES REGARDING DOWNLINK LISTS ASSOCIATED WITH THIS PROGRAM:
|
||||
# 1. DOWNLISTS. - DOWNLISTS MUST BE COMPILED IN THE SAME BANK AS THE
|
||||
# DOWN-TELEMETRY PROGRAM. THIS IS DONE FOR EASE OF CODING, FASTER
|
||||
# EXECUTION.
|
||||
# 2. EACH DOWNLINK LIST CONSISTS OF A CONTROL LIST AND A NUMBER OF
|
||||
# SUBLISTS.
|
||||
# 3. A SUBLIST REFERS TO A SNAPSHOT OR DATA COMMON TO THE SAME OR OTHER
|
||||
# DOWNLINK LISTS. ANY SUBLIST CONTAINING COMMON DATA NEEDS TO BE
|
||||
# CODED ONLY ONCE FOR THE APPLICABLE DOWNLINK LISTS.
|
||||
# 4. SNAPSHOT SUBLISTS REFER SPECIFICALLY TO HOMOGENOUS DATA WHICH MUST BE
|
||||
# SAVED IN A BUFFER DURING ONE DOWNRUPT.
|
||||
# 5. THE 1DNADR FOR THE 1ST WORD OF SNAPSHOT DATA IS FOUND AT THE END
|
||||
# OF EACH SNAPSHOT SUBLIST, SINCE THE PROGRAM CODING SENDS THIS DP WORD
|
||||
# IMMEDIATELY AFTER STORING THE OTHERS IN THE SNAPSHOT BUFFER.
|
||||
# 6. ALL LISTS ARE COMBINATIONS OF CODED ERASABLE ADDRESS CONSTANTS
|
||||
# CREATED FOR THE DOWNLIST PROGRAM.
|
||||
# A. 1DNADR 1-WORD DOWNLIST ADDRESS.
|
||||
# SAME AS ECADR, BUT USED WHEN THE WORD ADDRESSED IS THE LEFT
|
||||
# HALF OF A DOUBLE-PRECISION WORD FOR DOWN TELEMETRY.
|
||||
# B. 2DNADR - 6DNADR N-WORD DOWNLIST ADDRESS, N = 2 - 6.
|
||||
# SAME AS 1DNADR, BUT WITH THE 4 UNUSED BITS OF THE ECADR FORMAT
|
||||
# FILLED IN WITH 0001-0101. USED TO POINT TO A LIST OF N DOUBLE-
|
||||
# PRECISION WORDS, STORED CONSECUTIVELY, FOR DOWN TELEMETRY.
|
||||
# C. DNCHAN DOWNLIST CHANNEL ADDRESS.
|
||||
# SAME AS 1DNADR, BUT WITH PREFIX BITS 0111. USED TO POINT TO
|
||||
# A PAIR OF CHANNELS FOR DOWN TELEMETRY.
|
||||
# D. DNPTR DOWN TELEMETRY SUBLIST POINTER.
|
||||
# SAME AS CAF BUT TAGGES AS A CONSTANT. USED IN CONTROL LIST TO POINT TO A SUBLIST.
|
||||
# CAUTION--- A DNPTR CANNOT BE USED IN A SUBLIST.
|
||||
# 7. THE WORD ORDER CODE IS SET TO ZERO AT THE BEGINNING OF EACH DOWNLIST (I.E., CONTROL LIST) AND WHEN
|
||||
# A '1DNADR TIME2' IS DETECTED IN THE CONTROL LIST(ONLY).
|
||||
# 8. IN THE SNAPSHOT SUBLIST ONLY, THE DNADR'S CANNOT POINT TO THE FIRST WORD OF ANY EBANK.
|
||||
#
|
||||
# DOWNLINK LIST RESTRICTIONS:
|
||||
# (THE FOLLOWING POINTS MAY BE LISTED ELSEWHERE BUT ARE LISTED HERE SO IT IS CLEAR THAT THESE THINGS CANNOT BE
|
||||
# DONE)
|
||||
#
|
||||
# 1. SNAPSHOT DOWNLIST:
|
||||
# (A) CANNOT CONTAIN THE FOLLOWING ECADRS(I.E. 1DNADR'S): 0, 400, 1000, 1400, 2000, 2400, 3000, 3400.
|
||||
# (B) CAN CONTAIN ONLY 1DNADR'S
|
||||
#
|
||||
# 2. ALL DOWNLINKED DATA(EXCEPT CHANNELS) IS PICKED UP BY A <DCA<SO DOWNLINK LISTS CANNOT CONTAIN THE
|
||||
# EQUIVALENT OF THE FOLLOWING ECADRS(I.E. IDNADRS): 377, 777, 1377, 1777, 2377, 2777, 3377, 3777.
|
||||
#
|
||||
# (NOTE: THE TERM EQUIVALENT ' MEANT THAT THE IDNADR TO 6DNADR WILL BE PROCESSED LIKE 1 TO 6 ECADRS)
|
||||
#
|
||||
# 3. CONTROL LISTS AND SUBLISTS CANNOT HAVE ENTRIES = OCTAL 00000 OR OCTAL 77777
|
||||
# Page 1096
|
||||
# 4. THE '1DNADR TIME2' WHICH WILL CAUSE THE DOWNLINK PROGRAM TO SET THE WORDER CODE TO 3 MUST APPEAR IN THE
|
||||
# CONTROL SECTION OF THE DOWNLIST.
|
||||
#
|
||||
# 5. 'DNCHAN 0' CANNOT BE USED.
|
||||
#
|
||||
# 6. 'DNPTR 0' CANNOT BE USED.
|
||||
#
|
||||
# 7. DNPTR CANNOT APPEAR IN A SUBLIST.
|
||||
#
|
||||
#
|
||||
#
|
||||
#
|
||||
# EBANK SETTINGS
|
||||
# IN THE PROCESS OF SETTING THE EBANK(WHEN PICKING UP DOWNLINK DATA) THE DOWN TELEMETRY PROGRAM PUTS
|
||||
# 'GARBAGE' INTO BITS15-12 OF EBANK. HUGH BLAIR-SMITH WARNS US THAT BITS15-12 OF EBANK MAY BECOME
|
||||
# SIGNIFICANT SOMEDAY IN THE FUTURE. IF/WHEN THAT HAPPENS, THE PROGRAM SHOULD INSURE(BY MASKING ETC.)
|
||||
# THAT BITS 15-12 OF EBANK ARE ZERO.
|
||||
# INITIALIZATION REQUIRED- TO INTERRUPT CURRENT LIST AND START A NEW ONE..
|
||||
# 1. ADRES OF DOWNLINK LIST INTO DNLSTADR
|
||||
# 2. NEGONE INTO SUBLIST
|
||||
# 3. NEGONE INTO DNECADR
|
||||
|
||||
BANK 22
|
||||
SETLOC DOWNTELM
|
||||
BANK
|
||||
|
||||
EBANK= DNTMBUFF
|
||||
|
||||
COUNT 05/DPROG
|
||||
|
||||
DODOWNTM TS BANKRUPT
|
||||
EXTEND
|
||||
QXCH QRUPT # SAVE Q
|
||||
CA BIT7 # SET WORD ORDER CODE TO 1. EXCEPTION- AT
|
||||
EXTEND # THE BEGINNING OF EACH LIST THE WORD
|
||||
WOR CHAN13 # CODE WILL BE SET BACK TO 0.
|
||||
TC DNTMGOTO # GO TO APPROPRIATE PHASE OF PROGRAM
|
||||
|
||||
DNPHASE1 CA NEGONE # INITIALIZE ALL CONTROL WORDS
|
||||
TS SUBLIST # WORDS TO MINUS ONE
|
||||
TS DNECADR
|
||||
CA LDNPHAS2 # SET DNTMGOTO =0 ALL SUBSEQUENT DOWNRUPTS
|
||||
TS DNTMGOTO # GO TO DNPHASE2
|
||||
TCF NEWLIST
|
||||
DNPHASE2 CCS DNECADR # SENDING OF DATA IN PROGRESS
|
||||
DODNADR TC FETCH2WD # YES - THEN FETCH THE NEXT 2 SP WORDS
|
||||
MINTIME2 -1DNADR TIME2 # NEGATIVE OF TIME2 1DNADR
|
||||
TCF +1 # (ECADR OF 3776 + 74001 = 77777)
|
||||
|
||||
CCS SUBLIST # IS THE SUBLIST IN CONTROL
|
||||
# Page 1097
|
||||
TCF NEXTINSL # YES
|
||||
DNADRDCR OCT 74001 # DNADR COUNT AND ECADR DECREMENTER
|
||||
|
||||
CHKLIST CA CTLIST
|
||||
EXTEND
|
||||
BZMF NEWLIST # IT WILL BE NEGATIVE AT END OF LIST
|
||||
TCF NEXTINCL
|
||||
NEWLIST INDEX DNLSTCOD
|
||||
CA DNTABLE # INITIALIZE CTLIST WITH
|
||||
TS CTLIST # STARTING ADDRESS OF NEW LIST
|
||||
CS DNLSTCOD
|
||||
TCF SENDID +3
|
||||
NEXTINCL INDEX CTLIST
|
||||
CA 0
|
||||
CCS A
|
||||
INCR CTLIST # SET POINTER TO PICK UP NEXT CTLIST WORD
|
||||
TCF +4 # ON NEXT ENTRY TO PROG. (A SHOULD NOT =0)
|
||||
XCH CTLIST # SET CTLIST TO NEGATIVE AND PLACE(CODING)
|
||||
COM # UNCOMPLEMENTED DNADR INTO A. (FOR LA)
|
||||
XCH CTLIST # (ST IN )
|
||||
+4 INCR A # (CTLIST)
|
||||
TS DNECADR # SAVE DNADR
|
||||
AD MINTIME2 # TEST FOR TIME2 (NEG. OF ECADR)
|
||||
CCS A
|
||||
TCF SETWO +1 # DON'T SET WORD ORDER CODE
|
||||
MINB1314 OCT 47777 # MINUS BIT 13 AND 14 (CAN'T GET HERE)
|
||||
TCF SETWO +1 # DON'T SET WORD ORDER CODE
|
||||
SETWO TC WOZERO # GO SET WORD ORDER CODE TO ZERO.
|
||||
+1 CA DNECADR # RELOAD A WITH THE DNADR.
|
||||
+2 AD MINB1314 # IS THIS A REGULAR DNADR?
|
||||
EXTEND
|
||||
BZMF FETCH2WD # YES. (A MUST NEVER BE ZERO)
|
||||
AD MINB12 # NO- IS IT A POINTER (DNPTR) OR A
|
||||
EXTEND # CHANNEL(DNCHAN)
|
||||
BZMF DODNPTR # IT'S A POINTER. (A MUST NEVER BE ZERO)
|
||||
|
||||
DODNCHAN TC 6 # (EXECUTED AS EXTEND) IT S A CHANNEL
|
||||
INDEX DNECADR
|
||||
INDEX 0 -4000 # (EXECUTED AS READ)
|
||||
TS L
|
||||
TC 6 # (EXECUTED AS EXTEND)
|
||||
INDEX DNECADR
|
||||
INDEX 0 -4001 # (EXECUTED AS READ)
|
||||
TS DNECADR # SET DNECADR
|
||||
CA NEGONE # TO MINUS
|
||||
XCH DNECADR # WHILE PRESERVING A.
|
||||
TCF DNTMEXIT # GO SEND CHANNELS
|
||||
|
||||
WOZERO CS BIT7
|
||||
EXTEND
|
||||
# Page 1098
|
||||
WAND CHAN13 # SET WORD ORDER CODE TO ZERO
|
||||
TC Q # RETURN TO CALLER
|
||||
|
||||
DODNPTR INDEX DNECADR # DNECADR CONTAINS ADRES OF SUBLIST
|
||||
0 0 # CLEAR AND ADD LIST ENTRY INTO A.
|
||||
CCS A # IS THIS A SNAPSHOT SUBLIST
|
||||
CA DNECADR # NO, IT IS A REGULAR SUBLIST.
|
||||
TCF DOSUBLST # A MUST NOT BE ZERO.
|
||||
|
||||
XCH DNECADR # YES, IT IS A SNAPSHOT SUBLIST.
|
||||
TS SUBLIST # C(DNECADR) INTO SUBLIST
|
||||
CAF ZERO # A INTO A
|
||||
XCH TMINDEX # (NOTE.. TMINDEX = DNECADR)
|
||||
|
||||
# THE FOLLOWING CODING (FROM SNAPLOOP TO SNAPEND)IS FOR THE PURPOSE OF TAKING A SNAPSHOT OF 12 DP REGISTERS.
|
||||
# THIS IS DONE BY SAVING 11 DP REGISTERS IN DNTMBUFF AND SENDING THE FIRST DP WORD IMMEDIATELY.
|
||||
# THE SNAPSHOT PROCESSING IS THE MOST TIME CONSUMING AND THEREFORE THE CODING AND LIST STRUCTURE WERE DESIGNED
|
||||
# TO MINIMIZE TIME. THE TIME OPTIMIZATION RESULTS IN RULES UNIQUE TO THE SNAPSHOT PORTION OF THE DOWNLIST.
|
||||
# THESE RULES ARE......
|
||||
# 1. ONLY 1DNADR'S CAN APPEAR IN THE SNAPSHOT SUBLIST
|
||||
# 2. THE 1DNADR'S CANNOT REFER TO THE FIRST LOCATION IN ANY BANK.
|
||||
|
||||
SNAPLOOP TS EBANK # SET EBANK
|
||||
MASK LOW8 # ISOLATE RELATIVE ADDRESS
|
||||
EXTEND
|
||||
INDEX A
|
||||
EBANK= 1401
|
||||
DCA 1401 # PICK UP 2 SNAPSHOT WORDS.
|
||||
EBANK= DNTMBUFF
|
||||
INDEX TMINDEX
|
||||
DXCH DNTMBUFF # STORE 2 SNAPSHOT WORDS IN BUFFER
|
||||
INCR TMINDEX # SET BUFFER INDEX FOR NEXT 2 WORDS.
|
||||
INCR TMINDEX
|
||||
SNAPAGN INCR SUBLIST # SET POINTER TO NEXT 2 WORDS OF SNAPSHOT
|
||||
INDEX SUBLIST
|
||||
0 0 # = CA SSSS (SSSS = NEXT ENTRY IN SUBLIST)
|
||||
CCS A # TEST FOR LAST TWO WORDS OF SNAPSHOT.
|
||||
TCF SNAPLOOP # NOT LAST TWO.
|
||||
LDNPHAS2 GENADR DNPHASE2
|
||||
TS SUBLIST # YES, LAST. SAVE A.
|
||||
CA NEGONE # SET DNECADR AND
|
||||
TS DNECADR # SUBLIST POINTERS
|
||||
XCH SUBLIST # TO NEGATIVE VALUES.
|
||||
TS EBANK
|
||||
MASK LOW8
|
||||
EXTEND
|
||||
INDEX A
|
||||
EBANK= 1401
|
||||
# Page 1099
|
||||
DCA 1401 # PICK UP FIRST 2 WORDS OF SNAPSHOT.
|
||||
EBANK= DNTMBUFF
|
||||
SNAPEND TCF DNTMEXIT # NOW GO SEND THEM.
|
||||
|
||||
FETCH2WD CA DNECADR
|
||||
TS EBANK # SET EBANK
|
||||
MASK LOW8 # ISOLATE RELATIVE ADDRESS
|
||||
TS L
|
||||
CA DNADRDCR # DECREMENT COUNT AND ECADR
|
||||
ADS DNECADR
|
||||
EXTEND
|
||||
INDEX L
|
||||
EBANK= 1400
|
||||
DCA 1400 # PICK UP 2 DATA WORDS
|
||||
EBANK= DNTMBUFF
|
||||
TCF DNTMEXIT # NOW GO SEND THEM.
|
||||
|
||||
DOSUBLST TS SUBLIST # SET SUBLIST POINTER
|
||||
NEXTINSL INDEX SUBLIST
|
||||
0 0 # = CA SSSS (SSSS = NEXT ENTRY IN SUBLIST)
|
||||
CCS A # IS IT THE END OF THE SUBLIST
|
||||
INCR SUBLIST # NO-
|
||||
TCF +4
|
||||
TS SUBLIST # SAVE A.
|
||||
CA NEGONE # SET SUBLIST TO MINUS
|
||||
XCH SUBLIST # RETRIEVE A.
|
||||
+4 INCR A
|
||||
TS DNECADR # SAVE DNADR
|
||||
TCF SETWO +2 # GO USE COMMON CODING(PROBLEMS WOULD
|
||||
# OCCUR IF THE PROGRAM ENCOUNTERED A
|
||||
# DNPTR NOW)
|
||||
|
||||
DNTMEXIT EXTEND # DOWN-TELEMETRY EXIT
|
||||
WRITE DNTM1 # TO SEND A + L TO CHANNELS 34 + 35
|
||||
CA L # RESPECTIVELY
|
||||
TMEXITL EXTEND
|
||||
WRITE DNTM2
|
||||
TMRESUME TCF RESUME # EXIT TELEMETRY PROGRAM VIA RESUME.
|
||||
|
||||
MINB12 EQUALS -1/8
|
||||
DNECADR EQUALS TMINDEX
|
||||
CTLIST EQUALS LDATALST
|
||||
SUBLIST EQUALS DNQ
|
||||
|
||||
# Page 1100
|
||||
# SUBROUTINE NAME- DNDUMP
|
||||
# FUNCTIONAL DESCRIPTION - TO SEND(DUMP) ALL ERASABLE STORAGE 'N' TIMES.(N = 1 TO 4). BANKS ARE SENT ONE AT A TIME
|
||||
# EACH BANK IS PRECEDED BY AN ID WORD, SYNCH BITS, ECADR AND TIME1 FOLLOWED BY THE 256D WORDS OF EACH
|
||||
# EBANK. EBANKS ARE DUMPED IN ORDER(I.E. EBANK 0 FIRST, THEN EBANK1 ETC.)
|
||||
# CALLING SEQUENCE- THE GROUND OR ASTRONAUT BY KEYING V74E CAN INITIALIZE THE DUMP.
|
||||
# AFTER KEYING IN V74E THE CURRENT DOWNLIST WILL BE IMMEDIATELY TERMINATED AND THE DOWNLINK ERASABLE DUMP
|
||||
# WILL BEGIN.
|
||||
# ONCE INITIATED THE DOWNLINK ERASABLE DUMP CAN BE TERMINATED (AND INTERRUPTED DOWNLIST REINSTATED) ONLY
|
||||
# BY THE FOLLOWING:
|
||||
# 1. A FRESH START
|
||||
# 2. COMPLETION OF ALL DOWNLINK DUMPS REQUESTED (ACCORDING TO BITS SET IN DUMPCNT). NOTE THAT DUMPCNT
|
||||
# CAN BE ALTERED BY A V21N01.
|
||||
# 3. AND INVOLUNTARILY BY A RESTART.
|
||||
# NORMAL EXIT MODE- TCF DNPHASE1
|
||||
# ALARM OR ABORT MODE- NONE
|
||||
# *SUBROUTINES CALLED- NONE.
|
||||
# ERASABLE INITIALIZATION REQUIRED --
|
||||
# DUMPCNT OCT 20000 IF 4 COMPLETE ERASABLE DUMPS ARE DESIRED
|
||||
# DUMPCNT OCT 10000 IF 2 COMPLETE ERASABLE DUMPS ARE DESIRED
|
||||
# DUMPCNT OCT 04000 IF 1 COMPLETE ERASABLE DUMP IS DESIRED
|
||||
# DEBRIS- DUMPLOC, DUMPSW, DNTMGOTO, EBANK AND CENTRAL REGISTERS
|
||||
# TIMING- TIME (IN SECS) = ((NO.DUMPS)*(NO.EBANKS)* (WDSPEREBANK + NO.IDWDS)) / NO.WDSPERSEC
|
||||
# TIME (IN SECS) = ( 4 )*( 8 )* ( 256 + 4 ) / 100
|
||||
# THUS TIME (IN SECS TO SEND DUMP OF ERASABLE 4 TIMES VIA DOWNLINK) = 83.2 SECONDS
|
||||
#
|
||||
# STRUCTURE OF ONE EBANK AS IT IS SENT BY DOWNLINK PROGRAM-
|
||||
# (REMINDER-THIS ONLY DESCRIBES ONE OF THE 8 EBANKS X 4 (DUMPS) = 32 EBANKS WHICH WILL BE SENT BY DNDUMP)
|
||||
# DOWNLIST W
|
||||
# WORD TAKEN FROM CONTENTS OF EXAMPLE O COMMENTS
|
||||
#
|
||||
# 1 ERASID 0177X 0 DOWNLIST I.D. FOR DOWNLINK ERASABLE DUMP (X=7 CSM, 6 LM)
|
||||
# 2 LOWIDCOD 77340 1 DOWNLINK SYNCH BITS.(SAME ONE USED IN ALL OTHER DOWNLISTS)
|
||||
# 3 DUMPLOC 13400 1 (SEE NOTES ON DUMPLOC)1= 3RD ERAS DUMP, 3400=ECADR OF 5TH WD
|
||||
# 4 TIME1 14120 1 TIME IN CENTISECONDS
|
||||
# 5 FIRST WORD OF EBANK X 03400 1 IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1400 (ECADR 3400)
|
||||
# 6 2ND WORD OF EBANK X 00142 1 IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1401 (ECADR 3401)
|
||||
# 7. 3RD WORD OF EBANK X 00142 1 IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1402 (ECADR 3402)
|
||||
# . 1
|
||||
# . 1
|
||||
# . 1
|
||||
# 260D 256TH WORD OF EBANK X 03777 1 IN THIS EXAMPLE THIS WORD = CONTENTS OF E7,1777 (ECADR 3777)
|
||||
#
|
||||
# NOTE- DUMPLOC CONTAINS THE COUNTER AND ECADR FOR EACH WORD BEING SENT.
|
||||
# THE BIT STRUCTURE OF DUMPLOC IS FOLLOWS--
|
||||
# X = NOT USED
|
||||
# X ABC EEE RRRRRRRR ABC = ERASABLE DUMP COUNTER(I.E. ABC = 0,1,2, OR 3 WHICH MEANS THAT
|
||||
# COMPLETE ERASABLE DUMP NUMBER 1,2,3, OR 4 RESPECTIVELY IS IN PROGRESS)
|
||||
# EEE = EBANK BITS
|
||||
# RRRRRRRR = RELATIVE ADDRESS WITHIN AN EBANK.
|
||||
|
||||
# Page 1101
|
||||
DNDUMPI CA ZERO # INITIALIZE DOWNLINK
|
||||
TS DUMPLOC # ERASABLE DUMP
|
||||
+2 TC SENDID # GO SEND ID AND SYNCH BITS
|
||||
CA LDNDUMP1 # SET DNTMGOTO
|
||||
TS DNTMGOTO # TO LOCATION FOR NEXT PASS
|
||||
CA TIME1 # PLACE TIME1
|
||||
XCH L # INTO L
|
||||
CA DUMPLOC # AND ECADR OF THIS EBANK INTO A
|
||||
TCF DNTMEXIT # SEND DUMPLOC AND TIME1
|
||||
|
||||
LDNDUMP ADRES DNDUMP
|
||||
LDNDUMP1 ADRES DNDUMP1
|
||||
|
||||
DNDUMP CA TWO # INCREMENT ECADR IN DUMPLOC
|
||||
ADS DUMPLOC # TO NEXT DP WORD TO BE
|
||||
MASK LOW8 # DUMPED AND SAVE IT.
|
||||
CCS A # IS THIS THE BEGINNING OF A NEW EBANK
|
||||
TCF DNDUMP2 # NO- THEN CONTINUE DUMPING
|
||||
CA DUMPLOC # YES- IS THIS THE END OF THE
|
||||
MASK DUMPCNT # N TH(N = 1 TO 4) COMPLETE ERASABLE
|
||||
MASK PRIO34 # DUMP(BIT14 FOR 4, BIT13 FOR 2 OR BIT12
|
||||
CCS A # FOR 1 COMPLETE ERASABLE DUMP(S)).
|
||||
TCF DNPHASE1 # YES- START SENDING INTERRUPTED DOWNLIST
|
||||
# AGAIN
|
||||
TCF DNDUMPI +2 # NO- GO BACK AND INITIALIZE NEXT BANK
|
||||
|
||||
DNDUMP1 CA LDNDUMP # SET DNTMGOTO
|
||||
TS DNTMGOTO # FOR WORDS 3 TO 256D OF CURRENT EBANK
|
||||
|
||||
DNDUMP2 CA DUMPLOC
|
||||
TS EBANK # SET EBANK
|
||||
MASK LOW8 # ISOLATE RELATIVE ADDRESS.
|
||||
TS Q # (NOTE: MASK INSTRUCTION IS USED TO PICK
|
||||
CA NEG0 # UP ERASABLE REGISTERS SO THAT EDITING
|
||||
TS L # REGISTERS 20-23 WILL NOT BE ALTERED.)
|
||||
INDEX Q
|
||||
EBANK= 1400 # PICK UP LOW ORDER REGISTER OF PAIR
|
||||
MASK 1401 # OF ERASABLE REGISTERS.
|
||||
XCH L
|
||||
INDEX Q # PICK UP HIGH ORDER REGISTER OF PAIR
|
||||
MASK 1400 # OF ERASABLE REGISTERS.
|
||||
EBANK= DNTMBUFF
|
||||
TCF DNTMEXIT # GO SEND THEM
|
||||
|
||||
|
||||
SENDID EXTEND # **ENTRANCE USED BY ERASABLE DUMP PROG.**
|
||||
QXCH DNTMGOTO # SET DNTMGOTO SO NEXT TIME PROG WILL GO
|
||||
CAF ERASID # TO LOCATION FOLLOWING :TC SENDID:
|
||||
|
||||
TS L # **ENTRANCE USED BY REGULAR DOWNLINK PG**
|
||||
# Page 1102
|
||||
TC WOZERO # GO SET WORD ORDER CODE TO ZERO
|
||||
CAF LOWIDCOD # PLACE SPECIAL ID CODE INTO L
|
||||
XCH L # AND ID BACK INTO A
|
||||
TCF DNTMEXIT # SEND DOWNLIST ID CODE(S).
|
||||
|
|
@ -1,411 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: DOWNLINK_LISTS.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055. It
|
||||
# is part of the source code for the Command Module's
|
||||
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 170-180
|
||||
# Contact: Ron Burkey <info@sandroid.org>,
|
||||
# Fabrizio Bernardini <fabrizio@spacecraft.it>
|
||||
# Website: http://www.ibiblio.org/apollo.
|
||||
# Mod history: 10/05/09 FB Transcription of Batch FB-1 Assignment.
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further
|
||||
# information. Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 170
|
||||
BANK 22
|
||||
SETLOC DOWNTELM
|
||||
BANK
|
||||
|
||||
EBANK= DNTMBUFF
|
||||
|
||||
# SPECIAL DOWNLINK OP CODES
|
||||
# OP CODE ADDRESS(EXAMPLE) SENDS... BIT 15 BITS 14-12 BITS 11-0
|
||||
# ------- ---------------- ---------- ------ ---------- ---------
|
||||
# 1DNADR TIME2 (2 AGC WDS) 0 0 ECADR
|
||||
# 2DNADR TEPHEM (4 AGC WDS) 0 1 ECADR
|
||||
# 3DNADR VGBODY (6 AGC WDS) 0 2 ECADR
|
||||
# 4DNADR STATE (8 AGC WDS) 0 3 ECADR
|
||||
# 5DNADR UPBUFF (10AGC WDS) 0 4 ECADR
|
||||
# 6DNADR DSPTAB (12AGC WDS) 0 5 ECADR
|
||||
# DNCHAN 30 CHANNELS 0 7 CHANNEL ADDRESS
|
||||
# DNPTR NEXTLIST POINTS TO NEXT LIST. 0 6 ADRES
|
||||
#
|
||||
# DOWNLIST FORMAT DEFINITIONS AND RULES -
|
||||
# 1. END OF A LIST = -XDNADR (X = 1 TO 6), -DNPTR, OR -DNCHAN.
|
||||
# 2. SNAPSHOT SUBLIST = LIST WHICH STARTS WITH A -1DNADR.
|
||||
# 3. SNAPSHOT SUBLIST CAN ONLY CONTAIN 1DNADRS.
|
||||
# 4. TIME2 1DNADR MUST BE LOCATED IN THE CONTROL LIST OF A DOWNLIST.
|
||||
# 5. ERASABLE DOWN TELEMETRY WORDS SHOULD BE GROUPED IN SEQUENTIAL
|
||||
# LOCATIONS AS MUCH AS POSSIBLE TO SAVE STORAGE USED BY DOWNLINK LISTS.
|
||||
# 6. THE DOWNLINK LISTS (INCLUDING SUBLISTS) ARE ORGANIZED SUCH THAT THE ITEMS LISTED FIRST (IN FRONT OF FBANK) ARE
|
||||
# SENT FIRST. EXCEPTION--- SNAPSHOT SUBLISTS. IN THE SNAPSHOT SUBLISTS THE DATA REPRESENTED BY THE FIRST
|
||||
# 11 1DNADRS IS PRESERVED (IN ORDER) IN DNTMBUFF AND SENT BY THE NEXT 11 DOWNRUPTS. THE DATA REPRESENTED BY THE
|
||||
# LIST IS SENT IMMEDIATELY.
|
||||
|
||||
COUNT 05/DLIST
|
||||
ERASZERO EQUALS 7
|
||||
SPARE EQUALS ERASZERO # USE SPARE TO INDICATE AVAILABLE SPACE
|
||||
LOWIDCOD OCT 77340 # LOW ID CODE
|
||||
|
||||
NOMDNLST EQUALS CMCSTADL # FRESH START AND POST P27 DOWNLIST
|
||||
UPDNLIST EQUALS CMENTRDL # UPDATE PROGRAM (P27) DOWNLIST
|
||||
|
||||
# Page 171
|
||||
# CSM POWERED FLIGHT DOWNLIST
|
||||
#
|
||||
# --------------------- CONTROL LIST -------------------------
|
||||
|
||||
CMPOWEDL EQUALS
|
||||
DNPTR CMPOWE01 # COLLECT SNAPSHOT
|
||||
6DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMPOWE02 # COLLECT SECOND SNAPSHOT
|
||||
4DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMPOWE03 # COMMON DATA
|
||||
1DNADR TIG # TIG,+1
|
||||
1DNADR DELLT4 # DELLT4,+1
|
||||
3DNADR RTARG # RTARG,+1,+2,...+5
|
||||
1DNADR TGO # TGO,+1
|
||||
1DNADR PIPTIME1 # PIPTIME1,+1
|
||||
3DNADR DELV # DELV,+1,...+4,+5
|
||||
1DNADR PACTOFF # PACTOFF,YACTOFF
|
||||
1DNADR PCMD # PCMD,YCMD
|
||||
1DNADR CSTEER # CSTEER,+1
|
||||
3DNADR DELVEET1 # CSI DELTA VELOCITY COMPONENTS (31-33)
|
||||
6DNADR REFSMMAT # REFSMMAT,+1,...+10,+11
|
||||
DNPTR CMPOWE04 # COMMON DATA
|
||||
1DNADR TIME2 # TIME2,TIME1
|
||||
DNPTR CMPOWE05 # COLLECT SNAPSHOT
|
||||
6DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMPOWE02 # COLLECT SNAPSHOT
|
||||
4DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMPOWE03 #
|
||||
DNPTR CMPOWE06 # COMMON DATA
|
||||
1DNADR ELEV # ELEV,+1
|
||||
1DNADR CENTANG # CENTANG,+1
|
||||
1DNADR DELTAR # DELTAR,+1
|
||||
1DNADR STATE +10D # FLAGWRDS 10 AND 11
|
||||
1DNADR TEVENT # TEVENT,+1
|
||||
1DNADR PCMD # PCMD,YCMD
|
||||
1DNADR OPTMODES # OPTMODES,HOLDFLAG
|
||||
DNPTR CMPOWE07 # COMMON DATA
|
||||
3DNADR VGTIG # VGTIG,+1,...+4,+5
|
||||
-3DNADR DELVEET2 # CDH DELTA VELOCITY COMPONENTS (98-100)
|
||||
# --------------------- SUB LISTS ---------------------------
|
||||
|
||||
CMPOWE01 -1DNADR RN +2 # RN+2,+3 SNAPSHOT DATA
|
||||
1DNADR RN +4 # RN+4,+5
|
||||
1DNADR VN # VN,+1
|
||||
1DNADR VN +2 # VN+2,+3
|
||||
1DNADR VN +4 # VN+4,+5
|
||||
1DNADR PIPTIME # PIPTIME,+1
|
||||
-1DNADR RN # RN,+1
|
||||
|
||||
CMPOWE02 -1DNADR CDUZ # CDUZ,CDUT SNAPSHOT DATA
|
||||
# Page 172
|
||||
1DNADR ADOT # ADOT,+1/OGARATE,+1
|
||||
1DNADR ADOT +2 # ADOT+2,+3/OMEGAB+2,+3
|
||||
1DNADR ADOT +4 # ADOT+4,+5/OMEGAB+4,+5
|
||||
-1DNADR CDUX # CDUX,CDUY
|
||||
|
||||
CMPOWE03 2DNADR AK # AK,AK1,AK2,RCSFLAGS COMMON DATA
|
||||
-2DNADR THETADX # THETADX,THETADY,THETADZ,GARBAGE
|
||||
|
||||
CMPOWE04 5DNADR STATE # FLAGWRD0 THRU FLAGWRD9 COMMON DATA
|
||||
-6DNADR DSPTAB # DISPLAY TABLES
|
||||
|
||||
CMPOWE05 -1DNADR R-OTHER +2 # R-OTHER+2,+3 SNAPSHOT DATA
|
||||
1DNADR R-OTHER +4 # R-OTHER+4,+5
|
||||
1DNADR V-OTHER # V-OTHER,+1
|
||||
1DNADR V-OTHER +2 # V-OTHER+2,+3
|
||||
1DNADR V-OTHER +4 # V-OTHER+4,+5
|
||||
1DNADR T-OTHER # T-OTHER,+1
|
||||
-1DNADR R-OTHER # R-OTHER,+1
|
||||
|
||||
CMPOWE06 1DNADR RSBBQ # RSBBQ,+1 COMMON DATA
|
||||
3DNADR CADRFLSH # CADRFLSH,+1,+2,FAILREG,+1,+2
|
||||
-2DNADR CDUS # CDUS,PIPAX,PIPAY,PIPAZ
|
||||
|
||||
CMPOWE07 1DNADR LEMMASS # LEMMASS,CSMMASS COMMON DATA
|
||||
1DNADR DAPDATR1 # DAPDATR1,DAPDATR2
|
||||
2DNADR ERRORX # ERRORX,ERRORY,ERRORZ,GARBAGE
|
||||
3DNADR WBODY # WBODY,...+5/OMEGAC,...+5
|
||||
2DNADR REDOCTR # REDOCTR,THETAD,+1,+2
|
||||
1DNADR IMODES30 # IMODES30,IMODES33
|
||||
DNCHAN 11 # CHANNELS 11,12
|
||||
DNCHAN 13 # CHANNELS 13,14
|
||||
DNCHAN 30 # CHANNELS 30,31
|
||||
-DNCHAN 32 # CHANNELS 32,33
|
||||
|
||||
# -----------------------------------------------------------
|
||||
|
||||
# Page 173
|
||||
# CSM COAST AND ALIGNMENT DOWNLIST
|
||||
|
||||
# --------------------- CONTROL LIST ------------------------
|
||||
|
||||
CMCSTADL EQUALS # SEND ID BY SPECIAL CODING
|
||||
DNPTR CMCSTA01 # COLLECT SNAPSHOT
|
||||
6DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMCSTA02 # COLLECT SECOND SNAPSHOT
|
||||
4DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMCSTA03 # COMMON DATA
|
||||
1DNADR TIG # TIG,+1
|
||||
1DNADR BESTI # BESTI,BESTJ
|
||||
4DNADR MARKDOWN # MARKDOWN,+1,...+5,+6,GARBAGE
|
||||
4DNADR MARK2DWN # MARK2DWN,+1,...+5,+6
|
||||
2DNADR HAPOX # APOGEE AND PERIGEE FROM R30 (28-29)
|
||||
1DNADR PACTOFF # PACTOFF, YACTOFF (30)
|
||||
3DNADR VGTIG # VGTIG,...+5
|
||||
6DNADR REFSMMAT # REFSMMAT,+1,...+10,+11
|
||||
DNPTR CMCSTA04 # COMMON DATA
|
||||
1DNADR TIME2 # TIME2,TIME1
|
||||
DNPTR CMCSTA05 # COLLECT SNAPSHOT
|
||||
6DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMCSTA02 # COLLECT SNAPSHOT
|
||||
4DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMCSTA03 # COMMON DATA
|
||||
DNPTR CMCSTA06 # COMMON DATA
|
||||
3DNADR OGC # OGC,+1,IGC,+1,MGC,+1
|
||||
1DNADR STATE +10D # FLAGWRDS 10 AND 11
|
||||
1DNADR TEVENT # TEVENT,+1
|
||||
1DNADR LAUNCHAZ # LAUNCHAZ,+1
|
||||
1DNADR OPTMODES # OPTMODES,HOLDFLAG
|
||||
DNPTR CMCSTA07 # COMMON DATA
|
||||
-6DNADR DSPTAB # DISPLAY TABLES
|
||||
|
||||
# --------------------- SUB LISTS ---------------------------
|
||||
|
||||
CMCSTA01 EQUALS CMPOWE01 # COMMON DOWNLIST DATA
|
||||
|
||||
CMCSTA02 EQUALS CMPOWE02 # COMMON DOWNLIST DATA
|
||||
|
||||
CMCSTA03 EQUALS CMPOWE03 # COMMON DOWNLIST DATA
|
||||
|
||||
CMCSTA04 EQUALS CMPOWE04 # COMMON DOWNLIST DATA
|
||||
|
||||
CMCSTA05 EQUALS CMPOWE05 # COMMON DOWNLIST DATA
|
||||
|
||||
CMCSTA06 EQUALS CMPOWE06 # COMMON DOWNLIST DATA
|
||||
|
||||
CMCSTA07 EQUALS CMPOWE07 # COMMON DOWNLIST DATA
|
||||
# Page 174
|
||||
# -----------------------------------------------------------
|
||||
|
||||
# Page 175
|
||||
# CSM RENDEZVOUS AND PRETHRUST LIST
|
||||
|
||||
# --------------------- CONTROL LIST ------------------------
|
||||
|
||||
CMRENDDL EQUALS # SEND ID BY SPECIAL CODING
|
||||
DNPTR CMREND01 # COLLECT SNAPSHOT
|
||||
6DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMREND02 # COLLECT SECOND SNAPSHOT
|
||||
4DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMREND03 # COMMON DATA
|
||||
1DNADR TIG # TIG,+1
|
||||
1DNADR DELLT4 # DELLT4,+1
|
||||
3DNADR RTARG # RTARG,+1,...+4,+5
|
||||
1DNADR VHFTIME # VHFTIME,+1
|
||||
4DNADR MARKDOWN # MARKTIME(DP),YCDU,SCDU,ZCDU,TCDU,XCDU,RM
|
||||
1DNADR VHFCNT # VHFCNT,+1
|
||||
1DNADR TTPI # TTPI,+1
|
||||
1DNADR ECSTEER # ECSTEER,+1
|
||||
1DNADR DELVTPF # DELVTPF,+1
|
||||
2DNADR TCDH # CDH AND CSI TIME (32-33)
|
||||
1DNADR TPASS4 # TPASS4,+1
|
||||
3DNADR DELVSLV # DELVSLV,+1...+4,+5
|
||||
2DNADR RANGE # RANGE,+1,RRATE,+1
|
||||
DNPTR CMREND04 # COMMON DATA
|
||||
1DNADR TIME2 # TIME2,TIME1
|
||||
DNPTR CMREND05 # COLLECT SNAPSHOT
|
||||
6DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMREND02 # COLLECT SNAPSHOT
|
||||
4DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMREND03 # COMMON DATA
|
||||
DNPTR CMREND06 # COMMON DATA
|
||||
1DNADR DIFFALT # CDH DELTA ALTITUDE
|
||||
1DNADR CENTANG # CENTANG,+1
|
||||
1DNADR DELTAR # DELTAR,+1
|
||||
3DNADR DELVEET3 # DELVEET3,+1,...+4,+5
|
||||
1DNADR OPTMODES # OPTMODES,HOLDFLAG
|
||||
DNPTR CMREND07 # COMMON DATA
|
||||
1DNADR RTHETA # RTHETA,+1
|
||||
2DNADR LAT(SPL) # LAT(SPL),LNG(SPL),+1
|
||||
2DNADR VPRED # VPRED,+1,GAMMAEI,+1
|
||||
-1DNADR STATE +10D # FLAGWRDS 10 AND 11
|
||||
|
||||
# --------------------- SUB LISTS ----------------------------
|
||||
|
||||
CMREND01 EQUALS CMPOWE01 # COMMON DOWNLIST DATA
|
||||
|
||||
CMREND02 EQUALS CMPOWE02 # COMMON DOWNLIST DATA
|
||||
|
||||
CMREND03 EQUALS CMPOWE03 # COMMON DOWNLIST DATA
|
||||
|
||||
CMREND04 EQUALS CMPOWE04 # COMMON DOWNLIST DATA
|
||||
# Page 176
|
||||
CMREND05 EQUALS CMPOWE05 # COMMON DOWNLIST DATA
|
||||
|
||||
CMREND06 EQUALS CMPOWE06 # COMMON DOWNLIST DATA
|
||||
|
||||
CMREND07 EQUALS CMPOWE07 # COMMON DOWNLIST DATA
|
||||
|
||||
# ------------------------------------------------------------
|
||||
|
||||
# Page 177
|
||||
# CSM ENTRY AND UPDATE DOWNLIST
|
||||
#
|
||||
# --------------------- CONTROL LIST -------------------------
|
||||
|
||||
CMENTRDL EQUALS # SEND ID BY SPECIAL CODING
|
||||
DNPTR CMENTR01 # COLLECT SNAPSHOT
|
||||
6DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMENTR02 # COLLECT SECOND SNAPSHOT
|
||||
4DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMENTR03 # COMMON DATA
|
||||
2DNADR CMDAPMOD # CMDAPMOD,PREL,QREL,RREL
|
||||
1DNADR L/D1 # L/D1,+1
|
||||
6DNADR UPBUFF # UPBUFF,+1,...+10,+11
|
||||
4DNADR UPBUFF +12D # UPBUFF+12,13,...+18,+19D
|
||||
2DNADR COMPNUMB # COMPNUMB,UPOLDMOD,UPVERB,UPCOUNT
|
||||
1DNADR PAXERR1 # PAXERR1,ROLLTM
|
||||
3DNADR LATANG # LATANG,+1,RDOT,+1,THETAH,+1
|
||||
2DNADR LAT(SPL) # LAT(SPL),+1,LNG(SPL),+1
|
||||
1DNADR ALFA/180 # ALFA/180,BETA/180
|
||||
DNPTR CMENTR04 # COMMON DATA
|
||||
1DNADR TIME2 # TIME2,TIME1
|
||||
DNPTR CMENTR05 # COLLECT SNAPSHOT
|
||||
6DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMENTR02 # COLLECT SNAPSHOT
|
||||
4DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
2DNADR AK # AK,AK1,AK2,RCSFLAGS
|
||||
3DNADR ERRORX # ERRORX/Y/Z,THETADX/Y/Z
|
||||
2DNADR CMDAPMOD # CMDAPMOD,PREL,QREL,RREL
|
||||
6DNADR UPBUFF # UPBUFF+0,+1,...+10,+11D
|
||||
4DNADR UPBUFF +12D # UPBUFF+12,+13,...+18,+19D
|
||||
1DNADR LEMMASS # LEMMASS,CSMMASS
|
||||
1DNADR DAPDATR1 # DAPDATR1,DAPDATR2
|
||||
1DNADR ROLLTM # ROLLTM,ROLLC
|
||||
1DNADR OPTMODES # OPTMODES,HOLDFLAG
|
||||
3DNADR WBODY # WBODY,...+5/OMEGAC,...+5
|
||||
2DNADR REDOCTR # REDOCTR,THETAD+0,+1,+2
|
||||
1DNADR IMODES30 # IMODES30,IMODES33
|
||||
DNCHAN 11 # CHANNELS 11,12
|
||||
DNCHAN 13 # CHANNELS 13,14
|
||||
DNCHAN 30 # CHANNELS 30,31
|
||||
DNCHAN 32 # CHANNELS 32,33
|
||||
1DNADR RSBBQ # RSBBQ,+1
|
||||
3DNADR CADRFLSH # CADRFLSH,+1,+2,FAILREG,+1,+2
|
||||
1DNADR STATE +10D # FLAGWRDS 10 AND 11
|
||||
-1DNADR GAMMAEI # GAMMAEI,+1
|
||||
|
||||
# --------------------- SUB LISTS ----------------------------
|
||||
|
||||
CMENTR01 EQUALS CMPOWE01 # COMMON DOWNLIST DATA
|
||||
# Page 178
|
||||
CMENTR02 EQUALS CMPOWE02 # COMMON DOWNLIST DATA
|
||||
|
||||
CMENTR03 EQUALS CMPOWE03 # COMMON DOWNLIST DATA
|
||||
|
||||
CMENTR04 EQUALS CMPOWE04 # COMMON DOWNLIST DATA
|
||||
|
||||
CMENTR05 -1DNADR DELV # DELV,+1 SNAPSHOT DATA
|
||||
1DNADR DELV +2 # DELV+2,+3
|
||||
1DNADR DELV +4 # DELV+4,+5
|
||||
1DNADR TTE # TTE,+1
|
||||
1DNADR VIO # VIO,+1
|
||||
1DNADR VPRED # VPRED,+1
|
||||
-1DNADR PIPTIME1 # PIPTIME1,+1
|
||||
|
||||
CMENTR07 EQUALS CMPOWE07 # COMMON DOWNLIST DATA
|
||||
|
||||
# -------------------------------------------------------------
|
||||
|
||||
# Page 179
|
||||
# P22 DOWNLISTS
|
||||
#
|
||||
# --------------------- CONTROL LIST --------------------------
|
||||
|
||||
CMPG22DL EQUALS # SEND ID BY SPECIAL CODING
|
||||
DNPTR CMPG2201 # COLLECT SNAPSHOT
|
||||
6DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMPG2202 # COLLECT SNAPSHOT
|
||||
4DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMPG2203 # COMMON DATA
|
||||
6DNADR SVMRKDAT # LANDING SITE MARK DATA
|
||||
6DNADR SVMRKDAT +12D # SVMRKDAT+0...+34
|
||||
6DNADR SVMRKDAT +24D # LANDING SITE MARK DATA
|
||||
1DNADR LANDMARK # LANDMARK,GARBAGE
|
||||
1DNADR SPARE
|
||||
1DNADR SPARE
|
||||
1DNADR SPARE
|
||||
DNPTR CMPG2204 # COMMON DATA
|
||||
1DNADR TIME2 # TIME2,TIME1
|
||||
DNPTR CMPG2205 # COLLECT SNAPSHOT
|
||||
2DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
1DNADR SPARE
|
||||
1DNADR SPARE
|
||||
1DNADR SPARE
|
||||
1DNADR SPARE
|
||||
DNPTR CMPG2202 # COLLECT SNAPSHOT
|
||||
4DNADR DNTMBUFF # SEND SNAPSHOT
|
||||
DNPTR CMPG2203 # COMMON DATA
|
||||
DNPTR CMPG2206 # COMMON DATA
|
||||
1DNADR 8NN # 8NN,GARBAGE
|
||||
1DNADR STATE +10D # FLAGWRDS 10 AND 11
|
||||
3DNADR RLS # RLS,+1,...+4,+5
|
||||
1DNADR SPARE
|
||||
1DNADR OPTMODES # OPTMODES,HOLDFLAG
|
||||
DNPTR CMPG2207 # COMMON DATA
|
||||
1DNADR SPARE
|
||||
1DNADR SPARE
|
||||
1DNADR SPARE
|
||||
1DNADR SPARE
|
||||
1DNADR SPARE
|
||||
-1DNADR SPARE
|
||||
|
||||
# --------------------- SUB LISTS --------------------------
|
||||
|
||||
CMPG2201 EQUALS CMPOWE01 # COMMON DOWNLIST DATA
|
||||
|
||||
CMPG2202 EQUALS CMPOWE02 # COMMON DOWNLIST DATA
|
||||
|
||||
CMPG2203 EQUALS CMPOWE03 # COMMON DOWNLIST DATA
|
||||
# Page 180
|
||||
CMPG2204 EQUALS CMPOWE04 # COMMON DOWNLIST DATA
|
||||
|
||||
CMPG2205 -1DNADR LONG # LONG,+1 SNAPSHOT DATA
|
||||
1DNADR ALT # ALT,+1
|
||||
-1DNADR LAT # LAT,+1
|
||||
|
||||
CMPG2206 EQUALS CMPOWE06 # COMMON DOWNLIST DATA
|
||||
|
||||
CMPG2207 EQUALS CMPOWE07 # COMMON DOWNLIST DATA
|
||||
|
||||
# -----------------------------------------------------------
|
||||
|
||||
DNTABLE GENADR CMCSTADL
|
||||
GENADR CMENTRDL
|
||||
GENADR CMRENDDL
|
||||
GENADR CMPOWEDL
|
||||
GENADR CMPG22DL
|
||||
|
||||
# -----------------------------------------------------------
|
||||
|
||||
|
|
@ -1,299 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: ENTRY_LEXICON.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055. It
|
||||
# is part of the source code for the Command Module's
|
||||
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 837-843
|
||||
# Contact: Ron Burkey <info@sandroid.org>
|
||||
# Website: http://www.ibiblio.org/apollo.
|
||||
# Mod history: 2009-05-12 RSB Adapted from Colossus249 file of the same
|
||||
# name and Comanche 055 page images.
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further
|
||||
# information. Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 837
|
||||
# VARIABLE DESCRIPTION MAXIMUM VALUE * COMPUTER NAME
|
||||
# -------- ----------- ------- ------- -------- ----
|
||||
#
|
||||
# _
|
||||
# URT0 INITIAL TARGET VECTOR 2 (UNIT VECTOR) = RTINIT
|
||||
# _
|
||||
# UZ UNIT VECTOR NORTH 1 = UNITW
|
||||
# _
|
||||
# V VELOCITY VECTOR 2 VSAT = VEL
|
||||
# _
|
||||
# R POSITION VECTOR 2 EXP 29 METERS = RN
|
||||
# _
|
||||
# VI INERTIAL VELOCITY 128 M/CENTISEC = VN
|
||||
# _
|
||||
# RTE VECTOR EAST AT INITIAL TARGET 2 = RTEAST
|
||||
# _
|
||||
# UTR NORMAL TO RTE AND UZ 2 = RTNORM
|
||||
# _
|
||||
# URT TARGET VECTOR 2 = RT
|
||||
# _
|
||||
# UNI UNIT NORMAL TO TRAJECTORY PLANE 2
|
||||
# _
|
||||
# DELV INTEGRATED ACCEL. FROM PIPAS 5.85 16384 CM/S
|
||||
# _
|
||||
# G GRAVITY VECTOR 128 M/CENTISEC = GDT/2
|
||||
#
|
||||
# A0 INITIAL DRAG FOR UPCONTRL 805 FPSS FPSS=FT/SEC/SEC
|
||||
# AHOOKDV TERM IN GAMMAL CALC. = AHOOK DVL 16
|
||||
# A1 DRAG VALUE IN FACTOR CALCULATION 805 FPSS
|
||||
# ALP CONST FOR UPCONTRL 1
|
||||
# ASKEP KEPLER RANGE 21600 NM NM = NAUTICAL MILE
|
||||
# ASP1 FINAL PHASE RANGE 21600 NM
|
||||
# ASPUP UP-RANGE 21600 NM
|
||||
# ASP3 GAMMA CORRECTION 21600 NM
|
||||
# ASPDWN RANGE DOWN TO PULL-UP 21600 NM
|
||||
# ASP PREDICTED RANGE 21600 NM NOT STORED
|
||||
# COSG COSINE(GAMMAL) 2 = COSG/2
|
||||
# C/D0 RECIPROCAL DRAG, -4/D0 B-8 64/FPSS
|
||||
# D TOTAL ACCELERATION 805 FPSS
|
||||
# D0 CONTROLLED CONSTANT D 805 FPSS
|
||||
# DHOOK TERM IN GAMMAL COMPUTATION 805 FPSS
|
||||
# DIFF THETNM-ASP (RANGE DIFFERENCE) 21600 NM
|
||||
# DIFFOLD PREVIOUS VALUE OF DIFF 21600 NM
|
||||
# DLEWD CHANGE IN LEWD 1
|
||||
# DR REFERENCE DRAG FOR DOWNCONTROL 805 FPSS NOT STORED
|
||||
# DREFR REFERENCE DRAG 805 FPSS NOT STORED
|
||||
# DVL VS1-VL 2 VSAT
|
||||
# E ECCENTRICITY 4 NOT STORED
|
||||
# F1 DRANGE/D DRAG (FINAL PHASE) 2700/805 = FX +5
|
||||
# F2 DRANGE/D RDOT (FINAL PHASE) 2700/2VS NM/FPS = FX +4
|
||||
# Page 838
|
||||
# F3 DRANGE/D (L/D) 2700 NM = FX
|
||||
# FACT1 CONST FOR UPCONTRL 805 FPSS
|
||||
# FACT2 CONST FOR UPCONTRL 1/805 FPSS
|
||||
# FACTOR USED IN UPCONTRL 1 * MAXIMUM VALUE DENOTES UNSCALED
|
||||
# GAMMAL FLIGHT PATH ANGLE AT VL 1 RADIAN VARIABLE VALUE WHEN SCALED
|
||||
# GAMMAL1 SIMPLE FORM OF GAMMAL 1 RADIAN VARIABLE HAS MAXIMUM VALUE OF ONE.
|
||||
# Page 839
|
||||
#
|
||||
# HEADSUP INDICATOR FOR INITIAL ROLL 1
|
||||
# KA DRAG TO LIFT UP IF DOWN 805 FPSS = KAT
|
||||
# KLAT LATERAL SWITCH GAIN 1 (NOM = .0125)
|
||||
# K2ROLL INDICATOR FOR ROLL SWITCH
|
||||
# LAD MAX L/D (MIN ACTUAL VEHICLE L/D) 1
|
||||
# LADPAD NOMINAL VEHICLE L/D, SP PAD LOAD 1 (NOM = 0.3)
|
||||
# LATANG LATERAL RANGE 4 RADIANS
|
||||
# LEQ EXCESS C.F. OVER GRAV=(VSQ-1)GS 128.8 FPSS
|
||||
# LEWD UPCONTROL REFERENCE L/D 1
|
||||
# LOD FINAL PHASE L/D 1 (NOM = 0.18)
|
||||
# LODPAD FINAL PHASE L/D, SP PAD LOAD 1
|
||||
# L/D DESIRED LIFT TO DRAG RATIO 1
|
||||
# (VERTICAL PLANE)
|
||||
# L/D1 TEMP STORAGE FOR L/D IN LATERAL 1
|
||||
# L/DCMINR LAD COS(15DEG) 1 (NOM = 0.2895)
|
||||
# PREDANGL PREDICTED RANGE (FINAL PHASE) 2700 NM = PREDANG
|
||||
# Q2 FINAL PHASE RANGE -23500 Q3 21600 NM
|
||||
# Q2 = FCN(LAD)
|
||||
# Q7 MINIMUM DRAG FOR UPCONTROL 805 FPSS
|
||||
# RDOT ALTITUDE RATE 2 VSAT
|
||||
# RDOTREF REFERENCE RDOT FOR UPCONTROL 2 VSAT
|
||||
# RDTR REFERENCE RDOT FOR DOWNCONT 2 VSAT NOT SAVED
|
||||
# ROLLC ROLL COMMAND 1 REVOLUTION
|
||||
# RTOGO RANGE TO GO (FINAL PHASE) 2700 NM = FX +2
|
||||
# SL SINE OF LATITUDE 1 NOT SAVED
|
||||
# T TIME B 28 CENTISEC = TIME2,TIME1
|
||||
# THETA DESIRED RANGE (RADIANS) 2 PI RADIANS = THETAH
|
||||
# THETNM DESIRED RANGE (NM) 21600 NM NON EXISTENT
|
||||
# V VELOCITY MAGNITUDE 2 VSAT
|
||||
# V1 INITIAL VELOCITY FOR UPCONTROL 2 VSAT
|
||||
# VL EXIT VELOCITY FOR UPCONTROL 2 VSAT
|
||||
# VREF REFERENCE VELOCITY FOR UPCONTROL 2 VSAT
|
||||
# VS1 VSAT OR V1, WHICHEVER IS SMALLER 2 VSAT
|
||||
# 2 2
|
||||
# VBARS VL /VSAT 4
|
||||
# 2 2
|
||||
# VSQ NORMALISED VEL. SQUARED = V /VSAT 4 = VSQUARE
|
||||
# WT EARTH RATE TIMES TIME 1 REVOLUTION NOT SAVED
|
||||
# = WIE (DTEAROT)
|
||||
# X INTERMEDIATE VARIABLE IN G-LIMITER 2 VSAT NOT SAVED
|
||||
# Y LATERAL MISS LIMIT 4 RADIANS NOT SAVED
|
||||
|
||||
# Page 840
|
||||
# EXTRA COMPUTER ERASABLE LOCATIONS NOT SHOWN ON FLOW CHARTS
|
||||
# ----------------------------------------------------------
|
||||
#
|
||||
# VARIABLE DESCRIPTION MAXIMUM VALUE
|
||||
# -------- ----------- -------------
|
||||
#
|
||||
# GOTOADDR ADDRESS SELECTED BY SEQUENCER
|
||||
# XPIPBUF BUFFER TO STORE X PIPA COUNTS
|
||||
# YPIPBUF BUFFER TO STORE Y PIPA COUNTS
|
||||
# ZPIPBUF BUFFER TO STORE Z PIPA COUNTS
|
||||
# PIPCTR COUNTS PASSES THRU PIPA READ ROUTINE
|
||||
# JJ INDEX IN FINAL PHASE TABLE LOOK-UP
|
||||
# MM INDEX IN FINAL PHASE TABLE LOOK-UP
|
||||
# GRAD INTERPOLATION FACTOR IN FINAL PHASE
|
||||
# FX DRANGE/D L/D = F3 2700 NM
|
||||
# FX +1 AREF 805 FPSS
|
||||
# FX +2 RTOGO 2700 NM
|
||||
# FX +3 RDOTREF VSAT/4
|
||||
# FX +4 DRANGE/D RDOT = F2 21600/2VS NM/FPS
|
||||
# FX +5 DRANGE/D DRAG = F1 2700/805 NM/FPSS
|
||||
# TEM1B TEMPORARY LOCATION
|
||||
# TIME/RTO TIME OF INITIAL TARGET RTINIT B 28 CENTISEC
|
||||
# DTEAROT EST TIME BETWEEN RTINIT AND RT B 28 CENTISEC
|
||||
#
|
||||
# _
|
||||
# UNITV UNIT V VECTOR 2
|
||||
# _
|
||||
# UNITR UNIT R VECTOR 2
|
||||
# _
|
||||
# -VREL NEGATIVE VELOCITY REL TO ATMOSP 2 VSAT
|
||||
#
|
||||
# COMPUTER SWITCHES INITIAL STATE CM/FLAGS = STATE +6
|
||||
# ----------------- ------------- -------------------
|
||||
#
|
||||
# ENTRYDSP DO ENTRY DISPLAY, IF SET NON-BRANCH (1) 92D, BIT13
|
||||
# GONEPAST INDICATES OVERSHOOT OF TARGET NON-BRANCH (0) 95D, BIT10
|
||||
# RELVELSW RELATIVE VELOCITY SWITCH NON-BRANCH (0) 96D, BIT 9
|
||||
# EGSW FINAL PHASE SWITCH NON-BRANCH (0) 97D, BIT 8
|
||||
# FIRSTPAS INITIAL PASS THRU HUNTEST NON-BRANCH (0) 98D, BIT 7
|
||||
# HIND INDICATES ITERATION IN HUNTEST NON-BRANCH (0) 99D, BIT 6
|
||||
# INRLSW INDICATES INIT ROLL ATTITUDE SET NON-BRANCH (0) 100D, BIT 5
|
||||
# LATSW INHIBIT DOWNLIFT SWITCH IF NOT SET BRANCH (1) 101D, BIT 4
|
||||
# .05GSW INDICATES DRAG EXCEEDS .05 GS BRANCH (0) 102D, BIT 3
|
||||
#
|
||||
# GONEBY INDICATES GONE PAST TARGET (SET) SELF-INITIALIZING 112D, BIT 8
|
||||
|
||||
# Page 841
|
||||
# CONSTANTS AND GAINS VALUE
|
||||
# ------------------- -----
|
||||
#
|
||||
# C1 FACTOR IN ALP COMPUTATION 1.25
|
||||
# C16 CONSTD GAIN ON DRAG .01
|
||||
# C17 CONSTD GAIN ON RDOT .001
|
||||
# C18 BIAS VEL. FOR FINAL PHASE START 500 FPS
|
||||
# C20 MAX DRAG FOR DOWN-LIFT 175 FPSS
|
||||
# CHOOK FACTOR IN AHOOK COMPUTATION .25
|
||||
# CH1 FACTOR IN GAMMAL COMPUTATION 1.0
|
||||
# COS15 COS( 15 DEG) .965
|
||||
# DLEWD0 INITIAL VARIATION IN LEWD -.05
|
||||
# D2 DRAG TO CHANGE LEWD 175 FPSS
|
||||
# DT COMPUTATION CYCLE TIME INTERVAL 2 SEC.
|
||||
# GMAX MAXIMUM ACCELERATION 257.6 FPSS (8 G-S)
|
||||
# KA1 FACTOR IN KA CALC 1.3 GS
|
||||
# KA2 FACTOR IN KA CALC .2 GS
|
||||
# KA3 FACTOR IN D0 CALC 90 FPSS
|
||||
# KA4 FACTOR IN D0 CALC 40 FPSS
|
||||
# KB1 OPTIMIZED UPCONTROL GAIN 3.4
|
||||
# KB2 OPTIMIZED UPCONTROL GAIN .0034
|
||||
# KDMIN INCREMENT ON Q7 TO DETECT END OF KEPLER PHASE .5 FPSS
|
||||
# KTETA TIME OF FLIGHT CONSTANT 1000
|
||||
# KLAT1 FACTOR IN KLAT CALC 1/24
|
||||
# K44 GAIN USED IN INITIAL ROLL SECTION 19749550 FPS
|
||||
# LATBIAS LATERAL SWITCH BIAS TERM .41252961 NM
|
||||
# LEWD1 NOMINAL UPCONTROL L/D .15
|
||||
# POINT1 FACTOR TO REDUCE UPCONTROL GAIN .1
|
||||
# Q2 FINAL PHASE RANGE - 23500 Q3 -1002 NM
|
||||
# Q3 FINAL PHASE DRANGE/D V .07 NM/FPS
|
||||
# Q5 FINAL PHASE DRANGE/D GAMMA 7050 NM/RAD
|
||||
# Q6 FINAL PHASE INITIAL FLIGHT PATH ANGLE .0349 RAD
|
||||
# Q7F MIN DRAG FOR UPCONTROL 6 FPSS
|
||||
# Q7MIN MIN VALUE FOR Q7 IN FACTOR CALCULATION 40 FPSS
|
||||
# Q19 FACTOR IN GAMMAL1 CALCULATION .5
|
||||
# Q21 FACTOR IN Q2 CALCULATION. 1000 NM
|
||||
# Q22 FACTOR IN Q2 CALCULATION. -1302 NM
|
||||
# VFINAL1 VELOCITY TO START FINAL PHASE ON INITIAL ENTRY 27000 FPS
|
||||
# VFINAL FACTOR IN INITIAL UP-DOWN CALC 26600 FPS
|
||||
# VLMIN MINIMUM VL 18000 FPS
|
||||
# VMIN VELOCITY TO SWITCH TO RELATIVE VEL VSAT/2
|
||||
# VRCONTRL RDOT TO START INTO HUNTEST 700 FPS
|
||||
# VRCONT = COMPUTER NAME
|
||||
# 25NM TOLERANCE TO STOP RANGE ITERATION 25 NM
|
||||
# VQUIT VELOCITY TO STOP STEERING 1000 FPS
|
||||
|
||||
# Page 842
|
||||
# CONVERSION FACTORS AND SCALING CONSTANTS
|
||||
# ---------- ------- --- ------- ---------
|
||||
#
|
||||
# ATK ANGLE IN RAD TO NM 3437.7468 NM/RAD
|
||||
# G5 NOMINAL G VALUE FOR SCALING 32.2 FPSS
|
||||
# H5 ATMOSPHERE SCALE HEIGHT 28500 FT
|
||||
# J GRAVITY HARMONIC COEFFICIENT .00162346
|
||||
# KWE EQUATORIAL EARTH RATE 1546.70168 FPS
|
||||
# MUE EARTH GRAVITATIONAL CONSTANT 3.986032233 E 14 CUBIC M/ SEC SEC
|
||||
# RE EARTH RADIUS 21202900 FT
|
||||
# REQ EARTH EQUATORIAL RADIUS 20925738.2 FT
|
||||
# VSAT SATELLITE VELOCITY AT RE 25766.1973 FPS
|
||||
# WIE EARTH RATE .0000729211505 RAD/SEC
|
||||
#
|
||||
# (END GSOP AS-278, VOL 1, FIG. 5.6-3 CONSTANTS,GAINS, ETC.)
|
||||
#
|
||||
#
|
||||
# DISPLAY QUANTITIES
|
||||
# ------------------
|
||||
#
|
||||
# (SEE SECTION 4 OF THE GSOP FOR SIGN CONVENTIONS.)
|
||||
#
|
||||
# VARIABLE DESCRIPTION MAXIMUM VALUE
|
||||
# -------- ----------- -------------
|
||||
#
|
||||
# GMAX PREDICTED MAXIMUM ENTRY ACCEL 163.84 GS N 60
|
||||
# VPRED PREDICTED VELOCITY AT ALTITUDE 128 M/CENTISEC N 60
|
||||
# 400K FT ABOVE FISCHER RADIUS.
|
||||
# GAMMAEI PREDICTED GAMMA AT ALTITUDE 1 REVOLUTION N 60
|
||||
# 400K FT ABOVE FISCHER RADIUS.
|
||||
# D DRAG ACCELERATION 805 FPSS N 64
|
||||
# VMAGI INERTIAL VELOCITY MAGNITUDE 128 M/CENTISEC N 64, N 68
|
||||
# THETAH DESIRED RANGE ANGLE NM 1 REVOLUTION N 64, N 67
|
||||
# LAT PRESENT LATITUDE 1 REVOLUTION N 67
|
||||
# LONG PRESENT LONGITUDE 1 REVOLUTION N 67
|
||||
# RTOGO RANGE ANGLE TO SPLASH FROM 1 REVOLUTION N 63
|
||||
# EMSALT FT ABOVE FISCHER RADIUS. (IN NM)
|
||||
# VIO PREDICTED VELOCITY AT ALTITUDE 128 M/CENTISEC N 63
|
||||
# EMSALT FT ABOVE FISCHER RADIUS.
|
||||
# TTE TIME OF FREE FALL TO ALT B 28 CENTISEC N 63
|
||||
# EMSALT FT ABOVE FISCHER RADIUS.
|
||||
# ROLLC ROLL COMMAND 1 REVOLUTION N 66, N 68, N 69
|
||||
# LATANG CROSS-RANGE ERROR (XRNGERR) 4 RADIANS N 66
|
||||
# DNRNGERR DOWN RANGE ERROR 1 REVOLUTION N 66
|
||||
# (PREDANG - THETAH IN NM)
|
||||
# HDOT ALTITUDE RATE 128 M/CENTISEC N 68
|
||||
# Q7 MINIMUM DRAG FOR UPCONTROL 805 FPSS N 69
|
||||
# VL EXIT VELOCITY FOR UP-CONTROL 2 VSAT N 69
|
||||
|
||||
# Page 843
|
||||
# BODY ATTITUDE QUANTITIES (CM/POSE)
|
||||
# ----------------------------------
|
||||
#
|
||||
# VARIABLE DESCRIPTION MAXIMUM VALUE
|
||||
# -------- ---------- ------- -----
|
||||
#
|
||||
# _
|
||||
# -VREL NEGATIVE VELOCITY REL TO ATMOS. 2 VSAT
|
||||
# _
|
||||
# OLDUYA USED FOR UYA BELOW 1000 FPS 2
|
||||
# _
|
||||
# UXA/2 UNIT VECTOR TRIAD 2
|
||||
# _
|
||||
# UYA/2 BASED ON 2
|
||||
# _
|
||||
# UZA/2 THE TRAJECTORY. 2
|
||||
# _
|
||||
# UBX/2 UNIT VECTOR 2
|
||||
# _
|
||||
# UBY/2 BODY TRIAD 2
|
||||
# _
|
||||
# UBZ/2 FOR CM. 2
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,496 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: EXECUTIVE.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1208-1220
|
||||
# Mod history: 2009-05-14 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1208
|
||||
BLOCK 02
|
||||
|
||||
# TO ENTER A JOB REQUEST REQUIRING NO VAC AREA:
|
||||
|
||||
COUNT 02/EXEC
|
||||
|
||||
NOVAC INHINT
|
||||
AD FAKEPRET # LOC(MPAC +6) - LOC(QPRET)
|
||||
TS NEWPRIO # PRIORITY OF NEW JOB + NOVAC C(FIXLOC)
|
||||
|
||||
EXTEND
|
||||
INDEX Q # Q WILL BE UNDISTURBED THROUGHOUT.
|
||||
DCA 0 # 2CADR OF JOB ENTERED.
|
||||
DXCH NEWLOC
|
||||
CAF EXECBANK
|
||||
XCH FBANK
|
||||
TS EXECTEM1
|
||||
TCF NOVAC2 # ENTER EXECUTIVE BANK.
|
||||
|
||||
# TO ENTER A JOB REQUEST REQUIRING A VAC AREA - E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
|
||||
|
||||
FINDVAC INHINT
|
||||
TS NEWPRIO
|
||||
EXTEND
|
||||
INDEX Q
|
||||
DCA 0
|
||||
SPVACIN DXCH NEWLOC
|
||||
CAF EXECBANK
|
||||
XCH FBANK
|
||||
TCF FINDVAC2 # OFF TO EXECUTIVE SWITCHED-BANK.
|
||||
|
||||
# TO ENTER A FINDVAC WITH THE PRIORITY IN NEWPRIO TO THE 2CADR ARRIVING IN A AND L:
|
||||
# USERS OF SPVAC MUST INHINT BEFORE STORING IN NEWPRIO.
|
||||
|
||||
SPVAC XCH Q
|
||||
AD NEG2
|
||||
XCH Q
|
||||
TCF SPVACIN
|
||||
|
||||
# TO SUSPEND A BASIC JOB SO A HIGHER PRIORITY JOB MAY BE SERVICED:
|
||||
|
||||
CHANG1 LXCH Q
|
||||
CAF EXECBANK
|
||||
XCH BBANK
|
||||
TCF CHANJOB
|
||||
|
||||
# TO SUSPEND AN INTERPRETIVE JOB:
|
||||
|
||||
CHANG2 CS LOC # NEGATIVE LOC SHOWS JOB = INTERPRETIVE.
|
||||
# ITRACE (4) REFERS TO "CHANG2".
|
||||
# Page 1209
|
||||
TS L
|
||||
+2 CAF EXECBANK
|
||||
TS BBANK
|
||||
TCF CHANJOB -1
|
||||
|
||||
# Page 1210
|
||||
# TO VOLUNTARILY SUSPEND A JOB UNTIL THE COMPLETION OF SOME ANTICIPATED EVENT (I/O EVENT ETC.):
|
||||
|
||||
JOBSLEEP TS LOC
|
||||
CAF EXECBANK
|
||||
TS FBANK
|
||||
TCF JOBSLP1
|
||||
|
||||
# TO AWAKEN A JOB PUT TO SLEEP IN THE ABOVE FASHION:
|
||||
|
||||
JOBWAKE INHINT
|
||||
TS NEWLOC
|
||||
CS TWO # EXIT IS VIA FINDVAC/NOVAC PROCEDURES.
|
||||
ADS Q
|
||||
CAF EXECBANK
|
||||
XCH FBANK
|
||||
TCF JOBWAKE2
|
||||
|
||||
# TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION:
|
||||
|
||||
PRIOCHNG INHINT # NEW PRIORITY ARRIVES IN A. RETURNS TO
|
||||
TS NEWPRIO # CALLER AS SOON AS NEW JOB PRIORITY IS
|
||||
CAF EXECBANK # HIGHEST. PREPARE FOR POSSIBLE BASIC-
|
||||
XCH BBANK # STYLE CHANGE-JOB.
|
||||
TS BANKSET
|
||||
CA Q
|
||||
TCF PRIOCH2
|
||||
|
||||
# TO REMOVE A JOB FROM EXECUTIVE CONSIDERATIONS:
|
||||
|
||||
ENDOFJOB CAF EXECBANK
|
||||
TS FBANK
|
||||
TCF ENDJOB1
|
||||
|
||||
ENDFIND CA EXECTEM1 # RETURN TO CALLER AFTER JOB ENTRY
|
||||
TS FBANK # COMPLETE.
|
||||
TCF Q+2
|
||||
EXECBANK CADR FINDVAC2
|
||||
|
||||
FAKEPRET ADRES MPAC -36D # LOC(MPAC +6) - LOC(QPRET)
|
||||
|
||||
# Page 1211
|
||||
# LOCATE AN AVAILABLE VAC AREA.
|
||||
|
||||
BANK 01
|
||||
COUNT 01/EXEC
|
||||
|
||||
FINDVAC2 TS EXECTEM1 # (SAVE CALLER'S BANK FIRST.)
|
||||
CCS VAC1USE
|
||||
TCF VACFOUND
|
||||
CCS VAC2USE
|
||||
TCF VACFOUND
|
||||
CCS VAC3USE
|
||||
TCF VACFOUND
|
||||
CCS VAC4USE
|
||||
TCF VACFOUND
|
||||
CCS VAC5USE
|
||||
TCF VACFOUND
|
||||
TC BAILOUT
|
||||
OCT 1201 # NO VAC AREAS.
|
||||
|
||||
VACFOUND AD TWO # RESERVE THIS VAC AREA BY STORING A ZERO
|
||||
ZL # IN ITS VAC USE REGISTER AND STORE THE
|
||||
INDEX A # ADDRESS OF THE FIRST WORD OF IT IN THE
|
||||
LXCH 0 -1 # LOW NINE BITS OF THE PRIORITY WORD.
|
||||
ADS NEWPRIO
|
||||
|
||||
NOVAC2 CAF ZERO # NOVAC ENTERS HERE. FIND A CORE SET.
|
||||
TS LOCCTR
|
||||
CAF NO.CORES # SEVEN SETS OF ELEVEN REGISTERS EACH.
|
||||
NOVAC3 TS EXECTEM2
|
||||
INDEX LOCCTR
|
||||
CCS PRIORITY # EACH PRIORITY REGISTER CONTAINS -0 IF
|
||||
TCF NEXTCORE # THE CORRESPONDING CORE SET IS AVAILABLE.
|
||||
NO.CORES DEC 6
|
||||
TCF NEXTCORE # AN ACTIVE JOB HAS A POSITIVE PRIORITY
|
||||
# BUT A DORMANT JOB'S PRIORITY IS NEGATIVE
|
||||
|
||||
# Page 1212
|
||||
CORFOUND CA NEWPRIO # SET THE PRIORITY OF THIS JOB IN THE CORE
|
||||
INDEX LOCCTR # SET'S PRIORITY REGISTER AND SET THE
|
||||
TS PRIORITY # JOB'S PUSH-DOWN POINTER AT THE BEGINNING
|
||||
MASK LOW9 # OF THE WORK AREA AND OVERFLOW INDICATOR
|
||||
INDEX LOCCTR
|
||||
TS PUSHLOC # OFF TO PREPARE FOR INTERPRETIVE PROGRAMS
|
||||
|
||||
CCS LOCCTR # IF CORE SET ZERO IS BEING LOADED, SET UP
|
||||
TCF SETLOC # OVFIND AND FIXLOC IMMEDIATELY.
|
||||
TS OVFIND
|
||||
CA PUSHLOC
|
||||
TS FIXLOC
|
||||
|
||||
SPECTEST CCS NEWJOB # SEE IF ANY ACTIVE JOBS WAITING (RARE).
|
||||
TCF SETLOC # MUST BE AWAKENED BUT UNCHANGED JOB.
|
||||
TC CCSHOLE
|
||||
TC CCSHOLE
|
||||
TS NEWJOB # +0 SHOWS ACTIVE JOB ALREADY SET.
|
||||
DXCH NEWLOC
|
||||
DXCH LOC
|
||||
TCF ENDFIND
|
||||
|
||||
SETLOC DXCH NEWLOC # SET UP THE LOCATION REGISTERS FOR THIS
|
||||
INDEX LOCCTR
|
||||
DXCH LOC
|
||||
INDEX NEWJOB # THIS INDEX INSTRUCTION INSURES THAT THE
|
||||
CS PRIORITY # HIGHEST ACTIVE PRIORITY WILL BE COMPARED
|
||||
AD NEWPRIO # WITH THE NEW PRIORITY TO SEE IF NEWJOB
|
||||
EXTEND # SHOULD BE SET TO SIGNAL A SWITCH.
|
||||
BZMF ENDFIND
|
||||
CA LOCCTR # LOCCTR IS LEFT SET AT THIS CORE SET IF
|
||||
TS NEWJOB # THE CALLER WANTS TO LOAD ANY MPAC
|
||||
TCF ENDFIND # REGISTERS, ETC.
|
||||
|
||||
NEXTCORE CAF COREINC
|
||||
ADS LOCCTR
|
||||
CCS EXECTEM2
|
||||
TCF NOVAC3
|
||||
TC BAILOUT # NO CORE SETS.
|
||||
OCT 1202
|
||||
# Page 1213
|
||||
# THE FOLLOWING ROUTINE SWAPS CORE SET 0 WITH THAT WHOSE RELATIVE ADDRESS IS IN NEWJOB.
|
||||
|
||||
-2 LXCH LOC
|
||||
-1 CAE BANKSET # BANKSET, NOT BBANK, HAS RIGHT CONTENTS.
|
||||
CHANJOB INHINT
|
||||
EXTEND
|
||||
ROR SUPERBNK # PICK UP CURRENT SBANK FOR BBCON
|
||||
XCH L # LOC IN A AND BBCON IN L.
|
||||
+4 INDEX NEWJOB # SWAP LOC AND BANKSET.
|
||||
DXCH LOC
|
||||
DXCH LOC
|
||||
|
||||
CAE BANKSET
|
||||
EXTEND
|
||||
WRITE SUPERBNK # SET SBANK FOR NEW JOB.
|
||||
DXCH MPAC # SWAP MULTI-PURPOSE ACCUMULATOR AREAS.
|
||||
INDEX NEWJOB
|
||||
DXCH MPAC
|
||||
DXCH MPAC
|
||||
DXCH MPAC +2
|
||||
INDEX NEWJOB
|
||||
DXCH MPAC +2
|
||||
DXCH MPAC +2
|
||||
DXCH MPAC +4
|
||||
INDEX NEWJOB
|
||||
DXCH MPAC +4
|
||||
DXCH MPAC +4
|
||||
DXCH MPAC +6
|
||||
INDEX NEWJOB
|
||||
DXCH MPAC +6
|
||||
DXCH MPAC +6
|
||||
|
||||
CAF ZERO
|
||||
XCH OVFIND # MAKE PUSHLOC NEGATIVE IF OVFIND NZ.
|
||||
EXTEND
|
||||
BZF +3
|
||||
CS PUSHLOC
|
||||
TS PUSHLOC
|
||||
|
||||
DXCH PUSHLOC
|
||||
INDEX NEWJOB
|
||||
DXCH PUSHLOC
|
||||
DXCH PUSHLOC # SWAPS PUSHLOC AND PRIORITY.
|
||||
CAF LOW9 # SET FIXLOC TO BASE OF VAC AREA.
|
||||
MASK PRIORITY
|
||||
TS FIXLOC
|
||||
|
||||
CCS PUSHLOC # SET OVERFLOW INDICATOR ACCORDING TO
|
||||
CAF ZERO
|
||||
TCF ENDPRCHG -1
|
||||
|
||||
# Page 1214
|
||||
CS PUSHLOC
|
||||
TS PUSHLOC
|
||||
CAF ONE
|
||||
XCH OVFIND
|
||||
TS NEWJOB
|
||||
|
||||
ENDPRCHG RELINT
|
||||
DXCH LOC # BASIC JOBS HAVE POSITIVE ADDRESSES, SO
|
||||
EXTEND # DISPATCH WITH A DTCB.
|
||||
BZMF +2 # IF INTERPRETIVE, SET UP EBANK, ETC.
|
||||
DTCB
|
||||
# Page 1215
|
||||
COM # EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
|
||||
AD ONE
|
||||
TS LOC # RESUME.
|
||||
TCF INTRSM
|
||||
|
||||
# COMPLETE JOBSLEEP PREPARATIONS.
|
||||
|
||||
JOBSLP1 INHINT
|
||||
CS PRIORITY # NNZ PRIORITY SHOWS JOB ASLEEP.
|
||||
TS PRIORITY
|
||||
CAF LOW7
|
||||
MASK BBANK
|
||||
EXTEND
|
||||
ROR SUPERBNK # SAVE OLD SUPERBANK VALUE.
|
||||
TS BANKSET
|
||||
CS ZERO
|
||||
JOBSLP2 TS BUF +1 # HOLDS - HIGHEST PRIORITY.
|
||||
TCF EJSCAN # SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB.
|
||||
|
||||
NUCHANG2 INHINT # QUICK... DONT LET NEWJOB CHANGE TO +0 .
|
||||
CCS NEWJOB
|
||||
TCF +3 # NEWJOB STILL PNZ
|
||||
RELINT # NEWJOB HAS CHANGED TO +0. WAKE UP JOB
|
||||
TCF ADVAN +2 # VIA NUDIRECT. (VERY RARE CASE.)
|
||||
|
||||
CAF TWO
|
||||
EXTEND
|
||||
WOR DSALMOUT # TURN ON ACTIVITY LIGHT
|
||||
DXCH LOC # AND SAVE ADDRESS INFO FOR BENEFIT OF
|
||||
TCF CHANJOB + 4 # POSSIBLE SLEEPING JOB.
|
||||
|
||||
# Page 1216
|
||||
# TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE
|
||||
# LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED. IF NO JOB IS FOUND,
|
||||
# LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
|
||||
|
||||
JOBWAKE2 TS EXECTEM1
|
||||
CAF ZERO # BEGIN CORE SET SCAN.
|
||||
TS LOCCTR
|
||||
CAF NO.CORES
|
||||
JOBWAKE4 TS EXECTEM2
|
||||
INDEX LOCCTR
|
||||
CCS PRIORITY
|
||||
TCF JOBWAKE3 # ACTIVE JOB - CHECK NEXT CORE SET.
|
||||
COREINC DEC 12 # 12 REGISTERS PER CORE SET.
|
||||
TCF WAKETEST # SLEEPING JOB - SEE IF CADR MATCHES.
|
||||
|
||||
JOBWAKE3 CAF COREINC
|
||||
ADS LOCCTR
|
||||
CCS EXECTEM2
|
||||
TCF JOBWAKE4
|
||||
CS ONE # EXIT IF SLEEPING JOB NOT FOUND.
|
||||
TS LOCCTR
|
||||
TCF ENDFIND
|
||||
|
||||
WAKETEST CS NEWLOC
|
||||
INDEX LOCCTR
|
||||
AD LOC
|
||||
EXTEND
|
||||
BZF +2 # IF MATCH.
|
||||
TCF JOBWAKE3 # EXAMINE NEXT CORE SET IF NO MATCH.
|
||||
|
||||
INDEX LOCCTR # RE-COMPLEMENT PRIORITY TO SHOW JOB AWAKE
|
||||
CS PRIORITY
|
||||
TS NEWPRIO
|
||||
INDEX LOCCTR
|
||||
TS PRIORITY
|
||||
|
||||
CS FBANKMSK # MAKE UP THE 2CADR OF THE WAKE ADDRESS
|
||||
MASK NEWLOC # USING THE CADR IN NEWLOC AND THE EBANK
|
||||
AD 2K # HALF OF BBANK SAVED IN BANKSET.
|
||||
XCH NEWLOC
|
||||
MASK FBANKMSK
|
||||
INDEX LOCCTR
|
||||
AD BANKSET
|
||||
TS NEWLOC +1
|
||||
|
||||
CCS LOCCTR # SPECIAL TREATMENT IF THIS JOB WAS
|
||||
TCF SETLOC # ALREADY IN THE RUN (0) POSITION.
|
||||
TCF SPECTEST
|
||||
|
||||
# Page 1217
|
||||
# PRIORITY CHANGE. CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
|
||||
|
||||
PRIOCH2 TS LOC
|
||||
CAF ZERO # SET FLAG TO TELL ENDJOB SCANNER IF THIS
|
||||
TS BUF # JOB IS STILL HIGHEST PRIORITY.
|
||||
CAF LOW9
|
||||
MASK PRIORITY
|
||||
AD NEWPRIO
|
||||
TS PRIORITY
|
||||
COM
|
||||
TCF JOBSLP2 # AND TO EJSCAN.
|
||||
|
||||
# Page 1218
|
||||
# RELEASE THIS CORE SET AND VAC AREA AND SCAN FOR THE JOB OF HIGHEST ACTIVE PRIORITY.
|
||||
|
||||
ENDJOB1 INHINT
|
||||
CS ZERO
|
||||
TS BUF +1
|
||||
XCH PRIORITY
|
||||
MASK LOW9
|
||||
TS L
|
||||
|
||||
CS FAKEPRET
|
||||
AD L
|
||||
|
||||
EXTEND
|
||||
BZMF EJSCAN # NOVAC ENDOFJOB
|
||||
|
||||
CCS L
|
||||
INDEX A
|
||||
TS 0
|
||||
|
||||
EJSCAN CCS PRIORITY +12D
|
||||
TC EJ1
|
||||
TC CCSHOLE
|
||||
TCF +1
|
||||
|
||||
CCS PRIORITY +24D # EXAMINE EACH PRIORITY REGISTER TO FIND
|
||||
TC EJ1 # THE JOB OF HIGHEST ACTIVE PRIORITY.
|
||||
TC CCSHOLE
|
||||
TCF +1
|
||||
|
||||
CCS PRIORITY +36D
|
||||
TC EJ1
|
||||
-CCSPR -CCS PRIORITY
|
||||
TCF +1
|
||||
|
||||
CCS PRIORITY +48D
|
||||
TC EJ1
|
||||
TC CCSHOLE
|
||||
TCF +1
|
||||
|
||||
CCS PRIORITY +60D
|
||||
TC EJ1
|
||||
TC CCSHOLE
|
||||
TCF +1
|
||||
|
||||
CCS PRIORITY +72D
|
||||
TC EJ1
|
||||
TC CCSHOLE
|
||||
TCF +1
|
||||
|
||||
# Page 1219
|
||||
# EVALUATE THE RESULTS OF THE SCAN.
|
||||
|
||||
CCS BUF +1 # SEE IF THERE ARE ANY ACTIVE JOBS WAITING
|
||||
TC CCSHOLE
|
||||
TC CCSHOLE
|
||||
|
||||
TCF +2
|
||||
TCF DUMMYJOB
|
||||
CCS BUF # BUF IS ZERO IF THIS IS A PRIOCHNG AND
|
||||
TCF +2 # CHANGED PRIORITY IS STILL HIGHEST.
|
||||
TCF ENDPRCHG -1
|
||||
|
||||
INDEX A # OTHERWISE, SET NEWJOB TO THE RELATIVE
|
||||
CAF 0 -1 # ADDRESS OF THE NEW JOB'S CORE SET.
|
||||
AD -CCSPR
|
||||
TS NEWJOB
|
||||
TCF CHANJOB -2
|
||||
|
||||
EJ1 TS BUF +2
|
||||
AD BUF +1 # - OLD HIGH PRIORITY.
|
||||
CCS A
|
||||
CS BUF +2
|
||||
TCF EJ2 # NEW HIGH PRIORITY.
|
||||
NOOP
|
||||
INDEX Q
|
||||
TC 2 # PROCEED WITH SEARCH.
|
||||
|
||||
EJ2 TS BUF +1
|
||||
EXTEND
|
||||
QXCH BUF # FOR LOCATING CCS PRIORITY + X INSTR.
|
||||
INDEX BUF
|
||||
TC 2
|
||||
|
||||
# Page 1220
|
||||
# IDLING AND COMPUTER ACTIVITY (GREEN) LIGHT MAINTENANCE. THE IDLING ROUTINE IS NOT A JOB IN ITSELF,
|
||||
# BUT RATHER A SUBROUTINE OF THE EXECUTIVE.
|
||||
|
||||
EBANK= SELFRET # SELF-CHECK STORAGE IN EBANK.
|
||||
|
||||
DUMMYJOB CS ZERO # SET NEWJOB TO -0 FOR IDLING.
|
||||
TS NEWJOB
|
||||
RELINT
|
||||
CS TWO # TURN OFF THE ACTIVITY LIGHT.
|
||||
EXTEND
|
||||
WAND DSALMOUT
|
||||
ADVAN CCS NEWJOB # IS A NEWJOB ACTIVE ?
|
||||
TCF NUCHANG2 # YES... ONE REQUIRING A CHANGE JOB.
|
||||
CAF TWO # NEW JOB ALREADY IN POSITION FOR
|
||||
TCF NUDIRECT # EXECUTION.
|
||||
|
||||
CA SELFRET
|
||||
TS L # PUT RETURN ADDRESS IN L.
|
||||
CAF SELFBANK
|
||||
TCF SUPDXCHZ + 1 # AND DISPATCH JOB.
|
||||
|
||||
EBANK= SELFRET
|
||||
SELFBANK BBCON SELFCHK
|
||||
|
||||
NUDIRECT EXTEND # TURN THE GREEN LIGHT BACK ON.
|
||||
WOR DSALMOUT
|
||||
DXCH LOC # JOBS STARTED IN THIS FASHION MUST BE
|
||||
TCF SUPDXCHZ
|
||||
|
||||
BLOCK 2 # IN FIXED-FIXED SO OTHERS MAY USE.
|
||||
|
||||
COUNT 02/EXEC
|
||||
|
||||
# SUPDXCHZ - ROUTINE TO TRANSFER TO SUPERBANK.
|
||||
# CALLING SEQUENCE
|
||||
# TCF SUPDXCHZ # WITH 2CADR OF DESIRED LOCATION IN A + L.
|
||||
|
||||
SUPDXCHZ XCH L # BASIC.
|
||||
+1 EXTEND
|
||||
WRITE SUPERBNK
|
||||
TS BBANK
|
||||
TC L
|
||||
|
||||
NEG100 OCT 77677
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,263 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: FIXED_FIXED_CONSTANT_POOL.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1200-1204
|
||||
# Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1200
|
||||
BLOCK 02
|
||||
|
||||
COUNT 02/FCONS
|
||||
|
||||
# THE FOLLOWING TABLE OF 18 VALUES IS INDEXED. DO NOT INSERT OR REMOVE ANY QUANTITIES.
|
||||
|
||||
DPOSMAX OCT 37777 # MUST PRECEDE POSMAX
|
||||
POSMAX OCT 37777
|
||||
|
||||
LIMITS = NEG1/2
|
||||
|
||||
NEG1/2 OCT -20000 # USED BY SIN ROUTINE (MUST BE TWO
|
||||
# LOCATIONS IN FRONT OF BIT14)
|
||||
# BIT TABLE
|
||||
|
||||
BIT15 OCT 40000
|
||||
BIT14 OCT 20000
|
||||
BIT13 OCT 10000
|
||||
BIT12 OCT 04000
|
||||
BIT11 OCT 02000
|
||||
BIT10 OCT 01000
|
||||
BIT9 OCT 00400
|
||||
BIT8 OCT 00200
|
||||
BIT7 OCT 00100
|
||||
BIT6 OCT 00040
|
||||
BIT5 OCT 00020
|
||||
BIT4 OCT 00010
|
||||
BIT3 OCT 00004
|
||||
BIT2 OCT 00002
|
||||
BIT1 OCT 00001
|
||||
|
||||
|
||||
# DO NOT DESTROY THIS COMBINATION, SINCE IT IS USED IN DOUBLE PRECISION INSTRUCTIONS.
|
||||
NEG0 OCT -0 # MUST PRECEDE ZERO
|
||||
ZERO OCT 0 # MUST FOLLOW NEG0
|
||||
# BIT1 OCT 00001
|
||||
# NO.WDS OCT 2 # INTERPRETER
|
||||
# OCTAL3 OCT 3 # INTERPRETER
|
||||
# R3D1 OCT 4 # PINBALL
|
||||
FIVE OCT 5
|
||||
# REVCNT OCT 6 # INTERPRETER
|
||||
SEVEN OCT 7
|
||||
# BIT4 OCT 00010
|
||||
# R2D1 OCT 11 # PINBALL
|
||||
OCT11 = R2D1 # P20S
|
||||
# BINCON DEC 10 # PINBALL (OCTAL 12)
|
||||
ELEVEN DEC 11
|
||||
# OCT14 OCT 14 # ALARM AND ABORT (FILLER)
|
||||
OCT15 OCT 15
|
||||
# R1D1 OCT 16 # PINBALL
|
||||
# Page 1201
|
||||
LOW4 OCT 17
|
||||
# BIT5 OCT 00020
|
||||
# ND1 OCT 21 # PINBALL
|
||||
# VD1 OCT 23 # PINBALL
|
||||
# OCT24 OCT 24 # SERVICE ROUTINES
|
||||
# MD1 OCT 25 # PINBALL
|
||||
BITS4&5 OCT 30
|
||||
# OCT31 OCT 31 # SERVICE ROUTINES
|
||||
CALLCODE OCT 00032
|
||||
# LOW5 OCT 37 # PINBALL
|
||||
# 33DEC DEC 33 # PINBALL (OCTAL 41)
|
||||
# 34DEC DEC 34 # PINBALL (OCTAL 42)
|
||||
TBUILDFX DEC 37 # BUILDUP FOR CONVIENCE IN DAPTESTING
|
||||
TDECAYFX DEC 38 # CONVENIENCE FOR DAPTESTING
|
||||
# BIT6 OCT 00040
|
||||
OCT50 OCT 50
|
||||
DEC45 DEC 45
|
||||
SUPER011 OCT 60 # BITS FOR SUPERBNK SETTING 011.
|
||||
.5SEC DEC 50
|
||||
# BIT7 OCT 00100
|
||||
|
||||
SUPER100 = BIT7 # BITS FOR SUPERBNK SETTING 100
|
||||
# (LAST 4K OF ROPE)
|
||||
SUPER101 OCT 120 # BITS FOR SUPERBNK SETTING 101
|
||||
# OCT121 OCT 121 # SERVICE ROUTINES
|
||||
# (FIRST 8K OF ACM)
|
||||
SUPER110 OCT 140 # BITS FOR SUPERBNK SETTING 110.
|
||||
# (LAST 8K OF ACM)
|
||||
1SEC DEC 100
|
||||
# LOW7 OCT 177 # INTERPRETER
|
||||
# BIT8 OCT 00200
|
||||
# OT215 OCT 215 # ALARM AND ABORT
|
||||
# 8,5 OCT 00220 # P20-P25 SUNDANCE
|
||||
2SECS DEC 200
|
||||
# LOW8 OCT 377 # PINBALL
|
||||
# BIT9 OCT 00400
|
||||
GN/CCODE OCT 00401 # SET S/C CONTROL SWITCH TO G/N
|
||||
3SECS DEC 300
|
||||
4SECS DEC 400
|
||||
LOW9 OCT 777
|
||||
# BIT10 OCT 01000
|
||||
# 5.5DEGS DEC .03056 # P20-P25 SUNDANCE (OCTAL 00765)
|
||||
# OCT1103 OCT 1103 # ALARM AND ABORT
|
||||
C5/2 DEC .0363551 # (OCTAL 01124)
|
||||
V05N09 VN 0509 # (SAME AS OCTAL 1211)
|
||||
OCT1400 OCT 01400
|
||||
V06N22 VN 0622
|
||||
# MID5 OCT 1740 # PINBALL
|
||||
BITS2-10 OCT 1776
|
||||
LOW10 OCT 1777
|
||||
# Page 1202
|
||||
# BIT11 OCT 02000
|
||||
# 2K+3 OCT 2003 # PINBALL
|
||||
LOW7+2K OCT 2177 # OP CODE MASK + BANK 1 FBANK SETTING.
|
||||
EBANK5 OCT 02400
|
||||
PRIO3 OCT 03000
|
||||
EBANK7 OCT 03400
|
||||
# LOW11 OCT 3777 # PINBALL
|
||||
# BIT12 OCT 04000
|
||||
# RELTAB OCT 04025 # T4RUPT
|
||||
PRIO5 OCT 05000
|
||||
PRIO6 OCT 06000
|
||||
PRIO7 OCT 07000
|
||||
|
||||
# BIT13 OCT 10000
|
||||
# OCT 10003 # T4RUPT RELTAB +1D
|
||||
# 13,7,2 OCT 10102 # P20-P25 SUNDANCE
|
||||
PRIO11 OCT 11000
|
||||
# PRIO12 OCT 12000 # BANKCALL
|
||||
PRIO13 OCT 13000
|
||||
PRIO14 OCT 14000
|
||||
# OCT 14031 # T4RUPT RELTAB +2D
|
||||
PRIO15 OCT 15000
|
||||
PRIO16 OCT 16000
|
||||
# 85DEGS DEC .45556 # P20-P25 SUNDANCE (OCTAL 16450)
|
||||
PRIO17 OCT 17000
|
||||
OCT17770 OCT 17770
|
||||
# BIT14 OCT 20000
|
||||
# OCT 20033 # T4RUPT RELTAB +3D
|
||||
PRIO21 OCT 21000
|
||||
BLOCK 03
|
||||
COUNT 03/FCONS
|
||||
|
||||
PRIO22 OCT 22000 # SERVICE ROUTINES
|
||||
PRIO23 OCT 23000
|
||||
PRIO24 OCT 24000
|
||||
# 5/8+1 OCT 24001 # SINGLE PRECISION SUBROUTINES
|
||||
# OCT 24017 # T4RUPT RELTAB +4D
|
||||
PRIO25 OCT 25000
|
||||
PRIO26 OCT 26000
|
||||
PRIO27 OCT 27000
|
||||
# CHRPRIO OCT 30000 # PINBALL
|
||||
# OCT 30036 # T4RUPT RELTAB +5D
|
||||
PRIO31 OCT 31000
|
||||
C1/2 DEC .7853134 # (OCTAL 31103)
|
||||
PRIO32 OCT 32000
|
||||
PRIO33 OCT 33000
|
||||
PRIO34 OCT 34000
|
||||
# OCT 34034 # T4RUPT RELTAB +6D
|
||||
PRIO35 OCT 35000
|
||||
PRIO36 OCT 36000
|
||||
# Page 1203
|
||||
PRIO37 OCT 37000
|
||||
63/64+1 OCT 37401
|
||||
# MID7 OCT 37600 # PINBALL
|
||||
OCT37766 OCT 37766
|
||||
OCT37774 OCT 37774
|
||||
OCT37776 OCT 37776
|
||||
# DPOSMAX OCT 37777
|
||||
# BIT15 OCT 40000
|
||||
# OCT40001 OCT 40001 # INTERPRETER (CS 1 INSTRUCTION)
|
||||
DLOADCOD OCT 40014
|
||||
DLOAD* OCT 40015
|
||||
# OCT 40023 # T4RUPT RELTAB +7D
|
||||
BIT15+6 OCT 40040
|
||||
OCT40200 OCT 40200
|
||||
# OCT 44035 # T4RUPT RELTAB +8D
|
||||
# OCT 50037 # T4RUPT RELTAB +9D
|
||||
# OCT 54000 # T4RUPT RELTAB +10D
|
||||
-BIT14 OCT 57777
|
||||
# RELTAB11 OCT 60000 # T4RUPT
|
||||
C3/2 DEC -.3216147 # (OCTAL 65552)
|
||||
13,14,15 OCT 70000
|
||||
-1/8 OCT 73777
|
||||
HIGH4 OCT 74000
|
||||
-ENDERAS DEC -2001 # (OCTAL 74056)
|
||||
# HI5 OCT 76000 # PINBALL
|
||||
HIGH9 OCT 77700
|
||||
# -ENDVAC DEC -45 # INTERPRETER (OCTAL 77722)
|
||||
# -OCT10 OCT -10 # (OCT 77767)
|
||||
# NEG4 DEC -4 # (OCTAL 77773)
|
||||
NEG3 DEC -3
|
||||
NEG2 OCT 77775
|
||||
NEGONE DEC -1
|
||||
|
||||
# Page 1204
|
||||
|
||||
# DEFINED BY EQUALS
|
||||
|
||||
# IT WOULD BE TO THE USERS ADVANTAGE TO OCCASIONALLY CHECK ANY OF THESE SYMBOLS IN ORDER TO PREVENT ANY
|
||||
# ACCIDENTAL DEFINITION CHANGES.
|
||||
|
||||
MINUS1 = NEG1
|
||||
NEG1 = NEGONE
|
||||
ONE = BIT1
|
||||
TWO = BIT2
|
||||
THREE = OCTAL3
|
||||
LOW2 = THREE
|
||||
FOUR = BIT3
|
||||
SIX = REVCNT
|
||||
LOW3 = SEVEN
|
||||
EIGHT = BIT4
|
||||
NINE = R2D1
|
||||
TEN = BINCON
|
||||
NOUTCON = ELEVEN
|
||||
OCT23 = VD1
|
||||
OCT25 = MD1
|
||||
PRIO1 = BIT10
|
||||
EBANK3 = OCT1400
|
||||
PRIO2 = BIT11
|
||||
OCT120 = SUPER101
|
||||
OCT140 = SUPER110
|
||||
2K = BIT11
|
||||
EBANK4 = BIT11
|
||||
PRIO4 = BIT12
|
||||
EBANK6 = PRIO3
|
||||
QUARTER = BIT13
|
||||
PRIO10 = BIT13
|
||||
OCT10001 = CCSL
|
||||
POS1/2 = HALF
|
||||
PRIO20 = BIT14
|
||||
HALF = BIT14
|
||||
PRIO30 = CHRPRIO
|
||||
BIT13-14 = PRIO30 # INTERPRETER USES IN PROCESSING STORECODE
|
||||
OCT30002 = TLOAD +1
|
||||
B12T14 = PRIO34
|
||||
NEGMAX = BIT15
|
||||
VLOADCOD = BIT15
|
||||
VLOAD* = OCT40001
|
||||
OCT60000 = RELTAB11
|
||||
BANKMASK = HI5
|
||||
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,98 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: GIMBAL_LOCK_AVOIDANCE.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 412-413
|
||||
# Contact: Onno Hommes <ohommes@cmu.edu>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Mod history: 05/07/09 OH Transcription Batch 1 Assignment
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further information.
|
||||
# Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 412
|
||||
BANK 15
|
||||
SETLOC KALCMON1
|
||||
BANK
|
||||
|
||||
EBANK= BCDU
|
||||
# DETECTING GIMBAL LOCK
|
||||
LOCSKIRT EQUALS WCALC
|
||||
WCALC LXC,1 DLOAD*
|
||||
RATEINDX
|
||||
ARATE,1
|
||||
SR4 CALL # COMPUTE THE INCREMENTAL ROTATION MATRIX
|
||||
DELCOMP # DEL CORRESPONDING TO A 1 SEC ROTATION
|
||||
# ABOUT COF
|
||||
DLOAD* VXSC
|
||||
ARATE,1
|
||||
COF
|
||||
MXV
|
||||
QUADROT
|
||||
STODL BRATE
|
||||
AM
|
||||
DMP DDV*
|
||||
ANGLTIME
|
||||
ARATE,1
|
||||
SR
|
||||
5
|
||||
STOVL TM
|
||||
BRATE
|
||||
VXSC
|
||||
BIASCALE
|
||||
STORE BIASTEMP # ATTITUDE ERROR BIAS TO PREVENT OVERSHOOT
|
||||
# IN SYSTEM
|
||||
SETGO # STATE SWITCH CALCMAN2 (43D)
|
||||
CALCMAN2 # 0(OFF) = BYPASS STARTING PROCEDURE
|
||||
NEWANGL +1 # 1(ON) = START MANEUVER
|
||||
|
||||
|
||||
ARATE 2DEC .0022222222 # = .05 DEG/SEC
|
||||
|
||||
2DEC .0088888889 # = .2 DEG/SEC
|
||||
|
||||
2DEC .0222222222 # = .5 DEG/SEC
|
||||
|
||||
2DEC .0888888889 # = 2 DEG/SEC $22.5 DEG/SEC
|
||||
|
||||
ANGLTIME 2DEC .000190735 # = 100B - 19
|
||||
|
||||
# MANEUVER ANGLE TO MANEUVER TIME
|
||||
|
||||
QUADROT 2DEC .1 # ROTATION MATRIX FROM S/C AXES TO CONTROL
|
||||
|
||||
# Page 413
|
||||
2DEC 0 # AXES (X ROT = -7.25 DEG)
|
||||
|
||||
2DEC 0
|
||||
|
||||
2DEC 0
|
||||
|
||||
2DEC .099200 # =(.1)COS7.25
|
||||
|
||||
2DEC -.012620 # =-(.1)SIN7.25
|
||||
|
||||
2DEC 0
|
||||
|
||||
2DEC .012620 # (.1)SIN7.25
|
||||
|
||||
2DEC .099200 # (.1)COS7.25
|
||||
|
||||
BIASCALE 2DEC .0002543132 # = (450/180)(1/0.6)(1/16384)
|
||||
|
|
@ -1,205 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: GROUND_TRACKING_DETERMINATION_PROGRAM.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 456-459
|
||||
# Contact: Onno Hommes <ohommes@cmu.edu>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Mod history: 2009-05-07 OH Transcription Batch 1 Assignment
|
||||
# 2009-05-20 RSB Corrected a couple of DIMOFLAG to DIM0FLAG.
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further information.
|
||||
# Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 456
|
||||
# GROUND TRACKING DETERMINATION PROGRAM P21
|
||||
# PROGRAM DESCRIPTION
|
||||
# MOD NO - 1
|
||||
# MOD BY - N.M.NEVILLE
|
||||
# FUNCTIONAL DECRIPTION-
|
||||
#
|
||||
# TO PROVIDE THE ASTRONAUT DETAILS OF THE LM OR CSM GROUND TRACK WITHOUT
|
||||
# THE NEED FOR GROUND COMMUNICATION (REQUESTED BY DSKY).
|
||||
# CALLING SEQUENCE -
|
||||
#
|
||||
# ASTRONAUT REQUEST THROUGH DSKY V37E21E
|
||||
# SUBROUTINES CALLED-
|
||||
#
|
||||
# GOPERF4
|
||||
# GOFLASH
|
||||
# THISPREC
|
||||
# OTHPREC
|
||||
# LAT-LONG
|
||||
# NORMAL EXIT MODES-
|
||||
#
|
||||
# ASTRONAUT REQUEST THROUGH DSKY TO TERMINATE PROGRAM V34E
|
||||
# ALARM OR ABORT EXIT MODES-
|
||||
#
|
||||
# NONE
|
||||
# OUTPUT -
|
||||
#
|
||||
# OCTAL DISPLAY OF OPTION CODE AND VEHICLE WHOSE GROUND TRACK IS TO BE
|
||||
# COMPUTED
|
||||
# OPTION CODE 00002
|
||||
# THIS 00001
|
||||
# OTHER 00002
|
||||
# DECIMAL DISPLAY OF TIME TO BE INTEGRATED TO HOURS , MINUTES , SECONDS
|
||||
# DECIMAL DISPLAY OF LAT,LONG,ALT
|
||||
# ERASABLE INITIALIZATION REQUIRED
|
||||
#
|
||||
# AX0 2DEC 4.652459653 E-5 RADIANS "68-69 CONSTANTS"
|
||||
#
|
||||
# -AY0 2DEC 2.147535898 E-5 RADIANS
|
||||
#
|
||||
# AZ0 2DEC .7753206164 REVOLUTIONS
|
||||
# FOR LUNAR ORBITS 504LM VECTOR IS NEEDED
|
||||
#
|
||||
# 504LM 2DEC -2.700340600 E-5 RADIANS
|
||||
#
|
||||
# 504LM _2 2DEC -7.514128400 E-4 RADIANS
|
||||
#
|
||||
# 504LM _4 2DEC _2.553198641 E-4 RADIANS
|
||||
#
|
||||
# NONE
|
||||
# DEBRIS
|
||||
|
||||
# Page 457
|
||||
# CENTRALS-A,Q,L
|
||||
# OTHER-THOSE USED BY THE ABOVE LISTED SUBROUTINES
|
||||
# SEE LEMPREC,LAT-LONG
|
||||
SBANK= LOWSUPER # FOR LOW 2CADR'S.
|
||||
|
||||
BANK 33
|
||||
SETLOC P20S
|
||||
BANK
|
||||
|
||||
EBANK= P21TIME
|
||||
COUNT 24/P21
|
||||
|
||||
PROG21 CAF ONE
|
||||
TS OPTION2 # ASSUMED VEHICLE IS LM , R2 = 00001
|
||||
CAF BIT2 # OPTION 2
|
||||
TC BANKCALL
|
||||
CADR GOPERF4
|
||||
TC GOTOPOOH # TERMINATE
|
||||
TC +2 # PROCEED VALUE OF ASSUMED VEHICLE OK
|
||||
TC -5 # R2 LOADED THROUGH DSKY
|
||||
P21PROG1 CAF V6N34 # LOAD DESIRED TIME OF LAT-LONG.
|
||||
TC BANKCALL
|
||||
CADR GOFLASH
|
||||
TC GOTOPOOH # TERM
|
||||
TC +2 # PROCEED VALUES OK
|
||||
TC -5 # TIME LOADED THROUGH DSKY
|
||||
TC INTPRET
|
||||
DLOAD
|
||||
DSPTEM1
|
||||
STCALL TDEC1 # INTEG TO TIME SPECIFIED IN TDEC
|
||||
INTSTALL
|
||||
BON SET
|
||||
P21FLAG
|
||||
P21CONT # ON...RECYCLE USING BASE VECTOR
|
||||
VINTFLAG # OFF..1ST PASS CALC BASE VECTOR
|
||||
SLOAD SR1
|
||||
OPTION2
|
||||
BHIZ CLEAR
|
||||
+2 # ZERO..THIS VEHICLE (CM)
|
||||
VINTFLAG # ONE...OTHER VEHICLE(LM)
|
||||
CLEAR CLEAR
|
||||
DIM0FLAG
|
||||
INTYPFLG # PRECISION
|
||||
CALL
|
||||
INTEGRV # CALCULATE
|
||||
GOTO # .AND
|
||||
P21VSAVE # ..SAVE BASE VECTOR
|
||||
P21CONT VLOAD # RECYCLE..INTEG FROM BASE VECTOR
|
||||
P21BASER
|
||||
# Page 458
|
||||
STOVL RCV # ..POS
|
||||
P21BASEV
|
||||
STODL VCV # ..VEL
|
||||
P21TIME
|
||||
STORE TET # ..TIME
|
||||
CLEAR CLEAR
|
||||
DIM0FLAG
|
||||
MOONFLAG
|
||||
SLOAD BZE
|
||||
P21ORIG
|
||||
+3 # ZERO = EARTH
|
||||
SET # ...2 = MOON
|
||||
MOONFLAG
|
||||
CALL
|
||||
INTEGRVS
|
||||
P21VSAVE DLOAD # SAVE CURRENT BASE VECTOR
|
||||
TAT
|
||||
STOVL P21TIME # ..TIME
|
||||
RATT1
|
||||
STOVL P21BASER # ..POS B-29 OR B-27
|
||||
VATT1
|
||||
STORE P21BASEV # ..VEL B-7 OR B-5
|
||||
ABVAL SL*
|
||||
0,2
|
||||
STOVL P21VEL # /VEL/ FOR N73 DSP
|
||||
RATT
|
||||
UNIT DOT
|
||||
VATT # U(R).(V)
|
||||
DDV ASIN # U(R).U(V)
|
||||
P21VEL
|
||||
STORE P21GAM # SIN-1 U(R).U(V), -90 TO +90
|
||||
SXA,2 SET
|
||||
P21ORIG # 0 = EARTH 2 = MOON
|
||||
P21FLAG
|
||||
P21DSP CLEAR SLOAD # GENERATE DISPLAY DATA
|
||||
LUNAFLAG
|
||||
X2
|
||||
BZE SET
|
||||
+2 # 0 = EARTH
|
||||
LUNAFLAG
|
||||
VLOAD
|
||||
RATT
|
||||
STODL ALPHAV
|
||||
TAT
|
||||
CLEAR CALL
|
||||
ERADFLAG
|
||||
LAT-LONG
|
||||
DMP # MPAC = ALT, METERS B-29
|
||||
K.01
|
||||
STORE P21ALT # ALT/100 FOR N73 DSP
|
||||
# Page 459
|
||||
EXIT
|
||||
CAF V06N43 # DISPLAY LAT,LONG,ALT
|
||||
TC BANKCALL # LAT,LONG = REVS B0 BOTH EARTH/MOON
|
||||
CADR GOFLASH # ALT = METERS B-29 BOTH EARTH/MOON
|
||||
TC GOTOPOOH # TERM
|
||||
TC GOTOPOOH
|
||||
TC INTPRET # V32E RECYCLE
|
||||
DLOAD DAD
|
||||
P21TIME
|
||||
600SEC # 600 SECONDS OR 10 MIN
|
||||
STORE DSPTEM1
|
||||
RTB
|
||||
P21PROG1
|
||||
600SEC 2DEC 60000 # 10 MIN
|
||||
|
||||
P21ONENN OCT 00001 # NEEDED TO DETERMINE VEHICLE
|
||||
OCT 00000 # TO BE INTEGRATED
|
||||
V06N43 VN 00643
|
||||
V6N34 VN 00634
|
||||
K.01 2DEC .01
|
||||
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,368 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: IMU_COMPENSATION_PACKAGE.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 297-306
|
||||
# Mod history: 2009-05-08 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images/
|
||||
# 2009-05-21 RSB In IRIGZ, PRIO17 corrected to PRIO21.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 297
|
||||
BANK 7
|
||||
SETLOC IMUCOMP
|
||||
BANK
|
||||
EBANK= NBDX
|
||||
|
||||
COUNT 06/ICOMP
|
||||
|
||||
1/PIPA CAF LGCOMP # SAVE EBANK OF CALLING PROGRAM
|
||||
XCH EBANK
|
||||
TS MODE
|
||||
|
||||
CCS GCOMPSW # BYPASS IF GCOMPSW NEGATIVE
|
||||
TCF +3
|
||||
TCF +2
|
||||
TCF IRIG1 # RETURN
|
||||
|
||||
INHINT # ASSURE COMPLETE COMPENSATION OF DELV'S
|
||||
# FOR DOWNLINK.
|
||||
1/PIPA1 CAF FOUR # PIPAZ, PIPAY, PIPAX
|
||||
TS BUF +2
|
||||
|
||||
INDEX BUF +2
|
||||
CA PIPASCF # (P.P.M.) X 2(-9)
|
||||
EXTEND
|
||||
INDEX BUF +2
|
||||
MP DELVX # (PP) X 2(+14) NOW (PIPA PULSES) X 2(+5)
|
||||
TS Q # SAVE MAJOR PART
|
||||
|
||||
CA L # MINOR PART
|
||||
EXTEND
|
||||
MP BIT6 # SCALE 2(+9) SHIFT RIGHT 9
|
||||
INDEX BUF +2
|
||||
TS DELVX +1 # FRACTIONAL PIPA PULSES SCALED 2(+14)
|
||||
|
||||
CA Q # MAJOR PART
|
||||
EXTEND
|
||||
MP BIT6 # SCALE 2(+9) SHIFT RIGHT 9
|
||||
INDEX BUF +2
|
||||
DAS DELVX # (PIPAI) + (PIPAI)(SFE)
|
||||
|
||||
INDEX BUF +2
|
||||
CS PIPABIAS # (PIPA PULSES)/(CS) X 2(-8) *
|
||||
EXTEND
|
||||
MP 1/PIPADT # (CS) X 2(+8) NOW (PIPA PULSES) X 2(+0) *
|
||||
EXTEND
|
||||
MP BIT1 # SCALE 2(+14) SHIFT RIGHT 14 *
|
||||
INDEX BUF +2
|
||||
DAS DELVX # (PIPAI) + (PIPAI)(SFE) - (BIAS)(DELTAT)
|
||||
|
||||
CCS BUF +2 # PIPAZ, PIPAY, PIPAX
|
||||
# Page 298
|
||||
AD NEG1
|
||||
TCF 1/PIPA1 +1
|
||||
NOOP # LESS THAN ZERO IMPOSSIBLE.
|
||||
RELINT
|
||||
# Page 299
|
||||
|
||||
IRIGCOMP TS GCOMPSW # INDICATE COMMANDS 2 PULSES OR LESS.
|
||||
TS BUF # INDEX COUNTER - IRIGX, IRIGY, IRIGZ.
|
||||
|
||||
IRIGX EXTEND
|
||||
DCS DELVX # (PIPA PULSES) X 2(+14)
|
||||
DXCH MPAC
|
||||
CA ADIAX # (GYRO PULSES)/(PIPA PULSE) X 2(-3) *
|
||||
TC GCOMPSUB # -(ADIAX)(PIPAX) (GYRO PULSES) X 2(+14)
|
||||
|
||||
EXTEND #
|
||||
DCS DELVY # (PIPA PULSES) X 2(+14)
|
||||
DXCH MPAC #
|
||||
CS ADSRAX # (GYRO PULSES)/(PIPA PULSE) X 2(-3) *
|
||||
TC GCOMPSUB # +(ADSRAX)(PIPAY) (GYRO PULSES) X 2(+14)
|
||||
|
||||
# EXTEND # ***
|
||||
# DCS DELVY # *** (PIPA PULSES) X 2(+14)
|
||||
# DXCH MPAC # ***
|
||||
# CA ADOAX # *** (GYRO PULSES)/(PIPA PULSE) X 2(-3) *
|
||||
# TC GCOMPSUB # *** -(ADOAX)(PIPAZ) (GYRO PULSES) X 2(+14)
|
||||
|
||||
CS NBDX # (GYRO PULSES)/(CS) X 2(-5)
|
||||
TC DRIFTSUB # -(NBDX)(DELTAT) (GYRO PULSES) X 2(+14)
|
||||
|
||||
IRIGY EXTEND
|
||||
DCS DELVY # (PIPA PULSES) X 2(+14)
|
||||
DXCH MPAC
|
||||
CA ADIAY # (GYRO PULSES)/(PIPA PULSE) X 2(-3) *
|
||||
TC GCOMPSUB # -(ADIAY)(PIPAY) (GYRO PULSES) X 2(+14)
|
||||
|
||||
EXTEND
|
||||
DCS DELVZ # (PIPA PULSES) X 2(+14)
|
||||
DXCH MPAC
|
||||
CS ADSRAY # (GYRO PULSES)/(PIPA PULSE) X 2(-3) *
|
||||
TC GCOMPSUB # +(ADSRAY)(PIPAZ) (GYRO PULSES) X 2(+14)
|
||||
|
||||
# EXTEND # ***
|
||||
# DCS DELVX # *** (PIPA PULSES) X 2(+14)
|
||||
# DXCH MPAC # ***
|
||||
# CA ADOAY # *** (GYRO PULSES)/(PIPA PULSE) X 2(-3) *
|
||||
# TC GCOMPSUB # *** -(ADOAY)(PIPAZ) (GYRO PULSES) X 2(+14)
|
||||
|
||||
CS NBDY # (GYRO PULSES)/(CS) X 2(-5)
|
||||
TC DRIFTSUB # -(NBDY)(DELTAT) (GYRO PULSES) X 2(+14)
|
||||
|
||||
IRIGZ EXTEND
|
||||
DCS DELVY # (PIPA PULSES) X 2(+14)
|
||||
DXCH MPAC
|
||||
CA ADSRAZ # (GYRO PULSES)/(PIPA PULSE) X 2(-3) *
|
||||
# Page 300
|
||||
TC GCOMPSUB # -(ADSRAZ)(PIPAY) (GYRO PULSES) X 2(+14)
|
||||
|
||||
EXTEND
|
||||
DCS DELVZ # (PIPA PULSES) X 2(+14)
|
||||
DXCH MPAC
|
||||
CA ADIAZ # (GYRO PULSES)/(PIPA PULSE) X 2(-3) *
|
||||
TC GCOMPSUB # -(ADIAZ)(PIPAZ) (GYRO PULSES) X 2(+14)
|
||||
|
||||
# EXTEND # ***
|
||||
# DCS DELVX # *** (PIPA PULSE) X 2(+14)
|
||||
# DXCH MPAC # ***
|
||||
# CS ADOAZ # *** (GYRO PULSES)/(PIPA PULSE) X 2(-3) *
|
||||
# TC GCOMPSUB # *** +(ADOAZ)(PIPAX) (GYRO PULSES) X 2(+14)
|
||||
|
||||
CA NBDZ # (GYRO PULSES)/(CS) X 2(-5)
|
||||
TC DRIFTSUB # +(NBDZ)(DELTAT) (GYRO PULSES) X 2(+14)
|
||||
|
||||
# Page 301
|
||||
CCS GCOMPSW # ARE GYRO COMMANDS GREATER THAN 2 PULSES
|
||||
TCF +2 # YES
|
||||
TCF IRIG1 # NO
|
||||
|
||||
CAF PRIO21 # HIGHER THAN SERVICER-LESS THAN PRELAUNCH
|
||||
TC NOVAC
|
||||
EBANK= NBDX
|
||||
2CADR 1/GYRO
|
||||
|
||||
RELINT
|
||||
IRIG1 CA MODE # SET EBANK FOR RETURN
|
||||
TS EBANK
|
||||
TCF SWRETURN
|
||||
|
||||
GCOMPSUB XCH MPAC # ADIA OR ADSRA COEFFICIENT ARRIVES IN A
|
||||
EXTEND # C(MPAC) = (PIPA PULSES) X 2(+14)
|
||||
MP MPAC # (GYRO PULSES)/(PIPA PULSE) X 2(-3) *
|
||||
DXCH VBUF # NOW = (GYRO PULSES) X 2(+11) *
|
||||
|
||||
CA MPAC +1 # MINOR PART OF PIPA PULSES
|
||||
EXTEND
|
||||
MP MPAC # ADIA OR ADSRA
|
||||
TS L
|
||||
CAF ZERO
|
||||
DAS VBUF # NOW = (GYRO PULSES) X 2(+11) *
|
||||
|
||||
CA VBUF # PARTIAL RESULT - MAJOR
|
||||
EXTEND
|
||||
MP BIT12 # SCALE 2(+3) SHIFT RIGHT 3 *
|
||||
INDEX BUF # RESULT = (GYRO PULSES) X 2(+14)
|
||||
DAS GCOMP # HI(ADIA)(PIPAI) OR HI(ADSRA)(PIPAI)
|
||||
|
||||
CA VBUF +1 # PARTIAL RESULT - MINOR
|
||||
EXTEND
|
||||
MP BIT12 # SCALE 2(+3) SHIFT RIGHT 3 *
|
||||
TS L
|
||||
CAF ZERO
|
||||
INDEX BUF # RESULT = (GYRO PULSES) X 2(+14)
|
||||
DAS GCOMP # (ADIA)(PIPAI) OR (ADSRA)(PIPAI)
|
||||
|
||||
TC Q
|
||||
|
||||
# Page 302
|
||||
DRIFTSUB EXTEND
|
||||
QXCH BUF +1
|
||||
|
||||
EXTEND # C(A) = NBD (GYRO PULSES)/(CS) X 2(-5)
|
||||
MP 1/PIPADT # (CS) X 2(+8) NO (GYRO PULSES) X 2(+3)
|
||||
LXCH MPAC +1 # SAVE FOR FRACTIONAL COMPENSATION
|
||||
EXTEND
|
||||
MP BIT4 # SCALE 2(+11) SHIFT RIGHT 11
|
||||
INDEX BUF
|
||||
DAS GCOMP # HI(NBD)(DELTAT) (GYRO PULSES) X 2(+14)
|
||||
|
||||
CA MPAC +1 # NOW MINOR PART
|
||||
EXTEND
|
||||
MP BIT4 # SCALE 2(+11) SHIFT RIGHT 11
|
||||
TS L
|
||||
CAF ZERO
|
||||
INDEX BUF # ADD IN FRACTIONAL COMPENSATION
|
||||
DAS GCOMP # (NBD)(DELTAT) (GYRO PULSES) X 2(+14)
|
||||
|
||||
DRFTSUB2 CAF TWO # PIPAX, PIPAY, PIPAZ
|
||||
AD BUF
|
||||
XCH BUF
|
||||
INDEX A
|
||||
CCS GCOMP # ARE GYRO COMMANDS 1 PULSE OR GREATER
|
||||
TCF +2 # YES
|
||||
TC BUF +1 # NO
|
||||
|
||||
MASK NEGONE
|
||||
CCS A # ARE GYRO COMMANDS GREATER THAN 2 PULSES
|
||||
TS GCOMPSW # YES - SET GCOMPSW POSITIVE
|
||||
TC BUF +1 # NO
|
||||
|
||||
# Page 303
|
||||
1/GYRO CAF FOUR # PIPAZ, PIPAY, PIPAX
|
||||
TS BUF
|
||||
|
||||
INDEX BUF # SCALE GYRO COMMANDS FOR IMUPULSE
|
||||
CA GCOMP +1 # FRACTIONAL PULSES
|
||||
EXTEND
|
||||
MP BIT8 # SHIFT RIGHT 7
|
||||
INDEX BUF
|
||||
TS GCOMP +1 # FRACTIONAL PULSES SCALED
|
||||
|
||||
CAF ZERO # SET GCOMP = 0 FOR DAS INSTRUCTION
|
||||
INDEX BUF
|
||||
XCH GCOMP # GYRO PULSES
|
||||
EXTEND
|
||||
MP BIT8 # SHIFT RIGHT 7
|
||||
INDEX BUF
|
||||
DAS GCOMP # ADD THESE TO FRACTIONAL PULSES ABOVE
|
||||
|
||||
CCS BUF # PIPAZ, PIPAY, PIPAX
|
||||
AD NEG1
|
||||
TCF 1/GYRO +1
|
||||
LGCOMP ECADR GCOMP # LESS THAN ZERO IMPOSSIBLE
|
||||
|
||||
CAF LGCOMP
|
||||
TC BANKCALL
|
||||
CADR IMUPULSE # CALL GYRO TORQUING ROUTINE
|
||||
TC BANKCALL
|
||||
CADR IMUSTALL # WAIT FOR PULSES TO GET OUT
|
||||
TCF ENDOFJOB # TEMPORARY
|
||||
|
||||
GCOMP1 CAF FOUR # PIPAZ, PIPAY, PIPAX
|
||||
TS BUF
|
||||
|
||||
INDEX BUF # RESCALE
|
||||
CA GCOMP +1
|
||||
EXTEND
|
||||
MP BIT8 # SHIFT MINOR PART LEFT 7 - MAJOR PART = 0
|
||||
INDEX BUF
|
||||
LXCH GCOMP +1 # BITS 8-14 OF MINOR PART WERE = 0
|
||||
|
||||
CCS BUF # PIPAZ, PIPAY, PIPAX
|
||||
AD NEG1
|
||||
TCF GCOMP1 +1
|
||||
V06N30S VN 0630
|
||||
TCF ENDOFJOB
|
||||
|
||||
# Page 304
|
||||
NBDONLY CCS GCOMPSW # BYPASS IF GCOMPSW NEGATIVE
|
||||
TCF +3
|
||||
TCF +2
|
||||
TCF ENDOFJOB
|
||||
|
||||
INHINT
|
||||
CCS FLAGWRD2 # PREREAD T3RUPT MAY COINCIDE
|
||||
TCF ENDOFJOB
|
||||
TCF ENDOFJOB
|
||||
TCF +1
|
||||
|
||||
CA TIME1 # (CS) X 2(+14)
|
||||
XCH 1/PIPADT # PREVIOUS TIME
|
||||
RELINT
|
||||
COM
|
||||
AD 1/PIPADT
|
||||
NBD2 CCS A # CALCULATE ELAPSED TIME
|
||||
AD ONE # NO TIME1 OVERFLOW
|
||||
TCF NBD3 # RESTORE TIME DIFFERENCE AND JUMP
|
||||
TCF +2 # TIME1 OVERFLOW
|
||||
TCF ENDOFJOB # IF ELAPSED TIME = 0 (DIFFERENCE = -0)
|
||||
|
||||
COM # CALCULATE ABSOLUTE DIFFERENCE
|
||||
AD POSMAX
|
||||
|
||||
NBD3 EXTEND # C(A) = DELTAT (CS) X 2(+14)
|
||||
MP BIT10 # SHIFT RIGHT 5
|
||||
DXCH VBUF
|
||||
EXTEND
|
||||
DCA VBUF
|
||||
DXCH MPAC # DELTAT NOW SCALED (CS) X 2(+19)
|
||||
|
||||
CAF ZERO
|
||||
TS GCOMPSW # INDICATE COMMANDS 2 PULSES OR LESS
|
||||
TS BUF # PIPAX, PIPAY, PIPAZ
|
||||
|
||||
CS NBDX # (GYRO PULSES)/(CS) X 2(-5)
|
||||
TC FBIASSUB # -(NBOX)(DELTAT) (GYRO PULSES) X 2(+14)
|
||||
|
||||
EXTEND
|
||||
DCS VBUF
|
||||
DXCH MPAC # DELTAT SCALED (CS) X 2(+19)
|
||||
CA NBDY # (GYRO PULSES)/(CS) X 2(-5)
|
||||
TC FBIASSUB # -(NBDY)(DELTAT) (GYRO PULSES) X 2(+14)
|
||||
|
||||
EXTEND
|
||||
DCS VBUF
|
||||
DXCH MPAC # DELTAT SCALED (CS) X 2(+19)
|
||||
CS NBDZ # (GYRO PULSES)/(CS) X 2(-5)
|
||||
TC FBIASSUB # +(NBDZ)(DELTAT) (GYRO PULSES) X 2(+14)
|
||||
# Page 305
|
||||
CCS GCOMPSW # ARE GYRO COMMANDS GREATER THAN 2 PULSES
|
||||
TCF 1/GYRO # YES
|
||||
TCF ENDOFJOB # NO
|
||||
|
||||
# Page 306
|
||||
FBIASSUB XCH Q
|
||||
TS BUF +1
|
||||
|
||||
CA Q # NBD SCALED (GYRO PULSES)/(CS) X 2(-5)
|
||||
EXTEND
|
||||
MP MPAC # DELTAT SCALED (CS) X 2(+19)
|
||||
INDEX BUF
|
||||
DAS GCOMP # HI(NBD)(DELTAT) (GYRO PULSES) X 2(+14)
|
||||
|
||||
CA Q # NO FRACTIONAL PART
|
||||
EXTEND
|
||||
MP MPAC +1
|
||||
TS L
|
||||
CAF ZERO
|
||||
INDEX BUF
|
||||
DAS GCOMP # (NBD)(DELTAT) (GYRO PULSES) X 2(+14)
|
||||
|
||||
TCF DRFTSUB2 # CHECK MAGNITUDE OF COMPENSATION
|
||||
|
||||
LASTBIAS TC BANKCALL
|
||||
CADR PIPUSE
|
||||
|
||||
CCS GCOMPSW # BYPASS IF GCOMPSW NEGATIVE
|
||||
TCF +3
|
||||
TCF +2
|
||||
TCF ENDOFJOB
|
||||
|
||||
CAF PRIO31 # 2 SECONDS SCALED (CS) X 2(+8)
|
||||
XCH 1/PIPADT
|
||||
COM
|
||||
AD PIPTIME1 +1 # TIME AT PIPA1 =0
|
||||
TCF NBD2
|
||||
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,304 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: INFLIGHT_ALIGNMENT_ROUTINES.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1355-1364
|
||||
# Mod history: 2009-05-14 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1355
|
||||
BANK 22
|
||||
SETLOC INFLIGHT
|
||||
BANK
|
||||
|
||||
EBANK= XSM
|
||||
|
||||
# CALCGTA COMPUTES THE GYRO TORQUE ANGLES REQUIRED TO BRING THE STABLE MEMBER INTO THE DESIRED ORIENTATION.
|
||||
#
|
||||
# THE INPUT IS THE DESIRED STABLE MEMBER COORDINATES REFERRED TO PRESENT STABLE MEMBER COORDINATES. THE THREE
|
||||
# HALF-UNIT VECTORS ARE STORED AT XDC, YDC, AND ZDC.
|
||||
#
|
||||
# THE OUTPUTS ARE THE THREE GYRO TORQUING ANGLES TO BE APPLIED TO THE Y, Z, AND X GYROS AND ARE STORED DP AT IGC,
|
||||
# MGC, AND OGC RESPECTIVELY.
|
||||
|
||||
COUNT 23/INFLT
|
||||
|
||||
CALCGTA ITA DLOAD # PUSHDOWN 00-03,16D-27D,34D-37D
|
||||
S2 # XDC = (XD1 XD2 XD3)
|
||||
XDC # YDC = (YD1 YD2 YD3)
|
||||
PDDL PDDL # ZDC = (ZD1 ZD2 ZD3)
|
||||
HI6ZEROS
|
||||
XDC +4
|
||||
DCOMP VDEF
|
||||
UNIT
|
||||
STODL ZPRIME # ZP = UNIT(-XD3 0 XD1) = (ZP1 ZP2 ZP3)
|
||||
ZPRIME
|
||||
|
||||
SR1
|
||||
STODL SINTH # SIN(IGC) = ZP1
|
||||
ZPRIME +4
|
||||
SR1
|
||||
STCALL COSTH # COS(IGC) = ZP3
|
||||
ARCTRIG
|
||||
|
||||
STODL IGC # Y GYRO TORQUING ANGLE FRACTION OF REV.
|
||||
XDC +2
|
||||
SR1
|
||||
STODL SINTH # SIN(MGC) = XD2
|
||||
ZPRIME
|
||||
|
||||
DMP PDDL
|
||||
XDC +4 # PD00 = (ZP1)(XD3)
|
||||
ZPRIME +4
|
||||
|
||||
DMP DSU
|
||||
XDC # MPAC = (ZP3)(XD1)
|
||||
STADR
|
||||
STCALL COSTH # COS(MGC) = MPAC - PD00
|
||||
ARCTRIG
|
||||
# Page 1356
|
||||
STOVL MGC # Z GYRO TORQUING ANGLE FRACTION OF REV.
|
||||
ZPRIME
|
||||
DOT
|
||||
ZDC
|
||||
STOVL COSTH # COS(OGC) = ZP . ZDC
|
||||
ZPRIME
|
||||
DOT
|
||||
YDC
|
||||
STCALL SINTH # SIN(OGC) = ZP . YDC
|
||||
ARCTRIG
|
||||
|
||||
STCALL OGC # X GYRO TORQUING ANGLE FRACTION OF REV.
|
||||
S2
|
||||
|
||||
# Page 1357
|
||||
# ARCTRIG COMPUTES AN ANGLE GIVEN THE SINE AND COSINE OF THIS ANGLE.
|
||||
#
|
||||
# THE INPUTS ARE SIN/4 AND COS/4 STORED DP AT SINTH AND COSTH.
|
||||
#
|
||||
# THE OUTPUT IS THE CALCULATED ANGLE BETWEEN +.5 AND -.5 REVOLUTIONS AND STORED AT THETA. THE OUTPUT IS ALSO
|
||||
# AVAILABLE AT MPAC.
|
||||
|
||||
ARCTRIG DLOAD ABS # PUSHDOWN 16D-21D
|
||||
SINTH
|
||||
DSU BMN
|
||||
QTSN45 # ABS(SIN/4) - SIN(45)/4
|
||||
TRIG1 # IF (-45,45) OR (135,-135)
|
||||
|
||||
DLOAD SL1 # (45,135) OR (-135,-45)
|
||||
COSTH
|
||||
ACOS SIGN
|
||||
SINTH
|
||||
STORE THETA # X = ARCCOS(COS) WITH SIGN(SIN)
|
||||
RVQ
|
||||
|
||||
TRIG1 DLOAD SL1 # (-45,45) OR (135,-135)
|
||||
SINTH
|
||||
ASIN
|
||||
STODL THETA # X = ARCSIN(SIN) WITH SIGN(SIN)
|
||||
COSTH
|
||||
BMN
|
||||
TRIG2 # IF (135,-135)
|
||||
|
||||
DLOAD RVQ
|
||||
THETA # X = ARCSIN(SIN) (-45,45)
|
||||
|
||||
TRIG2 DLOAD SIGN # (135,-135)
|
||||
HIDPHALF
|
||||
SINTH
|
||||
DSU
|
||||
THETA
|
||||
STORE THETA # X = .5 WITH SIGN(SIN) - ARCSIN(SIN)
|
||||
RVQ # (+) - (+) OR (-) - (-)
|
||||
|
||||
# Page 1358
|
||||
# SMNB, NBSM, AND AXISROT, WHICH USED TO APPEAR HERE, HAVE BEEN
|
||||
# COMBINED IN A ROUTINE CALLED AX*SR*T, WHICH APPEARS AMONG THE POWERED
|
||||
# FLIGHT SUBROUTINES.
|
||||
|
||||
# Page 1359
|
||||
# CALCGA COMPUTES THE CDU DRIVING ANGLES REQUIRED TO BRING THE STABLE MEMBER INTO THE DESIRED ORIENTATION.
|
||||
#
|
||||
# THE INPUTS ARE 1) THE NAVIGATION BASE COORDINATES REFERRED TO ANY COORDINATE SYSTEM. THE THREE HALF-UNIT
|
||||
# VECTORS ARE STORED AT XNB, YNB, AND ZNB. 2) THE DESIRED STABLE MEMBER COORDINATES REFERRED TO THE SAME
|
||||
# COORDINATE SYSTEM ARE STORED AT XSM, YSM, AND ZSM.
|
||||
#
|
||||
# THE OUTPUTS ARE THE THREE CDU DRIVING ANGLES AND ARE STORED SP AT THETAD, THETAD +1, AND THETAD +2.
|
||||
|
||||
CALCGA SETPD # PUSHDOWN 00-05, 16D-21D, 34D-37D
|
||||
0
|
||||
VLOAD VXV
|
||||
XNB # XNB = OGA (OUTER GIMBAL AXIS)
|
||||
YSM # YSM = IGA (INNER GIMBAL AXIS)
|
||||
UNIT PUSH # PD0 = UNIT(OGA X IGA) = MGA
|
||||
|
||||
DOT ITA
|
||||
ZNB
|
||||
S2
|
||||
STOVL COSTH # COS(OG) = MGA . ZNB
|
||||
0
|
||||
DOT
|
||||
YNB
|
||||
STCALL SINTH # SIN(OG) = MGA . YNB
|
||||
ARCTRIG
|
||||
STOVL OGC
|
||||
0
|
||||
|
||||
VXV DOT # PROVISION FOR MG ANGLE OF 90 DEGREES
|
||||
XNB
|
||||
YSM
|
||||
SL1
|
||||
STOVL COSTH # COS(MG) = IGA . (MGA X OGA)
|
||||
YSM
|
||||
DOT
|
||||
XNB
|
||||
STCALL SINTH # SIN(MG) = IGA . OGA
|
||||
ARCTRIG
|
||||
STORE MGC
|
||||
|
||||
ABS DSU
|
||||
.166...
|
||||
BPL
|
||||
GIMLOCK1 # IF ANGLE GREATER THAN 60 DEGREES
|
||||
|
||||
CALCGA1 VLOAD DOT
|
||||
ZSM
|
||||
0
|
||||
STOVL COSTH # COS(IG) = ZSM . MGA
|
||||
XSM
|
||||
# Page 1360
|
||||
DOT STADR
|
||||
STCALL SINTH # SIN(IG) = XSM . MGA
|
||||
ARCTRIG
|
||||
|
||||
STOVL IGC
|
||||
OGC
|
||||
RTB BONCLR
|
||||
V1STO2S
|
||||
CPHIFLAG
|
||||
S2
|
||||
STCALL THETAD
|
||||
S2
|
||||
|
||||
GIMLOCK1 EXIT
|
||||
TC ALARM
|
||||
OCT 00401
|
||||
TC UPFLAG # GIMBAL LOCK HAS OCCURRED
|
||||
ADRES GLOKFAIL
|
||||
|
||||
TC INTPRET
|
||||
GOTO
|
||||
CALCGA1
|
||||
|
||||
# Page 1361
|
||||
# AXISGEN COMPUTES THE COORDINATES OF ONE COORDINATE SYSTEM REFERRED TO ANOTHER COORDINATE SYSTEM.
|
||||
#
|
||||
# THE INPUTS ARE 1) THE STAR1 VECTOR REFERRED TO COORDINATE SYSTEM A STORED AT STARAD. 2) THE STAR2 VECTOR
|
||||
# REFERRED TO COORDINATE SYSTEM A STORED AT STARAD +6. 3) THE STAR1 VECTOR REFERRED TO COORDINATE SYSTEM B STORED
|
||||
# AT LOCATION 6 OF THE VAC AREA. 4) THE STAR2 VECTOR REFERRED TO COORDINATE SYSTEM B STORED AT LOCATION 12D OF
|
||||
# THE VAC AREA.
|
||||
#
|
||||
# THE OUTPUT DEFINES COORDINATE SYSTEM A REFERRED TO COORDINATE SYSTEM B. THE THREE HALF-UNIT VECTORS ARE STORED
|
||||
# AT LOCATIONS XDC, XDC +6, XDC +12D, AND STARAD, STARAD +6, STARAD +12D.
|
||||
|
||||
AXISGEN AXT,1 SSP # PUSHDOWN 00-30D, 34D-37D
|
||||
STARAD +6
|
||||
S1
|
||||
STARAD -6
|
||||
|
||||
SETPD
|
||||
0
|
||||
AXISGEN1 VLOAD* VXV* # 06D UA = S1
|
||||
STARAD +12D,1 # STARAD +00D UB = S1
|
||||
STARAD +18D,1
|
||||
UNIT # 12D VA = UNIT(S1 X S2)
|
||||
STORE STARAD +18D,1 # STARAD +06D VB = UNIT(S1 X S2)
|
||||
VLOAD*
|
||||
STARAD +12D,1
|
||||
|
||||
VXV* VSL1
|
||||
STARAD +18D,1 # 18D WA = UA X VA
|
||||
STORE STARAD +24D,1 # STARAD +12D WB = UB X VB
|
||||
|
||||
TIX,1
|
||||
AXISGEN1
|
||||
|
||||
AXC,1 SXA,1
|
||||
6
|
||||
30D
|
||||
|
||||
AXT,1 SSP
|
||||
18D
|
||||
S1
|
||||
6
|
||||
|
||||
AXT,2 SSP
|
||||
6
|
||||
S2
|
||||
2
|
||||
|
||||
AXISGEN2 XCHX,1 VLOAD*
|
||||
30D # X1=-6 X2=+6 X1=-6 X2=+4 X1=-6 X2=+2
|
||||
0,1
|
||||
|
||||
# Page 1362
|
||||
VXSC* PDVL* # J=(UA)(UB1) J=(UA)(UB2) J=(UA)(UB3)
|
||||
STARAD +6,2
|
||||
6,1
|
||||
VXSC*
|
||||
STARAD +12D,2
|
||||
STOVL* 24D # K=(VA)(VB1) J=(VA)(VB2) J=(VA)(VB3)
|
||||
12D,1
|
||||
|
||||
VXSC* VAD
|
||||
STARAD +18D,2 # L=(WA)(WB1) J=(WA)(WB2) J=(WA)(WB3)
|
||||
VAD VSL1
|
||||
24D
|
||||
XCHX,1 UNIT
|
||||
30D
|
||||
STORE XDC +18D,1 # XDC = L+J+K YDC = L+J+K ZDC = L+J+K
|
||||
|
||||
TIX,1
|
||||
AXISGEN3
|
||||
|
||||
AXISGEN3 TIX,2
|
||||
AXISGEN2
|
||||
|
||||
VLOAD
|
||||
XDC
|
||||
STOVL STARAD
|
||||
YDC
|
||||
STOVL STARAD +6
|
||||
ZDC
|
||||
STORE STARAD +12D
|
||||
|
||||
RVQ
|
||||
|
||||
# Page 1363
|
||||
QTSN45 2DEC .1768
|
||||
.166... 2DEC .1666666667
|
||||
|
||||
# Page 1364 (empty page)
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,183 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: INTER-BANK_COMMUNICATION.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055. It
|
||||
# is part of the source code for the Command Module's
|
||||
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 1103-1106
|
||||
# Contact: Ron Burkey <info@sandroid.org>
|
||||
# Website: http://www.ibiblio.org/apollo.
|
||||
# Mod history: 2009-05-08 RSB Adapted from Colossus249/ file of same name
|
||||
# and page images. Corrected various typos
|
||||
# in the transcription of program comments,
|
||||
# and these should be back-ported to
|
||||
# Colossus249.
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further
|
||||
# information. Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 1103
|
||||
# THE FOLLOWING ROUTINE CAN BE USED TO CALL A SUBROUTINE IN ANOTHER BANK. IN THE BANKCALL VERSION, THE
|
||||
# CADR OF THE SUBROUTINE IMMEDIATELY FOLLOWS THE TC BANKCALL INSTRUCTION, WITH C(A) AND C(L) PRESERVED.
|
||||
|
||||
BLOCK 02
|
||||
COUNT 02/BANK
|
||||
|
||||
BANKCALL DXCH BUF2 # SAVE INCOMING A,L.
|
||||
INDEX Q # PICK UP CADR.
|
||||
CA 0
|
||||
INCR Q # SO WE RETURN TO THE LOC. AFTER THE CADR.
|
||||
|
||||
# SWCALL IS IDENTICAL TO BANKCALL, EXCEPT THAT THE CADR ARRIVES IN A.
|
||||
|
||||
SWCALL TS L
|
||||
LXCH FBANK # SWITCH BANKS, SAVING RETURN.
|
||||
MASK LOW10 # GET SUB-ADDRESS OF CADR.
|
||||
XCH Q # A,L NOW CONTAINS DP RETURN.
|
||||
DXCH BUF2 # RESTORING INPUTS IF THIS IS A BANKCALL.
|
||||
INDEX Q
|
||||
TC 10000 # SETTING Q TO SWRETURN
|
||||
|
||||
SWRETURN XCH BUF2 +1 # COMES HERE TO RETURN TO CALLER. C(A,L)
|
||||
XCH FBANK # ARE PRESERVED FOR RETURN.
|
||||
XCH BUF2 +1
|
||||
TC BUF2
|
||||
|
||||
# THE FOLLOWING ROUTINE CAN BE USED AS A UNILATERAL JUMP WITH C(A,L) PRESERVED AND THE CADR IMMEDIATELY
|
||||
# FOLLOWING THE TC POSTJUMP INSTRUCTION.
|
||||
|
||||
POSTJUMP XCH Q # SAVE INCOMING C(A).
|
||||
INDEX A # GET CADR.
|
||||
CA 0
|
||||
|
||||
# BANKJUMP IS THE SAME AS POSTJUMP, EXCEPT THAT THE CADR ARRIVES IN A.
|
||||
|
||||
BANKJUMP TS FBANK
|
||||
MASK LOW10
|
||||
XCH Q # RESTORING INPUT C(A) IF THIS WAS A
|
||||
Q+10000 INDEX Q # POSTJUMP.
|
||||
PRIO12 TCF 10000 # PRIO12 = TCF 10000 = 12000
|
||||
|
||||
# Page 1104
|
||||
# THE FOLLOWING ROUTINE GETS THE RETURN CADR SAVED BY SWCALL OR BANKCALL AND LEAVES IT IN A.
|
||||
|
||||
MAKECADR CAF LOW10
|
||||
MASK BUF2
|
||||
AD BUF2 +1
|
||||
TC Q
|
||||
|
||||
SUPDACAL TS MPTEMP
|
||||
XCH FBANK # SET FBANK FOR DATA.
|
||||
EXTEND
|
||||
ROR SUPERBNK # SAVE FBANK IN BITS 15-11, AND
|
||||
XCH MPTEMP # SUPERBANK IN BITS 7-5.
|
||||
MASK LOW10
|
||||
XCH L # SAVE REL. ADR. IN BANK, FETCH SUPERBITS.
|
||||
INHINT # BECAUSE RUPT DOES NOT SAVE SUPERBANK.
|
||||
EXTEND
|
||||
WRITE SUPERBNK # SET SUPERBANK FOR DATA.
|
||||
INDEX L
|
||||
CA 10000 # PINBALL (FIX MEM DISP) PREVENTS DCA HERE
|
||||
XCH MPTEMP # SAVE 1ST WD, FETCH OLD FBANK AND SBANK.
|
||||
EXTEND
|
||||
WRITE SUPERBNK # RESTORE SUPERBANK.
|
||||
RELINT
|
||||
TS FBANK # RESTORE FBANK.
|
||||
CA MPTEMP # RECOVER FIRST WORD OF DATA.
|
||||
RETURN # 24 WDS. DATACALL 516 MU, SUPDACAL 432 MU
|
||||
|
||||
# Page 1105
|
||||
# THE FOLLOWING ROUTINES ARE IDENTICAL TO BANKCALL AND SWCALL EXCEPT THAT THEY ARE USED IN INTERRUPT.
|
||||
|
||||
IBNKCALL DXCH RUPTREG3 # USES RUPTREG3,4 FOR DP RETURN ADDRESS.
|
||||
INDEX Q
|
||||
# Was CAF --- RSB 2009
|
||||
CA 0
|
||||
INCR Q
|
||||
|
||||
ISWCALL TS L
|
||||
LXCH FBANK
|
||||
MASK LOW10
|
||||
XCH Q
|
||||
DXCH RUPTREG3
|
||||
INDEX Q
|
||||
TC 10000
|
||||
|
||||
ISWRETRN XCH RUPTREG4
|
||||
XCH FBANK
|
||||
XCH RUPTREG4
|
||||
TC RUPTREG3
|
||||
|
||||
# 2. USPRCADR ACCESSES INTERPRETIVE CODING IN OTHER THAN THE USER'S FBANK. THE CALLING SEQUENCE IS AS FOLLOWS:
|
||||
# L TC USPRCADR
|
||||
# L+1 CADR INTPRETX # INTPRETX IS THE INTERPRETIVE CODING
|
||||
# # RETURN IS TO L+2
|
||||
|
||||
USPRCADR TS LOC # SAVE A
|
||||
CA BIT8
|
||||
TS EDOP # EXIT INSTRUCTION TO EDOP
|
||||
CA BBANK
|
||||
TS BANKSET # USER'S BBANK TO BANKSET
|
||||
INDEX Q
|
||||
CA 0
|
||||
TS FBANK # INTERPRETIVE BANK TO FBANK
|
||||
MASK LOW10 # YIELDS INTERPRETIVE RELATIVE ADDRESS
|
||||
XCH Q # INTERPRETIVE ADDRESS TO Q, FETCHING L+1
|
||||
XCH LOC # L+1 TO LOC, RETRIEVING ORIGINAL A
|
||||
TCF Q+10000
|
||||
|
||||
# Page 1106
|
||||
# THERE ARE FOUR POSSIBLE SETTINGS FOR CHANNEL 07. (CHANNEL 07 CONTAINS SUPERBANK SETTING.)
|
||||
#
|
||||
# PSEUDO-FIXED OCTAL PSEUDO
|
||||
# SUPERBANK SETTING S-REG. VALUE BANK NUMBERS ADDRESSES
|
||||
# ---------- ------- ------------ ------------ ------------
|
||||
# SUPERBANK 3 0XX 2000 - 3777 30 - 37 70000 - 107777 (WHERE XX CAN BE ANYTHING AND
|
||||
# WILL USUALLY BE SEEN AS 11)
|
||||
# SUPERBANK 4 100 2000 - 3777 40 - 47 110000 - 127777 (AS FAR AS IT CAN BE SEEN,
|
||||
# ONLY BANKS 40-43 WILL EVER BE
|
||||
# AND ARE PRESENTLY AVAILABLE)
|
||||
# SUPERBANK 5 101 2000 - 3777 50 - 57 130000 - 147777 (PRESENTLY NOT AVAILABLE TO
|
||||
# THE USER)
|
||||
# SUPERBANK 6 110 2000 - 3777 60 - 67 150000 - 167777 (PRESENTLY NOT AVAILABLE TO
|
||||
# THE USER)
|
||||
# *** THIS ROUTINE MAYBE CALLED BY ANY PROGRAM LOCATED IN BANKS 00 - 27. I.E., NO PROGRAM LIVING IN ANY
|
||||
# SUPERBANK SHOULD USE SUPERSW. ***
|
||||
#
|
||||
# SUPERSW MAYBE CALLED IN THIS FASHION:
|
||||
# CAF ABBCON WHERE -- ABBCON BBCON SOMETHIN --
|
||||
# TCR SUPERSW (THE SUPERBNK BITS ARE IN THE BBCON)
|
||||
# ... ...
|
||||
# . .
|
||||
# . .
|
||||
# OR IN THIS FASHION :
|
||||
# CAF SUPERSET WHERE SUPERSET IS ONE OF THE FOUR AVAILABLE
|
||||
# TCR SUPERSW SUPERBANK BIT CONSTANTS:
|
||||
# ... ... SUPER011 OCTAL 60
|
||||
# . . SUPER100 OCTAL 100
|
||||
# . . SUPER101 OCTAL 120
|
||||
# SUPER110 OCTAL 140
|
||||
|
||||
SUPERSW EXTEND
|
||||
WRITE SUPERBNK # WRITE BITS 7-6-5 OF THE ACCUMULATOR INTO
|
||||
# CHANNEL 07
|
||||
TC Q # TC TO INSTRUCTION FOLLOWING
|
||||
# TC SUPERSW
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,82 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: INTERPRETIVE_CONSTANTS.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1205-1206
|
||||
# Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1205
|
||||
SETLOC INTPRET1
|
||||
BANK
|
||||
|
||||
COUNT 23/ICONS
|
||||
|
||||
DP1/4TH 2DEC .25
|
||||
|
||||
UNITZ 2DEC 0
|
||||
|
||||
UNITY 2DEC 0
|
||||
|
||||
UNITX 2DEC .5
|
||||
|
||||
ZEROVECS 2DEC 0
|
||||
|
||||
2DEC 0
|
||||
|
||||
2DEC 0
|
||||
|
||||
DPHALF = UNITX
|
||||
DPPOSMAX OCT 37777
|
||||
OCT 37777
|
||||
|
||||
# Page 1206
|
||||
# INTERPRETIVE CONSTANTS IN THE OTHER HALF-MEMORY
|
||||
|
||||
SETLOC INTPRET2
|
||||
BANK
|
||||
|
||||
COUNT 14/ICONS
|
||||
|
||||
ZUNIT 2DEC 0
|
||||
|
||||
YUNIT 2DEC 0
|
||||
|
||||
XUNIT 2DEC .5
|
||||
|
||||
ZEROVEC 2DEC 0
|
||||
|
||||
2DEC 0
|
||||
|
||||
2DEC 0
|
||||
|
||||
OCT 77777 # -0,-6,-12 MUST REMAIN IN THIS ORDER
|
||||
DEC-6 DEC -6
|
||||
DEC-12 DEC -12
|
||||
LODPMAX 2OCT 3777737777 # THESE TWO CONSTANTS MUST REMAIN
|
||||
|
||||
LODPMAX1 2OCT 3777737777 # ADJACENT AND THE SAME FOR INTEGRATION
|
||||
|
||||
ZERODP = ZEROVEC
|
||||
HALFDP = XUNIT
|
||||
|
|
@ -1,122 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: INTERRUPT_LEAD_INS.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 131-132
|
||||
# Contact: Ron Burkey <info@sandroid.org>,
|
||||
# Fabrizio Bernardini <fabrizio@spacecraft.it>
|
||||
# Website: http://www.ibiblio.org/apollo.
|
||||
# Mod history: 09/05/09 FB Transcription of Batch FB-1 Assignment.
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further
|
||||
# information. Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 131
|
||||
SETLOC 4000
|
||||
|
||||
COUNT 02/RUPTS
|
||||
|
||||
INHINT # GO
|
||||
CAF GOBB
|
||||
XCH BBANK
|
||||
TCF GOPROG
|
||||
|
||||
DXCH ARUPT # T6RUPT
|
||||
EXTEND
|
||||
DCA T6LOC
|
||||
DTCB
|
||||
|
||||
DXCH ARUPT # T5RUPT
|
||||
CS TIME5
|
||||
AD .5SEC
|
||||
TCF T5RUPT
|
||||
|
||||
DXCH ARUPT # T3RUPT
|
||||
CAF T3RPTBB
|
||||
XCH BBANK
|
||||
TCF T3RUPT
|
||||
|
||||
DXCH ARUPT # T4RUPT
|
||||
CAF T4RPTBB
|
||||
XCH BBANK
|
||||
TCF T4RUPT
|
||||
|
||||
DXCH ARUPT # KEYRUPT1
|
||||
CAF KEYRPTBB
|
||||
XCH BBANK
|
||||
TCF KEYRUPT1
|
||||
|
||||
DXCH ARUPT # KEYRUPT2
|
||||
CAF MKRUPTBB
|
||||
XCH BBANK
|
||||
TCF MARKRUPT
|
||||
|
||||
DXCH ARUPT # UPRUPT
|
||||
CAF UPRPTBB
|
||||
XCH BBANK
|
||||
TCF UPRUPT
|
||||
|
||||
DXCH ARUPT # DOWNRUPT
|
||||
CAF DWNRPTBB
|
||||
XCH BBANK
|
||||
TCF DODOWNTM
|
||||
|
||||
DXCH ARUPT # RADAR RUPT
|
||||
# Page 132
|
||||
CAF RDRPTBB
|
||||
XCH BBANK
|
||||
TCF VHFREAD
|
||||
|
||||
DXCH ARUPT # HAND CONTROL RUPT
|
||||
CAF HCRUPTBB
|
||||
XCH BBANK
|
||||
TCF RESUME +3 # NOT USED
|
||||
EBANK= LST1 # RESTART USES E0,E3
|
||||
GOBB BBCON GOPROG
|
||||
|
||||
EBANK= LST1
|
||||
T3RPTBB BBCON T3RUPT
|
||||
|
||||
EBANK= KEYTEMP1
|
||||
KEYRPTBB BBCON KEYRUPT1
|
||||
|
||||
EBANK= MRKBUF1
|
||||
MKRUPTBB BBCON MARKRUPT
|
||||
|
||||
UPRPTBB = KEYRPTBB
|
||||
|
||||
EBANK= DNTMBUFF
|
||||
DWNRPTBB BBCON DODOWNTM
|
||||
|
||||
EBANK= DATATEST
|
||||
RDRPTBB BBCON VHFREAD
|
||||
EBANK= TIME1
|
||||
HCRUPTBB BBCON RESUME # NOT USED
|
||||
EBANK= DSRUPTSW
|
||||
T4RPTBB BBCON T4RUPT
|
||||
EBANK= TIME1
|
||||
T5RPTBB BBCON T5RUPT
|
||||
|
||||
T5RUPT EXTEND
|
||||
BZMF NOQBRSM
|
||||
EXTEND
|
||||
DCA T5LOC
|
||||
DTCB
|
||||
|
||||
|
|
@ -1,920 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: JET_SELECTION_LOGIC.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1039-1062
|
||||
# Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1039
|
||||
BANK 21
|
||||
SETLOC DAPS4
|
||||
BANK
|
||||
|
||||
COUNT 17/DAPJS
|
||||
|
||||
EBANK= KMPAC
|
||||
|
||||
# EXAMINE CHANNEL 31 FOR TRANSLATION COMMANDS
|
||||
|
||||
JETSLECT LXCH BANKRUPT
|
||||
CAF DELTATT3 # = 60 MS RESET TO EXECUTE PHASE1
|
||||
AD T5TIME
|
||||
TS TIME5
|
||||
TCF +3
|
||||
CAF DELATT20 # = 20 MS TO ASSURE A T5RUPT
|
||||
TS TIME5
|
||||
CAF =14MS # RESET T6 TO INITIALIZE THE JET CHANNELS
|
||||
TS TIME6 # IN 14 MS
|
||||
CAF NEGMAX
|
||||
EXTEND
|
||||
WOR CHAN13
|
||||
EXTEND
|
||||
QXCH QRUPT
|
||||
CAF XLNMASK # = 7700 OCT
|
||||
EXTEND # EXAMINE THE TRANSLATION
|
||||
RXOR CHAN31 # HAND CONTROLLER
|
||||
MASK XLNMASK
|
||||
EXTEND
|
||||
BZF NOXLNCMD
|
||||
TS T5TEMP
|
||||
EXTEND
|
||||
MP BIT9
|
||||
MASK THREE
|
||||
TS XNDX1 # AC QUAD X-TRANSLATION INDEX
|
||||
TS XNDX2 # BD QUAD X-TRANSLATION INDEX
|
||||
CA T5TEMP
|
||||
EXTEND # 1 = + XLN
|
||||
MP BIT7 # 2 = - XLN
|
||||
MASK THREE # 3 = NO XLN
|
||||
TS YNDX # Y-TRANSLATION INDEX
|
||||
|
||||
CA T5TEMP
|
||||
EXTEND
|
||||
MP BIT5
|
||||
MASK THREE
|
||||
TS ZNDX # Z-TRANSLATION INDEX
|
||||
|
||||
CA DAPDATR1 # SET ATTKALMN TO PICK UP FILTER GAINS FOR
|
||||
MASK BIT14 # TRANSLATIONS.
|
||||
EXTEND # CHECK DAPDATR1 BIT 14 FOR LEM ATTACHED.
|
||||
# Page 1040
|
||||
BZF NOLEM
|
||||
CS THREE # IF LEM IS ON, SET ATTKALMN = -3
|
||||
TCF +2
|
||||
NOLEM CS TWO # IF LEM IS OFF, SET ATTKALMN = -2.
|
||||
TS ATTKALMN
|
||||
CCS XTRANS # (+, -1, 0)
|
||||
TS XNDX1 # USING BD-X ZERO XNDX1
|
||||
TCF PWORD
|
||||
TS XNDX2 # USING AC-X ZERO XNDX2
|
||||
TCF PWORD
|
||||
XLNMASK OCT 7700
|
||||
|
||||
DELTATT3 DEC 16378 # = 60 MS
|
||||
DELATT20 DEC 16382 # = 20 MS
|
||||
|
||||
NOXLNCMD TS XNDX1 # ZERO ALL REQUESTS FOR TRANSLATION
|
||||
TS XNDX2
|
||||
TS YNDX
|
||||
TS ZNDX
|
||||
|
||||
# PITCH COMMANDS TIMING(NO X-TRANS, NO QUAD FAILS) 32MCT
|
||||
|
||||
PWORD CCS TAU1 # CHECK FOR PITCH COMMANDS
|
||||
CAF ONE
|
||||
TCF +2 # 0 = NO PITCH
|
||||
CAF TWO # +1 = + PITCH
|
||||
TS PINDEX # +2 = - PITCH
|
||||
|
||||
CCS RACFAIL # FLAG FOR REAL AC QUAD FAILURES
|
||||
TCF AFAILP
|
||||
TCF TABPCOM # 0 = NO REAL AC FAILURES
|
||||
TCF CFAILP # + = A QUAD FAILED
|
||||
TCF TABPCOM # - = C QUAD FAILED
|
||||
# IF FAILURES ARE PRESENT IGNORE
|
||||
# X-TRANSLATIONS ON THIS AXIS
|
||||
|
||||
AFAILP CAF NINE # IF FAILURE IS PRESENT 1JET OPERATION
|
||||
TCF TABPCOM +2 # IS ASSUMED. IGNORE X-TRANSLATION
|
||||
CFAILP CAF TWELVE
|
||||
TCF TABPCOM +2
|
||||
|
||||
XLNNDX DEC 0 # INDICES FOR TRANSLATION COMMANDS
|
||||
DEC 3 # FOR USE IN TABLE LOOK UP
|
||||
DEC 6
|
||||
DEC 0
|
||||
|
||||
TWELVE = OCT14
|
||||
# TABLE LOOK UP FOR PITCH COMMANDS WITH AND WITHOUT X-TRANSLATION AND AC QUAD FAILURES PRESENT.
|
||||
# BITS 9, 10 CONTAIN THE NUMBER OF PITCH JETS USED TO PERFORM THE PITCH ROTATION
|
||||
# Page 1041
|
||||
|
||||
TABPCOM INDEX XNDX1
|
||||
CA XLNNDX
|
||||
AD PINDEX
|
||||
INDEX A
|
||||
CA PYTABLE
|
||||
MASK PJETS # =1417 OCT
|
||||
TS PWORD1
|
||||
EXTEND
|
||||
MP BIT7
|
||||
TS NPJETS # = NO. OF PITCH JETS
|
||||
|
||||
# YAW JET COMMANDS TIMING(NO X-TRANS, NO QUAD FAILURES) 32MCT
|
||||
|
||||
YWORD CCS TAU2 # CHECK FOR YAW COMMANDS
|
||||
CAF ONE
|
||||
TCF +2
|
||||
CAF TWO
|
||||
TS YINDEX # YAW ROTATION INDEX
|
||||
|
||||
CCS RBDFAIL # FLAG FOR B OR D QUAD FAILURES
|
||||
TCF BFAILY # 0 = NO BD FAILURE
|
||||
TCF TABYCOM # + = B QUAD FAILED
|
||||
TCF DFAILY # - = D QUAD FAILED
|
||||
TCF TABYCOM
|
||||
|
||||
BFAILY CAF NINE
|
||||
TCF TABYCOM +2
|
||||
DFAILY CAF TWELVE
|
||||
TCF TABYCOM +2
|
||||
|
||||
# Page 1042
|
||||
# TABLE FOR PITCH(YAW) COMMANDS
|
||||
# BITS 4,3,2,1 = PITCH, X-TRANSLATION JETS SELECTED
|
||||
# BITS 10,9 = NO. PITCH JETS USED TO PERFORM ROTATION
|
||||
# BITS 8,7,6,5 = YAW, X-TRANSLATION JETS SELECTED
|
||||
# BITS 12,11 : NO. YAW JETS USED TO PERFORM ROTATION
|
||||
|
||||
# ROT TRANS QUAD BIAS
|
||||
PYTABLE OCT 0 # 0 0 0
|
||||
OCT 5125 # + 0 0
|
||||
OCT 5252 # - 0 0
|
||||
OCT 0231 # 0 + 3
|
||||
OCT 2421 # + + 3
|
||||
OCT 2610 # - + 3
|
||||
OCT 0146 # 0 - 6
|
||||
OCT 2504 # + - 6
|
||||
OCT 2442 # - - 6
|
||||
OCT 0 # 0 A(B) 9
|
||||
OCT 2421 # + A(B) 9
|
||||
OCT 2442 # - A(B) 9
|
||||
OCT 0 # 0 C(D) 12
|
||||
OCT 2504 # + C(D) 12
|
||||
OCT 2610 # - C(D) 12
|
||||
|
||||
# MASKS FOR PITCH AND YAW COMMANDS
|
||||
|
||||
PJETS OCT 1417
|
||||
YJETS OCT 6360
|
||||
|
||||
# TABLE LOOK UP FOR YAW COMMANDS WITH AND WITHOUT X-TRANSLATION AND AC QUAD FAILURES PRESENT
|
||||
# BITS 11, 12 CONTAIN THE NUMBER OF YAW JETS USED TO PERFORM THE YAW ROTATION
|
||||
|
||||
TABYCOM INDEX XNDX2
|
||||
CA XLNNDX
|
||||
AD YINDEX
|
||||
INDEX A
|
||||
CA PYTABLE
|
||||
MASK YJETS # = 6360 OCT
|
||||
TS YWORD1
|
||||
EXTEND
|
||||
MP BIT5
|
||||
TS NYJETS # NO. OF YAW JETS USED TO PERFORM ROTATION
|
||||
|
||||
# Page 1043
|
||||
# ROLL COMMANDS TIMING(NO Y,Z TRANS, NO QUAD FAILS) 45MCT
|
||||
|
||||
RWORD CCS TAU # CHECK FOR ROLL COMMANDS
|
||||
CAF ONE
|
||||
TCF +2
|
||||
CAF TWO
|
||||
TS RINDEX
|
||||
|
||||
CCS ACORBD # FLAG FOR AC OR BD QUAD SELECTION FOR
|
||||
TCF BDROLL # ROLL COMMANDS
|
||||
TCF BDROLL # +, +0 = BD ROLL
|
||||
TCF +1 # -, -0 = AC ROLL
|
||||
|
||||
ACROLL CCS RACFAIL # CHECK FOR REAL FAILURES
|
||||
TCF RAFAIL # ON AC QUADS
|
||||
TCF RXLNS
|
||||
TCF RCFAIL
|
||||
TCF RXLNS
|
||||
|
||||
RAFAIL CAF NINE # QUAD FAILURE WILL GET
|
||||
TCF TABRCOM # 1-JET OPERATION
|
||||
RCFAIL CAF TWELVE
|
||||
TCF TABRCOM
|
||||
|
||||
XLN1NDX DEC 0
|
||||
DEC 1 # INDECES FOR TRANSLATION
|
||||
DEC 2
|
||||
DEC 0
|
||||
|
||||
# TABLE LOOK UP FOR AC-ROLL COMMANDS WITH AND WITHOUT Y-TRANSLATION AND ACQUAD FAILURES PRESENT
|
||||
# BITS 9,10,11 CONTAIN THE MAGNITUDE AND DIRECTION OF THE ROLL
|
||||
|
||||
RXLNS INDEX YNDX # NO AC QUAD FAILURES
|
||||
CA XLNNDX # INCLUDE +,-,0, Y-TRANSLATION
|
||||
TABRCOM AD RINDEX
|
||||
INDEX A
|
||||
CA RTABLE
|
||||
MASK ACRJETS # = 3760 OCT
|
||||
TS RWORD1
|
||||
|
||||
# CHECK FOR Z-TRANSLATIONS ON BD
|
||||
|
||||
BDZCHECK CA ZNDX
|
||||
EXTEND
|
||||
BZMF NOBDZ # NO Z-TRANSLATION
|
||||
|
||||
# Page 1044
|
||||
# TABLE LOOK UP FOR BD Z-TRANSLATION WITH AND WITHOUT REAL BD QUAD FAILURES. Z-TRANSLATION WILL BE POSS-
|
||||
# IBLE AS LONG AS ROLL COMMANDS CAN BE SATISFIED WITH THE AC ROLL JETS. CRITERION.. IF THE RESULTANT NET ROLL
|
||||
# COMMANDS = 0 (WITH Z-TRANSLATION) AND IF TAU = 0, THEN INCLUDE THE BD Z-TRANSLATION COMMANDS. IF THE RESULTANT
|
||||
# ROLL COMMAND = 0, AND IF TAU NZ, THEN IGNORE THE BD Z-TRANSLATION
|
||||
|
||||
CCS RBDFAIL
|
||||
CAF THREE
|
||||
TCF +2
|
||||
CAF SIX
|
||||
INDEX ZNDX
|
||||
AD XLN1NDX
|
||||
INDEX A
|
||||
CA YZTABLE
|
||||
MASK BDZJETS # = 3417 OCT
|
||||
AD RWORD1 # ADD TO ROLL COMMANDS
|
||||
TS T5TEMP # IF POSSIBLE. MUST CHECK TAU FIRST
|
||||
|
||||
EXTEND
|
||||
MP BIT7 # DETERMINE THE NET ROLL COMMAND WITH
|
||||
AD =-4 # Z-TRANSLATION ADDED ON
|
||||
TS NRJETS # NET NO. OF +,- ROLL JETS ON
|
||||
EXTEND
|
||||
BZF TAUCHECK
|
||||
|
||||
ACRBDZ CA T5TEMP # Z-TRANSLATION ACCEPTED EVEN THO WE MAY
|
||||
TS RWORD1 # HAVE INTRODUCED AN UNDESIREABLE ROLL
|
||||
TCF ROLLTIME # BRANCH TO JET ON-TIME CALCULATIONS
|
||||
|
||||
TAUCHECK CCS TAU
|
||||
TCF NOBDZ
|
||||
TCF ACRBDZ
|
||||
TCF NOBDZ
|
||||
TCF ACRBDZ
|
||||
|
||||
NOBDZ CA RWORD1 # Z-TRANSLATION NOT ACCEPTED
|
||||
EXTEND
|
||||
MP BIT7
|
||||
AD =-2
|
||||
TS NRJETS
|
||||
TCF ROLLTIME # BRANCH TO JET ON-TIME CALCULATION
|
||||
|
||||
# Page 1045
|
||||
# BD QUAD SELECTION FOR ROLL COMMANDS
|
||||
|
||||
BDROLL CCS RBDFAIL
|
||||
TCF RBFAIL
|
||||
TCF RZXLNS
|
||||
TCF RDFAIL
|
||||
TCF RZXLNS
|
||||
RBFAIL CAF NINE
|
||||
TCF TABRZCMD
|
||||
RDFAIL CAF TWELVE
|
||||
TCF TABRZCMD
|
||||
|
||||
RZXLNS INDEX ZNDX # NO BD FAILURES
|
||||
CA XLNNDX # +,-,0 Z-TRANSLATION PRESENT
|
||||
TABRZCMD AD RINDEX
|
||||
INDEX A
|
||||
CA RTABLE
|
||||
MASK BDRJETS # = 34017 OCT
|
||||
TS RWORD1
|
||||
|
||||
ACYCHECK CA YNDX # ANY Y-TRANSLATION
|
||||
EXTEND
|
||||
BZF NOACY # NO Y-TRANSLATION
|
||||
CCS RACFAIL
|
||||
CAF THREE
|
||||
TCF +2
|
||||
CAF SIX
|
||||
INDEX YNDX
|
||||
AD XLN1NDX
|
||||
INDEX A
|
||||
CA YZTABLE
|
||||
MASK ACYJETS # = 34360 OCT
|
||||
AD RWORD1
|
||||
TS T5TEMP
|
||||
EXTEND # FOR EXPLANATION SEE CODING ON RTABLE
|
||||
MP BIT4
|
||||
AD =-4
|
||||
TS NRJETS # NO. OF NET ROLL JETS
|
||||
EXTEND
|
||||
BZF TAUCHCK # IF NRJETS = 0
|
||||
|
||||
BDRACZ CA T5TEMP # Y-TRANSLATION ACCEPTED
|
||||
TS RWORD1
|
||||
TCF ROLLTIME # BRANCH TO JET ON-TIME CALCULATIONS
|
||||
|
||||
TAUCHCK CCS TAU
|
||||
TCF NOACY
|
||||
TCF BDRACZ
|
||||
TCF NOACY
|
||||
TCF BDRACZ
|
||||
|
||||
# Page 1046
|
||||
NOACY CA RWORD1 # Y-TRANSLATION NOT ACCEPTED
|
||||
EXTEND
|
||||
MP BIT4
|
||||
AD =-2
|
||||
TS NRJETS
|
||||
TCF ROLLTIME
|
||||
|
||||
# Page 1047
|
||||
# TABLE FOR ROLL, Y AND Z-TRANSLATION COMMANDS
|
||||
|
||||
# EITHER AC OR BD ROLL MAY BE SELECTED. IF AC ROLL IS SELECTED, Y-TRANSLATIONS MAY BE SATISFIED SIMULTANEOUSLY
|
||||
# PROVIDED THAT THERE ARE NO AC QUAD FAILURES. IF THERE ARE AC FAILURES, Y-TRANSLATION COMMANDS WILL BE IGNORED,
|
||||
# IN WHICH CASE THE ASTRONAUT SHOULD SWITCH TO BD ROLL.
|
||||
# IF BDROLL IS SELECTED, Z-TRANSLATIONS MAY BE SATISFIED SIMULTANEOUSLY PROVIDED THAT THERE ARE NO BD QUAD
|
||||
# FAILURES. IF THERE ARE BD FAILURES, Z-TRANSLATION COMMANDS WILL BE IGNORED, IN WHICH CASE THE ASTRONAUT SHOULD
|
||||
# SWITCH TO AC ROLL.
|
||||
# NOTE THAT IF ONE QUAD FAILS (E.G. B FAILED), Z-TRANSLATION IS STILL POSSIBLE AND THAT THE UNDESIRABLE ROLL
|
||||
# INTRODUCED BY THIS TRANSLATION WILL BE COMPENSATED BY THE TWO AC ROLL JETS ACTUATED BY THE AUTOPILOT LOGIC.
|
||||
|
||||
# WORD MAKE UP....RTABLE
|
||||
|
||||
# TWO WORDS, CORRESPONDING TO AC OR BD ROLL SELECTION, HAVE BEEN COMBINED INTO ONE TABLE. THE WORD CORRESPOND-
|
||||
# ING TO AC ROLL HAS THE FOLLOWING INTERPRETATION..
|
||||
# BITS 9,10,11 ARE CODED TO GIVE THE NET ROLL TORQUE FOR THE WORD SELECTED. THE CODING IS..
|
||||
# BIT NO. 11 10 9 NO. OF ROLL JETS
|
||||
|
||||
# 0 0 0 -2
|
||||
# 0 0 1 -1
|
||||
# 0 1 0 0
|
||||
# 0 1 1 +1
|
||||
# 1 0 0 +2
|
||||
|
||||
# THIS WORD MAY THEN BE ADDED TO THE WORD SELECTED FROM THE YZ-TRANSLATION TABLE, WHICH HAS THE SAME TYPE OF
|
||||
# CODING AS ABOVE, AND THE NET ROLL DETERMINED BY SHIFTING THE RESULTANT WORD RIGHT 8 PLACES AND SUBTRACTING FOUR.
|
||||
|
||||
# THE WORD CORRESPONDING TO THE BD ROLL HAS A SIMILAR INTERPRETATION, EXCEPT THAT BITS 12, 13, 14 ARE CODED
|
||||
# (AS ABOVE) TO GIVE THE NET ROLL TORQUE.
|
||||
|
||||
# ROLL TRANS QUADFAIL BIAS
|
||||
|
||||
RTABLE OCT 11000 # 0 0
|
||||
OCT 22125 # + 0
|
||||
OCT 00252 # - 0
|
||||
OCT 11231 # 0 +Y(+Z) 3
|
||||
OCT 15421 # + +Y(+Z) 3
|
||||
OCT 04610 # - +Y(+Z) 3
|
||||
OCT 11146 # 0 -Y(-Z) 6
|
||||
OCT 15504 # + -Y(-Z) 6
|
||||
OCT 04442 # - -Y(-Z) 6
|
||||
OCT 11000 # 0 A(B) 9
|
||||
OCT 15504 # + A(B) 9
|
||||
OCT 04610 # - A(B) 9
|
||||
OCT 11000 # 0 C(D) 12
|
||||
OCT 15421 # + C(D) 12
|
||||
OCT 04442 # - C(D) 12
|
||||
|
||||
# Page 1048
|
||||
# RTABLE MASKS -
|
||||
|
||||
ACRJETS OCT 03760
|
||||
BDRJETS OCT 34017
|
||||
|
||||
# Page 1049
|
||||
# Y, Z TRANSLATION TABLE
|
||||
|
||||
# ONCE AC OR BD ROLL IS SELECTED THE QUAD PAIR WHICH IS NOT BEING USED TO SATISFY THE ROLL COMMANDS MAY BE
|
||||
# USED TO SATISFY THE REMAINING TRANSLATION COMMANDS. HOWEVER, WE MUST MAKE SURE THAT ROLL COMMANDS ARE SATISFIED
|
||||
# WHEN THEY OCCUR. THEREFORE, THE Y-Z TRANSLATIONS FROM THIS TABLE WILL BE IGNORED IF THE NET ROLL TORQUE OF THE
|
||||
# COMBINED WORD IS ZERO AND THE ROLL COMMANDS ARE NON-ZERO. THIS SITUATION WOULD OCCUR, FOR EXAMPLE, IF WE EN-
|
||||
# COUNTER SIMULTANEOUS +R +Y -Z COMMANDS AND A QUAD D FAILURE WHILE USING AC FOR ROLL.
|
||||
# TO FACILITATE THE LOGIC, THE Y-Z TRANSLATION TABLE HAS BEEN CODED IN A MANNER SIMILAR TO THE ROLL TABLE
|
||||
# ABOVE.
|
||||
# BITS 9,10,11 ARE CODED TO GIVE THE NET ROLL TORQUE INCURRED BY Z-TRANSLATIONS. THE WORD SELECTED CAN THEN BE
|
||||
# ADDED TO THE AC-ROLL WORD AND THE RESULTANT ROLL TORQUE DETERMINED FROM THE COMBINED WORD. SIMILIARLY BITS
|
||||
# 12,13,14 ARE CODED TO GIVE THE NET ROLL TORQUE INCURRED BY Y-TRANSLATIONS WHEN BD-ROLL IS SELECTED.
|
||||
|
||||
# TRANSLATION QUADFAIL BIAS
|
||||
#
|
||||
YZTABLE OCT 11000 # 0 0
|
||||
OCT 11231 # +Z(+Y) 0
|
||||
OCT 11146 # -Z(-Y) 0
|
||||
OCT 11000 # 0 B(A) 3
|
||||
OCT 04610 # +Z(+Y) B(A) 3
|
||||
OCT 15504 # -Z(-Y) B(A) 3
|
||||
OCT 11000 # 0 D(C) 6
|
||||
OCT 15421 # +Z(+Y) D(C) 6
|
||||
OCT 04442 # -Z(-Y) D(C) 6
|
||||
|
||||
# YZ-TABLE MASKS-
|
||||
|
||||
BDZJETS OCT 03417
|
||||
ACYJETS OCT 34360
|
||||
|
||||
# ADDITIONAL CONSTANTS
|
||||
|
||||
=-2 = NEG2
|
||||
=-4 = NEG4
|
||||
|
||||
# Page 1050
|
||||
# CALCULATION OF JET ON-TIMES
|
||||
#
|
||||
# THE ROTATION COMMANDS (TAU:S), WHICH WERE DETERMINED FROM THE JET SWITCHING LOGIC ON THE BASIS OF SINGLE JET
|
||||
# OPERATION, MUST NOW BE UPDATED BY THE ACTUAL NUMBER OF JETS TO BE USED IN SATISFYING THESE COMMANDS. TAU MUST
|
||||
# ALSO BE DECREMENTED ACCORDING TO THE EXPECTED TORQUE GENERATED BY THE NEW COMMANDS ACTING OVER THE NEXT T5 INT-
|
||||
# ERVAL.
|
||||
# IN ORDER TO MAINTAIN ACCURATE KNOWLEDGE OF VEHICLE ANGULAR RATES, WE MUST ALSO PROVIDE EXPECTED FIRING TIMES
|
||||
# (DFT:S, ALSO IN TERMS OF 1-JET OPERATION) FOR THE RATE FILTER.
|
||||
# NOTE THAT TRANSLATIONS CAN PRODUCE ROTATIONS EVEN THOUGH NO ROTATIONS WERE CALLED FOR. NEVERTHELESS, WE MUST
|
||||
# UPDATE DFT.
|
||||
# WHEN THE ROTATIONS HAVE FINISHED, WE MUST PROVIDE CHANNEL INFORMATION TO THE T6 PROGRAM TO CONTINUE ON WITH
|
||||
# THE TRANSLATIONS. THIS WILL BE DONE IN THE NEXT SECTION. HOWEVER, TO INSURE THAT JETS ARE NOT FIRED FOR LESS
|
||||
# THAN A MINIMUM IMPULSE (14MS), ALL JET CHANNEL COMMANDS WILL BE HELD FIXED FROM THE START OF THE T5 PROGRAM FOR
|
||||
# ATLEAST 14MS UNTIL THE INITIALIZATION OF NEW COMMANDS. MOREOVER, A 14MS ON-TIME WILL BE ADDED TO ANY ROTATIONAL
|
||||
# COMMANDS GENERATED BY THE MANUAL CONTROLS OR THE JET SWITCHING LOGIC, AND ALL TRANSLATION COMMANDS WILL BE
|
||||
# ACTIVE FOR ATLEAST ONE CYCLE OF THE T5 PROGRAM (.1SEC)
|
||||
|
||||
# PITCH JET ON-TIME CALCULATION
|
||||
|
||||
PITCHTIM CCS TAU1
|
||||
TCF PTAUPOS
|
||||
TCF +2
|
||||
TCF PTAUNEG
|
||||
TS DFT1 # NO PITCH ROTATION
|
||||
TCF PBYPASS # COMMANDS
|
||||
|
||||
PTAUNEG CS NPJETS
|
||||
TS NPJETS
|
||||
PTAUPOS CA TAU1
|
||||
EXTEND
|
||||
INDEX NPJETS
|
||||
MP NJET
|
||||
TS BLAST1
|
||||
AD =-.1SEC
|
||||
EXTEND
|
||||
BZMF AD14MSP
|
||||
INDEX NPJETS
|
||||
CA DFTMAX # THE PITCH ON-TIME IS GREATER THAN .1 SEC
|
||||
TS DFT1
|
||||
COM
|
||||
ADS TAU1 # UPDATE TAU1
|
||||
CAF =+.1SEC # LIMIT THE LENGTH OF PITCH ROTATION
|
||||
TS BLAST1 # COMMANDS TO 0.1 SEC SO THAT ONLY
|
||||
TCF ASMBLWP # X-TRANSLATIONS WILL CONTINUE ON SWITCH
|
||||
# OVER TO TVC
|
||||
AD14MSP CS BLAST1 # SEE IF JET ON TIME IS LESS THAN
|
||||
AD =14MS # MINIMUM IMPULSE TIME
|
||||
EXTEND
|
||||
BZMF PBLASTOK # IF SO LIMIT MINIMUM ON TIME TO 14 MS
|
||||
CAF =14MS
|
||||
# Page 1051
|
||||
TS BLAST1
|
||||
PBLASTOK CA BLAST1
|
||||
EXTEND # THE PITCH COMMANDS WILL BE COMPLETED
|
||||
MP NPJETS # WITHIN THE TS-CYCLE TIME
|
||||
LXCH DFT1 # FOR USE IN UPDATING RATE FILTER
|
||||
TS TAU1 # ZERO TAU1 (ACC CONTAINS ZERO)
|
||||
TCF ASMBLWP
|
||||
|
||||
# Page 1052
|
||||
# YAW JET ON-TIME CALCULATION
|
||||
|
||||
YAWTIME CCS TAU2
|
||||
TCF YTAUPOS
|
||||
TCF +2
|
||||
TCF YTAUNEG
|
||||
TS DFT2 # NO YAW ROTATION COMMANDS
|
||||
TCF YBYPASS
|
||||
|
||||
YTAUNEG CS NYJETS
|
||||
TS NYJETS
|
||||
YTAUPOS CA TAU2
|
||||
EXTEND
|
||||
INDEX NYJETS
|
||||
MP NJET
|
||||
TS BLAST2
|
||||
AD =-.1SEC
|
||||
EXTEND
|
||||
BZMF AD14MSY
|
||||
INDEX NYJETS
|
||||
CA DFTMAX # YAW COMMANDS WILL LAST LONGER THAN .1SEC
|
||||
TS DFT2
|
||||
COM
|
||||
ADS TAU2 # DECREMENT TAU2
|
||||
CAF =+.1SEC # LIMIT THE LENGTH OF YAW ROTATION COMMAND
|
||||
TS BLAST2 # TO 0.1 SEC SO THAT ONLY X-TRANSLATION
|
||||
TCF ASMBLWY # WILL CONTINUE ON SWITCH OVER TO TVC
|
||||
|
||||
AD14MSY CS BLAST2 # SEE IF JET ON-TIME LESS THAN
|
||||
AD =14MS # MINIMUM IMPULSE TIME
|
||||
EXTEND
|
||||
BZMF YBLASTOK # IF SO, LIMIT MINIMUM ON-TIME TO 14 MS
|
||||
CAF =14MS
|
||||
TS BLAST2
|
||||
YBLASTOK CA BLAST2 # YAW COMMANDS WILL BE COMPLETED WITHIN
|
||||
EXTEND # THE T5CYCLE TIME
|
||||
MP NYJETS
|
||||
LXCH DFT2
|
||||
TS TAU2 # ZERO TAU2
|
||||
TCF ASMBLWY
|
||||
|
||||
# Page 1053
|
||||
# ROLL ON-TIME CALCULATION-
|
||||
|
||||
ROLLTIME CCS TAU
|
||||
TCF RBLAST
|
||||
TCF +2
|
||||
TCF RBLAST
|
||||
INDEX NRJETS
|
||||
CA DFTMAX # UPDATE DFT EVEN THO NO ROLL COMMANDS ARE
|
||||
TS DFT # PRESENT
|
||||
TCF RBYPASS
|
||||
|
||||
DEC -480 # = -.3SEC
|
||||
DEC -320 # = -.2SEC
|
||||
=-.1SEC DEC -160 # = -.1SEC
|
||||
DFTMAX DEC 0 # 0
|
||||
=+.1SEC DEC 160 # = +.1SEC
|
||||
DEC 320 # = +.2SEC
|
||||
DEC 480 # = +.3SEC
|
||||
=14MS DEC 23 # =14MS
|
||||
|
||||
RBLAST CA TAU
|
||||
EXTEND
|
||||
INDEX NRJETS
|
||||
MP NJET
|
||||
TS BLAST # BLAST IS AN INTERMEDIATE VARIABLE
|
||||
# USED IN DETERMINING THE JET ON-TIMES
|
||||
AD =-.1SEC
|
||||
EXTEND
|
||||
BZMF AD14MSR
|
||||
INDEX NRJETS # THE ROLL ROTATION WILL LAST LONGER
|
||||
CA DFTMAX # THAN THE T5 CYCLE TIME
|
||||
TS DFT
|
||||
COM
|
||||
ADS TAU
|
||||
CAF =+.1SEC # LIMIT THE LENGTH OF ROLL ROTATION
|
||||
TS BLAST # COMMANDS TO 0.1 SEC SO THAT ONLY Y-Z
|
||||
TCF ASMBLWR # TRANSLATION COMMANDS CONTINUE
|
||||
|
||||
AD14MSR CS BLAST # SEE IF THE JET ON-TIME LESS THAN
|
||||
AD =14MS # MINIMUM IMPULSE TIME
|
||||
EXTEND
|
||||
BZMF RBLASTOK
|
||||
CAF =14MS # IF SO, LIMIT MINIMUM ON-TIME TO 14 MS
|
||||
TS BLAST
|
||||
RBLASTOK CA BLAST
|
||||
EXTEND
|
||||
MP NRJETS
|
||||
LXCH DFT
|
||||
TS TAU # ZERO TAU
|
||||
TCF ASMBLWR
|
||||
|
||||
# Page 1054
|
||||
DEC -.333333 # = -1/3
|
||||
DEC -.500000 # = -1/2
|
||||
DEC -.999999 # = -1 (NEGMAX)
|
||||
NJET DEC 0
|
||||
DEC .999999 # = +1 (POSMAX)
|
||||
DEC .500000 # = +1/2
|
||||
DEC .333333 # = +1/3
|
||||
|
||||
# Page 1055
|
||||
# WHEN THE ROTATION COMMANDS ARE COMPLETED, IT IS NECESSARY TO REPLACE THESE COMMANDS BY NEW COMMANDS WHICH
|
||||
# CONTINUE ON WITH THE TRANSLATIONS IF ANY ARE PRESENT.
|
||||
# IN THIS SECTION THESE NEW COMMANDS ARE GENERATED AND STORED FOR REPLACEMENT OF THE CHANNEL COMMANDS WHEN THE
|
||||
# CORRESPONDING ROTATIONS ARE COMPLETED.
|
||||
|
||||
# GENERATION OF THE SECOND PITCH(X-TRANS) WORD...PWORD2
|
||||
|
||||
ASMBLWP CCS RACFAIL
|
||||
TCF FPX2 # IF FAILURE ON AC IGNORE X-TRANSLATION
|
||||
TCF +2
|
||||
TCF FPX2
|
||||
INDEX XNDX1
|
||||
CA XLNNDX
|
||||
INDEX A
|
||||
FPX2 CA PYTABLE
|
||||
MASK PJETS
|
||||
TS PWORD2
|
||||
TCF YAWTIME
|
||||
|
||||
PBYPASS CA PWORD1 # THE T6 PROGRAM WILL LOAD PWORD2
|
||||
TS PWORD2 # UPON ENTRY
|
||||
CAF ZERO
|
||||
TS BLAST1 # THERE IS NO PWORD2
|
||||
TCF YAWTIME
|
||||
|
||||
# Page 1056
|
||||
# GENERATION OF THE SECOND ROLL (Y,Z) WORD (RWORD2)
|
||||
|
||||
ASMBLWR CCS YNDX # CHECK FOR Y-TRANS
|
||||
TCF ACBD2Y
|
||||
NO2Y CAF ZERO
|
||||
TS RWORD2
|
||||
CCS ZNDX # CHECK FOR Z-TRANS
|
||||
TCF ACBD2Z
|
||||
NO2Z CAF ZERO
|
||||
ADS RWORD2
|
||||
TCF PITCHTIM # RWORD2 ASSEMBLED
|
||||
|
||||
ACBD2Y CCS ACORBD
|
||||
TCF AC2Y # CAN DO Y-TRANS
|
||||
TCF AC2Y
|
||||
TCF +1 # USING AC FOR ROLL
|
||||
CCS RACFAIL
|
||||
TCF NO2Y # USING AC AND AC HAS FAILED
|
||||
TCF +2
|
||||
TCF NO2Y # DITTO
|
||||
|
||||
INDEX YNDX # NO FAILURES, CAN DO Y
|
||||
CA XLNNDX
|
||||
INDEX A
|
||||
CA RTABLE
|
||||
MASK ACRJETS
|
||||
TCF NO2Y +1
|
||||
|
||||
AC2Y CCS RACFAIL
|
||||
CAF THREE
|
||||
TCF +2
|
||||
CAF SIX
|
||||
INDEX YNDX
|
||||
AD XLN1NDX
|
||||
INDEX A
|
||||
CA YZTABLE
|
||||
MASK ACYJETS
|
||||
TS RWORD2
|
||||
EXTEND
|
||||
MP BIT4
|
||||
AD =-2
|
||||
TS NRJETS
|
||||
CS BLAST
|
||||
AD =+.1SEC
|
||||
EXTEND
|
||||
MP NRJETS
|
||||
CA L
|
||||
ADS DFT
|
||||
TCF NO2Y +2
|
||||
# Page 1057
|
||||
ACBD2Z CCS ACORBD
|
||||
TCF BDF2Z # USING BD-ROLL
|
||||
TCF BDF2Z # MUST CHECK FOR BD FAILURES
|
||||
TCF +1
|
||||
CCS RBDFAIL # USING AC FOR ROLL, CAN DO Z-TRANS
|
||||
CAF THREE
|
||||
TCF +2
|
||||
CAF SIX
|
||||
INDEX ZNDX
|
||||
AD XLN1NDX
|
||||
INDEX A
|
||||
CA YZTABLE
|
||||
MASK BDZJETS
|
||||
ADS RWORD2
|
||||
EXTEND
|
||||
MP BIT7
|
||||
AD =-2
|
||||
TS NRJETS
|
||||
CS BLAST
|
||||
AD =+.1SEC
|
||||
EXTEND
|
||||
MP NRJETS
|
||||
CA L
|
||||
ADS DFT
|
||||
TCF PITCHTIM
|
||||
|
||||
BDF2Z CCS RBDFAIL
|
||||
TCF NO2Z # USING BD-ROLL AND BD HAS FAILED
|
||||
TCF +2
|
||||
TCF NO2Z # DITTO
|
||||
INDEX ZNDX
|
||||
CA XLNNDX
|
||||
INDEX A
|
||||
CA RTABLE
|
||||
MASK BDRJETS
|
||||
TCF NO2Z +1
|
||||
|
||||
RBYPASS CA RWORD1
|
||||
TS RWORD2
|
||||
CAF ZERO
|
||||
TS BLAST
|
||||
TCF PITCHTIM
|
||||
|
||||
# Page 1058
|
||||
# GENERATION OF THE SECOND YAW (X-TRANS) WORD...YWORD2
|
||||
|
||||
ASMBLWY CCS RBDFAIL
|
||||
TCF FYX2 # IF FAILURE ON BD IGNORE X-TRANSLATION
|
||||
TCF +2
|
||||
TCF FYX2
|
||||
INDEX XNDX2
|
||||
CA XLNNDX
|
||||
INDEX A
|
||||
FYX2 CA PYTABLE
|
||||
MASK YJETS
|
||||
TS YWORD2
|
||||
TCF T6SETUP
|
||||
|
||||
YBYPASS CA YWORD1
|
||||
TS YWORD2
|
||||
CAF ZERO
|
||||
TS BLAST2
|
||||
|
||||
# Page 1059
|
||||
# SORT THE JET ON-TIMES
|
||||
|
||||
# AT THIS POINT ALL THE CHANNEL COMMANDS AND JET ON-TIMES HAVE BEEN DETERMINED. IN SUMMARY THESE ARE-
|
||||
|
||||
# RWORD1
|
||||
# RWORD2 BLAST
|
||||
|
||||
# PWORD1
|
||||
# PWORD2 BLAST1
|
||||
|
||||
# YWORD1
|
||||
# YWORD2 BLAST2
|
||||
|
||||
# IN THIS SECTION THE JET ON-TIMES ARE SORTED AND THE SEQUENCE OF T6 INTERRUPTS IS DETERMINED. TO FACILITATE
|
||||
# THE SORTING PROCESS AND THE T6 PROGRAM, THE VARIABLES BLAST, BLAST1, BLAST2, ARE RESERVED AS DOUBLE PRECISION
|
||||
# WORDS. THE LOWER PART OF THESE WORDS CONTAIN A BRANCH INDEX ASSOCIATED WITH THE ROTATION AXIS OF THE HIGHER
|
||||
# ORDER WORD.
|
||||
|
||||
T6SETUP CAF ZERO # BRANCH INDEX FOR ROLL
|
||||
TS BLAST +1
|
||||
CAF FOUR # BRANCH INDEX FOR PITCH
|
||||
TS BLAST1 +1
|
||||
CAF ELEVEN # BRANCH INDEX FOR YAW
|
||||
TS BLAST2 +1
|
||||
|
||||
CS BLAST
|
||||
AD BLAST1
|
||||
EXTEND
|
||||
BZMF DXCHT12 # T1 GR T2
|
||||
CHECKT23 CS BLAST1
|
||||
AD BLAST2
|
||||
EXTEND
|
||||
BZMF DXCHT23
|
||||
CALCDT6 CS BLAST1
|
||||
ADS BLAST2
|
||||
CS BLAST
|
||||
ADS BLAST1 # END OF SORTING PROCEDURE
|
||||
EXTEND # RESET T5LOC TO BEGIN PHASE1
|
||||
DCA RCS2CADR
|
||||
DXCH T5LOC
|
||||
ENDJETS CS BIT1 # RESET BIT1 FOR INITIALIZATION OF
|
||||
MASK RCSFLAGS # T6 PROGRAM
|
||||
TS RCSFLAGS
|
||||
CS ZERO # RESET T5PHASE FOR PHASE1
|
||||
TS T5PHASE
|
||||
TCF RESUME # RESUME INTERRUPTED PROGRAM
|
||||
|
||||
EBANK= KMPAC
|
||||
RCS2CADR 2CADR RCSATT
|
||||
|
||||
# Page 1060
|
||||
DXCHT12 DXCH BLAST
|
||||
DXCH BLAST1
|
||||
DXCH BLAST
|
||||
TCF CHECKT23
|
||||
|
||||
DXCHT23 DXCH BLAST1
|
||||
DXCH BLAST2
|
||||
DXCH BLAST1
|
||||
CS BLAST
|
||||
AD BLAST1
|
||||
EXTEND
|
||||
BZMF +2
|
||||
TCF CALCDT6
|
||||
DXCH BLAST
|
||||
DXCH BLAST1
|
||||
DXCH BLAST
|
||||
TCF CALCDT6
|
||||
|
||||
# Page 1061
|
||||
# T6 PROGRAM AND CHANNEL SETUP
|
||||
|
||||
BANK 21
|
||||
SETLOC DAPS5
|
||||
BANK
|
||||
|
||||
T6START LXCH BANKRUPT
|
||||
EXTEND
|
||||
QXCH QRUPT
|
||||
CCS TIME6 # CHECK TO SEE IF TIME6 WAS RESET
|
||||
TCF RESUME # AFTER T6RUPT OCCURED(IN T5RUPT)
|
||||
TCF +2 # IF SO WAIT FOR NEXT T6RUPT BEFORE
|
||||
TCF RESUME # TAKING ACTION
|
||||
|
||||
CS RCSFLAGS
|
||||
MASK BIT1 # IF BIT1 IS 0 RESET TO 1
|
||||
EXTEND # AND INITIALIZE CHANNEL
|
||||
BZF T6RUPTOR
|
||||
ADS RCSFLAGS
|
||||
CA RWORD1
|
||||
EXTEND # INITIALIZE CHANNELS 5,6 WITH WORD1
|
||||
WRITE CHAN6
|
||||
CA PWORD1
|
||||
AD YWORD1
|
||||
EXTEND
|
||||
WRITE CHAN5
|
||||
|
||||
T6RUPTOR CCS BLAST
|
||||
TCF ZBLAST # ZERO BLAST1
|
||||
TCF REPLACE # REPLACE WORD1
|
||||
TCF +2
|
||||
TCF REPLACE
|
||||
T6L1 CCS BLAST1
|
||||
TCF ZBLAST1
|
||||
TCF REPLACE1
|
||||
TCF +2
|
||||
TCF REPLACE1
|
||||
T6L2 CCS BLAST2
|
||||
TCF ZBLAST2
|
||||
TCF REPLACE2
|
||||
TCF RESUME
|
||||
TCF REPLACE2
|
||||
|
||||
REPLACE INDEX BLAST +1
|
||||
TC REPLACER
|
||||
CS ONE
|
||||
TS BLAST
|
||||
TCF T6L1
|
||||
|
||||
REPLACE1 INDEX BLAST1 +1
|
||||
# Page 1062
|
||||
TC REPLACER
|
||||
CS ONE
|
||||
TS BLAST1
|
||||
TCF T6L2
|
||||
|
||||
REPLACE2 INDEX BLAST2 +1
|
||||
TC REPLACER
|
||||
CS ONE
|
||||
TS BLAST2
|
||||
TCF RESUME
|
||||
|
||||
REPLACER CA RWORD2
|
||||
EXTEND # INITIALIZE CHANNELS 5,6 WITH WORD2
|
||||
WRITE CHAN6
|
||||
TC Q
|
||||
|
||||
REPLACEP CA YJETS
|
||||
EXTEND
|
||||
RAND CHAN5
|
||||
AD PWORD2
|
||||
EXTEND
|
||||
WRITE CHAN5
|
||||
TC Q
|
||||
|
||||
REPLACEY CA PJETS
|
||||
EXTEND
|
||||
RAND CHAN5
|
||||
AD YWORD2
|
||||
EXTEND
|
||||
WRITE CHAN5
|
||||
TC Q
|
||||
|
||||
ZBLAST CAF ZERO
|
||||
XCH BLAST
|
||||
TCF ENABT6
|
||||
ZBLAST1 CAF ZERO
|
||||
XCH BLAST1
|
||||
TCF ENABT6
|
||||
ZBLAST2 CAF ZERO
|
||||
XCH BLAST2
|
||||
ENABT6 TS TIME6
|
||||
CAF NEGMAX
|
||||
EXTEND
|
||||
WOR CHAN13 # ENABLE T6RUPT
|
||||
TCF RESUME
|
||||
|
||||
# END OF T6 INTERRUPT
|
||||
|
||||
ENDSLECT EQUALS
|
||||
|
|
@ -1,265 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: KALCMANU_STEERING.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 414-419
|
||||
# Contact: Onno Hommes <ohommes@cmu.edu>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Mod history: 05/07/09 OH Transcription Batch 1 Assignment
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further information.
|
||||
# Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 414
|
||||
# GENERATION OF STEERING COMMANDS FOR DIGITAL AUTOPILOT FREE FALL MANEUVERS
|
||||
#
|
||||
# NEW COMMANDS WILL BE GENERATED EVERY ONE SECOND DURING THE MANEUVER
|
||||
|
||||
BANK 15
|
||||
|
||||
SETLOC KALCMON1
|
||||
BANK
|
||||
|
||||
EBANK= BCDU
|
||||
|
||||
COUNT 22/KALC
|
||||
|
||||
NEWDELHI CS HOLDFLAG # SEE IF MANEUVER HAS BEEN INTERRUPTED
|
||||
EXTEND # BY ASTRONAUT
|
||||
BZMF NOGO -2 # IF SO, TERMINATE KALCMANU
|
||||
NEWANGL TC INTPRET
|
||||
AXC,1 AXC,2
|
||||
MIS # COMPUTE THE NEW MATRIX FROM S/C TO
|
||||
DEL # STABLE MEMBER AXES
|
||||
CALL
|
||||
MXM3
|
||||
VLOAD STADR
|
||||
STOVL MIS +12D # CALCULATE NEW DESIRED CDU ANGLES
|
||||
STADR
|
||||
STOVL MIS +6D
|
||||
STADR
|
||||
STORE MIS
|
||||
AXC,1 CALL
|
||||
MIS
|
||||
DCMTOCDU # PICK UP THE NEW CDU ANGLES FROM MATRIX
|
||||
RTB
|
||||
V1STO2S
|
||||
STORE NCDU # NEW CDU ANGLES
|
||||
BONCLR EXIT
|
||||
CALCMAN2
|
||||
MANUSTAT # TO START MANEUVER
|
||||
CAF TWO # +0 OTHERWISE
|
||||
INCRDCDU TS KSPNDX
|
||||
DOUBLE
|
||||
TS KDPNDX
|
||||
INDEX KSPNDX
|
||||
CA NCDU # NEW DESIRED CDU ANGLES
|
||||
EXTEND
|
||||
INDEX KSPNDX
|
||||
MSU BCDU # INITIAL S/C ANGLE OR PREVIOUS DESIRED
|
||||
EXTEND # CDU ANGLES
|
||||
MP QUADROT
|
||||
INDEX KDPNDX
|
||||
DXCH DELCDUX # ANGEL INCREMENTS TO BE ADDED TO
|
||||
# Page 415
|
||||
INDEX KSPNDX # DCDU EVERY TENTH SEC
|
||||
CA NCDU # BY LEM DAP
|
||||
INDEX KSPNDX
|
||||
XCH BCDU
|
||||
INDEX KDPNDX
|
||||
TS CDUXD
|
||||
CCS KSPNDX
|
||||
TCF INCRDCDU # LOOP FOR THREE AXES
|
||||
|
||||
RELINT
|
||||
# COMPARE PRESENT TIME WITH TIME TO TERMINATE MANEUVER
|
||||
|
||||
TMANUCHK TC TIMECHK
|
||||
TC POSTJUMP
|
||||
CADR CONTMANU
|
||||
|
||||
CAF ONE
|
||||
MANUSTAL TC WAITLIST
|
||||
EBANK= BCDU
|
||||
2CADR MANUSTOP
|
||||
|
||||
RELINT
|
||||
TCF ENDOFJOB
|
||||
|
||||
|
||||
TIMECHK EXTEND
|
||||
DCS TIME2
|
||||
DXCH TTEMP
|
||||
EXTEND
|
||||
DCA TM
|
||||
DAS TTEMP
|
||||
CCS TTEMP
|
||||
TC Q
|
||||
TCF +2
|
||||
TCF 2NDRETRN
|
||||
CCS TTEMP +1
|
||||
TC Q
|
||||
TCF MANUOFF
|
||||
COM
|
||||
MANUOFF AD 1SEC
|
||||
EXTEND
|
||||
BZMF 2NDRETRN
|
||||
INCR Q
|
||||
2NDRETRN INCR Q
|
||||
INCR Q
|
||||
TC Q
|
||||
|
||||
SETLOC MANUSTUF
|
||||
BANK
|
||||
# Page 416
|
||||
MANUSTAT EXIT # INITIALIZATION ROUTINE
|
||||
EXTEND # FOR AUTOMATIC MANEUVERS
|
||||
DCA TIME2
|
||||
DAS TM # TM+T0 MANEUVER COMPLETION TIME
|
||||
CS 1SEC
|
||||
TS L
|
||||
CS ZERO
|
||||
DAS TM # (TM+T0)-1
|
||||
INHINT
|
||||
CS ONE # ENABLE AUTOPILOT TO PERFORM
|
||||
TS HOLDFLAG # AUTOMATIC MANEUVERS
|
||||
CS RATEINDX # SEE IF MANEUVERING AT HIGH RATE
|
||||
AD SIX
|
||||
EXTEND
|
||||
BZMF HIGHGAIN
|
||||
TCF +4
|
||||
HIGHGAIN CS RCSFLAGS # IF SO, SET HIGH RATE FLAG (BIT 15 OF
|
||||
MASK BIT15 # RCSFLAGS)
|
||||
ADS RCSFLAGS
|
||||
DXCH BRATE # X-AXIS MANEUVER RATE
|
||||
DXCH WBODY
|
||||
DXCH BRATE +2 # Y-AXIS MANEUVER RATE
|
||||
DXCH WBODY1
|
||||
DXCH BRATE +4 # Z-AXIS MANEUVER RATE
|
||||
DXCH WBODY2
|
||||
CA BIASTEMP +1 # INSERT ATTITUDE ERROR BIASES
|
||||
TS BIAS # INTO AUTOPILOT
|
||||
CA BIASTEMP +3
|
||||
TS BIAS1
|
||||
CA BIASTEMP +5
|
||||
TS BIAS2
|
||||
CA TIME1
|
||||
AD 1SEC
|
||||
XCH NEXTIME
|
||||
TC POSTJUMP
|
||||
CADR INCRDCDU -1
|
||||
|
||||
CONTMANU INHINT # CONTINUE WITH UPDATE PROCESS
|
||||
CS TIME1
|
||||
AD NEXTIME
|
||||
CCS A
|
||||
AD ONE
|
||||
TCF MANUCALL
|
||||
AD NEGMAX
|
||||
COM
|
||||
MANUCALL TC WAITLIST
|
||||
EBANK= BCDU
|
||||
2CADR UPDTCALL
|
||||
|
||||
RELINT
|
||||
# Page 417
|
||||
CAF 1SEC # INCREMENT TIME FOR NEXT UPDATE
|
||||
ADS NEXTIME
|
||||
TCF ENDOFJOB
|
||||
|
||||
|
||||
UPDTCALL CAF PRIO26 # CALL FOR UPDATE
|
||||
TC FINDVAC # OF STEERING COMMANDS
|
||||
EBANK= BCDU
|
||||
2CADR NEWDELHI
|
||||
|
||||
TC TASKOVER
|
||||
|
||||
# Page 418
|
||||
# ROUTINE FOR TERMINATING AUTOMATIC MANEUVERS
|
||||
|
||||
SETLOC KALCMON3
|
||||
BANK
|
||||
|
||||
MANUSTOP TC STOPYZ
|
||||
TC IBNKCALL
|
||||
CADR LOADYZ
|
||||
|
||||
ENDROLL CA CPHI
|
||||
TS CDUXD # SET CDUXD TO THE COMMANDED OUTER GIMBAL
|
||||
TC STOPRATE
|
||||
ENDMANU CA ATTPRIO # RESTORE USERS PRIORITY
|
||||
TS NEWPRIO
|
||||
|
||||
CA ZERO # ZERO ATTCADR
|
||||
DXCH ATTCADR
|
||||
|
||||
TC SPVAC # RETURN TO USER OF GOMANUR
|
||||
|
||||
TC TASKOVER
|
||||
|
||||
SETLOC STOPRAT
|
||||
BANK
|
||||
STOPRATE CAF ZERO
|
||||
TS DELCDUX
|
||||
TS DELCDUX +1 # ZERO ROLL INCREMENTAL ANGLES
|
||||
TS WBODY # RATE
|
||||
TS WBODY +1
|
||||
TS BIAS # BIAS
|
||||
|
||||
CS BIT15 # MAKE SURE HIGH RATE FLAG (BIT 15 OF
|
||||
MASK RCSFLAGS # RCSFLAGS) IS RESET.
|
||||
TS RCSFLAGS
|
||||
|
||||
STOPYZ CAF ZERO
|
||||
TS DELCDUY # ZERO PITCH, YAW
|
||||
TS DELCDUY +1 # INCREMENTAL ANGLES
|
||||
TS DELCDUZ
|
||||
TS DELCDUZ +1
|
||||
TS WBODY1 # RATES
|
||||
TS WBODY1 +1
|
||||
TS WBODY2
|
||||
TS WBODY2 +1
|
||||
TS BIAS1 # BIASES
|
||||
TS BIAS2
|
||||
TC Q
|
||||
|
||||
SETLOC MANUSTUF
|
||||
BANK
|
||||
|
||||
# Page 419
|
||||
ZEROERROR CA CDUX # PICK UP CDU ANGLES AND STORE IN
|
||||
TS CDUXD # CDU DESIRED
|
||||
CA CDUY
|
||||
TS CDUYD
|
||||
CA CDUZ
|
||||
TS CDUZD
|
||||
TC Q
|
||||
|
||||
SETLOC KALCMON1
|
||||
BANK
|
||||
|
||||
LOADCDUD CA CPHI # STORE TERMINAL ANGLES INTO
|
||||
TS CDUXD # COMMAND ANGLES
|
||||
LOADYZ CA CTHETA
|
||||
TS CDUYD
|
||||
CA CPSI
|
||||
TS CDUZD
|
||||
TC Q
|
||||
|
|
@ -1,136 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: KEYRUPT_UPRUPT.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055. It
|
||||
# is part of the source code for the Command Module's
|
||||
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 1449-1451
|
||||
# Contact: Ron Burkey <info@sandroid.org>
|
||||
# Website: http://www.ibiblio.org/apollo.
|
||||
# Mod history: 2009-05-07 RSB Adapted from Colossus249 file of the same
|
||||
# name, and page images. Corrected various
|
||||
# typos in the transcription of program
|
||||
# comments, and these should be back-ported
|
||||
# to Colossus249.
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further
|
||||
# information. Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 1449
|
||||
BANK 14
|
||||
SETLOC KEYRUPT
|
||||
BANK
|
||||
COUNT* $$/KEYUP
|
||||
|
||||
KEYRUPT1 TS BANKRUPT
|
||||
XCH Q
|
||||
TS QRUPT
|
||||
TC LODSAMPT # TIME IS SNATCHED IN RUPT FOR NOUN 65.
|
||||
CAF LOW5
|
||||
EXTEND
|
||||
RAND MNKEYIN # CHECK IF KEYS 5M-1M ON
|
||||
KEYCOM TS RUPTREG4
|
||||
CS FLAGWRD5
|
||||
MASK BIT15
|
||||
ADS FLAGWRD5
|
||||
|
||||
ACCEPTUP CAF CHRPRIO # (NOTE: RUPTREG4 = KEYTEMP1)
|
||||
TC NOVAC
|
||||
EBANK= DSPCOUNT
|
||||
2CADR CHARIN
|
||||
|
||||
CA RUPTREG4
|
||||
INDEX LOCCTR
|
||||
TS MPAC # LEAVE 5 BIT KEY CDE IN MPAC FOR CHARIN
|
||||
TC RESUME
|
||||
|
||||
# Page 1450
|
||||
# UPRUPT PROGRAM
|
||||
|
||||
UPRUPT TS BANKRUPT
|
||||
XCH Q
|
||||
TS QRUPT
|
||||
TC LODSAMPT # TIME IS SNATCHED IN RUPT FOR NOUN 65.
|
||||
CAF ZERO
|
||||
XCH INLINK
|
||||
TS KEYTEMP1
|
||||
CAF BIT3 # TURN ON UPACT LIGHT
|
||||
EXTEND # (BIT 3 OF CHANNEL 11)
|
||||
WOR DSALMOUT
|
||||
UPRPT1 CAF LOW5 # TEST FOR TRIPLE CHAR REDUNDANCY
|
||||
MASK KEYTEMP1 # LOW5 OF WORD
|
||||
XCH KEYTEMP1 # LOW5 INTO KEYTEMP1
|
||||
EXTEND
|
||||
MP BIT10 # SHIFT RIGHT 5
|
||||
TS KEYTEMP2
|
||||
MASK LOW5 # MID 5
|
||||
AD HI10
|
||||
TC UPTEST
|
||||
CAF BIT10
|
||||
EXTEND
|
||||
MP KEYTEMP2 # SHIFT RIGHT 5
|
||||
MASK LOW5 # HIGH 5
|
||||
COM
|
||||
TC UPTEST
|
||||
|
||||
UPOK CS ELRCODE # CODE IS GOOD. IF CODE = 'ERROR RESET',
|
||||
AD KEYTEMP1 # CLEAR UPLOCKFL(SET BIT4 OF FLAGWRD7 = 0)
|
||||
EXTEND # IF CODE DOES NOT = 'ERROR RESET', ACCEPT
|
||||
BZF CLUPLOCK # CODE ONLY IF UPLOCKFL IS CLEAR (=0).
|
||||
|
||||
CAF BIT4 # TEST UPLOCKFL FOR 0 OR 1.
|
||||
MASK FLAGWRD7
|
||||
CCS A
|
||||
TC RESUME # UPLOCKFL = 1
|
||||
TC ACCEPTUP # UPLOCKFL = 0
|
||||
|
||||
CLUPLOCK CS BIT4 # CLEAR UPLOCKFL (I.E., SET BIT 4 OF
|
||||
MASK FLAGWRD7 # FLAGWRD7 = 0)
|
||||
TS FLAGWRD7
|
||||
TC ACCEPTUP
|
||||
|
||||
# CODE IS BAD
|
||||
TMFAIL2 CS FLAGWRD7 # LOCK OUT FURTHER UPLINK ACTIVITY
|
||||
MASK BIT4 # (BY SETTING UPLOCKFL = 1) UNTIL
|
||||
ADS FLAGWRD7 # 'ERROR RESET' IS SENT VIA UPLINK.
|
||||
TC RESUME
|
||||
UPTEST AD KEYTEMP1
|
||||
# Page 1451
|
||||
CCS A
|
||||
TC TMFAIL2
|
||||
HI10 OCT 77740
|
||||
TC TMFAIL2
|
||||
TC Q
|
||||
|
||||
ELRCODE OCT 22
|
||||
|
||||
# 'UPLINK ACTIVITY LIGHT' IS TURNED OFF BY .....
|
||||
# 1. VBRELDSP
|
||||
# 2. ERROR RESET
|
||||
# 3. UPDATE PROGRAM(P27) ENTERED BY V70,V71,V72,AND V73.
|
||||
#
|
||||
#
|
||||
# -
|
||||
# THE RECEPTION OF A BAD CODE(I.E. CCC FAILURE) LOCKS OUT FURTHER UPLINK ACTIVITY BY SETTING BIT4 OF FLAGWRD7 = 1.
|
||||
# THIS INDICATION WILL BE TRANSFERRED TO THE GROUND BY THE DOWNLINK WHICH DOWNLINKS ALL FLAGWORDS.
|
||||
# WHEN UPLINK ACTIVITY IS LOCKED OUT ,IT CAN BE ALLOWED WHEN THE GROUND UPLINKS AND 'ERROR RESET' CODE.
|
||||
# (IT IS RECOMMENDED THAT THE 'ERROR LIGHT RESET' CODE IS PRECEEDED BY 16 BITS THE FIRST OF WHICH IS 1 FOLLOWED
|
||||
# BY 15 ZEROS. THIS WILL ELIMINATE EXTRANEOUS BITS FROM INLINK WHICH MAY HAVE BEEN LEFT OVER FROM THE ORIGINAL
|
||||
# FAILURE).
|
||||
# UPLINK ACTIVITY IS ALSO ALLOWED(UNLOCKED) DURING FRESH START WHEN FRESH START SETS BIT4 OF FLAGWRD7 = 0.
|
||||
|
||||
|
|
@ -1,317 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: LATITUDE_LONGITUDE_SUBROUTINES.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1236-1242
|
||||
# Mod history: 2009-05-14 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1236
|
||||
# SUBROUTINE TO CONVERT RAD VECTOR AT GIVEN TIME TO LAT,LONG AND ALT
|
||||
#
|
||||
# CALLING SEQUENCE
|
||||
#
|
||||
# L-1 CALL
|
||||
# L LAT-LONG
|
||||
# SUBROUTINES USED
|
||||
#
|
||||
# R-TO-RP,ARCTAN,SETGAMMA,SETRE
|
||||
# ERASABLE INIT. REQ.
|
||||
#
|
||||
# AXO,-AYO,AZO,TEPHEM (SET AT LAUNCH TIME)
|
||||
# ALPHAV = POSITION VECTOR METERS B-29
|
||||
# MPAC-- TIME (CSECS B-28)
|
||||
# ERADFLAG =1, TO COMPUTE EARTH RADIUS, =0 FOR FIXED EARTH RADIUS
|
||||
# LUNAFLAG=0 FOR EARTH,1 FOR MOON
|
||||
# OUTPUT
|
||||
#
|
||||
# LATITUDE IN LAT (REVS. B-0)
|
||||
# LONGITUDE IN LONG (REVS. B-0)
|
||||
# ALTITUDE IN ALT METERS B-29
|
||||
|
||||
BANK 30
|
||||
SETLOC LATLONG
|
||||
BANK
|
||||
|
||||
COUNT 13/LT-LG
|
||||
|
||||
EBANK= ALPHAV
|
||||
LAT-LONG STQ SETPD
|
||||
INCORPEX
|
||||
0D
|
||||
STOVL 6D # SAVE TIME IN 6-7D FOR R-TO-RP
|
||||
ALPHAV
|
||||
PUSH ABVAL # 0-5D= R FOR R-TO-RP
|
||||
STODL ALPHAM # ABS. VALUE OF R FOR ALT FORMULA BELOW
|
||||
ZEROVEC # SET MPAC=0 FOR EARTH,NON-ZERO FOR MOON
|
||||
BOFF COS # USE COS(0) TO GET NON-ZERO IN MPAC
|
||||
LUNAFLAG # 0=EARTH,1=MOON
|
||||
CALLRTRP
|
||||
CALLRTRP CALL
|
||||
R-TO-RP # RP VECTOR CONVERTED FROM R B-29
|
||||
UNIT # UNIT RP B-1
|
||||
STCALL ALPHAV # U2= 1/2 SINL FOR SETRE SUBR BELOW
|
||||
SETGAMMA # SET GAMMA=B2/A2 FOR EARTH,=1 FOR MOON
|
||||
CALL # SCALED B-1
|
||||
SETRE # CALC RE METERS B-29
|
||||
DLOAD DSQ
|
||||
ALPHAV
|
||||
PDDL DSQ
|
||||
ALPHAV +2
|
||||
# Page 1237
|
||||
DAD SQRT
|
||||
DMP SL1R
|
||||
GAMRP
|
||||
STODL COSTH # COS(LAT) B-1
|
||||
ALPHAV +4
|
||||
STCALL SINTH # SIN(LAT) B-1
|
||||
ARCTAN
|
||||
STODL LAT # LAT B0
|
||||
ALPHAV
|
||||
STODL COSTH # COS(LONG) B-1
|
||||
ALPHAV +2
|
||||
STCALL SINTH # SIN(LONG) B-1
|
||||
ARCTAN
|
||||
STODL LONG # LONG. REVS B-0 IN RANGE -1/2 TO 1/2
|
||||
ALPHAM
|
||||
DSU # ALT= R-RE METERS B-29
|
||||
ERADM
|
||||
STCALL ALT # EXIT WITH ALT METERS B-29
|
||||
INCORPEX
|
||||
# Page 1238
|
||||
# SUBROUTINE TO CONVERT LAT,LONG.ALT AT GIVEN TIME TO RADIUS VECTOR
|
||||
# CALLING SEQUENCE
|
||||
|
||||
# L-1 CALL
|
||||
# L LALOTORV
|
||||
# SUBROUTINES USED
|
||||
# SETGAMMA,SETRE,RP-TO-R
|
||||
# ERASABLE INIT. REQ.
|
||||
|
||||
# AXO,AYO,AZO,TEPHEM SET AT LAUNCH TIME
|
||||
# LAT-- LATITUDE (REVS B0)
|
||||
# LONG-- LONGITUDE (REVS B0)
|
||||
# ALT--ALTITUDE (METERS) B-29
|
||||
# MPAC-- TIME (CSECS B-28)
|
||||
# ERADFLAG =1 TO COMPUTE EARTH RADIUS, =0 FOR FIXED EARTH RADIUS
|
||||
# LUNAFLAG=0 FOR EARTH,1 FOR MOON
|
||||
# OUTPUT
|
||||
|
||||
# R-VECTOR IN ALPHAV (METERS B-29)
|
||||
LALOTORV STQ SETPD # LAT,LONG,ALT TO R VECTOR
|
||||
INCORPEX
|
||||
0D
|
||||
STCALL 6D # 6-7D= TIME FOR RP-TO-R
|
||||
SETGAMMA # GAMMA=B2/A2 FOR EARTH,1 FOR MOON B-1
|
||||
DLOAD SIN # COS(LONG)COS(LAT) IN MPAC
|
||||
LAT # UNIT RP= SIN(LONG)COS(LAT) 2-3D
|
||||
DMPR PDDL # PD 2 GAMMA*SIN(LAT) 0-1D
|
||||
GAMRP
|
||||
LAT # 0-1D = GAMMA*SIN(LAT) B-2
|
||||
COS PDDL # PD4 2-3D=COS(LAT) B-1 TEMPORARILY
|
||||
LONG
|
||||
SIN DMPR # PD 2
|
||||
PDDL COS # PD 4 2-3D=SIN(LONG)COS(LAT) B-2
|
||||
LAT
|
||||
PDDL COS # PD 6 4-5D=COS(LAT) B-1 TEMPORARILY
|
||||
LONG
|
||||
DMPR VDEF # PD4 MPAC= COS(LONG)COS(LAT) B-2
|
||||
UNIT PUSH # 0-5D= UNIT RP FOR RP-TO-R SUBR.
|
||||
STCALL ALPHAV # ALPHAV +4= SINL FOR SETRE SUBR.
|
||||
SETRE # RE METERS B-29
|
||||
DLOAD BOFF # SET MPAC=0 FOR EARTH,NON-ZERO FOR MOON
|
||||
ZEROVEC
|
||||
LUNAFLAG
|
||||
CALLRPRT
|
||||
COS # USE COS(0) TO GET NON-ZERO IN MPAC
|
||||
CALLRPRT CALL
|
||||
RP-TO-R # EXIT WITH UNIT R VECTOR IN MPAC
|
||||
STODL ALPHAV
|
||||
ERADM
|
||||
# Page 1239
|
||||
DAD VXSC # (RE + ALT)(UNIT R) METERS B-30
|
||||
ALT
|
||||
ALPHAV
|
||||
VSL1 # R METERS B-29
|
||||
STCALL ALPHAV # EXIT WITH R IN METERS B-29
|
||||
INCORPEX
|
||||
# SUBROUTINE TO COMPUTE EARTH RADIUS
|
||||
|
||||
# INPUT
|
||||
|
||||
# 1/2 SIN LAT IN ALPHAV +4
|
||||
|
||||
# OUTPUT
|
||||
|
||||
# EARTH RADIUS IN ERADM AND MPAC (METERS B-29)
|
||||
|
||||
GETERAD DLOAD DSQ
|
||||
ALPHAV +4 # SIN**2(L)
|
||||
SL1 BDSU
|
||||
DP1/2 # COS**2(L)
|
||||
DMPR BDSU
|
||||
EE
|
||||
DP1/2
|
||||
BDDV SQRT
|
||||
B2XSC
|
||||
SR4R
|
||||
STORE ERADM
|
||||
RVQ
|
||||
|
||||
# THE FOLLOWING CONSTANTS WERE COMPUTED WITH A=6378166,B=6356784 METERS
|
||||
# B2XSC= B**2 SCALED B-51
|
||||
# B2/A2= B**2/A**2 SCALED B-1
|
||||
# EE=(1-B**2/A**2) SCALED B-0
|
||||
|
||||
B2XSC 2DEC .0179450689 # B**2 SCALED B-51
|
||||
|
||||
DP1/2 = XUNIT
|
||||
B2/A2 2DEC .9933064884 B-1 # GAMMA= B**2/A**2 B-1
|
||||
|
||||
EE 2DEC 6.6935116 E-3 # (1-B**2/A**2) B-0
|
||||
|
||||
ERAD 2DEC 6373338 B-29 # PAD RADIUS
|
||||
|
||||
# Page 1240
|
||||
# ARCTAN SUBROUTINE
|
||||
|
||||
|
||||
# CALLING SEQUENCE
|
||||
|
||||
# SIN THETA IN SINTH B-1
|
||||
# COS THETA IN COSTH B-1
|
||||
# CALL ARCTAN
|
||||
|
||||
# OUTPUT
|
||||
# ARCTAN THETA IN MPAC AND THETA B-0 IN RANGE -1/2 TO +1/2
|
||||
|
||||
ARCTAN BOV
|
||||
CLROVFLW
|
||||
CLROVFLW DLOAD DSQ
|
||||
SINTH
|
||||
PDDL DSQ
|
||||
COSTH
|
||||
DAD
|
||||
BZE SQRT
|
||||
ARCTANXX # ATAN=0/0 SET THETA=0
|
||||
BDDV BOV
|
||||
SINTH
|
||||
ATAN=90
|
||||
SR1 ASIN
|
||||
STORE THETA
|
||||
PDDL BMN
|
||||
COSTH
|
||||
NEGCOS
|
||||
DLOAD RVQ
|
||||
NEGCOS DLOAD DCOMP
|
||||
BPL DAD
|
||||
NEGOUT
|
||||
DP1/2
|
||||
ARCTANXX STORE THETA
|
||||
RVQ
|
||||
|
||||
NEGOUT DSU GOTO
|
||||
DP1/2
|
||||
ARCTANXX
|
||||
ATAN=90 DLOAD SIGN
|
||||
LODP1/4
|
||||
SINTH
|
||||
STORE THETA
|
||||
RVQ
|
||||
|
||||
2DZERO = DPZERO
|
||||
|
||||
# Page 1241
|
||||
# ***** SETGAMMA SUBROUTINE *****
|
||||
# SUBROUTINE TO SET GAMMA FOR THE LAT-LONG AND LALOTORV SUBROUTINES
|
||||
|
||||
# GAMMA = B**2/A**2 FOR EARTH (B-1)
|
||||
# GAMMA = 1 FOR MOON (B-1)
|
||||
|
||||
# CALLING SEQUENCE
|
||||
# L CALL
|
||||
# L+1 SETGAMMA
|
||||
|
||||
# INPUT
|
||||
# LUNAFLAG=0 FOR EARTH,=1 FOR MOON
|
||||
|
||||
# OUTPUT
|
||||
# GAMMA IN GAMRP (B-1)
|
||||
|
||||
SETGAMMA DLOAD BOFF # BRANCH FOR EARTH
|
||||
B2/A2 # EARTH GAMMA
|
||||
LUNAFLAG
|
||||
SETGMEX
|
||||
SLOAD
|
||||
1B1 # MOON GAMMA
|
||||
SETGMEX STORE GAMRP
|
||||
RVQ
|
||||
GAMRP = 8D
|
||||
|
||||
# Page 1242
|
||||
# ***** SETRE SUBROUTINE *****
|
||||
# SUBROUTINE TO SET RE (EARTH OR MOON RADIUS)
|
||||
|
||||
# RE= RM FOR MOON
|
||||
# RE= RREF FOR FIXED EARTH RADIUS OR COMPUTED RF FOR FISCHER ELLIPSOID
|
||||
|
||||
# CALLING SEQUENCE
|
||||
# L CALL
|
||||
# L+1 SETRE
|
||||
|
||||
# SUBROUTINES USED
|
||||
# GETERAD
|
||||
|
||||
# INPUT
|
||||
# ERADFLAG=0 FOR FIXED RE, 1 FOR COMPUTED RE
|
||||
# ALPHAV +4= 1/2 SINL IF GETERAD IS CALLED
|
||||
# LUNAFLAG=0 FOR EARTH,=1 FOR MOON
|
||||
|
||||
# OUTPUT
|
||||
# ERADM= 504RM FOR MOON (METERS B-29)
|
||||
# ERADM= ERAD OR COMPUTED RF FOR EARTH (METERS B-29)
|
||||
|
||||
SETRE STQ DLOAD
|
||||
SETREX
|
||||
504RM
|
||||
BON DLOAD # BRANCH FOR MOON
|
||||
LUNAFLAG
|
||||
TSTRLSRM
|
||||
ERAD
|
||||
BOFF CALL # ERADFLAG=0 FOR FIXED RE,1 FOR COMPUTED
|
||||
ERADFLAG
|
||||
SETRXX
|
||||
GETERAD
|
||||
SETRXX STCALL ERADM # EXIT WITH RE OR RM METERS B-29
|
||||
SETREX
|
||||
TSTRLSRM BON VLOAD # ERADFLAG=0,SET R0=RLS
|
||||
ERADFLAG # =1 R0=RM
|
||||
SETRXX
|
||||
RLS
|
||||
ABVAL SR2R # SCALE FROM B-27 TO B-29
|
||||
GOTO
|
||||
SETRXX
|
||||
SETREX = S2
|
||||
504RM 2DEC 1738090 B-29 # METERS B-29 (MOON RADIUS)
|
||||
|
||||
|
|
@ -1,198 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055. It
|
||||
# is part of the source code for the Command Module's
|
||||
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 785-788
|
||||
# Contact: Ron Burkey <info@sandroid.org>
|
||||
# Website: http://www.ibiblio.org/apollo.
|
||||
# Mod history: 2009-05-12 RSB Adapted from Colossus249 file of the same
|
||||
# name and Comanche 055 page images.
|
||||
# 2009-07-26 RSB Added annotations related to computation
|
||||
# of the ephemeral(?) polynomials.
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further
|
||||
# information. Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 785
|
||||
# LUNAR AND SOLAR EPHEMERIDES SUBROUTINES
|
||||
#
|
||||
# FUNCTIONAL DESCRIPTION
|
||||
#
|
||||
# THESE SUBROUTINES ARE USED TO DETERMINE THE POSITION AND VELOCITY
|
||||
# VECTORS OF THE SUN AND THE MOON RELATIVE TO THE EARTH AT THE
|
||||
# SPECIFIED GROUND ELAPSED TIME INPUT BY THE USER.
|
||||
#
|
||||
# THE POSITION OF THE MOON IS STORED IN THE COMPUTER IN THE FORM OF
|
||||
# A NINTH DEGREE POLYNOMIAL APPROXIMATION WHICH IS VALID OVER A 15
|
||||
# DAY INTERVAL BEGINNING SHORTLY BEFORE LAUNCH. THEREFORE THE TIME
|
||||
# INPUT BY THE USER SHOULD FALL WITHIN THIS 15 DAY INTERVAL.
|
||||
#
|
||||
# LSPOS COMPUTES THE POSITION VECTORS OF THE SUN AND THE MOON.
|
||||
#
|
||||
# LUNPOS COMPUTES THE POSITION VECTOR OF THE MOON.
|
||||
#
|
||||
# LUNVEL COMPUTES THE VELOCITY VECTOR OF THE MOON.
|
||||
#
|
||||
# SOLPOS COMPUTES THE POSITION VECTOR OF THE SUN.
|
||||
#
|
||||
# CALLING SEQUENCE
|
||||
#
|
||||
# DLOAD CALL
|
||||
# TIME GROUND ELAPSED TIME
|
||||
# SUBROUTINE LSPOS OR LUNPOS OR LUNVEL OR SOLPOS
|
||||
#
|
||||
# INPUT
|
||||
#
|
||||
# 1) SPECIFIED GROUND ELAPSED TIME IN CS x B-28 LOADED IN MPAC.
|
||||
#
|
||||
# 2) TIMEMO - TIME AT THE CENTER OF THE RANGE OVER WHICH THE LUNAR
|
||||
# POSITION POLYNOMIAL IS VALID IN CS x B-42.
|
||||
#
|
||||
# 3) VECOEM - VECTOR COEFFICIENTS OF THE LUNAR POSITION POLYNOMIAL
|
||||
# LOADED IN DESCENDING SEQUENCE IN METERS/CS**N x B-2
|
||||
#
|
||||
# 4) RESO - POSITION VECTOR OF THE SUN RELATIVE TO THE EARTH AT
|
||||
# TIMEMO IN METERS x B-38.
|
||||
#
|
||||
# 5) VESO - VELOCITY VECTOR OF THE SUN RELATIVE TO THE EARTH AT
|
||||
# TIMEMO IN METERS/CS x B-9.
|
||||
#
|
||||
# 6) OMEGAES - ANGULAR VELOCITY OF THE VECTOR RESO AT TIMEMO IN
|
||||
# REV/CS x B+26.
|
||||
#
|
||||
# ALL EXCEPT THE FIRST INPUT ARE INCLUDED IN THE PRE-LAUNCH
|
||||
# ERASABLE DATA LOAD.
|
||||
#
|
||||
# OUTPUT - LSPOS
|
||||
# Page 786
|
||||
# 1) 2D OF VAC AREA CONTAINS THE POSITION VECTOR OF THE SUN RELATIVE
|
||||
# TO THE EARTH AT TIME INPUT BY THE USER IN METERS x B-38.
|
||||
#
|
||||
# 2) MPAC CONTAINS THE POSITION VECTOR OF THE MOON RELATIVE TO THE
|
||||
# EARTH AT TIME INPUT BY THE USER IN METERS x B-29.
|
||||
#
|
||||
# OUTPUT - LUNPOS
|
||||
#
|
||||
# MPAC CONTAINS THE POSITION VECTOR OF THE MOON RELATIVE TO THE
|
||||
# EARTH AT THE TIME INPUT BY USER IN METERS x B-29.
|
||||
#
|
||||
# OUTPUT - LUNVEL
|
||||
#
|
||||
# MPAC CONTAINS THE VELOCITY VECTOR OF THE MOON RELATIVE TO THE
|
||||
# EARTH AT THE TIME INPUT BY THE USER IN METERS/CS x B-7.
|
||||
#
|
||||
# OUTPUT - SOLPOS
|
||||
#
|
||||
# MPAC CONTAINS THE POSITION VECTOR OF THE SUN RELATIVE TO THE EARTH
|
||||
# AT TIME INPUT BY THE USER IN METERS x B-38.
|
||||
#
|
||||
# SUBROUTINES USED
|
||||
#
|
||||
# NONE
|
||||
#
|
||||
# REMARKS
|
||||
#
|
||||
# THE VAC AREA IS USED FOR STORAGE OF INTERMEDIATE AND FINAL RESULTS
|
||||
# OF COMPUTATIONS.
|
||||
#
|
||||
# S1, X1 AND X2 ARE USED BY THESE SUBROUTINES.
|
||||
# PRELAUNCH ERASABLE DATA LOAD ARE ONLY ERASABLE STORAGE USED BY
|
||||
# THESE SUBROUTINES.
|
||||
# RESTARTS DURING OPERATION OF THESE SUBROUTINES MUST BE HANDLED BY
|
||||
# THE USER.
|
||||
|
||||
BANK 36
|
||||
SETLOC EPHEM
|
||||
BANK
|
||||
|
||||
COUNT* $$/EPHEM
|
||||
EBANK= END-E7
|
||||
LSPOS AXT,2 # COMPUTES POSITION VECTORS OF BOTH THE
|
||||
RESA # SUN AND THE MOON. THE POSITION VECTOR
|
||||
AXT,1 GOTO # OF THE SUN IS STORED IN 2D OF THE VAC
|
||||
RES # AREA. THE POSITION VECTOR OF THE MOON
|
||||
LSTIME # IS STORED IN MPAC.
|
||||
LUNPOS AXT,1 GOTO # COMPUTES THE POSITION VECTOR OF THE MOON
|
||||
REM # AND STORES IT IN MPAC.
|
||||
LSTIME
|
||||
# Page 787
|
||||
LUNVEL AXT,1 GOTO # COMPUTES THE VELOCITY VECTOR OF THE MOON
|
||||
VEM # AND STORES IT IN MPAC.
|
||||
LSTIME
|
||||
SOLPOS STQ AXT,1 # COMPUTES THE POSITION VECTOR OF THE SUN
|
||||
X2 # AND STORES IT IN MPAC.
|
||||
RES
|
||||
LSTIME SETPD SR
|
||||
0D
|
||||
14D
|
||||
TAD DCOMP
|
||||
TEPHEM
|
||||
TAD DCOMP
|
||||
TIMEMO
|
||||
SL SSP
|
||||
16D
|
||||
S1
|
||||
6D
|
||||
GOTO
|
||||
X1
|
||||
RES PUSH DMP # PD- 2
|
||||
OMEGAES
|
||||
PUSH COS # PD- 4
|
||||
VXSC PDDL # PD- 8
|
||||
RESO
|
||||
SIN PDVL # PD-10
|
||||
RESO
|
||||
PUSH UNIT # PD-16
|
||||
VXV UNIT
|
||||
VESO
|
||||
VXV VSL1 # PD-10
|
||||
VXSC VAD # PD-02
|
||||
VSL1 GOTO # RES IN METERS x B-38 IN MPAC.
|
||||
X2
|
||||
RESA STODL 2D # RES IN METERS x B-38 IN 2D OF VAC. PD- 0
|
||||
REM AXT,1 PDVL # PD- 2
|
||||
54D
|
||||
VECOEM
|
||||
REMA VXSC VAD*
|
||||
0D
|
||||
VECOEM +60D,1
|
||||
TIX,1 VSL2 # REM IN METERS x B-29 IN MPAC.
|
||||
REMA
|
||||
RVQ
|
||||
VEM AXT,1 PDDL # PD- 2
|
||||
48D
|
||||
NINEB4
|
||||
PUSH VXSC # PD- 4
|
||||
VECOEM
|
||||
VEMA VXSC
|
||||
0D
|
||||
# Page 788
|
||||
STODL 4D # PD- 2
|
||||
DSU PUSH # PD- 4
|
||||
ONEB4
|
||||
VXSC* VAD
|
||||
VECOEM +54D,1
|
||||
4D
|
||||
TIX,1 VSL2 # VEM IN METERS/CS x B-7 IN MPAC.
|
||||
VEMA
|
||||
RVQ
|
||||
NINEB4 2DEC 9.0 B-4
|
||||
|
||||
ONEB4 2DEC 1.0 B-4
|
||||
|
|
@ -1,35 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: LUNAR_LANDMARK_SELECTION_FOR_CM.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Jim Lawton <jim.lawton@gmail.com>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 936
|
||||
# Mod history: 2009-05-11 JVL Adapted from the Colossus249/ file
|
||||
# of the same name, using Comanche055 page
|
||||
# images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 936
|
||||
|
||||
|
||||
# *** END OF TROUBLE .043 ***
|
||||
|
||||
|
|
@ -1,99 +0,0 @@
|
|||
$CONTRACT_AND_APPROVALS.agc # p. 1
|
||||
$ASSEMBLY_AND_OPERATION_INFORMATION.agc # pp. 2-26
|
||||
$TAGS_FOR_RELATIVE_SETLOC.agc # pp. 27-35
|
||||
|
||||
# p. 36 contains no code.
|
||||
# COMERASE
|
||||
$ERASABLE_ASSIGNMENTS.agc # pp. 37-130
|
||||
|
||||
# COMAID
|
||||
$INTERRUPT_LEAD_INS.agc # pp. 131-132
|
||||
$T4RUPT_PROGRAM.agc # pp. 133-169
|
||||
$DOWNLINK_LISTS.agc # pp. 170-180
|
||||
$FRESH_START_AND_RESTART.agc # pp. 181-210
|
||||
$RESTART_TABLES.agc # pp. 211-221
|
||||
$SXTMARK.agc # pp. 222-235
|
||||
$EXTENDED_VERBS.agc # pp. 236-267
|
||||
$PINBALL_NOUN_TABLES.agc # pp. 268-284
|
||||
$CSM_GEOMETRY.agc # pp. 285-296
|
||||
$IMU_COMPENSATION_PACKAGE.agc # pp. 297-306
|
||||
$PINBALL_GAME_BUTTONS_AND_LIGHTS.agc # pp. 307-389
|
||||
$R60_62.agc # pp. 390-398
|
||||
$ANGLFIND.agc # pp. 399-411
|
||||
$GIMBAL_LOCK_AVOIDANCE.agc # pp. 412-413
|
||||
$KALCMANU_STEERING.agc # pp. 414-419
|
||||
$SYSTEM_TEST_STANDARD_LEAD_INS.agc # pp. 420-422
|
||||
$IMU_CALIBRATION_AND_ALIGNMENT.agc # pp. 423-455
|
||||
|
||||
# COMEKISS
|
||||
$GROUND_TRACKING_DETERMINATION_PROGRAM.agc # pp. 456-459
|
||||
$P34-35_P74-75.agc # pp. 460-504
|
||||
$R31.agc # pp. 505-510
|
||||
$P76.agc # pp. 511-513
|
||||
$R30.agc # pp. 514-524
|
||||
$STABLE_ORBIT.agc # pp. 525-532
|
||||
|
||||
# TROUBLE
|
||||
$P11.agc # pp. 533-550
|
||||
$TPI_SEARCH.agc # pp. 551-561
|
||||
$P20-P25.agc # pp. 562-634
|
||||
$P30-P37.agc # pp. 635-648
|
||||
$P32-P33_P72-P73.agc # pp. 649-683
|
||||
$P40-P47.agc # pp. 684-736
|
||||
$P51-P53.agc # pp. 737-784
|
||||
$LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc # pp. 785-788
|
||||
$P61-P67.agc # pp. 789-818
|
||||
$SERVICER207.agc # pp. 819-836
|
||||
$ENTRY_LEXICON.agc # pp. 837-843
|
||||
$REENTRY_CONTROL.agc # pp. 844-882
|
||||
$CM_BODY_ATTITUDE.agc # pp. 883-889
|
||||
$P37_P70.agc # pp. 890-933
|
||||
$S-BAND_ANTENNA_FOR_CM.agc # pp. 934-935
|
||||
$LUNAR_LANDMARK_SELECTION_FOR_CM.agc # pp. 936
|
||||
|
||||
# TVCDAPS
|
||||
$TVCINITIALIZE.agc # pp. 937-944
|
||||
$TVCEXECUTIVE.agc # pp. 945-950
|
||||
$TVCMASSPROP.agc # pp. 951-955
|
||||
$TVCRESTARTS.agc # pp. 956-960
|
||||
$TVCDAPS.agc # pp. 961-978
|
||||
$TVCSTROKETEST.agc # pp. 979-983
|
||||
$TVCROLLDAP.agc # pp. 984-998
|
||||
$MYSUBS.agc # pp. 999-1001
|
||||
$RCS-CSM_DIGITAL_AUTOPILOT.agc # pp. 1002-1024
|
||||
$AUTOMATIC_MANEUVERS.agc # pp. 1025-1036
|
||||
$RCS-CSM_DAP_EXECUTIVE_PROGRAMS.agc # pp. 1037-1038
|
||||
$JET_SELECTION_LOGIC.agc # pp. 1039-1062
|
||||
$CM_ENTRY_DIGITAL_AUTOPILOT.agc # pp. 1063-1092
|
||||
|
||||
# CHIEFTAN
|
||||
$DOWN-TELEMETRY_PROGRAM.agc # pp. 1093-1102
|
||||
$INTER-BANK_COMMUNICATION.agc # pp. 1103-1106
|
||||
$INTERPRETER.agc # pp. 1107-1199
|
||||
$FIXED_FIXED_CONSTANT_POOL.agc # pp. 1200-1204
|
||||
$INTERPRETIVE_CONSTANTS.agc # pp. 1205-1206
|
||||
$SINGLE_PRECISION_SUBROUTINES.agc # p. 1207
|
||||
$EXECUTIVE.agc # pp. 1208-1220
|
||||
$WAITLIST.agc # pp. 1221-1235
|
||||
$LATITUDE_LONGITUDE_SUBROUTINES.agc # pp. 1236-1242
|
||||
$PLANETARY_INERTIAL_ORIENTATION.agc # pp. 1243-1251
|
||||
$MEASUREMENT_INCORPORATION.agc # pp. 1252-1261
|
||||
$CONIC_SUBROUTINES.agc # pp. 1262-1308
|
||||
$INTEGRATION_INITIALIZATION.agc # pp. 1309-1333
|
||||
$ORBITAL_INTEGRATION.agc # pp. 1334-1354
|
||||
$INFLIGHT_ALIGNMENT_ROUTINES.agc # pp. 1355-1364
|
||||
$POWERED_FLIGHT_SUBROUTINES.agc # pp. 1365-1372
|
||||
$TIME_OF_FREE_FALL.agc # pp. 1373-1388
|
||||
$STAR_TABLES.agc # pp. 1389-1393
|
||||
$AGC_BLOCK_TWO_SELF-CHECK.agc # pp. 1394-1403
|
||||
$PHASE_TABLE_MAINTENANCE.agc # pp. 1404-1413
|
||||
$RESTARTS_ROUTINE.agc # pp. 1414-1419
|
||||
$IMU_MODE_SWITCHING_ROUTINES.agc # pp. 1420-1448
|
||||
$KEYRUPT_UPRUPT.agc # pp. 1449-1451
|
||||
$DISPLAY_INTERFACE_ROUTINES.agc # pp. 1452-1484
|
||||
$SERVICE_ROUTINES.agc # pp. 1485-1492
|
||||
$ALARM_AND_ABORT.agc # pp. 1493-1496
|
||||
$UPDATE_PROGRAM.agc # pp. 1497-1507
|
||||
$RT8_OP_CODES.agc # pp. 1508-1516
|
||||
|
||||
# pp. 1517-1751: GAP-generated tables.
|
||||
|
|
@ -1,496 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: MEASUREMENT_INCORPORATION.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1252-1261
|
||||
# Mod history: 2009-05-14 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1252
|
||||
# INCORP1--PERFORMS THE SIX DIMENSIONAL STATE VECTOR DEVIATION FOR POSITI
|
||||
# ON AND VELOCITY OR THE NINE DIMENSIONAL DEVIATION OF POSITION,VELOCITY,A
|
||||
# ND RADAR OR LANDMARK BIAS.THE OUTPUT OF THE BVECTOR ROUTINE ALONG WITH T
|
||||
# HE ERROR TRANSITION MATRIX(W) ARE USED AS INPUT TO THE ROUTINE.THE DEVIA
|
||||
# TION IS OBTAINED BY COMPUTING AN ESTIMATED TRACKING MEASUREMENT FROM THE
|
||||
# CURRENT STATE VECTOR AND COMPARING IT WITH AN ACTUAL TRACKING MEASUREMEN
|
||||
# T AND APPLYING A STATISTICAL WEIGHTING VECTOR.
|
||||
# INPUT
|
||||
# DMENFLG = 0 6DIMENSIONAL BVECTOR 1= 9DIMENSIONAL
|
||||
# W = ERROR TRANSITION MATRIX 6X6 OR 9X9
|
||||
# VARIANCE = VARIANCE (SCALAR)
|
||||
# DELTAQ = MEASURED DEVIATION(SCALAR)
|
||||
# BVECTOR = 6 OR 9 DIMENSIONAL BVECTOR
|
||||
#
|
||||
# OUTPUT
|
||||
# DELTAX = STATE VECTOR DEVIATIONS 6 OR 9 DIMENSIONAL
|
||||
# ZI = VECTOR USED FOR THE INCORPORATION 6 OR 9 DIMENSIONAL
|
||||
# GAMMA = SCALAR
|
||||
# OMEGA = OMEGA WEIGHTING VECTOR 6 OR 9 DIMENSIONAL
|
||||
#
|
||||
# CALLING SEQUENCE
|
||||
# L CALL INCORP1
|
||||
#
|
||||
# NORMAL EXIT
|
||||
# L+1 OF CALLING SEQUENCE
|
||||
|
||||
BANK 37
|
||||
SETLOC MEASINC
|
||||
BANK
|
||||
|
||||
COUNT* $$/INCOR
|
||||
|
||||
EBANK= W
|
||||
|
||||
INCORP1 STQ
|
||||
EGRESS
|
||||
AXT,1 SSP
|
||||
54D
|
||||
S1
|
||||
18D # IX1 = 54 S1= 18
|
||||
AXT,2 SSP
|
||||
18D
|
||||
S2
|
||||
6 # IX2 = 18 S2=6
|
||||
Z123 VLOAD MXV*
|
||||
BVECTOR # BVECTOR (0)
|
||||
W +54D,1
|
||||
STORE ZI +18D,2
|
||||
VLOAD
|
||||
BVECTOR +6 # BVECTOR (1)
|
||||
# Page 1253
|
||||
MXV* VAD*
|
||||
W +108D,1
|
||||
ZI +18D,2
|
||||
STORE ZI +18D,2
|
||||
VLOAD
|
||||
BVECTOR +12D # BVECTOR (2)
|
||||
MXV* VAD*
|
||||
W +162D,1
|
||||
ZI +18D,2 # B(0)*W+B(1)*(W+54)+B(2)*(W+108)FIRST PAS
|
||||
STORE ZI +18D,2 # ZI THEN Z2 THEN Z3
|
||||
TIX,1
|
||||
INCOR1
|
||||
INCOR1 TIX,2 BON
|
||||
Z123 # LOOP FOR Z1,Z2,Z3
|
||||
DMENFLG
|
||||
INCOR1A
|
||||
VLOAD
|
||||
ZEROVECS
|
||||
STORE ZI +12D
|
||||
INCOR1A SETPD VLOAD
|
||||
0
|
||||
ZI
|
||||
VSQ RTB
|
||||
TPMODE
|
||||
PDVL VSQ
|
||||
ZI +6
|
||||
RTB TAD
|
||||
TPMODE
|
||||
PDVL VSQ
|
||||
ZI +12D
|
||||
RTB TAD
|
||||
TPMODE
|
||||
TAD AXT,2
|
||||
VARIANCE
|
||||
0
|
||||
STORE TRIPA # ZI*2 + Z2*2 + Z3*2 + VARIANCE
|
||||
TLOAD BOV
|
||||
VARIANCE # CLEAR OVFIND
|
||||
+1
|
||||
STORE TEMPVAR # TEMP STORAGE FOR VARIANCE
|
||||
BZE
|
||||
INCOR1C
|
||||
INCOR1B SL2 BOV
|
||||
INCOR1C
|
||||
STORE TEMPVAR
|
||||
INCR,2 GOTO
|
||||
DEC 1
|
||||
INCOR1B
|
||||
INCOR1C TLOAD ROUND
|
||||
TRIPA
|
||||
# Page 1254
|
||||
DMP SQRT
|
||||
TEMPVAR
|
||||
SL* TAD
|
||||
0,2
|
||||
TRIPA
|
||||
NORM INCR,2
|
||||
X2
|
||||
DEC -2
|
||||
SXA,2 AXT,2
|
||||
NORMGAM # NORMALIZATION COUNT -2 FOR GAMMA
|
||||
162D
|
||||
BDDV SETPD
|
||||
DP1/4TH
|
||||
0
|
||||
STORE GAMMA
|
||||
TLOAD NORM
|
||||
TRIPA
|
||||
X1
|
||||
DLOAD PDDL # PD 0-1 = NORM (A)
|
||||
MPAC
|
||||
DELTAQ
|
||||
NORM
|
||||
S1
|
||||
XSU,1 SR1
|
||||
S1
|
||||
DDV PUSH # PD 0-1 = DELTAQ/A
|
||||
GOTO
|
||||
NEWZCOMP
|
||||
-3 SSP
|
||||
S2
|
||||
54D
|
||||
INCOR2 VLOAD VXM* # COMPUT OMEGA1,2,3
|
||||
ZI
|
||||
W +162D,2
|
||||
PUSH VLOAD
|
||||
ZI +6
|
||||
VXM* VAD
|
||||
W +180D,2
|
||||
PUSH VLOAD
|
||||
ZI +12D
|
||||
VXM* VAD
|
||||
W +198D,2
|
||||
PUSH TIX,2 # PD 2-7=OMEGA1,8-13=OMEGA2,14-19=OMEGA3
|
||||
INCOR2
|
||||
VLOAD STADR
|
||||
STORE OMEGA +12D
|
||||
VLOAD STADR
|
||||
STORE OMEGA +6
|
||||
VLOAD STADR
|
||||
STORE OMEGA
|
||||
# Page 1255
|
||||
BON VLOAD
|
||||
DMENFLG
|
||||
INCOR2AB
|
||||
ZEROVECS
|
||||
STORE OMEGA +12D
|
||||
INCOR2AB AXT,2 SSP
|
||||
18D
|
||||
S2
|
||||
6
|
||||
INCOR3 VLOAD*
|
||||
OMEGA +18D,2
|
||||
VXSC VSL*
|
||||
0 # DELTAQ/A
|
||||
0,1
|
||||
STORE DELTAX +18D,2
|
||||
TIX,2 VLOAD
|
||||
INCOR3
|
||||
DELTAX +6
|
||||
VSL3
|
||||
STORE DELTAX +6
|
||||
GOTO
|
||||
EGRESS
|
||||
|
||||
# Page 1256
|
||||
# INCORP2 -INCORPORATES THE COMPUTED STATE VECTOR DEVIATIONS INTO THE
|
||||
# ESTIMATED STATE VECTOR. THE STATE VECTOR UPDATED MAY BE FOR EITHER THE
|
||||
# LEM OR THE CSM.DETERMINED BY FLAG VEHUPFLG.(ZERO = LEM) (1 = CSM)
|
||||
# INPUT
|
||||
# PERMANENT STATE VECTOR FOR EITHER THE LEM OR CSM
|
||||
# VEHUPFLG = UPDATE VEHICLE C=LEM 1=CSM
|
||||
# W = ERROR TRANSITION MATRIX
|
||||
# DELTAX = COMPUTED STATE VECTOR DEVIATIONS
|
||||
# DMENFLG = SIZE OF W MATRIX (ZERO=6X6) (1=9X9)
|
||||
# GAMMA = SCALAR FOR INCORPORATION
|
||||
# ZI = VECTOR USED IN INCORPORATION
|
||||
# OMEGA = WEIGHTING VECTOR
|
||||
#
|
||||
# OUTPUT
|
||||
# UPDATED PERMANENT STATE VECTOR
|
||||
#
|
||||
# CALLING SEQUENCE
|
||||
# L CALL INCORP2
|
||||
#
|
||||
# NORMAL EXIT
|
||||
# L+1 OF CALLING SEQUENCE
|
||||
#
|
||||
|
||||
SETLOC MEASINC1
|
||||
BANK
|
||||
|
||||
COUNT* $$/INCOR
|
||||
|
||||
INCORP2 STQ CALL
|
||||
EGRESS
|
||||
INTSTALL
|
||||
VLOAD VXSC # CALC. GAMMA * OMEGA1,2,3
|
||||
OMEGA
|
||||
GAMMA
|
||||
STOVL OMEGAM1
|
||||
OMEGA +6
|
||||
VXSC
|
||||
GAMMA
|
||||
STOVL OMEGAM2
|
||||
OMEGA +12D
|
||||
VXSC
|
||||
GAMMA
|
||||
STORE OMEGAM3
|
||||
EXIT
|
||||
CAF 54DD # INITIAL IX 1 SETTING FOR W MATRIX
|
||||
TS WIXA
|
||||
TS WIXB
|
||||
CAF ZERO
|
||||
TS ZIXA # INITIAL IX 2 SETTING FOR Z COMPONENT
|
||||
TS ZIXB
|
||||
FAZA TC PHASCHNG
|
||||
# Page 1257
|
||||
OCT 04022
|
||||
TC UPFLAG
|
||||
ADRES REINTFLG
|
||||
FAZA1 CA WIXB # START FIRST PHASE OF INCORP2
|
||||
TS WIXA # TO UPDATE 6 OR 9 DIM. W MATRIX IN TEMP
|
||||
CA ZIXB
|
||||
TS ZIXA
|
||||
TC INTPRET
|
||||
LXA,1 LXA,2
|
||||
WIXA
|
||||
ZIXA
|
||||
SSP DLOAD*
|
||||
S1
|
||||
6
|
||||
ZI,2
|
||||
DCOMP NORM # CALC UPPER 3X9 PARTITION OF W MATRIX
|
||||
S2
|
||||
VXSC XCHX,2
|
||||
OMEGAM1
|
||||
S2
|
||||
LXC,2 XAD,2
|
||||
X2
|
||||
NORMGAM
|
||||
VSL* XCHX,2
|
||||
0,2
|
||||
S2
|
||||
VAD*
|
||||
W +54D,1
|
||||
STORE HOLDW
|
||||
DLOAD* DCOMP # CALC MIDDLE 3X9 PARTITION OF W MATRIX
|
||||
ZI,2
|
||||
NORM VXSC
|
||||
S2
|
||||
OMEGAM2
|
||||
XCHX,2 LXC,2
|
||||
S2
|
||||
X2
|
||||
XAD,2 VSL*
|
||||
NORMGAM
|
||||
0,2
|
||||
XCHX,2 VAD*
|
||||
S2
|
||||
W +108D,1
|
||||
STORE HOLDW +6
|
||||
BOFF
|
||||
DMENFLG # BRANCH IF 6 DIMENSIONAL
|
||||
FAZB
|
||||
DLOAD* DCOMP # CALC LOWER 3X9 PARTITION OF W MATRIX
|
||||
ZI,2
|
||||
NORM VXSC
|
||||
# Page 1258
|
||||
S2
|
||||
OMEGAM3
|
||||
XCHX,2 LXC,2
|
||||
S2
|
||||
X2
|
||||
XAD,2 VSL*
|
||||
NORMGAM
|
||||
0,2
|
||||
XCHX,2 VAD*
|
||||
S2
|
||||
W +162D,1
|
||||
STORE HOLDW +12D
|
||||
FAZB CALL
|
||||
GRP2PC
|
||||
EXIT
|
||||
FAZB1 CA WIXA # START 2ND PHASE OF INCORP2 TO TRANSFER
|
||||
AD 6DD # TEMP REG TO PERM W MATRIX
|
||||
TS WIXB
|
||||
CA ZIXA
|
||||
AD MINUS2
|
||||
TS ZIXB
|
||||
TC INTPRET
|
||||
LXA,1 SSP
|
||||
WIXA
|
||||
S1
|
||||
6
|
||||
VLOAD
|
||||
HOLDW
|
||||
STORE W +54D,1
|
||||
VLOAD
|
||||
HOLDW +6
|
||||
STORE W +108D,1
|
||||
BOFF VLOAD
|
||||
DMENFLG
|
||||
FAZB5
|
||||
HOLDW +12D
|
||||
STORE W +162D,1
|
||||
FAZB2 TIX,1 GOTO
|
||||
+2
|
||||
FAZC # DONE WITH W MATRIX. UPDATE STATE VECTOR
|
||||
RTB
|
||||
FAZA
|
||||
FAZB5 SLOAD DAD
|
||||
ZIXB
|
||||
12DD
|
||||
BHIZ GOTO
|
||||
FAZC
|
||||
FAZB2
|
||||
FAZC CALL
|
||||
GRP2PC
|
||||
# Page 1259
|
||||
VLOAD VAD # START 3RD PHASE OF INCORP2
|
||||
X789 # 7TH,8TH,9TH,COMPONENT OF STATE VECTOR
|
||||
DELTAX +12D # INCORPORATION FOR X789
|
||||
STORE TX789
|
||||
BON RTB
|
||||
VEHUPFLG
|
||||
DOCSM
|
||||
MOVEPLEM
|
||||
FAZAB BOVB AXT,2
|
||||
TCDANZIG
|
||||
0
|
||||
BOFF AXT,2
|
||||
MOONTHIS
|
||||
+2
|
||||
2
|
||||
VLOAD VSR*
|
||||
DELTAX # B27 IF MOON ORBIT, B29 IF EARTH
|
||||
0 -7,2
|
||||
VAD BOV
|
||||
TDELTAV
|
||||
FAZAB1
|
||||
STOVL TDELTAV
|
||||
DELTAX +6 # B5 IF MOON ORBIT, B7 IF EARTH
|
||||
VSR* VAD
|
||||
0 -4,2
|
||||
TNUV
|
||||
BOV
|
||||
FAZAB2
|
||||
STCALL TNUV
|
||||
FAZAB3
|
||||
FAZAB1 VLOAD VAD
|
||||
RCV
|
||||
DELTAX
|
||||
STORE RCV
|
||||
FAZAB2 VLOAD VAD
|
||||
VCV
|
||||
DELTAX +6
|
||||
STORE VCV
|
||||
SXA,2 CALL
|
||||
PBODY
|
||||
RECTIFY
|
||||
FAZAB3 CALL
|
||||
GRP2PC
|
||||
BON RTB
|
||||
VEHUPFLG
|
||||
DOCSM1
|
||||
MOVEALEM
|
||||
CALL
|
||||
SVDWN2 # STORE DOWNLINK STATE VECTOR
|
||||
FAZAB4 CALL
|
||||
# Page 1260
|
||||
GRP2PC # PHASE CHANGE
|
||||
BOFF VLOAD
|
||||
DMENFLG
|
||||
FAZAB5 # 6 DIMENSIONAL
|
||||
TX789 # 9 DIMENSIONAL
|
||||
STORE X789
|
||||
FAZAB5 LXA,1 SXA,1
|
||||
EGRESS
|
||||
QPRET
|
||||
EXIT
|
||||
TC POSTJUMP # EXIT
|
||||
CADR INTWAKE
|
||||
DOCSM RTB GOTO
|
||||
MOVEPCSM
|
||||
FAZAB
|
||||
DOCSM1 RTB CALL
|
||||
MOVEACSM
|
||||
SVDWN1 # STORE DOWNLINK STATE VECTOR
|
||||
GOTO
|
||||
FAZAB4
|
||||
ZEROD = ZEROVECS
|
||||
54DD DEC 54
|
||||
6DD DEC -6
|
||||
12DD DEC 12
|
||||
SETLOC MEASINC2
|
||||
BANK
|
||||
COUNT* $$/INCOR
|
||||
|
||||
NEWZCOMP VLOAD ABVAL
|
||||
ZI
|
||||
STOVL NORMZI
|
||||
ZI +6
|
||||
ABVAL PUSH
|
||||
DSU BMN
|
||||
NORMZI
|
||||
+3
|
||||
DLOAD STADR
|
||||
STORE NORMZI
|
||||
VLOAD ABVAL
|
||||
ZI +12D
|
||||
PUSH DSU
|
||||
NORMZI
|
||||
BMN DLOAD
|
||||
NEWZCMP1
|
||||
STADR
|
||||
STCALL NORMZI # LARGEST ABVAL
|
||||
NEWZCMP1
|
||||
|
||||
SETLOC MEASINC3
|
||||
BANK
|
||||
# Page 1261
|
||||
NEWZCMP1 DLOAD SXA,1
|
||||
NORMZI
|
||||
NORMZI # SAVE X1
|
||||
NORM INCR,1
|
||||
X1
|
||||
DEC 2
|
||||
VLOAD VSL*
|
||||
ZI
|
||||
0,1
|
||||
STOVL ZI
|
||||
ZI +6
|
||||
VSL*
|
||||
0,1
|
||||
STOVL ZI +6
|
||||
ZI +12D
|
||||
VSL* SXA,1
|
||||
0,1
|
||||
NORMZI +1 # SAVE SHIFT
|
||||
STORE ZI +12D
|
||||
LXA,1 XSU,1
|
||||
NORMGAM
|
||||
NORMZI +1
|
||||
XSU,1
|
||||
NORMZI +1
|
||||
SXA,1 LXC,1
|
||||
NORMGAM
|
||||
NORMZI +1
|
||||
XAD,1 SETPD
|
||||
NORMZI
|
||||
2D
|
||||
GOTO
|
||||
INCOR2 -3
|
||||
NORMZI = 36D
|
||||
|
|
@ -1,93 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: MYSUBS.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 999-1001
|
||||
# Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
# 2009-05-20 RSB Corrections: EBANK= changed from MPAC to KMPAC.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 999
|
||||
BANK 20
|
||||
SETLOC MYSUBS
|
||||
BANK
|
||||
|
||||
EBANK= KMPAC
|
||||
SPCOS1 EQUALS SPCOS
|
||||
SPSIN1 EQUALS SPSIN
|
||||
SPCOS2 EQUALS SPCOS
|
||||
SPSIN2 EQUALS SPSIN
|
||||
|
||||
|
||||
COUNT 21/DAPMS
|
||||
|
||||
# ONE AND ONE HALF PRECISION MULTIPLICATION ROUTINE
|
||||
|
||||
SMALLMP TS KMPTEMP # A(X+Y)
|
||||
EXTEND
|
||||
MP KMPAC +1
|
||||
TS KMPAC +1 # AY
|
||||
CAF ZERO
|
||||
XCH KMPAC
|
||||
EXTEND
|
||||
MP KMPTEMP # AX
|
||||
DAS KMPAC # AX+AY
|
||||
TC Q
|
||||
|
||||
|
||||
# SUBROUTINE FOR DOUBLE PRECISION ADDITIONS OF ANGLES
|
||||
# A AND L CONTAIN A DP(1S) ANGLE SCALED BY 180 DEGS TO BE ADDED TO KMPAC.
|
||||
# RESULT IS PLACED IN KMPAC. TIMING = 6 MCT (22 MCT ON OVERFLOW)
|
||||
|
||||
DPADD DAS KMPAC
|
||||
EXTEND
|
||||
BZF TSK +1 # NO OVERFLOW
|
||||
CCS KMPAC
|
||||
TCF DPADD+ # + OVERFLOW
|
||||
TCF +2
|
||||
TCF DPADD- # - OVERFLOW
|
||||
CCS KMPAC +1
|
||||
TCF DPADD2+ # UPPER = 0, LOWER +
|
||||
TCF +2
|
||||
COM # UPPER = 0, LOWER -
|
||||
AD POSMAX # LOWER = 0, A=0
|
||||
TS KMPAC +1 # CAN NOT OVERFLOW
|
||||
CA POSMAX # UPPER WAS = 0
|
||||
TSK TS KMPAC
|
||||
TC Q
|
||||
|
||||
DPADD+ AD NEGMAX # KMPAC GREATER THAN 0
|
||||
TCF TSK
|
||||
|
||||
# Page 1000
|
||||
DPADD- COM
|
||||
AD POSMAX # KMPAC LESS THAN 0
|
||||
TCF TSK
|
||||
|
||||
DPADD2+ AD NEGMAX # CAN NOT OVERFLOW
|
||||
TS KMPAC +1
|
||||
CA NEGMAX # UPPER WAS = 0
|
||||
TCF TSK
|
||||
|
||||
# Page 1001 (empty page)
|
||||
|
|
@ -1,944 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: ORBITAL_INTEGRATION.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1334-1354
|
||||
# Mod history: 2009-05-14 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
# 2009-05-20 RSB Corrections: DAT -> DAD in one place,
|
||||
# BWM -> BMN, DEFEQCNT -> DIFEQCNT.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1334
|
||||
# ORBITAL INTEGRATION
|
||||
|
||||
# DELETE
|
||||
BANK 13
|
||||
SETLOC ORBITAL
|
||||
BANK
|
||||
COUNT 11/ORBIT
|
||||
|
||||
# DELETE
|
||||
KEPPREP LXA,2 SETPD
|
||||
PBODY
|
||||
0
|
||||
DLOAD* SQRT # SQRT(MU) (+18 OR +15) 0D PL 2D
|
||||
MUEARTH,2
|
||||
PDVL UNIT # PL 8D
|
||||
RCV
|
||||
PDDL NORM # NORM R (+29 OR +27 - N1) 2D PL 4D
|
||||
36D
|
||||
X1
|
||||
PDVL
|
||||
DOT PDDL # F*SQRT(MU)(+7 OR +5) 4D PL 6D
|
||||
VCV
|
||||
TAU. # (+28)
|
||||
DSU NORM
|
||||
TC
|
||||
S1
|
||||
SR1
|
||||
DDV PDDL
|
||||
2D
|
||||
DMP PUSH # FS(+6 +N1-N2) 6D PL 8D
|
||||
4D
|
||||
DSQ PDDL # (FS)SQ(+12 +2(N1-N2)) 8D PL 10D
|
||||
4D
|
||||
DSQ PDDL* # SSQ/MU(-2OR +2(N1-N2)) 10D PL 12D
|
||||
MUEARTH,2
|
||||
SR3 SR4
|
||||
PDVL VSQ # PREALIGN MU (+43 OR +37) 12D PL 14D
|
||||
VCV
|
||||
DMP BDSU # PL 12D
|
||||
36D
|
||||
DDV DMP # PL 10D
|
||||
2D # -(1/R-ALPHA)(+12 +3N1-2N2)
|
||||
DMP SL*
|
||||
DP2/3
|
||||
0 -3,1 # 10L(1/R-ALPHA)(+13 +2(N1-N2))
|
||||
XSU,1 DAD # 2(FS)SQ - ETCETERA PL 8D
|
||||
S1 # X1 = N2-N1
|
||||
SL* DSU # -FS+2(FS)SQ ETC (+6 +N1-N2) PL 6D
|
||||
8D,1
|
||||
DMP DMP
|
||||
0D
|
||||
4D
|
||||
SL* SL*
|
||||
# Page 1335
|
||||
8D,1
|
||||
0,1 # S(-FS(1-2FS)-1/6...)(+17 OR +16)
|
||||
DAD PDDL # PL 6D
|
||||
XKEP
|
||||
DMP SL* # S(+17 OR +16)
|
||||
0D
|
||||
1,1
|
||||
BOVB DAD
|
||||
TCDANZIG
|
||||
STADR
|
||||
STORE XKEPNEW
|
||||
STQ AXC,1
|
||||
KEPRTN
|
||||
DEC 10
|
||||
BON AXC,1
|
||||
MOONFLAG
|
||||
KEPLERN
|
||||
DEC 2
|
||||
GOTO
|
||||
KEPLERN
|
||||
|
||||
# Page 1336
|
||||
FBR3 LXA,1 SSP
|
||||
DIFEQCNT
|
||||
S1
|
||||
DEC -13
|
||||
DLOAD SR
|
||||
DT/2
|
||||
9D
|
||||
TIX,1 ROUND
|
||||
+1
|
||||
PUSH DAD
|
||||
TC
|
||||
STODL TAU.
|
||||
DAD
|
||||
TET
|
||||
STCALL TET
|
||||
KEPPREP
|
||||
|
||||
# Page 1337
|
||||
# AGC ROUTINE TO COMPUTE ACCELERATION COMPONENTS.
|
||||
|
||||
ACCOMP LXA,1 LXA,2
|
||||
PBODY
|
||||
PBODY
|
||||
VLOAD
|
||||
ZEROVEC
|
||||
STOVL FV
|
||||
ALPHAV
|
||||
VSL* VAD
|
||||
0 -7,2
|
||||
RCV
|
||||
STORE BETAV
|
||||
BOF XCHX,2
|
||||
DIM0FLAG
|
||||
+5
|
||||
DIFEQCNT
|
||||
STORE VECTAB,2
|
||||
XCHX,2
|
||||
DIFEQCNT
|
||||
VLOAD UNIT
|
||||
ALPHAV
|
||||
STODL ALPHAV
|
||||
36D
|
||||
STORE ALPHAM
|
||||
CALL
|
||||
GAMCOMP
|
||||
VLOAD SXA,1
|
||||
BETAV
|
||||
S2
|
||||
STODL ALPHAV
|
||||
BETAM
|
||||
STORE ALPHAM
|
||||
BOF DLOAD
|
||||
MIDFLAG
|
||||
OBLATE
|
||||
TET
|
||||
CALL
|
||||
LSPOS
|
||||
AXT,2 LXA,1
|
||||
2
|
||||
S2
|
||||
BOF
|
||||
MOONFLAG
|
||||
+3
|
||||
VCOMP AXT,2
|
||||
0
|
||||
STORE BETAV
|
||||
STOVL RPQV
|
||||
# Page 1338
|
||||
2D
|
||||
STORE RPSV
|
||||
BOF VLOAD
|
||||
DIM0FLAG
|
||||
GETRPSV
|
||||
ALPHAV
|
||||
VXSC VSR*
|
||||
ALPHAM
|
||||
1,2
|
||||
VSU XCHX,2
|
||||
BETAV
|
||||
DIFEQCNT
|
||||
STORE VECTAB +6,2
|
||||
XCHX,2
|
||||
DIFEQCNT
|
||||
GETRPSV VLOAD INCR,1
|
||||
RPQV
|
||||
4
|
||||
CLEAR BOF
|
||||
RPQFLAG
|
||||
MOONFLAG
|
||||
+5
|
||||
VSR VAD
|
||||
9D
|
||||
RPSV
|
||||
STORE RPSV
|
||||
CALL
|
||||
GAMCOMP
|
||||
AXT,2 INCR,1
|
||||
4
|
||||
4
|
||||
VLOAD
|
||||
RPSV
|
||||
STCALL BETAV
|
||||
GAMCOMP
|
||||
GOTO
|
||||
OBLATE
|
||||
GAMCOMP VLOAD VSR1
|
||||
BETAV
|
||||
VSQ SETPD
|
||||
0
|
||||
NORM ROUND
|
||||
31D
|
||||
PDDL NORM # NORMED B SQUARED TO PD LIST
|
||||
ALPHAM # NORMALIZE (LESS ONE) LENGTH OF ALPHA
|
||||
32D # SAVING NORM SCALE FACTOR IN X1
|
||||
SR1 PDVL
|
||||
BETAV # C(PDL+2) = ALMOST NORMED ALPHA
|
||||
UNIT
|
||||
STODL BETAV
|
||||
# Page 1339
|
||||
36D
|
||||
STORE BETAM
|
||||
NORM BDDV # FORM NORMALIZED QUOTIENT ALPHAM/BETAM
|
||||
33D
|
||||
SR1R PUSH # C(PDL+2) = ALMOST NORMALIZED RHO.
|
||||
DLOAD*
|
||||
ASCALE,1
|
||||
STORE S1
|
||||
XCHX,2 XAD,2
|
||||
S1
|
||||
32D
|
||||
XSU,2 DLOAD
|
||||
33D
|
||||
2D
|
||||
SR* XCHX,2
|
||||
0 -1,2
|
||||
S1
|
||||
PUSH SR1R # RHO/4 TO 4D
|
||||
PDVL DOT
|
||||
ALPHAV
|
||||
BETAV
|
||||
SL1R BDSU # (RHO/4) - 2(ALPHAV/2.BETAV/2)
|
||||
PUSH DMPR # TO PDL+6
|
||||
4
|
||||
SL1
|
||||
PUSH DAD
|
||||
DQUARTER
|
||||
PUSH SQRT
|
||||
DMPR PUSH
|
||||
10D
|
||||
SL1 DAD
|
||||
DQUARTER
|
||||
PDDL DAD # (1/4)+2((Q+1)/4) TO PD+14D
|
||||
10D
|
||||
HALFDP
|
||||
DMPR SL1
|
||||
8D
|
||||
DAD DDV
|
||||
THREE/8
|
||||
14D
|
||||
DMPR VXSC
|
||||
6
|
||||
BETAV
|
||||
PDVL VSR3 # (G/2)(C(PD+4))B/2 TO PD+16D
|
||||
ALPHAV
|
||||
VAD PUSH # A12 + C(PD+16D) TO PD+16D
|
||||
DLOAD DMP
|
||||
0
|
||||
12D
|
||||
NORM ROUND
|
||||
# Page 1340
|
||||
30D
|
||||
BDDV DMP*
|
||||
2
|
||||
MUEARTH,2
|
||||
DCOMP VXSC
|
||||
XCHX,2 XAD,2
|
||||
S1
|
||||
S2
|
||||
XSU,2 XSU,2
|
||||
30D
|
||||
31D
|
||||
BOV # CLEAR OVIND
|
||||
+1
|
||||
VSR* XCHX,2
|
||||
0 -1,2
|
||||
S1
|
||||
VAD
|
||||
FV
|
||||
STORE FV
|
||||
BOV RVQ # RETURN IF NO OVERFLOW
|
||||
+1
|
||||
GOBAQUE VLOAD ABVAL
|
||||
TDELTAV
|
||||
BZE
|
||||
INT-ABRT
|
||||
DLOAD SR
|
||||
H
|
||||
9D
|
||||
PUSH BDSU
|
||||
TC
|
||||
STODL TAU.
|
||||
TET
|
||||
DSU STADR
|
||||
STCALL TET
|
||||
KEPPREP
|
||||
CALL
|
||||
RECTIFY
|
||||
SETGO
|
||||
RPQFLAG
|
||||
TESTLOOP
|
||||
|
||||
INT-ABRT EXIT
|
||||
TC POODOO
|
||||
OCT 00430
|
||||
|
||||
# Page 1341
|
||||
# THE OBLATE ROUTINE COMPUTES THE ACCELERATION DUE TO OBLATENESS. IT USES THE UNIT OF THE VEHICLE
|
||||
# POSITION VECTOR FOUND IN ALPHAV AND THE DISTANCE TO THE CENTER IN ALPHAM. THIS IS ADDED TO THE SUM OF THE
|
||||
# DISTURBING ACCELERATIONS IN FV AND THE PROPER DIFEQ STAGE IS CALLED VIA X1.
|
||||
OBLATE LXA,2 DLOAD
|
||||
PBODY
|
||||
ALPHAM
|
||||
SETPD DSU*
|
||||
0
|
||||
RDE,2
|
||||
BPL BOF # GET URPV
|
||||
NBRANCH
|
||||
MOONFLAG
|
||||
COSPHIE
|
||||
VLOAD PDDL
|
||||
ALPHAV
|
||||
TET
|
||||
PDDL CALL
|
||||
3/5
|
||||
R-TO-RP
|
||||
STORE URPV
|
||||
VLOAD VXV
|
||||
504LM
|
||||
ZUNIT
|
||||
VAD VXM
|
||||
ZUNIT
|
||||
MMATRIX
|
||||
UNIT # POSSIBLY UNNECESSARY
|
||||
COMTERM STORE UZ
|
||||
DLOAD DMPR
|
||||
COSPHI/2
|
||||
3/32
|
||||
PDDL DSQ # P2/64 TO PD0
|
||||
COSPHI/2
|
||||
DMPR DSU
|
||||
15/16
|
||||
3/64
|
||||
PUSH DMPR # P3/32 TO PD2
|
||||
COSPHI/2
|
||||
DMP SL1R
|
||||
7/12
|
||||
PDDL DMPR
|
||||
0
|
||||
2/3
|
||||
BDSU PUSH # P4/128 TO PD4
|
||||
DMPR DMPR
|
||||
COSPHI/2 # BEGIN COMPUTING P5/1024
|
||||
9/16
|
||||
PDDL DMPR
|
||||
2
|
||||
5/128
|
||||
# Page 1342
|
||||
BDSU
|
||||
DMP*
|
||||
J4REQ/J3,2
|
||||
DDV DAD # -3
|
||||
ALPHAM # (((P5/256)B 2 /R+P4/32) /R+P3/8)ALPHAV
|
||||
4 # 4 3
|
||||
DMPR* DDV
|
||||
2J3RE/J2,2
|
||||
ALPHAM
|
||||
DAD VXSC
|
||||
2
|
||||
ALPHAV
|
||||
STODL TVEC
|
||||
DMP* SR1
|
||||
J4REQ/J3,2
|
||||
DDV DAD
|
||||
ALPHAM # -3
|
||||
DMPR* SR3
|
||||
2J3RE/J2,2 # 3 4
|
||||
DDV DAD
|
||||
ALPHAM
|
||||
VXSC VSL1
|
||||
UZ
|
||||
BVSU
|
||||
TVEC
|
||||
STODL TVEC
|
||||
ALPHAM
|
||||
NORM DSQ
|
||||
X1
|
||||
DSQ NORM
|
||||
S1 # 4
|
||||
PUSH BDDV* # NORMED R TO 0D
|
||||
J2REQSQ,2
|
||||
VXSC BOV
|
||||
TVEC
|
||||
+1 # (RESET OVERFLOW INDICATOR)
|
||||
XAD,1 XAD,1
|
||||
X1
|
||||
X1
|
||||
XAD,1 VSL*
|
||||
S1
|
||||
0 -22D,1
|
||||
VAD BOV
|
||||
FV
|
||||
GOBAQUE
|
||||
STCALL FV
|
||||
QUALITY1
|
||||
QUALITY3 DSQ # J22 TERM X R**4 IN 2D. SCALED B61
|
||||
# AS VECTOR.
|
||||
PUSH DMP # STORE COSPHI**2 SCALED B2 IN 8D
|
||||
# Page 1343
|
||||
5/8 # 5 SCALED B3
|
||||
PDDL SR2 # PUT 5 COSPHI**2, D5, IN 8D. GET
|
||||
# COSPHI**2 D2 FROM 8D
|
||||
DAD BDSU # END UP WITH (1-7 COSPHI**2), B5
|
||||
8D # ADDING COSPHI**2 B4 SAME AS COSPHI**2
|
||||
# X 2 D5
|
||||
D1/32 # 1 SCALED B5
|
||||
DMP DMP
|
||||
URPV # X COMPONENT
|
||||
5/8 # 5 SCALED B3
|
||||
VXSC VSL5 # AFTER SHIFT, SCALED B5
|
||||
URPV # VECTOR, B1.
|
||||
PDDL # VECTOR INTO 8D, 10D, 12D, SCALED B5.
|
||||
# GET 5 COSPHI**2 OUT OF 8D
|
||||
DSU DAD
|
||||
D1/32 # 1 B5
|
||||
8D # X COMPONENT (SAME AS MULTIPLYING
|
||||
# BY UNITX)
|
||||
STODL 8D
|
||||
URPV # X COMPONENT
|
||||
DMP DMP
|
||||
URPV +4 # Z COMPONENT
|
||||
5/8 # 5 B3 ANSWER B5
|
||||
SL1 DAD # FROM 12D FOR Z COMPONENT (SL1 GIVES 10
|
||||
# INSTEAD OF 5 FOR COEFFICIENT)
|
||||
PDDL NORM # BACK INTO 12D FOR Z COMPONENT.
|
||||
ALPHAM # SCALED B27 FOR MOON
|
||||
X2
|
||||
PUSH SLOAD # STORE IN 14D, DESTROYING URPV
|
||||
# X COMPONENT
|
||||
E32C31RM
|
||||
DDV VXSC # IF X2 = 0, DIVISION GIVES B53, VXSC
|
||||
# OUT OF 8D B5 GIVES B58
|
||||
VSL* VAD # SHIFT MAKES B61, FOR ADDITION OF
|
||||
# VECTOR IN 2D
|
||||
0 -3,2
|
||||
VSL* V/SC # OPERAND FROM 0D, B108 FOR X1 = 0
|
||||
0 -27D,1 # FOR X1 = 0, MAKES B88, GIVING B-20
|
||||
# FOR RESULT.
|
||||
PDDL PDDL
|
||||
TET
|
||||
5/8 # ANY NON-ZERO CONSTANT
|
||||
LXA,2 CALL # POSITION IN 0D, TIME IN 6D. X2 LEFT
|
||||
# ALONE.
|
||||
PBODY
|
||||
RP-TO-R
|
||||
VAD BOV # OVERFLOW INDICATOR RESET IN "RP-TO-R"
|
||||
FV
|
||||
GOBAQUE
|
||||
STORE FV
|
||||
# Page 1344
|
||||
NBRANCH SLOAD LXA,1
|
||||
DIFEQCNT
|
||||
MPAC
|
||||
DMP CGOTO
|
||||
-1/12
|
||||
MPAC
|
||||
DIFEQTAB
|
||||
COSPHIE DLOAD
|
||||
ALPHAV +4
|
||||
STOVL COSPHI/2
|
||||
ZUNIT
|
||||
GOTO
|
||||
COMTERM
|
||||
DIFEQTAB CADR DIFEQ+0
|
||||
CADR DIFEQ+1
|
||||
CADR DIFEQ+2
|
||||
|
||||
TIMESTEP BOF CALL
|
||||
MIDFLAG
|
||||
RECTEST # SKIP ORIGIN CHANGE LOGIC
|
||||
CHKSWTCH
|
||||
BMN
|
||||
DOSWITCH
|
||||
|
||||
RECTEST VLOAD ABVAL # RECTIFY IF
|
||||
TDELTAV
|
||||
BOV
|
||||
CALLRECT
|
||||
DSU BPL # 1) EITHER TDELTAV OR TNUV EQUALS OR
|
||||
3/4 # EXCEEDS 3/4 IN MAGNITUDE
|
||||
CALLRECT #
|
||||
DAD SL* # OR
|
||||
3/4 #
|
||||
0 -7,2 # 2) ABVAL(TDELTAV) EQUALS OR EXCEEDS
|
||||
DDV DSU # .01(ABVAL(RCV))
|
||||
10D
|
||||
RECRATIO
|
||||
BPL VLOAD
|
||||
CALLRECT
|
||||
TNUV
|
||||
ABVAL DSU
|
||||
3/4
|
||||
BOV
|
||||
CALLRECT
|
||||
BMN
|
||||
INTGRATE
|
||||
CALLRECT CALL
|
||||
RECTIFY
|
||||
INTGRATE VLOAD
|
||||
TNUV
|
||||
# Page 1345
|
||||
STOVL ZV
|
||||
TDELTAV
|
||||
STORE YV
|
||||
CLEAR
|
||||
JSWITCH
|
||||
DIFEQ0 VLOAD SSP
|
||||
YV
|
||||
DIFEQCNT
|
||||
0
|
||||
STODL ALPHAV
|
||||
DPZERO
|
||||
STORE H # START H AT ZERO. GOES 0(DELT/2)DELT.
|
||||
BON GOTO
|
||||
JSWITCH
|
||||
DOW..
|
||||
ACCOMP
|
||||
|
||||
CHKSWTCH STQ BOF
|
||||
ORIGEX
|
||||
RPQFLAG
|
||||
RPQOK # MOON POSITION IS AVAILABLE
|
||||
DLOAD CALL
|
||||
TET
|
||||
LUNPOS # GET MOON POSITION
|
||||
BOF VCOMP
|
||||
MOONFLAG
|
||||
+1
|
||||
STORE RPQV
|
||||
|
||||
RPQOK LXA,2 VLOAD # RESTORE X2 AFTER USING LUNPOS
|
||||
PBODY
|
||||
TDELTAV # _
|
||||
VSL* VAD # |RQC|-RSPHERE WHEN OUTSIDE THE SPHERE.
|
||||
0 -7,2 # _ _ _
|
||||
RCV # R = RDEVIATION + RCONIC
|
||||
BOF ABVAL
|
||||
MOONFLAG
|
||||
EARSPH
|
||||
SR2 BDSU # INSIDE
|
||||
RSPHERE
|
||||
GOTO
|
||||
ORIGEX
|
||||
EARSPH VSU ABVAL # OUTSIDE
|
||||
RPQV
|
||||
DSU GOTO
|
||||
RSPHERE
|
||||
ORIGEX
|
||||
|
||||
DOSWITCH CALL
|
||||
ORIGCHNG
|
||||
GOTO
|
||||
INTGRATE
|
||||
|
||||
# Page 1346
|
||||
ORIGCHNG STQ CALL
|
||||
ORIGEX
|
||||
RECTIFY
|
||||
VLOAD VSL*
|
||||
RCV
|
||||
0,2
|
||||
VSU VSL*
|
||||
RPQV
|
||||
2,2
|
||||
STORE RRECT
|
||||
STODL RCV
|
||||
TET
|
||||
CALL
|
||||
LUNVEL
|
||||
BOF VCOMP
|
||||
MOONFLAG
|
||||
+1
|
||||
PDVL VSL*
|
||||
VCV
|
||||
0,2
|
||||
VSU
|
||||
VSL*
|
||||
0 +2,2
|
||||
STORE VRECT
|
||||
STORE VCV
|
||||
LXA,2 SXA,2
|
||||
ORIGEX
|
||||
QPRET
|
||||
BON GOTO
|
||||
MOONFLAG
|
||||
CLRMOON
|
||||
SETMOON
|
||||
# Page 1347
|
||||
# THE RECTIFY SUBROUTINE IS CALLED BY THE INTEGRATION PROGRAM AND OCCASIONALLY BY THE MEASUREMENT INCORPORATION
|
||||
# ROUTINES TO ESTABLISH A NEW CONIC.
|
||||
|
||||
|
||||
RECTIFY LXA,2 VLOAD
|
||||
PBODY
|
||||
TDELTAV
|
||||
VSL* VAD
|
||||
0 -7,2
|
||||
RCV
|
||||
STORE RRECT
|
||||
STOVL RCV
|
||||
TNUV
|
||||
VSL* VAD
|
||||
0 -4,2
|
||||
VCV
|
||||
MINIRECT STORE VRECT
|
||||
STOVL VCV
|
||||
ZEROVEC
|
||||
STORE TDELTAV
|
||||
STODL TNUV
|
||||
ZEROVEC
|
||||
STORE TC
|
||||
STORE XKEP
|
||||
RVQ
|
||||
|
||||
# Page 1348
|
||||
# THE THREE DIFEQ ROUTINES - DIFEQ+0, DIFEQ+12, DIFEQ+24 - ARE ENTEREDTO PROCESS THE CONTRIBUTIONS AT THE
|
||||
# BEGINNING, MIDDLE, AND END OF THE TIMESTEP, RESPECTIVELY. THE UPDATING IS DONE BY THE NYSTROM METHOD.
|
||||
DIFEQ+0 VLOAD VSR3
|
||||
FV
|
||||
STCALL PHIV
|
||||
DIFEQCOM
|
||||
DIFEQ+1 VLOAD VSR1
|
||||
FV
|
||||
PUSH VAD
|
||||
PHIV
|
||||
STOVL PSIV
|
||||
VSR1 VAD
|
||||
PHIV
|
||||
STCALL PHIV
|
||||
DIFEQCOM
|
||||
DIFEQ+2 DLOAD DMPR
|
||||
H
|
||||
DP2/3
|
||||
PUSH VXSC
|
||||
PHIV
|
||||
VSL1 VAD
|
||||
ZV
|
||||
VXSC VAD
|
||||
H
|
||||
YV
|
||||
STOVL YV
|
||||
FV
|
||||
VSR3 VAD
|
||||
PSIV
|
||||
VXSC VSL1
|
||||
VAD
|
||||
ZV
|
||||
STORE ZV
|
||||
BOFF CALL
|
||||
JSWITCH
|
||||
ENDSTATE
|
||||
GRP2PC
|
||||
LXA,2 VLOAD
|
||||
COLREG
|
||||
ZV
|
||||
VSL3 # ADJUST W-POSITION FOR STORAGE
|
||||
STORE W +54D,2
|
||||
VLOAD
|
||||
YV
|
||||
VSL3 BOV
|
||||
WMATEND
|
||||
STORE W,2
|
||||
|
||||
CALL
|
||||
GRP2PC
|
||||
# Page 1349
|
||||
LXA,2 SSP
|
||||
COLREG
|
||||
S2
|
||||
0
|
||||
INCR,2 SXA,2
|
||||
6
|
||||
YV
|
||||
TIX,2 CALL
|
||||
RELOADSV
|
||||
GRP2PC
|
||||
LXA,2 SXA,2
|
||||
YV
|
||||
COLREG
|
||||
|
||||
NEXTCOL CALL
|
||||
GRP2PC
|
||||
LXA,2 VLOAD*
|
||||
COLREG
|
||||
W,2
|
||||
VSR3 # ADJUST W-POSITION FOR INTEGRATION
|
||||
STORE YV
|
||||
VLOAD* AXT,1
|
||||
W +54D,2
|
||||
0
|
||||
VSR3 # ADJUST W-VELOCITY FOR INTEGRATION
|
||||
STCALL ZV
|
||||
DIFEQ0
|
||||
|
||||
ENDSTATE BOV VLOAD
|
||||
GOBAQUE
|
||||
ZV
|
||||
STOVL TNUV
|
||||
YV
|
||||
STORE TDELTAV
|
||||
BON BOFF
|
||||
MIDAVFLG
|
||||
CKMID2 # CHECK FOR MID2 BEFORE GOING TO TIMEINC
|
||||
DIM0FLAG
|
||||
TESTLOOP
|
||||
EXIT
|
||||
TC PHASCHNG
|
||||
OCT 04022 # PHASE 1
|
||||
TC UPFLAG # PHASE CHANGE HAS OCCURRED BETWEEN
|
||||
ADRES REINTFLG # INTSTALL AND INTWAKE
|
||||
TC INTPRET
|
||||
SSP
|
||||
QPRET
|
||||
AMOVED
|
||||
BON GOTO
|
||||
VINTFLAG
|
||||
# Page 1350
|
||||
ATOPCSM
|
||||
ATOPLEM
|
||||
AMOVED SET SSP
|
||||
JSWITCH
|
||||
COLREG
|
||||
DEC -30
|
||||
BOFF SSP
|
||||
D6OR9FLG
|
||||
NEXTCOL
|
||||
COLREG
|
||||
DEC -48
|
||||
GOTO
|
||||
NEXTCOL
|
||||
|
||||
RELOADSV DLOAD # RELOAD TEMPORARY STATE VECTOR
|
||||
TDEC # FROM PERMANENT IN CASE OF
|
||||
STCALL TDEC1
|
||||
INTEGRV2 # BY STARTING AT INTEGRV2.
|
||||
DIFEQCOM DLOAD DAD # INCREMENT H AND DIFEQCNT.
|
||||
DT/2
|
||||
H
|
||||
INCR,1 SXA,1
|
||||
DEC -12
|
||||
DIFEQCNT # DIFEQCNT SET FOR NEXT ENTRY.
|
||||
STORE H
|
||||
VXSC VSR1
|
||||
FV
|
||||
VAD VXSC
|
||||
ZV
|
||||
H
|
||||
VAD
|
||||
YV
|
||||
STORE ALPHAV
|
||||
BON GOTO
|
||||
JSWITCH
|
||||
DOW..
|
||||
FBR3
|
||||
|
||||
WMATEND CLEAR CLEAR
|
||||
DIM0FLAG # DONT INTEGRATE W THIS TIME
|
||||
ORBWFLAG # INVALIDATE W
|
||||
CLEAR
|
||||
RENDWFLG
|
||||
SET EXIT
|
||||
STATEFLG # PICK UP STATE VECTOR UPDATE
|
||||
TC ALARM
|
||||
OCT 421
|
||||
TC INTPRET
|
||||
# Page 1351
|
||||
GOTO
|
||||
TESTLOOP # FINISH INTEGRATING STATE VECTOR
|
||||
|
||||
# Page 1352
|
||||
# ORBITAL ROUTINE FOR EXTRAPOLATION OF THE W MATRIX. IT COMPUTES THE SECOND DERIVATIVE OF EACH COLUMN POSITION
|
||||
# VECTOR OF THE MATRIX AND CALLS THE NYSTROM INTEGRATION ROUTINES TO SOLVETHE DIFFERENTIAL EQUATIONS. THE PROGRAM
|
||||
# USES A TABLE OF VEHICLE POSITION VECTORS COMPUTED DURING THE INTEGRATION OF THE VEHICLES POSITION AND VELOCITY.
|
||||
DOW.. LXA,2 DLOAD*
|
||||
PBODY
|
||||
MUEARTH,2
|
||||
STCALL BETAM
|
||||
DOW..1
|
||||
STORE FV
|
||||
BOF INCR,1
|
||||
MIDFLAG
|
||||
NBRANCH
|
||||
DEC -6
|
||||
LXC,2 DLOAD*
|
||||
PBODY
|
||||
MUEARTH -2,2
|
||||
STCALL BETAM
|
||||
DOW..1
|
||||
BON VSR6
|
||||
MOONFLAG
|
||||
+1
|
||||
VAD
|
||||
FV
|
||||
STCALL FV
|
||||
NBRANCH
|
||||
DOW..1 VLOAD VSR4
|
||||
ALPHAV
|
||||
PDVL* UNIT
|
||||
VECTAB,1
|
||||
PDVL VPROJ
|
||||
ALPHAV
|
||||
VXSC VSU
|
||||
3/4
|
||||
PDDL NORM
|
||||
36D
|
||||
S2
|
||||
PUSH DSQ
|
||||
DMP
|
||||
NORM PDDL
|
||||
34D
|
||||
BETAM
|
||||
SR1 DDV
|
||||
VXSC
|
||||
LXA,2 XAD,2
|
||||
S2
|
||||
S2
|
||||
XAD,2 XAD,2
|
||||
S2
|
||||
34D
|
||||
VSL* RVQ
|
||||
# Page 1353
|
||||
0 -8D,2
|
||||
|
||||
SETLOC ORBITAL1
|
||||
BANK
|
||||
|
||||
3/5 2DEC .6 B-2
|
||||
|
||||
THREE/8 2DEC .375
|
||||
|
||||
.3D 2DEC .3 B-2
|
||||
|
||||
3/64 2DEC 3 B-6
|
||||
|
||||
DP1/4 2DEC .25
|
||||
|
||||
DQUARTER EQUALS DP1/4
|
||||
POS1/4 EQUALS DP1/4
|
||||
3/32 2DEC 3 B-5
|
||||
|
||||
15/16 2DEC 15. B-4
|
||||
|
||||
3/4 2DEC 3.0 B-2
|
||||
|
||||
7/12 2DEC .5833333333
|
||||
|
||||
9/16 2DEC 9 B-4
|
||||
|
||||
5/128 2DEC 5 B-7
|
||||
|
||||
DPZERO EQUALS ZEROVEC
|
||||
DP2/3 2DEC .6666666667
|
||||
|
||||
2/3 EQUALS DP2/3
|
||||
OCT27 OCT 27
|
||||
|
||||
BANK 13
|
||||
SETLOC ORBITAL2
|
||||
BANK
|
||||
# IT IS VITAL THAT THE FOLLOWING CONSTANTS NOT BE SHUFFLED
|
||||
DEC -11
|
||||
DEC -2
|
||||
DEC -9
|
||||
DEC -6
|
||||
DEC -2
|
||||
DEC -2
|
||||
DEC 0
|
||||
DEC -12
|
||||
DEC -9
|
||||
DEC -4
|
||||
ASCALE DEC -7
|
||||
DEC -6
|
||||
# Page 1354
|
||||
2DEC* 1.32715445 E16 B-54* # S
|
||||
|
||||
2DEC* 4.9027780 E8 B-30* # M
|
||||
|
||||
MUEARTH 2DEC* 3.986032 E10 B-36*
|
||||
|
||||
2DEC 0
|
||||
|
||||
J4REQ/J3 2DEC* .4991607391 E7 B-26*
|
||||
|
||||
2DEC -176236.02 B-25
|
||||
|
||||
2J3RE/J2 2DEC* -.1355426363 E5 B-27*
|
||||
|
||||
2DEC* .3067493316 E18 B-60*
|
||||
|
||||
J2REQSQ 2DEC* 1.75501139 E21 B-72*
|
||||
|
||||
3J22R2MU 2DEC* 9.20479048 E16 B-58*
|
||||
|
||||
5/8 2DEC 5 B-3
|
||||
|
||||
-1/12 2DEC -.1
|
||||
|
||||
MUM = MUEARTH -2
|
||||
RECRATIO 2DEC .01
|
||||
|
||||
RSPHERE 2DEC 64373.76 E3 B-29
|
||||
|
||||
RDM 2DEC 16093.44 E3 B-27
|
||||
|
||||
RDE 2DEC 80467.20 E3 B-29
|
||||
|
||||
RATT EQUALS 00
|
||||
VATT EQUALS 6D
|
||||
TAT EQUALS 12D
|
||||
RATT1 EQUALS 14D
|
||||
VATT1 EQUALS 20D
|
||||
MU(P) EQUALS 26D
|
||||
TDEC1 EQUALS 32D
|
||||
URPV EQUALS 14D
|
||||
COSPHI/2 EQUALS URPV +4
|
||||
UZ EQUALS 20D
|
||||
TVEC EQUALS 26D
|
||||
|
|
@ -1,928 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: P11.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Hartmuth Gutsche <hgutsche@xplornet.com>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 533-550
|
||||
# Mod history: 2009-05-13 HG Started adapting from the Colossus249/ file
|
||||
# of the same name, using Comanche055 page
|
||||
# images 0533.jpg - 0550.jpg.
|
||||
# 2009-05-20 RSB Corrections: ERTHALT -> EARTHALT,
|
||||
# STATSW -> SATSW.
|
||||
# 2009-05-23 RSB At end of RESCALES, corrected TC 0 to TC Q.
|
||||
# Added an SBANK= prior to a 2CADR.
|
||||
# 2010-08-24 JL Fixed page numbers. Added missing comment character on p537.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
# Page 533
|
||||
# EARTH ORBIT INSERTION MONITOR PROGRAM
|
||||
# *************************************
|
||||
|
||||
# PROGRAM DESCRIPTION -P11-
|
||||
|
||||
# MOD NO. 1
|
||||
# MOD BY ELIASSEN
|
||||
|
||||
# FUNCTIONAL DESCRIPTION
|
||||
|
||||
# P11 IS INITIATED BY
|
||||
|
||||
# A) GYROCOMPASS PRG P02 WHEN LIFTOFF DISCRETE IS RECEIVED OR
|
||||
# B) BACKUP THRU VERB 75 ENTER
|
||||
|
||||
# PROGRAM WILL
|
||||
# 1. ZERO CMC CLOCK AT LIFTOFF (OR UPON RECEIPT OF BACKUP)
|
||||
# 2. UPDATE TEPHEM TO TIME CMC CLOCK WAS ZEROED
|
||||
# 3. INITIATE SERVICER AT PREREAD1
|
||||
# 4. CHANGE MAJOR MODE TO 11
|
||||
# 5. CLEAR DSKY IN CASE OF V 75
|
||||
# 6. STORE LIFTOFF IMU-CDU ANGLES FOR ATT. ERROR DISPLAY
|
||||
# 7. TERMINATE GYROCOMPASSING - -
|
||||
# 8. COMPUTE INITIAL VECTORS RN, VN - - -
|
||||
# 9. COMPUTE REFSMMAT FOR PRELAUNCH ALIGNMENT WHERE U ,U ,U ARE
|
||||
# - - X Y Z
|
||||
# U =(UNIT(-R) LOCAL VERTICAL AT TIME OF LIFTOFF
|
||||
# Z
|
||||
# - - -
|
||||
# U =UNIT(A), A=HOR VECTOR AT LAUNCH AZIMUTH
|
||||
# X
|
||||
# - - -
|
||||
# U =U * U
|
||||
# U Z X
|
||||
|
||||
# 10. SET REFSMMAT KNOWN FLAG
|
||||
# 11. SET AVGEXIT IN SERVICER TO VHHDOT TO
|
||||
# COMPUTE AND DISPLAY NOUN 62 EVERY 2 SECONDS
|
||||
|
||||
# R1 V1 - INERTIAL VELOCITY MAGNITUDE IN FPS
|
||||
# R2 HDOT - RATE OF CHANGE OF VEHICLE VEL IN FPS
|
||||
# R3 H - VEHICLE ALTITUDE ABOVE PAD IN NM
|
||||
|
||||
# 12. DISPLAY BODY AXES ATT. ERRORS ON FDAI NEEDLES
|
||||
#
|
||||
# A) FROM L.O. TO RPSTART (APPROX. 0 TO +10SECS AFTER L.O.)
|
||||
# DESIRED ATTITUDE IS AS STORED AT L.O.
|
||||
# B) FROM RPSTART TO POLYSTOP(APPROX.+10 TO +133SECS AFTER LO)
|
||||
# DESIRED ATTITUDE IS SPECIFIED BY CMC PITCH AND ROLL
|
||||
# POLYNOMIALS DURING SATURN ROLLOUT AND PITCHOVER
|
||||
# Page 534
|
||||
# THE DISPLAY IS RUN AS LOW PRIORITY JOB APPROX.
|
||||
# EVERY 1/2 SEC OR LESS AND IS DISABLED UPON OVFLO OF TIME1
|
||||
|
||||
# SUBROUTINES CALLED
|
||||
|
||||
# 2PHSCHNG BANKCALL CALCGRA CDUTRIG CLEANDSP DANZIG
|
||||
# DELAYJOB EARTHR ENDOFJOB FINDVAC IBNKCALL
|
||||
# INTPRET LALOTORV NEEDLER NEWMODEX PHASCHNG
|
||||
# POSTJUMP POWRSERS PREREAD1 REGODSPR S11.1
|
||||
# SERVEXIT TASKOVER TCDANZIG V1STO2S WAITLIST
|
||||
|
||||
# ASTRONAUT REQUESTS (IF ALTITUDE ABOVE 300,000 FT)
|
||||
#
|
||||
# DSKY -
|
||||
# MONITOR DISPLAY OF TIME TO PERIGEE R1 HOURS
|
||||
# R2 MINUTES
|
||||
|
||||
# DSKY -
|
||||
# MONITOR DISPLAY OF R1 APOGEE ALTITUDE IN NAUTICAL MILES
|
||||
# R2 PERIGEE ALTITUDE IN NAUTICAL MILES
|
||||
# R3 TFF IN MINUTES/SECS
|
||||
|
||||
# IF ASTRONAUT HAS REQUESTED ANY OF THESE DISPLAYS HE MUST
|
||||
# HIT PROCEED TO RETURN TO NORMAL NOUN 62 DISPLAY.
|
||||
# NORMAL EXIT MODE
|
||||
|
||||
# ASTRONAUT VERB 37 ENTER 00 ENTER
|
||||
|
||||
# ALARM MODES - NONE
|
||||
|
||||
# ABORT EXIT MODES -
|
||||
|
||||
# OUTPUT
|
||||
|
||||
# TLIFTOFF (DP) TEPHEM (TP)
|
||||
# REFSMMAT
|
||||
# DSKY DISPLAY
|
||||
# FDAI DISPLAY
|
||||
|
||||
# ERASABLE INITIALIZATION
|
||||
|
||||
# AZO, AXO, -AYO
|
||||
# LATITUDE
|
||||
# PADLONG
|
||||
# TEPHEM
|
||||
# PGNCSALT
|
||||
# POLYNUM THRU POLYNUM +14D)
|
||||
# RPSTART
|
||||
# POLYSTOP
|
||||
# FLAGS SET OR RESET
|
||||
# Page 535
|
||||
# SET REFSMFLG
|
||||
# SET DVMON IDLE FLAG
|
||||
# CLEAR ERADFLAG
|
||||
|
||||
# DEBRIS
|
||||
|
||||
# LIFTTEMP
|
||||
# POLYNUM THRU POLYNUM +7
|
||||
# SPOLYARG
|
||||
# BODY1, BODY2, BODY3
|
||||
# VMAG2, ALTI, HDOT
|
||||
# CENTRALS, CORE SET AND VAC AREAS
|
||||
COUNT 34/P11
|
||||
|
||||
BITS5-6 = SUPER011
|
||||
BANK 42
|
||||
SETLOC P11ONE
|
||||
BANK
|
||||
|
||||
EBANK= TEPHEM
|
||||
P11 CA EBANK3
|
||||
TS EBANK
|
||||
|
||||
EXTEND
|
||||
DCA REP11S # DIRECT RESTARTS TO REP11
|
||||
DXCH -PHASE3
|
||||
CS ZERO
|
||||
ZL
|
||||
TS LIFTTEMP
|
||||
DXCH -PHASE5 # INACTIVE GROUP 5, PRELAUNCH PROTECTION
|
||||
P11+7 EXTEND
|
||||
DCA REP11SA
|
||||
DXCH TLIFTOFF
|
||||
|
||||
EXTEND
|
||||
DCA TIME2
|
||||
DXCH LIFTTEMP # FOR RESTARTS
|
||||
|
||||
CA ZERO
|
||||
ZL
|
||||
DXCH TIME2
|
||||
REP11A-2 DXCH TLIFTOFF
|
||||
REP11A-1 DXCH -PHASE3 # RESET PHASE
|
||||
|
||||
|
||||
REP11A INHINT
|
||||
EXTEND
|
||||
DCA TEPHEM +1
|
||||
DXCH TEPHEM1 +1
|
||||
CA TEPHEM
|
||||
# Page 536
|
||||
XCH TEPHEM1
|
||||
|
||||
EXTEND
|
||||
DCA TLIFTOFF
|
||||
DAS TEPHEM1 +1
|
||||
ADS TEPHEM1 # CORRECTFOR OVERFLOW
|
||||
|
||||
TC PHASCHNG
|
||||
OCT 05023
|
||||
OCT 22000
|
||||
|
||||
INHINT
|
||||
EXTEND
|
||||
DCA TEPHEM1
|
||||
DXCH TEPHEM
|
||||
CA TEPHEM1 +2
|
||||
XCH TEPHEM +2
|
||||
|
||||
CAF EBDVCNT
|
||||
TS EBANK
|
||||
EBANK= DVCNTR
|
||||
TC IBNKCALL
|
||||
CADR PREREAD1 # ZERO PIPS AND INITIALIZE AVERAGEG
|
||||
|
||||
TC PHASCHNG
|
||||
OCT 05023 # CONTINUE HERE ON RESTART
|
||||
OCT 22000
|
||||
|
||||
CAF .5SEC # START ATT ERROR DISPLAY
|
||||
TC WAITLIST # IN .5 SEC
|
||||
EBANK= BODY3
|
||||
2CADR ATERTASK
|
||||
|
||||
TC NEWMODEX # DISPLAY MM 11
|
||||
MM 11
|
||||
|
||||
TC UPFLAG
|
||||
ADRES NODOP01
|
||||
|
||||
CA POWDNCOD # SWITCH TO POWERED FLIGHT DOWNLIST
|
||||
TS DNLSTCOD
|
||||
|
||||
TC BANKCALL
|
||||
CADR CLEANDSP # CLEAR DSKY IN CASE OF V75
|
||||
|
||||
TC 2PHSCHNG
|
||||
OCT 40514 # PROTECT ATERTASK
|
||||
OCT 00073
|
||||
CAF EBQPLACE
|
||||
# Page 537
|
||||
TS EBANK
|
||||
|
||||
EBANK= QPLACES
|
||||
CA P11XIT # SET EXIT FROM PROUT IN EARTHR
|
||||
TS QPLACES
|
||||
TC INTPRET
|
||||
VLOAD MXV
|
||||
THETAN
|
||||
XSM
|
||||
VSL1 VAD
|
||||
ERCOMP
|
||||
STODL ERCOMP
|
||||
TLIFTOFF
|
||||
SSP GOTO
|
||||
S2
|
||||
CADR PROUT # RETURN FROM EARTHR
|
||||
EARTHR +3
|
||||
MATRXJOB ZL # STORE DP GIMBAL ANGLES FOR ATTITUDE
|
||||
CA CDUX # ERROR DISPLAY AFTER LIFTOFF
|
||||
DXCH OGC
|
||||
ZL
|
||||
CA CDUY
|
||||
DXCH IGC
|
||||
ZL
|
||||
CA CDUZ
|
||||
DXCH MGC
|
||||
TC INTPRET # -
|
||||
VLOAD VSR1 # SCALE OGC B-1
|
||||
OGC
|
||||
STORE OGC
|
||||
SSP # ZERO RTX2
|
||||
RTX2 # FOR
|
||||
0 # EARTH
|
||||
DLOAD PDDL
|
||||
PGNCSALT # ALTITUDE OF PGNCS
|
||||
PADLONG # LONGITUDE
|
||||
PDDL VDEF
|
||||
LATITUDE # GEODETIC LATITUDE
|
||||
STODL LAT # LAT,LONG,ALT ARE CONSECUTIVE
|
||||
HI6ZEROS # TIME = 0
|
||||
CLEAR CALL
|
||||
ERADFLAG
|
||||
LALOTORV # CONVERT TO POSITION VECTOR IN REF.COORDS
|
||||
|
||||
STCALL RN1 # -
|
||||
GETDOWN # RETURN WITH VECTOR FOR DOWN DIRECTION
|
||||
VCOMP UNIT
|
||||
STOVL REFSMMAT +12D # UNITZ = UNIT(GRAV)
|
||||
RN1
|
||||
VXV VXSC
|
||||
# Page 538
|
||||
UNITW # SCALED AT 1
|
||||
-ERTHRAT # V = EARTHRATE X R
|
||||
VSL4 # SCALE TO 2(7) M/CS
|
||||
STOVL VN1
|
||||
REFSMMAT +12D
|
||||
VXV UNIT
|
||||
UNITW # (REF3 X UNITW) = EAST
|
||||
PUSH VXV
|
||||
REFSMMAT +12D # (EAST X REF3) = -SOUTH
|
||||
UNIT PDDL
|
||||
LAUNCHAZ # COS(AZ)*SOUTH
|
||||
COS VXSC
|
||||
STADR
|
||||
STODL REFSMMAT # TEMPORARY STORAGE
|
||||
LAUNCHAZ
|
||||
SIN VXSC # SIN(AZ)*EAST
|
||||
VAD UNIT # SIN(AZ)*EAST - COS(AZ)*SOUTH = REF1
|
||||
REFSMMAT
|
||||
STORE REFSMMAT
|
||||
|
||||
VXV UNIT # (REF1 X REF3) = -REF3
|
||||
REFSMMAT +12D
|
||||
VCOMP
|
||||
STORE REFSMMAT +6
|
||||
DLOAD DSU
|
||||
DPHALF # 1/2 REV
|
||||
LAUNCHAZ
|
||||
DAD PDDL
|
||||
AZIMUTH
|
||||
SATRLRT # SET SATRLRT = -SATRLRT IF
|
||||
SIGN STADR # (1/2REV -LAVNCHAZ +AZIMUTH) IS NEGATIVE
|
||||
STORE SATRLRT # FOR ROLL CALC IN FDAI ATT. ERROR DISPLAY
|
||||
SET EXIT
|
||||
REFSMFLG # SET REFSMMAT KNOWN FLAG
|
||||
|
||||
TC PHASCHNG
|
||||
OCT 04023
|
||||
|
||||
EXTEND
|
||||
DCA P11SCADR
|
||||
DXCH AVGEXIT # SET AVGEXIT
|
||||
|
||||
CA PRIO31 # 2 SECONDS AT 2(+8)
|
||||
TS 1/PIPADT
|
||||
|
||||
EBANK= RCSFLAGS
|
||||
CA EBANK6
|
||||
TS EBANK
|
||||
|
||||
INHINT
|
||||
# Page 539
|
||||
CS ZERO
|
||||
TS TBASE5 # RESTART READACCS 2 SECONDS AFTER LIFTOFF
|
||||
|
||||
CS TIME1
|
||||
AD 2SECS # DO READACCS 2 SECONDS AFTER LIFTOFF
|
||||
|
||||
CCS A # CHECK TO INSURE DT IS POSITIVE
|
||||
TCF +3 # TIME POSITIVE
|
||||
TCF +2 # CANNOT GET HERE
|
||||
CA ZERO # TIME NEGATIVE - SET TO 1
|
||||
AD ONE # RESTORE TIME - OR MAKE POSITIVE
|
||||
|
||||
TC WAITLIST
|
||||
EBANK= AOG
|
||||
2CADR READACCS
|
||||
|
||||
TC 2PHSCHNG
|
||||
OCT 00003 # TURN OFF GROUP 3
|
||||
OCT 00025 # PROTECT NORMLIZE AND READACCS
|
||||
|
||||
TC POSTJUMP
|
||||
CADR NORMLIZE # DO NORMLIZE AND ENDOFJOB
|
||||
|
||||
|
||||
EBANK= TEPHEM
|
||||
REP11 INHINT
|
||||
CCS PHASE5
|
||||
TC ENDOFJOB
|
||||
|
||||
CCS LIFTTEMP
|
||||
TCF +4
|
||||
TCF +3
|
||||
TCF +2
|
||||
TCF P11+7
|
||||
|
||||
CS TLIFTOFF
|
||||
EXTEND
|
||||
BZMF ENDREP11
|
||||
|
||||
CCS TIME2 # **TIME2 MUST BE NON-ZERO AT LIFTOFF**
|
||||
TCF REP11A -5 # T2,T1 NOT YET ZEROED, GO AND DO IT
|
||||
|
||||
EXTEND # T2,T1 ZEROED, SET TLIFTOFF
|
||||
DCA LIFTTEMP
|
||||
TCF REP11A-2
|
||||
|
||||
ENDREP11 EXTEND
|
||||
DCA REP11SA
|
||||
TCF REP11A-1
|
||||
# Page 540
|
||||
REP11S 2OCT 7776600011
|
||||
|
||||
REP11SA 2OCT 7776400013
|
||||
|
||||
P11XIT GENADR P11OUT
|
||||
-ERTHRAT 2DEC* -7.292115138 E-7 B18* # - EARTH RATE AT 2(18)
|
||||
|
||||
EBANK= BODY3
|
||||
P11SCADR 2CADR VHHDOT
|
||||
|
||||
POWDNCOD EQUALS THREE
|
||||
|
||||
EBANK= BODY3
|
||||
# VHHDOT IS EXECUTED EVERY 2 SECONDS TO DISPLAY ON DSKY
|
||||
# VI INERTIAL VELOCITY MAGNITUDE
|
||||
# HDOT RATE OF CHANGE OF ALT ABOVE L PAD RADIUS
|
||||
# H ALTITUDE ABOVE L PAD RADIUS
|
||||
|
||||
VHHDOT TC INTPRET
|
||||
CALL # LOAD VMAGI, ALTI,
|
||||
S11.1 # HDOT FOR DISPLAY
|
||||
EXIT
|
||||
TC PHASCHNG
|
||||
OCT 00035
|
||||
|
||||
CAF V06N62 # DISPLAY IN R1 R2 R3
|
||||
TC BANKCALL # VI HDOT H
|
||||
CADR REGODSP
|
||||
|
||||
ATERTASK CAF PRIO1 # ESTABLISH JOB TO DISPLAY ATT ERRORS
|
||||
TC FINDVAC # COMES HERE AT L.O. + .33 SEC
|
||||
EBANK= BODY3
|
||||
2CADR ATERJOB
|
||||
|
||||
CS RCSFLAGS # SET BIT3 FOR
|
||||
MASK BIT3 # NEEDLER
|
||||
ADS RCSFLAGS # INITIALIZATION PASS
|
||||
TC IBNKCALL # AND GO
|
||||
CADR NEEDLER # DO IT
|
||||
CA BIT1 # SET SW
|
||||
TS SATSW # FOR DISPLAY
|
||||
TC TASKOVER
|
||||
GETDOWN STQ SETPD
|
||||
INCORPEX
|
||||
0D
|
||||
DLOAD
|
||||
HI6ZEROS
|
||||
# Page 541
|
||||
STODL 6D
|
||||
DPHALF
|
||||
STCALL 8D
|
||||
LALOTORV +5
|
||||
# THIS SECTION PROVIDES ATTITUDE ERROR DISPLAYS TO THE FDAI DURING SONE BOOST
|
||||
|
||||
# COMPUTE DESIRED PITCH W.R.T. PAD LOCAL VERTICAL AT LIFTOFF
|
||||
# 2 3 4 5 6
|
||||
# PITCH = A0+A1T+A2T +A3T +A4T +A5T +A6T
|
||||
# SCALED TO 32 REVS. -14
|
||||
# IF TL = TIME IN SECS FROM L.O., THEN T = 100(TL-RPSTART)2
|
||||
# WHERE TL GE RPSTART
|
||||
# TL LE (-POLYSTOP + RPSTART)
|
||||
# COMPUTE DESIRED ROLL WHERE ROLL EQUALS ANGLE FROM
|
||||
# LAUNCHAZ TO -Z(S/C) AS SEEN FROM X(S/C).
|
||||
# ROLL = LAUNCHAZ-AZIMUTH-.5 +SATRLRT*T IN REV
|
||||
# SATRLRT = RATE OF ROLL IN REV/CENTI-SEC
|
||||
# T,IN CENTI-SEC,IS DEFINED AS ABOVE,INCLUSIVE OF TIME RESTRICTIONS
|
||||
|
||||
# FOR SIMPLICITY, LET P = 2*PI*PITCH
|
||||
# R = 2*PI*ROLL
|
||||
|
||||
# CONSTRUCT THE TRANSFORMATION MATRIX, TSMV, GIVING DESIRED S/C AXES IN
|
||||
# TERMS OF SM COORDINATES. LET THE RESULTING ROWS EQUAL THE VECTORS XDC,
|
||||
# YDC,AND ZDC.
|
||||
|
||||
# * ( SIN(P) 0 -COS(P) ) (XDC)
|
||||
# TSMV = (-SIN(R)*COS(P) -COS(R) -SIN(R)*SIN(P)) = (YDC)
|
||||
# (-COS(R)*COS(P) SIN(R) -COS(R)*SIN(P)) (ZDC)
|
||||
|
||||
# XDC,YDC,ZDC ARE USED AS INPUT TO CALCGTA FOR THE EXTRACTION OF THE
|
||||
# EULER SET OF ANGLES WHICH WILL BRING THE SM INTO THE DESIRED
|
||||
# ORIENTATION. THIS EULER SET, OGC, IGC, AND MGC, MAY BE IDENTIFIED
|
||||
# AS THE DESIRED CDU ANGLES.
|
||||
|
||||
# (XDC) (OGC)
|
||||
# (YDC) ---) CALCGTA ---) (IGC)
|
||||
# (ZDC) (MGC)
|
||||
|
||||
# -
|
||||
# DEFINE THE VECTOR DELTACDU.
|
||||
|
||||
# - (OGC) (CDUX)
|
||||
# DELTACDU = (IGC) - (CDUY)
|
||||
# (MGC) (CDUZ)
|
||||
|
||||
# - - * -
|
||||
# COMPUTE ATTITUDE ERRORS, A, WHERE A = TGSC*DELTACDU
|
||||
#
|
||||
# * (1 SIN(CDUZ) 0 ) THE GIMBAL ANGLES
|
||||
# Page 542
|
||||
# TGSC = (0 COS(CDUX)*COS(CDUZ) SIN(CDUX)) = TO SPACECRAFT AXES
|
||||
# (0 -SIN(CDUX)*COS(CDUZ) COS(CDUX)) CONVERSION MATRIX
|
||||
|
||||
# -
|
||||
# THE ATTITUDE ERRORS, A, ARE STORED ONE HALF SINGLE PRECISION IN
|
||||
# THE REGISTERS AK, AK1, AK2 AS INPUT TO NEEDLER, THE FDAI ATTITUDE
|
||||
# ERROR DISPLAY ROUTINE.
|
||||
|
||||
ATERJOB CAE FLAGWRD6 # CHECK FLAGWRD6
|
||||
MASK OCT60000 # BITS 14, 15
|
||||
EXTEND
|
||||
BZF +2 # OK - CONTINUE
|
||||
TC ENDOFJOB # SATURN STICK ON - KILL JOB
|
||||
CAF BIT10 # CHECK IF S/C CONTROL
|
||||
EXTEND # OF SATURN PANEL
|
||||
RAND CHAN30 # SWITCH IS ON
|
||||
EXTEND
|
||||
BZF STRSAT # IT IS - GO STEER
|
||||
CCS SATSW # IT IS NOT - WAS IT ON LAST CYCLE
|
||||
TC ATTDISP # NO - CONTINUE
|
||||
TC ATRESET # YES - REINITIALIZE NEEDLER
|
||||
TC ATRESET # YES - REINITIALIZE NEEDLER
|
||||
ATTDISP CS RPSTART # PITCH/ROLL START TIME
|
||||
AD TIME1
|
||||
EXTEND
|
||||
BZMF NOPOLY # IF MINUS THEN ATTITUDE HOLD
|
||||
TS MPAC # MPAC=TIME1-RPSTART
|
||||
TS SPOLYARG # SAVE FOR USE IN ROLL CALCULATION
|
||||
AD POLYSTOP # NEG PITCHOVER TIME IN CSECS
|
||||
EXTEND
|
||||
BZMF +2
|
||||
TC NOPOLY # GO TO ATTITUDE HOLD
|
||||
CA TIME2
|
||||
EXTEND
|
||||
BZMF +2
|
||||
TC NOPOLY # GO TO ATTITUDE HOLD
|
||||
CAE POLYNUM
|
||||
TS L
|
||||
CAF COEFPOLY # EVALUATE PITCH POLYNOMIAL
|
||||
TC POWRSERS # SCALED TO 32 REVOLUTIONS
|
||||
|
||||
CA ZERO # RETURN WITH PITCH(32REV)
|
||||
TS MODE # STORED MPAC, MPAC +1
|
||||
TC INTPRET
|
||||
SETPD SL # 32(PITCH(32REV))=PITCH(REV)
|
||||
0
|
||||
5
|
||||
PUSH # LET P(RAD)=2*PI*PITCH(REV)
|
||||
GOTO
|
||||
ATTDISP1 # AROUND SETLOC
|
||||
# Page 543
|
||||
# *
|
||||
# CONSTRUCT SM TO S/C MATRIX, TSMV
|
||||
|
||||
SETLOC P11TWO
|
||||
BANK # 36 IN COL., 34 IN DISK
|
||||
|
||||
COUNT 36/P11
|
||||
|
||||
ATTDISP1 COS DCOMP
|
||||
STODL 14D # -.5*COS(P)
|
||||
SIN
|
||||
STODL 10D # .5*SIN(P)
|
||||
ZEROVECS
|
||||
STORE 12D # 0
|
||||
|
||||
# EVALUATE ROLL = LAUNCHAZ-AZIMUTH-.5+SATRLRT*T
|
||||
SLOAD DMP
|
||||
SPOLYARG # TIME1 - RSPSTART ,CSECS B-14.
|
||||
SATRLRT
|
||||
SL DSU
|
||||
14D
|
||||
DPHALF
|
||||
DAD DSU # ASSUMING X(SM) ALONG LAUNCH AZIMUTH,
|
||||
LAUNCHAZ # LAUNCHAZ = ANGLE FROM NORTH TO X(SM).
|
||||
AZIMUTH # AZIMUTH = -ANGLE FROM NORTH TO Z(S/C)
|
||||
RTB # DETERMINE IF ROLLOUT
|
||||
RLTST # IS COMPLETED
|
||||
ATTDISPR PUSH COS # CONTINUE COMPUTING TSMV
|
||||
PUSH # LET R(RAD) = 2*PI*ROLL(REV)
|
||||
DMP SL1
|
||||
14D
|
||||
STODL 22D # -.5*COS(R)*COS(P)
|
||||
DCOMP
|
||||
STORE 18D # -.5*COS(R)
|
||||
DMP SL1
|
||||
10D
|
||||
STODL 26D # -.5*COS(R)*SIN(P)
|
||||
SIN PUSH
|
||||
STORE 24D # .5*SIN(R)
|
||||
DMP SL1
|
||||
14D
|
||||
STODL 16D # -.5*SIN(R)*COS(P)
|
||||
DCOMP
|
||||
DMP SL1
|
||||
10D
|
||||
STOVL 20D # -.5*SIN(R)*SIN(P)
|
||||
10D
|
||||
|
||||
# FROM TSMV FIND THE HALF UNIT VECTORS XDC,YDC,ZDC = INPUT TO CALCGTA
|
||||
# Page 544
|
||||
UNIT
|
||||
STOVL XDC # XDC = .5*UNIT(SIN(P),0,-COS(P))
|
||||
16D
|
||||
UNIT
|
||||
STOVL YDC # YDC = .5*UNIT(-SIN(R)*COS(P),-COS(R),
|
||||
22D # -SIN(R)*SIN(P))
|
||||
UNIT
|
||||
STCALL ZDC # ZDC = .5*UNIT(-COS(R)*COS(P),SIN(R),
|
||||
CALCGTA # -COS(R)*SIN(P))
|
||||
|
||||
# CALL CALCGTA TO COMPUTE DESIRED SM ORIENTATION OGC,IGC,AND MGC
|
||||
# - - -
|
||||
# FIND DIFFERENCE VECTOR DELTACDU = OGC-CDUX
|
||||
|
||||
# ENTER HERE IF ATTITUDE HOLD
|
||||
|
||||
NOPOLYM VLOAD PUSH # OGC IGC
|
||||
OGC # CHANGE IGC TO MGC FOR COMPATIBILITY
|
||||
PUSH CALL # MGC OGC
|
||||
CDUTRIG # WITH Y,Z,X ORDER OF CDUSPOT
|
||||
VLOAD RTB # - DPHI OGC-CDUX ,PD4
|
||||
2 # DELTACDU = DTHETA = IGC-CDUY , 0
|
||||
V1STO2S # DPSI MGC-CDUZ , 2
|
||||
STOVL BOOSTEMP
|
||||
ZEROVECS
|
||||
STOVL 0
|
||||
CDUSPOT
|
||||
RTB RTB
|
||||
V1STO2S
|
||||
DELSTOR
|
||||
STODL 10D
|
||||
SINCDUZ
|
||||
DMP SL1
|
||||
0
|
||||
DAD SR2 # CHANGE SCALE OF AK TO 2REVS
|
||||
4
|
||||
GOTO
|
||||
ATTDISP2
|
||||
|
||||
SETLOC P11ONE
|
||||
BANK
|
||||
COUNT 34/P11
|
||||
|
||||
ATTDISP2 STODL 16D # 16D, .5(DPHI + DTHETA*SIN(CDUZ))
|
||||
COSCDUZ
|
||||
DMP PUSH
|
||||
0
|
||||
DMP SL1
|
||||
COSCDUX
|
||||
PDDL DMP
|
||||
# Page 545
|
||||
SINCDUX
|
||||
2
|
||||
DAD SL1
|
||||
STADR
|
||||
STODL 17D # 17D, .5(DTHETA*COS(CDUX)*COS(CDUZ)
|
||||
DMP SL1 # +DPSI*SIN(CDUX))
|
||||
SINCDUX
|
||||
PDDL DMP
|
||||
COSCDUX
|
||||
2
|
||||
DSU SL1
|
||||
STADR
|
||||
STORE 18D # 18D, .5(-DTHETA*SIN(CDUX)*COS(CDUZ)
|
||||
TLOAD # +DPSI*COS(CDUX))
|
||||
16D
|
||||
STORE AK # STORE ATTITUDE ERRORS IN AK,AK1,AK2
|
||||
EXIT
|
||||
|
||||
CA SATSW
|
||||
CCS A # CHK TAKEOVER STATUS
|
||||
TC SATOUT # POS - DISPLAY ONLY
|
||||
TC AKLOAD # 0 STORE BIAS
|
||||
STEERSAT TC INTPRET # NEG STEER L/V
|
||||
TLOAD TAD
|
||||
BIASAK
|
||||
AK
|
||||
STORE AK # AKS = AKS - STORED BIAS
|
||||
EXIT
|
||||
CA AK
|
||||
TC RESCALES
|
||||
TS AK
|
||||
CA AK1
|
||||
TC RESCALES
|
||||
TS AK1
|
||||
CA AK2
|
||||
TC RESCALES
|
||||
TS AK2
|
||||
# DISPLAY ATTITUDE ERRORS ON FDAI VIA NEEDLER
|
||||
|
||||
SATOUT TC BANKCALL
|
||||
CADR NEEDLER
|
||||
ATERSET CAF OCT31 # DELAY .25 SEC
|
||||
TC BANKCALL # EXECUTION + DELAY =.56SEC APPROX
|
||||
CADR DELAYJOB
|
||||
TC ATERJOB # END OF ATT ERROR DISPLAY CYCLE
|
||||
|
||||
AKLOAD CS AK # STORE AKS
|
||||
TS BIASAK # INTO BIAS
|
||||
CS AK1 # COMPLEMENTED
|
||||
TS BIASAK +1
|
||||
# Page 546
|
||||
CS AK2
|
||||
TS BIASAK +2
|
||||
CS BIT1 # SET SW
|
||||
TS SATSW # TO STEER
|
||||
TC STEERSAT # GO STEER
|
||||
STRSAT CA SATSW # CHECK IF NEEDLER
|
||||
EXTEND # HAS BEEN INITIALIZED
|
||||
BZMF ATTDISP # YES - CONTINUE
|
||||
ATRESET CS RCSFLAGS # NO - SET
|
||||
MASK BIT3 # INITIALIZATION SW
|
||||
ADS RCSFLAGS # FOR NEEDLER
|
||||
TC BANKCALL # AND GO
|
||||
CADR NEEDLER # DO IT
|
||||
CAF REVCNT # OCT 6
|
||||
TC BANKCALL # DELAY JOB
|
||||
CADR DELAYJOB # 60 MS -WAIT TILL IMUERRCNTR ZEROED
|
||||
CCS SATSW # CHECK SW STATUS
|
||||
TC TAKEON # POS STEER INIT.
|
||||
TC +1 # 0 RETURN TO DISPLAY
|
||||
CA BIT1 # NEG RETURN TO DISPLAY
|
||||
TS SATSW # SW = DISPLAY ON
|
||||
CS BIT9 # DISABLE
|
||||
EXTEND # SIVB
|
||||
WAND CHAN12 # TAKEOVER
|
||||
TC SATOUT # DISPLAY
|
||||
TAKEON CAF BIT9 # ENABLE
|
||||
EXTEND # SIVB
|
||||
WOR CHAN12 # TAKEOVER
|
||||
CA ZERO # INDICATE NEEDLER
|
||||
TS SATSW # WAS INITIALIZED
|
||||
TC SATOUT
|
||||
S11.1 VLOAD ABVAL
|
||||
VN
|
||||
STOVL VMAGI # VI SCALED 2(7) IN METERS/CSEC
|
||||
RN
|
||||
UNIT DOT
|
||||
VN
|
||||
SL1
|
||||
STODL HDOT
|
||||
RPAD
|
||||
BOF VLOAD
|
||||
AMOONFLG
|
||||
EARTHALT
|
||||
RLS
|
||||
ABVAL SR2
|
||||
EARTHALT BDSU
|
||||
36D
|
||||
STORE ALTI
|
||||
RVQ
|
||||
DELSTOR CA BOOSTEMP
|
||||
# Page 547
|
||||
EXTEND # STORE DELTACDU INTO PDL 0,2,4
|
||||
MSU MPAC
|
||||
INDEX FIXLOC
|
||||
TS 0
|
||||
CA BOOSTEMP +1
|
||||
EXTEND
|
||||
MSU MPAC +1
|
||||
INDEX FIXLOC
|
||||
TS 2
|
||||
CA BOOSTEMP +2
|
||||
EXTEND
|
||||
MSU MPAC +2
|
||||
INDEX FIXLOC
|
||||
TS 4
|
||||
TCF DANZIG
|
||||
RLTST CA MPAC # DETERMINE IF ROLLOUT
|
||||
EXTEND # IS COMPLETED
|
||||
MP SATRLRT +1
|
||||
EXTEND
|
||||
BZMF DANZIG # UNLIKE SIGNS STILL ROLLING
|
||||
EXTEND # ROLLOUT COMPLETED
|
||||
DCA MBDYTCTL +2 # ZERO OUT ROLL CONTRIBUTION
|
||||
DXCH MPAC
|
||||
TC DANZIG
|
||||
NOPOLY TC INTPRET # COMES HERE IF
|
||||
SETPD GOTO # ATTITUDE HOLD
|
||||
0
|
||||
NOPOLYM
|
||||
COEFPOLY ADRES POLYLOC
|
||||
V06N62 VN 0662
|
||||
RESCALES EXTEND # RESCALE AK S FOR
|
||||
MP SATSCALE # NEW HARDWARE
|
||||
DDOUBL # SCALING FOR
|
||||
DDOUBL # STEERING
|
||||
TC Q # SATURN
|
||||
# SATURN TAKEOVER FUNCTION
|
||||
# ************************
|
||||
|
||||
# PROGRAM DESCRIPTION
|
||||
|
||||
# MOD NUMBER 1
|
||||
# MOD BY ELIASSEN
|
||||
|
||||
# FUNCTIONAL DESCRIPTION
|
||||
|
||||
# DURING THE COASTING PHASE OF SIVB ATTACHED, THE
|
||||
# ASTRONAUT MAY REQUEST SATURN TAKEOVER THROUGH
|
||||
# EXTENDED VERB 46 (BITS 13,14 OF DAPDATR1 SET ).
|
||||
# THE CMC REGARDS RHC COMMANDS AS BODY-AXES RATE
|
||||
# COMMANDS AND IT TRANSMITS THESE TO SATURN AS DC
|
||||
# Page 548
|
||||
# VOLTAGES. THE VALUE OF THE CONSTANT RATE COMMAND
|
||||
# IS 0.5 DEG/SEC. AN ABSENCE OF RHC ACTIVITY RE-
|
||||
# SULTS IN A ZERO RATE COMMAND.
|
||||
|
||||
# THE FDAI ERROR NEEDLES WILL INDICATE THE VALUE
|
||||
# OF THE RATE COMMAND.
|
||||
|
||||
# CALLING SEQUENCE
|
||||
#
|
||||
# DAPFIG +9D TC POSTJUMP
|
||||
# CADR SATSTKON
|
||||
|
||||
# SUBROUTINES CALLED
|
||||
|
||||
# ENDEXT
|
||||
# IBNKCALL
|
||||
# STICKCHK
|
||||
# NEEDLER
|
||||
# T5RUPT
|
||||
# RESUME
|
||||
|
||||
# ASTRONAUT REQUESTS
|
||||
|
||||
# ENTRY - VERB 46 ENTER
|
||||
# (CONDITION - BITS 13, 14 OF DAPDATR1 SET)
|
||||
#
|
||||
# EXIT - VERB 48 ENTER (FLASH V06N46)
|
||||
# VERB 21 ENTER AXXXX ENTER WHERE A=0 OR 1
|
||||
# VERB 34 ENTER
|
||||
# VERB 46 ENTER
|
||||
|
||||
# NORMAL EXIT MODE
|
||||
|
||||
# VERB 46 ENTER (SEE ASTRONAUT ABOVE)
|
||||
|
||||
# ALARM OR ABORT EXIT MODES
|
||||
|
||||
# NONE
|
||||
|
||||
# OUTPUT
|
||||
|
||||
# SATURN RATES IN CDUXCMD, CDUYCMD, CDUZCMD
|
||||
|
||||
# ERASABLE INITIALIZATION
|
||||
|
||||
# DAPDATR1 (BITS 13,14 MUST BE SET)
|
||||
|
||||
# DEBRIS
|
||||
|
||||
# CENTRALS
|
||||
# Page 549
|
||||
# CDUXCMD, CDUYCMD, CDUZCMD
|
||||
|
||||
BANK 43
|
||||
SETLOC EXTVERBS
|
||||
BANK
|
||||
|
||||
COUNT 23/STTKE
|
||||
SATSTKON EXTEND
|
||||
DCA 2REDOSAT
|
||||
INHINT
|
||||
DXCH T5LOC
|
||||
CAF POSMAX
|
||||
TS TIME5
|
||||
CS FLAGWRD6 # TURN ON BITS 15,14 OF
|
||||
MASK RELTAB11 # FLAGWRD6
|
||||
ADS FLAGWRD6 # SATSTICK CONTROL OF T5
|
||||
TC IBNKCALL # ZERO JET CHANNELS IN 14 MS AND THEN
|
||||
CADR ZEROJET # LEAVE THE T6 CLOCK DISABLED
|
||||
RELINT
|
||||
TC GOPIN # EXIT THUS BECAUSE WE CAME VIA V46
|
||||
|
||||
EBANK= BODY3
|
||||
2REDOSAT 2CADR REDOSAT
|
||||
|
||||
|
||||
SBANK= LOWSUPER
|
||||
BANK 32
|
||||
SETLOC P11FOUR
|
||||
BANK
|
||||
|
||||
REDOSAT LXCH BANKRUPT # ALSO COMES HERE FOR RESTARTS
|
||||
EXTEND
|
||||
QXCH QRUPT
|
||||
CS RCSFLAGS # TURN ON BIT3 OF RCSFLAGX
|
||||
MASK BIT3 # FOR
|
||||
ADS RCSFLAGS # NEEDLER INITIALIZATION
|
||||
TC IBNKCALL
|
||||
CADR NEEDLER # DISABLE IMU ERR COUNTERS ETC.
|
||||
CAF BIT9 # SIVB
|
||||
EXTEND # TAKEOVER
|
||||
WOR CHAN12 # ENABLE
|
||||
EXTEND # SET UP T5 CYCLE
|
||||
DCA 2SATSTCK
|
||||
DXCH T5LOC
|
||||
CAF 100MST5 # IN 100 MSECS
|
||||
TS TIME5
|
||||
TCF RESUME # END OF SATURN STICK INITIALIZATION
|
||||
|
||||
# THIS SECTION IS EXECUTED EVERY 100 MSECS
|
||||
# Page 550
|
||||
SATSTICK LXCH BANKRUPT
|
||||
EXTEND
|
||||
QXCH QRUPT
|
||||
|
||||
CAF 2SATSTCK # SET UP RUPT
|
||||
TS T5LOC # LO ORDER LOC SET
|
||||
CAF 100MST5 # 100 MSECS
|
||||
TS TIME5
|
||||
CAF STIKBITS
|
||||
EXTEND
|
||||
RXOR CHAN31 # CHECK IF MAN ROT BITS SAME
|
||||
MASK STIKBITS
|
||||
TC IBNKCALL # SET RATE INDICES
|
||||
CADR STICKCHK # FOR PITCH YAW AND ROLL
|
||||
|
||||
INDEX RMANNDX # SET SATURN RATES
|
||||
CA SATRATE
|
||||
TS AK # ROLL
|
||||
INDEX PMANNDX
|
||||
CA SATRATE
|
||||
TS AK1 # PITCH
|
||||
INDEX YMANNDX
|
||||
CA SATRATE
|
||||
TS AK2 # YAW
|
||||
|
||||
TC IBNKCALL # FOR SATURN INTERFACE AND FDAI DISPLAY
|
||||
CADR NEEDLER
|
||||
TCF RESUME # END OF SATURN STICK CONTROL
|
||||
|
||||
STIKBITS OCT 00077
|
||||
100MST5 DEC 16374
|
||||
EBANK= BODY3
|
||||
2SATSTCK 2CADR SATSTICK
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,611 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: P30-P37.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 635-648
|
||||
# Mod history: 2009-05-10 RSB Adapted from the Colossus249/ file
|
||||
# of the same name, using Comanche055 page
|
||||
# images.
|
||||
# 2009-05-20 RSB Corrected BDV -> BOV.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 635
|
||||
BANK 32
|
||||
|
||||
SETLOC P30S1
|
||||
BANK
|
||||
|
||||
EBANK= +MGA
|
||||
|
||||
COUNT 35/P34
|
||||
|
||||
DISPMGA STQ EXIT # USED IN P30
|
||||
|
||||
RGEXIT
|
||||
TC COMPTGO
|
||||
|
||||
DISP45 CAF V16N45
|
||||
TC BANKCALL
|
||||
CADR GOFLASHR
|
||||
TC GOTOPOOH
|
||||
TC END45
|
||||
TC DISP45
|
||||
P30PHSI TC PHASCHNG
|
||||
OCT 14
|
||||
TCR ENDOFJOB
|
||||
END45 TC INTPRET
|
||||
CLEAR GOTO
|
||||
TIMRFLAG
|
||||
RGEXIT
|
||||
|
||||
COMPTGO EXTEND # USED TO COMPUTE TTOGO
|
||||
QXCH PHSPRDT6 # ** GROUP 6 TEMPORARY USED .. BEWARE **
|
||||
|
||||
TC UPFLAG # SET TIMRFLAG
|
||||
ADRES TIMRFLAG # BIT 11 FLAG 7
|
||||
CAF ZERO
|
||||
TS NVWORD1
|
||||
|
||||
CAF ONE
|
||||
TC WAITLIST
|
||||
EBANK= TIG
|
||||
2CADR CLOKTASK
|
||||
|
||||
TC 2PHSCHNG
|
||||
OCT 40036 # 6.3SPOT FOR CLOKTASK
|
||||
OCT 05024 # GROUP 4 CONTINUES HERE
|
||||
OCT 13000
|
||||
|
||||
TC PHSPRDT6
|
||||
# Page 636
|
||||
# PROGRAM DESCRIPTION P30 DATE 3-6-67
|
||||
|
||||
# MOD.I BY S. ZELDIN- TO ADD P31 AND AD APT P30 FOR P31 USE. 22DEC67
|
||||
# FUNCTIONAL DESCRIPTION
|
||||
# +30(EXTERNAL DELTA-V TARGETTING PROGRAM)
|
||||
# ACCEPTS ASTRONAUT INPUTS OF TIG,DELV(LV) AND COMPUTES,FOR DISPLAY,
|
||||
# APOGEE,PERIGEE,DELV(MAG),MGA ASSOCIATED WITH DESIRED MANEUVER
|
||||
|
||||
# P31(GENERAL LAMBERT AIMPOINT GUIDANCE)
|
||||
# A GROUND RULE FOR P31 IS THE ANGLE BETWEEN THE TARGET VECTOR AND
|
||||
# POSITION VECTOR AT TIG IS NOT 165-195 DEGREES APART
|
||||
# BASED ON STORED INPUT OF OFFSET TARGET(B+29) AND DELTA T TRANS,AND
|
||||
# ASTRONAUT ENTRY OF TIG,P31 COMPUTES REQUIRED VELOCITY FOR MANEUVER
|
||||
# AND,FOR DISPLAY,APOGEE,PERIGEE,DELV(7AG),+MGA ASSOCIATED WITH
|
||||
# DESIRED MANEUVER
|
||||
|
||||
# THE FOLLOWING SUBROUTINES ARE USED IN P30 AND P31
|
||||
# S30.1 (P30 ONLY)
|
||||
# S31.1 (P31 ONLY)
|
||||
# P30/P31 - DISPLAYS TIG
|
||||
# CNTUP30 - DISPLAYS DELV(LV)
|
||||
# PARAM30 - DISPLAYS APOGEE,PERIGEE,DELV(MAG),MGA,TIME FROM TIG,
|
||||
# MARKS SINCE LAST THRUSTING MANEUVER
|
||||
|
||||
# CALLING SEQUENCE VIA JOB FROM V37
|
||||
|
||||
# EXIT VIA V37 OR GOTOPOOH
|
||||
|
||||
# OUTPUT FOR POWERED FLIGHT
|
||||
# VTIG X
|
||||
# RTIG XSEE S30.1
|
||||
# DELVSIN X
|
||||
# VGDISP
|
||||
# RTARG X
|
||||
# TPASS4 X SEE S31.1
|
||||
# X
|
||||
|
||||
|
||||
COUNT 35/P30
|
||||
|
||||
P30 TC P30/P31
|
||||
TC CNTNUP30
|
||||
TC DOWNFLAG # RESET UPDATFLG
|
||||
ADRES UPDATFLG # BIT 7 FLAG 1
|
||||
TC INTPRET
|
||||
CALL
|
||||
S30.1
|
||||
EXIT
|
||||
TC PARAM30
|
||||
TC UPFLAG
|
||||
# Page 637
|
||||
ADRES XDELVFLG # SET XDELVFLG BIT 8 FLAG 2
|
||||
TCF GOTOPOOH
|
||||
|
||||
P31 TC P30/P31
|
||||
TC DOWNFLAG
|
||||
ADRES UPDATFLG # RESET UPDATFLG BIT 7 FLAG 1
|
||||
TC DOWNFLAG
|
||||
ADRES NORMSW # RESET NORMSW BIT 10 FLAG 7
|
||||
TC INTPRET
|
||||
CALL
|
||||
S31.1
|
||||
EXIT
|
||||
TC CNTNUP30
|
||||
TC PARAM30
|
||||
TC DOWNFLAG
|
||||
ADRES XDELVFLG # BIT 8 FLAG 2
|
||||
TCF GOTOPOOH
|
||||
|
||||
P30/P31 XCH Q
|
||||
TS P30/31RT
|
||||
TC UPFLAG
|
||||
ADRES UPDATFLG # SET UPDATFLG BIT 7 FLAG 1
|
||||
TC UPFLAG
|
||||
ADRES TRACKFLG # SET TRACKFLG BIT 5 FLAG 1
|
||||
CAF V06N33 # T OF IGN
|
||||
TC BANKCALL
|
||||
CADR GOFLASHR
|
||||
TCF GOTOPOOH
|
||||
TC P30/31RT
|
||||
TCF P30/P31 +4
|
||||
TC PHASCHNG
|
||||
OCT 00014
|
||||
TC ENDOFJOB
|
||||
|
||||
CNTNUP30 XCH Q
|
||||
TS P30/RET
|
||||
CAF V06N81
|
||||
TC BANKCALL
|
||||
CADR GOFLASH
|
||||
TCF GOTOPOOH
|
||||
TC P30/RET
|
||||
TCF CNTNUP30 +2
|
||||
PARAM30 XCH Q
|
||||
TS P30/31RT
|
||||
CAF V06N42
|
||||
TC BANKCALL
|
||||
CADR GOFLASH
|
||||
TC GOTOPOOH # ON TERMINATION GOTOPOOH
|
||||
TCF REFTEST # ON PROCEED GO DO REFTEST
|
||||
# Page 638
|
||||
TCF PARAM30 +2
|
||||
REFTEST CAF BIT13
|
||||
MASK STATE +3 # REFSMFLAG
|
||||
EXTEND
|
||||
BZF NOTSET # REFSMFLAG =0 , THEN BRANCH TO NOTSET
|
||||
TC INTPRET
|
||||
VLOAD PUSH
|
||||
DELVSIN
|
||||
CALL
|
||||
GET+MGA
|
||||
GOTO
|
||||
FLASHMGA
|
||||
NOTSET EXTEND
|
||||
DCS MARSDP
|
||||
DXCH +MGA # +MGA, +MGA+1 CONTAINS (-00001)
|
||||
TC INTPRET
|
||||
FLASHMGA CALL
|
||||
DISPMGA
|
||||
EXIT
|
||||
TC P30/31RT
|
||||
MARSDP OCT 00000 # (00000) (16440) = (+00001)
|
||||
OCT 35100
|
||||
# ( .01 ) DEGREES IN THE LOW ORDER REGISTE
|
||||
|
||||
V06N33 VN 0633
|
||||
V06N42 VN 0642
|
||||
V16N35 VN 1635
|
||||
V06N45 VN 0645
|
||||
|
||||
# Page 639
|
||||
# PROGRAM DESCRIPTION S30.1 DATE 9NOV66
|
||||
|
||||
# MOD NO 1 LOG SECTION P30,P37
|
||||
# MOD BY RAMA AIYAWAR **
|
||||
# MOD.2 BY S.ZELDIN - TO CORRECT MOD.1 FOR COLOSSUS 29DEC67
|
||||
# FUNCTIONAL DESCRIPTION
|
||||
# BASED ON STORED TARGET PARAMETERS(R OF IGNITION(RTIG),V OF
|
||||
# IGNITION(VTIG),TIME OF IGNITION(TIG),DELV(LV),COMPUTE PERIGEE ALTITUDE
|
||||
# A+OGEE ALTITUDE AND DELTA-V REQUIRED IN REF. COORDS.(DELVSIN)
|
||||
# CALLING SEQUENCE
|
||||
# L CALL
|
||||
# L+1 S30.1
|
||||
# NORMAL EXIT MODE
|
||||
# AT L+2 OR CALLING SEQUENCE (GOTO L+2)
|
||||
# SUBROUTINES CALLED
|
||||
# THISPREC
|
||||
# PERIAPO
|
||||
# ALARM OR ABORT EXIT MODES
|
||||
# NONE
|
||||
# ERASABLE INITIALIZATION REQUIRED
|
||||
# TIG TIME OF IGNITION DP B28CS
|
||||
# DELVSLV SPECIFIED DELTA-V IN LOCAL VERT.
|
||||
# COORDS. OF ACTIVE VEHICLE AT
|
||||
# TIME OF IGNITION VCT. B+7M/CS
|
||||
#
|
||||
# OUTPUT
|
||||
# RTIG POSITION AT TIG VCT. B+29M
|
||||
# VTIG VELOCITY AT TIG VCT. B+7M
|
||||
# HAPO APOGEE ALT. DP B+29M
|
||||
# HPER PERIGEE ALT. DP B+29M
|
||||
# DELVSIN DELVSLV IN REF COORDS VCT. B+7M/CS
|
||||
# VGDISP MAG. OF DELVSIN DP B+7M/CS
|
||||
# DEBRIS QTEMP TEMP. ERASABLE
|
||||
# QPRET,MPAC
|
||||
# PUSHLIST
|
||||
|
||||
SETLOC P30S1A
|
||||
BANK
|
||||
|
||||
COUNT 35/S30S
|
||||
|
||||
S30.1 STQ DLOAD
|
||||
QTEMP
|
||||
TIG # TIME IGNITION SCALED AT 2(+28)CS
|
||||
STCALL TDEC1
|
||||
THISPREC # ENCKE ROUTINE FOR
|
||||
|
||||
VLOAD SXA,2
|
||||
VATT
|
||||
RTX2
|
||||
STOVL VTIG
|
||||
# Page 640
|
||||
RATT
|
||||
STORE RTIG
|
||||
STORE RACT3
|
||||
VXV UNIT
|
||||
VTIG
|
||||
STCALL UNRM
|
||||
LOMAT
|
||||
VLOAD VXM
|
||||
DELVSLV
|
||||
0
|
||||
VSL1 SXA,1
|
||||
RTX1
|
||||
STORE DELVSIN
|
||||
ABVAL
|
||||
STOVL VGDISP # MAG DELV
|
||||
RTIG
|
||||
PDVL VAD
|
||||
DELVSIN
|
||||
VTIG
|
||||
CALL
|
||||
PERIAPO1
|
||||
CALL
|
||||
SHIFTR1
|
||||
CALL
|
||||
MAXCHK
|
||||
STODL HPER # PERIGEE ALT B+29
|
||||
4D
|
||||
CALL
|
||||
SHIFTR1
|
||||
CALL
|
||||
MAXCHK
|
||||
STCALL HAPO # APOGEE ALT B+29
|
||||
QTEMP
|
||||
|
||||
# Page 641
|
||||
# S31.1 PROGRAM DESCRIPTION 28DEC67
|
||||
# MOD.1 BY S.ZELDIN
|
||||
|
||||
# S31.1 COMPUTES DELV IN REF AND LV COORDS,MAG OF DELV,INTERCEPT TIME,
|
||||
# APOGEE AND PERIGEE ALT FOR REQUIRED MANEUVER
|
||||
|
||||
# CALLING SEQUENCE
|
||||
# L CALL
|
||||
# L+1 S31.1
|
||||
|
||||
# NORMAL EXIT MODE
|
||||
# AT L +2 OF CALLING SEQUENCE(GOTO L+2)
|
||||
# SUBROUTINES CALLED
|
||||
# AGAIN
|
||||
# PERIAPO1
|
||||
# SHIFTR1
|
||||
# MIDGIM
|
||||
# NO ALARM OR ABORT MODES
|
||||
# INPUT
|
||||
# DELLT4 DP +28
|
||||
# TIG DP +28
|
||||
# RTARG VCT +29
|
||||
# OUTPUT
|
||||
# DELVLVC VCT +7
|
||||
# VGDISP DP +7
|
||||
# HAPO DP +29
|
||||
# HPER DP +29
|
||||
# TPASS4 DP +28
|
||||
# DEBRIS - QTEMP
|
||||
|
||||
S31.1 STQ DLOAD
|
||||
QTEMP
|
||||
TIG
|
||||
STCALL TDEC1
|
||||
AGAIN # RETURNS RTX2,RTX1,RATT,VATT,VIPRIME
|
||||
VLOAD PDVL # DELUEET3
|
||||
RTIG
|
||||
VIPRIME
|
||||
CALL
|
||||
PERIAPO1
|
||||
CALL
|
||||
SHIFTR1
|
||||
CALL
|
||||
MAXCHK
|
||||
STODL HPER # B29
|
||||
4D
|
||||
CALL
|
||||
SHIFTR1
|
||||
CALL
|
||||
MAXCHK
|
||||
STOVL HAPO # B29
|
||||
# Page 642
|
||||
DELVEET3
|
||||
STORE 0
|
||||
SET CALL
|
||||
AVFLAG
|
||||
MIDGIM # GET DELVLVC B7 FORDISPLAY
|
||||
ABVAL
|
||||
STODL VGDISP # B+7 FOR DISPLAY
|
||||
DELLT4
|
||||
DAD
|
||||
TIG
|
||||
STCALL TPASS4 # FOR S40.1
|
||||
QTEMP
|
||||
|
||||
# Page 643
|
||||
# SUBROUTINE NAME: DELRSPL (CONTINUATION OF V 82 IN CSM IF P11 ACTI
|
||||
# TRANSFERRED COMPLETELY FROM SUNDISK, P30S REV 33. 9 SEPT 67.
|
||||
# MOD NO: 0 MOD BY: ZELDIN DATE:
|
||||
# MOD NO: 1 MOD BY: RR BAIRNSFATHER DATE: 11 APR 67
|
||||
# MOD NO: 2 MOD BY: RR BAIRNSFATHER DATE: 12 MAY 67 ADD UR.RT CALC WHEN BELOW 300K FT
|
||||
# MOD NO: 2.1 MOD BY: RR BAIRNSFATHER DATE: 5 JULY 67 FIX ERROR ON MOD. 2.
|
||||
# MOD NO: 3 MOD BY: RR BAIRNSFATHER DATE: 12 JUL 67 CHANGE SIGN OF DISPLAYED ERROR.
|
||||
# MOD 4 MOD BY S.ZELDIN DATE 3 APRIL 68 CHANGE EQUATIONS FOR L/D=.18 WHICH REPLA
|
||||
# FUNCTION: CALCULATE (FOR DISPLAY ON CALL) AN APPROXIMATE MEASURE OF IN-PLANE SPLASH DOWN
|
||||
# ERROR. IF THE FREE-FALL TRANSFER ANGLE TO 300K FT ABOVE PAD RADIUS IS POSITIVE:
|
||||
# SPLASH ERROR= -RANGE TO TARGET + FREE-FALL TRANSFER ANGLE + ESTIMATED ENTRY ANGLE.
|
||||
# THE TARGET LOCATION AT ESTIMATED TIME OF IMPACT IS USED. IF THE FREE-FALL TRANSFER
|
||||
# ANGLE IS NEGATIVE: SPASH ERROR= -RANGE TO TARGET
|
||||
# THE PRESENT TARGET LOCATION IS USED.
|
||||
# CALLING SEQUENCE CALLED AFTER SR30.1 IF IN CSM AND IF P11 OPERATING (UNDER CONTROL OF V82)
|
||||
# SUBROUTINES CALLED: VGAMCALC, TFF/TRIG, LALOTORV.
|
||||
# EXIT: RETURN DIRECTLY TO V 82 PROG. AT SPLRET
|
||||
# ERASABLE INITIALIZATION LEFT BY SR30.1 AND V82GON1
|
||||
# OUTPUT: RSP-RREC RANGE IN REVOLUTIONS. DSKY DISPLAY IN N. MI.
|
||||
# DEBRIS: QPRET, PDL0 ...PDL7 ,PDL10
|
||||
|
||||
# THETA(1)
|
||||
|
||||
BANK 32
|
||||
SETLOC DELRSPL1
|
||||
BANK
|
||||
COUNT* $$/P30 # PROGRAMS: P30 EXTERNAL DELTA V
|
||||
|
||||
DELRSPL STORE 8D
|
||||
BPL DSU
|
||||
CANTDO # GONE PAST 300K FT ALT
|
||||
1BITDP
|
||||
BOV CALL
|
||||
CANTDO # POSMAX INDICATES NO 300K FT SOLUTION.
|
||||
VGAMCALC # +GAMMA(REV) IN PMAC,V300 MAG(B-7)=PDL 0
|
||||
PUSH CALL
|
||||
TFF/TRIG
|
||||
CALL
|
||||
AUGEKUGL
|
||||
PDDL ACOS # T ENTRY PDL 6
|
||||
CDELF/2
|
||||
DAD
|
||||
4
|
||||
GETARG STOVL THETA(1)
|
||||
LAT(SPL)
|
||||
STODL LAT
|
||||
HI6ZEROS
|
||||
STODL ALT # ALT=0 = LAT +4
|
||||
PIPTIME
|
||||
# Page 644
|
||||
BON DLOAD
|
||||
V37FLAG
|
||||
+2
|
||||
TSTART82
|
||||
DSU DAD
|
||||
8D
|
||||
CLEAR CALL
|
||||
ERADFLAG
|
||||
LALOTORV # R RECOV. IN ALPHAV AND MPAC
|
||||
|
||||
UNIT PDVL
|
||||
RONE
|
||||
UNIT DOT
|
||||
SL1 ARCCOS
|
||||
BDSU # ERROR = THETA EST - THETA TARG
|
||||
# NEGATIVE NUMBER SIGNIFIES THAT WILL FALL SHORT.
|
||||
# POSITIVE NUMBER SIGNIFIES THAT WILL OVERSHOOT.
|
||||
THETA(1)
|
||||
DELRDONE STCALL RSP-RREC # DOWNRANGE RECOVERY RANGE ERROR /360
|
||||
INTWAKE0
|
||||
CALL
|
||||
SPLRET
|
||||
CANTDO DLOAD PDDL # INITIALIZE ERASE TO DOT TARGET AND UR
|
||||
# FOR RANGE ANGLE.
|
||||
HIDPHALF # TO PDL 0 FOR DEN IN DDV.
|
||||
HI6ZEROS
|
||||
PUSH # ZERO TO PDL 2 FOR PHI ENTRY
|
||||
STCALL 8D
|
||||
GETARG # GO SET RSP-RREC =0
|
||||
|
||||
AUGEKUGL VLOAD
|
||||
X1CON -2
|
||||
STODL X1 -2
|
||||
0
|
||||
DSU BMN
|
||||
V(21K)
|
||||
LOOPSET
|
||||
XSU,1 XCHX,2
|
||||
S1
|
||||
X1
|
||||
XCHX,2 DSU
|
||||
S1
|
||||
V(3K)
|
||||
BMN XCHX,2
|
||||
LOOPSET
|
||||
S1
|
||||
DSU BMN
|
||||
V(4K)
|
||||
LOOPSET
|
||||
XCHX,2 XCHX,2
|
||||
# Page 645
|
||||
S1
|
||||
X1
|
||||
DSU BMN
|
||||
V(400)
|
||||
LOOPSET
|
||||
SXA,1
|
||||
S1
|
||||
LOOPSET INCR,1 GOTO
|
||||
DEC 1
|
||||
K1K2LOOP
|
||||
K2CALC SXA,1
|
||||
S1
|
||||
K1K2LOOP DLOAD DSU*
|
||||
0
|
||||
V(32K) +1,1
|
||||
DMP* DAD*
|
||||
YK1K2 +1,1
|
||||
CK1K2 +1,1
|
||||
PDDL TIX,1
|
||||
2
|
||||
K2CALC
|
||||
DSU BDDV
|
||||
PUSH BOV
|
||||
MAXPHI
|
||||
BMN DSU
|
||||
MAXPHI
|
||||
MAXPHIC
|
||||
BPL
|
||||
MAXPHI
|
||||
PHICALC DLOAD DSU # PHI ENTRY PDL 4D
|
||||
0
|
||||
V(26K)
|
||||
BPL DLOAD
|
||||
TGR26
|
||||
TLESS26
|
||||
DDV
|
||||
0
|
||||
TENT DMP RVQ
|
||||
4D
|
||||
TGR26 DLOAD GOTO
|
||||
TGR26CON
|
||||
TENT
|
||||
|
||||
MAXPHI DLOAD PDDL
|
||||
MAXPHIC
|
||||
GOTO
|
||||
PHICALC
|
||||
MAXPHIC 2DEC .09259298 # 2000 NM FOR MAXIMUM PHI ENTRY
|
||||
|
||||
# Page 646
|
||||
|
||||
COUNT* $$/P30
|
||||
|
||||
# BELOW
|
||||
# <<<< TABLE IS INDEXED. KEEP IN ORDER >>>>
|
||||
|
||||
2DEC 7.07304526 E-4 # 5500
|
||||
|
||||
2DEC 3.08641975 E-4 # 2400
|
||||
|
||||
2DEC 3.08641975 E-4 # 2400
|
||||
|
||||
2DEC -8.8888888 E-3 # -3.2
|
||||
|
||||
2DEC 2.7777777 E-3 # 1
|
||||
|
||||
CK1K2 2DEC 6.6666666 E-3 # 2.4
|
||||
|
||||
2DEC 0 # 0
|
||||
|
||||
2DEC* -1.86909989 E-5 B7* # -.443
|
||||
|
||||
2DEC 0
|
||||
|
||||
2DEC* 1.11639691 E-3 B7* # .001225
|
||||
|
||||
2DEC* 9.56911636 E-4 B7* # .00105
|
||||
|
||||
YK1K2 2DEC* 2.59733157 E-4 B7* # .000285
|
||||
|
||||
V(400) 2DEC 1.2192 B-7
|
||||
|
||||
V(28K) 2DEC 85.344 B-7
|
||||
|
||||
V(3K) 2DEC 9.144 B-7
|
||||
|
||||
V(24K) 2DEC 73.152 B-7
|
||||
|
||||
2DEC 85.344 B-7
|
||||
|
||||
V(32K) 2DEC 97.536 B-7
|
||||
|
||||
V(4K) 2DEC 12.192 B-7
|
||||
|
||||
V(21K) 2DEC 64.000 B-7
|
||||
|
||||
TLESS26 2DEC* 5.70146688 E7 B-35* # 8660PHI/V
|
||||
|
||||
TGR26CON 2DEC 7.2 E5 B-28 # PHI/3
|
||||
|
||||
V(26K) 2DEC 79.248 B-7 # 26000
|
||||
|
||||
# Page 647
|
||||
|
||||
X1CON DEC 10
|
||||
|
||||
DEC 8
|
||||
|
||||
DEC 6
|
||||
# <<<< TABLE IS INDEXED. KEEP IN ORDER >>>>
|
||||
# ABOVE
|
||||
# Page 648
|
||||
# ***** AVFLAGA/P *****
|
||||
|
||||
# SUBROUTINES USED
|
||||
|
||||
# UPFLAG
|
||||
# DOWNFLAG
|
||||
SETLOC P30SUBS
|
||||
BANK
|
||||
EBANK= SUBEXIT
|
||||
AVFLAGA EXTEND # AVFLAG = CSM
|
||||
QXCH SUBEXIT
|
||||
TC DOWNFLAG
|
||||
ADRES AVFLAG # BIT 5 FLAG 2
|
||||
CAF EBANK7
|
||||
TS EBANK
|
||||
EBANK= ECSTEER
|
||||
CAF BIT13
|
||||
TS ECSTEER # SET ECSTEER = 1
|
||||
CAF EBANK4
|
||||
TS EBANK
|
||||
EBANK= SUBEXIT
|
||||
TC SUBEXIT
|
||||
AVFLAGP EXTEND # AVFLAG = LEM
|
||||
QXCH SUBEXIT
|
||||
TC UPFLAG
|
||||
ADRES AVFLAG # BIT 5 FLAG 2
|
||||
TC SUBEXIT
|
||||
P20FLGON EXTEND
|
||||
QXCH SUBEXIT
|
||||
TC UPFLAG
|
||||
ADRES TRACKFLG
|
||||
TC UPFLAG
|
||||
ADRES UPDATFLG
|
||||
TC SUBEXIT # DP B4
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,162 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: P76.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Hartmuth Gutsche <hgutsche@xplornet.com>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: pp 511-513
|
||||
# Mod history: 2009-05-08 HG Adapting from the Luminary131/ file
|
||||
# of the same name, using Comanche055 page
|
||||
# images 0511.jpg - 0513.jpg.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 511
|
||||
# 1) PROGRAM NAME - TARGET DELTA V PROGRAM (P76).
|
||||
# 2) FUNCTIONAL DESCRIPTION - UPON ENTRY BY ASTRONAUT ACTION, P76 FLASHES DSKY REQUESTS TO THE ASTRONAUT
|
||||
# TO PROVIDE VIA DSKY (1) THE DELTA V TO BE APPLIED TO THE OTHER VEHICLE STATE VECTOR AND (2) THE
|
||||
# TIME (TIG) AT WHICH THE OTHER VEHICLE VELOCITY WAS CHANGED BY EXECUTION OF A THRUSTING MANEUVER. THE
|
||||
# OTHER VEHICLE STATE VECTOR IS INTEGRATED TO TIG AND UPDATED BY THE ADDITION OF DELTA V (DELTA V HAVING
|
||||
# BEEN TRANSFORMED FROM LV TO REF COSYS). USING INTEGRVS, THE PROGRAM THEN INTEGRATES THE OTHER
|
||||
# VEHICLE STATE VECTOR TO THE STATE VECTOR OF THIS VEHICLE, THUS INSURING THAT THE W-MATRIX AND BOTH VEHICLE
|
||||
# STATES CORRESPOND TO THE SAME TIME.
|
||||
# 3) ERASABLE INITIALIZATION REQUIRED - NONE.
|
||||
# 4) CALLING SEQUENCES AND EXIT MODES - CALLED BY ASTRONAUT REQUEST THRU DSKY V 37 E 76 E.
|
||||
# EXITS BY TCF ENDOFJOB.
|
||||
# 5) OUTPUT - OTHER VEHICLE STATE VECTOR INTEGRATED TO TIG AND INCREMENTED BY DELTA V IN REF COSYS.
|
||||
# THE PUSHLIST CONTAINS THE MATRIX BY WHICH THE INPUT DELTA V MUST BE POST-MULTIPLIED TO CONVERT FROM LV
|
||||
# TO REF COSYS.
|
||||
# 6) DEBRIS - OTHER VEHICLE STATE VECTOR.
|
||||
# 7) SUBROUTINES CALLED - BANKCALL,GOXDSPF,CSMPREC (OR LEMPREC),ATOPCSM (OR ATOPLEM),INTSTALL,INTWAKE, PHASCHNG
|
||||
# INTPRET, INTEGRVS, AND MINIRECT.
|
||||
# 8) FLAG USE - MOONFLAG,CMOONFLG,INTYPFLG,RASFLAG, AND MARKCTR.
|
||||
|
||||
BANK 30
|
||||
SETLOC P76LOC
|
||||
BANK
|
||||
|
||||
COUNT* $$/P76
|
||||
|
||||
EBANK= TIG
|
||||
|
||||
P76 TC UPFLAG
|
||||
ADRES TRACKFLG
|
||||
|
||||
CAF V06N84 # FLASH LAST DELTA V.
|
||||
TC BANKCALL # AND WAIT FOR KEYBOARD ACTION.
|
||||
CADR GOFLASH
|
||||
TCF ENDP76
|
||||
TC +2 # PROCEED
|
||||
TC -5 # STORE DATA AND REPEAT FLASHING
|
||||
CAF V06N84 +1 # FLASH VERB 06 NOUN 33, DISPLAY LAST TIG,
|
||||
TC BANKCALL # AND WAIT FOR KEYBOARD ACTION.
|
||||
CADR GOFLASH
|
||||
TCF ENDP76
|
||||
TC +2
|
||||
TC -5
|
||||
TC INTPRET # RETURN TO INTERPRETIVE CODE
|
||||
DLOAD # SET D(MPAC)=TIG IN CSEC B28
|
||||
TIG
|
||||
STCALL TDEC1 # SET TDEC1=TIG FOR ORBITAL INTEGRATION
|
||||
OTHPREC
|
||||
COMPMAT VLOAD UNIT
|
||||
RATT
|
||||
# Page 512
|
||||
VCOMP # U(-R)
|
||||
STORE 24D # U(-R) TO 24D
|
||||
VXV UNIT # U(-R) X V = U(V X R)
|
||||
VATT
|
||||
STORE 18D
|
||||
VXV UNIT # U(V X R) X U(-R) = U((R X V) X R)
|
||||
24D
|
||||
STOVL 12D
|
||||
DELVOV
|
||||
VXM VSL1 # V(MPAC)=DELTA V IN REFCOSYS
|
||||
12D
|
||||
VAD
|
||||
VATT
|
||||
STORE 6 # V(PD6)=VATT + DELTA V
|
||||
CALL # PREVENT WOULD-BE USER OF ORBITAL
|
||||
INTSTALL # INTEG FROM INTERFERING WITH UPDATING
|
||||
CALL
|
||||
P76SUB1
|
||||
VLOAD VSR*
|
||||
6
|
||||
0,2
|
||||
STOVL VCV
|
||||
RATT
|
||||
VSR*
|
||||
0,2
|
||||
STODL RCV
|
||||
TIG
|
||||
STORE TET
|
||||
CLEAR DLOAD
|
||||
INTYPFLG
|
||||
TETTHIS
|
||||
INTOTHIS STCALL TDEC1
|
||||
INTEGRVS
|
||||
CALL
|
||||
INTSTALL
|
||||
CALL
|
||||
P76SUB1 # SET/CLEAR MOONFLAG
|
||||
VLOAD
|
||||
RATT1
|
||||
STORE RRECT
|
||||
STODL RCV
|
||||
TAT
|
||||
STOVL TET
|
||||
VATT1
|
||||
CALL
|
||||
MINIRECT
|
||||
EXIT
|
||||
TC PHASCHNG
|
||||
OCT 04024
|
||||
# Page 513
|
||||
TC UPFLAG
|
||||
ADRES REINTFLG
|
||||
|
||||
TC INTPRET
|
||||
CALL
|
||||
ATOPOTH
|
||||
SSP EXIT
|
||||
QPRET
|
||||
OUT
|
||||
TC BANKCALL # PERMIT USE OF ORBITAL INTEGRATION
|
||||
CADR INTWAKE1
|
||||
OUT EXIT
|
||||
ENDP76 CAF ZERO
|
||||
TS MARKCTR # CLEAR RR TRACKING MARK COUNTER
|
||||
TS VHFCNT
|
||||
|
||||
CAF NEGONE
|
||||
TS MRKBUF2 # INVALIDATE MARK BUFFER
|
||||
|
||||
TCF GOTOPOOH
|
||||
|
||||
V06N84 NV 0684
|
||||
NV 0633
|
||||
P76SUB1 CLEAR SLOAD
|
||||
MOONFLAG
|
||||
X2
|
||||
BHIZ SET # X2=0...CLEAR MOONFLAG
|
||||
+2 # =2.....SET MOONFLAG
|
||||
MOONFLAG
|
||||
RVQ
|
||||
|
||||
|
|
@ -1,416 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: PHASE_TABLE_MAINTENANCE.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1404-1413
|
||||
# Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting
|
||||
# from the Colossus249/ file of the same
|
||||
# name, using Comanche055 page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1404
|
||||
# SUBROUTINE TO UPDATE THE PROGRAM NUMBER DISPLAY ON THE DSKY.
|
||||
|
||||
COUNT 02/PHASE
|
||||
BLOCK 02
|
||||
SETLOC FFTAG1
|
||||
BANK
|
||||
|
||||
NEWMODEX INDEX Q # UPDATE MODREG. ENTRY FOR MODE IN FIXED.
|
||||
CAF 0
|
||||
INCR Q
|
||||
|
||||
NEWMODEA TS MODREG # ENTRY FOR MODE IN A.
|
||||
MMDSPLAY CAF +3 # DISPLAY MAJOR MODE.
|
||||
PREBJUMP LXCH BBANK # PUTS BBANK IN L
|
||||
TCF BANKJUMP # PUTS Q INTO A
|
||||
CADR SETUPDSP
|
||||
|
||||
# RETURN TO CALLER +3 IF MODE = THAT AT CALLER +1. OTHERWISE RETURN TO CALLER +2.
|
||||
|
||||
CHECKMM INDEX Q
|
||||
CS 0
|
||||
AD MODREG
|
||||
EXTEND
|
||||
BZF Q+2
|
||||
TCF Q+1 # NO MATCH
|
||||
|
||||
TCQ = Q+2 +1
|
||||
|
||||
BANK 14
|
||||
SETLOC PHASETAB
|
||||
BANK
|
||||
|
||||
COUNT 10/PHASE
|
||||
|
||||
SETUPDSP INHINT
|
||||
DXCH RUPTREG1 # SAVE CALLER-S RETURN 2CADR
|
||||
CAF PRIO30 # EITHER A TASK OR JOB CAN COME TO
|
||||
TC NOVAC # NEWMODEX
|
||||
EBANK= MODREG
|
||||
2CADR DSPMMJOB
|
||||
|
||||
DXCH RUPTREG1
|
||||
RELINT
|
||||
DXCH Z # RETURN
|
||||
|
||||
DSPMMJOB EQUALS DSPMMJB
|
||||
|
||||
BLOCK 02
|
||||
# Page 1405
|
||||
SETLOC FFTAG1
|
||||
BANK
|
||||
|
||||
# Page 1406
|
||||
# PHASCHNG IS THE MAIN WAY OF MAKING PHASE CHANGES FOR RESTARTS. THERE ARE THREE FORMS OF PHASCHNG, KNOWN AS TYPE
|
||||
# A, TYPE B, AND TYPE C. THEY ARE ALL CALLED AS FOLLOWS, WHERE OCT XXXXX CONTAINS THE PHASE INFORMATION,
|
||||
#
|
||||
# TC PHASCHNG
|
||||
# OCT XXXXX
|
||||
#
|
||||
# TYPE A IS CONCERNED WITH FIXED PHASE CHANGES, THAT IS, PHASE INFORMATION THAT IS STORED PERMANENTLY. THESE
|
||||
# OPTIONS ARE, WHERE G STANDS FOR A GROUP AND .X FOR THE PHASE,
|
||||
#
|
||||
# G.0 INACTIVE, WILL NOT PERMIT A GROUP G RESTART
|
||||
# G.1 WILL CAUSE THE LAST DISPLAY TO BE REACTIVATED, USED MAINLY IN MANNED FLIGHTS
|
||||
# G.EVEN A DOUBLE TABLE RESTART, CAN CAUSE ANY COMBINATION OF TWO JOBS, TASKS, AND/OR
|
||||
# LONGCALL TO BE RESTARTED.
|
||||
# G.ODD NOT .1 A SINGLE TABLE RESTART, CAN CAUSE EITHER A JOB, TASK, OR LONGCALL RESTART.
|
||||
#
|
||||
# THIS INFORMATION IS PUT INTO THE OCTAL WORD AFTER TC PHASCHNG AS FOLLOWS
|
||||
#
|
||||
# TL0 00P PPP PPP GGG
|
||||
#
|
||||
# WHERE EACH LETTER OR NUMBER STANDS FOR A BIT. THE G:S STAND FOR THE GROUP, OCTAL 1-7, THE P:S FOR THE PHASE,
|
||||
# OCTAL 0 - 127. 0:S MUST BE 0. IF ONE WISHES TO HAVE THE TBASE OF GROUP G TO BE SET AT THIS TIME,
|
||||
# T IS SET TO 1, OTHERWISE IT IS SET TO 0. SIMILARLY IF ONE WISHES TO SET LONGBASE, THEN L IS SET TO 1, OTHERWISE
|
||||
# IT IS SET TO 0. SOME EXAMPLES,
|
||||
#
|
||||
# TC PHASCHNG # THIS WILL CAUSE GROUP 3 TO BE SET TO 0,
|
||||
# OCT 00003 # MAKING GROUP 3 INACTIVE
|
||||
#
|
||||
# TC PHASCHNG # IF A RESTART OCCURS THIS WOULD CAUSE
|
||||
# OCT 00012 # GROUP 2 TO RESTART THE LAST DISPLAY
|
||||
#
|
||||
# TC PHASCHNG # THIS SETS THE TBASE OF GROUP 4 AND IN
|
||||
# OCT 40064 # CASE OF A RESTART WOULD START UP THE TWO
|
||||
# # THINGS LOCATED IN THE DOUBLE 4.6 RESTART
|
||||
# # LOCATION.
|
||||
# TC PHASCHNG # THIS SETS LONGBASE AND UPON A RESTART
|
||||
# OCT 20135 # CAUSES 5.13 TO BE RESTARTED (SINCE
|
||||
# # LONGBASE WAS SET THIS SINGLE ENTRY
|
||||
# # SHOULD BE A LONGCALL)
|
||||
# TC PHASCHNG # SINCE BOTH TBASE4 AND LONGBASE ARE SET,
|
||||
# OCT 60124 # 4.12 SHOULD CONTAIN BOTH A TASK AND A
|
||||
# # LONGCALL TO BE RESTARTED
|
||||
#
|
||||
# TYPE C PHASCHNG CONTAINS THE VARIABLE TYPE OF PHASCHNG INFORMATION. INSTEAD OF THE INFORMATION BEING IN A
|
||||
# PERMANENT FORM, ONE STORES THE DESIRED RESTART INFORMATION IN A VARIABKE LOCATION. THE BITS ARE AS FOLLOWS,
|
||||
#
|
||||
# TL0 1AD XXX CJW GGG
|
||||
#
|
||||
# WHERE EACH LETTER OR NUMBER STANDS FOR A BIT. THE G:S STAND FOR THE GROUP, OCTAL 1 - 7. IF THE RESTART IS TO
|
||||
# BE BY WAITLIST, W IS SET TO 1, IF IT IS A JOB, J IS SET TO 1, IF IT IS A LONGCALL, C IS SET TO 1. ONLY ONE OF
|
||||
# THESE THREE BITS MAY BE SET. X:S ARE IGNORED 1 MUST BE 1, AND 0 MUST BE 0. AGAIN T STANDS FOR THE TBASE,
|
||||
# Page 1407
|
||||
# AND L FOR LONGBASE. THE BITS A AND D ARE CONCERNED WITH THE VARIABLE INFORMATION. IF D IS SET TO 1, A PRIORITY
|
||||
# OR DELTA TIME WILL BE READ FROM THE NEXT LOCATION AFTER THE OCTAL INFORMATION, IF THIS IS TO BE INDIRECT, THAT
|
||||
# IS, THE NAME OF A LOCATION COMT+INING THE INFORMATION (DELTA TIME ONLY), THEN THIS IS GIVEN AS THE -GENADR OF
|
||||
# THAT LOCATION WHICH CONTAINS THE DELTA TIME. IF THE OLD PRIORITY OR DELTA TIME IS TO BE USED, THAT WHICH IS
|
||||
# ALREADY IN THE VARIABLE STORAGE, THEN D IS SET TO 0. NEXT THE A BIT IS USED. IF IT IS SET TO 0, THE ADDRESS
|
||||
# THAT WOULD BE RESTARTED DURING A RESTART IS THE NEXT LOCATION AFTER THE PHASE INFORMATION, THAT IS, EITHER
|
||||
# (TC PHASCHNG) +2 OR +3, DEPENDING ON WHETHER D HAD BEEN SET OR NOT. IF A IS SET TO 1, THEN THE ADDRESS THAT
|
||||
# WOULD BE RESTARTED IS THE 2CADR THAT IS READ FROM THE NEXT TWO LOCATIONS. EXAMPLES,
|
||||
#
|
||||
# AD TC PHASCHNG # THIS WOULD CAUSE LOCATION AD +3 TO BE
|
||||
# AD+1 OCT 05023 # RESTARTED BY GROUP THREE WITHA PRIORITY
|
||||
# AD+2 OCT 23000 # OF 23. NOTE UPON RETURNING IT WOULD
|
||||
# AD+3 # ALSO GO TO AD+3
|
||||
#
|
||||
# AD TC PHASCHNG # GROUP 1 WOULD CAUSE CALLCALL TO BE
|
||||
# AD+1 OCT 27441 # BE STARTED AS A LONGCALL FROM THE TIME
|
||||
# AD+2 -GENADR DELTIME # STORED IN LONGBASE (LONGBASE WAS SET) BY
|
||||
# AD+3 2CADR CALLCALL # A DELTATIME STORED IN DELTIME. THE
|
||||
# AD+4 # BBCON OF THE 2CADR SHOULD CONTAIN THE E
|
||||
# AD+5 # BANK OF DELTIME. PHASCHNG RETURNS TO
|
||||
# # LOCATION AD+5
|
||||
#
|
||||
# NOTE THAT IF A VARIABLE PRIORITY IS GIVEN FOR A JOB, THE JOB WILL BE RESTARTED AS A NOVAC IF THE PRIORITY IS
|
||||
# NEGATIVE, AS A FINDVAC IF THE PRIORITY IS POSITIVE.
|
||||
#
|
||||
# TYPE B PHASCHNG IS A COMBINATION OF VARIABLE AND FIXED PHASE CHANGES. IT WILL START UP A JOB AS INDICATED
|
||||
# BELOW AND ALSO START UP ONE FIXED RESTART, THAT IS EITHER AN G.1 OR A G.ODD OR THE FIRST ENTRY OF G.EVEN
|
||||
# DOUBLE ENTRY. THE BIT INFORMATION IS AS FOLLOWS,
|
||||
#
|
||||
# TL1 DAP PPP PPP GGG
|
||||
#
|
||||
# WHERE EACH LETTER OR NUMBER STANDS FOR A BIT. THE G:S STAND FOR THE GROUP, OCTAL 1 - 7. THE P:S FOR THE FIXED
|
||||
# PHASE INFORMATION, OCTAL 0 - 127. 1 MUST BE 1. AND AGAIN T STANDS FOR THE TBASE AND L FOR LONGBASE. D THIS
|
||||
# TIME STANDS ONLY FOR PRIORITY SINCE THIS WILL BE CONSIDERED A JOB, AND IT MUST BE GIVEN DIRECTLY IF GIVEN.
|
||||
# AGAIN A STANDS FOR THE ADDRESS OF THE LOCATION TO BE RESTARTED, 1 IF THE 2CADR IS GIVEN, OR 0 IF IT IS TO BE
|
||||
# THE NEXT LOCATION.(THE RETURN LOCATION OF PHASCHNG) EXAMPLES,
|
||||
# AD TC PHASCHNG # TBASE IS SET AND A RESTART CAUSE GROUP 3
|
||||
# AD+1 OCT 56043 # TO START THE JOB AJOBAJOB WITH PRIORITY
|
||||
# AD+2 OCT 31000 # 31 AND THE FIRST ENTRY OF 3.4SPOT (WE CAN
|
||||
# AD+3 2CADR AJOBAJOB # ASSUME IT IS A TASK SINCE WE SET TBASE3)
|
||||
# AD+4 # UPON RETURN FROM PHASCHNG CONTROL WOULD
|
||||
# AD+5 # GO TO AD+5
|
||||
#
|
||||
# AD TC PHASCHNG # UPON A RESTART THE LAST DISPLAY WOULD BE
|
||||
# AD+1 OCT 10015 # RESTARTED AND A JOB WITH THE PREVIOUSLY
|
||||
# AD+2 # STORED PRIORITY WOULD BE BEGUN AT AD+2
|
||||
# # BY MEANS OF GROUP 5
|
||||
# Page 1408
|
||||
# THE NOVAC-FINDVAC CHOICE FOR JOBS HOLDS HERE ALSO - NEGATIVE PRIORITY CAUSES A NOVAC CALL, POSITIVE A FINDVAC.
|
||||
|
||||
|
||||
# SUMMARY OF BITS:
|
||||
# TYPE A TL0 00P PPP PPP GGG
|
||||
# TYPE B TL1 DAP PPP PPP GGG
|
||||
# TYPE C TL0 1AD XXX CJW GGG
|
||||
|
||||
# Page 1409
|
||||
# 2PHSCHNG IS USED WHEN ONE WISHES TO START UP A GROUP OR CHANGE A GROUP WHILE UNDER THE CONTROL OF A DIFFERENT
|
||||
# GROUP. FOR EXAMPLE, CHANGE THE PHASE OF GROUP 3 WHILE THE PORTION OF THE PROGRAM IS UNDER GROUP 5. ALL 2PHSCHNG
|
||||
# CALLS ARE MADE IN THE FOLLOWING MANNER,
|
||||
|
||||
# TC 2PHSCHNG
|
||||
# OCT XXXXX
|
||||
# OCT YYYYY
|
||||
|
||||
# WHERE OCT XXXXX MUST BE OF TYPE A AND OCT YYYYY MAY BE OF EITHER TYPE A OR TYPE B OR TYPEC. THERE IS ONE
|
||||
# DIFFERENCE --- NOTE- IF LONGBASE IS TO BE SET THIS INFORMATION IS GIVEN IN THE OCT YYYYY INFORMATION, IT WILL
|
||||
# BE DISREGARDED IF GIVEN WITH THE OCT XXXXX INFORMATION. A COUPLE OF EXAMPLES MAY HELP.
|
||||
|
||||
# AD TC 2PHACHNG # SET TBASE3 AND IF A RESTART OCCURS START
|
||||
# AD+1 OCT 40083 # THE TWO ENTRIES IN 3.8 TABLE LOCATION
|
||||
# AD+2 OCT 05025 # THIS IS OF TYPE C. SET THE JOB TO BE
|
||||
# AD+3 OCT 18000 # TO BE LOCATION AD+4, WITH A PRIORITY 18,
|
||||
# AD+4 # FOR GROUP 5 PHASE INFORMATION.
|
||||
|
||||
COUNT 02/PHASE
|
||||
|
||||
2PHSCHNG INHINT # THE ENTRY FOR A DOUBLE PHASE CHANGE
|
||||
NDX Q
|
||||
CA 0
|
||||
INCR Q
|
||||
TS TEMPP2
|
||||
|
||||
MASK OCT7
|
||||
DOUBLE
|
||||
TS TEMPG2
|
||||
|
||||
CA TEMPP2
|
||||
MASK OCT17770 # NEED ONLY 1770, BUT WHY GET A NEW CONST.
|
||||
EXTEND
|
||||
MP BIT12
|
||||
XCH TEMPP2
|
||||
|
||||
MASK BIT15
|
||||
TS TEMPSW2 # INDICATES WHETHER TO SET TBASE OR NOT
|
||||
|
||||
TCF PHASCHNG +3
|
||||
|
||||
PHASCHNG INHINT
|
||||
CA ONE # INDICATESWE CAME FROM A PHASCHNG ENTRY
|
||||
TS TEMPSW2
|
||||
|
||||
NDX Q
|
||||
CA 0
|
||||
INCR Q
|
||||
TS TEMPSW
|
||||
# Page 1410
|
||||
EXTEND
|
||||
DCA ADRPCHN2 # OFF TO SWITCHED BANK
|
||||
DTCB
|
||||
|
||||
EBANK= LST1
|
||||
ADRPCHN2 2CADR PHSCHNG2
|
||||
|
||||
ONEORTWO LXCH TEMPBBCN
|
||||
LXCH BBANK
|
||||
LXCH TEMPBBCN
|
||||
|
||||
MASK OCT14000 # SEE WHAT KIND OF PHASE CHANGE IT IS
|
||||
CCS A
|
||||
TCF CHECKB # IT IS OF TYPE :B:
|
||||
|
||||
CA TEMPP
|
||||
MASK BIT7
|
||||
CCS A # SHALL WE USE THE OLD PRIORITY
|
||||
TCF GETPRIO # NO GET A NEW PRIORITY (OR DELTA T)
|
||||
|
||||
OLDPRIO NDX TEMPG # USE THE OLD PRIORITY (OR DELTA T)
|
||||
CA PHSPRDT1 -2
|
||||
TS TEMPPR
|
||||
|
||||
CON1 CA TEMPP # SEE IF A 2CADR IS GIVEN
|
||||
MASK BIT8
|
||||
CCS A
|
||||
TCF GETNEWNM
|
||||
|
||||
CA Q
|
||||
TS TEMPNM
|
||||
CA BB
|
||||
EXTEND # PICK UP USERS SUPERBANK
|
||||
ROR SUPERBNK
|
||||
TS TEMPBB
|
||||
|
||||
TOCON2 CA CON2ADR # BACK TO SWITCHED BANK
|
||||
LXCH TEMPBBCN
|
||||
DTCB
|
||||
|
||||
CON2ADR GENADR CON2
|
||||
|
||||
GETPRIO NDX Q # DON:T CARE IF DIRECT OR INDIRECT
|
||||
CA 0 # LEAVE THAT DECISION TO RESTARTS
|
||||
INCR Q # OBTAIN RETURN ADDRESS
|
||||
TCF CON1 -1
|
||||
|
||||
GETNEWNM EXTEND
|
||||
# Page 1411
|
||||
INDEX Q
|
||||
DCA 0
|
||||
DXCH TEMPNM
|
||||
CA TWO
|
||||
ADS Q # OBTAIN RETURN ADDRESS
|
||||
|
||||
TCF TOCON2
|
||||
|
||||
OCT14000 EQUALS PRIO14
|
||||
TEMPG EQUALS ITEMP1
|
||||
TEMPP EQUALS ITEMP2
|
||||
TEMPNM EQUALS ITEMP3
|
||||
TEMPBB EQUALS ITEMP4
|
||||
TEMPSW EQUALS ITEMP5
|
||||
TEMPSW2 EQUALS ITEMP6
|
||||
TEMPPR EQUALS RUPTREG1
|
||||
TEMPG2 EQUALS RUPTREG2
|
||||
TEMPP2 EQUALS RUPTREG3
|
||||
|
||||
TEMPBBCN EQUALS RUPTREG4
|
||||
BB EQUALS BBANK
|
||||
|
||||
BANK 14
|
||||
SETLOC PHASETAB
|
||||
BANK
|
||||
|
||||
EBANK= PHSNAME1
|
||||
COUNT 10/PHASE
|
||||
|
||||
PHSCHNG2 LXCH TEMPBBCN
|
||||
CA TEMPSW
|
||||
MASK OCT7
|
||||
DOUBLE
|
||||
TS TEMPG
|
||||
|
||||
CA TEMPSW
|
||||
MASK OCT17770
|
||||
EXTEND
|
||||
MP BIT12
|
||||
TS TEMPP
|
||||
|
||||
CA TEMPSW
|
||||
MASK OCT60000
|
||||
XCH TEMPSW
|
||||
MASK OCT14000
|
||||
CCS A
|
||||
TCF ONEORTWO
|
||||
|
||||
# Page 1412
|
||||
CA TEMPP # START STORING THE PHASE INFORMATION
|
||||
NDX TEMPG
|
||||
TS PHASE1 -2
|
||||
|
||||
BELOW1 CCS TEMPSW2 # IS IT A PHASCHNG OR A 2PHSCHNG
|
||||
TCF BELOW2 # IT:S A PHASCHNG
|
||||
|
||||
TCF +1 # IT:S A 2PHSCHNG
|
||||
CS TEMPP2
|
||||
LXCH TEMPP2
|
||||
NDX TEMPG2
|
||||
DXCH -PHASE1 -2
|
||||
|
||||
CCS TEMPSW2
|
||||
NOOP # CAN:T GET HERE
|
||||
TCF BELOW2
|
||||
|
||||
CS TIME1
|
||||
NDX TEMPG2
|
||||
TS TBASE1 -2
|
||||
|
||||
BELOW2 CCS TEMPSW # SEE IF WE SHOULD SET TBASE OR LONGBASE
|
||||
TCF BELOW3 # SET LONGBASE ONLY
|
||||
TCF BELOW4 # SET NEITHER
|
||||
|
||||
CS TIME1 # SET TBASE TO BEGIN WITH
|
||||
NDX TEMPG
|
||||
TS TBASE1 -2
|
||||
|
||||
CA TEMPSW # SHALL WE NOW SET LONGBASE
|
||||
AD BIT14COM
|
||||
CCS A
|
||||
NOOP # ***** CAN'T GET HERE *****
|
||||
BIT14COM OCT 17777 # ***** CAN'T GET HERE *****
|
||||
TCF BELOW4 # NO WE NEED ONLY SET TBASE
|
||||
|
||||
BELOW3 EXTEND # SET LONGBASE
|
||||
DCA TIME2
|
||||
DXCH LONGBASE
|
||||
|
||||
BELOW4 CS TEMPP # AND STORE THE FINAL PART OF THE PHASE
|
||||
NDX TEMPG
|
||||
TS -PHASE1 -2
|
||||
|
||||
CA Q
|
||||
LXCH TEMPBBCN
|
||||
RELINT
|
||||
DTCB
|
||||
CON2 LXCH TEMPBBCN
|
||||
# Page 1413
|
||||
CA TEMPP
|
||||
NDX TEMPG
|
||||
TS PHASE1 -2
|
||||
|
||||
CA TEMPPR
|
||||
NDX TEMPG
|
||||
TS PHSPRDT1 -2
|
||||
|
||||
EXTEND
|
||||
DCA TEMPNM
|
||||
NDX TEMPG
|
||||
DXCH PHSNAME1 -2
|
||||
|
||||
TCF BELOW1
|
||||
|
||||
BLOCK 02
|
||||
SETLOC FFTAG1
|
||||
BANK
|
||||
|
||||
COUNT 02/PHASE
|
||||
|
||||
CHECKB MASK BIT12 # SINCE THIS IS OF TYPE B, THIS BIT SHOULD
|
||||
CCS A # BE HERE IF WE ARE TO GET A NEW PRIORITY
|
||||
TCF GETPRIO # IT IS, SO GET NEW PRIORITY
|
||||
|
||||
TCF OLDPRIO # IT ISN:T, USE THE OLD PRIORITY
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,861 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: PINBALL_NOUN_TABLES.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055. It
|
||||
# is part of the source code for the Command Module's
|
||||
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 268-284
|
||||
# Contact: Ron Burkey <info@sandroid.org>,
|
||||
# Fabrizio Bernardini <fabrizio@spacecraft.it>
|
||||
# Website: http://www.ibiblio.org/apollo.
|
||||
# Mod history: 2009-05-18 FB Transcription Batch 3 Assignment.
|
||||
# 2009-05-23 RSB In NNTYPTAB, corrected former 13 SPARE.
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further
|
||||
# information. Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 268
|
||||
# THE FOLLOWING REFERS TO THE NOUN TABLES
|
||||
|
||||
|
||||
# COMPONENT CODE NUMBER INTERPRETATION
|
||||
|
||||
# 00000 1 COMPONENT
|
||||
# 00001 2 COMPONENT
|
||||
# 00010 3 COMPONENT
|
||||
# X1XXX BIT 4 = 1. DECIMAL ONLY
|
||||
# 1XXXX BIT 5 = 1. NO LOAD
|
||||
# END OF COMPONENT CODE NUMBERS
|
||||
|
||||
|
||||
# SF ROUTINE CODE NUMBER INTERPRETATION
|
||||
|
||||
# 00000 OCTAL ONLY
|
||||
# 00001 STRAIGHT FRACTIONAL
|
||||
# 00010 CDU DEGREES (XXX.XX)
|
||||
# 00011 ARITHMETIC SF
|
||||
# 00100 ARITH DP1 OUT(MULT BY 2EXP14 AT END) IN(STRAIGHT)
|
||||
# 00101 ARITH DP2 OUT(STRAIGHT) IN(SL 7 AT END)
|
||||
# 00110 Y OPTICS DEGREES (XX.XXX MAX 89.999)
|
||||
# 00111 ARITH DP3 OUT ( SL 7 AT END) IN ( STRAIGHT)
|
||||
# 01000 WHOLE HOURS IN R1, WHOLE MINUTES (MOD 60) IN R2,
|
||||
# SECONDS (MOD 60) 0XX.XX IN R3. *** ALARMS IF USED WITH OCTAL
|
||||
# 01001 MINUTES (MOD 60) IN D1D2, D3 BLANK, SECONDS (MOD 60) IN D4D5
|
||||
# LIMITS TO 59B59 IF MAG EXCEEDS THIS VALUE.
|
||||
# ALARMS IF USED WITH OCTAL ******** IN (ALARM)
|
||||
# 01010 ARITH DP4 OUT (STRAIGHT) IN (SL 3 AT END)
|
||||
# 01011 ARITH1 SF OUT(MULT BY 2EXP14 AT END) IN(STRAIGHT)
|
||||
# 01100 2 INTEGERS IN D1D2, D4D5, D3 BLANK.
|
||||
# ALARMS IF USED WITH OCTAL ******** IN (ALARM)
|
||||
# 01101 DP STRAIGHT FRACTIONAL
|
||||
# END OF SF ROUTINE CODE NUMBERS
|
||||
|
||||
|
||||
# SF CONSTANT CODE NUMBER INTERPRETATION
|
||||
|
||||
# 00000 WHOLE USE ARITH
|
||||
# 00000 DP TIME SEC (XXX.XX SEC) USE ARITHDP1
|
||||
# 00001 SPARE
|
||||
# 00010 CDU DEGREES USE CDU DEGREES
|
||||
# 00010 Y OPTICS DEGREES USE Y OPTICS DEGREES
|
||||
# 00011 DP DEGREES (90) XX.XXX DEG USE ARITHDP3
|
||||
# 00100 DP DEGREES (360) XXX.XX DEG USE ARITHDP4
|
||||
# 00101 DEGREES (180) XXX.XX DEG USE ARITH
|
||||
# 00110 WEIGHT2 (XXXXX. LBS) USE ARITH1
|
||||
# 00111 POSITION5 (XXX.XX NAUTICAL MILES)
|
||||
# USE ARITHDP3
|
||||
# 01000 POSITION4 (XXXX.X NAUTICAL MILES)
|
||||
# Page 269
|
||||
# USE ARITHDP3
|
||||
# 01001 VELOCITY2 (XXXXX. FT/SEC) USE ARITHDP4
|
||||
# 01010 VELOCITY3 (XXXX.X FT/SEC) USE ARITHDP3
|
||||
# 01011 ELEVATION DEGREES (89.999MAX) USE ARITH
|
||||
# 01100 TRIM DEGREES (XXX.XX DEG) USE ARITH
|
||||
# 01101 INERTIA (XXXXXBB. SLUG FT FT) USE ARITH
|
||||
# 01101 THRUST MOMENT (XXXXXBB.FT LBS) USE ARITH
|
||||
# 01110 VELOCITY/2VS (XXXXX. FT/SEC)USE ARITHDP4
|
||||
# 01111 POSITION6 (XXXX.X NAUT MI) USE ARITHDP3
|
||||
# 10000 DRAG ACCELERATION (XXX.XX G)USE ARITHDP2
|
||||
# 10001 POSITION8 (XXXX.X NAUT MI) USE ARITHDP3
|
||||
# 10010 POSITION9 (XXXXX. FT) USE ARITHDP3
|
||||
# 10011 VELOCITY4 (XXXX.X FT/SEC) USE ARITHDP2
|
||||
# END OF SF CONSTANT CODE NUMBERS
|
||||
|
||||
|
||||
# FOR GREATER THAN SINGLE PRECISION SCALES, PUT ADDRESS IN MAJOR PART INTO
|
||||
# NOUN TABLES.
|
||||
# OCTAL LOADS PLACE +0 INTO MAJOR PART, DATA INTO MINOR PART.
|
||||
# OCTAL DISPLAYS SHOW MINOR PART ONLY.
|
||||
# TO GET AT BOTH MAJOR AND MINOR PARTS(IN OCTAL), USE NOUN 01.
|
||||
|
||||
|
||||
# A NOUN MAY BE DECLARED :DECIMAL ONLY: BY MAKING BIT4=1 OF ITS COMPONENT
|
||||
# CODE NUMBER. IF THIS NOUN IS USED WITH ANY OCTAL DISPLAY VERB, OR IF
|
||||
# DATA IS LOADED IN OCTAL, IT ALARMS.
|
||||
|
||||
# IN LOADING AN :HOURS, MINUTES, SECONDS: NOUN, ALL 3 WORDS MUST BE
|
||||
# LOADED, OR ALARM.
|
||||
# ALARM IF AN ATTEMPT IS MADE TO LOAD :SPLIT MINUTES/SECONDS: (MMBSS).
|
||||
# THIS IS USED FOR DISPLAY ONLY.
|
||||
|
||||
# Page 270
|
||||
# THE FOLLOWING ROUTINES ARE FOR READING THE NOUN TABLES AND THE SF TABLES
|
||||
# (WHICH ARE IN A SEPARATE BANK FROM THE REST OF PINBALL). THESE READING
|
||||
# ROUTINES ARE IN THE SAME BANK AS THE TABLES. THEY ARE CALLED BY DXCH Z.
|
||||
|
||||
|
||||
# LODNNTAB LOADS NNADTEM WITH THE NNADTAB ENTRY, NNTYPTEM WITH THE
|
||||
# NNTYPTAB ENTRY. IF THE NOUN IS MIXED, IDADITEM IS LOADED WITH THE FIRST
|
||||
# IDADDTAB ENTRY, IDAD2TEM THE SECOND IDADDTAB ENTRY, IDAD3TEM THE THIRD
|
||||
# IDADDTAB ENTRY, RUTMXTEM WITH THE RUTMXTAB ENTRY. MIXBR IS SET FOR
|
||||
# MIXED OR NORMAL NOUN.
|
||||
|
||||
BANK 06
|
||||
SETLOC PINBALL3
|
||||
BANK
|
||||
|
||||
COUNT 42/NOUNS
|
||||
|
||||
LODNNTAB DXCH IDAD2TEM # SAVE RETURN INFO IN IDAD2TEM, IDAD3TEM.
|
||||
INDEX NOUNREG
|
||||
CAF NNADTAB
|
||||
TS NNADTEM
|
||||
INDEX NOUNREG
|
||||
CAF NNTYPTAB
|
||||
TS NNTYPTEM
|
||||
CS NOUNREG
|
||||
AD MIXCON
|
||||
EXTEND
|
||||
BZMF LODMIXNN # NOUN NUMBER G/E FIRST MIXED NOUN
|
||||
CAF ONE # NOUN NUMBER L/ FIRST MIXED NOUN
|
||||
TS MIXBR # NORMAL. +1 INTO MIXBR.
|
||||
TC LODNLV
|
||||
LODMIXNN CAF TWO # MIXED. +2 INTO MIXBR.
|
||||
TS MIXBR
|
||||
INDEX NOUNREG
|
||||
CAF RUTMXTAB -40D # FIRST MIXED NOUN = 40.
|
||||
TS RUTMXTEM
|
||||
CAF LOW10
|
||||
MASK NNADTEM
|
||||
TS Q # TEMP
|
||||
INDEX A
|
||||
CAF IDADDTAB
|
||||
TS IDAD1TEM # LOAD IDAD1TEM WITH FIRST IDADDTAB ENTRY
|
||||
EXTEND
|
||||
INDEX Q # LOAD IDAD2TEM WITH 2ND IDADDTAB ENTRY
|
||||
DCA IDADDTAB +1 # LOAD IDAD3TEM WITH 3RD IDADDTAB ENTRY.
|
||||
LODNLV DXCH IDAD2TEM # PUT RETURN INFO INTO A, L.
|
||||
DXCH Z
|
||||
|
||||
MIXCON = OCT50 # FIRST MIXED NOUN =40. (DEC 40)
|
||||
|
||||
# GTSFOUT LOADS SFTEMP1, SFTEMP2 WITH THE DP SFOUTAB ENTRIES.
|
||||
# Page 271
|
||||
|
||||
GTSFOUT DXCH SFTEMP1 # 2X(SFCONUM) ARRIVES IN SFTEMP1.
|
||||
EXTEND
|
||||
INDEX A
|
||||
DCA SFOUTAB
|
||||
SFCOM DXCH SFTEMP1
|
||||
DXCH Z
|
||||
|
||||
# GTSFIN LOADS SFTEMP1, SFTEMP2 WITH THE DP SFINTAB ENTRIES.
|
||||
|
||||
GTSFIN DXCH SFTEMP1 # 2X(SFCONUM) ARIVES IN SFTEMP1.
|
||||
EXTEND
|
||||
INDEX A
|
||||
DCA SFINTAB
|
||||
TCF SFCOM
|
||||
|
||||
# NN NORMAL NOUNS
|
||||
NNADTAB OCT 00000 # 00 NOT IN USE
|
||||
OCT 40000 # 01 SPECIFY MACHINE ADDRESS (FRACTIONAL)
|
||||
OCT 40000 # 02 SPECIFY MACHINE ADDRESS (WHOLE)
|
||||
OCT 40000 # 03 SPECIFY MACHINE ADDRESS (DEGREES)
|
||||
OCT 0 # 04 SPARE
|
||||
ECADR DSPTEM1 # 05 ANGULAR ERROR/DIFFERENCE
|
||||
ECADR OPTION1 # 06 OPTION CODE
|
||||
ECADR XREG # 07 ECADR OF WORD TO BE MODIFIED
|
||||
# ONES FOR BITS TO BE MODIFIED
|
||||
# 1 TO SET OR 0 TO RESET SELECTED BITS
|
||||
ECADR ALMCADR # 08 ALARM DATA
|
||||
ECADR FAILREG # 09 ALARM CODES
|
||||
OCT 77776 # 10 CHANNEL TO BE SPECIFIED
|
||||
ECADR TCSI # 11 TIG OF CSI (HRS,MIN,SEC)
|
||||
ECADR OPTIONX # 12 OPTION CODE
|
||||
# (USED BY EXTENDED VERBS ONLY)
|
||||
ECADR TCDH # 13 TIG OF CDH (HRS,MIN,SEC)
|
||||
OCT 0 # 14 SPARE
|
||||
OCT 77777 # 15 INCREMENT MACHINE ADDRESS
|
||||
ECADR DSPTEMX # 16 TIME OF EVENT (HRS,MIN,SEC)
|
||||
ECADR CPHIX # 17 ASTRONAUT TOTAL ATTITUDE
|
||||
ECADR THETAD # 18 AUTO MANEUVER BALL ANGLES
|
||||
ECADR THETAD # 19 BYPASS ATTITUDE TRIM MANEUVER
|
||||
ECADR CDUX # 20 ICDU ANGLES
|
||||
ECADR PIPAX # 21 PIPAS
|
||||
ECADR THETAD # 22 NEW ICDU ANGLES
|
||||
OCT 00000 # 23 SPARE
|
||||
ECADR DSPTEM2 +1 # 24 DELTA TIME FOR AGC CLOCK(HRS,MIN,SEC)
|
||||
ECADR DSPTEM1 # 25 CHECKLIST
|
||||
# (USED WITH PLEASE PERFORM ONLY)
|
||||
ECADR DSPTEM1 # 26 PRIO/DELAY, ADRES, BBCON
|
||||
ECADR SMODE # 27 SELF TEST ON/OFF SWITCH
|
||||
# Page 272
|
||||
OCT 0 # 28 SPARE
|
||||
ECADR DSPTEM1 # 29 XSM LAUNCH AZIMUTH
|
||||
ECADR DSPTEM1 # 30 TARGET CODES
|
||||
ECADR DSPTEM1 # 31 TIME OF LANDING SITE (HRS,MIN,SEC)
|
||||
ECADR -TPER # 32 TIME TO PERIGEE (HRS,MIN,SEC)
|
||||
ECADR TIG # 33 TIME OF IGNITION (HRS,MIN,SEC)
|
||||
ECADR DSPTEM1 # 34 TIME OF EVENT (HRS,MIN,SEC)
|
||||
ECADR TTOGO # 35 TIME TO GO TO EVENT (HRS,MIN,SEC)
|
||||
ECADR TIME2 # 36 TIME OF AGC CLOCK (HRS,MIN,SEC)
|
||||
ECADR TTPI # 37 TIG OF TPI (HRS,MIN,SEC)
|
||||
ECADR TET # 38 TIME OF STATE VECTOR
|
||||
ECADR T3TOT4 # 39 DELTA TIME TO TRANSFER (HRS,MIN,SEC)
|
||||
# END OF NNADTAB FOR NORMAL NOUNS
|
||||
|
||||
# NN MIXED NOUNS
|
||||
OCT 64000 # 40 TIME TO IGNITION/CUTOFF
|
||||
# VG
|
||||
# DELTA V (ACCUMULATED)
|
||||
OCT 02003 # 41 TARGET AZIMUTH
|
||||
# ELEVATION
|
||||
OCT 24006 # 42 APOGEE
|
||||
# PERIGEE
|
||||
# DELTA V (REQUIRED)
|
||||
OCT 24011 # 43 LATITUDE
|
||||
# LONGITUDE
|
||||
# ALTITUDE
|
||||
OCT 64014 # 44 APOGEE
|
||||
# PERIGEE
|
||||
# TFF
|
||||
OCT 64017 # 45 MARKS (VHF - OPTICS)
|
||||
# TTI OF NEXT BURN
|
||||
# MGA
|
||||
OCT 02022 # 46 AUTOPILOT CONFIGURATION
|
||||
OCT 22025 # 47 THIS VEHICLE WEIGHT
|
||||
# OTHER VEHICLE WEIGHT
|
||||
OCT 22030 # 48 PITCH TRIM
|
||||
# YAW TRIM
|
||||
OCT 24033 # 49 DELTA R
|
||||
# DELTA V
|
||||
# VHF OR OPTICS CODE
|
||||
OCT 64036 # 50 SPLASH ERROR
|
||||
# PERIGEE
|
||||
# TFF
|
||||
OCT 22041 # 51 S-BAND ANTENNA PITCH
|
||||
# YAW
|
||||
OCT 00044 # 52 CENTRAL ANGLE OF ACTIVE VEHICLE
|
||||
OCT 24047 # 53 RANGE
|
||||
# RANGE RATE
|
||||
# PHI
|
||||
# Page 273
|
||||
OCT 24052 # 54 RANGE
|
||||
# RANGE RATE
|
||||
# THETA
|
||||
OCT 24055 # 55 PERIGEE CODE
|
||||
# ELEVATION ANGLE
|
||||
# CENTRAL ANGLE
|
||||
OCT 22060 # 56 REENTRY ANGLE,
|
||||
# DELTA V
|
||||
OCT 20063 # 57 DELTA R
|
||||
OCT 24066 # 58 PERIGEE ALT
|
||||
# DELTA V TPI
|
||||
# DELTA V TPF
|
||||
OCT 24071 # 59 DELTA VELOCITY LOS
|
||||
OCT 24074 # 60 GMAX
|
||||
# VPRED
|
||||
# GAMMA EI
|
||||
OCT 24077 # 61 IMPACT LATITUDE
|
||||
# IMPACT LONGITUDE
|
||||
# HEADS UP/DOWN
|
||||
OCT 24102 # 62 INERTIAL VEL MAG (V1)
|
||||
# ALT RATE CHANGE (HDOT)
|
||||
# ALT ABOVE PAD RADIUS (H)
|
||||
OCT 64105 # 63 RANGE 297,431 TO SPLASH (RTGO)
|
||||
# PREDICTED INERT VEL (VIO)
|
||||
# TIME TO GO TO 297,431 (TTE)
|
||||
OCT 24110 # 64 DRAG ACCELERATION
|
||||
# INERTIAL VELOCITY (VI)
|
||||
# RANGE TO SPLASH
|
||||
OCT 24113 # 65 SAMPLED AGC TIME (HRS,MIN,SEC)
|
||||
# (FETCHED IN INTERRUPT)
|
||||
OCT 24116 # 66 COMMAND BANK ANGLE (BETA)
|
||||
# CROSS RANGE ERROR
|
||||
# DOWN RANGE ERROR
|
||||
OCT 24121 # 67 RANGE TO TARGET
|
||||
# PRESENT LATITUDE
|
||||
# PRESENT LONGITUDE
|
||||
OCT 24124 # 68 COMMAND BANK ANGLE (BETA)
|
||||
# INERTIAL VELOCITY (VI)
|
||||
# ALT RATE CHANGE (RDOT)
|
||||
OCT 24127 # 69 BETA
|
||||
# DL
|
||||
# VL
|
||||
OCT 04132 # 70 STAR CODE
|
||||
# LANDMARK DATA
|
||||
# HORIZON DATA
|
||||
OCT 04135 # 71 STAR CODE
|
||||
# LANDMARK
|
||||
# HORIZON
|
||||
OCT 24140 # 72 DELT ANG
|
||||
# DELT ALT
|
||||
# Page 274
|
||||
# SEARCH OPTION
|
||||
OCT 04143 # 73 ALTITUDE
|
||||
# VELOCITY
|
||||
# FLIGHT PATH ANGLE
|
||||
OCT 04146 # 74 COMMAND BANK ANGLE (BETA)
|
||||
# INERTIAL VELOCITY (VI)
|
||||
# DRAG ACCELERATION
|
||||
OCT 64151 # 75 DELTA ALTITUDE CDH
|
||||
# DELTA TIME (CDH-CSI OR TPI-CDH)
|
||||
# DELTA TIME (TPI-CDH OR TPI-NOMTPI)
|
||||
OCT 0 # 76 SPARE
|
||||
OCT 0 # 77 SPARE
|
||||
OCT 0 # 78 SPARE
|
||||
OCT 0 # 79 SPARE
|
||||
OCT 64170 # 80 TIME TO IGNITION/CUTOFF
|
||||
# VG
|
||||
# DELTA V (ACCUMULATED)
|
||||
OCT 24173 # 81 DELTA V (LV)
|
||||
OCT 24176 # 82 DELTA V (LV)
|
||||
OCT 24201 # 83 DELTA V (BODY)
|
||||
OCT 24204 # 84 DELTA V (OTHER VEHICLE)
|
||||
OCT 24207 # 85 VG (BODY)
|
||||
OCT 24212 # 86 DELTA V (LV)
|
||||
OCT 02215 # 87 MARK DATA SHAFT
|
||||
# TRUNION
|
||||
OCT 24220 # 88 HALF UNIT SUN OR PLANET VECTOR
|
||||
OCT 24223 # 89 LANDMARK LATITUDE
|
||||
# LONGITUDE/2
|
||||
# ALTITUDE
|
||||
OCT 24226 # 90 Y
|
||||
# Y DOT
|
||||
# PSI
|
||||
OCT 02231 # 91 OCDU ANGLES SHAFT
|
||||
# TRUNION
|
||||
OCT 02234 # 92 NEW OPTICS ANGLES SHAFT
|
||||
# TRUNION
|
||||
OCT 04237 # 93 DELTA GYRO ANGLES
|
||||
OCT 02242 # 94 NEW OPTICS ANGLES SHAFT
|
||||
# TRUNNION
|
||||
OCT 04245 # 95 PREFERRED ATTITUDE ICDU ANGLES
|
||||
OCT 04250 # 96 +X-AXIS ATTITUDE ICDU ANGLES
|
||||
OCT 04253 # 97 SYSTEM TEST INPUTS
|
||||
OCT 04256 # 98 SYSTEM TEST RESULTS
|
||||
OCT 24261 # 99 RMS IN POSITION
|
||||
# RMS IN VELOCITY
|
||||
# RMS OPTION
|
||||
# END OF NNADTAB FOR MIXED NOUNS
|
||||
|
||||
# NN NORMAL NOUNS
|
||||
# Page 275
|
||||
NNTYPTAB OCT 00000 # 00 NOT IN USE
|
||||
OCT 04040 # 01 3COMP FRACTIONAL
|
||||
OCT 04140 # 02 3COMP WHOLE
|
||||
OCT 04102 # 03 3COMP CDU DEGREES
|
||||
OCT 0 # 04 SPARE
|
||||
OCT 00504 # 05 1COMP DPDEG(360)
|
||||
OCT 02000 # 06 2COMP OCTAL ONLY
|
||||
OCT 04000 # 07 3COMP OCTAL ONLY
|
||||
OCT 04000 # 08 3COMP OCTAL ONLY
|
||||
OCT 04000 # 09 3COMP OCTAL ONLY
|
||||
OCT 00000 # 10 1COMP OCTAL ONLY
|
||||
OCT 24400 # 11 3COMP HMS (DEC ONLY)
|
||||
OCT 02000 # 12 2COMP OCTAL ONLY
|
||||
OCT 24400 # 13 3COMP HMS (DEC ONLY)
|
||||
OCT 0 # 14 SPARE
|
||||
OCT 00000 # 15 1COMP OCTAL ONLY
|
||||
OCT 24400 # 16 3COMP HMS (DEC ONLY)
|
||||
OCT 04102 # 17 3COMP CDU DEG
|
||||
OCT 04102 # 18 3COMP CDU DEG
|
||||
OCT 04102 # 19 3COMP CDU DEG
|
||||
OCT 04102 # 20 3COMP CDU DEGREES
|
||||
OCT 04140 # 21 3COMP WHOLE
|
||||
OCT 04102 # 22 3COMP CDU DEGREES
|
||||
OCT 00000 # 23 SPARE
|
||||
OCT 24400 # 24 3COMP HMS (DEC ONLY)
|
||||
OCT 04140 # 25 3COMP WHOLE
|
||||
OCT 04000 # 26 3COMP OCTAL ONLY
|
||||
OCT 00140 # 27 1COMP WHOLE
|
||||
OCT 00000 # 28 SPARE
|
||||
OCT 20102 # 29 1COMP CDU DEG (DEC ONLY)
|
||||
OCT 04140 # 30 3COMP WHOLE
|
||||
OCT 24400 # 31 3COMP HMS (DEC ONLY)
|
||||
OCT 24400 # 32 3COMP HMS (DEC ONLY)
|
||||
OCT 24400 # 33 3COMP HMS (DEC ONLY)
|
||||
OCT 24400 # 34 3COMP HMS (DEC ONLY)
|
||||
OCT 24400 # 35 3COMP HMS (DEC ONLY)
|
||||
OCT 24400 # 36 3COMP HMS (DEC ONLY)
|
||||
OCT 24400 # 37 3COMP HMS (DEC ONLY)
|
||||
OCT 24400 # 38 3COMP HMS (DEC ONLY)
|
||||
OCT 24400 # 39 3COMP HMS (DEC ONLY)
|
||||
# END OF NNTYPTAB FOR NORMAL NOUNS
|
||||
|
||||
# NN MIXED NOUNS
|
||||
|
||||
OCT 24500 # 40 3COMP MIN/SEC, VEL3, VEL3
|
||||
# (NO LOAD, DEC ONLY)
|
||||
OCT 00542 # 41 2COMP CDU DEG, ELEV DEG
|
||||
OCT 24410 # 42 3COMP POS4, POS4, VEL3
|
||||
# (DEC ONLY)
|
||||
OCT 20204 # 43 3COMP DPDEG(360), DPDEG(360), POS4
|
||||
# Page 276
|
||||
# (DEC ONLY)
|
||||
OCT 00410 # 44 3COMP POS4, POS4, MIN/SEC
|
||||
# (NO LOAD, DEC ONLY)
|
||||
OCT 10000 # 45 3COMP 2INT, MIN/SEC, DPDEG(360)
|
||||
# (NO LOAD, DEC ONLY)
|
||||
OCT 00000 # 46 2COMP OCTAL ONLY FOR EACH
|
||||
OCT 00306 # 47 2COMP WEIGHT2 FOR EACH
|
||||
# (DEC ONLY)
|
||||
OCT 00614 # 48 2COMP TRIM DEG, TRIM DEG
|
||||
# (DEC ONLY)
|
||||
OCT 00510 # 49 3COMP POS4, VEL3, WHOLE
|
||||
# (DEC ONLY)
|
||||
OCT 00417 # 50 3COMP POS6, POS4, MIN/SEC
|
||||
# (NO LOAD, DEC ONLY)
|
||||
OCT 00204 # 51 2COMP DPDEG(360), DPDEG(360)
|
||||
# (DEC ONLY)
|
||||
OCT 00004 # 52 1COMP DPDEG(360)
|
||||
OCT 10507 # 53 3COMP POS5, VEL3, DPDEG(360)
|
||||
# (DEC ONLY)
|
||||
OCT 10507 # 54 3COMP POS5, VEL3, DPDEG(360)
|
||||
# (DEC ONLY)
|
||||
OCT 10200 # 55 3COMP WHOLE, DPDEG(360), DPDEG(360)
|
||||
# (DEC ONLY)
|
||||
OCT 00444 # 56 2COMP DPDEG(360), VEL2
|
||||
# (DEC ONLY)
|
||||
OCT 00010 # 57 1COMP POS4
|
||||
# (DEC ONLY)
|
||||
OCT 24510 # 58 3COMP POS4, VEL3, VEL3
|
||||
# (DEC ONLY)
|
||||
OCT 24512 # 59 3COMP VEL3 FOR EACH
|
||||
# (DEC ONLY)
|
||||
OCT 10440 # 60 3COMP WHOLE, VEL2, DPDEG(360)
|
||||
# (DEC ONLY)
|
||||
OCT 00204 # 61 3COMP DPDEG(360), DPDEG(360), WHOLE
|
||||
# (DEC ONLY)
|
||||
OCT 20451 # 62 3COMP VEL2, VEL2, POS4
|
||||
# (DEC ONLY)
|
||||
OCT 00457 # 63 3COMP POS6, VEL2, MIN/SEC
|
||||
# (NO LOAD, DEC ONLY)
|
||||
OCT 36460 # 64 3COMP DRAG ACCEL, VEL2, POS6
|
||||
# (DEC ONLY)
|
||||
OCT 00000 # 65 3COMP HMS (DEC ONLY)
|
||||
OCT 37044 # 66 3COMP DPDEG(360), POS8, POS6
|
||||
# (DEC ONLY)
|
||||
OCT 10217 # 67 3COMP POS6, DPDEG(360), DPDEG(360)
|
||||
# (DEC ONLY)
|
||||
OCT 34444 # 68 3COMP DPDEG(360), VEL2, VEL/2VS
|
||||
# (DEC ONLY)
|
||||
OCT 35004 # 69 3COMP DPDEG(360), DRAG ACCEL,VEL/2VS
|
||||
# (DEC ONLY)
|
||||
# Page 277
|
||||
OCT 00000 # 70 3COMP OCTAL ONLY FOR EACH
|
||||
OCT 0 # 71 3COMP OCTAL ONLY FOR EACH
|
||||
OCT 00404 # 72 3COMP DPDEG(360), POS4, WHOLE
|
||||
# (DEC ONLY)
|
||||
OCT 10450 # 73 3COMP POS4, VEL2, DPDEG(360)
|
||||
OCT 40444 # 74 3COMP DPDEG(360), VEL2, DRAG ACCEL
|
||||
OCT 00010 # 75 3COMP POS4, MIN/SEC, MIN/SEC
|
||||
# # (NO LOAD, DEC ONLY)
|
||||
OCT 0 # 76 SPARE
|
||||
OCT 0 # 77 SPARE
|
||||
OCT 0 # 78 SPARE
|
||||
OCT 0 # 79 SPARE
|
||||
OCT 22440 # 80 3COMP MIN/SEC, VEL2, VEL2
|
||||
# (NO LOAD, DEC ONLY)
|
||||
OCT 24512 # 81 3COMP VEL3 FOR EACH
|
||||
# (DEC ONLY)
|
||||
OCT 24512 # 82 3COMP VEL3 FOR EACH
|
||||
# (DEC ONLY)
|
||||
OCT 24512 # 83 3COMP VEL3 FOR EACH
|
||||
# (DEC ONLY)
|
||||
OCT 24512 # 84 3COMP VEL3 FOR EACH
|
||||
# (DEC ONLY)
|
||||
OCT 24512 # 85 3COMP VEL3 FOR EACH
|
||||
# (DEC ONLY)
|
||||
OCT 22451 # 86 3COMP VEL2 FOR EACH
|
||||
# (DEC ONLY)
|
||||
OCT 00102 # 87 2COMP CDU DEG, Y OPTICS DEG
|
||||
OCT 0 # 88 3COMP FRAC FOR EACH
|
||||
# (DEC ONLY)
|
||||
OCT 16143 # 89 3COMP DPDEG(90), DPDEG(90), POS5
|
||||
# (DEC ONLY)
|
||||
OCT 10507 # 90 3COMP POS5, VEL3, DEPDEG(360)
|
||||
# (DEC ONLY)
|
||||
OCT 00102 # 91 2COMP CDUDEG, YOPTICS DEG
|
||||
OCT 00102 # 92 2COMP CDUDEG, YOPTICS DEG
|
||||
OCT 06143 # 93 3COMP DPDEG(90) FOR EACH
|
||||
OCT 00102 # 94 2COMP CDUDEG, YOPTICS DEG
|
||||
OCT 04102 # 95 3COMP CDU DEG FOR EACH
|
||||
OCT 04102 # 96 3COMP CDU DEG FOR EACH
|
||||
OCT 00000 # 97 3COMP WHOLE FOR EACH
|
||||
OCT 00000 # 98 3COMP WHOLE, FRAC, WHOLE
|
||||
OCT 01162 # 99 3COMP POS9, VEL4, WHOLE
|
||||
# (DEC ONLY)
|
||||
# END OF NNTYPTAB FOR MIXED NOUNS
|
||||
|
||||
|
||||
SFINTAB OCT 00006 # WHOLE, DP TIME (SEC)
|
||||
OCT 03240
|
||||
OCT 00000 # SPARE
|
||||
OCT 00000
|
||||
# Page 278
|
||||
OCT 00000 # CDU DEGREES, Y OPTICS DEGREES
|
||||
OCT 00000 # (SFCONS IN DEGINSF, OPTDEGIN)
|
||||
OCT 10707 # DP DEGREES (90)
|
||||
OCT 03435 # UPPED BY 1
|
||||
OCT 13070 # DP DEGREES (360)(POINT BETWN BITS 11-12)
|
||||
OCT 34345 # UPPED BY 1
|
||||
OCT 00005 # DEGREES (180)
|
||||
OCT 21616
|
||||
OCT 26113 # WEIGHT2
|
||||
OCT 31713
|
||||
OCT 00070 # POSITION5
|
||||
OCT 20460
|
||||
OCT 01065 # POSITION4
|
||||
OCT 05740
|
||||
OCT 11414 # VELOCITY2 (POINT BETWN BITS 11-12)
|
||||
OCT 31463
|
||||
OCT 07475 # VELOCITY3
|
||||
OCT 16051
|
||||
OCT 00001 # ELEVATION DEGREES
|
||||
OCT 03434
|
||||
OCT 00002 # TRIM DEGREES
|
||||
OCT 22245
|
||||
OCT 00014 # INERTIA, THRUST MOMENT
|
||||
OCT 35607
|
||||
OCT 07606 # VELOCITY/2VS
|
||||
OCT 06300
|
||||
OCT 16631 # POSITION 6
|
||||
OCT 11307
|
||||
OCT 12000 # DRAG ACCELERATION (POINT BETWN BITS 7-8)
|
||||
OCT 00000
|
||||
OCT 27176 # POSITION 8
|
||||
OCT 14235
|
||||
2DEC 30480 B-19 # POSITION 9
|
||||
|
||||
2DEC 30.48 B-7 # VELOCITY4
|
||||
|
||||
# END OF SFINTAB
|
||||
|
||||
|
||||
SFOUTAB OCT 05174 # WHOLE, DP TIME (SEC)
|
||||
OCT 13261
|
||||
OCT 00000 # SPARE
|
||||
OCT 00000
|
||||
OCT 00000 # CDU DEGREES, Y OPTICS DEGREES
|
||||
OCT 00000 # (SFCONS IN DEGOUTSF, OPTDEGOUT)
|
||||
OCT 00714 # DP DEGREES (90) (POINT BETWN BITS 7-8)
|
||||
OCT 31463
|
||||
OCT 13412 # DP DEGREES (360)
|
||||
OCT 07534
|
||||
OCT 05605 # DEGREES (180)
|
||||
# Page 279
|
||||
OCT 03656
|
||||
OCT 00001 # WEIGHT2
|
||||
OCT 16170
|
||||
OCT 00441 # POSITION5
|
||||
OCT 34306
|
||||
OCT 07176 # POSITION4
|
||||
OCT 21603
|
||||
OCT 15340 # VELOCITY2
|
||||
OCT 15340
|
||||
OCT 01031 # VELOCITY3 (POINT BETWN BITS 7-8)
|
||||
OCT 21032
|
||||
OCT 34631 # ELEVATION DEGREES
|
||||
OCT 23146
|
||||
OCT 14340 # TRIM DEGREES
|
||||
OCT 24145
|
||||
OCT 02363 # INERTIA, THRUST MOMENT
|
||||
OCT 03721
|
||||
OCT 20373 # VELOCITY/ZVS
|
||||
OCT 02122
|
||||
OCT 00424 # POSITION 6 (POINT BETWN BITS 7-8)
|
||||
OCT 30446
|
||||
OCT 00631 # DRAG ACCELERATION
|
||||
OCT 23146
|
||||
OCT 00260 # POSITION 8
|
||||
OCT 06213
|
||||
2DEC 17.2010499 B-7 # POSITION 9
|
||||
|
||||
2DEC .032808399 # VELOCITY4
|
||||
|
||||
# END OF SFOUTAB
|
||||
|
||||
|
||||
# NN SF CONSTANT SF ROUTINE
|
||||
|
||||
IDADDTAB ECADR TTOGO # 40 MIN/SEC M/S
|
||||
ECADR VGDISP # 40 VEL3 DP3
|
||||
ECADR DVTOTAL # 40 VEL3 DP3
|
||||
ECADR DSPTEM1 # 41 CDU DEG CDU
|
||||
ECADR DSPTEM1 +1 # 41 ELEV DEG ARTH
|
||||
OCT 0 # 41 SPARE COMPONENT
|
||||
ECADR HAPO # 42 POS4 DP3
|
||||
ECADR HPER # 42 POS4 DP3
|
||||
ECADR VGDISP # 42 VEL3 DP3
|
||||
ECADR LAT # 43 DPDEG(360) DP4
|
||||
ECADR LONG # 43 DPDEG(360) DP4
|
||||
ECADR ALT # 43 POS4 DP3
|
||||
ECADR HAPOX # 44 POS4 DP3
|
||||
ECADR HPERX # 44 POS4 DP3
|
||||
ECADR TFF # 44 MIN/SEC M/S
|
||||
ECADR VHFCNT # 45 2INT 2INT
|
||||
# Page 280
|
||||
ECADR TTOGO # 45 MIN/SEC M/S
|
||||
ECADR +MGA # 45 DPDEG(360) DP4
|
||||
ECADR DAPDATR1 # 46 OCTAL ONLY OCT
|
||||
ECADR DAPDATR2 # 46 OCATAL ONLY OCT
|
||||
OCT 0 # 46 SPARE COMPONENT
|
||||
ECADR CSMMASS # 47 WEIGHT2 ARTH1
|
||||
ECADR LEMMASS # 47 WEIGHT2 ARTH1
|
||||
OCT 00000 # 47 SPARE COMPONENT
|
||||
ECADR PACTOFF # 48 TRIM DEG ARTH
|
||||
ECADR YACTOFF # 48 TRIM DEG ARTH
|
||||
OCT 00000 # 48 SPARE COMPONENT
|
||||
ECADR N49DISP # 49 POS4 DP3
|
||||
ECADR N49DISP +2 # 49 VEL3 DP3
|
||||
ECADR N49DISP +4 # 49 WHOLE ARTH
|
||||
ECADR RSP-RREC # 50 POS6 DP3
|
||||
ECADR HPERX # 50 POS4 DP3
|
||||
ECADR TFF # 50 MIN/SEC M/S
|
||||
ECADR RHOSB # 51 DPDEG(360)
|
||||
ECADR GAMMASB # 51 DPDEG(360) DP4
|
||||
OCT 0 # 51 SPARE COMPONENT
|
||||
ECADR ACTCENT # 52 DPDEG(360) DP4
|
||||
OCT 00000 # 52 SPARE COMPONENT
|
||||
OCT 00000 # 52 SPARE COMPONENT
|
||||
ECADR RANGE # 53 POS5 DP1
|
||||
ECADR RRATE # 53 VEL3 DP3
|
||||
ECADR RTHETA # 53 DPDEG(360) DP4
|
||||
ECADR RANGE # 54 POS5 DP1
|
||||
ECADR RRATE # 54 VEL3 DP3
|
||||
ECADR RTHETA # 54 DPDEG(360) DP4
|
||||
ECADR NN1 # 55 WHOLE ARTH
|
||||
ECADR ELEV # 55 DPDEG(360) DP4
|
||||
ECADR CENTANG # 55 DPDEG(360) DP4
|
||||
ECADR RTEGAM2D # 56 DPDEG(360) DP4
|
||||
ECADR RTEDVD # 56 VEL2 DP4
|
||||
OCT 0 # 56 SPARE COMPONENT
|
||||
ECADR DELTAR # 57 POS4 DP3
|
||||
OCT 0 # 57 SPARE COMPONENT
|
||||
OCT 0 # 57 SPARE COMPONENT
|
||||
ECADR POSTTPI # 58 POS4 DP3
|
||||
ECADR DELVTPI # 58 VEL3 DP3
|
||||
ECADR DELVTPF # 58 VEL3 DP3
|
||||
ECADR DVLOS # 59 VEL3 DP3
|
||||
ECADR DVLOS +2 # 59 VEL3 DP3
|
||||
ECADR DVLOS +4 # 59 VEL3 DP3
|
||||
ECADR GMAX # 60 WHOLE ARTH
|
||||
ECADR VPRED # 60 VEL2 DP4
|
||||
ECADR GAMMAEI # 60 DPDEG(360) DP4
|
||||
ECADR LAT(SPL) # 61 DPDEG(360) DP4
|
||||
ECADR LNG(SPL) # 61 DPDEG(360) DP4
|
||||
ECADR HEADSUP # 61 WHOLE ARTH
|
||||
# Page 281
|
||||
ECADR VMAGI # 62 VEL2 DP4
|
||||
ECADR HDOT # 62 VEL2 DP4
|
||||
ECADR ALTI # 62 POS4 DP3
|
||||
ECADR RTGO # 63 POS6 DP3
|
||||
ECADR VIO # 63 VEL2 DP4
|
||||
ECADR TTE # 63 MIN/SEC M/S
|
||||
ECADR D # 64 DRAG ACCEL DP2
|
||||
ECADR VMAGI # 64 VEL2 DP4
|
||||
ECADR RTGON64 # 64 POS6 DP3
|
||||
ECADR SAMPTIME # 65 HMS (MIXED ONLY TO KEEP CODE 65) HMS
|
||||
ECADR SAMPTIME # 65 HMS HMS
|
||||
ECADR SAMPTIME # 65 HMS HMS
|
||||
ECADR ROLLC # 66 DPDEG(360) DP4
|
||||
ECADR XRNGERR # 66 POS8 DP3
|
||||
ECADR DNRNGERR # 66 POS6 DP3
|
||||
ECADR RTGON67 # 67 POS6 DP3
|
||||
ECADR LAT # 67 DPDEG(360) DP4
|
||||
ECADR LONG # 67 DPDEG(360) DP4
|
||||
ECADR ROLLC # 68 DPDEG(360) DP4
|
||||
ECADR VMAGI # 68 VEL2 DP4
|
||||
ECADR RDOT # 68 VEL/2VS DP4
|
||||
ECADR ROLLC # 69 DPDEG(360) DP4
|
||||
ECADR Q7 # 69 DRAG ACCEL DP2
|
||||
ECADR VL # 69 VEL/2VS DP4
|
||||
ECADR STARCODE # 70 OCTAL ONLY OCT
|
||||
ECADR LANDMARK # 70 OCTAL ONLY OCT
|
||||
ECADR HORIZON # 70 OCTAL ONLY OCT
|
||||
ECADR STARCODE # 71 OCTAL ONLY OCT
|
||||
ECADR LANDMARK # 71 OCTAL ONLY OCT
|
||||
ECADR HORIZON # 71 OCTAL ONLY OCT
|
||||
ECADR THETZERO # 72 DPDEG(360) DP4
|
||||
ECADR DELHITE # 72 POS4 DP3
|
||||
ECADR OPTION2 # 72 WHOLE ARTH
|
||||
ECADR P21ALT # 73 POS4 DP3
|
||||
ECADR P21VEL # 73 VEL2 DP4
|
||||
ECADR P21GAM # 73 DPDEG(360) DP4
|
||||
ECADR ROLLC # 74 DPDEG(360) DP4
|
||||
ECADR VMAGI # 74 VEL2 DP4
|
||||
ECADR D # 74 DRAG ACCEL DP2
|
||||
ECADR DIFFALT # 75 POS4 DP3
|
||||
ECADR T1TOT2 # 75 MIN/SEC M/S
|
||||
ECADR T2TOT3 # 75 MIN/SEC M/S
|
||||
OCT 0 # 76 SPARE
|
||||
OCT 0 # 76 SPARE
|
||||
OCT 0 # 76 SPARE
|
||||
OCT 0 # 77 SPARE
|
||||
OCT 0 # 77 SPARE
|
||||
OCT 0 # 77 SPARE
|
||||
OCT 0 # 78 SPARE
|
||||
OCT 0 # 78 SPARE
|
||||
# Page 282
|
||||
OCT 0 # 78 SPARE
|
||||
OCT 0 # 79 SPARE
|
||||
OCT 0 # 79 SPARE
|
||||
OCT 0 # 79 SPARE
|
||||
ECADR TTOGO # 80 MIN/SEC M/S
|
||||
ECADR VGDISP # 80 VEL2 DP4
|
||||
ECADR DVTOTAL # 80 VEL2 DP4
|
||||
ECADR DELVLVC # 81 VEL3 DP3
|
||||
ECADR DELVLVC +2 # 81 VEL3 DP3
|
||||
ECADR DELVLVC +4 # 81 VEL3 DP3
|
||||
ECADR DELVLVC # 82 VEL3 DP3
|
||||
ECADR DELVLVC +2 # 82 VEL3 DP3
|
||||
ECADR DELVLVC +4 # 82 VEL3 DP3
|
||||
ECADR DELVIMU # 83 VEL3 DP3
|
||||
ECADR DELVIMU +2 # 83 VEL3 DP3
|
||||
ECADR DELVIMU +4 # 83 VEL3 DP3
|
||||
ECADR DELVOV # 84 VEL3 DP3
|
||||
ECADR DELVOV +2 # 84 VEL3 DP3
|
||||
ECADR DELVOV +4 # 84 VEL3 DP3
|
||||
ECADR VGBODY # 85 VEL3 DP3
|
||||
ECADR VGBODY +2 # 85 VEL3 DP3
|
||||
ECADR VGBODY +4 # 85 VEL3 DP3
|
||||
ECADR DELVLVC # 86 VEL2 DP4
|
||||
ECADR DELVLVC +2 # 86 VEL2 DP4
|
||||
ECADR DELVLVC +4 # 86 VEL2 DP4
|
||||
ECADR MRKBUF1 +3 # 87 CDU DEG CDU
|
||||
ECADR MRKBUF1 +5 # 87 Y OPTICS DEG YOPT
|
||||
OCT 0 # 87 SPARE COMPONENT
|
||||
ECADR STARSAV3 # 88 DPFRAC DPFRAC
|
||||
ECADR STARSAV3 +2 # 88 DPFRAC DPFRAC
|
||||
ECADR STARSAV3 +4 # 88 DPFRAC DPFRAC
|
||||
ECADR LANDLAT # 89 DPDEG(90) DP3
|
||||
ECADR LANDLONG # 89 DPDEG(90) DP3
|
||||
ECADR LANDALT # 89 POS5 DP1
|
||||
ECADR RANGE # 90 POS5 DP1
|
||||
ECADR RRATE # 90 VEL3 DP3
|
||||
ECADR RTHETA # 90 DPDEG(360) DP4
|
||||
ECADR CDUS # 91 CDU DEG CDU
|
||||
ECADR CDUT # 91 Y OPTICS DEG YOPT
|
||||
OCT 0 # 91 SPARE COMPONENT
|
||||
ECADR SAC # 92 CDU DEG CDU
|
||||
ECADR PAC # 92 Y OPTICS DEG YOPT
|
||||
OCT 0 # 92 SPARE COMPONENT
|
||||
ECADR OGC # 93 DPDEG(90) DP3
|
||||
ECADR OGC +2 # 93 DPDEG(90) DP3
|
||||
ECADR OGC +4 # 93 DPDEG(90) DP3
|
||||
ECADR MRKBUF1 +3 # 94 CDU DEG CDU
|
||||
ECADR MRKBUF1 +5 # 94 Y OPTICS DEG YOPT
|
||||
OCT 00000 # 94 SPARE
|
||||
ECADR PRAXIS # 95 CDU DEG CDU
|
||||
# Page 283
|
||||
ECADR PRAXIS +1 # 95 CDU DEG CDU
|
||||
ECADR PRAXIS +2 # 95 CDU DEG CDU
|
||||
ECADR CPHIX # 96 CDU DEG CDU
|
||||
ECADR CPHIX +1 # 96 CDU DEG CDU
|
||||
ECADR CPHIX +2 # 96 CDU DEG CDU
|
||||
ECADR DSPTEM1 # 97 WHOLE ARTH
|
||||
ECADR DSPTEM1 +1 # 97 WHOLE ARTH
|
||||
ECADR DSPTEM1 +2 # 97 WHOLE ARTH
|
||||
ECADR DSPTEM2 # 98 WHOLE ARTH
|
||||
ECADR DSPTEM2 +1 # 98 FRAC FRAC
|
||||
ECADR DSPTEM2 +2 # 98 WHOLE ARTH
|
||||
ECADR WWPOS # 99 POS9 DP3
|
||||
ECADR WWVEL # 99 VEL4 DP2
|
||||
ECADR WWOPT # 99 WHOLE ARTH
|
||||
# END OF IDADDTAB
|
||||
|
||||
|
||||
# NN SF ROUTINES
|
||||
|
||||
RUTMXTAB OCT 16351 # 40 M/S, DP3, DP3
|
||||
OCT 00142 # 41 CDU, ARTH
|
||||
OCT 16347 # 42 DP3, DP3, DP3
|
||||
OCT 16512 # 43 DP4, DP4, DP3
|
||||
OCT 22347 # 44 DP3, DP3, M/S
|
||||
OCT 24454 # 45 2INT, M/S, DP4
|
||||
OCT 00000 # 46 OCT, OCT
|
||||
OCT 00553 # 47 ARITH1, ARITH1
|
||||
OCT 00143 # 48 ARTH, ARTH
|
||||
OCT 06347 # 49 DP3, DP3, ARTH
|
||||
OCT 22347 # 50 DP3, DP3, M/S
|
||||
OCT 00512 # 51 DP4, DP4
|
||||
OCT 00012 # 52 DP4
|
||||
OCT 24344 # 53 DP1, DP3, DP4
|
||||
OCT 24344 # 54 DP1, DP3, DP4
|
||||
OCT 24503 # 55 ARTH, DP4 , DP4
|
||||
OCT 00512 # 56 DP4, DP4
|
||||
OCT 00007 # 57 DP3
|
||||
OCT 16347 # 58 DP3, DP3, DP3
|
||||
OCT 16347 # 59 DP3, DP3, DP3
|
||||
OCT 24503 # 60 ARTH, DP4, DP4
|
||||
OCT 06512 # 61 DP4, DP4, ARTH
|
||||
OCT 16512 # 62 DP4, DP4, DP3
|
||||
OCT 22507 # 63 DP3, DP4, M/S
|
||||
OCT 16505 # 64 DP2, DP4, DP3
|
||||
OCT 20410 # 65 HMS, HMS, HMS
|
||||
OCT 16352 # 66 DP4, DP3, DP3
|
||||
OCT 24507 # 67 DP3, DP4, DP4
|
||||
OCT 24512 # 68 DP4, DP4, DP4
|
||||
OCT 24252 # 69 DP4, DP2, DP4
|
||||
OCT 00000 # 70 OCT, OCT, OCT
|
||||
# Page 284
|
||||
OCT 0 # 71 OCT, OCT, OCT
|
||||
OCT 06352 # 72 DP4, DP3, ARTH
|
||||
OCT 24507 # 73 DPR, DP4, DP4
|
||||
OCT 12512 # 74 DP4, DP4, DP2
|
||||
OCT 22447 # 75 DP3, M/S, M/S
|
||||
OCT 0 # 76 SPARE
|
||||
OCT 0 # 77 SPARE
|
||||
OCT 0 # 78 SPARE
|
||||
OCT 0 # 79 SPARE
|
||||
OCT 24511 # 80 M/S, DP4, DP4
|
||||
OCT 16347 # 81 DP3, DP3, DP3
|
||||
OCT 16347 # 82 DP3, DP3, DP3
|
||||
OCT 16347 # 83 DP3, DP3, DP3
|
||||
OCT 16347 # 84 DP3, DP3, DP3
|
||||
OCT 16347 # 85 DP3, DP3, DP3
|
||||
OCT 24512 # 86 DP4, DP4, DP4
|
||||
OCT 00302 # 87 CDU, YOPT
|
||||
OCT 32655 # 88 DPFRAC FOR EACH
|
||||
OCT 10347 # 89 DP3, DP3, DP1
|
||||
OCT 24344 # 90 DP1, DP3, DP4
|
||||
OCT 00302 # 91 CDU, YOPT
|
||||
OCT 00302 # 92 CDU, YOPT
|
||||
OCT 16347 # 93 DP3, DP3, DP3
|
||||
OCT 00302 # 94 CDU, YOPT
|
||||
OCT 04102 # 95 CDU, CDU, CDU
|
||||
OCT 04102 # 96 CDU, CDU, CDU
|
||||
OCT 06143 # 97 ARTH, ARTH, ARTH
|
||||
OCT 06043 # 98 ARTH, FRAC, ARTH
|
||||
OCT 06247 # 99 DP3, DP2, ARTH
|
||||
# END OF RUTMXTAB
|
||||
|
||||
|
||||
SBANK= LOWSUPER
|
||||
|
|
@ -1,386 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: PLANETARY_INERTIAL_ORIENTATION.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1243-1251
|
||||
# Mod history: 2009-05-14 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1243
|
||||
# PLANETARY INERTIAL ORIENTATION
|
||||
|
||||
# ..... RP-TO-R SUBROUTINE .....
|
||||
# SUBROUTINE TO CONVERT RP (VECTOR IN PLANETARY COORDINATE SYSTEM,EITHER
|
||||
# EARTH-FIXED OR MOON-FIXED) TO R (SAME VECTOR IN BASIC REF. SYSTEM)
|
||||
|
||||
# R=MT(T)*(RP+LPXRP) MT= M MATRIX TRANSPOSE
|
||||
|
||||
# CALLING SEQUENCE
|
||||
# L CALL
|
||||
# L+1 RP-TO-R
|
||||
|
||||
# SUBROUTINES USED
|
||||
# EARTHMX,MOONMX,EARTHL
|
||||
|
||||
# ITEMS AVAILABLE FROM LAUNCH DATA
|
||||
# 504LM= THE LIBRATION VECTOR L OF THE MOON AT TIME TIMSUBL,EXPRESSED
|
||||
# IN THE MOON-FIXED COORD. SYSTEM RADIANS B0
|
||||
# ITEMS NECESSARY FOR SUBR. USED (SEE DESCRIPTION OF SUBR.)
|
||||
|
||||
# INPUT
|
||||
# MPAC= 0 FOR EARTH,NON-ZERO FOR MOON
|
||||
# 0-5D= RP VECTOR
|
||||
# 6-7D= TIME
|
||||
|
||||
# OUTPUT
|
||||
# MPAC= R VECTOR METERS B-29 FOR EARTH, B-27 FOR MOON
|
||||
|
||||
SETLOC PLANTIN
|
||||
BANK
|
||||
|
||||
COUNT* $$/LUROT
|
||||
|
||||
RP-TO-R STQ BHIZ
|
||||
RPREXIT
|
||||
RPTORA
|
||||
CALL # COMPUTE M MATRIX FOR MOON
|
||||
MOONMX # LP=LM FOR MOON RADIANS B0
|
||||
VLOAD
|
||||
504LM
|
||||
RPTORB VXV VAD
|
||||
504RPR
|
||||
504RPR
|
||||
VXM GOTO
|
||||
MMATRIX # MPAC=R=MT(T)*(RP+LPXRP)
|
||||
RPRPXXXX # RESET PUSHLOC TO 0 BEFORE EXITING
|
||||
RPTORA CALL # EARTH COMPUTATIONS
|
||||
EARTHMX # M MATRIX B-1
|
||||
CALL
|
||||
EARTHL # L VECTOR RADIANS B0
|
||||
MXV VSL1 # LP=M(T)*L RAD B-0
|
||||
MMATRIX
|
||||
# Page 1244
|
||||
GOTO
|
||||
RPTORB
|
||||
|
||||
# Page 1245
|
||||
# ..... R-TO-RP SUBROUTINE .....
|
||||
# SUBROUTINE TO CONVERT R (VECTOR IN REFERENCE COORD. SYSTEM) TO RP
|
||||
# (VECTOR IN PLANETARY COORD SYSTEM) EITHER EARTH-FIXED OR MOON-FIXED
|
||||
|
||||
# RP = M(T) * (R - L X R)
|
||||
|
||||
# CALLING SEQUENCE
|
||||
# L CALL
|
||||
# L+1 R-TO-RP
|
||||
|
||||
# SUBROUTINES USED
|
||||
# EARTHMX,MOONMX,EARTHL
|
||||
|
||||
# INPUT
|
||||
# MPAC= 0 FOR EARTH,NON-ZERO FOR MOON
|
||||
# 0-5D= R VECTOR
|
||||
# 6-7D= TIME
|
||||
|
||||
# ITEMS AVAILABLE FROM LAUNCH DATA
|
||||
# 504LM= THE LIBRATION VECTOR L OF THE MOON AT TIME TIMSUBL,EXPRESSED
|
||||
# IN THE MOON-FIXED COORD. SYSTEM RADIANS B0
|
||||
# ITEMS NECESSARY FOR SUBROUTINES USED (SEE DESCRIPTION OF SUBR.)
|
||||
|
||||
# OUTPUT
|
||||
# MPAC=RP VECTOR METERS B-29 FOR EARTH, B-27 FOR MOON
|
||||
|
||||
R-TO-RP STQ BHIZ
|
||||
RPREXIT
|
||||
RTORPA
|
||||
CALL
|
||||
MOONMX
|
||||
VLOAD VXM
|
||||
504LM # LP=LM
|
||||
MMATRIX
|
||||
VSL1 # L=MT(T)*LP RADIANS B0
|
||||
RTORPB VXV BVSU
|
||||
504RPR
|
||||
504RPR
|
||||
MXV # M(T)*(R-LXR) B-2
|
||||
MMATRIX
|
||||
RPRPXXXX VSL1 SETPD
|
||||
0D
|
||||
GOTO
|
||||
RPREXIT
|
||||
RTORPA CALL # EARTH COMPUTATIONS
|
||||
EARTHMX
|
||||
CALL
|
||||
EARTHL
|
||||
GOTO # MPAC=L=(-AX,-AY,0) RAD B-0
|
||||
RTORPB
|
||||
|
||||
# Page 1246
|
||||
# ..... MOONMX SUBROUTINE .....
|
||||
# SUBROUTINE TO COMPUTE THE TRANSFORMATION MATRIX M FOR THE MOON
|
||||
|
||||
# CALLING SEQUENCE
|
||||
# L CALL
|
||||
# L+1 MOONMX
|
||||
|
||||
# SUBROUTINES USED
|
||||
# NEWANGLE
|
||||
|
||||
# INPUT
|
||||
# 6-7D= TIME
|
||||
# ITEMS AVAILABLE FROM LAUNCH DATA
|
||||
# BSUBO,BDOT
|
||||
# TIMSUBO,NODIO,NODDOT,FSUBO,FDOT
|
||||
# COSI= COS(I) B-1
|
||||
# SINI= SIN(I) B-1
|
||||
# I IS THE ANGLE BETWEEN THE MEAN LUNAR EQUATORIAL PLANE AND THE
|
||||
# PLANE OF THE ECLIPTIC (1 DEGREE 32.1 MINUTES)
|
||||
|
||||
# OUTPUT
|
||||
# MMATRIX= 3X3 M MATRIX B-1 (STORED IN VAC AREA)
|
||||
|
||||
MOONMX STQ SETPD
|
||||
EARTHMXX
|
||||
8D
|
||||
AXT,1 # B REQUIRES SL 0, SL 5 IN NEWANGLE
|
||||
5
|
||||
DLOAD PDDL # PD 10D 8-9D=BSUBO
|
||||
BSUBO # 10-11D= BDOT
|
||||
BDOT
|
||||
PUSH CALL # PD 12D
|
||||
NEWANGLE # EXIT WITH PD 8D AND MPAC= B REVS B0
|
||||
PUSH COS # PD 10D
|
||||
STODL COB # PD 8D COS(B) B-1
|
||||
SIN # SIN(B) B-1
|
||||
STODL SOB # SETUP INPUT FOR NEWANGLE
|
||||
FSUBO # 8-9D=FSUBO
|
||||
PDDL PUSH # PD 10D THEN 12D 10-11D=FDOT
|
||||
FDOT
|
||||
AXT,1 CALL # F REQUIRES SL 1, SL 6 IN NEWANGLE
|
||||
4
|
||||
NEWANGLE # EXIT WITH PD 8D AND MPAC= F REVS B0
|
||||
STODL AVECTR +2 # SAVE F TEMP
|
||||
NODIO # 8-9D=NODIO
|
||||
PDDL PUSH # PD 10D THEN 12D 10-11D=NODDOT
|
||||
NODDOT # MPAC=T
|
||||
AXT,1 CALL # NODE REQUIRES SL 0, SL 5 IN NEWANGLE
|
||||
5
|
||||
NEWANGLE # EXIT WITH PD 8D AND MPAC= NODI REVS B0
|
||||
# Page 1247
|
||||
PUSH COS # PD 10D 8-9D= NODI REVS B0
|
||||
PUSH # PD 12D 10-11D= COS(NODI) B-1
|
||||
STORE AVECTR
|
||||
DMP SL1R
|
||||
COB # COS(NODI) B-1
|
||||
STODL BVECTR +2 # PD 10D 20-25D=AVECTR=COB*SIN(NODI)
|
||||
DMP SL1R # SOB*SIN(NODI)
|
||||
SOB
|
||||
STODL BVECTR +4 # PD 8D
|
||||
SIN PUSH # PD 10D -SIN(NODI) B-1
|
||||
DCOMP # 26-31D=BVECTR= COB*COS(NODI)
|
||||
STODL BVECTR # PD 8D SOB*COS(NODI)
|
||||
AVECTR +2 # MOVE F FROM TEMP LOC. TO 504F
|
||||
STODL 504F
|
||||
DMP SL1R
|
||||
COB
|
||||
STODL AVECTR +2
|
||||
SINNODI # 8-9D=SIN(NODI) B-1
|
||||
DMP SL1R
|
||||
SOB
|
||||
STODL AVECTR +4 # 0
|
||||
HI6ZEROS # 8-13D= CVECTR= -SOB B-1
|
||||
PDDL DCOMP # PD 10D COB
|
||||
SOB
|
||||
PDDL PDVL # PD 12D THEN PD 14D
|
||||
COB
|
||||
BVECTR
|
||||
VXSC PDVL # PD 20D BVECTR*SINI B-2
|
||||
SINI
|
||||
CVECTR
|
||||
VXSC VAD # PD 14D CVECTR*COSI B-2
|
||||
COSI
|
||||
VSL1
|
||||
STOVL MMATRIX +12D # PD 8D M2=BVECTR*SINI+CVECTR*COSI B-1
|
||||
VXSC PDVL # PD 14D
|
||||
SINI # CVECTR*SINI B-2
|
||||
BVECTR
|
||||
VXSC VSU # PD 8D BVECTR*COSI B-2
|
||||
COSI
|
||||
VSL1 PDDL # PD 14D
|
||||
504F # 8-13D=DVECTR=BVECTR*COSI-CVECTR*SINI B-1
|
||||
COS VXSC
|
||||
DVECTR
|
||||
PDDL SIN # PD 20D 14-19D= DVECTR*COSF B-2
|
||||
504F
|
||||
VXSC VSU # PD 14D AVECTR*SINF B-2
|
||||
AVECTR
|
||||
VSL1
|
||||
STODL MMATRIX +6 # M1= AVECTR*SINF-DVECTR*COSF B-1
|
||||
504F
|
||||
# Page 1248
|
||||
SIN VXSC # PD 8D
|
||||
PDDL COS # PD 14D 8-13D=DVECTR*SINF B-2
|
||||
504F
|
||||
VXSC VAD # PD 8D AVECTR*COSF B-2
|
||||
AVECTR
|
||||
VSL1 VCOMP
|
||||
STCALL MMATRIX # M0= -(AVECTR*COSF+DVECTR*SINF) B-1
|
||||
EARTHMXX
|
||||
# COMPUTE X=X0+(XDOT)(T+T0)
|
||||
# 8-9D= X0 (REVS B-0),PUSHLOC SET AT 12D
|
||||
# 10-11D=XDOT (REVS/CSEC) SCALED B+23 FOR WEARTH,B+28 FOR NODDOT AND BDOT
|
||||
# AND B+27 FOR FDOT
|
||||
# X1=DIFFERENCE IN 23 AND SCALING OF XDOT,=0 FOR WEARTH,5 FOR NDDOT AND
|
||||
# BDOT AND 4 FOR FDOT
|
||||
# 6-7D=T (CSEC B-28), TIMSUBO= (CSEC B-42 TRIPLE PREC.)
|
||||
|
||||
NEWANGLE DLOAD SR # ENTER PD 12D
|
||||
6D
|
||||
14D
|
||||
TAD TLOAD # CHANGE MODE TO TP
|
||||
TIMSUBO
|
||||
MPAC
|
||||
STODL TIMSUBM # T+T0 CSEC B-42
|
||||
TIMSUBM +1
|
||||
DMP # PD 10D MULT BY XDOT IN 10-11D
|
||||
SL* DAD # PD 8D ADD X0 IN 8-9D AFTER SHIFTING
|
||||
5,1 # SUCH THAT SCALING IS B-0
|
||||
PUSH SLOAD # PD 10D SAVE PARTIAL (X0+XDOT*T) IN 8-9D
|
||||
TIMSUBM
|
||||
SL DMP
|
||||
9D
|
||||
10D # XDOT
|
||||
SL* DAD # PD 8D SHIFT SUCH THAT THIS PART OF X
|
||||
10D,1 # IS SCALED REVS/CSEC B-0
|
||||
BOV # TURN OFF OVERFLOW IF SET BY SHIFT
|
||||
+1 # INSTRUCTION BEFORE EXITING
|
||||
RVQ # MPAC=X= X0+(XDOT)(T+T0) REVS B0
|
||||
|
||||
# Page 1249
|
||||
# ..... EARTHMX SUBROUTINE .....
|
||||
# SUBROUTINE TO COMPUTE THE TRANSFORMATION MATRIX M FOR THE EARTH
|
||||
|
||||
# CALLING SEQUENCE
|
||||
# L CALL
|
||||
# L+1 EARTHMX
|
||||
|
||||
# SUBROUTINE USED
|
||||
# NEWANGLE
|
||||
|
||||
# INPUT
|
||||
# INPUT AVAILABLE FROM LAUNCH DATA AZO REVS B-0
|
||||
# TEPHEM CSEC B-42
|
||||
# 6-7D= TIME CSEC B-28
|
||||
|
||||
# OUTPUT
|
||||
# MMATRIX= 3X3 M MATRIX B-1 (STORED IN VAC AREA)
|
||||
|
||||
EARTHMX STQ SETPD # SET 8-9D=AZO
|
||||
EARTHMXX
|
||||
8D # 10-11D=WEARTH
|
||||
AXT,1 # FOR SL 5, AND SL 10 IN NEWANGLE
|
||||
0
|
||||
DLOAD PDDL # LEAVING PD SET AT 12D FOR NEWANGLE
|
||||
AZO
|
||||
WEARTH
|
||||
PUSH CALL
|
||||
NEWANGLE
|
||||
SETPD PUSH # 18-19D=504AZ
|
||||
18D # COS(AZ) SIN(AZ) 0
|
||||
COS PDDL # 20-37D= MMATRIX= -SIN(AZ) COS(AZ) 0 B-1
|
||||
504AZ # 0 0 1
|
||||
SIN PDDL
|
||||
HI6ZEROS
|
||||
PDDL SIN
|
||||
504AZ
|
||||
DCOMP PDDL
|
||||
504AZ
|
||||
COS PDVL
|
||||
HI6ZEROS
|
||||
PDDL PUSH
|
||||
HIDPHALF
|
||||
GOTO
|
||||
EARTHMXX
|
||||
|
||||
# Page 1250
|
||||
# ..... EARTHL SUBROUTINE .....
|
||||
# SUBROUTINE TO COMPUTE L VECTOR FOR EARTH
|
||||
|
||||
# CALLING SEQUENCE
|
||||
# L CALL
|
||||
# L+1 EARTHL
|
||||
|
||||
# INPUT
|
||||
# AXO,AYO SET AT LAUNCH TIME WITH AYO IMMEDIATELY FOLLOWING AXO IN CORE
|
||||
|
||||
# OUTPUT
|
||||
# -AX
|
||||
# MPAC= -AY RADIANS B-0
|
||||
# 0
|
||||
|
||||
EARTHL DLOAD DCOMP
|
||||
AXO
|
||||
STODL 504LPL
|
||||
-AYO
|
||||
STODL 504LPL +2
|
||||
HI6ZEROS
|
||||
STOVL 504LPL +4
|
||||
504LPL
|
||||
RVQ
|
||||
|
||||
# Page 1251
|
||||
# CONSTANTS AND ERASABLE ASSIGNMENTS
|
||||
1B1 = DP1/2 # 1 SCALED B-1
|
||||
COSI 2DEC .99964173 B-1 # COS(5521.5 SEC) B-1
|
||||
|
||||
SINI 2DEC .02676579 B-1 # SIN(5521.5 SEC) B-1
|
||||
|
||||
RPREXIT = S1 # R-TO-RP AND RP-TO-R SUBR EXIT
|
||||
EARTHMXX = S2 # EARTHMX,MOONMX SUBR. EXITS
|
||||
504RPR = 0D # 6 REGS R OR RP VECTOR
|
||||
SINNODI = 8D # 2 SIN(NODI)
|
||||
DVECTR = 8D # 6 D VECTOR MOON
|
||||
CVECTR = 8D # 6 C VECTR MOON
|
||||
504AZ = 18D # 2 AZ
|
||||
TIMSUBM = 14D # 3 TIME SUB M (MOON) T+10 IN GETAZ
|
||||
504LPL = 14D # 6 L OR LP VECTOR
|
||||
AVECTR = 20D # 6 A VECTOR (MOON)
|
||||
BVECTR = 26D # 6 B VECTOR (MOON)
|
||||
MMATRIX = 20D # 18 M MATRIX
|
||||
COB = 32D # 2 COS(B) B-1
|
||||
SOB = 34D # 2 SIN(B) B-1
|
||||
504F = 6D # 2 F(MOON)
|
||||
NODDOT 2DEC -.457335121 E-2 # REVS/CSEC B+28=-1.07047011 E-8 RAD/SEC
|
||||
|
||||
FDOT 2DEC .570863327 # REVS/CSEC B+27= 2.67240410 E-6 RAD/SEC
|
||||
|
||||
BDOT 2DEC -3.07500686 E-8 # REVS/CSEC B+28=-7.19757301 E-14 RAD/SEC
|
||||
|
||||
NODIO 2DEC .986209434 # REVS B-0 = 6.19653663041 RAD
|
||||
|
||||
FSUBO 2DEC .829090536 # REVS B-0 = 5.20932947829 RAD
|
||||
|
||||
BSUBO 2DEC .0651201393 # REVS B=0 = 0.40916190299 RAD
|
||||
|
||||
WEARTH 2DEC .973561595 # REVS/CSEC B+23= 7.29211494 E-5 RAD/SEC
|
||||
|
|
@ -1,371 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: POWERED_FLIGHT_SUBROUTINES.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1365-1372
|
||||
# Mod history: 2009-05-10 SN (Sergio Navarro). Started adapting
|
||||
# from the Colossus249/ file of the same
|
||||
# name, using Comanche055 page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
|
||||
# Page 1365
|
||||
BANK 14 # SAME FBANK AS THE FINDCDUD SUB-PROGRAM
|
||||
SETLOC POWFLITE
|
||||
BANK
|
||||
|
||||
EBANK= DEXDEX
|
||||
COUNT* $$/POWFL
|
||||
|
||||
# CDUTRIG, CDUTRIG1, CDUTRIG2, AND CD*GR*GS ALL COMPUTE THE SINES AND
|
||||
# COSINES OF THREE 2'S COMPLEMENT ANGLES AND PLACE THE RESULT, DOUBLE
|
||||
# PRECISION, IN THE SAME ORDER AS THE INPUTS, AT SINCDU AND COSCDU. AN
|
||||
# ADDITIONAL OUTPUT IS THE 1'S COMPLEMENT ANGLES AT CDUSPOT. THESE
|
||||
# ROUTINES GO OUT OF THEIR WAY TO LEAVE THE MPAC AREA AS THEY FIND IT,
|
||||
# EXCEPT FOR THE GENERALLY UNIMPORTANT MPAC +2. THEY DIFFER ONLY IN
|
||||
# WHERE THEY GET THE ANGLES, AND IN METHOD OF CALLING.
|
||||
|
||||
# CDUTRIG (AND CDUTRIG1, WHICH CAN BE CALLED IN BASIC) COMPUTE THE
|
||||
# SINES AND COSINES FROM THE CURRENT CONTENTS OF THE CDU REGISTERS.
|
||||
# THE CONTENTS OF CDUTEMP, ETC., ARE NOT TOUCHED SO THAT THEY MAY
|
||||
# CONTINUE TO FORM A CONSISTENT SET WITH THE LATEST PIPA READINGS.
|
||||
|
||||
# CDUTRIG1 IS LIKE CDUTRIG EXCEPT THAT IT CAN BE CALLED IN BASIC.
|
||||
|
||||
# CD*TR*GS FINDS CDU VALUES IN CDUSPOT RATHER THAN IN CDUTEMP. THIS
|
||||
# ALLOWS USERS TO MAKE TRANSFORMATIONS USING ARBITRARY ANGLES, OR REAL
|
||||
# ANGLES IN AN ORDER OTHER THAN X Y Z. A CALL TO THIS ROUTINE IS
|
||||
# NECESSARY IN PREPARATION FOR A CALL TO AX*SR*T IN EITHER OF ITS TWO
|
||||
# MODES (SMNB OR NBSM). SINCE AX*SR*T EXPECTS TO FIND THE SINES AND
|
||||
# COSINES IN THE ORDER Y Z X THE ANGLES MUST HAVE BEEN PLACED IN CDUSPOT
|
||||
# IN THIS ORDER. CD*TR*GS NEED NOT BE REPEATED WHEN AX*SR*T IS CALLED
|
||||
# MORE THAN ONCE, PROVIDED THE ANGLES HAVE NOT CHANGED. NOTE THAT SINCE
|
||||
# IT CLOBBERS BUF2 (IN THE SINE AND COSINE ROUTINES) CD*TR*GS CANNOT BE
|
||||
# CALLED USING BANKCALL. SORRY.
|
||||
|
||||
# CD*TR*G IS LIKE CD*TR*GS EXCEPT THAT IT CAN BE CALLED IN
|
||||
# INTERPRETIVE.
|
||||
|
||||
CDUTRIG EXIT
|
||||
TC CDUTRIGS
|
||||
TC INTPRET
|
||||
RVQ
|
||||
|
||||
CD*TR*G EXIT
|
||||
TC CD*TR*GS
|
||||
TC INTPRET
|
||||
RVQ
|
||||
|
||||
CDUTRIGS CA CDUX
|
||||
TS CDUSPOT +4
|
||||
CA CDUY
|
||||
TS CDUSPOT
|
||||
# Page 1366
|
||||
CA CDUZ
|
||||
TS CDUSPOT +2
|
||||
|
||||
CD*TR*GS EXTEND
|
||||
QXCH TEM2
|
||||
CAF FOUR
|
||||
TR*GL**P MASK SIX # MAKE IT EVEN AND SMALLER
|
||||
TS TEM3
|
||||
INDEX TEM3
|
||||
CA CDUSPOT
|
||||
DXCH MPAC # STORING 2'S COMP ANGLE, LOADING MPAC
|
||||
DXCH VBUF +4 # STORING MPAC FOR LATER RESTORATION
|
||||
TC USPRCADR
|
||||
CADR CDULOGIC
|
||||
EXTEND
|
||||
DCA MPAC
|
||||
INDEX TEM3
|
||||
DXCH CDUSPOT # STORING 1'S COMPLEMENT ANGLE
|
||||
TC USPRCADR
|
||||
CADR COSINE
|
||||
DXCH MPAC
|
||||
INDEX TEM3
|
||||
DXCH COSCDU # STORING COSINE
|
||||
EXTEND
|
||||
INDEX TEM3
|
||||
DCA CDUSPOT # LOADING 1'S COMPLEMENT ANGLE
|
||||
TC USPRCADR
|
||||
CADR SINE +1 # SINE +1 EXPECTS ARGUMENT IN A AND L
|
||||
DXCH VBUF +4 # BRINGING UP PRIOR MPAC TO BE RESTORED
|
||||
DXCH MPAC
|
||||
INDEX TEM3
|
||||
DXCH SINCDU
|
||||
CCS TEM3
|
||||
TCF TR*GL**P
|
||||
TC TEM2
|
||||
# Page 1367
|
||||
# *******************************************************************************************************
|
||||
|
||||
# QUICTRIG, INTENDED FOR GUIDANCE CYCLE USE WHERE TIME IS CRITICAL, IS A MUCH FASTER VERSION OF CD*TR*GS.
|
||||
# QUICTRIG COMPUTES AND STORES THE SINES AND COSINES OF THE 2'S COMPLEMENT ANGLES AT CDUSPOT, CDUSPOT +2,
|
||||
# AND CDUSPOT +4. UNLIKE CD*TR*GS, QUICTRIG DOES NOT LEAVE THE 1'S COMPLEMENT VERSIONS OF THE ANGLES IN
|
||||
# CDUSPOT. QUICTRIG'S EXECUTION TIME IS 4.1 MS; THIS IS 10 TIMES AS FAST AS CD*TR*GS. QUICTRIG MAY BE
|
||||
# CALLED FROM INTERPRETIVE AS AN RTB OP-CODE, OR FROM BASIC VIA BANKCALL OR IBNKCALL.
|
||||
|
||||
QUICTRIG INHINT # INHINT SINCE DAP USES THE SAME TEMPS
|
||||
EXTEND
|
||||
QXCH ITEMP1
|
||||
CAF FOUR
|
||||
+4 MASK SIX
|
||||
TS ITEMP2
|
||||
INDEX ITEMP2
|
||||
CA CDUSPOT
|
||||
TC SPSIN
|
||||
EXTEND
|
||||
MP BIT14 # SCALE DOWN TO MATCH INTERPRETER OUTPUTS
|
||||
INDEX ITEMP2
|
||||
DXCH SINCDU
|
||||
INDEX ITEMP2
|
||||
CA CDUSPOT
|
||||
TC SPCOS
|
||||
EXTEND
|
||||
MP BIT14
|
||||
INDEX ITEMP2
|
||||
DXCH COSCDU
|
||||
CCS ITEMP2
|
||||
TCF QUICTRIG +4
|
||||
CA ITEMP1
|
||||
RELINT
|
||||
TC A
|
||||
# Page 1368
|
||||
#****************************************************************************
|
||||
|
||||
|
||||
# THESE INTERFACE ROUTINES MAKE IT POSSIBLE TO CALL AX*SR*T, ETC., IN
|
||||
# INTERPRETIVE. LATER, WHERE POSSIBLE, THEY WILL BE ELIMINATED.
|
||||
#
|
||||
# NBSM WILL BE THE FIRST TO GO. IT SHOULD NOT BE USED.
|
||||
|
||||
NBSM STQ
|
||||
X2
|
||||
LXC,1 VLOAD*
|
||||
S1 # BASE ADDRESS OF THE CDU ANGLES IS IN S1
|
||||
0,1
|
||||
STOVL CDUSPOT
|
||||
32D # VECTOR TO BE TRANSFORMED IS IN 32D
|
||||
CALL
|
||||
TRG*NBSM
|
||||
STCALL 32D # SINCE THERE'S NO STGOTO
|
||||
X2
|
||||
|
||||
# THESE INTERFACE ROUTINES ARE PERMANENT. ALL RESTORE USER'S EBANK
|
||||
# SETTING. ALL ARE STRICT INTERPRETIVE SUBROUTINES, CALLED USING "CALL",
|
||||
# RETURNING VIA QPRET. ALL EXPECT AND RETURN THE VECTOR TO BE TRANSFOR-
|
||||
# MED INTERPRETER-STYLE IN MPAC; COMPONENTS AT MPAC, MPAC +3, AND MPAC +5.
|
||||
|
||||
# TRG*SMNB AND TRG*NBSM BOTH EXPECT TO SEE THE 2'S COMPLEMENT ANGLES
|
||||
# AT CDUSPOT (ORDER Y Z X, AT CDUSPOT, CDUSPOT +2, AND CDUSPOT +4; ODD
|
||||
# LOCATIONS NEED NOT BE ZEROED). TRG*NBSM DOES THE NB TO SM TRANSFOR-
|
||||
# MATION; TRG*SMNB, VICE VERSA.
|
||||
|
||||
# CDU*NBSM DOES ITS TRANSFORMATION USING THE PRESENT CONTENTS OF
|
||||
# THE CDL COUNTERS. OTHERWISE IT IS LIKE TRG*NBSM.
|
||||
#
|
||||
# CDU*SMNB IS THE COMPLEMENT OF CDU*NBSM.
|
||||
|
||||
CDU*SMNB EXIT
|
||||
TC CDUTRIGS
|
||||
TCF C*MM*N1
|
||||
|
||||
TRG*SMNB EXIT
|
||||
TC CD*TR*GS
|
||||
C*MM*N1 TC MPACVBUF # AX*SR*T EXPECTS VECTOR IN VBUF
|
||||
CS THREE # SIGNAL FOR SM TO NB TRANSFORMATION.
|
||||
C*MM*N2 TC AX*SR*T
|
||||
TC INTPRET
|
||||
VLOAD RVQ
|
||||
VBUF
|
||||
|
||||
CDU*NBSM EXIT
|
||||
TC CDUTRIGS
|
||||
|
||||
# Page 1369
|
||||
|
||||
TCF C*MM*N3
|
||||
|
||||
TRG*NBSM EXIT
|
||||
TC CD*TR*GS
|
||||
C*MM*N3 TC MPACVBUF # FOR AX*SR*T
|
||||
CA THREE # SIGNAL FOR NB TO SM TRANSFORMATION
|
||||
TCF C*MM*N2
|
||||
|
||||
# *NBSM* AND *SMNB* EXPECT TO SEE THE SINES AND COSINES (AT SINCDU
|
||||
# AND COSCDU) RATHER THAN THE ANGLES THEMSELVES. OTHERWISE THEY ARE
|
||||
# LIKE TRG*NBSM AND TRG*SMNB.
|
||||
|
||||
# NOTE THAT JUST AS CD*TR*GS NEED BE CALLED ONLY ONCE FOR EACH SERIES
|
||||
# OF TRANSFORMATIONS USING THE SAME ANGLES, SO TOO ONLY ONE OF TRG*NBSM
|
||||
# AND TRG*SMNB NEED BE CALLED FOR EACH SERIES. FOR SUBSEQUENT TRANFOR-
|
||||
# MATIONS USE *NBSM* AND *SMNB*.
|
||||
|
||||
*SMNB* EXIT
|
||||
TCF C*MM*N1
|
||||
|
||||
*NBSM* EXIT
|
||||
TCF C*MM*N3
|
||||
|
||||
# AX*SR*T COMBINES THE OLD SMNB AND NBSM. FOR THE NB TO SM
|
||||
# TRANSFORMATION, ENTER WITH +3 IN A. FOR SM TO NB, ENTER WITH -3.
|
||||
# THE VECTOR TO BE TRANSFORMED ARRIVES, AND IS RETURNED, IN VBUF.
|
||||
# AX*SR*T EXPECTS TO FIND THE SINES AND COSINES OF THE ANGLES OF ROTATION
|
||||
# AT SINCDU AND COSCDU, IN THE ORDER Y Z X. A CALL TO CD*TR*GS, WITH
|
||||
# THE 2'S COMPLEMENT ANGLES (ORDER Y Z X) AT CDUSPOT, WILL TAKE CARE OF
|
||||
# THIS. HERE IS A SAMPLE CALLING SEQUENCE:-
|
||||
|
||||
# TC CDUTRIGS
|
||||
# CS THREE ("CA THREE" FOR NBSM)
|
||||
# TC AX*SR*T
|
||||
|
||||
# THE CALL TO CD*TR*GS NEED NOT BE REPEATED, WHEN AX*SR*T IS CALLED MORE
|
||||
# THAN ONCE, UNLESS THE ANGLES HAVE CHANGED.
|
||||
|
||||
# AX*SR*T IS GUARANTEED SAFE ONLY FOR VECTORS OF MAGNITUDE LESS THAN
|
||||
# UNITY. A LOOK AT THE CASE IN WHICH A VECTOR OF GREATER MAGNITUDE
|
||||
# HAPPENS TO LIE ALONG AN AXIS OF THE SYSTEM TO WHICH IT IS TO BE TRANS-
|
||||
# FORMED CONVINCES ONE THAT THIS IS A RESTRICTION WHICH MUST BE ACCEPTED.
|
||||
|
||||
AX*SR*T TS DEXDEX # WHERE IT BECOMES THE INDEX OF INDEXES
|
||||
EXTEND
|
||||
QXCH RTNSAVER
|
||||
|
||||
R*TL**P CCS DEXDEX # +3 --> 0 -3 --> 2
|
||||
CS DEXDEX # THUS: +2 --> 1 -2 --> 1
|
||||
AD THREE # +1 --> 2 -1 --> 0
|
||||
# Page 1370
|
||||
EXTEND
|
||||
INDEX A
|
||||
DCA INDEXI
|
||||
DXCH DEXI
|
||||
|
||||
CA ONE
|
||||
TS BUF
|
||||
EXTEND
|
||||
INDEX DEX1
|
||||
DCS VBUF
|
||||
TCF LOOP1 # REALLY BE A SUBTRACT, AND VICE VERSA
|
||||
|
||||
LOOP2 DXCH BUF # LOADING VECTOR COMPONENT, STORING INDEX
|
||||
|
||||
LOOP1 DXCH MPAC
|
||||
CA SINESLOC
|
||||
AD DEX1
|
||||
TS ADDRWD
|
||||
|
||||
TC DMPSUB # MULTIPLY BY SIN(CDUANGLE)
|
||||
CCS DEXDEX
|
||||
DXCH MPAC # NBSM CASE
|
||||
TCF +3
|
||||
EXTEND # SMNB CASE
|
||||
DCS MPAC
|
||||
DXCH TERM1TMP
|
||||
|
||||
CA SIX # SINCDU AND COSCDU (EACH 6 WORDS) MUST
|
||||
ADS ADDRWD # BE CONSECUTIVE AND IN THAT ORDER
|
||||
|
||||
EXTEND
|
||||
INDEX BUF
|
||||
INDEX DEX1
|
||||
DCA VBUF
|
||||
DXCH MPAC
|
||||
TC DMPSUB # MULTIPLY BY COS(CDUANGLE)
|
||||
DXCH MPAC
|
||||
DAS TERM1TMP
|
||||
DXCH TERM1TMP
|
||||
DDOUBL
|
||||
INDEX BUF
|
||||
INDEX DEX1
|
||||
DXCH VBUF
|
||||
DXCH BUF # LOADING INDEX, STORING VECTOR COMPONENT
|
||||
|
||||
CCS A # 'CAUSE THAT'S WHERE THE INDEX NOW IS
|
||||
TCF LOOP2
|
||||
|
||||
EXTEND
|
||||
DIM DEXDEX # DECREMENT MAGNITUDE PRESERVING SIGN
|
||||
|
||||
# Page 1371
|
||||
TSTPOINT CCS DEXDEX # ONLY THE BRANCHING FUNCTION IS USED
|
||||
TCF R*TL**P
|
||||
TC RTNSAVER
|
||||
TCF R*TL**P
|
||||
TC RTNSAVER
|
||||
|
||||
|
||||
SINESLOC ADRES SINCDU # FOR USE IN SETTING ADDRWD
|
||||
|
||||
|
||||
INDEXI DEC 4 # ********** DON'T ***********
|
||||
DEC 2 # ********** TOUCH ***********
|
||||
DEC 0 # ********** THESE ***********
|
||||
DEC 4 # ********** CONSTANTS ***********
|
||||
|
||||
# ******************************************************************************
|
||||
# Page 1372
|
||||
# THIS SUBROUTINE COMPUTES INCREMENTAL CHANGES IN CDU(GIMBAL) ANGLES FROM INCREMENTAL CHANGES ABOUT SM AXES. IT
|
||||
# REQUIRES SM INCREMENTS AS A DP VECTOR SCALED AT ONE REVOLUTION(DTHETASM,+2,+4). SIN,COS(CDUY,Z,X) ARE IN
|
||||
# SINCDU,+2,+4 AND COSCDU,+2,+4 RESPECTIVELY,SCALED TO ONE HALF. CDU INCREENTS ARE PLACED IN DCDU,+2,+4 SCALED TO
|
||||
# ONE REVOLUTION.
|
||||
|
||||
# * COS(IGA)SEC(MGA) 0 -SIN(IGA)SEC(MGA) *
|
||||
# * *
|
||||
# * -COS(IGA)TAN(MGA) 1 SIN(IGA)TAN(MGA) *
|
||||
# * *
|
||||
# * SIN(IGA) 0 COS(IGA) *
|
||||
|
||||
BANK 14
|
||||
SETLOC POWFLIT1
|
||||
BANK
|
||||
|
||||
SMCDURES DLOAD DMP
|
||||
DTHETASM
|
||||
COSCDUY
|
||||
|
||||
PDDL DMP
|
||||
DTHETASM +4
|
||||
SINCDUY
|
||||
|
||||
BDSU
|
||||
DDV
|
||||
COSCDUZ
|
||||
STORE DCDU
|
||||
|
||||
DMP SL1 # SCALE
|
||||
SINCDUZ
|
||||
BDSU
|
||||
|
||||
DTHETASM +2
|
||||
STODL DCDU +2
|
||||
DTHETASM
|
||||
|
||||
DMP PDDL
|
||||
SINCDUY
|
||||
DTHETASM +4
|
||||
|
||||
DMP DAD
|
||||
COSCDUY
|
||||
SL1
|
||||
STORE DCDU +4
|
||||
RVQ
|
||||
|
|
@ -1,485 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: R30.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Hartmuth Gutsche <hgutsche@xplornet.com>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 514-524
|
||||
# Mod history: 2009-05-09 HG Started adapting from the Colossus249/ file
|
||||
# of the same name, using Comanche055 page
|
||||
# images 0514.jpg - 0524.jpg.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 514
|
||||
# SUBROUTINE NAME: V82CALL
|
||||
# MOD NO: 0 DATE: 16 FEB 67
|
||||
# MOD BY: R. R. BAIRNSFATHER LOG SECTION: R30
|
||||
# MOD NO: 1 MOD BY: R. R. BAIRNSFATHER DATE: 11 APR 67 SR30.1 CHANGED TO ALLOW MONITOR OPERN
|
||||
# MOD NO: 2 MOD BY: ALONSO DATE: 11 DEC 67 VB82 PROGRAM REWRITTEN
|
||||
# MOD NO: 3 MOD BY: ALONSO DATE: 26 MAR 68 PROG MOD TO HANDLE DIF EARTH/MOON SCALE
|
||||
#
|
||||
# NEW FUNCTIONAL DESCRIPTION: CALLED BY VERB 82 ENTER. PRIORITY 10.
|
||||
# USED THROUGHOUT. CALCULATE AND DISPLAY ORBITAL PARAMETERS
|
||||
#
|
||||
# 1. IF AVERAGE G IS OFF:
|
||||
# FLASH DISPLAY V04N06. R2 INDICATES WHICH SHIP'S STATE VECTOR IS
|
||||
# TO BE UPDATED. INITIAL CHOICE IS THIS SHIP (R2=1). ASTRONAUT
|
||||
# CAN CHANGE TO OTHER SHIP BY V22EXE. WHERE X IS NOT EQ 1.
|
||||
# SELECTED STATE VECTOR UPDATED BY THISPREC (OTHPREC).
|
||||
# CALLS SR30.1 (WHICH CALLS TFFCONMU + TFFRP/RA) TO CALCULATE
|
||||
# RPER (PERIGEE RADIUS), RAPO (APOGEE RADIUS), HPER (PERIGEE
|
||||
# HEIGHT ABOVE LAUNCH PAD OR LAUNAR LANDING SITE), HARD (APOGEE
|
||||
# HEIGHT AS ABOVE), TPER (TIME TO PERIGEE), TFF (TIME TO
|
||||
# INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE).
|
||||
# FLASH MONITOR V16N44 (HAPO, HPER, TFF). TFF IS -59MS59S IF IT WAS
|
||||
# NOT COMPUTABLE, OTHERWISE IT INCREMENTS ONCE PER SECOND.
|
||||
# ASTRONAUT HAS OPTION TO MONITOR TPER BY KEYING IN N 32 E.
|
||||
# DISPLAY IS IN HMS, IS NEGATIVE (AS WAS TFF), AND INCREMENTS
|
||||
# ONCE PER SECOND ONLY IF TFF DISPLAY WAS -59M59S.
|
||||
# 2. IF AVERAGE G IS ON:
|
||||
# CALLS SR30.1 APPROX EVERY TWO SECS. STATE VECTOR IS ALWAYS
|
||||
# FOR THIS VEHICLE. V82 DOES NOT DISTURB STATE VECTOR. RESULTS
|
||||
# OF SR30.1 ARE RAPO, RPER, HAPO, HPER, TPER, TFF.
|
||||
# FLASH MONITOR V16N44 (HAPO, HPER, TFF).
|
||||
# IF MODE IS P11, THEN CALL DELRSPL SO ASTRONAUT CAN MONITOR
|
||||
# RESULTS BY N50E. SPLASH COMPUTATION DONE ONCE PER TWO SECS.
|
||||
|
||||
# ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE
|
||||
# ABOVE REMARKS.
|
||||
#
|
||||
# CALLING SEQUENCE: VERB 82 ENTER.
|
||||
#
|
||||
# SUBROUTINES CALLED: SR30.1, GOXDSPF
|
||||
# MAYBE -- THISPREC, OTHPREC, LOADTIME, DELRSPL
|
||||
#
|
||||
# NORMAL EXIT MODES: TC ENDEXT
|
||||
#
|
||||
# ALARMS: NONE
|
||||
#
|
||||
# OUTPUT: HAPOX (-29) M
|
||||
# HPERX (-29) M
|
||||
# RAPO (-29) M EARTH
|
||||
# (-27) M MOON
|
||||
# Page 515
|
||||
# RPER (-29) M EARTH
|
||||
# (-27) M MOON
|
||||
# TFF (-28) CS CONTAINS NEGATIVE QUANTITY
|
||||
# -TPER (-28) CS CONTAINS NEGATIVE QUANTITY
|
||||
# RSP-RREC(-29) M IF DELRSPL CALLED
|
||||
#
|
||||
# ERASABLE INITIALIZATION REQUIRED: STATE VECTOR.
|
||||
#
|
||||
# DEBRIS: QPRET, RONE, VONE,TFF/RTMU, HPERMIN, RPADTEM, V82EMFLG.
|
||||
# MAYBE: TSTART82, V82FLAGS, TDEC1.
|
||||
|
||||
EBANK= HAPOX
|
||||
BANK 31
|
||||
SETLOC R30LOC
|
||||
BANK
|
||||
COUNT* $$/R30
|
||||
|
||||
V82CALL TC INTPRET
|
||||
BON GOTO
|
||||
AVEGFLAG
|
||||
V82GON # IF AVERAGE G ON
|
||||
V82GOFF # IF AVERAGE G OFF
|
||||
|
||||
V82GOFF EXIT # ALLOW ASTRONAUT TO SELECT VEHICLE
|
||||
CAF TWO # DESIRED FOR ORBITAL PARAMETERS
|
||||
TS OPTIONX
|
||||
CAF ONE
|
||||
TS OPTIONX +1
|
||||
CAF OPTIONVN # V 04 N 06
|
||||
TC BANKCALL
|
||||
CADR GOXDSPF
|
||||
TC ENDEXT # TERMINATE
|
||||
TC +2 # PROCEED
|
||||
TC -5 # DATA IN. OPTIONX +1 = 1 FOR THIS VEHIC.
|
||||
# UNEQ 1 FOR OTHER VEHICLE.
|
||||
CAF BIT4 # 80 MS
|
||||
TC WAITLIST
|
||||
EBANK= TFF
|
||||
2CADR TICKTEST
|
||||
|
||||
RELINT
|
||||
V82GOFLP CAF TFFBANK # MAJOR RECYCLE LOOP ENTRY
|
||||
TS EBANK
|
||||
CAF ZERO
|
||||
TS V82FLAGS # ZERO FLAGS FOR TICKTEST, INHIBITS
|
||||
# DECREMENTING OF TFF AND -TPER.
|
||||
CAF PRIO7
|
||||
TC FINDVAC # V82GOFF1 WILL EXECUTE STATE VECTOR
|
||||
# Page 516
|
||||
EBANK= TFF # UPDATE AND ORBIT CALCULATIONS FOR
|
||||
2CADR V82GOFF1 # SELECTED VEHICLE ABOUT PROPER BODY.
|
||||
|
||||
RELINT
|
||||
V82STALL CAF THREE # STALL IN THIS LOOP AND WITHOLD V 16 N 44
|
||||
MASK V82FLAGS # UNTIL STATE VECTOR UPDATE SETS ONE OF
|
||||
CCS A # OUR FLAG BITS.
|
||||
TC FLAGGON # EXIT FROM STALL LOOP.
|
||||
CAF 1SEC
|
||||
TC BANKCALL
|
||||
CADR DELAYJOB
|
||||
TC V82STALL
|
||||
|
||||
FLAGGON CAF V16N44 # MONITOR HAPO,HPER,TFF.
|
||||
TC BANKCALL
|
||||
CADR GOXDSPF
|
||||
TC B5OFF # TERM THIS TELLS TICKTEST TO KILL ITSELF
|
||||
TC B5OFF # PROCEED DITTO
|
||||
TC V82GOFLP # RECYCLE RECOMPUTE STATE VECT + DISPLAY
|
||||
|
||||
OPTIONVN VN 0412
|
||||
V16N44 VN 1644
|
||||
TFFBANK ECADR TFF
|
||||
|
||||
V82GOFF1 TC INTPRET
|
||||
RTB
|
||||
LOADTIME
|
||||
STORE TDEC1 # TIME FOR STATE VECTOR UPDATE.
|
||||
STORE TSTART82 # TIME FOR INTERNAL USE.
|
||||
EXIT
|
||||
CS OPTIONX +1 # 1 FOR THIS VEHICLE, NOT 1 FOR OTHER
|
||||
AD ONE
|
||||
EXTEND
|
||||
BZF THISSHIP
|
||||
OTHSHIP TC INTPRET
|
||||
CALL # CALL STATE VECTOR UPDATE FOR OTHER SHIP.
|
||||
OTHPREC
|
||||
BOTHSHIP VLOAD # MOVE RESULTS INTO TFFCONIC STORAGE AREAS
|
||||
RATT # TO BE CALLED BY SR30.1.
|
||||
STOVL RONE # RATT AT (-29)M FOR EARTH OR MOON
|
||||
VATT
|
||||
STORE VONE # VATT AT (-7)M/CS FOR EARTH OR MOON
|
||||
DLOAD*
|
||||
1/RTMUE,2 # X2 IS 0 FOR EARTH CENTERED STATE VEC
|
||||
STORE TFF/RTMU # X2 IS 2 FOR MOON
|
||||
DLOAD* # AS LEFT BY THISPREC OR OTHPREC.
|
||||
MINPERE,2
|
||||
STORE HPERMIN # TFFRTMU, HPERMIN, AND RPADTEM ARE ALL
|
||||
SLOAD BHIZ # EARTH/MOON PARAMETERS AS SET HERE.
|
||||
# Page 517
|
||||
X2
|
||||
EARTHPAD
|
||||
GOTO
|
||||
MOONPAD
|
||||
THISSHIP TC INTPRET
|
||||
CALL # CALL STATE VECTOR UPDATE FOR THIS SHIP.
|
||||
THISPREC
|
||||
GOTO
|
||||
BOTHSHIP
|
||||
|
||||
# THE FOLLOWING CONSTANTS ARE PAIRWISE INDEXED. DO NOT SEPARATE PAIRS.
|
||||
|
||||
1/RTMUM 2DEC* .45162595 E-4 B14*
|
||||
1/RTMUE 2DEC* .50087529 E-5 B17*
|
||||
|
||||
MINPERM 2DEC 10668 B-27 # 35 KFT MIN PERIGEE HEIGHT FOR MOON(-27)M
|
||||
MINPERE 2DEC 91440 B-29 # 300 KFT (-29)M FOR EARTH
|
||||
|
||||
EARTHPAD DLOAD CLRGO # PAD 37-B RADIUS. SCALED AT (-29)M.
|
||||
RPAD
|
||||
V82EMFLG # INDICATE EARTH SCALING FOR SR30.1
|
||||
BOTHPAD
|
||||
|
||||
MOONPAD VLOAD ABVAL # COMPUTE MOON PAD RADIUS FROM RLS VECTOR.
|
||||
RLS # SCALED AT (-27)M.
|
||||
SET
|
||||
V82EMFLG # INDICATE MOON SCALING FOR SR30.1
|
||||
BOTHPAD STCALL RPADTEM
|
||||
SR30.1 # CALCULATE ORBITAL PARAMETERS
|
||||
EXIT
|
||||
CA MODREG # ARE WE IN P00
|
||||
EXTEND
|
||||
BZF CANDEL # YES, DO DELRSPL
|
||||
SPLRET1 TC INTPRET
|
||||
RTB DSU
|
||||
LOADTIME
|
||||
TSTART82 # PRESENT TIME - TIME V82GOFF1 BEGAN
|
||||
STORE TSTART82 # SAVE IT
|
||||
DLOAD BZE # SR30.1 SETS -TPER=0 IF HPER L/
|
||||
-TPER # HPERMIN (300 OR 35) KFT.
|
||||
TICKTFF # (-TPER = 0)
|
||||
TICKTPER DLOAD DAD # (-TPER NON ZERO) TFF WAS NOT COMPUTED,
|
||||
-TPER # BUT WAS SET TO 59M59S.DON'T DICK TFF, DO
|
||||
TSTART82 # TICK -TPER. DISPLAY BOTH.
|
||||
STORE -TPER # -TPER CORRECTED FOR TIME SINCE V82GOFF1
|
||||
EXIT # BEGAN.
|
||||
|
||||
# Page 518
|
||||
CAF BIT1
|
||||
TS V82FLAGS # INFORMS TICKTEST TO INCREMENT ONLY -TPER
|
||||
TC ENDOFJOB
|
||||
|
||||
TICKTFF DLOAD DAD # (-TPER=0) TFF WAS COMPUTED.TICK TFF.
|
||||
TFF # DO NOT TICK -TPER.DISPLAY TFF, BUT NOT
|
||||
TSTART82 # -TPER.
|
||||
STORE TFF # TFF CORRECTED FOR TIME SINCE V82GOFF1
|
||||
EXIT # BEGAN.
|
||||
CAF BIT2
|
||||
TS V82FLAGS # INFORMS TICKTEST TO INCREMENT ONLY TFF.
|
||||
TC ENDOFJOB
|
||||
|
||||
TICKTEST CAF BIT5 # THIS WAITLIST PROGRAM PERPETUATES ITSELF
|
||||
MASK EXTVBACT # ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0.
|
||||
CCS A
|
||||
TC DOTICK
|
||||
CAF PRIO25
|
||||
TC NOVAC # TERMINATE V 82.CAN'T CALL ENDEXT IN RUPT.
|
||||
EBANK= EXTVBACT
|
||||
2CADR ENDEXT
|
||||
|
||||
TC TASKOVER
|
||||
DOTICK CAF 1SEC # RE-REQUEST TICKTEST.
|
||||
TC WAITLIST
|
||||
EBANK= TFF
|
||||
2CADR TICKTEST
|
||||
|
||||
CAF THREE
|
||||
MASK V82FLAGS
|
||||
INDEX A
|
||||
TC +1
|
||||
TC TASKOVER # IF NO FLAGBITS SET DONT CHANGE TFF OR
|
||||
# -TPER, BUT CONTINUE LOOP.
|
||||
TC TPERTICK # ONLY BIT 1 SET. INCR -TPER BY 1 SEC.
|
||||
TFFTICK CAF 1SEC # ONLY BIT 2 SET. INCR TFF BY 1 SEC.
|
||||
TS L
|
||||
CAF ZERO
|
||||
DAS TFF
|
||||
TC TASKOVER
|
||||
TPERTICK CAF 1SEC
|
||||
TS L
|
||||
CAF ZERO
|
||||
DAS -TPER
|
||||
TC TASKOVER
|
||||
# Page 519
|
||||
V82GON EXIT # AVERAGE G ON. USE CURRENT STATE VECTOR
|
||||
# FOR ORBITAL PARAMETER CALCULATIONS.
|
||||
CAF PRIO7 # LESS THAN LAMBERT
|
||||
TC FINDVAC # V82GON1 WILL PERFORM ORBIT CALCULATIONS
|
||||
EBANK= TFF # ABOUT PROPER BODY APPROX ONCE PER SEC.
|
||||
2CADR V82GON1
|
||||
|
||||
RELINT
|
||||
CCS NEWJOB # WITHOLD V16 N44 UNTIL FIRST ORBIT CALC
|
||||
TC CHANG1 # IS DONE. NOTE: V82GON1 (PRIO7, FINDVAC
|
||||
# JOB) IS COMPLETED BEFORE V82GON (PRIO7,
|
||||
# NOVAC JOB).
|
||||
V82REDSP CAF V16N44 # MONITOR HAPO, HPER, TFF
|
||||
TC BANKCALL
|
||||
CADR GOXDSPF
|
||||
TC B5OFF # TERM THIS TELLS V82GON1 TO KILL ITSELF.
|
||||
TC B5OFF # PROC DITTO.
|
||||
TC V82REDSP # RECYCLE
|
||||
|
||||
V82GON1 TC INTPRET # THIS EXEC PROGRAM PERPETUATES ITSELF
|
||||
# ONCE A SEC UNTIL BIT 5 OF EXTVBACT =0.
|
||||
VLOAD GOTO # HOLDS OFF CCS NEWJOB BETWEEN RN AND
|
||||
RN # VN FETCH SO RN , VN ARE FROM SAME
|
||||
NEXTLINE # STATE VECTOR UPDATE.
|
||||
NEXTLINE STOVL RONE # RN AT (-29)M FOR EARTH OR MOON
|
||||
VN
|
||||
STORE VONE # VN AT (-7)M/CS FOR EARTH OR MOON
|
||||
BON GOTO
|
||||
AMOONFLG # FLAG INDICATES BODY ABOUT WHICH ORBITAL
|
||||
MOONGON # CALCULATIONS ARE TO BE PERFORMED.
|
||||
EARTHGON # IF SET - MOON , IF RESET - EARTH.
|
||||
|
||||
MOONGON SET DLOAD
|
||||
V82EMFLG # INDICATE MOON SCALING FOR SR30.1
|
||||
1/RTMUM # LUNAR PARAMETERS LOADED HERE FOR SR30.1
|
||||
STODL TFF/RTMU
|
||||
MINPERM
|
||||
STOVL HPERMIN
|
||||
RLS # SCALED AT (-27)M
|
||||
ABVAL GOTO
|
||||
V82GON2
|
||||
EARTHGON CLEAR DLOAD
|
||||
V82EMFLG # INDICATE EARTH SCALING FOR SR30.1
|
||||
1/RTMUE # EARTH PARAMETERS LOADED HERE FOR SR30.1
|
||||
STODL TFF/RTMU
|
||||
MINPERE
|
||||
STODL HPERMIN
|
||||
RPAD
|
||||
V82GON2 STCALL RPADTEM # COMMON CODE FOR EARTH & MOON.
|
||||
SR30.1
|
||||
# Page 520
|
||||
EXIT
|
||||
TC CHECKMM
|
||||
DEC 11
|
||||
TC V82GON3 # NOT IN MODE 11.
|
||||
CANDEL TC INTPRET # IN MODE 11 OR 00
|
||||
CALL
|
||||
INTSTALL # DELRSPL DOES INTWAKE
|
||||
DLOAD CALL
|
||||
TFF
|
||||
DELRSPL # RETURN IS TO NEXT LINE ( SPLRET ).
|
||||
SPLRET EXIT
|
||||
|
||||
CA MODREG
|
||||
EXTEND
|
||||
BZF SPLRET1
|
||||
V82GON3 CAF BIT5
|
||||
MASK EXTVBACT # SEE IF ASTRONAUT HAS SIGNALLED TERMINATE
|
||||
EXTEND
|
||||
BZF ENDEXT # YES, TERMINATE VB 82 LOOP
|
||||
CAF 1SEC
|
||||
TC BANKCALL # WAIT ONE SECOND BEFORE REPEATING
|
||||
CADR DELAYJOB # ORBITAL PARAMETER COMPUTATION.
|
||||
TC V82GON1
|
||||
|
||||
# Page 521
|
||||
# SUBROUTINE NAME: SR30.1
|
||||
# MOD NO: 0 DATE: 16 FEB 67
|
||||
# MOD BY: R. R. BAIRNSFATHER LOG SECTION: R32
|
||||
# MOD NO: 1 MOD BY: R. R. BAIRNSFATHER DATE: 11 APR 67 SR30.1 CHANGED TO ALLOW MONITOR OPERN
|
||||
# MOD NO: 2 MOD BY: R. R. BAIRNSFATHER DATE: 14 APR 67 ADD OVFL CK FOR RAPO
|
||||
# MOD NO: 3 MOD BY ALONSO DATE: 11 DEC 67 SUBROUTINE REWRITTEN
|
||||
# MOD NO: 4 MOD BY ALONSO DATE: 26 MAR 68 PROG MOD TO HANDLE DIF EARTH/MOON SCALE
|
||||
# MOD NO: 5 MOD BY: RR BAIRNSFATHER DATE: 6 AUG 68 OVFL CK FOR HAPO & HPER. VOIDS MOD #2.
|
||||
#
|
||||
# NEW FUNCTIONAL DESCRIPTION: ORBITAL PARAMETERS DISPLAY FOR NOUNS 32 AND 44.
|
||||
# SR30.1 CALLS TFFCONMU AND TFFRP/RA TO CALCULATE RPER (PERIGEE RADIUS),
|
||||
# RAPO (APOGEE RADIUS), HPER (PERIGEE HEIGHT ABOVE LAUNCH PAD OR LUNAR
|
||||
# LANDING SITE), HAPO (APOGEE HEIGHT AS ABOVE), TPER (TIME TO PERIGEE),
|
||||
# TFF (TIME TO INTERSECT 300 KFT ABOVE PAD OR 35KFT ABOVE LANDING SITE).
|
||||
# IF HPER IS GREATER THAN OR EQUAL TO HPERMIN, CALCULATES TPER AND STORES
|
||||
# NEGATIVE IN -TPER. OTHERWISE STORES +0 IN -TPER. WHENEVER TPER IS
|
||||
# CALCULATED, TFF IS NOT COMPUTABLE AND DEFAULTS TO -59MIN 59SEC. IF HAPO
|
||||
# WOULD EXCEED 9999.9 NM, IT IS LIMITED TO THAT VALUE FOR DISPLAY.
|
||||
#
|
||||
# ADDENDUM: HAPO AND HPER SHOULD BE CHANGED TO READ HAPOX AND HPERX IN THE
|
||||
# ABOVE REMARKS.
|
||||
#
|
||||
# CALLING SEQUENCE: CALL
|
||||
# SR30.1
|
||||
#
|
||||
# SUBROUTINES CALLED: TFFCONMU, TFFRP/RA, CALCTPER, CALCTFF
|
||||
# NORMAL EXIT MODE: CALLING LINE +1 (STILL IN INTERPRETIVE MODE)
|
||||
# ALARMS: NONE
|
||||
# OUTPUT: RAPO (-29) M EARTH APOGEE RADIUS EARTH CENTERED COORD.
|
||||
# (-27) M MOON MOON CENTERED COORD.
|
||||
# RPER (-29) M EARTH PERIGEE RADIUS EARTH CENTERED COORD.
|
||||
# (-27) M MOON MOON CENTERED COORD.
|
||||
# HAPOX (-29) M APOGEE ALTITUDE ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM.
|
||||
# HPERX (-29) M PERIGEE ALT. ABOVE PAD OR LAND. SITE MAX VALUE LIMITED TO 9999.9 NM.
|
||||
# TFF (-28) CS TIME TO 300KFT OR 35KFT ALTITUDE
|
||||
# -TPER (-28) CS TIME TO PERIGEE
|
||||
# ERASABLE INITIALIZATION REQUIRED -
|
||||
# TFF/RTMU (+17) EARTH RECIPROCAL OF PROPER GRAV CONSTANT FOR
|
||||
# (+14) MOON EARTH OR MOON = 1/SQRT(MU).
|
||||
# RONE (-29) M STATE VECTOR
|
||||
# VONE (-7) M/CS STATE VECTOR
|
||||
# RPADTEM (-29) M EARTH RADIUS OF LAUNCH PAD OR LUNAR LANDING
|
||||
# (-27) M MOON SITE.
|
||||
# HPERMIN (-29) M EARTH (300 OR 35) KFT MINIMUM PERIGEE ALTITUDE
|
||||
# (-27) M MOON ABOVE LAUNCH PAD OR LUNAR LANDING SITE.
|
||||
# V82EMFLG (INT SW BIT) RESET FOR EARTH, SET FOR MOON.
|
||||
#
|
||||
# DEBRIS: QPRET, PDL, S2
|
||||
|
||||
# Page 522
|
||||
COUNT* $$/SR30S
|
||||
|
||||
SR30.1 SETPD STQ # INITIALIZE PUSHDOWN LIST.
|
||||
0
|
||||
S2
|
||||
# SR30.1 INPUT: RONE AT (-29)M EARTH/MOON
|
||||
# VONE AT (-7)M/CS
|
||||
# TFFCONMU,TFFRP/RA,CALCTPER,AND CALCTFF
|
||||
# CALLS REQUIRE:
|
||||
# EARTH CENTERED (NO RESCALING REQUIRED)
|
||||
# RONE SCALED TO B-29 M
|
||||
# VONE SCALED TO B-7 M/CS
|
||||
# MOON CENTERED (RESCALING REQUIRED)
|
||||
# RONE SCALED TO B-27 M
|
||||
# VONE SCALED TO B-5 M/CS
|
||||
BOFF VLOAD
|
||||
V82EMFLG # OFF FOR EARTH , ON FOR MOON.
|
||||
TFFCALLS
|
||||
RONE
|
||||
VSL2
|
||||
STOVL RONE
|
||||
VONE
|
||||
VSL2
|
||||
STORE VONE
|
||||
TFFCALLS CALL
|
||||
TFFCONMU
|
||||
CALL # TFFRP/RA COMPUTES RAPO,RPER.
|
||||
TFFRP/RA
|
||||
# RETURNS WITH RAPO IN D(MPAC).
|
||||
DSU
|
||||
RPADTEM
|
||||
BOFF SR2R # NEED HAPO AT (-29)M FOR DISPLAY.
|
||||
# IF MOON CENTERED, RESCALE FROM (-27)M.
|
||||
# IF EARTH CENTERED ALREADY AT (-29)M.
|
||||
V82EMFLG # OFF FOR EARTH , ON FOR MOON.
|
||||
+1
|
||||
CALL # IF HAPO > MAXNM, SET HAPO =9999.9 NM.
|
||||
MAXCHK # OTHERWISE STORE (RAPO-RPADTEM) IN HAPO.
|
||||
STORHAPO STODL HAPOX
|
||||
RPER
|
||||
DSU
|
||||
RPADTEM # GIVES HPER AT (-29)M EARTH, (-27)M MOON.
|
||||
STORE MPAC +4 # SAVE THIS FOR COMPARISON TO HPERMIN.
|
||||
BOFF SR2R # NEED HPER AT (-29)M FOR DISPLAY.
|
||||
# IF MOON CENTERED, RESCALE FROM (-27)M.
|
||||
# IF EARTH CENTERED ALREADY AT (-29)M.
|
||||
V82EMFLG # OFF FOR EARTH, ON FOR MOON.
|
||||
+1
|
||||
CALL # IF HPER > MAXNM, SET HPER = 9999.9 NM.
|
||||
MAXCHK
|
||||
# Page 523
|
||||
STORHPER STODL HPERX # STORE (RPER - RPADTEM) INTO HPERX.
|
||||
MPAC +4
|
||||
DSU BPL # HPERMIN AT (-29)M FOR EARTH, (-27)M MOON
|
||||
HPERMIN # IF HPER L/ HPERMIN (300 OR 35) KFT,
|
||||
DOTPER # THEN ZERO INTO -TPER.
|
||||
DLOAD GOTO # OTHERWISE CALCULATE TPER.
|
||||
HI6ZEROS
|
||||
SKIPTPER
|
||||
DOTPER DLOAD CALL
|
||||
RPER
|
||||
CALCTPER
|
||||
DCOMP # TPER IS PUT NEG INTO -TPER.
|
||||
SKIPTPER STODL -TPER
|
||||
HPERMIN # HPERMIN AT (-29)M FOR EARTH, (-27)M MOON
|
||||
DAD CALL
|
||||
RPADTEM # RPADTEM AT (-29)M FOR EARTH, (-27)M MOON
|
||||
CALCTFF # GIVES 59M59S FOR TFF IF RPER G/
|
||||
DCOMP # HPERMIN + RPADTEM. (TPER WAS NON ZERO)
|
||||
STCALL TFF # OTHERWISE COMPUTES TFF. (GOTO)
|
||||
S2
|
||||
|
||||
MAXCHK DSU BPL # IF C(MPAC) > 9999.9 NM. MPAC = 9999.9 NM.
|
||||
MAXNM
|
||||
+3 # OTHERWISE C(MPAC) = B(MPAC).
|
||||
DAD RVQ
|
||||
MAXNM
|
||||
+3 DLOAD RVQ # (USED BY P30 - P37 ALSO)
|
||||
MAXNM
|
||||
|
||||
MAXNM 2OCT 0106505603
|
||||
|
||||
# Page 524
|
||||
|
||||
# There is no source code on this page --- HG 2009
|
||||
|
|
@ -1,290 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: R31.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055. It
|
||||
# is part of the source code for the Command Module's
|
||||
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 505-510
|
||||
# Contact: Onno Hommes <ohommes@cmu.edu>
|
||||
# Website: http://www.ibiblio.org/apollo.
|
||||
# Mod history: 2009-05-11 OH Batch 2 Assignment Comanche Transcription
|
||||
# 2009-05-20 RSB Corrected INSTALL -> INTSTALL
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further
|
||||
# information. Please report any errors to info@sandroid.org.
|
||||
|
||||
|
||||
# Page 505
|
||||
BANK 34
|
||||
SETLOC R31
|
||||
BANK
|
||||
|
||||
COUNT* $$/R31
|
||||
|
||||
R31CALL CAF PRIO3
|
||||
TC FINDVAC
|
||||
EBANK= SUBEXIT
|
||||
2CADR V83CALL
|
||||
|
||||
DSPDELAY CAF 1SEC
|
||||
TC BANKCALL
|
||||
CADR DELAYJOB
|
||||
CA EXTVBACT
|
||||
MASK BIT12
|
||||
EXTEND
|
||||
BZF DSPDELAY
|
||||
|
||||
DISPN5X CA FLAGWRD9 # TEST R31FLAG (IN SUNDANCE R31FLAG WILL
|
||||
MASK BIT4 # ALWAYS BE SET AS R34 DOES NOT EXIST)
|
||||
EXTEND
|
||||
BZF +3
|
||||
CAF V16N54 # R31 USE NOUN 54
|
||||
TC +2
|
||||
CAF V16N53 # R34 USE NOUN 53
|
||||
TC BANKCALL
|
||||
CADR GOMARKF
|
||||
TC B5OFF
|
||||
TC B5OFF
|
||||
TCF DISPN5X
|
||||
|
||||
V83 TC INTPRET
|
||||
GOTO
|
||||
HAVEBASE # INTEG STATE VECTORS
|
||||
V83CALL TC INTPRET
|
||||
GOTO
|
||||
STATEXTP # EXTRAPOLATE STATE VECTORS
|
||||
COMPDISP VLOAD VSU
|
||||
RATT
|
||||
RONE
|
||||
PUSH ABVAL # RATT-RONE TO 0D PD= 6
|
||||
STORE RANGE # METERS B-29
|
||||
NORM VLOAD
|
||||
X1 # RATT-RONE PD= 0
|
||||
VSR1
|
||||
VSL* UNIT
|
||||
0,1
|
||||
PDVL VSU # UNIT(LOS) TO 0D PD= 6
|
||||
# Page 506
|
||||
VATT
|
||||
VONE
|
||||
DOT # (VATT-VONE).UNIT(LOS) PD= 0
|
||||
SL1
|
||||
STCALL RRATE # RANGE RATE M/CS B-7
|
||||
CDUTRIG # TO INITIALIZE FOR *NBSM*
|
||||
CALL
|
||||
R34LOS # NOTE. PDL MUST = 0.
|
||||
R34ANG VLOAD UNIT
|
||||
RONE
|
||||
PDVL # UR TO 0D PD= 6
|
||||
THISAXIS # UNITX FOR CM, UNITZ FOR LM
|
||||
BON VLOAD # CHK R31FLAG. ON=R31 THETA, OFF=R34 PHI
|
||||
R31FLAG
|
||||
+2 # R31-THETA
|
||||
12D
|
||||
CALL
|
||||
*NBSM*
|
||||
VXM PUSH # UXORZ TO 6D PD=12D
|
||||
REFSMMAT
|
||||
VPROJ VSL2
|
||||
0D
|
||||
BVSU UNIT
|
||||
6D
|
||||
PDVL VXV # UP/2 TO 12D PD=18D
|
||||
RONE
|
||||
VONE
|
||||
UNIT VXV
|
||||
RONE
|
||||
DOT PDVL # SIGN TO 12D, UP/2 TO MPAC PD=18D
|
||||
12D
|
||||
VSL1 DOT # UP.UXORZ
|
||||
6D
|
||||
SIGN SL1
|
||||
12D
|
||||
ACOS
|
||||
STOVL RTHETA
|
||||
RONE
|
||||
DOT BPL
|
||||
6D
|
||||
+5
|
||||
DLOAD BDSU # IF UXORZ.R NEG, RTHETA = 1 - RTHETA
|
||||
RTHETA
|
||||
DPPOSMAX
|
||||
STORE RTHETA # RTHETA BETWEEN 0 AND 1 REV.
|
||||
EXIT
|
||||
CAF BIT5 # HAVE WE BEEN ANSWERED
|
||||
MASK EXTVBACT
|
||||
EXTEND
|
||||
BZF ENDEXT # YES, DIE
|
||||
# Page 507
|
||||
CS EXTVBACT
|
||||
MASK BIT12
|
||||
ADS EXTVBACT
|
||||
|
||||
TCF V83
|
||||
V16N54 VN 1654
|
||||
V16N53 VN 1653
|
||||
|
||||
# Page 508
|
||||
# STATEXTP DOES AN INITIAL PRECISION EXTRAPOLATION OF THE
|
||||
# LEM STATE VECTOR TO PRESENT TIME OR TO PIPTIME IF AV G
|
||||
# IS ON AND SAVES AS BASE VECTOR. IF AV G IS ON RN + VN
|
||||
# ARE USED AS THE CM STATE VECTOR AND THE INITIAL R RDOT
|
||||
# RTHETA ARE COMPUTED WITH NO FURTHER INTEGRATION. IF AV
|
||||
# G IS OFF A PRECISION EXTRAPOLATION IS MADE OF THE CM
|
||||
# STATE VECTOR TO PRESENT TIME AND.....
|
||||
#
|
||||
# THE CM + LM STATE VECTORS ARE INTEGRATED TO PRES TIME
|
||||
# USING PRECISION OR CONIC AS SURFFLAG IS SET OR CLEAR.
|
||||
#
|
||||
# IF AV G IS ON THEN
|
||||
# SUBSEQUENT PASSES WILL PROVIDE
|
||||
# USE OF RN + VN AS CM STATE VECTOR AND THE LM STATE
|
||||
# VECTOR WILL BE PRECISION INTEGRATED USING LEMPREC
|
||||
#
|
||||
# IF SURFFLAG IS SET.
|
||||
# CM STATE VECTOR RONE VONE + LM STATE VECTOR RATT
|
||||
# VATT ARE USED IN COMPUTING R RDOT RTHETA.
|
||||
#
|
||||
|
||||
STATEXTP RTB BOF # INITIAL INTEGRATION
|
||||
LOADTIME
|
||||
V37FLAG
|
||||
+3 # AV G OFF, USE PRES TIME
|
||||
CALL
|
||||
GETRVN # ON, USE RN VN PIPTIME
|
||||
STORE BASETIME # PRES TIME OR PIPTIME
|
||||
STCALL TDEC1
|
||||
LEMPREC
|
||||
VLOAD # BASE VECTOR, LM
|
||||
RATT1
|
||||
STOVL BASEOTP # POS.
|
||||
VATT1
|
||||
STORE BASEOTV # VEL.
|
||||
BON DLOAD
|
||||
V37FLAG
|
||||
COMPDISP # COMPUTE R RDOT RTHETA FROM
|
||||
# RONE(RN) VONE(VN) RATT+VATT(LEMPREC)
|
||||
TAT
|
||||
STCALL TDEC1
|
||||
CSMPREC
|
||||
VLOAD # BASE VECTOR, CM
|
||||
RATT1
|
||||
STOVL BASETHP # POS.
|
||||
VATT1
|
||||
STORE BASETHV # VEL.
|
||||
HAVEBASE BON RTB # SUBSEQUENT INTEGRATIONS
|
||||
V37FLAG
|
||||
GETRVN5
|
||||
LOADTIME
|
||||
STCALL TDEC1 # AV G OFF. SET INTEG. OF CM
|
||||
INTSTALL
|
||||
VLOAD CLEAR
|
||||
BASETHP
|
||||
# Page 509
|
||||
MOONFLAG
|
||||
STOVL RCV
|
||||
BASETHV
|
||||
STODL VCV
|
||||
BASETIME
|
||||
BOF SET # GET APPROPRIATE MOONFLAG SETTING
|
||||
MOONTHIS
|
||||
+2
|
||||
MOONFLAG
|
||||
CLEAR
|
||||
INTYPFLG
|
||||
BON SET
|
||||
SURFFLAG
|
||||
+2 # PREC. IF LM DOWN
|
||||
INTYPFLG # CONIC IF LM NOT DOWN
|
||||
STCALL TET
|
||||
INTEGRVS # INTEGRATION --- AT LAST---
|
||||
VLOAD
|
||||
RATT
|
||||
STOVL RONE
|
||||
VATT
|
||||
STODL VONE # GET SET FOR CONIC EXTRAP.,OTHER
|
||||
TAT
|
||||
BON CALL
|
||||
SURFFLAG
|
||||
GETRVN6 # LEMPREC IF LM DOWN
|
||||
INTSTALL # ..CONIC IF NOT DOWN
|
||||
SET
|
||||
INTYPFLG
|
||||
OTHINT STORE TDEC1 # ENTERED IF AV G ON TO INTEG LM
|
||||
VLOAD CLEAR
|
||||
BASEOTP
|
||||
MOONFLAG
|
||||
STOVL RCV
|
||||
BASEOTV
|
||||
STODL VCV
|
||||
BASETIME
|
||||
BOF SET
|
||||
MOONTHIS
|
||||
+2
|
||||
MOONFLAG
|
||||
STCALL TET
|
||||
INTEGRVS
|
||||
GOTO
|
||||
COMPDISP # COMPUTE R RDOT RTHETA
|
||||
GETRVN5 CALL # AV G ON
|
||||
GETRVN
|
||||
BON CALL
|
||||
SURFFLAG
|
||||
GETRVN6 # LM DOWN, LMPREC
|
||||
# Page 510
|
||||
INTSTALL
|
||||
CLEAR GOTO
|
||||
INTYPFLG
|
||||
OTHINT
|
||||
GETRVN6 STCALL TDEC1
|
||||
LEMPREC
|
||||
GOTO
|
||||
COMPDISP # COMPUTE R RDOT RTHETA
|
||||
GETRVN STQ
|
||||
0D
|
||||
VLOAD GOTO # AV G ON, RONE = RN VONE = VN
|
||||
RN # AND USE PIPTIME
|
||||
+1
|
||||
STCALL RONE
|
||||
+1
|
||||
VLOAD GOTO
|
||||
VN
|
||||
+1
|
||||
STODL VONE
|
||||
PIPTIME
|
||||
GOTO
|
||||
0D
|
||||
SETLOC R34
|
||||
BANK
|
||||
R34LOS EXIT
|
||||
CA CDUS
|
||||
INDEX FIXLOC
|
||||
TS 9D
|
||||
CA CDUT
|
||||
INDEX FIXLOC
|
||||
TS 11D
|
||||
CA FIXLOC
|
||||
AD SIX
|
||||
COM
|
||||
INDEX FIXLOC
|
||||
TS X1
|
||||
TC INTPRET
|
||||
CALL
|
||||
SXTNB
|
||||
STCALL 12D
|
||||
R34ANG
|
||||
|
|
@ -1,385 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: R60_62.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 390-398
|
||||
# Mod history: 2009-05-09 RSB Adapted from the Colossus249/ file
|
||||
# of the same name, using Comanche055 page
|
||||
# images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 390
|
||||
BANK 34
|
||||
SETLOC MANUVER
|
||||
BANK
|
||||
|
||||
EBANK= TEMPR60
|
||||
|
||||
COUNT 27/R60
|
||||
|
||||
# CONFORMS TO GSOP CHAPTER FOUR REVISION LOGIC 09 JAN 18,1968
|
||||
|
||||
R60CSM TC MAKECADR
|
||||
TS TEMPR60
|
||||
|
||||
# INSERT PRIODSP CHECK WITH R22 (V06N49) WITH JENNINGS BRODEUR
|
||||
|
||||
REDOMANN CAF BIT6
|
||||
MASK FLAGWRD5 # IS 3-AXIS FLAG SET
|
||||
CCS A
|
||||
TCF TOBALL # YES
|
||||
TC INTPRET
|
||||
CALL
|
||||
VECPOINT # TO COMPUTE FINAL ANGLES
|
||||
STORE CPHI # STORE FINAL ANGLES - CPHI,CTHETA,CPSI
|
||||
EXIT
|
||||
|
||||
TOBALL CAF V06N18
|
||||
TC BANKCALL
|
||||
CADR GOPERF2R # DISPLAY PLEASE PERFORM AUTO MANEUVER
|
||||
TC R61TEST
|
||||
TC REDOMANC # PROCEED
|
||||
TCF ENDMANU1 # ENTER I.E. FINISHED WITH R60
|
||||
|
||||
TC CHKLINUS # TO CHECK FOR PRIORITY DISPLAYS
|
||||
TC ENDOFJOB
|
||||
|
||||
REDOMANC CAF BIT6
|
||||
MASK FLAGWRD5 # IS 3-AXIS FLAG SET
|
||||
CCS A
|
||||
TCF TOBALLC # YES
|
||||
TC INTPRET
|
||||
CALL
|
||||
VECPOINT # TO COMPUTE FINAL ANGLES
|
||||
STORE CPHI # STORE ANGLES
|
||||
EXIT
|
||||
|
||||
TOBALLC CAF PRIO30 # IS MODE AUTO AND CTL GNC
|
||||
# Page 391
|
||||
EXTEND
|
||||
RXOR CHAN31
|
||||
MASK 13,14,15
|
||||
EXTEND
|
||||
BZF +2 # AUTO, NON-FLASH N18
|
||||
TCF TOBALL # NOT AUTO
|
||||
|
||||
CAF V06N18 # SET UP NON-FLASHING V06 N18
|
||||
TC BANKCALL
|
||||
CADR GODSPR
|
||||
TC CHKLINUS
|
||||
|
||||
STARTMNV TC BANKCALL
|
||||
CADR GOMANUR
|
||||
ENDMANUV TCF TOBALL # FINISHED MANEUVER
|
||||
|
||||
ENDMANU1 TC DOWNFLAG # RESET 3-AXIS FLAG
|
||||
ADRES 3AXISFLG # BIT 6 FLAG 5
|
||||
CAE TEMPR60
|
||||
TC BANKJUMP
|
||||
|
||||
CHKLINUS CS FLAGWRD4
|
||||
MASK BIT12 # IS PRIORITY DISPLAY FLAG SET
|
||||
CCS A
|
||||
TC Q # NO - EXIT
|
||||
CA Q
|
||||
TS MPAC +2 # SAVE RETURN
|
||||
CS THREE # OBTAIN LOCATION FOR RESTART.
|
||||
AD BUF2 # HOLDS Q OF LAST DISPLAY
|
||||
TS TBASE1
|
||||
|
||||
TC PHASCHNG
|
||||
OCT 71 # 1.7SPOT FOR RELINUS
|
||||
|
||||
CAF BIT7
|
||||
TC LINUS # GO SET BITS FOR PRIORITY DISPLAY
|
||||
TC MPAC +2
|
||||
|
||||
RELINUS CAF BIT5 # IS TRACK FLAG ON
|
||||
MASK FLAGWRD1
|
||||
EXTEND
|
||||
BZF GOREDO20 # NO
|
||||
|
||||
TC UPFLAG
|
||||
ADRES PDSPFLAG # R60 PRIODSP FLAG
|
||||
|
||||
TC UPFLAG
|
||||
ADRES TARG1FLG # FOR R52
|
||||
|
||||
CAF ZERO # RESET TO ZERO, SINCE
|
||||
# Page 392
|
||||
TS OPTIND # OPTIND WAS SET TO -1 BY V379
|
||||
|
||||
CAF PRIO14 # RESTORE ORIGINAL PRIORITY
|
||||
TC PRIOCHNG
|
||||
|
||||
TC TBASE1
|
||||
|
||||
GOREDO20 TC PHASCHNG
|
||||
OCT 111 # 1.11 FOR PIKUP20
|
||||
|
||||
TC ENDOFJOB
|
||||
|
||||
R61TEST CA MODREG # ARE WE IN P00. IF YES THIS MUST BE
|
||||
EXTEND # VERB49 OR VERB89 SO DO ENDEXT.
|
||||
BZF ENDMANU1 # RESET 3-AXIS & RUTURN. USER DOES ENDEXT
|
||||
CA FLAGWRD4 # ARE WE IN R61 (P20)
|
||||
MASK BIT12
|
||||
EXTEND
|
||||
BZF GOTOPOOH # NO
|
||||
TC GOTOV56 # YES
|
||||
|
||||
BIT14+7 OCT 20100
|
||||
V06N18 VN 0618
|
||||
|
||||
# Page 393
|
||||
# PROGRAM DESCRIPTION - VECPOINT
|
||||
|
||||
|
||||
# THIS INTERPRETIVE SUBROUTINE MAY BE USED TO POINT A SPACECRAFT AXIS IN A DESIRED DIRECTION. THE AXIS
|
||||
# TO BE POINTED MUST APPEAR AS A HALF UNIT DOUBLE PRECISION VECTOR IN SUCCESSIVE LOCATIONS OF ERASABLE MEMORY
|
||||
# BEGINNING WITH THE LOCATION CALLED SCAXIS. THE COMPONENTS OF THIS VECTOR ARE GIVEN IN SPACECRAFT COORDINATES.
|
||||
# THE DIRECTION IN WHICH THIS AXIS IS TO BE POINTED MUST APPEAR AS A HALF UNIT DOUBLE PRECISION VECTOR IN
|
||||
# SUCCESSIVE LOCATIONS OF ERASABLE MEMORY BEGINNING WITH THE ADDRESS CALLED POINTVSM. THE COMPONENTS OF THIS
|
||||
# VECTOR ARE GIVEN IN STABLE MEMBER COORDINATES. WITH THIS INFORMATION VECPOINT COMPUTES A SET OF THREE GIMBAL
|
||||
# ANGLES (2S COMPLEMENT) CORRESPONDING TO THE CROSS-PRODUCT ROTATION BETWEEN SCAXIS AND POINTVSM AND STORES THEM
|
||||
# IN T(MPAC) BEFORE RETURNING TO THE CALLER.
|
||||
# THIS ROTATION, HOWEVER, MAY BRING THE S/C INTO GIMBAL LOCK. WHEN POINTING A VECTOR IN THE Y-Z PLANE,
|
||||
# THE TRANSPONDER AXIS, OR THE AOT FOR THE LEM, THE PROGRAM WILL CORRECT THIS PROBLEM BY ROTATING THE CROSS-
|
||||
# PRODUCT ATTITUDE ABOUT POINTVSM BY A FIXED AMOUNT SUFFICIENT TO ROTATE THE DESIRED S/C ATTITUDE OUT OF GIMBAL
|
||||
# LOCK. IF THE AXIS TO BE POINTED IS MORE THAN 40.6 DEGREES BUT LESS THAN 60.5 DEG FROM THE +X (OR-X) AXIS,
|
||||
# THE ADDITIONAL ROTATION TO AVOID GIMBAL LOCK IS 35 DEGREES. IF THE AXIS IS MORE THAN 60.5 DEGREES FROM +X (OR -X)
|
||||
# THE ADDITIONAL ROTATION IS 35 DEGREES. THE GIMBAL ANGLES CORRESPONDING TO THIS ATTITUDE ARE THEN COMPUTED AND
|
||||
# STORED AS 2S COMPLIMENT ANGLES IN T(MPAC) BEFORE RETURNING TO THE CALLER.
|
||||
# WHEN POINTING THE X-AXIS, OR THE THRUST VECTOR, OR ANY VECTOR WITHIN 40.6 DEG OF THE X-AXIS, VECPOINT
|
||||
# CANNOT CORRECT FOR A CROSS-PRODUCT ROTATION INTO GIMBAL LOCK. IN THIS CASE A PLATFORM REALIGNMENT WOULD BE
|
||||
# REQUIRED TO POINT THE VECTOR IN THE DESIRED DIRECTION. AT PRESENT NO INDICATION IS GIVEN FOR THIS SITUATION
|
||||
# EXCEPT THAT THE FINAL MIDDLE GIMBAL ANGLE IN MPAC +2 IS GREATER THAN 59 DEGREES.
|
||||
|
||||
# CALLING SEQUENCE -
|
||||
# 1) LOAD SCAXIS, POINTVSM
|
||||
# 2) CALL
|
||||
# VECPOINT
|
||||
|
||||
# RETURNS WITH
|
||||
|
||||
# 1) DESIRED OUTER GIMBAL ANGLE IN MPAC
|
||||
# 2) DESIRED INNER GIMBAL ANGLE IN MPAC +1
|
||||
# 3) DESIRED MIDDLE GIMBAL ANGLE IN MPAC +2
|
||||
|
||||
|
||||
# ERASABLES USED -
|
||||
|
||||
# 1) SCAXIS 6
|
||||
# 2) POINTVSM 6
|
||||
# 3) MIS 18
|
||||
# 4) DEL 18
|
||||
# 5) COF 6
|
||||
# 6) VECQTEMP 1
|
||||
# 7) ALL OF VAC AREA 43
|
||||
|
||||
# TOTAL 99
|
||||
|
||||
SETLOC VECPT
|
||||
BANK
|
||||
# Page 394
|
||||
EBANK= BCDU
|
||||
|
||||
COUNT 27/VECPT
|
||||
|
||||
VECPOINT STQ BOV # SAVE RETURN ADDRESS
|
||||
VECQTEMP
|
||||
VECLEAR # AND CLEAR OVFIND
|
||||
VECLEAR AXC,2 RTB
|
||||
MIS # READ THE PRESENT CDU ANGLES AND
|
||||
READCDUK # STORE THEM IN PD25, 26, 27
|
||||
STCALL 25D
|
||||
CDUTODCM # S/C AXES TO STABLE MEMBER AXES (MIS)
|
||||
VLOAD VXM
|
||||
POINTVSM # RESOLVE THE POINTING DIRECTION VF INTO
|
||||
MIS # INITIAL S/C AXES ( VF = POINTVSM)
|
||||
UNIT
|
||||
STORE 28D
|
||||
# PD 28 29 30 31 32 33
|
||||
VXV UNIT # TAKE THE CROSS PRODUCT VF X VI
|
||||
SCAXIS # WHERE VI = SCAXIS
|
||||
BOV VCOMP
|
||||
PICKAXIS
|
||||
STODL COF # CHECK MAGNITUDE
|
||||
36D # OF CROSS PRODUCT
|
||||
DSU BMN # VECTOR, IF LESS
|
||||
DPB-14 # THAN B-14 ASSUME
|
||||
PICKAXIS # UNIT OPERATION
|
||||
VLOAD DOT # INVALID.
|
||||
SCAXIS
|
||||
28D
|
||||
SL1 ARCCOS
|
||||
COMPMATX CALL # NOW COMPUTE THE TRANSFORMATION FROM
|
||||
DELCOMP # FINAL S/C AXES TO INITIAL S/C AXES MFI
|
||||
AXC,1 AXC,2
|
||||
MIS # COMPUTE THE TRANSFORMATION FROM FINAL
|
||||
DEL # S/C AXES TO STABLE MEMBER AXES
|
||||
CALL # MFS = MIS MFI
|
||||
MXM3 # (IN PD LIST)
|
||||
|
||||
DLOAD ABS
|
||||
6 # MFS6 = SIN(CPSI) $2
|
||||
DSU BMN
|
||||
SINGIMLC # = SIN(59 DEGS) $2
|
||||
FINDGIMB # /CPSI/ LESS THAN 59 DEGS
|
||||
# I.E. DESIRED ATTITUDE NOT IN GIMBAL LOCK
|
||||
|
||||
DLOAD ABS # CHECK TO SEE IF WE ARE POINTING
|
||||
SCAXIS # THE THRUST AXIS
|
||||
DSU BPL
|
||||
SINVEC1 # SIN 49.4 DEGS $2
|
||||
# Page 395
|
||||
FINDGIMB # IF SO, WE ARE TRYING TO POINT IT INTO
|
||||
VLOAD # GIMBAL LOCK, ABORT COULD GO HERE
|
||||
STADR
|
||||
STOVL MIS +12D
|
||||
STADR # STORE MFS (IN PD LIST) IN MIS
|
||||
STOVL MIS +6
|
||||
STADR
|
||||
STOVL MIS
|
||||
MIS +6 # INNER GIMBAL AXIS IN FINAL S/C AXES
|
||||
BPL VCOMP # LOCATE THE IG AXIS DIRECTION CLOSEST TO
|
||||
IGSAMEX # FINAL X S/C AXIS
|
||||
|
||||
IGSAMEX VXV BMN # FIND THE SHORTEST WAY OF ROTATING THE
|
||||
SCAXIS # S/C OUT OF GIMBAL LOCK BY A ROTATION
|
||||
U=SCAXIS # ABOUT +- SCAXIS, I.E. IF (IG (SGN MFS3)
|
||||
# X SCAXIS . XF) LESS THAN 0, U = SCAXIS
|
||||
# OTHERWISE U = -SCAXIS.
|
||||
|
||||
VLOAD VCOMP
|
||||
SCAXIS
|
||||
STCALL COF # ROTATE ABOUT -SCAXIS
|
||||
CHEKAXIS
|
||||
U=SCAXIS VLOAD
|
||||
SCAXIS
|
||||
STORE COF # ROTATE ABOUT + SCAXIS
|
||||
CHEKAXIS DLOAD ABS
|
||||
SCAXIS # SEE IF WE ARE POINTING THE AOT
|
||||
DSU BPL
|
||||
SINVEC2 # SIN 29.5 DEGS $2
|
||||
PICKANG1 # IF SO, ROTATE 50 DEGS ABOUT +- SCAXIS
|
||||
DLOAD GOTO # IF NOT, MUST BE POINTING THE TRANSPONDER
|
||||
VECANG2 # OR SOME VECTOR IN THE Y, OR Z PLANE
|
||||
COMPMFSN # IN THIS CASE ROTATE 35 DEGS TO GET OUT
|
||||
# OF GIMBAL LOCK (VECANG2 $360)
|
||||
PICKANG1 DLOAD
|
||||
VECANG1 # = 50 DEGS $360
|
||||
COMPMFSN CALL
|
||||
DELCOMP # COMPUTE THE ROTATION ABOUT SCAXIS TO
|
||||
AXC,1 AXC,2 # BRING MFS OUT OF GIMBAL LOCK
|
||||
MIS
|
||||
DEL
|
||||
CALL # COMPUTE THE NEW TRANSFORMATION FROM
|
||||
MXM3 # DESIRED S/C AXES TO STABLE MEMBER AXES
|
||||
# WHICH WILL ALIGN VI WITH VF AND AVOID
|
||||
# GIMBAL LOCK
|
||||
FINDGIMB AXC,1 CALL
|
||||
0 # EXTRACT THE COMMANDED CDU ANGLES FROM
|
||||
DCMTOCDU # THIS MATRIX
|
||||
RTB SETPD
|
||||
V1STO2S # CONVERT TO 2:S COMPLEMENT
|
||||
# Page 396
|
||||
0
|
||||
GOTO
|
||||
VECQTEMP # RETURN TO CALLER
|
||||
|
||||
PICKAXIS VLOAD DOT # IF VF X VI = 0, FIND VF . VI
|
||||
28D
|
||||
SCAXIS
|
||||
BMN TLOAD
|
||||
ROT180
|
||||
25D
|
||||
GOTO # IF VF = VI, CDU DESIRED = PRESENT CDU
|
||||
VECQTEMP # PRESENT CDU ANGLES
|
||||
|
||||
ROT180 VLOAD VXV # IF VF, VI ANTI-PARALLEL, 180 DEG ROTATION
|
||||
MIS +6 # IS REQUIRED. Y STABLE MEMBER AXIS IN
|
||||
HIUNITX # INITIAL S/C AXIS.
|
||||
UNIT VXV # FIND Y(SM) X X(I)
|
||||
SCAXIS # FIND UNIT(VI X UNIT(Y(SM) X X(I)))
|
||||
UNIT BOV # I.E. PICK A VECTOR IN THE PLANE OF X(I),
|
||||
PICKX # Y(SM) PERPENDICULAR TO VI
|
||||
STODL COF
|
||||
36D # CHECK MAGNITUDE
|
||||
DSU BMN # OF THIS VECTOR.
|
||||
DPB-14 # IF LESS THAN B-14,
|
||||
PICKX # PICK X-AXIS.
|
||||
VLOAD
|
||||
COF
|
||||
XROT STODL COF
|
||||
HIDPHALF
|
||||
GOTO
|
||||
COMPMATX
|
||||
PICKX VLOAD GOTO # PICK THE XAXIS IN THIS CASE
|
||||
HIUNITX
|
||||
XROT
|
||||
BANK 35
|
||||
SETLOC MANUVER1
|
||||
BANK
|
||||
|
||||
SINGIMLC 2DEC .4285836003 # =SIN(59) $2
|
||||
|
||||
SINVEC1 2DEC .3796356537 # =SIN(49.4) $2
|
||||
|
||||
SINVEC2 2DEC .2462117800 # =SIN(29.5) $2
|
||||
|
||||
VECANG1 2DEC .1388888889 # = 50 DEGREES $360
|
||||
|
||||
VECANG2 2DEC .09722222222 # = 35 DEGREES $360
|
||||
|
||||
|
||||
1BITDP OCT 0 # KEEP THIS BEFORE DPB(-14) *********
|
||||
DPB-14 OCT 00001
|
||||
# Page 397
|
||||
OCT 00000
|
||||
BANK 34
|
||||
SETLOC MANUVER
|
||||
BANK
|
||||
|
||||
# Page 398
|
||||
# ROUTINE FOR INITIATING AUTOMATIC MANEUVER VIA KEYBOARD (V49)
|
||||
|
||||
EBANK= CPHI
|
||||
|
||||
COUNT 27/R62
|
||||
|
||||
R62DISP CAF V06N22 # DISPLAY COMMAND ICDUS CPHI, CTHETA, CPHI
|
||||
TC BANKCALL
|
||||
CADR GOFLASH
|
||||
TCF ENDEXT
|
||||
TCF GOMOVE # PROCEED
|
||||
TCF R62DISP # ENTER
|
||||
|
||||
# ASTRONAUT MAY LOAD NEW ICDUS AT THIS
|
||||
# POINT
|
||||
GOMOVE TC UPFLAG # SET 3-AXIS FLAG
|
||||
ADRES 3AXISFLG # BIT 6 FLAG 5
|
||||
|
||||
TC BANKCALL
|
||||
CADR R60CSM
|
||||
TCF ENDEXT
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: RCS-CSM_DAP_EXECUTIVE_PROGRAMS.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1037-1038
|
||||
# Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
# 2009-05-20 RSB A "Page N" comment was corrected.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1037
|
||||
# CALCULATION OF AMGB, AMBG ONCE EVERY SECOND
|
||||
#
|
||||
# AMGB = 1 SIN(PSI) 0
|
||||
# 0 COS(PSI)COS(PHI) SIN(PHI)
|
||||
# 0 -COS(PSI)SIN(PHI) COS(PHI)
|
||||
#
|
||||
# AMBG = 1 -TAN(PSI)COS(PHI) TAN(PSI)SIN(PHI)
|
||||
# 0 COS(PHI)/COS(PSI) -SIN(PHI)/COS(PSI)
|
||||
# 0 SIN(PHI) COS(PHI)
|
||||
#
|
||||
# WHERE PHI AND PSI ARE CDU ANGLES
|
||||
|
||||
|
||||
BANK 20
|
||||
SETLOC DAPS8
|
||||
BANK
|
||||
|
||||
COUNT* $$/DAPEX
|
||||
EBANK= KMPAC
|
||||
AMBGUPDT CA FLAGWRD6 # CHECK FOR RCS AUTOPILOT
|
||||
EXTEND
|
||||
BZMF ENDOFJOB # BIT15 = 0, BIT14 = 1
|
||||
MASK BIT14 # IF NOT RCS, EXIT
|
||||
EXTEND
|
||||
BZF ENDOFJOB # TO PROTECT TVC DAP ON SWITCHOVER
|
||||
|
||||
CA CDUZ
|
||||
TC SPSIN2
|
||||
TS AMGB1 # CALCULATE AMGB
|
||||
CA CDUZ
|
||||
TC SPCOS2
|
||||
TS CAPSI # MUST CHECK FOR GIMBAL LOCK
|
||||
CAF QUADANGL # = 7.25 DEGREES JET QUAD ANGULAR OFFSET
|
||||
EXTEND
|
||||
MSU CDUX
|
||||
COM # CDUX - 7.25 DEG
|
||||
TC SPCOS1
|
||||
TS AMGB8
|
||||
EXTEND
|
||||
MP CAPSI
|
||||
TS AMGB4
|
||||
CAF QUADANGL
|
||||
EXTEND
|
||||
MSU CDUX
|
||||
COM # CDUX - 7.25 DEG
|
||||
TC SPSIN1
|
||||
TS AMGB5
|
||||
EXTEND
|
||||
MP CAPSI
|
||||
COM
|
||||
# Page 1038
|
||||
TS AMGB7
|
||||
TCF ENDOFJOB
|
||||
QUADANGL DEC 660 # = 7.25 DEGREES
|
||||
|
|
@ -1,975 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: RCS-CSM_DIGITAL_AUTOPILOT.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Ron Burkey <info@sandroid.org>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 1002-1024
|
||||
# Mod history: 2009-05-13 RSB Adapted from the Colossus249/ file of the
|
||||
# same name, using Comanche055 page images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 1002
|
||||
# T5 INTERRUPT PROGRAM FOR THE RCS-CSM AUTOPILOT
|
||||
# START OF T5 INTERRUPT PROGRAM
|
||||
|
||||
|
||||
BANK 20
|
||||
SETLOC DAPS3
|
||||
BANK
|
||||
|
||||
COUNT 21/DAPRC
|
||||
|
||||
EBANK= KMPAC
|
||||
REDORCS LXCH BANKRUPT # RESTART OF AUTOPILOT COMES HERE
|
||||
CA T5PHASE # ON A T5 RUPT.
|
||||
EXTEND
|
||||
BZMF +2 # IF T5PHASE +0, -0, OR -, RESET TO -
|
||||
TCF +3 # IF T5PHASE +, LEAVE IT +. DO A FRESHDAP
|
||||
CS ONE
|
||||
TS T5PHASE
|
||||
EXTEND
|
||||
DCA RCSLOC
|
||||
DXCH T5LOC # HOOK UP T5RUPT TO AUTOPILOT
|
||||
TCF RCSATT +1
|
||||
EBANK= KMPAC
|
||||
RCSLOC 2CADR RCSATT
|
||||
|
||||
RCSATT LXCH BANKRUPT # SAVE BB
|
||||
EXTEND # SAVE Q
|
||||
QXCH QRUPT
|
||||
CAF BIT15 # BIT15 CHAN31 = 0 IF IMU POWER IS ON AND
|
||||
EXTEND # S/C CONT SW IS IN CMC (I.E. IF G/C AUTO
|
||||
RAND CHAN31 # PILOT IS FULLY ENABLED)
|
||||
EXTEND
|
||||
BZF SETT5 # IF G/C AUTOPILOT IS FULLY ENABLED,
|
||||
# GO TO SETT5
|
||||
|
||||
CS RCSFLAGS # IF G/C AUTOPILOT IS NOT FULLY ENABLED,
|
||||
MASK BIT14
|
||||
ADS RCSFLAGS # SET NORATE FLAG,
|
||||
CAF POSMAX
|
||||
TS HOLDFLAG # SET HOLDFLAG +,
|
||||
CAF ZERO # ZERO ERRORX, ERRORY, AND ERRORZ,
|
||||
TS ERRORX
|
||||
TS ERRORY
|
||||
TS ERRORZ
|
||||
CAF BIT14
|
||||
EXTEND
|
||||
RAND CHAN31 # AND CHECK FREE FUNCTION (BIT14 CHAN31).
|
||||
EXTEND
|
||||
# Page 1003
|
||||
BZF SETT5 # IF IN FREE MODE, GO TO SETT5.
|
||||
|
||||
TS T5PHASE # IF NOT IN FREE MODE,
|
||||
CAF OCT37766 # SCHEDULE REINITIALIZATION (FRESHDAP)
|
||||
TS TIME5 # IN 100 MS VIA T5RUPT
|
||||
|
||||
TCR ZEROJET # ZERO JET CHANNELS IN 14 MS VIA ZEROJET
|
||||
|
||||
TCF KMATRIX
|
||||
DELTATT OCT 37770 # 80MS (TIME5)
|
||||
DELTATT2 OCT 37776 # 20MS (TIME5)
|
||||
ONESEK DEC 16284 # 1 SEC(TIME5)
|
||||
CHAN5 EQUALS 5
|
||||
CHAN6 EQUALS 6
|
||||
PRIO34A = PRIO34
|
||||
# CHECK PHASE OF T5 PROGRAM
|
||||
|
||||
# BECAUSE OF THE LENGTH OF THE T5 PROGRAM, IT HAS BEEN DIVIDED INTO
|
||||
# THREE PARTS, T5PHASE1, T5PHASE2, AND THE JET SELECTION LOGIC,
|
||||
# TO ALLOW FOR THE EXECUTION OF OTHER
|
||||
# INTERRUPTS. T5PHASE IS ALSO USED IN THE INITIALIZATION OF THE AUTOPILOT
|
||||
# VARIABLES AT TURN ON.
|
||||
# THE CODING OF T5PHASE IS...
|
||||
|
||||
# + = INITIALIZE T5 RCS-CSM AUTOPILOT
|
||||
# T5PHASE = +0 = PHASE2 OF THE T5 PROGRAM
|
||||
# - = RESTART DAP
|
||||
# -0 = PHASE1 OF THE T5 PROGRAM
|
||||
|
||||
SETT5 CCS T5PHASE
|
||||
TCF FRESHDAP # TURN ON AUTOPILOT
|
||||
TCF T5PHASE2 # BRANCH TO PHASE2 OF PROGRAM
|
||||
TCF REDAP # RESTART AUTOPILOT
|
||||
|
||||
TS T5PHASE # PHASE 1 RESET FOR PHASE 2
|
||||
CA TIME5
|
||||
TS T5TIME # USED IN COMPENSATING FOR DELAYS IN T5
|
||||
CAF DELTATT2 # RESET FOR T5RUPT IN 20MS FOR PHASE2
|
||||
TS TIME5 # OF PROGRAM
|
||||
|
||||
# Page 1004
|
||||
# IMU STATUS CHECK
|
||||
|
||||
CS IMODES33 # CHECK IMU STATUS
|
||||
MASK BIT6 # BIT6 = 0 IMU OK
|
||||
CCS A # BIT6 = 1 NO IMU
|
||||
TCF RATEFILT
|
||||
FREECHK CS RCSFLAGS # BIT14 INDICATES THAT RATES HAVE NOT BEEN
|
||||
MASK BIT14 # INITIALIZED
|
||||
ADS RCSFLAGS
|
||||
CAF BIT14 # NO ATTITUDE REFERENCE
|
||||
TS HOLDFLAG # STOP ANY AUTOMATIC STEERING AND PREPARE
|
||||
# TO PICK UP CDU ANGLES UPON RESUMPTION OF
|
||||
# ATTITUDE HOLD
|
||||
EXTEND
|
||||
RAND CHAN31 # CHECK FOR FREE MODE
|
||||
EXTEND
|
||||
BZF KRESUME1 # IN FREE MODE PROVIDE FREE CONTROL ONLY
|
||||
TCF REINIT # .....TILT...............................
|
||||
BITS4,5 OCT 30
|
||||
|
||||
RATEFILT CA RCSFLAGS # SEE IF RATEFILTER HAS BEEN INITIALIZED
|
||||
MASK BIT14
|
||||
EXTEND # IF SO, PROCEED WITH RATE DERIVATION
|
||||
BZF +2
|
||||
TCF KMATRIX # IF NOT, SKIP RATE DERIVATION
|
||||
|
||||
# RATE FILTER TIMING = 7.72 MS
|
||||
|
||||
# RATE FILTER EQUATIONS
|
||||
# DRHO = DELRHO - (.1)ADOT + (1 = GAIN1)DRHO
|
||||
# -1
|
||||
# ADOT = ADOT + GAIN2 DRHO + KMJ DFT
|
||||
# -1
|
||||
# - * - -
|
||||
# WHERE DELRHO = AMGB (CDU - CDU )
|
||||
# -1
|
||||
|
||||
CAF TWO
|
||||
DRHOLOOP TS SPNDX
|
||||
DOUBLE
|
||||
TS DPNDX
|
||||
INDEX DPNDX
|
||||
CS DRHO # DRHO SCALED 180 DEGS
|
||||
EXTEND
|
||||
INDEX ATTKALMN # PICK UP DESIRED FILTER GAIN
|
||||
MP GAIN1
|
||||
INDEX DPNDX
|
||||
DAS DRHO # (1 -.064)DRHO
|
||||
EXTEND
|
||||
# Page 1005
|
||||
INDEX DPNDX
|
||||
DCS ADOT
|
||||
DXCH KMPAC # -(.1)ADOT
|
||||
CA QUARTER
|
||||
TC SMALLMP
|
||||
DXCH KMPAC
|
||||
INDEX DPNDX
|
||||
DAS DRHO
|
||||
CCS SPNDX
|
||||
TCF DRHOLOOP
|
||||
|
||||
CA CDUX # MEASURED BODY RATES--
|
||||
XCH RHO
|
||||
EXTEND
|
||||
MSU RHO # - * - -
|
||||
COM # DELRHO = AMGB (CDU - CDU )
|
||||
# -1
|
||||
ZL
|
||||
DXCH DELTEMPX
|
||||
CA CDUY
|
||||
XCH RHO1
|
||||
EXTEND
|
||||
MSU RHO1
|
||||
COM
|
||||
TS T5TEMP # (CDUY - RHO1) SCALED 90 DEGS
|
||||
EXTEND
|
||||
MP AMGB1
|
||||
DAS DELTEMPX # DELTEMPX = (CDUX-RHO) + AMGB1(CDUY-RHO1)
|
||||
# MUST BE DOUBLE PRECISION OR WILL LOSE
|
||||
# PULSES
|
||||
CA AMGB4
|
||||
EXTEND
|
||||
MP T5TEMP
|
||||
DXCH DELTEMPY
|
||||
CA AMGB7
|
||||
EXTEND
|
||||
MP T5TEMP
|
||||
DXCH DELTEMPZ
|
||||
CA CDUZ
|
||||
XCH RHO2
|
||||
EXTEND
|
||||
MSU RHO2
|
||||
COM
|
||||
TS T5TEMP # (CDUZ - RHO2) SCALED 90 DEGS
|
||||
EXTEND
|
||||
MP AMGB5
|
||||
DAS DELTEMPY # DELTEMPY =AMGB4(CDUY-RHO1)
|
||||
# + AMGB5(CDUZ-RHO2)
|
||||
CA AMGB8
|
||||
EXTEND
|
||||
|
||||
# Page 1006
|
||||
MP T5TEMP
|
||||
DAS DELTEMPZ # DELTEMPZ = AMBG7(CDUY-RHO1)
|
||||
# + AMGB8(CDUZ-RHO2)
|
||||
CAF TWO
|
||||
ADOTLOOP TS SPNDX
|
||||
DOUBLE
|
||||
TS DPNDX
|
||||
EXTEND
|
||||
INDEX DPNDX
|
||||
DCA DELTEMPX
|
||||
INDEX DPNDX
|
||||
DAS DRHO
|
||||
EXTEND
|
||||
INDEX DPNDX
|
||||
DCA DELTEMPX
|
||||
INDEX DPNDX
|
||||
DAS MERRORX
|
||||
INDEX DPNDX
|
||||
CA DRHO
|
||||
DOUBLE # N.B.
|
||||
DOUBLE # N.B.
|
||||
EXTEND
|
||||
INDEX ATTKALMN # PICK UP DESIRED FILTER GAINS
|
||||
MP GAIN2
|
||||
INDEX DPNDX # ADOT + (.16)(.1)DRHO
|
||||
DAS ADOT # -1
|
||||
INDEX SPNDX # S/C TORQUE TO INERTIA RATIO
|
||||
CA KMJ # SCALED (450)(1600)/(57.3)(16384)=1/1.3
|
||||
EXTEND
|
||||
INDEX SPNDX
|
||||
MP DFT
|
||||
INDEX DPNDX
|
||||
DAS ADOT # KMJ(DFT)
|
||||
CCS SPNDX
|
||||
TCF ADOTLOOP # END CALCULATION OF VEHICLE RATES
|
||||
KMATRIX CA ATTSEC
|
||||
MASK LOW4
|
||||
CCS A
|
||||
TCF TENTHSEK
|
||||
CAF PRIO34 # CALL FOR 1 SEC UPDATE OF TRANSFORMATION
|
||||
TC NOVAC # MATRIX FROM GIMBAL AXES TO BODY AXES
|
||||
EBANK= KMPAC
|
||||
2CADR AMBGUPDT
|
||||
|
||||
CAF NINE
|
||||
|
||||
TENTHSEK TS ATTSEC
|
||||
|
||||
# Page 1007
|
||||
# WHEN AUTOMATIC MANEUVERS ARE BEING PERFORMED, THE FOLLOWING ANGLE ADDITION MUST BE MADE TO PROVIDE A SMOOTH
|
||||
# SEQUENCE OF ANGULAR COMMANDS TO THE AUTOPILOT--
|
||||
|
||||
# CDUXD = CDUXD + DELCDUX (DOUBLE PRECISION)
|
||||
# CDUYD = CDUYD + DELCDUY (DOUBLE PRECISION)
|
||||
# CDUZD = CDUZD + DELCDUZ (DOUBLE PRECISION)
|
||||
|
||||
# THE STEERING PROGRAMS-
|
||||
# 1) ATTITUDE MANEUVER ROUTINE
|
||||
# 2) LEM TRACKING
|
||||
|
||||
# SHOULD GENERATE THE DESIRED ANGLES (CDUXD, CDUYD, CDUZD) AS WELL AS THE INCREMENTAL ANGLES (DELCDUX, DELCDUY,
|
||||
# DELCDUZ) SO THAT THE GIMBAL ANGLE COMMANDS CAN BE INTERPOLATED BETWEEN UPDATES.
|
||||
|
||||
# HOLDFLAG CODING-
|
||||
|
||||
# + = GRAB PRESENT CDU ANGLES AND STORE IN THETADX, THETADY, THETADZ
|
||||
# AND PERFORM ATTITUDE HOLD ABOUT THESE ANGLES
|
||||
# ALSO IGNORE AUTOMATIC STEERING
|
||||
# SET = + BY
|
||||
# 1) INITIALIZATION PHASE OF AUTOPILOT
|
||||
# 2) OCCURANCE OF RHC COMMANDS
|
||||
# 3) FREE MODE
|
||||
# 4) SWITCH OVER TO ATTITUDE HOLD FROM AUTO
|
||||
# WHILE DOING AUTOMATIC STEERING (IN THIS CASE
|
||||
# HOLDFLAG IS NOT ACTUALLY SET TO +, BUT THE LOGIC
|
||||
# FUNCTIONS AS IF IT WERE.)
|
||||
# 5) S/C CONTROL SWITCH IS SCS
|
||||
# 6) IMU POWER OFF
|
||||
# +0 = IN ATTITUDE HOLD ABOUT A PREVIOUSLY ESTABLISHED REFERENCE
|
||||
# - = PERFORMING AUTOMATIC MANEUVER
|
||||
# -0 = NOT USED AT PRESENT
|
||||
|
||||
|
||||
# NOTE THAT THIS FLAG MUST BE SET = - BY THE STEERING PROGRAM IF IT IS TO COMMAND THE AUTOPILOT.
|
||||
# SINCE ASTRONAUT ACTION MAY CHANGE THE HOLDFLAG SETTING, IT SHOULD BE MONITORED BY THE STEERING PROGRAM TO
|
||||
# DETERMINE IF THE AUTOMATIC SEQUENCE HAS BEEN INTERRUPTED AND IF SO, TAKE THE APPROPRIATE ACTION.
|
||||
|
||||
CS HOLDFLAG
|
||||
EXTEND
|
||||
BZMF DACNDLS # IF HOLDFLAG +0,-0,+, BYPASS AUTOMATIC
|
||||
# COMMANDS
|
||||
DCDUINCR CAF TWO
|
||||
DELOOP TS SPNDX
|
||||
DOUBLE
|
||||
TS DPNDX
|
||||
EXTEND
|
||||
INDEX A
|
||||
DCA CDUXD
|
||||
# Page 1008
|
||||
DXCH KMPAC
|
||||
EXTEND
|
||||
INDEX DPNDX
|
||||
DCA DELCDUX
|
||||
TC DPADD
|
||||
EXTEND
|
||||
DCA KMPAC
|
||||
INDEX SPNDX
|
||||
TS THETADX
|
||||
INDEX DPNDX
|
||||
DXCH CDUXD
|
||||
CCS SPNDX
|
||||
TCF DELOOP
|
||||
|
||||
# Page 1009
|
||||
# RCS-CSM AUTOPILOT ATTITUDE ERROR DISPLAY
|
||||
|
||||
# THREE TYPES OF ATTITUDE ERRORS MAY BE DISPLAYED ON THE FDAI-
|
||||
|
||||
# MODE 1) AUTOPILOT FOLLOWING ERRORS SELECTED BY V61E
|
||||
# GENERATED INTERNALLY BY THE AUTOPILOT
|
||||
|
||||
# MODE 2) TOTAL ATTITUDE ERRORS SELECTED BY V62E
|
||||
# WITH RESPECT TO THE CONTENTS OF N22
|
||||
|
||||
# MODE 3) TOTAL ASTRONAUT ATTITUDE ERRORS SELECTED BY V63E
|
||||
# WITH RESPECT TO THE CONTENTS OF N17
|
||||
|
||||
# MODE 1 IS PROVIDED AS A MONITOR OF THE RCS DAP AND ITS ABILITY TO TRACK AUTOMATIC STEERING COMMANDS. IN THIS
|
||||
# MODE THE ATTITUDE ERRORS WILL BE ZEROED WHEN THE CMC MODE SWITCH IS IN FREE
|
||||
|
||||
# MODE 2 IS PROVIDED TO ASSIST THE CREW IN MANUALLY MANEUVERING THE S/C TO THE ATTITUDE (GIMBAL ANGLES) SPECIFIED
|
||||
# IN N22. THE ATTITUDE ERRORS WRT THESE ANGLES AND THE CURRENT CDU ANGLES ARE RESOLVED INTO S/C CONTROL AXES
|
||||
# AS A FLY-TO INDICATOR.
|
||||
|
||||
# MODE 3 IS PROVIDED TO ASSIST THE CREW IN MANUALLY MANEUVERING THE S/C TO THE ATTITUDE (GIMBAL ANGLES) SPECIFIED
|
||||
# IN N17. THE ATTITUDE ERRORS WRT THESE ANGLES AND THE CURRENT CDU ANGLES ARE RESOLVED INTO S/C CONTROL AXES
|
||||
# AS A FLY-TO INDICATOR.
|
||||
|
||||
# V60 IS PROVIDED TO LOAD N17 WITH A SNAPSHOT OF THE CURRENT CDU ANGLES, THUS SYNCHRONIZING THE MODE 3 DISPLAY
|
||||
# WITH THE CURRENT S/C ATTITUDE. THIS VERB MAY BE USED AT ANY TIME.
|
||||
|
||||
# THESE DISPLAYS WILL BE AVAILABLE IN ANY MODE (AUTO, HOLD, FREE, G+N, OR SCS) ONCE THE RCS DAP HAS BEEN
|
||||
# INITIATED VIA V46E. MODE 1, HOWEVER, WILL BE MEANINGFUL ONLY IN G+N AUTO OR HOLD. THE CREW MAY PRESET (VIA
|
||||
# V25N17) AN ATTITUDE REFERENCE (DESIRED GIMBAL ANGLES) INTO N17 AT ANY TIME.
|
||||
|
||||
DACNDLS CS RCSFLAGS # ALTERNATE BETWEEN FDAIDSP1 AND FDAIDSP2
|
||||
MASK BIT4
|
||||
EXTEND
|
||||
BZF FDAIDSP2
|
||||
|
||||
FDAIDSP1 ADS RCSFLAGS
|
||||
TC NEEDLER
|
||||
KRESUME1 TCF RESUME # END PHASE 1
|
||||
|
||||
# Page 1010
|
||||
# FDAI ATTITUDE ERROR DISPLAY SUBROUTINE
|
||||
|
||||
# PROGRAM DESCRIPTION: D. KEENE 5/24/67
|
||||
|
||||
# THIS SUBROUTINE IS USED TO DISPLAY ATTITUDE ERRORS ON THE FDAI VIA THE DIGITAL TO ANALOG CONVERTERS (DACS)
|
||||
# IN THE CDUS. CARE IS TAKEN TO METER OUT THE APPROPRIATE NUMBER OF PULSES TO THE IMU ERROR COUNTERS AND PREVENT
|
||||
# OVERFLOW, TO CONTROL THE RELAY SEQUENCING, AND TO AVOID INTERFERENCE WITH THE COARSE ALIGN LOOP WHICH ALSO USES
|
||||
# THE DACS.
|
||||
|
||||
|
||||
# CALLING SEQUENCE:
|
||||
|
||||
# DURING THE INITIALIZATION SECTION OF THE USER'S PROGRAM, BIT3 OF RCSFLAGS SHOULD BE SET TO INITIATE THE
|
||||
# TURN-ON SEQUENCE WITHIN THE NEEDLES PROGRAM:
|
||||
|
||||
# CS RCSFLAGS # IN EBANK6
|
||||
# MASK BIT3
|
||||
# ADS RCSFLAGS
|
||||
|
||||
# THEREAFTER, THE ATTITUDE ERRORS GENERATED BY THE USER SHOULD BE TRANSFERED TO THE FOLLOWING LOCATIONS IN EBANK6:
|
||||
|
||||
# AK SCALED 180 DEGREES NOTE: THESE LOCATIONS ARE SUBJECT
|
||||
# AK1 SCALED 180 DEGREES TO CHANGE
|
||||
# AK2 SCALED 180 DEGREES
|
||||
|
||||
# FULL SCALED DEFLECTION CORRESPONDS TO 16 7/8 DEGREES OF ATTITUDE ERROR
|
||||
# (= 384 BITS IN IMU ERROR COUNTER)
|
||||
|
||||
# A CALL TO NEEDLER WILL THEN UPDATE THE DISPLAY:
|
||||
|
||||
# INHINT
|
||||
# TC IBNKCALL # NOTE: EBANK SHOULD BE SET TO E6
|
||||
# CADR NEEDLER
|
||||
# RELINT
|
||||
|
||||
# THIS PROCESS SHOULD BE REPEATED EACH TIME THE ERRORS ARE UPDATED. AT LEAST 3 PASSES THRU THE PROGRAM ARE
|
||||
# REQUIRED BEFORE ANYTHING IS ACTUALLY DISPLAYED ON THE ERROR METERS.
|
||||
# NOTE: EACH CALL TO NEEDLER MUST BE SEPARATED BY AT LEAST 50MS TO ASSURE PROPER RELAY SEQUENCING.
|
||||
|
||||
# ERASABLE USED:
|
||||
# AK CDUXCMD
|
||||
# AK1 CDUYCMD
|
||||
# AK2 CDUZCMD
|
||||
# EDRIVEX A,L,Q
|
||||
# EDRIVEY T5TEMP
|
||||
# EDRIVEZ SPNDX
|
||||
|
||||
# SWITCHES: RCSFLAGS BITS 3,2
|
||||
|
||||
# I/O CHANNELS: CHAN12 BIT 4 (COARSE ALIGN - READ ONLY)
|
||||
# Page 1011
|
||||
# CHAN12 BIT 6 (IMU ERROR COUNTER ENABLE)
|
||||
# CHAN14 BIT 13,14,15 (DAC ACTIVITY)
|
||||
|
||||
|
||||
# SIGN CONVENTION< AK = THETAC - THETA
|
||||
# WHERE THETAC = COMMAND ANGLE
|
||||
# THETA = PRESENT ANGLE
|
||||
|
||||
|
||||
NEEDLER CAF BIT4 # CHECK FOR COARSE ALIGN ENABLE
|
||||
EXTEND # IF IN COARSE ALIGN DO NOT USE IMU
|
||||
RAND CHAN12 # ERROR COUNTERS. DONT USE NEEDLES
|
||||
EXTEND
|
||||
BZF NEEDLER1
|
||||
CS RCSFLAGS # SET BIT3 FOR INITIALIZATION PASS
|
||||
MASK BIT3
|
||||
ADS RCSFLAGS
|
||||
TC Q
|
||||
|
||||
NEEDLER1 CA RCSFLAGS
|
||||
MASK SIX
|
||||
EXTEND
|
||||
BZF NEEDLES3
|
||||
MASK BIT3
|
||||
EXTEND
|
||||
BZF NEEDLER2 # BIT3 = 0, BIT2 = 1
|
||||
|
||||
CS BIT6 # FIRST PASS BIT3 = 1
|
||||
EXTEND # DISABLE IMU ERROR COUNTER TO ZERO DACS
|
||||
WAND CHAN12 # MUST WAIT AT LEAST 60 MS BEFORE
|
||||
NEEDLE11 CS ZERO # ENABLING COUNTERS.
|
||||
TS AK # ZERO THE INPUTS ON FIRST PASS
|
||||
TS AK1
|
||||
TS AK2
|
||||
TS EDRIVEX # ZERO THE DISPLAY REGISTERS
|
||||
TS EDRIVEY
|
||||
TS EDRIVEZ
|
||||
TS CDUXCMD # ZERO THE OUT COUNTERS
|
||||
TS CDUYCMD
|
||||
TS CDUZCMD
|
||||
CS SIX # RESET RCSFLAGS FOR PASS2
|
||||
MASK RCSFLAGS
|
||||
AD BIT2
|
||||
TS RCSFLAGS
|
||||
TC Q # END PASS1
|
||||
|
||||
NEEDLER2 CAF BIT6 # ENABLE IMU ERROR COUNTERS
|
||||
EXTEND
|
||||
WOR CHAN12
|
||||
CS SIX # RESET RCSFLAGS TO DISPLAY ATTITUDE
|
||||
# Page 1012
|
||||
MASK RCSFLAGS # ERRORS WAIT AT LEAST 4 MS FOR
|
||||
TS RCSFLAGS # RELAY CLOSURE
|
||||
TC Q
|
||||
|
||||
NEEDLES3 CAF BIT6 # CHECK TO SEE IF IMU ERROR COUNTER
|
||||
EXTEND # IS ENABLED
|
||||
RAND CHAN12
|
||||
EXTEND # IF NOT RECYCLE NEEDLES
|
||||
BZF NEEDLER +5
|
||||
|
||||
NEEDLES CAF TWO
|
||||
DACLOOP TS SPNDX
|
||||
CS QUARTER
|
||||
EXTEND
|
||||
INDEX SPNDX
|
||||
MP AK
|
||||
TS L
|
||||
CCS A
|
||||
CA DACLIMIT
|
||||
TCF +2
|
||||
CS DACLIMIT
|
||||
AD L
|
||||
TS T5TEMP # OVFLO CHK
|
||||
TCF +4
|
||||
INDEX A # ON OVERFLOW LIMIT OUTPUT TO +-384
|
||||
CAF DACLIMIT
|
||||
TS L
|
||||
INDEX SPNDX
|
||||
CS EDRIVEX # CURRENT VALUE OF DAC
|
||||
AD L
|
||||
INDEX SPNDX
|
||||
ADS CDUXCMD
|
||||
INDEX SPNDX
|
||||
LXCH EDRIVEX
|
||||
CCS SPNDX
|
||||
TCF DACLOOP
|
||||
CAF 13,14,15
|
||||
EXTEND
|
||||
WOR CHAN14 # SET DAC ACTIVITY BITS
|
||||
TC Q
|
||||
|
||||
REINIT CAF DELAY200 # ........TILT LOGIC
|
||||
TS TIME5 # REINITIALIZE DAP IN 200MS
|
||||
TS T5PHASE
|
||||
TCF RESUME
|
||||
DELAY200 DEC 16364 # 200MS
|
||||
|
||||
DEC -384
|
||||
|
||||
# Page 1013
|
||||
DACLIMIT DEC 16000
|
||||
DEC 384
|
||||
|
||||
# Page 1014
|
||||
# INITIALIZATION PROGRAM FOR RCS-CSM AUTOPILOT
|
||||
|
||||
# THE FOLLOWING QUANTITIES WILL BE ZEROED AND SHOULD APPEAR IN CONSECUTIVE LOCATIONS IN MEMORY AFTER WBODY
|
||||
|
||||
# WBODY (+1) DFT TAU2
|
||||
# WBODY1 (+1) DFT1 BIAS
|
||||
# WBODY2 (+1) DFT2 BIAS1
|
||||
# ADOT (+1) DRHO (+1) BIAS2
|
||||
# ADOT1 (+1) DRHO1 (+1) ERRORX
|
||||
# ADOT2 (+1) DRHO2 (+1) ERRORY
|
||||
# MERRORX (+1) ATTSEC ERRORZ
|
||||
# MERRORY (+1) TAU
|
||||
# MERRORZ (+1) TAU1
|
||||
FRESHDAP CAF ONE # RESET HOLDFLAG TO STOP AUTOMATIC
|
||||
TS HOLDFLAG # STEERING AND PREPARE TO PICK UP AN
|
||||
# ATTITUDE HOLD REFERENCE
|
||||
|
||||
REDAP TC IBNKCALL # DECODE DAPDATR1, DAPDATR2 FOR DEADBANDS
|
||||
CADR S41.2 # RATES, QUADFAILS, QUAD MANAGEMENT
|
||||
|
||||
TC IBNKCALL # DECODE IXX, IAVG, AND CONVERT
|
||||
CADR S40.14 # TO AUTOPILOT GAINS
|
||||
|
||||
CAF NO.T5VAR # NO. LOCATIONS TO BE ZEROED MINUS ONE
|
||||
ZEROT5 TS SPNDX # ZERO ALL NECESSARY ERASABLE REGISTERS
|
||||
CAF ZERO
|
||||
INDEX SPNDX
|
||||
TS WBODY
|
||||
CCS SPNDX
|
||||
TCF ZEROT5
|
||||
TCR ZEROJET
|
||||
|
||||
CS ZERO
|
||||
TS CHANTEMP # INITIALIZE MINIMUM IMPULSE CONTROL
|
||||
|
||||
TS CH31TEMP # INITIALIZE RHC POSITION MEMORY FOR
|
||||
# MANUAL RATE MODES
|
||||
|
||||
CAF =.24
|
||||
TS SLOPE # INITIALIZE SWITCHING LOGIC SLOPE
|
||||
|
||||
CAF FOUR
|
||||
TS T5TIME # PHASE 0 RESETS FOR PHASE 2 INTERRUPT IN
|
||||
# 60 MS. PHASE 2 RESETS FOR PHASE 1 RUPT
|
||||
# IN (80MS - T5TIME(40MS)). THEREFORE
|
||||
# PHASE 1 (RATEFILTER) BEGINS CYCLING 100
|
||||
# MS FROM NOW AND EVERY 100MS THEREAFTER.
|
||||
|
||||
CAF ELEVEN
|
||||
TS ATTKALMN # RESET TO PICK UP KALMAN FILTER GAINS
|
||||
# TO INITIALIZE THE S/C ANGULAR RATES
|
||||
# Page 1015
|
||||
CA CDUX
|
||||
TS RHO
|
||||
CA CDUY
|
||||
TS RHO1
|
||||
CA CDUZ
|
||||
TS RHO2
|
||||
CAF ZERO # RESET AUTOPILOT TO BEGIN EXECUTING
|
||||
TS T5PHASE # PHASE2 OF PROGRAM
|
||||
|
||||
CS IMODES33 # CHECK IMU STATUS
|
||||
MASK BIT6 # IF BIT6 = 0 IMU IN FINE ALIGN
|
||||
CCS A # IF BIT6 = 1 IMU NOT READY
|
||||
TCF IMUAOK
|
||||
TS ATTKALMN # CANNOT USE IMU
|
||||
CAF RCSINITB # PROVIDE FREE CONTROL ONLY
|
||||
TCF RCSSWIT # DONT START UP RATE FILTER
|
||||
# SIGNAL NO RATE FILTER
|
||||
|
||||
IMUAOK CAF PRIO34 # START MATRIX INITIALIZATION
|
||||
TC NOVAC # BYPASS IF IMU NOT IN FINE ALIGN
|
||||
EBANK= KMPAC
|
||||
2CADR AMBGUPDT
|
||||
|
||||
CAF RCSINIT # CLEAR BIT14 -ASSUME WE HAVE A GOOD IMU
|
||||
RCSSWIT TS RCSFLAGS # CLEAR BIT1 -INITIALIZE T6 PROGRAM
|
||||
# SET BIT3 -INITIALIZE NEEDLES
|
||||
# CLEAR BIT4 -RESET FOR FDAIDSP1
|
||||
CAF T5WAIT60 # NEXT T5RUPT 60 MS FROM NOW TO ALLOW IMU
|
||||
# ERROR COUNTER TO ZERO.
|
||||
# (MINIMUM DELAY = 15 MS)
|
||||
TS TIME5 # SINCE ATTKALMN IS +11, PROGRAM WILL THEN
|
||||
TC RESUME # PICK UP THE KALMAN FILTER GAINS. RATE
|
||||
# FILTER WILL BEGIN OPERATING ZOOMS FROM
|
||||
# NOW
|
||||
|
||||
# CONSTANTS USED IN INITIALIZATION PROGRAM
|
||||
|
||||
NO.T5VAR DEC 36
|
||||
=.24 DEC .24 # = SLOPE OF 0.6/SEC
|
||||
RCSINIT OCT 00004
|
||||
RCSINITB OCT 20004
|
||||
T5WAIT60 DEC 16378 # = 6 CS
|
||||
EBANK= KMPAC
|
||||
T6ADDR 2CADR T6START
|
||||
|
||||
ZEROJET CAF ELEVEN # ZERO BLAST2, BLAST1, BLAST, YWORD2,
|
||||
TS SPNDX # YWORD1, PWORD2, PWORD1, RWORD2,
|
||||
CAF ZERO # AND RWORD1.
|
||||
|
||||
# Page 1016
|
||||
INDEX SPNDX
|
||||
TS RWORD1
|
||||
CCS SPNDX
|
||||
TCF ZEROJET +1
|
||||
|
||||
CAF FOUR
|
||||
TS BLAST1 +1
|
||||
CAF ELEVEN
|
||||
TS BLAST2 +1
|
||||
|
||||
CS BIT1
|
||||
MASK RCSFLAGS
|
||||
TS RCSFLAGS # RESET BIT1 OF RCSFLAGS TO 0
|
||||
|
||||
EXTEND
|
||||
DCA T6ADDR
|
||||
DXCH T6LOC
|
||||
CAF =+14MS # ENABLE T6RUPT TO SHUT OFF JETS IN 14 MS.
|
||||
TS TIME6
|
||||
CAF BIT15
|
||||
EXTEND
|
||||
WOR CHAN13
|
||||
|
||||
TC Q
|
||||
|
||||
T5PHASE2 CCS ATTKALMN # IF (+) INITIALIZE RATE ESTIMATE
|
||||
TCF KALUPDT
|
||||
|
||||
TCF +2 # ONLY IF ATTKALMN POSITIVE
|
||||
TCF +1
|
||||
CA DELTATT2 # RESET FOR PHASE3 IN 20 MS
|
||||
XCH TIME5 # (JET SELECTION LOGIC)
|
||||
ADS T5TIME # TO COMPENSATE FOR DELAYS IN T5RUPT
|
||||
|
||||
CA RCSFLAGS # IF A HIGH RATE AUTO MANEUVER IS IN
|
||||
MASK BIT15 # PROGRESS (BIT 15 OF RCSFLAGS SET), SET
|
||||
EXTEND # ATTKALMN TO -1
|
||||
BZF NOHIAUTO # OTHERWISE SET ATTKALMN TO 0.
|
||||
CS ONE
|
||||
NOHIAUTO TS ATTKALMN
|
||||
|
||||
# Page 1017
|
||||
# MANUAL ROTATION COMMANDS
|
||||
|
||||
CS OCT01760 # RESET FORCED FIRING BITS (BITS 10 TO 5
|
||||
MASK RCSFLAGS # OF RCSFLAGS) TO ZERO
|
||||
TS RCSFLAGS
|
||||
|
||||
EXTEND
|
||||
READ CHAN31
|
||||
TS L
|
||||
CA CH31TEMP
|
||||
EXTEND
|
||||
RXOR LCHAN
|
||||
MASK MANROT # = OCT00077
|
||||
EXTEND
|
||||
BZMF NOCHANGE
|
||||
|
||||
LXCH A
|
||||
TS CH31TEMP # SAVE CONTENTS OF CHANNEL 31 IN CH31TEMP
|
||||
|
||||
CA L
|
||||
EXTEND
|
||||
MP BIT5 # PUT BITS 6-1 OF A IN BITS 10-5 OF L
|
||||
CA L
|
||||
ADS RCSFLAGS # SET FORCED FIRING BITS FOR AXES WITH
|
||||
# CHANGES IN COMMAND. BITS 10,9 FOR
|
||||
# ROLL, BITS 8,7 FOR YAW, BITS 6,5 FOR
|
||||
# PITCH
|
||||
|
||||
CS RCSFLAGS # SET RATE DAMPING FLAGS (BITS 13,12,AND
|
||||
MASK OCT16000 # 11 OF RCSFLAGS)
|
||||
ADS RCSFLAGS
|
||||
|
||||
NOCHANGE CS CH31TEMP
|
||||
MASK MANROT
|
||||
EXTEND
|
||||
BZMF AHFNOROT # IF NO MANUAL COMMANDS, GO TO AHFNOROT
|
||||
|
||||
TS HOLDFLAG # SET HOLDFLAG +
|
||||
|
||||
TC STICKCHK # WHEN THE RHC IS OUT OF DETENT, PMANNDX,
|
||||
# YMANNDX, AND RMANNDX ARE ALL SET, BY
|
||||
# MEANS OF STICKCHK, TO 0, 1, OR 2 FOR NO,
|
||||
# +, OR - ROTATION RESPECTIVELY AS
|
||||
# COMMANDED BY THE RHC.
|
||||
|
||||
# HOWEVER, IT IS WELL TO NOTE THAT AFTER
|
||||
# THE RHC IS RETURNED TO DETENT, THE
|
||||
# PROGRAM BRANCHES TO AHFNOROT AND AVOIDS
|
||||
# STICKCHK SO PMANNDX, YMANNDX, AND
|
||||
# RMANNDX ARE NOT RESET TO ZERO BUT RATHER
|
||||
# LEFT SET TO THEIR LAST OUT OF DETENT
|
||||
# Page 1018
|
||||
# VALUES.
|
||||
|
||||
CS FLAGWRD1 # SET STIKFLAG TO INFORM STEERING
|
||||
MASK BIT14 # PROGRAMS (P20) THAT ASTRONAUT HAS
|
||||
ADS FLAGWRD1 # ASSUMED ROTATIONAL CONTROL OF SPACECRAFT
|
||||
|
||||
CAF BIT14
|
||||
EXTEND
|
||||
RAND CHAN31
|
||||
EXTEND
|
||||
BZMF FREEFUNC
|
||||
|
||||
CA RCSFLAGS # EXAMINE RCSFLAGS TO SEE IF RATE FILTER
|
||||
MASK BIT14 # HAS BEEN INITIALIZED
|
||||
CCS A # IF SO, PROCEED WITH MANUAL RATE COMMANDS
|
||||
TCF REINIT # .....TILT, RECYCLE TO INITIALIZE FILTER
|
||||
|
||||
CS FIVE # IF MANUAL MANEUVER IS AT HIGH RTE, SET
|
||||
AD RATEINDX # ATTKALMN TO -1.
|
||||
EXTEND # OTHERWISE, LEAVE ATTKALMN ALONE.
|
||||
BZMF +3
|
||||
CS ONE
|
||||
TS ATTKALMN
|
||||
|
||||
CAF TWO # AUTO-HOLD MANUAL ROTATION
|
||||
SETWBODY TS SPNDX
|
||||
DOUBLE
|
||||
TS DPNDX
|
||||
INDEX SPNDX # RMANNDX = 0 NO ROTATION
|
||||
CA RMANNDX # = 1 + ROTATION
|
||||
EXTEND # = 2 - ROTATION
|
||||
BZF NORATE # IF NO ROTATION COMMAND ON THIS AXIS,
|
||||
# GO TO NORATE.
|
||||
|
||||
AD RATEINDX # RATEINDX = 0 0.05 DEG/SEC
|
||||
TS Q # = 2 0.2 DEG/SEC
|
||||
INDEX Q # = 4 0.5 DEG/SEC
|
||||
CA MANTABLE -1 # = 6 2.0 DEG/SEC
|
||||
EXTEND
|
||||
MP BIT9 # MULTIPLY MANTABLE BY 2 TO THE -6
|
||||
INDEX DPNDX # TO GET COMMANDED RATE.
|
||||
DXCH WBODY # SET WBODY TO COMMANDED RATE.
|
||||
|
||||
CA RCSFLAGS
|
||||
MASK OCT16000 # IS RATE DAMPING COMPLETED (BITS 13,12 AND
|
||||
EXTEND # 11 OF RCSFLAGS ALL ZERO.) IF SO, GO TO
|
||||
BZF MERUPDAT # MERUPDAT TO UPDATE CUMULATIVE ATTITUDE
|
||||
# ERROR.
|
||||
|
||||
# Page 1019
|
||||
ZEROER CA ZERO # ZEROER ZEROS MERRORS
|
||||
ZL
|
||||
INDEX DPNDX
|
||||
DXCH MERRORX
|
||||
TCF SPNDXCHK
|
||||
|
||||
NORATE ZL
|
||||
INDEX DPNDX
|
||||
DXCH WBODY # ZERO WBODY FOR THIS AXIS
|
||||
CA RCSFLAGS
|
||||
MASK OCT16000
|
||||
EXTEND # IS RATE DAMPING COMPLETED
|
||||
BZF SPNDXCHK # YES, KEEP CURRENT MERRORX GO TO SPNDXCHK
|
||||
TCF ZEROER # NO,GO TO ZEROER
|
||||
|
||||
MERUPDAT INDEX Q # MERRORX=MERRORX+MEASURED CHANGE IN ANGLE
|
||||
CS MANTABLE -1 # -COMMANDED CHANGE IN ANGLE
|
||||
EXTEND # THE ADDITION OF MEASURED CHANGE IN ANGLE
|
||||
MP BIT7 # HAS ALREADY BEEN DONE IN THE RATE FILTER
|
||||
INDEX DPNDX # COMMANDED CHANGE IN ANGLE = WBODY TIMES
|
||||
DAS MERRORX # .1SEC = MANTABLE ENTRY TIMES 2 TO THE -8
|
||||
|
||||
SPNDXCHK INDEX DPNDX
|
||||
CA MERRORX
|
||||
INDEX SPNDX
|
||||
TS ERRORX # ERRORX = HIGH ORDER WORD OF MERRORX
|
||||
CCS SPNDX
|
||||
TCF SETWBODY
|
||||
TCF JETS
|
||||
|
||||
OCT01760 OCT 01760 # FORCED FIRING BITS MASK
|
||||
|
||||
OCT01400 OCT 01400 # ROLL FORCED FIRING MASK ORDER OF
|
||||
OCT00060 OCT 00060 # PITCH FORCED FIRING MASK DEFINITION
|
||||
OCT00300 OCT 00300 # YAW FORCED FIRING MASK MUST BE
|
||||
# PRESERVED
|
||||
# FOR INDEXING
|
||||
MANROT OCT 77
|
||||
OCT16000 OCT 16000 # RATE DAMPING FLAGS MASK
|
||||
MANTABLE DEC .0071111
|
||||
DEC -.0071111
|
||||
DEC .028444
|
||||
DEC -0.028444
|
||||
DEC .071111
|
||||
DEC -.071111
|
||||
DEC .284444
|
||||
DEC -.284444
|
||||
=+14MS DEC 23
|
||||
FREEFUNC INDEX RMANNDX # ACCELERATION
|
||||
# Page 1020
|
||||
CA FREETAU # COMMANDS
|
||||
TS TAU
|
||||
INDEX PMANNDX
|
||||
CA FREETAU # FREETAU 0 SEC
|
||||
TS TAU1 # +1 +0.10 SEC
|
||||
INDEX YMANNDX # +2 -0.10 SEC
|
||||
CA FREETAU # (+3) 0 SEC
|
||||
TS TAU2
|
||||
TCF T6PROGM
|
||||
|
||||
FREETAU DEC 0
|
||||
DEC 480
|
||||
DEC -480
|
||||
DEC 0
|
||||
|
||||
T6PROGM CAF ZERO # FOR MANUAL ROTATIONS
|
||||
TS ERRORX
|
||||
TS ERRORY
|
||||
TS ERRORZ
|
||||
TCF T6PROG
|
||||
|
||||
# Page 1021
|
||||
DEC .2112 # FILTER GAIN FOR TRANSLATION, LEM ON
|
||||
DEC .8400 # FILTER GAIN FOR TRANSLATION 2(ZETA)WN DT
|
||||
DEC .2112 # FILTER GAIN FOR 2 DEGREES/SEC MANEUVERS
|
||||
GAIN1 DEC .0640 # KALMAN FILTER GAINS FOR INITIALIZATION
|
||||
DEC .3180 # OF ATTITUDE RATES
|
||||
DEC .3452
|
||||
DEC .3774
|
||||
DEC .4161
|
||||
DEC .4634
|
||||
DEC .5223
|
||||
DEC .5970
|
||||
DEC .6933
|
||||
DEC .8151
|
||||
DEC .9342
|
||||
|
||||
DEC .0174 # FILTER GAIN FOR TRANSLATION, LEM ON
|
||||
DEC .3600 # FILTER GAIN FOR TRANSLATION (WN)(WN)DT
|
||||
DEC .0174 # FILTER GAIN FOR 2 DEGREES/SEC MANEUVERS
|
||||
GAIN2 DEC .0016 # SCALED 10
|
||||
DEC .0454
|
||||
DEC .0545
|
||||
DEC .0666
|
||||
DEC .0832
|
||||
DEC .1069
|
||||
DEC .1422
|
||||
DEC .1985
|
||||
DEC .2955
|
||||
DEC .4817
|
||||
DEC .8683
|
||||
STICKCHK TS T5TEMP
|
||||
MASK THREE # INDICES FOR MANUAL ROTATION
|
||||
TS PMANNDX
|
||||
CA T5TEMP
|
||||
EXTEND # MAN RATE 0 0 RATE (DP)
|
||||
MP QUARTER # +1 +RATE (DP)
|
||||
TS T5TEMP # +2 -RATE (DP)
|
||||
MASK THREE # (+3) 0 RATE (DP)
|
||||
TS YMANNDX
|
||||
CA T5TEMP
|
||||
EXTEND
|
||||
MP QUARTER
|
||||
TS RMANNDX
|
||||
TC Q
|
||||
|
||||
|
||||
KALUPDT TS ATTKALMN # INITIALIZATION OF ATTITUDE RATES USING
|
||||
# KALMAN FILTER TAKES 1.1 SEC
|
||||
|
||||
CA DELTATT # =1SEC - 80MS
|
||||
AD T5TIME # + DELAYS
|
||||
# Page 1022
|
||||
TS TIME5
|
||||
TCF +3
|
||||
CAF DELTATT2 # SAFETY PLAY TO ASSURE
|
||||
TS TIME5 # A T5RUPT
|
||||
|
||||
KRESUME2 CS ZERO # RESET FOR PHASE1
|
||||
TS T5PHASE # RESUME INTERRUPTED PROGRAM
|
||||
TCF RESUME
|
||||
|
||||
FDAIDSP2 CS BIT4 # RESET FOR FDAIDSP1
|
||||
MASK RCSFLAGS
|
||||
TS RCSFLAGS
|
||||
|
||||
CS FLAGWRD0 # ON - DISPLAY ONE OF THE TOTAL ATTITUDE
|
||||
MASK BIT9 # ERRORS
|
||||
EXTEND
|
||||
BZF FDAITOTL
|
||||
EXTEND
|
||||
DCS ERRORX # OFF -DISPLAY AUTOPILOT FOLLOWING ERROR
|
||||
DXCH AK
|
||||
CS ERRORZ
|
||||
TS AK2
|
||||
TCF RESUME # END PHASE 1
|
||||
|
||||
FDAITOTL CA FLAGWRD9
|
||||
MASK BIT6
|
||||
EXTEND
|
||||
BZF WRTN17 # IS N22ORN17 (BIT6 OF FLAGWRD9) = 0
|
||||
# IF SO, GO TO WRTN17
|
||||
WRTN22 EXTEND # OTHERWISE, CONTINUE ON TO WRTN22 AND
|
||||
DCA CTHETA # GET SET TO COMPUTE TOTAL ATTITUDE
|
||||
DXCH WTEMP # ERROR WRT N22 BY PICKING UP THE THREE
|
||||
CA CPHI # COMPONENTS OF N22
|
||||
|
||||
GETAKS EXTEND # COMPUTE TOTAL ATTITUDE ERROR FOR
|
||||
MSU CDUX # DISPLAY ON FDAI ERROR NEEDLES
|
||||
TS AK
|
||||
CA WTEMP
|
||||
EXTEND
|
||||
MSU CDUY
|
||||
TS T5TEMP
|
||||
EXTEND
|
||||
MP AMGB1
|
||||
ADS AK
|
||||
CA T5TEMP
|
||||
EXTEND
|
||||
MP AMGB4
|
||||
# Page 1023
|
||||
TS AK1
|
||||
CA T5TEMP
|
||||
EXTEND
|
||||
MP AMGB7
|
||||
TS AK2
|
||||
CA WTEMP +1
|
||||
EXTEND
|
||||
MSU CDUZ
|
||||
TS T5TEMP
|
||||
EXTEND
|
||||
MP AMGB5
|
||||
ADS AK1
|
||||
CA T5TEMP
|
||||
EXTEND
|
||||
MP AMGB8
|
||||
ADS AK2
|
||||
TCF RESUME # END PHASE1 OF RCS DAP
|
||||
|
||||
WRTN17 EXTEND # GET SET TO COMPUTE TOTAL ASTRONAUT
|
||||
DCA CPHIX +1 # ATTITUDE ERROR WRT N17 BY PICKING UP
|
||||
DXCH WTEMP # THE THREE COMPONENTS OF N17
|
||||
CA CPHIX
|
||||
TCF GETAKS
|
||||
|
||||
# Page 1024 (empty page)
|
||||
|
|
@ -1,229 +0,0 @@
|
|||
# Comanche055
|
||||
|
||||
The images (with suitable reduction in storage size and consequent reduction in image quality as well) are available online at www.ibiblio.org/apollo. If for some reason you find that the images are illegible, contact me at info@sandroid.org about getting access to the (much) higher-quality images which Paul actually created.
|
||||
|
||||
## Background
|
||||
|
||||
For organizatinal purposes RSB split the huge monolithic source code into smaller, more manageable chunks--i.e., into individual source
|
||||
files. Those files are rejoined as "includes". The code chunks correspond to natural divisions into sub-programs. In fact, these divisions are more-or-less specified by the source code itself. Refer to the `"SUBROUTINE CALLS"` at the very beginning of `ASSEMBLY_AND_OPERATION_INFORMATION.agc`.
|
||||
|
||||
It may be reasonably asked why tens of thousands of lines of source are joined by means of inclusion, rather than simply assembling the source files individually and then linking them to form the executable. The answer is that the original development team had no linker. The builds were monolithic just like this.
|
||||
|
||||
There was a big emphasis on reusability of the code in the original project, apparently, but this reusability took the form of inserting your deck of punch-cards at the appropriate position in somebody else's deck of punch-cards. (Actually, I think the card-decks were turned into tape libraries, and the modules were mixed-and-matched from the tape libraries, but the principle is the same.) So, indeed, the method of file-inclusion is a very fair representation of the methods used in the original development...with the improvement, of course,
|
||||
that you no longer have to worry about dropping the card deck. On the other hand, I (RSB) wasn't there at the time, so I may have no idea what I'm talking about.
|
||||
|
||||
Finally, note that the original Apollo AGC assembler (called `YUL`) is no longer available (as far as I can tell). Actually, it had already been replaced by another assembler (called `GAP`) by the time of Apollo 11, but GAP isn't available either. The replacement assembler yaYUL accepts a slightly different format for the source code from what YUL or GAP accepted, so the source code has been targeted for assembly with yaYUL.
|
||||
|
||||
What follows is simply a bunch of file-includes for the individual code chunks. The page numbers have been marked to make proof-reading easier. The page images also contain a lot of interesting tables (cross-referenced to page numbers) created by GAP, but not duplicated by yaYUL, so it's still valuable even if the source-files listed below are in hand.
|
||||
|
||||
## Source Code Index
|
||||
|
||||
### INFORMATION
|
||||
|
||||
Source File | Page Number
|
||||
:--------------------------------------- | :----------
|
||||
[CONTRACT_AND_APPROVALS.agc] | 1
|
||||
[ASSEMBLY_AND_OPERATION_INFORMATION.agc] | 2-26
|
||||
[TAGS_FOR_RELATIVE_SETLOC.agc] | 27-35
|
||||
|
||||
### COMERASE
|
||||
|
||||
Source File | Page Number
|
||||
:------------------------- | :----------
|
||||
[ERASABLE_ASSIGNMENTS.agc] | 37-130
|
||||
|
||||
### COMAID
|
||||
|
||||
Source File | Page Number
|
||||
:------------------------------------ | :----------
|
||||
[INTERRUPT_LEAD_INS.agc] | 131-132
|
||||
[T4RUPT_PROGRAM.agc] | 133-169
|
||||
[DOWNLINK_LISTS.agc] | 170-180
|
||||
[FRESH_START_AND_RESTART.agc] | 181-210
|
||||
[RESTART_TABLES.agc] | 211-221
|
||||
[SXTMARK.agc] | 222-235
|
||||
[EXTENDED_VERBS.agc] | 236-267
|
||||
[PINBALL_NOUN_TABLES.agc] | 268-284
|
||||
[CSM_GEOMETRY.agc] | 285-296
|
||||
[IMU_COMPENSATION_PACKAGE.agc] | 297-306
|
||||
[PINBALL_GAME_BUTTONS_AND_LIGHTS.agc] | 307-389
|
||||
[R60_62.agc] | 390-398
|
||||
[ANGLFIND.agc] | 399-411
|
||||
[GIMBAL_LOCK_AVOIDANCE.agc] | 412-413
|
||||
[KALCMANU_STEERING.agc] | 414-419
|
||||
[SYSTEM_TEST_STANDARD_LEAD_INS.agc] | 420-422
|
||||
[IMU_CALIBRATION_AND_ALIGNMENT.agc] | 423-455
|
||||
|
||||
### COMEKISS
|
||||
|
||||
Source File | Page Number
|
||||
:------------------------------------------ | :----------
|
||||
[GROUND_TRACKING_DETERMINATION_PROGRAM.agc] | 456-459
|
||||
[P34-35_P74-75.agc] | 460-504
|
||||
[R31.agc] | 505-510
|
||||
[P76.agc] | 511-513
|
||||
[R30.agc] | 514-524
|
||||
[STABLE_ORBIT.agc] | 525-532
|
||||
|
||||
### TROUBLE
|
||||
|
||||
Source File | Page Number
|
||||
:-------------------------------------------- | :----------
|
||||
[P11.agc] | 533-550
|
||||
[TPI_SEARCH.agc] | 551-561
|
||||
[P20-P25.agc] | 562-634
|
||||
[P30-P37.agc] | 635-648
|
||||
[P32-P33_P72-P73.agc] | 649-683
|
||||
[P40-P47.agc] | 684-736
|
||||
[P51-P53.agc] | 737-784
|
||||
[LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc] | 785-788
|
||||
[P61-P67.agc] | 789-818
|
||||
[SERVICER207.agc] | 819-836
|
||||
[ENTRY_LEXICON.agc] | 837-843
|
||||
[REENTRY_CONTROL.agc] | 844-882
|
||||
[CM_BODY_ATTITUDE.agc] | 883-889
|
||||
[P37_P70.agc] | 890-933
|
||||
[S-BAND_ANTENNA_FOR_CM.agc] | 934-935
|
||||
[LUNAR_LANDMARK_SELECTION_FOR_CM.agc] | 936
|
||||
|
||||
### TVCDAPS
|
||||
|
||||
Source File | Page Number
|
||||
:----------------------------------- | :----------
|
||||
[TVCINITIALIZE.agc] | 937-944
|
||||
[TVCEXECUTIVE.agc] | 945-950
|
||||
[TVCMASSPROP.agc] | 951-955
|
||||
[TVCRESTARTS.agc] | 956-960
|
||||
[TVCDAPS.agc] | 961-978
|
||||
[TVCSTROKETEST.agc] | 979-983
|
||||
[TVCROLLDAP.agc] | 984-998
|
||||
[MYSUBS.agc] | 999-1001
|
||||
[RCS-CSM_DIGITAL_AUTOPILOT.agc] | 1002-1024
|
||||
[AUTOMATIC_MANEUVERS.agc] | 1025-1036
|
||||
[RCS-CSM_DAP_EXECUTIVE_PROGRAMS.agc] | 1037-1038
|
||||
[JET_SELECTION_LOGIC.agc] | 1039-1062
|
||||
[CM_ENTRY_DIGITAL_AUTOPILOT.agc] | 1063-1092
|
||||
|
||||
### CHIEFTAN
|
||||
|
||||
Source File | Page Number
|
||||
:----------------------------------- | :----------
|
||||
[DOWN-TELEMETRY_PROGRAM.agc] | 1093-1102
|
||||
[INTER-BANK_COMMUNICATION.agc] | 1103-1106
|
||||
[INTERPRETER.agc] | 1107-1199
|
||||
[FIXED_FIXED_CONSTANT_POOL.agc] | 1200-1204
|
||||
[INTERPRETIVE_CONSTANTS.agc] | 1205-1206
|
||||
[SINGLE_PRECISION_SUBROUTINES.agc] | 1207
|
||||
[EXECUTIVE.agc] | 1208-1220
|
||||
[WAITLIST.agc] | 1221-1235
|
||||
[LATITUDE_LONGITUDE_SUBROUTINES.agc] | 1236-1242
|
||||
[PLANETARY_INERTIAL_ORIENTATION.agc] | 1243-1251
|
||||
[MEASUREMENT_INCORPORATION.agc] | 1252-1261
|
||||
[CONIC_SUBROUTINES.agc] | 1262-1308
|
||||
[INTEGRATION_INITIALIZATION.agc] | 1309-1333
|
||||
[ORBITAL_INTEGRATION.agc] | 1334-1354
|
||||
[INFLIGHT_ALIGNMENT_ROUTINES.agc] | 1355-1364
|
||||
[POWERED_FLIGHT_SUBROUTINES.agc] | 1365-1372
|
||||
[TIME_OF_FREE_FALL.agc] | 1373-1388
|
||||
[STAR_TABLES.agc] | 1389-1393
|
||||
[AGC_BLOCK_TWO_SELF-CHECK.agc] | 1394-1403
|
||||
[PHASE_TABLE_MAINTENANCE.agc] | 1404-1413
|
||||
[RESTARTS_ROUTINE.agc] | 1414-1419
|
||||
[IMU_MODE_SWITCHING_ROUTINES.agc] | 1420-1448
|
||||
[KEYRUPT_UPRUPT.agc] | 1449-1451
|
||||
[DISPLAY_INTERFACE_ROUTINES.agc] | 1452-1484
|
||||
[SERVICE_ROUTINES.agc] | 1485-1492
|
||||
[ALARM_AND_ABORT.agc] | 1493-1496
|
||||
[UPDATE_PROGRAM.agc] | 1497-1507
|
||||
[RT8_OP_CODES.agc] | 1508-1516
|
||||
|
||||
### MISCELLANEOUS
|
||||
|
||||
Source File | Page Number
|
||||
:------------------- | :----------
|
||||
GAP-generated tables | 1517-1751
|
||||
|
||||
[CONTRACT_AND_APPROVALS.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/CONTRACT_AND_APPROVALS.agc
|
||||
[ASSEMBLY_AND_OPERATION_INFORMATION.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/ASSEMBLY_AND_OPERATION_INFORMATION.agc
|
||||
[TAGS_FOR_RELATIVE_SETLOC.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/TAGS_FOR_RELATIVE_SETLOC.agc
|
||||
[ERASABLE_ASSIGNMENTS.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/ERASABLE_ASSIGNMENTS.agc
|
||||
[INTERRUPT_LEAD_INS.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/INTERRUPT_LEAD_INS.agc
|
||||
[T4RUPT_PROGRAM.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/T4RUPT_PROGRAM.agc
|
||||
[DOWNLINK_LISTS.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/DOWNLINK_LISTS.agc
|
||||
[FRESH_START_AND_RESTART.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/FRESH_START_AND_RESTART.agc
|
||||
[RESTART_TABLES.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/RESTART_TABLES.agc
|
||||
[SXTMARK.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/SXTMARK.agc
|
||||
[EXTENDED_VERBS.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/EXTENDED_VERBS.agc
|
||||
[PINBALL_NOUN_TABLES.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/PINBALL_NOUN_TABLES.agc
|
||||
[CSM_GEOMETRY.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/CSM_GEOMETRY.agc
|
||||
[IMU_COMPENSATION_PACKAGE.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/IMU_COMPENSATION_PACKAGE.agc
|
||||
[PINBALL_GAME_BUTTONS_AND_LIGHTS.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/PINBALL_GAME_BUTTONS_AND_LIGHTS.agc
|
||||
[R60_62.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/R60_62.agc
|
||||
[ANGLFIND.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/ANGLFIND.agc
|
||||
[GIMBAL_LOCK_AVOIDANCE.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/GIMBAL_LOCK_AVOIDANCE.agc
|
||||
[KALCMANU_STEERING.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/KALCMANU_STEERING.agc
|
||||
[SYSTEM_TEST_STANDARD_LEAD_INS.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/SYSTEM_TEST_STANDARD_LEAD_INS.agc
|
||||
[IMU_CALIBRATION_AND_ALIGNMENT.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/IMU_CALIBRATION_AND_ALIGNMENT.agc
|
||||
[GROUND_TRACKING_DETERMINATION_PROGRAM.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/GROUND_TRACKING_DETERMINATION_PROGRAM.agc
|
||||
[P34-35_P74-75.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/P34-35_P74-75.agc
|
||||
[R31.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/R31.agc
|
||||
[P76.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/P76.agc
|
||||
[R30.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/R30.agc
|
||||
[STABLE_ORBIT.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/STABLE_ORBIT.agc
|
||||
[P11.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/P11.agc
|
||||
[TPI_SEARCH.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/TPI_SEARCH.agc
|
||||
[P20-P25.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/P20-P25.agc
|
||||
[P30-P37.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/P30-P37.agc
|
||||
[P32-P33_P72-P73.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/P32-P33_P72-P73.agc
|
||||
[P40-P47.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/P40-P47.agc
|
||||
[P51-P53.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/P51-P53.agc
|
||||
[LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/LUNAR_AND_SOLAR_EPHEMERIDES_SUBROUTINES.agc
|
||||
[P61-P67.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/P61-P67.agc
|
||||
[SERVICER207.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/SERVICER207.agc
|
||||
[ENTRY_LEXICON.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/ENTRY_LEXICON.agc
|
||||
[REENTRY_CONTROL.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/REENTRY_CONTROL.agc
|
||||
[CM_BODY_ATTITUDE.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/CM_BODY_ATTITUDE.agc
|
||||
[P37_P70.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/P37_P70.agc
|
||||
[S-BAND_ANTENNA_FOR_CM.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/S-BAND_ANTENNA_FOR_CM.agc
|
||||
[LUNAR_LANDMARK_SELECTION_FOR_CM.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/LUNAR_LANDMARK_SELECTION_FOR_CM.agc
|
||||
[TVCINITIALIZE.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/TVCINITIALIZE.agc
|
||||
[TVCEXECUTIVE.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/TVCEXECUTIVE.agc
|
||||
[TVCMASSPROP.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/TVCMASSPROP.agc
|
||||
[TVCRESTARTS.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/TVCRESTARTS.agc
|
||||
[TVCDAPS.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/TVCDAPS.agc
|
||||
[TVCSTROKETEST.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/TVCSTROKETEST.agc
|
||||
[TVCROLLDAP.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/TVCROLLDAP.agc
|
||||
[MYSUBS.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/MYSUBS.agc
|
||||
[RCS-CSM_DIGITAL_AUTOPILOT.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/RCS-CSM_DIGITAL_AUTOPILOT.agc
|
||||
[AUTOMATIC_MANEUVERS.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/AUTOMATIC_MANEUVERS.agc
|
||||
[RCS-CSM_DAP_EXECUTIVE_PROGRAMS.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/RCS-CSM_DAP_EXECUTIVE_PROGRAMS.agc
|
||||
[JET_SELECTION_LOGIC.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/JET_SELECTION_LOGIC.agc
|
||||
[CM_ENTRY_DIGITAL_AUTOPILOT.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/CM_ENTRY_DIGITAL_AUTOPILOT.agc
|
||||
[DOWN-TELEMETRY_PROGRAM.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/DOWN-TELEMETRY_PROGRAM.agc
|
||||
[INTER-BANK_COMMUNICATION.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/INTER-BANK_COMMUNICATION.agc
|
||||
[INTERPRETER.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/INTERPRETER.agc
|
||||
[FIXED_FIXED_CONSTANT_POOL.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/FIXED_FIXED_CONSTANT_POOL.agc
|
||||
[INTERPRETIVE_CONSTANTS.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/INTERPRETIVE_CONSTANTS.agc
|
||||
[SINGLE_PRECISION_SUBROUTINES.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/SINGLE_PRECISION_SUBROUTINES.agc
|
||||
[EXECUTIVE.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/EXECUTIVE.agc
|
||||
[WAITLIST.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/WAITLIST.agc
|
||||
[LATITUDE_LONGITUDE_SUBROUTINES.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/LATITUDE_LONGITUDE_SUBROUTINES.agc
|
||||
[PLANETARY_INERTIAL_ORIENTATION.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/PLANETARY_INERTIAL_ORIENTATION.agc
|
||||
[MEASUREMENT_INCORPORATION.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/MEASUREMENT_INCORPORATION.agc
|
||||
[CONIC_SUBROUTINES.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/CONIC_SUBROUTINES.agc
|
||||
[INTEGRATION_INITIALIZATION.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/INTEGRATION_INITIALIZATION.agc
|
||||
[ORBITAL_INTEGRATION.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/ORBITAL_INTEGRATION.agc
|
||||
[INFLIGHT_ALIGNMENT_ROUTINES.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/INFLIGHT_ALIGNMENT_ROUTINES.agc
|
||||
[POWERED_FLIGHT_SUBROUTINES.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/POWERED_FLIGHT_SUBROUTINES.agc
|
||||
[TIME_OF_FREE_FALL.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/TIME_OF_FREE_FALL.agc
|
||||
[STAR_TABLES.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/STAR_TABLES.agc
|
||||
[AGC_BLOCK_TWO_SELF-CHECK.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/AGC_BLOCK_TWO_SELF-CHECK.agc
|
||||
[PHASE_TABLE_MAINTENANCE.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/PHASE_TABLE_MAINTENANCE.agc
|
||||
[RESTARTS_ROUTINE.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/RESTARTS_ROUTINE.agc
|
||||
[IMU_MODE_SWITCHING_ROUTINES.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/IMU_MODE_SWITCHING_ROUTINES.agc
|
||||
[KEYRUPT_UPRUPT.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/KEYRUPT_UPRUPT.agc
|
||||
[DISPLAY_INTERFACE_ROUTINES.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/DISPLAY_INTERFACE_ROUTINES.agc
|
||||
[SERVICE_ROUTINES.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/SERVICE_ROUTINES.agc
|
||||
[ALARM_AND_ABORT.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/ALARM_AND_ABORT.agc
|
||||
[UPDATE_PROGRAM.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/UPDATE_PROGRAM.agc
|
||||
[RT8_OP_CODES.agc]:https://github.com/chrislgarry/Apollo-11/blob/master/Comanche055/RT8_OP_CODES.agc
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,337 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: RESTARTS_ROUTINE.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055. It
|
||||
# is part of the source code for the Command Module's
|
||||
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 1414-1419
|
||||
# Contact: Ron Burkey <info@sandroid.org>
|
||||
# Website: http://www.ibiblio.org/apollo.
|
||||
# Mod history: 2009-05-07 RSB Adapted from Colossus249 file of the same
|
||||
# name, and page images. Corrected various
|
||||
# typos in the transcription of program
|
||||
# comments, and these should be back-ported
|
||||
# to Colossus249.
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further
|
||||
# information. Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 1414
|
||||
BANK 01
|
||||
SETLOC RESTART
|
||||
BANK
|
||||
|
||||
EBANK= PHSNAME1 # GOPROG MUST SWITCH TO THIS EBANK
|
||||
|
||||
COUNT 01/RSROU
|
||||
|
||||
RESTARTS CA MPAC +5 # GET GROUP NUMBER -1
|
||||
DOUBLE # SAVE FOR INDEXING
|
||||
TS TEMP2G
|
||||
|
||||
CA PHS2CADR # SET UP EXIT IN CASE IT IS AN EVEN
|
||||
TS TEMPSWCH # TABLE PHASE
|
||||
|
||||
CA RTRNCADR # TO SAVE TIME ASSUME IT WILL GET NEXT
|
||||
TS GOLOC +2 # GROUP AFTER THIS
|
||||
|
||||
CA TEMPPHS
|
||||
MASK OCT1400
|
||||
CCS A # IS IT A VARIABLE OR TABLE RESTART
|
||||
TCF ITSAVAR # IT:S A VARIABLE RESTART
|
||||
|
||||
GETPART2 CCS TEMPPHS # IS IT AN X.1 RESTART
|
||||
CCS A
|
||||
TCF ITSATBL # NO, ITS A TABLE RESTART
|
||||
|
||||
CA PRIO14 # IT IS AN X.1 RESTART, THEREFORE START
|
||||
TC FINDVAC # THE DISPLAY RESTART JOB
|
||||
EBANK= LST1
|
||||
2CADR INITDSP
|
||||
|
||||
TC RTRNCADR # FINISHED WITH THIS GROUP, GET NEXT ONE
|
||||
|
||||
ITSAVAR MASK OCT1400 # IS IT TYPE B ?
|
||||
CCS A
|
||||
TCF ITSLIKEB # YES,IT IS TYPE B
|
||||
|
||||
EXTEND # STORE THE JOB (OR TASK) 2CADR FOR EXIT
|
||||
NDX TEMP2G
|
||||
DCA PHSNAME1
|
||||
DXCH GOLOC
|
||||
|
||||
CA TEMPPHS # SEE IF THIS IS A JOB, TASK, OR A LONGCALL
|
||||
MASK OCT7
|
||||
AD MINUS2
|
||||
CCS A
|
||||
TCF ITSLNGCL # ITS A LONGCALL
|
||||
|
||||
# Page 1415
|
||||
RTRNCADR TC SWRETURN # CANT GET HERE
|
||||
TCF ITSAWAIT
|
||||
|
||||
TCF ITSAJOB # ITS A JOB
|
||||
|
||||
ITSAWAIT CA WTLTCADR # SET UP WAITLIST CALL
|
||||
TS GOLOC -1
|
||||
|
||||
NDX TEMP2G # DIRECTLY STORED
|
||||
CA PHSPRDT1
|
||||
TIMETEST CCS A # IS IT AN IMMEDIATE RESTART
|
||||
INCR A # NO.
|
||||
TCF FINDTIME # FIND OUT WHEN IT SHOULD BEGIN
|
||||
|
||||
TCF ITSINDIR # STORED INDIRECTLY
|
||||
|
||||
TCF IMEDIATE # IT WANTS AN IMMEDIATE RESTART
|
||||
|
||||
# ***** THIS MUST BE IN FIXED FIXED *****
|
||||
|
||||
BLOCK 02
|
||||
SETLOC FFTAG2
|
||||
BANK
|
||||
|
||||
COUNT 02/RSROU
|
||||
|
||||
ITSINDIR LXCH GOLOC +1 # GET THE CORRECT E BANK IN CASE THIS IS
|
||||
LXCH BB # SWITCHED ERRASIBLE
|
||||
|
||||
NDX A # GET THE TIME INDIRECTLY
|
||||
CA 1
|
||||
|
||||
LXCH BB # RESTORE THE BB AND GOLOC
|
||||
LXCH GOLOC +1
|
||||
|
||||
TCF FINDTIME # FIND OUT WHEN IT SHOULD BEGIN
|
||||
|
||||
# ***** YOU MAY RETURN TO SWITCHED FIXED *****
|
||||
|
||||
BANK 01
|
||||
SETLOC RESTART
|
||||
BANK
|
||||
|
||||
COUNT 01/RSROU
|
||||
|
||||
FINDTIME COM # MAKE NEGATIVE SINCE IT WILL BE SUBTRACTED
|
||||
TS L # AND SAVE
|
||||
NDX TEMP2G
|
||||
CS TBASE1
|
||||
EXTEND
|
||||
# Page 1416
|
||||
SU TIME1
|
||||
CCS A
|
||||
COM
|
||||
AD OCT37776
|
||||
AD ONE
|
||||
AD L
|
||||
CCS A
|
||||
CA ZERO
|
||||
TCF +2
|
||||
TCF +1
|
||||
IMEDIATE AD ONE
|
||||
TC GOLOC -1
|
||||
ITSLIKEB CA RTRNCADR # TYPE B, SO STORE RETURN IN
|
||||
TS TEMPSWCH # TEMPSWCH IN CASE OF AN EVEN PHASE
|
||||
|
||||
CA PRT2CADR # SET UP EXIT TO GET TABLE PART OF THIS
|
||||
TS GOLOC +2 # VARIABLE TYPE OF PHASE
|
||||
|
||||
CA TEMPPHS # MAKE THE PHASE LOOK RIGHT FOR THE TABLE
|
||||
MASK OCT177 # PART OF THIS VARIABLE PHASE
|
||||
TS TEMPPHS
|
||||
|
||||
EXTEND
|
||||
NDX TEMP2G # OBTAIN THE JOB:S 2CADR
|
||||
DCA PHSNAME1
|
||||
DXCH GOLOC
|
||||
|
||||
ITSAJOB NDX TEMP2G # NOW ADD THE PRIORITY AND LET:S GO
|
||||
CA PHSPRDT1
|
||||
CHKNOVAC TS GOLOC -1 # SAVE PRIO UNTIL WE SEE IF ITS
|
||||
EXTEND # A FINDVAC OR A NOVAC
|
||||
BZMF ITSNOVAC
|
||||
|
||||
CAF FVACCADR # POSITIVE, SET UP FINDVAC CALL.
|
||||
XCH GOLOC -1 # PICK UP PRIO,
|
||||
TC GOLOC -1 # AND GO
|
||||
|
||||
ITSNOVAC CAF NOVACADR # NEGATIVE,
|
||||
XCH GOLOC -1 # SET UP NOVAC CALL,
|
||||
COM # CORRECT PRIO,
|
||||
TC GOLOC -1 # AND GO
|
||||
|
||||
ITSATBL TS CYR # FIND OUT IF THE PHASE IS ODD OR EVEN
|
||||
CCS CYR
|
||||
TCF +1 # IT:S EVEN
|
||||
TCF ITSEVEN
|
||||
|
||||
CA RTRNCADR # IN CASE THIS IS THE SECOND PART OF A
|
||||
TS GOLOC +2 # TYPE B RESTART, WE NEED PROPER EXIT
|
||||
# Page 1417
|
||||
CA TEMPPHS # SET UP POINTER FOR FINDING OUR PLACE IN
|
||||
TS SR # THE RESTART TABLES
|
||||
AD SR
|
||||
NDX TEMP2G
|
||||
AD SIZETAB +1
|
||||
TS POINTER
|
||||
|
||||
CONTBL2 EXTEND # FIND OUT WHAT'S IN THE TABLE
|
||||
NDX POINTER
|
||||
DCA CADRTAB # GET THE 2CADR
|
||||
|
||||
LXCH GOLOC +1 # STORE THE BB INFORMATION
|
||||
|
||||
CCS A # IS IT A JOB OR IT IT TIMED
|
||||
INCR A # POSITIVE, MUST BE A JOB
|
||||
TCF ITSAJOB2
|
||||
|
||||
INCR A # MUST BE EITHER A WAITLIST OR LONGCALL
|
||||
TS GOLOC # LET-S STORE THE CORRECT CADR
|
||||
|
||||
CA WTLTCADR # SET UP OUR EXIT TO WAITLIST
|
||||
TS GOLOC -1
|
||||
|
||||
CA GOLOC +1 # NOW FIND OUT IF IT IS A WAITLIST CALL
|
||||
MASK BIT10 # THIS SHOULD BE ONE IF WE HAVE -BB
|
||||
CCS A # FOR THAT MATTER SO SHOULD BE BITS 9,8,7,
|
||||
# 6,5, AND LAST BUT NOT LEAST (PERHAPS NOT
|
||||
# IN IMPORTANCE ANYWAY. BIT 4
|
||||
TCF ITSWTLST # IT IS A WAITLIST CALL
|
||||
|
||||
NDX POINTER # OBTAIN THE ORIGINAL DELTA T
|
||||
CA PRDTTAB # ADDRESS FOR THIS LONGCALL
|
||||
|
||||
TCF ITSLGCL1 # NOW GO GET THE DELTA TIME
|
||||
|
||||
# ***** THIS MUST BE IN FIXED FIXED *****
|
||||
|
||||
BLOCK 02
|
||||
SETLOC FFTAG2
|
||||
BANK
|
||||
|
||||
COUNT 02/RSROU
|
||||
|
||||
ITSLGCL1 LXCH GOLOC +1 # OBTAIN THE CORRECT E BANK
|
||||
LXCH BB
|
||||
LXCH GOLOC +1 # AND PRESERVE OUR E AND F BANKS
|
||||
|
||||
EXTEND # GET THE DELTA TIME
|
||||
NDX A
|
||||
DCA 0
|
||||
# Page 1418
|
||||
LXCH GOLOC +1 # RESTORE OUR E AND F BANK
|
||||
LXCH BB # RESTORE THE TASKS E AND F BANKS
|
||||
LXCH GOLOC +1 # AND PRESERVE OUR L
|
||||
|
||||
TCF ITSLGCL2 # NOW LET:S PROCESS THIS LONGCALL
|
||||
|
||||
# ***** YOU MAY RETURN TO SWITCHED FIXED *****
|
||||
|
||||
BANK 01
|
||||
SETLOC RESTART
|
||||
BANK
|
||||
|
||||
COUNT 01/RSROU
|
||||
|
||||
ITSLGCL2 DXCH LONGTIME
|
||||
|
||||
EXTEND # CALCULATE TIME LEFT
|
||||
DCS TIME2
|
||||
DAS LONGTIME
|
||||
EXTEND
|
||||
DCA LONGBASE
|
||||
DAS LONGTIME
|
||||
|
||||
CCS LONGTIME # FIND OUT HOW THIS SHOULD BE RESTARTED
|
||||
TCF LONGCLCL
|
||||
TCF +2
|
||||
TCF IMEDIATE -3
|
||||
CCS LONGTIME +1
|
||||
TCF LONGCLCL
|
||||
NOOP # CAN:T GET HERE *********
|
||||
TCF IMEDIATE -3
|
||||
TCF IMEDIATE
|
||||
|
||||
LONGCLCL CA LGCLCADR # WE WILL GO TO LONGCALL
|
||||
TS GOLOC -1
|
||||
|
||||
EXTEND # PREPARE OUR ENTRY TO LONGCALL
|
||||
DCA LONGTIME
|
||||
TC GOLOC -1
|
||||
|
||||
ITSLNGCL CA WTLTCADR # ASSUME IT WILL GO TO WAITLIST
|
||||
TS GOLOC -1
|
||||
|
||||
NDX TEMP2G
|
||||
CS PHSPRDT1 # GET THE DELTA T ADDRESS
|
||||
|
||||
TCF ITSLGCL1 # NOW GET THE DELTA TIME
|
||||
|
||||
ITSWTLST CS GOLOC +1 # CORRECT THE BBCON INFORMATION
|
||||
TS GOLOC +1
|
||||
# Page 1419
|
||||
NDX POINTER # GET THE DT AND FIND OUT IF IT WAS STORED
|
||||
CA PRDTTAB # DIRECTLY OR INDIRECTLY
|
||||
|
||||
TCF TIMETEST # FIND OUT HOW THE TIME IS STORED
|
||||
|
||||
ITSAJOB2 XCH GOLOC # STORE THE CADR
|
||||
|
||||
NDX POINTER # ADD THE PRIORITY AND LET:S GO
|
||||
CA PRDTTAB
|
||||
|
||||
TCF CHKNOVAC
|
||||
|
||||
ITSEVEN CA TEMPSWCH # SET UP FOR EITHER THE SECOND PART OF THE
|
||||
TS GOLOC +2 # TABLE, OR A RETURN FOR THE NEXT GROUP
|
||||
|
||||
NDX TEMP2G # SET UP POINTER FOR OUR LOCATION WITHIN
|
||||
CA SIZETAB # THE TABLE
|
||||
AD TEMPPHS # THIS MAY LOOK BAD BUT LET:S SEE YOU DO
|
||||
AD TEMPPHS # BETTER IN TIME OR NUMBER OF LOCATIONS
|
||||
AD TEMPPHS
|
||||
TS POINTER
|
||||
|
||||
TCF CONTBL2 # NOW PROCESS WHAT IS IN THE TABLE
|
||||
|
||||
PHSPART2 CA THREE # SET THE POINTER FOR THE SECOND HALF OF
|
||||
ADS POINTER # THE TABLE
|
||||
|
||||
CA RTRNCADR # THIS WILL BE OUR LAST TIME THROUGH THE
|
||||
TS GOLOC +2 # EVEN TABLE , SO AFTER IT GET THE NEXT
|
||||
# GROUP
|
||||
TCF CONTBL2 # SO LET:S GET THE SECOND ENTRY IN THE TBL
|
||||
|
||||
TEMPPHS EQUALS MPAC
|
||||
TEMP2G EQUALS MPAC +1
|
||||
POINTER EQUALS MPAC +2
|
||||
TEMPSWCH EQUALS MPAC +3
|
||||
GOLOC EQUALS VAC5 +20D
|
||||
MINUS2 EQUALS NEG2
|
||||
OCT177 EQUALS LOW7
|
||||
|
||||
PHS2CADR GENADR PHSPART2
|
||||
PRT2CADR GENADR GETPART2
|
||||
LGCLCADR GENADR LONGCALL
|
||||
FVACCADR GENADR FINDVAC
|
||||
WTLTCADR GENADR WAITLIST
|
||||
NOVACADR GENADR NOVAC
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,549 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: RESTART_TABLES.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055. It
|
||||
# is part of the source code for the Command Module's
|
||||
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 211-221
|
||||
# Contact: Ron Burkey <info@sandroid.org>,
|
||||
# Fabrizio Bernardini <fabrizio@spacecraft.it>
|
||||
# Website: http://www.ibiblio.org/apollo.
|
||||
# Mod history: 2009-05-16 FB Transcription Batch 2 Assignment.
|
||||
# 2009-05-20 RSB Added a missing comment mark. Corrected mismarked
|
||||
# Page 217 -> 220.
|
||||
# 2009-05-21 RSB Fixed value of 5.21SPOT.
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further
|
||||
# information. Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 211
|
||||
# RESTART TABLES
|
||||
# --------------
|
||||
#
|
||||
# THERE ARE TWO FORMS OF RESTART TABLES FOR EACH GROUP. THEY ARE KNOWN AS THE EVEN RESTART TABLES AND THE ODD
|
||||
# RESTART TABLES. THE ODD TABLES HAVE ONLY ONE ENTRY OF THREE LOCATIONS WHILE THE EVEN TABLES HAVE TWO ENTRIES
|
||||
# EACH USING THREE LOCATIONS. THE INFORMATION AS TO WHETHER IT IS A JOB, WAITLIST, OR A LONGCALL IS GIVEN BY THE
|
||||
# WAY THINGS ARE PUT INTO THE TABLES.
|
||||
#
|
||||
# A JOB HAS ITS PRIORITY STORED IN PRDTTAB OF THE CORRECT PHASE SPOT - A POSITIVE PRIORITY INDICATES A
|
||||
# FINDVAC JOB, A NEGATIVE PRIORITY A NOVAC. THE 2CADR OF THE JOB IS STORED IN THE CADRTAB.
|
||||
# FOR EXAMPLE,
|
||||
#
|
||||
# 5.7SPOT OCT 23000
|
||||
# 2CADR SOMEJOB
|
||||
#
|
||||
# A RESTART OF GROUP 5 WITH PHASE SEVEN WOULD THEN CAUSE SOMEJOB TO BE RESTARTED AS A FINDVAC WITH PRIORITY 23.
|
||||
#
|
||||
# 5.5SPOT OCT -23000
|
||||
# 2CADR ANYJOB
|
||||
#
|
||||
# HERE A RESTART OF GROUP 5 WITH PHASE 7 WOULD CAUSE ANYJOB TO BE RESTARTED AS A NOVAC WITH PRIORITY 23.
|
||||
# A LONGCALL HAS ITS GENADR OF ITS 2CADR STORED NEGATIVELY AND ITS BBCON STORED POSITIVELY. IN ITS PRDTTAB IS
|
||||
# PLACED THE LOCATION OF A DP REGISTER THAT CONTAINS THE DELTA TIME THAT LONGCALL HAD BEEN ORIGINALLY STARTED
|
||||
# WITH. EXAMPLE,
|
||||
#
|
||||
# 3.6SPOT GENADR DELTAT
|
||||
# -GENADR LONGTASK
|
||||
# BBCON LONGTASK
|
||||
|
||||
# OCT 31000
|
||||
# 2CADR JOBAGAIN
|
||||
#
|
||||
# THIS WOULD START UP LONGTASK AT THE APPROPRIATE TIME, OR IMMEDIATELY IF THE TIME HAD ALREADY PASSED. IT SHOULD
|
||||
# BE NOTED THAT IF DELTAT IS IN A SWITCHED E BANK, THIS INFORMATION SHOULD BE IN THE BBCON OF THE 2CADR OF THE
|
||||
# TASK. FROM ABOVE, WE SEE THAT THE SECOND PART OF THIS PHASE WOULD BE STARTED AS A JOB WITH A PRIORITY OF 31.
|
||||
#
|
||||
# WAITLIST CALLS ARE IDENTIFIED BY THE FACT THAT THEIR 2CADR IS STORED NEGATIVELY. IF PRDTTAB OF THE PHASE SPOT
|
||||
# IS POSITIVE, THEN IT CONTAINS THE DELTA TIME, IF PRDTTAB IS NEGATIVE THEN IT IS THE -GENADR OF AN ERASABLE
|
||||
# LOCATION CONTAINING THE DELTA TIME, THAT IS, THE TIME IS STORED INDIRECTLY. IT SHOULD BE NOTED AS ABOVE, THAT
|
||||
# IF THE TIME IS STORED INDIRECTLY, THE BBCON MUST CONTAIN THE NECESSARY E BANK INFORMATION IF APPLICABLE. WITH
|
||||
# WAITLIST WE HAVE ONE FURTHER OPTION, IF -0 IS STORED IN PRDTTAB, IT WILL CAUSE AN IMMEDIATE RESTART OF THE
|
||||
# TASK. EXAMPLES,
|
||||
#
|
||||
# OCT 77777 # THIS WILL CAUSE AN IMMEDIATE RESTART
|
||||
# -2CADR ATASK # OF THE TASK :ATASK:
|
||||
#
|
||||
# DEC 200 # IF THE TIME OF THE 2 SECONDS SINCE DUMMY
|
||||
# -2CADR DUMMY # WAS PUT ON THE WAITLIST IS UP, IT WILL BEGIN
|
||||
# # IN 10 MS, OTHERWISE IT WILL BEGIN WHEN
|
||||
# # IT NORMALLY WOULD HAVE BEGUN.
|
||||
# Page 212
|
||||
# -GENADR DTIME # WHERE DTIME CONTAINS THE DELTA TIME
|
||||
# -2CADR TASKTASK # OTHERWISE THIS IS AS ABOVE
|
||||
#
|
||||
# ***** NOW THE TABLES THEMSELVES *****
|
||||
|
||||
BANK 01
|
||||
SETLOC RESTART
|
||||
BANK
|
||||
|
||||
COUNT 01/RSTAB
|
||||
|
||||
PRDTTAB EQUALS 12000 # USED TO FIND THE PRIORITY OR DELTATIME
|
||||
CADRTAB EQUALS 12001 # THIS AND THE NEXT RELATIVE LOC CONTAIN
|
||||
# RESTART 2CADR
|
||||
|
||||
SIZETAB TC 1.2SPOT -12006
|
||||
TC 1.3SPOT -12004
|
||||
TC 2.2SPOT -12006
|
||||
TC 2.3SPOT -12004
|
||||
TC 3.2SPOT -12006
|
||||
TC 3.3SPOT -12004
|
||||
TC 4.2SPOT -12006
|
||||
TC 4.3SPOT -12004
|
||||
TC 5.2SPOT -12006
|
||||
TC 5.3SPOT -12004
|
||||
TC 6.2SPOT -12006
|
||||
TC 6.3SPOT -12004
|
||||
1.2SPOT EQUALS 3.2SPOT
|
||||
|
||||
# ANY MORE GROUP 1.EVEN RESTART VALUES SHOULD GO HERE
|
||||
|
||||
1.3SPOT DEC 120 # THIS NUMBER MUST BE EQUAL C(JTAGTIME)
|
||||
EBANK= AOG
|
||||
-2CADR SETJTAG
|
||||
|
||||
1.5SPOT OCT 10000
|
||||
EBANK= DAPDATR1
|
||||
2CADR REDO40.9
|
||||
|
||||
1.7SPOT OCT 10000
|
||||
EBANK= ESTROKER
|
||||
2CADR RELINUS
|
||||
|
||||
1.11SPOT OCT 10000
|
||||
EBANK= ESTROKER
|
||||
2CADR PIKUP20
|
||||
|
||||
# ANY MORE GROUP 1.ODD RESTART VALUES SHOULD GO HERE
|
||||
|
||||
2.2SPOT EQUALS 1.2SPOT
|
||||
|
||||
# ANY MORE GROUP 2.EVEN RESTART VALUES SHOULD GO HERE
|
||||
# Page 213
|
||||
|
||||
2.3SPOT GENADR 600SECS
|
||||
-GENADR STATEINT
|
||||
EBANK= RRECTCSM
|
||||
BBCON STATEINT
|
||||
|
||||
2.5SPOT OCT 05000
|
||||
EBANK= RRECTCSM
|
||||
2CADR STATINT1
|
||||
|
||||
2.7SPOT OCT 10000
|
||||
EBANK= MRKBUF2
|
||||
2CADR R22
|
||||
|
||||
2.11SPOT OCT 14000
|
||||
EBANK= LANDMARK
|
||||
2CADR V94ENTER
|
||||
|
||||
2.13SPOT OCT 10000
|
||||
EBANK= MRKBUF2
|
||||
2CADR REDOR22
|
||||
|
||||
# ANY MORE GROUP 2.ODD RESTART VALUES SHOULD GO HERE
|
||||
|
||||
3.2SPOT EQUALS 4.2SPOT
|
||||
|
||||
# ANY MORE GROUP 3.EVEN RESTART VALUES SHOULD GO HERE
|
||||
|
||||
3.3SPOT OCT 20000
|
||||
EBANK= TGO
|
||||
2CADR S40.13
|
||||
|
||||
3.5SPOT DEC 0
|
||||
DEC 0
|
||||
DEC 0
|
||||
3.7SPOT OCT 22000
|
||||
EBANK= TEPHEM
|
||||
2CADR MATRXJOB
|
||||
|
||||
3.11SPOT OCT 22000
|
||||
EBANK= TEPHEM
|
||||
2CADR REP11
|
||||
|
||||
3.13SPOT OCT 22000
|
||||
EBANK= TEPHEM
|
||||
2CADR REP11A
|
||||
|
||||
3.15SPOT -GENADR TGO +1
|
||||
EBANK= TGO
|
||||
-2CADR ENGINOFF
|
||||
|
||||
# Page 214
|
||||
# ANY MORE GROUP 3.ODD RESTART VALUES SHOULD GO HERE
|
||||
|
||||
4.2SPOT OCT 77777
|
||||
EBANK= TIG
|
||||
-2CADR PRECHECK
|
||||
|
||||
OCT 30000
|
||||
EBANK= DELVIMU
|
||||
2CADR P47BODY
|
||||
|
||||
4.4SPOT OCT 77777
|
||||
EBANK= TIG
|
||||
-2CADR PRECHECK
|
||||
|
||||
DEC 2996
|
||||
EBANK= DAPDATR1
|
||||
-2CADR TTG/0
|
||||
|
||||
4.6SPOT OCT 77777
|
||||
EBANK= TIG
|
||||
-2CADR PRECHECK
|
||||
|
||||
DEC 2496
|
||||
EBANK= TIG
|
||||
-2CADR TIG-5
|
||||
|
||||
# ANY MORE GROUP 4.EVEN RESTART VALUES SHOULD GO HERE
|
||||
|
||||
4.3SPOT DEC 40
|
||||
EBANK= PACTOFF
|
||||
-2CADR DOTVCON
|
||||
|
||||
4.5SPOT DEC 160
|
||||
EBANK= PACTOFF
|
||||
-2CADR DOSTRULL
|
||||
|
||||
4.7SPOT DEC 500
|
||||
EBANK= PACTOFF
|
||||
-2CADR TIG-0
|
||||
|
||||
4.11SPOT DEC 250
|
||||
EBANK= DAPDATR1
|
||||
-2CADR V97E40.6
|
||||
|
||||
4.13SPOT DEC 200
|
||||
EBANK= WHOCARES
|
||||
-2CADR R40ENABL
|
||||
|
||||
4.15SPOT OCT 16000 # PRELAUNCH OPTICAL VERIFICATION
|
||||
EBANK= OGC
|
||||
# Page 215
|
||||
2CADR COMPVER # CALLS FOR OPTICS DATA AGAIN (STD LEADIN)
|
||||
|
||||
4.17SPOT OCT 16000 # PRELAUNCH AZIMUTH CHANGE
|
||||
EBANK= XSM
|
||||
2CADR AZMTHCG1
|
||||
|
||||
4.21SPOT GENADR P40TMP # DELTA TIME USED IN SETTING UP
|
||||
-GENADR TIGBLNK # LONG CALL OF TIGBLNK BY P40,P41
|
||||
EBANK= P40TMP
|
||||
BBCON TIGBLNK
|
||||
4.23SPOT OCT 12000 # PROTECT P40S/SV BY P40 P41
|
||||
EBANK= TIG
|
||||
2CADR P40S/SV
|
||||
|
||||
4.25SPOT OCT 24000
|
||||
EBANK= BESTI
|
||||
2CADR PROG52
|
||||
|
||||
4.27SPOT DEC 250
|
||||
EBANK= PACTOFF
|
||||
-2CADR DOTVCRCS
|
||||
|
||||
4.31SPOT OCT 13000
|
||||
EBANK= STAR
|
||||
2CADR R51 +1
|
||||
|
||||
4.33SPOT DEC 2100 # PROTECT CONTINUING JOB TO START P63
|
||||
EBANK= AOG
|
||||
-2CADR WAKEP62
|
||||
|
||||
4.35SPOT OCT 12000
|
||||
EBANK= DAPDATR1
|
||||
2CADR POSTBURN
|
||||
|
||||
4.37SPOT DEC 500
|
||||
EBANK= TIG
|
||||
-2CADR TIGAVEG
|
||||
|
||||
4.41SPOT OCT 17000 # PROTECT DISPLAY JOB IN P67
|
||||
EBANK= AOG
|
||||
2CADR P67.1
|
||||
|
||||
4.43SPOT -GENADR S61DT # PROTECT TASK TO START PREREAD,ENTRY
|
||||
EBANK= S61DT # S61.1C WILL CHANGE EBANK=EB7 FOR PREREAD
|
||||
-2CADR S61.1C
|
||||
|
||||
4.45SPOT OCT 13000 # PROTECT CONTINUING JOB S61.1
|
||||
EBANK= AOG # (ENTRY IMU ALIGNMENT)
|
||||
# Page 216
|
||||
2CADR S61.1A -1
|
||||
|
||||
4.47SPOT OCT 17000 # PROTECT HUNTEST ITERATION.
|
||||
EBANK= AOG
|
||||
2CADR PRE-HUNT
|
||||
|
||||
4.51SPOT OCT 77777 # PROTECT FDAI ATTITUDE
|
||||
EBANK= BODY3 # ERROR DISPLAY IN P11
|
||||
-2CADR ATERTASK
|
||||
|
||||
4.53SPOT DEC -0
|
||||
EBANK= END-E7 # EBANK7 FOR TIG
|
||||
-2CADR V97ETASK
|
||||
|
||||
4.55SPOT OCT 13000 # PROTECT P65 RESPONSIVE DISPLAY.
|
||||
EBANK= RTINIT
|
||||
2CADR P65.1
|
||||
|
||||
4.57SPOT -GENADR P40TMP
|
||||
EBANK= P40TMP
|
||||
-2CADR TIGON
|
||||
|
||||
4.61SPOT OCT 77777
|
||||
EBANK= PACTOFF
|
||||
-2CADR IGNITION
|
||||
|
||||
4.63SPOT OCT 77777
|
||||
EBANK= PACTOFF
|
||||
-2CADR DOSPSOFF
|
||||
|
||||
4.65SPOT DEC 10
|
||||
EBANK= TIG
|
||||
-2CADR TIG-5
|
||||
|
||||
4.67SPOT DEC -0
|
||||
EBANK= CSMMASS
|
||||
-2CADR V97TTASK
|
||||
|
||||
4.71SPOT DEC 250
|
||||
EBANK= DAPDATR1 # (FOR RCSDAPON)
|
||||
-2CADR V97TRCS
|
||||
|
||||
4.73SPOT DEC -0
|
||||
EBANK= V97VCNTR
|
||||
-2CADR V97PTASK
|
||||
|
||||
4.75SPOT DEC -0
|
||||
EBANK= DAPDATR1
|
||||
-2CADR SPSOFF97
|
||||
|
||||
# Page 217
|
||||
4.77SPOT DEC -0
|
||||
EBANK= PACTOFF
|
||||
-2CADR TIG-0
|
||||
|
||||
# ANY MORE GROUP 4.ODD RESTART VALUES SHOULD GO HERE
|
||||
|
||||
5.2SPOT OCT 32000
|
||||
EBANK= DVCNTR
|
||||
2CADR NORMLIZE
|
||||
|
||||
DEC 200
|
||||
EBANK= AOG
|
||||
-2CADR REREADAC
|
||||
|
||||
5.4SPOT OCT 20000
|
||||
EBANK= DVCNTR
|
||||
2CADR SERVICER
|
||||
|
||||
DEC 200
|
||||
EBANK= AOG
|
||||
-2CADR REREADAC
|
||||
|
||||
# ANY MORE GROUP 5.EVEN RESTART VALUES SHOULD GO HERE
|
||||
|
||||
5.3SPOT DEC 200
|
||||
EBANK= AOG
|
||||
-2CADR REREADAC
|
||||
|
||||
5.5SPOT OCT 77777
|
||||
EBANK= AOG
|
||||
-2CADR REDO5.5
|
||||
|
||||
5.7SPOT OCT 20000 # USED BY PRELAUNCH
|
||||
EBANK= XSM
|
||||
2CADR RSTGTS1
|
||||
|
||||
5.11SPOT OCT 77777
|
||||
EBANK= XSM
|
||||
-2CADR ALLOOP1
|
||||
|
||||
5.13SPOT OCT 20000
|
||||
EBANK= XSM
|
||||
2CADR WTLISTNT
|
||||
|
||||
5.15SPOT OCT 20000
|
||||
EBANK= XSM
|
||||
2CADR RESTEST1
|
||||
|
||||
5.17SPOT OCT 20000
|
||||
EBANK= XSM
|
||||
# Page 218
|
||||
2CADR GEOSTRT4
|
||||
|
||||
5.21SPOT OCT 22000
|
||||
EBANK= XSM
|
||||
2CADR ALFLT1
|
||||
|
||||
5.23SPOT OCT 77777
|
||||
EBANK= XSM
|
||||
-2CADR SPECSTS
|
||||
|
||||
5.25SPOT OCT 20000
|
||||
EBANK= XSM
|
||||
2CADR RESTEST3
|
||||
|
||||
5.27SPOT OCT 20000
|
||||
EBANK= XSM
|
||||
2CADR RESTAIER
|
||||
|
||||
5.31SPOT DEC 0
|
||||
DEC 0
|
||||
DEC 0
|
||||
5.33SPOT OCT 20000
|
||||
EBANK= XSM
|
||||
2CADR RESCHNG
|
||||
|
||||
5.35SPOT DEC 0
|
||||
2DEC 0
|
||||
|
||||
5.37SPOT OCT 77777
|
||||
EBANK= AOG
|
||||
-2CADR CHEKAVEG
|
||||
|
||||
5.41SPOT OCT 77777 # TO PROTECT PREREAD AT TIG-30A
|
||||
EBANK= DVCNTR # TIG-15 T+60
|
||||
-2CADR PREREAD
|
||||
|
||||
# ANY MORE GROUP 5.ODD RESTART VALUES SHOULD GO HERE
|
||||
|
||||
6.2SPOT OCT 77777 # USED BY P40 AFTER GIMB DR TST TO REPOS'N
|
||||
EBANK= AK # ENGINE UNTIL TVCDAPON
|
||||
-2CADR PRE40.6
|
||||
|
||||
DEC 100
|
||||
EBANK= TTOGO
|
||||
-2CADR CLOKTASK
|
||||
|
||||
# ANY MORE 6.ODD RESTART VALUES SHOULD GO HERE
|
||||
# Page 219
|
||||
|
||||
6.3SPOT DEC 100
|
||||
EBANK= TIG
|
||||
-2CADR CLOKTASK
|
||||
|
||||
6.5SPOT OCT 30000 # PROTECT INCREMENTING OF TIME2,TIME1 BY
|
||||
EBANK= TEPHEM # P27(UPDATE PROGRAM)
|
||||
2CADR TIMEDIDR
|
||||
|
||||
6.7SPOT OCT 0
|
||||
OCT 0
|
||||
OCT 0
|
||||
|
||||
6.11SPOT -GENADR CM/GYMDT # PROTECT TASK TO READ CDUS.
|
||||
EBANK= CM/GYMDT # FOR ENTRY DAP
|
||||
-2CADR READGYMB
|
||||
|
||||
6.13SPOT DEC 0
|
||||
DEC 0
|
||||
DEC 0
|
||||
|
||||
# Page 220
|
||||
# PROGRAM DESCRIPTION: NEWPHASE DATE: 11 NOV 1966
|
||||
# MOD: 1 ASSEMBLY: SUNBURST REV
|
||||
# MOD BY: COPPS LOG SECTION: PHASE TABLE MAINTENANCE
|
||||
# FUNCTIONAL DESCRIPTION:
|
||||
#
|
||||
# NEWPHASE IS THE QUICK WAY TO MAKE A NON VARIABLE PHASE CHANGE. IT INCLUDES THE OPTION OF SETTING
|
||||
# TBASE OF THE GROUP. IF TBASE IS TO BE SET, -C(TIME1) IS STORED IN THE TBASE TABLE AS FOLLOWS:
|
||||
#
|
||||
# (L-1) TBASE0
|
||||
# (L) TBASE1 (IF GROUP=1)
|
||||
# (L+1)
|
||||
# (L+2) TBASE2 (IF GROUP=2)
|
||||
# -----
|
||||
# (L+6) TBASE4 (IF GROUP=4)
|
||||
# (L+7)
|
||||
# (L+8) TBASE5 (IF GROUP=5)
|
||||
#
|
||||
# IN ANY CASE, THE NEGATIVE OF THE PHASE, FOLLOWED (IN THE NEXT REGISTER) BY THE PHASE, IS STORED IN THE
|
||||
# PHASE TABLE AS FOLLOWS:
|
||||
#
|
||||
# (L) -PHASE1 (IF GROUP=1)
|
||||
# (L+1) PHASE1
|
||||
# (L+2) -PHASE2 (IF GROUP=2)
|
||||
# (L+3) PHASE2
|
||||
# -----
|
||||
# (L+7) PHASE4
|
||||
# (L+8) -PHASE5 (IF GROUP=5)
|
||||
# (L+9) PHASE5
|
||||
#
|
||||
# CALLING SEQUENCE:
|
||||
# EXAMPLE IS FOR PLACING A PHASE OF FIVE INTO GROUP THREE:
|
||||
#
|
||||
# 1) IF TBASE IS NOT TO BE SET:
|
||||
# L-1 CA FIVE
|
||||
# L TC NEWPHASE
|
||||
# L+1 OCT 00003
|
||||
#
|
||||
# 2) IF TBASE IS TO BE SET:
|
||||
# L-1 CS FIVE
|
||||
# L TC NEWPHASE
|
||||
# L+1 OCT 00003
|
||||
#
|
||||
# SUBROUTINES CALLED: NONE
|
||||
#
|
||||
# NORMAL EXIT MODE: AT L+2 OF CALLING SEQUENCE
|
||||
#
|
||||
# ALARM OR ABORT EXITS: NONE
|
||||
#
|
||||
# OUTPUT: PHASE TABLE AND TBASE TABLE UPDATED
|
||||
#
|
||||
# ERASABLE INITIALIZATION REQ'D: NONE
|
||||
# Page 221
|
||||
# DEBRIS: A,L,TEMPG
|
||||
|
||||
# ***WARNING*** THIS PROGRAM IS TO BE PLACED IN FIXED-FIXED AND UNSWITCHED ERASABLE.
|
||||
|
||||
BLOCK 02
|
||||
SETLOC FFTAG1
|
||||
BANK
|
||||
|
||||
COUNT* $$/PHASE
|
||||
|
||||
NEWPHASE INHINT
|
||||
|
||||
TS L # SAVE FOR FURTHER USE
|
||||
NDX Q # OBTAIN THE GROUP NUMBER
|
||||
CA 0
|
||||
INCR Q # OBTAIN THE RETURN ADDRESS
|
||||
DOUBLE # SAVE THE GROUP IN A FORM USED FOR
|
||||
TS TEMPG # INDEXING
|
||||
|
||||
CCS L # SEE IF WE ARE TO SET TBASE
|
||||
TCF +7 # NO, THE DELTA T WAS POSITIVE
|
||||
TCF +6
|
||||
|
||||
NUFAZ+10 INCR A # SET TBASE AND STORE PHASE CORRECTLY
|
||||
TS L
|
||||
CS TIME1 # SET TBASE
|
||||
NDX TEMPG
|
||||
TS TBASE1 -2
|
||||
CS L # NOW PUT THE PHASE IN THE RIGHT TABLE LOC
|
||||
NDX TEMPG
|
||||
DXCH -PHASE1 -2
|
||||
RELINT
|
||||
TC Q # NOW RETURN TO CALLER
|
||||
|
||||
|
||||
|
|
@ -1,358 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: RT8_OP_CODES.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055. It
|
||||
# is part of the source code for the Command Module's
|
||||
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 1508-1516
|
||||
# Contact: Ron Burkey <info@sandroid.org>
|
||||
# Website: http://www.ibiblio.org/apollo.
|
||||
# Mod history: 2009-05-07 RSB Adapted from Colossus249/RT8_OP_CODES.agc
|
||||
# and page images.
|
||||
# 2009-05-07 RSB Oops! Left out the entire last page before.
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further
|
||||
# information. Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 1508
|
||||
BANK 22
|
||||
SETLOC RTBCODES
|
||||
BANK
|
||||
|
||||
EBANK= XNB
|
||||
COUNT* $$/RTB
|
||||
|
||||
# LOAD TIME2, TIME1 INTO MPAC:
|
||||
|
||||
LOADTIME EXTEND
|
||||
DCA TIME2
|
||||
TCF SLOAD2
|
||||
|
||||
# CONVERT THE SINGLE PRECISION 2'S COMPLEMENT NUMBER ARRIVING IN MPAC (SCALED IN HALF-REVOLUTIONS) TO A
|
||||
# DP 1'S COMPLEMENT NUMBER SCALED IN REVOLUTIONS.
|
||||
|
||||
CDULOGIC CCS MPAC
|
||||
CAF ZERO
|
||||
TCF +3
|
||||
NOOP
|
||||
CS HALF
|
||||
|
||||
TS MPAC +1
|
||||
CAF ZERO
|
||||
XCH MPAC
|
||||
EXTEND
|
||||
MP HALF
|
||||
DAS MPAC
|
||||
TCF DANZIG # MODE IS ALREADY AT DOUBLE-PRECISION
|
||||
|
||||
# READ THE PIPS INTO MPAC WITHOUT CHANGING THEM:
|
||||
|
||||
READPIPS INHINT
|
||||
CA PIPAX
|
||||
TS MPAC
|
||||
CA PIPAY
|
||||
TS MPAC +3
|
||||
CA PIPAZ
|
||||
RELINT
|
||||
TS MPAC +5
|
||||
|
||||
CAF ZERO
|
||||
TS MPAC +1
|
||||
TS MPAC +4
|
||||
TS MPAC +6
|
||||
|
||||
VECMODE TCF VMODE
|
||||
|
||||
# FORCE TP SIGN AGREEMENT IN MPAC:
|
||||
|
||||
SGNAGREE TC TPAGREE
|
||||
|
||||
# Page 1509
|
||||
|
||||
TCF DANZIG
|
||||
|
||||
# CONVERT THE DP 1'S COMPLEMENT ANGLE SCALED IN REVOLUTIONS TO A SINGLE PRECISION 2'S COMPLEMENT ANGLE
|
||||
# SCALED IN HALF-REVOLUTIONS.
|
||||
|
||||
1STO2S TC 1TO2SUB
|
||||
CAF ZERO
|
||||
TS MPAC +1
|
||||
TCF NEWMODE
|
||||
|
||||
# DO 1STO2S ON A VECTOR OF ANGLES:
|
||||
|
||||
V1STO2S TC 1TO2SUB # ANSWER ARRIVES IN A AND MPAC.
|
||||
|
||||
DXCH MPAC +5
|
||||
DXCH MPAC
|
||||
TC 1TO2SUB
|
||||
TS MPAC +2
|
||||
|
||||
DXCH MPAC +3
|
||||
DXCH MPAC
|
||||
TC 1TO2SUB
|
||||
TS MPAC +1
|
||||
|
||||
CA MPAC +5
|
||||
TS MPAC
|
||||
|
||||
TPMODE CAF ONE # MODE IS TP.
|
||||
TCF NEWMODE
|
||||
|
||||
# V1STO2S FOR 2 COMPONENT VECTOR. USED BY RR.
|
||||
|
||||
2V1STO2S TC 1TO2SUB
|
||||
DXCH MPAC +3
|
||||
DXCH MPAC
|
||||
TC 1TO2SUB
|
||||
TS L
|
||||
CA MPAC +3
|
||||
TCF SLOAD2
|
||||
|
||||
# SUBROUTINE TO DO DOUBLING AND 1'S TO 2'S CONVERSION:
|
||||
|
||||
1TO2SUB DXCH MPAC # FINAL MPAC +1 UNSPECIFIED.
|
||||
DDOUBL
|
||||
CCS A
|
||||
AD ONE
|
||||
TCF +2
|
||||
COM # THIS WAS REVERSE OF MSU.
|
||||
|
||||
TS MPAC # AND SKIP ON OVERFLOW.
|
||||
# Page 1510
|
||||
TC Q
|
||||
|
||||
INDEX A # OVERFLOW UNCORRECT AND IN MSU.
|
||||
CAF LIMITS
|
||||
ADS MPAC
|
||||
TC Q
|
||||
|
||||
# Page 1511
|
||||
# SUBROUTINE TO INCREMENT CDUS
|
||||
|
||||
INCRCDUS CAF LOCTHETA
|
||||
TS BUF # PLACE ADRES(THETA) IN BUF.
|
||||
CAE MPAC # INCREMENT IN 1S COMPL.
|
||||
TC CDUINC
|
||||
|
||||
INCR BUF
|
||||
CAE MPAC +3
|
||||
TC CDUINC
|
||||
|
||||
INCR BUF
|
||||
CAE MPAC +5
|
||||
TC CDUINC
|
||||
|
||||
TCF VECMODE
|
||||
|
||||
LOCTHETA ADRES THETAD
|
||||
|
||||
# THE FOLLOWING ROUTINE INCREMENTS IN 2S COMPLEMENT THE REGISTER WHOSE ADDRESS IS IN BUF BY THE 1S COMPL.
|
||||
# QUANTITY FOUND IN TEM2. THIS MAY BE USED TO INCREMENT DESIRED IMU AND OPTICS CDU ANGLES OR ANY OTHER 2S COMPL.
|
||||
# (+0 UNEQUAL TO -0) QUANTITY. MAY BE CALLED BY BANKCALL/SWCALL.
|
||||
|
||||
CDUINC TS TEM2 # 1S COMPL.QUANT. ARRIVES IN ACC. STORE IT
|
||||
INDEX BUF
|
||||
CCS 0 # CHANGE 2S COMPLE. ANGLE(IN BUF) INTO 1S
|
||||
AD ONE
|
||||
TCF +4
|
||||
AD ONE
|
||||
AD ONE # OVEFLOW HERE IF 2S COMPL. IS 180 DEG.
|
||||
COM
|
||||
|
||||
AD TEM2 # SULT MOVES FROM 2ND TO 3D QUAD.(OR BACK)
|
||||
CCS A # BACK TO 2S COMPL.
|
||||
AD ONE
|
||||
TCF +2
|
||||
COM
|
||||
TS TEM2 # STORE 14BIT QUANTITY WITH PRESENT SIGN
|
||||
TCF +4
|
||||
INDEX A # SIGN.
|
||||
CAF LIMITS # FIX IT,BY ADDING IN 37777 OR 40000
|
||||
AD TEM2
|
||||
|
||||
INDEX BUF
|
||||
TS 0 # STORE NEW ANGLE IN 2S COMPLEMENT.
|
||||
TC Q
|
||||
|
||||
# Page 1512
|
||||
# RTB TO TORQUE GYROS, EXCEPT FOR THE CALL TO IMUSTALL. ECADR OF COMMANDS ARRIVES IN X1.
|
||||
|
||||
PULSEIMU INDEX FIXLOC # ADDRESS OF GYRO COMMANDS SHOULD BE IN X1
|
||||
CA X1
|
||||
TC BANKCALL
|
||||
CADR IMUPULSE
|
||||
TCF DANZIG
|
||||
|
||||
# Page 1513
|
||||
# EACH ROUTINE TAKES A 3X3 MATRIX STORED IN DOUBLE PRECISION IN A FIXED AREA OF ERASABLE MEMORY AND REPLACES IT
|
||||
# WITH THE TRANSPOSE MATRIX. TRANSP1 USES LOCATIONS XNB+0,+1 THROUGH XNB+16D, 17D AND TRANSP2 USES LOCATIONS
|
||||
# XNB1+0,+1 THROUGH XNB1+16D, 17D. EACH MATRIX IS STORED BY ROWS.
|
||||
|
||||
XNBEB ECADR XNB
|
||||
XNB1EB ECADR XNB1
|
||||
|
||||
EBANK= XNB
|
||||
|
||||
TRANSP1 CAF XNBEB
|
||||
TS EBANK
|
||||
DXCH XNB +2
|
||||
DXCH XNB +6
|
||||
DXCH XNB +2
|
||||
|
||||
DXCH XNB +4
|
||||
DXCH XNB +12D
|
||||
DXCH XNB +4
|
||||
|
||||
DXCH XNB +10D
|
||||
DXCH XNB +14D
|
||||
DXCH XNB +10D
|
||||
TCF DANZIG
|
||||
|
||||
|
||||
EBANK= XNB1
|
||||
|
||||
TRANSP2 CAF XNB1EB
|
||||
TS EBANK
|
||||
DXCH XNB1 +2
|
||||
DXCH XNB1 +6
|
||||
DXCH XNB1 +2
|
||||
|
||||
DXCH XNB1 +4
|
||||
DXCH XNB1 +12D
|
||||
DXCH XNB1 +4
|
||||
|
||||
DXCH XNB1 +10D
|
||||
DXCH XNB1 +14D
|
||||
DXCH XNB1 +10D
|
||||
TCF DANZIG
|
||||
|
||||
# Page 1514
|
||||
# THE SUBROUTINE SIGNMPAC SETS C(MPAC, MPAC +1) TO SIGN(MPAC).
|
||||
# FOR THIS, ONLY THE CONTENTS OF MPAC ARE EXAMINED. ALSO +0 YIELDS POSMAX AND -0 YIELDS NEGMAX.
|
||||
#
|
||||
# ENTRY MAY BE BY EITHER OF THE FOLLOWING:
|
||||
# 1. LIMIT THE SIZE OF MPAC ON INTERPRETIVE OVERFLOW:
|
||||
# ENTRY: BOVB
|
||||
# SIGNMPAC
|
||||
# 2. GENERATE IN MPAC THE SIGNUM FUNCTION OF MPAC:
|
||||
# ENTRY: RTB
|
||||
# SIGNMPAC
|
||||
# IN EITHER CASE, RETURN IS TO TEH NEXT INTERPRETIVE INSTRUCTION IN THE CALLING SEQUENCE.
|
||||
|
||||
SIGNMPAC EXTEND
|
||||
DCA DPOSMAX
|
||||
DXCH MPAC
|
||||
CCS A
|
||||
DPMODE CAF ZERO # SETS MPAC +2 TO ZERO IN THE PROCESS
|
||||
TCF SLOAD2 +2
|
||||
TCF +1
|
||||
EXTEND
|
||||
DCS DPOSMAX
|
||||
TCF SLOAD2
|
||||
|
||||
# RTB OP CODE NORMUNIT IS LIKE INTERPRETIVE INSTRUCTION UNIT, EXCEPT THAT IT CAN BE DEPENDED ON NOT TO BLOW
|
||||
# UP WHEN THE VECTOR BEING UNITIZED IS VERY SMALL -- IT WILL BLOW UP WHEN ALL COMPONENT ARE ZERO. IF NORMUNIT
|
||||
# IS USED AND THE UPPER ORDER HALVES OF ALL COMPONENTS ARE ZERO, THE MAGNITUDE RETURNS IN 36D WILL BE TOO LARGE
|
||||
# BY A FACTOR OF 2(13) AND THE SQUARED MAGNITUDE RETURNED AT 34D WILL BE TOO BIG BY A FACTOR OF 2(26).
|
||||
|
||||
NORMUNX1 CAF ONE
|
||||
TCF NORMUNIT +1
|
||||
NORMUNIT CAF ZERO
|
||||
AD FIXLOC
|
||||
TS MPAC +2
|
||||
TC BANKCALL # GET SIGN AGREEMENT IN ALL COMPONENTS
|
||||
CADR VECAGREE
|
||||
CCS MPAC
|
||||
TCF NOSHIFT
|
||||
TCF +2
|
||||
TCF NOSHIFT
|
||||
CCS MPAC +3
|
||||
TCF NOSHIFT
|
||||
TCF +2
|
||||
TCF NOSHIFT
|
||||
CCS MPAC +5
|
||||
TCF NOSHIFT
|
||||
TCF +2
|
||||
TCF NOSHIFT
|
||||
# Page 1515
|
||||
CA MPAC +1 # SHIFT ALL COMPONENTS LEFT 13
|
||||
EXTEND
|
||||
MP BIT14
|
||||
DAS MPAC # DAS GAINS A LITTLE ACCURACY
|
||||
CA MPAC +4
|
||||
EXTEND
|
||||
MP BIT14
|
||||
DAS MPAC +3
|
||||
CA MPAC +6
|
||||
EXTEND
|
||||
MP BIT14
|
||||
DAS MPAC +5
|
||||
CAF THIRTEEN
|
||||
INDEX MPAC +2
|
||||
TS 37D
|
||||
OFFTUNIT TC POSTJUMP
|
||||
CADR UNIT +1 # SKIP THE "TC VECAGREE" DONE AT UNIT
|
||||
|
||||
NOSHIFT CAF ZERO
|
||||
TCF OFFTUNIT -2
|
||||
|
||||
# RTB VECSGNAG ...FORCES SIGN AGREEMENT OF VECTOR IN MPAC.
|
||||
|
||||
VECSGNAG TC BANKCALL
|
||||
CADR VECAGREE
|
||||
TC DANZIG
|
||||
|
||||
# Page 1516
|
||||
# MODULE CHANGE FOR NEW LUNAR GRAVITY MODEL
|
||||
SETLOC MODCHG3
|
||||
BANK
|
||||
QUALITY1 BOF DLOAD
|
||||
MOONFLAG
|
||||
NBRANCH
|
||||
URPV
|
||||
DSQ GOTO
|
||||
QUALITY2
|
||||
SETLOC MODCHG2
|
||||
BANK
|
||||
QUALITY2 PDDL DSQ # SQUARE INTO 2D, B2
|
||||
URPV +2 # Y COMPONENT, B1
|
||||
DSU
|
||||
DMP VXSC # 5(Y**2-X**2)UR
|
||||
5/8 # CONSTANT, 5B3
|
||||
URPV # VECTOR, RESULT MAXIMUM IS 5, SCALING
|
||||
# HERE B6
|
||||
VSL3 PDDL # STORE SCALED B3 IN 2D, 4D, 6D FOR XYZ
|
||||
URPV # X COMPONENT, B1
|
||||
SR1 DAD # 2 X X COMPONENT FOR B3 SCALING
|
||||
2D # ADD TO VECTOR X COMPONENT OF ANSWER.
|
||||
# SAME AS MULTIPLYING BY UNITX. MAX IS 7.
|
||||
STODL 2D
|
||||
URPV +2 # Y COMPONENT, B1
|
||||
SR1 BDSU # 2 X Y COMPONENT FOR B3 SCALING
|
||||
4D # SUBTRACT FROM VECTOR Y COMPONENT OF
|
||||
# ANSWER, SAME AS MULTIPLYING BY UNITY.
|
||||
# MAX IS 7.
|
||||
STORE 4D # 2D HAS VECTOR, B3.
|
||||
SLOAD VXSC # MULTIPLY COEFFICIENT TIMES VECTOR IN 2D
|
||||
E3J22R2M
|
||||
PDDL RVQ # J22 TERM X R**4 IN 2D, SCALED B61
|
||||
COSPHI/2 # SAME AS URPV +4, Z COMPONENT
|
||||
|
||||
# *** END OF CHIEFTAN.028 ***
|
||||
|
||||
|
|
@ -1,128 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: S-BAND_ANTENNA_FOR_CM.agc
|
||||
# Purpose: Part of the source code for Colossus 2A, AKA Comanche 055.
|
||||
# It is part of the source code for the Command Module's (CM)
|
||||
# Apollo Guidance Computer (AGC), for Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Contact: Jim Lawton <jim.lawton@gmail.com>.
|
||||
# Website: www.ibiblio.org/apollo.
|
||||
# Pages: 934-935
|
||||
# Mod history: 2009-05-11 JVL Adapted from the Colossus249/ file
|
||||
# of the same name, using Comanche055 page
|
||||
# images.
|
||||
#
|
||||
# This source code has been transcribed or otherwise adapted from digitized
|
||||
# images of a hardcopy from the MIT Museum. The digitization was performed
|
||||
# by Paul Fjeld, and arranged for by Deborah Douglas of the Museum. Many
|
||||
# thanks to both. The images (with suitable reduction in storage size and
|
||||
# consequent reduction in image quality as well) are available online at
|
||||
# www.ibiblio.org/apollo. If for some reason you find that the images are
|
||||
# illegible, contact me at info@sandroid.org about getting access to the
|
||||
# (much) higher-quality images which Paul actually created.
|
||||
#
|
||||
# Notations on the hardcopy document read, in part:
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. 10:28 APR. 1, 1969
|
||||
#
|
||||
# This AGC program shall also be referred to as
|
||||
# Colossus 2A
|
||||
|
||||
# Page 934
|
||||
# S-BAND ANTENNA FOR CM
|
||||
|
||||
BANK 23
|
||||
SETLOC SBAND
|
||||
BANK
|
||||
|
||||
COUNT* $$/R05
|
||||
EBANK= EMSALT
|
||||
|
||||
SBANDANT TC BANKCALL # V 64 E GETS US HERE
|
||||
CADR R02BOTH # CHECK IF IMU IS ON AND ALIGNED
|
||||
TC INTPRET
|
||||
RTB CALL
|
||||
LOADTIME # PICKUP CURRENT TIME SCALED B-28
|
||||
CDUTRIG # COMPUTE SINES AND COSINES OF CDU ANGLES
|
||||
STCALL TDEC1 # ADVANCE INTEGRATION TO TIME IN TDEC1
|
||||
CSMCONIC # USING CONIC INTEGRATION
|
||||
SLOAD BHIZ # ORIGIN OF REFERENCE INERTIAL SYSTEM IS
|
||||
X2 # EARTH = 0, MOON = 2
|
||||
EISOI
|
||||
VLOAD
|
||||
RATT
|
||||
STORE RCM # MOVE RATT TO PREVENT WIPEOUT
|
||||
DLOAD CALL # MOON, PUSH ON
|
||||
TAT # GET ORIGINAL TIME
|
||||
LUNPOS # COMPUTE POSITION VECTOR OF MOON
|
||||
VAD VCOMP # R= -(REM+RCM) = NEG. OF S/C POS. VEC
|
||||
RCM
|
||||
GOTO
|
||||
EISOI +2
|
||||
EISOI VLOAD VCOMP # EARTH, R= -RCM
|
||||
RATT
|
||||
SETPD MXV # RCS TO STABLE MEMBER- B-1X B-29X B+1
|
||||
2D # 2D
|
||||
REFSMMAT # STABLE MEMBER. B-1X B-29X B+1= B-29
|
||||
VSL1 PDDL # 8D
|
||||
HI6ZEROS
|
||||
STOVL YAWANG # ZERO OUT YAWANG, SET UP FOR SMNB
|
||||
RCM # TRANSFORMATION. SM COORD. SCALED B-29
|
||||
CALL
|
||||
*SMNB*
|
||||
STORE R # SAVE NAV. BASE COORDINATES
|
||||
UNIT PDVL # 14D
|
||||
R
|
||||
VPROJ VSL2 # COMPUTE PROJECTION OF VECTOR INTO CM
|
||||
HIUNITZ # XY-PLANE, R-(R.UZ)UZ
|
||||
BVSU BOV # CLEAR OVERFLOW INDICATOR IF SET
|
||||
R
|
||||
COVCNV
|
||||
COVCNV UNIT BOV # TEST OVERFLOW FOR INDICATION OF NULL
|
||||
NOADJUST # VECTOR
|
||||
PUSH DOT # 20D
|
||||
# Page 935
|
||||
HIUNITX # COMPUTE YAW ANGLE = ACOS (URP.UX)
|
||||
SL1 ACOS # REVOLUTIONS SCALED B0
|
||||
PDVL DOT # 22D YAWANG
|
||||
URP
|
||||
HIUNITY # COMPUTE FOLLOWING- URP.UY
|
||||
SL1 BPL # POSITIVE
|
||||
NOADJUST # YES, 0- 180 DEGREES
|
||||
DLOAD DSU # NO, 181-360 DEGREES 20D
|
||||
DPPOSMAX # COMPUTE 2 PI MINUS YAW ANGLE
|
||||
PUSH # 22D YAWANG
|
||||
NOADJUST VLOAD DOT # COMPUTE PITCH ANGLE
|
||||
UR # ACOS (UR.UZ) - PI/2
|
||||
HIUNITZ
|
||||
SL1 ACOS # REVOLUTIONS B0
|
||||
DSU
|
||||
HIDP1/4
|
||||
STODL RHOSB
|
||||
YAWANG
|
||||
STORE GAMMASB # PATCH FOR CHECKOUT
|
||||
EXIT
|
||||
CA EXTVBACT # IS BIT 5 STILL ON
|
||||
MASK BIT5
|
||||
EXTEND
|
||||
BZF ENDEXT # NO, WE HAVE BEEN ANSWERED
|
||||
CAF V06N51 # DISPLAY ANGLES
|
||||
TC BANKCALL
|
||||
CADR GOMARKFR
|
||||
TC B5OFF # TERMINATE
|
||||
TC B5OFF
|
||||
TC ENDOFJOB # RECYCLE
|
||||
CAF BIT3 # IMMEDIATE RETURN
|
||||
TC BLANKET # BLANK R3
|
||||
CAF BIT1 # DELAY MINIMUM TIME TO ALLOW DISPLAY IN
|
||||
TC BANKCALL
|
||||
CADR DELAYJOB
|
||||
TCF SBANDANT +2
|
||||
V06N51 VN 0651
|
||||
RCM EQUALS 2D
|
||||
UR EQUALS 8D
|
||||
URP EQUALS 14D
|
||||
YAWANG EQUALS 20D
|
||||
PITCHANG EQUALS 22D
|
||||
R EQUALS RCM
|
||||
SBANK= LOWSUPER
|
||||
|
|
@ -1,824 +0,0 @@
|
|||
# Copyright: Public domain.
|
||||
# Filename: SERVICER207.agc
|
||||
# Purpose: Part of the source code for Comanche, build 055. It
|
||||
# is part of the source code for the Command Module's
|
||||
# (CM) Apollo Guidance Computer (AGC), Apollo 11.
|
||||
# Assembler: yaYUL
|
||||
# Reference: pp. 819-836
|
||||
# Contact: Ron Burkey <info@sandroid.org>
|
||||
# Website: http://www.ibiblio.org/apollo.
|
||||
# Mod history: 2009-05-12 RSB Adapted from Colossus249 file of the same
|
||||
# name and Comanche 055 page images.
|
||||
#
|
||||
# The contents of the "Comanche055" files, in general, are transcribed
|
||||
# from scanned documents.
|
||||
#
|
||||
# Assemble revision 055 of AGC program Comanche by NASA
|
||||
# 2021113-051. April 1, 1969.
|
||||
#
|
||||
# This AGC program shall also be referred to as Colossus 2A
|
||||
#
|
||||
# Prepared by
|
||||
# Massachusetts Institute of Technology
|
||||
# 75 Cambridge Parkway
|
||||
# Cambridge, Massachusetts
|
||||
#
|
||||
# under NASA contract NAS 9-4065.
|
||||
#
|
||||
# Refer directly to the online document mentioned above for further
|
||||
# information. Please report any errors to info@sandroid.org.
|
||||
|
||||
# Page 819
|
||||
# SERVICER207
|
||||
|
||||
# PROGRAM NAME - PREREAD, READACCS, SERVICER, AVERAGE G.
|
||||
|
||||
|
||||
# MOD NO. 00 BY M.HAMILTON DEC.12, 1966
|
||||
|
||||
|
||||
# FUNCTIONAL DESCRIPTION
|
||||
|
||||
# THE ROUTINES DESCRIBED BELOW ARE USED TO CALCULATE VALUES OF RN, VN, AND GDT/2 DURING ACCELERATED FLIGHT.
|
||||
# THE SEVERAL ROUTINES COMPRISE A PACKAGE AND ARE NOT MEANT TO BE USED AS SEPARATE SUBROUTINES.
|
||||
|
||||
# GENERAL REFERENCES TO SERVICER OR AVERAGE G ARE UNDERSTOOD TO REFER TO THE ENTIRE SET OF ROUTINES INCLUDING
|
||||
# READACCS, SERVICER, AVERAGE G, INTEREAD, SMOOTHER, AND ANY ADDITIONAL ROUTINES ATTACHED AT AVGEXIT (SEE BELOW).
|
||||
|
||||
# PROGRAMS INITIATING SERVICER ARE REQUIRED TO MAKE A WAITLIST CALL FOR PREREAD (OR, IF LIFTOFF, FOR BIBIBIAS)
|
||||
# AT 2 SECONDS BEFORE THE FIRST AVERAGE G UPDATE IN ORDER TO INITIALIZE THE SEQUENCE, WHICH WILL RECUR EVERY
|
||||
# 2 SECONDS FROM THAT TIME ON AS LONG AS AVEGFLAG REMAINS SET.
|
||||
|
||||
# THE USE OF ERASABLE AVGEXIT ALLOWS VARIOUS ROUTINES TO BE PERFORMED AS PART OF THE NORMAL CYCLE (SEE
|
||||
# EXPLANATION OF AVGEXIT BELOW).
|
||||
|
||||
# DESCRIPTIONS OF INDIVIDUAL ROUTINES FOLLOW.
|
||||
|
||||
|
||||
# PREREAD
|
||||
|
||||
# PREVIOUSLY EXTRAPOLATED VALUES COPIED FROM RN1, VN1, AND PIPTIME1 INTO RN, VN, AND PIPTIME.
|
||||
# LASTBIAS JOB SCHEDULED.
|
||||
# PIPS READ AND CLEARED VIA PIPASR SUBROUTINE.
|
||||
# AVERAGE G FLAG SET ON.
|
||||
# DRIFT FLAG SET OFF.
|
||||
# V37 FLAG SET ON.
|
||||
# INITIALIZATION OF 1) THRUST MONITOR (DVMON) - DVCNTR SET TO ONE.
|
||||
# 2) TOTAL ACCUMULATED DELV VALUE (DVTOTAL) - SET TO ZERO.
|
||||
# 3) AXIS VECTOR (AXIS) - SET TO (.5,0,0).
|
||||
# NORMLIZE JOB SCHEDULED.
|
||||
# READACCS TASH CALLED IN 2 SECONDS.
|
||||
|
||||
|
||||
# NORMLIZE
|
||||
#
|
||||
# GDT/2 INITIALIZED VIA CALCGRAV SUBROUTINE.
|
||||
|
||||
|
||||
# READACCS
|
||||
|
||||
# IF ONMON FLAG SET QUIKREAD ROUTINE IS PERFORMED BEFORE PIPASR ZEROS THE PIPA REGISTERS, AND THE 1/2 SEC
|
||||
# ONMONITOR LOOP IS INITIATED TO PROVIDE DOWNLINK INFORMATION DURING ENTRY.
|
||||
# PIPS READ AND CLEARED BY PIPASR SUBROUTINE.
|
||||
# IF CM/DSTBY IS ON, ENTRY VARIABLES INITIALIZED AND SETJTAG TASK CALLED.
|
||||
# Page 820
|
||||
# SERVICER207
|
||||
|
||||
# IF AVERAGEG FLAG ON READACCS CALLED TO RECYCLE IN 2 SECONDS.
|
||||
# IF AVERAGEG FLAG OFF AVERAGE G EXIT (AVGEXIT) SET TO 2CADR AVGEND FOR FINAL PASS.
|
||||
# SERVICER JOB SCHEDULED.
|
||||
|
||||
|
||||
# TEST CONNECTOR OUTBIT TURNED ON.
|
||||
|
||||
|
||||
# ONMNITOR
|
||||
|
||||
# A SEQUENCE OF THREE PASSES THROUGH QUICREAD FOLLOWING A CALL TO READACCS WITH ONMONFLG SET AT 1/2
|
||||
# SEC INTERVALS. INTERVALS ARE COUNTED OUT BY PIPCTR, INITIALISED AT 3 BY READACCS
|
||||
|
||||
# QUIKREAD
|
||||
|
||||
# READS CURRENT PIPS INTO X,Y,ZPIPBUF. READS OLD X,Y,ZPIPBUF INTO X,Y,ZOLDBUF. VALUES ARE SENT TO
|
||||
# DOWNLIST DURING ENTRY.
|
||||
# SERVICER
|
||||
# DELV VALUES CHECKED TO DETECT RUNAWAY PIP -
|
||||
# IF BAD PIP 1) ALARM SENT.
|
||||
# 2) COMPENSATION, DVTOTAL ACCUMULATION, AND DVMON BYPASSED. CONTROL
|
||||
# TRANSFERRED TO AVERAGE G.
|
||||
# PIPS COMPENSATED VIA 1/PIPA SUBROUTINE.
|
||||
# DVTOTAL INCREMENTED BY ABSOLUTE VALUE OF DELV.
|
||||
# THRUST MONITOR (DVMON) PERFORMED UNLESS IDLE FLAG IS ON.
|
||||
# CONTROL TRANSFERRED TO AVERAGE Q.
|
||||
|
||||
|
||||
# DVMON
|
||||
|
||||
# THRESHOLD VALUD (PLACED IN DVTHRUSH BY USER) CHECKED AGAINST ABSOLUTE VALUE OF DELV TO CHECK
|
||||
# THRUST LEVEL.
|
||||
# IF THRUST 1) ULLAGE OFF ROUTINE PERFORMED.
|
||||
# 2) STEERING FLAG TURNED ON AT FIRST DETECTION OF THRUST.
|
||||
# 3) CONTROL TRANSFERRED TO AVERAGE G.
|
||||
# IF NO THRUST 1) ON FIRST PASS THROUGH MONITOR, CONTROL TRANSFERRED TO AVERAGE G.
|
||||
# 2) ON SUBSEQUENT PASSES, CONTROL TRANSFERRED TO ENGINE FAIL ROUTINE IF THRUST
|
||||
# HAS FAILED FOR 3 CONSECUTIVE PASSES.
|
||||
|
||||
|
||||
# ENGINE FAIL
|
||||
|
||||
# ENGFAIL1 TASK CALLED IN 2.5 SECONDS. THIS WILL RETURN CONTROL TO TIG-5 SO THAT THE IGNITION
|
||||
# SEQUENCE MAY BE REPEATED.
|
||||
# ENGINOF3 PERFORMED.
|
||||
# DAP SET UP FOR RCS.
|
||||
|
||||
|
||||
# AVERAGE G
|
||||
# Page 821
|
||||
# RN1, VN1, GDT1/2 CALCULATED VIA CALCRVG ROUTINE BY UPDATING RN, VN WITH DELV AND AN AVERAGED VALUE
|
||||
# OF GDT/2.
|
||||
# RN1, VN1, GDT1/2, PIPTIME1 COPIED INTO RN, VN, GDT/2, PIPTIME FOR RESTART PROTECTION.
|
||||
# CONTROL TRANSFERRED TO ADDRESS SPECIFIED BY USER (OR BY READACCS FOR LAST PASS) IN AVGEXIT.
|
||||
# LAST PASS (AVGEND) 1) FREE FALL GYRO COMPENSATION SET UP.
|
||||
# 2) DRIFT FLAG TURNED ON.
|
||||
# 3) STATE VECTOR TRANSFERRED VIA AVETOMID ROUTINE.
|
||||
# 4) ONMONITOR FLAG RESET.
|
||||
# 5) V37 FLAG RESET.
|
||||
# 6) TEST CONNECTOR OUTBIT RESET.
|
||||
# 7) CONTROL TRANSFERRED TO CANV37 TO CONTINUE MM CHANGE ROUTINE (R00).
|
||||
|
||||
|
||||
# CALLING SEQUENCE
|
||||
|
||||
# PREREAD ENTERED DIRECTLY FROM TIG-30 VIA POSTJUMP.
|
||||
# READACCS CALLED AS WAITLIST TASK.
|
||||
|
||||
|
||||
# SUBROUTINES CALLED
|
||||
|
||||
# UTILITY ROUTINES - PHASCHNG FLAGUP FLAGDOWN NOVAC FINDVAC WAITLIST ALARM NEWPHASE 2PHSCHNG
|
||||
|
||||
# OTHER - PIPASR 1/PIPA CALCGRAV CALCRVG AVETOMID
|
||||
|
||||
|
||||
# NORMAL EXIT MODES
|
||||
|
||||
# ENDOFJOB TASKOVER CANV37
|
||||
|
||||
# AVGEXIT - THIS IS A DOUBLE PRECISION ERASABLE LOCATION BY WHICH CONTROL IS TRANSFERRED AT THE END
|
||||
# OF EACH CYCLE OF AVERAGE G.
|
||||
# THE 2CADR OF A ROUTINE TO BE PERFORMED AT THAT TIME (E.G., STEERING EQUATIONS TO BE PERFORMED
|
||||
# AT 2 SECOND INTERVALS) MAY BE SET BY THE USER INTO AVGEXIT.
|
||||
# ALL SUCH ROUTINES SHOULD RETURN TO SERVEXIT, WHICH IS THE NORMAL EXIT FROM AVERAGE G.
|
||||
|
||||
# SERVEXIT - DOES A PHASE CHANGE FOR RESTART PROTECTION AND GOES TO ENDOFJOB.
|
||||
# THE 2CADR OF SERVEXIT IS SET INTO AVGEXIT BY THE USER IF NO OTHER ROUTINE (SEE ABOVE).
|
||||
#
|
||||
# AVGEND - LAST PASS OF AVERAGE G EXITS HERE, BYPASSING SPECIAL ROUTINE (SEE ABOVE UNDER READACCS).
|
||||
# FINAL EXIT IS TO CANV37. F AVERAGE G).
|
||||
|
||||
|
||||
# OUTPUT
|
||||
|
||||
# DVTOTAL(2) PIPTIME(2) XPIPBUF(2) YPIPBUF(2) ZPIPBUF(2)
|
||||
# RN(6) REFERENCE COORD. SCALED AT 2(+29) M/CS
|
||||
# VN(6) REFERENCE COORD. SCALED AT 2(+7) M/CS
|
||||
# GDT/2(6) REFERENCE COORD. SCALED AT 2(+7) M/CS
|
||||
# DELV(6) STABLE MEMB. COORD.SCALED AT 2(+14)*5.85*10(-4)M/CS (KPIP1 USED TO GET DV/2 AT 2(+7))
|
||||
# Page 822
|
||||
# DELVREF(6) REFERENCE COORD. SCALED AT 2(+7) M/CS
|
||||
|
||||
# INITIALIZATION
|
||||
|
||||
# ONMONITOR FLAG SET BY ENTRY TO SHOW PIPBUF VALUES REQUIRED.
|
||||
# IDLE FLAG ON IF DVMON TO BE BYPASSED.
|
||||
# DVTHRUSH SET TO APPROPRIATE VALUE FOR DVMON.
|
||||
# AVGEXIT SET TO 2CADR OF ROUTINE, IF ANY, TO BE PERFORMED AFTER EACH CYCLE OF AVERAGE G. IF NO ROUTINE
|
||||
# TO BE DONE, AVGEXIT SET TO SERVEXIT.
|
||||
# VALUES NEEDED
|
||||
# REFSMMAT
|
||||
# UNITW - FULL UNIT VECTOR, IN REFERENCE COORD., OF EARTH S ROTATIONAL VECTOR
|
||||
# RN1, VN1, PIPTIME1 - IN REFERENCE COORD., CONSISTENT WITH TIME OF EXECUTION OF PREREAD
|
||||
|
||||
|
||||
# DEBRIS
|
||||
|
||||
# CENTRALS A, L, Q
|
||||
# OTHER INTERNAL - DVCNTR(1) PIPAGE(1) PIPCTR(1) AVGEXIT(2)
|
||||
# EXTERNAL - ITEMP1(1) ITEMP2(1) RUPTREG1(1) TEMX(1) TEMY(1) TEMZ(1)
|
||||
# USEFUL DEBRIS
|
||||
# RN1(6) VN1(6) GDT1/2 PIPTIME1(2)
|
||||
# THESE LOCATIONS USED AS BUFFER STORAGE FOR NEWLY CALCULATED VALUES OF RN, VN, GDT/2,
|
||||
# AND PIPTIME DURING PERFORMANCE OF SERVICER ROUTINES.
|
||||
# UNITR - HALF UNIT VECTOR OF RN, REFERENCE COORD.
|
||||
# RMAG SCALED AT 2(+58) IN 36D.
|
||||
# RMAGSQ SCALED AT 2(+58) IN 34D.
|
||||
# (RE/RMAG)SQ IN 32D.
|
||||
|
||||
|
||||
BANK 27
|
||||
SETLOC SERVICES
|
||||
BANK
|
||||
|
||||
EBANK= DVCNTR
|
||||
# ********************* PREREAD ***************************************
|
||||
#
|
||||
|
||||
COUNT 37/SERV
|
||||
|
||||
PREREAD CAF PRIO21 # CALLER MUST PROTECT PREREAD
|
||||
TC NOVAC
|
||||
EBANK= NBDX
|
||||
2CADR LASTBIAS # DO LAST GYRO COMPENSATION IN FREE FALL
|
||||
|
||||
# CALL-TO AND LASTBIAS ITSELF ARE NOT
|
||||
# PROTECTED. REREADAC SETS 1/PIPADT
|
||||
# TO 2.0 SECS IN CASE LASTBIAS LOST.
|
||||
# (REDUNDANT IF LASTBIAS IS AOK)
|
||||
# Page 823
|
||||
REDO5.31 TC PREREAD1
|
||||
|
||||
CAF PRIO32
|
||||
TC FINDVAC # SET UP NORMLIZE JOB REQUIRED PRIOR TO
|
||||
EBANK= DVCNTR # FIRST AVERAGE G PASS
|
||||
2CADR NORMLIZE
|
||||
|
||||
CAF 2SECS
|
||||
TC WAITLIST
|
||||
EBANK= AOG
|
||||
2CADR READACCS
|
||||
|
||||
CS TWO
|
||||
TC NEWPHASE
|
||||
OCT 5
|
||||
|
||||
TCF TASKOVER
|
||||
|
||||
PREREAD1 EXTEND
|
||||
QXCH RUPTREG1
|
||||
|
||||
TC PIPASR # CLEAR + READ PIPS LAST TIME IN FREE FALL
|
||||
|
||||
CAF ONE # SET UP PIPAGE FOR REREADAC IN CASE A
|
||||
TS PIPAGE # RESTART OCCURS BEFORE READACCS
|
||||
|
||||
CS FLAGWRD1 # SET AVEG FLAG
|
||||
MASK BIT1
|
||||
ADS FLAGWRD1
|
||||
|
||||
CA POSMAX
|
||||
MASK FLAGWRD2
|
||||
TS FLAGWRD2 # KNOCK DOWN DRIFT FLAG
|
||||
|
||||
CS FLAGWRD7 # SET V37 FLAG
|
||||
MASK BIT6
|
||||
ADS FLAGWRD7
|
||||
|
||||
CAF ZERO
|
||||
TS DVTOTAL # CLEAR DVTOTAL
|
||||
TS DVTOTAL +1
|
||||
|
||||
TC RUPTREG1
|
||||
|
||||
# Page 824
|
||||
# ********************* READACCS ***************************************
|
||||
EBANK= AOG
|
||||
READACCS TC PIPASR
|
||||
|
||||
PIPSDONE CAF FIVE
|
||||
TS L
|
||||
COM
|
||||
DXCH -PHASE5
|
||||
|
||||
REDO5.5 CAF ONE # SHOW PIPS HAVE BEEN READ
|
||||
TS PIPAGE
|
||||
|
||||
CA TWO # SET PIPCTR FOR ONMINTOR
|
||||
TS PIPCTR # AFTER ABOVE PHASCHNG
|
||||
|
||||
CS CM/FLAGS
|
||||
MASK BIT2 # CM/DSTBY
|
||||
CCS A
|
||||
TC CHEKAVEG
|
||||
|
||||
CS PIPTIME1 +1
|
||||
TS TBASE6 # FOR RESTARTS
|
||||
EXTEND # CONTINUE FOR ENTRY DAP
|
||||
DCA AOG
|
||||
DXCH AOG/PIP
|
||||
CA AMG
|
||||
XCH AMG/PIP
|
||||
EXTEND
|
||||
DCA ROLL/180
|
||||
DXCH ROLL/PIP
|
||||
CA BETA/180
|
||||
XCH BETA/PIP
|
||||
CA CM/FLAGS
|
||||
MASK BIT12 # CM/DAPARM 93D BIT12
|
||||
EXTEND # DURING ENTRY, WHEN RCS DAP IS INACTIVE,
|
||||
BZF NOSAVPIP # SAVE PIPAS EACH 0.5 SEC FOR TM.
|
||||
|
||||
CA 0.5SEC
|
||||
TC WAITLIST
|
||||
EBANK= XPIPBUF
|
||||
2CADR QUIKREAD
|
||||
|
||||
# NO NEED TO RESTART PROTECT THIS.
|
||||
CA DELVX # SAVE PIPAS AS READ (BUT NOT COMPENSATED)
|
||||
XCH XPIPBUF
|
||||
TS XOLDBUF
|
||||
|
||||
CA DELVY
|
||||
XCH YPIPBUF
|
||||
TS YOLDBUF
|
||||
# Page 825
|
||||
CA DELVZ
|
||||
XCH ZPIPBUF
|
||||
TS ZOLDBUF
|
||||
|
||||
NOSAVPIP CA FIVE
|
||||
TS CM/GYMDT
|
||||
|
||||
CA JTAGTIME # ACTIVATE CM/RCS AFTER PIPUP TO GO
|
||||
# IN JTAGTIME +5 CS.
|
||||
TC WAITLIST
|
||||
EBANK= AOG
|
||||
2CADR SETJTAG
|
||||
|
||||
CS THREE # 1.3SPOT FOR SETJTAG
|
||||
TC NEWPHASE
|
||||
OCT 1
|
||||
|
||||
CAF OCT37
|
||||
TS L
|
||||
COM
|
||||
DXCH -PHASE5
|
||||
|
||||
CHEKAVEG CS FLAGWRD1
|
||||
MASK BIT1
|
||||
CCS A # IF AVEG FLAG DOWN SET FINAL EXIT AVEG
|
||||
TC AVEGOUT
|
||||
|
||||
CAF 2SECS
|
||||
TC WAITLIST
|
||||
EBANK= AOG
|
||||
2CADR READACCS
|
||||
|
||||
MAKESERV CAF PRIO20 # ESTABLISH SERVICER ROUTINE
|
||||
TC FINDVAC
|
||||
EBANK= DVCNTR
|
||||
2CADR SERVICER
|
||||
|
||||
CS FOUR # RESTART SERVICER AND READACCS
|
||||
TC NEWPHASE
|
||||
OCT 5
|
||||
|
||||
CAF BIT9
|
||||
EXTEND
|
||||
WOR DSALMOUT # TURN TEST CONNECTOR OUTBIT ON
|
||||
|
||||
TCF TASKOVER # END PREVIOUS READACCS WAITLIST TASK
|
||||
|
||||
# Page 826
|
||||
AVEGOUT EXTEND
|
||||
DCA AVOUTCAD
|
||||
DXCH AVGEXIT
|
||||
TCF MAKESERV
|
||||
|
||||
EBANK= DVCNTR
|
||||
AVOUTCAD 2CADR AVGEND
|
||||
|
||||
# Page 827
|
||||
# ROUTINE NAME: ONMNITOR
|
||||
# MOD 04 BY BAIRNSFATHER 30 APR 1968 REDO ONMNITOR TO SAVE PIPS EACH 0.5 SEC FOR TM,ENTRY.
|
||||
# MOD 03 BY FISHER DECEMBER 1967
|
||||
# MOD 02 BY RYE SEPT 1967
|
||||
# MOD 01 BY KOSMALA 23 MAR 1967
|
||||
# MOD 00 BY KOSMALA 27 FEB 1967
|
||||
|
||||
# FUNCTIONAL DESCRIPTION
|
||||
|
||||
# THE PURPOSE OF ONMONITOR IS TO PROVIDE 1/2 SEC.READING OF PIPAS FOR DOWNLIST DURING ENTRY.
|
||||
# X,Y,ZPIPBUF CONTAIN PRESET VALUES X,Y,ZOLDBUF CONTAIN VALUES FROM PREVIOUS READING.
|
||||
|
||||
# CALLING SEQUENCE
|
||||
|
||||
# CALL AS WAITLIST TASK. TERMINATES ITSELF IN TASKOVER
|
||||
|
||||
# INITIALISATION
|
||||
|
||||
# PIPCTR = 2 (FOR DT = 0.5 SEC)
|
||||
# X,Y,ZPIPBUF SET TO PREVIOUS PIPAX,Y,Z
|
||||
|
||||
# OUTPUT
|
||||
|
||||
# X,Y,ZPIPBUF, X,Y,ZOLDBUF
|
||||
# DEBRIS
|
||||
|
||||
# X,Y,ZPIPBUF CONTAIN LAST PIPAX,Y,Z VALUES
|
||||
# X,Y,ZOLDBUF CONTAIN LAST-BUT-ONE PIPAX,Y,Z VALUES
|
||||
# RUPTREG1
|
||||
# PIPCTR
|
||||
|
||||
ONMNITOR TS PIPCTR
|
||||
|
||||
TC FIXDELAY # WAIT
|
||||
0.5SEC DEC 50
|
||||
|
||||
QUIKREAD CAF TWO
|
||||
TS RUPTREG1
|
||||
INDEX A
|
||||
CA PIPAX # SAVE ACTUAL PIPAS FOR TM.
|
||||
INDEX RUPTREG1
|
||||
XCH XPIPBUF # UPDATE X,Y,ZPIPBUF
|
||||
INDEX RUPTREG1
|
||||
TS XOLDBUF # AND X,Y,ZOLDBUF
|
||||
CHKCTR CCS RUPTREG1
|
||||
TCF QUIKREAD +1 # LOOP AGAIN
|
||||
CCS PIPCTR
|
||||
TCF ONMNITOR
|
||||
TC TASKOVER
|
||||
|
||||
# Page 828
|
||||
# ********************* SERVICER ***************************************
|
||||
#
|
||||
|
||||
EBANK= DVCNTR
|
||||
|
||||
SERVICER CAF TWO
|
||||
INHINT
|
||||
PIPCHECK TS RUPTREG1
|
||||
|
||||
DOUBLE
|
||||
INDEX A
|
||||
CCS DELVX
|
||||
TC +2
|
||||
TC PIPLOOP
|
||||
|
||||
AD -MAXDELV # DO PIPA-SATURATION TEST BEFORE
|
||||
EXTEND
|
||||
BZMF PIPLOOP # COMPENSATION.
|
||||
|
||||
TC ALARM
|
||||
OCT 00205 # SATURATED-PIPA ALARM ***CHANGE LATER
|
||||
TC AVERAGEG
|
||||
|
||||
PIPLOOP CCS RUPTREG1
|
||||
TCF PIPCHECK
|
||||
|
||||
TC PHASCHNG # RESTART REREADAC + SERVICER
|
||||
OCT 16035
|
||||
OCT 20000
|
||||
EBANK= DVCNTR
|
||||
2CADR DVTOTUP
|
||||
|
||||
TC BANKCALL # PIPA COMPENSATION CALL
|
||||
CADR 1/PIPA
|
||||
|
||||
DVTOTUP TC INTPRET
|
||||
VLOAD ABVAL # GET ABS VALUE OF DELV
|
||||
DELV
|
||||
DMP EXIT
|
||||
KPIP1 # SCALE AT 2(+7)
|
||||
|
||||
EXTEND
|
||||
DCA MPAC
|
||||
DAS DVTOTAL # ACCUMULATE DVTOTAL
|
||||
AVERAGEG TC PHASCHNG
|
||||
OCT 10035
|
||||
|
||||
TC INTPRET
|
||||
CALL
|
||||
# Page 829
|
||||
CALCRVG
|
||||
EXIT
|
||||
|
||||
TC PHASCHNG
|
||||
OCT 10035
|
||||
|
||||
CAF OCT31 # COPY RN1,VN1,GOT102,GOBL1/2,PIPTIME1
|
||||
TC GENTRAN # INTO RN ,VN ,GDT/12 ,GOBL/2 ,PIPTIME
|
||||
ADRES RN1
|
||||
ADRES RN
|
||||
RELINT # GENTRAN DOES AN INHINT
|
||||
TC PHASCHNG
|
||||
OCT 10035
|
||||
|
||||
EXTEND
|
||||
DCA AVGEXIT
|
||||
DXCH Z # AVERAGEG EXIT
|
||||
|
||||
AVGEND CA PIPTIME +1 # FINAL AVERAGE G EXIT
|
||||
TS OLDBT1 # SET UP FREE FALL GYRO COMPENSATION
|
||||
|
||||
TC UPFLAG # SET DRIFTFLG
|
||||
ADRES DRIFTFLG # BIT 15 FLAG 2
|
||||
TC 2PHSCHNG
|
||||
OCT 5 # GROUP 5 OFF
|
||||
OCT 05022 # GROUP 2 ON FOR AVETOMID
|
||||
OCT 20000
|
||||
|
||||
TC INTPRET
|
||||
CALL
|
||||
AVETOMID # CONVERT STATE VECTOR TO REFERENCE SCALE.
|
||||
EXIT
|
||||
|
||||
CAF ZERO # ZERO MARK COUNTERS.
|
||||
TS VHFCNT
|
||||
TS TRKMKCNT
|
||||
|
||||
TC BANKCALL
|
||||
CADR PIPFREE
|
||||
|
||||
CS BIT9
|
||||
TS MRKBUF2 # INVALIDATE MARK BUFFER
|
||||
EXTEND
|
||||
WAND DSALMOUT
|
||||
|
||||
TC DOWNFLAG
|
||||
ADRES CM/DSTBY
|
||||
|
||||
TC DOWNFLAG
|
||||
ADRES V37FLAG
|
||||
|
||||
# Page 830
|
||||
CAF BIT7 # RESTORE GROUP 1 + 2 IF P20 IS RUNNING.
|
||||
MASK FLAGWRD0
|
||||
EXTEND
|
||||
BZF +4
|
||||
|
||||
TC 2PHSCHNG
|
||||
OCT 111 # 1.11SPOT
|
||||
OCT 132 # 2.13SPOT
|
||||
|
||||
TC POSTJUMP
|
||||
CADR CANV37
|
||||
|
||||
SERVEXIT TC PHASCHNG
|
||||
OCT 00035 # A, 5.3 = REREADAC (ONLY)
|
||||
|
||||
TCF ENDOFJOB
|
||||
|
||||
DVTHRUSH EQUALS ELEVEN # 15 PERCENT OF 2SEC PIPA ACCUMULATION,
|
||||
# FOR 503-FULL CSM/LEM....DELV SC.AT
|
||||
# 5.85 CM/SEC.
|
||||
|
||||
-MAXDELV DEC -6398 # 3200 PPS FOR 2 SEC CCS TAKES 1
|
||||
|
||||
JTAGTIME DEC 120 # = 1 SEC + T CDU, T CDU = .1 SEC
|
||||
|
||||
2.5SEC DEC 250
|
||||
MDOTFAIL DEC 144.0 B-16 # 5 SEC MASS LOSS AT 28.8 KG/SEC
|
||||
# SHOULD BE 2-4 SECS FOR NO START
|
||||
# 6-8 SECS FOR FAILURE
|
||||
|
||||
# Page 831
|
||||
# NORMLIZE PERFORMS THE INITIALIZATION REQUIRED PRIOR TO THE FIRST ENTRY TO AVERAGEG, AND SCALES RN SO THAT IT
|
||||
# HAS 1 LEADING BINARY ZERO. IN MOST MISSIONS, RN WILL BE SCALED AT 2(+29), BUT IN THE 206 MISSION, RN WILL BE
|
||||
# SCALED AT 2(+24)M.
|
||||
|
||||
NORMLIZE CAF THIRTEEN # SET UP TO COPY 14 REGS- RN1,VN1,PIPTIME1
|
||||
TC GENTRAN # INTO RN,VN, PIPTIME
|
||||
ADRES RN1 # FROM HERE
|
||||
ADRES RN # TO HERE
|
||||
|
||||
RELINT
|
||||
TC INTPRET
|
||||
VLOAD CALL # LOAD RN FOR CALCGRAV
|
||||
RN
|
||||
CALCGRAV # INITIALISE UNITR RMAG GDT1
|
||||
|
||||
STOVL GDT/2
|
||||
GOBL1/2
|
||||
STORE GOBL/2
|
||||
EXIT
|
||||
TCF ENDOFJOB
|
||||
|
||||
# Page 832
|
||||
# ***** PIPA READER *****
|
||||
|
||||
|
||||
# MOD NO. 00 BY D. LICKLY DEC.9 1966
|
||||
|
||||
|
||||
# FUNCTIONAL DESCRIPTION
|
||||
|
||||
# SUBROUTINE TO READ PIPA COUNTERS, TRYING TO BE VERY CAREFUL SO THAT IT WILL BE RESTARTABLE.
|
||||
# PIPA READINGS ARE STORED IN THE VECTOR DELV. THE HIGH ORDER PART OF EACH COMPONENT CONTAINS THE PIPA READING,
|
||||
# RESTARTS BEGIN AT REREADAC.
|
||||
|
||||
|
||||
# AT THE END OF THE PIPA READER THE CDUS ARE READ AND STORED AS A
|
||||
# VECTOR IN CDUTEMP. THE HIGH ORDER PART OF EACH COMPONENT CONTAINS
|
||||
# THE CDU READING IN 2S COMP IN THE ORDER CDUX,Y,Z. THE THRUST
|
||||
# VECTOR ESTIMATOR IN FINDCDUD REQUIRES THE CDUS BE READ AT PIPTIME.
|
||||
|
||||
# CALLING SEQUENCE AND EXIT
|
||||
|
||||
# CALL VIA TC, ISWCALL, ETC.
|
||||
|
||||
# EXIT IS VIA Q.
|
||||
|
||||
|
||||
# INPUT
|
||||
|
||||
# INPUT IS THROUGH THE COUNTERS PIPAX, PIPAY, PIPAZ, AND TIME2.
|
||||
|
||||
|
||||
# OUTPUT
|
||||
|
||||
# HIGH ORDER COMPONENTS OF THE VECTOR DELV CONTAIN THE PIPA READINGS.
|
||||
# PIPTIME CONTAINS TIME OF PIPA READING.
|
||||
|
||||
|
||||
# DEBRIS (ERASABLE LOCATIONS DESTROYED BY THE PROGRAM)
|
||||
|
||||
# LOW ORDER DELV'S ARE ZEROED FOR TM INDICATION.
|
||||
# TEMX TEMY TEMZ PIPAGE
|
||||
|
||||
PIPASR EXTEND
|
||||
DCA TIME2
|
||||
DXCH PIPTIME1 # CURRENT TIME POSITIVE VALUE
|
||||
CS ZERO # INITIALIZE THESE AT NEG ZERO.
|
||||
TS TEMX
|
||||
TS TEMY
|
||||
TS TEMZ
|
||||
# Page 833
|
||||
CA ZERO
|
||||
TS DELVZ # OTHER DELVS OK INCLUDING LOW ORDER
|
||||
TS DELVY
|
||||
|
||||
TS DELVX +1 # LOW ORDER DELV'S ARE ZEROED FOR TM: THUS
|
||||
TS DELVY +1 # IF DNLNK'D LOW ORDER DELVS ARE NZ, THEY
|
||||
TS DELVZ +1 # CONTAIN PROPER COMPENSATION. IF=0, THEN
|
||||
# THE TM VALUES ARE BEFORE COMPENSATION.
|
||||
|
||||
TS PIPAGE # SHOW PIPA READING IN PROGRESS
|
||||
|
||||
REPIP1 EXTEND
|
||||
DCS PIPAX # X AND Y PIPS READ
|
||||
DXCH TEMX
|
||||
DXCH PIPAX # PIPAS SET TO NEG ZERO AS READ.
|
||||
TS DELVX
|
||||
LXCH DELVY
|
||||
|
||||
REPIP3 CS PIPAZ # REPEAT PROCESS FOR Z PIP
|
||||
XCH TEMZ
|
||||
XCH PIPAZ
|
||||
DODELVZ TS DELVZ
|
||||
|
||||
TC Q
|
||||
|
||||
EBANK= AOG
|
||||
|
||||
REREADAC CCS PHASE5 # LAST PASS CHECK
|
||||
TCF +2
|
||||
TCF TASKOVER
|
||||
|
||||
CAF PRIO31 # RESTART MAY HAVE WIPED OUT LASTBIAS, AN
|
||||
TS 1/PIPADT # UNPROTECTED NOVAC FROM PREREAD,
|
||||
# WHICH SET(S) UP 1/PIPADT (THUSLY)
|
||||
# FOR NON-COASTING COMPENSATION....BE
|
||||
# SURE 1/PIPADT IS AOK. (PRIO31 IS
|
||||
# 2.0SEC SC.AT B+8CS)
|
||||
|
||||
CCS PIPAGE
|
||||
TCF READACCS # PIP READING NOT STARTED. GO TO BEGINNING
|
||||
|
||||
CAF DONEADR # SET UP RETURN FROM PIPASR
|
||||
TS Q
|
||||
|
||||
CCS DELVZ
|
||||
TC Q # Z DONE, GO DO CDUS
|
||||
TCF +3 # Z NOT DONE, CHECK Y.
|
||||
TC Q
|
||||
TC Q
|
||||
# Page 834
|
||||
ZL
|
||||
CCS DELVY
|
||||
TCF +3
|
||||
TCF CHKTEMX # Y NOT DONE, CHECK X.
|
||||
TCF +1
|
||||
LXCH PIPAZ # Y DONE, ZERO Z PIP.
|
||||
|
||||
CCS TEMZ
|
||||
CS TEMZ # TEMZ NOT = -0, CONTAINS -PIPAZ VALUE.
|
||||
TCF DODELVZ
|
||||
TCF -2
|
||||
LXCH DELVZ # TEMZ = -0, L HAS ZPIP VALUE.
|
||||
TC Q
|
||||
|
||||
CHKTEMX CCS TEMX # HAS THIS CHANGED
|
||||
CS TEMX # YES
|
||||
TCF +3 # YES
|
||||
TCF -2 # YES
|
||||
TCF REPIP1 # NO
|
||||
TS DELVX
|
||||
|
||||
CS TEMY
|
||||
TS DELVY
|
||||
|
||||
CS ZERO # ZERO X AND Y PIPS
|
||||
DXCH PIPAX # L STILL ZERO FROM ABOVE
|
||||
|
||||
TCF REPIP3
|
||||
|
||||
DONEADR GENADR PIPSDONE
|
||||
|
||||
# Page 835
|
||||
# *********************************************************************************************
|
||||
|
||||
# ROUTINE CALCRVG INTEGRATES THE EQUATIONS OF MOTION BY AVERAGING THE THRUST AND GRAVITATIONAL
|
||||
# ACCELERATIONS OVER A TIME INTERVAL OF 2 SECONDS.
|
||||
#
|
||||
# FOR THE EARTH-CENTERED GRAVITATIONAL FIELD, THE PERTURBATION DUE TO OBLATENESS IS COMPUTED TO THE FIRST
|
||||
# HARMONIC COEFFICIENT J.
|
||||
|
||||
# ROUTINE CALCRVG REQUIRES...
|
||||
# 1) THRUST ACCELERATION INCREMENTS IN DELV SCALED SAME AS PIPAX,Y,Z IN STABLE MEMBER COORDS.
|
||||
# 2) VN SCALED 2(+7)M/CS IN REFERENCE COORDS.
|
||||
# 3) RN SCALED AT 2(+29) METERS IN REFERENCE COORDS.
|
||||
# 4) UNITW THE EARTH S UNIT ROTATIONAL VECTOR (SCALED AS A FULL UNIT VECTOR) IN REFERENCE COORDS.
|
||||
|
||||
# IT LEAVES RN1 UPDATED (SCALED AT 2(+29)M, VN1 (SCALED AT 2(+7)M/CS), AND GDT1/2 (SCALED AT 2(+7)M/CS). ALSO HALF
|
||||
# UNIT VECTOR UNITR, RMAG IN 36D SCALED AT 2(+29)M, R MAG SQ. IN 34D SCALED AT 2(+58) M SQ.
|
||||
|
||||
CALCGRAV UNIT PUSH # ENTER WITH RN IN MPAC
|
||||
STORE UNITR
|
||||
LXC,1 SLOAD
|
||||
RTX2
|
||||
X1
|
||||
BMN VLOAD
|
||||
ITISMOON
|
||||
DOT PUSH
|
||||
UNITW
|
||||
DSQ BDSU
|
||||
DP1/20
|
||||
PDDL DDV
|
||||
RESQ
|
||||
34D # (RN)SQ
|
||||
STORE 32D # TEMP FOR (RE/RN)SQ
|
||||
DMP DMP
|
||||
20J
|
||||
VXSC PDDL
|
||||
UNITR
|
||||
DMP DMP
|
||||
2J
|
||||
32D
|
||||
VXSC VAD
|
||||
UNITW
|
||||
STADR
|
||||
STORE GOBL1/2
|
||||
VAD PUSH
|
||||
UNITR
|
||||
ITISMOON DLOAD NORM
|
||||
34D
|
||||
X2
|
||||
BDDV* SLR*
|
||||
# Page 836
|
||||
-MUDT(E),1
|
||||
0 -21D,2
|
||||
VXSC STADR
|
||||
STORE GDT1/2 # SCALED AT 2(+7) M/CS
|
||||
RVQ
|
||||
|
||||
CALCRVG VLOAD VXSC
|
||||
DELV
|
||||
KPIP1
|
||||
VXM VSL1
|
||||
REFSMMAT
|
||||
STORE DELVREF # DELV IN REF COORDS AT 2(+7)
|
||||
VSR1 PUSH
|
||||
VAD PUSH # (DV-OLDGDT)/2 TO PD SCALED AT 2(+7)M/CS
|
||||
GDT/2
|
||||
VAD VXSC
|
||||
VN
|
||||
2SEC(22)
|
||||
VAD STQ
|
||||
RN
|
||||
31D
|
||||
STCALL RN1 # TEMP STORAGE OF RN SCALED 2(+29)M
|
||||
CALCGRAV
|
||||
|
||||
VAD VAD
|
||||
VAD
|
||||
VN
|
||||
STCALL VN1 # TEMP STORAGE OF VN SCALED 2(+7)M/CS.
|
||||
31D
|
||||
|
||||
KPIP 2DEC .1024 # SCALES DELV TO 2(+4)
|
||||
|
||||
KPIP1 2DEC 0.074880 # 207 DELV SCALING. 1 PULSE = 5.85 CM/SEC.
|
||||
|
||||
-MUDT(E) 2DEC* -7.9720645 E+12 B-44*
|
||||
|
||||
-MUDT(M) 2DEC* -9.805556 E+10 B-44*
|
||||
|
||||
2SEC(22) 2DEC 200 B-22
|
||||
|
||||
DP1/20 2DEC 0.05
|
||||
|
||||
RESQ 2DEC* 40.6809913 E12 B-59*
|
||||
|
||||
20J 2DEC* 3.24692010 E-2 B1*
|
||||
|
||||
2J 2DEC* 3.24692010 E-3 B1*
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue