English
HARDWARE ManualSMPCユーザーズマニュアル
戻る進む
SMPCユーザーズマニュアル/第2章 SMPCコマンド

■2.4 非リセット系システムマネージメントコマンド

 非リセット系システムマネージメントコマンドの詳細を表形式で示します。各コマンドの表の見方および注意事項は以下の通りです。また、全てのコマンドにおいてステータスフラグを使用する事で、コマンドの二重発行が管理できます。

 ●SMPC割り込み
 "発生"と記述されているものは、コマンド終了時にSCU経由にてSH-2に対してSMPC割り込みを発生します。また、SCUの設定により、割り込みのイネーブル/ディセーブルが可能です。

 ●IREG、OREG

 ステータスフラグ(SF)と併用することにより、

 を判断することができます。

 ●実行時間
 SMPC内部ファームウェアのステップ数から計算した実行時間を示しています。RTCインクリメント等の内部タスクと衝突した場合は、コマンド実行時間が変化するので、最小値および最大値の範囲で記述しています。


一覧表 |▲戻る | 次へ

No.1

INTBACK

インタラプトバック

(SMPCステータス取得)

コマンドコード 10H
SMPC割込  発生
IREG    0〜2
OREG    0〜31
実行時間    max=320msec
        min=xxx

機能内容
SMPCの各ステータスおよびペリフェラルデータを取得します。ここではSMPCステータスの取得について説明します。 ペリフェラルデータの取得は、第3章を参照してください。

コマンドパラメータ
ペリフェラルデータ取得時のINTBACKコマンドのコマンドパラメータについて示します。

 ●IREG0
IREG0 bit7bit6bit5bit4bit3bit2bit1bit0
20100001HSMPCステータス取得スイッチ(00Hまたは01H)
初期値不定/Write Only

IREG0:SMPCステータス取得スイッチの設定値
IREG0設定値   説 明   
00H日時、カートリッジコード、エリアコード、端子状態、SMEM、
リセットボタンの各データを返さない
01H日時、カートリッジコード、エリアコード、端子状態、SMEM、
リセットボタンの各データを返す

INTBACKコマンドを使用する際は、必ず上記設定値のいずれかを設定してください。
IREG0はペリフェラルをコントロールするときにも使用します。 使用方法は、第3章を参照してください。

 ●IREG1
IREG1 bit7bit6bit5bit4bit3bit2bit1bit0
20100003H P2MD1P2MD0P1MD1P1MD0PEN0OPE0
不定
W
不定
W
不定
W
不定
W
不定
W
不定
-
不定
W
不定
-

ビット7,6:ポート2モード
ビット7ビット6     説 明     
P2MD1P2MD0
0015バイトモード
01255バイトモード
10SEGA RESERVED(設定禁止)
110バイトモード

ビット5,4:ポート1モード
ビット5ビット4     説 明     
P1MD1P1MD0
0015バイトモード
01255バイトモード
10SEGA RESERVED(設定禁止)
110バイトモード

ビット3:ペリフェラルデータイネーブル
ビット3     説 明     
PEN
0ペリフェラルデータを返さない
1ペリフェラルデータを返す

ビット1:ペリフェラルデータ取得時間の最適化
ビット1     説 明     
OPE
0最適化をする
1最適化をしない

 ●IREG2
初期値:不定
IREG2 bit7bit6bit5bit4bit3bit2bit1bit0
20100005HF0H
Write Only

INTBACKコマンドを発行するときは、IREG2にF0Hを必ずセットしてください。

リザルトパラメータ
SMPCステータス取得に限定したリザルトパラメータについて示します。

 ●SR
SR bit7bit6bit5bit4bit3bit2bit1bit0
20100061HPDERESB

ビット5     説 明     
PDE
0残りペリフェラルデータなし
1残りペリフェラルデータあり

ビット4     説 明     
PRESB
0リセットボタンOFF
1リセットボタンON

 ●OREG0
OREG0 bit7bit6bit5bit4bit3bit2bit1bit0
20100021HSTERESD

ビット7     説 明     
STE
0SMPCコールドリセット後SETTIMEされていない 注1
1SMPCコールドリセット後SETTIMEされている 注1

ビット6     説 明     
RESD
0リセットイネーブル
1リセットディセーブル(デフォルト)

注1
SMPCコールドリセットは、以下の条件で発生します
  1. セガサターン背面電池ボックス内リセットスイッチを押したとき
  2. バッテリ未装着時または消耗時に主電源を投入(ON)したとき
  3. 電源OFF中に電池が投入されたとき

 ●OREG1,OREG2,OREG3
 bit7bit6bit5bit4bit3bit2bit1bit0
OREG120100023H西暦年号千位(BCD)西暦年号百位(BCD)
OREG220100025H西暦年号十位(BCD)西暦年号一位(BCD)
OREG320100027H曜日(16進) 注2月(16進) 注3

注2
曜日日曜月曜火曜水曜木曜金曜土曜
 値 0H1H2H3H4H5H6H

注3
 月 1月2月3月4月5月6月7月8月9月10月11月12月
 値 1H2H3H4H5H6H7H8H9HAHBHCH

 ●OREG4,OREG5,OREG6,OREG7,OREG8
 bit7bit6bit5bit4bit3bit2bit1bit0
OREG420100029H日十位(BCD)日一位(BCD)
OREG52010002BH時十位(BCD)時一位(BCD)
OREG62010002DH分十位(BCD)分一位(BCD)
OREG72010002FH秒十位(BCD)秒一位(BCD)
OREG820100031HCTG1CTG0
CTG0:カートリッジコード0
CTG1:カートリッジコード1

 ●OREG9
OREG9 bit7bit6bit5bit4bit3bit2bit1bit0
20100033Hエリアコード(00H〜0FH)

コード地 域主 な 国 名 等
0H使用禁止  
1H日本地域 日本
2HアジアNTSC地域 台湾、韓国、フィリピン
3HSEGA RESERVED  
4H北米地域 アメリカ合衆国、カナダ 、中南米NTSC地域(ブラジルのみ)
5HSEGA RESERVED  
6HSEGA RESERVED  
7HSEGA RESERVED  
8HSEGA RESERVED  
9HSEGA RESERVED  
AHSEGA RESERVED  
BHSEGA RESERVED  
CH欧州PAL地域 欧州、オーストラリア、南アフリカ、中南米PAL地域
DHSEGA RESERVED  
EHSEGA RESERVED  
FH使用禁止  

 ●OREG10
OREG10 bit7bit6bit5bit4bit3bit2bit1bit0
20100035H 0 DOTSEL 1 1 MSHNMI 1 SYSRES SNDRES

・システムステータス1(SMPCから出力される各コントロール信号の状態 0:OFF 1:ON)
DOTSEL信号は、現在の画面モード(水平解像度)を示す。 (0:320 1:352)

 ●OREG11
OREG11 bit7bit6bit5bit4bit3bit2bit1bit0
20100037H CDRES

・システムステータス2(SMPCから出力される各コントロール信号の状態 0:OFF 1:ON)
・""は、RESERVEDです。

 ●OREG12,OREG13,OREG14,OREG15
 bit7bit6bit5bit4bit3bit2bit1bit0
OREG1220100039HSMEM1保持データ
OREG132010003BHSMEM2保持データ
OREG142010003DHSMEM3保持データ
OREG152010003FHSMEM4保持データ

 ●OREG31
OREG31 bit7bit6bit5bit4bit3bit2bit1bit0
2010005FH

注意:ペリフェラルのデータで、コマンドコード(OREG31)が上書される場合があります。

備考

 ■INTBACKコマンドの使用方法
SMPCステータスを取得するとくのINTBACKコマンドの使用方法について説明します。
INTBACKコマンドには以下の3つ使用方法があります。

  1. SMPCステータスのみ取得する
  2. SMPCステータス取得に続いて、ペリフェラルデータを取得する
  3. ペリフェラルデータのみ取得する

本章では、SMPCステータス取得を中心に説明をすすめます。ここでは、1.および2.のステータス取得までを説明し3.に関しては、第3章にて説明します。

 1.SMPCステータスのみ取得する方法
ステータスのみ取得する際には、コマンドパラメータを以下のように設定しINTBACKコマンドを発行します。

  IREG0 設定値=01H
・日時、カートリッジコード、エリアコード、端子状態、SMEM、リセットボタンモードの各データを返す

  IREG1 設定値=00H
・端子2モード(P2MD1,P2MD0)=00B→15バイトモード
・端子1モード(P1MD1,P1MD0)=00B→15バイトモード
・ペリフェラルデータイネーブル(PEN)=0B→ペリフェラルデータを返さない
・ペリフェラル取得時間の最適化(OPE)=0B→最適化をおこなう

  IREG2 設定値=F0H
・無条件にF0Hを設定してください

上記設定により、SFがクリアされ、INTBACKコマンドが終了し、リザルトパラメータを取得します。 また、コマンド終了時にSMPC割り込みを要求します。実行時間は、最少TBD〜最大TBDとなります。

 2.SMPCステータス取得に続いて、ペリフェラルデータを取得する方法
SMPCステータス取得に続いて、ペリフェラルデータを取得する際には、コマンドパラメータを以下のように設定しINTBACKコマンドを発行します。 IREG1の設定値は、アプリケーション側で希望する値に設定可能です。

  IREG0 設定値=01H
・日時、カートリッジコード、エリアコード、端子状態、SMEM、リセットボタンモードの各データを返す

  IREG1 設定値=08H
・端子2モード(P2MD1,P2MD0)=00B→15バイトモード
・端子1モード(P1MD1,P1MD0)=00B→15バイトモード
・ペリフェラルデータイネーブル(PEN)=1B→ペリフェラルデータを返す
・ペリフェラル取得時間の最適化(OPE)=0B→最適化をおこなう

  IREG2 設定値=F0H
・無条件にF0Hを設定してください

上記設定により、SMPCはコマンドを実行しリザルトパラメータを設定した時点でSMPC割り込みを要求します。
SMPC割り込みを要求した時点では、SFは、"1"となっています。コマンド発行からリザルトパラメータ設定完了まで時間は、最少TBD〜最大TBDとなります。
ステータスに関するリザルトパラメータ取得後、IREG0のビット7を反転することでSMPCは、コンティニューとみなし、ペリフェラルデータ取得へと続きます。

この方法は、毎フレーム各種ステータスとペリフェラルデータを取得するアプリケーションに有効な手段となります。


一覧表 |▲戻る | 次へ

No.2

SETSMEM

SMPCメモリ設定

コマンドコード 17H
SMPC割込  発生不可
IREG    0〜3
OREG    31
実行時間    max=xxx
        min=40μsec

機能内容
SMPCは、4バイトのバッテリバックアップ可能なメモリ(SMEM)を用意しています。本コマンドは、SMEMへのデータを設定します。

コマンドパラメータ
 bit7bit6bit5bit4bit3bit2bit1bit0
OREG020100001HSMEM1へのデータ設定
OREG120100003HSMEM2へのデータ設定
OREG220100005HSMEM3へのデータ設定
OREG320100007HSMEM4へのデータ設定

リザルトパラメータ
OREG31 bit7bit6bit5bit4bit3bit2bit1bit0
2010005FH

備考
●SMEMの内容はSMPCコールドリセット時に0クリアされます。

SMPCコールドリセットは、以下の条件で発生します
  1. セガサターン背面電池ボックス内リセットスイッチを押したとき
  2. バッテリ未装着時または消耗時に主電源を投入(ON)したとき
  3. 電源OFF中に電池が投入されたとき

●SETEMEMコマンドでは4バイト同時に設定されます。内容を更新する際はINTBACKコマンドにより現在保持しているデータをリード、デモファイライトしてください。

●SETEMEMコマンド発行中に電源が切断(OFF)されると、

  1. SETSMEMコマンドの内部処理が電源OFFシーケンスより先に実行できた場合は、全データが更新されます。
  2. 電源OFFシーケンスが先に実行された場合は、コマンド発行前のデータが保持されます。


戻る進む
HARDWARE ManualSMPCユーザーズマニュアル
Copyright SEGA ENTERPRISES, LTD., 1997