;************************************************************************
;*									*
;*	title name	: "yossy"					*
;*	proccess	: mini game 2					*
;*	file name	: ys_mini1					*
;*									*
;************************************************************************
;
;
		SALL
;
		include		ys_header.inc
		include		ys_color.h
		include		../union/ys_mapobj.h
		include		../union/ys_bgcheck.h
		include		ys_presno.h
		include		ys_pld.h
;
		XALL
;
;
;
;------------------------------------------------------------------------
;-		global symbol						-
;------------------------------------------------------------------------
;
		GLB	MINIINT1_2,MINIMOV1_2,MINIINT1_4,MINIMOV1_4
		GLB	MINIINT1_5,MINIMOV1_5,MINIINT1_6,MINIMOV1_6
		GLB	MINIINT1_7,MINIMOV1_7
;
		GLB	M_THOIN,M_TAMIN,M_DR0IN,M_TH1IN,M_HEIIN,M_DR1IN
		GLB	M_BAKIN,M_MISIN,M_BBYIN,M_DR3IN,M_DR4IN,M_SUIIN
		GLB	M_DR5IN,M_ITMIN
		GLB	M_THOMV,M_TAMMV,M_DR0MV,M_TH1MV,M_HEIMV,M_DR1MV
		GLB	M_BAKMV,M_MISMV,M_BBYMV,M_DR3MV,M_DR4MV,M_SUIMV
		GLB	M_DR5MV,M_ITMMV
;
		GLB	WINVRMD,LOSVRMD
;
		GLB	ITST1,ITST2,IT1UP
;
;------------------------------------------------------------------------
;-		extern symbol						-
;------------------------------------------------------------------------
;-------------< ys_main >------------------------------------------------
		EXT	OAMDXCLR,RANDAM
;
		EXT	MINIT
;
		EXT	SOUND_3_ON
;
;-------------< ys_init >------------------------------------------------
		EXT	VRAMDX_ST
;
;-------------< ys_rpro >------------------------------------------------
		EXT	CHIPON,CHIPON_RAM_READ
;
		EXT	MWIN,MLOS
;
;-------------< ys_play >------------------------------------------------
		EXT	PLAYER,PLCSET,PSCRL_INIT,PLSCRL,BERO_CANCEL
		EXT	HERI_INITL,CAR_INITL
;
;-------------< ys_enmy >------------------------------------------------
		EXT	ENEMY_IN,ENCSET_DM,ENRAMCLR,ENINSR_I,TROBJ_SR_4x4
		EXT	TROBJ_OAM_4x4_I,ENCLEAR,BEAT_P_SET_2,ENMDCK,PLFLST
		EXT	SHOT_EN_KILL,ENINSR,ENINSR2_I,PDON0ST_2
		EXT	TROBJ_OAM_4x4
		EXT	TROBJ_SR_4x4_CL
;
		EXT	TROBJ_PLOT_X,TROBJ_PLOT_Y
;
		EXT	EFIRE,EMOVE,EFAIL
;
		EXT	EGG00,SUIKA,FIRE0,SUIKT,FIREX
;
		EXT	M_THO,M_TAM,M_DR0,M_TH1,M_HEI,M_DR1,M_BAK,M_MIS
		EXT	M_BBY,M_DR3,M_DR4,M_SUI,M_DR5,M_ITM
;
;-------------< ys_enmy3 >-----------------------------------------------
		EXT	BSCLR_KIRA_SET,FUSNB_SET_2
;
;-------------< ys_exst >------------------------------------------------
		EXT	EXINSR
;
		EXT	SMK05,M_SM0
;
;-------------< ys_bgsc >------------------------------------------------
		EXT	UNITST_SUB,MINI_INT_BG,BGSET
;
;-------------< ys_mini >------------------------------------------------
		EXT	MHDPLY_JSL
		EXT	BACK_GAME
;
;-------------< ys_bgdt5 >-----------------------------------------------
		EXT	MINICORS00,MINICORS01
;
;-------------< ys_data >------------------------------------------------
		EXT	COS,SIN
;
;-------------< ys_bonus >-----------------------------------------------
		EXT	ITEMINPUT_L
;
;------------------------------------------------------------------------
;-		define symbol						-
;------------------------------------------------------------------------
;
;
;
;************************************************************************
;*									*
;*		program start						*
;*									*
;************************************************************************
;
;
;
		EXTEND
;
;
		MEM8
		IDX8
;
Group_11	GROUP	Mini1_pro
Mini1_pro	SECT	REL
;
;----------------------------------------------------------------
;
;
;****************************************************************
;*								*
;*		ミニ ゲーム イニシャル セット			*
;*								*
;****************************************************************
;
;
MINIINT1_2	EQU	$
;-------------- スクロール値 クリア -----------------------------
		M16			; memory 16 bit mode !!
;
		STZ	<SCCH1
		STZ	<SCCV1
		STZ	<SCCH2
		STZ	<SCCV2
		STZ	<SCCH3
		STZ	<SCCV3
		M8			; memory 8bit mode !!
;
		LDA	#069H
		STA	!BG1SCF
		STA	2107H
		LDA	#039H
		STA	!BG2SCF
		STA	2108H
		LDA	#009H
		STA	BGMODE
		STA	2105H
		STZ	HD420C
		STZ	SUBADF
;
;-------------- ゲーム イニシャル ---------------------------------------
		MI16			; memory,index 8 bit mode !!
;
		LDA	#000B0H
		STA	PLYPSL		; player Y initial set !!
		LDA	#00030H
		STA	PLXPSL		; player X initial set !!
		STZ	UNBUFAD
		STA	TIMER
;
		LDA	#00030H
		STA	MNTIME		; ミニゲームタイマーセット
		LDA	#00001
		STA	MNTMCT		; ミニゲームタイマーカウンターセット
		STZ	PLTMCT
		STZ	ENTMCT
;
;;;;;;;;		LDA	#0FFFFH
;;;;;;;;		STA	OBJCHR_BNK
;;;;;;;;		STA	OBJCHR_BNK+2
;;;;;;;;		STA	OBJCHR_BNK+4
;;;;;;;;;
		LDX	#001FEH
		LDA	#00000
;
INT1_2_050	EQU	$
		STA	>BGUNIT,X
		DEX
		DEX
		BPL	INT1_2_050	; BG unit buffer clear end ?
;					; Yes !!
		LDX	#00FH*2
		LDA	#00100H
;
INT1_2_100	EQU	$
		STA	>BGUNIT,X
		STA	>BGUNIT+1A0H,X
		DEX
		DEX
		BPL	INT1_2_100
;
		LDX	#00160H
;
INT1_2_150	EQU	$
		LDA	#00100H
		STA	>BGUNIT,X
		STA	>BGUNIT+01EH,X
		TXA
		SEC
		SBC	#00020H
		TAX
		BNE	INT1_2_150
;
;;;;K;;;;		JSR	METERST_200
;
		I8			; index 8 bit mode !!
;
		LDA	#M_THO
		JSL	>ENINSR_I
		LDA	#M_DR0
		JSL	>ENINSR_I
;
		MI8			; memory,index 8 bit mode !!
;
		JSL	>ENEMY_IN
;
		RTS
;
;
;****************************************************************
;*								*
;*		ミニ ゲーム					*
;*								*
;****************************************************************
MINIMOV1_2	EQU	$
		JSL	>OAMDXCLR	; OAM clear sub !!
		JSL	>ENCSET_DM	; enemy char set sub !!
		JSL	>PLCSET		; player char set sub !!
;
		STZ	SPECIAL_P
;
		LDA	MNMODE
		ASL	A
		TAX
		JSR	(!MIN2TBL,X)
;
		M16			; memory 16 bit mode !!
;
		M_CHIP	DX_OAM		; SOAM_DX => OAM convert
;
		M8			; memory 8 bit mode !!
;
		RTS
;
;
MIN2TBL		EQU	$
		WORD	MIN2NOM		; ミニゲームプレイ処理
		WORD	MIN2PWN		; ミニゲームプレイヤー勝利処理
		WORD	MIN2EWN		; ミニゲーム敵勝利処理
;
;
;;;;;;;;MINIMOV1_2	EQU	$
;;;;;;;;		JSL	>OAMDXCLR	; OAM clear sub !!
;;;;;;;;		JSL	>ENCSET_DM	; enemy char set sub !!
;;;;;;;;		JSL	>PLCSET		; player char set sub !!
;;;;;;;;;
;;;;;;;;		STZ	SPECIAL_P
;;;;;;;;		LDA	MNTIME
;;;;;;;;		BNE	MINIMOV1_2_050	; ミニゲーム終了　？
;;;;;;;;;					; Yes !!
;;;;;;;;		JSL	>MHDPLY_JSL
;;;;;;;;		JMP	MINIMOV1_2_100
;;;;;;;;;
;;;;;;;;MINIMOV1_2_050	EQU	$
;;;;;;;;		JSL	>PLAYER		; player move sub !!
;;;;;;;;;
;;;;;;;;		MEM8
;;;;;;;;		IDX8
;;;;;;;;		LDA	!MSGMOD		; メッセージ ウィンドゥ ＯＮ ?
;;;;;;;;		BNE	MINIMOV1_2_100	;	YES -> MINIMOV1_2_100
;;;;;;;;;
;;;;;;;;		JSL	>ENEMY_IN	; enemy move sub !!
;;;;;;;;;
;;;;;;;;		MI16			; memory,index 16 bit mode !!
;;;;;;;;;
;;;;;;;;		JSR	METERST		; meter set sub !!
;;;;;;;;;
;;;;;;;;MINIMOV1_2_100	EQU	$
;;;;;;;;		M16			; memory 16 bit mode !!
;;;;;;;;		I8			; index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		M_CHIP	DX_OAM		; SOAM_DX => OAM convert
;;;;;;;;;
;;;;;;;;		M8			; memory 8 bit mode !!
;;;;;;;;;
;;;;;;;;		RTS
;;;;;;;;;
;;;;;;;;;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	MIN2NOM ( ミニゲームプレイ処理 )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ITMDATA		EQU	$
		BYTE	ITHAT,ITTMG
;
;
MIN2NOM		EQU	$
		JSR	>PLAYER		; player move sub !!
;
		LDA	MSGMOD
		BNE	MIN2NOM_END	; メッセージ ウィンドゥ ＯＮ ?
;					; No !!
		JSL	>ENEMY_IN	; enemy move sub !!
;
		MI16
;
		JSR	METERST		; meter set sub !!
;
		I8
;
		LDA	MNMODE
		BEQ	MIN2NOM_END	; ミニゲーム終了　？
;					; Yes !!
		LDX	#(ENNO-1)*4
;
MIN2NOM_050	EQU	$
		LDA	ENMODE,X
		BEQ	MIN2NOM_100	; 敵がいてる　？
;					; Yes !!
		STZ	ENXSPD,X
		STZ	ENYSPD,X
		STZ	ENGPOW,X
		STZ	ENXPOW,X
;
MIN2NOM_100	EQU	$
		DEX
		DEX
		DEX
		DEX
		BPL	MIN2NOM_050	; チェックが終わった　？
;					; Yes !!
		LDA	MNTIME
		BNE	MIN2NOM_END	; ゲーム終了　？
;					; Yes !!
		LDA	WINFLG
		BNE	MIN2NOM_END	; プレイヤーが勝った　？
;					; Yes !!
		LDA	#M_ITM
		JSL	>ENINSR_I
		BCC	MIN2NOM_END
;
		JSL	>RANDAM
		AND	#00001H
		TAX
		LDA	!ITMDATA,X
		AND	#000FFH
		STA	ENWRK0,Y	; アイテムＮｏ．セット
;
		LDA	#00080H
		STA	ENYPSL,Y
		LDA	#00070H
		STA	ENXPSL,Y
;
MIN2NOM_END	EQU	$
		M8
;
		RTS
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	MIN2PWN ( ミニゲームプレイヤー勝利処理 )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MIN2PWN		EQU	$
		JSR	>PLAYER		; player move sub !!
		JSL	>ENEMY_IN	; enemy move sub !!
;
		LDA	ITGTFG
		BEQ	MIN2PWN_END	; アイテムを取った　？
;					; Yes !!
		LDA	PLJUMP
		BNE	MIN2PWN_END	; プレイヤージャンプ中　？
;					; No !!
;;;;;;;;		M16
;;;;;;;;;
;;;;;;;;		LDA	#080H
;;;;;;;;		STA	WAITTM
;;;;;;;;;
;;;;;;;;		M8
;;;;;;;;;
		INC	MNMODE
		INC	PLSTFG
;
MIN2PWN_END	EQU	$
		JSL	>MHDPLY_JSL
		RTS
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	MIN2EWN ( ミニゲーム敵勝利処理 )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MIN2EWN		EQU	$
		JSR	>PLAYER		; player move sub !!
		JSL	>ENEMY_IN	; enemy move sub !!
;
		LDA	#001H
		STA	PLSTFG
		STA	ITGTFG
		JMP	MIN2PWN_END
;
;
;------------------------------------------------------------------------
		MEM16
		IDX16
;
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	METERST ( meter set sub )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
METERST		EQU	$
		CLC
		SED
		LDA	PLTMCT
		ADC	SPECIAL_P
		STA	PLTMCT		; プレイヤー玉カウントアップ
		CLD
;
		DEC	MNTMCT
		BNE	METERST_200	; タイマーカウントダウン　？
;					; Yes !!
		SEC
		SED
		LDA	MNTIME
		SBC	#00001
		STA	MNTIME		; ミニゲームタイマーセット
		CLD
		BNE	METERST_150	; ミニゲームタイマー　０　？
;					; Yes !!
		LDY	#00000
		LDA	PLTMCT
		CMP	ENTMCT
		BCS	METERST_100	; プレイヤーの勝ち　？
;					; No !!
		INY
;
METERST_100	EQU	$
		STY	WINFLG
		INY
		STY	MNMODE
		LDA	#00001
		STA	HDMMOD
		BRA	METERST_200
;
METERST_150	EQU	$
		LDA	MNTIME
		CMP	#00006H
		BCS	METERST_170	; サウンドを鳴らす　？
;					; Yes !!
		LDA	#0007FH
		JSL	>SOUND_3_ON	; [♪]
;
METERST_170	EQU	$
		LDA	#00063
		STA	MNTMCT		; ミニゲームタイマーカウントセット
;
METERST_200	EQU	$
		PHB
		LDA	#BANK VRAMDX
		PHA
		PLB
;
		LDX	VRAMDX
		LDA	#03484H
		STA	0,X
		CLC
		ADC	#00020H
		STA	16,X
		LDA	#0348FH
		STA	32,X
		ADC	#00020H
		STA	48,X
		LDA	#0349AH
		STA	64,X
		ADC	#00020H
		STA	80,X
;
		LDA	#00180H
		STA	2,X
		STA	18,X
		STA	34,X
		STA	50,X
		STA	66,X
		STA	82,X
;
		LDA	#00018H
		STA	4,X
		STA	20,X
		STA	36,X
		STA	52,X
		STA	68,X
		STA	84,X
;
		TXA
		ADC	#00012
		STA	5,X
		ADC	#00016
		STA	21,X
		ADC	#00016
		STA	37,X
		ADC	#00016
		STA	53,X
		ADC	#00016
		STA	69,X
		ADC	#00016
		STA	85,X
;
		LDA	#BANK VRAMDX
		STA	7,X
		STA	23,X
		STA	39,X
		STA	55,X
		STA	71,X
		STA	87,X
;
		LDA	#00004
		STA	8,X
		STA	24,X
		STA	40,X
		STA	56,X
		STA	72,X
		STA	88,X
;
		TXA
		ADC	#00016
		STA	10,X
		ADC	#00016
		STA	26,X
		ADC	#00016
		STA	42,X
		ADC	#00016
		STA	58,X
		ADC	#00016
		STA	74,X
		ADC	#00016
		STA	90,X
		STA	VRAMDX
;
		PLB
		PLB
;
		TXA
		SEC
		SBC	#VRAMDX+2
		TAX
;
		LDA	PLTMCT
		TAY
		AND	#000F0H
		LSR	A
		LSR	A
		LSR	A
		LSR	A
		ORA	#02900H
		STA	>VRAMDX+14,X
		ORA	#00010H
		STA	>VRAMDX+30,X
;
		TYA
		AND	#0000FH
		ORA	#02900H
		STA	>VRAMDX+16,X
		ORA	#00010H
		STA	>VRAMDX+32,X
;
		LDA	MNTIME
		TAY
		AND	#000F0H
		LSR	A
		LSR	A
		LSR	A
		LSR	A
		ORA	#02900H
		STA	>VRAMDX+46,X
		ORA	#00010H
		STA	>VRAMDX+62,X
;
		TYA
		AND	#0000FH
		ORA	#02900H
		STA	>VRAMDX+48,X
		ORA	#00010H
		STA	>VRAMDX+64,X
;
		LDA	ENTMCT
		TAY
		AND	#000F0H
		LSR	A
		LSR	A
		LSR	A
		LSR	A
		ORA	#02900H
		STA	>VRAMDX+78,X
		ORA	#00010H
		STA	>VRAMDX+94,X
;
		TYA
		AND	#0000FH
		ORA	#02900H
		STA	>VRAMDX+80,X
		ORA	#00010H
		STA	>VRAMDX+96,X
;
		RTS
;
;------------------------------------------------------------------------
		MEM16
		IDX8
;
		DPAGE	EN0RAM
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_THO_IN	( ミニゲーム大砲イニシャルセット )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
XSPEDDT		EQU	$
		WORD	0FF00H,00100H
;
;
M_THOIN		EQU	$
		LDA	#00038H
		STA	ENYPSL,X	; 大砲Ｘ座標イニシャルセット
		LDA	#00070H
		STA	ENXPSL,X	; 大砲Ｙ座標イニシャルセット
		STZ	ENWRKC,X	; 大砲向きイニシャルセット
		LDY	ENWRKC,X
		LDA	!XSPEDDT,Y
		STA	ENXSPD,X	; 大砲Ｘスピードイニシャルセット
		LDA	#00040H
		STA	ENTIM0,X	; 玉発射タイマーセット
		STZ	<ENWRK4,X	; 回転向きクリアー
		STZ	ENWRK6,X	; 回転角セット
		LDA	#00100H
		STA	ENWRK8,X	; Ｘ倍率セット
		LDA	#00100H
		STA	ENWRKA,X	; Ｙ倍率セット
		STZ	<ENCONT,X	; フレームカウンタークリアー
;
		STZ	ENTROB,X
;
KAITEN_ST	EQU	$
		LDA	#CIPCHD3+0080H
		STA	R12		;(R12) <-- キャラクターアドレス（Ｌ，Ｈ）
		LDA	#BANK CIPCHD3
		STA	R13		;(R13) <--	   ”		(Ｂ）
		LDA	ENWRK6,X
		STA	R5		;(R5)  <-- 角度
		LDA	ENWRK8,X
		STA	R6		;(R6)  <-- Ｘ倍率
		LDA	ENWRKA,X
		STA	R11		;(R11) <-- Ｙ倍率
;
		LDY	ENTROB,X
		TYX
		LDA	>TROBJ_PLOT_X,X
		STA	R3		;(R3)  <-- ビットマップ座標＿Ｘ
		LDA	>TROBJ_PLOT_Y,X
		STA	R2		;(R2)  <--	  ”	   ＿Ｙ
		M_CHIP	C_32_RTZ_32_XY
;
		INC	OBM7WF		;転送キャラクター転送フラグ”ＯＮ”
;
		LDX	<ENINDX
;
M_THOIN_END	EQU	$
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_THO_MV	( ミニゲーム大砲ムーブ )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
KAKUCMP		EQU	$
		WORD	00020H,000E0H
;
XPSDCMP		EQU	$
		WORD	00018H,000C8H
;
KAKUDOD		EQU	$
		WORD	00002H,0FFFEH
;
XBAIDAT		EQU	$
		WORD	00133H,0014DH,00166H,00133H,00100H
;
YBAIDAT		EQU	$
		WORD	000CDH,000B3H,0009AH,00100H,00100H
;
BAITMDT		EQU	$
		WORD	0000AH,0000AH,00010H,00004H,00000H
;
;
M_THOMV		EQU	$
		LDA	MNMODE
		BNE	M_THOIN_END	; ミニゲーム終了　？
;					; No !!
		LDA	ENTIM0,X
		BEQ	M_THO_MV_050	; 玉発射　？
;					; No !!
		INC	<ENCONT,X
		LDA	<ENCONT,X
		AND	#00003
		BEQ	M_THO_MV_020	; 砲身角度チェンジ　？
;					; No !!
M_THO_MV_010	EQU	$
		JMP	M_THO_MV_200
;
M_THO_MV_020	EQU	$
		LDY	<ENWRK4,X
		LDA	ENWRK6,X
		CLC
		ADC	!KAKUDOD,Y
		AND	#000FFH
		STA	ENWRK6,X	; 砲身角度セット
		CMP	!KAKUCMP,Y
		BNE	M_THO_MV_040	; 角度オーバー　？
;					; Yes !!
		TYA
		AND	#000FFH
		EOR	#00002H
		STA	<ENWRK4,X	; 回転向き反転
;
M_THO_MV_040	EQU	$
		JMP	M_THO_MV_150
;
M_THO_MV_050	EQU	$
		LDA	ENTIM2,X
		BNE	M_THO_MV_010	; 砲身キャラクターチェンジ　？
;					; Yes !!
		INC	<ENWRK0,X	; 砲身キャラクターポインターインク
		LDA	<ENWRK0,X
		ASL	A
		TAY
		CPY	#(YBAIDAT-XBAIDAT)-2
		BEQ	M_THO_MV_060	; 玉セット　？
;					; No !!
M_THO_MV_055	EQU	$
		JMP	M_THO_MV_100
;
M_THO_MV_060	EQU	$
		PHY
		LDA	#M_TAM
		JSL	>ENINSR_I	; 玉イニシャルセット
		BCC	M_THO_MV_055	; 玉セット　？
;					; Yes !!
		LDA	ENXPSL,X
		CLC
		ADC	#00008H
		STA	ENXPSL,Y	; 玉　Ｘ座標イニシャルセット
		LDA	ENYPSL,X
		CLC
		ADC	#00008H
		STA	ENYPSL,Y	; 玉　Ｙ座標イニシャルセット
;
		LDA	ENWRK6,X
		CLC
		ADC	#00040H
		AND	#000FFH
		ASL	A
		TAX
		LDA	>SIN,X
		ASL	A
		ASL	A
		STA	ENYSPD,Y	; 玉　Ｙスピードセット
		LDA	>COS,X
		ASL	A
		STA	ENXSPD,Y	; 玉　Ｘスピードセット
;
		LDX	<ENINDX
		LDA	#M_SM0		; 大砲発射煙Ｎｏ．
		JSL	>EXINSR
		LDA	ENWRK6,X
		STA	EXWRK4,Y	; 砲身角度セット
		LDA	ENXPSL,X
		CLC
		ADC	#00008
		STA	EXXPSL,Y	; 爆発煙Ｘ座標セット
		LDA	ENYPSL,X
		STA	EXYPSL,Y	; 爆発煙Ｙ座標セット
		LDA	#0000BH*4
		STA	EXWRKA,Y	; Ｘ半径セット
		LDA	#00003H*4
		STA	EXWRKC,Y	; Ｙ半径セット
		LDA	#00000H
		STA	EXCHPT,Y	; 爆発煙パターンＮｏ．セット
		LDA	#00003
		STA	EXTIM0,Y	; 爆発煙パターンタイマーセット
		LDA	#00004
		STA	EXTIM1,Y
		LDA	#00024H
		STA	EXCLOR,Y	; プライオリティセット
;
		LDA	#00047H
		JSL	>SOUND_3_ON	; [♪]
		PLY
;
M_THO_MV_100	EQU	$
		LDA	!XBAIDAT,Y
		STA	ENWRK8,X	; Ｘ倍率セット
		LDA	!YBAIDAT,Y
		STA	ENWRKA,X	; Ｙ倍率セット
		LDA	!BAITMDT,Y
		STA	ENTIM2,X	; タイマーセット
		BNE	M_THO_MV_150	; 砲身キャラクターチェンジ終わり　？
;					; Yes !!
		STZ	<ENWRK0,X	; 砲身キャラクターポインタークリアー
		LDA	<RANDM0
		AND	#0003FH
		ADC	#00040H
		STA	ENTIM0,X	; 玉発射タイマーセット
;
M_THO_MV_150	EQU	$
		JSL	>KAITEN_ST	; 砲身回転
;
M_THO_MV_200	EQU	$
		LDY	ENWRKC,X
		LDA	ENDSXL,X
		CMP	!XPSDCMP,Y
		BNE	M_THO_MV_250	; 砲台移動反転　？
;					; Yes !!
		STZ	ENXSDR,X
		LDA	!XPSDCMP,Y
		STA	ENXPSL,X	; Ｘ座標セット
		TYA
		EOR	#00002
		TAY
		STA	ENWRKC,X	; 砲台移動向き反転
		LDA	!XSPEDDT,Y
		STA	ENXSPD,X	; 砲台移動スピードセット
;
M_THO_MV_250	EQU	$
		RTL
;
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_TAMIN		( 玉イニシャル )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_TAMIN		EQU	$
		LDY	#000
		LDA	ENXSPD,X
		BPL	M_TAMIN_050	; 玉　Ｘスピードプラス　？
;					; No !!
		INY
		INY
;
M_TAMIN_050	EQU	$
		TYA
		STA	ENMUKI,X	; 玉　向きセット
;
M_TAMIN_END	EQU	$
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_TAMMV		( 玉ムーブ )				x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PINTCOL		EQU	$
		WORD	00006H,00000H
;
;
M_TAMMV		EQU	$
		LDA	MNMODE
		BEQ	M_TAMIN_010	; ミニゲーム終了　？
;					; No !!
		JMP	M_TAMMV_250
;
M_TAMIN_010	EQU	$
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		CMP	#00100H
;;;;;;;;		BCS	M_TAMMV_090	; 画面外　？
;;;;;;;;;					; No !!
		LDY	ECRSFG,X
		BEQ	M_TAMMV_100
		BMI	M_TAMMV_050	; プレイヤーと当たった　？
;					; No !!
		DEY
;;;;;;;;		LDA	ENMYNO,Y
;;;;;;;;		CMP	#M_DR0
;;;;;;;;		BNE	M_TAMMV_100
;;;;;;;;;
		LDA	ENWRK6,Y
		BNE	M_TAMMV_100	; 敵やられてる　？
;					; No !!
		CLC
		SED
		LDA	ENTMCT
		ADC	#00001
		STA	ENTMCT		; 泥棒君玉カウントアップ
		CLD
;
		STZ	ENWRKC,X
		DEC	SPECIAL_P
		LDA	ENXPSL,X
		STA	<EWORK0		;(EWK0,1) <-- X pos set
		LDA	ENYPSL,X
		SEC
		SBC	#04H
		STA	<EWORK2		;(EWK2,3) <-- Y pos set
		BRA	M_TAMMV_080
;
M_TAMMV_050	EQU	$
		LDA	PLFLSH
		CMP	#00081H
		BCS	M_TAMMV_100	; プレイヤーやられてる　？
;					; No !!
		LDA	#00002
		STA	ENWRKC,X
		LDA	PLXPSL
		STA	<EWORK0		;(EWK0,1) <-- X pos set
		LDA	PLYPSL
		SEC
		SBC	#04H
		STA	<EWORK2		;(EWK2,3) <-- Y pos set
;
M_TAMMV_080	EQU	$
		LDA	#00003		;(A) <-- pattern no.
		JSL	>BEAT_P_SET_2	;[ * (Y) <-- 効果ポインター ]
		LDA	ENWRKC,X
		TAX
		LDA	EXCLOR,Y
		AND	#0FFF0H
		ORA	!PINTCOL,X
		STA	EXCLOR,Y	; 得点カラーセット
		LDX	<ENINDX
;
M_TAMMV_090	EQU	$
		LDA	#00009H
		JSL	>SOUND_3_ON	; [♪]
		JMP	>ENCLEAR	; 敵クリアー
;
M_TAMMV_100	EQU	$
		LDA	ENCBFG,X
		LSR	A
		BCC	M_TAMMV_200	; 地面に当たった　？
;					; Yes !!
		LDA	ENYSPD,X
		BMI	M_TAMMV_200
;
		LSR	A
		EOR	#0FFFFH
		INC	A
		STA	ENYSPD,X	; 玉　Ｙスピードセット
		CMP	#0FFF0H
		BCS	M_TAMMV_120	; 玉　跳ねる　？
;					; Yes !!
		LDA	#0002CH
		JSL	>SOUND_3_ON	; [♪]
		BRA	M_TAMMV_200
;
M_TAMMV_120	EQU	$
		STZ	ENYSPD,X	; 玉　Ｙスピードクリアー
		LDA	ENXSPD,X
		BPL	M_TAMMV_150	; 玉Ｘスピードプラス　？
;					; No !!
		EOR	#0FFFFH
		INC	A
;
M_TAMMV_150	EQU	$
		CMP	#00010H
		BCS	M_TAMMV_200	; 玉Ｘスピードクリアー　？
;					; Yes !!
		STZ	ENXSPD,X	; 玉Ｘスピードクリアー
;
M_TAMMV_200	EQU	$
		LDA	ENYSPD,X
		BMI	M_TAMMV_250	; プライオリティー上げる　？
;					; Yes !!
		LDA	#00034H
		STA	ENCLOR,X	; プライオリティー上げる
		LDA	#00003H
		STA	ENYUSN,X	; 優先順位セット
;
M_TAMMV_250	EQU	$
		LDA	FRCNT
		LSR	A
		LSR	A
		LSR	A
		AND	#00003H
		STA	ENCHPT,X
		RTL
;
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		T_DR0IN		( 泥棒君イニシャル )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_DR0IN		EQU	$
		LDA	#000C0H
		STA	ENYPSL,X	; Ｙ座標イニシャルセット
		LDA	#000C0H
		STA	ENXPSL,X	; Ｘ座標イニシャルセット
		LDA	#00009H
		STA	ENCHPT,X	; パターンＮｏ．セット
;
M_DR0IN_END	EQU	$
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		T_DR0MV		( 泥棒君ムーブ )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_DR0MV		EQU	$
		LDA	MNMODE
		BNE	M_DR0IN_END	; ミニゲーム終了　？
;					; Yes !!
		LDA	PLFLSH
		CMP	#00081H
		BCS	M_DR0MV_050	; プレイヤー気絶中　？
;					; Yes !!
		STZ	PLFLSH		; プレイヤー気絶フラグクリアー
;
M_DR0MV_050	EQU	$
		LDA	ENDSXL,X
		CMP	#00010H
		BCS	M_DR0MV_100	; 画面左端オーバー　？
;					; Yes !!
		LDA	#00010H
		SEC
		SBC	ENDSXL,X
		CLC
		ADC	ENXPSL,X
		STA	ENXPSL,X	; Ｘ座標補正
		BRA	M_DR0MV_150
;
M_DR0MV_100	EQU	$
		LDA	ENDSXL,X
		SEC
		SBC	#000E0H
		BMI	M_DR0MV_200
;
		CMP	#00020H
		BCC	M_DR0MV_150	; 画面右端オーバー　？
;					; Yes !!
		STA	<EWORK0
		LDA	ENXPSL,X
		SEC
		SBC	<EWORK0
		STA	ENXPSL,X	; Ｘ座標補正
;
M_DR0MV_150	EQU	$
		STZ	<ENWRK0,X
		LDA	ENWRK6,X
		BEQ	M_DR0MV_200
;
		STZ	ENWRK6,X
;
M_DR0MV_200	EQU	$
		LDA	<ENWRK0,X
		ASL	A
		TAY
		LDA	!M_DR0MV_ADR,Y
		STA	<EWORK0
		JMP	(EWORK0)
;
;
M_DR0MV_ADR	EQU	$
		WORD	SEARCHK		; 玉サーチチェック
		WORD	SEARCMV		; 玉サーチムーブ
		WORD	PLSEARC		; プレイヤーサーチムーブ
EJUMP		WORD	JUMPMOV		; 泥棒君ジャンプムーブ
		WORD	CYAKUTI		; 着地ポーズムーブ
;
;
EJMP		EQU	(EJUMP-M_DR0MV_ADR)/2
;
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	SEARCHK ( 玉サーチチェック )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SEARCHK		EQU	$
		LDA	PLFLSH
		BNE	SEARCHK_030	; プレイヤー気絶　？
;					; No !!
		LDA	<RANDM0
		AND	#000FFH
		CMP	#000A0H
		BCC	SEARCHK_050	; 玉サーチ　？
;					; Yes !!
SEARCHK_030	EQU	$
		TXA
		AND	#000FFH
		STA	R1		; 敵インデックスセット
		M_CHIP	M_ITEM_SEARCH
;
		LDX	<ENINDX
		LDA	R1
		BMI	SEARCHK_050	; 玉あった　？
;					; Yes !!
		STA	<ENWRK2,X	; 玉インデックスセット
		TAY
;
;;;;;;;;		LDA	ENCBFG,X
;;;;;;;;		LSR	A
;;;;;;;;		BCS	SEARCHK_200	; ジャンプ中　？
;;;;;;;;;					; No !!
		LDA	ENXPSL,Y
		STA	<EWORK0		; 目標Ｘ座標
		LDA	#00200H
		STA	<EWORK2		; 移動スピード
;
		INC	<ENWRK0,X	; 玉サーチモードセット
		BRA	SEARCHK_100
;
SEARCHK_050	EQU	$
		LDA	PLXPSL
		STA	<EWORK0		; 目標Ｘ座標
		LDA	#00200H
		STA	<EWORK2		; 移動スピード
;
		LDA	#00002
		STA	<ENWRK0,X	; プレイヤーサーチモードセット
		LDA	#00050H
		STA	ENTIM0,X	; タイマーセット
;;;;;;;;		STA	ENCBFG,X
;;;;;;;;		LSR	A
;;;;;;;;		BCS	SEARCHK_200	; ジャンプ中　？
;
SEARCHK_100	EQU	$
		LDA	<EWORK0
		STA	R1		; 目標Ｘ座標
		LDA	ENYPSL,X
		STA	R2		; 目標Ｙ座標
		STA	R4		; 現在Ｙ座標
		LDA	ENXPSL,X
		STA	R3		; 現在Ｘ座標
		LDA	<EWORK2
		STA	R6		; 移動スピード
;
		M_CHIP	SEARCH_SPEED
;
		LDX	<ENINDX
		LDY	#002
		LDA	R1
		STA	ENXSPD,X	; Ｘスピードセット
		BPL	SEARCHK_150	; Ｘスピードプラス　？
;					; No !!
		DEY
		DEY
;
SEARCHK_150	EQU	$
		TYA
		STA	ENMUKI,X	; 向きセット
		LDA	#00001
		STA	ENCHPT,X	; パターンＮｏ．セット
		LDA	#00003
		STA	ENTIM1,X	; パターンチェンジタイマーセット
		STZ	<ENWRK4,X	; パターンチェンジポインターセット
;
SEARCHK_200	EQU	$
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	SEARCMV ( 玉サーチムーブ )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SEARCMV		EQU	$
		LDY	<ENWRK2,X
		LDA	ENXPSL,Y
		STA	R1		; 目標Ｘ座標
		LDA	ENYPSL,X
		STA	R2		; 目標Ｙ座標
		STA	R4		; 現在Ｙ座標
		LDA	ENXPSL,X
		STA	R3		; 現在Ｘ座標
		LDA	#00300H
		STA	R6		; 移動スピード
;
		M_CHIP	SEARCH_SPEED
;
		LDX	<ENINDX
		LDA	R1
		STA	ENXSPD,X	; Ｘスピードセット
		LDY	<ENWRK2,X	; 玉インデックスロード
		LDA	ENXPSL,X
		SEC
		SBC	ENXPSL,Y
		BEQ	SEARCMV_040	; 目標Ｘ座標オーバー　？
;					; No !!
		EOR	R1
		BMI	SEARCMV_050	; Ｘ　ポインターオーバー　？
;					; Yes !!
SEARCMV_040	EQU	$
		LDA	ENXPSL,Y
		STA	ENXPSL,X	; 目標Ｘ座標セット
;
SEARCMV_050	EQU	$
		LDA	ENCBFG,Y
		LSR	A
		BCS	SEARCMV_070	; 玉降下中　？
;					; Yes !!
		LDA	ENYPSL,Y
		CMP	#000A0H
		BCS	SEARCMV_070	; ジャンプする　？
;					; Yes !!
		LDA	ENCBFG,X
		LSR	A
		BCC	SEARCMV_070	; ジャンプ中　？
;					; No !!
		LDA	ENXPSL,Y
		SEC
		SBC	ENXPSL,X
		CLC
		ADC	#00038H
		CMP	#00070H
		BCS	SEARCMV_070	; ジャンプする　？
;					; Yes !!
		LDA	ENCBFG,X
		LSR	A
		BCC	SEARCMV_070	; ジャンプ中　？
;					; Yes !!
		LDA	#0FA00H
		STA	ENYSPD,X	; 泥棒君Ｙスピードセット
		LDA	#00038H
		JSL	>SOUND_3_ON	; [♪]
;
SEARCMV_070	EQU	$
		LDY	<ENWRK2,X
		LDA	ENMODE,Y
		BNE	SEARCMV_100	; 玉クリアー　？
;					; Yes !!
		STZ	ENXSPD,X	; Ｘスピードクリアー
		STZ	<ENWRK0,X	; モードクリアー
		STZ	ENWRK6,X
;
SEARCMV_100	EQU	$
		LDY	#00009
		LDA	ENXSPD,X
		BEQ	SEARCMV_150	; Ｘスピードクリアー　？
;					; No !!
		LDA	ENTIM1,X
		BNE	SEARCMV_200	; パターンチェンジタイマークリアー　？
;					; Yes !!
		LDA	#00003
		STA	ENTIM1,X	; パターンチェンジタイマーセット
		LDY	ENCHPT,X
		DEY
		BPL	SEARCMV_150	; パターンチェンジＮｏ．オーバー　？
;					; Yes !!
		LDY	#00001
;
SEARCMV_150	EQU	$
		TYA
		STA	ENCHPT,X	; パターンチェンジＮｏ．セット
;
SEARCMV_200	EQU	$
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	PLSEARC ( プレイヤーサーチムーブ )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PLXSPDT		EQU	$
		WORD	0FD00H,00300H
;
ENXSPDT		EQU	$
		WORD	00300H,0FD00H
;
;
PLSEARC		EQU	$
		LDY	ECRSFG,X
		BPL	PLSEARC_030	; プレイヤーと衝突　？
;					; Yes !!
		JMP	PLENCRS
;
PLSEARC_030	EQU	$
		LDA	ENCBFG,X
		LSR	A
		BCC	PLSEARC_050	; ジャンプ中　？
;					; No !!
		LDA	PLXPSL
		SEC
		SBC	ENXPSL,X
		CLC
		ADC	#00038H
		CMP	#00070H
		BCS	PLSEARC_050	; ジャンプする　？
;					; Yes !!
		LDA	#0FC00H
		STA	ENYSPD,X	; 泥棒君Ｙスピードセット
		LDA	#00017H
		STA	ENCHPT,X	; パターンチェンジＮｏ．セット
		LDA	#EJMP
		STA	<ENWRK0,X
		LDA	#00038H
		JSL	>SOUND_3_ON	; [♪]
;
		RTL
;
PLSEARC_050	EQU	$
		LDA	PLXPSL
		STA	R1		; 目標Ｘ座標
		LDA	ENYPSL,X
		STA	R2		; 目標Ｙ座標
		STA	R4		; 現在Ｙ座標
		LDA	ENXPSL,X
		STA	R3		; 現在Ｘ座標
		LDA	#00200H
		STA	R6		; 移動スピード
;
		M_CHIP	SEARCH_SPEED
;
		LDX	<ENINDX
		LDA	R1
		STA	ENXSPD,X	; Ｘスピードセット
		LDA	ENXPSL,X
		SEC
		SBC	PLXPSL
		BEQ	PLSEARC_090	; 目標Ｘ座標オーバー　？
;					; No !!
		EOR	R1
		BMI	PLSEARC_100	; Ｘ　ポインターオーバー　？
;					; Yes !!
PLSEARC_090	EQU	$
		LDA	PLXPSL
		STA	ENXPSL,X	; 目標Ｘ座標セット
;
PLSEARC_100	EQU	$
		LDA	ENTIM0,X
		BEQ	PLSEARC_200	; プレイヤーサーチタイマー　０　？
;					; No !!
		LDY	#00009
		LDA	ENXSPD,X
		BEQ	PLSEARC_150	; Ｘスピードクリアー　？
;					; No !!
		LDA	ENTIM1,X
		BNE	PLSEARC_END	; パターンチェンジタイマークリアー　？
;					; Yes !!
		LDA	#00003
		STA	ENTIM1,X	; パターンチェンジタイマーセット
		LDY	ENCHPT,X
		DEY
		BPL	PLSEARC_150	; パターンチェンジＮｏ．オーバー　？
;					; Yes !!
		LDY	#00001
;
PLSEARC_150	EQU	$
		TYA
		STA	ENCHPT,X	; パターンチェンジＮｏ．セット
		BRA	PLSEARC_END
;
PLSEARC_200	EQU	$
		LDA	#00009
		STA	ENCHPT,X	; パターンチェンジＮｏ．セット
		STZ	<ENWRK0,X	; モードクリアー
;
PLSEARC_END	EQU	$
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	PLENCRS ( プレイヤーと敵の衝突チェック )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PLENCRS		EQU	$
		LDA	EPWIDY,X
		SEC
		SBC	PWIDEY
		SEC
		SBC	EWIDEY,X
		CMP	#0FFF8H
		BCC	PLENCRS_150	; プレイヤーが踏んだ　？
;					; Yes !!
		LDY	#03AH
		JSL	>PDON0ST_2
		LDA	#0001CH
		JSL	>SOUND_3_ON	; [♪]
;
		LDA	#00001
		STA	ENWRK6,X	; 敵気絶フラグセット
;
		LDA	<ENWRK0,X
		CMP	#EJMP
		BNE	PLENCRS_100	; 敵ジャンプ中　？
;					; Yes !!
		LDA	ENYSPD,X
		BPL	PLENCRS_050	; 上昇中　？
;					; Yes !!
		EOR	#0FFFFH
		INC	A
		STA	ENYSPD,X	; ジャンプスピード反転
		BRA	PLENCRS_100
;
PLENCRS_050	EQU	$
		LDA	#0FC00H
		STA	ENYSPD,X	; 泥棒君Ｙスピードセット
		LDY	EPXMUK,X
		LDA	!ENXSPDT,Y
		STA	ENXSPD,X	; 泥棒君Ｘスピードセット
		LDA	#00017H
		STA	ENCHPT,X	; パターンチェンジＮｏ．セット
;
PLENCRS_100	EQU	$
		LDA	#P008
		STA	PLJUMP		; プレイヤージャンプフラグセット
		LDA	#0FA00H
		STA	PLYSPD		; プレイヤーＹスピードセット
		LDY	EPXMUK,X
		LDA	!PLXSPDT,Y
		STA	PLXSPD		; プレイヤーＸスピードセット
		STA	PLMVSP		; プレイヤー移動スピードセット
		BRA	PLENCRS_250
;
PLENCRS_150	EQU	$
		LDA	EPWIDY,X
		CLC
		ADC	PWIDEY
		CLC
		ADC	EWIDEY,X
		CMP	#00008H
		BCC	PLENCRS_170	; プレイヤーを踏んだ　？
;					; No !!
		LDA	#00034H
		JSL	>SOUND_3_ON	; [♪]
		BRA	PLENCRS_050
;
PLENCRS_170	EQU	$
		LDA	#00017H
		JSL	>SOUND_3_ON	; [♪]
;
		JSL	>BERO_CANCEL
		LDA	#000C0H
		STA	PLFLSH		; プレイヤー気絶フラグセット
		STZ	PLDOSN
;
		LDA	PLJUMP
		BNE	PLENCRS_200	; プレイヤージャンプ中　？
;					; Yes !!
		LDA	PLYSPD
		BPL	PLENCRS_050	; 上昇中　？
;					; Yes !!
		EOR	#0FFFFH
		INC	A
		STA	PLYSPD		; ジャンプスピード反転
		BRA	PLENCRS_200
;
PLENCRS_200	EQU	$
		LDA	#0FC00H
		STA	ENYSPD,X	; 泥棒君Ｙスピードセット
		LDY	EPXMUK,X
		LDA	!ENXSPDT,Y
		STA	ENXSPD,X	; 泥棒君Ｘスピードセット
		LDA	#00017H
		STA	ENCHPT,X	; パターンチェンジＮｏ．セット
;
PLENCRS_250	EQU	$
		LDA	#EJMP
		STA	<ENWRK0,X
;
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	JUMPMOV ( 泥棒君ジャンプムーブ )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
JUMPMOV		EQU	$
		LDA	ENWRK6,X
		BNE	JUMPMOV_050	; プレイヤーに踏まれた　？
;					; No !!
		LDY	ECRSFG,X
		BPL	JUMPMOV_050	; プレイヤーと衝突　？
;					; Yes !!
		JSL	>PLENCRS
;
JUMPMOV_050	EQU	$
		LDY	#00018H
		LDA	ENYSPD,X
		BPL	JUMPMOV_100	; 上昇中　？
;					; No !!
		DEY
;
JUMPMOV_100	EQU	$
		TYA
		STA	ENCHPT,X	; 泥棒君ジャンプポーズＮｏ．セット
		LDA	ENCBFG,X
		LSR	A
		BCC	JUMPMOV_150	; 着地した　？
;					; Yes !!
;;;;;;;;		STZ	ENYSPD,X	; 泥棒君Ｙスピードクリアー
		STZ	ENXSPD,X	; 泥棒君Ｘスピードクリアー
		INC	<ENWRK0,X	; モードインク
		LDA	#00019H
		STA	ENCHPT,X	; 泥棒君着地ポーズＮｏ．セット
		STZ	<ENWRK4,X	; 泥棒君着地ポーズポインタークリアー
		LDA	#00004H
		STA	ENTIM1,X	; 泥棒君着地ポーズタイマーセット
;
		STZ	ENYSDR,X
		LDA	#000C0H
		STA	ENYPSL,X	; 泥棒君Ｙ座標セット
;
		LDA	ENWRK6,X
		BEQ	JUMPMOV_150	; プレイヤーに踏まれた　？
;					; Yes !!
		LDA	#(YARAPTD-CYAKPTD)/2
		STA	<ENWRK4,X	; 敵気絶モード
;
JUMPMOV_150	EQU	$
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	CYAKUTI ( 着地ポーズムーブ )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
CYAKPTD		EQU	$
		WORD	00019H,0001AH,0001BH,0001CH,0001DH,00009H
;
YARAPTD		EQU	$
		WORD	00012H,00013H,00014H,00015H,00016H,00015H,00016H,00015H
		WORD	00016H,00015H,00009H
;
CYAKTMD		EQU	$
		WORD	00004H,00004H,00008H,00002H,00002H,00000H
;
YARATMD		EQU	$
		WORD	00004H,00004H,00004H,00014H,00002H,00002H,00002H,00002H
		WORD	00002H,00014H,00000H
;
;
CYAKUTI		EQU	$
		LDA	ENTIM1,X
		BNE	CYAKUTI_050	; 泥棒君着地ポーズチェンジ　？
;					; Yes !!
		INC	<ENWRK4,X
		LDA	<ENWRK4,X
		ASL	A
		TAY
		LDA	!CYAKPTD,Y
		STA	ENCHPT,X	; 泥棒君着地ポーズＮｏ．セット
		LDA	!CYAKTMD,Y
		STA	ENTIM1,X	; 泥棒君着地ポーズタイマーセット
		BNE	CYAKUTI_050	; 泥棒君着地ポーズ終わり　？
;					; Yes !!
		STZ	<ENWRK0,X
		STZ	ENWRK6,X
;
CYAKUTI_050	EQU	$
		RTL
;
;
;========================================================================
		MEM8
		IDX8
;
		DPAGE	WORK0
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		MINIINT1_4	( ミニゲームビンゴイニシャルセット )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MINIINT1_4	EQU	$
;;;;;;;;;-------------- スクロール値 クリア -----------------------------
;;;;;;;;		M16			; memory 16 bit mode !!
;;;;;;;;;
;;;;;;;;		STZ	<SCCH1
;;;;;;;;		STZ	<SCCV1
;;;;;;;;		STZ	<SCCH2
;;;;;;;;		LDA	#00100H
;;;;;;;;		STA	<SCCV2
;;;;;;;;		STZ	<SCCH3
;;;;;;;;		STZ	<SCCV3
;;;;;;;;		M8			; memory 8bit mode
;;;;;;;;;
;;;;;;;;		LDA	#069H
;;;;;;;;		STA	!BG1SCF
;;;;;;;;		STA	2107H
;;;;;;;;		LDA	#038H
;;;;;;;;		STA	!BG2SCF
;;;;;;;;		STA	2108H
;;;;;;;;		LDA	#029H
;;;;;;;;		STA	BGMODE
;;;;;;;;		STA	2105H
;;;;;;;;		STZ	HD420C
;;;;;;;;		LDA	#020H
;;;;;;;;		STA	!SUBADF
;;;;;;;;		STZ	!WIND25
;;;;;;;;;
;;;;;;;;;-------------- ゲーム イニシャル -----------------------------------
;;;;;;;;		MI16			; memory,index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		LDA	#000A0H
;;;;;;;;		STA	PLYPSL		; player Y initial set !!
;;;;;;;;		LDA	#00030H
;;;;;;;;		STA	PLXPSL		; player X initial set !!
;;;;;;;;		STZ	UNBUFAD
;;;;;;;;		STA	TIMER
;;;;;;;;		LDA	#P_CAR		;クルマヨッシーへ
;;;;;;;;		STA	PLTYPE		;
;;;;;;;;		JSL	>CAR_INITL	;
;;;;;;;;;
;;;;;;;;;;NOM;;		LDA	#00099H
;;;;;;;;		LDA	#00031H
;;;;;;;;		STA	MNTIME		; ミニゲームタイマーセット
;;;;;;;;		LDA	#00001
;;;;;;;;		STA	MNTMCT		; ミニゲームタイマーカウンターセット
;;;;;;;;		STZ	PLTMCT
;;;;;;;;		STZ	ENTMCT
;;;;;;;;;
;;;;;;;;;;;;;;;;		LDA	#0FFFFH
;;;;;;;;;;;;;;;;		STA	OBJCHR_BNK
;;;;;;;;;;;;;;;;		STA	OBJCHR_BNK+2
;;;;;;;;;;;;;;;;		STA	OBJCHR_BNK+4
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;K;;;;		JSR	METERST_200
;;;;;;;;;
;;;;;;;;		I8			; index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		LDA	#M_HEI
;;;;;;;;		JSL	>ENINSR_I
;;;;;;;;		LDA	#M_HEI
;;;;;;;;		JSL	>ENINSR_I
;;;;;;;;		LDA	#M_TH1
;;;;;;;;		JSL	>ENINSR_I
;;;;;;;;		LDA	#M_DR1
;;;;;;;;		JSL	>ENINSR_I
;;;;;;;;;
;;;;;;;;		LDA	#MINICORS00
;;;;;;;;		STA	<BGDTADR
;;;;;;;;		LDA	#00001
;;;;;;;;		STA	BG1TYP
;;;;;;;;;
;;;;;;;;		MI8			; memory,index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		LDA	#BANK MINICORS00
;;;;;;;;		STA	<BGDTADR+2
;;;;;;;;		JSL	>UNITST_SUB
;;;;;;;;;
;;;;;;;;		JSL	>MINI_INT_BG
;;;;;;;;;
;;;;;;;;		JSL	>ENEMY_IN
;;;;;;;;;
		RTS
;
;
;****************************************************************
;*								*
;*		ミニ ゲーム					*
;*								*
;****************************************************************
MINIMOV1_4	EQU	$
;;;;;;;;		LDA	!MSGMOD		; メッセージ ウィンドゥ ＯＮ ?
;;;;;;;;		BNE	MINIMOV1_4_250	;	YES -> MINIMOV1_4_250
;;;;;;;;;
;;;;;;;;		MI16			; memory,index 16 bit mode !!
;;;;;;;;;
;;;;;;;;		LDA	ENXPSL+054H
;;;;;;;;		SEC
;;;;;;;;		SBC	#000B0H
;;;;;;;;		BMI	MINIMOV1_4_250	; スクロールする　？
;;;;;;;;;					; Yes !!
;;;;;;;;		CMP	#00400H
;;;;;;;;		BCC	MINIMOV1_4_200	; スクロール範囲オーバー　？
;;;;;;;;;					; Yes !!
;;;;;;;;		SEC
;;;;;;;;		SBC	#00400H
;;;;;;;;;
;;;;;;;;		PHA
;;;;;;;;;
;;;;;;;;		LDA	!PLXPSL
;;;;;;;;		SEC
;;;;;;;;		SBC	#0400H
;;;;;;;;		STA	!PLXPSL		; player possition 補正
;;;;;;;;;
;;;;;;;;		LDA	BG2LOP
;;;;;;;;		CLC
;;;;;;;;		ADC	#00400H
;;;;;;;;		STA	BG2LOP
;;;;;;;;;
;;;;;;;;		LDX	#(ENNO-1)*4
;;;;;;;;MINIMOV1_4_050	EQU	$
;;;;;;;;		LDA	!ENMODE,X
;;;;;;;;		BEQ	MINIMOV1_4_100	; move enmy ?
;;;;;;;;;					; yes
;;;;;;;;		LDA	!ENXPSL,X
;;;;;;;;		SEC
;;;;;;;;		SBC	#00400H
;;;;;;;;		STA	!ENXPSL,X	; 補正
;;;;;;;;MINIMOV1_4_100	EQU	$
;;;;;;;;		DEX
;;;;;;;;		DEX
;;;;;;;;		DEX
;;;;;;;;		DEX
;;;;;;;;		BPL	MINIMOV1_4_050	; all check ok ?
;;;;;;;;;					; yes
;;;;;;;;		PLA
;;;;;;;;;
;;;;;;;;MINIMOV1_4_200	EQU	$
;;;;;;;;		STA	<SCCH1		; BG1 scroll counter move
;;;;;;;;		STA	!ESCCH1		; enmy use BG1 scroll counter move
;;;;;;;;		ORA	BG2LOP
;;;;;;;;		LSR	A
;;;;;;;;		STA	<SCCH2		; BG2 scroll counter move
;;;;;;;;;
;;;;;;;;MINIMOV1_4_250	EQU	$
;;;;;;;;		MI8			; memory,index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		JSL	>OAMDXCLR	; OAM clear sub !!
;;;;;;;;		JSL	>ENCSET_DM	; enemy char set sub !!
;;;;;;;;		JSL	>PLCSET		; player char set sub !!
;;;;;;;;;
;;;;;;;;		STZ	SPECIAL_P
;;;;;;;;		LDA	MNTIME
;;;;;;;;		BNE	MINIMOV1_4_350	; ミニゲーム終了　？
;;;;;;;;;					; Yes !!
;;;;;;;;		M16			; memory 16 bit mode !!
;;;;;;;;;
;;;;;;;;		DEC	ENDTIM
;;;;;;;;		BNE	MINIMOV1_4_400	; 勝敗文字終了　？
;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;		LDA	WINFLG
;;;;;;;;;;;;;;;;		BNE	MINIMOV1_4_290	; プレイヤーが勝った　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;K;;;;		LDY	#MINIT
;;;;;;;;;;;;K;;;;		INC	MINIMD
;;;;;;;;;;;;K;;;;		LDA	MINIMD
;;;;;;;;;;;;K;;;;		CMP	#003H
;;;;;;;;;;;;K;;;;		BNE	MINIMOV1_4_300	; ミニゲーム　３回終わった　？
;;;;;;;;;					; Yes !!
;;;;;;;;MINIMOV1_4_290	EQU	$
;;;;;;;;		JSL	>BACK_GAME
;;;;;;;;		BRA	MINIMOV1_4_450
;;;;;;;;;;;;K;;;;		LDY	#HMPIN
;;;;;;;;;
;;;;;;;;MINIMOV1_4_300	EQU	$
;;;;;;;;;;;;K;;;;		STY	MODENO		; メインモードセット
;;;;;;;;;;;;K;;;;		BRA	MINIMOV1_4_450
;;;;;;;;;
;;;;;;;;		MEM8
;;;;;;;;;
;;;;;;;;MINIMOV1_4_350	EQU	$
;;;;;;;;		JSL	>PLAYER		; player move sub !!
;;;;;;;;;
;;;;;;;;		LDA	!MSGMOD		; メッセージ ウィンドゥ ＯＮ ?
;;;;;;;;		BNE	MINIMOV1_4_400	;	YES -> MINIMOV1_4_400
;;;;;;;;		JSL	>ENEMY_IN	; enemy move sub !!
;;;;;;;;		JSR	METERS1		; メーターセットルーチン
;;;;;;;;;
;;;;;;;;MINIMOV1_4_400	EQU	$
;;;;;;;;		MI16			; memory,index 16 bit mode !!
;;;;;;;;;
;;;;;;;;		STZ	BG2_SP_SCR
;;;;;;;;;
;;;;;;;;		MI8			; memory,index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		JSL	>BGSET		; ＢＧ　１　書き換えルーチン
;;;;;;;;;
;;;;;;;;MINIMOV1_4_450	EQU	$
;;;;;;;;		M16			; memory 16 bit mode !!
;;;;;;;;		I8			; index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		M_CHIP	DX_OAM		; SOAM_DX => OAM convert
;;;;;;;;;
;;;;;;;;		M8			; memory 8 bit mode !!
;;;;;;;;;
		RTS
;
;
;------------------------------------------------------------------------
;;;;;;;;		MEM16
;;;;;;;;		IDX16
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	METERS1 ( meter set sub )			x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
YOUWIN0		EQU	$
		WORD	02520H,02521H,02522H,0257FH,02523H,02524H,0E532H,0A530H
YOUWIN1		EQU	$
		WORD	02530H,0A521H,0A521H,0257FH,02533H,02534H,02532H,02529H
;
YOULOS0		EQU	$
		WORD	02D20H,02D21H,02D22H,02D7FH,02D25H,02D21H,0ED31H,02D26H,0AD30H
YOULOS1		EQU	$
		WORD	02D30H,0AD21H,0AD21H,02D7FH,02D35H,0AD21H,02D31H,02D35H,02D29H
;
DATADRS		EQU	$
		WORD	MWIN,MLOS
;
SOUNDNO		EQU	$
		WORD	00005H,00007H
;
WINVRMD		EQU	$
		WORD	WINVRME
;
		WORD	035ACH
		HEX	080,001,018
		LWORD	YOUWIN0
		WORD	YOUWIN1-YOUWIN0
		WORD	WINVRM0
;
WINVRM0		EQU	$
		WORD	035CCH
		HEX	080,001,018
		LWORD	YOUWIN1
		WORD	YOUWIN1-YOUWIN0
		WORD	WINVRME
WINVRME		EQU	$
;
LOSVRMD		EQU	$
		WORD	LOSVRME
;
		WORD	035ACH
		HEX	080,001,018
		LWORD	YOULOS0
		WORD	YOULOS1-YOULOS0
		WORD	LOSVRM0
;
LOSVRM0		EQU	$
		WORD	035CCH
		HEX	080,001,018
		LWORD	YOULOS1
		WORD	YOULOS1-YOULOS0
		WORD	LOSVRME
LOSVRME		EQU	$
;
;
;;;;;;;;METERS1		EQU	$
;;;;;;;;		MI16			; memory,index 16 bit mode !!
;;;;;;;;;
;;;;;;;;		JSR	METERST
;;;;;;;;		LDA	MNTIME
;;;;;;;;		BNE	METERS1_050	; ミニゲーム終了　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	#00200H
;;;;;;;;		STA	ENDTIM
;;;;;;;;		LDA	WINFLG
;;;;;;;;		ASL	A
;;;;;;;;		TAY
;;;;;;;;		LDA	!DATADRS,Y
;;;;;;;;		STA	VRFLG2
;;;;;;;;		LDA	!SOUNDNO,Y
;;;;;;;;		STA	<SOUND_0	; [♪]
;;;;;;;;;
;;;;;;;;METERS1_050	EQU	$
;;;;;;;;		MI8			; memory,index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		RTS
;;;;;;;;;
;;;;;;;;;
;;;;;;;;;
;------------------------------------------------------------------------
		MEM16
		IDX8
;
		DPAGE	EN0RAM
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_TH1IN		( ミニゲーム大砲イニシャルセット )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_TH1IN		EQU	$
;;;;;;;;		LDA	#0009EH
;;;;;;;;		STA	ENYPSL,X	; 大砲Ｘ座標イニシャルセット
;;;;;;;;		LDA	#00078H
;;;;;;;;		STA	ENXPSL,X	; 大砲Ｙ座標イニシャルセット
;;;;;;;;		STZ	<ENWRK4,X	; 回転向きクリアー
;;;;;;;;		STZ	ENWRK6,X	; 砲身回転角セット
;;;;;;;;		STZ	ENWRKC,X	; 砲台回転角セット
;;;;;;;;		LDA	#00100H
;;;;;;;;		STA	ENWRK8,X	; Ｘ倍率セット
;;;;;;;;		LDA	#00100H
;;;;;;;;		STA	ENWRKA,X	; Ｙ倍率セット
;;;;;;;;		STZ	<ENCONT,X	; フレームカウンタークリアー
;;;;;;;;		LDA	#00040H
;;;;;;;;		STA	ENTIM0,X	; 玉発射タイマーセット
;;;;;;;;;;;;;;;;		STX	TAIHNO		; 大砲インデックスＮｏ．セット
;;;;;;;;;
;;;;;;;;KAITEN_ST_1	EQU	$
;;;;;;;;		LDA	#CIPCHD3+0080H
;;;;;;;;		STA	R12		;(R12) <-- キャラクターアドレス（Ｌ，Ｈ）
;;;;;;;;		LDA	#BANK CIPCHD3
;;;;;;;;		STA	R13		;(R13) <--	   ”		(Ｂ）
;;;;;;;;		LDA	ENWRK6,X
;;;;;;;;		STA	R5		;(R5)  <-- 砲身角度
;;;;;;;;		LDA	ENWRK8,X
;;;;;;;;		STA	R6		;(R6)  <-- 砲身Ｘ倍率
;;;;;;;;		LDA	ENWRKA,X
;;;;;;;;		STA	R11		;(R11) <-- 砲身Ｙ倍率
;;;;;;;;;
;;;;;;;;		LDA	>TROBJ_PLOT_X
;;;;;;;;		STA	R3		;(R3)  <-- ビットマップ座標＿Ｘ
;;;;;;;;		LDA	>TROBJ_PLOT_Y
;;;;;;;;		STA	R2		;(R2)  <--	  ”	   ＿Ｙ
;;;;;;;;		M_CHIP	C_32_RTZ_32_XY
;;;;;;;;;
;;;;;;;;		LDX	<ENINDX
;;;;;;;;		LDA	#CIPCHD3+00E0H
;;;;;;;;		STA	R12		;(R12) <-- キャラクターアドレス（Ｌ，Ｈ）
;;;;;;;;		LDA	#BANK CIPCHD3
;;;;;;;;		STA	R13		;(R13) <--	   ”		(Ｂ）
;;;;;;;;		LDA	ENWRKC,X
;;;;;;;;		STA	R5		;(R5)  <-- 砲台角度
;;;;;;;;		LDA	#00100H
;;;;;;;;		STA	R6		;(R6)  <-- 砲台Ｘ倍率
;;;;;;;;		LDA	#00100H
;;;;;;;;		STA	R11		;(R11) <-- 砲台Ｙ倍率
;;;;;;;;;
;;;;;;;;		LDA	>TROBJ_PLOT_X+8
;;;;;;;;		STA	R3		;(R3)  <-- ビットマップ座標＿Ｘ
;;;;;;;;		LDA	>TROBJ_PLOT_Y+8
;;;;;;;;		STA	R2		;(R2)  <--	  ”	   ＿Ｙ
;;;;;;;;		M_CHIP	C_32_RTZ_32_XY
;;;;;;;;;
;;;;;;;;		INC	OBM7WF		;転送キャラクター転送フラグ”ＯＮ”
;;;;;;;;;
;;;;;;;;		LDX	<ENINDX
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_TH1MV		( ミニゲーム大砲ムーブ )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;KAK1CMP		EQU	$
;;;;;;;;		WORD	00020H,000E0H
;;;;;;;;;
;;;;;;;;YHOSEDT		EQU	$
;;;;;;;;		WORD	00004H,00003H,00002H,00004H
;;;;;;;;;;;;;;;;		WORD	00000H,00000H
;;;;;;;;;;;;;;;;;;;;;;;;		WORD	00000H
;;;;;;;;;;;;;;;;		WORD	00000H
;;;;;;;;;;;;;;;;		WORD	0000CH,0000CH,0000CH,00008H,00004H
;;;;;;;;;
;;;;;;;;;
M_TH1MV		EQU	$
		RTL
;;;;;;;;;;;;;;;;		JMP	M_TH1MV_100
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;		LDA	TAIONF
;;;;;;;;;;;;;;;;		BNE	M_TH1MV_150	; ヘイホウが持ち上げている　？
;;;;;;;;;;;;;;;;;					; No !!
;;;;;;;;;;;;;;;;		I16			; index 16 bit mode !!
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;		PHX
;;;;;;;;;;;;;;;;		LDY	ENOAML,X
;;;;;;;;;;;;;;;;		LDA	ENWRKC,X
;;;;;;;;;;;;;;;;		ASL	A
;;;;;;;;;;;;;;;;		TAX
;;;;;;;;;;;;;;;;		LDA	>COS,X
;;;;;;;;;;;;;;;;		STA	<EWORK2		; ＣＯＳ　データーセット
;;;;;;;;;;;;;;;;		LDA	>SIN,X
;;;;;;;;;;;;;;;;		STA	<EWORK0		; ＳＩＮ　データーセット
;;;;;;;;;;;;;;;;		PLX
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;		ASL	A
;;;;;;;;l;;;;;;;;		 ASL	 A
;;;;;;;;;;;;;;;;		STA	<EWORK0
;;;;;;;;;;;;;;;;		ASL	A
;;;;;;;;;;;;;;;;		CLC
;;;;;;;;;;;;;;;;		ADC	<EWORK0
;;;;;;;;;;;;;;;;		CLC
;;;;;;;;;;;;;;;;		ADC	#00080H
;;;;;;;;;;;;;;;;		AND	#0FF00H
;;;;;;;;;;;;;;;;		BPL	M_TH1MV_140	; 負　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;		ORA	#000FFH
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;M_TH1MV_140	EQU	$
;;;;;;;;;;;;;;;;		XBA
;;;;;;;;;;;;;;;;		STA	<EWORK0		; Ｘ補正データーセット
;;;;;;;;;;;;;;;;		JMP	M_TH1MV_390
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;		IDX8
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;M_TH1MV_150	EQU	$
;;;;;;;;;;;;;;;;		LDY	ECRSFG,X
;;;;;;;;;;;;;;;;		BEQ	M_TH1MV_200
;;;;;;;;;;;;;;;;		BMI	M_TH1MV_200	; 敵に当たった　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;		DEY
;;;;;;;;;;;;;;;;		LDA	ENSHOT,Y
;;;;;;;;;;;;;;;;		BEQ	M_TH1MV_200	; 卵に当たった　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;		STZ	TAIONF		; 大砲持ち上げフラグクリアー
;;;;;;;;;;;;;;;;		LDA	#0FC00H
;;;;;;;;;;;;;;;;		STA	ENYSPD+058H	; ヘイホウ２　ジャンプスピードセット
;;;;;;;;;;;;;;;;		STA	ENYSPD+05CH	; ヘイホウ１　ジャンプスピードセット
;;;;;;;;;;;;;;;;		LDA	#00100H
;;;;;;;;;;;;;;;;		STA	ENXSPD+05CH	; ヘイホウ１　Ｘスピードセット
;;;;;;;;;;;;;;;;		LDA	#0FF00H
;;;;;;;;;;;;;;;;		STA	ENXSPD+058H	; ヘイホウ２　Ｙスピードセット
;;;;;;;;;;;;;;;;		LDA	#00002
;;;;;;;;;;;;;;;;		STA	ENMUKI+05CH	; ヘイホウ１　向き反転
;;;;;;;;;;;;;;;;		LDA	#00040H
;;;;;;;;;;;;;;;;		STA	ENTIM1+058H
;;;;;;;;;;;;;;;;		STA	ENTIM1+05CH
;;;;;;;;;;;;;;;;		STZ	ENTIM0+058H
;;;;;;;;;;;;;;;;		STZ	ENTIM0+05CH
;;;;;;;;;;;;;;;;		LDA	#00002
;;;;;;;;;;;;;;;;		STA	<ENWRK0+05CH
;;;;;;;;;;;;;;;;		STA	<ENWRK0+058H
;;;;;;;;;;;;;;;;		STZ	<ENCONT+058H
;;;;;;;;;;;;;;;;		STZ	<ENCONT+05CH
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;M_TH1MV_200	EQU	$
;;;;;;;;		LDY	<ENCONT+05CH
;;;;;;;;		LDA	ENYPSL+058H
;;;;;;;;		SEC
;;;;;;;;		SBC	ENYPSL+05CH
;;;;;;;;		STA	R2		; Ｙ幅セット
;;;;;;;;		CLC
;;;;;;;;		BPL	M_TH1MV_250	; 負　？
;;;;;;;;;					; Yes !!
;;;;;;;;		SEC
;;;;;;;;;
;;;;;;;;M_TH1MV_250	EQU	$
;;;;;;;;		ROR	A
;;;;;;;;		STA	<EWORK0
;;;;;;;;		LDA	ENYPSL+05CH
;;;;;;;;		CLC
;;;;;;;;		ADC	<EWORK0
;;;;;;;;		SEC
;;;;;;;;		SBC	#0000CH
;;;;;;;;		CLC
;;;;;;;;		ADC	!YHOSEDT,Y
;;;;;;;;		STA	ENYPSL,X	; 大砲Ｙ座標セット
;;;;;;;;;
;;;;;;;;		LDA	ENXPSL+058H
;;;;;;;;		SEC
;;;;;;;;		SBC	ENXPSL+05CH
;;;;;;;;		STA	R1		; Ｘ幅セット
;;;;;;;;		EOR	#0FFFFH
;;;;;;;;		INC	A
;;;;;;;;		LSR	A
;;;;;;;;		STA	<EWORK0
;;;;;;;;		LDA	ENXPSL+05CH
;;;;;;;;		SEC
;;;;;;;;		SBC	<EWORK0
;;;;;;;;		STA	ENXPSL,X	; 大砲Ｘ座標セット
;;;;;;;;;
;;;;;;;;		M_CHIP	M_RAD_GET
;;;;;;;;;
;;;;;;;;		LDX	<ENINDX
;;;;;;;;		LDA	R1
;;;;;;;;		STA	ENWRKC,X	; 砲台角度セット
;;;;;;;;;
;;;;;;;;		I16			; index 16 bit mode !!
;;;;;;;;;
;;;;;;;;		PHX
;;;;;;;;		LDY	ENOAML,X
;;;;;;;;		LDA	ENWRKC,X
;;;;;;;;		ASL	A
;;;;;;;;		TAX
;;;;;;;;		LDA	>COS,X
;;;;;;;;		STA	<EWORK2		; ＣＯＳ　データーセット
;;;;;;;;		LDA	>SIN,X
;;;;;;;;		STA	<EWORK0		; ＳＩＮ　データーセット
;;;;;;;;		PLX
;;;;;;;;;
;;;;;;;;		ASL	A
;;;;;;;;		ASL	A
;;;;;;;;		STA	<EWORK0
;;;;;;;;		ASL	A
;;;;;;;;		CLC
;;;;;;;;		ADC	<EWORK0
;;;;;;;;		CLC
;;;;;;;;		ADC	#00080H
;;;;;;;;		AND	#0FF00H
;;;;;;;;		BPL	M_TH1MV_300	; 負　？
;;;;;;;;;					; Yes !!
;;;;;;;;		ORA	#000FFH
;;;;;;;;;
;;;;;;;;M_TH1MV_300	EQU	$
;;;;;;;;		XBA
;;;;;;;;		STA	<EWORK0		; Ｘ補正データーセット
;;;;;;;;		CLC
;;;;;;;;		ADC	ENXPSL,X
;;;;;;;;		STA	ENXPSL,X
;;;;;;;;;
;;;;;;;;		LDA	<EWORK2
;;;;;;;;		ASL	A
;;;;;;;;		ASL	A
;;;;;;;;		STA	<EWORK2
;;;;;;;;		ASL	A
;;;;;;;;		CLC
;;;;;;;;		ADC	<EWORK2
;;;;;;;;		CLC
;;;;;;;;		ADC	#00080H
;;;;;;;;		AND	#0FF00H
;;;;;;;;		BPL	M_TH1MV_350	; 負　？
;;;;;;;;;					; Yes !!
;;;;;;;;		ORA	#000FFH
;;;;;;;;;
;;;;;;;;M_TH1MV_350	EQU	$
;;;;;;;;		XBA
;;;;;;;;		STA	<EWORK2		; Ｙ補正データーセット
;;;;;;;;		LDA	#0000CH
;;;;;;;;		SEC
;;;;;;;;		SBC	<EWORK2
;;;;;;;;		STA	<EWORK2
;;;;;;;;		CLC
;;;;;;;;		ADC	ENYPSL,X
;;;;;;;;		STA	ENYPSL,X
;;;;;;;;;
;;;;;;;;M_TH1MV_390	EQU	$
;;;;;;;;		LDA	#00004
;;;;;;;;		STA	<EWORK4		; ループカウンターセット
;;;;;;;;;
;;;;;;;;M_TH1MV_400	EQU	$
;;;;;;;;		LDA	SOAM_DX+32,Y
;;;;;;;;		CLC
;;;;;;;;		ADC	<EWORK0
;;;;;;;;		STA	SOAM_DX+32,Y	; 砲身Ｘ補正
;;;;;;;;		LDA	SOAM_DX+32+2,Y
;;;;;;;;		CLC
;;;;;;;;		ADC	<EWORK2
;;;;;;;;		STA	SOAM_DX+32+2,Y	; 砲身Ｙ補正
;;;;;;;;		TYA
;;;;;;;;		CLC
;;;;;;;;		ADC	#00008
;;;;;;;;		TAY
;;;;;;;;		DEC	<EWORK4
;;;;;;;;		BNE	M_TH1MV_400
;;;;;;;;;
;;;;;;;;		I8			; index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		LDA	ENTIM0,X
;;;;;;;;		BEQ	M_TH1MV_450	; 玉発射　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	<ENCONT,X
;;;;;;;;		INC	A
;;;;;;;;		AND	#00003
;;;;;;;;		STA	<ENCONT,X
;;;;;;;;		BNE	M_TH1MV_440	; 砲身角度チェンジ　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDY	<ENWRK4,X
;;;;;;;;		LDA	ENWRK6,X
;;;;;;;;		CLC
;;;;;;;;		ADC	!KAKUDOD,Y
;;;;;;;;		AND	#000FFH
;;;;;;;;		STA	ENWRK6,X	; 砲身角度セット
;;;;;;;;		CMP	!KAK1CMP,Y
;;;;;;;;		BNE	M_TH1MV_440	; 角度オーバー　？
;;;;;;;;;					; Yes !!
;;;;;;;;		TYA
;;;;;;;;		AND	#000FFH
;;;;;;;;		EOR	#00002
;;;;;;;;		STA	<ENWRK4,X	; 回転向き反転
;;;;;;;;;
;;;;;;;;M_TH1MV_440	EQU	$
;;;;;;;;		JMP	M_TH1MV_100
;;;;;;;;;
;;;;;;;;M_TH1MV_450	EQU	$
;;;;;;;;		LDA	ENTIM2,X
;;;;;;;;		BNE	M_TH1MV_440	; 砲身キャラクターチェンジ　？
;;;;;;;;;					; Yes !!
;;;;;;;;		INC	<ENWRK0,X	; 砲身キャラクターポインターインク
;;;;;;;;		LDA	<ENWRK0,X
;;;;;;;;		ASL	A
;;;;;;;;		TAY
;;;;;;;;		CPY	#(YBAIDAT-XBAIDAT)-2
;;;;;;;;		BEQ	M_TH1MV_460	; 玉セット　？
;;;;;;;;;					; No !!
;;;;;;;;M_TH1MV_455	EQU	$
;;;;;;;;		JMP	M_TH1MV_050
;;;;;;;;;
;;;;;;;;M_TH1MV_460	EQU	$
;;;;;;;;		PHY
;;;;;;;;		LDA	#M_TAM
;;;;;;;;		JSL	>ENINSR_I	; 玉イニシャルセット
;;;;;;;;		BCC	M_TH1MV_455	; No !!
;;;;;;;;;
;;;;;;;;		I16			; index 16 bit mode !!
;;;;;;;;;
;;;;;;;;		LDA	ENWRK6,X
;;;;;;;;		CLC
;;;;;;;;		ADC	#00040H
;;;;;;;;		AND	#000FFH
;;;;;;;;		STA	<EWORK0
;;;;;;;;		LDA	ENOAML,X
;;;;;;;;		TAX
;;;;;;;;		LDA	SOAM_DX+32,X
;;;;;;;;		CLC
;;;;;;;;		ADC	#00008H
;;;;;;;;		CLC
;;;;;;;;		ADC	SCCH1
;;;;;;;;		STA	ENXPSL,Y	; 玉　Ｘ座標セット
;;;;;;;;		LDA	SOAM_DX+32+2,X
;;;;;;;;		CLC
;;;;;;;;		ADC	#00008H
;;;;;;;;		STA	ENYPSL,Y	; 玉　Ｙ座標セット
;;;;;;;;		LDA	<EWORK0
;;;;;;;;		ASL	A
;;;;;;;;		TAX
;;;;;;;;		LDA	>SIN,X
;;;;;;;;		ASL	A
;;;;;;;;		ASL	A
;;;;;;;;		STA	ENYSPD,Y	; 玉　Ｙスピードセット
;;;;;;;;		LDA	>COS,X
;;;;;;;;		ASL	A
;;;;;;;;		BMI	M_TH1MV_500	; 玉　Ｘスピードプラス　？
;;;;;;;;;					; Yes !!
;;;;;;;;		ASL	A
;;;;;;;;;
;;;;;;;;M_TH1MV_500	EQU	$
;;;;;;;;		STA	ENXSPD,Y	; 玉　Ｘスピードセット
;;;;;;;;		LDA	#00047H
;;;;;;;;		JSL	>SOUND_3_ON	; [♪]
;;;;;;;;;
;;;;;;;;		I8			; index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		LDX	<ENINDX
;;;;;;;;		LDA	#M_SM0		; 大砲発射煙Ｎｏ．
;;;;;;;;		JSL	>EXINSR
;;;;;;;;		LDA	ENWRK6,X
;;;;;;;;		STA	EXWRK4,Y	; 砲身角度セット
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		CLC
;;;;;;;;		ADC	#00008
;;;;;;;;		STA	EXXPSL,Y	; 爆発煙Ｘ座標セット
;;;;;;;;		LDA	ENYPSL,X
;;;;;;;;		SEC
;;;;;;;;		SBC	#00010H
;;;;;;;;		STA	EXYPSL,Y	; 爆発煙Ｙ座標セット
;;;;;;;;		LDA	#0000BH*4
;;;;;;;;		STA	EXWRKA,Y	; Ｘ半径セット
;;;;;;;;		LDA	#00003H*4
;;;;;;;;		STA	EXWRKC,Y	; Ｙ半径セット
;;;;;;;;		LDA	#00000H
;;;;;;;;		STA	EXCHPT,Y	; 爆発煙パターンＮｏ．セット
;;;;;;;;		LDA	#00003
;;;;;;;;		STA	EXTIM0,Y	; 爆発煙パターンタイマーセット
;;;;;;;;		LDA	#00004
;;;;;;;;		STA	EXTIM1,Y
;;;;;;;;		LDA	#00024H
;;;;;;;;		STA	EXCLOR,Y	; プライオリティセット
;;;;;;;;;
;;;;;;;;;;;;;;;;		LDX	<ENINDX
;;;;;;;;;;;;;;;;;
;;;;;;;;		LDA	#00047H
;;;;;;;;		JSL	>SOUND_3_ON	; [♪]
;;;;;;;;		PLY
;;;;;;;;;
;;;;;;;;M_TH1MV_050	EQU	$
;;;;;;;;		LDA	!XBAIDAT,Y
;;;;;;;;		STA	ENWRK8,X	; Ｘ倍率セット
;;;;;;;;		LDA	!YBAIDAT,Y
;;;;;;;;		STA	ENWRKA,X	; Ｙ倍率セット
;;;;;;;;		LDA	!BAITMDT,Y
;;;;;;;;		STA	ENTIM2,X	; タイマーセット
;;;;;;;;		BNE	M_TH1MV_100	; 砲身キャラクターチェンジ終わり　？
;;;;;;;;;					; Yes !!
;;;;;;;;		STZ	<ENWRK0,X	; 砲身キャラクターポインタークリアー
;;;;;;;;		LDA	#00080H
;;;;;;;;		STA	ENTIM0,X	; 玉発射タイマーセット
;;;;;;;;;
;;;;;;;;M_TH1MV_100	EQU	$
;;;;;;;;		JMP	KAITEN_ST_1
;;;;;;;;;
;;;;;;;;;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_HEIIN		( ミニゲームヘイホウイニシャルセット )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;HEIXPSD		EQU	$
;;;;;;;;		WORD	00081H,0006FH
;;;;;;;;;
;;;;;;;;;
M_HEIIN		EQU	$
;;;;;;;;		LDY	#000
;;;;;;;;		CPX	#05CH
;;;;;;;;		BEQ	M_HEIIN_050	; ヘイホウ１匹目　？
;;;;;;;;;					; No !!
;;;;;;;;		INY
;;;;;;;;		INY
;;;;;;;;;
;;;;;;;;M_HEIIN_050	EQU	$
;;;;;;;;		LDA	!HEIXPSD,Y
;;;;;;;;		STA	ENXPSL,X	; ヘイホウ　Ｘ座標イニシャルセット
;;;;;;;;		LDA	#000A0H
;;;;;;;;		STA	ENYPSL,X	; ヘイホウ　Ｙ座標イニシャルセット
;;;;;;;;;;;;;;;;		LDA	#00001
;;;;;;;;;;;;;;;;		STA	TAIONF		; 大砲担ぐフラグセット
;;;;;;;;		LDA	#00004
;;;;;;;;		STA	ENTIM0,X	; パターンタイマーセット
;;;;;;;;		STZ	<ENCONT,X
;;;;;;;;		LDY	#000
;;;;;;;;		LDA	!HEIPTDT,Y
;;;;;;;;		STA	ENCHPT,X
;;;;;;;;		LDA	!HEITMDT,Y
;;;;;;;;		STA	ENTIM0,X
;;;;;;;;		LDA	#00200H
;;;;;;;;		STA	ENXSPD,X	; ヘイホウ　Ｘスピードセット
;;;;;;;;		STA	SCRL_XSPD	;スクロールＸスピード
		RTL
;
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_HEIMV		( ミニゲームヘイホウムーブ )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;HEIPTDT		EQU	$
;;;;;;;;		WORD	00000H,00001H,00001H,00000H
;;;;;;;;;
;;;;;;;;;;;;;;;;HEIPTDW		EQU	$
;;;;;;;;;;;;;;;;HEIPTD0		EQU	$
;;;;;;;;;;;;;;;;		WORD	00001H
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;HEIPTD1		EQU	$
;;;;;;;;;;;;;;;;		WORD	00000H,00001H
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;HEIPTD2		EQU	$
;;;;;;;;;;;;;;;;		WORD	00002H,00003H,00004H,00005H,00006H
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;HEITMDT		EQU	$
;;;;;;;;;;;;;;;;		WORD	00004H,00004H,00004H,00004H
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;HEITMD0		EQU	$
;;;;;;;;;;;;;;;;		WORD	00000H
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;HEITMD1		EQU	$
;;;;;;;;;;;;;;;;		WORD	00004H,00004H
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;HEITMD2		EQU	$
;;;;;;;;;;;;;;;;		WORD	00010H,00004H,00020H,00002H,00004H
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;PATNADR		EQU	$
;;;;;;;;;;;;;;;;		WORD	HEIPTDT-HEIPTDT
;;;;;;;;;;;;;;;;		WORD	HEIPTDW-HEIPTDT
;;;;;;;;;;;;;;;;		WORD	HEIPTD0-HEIPTDT
;;;;;;;;;;;;;;;;		WORD	HEIPTD1-HEIPTDT
;;;;;;;;;;;;;;;;		WORD	HEIPTD2-HEIPTDT
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;PATNCMP		EQU	$
;;;;;;;;;;;;;;;;		WORD	HEIPTD0-HEIPTDT
;;;;;;;;;;;;;;;;		WORD	HEIPTD1-HEIPTDT
;;;;;;;;;;;;;;;;		WORD	HEIPTD1-HEIPTDT
;;;;;;;;;;;;;;;;		WORD	HEIPTD2-HEIPTDT
;;;;;;;;;;;;;;;;		WORD	HEITMDT-HEIPTDT
;;;;;;;;;
;;;;;;;;;
M_HEIMV		EQU	$
;;;;;;;;;;;;;;;;		PEA	M_HEIMV_030
;;;;;;;;;;;;;;;;		LDY	<ENWRK0,X
;;;;;;;;;;;;;;;;		LDA	!M_HEIAD,Y
;;;;;;;;;;;;;;;;		STA	<EWORK0
;;;;;;;;;;;;;;;;		JMP	(EWORK0)
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;M_HEIMV_030	EQU	$-1
;;;;;;;;		LDA	ENTIM0,X
;;;;;;;;		BNE	M_HEIMV_100	; パターンチェンジ　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	<ENCONT,X
;;;;;;;;		INC	A
;;;;;;;;		INC	A
;;;;;;;;		AND	#00007H
;;;;;;;;;;;;;;;;		CMP	!PATNCMP,Y
;;;;;;;;;;;;;;;;		BNE	M_HEIMV_050	; パターンポインターオーバー　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;		LDA	!PATNADR,Y
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;M_HEIMV_050	EQU	$
;;;;;;;;		STA	<ENCONT,X
;;;;;;;;		TAY
;;;;;;;;		LDA	!HEIPTDT,Y
;;;;;;;;		STA	ENCHPT,X
;;;;;;;;		LDA	!HEITMDT,Y
;;;;;;;;		STA	ENTIM0,X
;;;;;;;;;
;;;;;;;;M_HEIMV_100	EQU	$
		RTL
;;;;;;;;;
;;;;;;;;;
;;;;;;;;;;;;;;;;M_HEIAD		EQU	$
;;;;;;;;;;;;;;;;		WORD	NOMARLS		; 大砲持ち上げて歩く
;;;;;;;;;;;;;;;;		WORD	JUMPSUB		; ヘイホウジャンプ
;;;;;;;;;;;;;;;;		WORD	WAITSUB		; ヘイホウじっとしている
;;;;;;;;;;;;;;;;		WORD	WALKSUB		; 大砲の所まで歩く
;;;;;;;;;;;;;;;;		WORD	TAIHSUB		; 大砲を持ち上げる
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;;;;;;;;;x		NOMARLS		( 大砲持ち上げて歩く )			x
;;;;;;;;;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;;;;;;;;NOMARLS		EQU	$
;;;;;;;;;;;;;;;;		RTS
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;;;;;;;;;x		JUMPSUB		( ヘイホウジャンプ )			x
;;;;;;;;;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;;;;;;;;JUMPSUB		EQU	$
;;;;;;;;;;;;;;;;		LDA	ENYSPD,X
;;;;;;;;;;;;;;;;		BNE	JUMPSUB_050	; ヘイホウ着地した　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;		STZ	ENXSPD,X	; Ｘ　スピードクリアー
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;		LDA	ENYSPD+05CH
;;;;;;;;;;;;;;;;		ORA	ENYSPD+058H
;;;;;;;;;;;;;;;;		BNE	JUMPSUB_050	; ２匹とも着地した　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;		INC	<ENWRK0,X
;;;;;;;;;;;;;;;;		INC	<ENWRK0,X	; モードインク
;;;;;;;;;;;;;;;;		LDA	#00040H
;;;;;;;;;;;;;;;;		STA	ENTIM1,X	; タイマーセット
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;JUMPSUB_050	EQU	$
;;;;;;;;;;;;;;;;		RTS
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;;;;;;;;;x		WAITSUB		( ヘイホウじっとしている )		x
;;;;;;;;;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;;;;;;;;WALKSPD		EQU	$
;;;;;;;;;;;;;;;;		WORD	00100H,0FF00H
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;WAITSUB		EQU	$
;;;;;;;;;;;;;;;;		LDA	ENTIM1,X
;;;;;;;;;;;;;;;;		BNE	WAITSUB_100	; タイマー０　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;		LDY	ENMUKI,X
;;;;;;;;;;;;;;;;		LDA	!WALKSPD,Y
;;;;;;;;;;;;;;;;		STA	ENXSPD,X	; Ｘ　スピードセット
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;WAITSUB_050	EQU	$
;;;;;;;;;;;;;;;;		INC	<ENWRK0,X
;;;;;;;;;;;;;;;;		INC	<ENWRK0,X
;;;;;;;;;;;;;;;;		LDY	<ENWRK0,X
;;;;;;;;;;;;;;;;		LDA	!PATNADR,Y
;;;;;;;;;;;;;;;;		STA	<ENCONT,X
;;;;;;;;;;;;;;;;		TAY
;;;;;;;;;;;;;;;;		LDA	!HEIPTDT,Y
;;;;;;;;;;;;;;;;		STA	ENCHPT,X
;;;;;;;;;;;;;;;;		LDA	!HEITMDT,Y
;;;;;;;;;;;;;;;;		STA	ENTIM0,X
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;WAITSUB_100	EQU	$
;;;;;;;;;;;;;;;;		RTS
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;;;;;;;;;x		WALKSUB		( 大砲の所まで歩く )			x
;;;;;;;;;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;;;;;;;;CRSPOSD		EQU	$
;;;;;;;;;;;;;;;;		WORD	0FFF8H,00008H
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;WALKSUB		EQU	$
;;;;;;;;;;;;;;;;		LDA	ENXPSL+054H
;;;;;;;;;;;;;;;;		CLC
;;;;;;;;;;;;;;;;		ADC	#00008H
;;;;;;;;;;;;;;;;		SEC
;;;;;;;;;;;;;;;;		SBC	ENXPSL+05CH
;;;;;;;;;;;;;;;;		CMP	#00001H
;;;;;;;;;;;;;;;;		BNE	WALKSUB_050
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;		STZ	ENXSPD+05CH
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;WALKSUB_050	EQU	$
;;;;;;;;;;;;;;;;		LDA	ENXPSL+054H
;;;;;;;;;;;;;;;;		SEC
;;;;;;;;;;;;;;;;		SBC	#00008H
;;;;;;;;;;;;;;;;		SEC
;;;;;;;;;;;;;;;;		SBC	ENXPSL+058H
;;;;;;;;;;;;;;;;		CMP	#00001H
;;;;;;;;;;;;;;;;		BNE	WALKSUB_100
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;		STZ	ENXSPD+058H
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;WALKSUB_100	EQU	$
;;;;;;;;;;;;;;;;		LDA	ENXSPD+05CH
;;;;;;;;;;;;;;;;		ORA	ENXSPD+058H
;;;;;;;;;;;;;;;;		BNE	WALKSUB_150
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;		LDA	#00001
;;;;;;;;;;;;;;;;		STA	TAIONF
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;		JMP	WAITSUB_050
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;WALKSUB_150	EQU	$
;;;;;;;;;;;;;;;;		RTS
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;;;;;;;;;x		TAIHSUB		( 大砲を持ち上げる )			x
;;;;;;;;;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;;;;;;;;TAIHSUB		EQU	$
;;;;;;;;;;;;;;;;		LDA	ENTIM0,X
;;;;;;;;;;;;;;;;		BNE	TAIHSUB_050
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;		LDA	<ENCONT,X
;;;;;;;;;;;;;;;;		CMP	#(HEITMDT-HEIPTDT)-2
;;;;;;;;;;;;;;;;		BNE	TAIHSUB_050
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;		LDA	#0FFFEH
;;;;;;;;;;;;;;;;		STA	<ENWRK0,X
;;;;;;;;;;;;;;;;		STZ	ENMUKI,X
;;;;;;;;;;;;;;;;		LDA	#00200H
;;;;;;;;;;;;;;;;		STA	ENXSPD,X
;;;;;;;;;;;;;;;;		JMP	WAITSUB_050
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;TAIHSUB_050	EQU	$
;;;;;;;;;;;;;;;;		RTS
;;;;;;;;;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_DR1IN		( 泥棒君　ビンゴゲームイニシャル )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_DR1IN		EQU	$
;;;;;;;;		LDA	#00040H
;;;;;;;;		STA	ENXPSL,X	; Ｘ座標イニシャルセット
;;;;;;;;		LDA	#000A0H
;;;;;;;;		STA	ENYPSL,X	; Ｙ座標イニシャルセット
;;;;;;;;		LDA	#00200H
;;;;;;;;		STA	ENXSPD,X	; Ｘスピードイニシャルセット
;;;;;;;;		LDA	#00009H
;;;;;;;;		STA	ENCHPT,X	; パターンＮｏ．セット
;;;;;;;;		LDA	#00002
;;;;;;;;		STA	ENMUKI,X	; 向きセット
		RTL
;;;;;;;;;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_DR1MV		( 泥棒君　ビンゴゲームムーブ )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_DR1MV		EQU	$
		RTL
;;;;;;;;		LDA	PLFLSH
;;;;;;;;		CMP	#00081H
;;;;;;;;		BCS	M_DR1MV_050	; プレイヤー気絶中　？
;;;;;;;;;					; No !!
;;;;;;;;		STZ	PLFLSH		; プレイヤー気絶フラグクリアー
;;;;;;;;;
;;;;;;;;M_DR1MV_050	EQU	$
;;;;;;;;		LDA	ENDSXL,X
;;;;;;;;		CMP	#00010H
;;;;;;;;		BCS	M_DR1MV_100	; 画面左端オーバー　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	#00010H
;;;;;;;;		SEC
;;;;;;;;		SBC	ENDSXL,X
;;;;;;;;		CLC
;;;;;;;;		ADC	ENXPSL,X
;;;;;;;;		STA	ENXPSL,X	; Ｘ座標補正
;;;;;;;;		BRA	M_DR1MV_150
;;;;;;;;;
;;;;;;;;M_DR1MV_100	EQU	$
;;;;;;;;		LDA	ENDSXL,X
;;;;;;;;		SEC
;;;;;;;;		SBC	#000E0H
;;;;;;;;		BMI	M_DR1MV_150	; 画面右端オーバー　？
;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;		CMP	#00020H
;;;;;;;;;;;;;;;;		BCC	M_DR1MV_150	; 画面右端オーバー　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;		STA	<EWORK0
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		SEC
;;;;;;;;		SBC	<EWORK0
;;;;;;;;		STA	ENXPSL,X	; Ｘ座標補正
;;;;;;;;;
;;;;;;;;M_DR1MV_150	EQU	$
;;;;;;;;		LDA	<ENWRK0,X
;;;;;;;;		ASL	A
;;;;;;;;		TAY
;;;;;;;;		LDA	!M_DR1MV_ADR,Y
;;;;;;;;		STA	<EWORK0
;;;;;;;;		JMP	(EWORK0)
;;;;;;;;;
;;;;;;;;;
;;;;;;;;M_DR1MV_ADR	EQU	$
;;;;;;;;		WORD	DR1SEAR		; 玉サーチチェック
;;;;;;;;		WORD	DR1TMSH		; 玉サーチムーブ
;;;;;;;;		WORD	DR1PLSH		; プレイヤーサーチムーブ
;;;;;;;;		WORD	DR1JUMP		; 泥棒君ジャンプムーブ
;;;;;;;;		WORD	DR1CYAK		; 着地ポーズムーブ
;;;;;;;;;
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	DR1SEAR ( 玉サーチチェック )			x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;DR1SEAR		EQU	$
;;;;;;;;;;;;;;;;		LDA	PLFLSH
;;;;;;;;;;;;;;;;		BNE	DR1SEAR_050	; プレイヤー気絶　？
;;;;;;;;;;;;;;;;;					; No !!
;;;;;;;;;;;;;;;;		LDA	<RANDM0
;;;;;;;;;;;;;;;;		AND	#000FFH
;;;;;;;;;;;;;;;;		CMP	#000A0H
;;;;;;;;;;;;;;;;		BCC	DR1SEAR_100	; 玉サーチ　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;DR1SEAR_050	EQU	$
;;;;;;;;		TXA
;;;;;;;;		AND	#000FFH
;;;;;;;;		STA	R1		; 敵インデックスセット
;;;;;;;;		M_CHIP	M_ITEM_SEARCH
;;;;;;;;;
;;;;;;;;		LDX	<ENINDX
;;;;;;;;		LDA	R1
;;;;;;;;		BMI	DR1SEAR_100	; 玉あった　？
;;;;;;;;;					; Yes !!
;;;;;;;;		STA	<ENWRK2,X	; 玉インデックスセット
;;;;;;;;		TAY
;;;;;;;;		LDA	ENCBFG,X
;;;;;;;;		LSR	A
;;;;;;;;		BCC	DR1SEAR_250	; ジャンプ中　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	ENXPSL,Y
;;;;;;;;		STA	<EWORK0		; 目標Ｘ座標セット
;;;;;;;;		LDA	#00300H
;;;;;;;;		STA	<EWORK2		; 移動スピードセット
;;;;;;;;		INC	<ENWRK0,X	; 玉サーチモードセット
;;;;;;;;		BRA	DR1SEAR_150
;;;;;;;;;
;;;;;;;;DR1SEAR_100	EQU	$
;;;;;;;;		JMP	DR1PLSH
;;;;;;;;;;;;;;;;		LDA	ENXPSL+054H
;;;;;;;;;;;;;;;;		STA	<EWORK0		; 大砲Ｘ座標セット
;;;;;;;;;;;;;;;;		LDA	#00200H
;;;;;;;;;;;;;;;;		STA	<EWORK2		; 移動スピードセット
;;;;;;;;;;;;;;;;		LDA	#00002
;;;;;;;;;;;;;;;;		STA	<ENWRK0,X	; プレイヤーサーチモードセット
;;;;;;;;;
;;;;;;;;DR1SEAR_150	EQU	$
;;;;;;;;		LDA	<EWORK0
;;;;;;;;		STA	R1		; 目標Ｘ座標セット
;;;;;;;;		LDA	ENYPSL,X
;;;;;;;;		STA	R2		; 目標Ｙ座標セット
;;;;;;;;		STA	R4		; 現在Ｙ座標セット
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		STA	R3		; 現在Ｘ座標セット
;;;;;;;;		LDA	<EWORK2
;;;;;;;;		STA	R6		; 移動スピードセット
;;;;;;;;;
;;;;;;;;		M_CHIP	SEARCH_SPEED
;;;;;;;;;
;;;;;;;;		LDX	<ENINDX
;;;;;;;;		LDY	#002
;;;;;;;;		LDA	R1
;;;;;;;;		BPL	DR1SEAR_200	; Ｘスピードプラス　？
;;;;;;;;;					; No !!
;;;;;;;;		LDY	#000
;;;;;;;;		LDA	#0FE00H		; ジャンプスピードセット
;;;;;;;;;
;;;;;;;;DR1SEAR_200	EQU	$
;;;;;;;;		STA	ENXSPD,X	; Ｘスピードセット
;;;;;;;;		TYA
;;;;;;;;		STA	ENMUKI,X	; 向きセット
;;;;;;;;		LDA	#00001
;;;;;;;;		STA	ENCHPT,X	; パターンＮｏ．セット
;;;;;;;;		LDA	#00003
;;;;;;;;		STA	ENTIM1,X	; パターンチェンジタイマーセット
;;;;;;;;		STZ	<ENWRK4,X	; パターンチェンジポインターセット
;;;;;;;;;
;;;;;;;;DR1SEAR_250	EQU	$
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	DR1TMSH ( 玉サーチムーブ )			x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;DR1TMSH		EQU	$
;;;;;;;;		LDA	ENTIM2,X
;;;;;;;;		ORA	PLFLSH
;;;;;;;;		BNE	DR1TMSH_030	; プレイヤーやられている　？
;;;;;;;;;					; No !!
;;;;;;;;		LDY	ECRSFG,X
;;;;;;;;		BPL	DR1TMSH_030	; プレイヤーと衝突　？
;;;;;;;;;					; Yes !!
;;;;;;;;		JMP	PLENCRS
;;;;;;;;;
;;;;;;;;DR1TMSH_030	EQU	$
;;;;;;;;		LDY	<ENWRK2,X
;;;;;;;;		LDA	ENCBFG,X
;;;;;;;;		LSR	A
;;;;;;;;		BCC	DR1TMSH_100	; ジャンプ中　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	ENXPSL,Y
;;;;;;;;		STA	R1		; 目標Ｘ座標セット
;;;;;;;;		LDA	ENYPSL,X
;;;;;;;;		STA	R2		; 目標Ｙ座標セット
;;;;;;;;		STA	R4		; 現在Ｙ座標セット
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		STA	R3		; 現在Ｘ座標セット
;;;;;;;;		LDA	#00300H
;;;;;;;;		STA	R6		; 移動スピード
;;;;;;;;;
;;;;;;;;		M_CHIP	SEARCH_SPEED
;;;;;;;;;
;;;;;;;;		LDX	<ENINDX
;;;;;;;;		LDA	R1
;;;;;;;;		BPL	DR1TMSH_040	; スピード右方向　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	#0FE00H
;;;;;;;;;
;;;;;;;;DR1TMSH_040	EQU	$
;;;;;;;;		STA	ENXSPD,X	; Ｘスピードセット
;;;;;;;;		LDY	<ENWRK2,X	; 玉インデックスロード
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		SEC
;;;;;;;;		SBC	ENXPSL,Y
;;;;;;;;		BEQ	DR1TMSH_045	; 目標Ｘ座標オーバー　？
;;;;;;;;;					; No !!
;;;;;;;;		EOR	R1
;;;;;;;;		BMI	DR1TMSH_050	; Ｘ　ポインターオーバー　？
;;;;;;;;;					; Yes !!
;;;;;;;;DR1TMSH_045	EQU	$
;;;;;;;;		LDA	ENXPSL,Y
;;;;;;;;		STA	ENXPSL,X	; 目標Ｘ座標セット
;;;;;;;;;
;;;;;;;;DR1TMSH_050	EQU	$
;;;;;;;;		LDA	ENCBFG,Y
;;;;;;;;		LSR	A
;;;;;;;;		BCS	DR1TMSH_100	; 玉降下中　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	ENYPSL,X
;;;;;;;;		SEC
;;;;;;;;		SBC	ENYPSL,Y
;;;;;;;;		BMI	DR1TMSH_100	; 玉の位置が泥棒君より下がっている　？
;;;;;;;;;					; No !!
;;;;;;;;		CMP	#00020H
;;;;;;;;		BCC	DR1TMSH_100	; ジャンプする　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	ENCBFG,X
;;;;;;;;		LSR	A
;;;;;;;;		BCC	DR1TMSH_100	; ジャンプ中　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	ENXPSL,Y
;;;;;;;;		SEC
;;;;;;;;		SBC	ENXPSL,X
;;;;;;;;		CLC
;;;;;;;;		ADC	#00038H
;;;;;;;;		CMP	#00070H
;;;;;;;;		BCS	DR1TMSH_100	; ジャンプする　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	#0FA00H
;;;;;;;;		STA	ENYSPD,X	; 泥棒君Ｙスピードセット
;;;;;;;;		LDA	#00049H
;;;;;;;;		JSL	>SOUND_3_ON	; [♪]
;;;;;;;;;
;;;;;;;;DR1TMSH_100	EQU	$
;;;;;;;;		LDY	<ENWRK2,X
;;;;;;;;		LDA	ENMODE,Y
;;;;;;;;		BNE	DR1TMSH_150	; 玉クリアー　？
;;;;;;;;;					; Yes !!
;;;;;;;;		STZ	ENXSPD,X	; Ｘスピードクリアー
;;;;;;;;		STZ	<ENWRK0,X	; モードクリアー
;;;;;;;;;
;;;;;;;;DR1TMSH_150	EQU	$
;;;;;;;;		LDY	#00009
;;;;;;;;		LDA	ENXSPD,X
;;;;;;;;		BEQ	DR1TMSH_200	; Ｘスピードクリアー　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	ENTIM1,X
;;;;;;;;		BNE	DR1TMSH_250	; パターンチェンジタイマークリアー　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	#00003H
;;;;;;;;		STA	ENTIM1,X	; パターンチェンジタイマーセット
;;;;;;;;		LDY	ENCHPT,X
;;;;;;;;		DEY
;;;;;;;;		BPL	DR1TMSH_200	; パターンチェンジＮｏ．オーバー　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDY	#001H
;;;;;;;;;
;;;;;;;;DR1TMSH_200	EQU	$
;;;;;;;;		TYA
;;;;;;;;		STA	ENCHPT,X	; パターンチェンジＮｏ．セット
;;;;;;;;;
;;;;;;;;DR1TMSH_250	EQU	$
;;;;;;;;		LDY	#002
;;;;;;;;		LDA	ENXSPD,X
;;;;;;;;		BPL	DR1TMSH_300	; 右向き　？
;;;;;;;;;					; No !!
;;;;;;;;		LDY	#000
;;;;;;;;;
;;;;;;;;DR1TMSH_300	EQU	$
;;;;;;;;		TYA
;;;;;;;;		STA	ENMUKI,X	; 向きセット
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	DR1PLSH ( プレイヤーサーチムーブ )		x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;DR1PLSH		EQU	$
;;;;;;;;		LDA	ENTIM2,X
;;;;;;;;		ORA	PLFLSH
;;;;;;;;		BNE	DR1PLSH_050	; プレイヤーやられている　？
;;;;;;;;;					; No !!
;;;;;;;;		LDY	ECRSFG,X
;;;;;;;;		BPL	DR1PLSH_050	; プレイヤーと衝突　？
;;;;;;;;;					; Yes !!
;;;;;;;;		JMP	PLENCRS
;;;;;;;;;
;;;;;;;;DR1PLSH_050	EQU	$
;;;;;;;;;;;;;;;;		LDA	ENCBFG,X
;;;;;;;;;;;;;;;;		LSR	A
;;;;;;;;;;;;;;;;		BCC	DR1PLSH_100	; ジャンプ中　？
;;;;;;;;;;;;;;;;;					; No !!
;;;;;;;;;;;;;;;;		LDA	PLXPSL
;;;;;;;;;;;;;;;;		SEC
;;;;;;;;;;;;;;;;		SBC	ENXPSL,X
;;;;;;;;;;;;;;;;		CLC
;;;;;;;;;;;;;;;;		ADC	#00038H
;;;;;;;;;;;;;;;;		CMP	#00070H
;;;;;;;;;;;;;;;;		BCS	DR1PLSH_100	; ジャンプする　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;		LDA	#0FC00H
;;;;;;;;;;;;;;;;		STA	ENYSPD,X	; 泥棒君Ｙスピードセット
;;;;;;;;;;;;;;;;		LDA	#00017H
;;;;;;;;;;;;;;;;		STA	ENCHPT,X	; パターンチェンジＮｏ．セット
;;;;;;;;;;;;;;;;		LDA	#EJMP
;;;;;;;;;;;;;;;;		STA	<ENWRK0,X
;;;;;;;;;;;;;;;;		LDA	#00001
;;;;;;;;;;;;;;;;		STA	SOUND1	; [♪]
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;		RTL
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;DR1PLSH_100	EQU	$
;;;;;;;;		LDA	ENXPSL+054H
;;;;;;;;		STA	R1		; 目標Ｘ座標セット
;;;;;;;;		LDA	ENYPSL,X
;;;;;;;;		STA	R2		; 目標Ｙ座標セット
;;;;;;;;		STA	R4		; 現在Ｙ座標セット
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		STA	R3		; 現在Ｘ座標セット
;;;;;;;;		LDA	#00200H
;;;;;;;;		STA	R6		; 移動スピードセット
;;;;;;;;;
;;;;;;;;		M_CHIP	SEARCH_SPEED
;;;;;;;;;
;;;;;;;;		LDX	<ENINDX
;;;;;;;;		LDA	R1
;;;;;;;;		STA	ENXSPD,X	; Ｘスピードセット
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		SEC
;;;;;;;;		SBC	ENXPSL+054H
;;;;;;;;		BEQ	DR1PLSH_140	; 目標Ｘ座標オーバー　？
;;;;;;;;;					; No !!
;;;;;;;;		EOR	R1
;;;;;;;;		BMI	DR1PLSH_150	; Ｘ　ポインターオーバー　？
;;;;;;;;;					; Yes !!
;;;;;;;;DR1PLSH_140	EQU	$
;;;;;;;;		LDA	ENXPSL+054H
;;;;;;;;		STA	ENXPSL,X	; 目標Ｘ座標セット
;;;;;;;;;
;;;;;;;;DR1PLSH_150	EQU	$
;;;;;;;;		LDY	#009H
;;;;;;;;		LDA	ENXSPD,X
;;;;;;;;		BEQ	DR1PLSH_200	; Ｘスピードクリアー　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	ENTIM1,X
;;;;;;;;		BNE	DR1PLSH_250	; パターンチェンジタイマークリアー　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	#00003H
;;;;;;;;		STA	ENTIM1,X	; パターンチェンジタイマーセット
;;;;;;;;		LDY	ENCHPT,X
;;;;;;;;		DEY
;;;;;;;;		BPL	DR1PLSH_200	; パターンチェンジＮｏ．オーバー　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDY	#001H
;;;;;;;;;
;;;;;;;;DR1PLSH_200	EQU	$
;;;;;;;;		TYA
;;;;;;;;		STA	ENCHPT,X	; パターンチェンジＮｏ．セット
;;;;;;;;;
;;;;;;;;DR1PLSH_250	EQU	$
;;;;;;;;		LDY	#002
;;;;;;;;		LDA	ENXSPD,X
;;;;;;;;		BPL	DR1PLSH_300	; 右向き　？
;;;;;;;;;					; No !!
;;;;;;;;		LDY	#000
;;;;;;;;;
;;;;;;;;DR1PLSH_300	EQU	$
;;;;;;;;		TYA
;;;;;;;;		STA	ENMUKI,X	; 向きセット
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	DR1JUMP ( 泥棒君ジャンプムーブ )		x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;DR1JUMP		EQU	$
;;;;;;;;		LDA	ENTIM2,X
;;;;;;;;		ORA	PLFLSH
;;;;;;;;		BNE	DR1JUMP_050	; プレイヤーやられている　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	ENWRK6,X
;;;;;;;;		BNE	DR1JUMP_050	; プレイヤーに踏まれた　？
;;;;;;;;;					; No !!
;;;;;;;;		LDY	ECRSFG,X
;;;;;;;;		BPL	DR1JUMP_050	; プレイヤーと衝突　？
;;;;;;;;;					; Yes !!
;;;;;;;;		JSL	>PLENCRS
;;;;;;;;;
;;;;;;;;DR1JUMP_050	EQU	$
;;;;;;;;		LDY	#018H
;;;;;;;;		LDA	ENYSPD,X
;;;;;;;;		BPL	DR1JUMP_100	; 上昇中　？
;;;;;;;;;					; No !!
;;;;;;;;		DEY
;;;;;;;;;
;;;;;;;;DR1JUMP_100	EQU	$
;;;;;;;;		TYA
;;;;;;;;		STA	ENCHPT,X	; 泥棒君ジャンプポーズＮｏ．セット
;;;;;;;;		LDA	ENCBFG,X
;;;;;;;;		LSR	A
;;;;;;;;		BCC	DR1JUMP_250	; 着地した　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDY	<ENWRK0,X
;;;;;;;;		INY
;;;;;;;;		LDA	ENWRK6,X
;;;;;;;;		BNE	DR1JUMP_150	; プレイヤーに踏まれた　？
;;;;;;;;;					; No !!
;;;;;;;;		LDY	#000
;;;;;;;;		LDA	#00009H
;;;;;;;;		STA	ENCHPT,X	; 泥棒君着地ポーズＮｏ．セット
;;;;;;;;		STZ	<ENWRK4,X	; 泥棒君着地ポーズポインタークリアー
;;;;;;;;		BRA	DR1JUMP_200
;;;;;;;;;
;;;;;;;;DR1JUMP_150	EQU	$
;;;;;;;;		LDA	#00019H
;;;;;;;;		STA	ENCHPT,X	; 泥棒君着地ポーズＮｏ．セット
;;;;;;;;		LDA	#(YARAPTD-CYAKPTD)/2
;;;;;;;;		STA	<ENWRK4,X	; 泥棒君着地ポーズポインタークリアー
;;;;;;;;;
;;;;;;;;DR1JUMP_200	EQU	$
;;;;;;;;		TYA
;;;;;;;;		STA	<ENWRK0,X	; モードセット
;;;;;;;;		STZ	ENXSPD,X	; 泥棒君Ｘスピードクリアー
;;;;;;;;		LDA	#00004H
;;;;;;;;		STA	ENTIM1,X	; 泥棒君着地ポーズタイマーセット
;;;;;;;;;
;;;;;;;;DR1JUMP_250	EQU	$
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	DR1CYAK ( 着地ポーズムーブ )			x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;DR1CYAK		EQU	$
;;;;;;;;		LDA	ENTIM1,X
;;;;;;;;		BNE	DR1CYAK_050	; 泥棒君着地ポーズチェンジ　？
;;;;;;;;;					; Yes !!
;;;;;;;;		INC	<ENWRK4,X
;;;;;;;;		LDA	<ENWRK4,X
;;;;;;;;		ASL	A
;;;;;;;;		TAY
;;;;;;;;		LDA	!CYAKPTD,Y
;;;;;;;;		STA	ENCHPT,X	; 泥棒君着地ポーズＮｏ．セット
;;;;;;;;		LDA	!CYAKTMD,Y
;;;;;;;;		STA	ENTIM1,X	; 泥棒君着地ポーズタイマーセット
;;;;;;;;		BNE	DR1CYAK_050	; 泥棒君着地ポーズ終わり　？
;;;;;;;;;					; Yes !!
;;;;;;;;		STZ	<ENWRK0,X
;;;;;;;;		STZ	ENWRK6,X
;;;;;;;;		LDA	#00030H
;;;;;;;;		STA	ENTIM2,X
;;;;;;;;;
;;;;;;;;DR1CYAK_050	EQU	$
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;
;;;;;;;;;
;;;;;;;;;
;========================================================================
		MEM8
		IDX8
;
		DPAGE	WORK0
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		MINIINT1_5	( ミニゲーム爆弾落しイニシャルセット )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MINIINT1_5	EQU	$
;;;;;;;;;-------------- スクロール値 クリア -----------------------------
;;;;;;;;		M16			; memory 16 bit mode !!
;;;;;;;;;
;;;;;;;;		STZ	<SCCH1
;;;;;;;;		STZ	<SCCV1
;;;;;;;;		STZ	<SCCH2
;;;;;;;;		STZ	<SCCV2
;;;;;;;;		STZ	<SCCH3
;;;;;;;;		STZ	<SCCV3
;;;;;;;;		M8			; memory 8bit mode !!
;;;;;;;;;
;;;;;;;;		LDA	#069H
;;;;;;;;		STA	!BG1SCF
;;;;;;;;		STA	2107H
;;;;;;;;		LDA	#039H
;;;;;;;;		STA	!BG2SCF
;;;;;;;;		STA	2108H
;;;;;;;;		LDA	#029H
;;;;;;;;		STA	BGMODE
;;;;;;;;		STA	2105H
;;;;;;;;		STZ	HD420C
;;;;;;;;		STZ	SUBADF
;;;;;;;;;
;;;;;;;;;-------------- ゲーム イニシャル -----------------------------------
;;;;;;;;		MI16			; memory,index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		LDA	#00040H
;;;;;;;;		STA	PLYPSL		; player Y initial set !!
;;;;;;;;		LDA	#00030H
;;;;;;;;		STA	PLXPSL		; player X initial set !!
;;;;;;;;		STZ	UNBUFAD
;;;;;;;;		STA	TIMER
;;;;;;;;		LDA	#P_HERI
;;;;;;;;		STA	PLTYPE		; ヘリコプターモードセット
;;;;;;;;		JSL	>HERI_INITL	; ヘリコプターモードイニシャル
;;;;;;;;;
;;;;;;;;		I8			; index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		LDA	#0000EH
;;;;;;;;		STA	SCRLNO
;;;;;;;;		STZ	NUKINO
;;;;;;;;		STZ	BG3TYP
;;;;;;;;		STZ	BG1TYP
;;;;;;;;		STZ	ATSCRL_SCCV1
;;;;;;;;		LDA	#00001
;;;;;;;;		STA	ATSCRL_V
;;;;;;;;		JSL	>PSCRL_INIT
;;;;;;;;;
;;;;;;;;		MI16			; memory,index 16 bit mode !!
;;;;;;;;;
;;;;;;;;		STZ	PLSCRL_MINX
;;;;;;;;		LDA	#00100H
;;;;;;;;		STA	PLSCRL_MAXX
;;;;;;;;;
;;;;;;;;		LDA	#00099H
;;;;;;;;		STA	MNTIME		; ミニゲームタイマーセット
;;;;;;;;		LDA	#00001
;;;;;;;;		STA	MNTMCT		; ミニゲームタイマーカウンターセット
;;;;;;;;		LDA	#00004
;;;;;;;;		STA	ENTMCT		; ミサイル発射台カウントセット
;;;;;;;;;
;;;;;;;;;;;;;;;;		LDA	#0FFFFH
;;;;;;;;;;;;;;;;		STA	OBJCHR_BNK
;;;;;;;;;;;;;;;;		STA	OBJCHR_BNK+2
;;;;;;;;;;;;;;;;		STA	OBJCHR_BNK+4
;;;;;;;;;;;;;;;;;
;;;;;;;;		LDX	#001FEH
;;;;;;;;		LDA	#00000
;;;;;;;;;
;;;;;;;;MINIINT1_5_050	EQU	$
;;;;;;;;		STA	>BGUNIT,X
;;;;;;;;		STA	>BGUNIT+200H,X
;;;;;;;;		DEX
;;;;;;;;		DEX
;;;;;;;;		BPL	MINIINT1_5_050	; BG unit buffer clear end ?
;;;;;;;;;					; Yes !!
;;;;;;;;		LDX	#0000FH*2
;;;;;;;;		LDA	#00100H
;;;;;;;;;
;;;;;;;;MINIINT1_5_100	EQU	$
;;;;;;;;		STA	>BGUNIT,X
;;;;;;;;		STA	>BGUNIT+200H,X
;;;;;;;;		STA	>BGUNIT+180H,X
;;;;;;;;		STA	>BGUNIT+380H,X
;;;;;;;;		DEX
;;;;;;;;		DEX
;;;;;;;;		BPL	MINIINT1_5_100
;;;;;;;;;
;;;;;;;;		LDA	#00100H
;;;;;;;;		STA	UNBUFAD
;;;;;;;;;
;;;;;;;;		I8			; index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		LDA	#M_BBY
;;;;;;;;		JSL	>ENINSR_I
;;;;;;;;		LDA	#00044H
;;;;;;;;		STA	ENWRK2,Y	; 爆弾のインデックスＮｏ．セット
;;;;;;;;;
;;;;;;;;		LDA	#M_DR3
;;;;;;;;		JSL	>ENINSR_I
;;;;;;;;;
;;;;;;;;		LDA	#M_MIS
;;;;;;;;		JSL	>ENINSR_I
;;;;;;;;		LDA	#00080H
;;;;;;;;		STA	ENXPSL,Y	; ミサイルイニシャルＸ座標セット
;;;;;;;;		LDA	#M_MIS
;;;;;;;;		JSL	>ENINSR_I
;;;;;;;;		LDA	#000E0H
;;;;;;;;		STA	ENXPSL,Y	; ミサイルイニシャルＸ座標セット
;;;;;;;;		LDA	#M_MIS
;;;;;;;;		JSL	>ENINSR_I
;;;;;;;;		LDA	#00140H
;;;;;;;;		STA	ENXPSL,Y	; ミサイルイニシャルＸ座標セット
;;;;;;;;		LDA	#M_MIS
;;;;;;;;		JSL	>ENINSR_I
;;;;;;;;		LDA	#001A0H
;;;;;;;;		STA	ENXPSL,Y	; ミサイルイニシャルＸ座標セット
;;;;;;;;;;;;;;;;		LDA	#M_MIS
;;;;;;;;;;;;;;;;		JSL	>ENINSR_I
;;;;;;;;;;;;;;;;		LDA	#00180H
;;;;;;;;;;;;;;;;		STA	ENXPSL,Y	; ミサイルイニシャルＸ座標セット
;;;;;;;;;;;;;;;;		LDA	#M_MIS
;;;;;;;;;;;;;;;;		JSL	>ENINSR_I
;;;;;;;;;;;;;;;;		LDA	#001C0H
;;;;;;;;;;;;;;;;		STA	ENXPSL,Y	; ミサイルイニシャルＸ座標セット
;;;;;;;;;
;;;;;;;;		LDA	#M_BAK
;;;;;;;;		JSL	>ENINSR_I
;;;;;;;;		LDA	#00070H
;;;;;;;;		STA	ENYPSL,Y	; 爆弾イニシャルＹ座標セット
;;;;;;;;		LDA	#00030H
;;;;;;;;		STA	ENXPSL,Y	; 爆弾イニシャルＸ座標セット
;;;;;;;;;
;;;;;;;;		JSL	>ENEMY_IN
;;;;;;;;;
;;;;;;;;		M8			; memory 8 bit mode !!
;;;;;;;;;
		RTS
;
;
;****************************************************************
;*								*
;*		ミニ ゲーム					*
;*								*
;****************************************************************
MINIMOV1_5	EQU	$
;;;;;;;;		JSL	>OAMDXCLR	; OAM clear sub !!
;;;;;;;;		JSL	>PLSCRL		; player scroll set sub !!
;;;;;;;;		LDA	#030H
;;;;;;;;		STA	PLPRIO		; player priority set !!
;;;;;;;;		JSL	>ENCSET_DM	; enemy char set sub !!
;;;;;;;;		JSL	>PLCSET		; player char set sub !!
;;;;;;;;;
;;;;;;;;		STZ	SPECIAL_P
;;;;;;;;;
;;;;;;;;		M16			; memory 16 bit mode !!
;;;;;;;;;
;;;;;;;;		LDA	ENTMCT
;;;;;;;;		BEQ	MINIMOV1_5_050	; ミサイル発射台全て壊した　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	MNTIME
;;;;;;;;		BNE	MINIMOV1_5_150	; ミニゲーム終了　？
;;;;;;;;;					; Yes !!
;;;;;;;;MINIMOV1_5_050	EQU	$
;;;;;;;;		JSL	>ENEMY_IN	; enemy move sub !!
;;;;;;;;;
;;;;;;;;		M16			; memory 16 bit mode !!
;;;;;;;;;
;;;;;;;;		DEC	ENDTIM
;;;;;;;;		BNE	MINIMOV1_5_200	; 勝敗文字終了　？
;;;;;;;;;					; Yes !!
;;;;;;;;;;;;K;;;;		LDY	#MINIT
;;;;;;;;;;;;K;;;;		INC	MINIMD
;;;;;;;;;;;;K;;;;		LDA	MINIMD
;;;;;;;;;;;;K;;;;		CMP	#00003
;;;;;;;;;;;;K;;;;		BNE	MINIMOV1_5_100	; ミニゲーム　３回終わった　？
;;;;;;;;;					; Yes !!
;;;;;;;;		JSL	>BACK_GAME
;;;;;;;;		BRA	MINIMOV1_5_200
;;;;;;;;;;;;K;;;;		LDY	#HMPIN
;;;;;;;;;
;;;;;;;;MINIMOV1_5_100	EQU	$
;;;;;;;;;;;;K;;;;		STY	MODENO		; メインモードセット
;;;;;;;;;;;;K;;;;		BRA	MINIMOV1_5_200
;;;;;;;;;
;;;;;;;;MINIMOV1_5_150	EQU	$
;;;;;;;;		M8			; memory 8 bit mode !!
;;;;;;;;;
;;;;;;;;		JSL	>PLAYER		; player move sub !!
;;;;;;;;		LDA	!MSGMOD		; メッセージ ウィンドゥ ＯＮ ?
;;;;;;;;		BNE	MINIMOV1_5_200	;	YES -> MINIMOV1_5_200
;;;;;;;;		JSL	>ENEMY_IN	; enemy move sub !!
;;;;;;;;;
;;;;;;;;		JSR	METERS2		; メーターセットルーチン
;;;;;;;;;
;;;;;;;;MINIMOV1_5_200	EQU	$
;;;;;;;;		M16			; memory 16 bit mode !!
;;;;;;;;;
;;;;;;;;		M_CHIP	DX_OAM		; SOAM_DX => OAM convert
;;;;;;;;;
;;;;;;;;		M8			; memory 8 bit mode !!
;;;;;;;;;
		RTS
;
;
;------------------------------------------------------------------------
;;;;;;;;		MEM8
;;;;;;;;		IDX8
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	METERS2 ( メーターセットルーチン )		x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;METERS2		EQU	$
;;;;;;;;		MI16			; memory,index 16 bit mode !!
;;;;;;;;;
;;;;;;;;		LDY	#00000
;;;;;;;;		LDA	ENTMCT
;;;;;;;;		BEQ	METERS2_050	; ミサイル発射台全て壊した　？
;;;;;;;;;					; No !!
;;;;;;;;		DEC	MNTMCT
;;;;;;;;		BNE	METERS2_150	; タイマーカウントダウン　？
;;;;;;;;;					; Yes !!
;;;;;;;;		SEC
;;;;;;;;		SED
;;;;;;;;		LDA	MNTIME
;;;;;;;;		SBC	#00001
;;;;;;;;		STA	MNTIME		; ミニゲームタイマーセット
;;;;;;;;		CLD
;;;;;;;;		BNE	METERS2_100	; ミニゲーム終了　？
;;;;;;;;;					; Yes !!
;;;;;;;;		INY
;;;;;;;;		INY
;;;;;;;;;
;;;;;;;;METERS2_050	EQU	$
;;;;;;;;		LDA	#00200H
;;;;;;;;		STA	ENDTIM
;;;;;;;;		TYA
;;;;;;;;		LSR	A
;;;;;;;;		STA	WINFLG
;;;;;;;;		LDA	!DATADRS,Y
;;;;;;;;		STA	VRFLG2
;;;;;;;;		LDA	!SOUNDNO,Y
;;;;;;;;		STA	<SOUND_0	; [♪]
;;;;;;;;;
;;;;;;;;METERS2_100	EQU	$
;;;;;;;;		LDA	#00063
;;;;;;;;		STA	MNTMCT		; ミニゲームタイマーカウントセット
;;;;;;;;;
;;;;;;;;METERS2_150	EQU	$
;;;;;;;;		PHB
;;;;;;;;		LDA	#BANK VRAMDX
;;;;;;;;		PHA
;;;;;;;;		PLB
;;;;;;;;;
;;;;;;;;		LDX	VRAMDX
;;;;;;;;		LDA	#03485H
;;;;;;;;		STA	0,X
;;;;;;;;		CLC
;;;;;;;;		ADC	#00020H
;;;;;;;;		STA	16,X
;;;;;;;;		LDA	#03499H
;;;;;;;;		STA	32,X
;;;;;;;;		ADC	#00020H
;;;;;;;;		STA	48,X
;;;;;;;;;
;;;;;;;;		LDA	#00180H
;;;;;;;;		STA	2,X
;;;;;;;;		STA	18,X
;;;;;;;;		STA	34,X
;;;;;;;;		STA	50,X
;;;;;;;;;
;;;;;;;;		LDA	#00018H
;;;;;;;;		STA	4,X
;;;;;;;;		STA	20,X
;;;;;;;;		STA	36,X
;;;;;;;;		STA	52,X
;;;;;;;;;
;;;;;;;;		TXA
;;;;;;;;		ADC	#00012
;;;;;;;;		STA	5,X
;;;;;;;;		ADC	#00016
;;;;;;;;		STA	21,X
;;;;;;;;		ADC	#00016
;;;;;;;;		STA	37,X
;;;;;;;;		ADC	#00016
;;;;;;;;		STA	53,X
;;;;;;;;;
;;;;;;;;		LDA	#BANK VRAMDX
;;;;;;;;		STA	7,X
;;;;;;;;		STA	23,X
;;;;;;;;		STA	39,X
;;;;;;;;		STA	55,X
;;;;;;;;;
;;;;;;;;		LDA	#00004
;;;;;;;;		STA	8,X
;;;;;;;;		STA	24,X
;;;;;;;;		STA	40,X
;;;;;;;;		STA	56,X
;;;;;;;;;
;;;;;;;;		TXA
;;;;;;;;		ADC	#00016
;;;;;;;;		STA	10,X
;;;;;;;;		ADC	#00016
;;;;;;;;		STA	26,X
;;;;;;;;		ADC	#00016
;;;;;;;;		STA	42,X
;;;;;;;;		ADC	#00016
;;;;;;;;		STA	58,X
;;;;;;;;		STA	VRAMDX
;;;;;;;;;
;;;;;;;;		PLB
;;;;;;;;		PLB
;;;;;;;;;
;;;;;;;;		TXA
;;;;;;;;		SEC
;;;;;;;;		SBC	#VRAMDX+2
;;;;;;;;		TAX
;;;;;;;;;
;;;;;;;;		LDA	MNTIME
;;;;;;;;		TAY
;;;;;;;;		AND	#000F0H
;;;;;;;;		LSR	A
;;;;;;;;		LSR	A
;;;;;;;;		LSR	A
;;;;;;;;		LSR	A
;;;;;;;;		ORA	#02900H
;;;;;;;;		STA	>VRAMDX+14,X
;;;;;;;;		ORA	#00010H
;;;;;;;;		STA	>VRAMDX+30,X
;;;;;;;;;
;;;;;;;;		TYA
;;;;;;;;		AND	#0000FH
;;;;;;;;		ORA	#02900H
;;;;;;;;		STA	>VRAMDX+16,X
;;;;;;;;		ORA	#00010H
;;;;;;;;		STA	>VRAMDX+32,X
;;;;;;;;;
;;;;;;;;		LDA	ENTMCT
;;;;;;;;		TAY
;;;;;;;;		AND	#000F0H
;;;;;;;;		LSR	A
;;;;;;;;		LSR	A
;;;;;;;;		LSR	A
;;;;;;;;		LSR	A
;;;;;;;;		ORA	#02900H
;;;;;;;;		STA	>VRAMDX+46,X
;;;;;;;;		ORA	#00010H
;;;;;;;;		STA	>VRAMDX+62,X
;;;;;;;;;
;;;;;;;;		TYA
;;;;;;;;		AND	#0000FH
;;;;;;;;		ORA	#02900H
;;;;;;;;		STA	>VRAMDX+48,X
;;;;;;;;		ORA	#00010H
;;;;;;;;		STA	>VRAMDX+64,X
;;;;;;;;;
;;;;;;;;		MI8			; memory,index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		RTS
;;;;;;;;;
;;;;;;;;;
;------------------------------------------------------------------------
		MEM16
		IDX8
;
		DPAGE	EN0RAM
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_BAKIN		( 爆弾イニシャルセット )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_BAKIN		EQU	$
;;;;;;;;		LDA	#00030H
;;;;;;;;		STA	ENCLOR,X
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_BAKMV		( 爆弾ムーブ )				x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_BAKMV		EQU	$
;;;;;;;;;;;;;;;;		JSL	>ENMDCK
;;;;;;;;;;;;;;;;;
;;;;;;;;		LDA	ENTMCT
;;;;;;;;		BEQ	M_BAKMV_050	; 全て壊した　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	MNTIME
;;;;;;;;		BNE	M_BAKMV_100	; ゲーム終了　？
;;;;;;;;;					; Yes !!
;;;;;;;;M_BAKMV_050	EQU	$
		RTL
;;;;;;;;;
;;;;;;;;M_BAKMV_100	EQU	$
;;;;;;;;		LDA	<ENWRK0,X
;;;;;;;;		ASL	A
;;;;;;;;		TAY
;;;;;;;;		LDA	M_BAKMV_ADR,Y
;;;;;;;;		STA	<EWORK0
;;;;;;;;		JMP	(EWORK0)
;;;;;;;;;
;;;;;;;;;
;;;;;;;;M_BAKMV_ADR	EQU	$
;;;;;;;;		WORD	BABYMOV		; 赤ちゃんが運んでくる処理
;;;;;;;;		WORD	BAKUMOV		; 爆弾投下処理
;;;;;;;;;
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	BABYMOV ( 赤ちゃんが運んでくる処理 )		x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;BABYMOV		EQU	$
;;;;;;;;		LDA	ENMODE,X
;;;;;;;;;;;;		    CMP	    #EMGNT
;;;;;;;;		BNE	BABYMOV_050	; マグネット処理　？
;;;;;;;;;					; Yes !!
;;;;;;;;		INC	<ENWRK0,X
;;;;;;;;		LDA	ENMOD1,X
;;;;;;;;		EOR	#00001
;;;;;;;;		STA	ENMOD1,X
;;;;;;;;		LDA	#00020H
;;;;;;;;		STA	ENGPOW,X
;;;;;;;;		LDA	#00200H
;;;;;;;;		STA	ENGMAX,X
;;;;;;;;		STZ	<ENWRK2,X
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;BABYMOV_050	EQU	$
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		BMI	BABYMOV_100	; 画面外　？
;;;;;;;;;					; No !!
;;;;;;;;		CMP	#00030H
;;;;;;;;		BCS	BABYMOV_150	; 運び終わった　？
;;;;;;;;;					; Yes !!
;;;;;;;;BABYMOV_100	EQU	$
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		CLC
;;;;;;;;		ADC	ENMOVX+05CH
;;;;;;;;		STA	ENXPSL,X	; ムーブ座標セット
;;;;;;;;		BRA	BABYMOV_200
;;;;;;;;;
;;;;;;;;BABYMOV_150	EQU	$
;;;;;;;;		LDA	#00030H
;;;;;;;;		STA	ENXPSL,X	; Ｘ座標セット
;;;;;;;;;
;;;;;;;;BABYMOV_200	EQU	$
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	BAKUMOV ( 爆弾投下処理 )			x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;MISXPSD		EQU	$
;;;;;;;;		WORD	000B0H,00110H,00170H,001D0H
;;;;;;;;;
;;;;;;;;;
;;;;;;;;BAKUMOV		EQU	$
;;;;;;;;		LDA	ENMODE,X
;;;;;;;;;;;;		    CMP	    #EMGNT
;;;;;;;;		BEQ	BABYMOV_200	; マグネット処理　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	<ENWRK2,X
;;;;;;;;		BNE	BAKUMOV_020	; Ｘスピードセット　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	PLXSPD
;;;;;;;;		AND	#08000H
;;;;;;;;		STA	<EWORK0
;;;;;;;;		LDA	PLXSPD
;;;;;;;;		LSR	A
;;;;;;;;		ORA	<EWORK0
;;;;;;;;;;;;;;;;		LSR	A
;;;;;;;;;;;;;;;;		ORA	<EWORK0
;;;;;;;;		STA	ENXSPD,X	; イニシャルＸスピードセット
;;;;;;;;		INC	<ENWRK2,X
;;;;;;;;;
;;;;;;;;BAKUMOV_020	EQU	$
;;;;;;;;		LDA	ENCBFG,X
;;;;;;;;		LSR	A
;;;;;;;;		BCC	BABYMOV_200	; 地面に当たった　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDY	#(BAKUMOV-MISXPSD)-2
;;;;;;;;;
;;;;;;;;BAKUMOV_050	EQU	$
;;;;;;;;		LDA	!MISXPSD,Y
;;;;;;;;		SEC
;;;;;;;;		SBC	ENXPSL,X
;;;;;;;;		CLC
;;;;;;;;		ADC	#0000CH
;;;;;;;;		CMP	#00019H
;;;;;;;;		BCC	BAKUMOV_100	; ミサイル発射口　？
;;;;;;;;;					; Yes !!
;;;;;;;;		DEY
;;;;;;;;		DEY
;;;;;;;;		BPL	BAKUMOV_050	; ミサイル発射口あった　？
;;;;;;;;;					; No !!
;;;;;;;;		BRA	BAKUMOV_150
;;;;;;;;;
;;;;;;;;BAKUMOV_100	EQU	$
;;;;;;;;		LDA	KICIOT,Y
;;;;;;;;		BNE	BAKUMOV_150	; 基地やられている　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	#00001
;;;;;;;;		STA	KICIOT,Y
;;;;;;;;;
;;;;;;;;		SED
;;;;;;;;		SEC
;;;;;;;;		LDA	ENTMCT
;;;;;;;;		SBC	#00001
;;;;;;;;		STA	ENTMCT		; 基地カウントダウン
;;;;;;;;		CLD
;;;;;;;;;
;;;;;;;;		JSR	BGCHENG		; ミサイル発射口書き換え処理
;;;;;;;;;
;;;;;;;;BAKUMOV_150	EQU	$
;;;;;;;;		TXA
;;;;;;;;		AND	#000FFH
;;;;;;;;		STA	R1
;;;;;;;;		LDA	#M_DR3
;;;;;;;;		STA	R14
;;;;;;;;		M_CHIP	TARGET_SEARCH
;;;;;;;;;
;;;;;;;;		LDX	<ENINDX
;;;;;;;;		LDY	R1
;;;;;;;;		BMI	BAKUMOV_200	; 敵いた　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	ENXPSL,Y
;;;;;;;;		SEC
;;;;;;;;		SBC	ENXPSL,X
;;;;;;;;		CLC
;;;;;;;;		ADC	#00010H
;;;;;;;;		CMP	#00021H
;;;;;;;;		BCS	BAKUMOV_200	; 泥棒君　爆発Ｘ座標範囲内　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	ENYPSL,Y
;;;;;;;;		SEC
;;;;;;;;		SBC	ENYPSL,X
;;;;;;;;		CLC
;;;;;;;;		ADC	#00010H
;;;;;;;;		CMP	#00021H
;;;;;;;;		BCS	BAKUMOV_200	; 泥棒君　爆発Ｙ座標範囲内　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	#0FC00H
;;;;;;;;		STA	ENYSPD,Y	; 泥棒君ジャンプスピードセット
;;;;;;;;		LDA	#00001
;;;;;;;;		STA	ENWRK0,Y
;;;;;;;;		DEC	A
;;;;;;;;		STA	ENXSPD,Y
;;;;;;;;		LDA	#(YARAPTD-CYAKPTD)/2-1
;;;;;;;;		STA	ENWRK4,Y
;;;;;;;;;
;;;;;;;;BAKUMOV_200	EQU	$
;;;;;;;;		LDA	#SMK05		; 爆発煙Ｎｏ．
;;;;;;;;		JSL	>EXINSR
;;;;;;;;		LDA	ECENTX,X
;;;;;;;;		STA	EXXPSL,Y	; 爆発煙Ｘ座標セット
;;;;;;;;		LDA	ECENTY,X
;;;;;;;;		STA	EXYPSL,Y	; 爆発煙Ｙ座標セット
;;;;;;;;		LDA	#0000DH
;;;;;;;;		STA	EXCHPT,Y	; 爆発煙パターンＮｏ．セット
;;;;;;;;		LDA	#00003
;;;;;;;;		STA	EXTIM0,Y	; 爆発煙パターンタイマーセット
;;;;;;;;		LDA	#00030H
;;;;;;;;		STA	EXCLOR,Y	; プライオリティセット
;;;;;;;;;
;;;;;;;;		PHY
;;;;;;;;		LDA	#00047H
;;;;;;;;		JSL	>SOUND_3_ON	; [♪]
;;;;;;;;		PLY
;;;;;;;;		JMP	>ENCLEAR
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	BGCHENG ( ミサイル発射口書き換え処理 )		x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;HASYAD0		EQU	$
;;;;;;;;;;;;;;;;		WORD	03524H,03525H
;;;;;;;;		WORD	000FFH,000FFH,02D4AH,0354BH
;;;;;;;;;
;;;;;;;;HASYAD1		EQU	$
;;;;;;;;;;;;;;;;		WORD	03526H,03527H
;;;;;;;;		WORD	03558H,03559H,02D5AH,0355BH
;;;;;;;;;
;;;;;;;;HASYAD2		EQU	$
;;;;;;;;		WORD	03568H,03569H,0356AH,0356BH
;;;;;;;;;
;;;;;;;;HASYAD3		EQU	$
;;;;;;;;		WORD	03578H,03579H,0357AH,0357BH
;;;;;;;;;
;;;;;;;;;
;;;;;;;;BGCHENG		EQU	$
;;;;;;;;		I16			; index 16 bit mode !!
;;;;;;;;;
;;;;;;;;		LDA	!MISXPSD,Y
;;;;;;;;		SEC
;;;;;;;;		SBC	#00008H
;;;;;;;;		TAY
;;;;;;;;		AND	#000F8H
;;;;;;;;		LSR	A
;;;;;;;;		LSR	A
;;;;;;;;		LSR	A
;;;;;;;;		STA	<EWORK2
;;;;;;;;		TYA
;;;;;;;;		AND	#00F00H
;;;;;;;;		ASL	A
;;;;;;;;		ASL	A
;;;;;;;;		ORA	<EWORK2
;;;;;;;;		CLC
;;;;;;;;		ADC	#06AA0H
;;;;;;;;;
;;;;;;;;		PHB
;;;;;;;;		LDY	#BANK VRAMDX
;;;;;;;;		PHY
;;;;;;;;		PLB
;;;;;;;;;
;;;;;;;;		LDY	VRAMDX
;;;;;;;;		STA	0,Y
;;;;;;;;		CLC
;;;;;;;;		ADC	#00020H
;;;;;;;;		STA	12,Y
;;;;;;;;		ADC	#00020H
;;;;;;;;		STA	24,Y
;;;;;;;;		ADC	#00020H
;;;;;;;;		STA	36,Y
;;;;;;;;;
;;;;;;;;		LDA	#00180H
;;;;;;;;		STA	2,Y
;;;;;;;;		STA	14,Y
;;;;;;;;		STA	26,Y
;;;;;;;;		STA	38,Y
;;;;;;;;;
;;;;;;;;		LDA	#00018H
;;;;;;;;		STA	4,Y
;;;;;;;;		STA	16,Y
;;;;;;;;		STA	28,Y
;;;;;;;;		STA	40,Y
;;;;;;;;;
;;;;;;;;		LDA	#HASYAD0
;;;;;;;;		STA	5,Y
;;;;;;;;		LDA	#HASYAD1
;;;;;;;;		STA	17,Y
;;;;;;;;		LDA	#HASYAD2
;;;;;;;;		STA	29,Y
;;;;;;;;		LDA	#HASYAD3
;;;;;;;;		STA	41,Y
;;;;;;;;;
;;;;;;;;		LDA	#BANK HASYAD0
;;;;;;;;		STA	7,Y
;;;;;;;;		STA	19,Y
;;;;;;;;		STA	31,Y
;;;;;;;;		STA	43,Y
;;;;;;;;;
;;;;;;;;		LDA	#00008
;;;;;;;;		STA	8,Y
;;;;;;;;		STA	20,Y
;;;;;;;;		STA	32,Y
;;;;;;;;		STA	44,Y
;;;;;;;;;
;;;;;;;;		TYA
;;;;;;;;		CLC
;;;;;;;;		ADC	#00012
;;;;;;;;		STA	10,Y
;;;;;;;;		ADC	#00012
;;;;;;;;		STA	22,Y
;;;;;;;;		ADC	#00012
;;;;;;;;		STA	34,Y
;;;;;;;;		ADC	#00012
;;;;;;;;		STA	46,Y
;;;;;;;;		STA	VRAMDX
;;;;;;;;;
;;;;;;;;		PLB
;;;;;;;;		PLB
;;;;;;;;;
;;;;;;;;		I8			; index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		RTS
;;;;;;;;;
;;;;;;;;;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_MISIN		( ミサイルイニシャルセット )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_MISIN		EQU	$
;;;;;;;;		LDY	2137H
;;;;;;;;		LDY	213FH
;;;;;;;;		LDA	213CH
;;;;;;;;		CLC
;;;;;;;;		ADC	<RANDM0
;;;;;;;;		STA	<RANDM0
;;;;;;;;		AND	#0000FH
;;;;;;;;		ORA	#000B0H
;;;;;;;;		STA	ENYPSL,X	; ミサイルイニシャルＹ座標セット
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		STA	<ENWRK2,X	; Ｘ座標退避
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_MISMV		( ミサイルムーブ )			x
;x									x
;x		use	ENWRK0	モードインデックス			x
;x			ENWRK2	イニシャルＸ座標			x
;x			ENWRK4	発射台やられフラグ			x
;x									x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;MODEDAT		EQU	$
;;;;;;;;		WORD	00000H,MKIJ,MKIJ,0FFFFH,0FFFFH,00000H,MKIJ
;;;;;;;;;
;;;;;;;;;
M_MISMV		EQU	$
;;;;;;;;		LDA	ENTMCT
;;;;;;;;		BEQ	M_MISMV_050	; 全て壊した　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	MNTIME
;;;;;;;;		BNE	M_MISMV_100	; ゲーム終了　？
;;;;;;;;;					; Yes !!
;;;;;;;;M_MISMV_050	EQU	$
;;;;;;;;		LDA	ENWRK0,X
;;;;;;;;		CMP	#MMOK
;;;;;;;;		BEQ	M_MISMV_100	; 煙ムーブ　？
;;;;;;;;;					; No !!
		RTL
;;;;;;;;;
;;;;;;;;M_MISMV_100	EQU	$
;;;;;;;;;;;;;;;;		LDY	#005*2
;;;;;;;;;;;;;;;;		LDA	<ENWRK2,X
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;M_MISMV_050	EQU	$
;;;;;;;;;;;;;;;;		CMP	!MISXPSD,Y
;;;;;;;;;;;;;;;;		BEQ	M_MISMV_100	; Ｘ座標あった　？
;;;;;;;;;;;;;;;;;					; No !!
;;;;;;;;;;;;;;;;		DEY
;;;;;;;;;;;;;;;;		DEY
;;;;;;;;;;;;;;;;		BNE	M_MISMV_050
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;M_MISMV_100	EQU	$
;;;;;;;;;;;;;;;;		LDA	KICIOT,Y
;;;;;;;;;;;;;;;;		BEQ	M_MISMV_150	; 基地やられている　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;		LDA	#00001
;;;;;;;;;;;;;;;;		STA	<ENWRK4,X	; やられフラグ”ＯＮ”
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;M_MISMV_150	EQU	$
;;;;;;;;		LDA	<ENWRK0,X
;;;;;;;;		ASL	A
;;;;;;;;		TAY
;;;;;;;;;;;;;;;;		LDA	<ENWRK4,X
;;;;;;;;;;;;;;;;		BEQ	M_MISMV_250	; やられフラグ”ＯＮ”　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;		LDA	!MODEDAT,Y
;;;;;;;;;;;;;;;;		BNE	M_MISMV_200	; 敵を消す　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;		JMP	>ENCLEAR
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;M_MISMV_200	EQU	$
;;;;;;;;;;;;;;;;		BMI	M_MISMV_250
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;		LDY	#MKIJ
;;;;;;;;;;;;;;;;		TAY
;;;;;;;;;;;;;;;;		LSR	A
;;;;;;;;;;;;;;;;		STA	<ENWRK0,X	; プレイヤーサーチ解除処理モードセット
;;;;;;;;;;;;;;;;		LDA	#000B8H
;;;;;;;;;;;;;;;;		STA	ENYPSL,X
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;M_MISMV_250	EQU	$
;;;;;;;;		LDA	!M_MISMV_ADR,Y
;;;;;;;;		STA	<EWORK0
;;;;;;;;		JMP	(EWORK0)
;;;;;;;;;
;;;;;;;;;
;;;;;;;;M_MISMV_ADR	EQU	$
;;;;;;;;		WORD	MSETMOV		; ミサイル発射口まで移動処理
;;;;;;;;MISAC		WORD	PLSHMOV		; プレイヤーサーチ処理
;;;;;;;;MISLK		WORD	LOCKMOV		; ミサイルロック状態処理
;;;;;;;;MISYA		WORD	HASYMOV		; ミサイル発射処理
;;;;;;;;MIMOK		WORD	MOKUMOV		; 目標当たり処理
;;;;;;;;		WORD	MISAWAI		; ミサイルセットタイマー処理
;;;;;;;;MISKA		WORD	KAIJMOV		; プレイヤーサーチ解除処理
;;;;;;;;;
;;;;;;;;;
;;;;;;;;MSAC		EQU	MISAC-M_MISMV_ADR
;;;;;;;;MLOK		EQU	MISLK-M_MISMV_ADR
;;;;;;;;MSYA		EQU	MISYA-M_MISMV_ADR
;;;;;;;;MMOK		EQU	(MIMOK-M_MISMV_ADR)/2
;;;;;;;;MKIJ		EQU	MISKA-M_MISMV_ADR
;;;;;;;;;
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	MSETMOV ( ミサイル発射口まで移動処理 )		x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;MSETMOV		EQU	$
;;;;;;;;		LDA	ENTIM0,X
;;;;;;;;		BNE	MSETMOV_040	; ミサイル移動　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	ENYPSL,X
;;;;;;;;		CMP	#000B0H
;;;;;;;;		BEQ	MSETMOV_050	; ミサイル発射口まで移動した　？
;;;;;;;;;					; No !!
;;;;;;;;		DEC	ENYPSL,X
;;;;;;;;		LDA	#00004H
;;;;;;;;		STA	ENTIM0,X	; ミサイル移動タイマーセット
;;;;;;;;;
;;;;;;;;MSETMOV_040	EQU	$
;;;;;;;;		JMP	MSETMOV_150
;;;;;;;;;
;;;;;;;;MSETMOV_050	EQU	$
;;;;;;;;		LDA	LOCKCT
;;;;;;;;		CMP	#00004H
;;;;;;;;		BEQ	MSETMOV_040
;;;;;;;;;
;;;;;;;;		INC	LOCKCT
;;;;;;;;		INC	<ENWRK0,X
;;;;;;;;;
;;;;;;;;MSETMOV_060	EQU	$
;;;;;;;;;;;;;;;;		LDA	#00100H
;;;;;;;;;;;;;;;;		STA	ENTIM1,X	; ターゲットサーチタイマーセット
;;;;;;;;		STZ	ENWRK6,X
;;;;;;;;		STZ	ENWRK8,X
;;;;;;;;		STZ	ENWRKA,X
;;;;;;;;		STZ	ENWRKC,X
;;;;;;;;;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		LDA	<RANDM0
;;;;;;;;		AND	#0007FH
;;;;;;;;		CLC
;;;;;;;;		ADC	#00010H
;;;;;;;;		STA	ENWRK7,X	; ターゲットカーソルＸ座標セット
;;;;;;;;		LDA	ENYPSL,X
;;;;;;;;;;;;;;;;		SEC
;;;;;;;;;;;;;;;;		SBC	#00008H
;;;;;;;;		STA	ENWRKB,X	; ターゲットカーソルＹ座標セット
;;;;;;;;;
;;;;;;;;MSETMOV_100	EQU	$
;;;;;;;;		I16			; index 16 bit mode !!
;;;;;;;;;
;;;;;;;;		LDY	ENOAML,X
;;;;;;;;;;;;;;;;		LDA	ENWRK7,X
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		SEC
;;;;;;;;		SBC	#00004H
;;;;;;;;		SEC
;;;;;;;;		SBC	ESCCH1
;;;;;;;;		STA	SOAM_DX+008H,Y
;;;;;;;;		STA	SOAM_DX+018H,Y
;;;;;;;;		CLC
;;;;;;;;		ADC	#00010H
;;;;;;;;		STA	SOAM_DX+010H,Y
;;;;;;;;		STA	SOAM_DX+020H,Y
;;;;;;;;;
;;;;;;;;		LDA	ENWRKB,X
;;;;;;;;		CLC
;;;;;;;;		ADC	#00008H
;;;;;;;;		STA	SOAM_DX+00AH,Y
;;;;;;;;		STA	SOAM_DX+012H,Y
;;;;;;;;		CLC
;;;;;;;;		ADC	#00010H
;;;;;;;;		STA	SOAM_DX+01AH,Y
;;;;;;;;		STA	SOAM_DX+022H,Y
;;;;;;;;;
;;;;;;;;		LDA	#0309FH
;;;;;;;;		STA	SOAM_DX+00CH,Y
;;;;;;;;		LDA	#0709FH
;;;;;;;;		STA	SOAM_DX+014H,Y
;;;;;;;;		LDA	#0B09FH
;;;;;;;;		STA	SOAM_DX+01CH,Y
;;;;;;;;		LDA	#0F09FH
;;;;;;;;		STA	SOAM_DX+024H,Y
;;;;;;;;;
;;;;;;;;		LDA	#00000
;;;;;;;;		STA	SOAM_DX+00EH,Y
;;;;;;;;		STA	SOAM_DX+016H,Y
;;;;;;;;		STA	SOAM_DX+01EH,Y
;;;;;;;;		STA	SOAM_DX+026H,Y
;;;;;;;;;
;;;;;;;;		I8			; index 8 bit mode !!
;;;;;;;;;
;;;;;;;;MSETMOV_150	EQU	$
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	PLSHMOV ( プレイヤーサーチ処理 )		x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;PLSHMOV		EQU	$
;;;;;;;;;;;;;;;;		LDA	ENTIM1,X
;;;;;;;;;;;;;;;;		BNE	PLSHMOV_020	; ターゲットサーチタイマー　０　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;		LDA	#MKIJ/2
;;;;;;;;;;;;;;;;		STA	<ENWRK0,X
;;;;;;;;;;;;;;;;		JMP	KAIJMOV_050
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;PLSHMOV_020	EQU	$
;;;;;;;;;;;;;;;;		LDA	PLXPSL
;;;;;;;;;;;;;;;;		STA	R1		; 目標Ｘ座標セット
;;;;;;;;;;;;;;;;		LDA	PLYPSL
;;;;;;;;;;;;;;;;		STA	R2		; 目標Ｙ座標セット
;;;;;;;;;;;;;;;;		LDA	ENWRK7,X
;;;;;;;;;;;;;;;;		STA	R3		; 現在Ｘ座標セット
;;;;;;;;;;;;;;;;		LDA	ENWRKB,X
;;;;;;;;;;;;;;;;		STA	R4		; 現在Ｙ座標セット
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		STA	R1		; 目標Ｘ座標セット
;;;;;;;;		LDA	ENWRK7,X
;;;;;;;;		STA	R2		; 目標Ｙ座標セット
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		STA	R3		; 現在Ｘ座標セット
;;;;;;;;		LDA	ENWRKB,X
;;;;;;;;		STA	R4		; 現在Ｙ座標セット
;;;;;;;;		LDA	#00200H
;;;;;;;;		STA	R6		; 移動スピードセット
;;;;;;;;;
;;;;;;;;		M_CHIP	SEARCH_SPEED
;;;;;;;;;
;;;;;;;;		LDX	<ENINDX
;;;;;;;;;
;;;;;;;;		I16			; index 16 bit mode !!
;;;;;;;;;
;;;;;;;;;;;;;;;;		LDY	#00000H
;;;;;;;;;;;;;;;;		LDA	R1
;;;;;;;;;;;;;;;;		BPL	PLSHMOV_050	; Ｘスピードプラス　？
;;;;;;;;;;;;;;;;;					; No !!
;;;;;;;;;;;;;;;;		DEY
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;PLSHMOV_050	EQU	$
;;;;;;;;;;;;;;;;		CLC
;;;;;;;;;;;;;;;;		ADC	ENWRK6,X
;;;;;;;;;;;;;;;;		STA	<EWORK0
;;;;;;;;;;;;;;;;		STA	<EWORK0
;;;;;;;;;;;;;;;;		TYA
;;;;;;;;;;;;;;;;		ADC	ENWRK8,X
;;;;;;;;;;;;;;;;		STA	<EWORK2
;;;;;;;;;;;;;;;;;
;;;;;;;;		LDY	#00000
;;;;;;;;		LDA	R2
;;;;;;;;		BPL	PLSHMOV_100	; Ｙスピードプラス　？
;;;;;;;;;					; No !!
;;;;;;;;		DEY
;;;;;;;;;
;;;;;;;;PLSHMOV_100	EQU	$
;;;;;;;;		CLC
;;;;;;;;		ADC	ENWRKA,X
;;;;;;;;		STA	<EWORK4
;;;;;;;;		TYA
;;;;;;;;		ADC	ENWRKC,X
;;;;;;;;		STA	<EWORK6
;;;;;;;;;
;;;;;;;;		I8			; index 8 bit mode !!
;;;;;;;;;
;;;;;;;;;;;;;;;;		LDY	#000
;;;;;;;;;;;;;;;;		LDA	<EWORK1
;;;;;;;;;;;;;;;;		SEC
;;;;;;;;;;;;;;;;		SBC	PLXPSL
;;;;;;;;;;;;;;;;		BEQ	PLSHMOV_140	; 目標Ｙ座標オーバー　？
;;;;;;;;;;;;;;;;;					; No !!
;;;;;;;;;;;;;;;;		EOR	R1
;;;;;;;;;;;;;;;;		BMI	PLSHMOV_150	; Ｘ座標オーバー　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;PLSHMOV_140	EQU	$
;;;;;;;;;;;;;;;;		STZ	<EWORK0
;;;;;;;;;;;;;;;;		LDA	PLXPSL
;;;;;;;;;;;;;;;;		STA	<EWORK1
;;;;;;;;;;;;;;;;		INY
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;PLSHMOV_150	EQU	$
;;;;;;;;;;;;;;;;		LDA	<EWORK0
;;;;;;;;;;;;;;;;		STA	ENWRK6,X
;;;;;;;;;;;;;;;;		LDA	<EWORK2
;;;;;;;;;;;;;;;;		STA	ENWRK8,X
;;;;;;;;;;;;;;;;;
;;;;;;;;		LDA	<EWORK5
;;;;;;;;		SEC
;;;;;;;;;;;;;;;;		SBC	PLYPSL
;;;;;;;;		SBC	ENWRK7,X
;;;;;;;;		BEQ	PLSHMOV_190	; 目標Ｙ座標オーバー　？
;;;;;;;;;					; No !!
;;;;;;;;		EOR	R2
;;;;;;;;		BMI	PLSHMOV_200	; Ｙ座標オーバー　？
;;;;;;;;;					; Yes !!
;;;;;;;;PLSHMOV_190	EQU	$
;;;;;;;;		STZ	<EWORK4
;;;;;;;;;;;;;;;;		LDA	PLYPSL
;;;;;;;;		LDA	ENWRK7,X
;;;;;;;;		STA	<EWORK5
;;;;;;;;		INY
;;;;;;;;;
;;;;;;;;PLSHMOV_200	EQU	$
;;;;;;;;		LDA	<EWORK4
;;;;;;;;		STA	ENWRKA,X
;;;;;;;;		LDA	<EWORK6
;;;;;;;;		STA	ENWRKC,X
;;;;;;;;;
;;;;;;;;;;;;;;;;		CPY	#002
;;;;;;;;		CPY	#001
;;;;;;;;		BNE	PLSHMOV_250	; 目標座標セット”ＯＮ”　？
;;;;;;;;;					; Yes !!
;;;;;;;;		INC	<ENWRK0,X	; モードインク
;;;;;;;;		DEC	LOCKCT
;;;;;;;;		LDA	#00020H
;;;;;;;;		STA	ENTIM1,X
;;;;;;;;		TAY
;;;;;;;;		JMP	LOCKMOV_050
;;;;;;;;;
;;;;;;;;PLSHMOV_250	EQU	$
;;;;;;;;		JMP	MSETMOV_100
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	LOCKMOV ( ミサイルロック状態処理 )		x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;LOCKMOV		EQU	$
;;;;;;;;		LDA	ENTIM1,X
;;;;;;;;		BNE	LOCKMOV_050	; ミサイル発射　？
;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;		LDA	ENWRKB,X
;;;;;;;;;;;;;;;;		CLC
;;;;;;;;;;;;;;;;		ADC	#00010H
;;;;;;;;;;;;;;;;		STA	ENWRKB,X	; 目標Ｙ座標セット
;;;;;;;;		LDA	#00005
;;;;;;;;		STA	ENTIM3,X
;;;;;;;;		INC	<ENWRK0,X
;;;;;;;;		JMP	HASYMOV_150
;;;;;;;;;
;;;;;;;;LOCKMOV_050	EQU	$
;;;;;;;;		TAY
;;;;;;;;		AND	#00004H
;;;;;;;;		STA	<EWORK4
;;;;;;;;		LSR	A
;;;;;;;;		STA	<EWORK0
;;;;;;;;		TYA
;;;;;;;;		AND	#00018H
;;;;;;;;		LSR	A
;;;;;;;;		LSR	A
;;;;;;;;		XBA
;;;;;;;;		STA	<EWORK2
;;;;;;;;;
;;;;;;;;		I16			; index 16 bit mode !!
;;;;;;;;;
;;;;;;;;		LDY	ENOAML,X
;;;;;;;;;;;;;;;;		LDA	ENWRK7,X
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		SEC
;;;;;;;;		SBC	#00004H
;;;;;;;;		SEC
;;;;;;;;		SBC	ESCCH1
;;;;;;;;		CLC
;;;;;;;;		ADC	<EWORK0
;;;;;;;;		STA	SOAM_DX+008H,Y
;;;;;;;;		STA	SOAM_DX+018H,Y
;;;;;;;;		CLC
;;;;;;;;		ADC	#00010H
;;;;;;;;		SEC
;;;;;;;;		SBC	<EWORK4
;;;;;;;;		STA	SOAM_DX+010H,Y
;;;;;;;;		STA	SOAM_DX+020H,Y
;;;;;;;;;
;;;;;;;;		LDA	ENWRKB,X
;;;;;;;;;;;;;;;;		CLC
;;;;;;;;;;;;;;;;		ADC	#00008H
;;;;;;;;		CLC
;;;;;;;;		ADC	<EWORK0
;;;;;;;;		STA	SOAM_DX+00AH,Y
;;;;;;;;		STA	SOAM_DX+012H,Y
;;;;;;;;		CLC
;;;;;;;;		ADC	#00010H
;;;;;;;;		SEC
;;;;;;;;		SBC	<EWORK4
;;;;;;;;		STA	SOAM_DX+01AH,Y
;;;;;;;;		STA	SOAM_DX+022H,Y
;;;;;;;;;
;;;;;;;;		LDA	#0309FH
;;;;;;;;		ORA	<EWORK2
;;;;;;;;		STA	SOAM_DX+00CH,Y
;;;;;;;;		LDA	#0709FH
;;;;;;;;		ORA	<EWORK2
;;;;;;;;		STA	SOAM_DX+014H,Y
;;;;;;;;		LDA	#0B09FH
;;;;;;;;		ORA	<EWORK2
;;;;;;;;		STA	SOAM_DX+01CH,Y
;;;;;;;;		LDA	#0F09FH
;;;;;;;;		ORA	<EWORK2
;;;;;;;;		STA	SOAM_DX+024H,Y
;;;;;;;;;
;;;;;;;;		LDA	#00000
;;;;;;;;		STA	SOAM_DX+00EH,Y
;;;;;;;;		STA	SOAM_DX+016H,Y
;;;;;;;;		STA	SOAM_DX+01EH,Y
;;;;;;;;		STA	SOAM_DX+026H,Y
;;;;;;;;;
;;;;;;;;		I8			; index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	HASYMOV ( ミサイル発射処理 )			x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;HASYMOV		EQU	$
;;;;;;;;		LDY	#000
;;;;;;;;;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;;;;;;;;;		SEC
;;;;;;;;;;;;;;;;		SBC	ENWRK7,X
;;;;;;;;;;;;;;;;		BEQ	HASYMOV_040	; 目標Ｘ座標オーバー　？
;;;;;;;;;;;;;;;;;					; No !!
;;;;;;;;;;;;;;;;		EOR	ENXSPD,X
;;;;;;;;;;;;;;;;		BMI	HASYMOV_050	; Ｘ座標オーバー　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;;;;;;;;;HASYMOV_040	EQU	$
;;;;;;;;;;;;;;;;		LDA	ENWRK7,X
;;;;;;;;;;;;;;;;		STA	ENXPSL,X	; Ｘ座標セット
;;;;;;;;;;;;;;;;		STZ	ENXSPD,X	; Ｘスピードクリアー
;;;;;;;;;;;;;;;;		INY
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;HASYMOV_050	EQU	$
;;;;;;;;		LDA	ENYPSL,X
;;;;;;;;		SEC
;;;;;;;;		SBC	ENWRKB,X
;;;;;;;;		BEQ	HASYMOV_090	; 目標Ｙ座標オーバー　？
;;;;;;;;;					; Yes !!
;;;;;;;;		EOR	ENYSPD,X
;;;;;;;;		BMI	HASYMOV_100	; Ｙ座標オーバー　？
;;;;;;;;;					; Yes !!
;;;;;;;;HASYMOV_090	EQU	$
;;;;;;;;		LDA	ENWRKB,X
;;;;;;;;		STA	ENYPSL,X	; Ｙ座標セット
;;;;;;;;		STZ	ENYSPD,X	; Ｙスピードクリアー
;;;;;;;;		INY
;;;;;;;;;
;;;;;;;;HASYMOV_100	EQU	$
;;;;;;;;;;;;;;;;		CPY	#002
;;;;;;;;		CPY	#001
;;;;;;;;		BNE	HASYMOV_150	; 目標座標に到達した　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	#00004
;;;;;;;;		STA	ENTIM1,X
;;;;;;;;		STZ	<ENCONT,X
;;;;;;;;		LDA	#00006
;;;;;;;;		STA	ENCHPT,X
;;;;;;;;		INC	<ENWRK0,X
;;;;;;;;		LDA	#00048H
;;;;;;;;		JSL	>SOUND_3_ON	; [♪]
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;HASYMOV_150	EQU	$
;;;;;;;;		LDA	ENTIM3,X
;;;;;;;;		BNE	HASYMOV_200	; パターンチェンジ　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	#00001
;;;;;;;;		STA	ENTIM3,X
;;;;;;;;		LDA	ENCHPT,X
;;;;;;;;		INC	A
;;;;;;;;		CMP	#00006
;;;;;;;;		BNE	HASYMOV_190
;;;;;;;;;
;;;;;;;;		LDA	#00000
;;;;;;;;;
;;;;;;;;HASYMOV_190	EQU	$
;;;;;;;;		STA	ENCHPT,X
;;;;;;;;;
;;;;;;;;HASYMOV_200	EQU	$
;;;;;;;;;;;;;;;;		LDA	ENWRK7,X
;;;;;;;;;;;;;;;;		STA	R1		; 目標Ｘ座標セット
;;;;;;;;;;;;;;;;		LDA	ENWRKB,X
;;;;;;;;;;;;;;;;		STA	R2		; 目標Ｙ座標セット
;;;;;;;;;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;;;;;;;;;		STA	R3		; 現在Ｘ座標セット
;;;;;;;;;;;;;;;;		LDA	ENYPSL,X
;;;;;;;;;;;;;;;;		STA	R4		; 現在Ｙ座標セット
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		STA	R1		; 目標Ｘ座標セット
;;;;;;;;		LDA	ENWRKB,X
;;;;;;;;		STA	R2		; 目標Ｙ座標セット
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		STA	R3		; 現在Ｘ座標セット
;;;;;;;;		LDA	ENYPSL,X
;;;;;;;;		STA	R4		; 現在Ｙ座標セット
;;;;;;;;		LDA	#00400H
;;;;;;;;		STA	R6		; 移動スピードセット
;;;;;;;;;
;;;;;;;;		M_CHIP	SEARCH_SPEED
;;;;;;;;;
;;;;;;;;		LDX	<ENINDX
;;;;;;;;;
;;;;;;;;		LDY	#00000H
;;;;;;;;		LDA	R1
;;;;;;;;		STA	ENXSPD,X	; Ｘスピードセット
;;;;;;;;		LDA	R2
;;;;;;;;		STA	ENYSPD,X	; Ｙスピードセット
;;;;;;;;;
;;;;;;;;		INC	<ENCONT,X
;;;;;;;;		LDA	<ENCONT,X
;;;;;;;;		JMP	LOCKMOV_050
;;;;;;;;;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	MOKUMOV ( 目標当たり処理 )			x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;BAKTIMD		EQU	$
;;;;;;;;		WORD	00001H,00001H,00001H,00001H,00002H,00002H,00002H,00003H
;;;;;;;;		WORD	00003H,00008H
;;;;;;;;;
;;;;;;;;BAKTIM1		EQU	$
;;;;;;;;		WORD	0000AH,0000CH,0000EH,00010H,0000CH,00004H,00000H
;;;;;;;;;
;;;;;;;;;;;;;;;;BAKTIM1		EQU	$
;;;;;;;;;;;;;;;;;;;;;;;;		WORD	0002FH,00004H,00006H,00006H,00006H,00006H,00006H,00006H
;;;;;;;;;;;;;;;;		WORD	00001H,00004H,00006H,00006H,00006H,00006H,00006H,00006H
;;;;;;;;;;;;;;;;		WORD	00000H
;;;;;;;;;;;;;;;;;
;;;;;;;;CRSXDT0		EQU	$
;;;;;;;;		WORD	00012H,00014H,00016H,00018H,0001AH,0001CH,0001EH,00020H
;;;;;;;;		WORD	00021H,00022H,00022H,00022H,00022H,00022H,00022H,00022H
;;;;;;;;;;;;;;;;		WORD	00010H,00010H,00010H,00018H,00019H,0001AH
;;;;;;;;;;;;;;;;		WORD	00020H,00020H,00024H,00025H,00026H,00027H,00028H,00029H
;;;;;;;;;
;;;;;;;;CRSXDT1		EQU	$
;;;;;;;;		WORD	00024H,00028H,0002CH,00030H,00034H,00038H,0003CH,00040H
;;;;;;;;		WORD	00042H,00044H,00044H,00044H,00044H,00044H,00044H,00044H
;;;;;;;;;;;;;;;;		WORD	00020H,00020H,00020H,00030H,00032H,00034H
;;;;;;;;;;;;;;;;		WORD	00040H,00040H,00048H,0004AH,0004CH,0004EH,00050H,00052H
;;;;;;;;;
;;;;;;;;;
;;;;;;;;MOKUMOV		EQU	$
;;;;;;;;		LDA	ENTIM1,X
;;;;;;;;		BNE	MOKUMOV_100	; 煙パターンチェンジ　？
;;;;;;;;;					; Yes !!
;;;;;;;;		INC	ENCHPT,X
;;;;;;;;		INC	<ENCONT,X
;;;;;;;;		LDA	<ENCONT,X
;;;;;;;;		ASL	A
;;;;;;;;		TAY
;;;;;;;;		CPY	#(CRSXDT0-BAKTIMD)-2
;;;;;;;;		BEQ	MOKUMOV_050
;;;;;;;;		CPY	#BAKTIM1-BAKTIMD
;;;;;;;;		BCS	MOKUMOV_050	; プレイヤー当たりチェック　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	PLXPSL
;;;;;;;;		SEC
;;;;;;;;		SBC	ENXPSL,X
;;;;;;;;		CLC
;;;;;;;;		ADC	!CRSXDT0,Y
;;;;;;;;		CMP	!CRSXDT1,Y
;;;;;;;;;;;;;;;;		ADC	#00010H
;;;;;;;;;;;;;;;;		CMP	#00030H
;;;;;;;;		BCS	MOKUMOV_050	; プレイヤー　爆発Ｘ座標範囲内　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	PLYPSL
;;;;;;;;		CLC
;;;;;;;;		ADC	#00010H
;;;;;;;;		SEC
;;;;;;;;		SBC	ENYPSL,X
;;;;;;;;		CLC
;;;;;;;;		ADC	!CRSXDT0,Y
;;;;;;;;		CMP	!CRSXDT1,Y
;;;;;;;;;;;;;;;;		ADC	#00020H
;;;;;;;;;;;;;;;;		CMP	#00030H
;;;;;;;;		BCS	MOKUMOV_050	; プレイヤー　爆発Ｙ座標範囲内　？
;;;;;;;;;					; Yes !!
;;;;;;;;		PHY
;;;;;;;;		JSL	>PLFLST		; プレイヤーやられイニシャルセットルーチン
;;;;;;;;		PLY
;;;;;;;;;
;;;;;;;;MOKUMOV_050	EQU	$
;;;;;;;;		LDA	!BAKTIMD,Y
;;;;;;;;		STA	ENTIM1,X
;;;;;;;;		BNE	MOKUMOV_100	; 煙パターンチェンジタイマー　０　？
;;;;;;;;;					; Yes !!
;;;;;;;;		STZ	ENCHPT,X	; ミサイルキャラクターセット
;;;;;;;;		LDA	#00040H
;;;;;;;;		STA	ENTIM0,X	; 出現タイマーセット
;;;;;;;;		STZ	<ENCONT,X
;;;;;;;;		LDA	#000B8H
;;;;;;;;		STA	ENYPSL,X	; Ｙ座標セット
;;;;;;;;		LDA	<ENWRK2,X
;;;;;;;;		STA	ENXPSL,X	; Ｘ座標セット
;;;;;;;;		INC	<ENWRK0,X	; モードインク
;;;;;;;;		LDA	<ENWRK4,X
;;;;;;;;		BEQ	MOKUMOV_100	; やられフラグ”ＯＮ”　？
;;;;;;;;;					; Yes !!
;;;;;;;;		JMP	>ENCLEAR
;;;;;;;;;
;;;;;;;;MOKUMOV_100	EQU	$
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	MISAWAI ( ミサイルセットタイマー処理 )		x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;MISAWAI		EQU	$
;;;;;;;;		LDA	ENTIM0,X
;;;;;;;;		BNE	MISAWAI_050	; みさいる出現タイマー　０　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	#00004
;;;;;;;;		STA	ENTIM0,X
;;;;;;;;		STZ	<ENWRK0,X	; モードクリアー
;;;;;;;;;
;;;;;;;;MISAWAI_050	EQU	$
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	KAIJMOV ( プレイヤーサーチ解除処理 )		x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;KAIJMOV		EQU	$
;;;;;;;;		INC	<ENCONT,X
;;;;;;;;		LDA	<ENCONT,X
;;;;;;;;		AND	#0000EH
;;;;;;;;;;;;;;;;		LSR	A
;;;;;;;;;;;;;;;;		LSR	A
;;;;;;;;		STA	<EWORK4
;;;;;;;;		LSR	A
;;;;;;;;		STA	<EWORK0
;;;;;;;;		CMP	#00007
;;;;;;;;		BNE	KAIJMOV_050	; プレイヤーサーチ解除処理終わり　？
;;;;;;;;;					; Yes !!
;;;;;;;;		STZ	<ENCONT,X
;;;;;;;;		STZ	<ENWRK0,X
;;;;;;;;		DEC	LOCKCT
;;;;;;;;		LDA	<ENWRK4,X
;;;;;;;;		BEQ	KAIJMOV_050	; ミサイル発射台壊れている　？
;;;;;;;;;					; Yes !!
;;;;;;;;		JSL	>ENCLEAR
;;;;;;;;;
;;;;;;;;KAIJMOV_050	EQU	$
;;;;;;;;		I16			; index 16 bit mode !!
;;;;;;;;;
;;;;;;;;		LDY	ENOAML,X
;;;;;;;;		LDA	ENWRK7,X
;;;;;;;;		SEC
;;;;;;;;		SBC	#00008H
;;;;;;;;		SEC
;;;;;;;;		SBC	ESCCH1
;;;;;;;;		SEC
;;;;;;;;		SBC	<EWORK0
;;;;;;;;		STA	SOAM_DX+008H,Y
;;;;;;;;		STA	SOAM_DX+018H,Y
;;;;;;;;		CLC
;;;;;;;;		ADC	#00010H
;;;;;;;;		CLC
;;;;;;;;		ADC	<EWORK4
;;;;;;;;		STA	SOAM_DX+010H,Y
;;;;;;;;		STA	SOAM_DX+020H,Y
;;;;;;;;;
;;;;;;;;		LDA	ENWRKB,X
;;;;;;;;		CLC
;;;;;;;;		ADC	#00008H
;;;;;;;;		SEC
;;;;;;;;		SBC	<EWORK0
;;;;;;;;		STA	SOAM_DX+00AH,Y
;;;;;;;;		STA	SOAM_DX+012H,Y
;;;;;;;;		CLC
;;;;;;;;		ADC	#00010H
;;;;;;;;		CLC
;;;;;;;;		ADC	<EWORK4
;;;;;;;;		STA	SOAM_DX+01AH,Y
;;;;;;;;		STA	SOAM_DX+022H,Y
;;;;;;;;;
;;;;;;;;		LDA	#0309FH
;;;;;;;;		STA	SOAM_DX+00CH,Y
;;;;;;;;		LDA	#0709FH
;;;;;;;;		STA	SOAM_DX+014H,Y
;;;;;;;;		LDA	#0B09FH
;;;;;;;;		STA	SOAM_DX+01CH,Y
;;;;;;;;		LDA	#0F09FH
;;;;;;;;		STA	SOAM_DX+024H,Y
;;;;;;;;;
;;;;;;;;		LDA	#00000
;;;;;;;;		STA	SOAM_DX+00EH,Y
;;;;;;;;		STA	SOAM_DX+016H,Y
;;;;;;;;		STA	SOAM_DX+01EH,Y
;;;;;;;;		STA	SOAM_DX+026H,Y
;;;;;;;;;
;;;;;;;;		I8			; index 8 bit mode !!
;;;;;;;;;
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;
;;;;;;;;;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_BBYIN		( 赤ちゃんイニシャルセット )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_BBYIN		EQU	$
;;;;;;;;		LDA	#00020H
;;;;;;;;		STA	ENXPSL,X	; イニシャルＸ座標セット
;;;;;;;;		LDA	#0006FH
;;;;;;;;		STA	ENYPSL,X	; イニシャルＹ座標セット
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_BBYMV		( 赤ちゃんムーブ )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_BBYMV		EQU	$
;;;;;;;;		LDA	ENTMCT
;;;;;;;;		BEQ	M_BBYMV_050	; 全て壊した　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	MNTIME
;;;;;;;;		BNE	M_BBYMV_100	; ゲーム終了　？
;;;;;;;;;					; Yes !!
;;;;;;;;M_BBYMV_050	EQU	$
;;;;;;;;		STZ	ENXSPD,X
		RTL
;;;;;;;;;
;;;;;;;;M_BBYMV_100	EQU	$
;;;;;;;;		LDA	<ENWRK0,X
;;;;;;;;		ASL	A
;;;;;;;;		TAY
;;;;;;;;		LDA	!M_BBYMV_ADR,Y
;;;;;;;;		STA	<EWORK0
;;;;;;;;		JMP	(EWORK0)
;;;;;;;;;
;;;;;;;;;
;;;;;;;;M_BBYMV_ADR	EQU	$
;;;;;;;;		WORD	WAITMOV		; じっとしている処理
;;;;;;;;		WORD	WALTMOV		; 爆弾を取りに行く処理
;;;;;;;;		WORD	BKWKMOV		; 爆弾を運ぶ処理
;;;;;;;;;
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	WAITMOV ( じっとしている処理 )			x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;WAITMOV		EQU	$
;;;;;;;;;;;;;;;;		TXA
;;;;;;;;;;;;;;;;		AND	#000FFH
;;;;;;;;;;;;;;;;		STA	R1		; インデックスセット
;;;;;;;;;;;;;;;;		LDA	#M_BAK
;;;;;;;;;;;;;;;;		STA	R14		; サーチ敵Ｎｏ．セット
;;;;;;;;;;;;;;;;		M_CHIP	TARGET_SEARCH
;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;		LDX	<ENINDX
;;;;;;;;;;;;;;;;		LDY	R1
;;;;;;;;;;;;;;;;		BMI	WAITMOV_050	; 敵いた　？
;;;;;;;;;;;;;;;;;					; Yes !!
;;;;;;;;		LDY	<ENWRK2,X
;;;;;;;;		LDA	ENMODE,Y
;;;;;;;;;;;;		    CMP	    #EMGNT
;;;;;;;;		BEQ	WAITMOV_050	; 磁石にくっ付いている　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	ENXPSL,Y
;;;;;;;;		SEC
;;;;;;;;		SBC	#00010H
;;;;;;;;		CMP	ENXPSL,X
;;;;;;;;		BNE	WAITMOV_050	; Ｘ座標同じ　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	ENYPSL,Y
;;;;;;;;		DEC	A
;;;;;;;;		CMP	ENYPSL,X
;;;;;;;;		BEQ	WAITMOV_100	; Ｙ座標同じ　？
;;;;;;;;;					; No !!
;;;;;;;;WAITMOV_050	EQU	$
;;;;;;;;		LDA	#00002H
;;;;;;;;		STA	ENMUKI,X	; 向き反転
;;;;;;;;		LDA	#0FF00H
;;;;;;;;		STA	ENXSPD,X	; Ｘスピードセット
;;;;;;;;		INC	<ENWRK0,X	; モードインク
;;;;;;;;		LDA	#00004
;;;;;;;;		STA	ENTIM0,X	; パターンチェンジタイマーセット
;;;;;;;;;
;;;;;;;;WAITMOV_100	EQU	$
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	WALTMOV ( 爆弾を取りに行く処理 )		x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;WALTMOV		EQU	$
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		BPL	WALTMOV_050
;;;;;;;;;
;;;;;;;;		CMP	#0FFE8H
;;;;;;;;		BCS	WALTMOV_050	; ムーブストップ　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	#0FFE8H
;;;;;;;;		STA	ENXPSL,X	; Ｘ座標セット
;;;;;;;;		LDA	#00100H
;;;;;;;;		STA	ENXSPD,X	; Ｘスピードセット
;;;;;;;;		STZ	ENMUKI,X	; 向き反転
;;;;;;;;;
;;;;;;;;		LDA	#M_BAK
;;;;;;;;		JSL	>ENINSR_I
;;;;;;;;		LDA	#0FFF8H
;;;;;;;;		STA	ENXPSL,Y	; 爆弾Ｘ座標イニシャルセット
;;;;;;;;		LDA	#00070H
;;;;;;;;		STA	ENYPSL,Y	; 爆弾Ｙ座標イニシャルセット
;;;;;;;;		TYA
;;;;;;;;		STA	<ENWRK2,X
;;;;;;;;		INC	<ENWRK0,X	; モードインク
;;;;;;;;;
;;;;;;;;WALTMOV_050	EQU	$
;;;;;;;;		LDA	ENTIM0,X
;;;;;;;;		BNE	WALTMOV_100	; パターンチェンジ　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	ENCHPT,X
;;;;;;;;		EOR	#00001
;;;;;;;;		STA	ENCHPT,X	; パターンＮｏ．セット
;;;;;;;;		LDA	#00004
;;;;;;;;		STA	ENTIM0,X	; パターンチェンジタイマーセット
;;;;;;;;;
;;;;;;;;WALTMOV_100	EQU	$
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	BKWKMOV ( 爆弾を運ぶ処理 )			x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;BKWKMOV		EQU	$
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		CMP	#00020H
;;;;;;;;		BNE	BKWKMOV_050	; ムーブストップ　？
;;;;;;;;;					; Yes !!
;;;;;;;;		STZ	ENXSPD,X
;;;;;;;;		STZ	<ENWRK0,X
;;;;;;;;;
;;;;;;;;BKWKMOV_050	EQU	$
;;;;;;;;		JMP	WALTMOV_050
;;;;;;;;;
;;;;;;;;;
;;;;;;;;;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_DR3IN		( 泥棒君イニシャル )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_DR3IN		EQU	$
;;;;;;;;		LDA	#000A0H
;;;;;;;;		STA	ENYPSL,X
;;;;;;;;		LDA	#00030H
;;;;;;;;		STA	ENXPSL,X
		RTL
;;;;;;;;;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_DR3MV		( 泥棒君ムーブ )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_DR3MV		EQU	$
;;;;;;;;		LDA	ENTMCT
;;;;;;;;		BEQ	M_DR3MV_050	; 全て壊した　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	MNTIME
;;;;;;;;		BNE	M_DR3MV_100	; ゲーム終了　？
;;;;;;;;;					; Yes !!
;;;;;;;;M_DR3MV_050	EQU	$
;;;;;;;;		STZ	ENXSPD,X
;;;;;;;;		STZ	ENYSPD,X
;;;;;;;;		STZ	ENGPOW,X
;;;;;;;;		STZ	ENGMAX,X
		RTL
;;;;;;;;;
;;;;;;;;M_DR3MV_100	EQU	$
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		CMP	#00010H
;;;;;;;;		BCS	M_DR3MV_150	; 画面左端オーバー　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	#00010H
;;;;;;;;		SEC
;;;;;;;;		SBC	ENXPSL,X
;;;;;;;;		CLC
;;;;;;;;		ADC	ENXPSL,X
;;;;;;;;		STA	ENXPSL,X	; Ｘ座標補正
;;;;;;;;		BRA	M_DR3MV_200
;;;;;;;;;
;;;;;;;;M_DR3MV_150	EQU	$
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		SEC
;;;;;;;;		SBC	#001E0H
;;;;;;;;		BMI	M_DR3MV_200	; 画面右端オーバー　？
;;;;;;;;;					; Yes !!
;;;;;;;;		STA	<EWORK0
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		SEC
;;;;;;;;		SBC	<EWORK0
;;;;;;;;		STA	ENXPSL,X	; Ｘ座標補正
;;;;;;;;;
;;;;;;;;M_DR3MV_200	EQU	$
;;;;;;;;		LDA	<ENWRK0,X
;;;;;;;;		ASL	A
;;;;;;;;		TAY
;;;;;;;;		LDA	!M_DR3MV_ADR,Y
;;;;;;;;		STA	<EWORK0
;;;;;;;;		JMP	(EWORK0)
;;;;;;;;;
;;;;;;;;;
;;;;;;;;M_DR3MV_ADR	EQU	$
;;;;;;;;		WORD	DRPLMOV		; 泥棒君プレイヤーサーチ処理
;;;;;;;;		WORD	DRKZMOV		; 泥棒君気絶処理
;;;;;;;;;
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	DRPLMOV ( 泥棒君プレイヤーサーチ処理 )		x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;DRPLMOV		EQU	$
;;;;;;;;		LDA	ENCBFG,X
;;;;;;;;		LSR	A
;;;;;;;;		BCS	DRPLMOV_020	; ジャンプ中　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDY	#018H
;;;;;;;;		LDA	ENYSPD,X
;;;;;;;;		BPL	DRPLMOV_400	; 上昇中　？
;;;;;;;;;					; No !!
;;;;;;;;		DEY
;;;;;;;;;
;;;;;;;;DRPLMOV_400	EQU	$
;;;;;;;;		TYA
;;;;;;;;		STA	ENCHPT,X
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;DRPLMOV_020	EQU	$
;;;;;;;;		LDA	ENCHPT,X
;;;;;;;;		CMP	#00017H
;;;;;;;;		BCC	DRPLMOV_030
;;;;;;;;;
;;;;;;;;		LDA	#00000
;;;;;;;;		STA	ENCHPT,X
;;;;;;;;;
;;;;;;;;DRPLMOV_030	EQU	$
;;;;;;;;		LDA	ENYPSL,X
;;;;;;;;		SEC
;;;;;;;;		SBC	PLYPSL
;;;;;;;;		CMP	#00050H
;;;;;;;;		BCS	DRPLMOV_050	; ジャンプする　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	#0FB00H
;;;;;;;;		STA	ENYSPD,X	; ジャンプスピードセット
;;;;;;;;;;;;;;;;		BRA	DRPLMOV_350
;;;;;;;;;
;;;;;;;;DRPLMOV_050	EQU	$
;;;;;;;;		LDA	PLXPSL
;;;;;;;;		STA	R1		; 目標Ｘ座標セット
;;;;;;;;		LDA	PLYPSL
;;;;;;;;		STA	R2		; 目標Ｙ座標セット
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		STA	R3		; 現在Ｘ座標セット
;;;;;;;;		LDA	ENYPSL,X
;;;;;;;;		STA	R4		; 現在Ｙ座標セット
;;;;;;;;		LDA	#00180H
;;;;;;;;		STA	R6		; 移動スピードセット
;;;;;;;;;
;;;;;;;;		M_CHIP	SEARCH_SPEED
;;;;;;;;;
;;;;;;;;		LDX	<ENINDX
;;;;;;;;;
;;;;;;;;		LDY	#000H
;;;;;;;;		LDA	R1
;;;;;;;;		STA	ENXSPD,X	; Ｘスピードセット
;;;;;;;;		BMI	DRPLMOV_150
;;;;;;;;;
;;;;;;;;		INY
;;;;;;;;		INY
;;;;;;;;;
;;;;;;;;DRPLMOV_150	EQU	$
;;;;;;;;		TYA
;;;;;;;;		STA	ENMUKI,X
;;;;;;;;;
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		SEC
;;;;;;;;		SBC	PLXPSL
;;;;;;;;		BEQ	DRPLMOV_200	; 目標Ｘ座標オーバー　？
;;;;;;;;;					; No !!
;;;;;;;;		EOR	ENXSPD,X
;;;;;;;;		BMI	DRPLMOV_250	; Ｘ座標オーバー　？
;;;;;;;;;					; Yes !!
;;;;;;;;DRPLMOV_200	EQU	$
;;;;;;;;		LDA	PLXPSL
;;;;;;;;		STA	ENXPSL,X	; Ｘ座標セット
;;;;;;;;;
;;;;;;;;DRPLMOV_250	EQU	$
;;;;;;;;		LDA	ENTIM0,X
;;;;;;;;		BNE	DRPLMOV_300	; パターンチェンジ　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	ENCHPT,X
;;;;;;;;		EOR	#00001
;;;;;;;;		STA	ENCHPT,X	; パターンＮｏ．セット
;;;;;;;;		LDA	#00003
;;;;;;;;		STA	ENTIM0,X
;;;;;;;;;
;;;;;;;;DRPLMOV_300	EQU	$
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	DRKZMOV ( 泥棒君気絶処理 )			x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;DRKZMOV		EQU	$
;;;;;;;;		LDA	ENCBFG,X
;;;;;;;;		LSR	A
;;;;;;;;		BCC	DRKZMOV_100	; ジャンプ中　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	ENTIM1,X
;;;;;;;;		BNE	DRKZMOV_100	; 泥棒君着地ポーズチェンジ　？
;;;;;;;;;					; Yes !!
;;;;;;;;		INC	<ENWRK4,X
;;;;;;;;		LDA	<ENWRK4,X
;;;;;;;;		ASL	A
;;;;;;;;		TAY
;;;;;;;;		LDA	!CYAKPTD,Y
;;;;;;;;		STA	ENCHPT,X	; 泥棒君着地ポーズＮｏ．セット
;;;;;;;;		LDA	!CYAKTMD,Y
;;;;;;;;		STA	ENTIM1,X	; 泥棒君着地ポーズタイマーセット
;;;;;;;;		BNE	DRKZMOV_100	; 泥棒君着地ポーズ終わり　？
;;;;;;;;;					; Yes !!
;;;;;;;;		STZ	<ENWRK0,X
;;;;;;;;		STZ	<ENWRK4,X
;;;;;;;;		LDA	#00003
;;;;;;;;		STA	ENTIM0,X
;;;;;;;;		STZ	ENCHPT,X
;;;;;;;;;
;;;;;;;;DRKZMOV_100	EQU	$
;;;;;;;;		RTL
;;;;;;;;;
;;;;;;;;;
;;;;;;;;;
;;;;;;;;;
;========================================================================
		MEM8
		IDX8
;
		DPAGE	WORK0
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		MINIINT1_6	( ミニゲーム火吐きイニシャルセット )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MINIINT1_6	EQU	$
;-------------- スクロール値 クリア -----------------------------
		M16			; memory 16 bit mode !!
;
		STZ	<SCCH1
		STZ	<SCCV1
		STZ	<SCCH2
		STZ	<SCCV2
		STZ	<SCCH3
		STZ	<SCCV3
;
		LDY	#069H
		STY	!BG1SCF
		STY	2107H
		LDY	#039H
		STY	!BG2SCF
		STY	2108H
		LDY	#009H
		STY	BGMODE
		STY	2105H
		LDY	#000
		STY	HD420C
		STY	SUBADF
;
;-------------- ゲーム イニシャル -----------------------------------
		M16			; memory 16 bit mode !!
;
		LDA	#000B0H
		STA	PLYPSL		; player Y initial set !!
		LDA	#00030H
		STA	PLXPSL		; player X initial set !!
		STZ	UNBUFAD
		STA	TIMER
		STZ	MISS_P		; ミスポイントクリアー
;
		LDA	#00008H
		STA	PLLIFE		; プレイヤー　ライフメーターセット
		STA	ENLIFE		; 泥棒君　ライフメーターセット
		LDA	#0FFFFH
		STA	OBJCHR_BNK
		STA	OBJCHR_BNK+2
		STA	OBJCHR_BNK+4
		STZ	UNBUFAD
;
		LDA	#MINICORS01
		STA	<BGDTADR
		LDA	#00001
		STA	BG1TYP
;
		LDA	#M_DR4
		JSL	>ENINSR_I
;
		LDA	#M_SUI
		JSL	>ENINSR_I
		LDA	#00030H
		STA	ENXPSL,Y
		LDA	#00050H
		STA	ENYPSL,Y
		LDA	#M_SUI
		JSL	>ENINSR_I
		LDA	#000B0H
		STA	ENXPSL,Y
		LDA	#00040H
		STA	ENYPSL,Y
		LDA	#M_SUI
		JSL	>ENINSR_I
		LDA	#00020H
		STA	ENXPSL,Y
		LDA	#00090H
		STA	ENYPSL,Y
		LDA	#M_SUI
		JSL	>ENINSR_I
		LDA	#000A0H
		STA	ENXPSL,Y
		LDA	#00080H
		STA	ENYPSL,Y
		LDA	#M_SUI
		JSL	>ENINSR_I
		LDA	#00090H
		STA	ENXPSL,Y
		LDA	#000C0H
		STA	ENYPSL,Y
		LDA	#M_SUI
		JSL	>ENINSR_I
		LDA	#000E0H
		STA	ENXPSL,Y
		LDA	#000C0H
		STA	ENYPSL,Y
;
		JSL	>ENEMY_IN
;
		MEM8
		IDX8
;
		LDA	#BANK MINICORS01
		STA	<BGDTADR+2
		JSL	>UNITST_SUB
;
		RTS
;
;
;****************************************************************
;*								*
;*		ミニ ゲーム					*
;*								*
;****************************************************************
MINIMOV1_6	EQU	$
		JSL	>OAMDXCLR	; OAM clear sub !!
		LDA	#00030H
		STA	PLPRIO		; プレイヤープライオリティーセット
		JSL	>ENCSET_DM	; enemy char set sub !!
		JSL	>PLCSET		; player char set sub !!
;
		STZ	SPECIAL_P
;
		LDA	MNMODE
		ASL	A
		TAX
		JSR	(!MIN6TBL,X)
;
		M16
;
		M_CHIP	DX_OAM		; SOAM_DX => OAM convert
;
		M8
;
		RTS
;
;
MIN6TBL		EQU	$
		WORD	MIN6NOM		; ミニゲームプレイ処理
		WORD	MIN6PWN		; ミニゲームプレイヤー勝利処理
		WORD	MIN6EWN		; ミニゲーム敵勝利処理
;
;
		MEM16
;
;;;;;;;;MINIMOV1_6	EQU	$
;;;;;;;;		JSL	>OAMDXCLR	; OAM clear sub !!
;;;;;;;;		LDA	#00030H
;;;;;;;;		STA	PLPRIO		; プレイヤープライオリティーセット
;;;;;;;;		JSL	>ENCSET_DM	; enemy char set sub !!
;;;;;;;;		JSL	>PLCSET		; player char set sub !!
;;;;;;;;;
;;;;;;;;		STZ	SPECIAL_P
;;;;;;;;;
;;;;;;;;		LDA	PLLIFE
;;;;;;;;		BEQ	MINIMOV1_6_050	; プレイヤーの負け　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	ENLIFE
;;;;;;;;		BNE	MINIMOV1_6_200	; 泥棒君の負け　？
;;;;;;;;;					; Yes !!
;;;;;;;;MINIMOV1_6_050	EQU	$
;;;;;;;;		M16			; memory 16 bit mode !!
;;;;;;;;;
;;;;;;;;		DEC	ENDTIM
;;;;;;;;		BNE	MINIMOV1_6_250	; 勝敗文字終了　？
;;;;;;;;;					; Yes !!
;;;;;;;;;;;;K;;;;		LDY	#MINIT
;;;;;;;;;;;;K;;;;		INC	MINIMD
;;;;;;;;;;;;K;;;;		LDA	MINIMD
;;;;;;;;;;;;K;;;;		CMP	#003
;;;;;;;;;;;;K;;;;		BNE	MINIMOV1_6_150	; ミニゲーム　３回終わった　？
;;;;;;;;;					; Yes !!
;;;;;;;;		JSL	>BACK_GAME
;;;;;;;;		BRA	MINIMOV1_6_250
;;;;;;;;;;;;K;;;;		LDY	#HMPIN
;;;;;;;;;
;;;;;;;;MINIMOV1_6_150	EQU	$
;;;;;;;;;;;;K;;;;		STY	MODENO		; メインモードセット
;;;;;;;;;;;;K;;;;		BRA	MINIMOV1_6_250
;;;;;;;;;
;;;;;;;;MINIMOV1_6_200	EQU	$
;;;;;;;;		JSL	>PLAYER		; player move sub !!
;;;;;;;;		LDA	!MSGMOD		; メッセージ ウィンドゥ ＯＮ ?
;;;;;;;;		BNE	MINIMOV1_6_230	;	YES -> MINIMOV1_6_230
;;;;;;;;		JSL	>ENEMY_IN	; enemy move sub !!
;;;;;;;;;
;;;;;;;;		JSR	METERS3		; メーターセットルーチン
;;;;;;;;;
;;;;;;;;MINIMOV1_6_230	EQU	$
;;;;;;;;		M16			; memory 16 bit mode !!
;;;;;;;;;
;;;;;;;;MINIMOV1_6_250	EQU	$
;;;;;;;;		M_CHIP	DX_OAM		; SOAM_DX => OAM convert
;;;;;;;;;
;;;;;;;;		M8			; memory 8 bit mode !!
;;;;;;;;;
;;;;;;;;		RTS
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	MIN6NOM ( ミニゲームプレイ処理 )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MIN6NOM		EQU	$
		JSL	>PLAYER		; player move sub !!
		LDA	MSGMOD		; メッセージ ウィンドゥ ＯＮ ?
		BNE	MIN6NOM_END	;	YES -> MIN6NOM_END
;
		JSL	>ENEMY_IN	; enemy move sub !!
		JSR	METERS3		; メーターセットルーチン
;
MIN6NOM_END	EQU	$
		RTS
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	MIN6PWN ( ミニゲームプレイヤー勝利処理 )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MIN6PWN		EQU	$
		JSL	>PLAYER		; player move sub !!
		JSL	>ENEMY_IN	; enemy move sub !!
;
		LDA	ITGTFG
		BEQ	MIN6PWN_END	; アイテムを取った　？
;					; Yes !!
		LDA	PLJUMP
		BNE	MIN6PWN_END	; プレイヤージャンプ中　？
;					; Yes !!
		M16
;
		LDA	#00080H
		STA	ENDTIM		; 終了タイマーセット
;
		M8
;
		INC	MNMODE
		INC	PLSTFG
;
MIN6PWN_END	EQU	$
		JMP	MIN2PWN_END
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	MIN6EWN ( ミニゲーム敵勝利処理 )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MIN6EWN		EQU	$
		JSL	>PLAYER		; player move sub !!
		JSL	>ENEMY_IN	; enemy move sub !!
;
		M16
;
		DEC	ENDTIM
		BNE	MIN6EWN_END	; ミニゲーム終了　？
;					; Yes !!
		JSL	>BACK_GAME
;
MIN6EWN_END	EQU	$
		LDA	#001H
		STA	PLSTFG
		JMP	MIN2PWN_END
;
;
;
;------------------------------------------------------------------------
		MEM8
		IDX8
;
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	METERS3 ( メーターセットルーチン )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PLYMODT		EQU	$
		WORD	00001H,00002H
;
;
METERS3		EQU	$
		LDA	MISS_P
		BEQ	METERS3_050	; プレイヤーやられフラグ”ＯＮ”　？
;					; Yes !!
		LDA	MISS_P
		ASL	A
		STA	<WORK4
		LDA	PLLIFE
		SEC
		SBC	<WORK4
		BPL	METERS3_040
;
		LDA	#000
;
METERS3_040	EQU	$
		STA	PLLIFE		; プレイヤーライフメーターセット
		STZ	MISS_P		; プレイヤーやられフラグクリアー
;
METERS3_050	EQU	$
		PHB
		LDA	#BANK VRAMDX
		PHA
		PLB
;
		MI16			; memory,index 16 bit mode !!
;
		LDX	VRAMDX
		LDA	#03483H
		STA	0,X
		LDA	#03495H
		STA	28,X
;
		LDA	#00180H
		STA	2,X
		STA	30,X
;
		LDA	#00018H
		STA	4,X
		STA	32,X
;
		TXA
		CLC
		ADC	#00012
		STA	5,X
		ADC	#00028
		STA	33,X
;
		LDA	#BANK VRAMDX
		STA	7,X
		STA	35,X
;
		LDA	#00016
		STA	8,X
		STA	36,X
;
		TXA
		ADC	#00028
		STA	10,X
		ADC	#00028
		STA	38,X
		STA	VRAMDX
;
		PLB
;
		TXA
		SEC
		SBC	#VRAMDX+2
		STA	<WORK4
		TAX
;
		LDY	PLLIFE
;;;;;;;;		TAY
;;;;;;;;		AND	#00001
;;;;;;;;		STA	<WORK0
;;;;;;;;		TYA
;;;;;;;;		INC	A
;;;;;;;;		LSR	A
;;;;;;;;		STA	<WORK2
;;;;;;;;		TAY
		LDA	#00008
		SEC
		SBC	PLLIFE
		STA	<WORK6
		CMP	#00008
		BEQ	METERS3_150	; プレイヤーライフメーター”０”　？
;					; No !!
		LDA	#02948H
;
METERS3_100	EQU	$
		STA	>VRAMDX+14,X
		INX
		INX
		DEY
		BNE	METERS3_100	; ライフメーターセット終わり　？
;					; Yes !!
		LDA	#02949H
;;;;;;;;		CLC
;;;;;;;;		ADC	<WORK0
		STA	>VRAMDX+12,X
;
		LDA	<WORK6
		BEQ	METERS3_250	; プレイヤーライフメーター”０”　？
;					; No !!
METERS3_150	EQU	$
		LDA	#02946H
;
METERS3_200	EQU	$
		STA	>VRAMDX+14,X
		INX
		INX
		DEC	<WORK6
		BNE	METERS3_200
;
METERS3_250	EQU	$
		LDX	<WORK4
		LDY	ENLIFE
;;;;;;;;		TAY
;;;;;;;;		AND	#00001
;;;;;;;;		STA	<WORK0
;;;;;;;;		TYA
;;;;;;;;		INC	A
;;;;;;;;		LSR	A
;;;;;;;;		STA	<WORK2
;;;;;;;;		TAY
		LDA	#00008
		SEC
		SBC	ENLIFE
		STA	<WORK6
		CMP	#00008
		BEQ	METERS3_350
;
		LDA	#02948H
;
METERS3_300	EQU	$
		STA	>VRAMDX+42,X
		INX
		INX
		DEY
		BNE	METERS3_300
;
		LDA	#02949H
;;;;;;;;		CLC
;;;;;;;;		ADC	<WORK0
		STA	>VRAMDX+40,X
;
		LDA	<WORK6
		BEQ	METERS3_450
;
METERS3_350	EQU	$
		LDA	#02946H
;
METERS3_400	EQU	$
		STA	>VRAMDX+42,X
		INX
		INX
		DEC	<WORK6
		BNE	METERS3_400
;
METERS3_450	EQU	$
		LDY	#00002
		LDA	PLLIFE
		BEQ	METERS3_500
;
		LDA	ENLIFE
		BNE	METERS3_550
;
		LDY	#00000
;
METERS3_500	EQU	$
		TYA
		LSR	A
		STA	WINFLG
;;;;;;;;		LDA	!DATADRS,Y
;;;;;;;;		STA	VRFLG2
		LDA	!SOUNDNO,Y
		STA	<SOUND_0	; [♪]
		LDA	!PLYMODT,Y
		STA	MNMODE		; モードチェンジ
		LDA	#00200H
		STA	ENDTIM
		JSR	ENRMCLR
		LDA	#00001H
		STA	HDMMOD
;
METERS3_550	EQU	$
		MI8			; memory,index 8 bit mode !!
;
		RTS
;
		MEM16
		IDX16
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSL	ENRMCLR ( 敵ＲＡＭクリアー処理 )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ENRMCLR		EQU	$
		LDX	#(ENNO-1)*4
;
ENRMCLR_050	EQU	$
		LDA	ENMODE,X
		BEQ	ENRMCLR_100	; 敵がいてる　？
;					; Yes !!
		LDA	ENMYNO,X
		CMP	#M_DR4
		BNE	ENRMCLR_060	; 泥棒君　？
;					; Yes !!
		CPY	#00000H
		BNE	ENRMCLR_060	; プレイヤーが勝った　？
;					; Yes !!
		LDA	#EFAIL
		STA	ENMODE,X
;
ENRMCLR_060	EQU	$
		LDA	ENMOD1,X
		AND	#0110000000000000B
		BNE	ENRMCLR_100	; クリアーする　？
;					; Yes !!
		STZ	ENXSPD,X
;;;;;;;;		STZ	ENYSPD,X
		STZ	ENGPOW,X
		STZ	ENXPOW,X
;
ENRMCLR_100	EQU	$
		STZ	ENWRK8,X
		DEX
		DEX
		DEX
		DEX
		BPL	ENRMCLR_050	; チェックが終わった　？
;					; Yes !!
		CPY	#00000H
		BNE	ENRMCLR_END
;
		LDA	MN2PLY
		BNE	ENRMCLR_END	; 二人用　？
;					; No !!
		I8
;
		LDA	#M_ITM
		LDY	#004H
		JSL	>ENINSR2_I
;
		JSL	>RANDAM
		AND	#00003H
		CMP	#00003H
		BNE	ENRMCLR_150	; ポインターオーバー　？
;					; Yes !!
		LDA	#00000H
;
ENRMCLR_150	EQU	$
		CLC
		ADC	#00007H
		STA	ENWRK0,Y
		LDA	#00098H
		STA	ENYPSL,Y
		LDA	#00078H
		STA	ENXPSL,Y
;
ENRMCLR_END	EQU	$
		RTS
;
;
;
;
;------------------------------------------------------------------------
		MEM16
		IDX8
;
		DPAGE	EN0RAM
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_DR4IN		( 泥棒訓　炎でボッ　イニシャル )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_DR4IN		EQU	$
		LDA	#000C0H
		STA	ENYPSL,X	; 泥棒君Ｙ座標イニシャルセット
		LDA	#000C0H
		STA	ENXPSL,X	; 泥棒君ｘ座標イニシャルセット
		LDA	#00004H
		STA	ENTIM0,X	; 泥棒君パターンタイマーセット
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_DR4MV		( 泥棒訓　炎でボッ　ムーブ )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DR4WLKD		EQU	$
		WORD	00002H,00003H,00004H,00005H,00006H,00007H
;
DR4FIRD		EQU	$
		WORD	00000H,00001H
;
DR4RUND		EQU	$
		WORD	00008H,00009H
;
DR4KYOD		EQU	$
		WORD	0000AH,0000BH
;
DR4JMPD		EQU	$
		WORD	0000CH,0000DH,0000EH,0000FH,00010H,00011H,00012H
;
DR4NIJD		EQU	$
		WORD	00013H,00014H,00015H,00016H,00017H,00018H
;
DR4SYAD		EQU	$
		WORD	00019H,0001AH,0001BH,0001AH
;
;
DR4TIME		EQU	$
		WORD	00004H,00004H,00004H,00004H,00004H,00004H
		WORD	00000H,00000H
		WORD	00002H,00002H
		WORD	00008H,00008H
		WORD	00000H,00000H,00000H,00000H,00000H,00002H,00002H
		WORD	00002H,00002H,00002H,00002H,00002H,00002H
		WORD	00000H,00000H,00000H,00000H
;
;
PAUSED0		EQU	$
		WORD	(DR4WLKD-DR4WLKD)/2
		WORD	(DR4FIRD-DR4WLKD)/2
		WORD	(DR4RUND-DR4WLKD)/2
		WORD	(DR4KYOD-DR4WLKD)/2
		WORD	(DR4JMPD-DR4WLKD)/2
		WORD	(DR4NIJD-DR4WLKD)/2
		WORD	(DR4SYAD-DR4WLKD)/2
;
PAUSED1		EQU	$
		WORD	(DR4FIRD-DR4WLKD)/2
		WORD	(DR4RUND-DR4WLKD)/2
		WORD	(DR4KYOD-DR4WLKD)/2
		WORD	(DR4JMPD-DR4WLKD)/2
		WORD	(DR4NIJD-DR4WLKD)/2
		WORD	(DR4SYAD-DR4WLKD)/2
		WORD	(DR4TIME-DR4WLKD)/2
;
;
M_DRXPS		EQU	$
		WORD	00008H,00000H
;
;
M_DR4MV		EQU	$
		LDA	MNMODE
		BEQ	M_DR4MV_010	; 勝負がついた　？
;					; Yes !!
		LDA	#D4NO
		STA	ENWRK0,X
		JMP	M_DR4MV_350
;
M_DR4MV_010	EQU	$
		LDY	ENMUKI,X
		LDA	ENXPSL,X
		CLC
		ADC	!M_DRXPS,Y
		STA	R8
		LDA	ENYPSL,X
		STA	R0
		M_CHIPR M_BGUNIT_READ
;
		LDX	<ENINDX
;
		I16			; index 16 bit mode !!
;
		LDA	#0000000000010000B
		STA	<EWORK0
		LDA	#0000011000000000B
		LDY	R6
		BEQ	M_DR4MV_050	; 隠れている　？
;					; No !!
		LDY	R5
		BNE	M_DR4MV_050	;
;
		STZ	<EWORK0
		LDA	#0000000000000000B
;
M_DR4MV_050	EQU	$
		STA	<EWORK2
;
		I8			; index 8 bit mode !!
;
		LDA	ENMOD0,X
		AND	#1111100111111111B
		ORA	<EWORK2
		STA	ENMOD0,X
		LDA	ENMOD2,X
		AND	#1111111111101111B
		ORA	<EWORK0
		STA	ENMOD2,X
;
		LDA	ENMODE,X
		CMP	#EMOVE
		BNE	M_DR4MV_100	; 泥棒君燃えている　？
;					; No !!
		LDY	ECRSFG,X
		BEQ	M_DR4MV_200	; 衝突した　？( no:M_DR4MV_050 )
		BMI	M_DR4MV_200	; プレイヤーと衝突した　？
;					; No !!
		DEY
		LDA	ENMYNO,Y
		CMP	#SUIKT
		BNE	M_DR4MV_200	; 当たった敵は西瓜の種　？
;					; Yes !!
		LDA	ENWRK8,Y
		BNE	M_DR4MV_200	; 西瓜の種はプレイヤーが吐いた　？
;					; Yes !!
		LDA	ENTIM2,X
		BNE	M_DR4MV_200	; 泥棒君やられている　？
;					; No !!
		TYX
		JSL	>SHOT_EN_KILL
		BRA	M_DR4MV_150
;
M_DR4MV_100	EQU	$
		PLA
		PLY
		LDA	#EMOVE
		STA	ENMODE,X	; 泥棒君ムーブモードセット
		LDA	ENTIM2,X
		BNE	M_DR4MV_200	; 泥棒君やられている　？
;					; No !!
		LDA	ENLIFE
		BEQ	M_DR4MV_150	; 泥棒君ライフメーター”０”　？
;					; No !!
		DEC	ENLIFE
		DEC	ENLIFE
;
M_DR4MV_150	EQU	$
		LDA	#0FD00H
		STA	ENYSPD,X	; Ｙスピードセット
		LDA	#D4YR
		STA	<ENWRK0,X	; 泥棒君やられモードセット
		LDA	#00080H
		STA	ENTIM2,X	; 泥棒君やられタイマーセット
		LDA	#00020H
		STA	ENCLOR,X	; 泥棒君プライオリティーセット
		LDA	#00075H
		JSL	>SOUND_3_ON	; [♪]
		LDA	ENLIFE
		BEQ	M_DR4MV_200	; 泥棒君ライフメーター”０”　？
;					; No !!
		DEC	ENLIFE
		DEC	ENLIFE
;
M_DR4MV_200	EQU	$
;;;;;;;;		LDA	ENLIFE
;;;;;;;;		BEQ	M_DR4MV_210
;;;;;;;;;
;;;;;;;;		LDA	ENMOD1,X
;;;;;;;;		ORA	#00001H
;;;;;;;;		STA	ENMOD1,X
;;;;;;;;;
;;;;;;;;M_DR4MV_210	EQU	$
		M8			; memory 8 bit mode !!
;
		LDY	#004
		LDA	ENTIM2,X
		AND	#004
		BEQ	M_DR4MV_220	; 泥棒君フラッシング　？
;					; Yes !!
		LDY	#0FFH
;
M_DR4MV_220	EQU	$
		TYA
		STA	ENYUSN,X	; 泥棒君優先順位セット
;
		M16			; memory 16 bit mode !!
;
		LDA	ENDSXL,X
		CMP	#00010H
		BCS	M_DR4MV_250	; 画面左端オーバー　？
;					; Yes !!
		LDA	#00010H
		SEC
		SBC	ENDSXL,X
		CLC
		ADC	ENXPSL,X
		STA	ENXPSL,X	; Ｘ座標補正
		BRA	M_DR4MV_300
;
M_DR4MV_250	EQU	$
		LDA	ENDSXL,X
		SEC
		SBC	#000E0H
		BMI	M_DR4MV_350	; 画面右端オーバー　？
;					; Yes !!
		STA	<EWORK0
		LDA	ENXPSL,X
		SEC
		SBC	<EWORK0
		STA	ENXPSL,X	; Ｘ座標補正
;
M_DR4MV_300	EQU	$
		STZ	ENXSPD,X
;
M_DR4MV_350	EQU	$
		PEA	M_DR4MV_400-1
		LDA	<ENWRK0,X
		ASL	A
		TAY
		LDA	!M_DR4MV_ADR,Y
		STA	<EWORK0
		JMP	(EWORK0)
;
M_DR4MV_400	EQU	$
		LDA	DRSHOT
		BEQ	M_DR4MV_500	; 泥棒君何か吐いている　？
;					; Yes !!
M_DR4MV_450	EQU	$
		RTL
;
M_DR4MV_500	EQU	$
		LDA	ENTIM1,X
		BNE	M_DR4MV_450	; パターンチェンジ　？
;					; Yes !!
		LDA	ENXSPD,X
		BNE	M_DR4MV_550	; 泥棒君Ｘスピードクリアー　？
;					; Yes !!
		LDA	#00013H
		STA	ENCHPT,X	; パターンＮｏ．セット
		RTL
;
M_DR4MV_550	EQU	$
		BPL	M_DR4MV_560	; 泥棒君Ｘスピード左方向　？
;					; Yes !!
		EOR	#0FFFFH
		INC	A
;
M_DR4MV_560	EQU	$
		CMP	#00100H
		BCS	M_DR4MV_600	; にじり寄り　？
;					; Yes !!
		LDA	#00005
		CMP	DRPUSE
		BEQ	M_DR4MV_650	; にじり寄りパターンフラグ　？
;					; Yes !!
		STA	DRPUSE		; にじり寄りパターンフラグセット
		ASL	A
		TAY
		BRA	PAUSE_090
;
M_DR4MV_600	EQU	$
		LDA	DRPUSE
		BEQ	M_DR4MV_650	; 歩くパターンフラグ　？
;					; Yes !!
		STZ	DRPUSE
		LDY	#000
		BRA	PAUSE_090
;
M_DR4MV_650	EQU	$
		LDA	ENCBFG,X
		LSR	A
		BCS	PAUSE_050	; ジャンプ中　？
;					; Yes !!
		LDA	#00001
		STA	DRJUMP		; ジャンプフラグ”ＯＮ”
;
PAUSE_050	EQU	$
		LDA	DRPUSE
		ASL	A
		TAY
		LDA	<ENCONT,X
		INC	A
		CMP	!PAUSED1,Y
		BNE	PAUSE_100	; パターンポインターオーバー　？
;					; Yes !!
		STZ	DRJUMP
;
PAUSE_090	EQU	$
		LDA	!PAUSED0,Y
;
PAUSE_100	EQU	$
		STA	<ENCONT,X
		ASL	A
		TAY
		LDA	!DR4WLKD,Y
		STA	ENCHPT,X	; パターンＮｏ．セット
		LDA	!DR4TIME,Y
		STA	ENTIM1,X	; パターンタイマーセット
;
		LDA	DRJUMP
		BEQ	PAUSE_250	; ジャンプフラグ”ＯＮ”　？
;					; Yes !!
		LDA	ENCBFG,X
		LSR	A
		BCC	PAUSE_150	; ジャンプ中　？
;					; No !!
		STZ	DRJUMP
		STZ	DRPUSE
		LDY	#000
		LDA	!PAUSED0,Y
		STA	<ENCONT,X
		LDA	!DR4WLKD,Y
		STA	ENCHPT,X	; パターンＮｏ．セット
		LDA	!DR4TIME,Y
		STA	ENTIM1,X	; パターンタイマーセット
		BRA	PAUSE_250
;
PAUSE_150	EQU	$
		LDY	#00000
		LDA	ENYPSL,X
		CMP	#0FD00H
		BCC	PAUSE_200	; ジャンプパターン１　？
;					; No !!
		INY
		CMP	#0FF00H
		BCC	PAUSE_200	; ジャンプパターン２　？
;					; No !!
		INY
		CMP	#00000H
		BCC	PAUSE_200	; ジャンプパターン３　？
;					; No !!
		CMP	#00100H
		BCC	PAUSE_200	; ジャンプパターン３　？
;					; No !!
		INY
		CMP	#00300H
		BCC	PAUSE_200	; ジャンプパターン４　？
;					; No !!
		INY
;
PAUSE_200	EQU	$
		TYA
		CLC
		ADC	#0000CH
		STA	ENCHPT,X	; ジャンプパターンＮｏ．セット
;
PAUSE_250	EQU	$
		RTL
;
;
M_DR4MV_ADR	EQU	$
		WORD	D4CHKMV		; 泥棒君目標チェック処理
		WORD	D4SUIMV		; 泥棒君目標西瓜処理
D4PSR		WORD	D4PLSMV		; 泥棒君プレイヤーサーチ処理
D4FIR		WORD	D4FIAMV		; 泥棒君炎を吐く処理
D4YAR		WORD	D4YARMV		; 泥棒君やられ処理
D4NOP		WORD	D4ONPMV		; 泥棒君止まっている処理
;
;
D4PS		EQU	(D4PSR-M_DR4MV_ADR)/2
D4FI		EQU	(D4FIR-M_DR4MV_ADR)/2
D4YR		EQU	(D4YAR-M_DR4MV_ADR)/2
D4NO		EQU	(D4NOP-M_DR4MV_ADR)/2
;
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	D4CHKMV ( 泥棒君目標チェック処理 )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
D4CHKMV		EQU	$
		LDA	DRBEAT
		BEQ	D4CHKMV_050	; 泥棒君西瓜食べてる　？
;					; Yes !!
		LDA	#D4PS
		STA	<ENWRK0,X	; プレイヤーサーチモードセット
;
D4ONPMV		EQU	$
		RTS
;
D4CHKMV_050	EQU	$
		TXA
		STA	R1
		M_CHIP	M_ITEM_SEARCH
;
		LDX	<ENINDX
		LDA	R1
		BMI	D4CHKMV_250	; 西瓜出現している　？
;					; Yes !!
		STA	<ENWRK2,X	; 西瓜インデックスＮｏ．セット
		TAY
		LDA	ENCBFG,X
		LSR	A
		BCC	D4CHKMV_250	; 泥棒君ジャンプ中　？
;					; No !!
		LDA	ENXPSL,Y
		STA	R1		; 目標Ｘ座標セット
		LDA	ENYPSL,Y
		STA	R2		; 目標Ｙ座標セット
		LDA	ENXPSL,X
		STA	R3		; 現在Ｘ座標セット
		LDA	ENYPSL,X
		STA	R4		; 現在Ｙ座標セット
		LDA	#00200H
		STA	R6		; 移動スピードセット
;
		M_CHIP	SEARCH_SPEED
;
		LDX	<ENINDX
		LDA	R2
		BPL	D4CHKMV_150	; ジャンプする　？
;					; Yes !!
		LDY	<ENWRK2,X
		LDA	ENYPSL,X
		SEC
		SBC	ENYPSL,Y
		CMP	#00020H
		BCS	D4CHKMV_100	; ドラム缶の横　？
;					; Yes !!
		LDA	#0FC00H
		BRA	D4CHKMV_140
;
D4CHKMV_100	EQU	$
		LDA	#0FA80H
;
D4CHKMV_140	EQU	$
		STA	ENYSPD,X	; イニシャルジャンプスピードセット
		LDA	#00038H
		JSL	>SOUND_3_ON	; [♪]
;
D4CHKMV_150	EQU	$
		LDY	#002
		LDA	R1
		STA	ENXSPD,X
		BPL	D4CHKMV_200	; 西瓜右方向　？
;					; No !!
		LDY	#000
;
D4CHKMV_200	EQU	$
		TYA
		STA	ENMUKI,X	; 泥棒君向きセット
		INC	<ENWRK0,X
;
D4CHKMV_250	EQU	$
		RTS
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	D4SUIMV ( 泥棒君目標西瓜処理 )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
D4SUIMV		EQU	$
		LDA	BERFLG
		BEQ	D4SUIMV_050	; プレイヤー何か出している　？
;					; Yes !!
		LDA	EATSPF
		BEQ	D4SUIMV_050	; 種か炎を吐いている　？
;					; Yes !!
		LDA	<EWORK2
		BEQ	D4SUIMV_050	; 泥棒君隠れている　？
;					; No !!
		LDA	ENCBFG,X
		LSR	A
		BCC	D4SUIMV_050	; ジャンプ中　？
;					; No !!
		LDA	ENYPSL,X
		SEC
		SBC	PLYPSL
		CLC
		ADC	#00010H
		CMP	#00031H
		BCS	D4SUIMV_050	; プレイヤーと離れている　？
;					; Yes !!
		LDA	#0FA80H
		STA	ENYSPD,X	; Ｙスピードセット`
		LDA	#00038H
		JSL	>SOUND_3_ON	; [♪]
		RTS
;
D4SUIMV_050	EQU	$
		LDY	ECRSFG,X
		BEQ	D4SUIMV_150	; 衝突した　？ ( No:D4SUIMV_100 )
		BMI	D4SUIMV_150	; プレイヤーと衝突した　？
;					; Yes !!
		DEY
;;;;;;;;		TYA
;;;;;;;;		CMP	<ENWRK2,X
;;;;;;;;		BNE	D4SUIMV_150	; 西瓜を取った　？
;;;;;;;;;					; Yes !!
		LDA	ENMODE,Y
		CMP	#EMOVE
		BNE	D4SUIMV_150	; 通常処理　？
;					; Yes !!
		LDA	ENMYNO,Y
		CMP	#SUIKA
		BEQ	D4SUIMV_080	; 西瓜の種　？
;					; No !!
		CMP	#FIRE0
		BNE	D4SUIMV_150	; 炎の西瓜　？
;					; Yes !!
D4SUIMV_080	EQU	$
		STA	DRBEAT		; 西瓜Ｎｏ．セット
		LDA	#00003
		STA	DRBCNT		; 吐き出せる回数セット
		TYX
		JSL	>ENCLEAR	; 西瓜クリアー
		LDX	<ENINDX
		INC	<ENWRK0,X
		RTS
;
D4SUIMV_100	EQU	$
		LDA	FRCNT
		AND	#00008
		LSR	A
		LSR	A
		LSR	A
		ORA	#0000AH
		STA	ENCHPT,X	; キョロキョロパターンＮｏ．セット
		RTS
;
D4SUIMV_150	EQU	$
		TXA
		STA	R1
		M_CHIP	M_ITEM_SEARCH
;
		LDX	<ENINDX
		LDA	R1
		BMI	D4SUIMV_100	; 西瓜出現している　？
;					; Yes !!
		STA	<ENWRK2,X	; 西瓜インデックスＮｏ．セット
;
;;;;;;;;		LDY	<ENWRK2,X
;;;;;;;;		LDA	ENMODE,Y
;;;;;;;;		BNE	D4SUIMV_180	; 西瓜出現している　？
;;;;;;;;;					; No !!
;;;;;;;;		STZ	<ENWRK0,X
;;;;;;;;		BRA	D4SUIMV_100
;;;;;;;;;
;;;;;;;;D4SUIMV_180	EQU	$
		LDA	<ENWRK4,X
		BEQ	D4SUIMV_200	; 泥棒君と西瓜がほぼＸ座標同じ　？
;					; Yes !!
		LDY	ENWRKA,X
		BNE	D4SUIMV_170	; 左向き　？
;					; Yes !!
		LDA	ENXPSL,X
		CMP	#00010H
		BCS	D4SUIMV_190	; 左端にいる　？
;					; Yes !!
		LDA	#00002H
		STA	ENWRKA,X
		STA	ENMUKI,X
		BRA	D4SUIMV_190
;
D4SUIMV_170	EQU	$
		LDA	ENXPSL,X
		CMP	#000E0H
		BCC	D4SUIMV_190
;
		STZ	ENWRKA,X
		STZ	ENMUKI,X
;
D4SUIMV_190	EQU	$
		JMP	D4SUIMV_450
;
D4SUIMV_200	EQU	$
		LDA	ENCBFG,X
		LSR	A
		BCS	D4SUIMV_250	; ジャンプ中　？
;					; Yes !!
		JMP	D4SUIMV_500
;
D4SUIMV_250	EQU	$
		LDY	#000
		LDA	ENXPSL,X
		SEC
		SBC	#00080H
		BPL	D4SUIMV_300
;
		LDY	#002
;
D4SUIMV_300	EQU	$
		TYA
		STA	ENWRKA,X
		STA	ENMUKI,X
;
		LDY	<ENWRK2,X
		LDA	ENXPSL,X
		SEC
		SBC	ENXPSL,Y
		CLC
		ADC	#00010H
		CMP	#00021H
		BCS	D4SUIMV_500	; Ｘ座標ほぼ同じ　？
;					; Yes !!
		LDA	ENYPSL,X
		STA	ENWRKC,X
		SEC
		SBC	ENYPSL,Y
		CLC
		ADC	#00020H
		LDY	#001
		CMP	#00031H
		BCC	D4SUIMV_500	; Ｙ座標ほぼ同じ　？
;					; No !!
		BMI	D4SUIMV_400	; 西瓜が上にある　？
;					; Yes !!
		CMP	#000A1H
		BCS	D4SUIMV_500
;
		LDA	#0FE00H
		LDY	ENXPSL,X
		CPY	#031H
		BCS	D4SUIMV_350	; 泥棒訓左の方　？
;					; Yes !!
		LDA	#00200H
;
D4SUIMV_350	EQU	$
		STA	ENWRKC,X
		LDA	ENXPSL,X
		SEC
		SBC	#00010H
		CLC
		ADC	#00008H
		STA	R8		; ＢＧチェックＸ座標セット
		LDA	ENYPSL,X
		STA	R0		; ＢＧチェックＹ座標セット
		M_CHIPR M_BGUNIT_READ
;
		LDX	<ENINDX
		LDY	#002
		LDA	R5
		BEQ	D4SUIMV_400	; 左横にドラム缶がある　？
;					; Yes !!
		LDA	#0FC00H
		STA	ENYSPD,X	; ジャンプスピードセット
		PHY
		LDA	#00038H
		JSL	>SOUND_3_ON	; [♪]
		PLY
;
D4SUIMV_400	EQU	$
		TYA
		STA	<ENWRK4,X
;
D4SUIMV_450	EQU	$
		LDA	<ENWRK4,X
		ASL	A
		TAY
		LDA	!D4SUIMV_ADR-2,Y
		STA	<EWORK0
		JMP	(EWORK0)
;
D4SUIMV_500	EQU	$
		LDY	<ENWRK2,X
		LDA	ENXPSL,Y
		STA	R1		; 目標Ｘ座標セット
		LDA	ENYPSL,Y
		STA	R2		; 目標Ｙ座標セット
		LDA	ENXPSL,X
		STA	R3		; 現在Ｘ座標セット
		LDA	ENYPSL,X
		STA	R4		; 現在Ｙ座標セット
		LDA	#00200H
		STA	R6		; 移動スピードセット
;
		M_CHIP	SEARCH_SPEED
;
		LDX	<ENINDX
		LDY	#002
		LDA	R1
		STA	ENXSPD,X
		BPL	D4SUIMV_550	; 右方向　？
;					; Yes !!
		LDY	#000
;
D4SUIMV_550	EQU	$
		TYA
		STA	ENMUKI,X	; 泥棒君向きセット
;
		LDA	ENCBFG,X
		LSR	A
		BCC	D4SUIMV_650	; 泥棒君ジャンプ中　？
;					; No !!
		LDA	ENCBFG,X
		AND	!BITDATA,Y
		BEQ	D4SUIMV_600	; 横に当たっている　？
;					; Yes !!
		LDA	#0FC00H
		STA	ENYSPD,X	; イニシャルジャンプスピードセット
		LDA	#00038H
		JSL	>SOUND_3_ON	; [♪]
;
D4SUIMV_600	EQU	$
		LDA	R2
		BPL	D4SUIMV_650	; 西瓜が下にある　？
;					; No !!
		LDY	<ENWRK2,X
		LDA	ENYPSL,X
		SEC
		SBC	ENYPSL,Y
		CMP	#00020H
		BCC	D4SUIMV_650	; ドラム缶の横　？
;					; Yes !!
		LDA	#0FA80H
		STA	ENYSPD,X	; イニシャルジャンプスピードセット
		LDA	#00038H
		JSL	>SOUND_3_ON	; [♪]
;
D4SUIMV_650	EQU	$
		RTS
;
;
D4SUIMV_ADR	EQU	$
		WORD	M4DWCHK		; 西瓜が下にあるときの処理
		WORD	M4UPCHK		; 西瓜が上にあるときの処理
;
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	M4DWCHK ( 西瓜が下にあるときの処理 )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M4DWXSP		EQU	$
		WORD	0FE00H,00200H
;
M4BGXPS		EQU	$
		WORD	0FFF0H,00010H
;
;
M4DWCHK		EQU	$
		LDY	ENWRKA,X
		LDA	!M4DWXSP,Y
		STA	ENXSPD,X	; Ｘスピードセット
		LDA	ENCBFG,X
		LSR	A
		BCC	M4DWCHK_050	; ジャンプ中　？
;					; yes !!
		LDA	ENXPSL,X
		CLC
		ADC	!M4BGXPS,Y
		STA	R8		; ＢＧチェックＸ座標セット
		LDA	ENYPSL,X
		STA	R0		; ＢＧチェックＹ座標セット
		M_CHIPR M_BGUNIT_READ
;
		LDX	<ENINDX
		LDA	R5
		BEQ	M4DWCHK_050	; ドラム缶がある　？
;					; Yes !!
		LDA	#0FC00H
		STA	ENYSPD,X	; ジャンプスピードセット
		LDA	#00038H
		JSL	>SOUND_3_ON	; [♪]
;
M4DWCHK_050	EQU	$
		LDA	ENYPSL,X
		SEC
		SBC	ENWRKC,X
		CMP	#00028H
		BCC	M4DWCHK_100	; Ｙ座標範囲を越えた　？
;					; Yes !!
		STZ	<ENWRK4,X
;
M4DWCHK_100	EQU	$
		RTS
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	M4UPCHK ( 西瓜が上にあるときの処理 )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M4UPCHK		EQU	$
		LDA	ENWRKC,X
		STA	ENXSPD,X	; Ｘスピードセット
		STZ	ENMUKI,X	; 泥棒君向きセット
		LDY	ENMUKI,X
		LDA	ENCBFG,X
		LSR	A
		BCC	M4UPCHK_050	; ジャンプ中　？
;					; yes !!
		LDA	ENXPSL,X
		CLC
		ADC	!M4BGXPS,Y
		STA	R8		; ＢＧチェックＸ座標セット
		LDA	ENYPSL,X
		STA	R0		; ＢＧチェックＹ座標セット
		M_CHIPR M_BGUNIT_READ
;
		LDX	<ENINDX
		LDA	R5
		BEQ	M4UPCHK_050	; ドラム缶がある　？
;					; Yes !!
		LDA	#0FA80H
		STA	ENYSPD,X	; ジャンプスピードセット
		LDA	#00038H
		JSL	>SOUND_3_ON	; [♪]
;
M4UPCHK_050	EQU	$
		LDY	<ENWRK2,X
		LDA	ENXPSL,X
		SEC
		SBC	ENXPSL,Y
		CLC
		ADC	#00010H
		CMP	#00021H
		BCC	M4UPCHK_100	; Ｘ座標範囲を越えた　？
;					; Yes !!
		STZ	ENXSPD,X	; Ｘスピードクリアー
		LDA	#00002
		STA	ENMUKI,X	; 泥棒君向きセット
		STZ	<ENWRK4,X
;
M4UPCHK_100	EQU	$
		RTS
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	D4PLSMV ( 泥棒君プレイヤーサーチ処理 )		x
;x									x
;x		initial ENWRK4 <-- 西瓜の種類				x
;x									x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
HONOOPS		EQU	$
		WORD	0FFECH,00014H,0FFF7H,00009H
;
NEXTPOS		EQU	$
		WORD	0FFF0H,00010H,00000H,00000H
;
BITDATA		EQU	$
		WORD	0000000000001000B,0000000000000100B
;
PLSHXSP		EQU	$
		WORD	0FF00H,00100H
;
;
D4PLSMV		EQU	$
		LDA	ENWRK6,X
		BNE	D4PLSMV_150	; プレイヤーとの位置関係チェック　？
;					; Yes !!
		LDY	#002
		LDA	ENYPSL,X
		SEC
		SBC	PLYPSL
		CLC
		ADC	#00010H
		BMI	D4PLSMV_050	; プレイヤーより上　？
;					; No !!
		LDY	#004
		CMP	#00031H
		BCS	D4PLSMV_050	; プレイヤーより下　？
;					; No !!
		LDY	#006
;
D4PLSMV_050	EQU	$
		TYA
		STA	ENWRK6,X
		LDY	#002
		LDA	ENXPSL,X
		CMP	#00020H
		BCC	D4PLSMV_100	; 泥棒訓左の方　？
;					; No !!
		LDY	#000
		CMP	#000D0H
		BCS	D4PLSMV_100	; 泥棒訓右の方　？
;					; No !!
		LDY	PLCMKI
;;;;;;;;		LDA	PLCMKI
;;;;;;;;		EOR	#00002
;;;;;;;;		TAY
;
D4PLSMV_100	EQU	$
		TYA
		STA	ENWRK8,X	; プレイヤーの向きをセット
		BRA	D4PLSMV_250
;
D4PLSMV_150	EQU	$
		LDA	ENXPSL,X
		CMP	#000E0H
		BCS	D4PLSMV_200	; 泥棒君右端　？
;					; No !!
		CMP	#00012H
		BCS	D4PLSMV_250	; 泥棒君左端　？
;					; Yes !!
D4PLSMV_200	EQU	$
		LDA	ENWRK8,X
		EOR	#00002
		STA	ENWRK8,X
;
D4PLSMV_250	EQU	$
		PEA	D4PLSMV_300-1
		LDY	ENWRK6,X
		LDA	!D4PLSMV_ADR,Y
		STA	<EWORK0
		JMP	(EWORK0)
;
D4PLSMV_300	EQU	$
		LDA	ENWRK6,X
		BEQ	D4PLSMV_400
;
		LDY	#000
		LDA	ENXSPD,X
		BMI	D4PLSMV_350	; 泥棒君右方向　？
;					; Yes !!
		LDY	#002
;
D4PLSMV_350	EQU	$
		TYA
		STA	ENMUKI,X	; 泥棒君向きセット
;
D4PLSMV_400	EQU	$
		RTS
;
;
D4PLSMV_ADR	EQU	$-2
		WORD	D4PLSUP		; プレイヤーより上にいる時の処理
		WORD	D4PLSDW		; プレイヤーより下にいる時の処理
		WORD	D4PLSON		;
;
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	D4PLSUP ( プレイヤーより上にいる時の処理 )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
D4PLSUP		EQU	$
		LDY	ENWRK8,X
		LDA	ENCBFG,X
		AND	!BITDATA,Y
		BNE	D4PLSUP_050	; 横にドラム缶がある　？
;					; No !!
		LDA	!PLSHXSP,Y
		STA	ENXSPD,X	; Ｘスピードセット
;
D4PLSUP_050	EQU	$
		LDA	ENCBFG,X
		LSR	A
		BCC	D4PLSUP_200	; ジャンプ中　？
;					; Yes !!
		LDA	ENXPSL,X
		CLC
		ADC	!M4BGXPS,Y
		CLC
		ADC	#00008
		STA	R8		; ＢＧチェックＸ座標セット
		LDA	ENYPSL,X
		STA	R0		; ＢＧチェックＹ座標セット
		M_CHIPR M_BGUNIT_READ
;
		LDX	<ENINDX
		LDA	R5
		BEQ	D4PLSUP_100	; 横にドラム缶がある　？
;					; Yes !!
		LDA	#0FC00H
		STA	ENYSPD,X	; ジャンプスピードセット
		LDA	#00038H
		JSL	>SOUND_3_ON	; [♪]
;
D4PLSUP_100	EQU	$
		LDA	ENYPSL,X
		SEC
		SBC	PLYPSL
		CLC
		ADC	#00010H
		CMP	#00031H
		BCC	D4PLSUP_150	; プレイヤーと高さが同じ　？
;					; Yes !!
		BMI	D4PLSUP_200
;
D4PLSUP_150	EQU	$
		STZ	ENWRK6,X
		STZ	ENYSPD,X
		STZ	ENXSPD,X
;
D4PLSUP_200	EQU	$
		RTS
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	D4PLSDW ( プレイヤーより下にいる時の処理 )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
D4PLSDW		EQU	$
		LDY	ENWRK8,X
		LDA	ENCBFG,X
		AND	!BITDATA,Y
		BNE	D4PLSDW_050	; 横にドラム缶がある　？
;					; No !!
		LDA	!PLSHXSP,Y
		STA	ENXSPD,X	; Ｘスピードセット
;
D4PLSDW_050	EQU	$
		LDA	ENCBFG,X
		LSR	A
		BCC	D4PLSDW_150	; ジャンプ中　？
;					; No !!
		LDA	ENYPSL,X
		SEC
		SBC	PLYPSL
		CLC
		ADC	#00010H
		BMI	D4PLSDW_100	; プレイヤーより上　？
;					; No !!
		CMP	#00031H
		BCS	D4PLSDW_200	; プレイヤーと高さが同じ　？
;					; Yes !!
D4PLSDW_100	EQU	$
		STZ	ENWRK6,X
		STZ	ENYSPD,X
		STZ	ENXSPD,X
;
D4PLSDW_150	EQU	$
		RTS
;
D4PLSDW_200	EQU	$
		LDA	ENXPSL,X
		CLC
		ADC	#00008
		STA	<EWORK4
		STA	R8		; ＢＧチェックＸ座標セット
		LDA	ENYPSL,X
		SEC
		SBC	#00040H
		STA	<EWORK6
		STA	R0		; ＢＧチェックＹ座標セット
		M_CHIPR M_BGUNIT_READ
;
		LDX	<ENINDX
		LDA	R5
		BNE	D4PLSDW_300	; 上にドラム缶がある　？
;					; No !!
		LDA	<EWORK4
		STA	R8		; ＢＧチェックＸ座標セット
		LDA	<EWORK6
		CLC
		ADC	#00010H
		STA	R0		; ＢＧチェックＹ座標セット
		M_CHIPR M_BGUNIT_READ
;
		LDX	<ENINDX
		LDA	R7
		AND	#MD
		BNE	D4PLSDW_250	; 上に床がある　？
;					; No !!
		LDA	<EWORK4
		STA	R8		; ＢＧチェックＸ座標セット
		LDA	<EWORK6
		CLC
		ADC	#00020H
		STA	R0		; ＢＧチェックＹ座標セット
		M_CHIPR M_BGUNIT_READ
;
		LDX	<ENINDX
		LDA	R7
		AND	#MD
		BEQ	D4PLSDW_300	; 上に床がある　？
;					; Yes !!
D4PLSDW_250	EQU	$
		LDA	#0FA80H
		STA	ENYSPD,X	; ジャンプスピードセット
		LDA	#00038H
		JSL	>SOUND_3_ON	; [♪]
		STZ	ENXSPD,X
		RTS
;
D4PLSDW_300	EQU	$
		LDY	ENWRK8,X
		LDA	ENXPSL,X
		CLC
		ADC	!M4BGXPS,Y
		CLC
		ADC	#00008
		STA	R8		; ＢＧチェックＸ座標セット
		LDA	ENYPSL,X
		STA	R0		; ＢＧチェックＹ座標セット
		M_CHIPR M_BGUNIT_READ
;
		LDX	<ENINDX
		LDA	R5
		BEQ	D4PLSDW_350	; 横にドラム缶がある　？
;					; Yes !!
		LDA	#0FC00H
		STA	ENYSPD,X	; ジャンプスピードセット
		LDA	#00038H
		JSL	>SOUND_3_ON	; [♪]
;
D4PLSDW_350	EQU	$
		RTS
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	D4PLSON ( プレイヤーと同じ高さにいる時の処理 )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
D4PLSON		EQU	$
		LDA	ENTIM0,X
		BNE	D4PLSON_050	; 止まっている　？
;					; No !!
		LDY	ENWRK8,X
		LDA	ENCBFG,X
		AND	!BITDATA,Y
		BNE	D4PLSON_030	; 横にドラム缶がある　？
;					; No !!
		LDA	!PLSHXSP,Y
		STA	ENXSPD,X	; Ｘスピードセット
;
D4PLSON_030	EQU	$
		LDA	ENCBFG,X
		LSR	A
		BCC	D4PLSON_050	; ジャンプ中　？
;					; No !!
		LDA	ENXPSL,X
		CLC
		ADC	!M4BGXPS,Y
		CLC
		ADC	#00008
		STA	R8		; ＢＧチェックＸ座標セット
		LDA	ENYPSL,X
		STA	R0		; ＢＧチェックＹ座標セット
		M_CHIPR M_BGUNIT_READ
;
		LDX	<ENINDX
		LDA	R5
		BEQ	D4PLSON_100	; 横にドラム缶がある　？
;					; Yes !!
		LDA	#0FC00H
		STA	ENYSPD,X	; ジャンプスピードセット
		LDA	#00038H
		JSL	>SOUND_3_ON	; [♪]
;
D4PLSON_050	EQU	$
		RTS
;
D4PLSON_100	EQU	$
		LDA	ENYPSL,X
		SEC
		SBC	PLYPSL
		CLC
		ADC	#00010H
		CMP	#00031H
		BCS	D4PLSON_250	; Ｙ射程距離内　？
;					; Yes !!
		LDA	PLFLSH
		BNE	D4PLSON_050	; プレイヤーやられている　？
;					; No !!
		STZ	ENYSPD,X	; ジャンプスピードクリアー
		LDA	PLXPSL
		SEC
		SBC	ENXPSL,X
		CLC
		ADC	#00060H
		CMP	#000C1H
		BCS	D4PLSON_050	; Ｘ射程距離内　？
;					; Yes !!
		STZ	ENXSPD,X	; Ｘスピードクリアー
		LDA	<EWORK2
		BEQ	D4PLSON_300	; 泥棒君隠れている　？
;					; Yes !!
		INC	<ENWRK0,X	; 泥棒君ムーブモードセット
		LDY	#002
		LDA	PLXPSL
		CMP	ENXPSL,X
		BCS	D4PLSON_150	; プレイヤー右方向　？
;					; No !!
		LDY	#000
;
D4PLSON_150	EQU	$
		TYA
		STA	ENMUKI,X	; 泥棒君向きセット
		LDA	#00030
		STA	ENTIM0,X	; 泥棒君吐くパターンタイマーセット
;
SHOTINT		EQU	$
		STZ	ENCHPT,X	; 泥棒君吐くパターンＮｏ．セット
		LDA	ENYPSL,X
		CLC
		ADC	#00002H
		STA	ENWRKA,X	; 炎＆種イニシャルＸ座標セット
		LDY	#000
		LDA	DRBEAT
		CMP	#FIRE0
		BEQ	D4PLSON_200	; 炎を吐く　？
;					; No !!
		LDY	#004
;
D4PLSON_200	EQU	$
		TYA
		ORA	ENMUKI,X
		TAY
		LDA	ENXPSL,X
		CLC
		ADC	!HONOOPS,Y
		STA	ENWRKC,X	; 炎＆種イニシャルＹ座標セット
		LDA	!NEXTPOS,Y
		STA	ENWRK8,X	; 座標カウントデーターセット
		LDA	#00030H
		STA	ENCLOR,X	; 泥棒君プライオリティーセット
		LDY	#006
		STY	HAKCNT		; ショットカウンターセット
		LDA	#00001
		STA	DRSHOT		; 泥棒君ショットフラグセット
		STZ	ENWRK6,X
		RTS
;
D4PLSON_250	EQU	$
		STZ	ENWRK6,X
		STZ	ENYSPD,X
		STZ	ENXSPD,X
		RTS
;
D4PLSON_300	EQU	$
		LDY	PLCMKI
		LDA	!PLSHXSP,Y
		STA	ENXSPD,X	; Ｘスピードセット
		LDA	<RANDM0
		TAY
		CPY	#0F8H
		BCC	D4PLSON_350	; 止まる　？
;					; Yes !!
		TYA
		AND	#0003FH
		STA	ENTIM0,X	; 止まっている時間セット
		STZ	ENXSPD,X	; Ｘスピードクリアー
;
D4PLSON_350	EQU	$
		RTS
;
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;;x		JSR	D4PLSMV ( 泥棒君プレイヤーサーチ処理 )		x
;;;;;;;;;x									x
;;;;;;;;;x		initial ENWRK4 <-- 西瓜の種類				x
;;;;;;;;;x									x
;;;;;;;;;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;;;;;;;;HONOOPS		EQU	$
;;;;;;;;		WORD	0FFE5H,00012H,0FFF7H,0000EH
;;;;;;;;;
;;;;;;;;NEXTPOS		EQU	$
;;;;;;;;		WORD	0FFF0H,00010H,00000H,00000H
;;;;;;;;;
;;;;;;;;BITDATA		EQU	$
;;;;;;;;		WORD	0000000000001000B,0000000000000100B
;;;;;;;;;
;;;;;;;;;
;;;;;;;;D4PLSMV		EQU	$
;;;;;;;;		LDA	<EWORK2
;;;;;;;;		BEQ	D4PLSMV_200	; 泥棒君隠れている　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	PLXPSL
;;;;;;;;		SEC
;;;;;;;;		SBC	ENXPSL,X
;;;;;;;;		CLC
;;;;;;;;		ADC	#00050H
;;;;;;;;		CMP	#000A1H
;;;;;;;;		BCS	D4PLSMV_200	; Ｘ射程距離内　？
;;;;;;;;;					; Yes !!
;;;;;;;;		STZ	ENXSPD,X
;;;;;;;;;
;;;;;;;;		LDA	PLYPSL
;;;;;;;;		SEC
;;;;;;;;		SBC	ENYPSL,X
;;;;;;;;		CLC
;;;;;;;;		ADC	#00010H
;;;;;;;;		CMP	#00021H
;;;;;;;;		BCS	D4PLSMV_200	; Ｙ射程距離内　？
;;;;;;;;;					; Yes !!
;;;;;;;;		STZ	ENXSPD,X
;;;;;;;;		INC	<ENWRK0,X
;;;;;;;;		LDY	#002
;;;;;;;;		LDA	PLXPSL
;;;;;;;;		CMP	ENXPSL,X
;;;;;;;;		BCS	D4PLSMV_050	; プレイヤー右方向　？
;;;;;;;;;					; No !!
;;;;;;;;		LDY	#000
;;;;;;;;;
;;;;;;;;D4PLSMV_050	EQU	$
;;;;;;;;		TYA
;;;;;;;;		STA	ENMUKI,X	; 泥棒君向きセット
;;;;;;;;		STZ	ENCHPT,X	; 泥棒君吐くパターンＮｏ．セット
;;;;;;;;		LDA	#00004H
;;;;;;;;		STA	ENTIM0,X	; 泥棒君吐くパターンタイマーセット
;;;;;;;;		LDA	ENYPSL,X
;;;;;;;;		CLC
;;;;;;;;		ADC	#00002H
;;;;;;;;		STA	ENWRKA,X	; 炎＆種イニシャルＸ座標セット
;;;;;;;;		LDY	#000
;;;;;;;;		LDA	DRBEAT
;;;;;;;;		CMP	#FIRE0
;;;;;;;;		BEQ	D4PLSMV_100	; 炎を吐く　？
;;;;;;;;;					; No !!
;;;;;;;;		LDY	#004
;;;;;;;;;
;;;;;;;;D4PLSMV_100	EQU	$
;;;;;;;;		TYA
;;;;;;;;		ORA	ENMUKI,X
;;;;;;;;		TAY
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		CLC
;;;;;;;;		ADC	!HONOOPS,Y
;;;;;;;;		STA	ENWRKC,X	; 炎＆種イニシャルＹ座標セット
;;;;;;;;		LDA	!NEXTPOS,Y
;;;;;;;;		STA	ENWRK8,X	; 座標カウントデーターセット
;;;;;;;;		LDA	#00030H
;;;;;;;;		STA	ENCLOR,X	; 泥棒君プライオリティーセット
;;;;;;;;		LDY	#006
;;;;;;;;		STY	HAKCNT
;;;;;;;;		LDA	#00001
;;;;;;;;		STA	DRSHOT
;;;;;;;;;
;;;;;;;;D4PLSMV_150	EQU	$
;;;;;;;;		RTS
;;;;;;;;;
;;;;;;;;D4PLSMV_200	EQU	$
;;;;;;;;		LDA	PLXPSL
;;;;;;;;		STA	R1		; 目標Ｘ座標セット
;;;;;;;;		LDA	PLYPSL
;;;;;;;;		STA	R2		; 目標Ｙ座標セット
;;;;;;;;		LDA	ENXPSL,X
;;;;;;;;		STA	R3		; 現在Ｘ座標セット
;;;;;;;;		LDA	ENYPSL,X
;;;;;;;;		STA	R4		; 現在Ｙ座標セット
;;;;;;;;		LDA	#00200H
;;;;;;;;		STA	R6		; 移動スピードセット
;;;;;;;;;
;;;;;;;;		M_CHIP	SEARCH_SPEED
;;;;;;;;;
;;;;;;;;		LDX	<ENINDX
;;;;;;;;		LDY	#002
;;;;;;;;		LDA	R1
;;;;;;;;		STA	ENXSPD,X
;;;;;;;;		BEQ	D4PLSMV_300
;;;;;;;;		BPL	D4PLSMV_250
;;;;;;;;;
;;;;;;;;		LDY	#000
;;;;;;;;;
;;;;;;;;D4PLSMV_250	EQU	$
;;;;;;;;		LDA	ENCBFG,X
;;;;;;;;		LSR	A
;;;;;;;;		BCC	D4PLSMV_350	; 泥棒君ジャンプ中　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	ENCBFG,X
;;;;;;;;		AND	!BITDATA,Y
;;;;;;;;		BEQ	D4PLSMV_300	; 横当たっている　？
;;;;;;;;;					; Yes !!
;;;;;;;;		LDA	#0FC00H
;;;;;;;;		STA	ENYSPD,X	; イニシャルジャンプスピードセット
;;;;;;;;		BRA	D4PLSMV_350
;;;;;;;;;
;;;;;;;;D4PLSMV_300	EQU	$
;;;;;;;;		LDA	R2
;;;;;;;;		BPL	D4PLSMV_350	; プレイヤー下にいる　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	ENYPSL,X
;;;;;;;;		SEC
;;;;;;;;		SBC	PLYPSL
;;;;;;;;		CMP	#00020H
;;;;;;;;		BCC	D4PLSMV_350	; プレイヤーとほぼ同じ位置　？
;;;;;;;;;					; No !!
;;;;;;;;		LDA	#0FA80H
;;;;;;;;		STA	ENYSPD,X	; イニシャルジャンプスピードセット
;;;;;;;;;
;;;;;;;;D4PLSMV_350	EQU	$
;;;;;;;;		TYA
;;;;;;;;		STA	ENMUKI,X	; 泥棒君向きセット
;;;;;;;;		RTS
;;;;;;;;;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	D4FIAMV ( 泥棒君炎を吐く処理 )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
D4FIAMV		EQU	$
		LDA	ENTIM0,X
		BNE	D4FIAMV_050	; 吐き出す　？
;					; Yes !!
		LDA	HAKCNT
		BNE	D4FIAMV_100	; 吐き出す物がある　？
;					; No !!
		LDA	#D4PS
		DEC	DRBCNT
		BNE	D4FIAMV_030	; 口の中にまだある　？
;					; No !!
		STZ	DRBEAT
		LDA	#00000
;
D4FIAMV_030	EQU	$
		STA	<ENWRK0,X
		STZ	DRPUSE
		LDY	#000
		LDA	!PAUSED0,Y
		STA	<ENCONT,X
		LDA	!DR4WLKD,Y
		STA	ENCHPT,X	; パターンＮｏ．セット
		LDA	!DR4TIME,Y
		STA	ENTIM1,X	; パターンタイマーセット
		LDA	#00020H
		STA	ENCLOR,X	; 泥棒君プライオリティーセット
		STZ	DRSHOT
;
D4FIAMV_050	EQU	$
		RTS
;
D4FIAMV_100	EQU	$
		LDA	#00001
		STA	ENCHPT,X
		LDA	DRBEAT
		CMP	#SUIKA
		BNE	D4FIAMV_200	; 西瓜の種　？
;					; Yes !!
		LDY	ENMUKI,X
		LDA	ENYPSL,X
		CLC
		ADC	#00002
		STA	ENWRKA,X
		LDA	ENXPSL,X
		CLC
		ADC	!HONOOPS+4,Y
		STA	ENWRKC,X
		LDA	#00006
		STA	ENTIM0,X	; 次に出すタイマーセット
		LDA	#SUIKT
		JSL	>ENINSR_I
		BCC	D4FIAMV_190	; 種セットする　？
;					; Yes !!
		LDA	ENWRKA,X
		STA	ENYPSL,Y	; 種Ｙ座標セット
		LDA	ENWRKC,X
		STA	ENXPSL,Y	; 種Ｘ座標セット
		LDA	#00001
		STA	ENSHOT,Y	; ショットフラグセット
		STA	ENWRK8,Y	; 敵から打ったフラグ”ＯＮ”
		LDA	ENMUKI,X
		STA	ENMUKI,Y	; 種向きセット
		TAX
		LDA	#0FC00H
		CPX	#000
		BEQ	D4FIAMV_150	; 右向き　？
;					; Yes !!
		LDA	#00400H
;
D4FIAMV_150	EQU	$
		STA	ENXSPD,Y	; 種Ｘスピードセット
		LDA	#00045H
		JSL	>SOUND_3_ON	; [♪]
		LDX	<ENINDX
;
D4FIAMV_190	EQU	$
		BRA	D4FIAMV_300
;
D4FIAMV_200	EQU	$
		LDA	#FIREX
		JSL	>ENINSR_I
		BCC	D4FIAMV_300	; 炎セットする　？
;					; Yes !!
		LDA	ENWRKA,X
		STA	ENYPSL,Y	; 炎Ｙ座標セット
		LDA	ENWRKC,X
		STA	ENXPSL,Y	; 炎Ｘ座標セット
		LDA	#00001
		STA	ENWRK8,Y	; 敵から打ったフラグ”ＯＮ”
		LDA	ENMUKI,X
		STA	ENMUKI,Y	; 炎向きセット
		LDA	#00004*4
		STA	ENTIM0,Y	; 炎の消えるタイマーセット
		LDA	ENCLOR,Y
		AND	#000F1H
		ORA	#00006H
		STA	ENCLOR,Y	; 炎のカラーセット
;
		M8			; memory 8 bit mode !!
;
		LDA	#029H
		STA	ENCHRB,Y	; キャラクターＮｏ．バンクセット
;
		M16			; memory 16 bit mode !!
;
;;;;;;;;		LDA	#0001AH
;;;;;;;;		STA	SOUND0		; [♪]
		LDA	#00002
		STA	ENTIM0,X	; 次に出すタイマーセット
		LDA	ENWRKC,X
		STA	R8		; ＢＧチェックＸ座標セット
		LDA	ENWRKA,X
;;;;;;;;		CLC
;;;;;;;;		ADC	#00008H
		STA	R0		; ＢＧチェックＹ座標セット
		M_CHIPR M_BGUNIT_READ
		LDX	<ENINDX
		LDA	R5
		BEQ	D4FIAMV_250	; ＢＧとあたっている　？
;					; Yes !!
		STZ	HAKCNT		; 吐き出すカウントクリアー
		RTS
;
D4FIAMV_250	EQU	$
		LDA	ENWRKC,X
		CLC
		ADC	ENWRK8,X
		STA	ENWRKC,X	; 次に出すＸ座標セット
;
D4FIAMV_300	EQU	$
		DEC	HAKCNT		; 吐き出すカウントダウン
		RTS
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	D4YARMV ( 泥棒君やられ処理 )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
D4YARMV		EQU	$
		LDA	ENCBFG,X
		LSR	A
		BCC	D4YARMV_150	; ジャンプ中　？
;					; Yes !!
		LDA	ENTIM3,X
		BNE	D4YARMV_050	; タイマーイニシャル　？
;					; Yes !!
		STZ	ENXSPD,X
		LDA	#00020H
		STA	ENTIM3,X	; タイマーセット
;
D4YARMV_050	EQU	$
		AND	#00008
		LSR	A
		LSR	A
		LSR	A
		ORA	#00008
		STA	ENCHPT,X	; パターンＮｏ．セット
		LDA	ENTIM3,X
		CMP	#00001
		BNE	D4YARMV_150	; やられ処理終わり　？
;					; Yes !!
		STZ	<ENWRK0,X
		LDA	#00002
		STA	ENCHPT,X	; 歩くパターンＮｏ．セット
		LDA	DRSHOT
		BEQ	D4YARMV_150	; 泥棒君吐いている　？
;					; Yes !!
		LDA	HAKCNT
		BEQ	D4YARMV_100	; 残り玉がある　？
;					; Yes !!
		CMP	#00006
		BEQ	D4YARMV_090
;
		LDA	DRBEAT
		CMP	#FIRE0
		BEQ	D4YARMV_100	; 炎を吐いている　？
;					; No !!
D4YARMV_090	EQU	$
		LDA	#D4FI
		STA	<ENWRK0,X
		LDA	#00030H
		STA	ENCLOR,X	; 泥棒君プライオリティーセット
		LDA	#00001
		STA	ENCHPT,X	; パターンＮｏ．セット
		RTS
;
D4YARMV_100	EQU	$
		STZ	DRSHOT
		LDA	DRBCNT
		BEQ	D4YARMV_150	; 吐く回数残っている　？
;					; Yes !!
		DEC	DRBCNT
		BNE	D4YARMV_150	; 吐く回数　０　？
;					; Yes !!
		STZ	DRBEAT
;
D4YARMV_150	EQU	$
		RTS
;
;
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_SUIIN		( ミニゲーム西瓜出現イニシャル )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_SUIIN		EQU	$
		LDY	2137H
		LDY	213FH
		LDA	213CH
		CLC
		ADC	<RANDM0
		STA	<RANDM0
		AND	#000FFH
		STA	ENTIM0,X
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_SU0MV		( ミニゲーム西瓜出現ムーブ )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_SUIMV		EQU	$
		LDA	<ENWRK0,X
		ASL	A
		TAY
		LDA	!M_SUIMV_ADR,Y
		STA	<EWORK0
		JMP	(EWORK0)
;
;
M_SUIMV_ADR	EQU	$
		WORD	SYOTCHK		; 西瓜出現チェック処理
		WORD	SUIKMOV		; 西瓜出現処理
		WORD	SUIKCHK		; 西瓜無くなったチェック処理
;
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	SYOTCHK ( 西瓜出現チェック処理 )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SUIKADT		EQU	$
		WORD	SUIKA,SUIKA,FIRE0,SUIKA,SUIKA,FIRE0,SUIKA,SUIKA
;
;
SYOTCHK		EQU	$
		LDA	ENTIM0,X
		BNE	SYOTCHK_100	; 西瓜出現　？
;					; Yes !!
		LDA	SUIKCT
		CMP	#00002
		BEQ	SYOTCHK_050	; 西瓜２つ出ている　？
;					; No !!
		INC	TANECT
		LDA	RANDM0
;;;;;;;;		AND	#0000EH
		AND	#00007H
		ASL	A
		TAY
		LDA	!SUIKADT,Y
		TAY
		CMP	#SUIKA
		BEQ	SYOTCHK_030	; 西瓜の種の方　？
;					; No !!
		LDA	TANECT
		CMP	#00004
		BCC	SYOTCHK_020	; 西瓜の炎を出現させる　？
;					; Yes !!
		STZ	TANECT
		BRA	SYOTCHK_030
;
SYOTCHK_020	EQU	$
		LDY	#SUIKA
;
SYOTCHK_030	EQU	$
		TYA
		JSL	>ENINSR		; 西瓜セット
;
		LDA	ENMOD0,Y
		AND	#1111100111111111B
		ORA	#0000001000000000B
		STA	ENMOD0,Y
		LDA	ENXPSL,X
		STA	ENXPSL,Y	; 西瓜イニシャルＸ座標セット
		LDA	ENYPSL,X
		STA	ENYPSL,Y	; 西瓜イニシャルＹ座標セット
		TYA
		STA	<ENWRK2,X	; 西瓜インデックスＮｏ．セット
		LDA	#00010H
		STA	<ENCONT,X	; 西瓜移動タイマーセット
		INC	SUIKCT		; 西瓜カウンターインク
		INC	<ENWRK0,X
;
SYOTCHK_050	EQU	$
		LDA	#00100H
		STA	ENTIM0,X	; 西瓜出現タイマーセット
;
SYOTCHK_100	EQU	$
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	SUIKMOV ( 西瓜出現処理 )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SUIKMOV		EQU	$
		LDY	<ENWRK2,X
		LDA	ENYPSL,Y
		DEC	A
		STA	ENYPSL,Y
		DEC	<ENCONT,X
		BNE	SUIKMOV_050	; 西瓜移動終わり　？
;					; Yes !!
		INC	<ENWRK0,X
;
SUIKMOV_050	EQU	$
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	SUIKCHK ( 西瓜無くなったチェック処理 )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
SUIKCHK		EQU	$
		LDY	<ENWRK2,X
		LDA	ENMODE,Y
		BNE	SUIKCHK_050	; 西瓜ある　？
;					; No !!
		STZ	<ENWRK0,X
		LDA	#00100H
		STA	ENTIM0,X	; 西瓜出現タイマーセット
		DEC	SUIKCT
;
SUIKCHK_050	EQU	$
		RTL
;
;
;
;========================================================================
		MEM8
		IDX8
;
		DPAGE	WORK0
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		MINIINT1_7	( ミニゲーム火吐きイニシャルセット )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MINIINT1_7	EQU	$
;-------------- スクロール値 クリア -----------------------------
		M16			; memory 16 bit mode !!
;
		STZ	<SCCH1
		STZ	<SCCV1
		STZ	<SCCH2
		STZ	<SCCV2
		STZ	<SCCH3
		STZ	<SCCV3
;
		LDY	#069H
		STY	!BG1SCF
		STY	2107H
		LDY	#039H
		STY	!BG2SCF
		STY	2108H
		LDY	#009H
		STY	BGMODE
		STY	2105H
		LDY	#000
		STY	HD420C
		STY	SUBADF
;
;-------------- ゲーム イニシャル -----------------------------------
		M16			; memory 16 bit mode !!
;
		LDA	#000B0H
		STA	PLYPSL		; player Y initial set !!
		LDA	#00030H
		STA	PLXPSL		; player X initial set !!
		STZ	UNBUFAD
		STA	TIMER
		STZ	MISS_P		; ミスポイントクリアー
;
		LDA	#00008H
		STA	PLLIFE		; プレイヤー　ライフメーターセット
		STA	ENLIFE		; 泥棒君　ライフメーターセット
		LDA	#00001H
		STA	MN2PLY		; 二人プレイフラグセット
		LDA	#0FFFFH
		STA	OBJCHR_BNK
		STA	OBJCHR_BNK+2
		STA	OBJCHR_BNK+4
		STZ	UNBUFAD
;
		LDA	#MINICORS01
		STA	<BGDTADR
		LDA	#00001
		STA	BG1TYP
;
		LDA	#M_DR5
		JSL	>ENINSR_I
;
		LDA	#M_SUI
		JSL	>ENINSR_I
		LDA	#00030H
		STA	ENXPSL,Y
		LDA	#00050H
		STA	ENYPSL,Y
		LDA	#M_SUI
		JSL	>ENINSR_I
		LDA	#000B0H
		STA	ENXPSL,Y
		LDA	#00040H
		STA	ENYPSL,Y
		LDA	#M_SUI
		JSL	>ENINSR_I
		LDA	#00020H
		STA	ENXPSL,Y
		LDA	#00090H
		STA	ENYPSL,Y
		LDA	#M_SUI
		JSL	>ENINSR_I
		LDA	#000A0H
		STA	ENXPSL,Y
		LDA	#00080H
		STA	ENYPSL,Y
		LDA	#M_SUI
		JSL	>ENINSR_I
		LDA	#00090H
		STA	ENXPSL,Y
		LDA	#000C0H
		STA	ENYPSL,Y
		LDA	#M_SUI
		JSL	>ENINSR_I
		LDA	#000E0H
		STA	ENXPSL,Y
		LDA	#000C0H
		STA	ENYPSL,Y
;
		JSL	>ENEMY_IN
;
		MEM8
		IDX8
;
		LDA	#BANK MINICORS01
		STA	<BGDTADR+2
		JSL	>UNITST_SUB
;
		RTS
;
;
;****************************************************************
;*								*
;*		ミニ ゲーム					*
;*								*
;****************************************************************
MINIMOV1_7	EQU	$
		JSL	>OAMDXCLR	; OAM clear sub !!
		LDA	#00030H
		STA	PLPRIO		; プレイヤープライオリティーセット
		JSL	>ENCSET_DM	; enemy char set sub !!
		JSL	>PLCSET		; player char set sub !!
;
		STZ	SPECIAL_P
;
		LDA	PLLIFE
		BEQ	MINIMOV1_7_050	; プレイヤーの負け　？
;					; No !!
		LDA	ENLIFE
		BNE	MINIMOV1_7_200	; 泥棒君の負け　？
;					; Yes !!
MINIMOV1_7_050	EQU	$
;;;;;;;;		M16			; memory 16 bit mode !!
;;;;;;;;;
;;;;;;;;		DEC	ENDTIM
;;;;;;;;		BNE	MINIMOV1_7_250	; 勝敗文字終了　？
;;;;;;;;;					; Yes !!
;;;;K;;;;		LDY	#MINIT
;;;;K;;;;		INC	MINIMD
;;;;K;;;;		LDA	MINIMD
;;;;K;;;;		CMP	#003
;;;;K;;;;		BNE	MINIMOV1_7_150	; ミニゲーム　３回終わった　？
;;;;;;;;;					; Yes !!
;;;;;;;;		JSL	>BACK_GAME
		LDA	#001H
		STA	ITGTFG
		JSR	MIN2PWN_END
		BRA	MINIMOV1_7_250
;;;;K;;;;		LDY	#HMPIN
;
MINIMOV1_7_150	EQU	$
;;;;K;;;;		STY	MODENO		; メインモードセット
;;;;K;;;;		BRA	MINIMOV1_7_250
;
		MEM8
MINIMOV1_7_200	EQU	$
		JSL	>PLAYER		; player move sub !!
;
		LDA	!MSGMOD
		BNE	MINIMOV1_7_250
		JSL	>ENEMY_IN	; enemy move sub !!
		JSR	METERS3		; メーターセットルーチン
;
MINIMOV1_7_250	EQU	$
		M16			; memory 16 bit mode !!
;
		M_CHIP	DX_OAM		; SOAM_DX => OAM convert
;
		M8			; memory 8 bit mode !!
;
		RTS
;
;
;
;------------------------------------------------------------------------
		MEM16
		IDX8
;
		DPAGE	EN0RAM
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_DR5IN		( 泥棒訓　炎でボッ　イニシャル )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_DR5IN		EQU	$
		LDA	#000C0H
		STA	ENYPSL,X	; 泥棒君Ｙ座標イニシャルセット
		LDA	#000C0H
		STA	ENXPSL,X	; 泥棒君ｘ座標イニシャルセット
		LDA	#00004H
		STA	ENTIM0,X	; 泥棒君パターンタイマーセット
		LDA	#00030H
		STA	ENCLOR,X	; プライオリティーセット
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_DR5MV		( 泥棒訓　炎でボッ　ムーブ )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
XSPDATA		EQU	$
		WORD	0FFF0H,00010H,0FF00H,00100H
;
XSPDGEN		EQU	$
		WORD	00040H,0FFC0H
;
XSPDMXD		EQU	$
		WORD	0FDC0H,00240H,0FDC0H,00240H
;
XPOSDAT		EQU	$
		WORD	00010H,000E0H,00010H,000E0H
;
CHAKUPT		EQU	$-4
		WORD	00011H,00012H
;
;
M_DR5MV		EQU	$
		LDA	ENMODE,X
		CMP	#EMOVE
		BNE	M_DR5MV_100	; 泥棒君燃えている　？
;					; No !!
		LDY	ECRSFG,X
		BEQ	M_DR5MV_200	; 衝突した　？( no:M_DR4MV_050 )
		BMI	M_DR5MV_200	; プレイヤーと衝突した　？
;					; No !!
		DEY
		LDA	ENTIM2,X
		BNE	M_DR5MV_200	; 泥棒君やられている　？
;					; No !!
		LDA	ENMYNO,Y
		CMP	#SUIKT
		BNE	M_DR5MV_200	; 当たった敵は西瓜の種　？
;					; Yes !!
		LDA	ENWRK8,Y
		BNE	M_DR5MV_200	; 西瓜の種はプレイヤーが吐いた　？
;					; Yes !!
		TYX
		JSL	>SHOT_EN_KILL
		BRA	M_DR5MV_150
;
M_DR5MV_100	EQU	$
		PLA
		PLY
		LDA	#EMOVE
		STA	ENMODE,X	; 泥棒君ムーブモードセット
		LDA	ENTIM2,X
		BNE	M_DR5MV_200	; 泥棒君やられている　？
;					; No !!
		LDA	ENLIFE
		BEQ	M_DR5MV_150	; 泥棒君ライフメーター”０”　？
;					; No !!
		DEC	ENLIFE
		DEC	ENLIFE
;
M_DR5MV_150	EQU	$
		LDA	#0FD00H
		STA	ENYSPD,X	; Ｙスピードセット
		LDA	#00080H
		STA	ENTIM2,X	; 泥棒君やられタイマーセット
		LDA	#00075H
		JSL	>SOUND_3_ON	; [♪]
		LDA	ENLIFE
		BEQ	M_DR5MV_200	; 泥棒君ライフメーター”０”　？
;					; No !!
		DEC	ENLIFE
		DEC	ENLIFE
;
M_DR5MV_200	EQU	$
		LDA	#0000000000010000B
		LDY	ENTIM2,X
		BEQ	M_DR5MV_210
;
		LDA	#0000000000000000B
;
M_DR5MV_210	EQU	$
		STA	<EWORK0
;
		LDA	ENMOD2,X
		AND	#1111111111101111B
		ORA	<EWORK0
		STA	ENMOD2,X
;
;;;;;;;;		LDA	ENLIFE
;;;;;;;;		BEQ	M_DR5MV_210
;;;;;;;;;
;;;;;;;;		LDA	ENMOD1,X
;;;;;;;;		ORA	#00001H
;;;;;;;;		STA	ENMOD1,X
;;;;;;;;;
;;;;;;;;M_DR5MV_210	EQU	$
		M8			; memory 8 bit mode !!
;
		LDY	#004
		LDA	ENTIM2,X
		AND	#004
		BEQ	M_DR5MV_220	; 泥棒君フラッシング　？
;					; Yes !!
		LDY	#0FFH
;
M_DR5MV_220	EQU	$
		TYA
		STA	ENYUSN,X	; 泥棒君優先順位セット
;
		M16			; memory 16 bit mode !!
;
		LDY	ENMUKI,X
		BNE	M_DR5MV_250	; 左向き　？
;					; Yes !!
		LDA	ENDSXL,X
		CMP	#00010H
		BCS	SUIKCRS		; 画面左端オーバー　？
;					; Yes !!
		LDA	#00010H
		SEC
		SBC	ENDSXL,X
		CLC
		ADC	ENXPSL,X
		STA	ENXPSL,X	; Ｘ座標補正
		BRA	M_DR5MV_300
;
M_DR5MV_250	EQU	$
		LDA	ENDSXL,X
		SEC
		SBC	#000E0H
		BMI	SUIKCRS		; 画面右端オーバー　？
;					; Yes !!
		STA	<EWORK0
		LDA	ENXPSL,X
		SEC
		SBC	<EWORK0
		STA	ENXPSL,X	; Ｘ座標補正
;
M_DR5MV_300	EQU	$
		STZ	ENXSPD,X
;;;;;;;;		JMP	M_DR5MV_550
;
;-------------- 西瓜との衝突チェック --------------
SUIKCRS		EQU	$
		LDA	DRBEAT
		BNE	SHOTMOV		; 口の中に入っている　？
;					; No !!
		LDY	ECRSFG,X
		BEQ	FYSEMOV		; 何も衝突していない　？ ( Yes:M_DR5MV_350 )
		BMI	FYSEMOV		; プレイヤーと衝突している　？
;					; No !!
		DEY
		LDA	ENMODE,Y
		CMP	#EMOVE
		BNE	SHOTMOV		; 通常処理　？
;					; Yes !!
		LDA	ENMYNO,Y
		CMP	#SUIKA
		BEQ	SUIKCRS_050	; 種の西瓜　？
;					; No !!
		CMP	#FIRE0
		BNE	FYSEMOV		; 炎の西瓜　？
;					; Yes !!
SUIKCRS_050	EQU	$
		STA	DRBEAT		; 西瓜Ｎｏ．セット
		LDA	#00003
		STA	DRBCNT
		TYX
		JSL	>ENCLEAR	; 西瓜クリアー
;
;-------------- 炎＆種ショット処理 --------------
SHOTMOV		EQU	$
		LDA	DRSHOT
		BNE	SHOTMOV_050	; 泥棒君何か吐いている　？
;					; No !!
		LDA	KEYB2-1
		ASL	A
		BPL	FYSEMOV		; Ｙボタン押した　？
;					; Yes !!
		JSR	SHOTINT		; ショットイニシャルセット
;
SHOTMOV_050	EQU	$
		JSR	D4FIAMV		; ショットムーブ
		LDA	#00030H
		STA	ENCLOR,X	; プライオリティーセット
		BRA	DR5JUMP
;
;-------------- 伏せているかチェック --------------
FYSEMOV		EQU	$
		LDA	DRJUMP
		BNE	DR5JUMP		; ジャンプ中　？
;					; No !!
		LDA	KEYB1
		AND	#00004H
		BEQ	DR5JUMP		; 下キーを押している　？
;					; Yes !!
		LDA	DRFUSE
		BNE	FYSEMOV_050	; 伏せているか　？
;					; No !!
		LDA	#00004
		STA	EWIDEY,X	; Ｙチェック幅セット
		STA	DRFUSE		; 伏せフラグセット
;
FYSEMOV_050	EQU	$
		JMP	M_DR5MV_600
;
;-------------- ジャンプのイニシャル＆スピードセット --------------
DR5JUMP		EQU	$
		LDA	#00006
		STA	EWIDEY,X	; Ｙチェック幅セット
		STZ	DRFUSE		; 伏せフラグクリアー
		LDY	#000C0H
		LDA	KEYB1-1
		BPL	DR5JUMP_050	; Ｂボタンを押している　？
;					; Yes !!
		LDY	#00020H
		LDA	DRJUMP
		BNE	DR5JUMP_050	; 泥棒君ジャンプ中　？
;					; No !!
		LDA	ENCBFG,X
		LSR	A
		BCC	DR5JUMP_050	; 地面についている　？
;					; Yes !!
		LDA	KEYB2-1
		BPL	DR5JUMP_050	; Ｂボタンを押した　？
;					; Yes !!
		LDA	#0FC00H
		STA	ENYSPD,X	; ジャンプスピードセット
		PHY
		LDA	#00038H
		JSL	>SOUND_3_ON	; [♪]
		PLY
		LDA	#00001
		STA	DRJUMP		; 泥棒君ジャンプフラグセット
		STA	ENTIM0,X
;
DR5JUMP_050	EQU	$
		TYA
		STA	ENGPOW,X	; 重力加算データーセット
;
;-------------- Ｘスピードセット --------------
DR5XSPD		EQU	$
		LDA	KEYB1
		AND	#00003H
		BEQ	M_DR5MV_600	; 左右キー入っている　？
;					; Yes !!
		AND	#00001
		ASL	A
		TAY
		EOR	ENMUKI,X
		BEQ	DR5XSPD_100	; 同じ方向にキーを入れている　？
;					; No !!
		LDA	ENXSPD,X
		CPY	#002
		BEQ	DR5XSPD_050
;
		EOR	#0FFFFH
		INC	A
;
DR5XSPD_050	EQU	$
		CMP	#000C0H
		BPL	DR5XSPD_100	; Ｘスピード　０　？
;					; Yes !!
		TYA
		ORA	#00004
		TAY
;
DR5XSPD_100	EQU	$
		LDA	ENXPSL,X
		CMP	!XPOSDAT,Y
		BEQ	M_DR5MV_600	; 端っこ　？
;					; No !!
		LDA	ENXSPD,X
		CLC
		ADC	!XSPDATA,Y
		CMP	!XSPDMXD,Y
		BEQ	DR5XSPD_150	; Ｘスピードオーバー　？
;					; No !!
		STA	ENXSPD,X	; Ｘスピード加速
;
DR5XSPD_150	EQU	$
		LDY	#000
		LDA	ENXSPD,X
		BEQ	M_DR5MV_650
		BMI	DR5XSPD_200	; 左方向　？
;					; No !!
		LDY	#002
;
DR5XSPD_200	EQU	$
		TYA
		STA	ENMUKI,X	; 泥棒君向きセット
		BRA	M_DR5MV_650
;
;-------------- Ｘスピード減速セット --------------
M_DR5MV_600	EQU	$
		LDA	DRJUMP
		BNE	M_DR5MV_650	; 泥棒君ジャンプ中　？
;					; No !!
		LDY	ENMUKI,X
		LDA	ENXSPD,X
		BEQ	M_DR5MV_650	; Ｘスピード　０　？
;					; No !!
		CLC
		ADC	!XSPDGEN,Y
		STA	<EWORK0
		EOR	ENXSPD,X
		BPL	M_DR5MV_630	; Ｘスピード減速オーバー　？
;					; Yes !!
		STZ	<EWORK0
;
M_DR5MV_630	EQU	$
		LDA	<EWORK0
		STA	ENXSPD,X	; Ｘスピード減速
;
;-------------- パターンＮｏ．セット --------------
M_DR5MV_650	EQU	$
		LDA	DRSHOT
		BNE	M_DR5MV_END	; 泥棒君何か吐いている　？
;					; No !!
		LDA	DRJUMP
		BEQ	M_DR5MV_800	; 泥棒君ジャンプ中　？
;					; Yes !!
		LDA	ENCBFG,X
		LSR	A
		BCC	M_DR5MV_700	; 地面についてる　？
;					; Yes !!
		LDA	ENTIM0,X
		BNE	M_DR5MV_END	; パターンタイマー　０　？
;					; Yes !!
		LDY	#000
		LDA	DRJUMP
		INC	A
		AND	#00003H
		STA	DRJUMP
		BEQ	M_DR5MV_750	; 着地パターンＮｏ．セット終わり　？
;					; No !!
		ASL	A
		TAY
		LDA	!CHAKUPT,Y
		TAY
		BRA	M_DR5MV_900
;
M_DR5MV_700	EQU	$
		LDY	#0000EH
		LDA	ENYSPD,X
		CLC
		ADC	#00100H
		CMP	#00200H
		BCC	M_DR5MV_750	; ジャンプ頂上付近　？
;					; No !!
		LDY	#0000CH
		LDA	ENYSPD,X
		BMI	M_DR5MV_750	; ジャンプ上昇中　？
;					; No !!
		LDY	#00010H
;
M_DR5MV_750	EQU	$
		BRA	M_DR5MV_900
;
M_DR5MV_800	EQU	$
		LDA	DRFUSE
		BEQ	M_DR5MV_820	; 伏せている　？
;					; Yes !!
		LDY	#0001BH		; 伏せているパターンＮｏ．セット
		BRA	M_DR5MV_900
;
M_DR5MV_820	EQU	$
		LDY	#000
		LDA	ENXSPD,X
		BEQ	M_DR5MV_900	; 泥棒君歩いている　？
;					; Yes !!
		LDA	ENTIM0,X
		BNE	M_DR5MV_END	; パターンタイマー　０　？
;					; Yes !!
		LDA	#00004
		STA	ENTIM0,X	; パターンタイマーセット
		INC	<ENCONT,X
		LDA	<ENCONT,X
		ASL	A
		TAY
		CPY	#DR4FIRD-DR4WLKD
		BNE	M_DR5MV_850	; パターンポインターオーバー　？
;					; Yes !!
		LDY	#000
		STZ	<ENCONT,X	; パターンポインタークリアー
;
M_DR5MV_850	EQU	$
		LDA	!DR4WLKD,Y
		TAY
;
M_DR5MV_900	EQU	$
		TYA
		STA	ENCHPT,X	; パターンＮｏ．セット
;
M_DR5MV_END	EQU	$
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_ITMIN		( 獲得アイテムイニシャル )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

 IF  PAL  ;**** PAL 対応 [1995/08/02] *****************************
EG_M_ITM_CHRADR EQU	$		;[LNGG_SL]
		WORD	CHR88+0054H	;[0]
		WORD	CHRPAL3+2054H	;[1]
		WORD	CHRPAL3+2070H	;[2]
 ENDIF	  ;**** PAL 対応 [1995/08/02] *****************************

;
M_ITM_CHRADR	EQU	$-2		;[ENWRK0,X]
ITST10		WORD	CHR88+0070H	;[1] スター１０
ITST20		WORD	CHR88+2070H	;[2] スター２０
		WORD	CHR88+008CH	;[3] ＰＯＷブロック
ITTMGO		WORD	CHR88+0054H	;[4] タマゴ
		WORD	CHR88+00A8H	;[5] 虫眼鏡
ITHATE		WORD	CHR88+001CH	;[6] ？雲
ITKNM0		WORD	CHR88+208CH	;[7] 木のみ（緑）
ITKNM1		WORD	CHR88+208CH	;[8] 木のみ（青）
ITKNM2		WORD	CHR88+20A8H	;[9] 木のみ（赤）
;
IT1UP0		WORD	CHR88+2000H	;[A] １ＵＰ
		WORD	CHR88+201CH	;[B] ２ＵＰ
		WORD	CHR88+2038H	;[C] １０ＵＰ
;
;
ITST1		EQU	(ITST10-M_ITM_CHRADR)/2
ITST2		EQU	(ITST20-M_ITM_CHRADR)/2
ITTMG		EQU	(ITTMGO-M_ITM_CHRADR)/2
ITHAT		EQU	(ITHATE-M_ITM_CHRADR)/2
ITKN0		EQU	(ITKNM0-M_ITM_CHRADR)/2
ITKN1		EQU	(ITKNM1-M_ITM_CHRADR)/2
ITKN2		EQU	(ITKNM2-M_ITM_CHRADR)/2
IT1UP		EQU	(IT1UP0-M_ITM_CHRADR)/2
;
;
M_ITEM_COLDT	EQU	$-2
		WORD	COL_ADDRESS+MAP_AICON_COL
		WORD	COL_ADDRESS+BNS_ICN_COLSB
		WORD	COL_ADDRESS+MAP_AICON_COL
		WORD	COL_ADDRESS+MAP_AICON_COL
		WORD	COL_ADDRESS+MAP_AICON_COL
		WORD	COL_ADDRESS+MAP_AICON_COL
		WORD	COL_ADDRESS+MAP_AICON_COL+((1*0FH)*2)
		WORD	COL_ADDRESS+MAP_AICON_COL
		WORD	COL_ADDRESS+BNS_ICN_COLSB
;
		WORD	COL_ADDRESS+MAP_AICON_COL
		WORD	COL_ADDRESS+MAP_AICON_COL
		WORD	COL_ADDRESS+MAP_AICON_COL
;
M_ITMIN		EQU	$
		JSL	>TROBJ_SR_4x4_CL
;
		LDA	<ENWRK0,X
		ASL	A
		TAY
		LDA	!M_ITEM_COLDT,Y
		STA	<EWORK0
;
		PHB
		LDY	#BANK COL_ADDRESS
		PHY
		PLB
;
		LDX	#01CH
		TXY
;
M_ITMIN_050	EQU	$
		LDA	(<EWORK0),Y
		STA	>DATACOL+(0E1H*2),X
		DEY
		DEY
		DEX
		DEX
		BPL	M_ITMIN_050
;
		PLB
;
		LDX	ENINDX
		LDA	#00020H		;初期倍率セット
		STA	<ENWRK2,X
;
;------------------------------------------------------------------------
;-		獲得アイテムキャラクターセット				-
;------------------------------------------------------------------------
M_ITM_CHRSET	EQU	$
;;		BRA	SKP_X0
		LDA	<ENWRK2,X
		STA	R3		;(R3) <-- 倍率
		LDA	<ENWRK4,X
		STA	R2		;(R2) <-- 回転角度（０〜ＦＦ）
		LDA	<ENWRK0,X
		ASL	A
		TAY
		LDA	!M_ITM_CHRADR,Y
 IF  JPN | NES ;**** 日本 or NES 対応 [1995/08/02] **********************
		STA	R14		;(R14) <-- キャラクターアドレス（Ｌ，Ｈ）
		LDA	#BANK CHR88

 ELSE	  ;**** PAL 対応 [1995/08/02] *****************************
		CMP	#CHR88+0054H
		BNE	SKP_XF0		;タマゴＦＵＬＬ？ ( no:SKP_XF0 )
		LDY	LNGG_SL
		BEQ	SKP_XF0		;英語？ ( yes:SKP_XF0 )
		TYA
		ASL	A
		TAY
		LDA	!EG_M_ITM_CHRADR,Y
		STA	R14		;(R14) <-- キャラクターアドレス（Ｌ，Ｈ）
		LDA	#BANK CHRPAL3
		BRA	SKP_XF1
;
SKP_XF0		EQU	$
		STA	R14		;(R14) <-- キャラクターアドレス（Ｌ，Ｈ）
		LDA	#BANK CHR88
SKP_XF1		EQU	$

 ENDIF
		STA	R13		;(R13) <--	   ”		(Ｂ）
		LDY	ENTROB,X
		TYX
		LDA	>TROBJ_PLOT_X,X
		STA	R0		;(R0)  <-- ビットマップ座標＿Ｘ
		LDA	>TROBJ_PLOT_Y,X
		STA	R1		;(R1)  <--	  ”	   ＿Ｙ
		M_CHIP	C_32_X_ROTE
;
		INC	OBM7WF		;転送キャラクター転送フラグ”ＯＮ”
;
		BRA	SKP_XXX
;
SKP_X0
		LDA	<ENWRK2,X
		LDA	#0100H						;
		STA	R11		;(R11) <-- 倍率
		LDA	<ENWRK4,X
		LDA	#0000H						;
		STA	R14		;(R14) <-- 回転角度（０〜ＦＦ）
		LDA	<ENWRK0,X
		ASL	A
		TAY
		LDA	!M_ITM_CHRADR,Y
 IF  JPN | NES ;**** 日本 or NES 対応 [1995/08/02] **********************
		STA	R14		;(R14) <-- キャラクターアドレス（Ｌ，Ｈ）
		LDA	#BANK CHR88

 ELSE	  ;**** PAL 対応 [1995/08/02] *****************************
		CMP	#CHR88+0054H
		BNE	SKP_X10		;タマゴＦＵＬＬ？ ( no:SKP_X10 )
		LDY	LNGG_SL
		BEQ	SKP_X10		;英語？ ( yes:SKP_X10 )
		TYA
		ASL	A
		TAY
		LDA	!EG_M_ITM_CHRADR,Y
		STA	R14		;(R14) <-- キャラクターアドレス（Ｌ，Ｈ）
		LDA	#BANK CHRPAL3
		BRA	SKP_X11
;
SKP_X10		EQU	$
		STA	R14		;(R14) <-- キャラクターアドレス（Ｌ，Ｈ）
		LDA	#BANK CHR88
SKP_X11		EQU	$

 ENDIF
		STA	R12		;(R12) <-- キャラクターアドレス（Ｌ，Ｈ）
		LDA	#BANK CHR88
		STA	R13		;(R13) <--	   ”		(Ｂ）
		LDY	ENTROB,X
		TYX
		LDA	>TROBJ_PLOT_X,X
		STA	R3		;(R3)  <-- ビットマップ座標＿Ｘ
		LDA	>TROBJ_PLOT_Y,X
		STA	R2		;(R2)  <--	  ”	   ＿Ｘ
		LDA	#010H
		STA	R8		;(R8)  <-- 中心＿Ｘ
		STA	R9		;(R9)  <--   ”＿Ｙ
		M_CHIP	C_32_X_ROTE_X
;
		INC	OBM7WF		;転送キャラクター転送フラグ”ＯＮ”
;
		LDX	<ENINDX
;
SKP_XXX
		LDX	<ENINDX
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		M_ITMMV		( 獲得アイテムムーブ )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
M_ITMMV		EQU	$
		PEA	M_ITMMV_050
		LDA	ENCONT,X
		ASL	A
		TAY
		LDA	!M_ITMMV_TBL,Y
		STA	<EWORK0
		JMP	(EWORK0)
;
M_ITMMV_050	EQU	$-1
		JSL	>M_ITM_CHRSET
		JSL	>BSCLR_KIRA_SET ; きらきら効果セット
;
;------------------------------------------------------------------------
;-		ＯＡＭセット						-
;------------------------------------------------------------------------
		JSL	>TROBJ_OAM_4x4
;
		RTL
;
;
M_ITMMV_TBL	EQU	$
		WORD	ITMZOOM		; アイテムズームアップ処理
		WORD	ITMCROS		; アイテム衝突処理
;
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	ITMZOOM ( アイテムズームアップ処理 )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ITMZOOM		EQU	$
		LDA	<ENWRK2,X
		CLC
		ADC	#00002H
		STA	<ENWRK2,X	; 倍率セット
		CMP	#00100H
		BNE	ITMZOOM_050	; 拡大終了　？
;					; Yes !!
		INC	ENCONT,X
;
ITMZOOM_050	EQU	$
		LDA	<ENWRK4,X
		CLC
		ADC	#00003H
		AND	#000FFH
		STA	<ENWRK4,X	; 角度セット
;
ITMZOOM_END	EQU	$
		RTS
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		JSR	ITMCROS ( アイテム衝突処理 )			x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ITMCROS		EQU	$
		LDY	ECRSFG,X
		BEQ	ITMCROS_END
		BPL	ITMCROS_END	; プレイヤーと当たった　？
;					; Yes !!
		LDA	#00036H
		JSL	>SOUND_3_ON	; [S]
		JSL	>FUSNB_SET_2	; キラキラ弾ける効果セット
		JSL	>ENCLEAR	; 敵クリアーサブルーチン
		INC	ITGTFG
		LDA	ENWRK0,X
		CMP	#IT1UP
		BCS	ITMCROS_END2	; プレイヤーＵＰ　？
;					; No !!
		JSL	>ITEMINPUT_L	; アイテムセットサブルーチン
		LDX	<ENINDX
;;;;;;;;		JSL	>ENRAMCLR	; 敵クリアーサブルーチン
;
ITMCROS_END	EQU	$
		JMP	ITMZOOM_050
;
ITMCROS_END2	EQU	$
		SBC	#IT1UP
		INC	A
		CLC
		ADC	!PLCONT
		STA	!PLCONT
		JMP	ITMZOOM_050
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
		END
;
;
;
;
