;************************************************************************
;*									*
;*	title name	: "yossy"					*
;*	proccess	: mario chip program.4				*
;*	file name	: ys_chip6					*
;*									*
;************************************************************************
;
;
		SALL
;
		include		ys_chip.inc
;
		XALL
;
;
;------------------------------------------------------------------------
;-		global symbol						-
;------------------------------------------------------------------------
;
;------------------------------------------------------------------------
;-		extern symbol						-
;------------------------------------------------------------------------
;
;-------------< ys_chip0 >-----------------------------------------------
		EXT	COS,SIN,LCOS,LSIN
;
;-------------< ys_msub0 >-----------------------------------------------
		EXT	HACHI,EGG00,EGG09,PONTA,SSLIM
		EXT	ON_DW,NLFLR,NLFUD,KORA0,KORA1
;
;------------------------------------------------------------------------
;-		define symbol						-
;------------------------------------------------------------------------
;
;
;------------------------------------------------------------------------
;-		Macro							-
;------------------------------------------------------------------------
pJSR		MACRO	suu
		IBT	R12,#suu
		FROM	R15
		ADD	#07
		SMS	R0,RTS0
		IWT	R15,#PUCHAOAM_DX
		NOP
		ENDM
;
;************************************************************************
;*									*
;*		program start						*
;*									*
;************************************************************************
;
;
Group_9		GROUP	S_chip_6
S_chip_6	SECT	REL
;
;
;----------------------------------------------------------------
;-	ビッグバウンドブロスＯＡＭセット			-
;-		ENCONT : 足の回転角				-
;-		ENWRK0 : Ｘ軸の倍率				-
;-		ENWRK2 : Ｙ軸の倍率				-
;-		in :						-
;-			CWORK0 <- 足のキャラナンバー（０）	-
;-			CWORK1 <- 足のキャラナンバー（１）	-
;-			CWORK2 <- 足のキャラナンバー（２）	-
;-			CWORK3 <- 足のキャラナンバー（３）	-
;-			CWORK4 <- 鼻のキャラナンバー（０）	-
;-			CWORK5 <- 鼻のキャラナンバー（１）	-
;-			CWORK6 <- 鼻のキャラナンバー（２）	-
;-			CWORK7 <- 鼻のキャラナンバー（３）	-
;----------------------------------------------------------------
BIGBB_POSDAT	EQU	$
		BYTE	004H, 000H		; X, Y (右足)
		BYTE	-10H, -10H, 000H, -10H
		BYTE	-10H, 000H, 000H, 000H
		BYTE	000H, 000H, -10H, 000H
		BYTE	000H, -10H, -10H, -10H
		BYTE	-04H, 000H		; X, Y (左足)
		BYTE	000H, -10H, -10H, -10H
		BYTE	000H, 000H, -10H, 000H
		BYTE	-10H, 000H, 000H, 000H
		BYTE	-10H, -10H, 000H, -10H
;
BIGBB_POS0	BYTE	-25H, -6EH		; X, Y (鼻)
		BYTE	010H-4, 000H, 000H-4, 000H
		BYTE	010H-4, -10H, 000H-4, -10H
		BYTE	-(20H-4), -10H, -(10H-4), -10H
		BYTE	-(20H-4), 000H, -(10H-4), 000H
		BYTE	005H, -73H		; X, Y (右目)
		BYTE	-0AH, -73H		; X, Y (左目)
		BYTE	019H, -73H		; X, Y (毛)
		BYTE	010H, -64H		; X, Y (頬)
		BYTE	-10H, -10H, 000H, -10H
		BYTE	-10H, 000H, 000H, 000H
		BYTE	021H, -38H		; X, Y (手)
		BYTE	-10H, -10H
		HEX	2C
		BYTE	000H, -10H
		HEX	6E
		BYTE	-10H, 000H
		HEX	2C
		BYTE	000H, 000H
		HEX	6E
;
BIGBB_POS1	BYTE	-22H, -6EH              ; X, Y (鼻)
		BYTE	010H-4, 000H, 000H-4, 000H
		BYTE	010H-4, -10H, 000H-4, -10H
		BYTE	-(20H-4), -10H, -(10H-4), -10H
		BYTE	-(20H-4), 000H, -(10H-4), 000H
		BYTE	005H, -73H              ; X, Y (右目)
		BYTE	-0AH, -73H              ; X, Y (左目)
		BYTE	014H, -73H              ; X, Y (毛)
		BYTE	018H, -64H		; X, Y (頬)
		BYTE	-10H, -10H, 000H, -10H
		BYTE	-10H, 000H, 000H, 000H
		BYTE	028H, -38H		; X, Y (手)
		BYTE	-10H, -10H
		HEX	2C
		BYTE	000H, -10H
		HEX	6E
		BYTE	-10H, 000H
		HEX	2C
		BYTE	000H, 000H
		HEX	6E
;
BIGBB_POS2	BYTE	-1CH, -6EH              ; X, Y (鼻)
		BYTE	010H-4, 000H, 000H-4, 000H
		BYTE	010H-4, -10H, 000H-4, -10H
		BYTE	-(20H-4), -10H, -(10H-4), -10H
		BYTE	-(20H-4), 000H, -(10H-4), 000H
		BYTE	006H, -73H              ; X, Y (右目)
		BYTE	-09H, -73H              ; X, Y (左目)
		BYTE	00BH, -73H              ; X, Y (毛)
		BYTE	01EH, -64H		; X, Y (頬)
		BYTE	-10H, -10H, 000H, -10H
		BYTE	-10H, 000H, 000H, 000H
		BYTE	030H, -38H		; X, Y (手)
		BYTE	-10H, -10H
		HEX	2C
		BYTE	000H, -10H
		HEX	6E
		BYTE	-10H, 000H
		HEX	2C
		BYTE	000H, 000H
		HEX	6E
;
BIGBB_POS3	BYTE	-12H, -6EH              ; X, Y (鼻)
		BYTE	010H-4, 000H, 000H-4, 000H
		BYTE	010H-4, -10H, 000H-4, -10H
		BYTE	-(20H-4), -10H, -(10H-4), -10H
		BYTE	-(20H-4), 000H, -(10H-4), 000H
		BYTE	007H, -73H              ; X, Y (右目)
		BYTE	-08H, -73H              ; X, Y (左目)
		BYTE	-01H, -73H              ; X, Y (毛)
		BYTE	022H, -64H		; X, Y (頬)
		BYTE	-10H, -10H, 000H, -10H
		BYTE	-10H, 000H, 000H, 000H
		BYTE	036H, -38H		; X, Y (手)
		BYTE	-10H, -10H
		HEX	2C
		BYTE	000H, -10H
		HEX	6E
		BYTE	-10H, 000H
		HEX	2C
		BYTE	000H, 000H
		HEX	6E
;
BIGBB_OAMSET	EQU	$
;
		CACHE
;
		LM	R1,CENINDX		; R1 <- 敵インデックスの読み込み！
		LMS	R11,COAMIDX		; R11 <- ＯＡＭインデックスの読み込み！
;
		IBT	R0,#BANK LCOS
		ROMB
		mLDW0	CENCONT,R1
		NOT
		INC	R0
		TO	R4
		HIB
		IWT	R0,#LCOS
		TO	R14
		ADD	R4
		IWT	R5,#LSIN
		GETBS
		FROM	R5
		TO	R14
		ADD	R4
;
		ADD	R0
		TO	R2
		ADD	R0			; R2 <- Cos Data
;
		GETBS
		ADD	R0
		TO	R3
		ADD	R0			; R3 <- Sin Data
;
		IBT	R0,#BANK BIGBB_POSDAT
		ROMB
		IWT	R14,#BIGBB_POSDAT
;----------- 右足 -------------------------------
		mLDB	R9,CENWRK7,R1		; キャラクタモードの読み込み！！
		mLDW	R6,CENWRK0,R1
		mLDW	R4,CENDSXL,R1
		GETB
		INC	R14
		SWAP
		FMULT
		TO	R4
		ADD	R4			; R4 <- 右足の中心Ｘ！！
;
		mLDW	R6,CENWRK2,R1
		mLDW	R5,CENDSYL,R1
		GETB
		INC	R14
		SWAP
		FMULT
		TO	R5
		ADD	R5			; R5 <- 右足の中心Ｙ！！
;
		IWT	R6,#00C00H
		DEC	R9
		BMI	BIGBBRFOOT0040		; [->BIGBBRFOOT0040]
		INC	R9
;
		mLDW0	CENWRK0,R1
		FMULT
		LOB
		TO	R6
		SWAP
BIGBBRFOOT0040
		FROM	R2
		FMULT
		TO	R7
		ADD	R4			; R7 <- 右足の踵の中心Ｘ！！
		FROM	R3
		FMULT
		TO	R8
		ADD	R5			; R8 <- 右足の踵の中心Ｙ！！
;
		IWT	R10,#CWORK0
		IBT	R12,#04
		MOVE	R13,R15
;
		GETBS
		INC	R14
		ADD	R7
		STW	(R11)			; Ｘポジションセット！！
		INC	R11
		INC	R11
;
		GETBS
		INC	R14
		ADD	R8
		STW	(R11)			; Ｙポジションセット！！
		INC	R11
		INC	R11
;
		TO	R6
		LDW	(R10)
		INC	R10
		INC	R10
		IWT	R0,#03E00H
		OR	R6
		STW	(R11)			; キャラナンバー＆アトリビュートセット！！
		INC	R11
		INC	R11
;
		IBT	R0,#002H
		STW	(R11)			; ＯＡＭＳＵＢデータセット！！
		INC	R11
;
		LOOP
		INC	R11
;
		IWT	R6,#02400H
		DEC	R9
		BMI	BIGBBRFOOT0080		; [->BIGBBRFOOT0080]
		INC	R9
;
		mLDW0	CENWRK0,R1
		FMULT
		LOB
		TO	R6
		SWAP
BIGBBRFOOT0080
		FROM	R2
		FMULT
		TO	R7
		ADD	R4			; R7 <- 右足の爪先の中心Ｘ！！
		FROM	R3
		FMULT
		TO	R8
		ADD	R5			; R8 <- 右足の爪先の中心Ｙ！！
;
		IWT	R10,#CWORK0
		IBT	R12,#04
		MOVE	R13,R15
;
		GETBS
		INC	R14
		ADD	R7
		STW	(R11)			; Ｘポジションセット！！
		INC	R11
		INC	R11
;
		GETBS
		INC	R14
		ADD	R8
		STW	(R11)			; Ｙポジションセット！！
		INC	R11
		INC	R11
;
		TO	R6
		LDW	(R10)
		INC	R10
		INC	R10
		IWT	R0,#0FC00H
		OR	R6
		STW	(R11)			; キャラナンバー＆アトリビュートセット！！
		INC	R11
		INC	R11
;
		IBT	R0,#002H
		STW	(R11)			; ＯＡＭＳＵＢデータセット！！
		INC	R11
;
		LOOP
		INC	R11
;
;----------- 左足 -------------------------------
		WITH	R2
		NOT
		INC	R2			; ＣＯＳデータの反転！！
;
		mLDW	R6,CENWRK0,R1
		mLDW	R4,CENDSXL,R1
		GETB
		INC	R14
		SWAP
		FMULT
		TO	R4
		ADD	R4			; R4 <- 左足の中心Ｘ！！
;
		mLDW	R6,CENWRK2,R1
		mLDW	R5,CENDSYL,R1
		GETB
		INC	R14
		SWAP
		FMULT
		TO	R5
		ADD	R5			; R5 <- 左足の中心Ｙ！！
;
		IWT	R6,#00C00H
		DEC	R9
		BMI	BIGBBLFOOT0040		; [->BIGBBLFOOT0040]
		INC	R9
;
		mLDW0	CENWRK0,R1
		FMULT
		LOB
		TO	R6
		SWAP
BIGBBLFOOT0040
		FROM	R2
		FMULT
		TO	R7
		ADD	R4			; R7 <- 左足の踵の中心Ｘ！！
		FROM	R3
		FMULT
		TO	R8
		ADD	R5			; R8 <- 左足の踵の中心Ｙ！！
;
		IWT	R10,#CWORK0
		IBT	R12,#04
		MOVE	R13,R15
;
		GETBS
		INC	R14
		ADD	R7
		STW	(R11)			; Ｘポジションセット！！
		INC	R11
		INC	R11
;
		GETBS
		INC	R14
		ADD	R8
		STW	(R11)			; Ｙポジションセット！！
		INC	R11
		INC	R11
;
		TO	R6
		LDW	(R10)
		INC	R10
		INC	R10
		IWT	R0,#07E00H
		OR	R6
		STW	(R11)			; キャラナンバー＆アトリビュートセット！！
		INC	R11
		INC	R11
;
		IBT	R0,#002H
		STW	(R11)			; ＯＡＭＳＵＢデータセット！！
		INC	R11
;
		LOOP
		INC	R11
;
		IWT	R6,#02400H
		DEC	R9
		BMI	BIGBBLFOOT0080		; [->BIGBBLFOOT0080]
		INC	R9
;
		mLDW0	CENWRK0,R1
		FMULT
		LOB
		TO	R6
		SWAP
BIGBBLFOOT0080
		FROM	R2
		FMULT
		TO	R7
		ADD	R4			; R7 <- 左足の爪先の中心Ｘ！！
		FROM	R3
		FMULT
		TO	R8
		ADD	R5			; R8 <- 左足の爪先の中心Ｙ！！
;
		IWT	R10,#CWORK0
		IBT	R12,#04
		MOVE	R13,R15
;
		GETBS
		INC	R14
		ADD	R7
		STW	(R11)			; Ｘポジションセット！！
		INC	R11
		INC	R11
;
		GETBS
		INC	R14
		ADD	R8
		STW	(R11)			; Ｙポジションセット！！
		INC	R11
		INC	R11
;
		TO	R6
		LDW	(R10)
		INC	R10
		INC	R10
		IWT	R0,#0BC00H
		OR	R6
		STW	(R11)			; キャラナンバー＆アトリビュートセット！！
		INC	R11
		INC	R11
;
		IBT	R0,#002H
		STW	(R11)			; ＯＡＭＳＵＢデータセット！！
		INC	R11
;
		LOOP
		INC	R11
;
;----------- 鼻 ---------------------------------
		mLDW	R6,CENCHPT,R1
		IWT	R0,#(BIGBB_POS1-BIGBB_POS0)
		MULT	R6
		TO	R14
		ADD	R14
		mLDW	R2,CENMUKI,R1
		mLDW	R3,CENDSXL,R1
		mLDW	R4,CENDSYL,R1
		mLDW	R6,CENWRK0,R1
		GETB
		INC	R14
		SWAP
		DEC	R2
		BMI	BIGBB_NOSE0040		; [->BIGBB_NOSE0040]
		INC	R2
;
		NOT
		INC	R0
BIGBB_NOSE0040
		TO	R7
		FMULT				; R7 <- 鼻の中心Ｘ
		mLDW	R6,CENWRK2,R1
		GETB
		INC	R14
		SWAP
		TO	R8
		FMULT				; R8 <- 鼻の中心Ｙ
;
		IWT	R10,#CWORK4
		IBT	R12,#04
		MOVE	R13,R15
;
		GETBS
		INC	R14
		DEC	R2
		BMI	BIGBB_NOSE0060		; 左向き？ [yes->BIGBB_NOSE0060]
		INC	R2
;
		NOT
		SUB	#0FH
BIGBB_NOSE0060
		ADD	R7
		ADD	R3
		STW	(R11)			; Ｘポジションセット！！
		INC	R11
		INC	R11
;
		GETBS
		INC	R14
		ADD	R8
		ADD	R4
		STW	(R11)			; Ｙポジションセット！！
		INC	R11
		INC	R11
;
		TO	R6
		LDW	(R10)
		INC	R10
		INC	R10
		IWT	R0,#0FE00H
		DEC	R2
		BMI	BIGBB_NOSE0070		; [->BIGBB_NOSE0070]
		INC	R2
;
		IWT	R0,#0BE00H
BIGBB_NOSE0070
		OR	R6
		STW	(R11)			; キャラナンバー＆アトリビュートセット！！
		INC	R11
		INC	R11
;
		IBT	R0,#002H
		STW	(R11)			; ＯＡＭＳＵＢデータセット！！
		INC	R11
;
		LOOP
		INC	R11
;
		IWT	R10,#CWORK4
		IBT	R12,#04
		MOVE	R13,R15
;
		GETBS
		INC	R14
		DEC	R2
		BMI	BIGBB_NOSE0080		; 左向き？ [yes->BIGBB_NOSE0080]
		INC	R2
;
		NOT
		SUB	#0FH
BIGBB_NOSE0080
		ADD	R7
		ADD	R3
		STW	(R11)			; Ｘポジションセット！！
		INC	R11
		INC	R11
;
		GETBS
		INC	R14
		ADD	R8
		ADD	R4
		STW	(R11)			; Ｙポジションセット！！
		INC	R11
		INC	R11
;
		TO	R6
		LDW	(R10)
		INC	R10
		INC	R10
		IWT	R0,#03C00H
		DEC	R2
		BMI	BIGBB_NOSE0090		; [->BIGBB_NOSE0090]
		INC	R2
;
		IWT	R0,#07C00H
BIGBB_NOSE0090
		OR	R6
		STW	(R11)			; キャラナンバー＆アトリビュートセット！！
		INC	R11
		INC	R11
;
		IBT	R0,#002H
		STW	(R11)			; ＯＡＭＳＵＢデータセット！！
		INC	R11
;
		LOOP
		INC	R11
;
;----------- 右目 -------------------------------
BIGBB_REYE
;
		CACHE
;
		mLDW	R6,CENWRK0,R1
		GETB
		INC	R14
		SWAP
		DEC	R2
		BMI	BIGBB_REYE0040		; [->BIGBB_REYE0040]
		INC	R2
;
		NOT
		INC	R0
BIGBB_REYE0040
		FMULT
		SUB	#08
		ADD	R3
		STW	(R11)			; Ｘポジションセット！！
		INC	R11
		INC	R11
;
		mLDW	R6,CENWRK2,R1
		GETB
		INC	R14
		SWAP
		FMULT
		SUB	#0FH
		ADD	R4
		STW	(R11)			; Ｙポジションセット！！
		INC	R11
		INC	R11
;
		LMS	R6,CWORK8
		IWT	R0,#03C00H
		DEC	R2
		BMI	BIGBB_REYE0060		; [->BIGBB_REYE0060]
		INC	R2
;
		IWT	R0,#07C00H
BIGBB_REYE0060
		OR	R6
		STW	(R11)
		INC	R11
		INC	R11
;
		IBT	R0,#002H
		STW	(R11)			; ＯＡＭＳＵＢデータセット！！
		INC	R11
		INC	R11
;
;----------- 左目 -------------------------------
BIGBB_LEYE
		mLDW	R6,CENWRK0,R1
		GETB
		INC	R14
		SWAP
		DEC	R2
		BMI	BIGBB_LEYE0040		; [->BIGBB_LEYE0040]
		INC	R2
;
		NOT
		INC	R0
BIGBB_LEYE0040
		FMULT
		SUB	#08
		ADD	R3
		STW	(R11)			; Ｘポジションセット！！
		INC	R11
		INC	R11
;
		mLDW	R6,CENWRK2,R1
		GETB
		INC	R14
		SWAP
		FMULT
		SUB	#0FH
		ADD	R4
		STW	(R11)			; Ｙポジションセット！！
		INC	R11
		INC	R11
;
		LMS	R6,CWORK8
		IWT	R0,#03C00H
		DEC	R2
		BMI	BIGBB_LEYE0060		; [->BIGBB_LEYE0060]
		INC	R2
;
		IWT	R0,#07C00H
BIGBB_LEYE0060
		OR	R6
		STW	(R11)
		INC	R11
		INC	R11
;
		IBT	R0,#002H
		STW	(R11)			; ＯＡＭＳＵＢデータセット！！
		INC	R11
		INC	R11
;
;----------- 毛 ---------------------------------
BIGBB_HAIR
		mLDW	R6,CENWRK0,R1
		GETB
		INC	R14
		SWAP
		DEC	R2
		BMI	BIGBB_HAIR0040		; [->BIGBB_HAIR0040]
		INC	R2
;
		NOT
		INC	R0
BIGBB_HAIR0040
		FMULT
		SUB	#08
		ADD	R3
		STW	(R11)			; Ｘポジションセット！！
		INC	R11
		INC	R11
;
		mLDW	R6,CENWRK2,R1
		GETB
		INC	R14
		SWAP
		FMULT
		SUB	#0FH
		ADD	R4
		STW	(R11)			; Ｙポジションセット！！
		INC	R11
		INC	R11
;
		LMS	R6,CWORK9
		IWT	R0,#01C00H
		DEC	R2
		BMI	BIGBB_HAIR0060		; [->BIGBB_HAIR0060]
		INC	R2
;
		IWT	R0,#05C00H
BIGBB_HAIR0060
		OR	R6
		STW	(R11)
		INC	R11
		INC	R11
;
		IBT	R0,#002H
		STW	(R11)			; ＯＡＭＳＵＢデータセット！！
		INC	R11
		INC	R11
;
;----------- 頬 ---------------------------------
BIGBB_CHEEK
		mLDW	R6,CENWRK0,R1
		GETB
		INC	R14
		SWAP
		DEC	R2
		BMI	BIGBB_CHEEK0040		; [->BIGBB_CHEEK0040]
		INC	R2
;
		NOT
		INC	R0
BIGBB_CHEEK0040
		TO	R7
		FMULT				; R7 <- 頬の中心Ｘ
		mLDW	R6,CENWRK2,R1
		GETB
		INC	R14
		SWAP
		TO	R8
		FMULT				; R8 <- 頬の中心Ｙ
;
		IWT	R10,#CWORKA
		IBT	R12,#04
		MOVE	R13,R15
;
		GETBS
		INC	R14
		DEC	R2
		BMI	BIGBB_CHEEK0060		; 左向き？ [yes->BIGBB_CHEEK0060]
		INC	R2
;
		NOT
		SUB	#0FH
BIGBB_CHEEK0060
		ADD	R7
		ADD	R3
		STW	(R11)			; Ｘポジションセット！！
		INC	R11
		INC	R11
;
		GETBS
		INC	R14
		ADD	R8
		ADD	R4
		STW	(R11)			; Ｙポジションセット！！
		INC	R11
		INC	R11
;
		TO	R6
		LDW	(R10)
		INC	R10
		INC	R10
		IWT	R0,#02C00H
		DEC	R2
		BMI	BIGBB_CHEEK0070		; [->BIGBB_CHEEK0070]
		INC	R2
;
		IWT	R0,#06C00H
BIGBB_CHEEK0070
		OR	R6
		STW	(R11)			; キャラナンバー＆アトリビュートセット！！
		INC	R11
		INC	R11
;
		IBT	R0,#002H
		STW	(R11)			; ＯＡＭＳＵＢデータセット！！
		INC	R11
;
		LOOP
		INC	R11
;
;----------- 手 ---------------------------------
BIGBB_HAND
		mLDW	R6,CENWRK0,R1
		GETB
		INC	R14
		SWAP
		DEC	R2
		BMI	BIGBB_HAND0040		; [->BIGBB_HAND0040]
		INC	R2
;
		NOT
		INC	R0
BIGBB_HAND0040
		TO	R7
		FMULT				; R7 <- 手の中心Ｘ
		mLDW	R6,CENWRK2,R1
		GETB
		INC	R14
		SWAP
		TO	R8
		FMULT				; R8 <- 手の中心Ｙ
;
		IWT	R9,#04000H
		IWT	R10,#CWORKE
		IBT	R12,#04
		MOVE	R13,R15
;
		GETBS
		INC	R14
		DEC	R2
		BMI	BIGBB_HAND0060		; 左向き？ [yes->BIGBB_HAND0060]
		INC	R2
;
		NOT
		SUB	#0FH
BIGBB_HAND0060
		ADD	R7
		ADD	R3
		STW	(R11)			; Ｘポジションセット！！
		INC	R11
		INC	R11
;
		GETBS
		INC	R14
		ADD	R8
		ADD	R4
		STW	(R11)			; Ｙポジションセット！！
		INC	R11
		INC	R11
;
		TO	R6
		LDW	(R10)
		INC	R10
		INC	R10
		GETB
		INC	R14
		SWAP
		DEC	R2
		BMI	BIGBB_HAND0070		; [->BIGBB_HAND0070]
		INC	R2
;
		XOR	R9
BIGBB_HAND0070
		OR	R6
		STW	(R11)			; キャラナンバー＆アトリビュートセット！！
		INC	R11
		INC	R11
;
		IBT	R0,#002H
		STW	(R11)			; ＯＡＭＳＵＢデータセット！！
		INC	R11
;
		LOOP
		INC	R11
;
;
BIGBB_OAMSET_E
		SMS	COAMIDX,R11		; ＯＡＭインデックスのセーブ！！
;
		CACHE
;
;------- 敵のプライオリティセット！！ -------------------
		IWT	R1,#CEXCLOR+1
		IWT	R2,#03000H
		IBT	R3,#04
		IWT	R12,#(CENNO+CEXNO)
		MOVE	R13,R15
		LDW	(R1)
		OR	R2
		WITH	R1
		ADD	R3
		LOOP
		SBK
;
		STOP
		NOP
;
;
BIGBB_TANEDT
		HEX	00, F8, FC
		WORD	02C9EH
		HEX	00, 00, FC
		WORD	06C9EH
		HEX	02, F0, E5
		WORD	02DC0H
		HEX	02, 00, E5
		WORD	02DC2H
		HEX	02, F0, F5
		WORD	02DE0H
		HEX	02, 00, F5
		WORD	02DE2H
;
BIGBB_TANEDT1
		HEX	00, F8, FD
		WORD	06C2EH
		HEX	00, 00, FD
		WORD	02C2EH
		HEX	02, F0, E5
		WORD	02DC0H
		HEX	02, 00, E5
		WORD	02DC2H
		HEX	02, F0, F5
		WORD	02DE0H
		HEX	02, 00, F5
		WORD	02DE2H
;
BIGBB_TANEDT2
		HEX	00, F8, 01
		WORD	06C2FH
		HEX	00, 00, 01
		WORD	02C2FH
		HEX	02, F0, E5
		WORD	02DC0H
		HEX	02, 00, E5
		WORD	02DC2H
		HEX	02, F0, F5
		WORD	02DE0H
		HEX	02, 00, F5
		WORD	02DE2H
;
BIGBB_OAMST2	EQU	$
		IBT	R0,#BANK BIGBB_TANEDT
		ROMB
;
		CACHE
;
		LM	R1,CENINDX		; R1 <- 敵インデックスの読み込み！
		mLDW	R6,CENCHPT,R1
		IBT	R0,#(BIGBB_TANEDT1-BIGBB_TANEDT)
		MULT	R6
		IWT	R2,#BIGBB_TANEDT
		TO	R14
		ADD	R2			; R14 <- Rom Address Set !!
;
		mLDW	R2,CENDSXL,R1		; Ｘポジション
		mLDW	R3,CENDSYL,R1		; Ｙポジション
		mLDW	R4,CENMUKI,R1		; 向き
		IWT	R5,#04000H
		LMS	R11,COAMIDX		; R11 <- ＯＡＭインデックスの読み込み！
		IBT	R12,#06
		MOVE	R13,R15
;
		TO	R6
		GETB
		INC	R14
;
		GETBS
		INC	R14
		DEC	R4
		BMI	BIGBB_OAMST2040		; 反転？ [no->BIGBB_OAMST2040]
		INC	R4
;
		NOT
		INC	R0
		DEC	R6
		BPL	BIGBB_OAMST2040		; チビキャラ？ [no->BIGBB_OAMST2040]
		INC	R6
;
		ADD	#08
BIGBB_OAMST2040
		ADD	R2
		STW	(R11)			; Ｘポジション
		INC	R11
		INC	R11
;
		GETBS
		INC	R14
		ADD	R3
		STW	(R11)			; Ｙポジション
		INC	R11
		INC	R11
;
		GETB
		INC	R14
		GETBH
		INC	R14
		DEC	R4
		BMI	BIGBB_OAMST2060		; 反転？ [no->BIGBB_OAMST2060]
		INC	R4
;
		XOR	R5
BIGBB_OAMST2060
		STW	(R11)
		INC	R11
		INC	R11
;
		FROM	R6
		STW	(R11)
		INC	R11
;
		LOOP
		INC	R11
;
		IWT	R15,#BIGBB_OAMSET_E
		NOP
;
;
;----------------------------------------------------------------
;-	アトミックプチプチＯＡＭセット				-
;-		in :						-
;-			R1 <- 角度				-
;-			R4 <- データバンク			-
;-			R5 <- データアドレス			-
;-			R6 <- ENCHPT				-
;-			R7 <- データサイズ			-
;-			R8 <- 半径				-
;-			CWORK0 <- 横倍率			-
;-			CWORK1 <- 縦倍率			-
;-			CWORK2 <- 足ズームフラグ		-
;-			CWORK8 <- Ｘポジション			-
;-			CWORK9 <- Ｙポジション			-
;----------------------------------------------------------------
PUCHAOAMSET	EQU	$
;
		CACHE
;
		IBT	R0,#BANK LCOS
		ROMB
		IWT	R0,#0C0H
		ADD	R1
		TO	R11
		LOB
		IWT	R0,#LCOS
		TO	R14
		ADD	R11			; Cos Data Address Set !!
		IWT	R3,#LSIN
		GETBS
		FROM	R3
		TO	R14
		ADD	R11			; Sin Data Address Set !!
		ADD	R0
		TO	R2
		ADD	R0			; R2 <- Cos Data
		IWT	R11,#LCOS
		GETBS
		FROM	R11
		TO	R14
		ADD	R1			; Cos Data Address Set !!
		ADD	R0
		TO	R3
		ADD	R0			; R3 <- Sin Data
		IWT	R11,#LSIN
		GETBS
		FROM	R11
		TO	R14
		ADD	R1			; Sin Data Address Set !!
		ADD	R0
		ADD	R0
		SMS	CWORK6,R0		; CWORK6 <- Cos Data
		GETBS
		ADD	R0
		ADD	R0
		SMS	CWORK7,R0		; CWORK7 <- Sin Data
;
		FROM	R4
		ROMB				; Data Rom Bank Set !!
		FROM	R7
		UMULT	R6
		TO	R14
		ADD	R5			; Data Rom Address Set !!
;
		LM	R1,CENINDX		; R1 <- 敵インデックス読み込み！！
		mLDW	R7,CENMUKI,R1		; R7 <- 向き
		LMS	R11,COAMIDX		; R11 <- ＯＡＭインデックスの読み込み！！
;
		LMS	R6,CWORK0		; 横倍率読み込み！！
		FROM	R8
		FMULT
		LOB
		SWAP
		MOVE	R6,R2
		TO	R9
		FMULT				; R9 <- 足の中心Ｘ
		DEC	R7
		BMI	PUCHAFOOT0020		; 右向き？ [no->PUCHAFOOT0020]
		INC	R7
;
		WITH	R9
		NOT
		INC	R9			; R9 <- 足の中心Ｘ
PUCHAFOOT0020
		LMS	R6,CWORK1		; 縦倍率読み込み！！
		FROM	R8
		FMULT
		LOB
		MOVE	R5,R0
		SWAP
		MOVE	R6,R3
		FMULT
		TO	R10
		SUB	R5			; R10 <- 足の中心Ｙ
;
		LMS	R2,CWORK6		; R2 <- Cos Data
		LMS	R3,CWORK7		; R3 <- Sin Data
;
		GETB
		INC	R14
		TO	R6
		SWAP
		MOVE	R5,R6
		LMS	R8,CWORK2		; 足ズームフラグ読み込み！！
		DEC	R8
		BMI	PUCHAFOOT0040		; 足ズーム？ [no->PUCHAFOOT0040]
		INC	R8
;
		LMS	R0,CWORK0		; 横倍率読み込み！！
		FMULT
		LOB
		TO	R6
		SWAP
PUCHAFOOT0040
		FROM	R2
		FMULT
		MOVE	R4,R0
		DEC	R7
		BMI	PUCHAFOOT0050		; 右向き？ [no->PUCHAFOOT0050]
		INC	R7
;
		WITH	R4
		NOT
		INC	R4
PUCHAFOOT0050
		MOVE	R6,R5
		DEC	R8
		BMI	PUCHAFOOT0060		; 足ズーム？ [no->PUCHAFOOT0060]
		INC	R8
;
		LMS	R0,CWORK1		; 縦倍率読み込み！！
		FMULT
		LOB
		TO	R6
		SWAP
PUCHAFOOT0060
		FROM	R3
		FMULT
		MOVE	R5,R0
;
		SMS	CWORK3,R4		; 爪先中心Ｘ
		SMS	CWORK4,R5		; 爪先中心Ｙ
;
		LMS	R0,CWORK8
		ADD	R9
		TO	R4
		ADD	R4
		LMS	R0,CWORK9
		ADD	R10
		TO	R5
		ADD	R5
;
		pJSR	04			; ＯＡＭセット！！
;
		GETB
		INC	R14
		TO	R6
		SWAP
		MOVE	R5,R6
		LMS	R8,CWORK2		; 足ズームフラグ読み込み！！
		DEC	R8
		BMI	PUCHAFOOT0140		; 足ズーム？ [no->PUCHAFOOT0140]
		INC	R8
;
		LMS	R0,CWORK0		; 横倍率読み込み！！
		FMULT
		LOB
		TO	R6
		SWAP
PUCHAFOOT0140
		FROM	R2
		FMULT
		MOVE	R4,R0
		DEC	R7
		BMI	PUCHAFOOT0150		; 右向き？ [no->PUCHAFOOT0150]
		INC	R7
;
		WITH	R4
		NOT
		INC	R4
PUCHAFOOT0150
		MOVE	R6,R5
		DEC	R8
		BMI	PUCHAFOOT0160		; 足ズーム？ [no->PUCHAFOOT0160]
		INC	R8
;
		LMS	R0,CWORK1		; 縦倍率読み込み！！
		FMULT
		LOB
		TO	R6
		SWAP
PUCHAFOOT0160
		FROM	R3
		FMULT
		MOVE	R5,R0
;
		SMS	CWORK5,R4		; 踵中心Ｘ
		SMS	CWORK6,R5		; 踵中心Ｙ
;
		LMS	R0,CWORK8
		ADD	R9
		TO	R4
		ADD	R4
		LMS	R0,CWORK9
		ADD	R10
		TO	R5
		ADD	R5
;
		pJSR	04			; ＯＡＭセット！！
;
		WITH	R9
		NOT
		INC	R9			; R9 <- 足の中心Ｘ
		LMS	R0,CWORK3		; 踵中心Ｘ
		TO	R4
		NOT
		INC	R4
		LMS	R5,CWORK4		; 踵中心Ｙ
		LMS	R0,CWORK8
		ADD	R9
		TO	R4
		ADD	R4
		LMS	R0,CWORK9
		ADD	R10
		TO	R5
		ADD	R5
;
		pJSR	04			; ＯＡＭセット！！
;
		LMS	R0,CWORK5		; 踵中心Ｘ
		TO	R4
		NOT
		INC	R4
		LMS	R5,CWORK6		; 踵中心Ｙ
		LMS	R0,CWORK8
		ADD	R9
		TO	R4
		ADD	R4
		LMS	R0,CWORK9
		ADD	R10
		TO	R5
		ADD	R5
;
		pJSR	04			; ＯＡＭセット！！
;
		mLDW0	CENCHPT,R1
		SUB	#09H
		BCS	PUCHAFACE2		; [->PUCHAFACE2]
		NOP
;
PUCHAFACE
		GETB
		INC	R14
		SWAP
		LMS	R6,CWORK0
		TO	R9
		FMULT				; R9 <- 顔中心Ｘ
		DEC	R7
		BMI	PUCHAFACE0040		; 右向き？ [no->PUCHAFACE0040]
		INC	R7
;
		WITH	R9
		NOT
		INC	R9			; R9 <- 顔中心Ｘ
PUCHAFACE0040
		GETB
		INC	R14
		SWAP
		LMS	R6,CWORK1
		TO	R10
		FMULT				; R10 <- 顔中心Ｙ
;
		LMS	R0,CWORK8
		TO	R4
		ADD	R9
		LMS	R0,CWORK9
		TO	R5
		ADD	R10
;
		pJSR	08			; ＯＡＭセット！！
;
PUCHACHEEK
		GETB
		INC	R14
		SWAP
		LMS	R6,CWORK0
		TO	R9
		FMULT				; R9 <- 頬中心Ｘ
		DEC	R7
		BMI	PUCHACHEEK0040		; 右向き？ [no->PUCHACHEEK0040]
		INC	R7
;
		WITH	R9
		NOT
		INC	R9			; R9 <- 頬中心Ｘ
PUCHACHEEK0040
		GETB
		INC	R14
		SWAP
		LMS	R6,CWORK1
		TO	R10
		FMULT				; R10 <- 頬中心Ｙ
;
		LMS	R0,CWORK8
		TO	R4
		ADD	R9
		LMS	R0,CWORK9
		TO	R5
		ADD	R10
;
		pJSR	04			; ＯＡＭセット！！
;
		SMS	COAMIDX,R11		; ＯＡＭインデックスのセーブ！！
;
		STOP
		NOP
;
PUCHAFACE2
		GETB
		INC	R14
		SWAP
		LMS	R6,CWORK0
		TO	R9
		FMULT				; R9 <- 顔中心Ｘ
		DEC	R7
		BMI	PUCHAFACE20040		; 右向き？ [no->PUCHAFACE20040]
		INC	R7
;
		WITH	R9
		NOT
		INC	R9			; R9 <- 顔中心Ｘ
PUCHAFACE20040
		GETB
		INC	R14
		SWAP
		LMS	R6,CWORK1
		TO	R10
		FMULT				; R10 <- 顔中心Ｙ
;
		LMS	R0,CWORK8
		TO	R4
		ADD	R9
		LMS	R0,CWORK9
		TO	R5
		ADD	R10
;
		pJSR	16			; ＯＡＭセット！！
;
;
		SMS	COAMIDX,R11		; ＯＡＭインデックスのセーブ！！
;
		STOP
		NOP
;
;
;----------------------------------------------------------------
;-	アトミックプチプチ用ＯＡＭセット			-
;-		in :						-
;-			R0   <- Ｆｒｅｅ			-
;-			R1   <- 敵インデックス			-
;-			R2   <- 使用せず			-
;-			R3   <- 使用せず			-
;-			R4   <- 基準Ｘ				-
;-			R5   <- 基準Ｙ				-
;-			R6   <- Ｆｒｅｅ			-
;-			R7   <- 向き				-
;-			R8   <- Ｆｒｅｅ			-
;-			R9   <- 使用せず			-
;-			R10  <- 使用せず			-
;-			R11  <- ＯＡＭアドレス			-
;-			R12  <- 個数				-
;-			R13  <- Ｆｒｅｅ			-
;-			R14  <- ＲＯＭアドレス			-
;-			RTS0 <- 戻り番地			-
;----------------------------------------------------------------
PUCHAOAM_DX
;
		CACHE
;
		MOVE	R13,R15
;---- Loop Start !!
		TO	R6
		GETB
		INC	R14
		IBT	R8,#08-1
		FROM	R6
		AND	#02
		BEQ	PUCHAOAM_DX0080		; [->PUCHAOAM_DX0080]
		NOP
;
		IBT	R8,#16-1
PUCHAOAM_DX0080
		GETBS
		INC	R14
		DEC	R7
		BMI	PUCHAOAM_DX00A0		; 右向き？ [no->PUCHAOAM_DX00A0]
		INC	R7
;
		NOT
		SUB	R8
PUCHAOAM_DX00A0
		ADD	R4
		STW	(R11)			; Ｘポジション書き込み！！
		INC	R11
		INC	R11
		GETBS
		INC	R14
		ADD	R5
		STW	(R11)			; Ｙポジション書き込み！！
		INC	R11
		INC	R11
		GETB
		INC	R14
		IWT	R8,#04000H
		GETBH
		INC	R14
		DEC	R7
		BMI	PUCHAOAM_DX00C0		; 右向き？ [no->PUCHAOAM_DX00C0]
		INC	R7
;
		XOR	R8
PUCHAOAM_DX00C0
		STW	(R11)			; キャラクター書き込み！！
		INC	R11
		INC	R11
		FROM	R6
		STW	(R11)
		INC	R11
;
		LOOP
		INC	R11
;
		LMS	R15,RTS0
		NOP
;
;
;****************************************************************
;*	コインムーチョのＯＡＭセット				*
;*		in :						*
;*			R0 <- Data Bank				*
;*			R1 <- Data Address			*
;****************************************************************
COMCHOOAM	EQU	$
		ROMB
;
		LM	R2,CENINDX		; R2 <- 敵インデックスの読み込み！！
		mLDW0	CENMOD2,R2
		HIB
		LSR
		LSR
		TO	R12
		LSR				; R12 <- オブジェの数！！
		mLDW0	CENCHPT,R2
		MULT	R12
		MULT	#05
		TO	R14
		ADD	R1
;
		mLDW	R3,CENMUKI,R2		; R3 <- 向きの読み込み！！
		FROM	R3
		LSR
		LSR
		ROR
		TO	R4
		LSR
		mLDW0	CENCLOR,R2
		SWAP
		TO	R4
		XOR	R4			; R4 <- アトリビュートの読み込み！！
		mLDW	R5,CENDSXL,R2		; R5 <- Ｘポジションの読み込み！！
		mLDW	R6,CENDSYL,R2		; R6 <- Ｙポジションの読み込み！！
		mLDW	R7,CENOAML,R2		; R7 <- ＯＡＭインデックスの読み込み！！
		FROM	R4
		ADD	R4
		ROL
		AND	#01
		TO	R8
		ADD	R0			; R8 <- 縦向き！！
;
		CACHE
;
		MOVE	R13,R15
;
		TO	R1
		GETB				; R1 <- OAMSUB データの読み込み！！
		INC	R14
;
		GETBS
		INC	R14
;
		DEC	R3
		BMI	COMCHOOAM0080		; フリップ？ [no->COMCHOOAM0080]
		INC	R3
;
		NOT
		INC	R0
		DEC	R1
		BPL	COMCHOOAM0080		; 小型？ [no->COMCHOOAM0080]
		INC	R1
;
		ADD	#08
COMCHOOAM0080
		ADD	R5
		STW	(R7)
		INC	R7
		INC	R7
;
		GETBS
		INC	R14
;
		DEC	R8
		BMI	COMCHOOAM00A0		; フリップ？ [no->COMCHOOAM00A0]
		INC	R8
;
		NOT
		INC	R0
		DEC	R1
		BPL	COMCHOOAM00A0		; 小型？ [no->COMCHOOAM00A0]
		INC	R1
;
		ADD	#08
COMCHOOAM00A0
		ADD	R6
		STW	(R7)
		INC	R7
		INC	R7
;
		GETB
		INC	R14
		GETBH
		INC	R14
;
		XOR	R4
		STW	(R7)
		INC	R7
		INC	R7
;
		FROM	R1
		STW	(R7)
		INC	R7
;
		LOOP
		INC	R7
;
		STOP
		NOP
;
;
;************************************************************************
;*	マスクウインド							*
;*		in :							*
;*		    R0 <- ウインドタイプ				*
;*		    R1 <- 中心Ｘ					*
;*		    R2 <- 中心Ｙ					*
;************************************************************************
windowline	EQU	000D2H
root2		EQU	0022
cos45		EQU	0011
cmp01		EQU	(16-cos45)*010H
cmp02		EQU	(16+cos45)*010H
cmp03		EQU	(16-cos45)
cmp04		EQU	(16+cos45)
wopen		EQU	000FFH
wclose		EQU	0FF00H
;
MASKWINDOW	EQU	$
		SMS	CWORK1,R1
		SMS	CWORK2,R2
		IWT	R3,#WINDBF
		IWT	R4,#BANK CIRCLE_W
		FROM	R4
		ROMB
		IWT	R4,#windowline
		IWT	R5,#CIRCLE_W
		SUB	#00
		BEQ	MASKWINDOW1		; ウインドタイプ１？ [yes->MASKWINDOW1]
		NOP
;
		IWT	R15,#MASKWINDOW2
		NOP
;
MASKWINDOW1	EQU	$		; ウインドタイプ１
;
		CACHE
;
		IBT	R0,#010H
		FROM	R2
		TO	R12
		SUB	R0
		BPL	MASKWINDOW10020		; [->MASKWINDOW10020]
		NOP
;
		IBT	R2,#00
;
		FROM	R12
		TO	R6
		NOT
		INC	R6
		IBT	R0,#020H
		FROM	R6
		SUB	R0
		BPL	MASKWINDOW10010		; [->MASKWINDOW10010]
		NOP
;
		FROM	R6
		ADD	R6
		ADD	R0
		ADD	R0
		TO	R6
		ADD	R0
		IWT	R0,#cmp01
		FROM	R6
		SUB	R0
		BMI	MASKWINDOW10046		; [->MASKWINDOW10046]
		NOP
;
		FROM	R12
		NOT
		INC	R0
		IWT	R9,#10H-cos45+1
		SUB	R9
		FROM	R1
		SUB	R0
		TO	R10
		SUB	#cos45
;
		IWT	R0,#cmp02
		FROM	R6
		SUB	R0
		BMI	MASKWINDOW10046		; [->MASKWINDOW10046]
		NOP
;
		FROM	R12
		NOT
		INC	R0
		IWT	R9,#10H+cos45
		SUB	R9
		ADD	R1
		TO	R5
		ADD	#cos45
		MOVE	R6,R10
		IWT	R15,#MASKWINDOW10120	; [->MASKWINDOW10120]
		NOP
;
MASKWINDOW10010
		IBT	R0,#cmp03
		FROM	R6
		SUB	R0
		FROM	R1
		SUB	R0
		TO	R8
		SUB	#cos45
		IBT	R0,#cmp04
		FROM	R6
		SUB	R0
		FROM	R1
		SUB	R0
		TO	R5
		ADD	#cos45
		MOVE	R6,R8
		IWT	R15,#MASKWINDOW10120	; [->MASKWINDOW10120]
		NOP
;
MASKWINDOW10020
		BEQ	MASKWINDOW10040		; [->MASKWINDOW10040]
		NOP
;
		IBT	R11,#00
		IWT	R0,#wopen
		MOVE	R13,R15
		FROM	R11
		CMP	R4
		BMI	MASKWINDOW10030		; 終り？ [no->MASKWINDOW10030]
		NOP
;
		IWT	R15,#MASKWINDOW1FFFF	; [->MASKWINDOW1FFFF]
		NOP
;
MASKWINDOW10030
		STW	(R3)
		INC	R3
		INC	R3
		INC	R3
		INC	R3
		LOOP
		INC	R11
MASKWINDOW10040
		IBT	R6,#00
		IBT	R0,#010H
		WITH	R2
		SUB	R0
MASKWINDOW10044
		FROM	R2
		SUB	R4
		BMI	MASKWINDOW10046		; 終り？ [no->MASKWINDOW10046]
		NOP
;
		IWT	R15,#MASKWINDOW1FFFF	; [->MASKWINDOW1FFFF]
		NOP
;
MASKWINDOW10046
		FROM	R5
		TO	R14
		ADD	R6
		GETB
		LSR
		LSR
		LSR
		TO	R9
		LSR
		IWT	R0,#cmp01
		FROM	R6
		SUB	R0
		BMI	MASKWINDOW10050		; [->MASKWINDOW10050]
		NOP
;
		IWT	R0,#cmp02
		FROM	R6
		SUB	R0
		BPL	MASKWINDOW10100		; [->MASKWINDOW10100]
		NOP
;
		BRA	MASKWINDOW10052		; [->MASKWINDOW10052]
		DEC	R10
;		
MASKWINDOW10050
		FROM	R1
		TO	R10
		SUB	R9
MASKWINDOW10052
		BPL	MASKWINDOW10058		; [->MASKWINDOW10058]
		NOP
;
		IWT	R0,#0FF00H
		BRA	MASKWINDOW10060		; [->MASKWINDOW10060]
		NOP
;
MASKWINDOW10058
		FROM	R10
		HIB
		BEQ	MASKWINDOW10060		; [->MASKWINDOW10060]
		FROM	R10
;
		IWT	R0,#wopen
		BRA	MASKWINDOW10078		; [->MASKWINDOW10078]
		NOP
;
MASKWINDOW10060
		TO	R8
		SWAP
;
		FROM	R1
		TO	R7
		ADD	R9
		BPL	MASKWINDOW10068		; [->MASKWINDOW10068]
		FROM	R7
;
		IWT	R0,#wopen
		BRA	MASKWINDOW10078		; [->MASKWINDOW10078]
		NOP
;
MASKWINDOW10068
		HIB
		BEQ	MASKWINDOW10070		; [->MASKWINDOW10070]
		NOP
;
		IWT	R7,#000FFH
MASKWINDOW10070
		WITH	R7
		SWAP
;
		MERGE
MASKWINDOW10078
		STW	(R3)
		INC	R3
		INC	R3
		INC	R3
		INC	R3
		IBT	R0,#010H
		TO	R6
		ADD	R6
		BRA	MASKWINDOW10044		; [->MASKWINDOW10044]
		INC	R2
;
MASKWINDOW10100
		IWT	R0,#cos45
		TO	R5
		ADD	R1
		IWT	R0,#cos45*3
		FROM	R1
		TO	R6
		SUB	R0
MASKWINDOW10120
		FROM	R2
		SUB	R4
		BPL	MASKWINDOW1FFFF		; 終り？ [yes->MASKWINDOW1FFFF]
		NOP
;
		FROM	R6
		HIB
		BPL	MASKWINDOW10140		; [->MASKWINDOW10140]
		NOP
;
		IWT	R0,#0FF00H
		BRA	MASKWINDOW10148		; [->MASKWINDOW10148]
		NOP
;
MASKWINDOW10140
		BEQ	MASKWINDOW10148		; [->MASKWINDOW10148]
		FROM	R6
;
		IWT	R0,#wopen
		BRA	MASKWINDOW10160		; [->MASKWINDOW10160]
		NOP
;
MASKWINDOW10148
		TO	R8
		SWAP
;
		FROM	R5
		HIB
		BPL	MASKWINDOW10150		; [->MASKWINDOW10150]
		NOP
;
		IWT	R0,#wopen
		BRA	MASKWINDOW10160		; [->MASKWINDOW10160]
		NOP
;
MASKWINDOW10150
		BEQ	MASKWINDOW10158		; [->MASKWINDOW10158}
		FROM	R5
;
		IWT	R0,#000FFH
MASKWINDOW10158
		TO	R7
		SWAP
		MERGE
MASKWINDOW10160
		STW	(R3)
		INC	R3
		INC	R3
		INC	R3
		INC	R3
		DEC	R5
		DEC	R6
		BRA	MASKWINDOW10120		; [->MASKWINDOW10120]
		INC	R2
;
MASKWINDOW1FFFF
		IWT	R15,#MASKWINDOW3
		NOP
;
;
MASKWINDOW2				; ウインドタイプ２
;
		CACHE
;
		IBT	R0,#010H
		ADD	R2
		BEQ	MASKWINDOW20040		; 全開？ [yes->MASKWINDOW20040]
		NOP
		BPL	MASKWINDOW20050		; 全開？ [no->MASKWINDOW20050]
		NOP
;
MASKWINDOW20040
		IWT	R12,#windowline
		IWT	R15,#MASKWINDOW2FF10	; [->MASKWINDOW2FF10]
		NOP
;
MASKWINDOW20050
		IWT	R0,#cos45
		TO	R11
		ADD	R2
		SMS	CWORK3,R11		; CWORK3 <- 右Ｙポジション！！
		BPL	MASKWINDOW20054		; [->MASKWINDOW20054]
		NOP
;
		IWT	R0,#16-cos45
		ADD	R11
		ADD	R0
		ADD	R0
		ADD	R0
		TO	R6
		ADD	R0
		IBT	R2,#00
		IWT	R15,#MASKWINDOW20100	; [->MASKWINDOW20100]
		NOP
;
MASKWINDOW20054
		IWT	R0,#cos45
		ADD	R1
		TO	R9			; R9 <- 初期右ポジション！！
		ADD	R11
;
		IWT	R0,#cos45
		FROM	R2
		TO	R11
		SUB	R0
		SMS	CWORK4,R11		; CWORK4 <- 左Ｙポジション！！
		BPL	MASKWINDOW20058		; [->MASKWINDOW20058]
		NOP
;
		IWT	R0,#16+cos45
		ADD	R11
		ADD	R0
		ADD	R0
		ADD	R0
		TO	R6
		ADD	R0
		BRA	MASKWINDOW20061		; [->MASKWINDOW20061]
		NOP
;
MASKWINDOW20058
		IWT	R0,#cos45
		FROM	R1
		SUB	R0
		TO	R10			; R10 <- 初期左ポジション！！
		ADD	R11
MASKWINDOW20060
		IWT	R6,#(16+cos45-1)*10H
MASKWINDOW20061
		IBT	R2,#00
MASKWINDOW20062
		FROM	R2
		SUB	R4
		BMI	MASKWINDOW20064		; 終り？ [no->MASKWINDOW20064]
		NOP
;
		IWT	R15,#MASKWINDOW1FFFF	; [->MASKWINDOW1FFFF]
		NOP
;
MASKWINDOW20064
		LMS	R0,CWORK4
		FROM	R2
		SUB	R0
		BMI	MASKWINDOW20066		; [->MASKWINDOW20066]
		NOP
;
		LMS	R0,CWORK3
		FROM	R2
		SUB	R0
		BPL	MASKWINDOW20100		; [->MASKWINDOW20100]
		NOP
;
		FROM	R6
		TO	R14
		ADD	R5
		IBT	R0,#010H
		WITH	R6
		SUB	R0
		GETB
		LSR
		LSR
		LSR
		LSR
		SMS	CWORK5,R0
		FROM	R1
		TO	R10
		SUB	R0
MASKWINDOW20066
		FROM	R10
		HIB
		BEQ	MASKWINDOW20070		; 画面内？ [yes->MASKWINDOW20070]
		FROM	R10
		BPL	MASKWINDOW20068		; 左オーバー？ [no->MASKWINDOW20068]
		NOP
;
		IWT	R0,#00
		BRA	MASKWINDOW20070		; [->MASKWINDOW20070]
		NOP
;
MASKWINDOW20068
		IWT	R0,#wopen
		BRA	MASKWINDOW20080		; [->MASKWINDOW20080]
		NOP
;
MASKWINDOW20070
		TO	R8
		SWAP
;
		FROM	R9
		HIB
		BEQ	MASKWINDOW20078		; 画面内？ [yes->MASKWINDOW20078]
		FROM	R9
		BMI	MASKWINDOW20068		; 左オーバー？ [yes->MASKWINDOW20068]
		NOP
;
		IWT	R0,#000FFH
MASKWINDOW20078
		TO	R7
		SWAP
;
		MERGE
MASKWINDOW20080
		STW	(R3)
		INC	R3
		INC	R3
		INC	R3
		INC	R3
		DEC	R9
		DEC	R10
		BRA	MASKWINDOW20062		; [->MASKWINDOW20062]
		INC	R2
;
MASKWINDOW20100
		FROM	R2
		SUB	R4
		BPL	MASKWINDOW3		; 終り？ [yes->MASKWINDOW3]
		NOP
;
		FROM	R6
		TO	R14
		ADD	R5
		GETB
		LSR
		LSR
		LSR
		TO	R11
		LSR
		FROM	R1
		SUB	R11
		FROM	R1
		TO	R10
		SUB	R11
		BPL	MASKWINDOW20170		; [->MASKWINDOW20170]
		FROM	R10
;
		IBT	R0,#00
		BRA	MASKWINDOW20180		; [->MASKWINDOW20180]
		NOP
;
MASKWINDOW20170
		HIB
		BEQ	MASKWINDOW20180		; [->MASKWINDOW20180]
		FROM	R10
;
		IWT	R0,#wopen
		BRA	MASKWINDOW201B0		; [->MASKWINDOW201B0]
		NOP
;
MASKWINDOW20180
		TO	R8
		SWAP
;
		FROM	R1
		TO	R10
		ADD	R11
		BPL	MASKWINDOW20190		; [->MASKWINDOW20190]
		FROM	R10
;
		IWT	R0,#wopen
		BRA	MASKWINDOW201B0		; [->MASKWINDOW201B0]
		NOP
;
MASKWINDOW20190
		HIB
		BEQ	MASKWINDOW201A0		; [->MASKWINDOW201A0]
		FROM	R10
;
		IBT	R0,#0FFH
MASKWINDOW201A0
		TO	R7
		SWAP
;
		MERGE
MASKWINDOW201B0
		STW	(R3)
		INC	R3
		INC	R3
		INC	R3
		INC	R3
;
		IBT	R0,#010H
		WITH	R6
		SUB	R0
		BPL	MASKWINDOW20100		; [->MASKWINDOW20100]
		INC	R2
;
		FROM	R4
		TO	R12
		SUB	R2
		BEQ	MASKWINDOW3		; [->MASKWINDOW3]
		NOP
		BMI	MASKWINDOW3		; [->MASKWINDOW3]
		NOP
;
		BRA	MASKWINDOW2FF10		; [->MASKWINDOW2FF10]
		NOP
;
MASKWINDOW2FF00
		IWT	R12,#windowline
MASKWINDOW2FF10
		IWT	R0,#wopen
		MOVE	R13,R15
		STW	(R3)
		INC	R3
		INC	R3
		INC	R3
		LOOP
		INC	R3
;
MASKWINDOW3				; ウインド２
;
		CACHE
;
		LMS	R1,CWORK1
		LMS	R2,CWORK2
		IWT	R3,#WINDBF+2
		IWT	R12,#windowline
		IBT	R0,#root2
		ADD	R1
		TO	R1
		ADD	R2
		BPL	MASKWINDOW30020		; [->MASKWINDOW30020]
		NOP
;
		IWT	R0,#wclose
		BRA	MASKWINDOW32010		; [->MASKWINDOW32010]
		NOP
;
MASKWINDOW30020
		IWT	R0,#windowline+0100H
		FROM	R1
		SUB	R0
		BPL	MASKWINDOW32000		; [->MASKWINDOW32000]
		NOP
;
		IWT	R7,#0FF00H
		MOVE	R13,R15
		FROM	R1
		SUB	#00
		BPL	MASKWINDOW30080		; [->MASKWINDOW30080]
		FROM	R1
;
		IWT	R0,#wclose
		BRA	MASKWINDOW30098		; [->MASKWINDOW30098]
		NOP
;
MASKWINDOW30080
		HIB
		BEQ	MASKWINDOW30090		; [->MASKWINDOW30090]
		NOP
;
		IWT	R0,#wopen
		BRA	MASKWINDOW30098		; [->MASKWINDOW30098]
		NOP
;
MASKWINDOW30090
		FROM	R1
		OR	R7
MASKWINDOW30098
		STW	(R3)
		INC	R3
		INC	R3
		INC	R3
		INC	R3
		LOOP
		DEC	R1
;
		STOP
		NOP
;
MASKWINDOW32000
		IWT	R0,#wopen
MASKWINDOW32010
		MOVE	R13,R15
		STW	(R3)
		INC	R3
		INC	R3
		INC	R3
		LOOP
		INC	R3
;
		STOP
		NOP
;
;
;
;
;
;
CIRCLE_W	EQU	$
		HEX	16,1F,27,2D,32,37,3B,3F
		HEX	43,46,4A,4D,50,53,56,59
		HEX	5B,5E,60,63,65,67,6A,6C
		HEX	6E,70,72,74,76,78,7A,7B
		HEX	7D,7F,81,82,84,86,87,89
		HEX	8A,8C,8E,8F,90,92,93,95
		HEX	96,97,99,9A,9B,9D,9E,9F
		HEX	A1,A2,A3,A4,A5,A7,A8,A9
		HEX	AA,AB,AC,AD,AE,AF,B0,B1
		HEX	B3,B4,B5,B6,B7,B7,B8,B9
		HEX	BA,BB,BC,BD,BE,BF,C0,C1
		HEX	C2,C2,C3,C4,C5,C6,C7,C7
		HEX	C8,C9,CA,CA,CB,CC,CD,CD
		HEX	CE,CF,D0,D0,D1,D2,D2,D3
		HEX	D4,D5,D5,D6,D6,D7,D8,D8
		HEX	D9,DA,DA,DB,DB,DC,DD,DD
		HEX	DE,DE,DF,DF,E0,E1,E1,E2
		HEX	E2,E3,E3,E4,E4,E5,E5,E6
		HEX	E6,E7,E7,E8,E8,E9,E9,E9
		HEX	EA,EA,EB,EB,EC,EC,EC,ED
		HEX	ED,EE,EE,EE,EF,EF,F0,F0
		HEX	F0,F1,F1,F1,F2,F2,F2,F3
		HEX	F3,F3,F4,F4,F4,F5,F5,F5
		HEX	F5,F6,F6,F6,F7,F7,F7,F7
		HEX	F8,F8,F8,F8,F9,F9,F9,F9
		HEX	FA,FA,FA,FA,FA,FB,FB,FB
		HEX	FB,FB,FC,FC,FC,FC,FC,FC
		HEX	FD,FD,FD,FD,FD,FD,FD,FD
		HEX	FE,FE,FE,FE,FE,FE,FE,FE
		HEX	FE,FF,FF,FF,FF,FF,FF,FF
		HEX	FF,FF,FF,FF,FF,FF,FF,FF
		HEX	FF,FF,FF,FF,FF,FF,FF,FF
		HEX	FF,FF,FF,FF,FF,FF,FF,FF
		HEX	FF,FF,FF,FF,FF,FF,FF,FF
		HEX	FF,FF,FF,FF,FF,FF,FF,FE
		HEX	FE,FE,FE,FE,FE,FE,FE,FE
		HEX	FD,FD,FD,FD,FD,FD,FD,FD
		HEX	FC,FC,FC,FC,FC,FC,FB,FB
		HEX	FB,FB,FB,FA,FA,FA,FA,FA
		HEX	F9,F9,F9,F9,F8,F8,F8,F8
		HEX	F7,F7,F7,F7,F6,F6,F6,F5
		HEX	F5,F5,F5,F4,F4,F4,F3,F3
		HEX	F3,F2,F2,F2,F1,F1,F1,F0
		HEX	F0,F0,EF,EF,EE,EE,EE,ED
		HEX	ED,EC,EC,EC,EB,EB,EA,EA
		HEX	E9,E9,E9,E8,E8,E7,E7,E6
		HEX	E6,E5,E5,E4,E4,E3,E3,E2
		HEX	E2,E1,E1,E0,DF,DF,DE,DE
		HEX	DD,DD,DC,DB,DB,DA,DA,D9
		HEX	D8,D8,D7,D6,D6,D5,D5,D4
		HEX	D3,D2,D2,D1,D0,D0,CF,CE
		HEX	CD,CD,CC,CB,CA,CA,C9,C8
		HEX	C7,C7,C6,C5,C4,C3,C2,C2
		HEX	C1,C0,BF,BE,BD,BC,BB,BA
		HEX	B9,B8,B7,B7,B6,B5,B4,B3
		HEX	B1,B0,AF,AE,AD,AC,AB,AA
		HEX	A9,A8,A7,A5,A4,A3,A2,A1
		HEX	9F,9E,9D,9B,9A,99,97,96
		HEX	95,93,92,90,8F,8E,8C,8A
		HEX	89,87,86,84,82,81,7F,7D
		HEX	7B,7A,78,76,74,72,70,6E
		HEX	6C,6A,67,65,63,60,5E,5B
		HEX	59,56,53,50,4D,4A,46,43
		HEX	3F,3B,37,32,2D,27,1F,16
;
;
;****************************************************************
;*	ゴール文字ＯＡＭ					*
;*		in :						*
;*			R5 <- 文字数				*
;*			R6 <- 倍率（８０Ｈ＝等倍）		*
;*			R9 <- ふわふわインデックス		*
;*			R10 <- ふわふわ倍率（４０Ｈ＝等倍）	*
;****************************************************************
GOALOAM		EQU	$
;
		CACHE
;
		LM	R1,CENINDX
		LM	R2,COAMIDX
		mLDW	R3,CENDSXL,R1
		mLDW	R4,CENDSYL,R1
;
GOALOAM0020
		DEC	R5
		BMI	GOALOAM00F0		; 終り？ [yes->GOALOAM00F0]
		NOP
;
		IWT	R0,#BANK LSIN
		ROMB
		IWT	R0,#LSIN
		TO	R14
		ADD	R9
		GETBS
		ASR
		ASR
		ASR
		ASR
		MULT	R10
		ADD	R0
		ADD	R0
		HIB
		SEX
		TO	R8			; R8 <- 基本Ｙポジション
		ADD	R4
;
		IWT	R0,#BANK GOALCHR0
		ROMB
		IWT	R0,#GOALYPOS
		ADD	R9
		TO	R9
		LOB
GOALOAM0040
;
		IWT	R0,#GOALXPOS
		TO	R14
		ADD	R5
		GETB
		UMULT	R6
		ADD	R0
		HIB
		FROM	R3
		TO	R7			; R7 <- 基本Ｘポジション
		SUB	R0
;
		IWT	R0,#GOALCHRSUU
		TO	R14
		ADD	R5
		TO	R12			; R12 <- ＯＡＭ数！！
		GETB
		IWT	R0,#GOALCHRADD
		ADD	R5
		TO	R14			; R14 <- キャラクタデータアドレス
		ADD	R5
		GETB
		INC	R14
		GETBH
		MOVE	R14,R0
		MOVE	R13,R15
;
		GETBS
		INC	R14
		ADD	R7
		STW	(R2)			; Ｘポジションセット！！
		INC	R2
		INC	R2
;
		GETBS
		INC	R14
		ADD	R8
		STW	(R2)			; Ｙポジションセット！！
		INC	R2
		INC	R2
;
		GETB
		INC	R14
		GETBH
		INC	R14
		STW	(R2)			; キャラクタナンバー＆アトリビュート
		INC	R2
		INC	R2
;
		GETB
		INC	R14
		STW	(R2)			; ＯＡＭＳＵＢ
		INC	R2
		LOOP
		INC	R2
;
		BRA	GOALOAM0020		; [->GOALOAM0020]
		NOP
;
GOALOAM00F0
		SM	COAMIDX,R2		; ＯＡＭインデックスセーブ！！
		STOP
		NOP
;
;
GOALYPOS	EQU	$
		HEX	A0, 10, D0, 40, 00
;
GOALXPOS	EQU	$
		HEX	00, 28, 4E, 72, 98
;
GOALCHRSUU	EQU	$
		BYTE	(GOALCHREND-GOALCHR4)/5
		BYTE	(GOALCHR4-GOALCHR3)/5
		BYTE	(GOALCHR3-GOALCHR2)/5
		BYTE	(GOALCHR2-GOALCHR1)/5
		BYTE	(GOALCHR1-GOALCHR0)/5
;
GOALCHRADD	EQU	$
		WORD	GOALCHR4
		WORD	GOALCHR3
		WORD	GOALCHR2
		WORD	GOALCHR1
		WORD	GOALCHR0
;
GOALCHR0	EQU	$
		BYTE	020H,020H	;[G]
		HEX	BA,37,00
		BYTE	020H,018H
		HEX	BA,37,00
		BYTE	01AH,010H
		HEX	A3,37,00
		BYTE	012H,010H
		HEX	A2,37,00
		BYTE	018H,020H
		HEX	B4,37,00
		BYTE	010H,018H
		HEX	B2,37,00
		BYTE	018H,018H
		HEX	B3,37,00
		BYTE	010H,020H
		HEX	A2,37,00
		BYTE	020H,028H
		HEX	95,37,00
		BYTE	000H,028H
		HEX	BB,37,00
		BYTE	018H,028H
		HEX	94,37,00
		BYTE	010H,028H
		HEX	85,37,00
		BYTE	008H,028H
		HEX	84,37,00
		BYTE	008H,000H
		HEX	96,37,00
		BYTE	010H,000H
		HEX	82,37,02
		BYTE	000H,018H
		HEX	A0,37,02
		BYTE	000H,008H
		HEX	80,37,02
;
GOALCHR1	EQU	$
		BYTE	018H,008H	;[O]
		HEX	80,77,02
		BYTE	010H,020H
		HEX	A2,37,00
		BYTE	000H,028H
		HEX	BB,37,00
		BYTE	020H,028H
		HEX	95,37,00
		BYTE	018H,028H
		HEX	94,37,00
		BYTE	010H,028H
		HEX	85,37,00
		BYTE	008H,028H
		HEX	84,37,00
		BYTE	018H,018H
		HEX	A4,37,02
		BYTE	008H,000H
		HEX	96,37,00
		BYTE	010H,000H
		HEX	82,37,02
		BYTE	000H,008H
		HEX	80,37,02
		BYTE	000H,018H
		HEX	A0,37,02
;
GOALCHR2	EQU	$
		BYTE	00FH,000H	;[A]
		HEX	86,37,00
		BYTE	017H,000H
		HEX	87,37,00
		BYTE	018H,008H
		HEX	88,37,00
		BYTE	018H,020H
		HEX	AB,37,02
		BYTE	018H,010H
		HEX	8B,37,02
		BYTE	008H,008H
		HEX	89,37,02
		BYTE	008H,018H
		HEX	97,37,02
		BYTE	000H,020H
		HEX	A6,37,02
;
GOALCHR3	EQU	$
		BYTE	008H,018H	;[L]
		HEX	B8,37,00
		BYTE	008H,010H
		HEX	B8,37,00
		BYTE	018H,020H
		HEX	A2,37,00
		BYTE	018H,028H
		HEX	85,37,00
		BYTE	020H,028H
		HEX	BD,37,00
		BYTE	020H,020H
		HEX	AD,37,00
		BYTE	010H,010H
		HEX	BA,37,00
		BYTE	010H,018H
		HEX	BA,37,00
		BYTE	008H,000H
		HEX	A9,37,02
		BYTE	008H,020H
		HEX	8E,37,02
		BYTE	000H,020H
		HEX	8D,37,02
;
GOALCHR4	EQU	$
		BYTE	000H,018H	;[!]
		HEX	B8,37,00
		BYTE	000H,010H
		HEX	B8,37,00
		BYTE	008H,010H
		HEX	BA,37,00
		BYTE	008H,018H
		HEX	BA,37,00
		BYTE	000H,020H
		HEX	AE,37,02
		BYTE	000H,000H
		HEX	A9,37,02
;
GOALCHREND	EQU	$
;
;
;****************************************************************
;*	ＯＡＭベタセット					*
;*		in :						*
;*			R0 <- データバンク			*
;*			R5 <- データアドレス			*
;*			R12 <- ＯＡＭ数				*
;****************************************************************
OAMDRCTST	EQU	$
		ROMB
		MOVE	R14,R5
;
		CACHE
;
		LM	R1,CENINDX
		LM	R2,COAMIDX
		mLDW	R3,CENDSXL,R1
		mLDW	R4,CENDSYL,R1
		MOVE	R13,R15
;
		GETBS
		INC	R14
		ADD	R3
		STW	(R2)			; Ｘポジションセット！！
		INC	R2
		INC	R2
		GETBS
		INC	R14
		ADD	R4
		STW	(R2)			; Ｙポジションセット！！
		INC	R2
		INC	R2
		GETB
		INC	R14
		GETBH
		INC	R14
		STW	(R2)			; キャラクタ＆アトリビュートセット！！
		INC	R2
		INC	R2
		GETB
		INC	R14
		STW	(R2)			; ＯＡＭＳＵＢセット！！
		INC	R2
		INC	R2
;
		LOOP
		NOP
;
		SM	COAMIDX,R2
		STOP
		NOP
;
;
;****************************************************************
;*	１ｕｐムーチョのＯＡＭセット				*
;*		in :						*
;*			R0 : データバンク			*
;*			R1 : データアドレス			*
;****************************************************************
MC1UPOAMST	EQU	$
		ROMB
;
		LM	R2,CENINDX		; R2 <- 敵インデックスの読み込み！！
		mLDW0	CENMOD2,R2
		HIB
		LSR
		LSR
		TO	R12
		LSR				; R12 <- オブジェの数！！
		mLDW0	CENCHPT,R2
		MULT	R12
		MULT	#05
		TO	R14
		ADD	R1
;
		mLDW	R3,CENMUKI,R2		; R3 <- 向きの読み込み！！
		FROM	R3
		LSR
		LSR
		ROR
		TO	R4
		LSR				; R4 <- Ｈフリップフラグ！！
		mLDW	R5,CENDSXL,R2		; R5 <- Ｘポジションの読み込み！！
		mLDW	R6,CENDSYL,R2		; R6 <- Ｙポジションの読み込み！！
		mLDW	R7,CENOAML,R2		; R7 <- ＯＡＭインデックスの読み込み！！
		mLDW0	CENCLOR,R2
		TO	R8
		SWAP				; R8 <- アトリビュートの読み込み！！
		IWT	R0,#1100111111111111B
		AND	R8
		TO	R4
		XOR	R4
		IWT	R0,#0011000000000000B
		TO	R8
		AND	R8
;
		IBT	R9,#05
;
		CACHE
;
		MOVE	R13,R15
;
		TO	R1
		GETB				; R1 <- ＯＡＭＳＵＢデータの読み込み！！
		INC	R14
;
		GETBS
		INC	R14
		DEC	R9
		BMI	MC1UPOAMST0080		; フリップ？ [no->MC1UPOAMST0080]
		INC	R9
;
		DEC	R3
		BMI	MC1UPOAMST0080		; フリップ？ [no->MC1UPOAMST0080]
		INC	R3
;
		NOT
		INC	R0
		DEC	R1
		BPL	MC1UPOAMST0080		; 小型？ [no->MC1UPOAMST0080]
		INC	R1
;
		ADD	#08
MC1UPOAMST0080
		ADD	R5
		STW	(R7)			; Ｘポジション
		INC	R7
		INC	R7
;
		GETBS
		INC	R14
		ADD	R6
		STW	(R7)			; Ｙポジション
		INC	R7
		INC	R7
;
		GETB
		INC	R14
		GETBH
		INC	R14
		DEC	R9
		BMI	MC1UPOAMST00A0		; フリップ？ [no->MC1UPOAMST00A0]
		INC	R9
;
		XOR	R4
MC1UPOAMST00A0
		XOR	R8
		STW	(R7)			; キャラクタ＆アトリビュート
		INC	R7
		INC	R7
;
		FROM	R1
		STW	(R7)			; ＯＡＭＳＵＢ
		INC	R7
		INC	R7
		LOOP
		DEC	R9
;
		STOP
		NOP
;
;
;----------------------------------------------------------------
;-	現存する敵のチェック					-
;-		out : R11 <- 敵がいる時   （正）		-
;-			     敵がいない時 （負）		-
;----------------------------------------------------------------
ENEMYSEARCH	EQU	$
;
		CACHE
;
		IWT	R1,#CENMODE
		IWT	R2,#CENMOD1
		IWT	R3,#0110000000000000B
		IBT	R4,#04
		IBT	R11,#00
		IBT	R12,#CENNO
		MOVE	R13,R15
;
		LDW	(R1)
		SUB	#00
		BEQ	ENEMYSEARCH0080		; 存在する？ [no->ENEMYSEARCH0080]
		NOP
;
		LDW	(R2)
		AND	R3
		BEQ	ENEMYSEARCH00F0		; 敵？ [yes->ENEMYSEARCH00F0]
		NOP
;
ENEMYSEARCH0080
		WITH	R1
		ADD	R4
		WITH	R2
		ADD	R4
		LOOP
		NOP
;
		DEC	R11
ENEMYSEARCH00F0
		STOP
		NOP
;
;
;
;
;
;
;
;
;
		mEND_NOP
;
		END
;
;
