FIS4WIN

大学生の時の話です。

前回お話したとおり、MacではなくDOS/Vマシンを購入してVisual-C++1.5とかをいじっていました。そんなとき、コンピュータ部の先輩が作ったFISHERというDOS版のソフトをWindowsに移植したものを作って欲しいという依頼を受けました。

FISHERはDOSに特化したコードでかなり軽快に動いており、とても評判がいいものでした。それをwindowsに移植するというのはとても大変なことです(一太郎とか、DOSで評判の良かったソフトがWindowsに移行できた試しは殆ど無いでしょう?)

Windowsに移行するに当たり、前のバージョンのソースはほとんど役に立ちませんでした。前のバージョンのソースはCでかかれていましたが、好みの問題もあり?すべてC++で書き直しました。dBase DBFファイルにアクセスするルーチンを含め、データベース関連、グラフ作成(軸やグラフの点や線をオブジェクト化したライブラリ)まで自作しました。式の評価ルーチンを作るためにコンパイラの勉強をしました(Aho&Ullmanの教科書を買って読みました)。統計ルーチンはDLLで拡張できるようにしましたが今考えると明らかにオーバースペックです。本体のソフトはFIS4WIN.exe、基本システムをFISTEM.dll、グラフ作成をFISGURE.dllというふうに分離して作りました。統計サブルーチンからは本体内のルーチンに直接アクセスできないので外部DLLにしたわけです。

結局この仕事のために卒業ギリギリまでかかってしまい、卒業旅行にはいけませんでした。コンピュータ部に間違って?入ってしまった後輩のY君、K君には開発を手伝ってもらいましたが彼らは今でもコンピュータを触っているのでしょうか。

結果的に言えばこのソフトはあまり売れなくて、バグレポートは大量に届くことになりました。それでも、入力部分で言えばかなりチューニングをしたので、相当な高速でスクロールできるようになっていました(16MHzのCPUでも目が回るほどのスピードになったはずです)。力を入れたグラフ部分は、メタファイル(WMF)でエクスポートできるようにつくってありました。こちらでは問題がない(つもり)なのに他のソフトとの兼ね合いでいろんな問題が報告されて嫌になったことは覚えています。

もう5年ほど前にサポート中止になっているのですね。

http://www.nakayamashoten.co.jp/bookss/define/support/software/FISHER.pdf

機種選定

パソコンでプログラムを作って販売しようかと考えていた1993年頃の話です。ここまで真面目に読んできた人ならわかるかと思いますが、自分は鶏頭となるも牛後となるなかれ主義というか、世の中で人気ナンバーワンみたいなのに飛びつくのが大嫌いなのでした。だから今でも8086のアセンブラは書けません(読めますが)。

さて1993年頃の状況は、PC9801はコンパックショックもありいよいよやばい状態。Macは一部で人気があるもメジャーにはなれない状態。DOS/Vは日本ではまだ普及しておらず、並行輸入のレポートがSuperASCII(懐かしい・・)にのっていたような時代でした。仕事柄そろそろ新しいパソコンを買わなければという状況になりました。

68000大好きだったのでとうぜんMacを考えたこともあったのですが(Centris660AVというのを買う寸前まで行っていました)、部活顧問のO先生が「MacよりもこれからはWindowsが流行るよー」というコメントもあり、当時は弱小だったwindowsを応援したくもなり、結局いわゆるDOS/Vパソコンを買うことになりました。

当時はCompaqも売っていましたが10万円を切るパソコンは明らかな安物でした(10万円を切るパソコンは今では普通ですね・・)。DELLが日本上陸したばかりで、オーダー通りに組んでくれて、16MBのramが¥76000だったのを鮮明に覚えています(そしてそれは当時として格安の値段でした)。CPUは遅めのもの(486sx/33MHz)にして、安いRAMは最大にして(16MB)当時では珍しかったBuildToOrderで購入しました。16MBはいまではCPUキャッシュの容量とそう変わらないですね。

その後便利に使っていたのですが、ある時PCが起動しなくなりました。DELLに連絡するとサービスマンを派遣するとのこと。当時は1部屋4畳半の学生寮の部屋に住んでいて、そこに来てくれたサービスマンにそれは恐縮したものです。マザーボードも交換してみたのですが、結局起動しなかった理由はPS/2マウスのケーブルが折れ曲がったりで不良になっていて、立ち上がり時に初期化に失敗していたためBIOSの中でハングしていたためでした。

このDELLのマシンはその後486DX66MHz, さらにAMD 5×86-133というCPUに換装して1998年頃まで使いました。CPUが高速化すると何故かハングアップが頻発するようになりましたが、よく考えると画面描画の時に限られていました。S3の86c805というGPU(?)が載っていたのですが、そのチップにファンをつけて冷やしてやるとハングアップは起こらなくなりました。この件はNIFTY-Serve のFDELL(DELLフォーラム)で報告して、同じ症状が起こっている方も数名いたようです。

このマシンで大学生の間はしのいでいくことになります。大学生の間に書いたプログラムの話はまた今度。

CD-ROMソフトの開発

昔話の続きです。

部長になったところまででしたが、自分が部長になったところで部員がいなくなっていました。当時は自分でプログラムを作るなどというのが流行らなくなっていた時代でもありプログラミングの勉強をしたいという若者(自分も当時は20歳くらいだったのかな)がいませんでした。

それでも何故か部室に転がっていたMacIIciにむりやりPC用のモニタを繋いだり、先輩が個人輸入したPC/AT互換機(当時はDOS/Vマシンという言い方をしていましたが、そのDOS/Vがでるまえに輸入していた)で遊んだりしていました。

そのうちに、Windows3.0用にCD-ROMを使った教育用ソフトを開発する(正しくはWin2.0の出来のあまりよろしくないソフトを移植する)仕事をコンピュータ医療研究会OBのO先生経由で請け負う事になりました。

さて、当時の自分の持っていたマシンはPC-9801NS/T 386sx 20MHzのマシンです。HDDは20MBで、CD-Rのような便利なものは当時まだありませんでした(HDDの容量がCD-ROMに遠く及ばないのでオーサリングとかも考えられないわけです)。

ということで開発用マシンよりも大容量のメディアを相手に開発をすることになったのです。テストが出来なくてたいへんだったのと、CD-ROMドライブが置いてある研究室に忍びこんでテストをするのが大変でした。

やったのはハイパーテキストを画面に表示して、どこかをクリックすると図が表示されたり他の文章に飛んだりと、いわばブラウザを作っていたようなものでした。範囲選択はダブルクリックで単語を選択(漢字ひらがなの境界を認識して)するなど凝った仕様に(求められていないのに勝手に)していました。フルカラーの写真を出す必要があったのですが、変なグラフィックボードに特化したコードを書くことを強要されて大変でした。

高級外車(コンパクトサイズ)が買えるくらいの報酬を約束されていて、発注元の社長には「ここまで出来ているんだったら半額振り込もうか」と言われたのですが「今お金をもらうとモチベーションが下がりそうなので全部できたときにください」と格好をつけてしまいました。結局その後に会社が不渡りを出して報酬は全てパーになりました。

今思うと光学ディスクがHDDの容量よりも大きいというのはあの時代だけだったような気がします。いまではSDカードのほうがブルーレイディスクよりも記憶容量が大きくても驚きませんね。こんな苦労をした人は当時いっぱいいたのでしょうか。

なんでまた?

HenPitsuの話です。

12月初めに一旦AppStoreの「エンターテイメント」「無料」の中のランキングで30位くらいまで上がったあとに圏外に飛び去っていたのですが、1月22日ごろからどこのどなたが宣伝してくださったのかわかりませんがダウンロード数が急増しています。いまitunesでみると無料ソフトの中で第4位になっています!

自分でかなり適当に作ったアイコンが皆様の目に触れるのには正直当惑します。だれかきれいな字で書きなおしてくれないかな・・・

無料なので別に金銭的にどうということはないですが、自分が作ったプログラムを楽しんでもらえるのはうれしいものです。正直ここまで行くとは思っていませんでしたが・・・。iADが日本で立ち上がるといいですが、広告が出ることについてブーイングが起こるのではと少し心配しています。

さて、実は筆の書き味を少し変えるパラメータ調整を1ヶ月くらい前に完了しています。ただ、変更すると今までのほうが良かったなどの苦情が出ないかも心配です。使用中に変更できるようにするのもいいかもしれませんが・・・

コンピュータ医療研究会

何をしたわけでもないのにいきなり有力部員としてコンピュータ医療研究会に入部することになりました。その部では部活動として??統計ソフトを開発していて、PC-9801では結構売れていたようなのです。そのソフトのFM-R版を開発するに当たり、ソフト立ち上げの時の画面を開発して欲しいという依頼を受けました。元のプログラムはPC-9801のVRAMをいじりまくっていて移植は大変だったのでアルゴリズムを勝手に変えてそれなりにかっこいい??オープニング画面を作りました。X68で開発したのでテストが出来なくて大変でしたがそれだけで20万円くらいのアルバイトになりました。

これ以降は自分の中でコンピュータで稼いだ金はコンピュータに使っていいという自分ルールが確立して、いろんなコトになりますがとりあえずこの時のお金はPC-9801NS/Tというマシンに化けることになります。当時STEPという販売店が秋葉原にあり、5つのNOとか自分のところでは面倒を見ないということを前面にだしながら格安でパソコンを売っていました。そこで塾講師の役にも立つ(数学のプリントの作成のため)ということでNECのマシンを買うことになったのです。

当時持っていたX68000は娯楽のマシン、9801は仕事のマシンという使い分けのつもりでいましたが、当時でもX68000はパソコン通信でのフリーソフトの配布が進んでいました。その一方で自分が住んでいたのは学生寮で、パソコン通信が考えられない環境にいましたので、X68000は一人暮らしをしている友人に貸しだしてそちらで活用してもらうことにしました。

コンピュータ部の方は、結局そのまま在籍していたら部長に祀り上げられてしまいました。その後卒業まで部長を務めることになります。

X68000~大学に入学して

大学入学前にX68000 を買ってもらった話まではしました。その続きから始めます。

その後、無事東京の大学に入学することになりましたが、当時はバブル景気の終わりごろ。東京の家賃はとても高いのでした。父親が厚生省に努めていた関係で厚生省の共済組合の、組合員の子弟が入れる寮というのが中野にありましてそちらに入ることになったのです。家賃は月16000円。そのかわり、トイレ・風呂は共同で、最大の問題点は電話がないことです。ということで電話回線を使ったパソコン通信の夢は潰えてしまいました。

寮の先輩によると、入居前にX68000一式の箱が玄関に積まれていたのでどんな奴が来るのかと期待していたらしいです。

入学後、塾の講師のアルバイトなどをしていたのでプリントを作成する必要が生じて熱転写プリンタを購入したりしました。OS-9/X68kで自作のプログラム(nroffに影響を受けました)で通知表を作った覚えがあります。あとは医学英単語の勉強プログラムを作ったぐらいでしょうか。

大学2年の時に、「コンピュータ医療研究会」という部があるのを知り、同級生の阿部さんといってみたところ、潰れかけの部ですでに部員がいないとのこと。新入部員になるとともに次期部長になってしまったのでした。

その絡みでプログラムを組むアルバイトを始めることになります。

そのへんのお話は次回。