;======================================================================= ; 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