Page 1 of 1

[donpachij] DonPachi

Posted: Sat Sep 04, 2021 8:39 am
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.