Gigamix DM-SYSTEM2

拡張BASICリファレンス

概要

DM拡張BASICとは

 DMシステム2の提供する各種機能をMSX-BASICの拡張命令(CALL文)から簡単に利用できるようにしたものです。

 DM拡張BASICはMSX-BASICを拡張し、BASIC単体では困難とされた高度な機能を提供します。MSX-BASIC上でプログラミングするので、BASICのノウハウをそのまま継承できます。


DM拡張BASICのルール

DM拡張BASICはMSX-BASICの書式と互換性があります。プログラムの作成や修正も、もちろんMSX-BASICと同様ですが、以下の点に注意してプログラミングを始めてください。

  1. MSX-BASICの数式や文字列・文字式が流用できます。 CALL BGMVOL(ma,op,ps,sc)
    CALL CHGPLT(128+a(pl))
    CALL POKES(&H2000+(A MOD 4)*128,STRING$(128,CHR$(0)))
  2. VRAMの指定には必ず“@”を付けます。 CALL SETBIN(@&H3800)
    CALL PCMON(@0,@4095,1)
    CALL BLOCK(@&H1000,&H3000,4096)
  3. 65535を超える数値の指定には10進数を使用します。16進数ではMSX-BASICの仕様で“Overflow”エラーになってしまいます。主にVRAMの後方64KBやマッパーRAMでのアドレス指定に用います。 CALL SETBIN(@65536!)
    CALL PCMON(@98304!,@98304!+&H1000,1)
  4. 存在しない変数へ数値・文字列を返そうとすると、その変数を新規作成します。 CALL FILES("*.bas",F)
    CALL FSIZE("ds2basic.txt",A#)
    CALL PEEKS(&HC000,12,A$(3))

命令一覧

[ ]で囲まれたパラメータは省略可能です。

漢字文字列の表示

漢字文字列の表示に関する拡張BASIC命令   漢字表示機能 もご覧ください。
CALL KINIT 装飾効果の初期化
CALL KINIT([設定][,影X][,影Y][,斜体table][,色table]) 装飾効果の一般設定
CALL KBOLD([文字X][,文字Y][,縁X][,縁Y][,影X][,影Y]) 太さ系装飾効果の設定
CALL KCOLOR([文字][,背景][,縁][,影]) 色系装飾効果の設定
CALL KPRINT(文字列[,制限文字数])[,TPSET] 漢字の表示
CALL KPUT(文字列[,制限文字数]) 漢字の高速表示
CALL KSIZE(横,縦[,文字間]) サイズ系装飾効果の設定

音楽(BGM)の演奏

音楽(BGM)の演奏に関する拡張BASIC命令   BGM演奏機能 もご覧ください。
CALL BGMON(開始アドレス[,loop]) BGMの演奏
CALL BGMOFF BGMの停止
CALL BGMOFF(時間) 1/60秒割り込みによるフェードアウト
CALL BGMTMP(テンポ) テンポの調節
CALL BGMTRS(音程) 音程の調節
CALL BGMVOL([マスター][,OPLL][,PSG][,SCC]) 音量調節
CALL BGMWAIT BGMの一時停止と解除

PCMの再生

PCMの再生に関する拡張BASIC命令
CALL PCMON(開始アドレス,終了アドレス,rate[,loop]) PCMの発声

効果音(SE)の発声

効果音(SE)の発声に関する拡張BASIC命令
CALL SEON(番号) SEの発声
CALL SEOFF SEの強制停止
CALL SETSE(設定アドレス) SEテーブルの設定

圧縮データの展開

圧縮データの展開に関する拡張BASIC命令
CALL EXT(展開元アドレス,展開先アドレス) BPE圧縮による展開作業
CALL EXTCOPY(展開元アドレス,X,Y[,方向])[,TPSET] BPE圧縮による矩形CG展開

VDP転送・画像加工

VDP転送・画像加工に関する拡張BASIC命令
CALL CELLO(X0,Y0)-(X1,Y1),n0,n1,n2 RGB各輝度の操作
CALL HMMM(X0,Y0)-(X1,Y1) TO(X2,Y2) VRAM間高速転送
CALL HMMV(X0,Y0)-(X1,Y1),色 長方形の高速塗りつぶし
CALL LMMM(X0,Y0)-(X1,Y1) TO(X2,Y2)[,TPSET] VRAM間論理転送
CALL LMMV(X0,Y0)-(X1,Y1),色[,TPSET] 長方形の論理塗りつぶし
CALL YMMM(X0,Y0)-(X1,Y1) TO(X2,Y2) Y軸方向のVRAM間高速転送
CALL VCOPY(X0,Y0)-(X1,Y1),P0 TO(X2,Y2)-(X3,Y3),P1[,角度][ON(X4,Y4)][,TPSET] 画像の変形

パレット処理・VDPマクロ

パレット処理・VDPマクロに関する拡張BASIC命令
CALL SETPLT(設定アドレス) パレットテーブルの設定
CALL CHGPLT(番号) パレットの変更
CALL VMON(開始アドレス) VDPマクロの実行
CALL VMON(開始アドレス,値) VDPマクロ変数を初期化して実行
CALL VMOFF VDPマクロの強制終了
CALL VMOFF(スレッド番号) 指定スレッドのVDPマクロの強制終了
CALL VMWAIT VDPマクロの終了待ち
CALL COLOR=(色コード,赤,緑,青) カラーの変更

デバイス入力

デバイス入力に関する拡張BASIC命令
CALL DMMINI([mode][,sprite\_No.]) デバイス入力の設定
CALL DMM(変数[,時間])[,S] デバイス入力
CALL DMMON タイマー割り込みによるデバイス入力の開始
CALL DMMON(開始アドレス) デバイス入力時にVDPマクロを実行
CALL DMMOFF タイマー割り込みによるデバイス入力の終了

Pana Amusement Cartridge(PAC)

Pana Amusement Cartridge(PAC)に関する拡張BASIC命令
CALL PACLOAD(PACアドレス,転送先アドレス[,長さ]) PACの読み出し
CALL PACSAVE(先頭アドレス,PACアドレス[,長さ]) PACの書き込み

マッパRAM制御

マッパRAM制御に関する拡張BASIC命令
CALL MALLOC([セグメント数][,変数]) マッパRAMを利用可能に

バイナリシステム

バイナリシステムに関する拡張BASIC命令
CALL SETBIN(設定アドレス) バイナリテーブルの設定
CALL BINLOAD(番号,機能依存,転送アドレス,長さ) バイナリシステムの起動

メモリ操作

メモリ操作に関する拡張BASIC命令
CALL BLOCK(転送元アドレス,転送先アドレス,長さ) メモリ間の転送
CALL PEEK(アドレス[,変数]) 1バイト読み出し
CALL PEEKS(先頭アドレス,長さ,文字変数) 文字変数へのメモリ読み出し
CALL PEEKW(アドレス[,変数]) 2バイト読み出し
CALL POKE(アドレス,変数) 1バイト書き込み
CALL POKES(先頭アドレス,文字列) 文字変数でメモリ書き込み
CALL POKEW(アドレス,16ビットの数値) 2バイト書き込み

ディスク/ファイル操作

ディスク/ファイル操作関連に関する拡張BASIC命令
CALL CHGDRV([drive_No.][,変数]) 使用ドライブの変更・獲得
CALL FILES(filename,変数) ファイル名の獲得
CALL FSIZE(filename,変数) ファイルサイズの獲得
CALL LOAD(filename,転送先アドレス[,長さ][,offset]) ファイルの読み込み
CALL SAVE(filename,保存開始アドレス,長さ) 新規ファイルの書き出し
CALL SAVE(filename,保存開始アドレス,長さ,offset) 既存ファイルの部分更新

三角関数

三角関数に関する拡張BASIC命令
CALL COS(変数,角度,数値) 余弦値の獲得
CALL SIN(変数,角度,数値) 正弦値の獲得

各種処理待ち

各種処理待ちに関する拡張BASIC命令
CALL INTWAIT DMシステム2の割込処理待ち
CALL PAUSE(n) n/1000秒の時間待ち
CALL VDPWAIT VDPの処理終了待ち
CALL WAIT(n) n/60秒の時間待ち

その他の命令

その他の命令に関する拡張BASIC命令
CALL CALL(先頭アドレス[,A][,HL][,DE][,BC][,IX][,IY]) マシン語のコール
CALL CHGCPU([mode][,変数]) CPUモードの変更・獲得
CALL UPPER(文字変数,文字列) 小文字英数の大文字変換
CALL XY(X座標,Y座標) 漢字表示位置(グラフィックアキュームレータ)の設定

DMシステム2自体の制御

DMシステム2自体の制御に関する拡張BASIC命令
CALL HELP 命令語一覧表示
CALL STATUS ドライバ情報を表示
CALL SYSON DMシステム2の起動・初期化
CALL SYSOFF DMシステム2の終了
CALL SYSTEM DMシステム2の終了

命令の解説

CALL KCOLOR

[機能] 色系装飾効果を設定します。
[書式] CALL KCOLOR([<文字色>][,<背景色>][,<縁色>][,<影色>])
※すべてを省略することはできません

[解説] 各機能の設定は1バイトの整数で、以下の通りです。

<文字色> 漢字自体の色
<背景色> 漢字の裏側に塗られる色
<縁色> 縁取り機能で有効な縁取りの色
<影色> 影機能で有効な影の色

[機能]…命令の内容を簡単に説明します。
[書式]…命令の書き方を示します。[ ]で囲まれた項目は省略できます。
[解説]…命令の使用法やオプションの意味などについて解説します。


[Back]トップページへ