天駆けるHitBit 74
Aレジスタをゼロクリアする時にXOR AかSUB Aかで議論になったのか? 部門より
cyber205曰く、"「MSXは宇宙開発で重要な役割を果たしたパソコンである」と聞くと意外に思われるだろうか。
これは嘘ではない。実はロシア(ソ連)の宇宙ステーション「ミール」にはMSXが搭載され、画像処理用途に現役で使われていたのだ。その名はHB-G900P(MSX2)、SONYのHitBitである。
まず、知らない人はold-computers.comのHB-G900の外観を見て覚えよう。もっと詳しく見たい人は"Ma Petite Collection"のHB-G900画像も参考にするといい。
この機種はMSXとしては高級機にあたるキーボード分離型のマシンで、画像処理用の拡張が施されているモデルである。拡張ボックスに用意された4つの調整ツマミが印象的なマシンだ。
次にmsx.gnu-linux.netの中のMSX in SPACEのページにある、この動画を見てみよう。いかがだろうか。右側にあるディスプレイの下にあるマシンが、SONYのHitBitである。
別のアングルから取ったもっと大きな画像もある。最後の2枚を見ていただきたい。ミールが、確かにMSX2を積んで飛んでいたのがわかるだろう。"(続く…)
"これはおそらく、人間の生活圏のうち最も遠い場所に持ち込まれ、そしてどのMSXパソコンより長距離を、電源の入ったまま飛び続けたマシンである。
残念ながら、このマシンは1986年2月19日の打ち上げから15年後の2001年3月23日、廃棄されたミールの大気圏突入と共に燃え尽きた。
一人のMSXファンとしては何とか廃棄前に持ち帰って実物を博物館に置いてほしかったと思うが、もはや叶わぬ願いとなってしまったのが残念だ。
では、ソ連はなぜ、自国で開発したマシンを使わず、わざわざMSX規格のパソコンを日本から買って持ち込んだのだろうか。それは、冷戦と対共産圏輸出統制委員会(COCOM)の規制品目に理由がある。
WikipediaのMSXのページに書かれた「MSXと冷戦」というセクションにはこう書かれている。
ソビエト連邦を中心とする共産圏の国々では、対共産圏輸出統制委員会(ココム)の禁輸品目の中にコンピュータを含む電子機器も含まれており、16ビット以上のコンピュータは輸入することが出来なかった。そのため、低性能のため対象外とされていた8ビット機を大量に輸入し、またコピーして使用していた。共産圏でも8ビット機は規制を受けずに自由に輸入&利用することができたため、ソ連は自由に輸入できた8ビット機をいろいろ試した末に、MSXアーキテクチャの相互互換性と強力な拡張性を高く評価して、この規格のパソコンを学校の初等教育用に採用、そして可能なら他の多くの応用分野にも利用し、軍事や宇宙開発も含めて広く活用していたという。
中には、MSXを拡張して独自のネットワークシステムを構築していた例もあるのだとか。
CQ出版のInterfaceに掲載されている鎌田 博之さんのコラム「電脳事情にし・ひがし」にはロシアのソフトウェア開発に関する興味深い情報があるので是非一読いただきたい。
その中の「ロシア製ソフトウェアそのものの優秀性」という部分に、
ソビエト当時は入手できるハードウェアが,西側では2世代か3世代前のものであり,西側のものに比べ,メモリ・サイズが小さい,CPU速度が遅い,ハードウェアの物理的なサイズが大きいなどのハンディを背負った開発を余儀なくされました.必然の結果として,ソフトウェアは,機能性を損なうことなくフット・プリントは小さく,メモリ・リークは厳禁,性能向上のため,OSを含めた基本ソフトの独自技術の開発を促し,これを多様な科学分野の優秀な頭脳で実現したわけですと書かれていて、貧弱なマシンをフル活用するために知恵を絞ったことが、現在のロシア人ハッカーたちの技術を支えていることがわかる。
ではその、2世代か3世代前の入手できたマシンとは何だったのか。そこにはCOCOM規制から外れて自由に輸入できたMSXが含まれていたのは想像に難くない。
東側の優秀な技術者を、多量に採用されたMSXが初等教育から付き合って鍛え上げた。
同じコラムの中に、ロシアのソフトウェア技術者が「とくに基本ソフトウェアやインフラ系の技術に強い」と特筆されているのは興味深い。
現在、ロシアのソフトウェア技術者は、そういった地味ながら重要な部分で、無視できない実力者として頭角を現しつつあるそうだ。
8ビット機でありながら、よく考え抜かれた設計を持つこのアーキテクチャを、ロシアを含む東側の諸国が高く評価し、初等教育から宇宙開発にまで採用したことを知り、鉄のカーテンのむこうで、MSXが大活躍していたのを知ったのは私にとって意外な喜びだった。
既にパソコンは32ビット機が普通で、いまや64ビット機も広く市販される時代になったが、いまだに以前の愛機だった8ビット機を忘れられない御仁もいらっしゃるだろう。
ここでは懐かしい想い出と共に、あの当時のことを思う存分に語っていただきたい。"
Linter (スコア:3, 興味深い)
官公庁・軍用に使用されていたDBだったというのがすごいですね。
キーボード分離型 (スコア:2, 参考になる)
このカタログかっこいい。
ソニーが憧れられる時代だったなあ(遠い目)
小学生のときに同級生が持ってた。
キーボード一体型しか持ってなかったからなんか凄そうに思ったなあ。
ゲームするには何もかわらんけど(笑)
Re:キーボード分離型 (スコア:1)
捨てる気になれなくてねぇ。
ハードもソフトもこいつで学びました。
基礎教育には最高だと思いますね。MSX。
# 今実用に耐えるかと訊かれれば、
# 「質問自体がナンセンスだ」
# と答えるでしょうが。
Re:キーボード分離型 (スコア:0)
写真等を見た限りではSMC-70GのMSX版という印象ですね.
Re:キーボード分離型 (スコア:1)
現物は見たことないんだけど。
昔輝いてたメーカーばっかり(ため息)
ミール予備機 (スコア:2, 参考になる)
さすがにHitBitは置いてなかったですが、内部の壁面にVHSビデオの再生機とモニタが埋め込まれており
「ココムには抵触しなかったのか」と驚いた覚えがあります。
他にもドッキングポートの脇に剣山のような電極が剥き出しになっていたり
操作パネルの類が意外と雑な作りだったり
「こんなのが宇宙を飛んでいたのか」とびっくりすることうけあいです。
And now for something completely different...
Re:ミール予備機 (スコア:0)
# ゲスなのでAC
天駆けるPDA (スコア:2, 興味深い)
とんでもない場所でPDAを使っているコンテスト
準優勝 使用場所:宇宙
http://www.visavis.co.jp/shop/contest/contest0402_1.html [visavis.co.jp]
Cute-1.7 + APD Project
http://lss.mes.titech.ac.jp/ssp/cute1.7/ [titech.ac.jp]
Re:天駆けるPDA (スコア:0)
利用可能温度範囲も狭いので邪魔になるだけでしょうけど。
# あっても誰が見るんだという問題が…。
VNCみたいなもので地上からリモート操作出来たら面白いのにな。
既にディスプレイの無い組み込みマシンで、LAN経由でVNCを使ってXを動かす [ebimemo.net]
みたいなことをやっている人はいるようです。
Re:天駆けるPDA (スコア:1)
外さないと駄目なのか。
「使わないから」だけなら放置、でもよさそうだけど、 わざわざ外すのは耐衝撃とか、壊れたとき周りに害があるとか、そういった影響があるからかな。あと重量削減か。
わざわざXサーバまでリモートで上げるなんて何のためのXだか……
リンク先の人はやってみたかっただけなんでしょうけど、実用的には、手元マシンのXサーバへリモートのXクライアントからふつうにdisplayを飛ばすだけの話なわけで、VNC一揃いととリモート側のXサーバが完全に無駄ではないかと。
Re:天駆けるPDA (スコア:1)
こういう使い方をすると手元のマシンを落としてもX clientを落とさなくてすみます。確かにXはネットワークごしに使えますがGNU screenのような使い方はできません。
あと、VNCを使ってXを動かすというのはVNC serverがX serverとしても動くということです。仮想画面になるのでVNC clientを使わないと画面を見ることもできませんがモニタ無しの環境なら別段問題にはならないでしょう。
NASAはThinkPadを選択 (スコア:2, 参考になる)
「ThinkPadを“拷問”――「IBM大和事業所」を見てきました」 [itmedia.co.jp]の記事によれば、『1993年12月2日以来、スペースシャトルでの作業に毎回使用され、最近では国際宇宙ステーションでもThinkPad A31pが採用され…宇宙でのPCシェアは今のところ100%(笑)』とのことだ(これにはPDA [srad.jp]は含まれていないのだろう)
またシンクパッド - Wikipedia [wikipedia.org]の記事によれば、無重力空間で利用可能なマウスの代替を求めるNASAの要望に応えてトラックポイントが開発されたらしい。
(関連記事)IBM ThinkPad 760XDに搭載されたCisco SoftPhone [cisco.com]
Re:NASAはThinkPadを選択 (スコア:2, おもしろおかしい)
IBMの技術者たちはこの問題に立ち向かうべく、数多の歳月と開発費をかけて研究を重ねた。
その結果ついに、無重力でも上下逆にしても、どんな状況下でも安定稼動するThinkPadを開発した!!
一方ロシアはMSXを使った。
Re:NASAはThinkPadを選択 (スコア:1)
ソ連と西ドイツは・・・ (スコア:2, 参考になる)
ドイツのジーメンスなんかも富士通におんぶにだっこですもんね。
http://www.fujitsu-siemens.de/ [fujitsu-siemens.de]
2世代か3世代前の (スコア:1, 興味深い)
> 同じコラムの中に、ロシアのソフトウェア技術者が「とくに基本ソフトウェアやインフラ系の技術に強い」と特筆されているのは興味深い。
厨房時代から8bitで戯れてたその世代ですが、社会人になってからこっちOSとインフラばっかりやってます。 気がついてみたらリストラでどんどん人がいなくなって残党1名のみの背水の陣です。 新人さんは入門してこないし、景気よくなってきてるからころあいみて宇宙に飛び出します。 今年、来年は飛翔の年でしょう。 決心表明なのでAC
Re:2世代か3世代前の (スコア:1)
宇宙計画はどうなっただろ
人々のヒットビット (スコア:1, おもしろおかしい)
Re:人々のヒットビット (スコア:3, 参考になる)
しかし、「マツドサイエンティスト研究所」を書いている本当のロケット屋、野田指令の
「なつのロケット」 [nifty.com]関連の研究報告を見ると、
> 位置を計算し、ロケットを制御するために必要なコンピュータの性能は意外と高くない。
> 携帯型のゲーム機で十分であり、これもジャンクなどから簡単に入手できると判断した。
> 電源は、ミニ四駆用のニッカド単三電池を5・6本あれば十分であろうし、
> アクチュエータにはラジコン用のサーボを使いる。
…という見解が載っています。携帯ゲーム機というと、多分ゲームボーイだと思うのですが、
「なつのロケット」が単行本になったのは2001年で、設定が考えられたのはそれより前でしょうから、
2001/03に発売の、ARM7TDMIを積んだゲームボーイアドバンスはまだ発売されていないはず。
32Bitプロセッサである必要は無いということでしょうか。
ATARIのLynxは16Bitのカスタムプロセッサだったそうですが、多分これは想定外でしょうね。
アポロ宇宙船で使われた誘導コンピュータ[Apollo Guidance Computer(AGC)] [wikipedia.org]についても調べてみましたが、
>[覚え書き] 2. これだけのすばらしい功績を挙げながらも、実際の性能は後に出るファミコンよりも低かったといわれている。
> 今では、これだけの低スペックでよく月にいけたものだと言われている。
とか書いてあります。6502カスタム/1.79MHzを積んだファミコンより性能低かったって…。
AGCとは別に、サターンの器械リング [ibm.com]にもIBMのコンピュータが設置されていて、
launch vehicle digital computer (LVDC)と言われていたのですが、その資料はここにpdfでありました。 [klabs.org]
33頁にあります。2MHzのクロックで、命令13Bit+1パリティ、データは26Bit+2パリティ、
最小命令実行時間82マイクロ秒、最大メモリ容量、
磁気コアメモリを8ユニットフルに装備して 28Bitx32Kword
(パリティが2Bitあると考えてフルコア実装で104KB)というものだったらしい。
結構メモリ搭載量、ビット幅共に多いけれど、
最小の命令実行時間が82μSecもありますので、Z80なんかと比べると動きはのろいです。
0.0129MIPS…ですかね。1960年代のコンピュータですし。
今は自動車ですら32BitのプロセッサにITRONを積んでエンジンを回してますが、
あの当時、宇宙飛行士の皆さんはこんなのに命を預けて飛んでたわけです。
本当に凄いなと思いました。
Re:人々のヒットビット (スコア:1)
日本版だと記述が違いますね。 [wikipedia.org]
> CPU:16ビットカスタムCPU
ということになってました。
もしかして、英語版の記事にある、
> Suzy (16-bit custom CMOS chip running at 16MHz)
というのは、CPUではなく、グラフィクス専用チップでしょうか。
ATARIはジャガーなんかでも、
メインが68000なのにグラフィックスエンジンやその他周辺が豪華 [wikipedia.org]
だったりして、ソフトを作る側もいつのまにか
周辺チップのほうをメインの処理CPUにしてたりするので油断なりません(笑
部門名 (スコア:1, 興味深い)
後でパッチ当てするときは"3E 00"を、固定的なら"AF"を使いましたが。
Z80時代はハンドアセンブルばかりだったAC。
Re:部門名 (スコア:0)
Re:メモリ空間をクリア (スコア:0)
01 01 00
36 00
09
D2 06 00
か?
#ミヤマのトグルスイッチの感触がなつかしいAC.
Re:メモリ空間をクリア (スコア:1)
いや、Z80なら普通はLDIRを使うのが常套。さしずめ、
で、確か一番高速なのは適当にアンロールしたPUSHの羅列(要割込禁止)。
ところで、そもそもこのプログラムが何したいのかよくわからないのだが、ORG 0と考えて000CH番地以降の65524バイトをゼロクリア、でいい?
あと、最後に何か書いておかないと、今埋めた0も命令と解釈して無限ループするんだけど……
VIDEOTIZER (スコア:1, おもしろおかしい)
# 打ち上げ前に燃え尽きてました。
ルーマニアの (スコア:1)
Re:ルーマニアの (スコア:2, 興味深い)
次期がありました。
本体のPDPはOKなのに、グラフィック端末(Z8000入り)が輸出できず、
わざわざ機能の落ちる端末に換えてUI全て書き直した事があるAC
ロシアといえば (スコア:1, 興味深い)
ゲーツに聞かせたい (スコア:0)
低スペックなら低スペックなりに工夫やテクの磨き甲斐がいくらでもある、という実例になってるんじゃないでしょうか。
Re:ゲーツに聞かせたい (スコア:1, すばらしい洞察)
# 基礎的アルゴリズム関係の良書が減ってしまってるのを嘆くAC
Re:ゲーツに聞かせたい (スコア:3, すばらしい洞察)
メモリの使用量とか速度を把握せずに組むのは破産的プログラミングです。必要とされるスペックを満たしていれば過度なチューニングより開発時間の削減や見通しのよいコードでバグを減らす、インターフェース回りに時間を書けるなどに使うほうがいいのでは、というだけでしょう。
たとえばメモリが512M、クロック3GHzのマシンで苦労してチューニングした結果1KBのメモリ削減したとか、あるソフトの応答速度が1msだったのを0.5msにしたとかそういうのが本当に必要かどうか。どこで妥協するかそのあたりの見極めはいつの時代も必要なだけ。
つまりチューニングの話と富豪的プログラミングは関係はありません。使用を満たしていなければ富豪的プログラミングでなくともだめなわけです。昔C言語が出てきたとき遅いしコンパイラはあほみたいにメモリ食うし、アセンブラで組めよといわれてたのと同じ。
#基礎的アルゴリズムの本以前に汎用ソフトウェア雑誌がほぼ全滅したことで新しくプログラムを組みたいと入ってくる人材はどんどん減るでしょうね。
Re:ゲーツに聞かせたい (スコア:1, 興味深い)
私はscienceやart的なinnovationと、engineering的なimprovementの違いだと思います。富豪的プログラミングはどちらかといえば前者の立場で、このストーリーのような旧ソ連の例は後者でしょう。どちらが重要ということもなく、良いものを生み出すには両方の立場からの考察が必要なんだと思います。
Re:ゲーツに聞かせたい (スコア:1, 興味深い)
Re:ゲーツに聞かせたい (スコア:1)
西さんは90年前後にMSと袂を別かっていますから、今のMSとは余り関係が無いような。
MS BASICが多くの8bitマイコンに乗って、MS-DOSが高級品で「ふつーCP/M」だった時代の大手ベンチャーだったMSKKとそれ以降のMS-DOSやWindowsが主力OSになって寡占市場を形成した今のMSKKとでは会社として全く違うイメージがあるんですが…
Re:ゲーツに聞かせたい (スコア:0)
どのあたりが (スコア:0)
Re:どのあたりが (スコア:1)
宇宙機などを作る設計技術者の手元で使われる道具になるのも、
余計な物をあまり持ち込めない、狭い宇宙機の中で
実際に置いておく空間と電力を割り当てられて活用されているのも、
それぞれに重要な役割を果たしていると言えると思いましたので。
ココム規制の話を追加して、単にあのSONYの画像処理マシンだけが
重要な役割を果たしたのだとは書いてないのはそういう理由です。
長持ちだったんだな (スコア:0, 荒らし)
VAIOじゃただであげると言っても宇宙船には使って貰えそうにないです。
Re:長持ちだったんだな (スコア:1)
(電源入れてから1年は確実に動くんだから...)
notice : I ignore an anonymous contribution.
そもそも (スコア:0)
とは無縁だと思うが・・・
アセンブラプログラミングからCに入ったおかげで、
Cで書いても初期化時に必要なワークエリアを全部とって
その中を自分で管理して使う癖が抜けない・・・
結局メモリ確保は初期化時の1回だけなのでメモリ破壊で
止まるくらいしかしないし。
そのおかげで生産的なコードは書けない罠w
Re:そもそも (スコア:2, 興味深い)
OSなんてもんが乗っかっていないに近い状態で、メモリ管理やタスク管理の殆どをプログラム(プロセス)自体に任せている環境でアセンブラを使う場合はメモリ管理が一番シビアですよ。
スタックのネストだけではなく何ワードPUSH/PULLしたのかを厳密に見ないといけないのは勿論、MMUやらセグメントやらで仮想アドレスが使える場合以外はマシンの全てのメモリやI/Oに触れますから、アドレス参照の計算も気を付けないといけない
…そういう状況のハードでやっていたときを思い出すと、最近の開発環境にしてもOSにしても「作法だけはうるさいけどすごくぬるい」ですよ(^^;
抽象化したアルゴリズムを実装すれば一応は動きますからね…堅い作りにするには努力が必要なのは同じですけど;)
Re:そもそも (スコア:1)
けど所詮は目に見える範疇なんでトラブル対処としては楽ですよ。
OSなんて自分がタッチしていない所の影響を受ける物よりは。
まあ、単に頭が古いだけなのかも知れませんが。
自分のアセンブラ仕事でどうにもこうにも煮詰まったのは、68881の地雷だけだったかな?
他は結局時間さえ突っ込めば解らない物は無かったって感じでしたので。
Re:そもそも (スコア:0)
Re:そもそも (スコア:0)
スタックポインタとスタックメモリの管理の失敗は、今ならバッファオーバーフローと呼ばれる部分でしょうか。
PUSH/POP/CALL周りの微妙な取り扱いが・・・
Re:何でいまさらそんな話題? (スコア:2, 興味深い)
きっかけは単に「先日WikipediaのMSXの所を読んでいて、偶然知ったから」
…という理由です。それ以上の深い理由は無いです(汗
「すげ~、俺、感動した!」というわけで、詳しいことが気になったのでいろいろ調べていたら、
結構いろいろわかったので、これだけ情報があるならタレコんでみては…という、そんな感じです。
やはり、何かの記念日に合わせて出したほうが良かったかな。
二日前なら「ミールが消滅してから今日でちょうど5年」とか言えたのかもしれませんが、
資料を集めたり、文章をまとめるほうに時間がかかっちゃいました。
Re:何でいまさらそんな話題? (スコア:1)
F900はこの後継にあたります。
大学時代に購入しましたが、文書作成、音楽作成、
ゲーム、そして、C言語などのプログラミング。
とにかく、特に思い出深いパソコンです。
そのマシンですが、今も家にあり、未だに正常に動作します。
MSXをあまり知らない世代の人に、関心を持ってもらえるのは
感慨深いですね。
MSX,MSX2は、当時にしては珍しく、メーカー間の垣根を
越えて、周辺機器が利用できたのも魅力でした。
各社が得意分野を生かした特徴のあるMSXマシンや
周辺機器を作ってました。
Re:何でいまさらそんな話題? (スコア:2, 興味深い)
ミールの中から中継したとき、その背後にMSXがはっきりと
写っていたことで話題になりましたよね。
全国ネットで、当時すごい騒ぎだったので、見た人は
けっこう多いはずです。
タレコミ人はその映像を見ていなかったか、当時見ても
MSXだという代物を知らない世代(幼いか、逆に年配)
だったのか。
一方ロシアは8ビットを使った (スコア:1)
モデレート したいときには 権利なし
かつかれー
Re:何でいまさらそんな話題? (スコア:0)
Re:80年代当時、秋葉原では (スコア:1)
略して「ソの中の人」