●『マイコン少年さわやか漂流記』クーロン黒沢、 ISBN:488337341X 【アマゾン】

よく漫画で「裏料理界」とか「裏麻雀界」とか出て来ますけど、これは「裏マイコン界」ですよ。すげー。本とにこんな世界があったんだ。「魔異魂」て感じですよ。中学でエロBBSを開設、ソフトコピー屋の店長代理になったり高校で香港へ裏マシンを買いに出かけたり同人クソゲーを売りさばいて金儲けたり。
電子ライターを使った秘技エレクトリックサンダーでさえ度胸が無くて一人じゃできなかった自分には到底真似できません。まあその分自分は情熱を Z80マシン語ライフゲームを作ったりすることに向けてた訳ですが。
そういえば喋るマイコン、 PC6001mk2 が出る直前くらいに、I/O に普通のP6 に喋らせるプログラムが載ってたな。あれをそのままチップに焼いたんじゃないかな。プログラム自体はHEX DUMP 1ブロックくらいだったけど、音声データが大量だった。50音の1音につき10ブロックくらいあったかも。まあ入力ミスっても暴走しないからいいんだけど。
プログラムはPSG を周波数0 にセットしておき、ボリュームを0〜15の間で高速に変調して波形を再現するものだった。自分が持ってたのはX1だったけど、同じPSGでZ80なのでプログラム部分を数バイト変えるだけで移植できた(I/O に投稿して載った)。
何がやりたかったかといえば、「ボスコニアン」を作りたかった。ゲーム開始の "Blast off!" とか、"Condition Red!" とかを喋らせたかった。で、音声データを全部入力するのは大変なんで、「ぶ」「ら」「す」「と」「お」「ふ」の6音だけ入力した。半日かかった。そしていよいよ喋らせてみると、はたして
「ぶ〜ら〜す〜と〜お〜ふ〜」
という間抜けな音が出て来た。今までの苦労はなんだったんだ、と思った。
大学の実験の授業で、A/D コンバータを着けたPC9801 を使ってPASCAL でA/D変換コードを書いてアナログ信号をファイルに保存する、というのをやった。実験が終ってからラジカセ持って来て、自分で数字の0から9までと50音を喋ったテープをサンプリングしてデータにした。
これをPC9801 本体だけで喋らせるために、マシン語を勉強してプログラムを作った。ビープ音を出しておき、オンにする時間とオフにする時間を調節して波形を再現した。データが160 ならビープをON にして160 CPUサイクル待ち、OFF にして255-160 CPUサイクル待つ、というのをデータごとに行った。ちょうど数字を入力するバイトとかやってたんで、機械に読み上げさせて元データを見ながらチェックする、とか出来て結構重宝した。
でもZ80マシン語は今でもけっこう覚えてるけど、PC98のは作ったのこれ一個だったんでもう忘れた。
マシン語といえば、ポケコンもいじった。帰省して暇潰しにいじってるとTV画面が乱れるのに気がついた。UHFにしていろいろ見てみると縞模様が出る周波数があった。キーを押すと微妙に変わる。試しにいろんなマシン語の命令をループさせると命令によって縞のパターンが変わった。最終的にはクロックを調節していろいろやってTV画面にインベーダーを一匹表示させることに成功した。
なぜX1ユーザーだったかというと、ひそかに11PMが見られる初めに電気屋で触ったのがJR-100 だった、というのが関係あるかも。近所の先輩マイコン少年達に連れられて電気屋でいじってたんだけど、隅で誰も使ってない JR-100 を使いはじめたのがきっかけ。このマイコンの特徴はPCG というのがあって文字の形を自分で変えられること。たとえばインベーダーの形にすれば文字を書く命令だけで画面にインベーダーを表示できる。昔からドット絵マニアだった自分にはうれしい機能だった。後継機種のJR-200 だと文字ごとに前景と背景の色を変えられるようになった。これでかなり遊んだ。方眼紙に絵を書いて電気屋で入力、画面上で動かして楽しんでいた。
X1の場合はさらに各文字で8X8ドットに独立に8色の色を付けられた。width 80にすれば16X8ドットで、タイリングによって中間色っぽいのも作れた。今思い返すと、ドット絵ばかり作っててプログラムは大したもの作らなかった。
そんなんだからX1用のゼビウスには舌を巻いた。あれは背景をPCG、前景をGRAM で書いて重ねている。背景をGRAMでやろうとするとスクロールは大量の書き換えが必要なんで出来ない。でも文字でやると縦8ドット単位でしか動かないんで、カクカクする。X1ゼビウスでは4ドットずれた絵もPCG で定義しておき、4 ドットずつスクロールしていた。PCGは256 キャラしかないからこれを作った人は天才だと思った。
追記:ゼビウス+X1+PCG+4ドットでぐぐると、どうも違うらしいことが分かった。
X1はクリーン設計なんで、いろいろ出来た。例えば電気屋でゲームのデモが走っていると、リセットして32 バイト程度の自作プログラムをロードする。ff80〜あたりにロードし、0000〜1fff までのメモリをGRAM にコピーする。次にマシン語モニタプログラムをロードする。ただし起動した時にGRAMを消去しないよう改造してある。これでメモリの2000〜ff80までをテープにセーブして、GRAM の内容を2000以降のメモリに転送するプログラムを実行し、その内容もセーブ。この二つを繋げればコピー完了。ブラックオニキスなんかはこうやって手にいれた。でも途中でテープを読むゼビウスとかザナドゥは無理だった。
追記:当時プロテクト外したりかけたりしてた人達が集まってCCCD について語ったりしている。うーむ、自分はX1のハドソンプロテクトが解析できなかった軟弱者なんで、尊敬。
別の電気屋では Wizard と呼ぶべき師に出会った。この人は後に某大計算機センターのWizard となった。