;************************************************************************
;*									*
;*	title name	: "yossy"					*
;*	proccess	: enemy sub.1					*
;*	file name	: ys_babym					*
;*									*
;************************************************************************
;
;
		SALL
;
		include		ys_header.inc
		include		ys_unit.h
		include		ys_pld.h
		include		ys_ename.h
		include		../union/ys_bgcheck.h
;
		XALL
;
;------------------------------------------------------------------------
;-		global symbol						-
;------------------------------------------------------------------------
		GLB	BABYMIN
;
		GLB	BABYMMV
;
		GLB	BABYMNS
;
		GLB	BABYM_CHR_TR2
;
		GLB	BABYM_RMODE00
		GLB	BABYM_RMODE10
		GLB	BABYM_RMODE20
		GLB	BABYM_RMODE38
		GLB	BABYM_RMODE40
		GLB	BABYM_RMODE50
		GLB	BABYM_RMODE51
		GLB	BABYM_RMODE52
		GLB	BABYM_RMODE60
		GLB	BABYM_RMODE61
		GLB	BABYM_RMODE70
		GLB	BABYM_RMODE71
		GLB	BABYM_RMODE80
		GLB	BABYM_RMODE90
		GLB	BABYM_RMODE91
;
		GLB	B_SP_RMODE20
;
		GLB	BABYM_PLCHECK
		GLB	BABYM_MDCHECK
		GLB	BABYM_SHABON
		GLB	BABYM_SHABON2
;
		GLB	BABYM_SHABN_BRK
		GLB	BABYM_SHABN_C2
		GLB	BABYM_SHABN_C3
		GLB	BABYM_SHABN_C4
		GLB	BABYM_SHABN_C5
		GLB	BABYM_SHABN_C6
		GLB	BABYM_SHABN_C7
		GLB	BABYM_RETN_CHG
		GLB	BABYM_DOROB_CUT
		GLB	BABYM_DOROB_C2
		GLB	BABYM_AWABR_SET
		GLB	BABYM_MOVE2
;
;------------------------------------------------------------------------
;-		extern symbol						-
;------------------------------------------------------------------------
;
;-------------< sy_main >------------------------------------------------
		EXT	D_00,GMIN
		EXT	SOUND_3_ON
;
;-------------< sy_rpro >------------------------------------------------
		EXT	JSRSUB
		EXT	CHIPON,CHIPON_RAM_READ
;
;-------------< sy_play >------------------------------------------------
		EXT	TIMEUP_SET
		EXT	EBSTAT
		EXT	PFAL,PSTP,PMOV,PCLR,PGUS,PDEM,PRET
		EXT	PFLP,PSHT,PDKN
		EXT	TIMEUP_SET_SS
;
;-------------< sy_bgsc >------------------------------------------------
		EXT	UNITCHG
;
;-------------< sy_enmy >------------------------------------------------
		EXT	ENEMY,ENINSB
		EXT	ENCLEAR,ENCLEAR_NORETN,DISPCK0,DISPCK1,DISPCK2,DISPCK3
		EXT	ENINSR,ENINSR2,EEXCHK,EEYCHK,EEXYCK,ESTATST,ENINSR_I
		EXT	PLFLST_2
		EXT	SCOREST
		EXT	ENMDCK,XSDOWN,EPCRCK,MUKEOR,XSPEOR,MKEOR2,PLFLST
		EXT	POBBGCR,BOBBGCR,POBBGCR_H
		EXT	SHOT_EN_KILL,SHOT_EN_KILL_S,ENDEATH_SET_4
		EXT	NAGE_POS_SET
;
		EXT	EINIT,ECHNG,EFAIL,EMOVE,EEATM,ENOSE,EBABL,EFALL
;
		EXT	EATMXS,NOSWT
;
		EXT	EN_XYMOVE,EN_TIMER,ENDEATH_SET,EGGKILL_ALL
;
		EXT	EGG00_MVINT,FSMK0_SET2
		EXT	COIN1_END_SET
;
		EXT	TROBJ_SR_2x2,TROBJ_SR_4x4,TROBJ_SR_8x8,TROBJ_SR_8x4
		EXT	TROBJ_SR_2x2_CL,TROBJ_SR_4x4_CL,TROBJ_SR_8x8_CL
		EXT	TROBJ_SR_8x4_CL
		EXT	TROBJ_OAM_8x4
		EXT	TROBJ_OAM_2x2,TROBJ_OAM_4x4,TROBJ_OAM_8x8,TROBJ_OAM_8H8
		EXT	TROBJ_OAM_2x2_I,TROBJ_OAM_4x4_I,TROBJ_OAM_8x8_I
		EXT	TROBJ_CLEAR
		EXT	TROBJ_PLOT_X,TROBJ_PLOT_Y
;
;-------------< sy_enmy2 >------------------------------------------------
		EXT	BGDATA_MAKE,NMZ_HOSEI
;
		EXT	NLFLRIN,NLFUDIN
;
;-------------< sy_enmy3 >------------------------------------------------
		EXT	ICE_IN_CK
		EXT	MKY_BABY_GET,MONKY_FAIL_SET
		EXT	MKY_OKAJ
		EXT	TO_COIN_CHANGE
;
;-------------< sy_enmy4 >------------------------------------------------
;
;-------------< sy_enmy5 >------------------------------------------------
		EXT	MPACK_START_ST
		EXT	MPACK_START_ED
;
;-------------< sy_enmy14 >------------------------------------------------
		EXT	B_LOOP
;
;-------------< sy_dorobo >------------------------------------------------
		EXT	DOROB_RMODE3
		EXT	DOROB_RMODE0
		EXT	DOROB_RMODE8
		EXT	DOROB_RMODE91
;
		EXT	TJUGM_RMODE1
;
;-------------< sy_exst >------------------------------------------------
		EXT	EXINSR
;
;
;-------------< sy_unit >------------------------------------------------
		EXT	UNDTADD,UNDATA,RUTDATA
;
;-------------< ys_data >------------------------------------------------
		EXT	SIN,COS
;------------------------------------------------------------------------
;-		define symbol						-
;------------------------------------------------------------------------
BABY_INDEX	EQU	00H
;
;
;
;************************************************************************
;*									*
;*		program start						*
;*									*
;************************************************************************
;
		EXTEND
;
		MEM16
		IDX8
;
		DPAGE	EN0RAM
;
Group_6		GROUP	Babym_pro
Babym_pro	SECT	REL
;
;************************************************************************
;*		dummy subroutine					*
;************************************************************************
DUMMY_SUB	EQU	$
		TYX
		RTS
;
;************************************************************************
;*		initial ( 赤ちゃん )					*
;************************************************************************
BABYMIN		EQU	$			;-- babymin --
		LDY	#0C0H
		STY	ENWTSP+BABY_INDEX
		RTL
;
;************************************************************************
;*		move	( 赤ちゃん )					*
;************************************************************************
;		ENWRK0	どろぼー routine index
;		ENWRK2	ROUTINE MODE INDEX
;		ENWRK4	キャラ転送インデックス
;		ENWRK6
;		ENWRK8
;		ENWRKA
;		ENWRKC	乗ってるフラグ 0...乗ってない 1...乗ってる
;
;		ENCONT	キャラパターンカウンター
;
;		ENTIM0	ストップタイマー
;		ENTIM1	キャラパターンチェンジタイマー
;		ENTIM2	”はいはい”たいまー／落下タイマー(SUB71)
;		ENTIM3	プレイヤーチェックロックタイマー
;
;		BABYNO	赤ちゃん情報データ 0000000000000000B
;					   |+---------------<どろぼーＯＮフラグ>
;					   +----------------<プレイヤーＯＮフラグ>
;
;		BABYRTFLG	赤ちゃんルーチンすっとばしフラグ
;		BABYCTFLG	赤ちゃんキャッチフラグ
;		BABYXMUKI	赤ちゃん向き
;		BABYWATER	赤ちゃん水に入ってじゃぶじゃぶタイマー
;		BABYDIREC	赤ちゃん表示位置フラグ 0..上 2..下 4..左 6..右
;		BABYXSPED	赤ちゃんＸスピードセーブ
;		BABYYSPED	赤ちゃんＹスピードセーブ
;		BABYCRYCT	赤ちゃん泣き回数
;		BABYCRYTM	赤ちゃん泣くの我慢タイマー
;		BABYITCLR	赤ちゃんアイテムフラグクリアタイマー
;		BABYYCKDT	赤ちゃんＹ　ＰＯＳ．チェックデータ
;		BABYAWAPT	赤ちゃんあわパターン（ボスＱちゃん用）
;		BABYBGCHK	赤ちゃんＢＧチェックデータ
;		BABYNAKIC	赤ちゃん泣きカウンター
;		BABYNAKIF	赤ちゃん泣きカウンター加算向きフラグ
;
;		BBLUPCNT	赤ちゃんルックアップカウンター
;		BBLDWCNT	赤ちゃんルックダウンカウンター
;
;		BABYCTM		赤ちゃんチェックタイマー
;
;		BABYRAD 赤ちゃん半径（ボスＱちゃん）
;		BABYANG 赤ちゃん角度（ボスＱちゃん）
;
;
BABYM_SUB	EQU	$
BABYM_00	EQU	$
		WORD	BABYM_SUB00		;ほっぽり出されたときのイニシャル
BABYM_10	EQU	$
		WORD	BABYM_SUB10		;プレイヤーに跳ね上げられた
BABYM_20	EQU	$
		WORD	DUMMY_SUB		;死神に連れ去られてる
BABYM_38	EQU	$
		WORD	BABYM_SUB38		;コースイニシャルデモ
;
BABYM_40	EQU	$
		WORD	DUMMY_SUB		;布おばけに捕まってる、げろぞーに跳ね上げられた
;
BABYM_50	EQU	$
		WORD	BABYM_SUB50		;シャボン玉になる（プレイヤーが変身してる）
BABYM_51	EQU	$
		WORD	BABYM_SUB51		;シャボン玉になってる＆タイマーでシャボン玉から復帰
BABYM_52	EQU	$
		WORD	BABYM_SUB52		;ワープスイッチでシャボン玉から復帰
;
BABYM_60	EQU	$
		WORD	BABYM_SUB60		;シャボン玉になる（どろぼうさんに取られた）
BABYM_61	EQU	$
		WORD	BABYM_SUB61		;シャボン玉になってる（どろぼうさんに取られた）
;
BABYM_70	EQU	$
		WORD	BABYM_SUB70		;シャボン玉になる（プレイヤーダメージ）
BABYM_71	EQU	$
		WORD	BABYM_SUB71		;シャボン玉になってる（プレイヤーダメージ）
;
BABYM_80	EQU	$
		WORD	BABYM_SUB80		;ボスクリア後にプレイヤーの背中に乗る
;
BABYM_90	EQU	$
		WORD	BABYM_SUB90		;シャボン玉になる（なってるだけ）
BABYM_91	EQU	$
		WORD	BABYM_SUB91		;シャボン玉になってる（なってるだけ）
;
BABYM_RMODE00	EQU	(BABYM_00-BABYM_00)/2
BABYM_RMODE10	EQU	(BABYM_10-BABYM_00)/2
BABYM_RMODE20	EQU	(BABYM_20-BABYM_00)/2
BABYM_RMODE38	EQU	(BABYM_38-BABYM_00)/2
BABYM_RMODE40	EQU	(BABYM_40-BABYM_00)/2
BABYM_RMODE50	EQU	(BABYM_50-BABYM_00)/2
BABYM_RMODE51	EQU	(BABYM_51-BABYM_00)/2
BABYM_RMODE52	EQU	(BABYM_52-BABYM_00)/2
BABYM_RMODE60	EQU	(BABYM_60-BABYM_00)/2
BABYM_RMODE61	EQU	(BABYM_61-BABYM_00)/2
BABYM_RMODE70	EQU	(BABYM_70-BABYM_00)/2
BABYM_RMODE71	EQU	(BABYM_71-BABYM_00)/2
BABYM_RMODE80	EQU	(BABYM_80-BABYM_00)/2
BABYM_RMODE90	EQU	(BABYM_90-BABYM_00)/2
BABYM_RMODE91	EQU	(BABYM_91-BABYM_00)/2
;
BABYM_PLCHECK	EQU	(BABYM_40-BABYM_00)/2
BABYM_MDCHECK	EQU	(BABYM_50-BABYM_00)/2
BABYM_SHABON	EQU	(BABYM_50-BABYM_00)/2
BABYM_SHABON2	EQU	(BABYM_60-BABYM_00)/2
;
BABYMMV		EQU	$			;-- babymmv --
		LDY	#006H
		LDA	ENMOD2+BABY_INDEX	;シャボン玉になってる ?
		AND	#1110000000000000B	;
		BEQ	BABYMMV0040		;  no: BABYMMV0040

		LDY	#00CH

BABYMMV0040	EQU	$
		STY	EWIDEX+BABY_INDEX
		STY	EWIDEY+BABY_INDEX
;
		LDY	GOAL_BOSS_CLEAR		;ボスクリア ?
		BEQ	BABYMMV0090		;  no: BABYMMV0090

		LDA	#00006			;プレイヤーと接触した ?
		CLC				;
		ADC	PWIDEX			;
		ASL	A			;
		STA	<EWORK0			;
		LSR	A			;
		CLC				;
		ADC	EPWIDX+BABY_INDEX	;
		CMP	<EWORK0			;
		BCS	BABYMMV0090		;
						;
		LDA	#00006			;
		CLC				;
		ADC	PWIDEY			;
		ASL	A			;
		STA	<EWORK0			;
		LSR	A			;
		CLC				;
		ADC	EPWIDY+BABY_INDEX	;
		CMP	<EWORK0			;
		BCS	BABYMMV0090		;  no: BABYMMV0090

		LDY	#0FFH
		STY	ECRSFG+BABY_INDEX

BABYMMV0090	EQU	$
		LDA	DSPMOD			;ボスＱちゃん ?
		CMP	#00009			;
		BNE	BABYMMV0100		;  no: BABYMMV0100

		JMP	BABYM_SPECIAL

BABYMMV0100	EQU	$
		JSR	BABYM_COS_XLIM		;コースの端チェック

		LDA	ENCBFG+BABY_INDEX
		ORA	BABYBGCHK
		STA	ENCBFG+BABY_INDEX

		LDY	GOAL_IN			;ゴールイン ?
		BEQ	BABYMMV0500		;  no: BABYMMV0500

		LDA	#00030H			;ＢＧの前に
		TSB	ENCLOR+BABY_INDEX	;

BABYMMV0500	EQU	$
		JSR	BABYM_TIME_CHK		;タイマーチェック

		JSR	BABYM_MDCK		;モードチェック

		LDA	<ENWRK2+BABY_INDEX
		ASL	A
		TAX
		JSR	(BABYM_SUB,X)
		LDX	<ENINDX

		JSR	BABYM_DOROB_CHK		;どろぼーさんいるかチェック

;;;;;;;;		JSR	BABYM_DISPCK		;画面表示位置チェック

		JSR	BABYM_BOSS_CLCK		;ボスクリアチェック

		JSR	BABYM_ITEM_FLAG		;アイテムフラグ操作

		LDA	BABYNO			;誰かに担がれてる ?
		AND	#0C000H			;
		BEQ	BABYMMV0D00		;  no: BABYMMV0D00

		LDY	#0FFH
		STY	ENWATR+BABY_INDEX

BABYMMV0D00	EQU	$
		STZ	BABYBGCHK		;ＢＧチェックデータクリア

		RTL
;
;****************************************************************
;*		コースの端チェック				*
;****************************************************************
;
BABYM_BGCKDT_MK EQU	$
		WORD	00008H,00004H,00002H,00001H
;
BABYM_COS_XLIM	EQU	$
		LDY	DEATHCT0		;死神に捕まった ?
		BNE	BABYM_C_XLIM038		; yes: BABYM_C_XLIM038

		LDY	#000
		LDA	ENXPSL+BABY_INDEX	;コースの左端 ?
		CMP	PLSCRL_MINX		;
		BPL	BABYM_C_XLIM020		;  no: BABYM_C_XLIM020

		LDA	PLSCRL_MINX
		BRA	BABYM_C_XLIM030

BABYM_C_XLIM020 EQU	$
		SEC				;コースの右端 ?
		SBC	#000F0H			;
		CMP	PLSCRL_MAXX		;
		BMI	BABYM_C_XLIM040		;  no: BABYM_C_XLIM040

		INY
		INY
		LDA	PLSCRL_MAXX
		CLC
		ADC	#000F0H-1

BABYM_C_XLIM030 EQU	$
		STA	ENXPSL+BABY_INDEX
		LDA	!BABYM_BGCKDT_MK,Y
		TSB	ENCBFG+BABY_INDEX
		LDA	ENXMAX+BABY_INDEX
		EOR	#0FFFFH
		INC	A
		STA	ENXMAX+BABY_INDEX
		LDA	ENXSPD+BABY_INDEX
		EOR	#0FFFFH
		INC	A
		STA	ENXSPD+BABY_INDEX
		LDA	ENMUKI+BABY_INDEX
		EOR	#00002H
		STA	ENMUKI+BABY_INDEX

BABYM_C_XLIM038 EQU	$
		RTS

BABYM_C_XLIM040 EQU	$
		LDA	ATSCRL_FLAG		;オートスクロール ?
		BEQ	BABYM_C_XLIM038		;  no: BABYM_C_XLIM038

		LDY	<ENWRK2+BABY_INDEX	;プレイヤーに跳ね上げられてる ?
		CPY	#BABYM_RMODE10		;
		BEQ	BABYM_C_XLIM038		; yes: BABYM_C_XLIM038

		LDA	ENMOD2+BABY_INDEX	;シャボン玉になってる ?
		AND	#1110000000000000B	;
		BEQ	BABYM_C_XLIM038		;  no: BABYM_C_XLIM038

		LDY	#000
		LDA	ENDSXL+BABY_INDEX	;画面左端 ?
		SEC
		SBC	#00008H
		BMI	BABYM_C_XLIM050		; yes: BABYM_C_XLIM050

		SEC				;画面右端 ?
		SBC	#000E8H-08H		;
		BMI	BABYM_C_XLIM060		;  no: BABYM_C_XLIM060

		STA	<EWORK0
		INY
		INY
		LDA	SCCH1
		CLC
		ADC	#000E8H-1
		BRA	BABYM_C_XLIM051

BABYM_C_XLIM050 EQU	$
		STA	<EWORK0
		LDA	SCCH1
		CLC
		ADC	#00008H

BABYM_C_XLIM051 EQU	$
		STA	ENXPSL+BABY_INDEX
		LDA	<EWORK0
		EOR	ENXMAX+BABY_INDEX	;画面外に出ようとしてる ?
		BMI	BABYM_C_XLIM058		;  no: BABYM_C_XLIM058

		LDA	!BABYM_BGCKDT_MK,Y
		TSB	ENCBFG+BABY_INDEX

		LDA	ENXMAX+BABY_INDEX
		EOR	#0FFFFH
		INC	A
		STA	ENXMAX+BABY_INDEX

BABYM_C_XLIM058 EQU	$
		LDA	ENXMAX+BABY_INDEX	;赤ちゃんを弾く
		ASL	A			;
		STA	ENXSPD+BABY_INDEX	;

BABYM_C_XLIM060 EQU	$
		LDY	#004
		LDA	ENDSYL+BABY_INDEX	;画面上端 ?
		SEC
		SBC	#00008H
		BMI	BABYM_C_XLIM070		; yes: BABYM_C_XLIM070

		SEC				;画面下端 ?
		SBC	#000C8H-08H		;
		BMI	BABYM_C_XLIM080		;  no: BABYM_C_XLIM080

		STA	<EWORK0
		INY
		INY
		LDA	SCCV1
		CLC
		ADC	#000C8H-1
		BRA	BABYM_C_XLIM071

BABYM_C_XLIM070 EQU	$
		STA	<EWORK0
		LDA	SCCV1
		CLC
		ADC	#00008H

BABYM_C_XLIM071 EQU	$
		STA	ENYPSL+BABY_INDEX
		LDA	<EWORK0
		EOR	ENGMAX+BABY_INDEX	;画面外に出ようとしてる ?
		BMI	BABYM_C_XLIM078		;  no: BABYM_C_XLIM078

		LDA	!BABYM_BGCKDT_MK,Y
		TSB	ENCBFG+BABY_INDEX

		LDA	ENGMAX+BABY_INDEX
		EOR	#0FFFFH
		INC	A
		STA	ENGMAX+BABY_INDEX

BABYM_C_XLIM078 EQU	$
		LDA	ENGMAX+BABY_INDEX	;赤ちゃんを弾く
		ASL	A			;
		STA	ENYSPD+BABY_INDEX	;

BABYM_C_XLIM080 EQU	$
		RTS
;
;****************************************************************
;*			状態変化				*
;****************************************************************
;
;どろぼうさんに取られてシャボン玉になる
BABYM_SHABN_C2	EQU	$
		LDA	ENMOD2+BABY_INDEX	;すでに、シャボン玉になってる ?
		AND	#1110000000000000B	;
		BEQ	BABYM_S_C2100		;  no: BABYM_S_C2100

		STZ	ENXPOW+BABY_INDEX
		STZ	ENGPOW+BABY_INDEX
		STZ	ENXSPD+BABY_INDEX
		STZ	ENYSPD+BABY_INDEX
		LDY	#BABYM_RMODE61
		BRA	BABYM_S_C2200

BABYM_S_C2100	EQU	$
		JSR	BABYM_SHABN_CHG
		LDY	#BABYM_RMODE60

BABYM_S_C2200	EQU	$
		STY	<ENWRK2+BABY_INDEX
		LDA	#0110000001000000B	;ＢＧチェック無しに
		STA	ENMOD1+BABY_INDEX
		LDA	#00002			;乗ってるフラグセット
		STA	ENWRKC+BABY_INDEX	;
		STA	ENWRKC,X		;アイテムＧＥＴフラグセット
		ASL	A		;[ LDA	#00004 ]
		STA	ENYUSN+BABY_INDEX
		STX	<ENWRK0+BABY_INDEX	;どろぼうさんの ROUTINE INDEX セット
		LDA	BABYNO
		ORA	#04000H
		STA	BABYNO
		STZ	BABYCTFLG
		LDA	#0003DH			;［Ｓ］
		JSL	>SOUND_3_ON
		RTL
;
;赤ちゃんをプレイヤーから引き離してシャボン玉にする
BABYM_SHABN_C3	EQU	$
		LDA	#0003DH			;［Ｓ］
		JSL	>SOUND_3_ON

;つむじ、布お化け用
BABYM_SHABN_C7	EQU	$
BABYM_SHABN_C30 EQU	$
		JSR	BABYM_SHABN_CHG
		LDA	#00020H
		STA	ENGPOW+BABY_INDEX
		LDA	#00008H
		STA	ENXPOW+BABY_INDEX
		STZ	ENGMAX+BABY_INDEX
		STZ	ENXMAX+BABY_INDEX
		LDY	#BABYM_RMODE70
		STY	<ENWRK2+BABY_INDEX

BABYYCKDT_SET	EQU	$
		LDA	PLYPSL
		SEC
		SBC	#00030H
		CLC
		ADC	ESCCV1
		CLC
		ADC	#00030H
		CMP	#08000H
		ROR	A
		STA	BABYYCKDT

		RTL
;
;赤ちゃんをプレイヤーから引き離してシャボン玉にする（特殊）
BABYM_SHABN_C4	EQU	$
		JSR	BABYM_SHABN_CHG
		LDA	#00020H
		STA	ENGPOW+BABY_INDEX
		LDA	#00008H
		STA	ENXPOW+BABY_INDEX
		STZ	ENGMAX+BABY_INDEX
		STZ	ENXMAX+BABY_INDEX
		LDY	#BABYM_RMODE90
		STY	<ENWRK2+BABY_INDEX
		LDA	#0003DH			;［Ｓ］
		JSL	>SOUND_3_ON

		RTL
;
;シャボン玉からプレイヤーの背中に復帰
BABYM_RETN_CHG	EQU	$
		JSL	>BABYM_DOROB_CUT
		JSL	>BABYM_SHABN_BRK
		JSR	BABYM_RIDE_ON
		RTL
;
;シャボン玉になる（スピードクリアに注意）
BABYM_SHABN_CHG EQU	$
		LDA	#0001BH
		STA	ENCHPT+BABY_INDEX
		STZ	ENXSPD+BABY_INDEX
		STZ	ENYSPD+BABY_INDEX
		STZ	ENXPOW+BABY_INDEX
		STZ	ENGPOW+BABY_INDEX
		LDA	#1111011000100000B	;食えるように
		STA	ENMOD0+BABY_INDEX	;
		LDA	#0110000001001111B
		STA	ENMOD1+BABY_INDEX	;行ったり来たりしない
		LDA	#0011000000000001B
		STA	ENMOD2+BABY_INDEX	;セットキャラを３から６に

		LDA	BABYNO			;baby nose flag clear
		BPL	BABYM_S_CHG0100

		AND	#07FFFH			;8000H CLEAR
		STA	BABYNO			;

		LDA	#00040H			;プレイヤーチェックロックタイマーセット
		STA	ENTIM3+BABY_INDEX	;
		LDA	#0FFFFH
		STA	NOSEIDX
		LDA	#BABY_INDEX
		STA	NOSEID2

BABYM_S_CHG0100 EQU	$
		LDA	#EMOVE
		STA	ENMODE+BABY_INDEX

		STZ	<ENCONT+BABY_INDEX	;キャラパターンカウンタークリア
		STZ	ENWRKC+BABY_INDEX	;乗ってるフラグクリア
		STZ	ENCBFG+BABY_INDEX
		LDY	#000
		STY	ENWATR+BABY_INDEX

		RTS
;
;シャボン玉が割れる
BABYM_SHABN_BRK EQU	$
		LDA	ENMOD2+BABY_INDEX	;シャボン玉になってる ?
		AND	#1110000000000000B	;
		BEQ	BABYM_S_BRK0800		;  no: BABYM_S_BRK0800

		LDA	#0000DH
		STA	ENCHPT+BABY_INDEX
		LDA	#00040H
		STA	ENGPOW+BABY_INDEX
		LDA	#00400H
		STA	ENGMAX+BABY_INDEX
		STZ	ENXPOW+BABY_INDEX
		LDA	#0110000001001111B
		STA	ENMOD1+BABY_INDEX	;行ったり来たりする
		LDA	#0001100000000001B
		STA	ENMOD2+BABY_INDEX	;セットキャラを６から３に
		STZ	ENTIM3+BABY_INDEX	;プレイヤーチェックロックタイマークリア
		LDY	#000
		STY	ENWATR+BABY_INDEX	;水中フラグクリア

BABYM_AWABR_SET EQU	$
		LDA	#AWABR
		JSL	>EXINSR
		LDA	ENXPSL+BABY_INDEX
		CLC
		ADC	#00008H
		STA	EXXPSL,Y
		LDA	ENYPSL+BABY_INDEX
		CLC
		ADC	#00008H
		STA	EXYPSL,Y
		LDA	#0000AH
		STA	EXCHPT,Y
		STA	EXWRK2,Y
		LDA	#0000CH
		STA	EXWRK0,Y
		LDA	#00001
		STA	EXTIM0,Y

		LDA	#0003BH			;［Ｓ］
		JSL	>SOUND_3_ON

BABYM_S_BRK0800 EQU	$

		RTL
;
;****************************************************************
;*								*
;****************************************************************
BABYM_MDCK	EQU	$
		LDA	GOAL_BOSS_CLEAR		;ボスクリアデモ中 ?
		BEQ	BABYM_MDCK0040		;  no: BABYM_MDCK0040

		LDA	ENMODE+BABY_INDEX	;プレイヤーに乗ってる ?
		CMP	#ENOSE			;
		BEQ	BABYM_MDCK0080		; yes: BABYM_MDCK0080

BABYM_MDCK0040	EQU	$
		JSR	BABYM_CHR_TRANS		;キャラ転送

BABYM_MDCK0080	EQU	$
		LDA	ENMODE+BABY_INDEX	;乗せモード ?
		CMP	#ENOSE			;
;;;;;;;;		BNE	BABYM_MDCK0100
		BEQ	BABYM_MDCK0700		; yes: BABYM_MDCK0700

BABYM_MDCK0100	EQU	$
		LDY	BABYRTFLG		;ルーチンフラグＯＮ ?
		BEQ	BABYM_MDCK0300		;  no: BABYM_MDCK0300

		JSL	>EN_XYMOVE

BABYM_MDCK0280	EQU	$
		JSL	>EN_TIMER

		LDA	ENMODE+BABY_INDEX	;プレイヤーに食べられてる ?
		CMP	#EEATM			;
		BEQ	BABYM_MDCK0500		; yes: BABYM_MDCK0500

		RTS

BABYM_MDCK0300	EQU	$
		LDY	<ENWRK2+BABY_INDEX	;モードチェックする ?
		CPY	#BABYM_MDCHECK		;
		BMI	BABYM_MDCK0400		; yes: BABYM_MDCK0400
		CPY	#BABYM_SHABON2		;赤ちゃん、シャボン玉防御 ?
		BPL	BABYM_MDCK0400		; yes: BABYM_MDCK0400

		LDA	ENSTFG		;[ LDY はダメ！！ ]
		ORA	BIRIBIRI
		ORA	ITEMNO
		BNE	BABYM_MDCK0280

		RTS

BABYM_MDCK0400	EQU	$
		LDA	ENMODE+BABY_INDEX	;プレイヤーに食べられてる ?
		CMP	#EEATM			;
		BNE	BABYM_MDCK0700		;  no: BABYM_MDCK0700

BABYM_MDCK0500	EQU	$
		STA	BABYRTFLG
		STA	ENSTFG
		LDA	#1000000000000000B	;プレイヤーの位置計算処理のみキャンセルするため
		TSB	PLSTFG			;

		LDY	<ENWRK2+BABY_INDEX	;シャボン玉になってる ?
		CPY	#BABYM_RMODE60		;
		BMI	BABYM_MDCK0600		;  no: BABYM_MDCK0600

		JSL	>BABYM_DOROB_CUT
		JSL	>BABYM_SHABN_BRK

BABYM_MDCK0600	EQU	$
		LDY	BERFLG			;下から食われた ?
		CPY	#004			;
		BNE	BABYM_MDCK0610		;  no: BABYM_MDCK0610

		LDA	BERYPS			;プレイヤーの近くにきた ?
		CMP	#0FFF0H			;
		BMI	BABYM_MDCK0700		;  no: BABYM_MDCK0700
		BRA	BABYM_MDCK0680		;

BABYM_MDCK0610	EQU	$
		LDA	BERXPS			;プレイヤーの近くにきた ?
		CLC				;
		ADC	#00010H			;
		CMP	#00020H			;
		BCS	BABYM_MDCK0700		;  no: BABYM_MDCK0700

BABYM_MDCK0680	EQU	$
		STZ	EATSTP
		JSR	BABYM_RIDE_ON

BABYM_MDCK0700	EQU	$
		PLA
		STA	<EWORK0
		JSL	>ENMDCK		;mode check
		LDA	<EWORK0
		PHA

BABYM_MDCK0800	EQU	$

		RTS
;
BABYM_RIDE_ON	EQU	$
		LDA	#EMOVE
		STA	ENMODE+BABY_INDEX
		LDY	#000
		STY	ENWATR+BABY_INDEX

		LDA	#00040H
		STA	ENGPOW+BABY_INDEX
		LDY	#BABYM_RMODE10
		STY	<ENWRK2+BABY_INDEX
		STZ	BABYCTFLG

		LDY	GOAL_IN			;ゴール前 ?
		BNE	BABYM_R_O0800		; yes: BABYM_R_O0800

		INC	BABYRTFLG
		LDA	#00001
		STA	PLSTFG
		INC	ENSTFG

BABYM_R_O0800	EQU	$

		RTS
;
;
;
;死神に連れ去られかけてる時、タイマーを増やした
BABYM_SHABN_C6	EQU	$
		LDA	#00400H
		STA	ENGMAX+BABY_INDEX
		LDA	#00040H
		STA	ENGPOW+BABY_INDEX
		LDY	#BABYM_RMODE70
		LDA	ENMOD2+BABY_INDEX	;すでに、シャボン玉になってる ?
		AND	#1110000000000000B	;
		BEQ	BABYM_D_C20400		;  no: BABYM_D_C20400

		INY
		BRA	BABYM_D_C20400
;
;固定シャボン玉をふわふわシャボン玉にする（特殊）
BABYM_SHABN_C5	EQU	$
		LDA	<ENWRK2+BABY_INDEX	;
		SEC				;
		SBC	#BABYM_RMODE90		;
		BRA	BABYM_D_C20300
;
;どろぼーに捕られたシャボン玉をふわふわシャボン玉にする
BABYM_DOROB_C2	EQU	$
		LDA	<ENWRK2+BABY_INDEX	;風船になってる ?
		CMP	#BABYM_RMODE60		;
		BEQ	BABYM_D_C20100		;
		CMP	#BABYM_RMODE61		;
		BNE	BABYM_D_C20800		;  no: BABYM_D_C20800

BABYM_D_C20100	EQU	$
		SEC
		SBC	#BABYM_RMODE60

BABYM_D_C20300	EQU	$
		CLC
		ADC	#BABYM_RMODE70

BABYM_D_C20400	EQU	$
		STA	<ENWRK2+BABY_INDEX
		CMP	#BABYM_RMODE71
		BNE	BABYM_D_C20800

		LDA	#0FF00H
		STA	ENYSPD+BABY_INDEX
		LDA	#00002
		STA	ENXPOW+BABY_INDEX
		ASL	A	;[ LDA	#00004 ]
		STA	ENGPOW+BABY_INDEX
		LDA	#0FF00H
		STA	ENGMAX+BABY_INDEX
		LDX	ENMUKI+BABY_INDEX
		LDA	>BABYM_S50_XMAX,X
		STA	ENXMAX+BABY_INDEX
		LDX	<ENINDX
		STZ	ENTIM2+BABY_INDEX
		STZ	<ENCONT+BABY_INDEX	;パターンチェンジカウンタークリア

BABYM_D_C20800	EQU	$
		STZ	<ENWRK0+BABY_INDEX	;どろぼーのROUTINE INDEXクリア
		STZ	ENWRKC+BABY_INDEX	;乗ってるフラグクリア
		LDA	BABYNO			;4000H CLEAR
		AND	#0BFFFH			;
		STA	BABYNO			;
		LDA	#0110000001001111B	;ＢＧチェック有り
		STA	ENMOD1+BABY_INDEX	;

		JMP	BABYYCKDT_SET
;
;どろぼうさんからひきはなす
BABYM_DOROB_CUT EQU	$
		LDY	<ENWRK0+BABY_INDEX	;どろぼうさんに捕まってる ?
		BNE	BABYM_D_CUT0008		; yes: BABYM_D_CUT0008
;
		RTL

BABYM_D_CUT0008 EQU	$
		JSL	>BABYM_DOROB_C2
;
		LDA	ENMYNO,Y		;釣りジュゲムだった ?
		CMP	#TJUGM			;
		BNE	BABYM_D_CUT0040		;  no: BABYM_D_CUT0040

		LDA	TJUGMITO		;糸は伸びてる ?
		BNE	BABYM_D_CUT0080		; yes: BABYM_D_CUT0080

BABYM_D_CUT0040 EQU	$
		LDA	ENXPSL,Y		;赤ちゃんの位置補正
		STA	ENXPSL+BABY_INDEX	;
		LDA	ENYPSL,Y		;
		STA	ENYPSL+BABY_INDEX	;
;;;;
BABYM_D_CUT0080 EQU	$
		LDA	ENMYNO,Y		;空飛ぶどろぼうさんだった ?
		CMP	#DORBF			;
		BEQ	BABYM_D_CUT0400		; yes: BABYM_D_CUT0400
		CMP	#DRBF2			;
		BEQ	BABYM_D_CUT0410		; yes: BABYM_D_CHK0410
		CMP	#TARKN			;たーくんだった ?
		BEQ	BABYM_D_CUT0300		; yes: BABYM_D_CHK0300
		CMP	#TJUGM			;釣りジュゲムだった ?
		BEQ	BABYM_D_CUT0780		; yes: BABYM_D_CUT0780
		CMP	#NUNOO			;布おばけだった ?
		BEQ	BABYM_D_CUT0300		; yes: BABYM_D_CUT0300
		CMP	#GEROZ			;げろぞーだった ?
		BNE	BABYM_D_CUT0100
		JMP	BABYM_D_CUT0800		; yes: BABYM_D_CUT0800

BABYM_D_CUT0100 EQU	$
		CMP	#MONK0			;さるきちだった ?
		BCC	BABYM_D_CUT0500		;  no: BABYM_D_CHK0500
		CMP	#MONK4+1		;
		BCS	BABYM_D_CUT0500		;
;
		TYX
		STZ	<ENWRK4,X
		JSL	>MONKY_FAIL_SET
		LDX	<ENINDX

BABYM_D_CUT0300 EQU	$

		RTL
;
BABYM_D_CUT0400 EQU	$
		LDA	#00000
		BRA	BABYM_D_CUT0440

BABYM_D_CUT0410 EQU	$
		LDA	#00005

BABYM_D_CUT0440 EQU	$
		STA	ENWRK2,Y

		LDA	#00040H			;サーチロックタイマーセット
		STA	ENTIM3,Y
		LDA	#00000
		STA	ENWRK8,Y		;赤ちゃんロックフラグクリア
		STA	ENWRKC,Y		;アイテムＧＥＴフラグクリア

		RTL

BABYM_D_CUT0500 EQU	$
		M8
		LDA	#DOROB_RMODE8
		STA	ENWRK2,Y
		M16
		LDA	#0000AH
		STA	ENWRK6,Y
		LDA	#00012H
		STA	ENCHPT,Y
		LDA	#00040H			;ストップタイマーセット
		STA	ENTIM1,Y		;
		LDA	#00000
		STA	ENWRK8,Y		;赤ちゃんロックフラグクリア
		STA	ENWRKC,Y		;アイテムＧＥＴフラグクリア
		STA	ENXSPD,Y		;Ｘ　ＳＰＥＥＤクリア
		STA	ENXPOW,Y		;Ｘ　ＰＯＷＥＲクリア
		RTL

BABYM_D_CUT0780 EQU	$
		LDA	#TJUGM_RMODE1
		STA	ENWRK2,Y
		LDA	#00100H
		STA	ENGMAX,Y
		LDA	#00008
		STA	ENGPOW,Y
		LDA	#00000
		STA	ENWRK8,Y		;赤ちゃんロックフラグクリア
		STA	ENWRKC,Y		;アイテムＧＥＴフラグクリア
		STA	ENCHPT,Y
		LDA	#00060H			;プレイヤーチェックロックタイマーセット
		STA	ENTIM3,Y
		LDA	#00200H			;TJUGMITO を計算するデータセット
		STA	ENWRKA,Y		;
		RTL

BABYM_D_CUT0800 EQU	$
		M8
		LDA	#000			;（げろぞー特別処理のため消去禁止）
		STA	ENWRKC,Y		;赤ちゃんのせフラグクリア
		M16
		LDA	#00080H			;赤ちゃんチェックロックタイマーセット
		STA	ENTIM3,Y
		RTL
;
BABYM_DOROB_CHK EQU	$
		LDA	PLEATFG			;プレイヤー食われてる ?
		ORA	PROTSP			;プレイヤーくるくる回転中 ?
		ORA	BABYCTFLG		;プレイヤーにはねられた ?
		BEQ	BABYM_D_CHK0200		;  no: BABYM_D_CHK0200

BABYM_D_CHK0100 EQU	$
		RTS

BABYM_D_CHK0200 EQU	$
		LDY	ECRSFG+BABY_INDEX	;プレイヤーと衝突した ?
		BPL	BABYM_D_CHK0100		;  no: BABYM_D_CHK0100
;;;;;;;;
		LDA	PLFLSH			;プレイヤーダメージ中 ?
		CMP	#00090H+20H-020H-40H	;
;;;;;;;;		CMP	#00090H+20H-020H	;
		BPL	BABYM_D_CHK0100		; yes: BABYM_D_CHK0100
;;;;;;;;
;
;プレイヤーに跳ねられたときのどろぼうさん解除
;
		LDY	<ENWRK2+BABY_INDEX	;プレイヤーチェックする ?
		CPY	#BABYM_PLCHECK		;
		BMI	BABYM_D_CHK0300		; yes: BABYM_D_CHK0300
		CPY	#BABYM_SHABON2		;プレイヤー変身中 ?
		BMI	BABYM_D_CHK0100		; yes: BABYM_D_CHK0100

BABYM_D_CHK0300 EQU	$
		LDA	ENTIM3+BABY_INDEX	;プレイヤーチェックロック ?
		BEQ	BABYM_D_CHK0500		;  no: BABYM_D_CHK0500

		CMP	#00020H			;
		BCS	BABYM_D_CHK0100		;

		LDY	<ENWRK0+BABY_INDEX	;どろぼう関係に捕まってる ?
		BEQ	BABYM_D_CHK0100		;  no: BABYM_D_CHK0100

		LDA	ENMYNO,Y		;どろぼうさんに捕まってる ?
		CMP	#DOROB			;
		BEQ	BABYM_D_CHK0400		; yes: BABYM_D_CHK0400
		CMP	#DORBL			;
		BEQ	BABYM_D_CHK0400		; yes: BABYM_D_CHK0400
		CMP	#DORBR			;
		BEQ	BABYM_D_CHK0400		; yes: BABYM_D_CHK0400
		CMP	#DORB2			;
		BNE	BABYM_D_CHK0500		;  no: BABYM_D_CHK0500

BABYM_D_CHK0400 EQU	$
		M8
		LDA	#DOROB_RMODE91
		STA	ENWRK2,Y
		M16
		LDA	#00017H
		STA	ENCHPT,Y
		LDA	#00007H
		STA	ENWRK6,Y
		LDA	#0FC00H
		STA	ENYSPD,Y
		LDA	#00000
		STA	ENCONT,Y

		LDA	#00020H			;プレイヤーチェックロックタイマーセット
		STA	ENTIM3+BABY_INDEX	;
		RTS

BABYM_D_CHK0500 EQU	$
		JSL	>BABYM_DOROB_CUT
		JSL	>BABYM_SHABN_BRK
		JMP	BABYM_RIDE_ON
;
BABYM_ITEM_FLAG EQU	$
		LDA	ENMOD1+BABY_INDEX		;赤ちゃんアイテムにする ?
		AND	#1001111111111111B		;
		LDY	BABYITCLR			;
		BNE	BABYM_I_FLG0100			;  no: BABYM_I_FLG0100

		ORA	#0110000000000000B		;赤ちゃんアイテム
		BRA	BABYM_I_FLG0800

BABYM_I_FLG0100 EQU	$
		ORA	#0100000000000000B		;赤ちゃんリフト

BABYM_I_FLG0800 EQU	$
		STA	ENMOD1+BABY_INDEX

		RTS
;
BABYM_TIME_CHK	EQU	$
		LDA	TIMER
		CMP	#0AH*01-1
		BPL	BABYM_T_CHK0800

		JSR	BABYM_DISPCK_SB		;コース内 ?
		BPL	BABYM_T_CHK0400		; yes: BABYM_T_CHK0400

		LDA	BABYNO			;
		BIT	#04000H			;どろぼうに捕まってる ?
		BEQ	BABYM_T_CHK0300		;  no: BABYM_T_CHK0300

		LDX	<ENWRK0+BABY_INDEX
		JSL	>ENCLEAR		;
		LDX	<ENINDX
		JSL	>BABYM_DOROB_CUT

BABYM_T_CHK0300 EQU	$
		LDA	#0FFFFH			;プレイヤーチェックロックタイマーセット
		STA	ENTIM3+BABY_INDEX	;
		STZ	ENXSPD+BABY_INDEX
		STZ	ENYSPD+BABY_INDEX
		STZ	ENGPOW+BABY_INDEX

BABYM_T_CHK0400 EQU	$
		JSR	DEATH_SET2

BABYM_T_CHK0800 EQU	$

		RTS
;
;BABYM_DISPCK	EQU	$
;		LDA	ATSCRL_FLAG		;オートスクロール ?
;		BEQ	BABYM_DISPCK020		;  no: BABYM_DISPCK020
;
;		LDA	ENDSXL+BABY_INDEX	;画面外 ?
;		CLC				;
;		ADC	#00030H			;
;		CMP	#00100H+00030H*2	;
;		BCS	BABYM_DISPCK010		; yes: BABYM_DISPCK10
;
;		LDA	ENDSYL+BABY_INDEX	;画面外 ?
;		CLC				;
;		ADC	#00030H			;
;		CMP	#00100H+00030H*2	;
;		BCC	BABYM_DISPCK000		;  no: BABYM_DISPCK000
;		BPL	BABYM_DISPCK010
;
;		LDA	ENCBFG+BABY_INDEX	;地面に着いてる ?
;		AND	#00001			;
;		BEQ	BABYM_DISPCK010		;  no: BABYM_DISPCK010
;
;BABYM_DISPCK000 EQU	$
;		RTS
;
;BABYM_DISPCK010 EQU	$
;		I16
;		LDA	#PFAL
;		JSL	>TIMEUP_SET
;		STZ	PLWALK
;		I8
;		LDX	<ENINDX
;		JSL	>ENCLEAR
;
;		PLA
;		RTL
;
;BABYM_DISPCK020 EQU	$
;		LDA	ENXPSL+BABY_INDEX	;コースの端っこ ?
;		CMP	PLSCRL_MINX		;
;		BMI	BABYM_DISPCK024		; yes: BABYM_DISPCK024
;		SEC
;		SBC	#00100H
;		CMP	PLSCRL_MAXX		;
;		BMI	BABYM_DISPCK028		;  no: BABYM_DISPCK028
;
;BABYM_DISPCK024 EQU	$
;		LDA	ENXPSL,X
;		SEC
;		SBC	ENMOVX,X
;		STA	ENXPSL,X
;		LDA	ENXSPD,X
;		EOR	#0FFFFH
;		INC	A
;		STA	ENXSPD,X
;		LDA	ENMUKI,X
;		EOR	#00002
;		STA	ENMUKI,X
;
;BABYM_DISPCK028 EQU	$
;		LDY	<ENWRK2+BABY_INDEX
;		CPY	#BABYM_RMODE10		;プレイヤーに跳ねられてる ?
;		BEQ	BABYM_DISPCK090		; yes: BABYM_DISPCK090
;		CPY	#BABYM_SHABON2		;シャボン玉になってる ?
;		BPL	BABYM_DISPCK040		; yes: BABYM_DISPCK040
;		CPY	#BABYM_SHABON		;プレイヤー変身中 ?
;		BMI	BABYM_DISPCK040		;  no: BABYM_DISPCK040
;		BRA	BABYM_DISPCK090
;
;BABYM_DISPCK040 EQU	$
;		LDA	GOAL_IN			;ゴール前 ?
;		BNE	BABYM_DISPCK090		; yes: BABYM_DISPCK090
;
;		JSR	BABYM_DISPCK_SB		;コース内 ?
;		BPL	BABYM_DISPCK090		; yes: BABYM_DISPCK090
;
;		LDA	BABYNO			;どろぼうに捕まってる ?
;		AND	#04000H			;
;		BEQ	BABYM_DISPCK090		;  no: BABYM_DISPCK090
;
;		LDY	<ENWRK0+BABY_INDEX	;釣りジュゲムに捕まってる ?
;		LDA	ENMYNO,Y		;
;		CMP	#TJUGM			;
;		BEQ	BABYM_DISPCK090		; yes: BABYM_DISPCK090
;
;		JSR	DEATH_SET
;
;BABYM_DISPCK090 EQU	$
;		LDA	ENDSXL+BABY_INDEX
;		SEC
;		SBC	#00080H
;		STA	<EWORK0
;		BPL	BABYM_DISPCK0A0
;
;		EOR	#0FFFFH
;		INC	A
;
;BABYM_DISPCK0A0 EQU	$
;		STA	<EWORK2
;		LDY	#002			;上 ?
;		LDA	ENDSYL+BABY_INDEX	;
;		SEC				;
;		SBC	#00080H			;
;		BPL	BABYM_DISPCK0B0		;  no: BABYM_DISPCK0B0
;
;		DEY
;		DEY
;		EOR	#0FFFFH
;		INC	A
;
;BABYM_DISPCK0B0 EQU	$
;		CMP	<EWORK2			;上下 ?
;		BPL	BABYM_DISPCK0C0		; yes: BABYM_DISPCK0C0
;
;		LDY	#004
;		LDA	<EWORK0			;右 ?
;		BMI	BABYM_DISPCK0C0		;  no: BABYM_DISPCK0C0
;
;		INY
;		INY
;
;BABYM_DISPCK0C0 EQU	$
;		TYA
;		STA	BABYDIREC
;
;		RTS
;
BABYM_DISPCK_SB EQU	$
		LDA	#00800H			;コース外に出た ?
		CMP	ENYPSL+BABY_INDEX	;
		BMI	BABYM_DCK_SB080		; yes: BABYM_DCK_SB080

		LDA	ENDSXL,X
		CLC
		ADC	#00010H
		CMP	#00100H+00010H*2
		BCC	BABYM_DCK_SB090
		LDA	ENDSYL,X
		CLC
		ADC	#00010H
		CMP	#00100H+00010H*2
		BCC	BABYM_DCK_SB090

		PHX				;底なし穴 ?
		I16				;
		LDA	ECENTY+BABY_INDEX	;
		AND	#0FF00H			;
		LSR	A			;
		LSR	A			;
		LSR	A			;
		LSR	A			;
		STA	<EWORK0			;
		LDA	ECENTX+BABY_INDEX	;
		AND	#0FF00H			;
		XBA				;
		ORA	<EWORK0			;
		TAX				;
		LDA	UNBUFAD,X		;
		I8				;
		PLX				;
		TAY				;

BABYM_DCK_SB080 EQU	$

		RTS

BABYM_DCK_SB090 EQU	$
		LDA	#00000

		RTS
;
;
BABYM_BOSS_CLCK EQU	$
		LDY	GOAL_BOSS_CLEAR		;ボスクリア ?
		BEQ	BABYM_B_CLCK080		;  no: BABYM_B_CLCK080

		LDY	<ENWRK2+BABY_INDEX	;プレイヤーに乗ってる途中 ?
		CPY	#BABYM_RMODE10		;
		BEQ	BABYM_B_CLCK080		; yes: BABYM_B_CLCK080
		CPY	#BABYM_RMODE20		;死神に連れていかれてる ?
		BEQ	BABYM_B_CLCK080		; yes: BABYM_B_CLCK080

		LDA	ENMOD2+BABY_INDEX	;シャボン玉になってる ?
		AND	#1110000000000000B	;
		BEQ	BABYM_B_CLCK080		;  no: BABYM_B_CLCK080

		LDY	ENCHPT+BABY_INDEX	;立派なシャボン玉になった ?
		CPY	#01FH			;
		BMI	BABYM_B_CLCK080		;  no: BABYM_B_CLCK080

		JSL	>BABYM_DOROB_CUT
		LDA	#0000000000011111b	;範囲クリア無しに
		TRB	ENMOD1+BABY_INDEX
		LDY	#BABYM_RMODE80
		STY	<ENWRK2,X

BABYM_B_CLCK080 EQU	$

		RTS
;
BABYM_FALL_PAT	EQU	$
		HEX	15,16,15,17
;
BABYM_SUB00	EQU	$
		LDA	ENCBFG+BABY_INDEX	;地面に着いてる ?
		AND	#00001			;
		BNE	BABYM_SUB00100		; yes: BABYM_SUB00100

		LDY	ENWATR+BABY_INDEX	;水中 ?
		BEQ	BABYM_SUB00300		;  no: BABYM_SUB00300
		LDY	ENYSPD+1+BABY_INDEX	;上昇中 ?
		BMI	BABYM_SUB00800		; yes: BABYM_SUB00800

BABYM_SUB00100	EQU	$
		LDA	ENXSPD+BABY_INDEX
		PHA
		LDA	ENYSPD+BABY_INDEX
		PHA
		JSL	>BABYM_SHABN_C30
		PLA
		STA	ENYSPD+BABY_INDEX
		PLA
		STA	ENXSPD+BABY_INDEX

		RTS

BABYM_SUB00300	EQU	$
		LDY	ENYSPD+1+BABY_INDEX	;上昇中 ?
		BMI	BABYM_SUB00800		; yes: BABYM_SUB00800

		LDA	GOAL_IN			;ゴールイン ?
		BNE	BABYM_SUB00500		; yes: BABYM_SUB00500

		LDA	BABYYCKDT		;赤ちゃん、チェックポジションより下になった ?
		CMP	ENYPSL+BABY_INDEX	;
		BMI	BABYM_SUB00100		; yes: BABYM_SUB00100

BABYM_SUB00500	EQU	$
		LDY	ENTIM1+BABY_INDEX	;パターンチェンジ ?
		BNE	BABYM_SUB00800		;  no: BABYM_SUB00800

		LDY	#008			;キャラパターンチェンジタイマーセット
		STY	ENTIM1+BABY_INDEX	;

		LDA	<ENCONT+BABY_INDEX
		DEC	A
		AND	#00003H
		TAY
		STY	<ENCONT+BABY_INDEX
		LDA	!BABYM_FALL_PAT,Y
		TAY
		STY	ENCHPT+BABY_INDEX

BABYM_SUB00800	EQU	$

		RTS
;
BABYM_S10_JXSPD EQU	$
		WORD	00100H,0FF00H
;
BABYM_SUB10	EQU	$
		LDY	GOAL_IN			;ゴール前の処理 ?
		BEQ	BABYM_SUB10080		;  no: BABYM_SUB10080

		JMP	BABYM_SUB10600		; yes: BABYM_SUB10600

BABYM_SUB10080	EQU	$
		M8
		LDA	#004
		STA	ENYUSN+BABY_INDEX
		M16

		LDA	ENMODE+BABY_INDEX	;食べられてる ?
		CMP	#EEATM			;
		BNE	BABYM_SUB10100		;  no: BABYM_SUB10100

		LDA	#EMOVE
		STA	ENMODE+BABY_INDEX
		STZ	EATSTP
		LDY	#000
		STY	ENWATR+BABY_INDEX

BABYM_SUB10100	EQU	$
		LDY	BABYCTFLG		;すでにプレイヤーに跳ね上げられてる ?
		BNE	BABYM_SUB10500		; yes: BABYM_SUB10500

		LDA	EPWIDX+BABY_INDEX
		STA	R0
		LDA	#-00800H
		STA	R6
		M_CHIP	MULTIPLY
;		LDX	<ENINDX
		LDA	R0
		STA	ENXSPD+BABY_INDEX

		STZ	R0
		LDA	EPWIDY+BABY_INDEX
		BMI	BABYM_SUB10400

		STA	R0
		LDA	#-00800H
		STA	R6
		M_CHIP	MULTIPLY
;		LDX	<ENINDX

BABYM_SUB10400	EQU	$
		LDA	R0
		CLC
		ADC	#0FC00H
		STA	ENYSPD+BABY_INDEX
		STZ	ENCBFG+BABY_INDEX
		LDY	#00DH
		STY	ENCHPT+BABY_INDEX
		LDA	#0110000001000000B	;ＢＧチェックなし
		STA	ENMOD1+BABY_INDEX	;

		INC	BABYCTFLG		;赤ちゃんキャッチフラグセット

		RTS

BABYM_SUB10500	EQU	$
		LDY	ENYSPD+BABY_INDEX+1	;赤ちゃん落ちてる ?
		BMI	BABYM_SUB10900		;  no: BABYM_SUB10900

		LDA	EPWIDY+BABY_INDEX	;プレイヤーの近くに来た ?
		CMP	#00008H			;
		BCS	BABYM_SUB10800		;  no: BABYM_SUB10800

		LDA	#00043H			;［Ｓ］
		JSL	>SOUND_3_ON

BABYM_SUB10600	EQU	$
		LDA	#00001			;乗せフラグセット
		STA	ENWRKC+BABY_INDEX	;

		LDA	#ENOSE			;enemy mode set
		STA	ENMODE+BABY_INDEX
		STZ	ENWRK6+BABY_INDEX
		STZ	ENWRK8+BABY_INDEX
		STZ	<ENCONT+BABY_INDEX
		STZ	<ENWRK2+BABY_INDEX
		STZ	<ENWRK0+BABY_INDEX
		LDA	#0110000001001111B	;ＢＧチェックあり
		STA	ENMOD1+BABY_INDEX	;
		LDY	#000
		STY	ENWATR+BABY_INDEX	;水中フラグクリア

		LDA	BABYNO			;baby nose flag set
		AND	#00FFFH
		ORA	#08000H
		STA	BABYNO

		STZ	BABYCTFLG		;赤ちゃんキャッチフラグクリア
		STZ	BABYRTFLG		;赤ちゃんルーチンすっとばしフラグクリア

		STZ	PLSTFG
		STZ	ENSTFG

		LDX	<ENINDX

		PLA				;直接ＲＴＬ
		RTL

BABYM_SUB10800	EQU	$
		LDA	ENCBFG+BABY_INDEX	;地面に着いた ?
		AND	#00001			;
		BEQ	BABYM_SUB10900		;  no: BABYM_SUB10900

;		LDY	#BABYM_RMODE01
;		STY	<ENWRK2+BABY_INDEX	;routine mode index set
		LDA	#00006H			;キャラパターンチェンジカウンターセット
		STA	<ENCONT+BABY_INDEX	;

		STZ	BABYCTFLG		;赤ちゃんキャッチフラグクリア

BABYM_SUB10900	EQU	$

		RTS
;
;
BABYM_S38_CHPT	EQU	$
		HEX	24,25,26,27,23,22,21,20,22,23,27,26,25,24,20,21,22,23,22,21,20
BABYM_S38_TIM1	EQU	$
		HEX	20,04,04,20,20,04,04,20,04,20,20,04,04,20,20,04,04,20,04,04,20
;
BABYM_SUB38	EQU	$
		LDY	ENTIM1+BABY_INDEX	;キャラパターンチェンジ ?
		BNE	BABYM_SUB38800		;  no: BABYM_SUB38800

		DEC	<ENCONT+BABY_INDEX
		BPL	BABYM_SUB38100

		LDA	#00014H
		STA	<ENCONT+BABY_INDEX

BABYM_SUB38100	EQU	$
		LDY	<ENCONT+BABY_INDEX
		LDA	!BABYM_S38_CHPT,Y
		AND	#000FFH
		STA	ENCHPT+BABY_INDEX
		LDA	!BABYM_S38_TIM1,Y
		TAY
		STY	ENTIM1+BABY_INDEX

BABYM_SUB38800	EQU	$

		RTS
;
BABYM_S50_CHPT	EQU	$-1
		HEX	1B,1C,1D,1F,1E,1F,1D,1F,1E,1F
BABYM_S50_XMAX	EQU	$
BABYM_S70_XMAX	EQU	$
BABYM_S71_XMAX	EQU	$
		WORD	0FF80H,00080H
;
BABYM_SUB50	EQU	$
		LDY	CCHGFG			;プレイヤーモーフィング終わり ?
		CPY	#003			;
		BNE	BABYM_SUB50800		;  no: BABYM_SUB50800

BABYM_SUB60	EQU	$
BABYM_SUB70	EQU	$
BABYM_SUB90	EQU	$
		LDY	ENTIM1+BABY_INDEX	;キャラパターンチェンジ ?
		BNE	BABYM_SUB50800		;  no: BABYM_SUB50800

		LDY	#002
		STY	ENTIM1+BABY_INDEX

		INC	<ENCONT+BABY_INDEX
		LDY	<ENCONT+BABY_INDEX	;シャボン玉になりきった ?
		CPY	#009			;
		BMI	BABYM_SUB50300		;  no: BABYM_SUB50300

		PHY
		LDY	<ENWRK2+BABY_INDEX	;どろぼうさんに取られてる ?
		CPY	#BABYM_RMODE60		;
		BEQ	BABYM_SUB50200		; yes: BABYM_SUB50200

		LDA	#0FF00H
		STA	ENYSPD+BABY_INDEX
		LDA	#0FF80H
		STA	ENGMAX+BABY_INDEX
		STZ	ENGPOW+BABY_INDEX
		LDA	#00002
		STA	ENGPOW+BABY_INDEX
		CPY	#BABYM_RMODE70		;プレイヤーがダメージを受けてシャボン玉になってる ?
		BNE	BABYM_SUB50200		;  no: BABYM_SUB50200

;;;;;;;;		LDA	#00002
		STA	ENXPOW+BABY_INDEX
		ASL	A	;[ LDA	#00004 ]
		STA	ENGPOW+BABY_INDEX
		LDA	#0FF00H
		STA	ENGMAX+BABY_INDEX
		LDY	ENMUKI+BABY_INDEX
		LDA	!BABYM_S70_XMAX,Y
		STA	ENXMAX+BABY_INDEX
		STZ	ENTIM2+BABY_INDEX

BABYM_SUB50200	EQU	$
		PLY
		STZ	<ENCONT+BABY_INDEX	;パターンチェンジカウンタークリア
		INC	<ENWRK2+BABY_INDEX

BABYM_SUB50300	EQU	$
		LDA	!BABYM_S50_CHPT,Y
		TAY
		STY	ENCHPT+BABY_INDEX

BABYM_SUB50800	EQU	$
		LDY	<ENWRK2+BABY_INDEX	;どろぼーに捕まってる ?
		CPY	#BABYM_RMODE60		;
		BEQ	BABYM_SUB50880		; yes: BABYM_SUB50880
		CPY	#BABYM_RMODE61		;
		BNE	BABYM_SUB50900		;  no: BABYM_SUB50900

BABYM_SUB50880	EQU	$
		JSR	BABYM_DOROB_EX

BABYM_SUB50900	EQU	$

		RTS
;
BABYM_DOROB_EX	EQU	$
		LDY	<ENWRK0+BABY_INDEX	;どろぼーに捕まってる ?
		BEQ	BABYM_D_EX0100		;  no: BABYM_D_EX0100

		LDA	ENMODE,Y		;どろぼうアイテムチェンジ ?
		CMP	#EINIT			;
		BNE	BABYM_D_EX0080		;  no: BABYM_D_EX0080

		JSL	>BABYM_DOROB_C2
		RTS

BABYM_D_EX0080	EQU	$
		CMP	#EMOVE			;どろぼう元気 ?
		BNE	BABYM_D_EX0100		;  no: BABYM_D_EX0100

		LDA	ENMYNO,Y		;（すいかの種専用）
		CMP	#TIMKN			;たいむくんに変えられた ?
		BEQ	BABYM_D_EX0100		; yes: BABYM_D_EX0100
		CMP	#COIN1			;コインに変えられた ?
		BEQ	BABYM_D_EX0100		; yes: BABYM_D_EX0100

		LDA	ENMYNO,Y		;釣りジュゲム ?
		CMP	#TJUGM			;
		BEQ	BABYM_D_EX0800		; yes: BABYM_D_EX0800

		LDA	ENXPSL,Y		;どろぼうさん、近くにいる ?
		SEC				;
		SBC	ENXPSL+BABY_INDEX	;
		CLC				;
		ADC	#00018H			;
		CMP	#00030H			;
		BCS	BABYM_D_EX0100		;  no: BABYM_D_EX0100
						;
		LDA	ENYPSL,Y		;
		SEC				;
		SBC	ENYPSL+BABY_INDEX	;
		CLC				;
		ADC	#00020H			;
		CMP	#00040H			;
		BCC	BABYM_D_EX0800		; yes: BABYM_D_EX0800

BABYM_D_EX0100	EQU	$
		JSL	>BABYM_DOROB_CUT

BABYM_D_EX0800	EQU	$

		RTS
;
BABYM_S51_CHPT	EQU	$
		HEX	1F,20,1F,21
BABYM_S61_CHPT	EQU	$
		HEX	23,22,23,24
BABYM_S51_TIM1	EQU	$
		HEX	04,08,04,08
BABYM_S61_TIM1	EQU	$
		HEX	08,10,08,10
BABYM_S51_NAKI	EQU	$
		HEX	20,18,10,0A
;
BABYM_S51_YCKDT EQU	$
		WORD	000E0H,00020H
;
BABYM_SUB51	EQU	$
		LDX	<ENINDX

		LDA	ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BEQ	BABYM_SUB51100

		JSL	>EN_XYMOVE

BABYM_SUB51100	EQU	$
		LDA	CCHGMK			;変身終わり ?
		ORA	CCHGFG			;
		BNE	BABYM_SUB51500		; yes: BABYM_SUB51500
;
;プレイヤーの背中に乗る
		JSL	>BABYM_SHABN_BRK

		LDA	#ENOSE			;enemy mode set
		STA	ENMODE+BABY_INDEX

		LDA	BABYNO			;baby nose flag set
		AND	#00FFFH			;
		ORA	#08000H			;8000H SET
		STA	BABYNO

		TXA
		STA	NOSEIDX
		LDA	#0FFFFH
		STA	NOSEID2

		STZ	<ENWRK2+BABY_INDEX

		PLA			;直接ＲＴＬ
		RTL

BABYM_SUB51500	EQU	$
		LDA	ENCBFG+BABY_INDEX	;足か頭があたってる ?
		AND	#00003H			;
		BEQ	BABYM_SUB51600		;  no: BABYM_SUB51600

		PHA
		STZ	ENCBFG+BABY_INDEX
		LDA	ENYPSL+BABY_INDEX
		SEC
		SBC	ENMOVY+BABY_INDEX
		STA	ENYPSL+BABY_INDEX
		PLA

		AND	#00002			;加速方向のＢＧにあたった ?
		DEC	A			;
		EOR	ENGMAX+BABY_INDEX	;
		BMI	BABYM_SUB51580		; yes: BABYM_SUB51580

		LDA	ENGMAX+BABY_INDEX
		BRA	BABYM_SUB51590

BABYM_SUB51580	EQU	$
		LDA	ENGMAX+BABY_INDEX
		EOR	#0FFFFH
		INC	A

BABYM_SUB51590	EQU	$
		CMP	#08000H
		ROR	A
		CMP	#08000H
		ROR	A
		STA	ENYSPD+BABY_INDEX
		BRA	BABYM_SUB51680

BABYM_SUB51600	EQU	$
		LDA	ENGMAX+BABY_INDEX	;Ｇ　ＭＡＸ反転していい ?
		CMP	ENYSPD+BABY_INDEX	;
		BNE	BABYM_SUB51800		;  no: BABYM_SUB51800

BABYM_SUB51680	EQU	$
		LDA	#00080H
		STA	ENTIM0+BABY_INDEX

		LDA	ENGMAX+BABY_INDEX
		EOR	#0FFFFH
		INC	A
		STA	ENGMAX+BABY_INDEX

BABYM_SUB51800	EQU	$
BABYM_SUB61	EQU	$
BABYM_SUB91	EQU	$
		LDY	ENTIM1+BABY_INDEX	;キャラパターンチェンジ ?
		BEQ	BABYM_SUB51830		; yes: BABYM_SUB51830
		JMP	BABYM_SUB51980		;  no: BABYM_SUB51980

BABYM_SUB51830	EQU	$
		LDA	<ENCONT+BABY_INDEX
		INC	A
		AND	#00003
		STA	<ENCONT+BABY_INDEX
;
		LDY	<ENWRK2+BABY_INDEX
		CPY	#BABYM_RMODE51
		BEQ	BABYM_SUB51850

		CLC
		ADC	#00004

BABYM_SUB51850	EQU	$
		TAY
		LDA	!BABYM_S51_TIM1,Y
		AND	#000FFH
		STA	ENTIM1+BABY_INDEX
		LDA	!BABYM_S51_CHPT,Y
		TAY
		STY	ENCHPT+BABY_INDEX
		CPY	#024H			;泣く ?
		BNE	BABYM_SUB51900		;  no: BABYM_SUB51900

		LDA	#00044H			;［Ｓ］
		JSL	>SOUND_3_ON
		BRA	BABYM_SUB51980

BABYM_SUB51900	EQU	$
		CPY	#022H
		BNE	BABYM_SUB51980

		LDA	TIMER			;１１秒以下 ?
		CMP	#00AH*(00AH+1)		;
		BMI	BABYM_SUB51940		; yes: BABYM_SUB51940

		LDA	<RANDM0
		AND	#00003
		ASL	A
		ASL	A
		INC	A
		LDY	BABYNAKIF
		BNE	BABYM_SUB51910

		EOR	#0FFFFH
		INC	A

BABYM_SUB51910	EQU	$
		CLC
		ADC	BABYNAKIC
		STA	BABYNAKIC
		CMP	#0000CH
		BPL	BABYM_SUB51920

		SEC
		SBC	#0000CH*2
		EOR	#0FFFFH
		INC	A
		BRA	BABYM_SUB51928

BABYM_SUB51920	EQU	$
		CMP	#00028H+1
		BMI	BABYM_SUB51930

		LDA	#00028H*2
		SEC
		SBC	BABYNAKIC

BABYM_SUB51928	EQU	$
		STA	BABYNAKIC
		LDA	BABYNAKIF
		EOR	#00001
		STA	BABYNAKIF

BABYM_SUB51930	EQU	$
		LDA	BABYNAKIC
		BRA	BABYM_SUB51950

BABYM_SUB51940	EQU	$
		STA	R0
		LDA	#00200H
		STA	R6
		M_CHIP	MULTIPLY
		LDA	ENTIM1+BABY_INDEX
		STA	R6
		M_CHIP	MULTIPLY
;		LDX	<ENINDX
		LDA	R0

BABYM_SUB51950	EQU	$
		STA	ENTIM1+BABY_INDEX

BABYM_SUB51980	EQU	$
		JMP	BABYM_SUB50800
;
BABYM_SUB52	EQU	$
		LDY	ENYSPD+1+BABY_INDEX	;上昇中 ?
		BMI	BABYM_SUB52800		; yes: BABYM_SUB52800

		STZ	PLSTFG
		STZ	ENSTFG
		LDA	#00020H
		STA	PCHNG_TM
		STZ	CCHGEN
		DEC	<ENWRK2+BABY_INDEX
;
BABYM_SUB52800	EQU	$

		RTS
;
BABYM_S71_XPSCK EQU	$
		WORD	000F0H,000D0H
;
BABYM_SUB71	EQU	$
		LDY	#000
		LDA	ENXSPD+BABY_INDEX
		BMI	BABYM_SUB71040

		INY
		INY

BABYM_SUB71040	EQU	$
		STY	ENMUKI+BABY_INDEX
;
		LDY	ENTIM2+BABY_INDEX	;自由落下中 ?
		BEQ	BABYM_SUB71400		;  no: BABYM_SUB71400

		INC	ENTIM2+BABY_INDEX

		LDA	BABYYCKDT		;赤ちゃん、チェックポジションより下になった
		CMP	ENYPSL+BABY_INDEX	;
		BMI	BABYM_SUB71080		; yes: BABYM_SUB71080

		LDA	ENCBFG+BABY_INDEX	;地面に着いた ?
		AND	#00001			;
		BNE	BABYM_SUB71080		; yes: BABYM_SUB71080

		LDY	ENWATR+BABY_INDEX	;水中 ?
		BEQ	BABYM_SUB71100		;  no: BABYM_SUB71100

BABYM_SUB71080	EQU	$
		LDA	#0FF40H
		STA	ENYSPD+BABY_INDEX
		LDA	#00080H
		STA	ENGMAX+BABY_INDEX
		LDA	#00002
		STA	ENGPOW+BABY_INDEX
		STZ	ENTIM2+BABY_INDEX

BABYM_SUB71100	EQU	$
		JMP	BABYM_SUB51800

BABYM_SUB71400	EQU	$
		LDA	#00004
		LDY	ENDSYL+1+BABY_INDEX	;画面外 ?
		BEQ	BABYM_SUB71420		;  no: BABYM_SUB71420

		LDA	ENYSPD+BABY_INDEX
		AND	#0FFF0H
		STA	ENYSPD+BABY_INDEX
		LDA	#00010H

BABYM_SUB71420	EQU	$
		STA	ENGPOW+BABY_INDEX

		LDY	ECRSFG+BABY_INDEX	;投げられたものにあたった ?
		DEY				;
		BMI	BABYM_SUB71500		;
		LDA	ENMODE,Y		;
		CMP	#EMOVE			;
		BNE	BABYM_SUB71500		;
		LDA	ENSHOT,Y		;
		BEQ	BABYM_SUB71500		;  no: BABYM_SUB71500

		TYX
		JSL	>ENDEATH_SET_4

		LDY	#002H
		STY	ENTIM2+BABY_INDEX
		LDA	#00400H
		STA	ENGMAX+BABY_INDEX
		LDA	#00040H
		STA	ENGPOW+BABY_INDEX
		STZ	ENXMAX+BABY_INDEX
		LDA	PLYPSL			;チェックポジションセット
		CLC				;
		ADC	#00030H			;
		CMP	#007E0H			;
		BMI	BABYM_SUB71430		;
						;
		LDA	#007E0H			;
						;
BABYM_SUB71430	EQU	$			;
		STA	BABYYCKDT		;
		BRA	BABYM_SUB71100

BABYM_SUB71500	EQU	$
		LDY	#000
		LDA	ENXSPD+BABY_INDEX
		BPL	BABYM_SUB71600

		INY
		INY

BABYM_SUB71600	EQU	$
		LDA	!BABYM_S71_XPSCK,Y
		LDY	#000
		CMP	ENDSXL+BABY_INDEX
		BMI	BABYM_SUB71700

		INY
		INY

BABYM_SUB71700	EQU	$
		LDA	!BABYM_S71_XMAX,Y
		STA	ENXMAX+BABY_INDEX

		LDY	ENWATR+BABY_INDEX	;水中 ?
		BEQ	BABYM_SUB71800		;  no: BABYM_SUB71800

		LDY	ENGMAX+1+BABY_INDEX	;上昇加速中 ?
		BMI	BABYM_SUB71870		; yes: BABYM_SUB71870
		BRA	BABYM_SUB71810

BABYM_SUB71800	EQU	$
		LDA	ENCBFG+BABY_INDEX	;足か頭があたってる ?
		AND	#00003H			;
		BEQ	BABYM_SUB71830		;  no: BABYM_SUB71830

		STZ	ENCBFG+BABY_INDEX

		AND	#00002			;加速方向のＢＧにあたった ?
		DEC	A			;
		EOR	ENGMAX+BABY_INDEX	;
		BMI	BABYM_SUB71810		; yes: BABYM_SUB71810

		LDA	ENGMAX+BABY_INDEX
		CMP	#08000H
		ROR	A
		CMP	#08000H
		ROR	A
		STA	ENYSPD+BABY_INDEX
		BRA	BABYM_SUB71870

BABYM_SUB71810	EQU	$
		LDA	ENYPSL+BABY_INDEX
		SEC
		SBC	ENMOVY+BABY_INDEX
		STA	ENYPSL+BABY_INDEX
		LDA	ENGMAX+BABY_INDEX
		EOR	#0FFFFH
		INC	A
		CMP	#08000H
		ROR	A
		CMP	#08000H
		ROR	A
		STA	ENYSPD+BABY_INDEX
		BRA	BABYM_SUB71860

BABYM_SUB71830	EQU	$
		LDA	ENGMAX+BABY_INDEX	;反転してもいい ?
		CMP	ENYSPD+BABY_INDEX	;
		BNE	BABYM_SUB71870		;  no: BABYM_SUB71870

;;;;;;;;		LDA	ENGMAX+BABY_INDEX
;;;;;;;;		EOR	ENYSPD+BABY_INDEX
;;;;;;;;		BMI	BABYM_SUB71870

		LDA	BABYYCKDT
		SEC
		SBC	ENYPSL+BABY_INDEX
		EOR	ENYSPD+BABY_INDEX
		BPL	BABYM_SUB71870

		JSL	>BABYYCKDT_SET

BABYM_SUB71860	EQU	$
		LDA	ENGMAX+BABY_INDEX
		EOR	#0FFFFH
		INC	A
		STA	ENGMAX+BABY_INDEX

BABYM_SUB71870	EQU	$
		JMP	BABYM_SUB51800
;
BABYM_SUB80	EQU	$
		LDA	#00002			;赤ちゃん追跡
		STA	ENMUKI+BABY_INDEX	;
		LDA	EPWIDX+BABY_INDEX	;
		PHP				;
		BPL	BABYM_SUB80100		;
						;
		EOR	#0FFFFH			;
		INC	A			;
						;
BABYM_SUB80100	EQU	$			;
		LSR	A			;
		CMP	#00018H			;
		BMI	BABYM_SUB80200		;
						;
		LDA	#00018H			;
						;
BABYM_SUB80200	EQU	$			;
		CLC				;
		ADC	#00018H			;
		STA	ENXPOW+BABY_INDEX	;
		ASL	A			;
		ASL	A			;
		ASL	A			;
		ASL	A			;
		PLP				;
		BMI	BABYM_SUB80300		;
						;
		EOR	#0FFFFH			;
		INC	A			;
		STZ	ENMUKI+BABY_INDEX	;
						;
BABYM_SUB80300	EQU	$			;
		STA	ENXMAX+BABY_INDEX	;
						;
		LDA	EPWIDY+BABY_INDEX	;
		PHP				;
		BPL	BABYM_SUB80400		;
						;
		EOR	#0FFFFH			;
		INC	A			;
						;
BABYM_SUB80400	EQU	$			;
		LSR	A			;
		CMP	#00018H			;
		BMI	BABYM_SUB80500		;
						;
		LDA	#00018H			;
						;
BABYM_SUB80500	EQU	$			;
		CLC				;
		ADC	#00018H			;
		STA	ENGPOW+BABY_INDEX	;
		ASL	A			;
		ASL	A			;
		ASL	A			;
		ASL	A			;
		PLP				;
		BMI	BABYM_SUB80600		;
						;
		EOR	#0FFFFH			;
		INC	A			;
						;
BABYM_SUB80600	EQU	$			;
		STA	ENGMAX+BABY_INDEX	;
;
		JMP	BABYM_SUB51800
;
DEATH_I_POS	EQU	$
		WORD	0FFC0H,0FFF0H,00000H,00020H
;
DEATH_SET2	EQU	$
		LDX	<ENINDX
		LDA	DEATHLOC2		;ボス戦 ?
		BEQ	DEATH_SET2080		;  no: DEATH_SET2080

		LDA	TIMER_HI		;タイマー切れた ?
		ORA	TIMER_MID		;
		BEQ	DEATH_SET2080		; yes: DEATH_SET2080

DEATH_SET2040	EQU	$
		RTS

DEATH_SET2080	EQU	$
		LDA	DEATHLOC		;死神セットロック ?
		BNE	DEATH_SET2040		; yes: DEATH_SET2040

		INC	DEATHLOC		;死神セットロックフラグセット
		STZ	DEATHCT0		;カウンタークリア
		STZ	DEATHCT1		;カウンタークリア
		STZ	DEATHFLG

		LDA	#00004			;消去チェックカウンターセット
		STA	DEATHCHK		;

		LDA	ESCCH1
		STA	<EWORKA
		LDA	ESCCV1
		STA	<EWORKC
		STZ	<EWORKE
		LDA	DSPMOD			;ボスＱちゃん戦 ?
		CMP	#00009			;
		BNE	DEATH_SET2090		;  no: DEATH_SET2090

		LDA	ESCCH4
		STA	<EWORKA
		LDA	ESCCV4
		STA	<EWORKC
		LDY	#006
		STY	<EWORKE

DEATH_SET2090	EQU	$
		LDY	#008
		LDA	#DEATH			;セットＯＫ ?
		JSL	>ENINSR2		;

		LDA	<EWORKA			;Ｘ　ＰＯＳ．セット
		CLC				;
		ADC	#00080H			;
		STA	ENXPSL,Y		;
		LDA	<EWORKC			;Ｙ　ＰＯＳ．セット
		SEC				;
		SBC	#00010H			;
		STA	ENYPSL,Y		;

		LDA	ENDORE,Y
		ORA	<EWORKE
		STA	ENDORE,Y

		LDY	#000
		LDX	#003*4
DEATH_SET2500	EQU	$
		STZ	D_XSDR,X
		STZ	D_XPSH,X
		STZ	D_YSDR,X
		STZ	D_YPSH,X
		LDA	!DEATH_I_POS,Y
		STA	D_XPSL,X
		STZ	D_MODE,X
		STZ	D_RMOD,X
		STZ	D_XSPD,X
		STZ	D_YSPD,X
		STZ	D_XMAX,X
		STZ	D_GMAX,X
		STZ	D_XPOW,X
		STZ	D_GPOW,X
		STZ	D_TIM0,X
		STZ	D_TIM1,X
		STZ	D_TIM2,X
		STZ	D_CHPT,X
		STZ	D_NUM0,X
		STZ	D_BBFG,X
		STZ	D_MUKI,X
		INY
		INY
		DEX
		DEX
		DEX
		DEX
		BPL	DEATH_SET2500

		LDX	<ENINDX

		RTS
;
BABYCHNO	EQU	$
;ENCHPT =		[00] [01] [02] [03]					;歩く
		HEX	000, 001, 000, 002
;			[04] [05] [06] [07] [08] [09] [0A] [0B] [0C]		;バウンドジャンプ
		HEX	003, 003, 003, 003, 003, 003, 003, 003, 003
;			[0D] [0E] [0F]						;歩いてるヨッシーに乗ってる
		HEX	003, 003, 004
;			[10] [11]						;走ってるヨッシーに乗ってる
		HEX	003, 005
;			[12]							;ヨッシーに乗って上を向いてる
		HEX	006
;			[13] [14]						;ヨッシーに乗っていないいない
		HEX	007, 007
;			[15] [16] [17]						;落ちてる
		HEX	008, 009, 00A
;			[18] [19] [1A] [1B] [1C] [1D] [1E]			;泣く
		HEX	00B, 00C, 00D, 00E, 00F, 010, 010
;			[1F]							;ヨッシーに乗ってドアを入ってる
		HEX	011
;			[20] [21] [22] [23] [24] [25] [26] [27]			;Ｗ１デモ
		HEX	006, 012, 012, 006, 003, 013, 013, 003
;			[28] [29] [2A]						;釣りジュゲムにさらわれてる
		HEX	014, 014, 015
;			[2B] [2C] [2D] [2E] [2F] [30] [31] [32] [33] [34]	;ボス戦クリアデモ
		HEX	010, 016, 017, 017, 016, 00F, 018, 019, 008, 010
;
BABYCADR	EQU	$
		WORD	002E0H*20H+CHR50,002E2H*20H+CHR50	;[0]はいはい
		WORD	002E0H*20H+CHR50,002E6H*20H+CHR50	;[1]はいはい
		WORD	002E0H*20H+CHR50,002E8H*20H+CHR50	;[2]はいはい

		WORD	002E0H*20H+CHR50,002E4H*20H+CHR50	;[3]ばうんど　＆　のってる１
		WORD	002C6H*20H+CHR50,002E4H*20H+CHR50	;[4]のってる２
		WORD	002C8H*20H+CHR50,002E4H*20H+CHR50	;[5]のってる３

		WORD	002C0H*20H+CHR50,002E4H*20H+CHR50	;[6]うえむき

		WORD	00280H*20H+CHR50,00282H*20H+CHR50	;[7]いないいない

		WORD	002A4H*20H+CHR50,002A6H*20H+CHR50	;[8]おちてる１
		WORD	002A8H*20H+CHR50,002AAH*20H+CHR50	;[9]おちてる２
		WORD	002ACH*20H+CHR50,002AEH*20H+CHR50	;[A]おちてる３

		WORD	00240H*20H+CHR50,00260H*20H+CHR50	;[B]泣く
		WORD	00242H*20H+CHR50,00262H*20H+CHR50	;[C]泣く
		WORD	00244H*20H+CHR50,00264H*20H+CHR50	;[D]泣く
		WORD	002C8H*20H+CHR50,002ECH*20H+CHR50	;[E]泣く
		WORD	002E0H*20H+CHR50,002ECH*20H+CHR50	;[F]泣く
		WORD	002C6H*20H+CHR50,002ECH*20H+CHR50	;[10]泣く

		WORD	00284H*20H+CHR50,00286H*20H+CHR50	;[11]ドアに入る

		WORD	00248H*20H+CHR50,002E4H*20H+CHR50	;[12]Ｗ１デモ
		WORD	00268H*20H+CHR50,002E4H*20H+CHR50	;[13]Ｗ１デモ

		WORD	002E0H*20H+CHR50,002CCH*20H+CHR50	;[14]釣りジュゲムにさらわれてる
		WORD	002EEH*20H+CHR50,002CEH*20H+CHR50	;[15]釣りジュゲムにさらわれてる

		WORD	002C0H*20H+CHR50,002ECH*20H+CHR50	;[16]ボス戦クリアデモ
		WORD	00248H*20H+CHR50,002ECH*20H+CHR50	;[17]ボス戦クリアデモ
		WORD	0024CH*20H+CHR50,0026CH*20H+CHR50	;[18]ボス戦クリアデモ
		WORD	00246H*20H+CHR50,00266H*20H+CHR50	;[19]ボス戦クリアデモ
;
BABYCHNO_SP	EQU	$
;ENCHPT =		[1B] [1C] [1D] [1E]					;ノーマルー＞シャボン玉
		HEX	003, 003, 003, 003
;			[1F] [20] [21]						;シャボン玉（ぷよぽよ）
		HEX	003, 003, 003
;			[22] [23] [24]						;シャボン玉（泣きいり）
		HEX	00D, 00C, 00B
;
;
BABYM_CHR_TR2	EQU	$
		PHB
		PHK
		PLB
		JSR	BABYM_CHR_TRANS
		PLB
		LDX	<ENINDX
		RTL
;
BABYM_CHR_TRANS EQU	$
		LDA	ENCHPT+BABY_INDEX	;キャラパターン変わった ?
		CMP	<ENWRK4+BABY_INDEX	;
		BEQ	BABYM_CCHG0800		;  no: BABYM_CCHG0800

		STA	<ENWRK4+BABY_INDEX
		TAY

		LDA	ENMOD2+BABY_INDEX	;シャボンになってる ?
		AND	#1111100000000000B	;
		CMP	#0011000000000000B	;
		BNE	BABYM_CCHG		;  no: BABYM_CCHG

		LDA	!BABYCHNO_SP-01BH,Y
		BRA	BABYM_CCHG0040

BABYM_CCHG	EQU	$
		LDA	!BABYCHNO,Y	;

BABYM_CCHG0040	EQU	$
		AND	#000FFH		;
		ASL	A
		ASL	A
		TAY

BABYM_CCHG2	EQU	$
		PHX
		LDX	#000H

BABYM_CCHG0100	EQU	$
		LDA	!BABYCADR,Y
		STA	BABYCH0,X

		CLC
		ADC	#00200H
		STA	BABYCH0+2,X

		INY
		INY
		INX
		INX
		INX
		INX
		CPX	#002*4
		BMI	BABYM_CCHG0100

		INC	BABYTRF		;char. trans. flag set

		PLX

BABYM_CCHG0800	EQU	$

		RTS
;
;----------------------------------------------------------------
;-		ボスＱちゃん用ルーチン				-
;----------------------------------------------------------------
B_SP_SUB	EQU	$
B_SP_00		EQU	$
		WORD	B_SP_SUB00		;シャボン玉になる
B_SP_01		EQU	$
		WORD	B_SP_SUB01		;シャボン玉になってる
B_SP_10		EQU	$
		WORD	B_SP_SUB10		;プレイヤーに飛び乗ってる
B_SP_20		EQU	$
		WORD	B_SP_SUB20		;ダミー（死神に連れ去られてる）
B_SP_80		EQU	$
		WORD	B_SP_SUB80		;ボスクリア後にプレイヤーの背中に乗る
;
B_SP_RMODE00	EQU	(B_SP_00-B_SP_SUB)/2
B_SP_RMODE01	EQU	(B_SP_01-B_SP_SUB)/2
B_SP_RMODE10	EQU	(B_SP_10-B_SP_SUB)/2
B_SP_RMODE20	EQU	(B_SP_20-B_SP_SUB)/2
B_SP_RMODE80	EQU	(B_SP_80-B_SP_SUB)/2
;
BABYM_SPECIAL	EQU	$
		LDA	TIMER_HI		;タイムアップ ?
		ORA	TIMER_MID		;
		BNE	B_SP0080		;  no: B_SP0080

		JSR	DEATH_SET2

B_SP0080	EQU	$
		JSR	B_SP_OAM_SET

		LDA	ENMODE+BABY_INDEX	;乗せモード ?
		CMP	#ENOSE			;
		BNE	B_SP0100		;  no: B_SP0100

		JSR	BABYM_CHR_TRANS
		JSL	>ENMDCK

B_SP0100	EQU	$
		JSR	B_SP_ROT_SET

		LDA	ENSTFG			;メイン処理が動いていない ?
		ORA	BIRIBIRI
		ORA	ITEMNO
		BEQ	B_BP0500		;  no: B_BP0500

		JSL	>EN_TIMER
		JSL	>EN_XYMOVE

B_BP0500	EQU	$
		LDA	ENDSXL+BABY_INDEX
		CLC
		ADC	#00008
		SEC
		SBC	PCENTX
		CLC
		ADC	SCCH1
		STA	EPWIDX+BABY_INDEX

		LDA	ENDSYL+BABY_INDEX
		CLC
		ADC	#00008
		SEC
		SBC	PCENTY
		CLC
		ADC	SCCV1
		STA	EPWIDY+BABY_INDEX
;
		JSR	B_SP_EAT_CHK
;
		LDA	<ENWRK2+BABY_INDEX
		ASL	A
		TAX
		JSR	(B_SP_SUB,X)

		JSR	B_SP_PLCHK

		LDY	<ENWRK2+BABY_INDEX	;死神に連れ去られてる ?
		CPY	#B_SP_RMODE20		;
		BEQ	B_SP0700		; yes: B_SP0700
		CPY	#B_SP_RMODE10		;プレイヤーに跳ね上げられてる ?
		BEQ	B_SP0700		; yes: B_SP0700

		JSR	B_SP_POS_CALC
		JSR	B_SP_BOSS_CLCK

B_SP0700	EQU	$
		LDX	<ENINDX

		RTL
;
;
B_SP_EAT_CHK	EQU	$
		LDA	ENMODE+BABY_INDEX	;プレイヤーに食べられてる ?
		CMP	#EEATM			;
		BNE	B_SP_E_CHK0800		;  no: B_SP_E_CHK0800

		LDY	<ENWRK2+BABY_INDEX
		CPY	#B_SP_RMODE10
		BEQ	B_SP_E_CHK0800

		LDA	#00001
		STA	ENSTFG
		STA	BABYRTFLG
		LDA	#1000000000000000B	;プレイヤーの位置計算処理のみキャンセルするため
		TSB	PLSTFG			;

		LDY	BERFLG			;下から食われた ?
		CPY	#004			;
		BNE	B_SP_E_CHK0100		;  no: B_SP_E_CHK0100

		LDA	BERYPS			;プレイヤーの近くにきた ?
		CMP	#0FFF0H			;
		BMI	B_SP_E_CHK0800		;  no: B_SP_E_CHK0800
		BRA	B_SP_E_CHK0300		; yes: B_SP_E_CHK0300

B_SP_E_CHK0100	EQU	$
		LDA	BERXPS			;プレイヤーの近くにきた ?
		CLC				;
		ADC	#00010H			;
		CMP	#00020H			;
		BCS	B_SP_E_CHK0800		;  no: B_SP_E_CHK0800

B_SP_E_CHK0300	EQU	$
		STZ	EATSTP

B_SP_JUMP_UP	EQU	$
		LDA	#EMOVE
		STA	ENMODE+BABY_INDEX
		LDY	#000
		STY	ENWATR+BABY_INDEX

		LDY	#007
		STY	BABYAWAPT
		LDY	#B_SP_RMODE10
		STY	<ENWRK2+BABY_INDEX
		STZ	BABYCTFLG

		INC	BABYRTFLG
		LDA	#00001
		STA	PLSTFG
		INC	ENSTFG

B_SP_E_CHK0800	EQU	$

		RTS
;
B_SP_PLCHK	EQU	$
		LDA	ENTIM3+BABY_INDEX	;プレイヤーチェックロック ?
		BNE	B_SP_PLCHK0800		; yes: B_SP_PLCHK0800

		LDY	ECRSFG+BABY_INDEX	;プレイヤーと接触した ?
		BPL	B_SP_PLCHK0800		;  no: B_SP_PLCHK0800

		LDY	BABYCTFLG		;プレイヤーにはねられた ?
		BEQ	B_SP_JUMP_UP		;  no: B_SP_JUMP_UP

B_SP_PLCHK0800	EQU	$
B_SP_O_SET0000	EQU	$

		RTS
;
B_SP_BOSS_CLCK	EQU	$
		LDY	GOAL_BOSS_CLEAR		;ボスクリア ?
		BEQ	B_SP_B_CLCK080		;  no: BABYM_B_CLCK080

		LDA	ENMOD2+BABY_INDEX	;シャボン玉になってる ?
		AND	#1110000000000000B	;
		BEQ	B_SP_B_CLCK080		;  no: BABYM_B_CLCK080

		LDY	#B_SP_RMODE80
		STY	<ENWRK2+BABY_INDEX

B_SP_B_CLCK080	EQU	$

		RTS
;
;
;
;
B_SP_OAM_SET	EQU	$
		LDA	ENMODE+BABY_INDEX	;乗せモード ?
		CMP	#ENOSE			;
		BEQ	B_SP_O_SET0000		; yes: B_SP_O_SET0000

		LDA	BABYAWAPT		;あわ出てる ?
		CMP	#00007			;
		BPL	B_SP_O_SET0100		;  no: B_SP_O_SET0100

		STA	R3

		LDA	ENOAML+BABY_INDEX
		STA	R4
		TXA
		STA	R10		;(R10) <-- 敵のインデックス
		LDA	#BANK BABYM_SP_CHAR
		STA	R0		;(R0)  <-- ＯＡＭセットデータアドレス
		LDA	#BABYM_SP_CHAR
		STA	R14		;(R14) <--		”
		LDA	ENDSXL+BABY_INDEX
		STA	R1
		LDA	ENDSYL+BABY_INDEX
		STA	R2
		LDA	ENMUKI+BABY_INDEX
		STA	R8
		LDA	#00004
		STA	R12
		M_CHIP	M_OAMSET_SB
		LDX	<ENINDX
		BRA	B_SP_O_SET0300

B_SP_O_SET0100	EQU	$
		I16
		LDY	ENOAML+BABY_INDEX
		LDA	#08000H
		STA	SOAM_DX+0+8*0,Y
		STA	SOAM_DX+0+8*1,Y
		STA	SOAM_DX+0+8*2,Y
		STA	SOAM_DX+0+8*3,Y
		I8

B_SP_O_SET0300	EQU	$
		LDY	ENMUKI+BABY_INDEX
		LDA	ENDSXL+BABY_INDEX
		CLC
		ADC	#0FFF8H
		STA	<EWORK0
		LDA	ENDSYL+BABY_INDEX
		SEC
		SBC	#00008
		STA	<EWORK2
		LDA	ENMUKI+BABY_INDEX
		AND	#0FF00H
		LSR	A
		LSR	A
		LSR	A
		ORA	ENCLOR+BABY_INDEX
		XBA
		STA	<EWORK6

		I16
		LDY	ENOAML+BABY_INDEX
		LDA	<EWORK0			;Ｘ　ＰＯＳ．セット
		STA	SOAM_DX+0+8*4,Y
		STA	SOAM_DX+0+8*6,Y
		CLC
		ADC	#00010H
		STA	SOAM_DX+0+8*5,Y
		STA	SOAM_DX+0+8*7,Y
		LDA	<EWORK2			;Ｙ　ＰＯＳ．セット
		STA	SOAM_DX+2+8*4,Y
		STA	SOAM_DX+2+8*5,Y
		CLC
		ADC	#00010H
		STA	SOAM_DX+2+8*6,Y
		STA	SOAM_DX+2+8*7,Y
		LDA	<EWORK6			;向き、アトリビュート、キャラＮＯセット
		ORA	#00062H
		STA	SOAM_DX+4+8*4,Y
		LDA	<EWORK6
		ORA	#00064H
		STA	SOAM_DX+4+8*5,Y
		LDA	<EWORK6
		ORA	#00082H
		STA	SOAM_DX+4+8*6,Y
		LDA	<EWORK6
		ORA	#00084H
		STA	SOAM_DX+4+8*7,Y
		LDA	#00202H
		STA	SOAM_DX+6+8*4,Y
		STA	SOAM_DX+6+8*5,Y
		STA	SOAM_DX+6+8*6,Y
		STA	SOAM_DX+6+8*7,Y
		I8

		RTS
;
BABYM_SP_CHAR	EQU	$
		BYTE	000H,003H	;[00]
		HEX	A2,0A,00
		BYTE	008H,003H
		HEX	A3,0A,00
		BYTE	000H,00BH
		HEX	B2,0A,00
		BYTE	008H,00BH
		HEX	B3,0A,00
;
		BYTE	0FAH,0FAH	;[01]
		HEX	9C,0A,02
		BYTE	0FAH,006H
		HEX	7E,CA,02
		BYTE	005H,006H
		HEX	7E,8A,02
		BYTE	005H,0FAH
		HEX	7E,0A,02
;
		BYTE	0FAH,0F5H	;[02]
		HEX	9C,0A,02
		BYTE	0FBH,005H
		HEX	7E,CA,02
		BYTE	005H,005H
		HEX	7E,8A,02
		BYTE	006H,0F5H
		HEX	7E,0A,02
;
		BYTE	0F8H,0F8H	;[03]
		HEX	9C,0A,02
		BYTE	0F8H,004H
		HEX	7E,CA,02
		BYTE	008H,004H
		HEX	7E,8A,02
		BYTE	008H,0F8H
		HEX	7E,0A,02
;
		BYTE	0F9H,0F7H	;[04]
		HEX	9C,0A,02
		BYTE	0F9H,005H
		HEX	7E,CA,02
		BYTE	007H,005H
		HEX	7E,8A,02
		BYTE	007H,0F7H
		HEX	7E,0A,02
;
		BYTE	0FAH,0F6H	;[05]
		HEX	9C,0A,02
		BYTE	0FAH,006H
		HEX	7E,CA,02
		BYTE	006H,006H
		HEX	7E,8A,02
		BYTE	006H,0F6H
		HEX	7E,0A,02
;
		BYTE	0F8H,0F8H	;[06]
		HEX	9C,0A,02
		BYTE	0F8H,004H
		HEX	7E,CA,02
		BYTE	008H,004H
		HEX	7E,8A,02
		BYTE	008H,0F8H
		HEX	7E,0A,02
;
B_SP_ANG_DT	EQU	$
		WORD	0FE80H,00180H
		WORD	0FF80H,00080H
;
B_SP_POS_CALC	EQU	$
		LDA	ENXPSL+BABY_INDEX	;メインルーチンのポジション計算無効
		SEC				;
		SBC	ENMOVX+BABY_INDEX	;
		STA	ENXPSL+BABY_INDEX	;
		LDA	ENYPSL+BABY_INDEX	;
		SEC				;
		SBC	ENMOVY+BABY_INDEX	;
		STA	ENYPSL+BABY_INDEX	;
;
		LDA	ENYSPD+BABY_INDEX	;
		EOR	#0FFFFH			;
		SEC				;
		ADC	BABYRAD			;半径計算
		BPL	B_SP_P_C0080		;
						;
		LDA	#07FFFH			;
						;
B_SP_P_C0080	EQU	$			;
		CMP	#03800H			;	;地表に着いた ?
		BPL	B_SP_P_C0100		;	;  no: B_SP_P_C0100
						;
		LDA	ENYSPD+BABY_INDEX	;
		EOR	#0FFFFH			;
		INC	A			;
		STA	ENYSPD+BABY_INDEX	;
		LDA	#03800H			;
						;
B_SP_P_C0100	EQU	$			;
		STA	BABYRAD			;

		LDA	ENXSPD+BABY_INDEX	;角度計算
		BEQ	B_SP_P_C0600		;
						;
		EOR	#0FFFFH			;
		SEC		;[ INC	A ]	;
		ADC	BABYANG			;
		STA	BABYANG			;

B_SP_P_C0600	EQU	$
;
		M8				;絶対ポジション変換
		LDA	BABYRAD+1		;
		STA	<EWORKE			;
		LDA	BABYANG+1		;
		STA	<EWORK0			;
		JSL	>B_LOOP			;
		M16				;
;
		RTS
;
B_SP_ROT_SET	EQU	$
		LDA	#BANK CIPCHD3+60E0H+001 ;(R13) <-- 転送元バンクセット
		STA	R13			;
		LDA	#CIPCHD3+60E0H+001	;(R12) <-- 転送元アドレスセット
		STA	R12			;

		LDY	<ENWRK2+BABY_INDEX	;赤ちゃん連れ去られてる ?
		CPY	#B_SP_RMODE20		;
		BNE	B_SP_R_SET0100		;  no: B_SP_R_SET0100

		STZ	R5
		BRA	B_SP_R_SET0200

B_SP_R_SET0100	EQU	$
		LDY	MD7_ANGL
		TYA
		STA	<EWORK0
		LDY	BABYANG+1		;(R5) <- 回転角セット
		TYA
		CLC
		ADC	<EWORK0
		AND	#000FFH
		STA	R5			;

B_SP_R_SET0200	EQU	$
		LDA	#00100H			;(R6) <- 倍率セット
		STA	R6			;

;		LDA	#00000H			;(R3) <- ビットマップ座標＿Ｘセット
		STZ	R3			;
		LDA	#00020H			;(R2) <- ビットマップ座標＿Ｙセット
		STA	R2			;
;
;-------------- OBJ mode 7 set ----------------------------------
		M_CHIP	C_32_ROTZOM

		LDA	#04620H			;Vram addr. set
		STA	<EWORK0
		LDA	#WOB7CHR+0800H		;DMA A_bus addr. set
		STA	<EWORK2
		LDA	#00004
		STA	<EWORK4

		PHB
		M8
		LDA	#BANK VRAMDX
		PHA
		PLB

		MI16
		LDX	VRAMDX

B_SP_R_SET1000	EQU	$
		LDA	<EWORK0			;Vram addr. set
		STA	00H,X			; ( 2116h & 2117h )
		LDA	#00180H			;inc. mode & DMA para. set
		STA	02H,X			; ( 2115h & 43*0h )
		LDA	#00018H			;DMA B_bus addr. set ( 0021**H )
		STA	04H,X			; ( 43*1h )
		LDA	<EWORK2			;DMA A_bus addr. set
		STA	05H,X			; ( 43*2h & 43*3h )
		LDA	#BANK WOB7CHR		;DMA A_bus bank set
		STA	07H,X			; ( 43*4h )
		LDA	#00080H			;DMA trans. data sum. set
		STA	08H,X			; ( 43*5h & 43*6h )

		LDA	<EWORK0
		CLC
		ADC	#00100H
		STA	<EWORK0
		LDA	<EWORK2
		CLC
		ADC	#00200H
		STA	<EWORK2

		TXA				;next data addr. calc.
		CLC				;
		ADC	#00008H+2+2		;
		STA	0AH,X			;next data addr. set
		TAX

		DEC	<EWORK4
		BNE	B_SP_R_SET1000

		STX	VRAMDX			;last data addr. set
		I8
		PLB
;
		LDX	<ENINDX
;
		RTS
;
B_SP_S00_CHPT	EQU	$-1
		HEX	00,01,02,04,03,04,02,04,03,04
B_SP_S00_XMAX	EQU	$
		WORD	0FFC0H,00040H
;
B_SP_SUB00	EQU	$
		LDA	ENTIM0+BABY_INDEX
		BNE	B_SP_SUB00800

		LDY	ENTIM1+BABY_INDEX
		BNE	B_SP_SUB00800

		INC	<ENCONT+BABY_INDEX
		LDY	<ENCONT+BABY_INDEX
		CPY	#009
		BMI	B_SP_SUB00300

		LDY	ENMUKI+BABY_INDEX
		LDA	!B_SP_S00_XMAX,Y
		STA	ENXMAX+BABY_INDEX
		LDA	#00004H
		STA	ENXPOW+BABY_INDEX
		LDA	#00004H
		STA	ENGPOW+BABY_INDEX
		STZ	ENGMAX+BABY_INDEX
		STZ	<ENWRK0+BABY_INDEX
		INC	<ENWRK2+BABY_INDEX
		RTS

B_SP_SUB00300	EQU	$
		LDA	!B_SP_S00_CHPT,Y
		TAY
		STY	BABYAWAPT
		LDY	#002
		STY	ENTIM1+BABY_INDEX

B_SP_SUB00800	EQU	$

		RTS
;
B_SP_S01_CHPT	EQU	$
		HEX	04,05,04,06
B_SP_S01_GMAX	EQU	$
		WORD	00080H,0FF80H
;
B_SP_SUB01	EQU	$
		LDY	ENTIM1+BABY_INDEX
		BNE	B_SP_SUB01300

		LDA	<ENCONT+BABY_INDEX
		INC	A
		AND	#00003
		TAY
		STY	<ENCONT+BABY_INDEX
		AND	#00001
		ASL	A
		ASL	A
		CLC
		ADC	#00004
		STA	ENTIM1+BABY_INDEX
		LDA	!B_SP_S01_CHPT,Y
		TAY
		STY	BABYAWAPT

B_SP_SUB01300	EQU	$
		LDY	ENTIM0+BABY_INDEX
		BNE	B_SP_SUB01800

		LDY	#060H
		STY	ENTIM0+BABY_INDEX
		LDA	#00008H
		STA	ENGPOW+BABY_INDEX

		LDA	<ENWRK0+BABY_INDEX
		EOR	#00002
		STA	<ENWRK0+BABY_INDEX
		TAY
		LDA	!B_SP_S01_GMAX,Y
		STA	ENGMAX+BABY_INDEX

B_SP_SUB01800	EQU	$
B_SP_SUB20	EQU	$

		RTS
;
B_SP_SUB10	EQU	$
		LDY	BABYCTFLG		;プレイヤーに跳ね上げられた後 ?
		BNE	B_SP_SUB10500		; yes: B_SP_SUB10500

		LDA	EPWIDX+BABY_INDEX
		STA	R0
		LDA	#-00800H
		STA	R6
		M_CHIP	MULTIPLY
;		LDX	<ENINDX
		LDA	R0
		STA	ENXSPD+BABY_INDEX

		STZ	R0
		LDA	EPWIDY+BABY_INDEX
		BMI	B_SP_SUB10200

		STA	R0
		LDA	#-00800H
		STA	R6
		M_CHIP	MULTIPLY
;		LDX	<ENINDX

B_SP_SUB10200	EQU	$
		LDA	R0
		CLC
		ADC	#0FC00H
		STA	ENYSPD+BABY_INDEX
		STZ	ENXPOW+BABY_INDEX
		LDA	#00040H
		STA	ENGPOW+BABY_INDEX
		LDA	#00400H
		STA	ENGMAX+BABY_INDEX
		STZ	ENCBFG+BABY_INDEX

		INC	BABYCTFLG
		LDY	BABYAWAPT		;シャボン玉に入ってる ?
		CPY	#007			;
		BPL	B_SP_SUB10400		;  no: B_SP_SUB10400

		JSL	>BABYM_AWABR_SET

B_SP_SUB10400	EQU	$
		LDA	BABYANG			;角度計算
		SEC				;
		SBC	ENXSPD+BABY_INDEX	;
		STA	BABYANG			;
		RTS

B_SP_SUB10500	EQU	$
		LDY	ENYSPD+BABY_INDEX+1	;赤ちゃん落ちてる ?
		BMI	B_SP_SUB10400		;  no: B_SP_SUB10400

		LDA	EPWIDY+BABY_INDEX
		CMP	#00008H
		BCS	B_SP_SUB10400

B_SP_SUB10600	EQU	$
		LDA	#00001			;乗ってるフラグセット
		STA	ENWRKC+BABY_INDEX	;

		LDA	#00043H			;［Ｓ］
		JSL	>SOUND_3_ON

		LDA	#ENOSE			;enemy mode set
		STA	ENMODE+BABY_INDEX
		STZ	ENWRK6+BABY_INDEX
		STZ	ENWRK8+BABY_INDEX
		STZ	<ENCONT+BABY_INDEX
		STZ	<ENWRK2+BABY_INDEX
		STZ	<ENWRK0+BABY_INDEX
		LDY	#000
		STY	ENWATR+BABY_INDEX	;水中フラグクリア
		LDA	#0000DH
		STA	ENCHPT+BABY_INDEX
		STZ	ENWRK4+BABY_INDEX	;予防策として
		LDA	#0001100000000001B	;セットキャラを８から３に
		STA	ENMOD2+BABY_INDEX	;

		LDA	BABYNO			;baby nose flag set
		AND	#00FFFH
		ORA	#08000H
		STA	BABYNO

		STZ	BABYCTFLG
		STZ	PLSTFG
		STZ	ENSTFG

		LDX	<ENINDX

		PLA				;直接ＲＴＬ
		RTL
;
B_SP_S80_XSPD	EQU	$
		WORD	00200H,0FE00H
;
B_SP_SUB80	EQU	$
		LDY	MD7_ANGL
		TYA
		STA	<EWORK0
		LDY	BABYANG+1		;(R5) <- 回転角セット
		TYA
		CLC
		ADC	<EWORK0
		TAY
		PHP
		LDY	#000
		PLP
		BPL	B_SP_SUB80100

		INY
		INY

B_SP_SUB80100	EQU	$
		LDA	!B_SP_S80_XSPD,Y
		STA	ENXSPD+BABY_INDEX
		JMP	B_SP_SUB01
;
;************************************************************************
;*		nose	( 赤ちゃん )					*
;************************************************************************
BABYMNS		EQU	$			;-- babymns --
		LDY	#000
		STY	ENWATR+BABY_INDEX

		LDA	GOAL_BOSS_CLEAR		;ボスクリア ?
		BEQ	BABYMNS0010		;  no: BABYMNS0010

		LDY	#0FFH
		LDA	PLPATN			;げろぞーくんの胃の中に入るデモ中 ?
		CMP	#PC02			;
		BEQ	BABYMNS0008		;  yes: BABYMNS0008

		LDY	#004

BABYMNS0008	EQU	$
		STY	ENYUSN+BABY_INDEX

		RTL

BABYMNS0010	EQU	$
		LDA	GOAL_IN
		BEQ	BABYMNS_0000	;ゴールイン？ ( no:BABYMNS_0000 )
		LDA	PLNAGE
		BEQ	BABYMNS_0000	;投げられる？ ( no:BABYMNS_0000 )
;
		JSL	>NAGE_POS_SET	;投げられ位置セット
;
BABYMNS_0000	EQU	$
		TXA
		STA	NOSEIDX

		LDA	ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BEQ	BABYMNS0100

		JSL	>EN_TIMER

BABYMNS0100	EQU	$
		JSR	B_PLCHG_CHK		;プレイヤー変身チェック
		JSR	B_PLDMG_CHK		;プレイヤーダメージチェック
		JSR	B_YUSN_SET		;優先順位セット
		JSR	B_CHPT_SET		;キャラパターンセット

		RTL
;
BALL_XREV	EQU	$
		WORD	00003H,0FFFBH
;
B_PLCHG_CHK	EQU	$
		LDA	CCHGFG			;変身しようとしてる ?
		CMP	#00001			;
		BEQ	B_PCHG_CHK0100		; yes: B_PCHG_CHK0100

		LDY	CCHGMK			;何かに変身してる（元に戻ろうとしていない） ?
		BNE	B_PCHG_CHK0100		; yes: B_PCHG_CHK0100

		RTS

B_PCHG_CHK0100	EQU	$
		LDY	#000
		STY	ENYUSN+1+BABY_INDEX

		LDY	PLCMKI
		LDA	PLXPSL			;Ｘ　ＰＯＳ．補正
		CLC				;
		ADC	!BALL_XREV,Y		;
		STA	ENXPSL+BABY_INDEX	;
		LDA	PLYPSL			;Ｙ　ＰＯＳ．補正
		CLC				;
		ADC	#0000AH			;
		STA	ENYPSL+BABY_INDEX	;

		LDA	ENMUKI+BABY_INDEX	;キャラ向き反転
		EOR	#00002			;
		STA	ENMUKI+BABY_INDEX	;

		INC	CCHGFG

		JSR	BABYM_SHABN_CHG
		LDY	#BABYM_RMODE50
		STY	<ENWRK2+BABY_INDEX

		PLA
		RTL
;
B_PLDMG_CHK	EQU	$
		LDA	PLMODE			;プレイヤー壁に潰されてる ?
		CMP	#PGUS			;
		BEQ	B_PLDMG_CHK0100		; yes: B_PLDMG_CHK0100

		LDA	PLFLSH			;プレイヤーダメージ ?
		SEC				;
		SBC	#000A7H+8*3+20H-40H	;
;;;;;;;;		SBC	#000A7H+8*3+20H		;
		BNE	B_PLDMG_CHK0800		;  no: B_PLDMG_CHK0800

B_PLDMG_CHK0100 EQU	$
		JSR	BABYM_MOVE

		LDA	ENYPSL+BABY_INDEX
		CLC
		ADC	#00004
		STA	ENYPSL+BABY_INDEX

B_PLDMG_CHK0800 EQU	$

		RTS
;
B_YUSN_SET	EQU	$
		LDA	#0FFFFH			;赤ちゃん見えない ?
		LDY	ENYUSN+BABY_INDEX	;
		BMI	B_Y_S0800		; yes: B_Y_S0800

		I16
		LDY	PLTYPE			;ゆきだるまになってる ?
		CPY	#P_SKI			;
		BEQ	B_Y_S0300		; yes: B_Y_S0300

;		LDY	PLCLOR			;げろぞーくんの胃の中に入るデモ中 ?
;		CPY	#00001100B		;
;		BEQ	B_Y_S0300		; yes: B_Y_S0300
		LDY	PLPATN			;げろぞーくんの胃の中に入るデモ中 ?
		CPY	#PC02			;
		BEQ	B_Y_S0300		;  yes: B_Y_S0300

		LDA	#00002
		LDY	ENTRDRFG		;ドアに入ろうとしてる ?
		BNE	B_Y_S0300		; yes: B_Y_S0300
						;
		LDY	KOOPA_FG		;大クッパ戦 ?
		BNE	B_Y_S0300		; yes: B_Y_S0300

		INC	A			;
		INC	A			;
						;
B_Y_S0300	EQU	$			;
		STA	ENYUSN+BABY_INDEX	;
		I8

B_Y_S0800	EQU	$

		RTS
;
B_ENTER_DOOR_CK EQU	$
		LDY	ENTRDRFG		;プレイヤーズームドアに入ろうとしてる ?
		BEQ	B_E_D_CK0800		;  no: B_E_D_CK0800

		LDY	#01BH
		STY	ENCHPT+BABY_INDEX

		LDY	#012H
		STY	ENTIM1+BABY_INDEX

		LDA	#00004
		STA	<ENCONT+BABY_INDEX

		LDA	#0000CH
		STA	ENWRK6+BABY_INDEX

		STZ	ENMUKI+BABY_INDEX

		INC	<ENWRK2+BABY_INDEX

B_E_D_CK0800	EQU	$

		RTS
;
BABYM_CH_BASE	EQU	$
		WORD	0000DH,00010H
BABYM_CH_LIMIT	EQU	$-2
		WORD	00012H
;
B_CHPT_SET	EQU	$
		LDY	HELLO_LUIGI		;エンディングデモ ?
		BEQ	B_CHPT_SET0008		;  no: B_CHPT_SET0008

		LDY	#002
		JMP	B_CHPT_SET1300

B_CHPT_SET0008	EQU	$
		LDA	PLMODE			;プレイヤー土管にはいろうとしてる ?
		CMP	#PDKN			;
		BNE	B_CHPT_SET0080		;  no: B_CHPT_SET0080

		LDA	DOKNMK			;横向き土管に入ってる ?
		AND	#000FFH			;
		CMP	#00002			;
		BEQ	B_CHPT_SET0010		; yes: B_CHPT_SET0010
		CMP	#00004			;
		BNE	B_CHPT_SET0080		;  no: B_CHPT_SET0080

B_CHPT_SET0010	EQU	$
		JMP	B_CHPT_SET2180

B_CHPT_SET0080	EQU	$
		LDA	ENSTFG			;ゲームストップ ?
		ORA	PLSTFG			;
		ORA	BIRIBIRI
		ORA	ITEMNO
		BEQ	B_CHPT_SET1000		;  no: B_CHPT_SET1000

		LDY	ENTRDRFG		;プレイヤードアの中に入ろうとしてる ?
		BEQ	B_CHPT_SET0100		;  no: B_CHPT_SET0100

		LDY	#01FH
		STY	ENCHPT+BABY_INDEX

B_CHPT_SET0100	EQU	$

		RTS

B_CHPT_SET1000	EQU	$
		LDA	TIMER
		CMP	#00AH*05
		BPL	B_CHPT_SET1100

		RTS

B_CHPT_SET1100	EQU	$
		LDY	#002
		LDA	PLJUMP			;プレイヤージャンプしてる ?
		BEQ	B_CHPT_SET1200		;  no: B_CHPT_SET1200

		LDA	PLYSPD
		BRA	B_CHPT_SET1400

B_CHPT_SET1200	EQU	$
		LDA	PLXSPD			;プレイヤー止まってる ?
		BEQ	B_CHPT_SET2000		; yes: B_CHPT_SET2000
		CLC				;プレイヤースピードが速い ?
		ADC	#00270H			;
		CMP	#004E0H			;
		BCS	B_CHPT_SET1300		; yes: B_CHPT_SET1300

		DEY
		DEY

B_CHPT_SET1300	EQU	$
		LDA	PLXSPD			;キャラパターンチェンジ ?
						;
B_CHPT_SET1400	EQU	$			;
		BPL	B_CHPT_SET1500		;
						;
		EOR	#0FFFFH			;
		INC	A			;
						;
B_CHPT_SET1500	EQU	$			;
		CLC				;
		ADC	ENWRK6+BABY_INDEX	;
		CMP	#00F00H			;
		BMI	B_CHPT_SET1700		;  no: B_CHPT_SET1700

		SEC
		SBC	#00F00H
		PHA

		INC	<ENCONT+BABY_INDEX
		LDA	<ENCONT+BABY_INDEX
		CLC
		ADC	!BABYM_CH_BASE,Y
		CMP	!BABYM_CH_LIMIT,Y
		BMI	B_CHPT_SET1600

		STZ	<ENCONT+BABY_INDEX

		LDA	!BABYM_CH_BASE,Y

B_CHPT_SET1600	EQU	$
		STA	ENCHPT+BABY_INDEX

		PLA

B_CHPT_SET1700	EQU	$
		STA	ENWRK6+BABY_INDEX
		RTS

B_CHPT_SET2000	EQU	$
		LDY	#00DH
		LDA	PLUPFG			;プレイヤー上見てる ?
		BEQ	B_CHPT_SET2100		;  no: B_CHPT_SET2100

		LDA	BBLUPCNT		;見上げる ?
		INC	A			;
		INC	A			;
		STA	BBLUPCNT		;
		BPL	B_CHPT_SET2080

		LDA	#07FFFH
		STA	BBLUPCNT

B_CHPT_SET2080	EQU	$
		CMP	#00020H			;
		BCC	B_CHPT_SET2700		;  no: B_CHPT_SET2700

		LDY	#012H
		BRA	B_CHPT_SET2700

B_CHPT_SET2100	EQU	$
		LDA	BBLUPCNT
		LSR	A
		STA	BBLUPCNT

		CPX	ENEATFG			;パックンに食われてる ?
		BEQ	B_CHPT_SET2700		; yes: B_CHPT_SET2700

		LDA	PLSITD			;プレイヤーしゃがんでる ?
		BEQ	B_CHPT_SET2300		;  no: B_CHPT_SET2300

B_CHPT_SET2180	EQU	$
		LDA	BBLDWCNT		;しゃがむ ?
		INC	A			;
		INC	A			;
		STA	BBLDWCNT		;
		BPL	B_CHPT_SET2200

		LDA	#07FFFH
		STA	BBLDWCNT

B_CHPT_SET2200	EQU	$
		CMP	#00020H			;
		BCC	B_CHPT_SET2700		;  no: B_CHPT_SET2700

		LDY	#013H
		CMP	#00024H
		BMI	B_CHPT_SET2700

		INY
		BRA	B_CHPT_SET2700

B_CHPT_SET2300	EQU	$
		LDA	BBLDWCNT		;
		LSR	A			;
		STA	BBLDWCNT		;

B_CHPT_SET2700	EQU	$
		STY	ENCHPT+BABY_INDEX

BABYM_MOVE0000	EQU	$

		RTS
;
BABYM_MV_XSPD	EQU	$
		WORD	00180H,0FE80H
;
BABYM_MOVE2	EQU	$
		PHA
		PHA
		BRA	BABYM_MOVE0100
;
BABYM_MOVE	EQU	$
		LDX	<ENINDX
		CPX	ENEATFG			;パックンに食われてる ?
		BEQ	BABYM_MOVE0000		; yes: BABYM_MOVE0000

BABYM_MOVE0100	EQU	$
		PHX
;		LDX	PLCMKI			;x speed set
		LDA	PLCMKI			;x speed set
		STA	ENMUKI+BABY_INDEX
		EOR	#00002
		TAX
;
		LDA	>BABYM_MV_XSPD,X	;
		STA	ENXSPD+BABY_INDEX	;
;		TXA
;		EOR	#00002
;		STA	ENMUKI+BABY_INDEX
		PLX

		LDA	BABYNO			;baby nose flag clear
		AND	#07FFFH			;8000H CLEAR
		STA	BABYNO

		LDA	#EMOVE			;enemy mode set
		STA	ENMODE+BABY_INDEX
		LDY	#000
		STY	ENWATR+BABY_INDEX

		STZ	<ENCONT+BABY_INDEX	;キャラパターンインデックスクリア
		STZ	ENWRKC+BABY_INDEX	;乗ってるフラグクリア

		LDA	#0FC00H			;jump speed set
		STA	ENYSPD+BABY_INDEX

		STZ	<ENWRK2+BABY_INDEX	;ENWRK2 <-- routine mode index set
		LDA	#1111011000101001B	;食えるように
		STA	ENMOD0+BABY_INDEX	;

		LDA	DSPMOD			;ボスＱちゃん ?
		CMP	#00009			;
		BNE	BABYM_MOVE0600		;  no: BABYM_MOVE0600

		LDA	#00005H
		STA	ENTIM0+BABY_INDEX
		LDA	#0100000000000001B	;セットキャラを３からに８
		STA	ENMOD2+BABY_INDEX
		LDA	#0110000001000000B	;ＢＧチェックなし
		STA	ENMOD1+BABY_INDEX	;
		STZ	BABYAWAPT		;あわパターンフラグクリア

		LDA	MD7_ANGL-1		;
		EOR	#0FFFFH
		INC	A
		AND	#0FF00H			;
		STA	BABYANG			;角度クリア
		LDA	#05000H			;半径セット
		STA	BABYRAD
		LDY	#010H			;プレイヤーチェックロックタイマーセット
		BRA	BABYM_MOVE0700

BABYM_MOVE0600	EQU	$
		LDA	PLYPSL
		SEC
		SBC	#00014H
		STA	BABYYCKDT
		LDY	#020H			;プレイヤーチェックロックタイマーセット

BABYM_MOVE0700	EQU	$
		STY	ENTIM3+BABY_INDEX
		LDA	#0FFFFH
		STA	NOSEIDX
		PLA			;直接ＲＴＬ
		PLA
		RTL
;
;
;
;
;
;
;
;
		END
