;************************************************
;*		Start on 1988年11月 10日	*
;*		Modify on 1989年 1月 27日	*
;************************************************

;************************************************
;*	<<<<<  ＲＡＭ  ＥＱＵ. >>>>>		*
;************************************************
;********************************
;*	制御用レジスタ		*
;********************************
P1	=	$FF00		; キーポート
SB	=	$FF01		; シリアル転送 データ
SC	=	$FF02		; シリアル コントロール
DIV	=	$FF04		; ディバイダー
TIMA	=	$FF05		; タイマー レジスタ
TMA	=	$FF06		; モジュロ レジスタ
TAC	=	$FF07		; タイマー コントロール
IF	=	$FF0F		; 割り込み要求フラグ
IE	=	$FFFF		; 割り込み許可フラグ
LCDC	=	$FF40		; ＬＣＤ コントロール
STAT	=	$FF41		; ＬＣＤＣ ステータス
SCY	=	$FF42		; スクロール Ｘ
SCX	=	$FF43		; スクロール Ｙ
LY	=	$FF44		; ＬＣＤＣ Ｙ 座標
LYC	=	$FF45		; ＬＹ コンペア レジスタ
DMA	=	$FF46		; ＤＭＡ 転送
BGP	=	$FF47		; ＢＧ パレット
OBP0	=	$FF48		; ＯＢＪ パレット 0
OBP1	=	$FF49		; ＯＢＪ パレット 1
WY	=	$FF4A		; ウインド Ｘ 座標
WX	=	$FF4B		; ウインド Ｙ 座標

OTO	=	$DFE8

;********************************
;*	共通ラム    		*
;********************************
SVSTS		EQU	$FF8A		; セーブステータス
CNT1		EQU	SVSTS+$1	; コントローラ キー 情報 ベタ 入力
TRG1		EQU	CNT1+$1		; コントローラ キー 情報 トリガ 入力
OBJYP		EQU	TRG1+$1		; ＯＢＪ Ｙ 座標
OBJXP		EQU	OBJYP+$1	; ＯＢＪ Ｘ 座標
VRAMH		EQU	OBJXP+$1	; ＶＲＡＭ 上位 アドレス
VRAML		EQU	VRAMH+$1	; ＶＲＡＭ 下位 アドレス
VBLANK_F	EQU	VRAML+$1	; Ｖ−ＢＬＡＮＫ 終了 フラグ
IEB		EQU	VBLANK_F+$1	; 割り込み許可フラグのバッファ

W_SEQ		EQU	IEB+$1		; ＯＢＪ-ＲＡＭ転送イニシャルフラグ

S_DATA		EQU	W_SEQ+$1

BGTM		EQU	S_DATA+$2
;
NOWCG	EQU	BGTM+$1
MAXCG	EQU	NOWCG+$1

PL_BK	EQU	MAXCG+$1	;パレットアドレス一時バッファ
PL_HI	EQU	PL_BK
PL_LW	EQU	PL_HI
CH_BK	EQU	PL_LW+$1	;キャラクターアドレス一時バッファ
CH_HI	EQU	CH_BK
CH_LW	EQU	CH_HI

PLXPSL	EQU	CH_LW+$1
PLXPSH	EQU	PLXPSL+$1
PLYPSL	EQU	PLXPSH+$1
PLYPSH	EQU	PLYPSL+$1
PLXSPD	EQU	PLYPSH+$1
PLYSPD	EQU	PLXSPD+$1
PLXBUF	EQU	PLYSPD+$1
PLYBUF	EQU	PLXBUF+$1
PLMODE	EQU	PLYBUF+$1
PLKYFG	EQU	PLMODE+$1	; プレイヤーＰＵＳＨキー保存
PLXLHZ	EQU	PLKYFG+$1
PLXHHZ	EQU	PLXLHZ+$1
PLYLHZ	EQU	PLXHHZ+$1
PLYHHZ	EQU	PLYLHZ+$1
PLXMVC	EQU	PLYHHZ+$1
PLYMVC	EQU	PLXMVC+$1
;
SLMODE	EQU	PLYMVC+$1
GMMODE	EQU	SLMODE+$1
FCNT	EQU	GMMODE+$1
SCCH1	EQU	FCNT+$1
SCCH11	EQU	SCCH1+$1
SCCV1	EQU	SCCH11+$1
SCCV11	EQU	SCCV1+$1
RNDFLG	EQU	SCCV11+$1	; ランダムフラグ
SCVPT	EQU	RNDFLG+$1	; 部分スクロールポイント
PBANK	EQU	SCVPT+$1	; バンク切り替え用保存

GAMENSU	EQU	PBANK+$1
WRITE	EQU	GAMENSU+$1
WRITER	EQU	WRITE+$1
WRITEL	EQU	WRITER+$1
SCR	EQU	WRITEL+$1

;********************************
;*	ＤＭＡ    		*
;*	ff80->ff89    		*
;*	サウンド    		*
;*	ffe0->ffef    		*
;********************************

DMASUB	=	$FF80		; ＤＭＡ転送サブルーチン
OBJRAM	=	$C000		; ＯＡＭ 原簿
OAM	=	$C000
POAM	=	$C008		; プレイヤーＯＡＭ

BG_BUF	=	$A100		; ＢＧバッファ
CHNGBUF	=	$AF00		; ＢＧ描き換え用バッファ

;********************************
;*	共通ラム　　　　　	*
;********************************
VRFLG	EQU	$C100
BLNKFG  EQU	VRFLG+$1
PYCRCH	EQU	BLNKFG+$1	; プレイヤーパターンフラグ
PYMKCH	EQU	PYCRCH+$1	; プレイヤー向きフラグ
PYCRFM	EQU	PYMKCH+$1	; プレイヤーパターンフレーム
PYSIZE	EQU	PYCRFM+$1	; プレイヤーサイズ
PYPTHZ	EQU	PYSIZE+$1	; プレイヤーパターン保存
PYJPFM	EQU	PYPTHZ+$1	; プレイヤージャンプフレーム
PLKYTG	EQU	PYJPFM+$1	; プレイヤーキートリガ保存
PTURNF	EQU	PLKYTG+$1	; プレイヤーターンフラグ
BGATFG	EQU	PTURNF+$1	; プレイヤーＢＧノーマル当たりチェック
;
ENINDX	EQU	BGATFG+$1	; 敵インデックス
;
ENMODE	EQU	$D000		; 敵ムーブフラグ
ENSYNO	EQU	ENMODE+$8	; 敵ＮＯフラグ
ENXPSL	EQU	ENSYNO+$8	; 敵Ｘ位置
ENXPSH	EQU	ENXPSL+$8	; 敵Ｘ位置
ENYPSL	EQU	ENXPSH+$8	; 敵Ｙ位置
ENYPSH	EQU	ENYPSL+$8	; 敵Ｙ位置
ENXSPD	EQU	ENYPSH+$8	; 敵Ｘスピード
ENYSPD	EQU	ENXSPD+$8	; 敵Ｙスピード
ENXBUF	EQU	ENYSPD+$8	; 敵Ｘスピードバッファ
ENYBUF	EQU	ENXBUF+$8	; 敵Ｙスピードバッファ
ENTIM0	EQU	ENYBUF+$8	; 敵タイマー０
ENTIM1	EQU	ENTIM0+$8	; 敵タイマー１
ENCONT	EQU	ENTIM1+$8	; 敵カウンター０
ENCOT1	EQU	ENCONT+$8	; 敵カウンター１
ENWRK0	EQU	ENCOT1+$8	; 敵ワーク０
ENWRK1	EQU	ENWRK0+$8	; 敵ワーク１
ECHRCT	EQU	ENWRK1+$8	; 敵ポーズＮＯ
;
;********************************
;*	敵当たり位置保存	*
;********************************
EHTXP	EQU	ECHRCT+$8	; 敵Ｘ当たり位置
EHTYP	EQU	EHTXP+$8	; 敵Ｙ当たり位置
;;;;;	EQU	EHTYP+$8	;
;
;********************************
;*	スペース キャラクタ	*
;********************************
SPACE	=	$7F		; クリア キャラクタ コード

;********************************
;*	スタック   		*
;********************************

STACK	=	$CFFF

;********************************
;*	サウンド   		*
;********************************

SOUND	=	$7FF0

;********************************
;*	セーブ エリア   	*
;********************************
BGMAP	EQU	$A000
;
;;xyz;;;;SAVE_CK		EQU	$A000
;;xyz;;;;SAVE_AREA	EQU	SAVE_CK+$10
;;xyz;;;;SAVE_SUM	EQU	SAVE_AREA+$100

	END

