パレット処理・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)
“写しモード”は現在のパレットテーブル(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.