パスワードを忘れた? アカウント作成
125895 story
月

アポロ11号で利用されたプログラムのソースコード、公開中 57

ストーリー by hylom
知らなかった 部門より

あるAnonymous Coward 曰く、

Radium Softwareで知ったのだが、Google Code上でNASAのアポロ11号で使われた、AGC(アポロ誘導コンピュータ)のソフトウェアが公開されているそうだ(これを紹介するGoogle Code blog。ソースコードへのリンクもあり)。

ソースコードはアセンブリ言語で記述されており、コード中のコメントなどもそのまま残されているそうだ。数少ない「月に行ったプログラム」の中身を見られるというのは興味深い。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 紹介Blogの中にもリンクがありましたが、エミュレータがあるようですね。
    http://www.ibiblio.org/apollo/index.html [ibiblio.org]
    今回公開されたソースも含まれているんですかね。

    子供の夏休みの自由研究にでもいじらせてみようかしら

    --

    IDENTIFICATION DIVISION.
    AUTHOR YUKI-KUN.
  • by Anonymous Coward on 2009年07月29日 11時36分 (#1613689)
    反面教師とか失敗例として。
  • by s02222 (20350) on 2009年07月29日 11時45分 (#1613693)
    ROMの特定アドレスに13が書き込まれてるときにだけ起こるバグを見つけた人が勝ちですか?
  • by motamota (30138) on 2009年07月29日 12時12分 (#1613712)

    アポロ11号のコンピュータは着陸寸前に過負荷でダウンしてしまい、なんとか手動で着陸したものの、あと少しで着陸断念に至るところだった。
    当時はこの事実は伏せられていたが、もしも公表されていたらIBMの株は暴落必至だった。

    という話を聞いていたんですが、今ウィキペを見たらコンピュータのせいじゃなくて人的なミスってことになってるんですね。

    ソースが公開されたってことは、ソースにも隠さなければならないような欠陥は無かったってことですか。

    • 月着陸ゲームが (スコア:2, すばらしい洞察)

      by Anonymous Coward on 2009年07月29日 12時38分 (#1613743)
      着陸直前だけ手動なのはそういうことだったのですね
      親コメント
    • たとえ欠陥があったとしても時効な気が。

      --
      TomOne
      親コメント
    • by Anonymous Coward on 2009年07月29日 13時31分 (#1613808)
      誰も悪くない
      ・管理者:トータル試験が成功したので、打ち上げまでに各担当は最終調整で改善の余地が有る部分は完璧を目指せ!
      ・エンジン開発者:予備点火・消灯のタイミング調整でエンジンレスポンスが一桁良くなったぜ
      ・ソフトウェア開発者:エンジン特性を組み込んだエミュレータで完全な制御をしているのを確認
      ・宇宙飛行士:あらゆるトラブルに備えて手動で運転の練習

      エンジンの改良により制御遅延時間のパラメータがソフトウェアと合わなくなっていた
      のでエンジンパワーの増減を繰り返して着陸不能。
      だが、エンジンレスポンスが良くなっていたので手動操作が楽に行われた。
      親コメント
  • これさえあれば (スコア:1, おもしろおかしい)

    by Anonymous Coward on 2009年07月29日 11時27分 (#1613687)
    月に行ける?
  • 車で30分もかかる所のお客様のPCに導入してさしあげるソフトや、
    この操作したらデータ消失かもですよっとお客様に促す注意事項や、
    真夏の炎天下で「大丈夫かな?」と置いていく事にためらうiPodや、
    1週間留守する間に録画容量やばいかなと心配する地デジ録画機とは、

    すごくちがうんでしょうね、うちゅうようこんぴゅうたーは。

    ・・・技術的にって事じゃなくて、
    不足の事態の回避策と対応策のボリュームって意味ですからね一応。
    このプログラムを走らせるのに想定された環境とスペックを知ってみたい。

  • by Anonymous Coward on 2009年07月29日 12時04分 (#1613705)

    意外と普通ですね

    私がまだプログラムを書いていなかった幼少の頃のソースだと思えば
    凄いことではあるのかも知れませんが
    私がアセンブラでプログラムを書いていた頃と比べても
    特に凄そうな部分はありませんね
    逆にバグを減らす為にあえてそういった書き方になっているのかも知れませんが

    • by gimlet (21802) on 2009年07月29日 12時19分 (#1613719)
      アポロがすばらしいのはシステムをトータルで見たときじゃないだろうか?
      プログラムが普通(凄くない?)というのは当然のような気がします。

      #むしろ「凄いプログラミング」してたら、酷いことになっていたような…
      親コメント
      • Re:まあ当然ですけど (スコア:3, おもしろおかしい)

        by TarZ (28055) on 2009年07月29日 13時01分 (#1613779) 日記

        いやいや、何をおっしゃる。これこそ"THE REAL PROGRAMMER"の仕事の一つですよ。

        # 確かにPASCALじゃなかった!

        親コメント
        • by Anonymous Coward

          逆にこの時期にまだ出来ていないPASCALで書かれていたらそれはそれですごい事だがw

          # 本物のプログラマーは未発表の言語しか使わない:)

    • by Anonymous Coward

      まぁ洞窟にある太古の壁画とか、どうみても普通だけど現存するだけで価値があるのとおんなじで
      「月に行った」という点に価値があるんじゃないかな。

      • Re:まあ当然ですけど (スコア:1, すばらしい洞察)

        by Anonymous Coward on 2009年07月29日 12時49分 (#1613766)

        そのものだけを見てもたいした感動がないというのは
        多くの歴史的遺物の鑑賞に言えることかもですね。
        背景に思いいたさないとあんま意味がないという。
        戦国時代の古戦場を見て「普通だよね」というような。

        たとえば、4004が生み出された背景にはアポロでパブリックに
        されたCPUの技術があったそうですから、元ネタの方がご幼少の頃に
        プログラミングに取り組めたのも、アポロの成果が多少は影響してる
        んだなあと思えば、それなりの感慨はあるんじゃないですかね。

        親コメント
        • 4004以前の技術だけど、
          かつて4相レシオレスMOSの技術が、DRAMのチャージポンプに使われて・・・
          4TrのDRAMが実現(現在では、1Trですが)
          この結果、メインフレームのメモリー搭載されるようになってきましたし

          この手の技術って裏方なんですけど、無くてはならないものが、多いですね。

          親コメント
    • by Anonymous Coward
      そしたら書き直して上げたらええやん
  • by Anonymous Coward on 2009年07月29日 12時46分 (#1613762)

    http://msx.jpn.org/tagoo/s_check.cgi?LINE=76 [jpn.org]

    アポロのプログラムと聞いて
    幼少の頃、よく遊んだのを思い出しただけですが。

    • Lunar Lander (スコア:2, 興味深い)

      by juan (3871) on 2009年07月29日 15時26分 (#1613900) ホームページ 日記

      アーケードの Lunar Landerが鬼のように難しかったのを思い出します。
      再現した物 [atari.com]がありますが、慣性がきいて思うように動いてくれない、燃料はすぐなくなる、月面はやたらとでこぼこで、さっきやってみたらやはり着陸失敗でした(笑)。
      元のゲームはベクタースキャン特有のなめらかな画面と動きがよかったんですが、再現版はしょうがないけど着陸船が小さすぎて潰れて見えます。

      親コメント
    • by Anonymous Coward
      私が最初に書いたプログラムも月着陸ゲームでした。
      フルテキストのUIでなんだかよく分りませんでしたが。
  • by Anonymous Coward on 2009年07月29日 13時04分 (#1613784)
    今のPCと比べるべくも無いとは思いますが・・・果たして、
    その頃のCPUは今のPCで使っているCPUと比べるとどれくらい
    の速度なんでしょう?

    どこかに 資料とかあるのでしょうか?
    • by yuki-kun (1485) on 2009年07月29日 13時28分 (#1613803) ホームページ 日記

      タレコミ分のリンク先に大まかに書いてありますよ。
      http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%9D%E3%83%AD%E8%AA%98%E5%B... [wikipedia.org]

      単純に動作クロックだけで言えば、
      比べる対象にもよりますが1/1000以下ですね。

      --

      IDENTIFICATION DIVISION.
      AUTHOR YUKI-KUN.
      親コメント
    • Re:どれほどの CPU?? (スコア:2, おもしろおかしい)

      by Anonymous Coward on 2009年07月29日 16時11分 (#1613930)
      ApolloのCPUといえばMC68000...
      親コメント
    • by gona55 (33626) on 2009年07月29日 20時35分 (#1614015)
      宇宙用途のCPUは配線を細くできないわけで(宇宙線で断線する)
      現行の衛星のCPUでも8086程度がまだ使われてるよ
      60μとか45μとかそんなレベルはもってのほか 太ければ太いほどいい
      今の地上のPCと比較しても意味無いよ
      親コメント
      • となると演算パワーはCPUじゃなくASICというか
        ハードワイヤードなチップで稼いでるのかなぁ。

        難しいことは端末(宇宙船)では行わせないようにして
        演算はすべてホスト(基地)でやるってこと??

        シンクライアントじゃねえか!!(チゲー

        #コンピューター、と画面にまず喋るんだ・・・

        親コメント
      • by Anonymous Coward
        断線するのではないですね(ないとは言い切れませんが)。
        ビットが宇宙船(電荷を持っている)で反転してしまう確率が,
          (細かいプロセスー>省電流のロジック->電子の絶対量が少ない)
        大きくなるため,最先端のプロセスは使いにくいわけです。
      • by Anonymous Coward

        破壊されるとしたら、配線より素子そのものじゃないっすか?
        ゲート絶縁体の厚みとかもう原子数個分の世界ですし。

    • by Anonymous Coward

      アポロのコンピューター性能についてよく見聞きするのは「ファミコン程度」ってやつで
      スペースシャトルは「スーファミ程度」だそうな

      #これを任天堂指標という(大嘘)
      #じゃあオリオンは「Nintendo64程度」になるのかな?

typodupeerror

日々是ハック也 -- あるハードコアバイナリアン

読み込み中...