;************************************************************************
;*									*
;*	title name	: "yossy"					*
;*	proccess	: demo sub.1					*
;*	file name	: ys_demo_1					*
;*									*
;************************************************************************
;
;
		SALL
;
		include		ys_header.inc
		include		ys_unit.h
		include		ys_presno.h
		include		ys_color.h
;
		XALL
;
;
;------------------------------------------------------------------------
;-		global symbol						-
;------------------------------------------------------------------------
		GLB	DM_YOSHIIN,DM_MWANDIN,DM_FUKURIN,DM_BABYMIN,DM_YOSH2IN
		GLB	DM_KAMECIN,DM_HEIHOIN,DM_YOSH3IN,DM_HEIH2IN,DM_FUKR2IN
;
		GLB	DM_YOSHIMV,DM_MWANDMV,DM_FUKURMV,DM_BABYMMV,DM_YOSH2MV
		GLB	DM_KAMECMV,DM_HEIHOMV,DM_YOSH3MV,DM_HEIH2MV,DM_FUKR2MV
;
;------------------------------------------------------------------------
;-		extern symbol						-
;------------------------------------------------------------------------
;
;-------------< ys_demo >------------------------------------------------
		EXT	DM_INSR,DM_INSR_X

		EXT	DM_MWAND,DM_FUKUR,DM_BABYM,DM_YOSH2,DM_HEIHO
		EXT	DM_HEIH2,DM_FUKR2
;
;-------------< ys_rpro >------------------------------------------------
		EXT	CHIPON,CHIPON_RAM_READ
;
;-------------< ys_enmy >------------------------------------------------
		EXT	ENCLEAR
;
;------------------------------------------------------------------------
;-		define symbol						-
;------------------------------------------------------------------------
;
;
;************************************************************************
;*									*
;*		program start						*
;*									*
;************************************************************************
;
;
		EXTEND
;
;
Group_B		GROUP	Demo1_pro
Demo1_pro	SECT	REL
;
;
		MEM16
		IDX8
;
		DPAGE	EN0RAM
;
;
;************************************************************************
;*		initial （　ＡＣＴ−５：　よしお　）			*
;************************************************************************
DM_YOSHIIN	EQU	$
		LDA	#0FFC0H
		STA	ENXSPD,X

		RTS
;
;************************************************************************
;*		move	（　ＡＣＴ−５：　よしお　）			*
;************************************************************************
;		ENWRK0	ＥＮＣＨＰＴリードインデックス
;		ENWRK2	ROUTINE MODE INDEX
;		ENWRK4	よしお頭の ROUTINE INDEX
;		ENWRK6	キャラ転送比較用
;		ENWRKA
;		ENWRKC
;
YOSHI_SUB	EQU	$
		WORD	YOSHI_SUB0		;よしおウォーク
		WORD	YOSHI_SUB1		;よしおルックアップ
		WORD	YOSHI_SUB2		;
		WORD	DUMMY_SUB		;よしおだみー
;
DM_YOSHIMV	EQU	$
		TXY
		LDA	<ENWRK2,X
		ASL	A
		TAX
		JSR	(YOSHI_SUB,X)

		JSR	YOSHI_CCHG

		RTS
;
YOSHI_SUB0	EQU	$
		TYX

		LDA	ENXPSL,X
		CMP	#00084H
		BPL	YOSHI_SUB0800

;;;;		    LDA	    #0002BH		    ;［Ｓ］
;;;;		    STA	    SOUND3

		LDA	#00066H
		STA	ENTIM0,X
		LDA	#00058H
		STA	ENTIM2,X
		STZ	ENXSPD,X
		LDA	#00030H
		STA	ENTIM1,X
		INC	<ENWRK2,X

		RTS

YOSHI_SUB0800	EQU	$
		LDA	ENTIM1,X
		BNE	YOSHI_SUB0900

		LDA	#00006
		STA	ENTIM1,X

		INC	ENCHPT,X
		LDA	ENCHPT,X
		CMP	#00008
		BMI	YOSHI_SUB0900

		STZ	ENCHPT,X

YOSHI_SUB0900	EQU	$
		LDA	ENTIM3,X
		BNE	YOSHI_SUB0A00

		LDA	#00002
		STA	ENTIM3,X
		DEC	SCCH2

YOSHI_SUB0A00	EQU	$

		RTS
;
YOSHI_SUB1	EQU	$
		TYX

		LDA	ENTIM2,X
		BNE	YOSHI_SUB1010

		DEC	A
		STA	ENTIM2,X

		LDA	#DM_FUKUR
		JSR	DM_INSR_X

		LDA	ENXPSL,X
		SEC
		SBC	#00010H
		STA	ENXPSL,Y
		LDA	ENYPSL,X
		SEC
		SBC	#00070H
		STA	ENYPSL,Y
		LDA	#00700H
		STA	ENYSPD,Y
		STA	ENGMAX,Y
		LDA	#00100H			;初期倍率セット
		STA	ENWRK6,Y		;

YOSHI_SUB1010	EQU	$
		LDY	ENCHPT,X
		CPY	#009
		BEQ	YOSHI_SUB1200

		LDA	ENTIM1,X
		BNE	YOSHI_SUB1100

		CPY	#00006
		BNE	YOSHI_SUB1000

		LDA	#00007
		STA	ENCHPT,X

YOSHI_SUB1000	EQU	$
		LDA	#00002
		STA	ENTIM1,X

		INC	ENCHPT,X

YOSHI_SUB1100	EQU	$

		RTS

YOSHI_SUB1200	EQU	$
		LDA	ENTIM0,X
		BNE	YOSHI_SUB1800

		INC	ENCHPT,X
		LDY	#022H			;パターン数をセット
		STY	<ENWRK0,X		;
		LDA	#002E0H			;魔法の杖の落ちてくる時間をセット
		STA	ENTIM0,X		;

		INC	<ENWRK2,X

YOSHI_SUB1800	EQU	$

		RTS
;
YOSHIPT		EQU	$
		HEX	01E,022,023,024,025,024,023,01E,022,021,01F,020,01F
		HEX	01E,01E,01D,01C,01B,01A,019,018,017,016,015,014
		HEX	013,012,011,010,00F,00E,00D,00C,00B
YOSHITM		EQU	$
		HEX	0FF,004,004,004,032,003,003,010,002,002,003,004,002
		HEX	0F0,0FF,024,002,002,0A0,002,002,002,002,002,002
		HEX	002,002,002,020,002,002,002,002,004
;
YOSHI_SUB2	EQU	$
		TYX

		LDA	ENTIM1,X
		BNE	YOSHI_SUB2800

		DEC	<ENWRK0,X
		BPL	YOSHI_SUB2500

		LDA	#0100000000000101B	;範囲クリアセット
		STA	ENMOD2,X		;

		INC	<ENWRK2,X

		RTS

YOSHI_SUB2500	EQU	$
		M8
		LDY	<ENWRK0,X
		LDA	!YOSHITM,Y
		STA	ENTIM1,X
		LDA	!YOSHIPT,Y
		STA	ENCHPT,X
		M16

		TAY
		CPY	#01CH
		BNE	YOSHI_SUB2600

		LDA	#DM_YOSH2
		JSR	DM_INSR_X

		LDA	ENXPSL,X
		STA	ENXPSL,Y
		LDA	ENYPSL,X
		STA	ENYPSL,Y
		STY	<ENWRK4,X

YOSHI_SUB2600	EQU	$
		LDY	<ENWRK4,X
		BEQ	YOSHI_SUB2800

		LDA	ENCHPT,X
		SEC
		SBC	#0001CH
		STA	ENCHPT,Y

YOSHI_SUB2800	EQU	$
		LDA	ENTIM0,X
		BNE	YOSHI_SUB2900

		DEC	A
		STA	ENTIM0,X

		LDA	#DM_MWAND
		JSR	DM_INSR_X

		LDA	ENXPSL,X
		SEC
		SBC	#00012H
		STA	ENXPSL,Y
		LDA	ENYPSL,X
		SEC
		SBC	#00070H
		STA	ENYPSL,Y
		LDA	#00400H
		STA	ENYSPD,Y
		STA	ENGMAX,Y
		LDA	#00040H
		STA	ENGPOW,Y

YOSHI_SUB2900	EQU	$

		RTS
;
DUMMY_SUB	EQU	$
		TYX
		RTS
;
YOSHICHNO	EQU	$
;ENCHPT =		[00] [01] [02] [03] [04] [05] [06] [07] [08] [09] [0A] [0B] [0C]
		HEX	000, 001, 002, 003, 004, 005, 006, 007, 008, 009, 00A, 00B, 00C
;			[0D] [0E] [0F] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19]
		HEX	00D, 00D, 00E, 00F, 010, 011, 010, 00F, 011, 010, 010, 010, 010
;			[1A] [1B] [1C] [1D] [1E] [1F] [20] [21] [22] [23] [24] [25] [26]
		HEX	012, 013, 014, 015, 015, 015, 015, 015, 015, 014, 016, 016
;
YOSHI_CCHG	EQU	$
		LDA	ENCHPT,X
		CMP	ENWRK6,X
		BEQ	YOSHI_CCHG0800

		STA	ENWRK6,X

		I16
		TAY
		LDA	!YOSHICHNO,Y	;
		AND	#000FFH		;
		ASL	A
		ASL	A
		ASL	A
		ASL	A
		TAY

		LDA	#00008H		;
		STA	<EWORK0		;

		PHX

		LDX	#00000H

YOSHI_CCHG0100	EQU	$
		LDA	!YOSHIC_ADR,Y
		STA	PCHNO0,X

		CLC
		ADC	#00200H
		STA	PCHNO0+2,X

		INX
		INX
		INX
		INX

		INY
		INY

		DEC	<EWORK0
		BNE	YOSHI_CCHG0100

		INC	BABYTRF		;char. trans. flag set

		PLX
		I8

YOSHI_CCHG0800	EQU	$

		RTS
;
YOSHIC_ADR	EQU	$
;
;		あたま
;		あたま
;		どうたい
;		あし
;
YOSHIC_WALK	EQU	$
;[0]
		WORD	00000H*20H+CHRE0,00002H*20H+CHRE0
		WORD	00010H*20H+CHRE0,00012H*20H+CHRE0
		WORD	00060H*20H+CHRE0,00062H*20H+CHRE0
		WORD	00100H*20H+CHRE0,00120H*20H+CHRE0
;[1]
		WORD	00004H*20H+CHRE0,00006H*20H+CHRE0
		WORD	00014H*20H+CHRE0,00016H*20H+CHRE0
		WORD	00064H*20H+CHRE0,00066H*20H+CHRE0
		WORD	00102H*20H+CHRE0,00122H*20H+CHRE0
;[2]
		WORD	00008H*20H+CHRE0,0000AH*20H+CHRE0
		WORD	00018H*20H+CHRE0,0001AH*20H+CHRE0
		WORD	00068H*20H+CHRE0,0006AH*20H+CHRE0
		WORD	00104H*20H+CHRE0,00124H*20H+CHRE0
;[3]
		WORD	0000CH*20H+CHRE0,0000EH*20H+CHRE0
		WORD	0001CH*20H+CHRE0,0001EH*20H+CHRE0
		WORD	0006CH*20H+CHRE0,0006EH*20H+CHRE0
		WORD	00106H*20H+CHRE0,00126H*20H+CHRE0
;[4]
		WORD	00030H*20H+CHRE0,00032H*20H+CHRE0
		WORD	00040H*20H+CHRE0,00042H*20H+CHRE0
		WORD	00080H*20H+CHRE0,00082H*20H+CHRE0
		WORD	00100H*20H+CHRE0,00120H*20H+CHRE0
;[5]
		WORD	00034H*20H+CHRE0,00036H*20H+CHRE0
		WORD	00044H*20H+CHRE0,00046H*20H+CHRE0
		WORD	00084H*20H+CHRE0,00086H*20H+CHRE0
		WORD	00122H*20H+CHRE0,00102H*20H+CHRE0
;[6]
		WORD	00038H*20H+CHRE0,0003AH*20H+CHRE0
		WORD	00048H*20H+CHRE0,0004AH*20H+CHRE0
		WORD	00088H*20H+CHRE0,0008AH*20H+CHRE0
		WORD	00124H*20H+CHRE0,00104H*20H+CHRE0
;[7]
		WORD	0003CH*20H+CHRE0,0003EH*20H+CHRE0
		WORD	0004CH*20H+CHRE0,0004EH*20H+CHRE0
		WORD	0008CH*20H+CHRE0,0008EH*20H+CHRE0
		WORD	00126H*20H+CHRE0,00106H*20H+CHRE0
;
YOSHIC_DOSUN	EQU	$
;[8]
		WORD	000A0H*20H+CHRE0,000A2H*20H+CHRE0
		WORD	000B0H*20H+CHRE0,000B2H*20H+CHRE0
		WORD	00088H*20H+CHRE0,0008AH*20H+CHRE0
		WORD	00124H*20H+CHRE0,00104H*20H+CHRE0
;[9]
		WORD	000A4H*20H+CHRE0,000A6H*20H+CHRE0
		WORD	000B4H*20H+CHRE0,000B6H*20H+CHRE0
		WORD	00088H*20H+CHRE0,0008AH*20H+CHRE0
		WORD	00124H*20H+CHRE0,00104H*20H+CHRE0
;[A]
		WORD	000D3H*20H+CHRE0,000D5H*20H+CHRE0
		WORD	000D7H*20H+CHRE0,000D7H*20H+CHRE0
		WORD	0008CH*20H+CHRE0,0008EH*20H+CHRE0
		WORD	00108H*20H+CHRE0,00108H*20H+CHRE0
;[B]
		WORD	000D9H*20H+CHRE0,000DBH*20H+CHRE0
		WORD	000DDH*20H+CHRE0,000DDH*20H+CHRE0
		WORD	00064H*20H+CHRE0,00066H*20H+CHRE0
		WORD	0010AH*20H+CHRE0,0010AH*20H+CHRE0
;[C]
		WORD	000D3H*20H+CHRE0,000D5H*20H+CHRE0
		WORD	000D7H*20H+CHRE0,000D7H*20H+CHRE0
		WORD	00060H*20H+CHRE0,00062H*20H+CHRE0
		WORD	0010AH*20H+CHRE0,0010AH*20H+CHRE0
;[D]
		WORD	00000H*20H+CHRE0,00002H*20H+CHRE0
		WORD	00010H*20H+CHRE0,00012H*20H+CHRE0
		WORD	00060H*20H+CHRE0,00062H*20H+CHRE0
		WORD	0010AH*20H+CHRE0,0010AH*20H+CHRE0
;[E]
		WORD	00000H*20H+CHRE0,00002H*20H+CHRE0
		WORD	00010H*20H+CHRE0,00012H*20H+CHRE0
		WORD	00068H*20H+CHRE0,0006AH*20H+CHRE0
		WORD	0010AH*20H+CHRE0,0010AH*20H+CHRE0
;[F]
		WORD	00000H*20H+CHRE0,00002H*20H+CHRE0
		WORD	00010H*20H+CHRE0,00012H*20H+CHRE0
		WORD	00088H*20H+CHRE0,0008AH*20H+CHRE0
		WORD	0010AH*20H+CHRE0,0010AH*20H+CHRE0
;[10]
		WORD	00000H*20H+CHRE0,00002H*20H+CHRE0
		WORD	00010H*20H+CHRE0,00012H*20H+CHRE0
		WORD	00068H*20H+CHRE0,0006AH*20H+CHRE0
		WORD	0010AH*20H+CHRE0,0010AH*20H+CHRE0
;[11]
		WORD	00000H*20H+CHRE0,00002H*20H+CHRE0
		WORD	00010H*20H+CHRE0,00012H*20H+CHRE0
		WORD	0008CH*20H+CHRE0,0008EH*20H+CHRE0
		WORD	0010AH*20H+CHRE0,0010AH*20H+CHRE0
;[12]
		WORD	00008H*20H+CHRE0,0000AH*20H+CHRE0
		WORD	00010H*20H+CHRE0,00012H*20H+CHRE0
		WORD	00068H*20H+CHRE0,0006AH*20H+CHRE0
		WORD	0010AH*20H+CHRE0,0010AH*20H+CHRE0
;[13]
		WORD	000ACH*20H+CHRE0,000AEH*20H+CHRE0
		WORD	000BCH*20H+CHRE0,000BEH*20H+CHRE0
		WORD	00068H*20H+CHRE0,0006AH*20H+CHRE0
		WORD	0010AH*20H+CHRE0,0010AH*20H+CHRE0
;[14]
		WORD	000D0H*20H+CHRE0,000D1H*20H+CHRE0
		WORD	000E0H*20H+CHRE0,000E1H*20H+CHRE0
		WORD	00068H*20H+CHRE0,0006AH*20H+CHRE0
		WORD	0010AH*20H+CHRE0,0010AH*20H+CHRE0
;[15]
		WORD	000A8H*20H+CHRE0,000A9H*20H+CHRE0
		WORD	000B8H*20H+CHRE0,000B9H*20H+CHRE0
		WORD	00068H*20H+CHRE0,0006AH*20H+CHRE0
		WORD	0010AH*20H+CHRE0,0010AH*20H+CHRE0
;[16]
		WORD	00000H*20H+CHRE0,00002H*20H+CHRE0
		WORD	00010H*20H+CHRE0,00012H*20H+CHRE0
		WORD	00068H*20H+CHRE0,0006AH*20H+CHRE0
		WORD	0010AH*20H+CHRE0,0010AH*20H+CHRE0
;
;************************************************************************
;*		initial （　ＡＣＴ−５：　つえ　）			*
;************************************************************************
DM_MWANDIN	EQU	$
		RTS
;
;************************************************************************
;*		move	（　ＡＣＴ−５：　つえ　）			*
;************************************************************************
;
DM_MWANDPT	EQU	$
		HEX	000,001,001,000,000,001,001,000
DM_MWANDMK	EQU	$
		HEX	000,000,004,004,006,006,002,002
DM_MWAND_YCHK	EQU	$
		WORD	00060H,00074H,00076H
DM_MWAND_MUKI	EQU	$
		HEX	000,006
DM_MWAND_YSPD	EQU	$-2
		WORD	0FC00H,0FE00H,00000H
;
DM_MWANDMV	EQU	$
		LDY	<ENWRK4,X
		CPY	#006
		BNE	DM_MWANDMV0100

		STZ	ENYSPD,X
		STZ	ENXSPD,X
		STZ	ENGPOW,X
		LDA	#00001
		STA	ENCHPT,X
		LDA	#0007CH
		STA	ENYPSL,X
		LDA	#0000100000000100B	;範囲クリアセット
		STA	ENMOD2,X		;

		RTS

DM_MWANDMV0100	EQU	$
		LDA	!DM_MWAND_YCHK,Y
		CMP	ENYPSL,X
		BPL	DM_MWANDMV0200

		STA	ENYPSL,X

		INY
		INY
		STY	<ENWRK4,X
		LDA	!DM_MWAND_YSPD,Y
		STA	ENYSPD,X
		LDA	#0FF20H
		STA	ENXSPD,X

DM_MWANDMV0200	EQU	$
		LDA	ENTIM1,X
		BNE	DM_MWANDMV0800

		LDA	<ENWRK4,X
		AND	#00002
		LSR	A
		TAY
		LDA	!DM_MWAND_MUKI,Y
		STA	<EWORK0

		INC	<ENWRK0,X
		LDA	<ENWRK0,X
		BIT	#00008
		BEQ	DM_MWANDMV0700

		STZ	<ENWRK0,X

DM_MWANDMV0700	EQU	$
		TAY
		M8
		LDA	!DM_MWANDMK,Y
		EOR	<EWORK0
		STA	ENMUKI,X
		LDA	#002
		STA	ENTIM1,X
		LDA	!DM_MWANDPT,Y
		STA	ENCHPT,X
		M16

DM_MWANDMV0800	EQU	$

		RTS
;
;************************************************************************
;*		initial （　ＡＣＴ−５：　小包　）			*
;************************************************************************
DM_FUKURIN	EQU	$
		RTS
;
;************************************************************************
;*		move	（　ＡＣＴ−５：　小包　）			*
;************************************************************************
;
;		ENWRK0	赤ちゃん ROUTINE INDEX
;		ENWRK2	ROUTINE MODE INDEX
;		ENWRK4
;		ENWRK6	横倍率
;		ENWRK8
;		ENWRKA
;
FUKUR_SUB	EQU	$
		WORD	FUKUR_SUB0
		WORD	FUKUR_SUB1
		WORD	FUKUR_SUB2
		WORD	FUKUR_SUB3
		WORD	FUKUR_SUB4
		WORD	DUMMY_SUB
;
DM_FUKURMV	EQU	$
		TXY
		LDA	<ENWRK2,X
		ASL	A
		TAX
		JSR	(FUKUR_SUB,X)

		LDA	ENWRK6,X		;(R6)  <- Ｘ倍率セット
		STA	R6			;
		EOR	#0FFFFH
		INC	A
		CLC
		ADC	#00200H
		STA	R11			;(R11) <- Ｙ倍率セット

		LDA	#BANK CIPCHD2+20E0H+000 ;chara data bank set
		STA	R13
		LDA	#CIPCHD2+20E0H+000	;chara data address set
		STA	R12

		STZ	R3			;回転エリアＸ　ＰＯＳ．セット
		STZ	R2			;回転エリアＹ　ＰＯＳ．セット

		LDA	#00010H			;(R8) <- 中心Ｘ　ＰＯＳ．
		STA	R8			;
		ASL	A
		STA	R9			;(R9) <- 中心Ｙ　ＰＯＳ．

		M_CHIP	C_32_ZOOM_XY

		LDA	#00800H
		STA	OBM7WF			;mode 7 OBJ chara DMA "ON"

		LDX	<ENINDX

		RTS
;
FUKUR_SUB0	EQU	$
		TYX

		LDA	#00050H
		CMP	ENYPSL,X
		BPL	FUKUR_SUB0800

		STA	ENYPSL,X

;;;;		    LDA	    #00013H		    ;［Ｓ］
;;;;		    STA	    SOUND0

		STZ	ENYSPD,X
		INC	<ENWRK2,X

FUKUR_SUB0800	EQU	$

		RTS
;
FUKUR_ZMAX0	EQU	$
		WORD	00140H,000C0H
FUKUR_ZADD0	EQU	$
		WORD	00020H,0FFE0H
;
FUKUR_SUB1	EQU	$
		TYX

		LDY	<ENWRK4,X
		LDA	ENWRK6,X
		CMP	!FUKUR_ZMAX0,Y
		BEQ	FUKUR_SUB1100

		CLC
		ADC	!FUKUR_ZADD0,Y
		STA	ENWRK6,X

		RTS

FUKUR_SUB1100	EQU	$
		INY
		INY
		STY	<ENWRK4,X
		CPY	#004
		BNE	FUKUR_SUB1800

		LDA	#00080H
		STA	ENXSPD,X
		LDA	#0FC00H
		STA	ENYSPD,X
		LDA	#00040H
		STA	ENGPOW,X
		INC	<ENWRK2,X

FUKUR_SUB1800	EQU	$

		RTS
;
FUKUR_SUB2	EQU	$
		TYX

		LDA	ENWRK6,X
		CMP	#00100H
		BEQ	FUKUR_SUB2100

		CLC
		ADC	#00010H
		STA	ENWRK6,X

FUKUR_SUB2100	EQU	$
		LDA	#0006EH
		CMP	ENYPSL,X
		BPL	FUKUR_SUB2200

		STA	ENYPSL,X

		STZ	ENXSPD,X
		STZ	ENYSPD,X
		STZ	ENGPOW,X

		INC	<ENWRK2,X

FUKUR_SUB2200	EQU	$

		RTS
;
FUKUR_ZMAX	EQU	$
		WORD	00140H,000C0H,00120H,00100H
FUKUR_ZADD	EQU	$
		WORD	00010H,0FFF0H,00008H,0FFF8H
;
FUKUR_SUB3	EQU	$
		TYX

		LDY	<ENWRK4,X
		LDA	ENWRK6,X
		CMP	!FUKUR_ZMAX,Y
		BEQ	FUKUR_SUB3100

		CLC
		ADC	!FUKUR_ZADD,Y
		STA	ENWRK6,X

		RTS

FUKUR_SUB3100	EQU	$
		INY
		INY
		CPY	#008
		BEQ	FUKUR_SUB3200

		STY	<ENWRK4,X

		RTS

FUKUR_SUB3200	EQU	$
		LDA	#00040H
		STA	ENTIM0,X
		STZ	<ENWRK4,X
		LDA	#0007AH
		STA	ENTIM2,X
		INC	<ENWRK2,X

		RTS
;
FUKUR_ZMAX2	EQU	$
		WORD	000C0H,00140H,000C0H,00140H,000E0H,00100H
FUKUR_ZADD2	EQU	$
		WORD	0FFE0H,00020H,0FFE0H,00020H,0FFE0H,00020H
FUKUR_TIM1	EQU	$-2
		WORD	00024H,00000H,00010H,00000H,00000H
;
FUKUR_SUB4	EQU	$
		TYX

		LDA	ENTIM0,X
		BNE	FUKUR_SUB4800

		LDA	ENTIM1,X
		BNE	FUKUR_SUB4800

		LDY	<ENWRK4,X
		LDA	ENWRK6,X
		CMP	!FUKUR_ZMAX2,Y
		BEQ	FUKUR_SUB4100

		CLC
		ADC	!FUKUR_ZADD2,Y
		STA	ENWRK6,X

		BRA	FUKUR_SUB4800

FUKUR_SUB4100	EQU	$
		INY
		INY
		STY	<ENWRK4,X
		LDA	!FUKUR_TIM1,Y
		STA	ENTIM1,X
		CPY	#00CH
		BNE	FUKUR_SUB4800

		LDY	<ENWRK0,X
		LDA	#00001
		STA	ENWRK2,Y
		LDA	#00080H
		STA	ENTIM1,Y

		LDA	#0010000000000101B	;範囲クリアセット
		STA	ENMOD2,X		;

		INC	<ENWRK2,X

		RTS

FUKUR_SUB4800	EQU	$
		LDA	ENTIM2,X
		BNE	FUKUR_SUB4810

		DEC	A
		STA	ENTIM2,X

		LDA	#DM_BABYM
		JSR	DM_INSR_X

		LDA	ENXPSL,X
		STA	ENXPSL,Y
		LDA	#0000AH
		STA	ENWRK0,Y
		LDA	#00002
		STA	ENTIM1,Y
		STY	<ENWRK0,X

FUKUR_SUB4810	EQU	$
		LDY	<ENWRK0,X
		BEQ	FUKUR_SUB4900

FUKUR_SUB4880	EQU	$
		LDA	ENWRK6,X
		STA	ENWRK6,Y

		EOR	#0FFFFH
		INC	A
		CLC
		ADC	#00200H
		STA	R6
		LDA	#0001CH
		STA	R0

		M_CHIP	MULTIPLY

		LDX	<ENINDX
		LDY	<ENWRK0,X
		LDA	ENYPSL,X
		CLC
		ADC	#00010H
		SEC
		SBC	R0
		STA	ENYPSL,Y

		LDA	ENTIM1,Y
		BNE	FUKUR_SUB4900

		INC	A
		STA	ENCHPT,Y

FUKUR_SUB4900	EQU	$

		RTS
;
;************************************************************************
;*		initial （　ＡＣＴ−５：　赤ちゃん　）			*
;************************************************************************
DM_BABYMIN	EQU	$
		RTS
;
;************************************************************************
;*		move	（　ＡＣＴ−５：　赤ちゃん　）			*
;************************************************************************
;
;		ENWRK0	キャラパターンインデックス
;		ENWRK2	ROUTINE MODE INDEX
;		ENWRK4	キャラパターンインデックス
;		ENWRK6	横倍率
;		ENWRK8
;		ENWRKA
;
BABYM_SUB	EQU	$
		WORD	DUMMY_SUB
		WORD	BABYM_SUB1
		WORD	DUMMY_SUB
;
BABYM_CHAR	EQU	$
		WORD	CIPCHD2+20A0H+001
		WORD	CIPCHD2+2080H+001
		WORD	CIPCHD2+20E0H+001
		WORD	CIPCHD2+20C0H+001
		WORD	CIPCHD2+0080H+001
		WORD	CIPCHD2+00A0H+001
;
DM_BABYMMV	EQU	$
		TXY
		LDA	<ENWRK2,X
		ASL	A
		TAX
		JSR	(BABYM_SUB,X)

		LDA	ENWRK6,X		;(R6)  <- Ｘ倍率セット
		STA	R6			;
		EOR	#0FFFFH
		INC	A
		CLC
		ADC	#00200H
		STA	R11			;(R11) <- Ｙ倍率セット

		LDY	<ENWRK4,X
		LDA	#BANK CIPCHD2+20E0H+000 ;chara data bank set
		STA	R13
		LDA	!BABYM_CHAR,Y		;chara data address set
		STA	R12

		LDA	#000020H
		STA	R3			;回転エリアＸ　ＰＯＳ．セット
		STZ	R2			;回転エリアＹ　ＰＯＳ．セット

		STA	R9			;(R9) <- 中心Ｙ　ＰＯＳ．
		LSR	A			;(R8) <- 中心Ｘ　ＰＯＳ．
		STA	R8			;

		M_CHIP	C_32_ZOOM_XY

		LDA	#00800H
		STA	OBM7WF			;mode 7 OBJ chara DMA "ON"

		LDX	<ENINDX

		LDY	ENYUSN,X
		BPL	DM_BABYMMV0800

		M8
		LDA	#006
		STA	ENYUSN,X
		M16

DM_BABYMMV0800	EQU	$

		RTS
;
BABYMPT		EQU	$
		HEX	000,008
		HEX	00A,008,000,002,004,006,004,002,000
BABYMTM		EQU	$
		HEX	0FF,003
		HEX	040,003,003,003,004,040,003,004,030
;
BABYM_SUB1	EQU	$
		TYX

		LDA	ENTIM1,X
		BNE	BABYM_SUB1800

		DEC	<ENWRK0,X
		BPL	BABYM_SUB1500

		INC	<ENWRK2,X

		LDA	#0010000000000101B	;範囲クリアセット
		STA	ENMOD2,X		;

		RTS

BABYM_SUB1500	EQU	$
		M8
		LDY	<ENWRK0,X
		LDA	!BABYMTM,Y
		STA	ENTIM1,X
		LDA	!BABYMPT,Y
		STA	<ENWRK4,X
		M16

BABYM_SUB1800	EQU	$

		RTS
;
;************************************************************************
;*		initial （　ＡＣＴ−５：　よしお顔　）			*
;************************************************************************
DM_YOSH2IN	EQU	$
DM_YOSH2MV	EQU	$
		RTS
;
;************************************************************************
;*		initial （　ＡＣＴ−７：　カメック　）			*
;************************************************************************
HEIHO_XPOS_I	EQU	$-2
		WORD	00090H,0007CH,0008CH,000A4H
HEIHO_YPOS_I	EQU	$-2
		WORD	0007BH,00076H,0006EH,00077H
HEIHO_TIM0_I	EQU	$-2
;		WORD	00180H,00190H,001B0H,00218H
		WORD	00218H,001B0H,00190H,00180H
;
DM_KAMECIN	EQU	$
		LDY	#007
		STY	<ENCONT,X

		LDA	#00400H
		STA	ENGMAX,X

		LDA	#00008
		STA	<EWORK0

DM_KAMECIN0100	EQU	$
		LDY	<EWORK0
		LDA	!HEIHO_XPOS_I,Y
		STA	<EWORK2
		LDA	!HEIHO_YPOS_I,Y
		STA	<EWORK4
		LDA	!HEIHO_TIM0_I,Y
		STA	<EWORK6

		LDA	#DM_HEIHO
		JSR	DM_INSR_X

		LDA	<EWORK2
		STA	ENXPSL,Y
		LDA	<EWORK4
		STA	ENYPSL,Y
		LDA	<EWORK6
		STA	ENTIM0,Y
		LDA	<EWORK0
		STA	ENTROB,Y
		LSR	A
		DEC	A
		STA	ENCHPT,Y
		LDA	#00100H
		STA	ENTIM1,Y
		LDA	#00002
		STA	ENWRK0,Y
		LDA	#00000
		STA	ENWRKA,Y
		LDA	#00100H
		STA	ENWRK6,Y

		DEC	<EWORK0
		DEC	<EWORK0
		BNE	DM_KAMECIN0100

		LDA	#DM_FUKR2
		JSR	DM_INSR_X

		LDA	#00060H
		STA	ENXPSL,Y
		LDA	#00078H
		STA	ENYPSL,Y
		LDA	#00009
		STA	ENCONT,Y

		RTS
;
;************************************************************************
;*		move	（　ＡＣＴ−７：　カメック　）			*
;************************************************************************
;
;		ENWRK0
;		ENWRK2	ROUTINE MODE INDEX
;		ENWRK4
;
KAMEC_SUB	EQU	$
		WORD	KAMEC_SUB0
		WORD	KAMEC_SUB1
		WORD	KAMEC_SUB2
;
DM_KAMECMV	EQU	$
		TXY
		LDA	<ENWRK2,X
		ASL	A
		TAX
		JSR	(KAMEC_SUB,X)

		RTS
;
KAMEC_SUB0	EQU	$
		TYX

		LDA	ENTIM1,X
		BNE	KAMEC_SUB0100

		STZ	ENCHPT,X

KAMEC_SUB0100	EQU	$
		LDA	ENTIM0,X
		BNE	KAMEC_SUB0800

		INC	<ENWRK2,X

		DEC	<ENCONT,X
		BNE	KAMEC_SUB0500

		LDA	#00014H
		STA	ENTIM1,X
		LDA	#00004
		STA	ENCHPT,X
		DEC	A
		STA	<ENWRK0,X

		INC	<ENWRK2,X

		LDA	#00004
		LDY	ENWRK6,X
		BEQ	KAMEC_SUB0400

		LDA	#00001

KAMEC_SUB0400	EQU	$
		STA	<ENCONT,X

		RTS

KAMEC_SUB0500	EQU	$
		INC	ENCHPT,X

		LDA	#0FC00H
		STA	ENYSPD,X
		LDA	#00040H
		STA	ENGPOW,X

;;;;		   LDA	   #00008		   ;［Ｓ］
;;;;		   STA	   SOUND3

KAMEC_SUB0800	EQU	$

		RTS
;
KAMEC_SUB1	EQU	$
		TYX

		LDA	ENYSPD,X
		BMI	KAMEC_SUB1800

		LDA	#00002
		STA	ENCHPT,X

		LDA	#00086H
		CMP	ENYPSL,X
		BPL	KAMEC_SUB1800

		STA	ENYPSL,X

		STZ	ENYSPD,X
		STZ	ENGPOW,X
		LDA	#00003
		STA	ENCHPT,X
		LDA	#00004
		STA	ENTIM1,X
		LDA	#0000AH
		STA	ENTIM0,X
		DEC	<ENWRK2,X

;;;;		    LDA	    #00006		    ;［Ｓ］
;;;;		    STA	    SOUND3

KAMEC_SUB1800	EQU	$

		RTS
;
KAMEC_TIM0	EQU	$
		HEX	018,098
KAMEC_TIM1	EQU	$
		HEX	010,090
;
KAMEC_SUB2	EQU	$
		TYX

		LDA	ENTIM1,X
		BNE	KAMEC_SUB2800

		LDA	ENCHPT,X
		INC	A
		CMP	#00008
		BNE	KAMEC_SUB2100

		LDA	#00004

KAMEC_SUB2100	EQU	$
		STA	ENCHPT,X

		DEC	<ENWRK0,X
		BNE	KAMEC_SUB2300

		DEC	<ENCONT,X
		BNE	KAMEC_SUB2200

		LDA	#0101000000000101B	;範囲クリアセット
		STA	ENMOD2,X		;

		LDA	#00003H
		LDY	ENWRK6,X
		BEQ	KAMEC_SUB2180

		LDA	#0FFFFH

KAMEC_SUB2180	EQU	$
		STA	<ENCONT,X
		INC	ENWRK6,X

		STZ	<ENWRK2,X

		LDA	!KAMEC_TIM0,Y
		AND	#000FFH
		STA	ENTIM0,X
		LDA	!KAMEC_TIM1,Y
		AND	#000FFH
		BRA	KAMEC_SUB2500

KAMEC_SUB2200	EQU	$
		LDY	#003
		STY	<ENWRK0,X

		LDA	#00014H
		BRA	KAMEC_SUB2500

KAMEC_SUB2300	EQU	$
		LDA	#00004

KAMEC_SUB2500	EQU	$
		STA	ENTIM1,X

KAMEC_SUB2800	EQU	$

		RTS
;
;************************************************************************
;*		initial （　ＡＣＴ−７：　ヘイホー　）			*
;************************************************************************
DM_HEIHOIN	EQU	$
		RTS
;
;************************************************************************
;*		move	（　ＡＣＴ−７：　ヘイホー　）			*
;************************************************************************
;
;		ENWRK0	カウンター
;		ENWRK2	ROUTINE MODE INDEX
;		ENWRK4	キャラパターンインデックス
;		ENWRK6	倍率
;		ENWRK8	回転角
;		ENWRKA
;
HEIHO_CHAR	EQU	$
		WORD	CIPCHD2+4000H+001
		WORD	CIPCHD2+6000H+001
		WORD	CIPCHD2+6020H+001
		WORD	CIPCHD2+6040H+001
		WORD	CIPCHD2+6060H+001
;
HEIHO_BIT	EQU	$-2
		WORD	00000H,00020H,00040H,00060H
;
HEIHO_SUB	EQU	$
		WORD	HEIHO_SUB0
		WORD	HEIHO_SUB1
		WORD	HEIHO_SUB2
		WORD	HEIHO_SUB3
		WORD	HEIHO_SUB4
		WORD	HEIHO_SUB5
;
DM_HEIHOMV	EQU	$
		TXY
		LDA	<ENWRK2,X
		ASL	A
		TAX
		JSR	(HEIHO_SUB,X)

DM_HEIHOMV0100	EQU	$
;＊＊＊＊＊＊＊＊＜　ビットマップエリアセット　＞＊＊＊＊＊＊＊＊＊＊
		LDY	<ENWRK4,X		;転送元アドレス＆バンクセット
		LDA	!HEIHO_CHAR,Y		;(R12) <-- 転送元アドレスセット
		STA	R12			;
		LDA	#BANK CIPCHD2+4000H+001 ;(R13) <-- 転送元バンクセット
		STA	R13			;

		LDA	ENWRK8,X
		STA	R5			;(R5) <- 回転角セット

		LDA	ENWRK6,X		;(R6) <- 横倍率セット
		STA	R6			;
		LDA	#00200H			;
		SEC				;
		SBC	R6			;
		STA	R11			;(R11) <- 縦倍率セット

		LDY	ENTROB,X
		LDA	!HEIHO_BIT,Y		;(R3) <- ビットマップ座標＿Ｘセット
		STA	R3			;
		STZ	R2			;(R2) <- ビットマップ座標＿Ｙセット
;
;-------------- OBJ mode 7 set ----------------------------------
		M_CHIP	C_32_RTZ_32_XY

		LDX	<ENINDX

		LDA	#00800H
		STA	OBM7WF			;mode 7 OBJ chara DMA "ON"

		RTS
;
HEIHO_XSPD	EQU	$-2
;;		WORD	00030H,000A0H,00060H,00010H
;		WORD	00018H,00060H,00040H,00008H
		WORD	00048H,00120H,000C0H,00018H
;
HEIHO_SUB0	EQU	$
		TYX

		LDA	ENTIM1,X
		BNE	HEIHO_SUB0500

		DEC	<ENWRK0,X
		LDY	<ENWRK0,X
		BNE	HEIHO_SUB0100

		STZ	ENXSPD,X
		INC	<ENWRK2,X

		RTS

HEIHO_SUB0100	EQU	$
		LDY	ENTROB,X
		LDA	!HEIHO_XSPD,Y
		STA	ENXSPD,X

		LDA	#0000EH
		STA	ENTIM1,X

		LDA	#0000AH
		STA	ENTIM3,X

HEIHO_SUB0500	EQU	$
		LDY	<ENWRK0,X
		CPY	#001
		BNE	HEIHO_SUB0800

		LDA	ENWRK6,X
		LDY	ENTIM3,X
		BNE	HEIHO_SUB0600

		SEC
		SBC	#00030H
		CMP	#00100H
		BPL	HEIHO_SUB0700

		LDA	#00100H
		BRA	HEIHO_SUB0700

HEIHO_SUB0600	EQU	$
		CLC
		ADC	#00010H
		CMP	#00180H
		BMI	HEIHO_SUB0700

		LDA	#00180H

HEIHO_SUB0700	EQU	$
		STA	ENWRK6,X

HEIHO_SUB0800	EQU	$

		RTS
;
HEIHO_SUB1	EQU	$
		TYX
		LDA	ENTIM0,X
		BNE	HEIHO_SUB0800

		LDY	ENTROB,X
		CPY	#002
		BNE	HEIHO_SUB1100

		LDA	#00010H
		STA	ENTIM1,X
		LDA	#00002
		STA	<ENCONT,X
		STA	<ENWRK4,X
		ASL	A
		STA	<ENWRK2,X

		RTS

HEIHO_SUB1100	EQU	$
		LDY	#002
		STY	<ENWRK4,X

		LDA	#00010H
		STA	ENXPOW,X

		LDA	#00040H
		STA	ENGMAX,X
		LDA	#00300H
		STA	ENXMAX,X

		INC	<ENWRK2,X

		RTS
;
HEIHO_SUB2	EQU	$
		TYX

		LDA	#00078H
		CMP	ENYPSL,X
		BNE	HEIHO_SUB2500

		LDA	#00010H
		STA	ENGPOW,X
		INC	<ENWRK2,X

		RTS

HEIHO_SUB2500	EQU	$
		BPL	HEIHO_SUB2600

		DEC	ENYPSL,X

		RTS

HEIHO_SUB2600	EQU	$
		INC	ENYPSL,X

		RTS
;
HEIHO_PATADD	EQU	$
		WORD	00002H,0FFFEH
HEIHO_PATCMP	EQU	$
		WORD	0000AH,00000H
HEIHO_PATINT	EQU	$
		WORD	00006H,00004H
;
HEIHO_SUB3	EQU	$
		TYX

		LDA	ENTIM0,X
		BNE	HEIHO_SUB3500

		LDA	#00010H
		STA	ENTIM0,X

		LDA	ENMYNO,X
		CMP	#DM_HEIH2
		BNE	HEIHO_SUB3300

		LDA	#00040H
		STA	ENTIM0,X

HEIHO_SUB3300	EQU	$
		LDA	ENGMAX,X
		EOR	#0FFFFH
		INC	A
		STA	ENGMAX,X

HEIHO_SUB3500	EQU	$
		LDA	ENTIM2,X
		BNE	HEIHO_SUB3800

		LDA	#00002
		STA	ENTIM2,X

		LDA	ENXSPD,X		;回転角計算
		STA	R1			;
		LDA	ENYSPD,X		;
		STA	R2			;
						;
		M_CHIP	M_RAD_GET		;
						;
		LDX	<ENINDX			;

		LDA	R1			;
		M8
		EOR	#0FFH
		INC	A
		CMP	#080H
		ROR	A
		M16
		SEC
		SBC	ENWRK8,X
		BEQ	HEIHO_SUB3800
		BPL	HEIHO_SUB3600

		CMP	#0FF80H
		BMI	HEIHO_SUB3610

HEIHO_SUB3510	EQU	$
		LDA	ENWRK8,X
		SEC
		SBC	#00002
		BRA	HEIHO_SUB3700

HEIHO_SUB3600	EQU	$
		CMP	#00080H
		BPL	HEIHO_SUB3510

HEIHO_SUB3610	EQU	$
		LDA	ENWRK8,X
		CLC
		ADC	#00002

HEIHO_SUB3700	EQU	$
		AND	#000FFH
		STA	ENWRK8,X

HEIHO_SUB3800	EQU	$
		LDY	ENWRKA,X
		LDA	<ENWRK4,X
		CLC
		ADC	!HEIHO_PATADD,Y
		CMP	!HEIHO_PATCMP,Y
		BNE	HEIHO_SUB3900

		LDA	ENWRKA,X
		EOR	#00002
		STA	ENWRKA,X

		LDA	HEIHO_PATINT,Y

HEIHO_SUB3900	EQU	$
		STA	<ENWRK4,X

		RTS
;
HEIHO_SUB4	EQU	$
		TYX

		LDA	ENTIM1,X
		BNE	HEIHO_SUB4800

		DEC	<ENCONT,X
		BNE	HEIHO_SUB4100

		LDA	#0FC00H
		STA	ENYSPD,X
		LDA	#00080H
		STA	ENGPOW,X
		LDA	#00800H
		STA	ENGMAX,X
		INC	<ENWRK2,X

		RTS

HEIHO_SUB4100	EQU	$
		STZ	<ENWRK4,X

		LDA	#00020H
		STA	ENTIM1,X

HEIHO_SUB4800	EQU	$

		RTS
;
HEIHO_SUB5	EQU	$
		TYX

		LDA	#00077H
		CMP	ENYPSL,X
		BPL	HEIHO_SUB5800

		STA	ENYPSL,X

		LDY	#002
		STY	<ENWRK4,X

		STZ	ENYSPD,X
		LDA	#00010H
		STA	ENXPOW,X
		STZ	ENGPOW,X

		LDA	#00040H
		STA	ENGMAX,X
		LDA	#00300H
		STA	ENXMAX,X

		LDY	#002
		STY	<ENWRK2,X

HEIHO_SUB5800	EQU	$

		RTS
;
;************************************************************************
;*		initial （　ＡＣＴ−７：　小包	）			*
;************************************************************************
DM_FUKR2IN	EQU	$
		RTS
;
;************************************************************************
;*		move	（　ＡＣＴ−７：　小包　）			*
;************************************************************************
FUKR2_TIM1	EQU	$
		HEX	04,02,08,02,04,02,08,04,10
FUKR2_CHPT	EQU	$
		HEX	01,00,02,00,01,00,02,01,00
;
DM_FUKR2MV	EQU	$
		LDA	ENTIM1,X
		BNE	DM_FUKR2MV0800

		DEC	<ENCONT,X
		BPL	DM_FUKR2MV0100

		LDA	#00008H
		STA	<ENCONT,X

DM_FUKR2MV0100	EQU	$
		M8
		LDY	<ENCONT,X
		LDA	!FUKR2_TIM1,Y
		STA	ENTIM1,X
		LDA	!FUKR2_CHPT,Y
		STA	ENCHPT,X
		M16

DM_FUKR2MV0800	EQU	$

		RTS
;
;************************************************************************
;*		initial （　ＡＣＴ−８：　よしお　）			*
;************************************************************************
HEIH2_TIM3_I	EQU	$-2
;		WORD	00000H,00040H,00070H,000C0H
		WORD	00000H,00015H,00025H,002A0H
;
DM_YOSH3IN	EQU	$
		LDA	#00100H
		STA	ENTIM0,X
		LDA	#0FF40H
		STA	ENXMAX,X
		LDA	#000C0H
		STA	<ENWRK2,X

		LDA	#00008
		STA	<EWORK0

DM_YOSH3IN0100	EQU	$
		LDY	<EWORK0
		LDA	!HEIH2_TIM3_I,Y
		STA	<EWORK2

		LDA	#DM_HEIH2
		JSR	DM_INSR_X

		LDA	#004E0H
		STA	ENXPSL,Y
		LDA	#00040H
		STA	ENYPSL,Y
		LDA	<EWORK2
		STA	ENTIM3,Y
		LDA	<EWORK0
		STA	ENTROB,Y
		LSR	A
		DEC	A
		STA	ENCHPT,Y
		LDA	#00100H
		STA	ENWRK6,Y
		LDA	#00002
		STA	ENMUKI,Y

		DEC	<EWORK0
		DEC	<EWORK0
		BNE	DM_YOSH3IN0100

		RTS
;
;************************************************************************
;*		move	（　ＡＣＴ−８：　よしお　）			*
;************************************************************************
DM_YOSH3MV	EQU	$
		LDA	ENTIM0,X
		BNE	DM_YOSH3MV0500

		INC	A
		STA	ENXPOW,X

		DEC	<ENWRK2,X
		BPL	DM_YOSH3MV0500

		STZ	<ENWRK2,X

DM_YOSH3MV0500	EQU	$
		LDA	ENTIM1,X
		BNE	DM_YOSH3MV0800

		LDA	#00006
		STA	ENTIM1,X

		INC	ENCHPT,X
		LDA	ENCHPT,X
		CMP	#00008
		BMI	DM_YOSH3MV0800

		STZ	ENCHPT,X

DM_YOSH3MV0800	EQU	$
		LDA	<ENWRK0,X
		CLC
		ADC	<ENWRK2,X
		BIT	#0FF00H
		BEQ	DM_YOSH3MV0900

		DEC	SCCH2
		AND	#000FFH

DM_YOSH3MV0900	EQU	$
		STA	<ENWRK0,X

		JSR	YOSHI_CCHG

		RTS
;
;************************************************************************
;*		initial （　ＡＣＴ−８：　ヘイホー　）			*
;************************************************************************
DM_HEIH2IN	EQU	$
		RTS
;
;************************************************************************
;*		move	（　ＡＣＴ−８：　ヘイホー　）			*
;************************************************************************
DM_HEIH2MV	EQU	$
		LDA	ENTIM3,X
		BNE	DM_HEIH2MV0800

		LDA	ENTIM1,X
		BNE	DM_HEIH2MV0500

		DEC	A
		STA	ENTIM1,X

		LDA	#0FE80H
		LDY	ENTROB,X
		CPY	#008
		BNE	DM_HEIH2MV0300

		LDA	#0FD00H

DM_HEIH2MV0300	EQU	$
		STA	ENXSPD,X

		LDA	#00020H
		STA	ENGPOW,X
		LDA	#00080H
		STA	ENGMAX,X
		LDA	#0FF80H
		STA	ENYSPD,X

DM_HEIH2MV0500	EQU	$
		TXY
		JSR	HEIHO_SUB3

		JSR	DM_HEIHOMV0100

DM_HEIH2MV0800	EQU	$

		RTS
;
;
;
;
;
;
		END
