#include "sgl.h"
void slInitPeripheral( void );
void - 何も与えません。
void - 何も返しません。
ペリフェラル関連の関数のための初期化を行ないます。
slInitSystemの中で呼び出しているのでユーザーが呼ぶ必要はありません。
slInitSystem |
#include "sgl.h"
Uint8 slGetPortDir1( void );
Uint8 slGetPortDir2( void );
void - 何も与えません。
Uint8 - ペリフェラルポートの入出力方向(後述)。
ペリフェラルポートの入出力方向を取得します。
関数の返す値の各ビットが0の時入力方向を、1の時に出力方向を意味しています。
下位7ビットのみが有効です。
slSetPortDir1 |
slSetPortDir2 |
slGetPortData1 |
slGetPortData2 |
slSetPortData1 |
slSetPortData2 |
#include "sgl.h"
Uint8 dir;
Bool slSetPortDir1( dir );
Bool slSetPortDir2( dir );
Uint8 dir - ペリフェラルポートの入出力方向(後述)。
Bool - 処理が正常に終了したかを示すフラグ(後述)。
ペリフェラルポートの入出力方向を設定します。
引数は各ビットが、0の時入力設定、1の時出力設定になります。
他プロセスでセマフォのロックが掛けられていたり、インタラプトバック設定が
されている場合、関数は戻り値として、 NGを返し、それ以外の場合は OKを
返します。
下位7ビットのみが有効です。
slGetPortDir1 |
slGetPortDir2 |
slGetPortData1 |
slGetPortData2 |
slSetPortData1 |
slSetPortData2 |
slGetStatus |
slGetPeripheral |
#include "sgl.h"
Uint8 slGetPortData1( void );
Uint8 slGetPortData2( void );
void - 何も与えません。
Uint8 - ペリフェラルポートのデータ。
slSetPortDir1、slSetPortDir2で入力設定した各ビットに対して、
ペリフェラルポートのデータを取得します。
下位7ビットのみが有効です。また、slSetPortDir1、
slSetPortDir2で出力設定したビットについては、取得されません。
slGetPortDir1 |
slGetPortDir2 |
slSetPortDir1 |
slGetPortDir2 |
slGetPortData1 |
slGetPortData2 |
slGetStatus |
slGetPeripheral |
#include "sgl.h"
Uint8 data;
void slSetPortData1( data );
void slSetPortData2( data );
Uint8 data - 設定したいデータ。
void - 何も返しません。
slSetPortDir1、slSetPortDir2で出力設定した各ビットに対して、
ペリフェラルポートのデータを設定します。
下位7ビットのみが有効となります。また、slSetPortDir1、
slSetPortDir2で入力設定したビットについては、設定されません。
slGetPortDir1 |
slGetPortDir2 |
slSetPortDir1 |
slGetPortDir2 |
slSetPortData1 |
slSetPortData2 |
slGetStatus |
slGetPeripheral |
#include "sgl.h"
Uint8 slGetPortSelect1( void );
Uint8 slGetPortSelect2( void );
void - 何も与えません。
Uint8 - ペリフェラルポートの入出力セレクトモード(後述)。
ペリフェラルデータを、SMPCコントロールモードで取得しているか、SH2
ダイレクトモードで取得しているかを調べます。
関数は
SMPC_CONTROL : SMPCコントロールモード(初期値)
SMPC_SH2_DIRECT: SH2ダイレクトモード
のいずれかを返します。
slSetPortSelect1 |
slSetPortSelect2 |
#include "sgl.h"
Uint8 mode;
Bool slSetPortSelect1( mode );
Bool slSetPortSelect2( mode );
Uint8 mode - ペリフェラルポートの入出力セレクトモード(後述)。
Bool - 処理が正常に終了したかを示すフラグ(後述)。
ペリフェラルデータを、SMPCコントロールモードで取得するか、SH2
ダイレクトモードで取得するかを設定します。
引数modeには、
SMPC_CONTROL : SMPCコントロールモード(初期値)
SMPC_SH2_DIRECT: SH2ダイレクトモード
他プロセスでセマフォのロックが掛けられていたり、インタラプトバック設定が
されている場合、関数は戻り値として、 NGを返し、それ以外の場合は OKを
返します。
slGetPortSelect1 |
slGetPortSelect2 |
#include "sgl.h"
Uint8 slGetPortExt1( void );
Uint8 slGetPortExt2( void );
void - 何も与えません。
Uint8 - 外部ラッチ入力モード(後述)。
ペリフェラルポートの外部ラッチ入力モードを取得し、以下の値を返します。
SMPC_EXL_DIS: 外部ラッチ入力禁止(初期値)
SMPC_EXL_ENA: 外部ラッチ入力許可
slSetPortExt1 |
slSetPortExt2 |
#include "sgl.h"
Uint8 mode;
Bool slSetPortExt1( mode );
Bool slSetPortExt2( mode );
Uint8 mode - 外部ラッチ入力モード(後述)。
Bool - 処理が正常に終了したかを示すフラグ(後述)。
ペリフェラルポートの外部ラッチ入力モードを設定します。
引数として与える、外部ラッチ入力モードは、
SMPC_EXL_DIS: 外部ラッチ入力禁止(初期値)
SMPC_EXL_ENA: 外部ラッチ入力許可
の2種類です。
他プロセスでセマフォのロックが掛けられていたり、インタラプトバック設定が
されている場合、関数は戻り値として、 NGを返し、それ以外の場合は OKを
返します。
外部ラッチ入力許可モードに設定した場合、slSetPortDir1、
slSetPortDir2、でビット6を入力設定"0"にしなければなりません、
slGetPortExt1 |
slGetPortExt2 |
#include "sgl.h"
Uint8 slGetOptimize( void );
void - 何も与えません。
Uint8 - ペリフェラル取得時間最適化モード(後述)。
INTBACKコマンド発行時のペリフェラルデータ取得が最適化モードになっているか
を調べます。
関数は次の値を返します。
SMPC_OPT_ENA: 取得時間最適化許可(初期値)
SMPC_OPT_DIS: 取得時間最適化禁止
slSetOptimize |
slGetStatus |
#include "sgl.h"
Uint8 mode;
Bool slSetOptimize( mode );
Uint8 mode - ペリフェラル取得時間最適化モード(後述)。
Bool - 処理が正常に終了したかを示すフラグ(後述)。
INTBACK時のペリフェラル取得時間最適化モードを設定します。
引数「mode」には、
SMPC_OPT_ENA: 取得時間最適化許可(初期値)
SMPC_OPT_DIS: 取得時間最適化禁止
のいずれかが入ります。
他のプロセスによって、セマフォがロック中である場合、エラーコードNGを、
成功した場合OKを返します。
取得時間最適化禁止にした場合、ペリフェラルデータ取得後にペリフェラル
データが更新され、ペリフェラルの更新結果が1フレーム遅れる事があります。
SMPC割り込み処理関数での処理時間が短縮されているため、取得時間の最適化を
している時でもタイムオーバーが発生する事はあまりありません。
slGetOptimize |
slGetStatus |
#include "sgl.h"
Uint8 slGetPortMode1( void );
Uint8 slGetPortMode2( void );
void - 何も与えません。
Uint8 - ペリフェラルポートのポートモード(後述)。
ペリフェラルポートのポートモードを取得し、
SMPC_PORT_15 : 15バイトモード(初期値)
SMPC_PORT_255 : 255バイトモード
SMPC_PORT_ZERO: 0バイトモード
のいずれかを返します。
slSetPortMode1 |
slSetPortMode2 |
slGetStatus |
#include "sgl.h"
Uint8 mode;
Bool slSetPortMode1( mode );
Bool slSetPortMode2( mode );
Uint8 mode - ペリフェラルポートのポートモード(後述)。
Bool - 処理が正常に終了したかを示すフラグ(後述)。
ペリフェラルポートのポートモードを設定します。
引数「mode」には、以下のいずれかを指定します。
SMPC_PORT_15 : 15バイトモード(初期値)
SMPC_PORT_255 : 255バイトモード
SMPC_PORT_ZERO: 0バイトモード
他のプロセスによって、セマフォがロック中である場合、エラーコード NGを、
成功した場合 OKを返します。
slGetPortMode1 |
slGetPortMode2 |
slGetStatus |
#include "sgl.h"
Uint8 slCheckReset( void );
void - 何も与えません。
Uint8 - SMPCリセットボタン状態(後述)。
SMPCリセットボタン状態を取得し、以下のような値を返します。
SMPC_RES_OFF: リセットボタンOFF(初期値)
SMPC_RES_ON: リセットボタンON
一度 「ON」 になると slClearResetを呼ぶまで変化しません。
通常(リセットボタン有効)時はアプリケーションがリセットボタンの状態を監視
する必要はありません。
リセットボタン有効の場合は自動的にNMI割り込みが発生し、BOOT-ROMに制御が
移ります。
モデム対応アプリケーションのように常時リセットボタン無効状態の場合のみ
使用してください。
slClearReset |
slGetStatus |
#include "sgl.h"
Bool slClearReset( void );
void - 何も与えません。
Bool - 処理が正常に終了したかを示すフラグ(後述)。
SMPCリセットボタン状態をクリアします。
他のプロセスによって、セマフォがロック中である場合、エラーコード NGを、
成功した場合 OKを返します。
slCheckReset |
slGetStatus |
#include "sgl.h"
Bool slIntBackCancel( void );
void - 何も与えません。
Bool - 処理が正常に終了したかを示すフラグ(後述)。
slGetPeripheral、slGetStatusで設定されたインタラプトバック
設定を解除する時に使用します。
他のプロセスによって、セマフォがロック中である場合、エラーコード NGを、
成功した場合 OKを返します。
slGetStatus |
slGetPeripheral |
#include "sgl.h"
Uint8 slGetLanguage( void );
void - 何も与えません。
Uint8 - 言語情報番号。
SMPCで管理している言後情報番号(通常マルチプレイヤーで設定される。)を取得
します。関数の返す値は
SMPC_ENGLISH : 英語
SMPC_DEUTSCH : ドイツ語
SMPC_FRANCAIS: フランス語
SMPC_ESPANOL : スペイン語
SMPC_ITALIANO: イタリア語
SMPC_JAPAN : 日本語
の6つのいずれかになります。
slSetLanguage |
slGetStatus |
#include "sgl.h"
Uint8 num;
void slSetLanguage( num );
Uint8 num - 言語情報番号(後述)。
void - 何も返しません。
SMPCの管理している言語情報番号を変更します。
引数"num"には、
SMPC_ENGLISH : 英語
SMPC_DEUTSCH : ドイツ語
SMPC_FRANCAIS: フランス語
SMPC_ESPANOL : スペイン語
SMPC_ITALIANO: イタリア語
SMPC_JAPAN : 日本語
のいずれかが入ります。
言語情報の設定内容については、作成基準にしたがってください。
slGetLanguage |
slGetStatus |
#include "sgl.h"
Uint8 slGetSoundEffect( void );
void - 何も与えません。
Uint8 - 効果音モード。
SMPCの管理している効果音の情報を取得します。
SMPC_EFFECT_ON : 効果音ON
SMPC_EFFECT_OFF: 効果音OFF
slSetSoundEffect |
slGetStatus |
#include "sgl.h"
Uint8 mode;
void slSetSoundEffect( mode );
Uint8 mode - 効果音モード(後述)。
void - 何も返しません。
SMPCで管理する効果音モードの変更を行ないます。
SMPC_EFFECT_ON: 効果音ON
SMPC_EFFECT_OFF: 効果音OFF
slGetSoundEffect |
slGetStatus |
#include "sgl.h"
Uint8 slGetSoundOutput( void );
void - 何も与えません。
Uint8 - 音声出力モード(後述)。
SMPCの管理する音声出力モードを取得し、以下の値を返します。
SMPC_SOUND_STEREO: ステレオ
SMPC_SOUND_MONO : モノラル
ここで取得される、STREO/MONOモードは、サウンドドライバの出力とは何の
関連もありません。アプリケーションからサウンドドライバを通して発声される
音については、サウンドドライバのSTREO/MONOの設定をする必要があります。
slSetSoundOutput |
slGetStatus |
#include "sgl.h"
Uint8 mode;
void slSetSoundOutput( mode );
Uint8 mode - 音声出力モード(後述)。
void - 何も返しません。
SMPCの管理する音声出力モードを変更します。
引数"mode"には、
SMPC_SOUND_STEREO: ステレオ
SMPC_SOUND_MONO : モノラル
のいずれかが入ります。
尚、CDDAの音声出力モードを変更する際、
slCDDAOn(SGLのサウンド関数を使っている場合)又は、SND_SetCdDaPan(SBLの
サウンド関数を使っている場合)を使うようにしてください。
現在作成基準に於いては、アプリケーションのオプション設定などにて、
STEREO/MONOの設定を行なった場合、この関数を利用してSMPCの管理する
音声出力モードの設定も変更する必要があります。
また、このモードを変更しても、ユーザアプリケーションから出力される
音に変化はありません。アプリケーションから出力する音の、STEREO/MONO情報を
変更するには、サウンドドライバの設定を変更するようにしてください。
slGetSoundOutput |
slGetStatus |
#include "sgl.h"
Uint8 slGetHelpWindow( void );
void - 何も与えません。
Uint8 - ヘルプウィンドウモード(後述)。
ヘルプウィンドウモードを取得し、
SMPC_HELP_ENA: 表示する。
SMPC_HELP_DIS: 表示しない。
を返します。
slSetHelpWindow |
slGetStatus |
#include "sgl.h"
Uint8 mode;
void slSetHelpWindow( mode );
Uint8 mode - ヘルプウィンドウモード(後述)。
void - 何も返しません。
ヘルプウィンドウモードの設定を行ないます。
引数"mode"には、
SMPC_HELP_ENA: 表示する。
SMPC_HELP_DIS: 表示しない。
が入ります。
現在の作成基準では、ヘルプウィンドウモードの設定をする事を禁止しているため
この関数は使用しないでください。
slGetHelpWindow |
slGetStatus |
#include "sgl.h"
Bool slGetStatus( void );
void - 何も与えません。
Bool - 処理が正常に終了したかを示すフラグ(後述)。
SMPCのインタラプトバックコマンドを実行し、SMPCステータス、
ペリフェラルデータのいずれも取得します。
この関数は、一度だけ呼べばよく、設定を変更する時も解除せずにそのまま
呼べます。
次のフレームから設定が有効となり、データ収集を開始します。
設定を変更した場合、そのフレームで収集したデータは次のフレームでの
参照データに反映され、次のフレームでの収集データから新しい設定が
反映されます。
したがって、収集したデータを参照できるのは設定後2フレーム目からとなります。
ライブラリ起動時は、slInitSystemでペリフェラルデータのみ取得の設定を
しているので、ウエイトせずにペリフェラルの参照を開始する事ができます。
他のプロセスがロック中でセマフォの獲得が出来ない或いは、
slSetPortDir1、slSetPortDir2で与えられるペリフェラルポートの
入出力の設定が正しくない場合、リザルトコードとして、 NG を返します。
本関数は、slInitSystemで実行されており、そこで取得された
SMPCステータスはライブラリ内部にSmpc_Statusというグローバル変数内に
保持されています。その後、slGetPeripheralが呼ばれている為、通常の
動作は、ペリフェラルデータのみを取得するモードになっています。
意図的に再度SMPCステータスを取得するような場合以外この関数をコールする
必要はありません。
この関数はスレーブ側からは使えません。
スレーブ側で使おうとした場合、関数のリザルトコードとして、 NG を返し、
コマンドは実行されません。
slSetPortDir1 |
slSetPortDir2 |
slGetPeripheral |
slInitSystem |
#include "sgl.h"
Bool slGetPeripheral( void );
void - 何も与えません。
Bool - 処理が正常に終了したかを示すフラグ(後述)。
SMPCのインタラプトバックコマンドを実行し、ペリフェラルデータのみを取得
します。
この関数は、一度だけ呼べばよく、設定を変更する時も解除せずにそのまま
呼べます。
次のフレームから設定が有効となり、データ収集を開始します。
設定を変更した場合、そのフレームで収集したデータは次のフレームでの
参照データに反映され、次のフレームでの収集データから新しい設定が
反映されます。
したがって、収集したデータを参照できるのは設定後2フレーム目からとなります。
ライブラリ起動時は、slInitSystemでペリフェラルデータのみ取得の設定を
しているので、ウエイトせずにペリフェラルの参照を開始する事ができます。
他のプロセスがロック中でセマフォの獲得が出来ない或いは、
slSetPortDir1、slSetPortDir2で与えられるペリフェラルポートの
入出力の設定が正しくない場合、リザルトコードとして、 NG を返します。
この関数はスレーブ側からは使えません。
スレーブ側で使おうとした場合、関数のリザルトコードとして、 NG を返し、
コマンドは実行されません。
slGetStatus |
slSetPortDir1 |
slSetPortDir2 |
slInitSystem |