shogwarr.xml
Code: Select all
<!-- Shogun Warriors (World) -->
<mamecheat version="1">
<cheat desc="no hit">
<parameter>
<item value="0x01">1P </item>
<item value="0x02">2P </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.md@019A8 = 000224B6 </action> <!-- catch / throw -->
<action>maincpu.md@019E0 = 000224B6 </action> <!-- catch / throw -->
<action>maincpu.md@01A4E = 000224B6 </action> <!-- catch / throw -->
<action>maincpu.mq@0745A = 4EB90002249008AD</action> <!-- direct attack / firearms -->
<action>maincpu.mq@07470 = 4EB9000224A62B58</action> <!-- rapid attack -->
<action>maincpu.md@0B1D4 = 000224B6 </action> <!-- catch / throw (cpu) -->
<action>maincpu.md@0BA88 = 000224B6 </action> <!-- catch / throw (cpu) -->
<action>maincpu.mq@22490 = 08ED00070002082D</action>
<action>maincpu.mq@22498 = 00001000670608AD</action>
<action>maincpu.mq@224A0 = 000700024E75002D</action>
<action>maincpu.mq@224A8 = 00C00002082D0000</action>
<action>maincpu.mq@224B0 = 100060EA4E754EB8</action>
<action>maincpu.mq@224B8 = 4080082B00001000</action>
<action>maincpu.mq@224C0 = 6704303C80004E75</action>
<!--
22490 | 08ED 0007 0002 : bset #$7, ($2,A5) // direct attack / firearms
22496 | 082D 0000 1000 : btst #$0, ($1000,A5)
2249C | 6706 : beq $224a4
2249E | 08AD 0007 0002 : bclr #$7, ($2,A5)
224A4 | 4E75 : rts
224A6 | 002D 00C0 0002 : ori.b #$c0, ($2,A5) // rapid attack
224AC | 082D 0000 1000 : btst #$0, ($1000,A5)
224B2 | 60EA : bne $2249e
224B4 | 4E75 : rts
224B6 | 4EB8 4080 : jsr $4080.w // catch / throw
224BA | 082B 0000 1000 : btst #$0, ($1000,A3)
224C0 | 6704 : beq $224c6
224C2 | 303C 8000 : move.w #$8000, D0
224C6 | 4E75 : rts
-->
</script>
<script state="run">
<action condition="(param band 01) == 00">maincpu.pb@103808 &= ~01</action>
<action condition="(param band 02) == 00">maincpu.pb@10380C &= ~01</action>
<action condition="(param band 01) != 00">maincpu.pb@103808 |= 01 </action>
<action condition="(param band 02) != 00">maincpu.pb@10380C |= 01 </action>
</script>
<script state="off">
<action>maincpu.md@019A8 = 00004080 </action>
<action>maincpu.md@019E0 = 00004080 </action>
<action>maincpu.md@01A4E = 00004080 </action>
<action>maincpu.mq@0745A = 08ED0007000208AD</action>
<action>maincpu.mq@07470 = 002D00C000022B58</action>
<action>maincpu.md@0B1D4 = 00004080 </action>
<action>maincpu.md@0BA88 = 00004080 </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.mq@224B0 = 0000000000000000</action>
<action>maincpu.mq@224B8 = 0000000000000000</action>
<action>maincpu.mq@224C0 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="rapid fire">
<parameter>
<item value="0x01">1P </item>
<item value="0x02">2P </item>
<item value="0x03">both players</item>
</parameter>
<script state="change">
<!-- 1P kick -->
<action condition="(param band 01) == 00">maincpu.mb@3EF1 = 0C</action>
<action condition="(param band 01) != 00">maincpu.mb@3EF1 = 04</action>
<!-- 1P punch -->
<action condition="(param band 01) == 00">maincpu.mb@3F07 = 08</action>
<action condition="(param band 01) != 00">maincpu.mb@3F07 = 00</action>
<!-- 2P kick -->
<action condition="(param band 02) == 00">maincpu.mb@3F6B = 0A</action>
<action condition="(param band 02) != 00">maincpu.mb@3F6B = 02</action>
<!-- 2P punch -->
<action condition="(param band 02) == 00">maincpu.mb@3F77 = 0C</action>
<action condition="(param band 02) != 00">maincpu.mb@3F77 = 04</action>
</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="action speed up (test)">
<parameter>
<item value="0x01">1P </item>
<item value="0x02">2P </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.mq@07368 = 4EB9000224C84E71</action>
<action>maincpu.mq@224C8 = 1B580083082D0001</action>
<action>maincpu.mq@224D0 = 10006718102D0082</action>
<action>maincpu.mq@224D8 = 43FA00184A116706</action>
<action>maincpu.mq@224E0 = B019670860F61B7C</action>
<action>maincpu.mq@224E8 = 000100832B480180</action>
<action>maincpu.mq@224F0 = 4E75022C2F303132</action>
<action>maincpu.mq@224F8 = 36487C0000000000</action>
<!--
224C8 | 1B58 0083 : move.b (A0)+, ($83,A5)
224CC | 082D 0001 1000 : btst #$1, ($1000,A5)
224D2 | 6718 : beq $224ec
224D4 | 102D 0082 : move.b ($82,A5), D0
224D8 | 43FA 0018 : lea ($18,PC) ; ($224f2), A1
224DC | 4A11 : tst.b (A1)
224DE | 6706 : beq $224e6
224E0 | B019 : cmp.b (A1)+, D0
224E2 | 6708 : beq $224ec
224E4 | 60F6 : bra $224dc
224E6 | 1B7C 0001 0083 : move.b #$1, ($83,A5)
224EC | 2B48 0180 : move.l A0, ($180,A5)
224F0 | 4E75 : rts
224F2 - 224FA : action state table
-->
</script>
<script state="run">
<action condition="(param band 01) == 00">maincpu.pb@103808 &= ~02</action>
<action condition="(param band 02) == 00">maincpu.pb@10380C &= ~02</action>
<action condition="(param band 01) != 00">maincpu.pb@103808 |= 02 </action>
<action condition="(param band 02) != 00">maincpu.pb@10380C |= 02 </action>
</script>
<script state="off">
<action>maincpu.mq@07368 = 1B5800832B480180</action>
<action>maincpu.mq@224C8 = 0000000000000000</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>
</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="bonus stage">
<parameter>
<item value="0x603E">none </item>
<item value="0x6030">always</item>
</parameter>
<script state="change">
<action>maincpu.mw@531A = param</action>
</script>
<script state="off">
<action>maincpu.mw@531A = 673E</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.mw@09A3A = 0002 </action> <!-- skip region check -->
<action>maincpu.md@09A4A = 00022500 </action>
<action>maincpu.mq@22500 = 4EB8613E41F90010</action>
<action>maincpu.mq@22508 = 000043E8638D1039</action>
<action>maincpu.mq@22510 = 00B80000B0280001</action>
<action>maincpu.mq@22518 = 67360C0000FB6602</action>
<action>maincpu.mq@22520 = 53100C0000F76602</action>
<action>maincpu.mq@22528 = 52100C0000FD6604</action>
<action>maincpu.mq@22530 = 041000100C0000FE</action>
<action>maincpu.mq@22538 = 6604061000100C00</action>
<action>maincpu.mq@22540 = 00EF660212900C00</action>
<action>maincpu.mq@22548 = 00DF660412BC0080</action>
<action>maincpu.mq@22550 = 1140000160AA0000</action>
<!--
22500 | 4EB8 613E : jsr $613e.w
22504 | 41F9 0010 0000 : lea $100000.l, A0 // sound code address
2250A | 43E8 638D : lea ($638d,A0), A1 // sound latch address ($10638D)
2250E | 1039 00B8 0000 : move.b $b80000.l, D0 // read input
22514 | B028 0001 : cmp.b ($1,A0), D0
22518 | 6736 : beq $22550
2251A | 0C00 00FB : cmpi.b #-$5, D0
2251E | 6602 : bne $22522
22520 | 5310 : subq.b #1, (A0) // decrease code -01
22522 | 0C00 00F7 : cmpi.b #-$9, D0
22526 | 6602 : bne $2252a
22528 | 5210 : addq.b #1, (A0) // increase code +01
2252A | 0C00 00FD : cmpi.b #-$3, D0
2252E | 6604 : bne $22534
22530 | 0410 0010 : subi.b #$10, (A0) // decrease code -10
22534 | 0C00 00FE : cmpi.b #-$2, D0
22538 | 6604 : bne $2253e
2253A | 0610 0010 : addi.b #$10, (A0) // increase code +10
2253E | 0C00 00EF : cmpi.b #-$11, D0
22542 | 6602 : bne $22546
22544 | 1290 : move.b (A0), (A1) // play sound
22546 | 0C00 00DF : cmpi.b #-$21, D0
2254A | 6604 : bne $22550
2254C | 12BC 0080 : move.b #$80, (A1) // stop sound
22550 | 1140 0001 : move.b D0, ($1,A0)
22554 | 60AA : bra $22500
-->
</script>
<script state="run">
<output format="----- 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@100000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@09A3A = 0084 </action>
<action>maincpu.md@09A4A = 000075AC </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>
<action>maincpu.mq@22528 = 0000000000000000</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>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.md@22222 = 6000005A</action> <!-- ram -->
<action>maincpu.md@2238E = 600000B4</action> <!-- rom -->
</script>
<script state="off">
<action>maincpu.md@22222 = 286D0004</action>
<action>maincpu.md@2238E = 4DF80000</action>
</script>
</cheat>
</mamecheat>
shogwarrk.xml
Code: Select all
<!-- Shogun Warriors (Korea?) -->
<mamecheat version="1">
<cheat desc="no hit">
<parameter>
<item value="0x01">1P </item>
<item value="0x02">2P </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.md@019A8 = 000224B6 </action> <!-- catch / throw -->
<action>maincpu.md@019E0 = 000224B6 </action> <!-- catch / throw -->
<action>maincpu.md@01A4E = 000224B6 </action> <!-- catch / throw -->
<action>maincpu.mq@0745A = 4EB90002249008AD</action> <!-- direct attack / firearms -->
<action>maincpu.mq@07470 = 4EB9000224A62B58</action> <!-- rapid attack -->
<action>maincpu.md@0B1D4 = 000224B6 </action> <!-- catch / throw (cpu) -->
<action>maincpu.md@0BA88 = 000224B6 </action> <!-- catch / throw (cpu) -->
<action>maincpu.mq@22490 = 08ED00070002082D</action>
<action>maincpu.mq@22498 = 00001000670608AD</action>
<action>maincpu.mq@224A0 = 000700024E75002D</action>
<action>maincpu.mq@224A8 = 00C00002082D0000</action>
<action>maincpu.mq@224B0 = 100060EA4E754EB8</action>
<action>maincpu.mq@224B8 = 4080082B00001000</action>
<action>maincpu.mq@224C0 = 6704303C80004E75</action>
<!--
22490 | 08ED 0007 0002 : bset #$7, ($2,A5) // direct attack / firearms
22496 | 082D 0000 1000 : btst #$0, ($1000,A5)
2249C | 6706 : beq $224a4
2249E | 08AD 0007 0002 : bclr #$7, ($2,A5)
224A4 | 4E75 : rts
224A6 | 002D 00C0 0002 : ori.b #$c0, ($2,A5) // rapid attack
224AC | 082D 0000 1000 : btst #$0, ($1000,A5)
224B2 | 60EA : bne $2249e
224B4 | 4E75 : rts
224B6 | 4EB8 4080 : jsr $4080.w // catch / throw
224BA | 082B 0000 1000 : btst #$0, ($1000,A3)
224C0 | 6704 : beq $224c6
224C2 | 303C 8000 : move.w #$8000, D0
224C6 | 4E75 : rts
-->
</script>
<script state="run">
<action condition="(param band 01) == 00">maincpu.pb@103808 &= ~01</action>
<action condition="(param band 02) == 00">maincpu.pb@10380C &= ~01</action>
<action condition="(param band 01) != 00">maincpu.pb@103808 |= 01 </action>
<action condition="(param band 02) != 00">maincpu.pb@10380C |= 01 </action>
</script>
<script state="off">
<action>maincpu.md@019A8 = 00004080 </action>
<action>maincpu.md@019E0 = 00004080 </action>
<action>maincpu.md@01A4E = 00004080 </action>
<action>maincpu.mq@0745A = 08ED0007000208AD</action>
<action>maincpu.mq@07470 = 002D00C000022B58</action>
<action>maincpu.md@0B1D4 = 00004080 </action>
<action>maincpu.md@0BA88 = 00004080 </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.mq@224B0 = 0000000000000000</action>
<action>maincpu.mq@224B8 = 0000000000000000</action>
<action>maincpu.mq@224C0 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="rapid fire">
<parameter>
<item value="0x01">1P </item>
<item value="0x02">2P </item>
<item value="0x03">both players</item>
</parameter>
<script state="change">
<!-- 1P kick -->
<action condition="(param band 01) == 00">maincpu.mb@3EF1 = 0C</action>
<action condition="(param band 01) != 00">maincpu.mb@3EF1 = 04</action>
<!-- 1P punch -->
<action condition="(param band 01) == 00">maincpu.mb@3F07 = 08</action>
<action condition="(param band 01) != 00">maincpu.mb@3F07 = 00</action>
<!-- 2P kick -->
<action condition="(param band 02) == 00">maincpu.mb@3F6B = 0A</action>
<action condition="(param band 02) != 00">maincpu.mb@3F6B = 02</action>
<!-- 2P punch -->
<action condition="(param band 02) == 00">maincpu.mb@3F77 = 0C</action>
<action condition="(param band 02) != 00">maincpu.mb@3F77 = 04</action>
</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="action speed up (test)">
<parameter>
<item value="0x01">1P </item>
<item value="0x02">2P </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.mq@07368 = 4EB9000224C84E71</action>
<action>maincpu.mq@224C8 = 1B580083082D0001</action>
<action>maincpu.mq@224D0 = 10006718102D0082</action>
<action>maincpu.mq@224D8 = 43FA00184A116706</action>
<action>maincpu.mq@224E0 = B019670860F61B7C</action>
<action>maincpu.mq@224E8 = 000100832B480180</action>
<action>maincpu.mq@224F0 = 4E75022C2F303132</action>
<action>maincpu.mq@224F8 = 36487C0000000000</action>
<!--
224C8 | 1B58 0083 : move.b (A0)+, ($83,A5)
224CC | 082D 0001 1000 : btst #$1, ($1000,A5)
224D2 | 6718 : beq $224ec
224D4 | 102D 0082 : move.b ($82,A5), D0
224D8 | 43FA 0018 : lea ($18,PC) ; ($224f2), A1
224DC | 4A11 : tst.b (A1)
224DE | 6706 : beq $224e6
224E0 | B019 : cmp.b (A1)+, D0
224E2 | 6708 : beq $224ec
224E4 | 60F6 : bra $224dc
224E6 | 1B7C 0001 0083 : move.b #$1, ($83,A5)
224EC | 2B48 0180 : move.l A0, ($180,A5)
224F0 | 4E75 : rts
224F2 - 224FA : action state table
-->
</script>
<script state="run">
<action condition="(param band 01) == 00">maincpu.pb@103808 &= ~02</action>
<action condition="(param band 02) == 00">maincpu.pb@10380C &= ~02</action>
<action condition="(param band 01) != 00">maincpu.pb@103808 |= 02 </action>
<action condition="(param band 02) != 00">maincpu.pb@10380C |= 02 </action>
</script>
<script state="off">
<action>maincpu.mq@07368 = 1B5800832B480180</action>
<action>maincpu.mq@224C8 = 0000000000000000</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>
</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="bonus stage">
<parameter>
<item value="0x603E">none </item>
<item value="0x6030">always</item>
</parameter>
<script state="change">
<action>maincpu.mw@531A = param</action>
</script>
<script state="off">
<action>maincpu.mw@531A = 673E</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.mw@09A3A = 0002 </action> <!-- skip region check -->
<action>maincpu.md@09A4A = 00022500 </action>
<action>maincpu.mq@22500 = 4EB8613E41F90010</action>
<action>maincpu.mq@22508 = 000043E8638D1039</action>
<action>maincpu.mq@22510 = 00B80000B0280001</action>
<action>maincpu.mq@22518 = 67360C0000FB6602</action>
<action>maincpu.mq@22520 = 53100C0000F76602</action>
<action>maincpu.mq@22528 = 52100C0000FD6604</action>
<action>maincpu.mq@22530 = 041000100C0000FE</action>
<action>maincpu.mq@22538 = 6604061000100C00</action>
<action>maincpu.mq@22540 = 00EF660212900C00</action>
<action>maincpu.mq@22548 = 00DF660412BC0080</action>
<action>maincpu.mq@22550 = 1140000160AA0000</action>
<!--
22500 | 4EB8 613E : jsr $613e.w
22504 | 41F9 0010 0000 : lea $100000.l, A0 // sound code address
2250A | 43E8 638D : lea ($638d,A0), A1 // sound latch address ($10638D)
2250E | 1039 00B8 0000 : move.b $b80000.l, D0 // read input
22514 | B028 0001 : cmp.b ($1,A0), D0
22518 | 6736 : beq $22550
2251A | 0C00 00FB : cmpi.b #-$5, D0
2251E | 6602 : bne $22522
22520 | 5310 : subq.b #1, (A0) // decrease code -01
22522 | 0C00 00F7 : cmpi.b #-$9, D0
22526 | 6602 : bne $2252a
22528 | 5210 : addq.b #1, (A0) // increase code +01
2252A | 0C00 00FD : cmpi.b #-$3, D0
2252E | 6604 : bne $22534
22530 | 0410 0010 : subi.b #$10, (A0) // decrease code -10
22534 | 0C00 00FE : cmpi.b #-$2, D0
22538 | 6604 : bne $2253e
2253A | 0610 0010 : addi.b #$10, (A0) // increase code +10
2253E | 0C00 00EF : cmpi.b #-$11, D0
22542 | 6602 : bne $22546
22544 | 1290 : move.b (A0), (A1) // play sound
22546 | 0C00 00DF : cmpi.b #-$21, D0
2254A | 6604 : bne $22550
2254C | 12BC 0080 : move.b #$80, (A1) // stop sound
22550 | 1140 0001 : move.b D0, ($1,A0)
22554 | 60AA : bra $22500
-->
</script>
<script state="run">
<output format="----- 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@100000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@09A3A = 0084 </action>
<action>maincpu.md@09A4A = 000075AC </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>
<action>maincpu.mq@22528 = 0000000000000000</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>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.md@22222 = 6000005A</action> <!-- ram -->
<action>maincpu.md@2238E = 600000B4</action> <!-- rom -->
</script>
<script state="off">
<action>maincpu.md@22222 = 286D0004</action>
<action>maincpu.md@2238E = 4DF80000</action>
</script>
</cheat>
</mamecheat>
fjbuster.xml
Code: Select all
<!-- Fujiyama Buster (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<parameter>
<item value="0x01">1P </item>
<item value="0x02">2P </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.md@019A8 = 000224B6 </action> <!-- catch / throw -->
<action>maincpu.md@019E0 = 000224B6 </action> <!-- catch / throw -->
<action>maincpu.md@01A4E = 000224B6 </action> <!-- catch / throw -->
<action>maincpu.mq@0745A = 4EB90002249008AD</action> <!-- direct attack / firearms -->
<action>maincpu.mq@07470 = 4EB9000224A62B58</action> <!-- rapid attack -->
<action>maincpu.md@0B1D4 = 000224B6 </action> <!-- catch / throw (cpu) -->
<action>maincpu.md@0BA88 = 000224B6 </action> <!-- catch / throw (cpu) -->
<action>maincpu.mq@22490 = 08ED00070002082D</action>
<action>maincpu.mq@22498 = 00001000670608AD</action>
<action>maincpu.mq@224A0 = 000700024E75002D</action>
<action>maincpu.mq@224A8 = 00C00002082D0000</action>
<action>maincpu.mq@224B0 = 100060EA4E754EB8</action>
<action>maincpu.mq@224B8 = 4080082B00001000</action>
<action>maincpu.mq@224C0 = 6704303C80004E75</action>
<!--
22490 | 08ED 0007 0002 : bset #$7, ($2,A5) // direct attack / firearms
22496 | 082D 0000 1000 : btst #$0, ($1000,A5)
2249C | 6706 : beq $224a4
2249E | 08AD 0007 0002 : bclr #$7, ($2,A5)
224A4 | 4E75 : rts
224A6 | 002D 00C0 0002 : ori.b #$c0, ($2,A5) // rapid attack
224AC | 082D 0000 1000 : btst #$0, ($1000,A5)
224B2 | 60EA : bne $2249e
224B4 | 4E75 : rts
224B6 | 4EB8 4080 : jsr $4080.w // catch / throw
224BA | 082B 0000 1000 : btst #$0, ($1000,A3)
224C0 | 6704 : beq $224c6
224C2 | 303C 8000 : move.w #$8000, D0
224C6 | 4E75 : rts
-->
</script>
<script state="run">
<action condition="(param band 01) == 00">maincpu.pb@103808 &= ~01</action>
<action condition="(param band 02) == 00">maincpu.pb@10380C &= ~01</action>
<action condition="(param band 01) != 00">maincpu.pb@103808 |= 01 </action>
<action condition="(param band 02) != 00">maincpu.pb@10380C |= 01 </action>
</script>
<script state="off">
<action>maincpu.md@019A8 = 00004080 </action>
<action>maincpu.md@019E0 = 00004080 </action>
<action>maincpu.md@01A4E = 00004080 </action>
<action>maincpu.mq@0745A = 08ED0007000208AD</action>
<action>maincpu.mq@07470 = 002D00C000022B58</action>
<action>maincpu.md@0B1D4 = 00004080 </action>
<action>maincpu.md@0BA88 = 00004080 </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.mq@224B0 = 0000000000000000</action>
<action>maincpu.mq@224B8 = 0000000000000000</action>
<action>maincpu.mq@224C0 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="rapid fire">
<parameter>
<item value="0x01">1P </item>
<item value="0x02">2P </item>
<item value="0x03">both players</item>
</parameter>
<script state="change">
<!-- 1P kick -->
<action condition="(param band 01) == 00">maincpu.mb@3EF1 = 0C</action>
<action condition="(param band 01) != 00">maincpu.mb@3EF1 = 04</action>
<!-- 1P punch -->
<action condition="(param band 01) == 00">maincpu.mb@3F07 = 08</action>
<action condition="(param band 01) != 00">maincpu.mb@3F07 = 00</action>
<!-- 2P kick -->
<action condition="(param band 02) == 00">maincpu.mb@3F6B = 0A</action>
<action condition="(param band 02) != 00">maincpu.mb@3F6B = 02</action>
<!-- 2P punch -->
<action condition="(param band 02) == 00">maincpu.mb@3F77 = 0C</action>
<action condition="(param band 02) != 00">maincpu.mb@3F77 = 04</action>
</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="action speed up (test)">
<parameter>
<item value="0x01">1P </item>
<item value="0x02">2P </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.mq@07368 = 4EB9000224C84E71</action>
<action>maincpu.mq@224C8 = 1B580083082D0001</action>
<action>maincpu.mq@224D0 = 10006718102D0082</action>
<action>maincpu.mq@224D8 = 43FA00184A116706</action>
<action>maincpu.mq@224E0 = B019670860F61B7C</action>
<action>maincpu.mq@224E8 = 000100832B480180</action>
<action>maincpu.mq@224F0 = 4E75022C2F303132</action>
<action>maincpu.mq@224F8 = 36487C0000000000</action>
<!--
224C8 | 1B58 0083 : move.b (A0)+, ($83,A5)
224CC | 082D 0001 1000 : btst #$1, ($1000,A5)
224D2 | 6718 : beq $224ec
224D4 | 102D 0082 : move.b ($82,A5), D0
224D8 | 43FA 0018 : lea ($18,PC) ; ($224f2), A1
224DC | 4A11 : tst.b (A1)
224DE | 6706 : beq $224e6
224E0 | B019 : cmp.b (A1)+, D0
224E2 | 6708 : beq $224ec
224E4 | 60F6 : bra $224dc
224E6 | 1B7C 0001 0083 : move.b #$1, ($83,A5)
224EC | 2B48 0180 : move.l A0, ($180,A5)
224F0 | 4E75 : rts
224F2 - 224FA : action state table
-->
</script>
<script state="run">
<action condition="(param band 01) == 00">maincpu.pb@103808 &= ~02</action>
<action condition="(param band 02) == 00">maincpu.pb@10380C &= ~02</action>
<action condition="(param band 01) != 00">maincpu.pb@103808 |= 02 </action>
<action condition="(param band 02) != 00">maincpu.pb@10380C |= 02 </action>
</script>
<script state="off">
<action>maincpu.mq@07368 = 1B5800832B480180</action>
<action>maincpu.mq@224C8 = 0000000000000000</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>
</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="bonus stage">
<parameter>
<item value="0x603E">none </item>
<item value="0x6030">always</item>
</parameter>
<script state="change">
<action>maincpu.mw@531A = param</action>
</script>
<script state="off">
<action>maincpu.mw@531A = 673E</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 = 00022500 </action>
<action>maincpu.mq@22500 = 4EB8613E41F90010</action>
<action>maincpu.mq@22508 = 000043E8638D1039</action>
<action>maincpu.mq@22510 = 00B80000B0280001</action>
<action>maincpu.mq@22518 = 67360C0000FB6602</action>
<action>maincpu.mq@22520 = 53100C0000F76602</action>
<action>maincpu.mq@22528 = 52100C0000FD6604</action>
<action>maincpu.mq@22530 = 041000100C0000FE</action>
<action>maincpu.mq@22538 = 6604061000100C00</action>
<action>maincpu.mq@22540 = 00EF660212900C00</action>
<action>maincpu.mq@22548 = 00DF660412BC0080</action>
<action>maincpu.mq@22550 = 1140000160AA0000</action>
<!--
22500 | 4EB8 613E : jsr $613e.w
22504 | 41F9 0010 0000 : lea $100000.l, A0 // sound code address
2250A | 43E8 638D : lea ($638d,A0), A1 // sound latch address ($10638D)
2250E | 1039 00B8 0000 : move.b $b80000.l, D0 // read input
22514 | B028 0001 : cmp.b ($1,A0), D0
22518 | 6736 : beq $22550
2251A | 0C00 00FB : cmpi.b #-$5, D0
2251E | 6602 : bne $22522
22520 | 5310 : subq.b #1, (A0) // decrease code -01
22522 | 0C00 00F7 : cmpi.b #-$9, D0
22526 | 6602 : bne $2252a
22528 | 5210 : addq.b #1, (A0) // increase code +01
2252A | 0C00 00FD : cmpi.b #-$3, D0
2252E | 6604 : bne $22534
22530 | 0410 0010 : subi.b #$10, (A0) // decrease code -10
22534 | 0C00 00FE : cmpi.b #-$2, D0
22538 | 6604 : bne $2253e
2253A | 0610 0010 : addi.b #$10, (A0) // increase code +10
2253E | 0C00 00EF : cmpi.b #-$11, D0
22542 | 6602 : bne $22546
22544 | 1290 : move.b (A0), (A1) // play sound
22546 | 0C00 00DF : cmpi.b #-$21, D0
2254A | 6604 : bne $22550
2254C | 12BC 0080 : move.b #$80, (A1) // stop sound
22550 | 1140 0001 : move.b D0, ($1,A0)
22554 | 60AA : bra $22500
-->
</script>
<script state="run">
<output format="----- 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@100000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@09A4A = 000075AC </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>
<action>maincpu.mq@22528 = 0000000000000000</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>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.md@22222 = 6000005A</action> <!-- ram -->
<action>maincpu.md@2238E = 600000B4</action> <!-- rom -->
</script>
<script state="off">
<action>maincpu.md@22222 = 286D0004</action>
<action>maincpu.md@2238E = 4DF80000</action>
</script>
</cheat>
</mamecheat>