[mystwarr]+ Mystic Warriors
Posted: Fri Jul 18, 2025 3:41 pm
mystwarr.xml
mystwarru.xml
mystwarrj.xml
mystwarra.xml
mystwarraa.xml
Code: Select all
<!-- Mystic Warriors (ver EAA) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0DA38 = 60</action> <!-- cutter (level 1 middle boss) -->
<action>maincpu.mb@0DBC4 = 60</action> <!-- bullet -->
<action>maincpu.mb@0E142 = 60</action> <!-- iron hand (level 5 boss) -->
<action>maincpu.mb@0E2BA = 60</action> <!-- knife -->
<action>maincpu.mb@21D60 = 60</action> <!-- hand (last boss) -->
<action>maincpu.mb@2B20B = 5C</action> <!-- ball (level 2 boss) -->
</script>
<script state="off">
<action>maincpu.mb@0DA38 = 67</action>
<action>maincpu.mb@0DBC4 = 67</action>
<action>maincpu.mb@0E142 = 67</action>
<action>maincpu.mb@0E2BA = 67</action>
<action>maincpu.mb@21D60 = 62</action>
<action>maincpu.mb@2B20B = 0E</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@36103 = FA</action> <!-- stand -->
<action>maincpu.mb@36549 = FA</action> <!-- walk -->
<action>maincpu.mb@36707 = FA</action> <!-- jump -->
<action>maincpu.mb@3699D = FA</action> <!-- crouch -->
<action>maincpu.mb@36BC1 = FA</action> <!-- climb -->
<action>maincpu.mb@372E9 = FA</action> <!-- swim -->
</script>
<script state="off">
<action>maincpu.mb@36103 = FB</action>
<action>maincpu.mb@36549 = FB</action>
<action>maincpu.mb@36707 = FB</action>
<action>maincpu.mb@3699D = FB</action>
<action>maincpu.mb@36BC1 = FB</action>
<action>maincpu.mb@372E9 = FB</action>
</script>
</cheat>
<cheat desc="action speed up">
<script state="on">
<action>maincpu.mb@2D967 = 02</action>
</script>
<script state="off">
<action>maincpu.mb@2D967 = 76</action>
</script>
</cheat>
<cheat desc="attack">
<parameter>
<item value="0x00">firearms </item>
<item value="0x01">direct attack</item>
</parameter>
<script state="change">
<!-- stand -->
<action condition="param == 00">maincpu.md@36132 = 65000002</action>
<action condition="param == 01">maincpu.md@36132 = 60000084</action>
<!-- walk -->
<action condition="param == 00">maincpu.md@36578 = 65000002</action>
<action condition="param == 01">maincpu.md@36578 = 6000FC3E</action>
<!-- jump -->
<action condition="param == 00">maincpu.mw@36736 = 4E71</action>
<action condition="param == 01">maincpu.mw@36736 = 603C</action>
<!-- crouch -->
<action condition="param == 00">maincpu.md@369CC = 65000002</action>
<action condition="param == 01">maincpu.md@369CC = 6000F7EA</action>
<!-- swim -->
<action condition="param == 00">maincpu.mw@37310 = 4E71</action>
<action condition="param == 01">maincpu.mw@37310 = 600A</action>
</script>
<script state="off">
<action>maincpu.md@36132 = 65000084</action>
<action>maincpu.md@36578 = 6500FC3E</action>
<action>maincpu.mw@36736 = 653C </action>
<action>maincpu.md@369CC = 6500F7EA</action>
<action>maincpu.mw@37310 = 650A </action>
</script>
</cheat>
<cheat desc="short hit mark">
<script state="on">
<action>maincpu.mw@3D6DC = 4E71</action>
</script>
<script state="off">
<action>maincpu.mw@3D6DC = 67F6</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@03F1C = 0007C270 </action>
<action>maincpu.mq@7C270 = 41F90020100043E8</action>
<action>maincpu.mq@7C278 = 00011028F058B028</action>
<action>maincpu.mq@7C280 = 000267540C000001</action>
<action>maincpu.mq@7C288 = 660253100C000002</action>
<action>maincpu.mq@7C290 = 660252100C000008</action>
<action>maincpu.mq@7C298 = 6604041000100C00</action>
<action>maincpu.mq@7C2A0 = 0004660406100010</action>
<action>maincpu.mq@7C2A8 = 0C00004166025311</action>
<action>maincpu.mq@7C2B0 = 0C00004266025211</action>
<action>maincpu.mq@7C2B8 = 0211000342870C00</action>
<action>maincpu.mq@7C2C0 = 001066081E11E14F</action>
<action>maincpu.mq@7C2C8 = 8E1060060C000020</action>
<action>maincpu.mq@7C2D0 = 66064EB900100E12</action>
<action>maincpu.mq@7C2D8 = 114000024E75FFFF</action>
<!--
7C270 | 41F9 0020 1000 : lea $201000.l, A0 // sound code address
7C276 | 43E8 0001 : lea ($1,A0), A1 // bank number address
7C27A | 1028 F058 : move.b (-$fa8,A0), D0 // read input ($200058)
7C27E | B028 0002 : cmp.b ($2,A0), D0
7C282 | 6754 : beq $7c2d8
7C284 | 0C00 0001 : cmpi.b #$1, D0
7C288 | 6602 : bne $7c28c
7C28A | 5310 : subq.b #1, (A0) // decrease code -01
7C28C | 0C00 0002 : cmpi.b #$2, D0
7C290 | 6602 : bne $7c294
7C292 | 5210 : addq.b #1, (A0) // increase code +01
7C294 | 0C00 0008 : cmpi.b #$8, D0
7C298 | 6604 : bne $7c29e
7C29A | 0410 0010 : subi.b #$10, (A0) // decrease code -10
7C29E | 0C00 0004 : cmpi.b #$4, D0
7C2A2 | 6604 : bne $7c2a8
7C2A4 | 0610 0010 : addi.b #$10, (A0) // increase code +10
7C2A8 | 0C00 0041 : cmpi.b #$41, D0
7C2AC | 6602 : bne $7c2b0
7C2AE | 5311 : subq.b #1, (A1) // decrease bank -01
7C2B0 | 0C00 0042 : cmpi.b #$42, D0
7C2B4 | 6602 : bne $7c2b8
7C2B6 | 5211 : addq.b #1, (A1) // increase bank +01
7C2B8 | 0211 0003 : andi.b #$3, (A1) // mask bank number
7C2BC | 4287 : clr.l D7
7C2BE | 0C00 0010 : cmpi.b #$10, D0
7C2C2 | 6608 : bne $7c2cc
7C2C4 | 1E11 : move.b (A1), D7 // play sound
7C2C6 | E14F : lsl.w #8, D7
7C2C8 | 8E10 : or.b (A0), D7
7C2CA | 6006 : bra $7c2d2
7C2CC | 0C00 0020 : cmpi.b #$20, D0
7C2D0 | 6606 : bne $7c2d8 // stop sound
7C2D2 | 4EB9 0010 0E12 : jsr $100e12.l // send sound code
7C2D8 | 1140 0002 : move.b D0, ($2,A0)
7C2DC | 4E75 : rts
-->
</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 3 + left : decrease bank -10" line="15" align="center" />
<output format="button 3 + right : increase bank +10" line="16" align="center" />
<output format="button 1 : play sound" line="17" align="center" />
<output format="button 2 : stop sound" line="18" align="center" />
<output format="----------------------------" line="19" align="center" />
<output format="<< bank %02X >>" line="21" align="center" >
<argument>maincpu.pb@201001</argument>
</output>
<output format="<< sound code %02X >>" line="23" align="center" >
<argument>maincpu.pb@201000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@03F1C = 00075456 </action>
<action>maincpu.mq@7C270 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C278 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C280 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C288 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C290 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C298 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C2A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C2A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C2B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C2B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C2C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C2C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C2D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C2D8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@13A2 = 13A4</action>
</script>
<script state="off">
<action>maincpu.mw@13A2 = 1EE6</action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- Mystic Warriors (ver UAA) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0DC44 = 60</action> <!-- cutter (level 1 middle boss) -->
<action>maincpu.mb@0DDD0 = 60</action> <!-- bullet -->
<action>maincpu.mb@0E34E = 60</action> <!-- iron hand (level 5 boss) -->
<action>maincpu.mb@0E4C6 = 60</action> <!-- knife -->
<action>maincpu.mb@21F6E = 60</action> <!-- hand (last boss) -->
<action>maincpu.mb@2B419 = 68</action> <!-- ball (level 2 boss) -->
</script>
<script state="off">
<action>maincpu.mb@0DC44 = 67</action>
<action>maincpu.mb@0DDD0 = 67</action>
<action>maincpu.mb@0E34E = 67</action>
<action>maincpu.mb@0E4C6 = 67</action>
<action>maincpu.mb@21F6E = 62</action>
<action>maincpu.mb@2B20B = 1A</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@36311 = FA</action> <!-- stand -->
<action>maincpu.mb@36757 = FA</action> <!-- walk -->
<action>maincpu.mb@36915 = FA</action> <!-- jump -->
<action>maincpu.mb@36BAB = FA</action> <!-- crouch -->
<action>maincpu.mb@36DCF = FA</action> <!-- climb -->
<action>maincpu.mb@374F7 = FA</action> <!-- swim -->
</script>
<script state="off">
<action>maincpu.mb@36311 = FB</action>
<action>maincpu.mb@36757 = FB</action>
<action>maincpu.mb@36915 = FB</action>
<action>maincpu.mb@36BAB = FB</action>
<action>maincpu.mb@36DCF = FB</action>
<action>maincpu.mb@374F7 = FB</action>
</script>
</cheat>
<cheat desc="action speed up">
<script state="on">
<action>maincpu.mb@2DB75 = 02</action>
</script>
<script state="off">
<action>maincpu.mb@2DB75 = 76</action>
</script>
</cheat>
<cheat desc="attack">
<parameter>
<item value="0x00">firearms </item>
<item value="0x01">direct attack</item>
</parameter>
<script state="change">
<!-- stand -->
<action condition="param == 00">maincpu.md@36340 = 65000002</action>
<action condition="param == 01">maincpu.md@36340 = 60000084</action>
<!-- walk -->
<action condition="param == 00">maincpu.md@36786 = 65000002</action>
<action condition="param == 01">maincpu.md@36786 = 6000FC3E</action>
<!-- jump -->
<action condition="param == 00">maincpu.mw@36944 = 4E71</action>
<action condition="param == 01">maincpu.mw@36944 = 603C</action>
<!-- crouch -->
<action condition="param == 00">maincpu.md@36BDA = 65000002</action>
<action condition="param == 01">maincpu.md@36BDA = 6000F7EA</action>
<!-- swim -->
<action condition="param == 00">maincpu.mw@3751E = 4E71</action>
<action condition="param == 01">maincpu.mw@3751E = 600A</action>
</script>
<script state="off">
<action>maincpu.md@36340 = 65000084</action>
<action>maincpu.md@36786 = 6500FC3E</action>
<action>maincpu.mw@36944 = 653C </action>
<action>maincpu.md@36BDA = 6500F7EA</action>
<action>maincpu.mw@3751E = 650A </action>
</script>
</cheat>
<cheat desc="short hit mark">
<script state="on">
<action>maincpu.mw@3D8EA = 4E71</action>
</script>
<script state="off">
<action>maincpu.mw@3D8EA = 67F6</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@03F7C = 0007C460 </action>
<action>maincpu.mq@7C460 = 41F90020100043E8</action>
<action>maincpu.mq@7C468 = 00011028F058B028</action>
<action>maincpu.mq@7C470 = 000267540C000001</action>
<action>maincpu.mq@7C478 = 660253100C000002</action>
<action>maincpu.mq@7C480 = 660252100C000008</action>
<action>maincpu.mq@7C488 = 6604041000100C00</action>
<action>maincpu.mq@7C490 = 0004660406100010</action>
<action>maincpu.mq@7C498 = 0C00004166025311</action>
<action>maincpu.mq@7C4A0 = 0C00004266025211</action>
<action>maincpu.mq@7C4A8 = 0211000342870C00</action>
<action>maincpu.mq@7C4B0 = 001066081E11E14F</action>
<action>maincpu.mq@7C4B8 = 8E1060060C000020</action>
<action>maincpu.mq@7C4C0 = 66064EB900100E12</action>
<action>maincpu.mq@7C4C8 = 114000024E75FFFF</action>
<!--
7C460 | 41F9 0020 1000 : lea $201000.l, A0 // sound code address
7C466 | 43E8 0001 : lea ($1,A0), A1 // bank number address
7C46A | 1028 F058 : move.b (-$fa8,A0), D0 // read input ($200058)
7C46E | B028 0002 : cmp.b ($2,A0), D0
7C472 | 6754 : beq $7c4c8
7C474 | 0C00 0001 : cmpi.b #$1, D0
7C478 | 6602 : bne $7c47c
7C47A | 5310 : subq.b #1, (A0) // decrease code -01
7C47C | 0C00 0002 : cmpi.b #$2, D0
7C480 | 6602 : bne $7c484
7C482 | 5210 : addq.b #1, (A0) // increase code +01
7C484 | 0C00 0008 : cmpi.b #$8, D0
7C488 | 6604 : bne $7c48e
7C48A | 0410 0010 : subi.b #$10, (A0) // decrease code -10
7C48E | 0C00 0004 : cmpi.b #$4, D0
7C492 | 6604 : bne $7c498
7C494 | 0610 0010 : addi.b #$10, (A0) // increase code +10
7C498 | 0C00 0041 : cmpi.b #$41, D0
7C49C | 6602 : bne $7c4a0
7C49E | 5311 : subq.b #1, (A1) // decrease bank -01
7C4A0 | 0C00 0042 : cmpi.b #$42, D0
7C4A4 | 6602 : bne $7c4a8
7C4A6 | 5211 : addq.b #1, (A1) // increase bank +01
7C4A8 | 0211 0003 : andi.b #$3, (A1) // mask bank number
7C4AC | 4287 : clr.l D7
7C4AE | 0C00 0010 : cmpi.b #$10, D0
7C4B2 | 6608 : bne $7c4bc
7C4B4 | 1E11 : move.b (A1), D7 // play sound
7C4B6 | E14F : lsl.w #8, D7
7C4B8 | 8E10 : or.b (A0), D7
7C4BA | 6006 : bra $7c4c2
7C4BC | 0C00 0020 : cmpi.b #$20, D0
7C4C0 | 6606 : bne $7c4c8 // stop sound
7C4C2 | 4EB9 0010 0E12 : jsr $100e12.l // send sound code
7C4C8 | 1140 0002 : move.b D0, ($2,A0)
7C4CC | 4E75 : rts
-->
</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 3 + left : decrease bank -10" line="15" align="center" />
<output format="button 3 + right : increase bank +10" line="16" align="center" />
<output format="button 1 : play sound" line="17" align="center" />
<output format="button 2 : stop sound" line="18" align="center" />
<output format="----------------------------" line="19" align="center" />
<output format="<< bank %02X >>" line="21" align="center" >
<argument>maincpu.pb@201001</argument>
</output>
<output format="<< sound code %02X >>" line="23" align="center" >
<argument>maincpu.pb@201000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@03F7C = 00075644 </action>
<action>maincpu.mq@7C460 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C468 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C470 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C478 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C480 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C488 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C490 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C498 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4C8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@13A2 = 13A4</action>
</script>
<script state="off">
<action>maincpu.mw@13A2 = 1EE6</action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- Mystic Warriors (ver JAA) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@0DC12 = 6000</action> <!-- cutter (level 1 middle boss) -->
<action>maincpu.mw@0DD9E = 6000</action> <!-- bullet -->
<action>maincpu.mw@0E31C = 6000</action> <!-- iron hand (level 5 boss) -->
<action>maincpu.mw@0E494 = 6000</action> <!-- knife -->
<action>maincpu.mw@21F3A = 6018</action> <!-- hand (last boss) -->
<action>maincpu.mw@2B3E4 = E236</action> <!-- ball (level 2 boss) -->
</script>
<script state="off">
<action>maincpu.mw@0DC12 = 6700</action>
<action>maincpu.mw@0DD9E = 6700</action>
<action>maincpu.mw@0E31C = 6700</action>
<action>maincpu.mw@0E494 = 6700</action>
<action>maincpu.mw@21F3A = 6218</action>
<action>maincpu.mw@2B3E4 = E1E8</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@362DD = FA</action> <!-- stand -->
<action>maincpu.mb@36723 = FA</action> <!-- walk -->
<action>maincpu.mb@368E1 = FA</action> <!-- jump -->
<action>maincpu.mb@36B77 = FA</action> <!-- crouch -->
<action>maincpu.mb@36D9B = FA</action> <!-- climb -->
<action>maincpu.mb@374C3 = FA</action> <!-- swim -->
</script>
<script state="off">
<action>maincpu.mb@362DD = FB</action>
<action>maincpu.mb@36723 = FB</action>
<action>maincpu.mb@368E1 = FB</action>
<action>maincpu.mb@36B77 = FB</action>
<action>maincpu.mb@36D9B = FB</action>
<action>maincpu.mb@374C3 = FB</action>
</script>
</cheat>
<cheat desc="action speed up">
<script state="on">
<action>maincpu.mb@2DB41 = 02</action>
</script>
<script state="off">
<action>maincpu.mb@2DB41 = 76</action>
</script>
</cheat>
<cheat desc="attack">
<parameter>
<item value="0x00">firearms </item>
<item value="0x01">direct attack</item>
</parameter>
<script state="change">
<!-- stand -->
<action condition="param == 00">maincpu.md@3630C = 65000002</action>
<action condition="param == 01">maincpu.md@3630C = 60000084</action>
<!-- walk -->
<action condition="param == 00">maincpu.md@36752 = 65000002</action>
<action condition="param == 01">maincpu.md@36752 = 6000FC3E</action>
<!-- jump -->
<action condition="param == 00">maincpu.mw@36910 = 4E71</action>
<action condition="param == 01">maincpu.mw@36910 = 603C</action>
<!-- crouch -->
<action condition="param == 00">maincpu.md@36BA6 = 65000002</action>
<action condition="param == 01">maincpu.md@36BA6 = 6000F7EA</action>
<!-- swim -->
<action condition="param == 00">maincpu.mw@374EA = 4E71</action>
<action condition="param == 01">maincpu.mw@374EA = 600A</action>
</script>
<script state="off">
<action>maincpu.md@3630C = 65000084</action>
<action>maincpu.md@36752 = 6500FC3E</action>
<action>maincpu.mw@36910 = 653C </action>
<action>maincpu.md@36BA6 = 6500F7EA</action>
<action>maincpu.mw@374EA = 650A </action>
</script>
</cheat>
<cheat desc="short hit mark">
<script state="on">
<action>maincpu.mw@3D8B6 = 4E71</action>
</script>
<script state="off">
<action>maincpu.mw@3D8B6 = 67F6</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@03F4A = 0007C2D0 </action>
<action>maincpu.mq@7C2D0 = 41F90020100043E8</action>
<action>maincpu.mq@7C2D8 = 00011028F058B028</action>
<action>maincpu.mq@7C2E0 = 000267540C000001</action>
<action>maincpu.mq@7C2E8 = 660253100C000002</action>
<action>maincpu.mq@7C2F0 = 660252100C000008</action>
<action>maincpu.mq@7C2F8 = 6604041000100C00</action>
<action>maincpu.mq@7C300 = 0004660406100010</action>
<action>maincpu.mq@7C308 = 0C00004166025311</action>
<action>maincpu.mq@7C310 = 0C00004266025211</action>
<action>maincpu.mq@7C318 = 0211000342870C00</action>
<action>maincpu.mq@7C320 = 001066081E11E14F</action>
<action>maincpu.mq@7C328 = 8E1060060C000020</action>
<action>maincpu.mq@7C330 = 66064EB900100E12</action>
<action>maincpu.mq@7C338 = 114000024E75FFFF</action>
<!--
7C2D0 | 41F9 0020 1000 : lea $201000.l, A0 // sound code address
7C2D6 | 43E8 0001 : lea ($1,A0), A1 // bank number address
7C2DA | 1028 F058 : move.b (-$fa8,A0), D0 // read input ($200058)
7C2DE | B028 0002 : cmp.b ($2,A0), D0
7C2E2 | 6754 : beq $7c338
7C2E4 | 0C00 0001 : cmpi.b #$1, D0
7C2E8 | 6602 : bne $7c2ec
7C2EA | 5310 : subq.b #1, (A0) // decrease code -01
7C2EC | 0C00 0002 : cmpi.b #$2, D0
7C2F0 | 6602 : bne $7c2f4
7C2F2 | 5210 : addq.b #1, (A0) // increase code +01
7C2F4 | 0C00 0008 : cmpi.b #$8, D0
7C2F8 | 6604 : bne $7c2fe
7C2FA | 0410 0010 : subi.b #$10, (A0) // decrease code -10
7C2FE | 0C00 0004 : cmpi.b #$4, D0
7C302 | 6604 : bne $7c308
7C304 | 0610 0010 : addi.b #$10, (A0) // increase code +10
7C308 | 0C00 0041 : cmpi.b #$41, D0
7C30C | 6602 : bne $7c310
7C30E | 5311 : subq.b #1, (A1) // decrease bank -01
7C310 | 0C00 0042 : cmpi.b #$42, D0
7C314 | 6602 : bne $7c318
7C316 | 5211 : addq.b #1, (A1) // increase bank +01
7C318 | 0211 0003 : andi.b #$3, (A1) // mask bank number
7C31C | 4287 : clr.l D7
7C31E | 0C00 0010 : cmpi.b #$10, D0
7C322 | 6608 : bne $7c32c
7C324 | 1E11 : move.b (A1), D7 // play sound
7C326 | E14F : lsl.w #8, D7
7C328 | 8E10 : or.b (A0), D7
7C32A | 6006 : bra $7c332
7C32C | 0C00 0020 : cmpi.b #$20, D0
7C330 | 6606 : bne $7c338 // stop sound
7C332 | 4EB9 0010 0E12 : jsr $100e12.l // send sound code
7C338 | 1140 0002 : move.b D0, ($2,A0)
7C33C | 4E75 : rts
-->
</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 3 + left : decrease bank -10" line="15" align="center" />
<output format="button 3 + right : increase bank +10" line="16" align="center" />
<output format="button 1 : play sound" line="17" align="center" />
<output format="button 2 : stop sound" line="18" align="center" />
<output format="----------------------------" line="19" align="center" />
<output format="<< bank %02X >>" line="21" align="center" >
<argument>maincpu.pb@201001</argument>
</output>
<output format="<< sound code %02X >>" line="23" align="center" >
<argument>maincpu.pb@201000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@03F4A = 00075DD2 </action>
<action>maincpu.mq@7C2D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C2D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C2E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C2E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C2F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C2F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C300 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C308 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C310 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C318 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C320 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C328 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C330 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C338 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@13A2 = 13A4</action>
</script>
<script state="off">
<action>maincpu.mw@13A2 = 1EE6</action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- Mystic Warriors (ver AAB) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0DC3C = 60</action> <!-- cutter (level 1 middle boss) -->
<action>maincpu.mb@0DDC8 = 60</action> <!-- bullet -->
<action>maincpu.mb@0E346 = 60</action> <!-- iron hand (level 5 boss) -->
<action>maincpu.mb@0E4BE = 60</action> <!-- knife -->
<action>maincpu.mb@21F60 = 60</action> <!-- hand (last boss) -->
<action>maincpu.mb@2B40B = 60</action> <!-- ball (level 2 boss) -->
</script>
<script state="off">
<action>maincpu.mb@0DC3C = 67</action>
<action>maincpu.mb@0DDC8 = 67</action>
<action>maincpu.mb@0E346 = 67</action>
<action>maincpu.mb@0E4BE = 67</action>
<action>maincpu.mb@21F60 = 62</action>
<action>maincpu.mb@2B40B = 12</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@36303 = FA</action> <!-- stand -->
<action>maincpu.mb@36749 = FA</action> <!-- walk -->
<action>maincpu.mb@36907 = FA</action> <!-- jump -->
<action>maincpu.mb@36B9D = FA</action> <!-- crouch -->
<action>maincpu.mb@36DC1 = FA</action> <!-- climb -->
<action>maincpu.mb@374E9 = FA</action> <!-- swim -->
</script>
<script state="off">
<action>maincpu.mb@36303 = FB</action>
<action>maincpu.mb@36749 = FB</action>
<action>maincpu.mb@36907 = FB</action>
<action>maincpu.mb@36B9D = FB</action>
<action>maincpu.mb@36DC1 = FB</action>
<action>maincpu.mb@374E9 = FB</action>
</script>
</cheat>
<cheat desc="action speed up">
<script state="on">
<action>maincpu.mb@2DB67 = 02</action>
</script>
<script state="off">
<action>maincpu.mb@2DB67 = 76</action>
</script>
</cheat>
<cheat desc="attack">
<parameter>
<item value="0x00">firearms </item>
<item value="0x01">direct attack</item>
</parameter>
<script state="change">
<!-- stand -->
<action condition="param == 00">maincpu.md@36332 = 65000002</action>
<action condition="param == 01">maincpu.md@36332 = 60000084</action>
<!-- walk -->
<action condition="param == 00">maincpu.md@36778 = 65000002</action>
<action condition="param == 01">maincpu.md@36778 = 6000FC3E</action>
<!-- jump -->
<action condition="param == 00">maincpu.mw@36936 = 4E71</action>
<action condition="param == 01">maincpu.mw@36936 = 603C</action>
<!-- crouch -->
<action condition="param == 00">maincpu.md@36BCC = 65000002</action>
<action condition="param == 01">maincpu.md@36BCC = 6000F7EA</action>
<!-- swim -->
<action condition="param == 00">maincpu.mw@37510 = 4E71</action>
<action condition="param == 01">maincpu.mw@37510 = 600A</action>
</script>
<script state="off">
<action>maincpu.md@36332 = 65000084</action>
<action>maincpu.md@36778 = 6500FC3E</action>
<action>maincpu.mw@36936 = 653C </action>
<action>maincpu.md@36BCC = 6500F7EA</action>
<action>maincpu.mw@37510 = 650A </action>
</script>
</cheat>
<cheat desc="short hit mark">
<script state="on">
<action>maincpu.mw@3D8DC = 4E71</action>
</script>
<script state="off">
<action>maincpu.mw@3D8DC = 67F6</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@03F4A = 0007C460 </action>
<action>maincpu.mq@7C460 = 41F90020100043E8</action>
<action>maincpu.mq@7C468 = 00011028F058B028</action>
<action>maincpu.mq@7C470 = 000267540C000001</action>
<action>maincpu.mq@7C478 = 660253100C000002</action>
<action>maincpu.mq@7C480 = 660252100C000008</action>
<action>maincpu.mq@7C488 = 6604041000100C00</action>
<action>maincpu.mq@7C490 = 0004660406100010</action>
<action>maincpu.mq@7C498 = 0C00004166025311</action>
<action>maincpu.mq@7C4A0 = 0C00004266025211</action>
<action>maincpu.mq@7C4A8 = 0211000342870C00</action>
<action>maincpu.mq@7C4B0 = 001066081E11E14F</action>
<action>maincpu.mq@7C4B8 = 8E1060060C000020</action>
<action>maincpu.mq@7C4C0 = 66064EB900100E12</action>
<action>maincpu.mq@7C4C8 = 114000024E75FFFF</action>
<!--
7C460 | 41F9 0020 1000 : lea $201000.l, A0 // sound code address
7C466 | 43E8 0001 : lea ($1,A0), A1 // bank number address
7C46A | 1028 F058 : move.b (-$fa8,A0), D0 // read input ($200058)
7C46E | B028 0002 : cmp.b ($2,A0), D0
7C472 | 6754 : beq $7c4c8
7C474 | 0C00 0001 : cmpi.b #$1, D0
7C478 | 6602 : bne $7c47c
7C47A | 5310 : subq.b #1, (A0) // decrease code -01
7C47C | 0C00 0002 : cmpi.b #$2, D0
7C480 | 6602 : bne $7c484
7C482 | 5210 : addq.b #1, (A0) // increase code +01
7C484 | 0C00 0008 : cmpi.b #$8, D0
7C488 | 6604 : bne $7c48e
7C48A | 0410 0010 : subi.b #$10, (A0) // decrease code -10
7C48E | 0C00 0004 : cmpi.b #$4, D0
7C492 | 6604 : bne $7c498
7C494 | 0610 0010 : addi.b #$10, (A0) // increase code +10
7C498 | 0C00 0041 : cmpi.b #$41, D0
7C49C | 6602 : bne $7c4a0
7C49E | 5311 : subq.b #1, (A1) // decrease bank -01
7C4A0 | 0C00 0042 : cmpi.b #$42, D0
7C4A4 | 6602 : bne $7c4a8
7C4A6 | 5211 : addq.b #1, (A1) // increase bank +01
7C4A8 | 0211 0003 : andi.b #$3, (A1) // mask bank number
7C4AC | 4287 : clr.l D7
7C4AE | 0C00 0010 : cmpi.b #$10, D0
7C4B2 | 6608 : bne $7c4bc
7C4B4 | 1E11 : move.b (A1), D7 // play sound
7C4B6 | E14F : lsl.w #8, D7
7C4B8 | 8E10 : or.b (A0), D7
7C4BA | 6006 : bra $7c4c2
7C4BC | 0C00 0020 : cmpi.b #$20, D0
7C4C0 | 6606 : bne $7c4c8 // stop sound
7C4C2 | 4EB9 0010 0E12 : jsr $100e12.l // send sound code
7C4C8 | 1140 0002 : move.b D0, ($2,A0)
7C4CC | 4E75 : rts
-->
</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 3 + left : decrease bank -10" line="15" align="center" />
<output format="button 3 + right : increase bank +10" line="16" align="center" />
<output format="button 1 : play sound" line="17" align="center" />
<output format="button 2 : stop sound" line="18" align="center" />
<output format="----------------------------" line="19" align="center" />
<output format="<< bank %02X >>" line="21" align="center" >
<argument>maincpu.pb@201001</argument>
</output>
<output format="<< sound code %02X >>" line="23" align="center" >
<argument>maincpu.pb@201000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@03F4A = 00075648 </action>
<action>maincpu.mq@7C460 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C468 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C470 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C478 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C480 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C488 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C490 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C498 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4C8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@13A2 = 13A4</action>
</script>
<script state="off">
<action>maincpu.mw@13A2 = 1EE6</action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- Mystic Warriors (ver AAA) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0DC3C = 60</action> <!-- cutter (level 1 middle boss) -->
<action>maincpu.mb@0DDC8 = 60</action> <!-- bullet -->
<action>maincpu.mb@0E346 = 60</action> <!-- iron hand (level 5 boss) -->
<action>maincpu.mb@0E4BE = 60</action> <!-- knife -->
<action>maincpu.mb@21F64 = 60</action> <!-- hand (last boss) -->
<action>maincpu.mb@2B40F = 60</action> <!-- ball (level 2 boss) -->
</script>
<script state="off">
<action>maincpu.mb@0DC3C = 67</action>
<action>maincpu.mb@0DDC8 = 67</action>
<action>maincpu.mb@0E346 = 67</action>
<action>maincpu.mb@0E4BE = 67</action>
<action>maincpu.mb@21F64 = 62</action>
<action>maincpu.mb@2B40F = 12</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@36307 = FA</action> <!-- stand -->
<action>maincpu.mb@3674D = FA</action> <!-- walk -->
<action>maincpu.mb@3690B = FA</action> <!-- jump -->
<action>maincpu.mb@36BA1 = FA</action> <!-- crouch -->
<action>maincpu.mb@36DC5 = FA</action> <!-- climb -->
<action>maincpu.mb@374ED = FA</action> <!-- swim -->
</script>
<script state="off">
<action>maincpu.mb@36307 = FB</action>
<action>maincpu.mb@3674D = FB</action>
<action>maincpu.mb@3690B = FB</action>
<action>maincpu.mb@36BA1 = FB</action>
<action>maincpu.mb@36DC5 = FB</action>
<action>maincpu.mb@374ED = FB</action>
</script>
</cheat>
<cheat desc="action speed up">
<script state="on">
<action>maincpu.mb@2DB6B = 02</action>
</script>
<script state="off">
<action>maincpu.mb@2DB6B = 76</action>
</script>
</cheat>
<cheat desc="attack">
<parameter>
<item value="0x00">firearms </item>
<item value="0x01">direct attack</item>
</parameter>
<script state="change">
<!-- stand -->
<action condition="param == 00">maincpu.md@36336 = 65000002</action>
<action condition="param == 01">maincpu.md@36336 = 60000084</action>
<!-- walk -->
<action condition="param == 00">maincpu.md@3677C = 65000002</action>
<action condition="param == 01">maincpu.md@3677C = 6000FC3E</action>
<!-- jump -->
<action condition="param == 00">maincpu.mw@3693A = 4E71</action>
<action condition="param == 01">maincpu.mw@3693A = 603C</action>
<!-- crouch -->
<action condition="param == 00">maincpu.md@36BD0 = 65000002</action>
<action condition="param == 01">maincpu.md@36BD0 = 6000F7EA</action>
<!-- swim -->
<action condition="param == 00">maincpu.mw@37514 = 4E71</action>
<action condition="param == 01">maincpu.mw@37514 = 600A</action>
</script>
<script state="off">
<action>maincpu.md@36336 = 65000084</action>
<action>maincpu.md@3677C = 6500FC3E</action>
<action>maincpu.mw@3693A = 653C </action>
<action>maincpu.md@36BD0 = 6500F7EA</action>
<action>maincpu.mw@37514 = 650A </action>
</script>
</cheat>
<cheat desc="short hit mark">
<script state="on">
<action>maincpu.mw@3D8E0 = 4E71</action>
</script>
<script state="off">
<action>maincpu.mw@3D8E0 = 67F6</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@03F4A = 0007C460 </action>
<action>maincpu.mq@7C460 = 41F90020100043E8</action>
<action>maincpu.mq@7C468 = 00011028F058B028</action>
<action>maincpu.mq@7C470 = 000267540C000001</action>
<action>maincpu.mq@7C478 = 660253100C000002</action>
<action>maincpu.mq@7C480 = 660252100C000008</action>
<action>maincpu.mq@7C488 = 6604041000100C00</action>
<action>maincpu.mq@7C490 = 0004660406100010</action>
<action>maincpu.mq@7C498 = 0C00004166025311</action>
<action>maincpu.mq@7C4A0 = 0C00004266025211</action>
<action>maincpu.mq@7C4A8 = 0211000342870C00</action>
<action>maincpu.mq@7C4B0 = 001066081E11E14F</action>
<action>maincpu.mq@7C4B8 = 8E1060060C000020</action>
<action>maincpu.mq@7C4C0 = 66064EB900100E12</action>
<action>maincpu.mq@7C4C8 = 114000024E75FFFF</action>
<!--
7C460 | 41F9 0020 1000 : lea $201000.l, A0 // sound code address
7C466 | 43E8 0001 : lea ($1,A0), A1 // bank number address
7C46A | 1028 F058 : move.b (-$fa8,A0), D0 // read input ($200058)
7C46E | B028 0002 : cmp.b ($2,A0), D0
7C472 | 6754 : beq $7c4c8
7C474 | 0C00 0001 : cmpi.b #$1, D0
7C478 | 6602 : bne $7c47c
7C47A | 5310 : subq.b #1, (A0) // decrease code -01
7C47C | 0C00 0002 : cmpi.b #$2, D0
7C480 | 6602 : bne $7c484
7C482 | 5210 : addq.b #1, (A0) // increase code +01
7C484 | 0C00 0008 : cmpi.b #$8, D0
7C488 | 6604 : bne $7c48e
7C48A | 0410 0010 : subi.b #$10, (A0) // decrease code -10
7C48E | 0C00 0004 : cmpi.b #$4, D0
7C492 | 6604 : bne $7c498
7C494 | 0610 0010 : addi.b #$10, (A0) // increase code +10
7C498 | 0C00 0041 : cmpi.b #$41, D0
7C49C | 6602 : bne $7c4a0
7C49E | 5311 : subq.b #1, (A1) // decrease bank -01
7C4A0 | 0C00 0042 : cmpi.b #$42, D0
7C4A4 | 6602 : bne $7c4a8
7C4A6 | 5211 : addq.b #1, (A1) // increase bank +01
7C4A8 | 0211 0003 : andi.b #$3, (A1) // mask bank number
7C4AC | 4287 : clr.l D7
7C4AE | 0C00 0010 : cmpi.b #$10, D0
7C4B2 | 6608 : bne $7c4bc
7C4B4 | 1E11 : move.b (A1), D7 // play sound
7C4B6 | E14F : lsl.w #8, D7
7C4B8 | 8E10 : or.b (A0), D7
7C4BA | 6006 : bra $7c4c2
7C4BC | 0C00 0020 : cmpi.b #$20, D0
7C4C0 | 6606 : bne $7c4c8 // stop sound
7C4C2 | 4EB9 0010 0E12 : jsr $100e12.l // send sound code
7C4C8 | 1140 0002 : move.b D0, ($2,A0)
7C4CC | 4E75 : rts
-->
</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 3 + left : decrease bank -10" line="15" align="center" />
<output format="button 3 + right : increase bank +10" line="16" align="center" />
<output format="button 1 : play sound" line="17" align="center" />
<output format="button 2 : stop sound" line="18" align="center" />
<output format="----------------------------" line="19" align="center" />
<output format="<< bank %02X >>" line="21" align="center" >
<argument>maincpu.pb@201001</argument>
</output>
<output format="<< sound code %02X >>" line="23" align="center" >
<argument>maincpu.pb@201000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@03F4A = 0007564C </action>
<action>maincpu.mq@7C460 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C468 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C470 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C478 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C480 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C488 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C490 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C498 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C4C8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@13A2 = 13A4</action>
</script>
<script state="off">
<action>maincpu.mw@13A2 = 1EE6</action>
</script>
</cheat>
</mamecheat>
- "attack" : You always attack with "firearms" in some situation (for example climb, pulley etc) even if you select "direct attack".
- "sound test mode" : Valid bank number seems to be 0x00 and 0x01.