[fjbuster] Shogun Warriors/Fujiyama Buster

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

[fjbuster] Shogun Warriors/Fujiyama Buster

Post by jman »

Code: Select all

<cheat desc="no hit">
	<parameter>
		<item value="0x01">PL1</item>
		<item value="0x02">PL2</item>
		<item value="0x03">both players</item>
	</parameter>
	<script state="on">
		<!-- attack -->
		<action>maincpu.mq@0a3c2 = 4eb90003ff004ed0</action>
		<action>maincpu.mq@3ff00 = 41fa001e70012218</action>
		<action>maincpu.mq@3ff08 = 6706224108910007</action>
		<action>maincpu.mq@3ff10 = 51c8fff420790020</action>
		<action>maincpu.mq@3ff18 = 38024e7500000000</action>
		<!--
		0a3c2 | 4eb9 0003 ff00 : jsr     $3ff00.l
		3ff00 | 41fa 001e      : lea     ($1e,PC);($3ff20),A0
		3ff04 | 7001           : moveq   #$1,D0
		3ff06 | 2218           : move.l  (A0)+,D1
		3ff08 | 6706           : beq     $3ff10
		3ff0a | 2241           : movea.l D1,A1
		3ff0c | 0891 0007      : bclr    #$7,(A1)
		3ff10 | 51c8 fff4      : dbra    D0,$3ff06
		3ff14 | 2079 0020 3802 : movea.l $203802.l,A0
		3ff1a | 4e75           : rts
		3ff20 - 3ff27          : player table
		-->
		<!-- throw -->
		<action>maincpu.md@019a8 = 0003ff30</action>
		<action>maincpu.md@019e0 = 0003ff30</action>
		<action>maincpu.md@01a4e = 0003ff30</action>
		<action>maincpu.mq@3ff30 = 2f0841fa001c7401</action>
		<action>maincpu.mq@3ff38 = b7d8660670014241</action>
		<action>maincpu.mq@3ff40 = 600a51cafff44eb9</action>
		<action>maincpu.mq@3ff48 = 00004080205f4e75</action>
		<!--
		019a6 | 4eb9 0003 ff30 : jsr    $3ff30.l
		019de | 4eb9 0003 ff30 : jsr    $3ff30.l
		01a4c | 4eb9 0003 ff30 : jsr    $3ff30.l
		3ff30 | 2f08           : move.l  A0,-(A7)
		3ff32 | 4dfa 001c      : lea     ($1c,PC);($3ff50),A6
		3ff36 | 7401           : moveq   #$1,D2
		3ff38 | b7d8           : cmpa.l  (A0)+,A3
		3ff3a | 6606           : bne     $3ff42
		3ff3c | 7001           : moveq   #$1,D0
		3ff3e | 4241           : clr.w   D1
		3ff40 | 600a           : bra     $3ff4c
		3ff42 | 51ca fff4      : dbra    D2,$3ff38
		3ff46 | 4eb9 0000 4080 : jsr     $4080.l
		3ff4c | 205f           : movea.l (A7)+,A0
		3ff4e | 4e75           : rts
		3ff50 - 3ff57          : player table
		-->
		<!-- CPU throw -->
		<action>maincpu.mb@0b1da = 60</action>
		<action>maincpu.mb@0ba8e = 60</action>
	</script>
	<script state="change">
		<action>                                  maincpu.mq@3ff20 = 0000000000000000</action>
		<action condition="(param band 01) != 00">maincpu.md@3ff20 = 0010280a</action>
		<action condition="(param band 02) != 00">maincpu.md@3ff24 = 0010280e</action>
		<action>                                  maincpu.mq@3ff50 = 0000000000000000</action>
		<action condition="(param band 01) != 00">maincpu.md@3ff50 = 00102808</action>
		<action condition="(param band 02) != 00">maincpu.md@3ff54 = 0010280c</action>
	</script>
	<script state="off">
		<action>maincpu.mq@0a3c2 = 2079002038024ed0</action>
		<action>maincpu.mq@3ff00 = 0000000000000000</action>
		<action>maincpu.mq@3ff08 = 0000000000000000</action>
		<action>maincpu.mq@3ff10 = 0000000000000000</action>
		<action>maincpu.mq@3ff18 = 0000000000000000</action>
		<action>maincpu.mq@3ff20 = 0000000000000000</action>
		<action>maincpu.md@019a8 = 00004080</action>
		<action>maincpu.md@019e0 = 00004080</action>
		<action>maincpu.md@01a4e = 00004080</action>
		<action>maincpu.mq@3ff30 = 0000000000000000</action>
		<action>maincpu.mq@3ff38 = 0000000000000000</action>
		<action>maincpu.mq@3ff40 = 0000000000000000</action>
		<action>maincpu.mq@3ff48 = 0000000000000000</action>
		<action>maincpu.mq@3ff50 = 0000000000000000</action>
		<action>maincpu.mb@0b1da = 62</action>
		<action>maincpu.mb@0ba8e = 62</action>
	</script>
</cheat>

<cheat desc="auto fire PL1">
	<script state="on">
		<action>maincpu.mb@3ef1 = 04</action> <!-- kick -->
		<action>maincpu.mb@3f07 = 00</action> <!-- punch -->
	</script>
	<script state="off">
		<action>maincpu.mb@3ef1 = 0c</action>
		<action>maincpu.mb@3f07 = 08</action>
	</script>
</cheat>

<cheat desc="attack speed up PL1">
	<script state="on">
		<action>maincpu.mq@07368 = 4eb90003ff604e71</action>
		<action>maincpu.mq@3ff60 = 1b580083bbfc0010</action>
		<action>maincpu.mq@3ff68 = 280866202f0841fa</action>
		<action>maincpu.mq@3ff70 = 00301239001063f3</action>
		<action>maincpu.mq@3ff78 = 7009b2186602600a</action>
		<action>maincpu.mq@3ff80 = 51c8fff81b7c0001</action>
		<action>maincpu.mq@3ff88 = 0083205f2b480180</action>
		<action>maincpu.mq@3ff90 = 4e75000000000000</action>
		<action>maincpu.mq@3ffa0 = 181e1f2021222324</action>
		<action>maincpu.mq@3ffa8 = 2500000000000000</action>
		<!--
		07368 | 4eb9 0003 ff60 4e71 : jsr     $3ff60.l / nop
		3ff60 | 1b58 0083           : move.b  (A0)+,($83,A5)
		3ff64 | bbfc 0010 2808      : cmpa.l  #$102808,A5
		3ff6a | 6620                : bne     $3ff8c
		3ff6c | 2f08                : move.l  A0,-(A7)
		3ff6e | 41fa 0030           : lea     ($30,PC);($3ffa0),A0
		3ff72 | 1239 0010 63f3      : move.b  $1063f3.l,D1
		3ff78 | 7008                : moveq   #$9,D0
		3ff7a | b218                : cmp.b   (A0)+,D1
		3ff7c | 6602                : bne     $3ff80
		3ff7e | 600a                : bra     $3ff8a
		3ff80 | 51c8 fff8           : dbra    D0,$3ff7a
		3ff84 | 1b7c 0001 0083      : move.b  #$1,($83,A5)
		3ff8a | 205f                : movea.l (A7)+,A0
		3ff8c | 2b48 0180           : move.l  A0,($180,A5)
		3ff90 | 4e75                : rts
		3ffa0 - 3ffa8               : action status table
		-->
	</script>
	<script state="off">
		<action>maincpu.mq@07368 = 1b5800832b480180</action>
		<action>maincpu.mq@3ff60 = 0000000000000000</action>
		<action>maincpu.mq@3ff68 = 0000000000000000</action>
		<action>maincpu.mq@3ff70 = 0000000000000000</action>
		<action>maincpu.mq@3ff78 = 0000000000000000</action>
		<action>maincpu.mq@3ff80 = 0000000000000000</action>
		<action>maincpu.mq@3ff88 = 0000000000000000</action>
		<action>maincpu.mq@3ff90 = 0000000000000000</action>
		<action>maincpu.mq@3ffa0 = 0000000000000000</action>
		<action>maincpu.mq@3ffa8 = 0000000000000000</action>
	</script>
</cheat>

<cheat desc="skip rom check">
	<script state="on">
		<action>maincpu.mw@2238e = 6026</action>
	</script>
	<script state="off">
		<action>maincpu.mw@2238e = 4df8</action>
	</script>
</cheat>
Still need test and more improvement.
jman
CheatFinder Lance Corporal
CheatFinder Lance Corporal
Posts: 67
Joined: Tue Dec 01, 2020 1:24 pm

[fjbuster] update codes

Post by jman »

Update.

Code: Select all

<cheat desc="no hit">
	<parameter>
		<item value="0x01">PL1</item>
		<item value="0x02">PL2</item>
		<item value="0x03">both players</item>
	</parameter>
	<script state="on">
		<!-- attack -->
		<action>maincpu.mq@0a3c2 = 4eb90003ff004ed0</action>
		<action>maincpu.mq@3ff00 = 207c0010280a6110</action>
		<action>maincpu.mq@3ff08 = 207c0010280e6108</action>
		<action>maincpu.mq@3ff10 = 2079002038024e75</action>
		<action>maincpu.mq@3ff18 = 089000074e750000</action>
		<!--
		0a3c2 | 4eb9 0003 ff00 : jsr     $3ff00.l
		3ff00 | 207c 0010 280a : movea.l #$10280a,A0
		3ff06 | 6110           : bsr     $3ff18
		3ff08 | 207c 0010 280e : movea.l #$10280c,A0
		3ff0e | 6108           : bsr     $3ff18
		3ff10 | 2079 0020 3802 : movea.l $203802.l,A0
		3ff16 | 4e75           : rts
		3ff18 | 0890 0007      : bclr    #$7,(A0)
		3ff1c | 4e75           : rts
		-->
		<!-- throw -->
		<action>maincpu.md@019a8 = 0003ff20</action>
		<action>maincpu.md@019e0 = 0003ff20</action>
		<action>maincpu.md@01a4e = 0003ff20</action>
		<action>maincpu.mq@3ff20 = 4eb900004080b7fc</action>
		<action>maincpu.mq@3ff28 = 001028086602610c</action>
		<action>maincpu.mq@3ff30 = b7fc0010280c6602</action>
		<action>maincpu.mq@3ff38 = 61024e7570014241</action>
		<action>maincpu.mq@3ff40 = 4e75000000000000</action>
		<!--
		019a6 | 4eb9 0003 ff20 : jsr    $3ff20.l
		019de | 4eb9 0003 ff20 : jsr    $3ff20.l
		01a4c | 4eb9 0003 ff20 : jsr    $3ff20.l
		3ff20 | 4eb9 0000 4080 : jsr    $4080.l
		3ff26 | b7fc 0010 2808 : cmpa.l #$102808,A3
		3ff2c | 6602           : bne    $3ff30
		3ff2e | 610c           : bsr    $3ff3c
		3ff30 | b7fc 0010 280c : cmpa.l #$10280c,A3
		3ff36 | 6602           : bne    $3ff3a
		3ff38 | 6102           : bsr    $3ff3c
		3ff3a | 4e75           : rts
		3ff3c | 7001           : moveq  #$1,D0
		3ff3e | 4241           : clr.w  D1
		3ff40 | 4e75           : rts
		-->
		<!-- CPU throw -->
		<action>maincpu.mb@0b1da = 60</action>
		<action>maincpu.mb@0ba8e = 60</action>
	</script>
	<script state="change">
		<action>                                  maincpu.mw@3ff06 = 4e71</action>
		<action>                                  maincpu.mw@3ff0e = 4e71</action>
		<action condition="(param band 01) != 00">maincpu.mw@3ff06 = 6110</action>
		<action condition="(param band 02) != 00">maincpu.mw@3ff0e = 6108</action>
		<action>                                  maincpu.mw@3ff2c = 6002</action>
		<action>                                  maincpu.mw@3ff36 = 6002</action>
		<action condition="(param band 01) != 00">maincpu.mw@3ff2c = 6602</action>
		<action condition="(param band 02) != 00">maincpu.mw@3ff36 = 6602</action>
	</script>
	<script state="off">
		<action>maincpu.mq@0a3c2 = 2079002038024ed0</action>
		<action>maincpu.mq@3ff00 = 0000000000000000</action>
		<action>maincpu.mq@3ff08 = 0000000000000000</action>
		<action>maincpu.mq@3ff10 = 0000000000000000</action>
		<action>maincpu.mq@3ff18 = 0000000000000000</action>
		<action>maincpu.md@019a8 = 00004880</action>
		<action>maincpu.md@019e0 = 00004880</action>
		<action>maincpu.md@01a4e = 00004880</action>
		<action>maincpu.mq@3ff20 = 0000000000000000</action>
		<action>maincpu.mq@3ff28 = 0000000000000000</action>
		<action>maincpu.mq@3ff30 = 0000000000000000</action>
		<action>maincpu.mq@3ff38 = 0000000000000000</action>
		<action>maincpu.mq@3ff40 = 0000000000000000</action>
	</script>
</cheat>

<cheat desc="auto fire PL2">
	<script state="on">
		<action>maincpu.mb@3e6b = 02</action> <!-- kick -->
		<action>maincpu.mb@3f77 = 04</action> <!-- punch -->
	</script>
	<script state="off">
		<action>maincpu.mb@3e6b = 0a</action>
		<action>maincpu.mb@3f77 = 0c</action>
	</script>
</cheat>

<cheat desc="attack speed up">
	<parameter>
		<item value="0x01">PL1</item>
		<item value="0x02">PL2</item>
		<item value="0x03">both players</item>
	</parameter>
	<script state="on">
		<action>maincpu.mq@07368 = 4eb90003ff604e71</action>
		<action>maincpu.mq@3ff60 = 1b5800832f08bbfc</action>
		<action>maincpu.mq@3ff68 = 0010280866081039</action>
		<action>maincpu.mq@3ff70 = 001063f36118bbfc</action>
		<action>maincpu.mq@3ff78 = 0010280c66081039</action>
		<action>maincpu.mq@3ff80 = 001065036108205f</action>
		<action>maincpu.mq@3ff88 = 2b4801804e7541fa</action>
		<action>maincpu.mq@3ff90 = 00204a106706b018</action>
		<action>maincpu.mq@3ff98 = 670860f61b7c0001</action>
		<action>maincpu.mq@3ffa0 = 00834e7500000000</action>
		<action>maincpu.mq@3ffb0 = 18191e1f20212223</action>
		<action>maincpu.mq@3ffb8 = 24252b2c2d000000</action>
		<!--
		07368 | 4eb9 0003 ff60 4e71 : jsr     $3ff60.l / nop
		3ff60 | 1b58 0083           : move.b  (A0)+,($83,A5)
		3ff64 | 2f08                : move.l  A0,-(A7)
		3ff66 | bbfc 0010 2808      : cmpa.l  #$102808,A5
		3ff6c | 6608                : bne     $3ff76
		3ff6e | 1039 0010 63f3      : move.b  $1063f3.l,D0
		3ff74 | 6118                : bsr     $3ff8e
		3ff76 | bbfc 0010 280c      : cmpa.l  #$10280c,A5
		3ff7c | 6608                : bne     $3ff86
		3ff7e | 1039 0010 6503      : move.b  $106503.l,D0
		3ff84 | 6108                : bsr     $3ff8e
		3ff86 | 205f                : movea.l (A7)+,A0
		3ff88 | 2b48 0180           : move.l  A0,($180,A5)
		3ff8c | 4e75                : rts
		3ff8e | 41fa 0020           : lea     ($20,PC);($3ffb0),A0
		3ff92 | 4a10                : tst.b   (A0)
		3ff94 | 6706                : beq     $3ff9c
		3ff96 | b018                : cmp.b   (A0)+,D0
		3ff98 | 6708                : beq     $3ffa2
		3ff9a | 60f6                : bra     $3ff92
		3ff9c | 1b7c 0001 0083      : move.b  #$1,($83,A5)
		3ffa2 | 4e75                : rts
		3ffb0 - 3ffbf               : action status table
		-->
	</script>
	<script state="change">
		<action condition="param == 01">maincpu.mb@3ff6c = 66, maincpu.mb@3ff7c = 60</action>
		<action condition="param == 02">maincpu.mb@3ff6c = 60, maincpu.mb@3ff7c = 66</action>
		<action condition="param == 03">maincpu.mb@3ff6c = 66, maincpu.mb@3ff7c = 66</action>
	</script>
	<script state="off">
		<action>maincpu.mq@07368 = 1b5800832b480180</action>
		<action>maincpu.mq@3ff60 = 0000000000000000</action>
		<action>maincpu.mq@3ff68 = 0000000000000000</action>
		<action>maincpu.mq@3ff70 = 0000000000000000</action>
		<action>maincpu.mq@3ff78 = 0000000000000000</action>
		<action>maincpu.mq@3ff80 = 0000000000000000</action>
		<action>maincpu.mq@3ff88 = 0000000000000000</action>
		<action>maincpu.mq@3ff90 = 0000000000000000</action>
		<action>maincpu.mq@3ff98 = 0000000000000000</action>
		<action>maincpu.mq@3ffa0 = 0000000000000000</action>
		<action>maincpu.mq@3ffb0 = 0000000000000000</action>
		<action>maincpu.mq@3ffb8 = 0000000000000000</action>
	</script>
</cheat>

<cheat desc="unlock secret character">
	<script state="on">
		<action>maincpu.mw@909c = 4e71</action>
	</script>
	<script state="off">
		<action>maincpu.mw@909c = 6706</action>
	</script>
</cheat>
  • Improved "no hit" code which remove player table read. So the size of check routine is short just a little bit.
  • Added "auto fire" and "attack speed up" for player 2.
  • Fixed character freeze bug for "attack speed up" but still need test.
  • Added "unlock secret characters". You can select bosses in character selection screen.
Post Reply