Hatena::ブログ(Diary)

Radium Software

About

Twitter

 | 

2009-07-27

アポロ11号のソースコード

http://upload.wikimedia.org/wikipedia/commons/thumb/c/cb/AGC_user_interface.jpg/300px-AGC_user_interface.jpg

Google Code Blog - Apollo 11 mission’s 40th Anniversary: One large step for open source code...

アポロ11号の月面着陸から40周年ということで,最近やたらとアポロ計画関連の話題を見かける。そんな中,アポロ計画にちなんだ話題として Google Code Blog に投稿されたのが上のエントリー。 Google Code 上で公開されている Virtual AGC and AGS プロジェクトの中に, NASA のハードコピーから転記された本物の AGC (アポロ誘導コンピュータ)のソースコードがありますよ……とのこと。

このソースコードには,オリジナルアセンブリコードに記されていたラベルやコメントまでしっかり転記されている。それらの記述に目を通していると,そのコードを書いた人の考えや気持ちが伝わってくるようで面白い。

例えば Lambda the Ultimate などで話題になっているのが LUNAR_LANDING_GUIDANCE_EQUATIONS にある次の一節。

# Page 801
	CAF	TWO		# WCHPHASE = 2 ---> VERTICAL: P65,P66,P67
	TS	WCHPHOLD
	TS	WCHPHASE
	TC	BANKCALL	# TEMPORARY, I HOPE HOPE HOPE
	CADR	STOPRATE	# TEMPORARY, I HOPE HOPE HOPE
	TC	DOWNFLAG	# PERMIT X-AXIS OVERRIDE
	ADRES	XOVINFLG
	TC	DOWNFLAG
	ADRES	REDFLAG
	TCF	VERTGUID

テンポラリのコードのまま月まで行ってはる! いやもちろん,実質的に問題の無いコードだからこそ,このような形で残っているのだろう。ただもうちょっと頑張ってもっともらしい事を書いておけば,40年後に総ツッコミを受けるようなことにはならなかったと思うのだけれど。

命名のセンスにも,今とはちょっと違うものが感じられる。 UI ルーチンの名前は PINBALL だし,点火ルーチンの名前は BURNBABY だ(当時話題になっていた黒人運動家言葉から引用したらしい)。

#
# THE MASTER IGNITION ROUTINE WAS CONCEIVED AND EXECUTED,
AND (NOTA BENE) IS MAINTAINED BY ADLER AND EYLES.
#
# 		   HONI SOIT QUI MAL Y PENSE
#

"Honi soit qui mal y pense" ――「思い邪なる者に災いあれ」の言葉に,どのような意味が込められているのだろう。このプログラムを担当した Peter Adler と Don Eyles は ,AGC 開発チームの中では最も若い2人組だった(Eyles は当時 23 歳)とのことだから,ベテランばかりの職場の中で若者らしい自己主張をすべく,意味深長な引用をしてみたり,ルーチンに妙な名前を付けてみたり,そういうちょっと青臭いことをしたのかな,と思う。

おまけ

ニコニコ動画にこんな映像がアップされていた。 AGC の概要と当時の技術的背景を知るのに役立つと思う。

D

orangkucingorangkucing 2009/07/28 00:09 "Honi soit qui mal y pense" は master, routine, conceive, execute などを変な意味に取られる可能性があるからではないでしょうか。(逆に、変な風にも取れるよ、とわざと指摘してるのかもしれませんが。)

カワウソカワウソ 2009/07/28 10:50 情報公開に関するアメリカの姿勢に関しては、以前よりある種の憧れすら感じますし、社会として我々より大人なのかなとも思います。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

 |