今風太ワールドを楽しむ(19)
更新日:2019年11月6日

PasocomMini PC-8001のAuto Input装置を作る(1)
PC-8001ミニの周辺機器第二弾です。こんな方はおられませんか。「当時のゲームを色々楽しみたいけど、プログラムの入ったカセットテープは無いし」、「cmt変換ってなんか敷居が高そう」、「PC-8001ミニでプログラムを打ち込むのは大変そう」等々。そうなんです、私もそういう状況なのです。幸い当時のI/O誌のPC-8001のページは残しておいたのでこれを入れればゲームは出来る訳で。今回、画期的な装置を製作しました。なんてこんな面倒なことを。と思われるかもしれませんが、一番判りやすいプログラム入力だと思います。
あくまでも打ち込み系の方を対象とした装置ですので、他の方法でプログラムを入力されている方には無意味かもしれませんが、お付き合い下さい。
PC-8001ミニの打ち込み系に関して次のようなことを考えました。パソコンでプログラムを入力してPC-8001ミニに転送出来ないか、ということです。そこで結論として、USBキーボードを自動的に操作出来たら実現出来ると。
(Auto Input装置の概要)
パソコンに打ち込んだプログラムを装置を経由してUSBキーボードとしてPC-8001ミニにプログラムを打ち込む方法です。それが今回製作したAuto Input装置なのです。まずはその装置を見て下さい。
(PC-8001ミニ用Auto Input装置)
結構小さくまとめることが出来たので私的には満足しております。
PasocomMini PC-8001に興味を持たれたらこのページへどうぞ
パソコンミニ公式ウェブサイト
ここから少し詳しく解説いたします。パソコンでの入力はテキストエディタを使います。私はメモ帳を使用しました。メモ帳で書いた文字を1文字ずつPC-8001ミニに送り込んで文字を打ち込むということになります。こうするとプログラムを打ち込むのにPC-8001ミニを立ち上げなくてもよく、パソコンのテキストエディタを使うので好きな時間に分割して打ち込むことも可能になります。今回はI/O誌掲載、雄城さんの名作「BUG FIRE!」を例に使い方を説明いたします。
この装置でどのような文字がPC-8001ミニに入力出来るかを記します。
(Auto InputでPC-8001ミニに送れる文字一覧)
基本的な文字は全て打てるようにしました。BASICのプログラムもマシン語も打つことが出来ます。但し現状ではカタカナやグラフィックは打てませんので後でPC-8001ミニ側で修正することが必要になります。しかしながら最初からPC-8001ミニで打つよりはるかに作業性は向上することは確かです。
この中で決め事があります。「アンダーバー」を「RETURN」の目的で使用します。テキストエディタ中でも改行はありますが、それは送らずに「RETURN」が必要な部分に「アンダーバー」を記述します。テキストエディタの改行の扱いについてはマシン語の入力を見やすくするためでもあります。もしBASICのPRINT文中で「アンダーバー」が使われていたら誤動作しますのでご注意下さい。また「\」、「|」はうまく送り込めませんでしたので「スペース」に置き換えています。もしBASIC中にその文字があればPC-8001ミニ側で補正して下さい。さらにPC-8001に無い文字「{」、「}」、「~」は送り込んでも表示されません。
まずはBASICのプログラムを準備しましょう。この「BUG FIRE!」はマシン語のみのプログラムですが、当時の記事にありますようにBASIC部分にマシン語の開始アドレスを書いてUSR関数で呼び出すのが良いと思います。メモ帳でBASICプログラムを入力します。
(BUG FIRE! のBASIC部分)
CSAVEも自動で出来ますので、打ち込んでおきましょう。
続いてマシン語部分を準備します。ポイントとしては自分がモニタで打つことを想定していますので開始アドレスの無いマシン語部分のみになります。アドレスがないのでどこの部分を打ち込んだか判らなくなるので、ファイル名にきちんと記載をしておきましょう。私は空いた時間に分割して入力しました。
(14回に分けて入力したBUG FIRE!のマシン語)
(16進数の羅列です)
メモ帳で打つと各文字幅がほぼ同じですので16バイト入力が正しく行われているか一目でわかります。今回の装置の場合、出来るだけ小文字を使用して下さい。大文字はシフトキーを併用するのでPC-8001ミニ側のファンクションキー表示がころころ変わって目障りですので。但しBASICのPRINT文中での大文字はその通りに打って下さい。
さてマシン語は事前にチェックサムを取って確認をする必要があります。私はVBでチェックサムのアプリを作成してマシン語入力が間違っていないかを確認しました。当時は16バイトチェックサムや64バイトチェックサムが流行っていた頃でしたので、今回はそのようにVBアプリを作りました。最終的には256バイトの縦横チェックサムのアプリまで作りたいと思います。
(チェックサムアプリの使用例)
チェックサムバイト数とスタートアドレスを入力してマシン語のファイルを読み込みます。それぞれの先頭アドレスとチェックサムが表示されます。マシン語を入力したファイルにはアドレスが入っていませんので、マシン語は出来るだけ分割してファイル化するほうが見通しが良いと思います。
チェックサムを確認して正しく入力されているとなったマシン語ファイルは最終的にはひとつのファイルにまとめます。この時のためにもマシン語を入力したファイル名にはアドレスを記載しておくのです。ひとつにまとめたマシン語ファイルの先頭部分にマシン語モニタに入る記述などを記載します。
(マシン語ファイルの先頭部分)
モニタに入る記述「mon(return)」と入力開始アドレス「sc5c0(return)」を追記します。マシン語ファイルの最後にはモニタのプロンプトに戻るための「(return)」を追記します。
(マシン語ファイルの最後部分)
マシン語をSAVEする記述を書いたファイルも作っておきます。
(マシン語をSAVEするファイル)
ここまででPC-8001ミニに送り込むプログラムの準備は出来ました。続いてPC-8001ミニ側での準備を行います。PC-8001ミニを準備して通常のキーボードを接続します。最初にプログラムを格納するフォルダ等を準備します。
(MEDIAを開いて新しいディレクトリを作成します)
(例としてGAME2というディレクトリを作成します)
(GAME2のディレクトリが出来ました)
(GAME2のディレクトリに入ります)
(BASICとマシン語を入れるファイルを作成)
BASICを入れるファイル「BUGFIRE」とマシン語を入れる「BUGFIRE-M」のファイルを作成しました。
ここまででPC-8001ミニにUSBキーボードを使った作業は終了です。PC-8001ミニのUSBキーボードを取り外して今回製作した装置を接続します。
(PC側とPC-8001側に接続するコネクタがあります)
コネクタの種類が異なっていますので接続間違いはないと思いますが、PC-8001ミニとPCにUSBケーブルで接続します。
(装置のボタン配置)
USBキーボードが無くても以降の作業が出来るようにいくつかのボタンを配置しています。
(各ボタンの機能)
(装置に配置したプッシュボタン)
最初にBASICのプログラムを入力します。まずファンクションボタンを利用してMEDIAを開きます。
(BASICのファイルを選択します)
カーソルで移動して対象のファイルを選択して「SET」してカウンタをゼロ戻しします。その後自動的にBASICの画面に戻ります。
PC側ではVBで作成した「Auto Input」のアプリを立ち上げます。
(PC側で立ち上げたAuto Inputアプリ)
COMポートを選択して装置と接続します。
(COMポート接続)
「PasocomMini PC-8001 Program File」のボタンを押して「BUG FIRE!」のBASICファイルを開きます。数秒後にファイルから文字を読み取ってPC-8001ミニへの送り込みがスタートします。送り込み中は先ほどのボタンの色が変わります。
(ファイルから文字転送中)
BASICプログラム転送中の様子です。最後にCSAVEも行っています。PC-8001ミニは40年前のPC-8001をシミュレートした製品ですので打ち込むスピードはこれが限界と思います。遅いと思われるかもしれませんが、現在の私の能力ではこれ以上のことが出来ません。MP4ファイルですが動画がうまく見れない可能性もあります。画面が」ピンボケですみません。
BASICファイル入力中動画はこちら
初めての自動入力に感動です。続いてマシン語部分に移ります。
装置のファンクションボタンを押してMEDIAを開きます。
(マシン語ファイルを選択します)
カーソルで移動して対象のファイルを選択して「SET」してカウンタをゼロ戻しします。その後自動的にBASICの画面に戻ります。
PC側で既に立ち上げている「Auto Input」のアプリから「PasocomMini PC-8001 Program File」のボタンを押して「BUG FIRE!」のマシン語ファイルを開きます。数秒後から文字が転送されます。あら不思議自動的にモニタモードに入ってマシン語の入力が始まります。
マシン語入力中動画はこちら
自動入力にかなりの時間が掛かりますがその間は放置していたら良いのでこちらとしては楽です。入力が終わると次の画面になります。
(マシン語の入力完了)
(装置のCTRL-Bを押してBASICに戻ります)
以上でPC-8001ミニへのプログラムの入力と書き込みが完了しました。後は機器を取り外してUSBキーボードを接続してゲームをお楽しみ下さい。
(BUG FIRE!のゲームスタート画面)
(BUG FIRE!のゲーム中画面)
正常に動いてゲームを楽しむことが出来ました。
PasocomMini PC-8001に興味を持たれたらこのページへどうぞ
パソコンミニ公式ウェブサイト
(PC-8001ミニと呼ばせて下さい)
内部回路構成やプログラム、PC側アプリなどについては次回に詳しく説明いたします。
さあ打ち込み系の皆さんもこれからはPC-8001ミニがもっと楽しくなります。

「蘇る今風太ワールド」表紙へ戻る