CALLの拡張命令

 MSXパソコンでは拡張コマンドCALLを使うことで拡張したBASICを使うことができます。
CALL命令はマシン語を使うことによって拡張することが可能です。
 詳しくはクリエイター別のEDCOM3の資料を参照してみてください。

■内蔵ソフトを実行する
動作機種:MSX2ワープロパソコン限定

CALL JWP
CALL EWP

動作機種:MSX2+A1シリーズ限定

CALL HIRO

■JEを起動する
動作機種:MSX2+、MSXturboRのMSXパソコン、MSXPLAYer、1chipMSX改

 CALL KANJI(n)0-3/漢字ドライバの起動

漢字ドライバ、JEプロンプトを起動します。MSXエミュレータでは動作しません。

 CALL ANK/漢字ドライバを終了

 このコマンドを使うことでシフトJISが有効になります。プログラムモードも大きく変わってきます。
CALLKANJI3:SCREEN0:WIDTH80で漢字の文字幅が40(80)文字まで、できます。
 パソコン通信などでは38文字改行といって、他機種でも読めるように
38文字目で改行するように決められていました。
 ただし、このモードはインタレースでチラツキがある為にノンインタレース12ドット表示という、
文字が潰れているMSXフォントが増えてきました。
 また、MSXの最大の特長の16ドットが大きな字体は子供やお年寄りでも、
見やすい大きさでWindowsのように目を凝らすような必要もありません。

 CALL AKCNV/全角文字へ変換。ABC→ABC
 CALL JIS/最初の2バイトを16進4桁のJISコードへ変換
 CALL SJIS/最初の2バイトを16進4桁のシフトJISコードへ変換
 CALL KACNV/半角文字に変換できるすべての文字を半角文字に変換
 CALL KEXT/半角文字または全角文字を抜き出して代入
 CALL INSTR/指定する文字列をさがします
 CALL KLEN/全角半角混ざりでも文字数を得ることもできます
 CALL KMID/指定した長さの文字列を取り出す
 CALL KNJ/4ケタの漢字コードに相当する漢字1文字を代入
 CALL KTYPE/全角の場合は1になります。
 CALL CLS/漢字ドライバモードの画面消去

以上はは編集用コマンドです。CALL CLSは必要なく
PRINT CHR$(12)
でクリアスクリーンのボタンを押したようになります。

 CALL PALETTE/カラーパレットの初期化、設定

■メモリディスクを有効にする
動作機種:MSX2、MSX2+、MSXturboRなど

 CALL MEMINI
 CALL MFILES
 CALL MKILL

 以上は編集用コマンドです。
また、OPEN命令のファイルスペックMEM:でメモリにセーブすることができます。
ROMBASICでも試すことができます。
 なお、DM−SYSTEM2使用時にはこのコマンドは無効になります。

■MSX−DOSを起動する
動作機種:MSXturboR、1chipMSXなど

 CALL SYSTEM
 CALL SYSTEM(”コマンド名”)

 MSX−DOS2ではすぐに命令を実行させることも可能になりました。
また、コマンドレベルに戻るアプリはREBOOT.BATのファイル名を読むこともできます。

■RAMディスクを有効にする
動作機種:MSXturboR、MSXPLAYer、1chipMSXなど

 CALL RAMDISK(n)

■MSX−DOS2専用のコマンドです。Update!(03/17)
動作機種:MSXturboR、MSXPLAYer、1chipMSXなど

 CALL CHDRV(”<d:>”)/読み込むドライブを設定。
 CALL CHDIR(”<dir>”)/読み込むディレクトリを設定。

■FM−MUSICを拡張する

 CALL MUSIC/MSX−MUSICモードの設定
 CALL AUDREG/音源チップのレジスタに書き込み
 CALL BGM/PLAY文のバックグランド処理
 CALL PITCH/音高をピッチ調整
 CALL PLAY/音楽が演奏中かどうかを調べます
 CALL STOPM/音楽の演奏を停止
 CALL TEMPER/音律番号の指定
 CALL TRANSPOSE/セント単位の移調
 CALL VOICE/音色を設定
 CALL VOICE COPY/音色ライブラリ間でのデータの転送
 
■通信ターム

 CALL COMBREAK/ブレーク信号送出
 CALL COMGOSUB/通信用ポートからの割り込み
 CALL COMINI/通信用ポートの初期化
 CALL COMOFF/通信用ポートの割り込み禁止
 CALL COMON/通信用ポートの割り込み許可
 CALL COMPROTCOL/ファイル転送に用いるプロトコル
 CALL COMSTAT/通信用ポートのステータス
 CALL COMSTOP/通信回線の割り込み保留

 CALL COMTERM/ターミナルモードに切り替え
 CALL DIAL/電話番号送出
 CALL DIALC/1桁だけ電話番号漏出
 CALL DTMF/DTMFデコーダより読み取り

 CALL LINESEL/パルス・トーンの切り替え
 CALL NETCONFIG/ハードウェアコンフィグレーション
 CALL NETGOSUB/電話回線の着呼があったときの割り込み
 CALL NETHOOK/回線の切断・接続
 CALL NETINI/NCUの初期設定
 CALL NETOFF/着呼時の割り込み禁止
 CALL NETON/着呼時の割り込み許可
 CALL NETSPK/スピーカーのON/OFF
 CALL NETSTAT/NCUハードウェアの状態を返します
 CALL NETSTOP/着呼時の割り込み保留

 CALL TELCOM/通信メニュー

■PCM

 CALL PCMPLAY/PCMを再生
 CALL PCMREC/PCMを録音

 MSXturboRではBASICでPCM命令を使用できます。読み書きはBLOADとBSAVEです。
また、MSX2であればPSGまたはFMからPCMをサンプリングすることが可能になりました。
 EDCOM3の拡張コマンドを使用すればMSX2でもPCMを使うことができます。

■CALLの拡張

マシン語を使って拡張する時は次のとおりです。
CALL U-YANのU-YANはPROCNM(FD89H)から格納されます。
 ステートメント拡張ルーチン 4000H-7FFFH
処理を行った場合はCY=0にします。