第35回
ビットの化石

 長い間,筆者の研究室の棚には1枚の8インチ・フロッピーディスクが置かれていた.その8インチFDの物理フォーマットはいわゆる片面単密度なので最大240Kバイトしか入らない.それにはタイプで打ったラベルが貼ってあり,CP/M 1.4と書かれてある.そのエンベロープの中には登録用の返信用はがきがはさんであるが,そのあて先はパシフィックグローブのデジタルリサーチ本社になっている.

 これは1978年当時のCP/M 1.4版のマスタディスクなのである.しかも,デジタルリサーチ社から直接購入したもので,個人的に日本に持ち込んだ正真正銘のマスタディスクという逸品で,今なら「お宝鑑定団」で値がついても不思議ではない(?)代物である.今年は2003年だから,1978年から数えると25年目という切りのよい年でもあるし,このディスクの中を読み取ってディジタル保存してみようと,ふと思い立った.

 今ならまだ8インチFDのデータを読み取るFDドライブも残っていると思うが,いつまでもあるという保障はないだろう.そこで,歴史を残すという意味でも,今のうちに中のデータをビットとして再生しておくことは意味があるはずである.

ビットの発掘

 さて,ディスクからデータを読もうと思っても,残念ながら8インチFDドライブは筆者の研究室にはない.もちろんCP/Mが動くマシンもない.幸い,各種メディアを新しいフォーマットに変換してくれるサービスがあるということを聞き,物理イメージのバックアップとCP/MファイルのWindowsファイルへの変換を発注してみた.何週間かたってビットデータが納品されたのだが,そのファイルを見てびっくりする発見があった.

 筆者は,このFDの中はCP/M 1.4のマスタディスクのオリジナルイメージだけが入っていると思っていたのだが,中にはPIPやSTATといったトランジェントコマンドだけではなく,1980年当時のマイクロソフト社のCP/M向け開発環境一式が入っていた.マクロアセンブラ M80やフォートランコンパイラ F80,さらにはマイクロソフトの出世作であるMBASIC5.0版や筆者が若い頃にお世話になったBASICコンパイラ BASCOMが,おそらく動くと思われる状態で残っていたのである.

 CP/M時代のプログラムといえば関連ファイルは何もなく,.COMのファイル1個あれば動くものだったのである.今では,大切なマスタディスクをワークディスクのように上書きするとは非常識だと思うのだが,この非常識さが幸いして歴史的なビットデータがまとまって筆者の手元に残ることになった.世の中,何が幸いするかわからない.

 エンジニア的な視点として興味深いのは,各プログラムのサイズである.このディスクは片面単密度で,全体で240Kバイトしか入らないのだが,その中にCP/M 1.4本体に始まってM80,L80,F80,MBASIC,OBASIC,BASCOMまですべて入ってしまうのが昔のプログラムだったのである.

ビットの再生

 CP/M時代の「ビットの化石」をWindowsファイルに変換するという発掘作業が終わったので,次はその中身を調べるという作業に入った.まず手始めに,.COMファイルの中に埋め込まれているテキスト部分を抜き出して,そのバイナリファイルが作成された日付けや開発時代の痕跡を捜す.そのためには難しいことをする必要はなく,単にテキストエディタでバイナリファイルを開くだけで,中にあるASCII文字だけがそれらしく見えてくるはずである.

 筆者が期待したのは,当時(1980年頃)ならMBASICの開発ではビル・ゲイツ氏もコンソールに向かってプログラムを書いていたはずだから,その名前がどこかに残っているのではないかということだったが,出てくるのは単なる日付とバージョン情報,それと数少ないエラーメッセージ程度だった.FD1枚の容量が240Kバイトという時代なので,無駄なデータは少しでも削るというのがその頃の常識だったのかもしれない.

 次に行ったのは,このバイナリデータを実際に動かすことである.このディスクはマスタディスクなので,8080のエミュレータに簡単なBIOSをつけると自らブートできるのだが,ネット上にはCP/Mエミュレータというのもあるらしいので探してみた.そこでまず,簡単なほうからやってみた.CP/Mエミュレータをダウンロードしてコマンド引き数にMBASIC.COMをつけて立ち上げると,25年前のMBASICのプロンプトが再現されてしまった.当たり前だが,ビットの化石は劣化しない.

ビットの発掘は続く

 誌面の都合もあるので詳細は次回ということにするが,この発掘作業は目下継続中であり,近日中にも25年前の開発環境がPC上に再現されることになっている.その顛末は追って紹介することにしたい.

 ちなみに,このビットの化石状態のマスタディスク,実物はこういうものである.

  http://nis-ei.eng.hokudai.ac.jp/~yamamoto/otakara.html

やまもと・つよし

北海道大学大学院工学研究科電子情報工学専攻

計算機情報通信工学講座 超集積計算システム工学分野


「移り気な情報工学」のトップへ戻る

Interfaceのホームページへ戻る

コラム目次
New

移り気な情報工学 第62回 地震をきっかけにリアルタイム・システム再考

Back Number

移り気な情報工学
第62回  地震をきっかけにリアルタイム・システム再考
第61回  海を渡って卵を産む北京の「海亀族」
第60回  超遠距離通信とソフトウェア無線
第59回  IT先進国フィンランドの計画性
第58回  物理的に正しいITの環境対応
第57回  年金,e-チケットに見るディジタル時代の情報原本
第56回  「着るコンピュータ」から「進化した布地」へ
第55回  技術を楽しむネットの文化
第54回  情報爆発2.0
第53回  プログラミングの現場感覚
第52回  GPS+LBS(Location Based Service)がおもしろい
第51回  技術の格差社会
第50回  フィンランドに見る,高齢化社会を支える技術
第49回  たかが技術倫理,されど技術倫理
第48回  若者の理科離れ,2007年問題から「浮遊」せよ
第47回  機械のためのWWW――Google Maps APIから考える
第46回 網羅と完備で考えるユビキタスの視点 ―― u-Japan構想
第45回 青年よ,ITを志してくれ
第44回 Looking Glassに見るデスクトップの次世代化
第43回 CMSはブログに終わらない
第42回 二つの2010年問題
第41回 持続型技術――サスティナブル・テクノロジ
第40回 ICカード付き携帯電話が作る新しい文化
第39回 ユーザビリティの視点
第38回 性善説と性悪説で考えるRFID
第37回 時代間通信アーキテクチャ
第36回 ITもの作りの原点
第35回 ビットの化石
第34回 ユビキタスなエネルギー
第33回 ロゼッタストーンとWWW
第32回 情報家電のリテラシー
第31回 草の根グリッドの心理学
第30回 自分自身を語るオブジェクト指向「物」
第29回 電子キットから始まるエレクトロニクス
第28回 映画に見る,できそうでできないIT
第27回 ITも歴史を学ぶ時代
第26回 1テラバイトで作る完全なる記憶
第25回 日本はそんなにIT環境の悪い国なのか
第24回 10年後にも生きている技術の法則
第23回 ITなギズモ
第22回 ブロードバンドネットワークに関する三つの質問

Engineering Life in Silicon Valley
第93回 「だれでも参加できるシリコン・バレー」はどうなる
第92回 チャレンジするためにシリコン・バレーへ 対談編
第91回 テクノロジと教育学の融合
第90回 日本でシリコン・バレーを伝える活動
第89回 営業からベンチャ企業設立までの道のり(第二部)
第88回 営業からベンチャ企業設立までの道のり(第一部)
第87回 エンジニアを相手にビジネスを展開するプロ第三部
第86回 エンジニアを相手にビジネスを展開するプロ第二部
第85回 エンジニアを相手にビジネスを展開するプロ第一部
第84回 出会いには不向きのシリコンバレー
第83回 めざせIPO!
第82回 シリコンバレーでの人脈作り
第81回 フリー・エンジニアという仕事(第三部)
第80回 フリー・エンジニアという仕事(第二部)
第79回 フリー・エンジニアという仕事(第一部)
第78回 インドに流れ出るシリコンバレーエンジニアの仕事
第77回 エンジニア達の健康管理・健康への努力(第二部)
第76回 エンジニア達の健康管理・なぜエンジニア達は太る?(第一部)
第75回 ユーザーインターフェースのスペシャリスト(第二部)
第74回 ユーザーインターフェースのスペシャリスト(第一部)
第73回 放浪の旅を経てエンジニアに……
第72回 凄腕女性エンジニアリングマネージャ(第二部)
第71回 凄腕女性エンジニアリングマネージャ(第一部)
第70回 ビジネススキルを修行しながらエンジニアを続ける
第69回 専門分野の第一線で活躍するエンジニア
第68回 シリコンバレーに夫婦で出向(第二部)
第67回 シリコンバレーに夫婦で出向(第一部)
第66回 目に見えないシリコンバレーの成功要因
第65回 起業・独立のステップ
第64回 インターネットバブルの前と後の比較
第63回 日本でシリコンバレースタートアップを体験する(第四部)
第62回 日本でシリコンバレースタートアップを体験する(第三部)
第61回 日本でシリコンバレースタートアップを体験する(第二部)
第60回 日本でシリコンバレースタートアップを体験する(第一部)

電脳事情にし・ひがし
第14回 韓国インターネット社会の光と陰

第13回 ドイツのソフトウェア産業とヨーロッパ気質〜優秀なソフトウェア技術者は現代のマイスター
第12回 開発現場から見た,最新ロシアВоронежのソフトウェア開発事情
第11回 新しい組み込みチップはCaliforniaから ―― SuperHやPowerPCは駆逐されるか ――
第10回  昔懐かしい秋葉原の雰囲気 ── 取り壊し予定の台北の電脳街 ──
第9回 あえて台湾で製造するPCサーバ――新漢電脳製青龍刀の切れ味
第8回 日本がだめなら国外があるか――台湾で中小企業を経営する人
第7回 ベトナムとタイのコンピュータ事情
第6回 ヨーロッパ/ポルトガルのエンジニア事情〜インターネット通信〜
第5回 ヨーロッパ/ポルトガルのエンジニア事情〜ポルトガルのプチ秋葉原でハードウェア作り〜
第4回 ヨーロッパ/ポルトガルでのエンジニア事情〜市場と就職編〜
第3回 タイ王国でハードウェア設計・開発会社を立ち上げる
第2回 国内外に見る研究学園都市とハイテク産業の集中化…中国編(下)
第1回 国内外に見る研究学園都市とハイテク産業の集中化…中国編(上)

フリーソフトウェア徹底活用講座
第24回 Intel386およびAMD x86-64オプション
第23回 これまでの補足とIntel386およびAMD x86-64オプション
第22回 静的単一代入形式による最適化
第21回 GCC2.95から追加変更のあったオプションの補足と検証(その9)
第20回 GCC2.95から追加変更のあったオプションの補足と検証(その8)
第19回 GCC2.95から追加変更のあったオプションの補足と検証(その7)
第18回 GCC2.95から追加変更のあったオプションの補足と検証(その6)
第17回 GCC2.95から追加変更のあったオプションの補足と検証(その5)
第16回 GCC2.95から追加変更のあったオプションの補足と検証(その4)
第15回 GCCにおけるマルチスレッドへの対応
第14回 GCC2.95から追加変更のあったオプションの補足と検証(その3)
第13回 続々・GCC2.95から追加変更のあったオプションの補足と検証
第12回 続・GCC2.95から追加変更のあったオプションの補足と検証
第11回 GCC2.95から追加変更のあったオプションの補足と検証
第10回 続・C99規格についての説明と検証
第9回 C99規格についての説明と検証
第8回 C言語におけるGCCの拡張機能(3)
第7回 C言語におけるGCCの拡張機能(2)
第6回 GCCのインストールとC言語におけるGCCの拡張機能
第5回 続・C言語をコンパイルする際に指定するオプション
第4回 C言語をコンパイルする際に指定するオプション
第3回 GCCのC言語最適化以外のオプション
第2回 GCCの最適化オプション ――Cとアセンブラの比較
第1回 GCCの最適化オプション

フジワラヒロタツの現場検証
第72回 現場検証,最後の挨拶
第71回 マイブーム
第70回 OSぼやき放談
第69回 技術者生存戦略
第68回 読書案内(2)
第67回 周期
第66回 歳を重ねるということ
第65回 雑誌いろいろ
第64回 となりの芝生は
第63回 夏休み
第62回 雑用三昧
第61回 ドリームウェア
第60回 再び人月の神話
第59回 300回目の昔語り
第58回 温泉紀行
第57回 人材ジャンク
第56回 知らない強さ
第55回 プレゼン現場にて


Copyright 1997-2005 CQ Publishing Co.,Ltd.


Copyright 1997-2017 CQ Publishing Co.,Ltd.