[dblewing] Double Wings

This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
Post Reply
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[dblewing] Double Wings

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.ob@e8ae = 60</action> <!-- bullet -->
        <action>maincpu.ob@ed44 = 60</action> <!-- enemy -->
    </script>
    <script state="off">
        <action>maincpu.ob@e8ae = 64</action>
        <action>maincpu.ob@ed44 = 64</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.ow@be76 = 0002</action> <!-- red -->
        <action>maincpu.ow@b6ae = 0002</action> <!-- blue -->
        <action>maincpu.ow@b902 = 0002</action> <!-- yellow -->
    </script>
    <script state="off">
        <action>maincpu.ow@be76 = 0568</action>
        <action>maincpu.ow@b6ae = 0206</action>
        <action>maincpu.ow@b902 = 0adc</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x00008000">01 (slow)</item>
        <item value="0x00018000">02       </item>
        <item value="0x00028000">03       </item>
        <item value="0x00038000">04       </item>
        <item value="0x00048000">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.od@b3f4 =  param</action> <!-- up -->
        <action>maincpu.od@b3f8 = -param</action> <!-- down -->
        <action>maincpu.od@b404 =  param</action> <!-- upper-left -->
        <action>maincpu.od@b408 = -param</action> <!-- lower-left -->
        <action>maincpu.od@b414 =  param</action> <!-- upper-right -->
        <action>maincpu.od@b418 = -param</action> <!-- lower-right -->
        <action>maincpu.od@b476 =  param</action> <!-- right -->
        <action>maincpu.od@b4f4 =  param</action> <!-- left -->
    </script>
    <script state="off">
        <action>maincpu.od@b3f4 = 00028000</action>
        <action>maincpu.od@b3f8 = fffd8000</action>
        <action>maincpu.od@b404 = 00020000</action>
        <action>maincpu.od@b408 = fffe0000</action>
        <action>maincpu.od@b414 = 00020000</action>
        <action>maincpu.od@b418 = fffe0000</action>
        <action>maincpu.od@b476 = 00018000</action>
        <action>maincpu.od@b4f4 = 00018000</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x04">01 (slow)</item>
        <item value="0x08">02       </item>
        <item value="0x0c">03       </item>
        <item value="0x10">04       </item>
        <item value="0x14">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.oq@0c3b8 = 4eb900029e904e71</action> <!-- red, blue -->
        <action>maincpu.oq@0be44 = 4eb900029e904e71</action> <!-- yellow -->
        <action>maincpu.oq@29e90 = 72004841201e6706</action>
        <action>maincpu.oq@29e98 = 6a02448120012740</action>
        <action>maincpu.oq@29ea0 = 0038275e003c4e75</action>
        <!--
        29e90 | 72xx      : moveq  #$xx,D1
        29e92 | 4841      : swap   D1
        29e94 | 201e      : move.l (A6)+,D0
        29e96 | 6706      : beq    $29e9e
        29e98 | 6a02      : bpl    $29e9c
        29e9a | 4481      : neg.l  D1
        29e9c | 2001      : move.l D1,D0
        29e9e | 2740 0038 : move.l D0,($38,A3)
        29ea2 | 275e 003c : move.l (A6)+,($3c,A3)
        29ea6 | 4e75      : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.ob@29e91 = param</action>
    </script>
    <script state="off">
        <action>maincpu.oq@0c3b8 = 275e0038275e003c</action>
        <action>maincpu.oq@0be44 = 275e0038275e003c</action>
        <action>maincpu.oq@29e90 = 54c85a562d3e75be</action>
        <action>maincpu.oq@29e98 = e8601f6693aa2a14</action>
        <action>maincpu.oq@29ea0 = 1c13acf071e55de7</action>
    </script>
</cheat>

<cheat desc="max bullets up">
    <script state="on">
        <!-- red, blue -->
        <action>maincpu.oq@0c194 = 4eb900029e702a4c</action>
        <action>maincpu.oq@29e70 = 381e3a1e3c1e7a40</action>
        <action>maincpu.ow@29e78 =             4e75</action>
        <!--
        29e70 | 381e : move.w (A6)+,D4
        29e72 | 3a1e : move.w (A6)+,D5
        29e74 | 3c1e : move.w (A6)+,D6
        29e76 | 7a40 : moveq  #$40,D5
        29e78 | 4e75 : rts
        -->
        <!-- yellow -->
        <action>maincpu.oq@0bc20 = 4eb900029e802a4c</action>
        <action>maincpu.oq@29e80 = 381e3a1e3c1e7a20</action>
        <action>maincpu.ow@29e88 =             4e75</action>
        <!--
        29e80 | 381e : move.w (A6)+,D4
        29e82 | 3a1e : move.w (A6)+,D5
        29e84 | 3c1e : move.w (A6)+,D6
        29e86 | 7a40 : moveq  #$20,D5
        29e88 | 4e75 : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.oq@0c194 = 381e3a1e3c1e2a4c</action>
        <action>maincpu.oq@29e70 = c1260c6f7e38377e</action>
        <action>maincpu.ow@29e78 =             cc71</action>
        <action>maincpu.oq@0bc20 = 381e3a1e3c1e2a4c</action>
        <action>maincpu.oq@29e80 = 75b3c9f648430de1</action>
        <action>maincpu.ow@29e88 =             7e14</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.od@093d8 =         00029eb0</action>
        <action>maincpu.oq@29eb0 = 43f900ff01004280</action>
        <action>maincpu.oq@29eb8 = 1401123900ffbc13</action>
        <action>maincpu.oq@29ec0 = b40167f40c010004</action>
        <action>maincpu.oq@29ec8 = 660253110c010008</action>
        <action>maincpu.oq@29ed0 = 660252110c010002</action>
        <action>maincpu.oq@29ed8 = 6604041100100c01</action>
        <action>maincpu.oq@29ee0 = 0001660406110010</action>
        <action>maincpu.oq@29ee8 = 0c01001066041011</action>
        <action>maincpu.oq@29ef0 = 600a0c010020660a</action>
        <action>maincpu.oq@29ef8 = 103c000013c00028</action>
        <action>maincpu.oq@29f00 = 038060b49fadcdaf</action>
        <!--
        29eb0 | 43f9 00ff 0100 : lea    $ff0100.l,A1 // sound code address
        29eb6 | 4280           : clr.l  D0
        29eb8 | 1401           : move.b D1,D2
        29eba | 1239 00ff bc13 : move.b $ffbc13.l,D1 // read input
        29ec0 | b401           : cmp.b  D1,D2
        29ec2 | 67f4           : beq    $29eb8
        29ec4 | 0c01 0004      : cmpi.b #$4,D1
        29ec8 | 6602           : bne    $29ecc
        29eca | 5311           : subq.b #1,(A1)      // decrease code -01
        29ecc | 0c01 0008      : cmpi.b #$8,D1
        29ed0 | 6602           : bne    $29ed4
        29ed2 | 5211           : addq.b #1,(A1)      // increase code +01
        29ed4 | 0c01 0002      : cmpi.b #$2,D1
        29ed8 | 6604           : bne    $29ede
        29eda | 0411 0010      : subi.b #$10,(A1)    // decrease code -10
        29ede | 0c01 0001      : cmpi.b #$1,D1
        29ee2 | 6604           : bne    $29ee8
        29ee4 | 0611 0010      : addi.b #$10,(A1)    // increase code +10
        29ee8 | 0c01 0010      : cmpi.b #$10,D1
        29eec | 6604           : bne    $29ef2
        29eee | 1011           : move.b (A1),D0      // play sound
        29ef0 | 600a           : bra    $29efc
        29ef2 | 0c01 0020      : cmpi.b #$20,D1
        29ef6 | 660a           : bne    $29f02
        29ef8 | 103c 0001      : move.b #$1,D0       // stop sound
        29efc | 33c0 0028 0380 : move.w D0,$280380.l // send sound code
        29f02 | 60b4           : bra    $29eb8
        -->
    </script>
    <script state="run">
        <output format="----- double wings 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@ff0100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.od@093d8 =         000068f0</action>
        <action>maincpu.oq@29eb0 = 5d6e66f62438701e</action>
        <action>maincpu.oq@29eb8 = bdc07660fa0c76b4</action>
        <action>maincpu.oq@29ec0 = 0497f360f983cda0</action>
        <action>maincpu.oq@29ec8 = b4c33d2bc0c67c00</action>
        <action>maincpu.oq@29ed0 = 0125ff4bf30de006</action>
        <action>maincpu.oq@29ed8 = b70cbae4638475f3</action>
        <action>maincpu.oq@29ee0 = 02c2ff2b7e624c48</action>
        <action>maincpu.oq@29ee8 = 3f60bcd16a505b9f</action>
        <action>maincpu.oq@29ef0 = 015e7e81de1ac790</action>
        <action>maincpu.oq@29ef8 = 1d1b9baa4459d900</action>
        <action>maincpu.oq@29f00 = 629bcffa9fadcdaf</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[dblewing]+ Double Wings

Post by jman »

dblewing.xml

Code: Select all

<!-- Double Wings (set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.ob@E8AE = 60</action> <!-- bullet -->
            <action>maincpu.ob@ED44 = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.ob@E8AE = 64</action>
            <action>maincpu.ob@ED44 = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.ow@B6AE = 0002</action> <!-- blue -->
            <action>maincpu.ow@B902 = 0002</action> <!-- yellow -->
            <action>maincpu.ow@BE76 = 0002</action> <!-- red -->
        </script>
        <script state="off">
            <action>maincpu.ow@B6AE = 0206</action>
            <action>maincpu.ow@B902 = 0ADC</action>
            <action>maincpu.ow@BE76 = 0568</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00028000">02       </item>
            <item value="0x00048000">03       </item>
            <item value="0x00068000">04       </item>
            <item value="0x00088000">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.od@B3F4 =  param</action> <!-- up -->
            <action>maincpu.od@B3F8 = -param</action> <!-- down -->
            <action>maincpu.od@B404 =  param</action> <!-- upper-left -->
            <action>maincpu.od@B408 = -param</action> <!-- lower-left -->
            <action>maincpu.od@B414 =  param</action> <!-- upper-right -->
            <action>maincpu.od@B418 = -param</action> <!-- lower-right -->
            <action>maincpu.od@B476 =  param</action> <!-- right -->
            <action>maincpu.od@B4F4 =  param</action> <!-- left -->
        </script>
        <script state="off">
            <action>maincpu.od@B3F4 = 00028000</action>
            <action>maincpu.od@B3F8 = FFFD8000</action>
            <action>maincpu.od@B404 = 00020000</action>
            <action>maincpu.od@B408 = FFFE0000</action>
            <action>maincpu.od@B414 = 00020000</action>
            <action>maincpu.od@B418 = FFFE0000</action>
            <action>maincpu.od@B476 = 00018000</action>
            <action>maincpu.od@B4F4 = 00018000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x00040000">01 (slow)</item>
            <item value="0x00080000">02       </item>
            <item value="0x000c0000">03       </item>
            <item value="0x00100000">04       </item>
            <item value="0x00140000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.oq@0BE44 = 4EB900029E704E71</action> <!-- yellow -->
            <action>maincpu.oq@0C3B8 = 4EB900029E704E71</action> <!-- red, blue -->
            <action>maincpu.oq@29E70 = 223C00000000201E</action>
            <action>maincpu.oq@29E78 = 67066A0244812001</action>
            <action>maincpu.oq@29E80 = 27400038275E003C</action>
            <action>maincpu.oq@29E88 = 4E75000000000000</action>
            <!--
            29E70 | 223C xxxx xxxx : move.l  #$xxxx, D1
            29E76 | 201E           : move.l  (A6)+, D0
            29E78 | 6706           : beq     $29e80
            29E7A | 6A02           : bpl     $29e7e
            29E7C | 4481           : neg.l   D1
            29E7E | 2001           : move.l  D1, D0
            29E80 | 2740 0038      : move.l  D0, ($38,A3)
            29E84 | 275E 003C      : move.l  (A6)+, ($3c,A3)
            29E88 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.od@29E72 = param</action>
        </script>
        <script state="off">
            <action>maincpu.oq@0BE44 = 275E0038275E003C</action>
            <action>maincpu.oq@0C3B8 = 275E0038275E003C</action>
            <action>maincpu.oq@29E70 = C1260C6F7E38377E</action>
            <action>maincpu.oq@29E78 = CC71F888E79508FC</action>
            <action>maincpu.oq@29E80 = 75B3C9F648430DE1</action>
            <action>maincpu.oq@29E88 = 7E14CD129F21CD66</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <!-- red, blue -->
            <action>maincpu.oq@0BC20 = 4EB900029E902A4C</action> <!-- yellow -->
            <action>maincpu.oq@0C194 = 4EB900029E962A4C</action> <!-- red, blue -->
            <action>maincpu.oq@29E90 = 3A3C001060043A3C</action>
            <action>maincpu.oq@29E98 = 0040381E544E3C1E</action>
            <action>maincpu.oq@29EA0 = 4E75000000000000</action>
            <!--
            29E90 | 3A3C 0010 : move.w  #$10, D5   // yellow
            29E94 | 6004      : bra     $29e9a
            29E96 | 3A3C 0040 : move.w  #$40, D5  // red, blue
            29E9A | 381E      : move.w  (A6)+, D4
            29E9C | 544E      : addq.w  #2, A6
            29E9E | 3C1E      : move.w  (A6)+, D6
            29EA0 | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@0BC20 = 381E3A1E3C1E2A4C</action>
            <action>maincpu.oq@0C194 = 381E3A1E3C1E2A4C</action>
            <action>maincpu.oq@29E90 = 54C85A562D3E75BE</action>
            <action>maincpu.oq@29E98 = E8601F6693AA2A14</action>
            <action>maincpu.oq@29EA0 = 1C13ACF071E55DE7</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.od@093D8 = 00029EB0        </action>
            <action>maincpu.oq@29EB0 = 43F900FF000043F9</action>
            <action>maincpu.oq@29EB8 = 0028038112001039</action>
            <action>maincpu.oq@29EC0 = 00FFBC13B20067F4</action>
            <action>maincpu.oq@29EC8 = 0C00000466025310</action>
            <action>maincpu.oq@29ED0 = 0C00000866025210</action>
            <action>maincpu.oq@29ED8 = 0C00000266040410</action>
            <action>maincpu.oq@29EE0 = 00100C0000016604</action>
            <action>maincpu.oq@29EE8 = 061000100C000010</action>
            <action>maincpu.oq@29EF0 = 660212900C000020</action>
            <action>maincpu.oq@29EF8 = 660412BC000160BC</action>
            <!--
            29EB0 | 43F9 00FF 0000 : lea     $ff0000.l, A1 // sound code address
            29EB6 | 43F9 0028 0381 : lea     $280381.l, A1 // sound latch address
            29EBC | 1200           : move.b  D0, D1
            29EBE | 1039 00FF BC13 : move.b  $ffbc13.l, D0 // read input
            29EC4 | B200           : cmp.b   D0, D1
            29EC6 | 67F4           : beq     $29ebc
            29EC8 | 0C00 0004      : cmpi.b  #$4, D0
            29ECC | 6602           : bne     $29ed0
            29ECE | 5310           : subq.b  #1, (A0)      // decrease code -01
            29ED0 | 0C00 0008      : cmpi.b  #$8, D0
            29ED4 | 6602           : bne     $29ed8
            29ED6 | 5210           : addq.b  #1, (A0)      // increase code +01
            29ED8 | 0C00 0002      : cmpi.b  #$2, D0
            29EDC | 6604           : bne     $29ee2
            29EDE | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            29EE2 | 0C00 0001      : cmpi.b  #$1, D0
            29EE6 | 6604           : bne     $29eec
            29EE8 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            29EEC | 0C00 0010      : cmpi.b  #$10, D0
            29EF0 | 6602           : bne     $29ef4
            29EF2 | 1290           : move.b  (A0), (A1)    // play sound
            29EF4 | 0C00 0020      : cmpi.b  #$20, D0
            29EF8 | 6604           : bne     $29efe
            29EFA | 12BC 0001      : move.b  #$1, (A1)     // stop sound
            29EFE | 60BC           : bra     $29ebc
            -->
        </script>
        <script state="run">
            <output format="----- double wings sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"                 line="11" align="center" />
            <output format="right : increase code +01"                line="12" align="center" />
            <output format="down : decrease code -10"                 line="13" align="center" />
            <output format="up : increase code +10"                   line="14" align="center" />
            <output format="button 1 : play sound"                    line="15" align="center" />
            <output format="button 2 : stop sound"                    line="16" align="center" />
            <output format="----------------------------"             line="17" align="center" />
            <output format="&lt;&lt; sound code %2.2X &gt;&gt;"       line="19" align="center"  >
                <argument>maincpu.pb@FF0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.od@093D8 = 000068F0        </action>
            <action>maincpu.oq@29EB0 = 5D6E66F62438701E</action>
            <action>maincpu.oq@29EB8 = BDC07660FA0C76B4</action>
            <action>maincpu.oq@29EC0 = 0497F360F983CDA0</action>
            <action>maincpu.oq@29EC8 = B4C33D2BC0C67C00</action>
            <action>maincpu.oq@29ED0 = 0125FF4BF30DE006</action>
            <action>maincpu.oq@29ED8 = B70CBAE4638475F3</action>
            <action>maincpu.oq@29EE0 = 02C2FF2B7E624C48</action>
            <action>maincpu.oq@29EE8 = 3F60BCD16A505B9F</action>
            <action>maincpu.oq@29EF0 = 015E7E81DE1AC790</action>
            <action>maincpu.oq@29EF8 = 1D1B9BAA4459D900</action>
        </script>
    </cheat>

</mamecheat>
dblewinga.xml

Code: Select all

<!-- Double Wings (set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.ob@E8F8 = 60</action> <!-- bullet -->
            <action>maincpu.ob@ED8E = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.ob@E8F8 = 64</action>
            <action>maincpu.ob@ED8E = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.ow@B6D0 = 0002</action> <!-- blue -->
            <action>maincpu.ow@B924 = 0002</action> <!-- yellow -->
            <action>maincpu.ow@BE98 = 0002</action> <!-- red -->
        </script>
        <script state="off">
            <action>maincpu.ow@B6D0 = 0206</action>
            <action>maincpu.ow@B924 = 0ADC</action>
            <action>maincpu.ow@BE98 = 0568</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00028000">02       </item>
            <item value="0x00048000">03       </item>
            <item value="0x00068000">04       </item>
            <item value="0x00088000">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.od@B412 =  param</action> <!-- up -->
            <action>maincpu.od@B416 = -param</action> <!-- down -->
            <action>maincpu.od@B422 =  param</action> <!-- upper-left -->
            <action>maincpu.od@B426 = -param</action> <!-- lower-left -->
            <action>maincpu.od@B432 =  param</action> <!-- upper-right -->
            <action>maincpu.od@B436 = -param</action> <!-- lower-right -->
            <action>maincpu.od@B494 =  param</action> <!-- right -->
            <action>maincpu.od@B512 =  param</action> <!-- left -->
        </script>
        <script state="off">
            <action>maincpu.od@B412 = 00030000</action>
            <action>maincpu.od@B416 = FFFD0000</action>
            <action>maincpu.od@B422 = 0002C000</action>
            <action>maincpu.od@B426 = FFFD4000</action>
            <action>maincpu.od@B432 = 0002C000</action>
            <action>maincpu.od@B436 = FFFD4000</action>
            <action>maincpu.od@B494 = 00024000</action>
            <action>maincpu.od@B512 = 00024000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x00040000">01 (slow)</item>
            <item value="0x00080000">02       </item>
            <item value="0x000c0000">03       </item>
            <item value="0x00100000">04       </item>
            <item value="0x00140000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.oq@0BE66 = 4EB900029EB04E71</action> <!-- yellow -->
            <action>maincpu.oq@0C3DA = 4EB900029EB04E71</action> <!-- red, blue -->
            <action>maincpu.oq@29EB0 = 223C00000000201E</action>
            <action>maincpu.oq@29EB8 = 67066A0244812001</action>
            <action>maincpu.oq@29EC0 = 27400038275E003C</action>
            <action>maincpu.oq@29EC8 = 4E75000000000000</action>
            <!--
            29EB0 | 223C xxxx xxxx : move.l  #$xxxx, D1
            29EB6 | 201E           : move.l  (A6)+, D0
            29EB8 | 6706           : beq     $29ec0
            29EBA | 6A02           : bpl     $29ebe
            29EBC | 4481           : neg.l   D1
            29EBE | 2001           : move.l  D1, D0
            29EC0 | 2740 0038      : move.l  D0, ($38,A3)
            29EC4 | 275E 003C      : move.l  (A6)+, ($3c,A3)
            29EC8 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.od@29EB2 = param</action>
        </script>
        <script state="off">
            <action>maincpu.oq@0BE66 = 275E0038275E003C</action>
            <action>maincpu.oq@0C3DA = 275E0038275E003C</action>
            <action>maincpu.oq@29EB0 = 5D6E66F62438701E</action>
            <action>maincpu.oq@29EB8 = BDC07660FA0C76B4</action>
            <action>maincpu.oq@29EC0 = 0497F360F983CDA0</action>
            <action>maincpu.oq@29EC8 = B4C33D2BC0C67C00</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <!-- red, blue -->
            <action>maincpu.oq@0BC42 = 4EB900029ED02A4C</action> <!-- yellow -->
            <action>maincpu.oq@0C1B6 = 4EB900029ED62A4C</action> <!-- red, blue -->
            <action>maincpu.oq@29ED0 = 3A3C001060043A3C</action>
            <action>maincpu.oq@29ED8 = 0040381E544E3C1E</action>
            <action>maincpu.oq@29EE0 = 4E75000000000000</action>
            <!--
            29ED0 | 3A3C 0010 : move.w  #$10, D5   // yellow
            29ED4 | 6004      : bra     $29e9a
            29ED6 | 3A3C 0040 : move.w  #$40, D5  // red, blue
            29EDA | 381E      : move.w  (A6)+, D4
            29EDC | 544E      : addq.w  #2, A6
            29EDE | 3C1E      : move.w  (A6)+, D6
            29EE0 | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@0BC42 = 381E3A1E3C1E2A4C</action>
            <action>maincpu.oq@0C1B6 = 381E3A1E3C1E2A4C</action>
            <action>maincpu.oq@29ED0 = 0125FF4BF30DE006</action>
            <action>maincpu.oq@29ED8 = B70CBAE4638475F3</action>
            <action>maincpu.oq@29EE0 = 02C2FF2B7E624C48</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.od@093D2 = 00029EF0        </action>
            <action>maincpu.oq@29EF0 = 43F900FF000043F9</action>
            <action>maincpu.oq@29EF8 = 0028038112001039</action>
            <action>maincpu.oq@29F00 = 00FFBC13B20067F4</action>
            <action>maincpu.oq@29F08 = 0C00000466025310</action>
            <action>maincpu.oq@29F10 = 0C00000866025210</action>
            <action>maincpu.oq@29F18 = 0C00000266040410</action>
            <action>maincpu.oq@29F20 = 00100C0000016604</action>
            <action>maincpu.oq@29F28 = 061000100C000010</action>
            <action>maincpu.oq@29F30 = 660212900C000020</action>
            <action>maincpu.oq@29F38 = 660412BC000160BC</action>
            <!--
            29EF0 | 43F9 00FF 0000 : lea     $ff0000.l, A1 // sound code address
            29EF6 | 43F9 0028 0381 : lea     $280381.l, A1 // sound latch address
            29EFC | 1200           : move.b  D0, D1
            29EFE | 1039 00FF BC13 : move.b  $ffbc13.l, D0 // read input
            29F04 | B200           : cmp.b   D0, D1
            29F06 | 67F4           : beq     $29efc
            29F08 | 0C00 0004      : cmpi.b  #$4, D0
            29F0C | 6602           : bne     $29f10
            29F0E | 5310           : subq.b  #1, (A0)      // decrease code -01
            29F10 | 0C00 0008      : cmpi.b  #$8, D0
            29F14 | 6602           : bne     $29f18
            29F16 | 5210           : addq.b  #1, (A0)      // increase code +01
            29F18 | 0C00 0002      : cmpi.b  #$2, D0
            29F1C | 6604           : bne     $29f22
            29F1E | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            29F22 | 0C00 0001      : cmpi.b  #$1, D0
            29F26 | 6604           : bne     $29f2c
            29F28 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            29F2C | 0C00 0010      : cmpi.b  #$10, D0
            29F30 | 6602           : bne     $29f34
            29F32 | 1290           : move.b  (A0), (A1)    // play sound
            29F34 | 0C00 0020      : cmpi.b  #$20, D0
            29F38 | 6604           : bne     $29f3e
            29F3A | 12BC 0001      : move.b  #$1, (A1)     // stop sound
            29F3E | 60BC           : bra     $29efc
            -->
        </script>
        <script state="run">
            <output format="----- double wings sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"                 line="11" align="center" />
            <output format="right : increase code +01"                line="12" align="center" />
            <output format="down : decrease code -10"                 line="13" align="center" />
            <output format="up : increase code +10"                   line="14" align="center" />
            <output format="button 1 : play sound"                    line="15" align="center" />
            <output format="button 2 : stop sound"                    line="16" align="center" />
            <output format="----------------------------"             line="17" align="center" />
            <output format="&lt;&lt; sound code %2.2X &gt;&gt;"       line="19" align="center"  >
                <argument>maincpu.pb@FF0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.od@093D2 = 000068F0        </action>
            <action>maincpu.oq@29EF0 = 015E7E81DE1AC790</action>
            <action>maincpu.oq@29EF8 = 1D1B9BAA4459D900</action>
            <action>maincpu.oq@29F00 = 629BCFFA9FADCDAF</action>
            <action>maincpu.oq@29F08 = BE560D3CFAE74A00</action>
            <action>maincpu.oq@29F10 = 61A4AFFC9FBAD69C</action>
            <action>maincpu.oq@29F18 = 8D00BA6A0584497E</action>
            <action>maincpu.oq@29F20 = 1AA2B7E7E7D6CDE4</action>
            <action>maincpu.oq@29F28 = A600751782A02A77</action>
            <action>maincpu.oq@29F30 = 19DCAFD7E7AEAEBE</action>
            <action>maincpu.oq@29F38 = F571A2667DBB2900</action>
        </script>
    </cheat>

</mamecheat>
dblewingb.xml

Code: Select all

<!-- Double Wings (Asia) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.ob@E8D4 = 60</action> <!-- bullet -->
            <action>maincpu.ob@ED6A = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.ob@E8D4 = 64</action>
            <action>maincpu.ob@ED6A = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.ow@B6AC = 0002</action> <!-- blue -->
            <action>maincpu.ow@B900 = 0002</action> <!-- yellow -->
            <action>maincpu.ow@BE74 = 0002</action> <!-- red -->
        </script>
        <script state="off">
            <action>maincpu.ow@B6AC = 0206</action>
            <action>maincpu.ow@B900 = 0ADC</action>
            <action>maincpu.ow@BE74 = 0568</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00028000">02       </item>
            <item value="0x00048000">03       </item>
            <item value="0x00068000">04       </item>
            <item value="0x00088000">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.od@B3EE =  param</action> <!-- up -->
            <action>maincpu.od@B3F2 = -param</action> <!-- down -->
            <action>maincpu.od@B3FE =  param</action> <!-- upper-left -->
            <action>maincpu.od@B402 = -param</action> <!-- lower-left -->
            <action>maincpu.od@B40E =  param</action> <!-- upper-right -->
            <action>maincpu.od@B412 = -param</action> <!-- lower-right -->
            <action>maincpu.od@B470 =  param</action> <!-- right -->
            <action>maincpu.od@B4EE =  param</action> <!-- left -->
        </script>
        <script state="off">
            <action>maincpu.od@B3EE = 00030000</action>
            <action>maincpu.od@B3F2 = FFFD0000</action>
            <action>maincpu.od@B3FE = 0002C000</action>
            <action>maincpu.od@B402 = FFFD4000</action>
            <action>maincpu.od@B40E = 0002C000</action>
            <action>maincpu.od@B412 = FFFD4000</action>
            <action>maincpu.od@B470 = 00024000</action>
            <action>maincpu.od@B4EE = 00024000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x00040000">01 (slow)</item>
            <item value="0x00080000">02       </item>
            <item value="0x000c0000">03       </item>
            <item value="0x00100000">04       </item>
            <item value="0x00140000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.oq@0BE42 = 4EB900029EB04E71</action> <!-- yellow -->
            <action>maincpu.oq@0C3B6 = 4EB900029EB04E71</action> <!-- red, blue -->
            <action>maincpu.oq@29EB0 = 223C00000000201E</action>
            <action>maincpu.oq@29EB8 = 67066A0244812001</action>
            <action>maincpu.oq@29EC0 = 27400038275E003C</action>
            <action>maincpu.oq@29EC8 = 4E75000000000000</action>
            <!--
            29EB0 | 223C xxxx xxxx : move.l  #$xxxx, D1
            29EB6 | 201E           : move.l  (A6)+, D0
            29EB8 | 6706           : beq     $29ec0
            29EBA | 6A02           : bpl     $29ebe
            29EBC | 4481           : neg.l   D1
            29EBE | 2001           : move.l  D1, D0
            29EC0 | 2740 0038      : move.l  D0, ($38,A3)
            29EC4 | 275E 003C      : move.l  (A6)+, ($3c,A3)
            29EC8 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.od@29EB2 = param</action>
        </script>
        <script state="off">
            <action>maincpu.oq@0BE42 = 275E0038275E003C</action>
            <action>maincpu.oq@0C3B6 = 275E0038275E003C</action>
            <action>maincpu.oq@29EB0 = 5D6E66F62438701E</action>
            <action>maincpu.oq@29EB8 = BDC07660FA0C76B4</action>
            <action>maincpu.oq@29EC0 = 0497F360F983CDA0</action>
            <action>maincpu.oq@29EC8 = B4C33D2BC0C67C00</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <!-- red, blue -->
            <action>maincpu.oq@0BC1E = 4EB900029ED02A4C</action> <!-- yellow -->
            <action>maincpu.oq@0C192 = 4EB900029ED62A4C</action> <!-- red, blue -->
            <action>maincpu.oq@29ED0 = 3A3C001060043A3C</action>
            <action>maincpu.oq@29ED8 = 0040381E544E3C1E</action>
            <action>maincpu.oq@29EE0 = 4E75000000000000</action>
            <!--
            29ED0 | 3A3C 0010 : move.w  #$10, D5   // yellow
            29ED4 | 6004      : bra     $29e9a
            29ED6 | 3A3C 0040 : move.w  #$40, D5  // red, blue
            29EDA | 381E      : move.w  (A6)+, D4
            29EDC | 544E      : addq.w  #2, A6
            29EDE | 3C1E      : move.w  (A6)+, D6
            29EE0 | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.oq@0BC1E = 381E3A1E3C1E2A4C</action>
            <action>maincpu.oq@0C192 = 381E3A1E3C1E2A4C</action>
            <action>maincpu.oq@29ED0 = 0125FF4BF30DE006</action>
            <action>maincpu.oq@29ED8 = B70CBAE4638475F3</action>
            <action>maincpu.oq@29EE0 = 02C2FF2B7E624C48</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.od@093AE = 00029EF0        </action>
            <action>maincpu.oq@29EF0 = 43F900FF000043F9</action>
            <action>maincpu.oq@29EF8 = 0028038112001039</action>
            <action>maincpu.oq@29F00 = 00FFBC13B20067F4</action>
            <action>maincpu.oq@29F08 = 0C00000466025310</action>
            <action>maincpu.oq@29F10 = 0C00000866025210</action>
            <action>maincpu.oq@29F18 = 0C00000266040410</action>
            <action>maincpu.oq@29F20 = 00100C0000016604</action>
            <action>maincpu.oq@29F28 = 061000100C000010</action>
            <action>maincpu.oq@29F30 = 660212900C000020</action>
            <action>maincpu.oq@29F38 = 660412BC000160BC</action>
            <!--
            29EF0 | 43F9 00FF 0000 : lea     $ff0000.l, A1 // sound code address
            29EF6 | 43F9 0028 0381 : lea     $280381.l, A1 // sound latch address
            29EFC | 1200           : move.b  D0, D1
            29EFE | 1039 00FF BC13 : move.b  $ffbc13.l, D0 // read input
            29F04 | B200           : cmp.b   D0, D1
            29F06 | 67F4           : beq     $29efc
            29F08 | 0C00 0004      : cmpi.b  #$4, D0
            29F0C | 6602           : bne     $29f10
            29F0E | 5310           : subq.b  #1, (A0)      // decrease code -01
            29F10 | 0C00 0008      : cmpi.b  #$8, D0
            29F14 | 6602           : bne     $29f18
            29F16 | 5210           : addq.b  #1, (A0)      // increase code +01
            29F18 | 0C00 0002      : cmpi.b  #$2, D0
            29F1C | 6604           : bne     $29f22
            29F1E | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            29F22 | 0C00 0001      : cmpi.b  #$1, D0
            29F26 | 6604           : bne     $29f2c
            29F28 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            29F2C | 0C00 0010      : cmpi.b  #$10, D0
            29F30 | 6602           : bne     $29f34
            29F32 | 1290           : move.b  (A0), (A1)    // play sound
            29F34 | 0C00 0020      : cmpi.b  #$20, D0
            29F38 | 6604           : bne     $29f3e
            29F3A | 12BC 0001      : move.b  #$1, (A1)     // stop sound
            29F3E | 60BC           : bra     $29efc
            -->
        </script>
        <script state="run">
            <output format="----- double wings sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"                 line="11" align="center" />
            <output format="right : increase code +01"                line="12" align="center" />
            <output format="down : decrease code -10"                 line="13" align="center" />
            <output format="up : increase code +10"                   line="14" align="center" />
            <output format="button 1 : play sound"                    line="15" align="center" />
            <output format="button 2 : stop sound"                    line="16" align="center" />
            <output format="----------------------------"             line="17" align="center" />
            <output format="&lt;&lt; sound code %2.2X &gt;&gt;"       line="19" align="center"  >
                <argument>maincpu.pb@FF0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.od@093AE = 000068CC        </action>
            <action>maincpu.oq@29EF0 = 015E7E81DE1AC790</action>
            <action>maincpu.oq@29EF8 = 1D1B9BAA4459D900</action>
            <action>maincpu.oq@29F00 = 629BCFFA9FADCDAF</action>
            <action>maincpu.oq@29F08 = BE560D3CFAE74A00</action>
            <action>maincpu.oq@29F10 = 61A4AFFC9FBAD69C</action>
            <action>maincpu.oq@29F18 = 8D00BA6A0584497E</action>
            <action>maincpu.oq@29F20 = 1AA2B7E7E7D6CDE4</action>
            <action>maincpu.oq@29F28 = A600751782A02A77</action>
            <action>maincpu.oq@29F30 = 19DCAFD7E7AEAEBE</action>
            <action>maincpu.oq@29F38 = F571A2667DBB2900</action>
        </script>
    </cheat>

</mamecheat>
Post Reply