mirror of
https://github.com/rvtr/ntr_bootrom.git
synced 2025-10-31 07:11:11 -04:00
1608 lines
74 KiB
ArmAsm
1608 lines
74 KiB
ArmAsm
;=======================================================================
|
||
; IrisDefineArm.s
|
||
; IRIS 標準定数(ARMASM用)
|
||
;
|
||
; Copyright (C) 2002-2004 NINTENDO Co.,Ltd.
|
||
;=======================================================================
|
||
IF :DEF: _IRIS_DEFINE_H
|
||
ELSE
|
||
_IRIS_DEFINE_H * 1
|
||
|
||
|
||
INCLUDE IrisTargetArm.s
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 各固定小数点位置
|
||
;-----------------------------------------------------------------------
|
||
|
||
G_SFT * 12 ; ジオメトリエンジン(変更不可)
|
||
GS_SFT * 6 ; VertexShort用( 〃 )
|
||
|
||
; V_SFT、SIN_SFT、ACOS_SFT は 12~14 の範囲で変更可能
|
||
;(但し、SIN_SFT >= V_SFT)
|
||
|
||
V_SFT * 12 ; 標準ベクトル等の変数
|
||
M_SFT * V_SFT ; 行列
|
||
|
||
N_SFT * 9 ; 法線ベクトル (変更不可)
|
||
L_SFT * 9 ; ライトベクトル( 〃 )
|
||
|
||
T_SFT * 4 ; テクスチャ座標(変更不可)
|
||
TEXMTX_SFT * (T_SFT + M_SFT) ; テクスチャ行列
|
||
|
||
SIN_SFT * 12 ; Sinテーブル(V_SFT 以上に設定)
|
||
ACOS_SFT * 15 ; ArcCosテーブル
|
||
|
||
|
||
VG_SFT_DF * (V_SFT - G_SFT) ; ベクトル小数点位置 - ジオメトリエンジン小数点位置
|
||
MG_SFT_DF * (M_SFT - G_SFT) ; 行列小数点位置 - ジオメトリエンジン小数点位置
|
||
|
||
GN_SFT_DF * (G_SFT - N_SFT) ; ジオメトリエンジン小数点位置 - 法線ベクトル小数点位置
|
||
GL_SFT_DF * (G_SFT - L_SFT) ; ジオメトリエンジン小数点位置 - ライトベクトル小数点位置
|
||
|
||
SIN_SFT_CT * (SIN_SFT_MAX - SIN_SFT) ; Sinテーブル小数点位置補正
|
||
ACOS_SFT_CT * (ACOS_SFT_MAX - ACOS_SFT); ArcCosテーブル小数点位置補正
|
||
|
||
|
||
V_SFT_MAX * 14 ; V_SFT 最大値(変更不可)
|
||
V_SFT_MIN * 12 ; 最小値( 〃 )
|
||
|
||
SIN_SFT_MAX * 14 ; SIN_SFT 最大値(変更不可)
|
||
SIN_SFT_MIN * 12 ; 最小値( 〃 )
|
||
ACOS_SFT_MAX * 15 ; ACOS_SFT 最大値( 〃 )
|
||
ACOS_SFT_MIN * 12 ; 最小値( 〃 )
|
||
|
||
|
||
; 整数 1
|
||
|
||
G_ONE * (1 :SHL: G_SFT)
|
||
GS_ONE * (1 :SHL: GS_SFT)
|
||
V_ONE * (1 :SHL: V_SFT)
|
||
M_ONE * (1 :SHL: M_SFT)
|
||
|
||
N_ONE * (1 :SHL: N_SFT)
|
||
L_ONE * (1 :SHL: L_SFT)
|
||
|
||
SIN_ONE * (1 :SHL: SIN_SFT)
|
||
ACOS_ONE * (1 :SHL: ACOS_SFT)
|
||
|
||
T_ONE * (1 :SHL: T_SFT)
|
||
TEXMTX_ONE * (1 :SHL: TEXMTX_SFT)
|
||
|
||
|
||
; 最大小数
|
||
|
||
G_DECI_MAX * (G_ONE - 1)
|
||
GS_DECI_MAX * (GS_ONE - 1)
|
||
V_DECI_MAX * (V_ONE - 1)
|
||
M_DECI_MAX * (M_ONE - 1)
|
||
|
||
N_DECI_MAX * (N_ONE - 1)
|
||
L_DECI_MAX * (L_ONE - 1)
|
||
|
||
SIN_DECI_MAX * (SIN_ONE - 1)
|
||
ACOS_DECI_MAX * (ACOS_ONE - 1)
|
||
|
||
T_DECI_MAX * (T_ONE - 1)
|
||
TEXMTX_DECI_MAX * (TEXMTX_ONE - 1)
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 定数
|
||
;-----------------------------------------------------------------------
|
||
|
||
SYSTEM_CLOCK * 33513982 ; システムクロック
|
||
|
||
MAINP * 0 ; メインプロセッサ
|
||
SUBP * 1 ; サブプロセッサ
|
||
|
||
|
||
ON * 1
|
||
OFF * 0
|
||
ENABLE * 1
|
||
DISABLE * 0
|
||
TRUE * 1
|
||
FALSE * 0
|
||
|
||
|
||
LCD_WIDTH * 256 ; 画面幅
|
||
LCD_HEIGHT * 192 ; 画面高さ
|
||
|
||
|
||
POLYGON_ID_MAX * 63 ; ポリゴンID最大値
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; カラーデータ
|
||
;-----------------------------------------------------------------------
|
||
|
||
RED5_MASK * 0x001f ; 赤
|
||
GREEN5_MASK * 0x03e0 ; 緑
|
||
BLUE5_MASK * 0x7c00 ; 青
|
||
ALPHA1_MASK * 0x8000 ; 不透明度
|
||
ALPHA5_MASK * 0x001f0000
|
||
|
||
RED5_SHIFT * 0
|
||
GREEN5_SHIFT * 5
|
||
BLUE5_SHIFT * 10
|
||
ALPHA1_SHIFT * 15
|
||
ALPHA5_SHIFT * 16
|
||
|
||
|
||
RED8_MASK * 0x000000ff ; 赤
|
||
GREEN8_MASK * 0x0000ff00 ; 緑
|
||
BLUE8_MASK * 0x00ff0000 ; 青
|
||
ALPHA8_MASK * 0xff000000 ; 不透明度
|
||
|
||
RED8_SHIFT * 0
|
||
GREEN8_SHIFT * 8
|
||
BLUE8_SHIFT * 16
|
||
ALPHA8_SHIFT * 24
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 座標
|
||
;-----------------------------------------------------------------------
|
||
|
||
X16_MASK * 0x0000ffff ; X成分
|
||
Y16_MASK * 0xffff0000 ; Y成分
|
||
Z16_MASK * 0x0000ffff ; Z成分
|
||
|
||
X16_SHIFT * 0
|
||
Y16_SHIFT * 16
|
||
Z16_SHIFT * 0
|
||
|
||
|
||
X10_MASK * 0x000003ff ; X成分
|
||
Y10_MASK * 0x000ffc00 ; Y成分
|
||
Z10_MASK * 0x3ff00000 ; Z成分
|
||
|
||
X10_SHIFT * 0
|
||
Y10_SHIFT * 10
|
||
Z10_SHIFT * 20
|
||
|
||
;-----------------------------------------------------------------------
|
||
; テクスチャ座標
|
||
;-----------------------------------------------------------------------
|
||
|
||
TEX_S_MASK * 0x0000ffff ; S成分
|
||
TEX_T_MASK * 0xffff0000 ; T成分
|
||
|
||
TEX_S_SHIFT * 0
|
||
TEX_T_SHIFT * 16
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; アフィン変換
|
||
;-----------------------------------------------------------------------
|
||
|
||
AFFINE_REG_SHIFT * 8
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; BGスクリーンデータ
|
||
;-----------------------------------------------------------------------
|
||
|
||
BG_SC_CHAR_NO_MASK * 0x03ff ; キャラクタNo
|
||
BG_SC_FLIP_MASK * 0x0c00 ; フリップ
|
||
BG_SC_PLTT_MASK * 0xf000 ; カラーパレットNo
|
||
|
||
BG_SC_CHAR_NO_SHIFT * 0
|
||
BG_SC_FLIP_SHIFT * 10
|
||
BG_SC_PLTT_SHIFT * 12
|
||
|
||
BG_SC_H_FLIP * 0x0400 ; Hフリップ
|
||
BG_SC_V_FLIP * 0x0800 ; Vフリップ
|
||
|
||
;-----------------------------------------------------------------------
|
||
; OAMデータ
|
||
;-----------------------------------------------------------------------
|
||
|
||
OAM_V_POS_MASK * 0x000000ff ; OBJ Y座標
|
||
OAM_H_POS_MASK * 0x01ff0000 ; OBJ X座標
|
||
OAM_SHAPE_MASK * 0x0000c000 ; OBJ形状
|
||
OAM_SIZE_MASK * 0xc0000000 ; OBJサイズ
|
||
OAM_OBJ_MODE_MASK * 0x00000c00 ; OBJモード
|
||
OAM_AFFINE_MODE_MASK * 0x00000300 ; アフィンモード
|
||
OAM_AFFINE_NO_MASK * 0x3e000000 ; アフィン パラメータNo
|
||
OAM_FLIP_MASK * 0x30000000 ; フリップ
|
||
OAM_CHAR_NO_MASK * 0x000003ff ; キャラクタNo
|
||
OAM_PRIORITY_MASK * 0x00000c00 ; BG相対優先順位
|
||
OAM_PLTT_MASK * 0x0000f000 ; カラーパレットNo
|
||
OAM_ALPHA_MASK * 0x0000f000 ; OBJアルファ値
|
||
OAM_AFFINE_PARAM_MASK * 0xffff0000 ; アフィン パラメータ
|
||
|
||
OAM_V_POS_SHIFT * 0
|
||
OAM_H_POS_SHIFT * 16
|
||
OAM_SHAPE_SHIFT * 14
|
||
OAM_SIZE_SHIFT * 30
|
||
OAM_AFFINE_MODE_SHIFT * 8
|
||
OAM_OBJ_MODE_SHIFT * 10
|
||
OAM_AFFINE_NO_SHIFT * 25
|
||
OAM_FLIP_SHIFT * 28
|
||
OAM_CHAR_NO_SHIFT * 0
|
||
OAM_PRIORITY_SHIFT * 10
|
||
OAM_PLTT_SHIFT * 12
|
||
OAM_ALPHA_SHIFT * 12
|
||
OAM_AFFINE_PARAM_SHIFT * 16
|
||
|
||
OAM_OBJ_ON * 0x00000000 ; OBJ ON
|
||
OAM_OBJ_OFF * 0x00000200 ; OBJ OFF
|
||
OAM_OBJ_NORMAL * 0x00000000 ; OBJノーマルモード
|
||
OAM_OBJ_BLEND * 0x00000400 ; OBJ半透明モード
|
||
OAM_OBJ_WINDOW * 0x00000800 ; OBJウインドウモード
|
||
OAM_OBJ_BMP * 0x00000c00 ; OBJビットマップモード
|
||
OAM_AFFINE_NONE * 0x00000000 ; アフィン無効モード
|
||
OAM_AFFINE_NORMAL * 0x00000100 ; アフィンノーマルモード
|
||
OAM_AFFINE_TWICE * 0x00000300 ; アフィン2倍角モード
|
||
OAM_AFFINE_ERASE * 0x00000200 ; アフィン非表示モード
|
||
OAM_MOS_ON * 0x00001000 ; モザイク ON
|
||
OAM_MOS_OFF * 0x00000000 ; モザイク OFF
|
||
OAM_COLOR_16 * 0x00000000 ; 16 選択
|
||
OAM_COLOR_256 * 0x00002000 ; 256色 選択
|
||
OAM_H_FLIP * 0x10000000 ; Hフリップ
|
||
OAM_V_FLIP * 0x20000000 ; Vフリップ
|
||
OAM_SQUARE * 0x00000000 ; 正方形OBJ
|
||
OAM_H_RECTANGLE * 0x00004000 ; 横長方形OBJ
|
||
OAM_V_RECTANGLE * 0x00008000 ; 縦長方形OBJ
|
||
OAM_SIZE_NO_0 * 0x00000000 ; OBJ サイズNo 0
|
||
OAM_SIZE_NO_1 * 0x40000000 ; OBJ サイズNo 1
|
||
OAM_SIZE_NO_2 * 0x80000000 ; OBJ サイズNo 2
|
||
OAM_SIZE_NO_3 * 0xc0000000 ; OBJ サイズNo 3
|
||
OAM_SIZE_8x8 * 0x00000000 ; OBJ 8x 8ドット
|
||
OAM_SIZE_16x16 * 0x40000000 ; OBJ 16x16ドット
|
||
OAM_SIZE_32x32 * 0x80000000 ; OBJ 32x32ドット
|
||
OAM_SIZE_64x64 * 0xc0000000 ; OBJ 64x64ドット
|
||
OAM_SIZE_16x8 * 0x00004000 ; OBJ 16x 8ドット
|
||
OAM_SIZE_32x8 * 0x40004000 ; OBJ 32x 8ドット
|
||
OAM_SIZE_32x16 * 0x80004000 ; OBJ 32x16ドット
|
||
OAM_SIZE_64x32 * 0xc0004000 ; OBJ 64x32ドット
|
||
OAM_SIZE_8x16 * 0x00008000 ; OBJ 8x16ドット
|
||
OAM_SIZE_8x32 * 0x40008000 ; OBJ 8x32ドット
|
||
OAM_SIZE_16x32 * 0x80008000 ; OBJ 16x32ドット
|
||
OAM_SIZE_32x64 * 0xc0008000 ; OBJ 32x64ドット
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_OAM_OBJ_NORMAL * 0 ; OBJノーマルモード
|
||
ST_OAM_OBJ_BLEND * 1 ; OBJ半透明モード
|
||
ST_OAM_OBJ_WINDOW * 2 ; OBJウインドウモード
|
||
ST_OAM_AFFINE_NONE * 0 ; アフィン無効モード
|
||
ST_OAM_AFFINE_NORMAL * 1 ; アフィンノーマルモード
|
||
ST_OAM_AFFINE_TWICE * 3 ; アフィン2倍角モード
|
||
ST_OAM_AFFINE_ERASE * 2 ; アフィン非表示モード
|
||
ST_OAM_COLOR_16 * 0 ; 16 選択
|
||
ST_OAM_COLOR_256 * 1 ; 256色 選択
|
||
ST_OAM_SQUARE * 0 ; 正方形OBJ
|
||
ST_OAM_H_RECTANGLE * 1 ; 横長方形OBJ
|
||
ST_OAM_V_RECTANGLE * 2 ; 縦長方形OBJ
|
||
|
||
|
||
|
||
;***********************************************************************
|
||
; IRISレジスタ・コントロールビット
|
||
;***********************************************************************
|
||
|
||
;-----------------------------------------------------------------------
|
||
; プログラムステータスレジスタ
|
||
;-----------------------------------------------------------------------
|
||
|
||
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_Q_FLAG * 0x08000000 ; スティッキーオーバーフロー
|
||
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 ; システム
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; システムコントロールコプロセッサ
|
||
;-----------------------------------------------------------------------
|
||
|
||
; レジスタ1(マスタコントロール)
|
||
|
||
C1_SB1_BITSET * 0x00000078 ; レジスタ1用1固定ビット列
|
||
|
||
C1_ITCM_LOAD_MODE * 0x00080000 ; 命令TCM ロードモード
|
||
C1_DTCM_LOAD_MODE * 0x00020000 ; データTCM ロードモード
|
||
C1_ITCM_ENABLE * 0x00040000 ; 命令TCM イネーブル
|
||
C1_DTCM_ENABLE * 0x00010000 ; データTCM イネーブル
|
||
C1_LD_INTERWORK_DISABLE * 0x00008000 ; ロード命令によるインターワーキング ディセーブル
|
||
C1_CACHE_ROUND_ROBIN * 0x00004000 ; キャッシュ置換アルゴリズム ラウンドロビン(最悪時のヒット率が安定)
|
||
C1_CACHE_PSEUDO_RANDOM * 0x00000000 ; 擬似ランダム
|
||
C1_EXCEPT_VEC_UPPER * 0x00002000 ; 例外ベクタ 上位アドレス(こちらに設定して下さい)
|
||
C1_EXCEPT_VEC_LOWER * 0x00000000 ; 下位アドレス
|
||
C1_ICACHE_ENABLE * 0x00001000 ; 命令キャッシュ イネーブル
|
||
C1_DCACHE_ENABLE * 0x00000004 ; データキャッシュ イネーブル
|
||
C1_LITTLE_ENDIAN * 0x00000000 ; リトルエンディアン
|
||
C1_BIG_ENDIAN * 0x00000080 ; ビッグエンディアン
|
||
C1_PROTECT_UNIT_ENABLE * 0x00000001 ; プロテクションユニット イネーブル
|
||
|
||
|
||
; レジスタ2(プロテクションリージョン・キャッシュ設定)
|
||
|
||
C2_PR0_SFT * 0 ; プロテクションリージョン0
|
||
C2_PR1_SFT * 1 ; 1
|
||
C2_PR2_SFT * 2 ; 2
|
||
C2_PR3_SFT * 3 ; 3
|
||
C2_PR4_SFT * 4 ; 4
|
||
C2_PR5_SFT * 5 ; 5
|
||
C2_PR6_SFT * 6 ; 6
|
||
C2_PR7_SFT * 7 ; 7
|
||
|
||
|
||
; レジスタ3(プロテクションリージョン・ライトバッファ設定)
|
||
|
||
C3_PR0_SFT * 0 ; プロテクションリージョン0
|
||
C3_PR1_SFT * 1 ; 1
|
||
C3_PR2_SFT * 2 ; 2
|
||
C3_PR3_SFT * 3 ; 3
|
||
C3_PR4_SFT * 4 ; 4
|
||
C3_PR5_SFT * 5 ; 5
|
||
C3_PR6_SFT * 6 ; 6
|
||
C3_PR7_SFT * 7 ; 7
|
||
|
||
|
||
; レジスタ5(プロテクションリージョン・アクセス許可)
|
||
|
||
C5_PERMIT_MASK * 0xf ; プロテクションリージョン アクセス許可マスク
|
||
|
||
C5_PERMIT_NA * 0 ; アクセス不許可
|
||
C5_PERMIT_RW * 1 ; リードライト許可
|
||
C5_PERMIT_RO * 5 ; リードオンリー許可
|
||
|
||
C5_PR0_SFT * 0 ; プロテクションリージョン0
|
||
C5_PR1_SFT * 4 ; 1
|
||
C5_PR2_SFT * 8 ; 2
|
||
C5_PR3_SFT * 12 ; 3
|
||
C5_PR4_SFT * 16 ; 4
|
||
C5_PR5_SFT * 20 ; 5
|
||
C5_PR6_SFT * 24 ; 6
|
||
C5_PR7_SFT * 28 ; 7
|
||
|
||
|
||
; レジスタ6(プロテクションリージョン・ベースアドレス/サイズ)
|
||
|
||
C6_PR_SIZE_MASK * 0x0000003e ; プロテクションリージョン サイズ
|
||
C6_PR_BASE_MASK * 0xfffff000 ; ベースアドレス
|
||
|
||
C6_PR_SIZE_SHIFT * 1
|
||
C6_PR_BASE_SHIFT * 12
|
||
|
||
C6_PR_ENABLE * 1 ; プロテクションリージョン イネーブル
|
||
C6_PR_DISABLE * 0 ; ディセーブル
|
||
|
||
C6_PR_4KB * 0x16 ; リージョンサイズ 4KByte
|
||
C6_PR_8KB * 0x18 ; 8KByte
|
||
C6_PR_16KB * 0x1a ; 16KByte
|
||
C6_PR_32KB * 0x1c ; 32KByte
|
||
C6_PR_64KB * 0x1e ; 64KByte
|
||
C6_PR_128KB * 0x20 ; 128KByte
|
||
C6_PR_256KB * 0x22 ; 256KByte
|
||
C6_PR_512KB * 0x24 ; 512KByte
|
||
C6_PR_1MB * 0x26 ; 1MByte
|
||
C6_PR_2MB * 0x28 ; 2MByte
|
||
C6_PR_4MB * 0x2a ; 4MByte
|
||
C6_PR_8MB * 0x2c ; 8MByte
|
||
C6_PR_16MB * 0x2e ; 16MByte
|
||
C6_PR_32MB * 0x30 ; 32MByte
|
||
C6_PR_64MB * 0x32 ; 64MByte
|
||
C6_PR_128MB * 0x34 ; 128MByte
|
||
C6_PR_256MB * 0x36 ; 256MByte
|
||
C6_PR_512MB * 0x38 ; 512MByte
|
||
C6_PR_1GB * 0x3a ; 1GByte
|
||
C6_PR_2GB * 0x3c ; 2GByte
|
||
C6_PR_4GB * 0x3e ; 4GByte
|
||
|
||
|
||
; レジスタ7.13(命令キャッシュ・プリフェッチ)
|
||
|
||
C7_ICACHE_PREFCHP_MASK * 0xffffffe0 ; 命令キャッシュ プリフェッチアドレス
|
||
|
||
|
||
; レジスタ7.10、7.14(キャッシュインデックス操作)
|
||
|
||
C7_ICACHE_INDEX_MASK * 0x00000fe0 ; 命令キャッシュ インデックス
|
||
C7_DCACHE_INDEX_MASK * 0x000003e0 ; データキャッシュ インデックス
|
||
C7_CACHE_SET_NO_MASK * 0xc0000000 ; キャッシュ セグメント
|
||
|
||
C7_CACHE_INDEX_SHIFT * 5
|
||
C7_CACHE_SET_NO_SHIFT * 30
|
||
|
||
|
||
; レジスタ9.0(キャッシュロックダウン)
|
||
|
||
C9_LOCKDOWN_SET_NO_MASK * 0x00000003 ; キャッシュロックダウン セグメント
|
||
|
||
C9_LOCKDOWN_SET_NO_SHIFT * 0
|
||
|
||
C9_LOCKDOWN_LOAD_MODE * 0x80000000 ; キャッシュロックダウン ロードモード
|
||
|
||
|
||
; レジスタ9.1(TCMベースアドレス/サイズ)
|
||
|
||
C9_TCMR_SIZE_MASK * 0x0000003e ; TCMリージョン サイズ
|
||
C9_TCMR_BASE_MASK * 0xfffff000 ; ベースアドレス
|
||
|
||
C9_TCMR_SIZE_SHIFT * 1
|
||
C9_TCMR_BASE_SHIFT * 12
|
||
|
||
C9_TCMR_4KB * 0x06 ; リージョンサイズ 4KByte
|
||
C9_TCMR_8KB * 0x08 ; 8KByte
|
||
C9_TCMR_16KB * 0x0a ; 16KByte
|
||
C9_TCMR_32KB * 0x0c ; 32KByte
|
||
C9_TCMR_64KB * 0x0e ; 64KByte
|
||
C9_TCMR_128KB * 0x10 ; 128KByte
|
||
C9_TCMR_256KB * 0x12 ; 256KByte
|
||
C9_TCMR_512KB * 0x14 ; 512KByte
|
||
C9_TCMR_1MB * 0x16 ; 1MByte
|
||
C9_TCMR_2MB * 0x18 ; 2MByte
|
||
C9_TCMR_4MB * 0x1a ; 4MByte
|
||
C9_TCMR_8MB * 0x1c ; 8MByte
|
||
C9_TCMR_16MB * 0x1e ; 16MByte
|
||
C9_TCMR_32MB * 0x20 ; 32MByte
|
||
C9_TCMR_64MB * 0x22 ; 64MByte
|
||
C9_TCMR_128MB * 0x24 ; 128MByte
|
||
C9_TCMR_256MB * 0x26 ; 256MByte
|
||
C9_TCMR_512MB * 0x28 ; 512MByte
|
||
C9_TCMR_1GB * 0x2a ; 1GByte
|
||
C9_TCMR_2GB * 0x2c ; 2GByte
|
||
C9_TCMR_4GB * 0x2e ; 4GByte
|
||
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 割り込み要求/許可フラグ
|
||
;-----------------------------------------------------------------------
|
||
|
||
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 ; カートリッジ割り込み
|
||
|
||
SUBP_INTR_FLAG * 0x00010000 ; サブプロセッサ割り込み
|
||
SPFIFO_SEND_INTR_FLAG * 0x00020000 ; サブプロセッサ間送信FIFOエンプティ割り込み
|
||
SPFIFO_RECV_INTR_FLAG * 0x00040000 ; サブプロセッサ間受信FIFOノットエンプティ割り込み
|
||
CARD_DATA_INTR_FLAG * 0x00080000 ; カードデータ転送終了割り込み
|
||
CARD_IREQ_INTR_FLAG * 0x00100000 ; カードIREQ割り込み
|
||
GXFIFO_INTR_FLAG * 0x00200000 ; ジオメトリコマンドFIFO割り込み
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; サブプロセッサ インタフェース
|
||
;-----------------------------------------------------------------------
|
||
|
||
SUBP_RECV_STATUS_MASK * 0x000f ; 受信ステータス
|
||
SUBP_SEND_STATUS_MASK * 0x0f00 ; 送信ステータス
|
||
|
||
SUBP_RECV_STATUS_SHIFT * 0
|
||
SUBP_SEND_STATUS_SHIFT * 8
|
||
|
||
SUBP_SEND_IF * 0x2000 ; 割り込み要求送信
|
||
SUBP_RECV_IF_ENABLE * 0x4000 ; 割り込み要求受信 許可
|
||
SUBP_ENABLE * 0x8000 ; サブプロセッサ イネーブル(削除予定)
|
||
|
||
;-----------------------------------------------------------------------
|
||
; サブプロセッサ通信FIFO コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
SPFIFO_SEND_EMPTY * 0x0001 ; 送信FIFO エンプティ
|
||
SPFIFO_SEND_FULL * 0x0002 ; フル
|
||
SPFIFO_SEND_IF_ENABLE * 0x0004 ; 割り込み要求 許可
|
||
SPFIFO_SEND_CLEAR * 0x0008 ; クリア
|
||
SPFIFO_RECV_EMPTY * 0x0100 ; 受信FIFO エンプティ
|
||
SPFIFO_RECV_FULL * 0x0200 ; フル
|
||
SPFIFO_RECV_IF_ENABLE * 0x0400 ; 割り込み要求 許可
|
||
SPFIFO_ENABLE * 0x8000 ; FIFOイネーブル
|
||
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; パワーコントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
POW_LCDC_ON * 0x0001 ; LCDコントローラ ON
|
||
IF :DEF: IRIS_TS
|
||
POW_2D_ON * 0x0202 ; 2DエンジンAB ON
|
||
POW_2D_A_ON * 0x0002 ; 2DエンジンA ON
|
||
POW_2D_B_ON * 0x0200 ; 2DエンジンB ON
|
||
POW_EXCHANGE_LCD * 0x8000 ; 表示液晶の交換
|
||
ELSE
|
||
POW_2D_ON * 0x0002 ; 2Dエンジン ON
|
||
ENDIF
|
||
POW_RENDER_ON * 0x0004 ; レンダリングエンジン ON
|
||
POW_GEOMETRY_ON * 0x0008 ; ジオメトリエンジン ON
|
||
POW_ALL_ON * 0x000f ; 全部 ON
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 除算
|
||
;-----------------------------------------------------------------------
|
||
|
||
DIV_MODE_MASK * 0x0003 ; 除算モード
|
||
|
||
DIV_MODE_SHIFT * 0
|
||
|
||
DIV_32_32BIT_MODE * 0x0000 ; 32bit/32bit モード
|
||
DIV_64_32BIT_MODE * 0x0001 ; 64bit/32bit モード
|
||
DIV_64_64BIT_MODE * 0x0002 ; 64bit/64bit モード
|
||
DIV_ERROR * 0x4000 ; 0割りエラー
|
||
DIV_BUSY * 0x8000 ; ビジー
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 平方根
|
||
;-----------------------------------------------------------------------
|
||
|
||
SQRT_32BIT_MODE * 0x0000 ; 32bit モード
|
||
SQRT_64BIT_MODE * 0x0001 ; 64bit モード
|
||
SQRT_BUSY * 0x8000 ; ビジー
|
||
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; VRAM&内部ワークRAM コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
VRAM_MODE_MASK * 0x07 ; VRAMモード
|
||
VRAM_OFFSET_MASK * 0x18 ; オフセット
|
||
|
||
VRAM_MODE_SHIFT * 0
|
||
VRAM_OFFSET_SHIFT * 3
|
||
|
||
VRAM_LCDC_MODE * 0x00 ; LCDC モード
|
||
VRAM_BG_MODE * 0x01 ; BG モード
|
||
VRAM_OBJ_MODE * 0x02 ; OBJ モード(A,B,E~Gのみ可)
|
||
VRAM_SUBP_MODE * 0x02 ; サブプロセッサ モード(C,Dのみ可)
|
||
VRAM_TEX_MODE * 0x03 ; テクスチャ モード(A~Dのみ可)
|
||
VRAM_TEXPLTT_MODE * 0x03 ; テクスチャパレット モード(E~Gのみ可)
|
||
VRAM_BGPLTT_MODE * 0x04 ; BGパレット モード(E~Gのみ可)
|
||
VRAM_OBJPLTT_MODE * 0x05 ; OBJパレット モード(F,Gのみ可)
|
||
|
||
VRAM_TEX_SLOT_0 * 0x00 ; テクスチャ スロット0
|
||
VRAM_TEX_SLOT_1 * 0x08 ; 1
|
||
VRAM_TEX_SLOT_2 * 0x10 ; 2
|
||
VRAM_TEX_SLOT_3 * 0x18 ; 3
|
||
VRAM_TEXPLTT_SLOT_0_3 * 0x00 ; テクスチャパレット スロット0-3
|
||
VRAM_TEXPLTT_SLOT_0 * 0x00 ; 0
|
||
VRAM_TEXPLTT_SLOT_1 * 0x08 ; 1
|
||
VRAM_TEXPLTT_SLOT_4 * 0x10 ; 4
|
||
VRAM_TEXPLTT_SLOT_5 * 0x18 ; 5
|
||
VRAM_BGPLTT_SLOT_0_3 * 0x00 ; BGパレット スロット0-3
|
||
VRAM_BGPLTT_SLOT_0_1 * 0x00 ; 0-1
|
||
VRAM_BGPLTT_SLOT_2_3 * 0x08 ; 2-3
|
||
|
||
VRAM_DISABLE * 0x00 ; VRAMディセーブル
|
||
VRAM_ENABLE * 0x80 ; イネーブル
|
||
|
||
|
||
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 → サブプロセッサ
|
||
|
||
|
||
VRAM_A_CNT_SHIFT * 0 ; VRAM A コントロール
|
||
VRAM_B_CNT_SHIFT * 8 ; B
|
||
VRAM_C_CNT_SHIFT * 16 ; C
|
||
VRAM_D_CNT_SHIFT * 24 ; D
|
||
VRAM_E_CNT_SHIFT * 0 ; E
|
||
VRAM_F_CNT_SHIFT * 8 ; F
|
||
VRAM_G_CNT_SHIFT * 16 ; G
|
||
VRAM_H_CNT_SHIFT * 0 ; H
|
||
VRAM_I_CNT_SHIFT * 8 ; I
|
||
WRAM_CNT_SHIFT * 24 ; 内部ワークRAM
|
||
VRAM_AB_CNT_SHIFT * 0 ; VRAM AB
|
||
VRAM_CD_CNT_SHIFT * 16 ; CD
|
||
VRAM_EF_CNT_SHIFT * 0 ; EF
|
||
VRAM_G_W_CNT_SHIFT * 16 ; G + 内部ワークRAM
|
||
VRAM_HI_CNT_SHIFT * 0 ; HI
|
||
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_VRAM_LCDC_MODE * 0 ; LCDC モード
|
||
ST_VRAM_BG_MODE * 1 ; BG モード
|
||
ST_VRAM_OBJ_MODE * 2 ; OBJ モード(A,B,E~Gのみ可)
|
||
ST_VRAM_SUBP_MODE * 2 ; サブプロセッサ モード(C,Dのみ可)
|
||
ST_VRAM_TEX_MODE * 3 ; テクスチャ モード(A~Dのみ可)
|
||
ST_VRAM_TEXPLTT_MODE * 3 ; テクスチャパレット モード(E~Gのみ可)
|
||
ST_VRAM_BGPLTT_MODE * 4 ; BGパレット モード(E~Gのみ可)
|
||
ST_VRAM_OBJPLTT_MODE * 5 ; OBJパレット モード(F,Gのみ可)
|
||
|
||
ST_VRAM_TEX_SLOT_0 * 0 ; テクスチャ スロット0
|
||
ST_VRAM_TEX_SLOT_1 * 1 ; 1
|
||
ST_VRAM_TEX_SLOT_2 * 2 ; 2
|
||
ST_VRAM_TEX_SLOT_3 * 3 ; 3
|
||
ST_VRAM_TEXPLTT_SLOT_0_3 * 0 ; テクスチャパレット スロット0-3
|
||
ST_VRAM_TEXPLTT_SLOT_0 * 0 ; 0
|
||
ST_VRAM_TEXPLTT_SLOT_1 * 1 ; 1
|
||
ST_VRAM_TEXPLTT_SLOT_4 * 2 ; 4
|
||
ST_VRAM_TEXPLTT_SLOT_5 * 3 ; 5
|
||
ST_VRAM_BGPLTT_SLOT_0_3 * 0 ; BGパレット スロット0-3
|
||
ST_VRAM_BGPLTT_SLOT_0_1 * 0 ; 0-1
|
||
ST_VRAM_BGPLTT_SLOT_2_3 * 1 ; 2-3
|
||
|
||
|
||
ST_WRAM_MAINP_ALL * 0 ; 共有内部ワークRAMブロック0・1 → メインプロセッサ
|
||
ST_WRAM_MAINP_B1_SUBP_B0 * 1 ; ブロック1 → メインプロセッサ
|
||
; ブロック0 → サブプロセッサ
|
||
ST_WRAM_MAINP_B0_SUBP_B1 * 2 ; ブロック0 → メインプロセッサ
|
||
; ブロック1 → サブプロセッサ
|
||
ST_WRAM_SUBP_ALL * 3 ; ブロック0・1 → サブプロセッサ
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 表示コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
DISP_BG_MODE_MASK * 0x00000007 ; BGモード
|
||
DISP_ON_MASK * 0x00001f00 ; OBJ・BG ON
|
||
DISP_WIN_MASK * 0x00006000 ; ウインドウ ON
|
||
DISP_OBJ_BMP_MAP_MASK * 0x00000060 ; OBJビットマップデータ マッピングタイプ
|
||
DISP_MODE_MASK * 0x00030000 ; 表示モード
|
||
DISP_VRAM_MASK * 0x000c0000 ; 表示VRAM選択
|
||
DISP_OBJ_VRAM_SIZE_MASK * 0x00700000 ; OBJ用VRAMサイズ
|
||
DISP_BGCHBASE_OFS_MASK * 0x07000000 ; BGキャラクタデータベースアドレス・オフセット
|
||
DISP_BGSCBASE_OFS_MASK * 0x38000000 ; BGスクリーンデータベースアドレス・オフセット
|
||
|
||
DISP_BG_MODE_SHIFT * 0
|
||
DISP_ON_SHIFT * 8
|
||
DISP_WIN_SHIFT * 13
|
||
DISP_MODE_SHIFT * 16
|
||
DISP_OBJ_BMP_MAP_SHIFT * 5
|
||
DISP_VRAM_SHIFT * 18
|
||
DISP_OBJ_VRAM_SIZE_SHIFT * 20
|
||
DISP_BGCHBASE_OFS_SHIFT * 24
|
||
DISP_BGSCBASE_OFS_SHIFT * 27
|
||
|
||
DISP_BG_MODE_0 * 0x00000000 ; BGモード0(ノーマルx4)
|
||
DISP_BG_MODE_N4 * 0x00000000
|
||
DISP_BG_MODE_1 * 0x00000001 ; BGモード1(ノーマルx3、アフィンx1)
|
||
DISP_BG_MODE_N3A1 * 0x00000001
|
||
DISP_BG_MODE_2 * 0x00000002 ; BGモード2(ノーマルx2、アフィンx2)
|
||
DISP_BG_MODE_N2A2 * 0x00000002
|
||
DISP_BG_MODE_3 * 0x00000003 ; BGモード3(ノーマルx3、アフィン拡張x1)
|
||
DISP_BG_MODE_N3E1 * 0x00000003
|
||
DISP_BG_MODE_4 * 0x00000004 ; BGモード4(ノーマルx2、アフィンx1、アフィン拡張x1)
|
||
DISP_BG_MODE_N2A1E1 * 0x00000004
|
||
DISP_BG_MODE_5 * 0x00000005 ; BGモード5(ノーマルx2、アフィン拡張x2)
|
||
DISP_BG_MODE_N2E2 * 0x00000005
|
||
DISP_BG_MODE_6 * 0x00000006 ; BGモード6(3D固定x1、大画面ビットマップx1)
|
||
DISP_BG_MODE_3D1W1 * 0x00000006
|
||
DISP_BG0_3D_ON * 0x00000008 ; BG0へ3Dを表示
|
||
DISP_OBJ_CHAR_2D_MAP * 0x00000000 ; OBJキャラクタデータ 2Dマッピング
|
||
DISP_OBJ_CHAR_1D_MAP * 0x00000010 ; OBJキャラクタデータ 1Dマッピング
|
||
DISP_OBJ_BMP_H128_MAP * 0x00000000 ; OBJビットマップデータ 横128ドット2Dマッピング
|
||
DISP_OBJ_BMP_H256_MAP * 0x00000020 ; OBJビットマップデータ 横256ドット2Dマッピング
|
||
DISP_OBJ_BMP_1D_MAP * 0x00000040 ; OBJビットマップデータ 1Dマッピング
|
||
DISP_OBJ_BMP_VRAM_128KB * 0x00000000 ; OBJビットマップデータVRAM128KByte
|
||
DISP_OBJ_BMP_VRAM_256KB * 0x00400000 ; 256KByte
|
||
DISP_OBJ_HOFF * 0x00800000 ; Hブランク中OBJ処理 OFF
|
||
DISP_LCDC_OFF * 0x00000080 ; LCDC OFF
|
||
DISP_BG0_ON * 0x00000100 ; BG0 ON
|
||
DISP_BG1_ON * 0x00000200 ; BG1 ON
|
||
DISP_BG2_ON * 0x00000400 ; BG2 ON
|
||
DISP_BG3_ON * 0x00000800 ; BG3 ON
|
||
DISP_BG_ALL_ON * 0x00000f00 ; BG全部 ON
|
||
DISP_OBJ_ON * 0x00001000 ; OBJ ON
|
||
DISP_OBJ_BG_ALL_ON * 0x00001f00 ; OBJ・BG全部 ON
|
||
DISP_WIN0_ON * 0x00002000 ; ウインドウ0 ON
|
||
DISP_WIN1_ON * 0x00004000 ; ウインドウ1 ON
|
||
DISP_WIN01_ON * 0x00006000 ; ウインドウ0・1 ON
|
||
DISP_OBJWIN_ON * 0x00008000 ; OBJウインドウ ON
|
||
DISP_WIN_ALL_ON * 0x0000e000 ; ウインドウ全部 ON
|
||
DISP_ALL_ON * 0x00007f00 ; 全部 ON
|
||
|
||
DISP_OFF_MODE * 0x00000000 ; 表示OFF
|
||
DISP_GFX_MODE * 0x00010000 ; グラフィックス表示モード
|
||
DISP_VRAM_MODE * 0x00020000 ; VRAM表示モード
|
||
DISP_MMEM_MODE * 0x00030000 ; メインメモリ表示モード
|
||
DISP_VRAM_A * 0x00000000 ; VRAM-A表示
|
||
DISP_VRAM_B * 0x00040000 ; VRAM-B表示
|
||
DISP_VRAM_C * 0x00080000 ; VRAM-C表示
|
||
DISP_VRAM_D * 0x000c0000 ; VRAM-D表示
|
||
DISP_OBJ_CHAR_VRAM_32KB * 0x00000000 ; OBJ用VRAM32KByte
|
||
DISP_OBJ_CHAR_VRAM_64KB * 0x00100000 ; 64KByte
|
||
DISP_OBJ_CHAR_VRAM_128KB * 0x00200000 ; 128KByte
|
||
DISP_OBJ_CHAR_VRAM_256KB * 0x00300000 ; 256KByte
|
||
DISP_BGPLTT_EX * 0x40000000 ; BGパレット拡張
|
||
DISP_OBJPLTT_EX * 0x80000000 ; OBJパレット拡張
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_DISP_OBJ_CHAR_2D_MAP * 0 ; OBJキャラクタデータ 2Dマッピング
|
||
ST_DISP_OBJ_CHAR_1D_MAP * 1 ; OBJキャラクタデータ 1Dマッピング
|
||
ST_DISP_OBJ_BMP_H128_MAP * 0 ; OBJビットマップデータ 横128ドット2Dマッピング
|
||
ST_DISP_OBJ_BMP_H256_MAP * 1 ; OBJビットマップデータ 横256ドット2Dマッピング
|
||
ST_DISP_OBJ_BMP_1D_MAP * 2 ; OBJビットマップデータ 1Dマッピング
|
||
|
||
ST_DISP_OFF_MODE * 0 ; 表示OFF
|
||
ST_DISP_GFX_MODE * 1 ; グラフィックス表示モード
|
||
ST_DISP_VRAM_MODE * 2 ; VRAM表示モード
|
||
ST_DISP_MMEM_MODE * 3 ; メインメモリ表示モード
|
||
|
||
ST_DISP_VRAM_A * 0 ; VRAM-A表示
|
||
ST_DISP_VRAM_B * 1 ; VRAM-B表示
|
||
ST_DISP_VRAM_C * 2 ; VRAM-C表示
|
||
ST_DISP_VRAM_D * 3 ; VRAM-D表示
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 表示ステータス
|
||
;-----------------------------------------------------------------------
|
||
|
||
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カウンタ一致割り込み要求 許可
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 3D表示コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
DISP3D_FOG_INDEX_MASK * 0x00000f00 ; フォグ インデックス範囲
|
||
|
||
DISP3D_FOG_INDEX_SHIFT * 8
|
||
|
||
DISP3D_TEX_MASTER_ON * 0x00000001 ; テクスチャマスタ ON
|
||
DISP3D_SHADING_EX * 0x00000002 ; 拡張シェーディングモード設定
|
||
DISP3D_TOON_MODE * 0x00000000 ; トゥーンシェーディングモード
|
||
DISP3D_HIGHLIGHT_MODE * 0x00000002 ; ハイライトシェーディングモード
|
||
DISP3D_ALPHA_TEST_ON * 0x00000004 ; アルファテスト ON
|
||
DISP3D_ALPHA_BLEND_ON * 0x00000008 ; アルファブレンド ON
|
||
DISP3D_ANTI_ALIASING_ON * 0x00000010 ; アンチエリアシング ON
|
||
DISP3D_EDGE_MARKING_ON * 0x00000020 ; エッジマーキング ON
|
||
DISP3D_FOG_MODE * 0x00000040 ; フォグモード
|
||
DISP3D_RGBA_FOG_MODE * 0x00000000 ; RGBAフォグモード
|
||
DISP3D_ALPHA_FOG_MODE * 0x00000040 ; αフォグモード
|
||
DISP3D_FOG_MASTER_ON * 0x00000080 ; フォグマスタ ON
|
||
DISP3D_CLEAR_IMAGE_ON * 0x00004000 ; クリアイメージ ON
|
||
|
||
DISP3D_RENDER_OVER * 0x00001000 ; レンダリング オーバーフロー
|
||
DISP3D_GEOMETRY_OVER * 0x00002000 ; ジオメトリ オーバーフロー
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_DISP3D_TOON_MODE * 0 ; トゥーンシェーディングモード
|
||
ST_DISP3D_HIGHLIGHT_MODE * 1 ; ハイライトシェーディングモード
|
||
|
||
ST_DISP3D_RGBA_FOG_MODE * 0 ; RGBAフォグモード
|
||
ST_DISP3D_ALPHA_FOG_MODE * 1 ; αフォグモード
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 表示キャプチャ
|
||
;-----------------------------------------------------------------------
|
||
|
||
DPCAP_GFX_WEIGHT_MASK * 0x0000001f ; グラフィックス側のブレンド係数
|
||
DPCAP_RAM_WEIGHT_MASK * 0x00001f00 ; RAM側のブレンド係数
|
||
DPCAP_DEST_OFFSET_MASK * 0x000c0000 ; 書き込みVRAMアドレス・オフセット
|
||
DPCAP_SIZE_MASK * 0x00300000 ; キャプチャサイズ
|
||
DPCAP_SRC_OFFSET_MASK * 0x0c000000 ; 読み込みVRAMアドレス・オフセット
|
||
DPCAP_BLEND_MODE_MASK * 0x60000000 ; ブレンドモード
|
||
|
||
DPCAP_GFX_WEIGHT_SHIFT * 0
|
||
DPCAP_RAM_WEIGHT_SHIFT * 8
|
||
DPCAP_DEST_OFFSET_SHIFT * 18
|
||
DPCAP_SIZE_SHIFT * 20
|
||
DPCAP_SRC_OFFSET_SHIFT * 26
|
||
DPCAP_BLEND_MODE_SHIFT * 29
|
||
|
||
DPCAP_DEST_VRAM_MASK * 0x00030000 ; キャプチャデータ書き込みVRAM選択
|
||
|
||
DPCAP_DEST_VRAM_SHIFT * 16
|
||
|
||
DPCAP_DEST_VRAM_A * 0x00000000 ; VRAM-A書き込み
|
||
DPCAP_DEST_VRAM_B * 0x00010000 ; VRAM-B書き込み
|
||
DPCAP_DEST_VRAM_C * 0x00020000 ; VRAM-C書き込み
|
||
DPCAP_DEST_VRAM_D * 0x00030000 ; VRAM-D書き込み
|
||
DPCAP_SIZE_128x128 * 0x00000000 ; 128x128ドット
|
||
DPCAP_SIZE_256x64 * 0x00100000 ; 256x 64ドット
|
||
DPCAP_SIZE_256x128 * 0x00200000 ; 256x128ドット
|
||
DPCAP_SIZE_256x192 * 0x00300000 ; 256x256ドット
|
||
DPCAP_GFXSRC_FULL * 0x00000000 ; 2D&3Dグラフィックス読み込み
|
||
DPCAP_GFXSRC_3D * 0x01000000 ; 3Dグラフィックスのみ読み込み
|
||
DPCAP_RAMSRC_VRAM * 0x00000000 ; VRAM読み込み
|
||
DPCAP_RAMSRC_MMEM * 0x02000000 ; メインメモリ読み込み
|
||
DPCAP_BLEND_GFX * 0x00000000 ; グラフィックス側のみキャプチャ
|
||
DPCAP_BLEND_RAM * 0x20000000 ; RAM側のみキャプチャ
|
||
DPCAP_BLEND_GFX_RAM * 0x40000000 ; グラフィックス側とRAM側をブレンディングしてキャプチャ
|
||
DPCAP_ENABLE * 0x80000000 ; 表示キャプチャ イネーブル
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; マスター輝度 コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
MSBRT_VALUE_MASK * 0x001f ; 輝度係数
|
||
MSBRT_MODE_MASK * 0xc000 ; 輝度モード
|
||
|
||
MSBRT_VALUE_SHIFT * 0
|
||
MSBRT_MODE_SHIFT * 14
|
||
|
||
MSBRT_NORMAL_MODE * 0x0000 ; ノーマルモード
|
||
MSBRT_UP_MODE * 0x4000 ; 輝度UPモード
|
||
MSBRT_DOWN_MODE * 0x8000 ; 輝度DOWNモード
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; ブレンド コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
BLD_PIXEL_MASK * 0x003f ; ピクセル選択
|
||
BLD_1ST_PIXEL_MASK * 0x003f ; 1stピクセル選択
|
||
BLD_MODE_MASK * 0x00c0 ; ブレンドモード
|
||
BLD_2ND_PIXEL_MASK * 0x3f00 ; 2ndピクセル選択
|
||
|
||
BLD_1ST_PIXEL_SHIFT * 0
|
||
BLD_MODE_SHIFT * 6
|
||
BLD_2ND_PIXEL_SHIFT * 8
|
||
|
||
BLD_BG0 * 0x0001 ; BG0 ピクセル選択
|
||
BLD_BG1 * 0x0002 ; BG1 ピクセル選択
|
||
BLD_BG2 * 0x0004 ; BG2 ピクセル選択
|
||
BLD_BG3 * 0x0008 ; BG3 ピクセル選択
|
||
BLD_OBJ * 0x0010 ; OBJ ピクセル選択
|
||
BLD_BD * 0x0020 ; 背景色 ピクセル選択
|
||
BLD_ALL * 0x003f ; ピクセル全選択
|
||
BLD_BG0_1ST * 0x0001 ; BG0 1stピクセル選択
|
||
BLD_BG1_1ST * 0x0002 ; BG1 1stピクセル選択
|
||
BLD_BG2_1ST * 0x0004 ; BG2 1stピクセル選択
|
||
BLD_BG3_1ST * 0x0008 ; BG3 1stピクセル選択
|
||
BLD_OBJ_1ST * 0x0010 ; OBJ 1stピクセル選択
|
||
BLD_BD_1ST * 0x0020 ; 背景色 1stピクセル選択
|
||
BLD_1ST_ALL * 0x003f ; 1stピクセル全選択
|
||
BLD_NORMAL_MODE * 0x0000 ; ノーマルモード
|
||
BLD_A_BLEND_MODE * 0x0040 ; 半透明モード
|
||
BLD_UP_MODE * 0x0080 ; 輝度UPモード
|
||
BLD_DOWN_MODE * 0x00c0 ; 輝度DOWNモード
|
||
BLD_BG0_2ND * 0x0100 ; BG0 2ndピクセル選択
|
||
BLD_BG1_2ND * 0x0200 ; BG1 2ndピクセル選択
|
||
BLD_BG2_2ND * 0x0400 ; BG2 2ndピクセル選択
|
||
BLD_BG3_2ND * 0x0800 ; BG3 2ndピクセル選択
|
||
BLD_OBJ_2ND * 0x1000 ; OBJ 2ndピクセル選択
|
||
BLD_BD_2ND * 0x2000 ; 背景色 2ndピクセル選択
|
||
BLD_2ND_ALL * 0x3f00 ; 2ndピクセル全選択
|
||
|
||
|
||
BLD_A_MASK * 0x001f ; ブレンド係数 A
|
||
BLD_B_MASK * 0x1f00 ; ブレンド係数 B
|
||
BLD_Y_MASK * 0x001f ; ブレンド係数 Y
|
||
|
||
BLD_A_SHIFT * 16
|
||
BLD_B_SHIFT * 24
|
||
BLD_Y_SHIFT * 0
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_BLD_NORMAL_MODE * 0 ; ノーマルモード
|
||
ST_BLD_A_BLEND_MODE * 1 ; 半透明モード
|
||
ST_BLD_UP_MODE * 2 ; 輝度UPモード
|
||
ST_BLD_DOWN_MODE * 3 ; 輝度DOWNモード
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; ウインドウ コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
WIN_END_POS_MASK * 0x00ff ; ウインドウ終了点
|
||
WIN_START_POS_MASK * 0xff00 ; ウインドウ開始点
|
||
|
||
WIN_END_POS_SHIFT * 0
|
||
WIN_START_POS_SHIFT * 8
|
||
|
||
WIN_BG0_ON * 0x0001 ; BG0 ON
|
||
WIN_BG1_ON * 0x0002 ; BG1 ON
|
||
WIN_BG2_ON * 0x0004 ; BG2 ON
|
||
WIN_BG3_ON * 0x0008 ; BG3 ON
|
||
WIN_OBJ_ON * 0x0010 ; OBJ ON
|
||
WIN_BLEND_ON * 0x0020 ; ブレンド ON
|
||
WIN_ALL_ON * 0x003f ; 全部 ON
|
||
|
||
;-----------------------------------------------------------------------
|
||
; モザイク コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
MOS_H_SIZE_MASK * 0x000f ; モザイク高さ
|
||
MOS_V_SIZE_MASK * 0x00f0 ; モザイク幅
|
||
MOS_BG_H_SIZE_MASK * 0x000f ; BGモザイク高さ
|
||
MOS_BG_V_SIZE_MASK * 0x00f0 ; BGモザイク幅
|
||
MOS_OBJ_H_SIZE_MASK * 0x000f ; OBJモザイク高さ
|
||
MOS_OBJ_V_SIZE_MASK * 0x00f0 ; OBJモザイク幅
|
||
|
||
MOS_H_SIZE_SHIFT * 0
|
||
MOS_V_SIZE_SHIFT * 4
|
||
MOS_BG_H_SIZE_SHIFT * 0
|
||
MOS_BG_V_SIZE_SHIFT * 4
|
||
MOS_OBJ_H_SIZE_SHIFT * 8
|
||
MOS_OBJ_V_SIZE_SHIFT * 12
|
||
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; BGコントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
BG_PRIORITY_MASK * 0x0003 ; BG間優先順位
|
||
BG_CHAR_BASE_MASK * 0x003c ; キャラクタ ベースアドレス
|
||
BG_SCREEN_BASE_MASK * 0x1f00 ; スクリーン ベースアドレス
|
||
BG_SCREEN_SIZE_MASK * 0xc000 ; スクリーンサイズ(256/512)
|
||
|
||
BG_PRIORITY_SHIFT * 0
|
||
BG_CHAR_BASE_SHIFT * 2
|
||
BG_SCREEN_BASE_SHIFT * 8
|
||
BG_SCREEN_SIZE_SHIFT * 14
|
||
|
||
BG_PRIORITY_0 * 0x0000 ; BG第0優先
|
||
BG_PRIORITY_1 * 0x0001 ; BG第1優先
|
||
BG_PRIORITY_2 * 0x0002 ; BG第2優先
|
||
BG_PRIORITY_3 * 0x0003 ; BG第3優先
|
||
BG_MOS_ON * 0x0040 ; モザイク ON
|
||
BG_MOS_OFF * 0x0000 ; モザイク OFF
|
||
BG_COLOR_16 * 0x0000 ; 16色 選択
|
||
BG_COLOR_256 * 0x0080 ; 256色 選択
|
||
BG_CHAR_16 * 0x0000 ; 16色キャラクタBG
|
||
BG_CHAR_256 * 0x0080 ; 256色キャラクタBG
|
||
BGE_CHAR_256x16 * 0x0000 ; 256色x16パレットキャラクタBG
|
||
BGE_BMP_256 * 0x0080 ; 256色ビットマップBG
|
||
BGE_BMP_DIRECT * 0x0084 ; ダイレクトカラービットマップBG
|
||
BG_LOOP_ON * 0x2000 ; ループ ON
|
||
BG_LOOP_OFF * 0x0000 ; ループ OFF
|
||
BG_EXPLTT_SLOT_0 * 0x0000 ; 拡張パレットスロット0へ割り当て
|
||
BG_EXPLTT_SLOT_1 * 0x0000 ; スロット1
|
||
BG_EXPLTT_SLOT_2 * 0x2000 ; スロット2
|
||
BG_EXPLTT_SLOT_3 * 0x2000 ; スロット3
|
||
BG_SCREEN_SIZE_0 * 0x0000 ; スクリーンサイズ(256x256)
|
||
BG_SCREEN_SIZE_1 * 0x4000 ; スクリーンサイズ(512x256)
|
||
BG_SCREEN_SIZE_2 * 0x8000 ; スクリーンサイズ(256x512)
|
||
BG_SCREEN_SIZE_3 * 0xc000 ; スクリーンサイズ(512x512)
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_BG_COLOR_16 * 0 ; 16色 選択
|
||
ST_BG_COLOR_256 * 1 ; 256色 選択
|
||
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; ビューポート
|
||
;-----------------------------------------------------------------------
|
||
|
||
VIEWPORT_START_X_MASK * 0x000000ff ; スタート X座標
|
||
VIEWPORT_START_Y_MASK * 0x0000ff00 ; Y座標
|
||
VIEWPORT_END_X_MASK * 0x00ff0000 ; エンド X座標
|
||
VIEWPORT_END_Y_MASK * 0xff000000 ; Y座標
|
||
|
||
VIEWPORT_START_X_SHIFT * 0
|
||
VIEWPORT_START_Y_SHIFT * 8
|
||
VIEWPORT_END_X_SHIFT * 16
|
||
VIEWPORT_END_Y_SHIFT * 24
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; ラインバッファ クリア
|
||
;-----------------------------------------------------------------------
|
||
|
||
CLR_ID_MASK * 0x3f000000 ; ID
|
||
|
||
CLR_ID_SHIFT * 24
|
||
|
||
CLR_FOG_ON * 0x00008000 ; フォグフラグ ON
|
||
CLR_FOG_OFF * 0x00000000 ; フォグフラグ OFF
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; ジオメトリコマンド
|
||
;-----------------------------------------------------------------------
|
||
|
||
GXOP_NOP * 0x00 ; NOP
|
||
|
||
GXOP_MTX_MODE * 0x10 ; 行列モード
|
||
GXOP_MTX_PUSH * 0x11 ; 行列プッシュ
|
||
GXOP_MTX_POP * 0x12 ; 行列ポップ
|
||
GXOP_MTX_STORE * 0x13 ; 行列ストア
|
||
GXOP_MTX_RESTORE * 0x14 ; 行列リストア
|
||
GXOP_MTX_IDENTITY * 0x15 ; 単位行列 初期化
|
||
GXOP_MTX_LOAD_4x4 * 0x16 ; 行列ロード(4x4)
|
||
GXOP_MTX_LOAD_4x3 * 0x17 ; (4x3)
|
||
GXOP_MTX_MULT_4x4 * 0x18 ; 行列乗算 (4x4)
|
||
GXOP_MTX_MULT_4x3 * 0x19 ; (4x3)
|
||
GXOP_MTX_MULT_3x3 * 0x1a ; (3x3)
|
||
GXOP_MTX_SCALE * 0x1b ; スケール行列乗算(1x3)
|
||
GXOP_MTX_TRANS * 0x1c ; 移動行列乗算(1x3)
|
||
|
||
GXOP_POLYGON_ATTR * 0x29 ; ポリゴン属性
|
||
|
||
GXOP_COLOR * 0x20 ; 頂点カラー
|
||
GXOP_NORMAL * 0x21 ; 頂点法線
|
||
GXOP_TEXCOORD * 0x22 ; 頂点テクスチャ座標
|
||
GXOP_VTX_16 * 0x23 ; 頂点16bit座標
|
||
GXOP_VTX_10 * 0x24 ; 頂点10bit座標
|
||
GXOP_VTX_XY * 0x25 ; 頂点16bitXY座標
|
||
GXOP_VTX_XZ * 0x26 ; 頂点16bitXZ座標
|
||
GXOP_VTX_YZ * 0x27 ; 頂点16bitYZ座標
|
||
GXOP_VTX_DIFF * 0x28 ; 頂点16bit座標差分値
|
||
GXOP_TEX_PARAM * 0x2a ; テクスチャパラメータ
|
||
GXOP_TEXIMAGE_PARAM * 0x2a
|
||
GXOP_TEXPLTT_BASE * 0x2b
|
||
|
||
GXOP_BOX_TEST * 0x70 ; ボックステスト
|
||
GXOP_POS_TEST * 0x71 ; 位置テスト
|
||
GXOP_VEC_TEST * 0x72 ; ベクトルテスト
|
||
|
||
GXOP_MATERIAL_COLOR_0 * 0x30 ; マテリアルカラー
|
||
GXOP_MATERIAL_COLOR_1 * 0x31
|
||
GXOP_DIF_AMB * 0x30 ; 拡散光 & 環境光成分
|
||
GXOP_SPE_EMI * 0x31 ; 反射光 & 放射光成分
|
||
GXOP_LIGHT_VECTOR * 0x32 ; ライトベクトル
|
||
GXOP_LIGHT_COLOR * 0x33 ; ライトカラー
|
||
GXOP_SHININESS * 0x34 ; 鏡面反射輝度
|
||
|
||
GXOP_BEGIN * 0x40 ; ジオメトリ スタート
|
||
GXOP_END * 0x41 ; ジオメトリ エンド
|
||
|
||
GXOP_SWAP_BUFFERS * 0x50 ; レンダリングエンジン参照データ群のスワップ
|
||
|
||
GXOP_VIEWPORT * 0x60 ; ビューポート
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; ジオメトリコマンド パラメータ数
|
||
;-----------------------------------------------------------------------
|
||
|
||
GXOP_NPARAMS_MAX * 32 ; 最大数
|
||
|
||
GXOP_NOP_NPARAMS * 0 ; NOP
|
||
|
||
GXOP_MTX_MODE_NPARAMS * 1 ; 行列モード
|
||
GXOP_MTX_PUSH_NPARAMS * 0 ; 行列プッシュ
|
||
GXOP_MTX_POP_NPARAMS * 1 ; 行列ポップ
|
||
GXOP_MTX_STORE_NPARAMS * 1 ; 行列ストア
|
||
GXOP_MTX_RESTORE_NPARAMS * 1 ; 行列リストア
|
||
GXOP_MTX_IDENTITY_NPARAMS * 0 ; 単位行列 初期化
|
||
GXOP_MTX_LOAD_4x4_NPARAMS * 16 ; 行列ロード(4x4)
|
||
GXOP_MTX_LOAD_4x3_NPARAMS * 12 ; (4x3)
|
||
GXOP_MTX_MULT_4x4_NPARAMS * 16 ; 行列乗算 (4x4)
|
||
GXOP_MTX_MULT_4x3_NPARAMS * 12 ; (4x3)
|
||
GXOP_MTX_MULT_3x3_NPARAMS * 9 ; (3x3)
|
||
GXOP_MTX_SCALE_NPARAMS * 3 ; スケール行列乗算(1x3)
|
||
GXOP_MTX_TRANS_NPARAMS * 3 ; 移動行列乗算(1x3)
|
||
|
||
GXOP_POLYGON_ATTR_NPARAMS * 1 ; ポリゴン属性
|
||
|
||
GXOP_COLOR_NPARAMS * 1 ; 頂点カラー
|
||
GXOP_NORMAL_NPARAMS * 1 ; 頂点法線
|
||
GXOP_TEXCOORD_NPARAMS * 1 ; 頂点テクスチャ座標
|
||
GXOP_VTX_16_NPARAMS * 2 ; 頂点16bit座標
|
||
GXOP_VTX_10_NPARAMS * 1 ; 頂点10bit座標
|
||
GXOP_VTX_XY_NPARAMS * 1 ; 頂点16bitXY座標
|
||
GXOP_VTX_XZ_NPARAMS * 1 ; 頂点16bitXZ座標
|
||
GXOP_VTX_YZ_NPARAMS * 1 ; 頂点16bitYZ座標
|
||
GXOP_VTX_DIFF_NPARAMS * 1 ; 頂点16bit座標差分値
|
||
|
||
GXOP_TEX_PARAM_NPARAMS * 1 ; テクスチャパラメータ
|
||
GXOP_TEXIMAGE_PARAM_NPARAMS * 1
|
||
GXOP_TEXPLTT_BASE_NPARAMS * 1
|
||
|
||
GXOP_BOX_TEST_NPARAMS * 3 ; ボックステスト
|
||
GXOP_POS_TEST_NPARAMS * 2 ; 位置テスト
|
||
GXOP_VEC_TEST_NPARAMS * 1 ; ベクトルテスト
|
||
|
||
GXOP_MATERIAL_COLOR_0_NPARAMS * 1 ; マテリアルカラー
|
||
GXOP_MATERIAL_COLOR_1_NPARAMS * 1
|
||
GXOP_DIF_AMB_NPARAMS * 1 ; 拡散光 & 環境光成分
|
||
GXOP_SPE_EMI_NPARAMS * 1 ; 反射光 & 放射光成分
|
||
GXOP_LIGHT_VECTOR_NPARAMS * 1 ; ライトベクトル
|
||
GXOP_LIGHT_COLOR_NPARAMS * 1 ; ライトカラー
|
||
GXOP_SHININESS_NPARAMS * 32 ; 鏡面反射輝度
|
||
|
||
GXOP_BEGIN_NPARAMS * 1 ; ジオメトリ スタート
|
||
GXOP_END_NPARAMS * 0 ; ジオメトリ エンド
|
||
|
||
GXOP_SWAP_BUFFERS_NPARAMS * 1 ; レンダリングエンジン参照データ群のスワップ
|
||
|
||
GXOP_VIEWPORT_NPARAMS * 1 ; ビューポート
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; ジオメトリステータス コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
GXSTAT_POSVEC_STACK_MASK * 0x00001f00 ; 位置&ベクトルマトリックス スタックレベル
|
||
GXSTAT_FIFO_COUNT_MASK * 0x00ff0000 ; コマンドFIFO 残量
|
||
GXSTAT_FIFO_INTR_MASK * 0xc0000000 ; 割り込みタイプ
|
||
|
||
GXSTAT_POSVEC_STACK_SHIFT * 8
|
||
GXSTAT_FIFO_COUNT_SHIFT * 16
|
||
GXSTAT_FIFO_INTR_SHIFT * 30
|
||
|
||
GXSTAT_TEST_BUSY * 0x00000001 ; BOX/頂点/ベクタテスト ビジー
|
||
GXSTAT_BOX_IN_VIEW * 0x00000002 ; BOXの一部が視体積内
|
||
GXSTAT_PROJ_STACK_LEVEL * 0x00002000 ; プロジェクションマトリックス スタックレベル
|
||
GXSTAT_MTX_STACK_BUSY * 0x00004000 ; マトリックススタック ビジー
|
||
GXSTAT_MTX_STACK_ERROR * 0x00008000 ; マトリックススタック エラー
|
||
|
||
GXSTAT_GEOMETRY_BUSY * 0x08000000 ; ジオメトリエンジン ビジー
|
||
GXSTAT_FIFO_FULL * 0x01000000 ; コマンドFIFO フル
|
||
GXSTAT_FIFO_UNDER_HALF * 0x02000000 ; ハーフ以下
|
||
GXSTAT_FIFO_EMPTY * 0x04000000 ; エンプティ
|
||
GXSTAT_FIFO_FULL_INTR * 0x00000000 ; フルで割り込み
|
||
GXSTAT_FIFO_HALF_INTR * 0x40000000 ; ハーフ以下で割り込み
|
||
GXSTAT_FIFO_EMPTY_INTR * 0x80000000 ; エンプティで割り込み
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; ジオメトリRAMスワップ コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
SWPBF_XLU_AUTO_YSORT * 0x00000000 ; 半透明ポリゴン オートYソート
|
||
SWPBF_XLU_MANUAL_SORT * 0x00000001 ; マニュアルソート
|
||
SWPBF_Z_BUFFERING * 0x00000000 ; Zバッファリング
|
||
SWPBF_W_BUFFERING * 0x00000002 ; Wバッファリング
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 行列モード コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
MTX_MODE_MASK * 0x00000003 ; 行列モード
|
||
|
||
MTX_MODE_SHIFT * 0
|
||
|
||
MTX_PROJECTION_MODE * 0x00000000 ; プロジェクション行列
|
||
MTX_POSITION_MODE * 0x00000001 ; 位置座標行列
|
||
MTX_POSITION_VECTOR_MODE * 0x00000002 ; 位置座標&方向ベクトル行列 同時設定
|
||
MTX_TEXTURE_MODE * 0x00000003 ; テクスチャ行列
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_MTX_PROJECTION_MODE * 0 ; プロジェクション行列
|
||
ST_MTX_POSITION_MODE * 1 ; 位置座標行列
|
||
ST_MTX_POSITION_VECTOR_MODE * 2 ; 位置座標&方向ベクトル行列 同時設定
|
||
ST_MTX_TEXTURE_MODE * 3 ; テクスチャ行列
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; ライト
|
||
;-----------------------------------------------------------------------
|
||
|
||
LIGHT_ID_MASK * 0xc0000000 ; ID
|
||
|
||
LIGHT_ID_SHIFT * 30
|
||
|
||
;-----------------------------------------------------------------------
|
||
; マテリアルカラー
|
||
;-----------------------------------------------------------------------
|
||
|
||
DIFFUSE_SET_COLOR_OFF * 0x0000 ; ディフューズカラーの頂点カラーへのセット OFF
|
||
DIFFUSE_SET_COLOR_ON * 0x8000 ; ON
|
||
|
||
DIFFUSE_SET_COLOR_SHIFT * 15
|
||
|
||
SHININESS_TABLE_OFF * 0x0000 ; 鏡面反射輝度テーブル OFF
|
||
SHININESS_TABLE_ON * 0x8000 ; ON
|
||
|
||
SHININESS_TABLE_SHIFT * 15
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; ポリゴン属性
|
||
;-----------------------------------------------------------------------
|
||
|
||
POLYATTR_LIGHT_ON_MASK * 0x0000000f ; ライトON
|
||
POLYATTR_RD_MODE_MASK * 0x00000030 ; レンダリングモード
|
||
POLYATTR_ALPHA_MASK * 0x001f0000 ; α値
|
||
POLYATTR_ID_MASK * 0x3f000000 ; ID
|
||
|
||
POLYATTR_LIGHT_ON_SHIFT * 0
|
||
POLYATTR_RD_MODE_SHIFT * 4
|
||
POLYATTR_ALPHA_SHIFT * 16
|
||
POLYATTR_ID_SHIFT * 24
|
||
|
||
POLYATTR_LIGHT0_ON * 0x00000001 ; ライト0 ON
|
||
POLYATTR_LIGHT1_ON * 0x00000002 ; ライト1 ON
|
||
POLYATTR_LIGHT2_ON * 0x00000004 ; ライト2 ON
|
||
POLYATTR_LIGHT3_ON * 0x00000008 ; ライト3 ON
|
||
POLYATTR_LIGHT_ALL_ON * 0x0000000f ; 全ライト ON
|
||
|
||
POLYATTR_MODULATE * 0x00000000 ; モジュレーションモード
|
||
POLYATTR_DECAL * 0x00000010 ; デカールモード
|
||
POLYATTR_TOON * 0x00000020 ; トゥーン/ハイライトシェーディングモード
|
||
POLYATTR_HIGHLIGHT * 0x00000020
|
||
POLYATTR_SHADOW * 0x00000030 ; シャドウポリゴンモード
|
||
|
||
POLYATTR_BACK_OFF * 0x00000000 ; 裏面 OFF
|
||
POLYATTR_BACK_ON * 0x00000040 ; ON
|
||
POLYATTR_FRONT_OFF * 0x00000000 ; 表面 OFF
|
||
POLYATTR_FRONT_ON * 0x00000080 ; ON
|
||
POLYATTR_XLU_DEPTH_OFF * 0x00000000 ; 半透明ポリゴンのデプスバッファ更新 OFF
|
||
POLYATTR_XLU_DEPTH_ON * 0x00000800 ; ON
|
||
POLYATTR_FAR_REJECT * 0x00000000 ; FARリジェクト
|
||
POLYATTR_FAR_CLIPPING * 0x00001000 ; FARクリッピング
|
||
POLYATTR_DISP_1DOT * 0x00002000 ; 1ドット時表示
|
||
POLYATTR_DEPTH_LESS * 0x00000000 ; デプスバッファ値より小さい時描画
|
||
POLYATTR_DEPTH_EQUAL * 0x00004000 ; デプスバッファ値と等しい時描画
|
||
POLYATTR_FOG_OFF * 0x00000000 ; フォグ OFF
|
||
POLYATTR_FOG_ON * 0x00008000 ; ON
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_POLYATTR_MODULATE * 0 ; モジュレーションモード
|
||
ST_POLYATTR_DECAL * 1 ; デカールモード
|
||
ST_POLYATTR_TOON * 2 ; トゥーン/ハイライトモード
|
||
ST_POLYATTR_HIGHLIGHT * 2
|
||
ST_POLYATTR_SHADOW * 3 ; シャドウポリゴンモード
|
||
|
||
ST_POLYATTR_DEPTH_LESS * 0 ; デプスバッファ値より小さい時描画
|
||
ST_POLYATTR_DEPTH_EQUAL * 1 ; デプスバッファ値と等しい時描画
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; BEGIN コントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
BEGIN_PRIM_TYPE_MASK * 0x00000003 ; プリミティブタイプ
|
||
|
||
BEGIN_PRIM_TYPE_SHIFT * 0
|
||
|
||
BEGIN_TRIANGLES * 0x00000000 ; 三角形ポリゴン
|
||
BEGIN_QUADS * 0x00000001 ; 四角形ポリゴン
|
||
BEGIN_TRIANGLE_STRIP * 0x00000002 ; 連結三角形ポリゴン
|
||
BEGIN_QUAD_STRIP * 0x00000003 ; 連結四角形ポリゴン
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_BEGIN_TRIANGLES * 0 ; 三角形ポリゴン
|
||
ST_BEGIN_QUADS * 1 ; 四角形ポリゴン
|
||
ST_BEGIN_TRIANGLE_STRIP * 2 ; 連結三角形ポリゴン
|
||
ST_BEGIN_QUAD_STRIP * 3 ; 連結四角形ポリゴン
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; テクスチャ パラメータ
|
||
;-----------------------------------------------------------------------
|
||
|
||
TEX_IMAGE_BASE_MASK * 0x0000ffff ; イメージベースアドレス
|
||
TEX_S_SIZE_MASK * 0x00700000 ; Sサイズ
|
||
TEX_T_SIZE_MASK * 0x03800000 ; Tサイズ
|
||
TEX_FORMAT_MASK * 0x1c000000 ; フォーマット
|
||
TEX_GEN_MODE_MASK * 0xc0000000 ; テクスチャ座標変換モード
|
||
|
||
TEX_ADDR_SHIFT * 0
|
||
TEX_S_SIZE_SHIFT * 20
|
||
TEX_T_SIZE_SHIFT * 23
|
||
TEX_FORMAT_SHIFT * 26
|
||
TEX_GEN_MODE_SHIFT * 30
|
||
|
||
TEX_IMAGE_BASE_SHIFT * 3
|
||
|
||
TEX_ST_REPEAT_ON * 0x00030000 ; STリピート ON
|
||
TEX_ST_REPEAT_OFF * 0x00000000 ; OFF
|
||
TEX_S_REPEAT_ON * 0x00010000 ; Sリピート ON
|
||
TEX_S_REPEAT_OFF * 0x00000000 ; OFF
|
||
TEX_T_REPEAT_ON * 0x00020000 ; Tリピート ON
|
||
TEX_T_REPEAT_OFF * 0x00000000 ; OFF
|
||
TEX_ST_FLIP_ON * 0x000c0000 ; STフリップ ON
|
||
TEX_ST_FLIP_OFF * 0x00000000 ; OFF
|
||
TEX_S_FLIP_ON * 0x00040000 ; Sフリップ ON
|
||
TEX_S_FLIP_OFF * 0x00000000 ; OFF
|
||
TEX_T_FLIP_ON * 0x00080000 ; Tフリップ ON
|
||
TEX_T_FLIP_OFF * 0x00000000 ; OFF
|
||
TEX_S_SIZE_8 * 0x00000000 ; Sサイズ 8テクセル
|
||
TEX_S_SIZE_16 * 0x00100000 ; 16テクセル
|
||
TEX_S_SIZE_32 * 0x00200000 ; 32テクセル
|
||
TEX_S_SIZE_64 * 0x00300000 ; 64テクセル
|
||
TEX_S_SIZE_128 * 0x00400000 ; 128テクセル
|
||
TEX_S_SIZE_256 * 0x00500000 ; 256テクセル
|
||
TEX_S_SIZE_512 * 0x00600000 ; 512テクセル
|
||
TEX_S_SIZE_1024 * 0x00700000 ; 1024テクセル
|
||
TEX_T_SIZE_8 * 0x00000000 ; Tサイズ 8テクセル
|
||
TEX_T_SIZE_16 * 0x00800000 ; 16テクセル
|
||
TEX_T_SIZE_32 * 0x01000000 ; 32テクセル
|
||
TEX_T_SIZE_64 * 0x01800000 ; 64テクセル
|
||
TEX_T_SIZE_128 * 0x02000000 ; 128テクセル
|
||
TEX_T_SIZE_256 * 0x02800000 ; 256テクセル
|
||
TEX_T_SIZE_512 * 0x03000000 ; 512テクセル
|
||
TEX_T_SIZE_1024 * 0x03800000 ; 1024テクセル
|
||
|
||
TEX_FORMAT_NONE * 0x00000000 ; テクスチャ無し
|
||
TEX_FORMAT_4PLTT * 0x08000000 ; 4色パレットテクスチャ
|
||
TEX_FORMAT_16PLTT * 0x0c000000 ; 16色パレットテクスチャ
|
||
TEX_FORMAT_256PLTT * 0x10000000 ; 256色パレットテクスチャ
|
||
TEX_FORMAT_4x4COMP * 0x14000000 ; 4x4圧縮テクスチャ
|
||
IF :DEF: IRIS_TS
|
||
TEX_FORMAT_ALPHA3 * 0x04000000 ; 3bitαテクスチャ
|
||
ENDIF
|
||
TEX_FORMAT_ALPHA5 * 0x18000000 ; 5bitαテクスチャ
|
||
TEX_FORMAT_DIRECT * 0x1c000000 ; カラーダイレクトテクスチャ
|
||
|
||
TEX_PLTT0_OFF * 0x20000000 ; カラーパレット0 OFF
|
||
TEX_PLTT0_ON * 0x00000000 ; ON
|
||
TEX_PLTT0_XLU * 0x20000000 ; 透明(α=0)
|
||
|
||
TEX_GEN_DIRECT * 0x00000000 ; 座標変換無し
|
||
TEX_GENSRC_TEXCOORD * 0x40000000 ; 座標変換ソース TexCoord
|
||
TEX_GENSRC_NORMAL * 0x80000000 ; Normal
|
||
TEX_GENSRC_VERTEX * 0xc0000000 ; Vertex
|
||
|
||
|
||
; 構造体メンバ用定数
|
||
|
||
ST_TEX_SIZE_8 * 0 ; テクスチャサイズ 8テクセル
|
||
ST_TEX_SIZE_16 * 1 ; 16テクセル
|
||
ST_TEX_SIZE_32 * 2 ; 32テクセル
|
||
ST_TEX_SIZE_64 * 3 ; 64テクセル
|
||
ST_TEX_SIZE_128 * 4 ; 128テクセル
|
||
ST_TEX_SIZE_256 * 5 ; 256テクセル
|
||
ST_TEX_SIZE_512 * 6 ; 512テクセル
|
||
ST_TEX_SIZE_1024 * 7 ; 1024テクセル
|
||
|
||
ST_TEX_FORMAT_NONE * 0 ; テクスチャ無し
|
||
ST_TEX_FORMAT_4PLTT * 2 ; 4色パレットテクスチャ
|
||
ST_TEX_FORMAT_16PLTT * 3 ; 16色パレットテクスチャ
|
||
ST_TEX_FORMAT_256PLTT * 4 ; 256色パレットテクスチャ
|
||
ST_TEX_FORMAT_4x4COMP * 5 ; 4x4圧縮テクスチャ
|
||
IF :DEF: IRIS_TS
|
||
ST_TEX_FORMAT_ALPHA3 * 1 ; 3bitαテクスチャ
|
||
ENDIF
|
||
ST_TEX_FORMAT_ALPHA5 * 6 ; 5bitαテクスチャ
|
||
ST_TEX_FORMAT_DIRECT * 7 ; カラーダイレクトテクスチャ
|
||
|
||
ST_TEX_GEN_DIRECT * 0 ; 座標変換無し
|
||
ST_TEX_GENSRC_TEXCOORD * 1 ; 座標変換ソース TexCoord
|
||
ST_TEX_GENSRC_NORMAL * 2 ; Normal
|
||
ST_TEX_GENSRC_VERTEX * 3 ; Vertex
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; テクスチャパレットベース
|
||
;-----------------------------------------------------------------------
|
||
|
||
TEX_PLTT_BASE_MASK * 0x00001fff ; パレットベースアドレス
|
||
TEXPLT_BASE_MASK * TEX_PLTT_BASE_MASK
|
||
|
||
TEXPLT_FORMAT_NONE * 0 ; テクスチャパレット無し
|
||
TEXPLT_FORMAT_4PLTT * 2 ; 4色パレットテクスチャ
|
||
TEXPLT_FORMAT_16PLTT * 3 ; 16色パレットテクスチャ
|
||
TEXPLT_FORMAT_256PLTT * 4 ; 256色パレットテクスチャ
|
||
TEXPLT_FORMAT_4x4COMP * 5 ; 4x4圧縮テクスチャ
|
||
IF :DEF: IRIS_TS
|
||
TEXPLT_FORMAT_ALPHA3 * 1 ; 3bitαテクスチャ
|
||
ENDIF
|
||
TEXPLT_FORMAT_ALPHA5 * 6 ; 5bitαテクスチャ
|
||
|
||
TEXPLT_FORMAT_NONE_SHIFT * 0
|
||
TEXPLT_FORMAT_4PLTT_SHIFT * 3
|
||
TEXPLT_FORMAT_16PLTT_SHIFT * 4
|
||
TEXPLT_FORMAT_256PLTT_SHIFT * 4
|
||
TEXPLT_FORMAT_4x4COMP_SHIFT * 4
|
||
IF :DEF: IRIS_TS
|
||
TEXPLT_FORMAT_ALPHA3_SHIFT * 4
|
||
ENDIF
|
||
TEXPLT_FORMAT_ALPHA5_SHIFT * 4
|
||
|
||
;-----------------------------------------------------------------------
|
||
; 圧縮テクスチャ パレットインデックス
|
||
;-----------------------------------------------------------------------
|
||
|
||
TEX4X4_PLTT_INDEX_MASK * 0x00003fff ; パレットインデックス
|
||
|
||
TEX4X4_PLTT_INDEX_SHIFT * 0
|
||
|
||
TEX4X4_DIRECT_PLTT * 0x00000000 ; 4パレット
|
||
TEX4X4_LINER_PLTT * 0x00008000 ; 2パレット→4補間パレット
|
||
TEX4X4_INDEX_3 * 0x00000000 ; 3インデックス+
|
||
TEX4X4_INDEX_4 * 0x00004000 ; 4インデックス
|
||
|
||
|
||
|
||
;-----------------------------------------------------------------------
|
||
; DMAコントロール
|
||
;-----------------------------------------------------------------------
|
||
|
||
DMA_ENABLE * 0x80000000 ; DMA許可
|
||
DMA_IF_ENABLE * 0x40000000 ; 割り込み要求 許可
|
||
|
||
DMA_TIMMING_MASK * 0x38000000 ; 開始タイミング
|
||
DMA_COUNT_MASK * 0x001fffff ; 転送数
|
||
|
||
DMA_TIMMING_SHIFT * 27
|
||
DMA_COUNT_SHIFT * 0
|
||
|
||
DMA_TIMMING_IMM * 0x00000000 ; 直ちに起動
|
||
DMA_TIMMING_V_BLANK * 0x08000000 ; Vブランク起動
|
||
DMA_TIMMING_H_BLANK * 0x10000000 ; Hブランク起動
|
||
DMA_TIMMING_DISP * 0x18000000 ; 表示同期
|
||
DMA_TIMMING_DISP_MMEM * 0x20000000 ; メインメモリ表示
|
||
DMA_TIMMING_CARD * 0x28000000 ; カード
|
||
DMA_TIMMING_CARTRIDGE * 0x30000000 ; カートリッジ
|
||
DMA_TIMMING_GXFIFO * 0x38000000 ; ジオメトリFIFO
|
||
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_H_BLANK * 2 ; Hブランク起動
|
||
ST_DMA_TIMMING_DISP * 3 ; 表示起動
|
||
ST_DMA_TIMMING_DISP_MMEM * 4 ; メインメモリ表示
|
||
ST_DMA_TIMMING_CARD * 5 ; カード
|
||
ST_DMA_TIMMING_CARTRIDGE * 6 ; カートリッジ
|
||
ST_DMA_TIMMING_GXFIFO * 7 ; ジオメトリFIFO
|
||
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_DEFINE_H
|
||
|
||
END
|
||
|