[kof96] The King of Fighters '96

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

[kof96] The King of Fighters '96

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@0322a = 4eb900062e526700</action> <!-- direct attack / firearms -->
        <action>maincpu.rq@03684 = 4eb900062e5e6600</action> <!-- catch / throw -->
        <action>maincpu.rq@1a904 = 4eb900062e786600</action> <!-- jiraishin (daimon) -->
        <action>maincpu.rq@62e30 = 48e780007001b9fc</action>
        <action>maincpu.rq@62e38 = 0010810066027000</action>
        <action>maincpu.rq@62e40 = b9fc001083006602</action>
        <action>maincpu.rq@62e48 = 70004a804cdf0001</action>
        <action>maincpu.rq@62e50 = 4e7561dc67069647</action>
        <action>maincpu.rq@62e58 = 072c007c4e7548e7</action>
        <action>maincpu.rq@62e60 = 0008284861ca4cdf</action>
        <action>maincpu.rq@62e68 = 1000670808280005</action>
        <action>maincpu.rq@62e70 = 00e34e7570014e75</action>
        <action>maincpu.rq@62e78 = 48e70008284861b0</action>
        <action>maincpu.rq@62e80 = 4cdf100067080828</action>
        <action>maincpu.rq@62e88 = 000100e04e757001</action>
        <action>maincpu.rq@62e90 = 4e75ffffffffffff</action>
        <!--
        62e30 | 48e7 8000      : movem.l D0,-(A7)    // player check routine
        62e34 | 7001           : moveq   #$1,D0
        62e36 | b9fc 0010 8100 : cmpa.l  #$108100,A4
        62e3c | 6602           : bne     $62e40
        62e3e | 7000           : moveq   #$0,D0
        62e40 | b9fc 0010 8300 : cmpa.l  #$108300,A4
        62e46 | 6602           : bne     $62e4a
        62e48 | 7000           : moveq   #$0,D0
        62e4a | 4a80           : tst.l   D0
        62e4c | 4cdf 0001      : movem.l (A7)+,D0
        62e50 | 4e75           : rts
        62e52 | 61dc           : bsr     $62e30      // direct attack / firearms
        62e54 | 6706           : beq     $62e5c
        62e56 | 9647           : sub.w   D7,D3
        62e58 | 072c 007c      : btst    D3,($7c,A4)
        62e5c | 4e75           : rts
        62e5e | 48e7 0008      : movem.l A4,-(A7)    // catch / throw
        62e62 | 2848           : movea.l A0,A4
        62e64 | 61ca           : bsr     $62e30
        62e66 | 4cdf 1000      : movem.l (A7)+,A4
        62e6a | 6708           : beq     $62e74
        62e6c | 0828 0005 00e3 : btst    #$5,($e3,A0)
        62e72 | 4e75           : rts
        62e74 | 7001           : moveq   #$1,D0
        62e76 | 4e75           : rts
        62e78 | 48e7 0008      : movem.l A4,-(A7)    // jiraishin (daimon)
        62e7c | 2848           : movea.l A0,A4
        62e7e | 61b0           : bsr     $62e30
        62e80 | 4cdf 1000      : movem.l (A7)+,A4
        62e84 | 6708           : beq     $62e8e
        62e86 | 0828 0001 00e0 : btst    #$1,($e0,A0)
        62e8c | 4e75           : rts
        62e8e | 7001           : movq   #$1,D0
        62e90 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action                                  >maincpu.rb@62e3c = 60</action>
        <action                                  >maincpu.rb@62e46 = 60</action>
        <action condition="(param band 01) != 00">maincpu.rb@62e3c = 66</action>
        <action condition="(param band 02) != 00">maincpu.rb@62e46 = 66</action>
    </script>
    <script state="off">
        <action>maincpu.rq@0322a = 9647072c007c6700</action>
        <action>maincpu.rq@03684 = 0828000500e36600</action>
        <action>maincpu.rq@1a904 = 0828000100e06600</action>
        <action>maincpu.rq@62e30 = ffffffffffffffff</action>
        <action>maincpu.rq@62e38 = ffffffffffffffff</action>
        <action>maincpu.rq@62e40 = ffffffffffffffff</action>
        <action>maincpu.rq@62e48 = ffffffffffffffff</action>
        <action>maincpu.rq@62e50 = ffffffffffffffff</action>
        <action>maincpu.rq@62e58 = ffffffffffffffff</action>
        <action>maincpu.rq@62e60 = ffffffffffffffff</action>
        <action>maincpu.rq@62e68 = ffffffffffffffff</action>
        <action>maincpu.rq@62e70 = ffffffffffffffff</action>
        <action>maincpu.rq@62e78 = ffffffffffffffff</action>
        <action>maincpu.rq@62e80 = ffffffffffffffff</action>
        <action>maincpu.rq@62e88 = ffffffffffffffff</action>
        <action>maincpu.rq@62e90 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="enable max 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@1ab76 = 4ef900062eba6600</action>
        <action>maincpu.rq@62ea0 = 7001b9fc00108100</action>
        <action>maincpu.rq@62ea8 = 66027000b9fc0010</action>
        <action>maincpu.rq@62eb0 = 8300660270004a80</action>
        <action>maincpu.rq@62eb8 = 4e7561e4670c082d</action>
        <action>maincpu.rq@62ec0 = 000580004ef90001</action>
        <action>maincpu.rq@62ec8 = ab7c4ef90001abd6</action>
        <!--
        62ea0 | 7001           : moveq   #$1, D0          // player check routine
        62ea2 | b9fc 0010 8100 : cmpa.l  #$108100, A4
        62ea8 | 6602           : bne     $62eac
        62eaa | 7000           : moveq   #$0, D0
        62eac | b9fc 0010 8300 : cmpa.l  #$108300, A4
        62eb2 | 6602           : bne     $62eb6
        62eb4 | 7000           : moveq   #$0, D0
        62eb6 | 4a80           : tst.l   D0
        62eb8 | 4e75           : rts
        62eba | 61e4           : bsr     $62ea0           // main routine
        62ebc | 670c           : beq     $62eca
        62ebe | 082d 0005 8000 : btst    #$5, (-$8000,A5)
        62ec4 | 4ef9 0001 ab7c : jmp     $1ab7c.l
        62eca | 4ef9 0001 abd6 : jmp     $1abd6.l
        -->
    </script>
    <script state="change">
        <action                                  >maincpu.rb@62ea8 = 60</action>
        <action                                  >maincpu.rb@62eb2 = 60</action>
        <action condition="(param band 01) != 00">maincpu.rb@62ea8 = 66</action>
        <action condition="(param band 02) != 00">maincpu.rb@62eb2 = 66</action>
    </script>
    <script state="off">
        <action>maincpu.rq@1ab76 = 082d000580006600</action>
        <action>maincpu.rq@62ea0 = ffffffffffffffff</action>
        <action>maincpu.rq@62ea8 = ffffffffffffffff</action>
        <action>maincpu.rq@62eb0 = ffffffffffffffff</action>
        <action>maincpu.rq@62eb8 = ffffffffffffffff</action>
        <action>maincpu.rq@62ec0 = ffffffffffffffff</action>
        <action>maincpu.rq@62ec8 = ffffffffffffffff</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@200bc = 1b7c0000</action>
    </script>
    <script state="change">
        <action>maincpu.rw@200be = param</action>
    </script>
    <script state="off">
        <action>maincpu.rd@200bc = 1b6d2838</action>
    </script>
</cheat>
"no hit" is now under test. kof96 uses different routine from kof94 and 95 about collision check for some moves.
"enable max special move" is only for "max" special move (energy bar is flashing AND power gauge is maximum), not "normal" (energy bar is flashing OR power gauge is maximum).
For example, you can't do "power geyser" but "triple power geyser" in case of Terry.

I'm struggling with "easy move" code to test "no hit" though it's hard. kof96 compares "input history" with move command table in ROM directly and doesn't save any temporary flag for input like kof94 and 95.
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

[kof96] easy move list 1

Post by jman »

Incomplete "easy move" lists to test "no hit" code.
  • affects back step and dash.
  • facing to the right only.
  • don't work "combination" move (first move works but second or later move doesn't)
Kyo. You can't use some combination move ("aragami"→"yanosabi", "dokugami"→"tumiyomi" etc).

Code: Select all

<cheat desc="oniyaki">
    <script state="run">
        <action>maincpu.pq@10e324 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="R.E.D. kick">
    <script state="run">
        <action>maincpu.pq@10e324 = 0402060000000000</action>
    </script>
</cheat>

<cheat desc="yano sabi / tsumi yomi / kototsuki you">
    <script state="run">
        <action>maincpu.pq@10e324 = 080a020604000000</action>
    </script>
</cheat>

<cheat desc="aragami / kono kizu / dokugami / 75 shiki kai">
    <script state="run">
        <action>maincpu.pq@10e324 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="nue tsumi">
    <script state="run">
        <action>maincpu.pq@10e324 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="orochinagi">
    <script state="run">
        <action>maincpu.pq@10e324 = 02060406020a0800</action>
    </script>
</cheat>
Benimaru. You can't use "handou sandan geri" after "iai geri".

Code: Select all

<cheat desc="super inazuma kick">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="raijin ken / iai geri">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="shinkuu katategoma">
    <script state="run">
        <action>maincpu.pq@10e326 = 080a020604000000</action>
    </script>
</cheat>

<cheat desc="benimaru collider">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="raikou ken">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a08020a000000</action>
    </script>
</cheat>

<cheat desc="handou sandan geri">
    <script state="run">
        <action>maincpu.pq@10e326 = 0402060000000000</action>
    </script>
</cheat>
Daimon.

Code: Select all

<cheat desc="jiraishin">
    <script state="run">
        <action>maincpu.pq@10e324 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="chou ukemi">
    <script state="run">
        <action>maincpu.pq@10e324 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="kumo tsukami nage / kirikabu gaeshi / chou oosotogari">
    <script state="run">
        <action>maincpu.pq@10e324 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="tenchi gaeshi">
    <script state="run">
        <action>maincpu.pq@10e324 = 080a020604080000</action>
    </script>
</cheat>

<cheat desc="jigoku gokuraku otoshi">
    <script state="run">
        <action>maincpu.pq@10e31c = 080a020604080a02</action>
        <action>maincpu.pq@10e324 = 0604000000000000</action>
    </script>
</cheat>
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

[kof96] easy move list 2

Post by jman »

Terry.

Code: Select all

<cheat desc="burn knuckle / crack shoot">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="power wave">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="rising tackle / power dunk">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="power geyser">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040608000000</action>
    </script>
</cheat>
Andy. You can't use "gadankou" unless set after "zan ei ken" hits.

Code: Select all

<cheat desc="zan ei ken">
    <script state="run">
        <action>maincpu.pq@10e326 = 0608000000000000</action>
    </script>
</cheat>

<cheat desc="gen ei shiranui / gadankou">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="hishou ken">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="shouryu dan">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="kuuha dan / gekiheki haisui shou">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="chou reppa dan">
    <script state="run">
        <action>maincpu.pq@10e324 = 02060406020a0800</action>
    </script>
</cheat>
Joe. You can't use "bakuretsu ken finish" alone.

Code: Select all

<cheat desc="hurricane upper / slash kick">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="bakuretsu ken">
    <script state="run">
        <action>maincpu.pq@10e324 = 5000500050005000</action>
    </script>
</cheat>

<cheat desc="bakuretsu ken finish">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="tiger kick">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="ougon no kakato">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="screw upper">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a08020a000000</action>
    </script>
</cheat>
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

[kof96] easy move list 3

Post by jman »

Ryo.

Code: Select all

<cheat desc="ko ou ken">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="kohou">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="kyokugen-ryuu renbu ken">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="mouko raijin gou">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="hien shippuu kyaku">
    <script state="run">
        <action>maincpu.pq@10e326 = 080a020604000000</action>
    </script>
</cheat>

<cheat desc="ryuuko ranbu">
    <script state="run">
        <action>maincpu.pq@10e324 = 020a080a02060400</action>
    </script>
</cheat>

<cheat desc="haou shoukou ken">
    <script state="run">
        <action>maincpu.pq@10e326 = 080406020a080000</action>
    </script>
</cheat>
Robert.

Code: Select all

<cheat desc="ryuugeki ken">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="ryuga">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="hien shippuu kyaku">
    <script state="run">
        <action>maincpu.pq@10e326 = 080a020604000000</action>
    </script>
</cheat>

<cheat desc="hien ryuujin kyaku">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="kyokugen-ryuu renbu kyaku">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="ryuuko ranbu">
    <script state="run">
        <action>maincpu.pq@10e324 = 020a080a02060400</action>
    </script>
</cheat>

<cheat desc="haou shoukou ken">
    <script state="run">
        <action>maincpu.pq@10e326 = 080406020a080000</action>
    </script>
</cheat>
Yuri.

Code: Select all

<cheat desc="ko ou ken / raiou ken">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="yuri chou upper">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="hyakuretsu binta">
    <script state="run">
        <action>maincpu.pq@10e326 = 080a020604000000</action>
    </script>
</cheat>

<cheat desc="yuri chou knuckle / yuri chou mawashi geri">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="hien hou ou kyaku">
    <script state="run">
        <action>maincpu.pq@10e324 = 020a080a02060400</action>
    </script>
</cheat>

<cheat desc="haou shoukou ken">
    <script state="run">
        <action>maincpu.pq@10e326 = 080406020a080000</action>
    </script>
</cheat>
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

[kof96] easy move list 4

Post by jman »

Leona. Charge type moves require key input and button input at the same time (eg, → + punch).
  • moon slasher : ↑ + punch
  • x-caliber : ↑ + kick
  • ground saber : → + kick
  • baltic launcher : → + punch

Code: Select all

<cheat desc="moon slasher / x-caliber">
    <script state="run">
        <action>maincpu.pb@10e33a = 1e</action>
    </script>
</cheat>

<cheat desc="ground saber">
    <script state="run">
        <action>maincpu.pb@10e33c = 1e</action>
    </script>
</cheat>

<cheat desc="baltic launcher">
    <script state="run">
        <action>maincpu.pb@10e342 = 1e</action>
    </script>
</cheat>

<cheat desc="v-slasher">
    <script state="run">
        <action>maincpu.pq@10e324 = 020a080a02060400</action>
    </script>
</cheat>
Ralf. Charge type moves require key input and button input at the same time (eg, → + punch).
  • gatling attack : → + punch
  • ralf kick : → + kick
  • kyuukouka bakudan punch (ground) : ↑ + punch

Code: Select all

<cheat desc="vulcan punch">
    <script state="run">
        <action>maincpu.pq@10e324 = 5000500050005000</action>
    </script>
</cheat>

<cheat desc="kyuukouka bakudan punch (air)">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="super argentine back breaker">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="baribari vulcan punch / umanori vulcan punch">
    <script state="run">
        <action>maincpu.pq@10e324 = 020a080a02060400</action>
    </script>
</cheat>

<cheat desc="gatling attack / ralf kick">
    <script state="run">
        <action>maincpu.pb@10e33c = 1e</action>
    </script>
</cheat>

<cheat desc="kyuukouka bakudan punch (ground)">
    <script state="run">
        <action>maincpu.pb@10e33e = 1e</action>
    </script>
</cheat>
Clark.

Code: Select all

<cheat desc="vulcan punch">
    <script state="run">
        <action>maincpu.pq@10e324 = 5000500050005000</action>
    </script>
</cheat>

<cheat desc="rolling cradler / frankensteiner / super argentine back breaker">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="napalm stretch">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="ultra argentine back breaker">
    <script state="run">
        <action>maincpu.pq@10e31c = 080a020604080a02</action>
        <action>maincpu.pq@10e324 = 0604000000000000</action>
    </script>
</cheat>

<cheat desc="flashing elbow">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>
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

[kof96] easy move list 5

Post by jman »

Athena.

Code: Select all

<cheat desc="psycho ball attack / phoenix arrow / crystal shoot">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="psycho reflector">
    <script state="run">
        <action>maincpu.pq@10e326 = 080a020604000000</action>
    </script>
</cheat>

<cheat desc="psycho sword">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="psychic teleport">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="shining crystal bit">
    <script state="run">
        <action>maincpu.pq@10e324 = 04080a0206040000</action>
    </script>
</cheat>
Kensou.

Code: Select all

<cheat desc="chou kyu dan / ryu sou geki">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="ryu gaku sai">
    <script state="run">
        <action>maincpu.pq@10e326 = 0402060000000000</action>
    </script>
</cheat>

<cheat desc="ryu ren ga : chiryu / ryu ren ga : tenryu">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="shinryu seiou rekkyaku / shinryu tenbu kyaku">
    <script state="run">
        <action>maincpu.pq@10e324 = 020a080a02060400</action>
    </script>
</cheat>
Chin.

Code: Select all

<cheat desc="hyoutan geki / bougetsu sui">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="ryurin hourai">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="kaiten-teki kuutotsu ken">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="suikan kanou">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="gouran enpou">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a08020a000000</action>
    </script>
</cheat>
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

[kof96] easy move list 6

Post by jman »

Kasumi.

Code: Select all

<cheat desc="kasane-ate">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="haku san tou">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="messhin mutou / sassyou insyu">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="tatsumaki souda">
    <script state="run">
        <action>maincpu.pq@10e326 = 080a020604000000</action>
    </script>
</cheat>

<cheat desc="chou kasane-ate">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a08020a000000</action>
    </script>
</cheat>
Mai.

Code: Select all

<cheat desc="ka chou sen">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="ryu en bu / musasabi no mai (air)">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="hisyou ryu en jin">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="hissatsu shinobi bachi">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="musasabi no mai (ground)">
    <script state="run">
        <action>maincpu.pq@10e326 = 080a020604000000</action>
    </script>
</cheat>

<cheat desc="chou hissatsu shinobi bachi">
    <script state="run">
        <action>maincpu.pq@10e324 = 02060406020a0800</action>
    </script>
</cheat>
King.

Code: Select all

<cheat desc="venom strike">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="double strike">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a08020a000000</action>
    </script>
</cheat>

<cheat desc="surprise rose / trap shot">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="tornado kick">
    <script state="run">
        <action>maincpu.pq@10e326 = 080a020604000000</action>
    </script>
</cheat>

<cheat desc="mirage kick">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="illusion dance">
    <script state="run">
        <action>maincpu.pq@10e324 = 020a080a02060400</action>
    </script>
</cheat>
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

[kof96] easy move list 7

Post by jman »

Kim.
  • hien zan : ↑ + kick
  • kuu sa jin : ↑ + punch
  • ryusei raku : → + kick

Code: Select all

<cheat desc="hangetsu zan">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="hishou kyaku">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="hien zan / kuu sa jin">
    <script state="run">
        <action>maincpu.pb@10e33a = 1e</action>
    </script>
</cheat>

<cheat desc="ryusei raku">
    <script state="run">
        <action>maincpu.pb@10e340 = 1e</action>
    </script>
</cheat>

<cheat desc="houou kyaku">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040608000000</action>
    </script>
</cheat>
Chang.
  • tekkyu funsai geki : → + punch
  • tekkyu hien zan : ↑ + kick

Code: Select all

<cheat desc="tekkyu dai kaiten">
    <script state="run">
        <action>maincpu.pq@10e324 = 5000500050005000</action>
    </script>
</cheat>

<cheat desc="dai hakai nage">
    <script state="run">
        <action>maincpu.pq@10e326 = 080a020604080000</action>
    </script>
</cheat>

<cheat desc="tekkyu funsai geki">
    <script state="run">
        <action>maincpu.pb@10e33a = 1e</action>
    </script>
</cheat>

<cheat desc="tekkyu hien zan">
    <script state="run">
        <action>maincpu.pb@10e33e = 1e</action>
    </script>
</cheat>

<cheat desc="tekkyu dai bousou">
    <script state="run">
        <action>maincpu.pq@10e324 = 020a080a02060400</action>
    </script>
</cheat>
Choi.
  • tatsumaki shippuu zan : ↑ + punch
  • hisyou kuuretsu zan : ↑ + kick
  • shissou hisyou zan : → + punch
  • shippuu hien sashi : → + kick

Code: Select all

<cheat desc="hisyou kyaku">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="tatsumaki shippuu zan / hisyou kuuretsu zan">
    <script state="run">
        <action>maincpu.pb@10e33a = 1e</action>
    </script>
</cheat>

<cheat desc="shissou hisyou zan / shippuu hien sashi">
    <script state="run">
        <action>maincpu.pb@10e33e = 1e</action>
    </script>
</cheat>

<cheat desc="shin! chouzetsu tatsumaki shinkuu zan">
    <script state="run">
        <action>maincpu.pq@10e31c = 080a020604080a02</action>
        <action>maincpu.pq@10e324 = 0604000000000000</action>
    </script>
</cheat>
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

[kof96] easy move list 8

Post by jman »

Iori.

Code: Select all

<cheat desc="oniyaki">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="kototsuki in">
    <script state="run">
        <action>maincpu.pq@10e326 = 080a020604000000</action>
    </script>
</cheat>

<cheat desc="aoihana">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="kuzukaze">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="yamibarai">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="yaotome">
    <script state="run">
        <action>maincpu.pq@10e324 = 02060406020a0800</action>
    </script>
</cheat>
Mature.

Code: Select all

<cheat desc="death row / metal massacre">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="despair">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="decide">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="heaven's gate">
    <script state="run">
        <action>maincpu.pq@10e324 = 02060406020a0800</action>
    </script>
</cheat>
Vice.

Code: Select all

<cheat desc="gore fest">
    <script state="run">
        <action>maincpu.pq@10e326 = 080a020604080000</action>
    </script>
</cheat>

<cheat desc="decide">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="outrage / ravenous">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="negative gain">
    <script state="run">
        <action>maincpu.pq@10e31c = 080a020604080a02</action>
        <action>maincpu.pq@10e324 = 0604000000000000</action>
    </script>
</cheat>
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

[kof96] easy move list 9

Post by jman »

Geese.

Code: Select all

<cheat desc="reppuu ken / double reppuu ken">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="atemi nage">
    <script state="run">
        <action>maincpu.pq@10e324 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="ja ei ken">
    <script state="run">
        <action>maincpu.pq@10e326 = 080a020604000000</action>
    </script>
</cheat>

<cheat desc="hissyou nichirin zan">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="shippuu ken">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="raging storm">
    <script state="run">
        <action>maincpu.pq@10e324 = 06080a0206040a00</action>
    </script>
</cheat>
Krauser.

Code: Select all

<cheat desc="blitz ball">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="leg tomahawk">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="kaiser kick">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="kaiser dual sobat">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="kaiser suplex">
    <script state="run">
        <action>maincpu.pq@10e324 = 080a020604080000</action>
    </script>
</cheat>

<cheat desc="kaiser wave">
    <script state="run">
        <action>maincpu.pq@10e324 = 080406020a080000</action>
    </script>
</cheat>
Mr.big.

Code: Select all

<cheat desc="ground blaster">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a080000000000</action>
    </script>
</cheat>

<cheat desc="cross diving / spinning lancer">
    <script state="run">
        <action>maincpu.pq@10e326 = 080a020604000000</action>
    </script>
</cheat>

<cheat desc="crazy drum">
    <script state="run">
        <action>maincpu.pq@10e324 = 5000500050005000</action>
    </script>
</cheat>

<cheat desc="california romance">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="blaster wave">
    <script state="run">
        <action>maincpu.pq@10e326 = 020a08020a000000</action>
    </script>
</cheat>
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

[kof96] easy move list 10

Post by jman »

Chizuru.

Code: Select all

<cheat desc="tenjin no kotowari">
    <script state="run">
        <action>maincpu.pq@10e326 = 08020a0000000000</action>
    </script>
</cheat>

<cheat desc="shinsoku no norito">
    <script state="run">
        <action>maincpu.pq@10e326 = 080a020604000000</action>
    </script>
</cheat>

<cheat desc="tamayura no sitsune">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="shinsoku no norito">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="reigi no ishizue">
    <script state="run">
        <action>maincpu.pq@10e324 = 02060406020a0800</action>
    </script>
</cheat>

<cheat desc="sanrai no fujin">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040206000000</action>
    </script>
</cheat>
Goenitz.

Code: Select all

<cheat desc="yonokaze">
    <script state="run">
        <action>maincpu.pq@10e326 = 0406020a08000000</action>
    </script>
</cheat>

<cheat desc="tokobuse / mametsu / hyouga">
    <script state="run">
        <action>maincpu.pq@10e326 = 0206040000000000</action>
    </script>
</cheat>

<cheat desc="mizuchi">
    <script state="run">
        <action>maincpu.pq@10e324 = 02060406020a0800</action>
    </script>
</cheat>

<cheat desc="yami doukoku">
    <script state="run">
        <action>maincpu.pq@10e31c = 080a020604080a02</action>
        <action>maincpu.pq@10e324 = 0604000000000000</action>
    </script>
</cheat>
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

[kof96]+ The King of Fighters '96

Post by jman »

kof96.xml

Code: Select all

<!-- The King of Fighters '96 (NGM-214) -->
<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@0323A = 4EB900062E306600</action> <!-- direct attack / firearms -->
            <action>maincpu.rq@03684 = 4EB900062E3E6600</action> <!-- catch / throw -->
            <action>maincpu.rq@1A918 = 4EB900062E4E6600</action> <!-- jiraishin (daimon) -->
            <action>maincpu.rq@62E30 = 082C000001FF6604</action>
            <action>maincpu.rq@62E38 = 4EB83A324E750828</action>
            <action>maincpu.rq@62E40 = 000001FF66060828</action>
            <action>maincpu.rq@62E48 = 000500E34E750828</action>
            <action>maincpu.rq@62E50 = 000001FF66060828</action>
            <action>maincpu.rq@62E58 = 000600E34E75FFFF</action>
            <!--
            62E30 | 082C 0000 01FF : btst    #$0, ($1ff,A4) // direct attack / firearms
            62E36 | 6604           : bne     $62e3c
            62E38 | 4EB8 3A32      : jsr     $3a32.w
            62E3C | 4E75           : rts
            62E3E | 0828 0000 01FF : btst    #$0, ($1ff,A0) // catch / throw
            62E44 | 6606           : bne     $62e4c
            62E46 | 0828 0005 00E3 : btst    #$5, ($e3,A0)
            62E4C | 4E75           : rts
            62E4E | 0828 0000 01FF : btst    #$0, ($1ff,A0) // jiraishin (daimon)
            62E54 | 6606           : bne     $62e5c
            62E56 | 0828 0006 00E3 : btst    #$6, ($e3,A0)
            62E5C | 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@0323A = 4EBA07F64E716600</action>
            <action>maincpu.rq@03684 = 0828000500E36600</action>
            <action>maincpu.rq@1A918 = 0828000600E36600</action>
            <action>maincpu.rq@62E30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62E38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62E40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62E48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62E50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62E58 = FFFFFFFFFFFFFFFF</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@106A6 = 4EB900062E606700</action>
            <action>maincpu.rq@10A16 = 4EB900062E606700</action>
            <action>maincpu.rq@62E60 = 082C000101FF6704</action>
            <action>maincpu.rq@62E68 = 1D560001082E0004</action>
            <action>maincpu.rq@62E70 = 00014E75FFFFFFFF</action>
            <!--
            62E60 | 082C 0001 01FF : btst    #$1, ($1ff,A4)
            62E66 | 6704           : beq     $62e6c
            62E68 | 1D56 0001      : move.b  (A6), ($1,A6)
            62E6C | 082E 0004 0001 : btst    #$4, ($1,A6)
            62E72 | 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@106A6 = 082E000400016700</action>
            <action>maincpu.rq@10A16 = 082E000400016700</action>
            <action>maincpu.rq@62E60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62E68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62E70 = FFFFFFFFFFFFFFFF</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@04D50 = 4EB900062E804E71</action>
            <action>maincpu.rq@62E80 = 302C0070322C0072</action>
            <action>maincpu.rq@62E88 = 082C000201FF6704</action>
            <action>maincpu.rq@62E90 = 422C007A4E75FFFF</action>
            <!--
            62E80 | 302C 0070      : move.w  ($70,A4), D0
            62E84 | 322C 0072      : move.w  ($72,A4), D1
            62E88 | 082C 0002 01FF : btst    #$2, ($1ff,A4)
            62E8E | 6704           : beq     $62e94
            62E90 | 422C 007A      : clr.b   ($7a,A4)
            62E94 | 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@04D50 = 302C0070322C0072</action>
            <action>maincpu.rq@62E80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62E88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62E90 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="max 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@1AB76 = 4EB900062EA06600</action>
            <action>maincpu.rq@62EA0 = 082C000301FF6608</action>
            <action>maincpu.rq@62EA8 = 082D000580004E75</action>
            <action>maincpu.rq@62EB0 = 002C000100E4201F</action>
            <action>maincpu.rq@62EB8 = 70034E75FFFFFFFF</action>
            <!--
            62EA0 | 082C 0003 01FF : btst    #$3, ($1ff,A4)
            62EA6 | 6608           : bne     $62eb0
            62EA8 | 082D 0005 8000 : btst    #$5, (-$8000,A5)
            62EAE | 4E75           : rts
            62EB0 | 002C 0001 00E4 : ori.b   #$1, ($e4,A4)
            62EB6 | 201F           : move.l  (A7)+, D0
            62EB8 | 7003           : moveq   #$3, D0
            62EBA | 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@1AB76 = 082D000580006600</action>
            <action>maincpu.rq@62EA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EB8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x1B7C00FF">01 (slow)</item>
            <item value="0x1B7C0064">02       </item>
            <item value="0x1B7C0032">03       </item>
            <item value="0x1B7C0016">04       </item>
            <item value="0x1B7C0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.rd@200BC = param</action>
            <action>maincpu.rd@4FBFC = param</action>
        </script>
        <script state="off">
            <action>maincpu.rd@200BC = 1B6D2838</action>
            <action>maincpu.rd@4FBFC = 1B6D2838</action>
        </script>
    </cheat>

    <cheat desc="unlock secret characters">
        <script state="on">
            <action>maincpu.rw@1BE32 = 4E71</action>
            <action>maincpu.rw@1C0E4 = 4E71</action>
            <action>maincpu.rw@1E386 = 4E71</action>
            <action>maincpu.rw@1E65A = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.rw@1BE32 = 6706</action>
            <action>maincpu.rw@1C0E4 = 6706</action>
            <action>maincpu.rw@1E386 = 6708</action>
            <action>maincpu.rw@1E65A = 6708</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, 0x0A, 0x0B, 0x0C, 0x0D and 0x0E -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.rq@08DD8 = 4EF900062EC04E71</action>
            <action>maincpu.rq@62EC0 = 43ED000145ED5936</action>
            <action>maincpu.rq@62EC8 = 47F86AB800390080</action>
            <action>maincpu.rq@62ED0 = 0010FD8014011239</action>
            <action>maincpu.rq@62ED8 = 00300000B40167F4</action>
            <action>maincpu.rq@62EE0 = 0C0100FB66025315</action>
            <action>maincpu.rq@62EE8 = 0C0100F766025215</action>
            <action>maincpu.rq@62EF0 = 0C0100FD66040415</action>
            <action>maincpu.rq@62EF8 = 00100C0100FE6604</action>
            <action>maincpu.rq@62F00 = 061500100C0100BB</action>
            <action>maincpu.rq@62F08 = 660253110C0100B7</action>
            <action>maincpu.rq@62F10 = 660252110211000F</action>
            <action>maincpu.rq@62F18 = 0C0100EF66124243</action>
            <action>maincpu.rq@62F20 = 1611670400030010</action>
            <action>maincpu.rq@62F28 = E14B861534834E93</action>
            <action>maincpu.rq@62F30 = 0C0100DF660634BC</action>
            <action>maincpu.rq@62F38 = 03074E936096FFFF</action>
            <!--
            62EC0 | 43ED 0001           : lea     ($1,A5), A1     // bank address ($108001)
            62EC4 | 45ED 5936           : lea     ($5936,A5), A2  // sound latch address ($10D936)
            62EC8 | 47F8 6AB8           : lea     $6ab8.w, A3     // sound latch routine address
            62ECC | 0039 0080 0010 FD80 : ori.b   #$80, $10fd80.l // set flag for interrupt
            62ED4 | 1401                : move.b  D1, D2
            62ED6 | 1239 0030 0000      : move.b  $300000.l, D1   // read input
            62EDC | B401                : cmp.b   D1, D2
            62EDE | 67F4                : beq     $62ed4
            62EE0 | 0C01 00FB           : cmpi.b  #-$5, D1
            62EE4 | 6602                : bne     $62ee8
            62EE6 | 5315                : subq.b  #1, (A5)        // decrease code -01
            62EE8 | 0C01 00F7           : cmpi.b  #-$9, D1
            62EEC | 6602                : bne     $62ef0
            62EEE | 5215                : addq.b  #1, (A5)        // increase code +01
            62EF0 | 0C01 00FD           : cmpi.b  #-$3, D1
            62EF4 | 6604                : bne     $62efa
            62EF6 | 0415 0010           : subi.b  #$10, (A5)      // decrease code -10
            62EFA | 0C01 00FE           : cmpi.b  #-$2, D1
            62EFE | 6604                : bne     $62f04
            62F00 | 0615 0010           : addi.b  #$10, (A5)      // increase code +10
            62F04 | 0C01 00BB           : cmpi.b  #-$45, D1
            62F08 | 6602                : bne     $62f0c
            62F0A | 5311                : subq.b  #1, (A1)        // decrease bank -01
            62F0C | 0C01 00B7           : cmpi.b  #-$49, D1
            62F10 | 6602                : bne     $62f14
            62F12 | 5211                : addq.b  #1, (A1)        // increase bank +01
            62F14 | 0211 000F           : andi.b  #$f, (A1)       // mask bank
            62F18 | 0C01 00EF           : cmpi.b  #-$11, D1
            62F1C | 6612                : bne     $62f30
            62F1E | 4243                : clr.w   D3              // play sound
            62F20 | 1611                : move.b  (A1), D3
            62F22 | 6704                : beq     $62f28
            62F24 | 0003 0010           : ori.b   #$10, D3
            62F28 | E14B                : lsl.w   #8, D3
            62F2A | 8615                : or.b    (A5), D3
            62F2C | 3483                : move.w  D3, (A2)
            62F2E | 4E93                : jsr     (A3)
            62F30 | 0C01 00DF           : cmpi.b  #-$21, D1
            62F34 | 6606                : bne     $62f3c
            62F36 | 34BC 0307           : move.w  #$307, (A2)     // stop sound
            62F3A | 4E93                : jsr     (A3)
            62F3C | 6096                : bra     $62ed4
            -->
        </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@08DD8 = 003900800010FD80</action>
            <action>maincpu.rq@62EC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62ED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62ED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F38 = FFFFFFFFFFFFFFFF</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>
kof96a.xml. This set was added in 0.277.

Code: Select all

<!-- The King of Fighters '96 (bug fix revision) -->
<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@0323A = 4EB900062E806600</action> <!-- direct attack / firearms -->
            <action>maincpu.rq@03684 = 4EB900062E8E6600</action> <!-- catch / throw -->
            <action>maincpu.rq@1A918 = 4EB900062E9E6600</action> <!-- jiraishin (daimon) -->
            <action>maincpu.rq@62E80 = 082C000001FF6604</action>
            <action>maincpu.rq@62E88 = 4EB83A324E750828</action>
            <action>maincpu.rq@62E90 = 000001FF66060828</action>
            <action>maincpu.rq@62E98 = 000500E34E750828</action>
            <action>maincpu.rq@62EA0 = 000001FF66060828</action>
            <action>maincpu.rq@62EA8 = 000600E34E75FFFF</action>
            <!--
            62E80 | 082C 0000 01FF : btst    #$0, ($1ff,A4) // direct attack / firearms
            62E86 | 6604           : bne     $62e8c
            62E88 | 4EB8 3A32      : jsr     $3a32.w
            62E8C | 4E75           : rts
            62E8E | 0828 0000 01FF : btst    #$0, ($1ff,A0) // catch / throw
            62E94 | 6606           : bne     $62e9c
            62E96 | 0828 0005 00E3 : btst    #$5, ($e3,A0)
            62E9C | 4E75           : rts
            62E9E | 0828 0000 01FF : btst    #$0, ($1ff,A0) // jiraishin (daimon)
            62EA4 | 6606           : bne     $62eac
            62EA6 | 0828 0006 00E3 : btst    #$6, ($e3,A0)
            62EAC | 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@0323A = 4EBA07F64E716600</action>
            <action>maincpu.rq@03684 = 0828000500E36600</action>
            <action>maincpu.rq@1A918 = 0828000600E36600</action>
            <action>maincpu.rq@62E80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62E88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62E90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62E98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EA8 = FFFFFFFFFFFFFFFF</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@106A6 = 4EB900062EB06700</action>
            <action>maincpu.rq@10A16 = 4EB900062EB06700</action>
            <action>maincpu.rq@62EB0 = 082C000101FF6704</action>
            <action>maincpu.rq@62EB8 = 1D560001082E0004</action>
            <action>maincpu.rq@62EC0 = 00014E75FFFFFFFF</action>
            <!--
            62EB0 | 082C 0001 01FF : btst    #$1, ($1ff,A4)
            62EB6 | 6704           : beq     $62ebc
            62EB8 | 1D56 0001      : move.b  (A6), ($1,A6)
            62EBC | 082E 0004 0001 : btst    #$4, ($1,A6)
            62EC2 | 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@106A6 = 082E000400016700</action>
            <action>maincpu.rq@10A16 = 082E000400016700</action>
            <action>maincpu.rq@62EB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EC0 = FFFFFFFFFFFFFFFF</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@04D50 = 4EB900062ED04E71</action>
            <action>maincpu.rq@62ED0 = 302C0070322C0072</action>
            <action>maincpu.rq@62ED8 = 082C000201FF6704</action>
            <action>maincpu.rq@62EE0 = 422C007A4E75FFFF</action>
            <!--
            62ED0 | 302C 0070      : move.w  ($70,A4), D0
            62ED4 | 322C 0072      : move.w  ($72,A4), D1
            62ED8 | 082C 0002 01FF : btst    #$2, ($1ff,A4)
            62EDE | 6704           : beq     $62ee4
            62EE0 | 422C 007A      : clr.b   ($7a,A4)
            62EE4 | 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@04D50 = 302C0070322C0072</action>
            <action>maincpu.rq@62ED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62ED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EE0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="max 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@1AB76 = 4EB900062EF06600</action>
            <action>maincpu.rq@62EF0 = 082C000301FF6608</action>
            <action>maincpu.rq@62EF8 = 082D000580004E75</action>
            <action>maincpu.rq@62F00 = 002C000100E4201F</action>
            <action>maincpu.rq@62F08 = 70034E75FFFFFFFF</action>
            <!--
            62EF0 | 082C 0003 01FF : btst    #$3, ($1ff,A4)
            62EF6 | 6608           : bne     $62f00
            62EF8 | 082D 0005 8000 : btst    #$5, (-$8000,A5)
            62EFE | 4E75           : rts
            62F00 | 002C 0001 00E4 : ori.b   #$1, ($e4,A4)
            62F06 | 201F           : move.l  (A7)+, D0
            62F08 | 7003           : moveq   #$3, D0
            62F0A | 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@1AB76 = 082D000580006600</action>
            <action>maincpu.rq@62EF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F08 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x1B7C00FF">01 (slow)</item>
            <item value="0x1B7C0064">02       </item>
            <item value="0x1B7C0032">03       </item>
            <item value="0x1B7C0016">04       </item>
            <item value="0x1B7C0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.rd@200BC = param</action>
            <action>maincpu.rd@4FC48 = param</action>
        </script>
        <script state="off">
            <action>maincpu.rd@200BC = 1B6D2838</action>
            <action>maincpu.rd@4FC48 = 1B6D2838</action>
        </script>
    </cheat>

    <cheat desc="unlock secret characters">
        <script state="on">
            <action>maincpu.rw@1BE32 = 4E71</action>
            <action>maincpu.rw@1C0E4 = 4E71</action>
            <action>maincpu.rw@1E386 = 4E71</action>
            <action>maincpu.rw@1E65A = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.rw@1BE32 = 6706</action>
            <action>maincpu.rw@1C0E4 = 6706</action>
            <action>maincpu.rw@1E386 = 6708</action>
            <action>maincpu.rw@1E65A = 6708</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, 0x0A, 0x0B, 0x0C, 0x0D and 0x0E -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.rq@08DD8 = 4EF900062F104E71</action>
            <action>maincpu.rq@62F10 = 43ED000145ED5936</action>
            <action>maincpu.rq@62F18 = 47F86AB800390080</action>
            <action>maincpu.rq@62F20 = 0010FD8014011239</action>
            <action>maincpu.rq@62F28 = 00300000B40167F4</action>
            <action>maincpu.rq@62F30 = 0C0100FB66025315</action>
            <action>maincpu.rq@62F38 = 0C0100F766025215</action>
            <action>maincpu.rq@62F40 = 0C0100FD66040415</action>
            <action>maincpu.rq@62F48 = 00100C0100FE6604</action>
            <action>maincpu.rq@62F50 = 061500100C0100BB</action>
            <action>maincpu.rq@62F58 = 660253110C0100B7</action>
            <action>maincpu.rq@62F60 = 660252110211000F</action>
            <action>maincpu.rq@62F68 = 0C0100EF66124243</action>
            <action>maincpu.rq@62F70 = 1611670400030010</action>
            <action>maincpu.rq@62F78 = E14B861534834E93</action>
            <action>maincpu.rq@62F80 = 0C0100DF660634BC</action>
            <action>maincpu.rq@62F88 = 03074E936096FFFF</action>
            <!--
            62F10 | 43ED 0001           : lea     ($1,A5), A1     // bank address ($108001)
            62F14 | 45ED 5936           : lea     ($5936,A5), A2  // sound latch address ($10D936)
            62F18 | 47F8 6AB8           : lea     $6ab8.w, A3     // sound latch routine address
            62F1C | 0039 0080 0010 FD80 : ori.b   #$80, $10fd80.l // set flag for interrupt
            62F24 | 1401                : move.b  D1, D2
            62F26 | 1239 0030 0000      : move.b  $300000.l, D1   // read input
            62F2C | B401                : cmp.b   D1, D2
            62F2E | 67F4                : beq     $62f24
            62F30 | 0C01 00FB           : cmpi.b  #-$5, D1
            62F34 | 6602                : bne     $62f38
            62F36 | 5315                : subq.b  #1, (A5)        // decrease code -01
            62F38 | 0C01 00F7           : cmpi.b  #-$9, D1
            62F3C | 6602                : bne     $62f40
            62F3E | 5215                : addq.b  #1, (A5)        // increase code +01
            62F40 | 0C01 00FD           : cmpi.b  #-$3, D1
            62F44 | 6604                : bne     $62f4a
            62F46 | 0415 0010           : subi.b  #$10, (A5)      // decrease code -10
            62F4A | 0C01 00FE           : cmpi.b  #-$2, D1
            62F4E | 6604                : bne     $62f54
            62F50 | 0615 0010           : addi.b  #$10, (A5)      // increase code +10
            62F54 | 0C01 00BB           : cmpi.b  #-$45, D1
            62F58 | 6602                : bne     $62f5c
            62F5A | 5311                : subq.b  #1, (A1)        // decrease bank -01
            62F5C | 0C01 00B7           : cmpi.b  #-$49, D1
            62F60 | 6602                : bne     $62f64
            62F62 | 5211                : addq.b  #1, (A1)        // increase bank +01
            62F64 | 0211 000F           : andi.b  #$f, (A1)       // mask bank
            62F68 | 0C01 00EF           : cmpi.b  #-$11, D1
            62F6C | 6612                : bne     $62f80
            62F6E | 4243                : clr.w   D3              // play sound
            62F70 | 1611                : move.b  (A1), D3
            62F72 | 6704                : beq     $62f78
            62F74 | 0003 0010           : ori.b   #$10, D3
            62F78 | E14B                : lsl.w   #8, D3
            62F7A | 8615                : or.b    (A5), D3
            62F7C | 3483                : move.w  D3, (A2)
            62F7E | 4E93                : jsr     (A3)
            62F80 | 0C01 00DF           : cmpi.b  #-$21, D1
            62F84 | 6606                : bne     $62f8c
            62F86 | 34BC 0307           : move.w  #$307, (A2)     // stop sound
            62F8A | 4E93                : jsr     (A3)
            62F8C | 6096                : bra     $62f24
            -->
        </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@08DD8 = 003900800010FD80</action>
            <action>maincpu.rq@62F10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F88 = FFFFFFFFFFFFFFFF</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>
kof96h.xml

Code: Select all

<!-- The King of Fighters '96 (NGH-214) -->
<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@0323A = 4EB900062E806600</action> <!-- direct attack / firearms -->
            <action>maincpu.rq@03684 = 4EB900062E8E6600</action> <!-- catch / throw -->
            <action>maincpu.rq@1A918 = 4EB900062E9E6600</action> <!-- jiraishin (daimon) -->
            <action>maincpu.rq@62E80 = 082C000001FF6604</action>
            <action>maincpu.rq@62E88 = 4EB83A324E750828</action>
            <action>maincpu.rq@62E90 = 000001FF66060828</action>
            <action>maincpu.rq@62E98 = 000500E34E750828</action>
            <action>maincpu.rq@62EA0 = 000001FF66060828</action>
            <action>maincpu.rq@62EA8 = 000600E34E75FFFF</action>
            <!--
            62E80 | 082C 0000 01FF : btst    #$0, ($1ff,A4) // direct attack / firearms
            62E86 | 6604           : bne     $62e8c
            62E88 | 4EB8 3A32      : jsr     $3a32.w
            62E8C | 4E75           : rts
            62E8E | 0828 0000 01FF : btst    #$0, ($1ff,A0) // catch / throw
            62E94 | 6606           : bne     $62e9c
            62E96 | 0828 0005 00E3 : btst    #$5, ($e3,A0)
            62E9C | 4E75           : rts
            62E9E | 0828 0000 01FF : btst    #$0, ($1ff,A0) // jiraishin (daimon)
            62EA4 | 6606           : bne     $62eac
            62EA6 | 0828 0006 00E3 : btst    #$6, ($e3,A0)
            62EAC | 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@0323A = 4EBA07F64E716600</action>
            <action>maincpu.rq@03684 = 0828000500E36600</action>
            <action>maincpu.rq@1A918 = 0828000600E36600</action>
            <action>maincpu.rq@62E80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62E88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62E90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62E98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EA8 = FFFFFFFFFFFFFFFF</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@106A6 = 4EB900062EB06700</action>
            <action>maincpu.rq@10A16 = 4EB900062EB06700</action>
            <action>maincpu.rq@62EB0 = 082C000101FF6704</action>
            <action>maincpu.rq@62EB8 = 1D560001082E0004</action>
            <action>maincpu.rq@62EC0 = 00014E75FFFFFFFF</action>
            <!--
            62EB0 | 082C 0001 01FF : btst    #$1, ($1ff,A4)
            62EB6 | 6704           : beq     $62ebc
            62EB8 | 1D56 0001      : move.b  (A6), ($1,A6)
            62EBC | 082E 0004 0001 : btst    #$4, ($1,A6)
            62EC2 | 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@106A6 = 082E000400016700</action>
            <action>maincpu.rq@10A16 = 082E000400016700</action>
            <action>maincpu.rq@62EB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EC0 = FFFFFFFFFFFFFFFF</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@04D50 = 4EB900062ED04E71</action>
            <action>maincpu.rq@62ED0 = 302C0070322C0072</action>
            <action>maincpu.rq@62ED8 = 082C000201FF6704</action>
            <action>maincpu.rq@62EE0 = 422C007A4E75FFFF</action>
            <!--
            62ED0 | 302C 0070      : move.w  ($70,A4), D0
            62ED4 | 322C 0072      : move.w  ($72,A4), D1
            62ED8 | 082C 0002 01FF : btst    #$2, ($1ff,A4)
            62EDE | 6704           : beq     $62ee4
            62EE0 | 422C 007A      : clr.b   ($7a,A4)
            62EE4 | 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@04D50 = 302C0070322C0072</action>
            <action>maincpu.rq@62ED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62ED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EE0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="max 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@1AB76 = 4EB900062EF06600</action>
            <action>maincpu.rq@62EF0 = 082C000301FF6608</action>
            <action>maincpu.rq@62EF8 = 082D000580004E75</action>
            <action>maincpu.rq@62F00 = 002C000100E4201F</action>
            <action>maincpu.rq@62F08 = 70034E75FFFFFFFF</action>
            <!--
            62EF0 | 082C 0003 01FF : btst    #$3, ($1ff,A4)
            62EF6 | 6608           : bne     $62f00
            62EF8 | 082D 0005 8000 : btst    #$5, (-$8000,A5)
            62EFE | 4E75           : rts
            62F00 | 002C 0001 00E4 : ori.b   #$1, ($e4,A4)
            62F06 | 201F           : move.l  (A7)+, D0
            62F08 | 7003           : moveq   #$3, D0
            62F0A | 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@1AB76 = 082D000580006600</action>
            <action>maincpu.rq@62EF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62EF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F08 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x1B7C00FF">01 (slow)</item>
            <item value="0x1B7C0064">02       </item>
            <item value="0x1B7C0032">03       </item>
            <item value="0x1B7C0016">04       </item>
            <item value="0x1B7C0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.rd@200BC = param</action>
            <action>maincpu.rd@4FC48 = param</action>
        </script>
        <script state="off">
            <action>maincpu.rd@200BC = 1B6D2838</action>
            <action>maincpu.rd@4FC48 = 1B6D2838</action>
        </script>
    </cheat>

    <cheat desc="unlock secret characters">
        <script state="on">
            <action>maincpu.rw@1BE32 = 4E71</action>
            <action>maincpu.rw@1C0E4 = 4E71</action>
            <action>maincpu.rw@1E386 = 4E71</action>
            <action>maincpu.rw@1E65A = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.rw@1BE32 = 6706</action>
            <action>maincpu.rw@1C0E4 = 6706</action>
            <action>maincpu.rw@1E386 = 6708</action>
            <action>maincpu.rw@1E65A = 6708</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, 0x0A, 0x0B, 0x0C, 0x0D and 0x0E -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.rq@08DD8 = 4EF900062F104E71</action>
            <action>maincpu.rq@62F10 = 43ED000145ED5936</action>
            <action>maincpu.rq@62F18 = 47F86AB800390080</action>
            <action>maincpu.rq@62F20 = 0010FD8014011239</action>
            <action>maincpu.rq@62F28 = 00300000B40167F4</action>
            <action>maincpu.rq@62F30 = 0C0100FB66025315</action>
            <action>maincpu.rq@62F38 = 0C0100F766025215</action>
            <action>maincpu.rq@62F40 = 0C0100FD66040415</action>
            <action>maincpu.rq@62F48 = 00100C0100FE6604</action>
            <action>maincpu.rq@62F50 = 061500100C0100BB</action>
            <action>maincpu.rq@62F58 = 660253110C0100B7</action>
            <action>maincpu.rq@62F60 = 660252110211000F</action>
            <action>maincpu.rq@62F68 = 0C0100EF66124243</action>
            <action>maincpu.rq@62F70 = 1611670400030010</action>
            <action>maincpu.rq@62F78 = E14B861534834E93</action>
            <action>maincpu.rq@62F80 = 0C0100DF660634BC</action>
            <action>maincpu.rq@62F88 = 03074E936096FFFF</action>
            <!--
            62F10 | 43ED 0001           : lea     ($1,A5), A1     // bank address ($108001)
            62F14 | 45ED 5936           : lea     ($5936,A5), A2  // sound latch address ($10D936)
            62F18 | 47F8 6AB8           : lea     $6ab8.w, A3     // sound latch routine address
            62F1C | 0039 0080 0010 FD80 : ori.b   #$80, $10fd80.l // set flag for interrupt
            62F24 | 1401                : move.b  D1, D2
            62F26 | 1239 0030 0000      : move.b  $300000.l, D1   // read input
            62F2C | B401                : cmp.b   D1, D2
            62F2E | 67F4                : beq     $62f24
            62F30 | 0C01 00FB           : cmpi.b  #-$5, D1
            62F34 | 6602                : bne     $62f38
            62F36 | 5315                : subq.b  #1, (A5)        // decrease code -01
            62F38 | 0C01 00F7           : cmpi.b  #-$9, D1
            62F3C | 6602                : bne     $62f40
            62F3E | 5215                : addq.b  #1, (A5)        // increase code +01
            62F40 | 0C01 00FD           : cmpi.b  #-$3, D1
            62F44 | 6604                : bne     $62f4a
            62F46 | 0415 0010           : subi.b  #$10, (A5)      // decrease code -10
            62F4A | 0C01 00FE           : cmpi.b  #-$2, D1
            62F4E | 6604                : bne     $62f54
            62F50 | 0615 0010           : addi.b  #$10, (A5)      // increase code +10
            62F54 | 0C01 00BB           : cmpi.b  #-$45, D1
            62F58 | 6602                : bne     $62f5c
            62F5A | 5311                : subq.b  #1, (A1)        // decrease bank -01
            62F5C | 0C01 00B7           : cmpi.b  #-$49, D1
            62F60 | 6602                : bne     $62f64
            62F62 | 5211                : addq.b  #1, (A1)        // increase bank +01
            62F64 | 0211 000F           : andi.b  #$f, (A1)       // mask bank
            62F68 | 0C01 00EF           : cmpi.b  #-$11, D1
            62F6C | 6612                : bne     $62f80
            62F6E | 4243                : clr.w   D3              // play sound
            62F70 | 1611                : move.b  (A1), D3
            62F72 | 6704                : beq     $62f78
            62F74 | 0003 0010           : ori.b   #$10, D3
            62F78 | E14B                : lsl.w   #8, D3
            62F7A | 8615                : or.b    (A5), D3
            62F7C | 3483                : move.w  D3, (A2)
            62F7E | 4E93                : jsr     (A3)
            62F80 | 0C01 00DF           : cmpi.b  #-$21, D1
            62F84 | 6606                : bne     $62f8c
            62F86 | 34BC 0307           : move.w  #$307, (A2)     // stop sound
            62F8A | 4E93                : jsr     (A3)
            62F8C | 6096                : bra     $62f24
            -->
        </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@08DD8 = 003900800010FD80</action>
            <action>maincpu.rq@62F10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@62F88 = FFFFFFFFFFFFFFFF</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", "max special move" : Major rewritten routine.
  • "timer speed" : Added code for round start.
  • "unlock secret characters" : Added new. You need to set this code before the character selection screen.
  • "sound test mode" : Added new. Don't play code 0x01, 0x03 and 0x10 because of no sound response. Valid bank seems to be 0x00, 0x0A, 0x0B, 0x0C, 0x0D and 0x0E.
jman

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