[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: 850
Joined: Tue Dec 01, 2020 1:24 pm

[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>
Post Reply