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 &= ~01</action>
<action condition="(param band 02) == 00">maincpu.pb@1084FF &= ~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 &= ~02</action>
<action condition="(param band 02) == 00">maincpu.pb@1084FF &= ~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 &= ~04</action>
<action condition="(param band 02) == 00">maincpu.pb@1084FF &= ~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 &= ~08</action>
<action condition="(param band 02) == 00">maincpu.pb@1084FF &= ~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="<< bank %X >>" line="21" align="center" >
<argument>maincpu.pb@108001</argument>
</output>
<output format="<< sound code %02X >>" 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 &= ~01</action>
<action condition="(param band 02) == 00">maincpu.pb@1084FF &= ~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 &= ~02</action>
<action condition="(param band 02) == 00">maincpu.pb@1084FF &= ~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 &= ~04</action>
<action condition="(param band 02) == 00">maincpu.pb@1084FF &= ~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 &= ~08</action>
<action condition="(param band 02) == 00">maincpu.pb@1084FF &= ~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="<< bank %X >>" line="21" align="center" >
<argument>maincpu.pb@108001</argument>
</output>
<output format="<< sound code %02X >>" 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 &= ~01</action>
<action condition="(param band 02) == 00">maincpu.pb@1084FF &= ~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 &= ~02</action>
<action condition="(param band 02) == 00">maincpu.pb@1084FF &= ~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 &= ~04</action>
<action condition="(param band 02) == 00">maincpu.pb@1084FF &= ~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 &= ~08</action>
<action condition="(param band 02) == 00">maincpu.pb@1084FF &= ~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="<< bank %X >>" line="21" align="center" >
<argument>maincpu.pb@108001</argument>
</output>
<output format="<< sound code %02X >>" 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.