mirror of
https://github.com/rvtr/ntr_bootrom.git
synced 2025-10-31 07:11:11 -04:00
514 lines
24 KiB
ArmAsm
514 lines
24 KiB
ArmAsm
;=======================================================================
|
||
; IrisSubpDefineArm.s
|
||
; IRISサブプロセッサ 標準定数(ARMASM用)
|
||
;
|
||
; Copyright (C) 2002-2004 NINTENDO Co.,Ltd.
|
||
;=======================================================================
|
||
IF :DEF: _IRIS_SUBP_DEFINE_H
|
||
ELSE
|
||
_IRIS_SUBP_DEFINE_H * 1
|
||
|
||
|
||
INCLUDE IrisSubpTargetArm.s
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 定数
|
||
;-----------------------------------------------------------------------
|
||
|
||
SYSTEM_CLOCK * 33513982 ; システムクロック
|
||
|
||
MAINP * 0 ; メインプロセッサ
|
||
SUBP * 1 ; サブプロセッサ
|
||
|
||
|
||
ON * 1
|
||
OFF * 0
|
||
ENABLE * 1
|
||
DISABLE * 0
|
||
TRUE * 1
|
||
FALSE * 0
|
||
|
||
|
||
;***********************************************************************
|
||
; IRIS-IOPレジスタ・コントロールビット
|
||
;***********************************************************************
|
||
|
||
;-----------------------------------------------------------------------
|
||
; プログラムステータスレジスタ
|
||
;-----------------------------------------------------------------------
|
||
|
||
PSR_CPU_MODE_MASK * 0x1f ; CPUモード
|
||
|
||
PSR_USER_MODE * 0x10 ; ユーザ
|
||
PSR_FIQ_MODE * 0x11 ; FIQ
|
||
PSR_IRQ_MODE * 0x12 ; IRQ
|
||
PSR_SVC_MODE * 0x13 ; スーパバイザ
|
||
PSR_ABORT_MODE * 0x17 ; アボート(プリフェッチ/データ)
|
||
PSR_UNDEF_MODE * 0x1b ; 未定義命令
|
||
PSR_SYS_MODE * 0x1f ; システム
|
||
|
||
PSR_THUMB_STATE * 0x20 ; THUMBステート
|
||
PSR_FIQ_DISABLE * 0x40 ; FIQ不許可
|
||
PSR_IRQ_DISABLE * 0x80 ; IRQ不許可
|
||
PSR_IRQ_FIQ_DISABLE * 0xc0 ; IRQ&FIQ不許可
|
||
|
||
PSR_V_FLAG * 0x10000000 ; オーバーフロー
|
||
PSR_C_FLAG * 0x20000000 ; キャリー/ボロー/拡張
|
||
PSR_Z_FLAG * 0x40000000 ; ゼロ
|
||
PSR_N_FLAG * 0x80000000 ; 負/未満
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_PSR_USER_MODE * 0x10 ; ユーザ
|
||
ST_PSR_FIQ_MODE * 0x11 ; FIQ
|
||
ST_PSR_IRQ_MODE * 0x12 ; IRQ
|
||
ST_PSR_SVC_MODE * 0x13 ; スーパバイザ
|
||
ST_PSR_ABORT_MODE * 0x17 ; アボート(プリフェッチ/データ)
|
||
ST_PSR_UNDEF_MODE * 0x1b ; 未定義命令
|
||
ST_PSR_SYS_MODE * 0x1f ; システム
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 割り込み要求/許可フラグ
|
||
;-----------------------------------------------------------------------
|
||
|
||
V_BLANK_INTR_FLAG * 0x00000001 ; Vブランク割り込み
|
||
H_BLANK_INTR_FLAG * 0x00000002 ; Hブランク割り込み
|
||
V_COUNT_INTR_FLAG * 0x00000004 ; Vカウンタ一致割り込み
|
||
TIMER0_INTR_FLAG * 0x00000008 ; タイマー0割り込み
|
||
TIMER1_INTR_FLAG * 0x00000010 ; タイマー1割り込み
|
||
TIMER2_INTR_FLAG * 0x00000020 ; タイマー2割り込み
|
||
TIMER3_INTR_FLAG * 0x00000040 ; タイマー3割り込み
|
||
SIO_INTR_FLAG * 0x00000080 ; シリアル通信割り込み
|
||
DMA0_INTR_FLAG * 0x00000100 ; DMA0割り込み
|
||
DMA1_INTR_FLAG * 0x00000200 ; DMA1割り込み
|
||
DMA2_INTR_FLAG * 0x00000400 ; DMA2割り込み
|
||
DMA3_INTR_FLAG * 0x00000800 ; DMA3割り込み
|
||
KEY_INTR_FLAG * 0x00001000 ; キー割り込み
|
||
CARTRIDGE_INTR_FLAG * 0x00002000 ; カートリッジ割り込み
|
||
|
||
MAINP_INTR_FLAG * 0x00010000 ; メインプロセッサ割り込み
|
||
MPFIFO_SEND_INTR_FLAG * 0x00020000 ; メインプロセッサ間送信FIFOエンプティ割り込み
|
||
MPFIFO_RECV_INTR_FLAG * 0x00040000 ; メインプロセッサ間受信FIFOノットエンプティ割り込み
|
||
CARD_DATA_INTR_FLAG * 0x00080000 ; カードデータ転送終了割り込み
|
||
CARD_IREQ_INTR_FLAG * 0x00100000 ; カードIREQ割り込み
|
||
PMIC_RTC_INTR_FLAG * 0x00400000 ; パワーマネージメントIC割り込み 又は RTC割り込み
|
||
SPI_INTR_FLAG * 0x00800000 ; SPI割り込み
|
||
WIRELESS_INTR_FLAG * 0x01000000 ; 無線通信割り込み
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; メインプロセッサ インタフェース
|
||
;-----------------------------------------------------------------------
|
||
|
||
MAINP_RECV_STATUS_MASK * 0x000f ; 受信ステータス
|
||
MAINP_SEND_STATUS_MASK * 0x0f00 ; 送信ステータス
|
||
|
||
MAINP_RECV_STATUS_SHIFT * 0
|
||
MAINP_SEND_STATUS_SHIFT * 8
|
||
|
||
MAINP_SEND_IF * 0x2000 ; 割り込み要求送信
|
||
MAINP_RECV_IF_ENABLE * 0x4000 ; 割り込み要求受信 許可
|
||
|
||
;-----------------------------------------------------------------------
|
||
; メインプロセッサ通信FIFO コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
MPFIFO_SEND_EMPTY * 0x0001 ; 送信FIFO エンプティ
|
||
MPFIFO_SEND_FULL * 0x0002 ; フル
|
||
MPFIFO_SEND_IF_ENABLE * 0x0004 ; 割り込み要求 許可
|
||
MPFIFO_SEND_CLEAR * 0x0008 ; クリア
|
||
MPFIFO_RECV_EMPTY * 0x0100 ; 受信FIFO エンプティ
|
||
MPFIFO_RECV_FULL * 0x0200 ; フル
|
||
MPFIFO_RECV_IF_ENABLE * 0x0400 ; 割り込み要求 許可
|
||
MPFIFO_ENABLE * 0x8000 ; I/OプロセッサFIFO イネーブル
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; パワーコントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
POW_SOUND_ON * 0x0001 ; サウンド ON
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; VRAM ステータス
|
||
;-----------------------------------------------------------------------
|
||
|
||
VRAM_MAINP_ALL * 0x00 ; VRAM-C・D → メインプロセッサ
|
||
VRAM_MAINP_D_SUBP_C * 0x01 ; D → メインプロセッサ
|
||
; C → サブプロセッサ
|
||
VRAM_MAINP_C_SUBP_D * 0x02 ; C → メインプロセッサ
|
||
; D → サブプロセッサ
|
||
VRAM_SUBP_ALL * 0x03 ; C・D → サブプロセッサ
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 内部ワークRAM ステータス
|
||
;-----------------------------------------------------------------------
|
||
|
||
WRAM_MAINP_ALL * 0x00 ; 共有内部ワークRAMブロック0・1 → メインプロセッサ
|
||
WRAM_MAINP_B1_SUBP_B0 * 0x01 ; ブロック1 → メインプロセッサ
|
||
; ブロック0 → サブプロセッサ
|
||
WRAM_MAINP_B0_SUBP_B1 * 0x02 ; ブロック0 → メインプロセッサ
|
||
; ブロック1 → サブプロセッサ
|
||
WRAM_SUBP_ALL * 0x03 ; ブロック0・1 → サブプロセッサ
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 表示ステータス
|
||
;-----------------------------------------------------------------------
|
||
|
||
DPSTAT_V_SET_LO_MASK * 0xff00 ; Vカウンタ比較値設定
|
||
DPSTAT_V_SET_D8 * 0x0080 ; Vカウンタ比較値設定8ビット目
|
||
|
||
DPSTAT_V_SET_LO_SHIFT * 8
|
||
|
||
DPSTAT_V_BLANK * 0x0001 ; Vブランク期間中
|
||
DPSTAT_H_BLANK * 0x0002 ; Hブランク期間中
|
||
DPSTAT_V_COUNT * 0x0004 ; Vカウンタ一致中
|
||
DPSTAT_V_BLANK_IF_ENABLE * 0x0008 ; Vブランク割り込み要求 許可
|
||
DPSTAT_H_BLANK_IF_ENABLE * 0x0010 ; Hブランク割り込み要求 許可
|
||
DPSTAT_V_COUNT_IF_ENABLE * 0x0020 ; Vカウンタ一致割り込み要求 許可
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; サウンドマスタ コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
SOUND_VOLUME_MASK * 0x007f ; マスタ出力レベル
|
||
|
||
SOUND_VOLUME_SHIFT * 0
|
||
|
||
SOUND_LOUT_MIXER * 0x0000 ; L側最終段出力 ミキサー
|
||
SOUND_LOUT_CH1 * 0x0100 ; チャンネル1
|
||
SOUND_LOUT_CH3 * 0x0200 ; チャンネル3
|
||
SOUND_LOUT_CH1_CH3 * 0x0300 ; チャンネル1+3
|
||
SOUND_ROUT_MIXER * 0x0000 ; R側最終段出力 ミキサー
|
||
SOUND_ROUT_CH1 * 0x0400 ; チャンネル1
|
||
SOUND_ROUT_CH3 * 0x0800 ; チャンネル3
|
||
SOUND_ROUT_CH1_CH3 * 0x0C00 ; チャンネル1+3
|
||
SOUND_CH1_MIXOFF * 0x1000 ; チャンネル1・ミックス OFF
|
||
SOUND_CH1_MIX * 0x0000 ; ON
|
||
SOUND_CH3_MIXOFF * 0x2000 ; チャンネル3・ミックス OFF
|
||
SOUND_CH3_MIX * 0x0000 ; ON
|
||
SOUND_ENABLE * 0x8000 ; イネーブル
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; サウンドチャンネル コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
SOUND_CHAN_VOLUME_MASK * 0x000000ff ; 出力レベル
|
||
SOUND_SHIFT_MASK * 0x00000300 ; データシフト量
|
||
SOUND_PANPOT_MASK * 0x00ff0000 ; パンポット
|
||
SOUND_DUTY_MASK * 0x07000000 ; デューティ
|
||
SOUND_PEPEAT_TYPE_MASK * 0x18000000 ; リピート方法
|
||
SOUND_FORMAT_MASK * 0x60000000 ; フォーマット
|
||
|
||
SOUND_CHAN_VOLUME_SHIFT * 0
|
||
SOUND_SHIFT_SHIFT * 8
|
||
SOUND_PANPOT_SHIFT * 16
|
||
SOUND_DUTY_SHIFT * 24
|
||
SOUND_PEPEAT_TYPE_SHIFT * 27
|
||
SOUND_FORMAT_SHIFT * 29
|
||
|
||
SOUND_OUTPUT_HOLD * 0x00008000 ; ディセーブル時の出力保持
|
||
|
||
SOUND_DUTY_1_8 * 0x00000000 ; デューティ 1/8
|
||
SOUND_DUTY_2_8 * 0x01000000 ; 2/8
|
||
SOUND_DUTY_3_8 * 0x02000000 ; 3/8
|
||
SOUND_DUTY_4_8 * 0x03000000 ; 4/8
|
||
SOUND_DUTY_5_8 * 0x04000000 ; 5/8
|
||
SOUND_DUTY_6_8 * 0x05000000 ; 6/8
|
||
SOUND_DUTY_7_8 * 0x06000000 ; 7/8
|
||
SOUND_DUTY_XX * 0x07000000 ; 設定禁止
|
||
|
||
SOUND_LINEAR * 0x00000000 ; リニア再生
|
||
SOUND_REPEAT * 0x08000000 ; リピート再生
|
||
SOUND_1SHOT * 0x10000000 ; 1ショット再生
|
||
|
||
SOUND_PCM8 * 0x00000000 ; PCM8bit
|
||
SOUND_PCM16 * 0x20000000 ; PCM16bit
|
||
SOUND_ADPCM * 0x40000000 ; ADPCM
|
||
SOUND_PSG_NOISE * 0x60000000 ; PSG(8~13)または ノイズ(14~15)
|
||
|
||
SOUND_CHAN_ENABLE * 0x80000000 ; イネーブル
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_SOUND_PCM8 * 0 ; PCM8bit
|
||
ST_SOUND_PCM16 * 1 ; PCM16bit
|
||
ST_SOUND_ADPCM * 2 ; ADPCM
|
||
ST_SOUND_PSG_NOISE * 3 ; PSG(8~13)または ノイズ(14~15)
|
||
|
||
ST_SOUND_DUTY_1_8 * 0 ; デューティ 1/8
|
||
ST_SOUND_DUTY_2_8 * 1 ; 2/8
|
||
ST_SOUND_DUTY_3_8 * 2 ; 3/8
|
||
ST_SOUND_DUTY_4_8 * 3 ; 4/8
|
||
ST_SOUND_DUTY_5_8 * 4 ; 5/8
|
||
ST_SOUND_DUTY_6_8 * 5 ; 6/8
|
||
ST_SOUND_DUTY_7_8 * 6 ; 7/8
|
||
ST_SOUND_DUTY_XX * 7 ; 設定禁止
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; サウンドキャプチャ コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
SNDCAP_PREMIXING_ON * 0x01 ; ミキサー前合成 ON
|
||
SNDCAP_SRC * 0x02 ; キャプチャ元選択
|
||
SNDCAP_MIXER * 0x00 ; ミキサー出力データをキャプチャ
|
||
SNDCAP_CHAN * 0x02 ; 単一チャンネルをキャプチャ
|
||
SNDCAP_REPEAT_OFF * 0x04 ; リピート OFF
|
||
SNDCAP_FORMAT * 0x08 ; キャプチャフォーマット
|
||
SNDCAP_PCM16 * 0x00 ; 16bitPCM
|
||
SNDCAP_PCM8 * 0x08 ; 8bitPCM
|
||
SNDCAP_ENABLE * 0x80 ; イネーブル
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; SPIコントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
SPI_SCK_MASK * 0x0003 ; シフトクロック
|
||
IF :DEF: IRIS_TS
|
||
SPI_TARGET_MASK * 0x0300 ; 通信ターゲット指定
|
||
ELSE
|
||
SPI_TARGET_MASK * 0x2000
|
||
ENDIF
|
||
|
||
SPI_SCK_SHIFT * 0
|
||
|
||
SPI_SCK_4M * 0x0000 ; シフトクロック 4MHz選択
|
||
SPI_SCK_2M * 0x0001 ; 2MHz
|
||
SPI_SCK_1M * 0x0002 ; 1MHz
|
||
SPI_SCK_524K * 0x0003 ; 524KHz
|
||
|
||
SPI_BUSY * 0x0080 ; ビジー
|
||
SPI_8BIT_MODE * 0x0000 ; 8ビットモード
|
||
IF :DEF: IRIS_TS
|
||
SPI_16BIT_MODE * 0x0400 ; 16ビットモード
|
||
SPI_CONTINUOUS_ON * 0x1000 ; コンティニュアスモード ON
|
||
SPI_TARGET_PMIC * 0x0000 ; PMIC選択
|
||
SPI_TARGET_FLASH * 0x1000 ; フラッシュメモリ選択
|
||
SPI_TARGET_TOUCHPANEL * 0x2000 ; タッチパネル選択
|
||
ELSE
|
||
SPI_CONTINUOUS_ON * 0x1000 ; コンティニュアスモード ON
|
||
SPI_TARGET_PMIC * 0x0000 ; PMIC選択
|
||
SPI_TARGET_FLASH * 0x2000 ; フラッシュメモリ選択
|
||
ENDIF
|
||
SPI_IF_ENABLE * 0x4000 ; 割り込み要求 許可
|
||
SPI_ENABLE * 0x8000 ; SPI許可
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_SPI_SCK_4M * 0 ; シフトクロック 4MHz選択
|
||
ST_SPI_SCK_2M * 1 ; 2MHz
|
||
ST_SPI_SCK_1M * 2 ; 1MHz
|
||
ST_SPI_SCK_524K * 3 ; 524KHz
|
||
|
||
IF :DEF: IRIS_TS
|
||
ST_SPI_TARGET_PMIC * 0 ; PMIC選択
|
||
ST_SPI_TARGET_FLASH * 1 ; フラッシュメモリ選択
|
||
ELSE
|
||
ST_SPI_TARGET_PMIC * 0 ; PMIC選択
|
||
ST_SPI_TARGET_FLASH * 1 ; フラッシュメモリ選択
|
||
ENDIF
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 汎用入出力コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
R_SIO_MODE_MASTER_MASK * 0xc000 ; SIOモード・マスタ
|
||
|
||
R_SIO_MODE_MASTER_SHIFT * 14
|
||
|
||
R_SIO_MASTER_MODE * 0x0000 ; SIOマスタ・モード
|
||
R_DIRECT_MODE * 0x8000 ; 汎用入出力通信モード
|
||
|
||
R_SC * 0x0001 ; データ
|
||
R_SD * 0x0002
|
||
R_SI * 0x0004
|
||
R_SO * 0x0008
|
||
R_SC_I_O * 0x0010 ; I/O選択
|
||
R_SD_I_O * 0x0020
|
||
R_SI_I_O * 0x0040
|
||
R_SO_I_O * 0x0080
|
||
R_SC_IN * 0x0000 ; 入力設定
|
||
R_SD_IN * 0x0000
|
||
R_SI_IN * 0x0000
|
||
R_SO_IN * 0x0000
|
||
R_SC_OUT * 0x0010 ; 出力設定
|
||
R_SD_OUT * 0x0020
|
||
R_SI_OUT * 0x0040
|
||
R_SO_OUT * 0x0080
|
||
R_IF_ENABLE * 0x0100 ; 割り込み要求 許可
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_R_SIO_MASTER_MODE * 0 ; SIOマスタ・モード
|
||
ST_R_DIRECT_MODE * 2 ; 汎用入出力通信モード
|
||
|
||
ST_R_IN * 0 ; 入力選択
|
||
ST_R_OUT * 1 ; 出力選択
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; DMAコントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
DMA_TIMMING_MASK * 0x30000000 ; 開始タイミング
|
||
DMA_COUNT_MASK * 0x0000ffff ; 転送数
|
||
|
||
DMA_TIMMING_SHIFT * 30
|
||
DMA_COUNT_SHIFT * 0
|
||
|
||
DMA_ENABLE * 0x80000000 ; DMA許可
|
||
DMA_IF_ENABLE * 0x40000000 ; 割り込み要求 許可
|
||
DMA_TIMMING_IMM * 0x00000000 ; 直ちに起動
|
||
DMA_TIMMING_V_BLANK * 0x10000000 ; Vブランク起動
|
||
DMA_TIMMING_CARD * 0x20000000 ; カード
|
||
DMA_TIMMING_WIRELESS * 0x30000000 ; 無線通信
|
||
DMA_TIMMING_CARTRIDGE * 0x30000000 ; カートリッジ
|
||
DMA_16BIT_BUS * 0x00000000 ; バスサイズ16Bit選択
|
||
DMA_32BIT_BUS * 0x04000000 ; バスサイズ32Bit選択
|
||
DMA_CONTINUOUS_ON * 0x02000000 ; コンティニュアスモード ON
|
||
DMA_SRC_INC * 0x00000000 ; 転送元 インクリメント 選択
|
||
DMA_SRC_DEC * 0x00800000 ; 転送元 デクリメント 選択
|
||
DMA_SRC_FIX * 0x01000000 ; 転送元 固定 選択
|
||
DMA_DEST_INC * 0x00000000 ; 転送先 インクリメント 選択
|
||
DMA_DEST_DEC * 0x00200000 ; 転送先 デクリメント 選択
|
||
DMA_DEST_FIX * 0x00400000 ; 転送先 固定 選択
|
||
DMA_DEST_RELOAD * 0x00600000 ; 転送先 インクリメント/リロード 選択
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_DMA_TIMMING_IMM * 0 ; 直ちに起動
|
||
ST_DMA_TIMMING_V_BLANK * 1 ; Vブランク起動
|
||
ST_DMA_TIMMING_CARD * 2 ; カード
|
||
ST_DMA_TIMMING_CARTRIDGE * 3 ; カートリッジ
|
||
ST_DMA_16BIT_BUS * 0 ; バスサイズ16bit選択
|
||
ST_DMA_32BIT_BUS * 1 ; バスサイズ32bit選択
|
||
ST_DMA_INC * 0 ; アドレス・インクリメント 選択
|
||
ST_DMA_DEC * 1 ; アドレス・デクリメント 選択
|
||
ST_DMA_FIX * 2 ; アドレス固定 選択
|
||
ST_DMA_RELOAD * 3 ; アドレス・インクリメント/リロード 選択
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; タイマー コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
TMR_PRESCALER_MASK * 0x00030000 ; プリスケーラ クロック
|
||
|
||
TMR_PRESCALER_SHIFT * 16
|
||
|
||
TMR_PRESCALER_1CK * 0x00000000 ; プリスケーラ 1分周
|
||
TMR_PRESCALER_64CK * 0x00010000 ; 64分周
|
||
TMR_PRESCALER_256CK * 0x00020000 ; 256分周
|
||
TMR_PRESCALER_1024CK * 0x00030000 ; 1024分周
|
||
TMR_CONNECT * 0x00040000 ; 下位タイマー接続
|
||
TMR_IF_ENABLE * 0x00400000 ; 割り込み要求 許可
|
||
TMR_ENABLE * 0x00800000 ; タイマー起動
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_TMR_PRESCALER_1CK * 0 ; プリスケーラ 1分周
|
||
ST_TMR_PRESCALER_64CK * 1 ; 64分周
|
||
ST_TMR_PRESCALER_256CK * 2 ; 256分周
|
||
ST_TMR_PRESCALER_1024CK * 3 ; 1024分周
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; キー
|
||
;-----------------------------------------------------------------------
|
||
|
||
BUTTON_MASK * 0x030f ; ボタン
|
||
PLUS_KEY_MASK * 0x00f0 ; 十字キー
|
||
ALL_KEY_MASK * 0x03ff ; 全てのキー
|
||
|
||
A_BUTTON * 0x0001 ; Aボタン
|
||
B_BUTTON * 0x0002 ; Bボタン
|
||
SELECT_BUTTON * 0x0004 ; セレクトボタン
|
||
START_BUTTON * 0x0008 ; スタートボタン
|
||
R_KEY * 0x0010 ; 右ボタン
|
||
L_KEY * 0x0020 ; 左ボタン
|
||
U_KEY * 0x0040 ; 上ボタン
|
||
D_KEY * 0x0080 ; 下ボタン
|
||
R_BUTTON * 0x0100 ; Rボタン
|
||
L_BUTTON * 0x0200 ; Lボタン
|
||
KEY_IF_ENABLE * 0x4000 ; 割り込み要求 許可
|
||
KEY_OR_INTR * 0x0000 ; 通常キー割り込み
|
||
KEY_AND_INTR * 0x8000 ; ANDキー割り込み
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_KEY_OR_INTR * 0 ; 通常キー割り込み
|
||
ST_KEY_AND_INTR * 1 ; ANDキー割り込み
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 外部メモリ コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
CTRDG_DT8_10CYC * 0x0000 ; カートリッジ 8bitデータバス 10サイクル
|
||
CTRDG_DT8_8CYC * 0x0001 ; 8サイクル
|
||
CTRDG_DT8_6CYC * 0x0002 ; 6サイクル
|
||
CTRDG_DT8_18CYC * 0x0003 ; 18サイクル
|
||
CTRDG_AD16_1ST_10CYC * 0x0000 ; カートリッジ AD16バス 1st 10サイクル
|
||
CTRDG_AD16_1ST_8CYC * 0x0004 ; 8サイクル
|
||
CTRDG_AD16_1ST_6CYC * 0x0008 ; 6サイクル
|
||
CTRDG_AD16_1ST_18CYC * 0x000c ; 18サイクル
|
||
CTRDG_AD16_2ND_6CYC * 0x0000 ; 2nd 6サイクル
|
||
CTRDG_AD16_2ND_4CYC * 0x0010 ; 4サイクル
|
||
|
||
CTRDG_PHI_OUT_NONE * 0x0000 ; φ端子出力クロック Lo固定
|
||
CTRDG_PHI_OUT_4MCK * 0x0020 ; 4MHz
|
||
CTRDG_PHI_OUT_8MCK * 0x0040 ; 8MHz
|
||
CTRDG_PHI_OUT_16MCK * 0x0060 ; 16MHz
|
||
|
||
CTRDG_ACCESS * 0x0080 ; カートリッジアクセス権
|
||
CTRDG_ACCESS_MAINP * 0x0000 ; メインプロセッサ
|
||
CTRDG_ACCESS_SUBP * 0x0080 ; サブプロセッサ
|
||
|
||
CARD_ACCESS * 0x0800 ; カードアクセス権
|
||
CARD_ACCESS_MAINP * 0x0000 ; メインプロセッサ
|
||
CARD_ACCESS_SUBP * 0x0800 ; サブプロセッサ
|
||
|
||
MMEM_CE2_OUT * 0x2000 ; CE2信号確認
|
||
|
||
MMEM_INTF * 0x4000 ; メインメモリインタフェース(TEGでは常にセットして同期モードにする)
|
||
MMEM_INTF_ASYNC * 0x0000 ; 非同期モード
|
||
MMEM_INTF_SYNC * 0x4000 ; 同期モード
|
||
|
||
MMEM_PRIORITY * 0x8000 ; メインメモリ優先権
|
||
MMEM_PRIORITY_MAINP * 0x0000 ; メインプロセッサ
|
||
MMEM_PRIORITY_SUBP * 0x8000 ; サブプロセッサ
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_CTRDG_DT8_10CYC * 0 ; カートリッジ 8bitデータバス 10サイクル
|
||
ST_CTRDG_DT8_8CYC * 1 ; 8サイクル
|
||
ST_CTRDG_DT8_6CYC * 2 ; 6サイクル
|
||
ST_CTRDG_DT8_18CYC * 3 ; 18サイクル
|
||
ST_CTRDG_AD16_1ST_10CYC * 0 ; カートリッジ AD16バス 1st 10サイクル
|
||
ST_CTRDG_AD16_1ST_8CYC * 1 ; 8サイクル
|
||
ST_CTRDG_AD16_1ST_6CYC * 2 ; 6サイクル
|
||
ST_CTRDG_AD16_1ST_18CYC * 3 ; 18サイクル
|
||
ST_CTRDG_AD16_2ND_6CYC * 0 ; 2nd 6サイクル
|
||
ST_CTRDG_AD16_2ND_4CYC * 1 ; 4サイクル
|
||
|
||
ST_CTRDG_PHI_OUT_NONE * 0 ; φ端子出力クロック Lo固定
|
||
ST_CTRDG_PHI_OUT_4MCK * 1 ; 4MHz
|
||
ST_CTRDG_PHI_OUT_8MCK * 2 ; 8MHz
|
||
ST_CTRDG_PHI_OUT_16MCK * 3 ; 16MHz
|
||
|
||
|
||
|
||
ENDIF ; _IRIS_SUBP_DEFINE_H
|
||
|
||
END
|
||
|