クロス開発 z88dk

z88dk は Z80 系の各プラットファームに対応したクロス開発ツールです。

PC-E200・G800~G850 も対応しています。

 

https://github.com/z88dk/z88dk/wiki/Platform---Sharp-PC

 

ここでは PC-E200・G800~G850 固有の情報を中心にまとめています。

ポケコンに限らない共通の情報は「z88dk を使う」にまとめています。

 

z88dk を使う https://c-z88.dk.eu.org/


zcc のオプション

3 種類のオプションがあります。

  • PC-E200 などの 4 行表示
    zcc +g800 -create-app プログラム.c
  • PC-G850 シリーズ向け 6 行表示
    zcc +g800 -create-app -clib=g850b プログラム.c
  • PC-G850 シリーズ 3×5 ドットフォント使用 8 行表示
    zcc +g800 -create-app -clib=g850 プログラム.c

加えて -bn ファイル名.ihx を付加して、出力ファイル名を指定できます。

省略すると a.ihx で生成されます。

 

生成される .ihx ファイルはマシン語 Hex ファイルです。

エミュレータ g800 では g800 ~.ihx 100 ですぐに実行できます。

実機では TEXT キーで Text Editor→Sio→Format で通信速度を設定しておき、
BASIC 画面より MON でマシン語モニタ→R
パソコンから転送→G100 で実行できます。
読み込んだ後は BASIC RUN モードより CALL 256 でも実行可能です。

 

-clib=g850 については次で紹介しています。

 

運営者より / 2019/07/02 z88dk -clib=g850b と -clib=g850 の違い


サンプルプログラム

z88dk/examples/g800 にグラフィック関連のサンプルがあります。

 

運営者より / 2019/07/01 z88dk のサンプルと内蔵ライブラリ

 

ほとんど PC-G850 シリーズ向けになりますが、
グラフィック対応機種であれば 4 行表示も可能なプログラムも一部存在します。


ライブラリ

ANSI 標準 C ライブラリにほぼ準拠したライブラリが存在します。

 

グラフィック関連はプラットフォーム共通で使用できる

モノクログラフィック・モノクロスプライトを
PC-E200・G シリーズのグラフィックで対応されてあります。

ライブラリの関数は次に入れてあります。

 

モノクログラフィック | z88dk を使う

モノクロスプライト | z88dk を使う

 

ポケコンのシステムコールでは GPRINT 相当の線画しか行えません。
グラフィックは完全に自前で用意する必要がありますが、

モノクログラフィック・モノクロスプライトを使用する事で

容易に様々なグラフィックの線画が可能になります。


ヒント

テキストは ANSI ターミナル互換仕様で、

コントロールコードやエスケープシーケンスに対応しています。

これを用いて CLS や LOCATE の代用が可能です。

 

運営者より / 2019/07/05 stdio.h だけで CLS・LOCATE 相当は可能

 

BIOS を直接コールしての使用も可能ですが、
PC-E200・G シリーズで把握されている BIOS コールは
座標と文字・グラフィックパターンをレジスタに入れて

CALL する仕様のため扱うのが大変です。
z88dk で容易されている標準 C ライブラリと

モノクログラフィック・モノクロスプライトを扱うのが
快適に制作できると思われます。

 

マシン語で生成されるため、Web ブラウザで表示できる

エミュレータ g800.js で動作可能です。
Web サイトやブログなどで貼り付けて動かす事ができます。

 

SHARP PC-G850/G815/E200エミュレータ g800.js | Version 0


C 言語プログラム

z88dk の C 言語で生成したものです。

 

サインカーブ

z88dk のモノクログラフィックを使用したサインカーブです。

PG-G850 シリーズに限らず、Z80 関連のプラットフォームで動作可能です。

 

z88dk で作ったものを MSX の版権を心配せずに WebMSX で公開。| ふうせん🎈 Fu-sen.  - Web ブラウザ上で実行できるエミュレータ g800.js での動作を入れています。

GitHub Gist - 他のプラットフォームでの動作画面も入れてあります。