[kof95] The King of Fighters '95

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: 1316
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[kof95] The King of Fighters '95

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.rq@023be = 4eb9000801724e71</action> <!-- direct attack / firearms -->
        <action>maincpu.rq@0a60e = 4eb90008018a6700</action> <!-- catch / throw -->
        <action>maincpu.rq@0e866 = 4eb9000801964e71</action> <!-- storm bringer (heidern) -->
        <action>maincpu.rq@1017c = 4eb9000801964e71</action> <!-- super argentine back breaker (ralf) -->
        <action>maincpu.rq@115e0 = 4eb9000801964e71</action> <!-- super argentine back breaker (clark) -->
        <action>maincpu.rq@11936 = 4eb9000801964e71</action> <!-- super arabian burglary back breaker (clark) -->
        <action>maincpu.rq@1214a = 4eb9000801964e71</action> <!-- ultra argentine back breaker (clark) -->
        <action>maincpu.rq@1ad24 = 4eb9000801a84e71</action> <!-- jiraishin (daimon) -->
        <action>maincpu.rq@1aeb4 = 4eb9000801964e71</action> <!-- chou-oosotogari (daimon) -->
        <action>maincpu.rq@1bb9a = 4eb9000801964e71</action> <!-- tenchi gaeshi (daimon) -->
        <action>maincpu.rq@1cc38 = 4eb9000801964e71</action> <!-- jigoku gokuraku otoshi (daimon) -->
        <action>maincpu.rq@2e7ba = 4eb9000801964e71</action> <!-- syouran kyaku - b (takuma) -->
        <action>maincpu.rq@2eb76 = 4eb9000801964e71</action> <!-- syouran kyaku - d (takuma) -->
        <action>maincpu.rq@30524 = 4eb9000801964e71</action> <!-- hyakuretsu binta - a (yuri) -->
        <action>maincpu.rq@30876 = 4eb9000801964e71</action> <!-- hyakuretsu binta - c (yuri) -->
        <action>maincpu.rq@80150 = 48e780007001b7fc</action>
        <action>maincpu.rq@80158 = 0010810066027000</action>
        <action>maincpu.rq@80160 = b7fc001083006602</action>
        <action>maincpu.rq@80168 = 70004a804cdf0001</action>
        <action>maincpu.rq@80170 = 4e752c6d27a048e7</action>
        <action>maincpu.rq@80178 = 0010264e61d24cdf</action>
        <action>maincpu.rq@80180 = 08006704052e007c</action>
        <action>maincpu.rq@80188 = 4e754841121061c0</action>
        <action>maincpu.rq@80190 = 6702c2074e75302c</action>
        <action>maincpu.rq@80198 = 0018906b001861b0</action>
        <action>maincpu.rq@801a0 = 6602707f4a404e75</action>
        <action>maincpu.rq@801a8 = 61a6670802400008</action>
        <action>maincpu.rq@801b0 = 0c4000084e750000</action>
        <!--
        80150 | 48e7 8000      : movem.l D0,-(A7)      // player check routine
        80154 | 7001           : moveq   #$1,D0
        80156 | b7fc 0010 8100 : cmpa.l  #$108100,A3
        8015c | 6602           : bne     $80160
        8015e | 7000           : moveq   #$0,D0
        80160 | b7fc 0010 8300 : cmpa.l  #$108300,A3
        80166 | 6602           : bne     $8016a
        80168 | 7000           : moveq   #$0,D0
        8016a | 4a80           : tst.l   D0
        8016c | 4cdf 0001      : movem.l (A7)+,D0
        80170 | 4e75           : rts
        80172 | 2c6d 27a0      : movea.l ($27a0,A5),A6 // direct attack / firearms
        80176 | 48e7 0010      : movem.l A3,-(A7)
        8017a | 264e           : movea.l A6,A3
        8017c | 61d2           : bsr     $80150
        8017e | 4cdf 0800      : movem.l (A7)+,A3
        80182 | 6704           : beq     $80188
        80184 | 052e 007c      : btst    D2,($7c,A6)
        80188 | 4e75           : rts
        8018a | 4841           : swap    D1            // catch / throw
        8018c | 1210           : move.b  (A0),D1
        8018e | 61c0           : bsr     $80150
        80190 | 6702           : beq     $80194
        80192 | c207           : and.b   D7,D1
        80194 | 4e75           : rts
        80196 | 302c 0018      : move.w  ($18,A4),D0   // moves
        8019a | 906b 0018      : sub.w   ($18,A3),D0
        8019e | 61b0           : bsr     $80150
        801a0 | 6602           : bne     $801a4
        801a2 | 707f           : moveq   #$7f,D0
        801a4 | 4a40           : tst.w   D0
        801a6 | 4e75           : rts
        801a8 | 61a6           : bsr     $80150        // jiraishin (daimon)
        801aa | 6708           : beq     $801b4
        801ac | 0240 0008      : andi.w  #$8,D0
        801b0 | 0c40 0008      : cmpi.w  #$8,D0
        801b4 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action                                  >maincpu.rb@8015c = 60</action>
        <action                                  >maincpu.rb@80166 = 60</action>
        <action condition="(param band 01) != 00">maincpu.rb@8015c = 66</action>
        <action condition="(param band 02) != 00">maincpu.rb@80166 = 66</action>
    </script>
    <script state="off">
        <action>maincpu.rq@023be = 2c6d27a0052e007c</action>
        <action>maincpu.rq@0a60e = 48411210c2046700</action>
        <action>maincpu.rq@0e866 = 302c0018906b0018</action>
        <action>maincpu.rq@1017c = 302c0018906b0018</action>
        <action>maincpu.rq@115e0 = 302c0018906b0018</action>
        <action>maincpu.rq@11936 = 302c0018906b0018</action>
        <action>maincpu.rq@1214a = 302c0018906b0018</action>
        <action>maincpu.rq@1ad24 = 024000080c400008</action>
        <action>maincpu.rq@1aeb4 = 302c0018906b0018</action>
        <action>maincpu.rq@1bb9a = 302c0018906b0018</action>
        <action>maincpu.rq@1cc38 = 302c0018906b0018</action>
        <action>maincpu.rq@2e7ba = 302c0018906b0018</action>
        <action>maincpu.rq@2eb76 = 302c0018906b0018</action>
        <action>maincpu.rq@30524 = 302c0018906b0018</action>
        <action>maincpu.rq@30876 = 302c0018906b0018</action>
        <action>maincpu.rq@80150 = 0000000000000000</action>
        <action>maincpu.rq@80158 = 0000000000000000</action>
        <action>maincpu.rq@80160 = 0000000000000000</action>
        <action>maincpu.rq@80168 = 0000000000000000</action>
        <action>maincpu.rq@80170 = 0000000000000000</action>
        <action>maincpu.rq@80178 = 0000000000000000</action>
        <action>maincpu.rq@80180 = 0000000000000000</action>
        <action>maincpu.rq@80188 = 0000000000000000</action>
        <action>maincpu.rq@80190 = 0000000000000000</action>
        <action>maincpu.rq@80198 = 0000000000000000</action>
        <action>maincpu.rq@801a0 = 0000000000000000</action>
        <action>maincpu.rq@801a8 = 0000000000000000</action>
        <action>maincpu.rq@801b0 = 0000000000000000</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.rq@00a5ac = 4eb90028301a4e71</action>
        <action>maincpu.rq@283000 = 7001b9fc00108100</action>
        <action>maincpu.rq@283008 = 66027000b9fc0010</action>
        <action>maincpu.rq@283010 = 8300660270004a80</action>
        <action>maincpu.rq@283018 = 4e751e2e000161e0</action>
        <action>maincpu.rq@283020 = 66021e16024700f0</action>
        <action>maincpu.rq@283028 = 4e75000000000000</action>
        <!--
        283000 | 7001           : moveq  #$1,D0      // player check routine
        283002 | b9fc 0010 8100 : cmpa.l #$108100,A4
        283008 | 6602           : bne    $28300c
        28300a | 7000           : moveq  #$0,D0
        28300c | b9fc 0010 8300 : cmpa.l #$108300,A4
        283012 | 6602           : bne    $283016
        283014 | 7000           : moveq  #$0,D0
        283016 | 4a80           : tst.l  D0
        283018 | 4e75           : rts
        28301a | 1e2e 0001      : move.b ($1,A6),D7  // main routine
        28301e | 61e0           : bsr    $283000
        283020 | 6602           : bne    $283024
        283022 | 1e16           : move.b (A6),D7
        283024 | 0247 00f0      : andi.w #$f0,D7
        283028 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action                                  >maincpu.rb@283008 = 60</action>
        <action                                  >maincpu.rb@283012 = 60</action>
        <action condition="(param band 01) != 00">maincpu.rb@283008 = 66</action>
        <action condition="(param band 02) != 00">maincpu.rb@283012 = 66</action>
    </script>
    <script state="off">
        <action>maincpu.rq@00a5ac = 1e2e0001024700f0</action>
        <action>maincpu.rq@283000 = 0000000000000000</action>
        <action>maincpu.rq@283008 = 0000000000000000</action>
        <action>maincpu.rq@283010 = 0000000000000000</action>
        <action>maincpu.rq@283018 = 0000000000000000</action>
        <action>maincpu.rq@283020 = 0000000000000000</action>
        <action>maincpu.rq@283028 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="action speed up">
    <parameter>
        <item value="0x01">P1          </item>
        <item value="0x02">P2          </item>
        <item value="0x03">both players</item>
    </parameter>
    <script state="on">
        <action>maincpu.rq@003d04 = 4eb9002830824e71</action>
        <action>maincpu.rq@283060 = 48e780007001b9fc</action>
        <action>maincpu.rq@283068 = 0010810066027000</action>
        <action>maincpu.rq@283070 = b9fc001083006602</action>
        <action>maincpu.rq@283078 = 70004a804cdf0001</action>
        <action>maincpu.rq@283080 = 4e7561dc66027001</action>
        <action>maincpu.rq@283088 = 1940007a102c007f</action>
        <action>maincpu.rq@283090 = 4e75000000000000</action>
        <!--
        283060 | 48e7 8000      : movem.l D0,-(A7)    // player check routine
        283064 | 7001           : moveq   #$1,D0
        283066 | b9fc 0010 8100 : cmpa.l  #$108100,A4
        28306c | 6602           : bne     $283070
        28306e | 7000           : moveq   #$0,D0
        283070 | b9fc 0010 8300 : cmpa.l  #$108300,A4
        283076 | 6602           : bne     $28307a
        283078 | 7000           : moveq   #$0,D0
        28307a | 4a80           : tst.l   D0
        28307c | 4cdf 0001      : movem.l (A7)+,D0
        283080 | 4e75           : rts
        283082 | 61dc           : bsr     $283060     // main routine
        283084 | 6602           : bne     $283088
        283086 | 7001           : moveq   #$1,D0
        283088 | 1940 007a      : move.b  D0,($7a,A4)
        28308c | 102c 007f      : move.b  ($7f,A4),D0
        283090 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action                                  >maincpu.rb@28306c = 60</action>
        <action                                  >maincpu.rb@283076 = 60</action>
        <action condition="(param band 01) != 00">maincpu.rb@28306c = 66</action>
        <action condition="(param band 02) != 00">maincpu.rb@283076 = 66</action>
    </script>
    <script state="off">
        <action>maincpu.rq@003d04 = 1940007a102c007f</action>
        <action>maincpu.rq@283060 = 0000000000000000</action>
        <action>maincpu.rq@283068 = 0000000000000000</action>
        <action>maincpu.rq@283070 = 0000000000000000</action>
        <action>maincpu.rq@283078 = 0000000000000000</action>
        <action>maincpu.rq@283080 = 0000000000000000</action>
        <action>maincpu.rq@283088 = 0000000000000000</action>
        <action>maincpu.rq@283090 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="enable special move">
    <parameter>
        <item value="0x01">P1          </item>
        <item value="0x02">P2          </item>
        <item value="0x03">both players</item>
    </parameter>
    <script state="on">
        <action>maincpu.rq@004928 = 4eb90028304a6304</action>
        <action>maincpu.rq@00b5a2 = 4eb90028304a6304</action>
        <action>maincpu.rq@00b5ce = 4eb90028304a6304</action>
        <action>maincpu.rq@00b612 = 4eb90028304a6304</action>
        <action>maincpu.rq@283030 = 7001b9fc00108100</action>
        <action>maincpu.rq@283038 = 66027000b9fc0010</action>
        <action>maincpu.rq@283040 = 8300660270004a80</action>
        <action>maincpu.rq@283048 = 4e7561e467080c6c</action>
        <action>maincpu.rq@283050 = 004001204e750c6c</action>
        <action>maincpu.rq@283058 = 00ff01204e750000</action>
        <!--
        283030 | 7001           : moveq  #$1,D0
        283032 | b9fc 0010 8100 : cmpa.l #$108100,A4
        283038 | 6602           : bne    $28303c
        28303a | 7000           : moveq  #$0,D0
        28303c | b9fc 0010 8300 : cmpa.l #$108300,A4
        283042 | 6602           : bne    $283046
        283044 | 7000           : moveq  #$0,D0
        283046 | 4a80           : tst.l  D0
        283048 | 4e75           : rts
        28304a | 61e4           : bsr    $283030
        28304c | 6708           : beq    $283056
        28304e | 0c6c 0040 0120 : cmpi.w #$40,($120,A4)
        283054 | 4e75           : rts
        283056 | 0c6c 00ff 0120 : cmpi.w #$ff,($120,A4)
        28305c | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action                                  >maincpu.rb@283038 = 60</action>
        <action                                  >maincpu.rb@283042 = 60</action>
        <action condition="(param band 01) != 00">maincpu.rb@283038 = 66</action>
        <action condition="(param band 02) != 00">maincpu.rb@283042 = 66</action>
    </script>
    <script state="off">
        <action>maincpu.rq@004928 = 0c6c004001206304</action>
        <action>maincpu.rq@00b5a2 = 0c6c004001206304</action>
        <action>maincpu.rq@00b5ce = 0c6c004001206304</action>
        <action>maincpu.rq@00b612 = 0c6c004001206304</action>
        <action>maincpu.rq@283030 = 0000000000000000</action>
        <action>maincpu.rq@283038 = 0000000000000000</action>
        <action>maincpu.rq@283040 = 0000000000000000</action>
        <action>maincpu.rq@283048 = 0000000000000000</action>
        <action>maincpu.rq@283050 = 0000000000000000</action>
        <action>maincpu.rq@283058 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="timer speed">
    <parameter>
        <item value="0x00ff">01 (slow)</item>
        <item value="0x0064">02       </item>
        <item value="0x0032">03       </item>
        <item value="0x0016">04       </item>
        <item value="0x0001">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.rd@39d42 = 1b7c0000</action>
    </script>
    <script state="change">
        <action>maincpu.rw@39d44 = param</action>
    </script>
    <script state="off">
        <action>maincpu.rd@39d42 = 1b6d2838</action>
    </script>
</cheat>
kof95 is very similar to kof94 so that you can divert some routines from kof94 to kof95.

I omit "skip ram/rom check" because it has already posted here.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1316
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[kof95]+ The King of Fighters '95

Post by jman »

kof95.xml

Code: Select all

<!-- The King of Fighters '95 (NGM-084) -->
<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.rq@0023BE = 4EB9002D48004E71</action> <!-- direct attack / firearms -->
            <action>maincpu.rq@00A60E = 4EB9002D48166700</action> <!-- catch / throw -->
            <action>maincpu.rq@00E838 = 4EB9002D482A6600</action> <!-- storm bringer (heidern) -->
            <action>maincpu.rq@01014E = 4EB9002D482A6600</action> <!-- super argentine back breaker (ralf) -->
            <action>maincpu.rq@0115B2 = 4EB9002D482A6600</action> <!-- super argentine back breaker (clark) -->
            <action>maincpu.rq@01197A = 4EB9002D482A6666</action> <!-- super arabian burglary back breaker (clark) -->
            <action>maincpu.rq@01211C = 4EB9002D482A6600</action> <!-- ultra argentine back breaker (clark) -->
            <action>maincpu.rq@01AD2E = 4EB9002D483A6620</action> <!-- jiraishin (daimon) -->
            <action>maincpu.rq@01AE86 = 4EB9002D482A6600</action> <!-- chou-oosotogari (daimon) -->
            <action>maincpu.rq@01BB6C = 4EB9002D482A6600</action> <!-- tenchi gaeshi (daimon) -->
            <action>maincpu.rq@01CC0A = 4EB9002D482A6600</action> <!-- jigoku gokuraku otoshi (daimon) -->
            <action>maincpu.rq@02E78C = 4EB9002D482A6600</action> <!-- syouran kyaku - weak (takuma) -->
            <action>maincpu.rq@02EB90 = 4EB9002D482A6640</action> <!-- syouran kyaku - strong (takuma) -->
            <action>maincpu.rq@0304F6 = 4EB9002D482A6600</action> <!-- hyakuretsu binta - weak (yuri) -->
            <action>maincpu.rq@030890 = 4EB9002D482A6640</action> <!-- hyakuretsu binta - strong (yuri) -->
            <action>maincpu.rq@2D4800 = 2C6D27A0082E0000</action>
            <action>maincpu.rq@2D4808 = 01FF6606052E007C</action>
            <action>maincpu.rq@2D4810 = 4E7542024E754841</action>
            <action>maincpu.rq@2D4818 = 1210082B000001FF</action>
            <action>maincpu.rq@2D4820 = 6604C2074E754200</action>
            <action>maincpu.rq@2D4828 = 4E75082B000001FF</action>
            <action>maincpu.rq@2D4830 = 6606082B000000E1</action>
            <action>maincpu.rq@2D4838 = 4E75082B000001FF</action>
            <action>maincpu.rq@2D4840 = 6606082B000500E3</action>
            <action>maincpu.rq@2D4848 = 4E75000000000000</action>
            <!--
            2D4800 | 2C6D 27A0      : movea.l ($27a0,A5), A6 // direct attack / firearms
            2D4804 | 082E 0000 01FF : btst    #$0, ($1ff,A6)
            2D480A | 6606           : bne     $80162
            2D480C | 052E 007C      : btst    D2, ($7c,A6)
            2D4810 | 4E75           : rts
            2D4812 | 4202           : clr.b   D2
            2D4814 | 4E75           : rts
            2D4816 | 4841           : swap    D1             // catch / throw
            2D4818 | 1210           : move.b  (A0), D1
            2D481A | 082B 0000 01FF : btst    #$0, ($1ff,A3)
            2D4820 | 6604           : bne     $80176
            2D4822 | C207           : and.b   D7, D1
            2D4824 | 4E75           : rts
            2D4826 | 4200           : clr.b   D0
            2D4828 | 4E75           : rts
            2D482A | 082B 0000 01FF : btst    #$0, ($1ff,A3) // moves
            2D4830 | 6606           : bne     $80188
            2D4832 | 082B 0000 00E1 : btst    #$0, ($e1,A3)
            2D4838 | 4E75           : rts
            2D483A | 082B 0000 01FF : btst    #$0, ($1ff,A3) // jiraishin (daimon)
            2D4840 | 6606           : bne     $80198
            2D4842 | 082B 0005 00E3 : btst    #$5, ($e3,A3)
            2D4848 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@1082FF &amp;= ~01</action>
            <action condition="(param band 02) == 00">maincpu.pb@1084FF &amp;= ~01</action>
            <action condition="(param band 01) != 00">maincpu.pb@1082FF |= 01     </action>
            <action condition="(param band 02) != 00">maincpu.pb@1084FF |= 01     </action>
        </script>
        <script state="off">
            <action>maincpu.rq@0023BE = 2C6D27A0052E007C</action>
            <action>maincpu.rq@00A60E = 48411210C2076700</action>
            <action>maincpu.rq@00E838 = 082B000000E16600</action>
            <action>maincpu.rq@01014E = 082B000000E16600</action>
            <action>maincpu.rq@0115B2 = 082B000000E16600</action>
            <action>maincpu.rq@01197A = 082B000000E16666</action>
            <action>maincpu.rq@01211C = 082B000000E16600</action>
            <action>maincpu.rq@01AD2E = 082B000500E36620</action>
            <action>maincpu.rq@01AE86 = 082B000000E16600</action>
            <action>maincpu.rq@01BB6C = 082B000000E16600</action>
            <action>maincpu.rq@01CC0A = 082B000000E16600</action>
            <action>maincpu.rq@02E78C = 082B000000E16600</action>
            <action>maincpu.rq@02EB90 = 082B000000E16640</action>
            <action>maincpu.rq@0304F6 = 082B000000E16600</action>
            <action>maincpu.rq@030890 = 082B000000E16640</action>
            <action>maincpu.rq@2D4800 = 0000000000000000</action>
            <action>maincpu.rq@2D4808 = 0000000000000000</action>
            <action>maincpu.rq@2D4810 = 0000000000000000</action>
            <action>maincpu.rq@2D4818 = 0000000000000000</action>
            <action>maincpu.rq@2D4820 = 0000000000000000</action>
            <action>maincpu.rq@2D4828 = 0000000000000000</action>
            <action>maincpu.rq@2D4830 = 0000000000000000</action>
            <action>maincpu.rq@2D4838 = 0000000000000000</action>
            <action>maincpu.rq@2D4840 = 0000000000000000</action>
            <action>maincpu.rq@2D4848 = 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="on">
            <action>maincpu.rq@00A5AC = 4EB9002D48504E71</action>
            <action>maincpu.rq@2D4850 = 1E2E0001082C0001</action>
            <action>maincpu.rq@2D4858 = 01FF67021E160247</action>
            <action>maincpu.rq@2D4860 = 00F04E7500000000</action>
            <!--
            2D4850 | 1E2E 0001      : move.b  ($1,A6), D7
            2D4854 | 082C 0001 01FF : btst    #$1, ($1ff,A4)
            2D485A | 6702           : beq     $2d485e
            2D485C | 1E16           : move.b  (A6), D7
            2D485E | 0247 00F0      : andi.w  #$f0, D7
            2D4862 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@1082FF &amp;= ~02</action>
            <action condition="(param band 02) == 00">maincpu.pb@1084FF &amp;= ~02</action>
            <action condition="(param band 01) != 00">maincpu.pb@1082FF |= 02     </action>
            <action condition="(param band 02) != 00">maincpu.pb@1084FF |= 02     </action>
        </script>
        <script state="off">
            <action>maincpu.rq@00A5AC = 1E2E0001024700F0</action>
            <action>maincpu.rq@2D4850 = 0000000000000000</action>
            <action>maincpu.rq@2D4858 = 0000000000000000</action>
            <action>maincpu.rq@2D4860 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="action speed up">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="on">
            <action>maincpu.rq@003D04 = 4EB9002D48704E71</action>
            <action>maincpu.rq@2D4870 = 082C000201FF6704</action>
            <action>maincpu.rq@2D4878 = 103C00011940007A</action>
            <action>maincpu.rq@2D4880 = 102C007F4E750000</action>
            <!--
            2D4870 | 082C 0002 01FF : btst    #$2, ($1ff,A4)
            2D4876 | 6704           : beq     $2d487c
            2D4878 | 103C 0001      : move.b  #$1, D0
            2D487C | 1940 007A      : move.b  D0, ($7a,A4)
            2D4880 | 102C 007F      : move.b  ($7f,A4), D0
            2D4884 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@1082FF &amp;= ~04</action>
            <action condition="(param band 02) == 00">maincpu.pb@1084FF &amp;= ~04</action>
            <action condition="(param band 01) != 00">maincpu.pb@1082FF |= 04     </action>
            <action condition="(param band 02) != 00">maincpu.pb@1084FF |= 04     </action>
        </script>
        <script state="off">
            <action>maincpu.rq@003D04 = 1940007A102C007F</action>
            <action>maincpu.rq@2D4870 = 0000000000000000</action>
            <action>maincpu.rq@2D4878 = 0000000000000000</action>
            <action>maincpu.rq@2D4880 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="special move">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="on">
            <action>maincpu.rq@004918 = 4EB9002D48906614</action>
            <action>maincpu.rq@00B592 = 4EB9002D48906614</action>
            <action>maincpu.rq@00B5B6 = 4EB9002D4890661C</action>
            <action>maincpu.rq@00B602 = 4EB9002D48906614</action>
            <action>maincpu.rq@2D4890 = 082C000301FF6606</action>
            <action>maincpu.rq@2D4898 = 082D000380004E75</action>
            <!--
            2D4890 | 082C 0003 01FF : btst    #$3, ($1ff,A4)
            2D4896 | 6606           : bne     $2d489e
            2D4898 | 082D 0003 8000 : btst    #$3, (-$8000,A5)
            2D489E | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@1082FF &amp;= ~08</action>
            <action condition="(param band 02) == 00">maincpu.pb@1084FF &amp;= ~08</action>
            <action condition="(param band 01) != 00">maincpu.pb@1082FF |= 08     </action>
            <action condition="(param band 02) != 00">maincpu.pb@1084FF |= 08     </action>
        </script>
        <script state="off">
            <action>maincpu.rq@004918 = 082D000380006614</action>
            <action>maincpu.rq@00B592 = 082D000380006614</action>
            <action>maincpu.rq@00B5B6 = 082D00038000661C</action>
            <action>maincpu.rq@00B602 = 082D000380006614</action>
            <action>maincpu.rq@2D4890 = 0000000000000000</action>
            <action>maincpu.rq@2D4898 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x1B7C00FF">01 (slow)</item>
            <item value="0x1B7C00C0">02       </item>
            <item value="0x1B7C0080">03       </item>
            <item value="0x1B7C0040">04       </item>
            <item value="0x1B7C0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.rd@39D42 = param</action>
            <action>maincpu.rd@3B2A0 = param</action>
            <action>maincpu.rd@3B7DE = param</action>
        </script>
        <script state="off">
            <action>maincpu.rd@39D42 = 1B6D2838</action>
            <action>maincpu.rd@3B2A0 = 1B6D2838</action>
            <action>maincpu.rd@3B7DE = 1B6D2838</action>
        </script>
    </cheat>

    <cheat desc="unlock secret characters">
        <script state="on">
            <action>maincpu.rw@3E3FC = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.rw@3E3FC = 6706</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- don't play code 0x01, 0x03 and 0x10 because of no sound response -->
        <!-- valid bank number seems to be 0x00, 0x08, 0x0A and 0x0E -->
        <script state="on">
            <action>maincpu.rq@038D98 = 4EF9002D48A04E71</action>
            <action>maincpu.rq@2D48A0 = 43ED000145ED56B2</action>
            <action>maincpu.rq@2D48A8 = 47F8635000390080</action>
            <action>maincpu.rq@2D48B0 = 0010FD8014011239</action>
            <action>maincpu.rq@2D48B8 = 00300000B40167F4</action>
            <action>maincpu.rq@2D48C0 = 0C0100FB66025315</action>
            <action>maincpu.rq@2D48C8 = 0C0100F766025215</action>
            <action>maincpu.rq@2D48D0 = 0C0100FD66040415</action>
            <action>maincpu.rq@2D48D8 = 00100C0100FE6604</action>
            <action>maincpu.rq@2D48E0 = 061500100C0100BB</action>
            <action>maincpu.rq@2D48E8 = 660253110C0100B7</action>
            <action>maincpu.rq@2D48F0 = 660252110211000F</action>
            <action>maincpu.rq@2D48F8 = 0C0100EF66124243</action>
            <action>maincpu.rq@2D4900 = 1611670400030010</action>
            <action>maincpu.rq@2D4908 = E14B861534834E93</action>
            <action>maincpu.rq@2D4910 = 0C0100DF660634BC</action>
            <action>maincpu.rq@2D4918 = 03074E9360960000</action>
            <!--
            2D48A0 | 43ED 0001           : lea     ($1,A5), A1     // bank address ($108001)
            2D48A4 | 45ED 56B2           : lea     ($56b2,A5), A2  // sound latch address ($10D6B2)
            2D48A8 | 47F8 6350           : lea     $6350.w, A3     // sound latch routine address
            2D48AC | 0039 0080 0010 FD80 : ori.b   #$80, $10fd80.l // set flag for interrupt
            2D48B4 | 1401                : move.b  D1, D2
            2D48B6 | 1239 0030 0000      : move.b  $300000.l, D1   // read input
            2D48BC | B401                : cmp.b   D1, D2
            2D48BE | 67F4                : beq     $2d48b4
            2D48C0 | 0C01 00FB           : cmpi.b  #-$5, D1
            2D48C4 | 6602                : bne     $2d48c8
            2D48C6 | 5315                : subq.b  #1, (A5)        // decrease code -01
            2D48C8 | 0C01 00F7           : cmpi.b  #-$9, D1
            2D48CC | 6602                : bne     $2d48d0
            2D48CE | 5215                : addq.b  #1, (A5)        // increase code +01
            2D48D0 | 0C01 00FD           : cmpi.b  #-$3, D1
            2D48D4 | 6604                : bne     $2d48da
            2D48D6 | 0415 0010           : subi.b  #$10, (A5)      // decrease code -10
            2D48DA | 0C01 00FE           : cmpi.b  #-$2, D1
            2D48DE | 6604                : bne     $2d48e4
            2D48E0 | 0615 0010           : addi.b  #$10, (A5)      // increase code +10
            2D48E4 | 0C01 00BB           : cmpi.b  #-$45, D1
            2D48E8 | 6602                : bne     $2d48ec
            2D48EA | 5311                : subq.b  #1, (A1)        // decrease bank -01
            2D48EC | 0C01 00B7           : cmpi.b  #-$49, D1
            2D48F0 | 6602                : bne     $2d48f4
            2D48F2 | 5211                : addq.b  #1, (A1)        // increase bank +01
            2D48F4 | 0211 000F           : andi.b  #$f, (A1)       // mask bank
            2D48F8 | 0C01 00EF           : cmpi.b  #-$11, D1
            2D48FC | 6612                : bne     $2d4910
            2D48FE | 4243                : clr.w   D3              // play sound
            2D4900 | 1611                : move.b  (A1), D3
            2D4902 | 6704                : beq     $2d4908
            2D4904 | 0003 0010           : ori.b   #$10, D3
            2D4908 | E14B                : lsl.w   #8, D3
            2D490A | 8615                : or.b    (A5), D3
            2D490C | 3483                : move.w  D3, (A2)
            2D490E | 4E93                : jsr     (A3)
            2D4910 | 0C01 00DF           : cmpi.b  #-$21, D1
            2D4914 | 6606                : bne     $2d491c
            2D4916 | 34BC 0307           : move.w  #$307, (A2)     // stop sound
            2D491A | 4E93                : jsr     (A3)
            2D491C | 6096                : bra     $2d48b4
            -->
        </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 -01"   line="15" align="center" />
            <output format="button 3 + right : increase bank +01"  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 %X &gt;&gt;"             line="21" align="center"  >
                <argument>maincpu.pb@108001</argument>
            </output>
            <output format="&lt;&lt; sound code %02X &gt;&gt;"     line="23" align="center"  >
                <argument>maincpu.pb@108000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.rq@038D98 = 003900800010FD80</action>
            <action>maincpu.rq@2D48A0 = 0000000000000000</action>
            <action>maincpu.rq@2D48A8 = 0000000000000000</action>
            <action>maincpu.rq@2D48B0 = 0000000000000000</action>
            <action>maincpu.rq@2D48B8 = 0000000000000000</action>
            <action>maincpu.rq@2D48C0 = 0000000000000000</action>
            <action>maincpu.rq@2D48C8 = 0000000000000000</action>
            <action>maincpu.rq@2D48D0 = 0000000000000000</action>
            <action>maincpu.rq@2D48D8 = 0000000000000000</action>
            <action>maincpu.rq@2D48E0 = 0000000000000000</action>
            <action>maincpu.rq@2D48E8 = 0000000000000000</action>
            <action>maincpu.rq@2D48F0 = 0000000000000000</action>
            <action>maincpu.rq@2D48F8 = 0000000000000000</action>
            <action>maincpu.rq@2D4900 = 0000000000000000</action>
            <action>maincpu.rq@2D4908 = 0000000000000000</action>
            <action>maincpu.rq@2D4910 = 0000000000000000</action>
            <action>maincpu.rq@2D4918 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action condition="maincpu.rd@C11AFC == 3A3C7FFF">temp0 = C11AFC, maincpu.rd@temp0 = 60000168</action> <!-- euro, euro-s1, japan-s2, japan-s1 -->
            <action condition="maincpu.rd@C10C20 == 3A3C7FFF">temp0 = C10C20, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1c, japan-mv1b -->
            <action condition="maincpu.rd@C10AFC == 3A3C7FFF">temp0 = C10AFC, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1b, japan-mv1c -->
            <action condition="maincpu.rd@C11AD2 == 3A3C7FFF">temp0 = C11AD2, maincpu.rd@temp0 = 60000168</action> <!-- us, us-e, us-v2, us-u4 -->
            <action condition="maincpu.rd@C11ABC == 3A3C7FFF">temp0 = C11ABC, maincpu.rd@temp0 = 60000104</action> <!-- us-u3 -->
            <action condition="maincpu.rd@C11C24 == 3A3C7FFF">temp0 = C11C24, maincpu.rd@temp0 = 60000168</action> <!-- japan -->
            <action condition="maincpu.rd@C11AE6 == 3A3C7FFF">temp0 = C11AE6, maincpu.rd@temp0 = 60000104</action> <!-- japan-j3a -->
            <action condition="maincpu.rd@C11BC6 == 3A3C7FFF">temp0 = C11BC6, maincpu.rd@temp0 = 6000017C</action> <!-- japan-hotel -->
        </script>
        <script state="off">
            <action>maincpu.rd@temp0 = 3A3C7FFF</action>
        </script>
    </cheat>

</mamecheat>
kof95a.xml

Code: Select all

<!-- The King of Fighters '95 (NGM-084, alt board) -->
<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.rq@00265E = 4EB9002D48004E71</action> <!-- direct attack / firearms -->
            <action>maincpu.rq@00A8AE = 4EB9002D48166700</action> <!-- catch / throw -->
            <action>maincpu.rq@00EAD8 = 4EB9002D482A6600</action> <!-- storm bringer (heidern) -->
            <action>maincpu.rq@0103EE = 4EB9002D482A6600</action> <!-- super argentine back breaker (ralf) -->
            <action>maincpu.rq@011852 = 4EB9002D482A6600</action> <!-- super argentine back breaker (clark) -->
            <action>maincpu.rq@011C1A = 4EB9002D482A6666</action> <!-- super arabian burglary back breaker (clark) -->
            <action>maincpu.rq@0123BC = 4EB9002D482A6600</action> <!-- ultra argentine back breaker (clark) -->
            <action>maincpu.rq@01AFCE = 4EB9002D483A6620</action> <!-- jiraishin (daimon) -->
            <action>maincpu.rq@01B126 = 4EB9002D482A6600</action> <!-- chou-oosotogari (daimon) -->
            <action>maincpu.rq@01BE0C = 4EB9002D482A6600</action> <!-- tenchi gaeshi (daimon) -->
            <action>maincpu.rq@01CEAA = 4EB9002D482A6600</action> <!-- jigoku gokuraku otoshi (daimon) -->
            <action>maincpu.rq@02EA2C = 4EB9002D482A6600</action> <!-- syouran kyaku - weak (takuma) -->
            <action>maincpu.rq@02EE30 = 4EB9002D482A6640</action> <!-- syouran kyaku - strong (takuma) -->
            <action>maincpu.rq@030796 = 4EB9002D482A6600</action> <!-- hyakuretsu binta - weak (yuri) -->
            <action>maincpu.rq@030B30 = 4EB9002D482A6640</action> <!-- hyakuretsu binta - strong (yuri) -->
            <action>maincpu.rq@2D4800 = 2C6D27A0082E0000</action>
            <action>maincpu.rq@2D4808 = 01FF6606052E007C</action>
            <action>maincpu.rq@2D4810 = 4E7542024E754841</action>
            <action>maincpu.rq@2D4818 = 1210082B000001FF</action>
            <action>maincpu.rq@2D4820 = 6604C2074E754200</action>
            <action>maincpu.rq@2D4828 = 4E75082B000001FF</action>
            <action>maincpu.rq@2D4830 = 6606082B000000E1</action>
            <action>maincpu.rq@2D4838 = 4E75082B000001FF</action>
            <action>maincpu.rq@2D4840 = 6606082B000500E3</action>
            <action>maincpu.rq@2D4848 = 4E75000000000000</action>
            <!--
            2D4800 | 2C6D 27A0      : movea.l ($27a0,A5), A6 // direct attack / firearms
            2D4804 | 082E 0000 01FF : btst    #$0, ($1ff,A6)
            2D480A | 6606           : bne     $80162
            2D480C | 052E 007C      : btst    D2, ($7c,A6)
            2D4810 | 4E75           : rts
            2D4812 | 4202           : clr.b   D2
            2D4814 | 4E75           : rts
            2D4816 | 4841           : swap    D1             // catch / throw
            2D4818 | 1210           : move.b  (A0), D1
            2D481A | 082B 0000 01FF : btst    #$0, ($1ff,A3)
            2D4820 | 6604           : bne     $80176
            2D4822 | C207           : and.b   D7, D1
            2D4824 | 4E75           : rts
            2D4826 | 4200           : clr.b   D0
            2D4828 | 4E75           : rts
            2D482A | 082B 0000 01FF : btst    #$0, ($1ff,A3) // moves
            2D4830 | 6606           : bne     $80188
            2D4832 | 082B 0000 00E1 : btst    #$0, ($e1,A3)
            2D4838 | 4E75           : rts
            2D483A | 082B 0000 01FF : btst    #$0, ($1ff,A3) // jiraishin (daimon)
            2D4840 | 6606           : bne     $80198
            2D4842 | 082B 0005 00E3 : btst    #$5, ($e3,A3)
            2D4848 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@1082FF &amp;= ~01</action>
            <action condition="(param band 02) == 00">maincpu.pb@1084FF &amp;= ~01</action>
            <action condition="(param band 01) != 00">maincpu.pb@1082FF |= 01     </action>
            <action condition="(param band 02) != 00">maincpu.pb@1084FF |= 01     </action>
        </script>
        <script state="off">
            <action>maincpu.rq@00265E = 2C6D27A0052E007C</action>
            <action>maincpu.rq@00A8AE = 48411210C2076700</action>
            <action>maincpu.rq@00EAD8 = 082B000000E16600</action>
            <action>maincpu.rq@0103EE = 082B000000E16600</action>
            <action>maincpu.rq@011852 = 082B000000E16600</action>
            <action>maincpu.rq@011C1A = 082B000000E16666</action>
            <action>maincpu.rq@0123BC = 082B000000E16600</action>
            <action>maincpu.rq@01AFCE = 082B000500E36620</action>
            <action>maincpu.rq@01B126 = 082B000000E16600</action>
            <action>maincpu.rq@01BE0C = 082B000000E16600</action>
            <action>maincpu.rq@01CEAA = 082B000000E16600</action>
            <action>maincpu.rq@02EA2C = 082B000000E16600</action>
            <action>maincpu.rq@02EE30 = 082B000000E16640</action>
            <action>maincpu.rq@030796 = 082B000000E16600</action>
            <action>maincpu.rq@030B30 = 082B000000E16640</action>
            <action>maincpu.rq@2D4800 = 0000000000000000</action>
            <action>maincpu.rq@2D4808 = 0000000000000000</action>
            <action>maincpu.rq@2D4810 = 0000000000000000</action>
            <action>maincpu.rq@2D4818 = 0000000000000000</action>
            <action>maincpu.rq@2D4820 = 0000000000000000</action>
            <action>maincpu.rq@2D4828 = 0000000000000000</action>
            <action>maincpu.rq@2D4830 = 0000000000000000</action>
            <action>maincpu.rq@2D4838 = 0000000000000000</action>
            <action>maincpu.rq@2D4840 = 0000000000000000</action>
            <action>maincpu.rq@2D4848 = 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="on">
            <action>maincpu.rq@00A84C = 4EB9002D48504E71</action>
            <action>maincpu.rq@2D4850 = 1E2E0001082C0001</action>
            <action>maincpu.rq@2D4858 = 01FF67021E160247</action>
            <action>maincpu.rq@2D4860 = 00F04E7500000000</action>
            <!--
            2D4850 | 1E2E 0001      : move.b  ($1,A6), D7
            2D4854 | 082C 0001 01FF : btst    #$1, ($1ff,A4)
            2D485A | 6702           : beq     $2d485e
            2D485C | 1E16           : move.b  (A6), D7
            2D485E | 0247 00F0      : andi.w  #$f0, D7
            2D4862 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@1082FF &amp;= ~02</action>
            <action condition="(param band 02) == 00">maincpu.pb@1084FF &amp;= ~02</action>
            <action condition="(param band 01) != 00">maincpu.pb@1082FF |= 02     </action>
            <action condition="(param band 02) != 00">maincpu.pb@1084FF |= 02     </action>
        </script>
        <script state="off">
            <action>maincpu.rq@00A84C = 1E2E0001024700F0</action>
            <action>maincpu.rq@2D4850 = 0000000000000000</action>
            <action>maincpu.rq@2D4858 = 0000000000000000</action>
            <action>maincpu.rq@2D4860 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="action speed up">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="on">
            <action>maincpu.rq@003FA4 = 4EB9002D48704E71</action>
            <action>maincpu.rq@2D4870 = 082C000201FF6704</action>
            <action>maincpu.rq@2D4878 = 103C00011940007A</action>
            <action>maincpu.rq@2D4880 = 102C007F4E750000</action>
            <!--
            2D4870 | 082C 0002 01FF : btst    #$2, ($1ff,A4)
            2D4876 | 6704           : beq     $2d487c
            2D4878 | 103C 0001      : move.b  #$1, D0
            2D487C | 1940 007A      : move.b  D0, ($7a,A4)
            2D4880 | 102C 007F      : move.b  ($7f,A4), D0
            2D4884 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@1082FF &amp;= ~04</action>
            <action condition="(param band 02) == 00">maincpu.pb@1084FF &amp;= ~04</action>
            <action condition="(param band 01) != 00">maincpu.pb@1082FF |= 04     </action>
            <action condition="(param band 02) != 00">maincpu.pb@1084FF |= 04     </action>
        </script>
        <script state="off">
            <action>maincpu.rq@003FA4 = 1940007A102C007F</action>
            <action>maincpu.rq@2D4870 = 0000000000000000</action>
            <action>maincpu.rq@2D4878 = 0000000000000000</action>
            <action>maincpu.rq@2D4880 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="special move">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="on">
            <action>maincpu.rq@004BB8 = 4EB9002D48906614</action>
            <action>maincpu.rq@00B832 = 4EB9002D48906614</action>
            <action>maincpu.rq@00B856 = 4EB9002D4890661C</action>
            <action>maincpu.rq@00B8A2 = 4EB9002D48906614</action>
            <action>maincpu.rq@2D4890 = 082C000301FF6606</action>
            <action>maincpu.rq@2D4898 = 082D000380004E75</action>
            <!--
            2D4890 | 082C 0003 01FF : btst    #$3, ($1ff,A4)
            2D4896 | 6606           : bne     $2d489e
            2D4898 | 082D 0003 8000 : btst    #$3, (-$8000,A5)
            2D489E | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@1082FF &amp;= ~08</action>
            <action condition="(param band 02) == 00">maincpu.pb@1084FF &amp;= ~08</action>
            <action condition="(param band 01) != 00">maincpu.pb@1082FF |= 08     </action>
            <action condition="(param band 02) != 00">maincpu.pb@1084FF |= 08     </action>
        </script>
        <script state="off">
            <action>maincpu.rq@004BB8 = 082D000380006614</action>
            <action>maincpu.rq@00B832 = 082D000380006614</action>
            <action>maincpu.rq@00B856 = 082D00038000661C</action>
            <action>maincpu.rq@00B8A2 = 082D000380006614</action>
            <action>maincpu.rq@2D4890 = 0000000000000000</action>
            <action>maincpu.rq@2D4898 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x1B7C00FF">01 (slow)</item>
            <item value="0x1B7C00C0">02       </item>
            <item value="0x1B7C0080">03       </item>
            <item value="0x1B7C0040">04       </item>
            <item value="0x1B7C0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.rd@39FD4 = param</action>
            <action>maincpu.rd@3B532 = param</action>
            <action>maincpu.rd@3BA70 = param</action>
        </script>
        <script state="off">
            <action>maincpu.rd@39FD4 = 1B6D2838</action>
            <action>maincpu.rd@3B532 = 1B6D2838</action>
            <action>maincpu.rd@3BA70 = 1B6D2838</action>
        </script>
    </cheat>

    <cheat desc="unlock secret characters">
        <script state="on">
            <action>maincpu.rw@3E68E = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.rw@3E68E = 6706</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- don't play code 0x01, 0x03 and 0x10 because of no sound response -->
        <!-- valid bank number seems to be 0x00, 0x08, 0x0A and 0x0E -->
        <script state="on">
            <action>maincpu.rq@039048 = 4EF9002D48A04E71</action>
            <action>maincpu.rq@2D48A0 = 43ED000145ED56B2</action>
            <action>maincpu.rq@2D48A8 = 47F865F000390080</action>
            <action>maincpu.rq@2D48B0 = 0010FD8014011239</action>
            <action>maincpu.rq@2D48B8 = 00300000B40167F4</action>
            <action>maincpu.rq@2D48C0 = 0C0100FB66025315</action>
            <action>maincpu.rq@2D48C8 = 0C0100F766025215</action>
            <action>maincpu.rq@2D48D0 = 0C0100FD66040415</action>
            <action>maincpu.rq@2D48D8 = 00100C0100FE6604</action>
            <action>maincpu.rq@2D48E0 = 061500100C0100BB</action>
            <action>maincpu.rq@2D48E8 = 660253110C0100B7</action>
            <action>maincpu.rq@2D48F0 = 660252110211000F</action>
            <action>maincpu.rq@2D48F8 = 0C0100EF66124243</action>
            <action>maincpu.rq@2D4900 = 1611670400030010</action>
            <action>maincpu.rq@2D4908 = E14B861534834E93</action>
            <action>maincpu.rq@2D4910 = 0C0100DF660634BC</action>
            <action>maincpu.rq@2D4918 = 03074E9360960000</action>
            <!--
            2D48A0 | 43ED 0001           : lea     ($1,A5), A1     // bank address ($108001)
            2D48A4 | 45ED 56B2           : lea     ($56b2,A5), A2  // sound latch address ($10D6B2)
            2D48A8 | 47F8 65F0           : lea     $65f0.w, A3     // sound latch routine address
            2D48AC | 0039 0080 0010 FD80 : ori.b   #$80, $10fd80.l // set flag for interrupt
            2D48B4 | 1401                : move.b  D1, D2
            2D48B6 | 1239 0030 0000      : move.b  $300000.l, D1   // read input
            2D48BC | B401                : cmp.b   D1, D2
            2D48BE | 67F4                : beq     $2d48b4
            2D48C0 | 0C01 00FB           : cmpi.b  #-$5, D1
            2D48C4 | 6602                : bne     $2d48c8
            2D48C6 | 5315                : subq.b  #1, (A5)        // decrease code -01
            2D48C8 | 0C01 00F7           : cmpi.b  #-$9, D1
            2D48CC | 6602                : bne     $2d48d0
            2D48CE | 5215                : addq.b  #1, (A5)        // increase code +01
            2D48D0 | 0C01 00FD           : cmpi.b  #-$3, D1
            2D48D4 | 6604                : bne     $2d48da
            2D48D6 | 0415 0010           : subi.b  #$10, (A5)      // decrease code -10
            2D48DA | 0C01 00FE           : cmpi.b  #-$2, D1
            2D48DE | 6604                : bne     $2d48e4
            2D48E0 | 0615 0010           : addi.b  #$10, (A5)      // increase code +10
            2D48E4 | 0C01 00BB           : cmpi.b  #-$45, D1
            2D48E8 | 6602                : bne     $2d48ec
            2D48EA | 5311                : subq.b  #1, (A1)        // decrease bank -01
            2D48EC | 0C01 00B7           : cmpi.b  #-$49, D1
            2D48F0 | 6602                : bne     $2d48f4
            2D48F2 | 5211                : addq.b  #1, (A1)        // increase bank +01
            2D48F4 | 0211 000F           : andi.b  #$f, (A1)       // mask bank
            2D48F8 | 0C01 00EF           : cmpi.b  #-$11, D1
            2D48FC | 6612                : bne     $2d4910
            2D48FE | 4243                : clr.w   D3              // play sound
            2D4900 | 1611                : move.b  (A1), D3
            2D4902 | 6704                : beq     $2d4908
            2D4904 | 0003 0010           : ori.b   #$10, D3
            2D4908 | E14B                : lsl.w   #8, D3
            2D490A | 8615                : or.b    (A5), D3
            2D490C | 3483                : move.w  D3, (A2)
            2D490E | 4E93                : jsr     (A3)
            2D4910 | 0C01 00DF           : cmpi.b  #-$21, D1
            2D4914 | 6606                : bne     $2d491c
            2D4916 | 34BC 0307           : move.w  #$307, (A2)     // stop sound
            2D491A | 4E93                : jsr     (A3)
            2D491C | 6096                : bra     $2d48b4
            -->
        </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 -01"   line="15" align="center" />
            <output format="button 3 + right : increase bank +01"  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 %X &gt;&gt;"             line="21" align="center"  >
                <argument>maincpu.pb@108001</argument>
            </output>
            <output format="&lt;&lt; sound code %02X &gt;&gt;"     line="23" align="center"  >
                <argument>maincpu.pb@108000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.rq@039048 = 003900800010FD80</action>
            <action>maincpu.rq@2D48A0 = 0000000000000000</action>
            <action>maincpu.rq@2D48A8 = 0000000000000000</action>
            <action>maincpu.rq@2D48B0 = 0000000000000000</action>
            <action>maincpu.rq@2D48B8 = 0000000000000000</action>
            <action>maincpu.rq@2D48C0 = 0000000000000000</action>
            <action>maincpu.rq@2D48C8 = 0000000000000000</action>
            <action>maincpu.rq@2D48D0 = 0000000000000000</action>
            <action>maincpu.rq@2D48D8 = 0000000000000000</action>
            <action>maincpu.rq@2D48E0 = 0000000000000000</action>
            <action>maincpu.rq@2D48E8 = 0000000000000000</action>
            <action>maincpu.rq@2D48F0 = 0000000000000000</action>
            <action>maincpu.rq@2D48F8 = 0000000000000000</action>
            <action>maincpu.rq@2D4900 = 0000000000000000</action>
            <action>maincpu.rq@2D4908 = 0000000000000000</action>
            <action>maincpu.rq@2D4910 = 0000000000000000</action>
            <action>maincpu.rq@2D4918 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action condition="maincpu.rd@C11AFC == 3A3C7FFF">temp0 = C11AFC, maincpu.rd@temp0 = 60000168</action> <!-- euro, euro-s1, japan-s2, japan-s1 -->
            <action condition="maincpu.rd@C10C20 == 3A3C7FFF">temp0 = C10C20, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1c, japan-mv1b -->
            <action condition="maincpu.rd@C10AFC == 3A3C7FFF">temp0 = C10AFC, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1b, japan-mv1c -->
            <action condition="maincpu.rd@C11AD2 == 3A3C7FFF">temp0 = C11AD2, maincpu.rd@temp0 = 60000168</action> <!-- us, us-e, us-v2, us-u4 -->
            <action condition="maincpu.rd@C11ABC == 3A3C7FFF">temp0 = C11ABC, maincpu.rd@temp0 = 60000104</action> <!-- us-u3 -->
            <action condition="maincpu.rd@C11C24 == 3A3C7FFF">temp0 = C11C24, maincpu.rd@temp0 = 60000168</action> <!-- japan -->
            <action condition="maincpu.rd@C11AE6 == 3A3C7FFF">temp0 = C11AE6, maincpu.rd@temp0 = 60000104</action> <!-- japan-j3a -->
            <action condition="maincpu.rd@C11BC6 == 3A3C7FFF">temp0 = C11BC6, maincpu.rd@temp0 = 6000017C</action> <!-- japan-hotel -->
        </script>
        <script state="off">
            <action>maincpu.rd@temp0 = 3A3C7FFF</action>
        </script>
    </cheat>

</mamecheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1316
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[kof95]+ The King of Fighters '95

Post by jman »

kof95h.xml

Code: Select all

<!-- The King of Fighters '95 (NGH-084) -->
<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.rq@00265E = 4EB9002D48004E71</action> <!-- direct attack / firearms -->
            <action>maincpu.rq@00A8AE = 4EB9002D48166700</action> <!-- catch / throw -->
            <action>maincpu.rq@00EAD8 = 4EB9002D482A6600</action> <!-- storm bringer (heidern) -->
            <action>maincpu.rq@0103EE = 4EB9002D482A6600</action> <!-- super argentine back breaker (ralf) -->
            <action>maincpu.rq@011852 = 4EB9002D482A6600</action> <!-- super argentine back breaker (clark) -->
            <action>maincpu.rq@011C1A = 4EB9002D482A6666</action> <!-- super arabian burglary back breaker (clark) -->
            <action>maincpu.rq@0123BC = 4EB9002D482A6600</action> <!-- ultra argentine back breaker (clark) -->
            <action>maincpu.rq@01AFCE = 4EB9002D483A6620</action> <!-- jiraishin (daimon) -->
            <action>maincpu.rq@01B126 = 4EB9002D482A6600</action> <!-- chou-oosotogari (daimon) -->
            <action>maincpu.rq@01BE0C = 4EB9002D482A6600</action> <!-- tenchi gaeshi (daimon) -->
            <action>maincpu.rq@01CEAA = 4EB9002D482A6600</action> <!-- jigoku gokuraku otoshi (daimon) -->
            <action>maincpu.rq@02EA2C = 4EB9002D482A6600</action> <!-- syouran kyaku - weak (takuma) -->
            <action>maincpu.rq@02EE30 = 4EB9002D482A6640</action> <!-- syouran kyaku - strong (takuma) -->
            <action>maincpu.rq@030796 = 4EB9002D482A6600</action> <!-- hyakuretsu binta - weak (yuri) -->
            <action>maincpu.rq@030B30 = 4EB9002D482A6640</action> <!-- hyakuretsu binta - strong (yuri) -->
            <action>maincpu.rq@2D4800 = 2C6D27A0082E0000</action>
            <action>maincpu.rq@2D4808 = 01FF6606052E007C</action>
            <action>maincpu.rq@2D4810 = 4E7542024E754841</action>
            <action>maincpu.rq@2D4818 = 1210082B000001FF</action>
            <action>maincpu.rq@2D4820 = 6604C2074E754200</action>
            <action>maincpu.rq@2D4828 = 4E75082B000001FF</action>
            <action>maincpu.rq@2D4830 = 6606082B000000E1</action>
            <action>maincpu.rq@2D4838 = 4E75082B000001FF</action>
            <action>maincpu.rq@2D4840 = 6606082B000500E3</action>
            <action>maincpu.rq@2D4848 = 4E75000000000000</action>
            <!--
            2D4800 | 2C6D 27A0      : movea.l ($27a0,A5), A6 // direct attack / firearms
            2D4804 | 082E 0000 01FF : btst    #$0, ($1ff,A6)
            2D480A | 6606           : bne     $80162
            2D480C | 052E 007C      : btst    D2, ($7c,A6)
            2D4810 | 4E75           : rts
            2D4812 | 4202           : clr.b   D2
            2D4814 | 4E75           : rts
            2D4816 | 4841           : swap    D1             // catch / throw
            2D4818 | 1210           : move.b  (A0), D1
            2D481A | 082B 0000 01FF : btst    #$0, ($1ff,A3)
            2D4820 | 6604           : bne     $80176
            2D4822 | C207           : and.b   D7, D1
            2D4824 | 4E75           : rts
            2D4826 | 4200           : clr.b   D0
            2D4828 | 4E75           : rts
            2D482A | 082B 0000 01FF : btst    #$0, ($1ff,A3) // moves
            2D4830 | 6606           : bne     $80188
            2D4832 | 082B 0000 00E1 : btst    #$0, ($e1,A3)
            2D4838 | 4E75           : rts
            2D483A | 082B 0000 01FF : btst    #$0, ($1ff,A3) // jiraishin (daimon)
            2D4840 | 6606           : bne     $80198
            2D4842 | 082B 0005 00E3 : btst    #$5, ($e3,A3)
            2D4848 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@1082FF &amp;= ~01</action>
            <action condition="(param band 02) == 00">maincpu.pb@1084FF &amp;= ~01</action>
            <action condition="(param band 01) != 00">maincpu.pb@1082FF |= 01     </action>
            <action condition="(param band 02) != 00">maincpu.pb@1084FF |= 01     </action>
        </script>
        <script state="off">
            <action>maincpu.rq@00265E = 2C6D27A0052E007C</action>
            <action>maincpu.rq@00A8AE = 48411210C2076700</action>
            <action>maincpu.rq@00EAD8 = 082B000000E16600</action>
            <action>maincpu.rq@0103EE = 082B000000E16600</action>
            <action>maincpu.rq@011852 = 082B000000E16600</action>
            <action>maincpu.rq@011C1A = 082B000000E16666</action>
            <action>maincpu.rq@0123BC = 082B000000E16600</action>
            <action>maincpu.rq@01AFCE = 082B000500E36620</action>
            <action>maincpu.rq@01B126 = 082B000000E16600</action>
            <action>maincpu.rq@01BE0C = 082B000000E16600</action>
            <action>maincpu.rq@01CEAA = 082B000000E16600</action>
            <action>maincpu.rq@02EA2C = 082B000000E16600</action>
            <action>maincpu.rq@02EE30 = 082B000000E16640</action>
            <action>maincpu.rq@030796 = 082B000000E16600</action>
            <action>maincpu.rq@030B30 = 082B000000E16640</action>
            <action>maincpu.rq@2D4800 = 0000000000000000</action>
            <action>maincpu.rq@2D4808 = 0000000000000000</action>
            <action>maincpu.rq@2D4810 = 0000000000000000</action>
            <action>maincpu.rq@2D4818 = 0000000000000000</action>
            <action>maincpu.rq@2D4820 = 0000000000000000</action>
            <action>maincpu.rq@2D4828 = 0000000000000000</action>
            <action>maincpu.rq@2D4830 = 0000000000000000</action>
            <action>maincpu.rq@2D4838 = 0000000000000000</action>
            <action>maincpu.rq@2D4840 = 0000000000000000</action>
            <action>maincpu.rq@2D4848 = 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="on">
            <action>maincpu.rq@00A84C = 4EB9002D48504E71</action>
            <action>maincpu.rq@2D4850 = 1E2E0001082C0001</action>
            <action>maincpu.rq@2D4858 = 01FF67021E160247</action>
            <action>maincpu.rq@2D4860 = 00F04E7500000000</action>
            <!--
            2D4850 | 1E2E 0001      : move.b  ($1,A6), D7
            2D4854 | 082C 0001 01FF : btst    #$1, ($1ff,A4)
            2D485A | 6702           : beq     $2d485e
            2D485C | 1E16           : move.b  (A6), D7
            2D485E | 0247 00F0      : andi.w  #$f0, D7
            2D4862 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@1082FF &amp;= ~02</action>
            <action condition="(param band 02) == 00">maincpu.pb@1084FF &amp;= ~02</action>
            <action condition="(param band 01) != 00">maincpu.pb@1082FF |= 02     </action>
            <action condition="(param band 02) != 00">maincpu.pb@1084FF |= 02     </action>
        </script>
        <script state="off">
            <action>maincpu.rq@00A84C = 1E2E0001024700F0</action>
            <action>maincpu.rq@2D4850 = 0000000000000000</action>
            <action>maincpu.rq@2D4858 = 0000000000000000</action>
            <action>maincpu.rq@2D4860 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="action speed up">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="on">
            <action>maincpu.rq@003FA4 = 4EB9002D48704E71</action>
            <action>maincpu.rq@2D4870 = 082C000201FF6704</action>
            <action>maincpu.rq@2D4878 = 103C00011940007A</action>
            <action>maincpu.rq@2D4880 = 102C007F4E750000</action>
            <!--
            2D4870 | 082C 0002 01FF : btst    #$2, ($1ff,A4)
            2D4876 | 6704           : beq     $2d487c
            2D4878 | 103C 0001      : move.b  #$1, D0
            2D487C | 1940 007A      : move.b  D0, ($7a,A4)
            2D4880 | 102C 007F      : move.b  ($7f,A4), D0
            2D4884 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@1082FF &amp;= ~04</action>
            <action condition="(param band 02) == 00">maincpu.pb@1084FF &amp;= ~04</action>
            <action condition="(param band 01) != 00">maincpu.pb@1082FF |= 04     </action>
            <action condition="(param band 02) != 00">maincpu.pb@1084FF |= 04     </action>
        </script>
        <script state="off">
            <action>maincpu.rq@003FA4 = 1940007A102C007F</action>
            <action>maincpu.rq@2D4870 = 0000000000000000</action>
            <action>maincpu.rq@2D4878 = 0000000000000000</action>
            <action>maincpu.rq@2D4880 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="special move">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="on">
            <action>maincpu.rq@004BB8 = 4EB9002D48906614</action>
            <action>maincpu.rq@00B832 = 4EB9002D48906614</action>
            <action>maincpu.rq@00B856 = 4EB9002D4890661C</action>
            <action>maincpu.rq@00B8A2 = 4EB9002D48906614</action>
            <action>maincpu.rq@2D4890 = 082C000301FF6606</action>
            <action>maincpu.rq@2D4898 = 082D000380004E75</action>
            <!--
            2D4890 | 082C 0003 01FF : btst    #$3, ($1ff,A4)
            2D4896 | 6606           : bne     $2d489e
            2D4898 | 082D 0003 8000 : btst    #$3, (-$8000,A5)
            2D489E | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@1082FF &amp;= ~08</action>
            <action condition="(param band 02) == 00">maincpu.pb@1084FF &amp;= ~08</action>
            <action condition="(param band 01) != 00">maincpu.pb@1082FF |= 08     </action>
            <action condition="(param band 02) != 00">maincpu.pb@1084FF |= 08     </action>
        </script>
        <script state="off">
            <action>maincpu.rq@004BB8 = 082D000380006614</action>
            <action>maincpu.rq@00B832 = 082D000380006614</action>
            <action>maincpu.rq@00B856 = 082D00038000661C</action>
            <action>maincpu.rq@00B8A2 = 082D000380006614</action>
            <action>maincpu.rq@2D4890 = 0000000000000000</action>
            <action>maincpu.rq@2D4898 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x1B7C00FF">01 (slow)</item>
            <item value="0x1B7C00C0">02       </item>
            <item value="0x1B7C0080">03       </item>
            <item value="0x1B7C0040">04       </item>
            <item value="0x1B7C0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.rd@39FD4 = param</action>
            <action>maincpu.rd@3B532 = param</action>
            <action>maincpu.rd@3BA70 = param</action>
        </script>
        <script state="off">
            <action>maincpu.rd@39FD4 = 1B6D2838</action>
            <action>maincpu.rd@3B532 = 1B6D2838</action>
            <action>maincpu.rd@3BA70 = 1B6D2838</action>
        </script>
    </cheat>

    <cheat desc="unlock secret characters">
        <script state="on">
            <action>maincpu.rw@3E68E = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.rw@3E68E = 6706</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- don't play code 0x01, 0x03 and 0x10 because of no sound response -->
        <!-- valid bank number seems to be 0x00, 0x08, 0x0A and 0x0E -->
        <script state="on">
            <action>maincpu.rq@039048 = 4EF9002D48A04E71</action>
            <action>maincpu.rq@2D48A0 = 43ED000145ED56B2</action>
            <action>maincpu.rq@2D48A8 = 47F865F000390080</action>
            <action>maincpu.rq@2D48B0 = 0010FD8014011239</action>
            <action>maincpu.rq@2D48B8 = 00300000B40167F4</action>
            <action>maincpu.rq@2D48C0 = 0C0100FB66025315</action>
            <action>maincpu.rq@2D48C8 = 0C0100F766025215</action>
            <action>maincpu.rq@2D48D0 = 0C0100FD66040415</action>
            <action>maincpu.rq@2D48D8 = 00100C0100FE6604</action>
            <action>maincpu.rq@2D48E0 = 061500100C0100BB</action>
            <action>maincpu.rq@2D48E8 = 660253110C0100B7</action>
            <action>maincpu.rq@2D48F0 = 660252110211000F</action>
            <action>maincpu.rq@2D48F8 = 0C0100EF66124243</action>
            <action>maincpu.rq@2D4900 = 1611670400030010</action>
            <action>maincpu.rq@2D4908 = E14B861534834E93</action>
            <action>maincpu.rq@2D4910 = 0C0100DF660634BC</action>
            <action>maincpu.rq@2D4918 = 03074E9360960000</action>
            <!--
            2D48A0 | 43ED 0001           : lea     ($1,A5), A1     // bank address ($108001)
            2D48A4 | 45ED 56B2           : lea     ($56b2,A5), A2  // sound latch address ($10D6B2)
            2D48A8 | 47F8 65F0           : lea     $65f0.w, A3     // sound latch routine address
            2D48AC | 0039 0080 0010 FD80 : ori.b   #$80, $10fd80.l // set flag for interrupt
            2D48B4 | 1401                : move.b  D1, D2
            2D48B6 | 1239 0030 0000      : move.b  $300000.l, D1   // read input
            2D48BC | B401                : cmp.b   D1, D2
            2D48BE | 67F4                : beq     $2d48b4
            2D48C0 | 0C01 00FB           : cmpi.b  #-$5, D1
            2D48C4 | 6602                : bne     $2d48c8
            2D48C6 | 5315                : subq.b  #1, (A5)        // decrease code -01
            2D48C8 | 0C01 00F7           : cmpi.b  #-$9, D1
            2D48CC | 6602                : bne     $2d48d0
            2D48CE | 5215                : addq.b  #1, (A5)        // increase code +01
            2D48D0 | 0C01 00FD           : cmpi.b  #-$3, D1
            2D48D4 | 6604                : bne     $2d48da
            2D48D6 | 0415 0010           : subi.b  #$10, (A5)      // decrease code -10
            2D48DA | 0C01 00FE           : cmpi.b  #-$2, D1
            2D48DE | 6604                : bne     $2d48e4
            2D48E0 | 0615 0010           : addi.b  #$10, (A5)      // increase code +10
            2D48E4 | 0C01 00BB           : cmpi.b  #-$45, D1
            2D48E8 | 6602                : bne     $2d48ec
            2D48EA | 5311                : subq.b  #1, (A1)        // decrease bank -01
            2D48EC | 0C01 00B7           : cmpi.b  #-$49, D1
            2D48F0 | 6602                : bne     $2d48f4
            2D48F2 | 5211                : addq.b  #1, (A1)        // increase bank +01
            2D48F4 | 0211 000F           : andi.b  #$f, (A1)       // mask bank
            2D48F8 | 0C01 00EF           : cmpi.b  #-$11, D1
            2D48FC | 6612                : bne     $2d4910
            2D48FE | 4243                : clr.w   D3              // play sound
            2D4900 | 1611                : move.b  (A1), D3
            2D4902 | 6704                : beq     $2d4908
            2D4904 | 0003 0010           : ori.b   #$10, D3
            2D4908 | E14B                : lsl.w   #8, D3
            2D490A | 8615                : or.b    (A5), D3
            2D490C | 3483                : move.w  D3, (A2)
            2D490E | 4E93                : jsr     (A3)
            2D4910 | 0C01 00DF           : cmpi.b  #-$21, D1
            2D4914 | 6606                : bne     $2d491c
            2D4916 | 34BC 0307           : move.w  #$307, (A2)     // stop sound
            2D491A | 4E93                : jsr     (A3)
            2D491C | 6096                : bra     $2d48b4
            -->
        </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 -01"   line="15" align="center" />
            <output format="button 3 + right : increase bank +01"  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 %X &gt;&gt;"             line="21" align="center"  >
                <argument>maincpu.pb@108001</argument>
            </output>
            <output format="&lt;&lt; sound code %02X &gt;&gt;"     line="23" align="center"  >
                <argument>maincpu.pb@108000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.rq@039048 = 003900800010FD80</action>
            <action>maincpu.rq@2D48A0 = 0000000000000000</action>
            <action>maincpu.rq@2D48A8 = 0000000000000000</action>
            <action>maincpu.rq@2D48B0 = 0000000000000000</action>
            <action>maincpu.rq@2D48B8 = 0000000000000000</action>
            <action>maincpu.rq@2D48C0 = 0000000000000000</action>
            <action>maincpu.rq@2D48C8 = 0000000000000000</action>
            <action>maincpu.rq@2D48D0 = 0000000000000000</action>
            <action>maincpu.rq@2D48D8 = 0000000000000000</action>
            <action>maincpu.rq@2D48E0 = 0000000000000000</action>
            <action>maincpu.rq@2D48E8 = 0000000000000000</action>
            <action>maincpu.rq@2D48F0 = 0000000000000000</action>
            <action>maincpu.rq@2D48F8 = 0000000000000000</action>
            <action>maincpu.rq@2D4900 = 0000000000000000</action>
            <action>maincpu.rq@2D4908 = 0000000000000000</action>
            <action>maincpu.rq@2D4910 = 0000000000000000</action>
            <action>maincpu.rq@2D4918 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action condition="maincpu.rd@C11AFC == 3A3C7FFF">temp0 = C11AFC, maincpu.rd@temp0 = 60000168</action> <!-- euro, euro-s1, japan-s2, japan-s1 -->
            <action condition="maincpu.rd@C10C20 == 3A3C7FFF">temp0 = C10C20, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1c, japan-mv1b -->
            <action condition="maincpu.rd@C10AFC == 3A3C7FFF">temp0 = C10AFC, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1b, japan-mv1c -->
            <action condition="maincpu.rd@C11AD2 == 3A3C7FFF">temp0 = C11AD2, maincpu.rd@temp0 = 60000168</action> <!-- us, us-e, us-v2, us-u4 -->
            <action condition="maincpu.rd@C11ABC == 3A3C7FFF">temp0 = C11ABC, maincpu.rd@temp0 = 60000104</action> <!-- us-u3 -->
            <action condition="maincpu.rd@C11C24 == 3A3C7FFF">temp0 = C11C24, maincpu.rd@temp0 = 60000168</action> <!-- japan -->
            <action condition="maincpu.rd@C11AE6 == 3A3C7FFF">temp0 = C11AE6, maincpu.rd@temp0 = 60000104</action> <!-- japan-j3a -->
            <action condition="maincpu.rd@C11BC6 == 3A3C7FFF">temp0 = C11BC6, maincpu.rd@temp0 = 6000017C</action> <!-- japan-hotel -->
        </script>
        <script state="off">
            <action>maincpu.rd@temp0 = 3A3C7FFF</action>
        </script>
    </cheat>

</mamecheat>
  • "no hit", "rapid fire", "action speed up" and "special move" : Major rewritten routine.
  • "timer speed" : Added codes.
  • "unlock secret characters" : Added new.
  • "sound test mode" : Added new. Don't play code 0x01, 0x03 and 0x10 because of no sound response. Valid bank seems to be 0x00, 0x08, 0x0A and 0x0E.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Post Reply