
「MS-DOS」「Word for Windows」のソースコードがコンピューター歴史博物館で公開 35
ストーリー by hylom
さすがにWindowsはまだか 部門より
さすがにWindowsはまだか 部門より
あるAnonymous Coward 曰く、
米コンピューター歴史博物館は、「MS-DOS」および「Word for Windows」のオリジナルソースコードを同博物館のWebサイトで初公開した。公開されるのはMS-DOSのバージョン1.1と2.0、さらにMicrosoft Word for Windows 1.1a。それぞれダウンロードも可能。
同博物館では、これまでにも「Apple II DOS」「IBM APL」「Apple MacPaint」「Apple QuickDraw」「Adobe Photoshop」といった製品の歴史的なバージョンのソースコードが公開されている。今回、Microsoftの協力の元、その列に「MS-DOS」と「Word for Windows」が新たに加えられた形だ(GIGAZINE、窓の杜)。
公開しちゃったら (スコア:3)
Re:公開しちゃったら (スコア:1)
で、実際はどうだったの?
もう公開は始まってるんだから比較できるんでしょ
Re:公開しちゃったら (スコア:4, 参考になる)
でした。
Re:公開しちゃったら (スコア:1)
ちゃんとお金払って買い取ったものなのでQDOSとなら全く同じでも問題ないような。
CP/Mと同じコードが混ざってたら問題ですが。
Re: (スコア:0)
ビジネスとしては問題ないね、でも?という話でしょう。
Re: (スコア:0)
ビジネス以外では何か問題あるの?
Re: (スコア:0)
な〜んの問題もないでしょう。
Re: (スコア:0)
そうどすね。
Re: (スコア:0)
まあまるごと買収して正式に取得したものですから、全く同じでも驚かないですけどね。
解析本 (スコア:0)
秀和システムトレーディングの逆アセ解析本も思い出してあげてください
Re: (スコア:0)
ソースコードがアセンブリなんだから、実質的な価値はコメント部分だけ、ってことですから。
8086で開発して、デフォでZ80のエミュを積んでいるっていう構成も興味深いですが、当時の利用者には当然のことだったんでしょうね。
Re:解析本 (スコア:2, 参考になる)
うーん...。経験がない人にはそう思えるのは仕方ないのかもしれませんが、実際はそこまで簡単な話でもありません。
アセンブラで書かれたときに存在していた構造体やワーク領域などの各種ラベルなどがすべて失われているので、単に逆アセンブルするだけでは済まないのです。
これらの情報を意味ある形にまとめなおすのは、それなりに骨が折れるし、経験も必要とされるんですよ。
例えばジャンプテーブル。
これはどこまでがテーブルでどこからコードなのだろうか、とか、自動ではなかなか判断できません。
となると、このジャンプテーブルはどの値の範囲であることを求められているのか、といったことを目視で確認して手動計算したりする必要があるわけです。
また、明確にデータとコードが分かれていませんから、それぞれがいったいどちらの何なのかを分けなければなりません。
そもそもとして、アセンブリ言語自体がそれほど可読性が高くないですしね。
本質的な処理以外にレジスタの数の制限などでやりくりするコードが入るので、本来の処理だけを追えるわけでもなかったりとか...。
この場合はMS-DOSのことを言っているんでしょうが、動的に配置されるコード、例えばデバイスドライバやアプリケーションとの接合部分や、明示されていないBIOSや隠しシステムコールの呼び出しとか、実にいろいろなハードルがあります。
一度それほど大規模ではないプログラム、例えば8~16キロバイトのCOM形式の実行ファイルでやってみると、そこまで簡単な話ではないことがわかると思いますよ。
Re:解析本 (スコア:1)
それどころか、自己書き換えコードになってると聞いてますが……。
Re:解析本 (スコア:1)
エロゲを逆アセンブルして、モザイク模様のアニメーションルーチンを潰したりしたっけなぁ…
どうやってその箇所を特定したのかまったく覚えてないけど、エロパワー恐るべし。
モザイクは消えたけど、何も描かれておらずツンツルテンだったというオチがつきますが…orz
Re: (スコア:0)
Re: (スコア:0)
ランス3は楽でした。セーブデータの0の箇所を1で埋めていくだけでメッシュ外れたので。
もしかしたら特定のキーを入力するなどで外せたのかも知れませんね。
当初の目的はラレラレ石を集めるのが面倒だったからでしたが、偶然外れてラッキーでした。
Re: (スコア:0)
闘神都市あたりはモザイクをはずすとスジが見えたと思いますが、ちゃんと怒られてると思いますよ
Re: (スコア:0)
「アニメーション外したら絵自体がモザ済みだった」というオチはなかったのかな?
Re: (スコア:0)
>8086で開発して、デフォでZ80のエミュを積ん
なにか他の物と誤認していませんか?
Re: (スコア:0)
エスパーしてみると、V30 CPUに8080エミュレーションモードが
ついていたことを言いたかったのだと思う。
Re: (スコア:0)
8080から8086へはアセンブリ言語のトランスレータがあったので、ソースコードを変換することで移植が比較的楽にできた、という話をエミュレータと勘違いしたのかも。
Re: (スコア:0)
8086で開発して、デフォでZ80のエミュを積んでいるっていう構成
何の話ですか?
Re:解析本 (スコア:1)
trans.asm
のことかもしれません。
何かわかりませんが・・・
Re: (スコア:0)
じつは最初のバージョンはZ80エミュの上でCP/Mのコピーが動いてた
Re: (スコア:0)
CP/M 用の MS-BASIC がミニコン上の Z-80 エミュレータ上で開発されたって話の事を言ってるんですかね。
Re: (スコア:0)
8080ではなくて??
Re: (スコア:0)
すいません 8080 でした。
Re: (スコア:0)
CP/Mとはファイルシステムの構造からして違うのにそんなわけないじゃん
Re: (スコア:0)
いやいや、もしかしてMSX-DOSと勘違いしているのかもしれない。
http://ja.wikipedia.org/wiki/MSX-DOS [wikipedia.org]
どっちかというと、こっちのソースが見てみたい。
Re: (スコア:0)
開発の順番が
CP/M → MS-DOS → MSX-DOS
なので、MSX-DOSは最初っからファイルシステムはFATで作られてると思うし、CP/Mのコピーな訳はないと思う。
字下げスタイルがちょと気持ち悪い (スコア:0)
Wordのほうの字下げスタイルがGNUっぽくなっていますね。
{ } の位置がなんかちょっと気持ち悪い。
# GNUのスタイルはキライ
Re: (スコア:0)
コーディングスタイルはどうでもいいんだが
中のDOCファイルを正しく解釈し見目良く表示できる現在手に入るアプリケーションは何になるんだろう?
Re: (スコア:0)
Notepad.exe
Re: (スコア:0)
このころから既に、CRLFなんですね。
Re: (スコア:0)
CP/Mからだよ。