[mustang] US AAF Mustang

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

[mustang] US AAF Mustang

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@2070 = 60</action> <!-- enemy -->
        <action>maincpu.mb@1c74 = 60</action> <!-- bullet -->
    </script>
    <script state="off">
        <action>maincpu.mb@2070 = 66</action>
        <action>maincpu.mb@1c74 = 66</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@122d = 02</action> <!-- shot -->
        <action>maincpu.mb@132d = 02</action> <!-- bomb -->
    </script>
    <script state="off">
        <action>maincpu.mb@122d = 0c</action>
        <action>maincpu.mb@132d = 10</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x08" step="0x01" />
    <script state="on">
        <action>maincpu.md@0dc4 =         4eb80100</action>
        <action>maincpu.mq@0100 = 2030080474004842</action>
        <action>maincpu.mq@0108 = 4a8167066a024482</action>
        <action>maincpu.mq@0110 = 2202740048424a80</action>
        <action>maincpu.mq@0118 = 67066a0244822002</action>
        <action>maincpu.mq@0120 = 4e75000000000000</action>
        <!--
        0100 | 2030 0804 : move.l ($4,A0,D0.l),D0
        0104 | 74xx      : moveq  #$xx,D2
        0106 | 4842      : swap   D2
        0108 | 4a81      : tst.l  D1
        010a | 6706      : beq    $112
        010c | 6a02      : bpl    $110
        010e | 4482      : neg.l  D2
        0110 | 2202      : move.l D2,D1
        0112 | 74xx      : moveq  #$xx,D2
        0114 | 4842      : swap   D2
        0116 | 4a80      : tst.l  D0
        0118 | 6706      : beq    $120
        011a | 6a02      : bpl    $11e
        011c | 4482      : neg.l  D2
        011e | 2002      : move.l D2,D0
        0120 | 4e75      : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.mb@0105 = param</action>
        <action>maincpu.mb@0113 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@0dc4 =         20300804</action>
        <action>maincpu.mq@0100 = 0000000000000000</action>
        <action>maincpu.mq@0108 = 0000000000000000</action>
        <action>maincpu.mq@0110 = 0000000000000000</action>
        <action>maincpu.mq@0118 = 0000000000000000</action>
        <action>maincpu.mq@0120 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x05">01 (slow)</item>
        <item value="0x0a">02       </item>
        <item value="0x0f">03       </item>
        <item value="0x14">04       </item>
        <item value="0x19">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@12e5 = param</action> <!-- shot power level 1 -->
        <action>maincpu.mb@12ed = param</action> <!-- shot power level 2 -->
        <action>maincpu.mb@12f5 = param</action> <!-- shot power level 3 -->
    </script>
    <script state="off">
        <action>maincpu.mb@12e5 = 0a</action>
        <action>maincpu.mb@12ed = 0a</action>
        <action>maincpu.mb@12f5 = 0a</action>
    </script>
</cheat>

<cheat desc="bomb speed">
    <parameter>
        <item value="0x0010">01 (slow)</item>
        <item value="0x0040">02       </item>
        <item value="0x0080">03       </item>
        <item value="0x00c0">04       </item>
        <item value="0x0100">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@1397 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mw@1397 = 0040</action>
    </script>
</cheat>

<cheat desc="unlock test mode">
    <comment>reset the game (F3) to enter test mode</comment>
    <script state="on">
        <action>maincpu.mb@3b17 = 42</action>
    </script>
    <script state="off">
        <action>maincpu.mb@3b17 = 50</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[mustang] update

Post by jman »

Added "max bullets up" and "sound test mode"

Code: Select all

<cheat desc="max bullets up">
    <script state="on">
        <action>maincpu.mb@123f = 10</action>
    </script>
    <script state="off">
        <action>maincpu.mb@123f = 02</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@2a00 =             d730</action>
        <action>maincpu.mq@0130 = 41f9000f100043f9</action>
        <action>maincpu.mq@0138 = 0008001f12001039</action>
        <action>maincpu.mq@0140 = 00080003b20067f4</action>
        <action>maincpu.mq@0148 = 0c0000fd66025310</action>
        <action>maincpu.mq@0150 = 0c0000fe66025210</action>
        <action>maincpu.mq@0158 = 0c0000fb66040410</action>
        <action>maincpu.mq@0160 = 00100c0000f76604</action>
        <action>maincpu.mq@0168 = 061000100c0000ef</action>
        <action>maincpu.mq@0170 = 660212900c0000df</action>
        <action>maincpu.mq@0178 = 6602421160be0000</action>
        <!--
        0130 | 41f9 000f 1000 : lea    $f1000.l,A0 // sound code address
        0136 | 43f9 0008 001f : lea    $8001f.l,A1 // sound latch address
        013c | 1200           : move.b D0,D1
        013e | 1039 0008 0003 : move.b $80003.l,D0 // read input
        0144 | b200           : cmp.b  D0,D1
        0146 | 67f4           : beq    $13c
        0148 | 0c00 00fd      : cmpi.b #-$3,D0
        014c | 6602           : bne    $150
        014e | 5310           : subq.b #1,(A0)     // decrease code -01
        0150 | 0c00 00fe      : cmpi.b #-$2,D0
        0154 | 6602           : bne    $158
        0156 | 5210           : addq.b #1,(A0)     // increase code +01
        0158 | 0c00 00fb      : cmpi.b #-$5,D0
        015c | 6604           : bne    $162
        015e | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
        0162 | 0c00 00f7      : cmpi.b #-$9,D0
        0166 | 6604           : bne    $16c
        0168 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
        016c | 0c00 00ef      : cmpi.b #-$11,D0
        0170 | 6602           : bne    $174
        0172 | 1290           : move.b (A0),(A1)   // play sound
        0174 | 0c00 00df      : cmpi.b #-$21,D0
        0178 | 6602           : bne    $17c
        017a | 4211           : clr.b  (A1)        // stop sound
        017c | 60be           : bra    $13c
        -->
    </script>
    <script state="run">
        <output format="----- US AAF mustang 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@f1000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@2a00 =             1900</action>
        <action>maincpu.mq@0130 = 0000000000000000</action>
        <action>maincpu.mq@0138 = 0000000000000000</action>
        <action>maincpu.mq@0140 = 0000000000000000</action>
        <action>maincpu.mq@0148 = 0000000000000000</action>
        <action>maincpu.mq@0150 = 0000000000000000</action>
        <action>maincpu.mq@0158 = 0000000000000000</action>
        <action>maincpu.mq@0160 = 0000000000000000</action>
        <action>maincpu.mq@0168 = 0000000000000000</action>
        <action>maincpu.mq@0170 = 0000000000000000</action>
        <action>maincpu.mq@0178 = 0000000000000000</action>
    </script>
</cheat>
"test mode" is preferred when you set "unlock test mode" and "sound test mode" at the same time.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[mustang]+ US AAF Mustang

Post by jman »

mustang.xml

Code: Select all

<!-- US AAF Mustang (25th May. 1990) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1C74 = 60</action> <!-- bullet -->
            <action>maincpu.mb@2070 = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@1C74 = 66</action>
            <action>maincpu.mb@2070 = 66</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@122D = 01</action> <!-- shot -->
            <action>maincpu.mb@132D = 01</action> <!-- bomb -->
        </script>
        <script state="off">
            <action>maincpu.mb@122D = 0C</action>
            <action>maincpu.mb@132D = 10</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="on">
            <action>maincpu.mq@00DC0 = 4EB9000287104E71</action>
            <action>maincpu.mq@28710 = 24300800610C2202</action>
            <action>maincpu.mq@28718 = 2430080461042002</action>
            <action>maincpu.mq@28720 = 4E750C6E0060002C</action>
            <action>maincpu.mq@28728 = 6410263C00000000</action>
            <action>maincpu.mq@28730 = 4A8267066A024483</action>
            <action>maincpu.mq@28738 = 24034E7500000000</action>
            <!--
            28710 | 2430 0800      : move.l  (A0,D0.l), D2    // x position
            28714 | 610C           : bsr     $28722
            28716 | 2202           : move.l  D2, D1
            28718 | 2430 0804      : move.l  ($4,A0,D0.l), D2 // y position
            2871C | 6104           : bsr     $28722
            2871E | 2002           : move.l  D2, D0
            28720 | 4E75           : rts
            28722 | 0C6E 0060 002C : cmpi.w  #$60, ($2c,A6)   // check auto move flag
            28728 | 6410           : bcc     $2873a
            2872A | 263C xxxx xxxx : move.l  #$xxxx, D3
            28730 | 4A82           : tst.l   D2
            28732 | 6706           : beq     $2873a
            28734 | 6A02           : bpl     $28738
            28736 | 4483           : neg.l   D3
            28738 | 2403           : move.l  D3, D2
            2873A | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@2872C = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@00DC0 = 2230080020300804</action>
            <action>maincpu.mq@28710 = 0000000000000000</action>
            <action>maincpu.mq@28718 = 0000000000000000</action>
            <action>maincpu.mq@28720 = 0000000000000000</action>
            <action>maincpu.mq@28728 = 0000000000000000</action>
            <action>maincpu.mq@28730 = 0000000000000000</action>
            <action>maincpu.mq@28738 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x05">01 (slow)</item>
            <item value="0x0a">02       </item>
            <item value="0x0f">03       </item>
            <item value="0x14">04       </item>
            <item value="0x19">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@12E5 = param</action> <!-- shot level 1 -->
            <action>maincpu.mb@12ED = param</action> <!-- shot level 2 -->
            <action>maincpu.mb@12F5 = param</action> <!-- shot level 3 -->
        </script>
        <script state="off">
            <action>maincpu.mb@12E5 = 0A</action>
            <action>maincpu.mb@12ED = 0A</action>
            <action>maincpu.mb@12F5 = 0A</action>
        </script>
    </cheat>

    <cheat desc="bomb speed">
        <parameter>
            <item value="0x00001000">01 (slow)</item>
            <item value="0x00004000">02       </item>
            <item value="0x00008000">03       </item>
            <item value="0x0000c000">04       </item>
            <item value="0x00010000">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.md@1396 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@1396 = 00004000</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mb@123F = 10</action>
        </script>
        <script state="off">
            <action>maincpu.mb@123F = 02</action>
        </script>
    </cheat>

    <cheat desc="unlock test mode">
        <comment>reset the game (F3) to enter test mode</comment>
        <script state="on">
            <action>maincpu.mb@3B17 = 42</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3B17 = 50</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop sfxs by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@02A02 = 4EF9000287404279</action>
            <action>maincpu.mq@28740 = 41F9000F000043F9</action>
            <action>maincpu.mq@28748 = 0008001F12001029</action>
            <action>maincpu.mq@28750 = FFE4B20067F60C00</action>
            <action>maincpu.mq@28758 = 00FD660253100C00</action>
            <action>maincpu.mq@28760 = 00FE660252100C00</action>
            <action>maincpu.mq@28768 = 00FB660404100010</action>
            <action>maincpu.mq@28770 = 0C0000F766040610</action>
            <action>maincpu.mq@28778 = 00100C0000EF6602</action>
            <action>maincpu.mq@28780 = 12900C0000DF6602</action>
            <action>maincpu.mq@28788 = 421160C000000000</action>
            <!--
            28740 | 41F9 000F 0000 : lea     $f0000.l, A0  // sound code address
            28746 | 43F9 0008 001F : lea     $8001f.l, A1  // sound latch address
            2874C | 1200           : move.b  D0, D1
            2874E | 1029 FFE4      : move.b  (-$1c,A1), D0 // reat input ($80003)
            28752 | B200           : cmp.b   D0, D1
            28754 | 67F6           : beq     $2874c
            28756 | 0C00 00FD      : cmpi.b  #-$3, D0
            2875A | 6602           : bne     $2875e
            2875C | 5310           : subq.b  #1, (A0)      // decrease code -01
            2875E | 0C00 00FE      : cmpi.b  #-$2, D0
            28762 | 6602           : bne     $28766
            28764 | 5210           : addq.b  #1, (A0)      // increase code +01
            28766 | 0C00 00FB      : cmpi.b  #-$5, D0
            2876A | 6604           : bne     $28770
            2876C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            28770 | 0C00 00F7      : cmpi.b  #-$9, D0
            28774 | 6604           : bne     $2877a
            28776 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            2877A | 0C00 00EF      : cmpi.b  #-$11, D0
            2877E | 6602           : bne     $28782
            28780 | 1290           : move.b  (A0), (A1)    // play sound
            28782 | 0C00 00DF      : cmpi.b  #-$21, D0
            28786 | 6602           : bne     $2878a
            28788 | 4211           : clr.b   (A1)          // stop sound
            2878A | 60C0           : bra     $2874c
            -->
        </script>
        <script state="run">
            <output format="----- us aaf mustang 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@F0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@02A02 = 4279000F90604279</action>
            <action>maincpu.mq@28740 = 0000000000000000</action>
            <action>maincpu.mq@28748 = 0000000000000000</action>
            <action>maincpu.mq@28750 = 0000000000000000</action>
            <action>maincpu.mq@28758 = 0000000000000000</action>
            <action>maincpu.mq@28760 = 0000000000000000</action>
            <action>maincpu.mq@28768 = 0000000000000000</action>
            <action>maincpu.mq@28770 = 0000000000000000</action>
            <action>maincpu.mq@28778 = 0000000000000000</action>
            <action>maincpu.mq@28780 = 0000000000000000</action>
            <action>maincpu.mq@28788 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
mustangs.xml

Code: Select all

<!-- US AAF Mustang (25th May. 1990 / Seoul Trading) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1C74 = 60</action> <!-- bullet -->
            <action>maincpu.mb@2070 = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@1C74 = 66</action>
            <action>maincpu.mb@2070 = 66</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@122D = 01</action> <!-- shot -->
            <action>maincpu.mb@132D = 01</action> <!-- bomb -->
        </script>
        <script state="off">
            <action>maincpu.mb@122D = 0C</action>
            <action>maincpu.mb@132D = 10</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="on">
            <action>maincpu.mq@00DC0 = 4EB9000287104E71</action>
            <action>maincpu.mq@28710 = 24300800610C2202</action>
            <action>maincpu.mq@28718 = 2430080461042002</action>
            <action>maincpu.mq@28720 = 4E750C6E0060002C</action>
            <action>maincpu.mq@28728 = 6410263C00000000</action>
            <action>maincpu.mq@28730 = 4A8267066A024483</action>
            <action>maincpu.mq@28738 = 24034E7500000000</action>
            <!--
            28710 | 2430 0800      : move.l  (A0,D0.l), D2    // x position
            28714 | 610C           : bsr     $28722
            28716 | 2202           : move.l  D2, D1
            28718 | 2430 0804      : move.l  ($4,A0,D0.l), D2 // y position
            2871C | 6104           : bsr     $28722
            2871E | 2002           : move.l  D2, D0
            28720 | 4E75           : rts
            28722 | 0C6E 0060 002C : cmpi.w  #$60, ($2c,A6)   // check auto move flag
            28728 | 6410           : bcc     $2873a
            2872A | 263C xxxx xxxx : move.l  #$xxxx, D3
            28730 | 4A82           : tst.l   D2
            28732 | 6706           : beq     $2873a
            28734 | 6A02           : bpl     $28738
            28736 | 4483           : neg.l   D3
            28738 | 2403           : move.l  D3, D2
            2873A | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@2872C = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@00DC0 = 2230080020300804</action>
            <action>maincpu.mq@28710 = 0000000000000000</action>
            <action>maincpu.mq@28718 = 0000000000000000</action>
            <action>maincpu.mq@28720 = 0000000000000000</action>
            <action>maincpu.mq@28728 = 0000000000000000</action>
            <action>maincpu.mq@28730 = 0000000000000000</action>
            <action>maincpu.mq@28738 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x05">01 (slow)</item>
            <item value="0x0a">02       </item>
            <item value="0x0f">03       </item>
            <item value="0x14">04       </item>
            <item value="0x19">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@12E5 = param</action> <!-- shot level 1 -->
            <action>maincpu.mb@12ED = param</action> <!-- shot level 2 -->
            <action>maincpu.mb@12F5 = param</action> <!-- shot level 3 -->
        </script>
        <script state="off">
            <action>maincpu.mb@12E5 = 0A</action>
            <action>maincpu.mb@12ED = 0A</action>
            <action>maincpu.mb@12F5 = 0A</action>
        </script>
    </cheat>

    <cheat desc="bomb speed">
        <parameter>
            <item value="0x00001000">01 (slow)</item>
            <item value="0x00004000">02       </item>
            <item value="0x00008000">03       </item>
            <item value="0x0000c000">04       </item>
            <item value="0x00010000">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.md@1396 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@1396 = 00004000</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mb@123F = 10</action>
        </script>
        <script state="off">
            <action>maincpu.mb@123F = 02</action>
        </script>
    </cheat>

    <cheat desc="unlock test mode">
        <comment>reset the game (F3) to enter test mode</comment>
        <script state="on">
            <action>maincpu.mb@3B17 = 42</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3B17 = 50</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop sfxs by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@02A02 = 4EF9000287404279</action>
            <action>maincpu.mq@28740 = 41F9000F100043F9</action>
            <action>maincpu.mq@28748 = 0008001F12001029</action>
            <action>maincpu.mq@28750 = FFE4B20067F60C00</action>
            <action>maincpu.mq@28758 = 00FD660253100C00</action>
            <action>maincpu.mq@28760 = 00FE660252100C00</action>
            <action>maincpu.mq@28768 = 00FB660404100010</action>
            <action>maincpu.mq@28770 = 0C0000F766040610</action>
            <action>maincpu.mq@28778 = 00100C0000EF6602</action>
            <action>maincpu.mq@28780 = 12900C0000DF6602</action>
            <action>maincpu.mq@28788 = 421160C000000000</action>
            <!--
            28740 | 41F9 000F 1000 : lea     $f1000.l, A0  // sound code address
            28746 | 43F9 0008 001F : lea     $8001f.l, A1  // sound latch address
            2874C | 1200           : move.b  D0, D1
            2874E | 1029 FFE4      : move.b  (-$1c,A1), D0 // reat input ($80003)
            28752 | B200           : cmp.b   D0, D1
            28754 | 67F6           : beq     $2874c
            28756 | 0C00 00FD      : cmpi.b  #-$3, D0
            2875A | 6602           : bne     $2875e
            2875C | 5310           : subq.b  #1, (A0)      // decrease code -01
            2875E | 0C00 00FE      : cmpi.b  #-$2, D0
            28762 | 6602           : bne     $28766
            28764 | 5210           : addq.b  #1, (A0)      // increase code +01
            28766 | 0C00 00FB      : cmpi.b  #-$5, D0
            2876A | 6604           : bne     $28770
            2876C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            28770 | 0C00 00F7      : cmpi.b  #-$9, D0
            28774 | 6604           : bne     $2877a
            28776 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            2877A | 0C00 00EF      : cmpi.b  #-$11, D0
            2877E | 6602           : bne     $28782
            28780 | 1290           : move.b  (A0), (A1)    // play sound
            28782 | 0C00 00DF      : cmpi.b  #-$21, D0
            28786 | 6602           : bne     $2878a
            28788 | 4211           : clr.b   (A1)          // stop sound
            2878A | 60C0           : bra     $2874c
            -->
        </script>
        <script state="run">
            <output format="----- us aaf mustang 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@F1000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@02A02 = 4279000F90604279</action>
            <action>maincpu.mq@28740 = 0000000000000000</action>
            <action>maincpu.mq@28748 = 0000000000000000</action>
            <action>maincpu.mq@28750 = 0000000000000000</action>
            <action>maincpu.mq@28758 = 0000000000000000</action>
            <action>maincpu.mq@28760 = 0000000000000000</action>
            <action>maincpu.mq@28768 = 0000000000000000</action>
            <action>maincpu.mq@28770 = 0000000000000000</action>
            <action>maincpu.mq@28778 = 0000000000000000</action>
            <action>maincpu.mq@28780 = 0000000000000000</action>
            <action>maincpu.mq@28788 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
mustangb.xml

Code: Select all

<!-- US AAF Mustang (bootleg, set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1C74 = 60</action> <!-- bullet -->
            <action>maincpu.mb@2070 = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@1C74 = 66</action>
            <action>maincpu.mb@2070 = 66</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@122D = 01</action> <!-- shot -->
            <action>maincpu.mb@132D = 01</action> <!-- bomb -->
        </script>
        <script state="off">
            <action>maincpu.mb@122D = 0C</action>
            <action>maincpu.mb@132D = 10</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="on">
            <action>maincpu.mq@00DC0 = 4EB9000287104E71</action>
            <action>maincpu.mq@28710 = 24300800610C2202</action>
            <action>maincpu.mq@28718 = 2430080461042002</action>
            <action>maincpu.mq@28720 = 4E750C6E0060002C</action>
            <action>maincpu.mq@28728 = 6410263C00000000</action>
            <action>maincpu.mq@28730 = 4A8267066A024483</action>
            <action>maincpu.mq@28738 = 24034E7500000000</action>
            <!--
            28710 | 2430 0800      : move.l  (A0,D0.l), D2    // x position
            28714 | 610C           : bsr     $28722
            28716 | 2202           : move.l  D2, D1
            28718 | 2430 0804      : move.l  ($4,A0,D0.l), D2 // y position
            2871C | 6104           : bsr     $28722
            2871E | 2002           : move.l  D2, D0
            28720 | 4E75           : rts
            28722 | 0C6E 0060 002C : cmpi.w  #$60, ($2c,A6)   // check auto move flag
            28728 | 6410           : bcc     $2873a
            2872A | 263C xxxx xxxx : move.l  #$xxxx, D3
            28730 | 4A82           : tst.l   D2
            28732 | 6706           : beq     $2873a
            28734 | 6A02           : bpl     $28738
            28736 | 4483           : neg.l   D3
            28738 | 2403           : move.l  D3, D2
            2873A | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@2872C = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@00DC0 = 2230080020300804</action>
            <action>maincpu.mq@28710 = 0000000000000000</action>
            <action>maincpu.mq@28718 = 0000000000000000</action>
            <action>maincpu.mq@28720 = 0000000000000000</action>
            <action>maincpu.mq@28728 = 0000000000000000</action>
            <action>maincpu.mq@28730 = 0000000000000000</action>
            <action>maincpu.mq@28738 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x05">01 (slow)</item>
            <item value="0x0a">02       </item>
            <item value="0x0f">03       </item>
            <item value="0x14">04       </item>
            <item value="0x19">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@12E5 = param</action> <!-- shot level 1 -->
            <action>maincpu.mb@12ED = param</action> <!-- shot level 2 -->
            <action>maincpu.mb@12F5 = param</action> <!-- shot level 3 -->
        </script>
        <script state="off">
            <action>maincpu.mb@12E5 = 0A</action>
            <action>maincpu.mb@12ED = 0A</action>
            <action>maincpu.mb@12F5 = 0A</action>
        </script>
    </cheat>

    <cheat desc="bomb speed">
        <parameter>
            <item value="0x00001000">01 (slow)</item>
            <item value="0x00004000">02       </item>
            <item value="0x00008000">03       </item>
            <item value="0x0000c000">04       </item>
            <item value="0x00010000">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.md@1396 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@1396 = 00004000</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mb@123F = 10</action>
        </script>
        <script state="off">
            <action>maincpu.mb@123F = 02</action>
        </script>
    </cheat>

    <cheat desc="unlock test mode">
        <comment>reset the game (F3) to enter test mode</comment>
        <script state="on">
            <action>maincpu.mb@3B17 = 42</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3B17 = 50</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@02A02 = 4EF9000287404279</action>
            <action>maincpu.mq@28740 = 41F9000F000043F9</action>
            <action>maincpu.mq@28748 = 0008001E12001029</action>
            <action>maincpu.mq@28750 = FFE5B20067F60C00</action>
            <action>maincpu.mq@28758 = 00FD660253100C00</action>
            <action>maincpu.mq@28760 = 00FE660252100C00</action>
            <action>maincpu.mq@28768 = 00FB660404100010</action>
            <action>maincpu.mq@28770 = 0C0000F766040610</action>
            <action>maincpu.mq@28778 = 00100C0000EF6608</action>
            <action>maincpu.mq@28780 = 343C800084103282</action>
            <action>maincpu.mq@28788 = 0C0000DF6606343C</action>
            <action>maincpu.mq@28790 = 82FF328260B60000</action>
            <!--
            28740 | 41F9 000F 0000 : lea     $f0000.l, A0  // sound code address
            28746 | 43F9 0008 001E : lea     $8001e.l, A1  // sound latch address
            2874C | 1200           : move.b  D0, D1
            2874E | 1029 FFE5      : move.b  (-$1b,A1), D0 // read input ($80003)
            28752 | B200           : cmp.b   D0, D1
            28754 | 67F6           : beq     $2874c
            28756 | 0C00 00FD      : cmpi.b  #-$3, D0
            2875A | 6602           : bne     $2875e
            2875C | 5310           : subq.b  #1, (A0)      // decrease code -01
            2875E | 0C00 00FE      : cmpi.b  #-$2, D0
            28762 | 6602           : bne     $28766
            28764 | 5210           : addq.b  #1, (A0)      // increase code +01
            28766 | 0C00 00FB      : cmpi.b  #-$5, D0
            2876A | 6604           : bne     $28770
            2876C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            28770 | 0C00 00F7      : cmpi.b  #-$9, D0
            28774 | 6604           : bne     $2877a
            28776 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            2877A | 0C00 00EF      : cmpi.b  #-$11, D0
            2877E | 6608           : bne     $28788
            28780 | 343C 8000      : move.w  #$8000, D2    // play sound
            28784 | 8410           : or.b    (A0), D2
            28786 | 3282           : move.w  D2, (A1)
            28788 | 0C00 00DF      : cmpi.b  #-$21, D0
            2878C | 6606           : bne     $28794
            2878E | 343C 82FF      : move.w  #$82ff, D2    // stop sound
            28792 | 3282           : move.w  D2, (A1)
            28794 | 60B6           : bra     $2874c
            -->
        </script>
        <script state="run">
            <output format="----- us aaf mustang 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@F0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@02A02 = 4279000F90604279</action>
            <action>maincpu.mq@28740 = 0000000000000000</action>
            <action>maincpu.mq@28748 = 0000000000000000</action>
            <action>maincpu.mq@28750 = 0000000000000000</action>
            <action>maincpu.mq@28758 = 0000000000000000</action>
            <action>maincpu.mq@28760 = 0000000000000000</action>
            <action>maincpu.mq@28768 = 0000000000000000</action>
            <action>maincpu.mq@28770 = 0000000000000000</action>
            <action>maincpu.mq@28778 = 0000000000000000</action>
            <action>maincpu.mq@28780 = 0000000000000000</action>
            <action>maincpu.mq@28788 = 0000000000000000</action>
            <action>maincpu.mq@28790 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
mustangb2.xml

Code: Select all

<!-- US AAF Mustang (TAB Austria bootleg) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1C74 = 60</action> <!-- bullet -->
            <action>maincpu.mb@2070 = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@1C74 = 66</action>
            <action>maincpu.mb@2070 = 66</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@122D = 01</action> <!-- shot -->
            <action>maincpu.mb@132D = 01</action> <!-- bomb -->
        </script>
        <script state="off">
            <action>maincpu.mb@122D = 0C</action>
            <action>maincpu.mb@132D = 10</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="on">
            <action>maincpu.mq@00DC0 = 4EB9000287104E71</action>
            <action>maincpu.mq@28710 = 24300800610C2202</action>
            <action>maincpu.mq@28718 = 2430080461042002</action>
            <action>maincpu.mq@28720 = 4E750C6E0060002C</action>
            <action>maincpu.mq@28728 = 6410263C00000000</action>
            <action>maincpu.mq@28730 = 4A8267066A024483</action>
            <action>maincpu.mq@28738 = 24034E7500000000</action>
            <!--
            28710 | 2430 0800      : move.l  (A0,D0.l), D2    // x position
            28714 | 610C           : bsr     $28722
            28716 | 2202           : move.l  D2, D1
            28718 | 2430 0804      : move.l  ($4,A0,D0.l), D2 // y position
            2871C | 6104           : bsr     $28722
            2871E | 2002           : move.l  D2, D0
            28720 | 4E75           : rts
            28722 | 0C6E 0060 002C : cmpi.w  #$60, ($2c,A6)   // check auto move flag
            28728 | 6410           : bcc     $2873a
            2872A | 263C xxxx xxxx : move.l  #$xxxx, D3
            28730 | 4A82           : tst.l   D2
            28732 | 6706           : beq     $2873a
            28734 | 6A02           : bpl     $28738
            28736 | 4483           : neg.l   D3
            28738 | 2403           : move.l  D3, D2
            2873A | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@2872C = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@00DC0 = 2230080020300804</action>
            <action>maincpu.mq@28710 = 0000000000000000</action>
            <action>maincpu.mq@28718 = 0000000000000000</action>
            <action>maincpu.mq@28720 = 0000000000000000</action>
            <action>maincpu.mq@28728 = 0000000000000000</action>
            <action>maincpu.mq@28730 = 0000000000000000</action>
            <action>maincpu.mq@28738 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x05">01 (slow)</item>
            <item value="0x0a">02       </item>
            <item value="0x0f">03       </item>
            <item value="0x14">04       </item>
            <item value="0x19">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@12E5 = param</action> <!-- shot level 1 -->
            <action>maincpu.mb@12ED = param</action> <!-- shot level 2 -->
            <action>maincpu.mb@12F5 = param</action> <!-- shot level 3 -->
        </script>
        <script state="off">
            <action>maincpu.mb@12E5 = 0A</action>
            <action>maincpu.mb@12ED = 0A</action>
            <action>maincpu.mb@12F5 = 0A</action>
        </script>
    </cheat>

    <cheat desc="bomb speed">
        <parameter>
            <item value="0x00001000">01 (slow)</item>
            <item value="0x00004000">02       </item>
            <item value="0x00008000">03       </item>
            <item value="0x0000c000">04       </item>
            <item value="0x00010000">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.md@1396 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@1396 = 00004000</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mb@123F = 10</action>
        </script>
        <script state="off">
            <action>maincpu.mb@123F = 02</action>
        </script>
    </cheat>

    <cheat desc="unlock test mode">
        <comment>reset the game (F3) to enter test mode</comment>
        <script state="on">
            <action>maincpu.mb@3B17 = 42</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3B17 = 50</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@02A02 = 4EF9000287404279</action>
            <action>maincpu.mq@28740 = 41F9000F000043F9</action>
            <action>maincpu.mq@28748 = 0008001E12001029</action>
            <action>maincpu.mq@28750 = FFE5B20067F60C00</action>
            <action>maincpu.mq@28758 = 00FD660253100C00</action>
            <action>maincpu.mq@28760 = 00FE660252100C00</action>
            <action>maincpu.mq@28768 = 00FB660404100010</action>
            <action>maincpu.mq@28770 = 0C0000F766040610</action>
            <action>maincpu.mq@28778 = 00100C0000EF6608</action>
            <action>maincpu.mq@28780 = 343C800084103282</action>
            <action>maincpu.mq@28788 = 0C0000DF6606343C</action>
            <action>maincpu.mq@28790 = 82FF328260B60000</action>
            <!--
            28740 | 41F9 000F 0000 : lea     $f0000.l, A0  // sound code address
            28746 | 43F9 0008 001E : lea     $8001e.l, A1  // sound latch address
            2874C | 1200           : move.b  D0, D1
            2874E | 1029 FFE5      : move.b  (-$1b,A1), D0 // read input ($80003)
            28752 | B200           : cmp.b   D0, D1
            28754 | 67F6           : beq     $2874c
            28756 | 0C00 00FD      : cmpi.b  #-$3, D0
            2875A | 6602           : bne     $2875e
            2875C | 5310           : subq.b  #1, (A0)      // decrease code -01
            2875E | 0C00 00FE      : cmpi.b  #-$2, D0
            28762 | 6602           : bne     $28766
            28764 | 5210           : addq.b  #1, (A0)      // increase code +01
            28766 | 0C00 00FB      : cmpi.b  #-$5, D0
            2876A | 6604           : bne     $28770
            2876C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            28770 | 0C00 00F7      : cmpi.b  #-$9, D0
            28774 | 6604           : bne     $2877a
            28776 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            2877A | 0C00 00EF      : cmpi.b  #-$11, D0
            2877E | 6608           : bne     $28788
            28780 | 343C 8000      : move.w  #$8000, D2    // play sound
            28784 | 8410           : or.b    (A0), D2
            28786 | 3282           : move.w  D2, (A1)
            28788 | 0C00 00DF      : cmpi.b  #-$21, D0
            2878C | 6606           : bne     $28794
            2878E | 343C 82FF      : move.w  #$82ff, D2    // stop sound
            28792 | 3282           : move.w  D2, (A1)
            28794 | 60B6           : bra     $2874c
            -->
        </script>
        <script state="run">
            <output format="----- us aaf mustang 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@F0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@02A02 = 4279000F90604279</action>
            <action>maincpu.mq@28740 = 0000000000000000</action>
            <action>maincpu.mq@28748 = 0000000000000000</action>
            <action>maincpu.mq@28750 = 0000000000000000</action>
            <action>maincpu.mq@28758 = 0000000000000000</action>
            <action>maincpu.mq@28760 = 0000000000000000</action>
            <action>maincpu.mq@28768 = 0000000000000000</action>
            <action>maincpu.mq@28770 = 0000000000000000</action>
            <action>maincpu.mq@28778 = 0000000000000000</action>
            <action>maincpu.mq@28780 = 0000000000000000</action>
            <action>maincpu.mq@28788 = 0000000000000000</action>
            <action>maincpu.mq@28790 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
mustangb3.xml

Code: Select all

<!-- US AAF Mustang (Lettering bootleg) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1C74 = 60</action> <!-- bullet -->
            <action>maincpu.mb@2070 = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@1C74 = 66</action>
            <action>maincpu.mb@2070 = 66</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@122D = 01</action> <!-- shot -->
            <action>maincpu.mb@132D = 01</action> <!-- bomb -->
        </script>
        <script state="off">
            <action>maincpu.mb@122D = 0C</action>
            <action>maincpu.mb@132D = 10</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="on">
            <action>maincpu.mq@00DC0 = 4EB9000287104E71</action>
            <action>maincpu.mq@28710 = 24300800610C2202</action>
            <action>maincpu.mq@28718 = 2430080461042002</action>
            <action>maincpu.mq@28720 = 4E750C6E0060002C</action>
            <action>maincpu.mq@28728 = 6410263C00000000</action>
            <action>maincpu.mq@28730 = 4A8267066A024483</action>
            <action>maincpu.mq@28738 = 24034E7500000000</action>
            <!--
            28710 | 2430 0800      : move.l  (A0,D0.l), D2    // x position
            28714 | 610C           : bsr     $28722
            28716 | 2202           : move.l  D2, D1
            28718 | 2430 0804      : move.l  ($4,A0,D0.l), D2 // y position
            2871C | 6104           : bsr     $28722
            2871E | 2002           : move.l  D2, D0
            28720 | 4E75           : rts
            28722 | 0C6E 0060 002C : cmpi.w  #$60, ($2c,A6)   // check auto move flag
            28728 | 6410           : bcc     $2873a
            2872A | 263C xxxx xxxx : move.l  #$xxxx, D3
            28730 | 4A82           : tst.l   D2
            28732 | 6706           : beq     $2873a
            28734 | 6A02           : bpl     $28738
            28736 | 4483           : neg.l   D3
            28738 | 2403           : move.l  D3, D2
            2873A | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@2872C = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@00DC0 = 2230080020300804</action>
            <action>maincpu.mq@28710 = 0000000000000000</action>
            <action>maincpu.mq@28718 = 0000000000000000</action>
            <action>maincpu.mq@28720 = 0000000000000000</action>
            <action>maincpu.mq@28728 = 0000000000000000</action>
            <action>maincpu.mq@28730 = 0000000000000000</action>
            <action>maincpu.mq@28738 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x05">01 (slow)</item>
            <item value="0x0a">02       </item>
            <item value="0x0f">03       </item>
            <item value="0x14">04       </item>
            <item value="0x19">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@12E5 = param</action> <!-- shot level 1 -->
            <action>maincpu.mb@12ED = param</action> <!-- shot level 2 -->
            <action>maincpu.mb@12F5 = param</action> <!-- shot level 3 -->
        </script>
        <script state="off">
            <action>maincpu.mb@12E5 = 0A</action>
            <action>maincpu.mb@12ED = 0A</action>
            <action>maincpu.mb@12F5 = 0A</action>
        </script>
    </cheat>

    <cheat desc="bomb speed">
        <parameter>
            <item value="0x00001000">01 (slow)</item>
            <item value="0x00004000">02       </item>
            <item value="0x00008000">03       </item>
            <item value="0x0000c000">04       </item>
            <item value="0x00010000">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.md@1396 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@1396 = 00004000</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mb@123F = 10</action>
        </script>
        <script state="off">
            <action>maincpu.mb@123F = 02</action>
        </script>
    </cheat>

    <cheat desc="unlock test mode">
        <comment>reset the game (F3) to enter test mode</comment>
        <script state="on">
            <action>maincpu.mb@3B17 = 42</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3B17 = 50</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop sfxs by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@02A02 = 4EF9000287404279</action>
            <action>maincpu.mq@28740 = 41F9000F000043F9</action>
            <action>maincpu.mq@28748 = 0008001F12001029</action>
            <action>maincpu.mq@28750 = FFE4B20067F60C00</action>
            <action>maincpu.mq@28758 = 00FD660253100C00</action>
            <action>maincpu.mq@28760 = 00FE660252100C00</action>
            <action>maincpu.mq@28768 = 00FB660404100010</action>
            <action>maincpu.mq@28770 = 0C0000F766040610</action>
            <action>maincpu.mq@28778 = 00100C0000EF6602</action>
            <action>maincpu.mq@28780 = 12900C0000DF6602</action>
            <action>maincpu.mq@28788 = 421160C000000000</action>
            <!--
            28740 | 41F9 000F 0000 : lea     $f0000.l, A0  // sound code address
            28746 | 43F9 0008 001F : lea     $8001f.l, A1  // sound latch address
            2874C | 1200           : move.b  D0, D1
            2874E | 1029 FFE4      : move.b  (-$1c,A1), D0 // reat input ($80003)
            28752 | B200           : cmp.b   D0, D1
            28754 | 67F6           : beq     $2874c
            28756 | 0C00 00FD      : cmpi.b  #-$3, D0
            2875A | 6602           : bne     $2875e
            2875C | 5310           : subq.b  #1, (A0)      // decrease code -01
            2875E | 0C00 00FE      : cmpi.b  #-$2, D0
            28762 | 6602           : bne     $28766
            28764 | 5210           : addq.b  #1, (A0)      // increase code +01
            28766 | 0C00 00FB      : cmpi.b  #-$5, D0
            2876A | 6604           : bne     $28770
            2876C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            28770 | 0C00 00F7      : cmpi.b  #-$9, D0
            28774 | 6604           : bne     $2877a
            28776 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            2877A | 0C00 00EF      : cmpi.b  #-$11, D0
            2877E | 6602           : bne     $28782
            28780 | 1290           : move.b  (A0), (A1)    // play sound
            28782 | 0C00 00DF      : cmpi.b  #-$21, D0
            28786 | 6602           : bne     $2878a
            28788 | 4211           : clr.b   (A1)          // stop sound
            2878A | 60C0           : bra     $2874c
            -->
        </script>
        <script state="run">
            <output format="----- us aaf mustang 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@F0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@02A02 = 4279000F90604279</action>
            <action>maincpu.mq@28740 = 0000000000000000</action>
            <action>maincpu.mq@28748 = 0000000000000000</action>
            <action>maincpu.mq@28750 = 0000000000000000</action>
            <action>maincpu.mq@28758 = 0000000000000000</action>
            <action>maincpu.mq@28760 = 0000000000000000</action>
            <action>maincpu.mq@28768 = 0000000000000000</action>
            <action>maincpu.mq@28770 = 0000000000000000</action>
            <action>maincpu.mq@28778 = 0000000000000000</action>
            <action>maincpu.mq@28780 = 0000000000000000</action>
            <action>maincpu.mq@28788 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
"player speed" : Fixed in auto move.
Post Reply