crossroads[29]わが青春のMZ-2000/若林健一

投稿:  著者:  読了時間:7分(本文:約3,400文字)



こんにちは、若林です。

先日、大阪・梅田で開催されているCoderDojoでIchigo Jamで作った作品を見てきました。

元々Scratchをやっていた忍者(CoderDojoでは、参加する子供達を忍者と呼びます)ですが、IchigoJamを買ってもらったのをきっかけにBASICでのプログラミングに取り組んでいます。

IchigoJamとは、プログラミング言語のBASICが動かせる超小型のパソコンで、キット(部品だけのセットで自分で半田付けや組み立てが必要)が1,500円なので「イチゴジャム」と名付けられたそうです。

こどもパソコンIchigoJam
http://ichigojam.net/

見た目はArduinoのようなマイコンボードに似ていますが、Arduinoはパソコンで作ったプログラムを転送して動かさなければなりません。

一方でIchigoJamはパソコンそのものであり、IchigoJam本体にキーボードとモニターを接続すれば単体で使える、まさに「こどもパソコン」と呼ぶのがぴったりな機械です。





●パソコンとの出会い

私が初めて使ったプログラミング言語もBASICでした。おそらく、私と同じ年代からもうちょっと若い年代なら、初めてのプログラミング経験が「8bitパソコンでBASIC」という方は多くて、Facebookのタイムラインでもちょっとした祭りになるほどです。

私が持っていたパソコンはSHARPのMZ-2000で、祖母に買ってもらいました。もちろん、その頃はシャープで働くことになるとは思っていませんでした。当時は、8bitパソコンが主流で「パーソナルコンピュータ」という言葉が生まれたのも同じ時期。当時のパソコンのスペックはおおよそこんな感じでした。

マイコン:8bit Z80Aもしくはその互換マイコンが主流。動作クロック2〜4MHz
グラフィック:160x100、640x200、640x400など機種によって様々
内蔵メモリ:64kBytes(Z80Aでアクセスできる最大容量)

PC-8801などは、バンクメモリアクセスという技術を使って、Z80Aが扱える64kBytesのアドレス空間以上のメモリ(最大184kBytes)を搭載できるようになっていました。

MZ-2000は4MHzのZ80A搭載で、グラフィックボードを積めば640x400のカラーグラフィックが扱え、内蔵メモリ64kBytesはすべてRAMとして利用することができる機械でしたので、同じ時期に発売されたモデルの中では(オプションが必要な部分があるものの)スペックの高いモデルだったと思います。

内蔵メモリがすべてRAMということの意味がわかりにくいかもしれませんね。

マイコンがアクセスできるメモリ空間というのは、ROMとRAMの両方を合わせた容量になります。つまりBASICなどの言語部分をROMに搭載しているPC-8001などでは、その分メモリが少なかったのです。

一方で、MZ-2000ではすべてをRAMにして、起動時にテープから言語部分のプログラム(いわゆるファームウェア的なもの)をロードする仕組みでしたので、BASIC以外の言語を使う場合(例えばマシン語)はすべてのメモリ空間にアプリケーションプログラムを配置できるというメリットがありました。これが、MZの「クリーン設計」というやつです。

ですがデメリットもあって、当時の他のパソコンが電源ONからすぐに使えたのに対して、MZ-2000はテープからBASICを読み込み完了するまで使えませんでした。OSの起動に時間がかかる今のパソコンのことを思えば不思議ではないのですが、当時は面倒だなと思ったものでした。

●何もかもが高かったオプション

MZ-2000はモニタが一体化していた関係もあって、他の機種よりも少し高かったのですが、それにも増してオプションの値段の高さが辛かったです。

MZ-2000本体の価格が218,000円なのに、2Dの5インチフロッピーディスクドライブが298,000円。

ハードディスクではなくてフロッピーディスクドライブがパソコン本体よりも高かったのです。もちろん私には買えませんでした。

また、グラフィックを使えるようにするためには、39,000円のグラフィックボードを購入しなければならなかった。それはあくまでも内蔵の単色(緑色)のモニタでグラフィックを表示させられるだけのもので、フルカラーを扱えるようにするには、更に8,000円のグラフィックメモリ2つが必要。

合計55,000円のオプションを買わなければ、グラフィック表示させることができなかったのです。でもどうしてもグラフィックを表示させたかった(簡単にいうとゲームがしたかった)ので、高校の夏休みに近所の町工場でアルバイトをして買いましたよ。

もちろん、外部モニタを買うお金なんてなかったので、RFコンバータを購入して自宅のテレビに接続して使っていました。それでも、当時はうれしかったですね。

●漢字表示もオプション

MZ-2000は標準で漢字を表示できませんでした。同時期に発売された他の機種でも、標準で漢字表示できたモデルは少なかったと思います。漢字だけじゃなく、ひらがなも、いわゆる「全角文字」と呼ばれるものは表示できませんでした。表示できたのは、アルファベット、数字、記号、半角カタカナだけ。

今でこそ、フォントをインストールすればたくさんの字体で表示や印刷ができますが、当時はそれだけの大容量データを保存するメモリがありませんでしたから、そもそもフォントをインストールするという発想もなく、漢字・ひらがなについてはオプションの漢字ROMボードを購入するか、アプリケーションソフトウェアでグラフィック機能を使って表示するしかありませんでした。

たしか漢字ROMボードは、16bitマイコンへのアップグレードキットを購入しないと使えなかったような、とにかくすべてが高嶺の花(高値の花)でした。

●ソフトウェアのバックアップはラジカセで

フロッピーディスクでさえオプションなのですから、当然ハードディスクは搭載されていません。外部記憶はカセットテープです、音楽用のカセットテープにプログラムを記録できるようになっていました。

カセットテープなので、いわゆる「ダビング」でプログラムのコピーを作ることができました。市販のソフトウェアだとテープを破損してしまえばそれで終わりなので、最初にコピーを作って、普段はコピーの方を利用するようにしていました。ただ、一部のソフトウェアはコピープロテクトのためダビングでコピーが取れないものもありましたが...。

カセットデッキもMZ-2000は他のモデルより優れていて、初めて電磁メカのものが搭載されていました。

早送りや巻き戻し、頭出しなどの操作がソフトウェアからできるカセットデッキで、ひとつのテープに複数のプログラムが記録されている場合でも、自動的に次のプログラムの先頭まで早送りができたので、ロード時間が圧倒的に短縮できたのです(といってもあまり感動は伝わらないかもしれませんね)。

他のモデルだと、例えば30分テープの半分ぐらいのところに記録されているプログラムを読みだすには15分以上待たないといけなかった、といえばその大変さがイメージできるでしょうか。そういえば、プログラムを保存する用に10分テープという短い時間のテープも売ってました。

●すべてはMZ-2000のおかげ

今思えば、どうしてMZ-2000にしたんだろう? とは思います。他のモデルに比べて高性能な部分はあったものの、PC-8001とか8801の方が対応ソフトは多く標準でカラーグラフィックが使えたし、メモリ領域がフルに使えるといってもそのメリットを実感したことはあまりなかったし...。

でも、今の自分があるのはMZ-2000との出会いのおかげです。

当時、自分がソフトウェアを作る仕事をするなんて想像もしていませんでしたが、あの頃一生懸命プログラムを打ち込んだおかげで、ソフトウェアエンジニアとしての基礎の基礎はできていたように思います。

次回は、MZ-2000で学んだプログラミングについて触れてみたいと思います。


【若林健一 / kwaka1208】
http://kwaka1208.net/aboutme/

CoderDojo奈良・生駒の開催予定
http://coderdojo-nara-ikoma.github.io/
奈良:10月16日(日)午後
生駒:10月 1日(土)午後