;************************************************************************
;*									*
;*	title name	: "yossy"					*
;*	proccess	: enemy main					*
;*	file name	: ys_enmy					*
;*									*
;************************************************************************
;
;
		SALL
;
		include		ys_header.inc
		include		ys_unit.h
		include		ys_presno.h
		include		ys_color.h
		include		ys_pld.h
		include		../union/ys_bgcheck.h
;
		XALL
;
;
;------------------------------------------------------------------------
;-		global symbol						-
;------------------------------------------------------------------------
		GLB	ENEMY,ENEMY_IN,ENINSB,ENCSET,ENCSET_DM,ENRAMCLR
		GLB	ENMOVE,ENCLEAR,ENCLEAR_NORETN,ENCLEAR_NORETN2,ENRETURN
		GLB	DISPCK0,DISPCK1,DISPCK2,DISPCK3,DISPCK4
		GLB	ENINSR,ENINSR2,EEXCHK,EEYCHK,EEXYCK,ESTATST
		GLB	ENINSR_I,ENINSR2_I
		GLB	ESINSR
		GLB	EN_XYMOVE,EN_XYMOVE2,EN_TIMER,ENEAT_CANCEL,ENCHRB_SET
		GLB	PL_1UP_SET,PL_3UP_SET,PL_UP_SET,BEAT_P_SET
		GLB	BEAT_P_SET_2
		GLB	PL_1UP_SET_P
		GLB	SCOREST,COLD_KIRA_ST,SHOT_EN_KILL,SHOT_EN_KILL_S
		GLB	SHOT_EN_KILL_2,ENFALL_END  ;,ENDEATH_END,ENDEATH_END_2
		GLB	ENMDCK,XSDOWN,EPCRCK,MUKEOR,XSPEOR,MKEOR2,PLFLST,PLFLST_S
		GLB	PLFLST_2,XSDOWN2
		GLB	ANGLCAL,EGG_WARE,POBBGCR,POBBGCR_2,POBBGCR_3,POBBGCR_X,PLCRMKCK
		GLB	POBBGCR_H
		GLB	ENRINT
		GLB	EGGSET,EGG_SP_CHECK,EGG_OPTION,EGG_PLCROSS
		GLB	NAGE_POS_SET
		GLB	BOBBGCR,BOBBGCR_2,PDON0ST,PDON0ST_2
		GLB	EGGKILL,EGGKILL_ALL,EGG00_MVINT,ENDEATH_SET,ENDEATH_SET_2
		GLB	ENDEATH_SET_3,ENDEATH_SET_4
		GLB	AUTO_SCROLL,ATSCRL_XYCL_L
		GLB	TROBJ_CANCEL
		GLB	TROBJ_OAM_2x2,TROBJ_OAM_2x2_I
		GLB	TROBJ_OAM_4x4,TROBJ_OAM_4x4_I
		GLB	TROBJ_OAM_8x4,TROBJ_OAM_8x4_I
		GLB	TROBJ_OAM_8x8,TROBJ_OAM_8x8_I
		GLB	TROBJ_OAM_8H8,TROBJ_OAM_8H8_I
		GLB	TROBJ_SR_2x2,TROBJ_SR_2x2_CL
		GLB	TROBJ_SR_4x4,TROBJ_SR_4x4_CL
		GLB	TROBJ_SR_6x4,TROBJ_SR_6x4_CL
		GLB	TROBJ_SR_8x4,TROBJ_SR_8x4_CL
		GLB	TROBJ_SR_8x8,TROBJ_SR_8x8_CL
		GLB	TROBJ_CLEAR,TROBJ_CLEAR_CHK
		GLB	EXIST_CHECK,EXIST_CHECK2,EXIST_CHECK_S,EXIST_CHECK_S2,EXIST_CHECK_S3
		GLB	NON_EXIST_SET,NON_EXIST_SET2,NON_EXIST_SET3,QKM_NON_EXIST
		GLB	ENFAIL_FALL
;
		GLB	PLAYER_REBOUND
;
		GLB	EINIT,EFAIL,EMOVE,EEATM,ENOSE,ECHNG,ERINT
		GLB	EFALL,EFIRE
;
		GLB	WAVLF,CDOOR,MPACW,TRBX2,MRBLK,COLD0,COLDX,SUIKA
		GLB	KPEXB,FIRE0,TAIH0,BOMB0,BOSSQ
		GLB	GOAL1,GOALX,BONSX,BG3D2,M_ITM,BOSDR,BSCLW,BSCLR
		GLB	MISA0,DTELE,GEROZ
		GLB	FIREX,SOPB0,SKILF,WTRLF,YUKID,YKDLF,HEIH0,RDOOR,BAKLF
		GLB	EGG00,EGG01,EGG02,EGG03,KPBOM,YSEGG,DRKEY
		GLB	EGG08,EGG09
		GLB	NAMAZ,SLIME,SLEYE,NZANA,NEZMI,SANPO,NZAN2
		GLB	NEZM2,TSUBO,OBAKE,IWATS,GHOST,DOROB,OBFIR
		GLB	POLY1,HINAQ,HINQ2,BOSSK,SESAW,BKSLM,LUIGI,KONOT
		GLB	DNXG2,BHEIR,BHEIG,INGER,BBBRS,TBHIH,KAMC2
		GLB	KERO0,POLDR,GATE0,GITAN,FACE8,FUSEN,KAMCS,MILL0
		GLB	MILS0,BG3FL,DORBF,CSTAR,QSPAK,HBLK5,GITNS
		GLB	GITNL,BABYM,PANDA,BETO0,MILL1,COINR,ZPACK,HIMIT,HBLK2
		GLB	HBLK3,HBLK4,HBLK7,JBLKL,PPCKL,PPCKR,JBLK0,KANI0,TELEL
		GLB	GABON,GABNB,SPRKL,SPRKR,DAI00,DAI01
		GLB	DAI02,KIL00,KIL01,KIL02,BG3KT
		GLB	DWNBG,FYUKA,ZBUB0,ZBUB1,WANG0,BGKM0
		GLB	HARIO,COIN0,EG1UP,MSTAR,NLFLR,NLFUD,FBOM0,GOLYS
		GLB	MC1UP,KAMC3,OSARU,BG3DO,DEATH,KOROG,ZDOOR,HBLK6
		GLB	BLKLF,BLKL2,POWSW,MARUT,WARPS,DORB2,DRBF2,ZSAB2
		GLB	BOMBX,ZPAC3,ROTLF,GABN2,GBNB2,SW000,MBALL
		GLB	ZPAC2,TULIP,HACHI,GENKI,DORBL,DORBR,UNBAB,AWANG
		GLB	AWANM,AWANS,AWANP,SHEIH,ITEGG,KPBKG,MSGBX,BOSS0
		GLB	CHG00,CHG01,CHG02,CHG03,PUUUU,CHG05
		GLB	QKM00,QKM01,QKM02,QKM03,QKM04,QKM05,QKM06,QKM07
		GLB	QKM08,QKM09,QKM0A,QKM0B,QKM0C,QKM0D,QKM0E,QKM0F
		GLB	QKM10,QKM11,QKM12,QKM13,QKM14,LBSDR,QKM16,QKM17
		GLB	FKPBM,KPFIR,KPBLK,SNXGO,DNXGO,PUCHA,PUCHG,PUCHB
		GLB	BG_00,BG3UL,BKMKJ,AW_FG,TJUGM,TTUBO,BG3BL,YGORO
		GLB	DMPLC,ON_DW,WPKPK,JFISH,HBNBN,BOBK0,BOBK1,HSAN0
		GLB	HSAN1,TUMUJ,BBROS,AHOBD,AHOB2,OTAMA,OTAMH,VOWVW
		GLB	VOWV2,NIKOP,NIKP2,NIKP3,BBFLW,TAKEH,MSHIH,EGFLW,BATSN
		GLB	KAMO0,KAMO1,AWAFK,ZSABO,STAMA,ZFLWR,YARIH,YARH2
		GLB	KARAT,ENRGB,POCHI,PUPBB,GURU1,GURU2,GHEIH,MONK4,HOMOL
		GLB	HOMOR,SUIKT,PONTA,KATI0,KATI1,KATI2,DOSUN,DHEIH,TRBOX,BTELE
		GLB	ZFLW2,PURIN,PURI0,MCHO2,BULET,COIN1,FLOAT,TIKU0
		GLB	TIKU1,NUNOO,MITSN,JUGEM,KINTO,JTAMA,RLTLF,RLTL2
		GLB	RLTL3,CNTLF,ARIH0,KAMC4,BAK20,BAK21,MAKI0,MAKI1
		GLB	FWAVE,WATAB,KUSAH,DEBU0,COMCH,YOSSY,FHOTM,FVOTM
		GLB	KEYDR,SSLIM,CHKH0,KOOPA,QCHAN,QCHN2
		GLB	DWBL0,DWBL1,DWBL2,DWBL3,IEKI0
		GLB	FLIPP,KOMO0,KOMO1,FLIPH,PKPK0,PKPK1,PKPK2,PKPK3,TEPPO
		GLB	KEME0,KEME1,SNXG2,JBKL2
		GLB	REFC0,REFC1,REFC2,REFC3,REFC4,REFC5,REFC6,REFC7,REFC8
		GLB	MOTH0,BAHOB,AWANH,DBAHO,MATO0,AJGM0,DBAH2,TONG0,TONG1
		GLB	BAMBO,RBLKG,RBLKY,MILL2,RFLSG,RFLSY,HIMI2,RFLLG,JTAM2
		GLB	P_KN2,P_KUN,THJGM
		GLB	KORA0,KORA1,HNOK0,HNOK1,NKNK0,NKNK1,PTPT0,PTPT1,PTPT2
		GLB	JGEMW
		GLB	SWAVM,SWAV0,SWAV1,MPACK,MPACH,RMARU
		GLB	FUSN0,FUSN1,FUSN2,FUSN3,FUSN4,FUSN5,FUSN6,FUSN7,FUSN8
		GLB	FUSN9,FUSNa,FUSNb,BALON,SABO0
		GLB	BAKLF,PANSY,DGFLY,BTFLY,TARKN,NRLF0,NRLF1,HRLF0,HRLF1
		GLB	NRLF2,NRLF3,HRLF2,HRLF3,SRLF0,SRLF1,GRPLF,TURAR,SUZUM
		GLB	FLWH0,BG3DO,KOUNB,GRCKS,GROCK,YAJI0,YAJI1,NISEF,GSTH0
		GLB	STRKN,FTRKN,BATSA,BATSB,BATSC,FIRBR,FIRB2,TIMKN,SKLNZ
		GLB	CORKS,MONK0,MONK1,MONK2,MONK3,BFISH,NEXTG,YGFSH,BLTLS
		GLB	KOKER,KAMEC,MAGIC,COIN2,BG3LF,PONPU,RAKUG,BG3EX
;
		GLB	CH_00,CH_01,CH_02,CH_03,CH_04,CH_05,CH_06,CH_07
		GLB	CH_08,CH_09,CH_0A,CH_0B,CH_0C,CH_0D,CH_0E,CH_0F
;
		GLB	AT_00,AT_01,AT_02,AT_03,AT_04
		GLB	AT_05,AT_06,AT_07,AT_08,AT_09
		GLB	AT_0A
		GLB	SC_MX
		GLB	TMJ_S,TMJ_E
		GLB	JGM_E
		GLB	WAT_E
		GLB	POC_E
		GLB	KOM_S,KOM_E,KM2_S,KM2_E
		GLB	AJM_S,AJM_E
		GLB	BB_S0,BB_EN
		GLB	TJM_E
		GLB	MTH_S,MTH_E
		GLB	PKN_S,PKN_E
		GLB	FSB_S,FSB_E,FBM_S,FBM_E
		GLB	FSN_S,FSN_E
		GLB	RP0_S
		GLB	SSL_S,SSL_E
		GLB	FUR_E
		GLB	AHO_E
		GLB	WAT_S
		GLB	BTL_E
;
		GLB	M_THO,M_TAM,M_DR0,M_LIF
		GLB	M_DR2,M_FUS
		GLB	M_DR4,M_SUI,M_DR5
;
;
		GLB	EATMXS,NOSWT,EGGTM
;
		GLB	TROBJ_PLOT_X,TROBJ_PLOT_Y,TROBJ_CHAR_NO
;
		GLB	EGOPAD,QKM_COIN_XSP,QKM_COIN_YSP,TIMKN_CHANGE
;
		GLB	ENFAIL0
;
		GLB	FSMK0_SET2,FSMK0_SET2_2,FSMK0_SET3,FSMK0_SET4,FSMK0_SET
		GLB	FSMK2_SET,FSMK0_SET5,FSMK2_ST2
		GLB	FUNDA_ENFALL_L
		GLB	SCORE_SET,COIN1_END_SET,EX_COIN_SET,EX_COIN_SET_2
		GLB	BLUE_COIN_INC
		GLB	EX_COIN_SET_3,EGG00_COL_SET,FSMK0_SET_S
;
;------------------------------------------------------------------------
;-		extern symbol						-
;------------------------------------------------------------------------
;
;-------------< ys_main >------------------------------------------------
		EXT	SOUND_3_ON,RANDAM
		EXT	INT_STAT
;
;-------------< ys_rpro >------------------------------------------------
		EXT	JSRSUB,CHIPON,CHIPON_RAM_READ
		EXT	CHIPON_SPECIAL
;
;-------------< ys_init >------------------------------------------------
		EXT	UNCOMPRES_X,VRAMDX_ST
;
		EXT	BG1CHRBK,BG1COLBK
;
;-------------< ys_game >------------------------------------------------
		EXT	BGM_SET
;
;-------------< ys_bgsc >------------------------------------------------
		EXT	UNITCHG
		EXT	BGCG,BCG2
;
;-------------< ys_play >------------------------------------------------
		EXT	BERO_CANCEL,SCRL_CXY_SET
		EXT	TIMEUP_SET,PLTYPE_RAMCLR
		EXT	EGG_WARE_SET
		EXT	BGSTAT,BGSTAT2,EBSTAT,SAKADT,SDCRDT
		EXT	PFAL,PSTP,PMOV,PCHG,PDEM,PDKN
		EXT	PFLP
;
		EXT	PUSHTM
;
;-------------< ys_enmy2 >-----------------------------------------------
		EXT	WAVLFIN,CDOORIN,MRBLKIN,COLD0IN
		EXT	COLDXIN,SUIKAIN,FIRE0IN,TAIH0IN
		EXT	MISA0IN,DTELEIN,FIREXIN,SOPB0IN
		EXT	SKILFIN,WTRLFIN,YKDLFIN,HEIH0IN
		EXT	NAMAZIN
		EXT	SANPOIN,GHOSTIN
		EXT	GITANIN,FACE8IN
		EXT	CSTARIN,GITNSIN,GITNLIN,NLFLRIN
		EXT	NLFUDIN,DEATHIN,HACHIIN
		EXT	CHKH0IN,KUSAHIN
		EXT	NRLF0IN,NRLF1IN,HRLF0IN,HRLF1IN,NRLF2IN,NRLF3IN
		EXT	HRLF2IN,HRLF3IN,SRLF0IN,SRLF1IN,GRPLFIN
		EXT	FLWH0IN,MILL0IN,MILL1IN,MILL2IN,MILS0IN,PUPBBIN
		EXT	COIN1IN,SWAVMIN,SWAV0IN,SWAV1IN,TIKU0IN,TIKU1IN
		EXT	CNTLFIN,GABONIN,GABNBIN,PONTAIN,HSAN0IN
		EXT	GABN2IN,GBNB2IN
		EXT	BGKM0IN,GHEIHIN
;
		EXT	WAVLFMV,CDOORMV,MRBLKMV,COLD0MV
		EXT	COLDXMV,SUIKAMV,FIRE0MV,TAIH0MV
		EXT	MISA0MV,DTELEMV,FIREXMV,SOPB0MV
		EXT	SKILFMV,WTRLFMV,YKDLFMV,HEIH0MV
		EXT	NAMAZMV
		EXT	SANPOMV,GHOSTMV
		EXT	GITANMV,FACE8MV
		EXT	CSTARMV,GITNSMV
		EXT	GITNLMV,NLFLRMV,NLFUDMV,DEATHMV
		EXT	HACHIMV,CHKH0MV,KUSAHMV
		EXT	NRLF0MV,NRLF1MV,HRLF0MV,HRLF1MV,NRLF2MV,NRLF3MV
		EXT	HRLF2MV,HRLF3MV,SRLF0MV,SRLF1MV,GRPLFMV
		EXT	FLWH0MV,MILL0MV,MILL1MV,MILL2MV,MILS0MV,PUPBBMV
		EXT	COIN1MV,SWAVMMV,SWAV0MV,SWAV1MV,TIKU0MV,TIKU1MV
		EXT	CNTLFMV,GABONMV,GABNBMV,PONTAMV,HSAN0MV
		EXT	GABN2MV,GBNB2MV
		EXT	BGKM0MV,GHEIHMV
;
		EXT	DNXG2FL,CSTARFL,HEIH0FL
;
		EXT	GHOSTNS,KUSAHNS
;
		EXT	FUSNB_SET,KINOMI_CANCEL,KINOMI_CANCEL_2,KINOMI_CANCEL_3
		EXT	TO_PLDOWN
;
		EXT	HEIH0_TO_GURU,HEIH0_DEATH_CHK
;
;-------------< ys_enmy3 >-----------------------------------------------
		EXT	TSUBOIN,OBAKEIN,IWATSIN,OBFIRIN,POLY1IN
		EXT	KERO0IN,POLDRIN,GATE0IN
		EXT	DWNBGIN,MSTARIN
		EXT	GOLYSIN,ITEGGIN,KPBKGIN,BG_00IN,BKMKJIN,AW_FGIN
		EXT	ON_DWIN,DRKEYIN,KEYDRIN,ZDOORIN
		EXT	DWBL0IN,DWBL1IN,DWBL2IN,DWBL3IN,IEKI0IN
		EXT	GOAL1IN
		EXT	M_ITMIN,BOSDRIN,LBSDRIN,BSCLWIN,BSCLRIN
		EXT	HBLK7IN,MONK0IN,MONK1IN,MONK2IN,MONK3IN,NEXTGIN
		EXT	UNBABIN,MONK4IN,INGERIN,BHEIRIN,BHEIGIN
		EXT	DNXGOIN,DNXG2IN,SNXGOIN
		EXT	KPBOMIN,SNXG2IN,KPFIRIN,KPEXBIN
;
		EXT	TSUBOMV,OBAKEMV,IWATSMV,OBFIRMV,POLY1MV
		EXT	KERO0MV,POLDRMV,GATE0MV
		EXT	DWNBGMV,MSTARMV
		EXT	GOLYSMV,ITEGGMV,KPBKGMV,BG_00MV,BKMKJMV,AW_FGMV
		EXT	ON_DWMV,DRKEYMV,KEYDRMV,ZDOORMV
		EXT	DWBL0MV,DWBL1MV,DWBL2MV,DWBL3MV,IEKI0MV
		EXT	GOAL1MV
		EXT	M_ITMMV,BOSDRMV,LBSDRMV,BSCLWMV,BSCLRMV
		EXT	HBLK7MV,MONK0MV,MONK1MV,MONK2MV,MONK3MV,NEXTGMV
		EXT	UNBABMV,MONK4MV,INGERMV,BHEIRMV,BHEIGMV
		EXT	DNXGOMV,DNXG2MV,SNXGOMV
		EXT	KPBOMMV,SNXG2MV,KPFIRMV,KPEXBMV
;
		EXT	KUMOB_SET,KUMOB_SET_2,KIRAKIRA_SET,QAROW_SET_CK
		EXT	MONKY_FAIL_SET,TO_COIN_CHANGE,SUIKT_DOWN_ST
;
;-------------< ys_enmy4 >-----------------------------------------------
		EXT	HBLK2IN,HBLK3IN
		EXT	HBLK4IN,HBLK5IN,JBLK0IN
		EXT	KANI0IN,TELELIN
		EXT	DAI00IN,DAI01IN,DAI02IN
		EXT	KIL00IN,KIL01IN,KIL02IN
		EXT	FYUKAIN,ZBUB0IN,ZBUB1IN,WANG0IN,COIN0IN
		EXT	OSARUIN,KOROGIN,HBLK6IN
		EXT	BLKLFIN,BLKL2IN,BOSSKIN,SESAWIN
		EXT	ZPACKIN,ZPAC2IN,BBROSIN
		EXT	ARIH0IN,JBLKLIN,JBKL2IN,FUSENIN
		EXT	ZPAC3IN,WARPSIN,NIKOPIN,NIKP2IN,NIKP3IN,BETO0IN
		EXT	VOWVWIN,VOWV2IN,BAK20IN,BAK21IN,BAKLFIN,YUKIDIN
		EXT	MSGBXIN,BTELEIN,FLOATIN,NUNOOIN,RLTLFIN,RLTL2IN
		EXT	RLTL3IN,POWSWIN,PKPK2IN,PKPK3IN
;
		EXT	HBLK2MV,HBLK3MV
		EXT	HBLK4MV,HBLK5MV,JBLK0MV
		EXT	KANI0MV,TELELMV
		EXT	DAI00MV,DAI01MV,DAI02MV
		EXT	KIL00MV,KIL01MV,KIL02MV
		EXT	FYUKAMV,ZBUB0MV,ZBUB1MV,WANG0MV,COIN0MV
		EXT	OSARUMV,KOROGMV,HBLK6MV
		EXT	BLKLFMV,BLKL2MV,BOSSKMV,SESAWMV
		EXT	ZPACKMV,ZPAC2MV,BBROSMV
		EXT	ARIH0MV,JBLKLMV,JBKL2MV,FUSENMV
		EXT	ZPAC3MV,WARPSMV,NIKOPMV,NIKP2MV,NIKP3MV,BETO0MV
		EXT	VOWVWMV,VOWV2MV,BAK20MV,BAK21MV,BAKLFMV,YUKIDMV
		EXT	MSGBXMV,BTELEMV,FLOATMV,NUNOOMV,RLTLFMV,RLTL2MV
		EXT	RLTL3MV,POWSWMV,PKPK2MV,PKPK3MV
;
		EXT	KIL00FL,KIL01FL,KIL02FL,KIL03FL,KIL04FL,SESAWFL
;
		EXT	BABYMNS
;
		EXT	BBROS_CHECK
;
;-------------< ys_enmy5 >-----------------------------------------------
		EXT	BOSS0IN
		EXT	DMPLCIN
		EXT	PURININ,PURI0IN,HARIOIN,TUMUJIN,SUIKTIN,DHEIHMV
;
		EXT	BOSS0MV
		EXT	DMPLCMV
		EXT	PURINMV,PURI0MV,HARIOMV,TUMUJMV,SUIKTMV,DHEIHIN
;
;-------------< ys_enmy6 >-----------------------------------------------
		EXT	BOMBXIN,ROTLFIN
		EXT	MBALLIN,AWANGIN
		EXT	AWANMIN,AWANSIN,AWANPIN,BOBK0IN,BOBK1IN
		EXT	AHOBDIN,AHOB2IN
		EXT	KAMO0IN,KAMO1IN,AWAFKIN,ZSABOIN,STAMAIN
		EXT	ZFLWRIN,ZFLW2IN,JTAMAIN,HSAN1IN,DBAHOIN,MATO0IN
		EXT	DBAH2IN,BOMB0IN,JTAM2IN,GENKIIN,BAHOBIN,ZSAB2IN
		EXT	SW000IN,YGOROIN
;
		EXT	BOMBXMV,ROTLFMV
		EXT	MBALLMV,AWANGMV
		EXT	AWANMMV,AWANSMV,AWANPMV,BOBK0MV,BOBK1MV
		EXT	AHOBDMV,AHOB2MV
		EXT	KAMO0MV,KAMO1MV,AWAFKMV,ZSABOMV,STAMAMV
		EXT	ZFLWRMV,ZFLW2MV,JTAMAMV,HSAN1MV,DBAHOMV,MATO0MV
		EXT	DBAH2MV,BOMB0MV,JTAM2MV,GENKIMV,BAHOBMV,ZSAB2MV
		EXT	SW000MV,YGOROMV
;
		EXT	MATO0_DEATH_CHK
;
;-------------< ys_enmy7 >-----------------------------------------------
		EXT	OTAMAIN, OTAMHIN, BBFLWIN, EGFLWIN
		EXT	TAKEHIN
		EXT	BATSNIN
		EXT	YARIHIN, YARH2IN
		EXT	ENRGBIN, MCHO2IN, BULETIN
		EXT	POCHIIN
		EXT	MITSNIN
		EXT	JUGEMIN, WATABIN, FHOTMIN, FVOTMIN
		EXT	DEBU0IN
		EXT	KOMO0IN, KOMO1IN
		EXT	PKPK0IN, PKPK1IN
		EXT	KEME0IN, KEME1IN
		EXT	REFC0IN, REFC1IN, REFC2IN, REFC3IN, REFC4IN
		EXT	REFC5IN, REFC6IN, REFC7IN, REFC8IN
		EXT	MOTH0IN
		EXT	TEPPOIN
		EXT	AJGM0IN
		EXT	TONG0IN, TONG1IN, BAMBOIN, KARATIN
		EXT	KORA0IN, KORA1IN, HNOK0IN, HNOK1IN, NKNK0IN, NKNK1IN
		EXT	PTPT0IN, PTPT1IN, PTPT2IN, JGEMWIN, THJGMIN, P_KUNIN
		EXT	P_KN2IN
		EXT	FUSN0IN, FUSN1IN, FUSN2IN, FUSN3IN, FUSN4IN
		EXT	FUSN5IN, FUSN6IN, FUSN7IN, FUSN8IN, FUSN9IN
		EXT	FUSNaIN, FUSNbIN, BALONIN, SABO0IN, FKPBMIN
;
		EXT	OTAMAMV, OTAMHMV, BBFLWMV, EGFLWMV
		EXT	TAKEHMV
		EXT	BATSNMV
		EXT	YARIHMV, YARH2MV
		EXT	ENRGBMV, MCHO2MV, BULETMV
		EXT	POCHIMV
		EXT	MITSNMV
		EXT	JUGEMMV, WATABMV, FHOTMMV, FVOTMMV
		EXT	DEBU0MV
		EXT	KOMO0MV, KOMO1MV
		EXT	PKPK0MV, PKPK1MV
		EXT	KEME0MV, KEME1MV
		EXT	REFC0MV, REFC1MV, REFC2MV, REFC3MV, REFC4MV
		EXT	REFC5MV, REFC6MV, REFC7MV, REFC8MV
		EXT	MOTH0MV
		EXT	TEPPOMV
		EXT	AJGM0MV
		EXT	TONG0MV, TONG1MV, BAMBOMV, KARATMV
		EXT	KORA0MV, KORA1MV, HNOK0MV, HNOK1MV, NKNK0MV, NKNK1MV
		EXT	PTPT0MV, PTPT1MV, PTPT2MV, JGEMWMV, THJGMMV, P_KUNMV
		EXT	P_KN2MV
		EXT	FUSN0MV, FUSN1MV, FUSN2MV, FUSN3MV, FUSN4MV
		EXT	FUSN5MV, FUSN6MV, FUSN7MV, FUSN8MV, FUSN9MV
		EXT	FUSNaMV, FUSNbMV, BALONMV, SABO0MV, FKPBMMV
;
		EXT	OTAMAFL, OTAMHFL
		EXT	TAKEHFL
		EXT	JUGEMFL
		EXT	KEME0FL, KEME1FL
		EXT	AJGM0FL, KARATFL
		EXT	KORA0FL, KORA1FL, HNOK0FL, HNOK1FL, NKNK0FL, NKNK1FL
		EXT	PTPT0FL, PTPT1FL, PTPT2FL, JGEMWFL, THJGMFL
;
		EXT	AJGM0_INIT
;
;-------------< ys_enmy8 >-----------------------------------------------
		EXT	GURU1IN,GURU2IN,HOMOLIN,HOMORIN
		EXT	DOSUNIN,DHEIHIN
		EXT	TRBOXIN
		EXT	MAKI0IN,MAKI1IN
		EXT	QCHANIN,QCHN2IN,FLIPPIN,FLIPHIN
		EXT	AWANHIN,RBLKGIN,RBLKYIN,RFLSGIN,RFLSYIN
		EXT	RFLLGIN,SPRKLIN,SPRKRIN,PPCKLIN,PPCKRIN
		EXT	HINAQIN,RMARUIN
		EXT	HINQ2IN,TRBX2IN,TTUBOIN,KINTOIN
		EXT	KATI0IN,KATI1IN,KATI2IN
;
		EXT	GURU1MV,GURU2MV,HOMOLMV,HOMORMV
		EXT	DOSUNMV,DHEIHMV
		EXT	TRBOXMV
		EXT	MAKI0MV,MAKI1MV
		EXT	QCHANMV,QCHN2MV,FLIPPMV,FLIPHMV
		EXT	AWANHMV,RBLKGMV,RBLKYMV,RFLSGMV,RFLSYMV
		EXT	RFLLGMV,SPRKLMV,SPRKRMV,PPCKLMV,PPCKRMV
		EXT	HINAQMV,RMARUMV
		EXT	HINQ2MV,TRBX2MV,TTUBOMV,KINTOMV
		EXT	KATI0MV,KATI1MV,KATI2MV
;
		EXT	PONTA_CHECK
;
;-------------< ys_enmy9 >-----------------------------------------------
		EXT	TURARIN, SUZUMIN, GRCKSIN, GROCKIN, YAJI0IN, YAJI1IN
		EXT	NISEFIN, KOUNBIN, TARKNIN, STRKNIN, FTRKNIN
		EXT	BATSBIN, FIRBRIN, FIRB2IN, TIMKNIN
		EXT	NZANAIN, NZAN2IN, NEZMIIN, NEZM2IN, CORKSIN, BFISHIN
		EXT	YGFSHIN, KOKERIN, MAGICIN, TULIPIN, WPKPKIN, JFISHIN
		EXT	HBNBNIN, KAMC2IN, TBHIHIN, COIN2IN, COINRIN, BG3LFIN
		EXT	PONPUIN, RAKUGIN, YOSSYIN, MSHIHIN
		EXT	PANDAIN, BATSAIN, BATSCIN, SKLNZIN, BLTLSIN, KAMECIN
		EXT	COMCHIN, GSTH0IN
;
		EXT	TURARMV, SUZUMMV, GRCKSMV, GROCKMV, YAJI0MV, YAJI1MV
		EXT	NISEFMV, KOUNBMV, TARKNMV, STRKNMV, FTRKNMV
		EXT	BATSBMV, FIRBRMV, FIRB2MV, TIMKNMV
		EXT	NZANAMV, NZAN2MV, NEZMIMV, NEZM2MV, CORKSMV, BFISHMV
		EXT	YGFSHMV, KOKERMV, MAGICMV, TULIPMV, WPKPKMV, JFISHMV
		EXT	HBNBNMV, KAMC2MV, TBHIHMV, COIN2MV, COINRMV, BG3LFMV
		EXT	PONPUMV, RAKUGMV, YOSSYMV, MSHIHMV
		EXT	PANDAMV, BATSAMV, BATSCMV, SKLNZMV, BLTLSMV, KAMECMV
		EXT	COMCHMV, GSTH0MV
;
		EXT	PANDAFL, BATSAFL, BATSCFL, BLTLSFL, KAMECFL
		EXT	COMCHFL, GSTH0FL
;
		EXT	GSTH0_CHRST, GSTH0_CRCRINST
		EXT	MSHIHCHRST, COIN_CATCH
;
;-------------< ys_enmy10 >-----------------------------------------------
		EXT	GOALXIN, BONSXIN, PANSYIN, KONOTIN, RDOORIN
		EXT	DGFLYIN, BTFLYIN
		EXT	LUIGIIN, HIMITIN, EG1UPIN, HIMI2IN
;
		EXT	GOALXMV, BONSXMV, PANSYMV, KONOTMV, RDOORMV
		EXT	DGFLYMV, BTFLYMV
		EXT	LUIGIMV, HIMITMV, EG1UPMV, HIMI2MV
;
		EXT	PANSYFL
;
;-------------< ys_enmy11 >-----------------------------------------------
		EXT	KAMC4IN
		EXT	FBOM0IN, MC1UPIN
;
		EXT	KAMC4MV
		EXT	FBOM0MV, MC1UPMV
;
;-------------< ys_enmy12 >-----------------------------------------------
		EXT	KAMCSIN,SHEIHIN,MARUTIN
;
		EXT	KAMCSMV,SHEIHMV,MARUTMV
;
;-------------< ys_boss1 >------------------------------------------------
		EXT	SLIMEIN,BKSLMIN,SLEYEIN,SSLIMIN
;
		EXT	SLIMEMV,BKSLMMV,SLEYEMV,SSLIMMV
;
;-------------< ys_boss2 >------------------------------------------------
		EXT	MPACKIN,MPACHIN,MPACWIN
;
		EXT	MPACKMV,MPACHMV,MPACWMV
;
;-------------< ys_koopa >------------------------------------------------
		EXT	KOOPAIN,KAMC3IN,FWAVEIN,KPBLKIN
;
		EXT	KOOPAMV,KAMC3MV,FWAVEMV,KPBLKMV
;
		EXT	KOOPANS
;
;-------------< ys_enmy14 >----------------------------------------------
		EXT	BOSSQIN,PUCHGIN,PUCHBIN,QSPAKIN
;
		EXT	BOSSQMV,PUCHGMV,PUCHBMV,QSPAKMV
;
;-------------< ys_dorobo >----------------------------------------------
		EXT	DOROBIN,DORB2IN,DORBFIN,DRBF2IN,DORBLIN,DORBRIN
		EXT	GEROZIN,TJUGMIN
;
		EXT	DOROBMV,DORB2MV,DORBFMV,DRBF2MV,DORBLMV,DORBRMV
		EXT	GEROZMV,TJUGMMV
;
		EXT	DOROBFL,DORB2FL,DORBLFL,DORBRFL
		EXT	GEROZFL,TJUGMFL
;
		EXT	DORB2WK,DORBLWK,DORBRWK,POSITION_SAVE
;
		EXT	GEROZ_TO_FALL
;
;-------------< ys_hajime-chan >-------------------------------------------
		EXT	BABYMIN
;
		EXT	BABYMMV
;
;-------------< ys_enmy13 >----------------------------------------------
		EXT	BG3FLIN, BG3BLIN, BG3ULIN, BG3DOIN
		EXT	BG3KTIN, BG3D2IN
;
		EXT	BG3FLMV, BG3BLMV, BG3ULMV, BG3DOMV
		EXT	BG3KTMV, BG3D2MV
;
;-------------< ys_bbbros >------------------------------------------------
		EXT	BBBRSIN, PUCHAIN, BG3EXIN
;
		EXT	BBBRSMV, PUCHAMV, BG3EXMV
;
;-------------< ys_exst >------------------------------------------------
		EXT	EXSTRA,EXINSR
		EXT	WTUP0,WTUP1,SCORE,SMOK1,AWASP,DOON0
		EXT	EGGWR,DSMK0,FSMK0,FSMK1
		EXT	COLDK,ICECL,FLKIR,FSMK2,YKCHI,COINX
;
		EXT	FSMK2P
;
;-------------< ys_mini >------------------------------------------------
		EXT	M_LIFIN,M_DR2IN,M_FUSIN
;
		EXT	M_LIFMV,M_DR2MV,M_FUSMV
;
;-------------< ys_mini1 >-----------------------------------------------
		EXT	M_THOIN,M_TAMIN,M_DR0IN
		EXT	M_DR4IN,M_SUIIN
		EXT	M_DR5IN
;
		EXT	M_THOMV,M_TAMMV,M_DR0MV
		EXT	M_DR4MV,M_SUIMV
		EXT	M_DR5MV
;
;-------------< ys_pldt_e >----------------------------------------------
		EXT	BABY_AD_X,BABY_AD_Y
		EXT	EGG_AD_X,EGG_AD_Y
;
;-------------< ys_data >------------------------------------------------
		EXT	COS,SIN
;
;------------------------------------------------------------------------
;-		define symbol						-
;------------------------------------------------------------------------
BABY_INDEX	EQU	00
;
EATEGGEND	EQU	48H	;[ 注）<ys_mpldt.asm>に存在！！ ]
;
;
;
;
;************************************************************************
;*									*
;*		program start						*
;*									*
;************************************************************************
;
;
		EXTEND
;
		MEM8
		IDX8
;
;
Group_3		GROUP	Enemy_pro
Enemy_pro	SECT	REL
;
;****************************************************************
;*		enemy initial name				*
;****************************************************************
EINADR		EQU	$
WAVLFN		LWORD	WAVLFIN		;[WAVLF]
CDOORN		LWORD	CDOORIN		;[CDOOR]
MPACWN		LWORD	MPACWIN		;[MPACW]
TRBX2N		LWORD	TRBX2IN		;[TRBX2]
MRBLKN		LWORD	MRBLKIN		;[MRBLK]
COLD0N		LWORD	COLD0IN		;[COLD0]
COLDXN		LWORD	COLDXIN		;[COLDX]
SUIKAN		LWORD	SUIKAIN		;[SUIKA]
KPEXBN		LWORD	KPEXBIN		;[KPEXB]
FIRE0N		LWORD	FIRE0IN		;[FIRE0]
TAIH0N		LWORD	TAIH0IN		;[TAIH0]
BOMB0N		LWORD	BOMB0IN		;[BOMB0]
BOSSQN		LWORD	BOSSQIN		;[BOSSQ]
GOAL1N		LWORD	GOAL1IN		;[GOAL1]
GOALXN		LWORD	GOALXIN		;[GOALX]
BONSXN		LWORD	BONSXIN		;[BONSX]
BG3D2N		LWORD	BG3D2IN		;[BG3D2]
M_ITMN		LWORD	M_ITMIN		;[M_ITM]
BOSDRN		LWORD	BOSDRIN		;[BOSDR]
BSCLWN		LWORD	BSCLWIN		;[BSCLW]
BSCLRN		LWORD	BSCLRIN		;[BSCLR]
MISA0N		LWORD	MISA0IN		;[MISA0]
DTELEN		LWORD	DTELEIN		;[DTELE]
GEROZN		LWORD	GEROZIN		;[GEROZ]
FIREXN		LWORD	FIREXIN		;[FIREX]
SOPB0N		LWORD	SOPB0IN		;[SOPB0]
SKILFN		LWORD	SKILFIN		;[SKILF]
WTRLFN		LWORD	WTRLFIN		;[WTRLF]
YUKIDN		LWORD	YUKIDIN		;[YUKID]
YKDLFN		LWORD	YKDLFIN		;[YKDLF]
HEIH0N		LWORD	HEIH0IN		;[HEIH0]
RDOORN		LWORD	RDOORIN		;[RDOOR]
DOROBN		LWORD	DOROBIN		;[DOROB]
BAKLFN		LWORD	BAKLFIN		;[BAKLF]
EGG00N		LWORD	EGG00IN		;[EGG00]
EGG02N		LWORD	EGG02IN		;[EGG02]
EGG01N		LWORD	EGG01IN		;[EGG01]
EGG03N		LWORD	EGG03IN		;[EGG03]
KPBOMN		LWORD	KPBOMIN		;[KPBOM]
DRKEYN		LWORD	DRKEYIN		;[DRKEY]
KAMO1N		LWORD	KAMO1IN		;[KAMO1]
YSEGGN		LWORD	YSEGGIN		;[YSEGG]
EGG08N		LWORD	EGG08IN		;[EGG08]
EGG09N		LWORD	EGG09IN		;[EGG09]
NAMAZN		LWORD	NAMAZIN		;[NAMAZ]
SLIMEN		LWORD	SLIMEIN		;[SLIME]
SLEYEN		LWORD	SLEYEIN		;[SLEYE]
NZANAN		LWORD	NZANAIN		;[NZANA]
NEZMIN		LWORD	NEZMIIN		;[NEZMI]
SANPON		LWORD	SANPOIN		;[SANPO]
NZAN2N		LWORD	NZAN2IN		;[NZAN2]
NEZM2N		LWORD	NEZM2IN		;[NEZM2]
TSUBON		LWORD	TSUBOIN		;[TSUBO]
OBAKEN		LWORD	OBAKEIN		;[OBAKE]
IWATSN		LWORD	IWATSIN		;[IWATS]
GHOSTN		LWORD	GHOSTIN		;[GHOST]
OBFIRN		LWORD	OBFIRIN		;[OBFIR]
POLY1N		LWORD	POLY1IN		;[POLY1]
HINAQN		LWORD	HINAQIN		;[HINAQ]
HINQ2N		LWORD	HINQ2IN		;[HINQ2]
BOSSKN		LWORD	BOSSKIN		;[BOSSK]
SESAWN		LWORD	SESAWIN		;[SESAW]
MARUTN		LWORD	MARUTIN		;[MARUT]
BKSLMN		LWORD	BKSLMIN		;[BKSLM]
LUIGIN		LWORD	LUIGIIN		;[LUIGI]
KONOTN		LWORD	KONOTIN		;[KONOT]
DNXG2N		LWORD	DNXG2IN		;[DNXG2]
BHEIRN		LWORD	BHEIRIN		;[BHEIR]
BHEIGN		LWORD	BHEIGIN		;[BHEIG]
INGERN		LWORD	INGERIN		;[INGER]
BBBRSN		LWORD	BBBRSIN		;[BBBRS]
TBHIHN		LWORD	TBHIHIN		;[TBHIH]
KAMC2N		LWORD	KAMC2IN		;[KAMC2]
SWAVMN		LWORD	SWAVMIN		;[SWAVM]
SWAV0N		LWORD	SWAV0IN		;[SWAV0]
SWAV1N		LWORD	SWAV1IN		;[SWAV1]
ZSAB2N		LWORD	ZSAB2IN		;[ZSAB2]
KERO0N		LWORD	KERO0IN		;[KERO0]
POLDRN		LWORD	POLDRIN		;[POLDR]
GATE0N		LWORD	GATE0IN		;[GATE0]
GITANN		LWORD	GITANIN		;[GITAN]
FACE8N		LWORD	FACE8IN		;[FACE8]
FUSENN		LWORD	FUSENIN		;[FUSEN]
KAMCSN		LWORD	KAMCSIN		;[KAMCS]
ZPAC3N		LWORD	ZPAC3IN		;[ZPAC3]
MILL0N		LWORD	MILL0IN		;[MILL0]
MILS0N		LWORD	MILS0IN		;[MILS0]
BG3FLN		LWORD	BG3FLIN		;[BG3FL]
DORBFN		LWORD	DORBFIN		;[DORBF]
CSTARN		LWORD	CSTARIN		;[CSTAR]
QSPAKN		LWORD	QSPAKIN		;[QSPAK]
DORB2N		LWORD	DORB2IN		;[DORB2]
DRBF2N		LWORD	DRBF2IN		;[DRBF2]
HBLK5N		LWORD	HBLK5IN		;[HBLK5]
GITNSN		LWORD	GITNSIN		;[GITNS]
GITNLN		LWORD	GITNLIN		;[GITNL]
BOMBXN		LWORD	BOMBXIN		;[BOMBX]
BABYMN		LWORD	BABYMIN		;[BABYM]
PANDAN		LWORD	PANDAIN		;[PANDA]
BETO0N		LWORD	BETO0IN		;[BETO0]
MILL1N		LWORD	MILL1IN		;[MILL1]
COINRN		LWORD	COINRIN		;[COINR]
ZPACKN		LWORD	ZPACKIN		;[ZPACK]
HIMITN		LWORD	HIMITIN		;[HIMIT]
HBLK2N		LWORD	HBLK2IN		;[HBLK2]
HBLK4N		LWORD	HBLK4IN		;[HBLK4]
HBLK3N		LWORD	HBLK3IN		;[HBLK3]
HBLK7N		LWORD	HBLK7IN		;[HBLK7]
JBLKLN		LWORD	JBLKLIN		;[JBLKL]
PPCKLN		LWORD	PPCKLIN		;[PPCKL]
PPCKRN		LWORD	PPCKRIN		;[PPCKR]
JBLK0N		LWORD	JBLK0IN		;[JBLK0]
KANI0N		LWORD	KANI0IN		;[KANI0]
TELELN		LWORD	TELELIN		;[TELEL]
RAKUGN		LWORD	RAKUGIN		;[RAKUG]
PONPUN		LWORD	PONPUIN		;[PONPU]
GABONN		LWORD	GABONIN		;[GABON]
GABNBN		LWORD	GABNBIN		;[GABNB]
SPRKLN		LWORD	SPRKLIN		;[SPRKL]
SPRKRN		LWORD	SPRKRIN		;[SPRKR]
DAI00N		LWORD	DAI00IN		;[DAI00]
DAI01N		LWORD	DAI01IN		;[DAI01]
DAI02N		LWORD	DAI02IN		;[DAI02]
KIL00N		LWORD	KIL00IN		;[KIL00]
KIL01N		LWORD	KIL01IN		;[KIL01]
KIL02N		LWORD	KIL02IN		;[KIL02]
DWNBGN		LWORD	DWNBGIN		;[DWNBG]
FYUKAN		LWORD	FYUKAIN		;[FYUKA]
ZBUB0N		LWORD	ZBUB0IN		;[ZBUB0]
ZBUB1N		LWORD	ZBUB1IN		;[ZBUB1]
WANG0N		LWORD	WANG0IN		;[WANG0]
BGKM0N		LWORD	BGKM0IN		;[BGKM0]
NEXTGN		LWORD	NEXTGIN		;[NEXTG]
HARION		LWORD	HARIOIN		;[HARIO]
COIN0N		LWORD	COIN0IN		;[COIN0]
EG1UPN		LWORD	EG1UPIN		;[EG1UP]
MSTARN		LWORD	MSTARIN		;[MSTAR]
NLFLRN		LWORD	NLFLRIN		;[NLFLR]
NLFUDN		LWORD	NLFUDIN		;[NLFUD]
FBOM0N		LWORD	FBOM0IN		;[FBOM0]
GOLYSN		LWORD	GOLYSIN		;[GOLYS]
MC1UPN		LWORD	MC1UPIN		;[MC1UP]
KAMC3N		LWORD	KAMC3IN		;[KAMC3]
OSARUN		LWORD	OSARUIN		;[OSARU]
BG3KTN		LWORD	BG3KTIN		;[BG3KT]
DEATHN		LWORD	DEATHIN		;[DEATH]
KOROGN		LWORD	KOROGIN		;[KOROG]
ZDOORN		LWORD	ZDOORIN		;[ZDOOR]
HBLK6N		LWORD	HBLK6IN		;[HBLK6]
BLKLFN		LWORD	BLKLFIN		;[BLKLF]
BLKL2N		LWORD	BLKL2IN		;[BLKL2]
POWSWN		LWORD	POWSWIN		;[POWSW]
WARPSN		LWORD	WARPSIN		;[WARPS]
JTAM2N		LWORD	JTAM2IN		;[JTAM2]
ROTLFN		LWORD	ROTLFIN		;[ROTLF]
GABN2N		LWORD	GABN2IN		;[GABN2]
GBNB2N		LWORD	GBNB2IN		;[GBNB2]
SW000N		LWORD	SW000IN		;[SW000]
MBALLN		LWORD	MBALLIN		;[MBALL]
ZPAC2N		LWORD	ZPAC2IN		;[ZPAC2]
TULIPN		LWORD	TULIPIN		;[TULIP]
HACHIN		LWORD	HACHIIN		;[HACHI]
GENKIN		LWORD	GENKIIN		;[GENKI]
DORBLN		LWORD	DORBRIN		;[DORBL]
DORBRN		LWORD	DORBRIN		;[DORBR]
UNBABN		LWORD	UNBABIN		;[UNBAB]
AWANGN		LWORD	AWANGIN		;[AWANG]
AWANMN		LWORD	AWANMIN		;[AWANM]
AWANSN		LWORD	AWANSIN		;[AWANS]
AWANPN		LWORD	AWANPIN		;[AWANP]
SHEIHN		LWORD	SHEIHIN		;[SHEIH]
ITEGGN		LWORD	ITEGGIN		;[ITEGG]
KPBKGN		LWORD	KPBKGIN		;[KPBKG]
MSGBXN		LWORD	MSGBXIN		;[MSGBX]
BOSS0N		LWORD	BOSS0IN		;[BOSS0]
CHG00N		LWORD	CHG00IN		;[CHG00]
CHG01N		LWORD	CHG01IN		;[CHG01]
CHG02N		LWORD	CHG02IN		;[CHG02]
CHG03N		LWORD	CHG03IN		;[CHG03]
PUUUUN		LWORD	RTLSUB		;[PUUUU]
CHG05N		LWORD	CHG05IN		;[CHG05]
QKM00N		LWORD	QKM00IN		;[QKM00]
QKM01N		LWORD	QKM01IN		;[QKM01]
QKM02N		LWORD	QKM02IN		;[QKM02]
QKM03N		LWORD	QKM03IN		;[QKM03]
QKM04N		LWORD	QKM04IN		;[QKM04]
QKM05N		LWORD	QKM05IN		;[QKM05]
QKM06N		LWORD	QKM06IN		;[QKM06]
QKM07N		LWORD	QKM07IN		;[QKM07]
QKM08N		LWORD	QKM08IN		;[QKM08]
QKM09N		LWORD	QKM09IN		;[QKM09]
QKM0AN		LWORD	QKM0AIN		;[QKM0A]
QKM0BN		LWORD	QKM0BIN		;[QKM0B]
QKM0CN		LWORD	QKM0CIN		;[QKM0C]
QKM0DN		LWORD	QKM0DIN		;[QKM0D]
QKM0EN		LWORD	QKM0EIN		;[QKM0E]
QKM0FN		LWORD	QKM0FIN		;[QKM0F]
QKM10N		LWORD	QKM10IN		;[QKM10]
QKM11N		LWORD	QKM11IN		;[QKM11]
QKM12N		LWORD	QKM12IN		;[QKM12]
QKM13N		LWORD	QKM13IN		;[QKM13]
QKM14N		LWORD	QKM14IN		;[QKM14]
LBSDRN		LWORD	LBSDRIN		;[LBSDR]
QKM16N		LWORD	QKM16IN		;[QKM16]
QKM17N		LWORD	QKM17IN		;[QKM17]
FKPBMN		LWORD	FKPBMIN		;[FKPBM]
KPFIRN		LWORD	KPFIRIN		;[KPFIR]
KPBLKN		LWORD	KPBLKIN		;[KPBLK]
SNXGON		LWORD	SNXGOIN		;[SNXGO]
DNXGON		LWORD	DNXGOIN		;[DNXGO]
PUCHAN		LWORD	PUCHAIN		;[PUCHA]
PUCHGN		LWORD	PUCHGIN		;[PUCHG]
PUCHBN		LWORD	PUCHBIN		;[PUCHB]
BG_00N		LWORD	BG_00IN		;[BG_00]
BG3ULN		LWORD	BG3ULIN		;[BG3UL]
BKMKJN		LWORD	BKMKJIN		;[BKMKJ]
AW_FGN		LWORD	AW_FGIN		;[AW_FG]
TJUGMN		LWORD	TJUGMIN		;[TJUGM]
TTUBON		LWORD	TTUBOIN		;[TTUBO]
BG3BLN		LWORD	BG3BLIN		;[BG3BL]
YGORON		LWORD	YGOROIN		;[YGORO]
DMPLCN		LWORD	DMPLCIN		;[DMPLC]
ON_DWN		LWORD	ON_DWIN		;[ON_DW]
WPKPKN		LWORD	WPKPKIN		;[WPKPK]
JFISHN		LWORD	JFISHIN		;[JFISH]
HBNBNN		LWORD	HBNBNIN		;[HBNBN]
BOBK0N		LWORD	BOBK0IN		;[BOBK0]
BOBK1N		LWORD	BOBK1IN		;[BOBK1]
HSAN0N		LWORD	HSAN0IN		;[HSAN0]
HSAN1N		LWORD	HSAN1IN		;[HSAN1]
TUMUJN		LWORD	TUMUJIN		;[TUMUJ]
BBROSN		LWORD	BBROSIN		;[BBROS]
AHOBDN		LWORD	AHOBDIN		;[AHOBD]
AHOB2N		LWORD	AHOB2IN		;[AHOB2]
OTAMAN		LWORD	OTAMAIN		;[OTAMA]
OTAMHN		LWORD	OTAMHIN		;[OTAMH]
VOWVWN		LWORD	VOWVWIN		;[VOWVW]
VOWV2N		LWORD	VOWV2IN		;[VOWV2]
NIKOPN		LWORD	NIKOPIN		;[NIKOP]
NIKP2N		LWORD	NIKP2IN		;[NIKP2]
NIKP3N		LWORD	NIKP3IN		;[NIKP3]
BBFLWN		LWORD	BBFLWIN		;[BBFLW]
TAKEHN		LWORD	TAKEHIN		;[TAKEH]
MSHIHN		LWORD	MSHIHIN		;[MSHIH]
EGFLWN		LWORD	EGFLWIN		;[EGFLW]
BATSNN		LWORD	BATSNIN		;[BATSN]
KAMO0N		LWORD	KAMO0IN		;[KAMO0]
AWAFKN		LWORD	AWAFKIN		;[AWAFK]
ZSABON		LWORD	ZSABOIN		;[ZSABO]
STAMAN		LWORD	STAMAIN		;[STAMA]
ZFLWRN		LWORD	ZFLWRIN		;[ZFLWR]
YARIHN		LWORD	YARIHIN		;[YARIH]
YARH2N		LWORD	YARH2IN		;[YARH2]
KARATN		LWORD	KARATIN		;[KARAT]
ENRGBN		LWORD	ENRGBIN		;[ENRGB]
POCHIN		LWORD	POCHIIN		;[POCHI]
PUPBBN		LWORD	PUPBBIN		;[PUPBB]
GURU1N		LWORD	GURU1IN		;[GURU1]
GURU2N		LWORD	GURU2IN		;[GURU2]
GHEIHN		LWORD	GHEIHIN		;[GHEIH]
BFISHN		LWORD	BFISHIN		;[BFISH] 骨魚
HOMOLN		LWORD	HOMOLIN		;[HOMOL]
HOMORN		LWORD	HOMORIN		;[HOMOR]
SUIKTN		LWORD	SUIKTIN		;[SUIKT]
PONTAN		LWORD	PONTAIN		;[PONTA]
KATI0N		LWORD	KATI0IN		;[KATI0]
KATI1N		LWORD	KATI1IN		;[KATI1]
KATI2N		LWORD	KATI2IN		;[KATI2]
DOSUNN		LWORD	DOSUNIN		;[DOSUN]
DHEIHN		LWORD	DHEIHIN		;[DHEIH]
TRBOXN		LWORD	TRBOXIN		;[TRBOX]
BTELEN		LWORD	BTELEIN		;[BTELE]
ZFLW2N		LWORD	ZFLW2IN		;[ZFLW2]
PURINN		LWORD	PURININ		;[PURIN]
PURI0N		LWORD	PURI0IN		;[PURI0]
MCHO2N		LWORD	MCHO2IN		;[MCHO2]
BULETN		LWORD	BULETIN		;[BULET]
COIN1N		LWORD	COIN1IN		;[COIN1]
FLOATN		LWORD	FLOATIN		;[FLOAT]
TIKU0N		LWORD	TIKU0IN		;[TIKU0]
TIKU1N		LWORD	TIKU1IN		;[TIKU1]
NUNOON		LWORD	NUNOOIN		;[NUNOO]
MITSNN		LWORD	MITSNIN		;[MITSN]
JUGEMN		LWORD	JUGEMIN		;[JUGEM]
KINTON		LWORD	KINTOIN		;[KINTO]
JTAMAN		LWORD	JTAMAIN		;[JTAMA]
RLTLFN		LWORD	RLTLFIN		;[RLTLF]
RLTL2N		LWORD	RLTL2IN		;[RLTL2]
RLTL3N		LWORD	RLTL3IN		;[RLTL3]
CNTLFN		LWORD	CNTLFIN		;[CNTLF]
BAK20N		LWORD	BAK20IN		;[BAK20]
BAK21N		LWORD	BAK21IN		;[BAK21]
ARIH0N		LWORD	ARIH0IN		;[ARIH0]
KAMC4N		LWORD	KAMC4IN		;[KAMC4]
MAKI0N		LWORD	MAKI0IN		;[MAKI0]
MAKI1N		LWORD	MAKI1IN		;[MAKI1]
FWAVEN		LWORD	FWAVEIN		;[FWAVE]
WATABN		LWORD	WATABIN		;[WATAB]
KUSAHN		LWORD	KUSAHIN		;[KUSAH]
DEBU0N		LWORD	DEBU0IN		;[DEBU0]
COMCHN		LWORD	COMCHIN		;[COMCH]
YOSSYN		LWORD	YOSSYIN		;[YOSSY]
BG3EXN		LWORD	BG3EXIN		;[BG3EX]
FHOTMN		LWORD	FHOTMIN		;[FHOTM]
FVOTMN		LWORD	FVOTMIN		;[FVOTM]
KEYDRN		LWORD	KEYDRIN		;[KEYDR]
SSLIMN		LWORD	SSLIMIN		;[SSLIM]
CHKH0N		LWORD	CHKH0IN		;[CHKH0]
KOOPAN		LWORD	KOOPAIN		;[KOOPA]
QCHANN		LWORD	QCHANIN		;[QCHAN]
QCHN2N		LWORD	QCHN2IN		;[QCHN2]
DWBL0N		LWORD	DWBL0IN		;[DWBL0]
DWBL1N		LWORD	DWBL1IN		;[DWBL1]
DWBL2N		LWORD	DWBL2IN		;[DWBL2]
DWBL3N		LWORD	DWBL3IN		;[DWBL3]
IEKI0N		LWORD	IEKI0IN		;[IEKI0]
FLIPPN		LWORD	FLIPPIN		;[FLIPP]
KOMO0N		LWORD	KOMO0IN		;[KOMO0]
KOMO1N		LWORD	KOMO1IN		;[KOMO1]
PKPK0N		LWORD	PKPK0IN		;[PKPK0]
PKPK1N		LWORD	PKPK1IN		;[PKPK1]
PKPK2N		LWORD	PKPK2IN		;[PKPK2]
PKPK3N		LWORD	PKPK3IN		;[PKPK3]
TEPPON		LWORD	TEPPOIN		;[TEPPO]
FLIPHN		LWORD	FLIPHIN		;[FLIPH]
KEME0N		LWORD	KEME0IN		;[KEME0]
KEME1N		LWORD	KEME1IN		;[KEME1]
SNXG2N		LWORD	SNXG2IN		;[SNXG2]
JBKL2N		LWORD	JBKL2IN		;[JBKL2]
REFC0N		LWORD	REFC0IN		;[REFC0]
REFC1N		LWORD	REFC1IN		;[REFC1]
REFC2N		LWORD	REFC2IN		;[REFC2]
REFC3N		LWORD	REFC3IN		;[REFC3]
REFC4N		LWORD	REFC4IN		;[REFC4]
REFC5N		LWORD	REFC5IN		;[REFC5]
REFC6N		LWORD	REFC6IN		;[REFC6]
REFC7N		LWORD	REFC7IN		;[REFC7]
REFC8N		LWORD	REFC8IN		;[REFC8]
MOTH0N		LWORD	MOTH0IN		;[MOTH0]
BAHOBN		LWORD	BAHOBIN		;[BAHOB]
AWANHN		LWORD	AWANHIN		;[AWANH]
DBAHON		LWORD	DBAHOIN		;[DBAHO]
MATO0N		LWORD	MATO0IN		;[MATO0]
AJGM0N		LWORD	AJGM0IN		;[AJGM0]
DBAH2N		LWORD	DBAH2IN		;[DBAH2]
TONG0N		LWORD	TONG0IN		;[TONG0]
TONG1N		LWORD	TONG1IN		;[TONG1]
BAMBON		LWORD	BAMBOIN		;[BAMBO]
RBLKGN		LWORD	RBLKGIN		;[RBLKG]
RBLKYN		LWORD	RBLKYIN		;[RBLKY]
MILL2N		LWORD	MILL2IN		;[MILL2]
RFLSGN		LWORD	RFLSGIN		;[RFLSG]
RFLSYN		LWORD	RFLSYIN		;[RFLSY]
HIMI2N		LWORD	HIMI2IN		;[HIMI2]
RFLLGN		LWORD	RFLLGIN		;[RFLLG]
SABO0N		LWORD	SABO0IN		;[SABO0]
P_KN2N		LWORD	P_KN2IN		;[P_KN2]
P_KUNN		LWORD	P_KUNIN		;[P_KUN]
THJGMN		LWORD	THJGMIN		;[THJGM]
KORA0N		LWORD	KORA0IN		;[KORA0]
KORA1N		LWORD	KORA1IN		;[KORA1]
HNOK0N		LWORD	HNOK0IN		;[HNOK0]
HNOK1N		LWORD	HNOK1IN		;[HNOK1]
NKNK0N		LWORD	NKNK0IN		;[NKNK0]
NKNK1N		LWORD	NKNK1IN		;[NKNK1]
PTPT0N		LWORD	PTPT0IN		;[PTPT0]
PTPT1N		LWORD	PTPT1IN		;[PTPT1]
PTPT2N		LWORD	PTPT2IN		;[PTPT2]
JGEMWN		LWORD	JGEMWIN		;[JGEMW]
MPACKN		LWORD	MPACKIN		;[MPACK]
MPACHN		LWORD	MPACHIN		;[MPACH]
FUSN0N		LWORD	FUSN0IN		;[FUSN0]
FUSN1N		LWORD	FUSN1IN		;[FUSN1]
FUSN2N		LWORD	FUSN2IN		;[FUSN2]
FUSN3N		LWORD	FUSN3IN		;[FUSN3]
FUSN4N		LWORD	FUSN4IN		;[FUSN4]
FUSN5N		LWORD	FUSN5IN		;[FUSN5]
FUSN6N		LWORD	FUSN6IN		;[FUSN6]
FUSN7N		LWORD	FUSN7IN		;[FUSN7]
FUSN8N		LWORD	FUSN8IN		;[FUSN8]
FUSN9N		LWORD	FUSN9IN		;[FUSN9]
FUSNaN		LWORD	FUSNaIN		;[FUSNa]
FUSNbN		LWORD	FUSNbIN		;[FUSNb]
BALONN		LWORD	BALONIN		;[BALON]
RMARUN		LWORD	RMARUIN		;[RMARU]
PANSYN		LWORD	PANSYIN		;[PANSY]
DGFLYN		LWORD	DGFLYIN		;[DGFLY] とんぼ
BTFLYN		LWORD	BTFLYIN		;[BTFLY] 蝶々
TARKNN		LWORD	TARKNIN		;[TARKN] ターくん
NRLF0N		LWORD	NRLF0IN		;[NRLF0]
NRLF1N		LWORD	NRLF1IN		;[NRLF1]
HRLF0N		LWORD	HRLF0IN		;[HRLF0]
HRLF1N		LWORD	HRLF1IN		;[HRLF1]
NRLF2N		LWORD	NRLF2IN		;[NRLF2]
NRLF3N		LWORD	NRLF3IN		;[NRLF3]
HRLF2N		LWORD	HRLF2IN		;[HRLF2]
HRLF3N		LWORD	HRLF3IN		;[HRLF3]
SRLF0N		LWORD	SRLF0IN		;[SRLF0]
SRLF1N		LWORD	SRLF1IN		;[SRLF1]
GRPLFN		LWORD	GRPLFIN		;[GRPLF]
TURARN		LWORD	TURARIN		;[TURAR]
SUZUMN		LWORD	SUZUMIN		;[SUZUM]
FLWH0N		LWORD	FLWH0IN		;[FLWH0]
BG3DON		LWORD	BG3DOIN		;[BG3DO] ＢＧ３土管おばけ
KOUNBN		LWORD	KOUNBIN		;[KOUNB] 子ウンババ
GRCKSN		LWORD	GRCKSIN		;[GRCKS] ぐらぐら岩
GROCKN		LWORD	GROCKIN		;[GROCK] ぐらぐら岩
YAJI0N		LWORD	YAJI0IN		;[YAJI0] 矢印
YAJI1N		LWORD	YAJI1IN		;[YAJI1] 矢印(斜め)
NISEFN		LWORD	NISEFIN		;[NISEF] 偽フラワー
GSTH0N		LWORD	GSTH0IN		;[GSTH0] 幽霊ヘイホー
STRKNN		LWORD	STRKNIN		;[STRKN] ターくん２号(スライディングターくん)
FTRKNN		LWORD	FTRKNIN		;[FTRKN] ターくん３号(フライングターくん)
BATSAN		LWORD	BATSAIN		;[BATSA] 骨あほーどり
BATSBN		LWORD	BATSBIN		;[BATSB] 骨あほーどり(地上)
BATSCN		LWORD	BATSCIN		;[BATSC] 爆撃骨あほーどり
FIRBRN		LWORD	FIRBRIN		;[FIRBR] 炎の棒
FIRB2N		LWORD	FIRB2IN		;[FIRB2] 炎の棒
TIMKNN		LWORD	TIMKNIN		;[TIMKN] タイムくん
SKLNZN		LWORD	SKLNZIN		;[SKLNZ] 骸骨鼠
CORKSN		LWORD	CORKSIN		;[CORKS] フカンコースの栓
MONK0N		LWORD	MONK0IN		;[MONK0] 逃げ猿［２］
MONK1N		LWORD	MONK1IN		;[MONK1] 種ふき猿
MONK2N		LWORD	MONK2IN		;[MONK2] 投げ猿
MONK3N		LWORD	MONK3IN		;[MONK3] さらい猿
MONK4N		LWORD	MONK4IN		;[MONK4] インベーダー猿
YGFSHN		LWORD	YGFSHIN		;[YGFSH] 溶岩鉄砲魚
BLTLSN		LWORD	BLTLSIN		;[BLTLS] バルーンテレサ
KOKERN		LWORD	KOKERIN		;[KOKER] 子蛙
KAMECN		LWORD	KAMECIN		;[KAMEC] カメック
MAGICN		LWORD	MAGICIN		;[MAGIC] カメック魔法
COIN2N		LWORD	COIN2IN		;[COIN2] コイン
BG3LFN		LWORD	BG3LFIN		;[BG3LF] ＢＧ３リフト
;
M_THON		LWORD	M_THOIN		;[M_THO] ※ミニゲーム用（砲台）
M_TAMN		LWORD	M_TAMIN		;[M_TAM] ※ミニゲーム用（弾）
M_DR0N		LWORD	M_DR0IN		;[M_DR0] ※ミニゲーム用（ドロボー１）
M_LIFN		LWORD	M_LIFIN		;[M_LIF] ※ミニゲーム用（リフト）
M_DR2N		LWORD	M_DR2IN		;[M_DR2] ※ミニゲーム用（ドロボー３）
M_FUSN		LWORD	M_FUSIN		;[M_FUS] ※ミニゲーム用（風船）
M_DR4N		LWORD	M_DR4IN		;[M_DR4] ※ミニゲーム用（ドロボー５）
M_SUIN		LWORD	M_SUIIN		;[M_SUI] ※ミニゲーム用（西瓜湧きだし）
M_DR5N		LWORD	M_DR5IN		;[M_SU1] ※ミニゲーム用（ドロボー６）
;
ENENDN		EQU	$
;
;****************************************************************
;*		enemy name					*
;****************************************************************
ENMY_NAME	EQU	$
WAVLF		EQU	(WAVLFN-EINADR)/3	;溶岩サーフィン丸太横
;							（Ｘ：０−＞溶岩に浮く）
;							（    １−＞ＢＧ３水に浮く）
CDOOR		EQU	(CDOORN-EINADR)/3	;クローズドア（一方通行ドア）
MPACW		EQU	(MPACWN-EINADR)/3	;×^マザーパックンのつた
TRBX2		EQU	(TRBX2N-EINADR)/3	;鍵がでてくる宝箱
MRBLK		EQU	(MRBLKN-EINADR)/3	;ハテナブロック
COLD0		EQU	(COLD0N-EINADR)/3	;氷の息のでる実(氷スイカ）
COLDX		EQU	(COLDXN-EINADR)/3	;×^アイスブレス
SUIKA		EQU	(SUIKAN-EINADR)/3	;すいか
KPEXB		EQU	(KPEXBN-EINADR)/3	;×大クッパ効果ブロック
FIRE0		EQU	(FIRE0N-EINADR)/3	;火を吹く実(火スイカ）
TAIH0		EQU	(TAIH0N-EINADR)/3	;大砲
BOMB0		EQU	(BOMB0N-EINADR)/3	;×^大砲のたま
BOSSQ		EQU	(BOSSQN-EINADR)/3	;ボスＱちゃん
GOAL1		EQU	(GOAL1N-EINADR)/3	;ゴールタイプ１（ヨッシーカラー緑）
GOALX		EQU	(GOALXN-EINADR)/3	;ゴール文字
BONSX		EQU	(BONSXN-EINADR)/3	;ボーナス文字
;10h
BG3D2		EQU	(BG3D2N-EINADR)/3	;土管お化け２号
M_ITM		EQU	(M_ITMN-EINADR)/3	;※ミニゲーム用獲得アイテム
BOSDR		EQU	(BOSDRN-EINADR)/3	;ボスドア
BSCLW		EQU	(BSCLWN-EINADR)/3	;ボスクリアーウィンドウ効果
BSCLR		EQU	(BSCLRN-EINADR)/3	;ボスクリアーデモ
MISA0		EQU	(MISA0N-EINADR)/3	;×^潜水艦ヨッシーの魚雷
DTELE		EQU	(DTELEN-EINADR)/3	;ダイナミックテレサ（ボス）
GEROZ		EQU	(GEROZN-EINADR)/3	;げろぞー
FIREX		EQU	(FIREXN-EINADR)/3	;×^プレイヤー火
SOPB0		EQU	(SOPB0N-EINADR)/3	;×^プレイヤーあわ
SKILF		EQU	(SKILFN-EINADR)/3	;スキーリフト
WTRLF		EQU	(WTRLFN-EINADR)/3	;浮きリフト（丸太縦）
;							（Ｘ：０−＞溶岩に浮く）
;							（    １−＞ＢＧ３水に浮く）
YUKID		EQU	(YUKIDN-EINADR)/3	;雪ダルマ
;						  Ｘ	０	 １
;						Ｙ
;						０	空っぽ	 タイムスター
;						１	１ＵＰ	 タークン
;
YKDLF		EQU	(YKDLFN-EINADR)/3	;雪ダルマリフト
HEIH0		EQU	(HEIH0N-EINADR)/3	;ヘイホー（土管の左上セットでわきだしヘイホー）
;						  Ｘ	０	 １
;						Ｙ
;						０	緑	 赤
;						１	黄     ピンク
;
RDOOR		EQU	(RDOORN-EINADR)/3	;ルーレットドア
;20h
DOROB		EQU	(DOROBN-EINADR)/3	;どろぼう君
BAKLF		EQU	(BAKLFN-EINADR)/3	;バケツリフト
;							（Ｘ：０−＞溶岩に浮く）
;							（    １−＞ＢＧ３水に浮く）
EGG00		EQU	(EGG00N-EINADR)/3	;赤たまご
EGG02		EQU	(EGG02N-EINADR)/3	;ピンクたまご
EGG01		EQU	(EGG01N-EINADR)/3	;黄たまご
EGG03		EQU	(EGG03N-EINADR)/3	;緑たまご
KPBOM		EQU	(KPBOMN-EINADR)/3	;大クッパ用投げ爆弾
DRKEY		EQU	(DRKEYN-EINADR)/3	;かぎ（単体）
KAMO1		EQU	(KAMO1N-EINADR)/3	;カルガモ子
YSEGG		EQU	(YSEGGN-EINADR)/3	;×^マリオ変身中のヨッシータマゴ
EGG08		EQU	(EGG08N-EINADR)/3	;たまご（大）
EGG09		EQU	(EGG09N-EINADR)/3	;たまご（大）
NAMAZ		EQU	(NAMAZN-EINADR)/3	;ノモズ
SLIME		EQU	(SLIMEN-EINADR)/3	;スライム
SLEYE		EQU	(SLEYEN-EINADR)/3	;×^スライムの目
NZANA		EQU	(NZANAN-EINADR)/3	;穴（NEZM2と同じ所にセット）
;30h
NEZMI		EQU	(NEZMIN-EINADR)/3	;ネズミ（単体）
SANPO		EQU	(SANPON-EINADR)/3	;サボテン
NZAN2		EQU	(NZAN2N-EINADR)/3	;飾りネズミ
;							（Ｘ：０−＞穴から目だけ出てる）
;							（    １−＞奥でネズミが出たり引っ込んだり）
;							（ＢＧタイプは溶岩で）
NEZM2		EQU	(NEZM2N-EINADR)/3	;ネズミ（NZANAと同じ所にセット）
TSUBO		EQU	(TSUBON-EINADR)/3	;つぼ（ＢＧ３）
OBAKE		EQU	(OBAKEN-EINADR)/3	;×つぼお化け
IWATS		EQU	(IWATSN-EINADR)/3	;倒れる壁（行きと帰りで左右セット、ＢＧ３）
GHOST		EQU	(GHOSTN-EINADR)/3	;とりつくお化け（死神くん）
OBFIR		EQU	(OBFIRN-EINADR)/3	;×お化けの火
POLY1		EQU	(POLY1N-EINADR)/3	;横回転床（ＢＧ３）
HINAQ		EQU	(HINAQN-EINADR)/3	;ひなキュー（キューチャンの小さい奴、３匹１セット）
HINQ2		EQU	(HINQ2N-EINADR)/3	;ひなキュー（キューチャンの小さい奴、１匹セット）
BOSSK		EQU	(BOSSKN-EINADR)/3	;ボスカチカチ君
SESAW		EQU	(SESAWN-EINADR)/3	;シーソー
MARUT		EQU	(MARUTN-EINADR)/3	;丸太橋風揺れる橋（４つブロック）
;40h
BKSLM		EQU	(BKSLMN-EINADR)/3	;ブロックスライム
LUIGI		EQU	(LUIGIN-EINADR)/3	;×ルイージ
KONOT		EQU	(KONOTN-EINADR)/3	;×鸛
DNXG2		EQU	(DNXG2N-EINADR)/3	;下キー入れなくてもＮＥＸＴ−ＧＯＴＯ
BHEIR		EQU	(BHEIRN-EINADR)/3	;ビッグヘイホー（赤）
BHEIG		EQU	(BHEIGN-EINADR)/3	;ビッグヘイホー（緑）
INGER		EQU	(INGERN-EINADR)/3	;ゲロゲ〜ロの胃袋
BBBRS		EQU	(BBBRSN-EINADR)/3	;ビッグバウンドブロス
TBHIH		EQU	(TBHIHN-EINADR)/3	;壷ヘイホー
KAMC2		EQU	(KAMC2N-EINADR)/3	;カメック２
SWAVM		EQU	(SWAVMN-EINADR)/3	;×
SWAV0		EQU	(SWAV0N-EINADR)/3	;×
SWAV1		EQU	(SWAV1N-EINADR)/3	;×
ZSAB2		EQU	(ZSAB2N-EINADR)/3	;逆さズームサボテン（Ｖフリップ）
KERO0		EQU	(KERO0N-EINADR)/3	;(無くなる）
POLDR		EQU	(POLDRN-EINADR)/3	;ミニゲームドア
;50h
GATE0		EQU	(GATE0N-EINADR)/3	;中間ポイントのリング
;							  （中心セット）
GITAN		EQU	(GITANN-EINADR)/3	;ＢＧ３の床（ＢＧ３）
FACE8		EQU	(FACE8N-EINADR)/3	;ＢＧ３の八面体（ＢＧ３）
FUSEN		EQU	(FUSENN-EINADR)/3	;風船リフト（一応、単体でも使える）
;						（Ｘ：０−＞１個だけセット、１−＞そのＸラインわきだし））
KAMCS		EQU	(KAMCSN-EINADR)/3	;マザーパックン用かめっく
ZPAC3		EQU	(ZPAC3N-EINADR)/3	;逆さズームパックン（Ｖフリップ）
MILL0		EQU	(MILL0N-EINADR)/3	;水車リフト（大）
MILS0		EQU	(MILS0N-EINADR)/3	;水車リフト（小）
BG3FL		EQU	(BG3FLN-EINADR)/3	;ごっつうでかいＢＧ３の床
DORBF		EQU	(DORBFN-EINADR)/3	;空飛ぶどろぼう
CSTAR		EQU	(CSTARN-EINADR)/3	;連続スター（マリオの時だけ現れる敵）
QSPAK		EQU	(QSPAKN-EINADR)/3	;Ｑちゃんボスのスパーク
DORB2		EQU	(DORB2N-EINADR)/3	;どろぼうのどろぼう
DRBF2		EQU	(DRBF2N-EINADR)/3	;空飛ぶどろぼうのどろぼう
HBLK5		EQU	(HBLK5N-EINADR)/3	;？ブロック（コイン出る）
;60h
GITNS		EQU	(GITNSN-EINADR)/3	;ＢＧ３の床（小）
GITNL		EQU	(GITNLN-EINADR)/3	;ＢＧ３の床（小）勝手に回る
BOMBX		EQU	(BOMBXN-EINADR)/3	;×爆弾
BABYM		EQU	(BABYMN-EINADR)/3	;×赤ちゃん
PANDA		EQU	(PANDAN-EINADR)/3	;クリボー
BETO0		EQU	(BETO0N-EINADR)/3	;ヨッシーを乗せて突っ走る奴
MILL1		EQU	(MILL1N-EINADR)/3	;水車リフト（大、移動しない）
;							（Ｘ：０−＞時計回りに回転）
;							（    １−＞反時計回りに回転）
COINR		EQU	(COINRN-EINADR)/3	;赤コイン
ZPACK		EQU	(ZPACKN-EINADR)/3	;ズームパックン
HIMIT		EQU	(HIMITN-EINADR)/3	;ゴロゴロ岩で秘密
;						  Ｘ	    ０		    １
;						Ｙ
;						０	タイムスター	フラワーリフト
;						１	フラワー	  １ＵＰ
;
HBLK2		EQU	(HBLK2N-EINADR)/3	;？ブロック（たたくと赤タマゴに変わる）
HBLK4		EQU	(HBLK4N-EINADR)/3	;？ブロック（たたくとピンクタマゴに変わる）
HBLK3		EQU	(HBLK3N-EINADR)/3	;？ブロック（たたくと黄タマゴに変わる）
HBLK7		EQU	(HBLK7N-EINADR)/3	;×？ブロック
JBLKL		EQU	(JBLKLN-EINADR)/3	;ジャンプブロック大（覚えていない）
PPCKL		EQU	(PPCKLN-EINADR)/3	;パックン（ＢＧ１タイプ土管内用）
;							（左、囲んだ地形の外側を回る）
;70h
PPCKR		EQU	(PPCKRN-EINADR)/3	;パックン（ＢＧ１タイプ土管内用）
;							（右、囲んだ地形の外側を回る）
JBLK0		EQU	(JBLK0N-EINADR)/3	;ジャンプブロック小
KANI0		EQU	(KANI0N-EINADR)/3	;ズームはさみカニ
TELEL		EQU	(TELELN-EINADR)/3	;テレサ（大）
RAKUG		EQU	(RAKUGN-EINADR)/3	;落書きヘイホー
PONPU		EQU	(PONPUN-EINADR)/3	;ＢＧ３リフトのポンプ
GABON		EQU	(GABONN-EINADR)/3	;ガボン（鉄球）
GABNB		EQU	(GABNBN-EINADR)/3	;×ガボンのたま
SPRKL		EQU	(SPRKLN-EINADR)/3	;スパーク（左、囲んだ地形の外側を回る）
SPRKR		EQU	(SPRKRN-EINADR)/3	;スパーク（右、囲んだ地形の外側を回る）
DAI00		EQU	(DAI00N-EINADR)/3	;キラー砲台（サーチキラー）
DAI01		EQU	(DAI01N-EINADR)/3	;キラー砲台（バウンドキラー、回転砲台）
DAI02		EQU	(DAI02N-EINADR)/3	;キラー砲台（ノーマルキラー）
KIL00		EQU	(KIL00N-EINADR)/3	;×
KIL01		EQU	(KIL01N-EINADR)/3	;×
KIL02		EQU	(KIL02N-EINADR)/3	;×
DWNBG		EQU	(DWNBGN-EINADR)/3	;×落ちる床
;80h
FYUKA		EQU	(FYUKAN-EINADR)/3	;不安定床（セットはＢＧといっしょ）
ZBUB0		EQU	(ZBUB0N-EINADR)/3	;ズームバブル
ZBUB1		EQU	(ZBUB1N-EINADR)/3	;ななめズームバブル
WANG0		EQU	(WANG0N-EINADR)/3	;ワンワン（根元セット）
BGKM0		EQU	(BGKM0N-EINADR)/3	;大クッパ用遠景雲（小）
NEXTG		EQU	(NEXTGN-EINADR)/3	;当たるとＮＥＸＴ−ＧＯＴＯ
HARIO		EQU	(HARION-EINADR)/3	;ハリマンネン（ハリネズミ）
COIN0		EQU	(COIN0N-EINADR)/3	;ＯＢＪコイン
EG1UP		EQU	(EG1UPN-EINADR)/3	;１ｕｐ卵
MSTAR		EQU	(MSTARN-EINADR)/3	;マリオに変身するアイテム
NLFLR		EQU	(NLFLRN-EINADR)/3	;リフト左右
NLFUD		EQU	(NLFUDN-EINADR)/3	;リフト上下
FBOM0		EQU	(FBOM0N-EINADR)/3	;風船ボム
GOLYS		EQU	(GOLYSN-EINADR)/3	;×ゴールで飛んでるヨッシー
;90h
MC1UP		EQU	(MC1UPN-EINADR)/3	;１ｕｐムーチョ
;						  Ｘ	    ０		  １
;						Ｙ
;						０	タイムスター   赤コイン
;						１	１ＵＰ		１ＵＰ
;
KAMC3		EQU	(KAMC3N-EINADR)/3	;クッパデモ用カメック
OSARU		EQU	(OSARUN-EINADR)/3	;おさる（根元セット）
BG3KT		EQU	(BG3KTN-EINADR)/3	;ＢＧ３きん○ま
DEATH		EQU	(DEATHN-EINADR)/3	;死神ムーチョ
KOROG		EQU	(KOROGN-EINADR)/3	;ころがり君
ZDOOR		EQU	(ZDOORN-EINADR)/3	;ＮＥＸＴ  ＧＯＴＯ  ドア
HBLK6		EQU	(HBLK6N-EINADR)/3	;たたくと大きくなるブロック
BLKLF		EQU	(BLKLFN-EINADR)/3	;ヒット後リフトへ変わるブロック（左右）
BLKL2		EQU	(BLKL2N-EINADR)/3	;ヒット後リフトへ変わるブロック（上下）
POWSW		EQU	(POWSWN-EINADR)/3	;ＰＯＷスイッチ
WARPS		EQU	(WARPSN-EINADR)/3	;ワープスイッチ
JTAM2		EQU	(JTAM2N-EINADR)/3	;×
ROTLF		EQU	(ROTLFN-EINADR)/3	;回転リフト
GABN2		EQU	(GABN2N-EINADR)/3	;鉄球兵士
GBNB2		EQU	(GBNB2N-EINADR)/3	;×鉄球兵士のたま
;a0h
SW000		EQU	(SW000N-EINADR)/3	;スイッチ
MBALL		EQU	(MBALLN-EINADR)/3	;動く玉
ZPAC2		EQU	(ZPAC2N-EINADR)/3	;ズームパックン（中ボス）
TULIP		EQU	(TULIPN-EINADR)/3	;チューリップ
HACHI		EQU	(HACHIN-EINADR)/3	;×サンボの鉢
GENKI		EQU	(GENKIN-EINADR)/3	;×
DORBL		EQU	(DORBLN-EINADR)/3	;どろぼう（左、半当たりに隠れてる）
DORBR		EQU	(DORBRN-EINADR)/3	;どろぼう（右、半当たりに隠れてる）
UNBAB		EQU	(UNBABN-EINADR)/3	;ビッグウンババ
AWANG		EQU	(AWANGN-EINADR)/3	;遠くから降ってくるワンワン（１回落ちて終り）
AWANM		EQU	(AWANMN-EINADR)/3	;遠くから降ってくるワンワン（何回も落ちてくる）
AWANS		EQU	(AWANSN-EINADR)/3	;×ズームワンワン
AWANP		EQU	(AWANPN-EINADR)/3	;×ズームワンワン
SHEIH		EQU	(SHEIHN-EINADR)/3	;小さいヘイホー（遠くに見える）
ITEGG		EQU	(ITEGGN-EINADR)/3	;×いつでもタマゴアイテムデモ用タマゴ
KPBKG		EQU	(KPBKGN-EINADR)/3	;×大クッパ落下ブロック影
;b0h
MSGBX		EQU	(MSGBXN-EINADR)/3	;メッセージブロック
BOSS0		EQU	(BOSS0N-EINADR)/3	;カメボス
CHG00		EQU	(CHG00N-EINADR)/3	;車	     に変身する雲
CHG01		EQU	(CHG01N-EINADR)/3	;モグラ	     に変身する雲
CHG02		EQU	(CHG02N-EINADR)/3	;ヘリコプターに変身する雲
CHG03		EQU	(CHG03N-EINADR)/3	;汽車	     に変身する雲
PUUUU		EQU	(PUUUUN-EINADR)/3	;ワタボー”プ〜”アタック
CHG05		EQU	(CHG05N-EINADR)/3	;潜水艦	     に変身する雲
QKM00		EQU	(QKM00N-EINADR)/3	;まと君０（触れたら雲出現）
;						  Ｘ	０	   １
;						Ｙ
;						０	１ＵＰ	   タイムスター
;						１	スイッチ   タイムスター
;
QKM01		EQU	(QKM01N-EINADR)/3	;まと君１（まと君を中心にコイン８枚（ヌキの所のみ））
QKM02		EQU	(QKM02N-EINADR)/3	;まと君２（シャボン１ＵＰ）
QKM03		EQU	(QKM03N-EINADR)/3	;まと君３（フラワー）
QKM04		EQU	(QKM04N-EINADR)/3	;まと君４（ＰＯＷ）
QKM05		EQU	(QKM05N-EINADR)/3	;まと君５（階段が出現する）
QKM06		EQU	(QKM06N-EINADR)/3	;まと君６（橋が出来る）
;							（Ｘ：０−＞右へ橋が伸びる、１−＞左へ橋が伸びる））
QKM07		EQU	(QKM07N-EINADR)/3	;まと君７（どろぼう）
QKM08		EQU	(QKM08N-EINADR)/3	;まと君８（コイン１枚）
QKM09		EQU	(QKM09N-EINADR)/3	;まと君９（１ＵＰ）
QKM0A		EQU	(QKM0AN-EINADR)/3	;まと君Ａ（城のカギ）
;							（Ｘ：０−＞そのままセット、１−＞まと君から出現））
QKM0B		EQU	(QKM0BN-EINADR)/3	;まと君Ｂ（コインばらまき少、１枚から３枚、ランダム）
QKM0C		EQU	(QKM0CN-EINADR)/3	;まと君Ｃ（コインばらまき多、５枚から７枚、ランダム）
QKM0D		EQU	(QKM0DN-EINADR)/3	;まと君Ｄ（ドア出現）
;d0h
QKM0E		EQU	(QKM0EN-EINADR)/3	;まと君Ｅ（ＢＧ書き換えで地形変わる）
QKM0F		EQU	(QKM0FN-EINADR)/3	;まと君Ｆ（すいか）
QKM10		EQU	(QKM10N-EINADR)/3	;まと君１０（火すいか）
QKM11		EQU	(QKM11N-EINADR)/3	;まと君１１（氷すいか）
QKM12		EQU	(QKM12N-EINADR)/3	;まと君１２（ひまわりリフト（５ユニット））
QKM13		EQU	(QKM13N-EINADR)/3	;まと君１３（ひまわりリフト（１１ユニット））
QKM14		EQU	(QKM14N-EINADR)/3	;×空き
LBSDR		EQU	(LBSDRN-EINADR)/3	;ラストボスドア
QKM16		EQU	(QKM16N-EINADR)/3	;まと君１６（敵が変わった？雲）
QKM17		EQU	(QKM17N-EINADR)/3	;まと君１７（スイッチ）
FKPBM		EQU	(FKPBMN-EINADR)/3	;×大クッパ用爆弾
KPFIR		EQU	(KPFIRN-EINADR)/3	;×大クッパ用ファイヤー
KPBLK		EQU	(KPBLKN-EINADR)/3	;×大クッパ用ブロック
SNXGO		EQU	(SNXGON-EINADR)/3	;横キーでＮＥＸＴ−ＧＯＴＯ
;							（ヨッシーの足下セット）
;							（敵セットの左に当たるＢＧがあれば左ドア）
;							（無ければ右ドア）
DNXGO		EQU	(DNXGON-EINADR)/3	;下キーでＮＥＸＴ−ＧＯＴＯ
;							（スイッチＯＮ時のみ入れる）
PUCHA		EQU	(PUCHAN-EINADR)/3	;アトミックプチプチ
;e0h
PUCHG		EQU	(PUCHGN-EINADR)/3	;ジャイアントプチプチ
PUCHB		EQU	(PUCHBN-EINADR)/3	;ビッグプチプチ
BG_00		EQU	(BG_00N-EINADR)/3	;×カメボス用のＯＢＪ背景
BG3UL		EQU	(BG3ULN-EINADR)/3	;バカボンウンババリフト
BKMKJ		EQU	(BKMKJN-EINADR)/3	;ボスケメクジ
AW_FG		EQU	(AW_FGN-EINADR)/3	;ワンワンの看板
TJUGM		EQU	(TJUGMN-EINADR)/3	;釣りジュゲム
TTUBO		EQU	(TTUBON-EINADR)/3	;宝のつぼ
;						  Ｘ	０	 １
;						Ｙ
;						０	カギ	 コイン
;						１	コイン	 空っぽ
;
BG3BL		EQU	(BG3BLN-EINADR)/3	;ＢＧ３ブロック
YGORO		EQU	(YGORON-EINADR)/3	;雪ごろごろ
DMPLC		EQU	(DMPLCN-EINADR)/3	;×デモプレイヤー
ON_DW		EQU	(ON_DWN-EINADR)/3	;×乗ったら落ちるＢＧ
WPKPK		EQU	(WPKPKN-EINADR)/3	;水中プクプク
JFISH		EQU	(JFISHN-EINADR)/3	;海月
HBNBN		EQU	(HBNBNN-EINADR)/3	;針ボンボン
BOBK0		EQU	(BOBK0N-EINADR)/3	;ビョンお化け
;f0h
BOBK1		EQU	(BOBK1N-EINADR)/3	;ビョンお化け（手にスパーク）
HSAN0		EQU	(HSAN0N-EINADR)/3	;ヘデイングサンボ
HSAN1		EQU	(HSAN1N-EINADR)/3	;ヘデイングサンボのたま
TUMUJ		EQU	(TUMUJN-EINADR)/3	;つむじ君
;							（Ｘ：０−＞左に飛ぶ、	１−＞右に飛ぶ））
;							（Ｙ：０−＞単体セット、１−＞わきだしセット））
BBROS		EQU	(BBROSN-EINADR)/3	;バウンドブラザーズ（どんぶりブラザーズ）
AHOBD		EQU	(AHOBDN-EINADR)/3	;アホウ鳥
AHOB2		EQU	(AHOB2N-EINADR)/3	;歩きアホウ鳥３匹
OTAMA		EQU	(OTAMAN-EINADR)/3	;おたまオバケ
OTAMH		EQU	(OTAMHN-EINADR)/3	;おたまオバケ（左右）
VOWVW		EQU	(VOWVWN-EINADR)/3	;ボーボー（火の敵、バウンドタイプ）
VOWV2		EQU	(VOWV2N-EINADR)/3	;ボーボー（火の敵、走り回るタイプ）
NIKOP		EQU	(NIKOPN-EINADR)/3	;開く花（ニコプーひまわり）
NIKP2		EQU	(NIKP2N-EINADR)/3	;×
NIKP3		EQU	(NIKP3N-EINADR)/3	;×
BBFLW		EQU	(BBFLWN-EINADR)/3	;バブルフラワー
TAKEH		EQU	(TAKEHN-EINADR)/3	;竹馬ヘイホー（カラーはヘイホーと同じ）
;100h
MSHIH		EQU	(MSHIHN-EINADR)/3	;ムーンサルトへイホー
EGFLW		EQU	(EGFLWN-EINADR)/3	;たまごフラワー
BATSN		EQU	(BATSNN-EINADR)/3	;バットさん
KAMO0		EQU	(KAMO0N-EINADR)/3	;親子かも
AWAFK		EQU	(AWAFKN-EINADR)/3	;アワふきくん
ZSABO		EQU	(ZSABON-EINADR)/3	;×ズームサンボ（サボテン砲台）
STAMA		EQU	(STAMAN-EINADR)/3	;ズームサンボのたま
ZFLWR		EQU	(ZFLWRN-EINADR)/3	;ズームフラワー
YARIH		EQU	(YARIHN-EINADR)/3	;ヤリホー（槍を持ったヘイホー、槍が長い）
YARH2		EQU	(YARH2N-EINADR)/3	;ヤリホー（槍を持ったヘイホー、槍が短い）
KARAT		EQU	(KARATN-EINADR)/3	;空手家
ENRGB		EQU	(ENRGBN-EINADR)/3	;×空手家の波動拳のタマ
POCHI		EQU	(POCHIN-EINADR)/3	;名犬ポチ
PUPBB		EQU	(PUPBBN-EINADR)/3	;×１ＵＰバブル
GURU1		EQU	(GURU1N-EINADR)/3	;グルグルバー（１本、セット位置によって回転方向が変わる）
GURU2		EQU	(GURU2N-EINADR)/3	;グルグルバー（２本、セット位置によって回転方向が変わる）
;110h
GHEIH		EQU	(GHEIHN-EINADR)/3	;グルグルバーを回すヘイホー（セット位置によって回す方向が変わる）
BFISH		EQU	(BFISHN-EINADR)/3	;骨魚
HOMOL		EQU	(HOMOLN-EINADR)/3	;バケツリレーヘイホー（行きと帰りで左右セット）
HOMOR		EQU	(HOMORN-EINADR)/3	;バケツリレーヘイホー（行きと帰りで左右セット）
SUIKT		EQU	(SUIKTN-EINADR)/3	;×すいかの種
PONTA		EQU	(PONTAN-EINADR)/3	;ポンタ
KATI0		EQU	(KATI0N-EINADR)/3	;カチカチ君（ＢＧチェックなし）
KATI1		EQU	(KATI1N-EINADR)/3	;カチカチ君（ＢＧチェックあり）
KATI2		EQU	(KATI2N-EINADR)/3	;カチカチ君（動かない）
DOSUN		EQU	(DOSUNN-EINADR)/3	;ドスン
DHEIH		EQU	(DHEIHN-EINADR)/3	;ドスン用ヘイホー
TRBOX		EQU	(TRBOXN-EINADR)/3	;宝箱
BTELE		EQU	(BTELEN-EINADR)/3	;目隠しテレサ
ZFLW2		EQU	(ZFLW2N-EINADR)/3	;ズームフラワー２
PURIN		EQU	(PURINN-EINADR)/3	;プリン
PURI0		EQU	(PURI0N-EINADR)/3	;×プリンの飛び散り
;120h
MCHO2		EQU	(MCHO2N-EINADR)/3	;ムーチョ２（弾吐き）
BULET		EQU	(BULETN-EINADR)/3	;×ムーチョ２のたま
COIN1		EQU	(COIN1N-EINADR)/3	;×ズームコイン
FLOAT		EQU	(FLOATN-EINADR)/3	;水中回転リフト
TIKU0		EQU	(TIKU0N-EINADR)/3	;×チクワブロック
TIKU1		EQU	(TIKU1N-EINADR)/3	;×チクワブロック
NUNOO		EQU	(NUNOON-EINADR)/3	;布オバケ（回転のみ）
MITSN		EQU	(MITSNN-EINADR)/3	;ミットさん
JUGEM		EQU	(JUGEMN-EINADR)/3	;ジュゲム（フラグ、（Ｘ：０−＞１匹、１−＞２匹））
KINTO		EQU	(KINTON-EINADR)/3	;×ジュゲムの雲
JTAMA		EQU	(JTAMAN-EINADR)/3	;×ジュゲムのたま
RLTLF		EQU	(RLTLFN-EINADR)/3	;城回転リフト（ノーマル）
RLTL2		EQU	(RLTL2N-EINADR)/3	;城回転リフト（タイマーで消える）
RLTL3		EQU	(RLTL3N-EINADR)/3	;城回転リフト（玉子回転リフト）
CNTLF		EQU	(CNTLFN-EINADR)/3	;カウントリフト
BAK20		EQU	(BAK20N-EINADR)/3	;バケツ（どろぼう）
;130h
BAK21		EQU	(BAK21N-EINADR)/3	;バケツ（コイン５枚）
ARIH0		EQU	(ARIH0N-EINADR)/3	;アリホー（カラーはヘイホーと同じ）
KAMC4		EQU	(KAMC4N-EINADR)/3	;最終デモ用カメック
MAKI0		EQU	(MAKI0N-EINADR)/3	;巻き上げドスン
MAKI1		EQU	(MAKI1N-EINADR)/3	;×巻き上げドスンのたま
FWAVE		EQU	(FWAVEN-EINADR)/3	;クッパの部屋の床波
WATAB		EQU	(WATABN-EINADR)/3	;×ワタボー（フラグセットのみ）
KUSAH		EQU	(KUSAHN-EINADR)/3	;草陰ヘイホー
DEBU0		EQU	(DEBU0N-EINADR)/3	;デブヘイホー（赤、歩いてる、ＢＧチェックなし）
COMCH		EQU	(COMCHN-EINADR)/3	;コインムーチョ（Ｘ：０−＞赤コイン）
;						;	       （Ｘ：１−＞コイン×１、×３、
;						;			 コイン×５、１ＵＰ
;						;			 と当てるたびに変化する）
YOSSY		EQU	(YOSSYN-EINADR)/3	;×Ｗ１デモヨッシー！！
BG3EX		EQU	(BG3EXN-EINADR)/3	;×ＢＧ３効果！！
FHOTM		EQU	(FHOTMN-EINADR)/3	;ファイヤーおたま（横）
FVOTM		EQU	(FVOTMN-EINADR)/3	;ファイヤーおたま（縦）
KEYDR		EQU	(KEYDRN-EINADR)/3	;カギドア
SSLIM		EQU	(SSLIMN-EINADR)/3	;チビスライム
CHKH0		EQU	(CHKH0N-EINADR)/3	;地下ヘイホー赤
KOOPA		EQU	(KOOPAN-EINADR)/3	;クッパ
QCHAN		EQU	(QCHANN-EINADR)/3	;キューチャン（ノーマル）
QCHN2		EQU	(QCHN2N-EINADR)/3	;キューチャン（動きがランダム）
DWBL0		EQU	(DWBL0N-EINADR)/3	;テトリスブロック（縦６ｘ横３）
DWBL1		EQU	(DWBL1N-EINADR)/3	;テトリスブロック（縦３ｘ横３）
DWBL2		EQU	(DWBL2N-EINADR)/3	;テトリスブロック（縦９ｘ横３）
DWBL3		EQU	(DWBL3N-EINADR)/3	;テトリスブロック（縦３ｘ横６）
IEKI0		EQU	(IEKI0N-EINADR)/3	;ゲロゲーロの胃袋の胃液
FLIPP		EQU	(FLIPPN-EINADR)/3	;フリッパー（縦ぬけ）
KOMO0		EQU	(KOMO0N-EINADR)/3	;コウモリ（天井にはりつく）
KOMO1		EQU	(KOMO1N-EINADR)/3	;コウモリ（空中セット）
PKPK0		EQU	(PKPK0N-EINADR)/3	;プクプク（行ったり来たり）
;140h
PKPK1		EQU	(PKPK1N-EINADR)/3	;プクプク（行ったり来たり＋ランダムジャンブ）
PKPK2		EQU	(PKPK2N-EINADR)/3	;プクプク（固定位置をジャンブ）
PKPK3		EQU	(PKPK3N-EINADR)/3	;プクプク（画面左ｏｒ右から三段ジャンブ）
TEPPO		EQU	(TEPPON-EINADR)/3	;てっぽううお
FLIPH		EQU	(FLIPHN-EINADR)/3	;フリッパー（横ぬけ）
KEME0		EQU	(KEME0N-EINADR)/3	;ケメクジ（天井はり付いてる時動いてる）
KEME1		EQU	(KEME1N-EINADR)/3	;ケメクジ（天井はり付いてる時止まってる）
SNXG2		EQU	(SNXG2N-EINADR)/3	;横キーでＮＥＸＴ−ＧＯＴＯ逆タイプ
JBKL2		EQU	(JBKL2N-EINADR)/3	;ジャンプブロック大（覚えてる）
REFC0		EQU	(REFC0N-EINADR)/3	;反射雲（上）
REFC1		EQU	(REFC1N-EINADR)/3	;反射雲（右上）
REFC2		EQU	(REFC2N-EINADR)/3	;反射雲（右）
REFC3		EQU	(REFC3N-EINADR)/3	;反射雲（右下）
REFC4		EQU	(REFC4N-EINADR)/3	;反射雲（下）
REFC5		EQU	(REFC5N-EINADR)/3	;反射雲（左下）
REFC6		EQU	(REFC6N-EINADR)/3	;反射雲（左）
;150h
REFC7		EQU	(REFC7N-EINADR)/3	;反射雲（左上）
REFC8		EQU	(REFC8N-EINADR)/3	;反射雲（８方向、時計まわりに回転）
MOTH0		EQU	(MOTH0N-EINADR)/3	;ハナチャン成虫
BAHOB		EQU	(BAHOBN-EINADR)/3	;爆撃アホー鳥（Ｘセットあり、アホー鳥と同じ）
AWANH		EQU	(AWANHN-EINADR)/3	;ＢＧ３ワンワン
DBAHO		EQU	(DBAHON-EINADR)/3	;デブアホー鳥（羽根あり）
MATO0		EQU	(MATO0N-EINADR)/3	;マトさん（Ｘ：０−＞１個、１−＞３個）
AJGM0		EQU	(AJGM0N-EINADR)/3	;穴ジュゲム
DBAH2		EQU	(DBAH2N-EINADR)/3	;デブアホー鳥（羽根なし）
TONG0		EQU	(TONG0N-EINADR)/3	;とんがり君（王様、歩いてるやつ）
TONG1		EQU	(TONG1N-EINADR)/3	;とんがり君（王様、走っているやつ）
BAMBO		EQU	(BAMBON-EINADR)/3	;バンブーダンサーズ
RBLKG		EQU	(RBLKGN-EINADR)/3	;小さい回転床スイッチ緑
RBLKY		EQU	(RBLKYN-EINADR)/3	;小さい回転床スイッチ黄
MILL2		EQU	(MILL2N-EINADR)/3	;水車リフト（大、敵付き、移動しない）
RFLSG		EQU	(RFLSGN-EINADR)/3	;小さい回転床緑
;160h
RFLSY		EQU	(RFLSYN-EINADR)/3	;小さい回転床黄
HIMI2		EQU	(HIMI2N-EINADR)/3	;隠しアイテム
RFLLG		EQU	(RFLLGN-EINADR)/3	;大きい回転床
SABO0		EQU	(SABO0N-EINADR)/3	;×風船サボテンの頭
P_KN2		EQU	(P_KN2N-EINADR)/3	;プチパックン（地上セット）
P_KUN		EQU	(P_KUNN-EINADR)/3	;プチパックン（空中セット）
THJGM		EQU	(THJGMN-EINADR)/3	;雷ジュゲム（フラグ、（Ｘ：０−＞１匹、１−＞２匹））
KORA0		EQU	(KORA0N-EINADR)/3	;カメ甲羅緑
KORA1		EQU	(KORA1N-EINADR)/3	;カメ甲羅赤
HNOK0		EQU	(HNOK0N-EINADR)/3	;裸ノコノコ緑（ＢＧチェックなし）
HNOK1		EQU	(HNOK1N-EINADR)/3	;裸ノコノコ赤（ＢＧチェックあり）
NKNK0		EQU	(NKNK0N-EINADR)/3	;ノコノコ緑（ＢＧチェックなし）
NKNK1		EQU	(NKNK1N-EINADR)/3	;ノコノコ赤（ＢＧチェックあり）
PTPT0		EQU	(PTPT0N-EINADR)/3	;パタパタ緑（はねる）
PTPT1		EQU	(PTPT1N-EINADR)/3	;パタパタ赤（左右いったりきたり、中心セット１２キャラ）
;							  （Ｘ：０−＞左から右、１−＞右から左）
;							  （そこから左に６キャラ、右に６キャラ移動）
PTPT2		EQU	(PTPT2N-EINADR)/3	;パタパタ赤（上下いったりきたり、移動距離１２キャラ）
;							  （Ｘ：０−＞上から下、１−＞下から上）
;170h
JGEMW		EQU	(JGEMWN-EINADR)/3	;ジュゲム（ＢＧ１タイプ土管内用）
MPACK		EQU	(MPACKN-EINADR)/3	;マザーパックン
MPACH		EQU	(MPACHN-EINADR)/3	;×マザーパックン
FUSN0		EQU	(FUSN0N-EINADR)/3	;風船ヘイホー
FUSN1		EQU	(FUSN1N-EINADR)/3	;風船サボテン
FUSN2		EQU	(FUSN2N-EINADR)/3	;風船爆弾
FUSN3		EQU	(FUSN3N-EINADR)/3	;風船ドロボー
FUSN4		EQU	(FUSN4N-EINADR)/3	;風船ジャンプ台
FUSN5		EQU	(FUSN5N-EINADR)/3	;風船１ＵＰ
FUSN6		EQU	(FUSN6N-EINADR)/3	;風船カギ
FUSN7		EQU	(FUSN7N-EINADR)/3	;風船コイン
FUSN8		EQU	(FUSN8N-EINADR)/3	;風船スイカ
FUSN9		EQU	(FUSN9N-EINADR)/3	;風船火スイカ
FUSNa		EQU	(FUSNaN-EINADR)/3	;風船氷スイカ
FUSNb		EQU	(FUSNbN-EINADR)/3	;風船宝箱
BALON		EQU	(BALONN-EINADR)/3	;×切れた風船
;180h
RMARU		EQU	(RMARUN-EINADR)/3	;回転丸太リフト（２秒おきに回転＜ー＞静止を繰り返す）
PANSY		EQU	(PANSYN-EINADR)/3	;パンジーさん
DGFLY		EQU	(DGFLYN-EINADR)/3	;とんぼ（飾りでプレイヤーには当たらない）
BTFLY		EQU	(BTFLYN-EINADR)/3	;ちょうちょ（飾りでプレイヤーには当たらない）
TARKN		EQU	(TARKNN-EINADR)/3	;タークン
NRLF0		EQU	(NRLF0N-EINADR)/3	;線リフト（ノーマル、動いてる、右向き）
NRLF1		EQU	(NRLF1N-EINADR)/3	;線リフト（ノーマル、動いてる、左向き）
HRLF0		EQU	(HRLF0N-EINADR)/3	;線リフト（ハイスピード、動いてる、右向き）
HRLF1		EQU	(HRLF1N-EINADR)/3	;線リフト（ハイスピード、動いてる、左向き）
NRLF2		EQU	(NRLF2N-EINADR)/3	;線リフト（ノーマル、乗ると動く、右向き）
NRLF3		EQU	(NRLF3N-EINADR)/3	;線リフト（ノーマル、乗ると動く、左向き）
HRLF2		EQU	(HRLF2N-EINADR)/3	;線リフト（ハイスピード、乗ると動く、右向き）
HRLF3		EQU	(HRLF3N-EINADR)/3	;線リフト（ハイスピード、乗ると動く、左向き）
SRLF0		EQU	(SRLF0N-EINADR)/3	;線リフト（超ハイスピード、乗ると動く、右向き）
SRLF1		EQU	(SRLF1N-EINADR)/3	;線リフト（超ハイスピード、乗ると動く、左向き）
GRPLF		EQU	(GRPLFN-EINADR)/3	;ぐるぐる線リフト
;190h
TURAR		EQU	(TURARN-EINADR)/3	;つらら（敵セットでプレイヤーが近づくと落ちる）
;						       （敵セットしないと卵を当てると落ちる）
SUZUM		EQU	(SUZUMN-EINADR)/3	;すずめ（飾りでプレイヤーには当たらない）
FLWH0		EQU	(FLWH0N-EINADR)/3	;花束ヘイホー（カラーはヘイホーと同じ）
BG3DO		EQU	(BG3DON-EINADR)/3	;ＢＧ３土管おばけ
KOUNB		EQU	(KOUNBN-EINADR)/3	;コウンババ
GRCKS		EQU	(GRCKSN-EINADR)/3	;×グラグラ岩
GROCK		EQU	(GROCKN-EINADR)/3	;×グラグラ岩
YAJI0		EQU	(YAJI0N-EINADR)/3	;装飾用矢印（縦横）
YAJI1		EQU	(YAJI1N-EINADR)/3	;装飾用矢印（斜め）
NISEF		EQU	(NISEFN-EINADR)/3	;にせフラワー
GSTH0		EQU	(GSTH0N-EINADR)/3	;幽霊ヘイホー
STRKN		EQU	(STRKNN-EINADR)/3	;スライディングタークン
FTRKN		EQU	(FTRKNN-EINADR)/3	;フライングタークン
BATSA		EQU	(BATSAN-EINADR)/3	;骨アホー鳥（飛ぶ）
BATSB		EQU	(BATSBN-EINADR)/3	;骨アホー鳥（走る）
BATSC		EQU	(BATSCN-EINADR)/3	;爆撃骨アホー鳥
;1a0h
FIRBR		EQU	(FIRBRN-EINADR)/3	;ファイヤーバー（長い）
FIRB2		EQU	(FIRB2N-EINADR)/3	;ファイヤーバー（短い）
TIMKN		EQU	(TIMKNN-EINADR)/3	;×タイム君
SKLNZ		EQU	(SKLNZN-EINADR)/3	;骸骨ネズミ
CORKS		EQU	(CORKSN-EINADR)/3	;ドカンのフタ
MONK0		EQU	(MONK0N-EINADR)/3	;おちょくり逃げ猿
MONK1		EQU	(MONK1N-EINADR)/3	;スイカの種ふき猿
MONK2		EQU	(MONK2N-EINADR)/3	;スイカ投げ猿
MONK3		EQU	(MONK3N-EINADR)/3	;さらい猿（岡嶋猿、傘泥棒猿）
MONK4		EQU	(MONK4N-EINADR)/3	;インベーダー猿
YGFSH		EQU	(YGFSHN-EINADR)/3	;溶岩鉄砲魚
BLTLS		EQU	(BLTLSN-EINADR)/3	;バルーンテレサ
KOKER		EQU	(KOKERN-EINADR)/3	;子蛙
KAMEC		EQU	(KAMECN-EINADR)/3	;カメック
MAGIC		EQU	(MAGICN-EINADR)/3	;×カメック魔法
COIN2		EQU	(COIN2N-EINADR)/3	;コイン
;1b0h
BG3LF		EQU	(BG3LFN-EINADR)/3	;×ＢＧ３リフト
;
MINI_ST		EQU	M_THO			;<ys_ename.h> を作るためのマーカー
;
M_THO		EQU	(M_THON-EINADR)/3
M_TAM		EQU	(M_TAMN-EINADR)/3
M_DR0		EQU	(M_DR0N-EINADR)/3
M_LIF		EQU	(M_LIFN-EINADR)/3
M_DR2		EQU	(M_DR2N-EINADR)/3
M_FUS		EQU	(M_FUSN-EINADR)/3
M_DR4		EQU	(M_DR4N-EINADR)/3
M_SUI		EQU	(M_SUIN-EINADR)/3
M_DR5		EQU	(M_DR5N-EINADR)/3
;
;-------------- enemy end pointer -------------------------------
ENEND		EQU	(ENENDN-EINADR)/3
;
;
;-------------- 特殊モードＮｏ． --------------------------------
;				（Ｘアドレス ０＜−バンクチェンジ  １＜ー カラーチェンジ）
;
CH_00		EQU	ENEND		;キャラクター入れ替えモード（地下）
CH_01		EQU	CH_00+1		;		”	   （草）
CH_02		EQU	CH_01+1		;		”	   （水中）
CH_03		EQU	CH_02+1		;		”	   （溶岩）
CH_04		EQU	CH_03+1		;		”	   （雪）
CH_05		EQU	CH_04+1		;		”	   （バブル）
CH_06		EQU	CH_05+1		;		”	   （カベ）
CH_07		EQU	CH_06+1		;		”	   （花）
CH_08		EQU	CH_07+1		;		”	   （地下’）
CH_09		EQU	CH_08+1		;		”	   （草’）
CH_0A		EQU	CH_09+1		;		”	   （水中’）
CH_0B		EQU	CH_0A+1		;		”	   （土管）
CH_0C		EQU	CH_0B+1		;		”	   （雪’）
CH_0D		EQU	CH_0C+1		;		”	   （空）
CH_0E		EQU	CH_0D+1		;		”	   （カベ’）
CH_0F		EQU	CH_0E+1		;		”	   （花’）
;
SPMD_ST		EQU	AT_00			;<ys_ename.h> を作るためのマーカー
;
AT_00		EQU	CH_0F+1		;オートスクロール（）
AT_01		EQU	AT_00+1
AT_02		EQU	AT_01+1
AT_03		EQU	AT_02+1
AT_04		EQU	AT_03+1
AT_05		EQU	AT_04+1
AT_06		EQU	AT_05+1
AT_07		EQU	AT_06+1
AT_08		EQU	AT_07+1
AT_09		EQU	AT_08+1
AT_0A		EQU	AT_09+1
;[1995.06.03.SA]AT_0B		EQU	AT_0A+1
;
BTL_E		EQU	AT_0A+1		;バルーンテレサのＥＮＤ
;
SC_MX		EQU	BTL_E+1		;ＭＡＸスクロール値セット
;
TMJ_S		EQU	SC_MX+1		;つむじ風のわきだし
TMJ_E		EQU	TMJ_S+1		;	 ”	   ＥＮＤ
;
JGM_E		EQU	TMJ_E+1		;ジュゲムのわきだしＥＮＤ
;
WAT_E		EQU	JGM_E+1		;わたぼーのわきだしＥＮＤ
;
POC_E		EQU	WAT_E+1		;ぽちのわきだしＥＮＤ
;
KOM_S		EQU	POC_E+1		;こうもりのわきだし
KOM_E		EQU	KOM_S+1		;	 "         エンド
KM2_S		EQU	KOM_E+1		;こうもりのわきだし
KM2_E		EQU	KM2_S+1		;	 "         エンド
;
AJM_S		EQU	KM2_E+1		;穴ジュゲムのわきだし
AJM_E		EQU	AJM_S+1		;	 "         エンド
;
BB_S0		EQU	AJM_E+1		;ばんぶーダンサーズ　ダンススタート
;						  Ｘ	０	 １
;						Ｙ
;						０    ダンス０	ダンス１
;						１    ダンス２	ダンス３
;
;		ＬＪＰ（左へＪＵＭＰ）	、ＲＪＰ（右へＪＵＭＰ）  、ＬＥＧ（その場で足踏み）
;		ＬＭＶ（回転左移動）	、ＲＭＶ（回転右移動）	  、ＪＭＰ（その場でＪＵＭＰ）
;		ＲＫＮ（右向きケンケン）、ＬＫＮ（左向きケンケン）、ＨＩＰ（その場で尻振り）
;
;ダンス０ (ばんぶーのＸ：０）ＬＥＧ，ＬＭＶ，ＬＫＮ，ＲＭＶ，ＪＭＰ，ＲＭＶ，ＲＫＮ，ＬＭＶ
;ダンス１ (ばんぶーのＸ：１）ＪＭＰ，ＲＭＶ，ＲＫＮ，ＬＭＶ，ＬＥＧ，ＬＭＶ，ＬＫＮ，ＲＭＶ
;
;ダンス０ (ばんぶーのＸ：０）ＲＫＮ，ＬＫＮ，ＨＩＰ，ＬＪＰ，ＬＫＮ，ＲＫＮ，ＨＩＰ，ＲＪＰ
;ダンス１ (ばんぶーのＸ：１）ＬＫＮ，ＲＫＮ，ＨＩＰ，ＲＪＰ，ＲＫＮ，ＬＫＮ，ＨＩＰ，ＬＪＰ
;
;ダンス０ (ばんぶーのＸ：０）ＪＭＰ，ＬＥＧ，ＲＫＮ，ＬＭＶ，ＪＭＰ，ＬＥＧ，ＬＫＮ，ＲＭＶ
;ダンス１ (ばんぶーのＸ：１）ＪＭＰ，ＬＥＧ，ＬＫＮ，ＲＭＶ，ＪＭＰ，ＬＥＧ，ＲＫＮ，ＬＭＶ
;
;ダンス０ (ばんぶーのＸ：０）ＬＫＮ，ＲＭＶ，ＨＩＰ，ＬＪＰ，ＬＫＮ，ＲＭＶ，ＬＥＧ，ＬＪＰ
;ダンス１ (ばんぶーのＸ：１）ＬＫＮ，ＲＭＶ，ＬＥＧ，ＬＪＰ，ＬＫＮ，ＲＭＶ，ＨＩＰ，ＬＪＰ
;
BB_EN		EQU	BB_S0+1		;	　”	　　 ダンスエンド
;
TJM_E		EQU	BB_EN+1		; 雷ジュゲムのわきだしＥＮＤ
;
MTH_S		EQU	TJM_E+1		; 花ちゃん成虫のわきだし
MTH_E		EQU	MTH_S+1		; 花ちゃん成虫のわきだしＥＮＤ
;
PKN_S		EQU	MTH_E+1		; プチパックンのわきだし
PKN_E		EQU	PKN_S+1		; プチパックンのわきだしＥＮＤ
;
FSB_S		EQU	PKN_E+1		; 風船仙人掌のわきだし
FSB_E		EQU	FSB_S+1		; 風船仙人掌のわきだしＥＮＤ
FBM_S		EQU	FSB_E+1		; 風船爆弾のわきだし
FBM_E		EQU	FBM_S+1		; 風船爆弾のわきだしＥＮＤ
;
FSN_S		EQU	FBM_E+1		;風船リフトスタート
FSN_E		EQU	FSN_S+1		;風船リフトＥＮＤ
;
RP0_S		EQU	FSN_E+1		;ロープリフトタイプ０セット
;
SSL_S		EQU	RP0_S+1		;ちびぷよのわきだしスタート
SSL_E		EQU	SSL_S+1		;ちびぷよのわきだしＥＮＤ
;
FUR_E		EQU	SSL_E+1		;ワタボー”フラフラ”キャンセル
;
AHO_E		EQU	FUR_E+1		;あほーどりのわきだしＥＮＤ
;
WAT_S		EQU	AHO_E+1		;わたぼーのわきだしスタート
;
ENAME_END	EQU	WAT_S
;
;
;****************************************************************
;*		enemy move name					*
;****************************************************************
EMVADR		EQU	$
		LWORD	WAVLFMV		;[WAVLF]
		LWORD	CDOORMV		;[CDOOR]
		LWORD	MPACWMV		;[MPACW]
		LWORD	TRBX2MV		;[TRBX2]
		LWORD	MRBLKMV		;[MRBLK]
		LWORD	COLD0MV		;[COLD0]
		LWORD	COLDXMV		;[COLDX]
		LWORD	SUIKAMV		;[SUIKA]
		LWORD	KPEXBMV		;[KPEXB]
		LWORD	FIRE0MV		;[FIRE0]
		LWORD	TAIH0MV		;[TAIH0]
		LWORD	BOMB0MV		;[BOMB0]
		LWORD	BOSSQMV		;[BOSSQ]
		LWORD	GOAL1MV		;[GOAL1]
		LWORD	GOALXMV		;[GOALX]
		LWORD	BONSXMV		;[BONSX]
		LWORD	BG3D2MV		;[BG3D2]
		LWORD	M_ITMMV		;[M_ITM]
		LWORD	BOSDRMV		;[BOSDR]
		LWORD	BSCLWMV		;[BSCLW]
		LWORD	BSCLRMV		;[BSCLR]
		LWORD	MISA0MV		;[MISA0]
		LWORD	DTELEMV		;[DTELE]
		LWORD	GEROZMV		;[GEROZ]
		LWORD	FIREXMV		;[FIREX]
		LWORD	SOPB0MV		;[SOPB0]
		LWORD	SKILFMV		;[SKILF]
		LWORD	WTRLFMV		;[WTRLF]
		LWORD	YUKIDMV		;[YUKID]
		LWORD	YKDLFMV		;[YKDLF]
		LWORD	HEIH0MV		;[HEIH0]
		LWORD	RDOORMV		;[RDOOR]
		LWORD	DOROBMV		;[DOROB]
		LWORD	BAKLFMV		;[BAKLF]
		LWORD	EGG00MV		;[EGG00]
		LWORD	EGG02MV		;[EGG02]
		LWORD	EGG01MV		;[EGG01]
		LWORD	EGG03MV		;[EGG03]
		LWORD	KPBOMMV		;[KPBOM]
		LWORD	DRKEYMV		;[DRKEY]
		LWORD	KAMO1MV		;[KAMO1]
		LWORD	YSEGGMV		;[YSEGG]
		LWORD	EGG08MV		;[EGG08]
		LWORD	EGG09MV		;[EGG09]
		LWORD	NAMAZMV		;[NAMAZ]
		LWORD	SLIMEMV		;[SLIME]
		LWORD	SLEYEMV		;[SLEYE]
		LWORD	NZANAMV		;[NZANA]
		LWORD	NEZMIMV		;[NEZMI]
		LWORD	SANPOMV		;[SANPO]
		LWORD	NZAN2MV		;[NZAN2]
		LWORD	NEZM2MV		;[NEZM2]
		LWORD	TSUBOMV		;[TSUBO]
		LWORD	OBAKEMV		;[OBAKE]
		LWORD	IWATSMV		;[IWATS]
		LWORD	GHOSTMV		;[GHOST]
		LWORD	OBFIRMV		;[OBFIR]
		LWORD	POLY1MV		;[POLY1]
		LWORD	HINAQMV		;[HINAQ]
		LWORD	HINQ2MV		;[HINQ2]
		LWORD	BOSSKMV		;[BOSSK]
		LWORD	SESAWMV		;[SESAW]
		LWORD	MARUTMV		;[MARUT]
		LWORD	BKSLMMV		;[BKSLM]
		LWORD	LUIGIMV		;[LUIGI]
		LWORD	KONOTMV		;[KONOT]
		LWORD	DNXG2MV		;[DNXG2]
		LWORD	BHEIRMV		;[BHEIR]
		LWORD	BHEIGMV		;[BHEIG]
		LWORD	INGERMV		;[INGER]
		LWORD	BBBRSMV		;[BBBRS]
		LWORD	TBHIHMV		;[TBHIH]
		LWORD	KAMC2MV		;[KAMC2]
		LWORD	SWAVMMV		;[SWAVM]
		LWORD	SWAV0MV		;[SWAV0]
		LWORD	SWAV1MV		;[SWAV1]
		LWORD	ZSAB2MV		;[ZSAB2]
		LWORD	KERO0MV		;[KERO0]
		LWORD	POLDRMV		;[POLDR]
		LWORD	GATE0MV		;[GATE0]
		LWORD	GITANMV		;[GITAN]
		LWORD	FACE8MV		;[FACE8]
		LWORD	FUSENMV		;[FUSEN]
		LWORD	KAMCSMV		;[KAMCS]
		LWORD	ZPAC3MV		;[ZPAC3]
		LWORD	MILL0MV		;[MILL0]
		LWORD	MILS0MV		;[MILS0]
		LWORD	BG3FLMV		;[BG3FL]
		LWORD	DORBFMV		;[DORBF]
		LWORD	CSTARMV		;[CSTAR]
		LWORD	QSPAKMV		;[QSPAK]
		LWORD	DORB2MV		;[DORB2]
		LWORD	DRBF2MV		;[DRBF2]
		LWORD	HBLK5MV		;[HBLK5]
		LWORD	GITNSMV		;[GITNS]
		LWORD	GITNLMV		;[GITNL]
		LWORD	BOMBXMV		;[BOMBX]
		LWORD	BABYMMV		;[BABYM]
		LWORD	PANDAMV		;[PANDA]
		LWORD	BETO0MV		;[BETO0]
		LWORD	MILL1MV		;[MILL1]
		LWORD	COINRMV		;[COINR]
		LWORD	ZPACKMV		;[ZPACK]
		LWORD	HIMITMV		;[HIMIT]
		LWORD	HBLK2MV		;[HBLK2]
		LWORD	HBLK4MV		;[HBLK4]
		LWORD	HBLK3MV		;[HBLK3]
		LWORD	HBLK7MV		;[HBLK7]
		LWORD	JBLKLMV		;[JBLKL]
		LWORD	PPCKLMV		;[PPCKL]
		LWORD	PPCKRMV		;[PPCKR]
		LWORD	JBLK0MV		;[JBLK0]
		LWORD	KANI0MV		;[KANI0]
		LWORD	TELELMV		;[TELEL]
		LWORD	RAKUGMV		;[RAKUG]
		LWORD	PONPUMV		;[PONPU]
		LWORD	GABONMV		;[GABON]
		LWORD	GABNBMV		;[GABNB]
		LWORD	SPRKLMV		;[SPRKL]
		LWORD	SPRKRMV		;[SPRKR]
		LWORD	DAI00MV		;[DAI00]
		LWORD	DAI01MV		;[DAI01]
		LWORD	DAI02MV		;[DAI02]
		LWORD	KIL00MV		;[KIL00]
		LWORD	KIL01MV		;[KIL01]
		LWORD	KIL02MV		;[KIL02]
		LWORD	DWNBGMV		;[DWNBG]
		LWORD	FYUKAMV		;[FYUKA]
		LWORD	ZBUB0MV		;[ZBUB0]
		LWORD	ZBUB1MV		;[ZBUB1]
		LWORD	WANG0MV		;[WANG0]
		LWORD	BGKM0MV		;[BGKM0]
		LWORD	NEXTGMV		;[NEXTG]
		LWORD	HARIOMV		;[HARIO]
		LWORD	COIN0MV		;[COIN0]
		LWORD	EG1UPMV		;[EG1UP]
		LWORD	MSTARMV		;[MSTAR]
		LWORD	NLFLRMV		;[NLFLR]
		LWORD	NLFUDMV		;[NLFUD]
		LWORD	FBOM0MV		;[FBOM0]
		LWORD	GOLYSMV		;[GOLYS]
		LWORD	MC1UPMV		;[MC1UP]
		LWORD	KAMC3MV		;[KAMC3]
		LWORD	OSARUMV		;[OSARU]
		LWORD	BG3KTMV		;[BG3KT]
		LWORD	DEATHMV		;[DEATH]
		LWORD	KOROGMV		;[KOROG]
		LWORD	ZDOORMV		;[ZDOOR]
		LWORD	HBLK6MV		;[HBLK6]
		LWORD	BLKLFMV		;[BLKLF]
		LWORD	BLKL2MV		;[BLKL2]
		LWORD	POWSWMV		;[POWSW]
		LWORD	WARPSMV		;[WARPS]
		LWORD	JTAM2MV		;[JTAM2]
		LWORD	ROTLFMV		;[ROTLF]
		LWORD	GABN2MV		;[GABN2]
		LWORD	GBNB2MV		;[GBNB2]
		LWORD	SW000MV		;[SW000]
		LWORD	MBALLMV		;[MBALL]
		LWORD	ZPAC2MV		;[ZPAC2]
		LWORD	TULIPMV		;[TULIP]
		LWORD	HACHIMV		;[HACHI]
		LWORD	GENKIMV		;[GENKI]
		LWORD	DORBLMV		;[DORBL]
		LWORD	DORBRMV		;[DORBR]
		LWORD	UNBABMV		;[UNBAB]
		LWORD	AWANGMV		;[AWANG]
		LWORD	AWANMMV		;[AWANM]
		LWORD	AWANSMV		;[AWANS]
		LWORD	AWANPMV		;[AWANP]
		LWORD	SHEIHMV		;[SHEIH]
		LWORD	ITEGGMV		;[ITEGG]
		LWORD	KPBKGMV		;[KPBKG]
		LWORD	MSGBXMV		;[MSGBX]
		LWORD	BOSS0MV		;[BOSS0]
		LWORD	CHG00MV		;[CHG00]
		LWORD	CHG01MV		;[CHG01]
		LWORD	CHG02MV		;[CHG02]
		LWORD	CHG03MV		;[CHG03]
		LWORD	PUUUUMV		;[PUUUU]
		LWORD	CHG05MV		;[CHG05]
		LWORD	QKM00MV		;[QKM00]
		LWORD	QKM01MV		;[QKM01]
		LWORD	QKM02MV		;[QKM02]
		LWORD	QKM03MV		;[QKM03]
		LWORD	QKM04MV		;[QKM04]
		LWORD	QKM05MV		;[QKM05]
		LWORD	QKM06MV		;[QKM06]
		LWORD	QKM07MV		;[QKM07]
		LWORD	QKM08MV		;[QKM08]
		LWORD	QKM09MV		;[QKM09]
		LWORD	QKM0AMV		;[QKM0A]
		LWORD	QKM0BMV		;[QKM0B]
		LWORD	QKM0CMV		;[QKM0C]
		LWORD	QKM0DMV		;[QKM0D]
		LWORD	QKM0EMV		;[QKM0E]
		LWORD	QKM0FMV		;[QKM0F]
		LWORD	QKM10MV		;[QKM10]
		LWORD	QKM11MV		;[QKM11]
		LWORD	QKM12MV		;[QKM12]
		LWORD	QKM13MV		;[QKM13]
		LWORD	QKM14MV		;[QKM14]
		LWORD	LBSDRMV		;[LBSDR]
		LWORD	QKM16MV		;[QKM16]
		LWORD	QKM17MV		;[QKM17]
		LWORD	FKPBMMV		;[FKPBM]
		LWORD	KPFIRMV		;[KPFIR]
		LWORD	KPBLKMV		;[KPBLK]
		LWORD	SNXGOMV		;[SNXGO]
		LWORD	DNXGOMV		;[DNXGO]
		LWORD	PUCHAMV		;[PUCHA]
		LWORD	PUCHGMV		;[PUCHG]
		LWORD	PUCHBMV		;[PUCHB]
		LWORD	BG_00MV		;[BG_00]
		LWORD	BG3ULMV		;[BG3UL]
		LWORD	BKMKJMV		;[BKMKJ]
		LWORD	AW_FGMV		;[AW_FG]
		LWORD	TJUGMMV		;[TJUGM]
		LWORD	TTUBOMV		;[TTUBO]
		LWORD	BG3BLMV		;[BG3BL]
		LWORD	YGOROMV		;[YGORO]
		LWORD	DMPLCMV		;[DMPLC]
		LWORD	ON_DWMV		;[ON_DW]
		LWORD	WPKPKMV		;[WPKPK]
		LWORD	JFISHMV		;[JFISH]
		LWORD	HBNBNMV		;[HBNBN]
		LWORD	BOBK0MV		;[BOBK0]
		LWORD	BOBK1MV		;[BOBK1]
		LWORD	HSAN0MV		;[HSAN0]
		LWORD	HSAN1MV		;[HSAN1]
		LWORD	TUMUJMV		;[TUMUJ]
		LWORD	BBROSMV		;[BBROS]
		LWORD	AHOBDMV		;[AHOBD]
		LWORD	AHOB2MV		;[AHOB2]
		LWORD	OTAMAMV		;[OTAMA]
		LWORD	OTAMHMV		;[OTAMH]
		LWORD	VOWVWMV		;[VOWVW]
		LWORD	VOWV2MV		;[VOWV2]
		LWORD	NIKOPMV		;[NIKOP]
		LWORD	NIKP2MV		;[NIKP2]
		LWORD	NIKP3MV		;[NIKP3]
		LWORD	BBFLWMV		;[BBFLW]
		LWORD	TAKEHMV		;[TAKEH]
		LWORD	MSHIHMV		;[MSHIH]
		LWORD	EGFLWMV		;[EGFLW]
		LWORD	BATSNMV		;[BATSN]
		LWORD	KAMO0MV		;[KAMO0]
		LWORD	AWAFKMV		;[AWAFK]
		LWORD	ZSABOMV		;[ZSABO]
		LWORD	STAMAMV		;[STAMA]
		LWORD	ZFLWRMV		;[ZFLWR]
		LWORD	YARIHMV		;[YARIH]
		LWORD	YARH2MV		;[YARH2]
		LWORD	KARATMV		;[KARAT]
		LWORD	ENRGBMV		;[ENRGB]
		LWORD	POCHIMV		;[POCHI]
		LWORD	PUPBBMV		;[PUPBB]
		LWORD	GURU1MV		;[GURU1]
		LWORD	GURU2MV		;[GURU2]
		LWORD	GHEIHMV		;[GHEIH]
		LWORD	BFISHMV		;[BFISH]
		LWORD	HOMOLMV		;[HOMOL]
		LWORD	HOMORMV		;[HOMOR]
		LWORD	SUIKTMV		;[SUIKT]
		LWORD	PONTAMV		;[PONTA]
		LWORD	KATI0MV		;[KATI0]
		LWORD	KATI1MV		;[KATI1]
		LWORD	KATI2MV		;[KATI2]
		LWORD	DOSUNMV		;[DOSUN]
		LWORD	DHEIHMV		;[DHEIH]
		LWORD	TRBOXMV		;[TRBOX]
		LWORD	BTELEMV		;[BTELE]
		LWORD	ZFLW2MV		;[ZFLW2]
		LWORD	PURINMV		;[PURIN]
		LWORD	PURI0MV		;[PURI0]
		LWORD	MCHO2MV		;[MCHO2]
		LWORD	BULETMV		;[BULET]
		LWORD	COIN1MV		;[COIN1]
		LWORD	FLOATMV		;[FLOAT]
		LWORD	TIKU0MV		;[TIKU0]
		LWORD	TIKU1MV		;[TIKU1]
		LWORD	NUNOOMV		;[NUNOO]
		LWORD	MITSNMV		;[MITSN]
		LWORD	JUGEMMV		;[JUGEM]
		LWORD	KINTOMV		;[KINTO]
		LWORD	JTAMAMV		;[JTAMA]
		LWORD	RLTLFMV		;[RLTLF]
		LWORD	RLTL2MV		;[RLTL2]
		LWORD	RLTL3MV		;[RLTL3]
		LWORD	CNTLFMV		;[CNTLF]
		LWORD	BAK20MV		;[BAK20]
		LWORD	BAK21MV		;[BAK21]
		LWORD	ARIH0MV		;[ARIH0]
		LWORD	KAMC4MV		;[KAMC4]
		LWORD	MAKI0MV		;[MAKI0]
		LWORD	MAKI1MV		;[MAKI1]
		LWORD	FWAVEMV		;[FWAVE]
		LWORD	WATABMV		;[WATAB]
		LWORD	KUSAHMV		;[KUSAH]
		LWORD	DEBU0MV		;[DEBU0]
		LWORD	COMCHMV		;[COMCH]
		LWORD	YOSSYMV		;[YOSSY]
		LWORD	BG3EXMV		;[BG3EX]
		LWORD	FHOTMMV		;[FHOTM]
		LWORD	FVOTMMV		;[FVOTM]
		LWORD	KEYDRMV		;[KEYDR]
		LWORD	SSLIMMV		;[SSLIM]
		LWORD	CHKH0MV		;[CHKH0]
		LWORD	KOOPAMV		;[KOOPA]
		LWORD	QCHANMV		;[QCHAN]
		LWORD	QCHN2MV		;[QCHN2]
		LWORD	DWBL0MV		;[DWBL0]
		LWORD	DWBL1MV		;[DWBL1]
		LWORD	DWBL2MV		;[DWBL2]
		LWORD	DWBL3MV		;[DWBL3]
		LWORD	IEKI0MV		;[IEKI0]
		LWORD	FLIPPMV		;[FLIPP]
		LWORD	KOMO0MV		;[KOMO0]
		LWORD	KOMO1MV		;[KOMO1]
		LWORD	PKPK0MV		;[PKPK0]
		LWORD	PKPK1MV		;[PKPK1]
		LWORD	PKPK2MV		;[PKPK2]
		LWORD	PKPK3MV		;[PKPK3]
		LWORD	TEPPOMV		;[TEPPO]
		LWORD	FLIPHMV		;[FLIPH]
		LWORD	KEME0MV		;[KEME0]
		LWORD	KEME1MV		;[KEME1]
		LWORD	SNXG2MV		;[SNXG2]
		LWORD	JBKL2MV		;[JBKL2]
		LWORD	REFC0MV		;[REFC0]
		LWORD	REFC1MV		;[REFC1]
		LWORD	REFC2MV		;[REFC2]
		LWORD	REFC3MV		;[REFC3]
		LWORD	REFC4MV		;[REFC4]
		LWORD	REFC5MV		;[REFC5]
		LWORD	REFC6MV		;[REFC6]
		LWORD	REFC7MV		;[REFC7]
		LWORD	REFC8MV		;[REFC8]
		LWORD	MOTH0MV		;[MOTH0]
		LWORD	BAHOBMV		;[BAHOB]
		LWORD	AWANHMV		;[AWANH]
		LWORD	DBAHOMV		;[DBAHO]
		LWORD	MATO0MV		;[MATO0]
		LWORD	AJGM0MV		;[AJGM0]
		LWORD	DBAH2MV		;[DBAH2]
		LWORD	TONG0MV		;[TONG0]
		LWORD	TONG1MV		;[TONG1]
		LWORD	BAMBOMV		;[BAMBO]
		LWORD	RBLKGMV		;[RBLKG]
		LWORD	RBLKYMV		;[RBLKY]
		LWORD	MILL2MV		;[MILL2]
		LWORD	RFLSGMV		;[RFLSG]
		LWORD	RFLSYMV		;[RFLSY]
		LWORD	HIMI2MV		;[HIMI2]
		LWORD	RFLLGMV		;[RFLLG]
		LWORD	SABO0MV		;[SABO0]
		LWORD	P_KN2MV		;[P_KN2]
		LWORD	P_KUNMV		;[P_KUN]
		LWORD	THJGMMV		;[THJGM]
		LWORD	KORA0MV		;[KORA0]
		LWORD	KORA1MV		;[KORA1]
		LWORD	HNOK0MV		;[HNOK0]
		LWORD	HNOK1MV		;[HNOK1]
		LWORD	NKNK0MV		;[NKNK0]
		LWORD	NKNK1MV		;[NKNK1]
		LWORD	PTPT0MV		;[PTPT0]
		LWORD	PTPT1MV		;[PTPT1]
		LWORD	PTPT2MV		;[PTPT2]
		LWORD	JGEMWMV		;[JGEMW]
		LWORD	MPACKMV		;[MPACK]
		LWORD	MPACHMV		;[MPACH]
		LWORD	FUSN0MV		;[FUSN0]
		LWORD	FUSN1MV		;[FUSN1]
		LWORD	FUSN2MV		;[FUSN2]
		LWORD	FUSN3MV		;[FUSN3]
		LWORD	FUSN4MV		;[FUSN4]
		LWORD	FUSN5MV		;[FUSN5]
		LWORD	FUSN6MV		;[FUSN6]
		LWORD	FUSN7MV		;[FUSN7]
		LWORD	FUSN8MV		;[FUSN8]
		LWORD	FUSN9MV		;[FUSN9]
		LWORD	FUSNaMV		;[FUSNa]
		LWORD	FUSNbMV		;[FUSNb]
		LWORD	BALONMV		;[BALON]
		LWORD	RMARUMV		;[RMARU]
		LWORD	PANSYMV		;[PANSY]
		LWORD	DGFLYMV		;[DGFLY]
		LWORD	BTFLYMV		;[BTFLY]
		LWORD	TARKNMV		;[TARKN]
		LWORD	NRLF0MV		;[NRLF0]
		LWORD	NRLF1MV		;[NRLF1]
		LWORD	HRLF0MV		;[HRLF0]
		LWORD	HRLF1MV		;[HRLF1]
		LWORD	NRLF2MV		;[NRLF2]
		LWORD	NRLF3MV		;[NRLF3]
		LWORD	HRLF2MV		;[HRLF2]
		LWORD	HRLF3MV		;[HRLF3]
		LWORD	SRLF0MV		;[SRLF0]
		LWORD	SRLF1MV		;[SRLF1]
		LWORD	GRPLFMV		;[GRPLF]
		LWORD	TURARMV		;[TURAR]
		LWORD	SUZUMMV		;[SUZUM]
		LWORD	FLWH0MV		;[FLWH0]
		LWORD	BG3DOMV		;[BG3DO]
		LWORD	KOUNBMV		;[KOUNB] 子ウンババ
		LWORD	GRCKSMV		;[GRCKS] ぐらぐら岩
		LWORD	GROCKMV		;[GROCK] ぐらぐら岩
		LWORD	YAJI0MV		;[YAJI0] 矢印
		LWORD	YAJI1MV		;[YAJI1] 矢印(斜め)
		LWORD	NISEFMV		;[NISEF]
		LWORD	GSTH0MV		;[GSTH0]
		LWORD	STRKNMV		;[STRKN] ターくん２号(スライディングターくん)
		LWORD	FTRKNMV		;[FTRKN] ターくん３号(フライングターくん)
		LWORD	BATSAMV		;[BATSA]
		LWORD	BATSBMV		;[BATSB]
		LWORD	BATSCMV		;[BATSC]
		LWORD	FIRBRMV		;[FIRBR]
		LWORD	FIRB2MV		;[FIRB2]
		LWORD	TIMKNMV		;[TIMKN]
		LWORD	SKLNZMV		;[SKLNZ]
		LWORD	CORKSMV		;[CORKS]
		LWORD	MONK0MV		;[MONK0]
		LWORD	MONK1MV		;[MONK1]
		LWORD	MONK2MV		;[MONK2]
		LWORD	MONK3MV		;[MONK3]
		LWORD	MONK4MV		;[MONK4]
		LWORD	YGFSHMV		;[YGFSH]
		LWORD	BLTLSMV		;[BLTLS]
		LWORD	KOKERMV		;[KOKER]
		LWORD	KAMECMV		;[KAMEC]
		LWORD	MAGICMV		;[MAGIC]
		LWORD	COIN2MV		;[COIN2] コイン
		LWORD	BG3LFMV		;[BG3LF] ＢＧ３リフト
;
		LWORD	M_THOMV		;[M_THO] ※ミニゲーム用（砲台）
		LWORD	M_TAMMV		;[M_TAM] ※ミニゲーム用（弾）
		LWORD	M_DR0MV		;[M_DR0] ※ミニゲーム用（ドロボー１）
		LWORD	M_LIFMV		;[M_LIF] ※ミニゲーム用（リフト）
		LWORD	M_DR2MV		;[M_DR2] ※ミニゲーム用（ドロボー３）
		LWORD	M_FUSMV		;[M_FUS] ※ミニゲーム用（風船）
		LWORD	M_DR4MV		;[M_DR4] ※ミニゲーム用（ドロボー５）
		LWORD	M_SUIMV		;[M_SUI] ※ミニゲーム用（西瓜湧きだし）
		LWORD	M_DR5MV		;[M_DR5] ※ミニゲーム用（ドロボー６）
;
;****************************************************************
;*		enemy fail name					*
;****************************************************************
EFLADR		EQU	$
		LWORD	RTLSUB		;[WAVLF]
		LWORD	RTLSUB		;[CDOOR]
		LWORD	RTLSUB		;[MPACW]
		LWORD	RTLSUB		;[TRBX2]
		LWORD	RTLSUB		;[MRBLK]
		LWORD	ENFAIL_FALL	;[COLD0]
		LWORD	RTLSUB		;[COLDX]
		LWORD	ENFAIL_FALL	;[SUIKA]
		LWORD	RTLSUB		;[KPEXB]
		LWORD	ENFAIL_FALL	;[FIRE0]
		LWORD	RTLSUB		;[TAIH0]
		LWORD	RTLSUB		;[BOMB0]
		LWORD	RTLSUB		;[BOSSQ]
		LWORD	RTLSUB		;[GOAL1]
		LWORD	RTLSUB		;[GOALX]
		LWORD	RTLSUB		;[BONSX]

		LWORD	RTLSUB		;[BG3D2]
		LWORD	RTLSUB		;[M_ITM]
		LWORD	RTLSUB		;[BOSDR]
		LWORD	RTLSUB		;[BSCLW]
		LWORD	RTLSUB		;[BSCLR]
		LWORD	RTLSUB		;[MISA0]
		LWORD	RTLSUB		;[DTELE]
		LWORD	GEROZFL		;[GEROZ]
		LWORD	RTLSUB		;[FIREX]
		LWORD	RTLSUB		;[SOPB0]
		LWORD	RTLSUB		;[SKILF]
		LWORD	RTLSUB		;[WTRLF]
		LWORD	RTLSUB		;[YUKID]
		LWORD	RTLSUB		;[YKDLF]
		LWORD	HEIH0FL		;[HEIH0]
		LWORD	RTLSUB		;[RDOOR]

		LWORD	DOROBFL		;[DOROB]
		LWORD	RTLSUB		;[BAKLF]
		LWORD	EGG00_FALL	;[EGG00]
		LWORD	ENFAIL_FALL	;[EGG02]
		LWORD	ENFAIL_FALL	;[EGG01]
		LWORD	ENFAIL_FALL	;[EGG03]
		LWORD	RTLSUB		;[KPBOM]
		LWORD	ENFAIL_FALL	;[DRKEY]
		LWORD	ENFAIL_FALL	;[KAMO1]
		LWORD	ENFAIL_FALL	;[YSEGG]
		LWORD	ENFAIL_FALL	;[EGG08]
		LWORD	ENFAIL_FALL	;[EGG09]
		LWORD	RTLSUB		;[NAMAZ]
		LWORD	RTLSUB		;[SLIME]
		LWORD	RTLSUB		;[SLEYE]
		LWORD	RTLSUB		;[NZANA]
		LWORD	ENFAIL0		;[NEZMI]
		LWORD	RTLSUB		;[SANPO]
		LWORD	RTLSUB		;[NZAN2]
		LWORD	ENFAIL0		;[NEZM2]
		LWORD	RTLSUB		;[TSUBO]
		LWORD	RTLSUB		;[OBAKE]

		LWORD	RTLSUB		;[IWATS]
		LWORD	RTLSUB		;[GHOST]
		LWORD	RTLSUB		;[OBFIR]
		LWORD	RTLSUB		;[POLY1]
		LWORD	RTLSUB		;[HINAQ]
		LWORD	RTLSUB		;[HINQ2]
		LWORD	RTLSUB		;[BOSSK]
		LWORD	RTLSUB		;[SESAW]
		LWORD	RTLSUB		;[MARUT]
		LWORD	RTLSUB		;[BKSLM]
		LWORD	RTLSUB		;[LUIGI]
		LWORD	RTLSUB		;[KONOT]
		LWORD	RTLSUB		;[DNXG2]
		LWORD	ENFAIL0		;[BHEIR]
		LWORD	ENFAIL0		;[BHEIG]
		LWORD	RTLSUB		;[INGER]
		LWORD	RTLSUB		;[BBBRS]
		LWORD	RTLSUB		;[TBHIH]
		LWORD	RTLSUB		;[KAMC2]
		LWORD	RTLSUB		;[SWAVM]
		LWORD	RTLSUB		;[SWAV0]
		LWORD	RTLSUB		;[SWAV1]
		LWORD	RTLSUB		;[ZSAB2]
		LWORD	RTLSUB		;[KERO0]
		LWORD	RTLSUB		;[POLDR]
		LWORD	RTLSUB		;[GATE0]
		LWORD	RTLSUB		;[GITAN]
		LWORD	RTLSUB		;[FACE8]
		LWORD	RTLSUB		;[FUSEN]
		LWORD	RTLSUB		;[KAMCS]
		LWORD	RTLSUB		;[ZPAC3]
		LWORD	RTLSUB		;[MILL0]
		LWORD	RTLSUB		;[MILS0]
		LWORD	RTLSUB		;[BG3FL]
		LWORD	ENFAIL0		;[DORBF]
		LWORD	RTLSUB		;[CSTAR]
		LWORD	RTLSUB		;[QSPAK]
		LWORD	DORB2FL		;[DORB2]
		LWORD	ENFAIL0		;[DRBF2]
		LWORD	RTLSUB		;[HBLK5]
		LWORD	RTLSUB		;[GITNS]
		LWORD	RTLSUB		;[GITNL]
		LWORD	RTLSUB		;[BOMBX]
		LWORD	RTLSUB		;[BABYM]
		LWORD	PANDAFL		;[PANDA]
		LWORD	RTLSUB		;[BETO0]
		LWORD	RTLSUB		;[MILL1]
		LWORD	RTLSUB		;[COINR]
		LWORD	RTLSUB		;[ZPACK]
		LWORD	RTLSUB		;[HIMIT]
		LWORD	RTLSUB		;[HBLK2]
		LWORD	RTLSUB		;[HBLK4]
		LWORD	RTLSUB		;[HBLK3]
		LWORD	RTLSUB		;[HBLK7]
		LWORD	RTLSUB		;[JBLKL]
		LWORD	RTLSUB		;[PPCKL]
		LWORD	RTLSUB		;[PPCKR]
		LWORD	RTLSUB		;[JBLK0]
		LWORD	RTLSUB		;[KANI0]
		LWORD	RTLSUB		;[TELEL]
		LWORD	RTLSUB		;[RAKUG]
		LWORD	RTLSUB		;[PONPU]
		LWORD	RTLSUB		;[GABON]
		LWORD	RTLSUB		;[GABNB]
		LWORD	RTLSUB		;[SPRKL]
		LWORD	RTLSUB		;[SPRKR]
		LWORD	RTLSUB		;[DAI00]
		LWORD	RTLSUB		;[DAI01]
		LWORD	RTLSUB		;[DAI02]
		LWORD	KIL00FL		;[KIL00]
		LWORD	KIL01FL		;[KIL01]
		LWORD	KIL02FL		;[KIL02]
		LWORD	RTLSUB		;[DWNBG]
		LWORD	RTLSUB		;[FYUKA]
		LWORD	RTLSUB		;[ZBUB0]
		LWORD	RTLSUB		;[ZBUB1]
		LWORD	RTLSUB		;[WANG0]
		LWORD	RTLSUB		;[BGKM0]
		LWORD	RTLSUB		;[NEXTG]
		LWORD	RTLSUB		;[HARIO]
		LWORD	RTLSUB		;[COIN0]
		LWORD	RTLSUB		;[EG1UP]
		LWORD	RTLSUB		;[MSTAR]
		LWORD	RTLSUB		;[NLFLR]
		LWORD	RTLSUB		;[NLFUD]
		LWORD	RTLSUB		;[FBOM0]
		LWORD	RTLSUB		;[GOLYS]
		LWORD	RTLSUB		;[MC1UP]
		LWORD	RTLSUB		;[KAMC3]
		LWORD	RTLSUB		;[OSARU]
		LWORD	RTLSUB		;[BG3KT]
		LWORD	KPBOM_FALL	;[DEATH]
		LWORD	RTLSUB		;[KOROG]
		LWORD	RTLSUB		;[ZDOOR]
		LWORD	RTLSUB		;[HBLK6]
		LWORD	RTLSUB		;[BLKLF]
		LWORD	RTLSUB		;[BLKL2]
		LWORD	RTLSUB		;[POWSW]
		LWORD	RTLSUB		;[WARPS]
		LWORD	RTLSUB		;[JTAM2]
		LWORD	RTLSUB		;[ROTLF]
		LWORD	RTLSUB		;[GABN2]
		LWORD	RTLSUB		;[GBNB2]
		LWORD	RTLSUB		;[SW000]
		LWORD	RTLSUB		;[MBALL]
		LWORD	RTLSUB		;[ZPAC2]
		LWORD	RTLSUB		;[TULIP]
		LWORD	RTLSUB		;[HACHI]
		LWORD	RTLSUB		;[GENKI]
		LWORD	DORBLFL		;[DORBL]
		LWORD	DORBRFL		;[DORBR]
		LWORD	RTLSUB		;[UNBAB]
		LWORD	RTLSUB		;[AWANG]
		LWORD	RTLSUB		;[AWANM]
		LWORD	RTLSUB		;[AWANS]
		LWORD	RTLSUB		;[AWANP]
		LWORD	RTLSUB		;[SHEIH]
		LWORD	RTLSUB		;[ITEGG]
		LWORD	RTLSUB		;[KPBKG]
		LWORD	RTLSUB		;[MSGBX]
		LWORD	RTLSUB		;[BOSS0]
		LWORD	RTLSUB		;[CHG00]
		LWORD	RTLSUB		;[CHG01]
		LWORD	RTLSUB		;[CHG02]
		LWORD	RTLSUB		;[CHG03]
		LWORD	RTLSUB		;[PUUUU]
		LWORD	RTLSUB		;[CHG05]
		LWORD	RTLSUB		;[QKM00]
		LWORD	RTLSUB		;[QKM01]
		LWORD	RTLSUB		;[QKM02]
		LWORD	RTLSUB		;[QKM03]
		LWORD	RTLSUB		;[QKM04]
		LWORD	RTLSUB		;[QKM05]
		LWORD	RTLSUB		;[QKM06]
		LWORD	RTLSUB		;[QKM07]
		LWORD	RTLSUB		;[QKM08]
		LWORD	RTLSUB		;[QKM09]
		LWORD	RTLSUB		;[QKM0A]
		LWORD	RTLSUB		;[QKM0B]
		LWORD	RTLSUB		;[QKM0C]
		LWORD	RTLSUB		;[QKM0D]
		LWORD	RTLSUB		;[QKM0E]
		LWORD	RTLSUB		;[QKM0F]
		LWORD	RTLSUB		;[QKM10]
		LWORD	RTLSUB		;[QKM11]
		LWORD	RTLSUB		;[QKM12]
		LWORD	RTLSUB		;[QKM13]
		LWORD	RTLSUB		;[QKM14]
		LWORD	RTLSUB		;[LBSDR]
		LWORD	RTLSUB		;[QKM16]
		LWORD	RTLSUB		;[QKM17]
		LWORD	RTLSUB		;[FKPBM]
		LWORD	RTLSUB		;[KPFIR]
		LWORD	RTLSUB		;[KPBLK]
		LWORD	RTLSUB		;[SNXGO]
		LWORD	RTLSUB		;[DNXGO]
		LWORD	RTLSUB		;[PUCHA]
		LWORD	PUCHGMV		;[PUCHG]
		LWORD	PUCHBMV		;[PUCHB]
		LWORD	RTLSUB		;[BG_00]
		LWORD	RTLSUB		;[BG3UL]
		LWORD	RTLSUB		;[BKMKJ]
		LWORD	RTLSUB		;[AW_FG]
		LWORD	TJUGMFL		;[TJUGM]
		LWORD	RTLSUB		;[TTUBO]
		LWORD	RTLSUB		;[BG3BL]
		LWORD	RTLSUB		;[YGORO]
		LWORD	RTLSUB		;[DMPLC]
		LWORD	RTLSUB		;[ON_DW]
		LWORD	RTLSUB		;[WPKPK]
		LWORD	RTLSUB		;[JFISH]
		LWORD	RTLSUB		;[HBNBN]
		LWORD	RTLSUB		;[BOBK0]
		LWORD	RTLSUB		;[BOBK1]
		LWORD	RTLSUB		;[HSAN0]
		LWORD	RTLSUB		;[HSAN1]
		LWORD	RTLSUB		;[TUMUJ]
		LWORD	RTLSUB		;[BBROS]
		LWORD	RTLSUB		;[AHOBD]
		LWORD	RTLSUB		;[AHOB2]
		LWORD	OTAMAFL		;[OTAMA]
		LWORD	OTAMHFL		;[OTAMH]
		LWORD	RTLSUB		;[VOWVW]
		LWORD	RTLSUB		;[VOWV2]
		LWORD	RTLSUB		;[NIKOP]
		LWORD	RTLSUB		;[NIKP2]
		LWORD	RTLSUB		;[NIKP3]
		LWORD	RTLSUB		;[BBFLW]
		LWORD	TAKEHFL		;[TAKEH]
		LWORD	ENFAIL0		;[MSHIH]
		LWORD	RTLSUB		;[EGFLW]
		LWORD	RTLSUB		;[BATSN]
		LWORD	RTLSUB		;[KAMO0]
		LWORD	RTLSUB		;[AWAFK]
		LWORD	RTLSUB		;[ZSABO]
		LWORD	RTLSUB		;[STAMA]
		LWORD	RTLSUB		;[ZFLWR]
		LWORD	RTLSUB		;[YARIH]
		LWORD	RTLSUB		;[YARH2]
		LWORD	KARATFL		;[KARAT]
		LWORD	RTLSUB		;[ENRGB]
		LWORD	RTLSUB		;[POCHI]
		LWORD	RTLSUB		;[PUPBB]
		LWORD	RTLSUB		;[GURU1]
		LWORD	RTLSUB		;[GURU2]
		LWORD	RTLSUB		;[GHEIH]
		LWORD	RTLSUB		;[BFISH]
		LWORD	RTLSUB		;[HOMOL]
		LWORD	RTLSUB		;[HOMOR]
		LWORD	ENFAIL_FALL	;[SUIKT]
		LWORD	RTLSUB		;[PONTA]
		LWORD	RTLSUB		;[KATI0]
		LWORD	RTLSUB		;[KATI1]
		LWORD	RTLSUB		;[KATI2]
		LWORD	RTLSUB		;[DOSUN]
		LWORD	RTLSUB		;[DHEIH]
		LWORD	RTLSUB		;[TRBOX]
		LWORD	RTLSUB		;[BTELE]
		LWORD	RTLSUB		;[ZFLW2]
		LWORD	RTLSUB		;[PURIN]
		LWORD	RTLSUB		;[PURI0]
		LWORD	RTLSUB		;[MCHO2]
		LWORD	RTLSUB		;[BULET]
		LWORD	RTLSUB		;[COIN1]
		LWORD	RTLSUB		;[FLOAT]
		LWORD	RTLSUB		;[TIKU0]
		LWORD	RTLSUB		;[TIKU1]
		LWORD	RTLSUB		;[NUNOO]
		LWORD	RTLSUB		;[MITSN]
		LWORD	JUGEMFL		;[JUGEM]
		LWORD	RTLSUB		;[KINTO]
		LWORD	RTLSUB		;[JTAMA]
		LWORD	RTLSUB		;[RLTLF]
		LWORD	RTLSUB		;[RLTL2]
		LWORD	RTLSUB		;[RLTL3]
		LWORD	RTLSUB		;[CNTLF]
		LWORD	RTLSUB		;[BAK20]
		LWORD	RTLSUB		;[BAK21]
		LWORD	ENFAIL0		;[ARIH0]
		LWORD	RTLSUB		;[KAMC4]
		LWORD	RTLSUB		;[MAKI0]
		LWORD	RTLSUB		;[MAKI1]
		LWORD	RTLSUB		;[FWAVE]
		LWORD	RTLSUB		;[WATAB]
		LWORD	RTLSUB		;[KUSAH]
		LWORD	RTLSUB		;[DEBU0]
		LWORD	COMCHFL		;[COMCH]
		LWORD	RTLSUB		;[YOSSY]
		LWORD	RTLSUB		;[BG3EX]
		LWORD	RTLSUB		;[FHOTM]
		LWORD	RTLSUB		;[FVOTM]
		LWORD	RTLSUB		;[KEYDR]
		LWORD	RTLSUB		;[SSLIM]
		LWORD	HEIH0FL		;[CHKH0]
		LWORD	RTLSUB		;[KOOPA]
		LWORD	RTLSUB		;[QCHAN]
		LWORD	RTLSUB		;[QCHN2]
		LWORD	RTLSUB		;[DWBL0]
		LWORD	RTLSUB		;[DWBL1]
		LWORD	RTLSUB		;[DWBL2]
		LWORD	RTLSUB		;[DWBL3]
		LWORD	RTLSUB		;[IEKI0]
		LWORD	RTLSUB		;[FLIPP]
		LWORD	RTLSUB		;[KOMO0]
		LWORD	RTLSUB		;[KOMO1]
		LWORD	RTLSUB		;[PKPK0]
		LWORD	RTLSUB		;[PKPK1]
		LWORD	RTLSUB		;[PKPK2]
		LWORD	RTLSUB		;[PKPK3]
		LWORD	RTLSUB		;[TEPPO]
		LWORD	RTLSUB		;[FLIPH]
		LWORD	KEME0FL		;[KEME0]
		LWORD	KEME1FL		;[KEME1]
		LWORD	RTLSUB		;[SNXG2]
		LWORD	RTLSUB		;[JBKL2]
		LWORD	RTLSUB		;[REFC0]
		LWORD	RTLSUB		;[REFC1]
		LWORD	RTLSUB		;[REFC2]
		LWORD	RTLSUB		;[REFC3]
		LWORD	RTLSUB		;[REFC4]
		LWORD	RTLSUB		;[REFC5]
		LWORD	RTLSUB		;[REFC6]
		LWORD	RTLSUB		;[REFC7]
		LWORD	RTLSUB		;[REFC8]
		LWORD	RTLSUB		;[MOTH0]
		LWORD	RTLSUB		;[BAHOB]
		LWORD	RTLSUB		;[AWANH]
		LWORD	RTLSUB		;[DBAHO]
		LWORD	RTLSUB		;[MATO0]
		LWORD	AJGM0FL		;[AJGM0]
		LWORD	RTLSUB		;[DBAH2]
		LWORD	RTLSUB		;[TONG0]
		LWORD	RTLSUB		;[TONG1]
		LWORD	RTLSUB		;[BAMBO]
		LWORD	RTLSUB		;[RBLKG]
		LWORD	RTLSUB		;[RBLKY]
		LWORD	RTLSUB		;[MILL2]
		LWORD	RTLSUB		;[RFLSG]
		LWORD	RTLSUB		;[RFLSY]
		LWORD	RTLSUB		;[HIMI2]
		LWORD	RTLSUB		;[RFLLG]
		LWORD	RTLSUB		;[SABO0]
		LWORD	RTLSUB		;[P_KN2]
		LWORD	RTLSUB		;[P_KUN]
		LWORD	THJGMFL		;[THJGM]
		LWORD	KORA0FL		;[KORA0]
		LWORD	KORA1FL		;[KORA1]
		LWORD	HNOK0FL		;[HNOK0]
		LWORD	HNOK1FL		;[HNOK1]
		LWORD	NKNK0FL		;[NKNK0]
		LWORD	NKNK1FL		;[NKNK1]
		LWORD	PTPT0FL		;[PTPT0]
		LWORD	PTPT1FL		;[PTPT1]
		LWORD	PTPT2FL		;[PTPT2]
		LWORD	JGEMWFL		;[JGEMW]
		LWORD	RTLSUB		;[MPACK]
		LWORD	RTLSUB		;[MPACH]
		LWORD	RTLSUB		;[FUSN0]
		LWORD	RTLSUB		;[FUSN1]
		LWORD	RTLSUB		;[FUSN2]
		LWORD	RTLSUB		;[FUSN3]
		LWORD	RTLSUB		;[FUSN4]
		LWORD	RTLSUB		;[FUSN5]
		LWORD	RTLSUB		;[FUSN6]
		LWORD	RTLSUB		;[FUSN7]
		LWORD	RTLSUB		;[FUSN8]
		LWORD	RTLSUB		;[FUSN9]
		LWORD	RTLSUB		;[FUSNa]
		LWORD	RTLSUB		;[FUSNb]
		LWORD	RTLSUB		;[BALON]
		LWORD	RTLSUB		;[RMARU]
		LWORD	PANSYFL		;[PANSY]
		LWORD	RTLSUB		;[DGFLY]
		LWORD	RTLSUB		;[BTFLY]
		LWORD	ENFAIL0		;[TARKN]
		LWORD	RTLSUB		;[NRLF0]
		LWORD	RTLSUB		;[NRLF1]
		LWORD	RTLSUB		;[HRLF0]
		LWORD	RTLSUB		;[HRLF1]
		LWORD	RTLSUB		;[NRLF2]
		LWORD	RTLSUB		;[NRLF3]
		LWORD	RTLSUB		;[HRLF2]
		LWORD	RTLSUB		;[HRLF3]
		LWORD	RTLSUB		;[SRLF0]
		LWORD	RTLSUB		;[SRLF1]
		LWORD	RTLSUB		;[GRPLF]
		LWORD	RTLSUB		;[TURAR]
		LWORD	RTLSUB		;[SUZUM]
		LWORD	RTLSUB		;[FLWH0]
		LWORD	RTLSUB		;[BG3DO]
		LWORD	RTLSUB		;[KOUNB] 子ウンババ
		LWORD	RTLSUB		;[GRCKS] ぐらぐら岩
		LWORD	RTLSUB		;[GROCK] ぐらぐら岩
		LWORD	RTLSUB		;[YAJI0] 矢印
		LWORD	RTLSUB		;[YAJI1] 矢印(斜め)
		LWORD	RTLSUB		;[NISEF]
		LWORD	GSTH0FL		;[GSTH0]
		LWORD	ENFAIL0		;[STRKN]
		LWORD	ENFAIL0		;[FTRKN]
		LWORD	BATSAFL		;[BATSA]
		LWORD	RTLSUB		;[BATSB]
		LWORD	BATSCFL		;[BATSC]
		LWORD	RTLSUB		;[FIRBR]
		LWORD	RTLSUB		;[FIRB2]
		LWORD	RTLSUB		;[TIMKN]
		LWORD	RTLSUB		;[SKLNZ]
		LWORD	RTLSUB		;[CORKS]
		LWORD	ENFAIL_FALL	;[MONK0]
		LWORD	ENFAIL_FALL	;[MONK1]
		LWORD	ENFAIL_FALL	;[MONK2]
		LWORD	ENFAIL_FALL	;[MONK3]
		LWORD	ENFAIL_FALL	;[MONK4]
		LWORD	RTLSUB		;[YGFSH]
		LWORD	BLTLSFL		;[BLTLS]
		LWORD	RTLSUB		;[KOKER]
		LWORD	KAMECFL		;[KAMEC]
		LWORD	RTLSUB		;[MAGIC]
		LWORD	RTLSUB		;[COIN2]
		LWORD	RTLSUB		;[BG3LF]
;
		LWORD	RTLSUB		;[M_THO] ※ミニゲーム用（砲台）
		LWORD	RTLSUB		;[M_TAM] ※ミニゲーム用（弾）
		LWORD	RTLSUB		;[M_DR0] ※ミニゲーム用（ドロボー１）
		LWORD	RTLSUB		;[M_LIF] ※ミニゲーム用（リフト）
		LWORD	RTLSUB		;[M_DR2] ※ミニゲーム用（ドロボー３）
		LWORD	RTLSUB		;[M_FUS] ※ミニゲーム用（風船）
		LWORD	ENFAIL_FALL	;[M_DR4] ※ミニゲーム用（ドロボー５）
		LWORD	RTLSUB		;[M_SUI] ※ミニゲーム用（西瓜湧きだし）
		LWORD	RTLSUB		;[M_DR5] ※ミニゲーム用（ドロボー６）
;
;****************************************************************
;*		enemy nose name					*
;****************************************************************
ENSADR		EQU	$
		LWORD	RTLSUB		;[WAVLF]
		LWORD	RTLSUB		;[CDOOR]
		LWORD	RTLSUB		;[MPACW]
		LWORD	RTLSUB		;[TRBX2]
		LWORD	RTLSUB		;[MRBLK]
		LWORD	RTLSUB		;[COLD0]
		LWORD	RTLSUB		;[COLDX]
		LWORD	RTLSUB		;[SUIKA]
		LWORD	RTLSUB		;[KPEXB]
		LWORD	RTLSUB		;[FIRE0]
		LWORD	RTLSUB		;[TAIH0]
		LWORD	RTLSUB		;[BOMB0]
		LWORD	RTLSUB		;[BOSSQ]
		LWORD	RTLSUB		;[GOAL1]
		LWORD	RTLSUB		;[GOALX]
		LWORD	RTLSUB		;[BONSX]
		LWORD	RTLSUB		;[BG3D2]
		LWORD	RTLSUB		;[M_ITM]
		LWORD	RTLSUB		;[BOSDR]
		LWORD	RTLSUB		;[BSCLW]
		LWORD	RTLSUB		;[BSCLR]
		LWORD	RTLSUB		;[MISA0]
		LWORD	RTLSUB		;[DTELE]
		LWORD	RTLSUB		;[GEROZ]
		LWORD	RTLSUB		;[FIREX]
		LWORD	RTLSUB		;[SOPB0]
		LWORD	RTLSUB		;[SKILF]
		LWORD	RTLSUB		;[WTRLF]
		LWORD	RTLSUB		;[YUKID]
		LWORD	RTLSUB		;[YKDLF]
		LWORD	RTLSUB		;[HEIH0]
		LWORD	RTLSUB		;[RDOOR]
		LWORD	RTLSUB		;[DOROB]
		LWORD	RTLSUB		;[BAKLF]
		LWORD	RTLSUB		;[EGG00]
		LWORD	RTLSUB		;[EGG02]
		LWORD	RTLSUB		;[EGG01]
		LWORD	RTLSUB		;[EGG03]
		LWORD	RTLSUB		;[KPBOM]
		LWORD	RTLSUB		;[DRKEY]
		LWORD	RTLSUB		;[KAMO1]
		LWORD	RTLSUB		;[YSEGG]
		LWORD	RTLSUB		;[EGG08]
		LWORD	RTLSUB		;[EGG09]
		LWORD	RTLSUB		;[NAMAZ]
		LWORD	RTLSUB		;[SLIME]
		LWORD	RTLSUB		;[SLEYE]
		LWORD	RTLSUB		;[NZANA]
		LWORD	RTLSUB		;[NEZMI]
		LWORD	RTLSUB		;[SANPO]
		LWORD	RTLSUB		;[NZAN2]
		LWORD	RTLSUB		;[NEZM2]
		LWORD	RTLSUB		;[TSUBO]
		LWORD	RTLSUB		;[OBAKE]
		LWORD	RTLSUB		;[IWATS]
		LWORD	GHOSTNS		;[GHOST]
		LWORD	RTLSUB		;[OBFIR]
		LWORD	RTLSUB		;[POLY1]
		LWORD	RTLSUB		;[HINAQ]
		LWORD	RTLSUB		;[HINQ2]
		LWORD	RTLSUB		;[BOSSK]
		LWORD	RTLSUB		;[SESAW]
		LWORD	RTLSUB		;[MARUT]
		LWORD	RTLSUB		;[BKSLM]
		LWORD	RTLSUB		;[LUIGI]
		LWORD	RTLSUB		;[KONOT]
		LWORD	RTLSUB		;[DNXG2]
		LWORD	RTLSUB		;[BHEIR]
		LWORD	RTLSUB		;[BHEIG]
		LWORD	RTLSUB		;[INGER]
		LWORD	RTLSUB		;[BBBRS]
		LWORD	RTLSUB		;[TBHIH]
		LWORD	RTLSUB		;[KAMC2]
		LWORD	RTLSUB		;[SWAVM]
		LWORD	RTLSUB		;[SWAV0]
		LWORD	RTLSUB		;[SWAV1]
		LWORD	RTLSUB		;[ZSAB2]
		LWORD	RTLSUB		;[KERO0]
		LWORD	RTLSUB		;[POLDR]
		LWORD	RTLSUB		;[GATE0]
		LWORD	RTLSUB		;[GITAN]
		LWORD	RTLSUB		;[FACE8]
		LWORD	RTLSUB		;[FUSEN]
		LWORD	RTLSUB		;[KAMCS]
		LWORD	RTLSUB		;[ZPAC3]
		LWORD	RTLSUB		;[MILL0]
		LWORD	RTLSUB		;[MILS0]
		LWORD	RTLSUB		;[BG3FL]
		LWORD	RTLSUB		;[DORBF]
		LWORD	RTLSUB		;[CSTAR]
		LWORD	RTLSUB		;[QSPAK]
		LWORD	RTLSUB		;[DORB2]
		LWORD	RTLSUB		;[DRBF2]
		LWORD	RTLSUB		;[HBLK5]
		LWORD	RTLSUB		;[GITNS]
		LWORD	RTLSUB		;[GITNL]
		LWORD	RTLSUB		;[BOMBX]
		LWORD	BABYMNS		;[BABYM]
		LWORD	RTLSUB		;[PANDA]
		LWORD	RTLSUB		;[BETO0]
		LWORD	RTLSUB		;[MILL1]
		LWORD	RTLSUB		;[COINR]
		LWORD	RTLSUB		;[ZPACK]
		LWORD	RTLSUB		;[HIMIT]
		LWORD	RTLSUB		;[HBLK2]
		LWORD	RTLSUB		;[HBLK4]
		LWORD	RTLSUB		;[HBLK3]
		LWORD	RTLSUB		;[HBLK7]
		LWORD	RTLSUB		;[JBLKL]
		LWORD	RTLSUB		;[PPCKL]
		LWORD	RTLSUB		;[PPCKR]
		LWORD	RTLSUB		;[JBLK0]
		LWORD	RTLSUB		;[KANI0]
		LWORD	RTLSUB		;[TELEL]
		LWORD	RTLSUB		;[RAKUG]
		LWORD	RTLSUB		;[PONPU]
		LWORD	RTLSUB		;[GABON]
		LWORD	RTLSUB		;[GABNB]
		LWORD	RTLSUB		;[SPRKL]
		LWORD	RTLSUB		;[SPRKR]
		LWORD	RTLSUB		;[DAI00]
		LWORD	RTLSUB		;[DAI01]
		LWORD	RTLSUB		;[DAI02]
		LWORD	RTLSUB		;[KIL00]
		LWORD	RTLSUB		;[KIL01]
		LWORD	RTLSUB		;[KIL02]
		LWORD	RTLSUB		;[DWNBG]
		LWORD	RTLSUB		;[FYUKA]
		LWORD	RTLSUB		;[ZBUB0]
		LWORD	RTLSUB		;[ZBUB1]
		LWORD	RTLSUB		;[WANG0]
		LWORD	RTLSUB		;[BGKM0]
		LWORD	RTLSUB		;[NEXTG]
		LWORD	RTLSUB		;[HARIO]
		LWORD	RTLSUB		;[COIN0]
		LWORD	RTLSUB		;[EG1UP]
		LWORD	RTLSUB		;[MSTAR]
		LWORD	RTLSUB		;[NLFLR]
		LWORD	RTLSUB		;[NLFUD]
		LWORD	RTLSUB		;[FBOM0]
		LWORD	RTLSUB		;[GOLYS]
		LWORD	RTLSUB		;[MC1UP]
		LWORD	RTLSUB		;[KAMC3]
		LWORD	RTLSUB		;[OSARU]
		LWORD	RTLSUB		;[BG3KT]
		LWORD	RTLSUB		;[DEATH]
		LWORD	RTLSUB		;[KOROG]
		LWORD	RTLSUB		;[ZDOOR]
		LWORD	RTLSUB		;[HBLK6]
		LWORD	RTLSUB		;[BLKLF]
		LWORD	RTLSUB		;[BLKL2]
		LWORD	RTLSUB		;[POWSW]
		LWORD	RTLSUB		;[WARPS]
		LWORD	RTLSUB		;[JTAM2]
		LWORD	RTLSUB		;[ROTLF]
		LWORD	RTLSUB		;[GABN2]
		LWORD	RTLSUB		;[GBNB2]
		LWORD	RTLSUB		;[SW000]
		LWORD	RTLSUB		;[MBALL]
		LWORD	RTLSUB		;[ZPAC2]
		LWORD	RTLSUB		;[TULIP]
		LWORD	RTLSUB		;[HACHI]
		LWORD	RTLSUB		;[GENKI]
		LWORD	RTLSUB		;[DORBL]
		LWORD	RTLSUB		;[DORBR]
		LWORD	RTLSUB		;[UNBAB]
		LWORD	RTLSUB		;[AWANG]
		LWORD	RTLSUB		;[AWANM]
		LWORD	RTLSUB		;[AWANS]
		LWORD	RTLSUB		;[AWANP]
		LWORD	RTLSUB		;[SHEIH]
		LWORD	RTLSUB		;[ITEGG]
		LWORD	RTLSUB		;[KPBKG]
		LWORD	RTLSUB		;[MSGBX]
		LWORD	RTLSUB		;[BOSS0]
		LWORD	RTLSUB		;[CHG00]
		LWORD	RTLSUB		;[CHG01]
		LWORD	RTLSUB		;[CHG02]
		LWORD	RTLSUB		;[CHG03]
		LWORD	RTLSUB		;[PUUUU]
		LWORD	RTLSUB		;[CHG05]
		LWORD	RTLSUB		;[QKM00]
		LWORD	RTLSUB		;[QKM01]
		LWORD	RTLSUB		;[QKM02]
		LWORD	RTLSUB		;[QKM03]
		LWORD	RTLSUB		;[QKM04]
		LWORD	RTLSUB		;[QKM05]
		LWORD	RTLSUB		;[QKM06]
		LWORD	RTLSUB		;[QKM07]
		LWORD	RTLSUB		;[QKM08]
		LWORD	RTLSUB		;[QKM09]
		LWORD	RTLSUB		;[QKM0A]
		LWORD	RTLSUB		;[QKM0B]
		LWORD	RTLSUB		;[QKM0C]
		LWORD	RTLSUB		;[QKM0D]
		LWORD	RTLSUB		;[QKM0E]
		LWORD	RTLSUB		;[QKM0F]
		LWORD	RTLSUB		;[QKM10]
		LWORD	RTLSUB		;[QKM11]
		LWORD	RTLSUB		;[QKM12]
		LWORD	RTLSUB		;[QKM13]
		LWORD	RTLSUB		;[QKM14]
		LWORD	RTLSUB		;[LBSDR]
		LWORD	RTLSUB		;[QKM16]
		LWORD	RTLSUB		;[QKM17]
		LWORD	RTLSUB		;[FKPBM]
		LWORD	RTLSUB		;[KPFIR]
		LWORD	RTLSUB		;[KPBLK]
		LWORD	RTLSUB		;[SNXGO]
		LWORD	RTLSUB		;[DNXGO]
		LWORD	RTLSUB		;[PUCHA]
		LWORD	RTLSUB		;[PUCHG]
		LWORD	RTLSUB		;[PUCHB]
		LWORD	RTLSUB		;[BG_00]
		LWORD	RTLSUB		;[BG3UL]
		LWORD	RTLSUB		;[BKMKJ]
		LWORD	RTLSUB		;[AW_FG]
		LWORD	RTLSUB		;[TJUGM]
		LWORD	RTLSUB		;[TTUBO]
		LWORD	RTLSUB		;[BG3BL]
		LWORD	RTLSUB		;[YGORO]
		LWORD	RTLSUB		;[DMPLC]
		LWORD	RTLSUB		;[ON_DW]
		LWORD	RTLSUB		;[WPKPK]
		LWORD	RTLSUB		;[JFISH]
		LWORD	RTLSUB		;[HBNBN]
		LWORD	RTLSUB		;[BOBK0]
		LWORD	RTLSUB		;[BOBK1]
		LWORD	RTLSUB		;[HSAN0]
		LWORD	RTLSUB		;[HSAN1]
		LWORD	RTLSUB		;[TUMUJ]
		LWORD	RTLSUB		;[BBROS]
		LWORD	RTLSUB		;[AHOBD]
		LWORD	RTLSUB		;[AHOB2]
		LWORD	RTLSUB		;[OTAMA]
		LWORD	RTLSUB		;[OTAMH]
		LWORD	RTLSUB		;[VOWVW]
		LWORD	RTLSUB		;[VOWV2]
		LWORD	RTLSUB		;[NIKOP]
		LWORD	RTLSUB		;[NIKP2]
		LWORD	RTLSUB		;[NIKP3]
		LWORD	RTLSUB		;[BBFLW]
		LWORD	RTLSUB		;[TAKEH]
		LWORD	RTLSUB		;[MSHIH]
		LWORD	RTLSUB		;[EGFLW]
		LWORD	RTLSUB		;[BATSN]
		LWORD	RTLSUB		;[KAMO0]
		LWORD	RTLSUB		;[AWAFK]
		LWORD	RTLSUB		;[ZSABO]
		LWORD	RTLSUB		;[STAMA]
		LWORD	RTLSUB		;[ZFLWR]
		LWORD	RTLSUB		;[YARIH]
		LWORD	RTLSUB		;[YARH2]
		LWORD	RTLSUB		;[KARAT]
		LWORD	RTLSUB		;[ENRGB]
		LWORD	RTLSUB		;[POCHI]
		LWORD	RTLSUB		;[PUPBB]
		LWORD	RTLSUB		;[GURU1]
		LWORD	RTLSUB		;[GURU2]
		LWORD	RTLSUB		;[GHEIH]
		LWORD	RTLSUB		;[BFISH]
		LWORD	RTLSUB		;[HOMOL]
		LWORD	RTLSUB		;[HOMOR]
		LWORD	RTLSUB		;[SUIKT]
		LWORD	RTLSUB		;[PONTA]
		LWORD	RTLSUB		;[KATI0]
		LWORD	RTLSUB		;[KATI1]
		LWORD	RTLSUB		;[KATI2]
		LWORD	RTLSUB		;[DOSUN]
		LWORD	RTLSUB		;[DHEIH]
		LWORD	RTLSUB		;[TRBOX]
		LWORD	RTLSUB		;[BTELE]
		LWORD	RTLSUB		;[ZFLW2]
		LWORD	RTLSUB		;[PURIN]
		LWORD	RTLSUB		;[PURI0]
		LWORD	RTLSUB		;[MCHO2]
		LWORD	RTLSUB		;[BULET]
		LWORD	RTLSUB		;[COIN1]
		LWORD	RTLSUB		;[FLOAT]
		LWORD	RTLSUB		;[TIKU0]
		LWORD	RTLSUB		;[TIKU1]
		LWORD	RTLSUB		;[NUNOO]
		LWORD	RTLSUB		;[MITSN]
		LWORD	RTLSUB		;[JUGEM]
		LWORD	RTLSUB		;[KINTO]
		LWORD	RTLSUB		;[JTAMA]
		LWORD	RTLSUB		;[RLTLF]
		LWORD	RTLSUB		;[RLTL2]
		LWORD	RTLSUB		;[RLTL3]
		LWORD	RTLSUB		;[CNTLF]
		LWORD	RTLSUB		;[BAK20]
		LWORD	RTLSUB		;[BAK21]
		LWORD	RTLSUB		;[ARIH0]
		LWORD	RTLSUB		;[KAMC4]
		LWORD	RTLSUB		;[MAKI0]
		LWORD	RTLSUB		;[MAKI1]
		LWORD	RTLSUB		;[FWAVE]
		LWORD	RTLSUB		;[WATAB]
		LWORD	KUSAHNS		;[KUSAH]
		LWORD	RTLSUB		;[DEBU0]
		LWORD	RTLSUB		;[COMCH]
		LWORD	RTLSUB		;[YOSSY]
		LWORD	RTLSUB		;[BG3EX]
		LWORD	RTLSUB		;[FHOTM]
		LWORD	RTLSUB		;[FVOTM]
		LWORD	RTLSUB		;[KEYDR]
		LWORD	RTLSUB		;[SSLIM]
		LWORD	RTLSUB		;[CHKH0]
		LWORD	KOOPANS		;[KOOPA]
		LWORD	RTLSUB		;[QCHAN]
		LWORD	RTLSUB		;[QCHN2]
		LWORD	RTLSUB		;[DWBL0]
		LWORD	RTLSUB		;[DWBL1]
		LWORD	RTLSUB		;[DWBL2]
		LWORD	RTLSUB		;[DWBL3]
		LWORD	RTLSUB		;[IEKI0]
		LWORD	RTLSUB		;[FLIPP]
		LWORD	RTLSUB		;[KOMO0]
		LWORD	RTLSUB		;[KOMO1]
		LWORD	RTLSUB		;[PKPK0]
		LWORD	RTLSUB		;[PKPK1]
		LWORD	RTLSUB		;[PKPK2]
		LWORD	RTLSUB		;[PKPK3]
		LWORD	RTLSUB		;[TEPPO]
		LWORD	RTLSUB		;[FLIPH]
		LWORD	RTLSUB		;[KEME0]
		LWORD	RTLSUB		;[KEME1]
		LWORD	RTLSUB		;[SNXG2]
		LWORD	RTLSUB		;[JBKL2]
		LWORD	RTLSUB		;[REFC0]
		LWORD	RTLSUB		;[REFC1]
		LWORD	RTLSUB		;[REFC2]
		LWORD	RTLSUB		;[REFC3]
		LWORD	RTLSUB		;[REFC4]
		LWORD	RTLSUB		;[REFC5]
		LWORD	RTLSUB		;[REFC6]
		LWORD	RTLSUB		;[REFC7]
		LWORD	RTLSUB		;[REFC8]
		LWORD	RTLSUB		;[MOTH0]
		LWORD	RTLSUB		;[BAHOB]
		LWORD	RTLSUB		;[AWANH]
		LWORD	RTLSUB		;[DBAHO]
		LWORD	RTLSUB		;[MATO0]
		LWORD	RTLSUB		;[AJGM0]
		LWORD	RTLSUB		;[DBAH2]
		LWORD	RTLSUB		;[TONG0]
		LWORD	RTLSUB		;[TONG1]
		LWORD	RTLSUB		;[BAMBO]
		LWORD	RTLSUB		;[RBLKG]
		LWORD	RTLSUB		;[RBLKY]
		LWORD	RTLSUB		;[MILL2]
		LWORD	RTLSUB		;[RFLSG]
		LWORD	RTLSUB		;[RFLSY]
		LWORD	RTLSUB		;[HIMI2]
		LWORD	RTLSUB		;[RFLLG]
		LWORD	RTLSUB		;[SABO0]
		LWORD	RTLSUB		;[P_KN2]
		LWORD	RTLSUB		;[P_KUN]
		LWORD	RTLSUB		;[THJGM]
		LWORD	RTLSUB		;[KORA0]
		LWORD	RTLSUB		;[KORA1]
		LWORD	RTLSUB		;[HNOK0]
		LWORD	RTLSUB		;[HNOK1]
		LWORD	RTLSUB		;[NKNK0]
		LWORD	RTLSUB		;[NKNK1]
		LWORD	RTLSUB		;[PTPT0]
		LWORD	RTLSUB		;[PTPT1]
		LWORD	RTLSUB		;[PTPT2]
		LWORD	RTLSUB		;[JGEMW]
		LWORD	RTLSUB		;[MPACK]
		LWORD	RTLSUB		;[MPACH]
		LWORD	RTLSUB		;[FUSN0]
		LWORD	RTLSUB		;[FUSN1]
		LWORD	RTLSUB		;[FUSN2]
		LWORD	RTLSUB		;[FUSN3]
		LWORD	RTLSUB		;[FUSN4]
		LWORD	RTLSUB		;[FUSN5]
		LWORD	RTLSUB		;[FUSN6]
		LWORD	RTLSUB		;[FUSN7]
		LWORD	RTLSUB		;[FUSN8]
		LWORD	RTLSUB		;[FUSN9]
		LWORD	RTLSUB		;[FUSNa]
		LWORD	RTLSUB		;[FUSNb]
		LWORD	RTLSUB		;[BALON]
		LWORD	RTLSUB		;[RMARU]
		LWORD	RTLSUB		;[PANSY]
		LWORD	RTLSUB		;[DGFLY]
		LWORD	RTLSUB		;[BTFLY]
		LWORD	RTLSUB		;[TARKN]
		LWORD	RTLSUB		;[NRLF0]
		LWORD	RTLSUB		;[NRLF1]
		LWORD	RTLSUB		;[HRLF0]
		LWORD	RTLSUB		;[HRLF1]
		LWORD	RTLSUB		;[NRLF2]
		LWORD	RTLSUB		;[NRLF3]
		LWORD	RTLSUB		;[HRLF2]
		LWORD	RTLSUB		;[HRLF3]
		LWORD	RTLSUB		;[SRLF0]
		LWORD	RTLSUB		;[SRLF1]
		LWORD	RTLSUB		;[GRPLF]
		LWORD	RTLSUB		;[TURAR]
		LWORD	RTLSUB		;[SUZUM]
		LWORD	RTLSUB		;[FLWH0]
		LWORD	RTLSUB		;[BG3DO]
		LWORD	RTLSUB		;[KOUNB] 子ウンババ
		LWORD	RTLSUB		;[GRCKS] ぐらぐら岩
		LWORD	RTLSUB		;[GROCK] ぐらぐら岩
		LWORD	RTLSUB		;[YAJI0] 矢印
		LWORD	RTLSUB		;[YAJI1] 矢印(斜め)
		LWORD	RTLSUB		;[NISEF]
		LWORD	RTLSUB		;[GSTH0]
		LWORD	RTLSUB		;[STRKN]
		LWORD	RTLSUB		;[FTRKN]
		LWORD	RTLSUB		;[BATSA]
		LWORD	RTLSUB		;[BATSB]
		LWORD	RTLSUB		;[BATSC]
		LWORD	RTLSUB		;[FIRBR]
		LWORD	RTLSUB		;[FIRB2]
		LWORD	RTLSUB		;[TIMKN]
		LWORD	RTLSUB		;[SKLNZ]
		LWORD	RTLSUB		;[CORKS]
		LWORD	RTLSUB		;[MONK0]
		LWORD	RTLSUB		;[MONK1]
		LWORD	RTLSUB		;[MONK2]
		LWORD	RTLSUB		;[MONK3]
		LWORD	RTLSUB		;[MONK4]
		LWORD	RTLSUB		;[YGFSH]
		LWORD	RTLSUB		;[BLTLS]
		LWORD	RTLSUB		;[KOKER]
		LWORD	RTLSUB		;[KAMEC]
		LWORD	RTLSUB		;[MAGIC]
		LWORD	RTLSUB		;[COIN2]
		LWORD	RTLSUB		;[BG3LF]
;
		LWORD	RTLSUB		;[M_THO] ※ミニゲーム用（砲台）
		LWORD	RTLSUB		;[M_TAM] ※ミニゲーム用（弾）
		LWORD	RTLSUB		;[M_DR0] ※ミニゲーム用（ドロボー１）
		LWORD	RTLSUB		;[M_LIF] ※ミニゲーム用（リフト）
		LWORD	RTLSUB		;[M_DR2] ※ミニゲーム用（ドロボー３）
		LWORD	RTLSUB		;[M_FUS] ※ミニゲーム用（風船）
		LWORD	RTLSUB		;[M_DR4] ※ミニゲーム用（ドロボー５）
		LWORD	RTLSUB		;[M_SUI] ※ミニゲーム用（西瓜湧きだし）
		LWORD	RTLSUB		;[M_DR5] ※ミニゲーム用（ドロボー６）
;
;****************************************************************
;*		敵ＲＡＭクリアー				*
;****************************************************************
ENRAMCLR	EQU	$
;
		MI16
;
		LDX	#(CEXNO+CENNO-1)*4
		LDA	#0FFH
GMIN000		EQU	$
		STZ	EXMODE,X	;enemy clear
		STA	EXYUSN,X	;OAM not set
		DEX
		DEX
		DEX
		DEX
		BPL	GMIN000
;
		MI8
;
		RTL
;
;************************************************************************
;*		enemy OAM set						*
;************************************************************************
;
ENCSET_DM	EQU	$
;
		M16
;
		BRA	ENCSET_0010
;
ENCSET		EQU	$
		LDA	SP_SCRL_FG
		BNE	ENCSET_0050	;スクロール基準特殊？ ( yes:ENCSET_0050 )
;
		M16
;
		LDA	MAPOINT
		CMP	#INT_STAT
		BEQ	ENCSET_0020	;１Ｗ−０？ ( yes:ENCSET_0020 )
		CMP	#((5-1)*12)+(3-1)
		BEQ	ENCSET_0000	;５Ｗ−３？ ( yes:ENCSET_0000 )
		CMP	#((5-1)*12)+(9-1)
		BNE	ENCSET_0010	;５Ｗ−９？ ( no:ENCSET_0010 )
ENCSET_0000	EQU	$
		LDY	PLTYPE
		CPY	#P_SKI
		BEQ	ENCSET_0020	;スキーヨッシー？ ( yes:ENCSET_0020 )
ENCSET_0010	EQU	$
		LDA	#0
ENCSET_0020	EQU	$
		STA	R3		;(R3) <-- １Ｗ−０フラグ
		M_CHIPS GAMENCHK	;enemy OAM set
;
		M8
;
		RTL
;
;-------------- スクロール基準特殊 敵の状態保存セット -------------------
ENCSET_0050	EQU	$
;
		M8
;
		LDX	#ENNO-1		;敵の状態保存チェックデータセット
		LDY	#(ENNO-1)*4
ENCSET_0100	EQU	$
		LDA	SP_SCRL_SVENFG,X
		BEQ	ENCSET_0150	;状態保存？ ( no:ENCSET_0150 )
;
		LDA	ENMOD2,Y
		STA	<WORK,X
		AND	#11110011B	;範囲外クリアー無しセット
		STA	ENMOD2,Y
ENCSET_0150	EQU	$
		DEY
		DEY
		DEY
		DEY
		DEX
		BPL	ENCSET_0100
;
		M16
;
		LDA	MAPOINT
		SEC
		SBC	#INT_STAT
		STA	R3		;(R3) <-- １Ｗ−０フラグ
		M_CHIPS GAMENCHK	;enemy OAM set
;
		M8
;
;-------------- スクロール基準特殊 敵の状態保存リセット -----------------
		LDX	#ENNO-1		;敵の状態保存チェックデータセット
		LDY	#(ENNO-1)*4
ENCSET_0200	EQU	$
		LDA	SP_SCRL_SVENFG,X
		BEQ	ENCSET_0250	;状態保存？ ( no:ENCSET_0250 )
;
		LDA	<WORK,X		;範囲外クリアー情報復帰
		STA	ENMOD2,Y
ENCSET_0250	EQU	$
		DEY
		DEY
		DEY
		DEY
		DEX
		BPL	ENCSET_0200
		RTL
;
;
;****************************************************************
;*		enemy initial					*
;****************************************************************
;
;
		DPAGE	EN0RAM
;
;
ENINSB		EQU	$
		PHB			;(DBR) save
		PHK			;(DBR) <-- (PBR)
		PLB
		PHD			;(D) save
;
		M16
;
		LDA	#EN0RAM		;(D) <-- enemy 0 page
		TCD
;
		LDY	#(EXNO-1)*4	;exstra area counter reset
		STY	EXSTCT
;
		LDA	SCCH1
		STA	<EWORK+14
		SEC
		SBC	#0120H+0030H+0010H
		STA	SCCH1
		STZ	SCHMK1
ENI020		EQU	$
		LDA	SCCH1
		CLC
		ADC	#0010H
		STA	SCCH1
		JSR	ENDTRD
		LDA	SCCH1
		CMP	<EWORK+14
		BNE	ENI020
;
		LDA	#4000H		;画面内ＢＧチェック用書き換え座標リセット
		STA	WRSCH1
		STA	WRSCV1
;
		M8
;
		PLD
		PLB
		RTL
;
;****************************************************************
;*		enemy data read					*
;****************************************************************
ENCKXA		EQU	$
		WORD	0120H,0FFD0H
ENCKYA		EQU	$
		WORD	0110H,0FFE0H
;
		MEM16
		IDX8
;
ENDTRD		EQU	$
		LDX	SCHMK1
		LDA	SCCH1
		CLC
		ADC	!ENCKXA,X
		STA	R1
		LDA	SCCV1
		SEC
		SBC	#0020H
		STA	R2
		LDX	SCVMK1
		LDA	SCCV1
		CLC
		ADC	!ENCKYA,X
		STA	R3
		LDA	SCCH1
		SEC
		SBC	#0030H
		STA	R4
		M_CHIP	ENDTSR
;
		I16
;
		LDX	#00
ERD000		EQU	$
		LDA	>EDSRBF,X
		BPL	ERD010		;search data nothing ? ( no:ERD010 )
;
		SEP	#00010000B	;index 8 bit mode
		RTS
;
;-------------- enemy status data set ---------------------------
ERD010		EQU	$
		SEC
		SBC	#ENEND
		BCC	ERD018		;特殊モード？ ( no:ERD018 )
;
;-------------- 特殊モードセット ------------------------
		JSR	ESINSR_S
		BCC	ERD022
		JMP	ERD060
;
;-------------- 敵セット --------------------------------
ERD018		EQU	$
		LDA	SP_SCRL_FG
		BEQ	ERD019		;スクロール基準特殊？ ( no:ERD019 )
;
		TXY
		LDA	>EDSRBF,X
		ASL	A
		TAX
		LDA	>ENMODE1,X
		TYX
		AND	#0110000000000000B
		BNE	ERD019		;敵？ ( no:ERD019 )
;
		LDA	SP_SCRL_FG
		INC	A
		BEQ	ERD022		;スクロール基準特殊解除？ ( yes:ERD022 )
;
;-------------- スクロール基準特殊時の敵のセットキャンセルチェック
		LDA	>EDSRBF+2,X
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		SEC
		SBC	PLXPSL
		CLC
		ADC	#060H
		CMP	#060H*2+1
		BCS	ERD019		;セットＯＫ？ ( yes:ERD019 )
;
		LDA	>EDSRBF+4,X
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		SEC
		SBC	PLYPSL
		CLC
		ADC	#060H
		CMP	#060H*2+1
		BCC	ERD022		;セットＯＫ？ ( no:ERD022 )
;
ERD019		EQU	$
		LDY	#(ENNO-1)*4
ERD020		EQU	$
		LDA	ENMODE,Y
		BEQ	ERD030
		DEY
		DEY
		DEY
		DEY
		CPY	#((1+1+4)*4)
		BCS	ERD020
;
ERD022		EQU	$
		TXY			;(X) save
;
		MI8
;
		LDA	>EDSRBF+6,X
		TAX
		LDA	#00
		STA	>EDSWBF,X
;
		MI16
;
		TYX			;(X) load
		JMP	ERD060
;
ERD030		EQU	$
		LDA	>EDSRBF+2,X
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		STA	ENXPSL,Y
		LDA	>EDSRBF+4,X
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		STA	ENYPSL,Y
		LDA	#0000
		STA	ENCOLD,Y
		STA	ENXSPD,Y
		STA	ENYSPD,Y
		STA	ENCONT,Y
		STA	ENEMU0,Y	;[ & STA ENXSDR,Y ]
		STA	ECRSFG,Y	;[ & STA ENCRPT,Y ]
		STA	ENWRK0,Y	;[ & STA ENWRK1,Y ]
		STA	ENWRK2,Y	;[ & STA ENWRK3,Y ]
		STA	ENWRK4,Y	;[ & STA ENWRK5,Y ]
		STA	ENWRK6,Y	;[ & STA ENWRK7,Y ]
		STA	ENWRK8,Y	;[ & STA ENWRK9,Y ]
		STA	ENWRKA,Y	;[ & STA ENWRKB,Y ]
		STA	ENWRKC,Y	;[ & STA ENWRKD,Y ]
		STA	ENTIM0,Y
		STA	ENTIM1,Y
		STA	ENTIM2,Y
		STA	ENTIM3,Y
		STA	ENCHPT,Y
		STA	ENCBFG,Y
		STA	ENSLOP,Y	;[ & STA EN_ADD_XSP,Y ]
		STA	ENSHOT,Y
		STA	ENBGYP,Y
		STA	ENDSXL,Y
		STA	ENDSYL,Y
		STA	ENXPOW,Y
		STA	ENXMAX,Y
		STA	ENWRKX,Y	;[ & STA ENSPTM,Y ]
		DEC	A		;[ LDA #0FFFFH ]
		STA	ENOAML,Y
		STA	ENTROB,Y
		LDA	#0FFH+(((100H/8)-1)*100H)
		STA	ENWATR,Y
		LDA	>EDSRBF,X
		STA	ENMYNO,Y
		PHX
		ASL	A
		TAX
;
		M8
;
		PHY			;(Y) save
;
		LDA	>ENCHR_BNK,X	;(A) <-- 敵キャラクターバンク
		LDY	#6
ERD032		EQU	$
		CMP	OBJCHR_BNK-1,Y
		BEQ	ERD034		;自分のキャラクターバンク有り？ ( yes:ERD034 )
		DEY
		BNE	ERD032
		TYA			;[ LDA #0 ]
		BRA	ERD036
;
ERD034		EQU	$
		TYA
;;;;		    CLC			;[ * CMP : (Z)=(C) ]
		ADC	#(8-1)-1	;[ 8 --> 8*4*8 = 100H ]
		ASL	A		;[ 9 --> 9*4*8 = 120H ]
		ASL	A		;[	   "          ]
;
ERD036		EQU	$
;
		M16
;
		AND	#00FFH
		PLY			;(Y) load
		STA	ENCHRB,Y	;[ & STA ENYSDR,Y ]
;
		LDA	>ENDATA0+1,X
		AND	#00FFH
		EOR	#0020H		;pri. initial set
		STA	ENCLOR,Y
		LDA	>ENDATA0,X
		AND	#00FFH
		STA	ENYUSN,Y
		LDA	>ENDATA1-1,X
		AND	#0FF00H
		BPL	ERD040
		ORA	#00FFH
ERD040		EQU	$
		XBA
		STA	ENGPOW,Y
		LDA	>ENDATA1,X
		AND	#0FF00H
		BPL	ERD050
		ORA	#00FFH
ERD050		EQU	$
		XBA
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		STA	ENGMAX,Y
		LDA	>ENMODE2,X
		STA	ENMOD2,Y
		LDA	>ENMODE1,X
		STA	ENMOD1,Y
		LDA	>ENMODE0,X
		STA	ENMOD0,Y
		AND	#001FH
		ASL	A
		ASL	A
		ASL	A
		TAX
		LDA	>ENCRDT,X
		STA	ECNTXW,Y
		LDA	>ENCRDT+2,X
		STA	ECNTYW,Y
		LDA	>ENCRDT+4,X
		STA	EWIDEX,Y
		LDA	>ENCRDT+6,X
		STA	EWIDEY,Y
		PLX
		LDA	SCHMK1		;muki set
		STA	ENMUKI,Y
		LDA	#EINIT
		STA	ENMODE,Y
		LDA	>EDSRBF+6,X
		STA	ENRETN,Y	;[ & STA ENDORE,Y ]
;
ERD060		EQU	$
		TXA
		CLC
		ADC	#0008H
		TAX
		JMP	ERD000
;
;＊湧きだしフラグ
;
		MEM16
		IDX8
ESINSR		EQU	$
		PHB
		PHK
		PLB

		SEC
		SBC	#ENEND
		I16
		JSR	ESINSR_S
		I8

		LDA	#000FFH
		STA	ESRETN,Y

		PLB
		RTL
;
		MEM16
		IDX16
ESINSR_S	EQU	$
;
;-------------- 特殊モードセット ------------------------
		PHX			;(X) save
;
		LDY	#(ESNO-1)*2
ESINSR_S012	EQU	$
		LDX	ESMODE,Y
		BEQ	ESINSR_S014	;空きあり？ ( yes:ESINSR_S014 )
		DEY
		DEY
		BPL	ESINSR_S012
;
		PLX
		CLC
		RTS
;
;-------------- 特殊モード初期セット ------------
ESINSR_S014	EQU	$
		INC	A		;[ １〜 ]
		STA	ESMODE,Y
		ASL	A
		PLX			;(X) load
		PHX			;(X) save
		PHA			;(A) save
		LDA	>EDSRBF+6,X
		STA	ESRETN,Y
		LDA	>EDSRBF+2,X
		STA	EWORK0		;(EWK0,1) <-- セットＸ位置
		LDA	>EDSRBF+4,X
		STA	EWORK2		;(EWK2,3) <-- セットＹ位置
		PLA			;(A) load
		TAX
		JSR	(!ESINIT,X)
;
		PLX			;(X) load
		SEC
		RTS
;
		IDX8
;
;************************************************************************
;*		enemy main						*
;************************************************************************
;
ENEMY_IN	EQU	$
		PHB			;(DBR) save
		PHK			;(DBR) <-- (PBR)
		PLB
		PHD			;(D) save
;
		M16
;
		LDA	#EN0RAM		;(D) <-- enemy 0 page
		TCD
		BRA	ENMFFF
;
ENEMY		EQU	$
		PHB			;(DBR) save
		PHK			;(DBR) <-- (PBR)
		PLB
		PHD			;(D) save
;
		M16
;
		LDA	#EN0RAM		;(D) <-- enemy 0 page
		TCD
;
;-------------- enemy data read ---------------------------------
		JSR	ENDTRD		;enemy data read
;
ENMFFF		EQU	$
		LDA	ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BNE	ENM000		;enemy stop ? ( yes:ENM000 )
;
;-------------- frame counter set -------------------------------
		INC	<FRCNT2
;
;-------------- pos calculate -----------------------------------
		M_CHIP	XYMOVE
;
ENM000		EQU	$
;
;-------------- BG check ----------------------------------------
;
;-------------- サウンドフラグ入れ替え ------------------
		STZ	MSOUND3
;
		LDA	#ENBGCK_DATA	;BG check point data buffer start pointer set
		STA	>ENBGCK_DATA_P
		M_CHIPS M_ENBGCK	;BG check
;
;-------------- cross check -------------------------------------
		LDA	#008H		;player cross check data set
		STA	PWIDEX
		CLC
		ADC	PLXPSL
		STA	PCENTX
		LDA	#0CH
		LDX	PLTYPE		;(X) <-- プレイヤータイプ
		CPX	#P_TRAIN
		BNE	ENM001		;汽車プレイヤー？ ( no:ENM001 )
;
;-------------- 汽車衝突サイズセット --------------------
		LDY	PTR_MODE
		BEQ	ENM002		;レールモード？ ( no:ENM002 )
;
		LDA	#04H
		STA	PWIDEX
		STA	PWIDEY
		LDA	#0FFH
		LDY	PLCMKI
		BEQ	ENM0000
		LSR	A		;[ LDA #07FH ]
ENM0000		EQU	$
		EOR	PTR_ANGL
		INC	A
		TAY			;(Y) <-- 回転角度
		LDA	#014H+1		;(A) <-- 中心までのＹ距離＋１
		BRA	ENM0028
;
ENM001		EQU	$
		LDY	PLSITD
		BEQ	ENM002		;しゃがんでる？ ( no:ENM002 )
;
		LDA	#06H
ENM002		EQU	$
		STA	PWIDEY
		CPX	#P_MARIO
		BNE	ENM003		;マリオ？ ( no:ENM003 )
		LDY	PMR_BGCF
		BEQ	ENM003		;ソニックモード？ ( no:ENM003 )
;
;-------------- マリオ衝突サイズセット ------------------
		INC	PWIDEY
		LDA	PMR_ANGL
		LDY	PLCMKI
		BNE	ENM0020
		EOR	#0FFH
		INC	A
ENM0020		EQU	$
		TAY			;(Y) <-- 回転角度
		LDA	#020H+1		;(A) <-- 中心までのＹ距離＋１
ENM0028		EQU	$
		STA	R4		;(R4) <-- 中心までのＹ距離＋１
		TYA			;[ * AND #00FFH ]
		STA	R1		;(R1) <-- 回転角度
		M_CHIP	MARIO_SIZEST
		BRA	ENM0030
;
ENM003		EQU	$
		SEC
		SBC	#020H
		EOR	#0FFFFH
		INC	A
		CLC
		ADC	PLYPSL		;player cross check center Y pos set
		STA	PCENTY
;
ENM0030		EQU	$
		M_CHIP	ENCROSS		;cross check
;
;-------------- サウンドフラグセット --------------------
		LDA	MSOUND3
		BEQ	ENM004		;サウンドセット？ ( no:ENM004 )
;
		JSL	>SOUND_3_ON
ENM004		EQU	$
;
;------------------------------------------------------------------------
;-		効果							-
;------------------------------------------------------------------------
		JSL	>EXSTRA		;kouka
;
;------------------------------------------------------------------------
;-		敵							-
;------------------------------------------------------------------------
		LDA	SP_SCRL_FG
		DEC	A		;[ * 0 or < 0 ]
		BMI	ENM012		;スクロール基準特殊？ ( no:ENM012 )
;
		LDA	#-8H
		STA	SP_SCRL_FG	;スクロール基準特殊フラグ”ＯＦＦ”
;
ENM012		EQU	$
		STZ	POLYINFG	;BG3 polygon 1st check flag "ON" !!
		STZ	ONLFXS		;lift on X speed clear !!
;
		LDA	#0FFFFH
		STA	ENEATFG
;
		LDX	#(ENNO-1)*4
ENM020		EQU	$
		LDA	ENMODE,X
		BEQ	ENM021		;敵健在？ ( no:ENM021 )
;
		STX	<ENINDX
;
		PHB			;(DBR) save
;
;----------------------------------------------------------------
;-		random set					-
;----------------------------------------------------------------
		LDY	2137H
		LDY	213FH
		LDA	213CH
;;;;		    CLC
		ADC	<RANDM0
		STA	<RANDM0
;----------------------------------------------------------------
;
		JSL	>ENMAIN
		PLB			;  "   load
;
ENM021		EQU	$
		DEX
		DEX
		DEX
		DEX
		BPL	ENM020
;
;------------------------------------------------------------------------
;		特殊モード						-
;------------------------------------------------------------------------
;
		LDY	BAMBO_ST_FG	;ばんぶーダンサーズいる ?
		BEQ	ENM028		;  no: ENM028

		LDY	BAMBO_TIMER
		CPY	#030H
		BMI	ENM022

		STZ	BAMBO_TIMER

ENM022		EQU	$
		INC	BAMBO_TIMER

ENM028		EQU	$
		I16
;
		LDY	#(ESNO-1)*2
ENM030		EQU	$
		LDA	ESMODE,Y
		BEQ	ENM040		;セットあり？ ( no:ENM040 )
;
		ASL	A
		TAX
		JSR	(!ESMOVE,X)
ENM040		EQU	$
		DEY
		DEY
		BPL	ENM030
;
		I8
;
;------------------------------------------------------------------------
;-		スクロール基準特殊解除モード				-
;------------------------------------------------------------------------
SP_SCRL_RETN	EQU	$
		LDA	SP_SCRL_FG
		BPL	SP_SCRL_RETN_01 ;スクロール基準特殊解除？ ( no:SP_SCRL_RETN_01 )
;
		LDA	MSGMOD
		BNE	SP_SCRL_RETN_00 ;メッセージ表示中？ ( yes:SP_SCRL_RETN_00 )
;
;;;;		    JSL	    >SP_SCRL_PSTOPST ;[ (Y) <-- ＳＴＯＰ”ＯＮ／ＯＦＦ”フラグ ]
;
		INC	SP_SCRL_FG
		BPL	SP_SCRL_RETN_02 ;ウェイト？ ( no:SP_SCRL_RETN_02 )
;
		LDA	PLDSXL
		CMP	#LEFT_X+030H
		BMI	SP_SCRL_RETN_00 ;プレイヤー左端オーバー？ ( yes:SP_SCRL_RETN_00 )
		CMP	#RIGHT_X-030H
		BPL	SP_SCRL_RETN_00 ;プレイヤー右端オーバー？ ( yes:SP_SCRL_RETN_00 )
		LDA	PLDSYL
		CMP	#UP_Y+030H
		BMI	SP_SCRL_RETN_00 ;プレイヤー上端オーバー？ ( yes:SP_SCRL_RETN_00 )
		CMP	#LOW_Y-030H
		BPL	SP_SCRL_RETN_00 ;プレイヤー下端オーバー？ ( yes:SP_SCRL_RETN_00 )
		JMP	SP_SCRL_RETN_22
;
SP_SCRL_RETN_00 EQU	$
		LDA	#01H
		STA	PLSTFG		;プレイヤーＳＴＯＰ！！
		STA	ENSTFG		;敵ＳＴＯＰ！！
;
;;;;		    LDA	    #01H
		STA	ATSCRL_H	;オートスクロールフラグ”ＯＮ”
		STA	ATSCRL_V
;
		LDA	SCCH1		;スクロール復帰用オートスクロールカウンターセット
		STA	ATSCRL_SCCH1
		LDA	SCCV1
		STA	ATSCRL_SCCV1
SP_SCRL_RETN_01 EQU	$
		JMP	SP_SCRL_RETN_30
;
SP_SCRL_RETN_02 EQU	$
		DEC	SP_SCRL_FG
;
SP_SCRL_RETN_04 EQU	$
;;;;		    STA	    ENSTFG	    ;敵ＳＴＯＰフラグ”ＯＮ／ＯＦＦ”セット
;
;;;;		    LDA	    #01H
;;;;		    STA	    ATSCRL_H	    ;オートスクロールフラグ”ＯＮ”
;;;;		    STA	    ATSCRL_V
;
		LDA	SP_SCRL_RET_H
		STA	R1		;(R1) <-- 目標Ｘ座標
		LDA	SP_SCRL_RET_V
		STA	R2		;(R2) <--  ” Ｙ ”
		LDA	ATSCRL_SCCH1
		STA	R3		;(R3) <-- 現在Ｘ ”
		LDA	ATSCRL_SCCV1
		STA	R4		;(R4) <--  ” Ｙ ”
		LDA	#0600H
		STA	R6		;(R6) <-- サーチスピード
		M_CHIP	SEARCH_SPEED
;
		LDA	R1
		STA	ATSCRL_XSPD	;Ｘスピードセット
		LDA	R2
		STA	ATSCRL_YSPD	;Ｙ	 ”
;
		I16
;
		JSR	ATSCRL_XYCL	;Ｘ，Ｙ座標計算
;
		I8
;
		LDA	SP_SCRL_RET_H
		SEC
		SBC	ATSCRL_SCCH1
		BEQ	SP_SCRL_RETN_10 ;プレイヤーのＸ位置に帰った？ ( yes:SP_SCRL_RETN_10 )
		EOR	ATSCRL_XSPD
		BPL	SP_SCRL_RETN_30 ;	       ”	      ( no:SP_SCRL_RETN_30 )
;
		LDA	SP_SCRL_RET_H	;Ｘ座標補正
		STA	ATSCRL_SCCH1
;
SP_SCRL_RETN_10 EQU	$
		LDA	SP_SCRL_RET_V
		SEC
		SBC	ATSCRL_SCCV1
		BEQ	SP_SCRL_RETN_20 ;プレイヤーのＹ位置に帰った？ ( yes:SP_SCRL_RETN_20 )
		EOR	ATSCRL_YSPD
		BPL	SP_SCRL_RETN_30 ;	       ”	      ( no:SP_SCRL_RETN_30 )
;
		LDA	SP_SCRL_RET_V	;Ｙ座標補正
		STA	ATSCRL_SCCV1
;
;-------------- プレイヤースクロールへ戻る ----------------------
SP_SCRL_RETN_20 EQU	$
		JSL	>SCRL_CXY_SET	;スクロール基準セット
SP_SCRL_RETN_22 EQU	$
		STZ	SP_SCRL_FG
		STZ	PLSTFG
		STZ	ENSTFG
		STZ	ATSCRL_H	;オートスクロールフラグ”ＯＦＦ”
		STZ	ATSCRL_V
;
SP_SCRL_RETN_30 EQU	$
;
		M8
;
		PLD
		PLB
		RTL
;
		MEM16
;
;------------------------------------------------------------------------
;-		スクロール基準特殊モード座標計算			-
;------------------------------------------------------------------------
SP_SCRL_XYMOVE	EQU	$
		LDA	SP_SCRL_XSP-1
		AND	#0FF00H
		CLC
		ADC	SP_SCRL_XSDR
		STA	SP_SCRL_XSDR	;(C) set
;
		LDA	SP_SCRL_XSP
		AND	#0FF00H
		BPL	SP_SCRL_XYMV_10
		ORA	#00FFH
SP_SCRL_XYMV_10 EQU	$
		XBA
		ADC	SP_SCRL_XPS
		STA	SP_SCRL_XPS
;
		LDA	SP_SCRL_YSP-1
		AND	#0FF00H
		CLC
		ADC	SP_SCRL_YSDR
		STA	SP_SCRL_YSDR	;(C) set
;
		LDA	SP_SCRL_YSP
		AND	#0FF00H
		BPL	SP_SCRL_XYMV_20
		ORA	#00FFH
SP_SCRL_XYMV_20 EQU	$
		XBA
		ADC	SP_SCRL_YPS
		STA	SP_SCRL_YPS
		RTS
;
;************************************************************************
;*		enemy mode select					*
;************************************************************************
ENMAIN		EQU	$
		LDA	ENXPSL,X
		STA	ENXP2L
		LDA	ENYPSL,X
		STA	ENYP2L
;
		LDA	ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BNE	ENS050		;enemy stop ? ( yes:ENS050 )
;
		LDA	ENTIM0,X
		BEQ	ENS020
		DEC	ENTIM0,X
ENS020		EQU	$
		LDA	ENTIM1,X
		BEQ	ENS030
		DEC	ENTIM1,X
ENS030		EQU	$
		LDA	ENTIM2,X
		BEQ	ENS040
		DEC	ENTIM2,X
ENS040		EQU	$
		LDA	ENTIM3,X
		BEQ	ENS050
		DEC	ENTIM3,X
;
ENS050		EQU	$
		LDY	ENSPTM,X
		BEQ	ENS060
		DEC	ENSPTM,X
ENS060		EQU	$
;
		LDY	ENMODE,X
		LDA	!EMDADR,Y
		PHA
		RTS
;
EMDADR		EQU	$-2
EM02		WORD	ENINIT-1
EM04		WORD	ENINIT-1
EM06		WORD	ENCHNG-1
EM08		WORD	ENEATM-1
EM0A		WORD	ENNOSE-1
EM0C		WORD	ENFALL-1
EM0E		WORD	ENFAIL-1
EM12		WORD	ENMOVE-1
EM16		WORD	ENFIRE-1
;- - - - - - - - - - - - - - - -
ENNOTH		EQU	$
RTLSUB		EQU	$
		RTL
;- - - - - - - - - - - - - - - -
EINIT		EQU	EM02-EMDADR
ERINT		EQU	EM04-EMDADR
ECHNG		EQU	EM06-EMDADR
EEATM		EQU	EM08-EMDADR
ENOSE		EQU	EM0A-EMDADR
EFALL		EQU	EM0C-EMDADR
EFAIL		EQU	EM0E-EMDADR
EMOVE		EQU	EM12-EMDADR
EFIRE		EQU	EM16-EMDADR
;
;************************************************************************
;*		enemy intial mode					*
;************************************************************************
ENRINT		EQU	$
		PHK			;(DBR) <-- (PBR)
		PLB
;
ENINIT		EQU	$
		LDA	#EMOVE		;next goto move !!
		STA	ENMODE,X
		LDA	ENMYNO,X
		ASL	A		;[ (C) <-- 0 : =<32767 ]
		ADC	ENMYNO,X
;
		I16
;
		TAY
		LDA	!EINADR,Y
		STA	<EWORK
		LDA	!EINADR+2,Y
		STA	<EWORK+2
;
		I8
;
		TAY
		PHY			;(DBR) <-- (PBR)
		PLB
		JML	(EWORK)
;
;************************************************************************
;*		enemy move mode						*
;************************************************************************
ENMOVE		EQU	$
		LDA	ENMYNO,X
		ASL	A		;[ (C) <-- 0 : =<32767 ]
		ADC	ENMYNO,X
;
		I16
;
		PHX
		TAX
		LDA	>EMVADR,X
		STA	<EWORK
		LDA	>EMVADR+2,X
		STA	<EWORK+2
		PLX
;
		I8
;
		TAY
		PHY			;(DBR) <-- (PBR)
		PLB
		JML	(EWORK)
;
;************************************************************************
;*		enemy eat mode						*
;************************************************************************
EATMXS		EQU	0500H
KINOMI_BON_XSP	EQU	$
		WORD	0FF00H,00100H
;
EATOF_HOSEI	EQU	$
		WORD	0FFFEH,00002H
;
EAT_SHOT_XHS	EQU	$
; PLCMKI -->		 [0]	[2]	;[BERFLG]
		WORD	0000CH,0FFF4H	;[1]
		WORD	00000H,00000H	;[3]
EAT_SHOT_YHS	EQU	$
		WORD	0FFFCH,0FFFCH	;[1]
		WORD	0FFFAH,0FFFAH	;[3]
;
ENEATM		EQU	$
		JSL	>ENMOVE		;OAM set
		LDA	ENMOD2,X	;範囲外クリアー無しセット
		AND	#1111111111110011B
		STA	ENMOD2,X
;
		PHK			;(DBR) <-- (PBR)
		PLB
;
		LDA	ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BEQ	EAT0FE		;enemy stop ? ( no:EAT0FE )
		RTL
;
EAT0FE		EQU	$
		LDY	#0
		LDA	EATOFX
		BEQ	EAT0FE2
		BPL	EAT0FE0
		LDY	#2
EAT0FE0		EQU	$
		CLC
		ADC	!EATOF_HOSEI,Y
		STA	EATOFX
		EOR	!EATOF_HOSEI,Y
		BMI	EAT0FE2
		STZ	EATOFX
;
EAT0FE2		EQU	$
		LDY	#0
		LDA	EATOFY
		BEQ	EAT0FE6
		BPL	EAT0FE4
		LDY	#2
EAT0FE4		EQU	$
		CLC
		ADC	!EATOF_HOSEI,Y
		STA	EATOFY
		EOR	!EATOF_HOSEI,Y
		BMI	EAT0FE6
		STZ	EATOFY
;
EAT0FE6		EQU	$
		LDA	BRCNTX		;eat enemy X pos set
		CLC
		ADC	EATOFX
		SEC
		SBC	#08H
		STA	ENXPSL,X
		LDA	BRCNTY		;     "    Y    "
		CLC
		ADC	EATOFY
		SEC
		SBC	#08H
		STA	ENYPSL,X
;
		LDA	BERXPS
		ORA	BERYPS
		BEQ	EAT010		;eat end ? ( yes:EAT010 )
EAT0FF		EQU	$
		RTL
;
;-------------- enemy clear -----------------------------
EAT010		EQU	$
;
		M8
;
		LDA	#0FFH
		STA	ENYUSN,X
		LDA	EATSTP
		BNE	EAT0100		;eat stop ? ( yes:EAT0100 )
		JMP	EAT020
;
;-------------- eat stop -----------------------
EAT0100		EQU	$
;
		M16
;
;;;;		    JSL	    >TROBJ_CLEAR_CHK
;
		LDA	EATFLG
		BNE	EAT01000	;now eat stop ? ( yes:EAT01000 )
		JMP	EAT0102
;
EAT01000	EQU	$
		LDA	ENMYNO,X
		CMP	#EGG00
		BCC	EAT01001	;egg eat ? ( no:EAT01001 )
		CMP	#EGG09+1
		BCS	EAT01001	;	    "
;
		JMP	>EGGKILL
;
EAT01001	EQU	$
		LDY	#01
		CMP	#FIRE0
		BEQ	EAT01002	;fire kun ? ( yes:EAT01002 )
		CMP	#VOWVW		;火種 ?
		BEQ	EAT010010	;
		CMP	#VOWV2		;
		BEQ	EAT010010	;
		CMP	#ZBUB0		;
		BEQ	EAT010010	; yes: EAT010010
		CMP	#ZBUB1		;
		BNE	EAT010011	;  no: EAT010011

EAT010010	EQU	$
		STZ	ENCHPT,X
		BRA	EAT01002

EAT010011	EQU	$
		INY			;[ LDY #02 ]
		CMP	#SOPB0
		BEQ	EAT01002	;soap bable ? ( yes:EAT01002 )
		INY
		CMP	#SUIKA
		BEQ	EAT01002	;スイカ？ ( yes:EAT01002 )
		INY
		CMP	#COLD0
		BNE	EAT0FF		;凍らせ？ ( no:EAT0FF )
;
;-------------- fire shot flag "ON" ----
EAT01002	EQU	$
		STY	EATSPF		;スペシャルショットフラグセット
		LDA	#30		;スイカの種数セット
		LDY	ENCHPT,X
		BEQ	EAT01004	;噛りスイカ？ ( no:EAT01004 )
		LDA	#10		;スイカの種数セット（小）
EAT01004	EQU	$
		STA	SUIKA_NO
		STZ	EATSPC		;	”	   カウンターセット
;;;;		    LDA	    #03H+010H	    ;	    ”	       タイマーセット
		LDA	#010H		;	”	   タイマーセット
		STA	EATSPT
		STA	PLSTFG		;プレイヤーＳＴＯＰ
		STA	ENSTFG		;敵ＳＴＯＰ
		JMP	>ENCLEAR_NORETN ;enemy clear !!
;
EAT0102		EQU	$
		LDA	PSHOTM
		CMP	#04H-1
		BCC	EAT0104		;shot timming ? ( yes:EAT0104 )
		JMP	EAT012
;
EAT0104		EQU	$
;
;-------------- ショットＢＧチェック ----------------------------
		LDA	BERFLG
		DEC	A
		ASL	A
		ORA	PLCMKI
		TAY
		LDA	ENXPSL,X
		CLC
		ADC	!EAT_SHOT_XHS,Y
		STA	ENXPSL,X
		CLC
		ADC	#08H
		STA	R8		;(R8) <-- ＢＧチェックＸ座標
		LDA	ENYPSL,X
		CLC
		ADC	!EAT_SHOT_YHS,Y
		STA	ENYPSL,X
		CLC
		ADC	#08H
		STA	R0		;(R0) <-- ＢＧチェックＹ座標
		PHY			;(Y) save
		M_CHIPR M_BGUNIT_READ
		PLY			;(Y) load
		LDX	<ENINDX
;
		LDA	R7
		AND	#AL+SK
		BEQ	EAT0106		;ＢＧ当たり？ ( no:EAT0106 )
;
;-------------- ショットキャンセル ----------------------
		LDA	EATSTP
		STA	EATFLG
		STZ	BERFLG		;舌ショットフラグリセット
		RTL
;
EAT0106		EQU	$
		STZ	BERFLG		;舌ショットフラグリセット
		STZ	EATSTP		;
;
		LDA	ENMYNO,X
;		CMP	#MATO0			;まとくん ?
;		BNE	EAT0108			;  no: EAT0108
;
;		JSL	>MATO0_TO_MOVE
;		JMP	EAT011F10
;
;EAT0108		EQU	$
		CMP	#HEIH0			;ヘイホー、地下ヘイホー、草かげヘイホー ?
		BEQ	EAT0109			;
		CMP	#CHKH0			;
		BEQ	EAT0109			; yes: EAT0109
		CMP	#KUSAH			;
		BEQ	EAT0109			; yes: EAT0109
		CMP	#GABON			;
		BNE	EAT010A			;  no: EAT010A

EAT0109		EQU	$
		CPY	#04			;上向きショット ?
		BCS	EAT01090		; yes: EAT01090

		LDA	PLCMKI
		EOR	#02
		STA	ENMUKI,X
		STZ	ENXSPD,X
		JSL	>HEIH0_TO_GURU
		JMP	EAT011F10

EAT01090	EQU	$
		LDA	#0000111010000001B	;ＢＧチェック有り
		STA	ENMOD1,X		;
		LDA	ENCLOR,X		;すべてのＢＧの前に
		ORA	#00020H			;
		STA	ENCLOR,X		;

		STZ	<ENWRK2,X
		BRA	EAT0112
;
EAT010A		EQU	$
		CMP	#GEROZ			;ゲロゾー ?
		BNE	EAT010B			;  no: EAT010B

		JSL	>GEROZ_TO_FALL
		JMP	EAT011F10

EAT010B		EQU	$
		CMP	#KOROG			;ころがりくん ?
		BNE	EAT010C			;  no: EAT010C

		STZ	ENSHOT,X
		LDA	#00010H			;プレイヤーチェックロックタイマーセット
		STA	ENTIM2,X		;
		LDA	#00002
		STA	ENCHPT,X
		STA	<ENWRK2,X
		JMP	EAT011F10
;
EAT010C		EQU	$
		CPY	#04
		BCS	EAT0112		; 上向きショット？ [yes->EAT0112]
;
;;;;;;;;		LDA	ENMYNO,X
		CMP	#GSTH0
		BNE	EAT011		; 幽霊ヘイホー ? [no->EAT011]
;
		PHY
		JSL	>EAT011F1
		PLY
;
;-------------- 幽霊ヘイホー初期セット --------------------------
		STY	<EWORK
		JSL	>TROBJ_CLEAR_CHK
;
		JSL	>TROBJ_SR_2x2
;
		LDY	#00
		STY	<ENWRK4,X
		LDY	<EWORK
;[1995.06.17.SA]			PHY				; (Y) Save !!
		PHB
		LDA	#BANK GSTH0_CHRST
		XBA
		PHA
		PLB
		PLB				; DBR Set !!
;
		PHY
		JSL	>GSTH0_CHRST
		PLY
;
		JSL	>GSTH0_CRCRINST
;
		PLB				; DBR Reset !!
;[1995.06.17.SA]			PLY				; (Y) Load !!
;
		RTL
;[1995.06.17.SA]		BRA	EAT011F1		; [->EAT011F1]
;
EAT011		EQU	$
		CMP	#MSHIH
		BNE	EAT0112			; ムーンサルトヘイホー？ [no->EAT0112]
;
		PHY
		JSL	>EAT011F1
		PLY
;
;[1995.06.17.SA]		PHY				; (Y) Save !!
		PHB
		LDY	#BANK MSHIHCHRST
		PHY
		PLB				; DBR Set !!
		JSL	>MSHIHCHRST
;
		PLB				; DBR Reset !!
;[1995.06.17.SA]		PLY				; (Y) Load !!
;
		M8				; memory 8bit mode !!
;
		STZ	!ENWRKB,X
;
		M16				; memory 16bit mode !!
;
		RTL
;[1995.06.17.SA]		BRA	EAT011F1		; [->EAT011F1]
;
EAT0112		EQU	$
;-------------- normal shot ---------------------
;
;-------------- 転送エリア確保 ------------------
;
		I16
;
		LDA	ENMYNO,X
		ASL	A
		TAX
		LDA	>ETCADR,X
;
		I8
;
		LDX	<ENINDX
		CMP	#00
		BEQ	EAT011F		;bitmap chara nothing ? ( yes:EAT011F )
;
		PHP			;(N) save
;
		JSL	>TROBJ_CLEAR_CHK
;
		PLP			;(N) load
		BMI	EAT011E		;2x2 size ? ( no:EAT011E )
;
		JSL	>TROBJ_SR_2x2
		BCC	EAT011F		;ズームＯＢＪエリア空き無し？ ( yes:EAT011F )
		LDA	#01H*100H	;ズームＯＢＪパターンＮｏ．セット（２×２）
		ORA	ENCHPT,X
		STA	ENCHPT,X
		BRA	EAT011F
;
EAT011E		EQU	$
		JSL	>TROBJ_SR_4x4
		BCC	EAT011F		;ズームＯＢＪエリア空き無し？ ( yes:EAT011F )
		LDA	#02H*100H	;ズームＯＢＪパターンＮｏ．セット（４×４）
		ORA	ENCHPT,X
		STA	ENCHPT,X
;
EAT011F		EQU	$
		STZ	<ENWRK0,X	;bound flag set
		STZ	<ENCONT,X	;rotation angle reset !!
		LDA	#0400H
		STA	ENGMAX,X	;max G power set
		LDA	#040H
		STA	ENGPOW,X	;G power set
		STZ	ENXPOW,X
		LDA	ENMOD1,X	;ヨコＢＧ当たりで反転！！
		AND	#1111100000111111B
		ORA	#0000000001000000B
		STA	ENMOD1,X
;
EAT011F1	EQU	$
		LDA	#020H
		STA	ENSHOT,X	;enemy shot flag "ON" !! [ 020H:食べれないタイマー ]

EAT011F10	EQU	$
;
;-------------- 敵サーチショットスピードセット --
		LDX	<ENINDX
		LDA	PLNAGX
		EOR	PLXSPD
		ASL	A		;(C) <-- (N)
		LDA	PLNAGX
		BCS	EAT011F2
;;;;		    CLC
		ADC	PLXSPD
EAT011F2	EQU	$
		STA	ENXSPD,X	;ショットＸスピードセット
		LDA	PLNAGY
		SEC
		SBC	#0400H-0100H
		BPL	EAT011F4
		LDA	#00H
EAT011F4	EQU	$
		SEC
		SBC	#0200H
		ADC	PLNAGY
		STA	ENYSPD,X	;ショットＹスピードセット
		LDA	PLCMKI
		EOR	#02H
		STA	ENMUKI,X	;muki set
;
EAT0200		EQU	$
		LDA	#04H		;[♪]
		JSL	>SOUND_3_ON
;
ENEAT_CANCEL	EQU	$
		LDA	#EMOVE
		STA	ENMODE,X	;return to normal move
		LDA	#00FFH
		ORA	ENWATR,X
		STA	ENWATR,X	;水中フラグ初期セット
;
		TXY
;
		I16
;
		LDA	ENMYNO,Y
		ASL	A
		TAX
		LDA	>ENDATA0,X
		AND	#00FFH
		STA	ENYUSN,Y
		LDA	ENMYNO,Y
		CMP	#PONTA
		BNE	ENEAT_CANCEL_10 ;プチプチ君？ ( no:ENEAT_CANCEL_10 )
;
;-------------- プチプチボス用チェック --------------------------
		LDA	ENWRKA,Y
		BNE	ENEAT_CANCEL_20 ;プチプチボス用？ ( yes:ENEAT_CANCEL_20 )
;
ENEAT_CANCEL_10 EQU	$
		LDA	>ENMODE2,X
ENEAT_CANCEL_20 EQU	$
		AND	#00001100B
		ORA	ENMOD2,Y
		STA	ENMOD2,Y
;
		I8
;
		TYX
;
EAT012		EQU	$
		RTL
;
;-------------- eat end set --------------------
;
		MEM8
;
EAT020		EQU	$
SCOREST		EQU	$
;
		M16
;
		LDA	GOAL_IN
		ORA	GOAL_BOSS_CLEAR
		BEQ	EAT021		;コースクリアー？ ( no:EAT021 )
;
		JMP	>ENCLEAR_NORETN
;
EAT021		EQU	$
		PHB			;(DBR) save
		PHK			;(DBR) <-- (PBR)
		PLB
;
		LDA	BERFLG
		BEQ	EAT022		;eat end ? ( yes:EAT022 )
;
		CMP	#EATEGGEND+7-(4*3)
		BCS	EAT022		;タマゴセット？ ( yes:EAT022 )
		JMP	EAT040
;
EAT022		EQU	$
		LDA	ENMOD1,X
;;;;		    AND	    #1000000000000000B
		BPL	EAT022F		;タマゴ産む？ ( yes:EAT022F )
;
		JMP	EAT028
;
;-------------- タマゴ産む ----------------------
EAT022F		EQU	$
		JSL	>PONTA_CHECK	;ぷちぷちくんカウントチェック
;
;-------------- サウンドセット座標セット --------
		LDA	#03BH
		JSL	>SOUND_XYST	;[♪]
;
		JSL	>TROBJ_CLEAR_CHK
;
		LDA	ENMYNO,X
		CMP	#FBOM0
		BNE	EAT0222		;爆弾風船？ ( no:EAT0222 )
;
;-------------- 爆弾風船特殊産み ----------------
		JSL	>ENCLEAR_NORETN
		LDA	#EG1UP		;(A) <-- 敵Ｎｏ．
		TXY			;(Y) <-- 敵インデックス
		JSL	>ENINSR2	;敵変更
		LDY	PLCMKI
		LDA	!KINOMI_BON_XSP,Y
		STA	ENXSPD,X
		LDA	#0FE00H
		STA	ENYSPD,X
		BRA	EAT026
;
EAT0222		EQU	$
		CMP	#WATAB
		BNE	EAT0224		;ワタボー？ ( no:EAT0224 )
;
;-------------- ワタボー”プ〜”モード初期セット -
		JMP	WATAB_PUUUU_IN
;
EAT0224		EQU	$
		CMP	#DEBU0
		BEQ	EAT023		;デブホー？ ( yes:EAT023 )
;
		JSL	>BBROS_CHECK
;
		LDA	#EGG03		;(A) <-- 敵Ｎｏ．
		LDY	DSPMOD
		CPY	#0DH
		BNE	EAT024		;ゲロゲーロの胃袋？ ( no:EAT024 )
;
EAT023		EQU	$
		LDA	#EGG09		;(A) <-- 敵Ｎｏ．
EAT024		EQU	$
		STZ	ENMODE,X
		TXY
		JSL	>ENINSR2
		LDA	#EMOVE
		STA	ENMODE,X
		JSL	>EGGSET
		LDA	#-EGG_OP_INJMP+2
		STA	<ENWRK2,X
;
EAT026		EQU	$
		LDA	PLXPSL
		STA	ENXPSL,X
		LDA	PLYPSL
		CLC
		ADC	#010H
		STA	ENYPSL,X
		LDA	PLCMKI
		STA	ENMUKI,X
;
		PLB
		RTL
;
EAT028		EQU	$
		LDA	ENMYNO,X
		CMP	#TIMKN
		BNE	EAT031		;タイムくん？ [no->EAT031]
;
		LDA	#09H		;[♪]
		JSL	>SOUND_3_ON
;
		LDA	!ENXPSL,X
		STA	WORK0
		LDA	!ENYPSL,X
		STA	WORK2
		LDA	#3
		STA	WORK4
		JSL	>SCORE_SET
;
		LDA	!TIMCNT_UP
		CLC
		ADC	#0010
		STA	!TIMCNT_UP
		LDA	#60*2+0010	;強制ＯＢＪタイマー表示！！
		STA	OBJ_TIMER_DISP
		BRA	EAT03180

EAT031		EQU	$
		CMP	#COIN1		;オブジェコイン ?
		BNE	EAT03170	;  no: EAT03170
;
		LDA	ENCLOR,X
		BIT	#00000010B	;(A) <-- コインカラー
		BEQ	EAT03100	;青コイン？ ( no:EAT03100 )
;
		LDA	#00093H
		INC	CORS_COIN
		LDY	CORS_COIN
		CPY	#014H
		BMI	EAT031000

		INC	A
;;;;;;;;		LDA	#00094H

EAT031000	EQU	$
;;;;;;;;		LDA	#018H		;[♪]
		JSL	>SOUND_3_ON
		BRA	EAT03110
;
EAT03100	EQU	$
		LDA	#09H		;[♪]
		JSL	>SOUND_3_ON
EAT03110	EQU	$
		JSL	>EX_COIN_SET_3
		JSL	>COIN_CATCH
		BRA	EAT032
;
EAT03170	EQU	$
		CMP	#M_TAM
		BNE	EAT03180	;ミニゲームコイン？ ( no:EAT03180 )
;
		LDA	#09H		;[♪]
		JSL	>SOUND_3_ON
;
		INC	SPECIAL_P	;[ ※ミニゲーム用 ]
;
EAT03180	EQU	$
		JSL	>ENDEATH_SET_2	;敵の死亡セット
EAT032		EQU	$
		JSL	>ENCLEAR_NORETN
;
EAT040		EQU	$
		PLB
		RTL
;
;------------------------------------------------------------------------
;-		ワタボー”プ〜”モード初期セット			-
;------------------------------------------------------------------------
;
;-------------- ワタボーけむりセットＸ補正値 ----------------------------
WATAB_BON_XA	EQU	$
; PLCMKI ->		 [0]	[2]
		WORD	0FFF8H,00018H
;
WATAB_PUUUU_IN	EQU	$
		LDA	#00021H		;[♪]
		JSL	>SOUND_3_ON
;
		LDA	#00400H
		STA	FURA_FG
		LDA	#03H
		STA	BG2OF_FG
		LDA	#010H
		STA	BIRIBIRI
;
		JSL	>ENCLEAR
		LDA	#PUUUU		;(A) <-- 敵Ｎｏ．
		TXY
		JSL	>ENINSR2	;敵エリア確保
		LDA	#040H		;”プ〜”モードタイマーセット
		STA	ENTIM0,X
		LDA	#01H		;ショットフラグセット
		STA	ENSHOT,X
;
		LDY	PLCMKI
		LDA	PLXPSL
		CLC
		ADC	!WATAB_BON_XA,Y
		STA	ECENTX,X
		SEC
		SBC	#08H
		STA	ENXPSL,X
		LDA	PLYPSL
		CLC
		ADC	#010H
		STA	ECENTY,X
		SEC
		SBC	#08H
		STA	ENYPSL,X
;
		PLB
;
FSMK0_SET_S	EQU	$
		LDA	#FSMK0		;(A) <-- 効果Ｎｏ．
		JSL	>EXINSR		;効果エリア確保
		LDA	ECENTX,X
		STA	EXXPSL,Y
		LDA	ECENTY,X
		STA	EXYPSL,Y
		LDA	#04H
		STA	EXTIM0,Y
		LDA	#06H
		STA	EXCHPT,Y
		STA	EXWRK0,Y
		RTL
;
;************************************************************************
;*		ワタボー”プ〜”アタック				*
;************************************************************************
PUUUUMV		EQU	$
		LDA	ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BEQ	PUUUUMV_010	;enemy stop ? ( no:PUUUUMV_010 )
		RTL
;
PUUUUMV_010	EQU	$
		LDA	ENTIM0,X
		BNE	PUUUUMV_020	;ワタボー”プ〜”終了？ ( no:PUUUUMV_020 )
		JMP	ENCLEAR
;
PUUUUMV_020	EQU	$
		LDY	ECRSFG,X
		DEY
		BMI	PUUUUMV_050	;敵と衝突？ ( no:PUUUUMV_050 )
;
;-------------- 敵と衝突 ------------------------
		LDA	ENMODE,Y
		CMP	#EMOVE
		BNE	PUUUUMV_050	;enemy move ? ( no:PUUUUMV_050 )
;
		LDA	ENCOLD,Y
		BEQ	PUUUUMV_030	;凍ってる？ ( no:PUUUUMV_020 )
;
		TYX
		JSL	>ICECL_SET
		LDX	<ENINDX
		RTL
;
PUUUUMV_030	EQU	$
		LDA	ENMOD0,Y
		AND	#0000000000100000B
		BNE	PUUUUMV_050	;shot enemy cross ok ? ( no:EMDC060 )
;
;-------------- 敵を蹴散らす --------------------
		TYX
		JSL	>ENDEATH_SET_4	;敵を蹴散らしセット
		LDX	<ENINDX
;
PUUUUMV_050	EQU	$
		RTL
;
;************************************************************************
;*		enemy fall mode						*
;************************************************************************
ENFALL		EQU	$
		JSL	>ENMOVE		;OAM set
;
ENFALL_END	EQU	$
		JSL	>ENCLEAR	;敵の死亡終了セット
		TXY
		JMP	>FSMK2_SET
;
ENFALL_010	EQU	$
		RTL
;
;************************************************************************
;*		enemy fall fail						*
;************************************************************************
EGG00_FALL	EQU	$
		JSL	>EGG00_COL_SET	;赤コインタマゴカラーセット
;
ENFAIL0		EQU	$
ENFAIL_FALL	EQU	$
		JSL	>ENMOVE		;OAM set
;
		LDA	ENMOD2,X	;範囲クリアーサイズセット
		AND	#1111111111110011B
		ORA	#0000000000000100B
		STA	ENMOD2,X
;
		LDA	ENCLOR,X
		ORA	#10000000B	;Ｖフリップセット
		AND	#11001111B
		ORA	#00100000B	;ＢＧ優先順位セット
		LDY	ENWATR,X
		DEY
		BPL	ENFAIL_FALL_010 ;水中？ ( yes:ENFAIL_FALL_010 )
		ORA	#00110000B
ENFAIL_FALL_010 EQU	$
		STA	ENCLOR,X
		STZ	ENYUSN,X
;
		LDA	#040H		;重力セット
		STA	ENGPOW,X
		LDA	#0400H
		STA	ENGMAX,X
;
		LDA	ENMOD0,X	;敵との衝突チェック無しセット
		AND	#1111100111111111B
		STA	ENMOD0,X
		LDA	ENMOD1,X	;ＢＧチェック無しセット
		AND	#1111111111100000B
		STA	ENMOD1,X
		RTL
;
;************************************************************************
;*		大クッパバクダンでヤラレタ飛んでる敵落下		*
;************************************************************************
KPBOM_FAL_XMX	EQU	$
		WORD	0FF80H,0080H
;
KPBOM_FALL	EQU	$
		LDA	ENDSYL,X
		CMP	#0F0H
		BMI	KPBOM_FALL_0050 ;終了？ ( no:KPBOM_FALL_0050 )
		JMP	>ENCLEAR
;
KPBOM_FALL_0050 EQU	$
		LDY	#0
		LDA	ENXPSL,X
		CMP	<ENWRK0,X
		BPL	KPBOM_FALL_0060
		LDY	#2
KPBOM_FALL_0060 EQU	$
		LDA	!KPBOM_FAL_XMX,Y
		STA	ENXMAX,X
		RTL
;
;************************************************************************
;*		火で燃えたモード					*
;************************************************************************
ENFIRE		EQU	$
		JSL	>ENMOVE		;OAM set
;
		LDA	#0000000001100000B
		STA	ENMOD0,X	;衝突チェック無しセット
		LDA	ENMOD1,X	;ＢＧチェック無しセット
		AND	#1111111111100000B
		STA	ENMOD1,X
		LDA	ENMOD2,X
		AND	#1111111111110011B
		ORA	#0000000000000100B
		STA	ENMOD2,X	;範囲クリアーサイズセット
		LDA	ENCLOR,X
		AND	#11001111B
		ORA	#00100000B	;ＢＧ優先順位セット
		LDY	ENWATR,X
		DEY
		BPL	ENFIRE_0010 ;水中？ ( yes:ENFIRE_0010 )
		ORA	#00110000B
ENFIRE_0010	EQU	$
		STA	ENCLOR,X
		STZ	ENYUSN,X
;
		LDA	#040H		;重力セット
		STA	ENGPOW,X
		LDA	#0400H
		STA	ENGMAX,X
;
		LDA	ENTIM0,X
		BNE	ENFIRE_0050	;けむりセット？ ( no:ENFIRE_0050 )
;
		LDA	#08H
		STA	ENTIM0,X
;
		LDA	#DSMK0		;(A) <-- 効果Ｎｏ．
		JSL	>EXINSR		;効果エリア確保
		LDA	ENXPSL,X
		STA	EXXPSL,Y	;Ｘ座標セット
		LDA	ENYPSL,X
		STA	EXYPSL,Y	;Ｙ座標セット
		LDA	#05H
		STA	EXWRK0,Y	;初期カウンターセット
		LDA	#05H
		STA	EXCHPT,Y	;初期パターンＮｏ．セット
		LDA	#04H
		STA	EXTIM0,Y	;初期タイマーセット
		LDA	#0FE80H
		STA	EXYSPD,Y	;上昇スピードセット
;
ENFIRE_0050	EQU	$
		RTL
;
;************************************************************************
;*		enemy fail mode						*
;************************************************************************
ENFAIL		EQU	$
		LDA	ENMYNO,X
		ASL	A		;[ (C) <-- 0 : =<32767 ]
		ADC	ENMYNO,X
;
		I16
;
		TAY
		LDA	!EFLADR,Y
		STA	<EWORK
		LDA	!EFLADR+2,Y
		STA	<EWORK+2
;
		I8
;
		TAY
		PHY			;(DBR) <-- (PBR)
		PLB
		JML	(EWORK)
;
;----------------------------------------------------------------
;-		VS enemy "Doon" set				-
;----------------------------------------------------------------
DON0ST		EQU	$
		LDA	DOONTM
		BNE	DONS010		;set timming ? ( no:DONS010 )
;
		LDA	#10H
		STA	DOONTM
;
DON0ST2		EQU	$
		LDA	#0CH		;[♪]
		JSL	>SOUND_3_ON
;
		LDA	#DOON0		;(A) <-- exstra no.
		JSL	>EXINSR		;exstra index search
		LDA	ECROSX,X
		CMP	#8000H
		ROR	A
		CLC
		ADC	ECENTX,X
		SEC
		SBC	#08H
		STA	EXXPSL,Y	;X pos set
		LDA	ECROSY,X
		CMP	#8000H
		ROR	A
		CLC
		ADC	ECENTY,X
		SEC
		SBC	#08H
;
DONS000		EQU	$
		STA	EXYPSL,Y	;Y pos set
;
		LDA	#5
		STA	EXTIM0,Y	;timer set
;
DONS010		EQU	$
		RTL
;
;----------------------------------------------------------------
;-		VS player "Doon" set				-
;----------------------------------------------------------------
PDON0ST		EQU	$
		LDY	#0CH		;[♪] (Y) <-- サウンドフラグ
PDON0ST_2	EQU	$
		LDA	DOONTM
		BNE	DONS010		;set timming ? ( no:DONS010 )
;
		TYA			;[♪]
		JSL	>SOUND_3_ON
;
		LDA	#10H
		STA	DOONTM
;
		LDA	#DOON0		;(A) <-- exstra no.
		JSL	>EXINSR		;exstra index search
		LDA	EPWIDX,X
		CMP	#8000H
		ROR	A
		CLC
		ADC	PLXPSL
		STA	EXXPSL,Y	;X pos set
		LDA	EPWIDY,X
		CMP	#8000H
		ROR	A
		CLC
		ADC	PWIDEY
		CLC
		ADC	PLYPSL
		BRA	DONS000
;
;************************************************************************
;*		enemy nose mode						*
;************************************************************************
NOSWT		EQU	10H
;
ENNOSE		EQU	$
		JSL	>ENMOVE		;OAM set
;
		PHK			;(DBR) <-- (PBR)
		PLB
;
;;;;		    LDA	    ENSTFG
;;;;		    BEQ	    ENOS000	    ;enemy stop ? ( no:ENOS000 )
;;;;		    RTL
;;;;;
;;;;ENOS000	    EQU	    $
		STZ	ENXSPD,X
		STZ	ENYSPD,X
;
		LDA	ENTIM3,X
		BEQ	ENOS20		;sit down wait ? ( no:ENOS20 )
;
;-------------- player nose sit down ----------------------------
		LDA	#NOSWT
		SEC
		SBC	ENTIM3,X
		LSR	A
		INC	A
		CMP	#04
		BCC	ENOS10
		LDA	#03
ENOS10		EQU	$
		CMP	PLSITD
		BCC	ENOS20		;sit down set ok ? ( no:ENOS20 )
		STA	PLSITD
;
ENOS20		EQU	$
;
		I16
;
		LDY	PLPATN
		LDA	!BABY_AD_Y-1,Y
		AND	#0FF00H
		BPL	ENOS22
		ORA	#00FFH
ENOS22		EQU	$
		XBA
		CLC
		ADC	PLYPSL
		STA	ENYPSL,X	;Y pos set
;
		LDA	!BABY_AD_X,Y
		LDY	PLYUSN		;プレイヤー消えてる ?
		DEY			;
		BMI	ENOS30		; yes: ENOS30
		LDY	#04H
		AND	#040H
		BEQ	ENOS30		;優先順位プレイヤーの前？ ( no:ENOS30 )
		LDY	#02H
ENOS30		EQU	$
		M8
		TYA
		STA	ENYUSN,X
		M16
;
		LDY	PLPATN
		LDA	!BABY_AD_X-1,Y
		AND	#0BF00H
		BPL	ENOS40
		ORA	#040FFH
ENOS40		EQU	$
		XBA
		LDY	PLCMKI
		BNE	ENOS50
		EOR	#0FFFFH
		INC	A
ENOS50		EQU	$
		CLC
		ADC	PLXPSL
		STA	ENXPSL,X	;X pos set
		LDA	PLCMKI
		STA	ENMUKI,X	;muki set
;
		I8
;
;-------------- enemy nose move select --------------------------
		LDA	ENMYNO,X
		ASL	A		;[ (C) <-- 0 : =<32767 ]
		ADC	ENMYNO,X
;
		I16
;
		TAY
		LDA	!ENSADR,Y
		STA	<EWORK
		LDA	!ENSADR+2,Y
		STA	<EWORK+2
;
		I8
;
		TAY
		PHY			;(DBR) <-- (PBR)
		PLB
		JML	(EWORK)
;
;------------------------------------------------------------------------
;-		止まってる敵とプレイヤーとの衝突チェック		-
;------------------------------------------------------------------------
STOP_EPCRCK	EQU	$
		LDY	ECRSFG,X
		BPL	STOP_EPCRCK_010 ;プレイヤーと当たった？ ( no:STOP_EPCRCK_010 )
;
		JSL	>PLCRMKCK	;プレイヤー衝突位置チェック
		TYX			;(X) <-- プレイヤーとの衝突位置
		JSR	(!EFALL_INIT,X)
;
STOP_EPCRCK_010 EQU	$
		RTL
;
;----------------------------------------------------------------
;-		敵の落下死の初期セットルーチンテーブル		-
;----------------------------------------------------------------
EFALL_INIT	EQU	$
		WORD	EFALL_INIT_0	;[0] 右
		WORD	EFALL_INIT_1	;[2] 左
		WORD	EFALL_INIT_2	;[4] 頭
		WORD	EFALL_INIT_3	;[6] 足
;
;----------------------------------------------------------------
;-		敵の落下死の初期セット（右、左）		-
;----------------------------------------------------------------
EFALL_INIT_0	EQU	$
EFALL_INIT_1	EQU	$
		LDX	<ENINDX
EFALL_INIT_SD	EQU	$
		STZ	ENXPOW,X
;
		LDA	PLXSPD
		ASR16
		STA	PLXSPD
		LDA	PLXSPD
		ASR16
		STA	ENXSPD,X
		BMI	EFALL_INIT_0_10
		EOR	#0FFFFH
		INC	A
EFALL_INIT_0_10 EQU	$
		CLC
		ADC	#0FCC0H
		STA	ENYSPD,X
;
EFAIL_COLDCK	EQU	$
		LDA	ENCOLD,X
		BNE	EFAIL_COLDCK_30 ;凍ってる？ ( yes:EFAIL_COLDCK_30 )
;
		JSL	>FSMK0_SET3
		RTS
;
;-------------- 氷になった敵の崩れるセット ----------------------
EFAIL_COLDCK_30 EQU	$
		JSL	>ICECL_SET
		RTS
;
;----------------------------------------------------------------
;-		敵の落下死の初期セット（頭）			-
;----------------------------------------------------------------
EFALL_INIT_2	EQU	$
		LDX	<ENINDX
EFALL_INIT_HD	EQU	$
		STZ	ENXPOW,X
;
		LDA	EPWIDX,X
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		STA	ENXSPD,X
		LDA	PLYSPD
		BPL	EFALL_INIT_2_10
		STZ	PLYSPD
;
EFALL_INIT_2_10 EQU	$
		CMP	#0FC00H
		BMI	EFALL_INIT_2_20
		LDA	#0FC00H
EFALL_INIT_2_20 EQU	$
		STA	ENYSPD,X
		BRA	EFAIL_COLDCK
;
;----------------------------------------------------------------
;-		敵の落下死の初期セット（足）			-
;----------------------------------------------------------------
EFALL_INIT_3	EQU	$
		LDX	<ENINDX
EFALL_INIT_FT	EQU	$
		STZ	ENXPOW,X
;
		STZ	ENXSPD,X
		STZ	ENYSPD,X
 IF  JPN | NES ;**** 日本 or NES 対応 [1995/6/30] ****************
		LDA	#0FC00H		;player Y speed set
 ELSE	       ;**** PAL 対応 [1995/7/20] ************************
		LDA	#0FB76H		;player Y speed set
 ENDIF
		STA	PLYSPD
		LDA	#01H+8000H
		STA	PLSPJP		;ジタバタジャンプフラグ”ＯＮ”
		BRA	EFAIL_COLDCK
;
;************************************************************************
;*									*
;*		他のものに変わるモード					*
;*									*
;************************************************************************
;
ENCHNG		EQU	$
		JSL	>KUMOB_SET	;雲セット
		JSL	>ENMOVE		;OAM set
		PHK			;(DBR) <-- (PBR)
		PLB
;
;-------------- 他のものに変える！！ ------------------------------------
		LDA	#03BH		;[♪]
		JSL	>SOUND_3_ON
;
;;;;		    LDA	    ENMYNO,X
;;;;		    PHA			    ;return enemy no. save
;
		M8
;
		LDA	ENRETN,X
		PHA			;return enmey data pointer save
		LDA	#0FFH
		STA	ENRETN,X
;
		M16
;
		JSL	>ENCLEAR	;敵クリアー
;
		LDA	EN_SP_WRK0,X	;(A) <-- enemy no.
		BPL	ECHG_FFF	;効果コインセット？ ( no:ECHG_FFF )
;
;-------------- 効果コインセット --------------------------------
		LDA	#00000100B	;(A) <-- コインカラー
		JSL	>EX_COIN_SET
;
		PLY			;[ pull ]
		LDA	#09H		;[♪]
		JMP	>SOUND_3_ON
;
ECHG_FFF	EQU	$
		TXY			;(Y) <-- set enemy index
		JSL	>ENINSR2_I
;
		M8
;
		PLA
		STA	ENRETN,X	;return enemy data pointer load
;
		M16
;
;;;;		    PLA
;;;;		    STA	    EN_SP_WRK0,X    ;return enemy no. set
		LDA	ENMYNO,X
		CMP	#COIN1
		BNE	ECHG_000	;ＹスピードセットＯＫ？ ( no:ECHG_000 )
;
		LDA	#0FD00H
		STA	ENYSPD,X	;Ｙスピードセット
ECHG_000	EQU	$
		RTL
;
;************************************************************************
;*		enemy clear set						*
;************************************************************************
DISPCK4		EQU	$		;check only!!!
		LDA	ENDSXL,X
		CLC
		ADC	#00100H
		CMP	#0100H+(0100H*2)
		BCS	D_CHK4010	;X pos display ? ( no:D_CHK4010 )
		LDA	ENDSYL,X
		CLC
		ADC	#00100H
		CMP	#0E0H+(0100H*2) ;Y pos display ?

D_CHK4010	EQU	$
		RTL
;
DISPCK3		EQU	$		;check only!!!
		LDA	ENDSXL,X
		CLC
		ADC	#080H
		CMP	#0100H+(080H*2)
		BCS	D_CHK3010	;X pos display ? ( no:D_CHK3010 )
		LDA	ENDSYL,X
		CLC
		ADC	#080H
		CMP	#0E0H+(080H*2) ;Y pos display ?

D_CHK3010	EQU	$
		RTL
;
DISPCK2		EQU	$		;check only!!!
		LDA	ENDSXL,X
		CLC
		ADC	#040H
		CMP	#0100H+(040H*2)
		BCS	D_CHK2010	;X pos display ? ( no:D_CHK2010 )
		LDA	ENDSYL,X
		CLC
		ADC	#040H
		CMP	#0E0H+(040H*2) ;Y pos display ?

D_CHK2010	EQU	$
		RTL
;
DISPCK1		EQU	$
		LDA	ENDSXL,X
		CLC
		ADC	#080H
		CMP	#0100H+(080H*2)
		BCS	ENCLEAR_CK	 ;X pos display ? ( no:ENCLEAR_CK )
		LDA	ENDSYL,X
		CLC
		ADC	#080H
		CMP	#0E0H+(080H*2)
		BCS	ENCLEAR_CK	;Y pos display ? ( no:ENCLEAR_CK )
		BRA	ECLR10
;
DISPCK0		EQU	$
		LDA	ENDSXL,X
		CLC
		ADC	#040H
		CMP	#0100H+(040H*2)
		BCS	ENCLEAR_CK	;X pos display ? ( no:ENCLEAR_CK )
		LDA	ENDSYL,X
		CLC
		ADC	#040H
		CMP	#0E0H+(040H*2)
		BCC	ECLR10		;Y pos display ? ( yes:ECLR10 )
;
ENCLEAR_CK	EQU	$
		LDA	SP_SCRL_FG
		BEQ	ENCLEAR		;スクロール基準特殊？ ( no:ENCLEAR )
;
		TXA
		LSR	A
		LSR	A
		TAY
		LDA	SP_SCRL_SVENFG,Y
		BNE	ECLR10		;状態保存？ ( yes:ECLR10 )
;
ENCLEAR		EQU	$
;
		M8
;
		PHX
;
		LDA	ENRETN,X
		TAX
		LDA	#00
		STA	>EDSWBF,X
;
		PLX
;
		M16
;
ENCLEAR_NORETN	EQU	$
		STZ	ENMODE,X
ENCLEAR_NORETN2 EQU	$
		LDA	#00FFH
		STA	ENYUSN,X
		LDY	ENTROB,X
		BMI	ECLR00		;転送エリア使用？ ( no:ECLR00 )
;
		LDA	TROBJ_SIZE,Y
		TRB	TROBJ_ARIA

ECLR00		EQU	$
		CPX	PONLFFG
		BNE	ECLR08

		STZ	PONLFFG

ECLR08		EQU	$
		SEC
ECLR10		EQU	$
		RTL
;
;************************************************************************
;*		enemy area search					*
;*			in  : (A) <-- enemy no.				*
;*			out : (C) <-- 0:area nothing			*
;*				1:find (Y) <- index			*
;************************************************************************
ENINSR_I	EQU	$
		LDY	#(ENNO-1)*4
ENINSR2_I	EQU	$
		PHA
ENIS00		EQU	$
		LDA	ENMODE,Y
		BEQ	ENIS02		;area find ? ( yes:ENIS02 )
		DEY
		DEY
		DEY
		DEY
		CPY	#((1+1+4)*4)
		BCS	ENIS00
		PLA
		CLC
		RTL
;
ENIS02		EQU	$
		LDA	#EINIT
		BRA	ENIS21
;
ENINSR		EQU	$
		LDY	#(ENNO-1)*4
ENINSR2		EQU	$
		PHA
ENIS10		EQU	$
		LDA	ENMODE,Y
		BEQ	ENIS20		;area find ? ( yes:ENIS20 )
		DEY
		DEY
		DEY
		DEY
		CPY	#((1+1+4)*4)
		BCS	ENIS10
		PLA
		CLC
		RTL
;
ESTATST		EQU	$
		PHA
		BRA	ENIS22
;
ENIS20		EQU	$
		LDA	#EMOVE
ENIS21		EQU	$
		STA	ENMODE,Y
		LDA	#00FFH
		STA	ENRETN,Y	;[ & STA ENDORE,Y ]
		LDA	#0000
		STA	ENMUKI,Y
		STA	ENCOLD,Y
		STA	ENWRKA,Y
		STA	ENWRKC,Y
;
ENIS22		EQU	$
		LDA	#0000
		STA	ENXSPD,Y
		STA	ENYSPD,Y
		STA	ENCONT,Y
		STA	ENEMU0,Y	;[ & STA ENXSDR,Y ]
		STA	ECRSFG,Y	;[ & STA ENCRPT,Y ]
		STA	ENWRK0,Y	;[ & STA ENWRK1,Y ]
		STA	ENWRK2,Y	;[ & STA ENWRK3,Y ]
		STA	ENWRK4,Y	;[ & STA ENWRK5,Y ]
		STA	ENWRK6,Y	;[ & STA ENWRK7,Y ]
		STA	ENWRK8,Y	;[ & STA ENWRK9,Y ]
		STA	ENTIM0,Y
		STA	ENTIM1,Y
		STA	ENTIM2,Y
		STA	ENTIM3,Y
		STA	ENCHPT,Y
		STA	ENCBFG,Y
		STA	ENSLOP,Y	;[ & STA EN_ADD_XSP,Y ]
		STA	ENSHOT,Y
		STA	ENBGYP,Y
		STA	ENDSXL,Y
		STA	ENDSYL,Y
		STA	ENXPOW,Y
		STA	ENXMAX,Y
		STA	ENWRKX,Y	;[ & STA ENSPTM,Y ]
		DEC	A		;[ LDA #0FFFFH ]
		STA	ENOAML,Y
		STA	ENTROB,Y
		LDA	#0FFH+(((100H/8)-1)*100H)
		STA	ENWATR,Y
		PLA
		STA	ENMYNO,Y
		PHX
		ASL	A
;
		I16
;
		TAX
;
		M8
;
		PHY			;(Y) save
;
		LDA	>ENCHR_BNK,X	;(A) <-- 敵キャラクターバンク
		LDY	#6
ENIS24		EQU	$
		CMP	OBJCHR_BNK-1,Y
		BEQ	ENIS26		;自分のキャラクターバンク有り？ ( yes:ENIS26 )
		DEY
		BNE	ENIS24
		TYA			;[ LDA #0 ]
		BRA	ENIS28
;
ENIS26		EQU	$
		TYA
;;;;		    CLC			;[ * CMP : (Z)=(C) ]
		ADC	#(8-1)-1	;[ 8 --> 8*4*8 = 100H ]
		ASL	A		;[ 9 --> 9*4*8 = 120H ]
		ASL	A		;[	   "          ]
;
ENIS28		EQU	$
;
		M16
;
		AND	#00FFH
		PLY			;(Y) load
		STA	ENCHRB,Y	;[ & STA ENYSDR,Y ]
		LDA	>ENDATA0+1,X
		AND	#00FFH
		EOR	#0020H		;pri. initial set
		STA	ENCLOR,Y
		LDA	>ENDATA0,X
		AND	#00FFH
		STA	ENYUSN,Y
		LDA	>ENDATA1-1,X
		AND	#0FF00H
		BPL	ENIS30
		ORA	#00FFH
ENIS30		EQU	$
		XBA
		STA	ENGPOW,Y
		LDA	>ENDATA1,X
		AND	#0FF00H
		BPL	ENIS40
		ORA	#00FFH
ENIS40		EQU	$
		XBA
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		STA	ENGMAX,Y
		LDA	>ENMODE2,X
		STA	ENMOD2,Y
		LDA	>ENMODE1,X
		STA	ENMOD1,Y
		LDA	>ENMODE0,X
		STA	ENMOD0,Y
		AND	#001FH
		ASL	A
		ASL	A
		ASL	A
		TAX
		LDA	>ENCRDT,X
		STA	ECNTXW,Y
		LDA	>ENCRDT+2,X
		STA	ECNTYW,Y
		LDA	>ENCRDT+4,X
		STA	EWIDEX,Y
		LDA	>ENCRDT+6,X
		STA	EWIDEY,Y
;
		I8
;
		PLX
		SEC
		RTL
;
;************************************************************************
;*		プレイヤー１ｕｐセット					*
;************************************************************************
PL_3UP_SET	EQU	$
		LDA	#3		;(A) <-- 3up
		BRA	PL_UP_SET
;
PL_1UP_SET_P	EQU	$
		LDA	ENXPSL,X
		STA	WORK0		;(WK0,1) <-- セットＸ座標
		LDA	ENYPSL,X
		STA	WORK2		;(WK2,3) <-- セットＹ座標
;
PL_1UP_SET	EQU	$
		LDA	#1		;(A) <-- 1up
;
PL_UP_SET	EQU	$
		STA	WORK4		;(WK4) <-- player count-up no
;
		CLC
		ADC	PLCONT		;player count-up !!
		STA	PLCONT
		LDA	WORK4
		CLC
		ADC	PLUPCT
		STA	PLUPCT
;
		LDA	#08H		;[♪]
		JSL	>SOUND_3_ON
;
		LSR	WORK4		;(WK4) <-- pattern no. [ 0,1,2 <-- 1,3,5 ]
;
SCORE_SET	EQU	$
		LDA	#SCORE		;(A) <-- exstra no.
		JSL	>EXINSR		;exstra index search
;;;;		    STA	    EXCHPT,Y	    ;pattern no. set
		LDA	WORK0
		STA	EXXPSL,Y	;X pos set
		LDA	WORK2
		STA	EXYPSL,Y	;Y pos set
		LDA	WORK4
		STA	EXCHPT,Y	;pattern no. set
		LDA	#040H
		STA	EXTIM0,Y	;wait timer set
		LDA	#0FF00H
		STA	EXYSPD,Y	;Y speed set
		RTL
;
EX_COIN_SET	EQU	$
		STA	!WORK6
		LDA	!ENXPSL,X
		STA	!WORK0
		LDA	!ENYPSL,X
EX_COIN_SET_2	EQU	$
		STA	!WORK2
		LDA	#COINX		;(A) <-- exstra no.
		JSL	>EXINSR		;exstra index search
;
		LDA	!WORK0
		STA	!EXXPSL,Y	; Ｘポジションセット！！
		LDA	!WORK2
		STA	!EXYPSL,Y	; Ｙポジションセット！！
		LDA	!EXCLOR,Y
		ORA	!WORK6
		STA	!EXCLOR,Y	; アトリビュートセット！！
		LDA	#040H
		STA	!EXTIM0,Y	; タイマーセット！！
		LDA	#0FE80H
		STA	!EXYSPD,Y	; Ｙスピードセット！！
;
EX_COIN_SET_3	EQU	$
		INC	COIN_CNT	;コインカウンターｕｐ
		LDA	COIN_CNT
		CMP	#100
		BCC	EX_COIN_SET_010 ;１ｕｐ？ ( no:EX_COIN_SET_010 )
;
;-------------- １ｕｐ ------------------------------------------
		JSL	>PL_1UP_SET
		LDA	#0FE40H		;ちょっと高く！
		STA	EXYSPD,Y
;
		STZ	COIN_CNT
EX_COIN_SET_010 EQU	$
		RTL
;
;************************************************************************
;*		enemy X search						*
;*			in  : (Y)    <-- serach enemy index		*
;*			out : (Y)(A) <-- muki 0:left 2:right		*
;*			      (EWK6) <-- ABS( scale )			*
;*			      (EWK8) <-- scale				*
;************************************************************************
EEXCHK		EQU	$
		LDA	ENXPSL,Y
		LDY	#00
		SEC
		SBC	ENXPSL,X
		STA	<EWORK+8
		BPL	EEX010
		EOR	#0FFFFH
		INC	A
		LDY	#02
EEX010		EQU	$
		STA	<EWORK+6
		TYA
		RTL
;
;************************************************************************
;*		enemy Y search						*
;*			in  : (Y)     <-- serach enemy index		*
;*			out : (Y)(A)  <-- muki 0:down 2:up		*
;*			      (EWK12) <-- ABS( scale )			*
;*			      (EWK14) <-- scale				*
;************************************************************************
EEYCHK		EQU	$
		LDY	#00
		LDA	ENYPSL,Y
		SEC
		SBC	ENYPSL,X
		STA	<EWORK+14
		BPL	EEY010
		EOR	#0FFFFH
		INC	A
		LDY	#02
EEY010		EQU	$
		STA	<EWORK+12
		TYA
		RTL
;
;************************************************************************
;*		enemy X,Y search					*
;*			in  : (Y)    <-- serach enemy index		*
;*			out : (Y)(A) <-- muki 0:left 2:right		*
;*					      4:down 6:up		*
;*			      (EWK4)  <-- X muki			*
;*			      (EWK6)  <-- ABS( X scale )		*
;*			      (EWK8)  <-- X scale			*
;*			      (EWK10) <-- Y muki			*
;*			      (EWK12) <-- ABS( Y scale )		*
;*			      (EWK14) <-- Y scale			*
;************************************************************************
EEXYCK		EQU	$
		PHY
		JSL	>EEYCHK
		STY	<EWORK+10
		PLY
		JSL	>EEXCHK
		STY	<EWORK+4
		LDA	<EWORK+6
		CMP	<EWORK+12
		BCS	EEXY10		;X search ? ( yes:EEXY10 )
		LDY	<EWORK+10
		INY
		INY
		INY
		INY
EEXY10		EQU	$
		TYA
		RTL
;
;************************************************************************
;*		X speed down sub					*
;************************************************************************
XSDWDT		EQU	$
		WORD	0FF40H,000C0H	;[0]
		WORD	0FFA0H,00060H	;ショットされた敵の減速
;
XSDOWN2		EQU	$
		TXY
		LDX	#04
		BRA	XSD008

XSDOWN		EQU	$
		TXY
		LDX	#00

XSD008		EQU	$
		LDA	ENXSPD,Y
		BEQ	XSD020
		BPL	XSD010
		INX
		INX
XSD010		EQU	$
		CLC
		ADC	>XSDWDT,X
		STA	ENXSPD,Y
		EOR	>XSDWDT,X
		BMI	XSD020
		LDA	#00
		STA	ENXSPD,Y
XSD020		EQU	$
		TYX
		RTL
;
;
;************************************************************************
;*									*
;*		敵のＯＢＪ衝突チェック					*
;*									*
;************************************************************************
EPCRCK_S	EQU	$
		JSL	>EPCRCK
		RTL
;
EPCRCK		EQU	$
		LDY	ECRSFG,X
		BEQ	EPCRTL2		;player or enemy cross ? ( no:EPCRTL2 )
;
		BPL	EPC100		;VS player cross ? ( no:EPC100 )
;
;-------------- プレイヤーと衝突！！ ------------------------------------
EPCRCK_P	EQU	$
		LDA	ENCOLD,X
		BEQ	EPC000		;凍ってる？ ( no:EPC000 )
;
		PLA			;pull pull return !!
		PLY
		JMP	>ICECL_SET
;
EPC000		EQU	$
		LDA	EPWIDY,X
		SEC
		SBC	PWIDEY
		SEC
		SBC	EWIDEY,X
		CMP	#0FFF6H
		BCC	EPC020		;foot cross ? ( yes:EPC020 )
;
;-------------- プレイヤーが踏んだ ------------------------------
		TXY
		LDX	#06H*2		;(X) <-- 上に乗る
		LDA	PLYSPD
		BMI	EPC010		;上昇中？ ( yes:EPC010 )
;
		LDA	ENMOD0+1,Y
		AND	#00111000B
		LSR	A
		LSR	A
		TAX
EPC010		EQU	$
		JSR	(!PL_FUNDA,X)
		PLA			;pull pull return !!
		PLY
;
EPCRTL		EQU	$
		RTL
;
EPCRTL2		EQU	$
		CPX	PONLFFG			;プレイヤーに乗られてた ?
		BNE	EPCRTL2800		;  no: EPCRTL2800

		STZ	PONLFFG

EPCRTL2800	EQU	$
		RTL
;
;-------------- プレイヤーと横当たり ----------------------------
EPC020		EQU	$
		LDA	ENMOD0,X
		AND	#0011100000000000B
		CMP	#0010100000000000B
		BEQ	EPC024		;ダッシュプレイヤーチェックＯＫ？ ( no:EPC024 )
;
;-------------- ダッシュプレイヤー敵、蹴散らしチェック --
		LDA	PLDASH
		BNE	EPC024		;プレイヤーダッシュ溜め中？ ( yes:EPC024 )
		LDA	PLXSPD
		BPL	EPC022
		EOR	#0FFFFH
		INC	A
EPC022		EQU	$
		CMP	#0400H
		BCC	EPC024		;プレイヤーダッシュ中？ ( no:EPC024 )
;
		PLA			;pull pull return !!
		PLY
		JSR	EFALL_INIT_SD
		RTL
;
EPC024		EQU	$
		LDA	ENMOD0,X
		AND	#1100000000000000B
		ASL	A
		ROL	A
		ROL	A
		ASL	A
		TAX
		JSR	(!SIDE_CROSS,X)
		PLA			;pull pull return !!
		PLY
		RTL
;
;-------------- 敵と衝突！！ --------------------------------------------
EPC100		EQU	$
		CPX	PONLFFG		;プレイヤーに乗られてた ?
		BNE	EPC101		;  no: EPC101

		STZ	PONLFFG

EPC101		EQU	$
		RTL
;
;************************************************************************
;*		muki EOR set						*
;************************************************************************
MUKEOR		EQU	$
		LDA	ENMUKI,X	;muki EOR
		EOR	#02H
		STA	ENMUKI,X
XSPEOR		EQU	$
		LDA	ENXSPD,X	;X speed EOR
		EOR	#0FFFFH
		INC	A
		STA	ENXSPD,X
		RTL
;
MKEOR2		EQU	$
		LDA	ENMUKI,X	;muki EOR
		EOR	#02H
		STA	ENMUKI,X
MUKEOR_010	EQU	$
		RTL
;
;
;------------------------------------------------------------------------
;-		プレイヤーが踏んだら、どうする？			-
;------------------------------------------------------------------------
PL_FUNDA	EQU	$		;[ENMOD2 & 0011100000000000B]
		WORD	FUNDA_ENFAIL	;[0] プレイヤーに踏まれてヤラレ
		WORD	FUNDA_EGG	;[1] タマゴに変わる（緑）
		WORD	FUNDA_EGG	;[2]	   "       （  ）
		WORD	FUNDA_EGG	;[3]	   "       （  ）
		WORD	FUNDA_ENCLEAR	;[4] 敵消滅
		WORD	PLFAIL_SET_ON	;[5] プレイヤーダメージ
		WORD	FUNDA_PLON	;[6] プレイヤーが上に乗る
		WORD	FUNDA_ENFALL	;[7] プレイヤーに踏まれて死ぬ
;
;------------------------------------------------------------------------
;-		プレイヤーと横当たったら、どうする？			-
;------------------------------------------------------------------------
SIDE_CROSS	EQU	$		;[ENMOD0 & 1100000000000000B]
		WORD	PL_BOUND	;[0] プレイヤーを跳ね返す
		WORD	PLFAIL_SET_SIDE ;[1] プレイヤーダメージ
		WORD	EN_SHOOT	;[2] 蹴る（オートで食べる）
		WORD	NO_CROSS	;[3] 当たり無し
;
;
;----------------------------------------------------------------
;-		プレイヤーに踏まれてヤラレ			-
;----------------------------------------------------------------
FUNDA_ENFAIL	EQU	$
		LDA	PLJUMP
		BNE	FUNDA_ENFAIL_10 ;プレイヤージャンプ中？ ( yes:FUNDA_ENFAIL_10 )
;
		JMP	PLFAIL_SET_ON
;
FUNDA_ENFAIL_10 EQU	$
		LDX	<ENINDX
		LDA	EPWIDX,X
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		STA	ENXSPD,X
		STZ	ENXPOW,X
		STZ	ENYSPD,X
		LDA	#0400H
		STA	ENGMAX,X	;max G power set
		LDA	#040H
		STA	ENGPOW,X	;G power set
 IF  JPN | NES ;**** 日本 or NES 対応 [1995/6/30] ****************
		LDA	#0FC00H		;player Y speed set
 ELSE	       ;**** PAL 対応 [1995/7/20] ************************
		LDA	#0FB76H		;player Y speed set
 ENDIF
		STA	PLYSPD
		LDA	#01H+8000H
		STA	PLSPJP		;ジタバタジャンプフラグ”ＯＮ”
;
;-------------- 敵の死亡セット ------------------------------------------
		LDA	#EFAIL		;ヤラレモードセット
		STA	ENMODE,X
		JSL	>ENDEATH_SET_2
;
		LDY	DSPMOD
		CPY	#09H
		BEQ	FUNDA_ENFAIL_20 ;ボスＱちゃん？ ( yes:FUNDA_ENFAIL_20 )
;
		JSL	>FSMK0_SET3_2
FUNDA_ENFAIL_20 EQU	$
		RTS
;
;----------------------------------------------------------------
;-		タマゴに変わる					-
;----------------------------------------------------------------
FUNDA_EGG	EQU	$
		LDX	<ENINDX
		LDY	#03AH		;[♪] (Y) <-- サウウンドフラグ
		JSL	>PDON0ST_2	;"Doon" set
;
FUNDA_EGG_030	EQU	$
		LDA	#EFAIL
		STA	ENMODE,X
		STZ	ENXSPD,X
		STZ	ENYSPD,X
 IF  JPN | NES ;**** 日本 or NES 対応 [1995/6/30] ****************
		LDA	#0FC00H		;player Y speed set
 ELSE	       ;**** PAL 対応 [1995/7/20] ************************
		LDA	#0FB76H		;player Y speed set
 ENDIF
		STA	PLYSPD
		LDA	#01H+8000H
		STA	PLSPJP		;ジタバタジャンプフラグ”ＯＮ”
FUNDA_EGG_040	EQU	$
		RTS
;
;----------------------------------------------------------------
;-		敵消滅						-
;----------------------------------------------------------------
FUNDA_ENCLEAR	EQU	$
 IF  JPN | NES ;**** 日本 or NES 対応 [1995/6/30] ****************
		LDA	#0FC00H		;player Y speed set
 ELSE	       ;**** PAL 対応 [1995/7/20] ************************
		LDA	#0FB76H		;player Y speed set
 ENDIF
		STA	PLYSPD
		LDA	#01H+8000H
		STA	PLSPJP		;ジタバタジャンプフラグ”ＯＮ”
		LDX	<ENINDX
		JSL	>FSMK2_SET
		JSL	>ENDEATH_SET_2	;敵の死亡セット
		JSL	>ENCLEAR
		RTS
;
;----------------------------------------------------------------
;-		プレイヤーが上に乗る				-
;----------------------------------------------------------------
PLON_XHSOK_BGC	EQU	$
		WORD	110000000B,001100000B
;
FUNDA_PLON	EQU	$
		LDX	<ENINDX
		LDA	PLDOSN
		BEQ	FUNDA_PLON_010	;プレイヤー”ドスーン！！”？ ( no:FUNDA_PLON_010 )
;
		LDA	ENMOD1,X
		AND	#0110000000000000B
		BNE	FUNDA_PLON_010	;敵？ ( no:FUNDA_PLON_010 )
		JMP	FUNDA_ENFALL
;
;-------------- プレイヤーが上に乗る ------------
FUNDA_PLON_010	EQU	$
		LDA	PLEATFG			;プレイヤー食われてる ?
		BEQ	FUNDA_PLON_013		;  no: FUNDA_PLON_013

		CPX	PONLFFG			;プレイヤー乗せてた ?
		BNE	FUNDA_PLON_020		;  no: FUNDA_PLON_020

		STZ	PONLFFG
		BRA	FUNDA_PLON_020

FUNDA_PLON_013	EQU	$
		LDA	ENMOD0,X		;プレイヤー乗せる ?
		AND	#0011100000000000B	;
		CMP	#0011000000000000B	;
		BNE	FUNDA_PLON_016		;  no: FUNDA_PLON_016

		CPX	PONLFFG			;プレイヤー乗せてた ?
		BEQ	FUNDA_PLON_015		; yes: FUNDA_PLON_015

		LDA	PONLFFG
		AND	#000FFH
		BNE	FUNDA_PLON_020

FUNDA_PLON_015	EQU	$
		STX	PONLFFG

FUNDA_PLON_016	EQU	$
		LDA	PLBGCR
		AND	#000011000B
		BNE	FUNDA_PLON_017	;頭ＢＧ当たり？ ( yes:FUNDA_PLON_017 )
;
		LDA	EPWIDY,X
		SEC
		SBC	PWIDEY
		SEC
		SBC	EWIDEY,X
		SEC
		ADC	PLYPSL
		STA	PLYPSL		;player foot pos hosei
		LDA	ENYPSL,X
		SEC
		SBC	ENYP2L
		SEC
		ADC	PLYPSL
		STA	PLYPSL
;
FUNDA_PLON_017	EQU	$
		LDA	PLYSPD
		BMI	FUNDA_PLON_020	;プレイヤー上昇中？ ( yes:FUNDA_PLON_020 )
;
		LDA	ENYSPD,X
		BPL	FUNDA_PLON_018
		LDA	#00
FUNDA_PLON_018	EQU	$
		STA	PLYSPD
		LDY	#0
		LDA	ENMOVX,X
		BMI	FUNDA_PLON_019	;左へ補正？ ( yes:FUNDA_PLON_019 )
		LDY	#2
FUNDA_PLON_019	EQU	$
		LDA	PLBGCR
		AND	!PLON_XHSOK_BGC,Y
		BNE	FUNDA_PLON_0190 ;補正方向ＢＧ当たり？ ( yes:FUNDA_PLON_0190 )
;
		LDA	ENMOVX,X
		CLC
		ADC	PLXPSL
		STA	PLXPSL		;player X pos hosei
FUNDA_PLON_0190 EQU	$
		INC	ONLFFG		;lift on set
FUNDA_PLON_020	EQU	$
		PLA			;[ pull pull return !! ]
		RTL
;
;----------------------------------------------------------------
;-		プレイヤーに踏まれて死ぬ			-
;----------------------------------------------------------------
FUNDA_ENFALL	EQU	$
		LDX	<ENINDX
		JSL	>FSMK0_SET3
;
 IF  JPN | NES ;**** 日本 or NES 対応 [1995/6/30] ****************
		LDA	#0FC00H		;player Y speed set
 ELSE	       ;**** PAL 対応 [1995/7/20] ************************
		LDA	#0FB76H		;player Y speed set
 ENDIF
		STA	PLYSPD
		LDA	#01H+8000H
		STA	PLSPJP		;ジタバタジャンプフラグ”ＯＮ”
RTSSUB		EQU	$
		RTS
;
FUNDA_ENFALL_L	EQU	$
		JSR	FUNDA_ENFALL
		RTL
;
;----------------------------------------------------------------
;-		プレイヤーダメージセット			-
;----------------------------------------------------------------
PLFAIL_EJMP_YSP EQU	$
		WORD	00100H,0FF00H
;
PLFAIL_SET_SIDE EQU	$
PLFAIL_SET_ON	EQU	$
		LDX	<ENINDX
		JSL	>PLFLST		;player fail set
;
PLFAIL_SET_010	EQU	$
		RTS
;
;
;----------------------------------------------------------------
;-		プレイヤーを跳ね返す				-
;----------------------------------------------------------------
PL_BOUND	EQU	$
		LDX	<ENINDX
		LDA	PLXSPD
		ORA	ENXSPD,X
		BEQ	RTSSUB		;player & enemy not move ? ( yes:RTSSUB )
;
		I16
;
		LDA	PLXSPD
		EOR	ENXSPD,X
		ASL	A		;(C) <-- player & enemy speed muki check
		LDA	PLXSPD
		PHA
		LDA	ENXSPD,X
		TAY
		EOR	EPWIDX,X
		BMI	PL_BOUND_010
		BCS	PL_BOUND_030
		STZ	PLXSPD
		BRA	PL_BOUND_030
;
PL_BOUND_010	EQU	$
		BCS	PL_BOUND_020
		TYA
		SEC
		SBC	PLXSPD
		EOR	PLXSPD
		BMI	PL_BOUND_030
PL_BOUND_020	EQU	$
		STY	PLXSPD
PL_BOUND_030	EQU	$
		PLA
		TAY
		EOR	EPWIDX,X
		BPL	PL_BOUND_040
		BCS	PL_BOUND_060
		STZ	ENXSPD,X
		BRA	PL_BOUND_060
;
PL_BOUND_040	EQU	$
		BCS	PL_BOUND_050
		TYA
		SEC
		SBC	ENXSPD,X
		EOR	ENXSPD,X
		BMI	PL_BOUND_060
PL_BOUND_050	EQU	$
		TYA
		STA	ENXSPD,X
PL_BOUND_060	EQU	$
;
		I8
;
		JSL	>PDON0ST	;"Doon" set
		RTS
;
;----------------------------------------------------------------
;-		蹴る						-
;----------------------------------------------------------------
EN_SHOOT	EQU	$
		LDX	<ENINDX
		JMP	EFALL_INIT_SD
;
;----------------------------------------------------------------
;-		当たり無し					-
;----------------------------------------------------------------
NO_CROSS	EQU	$
		LDX	<ENINDX
		PLA			;[ pull pull return !! ]
		RTL
;
;----------------------------------------------------------------
;-		プレイヤーダメージセット			-
;----------------------------------------------------------------
PLFLST2_EJMP_YSP EQU	$
		WORD	00100H,0FF00H
;
PLFLST_2	EQU	$
		LDX	<ENINDX
		LDA	PLFLSH
		BNE	PLFLST_2800	;player safty ? ( yes:PLFLST_2800 )
;
		LDA	ENMOD1,X
		AND	#0110000000000000B
		BNE	PLFAIL_2_SET	;敵？ ( no:PLFAIL_2_SET )
;
		INC	ENSHOT,X	;enemy shot flag "ON" !!
		STZ	<ENWRK0,X	;bound flag set
		LDA	#0400H
		STA	ENGMAX,X	;max G power set
		LDA	#040H
		STA	ENGPOW,X	;G power set
		STZ	ENXPOW,X	;X power set
		STZ	ENCBFG,X	;行ったり来りしない様に
;
		TXY
		LDX	EPXMUK,Y
		LDA	>PLFAIL_EJMP_YSP,X
		STA	ENXSPD,Y
		LDA	#0FE00H
		STA	ENYSPD,Y
;
PLFAIL_2_SET	EQU	$
		LDX	<ENINDX
		JSL	>PLFLST		;player fail set
PLFLST_2800	EQU	$
		PLA			;pull pull return !!
		PLY
		RTL
;
;
;************************************************************************
;*		player fail initial set					*
;************************************************************************
PLFLST_S	EQU	$
		STZ	ENINDX		;敵以外との当たり！！
		BRA	PLFLST_FFF
;
PLFLST		EQU	$
		LDA	SUPER_FLAG
		BEQ	PLFLST_FFF	;無敵？ ( no:PLFLST_FFF )
;
;-------------- 無敵 敵蹴散らし！！ -------------------------------------
		LDY	ENINDX
		BEQ	PLFLST_010	;敵以外との当たり？ ( yes:PLFLST_010 )
		JMP	ENDEATH_SET_4
;
PLFLST_FFF	EQU	$
		LDA	PLFLSH
		ORA	PLSTFG
;
		ORA	FUFUFU		;[ デバックモード ]
;
		BNE	PLFLST_010	;player safty ? ( yes:PLFLST_010 )
		LDA	PLMODE		;[ CMP #PMOV ]
		CMP	#PDEM+1
		BCS	PLFLST_010	;プレイヤーモードＯＫ？ ( no:PLFLST_010 )
		LDA	PLDSYL
		CLC
		ADC	#010H
;;;;		    CMP	    #0B8H+010H+1
		CMP	#0D8H+010H+1
		BCS	PLFLST_010	;表示中？ ( no:PLFLST_010 )
;
		LDA	#017H		;[♪]
		JSL	>SOUND_3_ON
		STA	MSOUND3		;[ Ｍ−ｃｈｉｐからのＣａｌｌ時の為 ]
;
		STZ	PLDOSN		;”ドスーン！！”リセット
;
		LDX	PLTYPE
		JSR	(!FLSTSEL,X)
;
		LDX	<ENINDX
PLFLST_010	EQU	$
		RTL
;
;------------------------------------------------------------------------
;-		ダメージ初期セット					-
;------------------------------------------------------------------------
FLSTSEL		EQU	$
		WORD	YOSSYFLST	;普通のヨッシー
		WORD	CARFLST		;クルマ
		WORD	MOGURAFLST	;モグラ
		WORD	HERIFLST	;ヘリコプター
		WORD	TRAINFLST	;汽車
		WORD	KASAKFLST	;キノコ
		WORD	SUBMRFLST	;潜水艦
;;;;		    WORD    BOMBFLST	    ;ばくだんくん
		WORD	SKIFLST		;スキー
		WORD	MARIOFLST	;マリオ
		WORD	EGGFLST		;タマゴ
;
;
;----------------------------------------------------------------
;-		ヘリコプター					-
;----------------------------------------------------------------
HERIFLST	EQU	$
		LDA	#40H+(8*3)+10H	;player safty timer set
		STA	PLFLSH
;
		STZ	PLXSPD		;Ｘスピードクリアー
		STZ	PLMVSP
		LDA	#1000H		;回転スピードセット
		STA	PHR_ANSP
		RTS
;
;----------------------------------------------------------------
;-		汽車						-
;----------------------------------------------------------------
TRAINFLST	EQU	$
		LDA	#50H+040H	;player safty timer set
		STA	PLFLSH
		STZ	PTR_FLCT	;ダメージカウンターリセット
		RTS
;
;;;;;----------------------------------------------------------------
;;;;;-		    爆弾君					    -
;;;;;----------------------------------------------------------------
;;;;BOMBFLST	    EQU	    $
;;;;		    INC	    PLDMGF	    ;ダメージフラグセット
;;;;		    BRA	    YOSSYFLST_0050
;
;----------------------------------------------------------------
;-		普通のプレイヤー				-
;----------------------------------------------------------------
YSFAIL_XSP	EQU	$
; EPXMUK -->		  [0]	 [2]
 IF  JPN | NES ;**** 日本 or NES 対応 [1995/6/30] ****************
		WORD	0FE00H,00200H
 ELSE	       ;**** PAL 対応 [1995/7/20] ************************
		WORD	-(0200H*5/4),00200H*5/4
 ENDIF
;
YOSSYFLST	EQU	$
		JSL	>BERO_CANCEL	;舌ショットキャンセル
;
EGGFLST		EQU	$
		LDA	BABYNO
		BMI	YOSSYFLST_0050	;赤ちゃん乗ってる？ ( yes:YOSSYFLST_0050 )
		LDA	ENMYNSFG
		BMI	YOSSYFLST_0050	;へいほー乗ってる？ ( yes:YOSSYFLST_0050 )
;
		LDA	PLXSPD
		CLC
		ADC	#02C0H
		CMP	#02C0H*2+1
		LDA	#0180H		;プレイヤー回転ダメージ
		BCC	YOSSYFLST_0010
		LDA	#0240H		;プレイヤー回転ダメージ（ダウン）
YOSSYFLST_0010	EQU	$
		STA	PROTSP
		LDA	#080H		;(A) <-- player safty timer set
		BRA	YOSSYFLST_0100
;
;
;
YOSSYFLST_0050	EQU	$
		LDA	#40H+(8*3*2)+10H+32 ;player safty timer set
		BRA	YOSSYFLST_0100
;
;----------------------------------------------------------------
;-		クルマ						-
;-		マリオ						-
;----------------------------------------------------------------
CARFLST		EQU	$
		LDA	#40H		;player safty timer set
		BRA	YOSSYFLST_0100
;
MARIOFLST	EQU	$
		LDA	#40H+(8*3)+10H	;player safty timer set
YOSSYFLST_0100	EQU	$
		STA	PLFLSH
;
		LDY	ENINDX
		BEQ	YOSSYFLST_0110	;敵以外との当たり？ ( yes:YOSSYFLST_0110 )
;
		LDX	EPXMUK,Y	;プレイヤー跳ね返りＸスピードセット
		LDA	>YSFAIL_XSP,X
		TYX
		STA	PLMVSP
YOSSYFLST_0110	EQU	$
		LDY	PLTYPE
		CPY	#P_CAR
		BEQ	YOSSYFLST_0111

		LDA	PLJUMP
		BNE	YOSSYFLST_0120	;プレイヤージャンプ中？ ( yes:YOSSYFLST_0120 )
;
YOSSYFLST_0111	EQU	$
		LDA	#P008		;プレイヤージャンプフラグセット
		STA	PLJUMP
 IF  JPN | NES ;**** 日本 or NES 対応 [1995/6/30] ****************
		LDA	#0FC00H		;player Y speed set
 ELSE	       ;**** PAL 対応 [1995/7/20] ************************
		LDA	#0FB76H		;player Y speed set
 ENDIF
		STA	PLYSPD
YOSSYFLST_0120	EQU	$
		LDA	#08H		;プレイヤーダメージタイマーセット
		STA	PLFLTM
		RTS
;
;----------------------------------------------------------------
;-		 モグラ						-
;----------------------------------------------------------------
MOGURAFLST	EQU	$
		LDA	#50H+040H	;player safty timer set
		STA	PLFLSH
		STZ	PMG_FLCT	;ダメージカウンターリセット
		RTS
;
;----------------------------------------------------------------
;-		潜水艦						-
;----------------------------------------------------------------
SUBMRFLST	EQU	$
		LDA	#50H+080H	;player safty timer set
		STA	PLFLSH
		STZ	PSB_FLCT	;ダメージカウンターリセット
		RTS
;
;----------------------------------------------------------------
;-		car yoshi fail initial set			-
;----------------------------------------------------------------
KASAKFLST	EQU	$
		RTS
;
;----------------------------------------------------------------
;-		 スキーヨッシー					-
;----------------------------------------------------------------
SKIFLST		EQU	$
		LDA	PSK_FAIL
		BNE	SKIFLST_0010	;すでに転んでる？ ( yes:SKIFLST_0010 )
;
		LDA	#080H		;転びフラグセット
		STA	PSK_FAIL
		LDA	#080H		;転びタイマーセット
		STA	PSK_TIM0
 IF  JPN | NES ;**** 日本 or NES 対応 [1995/6/30] ****************
		LDA	#0FE00H		;ジャンプＹスピードセット
 ELSE	       ;**** PAL 対応 [1995/7/20] ************************
		LDA	#0FDBBH		;ジャンプＹスピードセット
 ENDIF
		STA	PLYSPD
		STZ	PSK_ANGL
SKIFLST_0010	EQU	$
		RTS
;
;************************************************************************
;*		angle calculate						*
;*			in  : (EWK0,1) <-- X wide			*
;*			      (EWK2,3) <-- Y  "                         *
;*			out : (A) <-- angle				*
;************************************************************************
ANGCKD		EQU	$	;[ ???H/2+[XXH] : XXH = NEG flag ]
		WORD	000H/2+0000H,080H/2+8000H,000H/2+8000H,180H/2+0000H
		WORD	100H/2+8000H,080H/2+0000H,100H/2+0000H,180H/2+8000H
;
ANGLCAL		EQU	$
		PHX			;(X) save
;
		LDY	#00H		;(Y) <-- angle pos check data
		LDA	<EWORK0
		BPL	ANCL010
		LDY	#04H
		EOR	#0FFFFH
		INC	A
ANCL010		EQU	$
		STA	<EWORK4		;(EWK4,5) <-- ABS( X wide )
		TAX
;
		LDA	<EWORK2
		BPL	ANCL020
		INY
		INY
		EOR	#0FFFFH
		INC	A
ANCL020		EQU	$
		CMP	<EWORK4
		BCC	ANCL030		;X < Y ? ( yes:ANCL030 )
		INY
		TAX
		LDA	<EWORK4
ANCL030		EQU	$
		XBA
		STA	4204H		;div
		STX	4206H
;
		TYA			;---+
		ASL	A		;   |
		TAX			;   |
		NOP			;   |
		NOP			;   +--- 16 cycle wait
		NOP			;   |
		NOP			;   |
;					;   |
		I16			;---+
;
		LDA	4214H		;(X) <-- div ans
		ASL	A
		TAY
		CPY	#(0100H+1)*2
		BCC	ANCL040
		LDY	#(0100H*2)
ANCL040		EQU	$
		LDA	>ANGCKD,X
		ASL	A		;(C) <-- NEG flag
		STA	<EWORK4
		TYX
		LDA	>ATAN,X
		BCC	ANCL050
		EOR	#0FFFFH
		INC	A
ANCL050		EQU	$
		CLC
		ADC	<EWORK4		;(A) <-- angle
;
		I8
;
		PLX
		RTL
;
;************************************************************************
;*									*
;*		転送エリアセットデータ					*		       *
;*									*
;************************************************************************
;
;-------------- プロットＸ座標 ------------------------------------------
TROBJ_PLOT_X	EQU	$
		WORD	000H	 ;[0]
		WORD	010H	 ;[1]
		WORD	000H	 ;[2]
		WORD	010H	 ;[3]
		WORD	020H	 ;[4]
		WORD	030H	 ;[5]
		WORD	020H	 ;[6]
		WORD	030H	 ;[7]
		WORD	040H	 ;[8]
		WORD	050H	 ;[9]
		WORD	040H	 ;[A]
		WORD	050H	 ;[B]
		WORD	060H	 ;[C]
		WORD	070H	 ;[D]
		WORD	060H	 ;[E]
		WORD	070H	 ;[F]
;
;-------------- プロットＹ座標 ------------------------------------------
TROBJ_PLOT_Y	EQU	$
		WORD	000H	 ;[0]
		WORD	000H	 ;[1]
		WORD	010H	 ;[2]
		WORD	010H	 ;[3]
		WORD	000H	 ;[4]
		WORD	000H	 ;[5]
		WORD	010H	 ;[6]
		WORD	010H	 ;[7]
		WORD	000H	 ;[8]
		WORD	000H	 ;[9]
		WORD	010H	 ;[A]
		WORD	010H	 ;[B]
		WORD	000H	 ;[C]
		WORD	000H	 ;[D]
		WORD	010H	 ;[E]
		WORD	010H	 ;[F]
;
;-------------- キャラＮｏ． --------------------------------------------
TROBJ_CHAR_NO	EQU	$
		WORD	1C0H	 ;[0]
		WORD	1C2H	 ;[1]
		WORD	1E0H	 ;[2]
		WORD	1E2H	 ;[3]
		WORD	1C4H	 ;[4]
		WORD	1C6H	 ;[5]
		WORD	1E4H	 ;[6]
		WORD	1E6H	 ;[7]
		WORD	1C8H	 ;[8]
		WORD	1CAH	 ;[9]
		WORD	1E8H	 ;[A]
		WORD	1EAH	 ;[B]
		WORD	1CCH	 ;[C]
		WORD	1CEH	 ;[D]
		WORD	1ECH	 ;[E]
		WORD	1EEH	 ;[F]
;
;************************************************************************
;*									*
;*		２×２転送エリアＯＡＭデータセット			*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*		*
;*									*
;************************************************************************
;
		MEM16
		IDX8
;
TROBJ_OAM_2x2	EQU	$
		LDY	ENYUSN,X
		CPY	#0FFH
		BEQ	TROBJ_OAM_2x210 ;ＯＡＭセット？ ( no:TROBJ_OAM_2x210 )
;
		I16
;
		LDY	ENOAML,X
		BMI	TROBJ_OAM_2x200 ;ＯＡＭセット？ ( no:TROBJ_OAM_2x210 )
;
TROBJ_OAM_2x2_I EQU	$
		PHX			;(X) save
;
		LDA	ENTROB,X
		TAX
		LDA	SOAM_DX+4,Y
		AND	#0FE00H
		ORA	>TROBJ_CHAR_NO,X
		STA	SOAM_DX+4,Y
;
		PLX
;
TROBJ_OAM_2x200 EQU	$
;
		I8
;
TROBJ_OAM_2x210 EQU	$
		RTL
;
;************************************************************************
;*									*
;*		４×４転送エリアＯＡＭデータセット			*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*		*
;*									*
;************************************************************************
;
TROBJ_OAM_4x4	EQU	$
		LDY	ENYUSN,X
		CPY	#0FFH
		BEQ	TROBJ_OAM_4x410 ;ＯＡＭセット？ ( no:TROBJ_OAM_4x410 )
;
		I16
;
		LDY	ENOAML,X
		BMI	TROBJ_OAM_4x400 ;ＯＡＭセット？ ( no:TROBJ_OAM_4x400 )
;
TROBJ_OAM_4x4_I EQU	$
		PHX			;(X) save
;
		LDA	ENTROB,X
		TAX
;
		LDA	SOAM_DX+4,Y
		AND	#0FE00H
		ORA	>TROBJ_CHAR_NO,X
		STA	SOAM_DX+4,Y
		LDA	SOAM_DX+(8*1)+4,Y
		AND	#0FE00H
		ORA	>TROBJ_CHAR_NO+2,X
		STA	SOAM_DX+(8*1)+4,Y
		LDA	SOAM_DX+(8*2)+4,Y
		AND	#0FE00H
		ORA	>TROBJ_CHAR_NO+4,X
		STA	SOAM_DX+(8*2)+4,Y
		LDA	SOAM_DX+(8*3)+4,Y
		AND	#0FE00H
		ORA	>TROBJ_CHAR_NO+6,X
		STA	SOAM_DX+(8*3)+4,Y
;
		PLX
;
TROBJ_OAM_4x400 EQU	$
;
		I8
;
TROBJ_OAM_4x410 EQU	$
		RTL
;
;************************************************************************
;*									*
;*		８×４転送エリアＯＡＭデータセット			*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*		*
;*									*
;************************************************************************
;
TROBJ_OAM_8x4	EQU	$
		LDY	ENYUSN,X
		CPY	#0FFH
		BEQ	TROBJ_OAM_8x410 ;ＯＡＭセット？ ( no:TROBJ_OAM_8x410 )
;
		I16
;
		LDY	ENOAML,X
		BMI	TROBJ_OAM_8x400 ;ＯＡＭセット？ ( no:TROBJ_OAM_8x400 )
;
TROBJ_OAM_8x4_I EQU	$
		PHX			;(X) save
;
		LDA	ENTROB,X
		TAX
;
		LDA	SOAM_DX+4,Y
		AND	#0FE00H
		ORA	>TROBJ_CHAR_NO,X
		STA	SOAM_DX+4,Y
		LDA	SOAM_DX+(8*1)+4,Y
		AND	#0FE00H
		ORA	>TROBJ_CHAR_NO+2,X
		STA	SOAM_DX+(8*1)+4,Y
		LDA	SOAM_DX+(8*2)+4,Y
		AND	#0FE00H
		ORA	>TROBJ_CHAR_NO+4,X
		STA	SOAM_DX+(8*2)+4,Y
		LDA	SOAM_DX+(8*3)+4,Y
		AND	#0FE00H
		ORA	>TROBJ_CHAR_NO+6,X
		STA	SOAM_DX+(8*3)+4,Y
		LDA	SOAM_DX+(8*4)+4,Y
		AND	#0FE00H
		ORA	>TROBJ_CHAR_NO+8,X
		STA	SOAM_DX+(8*4)+4,Y
		LDA	SOAM_DX+(8*5)+4,Y
		AND	#0FE00H
		ORA	>TROBJ_CHAR_NO+10,X
		STA	SOAM_DX+(8*5)+4,Y
		LDA	SOAM_DX+(8*6)+4,Y
		AND	#0FE00H
		ORA	>TROBJ_CHAR_NO+12,X
		STA	SOAM_DX+(8*6)+4,Y
		LDA	SOAM_DX+(8*7)+4,Y
		AND	#0FE00H
		ORA	>TROBJ_CHAR_NO+14,X
		STA	SOAM_DX+(8*7)+4,Y
;
		PLX
;
TROBJ_OAM_8x400 EQU	$
;
		I8
;
TROBJ_OAM_8x410 EQU	$
		RTL
;
;************************************************************************
;*									*
;*		８×８転送エリアＯＡＭデータセット			*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*		*
;*									*
;************************************************************************
;
TROBJ_OAM_8x8	EQU	$
		LDY	ENYUSN,X
		CPY	#0FFH
		BEQ	TROBJ_OAM_8x410 ;ＯＡＭセット？ ( no:TROBJ_OAM_8x410 )
;
		I16
;
		LDY	ENOAML,X
		BPL	TROBJ_OAM_8x8_I ;ＯＡＭセット？ ( no:TROBJ_OAM_8x8_I )
		JMP	TROBJ_OAM_8x800
;
TROBJ_OAM_8x8_I EQU	$
		PHX			;(X)   save
		PHB			;(DBR)	 "
		PHK			;(DBR) <-- (PBR)
		PLB
;
		LDA	ENTROB,X
		TAX
;
		LDA	SOAM_DX+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO,X
		STA	SOAM_DX+4,Y
		LDA	SOAM_DX+(8*1)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+2,X
		STA	SOAM_DX+(8*1)+4,Y
		LDA	SOAM_DX+(8*2)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+4,X
		STA	SOAM_DX+(8*2)+4,Y
		LDA	SOAM_DX+(8*3)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+6,X
		STA	SOAM_DX+(8*3)+4,Y
		LDA	SOAM_DX+(8*4)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+8,X
		STA	SOAM_DX+(8*4)+4,Y
		LDA	SOAM_DX+(8*5)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+10,X
		STA	SOAM_DX+(8*5)+4,Y
		LDA	SOAM_DX+(8*6)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+12,X
		STA	SOAM_DX+(8*6)+4,Y
		LDA	SOAM_DX+(8*7)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+14,X
		STA	SOAM_DX+(8*7)+4,Y
		LDA	SOAM_DX+(8*8)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+16,X
		STA	SOAM_DX+(8*8)+4,Y
		LDA	SOAM_DX+(8*9)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+18,X
		STA	SOAM_DX+(8*9)+4,Y
		LDA	SOAM_DX+(8*10)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+20,X
		STA	SOAM_DX+(8*10)+4,Y
		LDA	SOAM_DX+(8*11)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+22,X
		STA	SOAM_DX+(8*11)+4,Y
		LDA	SOAM_DX+(8*12)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+24,X
		STA	SOAM_DX+(8*12)+4,Y
		LDA	SOAM_DX+(8*13)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+26,X
		STA	SOAM_DX+(8*13)+4,Y
		LDA	SOAM_DX+(8*14)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+28,X
		STA	SOAM_DX+(8*14)+4,Y
		LDA	SOAM_DX+(8*15)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+30,X
		STA	SOAM_DX+(8*15)+4,Y
;
		PLB
		PLX
;
TROBJ_OAM_8x800 EQU	$
;
		I8
;
TROBJ_OAM_8x810 EQU	$
		RTL
;
;************************************************************************
;*									*
;*		８×８Ｈフリップ転送エリアＯＡＭデータセット		*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*		*
;*									*
;************************************************************************
;
TROBJ_OAM_8H8	EQU	$
		LDY	ENYUSN,X
		CPY	#0FFH
		BEQ	TROBJ_OAM_8x810 ;ＯＡＭセット？ ( no:TROBJ_OAM_8x810 )
;
		I16
;
		LDY	ENOAML,X
		BPL	TROBJ_OAM_8H8_I ;ＯＡＭセット？ ( no:TROBJ_OAM_8H_I )
		JMP	TROBJ_OAM_8H800
;
TROBJ_OAM_8H8_I EQU	$
		PHX			;(X)   save
		PHB			;(DBR)	 "
		PHK			;(DBR) <-- (PBR)
		PLB
;
		LDA	ENTROB,X
		TAX
;
		LDA	SOAM_DX+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO,X
		STA	SOAM_DX+4,Y
		LDA	SOAM_DX+(8*1)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+2,X
		STA	SOAM_DX+(8*1)+4,Y
		LDA	SOAM_DX+(8*2)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+4,X
		STA	SOAM_DX+(8*2)+4,Y
		LDA	SOAM_DX+(8*3)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+6,X
		STA	SOAM_DX+(8*3)+4,Y
;
		LDA	SOAM_DX+(8*4)+4,Y
		AND	#0FE00H
		EOR	#04000H
		ORA	TROBJ_CHAR_NO+2,X
		STA	SOAM_DX+(8*4)+4,Y
		LDA	SOAM_DX+(8*5)+4,Y
		AND	#0FE00H
		EOR	#04000H
		ORA	TROBJ_CHAR_NO,X
		STA	SOAM_DX+(8*5)+4,Y
		LDA	SOAM_DX+(8*6)+4,Y
		AND	#0FE00H
		EOR	#04000H
		ORA	TROBJ_CHAR_NO+6,X
		STA	SOAM_DX+(8*6)+4,Y
		LDA	SOAM_DX+(8*7)+4,Y
		AND	#0FE00H
		EOR	#04000H
		ORA	TROBJ_CHAR_NO+4,X
		STA	SOAM_DX+(8*7)+4,Y
;
		LDA	SOAM_DX+(8*8)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+8,X
		STA	SOAM_DX+(8*8)+4,Y
		LDA	SOAM_DX+(8*9)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+10,X
		STA	SOAM_DX+(8*9)+4,Y
		LDA	SOAM_DX+(8*10)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+12,X
		STA	SOAM_DX+(8*10)+4,Y
		LDA	SOAM_DX+(8*11)+4,Y
		AND	#0FE00H
		ORA	TROBJ_CHAR_NO+14,X
		STA	SOAM_DX+(8*11)+4,Y
;
		LDA	SOAM_DX+(8*12)+4,Y
		AND	#0FE00H
		EOR	#04000H
		ORA	TROBJ_CHAR_NO+10,X
		STA	SOAM_DX+(8*12)+4,Y
		LDA	SOAM_DX+(8*13)+4,Y
		AND	#0FE00H
		EOR	#04000H
		ORA	TROBJ_CHAR_NO+8,X
		STA	SOAM_DX+(8*13)+4,Y
		LDA	SOAM_DX+(8*14)+4,Y
		AND	#0FE00H
		EOR	#04000H
		ORA	TROBJ_CHAR_NO+14,X
		STA	SOAM_DX+(8*14)+4,Y
		LDA	SOAM_DX+(8*15)+4,Y
		AND	#0FE00H
		EOR	#04000H
		ORA	TROBJ_CHAR_NO+12,X
		STA	SOAM_DX+(8*15)+4,Y
;
		PLB
		PLX
;
TROBJ_OAM_8H800 EQU	$
;
		I8
;
		RTL
;
;************************************************************************
;*									*
;*		検索チェックデータ					*
;*									*
;************************************************************************
ARIA_8x4_CHECK	EQU	$
		WORD	1111111100000000B
		WORD	0000111111110000B
		WORD	0000000011111111B
ARIA_4x4_CHECK	EQU	$
		WORD	1111000000000000B
		WORD	0000111100000000B
		WORD	0000000011110000B
		WORD	0000000000001111B
ARIA_6x4_CHECK	EQU	$
		WORD	1111101000000000B
		WORD	0000111110100000B
		WORD	0000000011111010B
ARIA_2x2_CHECK	EQU	$
		WORD	1000000000000000B
		WORD	0100000000000000B
		WORD	0010000000000000B
		WORD	0001000000000000B
		WORD	0000100000000000B
		WORD	0000010000000000B
		WORD	0000001000000000B
		WORD	0000000100000000B
		WORD	0000000010000000B
		WORD	0000000001000000B
		WORD	0000000000100000B
		WORD	0000000000010000B
		WORD	0000000000001000B
		WORD	0000000000000100B
		WORD	0000000000000010B
		WORD	0000000000000001B
;
;************************************************************************
;*									*
;*		２×２転送エリア検索ルーチン				*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＯＵＴ ： （Ｃ）← ０：エリア空き無し		*
;*					   １：エリア確保！！		*
;*				  （ＥＮＴＲＯＢ）← エリアＮｏ．(1,3..)*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*
;*				  （ＷＯＲＫ０〜１）			*
;*									*
;************************************************************************
;
TROBJ_SR_2x2	EQU	$
		PHX			;(X)   save
		PHB			;(DBR)	"
		PHK			;(DBR) <-- (PBR)
		PLB
;
;-------------- ４×４エリア検索 ----------------------------------------
		SEC
		ROR	WORK1-1		;(WK1) <-- ４×４エリア空きポインター初期セット
		LDX	#(4-1)*2
SR_2x2_050	EQU	$
		LDA	TROBJ_ARIA	;(A) <-- 転送エリア情報
		AND	!ARIA_4x4_CHECK,X
		BNE	SR_2x2_100	;４×４エリア空き？ ( no:SR_2x2_100 )
		STX	WORK1		;(WK1) <-- ４×４エリア空きポインター
		BRA	SR_2x2_150
;
SR_2x2_100	EQU	$
		CMP	!ARIA_4x4_CHECK,X
		BNE	SR_2x2_200	;４×４エリア空き無し？ ( yes:SR_2x2_200 )
SR_2x2_150	EQU	$
		DEX
		DEX
		BPL	SR_2x2_050
;
		LDX	WORK1
		BMI	SR_2x2_300	;４×４エリア空き無し？ ( yes:SR_2x2_300 )
;
;-------------- ２×２エリア検索 ----------------------------------------
SR_2x2_200	EQU	$
		TXA
		ASL	A
		ASL	A
		TAX
		LDA	TROBJ_ARIA	;(A) <-- 転送エリア情報
		LDY	#4
SR_2x2_250	EQU	$
		BIT	!ARIA_2x2_CHECK,X
		BEQ	SR_2x2_350	;エリア空き？ ( yes:SR_2x2_350 )
		INX
		INX
		DEY
		BNE	SR_2x2_250
;
;-------------- エリア空き無し！！ --------------------------------------
SR_2x2_300	EQU	$
		PLB
		PLX
SR_2x2_310	EQU	$
		CLC
		RTL
;
;-------------- エリア確保！！ ------------------------------------------
SR_2x2_350	EQU	$
		LDA	!ARIA_2x2_CHECK,X
		STA	TROBJ_SIZE,X	;サイズセット(ＡＮＤデータポインター）
		TSB	TROBJ_ARIA	;転送エリア情報 ”ＯＮ”
;
		TXA
		AND	#00FFH
;
		PLB
		PLX
;
		STA	ENTROB,X
		SEC
		RTL
;
;************************************************************************
;*									*
;*		４×４転送エリア検索ルーチン				*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＯＵＴ ： （Ｃ）← ０：エリア空き無し		*
;*					   １：エリア確保！！		*
;*				  （ＥＮＴＲＯＢ）← エリアＮｏ．(1,3..)*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*
;*									*
;************************************************************************
;
TROBJ_SR_4x4	EQU	$
		PHX			;(X) save
		PHB			;(DBR) save
		PHK			;(DBR) <-- (PBR)
		PLB
;
		LDA	TROBJ_ARIA	;(A) <-- 転送エリア情報
		LDX	#(4-1)*2
SR_4x4_050	EQU	$
		BIT	!ARIA_4x4_CHECK,X
		BEQ	SR_4x4_100	;４×４エリア空き？ ( yes:SR_4x4_100 )
		DEX
		DEX
		BPL	SR_4x4_050
;
;-------------- エリア空き無し！！ --------------------------------------
		PLB
		PLX
		CLC
		RTL
;
;-------------- エリア確保！！ ------------------------------------------
SR_4x4_100	EQU	$
		TXA
		ASL	A
		ASL	A
		TAY
		LDA	!ARIA_4x4_CHECK,X
		STA	TROBJ_SIZE,Y	;サイズセット(ＡＮＤデータ）
		TSB	TROBJ_ARIA	;転送エリア情報 ”ＯＮ”
;
		TYA
		AND	#00FFH
;
		PLB
		PLX
;
		STA	ENTROB,X
		SEC
		RTL
;
;************************************************************************
;*									*
;*		６×４転送エリア検索ルーチン				*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＯＵＴ ： （Ｃ）← ０：エリア空き無し		*
;*					   １：エリア確保！！		*
;*				  （ＥＮＴＲＯＢ）← エリアＮｏ．(1,3..)*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*
;*									*
;************************************************************************
;
TROBJ_SR_6x4	EQU	$
		PHX			;(X) save
		PHB			;(DBR) save
		PHK			;(DBR) <-- (PBR)
		PLB
;
		LDA	TROBJ_ARIA	;(A) <-- 転送エリア情報
		LDX	#(3-1)*2
SR_6x4_050	EQU	$
		BIT	!ARIA_6x4_CHECK,X
		BEQ	SR_6x4_100	;６×４エリア空き？ ( yes:SR_6x4_100 )
		DEX
		DEX
		BPL	SR_6x4_050
;
;-------------- エリア空き無し！！ --------------------------------------
		PLB
		PLX
		CLC
		RTL
;
;-------------- エリア確保！！ ------------------------------------------
SR_6x4_100	EQU	$
		TXA
		ASL	A
		ASL	A
		TAY
		LDA	!ARIA_6x4_CHECK,X
		STA	TROBJ_SIZE,Y	;サイズセット(ＡＮＤデータ）
		TSB	TROBJ_ARIA	;転送エリア情報”ＯＮ”
;
		TYA
		AND	#00FFH
;
		PLB
		PLX
;
		STA	ENTROB,X
		SEC
		RTL
;
;************************************************************************
;*									*
;*		８×４転送エリア検索ルーチン				*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＯＵＴ ： （Ｃ）← ０：エリア空き無し		*
;*					   １：エリア確保！！		*
;*				  （ＥＮＴＲＯＢ）← エリアＮｏ．(1,3..)*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*
;*									*
;************************************************************************
;
TROBJ_SR_8x4	EQU	$
		PHX			;(X) save
		PHB			;(DBR) save
		PHK			;(DBR) <-- (PBR)
		PLB
;
		LDA	TROBJ_ARIA	;(A) <-- 転送エリア情報
		LDX	#(3-1)*2
SR_8x4_050	EQU	$
		BIT	!ARIA_8x4_CHECK,X
		BEQ	SR_8x4_100	;８×４エリア空き？ ( yes:SR_8x4_100 )
		DEX
		DEX
		BPL	SR_8x4_050
;
;-------------- エリア空き無し！！ --------------------------------------
		PLB
		PLX
SERCH_NOT	EQU	$
		CLC
		RTL
;
;-------------- エリア確保！！ ------------------------------------------
SR_8x4_100	EQU	$
		TXA
		ASL	A
		ASL	A
		TAY
		LDA	!ARIA_8x4_CHECK,X
		STA	TROBJ_SIZE,Y	;サイズセット(ＡＮＤデータ）
		TSB	TROBJ_ARIA	;転送エリア情報 ”ＯＮ”
;
		TYA
		AND	#00FFH
;
		PLB
		PLX
;
		STA	ENTROB,X
		SEC
		RTL
;
;************************************************************************
;*									*
;*		８×８転送エリア検索ルーチン				*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＯＵＴ ： （Ｃ）← ０：エリア空き無し		*
;*					   １：エリア確保！！		*
;*				  （ＥＮＴＲＯＢ）← エリアＮｏ．(1,3..)*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*									*
;************************************************************************
;
TROBJ_SR_8x8	EQU	$
		LDA	TROBJ_ARIA	;(A) <-- 転送エリア情報
		BNE	SERCH_NOT	;８×８エリア空き？ ( no:SERCH_NOT )
;
;-------------- エリア確保！！ ------------------------------------------
		LDA	#1111111111111111B
		STA	TROBJ_SIZE	;サイズセット(ＡＮＤデータ）
		STA	TROBJ_ARIA	;転送エリア情ﾉj”ＯＮ”
;
		STZ	ENTROB,X
		SEC
		RTL
;
;************************************************************************
;*									*
;*		２×２転送エリア検索ルーチン（オート）				  *
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＯＵＴ ： （ＥＮＴＲＯＢ）← エリアＮｏ．(1,3..)*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*
;*				  （ＷＯＲＫ０〜１）			*
;*									*
;************************************************************************
;
TROBJ_SR_2x2_CL EQU	$
		PHX			;(X)   save
		PHB			;(DBR)	"
		PHK			;(DBR) <-- (PBR)
		PLB
;
;-------------- ４×４エリア検索 ----------------------------------------
		SEC
		ROR	WORK1-1		;(WK1) <-- ４×４エリア空きポインター初期セット
		LDX	#(4-1)*2
SR_2x2_CL_050	EQU	$
		LDA	TROBJ_ARIA	;(A) <-- 転送エリア情報
		AND	!ARIA_4x4_CHECK,X
		BNE	SR_2x2_CL_100	;４×４エリア空き？ ( no:SR_2x2_CL_100 )
		STX	WORK1		;(WK1) <-- ４×４エリア空きポインター
		BRA	SR_2x2_CL_150
;
SR_2x2_CL_100	EQU	$
		CMP	!ARIA_4x4_CHECK,X
		BNE	SR_2x2_CL_200	;４×４エリア空き無し？ ( yes:SR_2x2_CL_200 )
SR_2x2_CL_150	EQU	$
		DEX
		DEX
		BPL	SR_2x2_CL_050
;
		LDX	WORK1
		BMI	SR_2x2_CL_300	;４×４エリア空き無し？ ( yes:SR_2x2_CL_300 )
;
;-------------- ２×２エリア検索 ----------------------------------------
SR_2x2_CL_200	EQU	$
		TXA
		ASL	A
		ASL	A
		TAX
		LDA	TROBJ_ARIA	;(A) <-- 転送エリア情報
		LDY	#4
SR_2x2_CL_250	EQU	$
		BIT	!ARIA_2x2_CHECK,X
		BEQ	SR_2x2_CL_350	;エリア空き？ ( yes:SR_2x2_CL_350 )
		INX
		INX
		DEY
		BNE	SR_2x2_CL_250
;
;-------------- エリア空き無し！！ --------------------------------------
SR_2x2_CL_300	EQU	$
		PLB
		PLX
		BRA	SERCH_NOT_CL	;"pull pull return !!"
;
;-------------- エリア確保！！ ------------------------------------------
SR_2x2_CL_350	EQU	$
		LDA	!ARIA_2x2_CHECK,X
		STA	TROBJ_SIZE,X	;サイズセット(ＡＮＤデータポインター）
		TSB	TROBJ_ARIA	;転送エリア情報 ”ＯＮ”
;
		TXA
		AND	#00FFH
;
		PLB
		PLX
;
		STA	ENTROB,X
		RTL
;
;************************************************************************
;*									*
;*		４×４転送エリア検索ルーチン（オート）			*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＯＵＴ ： （ＥＮＴＲＯＢ）← エリアＮｏ．(1,3..)*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*
;*									*
;************************************************************************
;
TROBJ_SR_4x4_CL EQU	$
		PHX			;(X) save
		PHB			;(DBR) save
		PHK			;(DBR) <-- (PBR)
		PLB
;
		LDA	TROBJ_ARIA	;(A) <-- 転送エリア情報
		LDX	#(4-1)*2
SR_4x4_CL_050	EQU	$
		BIT	!ARIA_4x4_CHECK,X
		BEQ	SR_4x4_CL_100	;４×４エリア空き？ ( yes:SR_4x4_CL_100 )
		DEX
		DEX
		BPL	SR_4x4_CL_050
;
;-------------- エリア空き無し！！ --------------------------------------
		PLB
		PLX
		BRA	SERCH_NOT_CL	;"pull pull return !!"
;
;-------------- エリア確保！！ ------------------------------------------
SR_4x4_CL_100	EQU	$
		TXA
		ASL	A
		ASL	A
		TAY
		LDA	!ARIA_4x4_CHECK,X
		STA	TROBJ_SIZE,Y	;サイズセット(ＡＮＤデータ）
		TSB	TROBJ_ARIA	;転送エリア情ﾉj”ＯＮ”
;
		TYA
		AND	#00FFH
;
		PLB
		PLX
;
		STA	ENTROB,X
		RTL
;
;************************************************************************
;*									*
;*		６×４転送エリア検索ルーチン（オート）			*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＯＵＴ ： （ＥＮＴＲＯＢ）← エリアＮｏ．(1,3..)*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*
;*									*
;************************************************************************
;
TROBJ_SR_6x4_CL EQU	$
		PHX			;(X) save
		PHB			;(DBR) save
		PHK			;(DBR) <-- (PBR)
		PLB
;
		LDA	TROBJ_ARIA	;(A) <-- 転送エリア情報
		LDX	#(3-1)*2
SR_6x4_CL_050	EQU	$
		BIT	!ARIA_6x4_CHECK,X
		BEQ	SR_6x4_CL_100	;６×４エリア空き？ ( yes:SR_6x4_CL_100 )
		DEX
		DEX
		BPL	SR_6x4_CL_050
;
;-------------- エリア空き無し！！ --------------------------------------
		PLB
		PLX
;
SERCH_NOT_CL	EQU	$
		PLA
		PLY
		JMP	>ENCLEAR
;
;-------------- エリア確保！！ ------------------------------------------
SR_6x4_CL_100	EQU	$
		TXA
		ASL	A
		ASL	A
		TAY
		LDA	!ARIA_6x4_CHECK,X
		STA	TROBJ_SIZE,Y	;サイズセット(ＡＮＤデータ）
		TSB	TROBJ_ARIA	;転送エリア情ﾉj”ＯＮ”
;
		TYA
		AND	#00FFH
;
		PLB
		PLX
;
		STA	ENTROB,X
		RTL
;
;************************************************************************
;*									*
;*		８×４転送エリア検索ルーチン（オート）			*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＯＵＴ ： （ＥＮＴＲＯＢ）← エリアＮｏ．(1,3..)*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*
;*									*
;************************************************************************
;
TROBJ_SR_8x4_CL EQU	$
		PHX			;(X) save
		PHB			;(DBR) save
		PHK			;(DBR) <-- (PBR)
		PLB
;
		LDA	TROBJ_ARIA	;(A) <-- 転送エリア情報
		LDX	#(3-1)*2
SR_8x4_CL_050	EQU	$
		BIT	!ARIA_8x4_CHECK,X
		BEQ	SR_8x4_CL_100	;８×４エリア空き？ ( yes:SR_8x4_CL_100 )
		DEX
		DEX
		BPL	SR_8x4_CL_050
;
;-------------- エリア空き無し！！ --------------------------------------
		PLB
		PLX
		BRA	SERCH_NOT_CL	;"pull pull return !!"
;
;-------------- エリア確保！！ ------------------------------------------
SR_8x4_CL_100	EQU	$
		TXA
		ASL	A
		ASL	A
		TAY
		LDA	!ARIA_8x4_CHECK,X
		STA	TROBJ_SIZE,Y	;サイズセット(ＡＮＤデータ）
		TSB	TROBJ_ARIA	;転送エリア情ﾉj”ＯＮ”
;
		TYA
		AND	#00FFH
;
		PLB
		PLX
;
		STA	ENTROB,X
		RTL
;
;************************************************************************
;*									*
;*		８×８転送エリア検索ルーチン（オート）			*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＯＵＴ ： （ＥＮＴＲＯＢ）← エリアＮｏ．(1,3..)*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*									*
;************************************************************************
;
TROBJ_SR_8x8_CL EQU	$
		LDA	TROBJ_ARIA	;(A) <-- 転送エリア情報
		BNE	SERCH_NOT_CL	;８×８エリア空き？ ( no:SERCH_NOT_CL )
;
;-------------- エリア確保！！ ------------------------------------------
		LDA	#1111111111111111B
		STA	TROBJ_SIZE	;サイズセット(ＡＮＤデータ）
		STA	TROBJ_ARIA	;転送エリア情ﾉj”ＯＮ”
;
		STZ	ENTROB,X
		RTL
;
;************************************************************************
;*									*
;*		転送エリア放棄ルーチン					*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*
;*									*
;************************************************************************
;
TROBJ_CLEAR	EQU	$
		LDY	ENTROB,X
		LDA	TROBJ_SIZE,Y
		TRB	TROBJ_ARIA
		LDA	#0FFFFH
		STA	ENTROB,X
		RTL
;
;************************************************************************
;*									*
;*		転送エリア放棄ルーチン（使用チェック有)			*
;*									*
;*			ＩＮ   ： （Ｘ）← 敵インデックス		*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*
;*									*
;************************************************************************
;
TROBJ_CLEAR_CHK EQU	$
		LDY	ENTROB,X
		BMI	CLEAR_CHK_050	;転送エリア使用？ ( no:CLEAR_CHK_050 )
;
		LDA	TROBJ_SIZE,Y
		TRB	TROBJ_ARIA
		LDA	#0FFFFH
		STA	ENTROB,X
CLEAR_CHK_050	EQU	$
		RTL
;
;
;************************************************************************
;*		enemy mode check					*
;*			out  : if out of area then pull,pull return	*
;************************************************************************
ESHTCHIPSB	EQU	$
		WORD	C_16_ROTZOM,C_32_ROTZOM
;
ENMDCK		EQU	$
		LDA	ENSHOT,X
		BEQ	EMDC0FF		;enemy shot ? ( no:EMDC0FF )
;
;-------------- 転送エリアＯＡＭ変更チェック ----------------------------
		LDY	ENTROB,X
		BMI	EMDC0FF		;転送エリア確保？ ( no:EMDC0FF )
;
		LDA	ENCHPT+1,X
		AND	#00FFH
		BEQ	EMDC0FF		;特殊ズームＯＢＪ？ ( no:EMDC0FF )
;
		DEC	A
		BNE	EMDC0FE		;2x2 size ? ( no:EMDC0FE )
		JSL	>TROBJ_OAM_2x2
		BRA	EMDC0FF
;
EMDC0FE		EQU	$
		JSL	>TROBJ_OAM_4x4
;
EMDC0FF		EQU	$
		LDY	ENMODE,X
		CPY	#EMOVE
		BNE	EMDC100		;move ? ( no:EMDC100 )
		LDA	ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BEQ	EMDC010		;enemy stop ? ( no:EMDC010 )
EMDC100		EQU	$
		PLA			;pull pull return !!
		PLY
		RTL
;
;-------------- 凍ってるかチェック ------------------------------
EMDC010		EQU	$
		LDA	ENCOLD,X
		BEQ	EMDC0106	;凍ってる？ ( no:EMDC0106 )
;
		CMP	#020H
		BCS	EMDC0100	;もうすぐ解凍”ブルブル”？ ( no:EMDC0100 )
		LSR	A
		BNE	EMDC010F	;解凍サウンドセット？ ( no:EMDC010F )
;
		LDA	#077H		;[♪]
		JSL	>SOUND_3_ON
;
EMDC010F	EQU	$
		AND	#01H
		ASL	A		;[ (C)=0 ]
		DEC	A
;;;;		    CLC
		ADC	ENXPSL,X
		STA	ENXPSL,X
EMDC0100	EQU	$
		LDA	ENCLOR,X	;凍ったカラーセット
		AND	#11110001B
		ORA	#00000110B
		STA	ENCLOR,X
;
		LDA	ENTIM1,X
		BNE	EMDC0102	;”凍ったキラキラ”セット？ ( no:EMDC0102 )
;
		LDA	#0CH
		STA	ENTIM1,X
		JSL	>COLD_KIRA_ST
EMDC0102	EQU	$
		LDA	ENSHOT,X
		BNE	EMDC012		;enemy shot ? ( yes:EMDC012 )
;
		DEC	ENCOLD,X
		BNE	EMDC0104	;解凍？ ( no:EMDC0104 )
;
;-------------- 解凍！！ --------------------------------
		JSL	>FUSNB_SET	;効果セット
		JSL	>ENRETURN	;元に復帰
		LDA	#0FD00H		;Ｙスピードセット
		STA	ENYSPD,X
;
;-------------- プレイヤーとの衝突チェック ------------------------------
EMDC0104	EQU	$
		JSL	>STOP_EPCRCK
;
		PLA			;pull pull return !!
		PLY
		RTL
;
;-------------- enemy shot check --------------------------------
EMDC0106	EQU	$
		LDA	ENSHOT,X
		BNE	EMDC012		;enemy shot ? ( yes:EMDC012 )
		RTL
;
EMDC012		EQU	$
		DEC	A
		BEQ	EMDC014		;食べれないタイマー減算？ ( no:EMDC014 )
		DEC	ENSHOT,X
;
EMDC014		EQU	$
		LDY	ENTROB,X
		BMI	EMDC020		;転送エリア確保？ ( no:EMDC020 )
;
;;;;		    TROBJ_CHK_4
;;;;		    BNE	    EMDC020	    ;転送エリア計算ＯＫ？ ( no:EMDC020 )
;
;-------------- 回転ＯＢＪセット ------------------------
		LDA	ENCHPT+1,X
		AND	#00FFH
		BEQ	EMDC020		;特殊ズームＯＢＪ？ ( no:EMDC020 )
;
		LDA	<ENCONT,X	;matrix data set
		CLC
		ADC	#010H
		AND	#0FFH
		STA	<ENCONT,X
		STA	R5		;(R5) <-- angle
		LDA	#0100H
		STA	R6		;(R6) <-- zoom data
;
		JSL	>EN_BMPCHR_ST
;
		LDA	>ESHTCHIPSB,X
		LDX	#BANK C_16_ZOOM_XY
		JSL	>CHIPON
;
		INC	OBM7WF		;mode 7 OBJ chara DMA "ON"
;
		LDX	<ENINDX
;
;-------------- enemy shot move -------------------------
EMDC020		EQU	$
		LDA	ENCBFG,X
		AND	#001100B
		BEQ	EMDC030		;side cross ? ( no:EMDC030 )
;
		LDA	ENGPOW,X
		CMP	#040H
		BCS	EMDC023		;反射？ ( no:EMDC023 )
;
;-------------- サウンドセット座標セット --------
		JSR	EGG_BGCR_SOUND
		BRA	EMDC030
;
EMDC023		EQU	$
		LDA	ENXSPD,X	;1/4 X speed EOR
		ASR16
		ASR16
		STA	ENXSPD,X
		LDA	#040H
		STA	ENGPOW,X
;
		LDA	ENCOLD,X
		BEQ	EMDC024		;凍ってる？ ( no:EMDC024 )
;
		PLA			;pull pull return !!
		PLY
		JMP	>ICECL_SET
;
;-------------- 敵なら死亡 ----------------------
EMDC024		EQU	$
;
;-------------- サウンドセット座標セット --------
		LDA	#01FH		;[♪]
		JSL	>SOUND_XYST
;
;;;;		    LDA	    ENMOD1,X
;;;;		    AND	    #0110000000000000B
;;;;		    BNE	    EMDC030	    ;敵？ ( no:EMDC030 )
;;;;;
;;;;		    PLA			    ;pull pull return !!
;;;;		    PLY
;;;;		    JMP	    >FSMK0_SET4
;
EMDC030		EQU	$
		LDA	ENCBFG,X
		BIT	#000001B
		BNE	EMDC0300	;foot cross ? ( yes:EMDC0300 )
;
		AND	#000010B
		BEQ	EMDC0308	;hed cross ? ( no:EMDC0308 )
;
;-------------- 頭ＢＧ当たり ----------------------------
		LDA	ENGPOW,X
		CMP	#040H
		BCC	EMDC0301	;反射？ ( yes:EMDC0301 )
		STZ	ENYSPD,X	;Ｙスピードクリアー
;
;-------------- サウンドセット座標セット --------
		LDA	#01FH		;[♪]
		JSL	>SOUND_XYST
		JMP	EMDC050
;
;-------------- 足ＢＧ当たり ----------------------------
EMDC0300	EQU	$
		LDA	ENGPOW,X
		CMP	#040H
		BCS	EMDC031		;反射？ ( no:EMDC031 )
;
EMDC0301	EQU	$
;
;-------------- サウンドセット座標セット --------
		JSR	EGG_BGCR_SOUND
;
EMDC0308	EQU	$
		JMP	EMDC050
;
EMDC031		EQU	$
;
;-------------- サウンドセット座標セット --------
		LDA	#01FH		;[♪]
		JSL	>SOUND_XYST
;
		JSL	>XSDOWN2	;X speed down
;
		LDA	<ENWRK0,X
;;;;		    CMP	    #02H
		CMP	#03H
		BCC	EMDC040		;bound ok ? ( yes:EMDC040 )
;
;-------------- 敵ならＸスピードが０になるまで --
		LDA	ENMOD1,X
		AND	#0110000000000000B
		BNE	ENRETURN	;敵？ ( no:ENRETURN )
;
		STZ	ENXSPD,X
;;;;;;;;		LDA	ENXSPD,X
;;;;;;;;		BNE	EMDC045		;Ｘスピードが０？ ( no:EMDC045 )
;
;-------------- return to normal mode set -------
ENRETURN	EQU	$
		JSL	>TROBJ_CLEAR_CHK
;
		TXY			;(Y) <-- index
		LDA	ENMYNO,X	;(A) <-- enemy no.
		JSL	>ESTATST	;enemy status set
		LDA	EPXMUK,X	;プレイヤーの方に向く
		AND	#00FFH
		STA	ENMUKI,X
		JSL	>ENRINT		;enemy again initial set
		LDA	ENCOLD,X
		BEQ	ENRETURN_010	;凍ってる？ ( no:ENRETURN_010 )
;
		STZ	ENXSPD,X	;Ｘスピードクリアー
		LDA	ENCLOR,X	;凍ったカラーセット
		AND	#11110001B
		ORA	#00000110B
		STA	ENCLOR,X
ENRETURN_010	EQU	$
		RTL

REBOUND_YSPD	EQU	$-2
		WORD	0FD80H,0FDC0H,0FE00H
;
;-------------- bound set -----------------------
EMDC040		EQU	$
		INC	<ENWRK0,X
EMDC045		EQU	$
;;;;		    LDA	    #0FD80H
;;;;;;;;		LDA	#0FE00H
		LDA	<ENWRK0,X
		ASL	A
		TXY
		TAX
		LDA	>REBOUND_YSPD,X
		TYX
		STA	ENYSPD,X
		LDA	#040H
		STA	ENGPOW,X
;
;-------------- enemy kill check ----------------
EMDC050		EQU	$
		LDY	ECRSFG,X
		DEY
		BMI	EMDC060		;敵と衝突？ ( no:EMDC060 )
;
;-------------- 敵と衝突 ------------------------
		LDA	ENMODE,Y
		CMP	#EMOVE
		BNE	EMDC060		;enemy move ? ( no:EMDC060 )
;
		LDA	ENCOLD,Y
		BEQ	EMDC051		;凍ってる？ ( no:EMDC051 )
;
		PHY			;(Y) save
		TYX
		JSL	>ICECL_SET
		PLY			;(Y) save
		LDX	<ENINDX
		BRA	EMDC052
;
EMDC051		EQU	$
		LDA	ENMOD0,Y
		AND	#0000000000100000B
		BNE	EMDC060		;shot enemy cross ok ? ( no:EMDC060 )
;
;-------------- 敵を蹴散らす --------------------
		TYX
		JSL	>ENDEATH_SET	;敵を蹴散らしセット
		BCS	EMDC060		;蹴散らせた ? ( no:EMDC060 )
;
;-------------- 自分が跳ね返る ------------------
EMDC052		EQU	$
		LDA	ENGPOW,X
		CMP	#040H
		BCS	EMDC053		;パワーショット？ ( no:EMDC053 )
		LDA	ENMYNO,X
		CMP	#EGG00
		BCC	EMDC053		;タマゴ？ ( no:EMDC053 )
		CMP	#EGG09+1
		BCS	EMDC053		;タマゴ？ ( no:EMDC053 )
;
;;;;		    LDA	    #01H
;;;;		    STA	    ENWRKC,X	    ;[ ※パワーショットタマゴのスクロールＳＴＯＰ ]
		LDA	#04H		;パワーショットキャンセル
		STA	ENGPOW,X
		BRA	EMDC060
;
EMDC053		EQU	$
		LDA	ENCOLD,X
		BEQ	EMDC056		;凍ってる？ ( no:EMDC056 )
;
		JMP	>ICECL_SET
;
EMDC056		EQU	$
		JSL	>SHOT_EN_KILL	;ショット敵死亡セット
;
EMDC060		EQU	$
		PLA			;pull pull return !!
		PLY
		RTL
;
;------------------------------------------------------------------------
;-		タマゴＢＧ反射サウンドセット				-
;------------------------------------------------------------------------
EGG_BGCR_SOUND	EQU	$
		CMP	#2
		BCS	EGG_BGC_SND_050
		LDA	#067H-(09CH-2)+1
EGG_BGC_SND_050 EQU	$
;;;;		    CLC
		ADC	#(09CH-2)-1
		CMP	#09EH+1
		BCC	EGG_BGC_SND_100
		LDA	#09EH
EGG_BGC_SND_100 EQU	$
		JSL	>SOUND_XYST	;[♪]
		RTS
;
;------------------------------------------------------------------------
;-		プレイヤー跳ね飛ばし衝突チェック			-
;------------------------------------------------------------------------
NOFAIL_CRCK	EQU	$
		LDY	ECRSFG,X
		BPL	NOFAIL_CRCK_010 ;プレイヤーと当たった？ ( no:NOFAIL_CRCK_010 )
;
		JSL	>PLCRMKCK	;プレイヤー衝突位置チェック
		TYX			;(X) <-- プレイヤーとの衝突位置
		JSR	(!NOFAIL_INIT,X)
;
NOFAIL_CRCK_010 EQU	$
		RTL
;
;----------------------------------------------------------------
;-		プレイヤー跳ね飛ばし衝突チェックルーチンテーブル-
;----------------------------------------------------------------
NOFAIL_INIT	EQU	$
		WORD	NOFAIL_INIT_0	;[0] 右
		WORD	NOFAIL_INIT_1	;[2] 左
		WORD	NOFAIL_INIT_2	;[4] 頭
		WORD	NOFAIL_INIT_3	;[6] 足
;
;----------------------------------------------------------------
;-		プレイヤー跳ね飛ばし衝突チェック（右、左）	-
;----------------------------------------------------------------
NOFAIL_INIT_0	EQU	$
NOFAIL_INIT_1	EQU	$
		LDX	<ENINDX
		LDA	EPWIDX,X
		EOR	ENXSPD,X
		BPL	NOFAIL_INIT_020 ;当たりＯＫ？ ( no:NOFAIL_INIT_020 )
;
		LDA	#01CH		;[♪]
		JSL	>SOUND_3_ON
;
 IF  JPN | NES ;**** 日本 or NES 対応 [1995/6/30] ****************
		LDA	#0FE00H
		LDY	EPXMUK,X
		BEQ	NOFAIL_INIT_010
		LDA	#0200H
 ELSE	       ;**** PAL 対応 [1995/7/20] ************************
		LDA	#-(0200H*5/4)
		LDY	EPXMUK,X
		BEQ	NOFAIL_INIT_010
		LDA	#0200H*5/4
 ENDIF
NOFAIL_INIT_010 EQU	$
		STA	PLMVSP		;プレイヤースピードセット
		STA	PLXSPD		;
		EOR	#0FFFFH
		INC	A
		STA	ENXSPD,X	;敵のスピードセット
 IF  JPN | NES ;**** 日本 or NES 対応 [1995/6/30] ****************
		LDA	#0FD00H
 ELSE	       ;**** PAL 対応 [1995/7/20] ************************
		LDA	#0FC99H
 ENDIF
		STA	PLYSPD		;プレイヤースピードセット
		LDA	#P008
		STA	PLJUMP		;プレイヤージャンプ”ＯＮ”
		LDA	#0FD00H
		STA	ENYSPD,X	;敵のスピードセット
		LDA	#040H
		STA	ENGPOW,X	;敵の重力セット
NOFAIL_INIT_020 EQU	$
		RTS
;
;----------------------------------------------------------------
;-		敵プレイヤー跳ね飛ばし衝突チェック（頭）	-
;----------------------------------------------------------------
NOFAIL_INIT_2	EQU	$
		LDX	<ENINDX
		LDA	EPWIDY,X
		EOR	ENYSPD,X
		BPL	NOFAIL_INIT_240 ;当たりＯＫ？ ( no:NOFAIL_INIT_240 )
;
		LDA	#01CH		;[♪]
		JSL	>SOUND_3_ON
;
		LDA	ENYSPD,X
		BPL	NOFAIL_INIT_210
		LDA	#00
NOFAIL_INIT_210 EQU	$
		BIT	PLYSPD
		BMI	NOFAIL_INIT_220
		CMP	PLYSPD
		BMI	NOFAIL_INIT_230
NOFAIL_INIT_220 EQU	$
		STA	PLYSPD		;プレイヤースピードセット
NOFAIL_INIT_230 EQU	$
		LDA	#05H
		STA	PLSITD		;プレイヤーお座りセット
		LDA	#0FC00H
		STA	ENYSPD,X	;敵のスピードセット
		LDA	#040H
		STA	ENGPOW,X	;敵の重力セット
NOFAIL_INIT_240 EQU	$
		RTS
;
;----------------------------------------------------------------
;-		プレイヤー跳ね飛ばし衝突チェック（足）		-
;----------------------------------------------------------------
NOFAIL_INIT_3	EQU	$
		LDX	<ENINDX
		LDA	EPWIDY,X
		EOR	ENYSPD,X
		BPL	NOFAIL_INIT_340 ;当たりＯＫ？ ( no:NOFAIL_INIT_340 )
;
		LDA	#01CH		;[♪]
		JSL	>SOUND_3_ON
;
		LDA	PLYSPD
		BPL	NOFAIL_INIT_310
		LDA	#00
NOFAIL_INIT_310 EQU	$
		BIT	ENYSPD,X
		BMI	NOFAIL_INIT_320
		CMP	ENYSPD,X
		BMI	NOFAIL_INIT_330
NOFAIL_INIT_320 EQU	$
		STA	ENYSPD,X	;敵のスピードセット
		LDA	#040H
		STA	ENGPOW,X	;敵の重力セット
NOFAIL_INIT_330 EQU	$
		LDA	!PLBGCR
		AND	#0000000000011000B
		BNE	NOFAIL_INIT_338		; プレイヤー頭当たり？
;						; [yes->NOFAIL_INIT_338]
 IF  JPN | NES ;**** 日本 or NES 対応 [1995/6/30] ****************
		LDA	#0FC00H		;player Y speed set
 ELSE	       ;**** PAL 対応 [1995/7/20] ************************
		LDA	#0FB76H		;player Y speed set
 ENDIF
		STA	PLYSPD		;プレイヤースピードセット
NOFAIL_INIT_338 EQU	$
		LDA	#P008
		STA	PLJUMP		;プレイヤージャンプ”ＯＮ”
		LDA	#01H+8000H
		STA	PLSPJP		;ジタバタジャンプフラグ”ＯＮ”
NOFAIL_INIT_340 EQU	$
		RTS
;
PLAYER_REBOUND	EQU	$		; プレイヤー跳ね返り
		STZ	!PLDOSN
		JSR	NOFAIL_INIT_330
		RTL
;
;------------------------------------------------------------------------
;-		サウンドセット座標セット				-
;-			in :						-
;-				(A) <-- サウンドフラグ			-
;------------------------------------------------------------------------
SOUND_XYST	EQU	$
		JSL	>SOUND_3_ON
;
		LDA	#040H
		STA	SOUND_ON	;サウンドセットフラグセット
		LDA	ENXPSL,X
		STA	SOUND_X		;サウンドセットＸ座標セット
		LDA	ENYPSL,X
		STA	SOUND_Y		;サウンドセットＹ座標セット
		RTL
;
;------------------------------------------------------------------------
;-		ショット敵死亡セット					-
;------------------------------------------------------------------------
;
SCORE_P_DATA	EQU	$-(3*2) ;[EXCHPT]
		WORD	1	;[1]
		WORD	3	;[2]
		WORD	5	;[3]
;;;;		    WORD    8	    ;[4]
;;;;		    WORD    -5	    ;[6]

;
SHOT_EN_KILL_S	EQU	$
		LDY	ECRSFG,X
		BEQ	SHOT_EN_KILL_20 ;衝突してる？ ( no:SHOT_EN_KILL_20 )
		BPL	SHOT_EN_KILL_10 ;プレイヤーと衝突してる？ ( no:SHOT_EN_KILL_10 )
;
;-------------- プレイヤーとの衝突チェック ----------------------
		JSL	>EPCRCK_P
		RTL
;
;-------------- 敵との衝突チェック ------------------------------
SHOT_EN_KILL_10 EQU	$
		LDA	ENMODE-1,Y
		CMP	#EMOVE
		BNE	SHOT_EN_KILL_20 ;敵健在？ ( no:SHOT_EN_KILL_10 )
		LDA	ENSHOT-1,Y
		BNE	SHOT_EN_KILL_30 ;ショット中？ ( yes:SHOT_EN_KILL_30 )
SHOT_EN_KILL_20 EQU	$
		RTL
;
SHOT_EN_KILL_30 EQU	$
		DEY			;[-1]
		TYX
;
SHOT_EN_KILL	EQU	$
;;;;		    JMP	    >ENDEATH_SET    ;敵の死亡セット
;
;------------------------------------------------------------------------
;-		敵の死亡セット						-
;------------------------------------------------------------------------
ENDEATH_SET	EQU	$
		JSL	>HEIH0_DEATH_CHK	;ノーマルのへいほー、地下へいほー、草かげへいほー ?
		BEQ	ENDEATH_SET_100		; yes: ENDEATH_SET_100
		JSL	>MATO0_DEATH_CHK	;まとくん殺す ?
		BNE	ENDEATH_SET_200		; yes: ENDEATH_SET_200

ENDEATH_SET_100 EQU	$
		LDX	<ENINDX
		SEC
		RTL

ENDEATH_SET_200 EQU	$
ENDEATH_SET_4	EQU	$
		LDA	ENMYNO,X
		CMP	#KAMO1
		BNE	ENDEATH_SET_FF8 ;カルガモ？ ( no:ENDEATH_SET_FF8 )
ENDEATH_SET_FF7 EQU	$
		JMP	SHOT_EN_KILL_60
;
ENDEATH_SET_FF8 EQU	$
		CMP	#EGG09
		BNE	ENDEATH_SET_3	;大きいタマゴ？ ( no:ENDEATH_SET_3 )
		LDA	ENGMAX,X
		CMP	#0400H+1
		BCS	ENDEATH_SET_FF7 ;重たい？ ( yes:ENDEATH_SET_FF7 )
;
ENDEATH_SET_3	EQU	$
		LDA	#EFALL		;落下死セット
		STA	ENMODE,X
;
		STZ	ENYSPD,X
		LDA	#0400H
		STA	ENGMAX,X
		STZ	ENXSPD,X
		STZ	ENXPOW,X
;
ENDEATH_SET_2	EQU	$
		LDA	ENMYNO,X
		CMP	#EGG00
		BCC	ENDEATH_SET_FFB ;タマゴ？ ( no:ENDEATH_SET_FFB )
		CMP	#EGG09+1
		BCS	ENDEATH_SET_FFB ;    ”	  ( no:ENDEATH_SET_FFB )
;
		CMP	#KPBOM
		BCC	ENDEATH_SET_FFA ;中から何か出るタマゴ？ ( yes:ENDEATH_SET_FFA )
;
		CMP	#DRKEY
		BEQ	ENDEATH_SET_FF9 ;カギ？ ( yes:ENDEATH_SET_FF9 )
;
		LDA	ENGPOW,X
		CMP	#040H
		BCC	SHOT_EN_KILL_2	;消える？ ( yes:SHOT_EN_KILL_2 )
;
		LDA	ENMYNO,X
		CMP	#YSEGG
		BCS	SHOT_EN_KILL_2	;大きいタマゴ？ ( yes:SHOT_EN_KILL_2 )
;
ENDEATH_SET_FF9 EQU	$
		LDA	#01H		;ＢＧ隠れキャンセル！！
		STA	<ENWRK0,X
		LDA	#040H
		STA	ENGPOW,X
		STZ	ENSHOT,X
		BRA	ENDEATH_SET_FFC
;
;-------------- タマゴからアイテム出現 --------------------------
ENDEATH_SET_FFA EQU	$
		JSR	EGG_ITEM_OUT
ENDEATH_SET_FFA0 EQU	$
		LDA	#040H
		STA	ENGPOW,X
ENDEATH_SET_FFA2 EQU	$
		LDA	#EMOVE		;モードセット
		STA	ENMODE,X
		BRA	SHOT_EN_KILL_3
;
;-------------- タマゴで無い --------------------------------------------
ENDEATH_SET_FFB EQU	$
		CMP	#SUIKT
		BNE	ENDEATH_SET_FFB0 ;スイカの種？ ( no:ENDEATH_SET_FFB0 )
;
		JSL	>SUIKT_DOWN_ST
		JMP	ENDEATH_SET_080
;
ENDEATH_SET_FFB0 EQU	$
		LDA	#040H
		STA	ENGPOW,X
;
		LDA	ENMYNO,X
		CMP	#MONK0
		BCC	ENDEATH_SET_000 ;お猿さん？ ( no:ENDEATH_SET_000 )
		CMP	#MONK4+1
		BCS	ENDEATH_SET_000 ;     ”    ( no:ENDEATH_SET_000 )
;
		LDA	ENTIM1,X
		BNE	SHOT_EN_KILL_60 ;プレイヤーと当たり無しウェイト？ ( yes:SHOT_EN_KILL_60 )
;
		LDY	<ENINDX
		PHY
		STX	<ENINDX
		JSL	>MONKY_FAIL_SET
		PLY
		STY	<ENINDX
		LDA	ENMYNO,Y
		CMP	#NISEF
		BNE	ENDEATH_SET_FFC ;偽フラワー？ ( no:ENDEATH_SET_FFC )
		JMP	ENDEATH_SET_010
;
ENDEATH_SET_FFC EQU	$
		LDA	#EMOVE		;跳ね返る！！
		STA	ENMODE,X
		BRA	SHOT_EN_KILL_3
;
SHOT_EN_KILL_2	EQU	$
		LDA	#EFAIL		;落下死セット
		STA	ENMODE,X
		STZ	ENSHOT,X	;ショットフラグリセット
;
SHOT_EN_KILL_3	EQU	$
		LDY	<ENINDX
		LDA	ECROSX,Y
		BNE	SHOT_EN_KILL_35
;
		CPX	ENINDX
		BRA	SHOT_EN_KILL_45
;
SHOT_EN_KILL_35 EQU	$
		CPX	<ENINDX
		BEQ	SHOT_EN_KILL_40
		EOR	#0FFFFH
		INC	A
SHOT_EN_KILL_40 EQU	$
		ASL	A		;(C) <-- (N)
SHOT_EN_KILL_45 EQU	$
		LDA	#0FF00H
		BCC	SHOT_EN_KILL_50
		LDA	#0100H
SHOT_EN_KILL_50 EQU	$
		STA	ENXSPD,X
		LDA	#0FE00H
		STA	ENYSPD,X
		LDA	#040H
		STA	ENGPOW,X
		JSL	>DON0ST		;"Doon" set
SHOT_EN_KILL_60 EQU	$
		BRA	ENDEATH_SET_070
;
ENDEATH_SET_000 EQU	$
		CMP	#COIN1
		BNE	ENDEATH_SET_002 ;コイン？ ( no:ENDEATH_SET_002 )
;
;-------------- コインカウンター加算 ------------------------------------
COIN1_END_SET	EQU	$
;;;;		    INC	    COIN_ADD	    ;coin counter add !!
;
		LDA	ENCLOR,X
		BIT	#00000010B	;(A) <-- コインカラー
		BEQ	ENDEATH_SET_001 ;青コイン？ ( no:ENDEATH_SET_001 )
;
BLUE_COIN_INC	EQU	$
		JSL	>EX_COIN_SET

		LDA	#00093H
		INC	CORS_COIN
		LDY	CORS_COIN
		CPY	#014H
		BMI	B_C_I000

		INC	A
;;;;;;;;		LDA	#00094H

B_C_I000	EQU	$
;;;;;;;;		LDA	#018H		;[♪]
		JSL	>SOUND_3_ON
		BRA	ENDEATH_SET_080
;
ENDEATH_SET_001 EQU	$
		JSL	>EX_COIN_SET_3
		LDA	#09H		;[♪]
		JSL	>SOUND_3_ON
		BRA	ENDEATH_SET_080
;
ENDEATH_SET_002 EQU	$
		CMP	#PUPBB
		BNE	ENDEATH_SET_008 ;シャボン１ｕｐ？ ( no:ENDEATH_SET_008 )
;
		LDA	ENXPSL,X
		STA	WORK0		;(WK0,1) <-- X pos set
		LDA	ENYPSL,X
		SEC
		SBC	#04H
		STA	WORK2		;(WK2,3) <-- Y pos set
		LDA	<ENWRK0,X	;(A) <-- 1up or 3up
		INC	A		;[ 1,3 <- 0,2 ]
		JSL	>PL_UP_SET
;
ENDEATH_SET_008 EQU	$
		LDY	<ENINDX
		LDA	ENMYNO,Y
		CMP	#SUIKT
		BNE	ENDEATH_SET_010 ;相手はスイカの種？ ( no:ENDEATH_SET_010 )
;
		TXY			;(Y) <-- (X)
		JSR	EGG_ITEM_TIMKN
		JMP	ENDEATH_SET_FFA2
;
ENDEATH_SET_010 EQU	$
;
		M8
;
		LDA	#0FFH		;再セット無しセット
		STA	ENRETN,X
;
		M16
;
ENDEATH_SET_070 EQU	$
		CPX	PONLFFG
		BNE	ENDEATH_SET_080

		STZ	PONLFFG
ENDEATH_SET_080 EQU	$

		LDX	<ENINDX
		CLC
		RTL
;
;------------------------------------------------------------------------
;-		タマゴからアイテム出現					-
;-			in :						-
;------------------------------------------------------------------------
EGG_ITEM_OUT	EQU	$
		LDA	ENXPSL,X	;(WK0,1) <-- タマゴの殻セット用Ｘ座標セット
		STA	WORK0
		LDA	ENYPSL,X	;(WK2,3) <--	     ”	       Ｙ    ”
		STA	WORK2
		LDA	ENCLOR,X	;(WK4,5)  <-- タマゴカラー
		STA	WORK4
		PHX			;(X) save
		JSL	>EGG_WARE_SET	;タマゴ割れ殻セット
		PLX			;(X) load
;
		TXY			;(Y) <-- (X)
;
		LDA	ENMYNO,X
		SEC
		SBC	#EGG00
		ASL	A
		TAX
		JSR	(!EGG_ITEM_TBL,X)
;
		TYX
		RTS
;
EGG_ITEM_TBL	EQU	$
		WORD	EGG_ITEM_COIN1R ;[EGG00] 赤コイン
		WORD	EGG_ITEM_TIMKNS ;[EGG02] スターくんいっぱい
		WORD	EGG_ITEM_COIN1	;[EGG01] 黄コイン
;;;;		    WORD    EGG_ITEM_TIMKN  ;[EGG03] スターくん
		WORD	EGG_ITEM_NOSET	;[EGG03] 何も出ない
;
;----------------------------------------------------------------
;-		何も出ない					-
;----------------------------------------------------------------
EGG_ITEM_NOSET	EQU	$
		TYX
		PLA		;[ pull pull pull pull return !! ]
		PLA
		JSL	>ENCLEAR
		BRA	ENDEATH_SET_080
;
;----------------------------------------------------------------
;-		赤コインセット					-
;----------------------------------------------------------------
EGG_ITEM_COIN1R EQU	$
		LDA	#COIN1		;(A) <-- 敵Ｎｏ．
		JSL	>ESTATST	;敵エリア確保
;
		LDA	ENCLOR,Y	;カラー変更
		EOR	#00000110B
		STA	ENCLOR,Y
COIN1_INIT_SET	EQU	$
		LDA	#0100H		;初期タイマーセット
		STA	ENTIM0,Y
		LDA	#0100H+040H
		STA	ENTIM1,Y
;;;;;;;;		LDA	#040H
		LDA	#010H
		STA	ENTIM2,Y
		RTS
;
;----------------------------------------------------------------
;-		黄コインセット					-
;----------------------------------------------------------------
EGG_ITEM_COIN1	EQU	$
		LDA	#COIN1		;(A) <-- 敵Ｎｏ．
		JSL	>ESTATST	;敵エリア確保
;
		BRA	COIN1_INIT_SET
;

;----------------------------------------------------------------
;-		スターくんセット				-
;----------------------------------------------------------------
TIMKN_CHANGE	EQU	$
		JSR	EGG_ITEM_TIMKN
		RTL
;
;----------------------------------------------------------------
;-		スターくんセット				-
;----------------------------------------------------------------
EGG_ITEM_TIMKNS EQU	$
		LDA	#2-1
		BRA	EG_IT_TIMKN_100
;
EGG_ITEM_TIMKN	EQU	$
		LDA	#1-1
EG_IT_TIMKN_100 EQU	$
		STA	<EWORK8		;(EWK8,9) <-- スターくんセット数
;
		LDA	TIMER
		CMP	#300
		LDA	#TIMKN		;(A) <-- 敵Ｎｏ．
		BCC	EG_IT_TIMKN_150
		LDA	#COIN1		;(A) <-- 敵Ｎｏ．
EG_IT_TIMKN_150 EQU	$
		JSL	>ESTATST	;敵エリア確保
		LDA	#0
		STA	ENCOLD,Y	;凍ってるフラグキャンセル
		LDA	TIMER
		CMP	#300
		BCC	EG_IT_TIMKN_200
		JSR	COIN1_INIT_SET
		BRA	EG_IT_TIMKN_250
;
EG_IT_TIMKN_200 EQU	$
		LDA	#0180H		;初期タイマーセット
		STA	ENTIM0,Y
;
		M8
;
		LDA	#0FFH
		STA	ENRETN,Y	;再セット無し！！
;
		M16
;
EG_IT_TIMKN_250 EQU	$
		LDA	<EWORK8
		BEQ	EG_IT_TIMKN_300 ;スターくん１個セット？ ( yes:EG_IT_TIMKN_300 )
;
		PHY			;(Y) save
;
		LDA	TIMER
		CLC
		ADC	#10
		JSL	>TIMKN_MANY_SET
;
		PLY			;(Y) load
EG_IT_TIMKN_300 EQU	$
		RTS
;
BEAT_P_SET	EQU	$
		LDY	SPECIAL_P	;スペシャルポイント加算
		CPY	#30
		BCS	BEAT_P_SET_020	;ＭＡＸポイントオーバー？ ( yes:BEAT_P_SET_020 )
;
;-------------- ＢＥＡＴポイント加算 ------------------------------------
BEAT_P_SET_2	EQU	$
		PHX			;(X) save
;
		STA	<EWORK4		;(EWK4,5) <-- pattern no.
		ASL	A
		TAX
		LDA	SPECIAL_P	;スペシャルポイント加算
		CLC
		ADC	>SCORE_P_DATA,X
		CMP	#30
		BCC	BEAT_P_SET_010
		LDA	#30
BEAT_P_SET_010	EQU	$
		STA	SPECIAL_P
;
		PLX			;(X) save
		JMP	SCORE_SET
;
;-------------- ＢＥＡＴポイントＭＡＸオーバーによるコインセット --------
BEAT_P_SET_020	EQU	$
		LDA	#COIN1		;(A) <-- 敵Ｎｏ．
		TXY			;(Y) <-- 敵インデックス
		JSL	>ENINSR		;敵エリア確保
		BCC	BEAT_P_SET_030	;     ”     ？ ( no:BEAT_P_SET_030 )
;
		LDA	<EWORK0		;Ｘ座標セット
		STA	ENXPSL,Y
		LDA	<EWORK2		;Ｙ座標セット
		STA	ENYPSL,Y
		LDA	#0030H		;初期タイマーセット
		STA	ENTIM0,Y
		STA	ENTIM1,Y
		STA	ENTIM2,Y
;;;;		    LDA	    #01H
		STA	ENWRK4,Y	;特殊セットフラグ”ＯＮ”
		LDA	#0FE80H
		STA	ENYSPD,Y	;Ｙスピードセット
		LDA	#08H
		STA	ENGPOW,Y
		LDA	ENMOD1,Y	;ＢＧチェック無しセット
		AND	#1111111111100000B
		STA	ENMOD1,Y
BEAT_P_SET_030	EQU	$
		RTL
;
;----------------------------------------------------------------
;-		タマゴが敵に当たった時の効果セット		-
;----------------------------------------------------------------
FSMK2_SET	EQU	$
;-------------- サウンドセット座標セット --------
		PHY
		LDA	#03BH		;[♪]
		JSL	>SOUND_XYST
		PLY
;
FSMK2_ST2	EQU	$
		LDA	ENXPSL,Y
		STA	<EWORK0
		LDA	ENYPSL,Y
		STA	<EWORK2
;
		LDA	#FSMK2		;(A) <-- 効果Ｎｏ．
		JSL	>EXINSR		;効果エリア確保
;
		LDA	<EWORK0
		STA	EXXPSL,Y
		LDA	<EWORK2
		STA	EXYPSL,Y
		LDA	#03H
		STA	EXTIM0,Y
		LDA	#FSMK2P
		STA	EXCHPT,Y
		RTL
;
;
FSMK0_SET4	EQU	$
;
;-------------- 敵の死亡セット ------------------------------------------
		JSL	>ENDEATH_SET_4
;
;-------------- 効果セット ----------------------------------------------
FSMK0_SET5	EQU	$
		LDA	ENXPSL,X
		CLC
		ADC	#08H
		STA	<EWORK0
		LDA	ENYPSL,X
		CLC
		ADC	#08H
		STA	<EWORK2
		BRA	FSMK0_SET0002
;
FSMK0_SET3	EQU	$
;
;-------------- 敵の死亡セット ------------------------------------------
		JSL	>ENDEATH_SET_4
;
;-------------- 効果セット ----------------------------------------------
FSMK0_SET3_2	EQU	$
		LDA	ENXPSL,X
		CLC
		ADC	PLXPSL
		CMP	#08000H
		ROR	A
		CLC
		ADC	#00008
		STA	<EWORK0

		LDA	ENYPSL,X
		CLC
		ADC	PLYPSL
		BRA	FSMK0_SET0000

FSMK0_SET	EQU	$
		LDA	ENXPSL,X
		CLC
		ADC	ENXPSL,Y
		CMP	#08000H
		ROR	A
		CLC
		ADC	#00008
		STA	<EWORK0

		LDA	ENYPSL,X
		CLC
		ADC	ENYPSL,Y

FSMK0_SET0000	EQU	$
		CMP	#08000H
		ROR	A
		CLC
		ADC	#00002
		STA	<EWORK2

		LDA	DOONTM
		BEQ	FSMK0_SET0001

		RTL

FSMK0_SET0001	EQU	$
		LDA	#010H
		STA	DOONTM

FSMK0_SET0002	EQU	$
		LDA	#FSMK0

FSMK0_SET2	EQU	$
		PHA			;(A) save
;
;-------------- サウンドセット座標セット --------
		LDA	#01CH		;[♪]
		JSL	>SOUND_XYST
;
		PLA			;(A) load
FSMK0_SET2_2	EQU	$
		JSL	>EXINSR

		LDA	<EWORK0
		STA	EXXPSL,Y
		LDA	<EWORK2
		STA	EXYPSL,Y

		LDA	#00004
		STA	EXTIM0,Y

		LDA	#00007H
		STA	EXCHPT,Y
		STA	EXWRK0,Y
		RTL
;
;------------------------------------------------------------------------
;-		氷になった敵の崩れるセット				-
;------------------------------------------------------------------------
ICECL_SET	EQU	$
		LDA	#0A1H		;[♪]
		JSL	>SOUND_3_ON
;
;-------------- 氷になった敵の崩れる効果セット --------------------------
		LDA	#ICECL		;(A) <-- 効果Ｎｏ．
		JSL	>EXINSR		;効果エリア確保
		LDA	ENXPSL,X
		STA	EXXPSL,Y	;Ｘ座標セット
		LDA	ENYPSL,X
		STA	EXYPSL,Y	;Ｙ座標セット
		LDA	#0BH
		STA	EXCHPT,Y	;初期パターンＮｏ．セット
		LDA	#04H
		STA	EXTIM0,Y	;初期タイマーセット
;
;-------------- 敵 死亡セット -------------------------------------------
		JSL	>ENDEATH_SET_2
		JMP	>ENCLEAR
;
;------------------------------------------------------------------------
;-		”凍ったキラキラ”セット				-
;-			in :						-
;-				(A) <-- ヨコサイズ			-
;-				(B) <-- タテ   ”			-
;------------------------------------------------------------------------
;
COLD_KIRA_ST	EQU	$
		JSL	>RANDAM
		LDA	RANDM0-1
		AND	#0FF00H
		ORA	EWIDEY,X
		STA	4202H
;
		LDA	RANDM0+1	;ウェイト
		LSR	A		;	 (C) <-- flag
		NOP			;
		NOP			;
;
		LDA	4217H
		AND	#00FFH
		BCC	COLD_KIRA_ST_10
		EOR	#0FFFFH
COLD_KIRA_ST_10 EQU	$
		ADC	ENXPSL,X
		STA	<EWORK0
;
		JSL	>RANDAM
		LDA	RANDM0-1
		AND	#0FF00H
		ORA	EWIDEX,X
		STA	4202H
;
		LDA	RANDM0+1	;ウェイト
		LSR	A		;	 (C) <-- flag
		NOP			;
		NOP			;
;
		LDA	4217H
		AND	#00FFH
		BCC	COLD_KIRA_ST_20
		EOR	#0FFFFH
COLD_KIRA_ST_20 EQU	$
		ADC	ENYPSL,X
		STA	<EWORK2
;
		LDA	#COLDK		;(A) <-- 効果Ｎｏ．
		JSL	>EXINSR		;効果エリア確保
;
		LDA	<EWORK0
		STA	EXXPSL,Y	;Ｘ座標セット
		LDA	<EWORK2
		SEC
		SBC	#04H
		STA	EXYPSL,Y	;Ｙ座標セット
		LDA	#06H
		STA	EXWRK0,Y	;初期カウンターセット
		LDA	#04H
		STA	EXTIM0,Y	;初期タイマーセット
		RTL
;
;************************************************************************
;*									*
;*		敵のビットマップＯＢＪ情報セット			*
;*									*
;*			ＩＮ   ： （Ｘ）    ← 敵インデックス		*
;*				  （Ｙ）    ← 転送エリアＮｏ．		*
;*									*
;*			ＯＵＴ ： （Ｘ）    ← ビットマップＯＢＪタイプ *
;*					      （０：２×２  ２：４×４）*
;*				  （Ｒ２）  ← プロットＸ座標		*
;*				  （Ｒ３）  ←	   ”  Ｙ ”		*
;*				  （Ｒ１２）← キャラクターアドレス	*
;*				  （Ｒ１３）←		”		*
;*									*
;*			ＢＲＫ ： （Ａ）				*
;*				  （Ｙ）				*
;*				  （ＥＷＫ０，１）			*
;*									*
;************************************************************************
EN_BMPCHR_ST	EQU	$
;
		I16
;
		TYX
		LDA	>TROBJ_PLOT_Y,X
		STA	R2		;(R2) <-- plot start Y pos
		LDA	>TROBJ_PLOT_X,X
		STA	R3		;(R3) <--	"    X  "
		LDX	<ENINDX
		LDA	#BANK CIPCHD
		STA	R13		;(R13) <-- chara address(B)
		LDA	ENCHPT+1,X
		AND	#00FFH
		DEC	A
		ASL	A
		TAY			;(Y) <-- 回転ＯＢＪルーチンタイプ
		LDA	ENMYNO,X
		ASL	A
		TAX
		LDA	>ETCADR,X
		TAX
		AND	#0400H
		BEQ	EN_BMPCHR_ST_20
		LDA	#08000H
EN_BMPCHR_ST_20 EQU	$
		STA	<EWORK0
		TXA
		BIT	#0200H
		BEQ	EN_BMPCHR_ST_30
		INC	<EWORK0
EN_BMPCHR_ST_30 EQU	$
		BIT	#0100H
		BEQ	EN_BMPCHR_ST_40
		LDA	#04000H
		TSB	<EWORK0
		TXA
EN_BMPCHR_ST_40 EQU	$
		AND	#0080H
		TSB	<EWORK0
		TXA
		AND	#0070H
		XBA
		LSR	A
		TSB	<EWORK0
		TXA
		AND	#000FH
		ASL	A
		ASL	A
		ASL	A
		ORA	<EWORK0
		STA	R12		;(R12) <-- chara address(L,H)
;
		I8
;
		TYX
		RTL
;
;************************************************************************
;*									*
;*		敵の座標計算						*
;*									*
;************************************************************************
;
EN_XYMOVE2	EQU	$
		LDA	ENCBFG,X
		LSR	A
		BCS	EN_XYMOVE_030

EN_XYMOVE	EQU	$
		LDA	ENGMAX,X
		SEC
		SBC	ENYSPD,X
		ASL	A		;(C) <-- (N)
		LDA	ENGPOW,X
		BCC	EN_XYMOVE_010
		EOR	#0FFFFH
		INC	A
EN_XYMOVE_010	EQU	$
		CLC
		ADC	ENYSPD,X
		STA	ENYSPD,X
;
		AND	#00FFH
		XBA
		CLC
		ADC	ENYSDR-1,X
		STA	ENYSDR-1,X	;(C) set
;
		LDA	ENYSPD,X
		AND	#0FF00H
		BPL	EN_XYMOVE_020
		ORA	#00FFH
EN_XYMOVE_020	EQU	$
		XBA
		ADC	#0
		STA	ENMOVY,X
;
		CLC
		ADC	ENYPSL,X
		STA	ENYPSL,X

EN_XYMOVE_030	EQU	$
		LDA	ENXMAX,X
		SEC
		SBC	ENXSPD,X
		ASL	A		;(C) <-- (N)
		LDA	ENXPOW,X
		BCC	EN_XYMOVE_040
		EOR	#0FFFFH
		INC	A
EN_XYMOVE_040	EQU	$
		CLC
		ADC	ENXSPD,X
		STA	ENXSPD,X
;
		AND	#00FFH
		XBA
		CLC
		ADC	ENXSDR-1,X
		STA	ENXSDR-1,X	;(C) set
;
		LDA	ENXSPD,X
		AND	#0FF00H
		BPL	EN_XYMOVE_050
		ORA	#00FFH
EN_XYMOVE_050	EQU	$2
		XBA
		ADC	#0
		STA	ENMOVX,X
;
		CLC
		ADC	ENXPSL,X
		STA	ENXPSL,X
;
		RTL
;
;************************************************************************
;*									*
;*		敵のタイマー計算					*
;*									*
;************************************************************************
EN_TIMER	EQU	$
		LDA	ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BEQ	EN_TIM0800

		LDA	ENTIM0,X
		BEQ	EN_TIM0100
		DEC	ENTIM0,X
EN_TIM0100	EQU	$
		LDA	ENTIM1,X
		BEQ	EN_TIM0200
		DEC	ENTIM1,X
EN_TIM0200	EQU	$
		LDA	ENTIM2,X
		BEQ	EN_TIM0300
		DEC	ENTIM2,X
EN_TIM0300	EQU	$
		LDA	ENTIM3,X
		BEQ	EN_TIM0800
		DEC	ENTIM3,X
EN_TIM0800	EQU	$

		RTL
;
;************************************************************************
;*		intial	( タマゴ )					*
;************************************************************************
EGG00IN		EQU	$
		JSL	>EGG00_COL_SET	;赤コインタマゴカラーセット
;
EGG01IN		EQU	$
EGG02IN		EQU	$
		LDA	ENWRKC,X
		BNE	EGG00IN_0100	;セーブビット情報チェック？ ( no:EGG00IN_0100 )
;
		JSL	>EXIST_CHECK2
		BEQ	EGG00IN_0050	;セットＯＫ？ ( yes:EGG00IN_0050 )
		JMP	>ENCLEAR_NORETN
;
EGG00IN_0050	EQU	$
		JSL	>POSITION_SAVE
EGG00IN_0100	EQU	$
;
EGG03IN		EQU	$
EGG08IN		EQU	$
EGG09IN		EQU	$
YSEGGIN		EQU	$
		RTL
;
;------------------------------------------------------------------------
;-		赤コインタマゴカラーセット				-
;------------------------------------------------------------------------
EGG00_COL	EQU	$
		BYTE	00000000B,00000010B,00000100B,00001000B
;
EGG00_COL_SET	EQU	$
		TXY
		LDA	FRCNT
		AND	#03H
		TAX
		LDA	ENCLOR,Y
		AND	#11110001B
		ORA	>EGG00_COL,X
		AND	#00FFH
		STA	ENCLOR,Y
		TYX
		RTL
;
;************************************************************************
;*		move	( タマゴ )					*
;*			※現在 (ENWRK8,9,A,B) は空き			*
;************************************************************************
;
;-------------- オプションポインターデータ ------------------------------
EGOPAD		EQU	$
		WORD	002H				;プレイヤーがリフトに乗っている時
		WORD	018H,02CH,040H,054H,068H,07CH
;
;-------------- オプションポインター方向チェックデータ ------------------
EGOPHS		EQU	$
		WORD	00002H,0FFFEH
;
;-------------- 歩いてる時の”トントン”ジャンプデータ ------------------
EG0JPA		EQU	$
		WORD	00000H,00000H,0FFFFH,0FFFEH,0FFFEH,0FFFDH,0FFFDH,0FFFDH
		WORD	0FFFDH,0FFFEH,0FFFEH,0FFFFH,0FFFFH,00000H,00000H,00000H
;
;-------------- 敵からタマゴになる時のアクションパターンデータ ----------
EGSTPT		EQU	$
		WORD	1,0,2,3,3
EGSTPT_E	EQU	$
EGGTM		EQU	EGSTPT_E-EGSTPT
;
;========================================================================
;=		move	( ヨッシー変身タマゴ )				=
;========================================================================
YSEGGMV		EQU	$
		LDA	ENTIM3,X
		BNE	EGG00MV_FFFF	;マリオ解除デモ？ ( yes:EGG00MV_FFFF )
		JMP	EGG00MV_0000
;
;------------------------------------------------------------------------
;-		マリオ解除デモ						-
;------------------------------------------------------------------------
EGG00MV_FFFF	EQU	$
		DEC	ENTIM3,X
		BEQ	EGG00MV_0010	;マリオ解除？ ( yes:EGG00MV_0010 )
;
		CMP	#02H
		BNE	EGG00MV_0020	;ヨッシータマゴ消去？ ( no:EGG00MV_0020 )
;
		LDA	#0FFH		;表示無しセット
		STA	ENYUSN,X
		RTL
;
EGG00MV_0010	EQU	$
;
;-------------- マリオをヨッシーに変える --------------------------------
		M_CHIP	MARIO_PS_HOSEI
;
		LDA	#00010000B	;マリオブロックスイッチ”ＯＦＦ”
		TRB	SWITCH_1
		STZ	PLTYPE		;マリオをヨッシーに変える
		JSL	>PLTYPE_RAMCLR
;
		LDA	PLYPSL		;Ｙ座標補正
		CLC
		ADC	#04H
		STA	PLYPSL
		LDA	#P008		;ヨッシーパターンＮｏ．セット
		STA	PLPATN
;;;;		    LDA	    #P008
		STA	PLJUMP		;ヨッシージャンプセット
 IF  JPN | NES ;**** 日本 or NES 対応 [1995/6/30] ****************
		LDA	#0FC00H
 ELSE	       ;**** PAL 対応 [1995/7/19] ************************
		LDA	#0FB76H
 ENDIF
		STA	PLYSPD
		STZ	PLMVSP		;Ｘスピードセット
		STZ	PLSPJP
;
;-------------- ヨッシータマゴを赤ちゃんに変える ------------------------
		LDX	<ENINDX
		JSL	>EGGKILL	;タマゴオプションキャンセルセット
		JSL	>ENCLEAR_NORETN
;
		LDA	#BABYM		;(A) <-- 敵Ｎｏ．
		TXY
		JSL	>ESTATST
;
		LDA	#EINIT		;モードセット
		STA	ENMODE,X
		LDA	PLYPSL
		STA	ENYPSL
		LDA	PLXPSL
		STA	ENXPSL
;
		LDA	#CHR64+1E0H*20H ;マリオ変身中のヨッシータマゴキャラクター転送
		STA	PCHTRF
;
;-------------- 変身終了 ------------------------------------------------
		STZ	PLSTFG
		STZ	ENSTFG
;
;-------------- ＢＧＭセット --------------------------------------------
		STZ	SOUND_0
		JSL	>BGM_SET	;[♪]
		LDX	<ENINDX
;
EGG00MV_0020	EQU	$
		RTL
;
EGG00MV_0000	EQU	$
;
;------------------------------------------------------------------------
;-		タマゴ特別チェック					-
;------------------------------------------------------------------------
		JSL	>EGG_SP_CHECK
;
;-------------- ヨッシータマゴ解除チェック ------------------------------
		LDA	SUPER_FLAG
		DEC	A
		BNE	EGG00MV_0040	;無敵終了？ ( no:EGG00MV_0040 )
;
;-------------- マリオ解除セット --------------------------------
		LDA	PCENTX		;Ｘ座標セット
		CLC
		ADC	ECENTX
		LSR	A
		STA	<EWORK0
		LDA	PCENTY		;Ｙ座標セット
		CLC
		ADC	ECENTY
		LSR	A
		STA	<EWORK2
		LDA	#FSMK1		;(A) <-- けむり効果Ｎｏ．（敵ＳＴＯＰ無視）
		JSL	>FSMK0_SET2
;
		LDA	#012H		;マリオ解除デモタイマーセット
		STA	ENTIM3,X
;;;;		    LDA	    #01H
		STA	PLSTFG		;プレイヤーＳＴＯＰ！！
		STA	ENSTFG		;敵ＳＴＯＰ！！
		RTL
;
;========================================================================
;=		move	( 赤コインタマゴ )				=
;========================================================================
EGG00MV		EQU	$
		JSL	>EGG00_COL_SET	;赤コインタマゴカラーセット
;
;========================================================================
;=		move	( 赤タマゴ )					=
;========================================================================
EGG01MV		EQU	$
;========================================================================
;=		move	( 黄タマゴ )					=
;========================================================================
EGG02MV		EQU	$
;========================================================================
;=		move	( 緑タマゴ )					=
;========================================================================
EGG03MV		EQU	$
;========================================================================
;=		move	( 赤大タマゴ )					=
;========================================================================
EGG08MV		EQU	$
;========================================================================
;=		move	( 緑大タマゴ )					=
;========================================================================
EGG09MV		EQU	$
;
;------------------------------------------------------------------------
;-		タマゴ特別チェック					-
;------------------------------------------------------------------------
		JSL	>EGG_SP_CHECK
;
EGG00MV_0040	EQU	$
		LDA	<ENWRK4,X
		BEQ	EGG00MV_0050	;オプションモード？ ( no:EGG00MV_0050 )
;
;-------------- オプションモード ----------------------------------------
		JMP	EGG00MV_0500
;
EGG00MV_0050	EQU	$
		LDA	ENWRK6,X
		BPL	EGG00MV_0051	;パターンチェンジロックでプレイヤーと当たり無し？ ( no:EGG00MV_0051 )
EGG00MV_00500	EQU	$
		RTL
;
EGG00MV_0051	EQU	$
		LSR	A
		BEQ	EGG00MV_0100	;パターンチェンジロック？ ( no:EGG00MV_0100 )
		LDA	ENYSPD,X
		BMI	EGG00MV_00500	;当たり無し？ ( yes:EGG00MV_00500 )
		JMP	EGG00MV_0220
;
EGG00MV_0100	EQU	$
		INC	<ENCONT,X	;動作パターンカウンターセット
;
		STZ	ENCHPT,X	;通常パターンＮｏ．セット
;
		LDA	<ENWRK0,X
		BNE	EGG00MV_0200	;ＢＧ埋まってる？ ( no:EGG00MV_0200 )
;
;------------------------------------------------------------------------
;-		タマゴ隠れ中						-
;------------------------------------------------------------------------
		LDY	ENCBFG,X
		BNE	EGG00MV_0150	;ＢＧに埋まってる？ ( yes:EGG00MV_0150 )
;
		LDA	#040H		;重力セット
		STA	ENGPOW,X
		LDA	#0400H
		STA	ENGMAX,X
;
EGG00_MVINT	EQU	$
		INC	<ENWRK0,X	;タマゴ隠れキャンセル
;
		LDA	ENCLOR,X	;通常ＢＧ優先順位変更
		ORA	#00100000B
		STA	ENCLOR,X
		LDA	ENMOD0,X
		AND	#1111111110111111B ;食べれるように変更
		ORA	#0000001000000000B ;衝突チェックされる様に
		STA	ENMOD0,X
		LDY	#01H
		LDA	ENMYNO,X
		CMP	#YSEGG
		BCC	EGG00MV_0110	;大きいタマゴ？ ( no:EGG00MV_0110 )
		LDY	#01AH
EGG00MV_0110	EQU	$
		TYA
		STA	<EWORK
		LDA	ENMOD1,X	;ＢＧチェックサイズセット
		AND	#1111111111000000B
		ORA	<EWORK
		STA	ENMOD1,X
		RTL
;
EGG00MV_0150	EQU	$
		LDA	ENCLOR,X	;タマゴ隠れ中ＢＧ優先順位変更
		AND	#11001111B
		STA	ENCLOR,X
EGG00MV_0160	EQU	$
		RTL
;
;------------------------------------------------------------------------
;-		タマゴ通常処理						-
;------------------------------------------------------------------------
EGG_CLR_BLINK	EQU	$
		WORD	01H,01H,02H,02H,04H,04H,08H,08H
;
EGG_JMP_END	EQU	$
		HEX	1,1,0,0,4,4,2,2,4,4
;
EGG00MV_0200	EQU	$
		LDA	ENTIM2,X
		BEQ	EGG00MV_0208	;タマゴ消去ウェイト？ ( no:EGG00MV_0208 )
;
		LSR	A
		BNE	EGG00MV_0202	;消去？ ( no:EGG00MV_0202 )
;
		TXY
		JSL	>FSMK2_SET
		JMP	>ENCLEAR
;
EGG00MV_0202	EQU	$
		CMP	#080H/2
		BCS	EGG00MV_0208	;点滅？ ( no:EGG00MV_0208 )
		LSR	A
		LSR	A
		AND	#07H*2
		TAY
		LDA	!EGG_CLR_BLINK,Y
		LDY	#05H
		AND	ENTIM2,X
		BEQ	EGG00MV_0204
		LDY	#0FFH
EGG00MV_0204	EQU	$
		TYA
		STA	ENYUSN,X
;
EGG00MV_0208	EQU	$
		LDA	ENCBFG,X
		LSR	A		;[ AND #000001B ]
		BCS	EGG00MV_0210	;着地？ ( yes:EGG00MV_0210 )
;
;-------------- ジャンプ中 ----------------------------------------------
		LDA	#02H*5		;着地の瞬間パターンセットタイマーセット
		STA	ENTIM1,X
;
		LDA	ENYSPD,X
		BPL	EGG00MV_0220	;下降中？ ( yes:EGG00MV_0220 )
;
		INC	ENCHPT,X	;上昇中パターンＮｏ．セット
		BRA	EGG00MV_0230	;上昇中はプレイヤーと衝突チェックしない！
;
;-------------- 着地中 --------------------------------------------------
EGG00MV_0210	EQU	$
		JSL	>XSDOWN		;Ｘスピード減速
;
		LDY	ENTIM1,X
		BEQ	EGG00MV_0218	;着地の瞬間パターンセット？ ( no:EGG00MV_0218 )
;
		LDA	!EGG_JMP_END,Y
		AND	#00FFH
		STA	ENCHPT,X
		BRA	EGG_PLCROSS
;
EGG00MV_0218	EQU	$
		LDA	<ENCONT,X	;着地中のパターンＮｏ．セット
		AND	#010H
		BEQ	EGG00MV_0220
;
		INC	ENCHPT,X
;
;-------------- プレイヤーとの衝突チェック ------------------------------
EGG_PLCROSS	EQU	$
EGG00MV_0220	EQU	$
		LDY	ECRSFG,X
		BPL	EGG00MV_0230	;プレイヤーと衝突してる？ ( no:EGG00MV_0230 )
;
		LDA	PLTYPE
		BNE	EGG00MV_0230	;変身中？ ( yes:EGG00MV_0230 )
;
;-------------< タマゴオプションモードセット >-------------------
		JSL	>EGGSET
;
EGG00MV_0230	EQU	$
		RTL
;
;------------------------------------------------------------------------
;-		オプションモード					-
;------------------------------------------------------------------------
EGG00MV_0500	EQU	$
		JSL	>EGG_OPTION	;[ (Y) <-- オプションポインター ]
;
;----------------------------------------------------------------
;-		オプションタマゴパターンセット			-
;----------------------------------------------------------------
		STZ	ENCHPT,X	;通常パターンＮｏ．セット
;
		LDA	EGOPT1-1,Y
		AND	#0FF00H
		BEQ	EGG00MV_0510	;ジャンプ中？ ( no:EGG00MV_0510 )
;
;-------------- ジャンプ中 ------------------------------
		BPL	EGG00MV_0540	;下降中？ ( yes:EGG00MV_0540 )
;
		INC	ENCHPT,X	;上昇中パターンＮｏ．セット
		BRA	EGG00MV_0540
;
;-------------- 着地中 ----------------------------------
EGG00MV_0510	EQU	$
		LDA	ENXP2L
		SEC
		SBC	ENXPSL,X
		STA	<EWORK0		;(EWK0,1) <-- Ｘ移動量
		ORA	PLXSPD
		BEQ	EGG00MV_0530	;Ｘ移動？ ( no:EGG00MV_0530 )
;
;-------------- 歩きパターンセット --------------
		LDA	<ENCONT,X
		AND	#0FH
		ASL	A
		TAY
		LDA	!EG0JPA,Y
		BEQ	EGG00MV_0520	;”トントン”ジャンプ中？ ( no:EGG00MV_0520 )
;
		INC	ENCHPT,X
EGG00MV_0520	EQU	$
		LDA	<EWORK0		;(A) <-- パターン切り替えスピード
		BEQ	EGG00MV_0550
		BPL	EGG00MV_0560
		EOR	#0FFFFH
		INC	A
		BNE	EGG00MV_0560
;
;-------------- 止まってる時のパターンセット ------------
EGG00MV_0530	EQU	$
		LDA	<ENCONT,X
		CLC
		ADC	#010H
		STA	<ENCONT,X
		AND	#100H
		BEQ	EGG00MV_0540
;
		INC	ENCHPT,X
;
;-------------- パターンカウンターリセット --------------
EGG00MV_0540	EQU	$
		LDA	<ENCONT,X
		AND	#0FH
		BEQ	EGG00MV_0560
;
EGG00MV_0550	EQU	$
		LDA	#01H		;(A) <-- パターン切り替えスピード
EGG00MV_0560	EQU	$
;
		I8
;
		CLC
		ADC	<ENCONT,X	;パターンカウンターセット
		STA	<ENCONT,X
;
		AND	#0FH		;タマゴ”トントン”セット
		ASL	A
		TAY
		LDA	ENYPSL,X
		CLC
		ADC	!EG0JPA,Y
		STA	ENYPSL,X
		RTL
;
;========================================================================
;=		タマゴ特別チェック					=
;========================================================================
EGG_SP_CHECK	EQU	$
;
;------------------------------------------------------------------------
;-		食べられキャンセルチェック				-
;------------------------------------------------------------------------
		LDY	ENMODE,X
		CPY	#EEATM
		BNE	EGG_SP_CHECK_30 ;食べられてる？ ( no:EGG_SP_CHECK_30 )
;
		LDA	BERXPS
		CLC
		ADC	BERYPS
		CLC
		ADC	#010H
		CMP	#010H*2+1
		BCS	EGG_SP_CHECK_30 ;飛ぶ？ ( no:EGG_SP_CHECK_30 )
;
;-------------- 食べられキャンセル --------------------------------------
		STZ	EATSTP		;口に入れてるフラグキャンセル
		LDA	#EMOVE		;通常モードへ
		STA	ENMODE,X
		STZ	ENSHOT,X	;ショットフラグリセット
;;タマゴ食い込み防止の為;;		  STZ	  ENWRK6,X	  ;パターンチェンジロック解除
		STZ	ENCBFG,X	;ＢＧ当たりフラグセット
		STZ	ENTIM0,X	;敵からタマゴになる時のアクションタイマーリセット
		LDA	ENMYNO,X
		CMP	#DRKEY
		BEQ	EGG_SP_CHECK_00 ;カギ？ ( yes:EGG_SP_CHECK_00 )
;
		LDA	ENMOD2,X	;範囲クリアーセット
		ORA	#0000000000000100B
		STA	ENMOD2,X
EGG_SP_CHECK_00 EQU	$
		LDA	#040H		;重力セット
		STA	ENGPOW,X
;
		LDA	#0FBC0H
		STA	ENYSPD,X
		LDA	EPWIDX,X
		PHP
		BPL	EGG_SP_CHECK_10
		EOR	#0FFFFH
		INC	A
EGG_SP_CHECK_10 EQU	$
		CLC
		ADC	#0100H
		PLP
		BMI	EGG_SP_CHECK_20
		EOR	#0FFFFH
		INC	A
EGG_SP_CHECK_20 EQU	$
		CLC
		ADC	PLXSPD
		STA	ENXSPD,X
;
		PLA			;[ pull pull pull pull return !! ]
		PLA			;
		PLA			;
		RTL
;
;------------------------------------------------------------------------
;-		ショット中の状態セットチェック				-
;------------------------------------------------------------------------
EGG_SP_CHECK_30 EQU	$
		LDA	ENSHOT,X
		BNE	EGG_SP_CHECK_31 ;ショット中？ ( yes:EGG_SP_CHECK_31 )
;
		LDA    <ENWRK4,X
		DEC	A
		BMI	EGG_SP_CHECK_302 ;オプションモード？ ( no:EGG_SP_CHECK_302 )
		LDA	PLSTFG
		BNE	EGG_SP_CHECK_302 ;プレイヤーＳＴＯＰ？ ( yes:EGG_SP_CHECK_302 )
		RTL
;
EGG_SP_CHECK_302 EQU	 $
		JMP	>ENMDCK		;モードチェック
;
EGG_SP_CHECK_31 EQU	$
		LDY	#014H+100000B
		LDA	ENMYNO,X
		CMP	#YSEGG
		BCC	EGG_SP_CHECK_310 ;大きいタマゴ？ ( no:EGG_SP_CHECK_310 )
;
		LDA	ENCBFG,X
		LSR	A		 ;[ AND #00001B ]
		BCC	EGG_SP_CHECK_31E ;着地？ ( no:EGG_SP_CHECK_31E )
;
;-------------- ”ドスーン！！” ----------------------------------------
		LDA	#060H		;地震セット
		STA	TILTCT
		JSL	>TO_COIN_CHANGE
		JSL	>ENDEATH_SET_3
		STZ	ENXSPD,X
;
		LDA	#047H		;[♪]
		JSL	>SOUND_3_ON
;
		PLA			;[ pull pull return !! ]
		PLY			;[		       ]
		RTL
;
EGG_SP_CHECK_31E EQU	$
		LDY	#01AH+100000B
EGG_SP_CHECK_310 EQU	$
		TYA
		STA	<EWORK
		LDA	ENMOD1,X	;ＢＧチェックタイプ変更（コインチェック）
		AND	#1111111111000000B
		ORA	<EWORK
		STA	ENMOD1,X
		LDA	ENMOD0,X	;衝突する様に
		ORA	#0000011000000000B
		STA	ENMOD0,X
;
		LDY	ENGPOW,X
		CPY	#040H
		BCS	EGG_SP_CHECK_302 ;パワーショット？ ( no:EGG_SP_CHECK_302 )
;
;-------------- プレイヤーと衝突 ----------------------------------------
		LDA	ENWRK6,X
		DEC	A
		BNE	EGG_SP_CHECK_32 ;プレイヤーと衝突？ ( no:EGG_SP_CHECK_32 )
;
		JSL	>NOFAIL_CRCK
;
;-------------- スクロール基準特殊セット --------------------------------
EGG_SP_CHECK_32 EQU	$
		LDY	ENWRKX,X
		BNE	EGG_SP_CHECK_34 ;スクロールＯＫ？ ( no:EGG_SP_CHECK_34 )
		LDA	ENTIM0,X
		BNE	EGG_SP_CHECK_320 ;スクロールＯＫ？ ( yes:EGG_SP_CHECK_320 )
;
		LDA	PLDSXL
		CMP	#LEFT_X-010H
		BMI	EGG_SP_CHECK_33 ;プレイヤー左端オーバー？ ( yes:EGG_SP_CHECK_33 )
		CMP	#RIGHT_X+010H
		BPL	EGG_SP_CHECK_33 ;プレイヤー右端オーバー？ ( yes:EGG_SP_CHECK_33 )
		LDA	PLDSYL
		CMP	#UP_Y-010H
		BMI	EGG_SP_CHECK_33 ;プレイヤー上端オーバー？ ( yes:EGG_SP_CHECK_33 )
		CMP	#LOW_Y+010H
		BPL	EGG_SP_CHECK_33 ;プレイヤー下端オーバー？ ( yes:EGG_SP_CHECK_33 )
;
EGG_SP_CHECK_320 EQU	$
		JSL	>SP_SCRL_SET_3
		BRA	EGG_SP_CHECK_38
;
EGG_SP_CHECK_33 EQU	$
;
		M8
;
		LDA	#01H		;スクロールキャンセル
		STA	ENWRKX,X
;
		M16
;
EGG_SP_CHECK_34 EQU	$
;
;-------------- パワーショット残像セット --------------------------------
EGG_SP_CHECK_38 EQU	$
		LDA	<FRCNT2
		AND	#01H
		ORA	ENSTFG
		BNE	EGG_SP_CHECK_40 ;残像セット？ ( no:EGG_SP_CHECK_40 )
;
		LDA	#DSMK0		;(A) <-- 効果Ｎｏ．
		JSL	>EXINSR		;効果エリア確保
		LDA	ENXPSL,X
		STA	EXXPSL,Y	;Ｘ座標セット
		LDA	ENYPSL,X
		STA	EXYPSL,Y	;Ｙ座標セット
		LDA	ENCLOR,X	;ＢＧ優先順位セット
		AND	#00110000B
		ORA	#00000110B
		STA	EXCLOR,Y
		LDA	#06H
		STA	EXYUSN,Y	;優先順位セット
		DEC	A		;[ LDA #05H ]
		STA	EXWRK0,Y	;初期カウンターセット
;;;;		    LDA	    #05H
		STA	EXCHPT,Y	;初期パターンＮｏ．セット
		DEC	A		;[ LDA #04H ]
		STA	EXTIM0,Y	;初期タイマーセット
;
EGG_SP_CHECK_40 EQU	$
		JMP	>ENMDCK		;モードチェック
;
;========================================================================
;=		タマゴオプションモード					=
;========================================================================
EGG_OPTION	EQU	$
;
;------------------------------------------------------------------------
;-		タマゴ投げチェック					-
;------------------------------------------------------------------------
		STZ	ENXSPD,X	;Ｘスピードクリアー
		STZ	ENYSPD,X	;Ｙ	 ”
;
		LDY	<ENWRK4,X	;(Y) <-- オプションＮｏ．
		BMI	EGG_OPTION_0100 ;タマゴ投げ？ ( yes:EGG_OPTION_0100 )
;
;-------------- オプションセット ----------------------------------------
		JMP	EGG_OPTION_0800
;
;----------------------------------------------------------------
;-		タマゴ投げセット				-
;----------------------------------------------------------------
EGG_OPTION_0100 EQU	$
		PLA			;[ pull pull return !! ]
		PLY			;
;
		STZ	ENCHPT,X	;通常パターンＮｏ．セット
;
		LDA	GOAL_IN
		BNE	EGG_OPTION_0110 ;ゴールイン？ ( yes:EGG_OPTION_0110 )
;
		LDY	PLNAGE		;(Y) <-- プレイヤー投げパターン
		BNE	EGG_OPTION_0150 ;タマゴ投げキャンセル？ ( no:EGG_OPTION_0150 )
;
;-------------- タマゴ投げキャンセル ----------------------------
EGG_OPTION_0110 EQU	$
		STZ	<ENWRK4,X	;オプション解除
		INC	<ENWRK0,X	;タマゴ隠れキャンセル
		LDA	#040H		;重力セット
		STA	ENGPOW,X
;
		LDA	ENMYNO,X
		CMP	#KAMO1
		BNE	EGG_OPTION_0111
;
		LDA	#0FFFFH
		STA	<ENWRK0,X
;
		LDA	GOAL_IN
		BNE	EGG_OPTION_01100 ;ゴール？ ( yes:EGG_OPTION_01100 )
;
		LDA	<RANDM0			;まつもとくんにする ?
		AND	#00003H			;
		BNE	EGG_OPTION_0111		;  no: EGG_OPTION_0111
;
EGG_OPTION_01100 EQU	$
		LDA	#00030H			;プレイヤーチェックロックタイマーセット
		STA	ENTIM2,X		;
;
EGG_OPTION_0111 EQU	$
		LDA	FURA_FG
		BPL	EGG_OPTION_0120 ;”フラフラ”キャンセル？ ( no:EGG_OPTION_0120 )
;
		STZ	FURA_FG
EGG_OPTION_0120 EQU	$
		RTL
;
EGG_OPTION_0150 EQU	$
		CPY	#6
		BCS	EGG_OPTION_0170 ;タマゴ投げデモ中？ ( yes:EGG_OPTION_0170 )
;
;----------------------------------------------------------------
;-		プレイヤー投げ向きセット			-
;----------------------------------------------------------------
		LDY	#00H
		LDA	PLNAGX
		SEC
		SBC	ENXPSL,X
		BEQ	EGG_OPTION_0162
		BPL	EGG_OPTION_0160
		LDY	#02H
EGG_OPTION_0160 EQU	$
		TYA
		STA	PLCMKI
;
EGG_OPTION_0162 EQU	$
		LDY	PLNAGE		;(Y) <-- プレイヤー投げパターン
		CPY	#2
		BEQ	EGG_OPTION_0200 ;タマゴ投げセット？ ( yes:EGG_OPTION_0200 )
EGG_OPTION_0170 EQU	$
		JMP	EGG_OPTION_0400
;
;----------------------------------------------------------------
;-		タマゴ投げスピードセット			-
;----------------------------------------------------------------
EGG_OPTION_0200 EQU	$
;;;;		    LDA	    #01H	    ;プレイヤーに当たる！！
		STZ	ENWRK6,X
;
		STZ	<ENWRK4,X	;オプション解除
		LDA	#020H		;投げフラグセット
		STA	ENSHOT,X
		LDA	PLCMKI		;向きセット
		EOR	#02H
		STA	ENMUKI,X
		LDY	#014H+100000B
		LDA	ENMYNO,X
		CMP	#YSEGG
		BCC	EGG_OPTION_0210 ;大きいタマゴ？ ( no:EGG_OPTION_0210 )
;
		LDY	#01AH+100000B
		LDA	FURA_FG
		BPL	EGG_OPTION_0210 ;”フラフラ”キャンセル？ ( no:EGG_OPTION_0210 )
;
		STZ	FURA_FG
;
EGG_OPTION_0210 EQU	$
		TYA
		STA	<EWORK
		LDA	ENMOD1,X	;ＢＧチェックタイプ変更（コインチェック）
		AND	#1111111111000000B
		ORA	<EWORK
		STA	ENMOD1,X
		STZ	<ENWRK0,X	;跳ね返りカウンターリセット
		STZ	<ENCONT,X	;回転角初期セット
;
		LDA	ENMYNO,X
		CMP	#YSEGG
		BCC	EGG_OPTION_0212 ;大きいタマゴ？ ( no:EGG_OPTION_0212 )
		LDY	DSPMOD
		CPY	#0DH
		BEQ	EGG_OPTION_0212 ;ゲロゲーロの胃袋？ ( yes:EGG_OPTION_0212 )
;
;-------------- 重たく！！ --------------------------------------
		LDA	#060H		;パワーショット重力セット
		STA	ENGPOW,X
		LDA	#0600H		;パワーショットＭＡＸＹスピードセット
		STA	ENGMAX,X
EGG_OPTION_0211 EQU	$
		JMP	EGG_OPTION_0250
;
EGG_OPTION_0212 EQU	$
		STZ	ENGPOW,X	;パワーショット重力セット
;
		LDA	ENMYNO,X
		CMP	#KAMO1
		BNE	EGG_OPTION_0230 ;カルガモ？ ( no:EGG_OPTION_0230 )
;
;-------------- カルガモＭＡＸパワーショット --------------------
		LDA	ENXPSL,X
		SEC
		SBC	PLNAGX
		STA	R1		;(R1) <-- Ｘ距離
		LDA	ENYPSL,X
		SEC
		SBC	PLNAGY
		STA	R2		;(R2) <-- Ｙ距離
		M_CHIP	M_RAD_GET
;
		LDX	<ENINDX
		LDA	R0
		LDY	ENMUKI,X
		BNE	EGG_OPTION_0222
		EOR	#0FFH
		INC	A
EGG_OPTION_0222 EQU	$
		SEC
		SBC	#018H
		AND	#01FEH
		PHA
		LDY	ENMUKI,X
		BEQ	EGG_OPTION_0223
		ORA	#8000H
EGG_OPTION_0223 EQU	$
		STA	ENWRKA,X	;ショット角度セット
;
		I16
;
		PLX
		LDA	>SIN,X
		ASL	A
		ASL	A
		ASL	A
		STA	R2		;Ｙスピードセット
		LDA	>COS,X
		ASL	A
		ASL	A
		ASL	A
;
		I8
;
		LDX	<ENINDX
		LDY	ENMUKI,X
		BNE	EGG_OPTION_0224
		EOR	#0FFFFH
		INC	A
EGG_OPTION_0224 EQU	$
		STA	R1		;Ｘスピードセット
		BRA	EGG_OPTION_0245
;
EGG_OPTION_0230 EQU	$
		CMP	#KPBOM
		BNE	EGG_OPTION_0240 ;大クッパ用投げ爆弾？ ( no:EGG_OPTION_0240 )
;
;-------------- ３Ｄ変換用基準Ｘ座標セット ----------------------
		LDA	ENXPSL,X
		STA	ENWRKC,X
		LDA	#0CH
		STA	ENGPOW,X	;パワーショット重力セット
		LDA	#05H
		STA	ENYUSN,X
		LDA	#0000000001100000B ;衝突チェック無しセット
		STA	ENMOD0,X
		LDA	#0010000000000000B ;ＢＧチェック無しセット
		STA	ENMOD1,X
		LDA	ENMOD2,X	   ;範囲外クリアー無しセット
		AND	#111111111111110011B
		STA	ENMOD2,X
		LDA	PLNAGX
		SEC
		SBC	ENXPSL,X
		BPL	EGG_OPTION_0240
		EOR	#0FFFFH
		SEC			;[ INC R0 ]
		ADC	ENXPSL,X
		STA	PLNAGX
;
;-------------- ＭＡＸパワーショット ----------------------------
EGG_OPTION_0240 EQU	$
		LDA	PLNAGX
		STA	R1		;(R1) <-- 目標Ｘ座標
		LDA	PLNAGY
		STA	R2		;(R2) <-- 目標Ｙ座標
		LDA	ENXPSL,X
		STA	R3		;(R3) <-- 現在Ｘ座標
		LDA	ENYPSL,X
		STA	R4		;(R4) <-- 現在Ｙ座標
		LDA	#07F0H
		STA	R6		;(R6) <-- サーチスピード
		M_CHIP	SEARCH_SPEED
		LDX	<ENINDX
;
EGG_OPTION_0245 EQU	$
		LDA	#020H		;[♪]
		JSL	>SOUND_3_ON
;
		M8
;
		LDA	#01H
		STA	ENWRKX,X	;スクロールＯＫフラグ
;
		M16
;
;;;;		    LDA	    #60		    ;スクロールタイマー（１秒）
		STZ	ENTIM0,X
		LDA	R1
		STA	ENXSPD,X	;ショットＸスピードセット
		LDA	R2
		BRA	EGG_OPTION_0300
;
;-------------- ノーマルショット --------------------------------
EGG_OPTION_0250 EQU	$
		LDA	PLNAGX
		STA	R1		;(R1) <-- 目標Ｘ座標
		LDA	PLNAGY
		STA	R2		;(R2) <-- 目標Ｙ座標
		LDA	ENXPSL,X
		STA	R3		;(R3) <-- 現在Ｘ座標
		LDA	ENYPSL,X
		STA	R4		;(R4) <-- 現在Ｙ座標
		LDA	#0400H
		STA	R6		;(R6) <-- サーチスピード
		M_CHIP	SEARCH_SPEED
;
		LDX	<ENINDX
;
		LDA	R1
		EOR	PLXSPD
		ASL	A		;(C) <-- (N)
		LDA	R1
		BCS	EGG_OPTION_0254
;;;;		    CLC
		ADC	PLXSPD
EGG_OPTION_0254 EQU	$
		STA	ENXSPD,X	;ショットＸスピードセット
		LDA	R2
		SEC
		SBC	#0400H-0100H
		BPL	EGG_OPTION_0260
		LDA	#00H
EGG_OPTION_0260 EQU	$
		SEC
		SBC	#0100H
		ADC	R2
;
EGG_OPTION_0300 EQU	$
		STA	ENYSPD,X	;ショットＹスピードセット
		STZ	PLNAGP		;タマゴ投げパワーカウンターリセット
		RTL
;
;----------------------------------------------------------------
;-		タマゴ投げプレイヤーポーズチェック		-
;----------------------------------------------------------------
EGG_OPTION_0400 EQU	$
		CPY	#6
		BNE	EGG_OPTION_0600 ;溜めポーズ？ ( no:EGG_OPTION_0600 )
;
		LDA	ENMYNO,X
		CMP	#YSEGG
		BCC	EGG_OPTION_0410 ;大きいタマゴ？ ( no:EGG_OPTION_0410 )
;
		LDA	#0FFFFH		;”フラフラ”セット
		STA	FURA_FG
;
EGG_OPTION_0410 EQU	$
;
;-------------- タマゴ投げ溜めポーズ用位置セット ----------------
NAGE_POS_SET	EQU	$
EGG_OPTION_0600 EQU	$
		PHB			;(DBR) save
		PHK			;(DBR) <-- (PBR)
		PLB
;
		I16
;
		LDY	PLPATN
		LDA	!EGG_AD_Y-1,Y
		AND	#0FF00H
		BPL	EGG_OPTION_0601
		ORA	#00FFH
EGG_OPTION_0601 EQU	$
		XBA
		CLC
		ADC	PLYPSL
		STA	ENYPSL,X	;Y pos set
;
;;;;		    LDA	    #03H
;;;;		    LDA	    !EGG_AD_X,Y
;;;;		    AND	    #040H
;;;;		    BEQ	    EGG_OPTION_0602 ;優先順位プレイヤーの前？ ( no:EGG_OPTION_0602 )
		LDA	#02H
;;;;EGG_OPTION_0602 EQU	    $
		STA	ENYUSN,X
;
		LDA	!EGG_AD_X-1,Y
		AND	#0BF00H
		BPL	EGG_OPTION_0604
		ORA	#040FFH
EGG_OPTION_0604 EQU	$
		XBA
		LDY	PLCMKI
		BNE	EGG_OPTION_0606
		EOR	#0FFFFH
		INC	A
EGG_OPTION_0606 EQU	$
		CLC
		ADC	PLXPSL
		STA	ENXPSL,X	;X pos set
;
		I8
;
		PLB			;(DBR) load
		RTL
;
;----------------------------------------------------------------
;-		オプションセット				-
;----------------------------------------------------------------
EGG_OP_INJPY	EQU	$-(32*2)
		WORD	00010H,0000DH,0000BH,00009H,00008H,00007H,00007H,00006H
		WORD	00006H,00006H,00007H,00007H,00008H,00009H,0000BH,0000DH
EGG_OP_INJPY_E	EQU	$
EGG_OP_INJMP	EQU	EGG_OP_INJPY_E-EGG_OP_INJPY
;
EGG_OPTION_0800 EQU	$
		PHB			;(DBR) save
		PHK			;(DBR) <-- (PBR)
		PLB
;
;-------------- オプションポインター移動 ------------------------
		LDA	OLD_ONLFFG
		BEQ	EGG_OPTION_0810 ;プレイヤーリフト乗ってた？ ( no:EGG_OPTION_0810 )
;
		LDY	#00		;[ リフトに乗ってる時はプレイヤーに合わさる ]
EGG_OPTION_0810 EQU	$
		LDA	!EGOPAD,Y
		STA	<EWORK0		;(EWK0,1) <-- 目標オプション座標ポインター
		LDY	#00
		CMP	<ENWRK2,X
		BEQ	EGG_OPTION_0850
		BPL	EGG_OPTION_0820
		INY
		INY
EGG_OPTION_0820 EQU	$
		LDA	<ENWRK2,X
		CLC
		ADC	!EGOPHS,Y
		CMP	#4
		BPL	EGG_OPTION_0828 ;初期セットジャンプデモ？ ( no:EGG_OPTION_0828 )
;
		STA	<ENWRK2,X
		DEC	A		;-2
		DEC	A		;
		EOR	#0FFFFH
		INC	A
		CMP	#32*2
		BCS	EGG_OPTION_0824 ;オプション座標へ補正？ ( no:EGG_OPTION_0824 )
;
;-------------- オプション座標へ補正 ----------------------------
		JMP	EGG_OPTION_HOSE
;
;-------------- 初期セットジャンプデモ --------------------------
EGG_OPTION_0824 EQU	$
		TAY
		LDA	!EGG_OP_INJPY,Y
		CLC
		ADC	PLYPSL
		STA	ENYPSL,X	;Ｙ座標セット
		LDA	#EGG_OP_INJMP
		CLC
		ADC	<ENWRK2,X
		LSR	A
		LDY	ENMUKI,X
		BNE	EGG_OPTION_0826
		EOR	#0FFFFH
		INC	A
EGG_OPTION_0826 EQU	$
		CLC
		ADC	PLXPSL
		STA	ENXPSL,X	;Ｘ座標セット
;
		PLB
		RTL
;
EGG_OPTION_0828 EQU	$
		CPY	#0
		BNE	EGG_OPTION_0840 ;move stop check ok muki ? ( no:EGG_OPTION_0840 )
;
		STA	<EWORK0
		LDA	EGOPTP
;;;;		    SEC			;[ * BEQ = (C)=1 ]
		SBC	<EWORK0
		BPL	EGG_OPTION_0830 ;max pointer over ? ( no:EGG_OPTION_0830 )
		CLC
		ADC	#EGOPMX
EGG_OPTION_0830 EQU	$
;
		I16			;[!]
;
		TAY
		LDA	EGOPT1,Y
		AND	#00FFH
		BNE	EGG_OPTION_0850 ;move stop ? ( yes:EGG_OPTION_0850 )
;
		LDA	<EWORK0
		STA	<ENWRK2,X
		BRA	EGG_OPTION_0870
;
EGG_OPTION_0840 EQU	$
		STA	<ENWRK2,X
;
EGG_OPTION_0850 EQU	$
		LDA	EGOPTP
		SEC
		SBC	<ENWRK2,X
		BPL	EGG_OPTION_0860 ;max pointer over ? ( no:EGG_OPTION_0860 )
		CLC
		ADC	#EGOPMX
EGG_OPTION_0860 EQU	$
;
		I16
;
		TAY
;
;-------------- オプション座標セット ----------------------------
EGG_OPTION_0870 EQU	$
		PLB			;(DBR) load
;
		LDA	EGOPTX,Y	;Ｘ座標セット
		STA	ENXPSL,X
		LDA	EGOPTY,Y	;Ｙ座標セット
		STA	ENYPSL,X
		LDA	ENCLOR,X	;ＢＧ優先順位セット
		AND	#11001111B
		ORA	EGOPT0,Y
		STA	ENCLOR,X
;
		I8
;
		RTL
;
;--------------------------------------------------------
;-		オプション座標へ補正			-
;--------------------------------------------------------
EGG_OPTION_HOSE EQU	$
		ASL	A		;x4
		ASL	A		;
		STA	<EWORK2
		LDA	#0100H
		SEC
		SBC	<EWORK2
		STA	R6		;(R6) <-- 倍率
		CMP	#0100H
		BCC	EGG_OPTION_0821 ;補正終了？ ( no:EGG_OPTION_0821 )
;
		LDA	<EWORK0
		STA	<ENWRK2,X
EGG_OPTION_0821 EQU	$
		LDA	EGOPTP
		SEC
		SBC	<EWORK0
		BPL	EGG_OPTION_0822 ;max pointer over ? ( no:EGG_OPTION_0822 )
		CLC
		ADC	#EGOPMX
EGG_OPTION_0822 EQU	$
;
		I16			;[!]
;
		TAY
		LDA	EGOPTX,Y	;目標オプションＸ座標
		SEC
		SBC	ENXPSL,X
		STA	R0
		LDA	EGOPTY,Y	;目標オプションＹ座標
		SEC
		SBC	ENYPSL,X
		STA	R1
;
		I8
;
		M_CHIP	MULTIPLY
		LDX	<ENINDX
		LDA	ENXPSL,X
		CLC
		ADC	R0
		STA	ENXPSL,X
		LDA	R1
		STA	R0
		M_CHIP	MULTIPLY
		LDX	<ENINDX
		LDA	ENYPSL,X
		CLC
		ADC	R0
		STA	ENYPSL,X
;
		PLB
		RTL
;
;----------------------------------------------------------------
;-		タマゴオプションモードセット			-
;----------------------------------------------------------------
EGG_OFF_XSP	EQU	$
		WORD	00100H,0FF00H
;
EGGSET		EQU	$
		JSL	>COIN_CATCH	;セーブビット”ＯＮ”
;
		LDA	#03H		;[♪]
		JSL	>SOUND_3_ON
;
		LDA	EGGPNT
		INC	A
		INC	A
		CMP	#06*2+2
		BCC	EGST050		;max egg ? ( no:EGST050 )
;
;-------------- egg rotation ------------------------------------
		PHB			;(DBR) save
		PHK			;(DBR) <-- (PBR)
		PLB
;
		LDX	EGGLNK		;1st egg link kill !!
;
		LDA	#EFAIL		;落下モードセット
		STA	ENMODE,X
;
		STZ	<ENWRK4,X	;オプションモードキャンセル
		STZ	<ENWRK0,X	;ワークＲＡＭクリアー
		STZ	<ENWRK2,X	;
		STZ	ENWRK6,X	;
		STZ	ENWRK8,X	;
		STZ	ENSHOT,X	;ショットフラグリセット
;
		LDY	EPXMUK,X
		LDA	!EGG_OFF_XSP,Y
		STA	ENXSPD,X
		LDA	#0FC00H
		STA	ENYSPD,X
		LDA	#040H		;重力セット
		STA	ENGPOW,X
;
		PLB			;(DBR) load
;
		LDY	#02H
EGST010		EQU	$
		LDA	EGGLNK,Y
		STA	EGGLNK-2,Y
		TAX
		TYA
		STA	<ENWRK4,X
		INY
		INY
		CPY	EGGPNT		;egg link rotation
		BCC	EGST010
;
		LDX	<ENINDX
		TYA
EGST050		EQU	$
		STA	EGGPNT
;
;-------------- ドアカギ入れ替えチェック ------------------------
;
		I16
;
		TAY
		CPY	#04
		BCC	EGST060		;１個目のオプション？ ( yes:EGST060 )
;
EGST0502	EQU	$
		LDX	EGGLNK-4,Y
		LDA	ENMYNO,X
		CMP	#DRKEY
		BEQ	EGST051		;ドアカギ？ ( yes:EGST051 )
		CMP	#YSEGG
		BNE	EGST052		;ヨッシータマゴ？ ( no:EGST052 )
;
EGST051		EQU	$
		TYA
		STA	<ENWRK4,X	;option index set
		TXA
		STA	EGGLNK-2,Y
		DEY
		DEY
		CPY	#04
		BCS	EGST0502
;
EGST052		EQU	$
		LDX	<ENINDX
EGST060		EQU	$
		TYA
;
		I8
;
		STA	<ENWRK4,X	;option index set
		LDA	#02H
		STA	<ENWRK2,X	;option buffer start pointer set
		LDA	<ENINDX
		STA	EGGLNK-2,Y
		LDA	ENMOD2,X
		AND	#1111111111110011B
		STA	ENMOD2,X	;not display clear "OFF" !!
		LDA	ENMOD0,X
		AND	#1111100111111111B ;衝突チェック無し
		ORA	#0000000001000000B ;食べられないように変更
		LDY	DSPMOD
		CPY	#0DH
		BNE	EGST070		;ゲロゲーロの胃袋？ ( no:EGST070 )
		ORA	#0000001000000000B
EGST070		EQU	$
		STA	ENMOD0,X
		LDA	ENMOD1,X	;ＢＧチェック無しセット
		AND	#1111111111000000B
		STA	ENMOD1,X
		LDA	#05H		;ＯＢＪ優先順位セット
		STA	ENYUSN,X
		STZ	ENTIM2,X	;タマゴ消去タイマーリセット
;
		STZ	ENGPOW,X
		STZ	ENSHOT,X	;ショットフラグリセット
		RTL
;
;----------------------------------------------------------------
;-		タマゴオプションキャンセルセット		-
;----------------------------------------------------------------
EGGKILL		EQU	$
		LDY	ENWRK4,X
		BEQ	EGKL30		;player option ? ( no:EGKL300 )
		BMI	EGKL30		;player option ? ( no:EGKL300 )
;
EGGKILL_SUB	EQU	$
		PHP			;(P) save
;
		I8
;
		STZ	ENWRK4,X	;オプションモードキャンセル
		STZ	ENWRK0,X	;ワークＲＡＭクリアー
		STZ	ENWRK2,X	;
		STZ	ENWRK6,X	;
		STZ	ENWRK8,X	;
;
		LDA	ENMYNO,X
		CMP	#KAMO1
		BEQ	EGKL00		;かるがも？ ( yes:EGKL00 )
;
		LDA	ENMOD0,X
		AND	#1111111110111111B ;食べれるように変更
		ORA	#0000001000000000B ;衝突チェックされる様に
		STA	ENMOD0,X
EGKL00		EQU	$
		PHY			;(Y) save
;
		LDY	#01H
		LDA	ENMYNO,X
		CMP	#YSEGG
		BCC	EGKL02		;大きいタマゴ？ ( no:EGKL02 )
		LDY	#01AH
EGKL02		EQU	$
		TYA
		STA	<EWORK
		LDA	ENMOD1,X	;ＢＧチェックサイズセット
		AND	#1111111111000000B
		ORA	<EWORK
		STA	ENMOD1,X
		LDA	ENMOD2,X	;not display clear "ON"
		ORA	#0000000000000100B
		STA	ENMOD2,X
;
		PLY			;(Y) load
;
		PHX			;(X) save
EGKL10		EQU	$
		CPY	EGGPNT
		BCS	EGKL20
		LDA	EGGLNK,Y
		STA	EGGLNK-2,Y
		TAX
		TYA
		STA	ENWRK4,X
		INY
		INY
		BRA	EGKL10
;
EGKL20		EQU	$
		DEC	EGGPNT
		DEC	EGGPNT
		PLX			;(X) load
;
		PLP			;(P) load
EGKL30		EQU	$
		RTL
;
;----------------------------------------------------------------
;-		option egg cancel set				-
;----------------------------------------------------------------
EGGKILL_ALL	EQU	$
		PHX			;(X) save
;
EGGKILL_ALL_010 EQU	$
		LDY	EGGPNT
		BEQ	EGGKILL_ALL_020 ;egg nothing ? ( yes:EGGKILL_ALL_020 )
;
		LDX	EGGLNK
		LDA	ENMYNO,X
		CMP	#DRKEY
		BEQ	EGGKILL_ALL_020 ;カギ？ ( yes:EGGKILL_ALL_020 )
		CMP	#YSEGG
		BEQ	EGGKILL_ALL_020 ;ヨッシータマゴ？ ( yes:EGGKILL_ALL_020 )
;
		LDY	ENWRK4,X
		JSL	>EGGKILL_SUB
		LDA	ENXPSL,X
		SEC
		SBC	PLXPSL
		ASL	A
		ASL	A
		ASL	A
		STA	ENXSPD,X	;X speed set
		LDA	#0FC00H
		STA	ENYSPD,X	;jump up set
		STZ	ENWRK4,X	;オプションモードキャンセル
		STZ	ENWRK0,X	;ワークＲＡＭクリアー
		STZ	ENWRK2,X	;
		STZ	ENWRK6,X	;
		STZ	ENWRK8,X	;
		LDA	#0200H
		STA	ENTIM2,X
		BRA	EGGKILL_ALL_010
;
EGGKILL_ALL_020 EQU	$
		PLX			;(X) load
		RTL
;
;----------------------------------------------------------------
;-		タマゴ割れセット				-
;----------------------------------------------------------------
EGG_WARE	EQU	$
		JSL	>ENCLEAR	;egg clear !!
		JSL	>EGGKILL	;egg link kill
		LDA	ENXPSL,X
		STA	EWORK0
		LDA	ENYPSL,X
		STA	EWORK2
		LDA	ENCLOR,X
		AND	#07H<<1
		STA	EWORK4
;
		LDA	#DOON0		;(A) <-- exstra no.
		JSL	>EXINSR		;exstra index search
		LDA	EWORK0
		CLC
		ADC	#08H
		STA	EXXPSL,Y	;X pos set
		LDA	EWORK2
		CLC
		ADC	#08H
		STA	EXYPSL,Y	;Y pos set
		LDA	#05H
		STA	EXTIM0,Y	;timer set
		RTL
;
;************************************************************************
;*		intial	( 見えない？雲 )				*
;************************************************************************
QKM00IN		EQU	$
		JSL	>EXIST_CHECK	;取ってるかどうかチェック
		RTL
;
;************************************************************************
;*		move	( 見えない？雲 )				*
;************************************************************************
QKM_CHANGE	EQU	$
		WORD	QKM09,QKM0C,QKM17,QKM0C
;
QKM00MV		EQU	$
		LDA	GRASS_ON
		BNE	QKM00MV_0050	;虫めがね使用中？ ( yes:QKM00MV_0050 )
;
		LDY	ECRSFG,X
		BMI	QKM00MV_0050	;プレイヤーと衝突？ ( yes:QKM00MV_0050 )
;
		DEY
		BMI	QKM00MV_0100	;敵と衝突？ ( no:QKM00MV_0100 )
;
;-------------- 敵と衝突 ------------------------------------------------
		LDA	ENMODE,Y
		CMP	#EMOVE
		BNE	QKM00MV_0100	;動作中？ ( no:QKM00MV_0100 )
		LDA	ENSHOT,Y
		BNE	QKM00MV_0010	;投げてる？ ( yes:QKM00MV_0010 )
;
		LDA	ENMYNO,Y
		CMP	#FIREX
		BEQ	QKM00MV_0010	;プレイヤーファイヤー？ ( yes:QKM00MV_0010 )
		CMP	#COLDX
		BNE	QKM00MV_0100	;プレイヤー氷の息？ ( no:QKM00MV_0100 )
;
QKM00MV_0010	EQU	$
		LDA	ENDSXL,X
		CLC
		ADC	#08H
		CMP	#0F8H+08H+1
		BCS	QKM00MV_0100	;衝突ＯＫ位置？ ( no:QKM00MV_0100 )
		LDA	ENDSYL,X
		CMP	#(0D3H-8)+1
		BCS	QKM00MV_0100	;	 "      ( no:QKM00MV_0100 )
;
;-------------- 当たった敵跳ね返りセット ------------------------
		TYX
		JSL	>ENDEATH_SET_4	;ショット敵死亡セット
;
;-------------- ？雲へ変更 ----------------------------------------------
QKM00MV_0050	EQU	$
		LDA	#027H		;[♪]
		JSL	>SOUND_3_ON
;
		LDA	ENXPSL,X
		AND	#010H
		LSR	A
		STA	<EWORK0
		LDA	ENYPSL,X
		AND	#010H
		ORA	<EWORK0
		LSR	A
		LSR	A
		TAY
		LDA	!QKM_CHANGE,Y	;(A) <-- 変更敵Ｎｏ．
		TXY			;(Y) <-- (X)
		JSL	>ESTATST
		LDA	#EINIT		;初期モードへ
		STA	ENMODE,X
		INC	ENWRKX,X	;フラッシングモードへ
;
;-------------- 効果けむりセット --------------------------------
		JSL	>FSMK0_SET5
;
QKM00MV_0100	EQU	$
		RTL
;
;************************************************************************
;*		intial	( 変身アイテム )				*
;************************************************************************
QKM_MV_TYPE_X	EQU	$		;[ 0FFH:移動無し  004H:少し移動	 020H:大きく移動 ]
		BYTE	0FFH,000H	;[CHG00]
		BYTE	0FFH,000H	;[CHG01]
		BYTE	0FFH,000H	;[CHG02]
		BYTE	0FFH,000H	;[CHG03]
		BYTE	0,0		;[PUUUU] ×ダミー
		BYTE	0FFH,000H	;[CHG05]
		BYTE	0,0		;[QKM00] ×ダミー
		BYTE	008H,008H	;[QKM01]
		BYTE	008H,008H	;[QKM02]
		BYTE	008H,008H	;[QKM03]
		BYTE	0FFH,0FFH	;[QKM04]
		BYTE	0FFH,0FFH	;[QKM05]
		BYTE	0FFH,0FFH	;[QKM06]
		BYTE	008H,008H	;[QKM07]
		BYTE	0FFH,0FFH	;[QKM08]
		BYTE	0FFH,0FFH	;[QKM09]
		BYTE	0FFH,0FFH	;[QKM0A]
		BYTE	008H,008H	;[QKM0B]
		BYTE	0FFH,0FFH	;[QKM0C]
		BYTE	0FFH,0FFH	;[QKM0D]
		BYTE	0FFH,0FFH	;[QKM0E]
		BYTE	008H,008H	;[QKM0F]
		BYTE	008H,008H	;[QKM10]
		BYTE	008H,008H	;[QKM11]
		BYTE	0FFH,0FFH	;[QKM12]
		BYTE	0FFH,0FFH	;[QKM13]
		BYTE	008H,008H	;[QKM14]
		BYTE	0,0		;[LBSDR] ×ダミー
		BYTE	0FFH,0FFH	;[QKM16]
		BYTE	0FFH,000H	;[QKM17]
;
QKM_MV_TYPE_Y	EQU	$		;[ 0FFH:移動無し  004H:少し移動	 020H:大きく移動 ]
		BYTE	004H,004H	;[CHG00]
		BYTE	004H,004H	;[CHG01]
		BYTE	004H,004H	;[CHG02]
		BYTE	004H,004H	;[CHG03]
		BYTE	0,0		;[PUUUU] ×ダミー
		BYTE	004H,004H	;[CHG05]
		BYTE	0,0		;[QKM00] ×ダミー
		BYTE	004H,004H	;[QKM01]
		BYTE	004H,004H	;[QKM02]
		BYTE	004H,004H	;[QKM03]
		BYTE	004H,004H	;[QKM04]
		BYTE	008H,008H	;[QKM05]
		BYTE	008H,008H	;[QKM06]
		BYTE	004H,004H	;[QKM07]
		BYTE	004H,004H	;[QKM08]
		BYTE	004H,004H	;[QKM09]
		BYTE	008H,008H	;[QKM0A]
		BYTE	004H,004H	;[QKM0B]
		BYTE	0FFH,0FFH	;[QKM0C]
		BYTE	008H,008H	;[QKM0D]
		BYTE	004H,004H	;[QKM0E]
		BYTE	004H,004H	;[QKM0F]
		BYTE	004H,004H	;[QKM10]
		BYTE	004H,004H	;[QKM11]
		BYTE	008H,008H	;[QKM12]
		BYTE	008H,008H	;[QKM13]
		BYTE	004H,004H	;[QKM14]
		BYTE	0,0		;[LBSDR] ×ダミー
		BYTE	004H,004H	;[QKM16]
		BYTE	004H,004H	;[QKM17]
;
CHG00_MVSP	EQU	$
		WORD	0FF80H,00080H
;
;
;;;;QKM16IN	    EQU	    $
;;;;		    LDA	    #0400H	    ;敵が元に戻るまでのタイマーセット
;;;;		    STA	    ENTIM3,X
;;;;		    STZ	    ENYSPD,X	    ;敵みんなハテナ雲からのＹスピードリセット
;;;;		    BRA	    CHG00IN_0020
;
QKM01IN		EQU	$
QKM02IN		EQU	$
QKM03IN		EQU	$
QKM08IN		EQU	$
QKM0AIN		EQU	$
QKM0BIN		EQU	$
QKM0CIN		EQU	$
QKM17IN		EQU	$
		JSL	>EXIST_CHECK	;取ってるかどうかチェック
		JSL	>BG_BACK_CK	;ＢＧに隠れてるチェック
		BRA	QKM04IN
;
CHG00IN		EQU	$
CHG01IN		EQU	$
CHG02IN		EQU	$
CHG03IN		EQU	$
CHG05IN		EQU	$
		JSL	>BG_BACK_CK	;ＢＧに隠れてるチェック
;
;;;;		    LDA	    CCHGMK
;;;;		    BEQ	    CHG00IN_0000    ;変身中？ ( no:CHG00IN_0000 )
;;;;		    JMP	    CHG_SP_SET
;;;;;
;;;;CHG00IN_0000    EQU	    $
		LDA	ENYPSL,X
		AND	#010H
		BEQ	CHG00IN_0020	;特殊タイプ？ ( no:CHG00IN_0020 )
;
;-------------- 特殊セット ----------------------------------------------
		LDA	ENXPSL,X
		AND	#010H
		BNE	CHG00IN_0010	;見えないタイプ？ ( no:CHG00IN_0010 )
;
;-------------- 見えない ----------------------------------------
		INC	ENWRK8,X	;見えないフラグ”ＯＮ”
		LDA	#0FFH
		STA	ENYUSN,X
		BRA	CHG00IN_0020
;
QKM09IN		EQU	$
		JSL	>EXIST_CHECK	;取ってるかどうかチェック
		JSL	>BG_BACK_CK	;ＢＧに隠れてるチェック
;
		LDA	ENXPSL,X
		AND	#010H
		BEQ	CHG00IN_0020	;見えないタイプ？ ( no:CHG00IN_0020 )
;
;-------------- 移動 --------------------------------------------
CHG00IN_0010	EQU	$
		LDY	ENMUKI,X
		LDA	!CHG00_MVSP,Y
		STA	ENXMAX,X
		STA	ENXSPD,X
		BRA	CHG00IN_0020
;
QKM04IN		EQU	$
QKM05IN		EQU	$
QKM06IN		EQU	$
QKM07IN		EQU	$
QKM0DIN		EQU	$
QKM0EIN		EQU	$
QKM0FIN		EQU	$
QKM10IN		EQU	$
QKM11IN		EQU	$
QKM12IN		EQU	$
QKM13IN		EQU	$
QKM14IN		EQU	$
		JSL	>BG_BACK_CK	;ＢＧに隠れてるチェック
;
QKM16IN		EQU	$
CHG00IN_0020	EQU	$
		LDA	ENMYNO,X
		SEC
		SBC	#CHG00
		ASL	A
		STA	<EWORK
		LDA	ENXPSL,X	;基準Ｘ座標保存
		STA	ENWRKA,X
		AND	#010H
		LSR	A
		LSR	A
		LSR	A
		LSR	A
		ORA	<EWORK0
		TAY
		LDA	!QKM_MV_TYPE_X-1,Y
		BMI	CHG00IN_0030	;移動無し？ ( yes:CHG00IN_0030 )
;
		XBA
		AND	#00FFH
		BNE	CHG00IN_0022	;単体セット？ ( no:CHG00IN_0022 )
;
CHG_SP_SET	EQU	$
		JSR	CHG_ITEM_CK	;変身アイテム出現”ＯＮ／ＯＦＦ”チェック
;
		LDA	ENYPSL,X	;基準Ｙ座標保存
		STA	ENWRKC,X
		LDA	#03H
		STA	<ENWRK0,X
		JMP	>CHG_KUMO_CANCEL
;
CHG00IN_0022	EQU	$
		CLC
		ADC	ENXPSL,X
		STA	<ENWRK4,X	;中心Ｘ位置セット
		LDA	#02H
		STA	ENXPOW,X
;
CHG00IN_0030	EQU	$
		LDA	ENYPSL,X	;基準Ｙ座標保存
		STA	ENWRKC,X
		AND	#010H
		LSR	A
		LSR	A
		LSR	A
		LSR	A
		ORA	<EWORK0
		TAY
		LDA	!QKM_MV_TYPE_Y-1,Y
		BMI	CHG00IN_0040	;移動無し？ ( yes:CHG00IN_0040 )
;
		XBA
		AND	#00FFH
		CLC
		ADC	ENYPSL,X
		STA	<ENWRK2,X	;中心Ｙ位置セット
		LDA	#02H
		STA	ENGPOW,X
;
CHG00IN_0040	EQU	$
		STZ	ENMUKI,X	;向きリセット
		LDA	#02		;パターンＮｏ．初期セット
		STA	ENCHPT,X
		RTL
;
;------------------------------------------------------------------------
;-		ＢＧに隠れてるチェック					-
;------------------------------------------------------------------------
BG_BACK_CK	EQU	$
		LDA	ENXPSL,X
		AND	#0FFF0H
		ORA	#08H
		STA	R8		;(R8) <-- ＢＧチェックＸ座標
		LDA	ENYPSL,X
		AND	#0FFF0H
		ORA	#08H
		STA	R0		;(R0) <-- ＢＧチェックＹ座標
		M_CHIPR M_BGUNIT_READ
;
		LDX	<ENINDX
		LDA	R7
		AND	#AL
		BEQ	BG_BACK_CK_0050 ;ＢＧに隠れてる？ ( no:BG_BACK_CK_0050 )
;
;-------------- ＢＧに隠れてる！！ --------------------------------------
		LDY	#02H		;(Y) <-- 矢印向きセット
		JSL	>QAROW_SET_CK	;？矢印セットチェック
;
		PLY			;[ pull pull return !! ]
		BRA	RETURN_INIT
;
BG_BACK_CK_0050 EQU	$
		LDA	#02H		;表示”ＯＮ”！！
		STA	ENYUSN,X
		RTL
;
;------------------------------------------------------------------------
;-		変身アイテム出現”ＯＮ／ＯＦＦ”チェック		-
;------------------------------------------------------------------------
CHG_ITEM_CK	EQU	$
		LDY	CHG_ITEM_SW_PT
		BEQ	CHG_ITEM_CK_020 ;変身アイテム出現ＯＫ？ ( yes:CHG_ITEM_CK_020 )
;
		M8
;
		LDA	ENRETN,X
CHG_ITEM_CK_010 EQU	$
		CMP	CHG_ITEM_SW-1,Y
		BEQ	CHG_ITEM_CK_050 ;変身アイテム出現ＯＫ？ ( no:CHG_ITEM_CK_050 )
		DEY
		BNE	CHG_ITEM_CK_010
;
		M16
;
CHG_ITEM_CK_020 EQU	$
		LDY	<ENWRK0,X
		BEQ	CHG_ITEM_CK_040 ;けむり出す？ ( no:CHG_ITEM_CK_040 )
;
		LDA	ENTIM0,X
		BNE	CHG_ITEM_CK_022 ;出現ウェイト？ ( yes:CHG_ITEM_CK_022 )
;
;-------------- けむりセット --------------------------------------------
		JSL	>KUMOB_SET
		LDA	#040H		;出現ウェイトタイマーセット
		STA	ENTIM0,X
		BRA	RETURN_INIT
;
CHG_ITEM_CK_022 EQU	$
		DEC	A
		BNE	RETURN_INIT	;出現初期セット？ ( no:RETURN_INIT )
CHG_ITEM_CK_040 EQU	$
		RTS
;
;-------------- 変身アイテム出現キャンセル！！ --------------------------
CHG_ITEM_CK_050 EQU	$
;
		M16
;
		LDA	#01H		;変身アイテム出現キャンセルフラグ”ＯＮ”
		STA	<ENWRK0,X
;
RETURN_INIT	EQU	$
		LDA	#EINIT
		STA	ENMODE,X
		LDA	#0FFH
		STA	ENYUSN,X
		PLA			;[ pull pull return !! ]
		RTL
;
;************************************************************************
;*		move	( 変身アイテム )				*
;************************************************************************
CHG00_MAXSP	EQU	$
		WORD	0FF00H,00100H
CHG00_PT_AD	EQU	$
		WORD	0FFFFH,00001H
CHG00_PT_CP	EQU	$
		WORD	00002H,00005H
;
CHG00MV		EQU	$
CHG01MV		EQU	$
CHG02MV		EQU	$
CHG03MV		EQU	$
CHG05MV		EQU	$
QKM01MV		EQU	$
QKM02MV		EQU	$
QKM03MV		EQU	$
QKM04MV		EQU	$
QKM05MV		EQU	$
QKM06MV		EQU	$
QKM07MV		EQU	$
QKM08MV		EQU	$
QKM09MV		EQU	$
QKM0AMV		EQU	$
QKM0BMV		EQU	$
QKM0CMV		EQU	$
QKM0DMV		EQU	$
QKM0EMV		EQU	$
QKM0FMV		EQU	$
QKM10MV		EQU	$
QKM11MV		EQU	$
QKM12MV		EQU	$
QKM13MV		EQU	$
QKM14MV		EQU	$
QKM16MV		EQU	$
QKM17MV		EQU	$
		LDA	<ENWRK0,X
		BEQ	CHG00MV_0010	;”フワフワ”？ ( yes:CHG00MV_0010 )
		JMP	CHG00MV_0100
;
;------------------------------------------------------------------------
;-		雲”フワフワ”処理					-
;------------------------------------------------------------------------
CHG00MV_0010	EQU	$
		STZ	ENMUKI,X	;向きリセット
;
		LDA	ENWRK8,X
		BEQ	CHG00MV_0014	;見えないタイプ？ ( no:CHG00MV_0014 )
;
		LDY	#02H		;(Y) <-- 矢印向きセット
		JSL	>QAROW_SET_CK	;？矢印セットチェック
		LDY	#0FFH		;(A) <-- ＯＡＭセットフラグ
		BCC	CHG00MV_0012	;スイッチ”ＯＮ”？ ( no:CHG00MV_0012 )
;
		LDY	#02H		;(Y) <-- ＯＡＭセットフラグ
CHG00MV_0012	EQU	$
		TYA
		STA	ENYUSN,X
;
;-------------- フラッシングチェック ------------------------------------
CHG00MV_0014	EQU	$
		LDY	ENWRKX,X
		BEQ	CHG00MV_0018	;フラッシング？ ( no:CHG00MV_0018 )
;
		LDY	#02H
		LDA	FRCNT
		AND	#01H
		BEQ	CHG00MV_0016
		LDY	#0FFH
CHG00MV_0016	EQU	$
		TYA
		STA	ENYUSN,X
;
CHG00MV_0018	EQU	$
		JSL	>ENMDCK		;mode check
;
		LDA	<ENWRK2,X
		BEQ	CHG00MV_0022	;横”フワフワ”？ ( no:CHG00MV_0022 )
;
;-------------- 横”フワフワ” ------------------------------------------
		LDY	#00
		CMP	ENYPSL,X
		BMI	CHG00MV_0020
		LDY	#02H
CHG00MV_0020	EQU	$
		LDA	!CHG00_MAXSP,Y
		STA	ENGMAX,X
;;;;		    LDA	    #00001100B
;;;;		    STA	    <EWORK0
;;;;		    BRA	    CHG00MV_0026
;
;-------------- 縦”フワフワ” ------------------------------------------
CHG00MV_0022	EQU	$
		LDA	<ENWRK4,X
		BEQ	CHG00MV_0026	;横”フワフワ”？ ( no:CHG00MV_0026 )
;
		LDY	#00
		LDA	<ENWRK4,X
		CMP	ENXPSL,X
		BMI	CHG00MV_0024
		LDY	#02H
CHG00MV_0024	EQU	$
		LDA	!CHG00_MAXSP,Y
		STA	ENXMAX,X
;
;-------------- ＢＧチェック --------------------------------------------
CHG00MV_0026	EQU	$
;
;-------------- パターンセット ------------------------------------------
CHG00MV_0028	EQU	$
		JSR	CHG00_PTSET
;
;-------------- タマゴ衝突チェック --------------------------------------
CHG00MV_0040	EQU	$
		LDA	ENWRK8,X
		BNE	CHG00MV_0046	;見える？ ( yes:CHG00MV_0046 )
;
		LDY	ECRSFG,X
		DEY
		BPL	CHG00MV_0047	;敵と衝突してる？ ( yes:CHG00MV_0047 )
CHG00MV_0046	EQU	$
		RTL
;
CHG00MV_0047	EQU	$
		LDA	ENMODE,Y
		CMP	#EMOVE
		BNE	CHG00MV_0046	;動作中？ ( no:CHG00MV_0046 )
		LDA	ENSHOT,Y
		BNE	CHG00MV_00470	;投げてる？ ( yes:CHG00MV_00470 )
;
		LDA	ENMYNO,Y
		CMP	#FIREX
		BEQ	CHG00MV_00470	;プレイヤーファイヤー？ ( yes:CHG00MV_00470 )
		CMP	#COLDX
		BNE	CHG00MV_0046	;プレイヤー氷の息？ ( no:CHG00MV_0046 )
;
CHG00MV_00470	EQU	$
		LDA	ENDSXL,X
		CLC
		ADC	#018H
		CMP	#0108H+018H+1
		BCS	CHG00MV_0046	;衝突ＯＫ位置？ ( no:CHG00MV_0046 )
		LDA	ENDSYL,X
		CLC
		ADC	#010H
		CMP	#0E0H+010H+1
		BCC	CHG00MV_0048F	;	 "      ( yes:CHG00MV_0048F )
		JMP	CHG00MV_0050
;
;-------------- 当たった敵跳ね返りセット ------------------------
CHG00MV_0048F	EQU	$
		TYX
;
;-------------- サウンドセット座標セット --------
		LDA	#032H
		JSL	>SOUND_XYST	;[♪]
;
		JSL	>ENDEATH_SET_4	;ショット敵死亡セット
;
;-------------- 当たり！！ --------------------------------------
		LDA	#02H		;フラッシングキャンセル
		STA	ENYUSN,X
;
		JSL	>SP_SCRL_SET_2	;スクロール基準特殊セット
		STZ	SP_SCRL_XSP	;スクロール基準特殊Ｘスピードセット
		STZ	SP_SCRL_YSP	;	  ”	   Ｙ	   ”
;
		LDA	ENMYNO,X
		SEC
		SBC	#QKM05
		LSR	A
		BEQ	CHG00MV_00484	;落下モードあり？ ( yes:CHG00MV_00484 )
;
;-------------- ハテナ雲ズーム初期セット ----------------
		STZ	ENYSPD,X
		STZ	ENGPOW,X
		STZ	ENGMAX,X
		JSL	>QKM_ZOOM_IN
		BRA	CHG00MV_00490
;
;-------------- 落下モード初期セット --------------------
CHG00MV_00484	EQU	$
		LDA	ENMOD2,X	;ＯＡＭセット変更
		SEC
		SBC	#0010000000000001B ;ＯＢＪ数を５個から１個へ
		STA	ENMOD2,X
		LDA	ENMOD1,X	;ＢＧチェックセット
		ORA	#01H
		STA	ENMOD1,X
		LDA	ENWRKA,X
		AND	#010H
		EOR	#010H		;[ 偶数：右へ  奇数：左へ ]
		BNE	CHG00MV_00485
;
		LDA	#0FFF0H
CHG00MV_00485	EQU	$
		STA	<ENWRK2,X	;セット向きセット
;
CHG_KUMO_JUMP	EQU	$
CHG00MV_00486	EQU	$
		LDA	#0FC00H
		STA	ENYSPD,X
		LDA	#040H
		STA	ENGPOW,X
		LDA	#0400H
		STA	ENGMAX,X
		INC	<ENWRK0,X
CHG00MV_00490	EQU	$
		LDA	#02H
		STA	ENYUSN,X
		STZ	ENXSPD,X
		STZ	ENXMAX,X
		STZ	ENXPOW,X
CHG00MV_0050	EQU	$
		RTL
;
CHG00MV_0100	EQU	$
		DEC	A		;[ CMP #01H ]
		BNE	CHG00MV_0200	;落下モード？ ( no:CHG00MV_0200 )
;
		JSL	>ENMDCK
;
		JSL	>SP_SCRL_SET_2	;スクロール基準特殊セット
;
;-------------- パターンセット ----------------------------------
		JSR	CHG00_PTSET
;
		LDA	ENCBFG,X
		AND	#00001B
		ORA	ENWATR,X
		AND	#00FFH
		BNE	CHG00MV_0102	;着地？ ( yes:CHG00MV_0102 )
;
;-------------- 特殊着地ＢＧチェック --------------------
		LDA	ECENTX,X
		STA	R8		;(R8) <-- ＢＧチェックＸ座標
		LDA	ENYPSL,X
		CLC
		ADC	#010H
		STA	R0		;(R0) <-- ＢＧチェックＹ座標
		M_CHIPR M_BGUNIT_READ
;
		LDX	<ENINDX
		LDA	R6
		CMP	RUT6812
		BNE	CHG00MV_0110	;着地？ ( no:CHG00MV_0110 )
;
CHG00MV_0102	EQU	$
;;;;		    LDA	    ENYPSL,X	    ;Ｙ座標補正
;;;;		    AND	    #0FFF0H
;;;;		    STA	    ENYPSL,X
		LDA	ENMOD2,X	;ＯＡＭセット変更
		CLC
		ADC	#0010000000000001B ;ＯＢＪ数を１個から５個へ
		STA	ENMOD2,X
		JSL	>QKM_ZOOM_IN
;
CHG00MV_0110	EQU	$
		RTL
;
;-------------- ハテナ雲ズーム ----------------------------------
CHG00MV_0200	EQU	$
		DEC	A		;[ CMP #02H ]
		BNE	CHG00MV_0300	;ハテナ雲ズーム？ ( no:CHG00MV_0300 )
;
		JSL	>TROBJ_OAM_4x4
;
		JSL	>ENMDCK
;
		JSL	>SP_SCRL_SET_2	;スクロール基準特殊セット
;
		JSL	>QKM_ZOOM
;
		STZ	ENXSPD,X
		STZ	ENYSPD,X
		LDA	ENWRK8,X
		CLC
		ADC	#018H
		STA	ENWRK8,X
		CMP	#01F0H+(18H*16)
		BCC	CHG00MV_0210	;ズームデモ終了？ ( no:CHG00MV_0210 )
;
		JSL	>TROBJ_CLEAR
;
CHG_ZOOM_END	EQU	$
		LDA	#03BH		;[♪]
		JSL	>SOUND_3_ON
;
		INC	<ENWRK0,X	;ハテナ雲タイプ別処理へ
		LDA	#03H
		STA	ENCHPT,X
		LDA	ENMOD2,X
		CLC
		ADC	#0000100000000000B ;[ ＯＢＪ使用数を４個から５個へ ]
		STA	ENMOD2,X
;
		JSL	>FUSNB_SET	;効果セット
;
CHG_KUMO_CANCEL EQU	$
;
		I16
;
		LDA	ENMYNO,X
		ASL	A
		TAX
		JMP	(!CHG_TYPE_IN,X)
;
		IDX8
;
CHG00MV_0210	EQU	$
		RTL
;
;-------------- ハテナ雲タイプ別処理 ----------------------------
CHG00MV_0300	EQU	$
;
		I16
;
		LDA	ENMYNO,X
		ASL	A
		TAX
		JMP	(!CHG_TYPE_MV,X)
;
		IDX8
;
;------------------------------------------------------------------------
;-		ハテナ雲ズーム初期セット				-
;------------------------------------------------------------------------
QKM_ZOOM_IN	EQU	$
		LDA	#02H
		STA	<ENWRK0,X
;
		JSL	>TROBJ_SR_4x4
		BCS	QKM_ZOOM_IN_010 ;エリア空き無し？ ( no:QKM_ZOOM_IN_010 )
;
		PLA			;[ pull pull return !! ]
		PLY			;
		JMP	CHG_ZOOM_END
;
QKM_ZOOM_IN_010 EQU	$
		STZ	ENCHPT,X
		LDA	ENMOD2,X
		SEC
		SBC	#0000100000000000B ;[ ＯＢＪ使用数を５個から４個へ ]
		STA	ENMOD2,X
		LDA	#0100H
		STA	ENWRK8,X
;
;------------------------------------------------------------------------
;-		ハテナ雲ズームキャラセット				-
;------------------------------------------------------------------------
QKM_ZOOM	EQU	$
		LDA	ENWRK8,X
		CMP	#01F0H
		BCC	QKM_ZOOM_0010
		LDA	#01F0H
QKM_ZOOM_0010	EQU	$
		STA	R6		;(R6) <-- 倍率
		LDA	#08H
		STA	R8		;(R8)  <-- 中心＿Ｘ
		STA	R9		;(R8)  <-- 中心＿Ｙ
		LDA	#CIPCHD3+70E0H
		STA	R12		;(R12) <-- キャラクターアドレス（Ｌ、Ｈ）
		LDA	#BANK CIPCHD3
		STA	R13		;(R13) <-- キャラクターアドレス（Ｂ）
		LDY	ENTROB,X
		TYX
		LDA	>TROBJ_PLOT_Y,X
		STA	R2		;(R2)  <-- ビットマップ座標＿Ｙ
		LDA	!TROBJ_PLOT_X,X
		STA	R3		;(R3)  <-- ビットマップ座標＿Ｘ
		M_CHIP	C_32_ZOOM_16
;
		INC	OBM7WF		;転送キャラクター転送フラグ”ＯＮ”
;
		LDX	<ENINDX
		RTL
;
;------------------------------------------------------------------------
;-		ハテナ雲パターンＮｏ．セット				-
;------------------------------------------------------------------------
CHG00_PTSET	EQU	$
		LDA	ENTIM0,X
		BNE	CHG00_PTSET_020 ;パターン切り替え？ ( no:CHG00_PTSET_020 )
;
		LDY	ENWRK6,X
		LDA	ENCHPT,X
		CMP	!CHG00_PT_CP,Y
		BNE	CHG00_PTSET_010 ;パターンＮｏ．ＭＡＸ？ ( no:CHG00_PTSET_010 )
		TYA
		EOR	#02H
		STA	ENWRK6,X
		TAY
		LDA	ENCHPT,X
CHG00_PTSET_010 EQU	$
		CLC
		ADC	!CHG00_PT_AD,Y
		STA	ENCHPT,X
		LDA	#04H		;パターン切り替えタイマーセット
		STA	ENTIM0,X
CHG00_PTSET_020 EQU	$
		RTS
;
;------------------------------------------------------------------------
;-		変身アイテムタイプ別初期セットルーチンテーブル		-
;------------------------------------------------------------------------
CHG_TYPE_IN	EQU	$-(CHG00*2)	;[ENEMYNO]
		WORD	CHG_TYPE_IN_0	;[CHG00]
		WORD	CHG_TYPE_IN_0	;[CHG01]
		WORD	CHG_TYPE_IN_0	;[CHG02]
		WORD	CHG_TYPE_IN_0	;[CHG03]
		WORD	0		;[PUUUU] ×ダミー
		WORD	CHG_TYPE_IN_0	;[CHG05]
;
		WORD	0		;[QKM00] ×ダミー
		WORD	QKM_TYPE_IN_1	;[QKM01] コイン出現
		WORD	QKM_TYPE_IN_2	;[QKM02] シャボン１ｕｐ
		WORD	QKM_TYPE_IN_3	;[QKM03] フラワー出現
		WORD	QKM_TYPE_IN_4	;[QKM04] 敵みんなコイン
		WORD	QKM_TYPE_IN_5	;[QKM05] 階段が出現する
		WORD	QKM_TYPE_IN_6	;[QKM06] 橋がかかる
		WORD	QKM_TYPE_IN_7	;[QKM07] ドロボー出現
		WORD	QKM_TYPE_IN_8	;[QKM08] コイン出現（１枚）
		WORD	QKM_TYPE_IN_9	;[QKM09] １ｕｐ
		WORD	QKM_TYPE_IN_A	;[QKM0A] カギ出現
		WORD	QKM_TYPE_IN_B	;[QKM0B] ＯＢＪコイン（小）
		WORD	QKM_TYPE_IN_C	;[QKM0C] ＯＢＪコイン（多）
		WORD	QKM_TYPE_IN_D	;[QKM0D] ドア出現
		WORD	QKM_TYPE_IN_E	;[QKM0E] 床が下がる
		WORD	QKM_TYPE_IN_F	;[QKM0F] スイカ出現
		WORD	QKM_TYPE_IN_10	;[QKM10] ファイヤースイカ出現
		WORD	QKM_TYPE_IN_11	;[QKM11] 氷スイカ
		WORD	QKM_TYPE_IN_12	;[QKM12] ひまわりリフト（５ユニット）
		WORD	QKM_TYPE_IN_13	;[QKM13] ひまわりリフト（１１ユニット）
		WORD	0		;[QKM14] ×ダミー
		WORD	0		;[LBSDR] ×ダミー
		WORD	QKM_TYPE_IN_16	;[QKM16] 敵が変わった？雲
		WORD	QKM_TYPE_IN_17	;[QKM17] スイッチ
;
;----------------------------------------------------------------
;-		変身アイテム初期セット				-
;----------------------------------------------------------------
CHG_CHR_ADRS	EQU	$
		WORD	CIPCHD3+6060H+1 ;クルマ
		WORD	CIPCHD3+6070H+1 ;モグラ
		WORD	CIPCHD3+7060H+1 ;ヘリコプター
		WORD	CIPCHD3+7070H+1 ;汽車
		WORD	0		;キノコ
		WORD	CIPCHD3+70F0H	;潜水艦
;
CHG_TYPE_IN_0	EQU	$
;
		I8
;
		LDX	<ENINDX
		JSL	>TROBJ_SR_2x2	;転送エリア確保
		BCS	CHG_TYPE_IN_010 ;      "       ？ ( yes:CHG_TYPE_IN_010 )
		JMP	>ENCLEAR
;
CHG_TYPE_IN_010 EQU	$
		LDA	ENCHPT,X
		STA	<ENWRK4,X	;単体セット？フラグセット
		BEQ	CHG_TYPE_IN_020 ;単体セット？ ( yes:CHG_TYPE_IN_020 )
;
		LDA	#0100H		;落下スピードセット
		STA	ENYSPD,X
CHG_TYPE_IN_020 EQU	$
		LDA	#07H		;変身アイテムパターンＮｏ．初期セット
		STA	ENCHPT,X	;
		STZ	ENWRK6,X	;
		LDA	ENMOD1,X	;ＢＧチェックセット
		ORA	#01H
		STA	ENMOD1,X
		LDA	#02H		;重力セット
		STA	ENGPOW,X
		LDA	#0FFC0H
		STA	ENGMAX,X
		LDA	#020H		;ウェイトタイマーセット
		STA	ENTIM0,X
;
;--------------------------------------------------------
;-		転送キャラクターセット			-
;--------------------------------------------------------
		LDA	#0100H
		STA	R6		;(R6)  <-- 倍率
		LDA	#08H
		STA	R8		;(R8)  <-- 中心＿Ｘ
		STA	R9		;(R9)  <-- 中心＿Ｙ
		LDA	ENMYNO,X
		SEC
		SBC	#CHG00
		ASL	A
		TAY
		LDA	!CHG_CHR_ADRS,Y
		STA	R12		;(R12) <-- キャラクターアドレス（Ｌ，Ｈ）
		LDA	#BANK CIPCHD3
		STA	R13		;(R13) <-- キャラクターアドレス（Ｂ）
		LDY	ENTROB,X
		TYX
		LDA	>TROBJ_PLOT_Y,X
		STA	R2		;(R2)  <-- ビットマップ座標＿Ｙ
		LDA	!TROBJ_PLOT_X,X
		STA	R3		;(R3)  <-- ビットマップ座標＿Ｘ
		M_CHIP	C_16_ZOOM
;
		INC	OBM7WF		;転送キャラクター転送フラグ”ＯＮ”
;
		LDX	<ENINDX
		RTL
;
;----------------------------------------------------------------
;-		床が下がる					-
;----------------------------------------------------------------
QKM_TYPE_IN_E	EQU	$
		LDX	<ENINDX
		LDA	ENDSXL,X
		SEC
		SBC	#0080H
		ASL	A		;(C) <-- (N)
		LDA	#00
		BCS	QKM_TYPE_IN_E10
		LDA	#040H
QKM_TYPE_IN_E10 EQU	$
		PHA			;(A) save
;
		CLC
		ADC	ENXPSL,X
		STA	ENXPSL,X	;スクロール用Ｘ座標セット
;
		PLA			;(A) load
		SEC
		SBC	#020H		;[ ハテナ雲から床までのＸ距離 ]
		STA	<ENWRK4,X
;
		LDA	#090H		;ウェイトタイマーセット
		BRA	QKM_TYPE_IN_110
;
;----------------------------------------------------------------
;-		コイン出現初期セット				-
;----------------------------------------------------------------
QKM_TYPE_IN_1	EQU	$
;
		I8
;
		LDX	<ENINDX
		JSL	>QKM_NON_EXIST	;情報データセーブビット”ＯＮ”
;
		LDA	#040H		;ウェイトタイマーセット
;
QKM_TYPE_IN_110 EQU	$
;
		I8
;
		STA	ENTIM0,X
		LDA	ENYPSL,X	;Ｙ座標補正
		AND	#0FFF0H
		STA	ENYPSL,X
QKM_NODSPST	EQU	$
		LDA	ENMOD1,X	;ＢＧチェック無しセット
		AND	#1111111111100000B
		STA	ENMOD1,X
		STZ	ENMOD2,X	;ＯＡＭセット無しセット
		LDA	#0FFH
		STA	ENYUSN,X
		STZ	ENGPOW,X	;移動キャンセル
		STZ	ENXSPD,X
		STZ	ENYSPD,X
		RTL
;
;----------------------------------------------------------------
;-		情報データセーブビット”ＯＮ”			-
;----------------------------------------------------------------
QKM_NON_EXIST	EQU	$
		LDA	ENWRKA,X
		STA	<EWORK4
		LDA	ENWRKC,X
		JMP	>NON_EXIST_SET2 ;取った！！
;
;----------------------------------------------------------------
;-		シャボン１ｕｐ初期セット			-
;----------------------------------------------------------------
PUPBB_ST_XS	EQU	$
		WORD	0FF80H,00080H
PUPBB_ST_XP	EQU	$
		WORD	00110H,0FFE0H
;
QKM_TYPE_IN_2	EQU	$
;
		I8
;
		LDX	<ENINDX
		JSL	>ENCLEAR_NORETN2
;
		LDA	#PUPBB		;(A) <-- 敵Ｎｏ．
		TXY
		JSL	>ESTATST
;
		LDA	ENWRKA,X	;ＮＥＸＴ  ＧＯＴＯセーブビットセット座標セット
		STA	ENWRK4,X
		LDA	ENWRKC,X
		STA	ENWRK6,X
;
;;;;		    LDY	    #00H
;;;;		    LDA	    RANDM0
;;;;		    LSR	    A		    ;(C) set
;;;;		    BCC	    QKM_TYPE_IN_210
;;;;		    LDY	    #02H
;;;;QKM_TYPE_IN_210 EQU	    $
;;;;		    LDA	    !PUPBB_ST_XS,Y
;;;;		    STA	    ENXSPD,X
;;;;		    LDA	    SCCH1
;;;;		    CLC
;;;;		    ADC	    !PUPBB_ST_XP,Y
;;;;		    STA	    ENXPSL,X	    ;Ｘ座標セット
;;;;		    LDA	    SCCV1
;;;;		    CLC
;;;;		    ADC	    #030H
;;;;		    STA	    ENYPSL,X	    ;Ｙ座標セット
;
		LDA	#02H		;(A) <-- ３ｕｐ
		LDY	TIMER_MID
		CPY	#3
		BEQ	QKM_TYPE_IN_220 ;３ｕｐ？ ( yes:QKM_TYPE_IN_220 )
		LDA	#00		;(A) <-- １ｕｐ
QKM_TYPE_IN_220 EQU	$
		STA	ENWRK0,X
		RTL
;
;----------------------------------------------------------------
;-		フラワー出現初期セット				-
;----------------------------------------------------------------
QKM_TYPE_IN_3	EQU	$
;
		I8
;
		LDX	<ENINDX
		JSL	>ENCLEAR_NORETN2
;
		LDY	#CHR8FD-CHR10	;(Y) <-- 敵キャラクターバンク
		JSL	>ENCHRB_SET	;キャラクターバンクセット
		LDA	#ZFLW2		;(A) <-- 敵Ｎｏ．
		BCC	QKM_TYPE_IN_310 ;ズームＯＢＪフラワー？ ( no:QKM_TYPE_IN_310 )
;
		LDA	#ZFLWR		;(A) <-- 敵Ｎｏ．
QKM_TYPE_IN_310 EQU	$
		TXY
		JSL	>ESTATST
;
		LDA	#EINIT
		STA	ENMODE,X
		RTL
;
;----------------------------------------------------------------
;-		敵みんなコイン					-
;----------------------------------------------------------------
QKM_TYPE_IN_4	EQU	$
;
		I8
;
		LDX	<ENINDX
;
		LDA	#047H		;[♪]
		JSL	>SOUND_3_ON
;
		JSL	>TO_COIN_CHANGE
;
		JMP	>ENCLEAR_NORETN
;
;----------------------------------------------------------------
;-		階段が出現する初期セット			-
;----------------------------------------------------------------
QKM_TYPE_IN_5	EQU	$
;----------------------------------------------------------------
;-		橋がかかる初期セット				-
;----------------------------------------------------------------
QKM_TYPE_IN_6	EQU	$
;
		I8
;
		LDX	<ENINDX
		JSL	>QKM_NODSPST	;表示無しセット
;
		LDA	ECENTX,X	;Ｘ座標補正
		STA	ENXPSL,X
		LDA	ENCBFG,X
		LSR	A		;(C) <-- 着地フラグ
		LDA	ENYPSL,X	;Ｙ座標補正
		BCS	QKM_TYPE_IN_610 ;着地？ ( yes:QKM_TYPE_IN_610 )
;
;;;;		    SEC
		SBC	#05H-1
QKM_TYPE_IN_610 EQU	$
		AND	#0FFF0H
		SEC
		SBC	#010H
		STA	ENYPSL,X
		LDA	#060H		;ウェイトタイマーセット
		STA	ENTIM0,X
		STZ	<ENWRK4,X	;サウンドセットカウンターリセット
		RTL
;
;----------------------------------------------------------------
;-		ドロボー出現					-
;----------------------------------------------------------------
QKM_TYPE_IN_7	EQU	$
;
		I8
;
		LDX	<ENINDX
		JSL	>ENCLEAR_NORETN2
;
		LDA	#DOROB		;(A) <-- 敵Ｎｏ．
		TXY
		JSL	>ESTATST
		LDA	#EINIT
		STA	ENMODE,X
;
		LDA	#0000CH
		STA	<ENWRK2,X
		LDA	#0FD00H		;Ｙスピードセット
		STA	ENYSPD,X
		LDA	#17H
		STA	ENCHPT,X
		RTL
;
;----------------------------------------------------------------
;-		コイン出現（１枚）				-
;----------------------------------------------------------------
QKM_TYPE_IN_8	EQU	$
;
		I8
;
		LDX	<ENINDX
		JSL	>QKM_NON_EXIST	;情報データセーブビット”ＯＮ”
;
		LDA	#040H		;ウェイトタイマーセット
		STA	ENTIM0,X
		LDA	ENYPSL,X	;Ｙ座標補正
		AND	#0FFF0H
		STA	ENYPSL,X
		JMP	QKM_NODSPST
;
;----------------------------------------------------------------
;-		１ｕｐ						-
;----------------------------------------------------------------
QKM_TYPE_IN_9	EQU	$
;
		I8
;
		LDX	<ENINDX
		JSL	>QKM_NON_EXIST	;情報データセーブビット”ＯＮ”
;
		JSL	>PL_1UP_SET_P	;１ｕｐ
		JMP	>ENCLEAR_NORETN
;
;----------------------------------------------------------------
;-		カギ出現					-
;----------------------------------------------------------------
QKM_TYPE_IN_A	EQU	$
;
		I8
;
		LDX	<ENINDX
		JSL	>ENCLEAR_NORETN2
;
		LDA	#DRKEY		;(A) <-- 敵Ｎｏ．
		TXY
		JSL	>ESTATST
;
		LDA	#0FD00H		;Ｙスピードセット
		STA	ENYSPD,X
		RTL
;
;----------------------------------------------------------------
;-		ＯＢＪコイン（小）出現				-
;----------------------------------------------------------------
QKM_COIN_XSP	EQU	$
		WORD	00040H,0FF00H,00080H,0FF80H,000C0H,0FF40H,00020H,0FFE0H
QKM_COIN_YSP	EQU	$
		WORD	0FE00H,0FC00H,0FC80H,0FE80H,0FD00H,0FD80H,0FF00H,0FF80H
;
QKM_TYPE_IN_B	EQU	$
;;;;		    LDA	    #00H
		LDA	#03H
;
QKM_COIN_SET	EQU	$
		STA	<EWORK8		;(EWK8,9) <-- セットコイン数
;
		LDA	#030H		;[♪]
		JSL	>SOUND_3_ON
;
;;;;		    LDA	    RANDM0
;;;;		    AND	    #03H
;;;;		    BNE	    QKM_TYPE_IN_B00
;;;;		    LDA	    #02H
;;;;QKM_TYPE_IN_B00 EQU	    $
;;;;		    CLC
;;;;		    ADC	    <EWORK8
;;;;		    STA	    <EWORK8
;
		I8
;
		LDX	<ENINDX
		JSL	>QKM_NON_EXIST	;情報データセーブビット”ＯＮ”
;
		LDA	ENXPSL,X
		STA	WORK0		;(WK0,1) <-- Ｘ座標
		LDA	ENYPSL,X
		STA	WORK2		;(WK2,3) <-- Ｙ座標
;
		JSL	>ENCLEAR_NORETN
;
		LDA	TIMER
TIMKN_MANY_SET	EQU	$
QKM_TYPE_IN_B10 EQU	$
		STA	<EWORK4		;(EWK4,5) <-- タイマー
;
		CMP	#300		;[ (C) set ]
		LDA	#TIMKN		;(A) <-- 敵Ｎｏ．
		BCC	QKM_TYPE_IN_B12 ;タイマーＭＡＸ？ ( no:QKM_TYPE_IN_B12 )
		LDA	#COIN1		;(A) <-- 敵Ｎｏ．
QKM_TYPE_IN_B12 EQU	$
		JSL	>ENINSR		;敵エリア確保
		BCC	QKM_TYPE_IN_B20 ;      ”    ？ ( no:QKM_TYPE_IN_B20 0
;
		LDA	WORK0		;Ｘ座標セット
		STA	ENXPSL,Y
		LDA	WORK2		;Ｙ座標セット
		STA	ENYPSL,Y
		LDA	<EWORK4
		CMP	#300
		BCC	QKM_TYPE_IN_B14 ;タイマーＭＡＸ？ ( no:QKM_TYPE_IN_B14 )
;
		JSR	COIN1_INIT_SET
		BRA	QKM_TYPE_IN_B16
;
QKM_TYPE_IN_B14 EQU	$
		LDA	#0180H		;初期タイマーセット
		STA	ENTIM0,Y
;
QKM_TYPE_IN_B16 EQU	$
		JSL	>RANDAM
		LDA	RANDM0
		AND	#07H*2
		TAX
		LDA	>QKM_COIN_XSP,X
		STA	ENXSPD,Y
		LDA	RANDM0
		LSR	A
		LSR	A
		LSR	A
		LSR	A
		AND	#07H*2
		TAX
		LDA	>QKM_COIN_YSP,X
		STA	ENYSPD,Y
;
		LDA	<EWORK4
		CLC
		ADC	#10
;
		DEC	<EWORK8
		BNE	QKM_TYPE_IN_B10
;
QKM_TYPE_IN_B20 EQU	$
		LDX	<ENINDX
		RTL
;
;----------------------------------------------------------------
;-		ＯＢＪコイン（多）出現				-
;----------------------------------------------------------------
QKM_TYPE_IN_C	EQU	$
;;;;		    LDA	    #5-1
		LDA	#5
		JMP	QKM_COIN_SET
;
;----------------------------------------------------------------
;-		ドア出現					-
;----------------------------------------------------------------
QKM_TYPE_IN_D	EQU	$
;
		I8
;
		LDX	<ENINDX
		JSL	>ENCLEAR_NORETN2
;
		LDA	#ZDOOR		;(A) <-- 敵Ｎｏ．
		TXY
		JSL	>ESTATST
		LDA	#EINIT
		STA	ENMODE,X
		LDA	#040H
		STA	ENGPOW,X
		RTL
;
;----------------------------------------------------------------
;-		スイカ出現					-
;----------------------------------------------------------------
SUIKA_TYPE	EQU	$
		WORD	SUIKA,FIRE0,COLD0
;
QKM_TYPE_IN_F	EQU	$
QKM_TYPE_IN_10	EQU	$
QKM_TYPE_IN_11	EQU	$
;
		I8
;
		LDX	<ENINDX
		JSL	>ENCLEAR_NORETN2
;
		LDA	ENMYNO,X
		SEC
		SBC	#QKM0F
		ASL	A
		TAY
		LDA	!SUIKA_TYPE,Y	;(A) <-- 敵Ｎｏ．
		TXY
		JSL	>ESTATST
;
		STZ	ENWRKC,X
		JMP	>KINOMI_CANCEL_3
;
;----------------------------------------------------------------
;-		ひまわりリフト初期セット			-
;----------------------------------------------------------------
QKM_TYPE_IN_12	EQU	$
QKM_TYPE_IN_13	EQU	$
;
		I8
;
		LDX	<ENINDX
		STZ	ENCHPT,X	;パターンＮｏ．リセット
		LDA	ENMOD2,X	;ＯＡＭセット変更
		SEC
;;;;		    SBC	    #0010000000000101B ;ＯＢＪ数を５個から１個へ、範囲外クリアー無しに
		SBC	#0010000000000001B ;ＯＢＪ数を５個から１個へ、範囲外クリアー無しに
		STA	ENMOD2,X
		LDA	ENMOD1,X	;ＢＧチェックセット
		ORA	#01H
		STA	ENMOD1,X
		LDA	ENCLOR,X	;カラーセット
		ORA	#01H<<1
		STA	ENCLOR,X
		LDA	#-4		;ＢＧチェック位置補正
		STA	ENBGYP,X
;
		LDY	#CHRE4C-CHR10	;(Y) <-- 敵キャラクターバンク
		JSL	>ENCHRB_SET	;キャラクターバンクセット
;
		JSL	>CHG_KUMO_JUMP
		LDA	#07H		;ＯＢＪ優先順位変更
		STA	ENYUSN,X
		RTL
;
;----------------------------------------------------------------
;-		キャラクターバンクセット			-
;-			in :					-
;-				(Y) <-- 敵キャラクターバンク	-
;-			out :					-
;-				(C) <-- 1:バンク無し		-
;----------------------------------------------------------------
ENCHRB_SET	EQU	$
;
		M8
;
		TYA
		LDY	#6
ENCHRB_SET_0050 EQU	$
		CMP	OBJCHR_BNK-1,Y
		BEQ	ENCHRB_SET_0100	 ;自分のキャラクターバンク有り？ ( yes:ENCHRB_SET_0100 )
		DEY
		BNE	ENCHRB_SET_0050
		SEC			;(C) <-- バンク無し
		TYA
		BRA	ENCHRB_SET_0150
;
ENCHRB_SET_0100 EQU	$
		TYA
;;;;		    CLC			;[ * CMP : (Z)=(C) ]
		ADC	#(8-1)-1	;[ 8 --> 8*4*8 = 100H ]
		ASL	A		;[ 9 --> 9*4*8 = 120H ]
		ASL	A		;[	   "          ]
;
ENCHRB_SET_0150 EQU	$
		STA	ENCHRB,X	;[ & STA ENYSDR,X ]
;
		M16
;
		RTL
;
;----------------------------------------------------------------
;-		敵が変わった？雲初期セット			-
;----------------------------------------------------------------
QKM16_SET_ITEM	EQU	$
; RANDM0 & 0FH -->
		WORD	COIN_S,TIME_S,COIN_S,P1UP_S,COIN_S,TIME_S,COIN_S,COIN_S
;
QKM_TYPE_IN_16	EQU	$
;
		I8
;
		LDA	RANDM0
		AND	#07H
		ASL	A
		TAY
		LDX	!QKM16_SET_ITEM,Y
		LDY	<ENINDX
		JSR	(!QKM16_SET_SUB,X)
		TYX
		RTL
;
;----------------------------------------------------------------
;-		敵が変わった？雲セットアイテム初期セット	-
;----------------------------------------------------------------
QKM16_SET_SUB	EQU	$
COIN_SET	WORD	EGG_ITEM_COIN1	;コイン
TIME_SET	WORD	EGG_ITEM_TIMKN	;スターくん
P1UP_SET	WORD	PL1UP_SET	;１ｕｐ
;
COIN_S		EQU	COIN_SET-QKM16_SET_SUB
TIME_S		EQU	TIME_SET-QKM16_SET_SUB
P1UP_S		EQU	P1UP_SET-QKM16_SET_SUB
;
;----------------------------------------------------------------
;-		１ｕｐ初期セット				-
;----------------------------------------------------------------
PL1UP_SET	EQU	$
		TYX
		JSL	>PL_1UP_SET_P	;１ｕｐ
		JSL	>ENCLEAR_NORETN
		TXY
		RTS
;
;----------------------------------------------------------------
;-		スイッチ出現初期セット				-
;----------------------------------------------------------------
QKM_TYPE_IN_17	EQU	$
;
		I8
;
		LDX	<ENINDX
		JSL	>QKM_NON_EXIST	;情報データセーブビット”ＯＮ”
;
		JSL	>ENCLEAR_NORETN2
;
		LDA	#SW000		;(A) <-- 敵Ｎｏ．
		TXY
		JSL	>ESTATST
		LDA	#EINIT
		STA	ENMODE,X
;
		M8
;
		LDA	#0FFH
		STA	ENRETN,X
;
		M16
;
		RTL
;
;------------------------------------------------------------------------
;-		変身アイテムタイプ別ルーチンテーブル			-
;------------------------------------------------------------------------
CHG_TYPE_MV	EQU	$-(CHG00*2)	;[ENEMYNO]
		WORD	CHG_TYPE_MV_0	;[CHG00]
		WORD	CHG_TYPE_MV_0	;[CHG01]
		WORD	CHG_TYPE_MV_0	;[CHG02]
		WORD	CHG_TYPE_MV_0	;[CHG03]
		WORD	0		;[PUUUU] ×ダミー
		WORD	CHG_TYPE_MV_0	;[CHG05]
;
		WORD	0		;[QKM00] ×ダミー
		WORD	QKM_TYPE_MV_1	;[QKM01]
		WORD	QKM_TYPE_MV_2	;[QKM02]
		WORD	QKM_TYPE_MV_3	;[QKM03]
		WORD	QKM_TYPE_MV_4	;[QKM04]
		WORD	QKM_TYPE_MV_5	;[QKM05]
		WORD	QKM_TYPE_MV_6	;[QKM06]
		WORD	QKM_TYPE_MV_7	;[QKM07]
		WORD	QKM_TYPE_MV_8	;[QKM08]
		WORD	QKM_TYPE_MV_9	;[QKM09]
		WORD	QKM_TYPE_MV_A	;[QKM0A]
		WORD	QKM_TYPE_MV_B	;[QKM0B]
		WORD	QKM_TYPE_MV_C	;[QKM0C]
		WORD	QKM_TYPE_MV_D	;[QKM0D]
		WORD	QKM_TYPE_MV_E	;[QKM0E]
		WORD	QKM_TYPE_MV_F	;[QKM0F]
		WORD	QKM_TYPE_MV_10	;[QKM10]
		WORD	QKM_TYPE_MV_11	;[QKM11]
		WORD	QKM_TYPE_MV_12	;[QKM12]
		WORD	QKM_TYPE_MV_13	;[QKM13]
		WORD	0		;[QKM14] ×ダミー
		WORD	0		;[LBSDR] ×ダミー
		WORD	QKM_TYPE_MV_16	;[QKM16]
		WORD	QKM_TYPE_MV_2	;[QKM17]
;
;----------------------------------------------------------------
;-		変身アイテムルーチン				-
;----------------------------------------------------------------
CHG_PATN_NO	EQU	$
		HEX	7,6,8,6
;
CHG_TYPE_MV_0	EQU	$
;
;--------------------------------------------------------
;-		ＯＡＭセット				-
;--------------------------------------------------------
		LDX	<ENINDX
		LDA	<ENWRK0,X
		CMP	#03H
		BEQ	CHG00MV_0400	;プレイヤー衝突待ち？ ( yes:CHG00MV_0400 )
;
		I8
;
		JMP	CHG00MV_0500
;
;--------------------------------------------------------
;-		プレイヤー衝突待ち			-
;--------------------------------------------------------
CHG00MV_0400	EQU	$
		LDA	ENOAML,X
		CLC
		ADC	#4*8
		TAY
		JSL	>TROBJ_OAM_2x2_I
;
		IDX8
;
		LDA	MSGMOD
		BEQ	CHG00MV_04000	;メッセージ表示中？ ( no:CHG00MV_04000 )
		RTL
;
CHG00MV_04000	EQU	$
		JSL	>ENMDCK		;mode check
;
;-------------- パターンＮｏ．セット --------------------
		LDA	ENYSPD,X
		CMP	#0100H
		BPL	CHG00MV_0401	;パターン固定？ ( yes:CHG00MV_0401 )
		LDA	ENWRK6,X
		CLC
		ADC	#0100H/8
		AND	#03FFH
		STA	ENWRK6,X
CHG00MV_0401	EQU	$
		LDY	ENWRK6+1,X
		LDA	!CHG_PATN_NO,Y
		AND	#00FFH
		STA	ENCHPT,X
;
;-------------- ”フワフワ”セット ----------------------
		LDA	ENCBFG,X
		AND	#00001B
		BEQ	CHG00MV_0402	;着地？ ( no:CHG00MV_0402 )
		STZ	ENYSPD,X
CHG00MV_0402	EQU	$
		LDA	ENYSPD,X
		SEC
		SBC	ENGMAX,X
		BEQ	CHG00MV_0403
		EOR	ENGMAX,X
		BMI	CHG00MV_0404
CHG00MV_0403	EQU	$
		LDA	ENGMAX,X
		EOR	#0FFFFH
		INC	A
		STA	ENGMAX,X
CHG00MV_0404	EQU	$
;
;-------------- ”キラキラ”セット ----------------------
		LDA	<FRCNT2
		AND	#0FH
		BNE	CHG00MV_0405
;
		LDA	#08H+(08H*100H) ;(A) <-- サイズ
		JSL	>KIRAKIRA_SET
CHG00MV_0405	EQU	$
;
;;;;		    JSR	    CHG00_COLSET    ;カラー替え
;
		LDA	ENTIM0,X
		BNE	CHG00MV_0406	;ウェイト？ ( yes:CHG00MV_0406 )
		LDY	ECRSFG,X
		BPL	CHG00MV_0406	;プレイヤーと衝突した？ ( no:CHG00MV_0406 )
;
		LDA	ENMYNO,X	;変身タイプＮｏ．セット
		SEC
		SBC	#CHG00-1
		ASL	A
		STA	CCHGEN		;player change type set
;
		LDA	CCHGMK
		BEQ	CHG00MV_04050	;変身中？ ( no:CHG00MV_04050 )
;
		CMP	CCHGEN
		BNE	CHG00MV_0408	;同じタイプへ？ ( no:CHG00MV_0408 )
;
;-------------- 変身タイマーリスタート ------------------
		LDA	#500H
		STA	PCHNG_TM
		TXY
		JSL	>FSMK2_SET
		JMP	CHG_ITEM_ST
;
CHG00MV_04050	EQU	$
		LDA	BABYNO
		BPL	CHG00MV_0406	;赤ちゃん乗ってる？ ( no:CHG00MV_0406 )
;
		LDA	BERFLG
		BEQ	CHG00MV_0407	;舌ショット中？ ( no:CHG00MV_0407 )
		LDA	EATFLG
		BEQ	CHG00MV_0407	;食べてる？ ( no:CHG00MV_0407 )
		LDA	EATSPF
		CMP	#1
		BEQ	CHG00MV_0406	;ファイヤーショット中？ ( yes:CHG00MV_0406 )
		CMP	#4
		BNE	CHG00MV_0407	;氷ショット中？ ( no:CHG00MV_0407 )
;
CHG00MV_0406	EQU	$
		RTL
;
CHG00MV_0407	EQU	$
		JSL	>BERO_CANCEL
;
CHG00MV_0408	EQU	$
		LDA	#036H
		JSL	>SOUND_3_ON	;[♪]
;
;-------------- 変身デモへ ------------------------------
;
;-------------- 変身プレイヤー初期セット ----------------
;;;;		    STZ	    PLSKIF	    ;skier player flag "OFF" !!
;
		LDA	#PCHG		;chara change mode set
		STA	PLMODE
		STZ	CCHGFG
		LDA	#00
		STA	>CLFDCNT
;
;-------------- 変身カラーフェード初期セット ------------
		LDA	#MOTOCOL	;(R1) <-- moto color
		STA	R1
		LDA	#CHNGCOL	;(R2) <-- change color
		STA	R2
		LDA	#65E9H		;(R3) <-- dec color
		STA	R3
		LDA	#100H		;(R12) <-- number of change color
		STA	R12
;
		M_CHIP	COLRDEC
;
		I16
;
		LDA	#7FFFH
		STA	>CHNGCOL+(080H+02H)*2
;
		LDX	#(15-1)*2
CHG00MV_0450	EQU	$
		LDA	>COL_ADDRESS+PLAY_CHANGE_COL,X
		STA	>CHNGCOL+(080H+51H)*2,X
		DEX
		DEX
		BPL	CHG00MV_0450
;
		I8
;
		LDX	<ENINDX
		LDA	CCHGMK
		BEQ	CHG00MV_0460	;変身から変身へ？ ( no:CHG00MV_0460 )
;
;-------------- 変身から変身へ！！ ----------------------
		LDA	#03H
		STA	CCHGFG
		JMP	CHG_ITEM_ST
;
;-------------- ヨッシーから変身！！ --------------------
CHG00MV_0460	EQU	$
		INC	<ENWRK0,X
		LDA	#0FFH		;表示無しセット
		STA	ENYUSN,X
		LDA	#030H
		STA	ENTIM0,X	;魔法デモウェイトタイマーセット
		STZ	CCHGFG
		RTL
;
;--------------------------------------------------------
;-		変身デモ				-
;--------------------------------------------------------
CHG00MV_0500	EQU	$
		LDA	MSGMOD
		BNE	CHG00MV_0510	;メッセージ表示中？ ( yes:CHG00MV_0510 )
		LDY	CCHGFG
		BNE	CHG00MV_0550	;プレイヤーの上に移動中？ ( no:CHG00MV_0550 )
;
;-------------- 魔法のデモヘ ----------------------------
		INC	CCHGFG		;魔法デモスタート
CHG00MV_0510	EQU	$
		RTL
;
CHG00MV_0550	EQU	$
		DEC	ENTIM0,X
		BPL	CHG00MV_0570	;魔法デモ終了？ ( no:CHG00MV_0570 )
;
;-------------- カラーフェードへ ------------------------
		INC	CCHGFG
;
;-------------- プレイヤー変身デモ初期セット ------------
		LDA	#PC00		;player pattern no. set
		STA	PLPATN
		LDA	#CHR64+1C0H*20H ;変身中の待機状態キャラクター転送
		STA	PCHTRF
		JMP	CHG_ITEM_ST
;
CHG00MV_0570	EQU	$
		RTL
;
;------------------------------------------------------------------------
;-		変身アイテム出現”ＯＮ／ＯＦＦ”フラグセット		-
;------------------------------------------------------------------------
CHG_ITEM_ST	EQU	$
		LDA	<ENWRK4,X
		BNE	CHG_ITEM_ST_050 ;単体セット？ ( no:CHG_ITEM_ST_050 )
;
		M8
;
		INC	CHG_ITEM_SW_PT	;変身アイテム出現”ＯＮ／ＯＦＦ”フラグセット
		LDY	CHG_ITEM_SW_PT
		LDA	ENRETN,X
		STA	CHG_ITEM_SW-1,Y
;
		M16
;
		JSL	>TROBJ_CLEAR_CHK
		LDA	ENMYNO,X	;(A) <-- 敵Ｎｏ．
		TXY			;(Y) <-- (X)
		JSL	>ESTATST
		LDA	#EINIT		;初期セットモードへ
		STA	ENMODE,X
		LDA	ENWRKA,X	;座標復帰
		STA	ENXPSL,X
		LDA	ENWRKC,X
		STA	ENYPSL,X
		LDA	#0FFH		;表示無しセット
		STA	ENYUSN,X
		RTL
;
CHG_ITEM_ST_050 EQU	$
		JMP	>ENCLEAR_NORETN
;
;----------------------------------------------------------------
;-		コイン出現ルーチン				-
;----------------------------------------------------------------
COIN_ST_S	EQU	$-3
		WORD	00004H,0000CH,0000DH,0000EH,0000FH,00010H,00011H,00012H
COIN_ST_X	EQU	$-3
		WORD	0FFF0H,00020H,00010H,00000H,0FFF0H,0FFE0H,0FFF0H,00000H
COIN_ST_Y	EQU	$-3
		WORD	0FFE0H,00000H,00010H,00020H,00010H,00000H,0FFF0H,0FFE0H
;
QKM_TYPE_MV_1	EQU	$
;
		I8
;
		LDX	<ENINDX
		LDA	MSGMOD
		BNE	QKM_TYPE_MV_1FF ;メッセージ表示中？ ( yes:QKM_TYPE_MV_1FF )
;
		LDA	ENTIM0,X
		BEQ	QKM_TYPE_MV_100 ;ウェイト？ ( no:QKM_TYPE_MV_100 )
		DEC	ENTIM0,X
QKM_TYPE_MV_1FF EQU	$
		RTL
;
QKM_TYPE_MV_100 EQU	$
		LDA	#01H
		STA	PLSTFG		;プレイヤーＳＴＯＰ
		STA	ENSTFG		;敵ＳＴＯＰ
;
		LDA	#04H		;ウェイトタイマーセット
		STA	ENTIM0,X
;
		LDY	<ENWRK0,X
		LDA	!COIN_ST_S,Y
		PHY			;(Y) save
		JSL	>SOUND_3_ON	;[♪]
		PLY			;(Y) load
;
		LDA	ENXPSL,X
		CLC
		ADC	!COIN_ST_X,Y
		STA	ENXPSL,X
		STA	BGXPS1		;BG write X pos set
		LDA	ENYPSL,X
		CLC
		ADC	!COIN_ST_Y,Y
		STA	ENYPSL,X
		STA	BGYPS1		;    "    Y   "
		INY
		INY
		STY	<ENWRK0,X
		CPY	#(8*2)+3
		BCC	QKM_TYPE_MV_110 ;コイン書き換え終了？ ( no:QKM_TYPE_MV_110 )
;
		STZ	PLSTFG
		STZ	ENSTFG
		JSL	>ENCLEAR_NORETN
QKM_TYPE_MV_110 EQU	$
		LDA	#BCG2
		STA	BGCGNO		; " change type no. set
		LDA	#UT6000
		STA	BGUTNO		;     "    unit no.
		JSL	>UNITCHG
;
		LDX	<ENINDX
		JMP	>KUMOB_SET_2	;けむりが出て現れる
;
;----------------------------------------------------------------
;-		何もしない					-
;----------------------------------------------------------------
QKM_TYPE_MV_2	EQU	$
QKM_TYPE_MV_3	EQU	$
QKM_TYPE_MV_4	EQU	$
QKM_TYPE_MV_7	EQU	$
QKM_TYPE_MV_9	EQU	$
QKM_TYPE_MV_A	EQU	$
QKM_TYPE_MV_B	EQU	$
QKM_TYPE_MV_C	EQU	$
QKM_TYPE_MV_D	EQU	$
QKM_TYPE_MV_F	EQU	$
QKM_TYPE_MV_10	EQU	$
QKM_TYPE_MV_11	EQU	$
QKM_TYPE_MV_16	EQU	$
;
		I8
;
		LDX	<ENINDX
QKM_RTLSUB	EQU	$
		RTL
;
;----------------------------------------------------------------
;-		階段が出現するルーチン				-
;----------------------------------------------------------------
QKM_TYPE_MV_5	EQU	$
;
		I8
;
		LDX	<ENINDX
		LDA	MSGMOD
		BNE	QKM_RTLSUB	;メッセージ表示中？ ( yes:QKM_RTLSUB )
;
		LDA	<ENWRK0,X
		CMP	#03H
		BEQ	QKM_TYPE_MV_501 ;スクロール基準特殊解除ウェイト？ ( no:QKM_TYPE_MV_501 )
		JMP	SP_SCRL_RETWAIT
;
QKM_TYPE_MV_501 EQU	$
		LDA	ENTIM0,X
		BEQ	QKM_TYPE_MV_502 ;ウェイト？ ( no:QKM_TYPE_MV_502 )
		DEC	ENTIM0,X
		CMP	#010H
		BCC	QKM_TYPE_MV_500 ;スクロールＯＫ？ ( yes:QKM_TYPE_MV_500 )
;
		JMP	>SP_SCRL_SET_2
;
QKM_TYPE_MV_500 EQU	$
		JMP	QKM_TYPE_MV_530
;
;-------------- 書き換え可能チェック ----------------------------
QKM_TYPE_MV_502 EQU	$
		LDA	ENXPSL,X
		STA	R8
		LDA	ENYPSL,X
		STA	R0
		M_CHIPR M_BGUNIT_READ
;
		LDX	<ENINDX
		JSR	QKM_ST_BG_CK
		BCS	QKM_TYPE_MV_510 ;書き換えＯＫ？ ( no:QKM_TYPE_MV_510 )
;
		LDA	ENXPSL,X
		CLC
		ADC	<ENWRK2,X
		STA	R8
		LDA	ENYPSL,X
		STA	R0
		M_CHIPR M_BGUNIT_READ
;
		LDX	<ENINDX
		JSR	QKM_ST_BG_CK
		BCC	QKM_TYPE_MV_520 ;書き換えＯＫ？ ( yes:QKM_TYPE_MV_520 )
;
QKM_TYPE_MV_510 EQU	$
		INC	<ENWRK0,X
		LDA	#030H
		STA	ENTIM0,X
		BRA	QKM_TYPE_MV_530
;
;-------------- 書き換え可能！！ ------------------------
QKM_TYPE_MV_520 EQU	$
		JSR	QKM_SOUND_SET	;サウンドセット
;
		LDA	ENXPSL,X
		STA	BGXPS1		;BG write X pos set
		LDA	ENYPSL,X
		STA	BGYPS1		;    "    Y   "
		LDA	#BGCG
		STA	BGCGNO		; " change type no. set
		LDA	#UT3D66
		LDY	<ENWRK2+1,X
		BPL	QKM_TYPE_MV_522
		LDA	#UT3D67
QKM_TYPE_MV_522 EQU	$
		STA	BGUTNO		;     "    unit no.
		JSL	>UNITCHG
;
		LDX	<ENINDX
		LDA	BGXPS1
		CLC
		ADC	<ENWRK2,X
		STA	BGXPS1		;BG write X pos set
		LDA	#UT6600
		LDY	<ENWRK2+1,X
		BPL	QKM_TYPE_MV_524
		LDA	#UT6700
QKM_TYPE_MV_524 EQU	$
		STA	BGUTNO		;     "    unit no.
		JSL	>UNITCHG
;
		LDX	<ENINDX
		LDA	ENXPSL,X	;次の位置へ移動
		CLC
		ADC	<ENWRK2,X
		STA	ENXPSL,X
		LDA	ENYPSL,X
		SEC
		SBC	#010H
		STA	ENYPSL,X
		JSL	>KUMOB_SET_2	;けむりが出て現れる
		LDA	EXYPSL,Y
		CLC
		ADC	#010H
		STA	EXYPSL,Y
;
QKM_TYPE_MV_530 EQU	$
;
;------------------------------------------------------------------------
;-		スクロール基準特殊セット				-
;------------------------------------------------------------------------
SP_SCRL_SET	EQU	$
		LDA	ENDSXL,X
		SEC
		SBC	#080H
		ASL	A		;(C) <-- (N)
		LDA	#0FF00H
		BCS	SP_SCRL_SET_002
		LDA	#0100H
SP_SCRL_SET_002 EQU	$
		STA	SP_SCRL_XSP	;スクロール基準特殊Ｘスピードセット
;
		LDA	ENDSYL,X
		SEC
		SBC	#060H
		ASL	A		;(C) <-- (N)
		LDA	#0FF00H
		BCS	SP_SCRL_SET_004
		LDA	#0100H
SP_SCRL_SET_004 EQU	$
		STA	SP_SCRL_YSP	;スクロール基準特殊Ｙスピードセット
;
SP_SCRL_SET_1	EQU	$
		LDA	#01H
		STA	PLSTFG		;プレイヤーＳＴＯＰ
		STA	ENSTFG		;敵ＳＴＯＰ
;
SP_SCRL_SET_2	EQU	$
		LDA	SP_SCRL_FG
		BNE	SP_SCRL_SET_012 ;復帰スクロールカウンターセット？ ( no:SP_SCRL_SET_012 )
;
;-------------- 復帰スクロールカウンターセット --------------------------
		LDA	ATSCRL_H
		ORA	ATSCRL_V
		BEQ	SP_SCRL_SET_010 ;スクロール基準特殊セットＯＫ？ ( yes:SP_SCRL_SET_010 )
;;;;		    BNE	    SP_SCRL_SET_040 ;スクロール基準特殊セットＯＫ？ ( no:SP_SCRL_SET_040 )
		RTL
;
SP_SCRL_SET_010 EQU	$
		LDA	ENDSXL,X
		SEC
		SBC	#010H
		CMP	#(0E0H-010H)+1
		BCS	SP_SCRL_SET_011 ;スクロールＯＫ範囲？ ( yes:SP_SCRL_SET_011 )
		LDA	ENDSYL,X
		SEC
		SBC	#010H
		CMP	#(0C0H-010H)+1
		BCC	SP_SCRL_SET_040 ;スクロールＯＫ範囲？ ( no:SP_SCRL_SET_040 )
;
SP_SCRL_SET_011 EQU	$
		LDA	SCCH1		;スクロールカウンター保存
		STA	SP_SCRL_RET_H
		LDA	SCCV1
		STA	SP_SCRL_RET_V
;
		M8
;
		LDY	#ENNO-1		;敵の状態保存チェックデータセット
		LDX	#(ENNO-1)*4
SP_SCRL_ST_0110 EQU	$
		LDA	ENMODE,X
		CPX	<ENINDX
		BNE	SP_SCRL_ST_0112 ;自分自身？ ( no:SP_SCRL_ST_0112 )
		LDA	#00
SP_SCRL_ST_0112 EQU	$
		STA	SP_SCRL_SVENFG,Y
		DEX
		DEX
		DEX
		DEX
		DEY
		BPL	SP_SCRL_ST_0110
		LDX	<ENINDX
;
		M16
;
SP_SCRL_SET_012 EQU	$
		LDA	#01H		;スクロール基準特殊フラグセット
		STA	SP_SCRL_FG
		STX	CSP_SCRL_USER	;スクロール基準特殊ユーザーインデックスセット
		LDA	ENXPSL,X	;スクロール基準特殊Ｘ座標セット
		STA	SP_SCRL_XPS
		LDA	ENYPSL,X	;スクロール基準特殊Ｙ座標セット
		STA	SP_SCRL_YPS
;
		LDA	SCCH1		;スクロール復帰用オートスクロールカウンターセット
		STA	ATSCRL_SCCH1
		LDA	SCCV1
		STA	ATSCRL_SCCV1
;
;-------------- プレイヤー画面位置チェック ------------------------------
SP_SCRL_PSTOPST EQU	$
;;;;		    LDY	    #00H
		LDA	PLDSXL
		CMP	#LEFT_X
		BMI	SP_SCRL_SET_020 ;プレイヤー左端オーバー？ ( yes:SP_SCRL_SET_020 )
		CMP	#RIGHT_X
		BPL	SP_SCRL_SET_020 ;プレイヤー右端オーバー？ ( yes:SP_SCRL_SET_020 )
		LDA	PLDSYL
		CMP	#UP_Y
		BMI	SP_SCRL_SET_020 ;プレイヤー上端オーバー？ ( yes:SP_SCRL_SET_020 )
		CMP	#LOW_Y
;;;;		    BMI	    SP_SCRL_SET_030 ;プレイヤー下端オーバー？ ( no:SP_SCRL_SET_030 )
		BMI	SP_SCRL_SET_040 ;プレイヤー下端オーバー？ ( no:SP_SCRL_SET_040 )
SP_SCRL_SET_020 EQU	$
;;;;		    LDY	    #01H
;;;;SP_SCRL_SET_030 EQU	    $
;;;;		    TYA
		LDA	#01H
		STA	PLSTFG		;プレイヤーＳＴＯＰフラグ”ＯＮ／ＯＦＦ”セット
		LDA	#02H		;プレイヤーの安全確保
		CMP	PLFLSH
		BCC	SP_SCRL_SET_040
		STA	PLFLSH
;
SP_SCRL_SET_040 EQU	$
		RTL
;
SP_SCRL_SET_3	EQU	$
		LDA	SP_SCRL_FG
		BEQ	SP_SCRL_SET_310 ;スクロール基準特殊中？ ( no:SP_SCRL_SET_310 )
;
		CPX	CSP_SCRL_USER
		BEQ	SP_SCRL_SET_310 ;スクロール基準特殊ユーザー自分？ ( yes:SP_SCRL_SET_310 )
		RTL
;
SP_SCRL_SET_310 EQU	$
		JSL	>SP_SCRL_SET_2
		LDA	ENXSPD,X
		STA	SP_SCRL_XSP	;スクロール基準特殊Ｘスピードセット
		LDA	ENYSPD,X
		STA	SP_SCRL_YSP	;スクロール基準特殊Ｙスピードセット
		RTL
;
;----------------------------------------------------------------
;-		サウンドセット					-
;----------------------------------------------------------------
QKM_SOUND_SET	EQU	$
 IF  JPN | NES ;**** 日本 or NES 対応 [1995/6/30] ****************
		LDA	#08H		;ウェイトタイマーセット
 ELSE	       ;**** PAL 対応 [1995/7/24] ************************
		LDA	#06H		;ウェイトタイマーセット
 ENDIF
		STA	ENTIM0,X
;
		LDA	<ENWRK4,X
		INC	A
		CMP	#5+1
		BCC	QKM_SOUND_ST_10
		LDA	#1
QKM_SOUND_ST_10 EQU	$
		STA	<ENWRK4,X
		CLC
		ADC	#04BH-1
		JSL	>SOUND_3_ON	;[♪]
		RTS
;
;----------------------------------------------------------------
;-		階段＆橋出現ＯＫユニットチェック		-
;-			out :					-
;-				(C) <-- 0:ＯＫ			-
;----------------------------------------------------------------
QKM_ST_BG_CK	EQU	$
		LDA	R6
		CMP	#UT0000
		CLC			;(C) <-- 0
		BEQ	QKM_ST_BG_CK_10 ;ヌキ？ ( yes:QKM_ST_BG_CK_10 )
;;;;		    SEC
		SBC	#UT96E0-1	;[ -1:(C)=0 ]
		CMP	#UT96E8-UT96E0+1
QKM_ST_BG_CK_10 EQU	$
		RTS
;
;----------------------------------------------------------------
;-		橋がかかるルーチン				-
;----------------------------------------------------------------
QKM_TYPE_MV_6	EQU	$
;
		I8
;
		LDX	<ENINDX
		LDA	MSGMOD
		BNE	QKM_TYPE_MV_600 ;メッセージ表示中？ ( yes:QKM_TYPE_MV_600 )
;
		LDA	<ENWRK0,X
		CMP	#03H
		BEQ	QKM_TYPE_MV_601 ;スクロール基準特殊解除ウェイト？ ( no:QKM_TYPE_MV_601 )
;
;-------------- スクロール基準特殊解除ウェイト ------------------
SP_SCRL_RETWAIT EQU	$
		LDA	ENTIM0,X
		BEQ	SP_SCRL_RTWT_10 ;ウェイト？ ( no:SP_SCRL_RTWT_10 )
;
		DEC	ENTIM0,X
		JSL	>SP_SCRL_SET_1
		STZ	SP_SCRL_XSP	;スクロール基準特殊Ｘスピードセット
		STZ	SP_SCRL_YSP	;スクロール基準特殊Ｙスピードセット
QKM_TYPE_MV_600 EQU	$
		RTL
;
SP_SCRL_RTWT_10 EQU	$
		LDA	SP_SCRL_FG
		BNE	SP_SCRL_RTWT_20 ;スクロール基準特殊モード？ ( yes:SP_SCRL_RTWT_20 )
;
		STZ	PLSTFG		;プレイヤーＳＴＯＰ解除
		STZ	ENSTFG		;敵		 ”
SP_SCRL_RTWT_20 EQU	$
		JMP	ENCLEAR_NORETN
;
;-------------- 橋の書き換え ------------------------------------
QKM_TYPE_MV_601 EQU	$
		LDA	ENTIM0,X
		BEQ	QKM_TYPE_MV_602 ;ウェイト？ ( no:QKM_TYPE_MV_602 )
		DEC	ENTIM0,X
		CMP	#010H
		BCC	QKM_TYPE_MV_620 ;スクロールＯＫ？ ( yes:QKM_TYPE_MV_620 )
;
		JMP	>SP_SCRL_SET_2
;
QKM_TYPE_MV_602 EQU	$
		LDA	ENXPSL,X
		STA	R8
		LDA	ENYPSL,X
		STA	R0
		M_CHIPR M_BGUNIT_READ
;
		LDX	<ENINDX
		JSR	QKM_ST_BG_CK
		BCC	QKM_TYPE_MV_610 ;書き換えＯＫ？ ( yes:QKM_TYPE_MV_610 )
;
		INC	<ENWRK0,X
		LDA	#030H
		STA	ENTIM0,X
		BRA	QKM_TYPE_MV_620
;
;-------------- 書き換え可能！！ ------------------------
QKM_TYPE_MV_610 EQU	$
		JSR	QKM_SOUND_SET	;サウンドセット
;
		LDA	ENXPSL,X
		STA	BGXPS1		;BG write X pos set
		LDA	ENYPSL,X
		STA	BGYPS1		;    "    Y   "
		LDA	#BGCG
		STA	BGCGNO		; " change type no. set
		LDA	#UT1516
		STA	BGUTNO		;     "    unit no.
		JSL	>UNITCHG
;
		LDX	<ENINDX
		JSL	>KUMOB_SET_2	;けむりが出て現れる
		LDA	EXYPSL,Y
		SEC
		SBC	#04H
		STA	EXYPSL,Y
;
		LDA	ENXPSL,X	;次の位置へ移動
		CLC
		ADC	<ENWRK2,X
		STA	ENXPSL,X
;
QKM_TYPE_MV_620 EQU	$
		JMP	SP_SCRL_SET
;
;----------------------------------------------------------------
;-		コイン出現（１枚）ルーチン			-
;----------------------------------------------------------------
QKM_TYPE_MV_8	EQU	$
;
		I8
;
		LDX	<ENINDX
		LDA	MSGMOD
		BNE	QKM_TYPE_MV_8FF ;メッセージ表示中？ ( yes:QKM_TYPE_MV_8FF )
;
		LDA	ENTIM0,X
		BEQ	QKM_TYPE_MV_800 ;ウェイト？ ( no:QKM_TYPE_MV_800 )
		DEC	ENTIM0,X
QKM_TYPE_MV_8FF EQU	$
		RTL
;
QKM_TYPE_MV_800 EQU	$
		LDA	#04H
		JSL	>SOUND_3_ON	;[♪]
;
		LDA	ENXPSL,X
		STA	BGXPS1		;BG write X pos set
		LDA	ENYPSL,X
		STA	BGYPS1		;    "    Y   "
		JSL	>ENCLEAR_NORETN
;
		LDA	#BCG2
		STA	BGCGNO		; " change type no. set
		LDA	#UT6000
		STA	BGUTNO		;     "    unit no.
		JSL	>UNITCHG
;
		LDX	<ENINDX
		JMP	>KUMOB_SET_2	;けむりが出て現れる
;
;----------------------------------------------------------------
;-		床が下がる					-
;----------------------------------------------------------------
FLOOR_ST_DT	EQU	$
FLOOR_ST_2	EQU	$
;;;;		    WORD    UT0000, UT0000, UT0000, UT0000, UT0000, UT0000
;;;;		    WORD    RUT3B09,RUT393B,RUT393C,RUT393B,RUT393C,RUT3B0A
;;;;		    WORD    RUT3B0B,RUT393D,RUT3939,RUT393A,RUT393E,RUT3B0C
		WORD	UT0000, UT0000, UT0000, UT0000, UT0000
		WORD	RUT3B09,RUT393B,RUT393C,RUT393B,RUT3B0A
		WORD	RUT3B0B,RUT393D,RUT3939,RUT393E,RUT3B0C
;
FLOOR_ST_1	EQU	$
;;;;		    WORD    RUT3B00,RUT2A00,RUT2A01,RUT2A00,RUT2A01,RUT3B01
;;;;		    WORD    RUT3B02,RUT3920,RUT3912,RUT3913,RUT3921,RUT3B03
;;;;		    WORD    UT0000, RUT3922,RUT3914,RUT3915,RUT3923,UT0000
		WORD	RUT3B00,RUT2A00,RUT2A01,RUT2A00,RUT3B01
		WORD	RUT3B02,RUT3920,RUT3912,RUT3921,RUT3B03
		WORD	UT0000, RUT3922,RUT3914,RUT3923,UT0000
;
FLOOR_ST_3	EQU	$
;;;;		    WORD    RUT3B00,RUT2A00,RUT2A01,RUT2A00,RUT2A01,RUT3B01
;;;;		    WORD    RUT3B02,RUT3920,RUT3912,RUT3913,RUT3921,RUT3B03
;;;;		    WORD    UT0000, RUT3937,RUT3914,RUT3915,RUT3938,UT0000
		WORD	RUT3B00,RUT2A00,RUT2A01,RUT2A00,RUT3B01
		WORD	RUT3B02,RUT3920,RUT3912,RUT3921,RUT3B03
		WORD	RUT2A00,RUT3937,RUT3914,RUT3938,RUT2A00
;
FLOOR_ST_TBL	EQU	$-3-1
		BYTE	FLOOR_ST_2-FLOOR_ST_DT	;[1]
		BYTE	FLOOR_ST_1-FLOOR_ST_DT	;[2]
		BYTE	FLOOR_ST_2-FLOOR_ST_DT	;[3]
		BYTE	FLOOR_ST_1-FLOOR_ST_DT	;[4]
		BYTE	FLOOR_ST_2-FLOOR_ST_DT	;[5]
		BYTE	FLOOR_ST_3-FLOOR_ST_DT	;[6]
FLOOR_ST_TBL_E	EQU	$
;
QKM_TYPE_MV_E	EQU	$
;
		I8
;
		LDX	<ENINDX
		LDA	MSGMOD
		BEQ	QKM_TYPE_MV_EFF ;メッセージ表示中？ ( no:QKM_TYPE_MV_EFF )
		RTL
;
QKM_TYPE_MV_EFF EQU	$
		LDA	ENTIM0,X
		BEQ	QKM_TYPE_MV_E10 ;ウェイト？ ( no:QKM_TYPE_MV_E10 )
		DEC	ENTIM0,X
		CMP	#040H
		BCC	QKM_TYPE_MV_E00 ;プレイヤー＆敵ＳＴＯＰ？ ( yes:QKM_TYPE_MV_E00 )
;
		JMP	>SP_SCRL_SET_2
;
QKM_TYPE_MV_E00 EQU	$
		JMP	SP_SCRL_SET
;
QKM_TYPE_MV_E10 EQU	$
		LDA	#01H
		STA	PLSTFG		;プレイヤーＳＴＯＰ
		STA	ENSTFG		;敵ＳＴＯＰ
;
		LDA	#010H		;ウェイトタイマーセット
		STA	ENTIM0,X
		LDA	#010H
		STA	TILTCT		;地震セット
;
		LDA	ENXPSL,X
		SEC
		SBC	<ENWRK4,X
		STA	<EWORK4		;(EWK4,5) <-- BG write X pos set
		LDA	ENYPSL,X
		SEC
		SBC	#010H
		STA	BGYPS1		;BG write Y pos set
;
		LDY	<ENWRK0,X
		INY			;(Y) <-- BG write data table pointer
		CPY	#FLOOR_ST_TBL_E-FLOOR_ST_TBL
		BCC	QKM_TYPE_MV_E20 ;床書き換え終了？ ( no:QKM_TYPE_MV_E20 )
;
		STZ	PLSTFG
		STZ	ENSTFG
		JMP	>ENCLEAR_NORETN
;
QKM_TYPE_MV_E20 EQU	$
		STY	<ENWRK0,X	;next BG write data pointer set
		LDA	!FLOOR_ST_TBL,Y
		TAY			;(Y) <-- BG write data pointer
;;;;		    CPY	    #FLOOR_ST_2-FLOOR_ST_DT
		BNE	QKM_TYPE_MV_E22 ;Y pos change ? ( no:QKM_TYPE_MV_E22 )
;
		LDA	ENYPSL,X	;next Y pos set
		CLC
		ADC	#010H
		STA	ENYPSL,X
QKM_TYPE_MV_E22 EQU	$
		PHY			;(Y) save
		LDA	#047H
		JSL	>SOUND_3_ON	;[♪]
		PLY			;(Y) load
;
		I16
;
		LDA	#3
		STA	<EWORK0		;(EWK0,1) <-- Y loop no.
QKM_TYPE_MV_E30 EQU	$
		LDA	<EWORK4
		STA	BGXPS1		;BG write X pos set
;
		LDA	#5
		STA	<EWORK2		;(EWK2,3) <-- X loop no.
QKM_TYPE_MV_E40 EQU	$
		LDA	!FLOOR_ST_DT,Y
;;;;		    CMP	    #UT0000
		BEQ	QKM_TYPE_MV_E50 ;ヌキ？ ( yes:QKM_TYPE_MV_E50 )
;
		TAX
		LDA	0,X
QKM_TYPE_MV_E50 EQU	$
		STA	BGUTNO		;BG change unit no. set
		LDA	#BGCG
		STA	BGCGNO		;BG change type no. set
		PHY			;(Y) save
		JSL	>UNITCHG
		PLY			;(Y) load
;
		LDA	BGXPS1
		CLC
		ADC	#010H
		STA	BGXPS1
;
		INY
		INY
		DEC	<EWORK2
		BNE	QKM_TYPE_MV_E40
;
		LDA	BGYPS1
		CLC
		ADC	#010H
		STA	BGYPS1
;
		DEC	<EWORK0
		BNE	QKM_TYPE_MV_E30
;
		I8
;
		LDX	<ENINDX
		JMP	SP_SCRL_SET
;
;----------------------------------------------------------------
;-		ひまわりリフトルーチン				-
;----------------------------------------------------------------
HIMWRLF_OBJNO	EQU	$
;;;;		    WORD    ((18-1)<<11)+0000000000000010B  ;[QKM12]
		WORD	((18-1)<<11)+0000000000000010B	;[QKM12]
;;;;		    WORD    ((30-1)<<11)+0000000000000010B  ;[QKM13]
		WORD	((30-1)<<11)+0000000000000010B	;[QKM13]
HIMWR_HIGH	EQU	$
		WORD	(8*3)*4				;[QKM12]
		WORD	(8*6)*4				;[QKM13]
;
QKM_TYPE_MV_12	EQU	$
QKM_TYPE_MV_13	EQU	$
;
		I8
;
		LDX	<ENINDX
		LDA	<ENWRK0,X
		CMP	#04H
		BEQ	QKM_TYPE_M_12FF ;種落下？ ( yes:QKM_TYPE_M_12FF )
		JMP	QKM_TYPE_M_1240
;
;-------------- 種落下 ------------------------------------------
QKM_TYPE_M_12FF EQU	$
		LDA	MSGMOD
		BNE	QKM_TYPE_M_1200 ;メッセージ表示中？ ( yes:QKM_TYPE_M_1200 )
		JSL	>ENMDCK
;
		JSL	>SP_SCRL_SET_2	;スクロール基準特殊セット
;
		LDA	ENCBFG,X
		AND	#00001B
		BNE	QKM_TYPE_M_1210 ;着地？ ( yes:QKM_TYPE_M_1210 )
;
		LDA	#020H		;ウェイトタイマーセット
		STA	ENTIM0,X
QKM_TYPE_M_1200 EQU	$
		RTL
;
QKM_TYPE_M_1210 EQU	$
		LDY	ENTIM0,X
		BEQ	QKM_TYPE_M_1230 ;ウェイト？ ( no:QKM_TYPE_M_1230 )
;
		CPY	#010H
		BCS	QKM_TYPE_M_1220 ;”ブルブル”？ ( no:QKM_TYPE_M_1220 )
;
;-------------- ”ブルブル”セット ----------------------
		TYA
		AND	#01H
		EOR	ENXPSL,X
		STA	ENXPSL,X
;
		CPY	#04H
		BNE	QKM_TYPE_M_1220 ;けむりセット？ ( no:QKM_TYPE_M_1220 )
;
;-------------- けむりセット ----------------------------
		LDA	ECENTX,X	  ;Ｘ座標セット
		STA	<EWORK0
		LDA	ECENTY,X	  ;Ｙ座標セット
		STA	<EWORK2
		LDA	#FSMK1		;(A) <-- けむり効果Ｎｏ．（敵ＳＴＯＰ無視）
		JSL	>FSMK0_SET2
;
QKM_TYPE_M_1220 EQU	$
		RTL
;
;-------------- ひまわりリフト成長へ --------------------
QKM_TYPE_M_1230 EQU	$
		INC	<ENWRK0,X	;ひまわりリフト成長へ
		LDA	#01H
		STA	PLSTFG		;プレイヤーＳＴＯＰ！！
		STA	ENSTFG		;敵ＳＴＯＰ！！
		LDA	ENMYNO,X
		SEC
		SBC	#QKM12
		ASL	A
		TAY
		LDA	ENMOD2,X	;ＯＡＭセット変更
		CLC
		ADC	!HIMWRLF_OBJNO,Y ;ＯＢＪ数を１個から使用数へ
		AND	#1111111111110011B ;範囲外クリアー無しへ
		STA	ENMOD2,X
		LDA	!HIMWR_HIGH,Y	;目標高さセット
		STA	<ENCONT,X
		STZ	<ENWRK2,X	;高さカウンターリセット
		STZ	<ENWRK4,X	;パターンＮｏ．データリセット
		STZ	ENWRK6,X	;	     ”
		STZ	ENWRK8,X	;花咲きパターンＮｏ．リセット
		STZ	ENBGYP,X	;ＢＧチェック位置補正
		RTL
;
;-------------- ひまわりリフト成長 ------------------------------
QKM_TYPE_M_1240 EQU	$
;
;-------------- ひまわりリフトＯＡＭセット --------------
		TXA
		STA	R1		;(R1) <-- 敵インデックス
		M_CHIP	HIMWR_OAMST
;
		LDX	<ENINDX
		LDA	MSGMOD
		BNE	QKM_TYPE_M_1245 ;メッセージ表示中？ ( yes:QKM_TYPE_M_1245 )
;
		LDA	<ENWRK0,X
		CMP	#05H
		BNE	QKM_TYPE_M_1270 ;リフト処理？ ( yes:QKM_TYPE_M_1270 )
;
		LDA	ENYPSL,X	;スクロール基準特殊Ｙ座標セット
		PHA			;Ｙ座標待避
		SEC
		SBC	<ENWRK2,X
		STA	ENYPSL,X
		SEC			;表示Ｙ座標セット
		SBC	SCCV1
		STA	ENDSYL,X
		JSL	>SP_SCRL_SET	;スクロール基準特殊フラグセット
		PLA			;Ｙ座標復帰
		STA	ENYPSL,X
;
		LDA	<ENWRK2,X
		CMP	<ENCONT,X
		BCS	QKM_TYPE_M_1250 ;成長中？ ( no:QKM_TYPE_M_1250 )
;
;-------------- 成長中 ----------------------------------
		INC	<ENWRK2,X
;
;;;;		    SEC
		SBC	#016H-1
		AND	#01FH
		BNE	QKM_TYPE_M_1245 ;サウンドセット？ ( no:QKM_TYPE_M_1245 )
;
		LDA	#05H		;[♪]
		JSL	>SOUND_3_ON
;
QKM_TYPE_M_1245 EQU	$
		RTL
;
QKM_TYPE_M_1250 EQU	$
		LDA	ENWRK8,X
		CMP	#4*4-1
		BCS	QKM_TYPE_M_1260 ;花咲いた？ ( yes:QKM_TYPE_M_1260 )
;
;-------------- 花咲かせ --------------------------------
		INC	ENWRK8,X
		RTL
;
;-------------- 成長完了 --------------------------------
QKM_TYPE_M_1260 EQU	$
		INC	<ENWRK0,X	;リフト処理へ
		STZ	PLSTFG		;プレイヤーＳＴＯＰ解除
		STZ	ENSTFG		;敵ＳＴＯＰ解除
		RTL
;
;-------------- リフト処理 --------------------------------------
QKM_TYPE_M_1270 EQU	$
		JSL	>ENMDCK
;
;-------------- ひまわりリフト衝突チェック --------------
		TXA
		STA	R1		;(R1) <-- 敵インデックス
		M_CHIP	HIMWR_CROSS
		LDA	CCWORK0
		BEQ	QKM_TYPE_M_1280 ;サウンドセット？ ( no:QKM_TYPE_M_1280 )
;
		JSL	>SOUND_3_ON	;[♪]
QKM_TYPE_M_1280 EQU	$
		LDX	<ENINDX
		RTL
;
;************************************************************************
;*									*
;*		プレイヤーとの全当たりチェック＆補正（挟まれてダウン）	*
;*			out : (EWKC,D) <-- 足当たった時のＹスピード	*
;*			      (EWKE,F) <--	”   か？フラグ		*
;*									*
;************************************************************************
POBBGCR_X	EQU	$
		STZ	<EWORKE		;(EWKE,F) <-- foot cross flag
		LDY	ECRSFG,X
		BMI	POBCX00		;player cross ? ( yes:POBCX00 )
		CLC
		RTL
;
POBCX00		EQU	$
		LDA	PWIDEY
		CLC
		ADC	EWIDEY,X
		STA	<EWORK0
		CLC
		ADC	EPWIDY,X
		STA	<EWORK8		;(EWK8,9) <-- hed cross dot
;
		LDA	EPWIDY,X
		SEC
		SBC	<EWORK0
		STA	<EWORKA		;(EWKA,B) <-- foot cross dot
;
		LDY	#00H
		CLC
		ADC	<EWORK8
		BMI	POBCX10		;hed cross ? ( yes:POBCX10 )
		LDY	#02H
POBCX10		EQU	$
		STY	<EWORKC		;(EWKC) <-- hed or foot cross muki
;
		LDA	PWIDEX
		CLC
		ADC	EWIDEX,X
		STA	<EWORK0
		CLC
		ADC	EPWIDX,X
		STA	<EWORK2		;(EWK2,3) <-- right cross dot
;
		LDA	EPWIDX,X
		SEC
		SBC	<EWORK0
		STA	<EWORK4		;(EWK4,5) <-- left cross dot
;
		LDY	#00H
		CLC
		ADC	<EWORK2
		BMI	POBCX20		;right cross ? ( yes:POBCX20 )
		LDY	#02H
POBCX20		EQU	$
		STY	<EWORK6		;(EWK6) <-- side cross muki
;
		LDA	EWORK2,Y
		BPL	POBCX30
		EOR	#0FFFFH
		INC	A
POBCX30		EQU	$
		STA	<EWORK0
		LDY	<EWORKC
		LDA	EWORK8,Y
		BPL	POBCX40
		EOR	#0FFFFH
		INC	A
POBCX40		EQU	$
		CMP	<EWORK0
		BCC	POBCX400	;side cross ? ( no:POBCX400 )
;
		LDA	EWORK8,Y
		BMI	POBCX40F	;hed cross ? ( no:POBCX40F )
;
		LDA	<EWORK0
		CMP	#0AH
		BCC	POBCX40F	;プレイヤーダウン？ ( no:POBCX40F )
;
		I16
;
		JSL	>TO_PLDOWN
;
		I8
;
		BRA	POBCX42
;
POBCX40F	EQU	$
		JMP	POBC090
;
;-------------- hed or foot cross -------------------------------
POBCX400	EQU	$
		LDA	EWORK8,Y
		BPL	POBCX401	;foot cross ? ( no:POBCX401 )
		JMP	POBC070
;
;-------------- hed cross -------------------------------
POBCX401	EQU	$
		LDA	PLSITD
		BEQ	POBCX402	;sit down ? ( yes:POBCX402 )
;
		LDA	EWORK8,Y
		CLC
		ADC	#06H*2
		STA	EWORK8,Y
POBCX402	EQU	$
		LDA	EWORK8,Y
		CMP	#0AH
		BCC	POBCX42		;cross ok ? ( yes:POBCX42 )
;
		CMP	#012H
		BCC	POBCX404	;プレイヤーダウン？ ( no:POBCX404 )
;
		I16
;
		JSL	>TO_PLDOWN
;
		I8
;
		BRA	POBCX42
;
POBCX404	EQU	$
		LDA	#05H		;to sit down !!
		STA	PLSITD
POBCX42		EQU	$
		LDA	PLJUMP
		BEQ	POBCX420	;ジャンプ中？ ( yes:POBCX420 )
;
		LDA	PLYPSL		;プレイヤーＹ座標補正（”ドス〜ン”で挟まれる為）
		CLC
		ADC	ENMOVY,X
		STA	PLYPSL
POBCX420	EQU	$
		JMP	POBC080
;
;************************************************************************
;*									*
;*		プレイヤーとの全当たりチェック＆補正			*
;*			out : (EWKC,D) <-- 足当たった時のＹスピード	*
;*			      (EWKE,F) <--	”   か？フラグ		*
;*									*
;************************************************************************
POBBGXA		EQU	$
		WORD	00001H,0FFFFH
;
POBBGCR		EQU	$
		STZ	<EWORKE		;(EWKE,F) <-- foot cross flag
POBBGCR_2	EQU	$
		LDY	ECRSFG,X
		BMI	POBC000		;player cross ? ( yes:POBC000 )
		CLC
		RTL
;
POBBGCR_3	EQU	$
POBC000		EQU	$
		LDA	PWIDEY
		CLC
		ADC	EWIDEY,X
		STA	<EWORK0
		CLC
		ADC	EPWIDY,X
		STA	<EWORK8		;(EWK8,9) <-- hed cross dot
;
		LDA	EPWIDY,X
		SEC
		SBC	<EWORK0
		STA	<EWORKA		;(EWKA,B) <-- foot cross dot
;
		LDY	#00H
		CLC
		ADC	<EWORK8
		BMI	POBC010		;hed cross ? ( yes:POBC010 )
		LDY	#02H
POBC010		EQU	$
		STY	<EWORKC		;(EWKC) <-- hed or foot cross muki
;
		LDA	PWIDEX
		CLC
		ADC	EWIDEX,X
		STA	<EWORK0
		CLC
		ADC	EPWIDX,X
		STA	<EWORK2		;(EWK2,3) <-- right cross dot
;
		LDA	EPWIDX,X
		SEC
		SBC	<EWORK0
		STA	<EWORK4		;(EWK4,5) <-- left cross dot
;
		LDY	#00H
		CLC
		ADC	<EWORK2
		BMI	POBC020		;right cross ? ( yes:POBC020 )
		LDY	#02H
POBC020		EQU	$
		STY	<EWORK6		;(EWK6) <-- side cross muki
;
		LDA	EWORK2,Y
		BPL	POBC030
		EOR	#0FFFFH
		INC	A
POBC030		EQU	$
		STA	<EWORK0
		LDY	<EWORKC
		LDA	EWORK8,Y
		BPL	POBC040
		EOR	#0FFFFH
		INC	A
POBC040		EQU	$
		CMP	<EWORK0
		BCC	POBC0400	;side cross ? ( no:POBC0400 )
		JMP	POBC090
;
;-------------- hed or foot cross -------------------------------
POBC0400	EQU	$
		LDA	EWORK8,Y
		BMI	POBC070		;foot cross ? ( yes:POBC070 )
;
;-------------- hed cross -------------------------------
;;;;		    LDA	    PLBGCR
;;;;		    AND	    #000000111B
;;;;		    BEQ	    POBC050	    ;着地？ ( no:POBC050 )
;
		LDA	PLSITD
		BEQ	POBC0402	;sit down ? ( yes:POBC0402 )
;
		LDA	EWORK8,Y
		CLC
		ADC	#06H*2
		STA	EWORK8,Y
POBC0402	EQU	$
		LDA	EWORK8,Y
		CMP	#00AH
		BCC	POBC042		;cross ok ? ( yes:POBC042 )
;
		LDA	#05H		;to sit down !!
		STA	PLSITD
;
POBC042		EQU	$
		BRA	POBC080
;
POBC050		EQU	$
		LDA	EWORK8,Y
		CLC
		ADC	PLYPSL
		STA	PLYPSL		;player foot pos hosei
		STZ	PLSPJP
		BRA	POBC080
;
;-------------- foot cross ------------------------------
POBC070		EQU	$
		CMP	#-00BH
		BMI	POBC090		;cross ok ? ( no:POBC090 )
;
		SEC
		ADC	PLYPSL
		STA	PLYPSL		;player foot pos hosei
		LDA	ENYPSL,X
		SEC
		SBC	ENYP2L
		SEC
		ADC	PLYPSL
		STA	PLYPSL
		LDY	PLYSPD+1
		BMI	POBC100		;player jump up ? ( yes:POBC100 )
;
		LDA	ENXPSL,X
		SEC
		SBC	ENXP2L
		CLC
		ADC	PLXPSL
		STA	PLXPSL		;player X pos hosei
;;;;;;;;		LDY	PLDOSN
;;;;;;;;		BEQ	POBC078
;;;;;;;;
;;;;;;;;		LDA	#00009		;［Ｓ］
;;;;;;;;		STA	SOUND3
;;;;;;;;
;;;;;;;;POBC078		EQU	$
;;;;;;;;		STZ	PLDOSN
		INC	ONLFFG		;lift on flag "ON" !!
		INC	<EWORKE		;(EWKE,F) <-- foot cross flag "ON"
		LDA	PLYSPD
		STA	<EWORKC		;(EWKC,F) <-- foot cross player Y speed
;
POBC080		EQU	$
		SEC
POBC081		EQU	$
		LDA	ENYSPD,X
		BPL	POBC082
		LDA	#00
POBC082		EQU	$
		STA	PLYSPD		;player Y speed set
		RTL
;
;-------------- side cross --------------------------------------
POBC090		EQU	$
		LDX	<EWORK6
		LDA	<EWORK0
		LSR	A
		BEQ	POBC091		;１ドット当たり？ ( yes:POBC091 )
		LDA	PLXPSL
		CLC
		ADC	>POBBGXA,X
		STA	PLXPSL		;player X pos hosei
POBC091		EQU	$
		LDA	PLMVSP
		EOR	>POBBGXA,X
		BPL	POBC092		;player X speed clear ok muki ? ( no:POBC092 )
		STZ	PLXSPD
		STZ	PLMVSP
POBC092		EQU	$
		LDX	<ENINDX
POBC100		EQU	$
		CLC
		RTL
;
;************************************************************************
;*									*
;*		プレイヤーとの半当たりチェック＆補正			*
;*									*
;************************************************************************
POBBGCR_H	EQU	$
		LDY	ECRSFG,X
		BMI	POBC_H010	;player cross ? ( yes:POBC_H010 )

POBC_H000	EQU	$
		RTL
;
POBC_H010	EQU	$
		LDA	PLYPSL
		STA	<EWORK0

		LDA	ECENTY,X
		SEC
		SBC	PCENTY
		SEC
		SBC	PWIDEY
		SEC
		SBC	EWIDEY,X
		CMP	#0FFF6H		;
		BCC	POBC_H000	;player foot cross ? ( no:POBC_H000 )
;
;-------------- foot cross ------------------------------
		SEC
		ADC	PLYPSL
		STA	PLYPSL		;player foot pos hosei
		LDA	ENYPSL,X
		SEC
		SBC	ENYP2L
		SEC			;+1
		ADC	PLYPSL
		STA	PLYPSL

		SEC
		SBC	<EWORK0
		CLC
		ADC	PCENTY
		STA	PCENTY

		LDY	PLYSPD+1
		BMI	POBC_H000	;player jump up ? ( yes:POBC_H000 )
;
		LDA	ENXPSL,X
		SEC
		SBC	ENXP2L
		CLC
		ADC	PLXPSL
		STA	PLXPSL		;player X pos hosei
		INC	ONLFFG		;lift on flag "ON" !!
		LDA	ENYSPD,X
		BPL	POBC_H080

		LDA	#00

POBC_H080	EQU	$
		STA	PLYSPD		;player Y speed set

		RTL
;
;
;************************************************************************
;*									*
;*		赤ちゃんとの全当たりチェック＆補正			*
;*			out : (EWKC,D) <-- 足当たった時のＹスピード	*
;*			      (EWKE,F) <--	”   か？フラグ		*
;*									*
;************************************************************************
BOBBGXA		EQU	$
		WORD	00001H,0FFFFH
;
BOBBGCR		EQU	$
		STZ	<EWORKE		;(EWKE,F) <-- foot cross flag
BOBBGCR_2	EQU	$
		LDA	BABYNO		;赤ちゃん誰かに乗ってる ?
		AND	#0C000H		;
		ORA	DEATHCT0	;死神に連れ去られてる ?
		BNE	BOBC000		; yes: BOBC000

		LDA	EWIDEX,X
		CLC
		ADC	EWIDEX+BABY_INDEX
		STA	<EWORK0
		ASL	A
		STA	<EWORK2
		LDA	ECENTX,X
		SEC
		SBC	ECENTX+BABY_INDEX
		STA	<EWORK4
		CLC
		ADC	<EWORK0
		CMP	<EWORK2
		BCS	BOBC000

		LDA	EWIDEY,X
		CLC
		ADC	EWIDEY+BABY_INDEX
		STA	<EWORK6
		ASL	A
		STA	<EWORK8
		LDA	ECENTY,X
		SEC
		SBC	ECENTY+BABY_INDEX
		STA	<EWORKA
		CLC
		ADC	<EWORK6
		CMP	<EWORK8
		BCC	BOBC008

BOBC000		EQU	$
		CLC
		RTL
;
BOBC008		EQU	$
		LDA	<EWORKA
		CLC
		ADC	<EWORK6
		STA	<EWORK8		;(EWK8,9) <-- hed cross dot
;
		LDA	<EWORKA
		SEC
		SBC	<EWORK6
		STA	<EWORKA		;(EWKA,B) <-- foot cross dot
;
		LDY	#00H
		CLC
		ADC	<EWORK8
		BMI	BOBC010		;hed cross ? ( yes:BOBC010 )
		LDY	#02H
BOBC010		EQU	$
		STY	<EWORKC		;(EWKC) <-- hed or foot cross muki
;
		LDA	<EWORK4
		CLC
		ADC	<EWORK0
		STA	<EWORK2		;(EWK2,3) <-- right cross dot
;
		LDA	<EWORK4
		SEC
		SBC	<EWORK0
		STA	<EWORK4		;(EWK4,5) <-- left cross dot
;
		LDY	#00H
		CLC
		ADC	<EWORK2
		BMI	BOBC020		;right cross ? ( yes:BOBC020 )
		LDY	#02H
BOBC020		EQU	$
		STY	<EWORK6		;(EWK6) <-- side cross muki
;
		LDA	EWORK2,Y
		BPL	BOBC030
		EOR	#0FFFFH
		INC	A
BOBC030		EQU	$
		STA	<EWORK0
		LDY	<EWORKC
		LDA	EWORK8,Y
		BPL	BOBC040
		EOR	#0FFFFH
		INC	A
BOBC040		EQU	$
		CMP	<EWORK0
		BCS	BOBC090		;side cross ? ( yes:BOBC090 )
;
;-------------- hed or foot cross -------------------------------
		CMP	#09H
		BCS	BOBC090		;cross ok ? ( no:BOBC090 )
;
		LDA	EWORK8,Y
		PHP
		LDA	#00001
		PLP
		BMI	BOBC070		;foot cross ? ( yes:BOBC070 )

		ASL	A		;[ LDA	#00002 ]

BOBC070		EQU	$
		TSB	ENCBFG+BABY_INDEX
;
;-------------- hed cross -------------------------------
;		CLC
;		ADC	ENYPSL+BABY_INDEX
;		STA	ENYPSL+BABY_INDEX	;player foot pos hosei
;		BRA	BOBC080
;
;;-------------- foot cross ------------------------------
;BOBC070		EQU	$
;		SEC
;		ADC	ENYPSL+BABY_INDEX
;		STA	ENYPSL+BABY_INDEX	;player foot pos hosei
;		LDA	ENYPSL,X
;		SEC
;		SBC	ENYP2L
;		SEC
;		ADC	ENYPSL+BABY_INDEX
;		STA	ENYPSL+BABY_INDEX
;		LDY	ENYSPD+BABY_INDEX+1
;		BMI	BOBC100		;player jump up ? ( yes:BOBC100 )
;
;		LDA	ENMOVX,X
;		CLC
;		ADC	ENXPSL+BABY_INDEX
;		STA	ENXPSL+BABY_INDEX		;player X pos hosei
;		INC	<EWORKE		;(EWKE,F) <-- foot cross flag "ON"
;		LDA	ENYSPD+BABY_INDEX
;		STA	<EWORKC		;(EWKC,F) <-- foot cross player Y speed
;
;		LDA	ENMOD2,X	;範囲クリアなし
;		AND	#1111111111110011B
;		STA	ENMOD2,X
;
;BOBC080		EQU	$
;		LDA	ENYSPD,X
;		BPL	BOBC082
;		LDA	#00
;BOBC082		EQU	$
;		STA	ENYSPD+BABY_INDEX	;player Y speed set
		SEC
		RTL
;
;-------------- side cross --------------------------------------
BOBC090		EQU	$
		LDX	<EWORK6
		LDA	ENXPSL+BABY_INDEX
		CLC
		ADC	>BOBBGXA,X
		STA	ENXPSL+BABY_INDEX	;player X pos hosei
		LDA	ENXSPD+BABY_INDEX
		EOR	>BOBBGXA,X
		BPL	BOBC092		;player X speed clear ok muki ? ( no:BOBC092 )

		LDA	ENXSPD+BABY_INDEX
		EOR	#0FFFFH
		INC	A
		STA	ENXSPD+BABY_INDEX
BOBC092		EQU	$
		LDX	<ENINDX
BOBC100		EQU	$
		CLC
		RTL
;
;************************************************************************
;*									*
;*		プレイヤーとの衝突状態チェック				*
;*			out : (A) <-- 衝突状態				*
;*				      ０：右  ２：左  ４：上  ６：下	*
;*									*
;************************************************************************
PLCRMKCK	EQU	$
		LDA	PWIDEY
		CLC
		ADC	EWIDEY,X
		STA	<EWORK0
		CLC
		ADC	EPWIDY,X
		STA	<EWORK8		;(EWK8,9) <-- hed cross dot
;
		LDA	EPWIDY,X
		SEC
		SBC	<EWORK0
		STA	<EWORKA		;(EWKA,B) <-- foot cross dot
;
		LDY	#04H
		CLC
		ADC	<EWORK8
		BMI	PLCRMKCK_010	;hed cross ? ( yes:PLCRMKCK_010 )
		LDY	#06H
PLCRMKCK_010	EQU	$
		STY	<EWORKC		;(EWKC) <-- hed or foot cross muki
;
		LDA	PWIDEX
		CLC
		ADC	EWIDEX,X
		STA	<EWORK0
		CLC
		ADC	EPWIDX,X
		STA	<EWORK2		;(EWK2,3) <-- right cross dot
;
		LDA	EPWIDX,X
		SEC
		SBC	<EWORK0
		STA	<EWORK4		;(EWK4,5) <-- left cross dot
;
		LDY	#00H
		CLC
		ADC	<EWORK2
		BMI	PLCRMKCK_020	;right cross ? ( yes:PLCRMKCK_020 )
		LDY	#02H
PLCRMKCK_020	EQU	$
		STY	<EWORK6		;(EWK6) <-- side cross muki
;
		LDA	EWORK2,Y
		BPL	PLCRMKCK_030
		EOR	#0FFFFH
		INC	A
PLCRMKCK_030	EQU	$
		STA	<EWORK0
		LDY	<EWORKC
		LDA	EWORK8-4,Y
		BPL	PLCRMKCK_040
		EOR	#0FFFFH
		INC	A
PLCRMKCK_040	EQU	$
		CMP	<EWORK0
		BCS	PLCRMKCK_050	;side cross ? ( yes:PLCRMKCK_050 )
;
		CMP	#08H
		BCC	PLCRMKCK_060	;cross ok ? ( yes:PLCRMKCK_060 )
;
PLCRMKCK_050	EQU	$
		LDY	<EWORK6
;
PLCRMKCK_060	EQU	$
		RTL
;
;************************************************************************
;*									*
;*		存在チェックルーチン					*
;*									*
;*		ｂｙ　悪にむりやり組まされたかわいそうな市民１号	*
;*									*
;************************************************************************
EXCHK_BUF_ADR	EQU	$
		WORD	SV_COIN_BF0
		WORD	SV_COIN_BF1
		WORD	SV_COIN_BF2
		WORD	SV_COIN_BF3
CHECK_BIT_DATA	EQU	$
		WORD	1000000000000000B
		WORD	0100000000000000B
		WORD	0010000000000000B
		WORD	0001000000000000B
		WORD	0000100000000000B
		WORD	0000010000000000B
		WORD	0000001000000000B
		WORD	0000000100000000B
		WORD	0000000010000000B
		WORD	0000000001000000B
		WORD	0000000000100000B
		WORD	0000000000010000B
		WORD	0000000000001000B
		WORD	0000000000000100B
		WORD	0000000000000010B
		WORD	0000000000000001B
;
NON_EXIST_SET	EQU	$
		LDA	ENXPSL,X
		STA	<EWORK4
		LDA	ENYPSL,X

NON_EXIST_SET2	EQU	$
		STA	<EWORK6
NON_EXIST_SET3	EQU	$
		SEC
		BRA	EXIST_CHECK0100

EXIST_CHECK2	EQU	$
		LDA	ENXPSL,X
		STA	<EWORK4
		LDA	ENYPSL,X

EXIST_CHECK_S2	EQU	$
		STA	<EWORK6
EXIST_CHECK_S3	EQU	$
		LDY	#002
		BRA	EXIST_CHECK0080

EXIST_CHECK	EQU	$
		LDA	ENXPSL,X
		STA	<EWORK4
		LDA	ENYPSL,X

EXIST_CHECK_S	EQU	$
		STA	<EWORK6
		LDY	#000

EXIST_CHECK0080 EQU	$
		STY	<EWORKE
		CLC

EXIST_CHECK0100 EQU	$
		PHP
		I16
		PHX
		LDA	<EWORK4
		AND	#000F0H
		LSR	A
		LSR	A
		LSR	A
		TAX
		LDA	>CHECK_BIT_DATA,X
		STA	<EWORKC
		PLX
		PHX

		LDA	CORSNO
		ASL	A
		TAY

		LDA	<EWORK6		;BG data buffer clear addr. calc.
		AND	#00700H		;
		LSR	A		;
		LSR	A		;
		LSR	A		;
		LSR	A		;
		STA	<EWORK0		;
		LDA	<EWORK4+1	;
		AND	#0000FH		;
		ORA	<EWORK0		;
		TAX			;
		LDA	UNBUFAD,X
		AND	#0003FH
		ASL	A
		TYX
		CLC
		ADC	>EXCHK_BUF_ADR,X
		STA	<EWORK2
		LDA	(EWORK2)
		PLX
		I8
		PLP				;ビットクリア ?
		BCS	EXIST_CHECK0900		; yes: EXIST_CHECK0900

		AND	<EWORKC			;存在してる ?
		BEQ	EXIST_CHECK0800		; yes: EXIST_CHECK0800

		LDY	<EWORKE
		BNE	EXIST_CHECK0800

		JSL	>ENCLEAR_NORETN

		PLY
		PLA
		LDY	#002		;存在してなかったらＢＮＥできけるように

EXIST_CHECK0800 EQU	$

		RTL
;
EXIST_CHECK0900 EQU	$
		ORA	<EWORKC
		STA	(EWORK2)

		RTL
;
;
;
;************************************************************************
;*									*
;*		特殊モード初期セットルーチンテーブル			*
;*									*
;************************************************************************
ESINIT		EQU	$-2
		WORD	CHNG_CHR_INIT	;キャラクター入れ替えモード（地下）
		WORD	CHNG_CHR_INIT	;		”	   （草）
		WORD	CHNG_CHR_INIT	;		”	   （水中）
		WORD	CHNG_CHR_INIT	;		”	   （溶岩）
		WORD	CHNG_CHR_INIT	;		”	   （雪）
		WORD	CHNG_CHR_INIT	;		”	   （バブル）
		WORD	CHNG_CHR_INIT	;		”	   （カベ）
		WORD	CHNG_CHR_INIT	;		”	   （パーステスト）
		WORD	CHNG_CHR_INIT	;		”	   （地下’）
		WORD	CHNG_CHR_INIT	;		”	   （草’）
		WORD	CHNG_CHR_INIT	;		”	   （水中’）
		WORD	CHNG_CHR_INIT	;		”	   （溶岩’）
		WORD	CHNG_CHR_INIT	;		”	   （雪’）
		WORD	CHNG_CHR_INIT	;		”	   （バブル’）
		WORD	CHNG_CHR_INIT	;		”	   （カベ’）
		WORD	CHNG_CHR_INIT	;		”	   （パーステスト’）
;
		WORD	ATSCRL_0_IN	;オートスクロール（AT_00）
		WORD	ATSCRL_0_IN	;	 ”	 （）
		WORD	ATSCRL_0_IN	;	 ”	 （）
		WORD	ATSCRL_0_IN	;	 ”	 （）
		WORD	ATSCRL_0_IN	;	 ”	 （）
		WORD	ATSCRL_0_IN	;	 ”	 （）
		WORD	ATSCRL_0_IN	;	 ”	 （）
		WORD	ATSCRL_0_IN	;	 ”	 （）
		WORD	ATSCRL_0_IN	;	 ”	 （）
		WORD	ATSCRL_0_IN	;	 ”	 （）
		WORD	ATSCRL_0_IN	;	 ”	 （）
;;;;;;;;		WORD	ATSCRL_0_IN	;	 ”	 （）
;
		WORD	BTLS_EN_IN	;バルーンテレサのＥＮＤ
;
		WORD	SCRL_MAX_IN	;ＭＡＸスクロール値セット
;
		WORD	TUMUJ_ST_IN	;つむじ風のわきだしスタート
		WORD	TUMUJ_EN_IN	;	  ”	   ＥＮＤ
;
		WORD	JUGEM_EN_IN	;ジュゲムのわきだしＥＮＤ
;
		WORD	WATAB_EN_IN	;わたぼーのわきだしＥＮＤ
;
		WORD	POCHI_EN_IN	;ぽちのわきだしＥＮＤ
;
		WORD	KOMOR_ST_IN	;こうもりのわきだしスタート
		WORD	KOMOR_EN_IN	;	  "        ＥＮＤ
		WORD	KOMR2_ST_IN	;こうもりのわきだしスタート
		WORD	KOMR2_EN_IN	;	  "        ＥＮＤ
;
		WORD	AJGM0_ST_IN	;穴ジュゲムのわきだしスタート
		WORD	AJGM0_EN_IN	;	  "        ＥＮＤ
;
		WORD	BAMBO_S0_IN	;ばんぶーダンサーズ	ダンス
		WORD	BAMBO_EN_IN	;	　		エンド
;
		WORD	THJGM_EN_IN	; 雷ジュゲムのわきだしＥＮＤ
;
		WORD	MOTH0_ST_IN	; 花ちゃん成虫のわきだしスタート
		WORD	MOTH0_EN_IN	; 花ちゃん成虫のわきだし終了
;
		WORD	P_KUN_ST_IN	; プチパックンのわきだしスタート
		WORD	P_KUN_EN_IN	; プチパックンのわきだし終了
;
		WORD	FUSBO_ST_IN	; 風船仙人掌のわきだしスタート
		WORD	FUSBO_EN_IN	; 風船仙人掌のわきだし終了
		WORD	FUBOM_ST_IN	; 風船爆弾のわきだしスタート
		WORD	FUBOM_EN_IN	; 風船爆弾のわきだし終了
;
		WORD	FUSEN_ST_IN	;風船リフトのわきだしスタート
		WORD	FUSEN_EN_IN	;	  "          ＥＮＤ
;
		WORD	RPL_0_ST_IN	;ロープリフトタイプ０セット
;
		WORD	SSLIM_ST_IN	;ちびぷよのわきだしスタート
		WORD	SSLIM_EN_IN	;	  "        ＥＮＤ
;
		WORD	FURA_EN_IN	;ワタボー”フラフラ”キャンセル
;
		WORD	AHOB_EN_IN	;あほーどりのわきだしＥＮＤ
;
		WORD	WATAB_ST_IN	;わたぼーのわきだしスタート
;
;************************************************************************
;*									*
;*		特殊モード処理ルーチンテーブル				*
;*									*
;************************************************************************
ESMOVE		EQU	$-2
		WORD	CHNG_CHR_MOVE	;キャラクター入れ替えモード（地下）
		WORD	CHNG_CHR_MOVE	;		”	   （草）
		WORD	CHNG_CHR_MOVE	;		”	   （水中）
		WORD	CHNG_CHR_MOVE	;		”	   （溶岩）
		WORD	CHNG_CHR_MOVE	;		”	   （雪）
		WORD	CHNG_CHR_MOVE	;		”	   （バブル）
		WORD	CHNG_CHR_MOVE	;		”	   （カベ）
		WORD	CHNG_CHR_MOVE	;		”	   （パーステスト）
		WORD	CHNG_CHR_MOVE	;		”	   （地下’）
		WORD	CHNG_CHR_MOVE	;		”	   （草’）
		WORD	CHNG_CHR_MOVE	;		”	   （水中’）
		WORD	CHNG_CHR_MOVE	;		”	   （溶岩’）
		WORD	CHNG_CHR_MOVE	;		”	   （雪’）
		WORD	CHNG_CHR_MOVE	;		”	   （バブル’）
		WORD	CHNG_CHR_MOVE	;		”	   （カベ’）
		WORD	CHNG_CHR_MOVE	;		”	   （パーステスト’）
;
		WORD	ATSCRL_0_MV	;オートスクロール（AT_00）
		WORD	ATSCRL_0_MV	;	 ”	 （）
		WORD	ATSCRL_0_MV	;	 ”	 （）
		WORD	ATSCRL_0_MV	;	 ”	 （）
		WORD	ATSCRL_0_MV	;	 ”	 （）
		WORD	ATSCRL_0_MV	;	 ”	 （）
		WORD	ATSCRL_0_MV	;	 ”	 （）
		WORD	ATSCRL_0_MV	;	 ”	 （）
		WORD	ATSCRL_0_MV	;	 ”	 （）
		WORD	ATSCRL_0_MV	;	 ”	 （）
		WORD	ATSCRL_0_MV	;	 ”	 （）
;[1995.06.03.SA]		WORD	ATSCRL_0_MV	;	 ”	 （）
;
		WORD	RTSSUB		;バルーンテレサのＥＮＤ
;
		WORD	RTSSUB		;ＭＡＸスクロール値セット
;
		WORD	TUMUJ_ST_MV	;つむじ風のわきだしスタート
		WORD	RTSSUB		;	  ”	   ＥＮＤ
;
		WORD	RTSSUB		;ジュゲムのわきだしＥＮＤ
;
		WORD	RTSSUB		;わたぼーのわきだしＥＮＤ
;
		WORD	RTSSUB		;ぽちのわきだしＥＮＤ
;
		WORD	KOMOR_ST_MV	;こうもりのわきだしスタート
		WORD	RTSSUB		;	  ”	   ＥＮＤ
		WORD	KOMR2_ST_MV	;こうもりのわきだしスタート
		WORD	RTSSUB		;	  ”	   ＥＮＤ
;
		WORD	AJGM0_ST_MV	;穴ジュゲムのわきだしスタート
		WORD	RTSSUB		;	  ”	   ＥＮＤ
;
		WORD	BAMBO_S0_MV	;ばんぶーダンサーズ	ダンス
		WORD	RTSSUB		;	　		エンド
;
		WORD	RTSSUB		; 雷ジュゲムのわきだしＥＮＤ
;
		WORD	MOTH0_ST_MV	; 花ちゃん成虫のわきだしスタート
		WORD	RTSSUB		; 花ちゃん成虫のわきだし終了
;
		WORD	P_KUN_ST_MV	; プチパックンのわきだしスタート
		WORD	RTSSUB		; プチパックンのわきだし終了
;
		WORD	FUSBO_ST_MV	; 風船仙人掌のわきだしスタート
		WORD	RTSSUB		; 風船仙人掌のわきだし終了
;
		WORD	FUBOM_ST_MV	; 風船爆弾のわきだしスタート
		WORD	RTSSUB		; 風船爆弾のわきだし終了
;
		WORD	FUSEN_ST_MV	;風船リフトのわきだしスタート
		WORD	RTSSUB		;	  "          ＥＮＤ
;
		WORD	RPL_0_ST_MV	;ロープリフトタイプ０範囲外チェック
;
		WORD	SSLIM_ST_MV	;ちびぷよのわきだしスタート
		WORD	RTSSUB		;	  "        ＥＮＤ
;
		WORD	RTSSUB		;ワタボー”フラフラ”キャンセル
;
		WORD	RTSSUB		;あほーどりのわきだしＥＮＤ
;
		WORD	WATAB_ST_MV	;わたぼーのわきだしスタート
;
		MEM16
		IDX16
;
;************************************************************************
;*		キャラクター入れ替えモード初期セット			*
;************************************************************************
CHNG_CHR_INIT	EQU	$
		LDA	EWORK0
		LSR	A
		BCS	CHNG_COL_INIT	;カラー入れ替え？ ( yes:CHNG_COL_INIT )
;
		LDA	ESMODE,Y
		SEC
		SBC	#(CH_00-ENEND)+1
		CMP	BG1TYP
		BNE	CHNG_CHR_I_010	;今のキャラクラーと同じ？ ( no:CHNG_CHR_I_010 )
		JMP	ESCLEAR
;
CHNG_CHR_I_010	EQU	$
		STA	BG1TYP		;キャラクタータイプ変更
;
;-------------- 転送エリア開放 ------------------------------------------
		JSL	>TROBJ_CANCEL
;
;-------------- ＲＡＭ初期セット ----------------------------------------
		STZ	CHNG_CHR_CNT	;カウンター初期セット
		STZ	CHNG_CHR_BYTE	;解凍データバイト数初期セット
		RTS
;
;------------------------------------------------------------------------
;-		カラー入れ替え						-
;------------------------------------------------------------------------
CHNG_COL_INIT	EQU	$
		LDA	ESMODE,Y
		SEC
		SBC	#(CH_00-ENEND)+1
		CMP	BG1COL
		BEQ	CHNG_COL_I_030	;今のカラーと同じ？ ( yes:CHNG_COL_I_030 )
;
		STA	BG1COL		;カラータイプ変更
;
;-------------- カラー入れ替え ------------------------------------------
		ASL	A
		TAX
		LDA	>BG1COLBK,X
		TAX
;
		PHY			;(Y) save
		PHB			;(DBR) save
		PEA	DATACOL/100H	;(DBR) <-- DATACOL(B)
		PLB
		PLB
;
		LDY	#(0FH-1)*2
CHNG_COL_I_010	EQU	$
		LDA	>COL_ADDRESS+(0FH*1-1)*2,X
		STA	DATACOL+(41H*2),Y
		STA	MOTOCOL+(41H*2),Y
		LDA	>COL_ADDRESS+(0FH*2-1)*2,X
		STA	DATACOL+(51H*2),Y
		STA	MOTOCOL+(51H*2),Y
		DEX
		DEX
		DEY
		DEY
		BPL	CHNG_COL_I_010
;
		LDY	#(04H-1)*2
CHNG_COL_I_020	EQU	$
		LDA	>COL_ADDRESS+(04H*1-1)*2+(0FH*2)*2+(0FH*2),X
		STA	DATACOL+(1CH*2),Y
		STA	MOTOCOL+(1CH*2),Y
		LDA	>COL_ADDRESS+(04H*2-1)*2+(0FH*2)*2+(0FH*2),X
		STA	DATACOL+(2CH*2),Y
		STA	MOTOCOL+(2CH*2),Y
		LDA	>COL_ADDRESS+(04H*3-1)*2+(0FH*2)*2+(0FH*2),X
		STA	DATACOL+(3CH*2),Y
		STA	MOTOCOL+(3CH*2),Y
		DEX
		DEX
		DEY
		DEY
		BPL	CHNG_COL_I_020
;
		PLB
		PLY
;
CHNG_COL_I_030	EQU	$
		JMP	ESCLEAR
;
;------------------------------------------------------------------------
;-		転送エリア開放						-
;------------------------------------------------------------------------
TROBJ_CANCEL	EQU	$
		PHX			;(X) save
		PHY			;(Y) save
		PHP			;(P) save
;
		M16
		I8
;
		LDX	#(ENNO-1)*4
TROBJ_CANCEL_10 EQU	$
		LDA	ENMODE,X
		BEQ	TROBJ_CANCEL_20 ;敵セット？ ( no:TROBJ_CANCEL_20 )
;
;-------------- 転送エリア放棄 ------------------------------------------
		JSL	>TROBJ_CLEAR_CHK
		LDA	ENCHPT,X
		AND	#00FFH
		STA	ENCHPT,X
TROBJ_CANCEL_20 EQU	$
		DEX
		DEX
		DEX
		DEX
		BPL	TROBJ_CANCEL_10
		LDA	#0FFFFH		;転送エリア全確保
		STA	TROBJ_ARIA
;
		PLP			;(P) load
		PLY			;(Y) load
		PLX			;(X) load
		RTL
;
		MEM16
		IDX16
;
;************************************************************************
;*		キャラクター入れ替えモード処理				*
;************************************************************************
CHNG_CHR_VRAD	EQU	$
		WORD	0000H,0800H,7000H
;
CHNG_CHR_MOVE	EQU	$
		PHY			;(Y) save
;
		LDA	#0800H		;(EWK0,1) <-- 最大転送バイト数
		STA	<EWORK0
;
		LDA	CHNG_CHR_BYTE
		BNE	CHNG_CHR_M_010	;圧縮データの解凍？ ( no:CHNG_CHR_M_010 )
;
		LDA	CHNG_CHR_CNT
		CMP	#03
		BNE	CHNG_CHR_M_000	;終了？ ( no:CHNG_CHR_M_000 )
;
		PLY			;(Y) load
;
;-------------- キャラクター入れ替え終了 --------------------------------
		STZ	TROBJ_ARIA	;転送エリア開放
;
ESCLEAR		EQU	$
;
		MI8
;
		LDX	ESRETN,Y
		LDA	#00
		STA	>EDSWBF,X
;
		MI16
;
ESCLEAR_NORETN	EQU	$
		LDA	#00
		STA	ESMODE,Y
		RTS
;
CHNG_CHR_M_000	EQU	$
		ASL	A
		TAX
		LDA	!CHNG_CHR_VRAD,X
		STA	CHNG_CHR_VRAM	;転送先ＶＲＡＭアドレスセット
		LDA	#WOB7CHR+1000H
		STA	CHNG_CHR_DTAD	;転送元アドレスセット
;
		LDA	BG1TYP		;x3
		ASL	A
;;;;		    CLC
		ADC	BG1TYP
;;;;		    CLC
		ADC	CHNG_CHR_CNT
		TAX
;
;-------------- 圧縮データの解凍 ----------------------------------------
		LDA	>BG1CHRBK,X
		AND	#00FFH
		JSL	>UNCOMPRES_X
;
		STA	CHNG_CHR_BYTE	;解凍データバイト数セット
		INC	CHNG_CHR_CNT	;カウンターＵＰ
;
CHNG_CHR_M_010	EQU	$
		SEC
		SBC	#0800H
		BCS	CHNG_CHR_M_020	;解凍データ終り？ ( no:CHNG_CHR_M_020 )
;
;;;;		    CLC
		ADC	#0800H
		STA	<EWORK0		;(EWK0,1) <-- 転送バイト数
		LDA	#00
CHNG_CHR_M_020	EQU	$
		STA	CHNG_CHR_BYTE	;余りの解凍データバイト数セット
;
		LDX	CHNG_CHR_DTAD	;(X) <----- 転送元アドレス（Ｌ，Ｈ）
		TXA
		CLC
		ADC	<EWORK0
		STA	CHNG_CHR_DTAD	;次の転送元アドレスセット
		LDA	#BANK WOB7CHR
		STA	WORK1		;(WK1,2) <-- 転送元アドレス（Ｂ）
		LDY	CHNG_CHR_VRAM	;(Y) <----- ＶＲＡＭアドレス
		LDA	<EWORK0		;(A) <-- 転送バイト数
		JSL	>VRAMDX_ST
;
		LDA	<EWORK0
		LSR	A
		CLC
		ADC	CHNG_CHR_VRAM
		STA	CHNG_CHR_VRAM	;次のＶＲＡＭアドレスセット
;
		PLY			;(Y) load
		RTS
;
;
;
;
;
;************************************************************************
;*									*
;*		オートスクロール処理					*
;*									*
;************************************************************************
;
		MEM16
		IDX16
;
AUTO_SCROLL	EQU	$
		PHB			;(DBR) save
		PHK			;(DBR) <-- (PBR)
		PLB
;
		LDA	ATSCRL_FLAG
		ASL	A
		TAX
		JSR	(!ESMOVE,X)
;
		PLB
		RTL
;
;************************************************************************
;*		オートスクロール（）初期セット				*
;************************************************************************
ATSCRL_0_ADRS	EQU	$
		WORD	ATSCRL_0_DT_0-ATSCRL_0_DT	;[AT_00]
		WORD	ATSCRL_0_DT_1-ATSCRL_0_DT	;[AT_01]
		WORD	ATSCRL_0_DT_2-ATSCRL_0_DT	;[AT_02]
		WORD	ATSCRL_0_DT_3-ATSCRL_0_DT	;[AT_03]
		WORD	ATSCRL_0_DT_4-ATSCRL_0_DT	;[AT_04]
		WORD	ATSCRL_0_DT_5-ATSCRL_0_DT	;[AT_05]
		WORD	ATSCRL_0_DT_6-ATSCRL_0_DT	;[AT_06]
		WORD	ATSCRL_0_DT_7-ATSCRL_0_DT	;[AT_07]
		WORD	ATSCRL_0_DT_8-ATSCRL_0_DT	;[AT_08]
		WORD	ATSCRL_0_DT_9-ATSCRL_0_DT	;[AT_09]
		WORD	ATSCRL_0_DT_A-ATSCRL_0_DT	;[AT_0A]
		WORD	ATSCRL_0_DT_B-ATSCRL_0_DT	;[AT_0B]
;
ATSCRL_0_DT	EQU	$
;;;6-8 kamec
ATSCRL_0_DT_0	EQU	$
;			X  Y  Speed
		HEX	20,00,04	;[01]
		HEX	30,00,04	;[02]
		HEX	40,00,04	;[03]
		HEX	80,00,04	;[04]
;
		HEX	FF	;end code
;
;;;6-8 END
;;ATSCRL_0_DT_0 EQU	$
;;;			X  Y  Speed
;;		HEX	2D,70,08	;[01]
;;		HEX	43,66,08	;[02]
;;		HEX	4C,65,08	;[03]
;;		HEX	4E,54,08	;[04]
;;		HEX	50,51,08	;[04']
;;		HEX	7E,50,08	;[05]
;;		HEX	7F,67,08	;[06]
;;		HEX	78,6F,08	;[07]
;;		HEX	65,70,08	;[08]
;;		HEX	62,6B,08	;[09]
;;		HEX	65,65,08	;[10]
;;		HEX	6A,62,08	;[11]
;;		HEX	8D,61,08	;[12]
;;		HEX	9C,6F,08	;[13]
;;		HEX	D0,70,08	;[14]
;;		HEX	FF	;end code
;
;
;
;;;1-5
ATSCRL_0_DT_1	EQU	$
;			X  Y  Speed
		HEX	6E,60,06	;[01]
		HEX	63,6A,08	;[02]
		HEX	5B,6C,08	;[03]
		HEX	3C,6C,06	;[03']
		HEX	1E,6C,05	;[04]
		HEX	16,69,05	;[05]
		HEX	10,65,05	;[06]
		HEX	0C,60,05	;[07]
		HEX	09,57,05	;[08]
ATSCRL_0_DT_2	HEX	0A,4D,05	;[09]
		HEX	10,45,05	;[0A]
		HEX	1A,36,05	;[0C]
		HEX	21,2D,05	;[0D]
		HEX	30,2B,08	;[0E]
		HEX	40,2E,06	;[0F]
		HEX	50,2F,05	;[10]
;;;		HEX	3B,2B,05	;[0F]
;;;		HEX	43,27,05	;[10]
;;;		HEX	50,25,05	;[11]
;;;		HEX	5A,26,05	;[12]
;;;		HEX	68,2E,05	;[13]
;;;		HEX	70,30,05	;[14]
;;;		HEX	88,30,05	;[15]
		HEX	FF	;end code
;
;;;1-5 END
;
;;;ATSCRL_0_DT_1	EQU	$
;;;;			X  Y  Speed
;;;		HEX	70,60,08	;[01]
;;;		HEX	68,60,08	;[02]
;;;		HEX	5F,62,08	;[03]
;;;		HEX	51,60,08	;[04]
;;;		HEX	4D,5F,08	;[05]
;;;		HEX	48,61,08	;[06]
;;;		HEX	43,61,08	;[07]
;;;		HEX	3E,5F,08	;[08]
;;;		HEX	39,61,08	;[09]
;;;		HEX	35,61,08	;[10]
;;;		HEX	2F,5F,08	;[11]
;;;		HEX	26,5F,08	;[12]
;;;		HEX	20,60,08	;[13]
;;;		HEX	1B,60,08	;[14]
;;;		HEX	18,61,08	;[15]
;;;		HEX	15,62,08	;[16]
;;;		HEX	10,62,08	;[17]
;;;		HEX	0A,60,08	;[18]
;;;		HEX	05,5E,08	;[18']
;;;		HEX	03,5D,08	;[19]
;;;		HEX	01,59,08	;[20]
;;;		HEX	02,55,08	;[21]
;;;		HEX	02,54,08	;[22]
;;;		HEX	02,50,08	;[22']
;;;		HEX	01,4C,08	;[23]
;;;		HEX	01,46,08	;[24]
;;;		HEX	01,42,08	;[25]
;;;		HEX	01,34,08	;[26]
;;;ATSCRL_0_DT_2	HEX	02,2D,08	;[27]
;;;		HEX	03,26,08	;[28]
;;;		HEX	08,22,08	;[29]
;;;		HEX	0E,1C,08	;[30]
;;;		HEX	14,19,08	;[31]
;;;		HEX	1B,17,08	;[32]
;;;		HEX	28,15,08	;[33]
;;;		HEX	33,14,08	;[34]
;;;		HEX	42,14,08	;[35]
;;;		HEX	50,13,08	;[36]
;;;		HEX	59,10,08	;[37]
;;;		HEX	5C,12,08	;[38]
;;;		HEX	66,12,08	;[39]
;;;		HEX	6E,12,08	;[40]
;;;		HEX	7D,12,08	;[41]
;;;		HEX	FF	;end code
;
;
;
;
;;;;6-5
;;ATSCRL_0_DT_3 EQU	$
;;			X  Y  Speed
;;		HEX	40,20,08	;[12]
;;		HEX	50,20,08	;[13]
;;		HEX	60,20,08	;[14]
;;		HEX	70,20,08	;[15]
;;		HEX	80,20,08	;[16]
;;		HEX	90,20,08	;[17]
;;		HEX	A0,20,08	;[18]
;;		HEX	B0,20,08	;[19]
;;		HEX	C0,20,08	;[20]
;;		HEX	D0,24,08	;[21]
;;		HEX	E0,22,08	;[22]
;;		HEX	E2,29,04	;[23]
;;		HEX	E1,30,06	;[24]
;;		HEX	D8,30,08	;[25]
;;ATSCRL_0_DT_4 HEX	C0,31,08	;[26]
;;		HEX	B2,33,08	;[27]
;;		HEX	B0,38,06	;[28]
;;		HEX	B1,40,08	;[29]
;;		HEX	B4,40,08	;[30]
;;		HEX	C0,40,08	;[31]
;;		HEX	D0,40,08	;[32]
;;		HEX	FF	;end code
ATSCRL_0_DT_5	EQU	$
;			X  Y  Speed
		HEX	0B,30,08	;[01]
		HEX	13,36,08	;[02]
		HEX	1B,37,08	;[03]
		HEX	23,39,08	;[04]
		HEX	2A,3B,08	;[05]
		HEX	41,3D,08	;[06]
		HEX	4B,3E,08	;[07]
		HEX	60,4A,08	;[08]
		HEX	64,52,08	;[09]
		HEX	66,5D,08	;[0A]
		HEX	6E,61,08	;[0B]
		HEX	71,67,08	;[0C]
		HEX	6E,6D,08	;[0D]
		HEX	64,70,08	;[0E]
		HEX	54,70,06	;[0E']
		HEX	4B,70,04	;[0F]
		HEX	46,68,04	;[10]
		HEX	41,5E,04	;[11]
		HEX	41,53,04	;[12]
		HEX	43,4D,04	;[13]
		HEX	48,4B,06	;[14]
		HEX	51,4C,08	;[15]
		HEX	61,51,08	;[16]
		HEX	70,55,08	;[17]
		HEX	82,58,06	;[18]
		HEX	8B,59,04	;[18']
ATSCRL_0_DT_3	EQU	$
		HEX	A0,59,08	;[18']
		HEX	FF	;end code
;
;;		HEX	82,58,06	;[18]
;;		HEX	8B,58,04	;[18']
;;		HEX	A6,58,08	;[19]
;;		HEX	AE,53,08	;[1A]
;;		HEX	C3,53,08	;[1B]
;;		HEX	C9,50,08	;[1C]
;;		HEX	D5,50,08	;[1D]
;;		HEX	FF	;end code
;
ATSCRL_0_DT_6	EQU	$
;			X  Y  Speed
		HEX	11,5C,10	;[01]
		HEX	18,5C,18	;[02]
		HEX	1F,5D,20	;[03]
		HEX	23,5F,1D	;[04]
		HEX	30,62,14	;[05]
		HEX	50,69,12	;[06]
		HEX	71,6A,12	;[07]
		HEX	8F,64,12	;[08]
		HEX	AA,5F,12	;[09]
		HEX	E0,5F,15	;[0A]
		HEX	FF	;end code
;
;;		HEX	82,62,12	;[08]
;;		HEX	85,61,10	;[09]
;;		HEX	90,5F,10	;[0A]
;;		HEX	FF	;end code
;
ATSCRL_0_DT_4	EQU	$
		HEX	10,70,05	;[01]
		HEX	40,70,07	;[01]
		HEX	70,70,09	;[01]
		HEX	A0,70,0B	;[02]
		HEX	FF	;end code
;;;;6-5 END
;
;
;
;;;;5-6
ATSCRL_0_DT_7	EQU	$
;			X  Y  Speed
		HEX	1A,50,05	;[01]
		HEX	20,4E,05	;[02]
		HEX	2C,50,05	;[03]
		HEX	39,4E,05	;[04]
		HEX	42,4A,05	;[05]
		HEX	4D,49,05	;[06]
		HEX	58,48,05	;[07]
		HEX	63,4B,05	;[08]
		HEX	6E,4E,05	;[09]
		HEX	7E,4A,05	;[0A]
		HEX	8A,47,05	;[0C]
		HEX	95,44,05	;[0D]
		HEX	A2,43,05	;[0E]
		HEX	AE,41,05	;[0F]
		HEX	B9,3F,05	;[10]
		HEX	C0,3E,05	;[11]
		HEX	E0,3E,05	;[12]
;
		HEX	FF	;end code
;
;;;;5-6 END
;
;
;;;;2-1
;;NOM;;ATSCRL_0_DT_8   EQU     $
;;NOM;;			      X	 Y  Speed
;;NOM;;		       HEX     00,70,02	       ;[01]
;;NOM;;		       HEX     00,60,02	       ;[02]
;;NOM;;		       HEX     00,50,03	       ;[03]
;;NOM;;		       HEX     00,4A,04	       ;[04]
;;NOM;;		       HEX     FE      ;auto scroll clear
;
ATSCRL_0_DT_8	EQU	$
;			X  Y  Speed
		HEX	02,20,02	;[01]
		HEX	02,19,03	;[02]
		HEX	FE	;auto scroll clear
;
;;;;2-1 END
;
;
;
;
;;;;6-8 katiboss
ATSCRL_0_DT_9	EQU	$
;			X  Y  Speed
		HEX	CB,5A,06	;[01]
		HEX	C0,5D,08	;[01']
		HEX	B0,5F,08	;[02]
		HEX	AA,5D,08	;[03]
		HEX	A6,5F,08	;[03]
		HEX	98,6C,08	;[04]
		HEX	88,6E,08	;[05]
		HEX	80,67,06	;[06]
		HEX	79,60,08	;[07]
;
		HEX	6B,60,08	;[08]
		HEX	4B,5A,08	;[09]
		HEX	40,5D,08	;[09']
		HEX	30,5F,08	;[0A]
		HEX	2A,5D,08	;[0A]
		HEX	26,5F,08	;[0B]
		HEX	18,6C,08	;[0C]
		HEX	08,6E,08	;[0D]
		HEX	00,67,08	;[0E]
		HEX	FE	;auto scroll clear
;;;;6-8 END
;
;
;
;;;;extra course
ATSCRL_0_DT_A	EQU	$
;			X  Y  Speed
		HEX	20,6F,08	;[00]
		HEX	80,6F,08	;[01]
		HEX	D8,6F,08	;[02]
;
		HEX	FF	;end code
;
;;;;extra course END
ATSCRL_0_DT_B	EQU	$
;			X  Y  Speed
		HEX	0C,70,08	;[00]
		HEX	14,6E,08	;[01]
		HEX	1E,70,08	;[02]
		HEX	2A,6A,08	;[03]
		HEX	2E,6A,08	;[04]
		HEX	3B,70,08	;[05]
		HEX	53,70,0A	;[06]
		HEX	71,70,0A	;[07]
		HEX	8F,70,08	;[08]
		HEX	98,67,04	;[09]
		HEX	8F,5B,06	;[0A]
		HEX	90,2E,03	;[0C]
		HEX	94,2C,08	;[0D]
		HEX	9D,2C,08	;[0E]
		HEX	A6,2C,08	;[0F]
		HEX	AD,2F,0A	;[10]
		HEX	B6,36,08	;[11]
		HEX	CA,36,08	;[12]
		HEX	D4,3A,04	;[13]
		HEX	E2,43,08	;[14]
		HEX	F0,3F,08	;[15]
		HEX	FF	;end code
;
;;ATSCRL_0_DT_C EQU	$
;;		HEX	FF	;end code
;
;;		HEX	FE	;auto scroll clear
;
;
;
;
;
;
;
;
;
;
;
ATSCRL_0_IN	EQU	$
		LDA	ATSCRL_FLAG
		BEQ	ATSCRL_0_IN_010 ;オートスクロール”ＯＮ”？ ( yes:ATSCRL_0_IN_010 )
		JMP	ESCLEAR_NORETN
;
ATSCRL_0_IN_010 EQU	$
		LDA	ESMODE,Y
		STA	ATSCRL_FLAG	;オートスクロール”ＯＮ”
		STA	ATSCRL_H
		CMP	#AT_0A-ENEND+1
		BEQ	ATSCRL_0_IN_020 ;Ｈのみオートスクロール？ ( yes:ATSCRL_0_IN_020 )
		CMP	#AT_00-ENEND+1
		BEQ	ATSCRL_0_IN_020 ;Ｈのみオートスクロール？ ( yes:ATSCRL_0_IN_020 )
;
		STA	ATSCRL_V
ATSCRL_0_IN_020 EQU	$
		SEC
		SBC	#(AT_00-ENEND)+1
		ASL	A
		TAX
		LDA	!ATSCRL_0_ADRS,X
		STA	ATSCRL_WRK0	;オートスクロールデータポインターセット
		JSR	ESCLEAR_NORETN
;
		LDA	ESCCH1-1	;スタートスクロールカウンターセット
		AND	#0FF00H
		STA	ATSCRL_SCCH1L
		LDA	ESCCH1+1
		AND	#00FFH
		STA	ATSCRL_SCCH1H
		LDA	ESCCV1-1
		AND	#0FF00H
		STA	ATSCRL_SCCV1L
		LDA	ESCCV1+1
		AND	#00FFH
		STA	ATSCRL_SCCV1H
;
		STZ	ATSCRL_XSPD	;オートスクロールスピードリセット
		STZ	ATSCRL_YSPD
;
		LDX	ATSCRL_WRK0	;(X) <-- オートスクロールデータポインター
ATSCRL_0_R	EQU	$
		LDA	!ATSCRL_0_DT,X
		AND	#00FFH
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		STA	ATSCRL_WRK1	;目標Ｘ座標
		SEC
		SBC	ATSCRL_SCCH1
		STA	ATSCRL_WRK4	;目標Ｘ方向
;
		LDA	!ATSCRL_0_DT+1,X
		AND	#00FFH
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		CLC
		ADC	#1CH
		STA	ATSCRL_WRK2	;目標Ｙ座標
		SEC
		SBC	ATSCRL_SCCV1
		STA	ATSCRL_WRK5	;目標Ｙ方向
;
		LDA	!ATSCRL_0_DT+2-1,X
		AND	#0FF00H
		BPL	ATSCRL_0_R_010
		ORA	#00FFH
ATSCRL_0_R_010	EQU	$
		XBA
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		STA	ATSCRL_WRK3	;サーチスピード
		RTS
;
;************************************************************************
;*		オートスクロール（）処理				*
;************************************************************************
ATSCRL_0_MV	EQU	$
		LDA	ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BNE	ATSCRL_0_MV_040 ;ＳＴＯＰ？ ( yes:ATSCRL_0_MV_040 )
;
		JSR	ATSCRL_SPST	;オートスクロールセット
;
		LDA	ATSCRL_SCCH1
		SEC
		SBC	ATSCRL_WRK1
		BEQ	ATSCRL_0_MV_010 ;次のデータへ？ ( yes:ATSCRL_0_MV_010 )
		EOR	ATSCRL_WRK4
		BMI	ATSCRL_0_MV_010 ;		 ”
;
		LDA	ATSCRL_WRK1
		STA	ATSCRL_SCCH1
ATSCRL_0_MV_010 EQU	$
		STA	WORK		;(WK0,1) <-- 次のデータへ行くかフラグ
;
		LDA	ATSCRL_SCCV1
		SEC
		SBC	ATSCRL_WRK2
		BEQ	ATSCRL_0_MV_020 ;次のデータへ？ ( yes:ATSCRL_0_MV_020 )
		EOR	ATSCRL_WRK5
		BMI	ATSCRL_0_MV_020 ;		 ”
;
		LDA	ATSCRL_WRK2
		STA	ATSCRL_SCCV1
ATSCRL_0_MV_020 EQU	$
		ORA	WORK
		BMI	ATSCRL_0_MV_040 ;次のデータへ行くか？ ( no:ATSCRL_0_MV_040 )
;
;-------------- 次のデータ読み込み --------------------------------------
		LDX	ATSCRL_WRK0
		LDA	!ATSCRL_0_DT+3,X
		AND	#00FFH
		CMP	#00FEH
		BCS	ATSCRL_0_MV_030 ;データＥＮＤ？ ( yes:ATSCRL_0_MV_030 )
;
		INX
		INX
		INX
		STX	ATSCRL_WRK0
		JMP	ATSCRL_0_R	;データ読み込み
;
;-------------- データＥＮＤ --------------------------------------------
ATSCRL_0_MV_030 EQU	$
		BNE	ATSCRL_0_MV_032 ;オートスクロール解除？ ( no:ATSCRL_0_MV_032 )
;
		STZ	ATSCRL_H
		STZ	ATSCRL_V
ATSCRL_0_MV_032 EQU	$
		STZ	ATSCRL_FLAG	;オートスクロール”ＯＦＦ”
		STZ	ATSCRL_XSPD	;スクロールスピードクリアー
		STZ	ATSCRL_YSPD
;
ATSCRL_0_MV_040 EQU	$
		RTS
;
;------------------------------------------------------------------------
;-		オートスクロールスピード計算				-
;------------------------------------------------------------------------
ATSCR_SP_ADD	EQU	$
		WORD	0FFFFH,00001H
;
ATSCRL_SPST	EQU	$
		LDA	ATSCRL_WRK1
		STA	R1		;(R1) <-- 目標Ｘ座標
		LDA	ATSCRL_WRK2
		STA	R2		;(R2) <-- 目標Ｙ座標
		LDA	ATSCRL_SCCH1
		STA	R3		;(R3) <-- 現在Ｘ座標
		LDA	ATSCRL_SCCV1
		STA	R4		;(R4) <-- 現在Ｙ座標
		LDA	ATSCRL_WRK3
		STA	R6		;(R6) <-- サーチスピード
;
		I8
;
		M_CHIP	SEARCH_SPEED
;
		LDX	#0
		LDA	ATSCRL_XSPD
		CMP	R1
		BEQ	ATSCRL_SPST_020
		BPL	ATSCRL_SPST_010
		LDX	#2
ATSCRL_SPST_010 EQU	$
		CLC
		ADC	!ATSCR_SP_ADD,X
		STA	ATSCRL_XSPD	;オートスクロールＸスピードセット
;
ATSCRL_SPST_020 EQU	$
		LDX	#0
		LDA	ATSCRL_YSPD
		CMP	R2
		BEQ	ATSCRL_SPST_040
		BPL	ATSCRL_SPST_030
		LDX	#2
ATSCRL_SPST_030 EQU	$
		CLC
		ADC	!ATSCR_SP_ADD,X
		STA	ATSCRL_YSPD	;オートスクロールＹスピードセット
;
ATSCRL_SPST_040 EQU	$
;
		I16
;
;------------------------------------------------------------------------
;-		オートスクロールカウンター計算				-
;------------------------------------------------------------------------
ATSCRL_XYCL	EQU	$
		LDX	#00
		LDA	ATSCRL_XSPD
		BPL	ATSCRL_XYCL_010
		DEX			;[ LDX #0FFFFH ]
ATSCRL_XYCL_010 EQU	$
		CLC
		ADC	ATSCRL_SCCH1L
		STA	ATSCRL_SCCH1L
		TXA
		ADC	ATSCRL_SCCH1H
		STA	ATSCRL_SCCH1H
;
		LDX	#00
		LDA	ATSCRL_YSPD
		BPL	ATSCRL_XYCL_020
		DEX			;[ LDX #0FFFFH ]
ATSCRL_XYCL_020 EQU	$
		CLC
		ADC	ATSCRL_SCCV1L
		STA	ATSCRL_SCCV1L
		TXA
		ADC	ATSCRL_SCCV1H
		STA	ATSCRL_SCCV1H
		RTS
;
;************************************************************************
;*		オートスクロールカウンター計算（外部呼出し）		*
;************************************************************************
ATSCRL_XYCL_L	EQU	$
		JSR	ATSCRL_XYCL
		RTL
;
;
;************************************************************************
;*		つむじ風のわきだしスタート初期セット			*
;************************************************************************
TUMUJ_ST_IN	EQU	$
		LDA	TUMJ_ST_FG
		BEQ	TUMUJ_ST_IN_010 ;すでにセット中？ ( yes:TUMUJ_ST_IN_010 )
		JMP	ESCLEAR
;
TUMUJ_ST_IN_010 EQU	$
		INC	TUMJ_ST_FG	;つむじ風のわきだしフラグ”ＯＮ”
		RTS
;
;************************************************************************
;*		つむじ風のわきだし処理					*
;************************************************************************
TUMUJ_ST_XP	EQU	$
		WORD	00110H,0FFE0H
TUMUJ_ST_XS	EQU	$
		WORD	0FE00H,00200H
		WORD	0FD00H,00300H
TUMUJ_ST_XPOW	EQU	$
;		WORD	00010H,00018H
		WORD	00004H,00006H
;
TUMUJ_ST_MV	EQU	$
		LDA	TUMJ_ST_FG
		BNE	TUMUJ_ST_MV_000 ;つむじ風のわきだしＥＮＤ？ ( no:TUMUJ_ST_MV_000 )
		JMP	ESCLEAR
;
TUMUJ_ST_MV_000 EQU	$
		LDA	ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BNE	TUMUJ_ST_MV_020 ;ＳＴＯＰ？ ( yes:TUMUJ_ST_MV_020 )
;
		LDA	TUMUJ_TIMER	;つむじ風セット？
		BNE	TUMUJ_ST_MV_020 ;  no: TUMUJ_ST_MV_020

		LDA	#00030H
		STA	TUMUJ_TIMER
;
		I8
;
		PHY			;(Y) save
;
		LDA	#TUMUJ		;(A) <-- 敵Ｎｏ．
		JSL	>ENINSR		;敵エリア確保
		BCC	TUMUJ_ST_MV_010 ;      ”    ？ ( no:TUMUJ_ST_MV_010 )
;
		LDA	<RANDM0
		AND	#0FH<<1
		ASL	A
		ASL	A
		ASL	A
		CLC
		ADC	SCCV1
		SEC
		SBC	#(0F0H-0B9H)/2
		STA	ENYPSL,Y
		LDA	<RANDM0
		AND	#01H
		ASL	A
		STA	ENMUKI,Y
		STA	<EWORK0
		TAX
		LDA	SCCH1
		CLC
		ADC	!TUMUJ_ST_XP,X
		STA	ENXPSL,Y
		LDA	<RANDM0
		AND	#00002
		STA	ENWRK4,Y
		TAX
		LDA	!TUMUJ_ST_XPOW,X
		STA	ENXPOW,Y
		TXA
		ASL	A
		CLC
		ADC	<EWORK0
		TAX
		LDA	!TUMUJ_ST_XS,X
		STA	ENXMAX,Y
;
TUMUJ_ST_MV_010 EQU	$
		PLY
;
		I16
;
TUMUJ_ST_MV_020 EQU	$
		RTS
;
;************************************************************************
;*		つむじ風のわきだしＥＮＤ初期セット			*
;************************************************************************
TUMUJ_EN_IN	EQU	$
		STZ	TUMJ_ST_FG	;つむじ風のわきだしフラグ”ＯＦＦ”
		JMP	ESCLEAR
;
;************************************************************************
;*		ジュゲムのわきだしＥＮＤ初期セット			*
;************************************************************************
JUGEM_EN_IN	EQU	$
		STZ	JUGM_ST_FG	;ジュゲムのわきだしフラグ”ＯＦＦ”
		JMP	ESCLEAR
;
;************************************************************************
;*		わたぼーのわきだしＥＮＤ初期セット			*
;************************************************************************
WATAB_EN_IN	EQU	$
		STZ	WATB_ST_FG	;わたぼーのわきだしフラグ”ＯＦＦ”
		JMP	ESCLEAR
;
;************************************************************************
;*		ぽちのわきだしＥＮＤ初期セット				*
;************************************************************************
POCHI_EN_IN	EQU	$
		STZ	POCI_ST_FG	;ぽちのわきだしフラグ”ＯＦＦ”
		JMP	ESCLEAR
;
;************************************************************************
;*		こうもりのわきだしスタート初期セット			*
;************************************************************************
KOMOR_ST_IN	EQU	$
KOMR2_ST_IN	EQU	$
		LDA	KOMR_ST_FG
		BEQ	KOMOR_ST_IN_010		;すでにセット中？ ( no:KOMOR_ST_IN_010 )
		JMP	ESCLEAR
;
KOMOR_ST_IN_010 EQU	$
		INC	KOMR_ST_FG		;こうもりのわきだしフラグ”ＯＮ”
		RTS
;
;************************************************************************
;*		こうもりのわきだし処理					*
;************************************************************************
KOMOR_ST_XP	EQU	$
		WORD	00110H,0FFE0H
;
KOMOR_ST_MV	EQU	$
		LDA	KOMR_ST_FG
		BNE	KOMOR_ST_MV_000		;こうもりのわきだしＥＮＤ？ ( no:KOMOR_ST_MV_000 )
		JMP	ESCLEAR
;
KOMOR_ST_MV_000 EQU	$
		LDA	ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BNE	KOMOR_ST_MV_020		;ＳＴＯＰ？ ( yes:KOMOR_ST_MV_020 )
;
		LDA	KOMOR_TIMER		;こうもりセット？
		BNE	KOMOR_ST_MV_020		;  no: KOMOR_ST_MV_020
;
		LDA	KOMOR_COUNT
		CMP	#0003
		BCS	KOMOR_ST_MV_020		; こうもりセット ? [no->KOMOR_ST_MV_020]
;
		LDA	#00030H
		STA	KOMOR_TIMER
;
		I8
;
		PHY				;(Y) save
;
		LDA	#KOMO1			;(A) <-- 敵Ｎｏ．
		JSL	>ENINSR			;敵エリア確保
		BCC	KOMOR_ST_MV_010		;      ”    ？ ( no:KOMOR_ST_MV_010 )
;
		INC	!KOMOR_COUNT
;
		LDA	<RANDM0
		AND	#0000EH
		ASL	A
		ASL	A
		ASL	A
		CLC
		ADC	!SCCV1
		CLC
		ADC	#00030H
		STA	!ENYPSL,Y
		LDA	!SCHMK1
		STA	!ENMUKI,Y
		TAX
		LDA	SCCH1
		CLC
		ADC	!KOMOR_ST_XP,X
		STA	ENXPSL,Y
;
		PHB
		LDX	#BANK KOMO1IN
		PHX
		PLB
		TYX
		JSL	>KOMO1IN		; こうもりイニシャル !!
;
		PLB
		INC	!ENWRK6,X
KOMOR_ST_MV_010 EQU	$
		PLY
;
		I16
;
KOMOR_ST_MV_020 EQU	$
		RTS
;
KOMR2_ST_MV	EQU	$
		LDA	KOMR_ST_FG
		BNE	KOMR2_ST_MV_000		;こうもりのわきだしＥＮＤ？ ( no:KOMR2_ST_MV_000 )
		JMP	ESCLEAR
;
KOMR2_ST_MV_000 EQU	$
		LDA	ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BNE	KOMOR_ST_MV_020		;ＳＴＯＰ？ ( yes:KOMOR_ST_MV_020 )
;
		LDA	KOMOR_TIMER		;こうもりセット？
		BNE	KOMOR_ST_MV_020		;  no: KOMOR_ST_MV_020
;
		LDA	#03
		STA	<EWORK
;
		LDA	!MAPOINT
		CMP	#((2-1)*12)+(4-1)
		BNE	KOMR2_ST_MV_008		; ２ｗ−４？ [no->KOMR2_ST_MV_008]
;
		I8				; index 8bit mode !!
;
		M_CHIP	EGGSEARCH
		LDX	<ENINDX
;
		I16				; index 16bit mode !!
;
		LDA	R6
		CMP	#03
		BCC	KOMR2_ST_MV_008		; [->KOMR2_ST_MV_008]
;
		DEC	<EWORK
		CMP	#05
		BCC	KOMR2_ST_MV_008		; [->KOMR2_ST_MV_008]
;
		DEC	<EWORK
KOMR2_ST_MV_008 EQU	$
;
		LDA	KOMOR_COUNT
		CMP	<EWORK
;[1995.05.25.TH]		CMP	#0003
		BCS	KOMR2_ST_MV_020		; こうもりセット ? [no->KOMR2_ST_MV_020]
;
		LDA	#00030H
		STA	KOMOR_TIMER
;
		I8
;
		PHY				;(Y) save
;
		LDA	#KOMO1			;(A) <-- 敵Ｎｏ．
		JSL	>ENINSR			;敵エリア確保
		BCC	KOMR2_ST_MV_010		;      ”    ？ ( no:KOMR2_ST_MV_010 )
;
		INC	!KOMOR_COUNT
;
		LDA	<RANDM0
		AND	#0000EH
		ASL	A
		ASL	A
		ASL	A
		CLC
		ADC	!SCCV1
		CLC
		ADC	#00030H
		STA	!ENYPSL,Y
		LDA	<RANDM0
		AND	#00001H
		ASL	A
		STA	!ENMUKI,Y
		TAX
		LDA	SCCH1
		CLC
		ADC	!KOMOR_ST_XP,X
		STA	ENXPSL,Y
;
		PHB
		LDX	#BANK KOMO1IN
		PHX
		PLB
		TYX
		JSL	>KOMO1IN		; こうもりイニシャル !!
;
		PLB
		INC	!ENWRK6,X
KOMR2_ST_MV_010 EQU	$
		PLY
;
		I16
;
KOMR2_ST_MV_020 EQU	$
		RTS
;
;************************************************************************
;*		こうもりのわきだしＥＮＤ初期セット			*
;************************************************************************
KOMOR_EN_IN	EQU	$
KOMR2_EN_IN	EQU	$
		STZ	KOMR_ST_FG		;こうもりのわきだしフラグ”ＯＦＦ”
		JMP	ESCLEAR
;
;
;************************************************************************
;*	穴ジュゲムのわきだし初期セット					*
;************************************************************************
AJGM0_ST_IN	EQU	$
		LDA	!AJGM_ST_FG
		BEQ	AJGM0_ST_IN_010		; セットフラグオン ? [no->AJGM0_ST_IN_010]
;
		JMP	ESCLEAR
;
AJGM0_ST_IN_010 EQU	$
		INC	!AJGM_ST_FG		; フラグセット !!
		RTS
;
;
;************************************************************************
;*	穴ジュゲムのわきだし処理					*
;************************************************************************
AJGM0_ST_XP	EQU	$
		WORD	00020H, 00030H, 00050H, 00060H
		WORD	00090H, 00090H, 000C0H, 000D0H
;
AJGM0_ST_YP	EQU	$
		WORD	00030H, 00060H, 00020H, 00050H
		WORD	00040H, 00070H, 00060H, 00030H
;
AJGM0_ST_MV	EQU	$
		LDA	!ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BNE	AJGM0_ST_MV_0F0		; ストップ ? [yes->AJGM0_ST_MV_0F0]
;
		LDA	!AJGM0_TIMER
		BNE	AJGM0_ST_MV_0F0		; 穴ジュゲムセット ? [no->AJGM0_ST_MV_0F0]
;
		LDA	!AJGM0_COUNT
		CMP	#0001
		BCS	AJGM0_ST_MV_0F0		; 穴ジュゲム MAX ? [yes->AJGM0_ST_MV_0F0]
;
		PHY
;
		I8				; index 8bit mode !!
;
		LDA	<RANDM0
		AND	#00007H
		ASL	A
		TAY
		LDA	!SCCH1
		AND	#0FF00H
		CLC
		ADC	AJGM0_ST_XP,Y
		CMP	!SCCH1
		BPL	AJGM0_ST_MV_040		; 画面外 ? [no->AJGM0_ST_MV_040]
;
		CLC
		ADC	#00100H
AJGM0_ST_MV_040 EQU	$
		STA	<EWORK			; X ポジションセーブ !!
		STA	R8
		LDA	!SCCV1
		AND	#0FF00H
		CLC
		ADC	AJGM0_ST_YP,Y
		CMP	!SCCV1
		BPL	AJGM0_ST_MV_050		; 画面外 ? [no->AJGM0_ST_MV_050]
;
		CLC
		ADC	#00100H
AJGM0_ST_MV_050 EQU	$
		STA	<EWORK2			; Y ポジションセーブ !!
		STA	R0
		M_CHIPR M_BGUNIT_READ		; ユニットサーチ !!
;
		LDA	R6			; BG unit no. READ
		CMP	#UT0014
		BNE	AJGM0_ST_MV_0E0		; 穴ジュゲムユニット ? [no->AJGM0_ST_MV_0E0]
;
		LDA	#AJGM0
		JSL	>ENINSR
		BCC	AJGM0_ST_MV_0E0		; 敵エリア確保成功 ? [no->AJGM0_ST_MV_0E0]
;
		INC	!AJGM0_COUNT
		JSL	>AJGM0_INIT
;
AJGM0_ST_MV_0E0 EQU	$
;
		I16				; index 16bit mode !!
;
		PLY
AJGM0_ST_MV_0F0 EQU	$
		RTS
;
;
;************************************************************************
;*	穴ジュゲムのわきだし終了セット					*
;************************************************************************
AJGM0_EN_IN	EQU	$
		STZ	!AJGM_ST_FG		; フラグクリア !!
		JMP	ESCLEAR
;
;
;************************************************************************
;*	ばんぶーダンサーズダンスコーチ初期セット			*
;************************************************************************
BAMBO_S0_CHK	EQU	$
		HEX	001,009,011,019
;
BAMBO_S0_IN	EQU	$
		LDA	<EWORK0
		AND	#00001H
		STA	<EWORK0
		LDA	<EWORK2
		AND	#00001H
		ASL	A
		ORA	<EWORK0
		TAX
		LDA	!BAMBO_S0_CHK,X
		AND	#000FFH
		STA	<EWORK0
		CMP	BAMBO_ST_FG		;同じダンス ?
		BNE	BAMBO_S0_IN0100		;  no: BAMBO_S0_IN0100

BAMBO_S0_IN0080 EQU	$
		JMP	ESCLEAR

BAMBO_S0_IN0100 EQU	$
		STA	BAMBO_ST_FG		;フラグセット！！

		LDA	BAMBO_ST_CP		;はじめて ?
		BNE	BAMBO_S0_IN0080		;  no: BAMBO_S0_IN0080

		STZ	BAMBO_TIMER
		STZ	BAMBO_IDX
		INC	BAMBO_ST_CP

		RTS
;
;************************************************************************
;*	ばんぶーダンサーズダンスコーチ処理				*
;************************************************************************
BAMBO_DANCE00	EQU	$
		HEX	04,06,0E,08,0A,08,0C,06
BAMBO_DANCE01	EQU	$
		HEX	0C,0E,10,00,0E,0C,10,02
BAMBO_DANCE02	EQU	$
		HEX	0A,04,0C,06,0A,04,0E,08
BAMBO_DANCE03	EQU	$
		HEX	0E,08,10,00,0E,08,04,00
;
BAMBO_DANCE10	EQU	$
		HEX	0A,08,0C,06,04,06,0E,08
BAMBO_DANCE11	EQU	$
		HEX	0E,0C,10,02,0C,0E,10,00
BAMBO_DANCE12	EQU	$
		HEX	0A,04,0E,08,0A,04,0C,06
BAMBO_DANCE13	EQU	$
		HEX	0E,08,04,00,0E,08,10,00
;
BAMBO_XREVISE0	EQU	$
		HEX	000,0F0,0F0,000,000,010,010,000
		HEX	000,000,000,0E0,0E0,0E0,0E0,000
		HEX	000,000,000,0F0,0F0,0F0,0F0,000
		HEX	000,010,010,0F0,0F0,000,000,0E0
;
BAMBO_XREVISE1	EQU	$
		HEX	000,010,010,000,000,0F0,0F0,000
		HEX	000,000,000,020,020,020,020,000
		HEX	000,000,000,010,010,010,010,000
		HEX	000,010,010,0F0,0F0,000,000,0E0
BAMBO_SOUND	EQU	$
		HEX	68,69
;
BAMBO_S0_MV	EQU	$
		LDA	BAMBO_TIMER	;ダンスチェンジ ?
		DEC	A		;
		BNE	BAMBO_ST_MV0150 ;  no: BAMBO_ST_MV0150

		LDA	ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BEQ	BAMBO_ST_MV0180 ;ＳＴＯＰ？ ( no:BAMBO_ST_MV0180 )

		STA	BAMBO_ST_FLAG

BAMBO_ST_MV0150 EQU	$
		STZ	BAMBO_SOUND_FG
		RTS

BAMBO_ST_MV0180 EQU	$
		LDA	BAMBO_ST_FLAG	;ポーズがかかってた ?
		BEQ	BAMBO_ST_MV0190 ;  no: BAMBO_ST_MV0190

		STZ	BAMBO_ST_FLAG
		RTS

BAMBO_ST_MV0190 EQU	$
		LDA	BAMBO_IDX	;
		INC	A		;
		AND	#00007		;
		STA	BAMBO_IDX	;
;		BIT	#00001
;		BNE	BAMBO_ST_MV0191
;
;		AND	#00002
;		LSR	A
;		PHY
;		TAY
;		LDA	!BAMBO_SOUND,Y
;		TAY
;		TYA
;		JSL	>SOUND_3_ON		;［Ｓ］
;		PLY
;
;BAMBO_ST_MV0191 EQU	$
		LDA	BAMBO_ST_FG
		CLC
		ADC	BAMBO_IDX
		TAX
		LDA	!BAMBO_DANCE00-1,X
		AND	#000FFH
		STA	BAMBO_SEQ0
		LDA	!BAMBO_DANCE10-1,X
		AND	#000FFH
		STA	BAMBO_SEQ1

		PHY
		LDY	BAMBO_SOUND_FG		;ダンサーズいる ?
		BEQ	BAMBO_ST_MV0198		;  no: BAMBO_ST_MV0198

		LDY	#000
		CMP	#00AH
		BEQ	BAMBO_ST_MV0195
		CMP	#002+1
		BMI	BAMBO_ST_MV0195

		INY

BAMBO_ST_MV0195 EQU	$
		LDA	!BAMBO_SOUND,Y
		TAY
		TYA
		JSL	>SOUND_3_ON

BAMBO_ST_MV0198 EQU	$
		PLY

		LDA	!BAMBO_XREVISE0-1,X
		AND	#000FFH
		CMP	#00080H
		BMI	BAMBO_ST_MV0200

		ORA	#0FF00H

BAMBO_ST_MV0200 EQU	$
		STA	BAMBO_XREV00

		LDA	!BAMBO_XREVISE1-1,X
		AND	#000FFH
		CMP	#00080H
		BMI	BAMBO_ST_MV0300

		ORA	#0FF00H

BAMBO_ST_MV0300 EQU	$
		STA	BAMBO_XREV10

		TXA
		DEC	A
		AND	#00007
		TAX

		LDA	!BAMBO_XREVISE0-1,X
		AND	#000FFH
		CMP	#00080H
		BMI	BAMBO_ST_MV0400

		ORA	#0FF00H

BAMBO_ST_MV0400 EQU	$
		STA	BAMBO_XREV01

		LDA	!BAMBO_XREVISE1-1,X
		AND	#000FFH
		CMP	#00080H
		BMI	BAMBO_ST_MV0500

		ORA	#0FF00H

BAMBO_ST_MV0500 EQU	$
		STA	BAMBO_XREV11

		LDX	#002
		STX	BAMBO_QUE

BAMBO_ST_MV0800 EQU	$
		STZ	BAMBO_SOUND_FG

		RTS
;
;************************************************************************
;*	ばんぶーダンサーズダンスコーチ終了セット			*
;************************************************************************
BAMBO_EN_IN	EQU	$
		STZ	BAMBO_ST_FG		;
		STZ	BAMBO_ST_CP
		STZ	BAMBO_QUE
		STZ	BAMBO_SEQ0
		STZ	BAMBO_SEQ1
		STZ	BAMBO_SOUND_FG

		JMP	ESCLEAR
;
;
;************************************************************************
;*	雷ジュゲムのわきだしＥＮＤ初期セット				*
;************************************************************************
THJGM_EN_IN	EQU	$
		STZ	TJGM_ST_FG	; 雷ジュゲムのわきだしフラグ”ＯＦＦ”
		JMP	ESCLEAR
;
;
;****************************************************************
;*	花ちゃん成虫のわきだしスタート初期セット		*
;****************************************************************
MOTH0_ST_IN	EQU	$
		LDA	!MOTH_ST_FG
		BEQ	MOTH0_ST_IN0010		; 既にセット中 ? [no->MOTH0_ST_IN0010]
;
		JMP	ESCLEAR
;
MOTH0_ST_IN0010 EQU	$
		INC	!MOTH_ST_FG		; 花ちゃん成虫のわきだしフラグセット !!
		RTS
;
;
;****************************************************************
;*	花ちゃん成虫のわきだし処理				*
;****************************************************************
MOTH0_ST_MVXPS	EQU	$
		WORD	00120H, 00130H, -00030H, -00040H
;
MOTH0_ST_MVYPS	EQU	$
		WORD	00020H, 00060H, 000A0H, 000E0H
;
MOTH0_ST_MV	EQU	$
		LDA	!MOTH_ST_FG
		BNE	MOTH0_ST_MV0000		; 花ちゃん成虫のわきだし終了 ? [no->MOTH0_ST_MV0000]
;
		JMP	ESCLEAR
;
MOTH0_ST_MV0000 EQU	$
		LDA	!ENSTFG
		ORA	!BIRIBIRI
		ORA	ITEMNO
		BNE	MOTH0_ST_MV00F0		; STOP ? [yes->MOTH0_ST_MV00F0]
;
		LDA	!MOTH0_TIMER
		BNE	MOTH0_ST_MV00F0		; 花ちゃん成虫セット ? [no->MOTH0_ST_MV00F0]
;
		LDA	!MOTH0_COUNT
		CMP	#0004
		BCS	MOTH0_ST_MV00F0		; 花ちゃん成虫セット ? [no->MOTH0_ST_MV00F0]
;
		LDA	#00030H
		STA	!MOTH0_TIMER
;
		I8				; index 8bit mode !!
;
		PHY				; (Y) save !!
;
		LDA	#MOTH0
		JSL	>ENINSR
		BCC	MOTH0_ST_MV00E0		; 敵エリア確保失敗 ? [yes->MOTH0_ST_MV00E0]
;
		INC	!MOTH0_COUNT		; 花ちゃん成虫のわきだしカウンター !!
;
		LDA	!SCHMK1
		STA	!ENMUKI,Y
		ASL	A
		STA	<EWORK
		LDA	<RANDM0
		AND	#00001H
		ASL	A
		ORA	<EWORK
		TAX
		LDA	!SCCH1
		CLC
		ADC	MOTH0_ST_MVXPS,X
		STA	!ENXPSL,Y
		LDA	<RANDM0
		AND	#00003H
		ASL	A
		TAX
		LDA	!SCCV1
		CLC
		ADC	MOTH0_ST_MVYPS,X
		STA	!ENYPSL,Y
		PHB
		LDX	#BANK MOTH0IN
		PHX
		PLB				; DBR Set !!
		TYX
		JSL	>MOTH0IN		; 花ちゃん成虫イニシャル !!
;
		PLB				; DBR Reset !!
;
		LDA	!ENMOD2,X
		AND	#1111111111110011B
		STA	!ENMOD2,X		; 範囲外クリアＯＦＦ !!
		LDA	#0001
		STA	!ENWRK6,X		; 花ちゃん成虫わきだしフラグセット !!
MOTH0_ST_MV00E0 EQU	$
		PLY				; (Y) load !!
;
		I16				; index 16bit mode !!
;
MOTH0_ST_MV00F0 EQU	$
		RTS
;
;
;****************************************************************
;*	花ちゃん成虫のわきだし終了初期セット			*
;****************************************************************
MOTH0_EN_IN	EQU	$
		STZ	!MOTH_ST_FG		; 花ちゃん成虫のわきだしフラグクリア !!
		JMP	ESCLEAR
;
;
;****************************************************************
;*	プチパックンのわきだしスタート初期セット		*
;****************************************************************
P_KUN_ST_IN	EQU	$
		LDA	!PKUN_ST_FG
		BEQ	P_KUN_ST_IN0010		; 既にセット中 ? [no->P_KUN_ST_IN0010]
;
		JMP	ESCLEAR
;
P_KUN_ST_IN0010 EQU	$
		INC	!PKUN_ST_FG		; プチパックンのわきだしフラグセット !!
		RTS
;
;
;****************************************************************
;*	プチパックンのわきだし処理				*
;****************************************************************
P_KUN_ST_MVXPS	EQU	$
		WORD	 00000H,  00010H,  00020H,  00030H
		WORD	 00040H,  00050H,  00060H,  00070H
		WORD	 00080H,  00090H,  000A0H,  000B0H
		WORD	 000C0H,  000D0H,  000E0H,  000F0H
;
P_KUN_ST_MVYPS	EQU	$
		WORD	-00010H, -00020H, -00030H, -00040H
;
P_KUN_ST_MV	EQU	$
		LDA	!PKUN_ST_FG
		BNE	P_KUN_ST_MV0000		; プチパックンのわきだし終了 ? [no->P_KUN_ST_MV0000]
;
		JMP	ESCLEAR
;
P_KUN_ST_MV0000 EQU	$
		LDA	!ENSTFG
		ORA	!BIRIBIRI
		ORA	ITEMNO
		BNE	P_KUN_ST_MV00F0		; STOP ? [yes->P_KUN_ST_MV00F0]
;
		LDA	!P_KUN_TIMER
		BNE	P_KUN_ST_MV00F0		; プチパックンセット ? [no->P_KUN_ST_MV00F0]
;
		I8				; index 8bit mode !!
;
		PHY				; (Y) save !!
;
		LDA	#P_KUN
		STA	R4
		LDA	#P_KUN+1
		STA	R5
		M_CHIP	TARGET_COUNTER
;
		LDA	R6
		CMP	#0004
		BCS	P_KUN_ST_MV00E0		; プチパックンセット ? [no->P_KUN_ST_MV00E0]
;
		LDA	#0032
		STA	!P_KUN_TIMER
		LDA	#P_KUN
		JSL	>ENINSR
		BCC	P_KUN_ST_MV00E0		; 敵エリア確保失敗 ? [yes->P_KUN_ST_MV00E0]
;
		LDA	<RANDM0
		AND	#0000FH
		ASL	A
		TAX
		LDA	!SCCH1
		CLC
		ADC	P_KUN_ST_MVXPS,X
		STA	!ENXPSL,Y
		LDA	<RANDM0
		AND	#00003H
		ASL	A
		TAX
		LDA	!SCCV1
		CLC
		ADC	P_KUN_ST_MVYPS,X
		STA	!ENYPSL,Y
		PHB
		LDX	#BANK P_KUNIN
		PHX
		PLB				; DBR Set !!
		TYX
		JSL	>P_KUNIN		; プチパックンイニシャル !!
;
		PLB				; DBR Reset !!
;
P_KUN_ST_MV00E0 EQU	$
;
		PLY				; (Y) load !!
;
		I16				; index 16bit mode !!
;
P_KUN_ST_MV00F0 EQU	$
		RTS
;
;
;****************************************************************
;*	プチパックンのわきだし終了初期セット			*
;****************************************************************
P_KUN_EN_IN	EQU	$
		STZ	!PKUN_ST_FG		; プチパックンのわきだしフラグクリア !!
		JMP	ESCLEAR
;
;
;****************************************************************
;*	風船サボテンのわきだしスタート初期セット		*
;****************************************************************
FUSBO_ST_IN	EQU	$
		LDA	!FSBO_ST_FG
		BEQ	FUSBO_ST_IN0010		; 既にセット中 ? [no->FUSBO_ST_IN0010]
;
		JMP	ESCLEAR
;
FUSBO_ST_IN0010 EQU	$
		INC	!FSBO_ST_FG		; 風船サボテンのわきだしフラグセット !!
		RTS
;
;
;****************************************************************
;*	風船サボテンのわきだし処理				*
;****************************************************************
FUSBO_ST_MVXPS	EQU	$
		WORD	 00110H,  00120H, -00020H, -00030H
;
FUSBO_ST_MVYPS	EQU	$
		WORD	 00010H,  00020H,  00030H,  00040H
;
FUSBO_ST_MV	EQU	$
		JSL	>RANDAM
;
		LDA	!FSBO_ST_FG
		BNE	FUSBO_ST_MV0000		; 風船サボテンのわきだし終了 ? [no->FUSBO_ST_MV0000]
;
		JMP	ESCLEAR
;
FUSBO_ST_MV0000 EQU	$
		LDA	!ENSTFG
		ORA	!BIRIBIRI
		ORA	ITEMNO
		BNE	FUSBO_ST_MV0020		; STOP ? [yes->FUSBO_ST_MV0020]
;
		LDA	!FUSBO_TIMER
		BEQ	FUSBO_ST_MV0040		; 風船サボテンセット ? [yes->FUSBO_ST_MV0040]
;
FUSBO_ST_MV0020 EQU	$
		RTS
;;;;;;;;		BNE	FUSBO_ST_MV00F0		; 風船サボテンセット ? [no->FUSBO_ST_MV00F0]
;
FUSBO_ST_MV0040 EQU	$
;
		I8				; index 8bit mode !!
;
		PHY				; (Y) save !!
;
		LDA	#FUSN1
		STA	R4
		LDA	#FUSN1+1
		STA	R5
		M_CHIP	TARGET_COUNTER
;
		LDA	R6
		PHA
;
		LDA	#BALON
		STA	R4
		LDA	#BALON+1
		STA	R5
		M_CHIP	TARGET_COUNTER
;
		PLA
		CLC
		ADC	R6
		CMP	#0004
		BCS	FUSBO_ST_MV00E0		; 風船サボテンセット ? [no->FUSBO_ST_MV00E0]
;
		LDA	<RANDM0
		AND	#00004H
		LSR	A
		STA	<EWORK
		LDA	!SCHMK1
		STA	!ENMUKI,X
		ASL	A
		ORA	<EWORK
		TAY
		LDA	!SCCH1
		CLC
		ADC	FUSBO_ST_MVXPS,Y
		STA	<EWORK
		STA	R8
		LDA	<RANDM0
		AND	#00003H
		ASL	A
		TAY
		LDA	!SCCV1
		CLC
		ADC	FUSBO_ST_MVYPS,Y
		STA	<EWORK2
		STA	R0
		M_CHIPR M_BGUNIT_READ
;
		LDA	R7
		BIT	#AL
		BNE	FUSBO_ST_MV00E0		; 全当たり ? [yes->FUSBO_ST_MV00E0]
;
		LDA	#000C0H
		STA	!FUSBO_TIMER
		LDA	#FUSN1
		JSL	>ENINSR
		BCC	FUSBO_ST_MV00E0		; 敵エリア確保失敗 ? [yes->FUSBO_ST_MV00E0]
;
		TYX
		LDA	<EWORK
		STA	!ENXPSL,X
;
		LDA	<EWORK2
		STA	!ENYPSL,X
;
		PHB
		LDY	#BANK FUSN1IN
		PHY
		PLB				; DBR Set !!
		JSL	>FUSN1IN		; 風船サボテンイニシャル !!
;
		PLB				; DBR Reset !!
;
FUSBO_ST_MV00E0 EQU	$
;
		PLY				; (Y) load !!
;
		I16				; index 16bit mode !!
;
FUSBO_ST_MV00F0 EQU	$
		RTS
;
;
;****************************************************************
;*	風船サボテンのわきだし終了初期セット			*
;****************************************************************
FUSBO_EN_IN	EQU	$
		STZ	!FSBO_ST_FG		; 風船サボテンのわきだしフラグクリア !!
		JMP	ESCLEAR
;
;
;****************************************************************
;*	風船爆弾のわきだしスタート初期セット			*
;****************************************************************
FUBOM_ST_IN	EQU	$
		LDA	!FBOM_ST_FG
		BEQ	FUBOM_ST_IN0010		; 既にセット中 ? [no->FUBOM_ST_IN0010]
;
		JMP	ESCLEAR
;
FUBOM_ST_IN0010 EQU	$
		INC	!FBOM_ST_FG		; 風船爆弾のわきだしフラグセット !!
		RTS
;
;
;****************************************************************
;*	風船爆弾のわきだし処理					*
;****************************************************************
FUBOM_ST_MV	EQU	$
		JSL	>RANDAM
;
		LDA	!FBOM_ST_FG
		BNE	FUBOM_ST_MV0000		; 風船爆弾のわきだし終了 ? [no->FUBOM_ST_MV0000]
;
		JMP	ESCLEAR
;
FUBOM_ST_MV0000 EQU	$
		LDA	!ENSTFG
		ORA	!BIRIBIRI
		ORA	ITEMNO
		BNE	FUBOM_ST_MV0020		; STOP ? [yes->FUBOM_ST_MV0020]

		LDA	!FUBOM_TIMER
		BEQ	FUBOM_ST_MV0040		; 風船爆弾セット ? [yes->FUBOM_ST_MV0040]
;
FUBOM_ST_MV0020 EQU	$
		RTS
;;;;;;;;		BNE	FUBOM_ST_MV00F0		; 風船爆弾セット ? [no->FUBOM_ST_MV00F0]
;
FUBOM_ST_MV0040 EQU	$
;
		I8				; index 8bit mode !!
;
		PHY				; (Y) save !!
;
		LDA	#FUSN2
		STA	R4
		LDA	#FUSN2+1
		STA	R5
		M_CHIP	TARGET_COUNTER
;
		LDA	R6
		PHA
;
		LDA	#BALON
		STA	R4
		LDA	#BALON+1
		STA	R5
		M_CHIP	TARGET_COUNTER
;
		PLA
		CLC
		ADC	R6
		CMP	#0004
		BCS	FUBOM_ST_MV00E0		; 風船爆弾セット ? [no->FUBOM_ST_MV00E0]
;
		LDA	<RANDM0
		AND	#00004H
		LSR	A
		STA	<EWORK
		LDA	!SCHMK1
		STA	!ENMUKI,X
		ASL	A
		ORA	<EWORK
		TAY
		LDA	!SCCH1
		CLC
		ADC	FUSBO_ST_MVXPS,Y
		STA	<EWORK
;[1994.10.31.MO]		STA	R8
		LDA	<RANDM0
		AND	#00003H
		ASL	A
		TAY
		LDA	!SCCV1
		CLC
		ADC	FUSBO_ST_MVYPS,Y
		STA	<EWORK2
;[1994.10.31.MO]		STA	R0
;[1994.10.31.MO]		M_CHIPR M_BGUNIT_READ
;[1994.10.31.MO];
;[1994.10.31.MO]		LDA	R7
;[1994.10.31.MO]		BIT	#AL
;[1994.10.31.MO]		BNE	FUBOM_ST_MV00E0		; 全当たり ? [yes->FUBOM_ST_MV00E0]
;
		LDA	#000C0H
		STA	!FUBOM_TIMER
		LDA	#FUSN2
		JSL	>ENINSR
		BCC	FUBOM_ST_MV00E0		; 敵エリア確保失敗 ? [yes->FUBOM_ST_MV00E0]
;
		TYX
		LDA	<EWORK
		STA	!ENXPSL,X
;
		LDA	<EWORK2
		STA	!ENYPSL,X
;
		PHB
		LDY	#BANK FUSN2IN
		PHY
		PLB				; DBR Set !!
		JSL	>FUSN2IN		; 風船爆弾イニシャル !!
;
		PLB				; DBR Reset !!
;
FUBOM_ST_MV00E0 EQU	$
;
		PLY				; (Y) load !!
;
		I16				; index 16bit mode !!
;
FUBOM_ST_MV00F0 EQU	$
		RTS
;
;
;****************************************************************
;*	風船爆弾のわきだし終了初期セット			*
;****************************************************************
FUBOM_EN_IN	EQU	$
		STZ	!FBOM_ST_FG		; 風船爆弾のわきだしフラグクリア !!
		JMP	ESCLEAR
;
;************************************************************************
;*		風船リフトのわきだしスタート初期セット			*
;************************************************************************
FUSEN_ST_IN	EQU	$
		LDA	FUSN_ST_FG
		BEQ	FUSEN_ST_IN_010 ;すでにセット中？ ( yes:FUSEN_ST_IN_010 )
		JMP	ESCLEAR
;
FUSEN_ST_IN_010 EQU	$
		INC	FUSN_ST_FG	;風船リフトのわきだしフラグ”ＯＮ”
		RTS
;
;************************************************************************
;*		風船リフトのわきだし処理				*
;************************************************************************
FUSEN_ST_MV	EQU	$
		LDA	FUSN_ST_FG
		BNE	FUSEN_ST_MV_000 ;風船リフトのわきだしＥＮＤ？ ( no:FUSEN_ST_MV_000 )
		JMP	ESCLEAR
;
FUSEN_ST_MV_000 EQU	$
		LDA	ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BNE	FUSEN_ST_MV_020 ;ＳＴＯＰ？ ( yes:FUSEN_ST_MV_020 )
;
		LDA	FUSEN_TIMER	;セット？
		BNE	FUSEN_ST_MV_020 ;  no: FUSEN_ST_MV_020

;		LDA	#00040H*2
		LDA	#00060H
		STA	FUSEN_TIMER
;
		LDA	FUSENSUM
;		CMP	#00008
		CMP	#0000CH
		BPL	FUSEN_ST_MV_020

		I8
;
		PHY			;(Y) save
;
		LDA	#FUSEN		;(A) <-- 敵Ｎｏ．
		JSL	>ENINSR_I	;敵エリア確保
		BCC	FUSEN_ST_MV_010 ;      ”    ？ ( no:FUSEN_ST_MV_010 )
;
		LDA	SCCV1
		CLC
		ADC	#00110H
		STA	ENYPSL,Y

		LDA	PLXSPD
		BNE	FUSEN_ST_MV_001

		LDA	PLCMKI
		DEC	A
		EOR	#0FFFFH
		INC	A

FUSEN_ST_MV_001 EQU	$
		BPL	FUSEN_ST_MV_003

		LDA	#0FFA0H
		BRA	FUSEN_ST_MV_005

FUSEN_ST_MV_003 EQU	$
		LDA	#00060H

FUSEN_ST_MV_005 EQU	$
		STA	<EWORK0

		LDA	PLXPSL
		CLC
		ADC	<EWORK0
		AND	#0FFE0H
		STA	ENXPSL,Y
;
FUSEN_ST_MV_010 EQU	$
		PLY
;
		I16
;
FUSEN_ST_MV_020 EQU	$

		RTS
;
;************************************************************************
;*		風船リフトのわきだしＥＮＤ初期セット			*
;************************************************************************
FUSEN_EN_IN	EQU	$
		STZ	FUSN_ST_FG	;風船リフトのわきだしフラグ”ＯＦＦ”
		JMP	ESCLEAR
;
;************************************************************************
;*		ロープリフトのタイプ０セット				*
;************************************************************************
RPL_0_SET_X	EQU	$
		WORD	00620H,006A0H,00630H,005B0H
RPL_0_SET_Y	EQU	$
		WORD	00140H,001B0H,00230H,001B0H
RPL_0_SET_NAME	EQU	$
		WORD	HRLF1,HRLF1,HRLF0,HRLF1
;
RPL_0_ST_IN	EQU	$
		LDA	RPL0_ST_FG
		BEQ	RPL_0_ST_IN_010 ;すでにセット中？ ( yes:RPL_0_ST_IN_010 )
		JMP	ESCLEAR
;
RPL_0_ST_IN_010 EQU	$
		INC	RPL0_ST_FG	;ロープリフトのタイプ０セットフラグ”ＯＮ”

		PHY
		I8
		LDY	#000

RPL_0_ST_IN_020 EQU	$
		STY	<EWORK0
		LDA	!RPL_0_SET_X,Y
		STA	<EWORK2
		LDA	!RPL_0_SET_Y,Y
		STA	<EWORK4
		LDA	!RPL_0_SET_NAME,Y
		JSL	>ENINSR_I
		BCC	RPL_0_ST_IN_050

		LDA	<EWORK2
		STA	ENXPSL,Y
		LDA	<EWORK4
		STA	ENYPSL,Y

		LDA	ENMOD2,Y		;範囲外クリアなし
		AND	#0FFF3H
		STA	ENMOD2,Y

		INC	RPL_0SUM
		INC	RPL_0SUM

		TYA
		LDY	<EWORK0
		STA	RPL_0IDX,Y

		INY
		INY
		CPY	#008
		BMI	RPL_0_ST_IN_020

RPL_0_ST_IN_050 EQU	$
		I16
		PLY

		RTS
;
;************************************************************************
;*		ロープリフトのタイプ０範囲外チェック処理		*
;************************************************************************
RPL_0_ST_MV	EQU	$
		PHY
		I8
		LDY	RPL_0SUM

RPL_0_ST_MV_010 EQU	$
		STY	<EWORK0

		LDA	RPL_0IDX-2,Y
		TAY
		LDA	ENDSXL,Y
		CLC
		ADC	#0100H
		CMP	#0100H+(0100H*2)
		BCS	RPL_0_ST_MV_020 ;X pos display ? ( no:RPL_0_ST_MV_020 )
		LDA	ENDSYL,Y
		CLC
		ADC	#0100H
		CMP	#0100H+(0100H*2) ;Y pos display ?
		BCC	RPL_0_ST_MV_050

RPL_0_ST_MV_020 EQU	$
		LDY	<EWORK0
		DEY
		DEY
		BNE	RPL_0_ST_MV_010

		LDY	RPL_0SUM

RPL_0_ST_MV_030 EQU	$
		STY	<EWORK0

		LDX	RPL_0IDX-2,Y
		JSL	>ENCLEAR

		LDY	<EWORK0
		LDA	#00000
		STA	RPL_0IDX-2,Y
		DEY
		DEY
		BNE	RPL_0_ST_MV_030

		STZ	RPL0_ST_FG	;ロープリフトのタイプ０セットフラグ”ＯＦＦ”
		STZ	RPL_0SUM

		I16
		PLY
		JMP	ESCLEAR

RPL_0_ST_MV_050 EQU	$
		I16
		PLY

		RTS
;
;************************************************************************
;*		ちびぷよのわきだしスタート初期セット			*
;************************************************************************
SSLIM_ST_IN	EQU	$
		LDA	SSLM_ST_FG
		BEQ	SSLIM_ST_IN_010 ;すでにセット中？ ( yes:SSLIM_ST_IN_010 )
		JMP	ESCLEAR
;
SSLIM_ST_IN_010 EQU	$
		INC	SSLM_ST_FG	;ちびぷよのわきだしフラグ”ＯＮ”
		LDA	<EWORK2
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		STA	SSLM_YPOS
		RTS
;
;************************************************************************
;*		ちびぷよのわきだし処理					*
;************************************************************************
SSLIM_I_XREV	EQU	$
		WORD	00020H,0FFE0H
SSLIM_ST_MV	EQU	$
		LDA	SSLM_ST_FG
		BNE	SSLIM_ST_MV_000 ;ちびぷよのわきだしＥＮＤ？ ( no:SSLIM_ST_MV_000 )
		JMP	ESCLEAR
;
SSLIM_ST_MV_000 EQU	$
		PHY
		I8
		LDA	ENSTFG
		ORA	BIRIBIRI
		ORA	ITEMNO
		BNE	SSLIM_ST_MV_001 ;ＳＴＯＰ？ ( yes:SSLIM_ST_MV_001 )
;
		LDA	SSLIM_TIMER	;ちびぷよセット？
		BEQ	SSLIM_ST_MV_002 ; yes: SSLIM_ST_MV_002

SSLIM_ST_MV_001 EQU	$
		JMP	SSLIM_ST_MV_020 ;  no: SSLIM_ST_MV_020

SSLIM_ST_MV_002 EQU	$
		M_CHIP	EGGSEARCH
		LDA	#00008
		SEC
		SBC	R6
		CMP	#00005
		BMI	SSLIM_ST_MV_004

		LDA	#00005

SSLIM_ST_MV_004 EQU	$
		STA	<EWORK0

		LDA	#SSLIM
		STA	R4
		INC	A
		STA	R5
		M_CHIP	TARGET_COUNTER
		LDY	R6
;		CPY	#004
		CPY	<EWORK0
		BPL	SSLIM_ST_MV_020

		LDA	#SSLIM
		JSL	>ENINSR_I
		BCC	SSLIM_ST_MV_020

		PHY
		LDY	#000
		LDA	<RANDM0
		AND	#0007FH
		SEC
		SBC	#00040H
		STA	<EWORK0
		BPL	SSLIM_ST_MV_010

		INY
		INY

SSLIM_ST_MV_010 EQU	$
		CLC
		ADC	!SSLIM_I_XREV,Y
		CLC
		ADC	PLXPSL
		PLY
		STA	ENXPSL,Y
		LDA	SSLM_YPOS
		CLC
		ADC	#00010H
		STA	ENYPSL,Y

		LDA	#00007
		STA	ENCHPT,Y
		INC	A		[ LDA	#00008 ]
		STA	ENTIM1,Y

		LDA	#00000
		STA	ENWRKA,Y
		STA	ENWRKC,Y

		LDA	#00002
		STA	ENYUSN,Y

		LDA	#00060H
		STA	SSLIM_TIMER
;
SSLIM_ST_MV_020 EQU	$
		I16
		PLY

		RTS
;
;************************************************************************
;*		ちびぷよのわきだしＥＮＤ初期セット			*
;************************************************************************
SSLIM_EN_IN	EQU	$
		STZ	SSLM_ST_FG	;ちびぷよのわきだしフラグ”ＯＦＦ”
		JMP	ESCLEAR
;
;************************************************************************
;*		ワタボー”フラフラ”キャンセル				*
;************************************************************************
FURA_EN_IN	EQU	$
		LDA	FURA_FG
		BEQ	FURA_EN_IN_010	;”フラフラ”中？ ( no:FURA_EN_IN_010 )
;
		LDA	#01H		;”フラフラ”解除へ
		STA	FURA_FG
FURA_EN_IN_010	EQU	$
		JMP	ESCLEAR
;
;************************************************************************
;*		ＭＡＸスクロール値セット				*
;************************************************************************
SCRL_MAX_IN	EQU	$
		LDA	EWORK0
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		SEC
		SBC	#0100H
		STA	PLSCRL_MAXX
		JMP	ESCLEAR_NORETN
;
;************************************************************************
;*		あほーどりのわきだしＥＮＤ初期セット			*
;************************************************************************
AHOB_EN_IN	EQU	$
		STZ	AHOB_ST_FG	;ちびぷよのわきだしフラグ”ＯＦＦ”
		JMP	ESCLEAR
;
;
;************************************************************************
;*	綿坊のわきだしスタート初期セット				*
;************************************************************************
WATAB_ST_IN	EQU	$
		LDA	!WATB_ST_FG
		BEQ	WATAB_ST_IN0010		; 既にセット中 ? [no->WATAB_ST_IN0010]
;
		JMP	ESCLEAR
;
WATAB_ST_IN0010 EQU	$
		INC	!WATB_ST_FG		; 綿坊のわきだしフラグセット !!
		LDA	!SCCH1
		STA	!WATAB_SETSC		; 綿坊のセットされたスクロールカウンター！！
		RTS
;
;
;************************************************************************
;*	綿坊のわきだし							*
;************************************************************************
WATAB_ST_XPS	EQU	$
		WORD	00120H, -0020H, 00130H, -0030H, 00140H, -0040H, 00150H, -0050H
;
WATAB_ST_YPS	EQU	$
		WORD	00000H, 00020H, 00040H, 00060H, 00080H, 000A0H, 000C0H, 000E0H
;
WATAB_BITMSK	EQU	$
		WORD	0000000000000001B
		WORD	0000000000000010B
		WORD	0000000000000100B
		WORD	0000000000001000B
		WORD	0000000000010000B
		WORD	0000000000100000B
		WORD	0000000001000000B
		WORD	0000000010000000B
;
WATAB_ST_MV	EQU	$
		LDA	!WATB_ST_FG
		BNE	WATAB_ST_MV0000		; 綿坊のわきだし終了？ [no->WATAB_ST_MV0000]
;
		JMP	ESCLEAR
;
WATAB_ST_MV0000 EQU	$
		LDA	!ENSTFG
		ORA	!BIRIBIRI
		ORA	ITEMNO
		BEQ	WATAB_ST_MV0010		; 停止中？ [no->WATAB_ST_MV0010]
;
WATAB_ST_MV001F EQU	$
		RTS
;
WATAB_ST_MV0010 EQU	$
		LDA	!WATAB_COUNT
		CMP	#0008
		BCS	WATAB_ST_MV001F		; 綿坊のわきだしセット？ [no->WATAB_ST_MV001F]
;
		LDA	!WATAB_SETSC
		SEC
		SBC	!SCCH1
		CLC
		ADC	#00020H
		CMP	#00020H*2
		BCS	WATAB_ST_MV0040		; [->WATAB_ST_MV0040]
;
		LDA	!WATAB_TIMER
		BNE	WATAB_ST_MV00F0		; 綿坊のわきだしセット？ [no->WATAB_ST_MV00F0]
;
WATAB_ST_MV0040 EQU	$
		LDA	<RANDM0
		AND	#0007
		ASL	A
		TAX
		LDA	!SCCV1
		AND	#0FFE0H
		CLC
		ADC	WATAB_ST_YPS,X
		STA	<EWORK2
		LSR	A
		LSR	A
		LSR	A
		LSR	A
		AND	#0000EH
		TAX
		LDA	!WATAB_STLIN
		AND	WATAB_BITMSK,X
		BNE	WATAB_ST_MV00F0		; 綿坊のわきだしセット？ [no->WATAB_ST_MV00F0]
;
		LDA	WATAB_BITMSK,X
		STA	<EWORK
;
		JSL	>RANDAM
;
		I8				; index 8bit mode !!
;
		PHY				; (Y) save !!
;
		LDA	#WATAB
		JSL	>ENINSR_I
		BCC	WATAB_ST_MV00E0		; 敵エリア確保失敗 ? [yes->WATAB_ST_MV00E0]
;
		LDA	#00080H
		STA	!WATAB_TIMER		; Ｎｅｘｔ セットタイマー！！
;
		LDA	<EWORK
		TSB	!WATAB_STLIN		; 綿坊のセットライン！！
;
		INC	!WATAB_COUNT		; 綿坊のわきだしカウンター！！
;
		LDA	!SCHMK1
		STA	!ENMUKI,Y
		LDA	<RANDM0
		AND	#0003
		ASL	A
		ASL	A
		ORA	!ENMUKI,Y
		TAX
		LDA	!SCCH1
		STA	!WATAB_SETSC		; 綿坊のセットされたスクロールカウンター！！
		CLC
		ADC	WATAB_ST_XPS,X
		STA	!ENXPSL,Y		; Ｘポジション！！
		LDA	<EWORK2
		STA	!ENYPSL,Y		; Ｙポジション！！
;
		LDA	<EWORK
		STA	!ENWRK4,Y		; Ｙポジションマスク！！
;
WATAB_ST_MV00E0 EQU	$
		PLY				; (Y) load !!
;
		I16				; index 16bit mode !!
;
WATAB_ST_MV00F0 EQU	$
		RTS
;
;
;************************************************************************
;*		バルーンテレサのわきだしＥＮＤ初期セット		*
;************************************************************************
BTLS_EN_IN	EQU	$
		STZ	!BTLS_ST_FG	;バルーンテレサのフラグ”ＯＦＦ”
		JMP	ESCLEAR
;
;
;
;
;
;
		END
;
