Think Stitch
PRINCIPIA  最近の更新


MZ-2000

SHARP MZ-2000 です。1982年発売です。

MZ-2000 はとにかく直線のデザインがかっこいい。違う角度からもう1枚。

3日前までキーボードはかなり黄ばんでいました。 昨年、古いハードウェアをコレクションしている方のページで漂白の方法を知り、試してみたいと思っていました。 ここのところよい天気が続いていたので、チャンスと思い試してみました。 キーを全部外して過酸化水素水に浸し、紫外線(太陽光)に3日当てました。 結果、ご覧のとおり真っ白になりました。 まるで新品のようです。

当時は純正のフロッピードライブが高くて買えなかったので、生ドライブを買ってきて自分でインターフェイスを作ってつなげました。 5.25 インチのフロッピードライブが1台5万円でした。 インターフェイスの LSI には MB8877 を使いました。 フロッピーからブートするために ROM ライタも作ったのですけど、うまく書き込みができず、読むたびに 0, 1 が変わる中途半端な ROM ができてしまいました。 しかたなくまずテープを読み込み、それからフロッピーを読むという、ちょっとなさけない使い方をしていました。 それでもブート時間はずいぶん短縮されたのです。

DMA はなかったので、ソフトウェアによるデータ転送です。 MZ-2000 の CPU クロックは 4MHz なんですけど、倍密度の転送を行うにはちょっとだけ速度が足りないのです。 仕方がなく単密度で使っていました。 セクタ間での処理も間に合わないので、フォーマットを変えてセクタの並びをインターリーブにして、全体での速度を改善するなどの工夫をしました。 たとえばセクタが 1,2,3,4,5,6,7,8,9 と並んでいると、1 を読んだ後に処理をして、さあ 2 を読もうと思うとすでに回転は 2 の途中にあって間に合わないのです。 結果として1セクタ読むたびに1周待たされることになります。 そこでセクタの並びを 1,6,2,7,3,8,4,9,5 と変えるのです。そうすると2周ですべてのデータを読むことができます。

それから MS-DOS の内部解説書を見ながら FAT12 互換のファイルシステムを作りました。 もちろんすべて Z80 のアセンブラです。 アセンブラも MZ-2000 用のものを持っていなくて、MZ-80K のものにパッチをあてて使っていました。 MZ-2000 のモニタのマニュアルにはソースコードが掲載されていて、何箇所かに K というコメントが付いています。 これはテープのタイミングを決めているパラメータの部分で、コメントに記載された値に変えると、MZ-80K のテープが読めたのです。 あとはモニタサブルーチンの呼び出しを行っているところを探して書き換えるだけでした。

その後、OS のようなもの、BASIC インタープリタ、コンパイラ、テキストエディタなどを作りました。 それらはすべて失ってしまって、いまは何も残っていません。 多大な労力を使って自分しか使わないプログラムを作り、しかもなくしてしまったのですからまったく無駄というかおろかな話です。 でも、そのときはそれが楽しくて楽しくて仕方がなかったのです。

2013/09/22
© 2013,2014,2015 PRINCIPIA Limited