[#004]2003/12/14 MSXの思い出

先日、「MSXマガジン永久保存版2」(アスキー)というムックが発売されました。去年に続いての2号目です。
知らない人のためにちょっと説明しますと、「MSX」とは1980年代〜1990年代前半に存在した8bitパーソナルコンピューターの名称です。今では信じられないことですが、当時はいろんなメーカーが互換性のないパソコンを発売していました。MSXはメーカーの壁を越えたパソコンの共通仕様であり、非常に画期的なものでした。しかも低価格で、テレビをモニターとして使える、という一般家庭をねらった仕様でした。
で、私はそのMSX開発の一番最後の時期に、アスキーの開発部隊にいたのです。ですから、この本の内容はとってもとっても懐かしいものがあるんですよ。うわあ、西社長だあ、うわあ、当時の上司だあ、とか(笑)。

しか〜し、この本で一番重要なのは別のところにあるのです!!

p151にこのような記述があります。


MIDIをBASICレベルでサポートしたことは、コンピュータミュージック史上において「最初で最後の偉業」だと言われている。


偉業ですよ、偉業」!! しかも史上の偉業ですよっ!! もっと言って言って!!(^_^)
何を隠そう(隠すつもりなんて無い)、この仕事、つまりMSX-BASICの「play」コマンドにMIDI出力のためのコードを追加したのはこの私なのです!! すごいでしょ〜!!(^_^)
そう、最後のMSXマシンには私が書いたコードが焼かれたROMが搭載されているんです。

当時、私は入社2年目でした。前年に配属された頃には新製品のMSX turboRはほとんど完成していて、開発には何も参加できませんでした。2年目は、私がヤマハのMSX2で音楽をやっていたこともあってか、この「MIDI実装」の仕事が回ってきたのでした。

この部分のコーディング自体は、実は難しいものではありませんでした。MIDI信号は1byteの数値をタイミングに合わせて送信するだけのもので、非常に単純なのです。演奏ルーチンそのものは既にBASICに組み込まれていますので、手を加える必要はありません。PSGやFM音源をコントロールする部分をMIDI用に改変するだけのことです。コードの総バイト数もたいしたことはなかったように記憶しています。
プログラム言語は当然Z80アセンブラです。今じゃもう忘れてしまっています(笑)。よくあんなコードがすらすら書けたものだなあ。(CALLが「CD」、RETが「C9」でしたっけ? こういうのは覚えてるなあ…)

大変だったのはむしろハードウェアの方だったでしょうか。外付けカートリッジ用の設計図は既にあったし、回路自体はそんなに複雑ではありません(簡単にいうとモデムのようなものなのです)。開発時に使っていたのは試作品で、配線むき出しの基盤でした。これが、長く使っていると、配線がとれてきたことがあったような記憶が…(笑)。ある時は試作品がうまく動作しなくて、ハードウェア部門の方に助けを請いに行ったりしました。
そういえば、オシロスコープを使って信号がちゃんと出ているか確認したりもしましたねえ。

MIDIに関連して、今だから言える話?を紹介しましょう。実はこれ、けっこう重要なことなんです。
実は、MSX2、2+のBASICのplay文では、1つのplayコマンドが終了する時に1カウント分余計な空白が入っていたのです。つまり、あるplay文からその次play文に演奏が移る瞬間に、間が空いてしまうのです。一瞬テンポがずれるのですが、気付かなかった人は多かったかもしれません。私はかなり前から気付いていて、これが仕様なのかバグなのかわからずずっと不満でした。
このMIDI実装作業をする時にBASICのソースの音楽演奏の部分を、ていねいに読んでいったところ、確かに上記のような現象が起こることが確認できました。つまり、BASICのバグだったのです。このバグはMIDI実装の際に、いっしょに修正しておきました。ですから、最後のMSXturboR機(MSX-BASIC Ver4.1になるのかな?)ではplay文の挙動が以前の機種とは微妙に違っているのです。
この修正にあたってはバグのことも含めて上司にも伝えましたが、「へ〜、そうだったの?」という感じの反応でしたから、やはり本当に気付かれないバグだったのでしょう。

こんなことを思い出していると、当時が懐かしいですねー。
同書のp105にもあるように、

「つまりね!MSXこそ私の青春だったちゅーワケよね」(by坂東ミミ)

当時のMSX開発関係者の中で、私はおそらく1番遠い世界へ行ってしまった人でしょうね(笑)。プログラミングなんてきれいさっぱり忘れちゃいましたよ(爆)。今じゃ西社長もアスキーから離れてしまったし。でもMSXはほんの10年ちょっと前の話なんですよね。「思えば遠くへ来たもんだ…」、本当にすごい遠いことのように思えます。


[takumi-cb.com HOME] [雑記 INDEX]