前回のハードウェア編からの続きとなります。
PC-8001の開発は実機では行わず、Windows上で行います。所謂クロス開発環境です。大凡以下のような手順で行います。※ 最初の英字は主なファイル拡張子です。
- z80 テキストエディタでZ80のプログラムを記述する。
- bin アセンブルする。エラーがあればなくなるまで修正する。
- cmt エミュレータで実行確認する。バグがあれば修正する。
- wav 実機で動作確認する。問題なければメディアに記録して完成。
それぞれの課程で必要となるソフトウェアを紹介します。
- テキストエディタ
お金をかけたくない場合のオススメはサクラエディタです。必要にして十分、秀丸を知らなければ、たぶんこのサクラエディタを使っていたかと思います。
- アセンブラ

次に個人的に大注目の新進気鋭のアセンブラが Mitsuhito Ishino @AILight さんが現在開発中の AILZ80ASM です。未定義命令は当然サポート、それ以上に魅力的なのが、ALIGN や REPEAT LAST といった、開発に私が欲しかった痒いところに手が続く命令拡張が成されている点です。そのうち評価版(とか書いているうちに1stリリースでるかもですが)を使ってみたいと思います。
※ 2021/11/16追記 v0.9.0ベータ版がリリースされました。
- エミュレーター

月刊アイ・オー 1982年5月号 New RALLY-X (C)1982 駒川 融
個人的には HAL8999さんが公開されている j80が最高です。私がこのエミュレータを褒める理由は、再現性が高く、メモリの状態確認やレジスタのチェックが出来るためです。異常なポート出力に対しても、かなりの確率で実機と同等の動作をしていました。おそらく相当な数のソフトをエミュ上で実際に動かして、途方もない時間をかけて調整して追い込んでいったのだと思います。素晴らしいの一言です。私が使用しているのは以前公開されていた j80 - PC-8000 Series Emulator Release 6.117(Ver. 6.7.12) です。現在は違うバージョンが公開されているようです。基本的には新しい方が良いと思いますが、開発に着手したらなるべく変更しないのもトラブル防止だと思っているので、最新版は未確認です。※ 実行には Javaのインストールが必要です。
これ以外にも案外多くのエミュレータが見つかりますが、出来れば以下の確認が出来るエミュレータを開発確認用に選んでください。
* メモリの状態確認
* レジスタの状態確認
* 実行停止、再開、ステップトレース
* 書き込み停止、読み込み停止

N-BASIC は TINY野郎さんが公開されている新・PC-6001シリーズのBIOSデータをデータレコーダーもフロッピーも使わずにPCに移すを使用すると簡単に抜くことが出来ます。画面にQRコードみたいな模様が表示されるので、それをキャプチャしてバイナリに戻します。名称が PC-6001となっていますが、実は原理的には何でも使えますし、P6_BIOSCAP_COLOR.zip アーカイブ内には参考としながらも、PC-8001用の取り込みプログラムが格納されています。
ただ、残念ながら格納されている .cmtファイルは中身が違っていてそのままでは読めないです。そのため、私が変換したファイルを掲載しておきます。ご活用ください。
b2mv80.zip
cmtがエミュ用、.wavが実機読込み用です。CMTケーブルがあればPCから cload"b2mv80"としてから runで実行します。選択肢 1 が PC-8001、2 が PC-8001mk2です。実際の取り込み等、細かい部分はツールのドキュメントから使い方ページに遷移してください。取り込みにはビデオキャプチャ環境が必要です。私は GV-USB2 を使って取り込んでいます。割と安価ですし、とりあえず買っておくと良いかも。
これ以外にも案外多くのエミュレータが見つかりますが、出来れば以下の確認が出来るエミュレータを開発確認用に選んでください。
* メモリの状態確認
* レジスタの状態確認
* 実行停止、再開、ステップトレース
* 書き込み停止、読み込み停止
- N-BASIC ROM

N-BASIC は TINY野郎さんが公開されている新・PC-6001シリーズのBIOSデータをデータレコーダーもフロッピーも使わずにPCに移すを使用すると簡単に抜くことが出来ます。画面にQRコードみたいな模様が表示されるので、それをキャプチャしてバイナリに戻します。名称が PC-6001となっていますが、実は原理的には何でも使えますし、P6_BIOSCAP_COLOR.zip アーカイブ内には参考としながらも、PC-8001用の取り込みプログラムが格納されています。
ただ、残念ながら格納されている .cmtファイルは中身が違っていてそのままでは読めないです。そのため、私が変換したファイルを掲載しておきます。ご活用ください。
b2mv80.zip

【Amazon】
アイ・オー・データ
2010-09-30
- 文字フォントROM
…でも、これだと困りますよね? ネットを探したらこんなの見つけました。
Gen88Font というフォントジェネレータです。これを解凍して
と実行すると、PC88.FNT というファイルが出来ます。これを 0000 - 07FF までを残して後方を削除します。バイナリエディタかバイナリファイルカッターで後方を削除します。私は Binary Editor BZ を使用しましたが、バイナリ編集できるのならなんでも構いません。バイナリエディタもなにげによく使ってますので、この際導入しておきましょう。
Gen88Font.exe --p88sr

この後方を削除した 2KBのファイルが PC-8001エミュで使用できるフォントファイルになります。名前を PC-8001.FON とでもしておいてください。互換フォントなので少しイメージが違いますが、Gen88Fontフォルダ内の SmallFont.bmpを自分で書き換えると、オリジナルと同様にも出来ます。
参考までですが、オリジナルフォントだとこんな表示になります。

- バイナリファイルをカセット形式に変換する bin2cmt
※残念ながら80解體新書は閉鎖になりました…
形式が単純なので、少しプログラムを囓ったことがある人なら、だいたい自作できるとは思います。私は自分で作ってしまいました。折角なのでソース込みで公開しておきます。宜しければお使いください。
bin2cmt.zip
ちなみに bin2t88も自作していますが、作っただけで使っていないので動作保証なしです。それでも宜しければ公開しますのでコメント欄からお申し出ください。
- 音声データに変換 pcm8001

cmt ファイルがあればエミュレーターで読み込んで起動することが出来ますが、実機で読み込ませようと思ったら、cmtから wavに変換する必要があります。これもずっと紹介している HAL8999さんのツール pcm8001_r6_13.lzh で変換します。※ 実行には Javaのインストールが必要です。
これぐらいのハードとソフトを揃えれば、PC-8001のプログラム開発は可能になると思います。私はこのPCのおかげで、今の私があると思っています。全てのプログラミングの基礎にもなっている…と言うと大げさでしょうか。ほんのちょっとのミスで即暴走するというスリリングな世界を是非ご堪能ください (*´Д`*)
コメント