English
PROGRAMMER'S GUIDESMPCインタフェースユーザーズマニュアル
戻る進む
SMPCインタフェースユーザーズマニュアル/リファレンス

データ仕様


イントバックコマンド発行




Title

データ仕様

Data

ペリフェラルIDデータ型

Data Name

PerId

No

1.1

ペリフェラルIDを示すデータ型です。

定義値
定数名
説  明
0xF0
PER_ID_NCON_UNKNOWN
未接続又はSMPC未対応ペリフェラル
0x00
PER_ID_DGT
デジタルデバイス
0x10
PER_ID_ANL
アナログデバイス
0x20
PER_ID_PNT
ポインティングデバイス(メガドライブマウス)
0x30
PER_ID_KBD
キーボード
0xE0
PER_ID_MD
メガドライブ(3ボタン,6ボタン)




Title

データ仕様

Data

ペリフェラルサイズデータ型

Data Name

PerSize

No

1.2

ペリフェラルサイズを示すデータ型です。

定義値
定数名
説  明
0x0F
PER_SIZE_NCON_15
未接続 or 15バイトデバイス
0x02
PER_SIZE_DGT
デジタルデバイス
0x05
PER_SIZE_ANL
ミッションスティック
0x08
PER_SIZE_ANL2
ミッションスティック(2本スティック)
0x06
PER_SIZE_3DPAD
マルチコントローラ
0x03
PER_SIZE_STEERING
ステアリングコントローラ
0x03
PER_SIZE_PNT
ポインティングデバイス(シャトルマウス)
0x04
PER_SIZE_KBD
キーボード
0x01
PER_SIZE_M3BP
メガドライブ3ボタンパッド
0x02
PER_SIZE_M6BP
メガドライブ6ボタンパッド



Title

データ仕様

Data

イントバック種別データ型

Data Name

PerKind

No

1.3

イントバック種別を示すデータ型です。

定数名
説  明
PER_KD_SYS
システムデータ取得(時刻を除く)
PER_KD_PER
ペリフェラルデータ取得
PER_KD_PERTIM
ペリフェラルデータ取得+時刻データ取得



Title

データ仕様

Data

必要ペリフェラル数データ型

Data Name

PerNum

No

1.4

必要ペリフェラル数を示すデータ型です。

意味
0〜31
1P〜32P



Title

データ仕様

Data

システムデータ出力データ型

Data Name

PerGetSys

No

1.5

システムデータ出力を示すデータ型です。

PerGetSys *data
アクセスマクロ
説  明
PER_GS_CC(data)
Uint8
カートリッジコード
PER_GS_AC(data)
Uint8
エリアコード
PER_GS_SS(data)
Uint16
システムステータス
PER_GS_SM(data)
Uint32
SMPCメモリ
PER_GS_SMPC_STAT(data)
Uint8
SMPCステータス

以下に各アクセスマクロで使用できる定数、値を示します。

PER_GS_CC(data)
bit7
 
 
 
 
 
 
bit0
0
0
0
0
0
0
CTR1
CTR0

PER_GS_AC(data)
bit7
 
 
 
 
 
 
bit0
0
0
0
0
ACODE
3
ACODE
2
ACODE
1
ACODE
0

エリアコードの示す地域はハードウェアマニュアルを参照ください。

 参 照:
『HARDWARE MANUAL/SMPCユーザーズマニュアル』INTBACKコマンド

PER_GS_SS(data)
ビット位置定数
取得値
PER_SS_DOTSEL
DOTSEL信号状態
PER_SS_SYSRES
SYSRES信号状態
PER_SS_MSHNMI
MSHNMI信号状態
PER_SS_SNDRES
SNDRES信号状態
PER_SS_CDRES
CDRES信号状態

取得値説明
意味
0
OFF
1
ON

PER_GS_SM(data)
アプリケーション、BOOT ROMが共通に使用する領域です。
定義値
ビット位置定数
取得値
0xF
PER_MSK_LANGU
言語定数(以下参照)
(0x1 <<  8)
PER_MSK_SE
SE(0:ON,1:OFF)
(0x1 <<  9)
PER_MSK_STEREO
STEREO or MONO(0:STEREO,1:MONO)
(0x1 << 10)
PER_MSK_HELP
HELP(0:ON,1:OFF)

言語定数
定義値
定数名
説  明
0x0
PER_ENGLISH
  英 語
0x1
PER_DEUTSCH
 ドイツ語
0x2
PER_FRANCAIS
フランス語
0x3
PER_ESPNOL
スペイン語
0x4
PER_ITALIANO
イタリア語
0x5
PER_JAPAN
日 本 語

PER_GS_SMPC_STAT(data)
定義値
ビット位置定数
取得値
(1 <<  6)
PER_SS_RESET
リセットマスク状態
0:リセットイネーブル(デフォルト)
1:リセットディセーブル
(1 <<  7)
PER_SS_SETTIME
時刻設定状態
0:SMPCコールドリセット後、時刻設定をしていない
1:SMPCコールドリセット後、時刻設定をしている



Title

データ仕様

Data

ペリフェラルデータ出力データ型

Data Name

PerGetPer

No

1.6

ペリフェラルデータ出力を示すデータ型です。




Title

データ仕様

Data

マルチタップ情報

Data Name

PerMulInfo

No

1.7

 本体のペリフェラル接続端子の接続状態を示します。
各端子ごとに次の情報を取得することができます。

typedef struct {
    PerMulId    id;     /* マルチタップID     */
    PerMulCon   con;    /* コネクタ数         */
}PerMulInfo;

 取得例:
PerGetPer  *per_data;
PerMulInfo *mul_info;
PER_LGetPer(&per_data, &mul_info);
    mul_info[0].id   本体端子1のマルチタップID
    mul_info[0].con  本体端子1のコネクタ数
    mul_info[1].id   本体端子2のマルチタップID
    mul_info[1].con  本体端子2のコネクタ数

 詳 細:

 備 考:
現在サポートされているマルチタップは次の2種類です。


デバイス情報データ型(定義例) およびビット位置定数

 各ペリフェラルデータにアクセスする際の構造体定義例と、ビット位置定数を示します。
型定義する際の参考にしてください。

ビット位置定数 共通事項

 以下に説明しているビット位置定数がボタンの場合、意味は以下のとおりです。

取得値説明
意  味
0
ボタンを押している
1
ボタンを押していない




Title

データ仕様

Data

デジタルデバイスデータ

Data Name

smpDgtData

No

2.1

デジタルデバイス情報を示すデータ型の定義例です。

typedef struct  {    /* デジタルデバイス       */
    PerId id;          /* ペリフェラルタイプ      */
    PerSize size;      /* ペリフェラルサイズ      */
    Uint16 data;       /* デジタルデバイスデータ    */
}smpDgtData;

 以下は、デジタルデバイス用のビット位置定数です。

Uint16 data; /* デジタルデバイスデータ型 */
BIT位置
ビット位置定数
取得値
bit15
PER_DGT_R
 方向キーRIGHT
bit14
PER_DGT_L
 方向キーLEFT
bit13
PER_DGT_D
 方向キーDOWN
bit12
PER_DGT_U
 方向キーUP
bit11
PER_DGT_S
 STARTボタン
bit10
PER_DGT_A
 Aボタン
bit9
PER_DGT_C
 Cボタン
bit8
PER_DGT_B
 Bボタン
bit7
PER_DGT_TR
 TRG-RIGHT(デバイスの右上にある)
bit6
PER_DGT_X
 Xボタン
bit5
PER_DGT_Y
 Yボタン
bit4
PER_DGT_Z
 Zボタン
bit3
PER_DGT_TL
 TRG-LEFT(デバイスの左上にある)




Title

データ仕様

Data

アナログデバイスデータ

Data Name

smpAnlData

No

2.2

アナログデバイス情報を示すデータ型の定義例です。

typedef struct  {    /* アナログデバイス     */
	    PerId id;          /* ペリフェラルタイプ */
    PerSize size;      /* ペリフェラルサイズ */
    Uint16 data;       /* デジタルデータ      */
    Uint8 x;           /* アナログch0データ(0〜255) */
    Uint8 y;           /* アナログch1データ(0〜255) */
    Uint8 r;           /* アナログch2データ(0〜255) */
    Uint8 l;           /* アナログch3データ(0〜255) */
}smpAnlData;




Title

データ仕様

Data

ポインティングデバイスデータ

Data Name

smpPntData

No

2.3

ポインティングデバイス情報を示すデータ型の定義例です。

typedef struct  {    /* ポインティングデバイス     */
    PerId id;          /* ペリフェラルタイプ       */
    PerSize size;      /* ペリフェラルサイズ       */
    Uint8 info;        /* オーバフロー、符号情報     */
    Uint8 x;           /* X軸の移動量の絶対値(0〜127)  */
    Uint8 y;           /* Y軸の移動量の絶対値(0〜127)  */
}smpPntData;

 以下にポインティングデバイス用に使用できるビット位置定数を示します。

Uint8 info; /* オーバフロー、符号情報  */
BIT位置
ビット位置定数
取得値
bit7
PER_PNT_YO
Y軸オーバフロー (0:オーバフロー、1:非オーバフロー)
bit6
PER_PNT_XO
X軸オーバフロー (0:オーバフロー、1:非オーバフロー)
bit5
PER_PNT_YS
Y軸符号 (0:正、1:負)
bit4
PER_PNT_XS
X軸符号 (0:正、1:負)
bit3
PER_PNT_S
STARTボタン
bit2
PER_PNT_MID
中央ボタン
bit1
PER_PNT_R
右ボタン
bit0
PER_PNT_L
左ボタン




Title

データ仕様

Data

キーボードデバイスデータ

Data Name

smpKbdData

No

2.4

 キーボードデバイスを示すデータ型の定義例です。

typedef struct  {    /* キーボードデバイスデータ */
    PerId id;          /* ペリフェラルタイプ    */
    PerSize size;      /* ペリフェラルサイズ    */
    PerDgtInfo dgt;    /* デジタルデバイスデータ  */
    Uint8 skey;        /* 特殊キー         */
    Uint8 key;         /* キー           */
}smpKbdData;

 以下に各メンバで使用できる定数、値を示します。

BIT位置
ビット位置定数
取得値
bit6
PER_KBD_CL
Caps Lock
bit5
PER_KBD_NL
Num Lock
bit4
PER_KBD_SL
Scrool Lock
bit3
PER_KBD_MK
Make
(0:キーを押している、1:キーを押していない)
bit0
PER_KBD_BR
Break
(0:キーを離している、1:キーを離していない)
キーコードや同時押し対策方法等については、次の情報を参照してください。

 参 照:
Devloper's Information STN-45 セガサターンキーボード補足説明

戻る進む
PROGRAMMER'S GUIDESMPCインタフェースユーザーズマニュアル
Copyright SEGA ENTERPRISES, LTD., 1997