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.
jman
Posts: 864 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Sat Dec 19, 2020 2:39 pm
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>
<!--
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>
<!--
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>
<!--
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.
Last edited by
jman on Sat Oct 23, 2021 2:22 am, edited 1 time in total.
jman
Posts: 864 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Mon Dec 21, 2020 1:10 pm
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>
<!--
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>
<!--
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>
<!--
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.
jman
Posts: 864 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Wed Jun 07, 2023 2:50 pm
Code: Select all
<!-- Fujiyama Buster (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<parameter>
<item value="0x01">P1 </item>
<item value="0x02">P2 </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<!-- attack -->
<action>maincpu.mq@0a3c2 = 4eb9000224904ed0</action>
<action>maincpu.mq@22490 = 207c0010280a6110</action>
<action>maincpu.mq@22498 = 207c0010280e6108</action>
<action>maincpu.mq@224a0 = 2079002038024e75</action>
<action>maincpu.mq@224a8 = 089000074e750000</action>
<!--
22490 | 207c 0010 280a : movea.l #$10280a,A0
22496 | 6110 : bsr $224a8
22498 | 207c 0010 280e : movea.l #$10280e,A0
2249e | 6108 : bsr $224a8
224a0 | 2079 0020 3802 : movea.l $203802.l,A0
224a6 | 4e75 : rts
224a8 | 0890 0007 : bclr #$7,(A0)
224ac | 4e75 : rts
-->
<!-- throw -->
<action>maincpu.md@019a8 = 000224b0</action>
<action>maincpu.md@019e0 = 000224b0</action>
<action>maincpu.md@01a4e = 000224b0</action>
<action>maincpu.mq@224b0 = 4eb84080b7fc0010</action>
<action>maincpu.mq@224b8 = 28086602610cb7fc</action>
<action>maincpu.mq@224c0 = 0010280c66026102</action>
<action>maincpu.mq@224c8 = 4e75700142414e75</action>
<!--
224b0 | 4eb8 4080 : jsr $4080.w
224b4 | b7fc 0010 2808 : cmpa.l #$102808,A3
224ba | 6602 : bne $224be
224bc | 610c : bsr $224ca
224be | b7fc 0010 280c : cmpa.l #$10280c,A3
224c4 | 6602 : bne $224c8
224c6 | 6102 : bsr $224ca
224c8 | 4e75 : rts
224ca | 7001 : moveq #$1,D0
224cc | 4241 : clr.w D1
224ce | 4e75 : rts
-->
<!-- CPU throw -->
<action>maincpu.mb@b1da = 60</action>
<action>maincpu.mb@ba8e = 60</action>
</script>
<script state="change">
<action >maincpu.mw@22496 = 4e71</action>
<action >maincpu.mw@2249e = 4e71</action>
<action condition="param band 01">maincpu.mw@22496 = 6110</action>
<action condition="param band 02">maincpu.mw@2249e = 6108</action>
<action >maincpu.mw@224ba = 6002</action>
<action >maincpu.mw@224c4 = 6002</action>
<action condition="param band 01">maincpu.mw@224ba = 6602</action>
<action condition="param band 02">maincpu.mw@224c4 = 6602</action>
</script>
<script state="off">
<action>maincpu.mq@0a3c2 = 2079002038024ed0</action>
<action>maincpu.mq@22490 = 0000000000000000</action>
<action>maincpu.mq@22498 = 0000000000000000</action>
<action>maincpu.mq@224a0 = 0000000000000000</action>
<action>maincpu.mq@224a8 = 0000000000000000</action>
<action>maincpu.md@019a8 = 00004080</action>
<action>maincpu.md@019e0 = 00004080</action>
<action>maincpu.md@01a4e = 00004080</action>
<action>maincpu.mq@224b0 = 0000000000000000</action>
<action>maincpu.mq@224b8 = 0000000000000000</action>
<action>maincpu.mq@224c0 = 0000000000000000</action>
<action>maincpu.mq@224c8 = 0000000000000000</action>
<action>maincpu.mb@0b1da = 62</action>
<action>maincpu.mb@0ba8e = 62</action>
</script>
</cheat>
<cheat desc="auto fire">
<parameter>
<item value="0x01">P1 </item>
<item value="0x02">P2 </item>
<item value="0x03">both players</item>
</parameter>
<script state="change">
<!-- P1 -->
<action >maincpu.mb@3ef1 = 0c</action>
<action >maincpu.mb@3f07 = 08</action>
<action condition="param band 01">maincpu.mb@3ef1 = 04</action> <!-- kick -->
<action condition="param band 01">maincpu.mb@3f07 = 00</action> <!-- punch -->
<!-- P2 -->
<action >maincpu.mb@3f6b = 0a</action>
<action >maincpu.mb@3f77 = 0c</action>
<action condition="param band 02">maincpu.mb@3f6b = 02</action> <!-- kick -->
<action condition="param band 02">maincpu.mb@3f77 = 04</action> <!-- punch -->
</script>
<script state="off">
<action>maincpu.mb@3ef1 = 0c</action>
<action>maincpu.mb@3f07 = 08</action>
<action>maincpu.mb@3f6b = 0a</action>
<action>maincpu.mb@3f77 = 0c</action>
</script>
</cheat>
<cheat desc="attack speed up">
<parameter>
<item value="0x01">P1 </item>
<item value="0x02">P2 </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.mq@07368 = 4eb9000224d04e71</action>
<action>maincpu.mq@224d0 = 1b5800832f08bbfc</action>
<action>maincpu.mq@224d8 = 0010280866081039</action>
<action>maincpu.mq@224e0 = 001063f36118bbfc</action>
<action>maincpu.mq@224e8 = 0010280c66081039</action>
<action>maincpu.mq@224f0 = 001065036108205f</action>
<action>maincpu.mq@224f8 = 2b4801804e7541fa</action>
<action>maincpu.mq@22500 = 00144a106706b018</action>
<action>maincpu.mq@22508 = 670860f61b7c0001</action>
<action>maincpu.mq@22510 = 00834e7518191e1f</action>
<action>maincpu.mq@22518 = 2021222324252b2c</action>
<action>maincpu.mq@22520 = 2d00000000000000</action>
<!--
224d0 | 1b58 0083 : move.b (A0)+,($83,A5)
224d4 | 2f08 : move.l A0,-(A7)
224d6 | bbfc 0010 2808 : cmpa.l #$102808,A5
224dc | 6608 : bne $224e6
224de | 1039 0010 63f3 : move.b $1063f3.l,D0
224e4 | 6118 : bsr $224fe
224e6 | bbfc 0010 280c : cmpa.l #$10280c,A5
224ec | 6608 : bne $224f6
224ee | 1039 0010 6503 : move.b $106503.l,D0
224f4 | 6108 : bsr $224fe
224f6 | 205f : movea.l (A7)+,A0
224f8 | 2b48 0180 : move.l A0,($180,A5)
224fc | 4e75 : rts
224fe | 41fa 0014 : lea ($14,PC);($22514),A0
22502 | 4a10 : tst.b (A0)
22504 | 6706 : beq $2250c
22506 | b018 : cmp.b (A0)+,D0
22508 | 6708 : beq $22512
2250a | 60f6 : bra $22502
2250c | 1b7c 0001 0083 : move.b #$1,($83,A5)
22512 | 4e75 : rts
22514 - 22520 : action status table
-->
</script>
<script state="change">
<action >maincpu.mb@224dc = 60</action>
<action >maincpu.mb@224ec = 60</action>
<action condition="param band 01">maincpu.mb@224dc = 66</action>
<action condition="param band 02">maincpu.mb@224ec = 66</action>
</script>
<script state="off">
<action>maincpu.mq@07368 = 1b5800832b480180</action>
<action>maincpu.mq@224d0 = 0000000000000000</action>
<action>maincpu.mq@224d8 = 0000000000000000</action>
<action>maincpu.mq@224e0 = 0000000000000000</action>
<action>maincpu.mq@224e8 = 0000000000000000</action>
<action>maincpu.mq@224f0 = 0000000000000000</action>
<action>maincpu.mq@224f8 = 0000000000000000</action>
<action>maincpu.mq@22500 = 0000000000000000</action>
<action>maincpu.mq@22508 = 0000000000000000</action>
<action>maincpu.mq@22510 = 0000000000000000</action>
<action>maincpu.mq@22518 = 0000000000000000</action>
<action>maincpu.mq@22520 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<!-- normal stage -->
<action>maincpu.mb@a139 = param</action>
<action>maincpu.mb@a1eb = param</action> <!-- initialize -->
<!-- bonus stage -->
<action>maincpu.mb@a17b = param</action>
<action>maincpu.mb@a201 = param</action> <!-- initialize -->
</script>
<script state="off">
<action>maincpu.mb@a139 = 32</action>
<action>maincpu.mb@a1eb = 32</action>
<action>maincpu.mb@a17b = 14</action>
<action>maincpu.mb@a201 = 14</action>
</script>
</cheat>
<cheat desc="unlock secret characters">
<script state="on">
<action>maincpu.mw@909c = 4e71</action>
</script>
<script state="off">
<action>maincpu.mw@909c = 6706</action>
</script>
</cheat>
<cheat desc="selectable same character">
<script state="on">
<action>maincpu.mb@90b4 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@90b4 = 66</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@09a4a = 00022530</action>
<action>maincpu.mq@22530 = 4eb8613e41f90010</action>
<action>maincpu.mq@22538 = 000043f90010638d</action>
<action>maincpu.mq@22540 = 103900b80000b028</action>
<action>maincpu.mq@22548 = 000167360c0000fb</action>
<action>maincpu.mq@22550 = 660253100c0000f7</action>
<action>maincpu.mq@22558 = 660252100c0000fd</action>
<action>maincpu.mq@22560 = 6604041000100c00</action>
<action>maincpu.mq@22568 = 00fe660406100010</action>
<action>maincpu.mq@22570 = 0c0000ef66021290</action>
<action>maincpu.mq@22578 = 0c0000df660412bc</action>
<action>maincpu.mq@22580 = 00801140000160a8</action>
<!--
22530 | 4eb8 613e : jsr $613e.w // sound routine
22534 | 41f9 0010 0000 : lea $100000.l,A0 // sound code address
2253a | 43f9 0010 638d : lea $10638d.l,A1 // sound latch address
22540 | 1039 00b8 0000 : move.b $b80000.l,D0 // read input
22546 | b028 0001 : cmp.b ($1,A0),D0
2254a | 6736 : beq $22582
2254c | 0c00 00fb : cmpi.b #-$5,D0
22550 | 6602 : bne $22554
22552 | 5310 : subq.b #1,(A0) // decrease code -01
22554 | 0c00 00f7 : cmpi.b #-$9,D0
22558 | 6602 : bne $2255c
2255a | 5210 : addq.b #1,(A0) // increase code +01
2255c | 0c00 00fd : cmpi.b #-$3,D0
22560 | 6604 : bne $22566
22562 | 0410 0010 : subi.b #$10,(A0) // decrease code -10
22566 | 0c00 00fe : cmpi.b #-$2,D0
2256a | 6604 : bne $22570
2256c | 0610 0010 : addi.b #$10,(A0) // increase code +10
22570 | 0c00 00ef : cmpi.b #-$11,D0
22574 | 6602 : bne $22578
22576 | 1290 : move.b (A0),(A1) // play sound
22578 | 0c00 00df : cmpi.b #-$21,D0
2257c | 6604 : bne $22582
2257e | 12bc 0080 : move.b #$80,(A1) // stop sound
22582 | 1140 0001 : move.b D0,($1,A0)
22586 | 60a8 : bra $22530
-->
</script>
<script state="run">
<output format="----- fujiyama buster sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@100000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@09a4a = 000075ac</action>
<action>maincpu.mq@22530 = 0000000000000000</action>
<action>maincpu.mq@22538 = 0000000000000000</action>
<action>maincpu.mq@22540 = 0000000000000000</action>
<action>maincpu.mq@22548 = 0000000000000000</action>
<action>maincpu.mq@22550 = 0000000000000000</action>
<action>maincpu.mq@22558 = 0000000000000000</action>
<action>maincpu.mq@22560 = 0000000000000000</action>
<action>maincpu.mq@22568 = 0000000000000000</action>
<action>maincpu.mq@22570 = 0000000000000000</action>
<action>maincpu.mq@22578 = 0000000000000000</action>
<action>maincpu.mq@22580 = 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>
</mamecheat>
Cleaned up codes. Reallocated addresses for custome routine.
"no hit" : added missing codes on "off" state.
"auto fire" : merged two codes into one. fixed P2 auto fire code.
"timer speed", "selectable same character" and "sound test mode" : added new.