Page 1 of 1

[dblewing] Double Wings

Posted: Tue Nov 23, 2021 1:36 am
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>

[dblewing]+ Double Wings

Posted: Thu Oct 26, 2023 9:50 am
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>