File : ys_enmy12.asm RICOH SFX ASSEMBLER VER. V2.11Tue Aug  1 16:39:20 1995

     1				;************************************************************************
     2				;*									*
     3				;*	title name	: "yossy"					*
     4				;*	proccess	: enemy sub.1					*
     5				;*	file name	: ys_enmy12					*
     6				;*									*
     7				;************************************************************************
     8				;
     9				;
    10						SALL
    11				;
    12						include		ys_header.inc
    13						include		ys_unit.h
    14						include		ys_pld.h
    15						include		ys_presno.h
    16						include		ys_color.h
    17						include		ys_ename.h
    18				;
    19						XALL
    20				;
    21				;
    22				;------------------------------------------------------------------------
    23				;-		global symbol						-
    24				;------------------------------------------------------------------------
    25						GLB	KAMCSIN,SHEIHIN
    26				;
    27						GLB	KAMCSMV,SHEIHMV
    28				;
    29				;------------------------------------------------------------------------
    30				;-		extern symbol						-
    31				;------------------------------------------------------------------------
    32				;
    33				;-------------< ys_main >------------------------------------------------
    34						EXT	BS_SCRE
    35						EXT	SOUND_3_ON
    36				;
    37				;-------------< ys_rpro >------------------------------------------------
    38						EXT	JSRSUB
    39						EXT	CHIPON
    40				;
    41				;-------------< ys_play >------------------------------------------------
    42						EXT	EBSTAT
    43						EXT	PFAL,PSTP,PMOV,PDEM,PGOL
    44						EXT	PFLP
    45				;
    46				;-------------< ys_bgsc >------------------------------------------------
    47				;
    48				;-------------< ys_enmy >------------------------------------------------
    49						EXT	ENEMY,ENINSB
    50						EXT	ENCLEAR,ENCLEAR_NORETN,DISPCK0,DISPCK2
    51						EXT	ENINSR,ENINSR2,EEXCHK,EEYCHK,EEXYCK,ESTATST
    52						EXT	ENINSR_I,ENINSR2_I
    53						EXT	SCOREST
    54						EXT	ENMDCK,XSDOWN,EPCRCK,MUKEOR,XSPEOR,MKEOR2,PLFLST
    55						EXT	PLFLST_2
    56						EXT	FUSENST
    57						EXT	SHOT_EN_KILL,SHOT_EN_KILL_S
    58				;
    59						EXT	EINIT,EFAIL,EMOVE,EEATM,ENOSE,EBABL
    60				;
    61						EXT	EATMXS,NOSWT
    62				;
    63						EXT	EGGKILL_ALL
    64				;
    65						EXT	FSMK0_SET2
    66				;
    67						EXT	TROBJ_CANCEL
    68						EXT	TROBJ_SR_2x2,TROBJ_SR_4x4,TROBJ_SR_8x8
    69						EXT	TROBJ_SR_2x2_CL,TROBJ_SR_4x4_CL,TROBJ_SR_8x8_CL
    70						EXT	TROBJ_OAM_2x2,TROBJ_OAM_4x4,TROBJ_OAM_8x8
    71						EXT	TROBJ_OAM_2x2_I,TROBJ_OAM_4x4_I,TROBJ_OAM_8x8_I
    72						EXT	TROBJ_CLEAR
    73						EXT	TROBJ_PLOT_X,TROBJ_PLOT_Y
    74				;
    75				;-------------< ys_enmy2 >------------------------------------------------
    76						EXT	NMZ_HOSEI
    77				;
    78				;-------------< ys_enmy3 >------------------------------------------------
    79						EXT	BSCLW_SET_B,BSCLW_SET_M,BSCLW_SET_B_T
    80						EXT	BOSS_CLEAR
    81						EXT	BOSS_EN_CHANGE
    82				;
    83				;-------------< ys_enmy4 >------------------------------------------------
    84						EXT	MPACK_DEMO_ED
    85				;
    86				;-------------< ys_enmy6 >------------------------------------------------
    87						EXT	LOCKON_TARGET,LOCKON_TARGET2
    88				;
    89				;-------------< ys_exst >------------------------------------------------
    90						EXT	EXINSR
    91				;
    92				;-------------< ys_unit >------------------------------------------------
    93						EXT	UNDTADD,UNDATA,RUTDATA
    94				;
    95				;-------------< ys_init >------------------------------------------------
    96						EXT	UNCOMPRES,VRAMDX_ST,VRAMDX_H_ST,VRAMDX_L_ST,VRAMDX_L_C_ST
    97						EXT	M_DMA_BFST
    98				;
    99				;-------------< ys_play >------------------------------------------------
   100						EXT	TIMEUP_SET
   101				;
   102				;-------------< ys_game >------------------------------------------------
   103						EXT	BS1_MSG
   104				;
   105				;-------------< ys_data >------------------------------------------------
   106						EXT	SIN,COS
   107				;
   108				;-------------< ys_msgdt >------------------------------------------------
   109						EXT	BS3_MSG_2
   110				;
   111				;
   112				;------------------------------------------------------------------------
   113				;-		define symbol						-
   114				;------------------------------------------------------------------------
   115		000000		BABY_INDEX	EQU	00
   116				;
   117				;
   118				;
   119				;************************************************************************
   120				;*									*
   121				;*		program start						*
   122				;*									*
   123				;************************************************************************
   124				;
   125						EXTEND
   126				;
   127						MEM16
   128						IDX8
   129				;
   130						DPAGE	EN0RAM
   131				;
   132				Group_0		GROUP	Enmy12_pro
   133				Enmy12_pro	SECT	REL
   134				;
   135				;
   136				;
   137				;************************************************************************
   138				;*		initial ( かめっく )					*
   139				;************************************************************************
   140		000000		KAMCSIN		EQU	$			;-- kamcsin --
   141	E000000 6B				RTL
   142				;
   143				;************************************************************************
   144				;*		move	( かめっく )					*
   145				;************************************************************************
   146				;		ENWRK0
   147				;		ENWRK2	ROUTINE MODE INDEX
   148				;
   149		000001		KAMCS_SUB	EQU	$
   150	E000001 002B'                           WORD    KAMCS_SUB0
   151	E000003 0065'                           WORD    KAMCS_SUB1
   152	E000005 0094'                           WORD    KAMCS_SUB2
   153	E000007 00B5'                           WORD    KAMCS_SUB3
   154				;
   155		000009		KAMCSMV		EQU	$			;-- kamcsmv --
   156	E000009 A0 01				LDY	#01
   157	E00000B 8C 0C1E				STY	ATSCRL_H
   158
   159	E00000E B5 78				LDA	<ENWRK4,X
   160	E000010 38				SEC
   161	E000011 ED 0039				SBC	SCCH1
   162	E000014 C9 00F0				CMP	#000F0H
   163	E000017 30 03				BMI	KAMCSMV0100
   164
   165	E000019 EE 0039				INC	SCCH1
   166
   167		00001C		KAMCSMV0100	EQU	$
   168	E00001C AD 0039				LDA	SCCH1
   169	E00001F 8D 0C23				STA	ATSCRL_SCCH1
   170
   171	E000022 9B				TXY
   172	E000023 B5 76				LDA	<ENWRK2,X
   173	E000025 0A				ASL	A
   174	E000026 AA				TAX
   175	E000027 FC 0001'                        JSR     (KAMCS_SUB,X)
   176
   177	E00002A 6B				RTL
   178				;
   179				;
   180				;CHPT <- 0 XSPD<-0FC00H XPOW<-040H
   181		00002B		KAMCS_SUB0	EQU	$
   182	E00002B BB				TYX
   183
   184	E00002C BD 7220				LDA	ENXSPD,X
   185	E00002F 30 15				BMI	KAMCS_SUB0300
   186
   187	E000031 9E 7220				STZ	ENXSPD,X
   188	E000034 9E 7540				STZ	ENXPOW,X
   189	E000037 A9 0002				LDA	#00002
   190	E00003A 9D 7402				STA	ENCHPT,X
   191	E00003D A9 0020				LDA	#00020H
   192	E000040 9D 7A96				STA	ENTIM0,X
   193	E000043 F6 76				INC	<ENWRK2,X
   194	E000045 60				RTS
   195
   196		000046		KAMCS_SUB0300	EQU	$
   197	E000046 C9 FF00				CMP	#0FF00H			;止まりかけている ?
   198	E000049 30 05				BMI	KAMCS_SUB0500		;  no: KAMCS_SUB0500
   199
   200	E00004B A9 0005				LDA	#00005H
   201	E00004E 80 11				BRA	KAMCS_SUB0800
   202
   203		000050		KAMCS_SUB0500	EQU	$
   204	E000050 BD 7A98				LDA	ENTIM1,X
   205	E000053 D0 0F				BNE	KAMCS_SUB0900
   206
   207	E000055 A9 0002				LDA	#00002
   208	E000058 9D 7A98				STA	ENTIM1,X
   209	E00005B BD 7402				LDA	ENCHPT,X
   210	E00005E 49 0001				EOR	#00001
   211
   212		000061		KAMCS_SUB0800	EQU	$
   213	E000061 9D 7402				STA	ENCHPT,X
   214
   215		000064		KAMCS_SUB0900	EQU	$
   216
   217	E000064 60				RTS
   218				;
   219				;CONT<- 09H
   220		000065		KAMCS_SUB1	EQU	$
   221	E000065 BB				TYX
   222
   223	E000066 BD 7A96				LDA	ENTIM0,X		;ストップ ?
   224	E000069 1D 7A98				ORA	ENTIM1,X
   225	E00006C D0 25				BNE	KAMCS_SUB1800		;  no: KAMCS_SUB1800
   226
   227	E00006E FE 7402				INC	ENCHPT,X
   228	E000071 BD 7402				LDA	ENCHPT,X
   229	E000074 C9 0004				CMP	#00004
   230	E000077 D0 14				BNE	KAMCS_SUB1100
   231
   232	E000079 A9 005B				LDA	#0005BH			;［Ｓ］
   233	E00007C 22 000000"                      JSL     >SOUND_3_ON
   234	E000080 A9 0000"                        LDA     #BS3_MSG_2
   235	E000083 8F 704070			STA	>MSG_NO
   236	E000087 EE 0D0F				INC	MSGMOD
   237	E00008A F6 76				INC	<ENWRK2,X
   238
   239	E00008C 60				RTS
   240
   241		00008D		KAMCS_SUB1100	EQU	$
   242	E00008D A9 0008				LDA	#00008H
   243	E000090 9D 7A98				STA	ENTIM1,X
   244
   245		000093		KAMCS_SUB1800	EQU	$
   246
   247	E000093 60				RTS
   248				;
   249		000094		KAMCS_SUB2	EQU	$
   250	E000094 BB				TYX
   251
   252	E000095 AD 0D0F				LDA	MSGMOD			;メッセージ消えた ?
   253	E000098 D0 1A				BNE	KAMCS_SUB2800		;  no: KAMSC2_SUB2800
   254
   255	E00009A A9 0002				LDA	#00002
   256	E00009D 9D 7402				STA	ENCHPT,X
   257	E0000A0 A9 FC00				LDA	#0FC00H
   258	E0000A3 9D 7220				STA	ENXSPD,X
   259	E0000A6 A9 0040				LDA	#00040H
   260	E0000A9 9D 7540				STA	ENXPOW,X
   261	E0000AC A9 0400				LDA	#00400H
   262	E0000AF 9D 75E0				STA	ENXMAX,X
   263	E0000B2 F6 76				INC	<ENWRK2,X
   264
   265		0000B4		KAMCS_SUB2800	EQU	$
   266		0000B4		KAMCS_SUB3000	EQU	$
   267
   268	E0000B4 60				RTS
   269				;
   270		0000B5		KAMCS_SUB3	EQU	$
   271	E0000B5 BB				TYX
   272
   273	E0000B6 BD 7220				LDA	ENXSPD,X
   274	E0000B9 18				CLC
   275	E0000BA 69 0080				ADC	#00080H
   276	E0000BD C9 0100				CMP	#00100H
   277	E0000C0 B0 05				BCS	KAMCS_SUB3100
   278
   279	E0000C2 A9 0006				LDA	#00006
   280	E0000C5 80 11				BRA	KAMCS_SUB3500
   281
   282		0000C7		KAMCS_SUB3100	EQU	$
   283	E0000C7 18				CLC
   284	E0000C8 69 0080				ADC	#00100H-00080H
   285	E0000CB C9 0200				CMP	#00200H
   286	E0000CE B0 05				BCS	KAMCS_SUB3200
   287
   288	E0000D0 A9 0005				LDA	#00005
   289	E0000D3 80 03				BRA	KAMCS_SUB3500
   290
   291		0000D5		KAMCS_SUB3200	EQU	$
   292	E0000D5 A9 0002				LDA	#00002
   293
   294		0000D8		KAMCS_SUB3500	EQU	$
   295	E0000D8 9D 7402				STA	ENCHPT,X
   296
   297	E0000DB BD 7220				LDA	ENXSPD,X
   298	E0000DE 30 06				BMI	KAMCS_SUB3800
   299
   300	E0000E0 A9 0002				LDA	#00002
   301	E0000E3 9D 7400				STA	ENMUKI,X
   302
   303		0000E6		KAMCS_SUB3800	EQU	$
   304	E0000E6 BD 7680				LDA	ENDSXL,X		;画面外に出た ?
   305	E0000E9 C9 0140				CMP	#00140H			;
   306	E0000EC 30 C6				BMI	KAMCS_SUB3000		;  no: KAMCS_SUB3000
   307
   308	E0000EE AE 108A				LDX	ZPACKIDX
   309	E0000F1 BD 70E2				LDA	ENXPSL,X
   310	E0000F4 85 00				STA	<EWORK0
   311	E0000F6 BD 7182				LDA	ENYPSL,X
   312	E0000F9 85 02				STA	<EWORK2
   313	E0000FB 22 000000"                      JSL     >BSCLW_SET_B
   314
   315	E0000FF AE 108A				LDX	ZPACKIDX
   316	E000102 22 000000"                      JSL     >ENCLEAR
   317	E000106 A6 12				LDX	<ENINDX
   318	E000108 68				PLA
   319	E000109 5C 000000"                      JMP     >ENCLEAR
   320				;
   321				;************************************************************************
   322				;*		initial ( small heiho- )				*
   323				;************************************************************************
   324		00010D		SHEIHIN		EQU	$			;-- sheihin --
   325	E00010D AC 0073				LDY	SCHMK1
   326	E000110 F0 04				BEQ	SHEIHIN0100
   327
   328	E000112 5C 000000"                      JMP     >ENCLEAR
   329
   330		000116		SHEIHIN0100	EQU	$
   331	E000116 BD 70E2				LDA	ENXPSL,X
   332	E000119 38				SEC
   333	E00011A ED 0039				SBC	SCCH1
   334	E00011D 18				CLC
   335	E00011E 6D 003D				ADC	SCCH2
   336	E000121 9D 70E2				STA	ENXPSL,X
   337	E000124 9D 7900				STA	ENWRKA,X
   338	E000127 BD 7182				LDA	ENYPSL,X
   339	E00012A 18				CLC
   340	E00012B 69 0008				ADC	#00008
   341	E00012E 38				SEC
   342	E00012F ED 003B				SBC	SCCV1
   343	E000132 18				CLC
   344	E000133 6D 003F				ADC	SCCV2
   345	E000136 29 FFF8				AND	#0FFF8H
   346	E000139 18				CLC
   347	E00013A 69 000A				ADC	#0000AH
   348	E00013D 9D 7182				STA	ENYPSL,X
   349	E000140 9D 7902				STA	ENWRKC,X
   350	E000143 FE 74A1				INC	ENDORE,X		;８ビット、ＢＧ２に付随する
   351	E000146 FE 74A1				INC	ENDORE,X
   352
   353	E000149 6B				RTL
   354				;
   355				;************************************************************************
   356				;*		move	( ana_hori wang-wang )				*
   357				;************************************************************************
   358				;		ENWRK0
   359				;		ENWRK2	ROUTINE MODE INDEX
   360				;		ENWRK4
   361				;		ENWRK6
   362				;		ENWRK8
   363				;		ENWRKA	出現Ｘ　ＰＯＳ．
   364				;		ENWRKC	出現Ｙ　ＰＯＳ．
   365				;
   366				;		ENCONT
   367				;
   368				;		ENTIM0
   369				;		ENTIM1
   370				;		ENTIM2	方向転換タイマー
   371				;		ENTIM3
   372				;
   373		00014A		SHEIH_XSPD	EQU	$
   374	E00014A FFE0 0020			WORD	0FFE0H,00020H
   375				;
   376		00014E		SHEIHMV		EQU	$			;-- sheihmv --
   377	E00014E 22 000000"                      JSL     >ENMDCK
   378
   379	E000152 22 000000"                      JSL     >DISPCK2                ;画面中 ?
   380	E000156 90 04				BCC	SHEIHMV0100		; yes: SHEIHMV0100
   381
   382	E000158 5C 000000"                      JMP     >ENCLEAR_NORETN
   383
   384		00015C		SHEIHMV0100	EQU	$
   385	E00015C BD 7400				LDA	ENMUKI,X
   386	E00015F 3A				DEC	A
   387	E000160 85 00				STA	<EWORK0
   388
   389	E000162 BD 70E2				LDA	ENXPSL,X		;行動範囲内 ?
   390	E000165 38				SEC				;
   391	E000166 FD 7900				SBC	ENWRKA,X		;
   392	E000169 18				CLC				;
   393	E00016A 69 0020				ADC	#00020H			;
   394	E00016D C9 0040				CMP	#00040H			;
   395	E000170 90 19				BCC	SHEIHMV0700		;
   396										;
   397	E000172 45 00				EOR	<EWORK0			;
   398	E000174 30 15				BMI	SHEIHMV0700		; yes: SHEIHMV0700
   399
   400		000176		SHEIHMV0500	EQU	$
   401	E000176 A5 10				LDA	<RANDM0
   402	E000178 29 001F				AND	#0001FH
   403	E00017B 18				CLC
   404	E00017C 69 0030				ADC	#00030H
   405	E00017F 9D 7AF6				STA	ENTIM2,X
   406
   407	E000182 BD 7400				LDA	ENMUKI,X
   408	E000185 49 0002				EOR	#00002
   409	E000188 9D 7400				STA	ENMUKI,X
   410
   411		00018B		SHEIHMV0700	EQU	$
   412	E00018B BC 7AF6				LDY	ENTIM2,X		;反転する ?
   413	E00018E F0 E6				BEQ	SHEIHMV0500		; yes: SHEIHMV0500
   414
   415	E000190 BC 7400				LDY	ENMUKI,X
   416	E000193 B9 014A'                        LDA     !SHEIH_XSPD,Y
   417	E000196 9D 7220				STA	ENXSPD,X
   418
   419	E000199 BC 7A98				LDY	ENTIM1,X
   420	E00019C D0 0F				BNE	SHEIHMV0800
   421
   422	E00019E A9 0008				LDA	#00008
   423	E0001A1 9D 7A98				STA	ENTIM1,X
   424
   425	E0001A4 BD 7402				LDA	ENCHPT,X
   426	E0001A7 49 0001				EOR	#00001
   427	E0001AA 9D 7402				STA	ENCHPT,X
   428
   429		0001AD		SHEIHMV0800	EQU	$
   430
   431	E0001AD 6B				RTL
   432				;
   433				;
   434				;
   435	E0001AE					END
