Page 1 of 1

[ddcrewj2] D. D. Crew

Posted: Sat Apr 22, 2023 10:06 am
by jman

Code: Select all

<cheat desc="no hit">
    <script state="run">
        <action>maincpu.ob@0bdce = 60</action> <!-- player vs player -->
        <action>maincpu.ob@157c8 = 60</action> <!-- machine gun (time over) -->
        <action>maincpu.ob@16490 = 60</action> <!-- normal attack -->
        <action>maincpu.ob@21b9a = 60</action> <!-- machine gun (boss 6) -->
        <action>maincpu.ob@2791c = 60</action> <!-- bazooka (boss 6) -->
        <action>maincpu.ob@27d2c = 60</action> <!-- drum (boss 5) -->
        <action>maincpu.ob@285d6 = 60</action> <!-- knife -->
        <action>maincpu.ob@28796 = 60</action> <!-- grenade -->
    </script>
    <script state="off">
        <action>maincpu.ob@0bdce = 6e</action>
        <action>maincpu.ob@157c8 = 66</action>
        <action>maincpu.ob@16490 = 6e</action>
        <action>maincpu.ob@21b9a = 66</action>
        <action>maincpu.ob@2791c = 6e</action>
        <action>maincpu.ob@27d2c = 6c</action>
        <action>maincpu.ob@285d6 = 6e</action>
        <action>maincpu.ob@28796 = 66</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="run">
        <action>maincpu.ob@864c = 60</action>
    </script>
    <script state="off">
        <action>maincpu.ob@864c = 67</action>
    </script>
</cheat>

<cheat desc="walk speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0180">02       </item>
        <item value="0x0300">03       </item>
        <item value="0x0480">04       </item>
        <item value="0x0600">05 (fast)</item>
    </parameter>
    <script state="run">
        <action>maincpu.ob@3e4e =     6e</action> <!-- patch at start point in stage 5 -->
        <action>maincpu.ow@86de =  param</action> <!-- right -->
        <action>maincpu.ow@8748 = -param</action> <!-- left -->
        <action>maincpu.ow@87c0 =  param</action> <!-- down -->
        <action>maincpu.ow@8816 = -param</action> <!-- up -->
    </script>
    <script state="off">
        <action>maincpu.ob@3e4e =   67</action>
        <action>maincpu.ow@86de = 0180</action>
        <action>maincpu.ow@8748 = fe80</action>
        <action>maincpu.ow@87c0 = 0100</action>
        <action>maincpu.ow@8816 = ff00</action>
    </script>
</cheat>

<cheat desc="action speed up">
    <script state="run">
        <action>maincpu.ob@aeef = 02</action>
    </script>
    <script state="off">
        <action>maincpu.ob@aeef = 1e</action>
    </script>
</cheat>

<cheat desc="1 hit kill">
    <script state="run">
        <action>maincpu.ob@16a1d = 02</action> <!-- normal scene -->
        <action>maincpu.ob@25387 = 02</action> <!-- bonus scene -->
    </script>
    <script state="off">
        <action>maincpu.ob@16a1d = 2c</action>
        <action>maincpu.ob@25387 = 0c</action>
    </script>
</cheat>

<cheat desc="selectable same character">
    <script state="run">
        <!-- character selection screen -->
        <action>maincpu.ob@53bf = 08</action>
        <action>maincpu.ob@5403 = 08</action>
        <!-- join -->
        <action>maincpu.ob@78ff = 08</action>
        <action>maincpu.ob@7943 = 08</action>
    </script>
    <script state="off">
        <action>maincpu.ob@53bf = e0</action>
        <action>maincpu.ob@5403 = e0</action>
        <action>maincpu.ob@78ff = e0</action>
        <action>maincpu.ob@7943 = e0</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="run">
        <!-- routine -->
        <action>maincpu.oq@0070a = 4ef9000330704e71</action>
        <action>maincpu.oq@33070 = 41f8900043f900fe</action>
        <action>maincpu.oq@33078 = 00071200103900e4</action>
        <action>maincpu.oq@33080 = 0001b20067f40c00</action>
        <action>maincpu.oq@33088 = 007f660253100c00</action>
        <action>maincpu.oq@33090 = 00bf660252100c00</action>
        <action>maincpu.oq@33098 = 00ef660404100010</action>
        <action>maincpu.oq@330a0 = 0c0000df66040610</action>
        <action>maincpu.oq@330a8 = 00100c0000fe6608</action>
        <action>maincpu.oq@330b0 = 1410000200801282</action>
        <action>maincpu.oq@330b8 = 0c0000fd66024211</action>
        <action>maincpu.oq@330c0 = 60b8ffffffffffff</action>
        <!--
        33070 | 41f8 9000      : lea    $9000.w,A0   // sound code address ($ff9000)
        33074 | 43f9 00fe 0007 : lea    $fe0007.l,A1 // sound latch address
        3307a | 1200           : move.b D0,D1
        3307c | 1039 00e4 0001 : move.b $e40001.l,D0 // read input
        33082 | b200           : cmp.b  D0,D1
        33084 | 67f4           : beq    $3307a
        33086 | 0c00 007f      : cmpi.b #$7f,D0
        3308a | 6602           : bne    $3308e
        3308c | 5310           : subq.b #1,(A0)      // decrease code -01
        3308e | 0c00 00bf      : cmpi.b #-$41,D0
        33092 | 6602           : bne    $33096
        33094 | 5210           : addq.b #1,(A0)      // increase code +01
        33096 | 0c00 00ef      : cmpi.b #-$11,D0
        3309a | 6604           : bne    $330a0
        3309c | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        330a0 | 0c00 00df      : cmpi.b #-$21,D0
        330a4 | 6604           : bne    $330aa
        330a6 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        330aa | 0c00 00fe      : cmpi.b #-$2,D0
        330ae | 6608           : bne    $330b8
        330b0 | 1410           : move.b (A0),D2      // play sound
        330b2 | 0002 0080      : ori.b  #$80,D2
        330b6 | 1282           : move.b D2,(A1)
        330b8 | 0c00 00fd      : cmpi.b #-$3,D0
        330bc | 6602           : bne    $330c0
        330be | 4211           : clr.b  (A1)         // stop sound
        330c0 | 60b8           : bra    $3307a
        -->
        <!-- display -->
        <output format="----- d.d. crew 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="up : increase code +10"                line="13" align="center" />
        <output format="down : decrease 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@ff9000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.oq@0070a = 610001a0610005c6</action>
        <action>maincpu.oq@33070 = ad20a482ad80a422</action>
        <action>maincpu.oq@33078 = ad20a590a482ad20</action>
        <action>maincpu.oq@33080 = a482a590a482a590</action>
        <action>maincpu.oq@33088 = a422ad20a422a482</action>
        <action>maincpu.oq@33090 = ad20a422ad20a482</action>
        <action>maincpu.oq@33098 = a422a422a482a482</action>
        <action>maincpu.oq@330a0 = a5a0a422ad20a5a0</action>
        <action>maincpu.oq@330a8 = ad20a482ad20ad20</action>
        <action>maincpu.oq@330b0 = ad80a5a0a422a5a0</action>
        <action>maincpu.oq@330b8 = a482a5a0a422a422</action>
        <action>maincpu.oq@330c0 = a422ad20a422a482</action>
    </script>
</cheat>
"selectable same character" is unique. Normally, this game doesn't allow you to select the same character. This code breaks that rule.
Image

Code: Select all

<cheat desc="infinite time">
    <script state="run">
        <action>maincpu.pw@ffcc18 = 0000</action>
    </script>
</cheat>

<cheat desc="time over now">
    <script state="on">
        <action>maincpu.pw@ffcc18 = 0708</action>
    </script>
</cheat>
This game has the timer (2 bytes. not decrease but increase). Boss character who has the machine gun appears soon (and kills you) when you set "time over now" code.

[ddcrew]+ D. D. Crew

Posted: Tue May 13, 2025 10:24 am
by jman
[ddcrew]+ D. D. Crew
ddcrew.xml

Code: Select all

<!-- D. D. Crew (World, 3 Players) (FD1094 317-0190) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.ob@0C486 = 60</action> <!-- player vs player -->
            <action>maincpu.ob@15E90 = 60</action> <!-- machine gun (time over) -->
            <action>maincpu.ob@16B58 = 60</action> <!-- normal attack -->
            <action>maincpu.ob@22262 = 60</action> <!-- machine gun (boss 6) -->
            <action>maincpu.ob@27FE4 = 60</action> <!-- bazooka (boss 6) -->
            <action>maincpu.ob@283F4 = 60</action> <!-- drum (boss 5) -->
            <action>maincpu.ob@28C9E = 60</action> <!-- knife -->
            <action>maincpu.ob@28E5E = 60</action> <!-- grenade -->
        </script>
        <script state="off">
            <action>maincpu.ob@0C486 = 6E</action>
            <action>maincpu.ob@15E90 = 66</action>
            <action>maincpu.ob@16B58 = 6E</action>
            <action>maincpu.ob@22262 = 66</action>
            <action>maincpu.ob@27FE4 = 6E</action>
            <action>maincpu.ob@283F4 = 6C</action>
            <action>maincpu.ob@28C9E = 6E</action>
            <action>maincpu.ob@28E5E = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="run">
            <action>maincpu.ob@8D04 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.ob@8D04 = 67</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0300">03       </item>
            <item value="0x0480">04       </item>
            <item value="0x0600">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.ob@400C =  6E   </action> <!-- patch at start point in stage 5 -->
            <action>maincpu.ow@8D96 =  param</action> <!-- right -->
            <action>maincpu.ow@8E00 = -param</action> <!-- left -->
            <action>maincpu.ow@8E78 =  param</action> <!-- down -->
            <action>maincpu.ow@8ECE = -param</action> <!-- up -->
        </script>
        <script state="off">
            <action>maincpu.ob@400C = 67  </action>
            <action>maincpu.ow@8D96 = 0180</action>
            <action>maincpu.ow@8E00 = FE80</action>
            <action>maincpu.ow@8E78 = 0100</action>
            <action>maincpu.ow@8ECE = FF00</action>
        </script>
    </cheat>

    <cheat desc="action speed up">
        <script state="run">
            <action>maincpu.ob@B5A7 = 02</action>
        </script>
        <script state="off">
            <action>maincpu.ob@B5A7 = 1E</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill">
        <script state="run">
            <action>maincpu.ob@170E5 = 02</action> <!-- normal scene -->
            <action>maincpu.ob@25A4F = 02</action> <!-- bonus scene -->
        </script>
        <script state="off">
            <action>maincpu.ob@170E5 = 2C</action>
            <action>maincpu.ob@25A4F = 0C</action>
        </script>
    </cheat>

    <cheat desc="selectable same character">
        <script state="run">
            <!-- character selection screen -->
            <action>maincpu.ob@5621 = 08</action>
            <action>maincpu.ob@5665 = 08</action>
            <!-- join -->
            <action>maincpu.ob@7EEB = 08</action>
            <action>maincpu.ob@7F2F = 08</action>
        </script>
        <script state="off">
            <action>maincpu.ob@5621 = E0</action>
            <action>maincpu.ob@5665 = E0</action>
            <action>maincpu.ob@7EEB = E0</action>
            <action>maincpu.ob@7F2F = E0</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.oq@0070A = 4EF9000338904E71</action>
            <action>maincpu.oq@33890 = 41F8900043F900FE</action>
            <action>maincpu.oq@33898 = 00071200103900E4</action>
            <action>maincpu.oq@338A0 = 0001B20067F40C00</action>
            <action>maincpu.oq@338A8 = 007F660253100C00</action>
            <action>maincpu.oq@338B0 = 00BF660252100C00</action>
            <action>maincpu.oq@338B8 = 00EF660404100010</action>
            <action>maincpu.oq@338C0 = 0C0000DF66040610</action>
            <action>maincpu.oq@338C8 = 00100C0000FE6608</action>
            <action>maincpu.oq@338D0 = 1410000200801282</action>
            <action>maincpu.oq@338D8 = 0C0000FD66024211</action>
            <action>maincpu.oq@338E0 = 60B8FFFFFFFFFFFF</action>
            <!--
            33890 | 41F8 9000      : lea     $9000.w, A0   // sound code address ($FF9000)
            33894 | 43F9 00FE 0007 : lea     $fe0007.l, A1 // sound latch address
            3389A | 1200           : move.b  D0, D1
            3389C | 1039 00E4 0001 : move.b  $e40001.l, D0 // read input
            338A2 | B200           : cmp.b   D0, D1
            338A4 | 67F4           : beq     $3389a
            338A6 | 0C00 007F      : cmpi.b  #$7f, D0
            338AA | 6602           : bne     $338ae
            338AC | 5310           : subq.b  #1, (A0)      // decrease code -01
            338AE | 0C00 00BF      : cmpi.b  #-$41, D0
            338B2 | 6602           : bne     $338b6
            338B4 | 5210           : addq.b  #1, (A0)      // increase code +01
            338B6 | 0C00 00EF      : cmpi.b  #-$11, D0
            338BA | 6604           : bne     $338c0
            338BC | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            338C0 | 0C00 00DF      : cmpi.b  #-$21, D0
            338C4 | 6604           : bne     $338ca
            338C6 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            338CA | 0C00 00FE      : cmpi.b  #-$2, D0
            338CE | 6608           : bne     $338d8
            338D0 | 1410           : move.b  (A0), D2      // play sound
            338D2 | 0002 0080      : ori.b   #$80, D2
            338D6 | 1282           : move.b  D2, (A1)
            338D8 | 0C00 00FD      : cmpi.b  #-$3, D0
            338DC | 6602           : bne     $338e0
            338DE | 4211           : clr.b   (A1)          // stop sound
            338E0 | 60B8           : bra     $3389a
            -->
            <!-- display -->
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.oq@0070A = 4E714E71610005C6</action>
            <action>maincpu.oq@33890 = A5A0A122A720A182</action>
            <action>maincpu.oq@33898 = A122A5A0A122A122</action>
            <action>maincpu.oq@338A0 = A182A720A182A590</action>
            <action>maincpu.oq@338A8 = A182A590A780A122</action>
            <action>maincpu.oq@338B0 = A720A590A182A182</action>
            <action>maincpu.oq@338B8 = A122A590A122A122</action>
            <action>maincpu.oq@338C0 = A122A182A5A0A182</action>
            <action>maincpu.oq@338C8 = A182A5A0A5A0A780</action>
            <action>maincpu.oq@338D0 = A5A0A780A5A0A122</action>
            <action>maincpu.oq@338D8 = A780A590A780A590</action>
            <action>maincpu.oq@338E0 = A590A122A5A0A122</action>
        </script>
    </cheat>

</mamecheat>
ddcrewu.xml

Code: Select all

<!-- D. D. Crew (US, 4 Players) (FD1094 317-0186) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.ob@0BC68 = 60</action> <!-- player vs player -->
            <action>maincpu.ob@156A2 = 60</action> <!-- machine gun (time over) -->
            <action>maincpu.ob@1636A = 60</action> <!-- normal attack -->
            <action>maincpu.ob@21A78 = 60</action> <!-- machine gun (boss 6) -->
            <action>maincpu.ob@277FA = 60</action> <!-- bazooka (boss 6) -->
            <action>maincpu.ob@27C0A = 60</action> <!-- drum (boss 5) -->
            <action>maincpu.ob@284B4 = 60</action> <!-- knife -->
            <action>maincpu.ob@28674 = 60</action> <!-- grenade -->
        </script>
        <script state="off">
            <action>maincpu.ob@0BC68 = 6E</action>
            <action>maincpu.ob@156A2 = 66</action>
            <action>maincpu.ob@1636A = 6E</action>
            <action>maincpu.ob@21A78 = 66</action>
            <action>maincpu.ob@277FA = 6E</action>
            <action>maincpu.ob@27C0A = 6C</action>
            <action>maincpu.ob@284B4 = 6E</action>
            <action>maincpu.ob@28674 = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="run">
            <action>maincpu.ob@85C8 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.ob@85C8 = 67</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0300">03       </item>
            <item value="0x0480">04       </item>
            <item value="0x0600">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.ob@419E =  6E   </action> <!-- patch at start point in stage 5 -->
            <action>maincpu.ow@865A =  param</action> <!-- right -->
            <action>maincpu.ow@86C4 = -param</action> <!-- left -->
            <action>maincpu.ow@873C =  param</action> <!-- down -->
            <action>maincpu.ow@8792 = -param</action> <!-- up -->
        </script>
        <script state="off">
            <action>maincpu.ob@419E = 67  </action>
            <action>maincpu.ow@865A = 0180</action>
            <action>maincpu.ow@86C4 = FE80</action>
            <action>maincpu.ow@873C = 0100</action>
            <action>maincpu.ow@8792 = FF00</action>
        </script>
    </cheat>

    <cheat desc="action speed up">
        <script state="run">
            <action>maincpu.ob@AE6B = 02</action>
        </script>
        <script state="off">
            <action>maincpu.ob@AE6B = 1E</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill">
        <script state="run">
            <action>maincpu.ob@168F7 = 02</action> <!-- normal scene -->
            <action>maincpu.ob@25265 = 02</action> <!-- bonus scene -->
        </script>
        <script state="off">
            <action>maincpu.ob@168F7 = 2C</action>
            <action>maincpu.ob@25265 = 0C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.oq@00712 = 4EF9000332504E71</action>
            <action>maincpu.oq@33250 = 41F8900043F900FE</action>
            <action>maincpu.oq@33258 = 00071200103900E4</action>
            <action>maincpu.oq@33260 = 0001B20067F40C00</action>
            <action>maincpu.oq@33268 = 007F660253100C00</action>
            <action>maincpu.oq@33270 = 00BF660252100C00</action>
            <action>maincpu.oq@33278 = 00EF660404100010</action>
            <action>maincpu.oq@33280 = 0C0000DF66040610</action>
            <action>maincpu.oq@33288 = 00100C0000FE6608</action>
            <action>maincpu.oq@33290 = 1410000200801282</action>
            <action>maincpu.oq@33298 = 0C0000FD66024211</action>
            <action>maincpu.oq@332A0 = 60B8FFFFFFFFFFFF</action>
            <!--
            33250 | 41F8 9000      : lea     $9000.w, A0   // sound code address ($FF9000)
            33254 | 43F9 00FE 0007 : lea     $fe0007.l, A1 // sound latch address
            3325A | 1200           : move.b  D0, D1
            3325C | 1039 00E4 0001 : move.b  $e40001.l, D0 // read input
            33262 | B200           : cmp.b   D0, D1
            33264 | 67F4           : beq     $3325a
            33266 | 0C00 007F      : cmpi.b  #$7f, D0
            3326A | 6602           : bne     $3326e
            3326C | 5310           : subq.b  #1, (A0)      // decrease code -01
            3326E | 0C00 00BF      : cmpi.b  #-$41, D0
            33272 | 6602           : bne     $33276
            33274 | 5210           : addq.b  #1, (A0)      // increase code +01
            33276 | 0C00 00EF      : cmpi.b  #-$11, D0
            3327A | 6604           : bne     $33280
            3327C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            33280 | 0C00 00DF      : cmpi.b  #-$21, D0
            33284 | 6604           : bne     $3328a
            33286 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            3328A | 0C00 00FE      : cmpi.b  #-$2, D0
            3328E | 6608           : bne     $33298
            33290 | 1410           : move.b  (A0), D2      // play sound
            33292 | 0002 0080      : ori.b   #$80, D2
            33296 | 1282           : move.b  D2, (A1)
            33298 | 0C00 00FD      : cmpi.b  #-$3, D0
            3329C | 6602           : bne     $332a0
            3329E | 4211           : clr.b   (A1)          // stop sound
            332A0 | 60B8           : bra     $3325a
            -->
            <!-- display -->
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.oq@00712 = 4E714E71610005C6</action>
            <action>maincpu.oq@33250 = 4168115811684158</action>
            <action>maincpu.oq@33258 = 4158415811584158</action>
            <action>maincpu.oq@33260 = 4168115841581158</action>
            <action>maincpu.oq@33268 = 1158415811584168</action>
            <action>maincpu.oq@33270 = 4168115811681158</action>
            <action>maincpu.oq@33278 = 4168415841584168</action>
            <action>maincpu.oq@33280 = 4168115811684168</action>
            <action>maincpu.oq@33288 = 4168415811581158</action>
            <action>maincpu.oq@33290 = 4158116841681168</action>
            <action>maincpu.oq@33298 = 1158116811581168</action>
            <action>maincpu.oq@332A0 = 4158115811681158</action>
        </script>
    </cheat>

</mamecheat>
ddcrew2.xml

Code: Select all

<!-- D. D. Crew (World, 2 Players) (FD1094 317-0184) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.ob@0BDCE = 60</action> <!-- player vs player -->
            <action>maincpu.ob@157C8 = 60</action> <!-- machine gun (time over) -->
            <action>maincpu.ob@16490 = 60</action> <!-- normal attack -->
            <action>maincpu.ob@21B9A = 60</action> <!-- machine gun (boss 6) -->
            <action>maincpu.ob@2791C = 60</action> <!-- bazooka (boss 6) -->
            <action>maincpu.ob@27D2C = 60</action> <!-- drum (boss 5) -->
            <action>maincpu.ob@285D6 = 60</action> <!-- knife -->
            <action>maincpu.ob@28796 = 60</action> <!-- grenade -->
        </script>
        <script state="off">
            <action>maincpu.ob@0BDCE = 6E</action>
            <action>maincpu.ob@157C8 = 66</action>
            <action>maincpu.ob@16490 = 6E</action>
            <action>maincpu.ob@21B9A = 66</action>
            <action>maincpu.ob@2791C = 6E</action>
            <action>maincpu.ob@27D2C = 6C</action>
            <action>maincpu.ob@285D6 = 6E</action>
            <action>maincpu.ob@28796 = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="run">
            <action>maincpu.ob@864C = 60</action>
        </script>
        <script state="off">
            <action>maincpu.ob@864C = 67</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0300">03       </item>
            <item value="0x0480">04       </item>
            <item value="0x0600">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.ob@3E4E =  6E   </action> <!-- patch at start point in stage 5 -->
            <action>maincpu.ow@86DE =  param</action> <!-- right -->
            <action>maincpu.ow@8748 = -param</action> <!-- left -->
            <action>maincpu.ow@87C0 =  param</action> <!-- down -->
            <action>maincpu.ow@8816 = -param</action> <!-- up -->
        </script>
        <script state="off">
            <action>maincpu.ob@3E4E = 67  </action>
            <action>maincpu.ow@86DE = 0180</action>
            <action>maincpu.ow@8748 = FE80</action>
            <action>maincpu.ow@87C0 = 0100</action>
            <action>maincpu.ow@8816 = FF00</action>
        </script>
    </cheat>

    <cheat desc="action speed up">
        <script state="run">
            <action>maincpu.ob@AEEF = 02</action>
        </script>
        <script state="off">
            <action>maincpu.ob@AEEF = 1E</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill">
        <script state="run">
            <action>maincpu.ob@16A1D = 02</action> <!-- normal scene -->
            <action>maincpu.ob@25387 = 02</action> <!-- bonus scene -->
        </script>
        <script state="off">
            <action>maincpu.ob@16A1D = 2C</action>
            <action>maincpu.ob@25387 = 0C</action>
        </script>
    </cheat>

    <cheat desc="selectable same character">
        <script state="run">
            <!-- character selection screen -->
            <action>maincpu.ob@53BF = 08</action>
            <action>maincpu.ob@5403 = 08</action>
            <!-- join -->
            <action>maincpu.ob@78FF = 08</action>
            <action>maincpu.ob@7943 = 08</action>
        </script>
        <script state="off">
            <action>maincpu.ob@53BF = E0</action>
            <action>maincpu.ob@5403 = E0</action>
            <action>maincpu.ob@78FF = E0</action>
            <action>maincpu.ob@7943 = E0</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.oq@0070A = 4EF9000330704E71</action>
            <action>maincpu.oq@33070 = 41F8900043F900FE</action>
            <action>maincpu.oq@33078 = 00071200103900E4</action>
            <action>maincpu.oq@33080 = 0001B20067F40C00</action>
            <action>maincpu.oq@33088 = 007F660253100C00</action>
            <action>maincpu.oq@33090 = 00BF660252100C00</action>
            <action>maincpu.oq@33098 = 00EF660404100010</action>
            <action>maincpu.oq@330A0 = 0C0000DF66040610</action>
            <action>maincpu.oq@330A8 = 00100C0000FE6608</action>
            <action>maincpu.oq@330B0 = 1410000200801282</action>
            <action>maincpu.oq@330B8 = 0C0000FD66024211</action>
            <action>maincpu.oq@330C0 = 60B8FFFFFFFFFFFF</action>
            <!--
            33070 | 41F8 9000      : lea     $9000.w, A0   // sound code address ($FF9000)
            33074 | 43F9 00FE 0007 : lea     $fe0007.l, A1 // sound latch address
            3307A | 1200           : move.b  D0, D1
            3307C | 1039 00E4 0001 : move.b  $e40001.l, D0 // read input
            33082 | B200           : cmp.b   D0, D1
            33084 | 67F4           : beq     $3307a
            33086 | 0C00 007F      : cmpi.b  #$7f, D0
            3308A | 6602           : bne     $3308e
            3308C | 5310           : subq.b  #1, (A0)      // decrease code -01
            3308E | 0C00 00BF      : cmpi.b  #-$41, D0
            33092 | 6602           : bne     $33096
            33094 | 5210           : addq.b  #1, (A0)      // increase code +01
            33096 | 0C00 00EF      : cmpi.b  #-$11, D0
            3309A | 6604           : bne     $330a0
            3309C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            330A0 | 0C00 00DF      : cmpi.b  #-$21, D0
            330A4 | 6604           : bne     $330aa
            330A6 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            330AA | 0C00 00FE      : cmpi.b  #-$2, D0
            330AE | 6608           : bne     $330b8
            330B0 | 1410           : move.b  (A0), D2      // play sound
            330B2 | 0002 0080      : ori.b   #$80, D2
            330B6 | 1282           : move.b  D2, (A1)
            330B8 | 0C00 00FD      : cmpi.b  #-$3, D0
            330BC | 6602           : bne     $330c0
            330BE | 4211           : clr.b   (A1)          // stop sound
            330C0 | 60B8           : bra     $3307a
            -->
            <!-- display -->
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.oq@0070A = 4E714E71610005C6</action>
            <action>maincpu.oq@33070 = 2072207220E224F0</action>
            <action>maincpu.oq@33078 = 20722670267020E2</action>
            <action>maincpu.oq@33080 = 207224F024F026E0</action>
            <action>maincpu.oq@33088 = 24F020E2207220E2</action>
            <action>maincpu.oq@33090 = 267026E020722670</action>
            <action>maincpu.oq@33098 = 26E024F0207220E2</action>
            <action>maincpu.oq@330A0 = 20E2267024F024F0</action>
            <action>maincpu.oq@330A8 = 2072207224F02072</action>
            <action>maincpu.oq@330B0 = 267024F020722072</action>
            <action>maincpu.oq@330B8 = 20E226E026E024F0</action>
            <action>maincpu.oq@330C0 = 207224F020722072</action>
        </script>
    </cheat>

</mamecheat>
ddcrew1.xml

Code: Select all

<!-- D. D. Crew (World, 4 Players) (FD1094 317-0187) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.ob@0BC68 = 60</action> <!-- player vs player -->
            <action>maincpu.ob@156A2 = 60</action> <!-- machine gun (time over) -->
            <action>maincpu.ob@1636A = 60</action> <!-- normal attack -->
            <action>maincpu.ob@21A78 = 60</action> <!-- machine gun (boss 6) -->
            <action>maincpu.ob@277FA = 60</action> <!-- bazooka (boss 6) -->
            <action>maincpu.ob@27C0A = 60</action> <!-- drum (boss 5) -->
            <action>maincpu.ob@284B4 = 60</action> <!-- knife -->
            <action>maincpu.ob@28674 = 60</action> <!-- grenade -->
        </script>
        <script state="off">
            <action>maincpu.ob@0BC68 = 6E</action>
            <action>maincpu.ob@156A2 = 66</action>
            <action>maincpu.ob@1636A = 6E</action>
            <action>maincpu.ob@21A78 = 66</action>
            <action>maincpu.ob@277FA = 6E</action>
            <action>maincpu.ob@27C0A = 6C</action>
            <action>maincpu.ob@284B4 = 6E</action>
            <action>maincpu.ob@28674 = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="run">
            <action>maincpu.ob@85C8 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.ob@85C8 = 67</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0300">03       </item>
            <item value="0x0480">04       </item>
            <item value="0x0600">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.ob@419E =  6E   </action> <!-- patch at start point in stage 5 -->
            <action>maincpu.ow@865A =  param</action> <!-- right -->
            <action>maincpu.ow@86C4 = -param</action> <!-- left -->
            <action>maincpu.ow@873C =  param</action> <!-- down -->
            <action>maincpu.ow@8792 = -param</action> <!-- up -->
        </script>
        <script state="off">
            <action>maincpu.ob@419E = 67  </action>
            <action>maincpu.ow@865A = 0180</action>
            <action>maincpu.ow@86C4 = FE80</action>
            <action>maincpu.ow@873C = 0100</action>
            <action>maincpu.ow@8792 = FF00</action>
        </script>
    </cheat>

    <cheat desc="action speed up">
        <script state="run">
            <action>maincpu.ob@AE6B = 02</action>
        </script>
        <script state="off">
            <action>maincpu.ob@AE6B = 1E</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill">
        <script state="run">
            <action>maincpu.ob@168F7 = 02</action> <!-- normal scene -->
            <action>maincpu.ob@25265 = 02</action> <!-- bonus scene -->
        </script>
        <script state="off">
            <action>maincpu.ob@168F7 = 2C</action>
            <action>maincpu.ob@25265 = 0C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.oq@00712 = 4EF9000332504E71</action>
            <action>maincpu.oq@33250 = 41F8900043F900FE</action>
            <action>maincpu.oq@33258 = 00071200103900E4</action>
            <action>maincpu.oq@33260 = 0001B20067F40C00</action>
            <action>maincpu.oq@33268 = 007F660253100C00</action>
            <action>maincpu.oq@33270 = 00BF660252100C00</action>
            <action>maincpu.oq@33278 = 00EF660404100010</action>
            <action>maincpu.oq@33280 = 0C0000DF66040610</action>
            <action>maincpu.oq@33288 = 00100C0000FE6608</action>
            <action>maincpu.oq@33290 = 1410000200801282</action>
            <action>maincpu.oq@33298 = 0C0000FD66024211</action>
            <action>maincpu.oq@332A0 = 60B8FFFFFFFFFFFF</action>
            <!--
            33250 | 41F8 9000      : lea     $9000.w, A0   // sound code address ($FF9000)
            33254 | 43F9 00FE 0007 : lea     $fe0007.l, A1 // sound latch address
            3325A | 1200           : move.b  D0, D1
            3325C | 1039 00E4 0001 : move.b  $e40001.l, D0 // read input
            33262 | B200           : cmp.b   D0, D1
            33264 | 67F4           : beq     $3325a
            33266 | 0C00 007F      : cmpi.b  #$7f, D0
            3326A | 6602           : bne     $3326e
            3326C | 5310           : subq.b  #1, (A0)      // decrease code -01
            3326E | 0C00 00BF      : cmpi.b  #-$41, D0
            33272 | 6602           : bne     $33276
            33274 | 5210           : addq.b  #1, (A0)      // increase code +01
            33276 | 0C00 00EF      : cmpi.b  #-$11, D0
            3327A | 6604           : bne     $33280
            3327C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            33280 | 0C00 00DF      : cmpi.b  #-$21, D0
            33284 | 6604           : bne     $3328a
            33286 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            3328A | 0C00 00FE      : cmpi.b  #-$2, D0
            3328E | 6608           : bne     $33298
            33290 | 1410           : move.b  (A0), D2      // play sound
            33292 | 0002 0080      : ori.b   #$80, D2
            33296 | 1282           : move.b  D2, (A1)
            33298 | 0C00 00FD      : cmpi.b  #-$3, D0
            3329C | 6602           : bne     $332a0
            3329E | 4211           : clr.b   (A1)          // stop sound
            332A0 | 60B8           : bra     $3325a
            -->
            <!-- display -->
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.oq@00712 = 4E714E71610005C6</action>
            <action>maincpu.oq@33250 = A508A508A508A508</action>
            <action>maincpu.oq@33258 = A508A508A508A508</action>
            <action>maincpu.oq@33260 = A508A508A508A508</action>
            <action>maincpu.oq@33268 = A508A508A508A508</action>
            <action>maincpu.oq@33270 = A508A508A508A508</action>
            <action>maincpu.oq@33278 = A508A508A508A508</action>
            <action>maincpu.oq@33280 = A508A508A508A508</action>
            <action>maincpu.oq@33288 = A508A508A508A508</action>
            <action>maincpu.oq@33290 = A508A508A508A508</action>
            <action>maincpu.oq@33298 = A508A508A508A508</action>
            <action>maincpu.oq@332A0 = A508A508A508A508</action>
        </script>
    </cheat>

</mamecheat>
ddcrewj.xml

Code: Select all

<!-- D. D. Crew (Japan, 4 Players) (FD1094 317-0185) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.ob@0BC68 = 60</action> <!-- player vs player -->
            <action>maincpu.ob@156A2 = 60</action> <!-- machine gun (time over) -->
            <action>maincpu.ob@1636A = 60</action> <!-- normal attack -->
            <action>maincpu.ob@21A78 = 60</action> <!-- machine gun (boss 6) -->
            <action>maincpu.ob@277FA = 60</action> <!-- bazooka (boss 6) -->
            <action>maincpu.ob@27C0A = 60</action> <!-- drum (boss 5) -->
            <action>maincpu.ob@284B4 = 60</action> <!-- knife -->
            <action>maincpu.ob@28674 = 60</action> <!-- grenade -->
        </script>
        <script state="off">
            <action>maincpu.ob@0BC68 = 6E</action>
            <action>maincpu.ob@156A2 = 66</action>
            <action>maincpu.ob@1636A = 6E</action>
            <action>maincpu.ob@21A78 = 66</action>
            <action>maincpu.ob@277FA = 6E</action>
            <action>maincpu.ob@27C0A = 6C</action>
            <action>maincpu.ob@284B4 = 6E</action>
            <action>maincpu.ob@28674 = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="run">
            <action>maincpu.ob@85C8 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.ob@85C8 = 67</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0300">03       </item>
            <item value="0x0480">04       </item>
            <item value="0x0600">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.ob@419E =  6E   </action> <!-- patch at start point in stage 5 -->
            <action>maincpu.ow@865A =  param</action> <!-- right -->
            <action>maincpu.ow@86C4 = -param</action> <!-- left -->
            <action>maincpu.ow@873C =  param</action> <!-- down -->
            <action>maincpu.ow@8792 = -param</action> <!-- up -->
        </script>
        <script state="off">
            <action>maincpu.ob@419E = 67  </action>
            <action>maincpu.ow@865A = 0180</action>
            <action>maincpu.ow@86C4 = FE80</action>
            <action>maincpu.ow@873C = 0100</action>
            <action>maincpu.ow@8792 = FF00</action>
        </script>
    </cheat>

    <cheat desc="action speed up">
        <script state="run">
            <action>maincpu.ob@AE6B = 02</action>
        </script>
        <script state="off">
            <action>maincpu.ob@AE6B = 1E</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill">
        <script state="run">
            <action>maincpu.ob@168F7 = 02</action> <!-- normal scene -->
            <action>maincpu.ob@25265 = 02</action> <!-- bonus scene -->
        </script>
        <script state="off">
            <action>maincpu.ob@168F7 = 2C</action>
            <action>maincpu.ob@25265 = 0C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.oq@00712 = 4EF9000332504E71</action>
            <action>maincpu.oq@33250 = 41F8900043F900FE</action>
            <action>maincpu.oq@33258 = 00071200103900E4</action>
            <action>maincpu.oq@33260 = 0001B20067F40C00</action>
            <action>maincpu.oq@33268 = 007F660253100C00</action>
            <action>maincpu.oq@33270 = 00BF660252100C00</action>
            <action>maincpu.oq@33278 = 00EF660404100010</action>
            <action>maincpu.oq@33280 = 0C0000DF66040610</action>
            <action>maincpu.oq@33288 = 00100C0000FE6608</action>
            <action>maincpu.oq@33290 = 1410000200801282</action>
            <action>maincpu.oq@33298 = 0C0000FD66024211</action>
            <action>maincpu.oq@332A0 = 60B8FFFFFFFFFFFF</action>
            <!--
            33250 | 41F8 9000      : lea     $9000.w, A0   // sound code address ($FF9000)
            33254 | 43F9 00FE 0007 : lea     $fe0007.l, A1 // sound latch address
            3325A | 1200           : move.b  D0, D1
            3325C | 1039 00E4 0001 : move.b  $e40001.l, D0 // read input
            33262 | B200           : cmp.b   D0, D1
            33264 | 67F4           : beq     $3325a
            33266 | 0C00 007F      : cmpi.b  #$7f, D0
            3326A | 6602           : bne     $3326e
            3326C | 5310           : subq.b  #1, (A0)      // decrease code -01
            3326E | 0C00 00BF      : cmpi.b  #-$41, D0
            33272 | 6602           : bne     $33276
            33274 | 5210           : addq.b  #1, (A0)      // increase code +01
            33276 | 0C00 00EF      : cmpi.b  #-$11, D0
            3327A | 6604           : bne     $33280
            3327C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            33280 | 0C00 00DF      : cmpi.b  #-$21, D0
            33284 | 6604           : bne     $3328a
            33286 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            3328A | 0C00 00FE      : cmpi.b  #-$2, D0
            3328E | 6608           : bne     $33298
            33290 | 1410           : move.b  (A0), D2      // play sound
            33292 | 0002 0080      : ori.b   #$80, D2
            33296 | 1282           : move.b  D2, (A1)
            33298 | 0C00 00FD      : cmpi.b  #-$3, D0
            3329C | 6602           : bne     $332a0
            3329E | 4211           : clr.b   (A1)          // stop sound
            332A0 | 60B8           : bra     $3325a
            -->
            <!-- display -->
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.oq@00712 = 610001A0610005C6</action>
            <action>maincpu.oq@33250 = A590A780A122A182</action>
            <action>maincpu.oq@33258 = A182A122A5A0A122</action>
            <action>maincpu.oq@33260 = A590A5A0A5A0A122</action>
            <action>maincpu.oq@33268 = A720A122A590A122</action>
            <action>maincpu.oq@33270 = A5A0A182A122A182</action>
            <action>maincpu.oq@33278 = A122A780A122A5A0</action>
            <action>maincpu.oq@33280 = A122A590A122A780</action>
            <action>maincpu.oq@33288 = A122A122A182A5A0</action>
            <action>maincpu.oq@33290 = A780A590A182A182</action>
            <action>maincpu.oq@33298 = A182A182A590A182</action>
            <action>maincpu.oq@332A0 = A122A122A182A5A0</action>
        </script>
    </cheat>

</mamecheat>
ddcrewj2.xml

Code: Select all

<!-- D. D. Crew (Japan, 2 Players) (FD1094 317-0182) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="run">
            <action>maincpu.ob@0BDCE = 60</action> <!-- player vs player -->
            <action>maincpu.ob@157C8 = 60</action> <!-- machine gun (time over) -->
            <action>maincpu.ob@16490 = 60</action> <!-- normal attack -->
            <action>maincpu.ob@21B9A = 60</action> <!-- machine gun (boss 6) -->
            <action>maincpu.ob@2791C = 60</action> <!-- bazooka (boss 6) -->
            <action>maincpu.ob@27D2C = 60</action> <!-- drum (boss 5) -->
            <action>maincpu.ob@285D6 = 60</action> <!-- knife -->
            <action>maincpu.ob@28796 = 60</action> <!-- grenade -->
        </script>
        <script state="off">
            <action>maincpu.ob@0BDCE = 6E</action>
            <action>maincpu.ob@157C8 = 66</action>
            <action>maincpu.ob@16490 = 6E</action>
            <action>maincpu.ob@21B9A = 66</action>
            <action>maincpu.ob@2791C = 6E</action>
            <action>maincpu.ob@27D2C = 6C</action>
            <action>maincpu.ob@285D6 = 6E</action>
            <action>maincpu.ob@28796 = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="run">
            <action>maincpu.ob@864C = 60</action>
        </script>
        <script state="off">
            <action>maincpu.ob@864C = 67</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0300">03       </item>
            <item value="0x0480">04       </item>
            <item value="0x0600">05 (fast)</item>
        </parameter>
        <script state="run">
            <action>maincpu.ob@3E4E =  6E   </action> <!-- patch at start point in stage 5 -->
            <action>maincpu.ow@86DE =  param</action> <!-- right -->
            <action>maincpu.ow@8748 = -param</action> <!-- left -->
            <action>maincpu.ow@87C0 =  param</action> <!-- down -->
            <action>maincpu.ow@8816 = -param</action> <!-- up -->
        </script>
        <script state="off">
            <action>maincpu.ob@3E4E = 67  </action>
            <action>maincpu.ow@86DE = 0180</action>
            <action>maincpu.ow@8748 = FE80</action>
            <action>maincpu.ow@87C0 = 0100</action>
            <action>maincpu.ow@8816 = FF00</action>
        </script>
    </cheat>

    <cheat desc="action speed up">
        <script state="run">
            <action>maincpu.ob@AEEF = 02</action>
        </script>
        <script state="off">
            <action>maincpu.ob@AEEF = 1E</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill">
        <script state="run">
            <action>maincpu.ob@16A1D = 02</action> <!-- normal scene -->
            <action>maincpu.ob@25387 = 02</action> <!-- bonus scene -->
        </script>
        <script state="off">
            <action>maincpu.ob@16A1D = 2C</action>
            <action>maincpu.ob@25387 = 0C</action>
        </script>
    </cheat>

    <cheat desc="selectable same character">
        <script state="run">
            <!-- character selection screen -->
            <action>maincpu.ob@53BF = 08</action>
            <action>maincpu.ob@5403 = 08</action>
            <!-- join -->
            <action>maincpu.ob@78FF = 08</action>
            <action>maincpu.ob@7943 = 08</action>
        </script>
        <script state="off">
            <action>maincpu.ob@53BF = E0</action>
            <action>maincpu.ob@5403 = E0</action>
            <action>maincpu.ob@78FF = E0</action>
            <action>maincpu.ob@7943 = E0</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="run">
            <!-- routine -->
            <action>maincpu.oq@0070A = 4EF9000330704E71</action>
            <action>maincpu.oq@33070 = 41F8900043F900FE</action>
            <action>maincpu.oq@33078 = 00071200103900E4</action>
            <action>maincpu.oq@33080 = 0001B20067F40C00</action>
            <action>maincpu.oq@33088 = 007F660253100C00</action>
            <action>maincpu.oq@33090 = 00BF660252100C00</action>
            <action>maincpu.oq@33098 = 00EF660404100010</action>
            <action>maincpu.oq@330A0 = 0C0000DF66040610</action>
            <action>maincpu.oq@330A8 = 00100C0000FE6608</action>
            <action>maincpu.oq@330B0 = 1410000200801282</action>
            <action>maincpu.oq@330B8 = 0C0000FD66024211</action>
            <action>maincpu.oq@330C0 = 60B8FFFFFFFFFFFF</action>
            <!--
            33070 | 41F8 9000      : lea     $9000.w, A0   // sound code address ($FF9000)
            33074 | 43F9 00FE 0007 : lea     $fe0007.l, A1 // sound latch address
            3307A | 1200           : move.b  D0, D1
            3307C | 1039 00E4 0001 : move.b  $e40001.l, D0 // read input
            33082 | B200           : cmp.b   D0, D1
            33084 | 67F4           : beq     $3307a
            33086 | 0C00 007F      : cmpi.b  #$7f, D0
            3308A | 6602           : bne     $3308e
            3308C | 5310           : subq.b  #1, (A0)      // decrease code -01
            3308E | 0C00 00BF      : cmpi.b  #-$41, D0
            33092 | 6602           : bne     $33096
            33094 | 5210           : addq.b  #1, (A0)      // increase code +01
            33096 | 0C00 00EF      : cmpi.b  #-$11, D0
            3309A | 6604           : bne     $330a0
            3309C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            330A0 | 0C00 00DF      : cmpi.b  #-$21, D0
            330A4 | 6604           : bne     $330aa
            330A6 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            330AA | 0C00 00FE      : cmpi.b  #-$2, D0
            330AE | 6608           : bne     $330b8
            330B0 | 1410           : move.b  (A0), D2      // play sound
            330B2 | 0002 0080      : ori.b   #$80, D2
            330B6 | 1282           : move.b  D2, (A1)
            330B8 | 0C00 00FD      : cmpi.b  #-$3, D0
            330BC | 6602           : bne     $330c0
            330BE | 4211           : clr.b   (A1)          // stop sound
            330C0 | 60B8           : bra     $3307a
            -->
            <!-- display -->
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.oq@0070A = 610001A0610005C6</action>
            <action>maincpu.oq@33070 = AD20A482AD80A422</action>
            <action>maincpu.oq@33078 = AD20A590A482AD20</action>
            <action>maincpu.oq@33080 = A482A590A482A590</action>
            <action>maincpu.oq@33088 = A422AD20A422A482</action>
            <action>maincpu.oq@33090 = AD20A422AD20A482</action>
            <action>maincpu.oq@33098 = A422A422A482A482</action>
            <action>maincpu.oq@330A0 = A5A0A422AD20A5A0</action>
            <action>maincpu.oq@330A8 = AD20A482AD20AD20</action>
            <action>maincpu.oq@330B0 = AD80A5A0A422A5A0</action>
            <action>maincpu.oq@330B8 = A482A5A0A422A422</action>
            <action>maincpu.oq@330C0 = A422AD20A422A482</action>
        </script>
    </cheat>

</mamecheat>
ddcrewd.xml

Code: Select all

<!-- D. D. Crew (World, 3 Players) (bootleg of FD1094 317-0190 set) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@0C486 = 60</action> <!-- player vs player -->
            <action>maincpu.mb@15E90 = 60</action> <!-- machine gun (time over) -->
            <action>maincpu.mb@16B58 = 60</action> <!-- normal attack -->
            <action>maincpu.mb@22262 = 60</action> <!-- machine gun (boss 6) -->
            <action>maincpu.mb@27FE4 = 60</action> <!-- bazooka (boss 6) -->
            <action>maincpu.mb@283F4 = 60</action> <!-- drum (boss 5) -->
            <action>maincpu.mb@28C9E = 60</action> <!-- knife -->
            <action>maincpu.mb@28E5E = 60</action> <!-- grenade -->
        </script>
        <script state="off">
            <action>maincpu.mb@0C486 = 6E</action>
            <action>maincpu.mb@15E90 = 66</action>
            <action>maincpu.mb@16B58 = 6E</action>
            <action>maincpu.mb@22262 = 66</action>
            <action>maincpu.mb@27FE4 = 6E</action>
            <action>maincpu.mb@283F4 = 6C</action>
            <action>maincpu.mb@28C9E = 6E</action>
            <action>maincpu.mb@28E5E = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@8D04 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8D04 = 67</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0300">03       </item>
            <item value="0x0480">04       </item>
            <item value="0x0600">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@400C =  6E</action> <!-- patch at start point in stage 5 -->
        </script>
        <script state="change">
            <action>maincpu.mw@8D96 =  param</action> <!-- right -->
            <action>maincpu.mw@8E00 = -param</action> <!-- left -->
            <action>maincpu.mw@8E78 =  param</action> <!-- down -->
            <action>maincpu.mw@8ECE = -param</action> <!-- up -->
        </script>
        <script state="off">
            <action>maincpu.mb@400C = 67  </action>
            <action>maincpu.mw@8D96 = 0180</action>
            <action>maincpu.mw@8E00 = FE80</action>
            <action>maincpu.mw@8E78 = 0100</action>
            <action>maincpu.mw@8ECE = FF00</action>
        </script>
    </cheat>

    <cheat desc="action speed up">
        <script state="on">
            <action>maincpu.mb@B5A7 = 02</action>
        </script>
        <script state="off">
            <action>maincpu.mb@B5A7 = 1E</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill">
        <script state="on">
            <action>maincpu.mb@170E5 = 02</action> <!-- normal scene -->
            <action>maincpu.mb@25A4F = 02</action> <!-- bonus scene -->
        </script>
        <script state="off">
            <action>maincpu.mb@170E5 = 2C</action>
            <action>maincpu.mb@25A4F = 0C</action>
        </script>
    </cheat>

    <cheat desc="selectable same character">
        <script state="on">
            <!-- character selection screen -->
            <action>maincpu.mb@5621 = 08</action>
            <action>maincpu.mb@5665 = 08</action>
            <!-- join -->
            <action>maincpu.mb@7EEB = 08</action>
            <action>maincpu.mb@7F2F = 08</action>
        </script>
        <script state="off">
            <action>maincpu.mb@5621 = E0</action>
            <action>maincpu.mb@5665 = E0</action>
            <action>maincpu.mb@7EEB = E0</action>
            <action>maincpu.mb@7F2F = E0</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@0070A = 4EF9000338904E71</action>
            <action>maincpu.mq@33890 = 41F8900043F900FE</action>
            <action>maincpu.mq@33898 = 00071200103900E4</action>
            <action>maincpu.mq@338A0 = 0001B20067F40C00</action>
            <action>maincpu.mq@338A8 = 007F660253100C00</action>
            <action>maincpu.mq@338B0 = 00BF660252100C00</action>
            <action>maincpu.mq@338B8 = 00EF660404100010</action>
            <action>maincpu.mq@338C0 = 0C0000DF66040610</action>
            <action>maincpu.mq@338C8 = 00100C0000FE6608</action>
            <action>maincpu.mq@338D0 = 1410000200801282</action>
            <action>maincpu.mq@338D8 = 0C0000FD66024211</action>
            <action>maincpu.mq@338E0 = 60B8FFFFFFFFFFFF</action>
            <!--
            33890 | 41F8 9000      : lea     $9000.w, A0   // sound code address ($FF9000)
            33894 | 43F9 00FE 0007 : lea     $fe0007.l, A1 // sound latch address
            3389A | 1200           : move.b  D0, D1
            3389C | 1039 00E4 0001 : move.b  $e40001.l, D0 // read input
            338A2 | B200           : cmp.b   D0, D1
            338A4 | 67F4           : beq     $3389a
            338A6 | 0C00 007F      : cmpi.b  #$7f, D0
            338AA | 6602           : bne     $338ae
            338AC | 5310           : subq.b  #1, (A0)      // decrease code -01
            338AE | 0C00 00BF      : cmpi.b  #-$41, D0
            338B2 | 6602           : bne     $338b6
            338B4 | 5210           : addq.b  #1, (A0)      // increase code +01
            338B6 | 0C00 00EF      : cmpi.b  #-$11, D0
            338BA | 6604           : bne     $338c0
            338BC | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            338C0 | 0C00 00DF      : cmpi.b  #-$21, D0
            338C4 | 6604           : bne     $338ca
            338C6 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            338CA | 0C00 00FE      : cmpi.b  #-$2, D0
            338CE | 6608           : bne     $338d8
            338D0 | 1410           : move.b  (A0), D2      // play sound
            338D2 | 0002 0080      : ori.b   #$80, D2
            338D6 | 1282           : move.b  D2, (A1)
            338D8 | 0C00 00FD      : cmpi.b  #-$3, D0
            338DC | 6602           : bne     $338e0
            338DE | 4211           : clr.b   (A1)          // stop sound
            338E0 | 60B8           : bra     $3389a
            -->
        </script>
        <script state="run">
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0070A = 4E714E71610005C6</action>
            <action>maincpu.mq@33890 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33898 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@338A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@338A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@338B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@338B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@338C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@338C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@338D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@338D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@338E0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>

[ddcrew]+ D. D. Crew

Posted: Tue May 13, 2025 10:26 am
by jman
ddcrewud.xml

Code: Select all

<!-- D. D. Crew (US, 4 Players) (bootleg of FD1094 317-0186 set) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@0BC68 = 60</action> <!-- player vs player -->
            <action>maincpu.mb@156A2 = 60</action> <!-- machine gun (time over) -->
            <action>maincpu.mb@1636A = 60</action> <!-- normal attack -->
            <action>maincpu.mb@21A78 = 60</action> <!-- machine gun (boss 6) -->
            <action>maincpu.mb@277FA = 60</action> <!-- bazooka (boss 6) -->
            <action>maincpu.mb@27C0A = 60</action> <!-- drum (boss 5) -->
            <action>maincpu.mb@284B4 = 60</action> <!-- knife -->
            <action>maincpu.mb@28674 = 60</action> <!-- grenade -->
        </script>
        <script state="off">
            <action>maincpu.mb@0BC68 = 6E</action>
            <action>maincpu.mb@156A2 = 66</action>
            <action>maincpu.mb@1636A = 6E</action>
            <action>maincpu.mb@21A78 = 66</action>
            <action>maincpu.mb@277FA = 6E</action>
            <action>maincpu.mb@27C0A = 6C</action>
            <action>maincpu.mb@284B4 = 6E</action>
            <action>maincpu.mb@28674 = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@85C8 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@85C8 = 67</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0300">03       </item>
            <item value="0x0480">04       </item>
            <item value="0x0600">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@419E =  6E</action> <!-- patch at start point in stage 5 -->
        </script>
        <script state="change">
            <action>maincpu.mw@865A =  param</action> <!-- right -->
            <action>maincpu.mw@86C4 = -param</action> <!-- left -->
            <action>maincpu.mw@873C =  param</action> <!-- down -->
            <action>maincpu.mw@8792 = -param</action> <!-- up -->
        </script>
        <script state="off">
            <action>maincpu.mb@419E = 67  </action>
            <action>maincpu.mw@865A = 0180</action>
            <action>maincpu.mw@86C4 = FE80</action>
            <action>maincpu.mw@873C = 0100</action>
            <action>maincpu.mw@8792 = FF00</action>
        </script>
    </cheat>

    <cheat desc="action speed up">
        <script state="on">
            <action>maincpu.mb@AE6B = 02</action>
        </script>
        <script state="off">
            <action>maincpu.mb@AE6B = 1E</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill">
        <script state="on">
            <action>maincpu.mb@168F7 = 02</action> <!-- normal scene -->
            <action>maincpu.mb@25265 = 02</action> <!-- bonus scene -->
        </script>
        <script state="off">
            <action>maincpu.mb@168F7 = 2C</action>
            <action>maincpu.mb@25265 = 0C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@00712 = 4EF9000332504E71</action>
            <action>maincpu.mq@33250 = 41F8900043F900FE</action>
            <action>maincpu.mq@33258 = 00071200103900E4</action>
            <action>maincpu.mq@33260 = 0001B20067F40C00</action>
            <action>maincpu.mq@33268 = 007F660253100C00</action>
            <action>maincpu.mq@33270 = 00BF660252100C00</action>
            <action>maincpu.mq@33278 = 00EF660404100010</action>
            <action>maincpu.mq@33280 = 0C0000DF66040610</action>
            <action>maincpu.mq@33288 = 00100C0000FE6608</action>
            <action>maincpu.mq@33290 = 1410000200801282</action>
            <action>maincpu.mq@33298 = 0C0000FD66024211</action>
            <action>maincpu.mq@332A0 = 60B8FFFFFFFFFFFF</action>
            <!--
            33250 | 41F8 9000      : lea     $9000.w, A0   // sound code address ($FF9000)
            33254 | 43F9 00FE 0007 : lea     $fe0007.l, A1 // sound latch address
            3325A | 1200           : move.b  D0, D1
            3325C | 1039 00E4 0001 : move.b  $e40001.l, D0 // read input
            33262 | B200           : cmp.b   D0, D1
            33264 | 67F4           : beq     $3325a
            33266 | 0C00 007F      : cmpi.b  #$7f, D0
            3326A | 6602           : bne     $3326e
            3326C | 5310           : subq.b  #1, (A0)      // decrease code -01
            3326E | 0C00 00BF      : cmpi.b  #-$41, D0
            33272 | 6602           : bne     $33276
            33274 | 5210           : addq.b  #1, (A0)      // increase code +01
            33276 | 0C00 00EF      : cmpi.b  #-$11, D0
            3327A | 6604           : bne     $33280
            3327C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            33280 | 0C00 00DF      : cmpi.b  #-$21, D0
            33284 | 6604           : bne     $3328a
            33286 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            3328A | 0C00 00FE      : cmpi.b  #-$2, D0
            3328E | 6608           : bne     $33298
            33290 | 1410           : move.b  (A0), D2      // play sound
            33292 | 0002 0080      : ori.b   #$80, D2
            33296 | 1282           : move.b  D2, (A1)
            33298 | 0C00 00FD      : cmpi.b  #-$3, D0
            3329C | 6602           : bne     $332a0
            3329E | 4211           : clr.b   (A1)          // stop sound
            332A0 | 60B8           : bra     $3325a
            -->
        </script>
        <script state="run">
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@00712 = 4E714E71610005C6</action>
            <action>maincpu.mq@33250 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33258 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33260 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33268 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33270 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33278 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33280 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33288 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33290 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33298 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@332A0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
ddcrew2d.xml

Code: Select all

<!-- D. D. Crew (World, 2 Players) (bootleg of FD1094 317-0184 set) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@0BDCE = 60</action> <!-- player vs player -->
            <action>maincpu.mb@157C8 = 60</action> <!-- machine gun (time over) -->
            <action>maincpu.mb@16490 = 60</action> <!-- normal attack -->
            <action>maincpu.mb@21B9A = 60</action> <!-- machine gun (boss 6) -->
            <action>maincpu.mb@2791C = 60</action> <!-- bazooka (boss 6) -->
            <action>maincpu.mb@27D2C = 60</action> <!-- drum (boss 5) -->
            <action>maincpu.mb@285D6 = 60</action> <!-- knife -->
            <action>maincpu.mb@28796 = 60</action> <!-- grenade -->
        </script>
        <script state="off">
            <action>maincpu.mb@0BDCE = 6E</action>
            <action>maincpu.mb@157C8 = 66</action>
            <action>maincpu.mb@16490 = 6E</action>
            <action>maincpu.mb@21B9A = 66</action>
            <action>maincpu.mb@2791C = 6E</action>
            <action>maincpu.mb@27D2C = 6C</action>
            <action>maincpu.mb@285D6 = 6E</action>
            <action>maincpu.mb@28796 = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@864C = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@864C = 67</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0300">03       </item>
            <item value="0x0480">04       </item>
            <item value="0x0600">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@3E4E =  6E</action> <!-- patch at start point in stage 5 -->
        </script>
        <script state="change">
            <action>maincpu.mw@86DE =  param</action> <!-- right -->
            <action>maincpu.mw@8748 = -param</action> <!-- left -->
            <action>maincpu.mw@87C0 =  param</action> <!-- down -->
            <action>maincpu.mw@8816 = -param</action> <!-- up -->
        </script>
        <script state="off">
            <action>maincpu.mb@3E4E = 67  </action>
            <action>maincpu.mw@86DE = 0180</action>
            <action>maincpu.mw@8748 = FE80</action>
            <action>maincpu.mw@87C0 = 0100</action>
            <action>maincpu.mw@8816 = FF00</action>
        </script>
    </cheat>

    <cheat desc="action speed up">
        <script state="on">
            <action>maincpu.mb@AEEF = 02</action>
        </script>
        <script state="off">
            <action>maincpu.mb@AEEF = 1E</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill">
        <script state="on">
            <action>maincpu.mb@16A1D = 02</action> <!-- normal scene -->
            <action>maincpu.mb@25387 = 02</action> <!-- bonus scene -->
        </script>
        <script state="off">
            <action>maincpu.mb@16A1D = 2C</action>
            <action>maincpu.mb@25387 = 0C</action>
        </script>
    </cheat>

    <cheat desc="selectable same character">
        <script state="on">
            <!-- character selection screen -->
            <action>maincpu.mb@53BF = 08</action>
            <action>maincpu.mb@5403 = 08</action>
            <!-- join -->
            <action>maincpu.mb@78FF = 08</action>
            <action>maincpu.mb@7943 = 08</action>
        </script>
        <script state="off">
            <action>maincpu.mb@53BF = E0</action>
            <action>maincpu.mb@5403 = E0</action>
            <action>maincpu.mb@78FF = E0</action>
            <action>maincpu.mb@7943 = E0</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@0070A = 4EF9000330704E71</action>
            <action>maincpu.mq@33070 = 41F8900043F900FE</action>
            <action>maincpu.mq@33078 = 00071200103900E4</action>
            <action>maincpu.mq@33080 = 0001B20067F40C00</action>
            <action>maincpu.mq@33088 = 007F660253100C00</action>
            <action>maincpu.mq@33090 = 00BF660252100C00</action>
            <action>maincpu.mq@33098 = 00EF660404100010</action>
            <action>maincpu.mq@330A0 = 0C0000DF66040610</action>
            <action>maincpu.mq@330A8 = 00100C0000FE6608</action>
            <action>maincpu.mq@330B0 = 1410000200801282</action>
            <action>maincpu.mq@330B8 = 0C0000FD66024211</action>
            <action>maincpu.mq@330C0 = 60B8FFFFFFFFFFFF</action>
            <!--
            33070 | 41F8 9000      : lea     $9000.w, A0   // sound code address ($FF9000)
            33074 | 43F9 00FE 0007 : lea     $fe0007.l, A1 // sound latch address
            3307A | 1200           : move.b  D0, D1
            3307C | 1039 00E4 0001 : move.b  $e40001.l, D0 // read input
            33082 | B200           : cmp.b   D0, D1
            33084 | 67F4           : beq     $3307a
            33086 | 0C00 007F      : cmpi.b  #$7f, D0
            3308A | 6602           : bne     $3308e
            3308C | 5310           : subq.b  #1, (A0)      // decrease code -01
            3308E | 0C00 00BF      : cmpi.b  #-$41, D0
            33092 | 6602           : bne     $33096
            33094 | 5210           : addq.b  #1, (A0)      // increase code +01
            33096 | 0C00 00EF      : cmpi.b  #-$11, D0
            3309A | 6604           : bne     $330a0
            3309C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            330A0 | 0C00 00DF      : cmpi.b  #-$21, D0
            330A4 | 6604           : bne     $330aa
            330A6 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            330AA | 0C00 00FE      : cmpi.b  #-$2, D0
            330AE | 6608           : bne     $330b8
            330B0 | 1410           : move.b  (A0), D2      // play sound
            330B2 | 0002 0080      : ori.b   #$80, D2
            330B6 | 1282           : move.b  D2, (A1)
            330B8 | 0C00 00FD      : cmpi.b  #-$3, D0
            330BC | 6602           : bne     $330c0
            330BE | 4211           : clr.b   (A1)          // stop sound
            330C0 | 60B8           : bra     $3307a
            -->
        </script>
        <script state="run">
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0070A = 4E714E71610005C6</action>
            <action>maincpu.mq@33070 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33078 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33080 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33088 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33090 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33098 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@330A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@330A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@330B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@330B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@330C0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
ddcrew1d.xml

Code: Select all

<!-- D. D. Crew (World, 4 Players) (bootleg of FD1094 317-0187 set) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@0BC68 = 60</action> <!-- player vs player -->
            <action>maincpu.mb@156A2 = 60</action> <!-- machine gun (time over) -->
            <action>maincpu.mb@1636A = 60</action> <!-- normal attack -->
            <action>maincpu.mb@21A78 = 60</action> <!-- machine gun (boss 6) -->
            <action>maincpu.mb@277FA = 60</action> <!-- bazooka (boss 6) -->
            <action>maincpu.mb@27C0A = 60</action> <!-- drum (boss 5) -->
            <action>maincpu.mb@284B4 = 60</action> <!-- knife -->
            <action>maincpu.mb@28674 = 60</action> <!-- grenade -->
        </script>
        <script state="off">
            <action>maincpu.mb@0BC68 = 6E</action>
            <action>maincpu.mb@156A2 = 66</action>
            <action>maincpu.mb@1636A = 6E</action>
            <action>maincpu.mb@21A78 = 66</action>
            <action>maincpu.mb@277FA = 6E</action>
            <action>maincpu.mb@27C0A = 6C</action>
            <action>maincpu.mb@284B4 = 6E</action>
            <action>maincpu.mb@28674 = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@85C8 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@85C8 = 67</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0300">03       </item>
            <item value="0x0480">04       </item>
            <item value="0x0600">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@419E =  6E</action> <!-- patch at start point in stage 5 -->
        </script>
        <script state="change">
            <action>maincpu.mw@865A =  param</action> <!-- right -->
            <action>maincpu.mw@86C4 = -param</action> <!-- left -->
            <action>maincpu.mw@873C =  param</action> <!-- down -->
            <action>maincpu.mw@8792 = -param</action> <!-- up -->
        </script>
        <script state="off">
            <action>maincpu.mb@419E = 67  </action>
            <action>maincpu.mw@865A = 0180</action>
            <action>maincpu.mw@86C4 = FE80</action>
            <action>maincpu.mw@873C = 0100</action>
            <action>maincpu.mw@8792 = FF00</action>
        </script>
    </cheat>

    <cheat desc="action speed up">
        <script state="on">
            <action>maincpu.mb@AE6B = 02</action>
        </script>
        <script state="off">
            <action>maincpu.mb@AE6B = 1E</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill">
        <script state="on">
            <action>maincpu.mb@168F7 = 02</action> <!-- normal scene -->
            <action>maincpu.mb@25265 = 02</action> <!-- bonus scene -->
        </script>
        <script state="off">
            <action>maincpu.mb@168F7 = 2C</action>
            <action>maincpu.mb@25265 = 0C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@00712 = 4EF9000332504E71</action>
            <action>maincpu.mq@33250 = 41F8900043F900FE</action>
            <action>maincpu.mq@33258 = 00071200103900E4</action>
            <action>maincpu.mq@33260 = 0001B20067F40C00</action>
            <action>maincpu.mq@33268 = 007F660253100C00</action>
            <action>maincpu.mq@33270 = 00BF660252100C00</action>
            <action>maincpu.mq@33278 = 00EF660404100010</action>
            <action>maincpu.mq@33280 = 0C0000DF66040610</action>
            <action>maincpu.mq@33288 = 00100C0000FE6608</action>
            <action>maincpu.mq@33290 = 1410000200801282</action>
            <action>maincpu.mq@33298 = 0C0000FD66024211</action>
            <action>maincpu.mq@332A0 = 60B8FFFFFFFFFFFF</action>
            <!--
            33250 | 41F8 9000      : lea     $9000.w, A0   // sound code address ($FF9000)
            33254 | 43F9 00FE 0007 : lea     $fe0007.l, A1 // sound latch address
            3325A | 1200           : move.b  D0, D1
            3325C | 1039 00E4 0001 : move.b  $e40001.l, D0 // read input
            33262 | B200           : cmp.b   D0, D1
            33264 | 67F4           : beq     $3325a
            33266 | 0C00 007F      : cmpi.b  #$7f, D0
            3326A | 6602           : bne     $3326e
            3326C | 5310           : subq.b  #1, (A0)      // decrease code -01
            3326E | 0C00 00BF      : cmpi.b  #-$41, D0
            33272 | 6602           : bne     $33276
            33274 | 5210           : addq.b  #1, (A0)      // increase code +01
            33276 | 0C00 00EF      : cmpi.b  #-$11, D0
            3327A | 6604           : bne     $33280
            3327C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            33280 | 0C00 00DF      : cmpi.b  #-$21, D0
            33284 | 6604           : bne     $3328a
            33286 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            3328A | 0C00 00FE      : cmpi.b  #-$2, D0
            3328E | 6608           : bne     $33298
            33290 | 1410           : move.b  (A0), D2      // play sound
            33292 | 0002 0080      : ori.b   #$80, D2
            33296 | 1282           : move.b  D2, (A1)
            33298 | 0C00 00FD      : cmpi.b  #-$3, D0
            3329C | 6602           : bne     $332a0
            3329E | 4211           : clr.b   (A1)          // stop sound
            332A0 | 60B8           : bra     $3325a
            -->
        </script>
        <script state="run">
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@00712 = 4E714E71610005C6</action>
            <action>maincpu.mq@33250 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33258 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33260 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33268 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33270 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33278 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33280 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33288 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33290 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33298 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@332A0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
ddcrewjd.xml

Code: Select all

<!-- D. D. Crew (Japan, 4 Players) (bootleg of FD1094 317-0185 set) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@0BC68 = 60</action> <!-- player vs player -->
            <action>maincpu.mb@156A2 = 60</action> <!-- machine gun (time over) -->
            <action>maincpu.mb@1636A = 60</action> <!-- normal attack -->
            <action>maincpu.mb@21A78 = 60</action> <!-- machine gun (boss 6) -->
            <action>maincpu.mb@277FA = 60</action> <!-- bazooka (boss 6) -->
            <action>maincpu.mb@27C0A = 60</action> <!-- drum (boss 5) -->
            <action>maincpu.mb@284B4 = 60</action> <!-- knife -->
            <action>maincpu.mb@28674 = 60</action> <!-- grenade -->
        </script>
        <script state="off">
            <action>maincpu.mb@0BC68 = 6E</action>
            <action>maincpu.mb@156A2 = 66</action>
            <action>maincpu.mb@1636A = 6E</action>
            <action>maincpu.mb@21A78 = 66</action>
            <action>maincpu.mb@277FA = 6E</action>
            <action>maincpu.mb@27C0A = 6C</action>
            <action>maincpu.mb@284B4 = 6E</action>
            <action>maincpu.mb@28674 = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@85C8 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@85C8 = 67</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0300">03       </item>
            <item value="0x0480">04       </item>
            <item value="0x0600">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@419E =  6E</action> <!-- patch at start point in stage 5 -->
        </script>
        <script state="change">
            <action>maincpu.mw@865A =  param</action> <!-- right -->
            <action>maincpu.mw@86C4 = -param</action> <!-- left -->
            <action>maincpu.mw@873C =  param</action> <!-- down -->
            <action>maincpu.mw@8792 = -param</action> <!-- up -->
        </script>
        <script state="off">
            <action>maincpu.mb@419E = 67  </action>
            <action>maincpu.mw@865A = 0180</action>
            <action>maincpu.mw@86C4 = FE80</action>
            <action>maincpu.mw@873C = 0100</action>
            <action>maincpu.mw@8792 = FF00</action>
        </script>
    </cheat>

    <cheat desc="action speed up">
        <script state="on">
            <action>maincpu.mb@AE6B = 02</action>
        </script>
        <script state="off">
            <action>maincpu.mb@AE6B = 1E</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill">
        <script state="on">
            <action>maincpu.mb@168F7 = 02</action> <!-- normal scene -->
            <action>maincpu.mb@25265 = 02</action> <!-- bonus scene -->
        </script>
        <script state="off">
            <action>maincpu.mb@168F7 = 2C</action>
            <action>maincpu.mb@25265 = 0C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@00712 = 4EF9000332504E71</action>
            <action>maincpu.mq@33250 = 41F8900043F900FE</action>
            <action>maincpu.mq@33258 = 00071200103900E4</action>
            <action>maincpu.mq@33260 = 0001B20067F40C00</action>
            <action>maincpu.mq@33268 = 007F660253100C00</action>
            <action>maincpu.mq@33270 = 00BF660252100C00</action>
            <action>maincpu.mq@33278 = 00EF660404100010</action>
            <action>maincpu.mq@33280 = 0C0000DF66040610</action>
            <action>maincpu.mq@33288 = 00100C0000FE6608</action>
            <action>maincpu.mq@33290 = 1410000200801282</action>
            <action>maincpu.mq@33298 = 0C0000FD66024211</action>
            <action>maincpu.mq@332A0 = 60B8FFFFFFFFFFFF</action>
            <!--
            33250 | 41F8 9000      : lea     $9000.w, A0   // sound code address ($FF9000)
            33254 | 43F9 00FE 0007 : lea     $fe0007.l, A1 // sound latch address
            3325A | 1200           : move.b  D0, D1
            3325C | 1039 00E4 0001 : move.b  $e40001.l, D0 // read input
            33262 | B200           : cmp.b   D0, D1
            33264 | 67F4           : beq     $3325a
            33266 | 0C00 007F      : cmpi.b  #$7f, D0
            3326A | 6602           : bne     $3326e
            3326C | 5310           : subq.b  #1, (A0)      // decrease code -01
            3326E | 0C00 00BF      : cmpi.b  #-$41, D0
            33272 | 6602           : bne     $33276
            33274 | 5210           : addq.b  #1, (A0)      // increase code +01
            33276 | 0C00 00EF      : cmpi.b  #-$11, D0
            3327A | 6604           : bne     $33280
            3327C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            33280 | 0C00 00DF      : cmpi.b  #-$21, D0
            33284 | 6604           : bne     $3328a
            33286 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            3328A | 0C00 00FE      : cmpi.b  #-$2, D0
            3328E | 6608           : bne     $33298
            33290 | 1410           : move.b  (A0), D2      // play sound
            33292 | 0002 0080      : ori.b   #$80, D2
            33296 | 1282           : move.b  D2, (A1)
            33298 | 0C00 00FD      : cmpi.b  #-$3, D0
            3329C | 6602           : bne     $332a0
            3329E | 4211           : clr.b   (A1)          // stop sound
            332A0 | 60B8           : bra     $3325a
            -->
        </script>
        <script state="run">
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@00712 = 610001A0610005C6</action>
            <action>maincpu.mq@33250 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33258 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33260 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33268 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33270 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33278 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33280 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33288 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33290 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33298 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@332A0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
ddcrewj2d.xml

Code: Select all

<!-- D. D. Crew (Japan, 2 Players) (bootleg of FD1094 317-0182 set) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@0BDCE = 60</action> <!-- player vs player -->
            <action>maincpu.mb@157C8 = 60</action> <!-- machine gun (time over) -->
            <action>maincpu.mb@16490 = 60</action> <!-- normal attack -->
            <action>maincpu.mb@21B9A = 60</action> <!-- machine gun (boss 6) -->
            <action>maincpu.mb@2791C = 60</action> <!-- bazooka (boss 6) -->
            <action>maincpu.mb@27D2C = 60</action> <!-- drum (boss 5) -->
            <action>maincpu.mb@285D6 = 60</action> <!-- knife -->
            <action>maincpu.mb@28796 = 60</action> <!-- grenade -->
        </script>
        <script state="off">
            <action>maincpu.mb@0BDCE = 6E</action>
            <action>maincpu.mb@157C8 = 66</action>
            <action>maincpu.mb@16490 = 6E</action>
            <action>maincpu.mb@21B9A = 66</action>
            <action>maincpu.mb@2791C = 6E</action>
            <action>maincpu.mb@27D2C = 6C</action>
            <action>maincpu.mb@285D6 = 6E</action>
            <action>maincpu.mb@28796 = 66</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@864C = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@864C = 67</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0300">03       </item>
            <item value="0x0480">04       </item>
            <item value="0x0600">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@3E4E =  6E</action> <!-- patch at start point in stage 5 -->
        </script>
        <script state="change">
            <action>maincpu.mw@86DE =  param</action> <!-- right -->
            <action>maincpu.mw@8748 = -param</action> <!-- left -->
            <action>maincpu.mw@87C0 =  param</action> <!-- down -->
            <action>maincpu.mw@8816 = -param</action> <!-- up -->
        </script>
        <script state="off">
            <action>maincpu.mb@3E4E = 67  </action>
            <action>maincpu.mw@86DE = 0180</action>
            <action>maincpu.mw@8748 = FE80</action>
            <action>maincpu.mw@87C0 = 0100</action>
            <action>maincpu.mw@8816 = FF00</action>
        </script>
    </cheat>

    <cheat desc="action speed up">
        <script state="on">
            <action>maincpu.mb@AEEF = 02</action>
        </script>
        <script state="off">
            <action>maincpu.mb@AEEF = 1E</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill">
        <script state="on">
            <action>maincpu.mb@16A1D = 02</action> <!-- normal scene -->
            <action>maincpu.mb@25387 = 02</action> <!-- bonus scene -->
        </script>
        <script state="off">
            <action>maincpu.mb@16A1D = 2C</action>
            <action>maincpu.mb@25387 = 0C</action>
        </script>
    </cheat>

    <cheat desc="selectable same character">
        <script state="on">
            <!-- character selection screen -->
            <action>maincpu.mb@53BF = 08</action>
            <action>maincpu.mb@5403 = 08</action>
            <!-- join -->
            <action>maincpu.mb@78FF = 08</action>
            <action>maincpu.mb@7943 = 08</action>
        </script>
        <script state="off">
            <action>maincpu.mb@53BF = E0</action>
            <action>maincpu.mb@5403 = E0</action>
            <action>maincpu.mb@78FF = E0</action>
            <action>maincpu.mb@7943 = E0</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@0070A = 4EF9000330704E71</action>
            <action>maincpu.mq@33070 = 41F8900043F900FE</action>
            <action>maincpu.mq@33078 = 00071200103900E4</action>
            <action>maincpu.mq@33080 = 0001B20067F40C00</action>
            <action>maincpu.mq@33088 = 007F660253100C00</action>
            <action>maincpu.mq@33090 = 00BF660252100C00</action>
            <action>maincpu.mq@33098 = 00EF660404100010</action>
            <action>maincpu.mq@330A0 = 0C0000DF66040610</action>
            <action>maincpu.mq@330A8 = 00100C0000FE6608</action>
            <action>maincpu.mq@330B0 = 1410000200801282</action>
            <action>maincpu.mq@330B8 = 0C0000FD66024211</action>
            <action>maincpu.mq@330C0 = 60B8FFFFFFFFFFFF</action>
            <!--
            33070 | 41F8 9000      : lea     $9000.w, A0   // sound code address ($FF9000)
            33074 | 43F9 00FE 0007 : lea     $fe0007.l, A1 // sound latch address
            3307A | 1200           : move.b  D0, D1
            3307C | 1039 00E4 0001 : move.b  $e40001.l, D0 // read input
            33082 | B200           : cmp.b   D0, D1
            33084 | 67F4           : beq     $3307a
            33086 | 0C00 007F      : cmpi.b  #$7f, D0
            3308A | 6602           : bne     $3308e
            3308C | 5310           : subq.b  #1, (A0)      // decrease code -01
            3308E | 0C00 00BF      : cmpi.b  #-$41, D0
            33092 | 6602           : bne     $33096
            33094 | 5210           : addq.b  #1, (A0)      // increase code +01
            33096 | 0C00 00EF      : cmpi.b  #-$11, D0
            3309A | 6604           : bne     $330a0
            3309C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            330A0 | 0C00 00DF      : cmpi.b  #-$21, D0
            330A4 | 6604           : bne     $330aa
            330A6 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            330AA | 0C00 00FE      : cmpi.b  #-$2, D0
            330AE | 6608           : bne     $330b8
            330B0 | 1410           : move.b  (A0), D2      // play sound
            330B2 | 0002 0080      : ori.b   #$80, D2
            330B6 | 1282           : move.b  D2, (A1)
            330B8 | 0C00 00FD      : cmpi.b  #-$3, D0
            330BC | 6602           : bne     $330c0
            330BE | 4211           : clr.b   (A1)          // stop sound
            330C0 | 60B8           : bra     $3307a
            -->
        </script>
        <script state="run">
            <output format="----- 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@FF9000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0070A = 610001A0610005C6</action>
            <action>maincpu.mq@33070 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33078 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33080 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33088 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33090 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@33098 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@330A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@330A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@330B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@330B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@330C0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>