レトロでハードな物語

レトロなゲーム機・マイコン・中古デバイスなどをArduinoやAVRで再活用する方法を模索しています。

MSXマシンを購入 3

2021年11月19日 | MSX関連

前回の続きです。

せっかくMSXの実機を購入したので、なにかプログラムを作って動かしてみたくなりました。それに周辺機が一切無いので、PICとかArduinoを使って周辺デバイスを作りたいところです。そのためにはプログラムを組む環境が必要になってきます。

調べてみたところz88dkというものを見つけました。8080やZ80系列のコンピューター向けCコンパイラ・アセンブラ開発キットです。サポートする機種も多彩で、MSXのライブラリも充実しています。
特にうれしいのが、コンパイルしたバイナリをWAV形式のファイルで出力できることです。今の所プログラムの読み込みはカセットインターフェイスしかないので、ダイレクトにWAVファイルが作成できるのは便利です。

z88dkは様々なプラットフォームで利用できますが、今回はUbuntuで使用することにしました。インストール手順はこちらで説明されているので難しくありません。ネットにも色々情報があるので、導入に困ることはないでしょう。
Ubuntuの場合コンパイルして実行ファイルへのパスと環境変数の設定を行えばすぐに利用できます。

特に問題なく環境が構築できたので、まずはサンプルプログラムをコンパイルしてみることにしました。サポートしている機種共通のサンプルソースがz88dk/examplesの下にあります。その下のmsxフォルダに移動して、makeを実行するとMSX向けのバイナリを作成すことができます。ただしこのままではエミュレータで利用できるcas形式のカセットファイルしか作成されませんので、実機に読み込めるようにMakefileを書き換えてWAVファイルを作成します。

変更はコンパイルオプションを1つ付け加えるだけです。Makefileに記述されているCFLAGS = +MSX ・・・の行に、

-subtype=wav

を追加します。そしてmakeするとcasファイルと同時にwavファイルも作成されます。
コンパイルが終了すると20個ほどのサンプルが出来ました。早速実機で動作させてみます。サンプルのロード&実行にはBLOAD"CAS:",Rと入力します。




MSXライブラリを活用した様々なサンプルがあります。どんな内容かはこちらのサイトで細かく紹介してくださっています。
ライブラリは他のサポート対象のマシンとほぼ共通で、ソースリストをほとんど変更することなく他機種向けのバイナリが作成できてしまいます。すごいですね。

こちらで各機種共通に動作するソースリストを画像付きで公開してくれています。エミュレータでの実行画面のようですが、SHARPのポケコンでも動作するのが感動モノですね。

これでMSXの実機向けにソフトウエアを作る環境が整いました。そうなると次はハードウェアとして何かデバイスをつなげてみたくなります。後で何か考えてみましょう。



最新の画像もっと見る

コメントを投稿