z88dk
2025-01-18
https://z88dk.org/
https://github.com/z88dk/z88dk
Z80・互換 CPU を用いた環境向けのクロス開発キット。
アセンブラによる機械語・マシン語や C 言語を用いて開発できる。
https://github.com/z88dk/z88dk/wiki/Platform
今や 100 を超える様々なプラットフォームに対応している。
プラットフォームにより、幅広い出力方法に対応してたりする。
(例えば MSX だとテープ(.cas・.wav\)、BASIC BLOAD、
MSX-DOS、ROM カートリッジに対応)
機種によっては他のプラットフォームと共通化する等で
指定するオプションが変わったりする。
不具合がある場合はフォーラムや
GitHub の issues で質問してみたりするのが早い場合がある。
(英語が不得意な場合は z88dk を同じ環境で使用している日本の人たちに)
- - - 🎈 - - -
モノクログラフィック
https://github.com/z88dk/z88dk/wiki/Classic-Monochrome-Graphics
独自の共通ライブラリとしてモノクログラフィックがある。
名称のとおり単色ではあるが、
様々な環境で共通のソースからグラフィック表示が可能。
例えば PC-G850 シリーズ(シャープのポケットコンピュータ)は
基本的に文字の行単位(グラフィックも GPRINT 同等)で、
ドット単位で扱い場合は仮想 VRAM 領域で操作するなど工夫が必要になるが、
z88dk のモノクログラフィックでドット(ピクセル)単位の線画を
容易に扱う事ができる。
ビルドする機種により、独自のオプションを設定する必要があるのに注意。
例えば MSX や SV-328 では
-pragma-define:CLIB_DEFAULT_SCREEN_MODE=2 とすると
MSX の SCREEN 2、SV-328 の SCREEN 1 による 256✕192 の表示に、
-pragma-define:CLIB_DEFAULT_SCREEN_MODE=3 とすると
MSX の SCREEN 3、SV-328 の SCREEN 2 による 64✕48 の表示にできる。
https://gist.github.com/fu-sen/4e079229d43a0aa6c9d40734c35fb2ab
Capsule 制作者によるサインカーブ。随時様々な環境で動作確認を行っている。
モノクロスプライト
線画によりスプライトを実現する。
機種固有のスプライトを用いるわけではないので、
線画総土は VDP 次第となるが、コマンドが整っていて、容易に使える。
「スプライト」と表現されているので、
ゲームのキャラクターで用いる事ができるが、
単に画面の線画なので、メモリがゆるされれば、画面の線画など、用途も幅広い。
https://gist.github.com/fu-sen/3b9fd63279bb97af6380a8ef4d81498a
Capsule 制作者によるモノクロスプライトを表示するサンプル。
char balloon[] = {
8, /* 横のサイズ */
8, /* 縦のサイズ */
0x0e, /* ・・・・###・ */
0x1d, /* ・・・###・# */
0x1f, /* ・・・##### */
0x1f, /* ・・・##### */
0x0e, /* ・・・・###・ */
0x08, /* ・・・・#・・・ */
0x10, /* ・・・#・・・・ */
0xe0 /* ###・・・・・ */
};
サイズは 8 の倍数である必要はない。
8 の倍数でない場合は左寄せ・上位に寄せるように生成する。
横幅が 9 以上の場合は 左上 8 ピクセル分から左⇢右、
下の 8 ピクセル左⇢右⇢... 右下まで入れていく。
- - - 🎈 - - -
🎈 fusen.srht.site
- - - 🎈 - - -
◯ Powered by sourcehut pages