[donpachij] DonPachi

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

[donpachij] DonPachi

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@563c = 60</action> <!-- bullet -->
        <action>maincpu.mb@5742 = 60</action> <!-- enemy -->
    </script>
    <script state="off">
        <action>maincpu.mb@563c = 65</action>
        <action>maincpu.mb@5742 = 65</action>
    </script>
</cheat>

<cheat desc="button 3 auto fire">
    <script state="on">
        <action>maincpu.mq@2c09c = 4eb900076a90670e</action> <!-- player type A -->
        <action>maincpu.mq@2c14c = 4eb900076a90670e</action> <!-- player type B -->
        <action>maincpu.mq@2c1fa = 4eb900076a90670e</action> <!-- player type C -->
        <action>maincpu.mq@306be = 4eb900076aa86712</action> <!-- subunits type A -->
        <action>maincpu.mq@3070c = 4eb900076aa86708</action> <!-- subunits type B -->
        <action>maincpu.mq@30748 = 4eb900076aa86708</action> <!-- subunits type C left -->
        <action>maincpu.mq@30776 = 4eb900076aa86708</action> <!-- subunits type C right -->
        <action>maincpu.mq@76a90 = 083900000010125f</action>
        <action>maincpu.mq@76a98 = 6708082800040001</action>
        <action>maincpu.mq@76aa0 = 4e75081000064e75</action>
        <action>maincpu.mq@76aa8 = 083900000010125f</action>
        <action>maincpu.mq@76ab0 = 6708082b00040001</action>
        <action>maincpu.mq@76ab8 = 4e75081300064e75</action>
        <!--
        76a90 | 0839 0000 0010 125f : btst #$0,$10125f.l
        76a98 | 6708                : beq  $76aa2
        76a9a | 0828 0004 0001      : btst #$4,($1,A0)
        76aa0 | 4e75                : rts
        76aa2 | 0810 0006           : btst #$6,(A0)
        76aa6 | 4e75                : rts
        76aa8 | 0839 0000 0010 125f : btst #$0,$10125f.l
        76ab0 | 6708                : beq  $76aba
        76ab2 | 082b 0004 0001      : btst #$4,($1,A3)
        76ab8 | 4e75                : rts
        76aba | 0813 0006           : btst #$6,(A3)
        76abe | 4e75                : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@2c09c = 082800040001670e</action>
        <action>maincpu.mq@2c14c = 082800040001670e</action>
        <action>maincpu.mq@2c1fa = 082800040001670e</action>
        <action>maincpu.mq@306be = 082b000400016712</action>
        <action>maincpu.mq@3070c = 082b000400016708</action>
        <action>maincpu.mq@30748 = 082b000400016708</action>
        <action>maincpu.mq@30776 = 082b000400016708</action>
        <action>maincpu.mq@76a90 = ffffffffffffffff</action>
        <action>maincpu.mq@76a98 = ffffffffffffffff</action>
        <action>maincpu.mq@76aa0 = ffffffffffffffff</action>
        <action>maincpu.mq@76aa8 = ffffffffffffffff</action>
        <action>maincpu.mq@76ab0 = ffffffffffffffff</action>
        <action>maincpu.mq@76ab8 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0020">01 (slow)</item>
        <item value="0x0080">02       </item>
        <item value="0x0100">03       </item>
        <item value="0x0180">04       </item>
        <item value="0x0200">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.mq@073c8 = 4eb900076ac04e71</action>
        <action>maincpu.mq@76ac0 = bdfc001021586708</action>
        <action>maincpu.mq@76ac8 = bdfc00102198661c</action>
        <action>maincpu.mq@76ad0 = 303c00004a426706</action>
        <action>maincpu.mq@76ad8 = 6a0244403400303c</action>
        <action>maincpu.mq@76ae0 = 00004a4367066a02</action>
        <action>maincpu.mq@76ae8 = 44403600d56e0006</action>
        <action>maincpu.mq@76af0 = d76e00084e75ffff</action>
        <!--
        76ac0 | bdfc 0010 2158 : cmpa.l #$102158,A6
        76ac6 | 6708           : beq    $76ad0
        76ac8 | bdfc 0010 2198 : cmpa.l #$102198,A6
        76ace | 661c           : bne    $76aec
        76ad0 | 303c xxxx      : move.w #$xxxx,D0
        76ad4 | 4a42           : tst.w  D2
        76ad6 | 6706           : beq    $76ade
        76ad8 | 6a02           : bpl    $76adc
        76ada | 4440           : neg.w  D0
        76adc | 3400           : move.w D0,D2
        76ade | 303c xxxx      : move.w #$xxxx,D0
        76ae2 | 4a43           : tst.w  D3
        76ae4 | 6706           : beq    $76aec
        76ae6 | 6a02           : bpl    $76aea
        76ae8 | 4440           : neg.w  D0
        76aea | 3600           : move.w D0,D3
        76aec | d56e 0006      : add.w  D2,($6,A6)
        76af0 | d76e 0008      : add.w  D3,($8,A6)
        76af4 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.mw@76ad2 = param</action>
        <action>maincpu.mw@76ae0 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@073c8 = d56e0006d76e0008</action>
        <action>maincpu.mq@76ac0 = ffffffffffffffff</action>
        <action>maincpu.mq@76ac8 = ffffffffffffffff</action>
        <action>maincpu.mq@76ad0 = ffffffffffffffff</action>
        <action>maincpu.mq@76ad8 = ffffffffffffffff</action>
        <action>maincpu.mq@76ae0 = ffffffffffffffff</action>
        <action>maincpu.mq@76ae8 = ffffffffffffffff</action>
        <action>maincpu.mq@76af0 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="bullet speed - main shot">
    <parameter>
        <item value="0x0180">01 (slow)</item>
        <item value="0x0280">02       </item>
        <item value="0x0380">03       </item>
        <item value="0x0480">04       </item>
        <item value="0x0580">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.mq@2c2dc = 4eb900076b00d040</action>
        <action>maincpu.mq@76b00 = 30fc00005449302e</action>
        <action>maincpu.mq@76b08 = 00204e75ffffffff</action>
        <!--
        76B00 | 30FC xxxx : move.w #$xxxx,(A0)+
        76B04 | 5449      : addq.w #2,A1
        76B06 | 302E 0020 : move.w ($20,A6),D0
        76B0A | 4E75      : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.mw@76b02 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@2c2dc = 30d9302e0020d040</action>
        <action>maincpu.mq@76B00 = ffffffffffffffff</action>
        <action>maincpu.mq@76b08 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="infinite combo">
    <script state="on">
        <action>maincpu.mb@66f7 = 02</action>
        <action>maincpu.mb@6e48 = 60</action>
        <action>maincpu.mb@6e5e = 60</action>
    </script>
    <script state="off">
        <action>maincpu.mb@66f7 = e2</action>
        <action>maincpu.mb@6e48 = 66</action>
        <action>maincpu.mb@6e5e = 66</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.md@341ca = 60000114</action>
    </script>
    <script state="off">
        <action>maincpu.md@341ca = 41f90010</action>
    </script>
</cheat>
"button 3 auto fire" is the same effect as testmode → configuration → c-button full-auto.
Post Reply