開発環境
本ページではポケコン本体で閉じたプログラム開発は全く触れず、PC上で開発したソフトウェアを ポケコンに転送する方法(クロスビルド)のみを解説します。
クロスビルドによる開発において、何はともあれ下記が必須です。
- 通信ケーブル
- 通信ソフトウェア
- コンパイラ
- エミュレータ
これらについてまとめておきます。
通信ケーブル
PCとポケコン間での通信に使うケーブルです。かつては売り物があったようですが、2018年時点ではディスコンになっているようで、自作するのがよいでしょう。いくつか記事がヒットしますが、CharaSoftさんのこの記事が鉄板だと思います。たいへん丁寧に記載されているので、付け加えることはありません。私もこの記事にならって作成したケーブルを使用しています。OSXでも全く問題ありません。
秋月のFT-232RQモジュールが入手できる限りこの通りにやればよいですが、いずれそれすらディスコンになった場合でも同じ知識が使えると思います。5V-TTLレベルのRS-232C的配線で、ロジック極性が反転していることだけ注意しましょう。
通信ソフトウェア
PC上でコンパイルしたソフトウェアをポケコンに転送するためのソフトウェアです。
など、いろいろありますが、せっかくなので拙作のPythonスクリプトの説明をこちらで行います。PythonとPySerialが使えればどの環境でも使えるところが利点です。
コンパイラ
PC上でZ80用のバイナリをコンパイルするためのコンパイラです。
SDCCはZ80等の小さいデバイスをターゲットとしたCコンパイラであり、アセンブラ、リンカなどからなります。ライブラリは含まれないので、自前のライブラリを作ったりIOCSを叩いたりする必要があります。世の人々はだいたいこれを使い、かつ自前のライブラリを作られているようです。軽く(こちら)[05_sdcc.html]で説明しますがあまり追いません。
z88dkはZ80ベースの各種プラットフォームに対応した総合コンパイラスイートで、アセンブラ、リンカ、ライブラリ群からなります。 コンパイラは独自実装のsccz80というものですが、zccという名前のフロントエンドを介して扱われます。最近はコンパイラにSDCC(のパッチ版)が使えるようになりました。stdio.h等の「ふつうの」C言語用ライブラリを揃えているところが最大の魅力です。z88dkの使い方についてはこちらで説明します。
エミュレータ
いちいち通信ケーブルで転送していては手間です。PC上での開発はエミュレータ上で行うのがよいでしょう。
素晴らしい完成度です。SDLのみに依存するのでほとんどのプラットフォームで簡単にビルドできるのも良いです。