;************************************************************************
;*									*
;*	title name	: "yossy"					*
;*	proccess	: course BG write sub.1				*
;*	file name	: ys_bgsc0					*
;*									*
;************************************************************************
;
;
		SALL
;
		include		ys_header.inc
		include		ys_unit.h
;
;
;
;
;;;;		include		yst_header.inc
;;;;		include		../../../JPN/sfc/ys_unit.h
;
		XALL
;
;
;----------------------------------------------------------------
;-		global symbol					-
;----------------------------------------------------------------
;
		GLB	JUNGLE_HA,JNGL_3HA,JNGL_TULU
		GLB	DBLTELE_ROOM,WTR_BKTSTOP
		GLB	I_CHOU_ST,GLGL_SNTR,TNSN_LR_HS,TNSN_RL_HS
		GLB	TNSN_LR_KN,TNSN_RL_KN,KUIKUI,SPLCOIN
		GLB	STT_DM_UNT,LST_BOS_No1,WLD6_HONE
		GLB	DBLTL_ANA,DBLTL_DOR
		GLB	HILIGHT_SML
		GLB	KABEHOLE,KABEMOVE,KABE1POS
		GLB	HBLOCK,HOMEST,GOALPOL
		GLB	TRTPKUS,TRRTKS,TRLTKS
		GLB	NZMANA,MIDKUSA,UPKUSA,DOWNKUSA
		GLB	AROW,GURSNTR,GURDAI,KSRPL
		GLB	HNTULU01,HNTULU23,HNTULU456,HNTULU789
		GLB	CHKWSML,HANAIWA,BREDA,CHKTKISI
		GLB	KUSAKAGE,DKNINST,DKUPBST,DKDNBST,DKLFBST
		GLB	DKRIBST,DTTSLST,DTTSRST,DTTLLST,DTTLRST
		GLB	DYKSUST,DYKSDST,DYKLUST,DYKLDST,DKHOTST
		GLB	DKNNKST,KAKUHO_SET,JGM_HOLL
		GLB	GOAL_DAI,GOAL_YN,SORA_KUMO
		GLB	DOKANANA,DOKAN_YKARW,DOKAN_TTARW
		GLB	KUSANOEEG,HANA_EN_SML,HANA_EN_MID
		GLB	HANA_EN_BIG,HANA_END,DOKAN_KD
		GLB	DKN_ROMKD0,DKN_ROMKD1,DKN_ROMKD2,DKN_ROMKD3
		GLB	HANA_HRT,Xmas_TREE,CHIKA2_ZRR
		GLB	CHIKA2_ICEHH,CHIKA2_CRSTL,CHIKA2_YGIWA
		GLB	CHIKA2_KNSML,CHIKA2_KNBIG,CHIKA2_3KN4KH
		GLB	CHIKA2_SLMKN,SORA_SMLGRDI,SORA_TNGR
		GLB	SORA_BIGDI,EGGBLOCK,FLOWER_MOYOU
		GLB	FLOWER_HANA,FLOWER_IWA,YGN_LOCKDKN
;
;
;----------------------------------------------------------------
;-		extern symbol					-
;----------------------------------------------------------------
		EXT	RND_RND
		EXT	UPCHK_SB,DWNCHK_SB,LFTCHK_SB,RITCHK_SB
;
;---------------< ys_game >--------------------------------------
		EXT	BGCOIN_SETCHK
;
;----------------------------------------------------------------
;-		define symbol					-
;----------------------------------------------------------------
;;;;		EQU
;
;
;****************************************************************
;*								*
;*		program start					*
;*								*
;****************************************************************
;
;
		EXTEND
;
;
		MEM8
		IDX8
;
Group_12	GROUP	Bgsc2_pro
Bgsc2_pro	SECT	REL
;
;
;****************************************************************
;*								*
;*		ジャングルコース 葉っぱいろいろ			*
;*								*
;****************************************************************
JNGL_HA_DT0	EQU	$
		WORD	UT9600,UT9601
		WORD	UT9610,UT9611
		WORD	00000H,UT920E
;
JNGL_HA_DT1	EQU	$
		WORD	UT9683,UT9684
		WORD	UT9681,UT9682
		WORD	UT920D,00000H
;
JNGL_HA_DT2	EQU	$
		WORD	00000H,00000H
		WORD	UT9606,UT9607
		WORD	UT9209,UT920D
;
JNGL_HA_DT3	EQU	$
		WORD	00000H,00000H
		WORD	UT9604,UT9605
		WORD	UT920E,UT920F
;
JNGL_HA_DT4	EQU	$
		WORD	00000H
		WORD	UT9680
		WORD	UT920E
;
JNGL_HA_DT5	EQU	$
		WORD	00000H
		WORD	UT9618
		WORD	UT920D
;
JNGL_HA_DT6	EQU	$
		WORD	00000H
		WORD	UT9685
		WORD	UT920C
;
JNGL_HA_DT7	EQU	$
		WORD	00000H
		WORD	UT9612
		WORD	UT920B
;
JNGL_HA_DT8	EQU	$
		WORD	00000H,UT9604,UT9605
		WORD	UT9613,UT9614,UT9615
		WORD	UT9209,UT920A,UT920B
;
JNGL_HA_DT9	EQU	$
		WORD	UT9606,UT9607
		WORD	UT9616,UT9617
		WORD	UT920C,UT920D
;
JNGL_HA_DAT	EQU	$
		WORD	JNGL_HA_DT0,JNGL_HA_DT1,JNGL_HA_DT2
		WORD	JNGL_HA_DT3,JNGL_HA_DT4,JNGL_HA_DT5
		WORD	JNGL_HA_DT6,JNGL_HA_DT7,JNGL_HA_DT8
		WORD	JNGL_HA_DT9
;
JNGL_HA_Y_DT0	EQU	$-1
JNGL_HA_Y_DT1	EQU	$-1
JNGL_HA_Y_DT2	EQU	$-1
JNGL_HA_Y_DT3	EQU	$-1
JNGL_HA_Y_DT9	EQU	$-1
		BYTE	001*2,002*2
;
JNGL_HA_Y_DT4	EQU	$-1
JNGL_HA_Y_DT5	EQU	$-1
JNGL_HA_Y_DT6	EQU	$-1
JNGL_HA_Y_DT7	EQU	$-1
		BYTE	001*1,002*1
;
JNGL_HA_Y_DT8	EQU	$-1
		BYTE	001*3,002*3
;
JNGL_HA_Y_DT	EQU	$
		WORD	JNGL_HA_Y_DT0,JNGL_HA_Y_DT1,JNGL_HA_Y_DT2
		WORD	JNGL_HA_Y_DT3,JNGL_HA_Y_DT4,JNGL_HA_Y_DT5
		WORD	JNGL_HA_Y_DT6,JNGL_HA_Y_DT7,JNGL_HA_Y_DT8
		WORD	JNGL_HA_Y_DT9
;
;
JUNGLE_HA	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<STUNTNO
		LDA	JNGL_HA_DAT,X
		STA	<WORK0
		LDA	JNGL_HA_Y_DT,X
		STA	<WORK2
;
		LDY	<YSIZE
		BEQ	JNGL_HA_500
		LDA	(<WORK2),Y
		AND	#000FFH
		TAY
;
JNGL_HA_500	EQU	$
		TYA
		CLC
		ADC	<XSIZE
		ASL	A
		TAY
		LDA	(<WORK0),Y
		BEQ	JNGL_HA_990
;
		LDX	<UNITPOS
		STA	>BGUNIT,X
JNGL_HA_990	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;****************************************************************
;*								*
;*		ジャングルコース 三っ葉				*
;*								*
;****************************************************************
JNGL_3HA_DT0	EQU	$
		WORD	UT90AE,UT90AF
		WORD	UT90BE,UT90BF
;
JNGL_3HA_DT1	EQU	$
		WORD	UT9094,UT90AD
		WORD	UT90BC,UT90BD
;
JNGL_3HA_DAT	EQU	$
		WORD	JNGL_3HA_DT0,JNGL_3HA_DT1
;
;
JNGL_3HA	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<STUNTNO
		LDA	JNGL_3HA_DAT,X
		STA	<WORK0
;
		LDA	<YSIZE
		ASL	A
;;;;K;;;;		CLC
		ADC	<XSIZE
		ASL	A
		TAY
;
		LDA	(<WORK0),Y
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		ジャングルコース つる				*
;*								*
;****************************************************************
JNGL_TL_DAT	EQU	$
		WORD	UT9210
		WORD	UT907E
		WORD	UT908E
		WORD	UT909E
;
;
JNGL_TULU	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<YSIZE
		ASL	A
		TAY
		LDA	JNGL_TL_DAT,Y
;
		LDX	<NOWUNIT
		CPX	#UT9217
		BNE	JNGL_TL_900
		LDA	#UT9214
;
JNGL_TL_900	EQU	$
		CLC
		ADC	<XSIZE
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		ダブルテレサの部屋				*
;*								*
;****************************************************************
DBL_00	EQU	000H
DBL_01	EQU	DBL_00+1
DBL_02	EQU	DBL_01+1
DBL_03	EQU	DBL_02+1
DBL_04	EQU	DBL_03+1
DBL_05	EQU	DBL_04+1
DBL_06	EQU	DBL_05+1
DBL_07	EQU	DBL_06+1
DBL_08	EQU	DBL_07+1
DBL_09	EQU	DBL_08+1
DBL_0A	EQU	DBL_09+1
DBL_0B	EQU	DBL_0A+1
DBL_0C	EQU	DBL_0B+1
DBL_0D	EQU	DBL_0C+1
DBL_0E	EQU	DBL_0D+1
DBL_0F	EQU	DBL_0E+1
DBL_10	EQU	DBL_0F+1
DBL_11	EQU	DBL_10+1
DBL_12	EQU	DBL_11+1
DBL_13	EQU	DBL_12+1
DBL_14	EQU	DBL_13+1
DBL_15	EQU	DBL_14+1
DBL_16	EQU	DBL_15+1
DBL_17	EQU	DBL_16+1
DBL_18	EQU	DBL_17+1
DBL_19	EQU	DBL_18+1
DBL_1A	EQU	DBL_19+1
DBL_1B	EQU	DBL_1A+1
DBL_1C	EQU	DBL_1B+1
DBL_1D	EQU	DBL_1C+1
DBL_1E	EQU	DBL_1D+1
DBL_1F	EQU	DBL_1E+1
DBL_20	EQU	DBL_1F+1
DBL_21	EQU	DBL_20+1
DBL_22	EQU	DBL_21+1
DBL_23	EQU	DBL_22+1
DBL_24	EQU	DBL_23+1
DBL_25	EQU	DBL_24+1
DBL_26	EQU	DBL_25+1
DBL_27	EQU	DBL_26+1
DBL_28	EQU	DBL_27+1
DBL_29	EQU	DBL_28+1
DBL_2A	EQU	DBL_29+1
DBL_2B	EQU	DBL_2A+1
DBL_2C	EQU	DBL_2B+1
DBL_2D	EQU	DBL_2C+1
DBL_2E	EQU	DBL_2D+1
DBL_2F	EQU	DBL_2E+1
DBL_30	EQU	DBL_2F+1
DBL_31	EQU	DBL_30+1
DBL_32	EQU	DBL_31+1
DBL_33	EQU	DBL_32+1
DBL_34	EQU	DBL_33+1
DBL_35	EQU	DBL_34+1
DBL_36	EQU	DBL_35+1
DBL_37	EQU	DBL_36+1
DBL_38	EQU	DBL_37+1
DBL_39	EQU	DBL_38+1
DBL_3A	EQU	DBL_39+1
DBL_3B	EQU	DBL_3A+1
DBL_3C	EQU	DBL_3B+1
DBL_3D	EQU	DBL_3C+1
DBL_3E	EQU	DBL_3D+1
DBL_3F	EQU	DBL_3E+1
DBL_40	EQU	DBL_3F+1
DBL_41	EQU	DBL_40+1
DBL_42	EQU	DBL_41+1
DBL_43	EQU	DBL_42+1
DBL_44	EQU	DBL_43+1
DBL_45	EQU	DBL_44+1
DBL_60	EQU	DBL_45+1
DBL_61	EQU	DBL_60+1
DBL_62	EQU	DBL_61+1
DBL_63	EQU	DBL_62+1
DBL_64	EQU	DBL_63+1
DBL_65	EQU	DBL_64+1
DBL_66	EQU	DBL_65+1
DBL_67	EQU	DBL_66+1
DBL_68	EQU	DBL_67+1
DBL_69	EQU	DBL_68+1
DBL_6A	EQU	DBL_69+1
DBL_6B	EQU	DBL_6A+1
DBL_6C	EQU	DBL_6B+1
DBL_6D	EQU	DBL_6C+1
DBL_70	EQU	DBL_6D+1
DBL_71	EQU	DBL_70+1
DBL_72	EQU	DBL_71+1
DBL_73	EQU	DBL_72+1
DBL_74	EQU	DBL_73+1
DBL_75	EQU	DBL_74+1
DBL_76	EQU	DBL_75+1
DBL_80	EQU	DBL_76+1
;
DBLTL_ROM0	EQU	$
		BYTE	DBL_70,DBL_71,DBL_70,DBL_71,DBL_70,DBL_71,DBL_70,DBL_71
		BYTE	DBL_72,DBL_73,DBL_72,DBL_73,DBL_72,DBL_73,DBL_72,DBL_73
		BYTE	DBL_00,DBL_01,DBL_02,DBL_03,DBL_04,DBL_05,DBL_06,DBL_07
		BYTE	DBL_08,DBL_09,DBL_0A,DBL_0B,DBL_0C,DBL_0D,DBL_0E,DBL_0F
		BYTE	DBL_12,DBL_13,DBL_14,DBL_15,DBL_16,DBL_17,DBL_18,DBL_19
		BYTE	DBL_1C,DBL_1D,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80
		BYTE	DBL_22,DBL_23,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80
		BYTE	DBL_26,DBL_27,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80
		BYTE	DBL_2A,DBL_2B,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80
		BYTE	DBL_2E,DBL_2F,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80
		BYTE	DBL_32,DBL_33,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80
		BYTE	DBL_00,DBL_01,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80
		BYTE	DBL_67,DBL_68,DBL_69,DBL_60,DBL_61,DBL_62,DBL_63,DBL_66
		BYTE	DBL_6B,DBL_6C,DBL_6D,DBL_6A,DBL_64,DBL_65,DBL_6D,DBL_6A
		BYTE	DBL_75,DBL_74,DBL_75,DBL_74,DBL_75,DBL_74,DBL_75,DBL_74
		BYTE	DBL_76,DBL_76,DBL_76,DBL_76,DBL_76,DBL_76,DBL_76,DBL_76
;
DBLTL_ROM1	EQU	$
		BYTE	DBL_70,DBL_71,DBL_70,DBL_71,DBL_70,DBL_71,DBL_70,DBL_71
		BYTE	DBL_72,DBL_73,DBL_72,DBL_73,DBL_72,DBL_73,DBL_72,DBL_73
		BYTE	DBL_00,DBL_01,DBL_1E,DBL_21,DBL_36,DBL_37,DBL_38,DBL_39
		BYTE	DBL_10,DBL_11,DBL_3A,DBL_3B,DBL_3C,DBL_3D,DBL_3E,DBL_3F
		BYTE	DBL_1A,DBL_1B,DBL_40,DBL_41,DBL_42,DBL_43,DBL_44,DBL_45
		BYTE	DBL_1F,DBL_20,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80
		BYTE	DBL_24,DBL_25,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80
		BYTE	DBL_28,DBL_29,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80
		BYTE	DBL_2C,DBL_2D,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80
		BYTE	DBL_30,DBL_31,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80
		BYTE	DBL_34,DBL_35,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80
		BYTE	DBL_00,DBL_01,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80,DBL_80
		BYTE	DBL_67,DBL_68,DBL_69,DBL_60,DBL_61,DBL_62,DBL_63,DBL_66
		BYTE	DBL_6B,DBL_6C,DBL_6D,DBL_6A,DBL_64,DBL_65,DBL_6D,DBL_6A
		BYTE	DBL_75,DBL_74,DBL_75,DBL_74,DBL_75,DBL_74,DBL_75,DBL_74
		BYTE	DBL_76,DBL_76,DBL_76,DBL_76,DBL_76,DBL_76,DBL_76,DBL_76
;
DBLTL_ROM	EQU	$
		WORD	DBLTL_ROM0,DBLTL_ROM1
;
;
DBLTELE_ROOM	EQU	$
		MI16			; memory , index 16bit mode
;
		LDA	<YSIZE
		ASL	A
		ASL	A
		ASL	A
		ADC	<XSIZE
		TAY
;
		LDX	<STUNTNO
		LDA	DBLTL_ROM,X
		STA	<WORK0
;
		LDA	(<WORK0),Y
		AND	#000FFH
		CMP	#DBL_80
		BEQ	DBLTL_ROM_990
		CMP	#DBL_60
		BCC	DBLTL_ROM_200
		CMP	#DBL_70
		BCC	DBLTL_ROM_400
		CLC
		ADC	#UT9DC0-DBL_70
		BRA	DBLTL_ROM_900
;
DBLTL_ROM_200	EQU	$
		ADC	#UT9690
		BRA	DBLTL_ROM_900
;
DBLTL_ROM_400	EQU	$
		ADC	#UT9DD0-DBL_60
;
DBLTL_ROM_900	EQU	$
		LDX	<UNITPOS
		STA	>BGUNIT,X
DBLTL_ROM_990	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		水中コース バケツリレーストッパー		*
;*								*
;****************************************************************
		MEM16
		IDX16
WTR_BKTSTOP	EQU	$
		LDA	#UT00C9
		LDX	<UNITPOS
		STA	>BGUNIT,X
		RTL
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*		食道と腸 セット					*
;*								*
;****************************************************************
I_CHOU_DAT	EQU	$
		HEX	000H,001H,000H,001H
		HEX	002H,003H,002H,003H
		HEX	001H,000H,001H,000H
		HEX	003H,002H,003H,002H
;
;
I_CHOU_ST	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<YSIZE
		AND	#00003
		ASL	A
		ASL	A
		STA	<WORK0
		LDA	<XSIZE
		AND	#00003
		ORA	<WORK0
		TAX
		LDA	I_CHOU_DAT,X
		AND	#000FFH
		CLC
		ADC	#UT84E0
		LDX	<UNITPOS
		STA	>BGUNIT,X
I_CHOU_990	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		グルグルバー 回転軸 (柱２本)			*
;*								*
;****************************************************************
GLGL_SNTR	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<UNITPOS
		LDA	<XSIZE
		CLC
		ADC	#UT779D
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		点線橋 (左→右)					*
;*								*
;****************************************************************
TNSN_LR_HS_DT	EQU	$
		WORD	UT96E0,UT96E0,UT96E0,UT96E1,UT96E1
;
;
TNSN_LR_HS	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<XSIZE
		ASL	A
		TAY
		LDA	TNSN_LR_HS_DT,Y
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		点線橋 (右→左)					*
;*								*
;****************************************************************
TNSN_RL_HS_DT	EQU	$
		WORD	UT96E2,UT96E2,UT96E0,UT96E0,UT96E0
;
;
TNSN_RL_HS	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<XSIZE
		ASL	A
		TAY
		LDA	TNSN_RL_HS_DT,Y
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		点線階段 (左→右)				*
;*								*
;****************************************************************
TNSN_LR_KN_DT	EQU	$
		WORD	UT96E5,00000H
		WORD	UT96E5,UT96E6
		WORD	00000H,UT96E6
		WORD	00000H,UT96E3
		WORD	00000H,UT96E3
;
;
TNSN_LR_KN	EQU	$
		MI16			; memory , index 16bit mode
		LDA	#0FFFFH
		STA	<LKFLG
;
		LDA	<XSIZE
		ASL	A
		ORA	<YSIZE
		ASL	A
		TAY
		LDA	TNSN_LR_KN_DT,Y
		BEQ	TNSN_LR_KN_990
		LDX	<UNITPOS
		STA	>BGUNIT,X
TNSN_LR_KN_990	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		点線階段 (右→左)				*
;*								*
;****************************************************************
TNSN_RL_KN_DT	EQU	$
		WORD	00000H,UT96E4
		WORD	00000H,UT96E4
		WORD	00000H,UT96E7
		WORD	UT96E8,UT96E7
		WORD	UT96E8,00000H
;
;
TNSN_RL_KN	EQU	$
		MI16			; memory , index 16bit mode
		LDA	#0FFFFH
		STA	<LKFLG
;
		LDA	<XSIZE
		ASL	A
		ORA	<YSIZE
		ASL	A
		TAY
		LDA	TNSN_RL_KN_DT,Y
		BEQ	TNSN_RL_KN_990
		LDX	<UNITPOS
		STA	>BGUNIT,X
TNSN_RL_KN_990	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		？杭						*
;*								*
;****************************************************************
		MEM16
		IDX16
KUIKUI		EQU	$
		LDX	<UNITPOS
		JSL	>BGCOIN_SETCHK	; ユニット セット チェック
		BNE	KUIKUI_900
		LDA	<NOWUNIT
		AND	#000FFH
		ORA	RUTA300
		STA	>BGUNIT,X
KUIKUI_900	EQU	$
		RTL
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*		スペシャル コイン				*
;*								*
;****************************************************************
		MEM16
		IDX16
SPLCOIN		EQU	$
		LDX	<UNITPOS
		JSL	>BGCOIN_SETCHK	; ユニット セット チェック
		BNE	SPLCOIN_900
		LDA	#UTA400
		STA	>BGUNIT,X
SPLCOIN_900	EQU	$
		RTL
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*		イニシャル スタート コースデータ		*
;*								*
;****************************************************************
STT_DM_UNT_DT	EQU	$
;
;----------------------------------------------- 0
		BYTE	LOW UTA500,LOW UTA500,LOW UTA500,LOW UTA500
		BYTE	LOW UTA500,LOW UTA501,LOW UTA502,LOW UTA500
		BYTE	LOW UTA500,LOW UTA503,LOW UTA504,LOW UTA505
		BYTE	LOW UTA506,LOW UTA507,LOW UTA508,LOW UTA509
;
;----------------------------------------------- 1
		BYTE	LOW UTA50B,LOW UTA500,LOW UTA500,LOW UTA500
		BYTE	LOW UTA50C,LOW UTA507,LOW UTA508,LOW UTA50B
		BYTE	LOW UTA50D,LOW UTA507,LOW UTA50E,LOW UTA50A
		BYTE	LOW UTA50A,LOW UTA505,LOW UTA506,LOW UTA508
;
;----------------------------------------------- 2
		BYTE	LOW UTA508,LOW UTA50B,LOW UTA500,LOW UTA50D
		BYTE	LOW UTA503,LOW UTA504,LOW UTA506,LOW UTA50F
		BYTE	LOW UTA510,LOW UTA511,LOW UTA512,LOW UTA50A
		BYTE	LOW UTA513,LOW UTA512,LOW UTA514,LOW UTA515
;
;----------------------------------------------- 3
		BYTE	LOW UTA516,LOW UTA517,LOW UTA518,LOW UTA519
		BYTE	LOW UTA51A,LOW UTA51B,LOW UTA513,LOW UTA51C
		BYTE	LOW UTA50F,LOW UTA50B,LOW UTA507,LOW UTA50E
		BYTE	LOW UTA506,LOW UTA51D,LOW UTA51E,LOW UTA516
;
;----------------------------------------------- 4
		BYTE	LOW UTA51F,LOW UTA506,LOW UTA508,LOW UTA520
		BYTE	LOW UTA51F,LOW UTA50A,LOW UTA506,LOW UTA504
		BYTE	LOW UTA521,LOW UTA508,LOW UTA51F,LOW UTA50A
		BYTE	LOW UTA50A,LOW UTA521,LOW UTA522,LOW UTA51F
;
;----------------------------------------------- 5
		BYTE	LOW UTA50A,LOW UTA50A,LOW UTA523,LOW UTA524
		BYTE	LOW UTA50A,LOW UTA50A,LOW UTA50A,LOW UTA50A
		BYTE	LOW UTA50A,LOW UTA505,LOW UTA50A,LOW UTA50A
		BYTE	LOW UTA50A,LOW UTA50A,LOW UTA505,LOW UTA50A
;
;----------------------------------------------- 6
		BYTE	LOW UTA50A,LOW UTA50A,LOW UTA50A,LOW UTA50A
		BYTE	LOW UTA50A,LOW UTA50A,LOW UTA50A,LOW UTA50A
		BYTE	LOW UTA50A,LOW UTA50A,LOW UTA50A,LOW UTA525
		BYTE	LOW UTA50A,LOW UTA50A,LOW UTA50A,LOW UTA50A
;
;----------------------------------------------- 7
		BYTE	LOW UTA50A,LOW UTA50A,LOW UTA50A,LOW UTA50A
		BYTE	LOW UTA526,LOW UTA527,LOW UTA528,LOW UTA50A
		BYTE	LOW UTA50A,LOW UTA529,LOW UTA52A,LOW UTA52B
		BYTE	LOW UTA50A,LOW UTA52C,LOW UTA50A,LOW UTA50A
;
;----------------------------------------------- 8
		BYTE	LOW UTA50A,LOW UTA526,LOW UTA527,LOW UTA528
		BYTE	LOW UTA52D,LOW UTA52E,LOW UTA52F,LOW UTA50A
		BYTE	LOW UTA530,LOW UTA531,LOW UTA532,LOW UTA533
		BYTE	LOW UTA50A,LOW UTA534,LOW UTA535,LOW UTA536
;
;----------------------------------------------- 9
		BYTE	LOW UTA537,LOW UTA52D,LOW UTA52E,LOW UTA52F
		BYTE	LOW UTA538,LOW UTA539,LOW UTA53A,LOW UTA53B
		BYTE	LOW UTA53C,LOW UTA53D,LOW UTA53E,LOW UTA53F
		BYTE	LOW UTA540,LOW UTA541,LOW UTA542,LOW UTA543
;
;----------------------------------------------- A
		BYTE	LOW UTA544,LOW UTA538,LOW UTA539,LOW UTA53A
		BYTE	LOW UTA545,LOW UTA546,LOW UTA547,LOW UTA548
		BYTE	LOW UTA549,LOW UTA54A,LOW UTA547,LOW UTA54B
		BYTE	LOW UTA54C,LOW UTA54D,LOW UTA54E,LOW UTA54F
;
;----------------------------------------------- B
		BYTE	LOW UTA550,LOW UTA551,LOW UTA552,LOW UTA553
		BYTE	LOW UTA554,LOW UTA555,LOW UTA556,LOW UTA557
		BYTE	LOW UTA553,LOW UTA554,LOW UTA555,LOW UTA556
		BYTE	LOW UTA557,LOW UTA558,LOW UTA553,LOW UTA559
;
;----------------------------------------------- C
		BYTE	LOW UT9D6A,LOW UT9D6B,LOW UT9D6C,LOW UT9D6D
		BYTE	LOW UT9D6E,LOW UT9D6A,LOW UT9D6A,LOW UT9D6A
		BYTE	LOW UT9D6A,LOW UT9D6A,LOW UT9D6F,LOW UT9D70
		BYTE	LOW UT9D71,LOW UT9D6A,LOW UT9D72,LOW UT9D6A
;
;----------------------------------------------- D
		BYTE	LOW UT9D73,LOW UT9D74,LOW UT9D75,LOW UT9D76
		BYTE	LOW UT9D77,LOW UT9D6A,LOW UT9D78,LOW UT9D79
		BYTE	LOW UT9D7A,LOW UT9D7B,LOW UT9D7C,LOW UT9D7D
		BYTE	LOW UT9D7E,LOW UT9D7F,LOW UT9D80,LOW UT9D6A
;
;----------------------------------------------- E
		BYTE	LOW UT9D81,LOW UT9D82,LOW UT9D83,LOW UT9D84
		BYTE	LOW UT9D85,LOW UT9D86,LOW UT9D87,LOW UT9D77
		BYTE	LOW UT9D88,LOW UT9D89,LOW UT9D8A,LOW UT9D8B
		BYTE	LOW UT9D8C,LOW UT9D8D,LOW UT9D8E,LOW UT9D8F
;
;----------------------------------------------- F
		BYTE	LOW UT9D90,LOW UT9D83,LOW UT9D83,LOW UT9D83
		BYTE	LOW UT9D84,LOW UT9D85,LOW UT9D77,LOW UT9D91
		BYTE	LOW UT9D83,LOW UT9D92,LOW UT9D93,LOW UT9D94
		BYTE	LOW UT9D83,LOW UT9D83,LOW UT9D95,LOW UT9D96
;
;
STT_DM_UNT	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<YSIZE
		TAX
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		ORA	<XSIZE
		TAY
		LDA	STT_DM_UNT_DT,Y
		AND	#000FFH
		CPX	#0000CH
		BCS	STT_DM_UNT_500
		ORA	#UTA500
		BRA	STT_DM_UNT_800
;
STT_DM_UNT_500	EQU	$
		ORA	#UT9D00
;
STT_DM_UNT_800	EQU	$
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		ラスト ボス (大クッパ)				*
;*								*
;****************************************************************
BOSS_BG_DATA	EQU	$
		WORD	RUT0F02,RUT1001
		WORD	RUT0C01,RUT0D01,RUT0801,RUT0802,	RUT0A07,RUT0A08,	RUT0201
		WORD	RUT0C02,RUT0D02
;
KP_00	EQU	000
KP_01	EQU	KP_00+1
KP_02	EQU	KP_01+1
KP_03	EQU	KP_02+1
KP_04	EQU	KP_03+1
KP_05	EQU	KP_04+1
KP_06	EQU	KP_05+1
KP_07	EQU	KP_06+1
KP_08	EQU	KP_07+1
KP_09	EQU	KP_08+1
KP_0A	EQU	KP_09+1
KP_0B	EQU	KP_0A+1
KP_0C	EQU	KP_0B+1
KP_0D	EQU	KP_0C+1
KP_0E	EQU	KP_0D+1
KP_0F	EQU	KP_0E+1
KP_10	EQU	KP_0F+1
KP_11	EQU	KP_10+1
KP_12	EQU	KP_11+1
KP_13	EQU	KP_12+1
KP_14	EQU	KP_13+1
KP_15	EQU	KP_14+1
KP_16	EQU	KP_15+1
KP_17	EQU	KP_16+1
KP_18	EQU	KP_17+1
KP_19	EQU	KP_18+1
KP_1A	EQU	KP_19+1
KP_1B	EQU	KP_1A+1
KP_1C	EQU	KP_1B+1
KP_1D	EQU	KP_1C+1
KP_1E	EQU	KP_1D+1
KP_1F	EQU	KP_1E+1
KP_20	EQU	KP_1F+1
KP_21	EQU	KP_20+1
KP_22	EQU	KP_21+1
KP_23	EQU	KP_22+1
KP_24	EQU	KP_23+1
KP_25	EQU	KP_24+1
KP_26	EQU	KP_25+1
KP_27	EQU	KP_26+1
KP_28	EQU	KP_27+1
KP_29	EQU	KP_28+1
KP_30	EQU	KP_29+1
KP_31	EQU	KP_30+1
KP_50	EQU	KP_31+1
KP_51	EQU	KP_50+1
KP_53	EQU	KP_51+1
KP_54	EQU	KP_53+1
KP_56	EQU	KP_54+1
KP_57	EQU	KP_56+1
KP_59	EQU	KP_57+1
KP_60	EQU	KP_59+1
KP_61	EQU	KP_60+1
KP_70	EQU	KP_61+1
KP_71	EQU	KP_70+1
KP_72	EQU	KP_71+1
KP_73	EQU	KP_72+1
KP_FF	EQU	0FFH
;
BOSS_CORS_DAT0	EQU	$
		BYTE	KP_00,KP_06,KP_01,KP_07,KP_0C,KP_05,KP_50,KP_51
		BYTE	KP_06,KP_08,KP_30,KP_31,KP_0B,KP_00,KP_06,KP_08
		BYTE	KP_30,KP_31,KP_50,KP_51,KP_01,KP_07,KP_0C,KP_05
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
;
		BYTE	KP_09,KP_0D,KP_09,KP_0E,KP_16,KP_FF,KP_17,KP_04
		BYTE	KP_09,KP_0E,KP_0F,KP_10,KP_11,KP_0D,KP_09,KP_0E
		BYTE	KP_0F,KP_10,KP_17,KP_04,KP_09,KP_02,KP_0A,KP_0D
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
;
		BYTE	KP_02,KP_0A,KP_02,KP_12,KP_13,KP_03,KP_18,KP_19
		BYTE	KP_02,KP_12,KP_13,KP_03,KP_14,KP_15,KP_02,KP_12
		BYTE	KP_13,KP_03,KP_18,KP_19,KP_0D,KP_09,KP_02,KP_0A
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
;
BOSS_CORS_DAT1	EQU	$
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_0B,KP_00,KP_06,KP_08,KP_07,KP_72
;
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_0D,KP_09,KP_0D,KP_73
;
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_02,KP_0A,KP_FF
;
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_71,KP_09,KP_0D,KP_73
;
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_0D,KP_09,KP_FF
;
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_71,KP_0A,KP_0D,KP_09
;
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_0D,KP_09,KP_0D
;
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_71,KP_09,KP_02,KP_0A
;
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF
		BYTE	KP_FF,KP_50,KP_51,KP_01,KP_07,KP_0C,KP_05,KP_0B
		BYTE	KP_00,KP_30,KP_31,KP_50,KP_51,KP_00,KP_06,KP_08
;
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_70,KP_07,KP_0C,KP_72
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_0B
		BYTE	KP_00,KP_17,KP_04,KP_09,KP_02,KP_0A,KP_0D,KP_09
		BYTE	KP_0E,KP_0F,KP_10,KP_17,KP_04,KP_09,KP_02,KP_0A
;
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_02,KP_0A,KP_FF
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_11
		BYTE	KP_03,KP_18,KP_19,KP_0D,KP_09,KP_02,KP_0A,KP_02
		BYTE	KP_12,KP_13,KP_03,KP_18,KP_19,KP_0D,KP_09,KP_02
;
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_71,KP_09,KP_02,KP_73
		BYTE	KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_FF,KP_03,KP_14
		BYTE	KP_15,KP_1C,KP_1D,KP_1E,KP_0D,KP_09,KP_02,KP_0A
		BYTE	KP_0E,KP_1A,KP_1B,KP_1C,KP_1D,KP_1E,KP_0D,KP_09
;
;
LST_BOS_No1	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<YSIZE
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		CLC
		ADC	<XSIZE
		TAY
		LDA	<STUNTNO
		BNE	LST_BOS_No1_500
		LDA	BOSS_CORS_DAT0,Y
		BRA	LST_BOS_No1_900
;
LST_BOS_No1_500	EQU	$
		LDA	BOSS_CORS_DAT1,Y
;
LST_BOS_No1_900	EQU	$
		AND	#000FFH
		CMP	#KP_FF		; セットＯＫ ?
		BEQ	LST_BOS_No1_990	;	NO -> LST_BOS_No1_990
		CMP	#KP_30
		BCS	LST_BOS_No1_920
		CLC
		ADC	#UT9DA0
		BRA	LST_BOS_No1_980
;
LST_BOS_No1_920	EQU	$
		CMP	#KP_70
		BCS	LST_BOS_No1_940
		SEC
		SBC	#KP_30
		ASL	A
		TAY
		LDX	BOSS_BG_DATA,Y
		LDA	0,X
		BRA	LST_BOS_No1_980
;
LST_BOS_No1_940	EQU	$
		SEC
		SBC	#KP_70
		CLC
		ADC	#UTA560
;
LST_BOS_No1_980	EQU	$
		LDX	<UNITPOS
		STA	>BGUNIT,X
;
LST_BOS_No1_990	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		６ワールド骨					*
;*								*
;****************************************************************
WLD6_HONE_DT0	EQU	$
		WORD	00000H,UTA571
		WORD	UTA580,UTA581
;
WLD6_HONE_DT1	EQU	$
		WORD	00000H,UTA573
		WORD	UTA582,UTA583
;
WLD6_HONE_DT2	EQU	$
		WORD	00000H,UTA575
		WORD	UTA584,UTA585
;
WLD6_HONE_DAT	EQU	$
		WORD	WLD6_HONE_DT0,WLD6_HONE_DT1,WLD6_HONE_DT2
;
;
WLD6_HONE	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<STUNTNO
		LDA	WLD6_HONE_DAT,X
		STA	<WORK0
;
		LDA	<YSIZE
		ASL	A
		ORA	<XSIZE
		ASL	A
		TAY
;
		LDA	(<WORK0),Y
		BEQ	WLD6_HONE_900
		LDX	<UNITPOS
		STA	>BGUNIT,X
WLD6_HONE_900	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		ダブルテレサの部屋  落とし穴			*
;*								*
;****************************************************************
DBLTL_ANA	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<XSIZE
		BEQ	DBLTL_ANA_500
		INC	A
		CMP	<XSIZECP
		BEQ	DBLTL_ANA_400
		LDA	#UT0000
		BRA	DBLTL_ANA_850
;
DBLTL_ANA_400	EQU	$
		LDA	#UT9DE1
		BRA	DBLTL_ANA_800
;
DBLTL_ANA_500	EQU	$
		LDA	#UT9DE0
;
DBLTL_ANA_800	EQU	$
		CLC
		ADC	<YSIZE
		CLC
		ADC	<YSIZE
DBLTL_ANA_850	EQU	$
		LDX	<UNITPOS
		STA	>BGUNIT,X
DBLTL_ANA_900	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		ダブルテレサの部屋 ドア				*
;*								*
;****************************************************************
DBLTL_DOR_DT	EQU	$
		BYTE	LOW UT96D6,LOW UT96D7,LOW UT96DB,LOW UT96DC
		BYTE	LOW UT96D8,LOW UT96D9,LOW UT96D9,LOW UT96DA
		BYTE	LOW UT96D9,LOW UT96D9,LOW UT96D9,LOW UT96D9
		BYTE	LOW UT96D9,LOW UT96D9,LOW UT96D9,LOW UT96D9
;
;
DBLTL_DOR	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<YSIZE
		ASL	A
		ASL	A
		ADC	<XSIZE
		TAY
		LDA	DBLTL_DOR_DT,Y
		AND	#000FFH
		CLC
		ADC	#UT9600
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*	ソープランド コース					*
;*		あわ 連結部 ハイライト 1*1 set			*
;****************************************************************
HILIGHT_SML	EQU	$
		RTL
;
;
;****************************************************************
;*								*
;*	カベ コース マンホール出口 set				*
;*								*
;****************************************************************
KABEHOLE_DAT	EQU	$
		WORD	UT016A,UT016B
		WORD	UT016C,UT016D
		WORD	UT0169
;
KABEHOLE_CMP	EQU	$
		WORD	UT0167,UT0168
;
;
KABEHOLE	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<UNITPOS
		LDY	#00000H
		LDA	<XSIZE
		BEQ	KABEHOLE_000
		INC	A
		CMP	<XSIZECP
		BNE	KABEHOLE_100
		INY
		INY
KABEHOLE_000	EQU	$
		LDA	<NOWUNIT
		CMP	KABEHOLE_CMP,Y
		BNE	KABEHOLE_900
		LDY	#00008
		BRA	KABEHOLE_150
KABEHOLE_100	EQU	$
		LDA	<XSIZE
		DEC	A
		ASL	A
		STA	<WORK0
		LDA	<YSIZE
		ASL	A
		ASL	A
		ORA	<WORK0
		TAY
KABEHOLE_150	EQU	$
		LDA	KABEHOLE_DAT,Y
		STA	>BGUNIT,X
KABEHOLE_900	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*	カベ コース 壁 set					*
;*								*
;****************************************************************
KABEMOVE_DAT	EQU	$
		WORD	UT00D0,UT00CF
;
;
KABEMOVE	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<UNITPOS
		LDA	<XSIZE
		BNE	KABEMOVE_100
		LDA	#UT00CE
		BRA	KABEMOVE_500
KABEMOVE_100	EQU	$
		AND	#00001
		ASL	A
		TAY
		LDA	KABEMOVE_DAT,Y
KABEMOVE_500	EQU	$
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*	カベ コース 線路 ＆ らくがき set			*
;*								*
;****************************************************************
KABE1POS_DT	EQU	$
		WORD	RUT1E00,RUT2000,RUT2100,RUT2200
		WORD	RUT2300,RUT2500,RUT2600,RUT2700
		WORD	RUT2800,RUT9E00,RUT9E00,RUT5E00
		WORD	RUT5E00,RUT9E01,RUT9E02,RUT9E03
		WORD	RUT9E04,RUT9E05,RUT9E06,RUT9E07
;
;
KABE1POS	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<UNITPOS
		LDA	<STUNTNO
		ASL	A
		TAY
		LDA	KABE1POS_DT,Y
		TAY
		LDA	0,Y
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*	？ ブロック set						*
;*								*
;****************************************************************
HBLOCK_DAT	EQU	$
		WORD	UT5F00,UT5F01,UT5F03,UT5F03
;
;
HBLOCK		EQU	$
		MI16			; memory , index 16bit mode
		JSL	>RND_RND
		AND	#00003H
		ASL	A
		TAX
		LDA	>HBLOCK_DAT,X
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*	ＢＧ 家 セット						*
;*								*
;****************************************************************
HOMEST		EQU	$
		MI16			; memory , index 16bit mode
		LDA	<XSIZE
		ASL	A
		STA	<WORK0
		LDA	<YSIZE
		ASL	A
		ASL	A
		ASL	A
		ORA	<WORK0
		TAY
		BEQ	HOMEST_900
		CPY	#00006H
		BEQ	HOMEST_900
		LDX	<UNITPOS
		LDA	HOMEST_DT,Y
		STA	>BGUNIT,X
HOMEST_900	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
HOMEST_DT	EQU	$
		WORD	UT0000,UT3D20,UT3D21,UT0000
		WORD	UT3D22,UT3D23,UT3D24,UT3D25
		WORD	UT3D26,UT3D2E,UT3D2F,UT3D29
		WORD	UT3D2A,UT6302,UT3D30,UT3D2D
;
;
;****************************************************************
;*								*
;*	ゴールのポール セット					*
;*								*
;****************************************************************
GOALPOL		EQU	$
		MI16			; memory , index 16bit mode
		LDA	<XSIZE
		ASL	A
		TAX
		JSR	(GOALPOL_SUB,X)
;
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
GOALPOL_SUB	EQU	$
		WORD	GOALPOL_SB0
		WORD	GOALPOL_SB1
		WORD	GOALPOL_SB2
		WORD	GOALPOL_SB3
;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+	ゴールのポール セット サブ０			+
;+	ゴールのポール セット サブ１			+
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
		MEM16
		IDX16
GOALPOL_SB0	EQU	$
GOALPOL_SB1	EQU	$
		LDA	<YSIZE
		INC	A
		CMP	<YSIZECP
		BNE	GOALPOL_SB1_20
		LDA	#UT00F3
		BRA	GOALPOL_SB1_50
;
GOALPOL_SB1_20	EQU	$
		LDA	<XSIZE
		BEQ	GOALPOL_SB1_30
		LDA	<YSIZE
		CMP	#00010H
		BCS	GOALPOL_SB1_30
		AND	#00001H
		BEQ	GOALPOL_SB1_30
		LDA	#UT00FA
		BRA	GOALPOL_SB1_50
GOALPOL_SB1_30	EQU	$
		LDA	<NOWUNIT
GOALPOL_SB1_50	EQU	$
		RTS
;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+	ゴールのポール セット サブ２			+
;+	ゴールのポール セット サブ３			+
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GOALPOL_SB2	EQU	$
GOALPOL_SB3	EQU	$
		LDY	#00000H
		LDA	<YSIZE
		BEQ	GOALPOL_SB2_10
		INY
		INY
		INC	A
		CMP	<YSIZECP
		BNE	GOALPOL_SB2_10
		INY
		INY
;
GOALPOL_SB2_10	EQU	$
		LDA	<XSIZE
		AND	#00001H
		STA	<WORK0
		LDA	GOALPOL_SB2_DT0,Y
		CLC
		ADC	<WORK0
		RTS
;
GOALPOL_SB2_DT0 EQU	$
		WORD	UT00F4,UT00F6,UT00F8
;
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*		つるの上の葉っぱ セット				*
;*								*
;****************************************************************
TRTPKUS		EQU	$
		MI16			; memory , index 16bit mode
		LDA	<XSIZE
		ASL	A
		TAY
		LDX	<UNITPOS
		LDA	TRTPKUS_DAT,Y
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
TRTPKUS_DAT	EQU	$
		WORD	UT3D5A ,UT3D5B,UT3D5C
;
;
;****************************************************************
;*								*
;*		つる右側の葉っぱ セット				*
;*								*
;****************************************************************
		MEM16
		IDX16
TRRTKS		EQU	$
		LDX	<UNITPOS
		LDA	#UT3D59
		STA	>BGUNIT,X
;
		LDA	<XYPOINT	; 左側チェック
		STA	<WORKE
		JSL	>LFTCHK_SB
		LDA	>BGUNIT,X
		CMP	#UT3D46
		BEQ	TRRTKS_200
		CMP	#UT3D56
		BEQ	TRRTKS_200
		CMP	#UT3D57
		BNE	TRRTKS_300
TRRTKS_200	EQU	$
		NOP
		LDA	#UT3D47
		STA	>BGUNIT,X
TRRTKS_300	EQU	$
		RTL
;
;
;****************************************************************
;*								*
;*		つる左側の葉っぱ セット				*
;*								*
;****************************************************************
TRLTKS		EQU	$
		LDX	<UNITPOS
		LDA	#UT3D4C
		STA	>BGUNIT,X
;
		LDA	<XYPOINT	; 右側チェック
		STA	<WORKE
		JSL	>RITCHK_SB
		LDA	>BGUNIT,X
		CMP	#UT3D46
		BEQ	TRLTKS_200
		CMP	#UT3D47
		BEQ	TRLTKS_200
		CMP	#UT3D56
		BNE	TRLTKS_300
TRLTKS_200	EQU	$
		NOP
		LDA	#UT3D57
		STA	>BGUNIT,X
TRLTKS_300	EQU	$
		RTL
;
;
;****************************************************************
;*								*
;*		ねずみ出入り口穴 セット				*
;*								*
;****************************************************************
NZMANA		EQU	$
		LDA	RUT3B04
		LDX	<UNITPOS
		STA	>BGUNIT,X
		RTL
;
;
;****************************************************************
;*								*
;*		２ユニットの草 セット				*
;*								*
;****************************************************************
MIDKUSA_DAT	EQU	$
		WORD	UT008E,UT008F
		WORD	UT0156,UT0157
;
;
MIDKUSA		EQU	$
		MI16			; memory , index 16bit mode
		LDA	<XSIZE
		ASL	A
		STA	<WORK0
		LDA	<YSIZE
		ASL	A
		ASL	A
		ORA	<WORK0
		TAY
		LDX	<UNITPOS
		LDA	MIDKUSA_DAT,Y
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		縦の２ユニットの草 セット			*
;*								*
;****************************************************************
UPKUSA_DAT	EQU	$
		WORD	UT0090,UT0158
;
;
UPKUSA		EQU	$
		MI16			; memory , index 16bit mode
		LDA	<YSIZE
		ASL	A
		TAY
		LDX	<UNITPOS
		LDA	UPKUSA_DAT,Y
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		１ユニットの草 セット				*
;*								*
;****************************************************************
		MEM16
		IDX16
DOWNKUSA	EQU	$
		LDX	<UNITPOS
		LDA	#UT0155
		STA	>BGUNIT,X
		RTL
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*	矢じるし ユニット イニシャル セット			*
;*								*
;****************************************************************
AROW_DAT_0	EQU	$
		WORD	UT0010,UT0011
		WORD	UT0017,UT0018
		WORD	RUT6A0A,RUT6A0B
		WORD	00000H,00000H
;
AROW_DAT_1	EQU	$
		WORD	UT0012,UT0013
		WORD	UT0015,UT0016
		WORD	RUT6A0C,RUT6A0D
;
AROW_DAT_2	EQU	$
		WORD	UT002D,UT002E
		WORD	UT003D,UT003E
;
AROW_DAT_3	EQU	$
		WORD	UT0010,UT0011
		WORD	UT009E,UT009F
		WORD	UT0017,UT0018
;
;
AROW		EQU	$
		MI16			; memory , index 16bit mode
		LDY	#00000H
		LDA	<XSIZE
		ASL	A
		STA	<WORK0
		LDA	<YSIZE
		ASL	A
		ASL	A
		ORA	<WORK0
		ORA	<STUNTNO
		TAY
		LDA	<NOWUNIT
		CMP	RUT2A00
		BEQ	AROW_250
		CMP	RUT2A01
		BEQ	AROW_250
		CMP	RUT6A01
		BEQ	AROW_250
		CMP	RUT6A02
		BNE	AROW_300
AROW_250	EQU	$
		LDA	AROW_DAT_0+002H*2,Y
		TAY
		LDA	0,Y
		BRA	AROW_400
;
AROW_300	EQU	$
		LDA	AROW_DAT_0,Y
AROW_400	EQU	$
		STA	<WORK0
		STA	<WORK8
		LDY	!BG1TYP
		CPY	#00004		;雪コース ?
		BNE	AROW_500	;	NO -> AROW_500
		LDY	<YSIZE
		BNE	AROW_500
;
 IF BUG10	;**** 矢印看板の優先順位 [1995/8/21]*************************
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>DWNCHK_SB
		LDY	<YSIZE
		LDA	>BGUNIT,X
		TAX
		LDA	<WORK8
		TXY
		BEQ	AROW_500
 ENDIF		;**** 矢印看板の優先順位 [1995/8/21]*************************
;
		SEC
		SBC	#UT0010
		ASL	A
		TAY
		LDA	AROW_DAT_2,Y
		BRA	AROW_900
;
AROW_500	EQU	$
		CPY	#0000CH		; フラワー コース ?
		BNE	AROW_900	;	NO -> AROW_900
		LDA	<YSIZE
		ASL	A
		ORA	<XSIZE
		ASL	A
		TAY
		CPY	#00004
		BCC	AROW_550
		LDA	<NOWUNIT
		AND	#0FF00H
		CMP	#UT8500
		BEQ	AROW_550
		INY
		INY
		INY
		INY
AROW_550	EQU	$
		LDA	AROW_DAT_3,Y
;
AROW_900	EQU	$
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		ぐるぐるバー 中心 セット			*
;*								*
;****************************************************************
		MEM16
		IDX16
GURSNTR		EQU	$
		LDX	<UNITPOS
		LDA	#UT0190
		STA	>BGUNIT,X
		RTL
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*		ぐるぐるバーを 乗せる台				*
;*								*
;****************************************************************
GURDAI_DAT	EQU	$
		WORD	UT3D71,UT3D72,UT3D73,00000H
		WORD	UT3D74,UT3D75,UT3D76
		WORD	UT0169
;
;
GURDAI		EQU	$
		MI16			; memory , index 16bit mode
		LDY	#00000H
		LDA	<XSIZE
		BEQ	GURDAI_000
		INC	A
		CMP	<XSIZECP
		BNE	GURDAI_100
		INY
		INY
GURDAI_000	EQU	$
		LDA	<NOWUNIT
		CMP	KABEHOLE_CMP,Y
		BNE	GURDAI_900
		LDY	#0000EH
		BRA	GURDAI_150
;
GURDAI_100	EQU	$
		LDA	<YSIZE
		ASL	A
		ASL	A
		ASL	A
		STA	<WORK0
		LDA	<XSIZE
		DEC	A
		ASL	A
		ORA	<WORK0
		TAY
GURDAI_150	EQU	$
		LDX	<UNITPOS
		LDA	GURDAI_DAT,Y
		STA	>BGUNIT,X
GURDAI_900	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		クサリ巻取をする場所				*
;*								*
;****************************************************************
KSRPL_DAT	EQU	$
		WORD	UT3D71,UT3D7A,UT3D73,00000H
		WORD	UT3D77,UT3D78,UT3D79,00000H
		WORD	08000H,UT0111,UT0112
;
;
KSRPL		EQU	$
		MI16			; memory , index 16bit mode
		LDY	#00000H
		LDA	<XSIZE
		BEQ	KSRPL_000
		INC	A
		CMP	<XSIZECP
		BNE	KSRPL_100
		INY
		INY
KSRPL_000	EQU	$
		LDA	<YSIZE
		CMP	#00002
		BEQ	KSRPL_900
KSRPL_010	EQU	$
		LDA	<NOWUNIT
		CMP	KABEHOLE_CMP,Y
		BNE	KSRPL_900
		BRA	KSRPL_170
;
KSRPL_100	EQU	$
		LDA	<YSIZE
		ASL	A
		ASL	A
		ASL	A
		STA	<WORK0
		LDA	<XSIZE
		DEC	A
		ASL	A
		ORA	<WORK0
		TAY
KSRPL_150	EQU	$
		LDA	KSRPL_DAT,Y
		BPL	KSRPL_180
		LDA	<NOWUNIT
		CMP	#UT0167
		BNE	KSRPL_180
KSRPL_170	EQU	$
		LDA	#UT0169
KSRPL_180	EQU	$
		LDX	<UNITPOS
		STA	>BGUNIT,X
KSRPL_900	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*	花コース 水上アスレチックの木のトップ セット		*
;*								*
;****************************************************************
HNTULU0_DAT	EQU	$
		WORD	00000H,00000H,UT3DB2
		WORD	UT3D8A,UT3D88,UT3DB3
		WORD	UT3D8B,UT3DB1,00000H
;
HNTULU1_DAT	EQU	$
		WORD	UT3DB5,00000H,00000H
		WORD	UT3DB4,UT3D89,UT3D8D
		WORD	00000H,UT3DB0,UT3D8C
;
HNTULU01_ADR	EQU	$
		WORD	HNTULU0_DAT,HNTULU1_DAT
;
;
HNTULU01	EQU	$
		MI16			; memory 16bit mode
		LDX	<STUNTNO
		LDA	<YSIZE
		ASL	A
		ADC	<YSIZE
		ASL	A
		ADC	HNTULU01_ADR,X
		STA	<WORK0
		JMP	HNTULU_SET
;
;
;****************************************************************
;*								*
;*	花コース 水上アスレチックの木の草 大 セット		*
;*								*
;****************************************************************
HNTULU2_DAT	EQU	$
		WORD	UT3DA0,UT3DA1,UT3DA2,UT3DA3,00000H
		WORD	UT3DA4,UT3DA5,UT3DA6,UT3DA7,UT3D8D
		WORD	00000H,UT3D9D,UT3D9E,UT3D9F,UT3D8C
;
HNTULU3_DAT	EQU	$
		WORD	00000H,UT3D92,UT3D93,UT3D94,UT3D95
		WORD	UT3D8A,UT3D96,UT3D97,UT3D98,UT3D99
		WORD	UT3D8B,UT3D9A,UT3D9B,UT3D9C,00000H
;
HNTULU23_ADR	EQU	$
		WORD	HNTULU2_DAT,HNTULU3_DAT
;
;
HNTULU23	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<STUNTNO
		LDA	<YSIZE
		ASL	A
		ASL	A
		ADC	<YSIZE
		ASL	A
		ADC	HNTULU23_ADR,X
		STA	<WORK0
		BRA	HNTULU_SET
;
;
;****************************************************************
;*								*
;*	花コース 水上アスレチックの木の草 左側 セット		*
;*								*
;****************************************************************
HNTULU4_DAT	EQU	$
		WORD	00000H,UT3D91,UT3DB7
		WORD	00000H,UT3D90,00000H
;
HNTULU5_DAT	EQU	$
		WORD	00000H,UT3D8A,UT3D84
		WORD	00000H,UT3D8B,UT3DB1
;
HNTULU6_DAT	EQU	$
		WORD	UT3DAE,UT3DAF,00000H
		WORD	UT3DAC,UT3DAD,UT3D83
;;;;K;;;;		WORD	UT3DAE,UT3DAF,UT3DB0
;;;;K;;;;		WORD	UT3DAC,UT3DAD,UT3D83
;
HNTULU456_ADR	EQU	$
		WORD	HNTULU4_DAT,HNTULU5_DAT,HNTULU6_DAT
;
;
HNTULU456	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<STUNTNO
		LDA	<YSIZE
		ASL	A
		ADC	<YSIZE
		ASL	A
		ADC	HNTULU456_ADR,X
		STA	<WORK0
		BRA	HNTULU_SET
;
;
;****************************************************************
;*								*
;*	花コース 水上アスレチックの木の草 右側 セット		*
;*								*
;****************************************************************
HNTULU7_DAT	EQU	$
		WORD	UT3DB6,UT3D8E,00000H
		WORD	00000H,UT3D8F,00000H
;
HNTULU8_DAT	EQU	$
		WORD	UT3D85,UT3D8D,00000H
		WORD	UT3DB0,UT3D8C,00000H
;
HNTULU9_DAT	EQU	$
		WORD	00000H,UT3DA8,UT3DA9
		WORD	UT3D82,UT3DAA,UT3DAB
;
HNTULU789_ADR	EQU	$
		WORD	HNTULU7_DAT,HNTULU8_DAT,HNTULU9_DAT
;
;
HNTULU789	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<STUNTNO
		LDA	<YSIZE
		ASL	A
		ADC	<YSIZE
		ASL	A
		ADC	HNTULU789_ADR,X
		STA	<WORK0
;
HNTULU_SET	EQU	$
		LDA	<XSIZE
		ASL	A
		TAY
		LDA	(<WORK0),Y
		BEQ	HNTULU_SET_900
		TAY
		CMP	#UT3DB0
		BEQ	HNTULU_SET_100
		CMP	#UT3DB1
		BNE	HNTULU_SET_500
		LDA	<NOWUNIT
		CMP	#UT3D82
		BNE	HNTULU_SET_400
		LDA	#UT3DB9
		BRA	HNTULU_SET_500
HNTULU_SET_100	EQU	$
		LDA	<NOWUNIT
		CMP	#UT3D83
		BNE	HNTULU_SET_400
		LDY	#UT3DBA
HNTULU_SET_400	EQU	$
		TYA
HNTULU_SET_500	EQU	$
		LDX	<UNITPOS
		STA	>BGUNIT,X
;
HNTULU_SET_900	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		ちくわブロック 小				*
;*								*
;****************************************************************
		MEM16
		IDX16
CHKWSML		EQU	$
		LDX	<UNITPOS
		LDA	#UT7505
		STA	>BGUNIT,X
		RTL
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*		花コース 第２ 岩				*
;*								*
;****************************************************************
RRR01C0 EQU	$
	WORD	UT01C0
RRR01C1 EQU	$
	WORD	UT01C1
RRR01C2 EQU	$
	WORD	UT01C2
RRR01C3 EQU	$
	WORD	UT01C3
RRR01C4 EQU	$
	WORD	UT01C4
RRR01C5 EQU	$
	WORD	UT01C5
RRR01C6 EQU	$
	WORD	UT01C6
RRR01C7 EQU	$
	WORD	UT01C7
RRR01C8 EQU	$
	WORD	UT01C8
RRR01C9 EQU	$
	WORD	UT01C9
RRR01CA EQU	$
	WORD	UT01CA
RRR01CB EQU	$
	WORD	UT01CB
RRR01CC EQU	$
	WORD	UT01CC
RRR01CD EQU	$
	WORD	UT01CD
RRR01CE EQU	$
	WORD	UT01CE
RRR01CF EQU	$
	WORD	UT01CF
;
HANAIWA00_DAT	EQU	$
		WORD	RUT0201,RUT0F01,RUT1001,00000H
		WORD	RUT0302,RRR01C1,RRR01C9,RUT0A02
;
HANAIWA01_DAT	EQU	$
		WORD	00000H, RUT0801,RUT0F01,RUT1001,00000H
		WORD	RUT0201,RRR01CA,RRR01CB,RRR01CC,RUT0501
		WORD	RUT0302,RRR01CD,RRR01CE,RRR01CF,RUT0602
;
HANAIWA02_DAT	EQU	$
		WORD	RUT0201,RRR01C0,RUT0A01
		WORD	RUT0302,RRR01C1,RRR01C2
;
HANAIWA03_DAT	EQU	$
		WORD	RUT0201,RRR01C0,RUT0501
		WORD	RUT0302,RRR01C1,RUT0601
;
HANAIWA04_DAT	EQU	$
		WORD	00000H, RUT0201,RUT0F01,RUT1001,00000H
		WORD	00000H, RUT0301,RRR01C3,RRR01C4,00000H
		WORD	RUT0201,RRR01CA,RRR01CB,RRR01C5,RUT0501
		WORD	RUT0302,RRR01CD,RRR01CE,RRR01C6,RUT0602
;
HANAIWA05_DAT	EQU	$
		WORD	00000H, RUT0201,RRR01C0,RUT0A01,00000H
		WORD	00000H, RUT0301,RRR01C3,RRR01C4,00000H
		WORD	RUT0201,RRR01CA,RRR01CB,RRR01C5,RUT0501
		WORD	RUT0302,RRR01CD,RRR01CE,RRR01C6,RUT0602
;
HANAIWA06_DAT	EQU	$
		WORD	00000H, RUT0801,RUT0A01,00000H
		WORD	RUT0201,RRR01CA,RRR01CC,RUT0501
		WORD	RUT0302,RRR01C7,RRR01CF,RUT0602
;
HANAIWA07_DAT	EQU	$
		WORD	RUT0201,RUT0A01
		WORD	RUT0302,RRR01C2
;
HANAIWA_ADR	EQU	$
		WORD	HANAIWA00_DAT,HANAIWA01_DAT,HANAIWA02_DAT
		WORD	HANAIWA03_DAT,HANAIWA04_DAT,HANAIWA05_DAT
		WORD	HANAIWA06_DAT,HANAIWA07_DAT
;
HANAIWA_ADD	EQU	$
		WORD	(HANAIWA01_DAT-HANAIWA00_DAT)/2
		WORD	(HANAIWA02_DAT-HANAIWA01_DAT)/3
		WORD	(HANAIWA03_DAT-HANAIWA02_DAT)/2
		WORD	(HANAIWA04_DAT-HANAIWA03_DAT)/2
		WORD	(HANAIWA05_DAT-HANAIWA04_DAT)/4
		WORD	(HANAIWA06_DAT-HANAIWA05_DAT)/4
		WORD	(HANAIWA07_DAT-HANAIWA06_DAT)/3
		WORD	  (HANAIWA_ADR-HANAIWA07_DAT)/2
;
;
HANAIWA		EQU	$
		MI16			; memory , index 16bit mode
		LDY	<YSIZE
		LDX	<STUNTNO
		LDA	HANAIWA_ADR,X
HANAIWA_230	EQU	$
		DEY
		BMI	HANAIWA_280
		CLC
		ADC	HANAIWA_ADD,X
		BRA	HANAIWA_230
HANAIWA_280	EQU	$
		STA	<WORK0
;
		LDA	<XSIZE
		ASL	A
		TAY
		LDX	<UNITPOS
		LDA	(<WORK0),Y
		BEQ	HANAIWA_END
		TAY
		LDA	0,Y
		STA	>BGUNIT,X
HANAIWA_END	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		草コース 第二 ボロボロ杭の枝			*
;*								*
;****************************************************************
RRR3DD1 EQU	$
	WORD	UT3DD1
RRR3DD4 EQU	$
	WORD	UT3DD4
;
BREDA_CMP	EQU	$
		WORD	RUT0802,RUT0A04
		WORD	RUT0C01,RUT1003
		WORD	RRR3DD1,RRR3DD4
;
RRR3DE0 EQU	$
	WORD	UT3DE0
RRR3DE1 EQU	$
	WORD	UT3DE1
;
BREDA_DAT	EQU	$
		WORD	RUT0803,RUT0A03
		WORD	RUT0C02,RUT1002
		WORD	RRR3DE0,RRR3DE1
;
;
BREDA		EQU	$
		MI16			; memory , index 16bit mode
		LDY	#00000H
BREDA_050	EQU	$
		LDA	BREDA_CMP,Y
		PHY
		TAY
		LDA	0,Y
		PLY
		CMP	<NOWUNIT
		BEQ	BREDA_100
		INY
		INY
		CPY	#BREDA_DAT-BREDA_CMP
		BCC	BREDA_050
		BRA	BREDA_900
;
BREDA_100	EQU	$
		LDX	<UNITPOS
		LDA	BREDA_DAT,Y
		TAY
		LDA	0,Y
		STA	>BGUNIT,X
BREDA_900	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		地下コース 滝の上に置く石			*
;*								*
;****************************************************************
CHKTKISI_DAT	EQU	$
		WORD	UT775E,UT775F
;
;
CHKTKISI	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<UNITPOS
		LDA	<STUNTNO
		AND	#00001
		ASL	A
		TAY
		LDA	CHKTKISI_DAT,Y
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		花コース 敵が隠れる草				*
;*								*
;****************************************************************
KUSAKAGE_ADR	EQU	$
		WORD	KSKGSML
		WORD	KSKGMID
		WORD	KSKGBIG
;
;
KUSAKAGE	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<XSIZE
		ASL	A
		STA	<WORK0
		LDA	<YSIZE
		ASL	A
		ASL	A
		ASL	A
		ORA	<WORK0
		TAY
		LDX	<STUNTNO
		JSR	(KUSAKAGE_ADR,X)
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
		MEM16
		IDX16
;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+		敵が隠れる草 小				+
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
KSKGSML_DAT	EQU	$
		WORD	UT776B,UT776C,UT776D,00000H
		WORD	UT01F1,UT01F6,UT01F5
;
;
KSKGSML		EQU	$
		LDA	KSKGSML_DAT,Y
		RTS
;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+		敵が隠れる草 中				+
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
KSKGMID_DAT	EQU	$
		WORD	UT7761,UT7762,UT7764,UT7765
		WORD	UT7766,UT7767,UT7769,UT776A
		WORD	UT01F1,UT01F2,UT01F4,UT01F5
;
;
KSKGMID		EQU	$
		LDA	KSKGMID_DAT,Y
		RTS
;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+		敵が隠れる草 大				+
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
KSKGBIG_DAT	EQU	$
		WORD	UT7761,UT7762,UT7763,UT7764,UT7765
		WORD	UT7766,UT7767,UT7768,UT7769,UT776A
		WORD	UT01F1,UT01F2,UT01F3,UT01F4,UT01F5
;
KSKGBIG_ADD	EQU	$
		WORD	00000H,0000AH,0000AH*2
;
;
KSKGBIG		EQU	$
		LDA	<YSIZE
		ASL	A
		TAY
		LDA	KSKGBIG_ADD,Y
		CLC
		ADC	<WORK0
		TAY
		LDA	KSKGBIG_DAT,Y
		RTS
;
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*	ドカン(溶岩第２)コース ドカンの出入り口			*
;*								*
;****************************************************************
DKNINDT		EQU	$
		WORD	UT7D18,UT7D1C,UT7D10,UT7D14
;
;
DKNINST		EQU	$
		MI16			; memory,index 16 bit mode !!
;
		LDX	<UNITPOS
		LDY	<STUNTNO
		LDA	<YSIZE
		ASL	A
		ORA	<XSIZE
		CLC
		ADC	!DKNINDT,Y
		STA	>BGUNIT,X
;
		MI8			; memory,index 8 bit mode !!
;
		RTL
;
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		DKUPBST		( 土管上の方が太いユニットセット )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DKUPBDT		EQU	$
		WORD	UT791F,UT0A52,UT77C2,UT77C1,UT0850,UT791E
;
;
DKUPBST		EQU	$
		MI16			; memory,index 16 bit mode !!
;
		LDA	<XSIZE
		ASL	A
		TAY
		LDA	!DKUPBDT,Y
;
DKNUTST		EQU	$
		LDX	<UNITPOS
		STA	>BGUNIT,X
;
		MI8			; memory,index 8 bit mode !!
;
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		DKDNBST		( 土管下の方が太いユニットセット )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DKDNBDT		EQU	$
		WORD	UT792F,UT5D30,UT77C0,UT77D3,UT5B31,UT792E
;
DKDNBST		EQU	$
		MI16			; memory,index 16 bit mode !!
;
		LDA	<XSIZE
		ASL	A
		TAY
		LDA	!DKDNBDT,Y
		BRA	DKNUTST
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		DKLFBST		( 土管左の方が太いユニットセット )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DKLFBDT		EQU	$
		WORD	UT792E,UT5B30,UT77D0,UT77C1,UT0850,UT791E
;
;
DKLFBST		EQU	$
		MI16			; memory,index 16 bit mode !!
;
		LDA	<YSIZE
		ASL	A
		TAY
		LDA	!DKLFBDT,Y
		BRA	DKNUTST
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		DKRIBST		( 土管右の方が太いユニットセット )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DKRIBDT		EQU	$
		WORD	UT792F,UT5D30,UT77C0,UT77D1,UT0A51,UT791F
;
;
DKRIBST		EQU	$
		MI16			; memory,index 16 bit mode !!
;
		LDA	<YSIZE
		ASL	A
		TAY
		LDA	!DKRIBDT,Y
		BRA	DKNUTST
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		DTTSLST		( 土管縦４ユニットつなぎユニットセット )x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DTTSLD0		EQU	$
		WORD	UT7918,UT77B8,UT77BB,UT7928
		WORD	UT7919,00000H,00000H,UT7929

;
;
DTTSLST		EQU	$
		MI16			; memory,index 16 bit mode !!
;
		LDX	<UNITPOS
		LDA	<XSIZE
		ASL	A
		ASL	A
		ORA	<YSIZE
		ASL	A
		TAY
		LDA	!DTTSLD0,Y
;
DTTSLST_050	EQU	$
		BEQ	DTTSLST_END
;
		STA	>BGUNIT,X
;
DTTSLST_END	EQU	$
		MI8			; memory,index 8 bit mode !!
;
		RTL
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		DTTSRST		( 土管縦４ユニットつなぎユニットセット )x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DTTSRDT		EQU	$
		WORD	UT791A,00000H,00000H,UT792A
		WORD	UT791B,UT77BC,UT77BF,UT792B
;
;
DTTSRST		EQU	$
		MI16			; memory,index 16 bit mode !!
;
		LDX	<UNITPOS
		LDA	<XSIZE
		ASL	A
		ASL	A
		ORA	<YSIZE
		ASL	A
		TAY
		LDA	!DTTSRDT,Y
;
		BRA	DTTSLST_050
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		DTTLLST		( 土管縦６ユニットつなぎユニットセット )x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DTTLLDT		EQU	$
		WORD	UT7918,UT77B8,UT77B9,UT77BA,UT77BB,UT7928,00000H,00000H
		WORD	UT7919,00000H,00000H,00000H,00000H,UT7929
;
DTTLLST		EQU	$
		MI16			; memory,index 16 bit mode !!
;
		LDX	<UNITPOS
		LDA	<XSIZE
		ASL	A
		ASL	A
		ASL	A
		ORA	<YSIZE
		ASL	A
		TAY
		LDA	!DTTLLDT,Y
;
		BRA	DTTSLST_050
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		DTTLRST		( 土管縦６ユニットつなぎユニットセット )x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DTTLRDT		EQU	$
		WORD	UT791A,00000H,00000H,00000H,00000H,UT792A,0000H,00000H
		WORD	UT791B,UT77BC,UT77BD,UT77BE,UT77BF,UT792B
;
;
DTTLRST		EQU	$
		MI16			; memory,index 16 bit mode !!
;
		LDX	<UNITPOS
		LDA	<XSIZE
		ASL	A
		ASL	A
		ASL	A
		ORA	<YSIZE
		ASL	A
		TAY
		LDA	!DTTLRDT,Y
;
		JMP	DTTSLST_050
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		DYKSUST		( 土管横４ユニットつなぎユニットセット )x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DYKSUDT		EQU	$
		WORD	UT7912,UT7922
		WORD	UT77A8,00000H
		WORD	UT77AB,00000H
		WORD	UT7913,UT7923
;;;;;;;;		WORD	UT7912,0FFFFH,0FFFFH,UT7913
;;;;;;;;		WORD	UT7922,00000H,00000H,UT7923
;
;
DYKSUST		EQU	$
		MI16			; memory,index 16 bit mode !!
;
		LDX	<UNITPOS
		LDA	<XSIZE
		ASL	A
		ORA	<YSIZE
		ASL	A
		TAY
		LDA	!DYKSUDT,Y
;
		JMP	DTTSLST_050
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		DYKSDST		( 土管横４ユニットつなぎユニットセット )x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DYKSDDT		EQU	$
		WORD	UT7914,UT7924
		WORD	00000H,UT77AC
		WORD	00000H,UT77AF
		WORD	UT7915,UT7925
;;;;;;;;		WORD	UT7914,00000H,00000H,UT7915
;;;;;;;;		WORD	UT7924,0FFFFH,0FFFFH,UT7925
;
;
DYKSDST		EQU	$
		MI16			; memory,index 16 bit mode !!
;
		LDX	<UNITPOS
		LDA	<XSIZE
		ASL	A
		ORA	<YSIZE
		ASL	A
		TAY
		LDA	!DYKSDDT,Y
;
		JMP	DTTSLST_050
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		DYKLUST		( 土管横６ユニットつなぎユニットセット )x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DYKLLDT		EQU	$
		WORD	UT7912,UT7922
		WORD	UT77A8,00000H
		WORD	UT77A9,00000H
		WORD	UT77AA,00000H
		WORD	UT77AB,00000H
		WORD	UT7913,UT7923
;;;;;;;;		WORD	UT7912,0FFFFH,0FFFFH,0FFFFH,0FFFFH,UT7913
;;;;;;;;		WORD	UT7922,00000H,00000H,00000H,00000H,UT7923
;
;
DYKLUST		EQU	$
		MI16			; memory,index 16 bit mode !!
;
		LDX	<UNITPOS
		LDA	<XSIZE
		ASL	A
		ORA	<YSIZE
		ASL	A
		TAY
		LDA	!DYKLLDT,Y
;
		JMP	DTTSLST_050
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		DYKLDST		( 土管横６ユニットつなぎユニットセット )x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DYKLRDT		EQU	$
		WORD	UT7914,UT7924
		WORD	00000H,UT77AC
		WORD	00000H,UT77AD
		WORD	00000H,UT77AE
		WORD	00000H,UT77AF
		WORD	UT7915,UT7925
;;;;;;;;		WORD	UT7914,00000H,00000H,00000H,00000H,UT7915
;;;;;;;;		WORD	UT7924,0FFFFH,0FFFFH,0FFFFH,0FFFFH,UT7925
;
;
DYKLDST		EQU	$
		MI16			; memory,index 16 bit mode !!
;
		LDX	<UNITPOS
		LDA	<XSIZE
		ASL	A
		ORA	<YSIZE
		ASL	A
		TAY
		LDA	!DYKLRDT,Y
;
		JMP	DTTSLST_050
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		DKHOTST		( 土管排水溝ユニットセット )		x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DKHOTDT		EQU	$
		WORD	UT77CD,UT77CE
;
;
DKHOTST		EQU	$
		MI16			; memory,index 16 bit mode !!
;
		LDA	<XSIZE
		ASL	A
		TAY
		LDA	!DKHOTDT,Y
;
		JMP	DKNUTST
;
;
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;x		DKNNKST		( 土管の斜めの角の影ユニットセット )	x
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DKNNKDT		EQU	$
		WORD	UT77C2,UT77D3
;
;
DKNNKST		EQU	$
		MI16			; memory,index 16 bit mode !!
;
		LDX	<UNITPOS
		LDY	<STUNTNO
		LDA	!DKNNKDT,Y
		STA	>BGUNIT,X
;
		MI8			; memory,index 8 bit mode !!
;
		RTL
;
;
;****************************************************************
;*								*
;*		ジュゲム 出現用の穴				*
;*								*
;****************************************************************
		MEM16
		IDX16
JGM_HOLL	EQU	$
		LDX	<UNITPOS
		LDA	#UT0014
		STA	>BGUNIT,X
		RTL
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*		ゴール床 					*
;*								*
;****************************************************************
GOAL_DAI	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<UNITPOS
		LDA	<XSIZE
		CLC
		ADC	#UT6F00
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		ゴールの屋根 セット				*
;*								*
;****************************************************************
GOAL_YN_DAT	EQU	$
		WORD	UT8400,UT8401,UT8402,UT8403,UT8401,UT8402,UT8405,UT8406
		WORD	UT8410,UT8411,UT8412,UT8413,UT8412,UT8411,UT8415,UT8416
		WORD	UT8407,UT8408,UT8407,UT8408,UT8407,UT8408,UT8407,UT8408
		WORD	UT8409,UT840A,UT840B,UT840C,UT8409,UT840A,UT840B,UT840C
		WORD	UT840B,UT840C,UT840B,UT840C,UT8409,UT840A,UT8409,UT840A
;
;
GOAL_YN		EQU	$
		MI16			; memory , index 16bit mode
		LDX	<UNITPOS
		LDA	<XSIZE
		ASL	A
		STA	<WORK0
		LDA	<YSIZE
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		ORA	<WORK0
		TAY
		LDA	GOAL_YN_DAT,Y
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		空コース 雲					*
;*								*
;****************************************************************
SR_KM_DAT0	EQU	$
	HEX	000,000,000,000,000,000,000,000,000,000,000,000,002,003,000,000
	HEX	000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000	; 00
	HEX	000,000,000,000,000,000,000,000,000,000,004,005,006,007,008,009
	HEX	000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000	; 01
	HEX	000,000,000,000,000,000,000,000,000,013,014,021,021,021,021,019
	HEX	01A,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000	; 02
	HEX	000,000,000,000,000,000,000,000,020,014,021,021,021,021,021,021
	HEX	019,027,000,004,005,008,009,000,000,000,000,000,000,000,000,000	; 03
	HEX	000,000,000,000,000,013,001,01A,02D,021,021,021,0A6,0A5,021,021
	HEX	021,032,013,014,021,021,019,027,000,000,000,000,000,000,000,000	; 04
	HEX	000,000,000,004,005,014,021,021,021,021,0DD,0DF,0DA,0D8,0E1,0E3
	HEX	021,019,014,021,021,021,021,032,004,005,001,008,009,000,000,000	; 05
	HEX	000,000,013,014,0A4,021,021,021,021,0D1,021,021,021,021,021,021
	HEX	0D3,021,021,021,021,021,021,019,014,021,021,021,019,027,000,000	; 06
	HEX	000,020,0DC,0DF,0D8,0E1,0E3,0DD,0DF,021,021,021,021,021,021,021
	HEX	021,0E1,0E3,0A6,0A4,0DD,0DF,0E1,0E3,0A6,0A5,021,021,032,000,000	; 07
	HEX	000,0D0,021,021,021,021,021,021,021,021,021,021,021,021,021,021
	HEX	021,021,021,0DA,0DB,021,021,021,021,0D8,0DA,0E1,0E3,019,01A,000	; 08
	HEX	038,039,021,021,021,021,021,021,021,021,021,021,021,021,021,021
	HEX	021,021,021,021,021,021,021,021,021,021,021,021,021,0DA,0D4,043	; 09
	HEX	048,049,021,021,021,021,021,021,021,021,021,021,021,021,021,021
	HEX	021,021,021,021,021,021,021,021,021,021,021,021,021,021,052,053	; 0A
	HEX	057,058,021,021,021,021,021,021,021,021,021,021,021,021,021,021
	HEX	021,021,021,021,021,021,021,021,021,021,021,021,021,021,061,062	; 0B
	HEX	000,068,069,06A,021,021,021,021,021,021,021,021,021,021,021,021
	HEX	021,021,021,021,021,021,021,021,021,021,021,021,06F,070,071,000	; 0C
	HEX	000,077,078,046,07A,07B,04A,021,021,021,021,021,021,021,021,021
	HEX	021,021,021,04D,05F,021,021,021,021,021,06F,07D,06C,08F,080,000	; 0D
	HEX	000,000,095,096,078,076,03B,06A,06F,07B,04A,021,021,021,021,021
	HEX	021,021,021,04C,060,021,021,021,021,04E,026,06C,051,064,000,000	; 0E
	HEX	000,000,000,000,063,088,079,025,026,081,060,021,021,021,021,021
	HEX	021,021,04E,036,05C,07A,07B,07C,07D,026,06C,051,08C,080,000,000	; 0F
	HEX	000,000,000,000,077,017,06D,088,089,07F,073,05E,021,021,021,021
	HEX	06F,07D,026,072,055,079,06C,06C,06C,07E,083,099,09A,000,000,000	; 10
	HEX	000,000,000,000,000,095,096,094,099,09A,068,076,07A,07B,07C,07D
	HEX	026,06C,07E,071,067,06D,088,089,08B,06E,064,000,000,000,000,000	; 11
	HEX	000,000,000,000,000,000,000,000,000,000,077,078,079,05A,05A,05A
	HEX	07E,03C,08C,080,077,017,06B,06B,06B,018,080,000,000,000,000,000	; 12
	HEX	000,000,000,000,000,000,000,000,000,000,000,086,087,088,089,08B
	HEX	06E,018,08D,000,000,095,096,094,099,09A,000,000,000,000,000,000	; 13
	HEX	000,000,000,000,000,000,000,000,000,000,000,000,095,096,097,098
	HEX	099,09A,000,000,000,000,000,000,000,000,000,000,000,000,000,000	; 14
	HEX	000,000,000,000,000,000,000,000,000,000,000,000,000,000,040,041
	HEX	000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000	; 15
;
SR_KM_DAT1	EQU	$
;		 00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D  0E  0F  10  11  12
	HEX	000,000,000,000,000,000,000,000,000,000,002,003,000,000,000,000,000,000,000	;00
	HEX	000,000,000,000,000,000,000,000,004,005,006,007,008,009,000,000,000,000,000	;01
	HEX	000,000,000,000,002,003,000,020,014,021,0A6,0A5,021,019,027,000,09C,000,000	;02
	HEX	000,000,09C,013,006,007,01A,02D,0DD,0DF,0DA,0D8,0E1,0E3,032,013,001,01A,000	;03
	HEX	000,013,001,0DC,0E3,0DD,0E0,0D9,021,021,021,021,021,021,0D7,0DC,0E3,052,053	;04
	HEX	048,0DE,0DF,021,021,021,021,021,021,021,021,021,021,021,021,021,021,0D5,062	;05
	HEX	000,03E,02C,021,021,021,021,021,021,021,021,021,04E,05E,04E,07A,07D,090,01C	;06
	HEX	000,057,058,021,021,021,04B,070,069,07D,07A,07D,051,088,07F,082,08B,08C,080	;07
	HEX	000,000,068,069,07D,07A,045,07F,078,08B,088,08B,08C,099,09A,086,094,08D,000	;08
	HEX	000,000,077,078,089,08B,08C,08D,086,097,098,099,09A,000,000,000,09B,000,000	;09
	HEX	000,000,000,095,096,099,09A,000,000,040,041,000,000,000,000,000,000,000,000	;0A
;
SR_KM_DAT2	EQU	$
;		 00  01  02  03  04  05  06  07  08  09
	HEX	000,000,000,000,09C,09C,000,000,000,000	;00
	HEX	000,000,002,013,001,0A2,01A,09C,000,000	;01
	HEX	000,013,006,0DC,0DF,0D8,0D7,001,01A,000	;02
	HEX	048,0D2,0D8,021,021,021,021,0E1,0E5,053	;03
	HEX	000,03E,074,021,021,04B,07B,024,091,01C	;04
	HEX	000,000,03E,074,07B,024,034,017,018,080	;05
	HEX	000,000,000,095,093,099,09A,095,09A,000	;06
;
SR_KM_DAT3	EQU	$
;		 00  01  02  03  04  05  06  07
	HEX	000,000,000,000,000,09C,000,000	;00
	HEX	000,000,002,003,013,001,01A,000	;01
	HEX	000,013,006,0A1,014,021,052,053	;02
	HEX	048,0DE,0DF,0D8,0D8,0E1,0E7,062	;03
	HEX	000,03E,084,021,06F,07D,090,01C	;04
	HEX	000,000,03E,092,010,08B,08C,080	;05
	HEX	000,000,000,095,096,099,09A,000	;06
;
SR_KM_DAT4	EQU	$
;		 00  01  02  03  04  05  06  07  08  09  0A  0B  0C
	HEX	000,000,000,000,000,09C,000,000,09C,000,000,000,000	;00
	HEX	000,000,002,003,013,001,01A,013,001,01A,000,000,000	;01
	HEX	000,013,006,007,0DC,0DF,0D3,0DC,0E3,019,01A,02A,01E	;02
	HEX	048,0D2,0D8,0DA,021,021,021,021,021,0D8,0E2,0E6,02B	;03
	HEX	000,03E,084,021,021,04E,07A,06A,06F,07D,022,090,0D6	;04
	HEX	000,000,03E,074,07D,045,07F,082,089,08B,08C,017,056	;05
	HEX	000,000,000,095,093,00B,09A,086,097,098,08D,095,09A	;06
	HEX	000,000,000,000,000,000,000,000,040,041,000,000,000	;07
;
SR_KM_ADR	EQU	$
		WORD	SR_KM_DAT0,SR_KM_DAT1,SR_KM_DAT2
		WORD	SR_KM_DAT3,SR_KM_DAT4
;
SR_KM_ADD	EQU	$
		WORD	00020H,00013H,0000AH
		WORD	00008H,000DH
;
SR_KM_UNIT	EQU	$
		WORD	RUT0800,RUT0801,RUT0802			;D0,D1,D2
		WORD	RUT0A00,RUT0A01,RUT0A02,RUT0A03,RUT0A04	;D3,D4,D5,D6,D7
		WORD	RUT3800,RUT3801,RUT3802,RUT3803		;D8,D9,DA,DB
		WORD	RUT0C00,RUT0C01,RUT0C02			;DC,DD,DE
		WORD	RUT0D00,RUT0D01				;DF,E0
		WORD	RUT0F00,RUT0F01				;E1,E2
		WORD	RUT1000,RUT1001,RUT1002,RUT1003,RUT1004	;E3,E4,E5,E6,E7
;
;
SORA_KUMO	EQU	$
		MI16			; memory , index 16bit mode
		LDY	<STUNTNO
		LDA	SR_KM_ADR,Y
		LDX	<YSIZE
SORA_KUMO_100	EQU	$
		DEX
		BMI	SORA_KUMO_150
		CLC
		ADC	SR_KM_ADD,Y
		BRA	SORA_KUMO_100
;
SORA_KUMO_150	EQU	$
		CLC
		ADC	<XSIZE
		STA	<WORK0
		LDA	(<WORK0)
		AND	#000FFH
		BEQ	SORA_KUMO_800
		CMP	#000D0H
		BCC	SORA_KUMO_200
		SEC
		SBC	#000D0H
		ASL	A
		TAY
		LDA	SR_KM_UNIT,Y
		TAY
		LDA	0,Y
		BRA	SORA_KUMO_400
SORA_KUMO_200	EQU	$
		DEC	A
		CLC
		ADC	#UT8420
SORA_KUMO_400	EQU	$
		LDX	<UNITPOS
		STA	>BGUNIT,X
;
SORA_KUMO_800	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		ドカン(溶岩第２)コース 穴			*
;*								*
;****************************************************************
DOKANANA_SET	EQU	$
		WORD	DOKANANA_SET0,DOKANANA_SET1
		WORD	DOKANANA_SET2,DOKANANA_SET3
;
;
DOKANANA	EQU	$
		MI16			; memory , index 16bit mode
		STZ	<WORK4
		LDA	<NOWUNIT
		AND	#0FF00H
		CMP	#UT8500
		BNE	DOKANANA_200
		LDA	<NOWUNIT
		SEC
		SBC	#UT8550
		STA	<WORK2
		INC	<WORK4
		BRA	DOKANANA_400
;
DOKANANA_200	EQU	$
		LDA	<NOWUNIT
		SEC
		SBC	#UT77A0
		AND	#000FEH
		STA	<WORK2
;
DOKANANA_400	EQU	$
		LDA	<XSIZE
		ASL	A
		TAY
		LDA	<YSIZE
		ASL	A
		TAX
		JSR	(DOKANANA_SET,X)
;
		LDA	<WORK0
		BEQ	DOKANANA_900
		LDX	<UNITPOS
		STA	>BGUNIT,X
;
DOKANANA_900	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
		MEM16
		IDX16
;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+							+
;+		穴 上					+
;+							+
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DKNAN_ST0_DT	EQU	$
		WORD	00000H,UT8500,UT8504,00000H
;
DKNAN_ST0_DT_S	EQU	$
		WORD	00000H,UT8580,UT8584,00000H
;
DKNAN_ST0_ADD	EQU	$
		WORD	00002H,00001H,00000H,00002H
		WORD	00000H,00000H,00000H,00000H	;ダミー
		WORD	00000H,00001H,00000H,00000H
;
;
DOKANANA_SET0	EQU	$
		LDA	<WORK4
		BEQ	DKNAN_ST0_100
		LDA	DKNAN_ST0_DT_S,Y
		BEQ	DKNAN_ST0_250
		CLC
		ADC	<WORK2
		BRA	DKNAN_ST0_250
;
DKNAN_ST0_100	EQU	$
		LDA	DKNAN_ST0_DT,Y
		STA	<WORK0
		BEQ	DKNAN_ST0_900
		LDA	<NOWUNIT
		AND	#0FF00H
		CMP	#UT7900
		BNE	DKNAN_ST0_200
		STZ	<WORK0
		BRA	DKNAN_ST0_900
;
DKNAN_ST0_200	EQU	$
		LDY	<WORK2
		LDA	<WORK0
		CLC
		ADC	DKNAN_ST0_ADD,Y
DKNAN_ST0_250	EQU	$
		STA	<WORK0
;
DKNAN_ST0_900	EQU	$
		RTS
;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+							+
;+		穴 上から２番目				+
;+							+
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DKNAN_ST1_DT	EQU	$
		WORD	UT8508,UT77F5,UT77F6,UT850C
;
DKNAN_ST1_DT_S	EQU	$
		WORD	UT8588,UT77F5,UT77F6,UT858C
;
DKNAN_ST1_ADD	EQU	$
		WORD	00002H,00001H,00000H,00002H
		WORD	00000H,00000H,00000H,00000H	;ダミー
		WORD	00003H,00001H,00000H,00003H
;
;
DOKANANA_SET1	EQU	$
		LDA	<WORK4
		BEQ	DKNAN_ST1_100
		LDA	DKNAN_ST1_DT_S,Y
		CPY	#00001H*2
		BEQ	DKNAN_ST1_250
		CPY	#00002H*2
		BEQ	DKNAN_ST1_250
		CLC
		ADC	<WORK2
		BRA	DKNAN_ST1_250
;
DKNAN_ST1_100	EQU	$
		LDA	DKNAN_ST1_DT,Y
		STA	<WORK0
		TYA
		BEQ	DKNAN_ST1_200
		CMP	#00006
		BNE	DKNAN_ST1_900
DKNAN_ST1_200	EQU	$
		LDY	<WORK2
		LDA	<WORK0
		CLC
		ADC	DKNAN_ST1_ADD,Y
DKNAN_ST1_250	EQU	$
		STA	<WORK0
;
DKNAN_ST1_900	EQU	$
		RTS
;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+							+
;+		穴 下から２番目				+
;+							+
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DKNAN_ST2_DT	EQU	$
		WORD	UT8510,UT1800,UT77F7,UT8514
;
DKNAN_ST2_DT_S	EQU	$
		WORD	UT8590,UT1800,UT77F7,UT8594
;
;
DOKANANA_SET2	EQU	$
		LDA	<WORK4
		BEQ	DKNAN_ST2_100
		LDA	DKNAN_ST2_DT_S,Y
		CPY	#00001H*2
		BEQ	DKNAN_ST2_250
		CPY	#00002H*2
		BEQ	DKNAN_ST2_250
		CLC
		ADC	<WORK2
		BRA	DKNAN_ST2_250
;
DKNAN_ST2_100	EQU	$
		LDA	DKNAN_ST2_DT,Y
		STA	<WORK0
		TYA
		BEQ	DKNAN_ST2_200
		CMP	#00006
		BNE	DKNAN_ST2_900
DKNAN_ST2_200	EQU	$
		LDY	<WORK2
		LDA	<WORK0
		CLC
		ADC	DKNAN_ST1_ADD,Y
DKNAN_ST2_250	EQU	$
		STA	<WORK0
;
DKNAN_ST2_900	EQU	$
		RTS
;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+							+
;+		穴 下					+
;+							+
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DKNAN_ST3_DT	EQU	$
		WORD	00000H,UT8518,UT851C,00000H
;
DKNAN_ST3_DT_S	EQU	$
		WORD	00000H,UT8598,UT859C,00000H
;
;
DOKANANA_SET3	EQU	$
		LDA	<WORK4
		BEQ	DKNAN_ST3_000
		LDA	DKNAN_ST3_DT_S,Y
		BEQ	DKNAN_ST3_250
		CLC
		ADC	<WORK2
		BRA	DKNAN_ST3_250
;
DKNAN_ST3_000	EQU	$
		LDA	DKNAN_ST3_DT,Y
		STA	<WORK0
		BEQ	DKNAN_ST3_900
		LDA	<NOWUNIT
		AND	#0FF00H
		CMP	#UT1500
		BEQ	DKNAN_ST3_100
		CMP	#UT7900
		BNE	DKNAN_ST3_200
DKNAN_ST3_100	EQU	$
		STZ	<WORK0
		BRA	DKNAN_ST3_900
;
DKNAN_ST3_200	EQU	$
		LDY	<WORK2
		LDA	<WORK0
		CLC
		ADC	DKNAN_ST0_ADD,Y
DKNAN_ST3_250	EQU	$
		STA	<WORK0
;
DKNAN_ST3_900	EQU	$
		RTS
;
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*		ドカン(溶岩第２)コース 横矢印			*
;*								*
;****************************************************************
DKN_YKARW_DT	EQU	$
		WORD	UT8520,UT8528
;
DKN_YKARW_DT_SB	EQU	$
		WORD	UT8526,UT852E
;
;
DOKAN_YKARW	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<UNITPOS
		LDY	<STUNTNO
		LDA	<NOWUNIT
		SEC
		SBC	#UT77B0
		AND	#0000EH
		STA	<WORK0
		CLC
		ADC	DKN_YKARW_DT,Y
		CLC
		ADC	<XSIZE
		STA	>BGUNIT,X
		LDA	<WORK0
		BNE	DKN_YKARW_900
;
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>DWNCHK_SB
		LDA	DKN_YKARW_DT_SB,Y
		CLC
		ADC	<XSIZE
		STA	>BGUNIT,X
;
DKN_YKARW_900	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		ドカン(溶岩第２)コース 縦矢印			*
;*								*
;****************************************************************
DKN_TTARW_DT	EQU	$
		WORD	UT8530,UT8538
;
DKN_TTARW_DT_SB	EQU	$
		WORD	UT8536,UT853E
;
;
DOKAN_TTARW	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<UNITPOS
		LDY	<STUNTNO
		LDA	<NOWUNIT
		SEC
		SBC	#UT77A0
		AND	#0000EH
		STA	<WORK0
		CLC
		ADC	DKN_TTARW_DT,Y
		CLC
		ADC	<YSIZE
		STA	>BGUNIT,X
		LDA	<WORK0
		BNE	DKN_TTARW_900
;
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>RITCHK_SB
		LDA	DKN_TTARW_DT_SB,Y
		CLC
		ADC	<YSIZE
		STA	>BGUNIT,X
;
DKN_TTARW_900	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		床ＢＧの はしっこのエッジが ないやつ 		*
;*								*
;****************************************************************
NOEEG_ADR	EQU	$
		WORD	NOEEG_LFT,NOEEG_RIT
;
;
KUSANOEEG	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<UNITPOS
		LDA	<NOWUNIT
		SEC
		SBC	RUT3920
		AND	#00001
		TAY
		CLC
		ADC	RUT3940
		STA	>BGUNIT,X
;
		TYA
		ASL	A
		TAX
		JSR	(NOEEG_ADR,X)
;
		MI8			; memory , index 8bit mode
		RTL
;
		MEM16
		IDX16
;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+							+
;+		左側エッジ				+
;+							+
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
NOEEG_LFT	EQU	$
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>UPCHK_SB
		LDA	RUT2A05
		STA	>BGUNIT,X
;
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>LFTCHK_SB
		LDA	#UT0000
		STA	>BGUNIT,X
;
		LDA	<XYPOINT
		AND	#070F0H
		STA	<WORK0
		LDA	<XYPOINT
		AND	#00F0FH
		DEC	A
		AND	#00F0FH
		ORA	<WORK0
		STA	<WORKE
		JSL	>UPCHK_SB
		LDA	#UT0000
		STA	>BGUNIT,X
;
		RTS
;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+							+
;+		右側エッジ				+
;+							+
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
NOEEG_RIT	EQU	$
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>UPCHK_SB
		LDA	RUT2A02
		STA	>BGUNIT,X
;
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>RITCHK_SB
		LDA	#UT0000
		STA	>BGUNIT,X
;
		LDA	<XYPOINT
		AND	#070F0H
		STA	<WORK0
		LDA	<XYPOINT
		AND	#00F0FH
		ORA	#000F0H
		INC	A
		AND	#00F0FH
		ORA	<WORK0
		STA	<WORKE
		JSL	>UPCHK_SB
		LDA	#UT0000
		STA	>BGUNIT,X
;
		RTS
;
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*		花コース 第２ 小円				*
;*								*
;****************************************************************
HANA_EN_SML	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<UNITPOS
		LDA	#UT8710
		CLC
		ADC	<STUNTNO
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		花コース 第２ 中円				*
;*								*
;****************************************************************
HANA_EN_MID_DT0	EQU	$
		HEX	014,015
		HEX	018,000
;
HANA_EN_MID_DT1	EQU	$
		HEX	016,017
		HEX	000,019
;
HANA_EN_MID_DT2	EQU	$
		HEX	01E,000
		HEX	01A,01B
;
HANA_EN_MID_DT3	EQU	$
		HEX	000,01F
		HEX	01C,01D
;
HANA_EN_MID_DT	EQU	$
		WORD	HANA_EN_MID_DT0,HANA_EN_MID_DT1
		WORD	HANA_EN_MID_DT2,HANA_EN_MID_DT3
;
;
HANA_EN_MID	EQU	$
		MI16			; memory , index 16bit mode
		LDY	<STUNTNO
		LDA	HANA_EN_MID_DT,Y
		STA	<WORK0
		LDA	<YSIZE
		ASL	A
;;;;K;;;;		CLC
		ADC	<XSIZE
		TAY
		LDA	(<WORK0),Y
		AND	#000FFH
		BEQ	HANA_EN_MID_90
		CLC
		ADC	#UT8700
		LDX	<UNITPOS
		STA	>BGUNIT,X
HANA_EN_MID_90	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		花コース 第２ 大円				*
;*								*
;****************************************************************
HANA_EN_BIG0	EQU	$
		HEX	000,000,000,000,020,021,022,023
		HEX	000,000,024,025,026,000,000,000
		HEX	000,027,028,000,000,000,000,000
		HEX	000,029,000,000,000,000,000,000
		HEX	02A,02B,000,000,000,000,000,000
		HEX	02C,000,000,000,000,000,000,000
		HEX	02D,000,000,000,000,000,000,000
		HEX	02E,000,000,000,000,000,000,000
;
HANA_EN_BIG1	EQU	$
		HEX	04B,04C,04D,04E,000,000,000,000
		HEX	000,000,000,048,049,04A,000,000
		HEX	000,000,000,000,000,046,047,000
		HEX	000,000,000,000,000,000,045,000
		HEX	000,000,000,000,000,000,043,044
		HEX	000,000,000,000,000,000,000,042
		HEX	000,000,000,000,000,000,000,041
		HEX	000,000,000,000,000,000,000,040
;
HANA_EN_BIG2	EQU	$
		HEX	03E,000,000,000,000,000,000,000
		HEX	03D,000,000,000,000,000,000,000
		HEX	03C,000,000,000,000,000,000,000
		HEX	03A,03B,000,000,000,000,000,000
		HEX	000,039,000,000,000,000,000,000
		HEX	000,037,038,000,000,000,000,000
		HEX	000,000,034,035,036,000,000,000
		HEX	000,000,000,000,030,031,032,033
;
HANA_EN_BIG3	EQU	$
		HEX	000,000,000,000,000,000,000,050
		HEX	000,000,000,000,000,000,000,051
		HEX	000,000,000,000,000,000,000,052
		HEX	000,000,000,000,000,000,053,054
		HEX	000,000,000,000,000,000,055,000
		HEX	000,000,000,000,000,056,057,000
		HEX	000,000,000,058,059,05A,000,000
		HEX	05B,05C,05D,05E,000,000,000,000
;
HANA_EN_BIG_DT
		WORD	HANA_EN_BIG0,HANA_EN_BIG1
		WORD	HANA_EN_BIG2,HANA_EN_BIG3
;
;
HANA_EN_BIG	EQU	$
		MI16			; memory , index 16bit mode
		LDY	<STUNTNO
		LDA	HANA_EN_BIG_DT,Y
		STA	<WORK0
		LDA	<YSIZE
		ASL	A
		ASL	A
		ASL	A
;;;;K;;;;		CLC
		ADC	<XSIZE
		TAY
		LDA	(<WORK0),Y
		AND	#000FFH
		BEQ	HANA_EN_BIG_90
		CLC
		ADC	#UT8700
		LDX	<UNITPOS
		STA	>BGUNIT,X
HANA_EN_BIG_90	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		花コース 第２ ストッパー			*
;*								*
;****************************************************************
HANA_END_DAT	EQU	$
		WORD	UT872F,UT873F,UT874F,UT875F
;
HANA_END_DAT_SB	EQU	$
		WORD	UT0007,UT0008,UT0009,UT000A
;
HANA_END_ADR	EQU	$
		WORD	HANA_END_UP,HANA_END_LFT
;
;
HANA_END	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<UNITPOS
		LDY	<STUNTNO
		LDA	HANA_END_DAT,Y
		STA	>BGUNIT,X
;
		TYA
		LSR	A
		AND	#00002
		TAX
		LDA	<XYPOINT
		STA	<WORKE
		JSR	(HANA_END_ADR,X)
		LDA	HANA_END_DAT_SB,Y
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
		MEM16
		IDX16
;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+		上側セット				+
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
HANA_END_UP	EQU	$
		JSL	>UPCHK_SB
		RTS
;
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;+		左側セット				+
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++
HANA_END_LFT	EQU	$
		JSL	>LFTCHK_SB
		RTS
;
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*		ドカンコース 滝の始め				*
;*								*
;****************************************************************
DOKAN_KD_DAT	EQU	$
		WORD	UT8568,UT856C
;
;
DOKAN_KD	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<UNITPOS
		LDY	<STUNTNO
		LDA	<NOWUNIT
		SEC
		SBC	#UT8550
		CLC
		ADC	DOKAN_KD_DAT,Y
		STA	>BGUNIT,X
;
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>DWNCHK_SB
		LDA	<STUNTNO
		LSR	A
		CLC
		ADC	#UT8104
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		ドカンコース 部屋の四隅	(左上)			*
;*								*
;****************************************************************
DKN_ROMKD0	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>UPCHK_SB
		LDA	>BGUNIT,X
		CMP	#UT7946
		BEQ	DKN_ROMKD0_20
		CMP	#UT7947
		BNE	DKN_ROMKD0_40
DKN_ROMKD0_20	EQU	$
		INC	A
		INC	A
		INC	A
		STA	>BGUNIT,X
;
DKN_ROMKD0_40	EQU	$
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>LFTCHK_SB
		LDA	>BGUNIT,X
		CMP	#UT7948
		BEQ	DKN_ROMKD0_43
		CMP	#UT794A
		BEQ	DKN_ROMKD0_45
		CMP	#UT7951
		BEQ	DKN_ROMKD0_45
		CMP	#UT794F
		BNE	DKN_ROMKD0_60
DKN_ROMKD0_43	EQU	$
		INC	A
DKN_ROMKD0_45	EQU	$
		INC	A
		INC	A
		INC	A
		STA	>BGUNIT,X
;
DKN_ROMKD0_60	EQU	$
		LDA	<YSIZE
		ASL	A
		ORA	<XSIZE
;;;;K;;;;		CLC
		ADC	#UT7974
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		ドカンコース 部屋の四隅	(右上)			*
;*								*
;****************************************************************
DKN_ROMKD1	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>DWNCHK_SB
		LDA	>BGUNIT,X
		CMP	#UT794C
		BEQ	DKN_ROMKD1_20
		CMP	#UT794D
		BNE	DKN_ROMKD1_40
DKN_ROMKD1_20	EQU	$
		INC	A
		INC	A
		INC	A
		STA	>BGUNIT,X
;
DKN_ROMKD1_40	EQU	$
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>RITCHK_SB
		LDA	>BGUNIT,X
		CMP	#UT7959
		BEQ	DKN_ROMKD1_43
		CMP	#UT795B
		BEQ	DKN_ROMKD1_45
		CMP	#UT7962
		BEQ	DKN_ROMKD1_45
		CMP	#UT7960
		BNE	DKN_ROMKD1_60
DKN_ROMKD1_43	EQU	$
		INC	A
DKN_ROMKD1_45	EQU	$
		INC	A
		INC	A
		STA	>BGUNIT,X
;
DKN_ROMKD1_60	EQU	$
		LDA	<YSIZE
		ASL	A
		ORA	<XSIZE
;;;;K;;;;		CLC
		ADC	#UT7978
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		ドカンコース 部屋の四隅	(左下)			*
;*								*
;****************************************************************
DKN_ROMKD2	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>DWNCHK_SB
		LDA	>BGUNIT,X
		CMP	#UT7941
		BEQ	DKN_ROMKD2_20
		CMP	#UT7942
		BNE	DKN_ROMKD2_40
DKN_ROMKD2_20	EQU	$
		INC	A
		INC	A
		INC	A
		STA	>BGUNIT,X
;
DKN_ROMKD2_40	EQU	$
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>LFTCHK_SB
		LDA	>BGUNIT,X
		CMP	#UT7966
		BEQ	DKN_ROMKD2_43
		CMP	#UT7968
		BEQ	DKN_ROMKD2_45
		CMP	#UT796F
		BEQ	DKN_ROMKD2_45
		CMP	#UT796D
		BNE	DKN_ROMKD2_60
DKN_ROMKD2_43	EQU	$
		INC	A
DKN_ROMKD2_45	EQU	$
		INC	A
		INC	A
		INC	A
		STA	>BGUNIT,X
;
DKN_ROMKD2_60	EQU	$
		LDA	<YSIZE
		ASL	A
		ORA	<XSIZE
;;;;K;;;;		CLC
		ADC	#UT797C
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		ドカンコース 部屋の四隅	(右下)			*
;*								*
;****************************************************************
DKN_ROMKD3	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>DWNCHK_SB
		LDA	>BGUNIT,X
		CMP	#UT7953
		BEQ	DKN_ROMKD3_20
		CMP	#UT7954
		BNE	DKN_ROMKD3_40
DKN_ROMKD3_20	EQU	$
		INC	A
		INC	A
		STA	>BGUNIT,X
;
DKN_ROMKD3_40	EQU	$
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>RITCHK_SB
		LDA	>BGUNIT,X
		CMP	#UT7967
		BEQ	DKN_ROMKD3_43
		CMP	#UT7969
		BEQ	DKN_ROMKD3_45
		CMP	#UT7970
		BEQ	DKN_ROMKD3_45
		CMP	#UT796E
		BNE	DKN_ROMKD3_60
DKN_ROMKD3_43	EQU	$
		INC	A
DKN_ROMKD3_45	EQU	$
		INC	A
		INC	A
		STA	>BGUNIT,X
;
DKN_ROMKD3_60	EQU	$
		LDA	<YSIZE
		ASL	A
		ORA	<XSIZE
;;;;K;;;;		CLC
		ADC	#UT7980
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		花コース はじける花				*
;*								*
;****************************************************************
HANA_HRT_DAT	EQU	$
		WORD	UT000C
		WORD	UT8800
;
;
HANA_HRT	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<YSIZE
		ASL	A
		TAY
		LDA	HANA_HRT_DAT,Y
		CLC
		ADC	<XSIZE
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		クリスマス ツリー				*
;*								*
;****************************************************************
SML_Xmas_DAT	EQU	$
		WORD	00000H,UT3DF5,00000H
		WORD	UT3DF6,UT8B11,UT3DF7
		WORD	UT8B20,UT8B21,UT8B22
		WORD	UT8B30,UT8B31,UT8B32
		WORD	00000H,UT6A28,00000H
;
BIG_Xmas_DAT	EQU	$
		WORD	00000H,00000H,UT3DF5,00000H,00000H
		WORD	00000H,UT3DF6,UT8B11,UT3DF7,00000H
		WORD	00000H,UT8B20,UT8B03,UT8B22,00000H
		WORD	UT3DF8,UT8B14,UT8B15,UT8B16,00000H
		WORD	UT3DF9,UT8B24,UT8B25,UT8B26,UT3DFA
		WORD	UT8B04,UT8B21,UT8B35,UT8B36,UT8B22
		WORD	UT8B30,UT8B44,UT8B45,UT8B46,UT8B32
		WORD	00000H,00000H,UT3DFB,00000H,00000H
		WORD	00000H,00000H,UT6A29,00000H,00000H
;
SML_Y_CNT	EQU	$
		WORD	00003*0*2,00003*1*2,00003*2*2
		WORD	00003*3*2,00003*4*2
;
BIG_Y_CNT	EQU	$
		WORD	00005*0*2,00005*1*2,00005*2*2
		WORD	00005*3*2,00005*4*2,00005*5*2
		WORD	00005*6*2,00005*7*2,00005*8*2
;
;
Xmas_TREE	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<XSIZE
		ASL	A
		STA	<WORK0
		LDA	<YSIZE
		ASL	A
		TAX
		LDA	<STUNTNO
		BNE	Xmas_TREE_500
		LDA	SML_Y_CNT,X
		CLC
		ADC	<WORK0
		TAY
		LDA	SML_Xmas_DAT,Y
		BEQ	Xmas_TREE_990
		BRA	Xmas_TREE_900
Xmas_TREE_500	EQU	$
		LDA	BIG_Y_CNT,X
		CLC
		ADC	<WORK0
		TAY
		LDA	BIG_Xmas_DAT,Y
		BEQ	Xmas_TREE_990
;
Xmas_TREE_900	EQU	$
		LDX	<UNITPOS
		STA	>BGUNIT,X
Xmas_TREE_990	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		地下第２コース 氷柱				*
;*								*
;****************************************************************
CK2_ZRR_DAT0	EQU	$-2
		WORD	UT8E00,UT8E01,UT8E02,UT8DA9
;
CK2_ZRR_DAT1	EQU	$-2
		WORD	UT8E01,UT8E02,UT8DA9
;
CK2_ZRR_DAT2	EQU	$-2
		WORD	UT8E02,UT8DA9
;
CK2_ZRR_DAT3	EQU	$-2
		WORD	UT79A3,UT8DA8
;
CK2_ZRR_DAT	EQU	$
		WORD	CK2_ZRR_DAT0,CK2_ZRR_DAT1
		WORD	CK2_ZRR_DAT2,CK2_ZRR_DAT3
;
;
CHIKA2_ZRR	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<YSIZE
		BNE	CK2_ZRR_500
		LDA	#UT79A2
		BRA	CK2_ZRR_900
;
CK2_ZRR_500	EQU	$
		ASL	A
		TAY
		LDX	<STUNTNO
		LDA	CK2_ZRR_DAT,X
		STA	<WORK0
		LDA	(<WORK0),Y
;
CK2_ZRR_900	EQU	$
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		地下第２コース 氷づけのヘイホー			*
;*								*
;****************************************************************
		MEM16
		IDX16
CHIKA2_ICEHH	EQU	$
		LDX	<UNITPOS
		LDA	#UT79A1
		STA	>BGUNIT,X
		RTL
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*		地下第２コース クリスタル			*
;*								*
;****************************************************************
CK2_CRSTL_DT0	EQU	$
		WORD	UT8D60,UT8D61
		WORD	UT8D62,UT8D63
		WORD	UT8D64,UT8D65
;
CK2_CRSTL_DT1	EQU	$
		WORD	UT8D60,UT8D61
		WORD	UT8D62,UT8D66
		WORD	UT8D64,UT8D67
;
CK2_CRSTL_DT2	EQU	$
		WORD	UT8D68,UT8D69
		WORD	UT8D6A,UT8D6B
;
CK2_CRSTL_DT3	EQU	$
		WORD	UT8D68,UT8D69
		WORD	UT8D6C,UT8D6B
;
CK2_CRSTL_DT4	EQU	$
		WORD	UT8D68,UT8D69
		WORD	UT8D6A,UT8D6D
;
CK2_CRSTL_DT5	EQU	$
		WORD	UT8D68,UT8D69
		WORD	UT8D6C,UT8D6D
;
CK2_CRSTL_DT	EQU	$
		WORD	CK2_CRSTL_DT0,CK2_CRSTL_DT1
		WORD	CK2_CRSTL_DT2,CK2_CRSTL_DT3
		WORD	CK2_CRSTL_DT4,CK2_CRSTL_DT5
;
;
CHIKA2_CRSTL	EQU	$
		MI16			; memory , index 16bit mode
		LDY	<STUNTNO
		LDA	CK2_CRSTL_DT,Y
		STA	<WORK0
		LDA	<YSIZE
		ASL	A
;;;;K;;;;		CLC
		ADC	<XSIZE
		ASL	A
		TAY
		LDA	(<WORK0),Y
		CLC
		ADC	<XYCPBF
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		地下第２コース 溶岩いわ				*
;*								*
;****************************************************************
		MEM16
		IDX16
CHIKA2_YGIWA	EQU	$
		LDX	<UNITPOS
		LDA	#UT8DA2
		STA	>BGUNIT,X
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>RITCHK_SB
		LDA	#UT8DA3
		STA	>BGUNIT,X
		RTL
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*		地下第２コース 乗れるキノコ (小)		*
;*								*
;****************************************************************
CK2_KNSML_DAT0	EQU	$
		WORD	RUT0801,RUT0F02
		WORD	UT8D00,UT8D01
		WORD	RUT0802,RUT0F06
		WORD	UT8D06,UT8D07
;
CK2_KNSML_DAT1	EQU	$
		WORD	RUT0D01,RUT0A01
		WORD	UT8D02,UT8D03
		WORD	RUT0D04,RUT0A02
		WORD	UT8D04,UT8D05
;
;
CHIKA2_KNSML	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<YSIZE
		ASL	A
;;;;K;;;;		CLC
		ADC	<XSIZE
		CLC
		ADC	<XYCPBF
		ASL	A
		TAY
		LDA	<STUNTNO
		BNE	CK2_KNSML_500
		LDA	CK2_KNSML_DAT0,Y
		BRA	CK2_KNSML_900
;
CK2_KNSML_500	EQU	$
		LDA	CK2_KNSML_DAT1,Y
;
CK2_KNSML_900	EQU	$
		LDY	<YSIZE
		BNE	CK2_KNSML_910
		TAY
		LDA	0,Y
CK2_KNSML_910	EQU	$
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		地下第２コース乗れるキノコ (大)			*
;*								*
;****************************************************************
CK2_KNBIG_DAT0	EQU	$
		WORD	RUT0202,RUT0F04,RUT1001
		WORD	RUT0303,RRR8D08,RRR8D09
		WORD	UT8D0A,UT8D0B,UT8D0C
;
RRR8D08	EQU	$
	WORD	UT8D08
RRR8D09	EQU	$
	WORD	UT8D09
;
CK2_KNBIG_DAT1	EQU	$
		WORD	RUT0203,RUT0F05,RUT1003
		WORD	RUT0304,RRR8D12,RRR8D13
		WORD	UT8D14,UT8D15,UT8D16
;
RRR8D12	EQU	$
	WORD	UT8D12
RRR8D13	EQU	$
	WORD	UT8D13
;
CK2_KNBIG_DAT2	EQU	$
		WORD	RUT0C01,RUT0D03,RUT0502
		WORD	RRR8D0D,RRR8D0E,RUT0603
		WORD	UT8D0F,UT8D10,UT8D11
;
RRR8D0D	EQU	$
	WORD	UT8D0D
RRR8D0E	EQU	$
	WORD	UT8D0E
;
CK2_KNBIG_DAT3	EQU	$
		WORD	RUT0C02,RUT0D05,RUT0503
		WORD	RRR8D17,RRR8D18,RUT0604
		WORD	UT8D19,UT8D1A,UT8D1B
;
RRR8D17	EQU	$
	WORD	UT8D17
RRR8D18	EQU	$
	WORD	UT8D18
;
CK2_KNBIG_DAT	EQU	$
		WORD	CK2_KNBIG_DAT0,CK2_KNBIG_DAT1
		WORD	CK2_KNBIG_DAT2,CK2_KNBIG_DAT3
;
;
CHIKA2_KNBIG	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<YSIZE
		ASL	A
;;;;K;;;;		CLC
		ADC	<YSIZE
		CLC
		ADC	<XSIZE
		ASL	A
		TAY
;
		LDX	<STUNTNO
		LDA	CK2_KNBIG_DAT,X
		STA	<WORK0
		LDA	(<WORK0),Y
		LDY	<YSIZE
		INY
		CPY	<YSIZECP
		BEQ	CK2_KNBIG_900
		TAY
		LDA	0,Y
;
CK2_KNBIG_900	EQU	$
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		地下第２コース ３個か４個のキノコの塊		*
;*								*
;****************************************************************
CK2_3KN_DAT	EQU	$
		WORD	00000H, RUT0C01,RUT0D03,RUT0502
		WORD	00000H, RRR8D0D,RRR8D0E,RUT0603
		WORD	RUT0801,RUT0F03,RRR8D20,RRR8D21
		WORD	UT8D00, UT8D22, UT8D23, UT8D24
;
RRR8D20	EQU	$
	WORD	UT8D20
RRR8D21	EQU	$
	WORD	UT8D21
;
CK2_3KN_CNT	EQU	$
		WORD	(00004H*0)*2,(00004H*1)*2
		WORD	(00004H*2)*2,(00004H*3)*2
;
CK2_4KH_DAT	EQU	$
		WORD	00000H, RUT0203,RUT0F05,RUT1003,00000H
		WORD	00000H, RUT0304,RRR8D12,RRR8D13,00000H
		WORD	00000H, RRR8D25,RRR8D26,RUT0D02,RUT0A01
		WORD	RUT0202,RUT0F04,RUT1002,RRR8D27,RRR8D28
		WORD	RUT0303,RRR8D08,RRR8D29,RRR8D2A,RRR8D2B
		WORD	UT8D0A, UT8D0B, UT8D2C, UT8D23, UT8D24
;
RRR8D25	EQU	$
	WORD	UT8D25
RRR8D26	EQU	$
	WORD	UT8D26
RRR8D27	EQU	$
	WORD	UT8D27
RRR8D28	EQU	$
	WORD	UT8D28
RRR8D29	EQU	$
	WORD	UT8D29
RRR8D2A	EQU	$
	WORD	UT8D2A
RRR8D2B	EQU	$
	WORD	UT8D2B
;
CK2_4KH_CNT	EQU	$
		WORD	(00005H*0)*2,(00005H*1)*2
		WORD	(00005H*2)*2,(00005H*3)*2
		WORD	(00005H*4)*2,(00005H*5)*2
;
CK2_34KH_DAT	EQU	$
		WORD	CK2_3KN_DAT,CK2_4KH_DAT
CK2_34KH_CNT	EQU	$
		WORD	CK2_3KN_CNT,CK2_4KH_CNT
;
CHIKA2_3KN4KH	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<STUNTNO
		LDA	CK2_34KH_CNT,X
		STA	<WORK0
		LDA	CK2_34KH_DAT,X
		STA	<WORK2
;
		LDA	<YSIZE
		ASL	A
		TAY
		LDA	(<WORK0),Y
		STA	<WORK0
		LDA	<XSIZE
		ASL	A
;;;;K;;;;		CLC
		ADC	<WORK0
		TAY
		LDA	(<WORK2),Y
		BEQ	CK2_3KN4KH_990
		LDY	<YSIZE
		INY
		CPY	<YSIZECP
		BEQ	CK2_3KN4KH_900
		TAY
		LDA	0,Y
;
CK2_3KN4KH_900	EQU	$
		LDX	<UNITPOS
		STA	>BGUNIT,X
CK2_3KN4KH_990	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		地下第２コース 細いキノコ			*
;*								*
;****************************************************************
CK2_SLMKN_DT0	EQU	$-2
		WORD	UT8D4C
;
CK2_SLMKN_DT1	EQU	$-2
		WORD	UT8D43,UT8D49
;
CK2_SLMKN_DT2	EQU	$-2
		WORD	UT8D43,UT8D46,UT8D49
;
CK2_SLMKN_DT3	EQU	$-2
		WORD	UT8D52,UT8D55,UT8D58
;
CK2_SLMKN_DT4	EQU	$-2
		WORD	UT8D52,UT8D58
;
CK2_SLMKN_DT5	EQU	$-2
		WORD	UT8D5B
;
CK2_SLMKN_DT	EQU	$
		WORD	CK2_SLMKN_DT0,CK2_SLMKN_DT1,CK2_SLMKN_DT2
		WORD	CK2_SLMKN_DT3,CK2_SLMKN_DT4,CK2_SLMKN_DT5
;
;
CHIKA2_SLMKN	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<YSIZE
		BNE	CK2_SLMKN_100
		LDA	#UT8D40
		LDY	<STUNTNO
		CPY	#00003H*2
		BCC	CK2_SLMKN_900
		LDA	#UT8D4F
		BRA	CK2_SLMKN_900
;
CK2_SLMKN_100	EQU	$
		LDY	<STUNTNO
		LDA	CK2_SLMKN_DT,Y
		STA	<WORK0
		LDA	<YSIZE
		ASL	A
		TAY
		LDA	(<WORK0),Y
;
CK2_SLMKN_900	EQU	$
		CLC
		ADC	<XYCPBF
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		空コース 乗れるグラグラ小岩			*
;*								*
;****************************************************************
SORA_SMLGRDI	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<YSIZE
		BNE	SR_SMLGRDI_500
		LDA	<XSIZE
		CLC
		ADC	#UT8DC2
		BRA	SR_SMLGRDI_900
;
SR_SMLGRDI_500	EQU	$
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>DWNCHK_SB
		LDA	>BGUNIT,X
		CMP	#UT8DC0
		BEQ	SR_SMLGRDI_600
		CMP	#UT8DC1
		BEQ	SR_SMLGRDI_600
		LDA	#UT1534
		BRA	SR_SMLGRDI_650
;
SR_SMLGRDI_600	EQU	$
		LDA	#UT8F04
SR_SMLGRDI_650	EQU	$
		CLC
		ADC	<XSIZE
;
SR_SMLGRDI_900	EQU	$
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		空コース とんがり岩				*
;*								*
;****************************************************************
SORA_TNGR	EQU	$
		MI16			; memory , index 16bit mode
		LDA	#UT8DC0
		CLC
		ADC	<XSIZE
		LDX	<UNITPOS
		STA	>BGUNIT,X
;
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>UPCHK_SB
		LDA	>BGUNIT,X
		CMP	#UT1534
		BEQ	SR_TNGR_500
		CMP	#UT1535
		BNE	SR_TNGR_900
SR_TNGR_500	EQU	$
		SEC
		SBC	#UT1534
		CLC
		ADC	#UT8F04
		STA	>BGUNIT,X
;
SR_TNGR_900	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		空コース 乗れるグラグラ岩			*
;*								*
;****************************************************************
SR_BIGDI_DAT	EQU	$
		WORD	UT8DB0,UT8DB1,UT8DB2,UT8DB3
		WORD	UT1536,UT1537,UT1538,UT1539
		WORD	UT8DD0,UT8DD1,UT8DD2,UT8DD3
		WORD	00000H,UT8DE1,UT8DE2,UT8DE3
;
		WORD	UT8DF0,UT8DF1,UT8DF2,UT8DF3
		WORD	UT8F00,UT8F01,UT8F02,UT8F03
		WORD	UT8DF4,UT8DF5,UT8DF6,UT8DF7
		WORD	00000H,UT8DF8,UT8DF9,UT8DFA
;
;
SORA_BIGDI	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<YSIZE
		ASL	A
		ASL	A
;;;;K;;;;		CLC
		ADC	<XSIZE
		CLC
		ADC	<STUNTNO
		ASL	A
		TAY
		LDA	SR_BIGDI_DAT,Y
;
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		わきだし卵ブロック				*
;*								*
;****************************************************************
		MEM16
		IDX16
EGGBLOCK	EQU	$
		LDX	<UNITPOS
		LDA	#UT5F04
		STA	>BGUNIT,X
		RTL
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*		ＦＬＯＷＥＲコース 落書き			*
;*								*
;****************************************************************
FLWR_MYU_ADR0	EQU	$
		BYTE	LOW UT79D3,LOW UT79D4
		BYTE	LOW UT79D5,LOW UT79D6
;
FLWR_MYU_ADR1	EQU	$
		BYTE	LOW 00000H,LOW UT79D7,LOW UT79D8
		BYTE	LOW UT79D6,LOW UT79DB,LOW UT79D5
		BYTE	LOW UT79D6,LOW UT79D8,LOW 00000H
;
FLWR_MYU_ADR2	EQU	$
		BYTE	LOW 00000H,LOW UT79D8
		BYTE	LOW UT79D3,LOW UT79DB
		BYTE	LOW UT79D5,LOW 00000H
;
FLWR_MYU_ADR3	EQU	$
		BYTE	LOW UT79D0,LOW 00000H
		BYTE	LOW UT79D1,LOW UT79D2
;
FLWR_MYU_ADR4	EQU	$
		BYTE	LOW 00000H,LOW UT79CB
		BYTE	LOW UT79CC,LOW UT79CD
;
FLWR_MYU_CNT0	EQU	$
		BYTE	000,002
;
FLWR_MYU_CNT1	EQU	$
		BYTE	000,003,006
;
FLWR_MYU_CNT2	EQU	$
		BYTE	000,002,004
;
FLWR_MYU_CNT3	EQU	$
		BYTE	000,002
;
FLWR_MYU_CNT4	EQU	$
		BYTE	000,002
;
FLWR_MYU_ADR	EQU	$
		WORD	FLWR_MYU_ADR0,FLWR_MYU_ADR1,FLWR_MYU_ADR2
		WORD	FLWR_MYU_ADR3,FLWR_MYU_ADR4
;
FLWR_MYU_CNT	EQU	$
		WORD	FLWR_MYU_CNT0,FLWR_MYU_CNT1,FLWR_MYU_CNT2
		WORD	FLWR_MYU_CNT3,FLWR_MYU_CNT4
;
;
FLOWER_MOYOU	EQU	$
		MI16			; memory , index 16bit mode
		LDY	<STUNTNO
		LDA	FLWR_MYU_ADR,Y
		STA	<WORK0
		LDA	FLWR_MYU_CNT,Y
		STA	<WORK2
;
		LDY	<YSIZE
		LDA	(<WORK2),Y
		AND	#000FFH
		CLC
		ADC	<XSIZE
		TAY
		LDA	(<WORK0),Y
		AND	#000FFH
		BEQ	FLWR_MYU_990
		ORA	#UT7900
;
		LDX	<UNITPOS
		STA	>BGUNIT,X
FLWR_MYU_990	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		ＦＬＯＷＥＲコース 花いろいろ			*
;*								*
;****************************************************************
		MEM16
		IDX16
FLOWER_HANA	EQU	$
		LDA	#UT79C1
		CLC
		ADC	<STUNTNO
		LDX	<UNITPOS
		STA	>BGUNIT,X
		RTL
		MEM8
		IDX8
;
;
;****************************************************************
;*								*
;*		ＦＬＯＷＥＲコース 岩いろいろ			*
;*								*
;****************************************************************
FLWR_IWA_DT00	EQU	$
		WORD	00000H,00000H,UT0825,UT0A26,00000H
		WORD	00000H,UT0825,UT9000,UT9001,UT0A28
		WORD	UT79E4,UT9002,UT9003,UT9004,UT9005
		WORD	UT79BC,UT9006,UT9007,UT9008,UT5D40
		WORD	UT79B4,UT9009,UT900A,UT5D40,00000H
;
FLWR_IWA_DT01	EQU	$
		WORD	UT79E4,UT900C,UT900D,UT0F24,UT1024
		WORD	UT79B4,UT900E,UT900F,UT9010,UT9011
		WORD	UT79CD,UT9002,UT9012,UT9003,UT9013
		WORD	00000H,UT9014,UT9015,UT9016,UT5D40
		WORD	00000H,UT79C5,UT9009,UT5D40,00000H
;
FLWR_IWA_DT02	EQU	$
		WORD	00000H,UT0C23,UT0D23,UT9018,UT0A26
		WORD	UT79E4,UT9019,UT901A,UT901B,UT901C
		WORD	UT79C3,UT901D,UT901E,UT901F,UT9020
		WORD	UT79CC,UT9021,UT901F,UT9016,UT5D40
		WORD	UT79C9,UT9022,UT9008,UT5D40,00000H
		WORD	UT79B5,UT9009,UT5D40,00000H,00000H
;
FLWR_IWA_DT03	EQU	$
		WORD	00000H,UT0825,UT0A26
		WORD	UT79CC,UT9024,UT901C
		WORD	UT79B4,UT9006,UT9025
		WORD	UT79C3,UT9009,UT9026
;
FLWR_IWA_DT04	EQU	$
		WORD	UT79CC,UT900C,UT0A26
		WORD	UT79C4,UT9028,UT5D41
		WORD	UT79E4,UT5D42,00000H
;
FLWR_IWA_DT05	EQU	$
		WORD	00000H,UT0825,UT0A27,00000H,00000H
		WORD	UT0825,UT9000,UT902A,UT0A27,00000H
		WORD	UT902B,UT902C,UT902D,UT902E,UT79E0
		WORD	UT5B40,UT902F,UT9030,UT9031,UT79C3
		WORD	00000H,UT5B40,UT900A,UT9032,UT79B4
;
FLWR_IWA_DT06	EQU	$
		WORD	UT0C23,UT0D23,UT0F25,UT1025,00000H
		WORD	UT9034,UT9035,UT9036,UT902E,UT79E0
		WORD	UT9037,UT9038,UT9039,UT903A,UT79BC
		WORD	UT5B40,UT903B,UT903C,UT903D,00000H
		WORD	00000H,UT5B40,UT9032,UT79B5,00000H
;
FLWR_IWA_DT07	EQU	$
		WORD	UT0C23,UT0D23,UT0F24,UT1024,00000H
		WORD	UT9034,UT9040,UT9041,UT9042,UT79E0
		WORD	UT902B,UT902C,UT9043,UT9044,UT79B5
		WORD	UT5B40,UT902F,UT9045,UT9046,UT79D2
		WORD	00000H,UT5B40,UT902F,UT9047,UT79C9
		WORD	00000H,00000H,UT5B40,UT9032,UT79B3
;
FLWR_IWA_DT08	EQU	$
		WORD	UT0825,UT0A26,00000H
		WORD	UT9049,UT904A,UT79D2
		WORD	UT904B,UT9031,UT79C3
		WORD	UT904C,UT9032,UT79D3
;
FLWR_IWA_DT09	EQU	$
		WORD	UT0825,UT904E,UT79D2
		WORD	UT5B41,UT905E,UT79B4
		WORD	00000H,UT5B42,UT79BC
;
FLWR_IWA_DT10	EQU	$
		WORD	00000H,00000H,00000H,UT0825,UT0A26,00000H,00000H
		WORD	00000H,00000H,UT0825,UT9000,UT9001,UT0F26,UT1024
		WORD	00000H,UT0825,UT9051,UT9040,UT9041,UT9039,UT9011
		WORD	00000H,UT9052,UT9053,UT9054,UT9004,UT9055,UT9011
		WORD	00000H,UT79E2,UT79C7,UT79D0,UT9009,UT9030,UT9025
		WORD	00000H,UT79D6,UT79D4,UT79C6,UT79E2,UT9009,UT9026
;
FLWR_IWA_DT11	EQU	$
		WORD	00000H,UT0825,UT900D,UT0A26,00000H,00000H,00000H
		WORD	UT0825,UT9051,UT9040,UT9001,UT0A28,00000H,00000H
		WORD	UT9034,UT9012,UT9057,UT9041,UT9058,UT0A28,00000H
		WORD	UT902B,UT902C,UT9025,UT9059,UT9021,UT9046,00000H
		WORD	UT905A,UT905B,UT9032,UT79E2,UT79BC,UT79CB,00000H
		WORD	UT904C,UT9032,UT79B5,UT79D6,UT79B9,UT79BA,00000H
;
FLWR_IWA_CNT00	EQU	$
FLWR_IWA_CNT01	EQU	$
FLWR_IWA_CNT02	EQU	$
FLWR_IWA_CNT05	EQU	$
FLWR_IWA_CNT06	EQU	$
FLWR_IWA_CNT07	EQU	$
		BYTE	005*0,005*1,005*2,005*3,005*4,005*5
;
FLWR_IWA_CNT03	EQU	$
FLWR_IWA_CNT04	EQU	$
FLWR_IWA_CNT08	EQU	$
FLWR_IWA_CNT09	EQU	$
		BYTE	003*0,003*1,003*2,003*3
;
FLWR_IWA_CNT10	EQU	$
FLWR_IWA_CNT11	EQU	$
		BYTE	007*0,007*1,007*2,007*3,007*4,007*5
;
FLWR_IWA_DT	EQU	$
		WORD	FLWR_IWA_DT00,FLWR_IWA_DT01,FLWR_IWA_DT02
		WORD	FLWR_IWA_DT03,FLWR_IWA_DT04,FLWR_IWA_DT05
		WORD	FLWR_IWA_DT06,FLWR_IWA_DT07,FLWR_IWA_DT08
		WORD	FLWR_IWA_DT09,FLWR_IWA_DT10,FLWR_IWA_DT11
;
FLWR_IWA_CNT	EQU	$
		WORD	FLWR_IWA_CNT00,FLWR_IWA_CNT01,FLWR_IWA_CNT02
		WORD	FLWR_IWA_CNT03,FLWR_IWA_CNT04,FLWR_IWA_CNT05
		WORD	FLWR_IWA_CNT06,FLWR_IWA_CNT07,FLWR_IWA_CNT08
		WORD	FLWR_IWA_CNT09,FLWR_IWA_CNT10,FLWR_IWA_CNT11
;
FLWR_IWA_CMP	EQU	$
		WORD	UT1023,UT0C21
;
FLWR_IWA_DAT	EQU	$
		WORD	UT1022,UT0C22
;
;
FLOWER_IWA	EQU	$
		MI16			; memory , index 16bit mode
		LDX	<STUNTNO
		LDA	FLWR_IWA_DT,X
		STA	<WORK0
		LDA	FLWR_IWA_CNT,X
		STA	<WORK2
;
		LDY	<YSIZE
		LDA	(<WORK2),Y
		AND	#000FFH
		CLC
		ADC	<XSIZE
		ASL	A
		TAY
		LDA	(<WORK0),Y
		BEQ	FLWR_IWA_990
;
		LDX	<UNITPOS
		STA	>BGUNIT,X
;
		LDA	<YSIZE
		INC	A
		CMP	<YSIZECP
		BNE	FLWR_IWA_990
;
		LDA	<XYPOINT
		STA	<WORKE
		JSL	>DWNCHK_SB
		LDY	#00000H
		LDA	>BGUNIT,X
FLWER_IWA_250	EQU	$
		CMP	FLWR_IWA_CMP,Y
		BEQ	FLWER_IWA_260
		INY
		INY
		CPY	#FLWR_IWA_DAT-FLWR_IWA_CMP
		BCC	FLWER_IWA_250
		BRA	FLWR_IWA_990
;
FLWER_IWA_260	EQU	$
		LDA	FLWR_IWA_DAT,Y
		STA	>BGUNIT,X
;
FLWR_IWA_990	EQU	$
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		溶岩コース 鍵付きドカン				*
;*								*
;****************************************************************
YGN_LCKDKN_DT	EQU	$
		WORD	UT7D29,UT7D2A
		WORD	UT011D,UT011E
;
;
YGN_LOCKDKN	EQU	$
		MI16			; memory , index 16bit mode
		LDA	<YSIZE
		ASL	A
		ORA	<XSIZE
		ASL	A
		TAY
		LDA	YGN_LCKDKN_DT,Y
;
		LDX	<UNITPOS
		STA	>BGUNIT,X
		MI8			; memory , index 8bit mode
		RTL
;
;
;****************************************************************
;*								*
;*		バッファエリアの 確保				*
;*								*
;****************************************************************
		MEM16
		IDX16
KAKUHO_SET	EQU	$
		LDX	<UNITPOS
		LDA	#UT0000
		STA	>BGUNIT,X
		RTL
		MEM8
		IDX8
;
;
;
;
		MEM8
		IDX8
;
;
;
;
		END

