![宇宙 宇宙](https://srad.jp/static/topics/space_64.png)
Apollo 11号に搭載されたコンピュータのソースコード、GitHubでも公開 25
ストーリー by hylom
50年を経ての開発再開 部門より
50年を経ての開発再開 部門より
人類を初めて月面に送り込んだアポロ11号で使われていた、誘導用コンピュータのソースコードがGitHubで公開された(Engadget Japanese、BusinessNewsline)。ライセンスは「Public domain」となっている。
以前もアポロ11号で利用されたプログラムのソースコード公開が話題になったが、今回はGitHubでの公開とのことで、プルリクエストやissueの報告も受け付けており、いくつかのプルリクエストがマージされている。
専用のハードウェア(アポロ誘導コンピュータ、AGC)向けのコードであるため、一般的なハードウェアで実行させることは困難だが、コードの構成やコード中のコメント、メッセージなどに色々と興味深い点があるようだ。
コメント (スコア:2)
こんなの [srad.jp]もあるのかな?
アポロ13号のソースは公開しないのかなあ? (スコア:0)
ホントか都市伝説かは知らんけど1文字違いで大変な事になったってやつ
Re: (スコア:0)
宇宙船より着陸船のプログラムを
ヒューマンエラーの監視で初めてコンピュータが主導権を乗っ取れる仕組みが導入された着陸船のプログラムを
Re: (スコア:0)
いつのまにかアポロ13号って話になっていたのか。FORTRANでカンマとピリオドを間違えたって奴でしょ。
# 自分が聞いたときは打ち上げ失敗ってことだったからアポロ13号ではないな。
Re: (スコア:0)
カンマ一文字間違いで爆発したのは、ジェミニ計画のタイタンロケット。
Re:アポロ13号のソースは公開しないのかなあ? (スコア:2, おもしろおかしい)
NASAの元同僚氏はマーキュリーロケットだと言っているし
http://catless.ncl.ac.uk/Risks/9.54.html#subj1 [ncl.ac.uk]
別の人は都市伝説だと言っている
http://www-users.cs.york.ac.uk/susan/cyc/p/fbug.htm [york.ac.uk]
Re: (スコア:0)
あ、それ都市伝説
Re: (スコア:0)
アポロ13号の爆発原因は、映画でも描かれている通り
撹拌装置のスイッチの入れ間違いだったはず。
Re: (スコア:0)
配線被覆がむき出しになっていてショートしたからでは?
攪拌スイッチはそのトリカになっただけ
もうちょっと進んだ段階で攪拌=爆発していたら帰ってこられなかった
Re: (スコア:0)
wikipedia見たら、スイッチの入れ間違いというより、
製作上問題のあったところへ、スイッチ投入で爆発みたいですね。
Re: (スコア:0)
地上試験で故障したタンクを再利用したから。
地上でしか使わないガス取り出し用のバルブが故障していて、試験で充填した後に液酸が出せなくなった。
で、温度制御があるから過熱せず程よく抜けるだろうと思って許可を得てヒータを入れたまま一晩放置した。
その時に過電圧でサーモスタットが焼け落ちた。後に下ろして不具合ありとして保管されていたそのタンクが、
13号に割り当てられた。
13号では先の不具合発生時に配線の被覆が傷んだことで、攪拌しようと通電した時に火花が飛んで爆発した、と
推定されている。再現実験ではタンク温度は数千度に達したとか。
不自由な命令セット (スコア:0)
ハードウェアの規模と性能に厳しい制約があった時代の不自由な命令セットですな
これと比較したらローエンドのPICマイコンが高機能・高性能に見えてくるほど
コード開発は今のプログラマには耐えられんでしょう
Re: (スコア:0)
>コード開発は今のプログラマには耐えられんでしょう
なんだか、随分上から目線な言い草。俺たちの苦労に比べればってパターンの人かなぁ。
#大事なのは実際に役に立つ人かどうかだから、まあ何も言いませんが(言ってる?
Re: (スコア:0)
今時アセンブラで開発やってる人いないでしょ
Re: (スコア:0)
アセンブリ言語、最近人気が右肩上がり
http://developers.srad.jp/story/16/07/12/0438214/ [developers.srad.jp]
こんなトピックで盛り上がったばかりなのに何を言っているんだ
Re:不自由な命令セット (スコア:1)
COMETとCASLって、まだ有ったっけ?
修正してデプロイ先はあるの? (スコア:0)
ほとんどTYPOの修正っぽいけど、歴史的コードにマージされると楽しそう。
JAWP (スコア:0)
Wikipedia のアポロ誘導コンピュータ [wikipedia.org]の頁には命令セットの説明まであって感心した。外部リンク [wikipedia.org]も充実してて楽しめる。
# Copyright: Public domain.
ソースコードもみんな大好きパブリック・ドメインだから、Wikisource にも収められるな。
Re:JAWP (スコア:2)
何故25なのだろう。
-0とかの方が良さそうなのに。
Re:JAWP (スコア:1)
リターン命令が載ってないけどコードを見たら
TC Q
ってのがそうなのかな?(特定のアドレス指定で命令を変化させてる?)
マクロか疑似命令は使えたのかな?
Re: (スコア:0)
ええーハンドアセンブルでしょJK
マクロ?なにそれ?って時代だったでしょうな
# 昔はハンドコンパイルもしたのけど
Re:JAWP (スコア:1)
IBM-360やPDP-8も出ていたのでそんなに原始時代という程ではないようです。
CPUとしては小型にするために機能を削らなければならなかったのでしょう。
疑似命令は下のソフトウェアの項目にありました。
ソフトウェアインタプリタってコルーチンじゃないのかなぁ。
(最近のコルーチンはサブルーチンの引数を後ろに並べる形式の事じゃなくなってるのね(^^;)
Re: (スコア:0)
マイコンしか知らない人はそう思うでしょうが、実際はクロス開発です
Re: (スコア:0)
wikipediaには、
> 初期のプロトタイプである Christmas Computer のアセンブラ兼バージョン管理システムは YUL と呼ばれ[6]、
> ネイティブコードとインタプリタコードの正しい変換を行っていた。
とあるよ。
# 自分の最初の就職先はバージョン管理システムどころか、管理すらまともにしていなかった…
関係ないけど各言語のエラー (スコア:0)
ソースにあった Website: www.ibiblio.org/apollo. のリンク先見たら
Japanese:Sentaku sareta URL ha sonzai shimasen.
Wookie:GRRRRRRRRRRRAAAAAAAAAHHHHHHH GRAAAAAAAAAA, HRAGGGGGGGGG!!!
(C3PO):Let the Wookie have his files!
と出て何だこれ状態になった。
http://www.ibiblio.org/apollo/ [ibiblio.org]
が正しかっただけなのね。