[mtlchampj] Martial Champion

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
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[mtlchampj] Martial Champion

Post by jman »

Code: Select all

<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">
        <!-- jin : tenga renken -->
        <action>maincpu.mq@174c2 = 4eb9000718406400</action>
        <action>maincpu.mq@71840 = bbfc001051006006</action>
        <action>maincpu.mq@71848 = 023c00fe4e75bbfc</action>
        <action>maincpu.mq@71850 = 001055006006023c</action>
        <action>maincpu.mq@71858 = 00fe4e750c680058</action>
        <action>maincpu.mq@71860 = 00a04e75ffffffff</action>
        <!--
        071840 | bbfc 0010 5100 : cmpa.l #$105100,A5
        071846 | 6006           : bra    $7184e
        071848 | 023c 00fe      : andi   #$fe,CCR
        07184c | 4e75           : rts
        07184e | bbfc 0010 5500 : cmpa.l #$105500,A5
        071854 | 6006           : bra    $7185c
        071856 | 023c 00fe      : andi   #$fe,CCR
        07185a | 4e75           : rts
        07185c | 0c68 0058 00a0 : cmpi.w #$58,($a0,A0)
        071862 | 4e75           : rts
        -->
        <!-- throw -->
        <action>maincpu.mq@169fa = 4eb9000718706700</action> <!-- air -->
        <action>maincpu.mq@16cc4 = 4eb9000718706700</action> <!-- ground -->
        <action>maincpu.mq@71870 = bbfc001051006004</action>
        <action>maincpu.mq@71878 = 70004e75bbfc0010</action>
        <action>maincpu.mq@71880 = 5500600470004e75</action>
        <action>maincpu.mq@71888 = 024000204a004e75</action>
        <!--
        71870 | bbfc 0010 5100 : cmpa.l #$105100,A5
        71876 | 6004           : bra    $7187c
        71878 | 7000           : moveq  #$0,D0
        7187a | 4e75           : rts
        7187c | bbfc 0010 5500 : cmpa.l #$105500,A5
        71882 | 6004           : bra    $71888
        71884 | 7000           : moveq  #$0,D0
        71886 | 4e75           : rts
        71888 | 0240 0020      : andi.w #$20,D0
        7188c | 4a00           : tst.b  D0
        7188e | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action                                  >maincpu.mb@124ca = 62</action> <!-- P1 normal attack -->
        <action                                  >maincpu.mb@13170 = 64</action> <!-- P1 weapon -->
        <action                                  >maincpu.mb@125ec = 62</action> <!-- P1 firearm -->
        <action                                  >maincpu.mb@12b30 = 62</action> <!-- P1 guard -->
        <action                                  >maincpu.mb@71846 = 60</action> <!-- P1 jin : tenga renken -->
        <action                                  >maincpu.mb@71876 = 60</action> <!-- P1 throw -->
        <action                                  >maincpu.mb@11ff0 = 62</action> <!-- P2 normal attack -->
        <action                                  >maincpu.mb@13072 = 64</action> <!-- P2 weapon -->
        <action                                  >maincpu.mb@12814 = 62</action> <!-- P2 firearm -->
        <action                                  >maincpu.mb@12d62 = 62</action> <!-- P2 guard -->
        <action                                  >maincpu.mb@71854 = 60</action> <!-- P2 jin : tenga renken -->
        <action                                  >maincpu.mb@71882 = 60</action> <!-- P2 throw -->
        <action condition="(param band 01) != 00">maincpu.mb@124ca = 60</action>
        <action condition="(param band 01) != 00">maincpu.mb@13170 = 60</action>
        <action condition="(param band 01) != 00">maincpu.mb@125ec = 60</action>
        <action condition="(param band 01) != 00">maincpu.mb@12b30 = 60</action>
        <action condition="(param band 01) != 00">maincpu.mb@71846 = 66</action>
        <action condition="(param band 01) != 00">maincpu.mb@71876 = 66</action>
        <action condition="(param band 02) != 00">maincpu.mb@11ff0 = 60</action>
        <action condition="(param band 02) != 00">maincpu.mb@13072 = 60</action>
        <action condition="(param band 02) != 00">maincpu.mb@12814 = 60</action>
        <action condition="(param band 02) != 00">maincpu.mb@12d62 = 60</action>
        <action condition="(param band 02) != 00">maincpu.mb@71854 = 66</action>
        <action condition="(param band 02) != 00">maincpu.mb@71882 = 66</action>
    </script>
    <script state="off">
        <action>maincpu.mb@124ca =               62</action>
        <action>maincpu.mb@13170 =               64</action>
        <action>maincpu.mb@125ec =               62</action>
        <action>maincpu.mb@12b30 =               62</action>
        <action>maincpu.mb@11ff0 =               62</action>
        <action>maincpu.mb@13072 =               64</action>
        <action>maincpu.mb@12814 =               62</action>
        <action>maincpu.mb@12d62 =               62</action>
        <action>maincpu.mq@174c2 = 0c68005800a06400</action>
        <action>maincpu.mq@71840 = ffffffffffffffff</action>
        <action>maincpu.mq@71848 = ffffffffffffffff</action>
        <action>maincpu.mq@71850 = ffffffffffffffff</action>
        <action>maincpu.mq@71858 = ffffffffffffffff</action>
        <action>maincpu.mq@71860 = ffffffffffffffff</action>
        <action>maincpu.mq@169fa = 024000204a006700</action>
        <action>maincpu.mq@16cc4 = 024000204a006700</action>
        <action>maincpu.mq@71870 = ffffffffffffffff</action>
        <action>maincpu.mq@71878 = ffffffffffffffff</action>
        <action>maincpu.mq@71880 = ffffffffffffffff</action>
        <action>maincpu.mq@71888 = ffffffffffffffff</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="on">
        <action>maincpu.mq@16544 = 4eb9000718904e71</action>
        <action>maincpu.mq@71890 = 10280035b1fc0010</action>
        <action>maincpu.mq@71898 = 510060041028001e</action>
        <action>maincpu.mq@718a0 = b1fc001055006004</action>
        <action>maincpu.mq@718a8 = 1028001e02400070</action>
        <action>maincpu.mq@718b0 = 4e75ffffffffffff</action>
        <!--
        71890 | 1028 0035      : move.b ($35,A0),D0
        71894 | b1fc 0010 5100 : cmpa.l #$105100,A0
        7189a | 6004           : bra    $718a0
        7189c | 1028 001e      : move.b ($1e,A0),D0
        718a0 | b1fc 0010 5500 : cmpa.l #$105500,A0
        718a6 | 6004           : bra    $718ac
        718a8 | 1028 001e      : move.b ($1e,A0),D0
        718ac | 0240 0070      : andi.w #$70,D0
        718b0 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action                                  >maincpu.mb@7189a = 60</action>
        <action                                  >maincpu.mb@718a6 = 60</action>
        <action condition="(param band 01) != 00">maincpu.mb@7189a = 66</action>
        <action condition="(param band 02) != 00">maincpu.mb@718a6 = 66</action>
    </script>
    <script state="off">
        <action>maincpu.mq@16544 = 1028003502400070</action>
        <action>maincpu.mq@71890 = ffffffffffffffff</action>
        <action>maincpu.mq@71898 = ffffffffffffffff</action>
        <action>maincpu.mq@718a0 = ffffffffffffffff</action>
        <action>maincpu.mq@718a8 = ffffffffffffffff</action>
        <action>maincpu.mq@718b0 = ffffffffffffffff</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">
        <action>maincpu.mb@14153 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@14153 = 27</action>
    </script>
</cheat>

<cheat desc="unlock secret character">
    <script state="on">
        <action>maincpu.mb@c4d7 = 0x0a</action>
        <action>maincpu.mb@c4c7 = 0x0b</action>
    </script>
    <script state="off">
        <action>maincpu.mb@c4d7 = 09</action>
        <action>maincpu.mb@c4c7 = 0a</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set ram/rom check skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mw@034d8 =             4e71</action> <!-- accept sound code -->
        <action>maincpu.md@010f4 =         000718c0</action>
        <action>maincpu.mq@718c0 = 41f9001010004200</action>
        <action>maincpu.mq@718c8 = 1200103900414001</action>
        <action>maincpu.mq@718d0 = b20067f40c0000fe</action>
        <action>maincpu.mq@718d8 = 660253100c0000fd</action>
        <action>maincpu.mq@718e0 = 660252100c0000f7</action>
        <action>maincpu.mq@718e8 = 6604041000100c00</action>
        <action>maincpu.mq@718f0 = 00fb660406100010</action>
        <action>maincpu.mq@718f8 = 0c0000ef66041e10</action>
        <action>maincpu.mq@71900 = 600a0c0000df6608</action>
        <action>maincpu.mq@71908 = 1e3c00f44eb8347e</action>
        <action>maincpu.mq@71910 = 60b6ffffffffffff</action>
        <!--
        718c0 | 41f9 0010 1000 : lea    $101000.l,A0 // sound code address
        718c6 | 4200           : clr.b  D0
        718c8 | 1200           : move.b D0,D1
        718ca | 1039 0041 4001 : move.b $414001.l,D0 // read input
        718d0 | b200           : cmp.b  D0,D1
        718d2 | 67f4           : beq    $718c8
        718d4 | 0c00 00fe      : cmpi.b #-$2,D0
        718d8 | 6602           : bne    $718dc
        718da | 5310           : subq.b #1,(A0)      // decrease code -01
        718dc | 0c00 00fd      : cmpi.b #-$3,D0
        718e0 | 6602           : bne    $718e4
        718e2 | 5210           : addq.b #1,(A0)      // increase code +01
        718e4 | 0c00 00f7      : cmpi.b #-$9,D0
        718e8 | 6604           : bne    $718ee
        718ea | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        718ee | 0c00 00fb      : cmpi.b #-$5,D0
        718f2 | 6604           : bne    $718f8
        718f4 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        718f8 | 0c00 00ef      : cmpi.b #-$11,D0
        718fc | 6604           : bne    $71902
        718fe | 1e10           : move.b (A0),D7      // play sound
        71900 | 600a           : bra    $7190c
        71902 | 0c00 00df      : cmpi.b #-$21,D0
        71906 | 6608           : bne    $71910
        71908 | 1e3c 00f4      : move.b #$f4,D7      // stop sound
        7190c | 4eb9 347e      : jsr    $347e.l      // send sound code
        71910 | 60b6           : bra    $718c8
        -->
    </script>
    <script state="run">
        <output format="----- martial champion 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="up : increase code +10"                       line="13" align="center" />
        <output format="down : decrease 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="&lt;&lt; sound code %2.2X &gt;&gt;"           line="19" align="center">
            <argument>maincpu.pb@101000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@034d8 =             4e75</action>
        <action>maincpu.md@010f4 =         00001f50</action>
        <action>maincpu.mq@718c0 = ffffffffffffffff</action>
        <action>maincpu.mq@718c8 = ffffffffffffffff</action>
        <action>maincpu.mq@718d0 = ffffffffffffffff</action>
        <action>maincpu.mq@718d8 = ffffffffffffffff</action>
        <action>maincpu.mq@718e0 = ffffffffffffffff</action>
        <action>maincpu.mq@718e8 = ffffffffffffffff</action>
        <action>maincpu.mq@718f0 = ffffffffffffffff</action>
        <action>maincpu.mq@718f8 = ffffffffffffffff</action>
        <action>maincpu.mq@71900 = ffffffffffffffff</action>
        <action>maincpu.mq@71908 = ffffffffffffffff</action>
        <action>maincpu.mq@71910 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.mq@35b8 = 4ef90000107a103c</action>
    </script>
    <script state="off">
        <action>maincpu.mq@35b8 = 4df9000035c6103c</action>
    </script>
</cheat>
"sound test mode" is incomplete. Character voice is not played in this code.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[mtlchampj] Martial Champion (update)

Post by jman »

Code: Select all

<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">
        <action>maincpu.mq@174c2 = 4eb9000718406400</action> <!-- tenga renken (jin) -->
        <action>maincpu.mq@169fa = 4eb9000718626700</action> <!-- throw (air) -->
        <action>maincpu.mq@16cc4 = 4eb9000718626700</action> <!-- throw -->
        <action>maincpu.mq@71840 = bbfc001051006706</action>
        <action>maincpu.mq@71848 = bbfc001055004e75</action>
        <action>maincpu.mq@71850 = 61ee6606023c00fe</action>
        <action>maincpu.mq@71858 = 4e750c68005800a0</action>
        <action>maincpu.mq@71860 = 4e7561dc66047000</action>
        <action>maincpu.mq@71868 = 4e75024000204a00</action>
        <action>maincpu.mq@71870 = 4e75ffffffffffff</action>
        <!--
        71840 | bbfc 0010 5100 : cmpa.l #$105100,A5   // player check routine
        71846 | 6706           : beq    $7184e
        71848 | bbfc 0010 5500 : cmpa.l #$105500,A5
        7184e | 4e75           : rts
        71850 | 61ee           : bsr    $71840        // tenga renken (jin)
        71852 | 6606           : bne    $7185a
        71854 | 023c 00fe      : andi   #$fe,CCR
        71858 | 4e75           : rts
        7185a | 0c68 0058 00a0 : cmpi.w #$58,($a0,A0)
        71860 | 4e75           : rts
        71862 | 61dc           : bsr    $71840        // throw
        71864 | 6604           : bne    $7186a
        71866 | 7000           : moveq  #$0,D0
        71868 | 4e75           : rts
        7186a | 0240 0020      : andi.w #$20,D0
        7186e | 4a00           : tst.b  D0
        71870 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action                                  >maincpu.md@71842 = 00000000</action> <!-- P1 tenga renken / throw -->
        <action                                  >maincpu.mb@124ca =       62</action> <!-- P1 attack -->
        <action                                  >maincpu.mb@13170 =       64</action> <!-- P1 weapon -->
        <action                                  >maincpu.mb@125ec =       62</action> <!-- P1 firearm -->
        <action                                  >maincpu.mb@12b30 =       62</action> <!-- P1 guard -->
        <action                                  >maincpu.md@7184a = 00000000</action> <!-- P2 tenga renken / throw -->
        <action                                  >maincpu.mb@11ff0 =       62</action> <!-- P2 attack -->
        <action                                  >maincpu.mb@13072 =       64</action> <!-- P2 weapon -->
        <action                                  >maincpu.mb@12814 =       62</action> <!-- P2 firearm -->
        <action                                  >maincpu.mb@12d62 =       62</action> <!-- P2 guard -->
        <action condition="(param band 01) != 00">maincpu.md@71842 = 00105100</action>
        <action condition="(param band 01) != 00">maincpu.mb@124ca =       60</action>
        <action condition="(param band 01) != 00">maincpu.mb@13170 =       60</action>
        <action condition="(param band 01) != 00">maincpu.mb@125ec =       60</action>
        <action condition="(param band 01) != 00">maincpu.mb@12b30 =       60</action>
        <action condition="(param band 02) != 00">maincpu.md@7184a = 00105500</action>
        <action condition="(param band 02) != 00">maincpu.mb@11ff0 =       60</action>
        <action condition="(param band 02) != 00">maincpu.mb@13072 =       60</action>
        <action condition="(param band 02) != 00">maincpu.mb@12814 =       60</action>
        <action condition="(param band 02) != 00">maincpu.mb@12d62 =       60</action>
    </script>
    <script state="off">
        <action>maincpu.mq@174c2 = 0c68005800a06400</action>
        <action>maincpu.mq@169fa = 024000204a006700</action>
        <action>maincpu.mq@16cc4 = 024000204a006700</action>
        <action>maincpu.mq@71840 = ffffffffffffffff</action>
        <action>maincpu.mq@71840 = ffffffffffffffff</action>
        <action>maincpu.mq@71850 = ffffffffffffffff</action>
        <action>maincpu.mq@71850 = ffffffffffffffff</action>
        <action>maincpu.mq@71860 = ffffffffffffffff</action>
        <action>maincpu.mq@71860 = ffffffffffffffff</action>
        <action>maincpu.mq@71870 = ffffffffffffffff</action>
        <action>maincpu.mb@124ca =               62</action>
        <action>maincpu.mb@13170 =               64</action>
        <action>maincpu.mb@125ec =               62</action>
        <action>maincpu.mb@12b30 =               62</action>
        <action>maincpu.mb@11ff0 =               62</action>
        <action>maincpu.mb@13072 =               64</action>
        <action>maincpu.mb@12814 =               62</action>
        <action>maincpu.mb@12d62 =               62</action>
    </script>
</cheat>
"no hit" : rewrite routine.

Code: Select all

<cheat desc="auto fire">
    <parameter>
        <item value="0x01">P1          </item>
        <item value="0x02">P2          </item>
        <item value="0x03">both players</item>
    </parameter>
    <script state="on">
        <action>maincpu.mq@16544 = 4eb9000718804e71</action>
        <action>maincpu.mq@71880 = 10280035b1fc0010</action>
        <action>maincpu.mq@71888 = 51006708b1fc0010</action>
        <action>maincpu.mq@71890 = 550066041028001e</action>
        <action>maincpu.mq@71898 = 024000704e75ffff</action>
        <!--
        71880 | 1028 0035      : move.b ($35,A0),D0
        71884 | b1fc 0010 5100 : cmpa.l #$105100,A0
        7188a | 6708           : beq    $71894
        7188c | b1fc 0010 5500 : cmpa.l #$105500,A0
        71892 | 6604           : bne    $71898
        71894 | 1028 001e      : move.b ($1e,A0),D0
        71898 | 0240 0070      : andi.w #$70,D0
        7189c | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action                                  >maincpu.md@71886 = 00000000</action>
        <action                                  >maincpu.md@7188e = 00000000</action>
        <action condition="(param band 01) != 00">maincpu.md@71886 = 00105100</action>
        <action condition="(param band 02) != 00">maincpu.md@7188e = 00105500</action>
    </script>
    <script state="off">
        <action>maincpu.mq@16544 = 1028003502400070</action>
        <action>maincpu.mq@71880 = ffffffffffffffff</action>
        <action>maincpu.mq@71888 = ffffffffffffffff</action>
        <action>maincpu.mq@71890 = ffffffffffffffff</action>
        <action>maincpu.mq@71898 = ffffffffffffffff</action>
    </script>
</cheat>
"auto fire" : rewrite routine.

Code: Select all

<cheat desc="action speed up (test)">
    <parameter>
        <item value="0x01">P1          </item>
        <item value="0x02">P2          </item>
        <item value="0x03">both players</item>
    </parameter>
    <script state="on">
        <action>maincpu.mq@08784 = 4eb9000718a04e71</action>
        <action>maincpu.mq@718a0 = 06020001b1fc0010</action>
        <action>maincpu.mq@718a8 = 51006708b1fc0010</action>
        <action>maincpu.mq@718b0 = 5500660c12360006</action>
        <action>maincpu.mq@718b8 = b202630453011401</action>
        <action>maincpu.mq@718c0 = b43600064e75ffff</action>
        <!--
        718a4 | b1fc 0010 5100 : cmpa.l #$105100,A0
        718aa | 6708           : beq    $718b4
        718ac | b1fc 0010 5500 : cmpa.l #$105500,A0
        718b2 | 660c           : bne    $718c0
        718b4 | 1236 0006      : move.b ($6,A6,D0.w),D1
        718b8 | b202           : cmp.b  D2,D1
        718ba | 6304           : bls    $718c0
        718bc | 5301           : subq.b #1,D1
        718be | 1401           : move.b D1,D2
        718c0 | b436 0006      : cmp.b  ($6,A6,D0.w),D2
        718c4 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action                                  >maincpu.md@718a6 = 00000000</action>
        <action                                  >maincpu.md@718ae = 00000000</action>
        <action condition="(param band 01) != 00">maincpu.md@718a6 = 00105100</action>
        <action condition="(param band 02) != 00">maincpu.md@718ae = 00105500</action>
    </script>
    <script state="off">
        <action>maincpu.mq@08784 = 06020001b4360006</action>
        <action>maincpu.mq@718a0 = ffffffffffffffff</action>
        <action>maincpu.mq@718a8 = ffffffffffffffff</action>
        <action>maincpu.mq@718b0 = ffffffffffffffff</action>
        <action>maincpu.mq@718b8 = ffffffffffffffff</action>
        <action>maincpu.mq@718c0 = ffffffffffffffff</action>
    </script>
</cheat>
"action speed up" : add new as test code because of some bugs (failed to shoot firearms, frozen character after throw etc).

Code: Select all

<cheat desc="easy moves (test)">
    <script state="on">
        <action>maincpu.mw@1a16c = a368</action> <!-- jin -->
        <action>maincpu.mw@1a3c6 = a5ce</action> <!-- jin -->
        <action>maincpu.mw@1a894 = a94e</action> <!-- goldor -->
        <action>maincpu.mw@1a9d1 =   01</action> <!-- goldor -->
        <action>maincpu.mw@1a670 = a742</action> <!-- racheal -->
        <action>maincpu.mb@1a7c7 =   01</action> <!-- racheal -->
        <action>maincpu.mw@1b3ba = b46e</action> <!-- zen -->
        <action>maincpu.mw@1aa94 = ab4e</action> <!-- hoi -->
        <action>maincpu.mw@1aba0 = ad9e</action> <!-- hoi -->
        <action>maincpu.mb@1ae33 =   01</action> <!-- chaos -->
        <action>maincpu.mw@1aeee = b0e6</action> <!-- chaos -->
        <action>maincpu.mw@1bfba = bff8</action> <!-- mahambah -->
        <action>maincpu.mw@1b4ca = b584</action> <!-- avu -->
        <action>maincpu.mw@1b5d6 = b7de</action> <!-- avu -->
        <action>maincpu.mw@1bcb6 = bcf4</action> <!-- titi -->
        <action>maincpu.mw@1bd70 = bf78</action> <!-- titi -->
        <action>maincpu.mw@1b824 = ba2c</action> <!-- bobby -->
        <action>maincpu.mw@1ba6c = bc74</action> <!-- bobby -->
    </script>
    <script state="off">
        <action>maincpu.mw@1a16c = a22c</action>
        <action>maincpu.mw@1a16c = a42e</action>
        <action>maincpu.mw@1a894 = a8a2</action>
        <action>maincpu.mw@1a9d1 =   05</action>
        <action>maincpu.mw@1a670 = a67e</action>
        <action>maincpu.mw@1a7c7 = 06</action>
        <action>maincpu.mw@1b3ba = b3c8</action>
        <action>maincpu.mw@1aa94 = aaa2</action>
        <action>maincpu.mw@1aba0 = ac60</action>
        <action>maincpu.mb@1ae33 =   05</action>
        <action>maincpu.mw@1aeee = af56</action>
        <action>maincpu.mw@1bfba = bfc0</action>
        <action>maincpu.mw@1b4ca = b4d8</action>
        <action>maincpu.mw@1b5d6 = b63e</action>
        <action>maincpu.mw@1bcb6 = bcbc</action>
        <action>maincpu.mw@1bd70 = bdd8</action>
        <action>maincpu.mw@1b824 = b88c</action>
        <action>maincpu.mw@1ba6c = bad4</action>
    </script>
</cheat>
"easy moves" : add new as test code because of unverified.

Code: Select all

<cheat desc="sound test mode">
    <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mw@034d8 =             4e71</action> <!-- enable sound code check -->
        <action>maincpu.md@010f4 =         000718d0</action>
        <action>maincpu.mq@718d0 = 41f90010100043e8</action>
        <action>maincpu.mq@718d8 = 0001120010390041</action>
        <action>maincpu.mq@718e0 = 4001b20067f40c00</action>
        <action>maincpu.mq@718e8 = 00fe660253100c00</action>
        <action>maincpu.mq@718f0 = 00fd660252100c00</action>
        <action>maincpu.mq@718f8 = 00f7660404100010</action>
        <action>maincpu.mq@71900 = 0c0000fb66040610</action>
        <action>maincpu.mq@71908 = 00100c0000be6604</action>
        <action>maincpu.mq@71910 = 041100100c0000bd</action>
        <action>maincpu.mq@71918 = 6604061100100c00</action>
        <action>maincpu.mq@71920 = 00ef66061c111e10</action>
        <action>maincpu.mq@71928 = 600c0c0000df660a</action>
        <action>maincpu.mq@71930 = 42061e3c00ff4eb8</action>
        <action>maincpu.mq@71938 = 347e609effffffff</action>
        <!--
        718d0 | 41f9 0010 1000 : lea    $101000.l,A0 // $101000 : sound code address
        718d6 | 43e8 0001      : lea    ($1,A0),A1   // $101001 : bank number address
        718da | 1200           : move.b D0,D1
        718dc | 1039 0041 4001 : move.b $414001.l,D0 // read input
        718e2 | b200           : cmp.b  D0,D1
        718e4 | 67f4           : beq    $718da
        718e6 | 0c00 00fe      : cmpi.b #-$2,D0
        718ea | 6602           : bne    $718ee
        718ec | 5310           : subq.b #1,(A0)      // decrease code -01
        718ee | 0c00 00fd      : cmpi.b #-$3,D0
        718f2 | 6602           : bne    $718f6
        718f4 | 5210           : addq.b #1,(A0)      // increase code +01
        718f6 | 0c00 00f7      : cmpi.b #-$9,D0
        718fa | 6604           : bne    $71900
        718fc | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        71900 | 0c00 00fb      : cmpi.b #-$5,D0
        71904 | 6604           : bne    $7190a
        71906 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        7190a | 0c00 00be      : cmpi.b #-$42,D0
        7190e | 6604           : bne    $71914
        71910 | 0411 0010      : subi.b #$10,(A1)    // decrease bank -10
        71914 | 0c00 00bd      : cmpi.b #-$43,D0
        71918 | 6604           : bne    $7191e
        7191a | 0611 0010      : addi.b #$10,(A1)    // increase bank +10
        7191e | 0c00 00ef      : cmpi.b #-$11,D0
        71922 | 6606           : bne    $7192a
        71924 | 1c11           : move.b (A1),D6      // play sound
        71926 | 1e10           : move.b (A0),D7
        71928 | 600c           : bra    $71936
        7192a | 0c00 00df      : cmpi.b #-$21,D0
        7192e | 660a           : bne    $7193a
        71930 | 4206           : clr.b  D6           // stop sound
        71932 | 1e3c 00ff      : move.b #$ff,D7
        71936 | 4eb8 347e      : jsr    $347e.w      // send sound code
        7193a | 609e           : bra    $718da
        -->
    </script>
    <script state="run">
        <output format="----- martial champion 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="&lt;&lt; bank %2.2X &gt;&gt;"                 line="21" align="center"  >
            <argument>maincpu.pb@101001</argument>
        </output>
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"           line="23" align="center"  >
            <argument>maincpu.pb@101000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@034d8 =             4e75</action>
        <action>maincpu.md@010f4 =         00001f50</action>
        <action>maincpu.mq@718d0 = ffffffffffffffff</action>
        <action>maincpu.mq@718d8 = ffffffffffffffff</action>
        <action>maincpu.mq@718e0 = ffffffffffffffff</action>
        <action>maincpu.mq@718e8 = ffffffffffffffff</action>
        <action>maincpu.mq@718f0 = ffffffffffffffff</action>
        <action>maincpu.mq@718f8 = ffffffffffffffff</action>
        <action>maincpu.mq@71910 = ffffffffffffffff</action>
        <action>maincpu.mq@71918 = ffffffffffffffff</action>
        <action>maincpu.mq@71920 = ffffffffffffffff</action>
        <action>maincpu.mq@71928 = ffffffffffffffff</action>
        <action>maincpu.mq@71930 = ffffffffffffffff</action>
        <action>maincpu.mq@71938 = ffffffffffffffff</action>
    </script>
</cheat>
"sound test mode" : rewrite routine. add "bank" selector (button 3 + left or right key) to access character voice codes.
  • bank : 0x00, code : 0xa1-0xb4 - jin
  • bank : 0x10, code : 0xa1-0xb4 - goldor
  • bank : 0x20, code : 0xa1-0xb4 - racheal
  • bank : 0x30, code : 0xa1-0xb4 - zen
  • bank : 0x40, code : 0xa1-0xb4 - hoi
  • bank : 0x50, code : 0xa1-0xb4 - chaos
  • bank : 0x60, code : 0xa1-0xb4 - mahambah
  • bank : 0x70, code : 0xa1-0xb4 - avu
  • bank : 0x80, code : 0xa1-0xb4 - titi
  • bank : 0x90, code : 0xa1-0xb4 - bobby
  • bank : 0xa0, code : 0xa1-0xb4 - salamander
But character voices are clearly odd. Perhaps due to inaccurate K054539 emulation (https://mametesters.org/view.php?id=7624).

BTW, konami/mystwarr.cpp games have gfx problem after 0.143. It will be impossible to fix via cheat code...
Image
Post Reply