[sngkace] Samurai Aces/Sengoku Ace

This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
Post Reply
jman
Posts: 874
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 3 times

[sngkace] Samurai Aces/Sengoku Ace

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@72c5c = 60</action> <!-- enemy -->
        <action>maincpu.mb@75aae = 60</action> <!-- bullet -->
    </script>
    <script state="off">
        <action>maincpu.mb@72c5c = 6e</action>
        <action>maincpu.mb@75aae = 6e</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mw@6ce7e = 4e71</action> <!-- fire speed up -->
        <action>maincpu.mb@6d641 =   0a</action> <!-- main -->
    </script>
    <script state="off">
        <action>maincpu.mw@6ce7e = 6e20</action>
        <action>maincpu.mb@6d641 =   58</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x00010000">01 (slow)</item>
        <item value="0x00028000">02       </item>
        <item value="0x00040000">03       </item>
        <item value="0x00068000">04       </item>
        <item value="0x00080000">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.mq@6d2c8 = 203c00000000d1aa</action> <!-- lower-right : right -->
        <action>maincpu.mq@6d2e6 = 203c0000000091aa</action> <!-- lower-right : down -->
        <action>maincpu.mq@6d32e = 203c0000000091aa</action> <!-- lower-left : left -->
        <action>maincpu.mq@6d34c = 203c0000000091aa</action> <!-- lower-left : down -->
        <action>maincpu.mq@6d396 = 203c00000000d1aa</action> <!-- upper-right : right -->
        <action>maincpu.mq@6d3b4 = 203c00000000d1aa</action> <!-- upper-right : up -->
        <action>maincpu.mq@6d3fe = 203c0000000091aa</action> <!-- upper-left : left -->
        <action>maincpu.mq@6d41c = 203c00000000d1aa</action> <!-- upper-left : up -->
        <action>maincpu.mq@6d45e = 203c0000000091aa</action> <!-- down -->
        <action>maincpu.mq@6d49a = 203c0000000091aa</action> <!-- left -->
        <action>maincpu.mq@6d4dc = 203c00000000d1aa</action> <!-- up -->
        <action>maincpu.mq@6d512 = 203c00000000d1aa</action> <!-- right -->
    </script>
    <script state="change">
        <action>maincpu.md@6d2ca = param</action>
        <action>maincpu.md@6d2e8 = param</action>
        <action>maincpu.md@6d330 = param</action>
        <action>maincpu.md@6d34e = param</action>
        <action>maincpu.md@6d398 = param</action>
        <action>maincpu.md@6d3b6 = param</action>
        <action>maincpu.md@6d400 = param</action>
        <action>maincpu.md@6d41e = param</action>
        <action>maincpu.md@6d460 = param</action>
        <action>maincpu.md@6d49c = param</action>
        <action>maincpu.md@6d4de = param</action>
        <action>maincpu.md@6d514 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@6d2c8 = e58820310808d1aa</action>
        <action>maincpu.mq@6d2e6 = e5882031080c91aa</action>
        <action>maincpu.mq@6d32e = e5882031080891aa</action>
        <action>maincpu.mq@6d34c = e5882031080c91aa</action>
        <action>maincpu.mq@6d396 = e58820310808d1aa</action>
        <action>maincpu.mq@6d3b4 = e5882031080cd1aa</action>
        <action>maincpu.mq@6d3fe = e5882031080891aa</action>
        <action>maincpu.mq@6d41c = e5882031080cd1aa</action>
        <action>maincpu.mq@6d45e = e5882031080491aa</action>
        <action>maincpu.mq@6d49a = e5882031080091aa</action>
        <action>maincpu.mq@6d4dc = e58820310804d1aa</action>
        <action>maincpu.mq@6d512 = e58820310800d1aa</action>
    </script>
</cheat>

<cheat desc="max bullets up">
    <script state="on">
        <action>maincpu.mq@19de = 0010001000100010</action> <!-- jane -->
        <action>maincpu.mq@1a1a = 0010001000100010</action> <!-- tengai -->
        <action>maincpu.mq@1a56 = 0010001000100010</action> <!-- kenoumaru -->
        <action>maincpu.mq@1a92 = 0010001000100010</action> <!-- koyori -->
        <action>maincpu.mq@1ace = 0010001000100010</action> <!-- ein -->
        <action>maincpu.mq@1b0a = 0010001000100010</action> <!-- gennai -->
    </script>
    <script state="off">
        <action>maincpu.mq@19de = 0008000a000c000c</action>
        <action>maincpu.mq@1a1a = 0006000600060006</action>
        <action>maincpu.mq@1a56 = 0006000600090009</action>
        <action>maincpu.mq@1a92 = 0006000600060006</action>
        <action>maincpu.mq@1ace = 0006000600060006</action>
        <action>maincpu.mq@1b0a = 0008000800080008</action>
    </script>
</cheat>

<cheat desc="unlock secret test mode">
    <comment>reset the game (F3) to enter secret test mode</comment>
    <script state="on">
        <action>maincpu.mw@6b8ae = 600c</action>
    </script>
    <script state="off">
        <action>maincpu.mw@6b8ae = 6754</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@0042c =         000799e0</action>
        <action>maincpu.mq@799e0 = 41f900fe100043f9</action>
        <action>maincpu.mq@799e8 = 00c0001312001029</action>
        <action>maincpu.mq@799f0 = ffedb20067f60c00</action>
        <action>maincpu.mq@799f8 = 00ef660253100c00</action>
        <action>maincpu.mq@79a00 = 00df660252100c00</action>
        <action>maincpu.mq@79a08 = 00bf660404100010</action>
        <action>maincpu.mq@79a10 = 0c00007f66040610</action>
        <action>maincpu.mq@79a18 = 00100c0000f76602</action>
        <action>maincpu.mq@79a20 = 12900c0000fb6604</action>
        <action>maincpu.mq@79a28 = 12bc000160beffff</action>
        <!--
        799e0 | 41f9 00fe 1000 : lea    $fe1000.l,A0 // sound code address
        799e6 | 43f9 00c0 0013 : lea    $c00013.l,A1 // sound latch address
        799ec | 1200           : move.b D0,D1
        799ee | 1029 ffed      : move.b (-$13,A1),D0 // read input from $c00000
        799f2 | b200           : cmp.b  D0,D1
        799f4 | 67f6           : beq    $799ec
        799f6 | 0c00 00ef      : cmpi.b #-$11,D0
        799fa | 6602           : bne    $799fe
        799fc | 5310           : subq.b #1,(A0)      // decrease code -01
        799fe | 0c00 00df      : cmpi.b #-$21,D0
        79a02 | 6602           : bne    $79a06
        79a04 | 5210           : addq.b #1,(A0)      // increase code +01
        79a06 | 0c00 00bf      : cmpi.b #-$41,D0
        79a0a | 6604           : bne    $79a10
        79a0c | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        79a10 | 0c00 007f      : cmpi.b #$7f,D0
        79a14 | 6604           : bne    $79a1a
        79a16 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        79a1a | 0c00 00f7      : cmpi.b #-$9,D0
        79a1e | 6602           : bne    $79a22
        79a20 | 1290           : move.b (A0),(A1)    // play sound
        79a22 | 0c00 00fb      : cmpi.b #-$5,D0
        79a26 | 6604           : bne    $79a2c
        79a28 | 12bc 0001      : move.b #$1,(A1)     // stop sound
        79a2c | 60be           : bra    $799ec
        -->
    </script>
    <script state="run">
        <output format="----- sengoku ace 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 %2.2X &gt;&gt;"       line="19" align="center"  >
            <argument>maincpu.pb@fe1000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@0042c =         00000462</action>
        <action>maincpu.mq@799e0 = ffffffffffffffff</action>
        <action>maincpu.mq@799e8 = ffffffffffffffff</action>
        <action>maincpu.mq@799f0 = ffffffffffffffff</action>
        <action>maincpu.mq@799f8 = ffffffffffffffff</action>
        <action>maincpu.mq@79a00 = ffffffffffffffff</action>
        <action>maincpu.mq@79a08 = ffffffffffffffff</action>
        <action>maincpu.mq@79a10 = ffffffffffffffff</action>
        <action>maincpu.mq@79a18 = ffffffffffffffff</action>
        <action>maincpu.mq@79a20 = ffffffffffffffff</action>
        <action>maincpu.mq@79a28 = ffffffffffffffff</action>
    </script>
</cheat>
jman
Posts: 874
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 3 times

[samuraia]+ Samurai Aces/Sengoku Ace

Post by jman »

samuraia.xml

Code: Select all

<!-- Samurai Aces (World) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@72CD2 = 60</action> <!-- enemy -->
            <action>maincpu.mb@75B3C = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@72CD2 = 6E</action>
            <action>maincpu.mb@75B3C = 6E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mw@6CF68 = 4E71</action> <!-- fire interval -->
            <action>maincpu.mw@6D72A = 6E0A</action> <!-- main -->
        </script>
        <script state="off">
            <action>maincpu.mw@6CF68 = 6E20</action>
            <action>maincpu.mw@6D72A = 6E58</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00010000">01 (slow)</item>
            <item value="0x00028000">02       </item>
            <item value="0x00040000">03       </item>
            <item value="0x00068000">04       </item>
            <item value="0x00080000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@6D3B2 = 203C00000000D1AA</action> <!-- lower-right : right -->
            <action>maincpu.mq@6D3D0 = 203C0000000091AA</action> <!-- lower-right : down -->
            <action>maincpu.mq@6D418 = 203C0000000091AA</action> <!-- lower-left : left -->
            <action>maincpu.mq@6D436 = 203C0000000091AA</action> <!-- lower-left : down -->
            <action>maincpu.mq@6D480 = 203C00000000D1AA</action> <!-- upper-right : right -->
            <action>maincpu.mq@6D49E = 203C00000000D1AA</action> <!-- upper-right : up -->
            <action>maincpu.mq@6D4E8 = 203C0000000091AA</action> <!-- upper-left : left -->
            <action>maincpu.mq@6D506 = 203C00000000D1AA</action> <!-- upper-left : up -->
            <action>maincpu.mq@6D548 = 203C0000000091AA</action> <!-- down -->
            <action>maincpu.mq@6D584 = 203C0000000091AA</action> <!-- left -->
            <action>maincpu.mq@6D5C6 = 203C00000000D1AA</action> <!-- up -->
            <action>maincpu.mq@6D5FC = 203C00000000D1AA</action> <!-- right -->
        </script>
        <script state="change">
            <action>maincpu.md@6D3B4 = param</action>
            <action>maincpu.md@6D3D2 = param</action>
            <action>maincpu.md@6D41A = param</action>
            <action>maincpu.md@6D438 = param</action>
            <action>maincpu.md@6D482 = param</action>
            <action>maincpu.md@6D4A0 = param</action>
            <action>maincpu.md@6D4EA = param</action>
            <action>maincpu.md@6D508 = param</action>
            <action>maincpu.md@6D54A = param</action>
            <action>maincpu.md@6D586 = param</action>
            <action>maincpu.md@6D5C8 = param</action>
            <action>maincpu.md@6D5FE = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@6D3B2 = E58820310808D1AA</action>
            <action>maincpu.mq@6D3D0 = E5882031080C91AA</action>
            <action>maincpu.mq@6D418 = E5882031080891AA</action>
            <action>maincpu.mq@6D436 = E5882031080C91AA</action>
            <action>maincpu.mq@6D480 = E58820310808D1AA</action>
            <action>maincpu.mq@6D49E = E5882031080CD1AA</action>
            <action>maincpu.mq@6D4E8 = E5882031080891AA</action>
            <action>maincpu.mq@6D506 = E5882031080CD1AA</action>
            <action>maincpu.mq@6D548 = E5882031080491AA</action>
            <action>maincpu.mq@6D584 = E5882031080091AA</action>
            <action>maincpu.mq@6D5C6 = E58820310804D1AA</action>
            <action>maincpu.mq@6D5FC = E58820310800D1AA</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mq@19E2 = 0010001000100010</action> <!-- jane -->
            <action>maincpu.mq@1A1E = 0010001000100010</action> <!-- tengai -->
            <action>maincpu.mq@1A5A = 0010001000100010</action> <!-- kenoumaru -->
            <action>maincpu.mq@1A96 = 0010001000100010</action> <!-- koyori -->
            <action>maincpu.mq@1AD2 = 0010001000100010</action> <!-- ein -->
            <action>maincpu.mq@1B0E = 0010001000100010</action> <!-- gennai -->
        </script>
        <script state="off">
            <action>maincpu.mq@19E2 = 0008000A000C000C</action>
            <action>maincpu.mq@1A1E = 0006000600060006</action>
            <action>maincpu.mq@1A5A = 0006000600090009</action>
            <action>maincpu.mq@1A96 = 0006000600060006</action>
            <action>maincpu.mq@1AD2 = 0006000600060006</action>
            <action>maincpu.mq@1B0E = 0008000800080008</action>
        </script>
    </cheat>

    <cheat desc="unlock secret test mode">
        <comment>reset the game (F3) to enter secret test mode</comment>
        <script state="on">
            <action>maincpu.mw@6B98E = 600C</action>
        </script>
        <script state="off">
            <action>maincpu.mw@6B98E = 6754</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@0042C = 00079A70        </action>
            <action>maincpu.mq@79A70 = 41F900FE000043F9</action>
            <action>maincpu.mq@79A78 = 00C0001312001029</action>
            <action>maincpu.mq@79A80 = FFEDB20067F60C00</action>
            <action>maincpu.mq@79A88 = 00EF660253100C00</action>
            <action>maincpu.mq@79A90 = 00DF660252100C00</action>
            <action>maincpu.mq@79A98 = 00BF660404100010</action>
            <action>maincpu.mq@79AA0 = 0C00007F66040610</action>
            <action>maincpu.mq@79AA8 = 00100C0000F76602</action>
            <action>maincpu.mq@79AB0 = 12900C0000FB6604</action>
            <action>maincpu.mq@79AB8 = 12BC000160BEFFFF</action>
            <!--
            79A70 | 41F9 00FE 0000 : lea     $fe0000.l, A0 // sound code address
            79A76 | 43F9 00C0 0013 : lea     $c00013.l, A1 // sound latch address
            79A7C | 1200           : move.b  D0, D1
            79A7E | 1029 FFED      : move.b  (-$13,A1), D0 // read input ($c00000)
            79A82 | B200           : cmp.b   D0, D1
            79A84 | 67F6           : beq     $79a7c
            79A86 | 0C00 00EF      : cmpi.b  #-$11, D0
            79A8A | 6602           : bne     $79a8e
            79A8C | 5310           : subq.b  #1, (A0)      // decrease code -01
            79A8E | 0C00 00DF      : cmpi.b  #-$21, D0
            79A92 | 6602           : bne     $79a96
            79A94 | 5210           : addq.b  #1, (A0)      // increase code +01
            79A96 | 0C00 00BF      : cmpi.b  #-$41, D0
            79A9A | 6604           : bne     $79aa0
            79A9C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            79AA0 | 0C00 007F      : cmpi.b  #$7f, D0
            79AA4 | 6604           : bne     $79aaa
            79AA6 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            79AAA | 0C00 00F7      : cmpi.b  #-$9, D0
            79AAE | 6602           : bne     $79ab2
            79AB0 | 1290           : move.b  (A0), (A1)    // play sound
            79AB2 | 0C00 00FB      : cmpi.b  #-$5, D0
            79AB6 | 6604           : bne     $79abc
            79AB8 | 12BC 0001      : move.b  #$1, (A1)     // stop sound
            79ABC | 60BE           : bra     $79a7c
            -->
        </script>
        <script state="run">
            <output format="----- samurai aces 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@FE0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0042C = 00000462        </action>
            <action>maincpu.mq@799E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@799E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@799F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@799F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A28 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
sngkace.xml

Code: Select all

<!-- Sengoku Ace (Japan, set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@72C5C = 60</action> <!-- enemy -->
            <action>maincpu.mb@75AAE = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@72C5C = 6E</action>
            <action>maincpu.mb@75AAE = 6E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mw@6CE7E = 4E71</action> <!-- fire interval -->
            <action>maincpu.mw@6D640 = 6E0A</action> <!-- main -->
        </script>
        <script state="off">
            <action>maincpu.mw@6CE7E = 6E20</action>
            <action>maincpu.mw@6D640 = 6E58</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00010000">01 (slow)</item>
            <item value="0x00028000">02       </item>
            <item value="0x00040000">03       </item>
            <item value="0x00068000">04       </item>
            <item value="0x00080000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@6D2C8 = 203C00000000D1AA</action> <!-- lower-right : right -->
            <action>maincpu.mq@6D2E6 = 203C0000000091AA</action> <!-- lower-right : down -->
            <action>maincpu.mq@6D32E = 203C0000000091AA</action> <!-- lower-left : left -->
            <action>maincpu.mq@6D34C = 203C0000000091AA</action> <!-- lower-left : down -->
            <action>maincpu.mq@6D396 = 203C00000000D1AA</action> <!-- upper-right : right -->
            <action>maincpu.mq@6D3B4 = 203C00000000D1AA</action> <!-- upper-right : up -->
            <action>maincpu.mq@6D3FE = 203C0000000091AA</action> <!-- upper-left : left -->
            <action>maincpu.mq@6D41C = 203C00000000D1AA</action> <!-- upper-left : up -->
            <action>maincpu.mq@6D45E = 203C0000000091AA</action> <!-- down -->
            <action>maincpu.mq@6D49A = 203C0000000091AA</action> <!-- left -->
            <action>maincpu.mq@6D4DC = 203C00000000D1AA</action> <!-- up -->
            <action>maincpu.mq@6D512 = 203C00000000D1AA</action> <!-- right -->
        </script>
        <script state="change">
            <action>maincpu.md@6D2CA = param</action>
            <action>maincpu.md@6D2E8 = param</action>
            <action>maincpu.md@6D330 = param</action>
            <action>maincpu.md@6D34E = param</action>
            <action>maincpu.md@6D398 = param</action>
            <action>maincpu.md@6D3B6 = param</action>
            <action>maincpu.md@6D400 = param</action>
            <action>maincpu.md@6D41E = param</action>
            <action>maincpu.md@6D460 = param</action>
            <action>maincpu.md@6D49C = param</action>
            <action>maincpu.md@6D4DE = param</action>
            <action>maincpu.md@6D514 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@6D2C8 = E58820310808D1AA</action>
            <action>maincpu.mq@6D2E6 = E5882031080C91AA</action>
            <action>maincpu.mq@6D32E = E5882031080891AA</action>
            <action>maincpu.mq@6D34C = E5882031080C91AA</action>
            <action>maincpu.mq@6D396 = E58820310808D1AA</action>
            <action>maincpu.mq@6D3B4 = E5882031080CD1AA</action>
            <action>maincpu.mq@6D3FE = E5882031080891AA</action>
            <action>maincpu.mq@6D41C = E5882031080CD1AA</action>
            <action>maincpu.mq@6D45E = E5882031080491AA</action>
            <action>maincpu.mq@6D49A = E5882031080091AA</action>
            <action>maincpu.mq@6D4DC = E58820310804D1AA</action>
            <action>maincpu.mq@6D512 = E58820310800D1AA</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mq@19DE = 0010001000100010</action> <!-- jane -->
            <action>maincpu.mq@1A1A = 0010001000100010</action> <!-- tengai -->
            <action>maincpu.mq@1A56 = 0010001000100010</action> <!-- kenoumaru -->
            <action>maincpu.mq@1A92 = 0010001000100010</action> <!-- koyori -->
            <action>maincpu.mq@1ACE = 0010001000100010</action> <!-- ein -->
            <action>maincpu.mq@1B0A = 0010001000100010</action> <!-- gennai -->
        </script>
        <script state="off">
            <action>maincpu.mq@19DE = 0008000A000C000C</action>
            <action>maincpu.mq@1A1A = 0006000600060006</action>
            <action>maincpu.mq@1A56 = 0006000600090009</action>
            <action>maincpu.mq@1A92 = 0006000600060006</action>
            <action>maincpu.mq@1ACE = 0006000600060006</action>
            <action>maincpu.mq@1B0A = 0008000800080008</action>
        </script>
    </cheat>

    <cheat desc="unlock secret test mode">
        <comment>reset the game (F3) to enter secret test mode</comment>
        <script state="on">
            <action>maincpu.mw@6B8AE = 600C</action>
        </script>
        <script state="off">
            <action>maincpu.mw@6B8AE = 6754</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@0042C = 000799E0        </action>
            <action>maincpu.mq@799E0 = 41F900FE000043F9</action>
            <action>maincpu.mq@799E8 = 00C0001312001029</action>
            <action>maincpu.mq@799F0 = FFEDB20067F60C00</action>
            <action>maincpu.mq@799F8 = 00EF660253100C00</action>
            <action>maincpu.mq@79A00 = 00DF660252100C00</action>
            <action>maincpu.mq@79A08 = 00BF660404100010</action>
            <action>maincpu.mq@79A10 = 0C00007F66040610</action>
            <action>maincpu.mq@79A18 = 00100C0000F76602</action>
            <action>maincpu.mq@79A20 = 12900C0000FB6604</action>
            <action>maincpu.mq@79A28 = 12BC000160BEFFFF</action>
            <!--
            799E0 | 41F9 00FE 0000 : lea     $fe0000.l, A0 // sound code address
            799E6 | 43F9 00C0 0013 : lea     $c00013.l, A1 // sound latch address
            799EC | 1200           : move.b  D0, D1
            799EE | 1029 FFED      : move.b  (-$13,A1), D0 // read input ($c00000)
            799F2 | B200           : cmp.b   D0, D1
            799F4 | 67F6           : beq     $799ec
            799F6 | 0C00 00EF      : cmpi.b  #-$11, D0
            799FA | 6602           : bne     $799fe
            799FC | 5310           : subq.b  #1, (A0)      // decrease code -01
            799FE | 0C00 00DF      : cmpi.b  #-$21, D0
            79A02 | 6602           : bne     $79a06
            79A04 | 5210           : addq.b  #1, (A0)      // increase code +01
            79A06 | 0C00 00BF      : cmpi.b  #-$41, D0
            79A0A | 6604           : bne     $79a10
            79A0C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            79A10 | 0C00 007F      : cmpi.b  #$7f, D0
            79A14 | 6604           : bne     $79a1a
            79A16 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            79A1A | 0C00 00F7      : cmpi.b  #-$9, D0
            79A1E | 6602           : bne     $79a22
            79A20 | 1290           : move.b  (A0), (A1)    // play sound
            79A22 | 0C00 00FB      : cmpi.b  #-$5, D0
            79A26 | 6604           : bne     $79a2c
            79A28 | 12BC 0001      : move.b  #$1, (A1)     // stop sound
            79A2C | 60BE           : bra     $799ec
            -->
        </script>
        <script state="run">
            <output format="----- sengoku ace 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@FE0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0042C = 00000462        </action>
            <action>maincpu.mq@799E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@799E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@799F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@799F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A28 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
sngkacea.xml

Code: Select all

<!-- Sengoku Ace (Japan, set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@72C8A = 60</action> <!-- enemy -->
            <action>maincpu.mb@75ADC = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@72C8A = 6E</action>
            <action>maincpu.mb@75ADC = 6E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mw@6CEAC = 4E71</action> <!-- fire interval -->
            <action>maincpu.mw@6D66E = 6E0A</action> <!-- main -->
        </script>
        <script state="off">
            <action>maincpu.mw@6CE7E = 6E20</action>
            <action>maincpu.mw@6D640 = 6E58</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00010000">01 (slow)</item>
            <item value="0x00028000">02       </item>
            <item value="0x00040000">03       </item>
            <item value="0x00068000">04       </item>
            <item value="0x00080000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@6D2F6 = 203C00000000D1AA</action> <!-- lower-right : right -->
            <action>maincpu.mq@6D314 = 203C0000000091AA</action> <!-- lower-right : down -->
            <action>maincpu.mq@6D35C = 203C0000000091AA</action> <!-- lower-left : left -->
            <action>maincpu.mq@6D37A = 203C0000000091AA</action> <!-- lower-left : down -->
            <action>maincpu.mq@6D3C4 = 203C00000000D1AA</action> <!-- upper-right : right -->
            <action>maincpu.mq@6D3E2 = 203C00000000D1AA</action> <!-- upper-right : up -->
            <action>maincpu.mq@6D42C = 203C0000000091AA</action> <!-- upper-left : left -->
            <action>maincpu.mq@6D44A = 203C00000000D1AA</action> <!-- upper-left : up -->
            <action>maincpu.mq@6D48C = 203C0000000091AA</action> <!-- down -->
            <action>maincpu.mq@6D4C8 = 203C0000000091AA</action> <!-- left -->
            <action>maincpu.mq@6D50A = 203C00000000D1AA</action> <!-- up -->
            <action>maincpu.mq@6D540 = 203C00000000D1AA</action> <!-- right -->
        </script>
        <script state="change">
            <action>maincpu.md@6D2F8 = param</action>
            <action>maincpu.md@6D316 = param</action>
            <action>maincpu.md@6D35E = param</action>
            <action>maincpu.md@6D37C = param</action>
            <action>maincpu.md@6D3C6 = param</action>
            <action>maincpu.md@6D3E4 = param</action>
            <action>maincpu.md@6D42E = param</action>
            <action>maincpu.md@6D44C = param</action>
            <action>maincpu.md@6D48E = param</action>
            <action>maincpu.md@6D4CA = param</action>
            <action>maincpu.md@6D50C = param</action>
            <action>maincpu.md@6D542 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@6D2F6 = E58820310808D1AA</action>
            <action>maincpu.mq@6D314 = E5882031080C91AA</action>
            <action>maincpu.mq@6D35C = E5882031080891AA</action>
            <action>maincpu.mq@6D37A = E5882031080C91AA</action>
            <action>maincpu.mq@6D3C4 = E58820310808D1AA</action>
            <action>maincpu.mq@6D3E2 = E5882031080CD1AA</action>
            <action>maincpu.mq@6D42C = E5882031080891AA</action>
            <action>maincpu.mq@6D44A = E5882031080CD1AA</action>
            <action>maincpu.mq@6D48C = E5882031080491AA</action>
            <action>maincpu.mq@6D4C8 = E5882031080091AA</action>
            <action>maincpu.mq@6D50A = E58820310804D1AA</action>
            <action>maincpu.mq@6D540 = E58820310800D1AA</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mq@19DE = 0010001000100010</action> <!-- jane -->
            <action>maincpu.mq@1A1A = 0010001000100010</action> <!-- tengai -->
            <action>maincpu.mq@1A56 = 0010001000100010</action> <!-- kenoumaru -->
            <action>maincpu.mq@1A92 = 0010001000100010</action> <!-- koyori -->
            <action>maincpu.mq@1ACE = 0010001000100010</action> <!-- ein -->
            <action>maincpu.mq@1B0A = 0010001000100010</action> <!-- gennai -->
        </script>
        <script state="off">
            <action>maincpu.mq@19DE = 0008000A000C000C</action>
            <action>maincpu.mq@1A1A = 0006000600060006</action>
            <action>maincpu.mq@1A56 = 0006000600090009</action>
            <action>maincpu.mq@1A92 = 0006000600060006</action>
            <action>maincpu.mq@1ACE = 0006000600060006</action>
            <action>maincpu.mq@1B0A = 0008000800080008</action>
        </script>
    </cheat>

    <cheat desc="unlock secret test mode">
        <comment>reset the game (F3) to enter secret test mode</comment>
        <script state="on">
            <action>maincpu.mw@6B8DC = 600C</action>
        </script>
        <script state="off">
            <action>maincpu.mw@6B8DC = 6754</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@0042C = 00079A70        </action>
            <action>maincpu.mq@79A70 = 41F900FE000043F9</action>
            <action>maincpu.mq@79A78 = 00C0001312001029</action>
            <action>maincpu.mq@79A80 = FFEDB20067F60C00</action>
            <action>maincpu.mq@79A88 = 00EF660253100C00</action>
            <action>maincpu.mq@79A90 = 00DF660252100C00</action>
            <action>maincpu.mq@79A98 = 00BF660404100010</action>
            <action>maincpu.mq@79AA0 = 0C00007F66040610</action>
            <action>maincpu.mq@79AA8 = 00100C0000F76602</action>
            <action>maincpu.mq@79AB0 = 12900C0000FB6604</action>
            <action>maincpu.mq@79AB8 = 12BC000160BEFFFF</action>
            <!--
            79A70 | 41F9 00FE 0000 : lea     $fe0000.l, A0 // sound code address
            79A76 | 43F9 00C0 0013 : lea     $c00013.l, A1 // sound latch address
            79A7C | 1200           : move.b  D0, D1
            79A7E | 1029 FFED      : move.b  (-$13,A1), D0 // read input ($c00000)
            79A82 | B200           : cmp.b   D0, D1
            79A84 | 67F6           : beq     $79a7c
            79A86 | 0C00 00EF      : cmpi.b  #-$11, D0
            79A8A | 6602           : bne     $79a8e
            79A8C | 5310           : subq.b  #1, (A0)      // decrease code -01
            79A8E | 0C00 00DF      : cmpi.b  #-$21, D0
            79A92 | 6602           : bne     $79a96
            79A94 | 5210           : addq.b  #1, (A0)      // increase code +01
            79A96 | 0C00 00BF      : cmpi.b  #-$41, D0
            79A9A | 6604           : bne     $79aa0
            79A9C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            79AA0 | 0C00 007F      : cmpi.b  #$7f, D0
            79AA4 | 6604           : bne     $79aaa
            79AA6 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            79AAA | 0C00 00F7      : cmpi.b  #-$9, D0
            79AAE | 6602           : bne     $79ab2
            79AB0 | 1290           : move.b  (A0), (A1)    // play sound
            79AB2 | 0C00 00FB      : cmpi.b  #-$5, D0
            79AB6 | 6604           : bne     $79abc
            79AB8 | 12BC 0001      : move.b  #$1, (A1)     // stop sound
            79ABC | 60BE           : bra     $79a7c
            -->
        </script>
        <script state="run">
            <output format="----- sengoku ace 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@FE0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0042C = 00000462        </action>
            <action>maincpu.mq@79A70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79A98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79AA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79AA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79AB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@79AB8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
Post Reply