
	PAGE

;********************************************************
;*							*
;*		定数定義ファイル			*
;*							*
;********************************************************

MBCBANKREG		=	$2100		; バンク切り替えレジスタ

VRAM			=	$8000		; LCD表示用RAM
EXRAM			=	$A000		; 外部拡張ワークRAM
WRAML			=	$C000		; 本体ワークRAM下位
WRAMH			=	$D000		; 本体ワークRAM上位

CHRRAM			=	$8000		; CHRデータRAM
BGRAM1			=	$9800		; BG表示データRAM1
BGRAM2			=	$9C00		; BG表示データRAM2
OAM			=	$FE00		; OBJ表示データRAM

OBJRAM			=	WRAML		; OBJ表示データ 原簿

STACK			=	WRAMH		; スタックポインタ

EFECT			=	$DFE0		; EFFECT SOUND (効果音)
MUSIC			=	$DFE8		; MUSIC (BGM)
MUSICF			=	$DFE9		; MUSIC FLG
MUSIC1			=	$DFF8

;--------------------------------------------------------

WY_MIN			=	0		; ウィンドウ Y最小値
WX_MIN			=	7		; ウィンドウ X最小値
WY_MAX			=	143		; ウィンドウ Y最大値
WX_MAX			=	166		; ウィンドウ X最大値

;********************************************************
;*							*
;*		CPUコントロールレジスタ			*
;*							*
;********************************************************

P1			=	$FF00		; キー入力ポート
SB			=	$FF01		; シリアル転送データ
SC			=	$FF02		; シリアルコントロール
DIV			=	$FF04		; ディバイダー
TIMA			=	$FF05		; タイマーカウンター
TMA			=	$FF06		; タイマーモジュロー
TAC			=	$FF07		; タイマーコントロール
IF			=	$FF0F		; 割り込み要求
IE			=	$FFFF		; 割り込み許可
LCDC			=	$FF40		; LCDコントロール
STAT			=	$FF41		; LCDCステータス
SCY			=	$FF42		; スクロール Y
SCX			=	$FF43		; スクロール X
LY			=	$FF44		; LCDC Y座標
LYC			=	$FF45		; LY コンペアー
DMA			=	$FF46		; DMA転送
BGP			=	$FF47		; BGモノクロパレット
OBP0			=	$FF48		; OBJモノクロパレット0
OBP1			=	$FF49		; OBJモノクロパレット1
WY			=	$FF4A		; ウィンドウ Y座標
WX			=	$FF4B		; ウィンドウ X座標
KEY1			=	$FF4D		; CPU動作速度
VBK			=	$FF4F		; VRAMバンク
HDMA1			=	$FF51		; H-BLANK,汎用DMA転送元アドレス
HDMA2			=	$FF52
HDMA3			=	$FF53		; H-BLANK,汎用DMA転送先アドレス
HDMA4			=	$FF54
HDMA5			=	$FF55		; H-BLANK,汎用DMAコントロール
RP			=	$FF56		; 赤外線通信ポート
BCPS			=	$FF68		; BGカラーパレットコントロール
BCPD			=	$FF69		; BGカラーパレット書き込みデータ
OCPS			=	$FF6A		; OBJカラーパレットコントロール
OCPD			=	$FF6B		; OBJカラーパレット書き込みデータ
SVBK			=	$FF70		; 本体ワークRAMバンク

NR10			=	$FF10		; サウンド関係
NR11			=	$FF11
NR12			=	$FF12
NR13			=	$FF13
NR14			=	$FF14
NR50			=	$FF24
NR51			=	$FF25
NR52			=	$FF26

;********************************************************
;*							*
;*		CPUコントロールデータ			*
;*							*
;********************************************************

SC_CLOCK		=	$01
SC_SPEED		=	$02
SC_START		=	$80
SC_CLOCK_BIT		=	0
SC_SPEED_BIT		=	1
SC_START_BIT		=	7

TAC_START		=	$04
TAC_START_BIT		=	2

IF_VBLK			=	$01
IF_LCDC			=	$02
IF_TIMER		=	$04
IF_SIO			=	$08
IF_PORT			=	$10
IF_VBLK_BIT		=	0
IF_LCDC_BIT		=	1
IF_TIMER_BIT		=	2
IF_SIO_BIT		=	3
IF_PORT_BIT		=	4

IE_VBLK			=	$01
IE_LCDC			=	$02
IE_TIMER		=	$04
IE_SIO			=	$08
IE_PORT			=	$10
IE_VBLK_BIT		=	0
IE_LCDC_BIT		=	1
IE_TIMER_BIT		=	2
IE_SIO_BIT		=	3
IE_PORT_BIT		=	4

LCDC_BG_ON		=	$01
LCDC_OBJ_ON		=	$02
LCDC_OBJ_SIZE		=	$04
LCDC_BG_SCREEN		=	$08
LCDC_BG_CHR		=	$10
LCDC_WIN_ON		=	$20
LCDC_WIN_SCREEN		=	$40
LCDC_START		=	$80
LCDC_BG_ON_BIT		=	0
LCDC_OBJ_ON_BIT		=	1
LCDC_OBJ_SIZE_BIT	=	2
LCDC_BG_SCREEN_BIT	=	3
LCDC_BG_CHR_BIT		=	4
LCDC_WIN_ON_BIT		=	5
LCDC_WIN_SCREEN_BIT	=	6
LCDC_START_BIT		=	7

STAT_MODE_HBLK		=	$00
STAT_MODE_VBLK		=	$01
STAT_MODE_OAM		=	$02
STAT_MODE_LCDDRV	=	$03
STAT_FLG_LYC_LY		=	$04
STAT_INT_HBLK		=	$08
STAT_INT_VBLK		=	$10
STAT_INT_OAM		=	$20
STAT_INT_LYC_LY		=	$40
STAT_FLG_LYC_LY_BIT	=	2
STAT_INT_HBLK_BIT	=	3
STAT_INT_VBLK_BIT	=	4
STAT_INT_OAM_BIT	=	5
STAT_INT_LYC_LY_BIT	=	6

KEY1_SPEED		=	$01
KEY1_FLG_SPEED		=	$80
KEY1_SPEED_BIT		=	0
KEY1_FLG_SPEED_BIT	=	7

VBK_0			=	$00
VBK_1			=	$01
VBK_BANK_BIT		=	1

HDMA_START_HBLK		=	$00
HDMA_START_READY	=	$80
HDMA_START_BIT		=	7

RP_READ_START		=	$C0
RP_WRITE_DATA_BIT	=	0
RP_READ_DATA_BIT	=	1
RP_READ_START_BIT	=	7

PLT_AUTO_INC		=	$80
PLT_AUTO_INC_BIT	=	7

;********************************************************
;*							*
;*		キー入力				*
;*							*
;********************************************************

A_KEY			=	$01
B_KEY			=	$02
SE_KEY			=	$04
ST_KEY			=	$08
R_KEY			=	$10
L_KEY			=	$20
U_KEY			=	$40
D_KEY			=	$80
A_KEY_BIT		=	0
B_KEY_BIT		=	1
SE_KEY_BIT		=	2
ST_KEY_BIT		=	3
R_KEY_BIT		=	4
L_KEY_BIT		=	5
U_KEY_BIT		=	6
D_KEY_BIT		=	7

;********************************************************

	END
