Page 1 of 1

[karatblzj] Karate Blazers/Toushin Blazers

Posted: Thu Dec 17, 2020 5:26 pm
by jman

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@4df4 = 60</action>
        <action>maincpu.mb@4f1c = 60</action>
    </script>
    <script state="off">
        <action>maincpu.mb@4df4 = 6c</action>
        <action>maincpu.mb@4f1c = 6c</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@8a55 = 58</action>
        <action>maincpu.mb@8979 = 58</action>
    </script>
    <script state="off">
        <action>maincpu.mb@8a55 = 59</action>
        <action>maincpu.mb@8979 = 59</action>
    </script>
</cheat>

<cheat desc="attack speed up">
    <script state="on">
        <action>maincpu.mq@04348 = 4eb900028ba03540</action>
        <action>maincpu.mq@28ba0 = 0c6a000100366608</action>
        <action>maincpu.mq@28ba8 = 70001030b8004e75</action>
        <action>maincpu.mq@28bb0 = 70014e7500000000</action>
        <!--
        28ba0 : 0c6a 0001 0036 : cmpi   #$1,($36,A2)
        28ba6 : 6608           : beq    $28bb0
        28ba8 : 7000           : moveq  #$0,D0
        28baa : 1030 b800      : move.b (A0,A3.l),D0
        28bae : 4e75           : rts
        28bb0 : 7001           : moveq  #$1,D0
        28bb2 : 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@04348 = 70001030b8003540</action>
        <action>maincpu.mq@28ba0 = 0000000000000000</action>
        <action>maincpu.mq@28ba8 = 0000000000000000</action>
        <action>maincpu.mq@28bb0 = 0000000000000000</action>
    </script>
</cheat>

[karatblzj] update

Posted: Sun May 15, 2022 1:25 pm
by jman
Added "timer speed", "unlock special test mode" and "sound test mode".

Code: Select all

<cheat desc="timer speed">
    <parameter>
        <item value="0x7fff">01 (slow)</item>
        <item value="0x0800">02       </item>
        <item value="0x0200">03       </item>
        <item value="0x0080">04       </item>
        <item value="0x0001">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.mw@283e = 0c40</action> <!-- cmpi.w #$xx,D0 -->
    </script>
    <script state="change">
        <action>maincpu.mw@2840 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@283e = b06a002c</action>
    </script>
</cheat>

<cheat desc="unlock special test mode">
    <comment>reset the game (F3) to enter special test mode</comment>
    <script state="on">
        <action>maincpu.mb@17dcf = 26</action>
    </script>
    <script state="off">
        <action>maincpu.mb@17dcf = 44</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.md@17e1e =         00028bc0</action>
        <action>maincpu.mq@28bc0 = 41f9000c000043f9</action>
        <action>maincpu.mq@28bc8 = 000ff00712001029</action>
        <action>maincpu.mq@28bd0 = fffab20067f60c00</action>
        <action>maincpu.mq@28bd8 = 00fb660253100c00</action>
        <action>maincpu.mq@28be0 = 00f7660252100c00</action>
        <action>maincpu.mq@28be8 = 00fd660404100010</action>
        <action>maincpu.mq@28bf0 = 0c0000fe66040610</action>
        <action>maincpu.mq@28bf8 = 00100c0000ef6602</action>
        <action>maincpu.mq@28c00 = 12900c0000df6604</action>
        <action>maincpu.mq@28c08 = 12bc000160be0000</action>
        <!--
        28bc0 | 41f9 000c 0000 : lea    $c0000.l,A0 // sound code address
        28bc6 | 43f9 000f f007 : lea    $ff007.l,A1 // sound latch address
        28bcc | 1200           : move.b D0,D1
        28bce | 1029 fffa      : move.b (-$6,A1),D0 // read input
        28bd2 | b200           : cmp.b  D0,D1
        28bd4 | 67f6           : beq    $28bcc
        28bd6 | 0c00 00fb      : cmpi.b #-$5,D0
        28bda | 6602           : bne    $28bde
        28bdc | 5310           : subq.b #1,(A0)     // decrease code -01
        28bde | 0c00 00f7      : cmpi.b #-$9,D0
        28be2 | 6602           : bne    $28be6
        28be4 | 5210           : addq.b #1,(A0)     // increase code +01
        28be6 | 0c00 00fd      : cmpi.b #-$3,D0
        28bea | 6604           : bne    $28bf0
        28bec | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
        28bf0 | 0c00 00fe      : cmpi.b #-$2,D0
        28bf4 | 6604           : bne    $28bfa
        28bf6 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
        28bfa | 0c00 00ef      : cmpi.b #-$11,D0
        28bfe | 6602           : bne    $28c02
        28c00 | 1290           : move.b (A0),(A1)   // play sound
        28c02 | 0c00 00df      : cmpi.b #-$21,D0
        28c06 | 6604           : bne    $28c0c
        28c08 | 12bc 0001      : move.b #$1,(A1)    // stop sound
        28c0c | 60be           : bra    $28bcc
        -->
    </script>
    <script state="run">
        <output format="----- toushin blazers sound test mode -----" line="10" align="center" />
        <output format="left : decrease code -01"                    line="11" align="center" />
        <output format="right : increase code +01"                   line="12" align="center" />
        <output format="up : increase code +10"                      line="13" align="center" />
        <output format="down : decrease code -10"                    line="14" align="center" />
        <output format="button 1 : play sound"                       line="15" align="center" />
        <output format="button 2 : stop sound"                       line="16" align="center" />
        <output format="----------------------------"                line="17" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"          line="19" align="center">
            <argument>maincpu.pb@c0000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@17e1e =         00007bb6</action>
        <action>maincpu.mq@28bc0 = 0000000000000000</action>
        <action>maincpu.mq@28bc8 = 0000000000000000</action>
        <action>maincpu.mq@28bd0 = 0000000000000000</action>
        <action>maincpu.mq@28bd8 = 0000000000000000</action>
        <action>maincpu.mq@28be0 = 0000000000000000</action>
        <action>maincpu.mq@28be8 = 0000000000000000</action>
        <action>maincpu.mq@28bf0 = 0000000000000000</action>
        <action>maincpu.mq@28bf8 = 0000000000000000</action>
        <action>maincpu.mq@28c00 = 0000000000000000</action>
        <action>maincpu.mq@28c08 = 0000000000000000</action>
    </script>
</cheat>
"sound test mode" is preferred when you set "unlock special test mode" and "sound test mode" at the same time.

[karatblz]+ Karate Blazers/Toushin Blazers

Posted: Fri Dec 15, 2023 12:46 pm
by jman
karatblz.xml

Code: Select all

<!-- Karate Blazers (World, set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4DF4 = 60</action>
            <action>maincpu.mb@4F1C = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4DF4 = 6C</action>
            <action>maincpu.mb@4F1C = 6C</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@8979 = 58</action>
            <action>maincpu.mb@8A55 = 58</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8979 = 59</action>
            <action>maincpu.mb@8A55 = 59</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@04348 = 4EB900028BA03540</action>
            <action>maincpu.mq@28BA0 = 0C6A000100366608</action>
            <action>maincpu.mq@28BA8 = 70001030B8004E75</action>
            <action>maincpu.mq@28BB0 = 70014E7500000000</action>
            <!--
            28BA0 | 0C6A 0001 0036 : cmpi.w  #$1, ($36,A2)
            28BA6 | 6608           : bne     $28bb0
            28BA8 | 7000           : moveq   #$0, D0
            28BAA | 1030 B800      : move.b  (A0,A3.l), D0
            28BAE | 4E75           : rts
            28BB0 | 7001           : moveq   #$1, D0
            28BB2 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@04348 = 70001030B8003540</action>
            <action>maincpu.mq@28BA0 = 0000000000000000</action>
            <action>maincpu.mq@28BA8 = 0000000000000000</action>
            <action>maincpu.mq@28BB0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7fff">01 (slow)</item>
            <item value="0x0800">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@283E = 0C40</action> <!-- cmpi.w #$xx,D0 -->
        </script>
        <script state="change">
            <action>maincpu.mw@2840 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@283E = B06A002C</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@17DCF = 26</action>
        </script>
        <script state="off">
            <action>maincpu.mb@17DCF = 44</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@17E1E = 00028BC0        </action>
            <action>maincpu.mq@28BC0 = 41F9000C000043F9</action>
            <action>maincpu.mq@28BC8 = 000FF00712001029</action>
            <action>maincpu.mq@28BD0 = FFFAB20067F60C00</action>
            <action>maincpu.mq@28BD8 = 00FB660253100C00</action>
            <action>maincpu.mq@28BE0 = 00F7660252100C00</action>
            <action>maincpu.mq@28BE8 = 00FD660404100010</action>
            <action>maincpu.mq@28BF0 = 0C0000FE66040610</action>
            <action>maincpu.mq@28BF8 = 00100C0000EF6602</action>
            <action>maincpu.mq@28C00 = 12900C0000DF6604</action>
            <action>maincpu.mq@28C08 = 12BC000160BE0000</action>
            <!--
            28BC0 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            28BC6 | 43F9 000F F007 : lea     $ff007.l, A1 // sound latch address
            28BCC | 1200           : move.b  D0, D1
            28BCE | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($ff001)
            28BD2 | B200           : cmp.b   D0, D1
            28BD4 | 67F6           : beq     $28bcc
            28BD6 | 0C00 00FB      : cmpi.b  #-$5, D0
            28BDA | 6602           : bne     $28bde
            28BDC | 5310           : subq.b  #1, (A0)     // decrease code -01
            28BDE | 0C00 00F7      : cmpi.b  #-$9, D0
            28BE2 | 6602           : bne     $28be6
            28BE4 | 5210           : addq.b  #1, (A0)     // increase code +01
            28BE6 | 0C00 00FD      : cmpi.b  #-$3, D0
            28BEA | 6604           : bne     $28bf0
            28BEC | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            28BF0 | 0C00 00FE      : cmpi.b  #-$2, D0
            28BF4 | 6604           : bne     $28bfa
            28BF6 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            28BFA | 0C00 00EF      : cmpi.b  #-$11, D0
            28BFE | 6602           : bne     $28c02
            28C00 | 1290           : move.b  (A0), (A1)   // play sound
            28C02 | 0C00 00DF      : cmpi.b  #-$21, D0
            28C06 | 6604           : bne     $28c0c
            28C08 | 12BC 0001      : move.b  #$1, (A1)    // stop sound
            28C0C | 60BE           : bra     $28bcc
            -->
        </script>
        <script state="run">
            <output format="----- karate blazers 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 1 : play sound"                      line="15" align="center" />
            <output format="button 2 : stop sound"                      line="16" align="center" />
            <output format="----------------------------"               line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"          line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@17E1E = 00007BB6        </action>
            <action>maincpu.mq@28BC0 = 0000000000000000</action>
            <action>maincpu.mq@28BC8 = 0000000000000000</action>
            <action>maincpu.mq@28BD0 = 0000000000000000</action>
            <action>maincpu.mq@28BD8 = 0000000000000000</action>
            <action>maincpu.mq@28BE0 = 0000000000000000</action>
            <action>maincpu.mq@28BE8 = 0000000000000000</action>
            <action>maincpu.mq@28BF0 = 0000000000000000</action>
            <action>maincpu.mq@28BF8 = 0000000000000000</action>
            <action>maincpu.mq@28C00 = 0000000000000000</action>
            <action>maincpu.mq@28C08 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
karatblza.xml

Code: Select all

<!-- Karate Blazers (World, set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@5E70 = 60</action>
            <action>maincpu.mb@5EDC = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@5E70 = 6C</action>
            <action>maincpu.mb@5EDC = 6C</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@56D1 = 58</action>
            <action>maincpu.mb@57A7 = 58</action>
        </script>
        <script state="off">
            <action>maincpu.mb@56D1 = 59</action>
            <action>maincpu.mb@57A7 = 59</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@04448 = 4EB900028B303540</action>
            <action>maincpu.mq@28B30 = 0C6A000100366608</action>
            <action>maincpu.mq@28B38 = 7000103018004E75</action>
            <action>maincpu.mq@28B40 = 70014E7500000000</action>
            <!--
            28B30 | 0C6A 0001 0036 : cmpi.w  #$1, ($36,A2)
            28B36 | 6608           : bne     $28b40
            28B38 | 7000           : moveq   #$0, D0
            28B3A | 1030 1800      : move.b  (A0,D1.l), D0
            28B3E | 4E75           : rts
            28B40 | 7001           : moveq   #$1, D0
            28B42 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@04448 = 7000103018003540</action>
            <action>maincpu.mq@28B30 = 0000000000000000</action>
            <action>maincpu.mq@28B38 = 0000000000000000</action>
            <action>maincpu.mq@28B40 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7fff">01 (slow)</item>
            <item value="0x0800">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@2754 = 0C40</action> <!-- cmpi.w #$xx,D0 -->
        </script>
        <script state="change">
            <action>maincpu.mw@2756 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@2754 = B06A002C</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@15925 = 7C</action>
        </script>
        <script state="off">
            <action>maincpu.mb@15925 = 9A</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@15974 = 00028B50        </action>
            <action>maincpu.mq@28B50 = 41F9000C000043F9</action>
            <action>maincpu.mq@28B58 = 000FF00712001029</action>
            <action>maincpu.mq@28B60 = FFFAB20067F60C00</action>
            <action>maincpu.mq@28B68 = 00FB660253100C00</action>
            <action>maincpu.mq@28B70 = 00F7660252100C00</action>
            <action>maincpu.mq@28B78 = 00FD660404100010</action>
            <action>maincpu.mq@28B80 = 0C0000FE66040610</action>
            <action>maincpu.mq@28B88 = 00100C0000EF6602</action>
            <action>maincpu.mq@28B90 = 12900C0000DF6604</action>
            <action>maincpu.mq@28B98 = 12BC000160BE0000</action>
            <!--
            28B50 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            28B56 | 43F9 000F F007 : lea     $ff007.l, A1 // sound latch address
            28B5C | 1200           : move.b  D0, D1
            28B5E | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($ff001)
            28B62 | B200           : cmp.b   D0, D1
            28B64 | 67F6           : beq     $28b5c
            28B66 | 0C00 00FB      : cmpi.b  #-$5, D0
            28B6A | 6602           : bne     $28b6e
            28B6C | 5310           : subq.b  #1, (A0)     // decrease code -01
            28B6E | 0C00 00F7      : cmpi.b  #-$9, D0
            28B72 | 6602           : bne     $28b76
            28B74 | 5210           : addq.b  #1, (A0)     // increase code +01
            28B76 | 0C00 00FD      : cmpi.b  #-$3, D0
            28B7A | 6604           : bne     $28b80
            28B7C | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            28B80 | 0C00 00FE      : cmpi.b  #-$2, D0
            28B84 | 6604           : bne     $28b8a
            28B86 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            28B8A | 0C00 00EF      : cmpi.b  #-$11, D0
            28B8E | 6602           : bne     $28b92
            28B90 | 1290           : move.b  (A0), (A1)   // play sound
            28B92 | 0C00 00DF      : cmpi.b  #-$21, D0
            28B96 | 6604           : bne     $28b9c
            28B98 | 12BC 0001      : move.b  #$1, (A1)    // stop sound
            28B9C | 60BE           : bra     $28b5c
            -->
        </script>
        <script state="run">
            <output format="----- karate blazers 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 1 : play sound"                      line="15" align="center" />
            <output format="button 2 : stop sound"                      line="16" align="center" />
            <output format="----------------------------"               line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"          line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@15974 = 0000422A        </action>
            <action>maincpu.mq@28B50 = 0000000000000000</action>
            <action>maincpu.mq@28B58 = 0000000000000000</action>
            <action>maincpu.mq@28B60 = 0000000000000000</action>
            <action>maincpu.mq@28B68 = 0000000000000000</action>
            <action>maincpu.mq@28B70 = 0000000000000000</action>
            <action>maincpu.mq@28B78 = 0000000000000000</action>
            <action>maincpu.mq@28B80 = 0000000000000000</action>
            <action>maincpu.mq@28B88 = 0000000000000000</action>
            <action>maincpu.mq@28B90 = 0000000000000000</action>
            <action>maincpu.mq@28B98 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
karatblzt.xml

Code: Select all

<!-- Karate Blazers (World, Tecmo license) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4D6A = 60</action>
            <action>maincpu.mb@4E92 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4D6A = 6C</action>
            <action>maincpu.mb@4E92 = 6C</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@833B = 58</action>
            <action>maincpu.mb@8417 = 58</action>
        </script>
        <script state="off">
            <action>maincpu.mb@833B = 59</action>
            <action>maincpu.mb@8417 = 59</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@0428E = 4EB9000287D03540</action>
            <action>maincpu.mq@287D0 = 0C6A000100366608</action>
            <action>maincpu.mq@287D8 = 70001030B8004E75</action>
            <action>maincpu.mq@287E0 = 70014E7500000000</action>
            <!--
            287D0 | 0C6A 0001 0036 : cmpi.w  #$1, ($36,A2)
            287D6 | 6608           : bne     $287e0
            287D8 | 7000           : moveq   #$0, D0
            287DA | 1030 B800      : move.b  (A0,A3.l), D0
            287DE | 4E75           : rts
            287E0 | 7001           : moveq   #$1, D0
            287E2 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0428E = 70001030B8003540</action>
            <action>maincpu.mq@287D0 = 0000000000000000</action>
            <action>maincpu.mq@287D8 = 0000000000000000</action>
            <action>maincpu.mq@287E0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7fff">01 (slow)</item>
            <item value="0x0800">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@2796 = 0C40</action> <!-- cmpi.w #$xx,D0 -->
        </script>
        <script state="change">
            <action>maincpu.mw@2798 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@2796 = B06A002C</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@17765 = BC</action>
        </script>
        <script state="off">
            <action>maincpu.mb@17765 = DA</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@177B4 = 000287F0        </action>
            <action>maincpu.mq@287F0 = 41F9000C000043F9</action>
            <action>maincpu.mq@287F8 = 000FF00712001029</action>
            <action>maincpu.mq@28800 = FFFAB20067F60C00</action>
            <action>maincpu.mq@28808 = 00FB660253100C00</action>
            <action>maincpu.mq@28810 = 00F7660252100C00</action>
            <action>maincpu.mq@28818 = 00FD660404100010</action>
            <action>maincpu.mq@28820 = 0C0000FE66040610</action>
            <action>maincpu.mq@28828 = 00100C0000EF6602</action>
            <action>maincpu.mq@28830 = 12900C0000DF6604</action>
            <action>maincpu.mq@28838 = 12BC000160BE0000</action>
            <!--
            287F0 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            287F6 | 43F9 000F F007 : lea     $ff007.l, A1 // sound latch address
            287FC | 1200           : move.b  D0, D1
            287FE | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($ff001)
            28802 | B200           : cmp.b   D0, D1
            28804 | 67F6           : beq     $287fc
            28806 | 0C00 00FB      : cmpi.b  #-$5, D0
            2880A | 6602           : bne     $2880e
            2880C | 5310           : subq.b  #1, (A0)     // decrease code -01
            2880E | 0C00 00F7      : cmpi.b  #-$9, D0
            28812 | 6602           : bne     $28816
            28814 | 5210           : addq.b  #1, (A0)     // increase code +01
            28816 | 0C00 00FD      : cmpi.b  #-$3, D0
            2881A | 6604           : bne     $28820
            2881C | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            28820 | 0C00 00FE      : cmpi.b  #-$2, D0
            28824 | 6604           : bne     $2882a
            28826 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2882A | 0C00 00EF      : cmpi.b  #-$11, D0
            2882E | 6602           : bne     $28832
            28830 | 1290           : move.b  (A0), (A1)   // play sound
            28832 | 0C00 00DF      : cmpi.b  #-$21, D0
            28836 | 6604           : bne     $2883c
            28838 | 12BC 0001      : move.b  #$1, (A1)    // stop sound
            2883C | 60BE           : bra     $287fc
            -->
        </script>
        <script state="run">
            <output format="----- karate blazers 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 1 : play sound"                      line="15" align="center" />
            <output format="button 2 : stop sound"                      line="16" align="center" />
            <output format="----------------------------"               line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"          line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@177B4 = 00007576        </action>
            <action>maincpu.mq@287F0 = 0000000000000000</action>
            <action>maincpu.mq@287F8 = 0000000000000000</action>
            <action>maincpu.mq@28800 = 0000000000000000</action>
            <action>maincpu.mq@28808 = 0000000000000000</action>
            <action>maincpu.mq@28810 = 0000000000000000</action>
            <action>maincpu.mq@28818 = 0000000000000000</action>
            <action>maincpu.mq@28820 = 0000000000000000</action>
            <action>maincpu.mq@28828 = 0000000000000000</action>
            <action>maincpu.mq@28830 = 0000000000000000</action>
            <action>maincpu.mq@28838 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
karatblzu.xml

Code: Select all

<!-- Karate Blazers (US) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4D6A = 60</action>
            <action>maincpu.mb@4E92 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4D6A = 6C</action>
            <action>maincpu.mb@4E92 = 6C</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@833B = 58</action>
            <action>maincpu.mb@8417 = 58</action>
        </script>
        <script state="off">
            <action>maincpu.mb@833B = 59</action>
            <action>maincpu.mb@8417 = 59</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@0428E = 4EB9000287D03540</action>
            <action>maincpu.mq@287D0 = 0C6A000100366608</action>
            <action>maincpu.mq@287D8 = 70001030B8004E75</action>
            <action>maincpu.mq@287E0 = 70014E7500000000</action>
            <!--
            287D0 | 0C6A 0001 0036 : cmpi.w  #$1, ($36,A2)
            287D6 | 6608           : bne     $287e0
            287D8 | 7000           : moveq   #$0, D0
            287DA | 1030 B800      : move.b  (A0,A3.l), D0
            287DE | 4E75           : rts
            287E0 | 7001           : moveq   #$1, D0
            287E2 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0428E = 70001030B8003540</action>
            <action>maincpu.mq@287D0 = 0000000000000000</action>
            <action>maincpu.mq@287D8 = 0000000000000000</action>
            <action>maincpu.mq@287E0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7fff">01 (slow)</item>
            <item value="0x0800">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@2796 = 0C40</action> <!-- cmpi.w #$xx,D0 -->
        </script>
        <script state="change">
            <action>maincpu.mw@2798 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@2796 = B06A002C</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@17765 = BC</action>
        </script>
        <script state="off">
            <action>maincpu.mb@17765 = DA</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@177B4 = 000287F0        </action>
            <action>maincpu.mq@287F0 = 41F9000C000043F9</action>
            <action>maincpu.mq@287F8 = 000FF00712001029</action>
            <action>maincpu.mq@28800 = FFFAB20067F60C00</action>
            <action>maincpu.mq@28808 = 00FB660253100C00</action>
            <action>maincpu.mq@28810 = 00F7660252100C00</action>
            <action>maincpu.mq@28818 = 00FD660404100010</action>
            <action>maincpu.mq@28820 = 0C0000FE66040610</action>
            <action>maincpu.mq@28828 = 00100C0000EF6602</action>
            <action>maincpu.mq@28830 = 12900C0000DF6604</action>
            <action>maincpu.mq@28838 = 12BC000160BE0000</action>
            <!--
            287F0 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            287F6 | 43F9 000F F007 : lea     $ff007.l, A1 // sound latch address
            287FC | 1200           : move.b  D0, D1
            287FE | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($ff001)
            28802 | B200           : cmp.b   D0, D1
            28804 | 67F6           : beq     $287fc
            28806 | 0C00 00FB      : cmpi.b  #-$5, D0
            2880A | 6602           : bne     $2880e
            2880C | 5310           : subq.b  #1, (A0)     // decrease code -01
            2880E | 0C00 00F7      : cmpi.b  #-$9, D0
            28812 | 6602           : bne     $28816
            28814 | 5210           : addq.b  #1, (A0)     // increase code +01
            28816 | 0C00 00FD      : cmpi.b  #-$3, D0
            2881A | 6604           : bne     $28820
            2881C | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            28820 | 0C00 00FE      : cmpi.b  #-$2, D0
            28824 | 6604           : bne     $2882a
            28826 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2882A | 0C00 00EF      : cmpi.b  #-$11, D0
            2882E | 6602           : bne     $28832
            28830 | 1290           : move.b  (A0), (A1)   // play sound
            28832 | 0C00 00DF      : cmpi.b  #-$21, D0
            28836 | 6604           : bne     $2883c
            28838 | 12BC 0001      : move.b  #$1, (A1)    // stop sound
            2883C | 60BE           : bra     $287fc
            -->
        </script>
        <script state="run">
            <output format="----- karate blazers 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 1 : play sound"                      line="15" align="center" />
            <output format="button 2 : stop sound"                      line="16" align="center" />
            <output format="----------------------------"               line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"          line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@177B4 = 00007576        </action>
            <action>maincpu.mq@287F0 = 0000000000000000</action>
            <action>maincpu.mq@287F8 = 0000000000000000</action>
            <action>maincpu.mq@28800 = 0000000000000000</action>
            <action>maincpu.mq@28808 = 0000000000000000</action>
            <action>maincpu.mq@28810 = 0000000000000000</action>
            <action>maincpu.mq@28818 = 0000000000000000</action>
            <action>maincpu.mq@28820 = 0000000000000000</action>
            <action>maincpu.mq@28828 = 0000000000000000</action>
            <action>maincpu.mq@28830 = 0000000000000000</action>
            <action>maincpu.mq@28838 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
karatblzj.xml

Code: Select all

<!-- Toushin Blazers (Japan, Tecmo license) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4DF4 = 60</action>
            <action>maincpu.mb@4F1C = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4DF4 = 6C</action>
            <action>maincpu.mb@4F1C = 6C</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@8979 = 58</action>
            <action>maincpu.mb@8A55 = 58</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8979 = 59</action>
            <action>maincpu.mb@8A55 = 59</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@04348 = 4EB900028BA03540</action>
            <action>maincpu.mq@28BA0 = 0C6A000100366608</action>
            <action>maincpu.mq@28BA8 = 70001030B8004E75</action>
            <action>maincpu.mq@28BB0 = 70014E7500000000</action>
            <!--
            28BA0 | 0C6A 0001 0036 : cmpi.w  #$1, ($36,A2)
            28BA6 | 6608           : bne     $28bb0
            28BA8 | 7000           : moveq   #$0, D0
            28BAA | 1030 B800      : move.b  (A0,A3.l), D0
            28BAE | 4E75           : rts
            28BB0 | 7001           : moveq   #$1, D0
            28BB2 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@04348 = 70001030B8003540</action>
            <action>maincpu.mq@28BA0 = 0000000000000000</action>
            <action>maincpu.mq@28BA8 = 0000000000000000</action>
            <action>maincpu.mq@28BB0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7fff">01 (slow)</item>
            <item value="0x0800">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@283E = 0C40</action> <!-- cmpi.w #$xx,D0 -->
        </script>
        <script state="change">
            <action>maincpu.mw@2840 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@283E = B06A002C</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@17DCF = 26</action>
        </script>
        <script state="off">
            <action>maincpu.mb@17DCF = 44</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@17E1E = 00028BC0        </action>
            <action>maincpu.mq@28BC0 = 41F9000C000043F9</action>
            <action>maincpu.mq@28BC8 = 000FF00712001029</action>
            <action>maincpu.mq@28BD0 = FFFAB20067F60C00</action>
            <action>maincpu.mq@28BD8 = 00FB660253100C00</action>
            <action>maincpu.mq@28BE0 = 00F7660252100C00</action>
            <action>maincpu.mq@28BE8 = 00FD660404100010</action>
            <action>maincpu.mq@28BF0 = 0C0000FE66040610</action>
            <action>maincpu.mq@28BF8 = 00100C0000EF6602</action>
            <action>maincpu.mq@28C00 = 12900C0000DF6604</action>
            <action>maincpu.mq@28C08 = 12BC000160BE0000</action>
            <!--
            28BC0 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            28BC6 | 43F9 000F F007 : lea     $ff007.l, A1 // sound latch address
            28BCC | 1200           : move.b  D0, D1
            28BCE | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($ff001)
            28BD2 | B200           : cmp.b   D0, D1
            28BD4 | 67F6           : beq     $28bcc
            28BD6 | 0C00 00FB      : cmpi.b  #-$5, D0
            28BDA | 6602           : bne     $28bde
            28BDC | 5310           : subq.b  #1, (A0)     // decrease code -01
            28BDE | 0C00 00F7      : cmpi.b  #-$9, D0
            28BE2 | 6602           : bne     $28be6
            28BE4 | 5210           : addq.b  #1, (A0)     // increase code +01
            28BE6 | 0C00 00FD      : cmpi.b  #-$3, D0
            28BEA | 6604           : bne     $28bf0
            28BEC | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            28BF0 | 0C00 00FE      : cmpi.b  #-$2, D0
            28BF4 | 6604           : bne     $28bfa
            28BF6 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            28BFA | 0C00 00EF      : cmpi.b  #-$11, D0
            28BFE | 6602           : bne     $28c02
            28C00 | 1290           : move.b  (A0), (A1)   // play sound
            28C02 | 0C00 00DF      : cmpi.b  #-$21, D0
            28C06 | 6604           : bne     $28c0c
            28C08 | 12BC 0001      : move.b  #$1, (A1)    // stop sound
            28C0C | 60BE           : bra     $28bcc
            -->
        </script>
        <script state="run">
            <output format="----- toushin blazers 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 1 : play sound"                       line="15" align="center" />
            <output format="button 2 : stop sound"                       line="16" align="center" />
            <output format="----------------------------"                line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"           line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@17E1E = 00007BB6        </action>
            <action>maincpu.mq@28BC0 = 0000000000000000</action>
            <action>maincpu.mq@28BC8 = 0000000000000000</action>
            <action>maincpu.mq@28BD0 = 0000000000000000</action>
            <action>maincpu.mq@28BD8 = 0000000000000000</action>
            <action>maincpu.mq@28BE0 = 0000000000000000</action>
            <action>maincpu.mq@28BE8 = 0000000000000000</action>
            <action>maincpu.mq@28BF0 = 0000000000000000</action>
            <action>maincpu.mq@28BF8 = 0000000000000000</action>
            <action>maincpu.mq@28C00 = 0000000000000000</action>
            <action>maincpu.mq@28C08 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
karatblzbl.xml

Code: Select all

<!-- Karate Blazers (bootleg with Street Smart sound hardware) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4DF4 = 60</action>
            <action>maincpu.mb@4F1C = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4DF4 = 6C</action>
            <action>maincpu.mb@4F1C = 6C</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@8979 = 58</action>
            <action>maincpu.mb@8A55 = 58</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8979 = 59</action>
            <action>maincpu.mb@8A55 = 59</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@04348 = 4EB900028F003540</action>
            <action>maincpu.mq@28F00 = 0C6A000100366608</action>
            <action>maincpu.mq@28F08 = 70001030B8004E75</action>
            <action>maincpu.mq@28F10 = 70014E7500000000</action>
            <!--
            28F00 | 0C6A 0001 0036 : cmpi.w  #$1, ($36,A2)
            28F06 | 6608           : bne     $28f10
            28F08 | 7000           : moveq   #$0, D0
            28F0A | 1030 B800      : move.b  (A0,A3.l), D0
            28F0E | 4E75           : rts
            28F10 | 7001           : moveq   #$1, D0
            28F12 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@04348 = 70001030B8003540</action>
            <action>maincpu.mq@28F00 = 0000000000000000</action>
            <action>maincpu.mq@28F08 = 0000000000000000</action>
            <action>maincpu.mq@28F10 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7fff">01 (slow)</item>
            <item value="0x0800">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@283E = 0C40</action> <!-- cmpi.w #$xx,D0 -->
        </script>
        <script state="change">
            <action>maincpu.mw@2840 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@283E = B06A002C</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@17DCF = 26</action>
        </script>
        <script state="off">
            <action>maincpu.mb@17DCF = 44</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@17E1E = 00028F20        </action>
            <action>maincpu.mq@28F20 = 41F9000C000043F9</action>
            <action>maincpu.mq@28F28 = 000FF00712001029</action>
            <action>maincpu.mq@28F30 = FFFAB20067F60C00</action>
            <action>maincpu.mq@28F38 = 00FB660253100C00</action>
            <action>maincpu.mq@28F40 = 00F7660252100C00</action>
            <action>maincpu.mq@28F48 = 00FD660404100010</action>
            <action>maincpu.mq@28F50 = 0C0000FE66040610</action>
            <action>maincpu.mq@28F58 = 00100C0000EF6602</action>
            <action>maincpu.mq@28F60 = 12900C0000DF6604</action>
            <action>maincpu.mq@28F68 = 12BC000160BE0000</action>
            <!--
            28F20 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            28F26 | 43F9 000F F007 : lea     $ff007.l, A1 // sound latch address
            28F2C | 1200           : move.b  D0, D1
            28F2E | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($ff001)
            28F32 | B200           : cmp.b   D0, D1
            28F34 | 67F6           : beq     $28f2c
            28F36 | 0C00 00FB      : cmpi.b  #-$5, D0
            28F3A | 6602           : bne     $28f3e
            28F3C | 5310           : subq.b  #1, (A0)     // decrease code -01
            28F3E | 0C00 00F7      : cmpi.b  #-$9, D0
            28F42 | 6602           : bne     $28f46
            28F44 | 5210           : addq.b  #1, (A0)     // increase code +01
            28F46 | 0C00 00FD      : cmpi.b  #-$3, D0
            28F4A | 6604           : bne     $28f50
            28F4C | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            28F50 | 0C00 00FE      : cmpi.b  #-$2, D0
            28F54 | 6604           : bne     $28f5a
            28F56 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            28F5A | 0C00 00EF      : cmpi.b  #-$11, D0
            28F5E | 6602           : bne     $28f62
            28F60 | 1290           : move.b  (A0), (A1)   // play sound
            28F62 | 0C00 00DF      : cmpi.b  #-$21, D0
            28F66 | 6604           : bne     $28f6c
            28F68 | 12BC 0001      : move.b  #$1, (A1)    // stop sound
            28F6C | 60BE           : bra     $28f2c
            -->
            <action>audiocpu.md@097A = 00C680CD        </action>
            <action>audiocpu.mq@C680 = D30F2001FEF8003A</action>
            <action>audiocpu.mq@C688 = 80D3803E0091CD80</action>
            <action>audiocpu.mq@C690 = AF470000C30091CD</action>
            <action>audiocpu.mq@C698 = F14632013EF11532</action>
            <action>audiocpu.mq@C6A0 = FFFFFFFFFFFFC978</action>
            <!--
            C680 | 3A 00 F8 : ld   a,($F800) // read sound code from maincpu
            C683 | FE 01    : cp   $01
            C685 | 20 0F    : jr   nz,$C696
            C687 | D3 80    : out  ($80),a   // reset sample
            C689 | CD 91 00 : call $0091
            C68C | 3E 80    : ld   a,$80     // enable sample
            C68E | D3 80    : out  ($80),a
            C690 | CD 91 00 : call $0091
            C693 | C3 00 00 : jp   $0000     // reset soundcpu
            C696 | 47       : ld   b,a
            C697 | AF       : xor  a         // initialize sound flags
            C698 | 32 15 F1 : ld   ($F115),a
            C69B | 3E 01    : ld   a,$01
            C69D | 32 46 F1 : ld   ($F146),a
            C6A0 | 78       : ld   a,b
            C6A1 | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- karate blazers 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 1 : play sound"                      line="15" align="center" />
            <output format="button 2 : stop sound"                      line="16" align="center" />
            <output format="----------------------------"               line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"          line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.md@17E1E = 00007BB6        </action>
            <action> maincpu.mq@28F20 = 0000000000000000</action>
            <action> maincpu.mq@28F28 = 0000000000000000</action>
            <action> maincpu.mq@28F30 = 0000000000000000</action>
            <action> maincpu.mq@28F38 = 0000000000000000</action>
            <action> maincpu.mq@28F40 = 0000000000000000</action>
            <action> maincpu.mq@28F48 = 0000000000000000</action>
            <action> maincpu.mq@28F50 = 0000000000000000</action>
            <action> maincpu.mq@28F58 = 0000000000000000</action>
            <action> maincpu.mq@28F60 = 0000000000000000</action>
            <action> maincpu.mq@28F68 = 0000000000000000</action>
            <action>audiocpu.md@0097A = 00F8003A        </action>
            <action>audiocpu.mq@0C680 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@0C688 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@0C690 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@0C698 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@0C6A0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
karatblzbl has different sound hardware based on Street Smart. So "sound enable" and "sound stop" require custom routine.
Fortunately, I have already created sound test for streetsm. It seems to be no problem to copy from it directly.

[karatblz]+ Karate Blazers/Toushin Blazers

Posted: Tue Jan 07, 2025 9:49 am
by jman
karatblz.xml

Code: Select all

<!-- Karate Blazers (World, set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4DF4 = 60</action>
            <action>maincpu.mb@4F1C = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4DF4 = 6C</action>
            <action>maincpu.mb@4F1C = 6C</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@8979 = 58</action>
            <action>maincpu.mb@8A55 = 58</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8979 = 59</action>
            <action>maincpu.mb@8A55 = 59</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@04348 = 4EB900028BA03540</action>
            <action>maincpu.mq@28BA0 = 0C6A000100366608</action>
            <action>maincpu.mq@28BA8 = 70001030B8004E75</action>
            <action>maincpu.mq@28BB0 = 70014E7500000000</action>
            <!--
            28BA0 | 0C6A 0001 0036 : cmpi.w  #$1, ($36,A2)
            28BA6 | 6608           : bne     $28bb0
            28BA8 | 7000           : moveq   #$0, D0
            28BAA | 1030 B800      : move.b  (A0,A3.l), D0
            28BAE | 4E75           : rts
            28BB0 | 7001           : moveq   #$1, D0
            28BB2 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@04348 = 70001030B8003540</action>
            <action>maincpu.mq@28BA0 = 0000000000000000</action>
            <action>maincpu.mq@28BA8 = 0000000000000000</action>
            <action>maincpu.mq@28BB0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0c407fff">01 (slow)</item>
            <item value="0x0c400800">02       </item>
            <item value="0x0c400200">03       </item>
            <item value="0x0c400080">04       </item>
            <item value="0x0c400001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.md@283E = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@283E = B06A002C</action>
        </script>
    </cheat>

    <cheat desc="auto damage">
        <script state="on">
            <action>maincpu.md@0961C = 00028C68        </action>
            <action>maincpu.md@09E92 = 00028C68        </action>
            <action>maincpu.md@0A468 = 00028C68        </action>
            <action>maincpu.md@0ABE8 = 00028C68        </action>
            <action>maincpu.md@0B372 = 00028C68        </action>
            <action>maincpu.md@0BB62 = 00028C68        </action>
            <action>maincpu.md@0C33C = 00028C70        </action>
            <action>maincpu.md@0C6F4 = 00028C68        </action>
            <action>maincpu.md@0CDAA = 00028C68        </action>
            <action>maincpu.md@0D4BC = 00028C68        </action>
            <action>maincpu.md@0DBD4 = 00028C70        </action>
            <action>maincpu.md@0E1EE = 00028C70        </action>
            <action>maincpu.mq@28C10 = 48E73C004A40664A</action>
            <action>maincpu.mq@28C18 = 2439000C5970362A</action>
            <action>maincpu.mq@28C20 = 000CB443653C4842</action>
            <action>maincpu.mq@28C28 = B443643638024842</action>
            <action>maincpu.mq@28C30 = 3A029A44E24D9445</action>
            <action>maincpu.mq@28C38 = B4436408006A0800</action>
            <action>maincpu.mq@28C40 = 00146006026AF7FF</action>
            <action>maincpu.mq@28C48 = 0014566A0038516A</action>
            <action>maincpu.mq@28C50 = 00306E0C426A0030</action>
            <action>maincpu.mq@28C58 = 257C000F8080004E</action>
            <action>maincpu.mq@28C60 = 70034CDF003C4E75</action>
            <action>maincpu.mq@28C68 = 4EB8557E61A24E75</action>
            <action>maincpu.mq@28C70 = 4EB85AFA619A4E75</action>
            <!--
            28C10 | 48E7 3C00           : movem.l D2-D5, -(A7)
            28C14 | 4A40                : tst.w   D0
            28C16 | 664A                : bne     $28c62
            28C18 | 2439 000C 5970      : move.l  $c5970.l, D2
            28C1E | 362A 000C           : move.w  ($c,A2), D3       // check x position
            28C22 | B443                : cmp.w   D3, D2
            28C24 | 653C                : bcs     $28c62
            28C26 | 4842                : swap    D2
            28C28 | B443                : cmp.w   D3, D2
            28C2A | 6436                : bcc     $28c62
            28C2C | 3802                : move.w  D2, D4
            28C2E | 4842                : swap    D2
            28C30 | 3A02                : move.w  D2, D5
            28C32 | 9A44                : sub.w   D4, D5
            28C34 | E24D                : lsr.w   #1, D5
            28C36 | 9445                : sub.w   D5, D2
            28C38 | B443                : cmp.w   D3, D2
            28C3A | 6408                : bcc     $28c44
            28C3C | 006A 0800 0014      : ori.w   #$800, ($14,A2)
            28C42 | 6006                : bra     $28c4a
            28C44 | 026A F7FF 0014      : andi.w  #$f7ff, ($14,A2)
            28C4A | 566A 0038           : addq.w  #3, ($38,A2)
            28C4E | 516A 0030           : subq.w  #8, ($30,A2)
            28C52 | 6E0C                : bgt     $28c60
            28C54 | 426A 0030           : clr.w   ($30,A2)
            28C58 | 257C 000F 8080 004E : move.l  #$f8080, ($4e,A2)
            28C60 | 7003                : moveq   #$3, D0
            28C62 | 4CDF 003C           : movem.l (A7)+, D2-D5
            28C66 | 4E75                : rts
            28C68 | 4EB8 557E           : jsr     $557e.w
            28C6C | 61A2                : bsr     $28c10
            28C6E | 4E75                : rts
            28C70 | 4EB8 5AFA           : jsr     $5afa.w
            28C74 | 619A                : bsr     $28c10
            28C76 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@0961C = 0000557E        </action>
            <action>maincpu.md@09E92 = 0000557E        </action>
            <action>maincpu.md@0A468 = 0000557E        </action>
            <action>maincpu.md@0ABE8 = 0000557E        </action>
            <action>maincpu.md@0B372 = 0000557E        </action>
            <action>maincpu.md@0BB62 = 0000557E        </action>
            <action>maincpu.md@0C33C = 00005AFA        </action>
            <action>maincpu.md@0C6F4 = 0000557E        </action>
            <action>maincpu.md@0CDAA = 0000557E        </action>
            <action>maincpu.md@0D4BC = 0000557E        </action>
            <action>maincpu.md@0DBD4 = 00005AFA        </action>
            <action>maincpu.md@0E1EE = 00005AFA        </action>
            <action>maincpu.mq@28C10 = 0000000000000000</action>
            <action>maincpu.mq@28C18 = 0000000000000000</action>
            <action>maincpu.mq@28C20 = 0000000000000000</action>
            <action>maincpu.mq@28C28 = 0000000000000000</action>
            <action>maincpu.mq@28C30 = 0000000000000000</action>
            <action>maincpu.mq@28C38 = 0000000000000000</action>
            <action>maincpu.mq@28C40 = 0000000000000000</action>
            <action>maincpu.mq@28C48 = 0000000000000000</action>
            <action>maincpu.mq@28C50 = 0000000000000000</action>
            <action>maincpu.mq@28C58 = 0000000000000000</action>
            <action>maincpu.mq@28C60 = 0000000000000000</action>
            <action>maincpu.mq@28C68 = 0000000000000000</action>
            <action>maincpu.mq@28C70 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@17DCF = 26</action>
        </script>
        <script state="off">
            <action>maincpu.mb@17DCF = 44</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@17E1E = 00028BC0        </action>
            <action>maincpu.mq@28BC0 = 41F9000C000043F9</action>
            <action>maincpu.mq@28BC8 = 000FF00712001029</action>
            <action>maincpu.mq@28BD0 = FFFAB20067F60C00</action>
            <action>maincpu.mq@28BD8 = 00FB660253100C00</action>
            <action>maincpu.mq@28BE0 = 00F7660252100C00</action>
            <action>maincpu.mq@28BE8 = 00FD660404100010</action>
            <action>maincpu.mq@28BF0 = 0C0000FE66040610</action>
            <action>maincpu.mq@28BF8 = 00100C0000EF6602</action>
            <action>maincpu.mq@28C00 = 12900C0000DF6604</action>
            <action>maincpu.mq@28C08 = 12BC000160BE0000</action>
            <!--
            28BC0 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            28BC6 | 43F9 000F F007 : lea     $ff007.l, A1 // sound latch address
            28BCC | 1200           : move.b  D0, D1
            28BCE | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($ff001)
            28BD2 | B200           : cmp.b   D0, D1
            28BD4 | 67F6           : beq     $28bcc
            28BD6 | 0C00 00FB      : cmpi.b  #-$5, D0
            28BDA | 6602           : bne     $28bde
            28BDC | 5310           : subq.b  #1, (A0)     // decrease code -01
            28BDE | 0C00 00F7      : cmpi.b  #-$9, D0
            28BE2 | 6602           : bne     $28be6
            28BE4 | 5210           : addq.b  #1, (A0)     // increase code +01
            28BE6 | 0C00 00FD      : cmpi.b  #-$3, D0
            28BEA | 6604           : bne     $28bf0
            28BEC | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            28BF0 | 0C00 00FE      : cmpi.b  #-$2, D0
            28BF4 | 6604           : bne     $28bfa
            28BF6 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            28BFA | 0C00 00EF      : cmpi.b  #-$11, D0
            28BFE | 6602           : bne     $28c02
            28C00 | 1290           : move.b  (A0), (A1)   // play sound
            28C02 | 0C00 00DF      : cmpi.b  #-$21, D0
            28C06 | 6604           : bne     $28c0c
            28C08 | 12BC 0001      : move.b  #$1, (A1)    // stop sound
            28C0C | 60BE           : bra     $28bcc
            -->
        </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 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@17E1E = 00007BB6        </action>
            <action>maincpu.mq@28BC0 = 0000000000000000</action>
            <action>maincpu.mq@28BC8 = 0000000000000000</action>
            <action>maincpu.mq@28BD0 = 0000000000000000</action>
            <action>maincpu.mq@28BD8 = 0000000000000000</action>
            <action>maincpu.mq@28BE0 = 0000000000000000</action>
            <action>maincpu.mq@28BE8 = 0000000000000000</action>
            <action>maincpu.mq@28BF0 = 0000000000000000</action>
            <action>maincpu.mq@28BF8 = 0000000000000000</action>
            <action>maincpu.mq@28C00 = 0000000000000000</action>
            <action>maincpu.mq@28C08 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
karatblza.xml

Code: Select all

<!-- Karate Blazers (World, set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@5E70 = 60</action>
            <action>maincpu.mb@5EDC = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@5E70 = 6C</action>
            <action>maincpu.mb@5EDC = 6C</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@56D1 = 58</action>
            <action>maincpu.mb@57A7 = 58</action>
        </script>
        <script state="off">
            <action>maincpu.mb@56D1 = 59</action>
            <action>maincpu.mb@57A7 = 59</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@04448 = 4EB900028B303540</action>
            <action>maincpu.mq@28B30 = 0C6A000100366608</action>
            <action>maincpu.mq@28B38 = 7000103018004E75</action>
            <action>maincpu.mq@28B40 = 70014E7500000000</action>
            <!--
            28B30 | 0C6A 0001 0036 : cmpi.w  #$1, ($36,A2)
            28B36 | 6608           : bne     $28b40
            28B38 | 7000           : moveq   #$0, D0
            28B3A | 1030 1800      : move.b  (A0,D1.l), D0
            28B3E | 4E75           : rts
            28B40 | 7001           : moveq   #$1, D0
            28B42 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@04448 = 7000103018003540</action>
            <action>maincpu.mq@28B30 = 0000000000000000</action>
            <action>maincpu.mq@28B38 = 0000000000000000</action>
            <action>maincpu.mq@28B40 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0c407fff">01 (slow)</item>
            <item value="0x0c400800">02       </item>
            <item value="0x0c400200">03       </item>
            <item value="0x0c400080">04       </item>
            <item value="0x0c400001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.md@2754 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@2754 = B06A002C</action>
        </script>
    </cheat>

    <cheat desc="auto damage">
        <script state="on">
            <action>maincpu.md@0839E = 00028BF8        </action>
            <action>maincpu.md@0894E = 00028BF8        </action>
            <action>maincpu.md@0909C = 00028BF8        </action>
            <action>maincpu.md@097FC = 00028BF8        </action>
            <action>maincpu.md@09FCC = 00028C00        </action>
            <action>maincpu.md@0A380 = 00028BF8        </action>
            <action>maincpu.md@0A9FC = 00028BF8        </action>
            <action>maincpu.md@0B0C8 = 00028BF8        </action>
            <action>maincpu.md@0B7A4 = 00028C00        </action>
            <action>maincpu.md@0BD7E = 00028C00        </action>
            <action>maincpu.md@0CA42 = 00028BF8        </action>
            <action>maincpu.md@0CBAA = 00028BF8        </action>
            <action>maincpu.mq@28BA0 = 48E73C004A40664A</action>
            <action>maincpu.mq@28BA8 = 2439000C5970362A</action>
            <action>maincpu.mq@28BB0 = 000CB443653C4842</action>
            <action>maincpu.mq@28BB8 = B443643638024842</action>
            <action>maincpu.mq@28BC0 = 3A029A44E24D9445</action>
            <action>maincpu.mq@28BC8 = B4436408006A0800</action>
            <action>maincpu.mq@28BD0 = 00146006026AF7FF</action>
            <action>maincpu.mq@28BD8 = 0014566A0038516A</action>
            <action>maincpu.mq@28BE0 = 00306E0C426A0030</action>
            <action>maincpu.mq@28BE8 = 257C000F8080004E</action>
            <action>maincpu.mq@28BF0 = 70034CDF003C4E75</action>
            <action>maincpu.mq@28BF8 = 4EB862D061A24E75</action>
            <action>maincpu.mq@28C00 = 4EB86714619A4E75</action>
            <!--
            28BA0 | 48E7 3C00           : movem.l D2-D5, -(A7)
            28BA4 | 4A40                : tst.w   D0
            28BA6 | 664A                : bne     $28bf2
            28BA8 | 2439 000C 5970      : move.l  $c5970.l, D2
            28BAE | 362A 000C           : move.w  ($c,A2), D3       // check x position
            28BB2 | B443                : cmp.w   D3, D2
            28BB4 | 653C                : bcs     $28bf2
            28BB6 | 4842                : swap    D2
            28BB8 | B443                : cmp.w   D3, D2
            28BBA | 6436                : bcc     $28bf2
            28BBC | 3802                : move.w  D2, D4
            28BBE | 4842                : swap    D2
            28BC0 | 3A02                : move.w  D2, D5
            28BC2 | 9A44                : sub.w   D4, D5
            28BC4 | E24D                : lsr.w   #1, D5
            28BC6 | 9445                : sub.w   D5, D2
            28BC8 | B443                : cmp.w   D3, D2
            28BCA | 6408                : bcc     $28bd4
            28BCC | 006A 0800 0014      : ori.w   #$800, ($14,A2)
            28BD2 | 6006                : bra     $28bda
            28BD4 | 026A F7FF 0014      : andi.w  #$f7ff, ($14,A2)
            28BDA | 566A 0038           : addq.w  #3, ($38,A2)
            28BDE | 516A 0030           : subq.w  #8, ($30,A2)
            28BE2 | 6E0C                : bgt     $28bf0
            28BE4 | 426A 0030           : clr.w   ($30,A2)
            28BE8 | 257C 000F 8080 004E : move.l  #$f8080, ($4e,A2)
            28BF0 | 7003                : moveq   #$3, D0
            28BF2 | 4CDF 003C           : movem.l (A7)+, D2-D5
            28BF6 | 4E75                : rts
            28BF8 | 4EB8 62D0           : jsr     $62d0.w
            28BFC | 61A2                : bsr     $28ba0
            28BFE | 4E75                : rts
            28C00 | 4EB8 6714           : jsr     $6714.w
            28C04 | 619A                : bsr     $28ba0
            28C06 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@0839E = 000062D0        </action>
            <action>maincpu.md@0894E = 000062D0        </action>
            <action>maincpu.md@0909C = 000062D0        </action>
            <action>maincpu.md@097FC = 000062D0        </action>
            <action>maincpu.md@09FCC = 00006714        </action>
            <action>maincpu.md@0A380 = 000062D0        </action>
            <action>maincpu.md@0A9FC = 000062D0        </action>
            <action>maincpu.md@0B0C8 = 000062D0        </action>
            <action>maincpu.md@0B7A4 = 00006714        </action>
            <action>maincpu.md@0BD7E = 00006714        </action>
            <action>maincpu.md@0CA42 = 000062D0        </action>
            <action>maincpu.md@0CBAA = 000062D0        </action>
            <action>maincpu.mq@28BA0 = 0000000000000000</action>
            <action>maincpu.mq@28BA8 = 0000000000000000</action>
            <action>maincpu.mq@28BB0 = 0000000000000000</action>
            <action>maincpu.mq@28BB8 = 0000000000000000</action>
            <action>maincpu.mq@28BC0 = 0000000000000000</action>
            <action>maincpu.mq@28BC8 = 0000000000000000</action>
            <action>maincpu.mq@28BD0 = 0000000000000000</action>
            <action>maincpu.mq@28BD8 = 0000000000000000</action>
            <action>maincpu.mq@28BE0 = 0000000000000000</action>
            <action>maincpu.mq@28BE8 = 0000000000000000</action>
            <action>maincpu.mq@28BF0 = 0000000000000000</action>
            <action>maincpu.mq@28BF8 = 0000000000000000</action>
            <action>maincpu.mq@28C00 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@15925 = 7C</action>
        </script>
        <script state="off">
            <action>maincpu.mb@15925 = 9A</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@15974 = 00028B50        </action>
            <action>maincpu.mq@28B50 = 41F9000C000043F9</action>
            <action>maincpu.mq@28B58 = 000FF00712001029</action>
            <action>maincpu.mq@28B60 = FFFAB20067F60C00</action>
            <action>maincpu.mq@28B68 = 00FB660253100C00</action>
            <action>maincpu.mq@28B70 = 00F7660252100C00</action>
            <action>maincpu.mq@28B78 = 00FD660404100010</action>
            <action>maincpu.mq@28B80 = 0C0000FE66040610</action>
            <action>maincpu.mq@28B88 = 00100C0000EF6602</action>
            <action>maincpu.mq@28B90 = 12900C0000DF6604</action>
            <action>maincpu.mq@28B98 = 12BC000160BE0000</action>
            <!--
            28B50 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            28B56 | 43F9 000F F007 : lea     $ff007.l, A1 // sound latch address
            28B5C | 1200           : move.b  D0, D1
            28B5E | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($ff001)
            28B62 | B200           : cmp.b   D0, D1
            28B64 | 67F6           : beq     $28b5c
            28B66 | 0C00 00FB      : cmpi.b  #-$5, D0
            28B6A | 6602           : bne     $28b6e
            28B6C | 5310           : subq.b  #1, (A0)     // decrease code -01
            28B6E | 0C00 00F7      : cmpi.b  #-$9, D0
            28B72 | 6602           : bne     $28b76
            28B74 | 5210           : addq.b  #1, (A0)     // increase code +01
            28B76 | 0C00 00FD      : cmpi.b  #-$3, D0
            28B7A | 6604           : bne     $28b80
            28B7C | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            28B80 | 0C00 00FE      : cmpi.b  #-$2, D0
            28B84 | 6604           : bne     $28b8a
            28B86 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            28B8A | 0C00 00EF      : cmpi.b  #-$11, D0
            28B8E | 6602           : bne     $28b92
            28B90 | 1290           : move.b  (A0), (A1)   // play sound
            28B92 | 0C00 00DF      : cmpi.b  #-$21, D0
            28B96 | 6604           : bne     $28b9c
            28B98 | 12BC 0001      : move.b  #$1, (A1)    // stop sound
            28B9C | 60BE           : bra     $28b5c
            -->
        </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 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@15974 = 0000422A        </action>
            <action>maincpu.mq@28B50 = 0000000000000000</action>
            <action>maincpu.mq@28B58 = 0000000000000000</action>
            <action>maincpu.mq@28B60 = 0000000000000000</action>
            <action>maincpu.mq@28B68 = 0000000000000000</action>
            <action>maincpu.mq@28B70 = 0000000000000000</action>
            <action>maincpu.mq@28B78 = 0000000000000000</action>
            <action>maincpu.mq@28B80 = 0000000000000000</action>
            <action>maincpu.mq@28B88 = 0000000000000000</action>
            <action>maincpu.mq@28B90 = 0000000000000000</action>
            <action>maincpu.mq@28B98 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
karatblzt.xml

Code: Select all

<!-- Karate Blazers (World, Tecmo license) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4D6A = 60</action>
            <action>maincpu.mb@4E92 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4D6A = 6C</action>
            <action>maincpu.mb@4E92 = 6C</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@833B = 58</action>
            <action>maincpu.mb@8417 = 58</action>
        </script>
        <script state="off">
            <action>maincpu.mb@833B = 59</action>
            <action>maincpu.mb@8417 = 59</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@0428E = 4EB9000287D03540</action>
            <action>maincpu.mq@287D0 = 0C6A000100366608</action>
            <action>maincpu.mq@287D8 = 70001030B8004E75</action>
            <action>maincpu.mq@287E0 = 70014E7500000000</action>
            <!--
            287D0 | 0C6A 0001 0036 : cmpi.w  #$1, ($36,A2)
            287D6 | 6608           : bne     $287e0
            287D8 | 7000           : moveq   #$0, D0
            287DA | 1030 B800      : move.b  (A0,A3.l), D0
            287DE | 4E75           : rts
            287E0 | 7001           : moveq   #$1, D0
            287E2 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0428E = 70001030B8003540</action>
            <action>maincpu.mq@287D0 = 0000000000000000</action>
            <action>maincpu.mq@287D8 = 0000000000000000</action>
            <action>maincpu.mq@287E0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0c407fff">01 (slow)</item>
            <item value="0x0c400800">02       </item>
            <item value="0x0c400200">03       </item>
            <item value="0x0c400080">04       </item>
            <item value="0x0c400001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@2796 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@2796 = B06A002C</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@17765 = BC</action>
        </script>
        <script state="off">
            <action>maincpu.mb@17765 = DA</action>
        </script>
    </cheat>

    <cheat desc="auto damage">
        <script state="on">
            <action>maincpu.md@08FDE = 00028898        </action>
            <action>maincpu.md@09856 = 00028898        </action>
            <action>maincpu.md@09E2E = 00028898        </action>
            <action>maincpu.md@0A594 = 00028898        </action>
            <action>maincpu.md@0AD0E = 00028898        </action>
            <action>maincpu.md@0B50C = 00028898        </action>
            <action>maincpu.md@0BCE8 = 000288A0        </action>
            <action>maincpu.md@0C0A2 = 00028898        </action>
            <action>maincpu.md@0C75A = 00028898        </action>
            <action>maincpu.md@0CE66 = 00028898        </action>
            <action>maincpu.md@0D580 = 000288A0        </action>
            <action>maincpu.md@0DB9C = 000288A0        </action>
            <action>maincpu.mq@28840 = 48E73C004A40664A</action>
            <action>maincpu.mq@28848 = 2439000C5970362A</action>
            <action>maincpu.mq@28850 = 000CB443653C4842</action>
            <action>maincpu.mq@28858 = B443643638024842</action>
            <action>maincpu.mq@28860 = 3A029A44E24D9445</action>
            <action>maincpu.mq@28868 = B4436408006A0800</action>
            <action>maincpu.mq@28870 = 00146006026AF7FF</action>
            <action>maincpu.mq@28878 = 0014566A0038516A</action>
            <action>maincpu.mq@28880 = 00306E0C426A0030</action>
            <action>maincpu.mq@28888 = 257C000F8080004E</action>
            <action>maincpu.mq@28890 = 70034CDF003C4E75</action>
            <action>maincpu.mq@28898 = 4EB854F261A24E75</action>
            <action>maincpu.mq@288A0 = 4EB85A7C619A4E75</action>
            <!--
            28840 | 48E7 3C00           : movem.l D2-D5, -(A7)
            28844 | 4A40                : tst.w   D0
            28846 | 664A                : bne     $28892
            28848 | 2439 000C 5970      : move.l  $c5970.l, D2
            2884E | 362A 000C           : move.w  ($c,A2), D3       // check x position
            28852 | B443                : cmp.w   D3, D2
            28854 | 653C                : bcs     $28892
            28856 | 4842                : swap    D2
            28858 | B443                : cmp.w   D3, D2
            2885A | 6436                : bcc     $28892
            2885C | 3802                : move.w  D2, D4
            2885E | 4842                : swap    D2
            28860 | 3A02                : move.w  D2, D5
            28862 | 9A44                : sub.w   D4, D5
            28864 | E24D                : lsr.w   #1, D5
            28866 | 9445                : sub.w   D5, D2
            28868 | B443                : cmp.w   D3, D2
            2886A | 6408                : bcc     $28874
            2886C | 006A 0800 0014      : ori.w   #$800, ($14,A2)
            28872 | 6006                : bra     $2887a
            28874 | 026A F7FF 0014      : andi.w  #$f7ff, ($14,A2)
            2887A | 566A 0038           : addq.w  #3, ($38,A2)
            2887E | 516A 0030           : subq.w  #8, ($30,A2)
            28882 | 6E0C                : bgt     $28890
            28884 | 426A 0030           : clr.w   ($30,A2)
            28888 | 257C 000F 8080 004E : move.l  #$f8080, ($4e,A2)
            28890 | 7003                : moveq   #$3, D0
            28892 | 4CDF 003C           : movem.l (A7)+, D2-D5
            28896 | 4E75                : rts
            28898 | 4EB8 54F2           : jsr     $54f2.w
            2889C | 61A2                : bsr     $28c10
            2889E | 4E75                : rts
            288A0 | 4EB8 5A7C           : jsr     $5a7c.w
            288A4 | 619A                : bsr     $28c10
            288A6 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@08FDE = 000054F2        </action>
            <action>maincpu.md@09856 = 000054F2        </action>
            <action>maincpu.md@09E2E = 000054F2        </action>
            <action>maincpu.md@0A594 = 000054F2        </action>
            <action>maincpu.md@0AD0E = 000054F2        </action>
            <action>maincpu.md@0B50C = 000054F2        </action>
            <action>maincpu.md@0BCE8 = 00005A7C        </action>
            <action>maincpu.md@0C0A2 = 000054F2        </action>
            <action>maincpu.md@0C75A = 000054F2        </action>
            <action>maincpu.md@0CE66 = 000054F2        </action>
            <action>maincpu.md@0D580 = 00005A7C        </action>
            <action>maincpu.md@0DB9C = 00005A7C        </action>
            <action>maincpu.mq@28840 = 0000000000000000</action>
            <action>maincpu.mq@28848 = 0000000000000000</action>
            <action>maincpu.mq@28850 = 0000000000000000</action>
            <action>maincpu.mq@28858 = 0000000000000000</action>
            <action>maincpu.mq@28860 = 0000000000000000</action>
            <action>maincpu.mq@28868 = 0000000000000000</action>
            <action>maincpu.mq@28870 = 0000000000000000</action>
            <action>maincpu.mq@28878 = 0000000000000000</action>
            <action>maincpu.mq@28880 = 0000000000000000</action>
            <action>maincpu.mq@28888 = 0000000000000000</action>
            <action>maincpu.mq@28890 = 0000000000000000</action>
            <action>maincpu.mq@28898 = 0000000000000000</action>
            <action>maincpu.mq@288A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@177B4 = 000287F0        </action>
            <action>maincpu.mq@287F0 = 41F9000C000043F9</action>
            <action>maincpu.mq@287F8 = 000FF00712001029</action>
            <action>maincpu.mq@28800 = FFFAB20067F60C00</action>
            <action>maincpu.mq@28808 = 00FB660253100C00</action>
            <action>maincpu.mq@28810 = 00F7660252100C00</action>
            <action>maincpu.mq@28818 = 00FD660404100010</action>
            <action>maincpu.mq@28820 = 0C0000FE66040610</action>
            <action>maincpu.mq@28828 = 00100C0000EF6602</action>
            <action>maincpu.mq@28830 = 12900C0000DF6604</action>
            <action>maincpu.mq@28838 = 12BC000160BE0000</action>
            <!--
            287F0 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            287F6 | 43F9 000F F007 : lea     $ff007.l, A1 // sound latch address
            287FC | 1200           : move.b  D0, D1
            287FE | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($ff001)
            28802 | B200           : cmp.b   D0, D1
            28804 | 67F6           : beq     $287fc
            28806 | 0C00 00FB      : cmpi.b  #-$5, D0
            2880A | 6602           : bne     $2880e
            2880C | 5310           : subq.b  #1, (A0)     // decrease code -01
            2880E | 0C00 00F7      : cmpi.b  #-$9, D0
            28812 | 6602           : bne     $28816
            28814 | 5210           : addq.b  #1, (A0)     // increase code +01
            28816 | 0C00 00FD      : cmpi.b  #-$3, D0
            2881A | 6604           : bne     $28820
            2881C | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            28820 | 0C00 00FE      : cmpi.b  #-$2, D0
            28824 | 6604           : bne     $2882a
            28826 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2882A | 0C00 00EF      : cmpi.b  #-$11, D0
            2882E | 6602           : bne     $28832
            28830 | 1290           : move.b  (A0), (A1)   // play sound
            28832 | 0C00 00DF      : cmpi.b  #-$21, D0
            28836 | 6604           : bne     $2883c
            28838 | 12BC 0001      : move.b  #$1, (A1)    // stop sound
            2883C | 60BE           : bra     $287fc
            -->
        </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 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@177B4 = 00007576        </action>
            <action>maincpu.mq@287F0 = 0000000000000000</action>
            <action>maincpu.mq@287F8 = 0000000000000000</action>
            <action>maincpu.mq@28800 = 0000000000000000</action>
            <action>maincpu.mq@28808 = 0000000000000000</action>
            <action>maincpu.mq@28810 = 0000000000000000</action>
            <action>maincpu.mq@28818 = 0000000000000000</action>
            <action>maincpu.mq@28820 = 0000000000000000</action>
            <action>maincpu.mq@28828 = 0000000000000000</action>
            <action>maincpu.mq@28830 = 0000000000000000</action>
            <action>maincpu.mq@28838 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
karatblzu.xml

Code: Select all

<!-- Karate Blazers (US) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4D6A = 60</action>
            <action>maincpu.mb@4E92 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4D6A = 6C</action>
            <action>maincpu.mb@4E92 = 6C</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@833B = 58</action>
            <action>maincpu.mb@8417 = 58</action>
        </script>
        <script state="off">
            <action>maincpu.mb@833B = 59</action>
            <action>maincpu.mb@8417 = 59</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@0428E = 4EB9000287D03540</action>
            <action>maincpu.mq@287D0 = 0C6A000100366608</action>
            <action>maincpu.mq@287D8 = 70001030B8004E75</action>
            <action>maincpu.mq@287E0 = 70014E7500000000</action>
            <!--
            287D0 | 0C6A 0001 0036 : cmpi.w  #$1, ($36,A2)
            287D6 | 6608           : bne     $287e0
            287D8 | 7000           : moveq   #$0, D0
            287DA | 1030 B800      : move.b  (A0,A3.l), D0
            287DE | 4E75           : rts
            287E0 | 7001           : moveq   #$1, D0
            287E2 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0428E = 70001030B8003540</action>
            <action>maincpu.mq@287D0 = 0000000000000000</action>
            <action>maincpu.mq@287D8 = 0000000000000000</action>
            <action>maincpu.mq@287E0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0c407fff">01 (slow)</item>
            <item value="0x0c400800">02       </item>
            <item value="0x0c400200">03       </item>
            <item value="0x0c400080">04       </item>
            <item value="0x0c400001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.md@2796 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@2796 = B06A002C</action>
        </script>
    </cheat>

    <cheat desc="auto damage">
        <script state="on">
            <action>maincpu.md@08FDE = 00028898        </action>
            <action>maincpu.md@09856 = 00028898        </action>
            <action>maincpu.md@09E2E = 00028898        </action>
            <action>maincpu.md@0A594 = 00028898        </action>
            <action>maincpu.md@0AD0E = 00028898        </action>
            <action>maincpu.md@0B50C = 00028898        </action>
            <action>maincpu.md@0BCE8 = 000288A0        </action>
            <action>maincpu.md@0C0A2 = 00028898        </action>
            <action>maincpu.md@0C75A = 00028898        </action>
            <action>maincpu.md@0CE66 = 00028898        </action>
            <action>maincpu.md@0D580 = 000288A0        </action>
            <action>maincpu.md@0DB9C = 000288A0        </action>
            <action>maincpu.mq@28840 = 48E73C004A40664A</action>
            <action>maincpu.mq@28848 = 2439000C5970362A</action>
            <action>maincpu.mq@28850 = 000CB443653C4842</action>
            <action>maincpu.mq@28858 = B443643638024842</action>
            <action>maincpu.mq@28860 = 3A029A44E24D9445</action>
            <action>maincpu.mq@28868 = B4436408006A0800</action>
            <action>maincpu.mq@28870 = 00146006026AF7FF</action>
            <action>maincpu.mq@28878 = 0014566A0038516A</action>
            <action>maincpu.mq@28880 = 00306E0C426A0030</action>
            <action>maincpu.mq@28888 = 257C000F8080004E</action>
            <action>maincpu.mq@28890 = 70034CDF003C4E75</action>
            <action>maincpu.mq@28898 = 4EB854F261A24E75</action>
            <action>maincpu.mq@288A0 = 4EB85A7C619A4E75</action>
            <!--
            28840 | 48E7 3C00           : movem.l D2-D5, -(A7)
            28844 | 4A40                : tst.w   D0
            28846 | 664A                : bne     $28892
            28848 | 2439 000C 5970      : move.l  $c5970.l, D2
            2884E | 362A 000C           : move.w  ($c,A2), D3       // check x position
            28852 | B443                : cmp.w   D3, D2
            28854 | 653C                : bcs     $28892
            28856 | 4842                : swap    D2
            28858 | B443                : cmp.w   D3, D2
            2885A | 6436                : bcc     $28892
            2885C | 3802                : move.w  D2, D4
            2885E | 4842                : swap    D2
            28860 | 3A02                : move.w  D2, D5
            28862 | 9A44                : sub.w   D4, D5
            28864 | E24D                : lsr.w   #1, D5
            28866 | 9445                : sub.w   D5, D2
            28868 | B443                : cmp.w   D3, D2
            2886A | 6408                : bcc     $28874
            2886C | 006A 0800 0014      : ori.w   #$800, ($14,A2)
            28872 | 6006                : bra     $2887a
            28874 | 026A F7FF 0014      : andi.w  #$f7ff, ($14,A2)
            2887A | 566A 0038           : addq.w  #3, ($38,A2)
            2887E | 516A 0030           : subq.w  #8, ($30,A2)
            28882 | 6E0C                : bgt     $28890
            28884 | 426A 0030           : clr.w   ($30,A2)
            28888 | 257C 000F 8080 004E : move.l  #$f8080, ($4e,A2)
            28890 | 7003                : moveq   #$3, D0
            28892 | 4CDF 003C           : movem.l (A7)+, D2-D5
            28896 | 4E75                : rts
            28898 | 4EB8 54F2           : jsr     $54f2.w
            2889C | 61A2                : bsr     $28c10
            2889E | 4E75                : rts
            288A0 | 4EB8 5A7C           : jsr     $5a7c.w
            288A4 | 619A                : bsr     $28c10
            288A6 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@08FDE = 000054F2        </action>
            <action>maincpu.md@09856 = 000054F2        </action>
            <action>maincpu.md@09E2E = 000054F2        </action>
            <action>maincpu.md@0A594 = 000054F2        </action>
            <action>maincpu.md@0AD0E = 000054F2        </action>
            <action>maincpu.md@0B50C = 000054F2        </action>
            <action>maincpu.md@0BCE8 = 00005A7C        </action>
            <action>maincpu.md@0C0A2 = 000054F2        </action>
            <action>maincpu.md@0C75A = 000054F2        </action>
            <action>maincpu.md@0CE66 = 000054F2        </action>
            <action>maincpu.md@0D580 = 00005A7C        </action>
            <action>maincpu.md@0DB9C = 00005A7C        </action>
            <action>maincpu.mq@28840 = 0000000000000000</action>
            <action>maincpu.mq@28848 = 0000000000000000</action>
            <action>maincpu.mq@28850 = 0000000000000000</action>
            <action>maincpu.mq@28858 = 0000000000000000</action>
            <action>maincpu.mq@28860 = 0000000000000000</action>
            <action>maincpu.mq@28868 = 0000000000000000</action>
            <action>maincpu.mq@28870 = 0000000000000000</action>
            <action>maincpu.mq@28878 = 0000000000000000</action>
            <action>maincpu.mq@28880 = 0000000000000000</action>
            <action>maincpu.mq@28888 = 0000000000000000</action>
            <action>maincpu.mq@28890 = 0000000000000000</action>
            <action>maincpu.mq@28898 = 0000000000000000</action>
            <action>maincpu.mq@288A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@17765 = BC</action>
        </script>
        <script state="off">
            <action>maincpu.mb@17765 = DA</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@177B4 = 000287F0        </action>
            <action>maincpu.mq@287F0 = 41F9000C000043F9</action>
            <action>maincpu.mq@287F8 = 000FF00712001029</action>
            <action>maincpu.mq@28800 = FFFAB20067F60C00</action>
            <action>maincpu.mq@28808 = 00FB660253100C00</action>
            <action>maincpu.mq@28810 = 00F7660252100C00</action>
            <action>maincpu.mq@28818 = 00FD660404100010</action>
            <action>maincpu.mq@28820 = 0C0000FE66040610</action>
            <action>maincpu.mq@28828 = 00100C0000EF6602</action>
            <action>maincpu.mq@28830 = 12900C0000DF6604</action>
            <action>maincpu.mq@28838 = 12BC000160BE0000</action>
            <!--
            287F0 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            287F6 | 43F9 000F F007 : lea     $ff007.l, A1 // sound latch address
            287FC | 1200           : move.b  D0, D1
            287FE | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($ff001)
            28802 | B200           : cmp.b   D0, D1
            28804 | 67F6           : beq     $287fc
            28806 | 0C00 00FB      : cmpi.b  #-$5, D0
            2880A | 6602           : bne     $2880e
            2880C | 5310           : subq.b  #1, (A0)     // decrease code -01
            2880E | 0C00 00F7      : cmpi.b  #-$9, D0
            28812 | 6602           : bne     $28816
            28814 | 5210           : addq.b  #1, (A0)     // increase code +01
            28816 | 0C00 00FD      : cmpi.b  #-$3, D0
            2881A | 6604           : bne     $28820
            2881C | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            28820 | 0C00 00FE      : cmpi.b  #-$2, D0
            28824 | 6604           : bne     $2882a
            28826 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2882A | 0C00 00EF      : cmpi.b  #-$11, D0
            2882E | 6602           : bne     $28832
            28830 | 1290           : move.b  (A0), (A1)   // play sound
            28832 | 0C00 00DF      : cmpi.b  #-$21, D0
            28836 | 6604           : bne     $2883c
            28838 | 12BC 0001      : move.b  #$1, (A1)    // stop sound
            2883C | 60BE           : bra     $287fc
            -->
        </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 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@177B4 = 00007576        </action>
            <action>maincpu.mq@287F0 = 0000000000000000</action>
            <action>maincpu.mq@287F8 = 0000000000000000</action>
            <action>maincpu.mq@28800 = 0000000000000000</action>
            <action>maincpu.mq@28808 = 0000000000000000</action>
            <action>maincpu.mq@28810 = 0000000000000000</action>
            <action>maincpu.mq@28818 = 0000000000000000</action>
            <action>maincpu.mq@28820 = 0000000000000000</action>
            <action>maincpu.mq@28828 = 0000000000000000</action>
            <action>maincpu.mq@28830 = 0000000000000000</action>
            <action>maincpu.mq@28838 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>

[karatblz]+ Karate Blazers/Toushin Blazers

Posted: Tue Jan 07, 2025 9:50 am
by jman
karatblzj.xml

Code: Select all

<!-- Toushin Blazers (Japan, Tecmo license) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4DF4 = 60</action>
            <action>maincpu.mb@4F1C = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4DF4 = 6C</action>
            <action>maincpu.mb@4F1C = 6C</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@8979 = 58</action>
            <action>maincpu.mb@8A55 = 58</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8979 = 59</action>
            <action>maincpu.mb@8A55 = 59</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@04348 = 4EB900028BA03540</action>
            <action>maincpu.mq@28BA0 = 0C6A000100366608</action>
            <action>maincpu.mq@28BA8 = 70001030B8004E75</action>
            <action>maincpu.mq@28BB0 = 70014E7500000000</action>
            <!--
            28BA0 | 0C6A 0001 0036 : cmpi.w  #$1, ($36,A2)
            28BA6 | 6608           : bne     $28bb0
            28BA8 | 7000           : moveq   #$0, D0
            28BAA | 1030 B800      : move.b  (A0,A3.l), D0
            28BAE | 4E75           : rts
            28BB0 | 7001           : moveq   #$1, D0
            28BB2 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@04348 = 70001030B8003540</action>
            <action>maincpu.mq@28BA0 = 0000000000000000</action>
            <action>maincpu.mq@28BA8 = 0000000000000000</action>
            <action>maincpu.mq@28BB0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0c407fff">01 (slow)</item>
            <item value="0x0c400800">02       </item>
            <item value="0x0c400200">03       </item>
            <item value="0x0c400080">04       </item>
            <item value="0x0c400001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.md@283E = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@283E = B06A002C</action>
        </script>
    </cheat>

    <cheat desc="auto damage">
        <script state="on">
            <action>maincpu.md@0961C = 00028C68        </action>
            <action>maincpu.md@09E92 = 00028C68        </action>
            <action>maincpu.md@0A468 = 00028C68        </action>
            <action>maincpu.md@0ABE8 = 00028C68        </action>
            <action>maincpu.md@0B372 = 00028C68        </action>
            <action>maincpu.md@0BB62 = 00028C68        </action>
            <action>maincpu.md@0C33C = 00028C70        </action>
            <action>maincpu.md@0C6F4 = 00028C68        </action>
            <action>maincpu.md@0CDAA = 00028C68        </action>
            <action>maincpu.md@0D4BC = 00028C68        </action>
            <action>maincpu.md@0DBD4 = 00028C70        </action>
            <action>maincpu.md@0E1EE = 00028C70        </action>
            <action>maincpu.mq@28C10 = 48E73C004A40664A</action>
            <action>maincpu.mq@28C18 = 2439000C5970362A</action>
            <action>maincpu.mq@28C20 = 000CB443653C4842</action>
            <action>maincpu.mq@28C28 = B443643638024842</action>
            <action>maincpu.mq@28C30 = 3A029A44E24D9445</action>
            <action>maincpu.mq@28C38 = B4436408006A0800</action>
            <action>maincpu.mq@28C40 = 00146006026AF7FF</action>
            <action>maincpu.mq@28C48 = 0014566A0038516A</action>
            <action>maincpu.mq@28C50 = 00306E0C426A0030</action>
            <action>maincpu.mq@28C58 = 257C000F8080004E</action>
            <action>maincpu.mq@28C60 = 70034CDF003C4E75</action>
            <action>maincpu.mq@28C68 = 4EB8557E61A24E75</action>
            <action>maincpu.mq@28C70 = 4EB85AFA619A4E75</action>
            <!--
            28C10 | 48E7 3C00           : movem.l D2-D5, -(A7)
            28C14 | 4A40                : tst.w   D0
            28C16 | 664A                : bne     $28c62
            28C18 | 2439 000C 5970      : move.l  $c5970.l, D2
            28C1E | 362A 000C           : move.w  ($c,A2), D3       // check x position
            28C22 | B443                : cmp.w   D3, D2
            28C24 | 653C                : bcs     $28c62
            28C26 | 4842                : swap    D2
            28C28 | B443                : cmp.w   D3, D2
            28C2A | 6436                : bcc     $28c62
            28C2C | 3802                : move.w  D2, D4
            28C2E | 4842                : swap    D2
            28C30 | 3A02                : move.w  D2, D5
            28C32 | 9A44                : sub.w   D4, D5
            28C34 | E24D                : lsr.w   #1, D5
            28C36 | 9445                : sub.w   D5, D2
            28C38 | B443                : cmp.w   D3, D2
            28C3A | 6408                : bcc     $28c44
            28C3C | 006A 0800 0014      : ori.w   #$800, ($14,A2)
            28C42 | 6006                : bra     $28c4a
            28C44 | 026A F7FF 0014      : andi.w  #$f7ff, ($14,A2)
            28C4A | 566A 0038           : addq.w  #3, ($38,A2)
            28C4E | 516A 0030           : subq.w  #8, ($30,A2)
            28C52 | 6E0C                : bgt     $28c60
            28C54 | 426A 0030           : clr.w   ($30,A2)
            28C58 | 257C 000F 8080 004E : move.l  #$f8080, ($4e,A2)
            28C60 | 7003                : moveq   #$3, D0
            28C62 | 4CDF 003C           : movem.l (A7)+, D2-D5
            28C66 | 4E75                : rts
            28C68 | 4EB8 557E           : jsr     $557e.w
            28C6C | 61A2                : bsr     $28c10
            28C6E | 4E75                : rts
            28C70 | 4EB8 5AFA           : jsr     $5afa.w
            28C74 | 619A                : bsr     $28c10
            28C76 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@0961C = 0000557E        </action>
            <action>maincpu.md@09E92 = 0000557E        </action>
            <action>maincpu.md@0A468 = 0000557E        </action>
            <action>maincpu.md@0ABE8 = 0000557E        </action>
            <action>maincpu.md@0B372 = 0000557E        </action>
            <action>maincpu.md@0BB62 = 0000557E        </action>
            <action>maincpu.md@0C33C = 00005AFA        </action>
            <action>maincpu.md@0C6F4 = 0000557E        </action>
            <action>maincpu.md@0CDAA = 0000557E        </action>
            <action>maincpu.md@0D4BC = 0000557E        </action>
            <action>maincpu.md@0DBD4 = 00005AFA        </action>
            <action>maincpu.md@0E1EE = 00005AFA        </action>
            <action>maincpu.mq@28C10 = 0000000000000000</action>
            <action>maincpu.mq@28C18 = 0000000000000000</action>
            <action>maincpu.mq@28C20 = 0000000000000000</action>
            <action>maincpu.mq@28C28 = 0000000000000000</action>
            <action>maincpu.mq@28C30 = 0000000000000000</action>
            <action>maincpu.mq@28C38 = 0000000000000000</action>
            <action>maincpu.mq@28C40 = 0000000000000000</action>
            <action>maincpu.mq@28C48 = 0000000000000000</action>
            <action>maincpu.mq@28C50 = 0000000000000000</action>
            <action>maincpu.mq@28C58 = 0000000000000000</action>
            <action>maincpu.mq@28C60 = 0000000000000000</action>
            <action>maincpu.mq@28C68 = 0000000000000000</action>
            <action>maincpu.mq@28C70 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@17DCF = 26</action>
        </script>
        <script state="off">
            <action>maincpu.mb@17DCF = 44</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@17E1E = 00028BC0        </action>
            <action>maincpu.mq@28BC0 = 41F9000C000043F9</action>
            <action>maincpu.mq@28BC8 = 000FF00712001029</action>
            <action>maincpu.mq@28BD0 = FFFAB20067F60C00</action>
            <action>maincpu.mq@28BD8 = 00FB660253100C00</action>
            <action>maincpu.mq@28BE0 = 00F7660252100C00</action>
            <action>maincpu.mq@28BE8 = 00FD660404100010</action>
            <action>maincpu.mq@28BF0 = 0C0000FE66040610</action>
            <action>maincpu.mq@28BF8 = 00100C0000EF6602</action>
            <action>maincpu.mq@28C00 = 12900C0000DF6604</action>
            <action>maincpu.mq@28C08 = 12BC000160BE0000</action>
            <!--
            28BC0 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            28BC6 | 43F9 000F F007 : lea     $ff007.l, A1 // sound latch address
            28BCC | 1200           : move.b  D0, D1
            28BCE | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($ff001)
            28BD2 | B200           : cmp.b   D0, D1
            28BD4 | 67F6           : beq     $28bcc
            28BD6 | 0C00 00FB      : cmpi.b  #-$5, D0
            28BDA | 6602           : bne     $28bde
            28BDC | 5310           : subq.b  #1, (A0)     // decrease code -01
            28BDE | 0C00 00F7      : cmpi.b  #-$9, D0
            28BE2 | 6602           : bne     $28be6
            28BE4 | 5210           : addq.b  #1, (A0)     // increase code +01
            28BE6 | 0C00 00FD      : cmpi.b  #-$3, D0
            28BEA | 6604           : bne     $28bf0
            28BEC | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            28BF0 | 0C00 00FE      : cmpi.b  #-$2, D0
            28BF4 | 6604           : bne     $28bfa
            28BF6 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            28BFA | 0C00 00EF      : cmpi.b  #-$11, D0
            28BFE | 6602           : bne     $28c02
            28C00 | 1290           : move.b  (A0), (A1)   // play sound
            28C02 | 0C00 00DF      : cmpi.b  #-$21, D0
            28C06 | 6604           : bne     $28c0c
            28C08 | 12BC 0001      : move.b  #$1, (A1)    // stop sound
            28C0C | 60BE           : bra     $28bcc
            -->
        </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 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@17E1E = 00007BB6        </action>
            <action>maincpu.mq@28BC0 = 0000000000000000</action>
            <action>maincpu.mq@28BC8 = 0000000000000000</action>
            <action>maincpu.mq@28BD0 = 0000000000000000</action>
            <action>maincpu.mq@28BD8 = 0000000000000000</action>
            <action>maincpu.mq@28BE0 = 0000000000000000</action>
            <action>maincpu.mq@28BE8 = 0000000000000000</action>
            <action>maincpu.mq@28BF0 = 0000000000000000</action>
            <action>maincpu.mq@28BF8 = 0000000000000000</action>
            <action>maincpu.mq@28C00 = 0000000000000000</action>
            <action>maincpu.mq@28C08 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
karatblzbl.xml

Code: Select all

<!-- Karate Blazers (bootleg with Street Smart sound hardware) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@4DF4 = 60</action>
            <action>maincpu.mb@4F1C = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4DF4 = 6C</action>
            <action>maincpu.mb@4F1C = 6C</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@8979 = 58</action>
            <action>maincpu.mb@8A55 = 58</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8979 = 59</action>
            <action>maincpu.mb@8A55 = 59</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@04348 = 4EB900028F003540</action>
            <action>maincpu.mq@28F00 = 0C6A000100366608</action>
            <action>maincpu.mq@28F08 = 70001030B8004E75</action>
            <action>maincpu.mq@28F10 = 70014E7500000000</action>
            <!--
            28F00 | 0C6A 0001 0036 : cmpi.w  #$1, ($36,A2)
            28F06 | 6608           : bne     $28f10
            28F08 | 7000           : moveq   #$0, D0
            28F0A | 1030 B800      : move.b  (A0,A3.l), D0
            28F0E | 4E75           : rts
            28F10 | 7001           : moveq   #$1, D0
            28F12 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@04348 = 70001030B8003540</action>
            <action>maincpu.mq@28F00 = 0000000000000000</action>
            <action>maincpu.mq@28F08 = 0000000000000000</action>
            <action>maincpu.mq@28F10 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0c407fff">01 (slow)</item>
            <item value="0x0c400800">02       </item>
            <item value="0x0c400200">03       </item>
            <item value="0x0c400080">04       </item>
            <item value="0x0c400001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.md@283E = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@283E = B06A002C</action>
        </script>
    </cheat>

    <cheat desc="auto damage">
        <script state="on">
            <action>maincpu.md@0961C = 00028C68        </action>
            <action>maincpu.md@09E92 = 00028C68        </action>
            <action>maincpu.md@0A468 = 00028C68        </action>
            <action>maincpu.md@0ABE8 = 00028C68        </action>
            <action>maincpu.md@0B372 = 00028C68        </action>
            <action>maincpu.md@0BB62 = 00028C68        </action>
            <action>maincpu.md@0C33C = 00028C70        </action>
            <action>maincpu.md@0C6F4 = 00028C68        </action>
            <action>maincpu.md@0CDAA = 00028C68        </action>
            <action>maincpu.md@0D4BC = 00028C68        </action>
            <action>maincpu.md@0DBD4 = 00028C70        </action>
            <action>maincpu.md@0E1EE = 00028C70        </action>
            <action>maincpu.mq@28C10 = 48E73C004A40664A</action>
            <action>maincpu.mq@28C18 = 2439000C5970362A</action>
            <action>maincpu.mq@28C20 = 000CB443653C4842</action>
            <action>maincpu.mq@28C28 = B443643638024842</action>
            <action>maincpu.mq@28C30 = 3A029A44E24D9445</action>
            <action>maincpu.mq@28C38 = B4436408006A0800</action>
            <action>maincpu.mq@28C40 = 00146006026AF7FF</action>
            <action>maincpu.mq@28C48 = 0014566A0038516A</action>
            <action>maincpu.mq@28C50 = 00306E0C426A0030</action>
            <action>maincpu.mq@28C58 = 257C000F8080004E</action>
            <action>maincpu.mq@28C60 = 70034CDF003C4E75</action>
            <action>maincpu.mq@28C68 = 4EB8557E61A24E75</action>
            <action>maincpu.mq@28C70 = 4EB85AFA619A4E75</action>
            <!--
            28C10 | 48E7 3C00           : movem.l D2-D5, -(A7)
            28C14 | 4A40                : tst.w   D0
            28C16 | 664A                : bne     $28c62
            28C18 | 2439 000C 5970      : move.l  $c5970.l, D2
            28C1E | 362A 000C           : move.w  ($c,A2), D3       // check x position
            28C22 | B443                : cmp.w   D3, D2
            28C24 | 653C                : bcs     $28c62
            28C26 | 4842                : swap    D2
            28C28 | B443                : cmp.w   D3, D2
            28C2A | 6436                : bcc     $28c62
            28C2C | 3802                : move.w  D2, D4
            28C2E | 4842                : swap    D2
            28C30 | 3A02                : move.w  D2, D5
            28C32 | 9A44                : sub.w   D4, D5
            28C34 | E24D                : lsr.w   #1, D5
            28C36 | 9445                : sub.w   D5, D2
            28C38 | B443                : cmp.w   D3, D2
            28C3A | 6408                : bcc     $28c44
            28C3C | 006A 0800 0014      : ori.w   #$800, ($14,A2)
            28C42 | 6006                : bra     $28c4a
            28C44 | 026A F7FF 0014      : andi.w  #$f7ff, ($14,A2)
            28C4A | 566A 0038           : addq.w  #3, ($38,A2)
            28C4E | 516A 0030           : subq.w  #8, ($30,A2)
            28C52 | 6E0C                : bgt     $28c60
            28C54 | 426A 0030           : clr.w   ($30,A2)
            28C58 | 257C 000F 8080 004E : move.l  #$f8080, ($4e,A2)
            28C60 | 7003                : moveq   #$3, D0
            28C62 | 4CDF 003C           : movem.l (A7)+, D2-D5
            28C66 | 4E75                : rts
            28C68 | 4EB8 557E           : jsr     $557e.w
            28C6C | 61A2                : bsr     $28c10
            28C6E | 4E75                : rts
            28C70 | 4EB8 5AFA           : jsr     $5afa.w
            28C74 | 619A                : bsr     $28c10
            28C76 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@0961C = 0000557E        </action>
            <action>maincpu.md@09E92 = 0000557E        </action>
            <action>maincpu.md@0A468 = 0000557E        </action>
            <action>maincpu.md@0ABE8 = 0000557E        </action>
            <action>maincpu.md@0B372 = 0000557E        </action>
            <action>maincpu.md@0BB62 = 0000557E        </action>
            <action>maincpu.md@0C33C = 00005AFA        </action>
            <action>maincpu.md@0C6F4 = 0000557E        </action>
            <action>maincpu.md@0CDAA = 0000557E        </action>
            <action>maincpu.md@0D4BC = 0000557E        </action>
            <action>maincpu.md@0DBD4 = 00005AFA        </action>
            <action>maincpu.md@0E1EE = 00005AFA        </action>
            <action>maincpu.mq@28C10 = 0000000000000000</action>
            <action>maincpu.mq@28C18 = 0000000000000000</action>
            <action>maincpu.mq@28C20 = 0000000000000000</action>
            <action>maincpu.mq@28C28 = 0000000000000000</action>
            <action>maincpu.mq@28C30 = 0000000000000000</action>
            <action>maincpu.mq@28C38 = 0000000000000000</action>
            <action>maincpu.mq@28C40 = 0000000000000000</action>
            <action>maincpu.mq@28C48 = 0000000000000000</action>
            <action>maincpu.mq@28C50 = 0000000000000000</action>
            <action>maincpu.mq@28C58 = 0000000000000000</action>
            <action>maincpu.mq@28C60 = 0000000000000000</action>
            <action>maincpu.mq@28C68 = 0000000000000000</action>
            <action>maincpu.mq@28C70 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@17DCF = 26</action>
        </script>
        <script state="off">
            <action>maincpu.mb@17DCF = 44</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@17E1E = 00028F20        </action>
            <action>maincpu.mq@28F20 = 41F9000C000043F9</action>
            <action>maincpu.mq@28F28 = 000FF00712001029</action>
            <action>maincpu.mq@28F30 = FFFAB20067F60C00</action>
            <action>maincpu.mq@28F38 = 00FB660253100C00</action>
            <action>maincpu.mq@28F40 = 00F7660252100C00</action>
            <action>maincpu.mq@28F48 = 00FD660404100010</action>
            <action>maincpu.mq@28F50 = 0C0000FE66040610</action>
            <action>maincpu.mq@28F58 = 00100C0000EF6602</action>
            <action>maincpu.mq@28F60 = 12900C0000DF6604</action>
            <action>maincpu.mq@28F68 = 12BC000160BE0000</action>
            <!--
            28F20 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            28F26 | 43F9 000F F007 : lea     $ff007.l, A1 // sound latch address
            28F2C | 1200           : move.b  D0, D1
            28F2E | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($ff001)
            28F32 | B200           : cmp.b   D0, D1
            28F34 | 67F6           : beq     $28f2c
            28F36 | 0C00 00FB      : cmpi.b  #-$5, D0
            28F3A | 6602           : bne     $28f3e
            28F3C | 5310           : subq.b  #1, (A0)     // decrease code -01
            28F3E | 0C00 00F7      : cmpi.b  #-$9, D0
            28F42 | 6602           : bne     $28f46
            28F44 | 5210           : addq.b  #1, (A0)     // increase code +01
            28F46 | 0C00 00FD      : cmpi.b  #-$3, D0
            28F4A | 6604           : bne     $28f50
            28F4C | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            28F50 | 0C00 00FE      : cmpi.b  #-$2, D0
            28F54 | 6604           : bne     $28f5a
            28F56 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            28F5A | 0C00 00EF      : cmpi.b  #-$11, D0
            28F5E | 6602           : bne     $28f62
            28F60 | 1290           : move.b  (A0), (A1)   // play sound
            28F62 | 0C00 00DF      : cmpi.b  #-$21, D0
            28F66 | 6604           : bne     $28f6c
            28F68 | 12BC 0001      : move.b  #$1, (A1)    // stop sound
            28F6C | 60BE           : bra     $28f2c
            -->
            <action>audiocpu.md@097A = 00C680CD        </action>
            <action>audiocpu.mq@C680 = D30F2001FEF8003A</action>
            <action>audiocpu.mq@C688 = 80D3803E0091CD80</action>
            <action>audiocpu.mq@C690 = AF470000C30091CD</action>
            <action>audiocpu.mq@C698 = F14632013EF11532</action>
            <action>audiocpu.mq@C6A0 = FFFFFFFFFFFFC978</action>
            <!--
            C680 | 3A 00 F8 : ld   a,($F800) // read sound code from maincpu
            C683 | FE 01    : cp   $01
            C685 | 20 0F    : jr   nz,$C696
            C687 | D3 80    : out  ($80),a   // reset sample
            C689 | CD 91 00 : call $0091
            C68C | 3E 80    : ld   a,$80     // enable sample
            C68E | D3 80    : out  ($80),a
            C690 | CD 91 00 : call $0091
            C693 | C3 00 00 : jp   $0000     // reset soundcpu
            C696 | 47       : ld   b,a
            C697 | AF       : xor  a         // initialize sound flags
            C698 | 32 15 F1 : ld   ($F115),a
            C69B | 3E 01    : ld   a,$01
            C69D | 32 46 F1 : ld   ($F146),a
            C6A0 | 78       : ld   a,b
            C6A1 | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- karate blazers 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 1 : play sound"                      line="15" align="center" />
            <output format="button 2 : stop sound"                      line="16" align="center" />
            <output format="----------------------------"               line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"          line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.md@17E1E = 00007BB6        </action>
            <action> maincpu.mq@28F20 = 0000000000000000</action>
            <action> maincpu.mq@28F28 = 0000000000000000</action>
            <action> maincpu.mq@28F30 = 0000000000000000</action>
            <action> maincpu.mq@28F38 = 0000000000000000</action>
            <action> maincpu.mq@28F40 = 0000000000000000</action>
            <action> maincpu.mq@28F48 = 0000000000000000</action>
            <action> maincpu.mq@28F50 = 0000000000000000</action>
            <action> maincpu.mq@28F58 = 0000000000000000</action>
            <action> maincpu.mq@28F60 = 0000000000000000</action>
            <action> maincpu.mq@28F68 = 0000000000000000</action>
            <action>audiocpu.md@0097A = 00F8003A        </action>
            <action>audiocpu.mq@0C680 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@0C688 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@0C690 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@0C698 = FFFFFFFFFFFFFFFF</action>
            <action>audiocpu.mq@0C6A0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
"auto damage" : Added new. You can damage/kill an enemy without attack. But point is always added to player 1.