パスワードを忘れた? アカウント作成
10791477 story
マイクロソフト

「MS-DOS」「Word for Windows」のソースコードがコンピューター歴史博物館で公開 35

ストーリー by hylom
さすがに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窓の杜)。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by saitoh (10803) on 2014年03月27日 16時07分 (#2570215)
    ソースを公開したら、ティムパターソンが書いたQDOSのソースとドンだけちがってるかばれちゃいますね。いまさら構わないってことかな。
  • by Anonymous Coward on 2014年03月27日 14時14分 (#2570160)

    秀和システムトレーディングの逆アセ解析本も思い出してあげてください

    • by Anonymous Coward

      ソースコードがアセンブリなんだから、実質的な価値はコメント部分だけ、ってことですから。

      8086で開発して、デフォでZ80のエミュを積んでいるっていう構成も興味深いですが、当時の利用者には当然のことだったんでしょうね。

      • Re:解析本 (スコア:2, 参考になる)

        by Anonymous Coward on 2014年03月27日 15時29分 (#2570199)

        ソースコードがアセンブリなんだから、実質的な価値はコメント部分だけ、ってことですから。

        うーん...。経験がない人にはそう思えるのは仕方ないのかもしれませんが、実際はそこまで簡単な話でもありません。
        アセンブラで書かれたときに存在していた構造体やワーク領域などの各種ラベルなどがすべて失われているので、単に逆アセンブルするだけでは済まないのです。
        これらの情報を意味ある形にまとめなおすのは、それなりに骨が折れるし、経験も必要とされるんですよ。

        例えばジャンプテーブル。
        これはどこまでがテーブルでどこからコードなのだろうか、とか、自動ではなかなか判断できません。
        となると、このジャンプテーブルはどの値の範囲であることを求められているのか、といったことを目視で確認して手動計算したりする必要があるわけです。

        また、明確にデータとコードが分かれていませんから、それぞれがいったいどちらの何なのかを分けなければなりません。

        そもそもとして、アセンブリ言語自体がそれほど可読性が高くないですしね。
        本質的な処理以外にレジスタの数の制限などでやりくりするコードが入るので、本来の処理だけを追えるわけでもなかったりとか...。

        この場合はMS-DOSのことを言っているんでしょうが、動的に配置されるコード、例えばデバイスドライバやアプリケーションとの接合部分や、明示されていないBIOSや隠しシステムコールの呼び出しとか、実にいろいろなハードルがあります。

        一度それほど大規模ではないプログラム、例えば8~16キロバイトのCOM形式の実行ファイルでやってみると、そこまで簡単な話ではないことがわかると思いますよ。

        親コメント
        • by Anonymous Coward on 2014年03月27日 17時32分 (#2570270)

          それどころか、自己書き換えコードになってると聞いてますが……。

          親コメント
        • by Anonymous Coward on 2014年03月27日 20時21分 (#2570358)

          エロゲを逆アセンブルして、モザイク模様のアニメーションルーチンを潰したりしたっけなぁ…
          どうやってその箇所を特定したのかまったく覚えてないけど、エロパワー恐るべし。
          モザイクは消えたけど、何も描かれておらずツンツルテンだったというオチがつきますが…orz

          親コメント
          • by Anonymous Coward
            ランス3だと・・・・・
            • by Anonymous Coward

              ランス3は楽でした。セーブデータの0の箇所を1で埋めていくだけでメッシュ外れたので。
              もしかしたら特定のキーを入力するなどで外せたのかも知れませんね。

              当初の目的はラレラレ石を集めるのが面倒だったからでしたが、偶然外れてラッキーでした。

          • by Anonymous Coward

            闘神都市あたりはモザイクをはずすとスジが見えたと思いますが、ちゃんと怒られてると思いますよ

          • by Anonymous Coward

            「アニメーション外したら絵自体がモザ済みだった」というオチはなかったのかな?

      • by Anonymous Coward

        >8086で開発して、デフォでZ80のエミュを積ん
        なにか他の物と誤認していませんか?

        • by Anonymous Coward

          エスパーしてみると、V30 CPUに8080エミュレーションモードが
          ついていたことを言いたかったのだと思う。

        • by Anonymous Coward

          8080から8086へはアセンブリ言語のトランスレータがあったので、ソースコードを変換することで移植が比較的楽にできた、という話をエミュレータと勘違いしたのかも。

      • by Anonymous Coward

        8086で開発して、デフォでZ80のエミュを積んでいるっていう構成

        何の話ですか?

        • by barrel (25979) on 2014年03月28日 1時15分 (#2570489)

          trans.asm
          のことかもしれません。

          何かわかりませんが・・・

          親コメント
        • by Anonymous Coward

          じつは最初のバージョンはZ80エミュの上でCP/Mのコピーが動いてた

          • by Anonymous Coward

            CP/M 用の MS-BASIC がミニコン上の Z-80 エミュレータ上で開発されたって話の事を言ってるんですかね。

          • by Anonymous Coward

            CP/Mとはファイルシステムの構造からして違うのにそんなわけないじゃん

            • by Anonymous Coward

              いやいや、もしかしてMSX-DOSと勘違いしているのかもしれない。
              http://ja.wikipedia.org/wiki/MSX-DOS [wikipedia.org]

              どっちかというと、こっちのソースが見てみたい。

              • by Anonymous Coward

                開発の順番が

                CP/M → MS-DOS → MSX-DOS

                なので、MSX-DOSは最初っからファイルシステムはFATで作られてると思うし、CP/Mのコピーな訳はないと思う。

  • by Anonymous Coward on 2014年03月27日 18時16分 (#2570287)

    Wordのほうの字下げスタイルがGNUっぽくなっていますね。
      { } の位置がなんかちょっと気持ち悪い。

    # GNUのスタイルはキライ

    • by Anonymous Coward

      コーディングスタイルはどうでもいいんだが
      中のDOCファイルを正しく解釈し見目良く表示できる現在手に入るアプリケーションは何になるんだろう?

typodupeerror

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

読み込み中...