パソコン事始(2) 卒論をパソコンで
テーマ:コンピュータ
2011/04/19 10:53
回顧録の続き2
GAME-Z80が本に載って調子に乗ったのか、機械語の勉強を必死になって覚え、BASICインタプリタの中身を解読しては、プログラムの作り方を覚えていった。モニタプログラムやTRS-80では実装されていなかったスクリーンエディタなどの開発を行なっていた。
大学4年になって、クラブ(洋弓部)も引退し・・・ということで神戸の星電パーツでアルバイトを初めた。今では無いが、三ノ宮の星電社の裏通りのビルでアマ無線や電子パーツの販売をしていた。その4階がマイコン売場。比較的ヒマで、日立のベーシックマスター、シャープのMZ-80K、APPLEⅡ、PET2001といろんなマシンで遊べたのも良かった。Rolandのシンセをシーケンサーで制御していたのも懐かしい。
なにより、当時高価なドットプリンタを使わせてもらえたのはありがたかった。趣味と実益を兼ねたバイトだが、バイト代はマイコンに費やされ、TRS-80も拡張インターフェイスやミニディスクを増設することになる。卒業間際にようやく沖電気がOEMしていたドットプリンタを備える。
さて、4年も終わり頃卒論の準備となる。テーマは「コンピュータシミュレーションによる待ち行列問題の解決」
パラメータを少しずつ変えた200のモデルを作って、500ユニットのシミュレーションを行なう訳で、もともとFORTRAN用に作っていたプログラムをBASICに書き換えて実行する。今のマシンならあっという間に終わるのだけど、当時は非力だから1モデルに3時間ぐらいかかってしまう。これでは卒論提出に間に合わない。
都合良くバイト先にあったBASICコンパイラを使って(おいおい)機械語に変換すると30分ほどで済み、それでも都合1週間ぐらい動かし続けただろうか、200ページの論文だが、半分は結果のプリントアウトである。多分文系で卒論にパソコンを使ったのは初めてじゃないかと密かに思っているのだけど。
バイト先にはBASICコンパイラだけでなく、エディタアセンブラ、CP/M、UCSD-Pascalなど、Diskベースで動く先進的なアメリカのソフトが入ってきていたのだけど、当時カナ文字バージョンにモディファイされたTRS-80ではうまく動かなかった。
そこで、中身を解析して使えるようにソフトウェアにパッチを当てるのが大学卒業間際の仕事だった。おかげで、そういったソフトを勝手に使うことが出来たのである。
GAME-Z80が本に載って調子に乗ったのか、機械語の勉強を必死になって覚え、BASICインタプリタの中身を解読しては、プログラムの作り方を覚えていった。モニタプログラムやTRS-80では実装されていなかったスクリーンエディタなどの開発を行なっていた。
大学4年になって、クラブ(洋弓部)も引退し・・・ということで神戸の星電パーツでアルバイトを初めた。今では無いが、三ノ宮の星電社の裏通りのビルでアマ無線や電子パーツの販売をしていた。その4階がマイコン売場。比較的ヒマで、日立のベーシックマスター、シャープのMZ-80K、APPLEⅡ、PET2001といろんなマシンで遊べたのも良かった。Rolandのシンセをシーケンサーで制御していたのも懐かしい。
なにより、当時高価なドットプリンタを使わせてもらえたのはありがたかった。趣味と実益を兼ねたバイトだが、バイト代はマイコンに費やされ、TRS-80も拡張インターフェイスやミニディスクを増設することになる。卒業間際にようやく沖電気がOEMしていたドットプリンタを備える。
さて、4年も終わり頃卒論の準備となる。テーマは「コンピュータシミュレーションによる待ち行列問題の解決」
パラメータを少しずつ変えた200のモデルを作って、500ユニットのシミュレーションを行なう訳で、もともとFORTRAN用に作っていたプログラムをBASICに書き換えて実行する。今のマシンならあっという間に終わるのだけど、当時は非力だから1モデルに3時間ぐらいかかってしまう。これでは卒論提出に間に合わない。
都合良くバイト先にあったBASICコンパイラを使って(おいおい)機械語に変換すると30分ほどで済み、それでも都合1週間ぐらい動かし続けただろうか、200ページの論文だが、半分は結果のプリントアウトである。多分文系で卒論にパソコンを使ったのは初めてじゃないかと密かに思っているのだけど。
バイト先にはBASICコンパイラだけでなく、エディタアセンブラ、CP/M、UCSD-Pascalなど、Diskベースで動く先進的なアメリカのソフトが入ってきていたのだけど、当時カナ文字バージョンにモディファイされたTRS-80ではうまく動かなかった。
そこで、中身を解析して使えるようにソフトウェアにパッチを当てるのが大学卒業間際の仕事だった。おかげで、そういったソフトを勝手に使うことが出来たのである。
パソコン事始(1) TRS-80
テーマ:コンピュータ
2011/04/19 00:47
従兄弟のブログ読んだり、今日はCLAYさんの記事見て書いて見る気になった、私のパソコン事始という回顧録。
最初に買ったのは タンディラジオシャックのTRS-80というマシン。当時はマイコンと言った。1978年大学3年の秋。
![TRS-80モデル1](../../resources/member/000/046/0082399/6Xvd1riS.jpg)
当時APPLEⅡ、PET2001とともに御三家といわれたマシン。NECのPC8001が出るのは、その翌年。前の2つが6502という石を積んでいるが、こちらは現在のx86の元祖であるインテル8080の上位互換だったザイログZ-80A。1.77MHzでドライブしている。メモリは16KバイトでNECのμPD416CというセラミックパッケージのD-RAM。ファームウェアはマイクロソフトのレベルⅡBASIC。
APPLEⅡはあこがれの的だったが、高かった。PETはキーボードがちゃちかった。TK-80のBASIC STATIONあたりも食指を伸ばしたのだが、TRS-80にした最大の理由は倍精度演算ができたから。
当時学部のミニコン使って、FORTRANでコンピュータシミュレーションなんかやっていたので、有る部分で倍精度が欲しかった。将来役に立つとかなんとかリクツを付けて親父から金をせしめた記憶がある。マイコンやっているやつは工学部なんかのハード屋が多かったんだが、私は経営学部でもっぱらソフト屋。これはその後もかわらない。
買ってすぐ入れたのが、Altair用8KBASIC用に書かれたスタートレック。メモリがきつかったのか、スパゲティボウルのようなプログラムだが、なかなか勉強になった。プログラムはカセットテープに記憶する方式で、結構エラーがでたんだよね。
インベーダーゲームが流行っていたころなので、BASICでゲームを書き始めたのだけど、インタープリタ方式というプログラムを逐次解釈して実行するという当時の主流方法では速度が出ない(今だとJavaがそうだね)。そこで手を出したのがアセンブラによるマシン語と、GAMEと呼ばれた整数型の高速言語。GAMEは大西さんという方がVTLという簡易言語を拡張して6800用に書かれたものを、8080に移植(たしかTK80用)した記事が雑誌ASCIIに載っていた。
そこで、BASICで逆アセンブラを作って中を解読し、Z80の相対ジャンプ命令などを使ってリライトしてTRS-80に移植したのがGAME-Z80。まだ幼稚な出来上がりだったが、ASCIIに電話したら早速載せますという話で、1979年の2月号に載せてもらった。当時の副編集長が後に塚本さんらとインプレスを作った宮崎さんで、下宿から何回か電話して打ち合わせした記憶がある。
このGAME-Z80はその後、シャープのMZ-80やNECのPC8001に移植された(ので、テープアスキーの版権料がもらえた、結構な副収入だった)
1年も経つとプログラミングもスマートになり、GAME-Z80は拡張命令やスクリーンエディタの実装、全ソースの書き換えやコンパイラの実装などを行なってVER2.3まで開発を行なった。(手元には残っていない)
ここから、ソフト屋としての人生が始まったのだ。
最初に買ったのは タンディラジオシャックのTRS-80というマシン。当時はマイコンと言った。1978年大学3年の秋。
![TRS-80モデル1](../../resources/member/000/046/0082399/6Xvd1riS.jpg)
当時APPLEⅡ、PET2001とともに御三家といわれたマシン。NECのPC8001が出るのは、その翌年。前の2つが6502という石を積んでいるが、こちらは現在のx86の元祖であるインテル8080の上位互換だったザイログZ-80A。1.77MHzでドライブしている。メモリは16KバイトでNECのμPD416CというセラミックパッケージのD-RAM。ファームウェアはマイクロソフトのレベルⅡBASIC。
APPLEⅡはあこがれの的だったが、高かった。PETはキーボードがちゃちかった。TK-80のBASIC STATIONあたりも食指を伸ばしたのだが、TRS-80にした最大の理由は倍精度演算ができたから。
当時学部のミニコン使って、FORTRANでコンピュータシミュレーションなんかやっていたので、有る部分で倍精度が欲しかった。将来役に立つとかなんとかリクツを付けて親父から金をせしめた記憶がある。マイコンやっているやつは工学部なんかのハード屋が多かったんだが、私は経営学部でもっぱらソフト屋。これはその後もかわらない。
買ってすぐ入れたのが、Altair用8KBASIC用に書かれたスタートレック。メモリがきつかったのか、スパゲティボウルのようなプログラムだが、なかなか勉強になった。プログラムはカセットテープに記憶する方式で、結構エラーがでたんだよね。
インベーダーゲームが流行っていたころなので、BASICでゲームを書き始めたのだけど、インタープリタ方式というプログラムを逐次解釈して実行するという当時の主流方法では速度が出ない(今だとJavaがそうだね)。そこで手を出したのがアセンブラによるマシン語と、GAMEと呼ばれた整数型の高速言語。GAMEは大西さんという方がVTLという簡易言語を拡張して6800用に書かれたものを、8080に移植(たしかTK80用)した記事が雑誌ASCIIに載っていた。
そこで、BASICで逆アセンブラを作って中を解読し、Z80の相対ジャンプ命令などを使ってリライトしてTRS-80に移植したのがGAME-Z80。まだ幼稚な出来上がりだったが、ASCIIに電話したら早速載せますという話で、1979年の2月号に載せてもらった。当時の副編集長が後に塚本さんらとインプレスを作った宮崎さんで、下宿から何回か電話して打ち合わせした記憶がある。
このGAME-Z80はその後、シャープのMZ-80やNECのPC8001に移植された(ので、テープアスキーの版権料がもらえた、結構な副収入だった)
1年も経つとプログラミングもスマートになり、GAME-Z80は拡張命令やスクリーンエディタの実装、全ソースの書き換えやコンパイラの実装などを行なってVER2.3まで開発を行なった。(手元には残っていない)
ここから、ソフト屋としての人生が始まったのだ。