[cadashj] Cadash

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

[cadashj] Cadash

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.md@186ee =         4eb84ca0</action>
        <action>maincpu.mq@04ca0 = 78ff45f900104a70</action>
        <action>maincpu.mq@04ca8 = 47ea0040b1ca6d08</action>
        <action>maincpu.mq@04cb0 = b1cb6e043829000a</action>
        <action>maincpu.mq@04cb8 = b3ca6d08b3cb6e04</action>
        <action>maincpu.mq@04cc0 = 3828000a4a046b0a</action>
        <action>maincpu.mq@04cc8 = 0c4400506c047800</action>
        <action>maincpu.mq@04cd0 = 4e754eb900018c12</action>
        <action>maincpu.mq@04cd8 = 4e75ffffffffffff</action>
        <!--
        4ca0 | 78ff           : moveq  #-$1,D4
        4ca2 | 45f9 0010 4a70 : lea    $104a70.l,A2
        4ca8 | 47ea 0040      : lea    ($40,A2),A3
        4cac | b1ca           : cmpa.l A2,A0
        4cae | 6d08           : blt    $4cb8
        4cb0 | b1cb           : cmpa.l A3,A0
        4cb2 | 6e04           : bgt    $4cb8
        4cb4 | 3829 000a      : move.w ($a,A1),D4
        4cb8 | b3ca           : cmpa.l A2,A1
        4cba | 6d08           : blt    $4cc4
        4cbc | b3cb           : cmpa.l A3,A1
        4cbe | 6e04           : bgt    $4cc4
        4cc0 | 3828 000a      : move.w ($a,A0),D4
        4cc4 | 4a04           : tst.b  D4
        4cc6 | 6b0a           : bmi    $4cd2
        4cc8 | 0c44 0050      : cmpi.w #$50,D4
        4ccc | 6c04           : bge    $4cd2
        4cce | 7800           : moveq  #$0,D4
        4cd0 | 4e75           : rts
        4cd2 | 4eb9 0001 8c12 : jsr    $18c12.l
        4cd8 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.md@186ee =         61000522</action>
        <action>maincpu.mq@04ca0 = ffffffffffffffff</action>
        <action>maincpu.mq@04ca8 = ffffffffffffffff</action>
        <action>maincpu.mq@04cb0 = ffffffffffffffff</action>
        <action>maincpu.mq@04cb8 = ffffffffffffffff</action>
        <action>maincpu.mq@04cc0 = ffffffffffffffff</action>
        <action>maincpu.mq@04cc8 = ffffffffffffffff</action>
        <action>maincpu.mq@04cd0 = ffffffffffffffff</action>
        <action>maincpu.mq@04cd8 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <comment>you can't select / use magic</comment>
    <script state="on">
        <action>maincpu.mb@10e27 = 02</action> <!-- fighter : stand -->
        <action>maincpu.mb@10fb1 = 02</action> <!-- fighter : crouch -->
        <action>maincpu.mb@1127f = 02</action> <!-- fighter : jump -->
        <action>maincpu.mb@113af = 02</action> <!-- fighter : ivy -->
        <action>maincpu.mb@11a55 = 02</action> <!-- mage : stand -->
        <action>maincpu.mb@11c9d = 02</action> <!-- mage : crouch -->
        <action>maincpu.mb@11fe5 = 02</action> <!-- mage : jump -->
        <action>maincpu.mb@1215d = 02</action> <!-- mage : ivy -->
        <action>maincpu.mb@12703 = 02</action> <!-- priest : stand -->
        <action>maincpu.mb@12b35 = 02</action> <!-- priest : crouch -->
        <action>maincpu.mb@12f0b = 02</action> <!-- priest : jump -->
        <action>maincpu.mb@1305f = 02</action> <!-- priest : ivy -->
        <action>maincpu.mb@1373f = 02</action> <!-- ninja : stand -->
        <action>maincpu.mb@138af = 02</action> <!-- ninja : crouch -->
        <action>maincpu.mb@13bf3 = 02</action> <!-- ninja : jump -->
        <action>maincpu.mb@13d09 = 02</action> <!-- ninja : ivy -->
    </script>
    <script state="off">
        <action>maincpu.mb@10e27 = 36</action>
        <action>maincpu.mb@10fb1 = 1c</action>
        <action>maincpu.mb@1127f = 36</action>
        <action>maincpu.mb@113af = 1c</action>
        <action>maincpu.mb@11a55 = 3c</action>
        <action>maincpu.mb@11c9d = 18</action>
        <action>maincpu.mb@11fe5 = 3c</action>
        <action>maincpu.mb@1215d = 18</action>
        <action>maincpu.mb@12703 = 18</action>
        <action>maincpu.mb@12b35 = 18</action>
        <action>maincpu.mb@12f0b = 18</action>
        <action>maincpu.mb@1305f = 18</action>
        <action>maincpu.mb@1373f = 1c</action>
        <action>maincpu.mb@138af = 1c</action>
        <action>maincpu.mb@13bf3 = 1c</action>
        <action>maincpu.mb@13d09 = 1c</action>
    </script>
</cheat>

<cheat desc="attack speed up">
    <script state="on">
        <!-- fighter -->
        <action>maincpu.mb@110cf = 02</action>
        <action>maincpu.mb@1113f = 02</action>
        <action>maincpu.mb@111b3 = 02</action>
        <action>maincpu.mb@1140b = 02</action>
        <action>maincpu.mb@11445 = 02</action>
        <!-- mage -->
        <action>maincpu.mb@11e15 = 02</action>
        <action>maincpu.mb@11ea5 = 02</action>
        <action>maincpu.mb@11f19 = 02</action>
        <action>maincpu.mb@121f7 = 02</action>
        <action>maincpu.mb@1224f = 02</action>
        <!-- priest -->
        <action>maincpu.mb@1288d =       02</action>
        <action>maincpu.md@1295e = 70014e71</action>
        <action>maincpu.mw@12cc6 =     0002</action>
        <action>maincpu.mb@130f9 =       02</action>
        <!-- ninja -->
        <action>maincpu.mb@139e1 = 02</action>
        <action>maincpu.mb@13a79 = 02</action>
        <action>maincpu.mb@13abf = 02</action>
        <action>maincpu.mb@13af5 = 02</action>
        <action>maincpu.mb@13d65 = 02</action>
        <action>maincpu.mb@13d95 = 02</action>
    </script>
    <script state="off">
        <action>maincpu.mb@110cf =       2c</action>
        <action>maincpu.mb@1113f =       32</action>
        <action>maincpu.mb@111b3 =       22</action>
        <action>maincpu.mb@1140b =       12</action>
        <action>maincpu.mb@11445 =       16</action>
        <action>maincpu.mb@11e15 =       46</action>
        <action>maincpu.mb@11ea5 =       32</action>
        <action>maincpu.mb@11f19 =       22</action>
        <action>maincpu.mb@121f7 =       2a</action>
        <action>maincpu.mb@1224f =       16</action>
        <action>maincpu.mb@1288d =       1e</action>
        <action>maincpu.md@1295e = 302d40e2</action>
        <action>maincpu.mw@12cc6 =     0106</action>
        <action>maincpu.mb@130f9 =       62</action>
        <action>maincpu.mb@139e1 =       62</action>
        <action>maincpu.mb@13a79 =       10</action>
        <action>maincpu.mb@13abf =       10</action>
        <action>maincpu.mb@13af5 =       10</action>
        <action>maincpu.mb@13d65 =       16</action>
        <action>maincpu.mb@13d95 =       16</action>
    </script>
</cheat>

<cheat desc="multiple jump">
    <script state="on">
        <!-- fighter -->
        <action>maincpu.mq@10d62 = 4eb900004ce06600</action>
        <action>maincpu.mq@10dfa = 4eb900004d0e6600</action>
        <!-- mage -->
        <action>maincpu.mq@11990 = 4eb900004ce06600</action>
        <action>maincpu.mq@11a28 = 4eb900004d0e6600</action>
        <!-- priest -->
        <action>maincpu.mq@1263e = 4eb900004ce06600</action>
        <action>maincpu.mq@126d6 = 4eb900004d0e6600</action>
        <!-- ninja -->
        <action>maincpu.mq@1367a = 4eb900004ce06600</action>
        <action>maincpu.mq@13712 = 4eb900004d0e6600</action>
        <!-- main check routine -->
        <action>maincpu.mq@04ce0 = 41eb000343eb00a8</action>
        <action>maincpu.mq@04ce8 = 08100001671e082b</action>
        <action>maincpu.mq@04cf0 = 0002006366104a51</action>
        <action>maincpu.mq@04cf8 = 660e4210426b0032</action>
        <action>maincpu.mq@04d00 = 32bc000160024251</action>
        <action>maincpu.mq@04d08 = 081000014e75082b</action>
        <action>maincpu.mq@04d10 = 000200636604422b</action>
        <action>maincpu.mq@04d18 = 0003082b00060003</action>
        <action>maincpu.mq@04d20 = 4e75ffffffffffff</action>
        <!--
        4ce0 | 41eb 0003      : lea    ($3,A3),A0
        4ce4 | 43eb 00a8      : lea    ($a8,A3),A1
        4ce8 | 0810 0001      : btst   #$1,(A0)
        4cec | 671e           : beq    $4d0c
        4cee | 082b 0002 0063 : btst   #$2,($63,A3)
        4cf4 | 6610           : bne    $4d06
        4cf6 | 4a51           : tst.w  (A1)
        4cf8 | 660e           : bne    $4d08
        4cfa | 4210           : clr.b  (A0)
        4cfc | 426b 0032      : clr.w  ($32,A3)
        4d00 | 32bc 0001      : move.w #$1,(A1)
        4d04 | 6002           : bra    $4d08
        4d06 | 4251           : clr.w  (A1)
        4d08 | 0810 0001      : btst   #$1,(A0)
        4d0c | 4e75           : rts
        4d0e | 082b 0002 0063 : btst   #$2,($63,A3)
        4d14 | 6604           : bne    $4d1a
        4d16 | 422b 0003      : clr.b  ($3,A3)
        4d1a | 082b 0006 0003 : btst   #$6,($3,A3)
        4d20 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@10d62 = 082b000100036600</action>
        <action>maincpu.mq@10dfa = 082b000600036600</action>
        <action>maincpu.mq@11990 = 082b000100036600</action>
        <action>maincpu.mq@11a28 = 082b000600036600</action>
        <action>maincpu.mq@1263e = 082b000100036600</action>
        <action>maincpu.mq@126d6 = 082b000600036600</action>
        <action>maincpu.mq@1367a = 082b000100036600</action>
        <action>maincpu.mq@13712 = 082b000600036600</action>
        <action>maincpu.mq@04ce0 = ffffffffffffffff</action>
        <action>maincpu.mq@04ce8 = ffffffffffffffff</action>
        <action>maincpu.mq@04cf0 = ffffffffffffffff</action>
        <action>maincpu.mq@04cf8 = ffffffffffffffff</action>
        <action>maincpu.mq@04d00 = ffffffffffffffff</action>
        <action>maincpu.mq@04d08 = ffffffffffffffff</action>
        <action>maincpu.mq@04d10 = ffffffffffffffff</action>
        <action>maincpu.mq@04d18 = ffffffffffffffff</action>
        <action>maincpu.mq@04d20 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="free price">
    <script state="on">
        <action>maincpu.mq@0d17c = 247c000391d64e71</action> <!-- movea.l #$391d6,A2 / nop -->
        <action>maincpu.mq@0df1e = 267c000391d66000</action> <!-- movea.l #$391d6,A3 -->
        <action>maincpu.md@0df58 =         4e714e71</action> <!-- nop / nop -->
        <action>maincpu.mq@0e066 = 267c000391d64e71</action> <!-- movea.l #$391d6,A3 -->
        <action>maincpu.md@0e686 =         000391ca</action> <!-- movea.l #$391ca,A4 -->
        <action>maincpu.md@0e78c =         000391ca</action> <!-- movea.l #$391ca,A1 -->
        <action>maincpu.md@0e832 =         000391ca</action> <!-- movea.l #$391ca,A2 -->
    </script>
    <script state="off">
        <action>maincpu.mq@0d17c = 246e00084a526f1a</action>
        <action>maincpu.mq@0df1e = 266e000c4a536c00</action>
        <action>maincpu.md@0df58 =         266e000c</action>
        <action>maincpu.mq@0e066 = 266e000c4a536f12</action>
        <action>maincpu.md@0e686 =         0003914a</action>
        <action>maincpu.md@0e78c =         0003914a</action>
        <action>maincpu.md@0e832 =         0003914a</action>
    </script>
</cheat>

<cheat desc="timer speed">
    <parameter>
        <item value="0x0200">01 (slow)</item>
        <item value="0x0100">02       </item>
        <item value="0x0080">03       </item>
        <item value="0x0040">04       </item>
        <item value="0x0001">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@b830 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mw@b830 = 003c</action>
    </script>
</cheat>

<cheat desc="message speed">
    <parameter>
        <item value="0x10">01 (slow)</item>
        <item value="0x0c">02       </item>
        <item value="0x08">03       </item>
        <item value="0x04">04       </item>
        <item value="0x01">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.mw@32804 = 197c</action> <!-- move.b #$xx,($c,A4) -->
    </script>
    <script state="change">
        <action>maincpu.mw@32806 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@32804 = 196c000d</action>
    </script>
</cheat>

<cheat desc="quick status window display">
    <script state="on">
        <action>maincpu.mb@32f62 = 60</action>
    </script>
    <script state="off">
        <action>maincpu.mb@32f62 = 6e</action>
    </script>
</cheat>

<cheat desc="one hit kill">
    <script state="on">
        <action>maincpu.mb@195c4 = 42</action> <!-- enemy -->
        <action>maincpu.mb@2a018 = 42</action> <!-- boss 1 -->
        <action>maincpu.mb@2b40a = 42</action> <!-- boss 2 -->
        <action>maincpu.mb@2b442 = 42</action> <!-- boss 2 -->
        <action>maincpu.mb@2baa0 = 42</action> <!-- boss 3 -->
        <action>maincpu.mb@2c68e = 42</action> <!-- boss 4 -->
        <action>maincpu.mb@2d024 = 42</action> <!-- boss 5 -->
        <action>maincpu.mb@2d998 = 42</action> <!-- last boss 1 -->
        <action>maincpu.mb@2e464 = 42</action> <!-- last boss 2 -->
    </script>
    <script state="off">
        <action>maincpu.mb@195c4 = 93</action>
        <action>maincpu.mb@2a018 = d3</action>
        <action>maincpu.mb@2b40a = d3</action>
        <action>maincpu.mb@2b442 = d3</action>
        <action>maincpu.mb@2c68e = d3</action>
        <action>maincpu.mb@2d024 = d3</action>
        <action>maincpu.mb@2d998 = d3</action>
        <action>maincpu.mb@2e464 = d3</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@5040 =         4ef84d30</action>
        <action>maincpu.mq@4d30 = 41f9001001001200</action>
        <action>maincpu.mq@4d38 = 103900900005b200</action>
        <action>maincpu.mq@4d40 = 67f40c0000df6602</action>
        <action>maincpu.mq@4d48 = 53100c0000ef6602</action>
        <action>maincpu.mq@4d50 = 52100c0000bf6604</action>
        <action>maincpu.mq@4d58 = 041000100c00007f</action>
        <action>maincpu.mq@4d60 = 6604061000100c00</action>
        <action>maincpu.mq@4d68 = 00f7660842421410</action>
        <action>maincpu.mq@4d70 = 3f0260080c0000fb</action>
        <action>maincpu.mq@4d78 = 660842674eb83484</action>
        <action>maincpu.mq@4d80 = 548f60b2ffffffff</action>
        <!--
        4d30 | 41f9 0010 0100 : lea    $100100.l,A0 // sound code address
        4d36 | 1200           : move.b D0,D1
        4d38 | 1039 0090 0005 : move.b $900005.l,D0 // read input
        4d3e | b200           : cmp.b  D0,D1
        4d40 | 67f4           : beq    $4d36
        4d42 | 0c00 00df      : cmpi.b #-$21,D0
        4d46 | 6602           : bne    $4d4a
        4d48 | 5310           : subq.b #1,(A0)      // decrease code -01
        4d4a | 0c00 00ef      : cmpi.b #-$11,D0
        4d4e | 6602           : bne    $4d52
        4d50 | 5210           : addq.b #1,(A0)      // increase code +01
        4d52 | 0c00 00bf      : cmpi.b #-$41,D0
        4d56 | 6604           : bne    $4d5c
        4d58 | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        4d5c | 0c00 007f      : cmpi.b #$7f,D0
        4d60 | 6604           : bne    $4d66
        4d62 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        4d66 | 0c00 00f7      : cmpi.b #-$9,D0
        4d6a | 6608           : bne    $4d74
        4d6c | 4242           : clr.w  D2           // play sound
        4d6e | 1410           : move.b (A0),D2
        4d70 | 3f02           : move.w D2,-(A7)
        4d72 | 6008           : bra    $4d7c
        4d74 | 0c00 00fb      : cmpi.b #-$5,D0
        4d78 | 6608           : bne    $4d82
        4d7a | 4267           : clr.w  -(A7)        // stop sound
        4d7c | 4eb8 3484      : jsr    $3484.w      // send sound code
        4d80 | 548f           : addq.l #2,A7
        4d82 | 60b2           : bra    $4d36
        -->
    </script>
    <script state="run">
        <output format="----- cadash 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@100100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@5040 =         302d317c</action>
        <action>maincpu.mq@4d30 = ffffffffffffffff</action>
        <action>maincpu.mq@4d38 = ffffffffffffffff</action>
        <action>maincpu.mq@4d40 = ffffffffffffffff</action>
        <action>maincpu.mq@4d48 = ffffffffffffffff</action>
        <action>maincpu.mq@4d50 = ffffffffffffffff</action>
        <action>maincpu.mq@4d58 = ffffffffffffffff</action>
        <action>maincpu.mq@4d60 = ffffffffffffffff</action>
        <action>maincpu.mq@4d68 = ffffffffffffffff</action>
        <action>maincpu.mq@4d70 = ffffffffffffffff</action>
        <action>maincpu.mq@4d78 = ffffffffffffffff</action>
        <action>maincpu.mq@4d80 = ffffffffffffffff</action>
    </script>
</cheat>
Post Reply