GIGAMIX DM-SYSTEM2 第2章 拡張BASICリファレンス

パレット処理・VDPマクロ

MSX2のパレットを最大限に活用できる機能です。VDPマクロとの併用で、BASICのプログラムとは到底思えない処理が可能です。

CALL SETPLT

[機能] パレットテーブルの先頭番地を指定します。
[書式] CALL SETPLT(<先頭アドレス>)
[解説] RAM上にパレットテーブルを設定することで、DMシステム2のパレット機能を活用できるようになります。
パレットデータは32バイトです。<先頭アドレス>から32バイトをパレット番号0とし、以下32バイト毎にパレット1,2,3,…と解釈します。(初期値:C000h)

CALL CHGPLT

[機能] パレットを変更します。
[書式] CALL CHGPLT(<番号>)
[解説] 指定した<番号>のパレットに変更します。パレットデータは事前にRAMへ用意しておく必要があります。 <番号>は1バイトの整数で、以下のフラグを格納します。

bit0〜5 パレット番号(0〜63)
bit6 写しモード(0:OFF 1:ON)
bit7 一気モード(0:OFF 1:ON)

通常は現在のパレットの内容を指定したパレットの内容へR(赤)、G(緑)、B(青)の各要素を1段階ずつ近づけます。これを計7回実行することにより目的のパレットになります。
“写しモード”は現在のパレットテーブル(32バイト)の内容を指定したパレット番号に写します。
“一気モード”はBASICの“COLOR=RESTORE”文と同様、パレットを瞬時に変更します。

CALL VMON (1)

[機能] VDP処理をマクロ操作します。
[書式] CALL VMON(<開始アドレス>)
[解説] <開始アドレス>から始まる簡易マクロ言語でVDPを自動的に操作します。マクロ操作はタイマー割り込みで起動し、BASICは次の処理へ移ります。
タイマー割り込み内で処理する為、VRAMに影響を与えない(書き込まない)処理の範囲で実行できます。主にパレット操作、画面のスクロール、スクリーンモード変更などが挙げられます。
マクロ言語の仕様は、別章を参照してください。

CALL VMON (2)

[機能] VDP処理をマクロ操作します。
[書式] CALL VMON(<開始アドレス>,<初期値>)
[解説] VDPマクロ変数に<初期値>を格納してからマクロ操作を開始します。

CALL VMOFF (1)

[機能] マクロ操作を強制中断します。
[書式] CALL VMOFF
[解説] マクロを実行していない場合は無視します。

CALL VMOFF (2)

[機能] マクロ操作を強制中断します。
[書式] CALL VMOFF(<スレッド番号>)
[解説] 指定されたスレッドだけを中断します。
<スレッド番号>に2が与えられた場合は両方のスレッドを中断します。

CALL VMWAIT

[機能] マクロ操作が終了するまで待ちます。
[書式] CALL VMWAIT
[解説] マクロを実行していない場合は無視します。
待っている途中に [Ctrl]+[STOP]を押すと終了待ちの処理を中断します。

CALL COLOR=

[機能] パレットを単色変更します。
[書式] CALL COLOR=(<色コード>,<赤>,<緑>,<青>)
[解説] 変更は(NEWPLT)にのみ保存され、VRAMのパレットテーブルには反映されません。



Copyright © 2000 GIGAMIX, All rights reserved.