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 制作者によるモノクロスプライトを表示するサンプル。

サイズは 8 の倍数である必要はない。

8 の倍数でない場合は左寄せ・上位に寄せるように生成する。

横幅が 9 以上の場合は 左上 8 ピクセル分から左⇢右、

下の 8 ピクセル左⇢右⇢... 右下まで入れていく。

- - - 🎈 - - -

🎈 fusen.srht.site

- - - 🎈 - - -

◯ Powered by sourcehut pages

Proxied content from gemini://fusen.srht.site/page/z88dk.gmi (external content)

Gemini request details:

Original URL
gemini://fusen.srht.site/page/z88dk.gmi
Status code
Success
Meta
text/gemini
Proxied by
kineto

Be advised that no attempt was made to verify the remote SSL certificate.