[firebatl] Fire Battle

This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
Post Reply
jman
CheatFinder Lance Corporal
CheatFinder Lance Corporal
Posts: 67
Joined: Tue Dec 01, 2020 1:24 pm

[firebatl] Fire Battle

Post by jman »

Code: Select all

<cheat desc="no hit">
	<script state="on">
		<action>maincpu.mw@22fa = 0318</action>
	</script>
	<script state="off">
		<action>maincpu.mw@22fa = 0136</action>
	</script>
</cheat>

<cheat desc="auto fire">
	<script state="on">
		<action>maincpu.mb@0782 = 01</action> <!-- shot -->
		<action>maincpu.mb@0702 = 01</action> <!-- bomb -->
	</script>
	<script state="off">
		<action>maincpu.mb@0782 = 1e</action>
		<action>maincpu.mb@0702 = 1e</action>
	</script>
</cheat>

<cheat desc="player speed">
	<parameter min="0x01" max="0x05" step="0x01" />
	<script state="on">
		<!-- x position -->
		<action>maincpu.md@0659 =         825190cd</action>
		<action>maincpu.mq@5190 = 003e80fe0828a77a</action>
		<action>maincpu.mq@5198 = c982db3a572f0138</action>
		<!--
		0659 | cd 90 51 : call $5190
		5190 | 7a       : ld   a,d
		5191 | a7       : and  a
		5192 | 28 08    : jr   z,$519c
		5194 | fe 80    : cp   $80
		5196 | 3e xx    : ld   a,$xx
		5198 | 38 01    : jr   c,$519b
		519a | 2f       : cpl
		519b | 57       : ld   d,a
		519c | 3a db 82 : ld   a,($82db)
		519f | c9       : ret
		-->
		<!-- y position -->
		<action>maincpu.md@0665 =         1951a0cd</action>
		<action>maincpu.mq@51a0 = 003e80fe0828a77b</action>
		<action>maincpu.mq@51a8 = c982dc2a5f2f0138</action>
		<!--
		0665 | cd 90 51 : call $51a0
		51a0 | 7b       : ld   a,e
		51a1 | a7       : and  a
		51a2 | 28 08    : jr   z,$51ac
		51a4 | fe 80    : cp   $80
		51a6 | 3e xx    : ld   a,$xx
		51a8 | 38 01    : jr   c,$51ab
		51aa | 2f       : cpl
		51ab | 5f       : ld   e,a
		51ac | 2a dc 82 : ld   hl,($82dc)
		51af | c9       : ret
		-->
	</script>
	<script state="change">
		<action>maincpu.mb@5197 = param</action>
		<action>maincpu.mb@51a7 = param</action>
	</script>
	<script state="off">
		<action>maincpu.md@0659 =         8282db3a</action>
		<action>maincpu.mq@5190 = 0000000000000000</action>
		<action>maincpu.mq@5198 = 0000000000000000</action>
		<action>maincpu.md@0665 =         1982dc2a</action>
		<action>maincpu.mq@51a0 = 0000000000000000</action>
		<action>maincpu.mq@51a8 = 0000000000000000</action>
	</script>
</cheat>

<cheat desc="bullet speed">
	<parameter>
		<item value="0xf8">01</item>
		<item value="0xf0">02</item>
		<item value="0xe8">03</item>
		<item value="0xe0">04</item>
		<item value="0xd8">05</item>
	</parameter>
	<script state="change">
		<action>maincpu.mb@07d0 = param</action>
	</script>
	<script state="off">
		<action>maincpu.mb@07d0 = f0</action>
	</script>
</cheat>

<cheat desc="fast bomb">
	<script state="on">
		<action>maincpu.mb@0733 = 01</action>
	</script>
	<script state="off">
		<action>maincpu.mb@0733 = 05</action>
	</script>
</cheat>

<cheat desc="skip ram check">
	<script state="on">
		<action>maincpu.mw@0011 = 0013</action>
	</script>
	<script state="off">
		<action>maincpu.mw@0011 = 03a7</action>
	</script>
</cheat>
I research current ROM codes for firebatl in the database and improve there codes.
Especially, "Scrap the Self Check" (="skip ram check") has memory initialization problem in some cases.
jman
CheatFinder Lance Corporal
CheatFinder Lance Corporal
Posts: 67
Joined: Tue Dec 01, 2020 1:24 pm

[firebatl] update

Post by jman »

Code: Select all

<cheat desc="player speed">
	<parameter min="0x01" max="0x05" step="0x01" />
	<script state="on">
		<!-- x position -->
		<action>maincpu.md@0659 =         825190cd</action>
		<action>maincpu.mq@5190 = 9bf2003e0828a77a</action>
		<action>maincpu.mq@5198 = c982db3a5744ed51</action>
		<!--
		0659 | cd 90 51 : call $5190
		5190 | 7a       : ld   a,d
		5191 | a7       : and  a
		5192 | 28 08    : jr   z,$519c
		5194 | 3e xx    : ld   a,$xx
		5196 | f2 9b 51 : jp   p,$519b
		5199 | ed 44    : neg
		519b | 57       : ld   d,a
		519c | 3a db 82 : ld   a,($82db)
		519f | c9       : ret
		-->
		<!-- y position -->
		<action>maincpu.md@0665 =         1951a0cd</action>
		<action>maincpu.mq@51a0 = abf2003e0828a77b</action>
		<action>maincpu.mq@51a8 = c982dc2a5f44ed51</action>
		<!--
		0665 | cd a0 51 : call $51a0
		51a0 | 7b       : ld   a,e
		51a1 | a7       : and  a
		51a2 | 28 08    : jr   z,$51ac
		51a4 | 3e xx    : ld   a,$xx
		51a6 | f2 ab 51 : jp   p,$51ab
		51a9 | ed 44    : neg
		51ab | 5f       : ld   e,a
		51ac | 2a dc 82 : ld   hl,($82dc)
		51af | c9       : ret
		-->
	</script>
	<script state="change">
		<action>maincpu.mb@5195 = param</action>
		<action>maincpu.mb@51a5 = param</action>
	</script>
	<script state="off">
		<action>maincpu.md@0659 =         8282db3a</action>
		<action>maincpu.mq@5190 = 0000000000000000</action>
		<action>maincpu.mq@5198 = 0000000000000000</action>
		<action>maincpu.md@0665 =         1982dc2a</action>
		<action>maincpu.mq@51a0 = 0000000000000000</action>
		<action>maincpu.mq@51a8 = 0000000000000000</action>
	</script>
</cheat>
Fixed "player speed" code. I mistake "NEG" opcode for "CPL".
Post Reply