[sonicwi] Aero Fighters/Sonic Wings

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

[sonicwi] Aero Fighters/Sonic Wings

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mw@1a42e = 60f8</action>
    </script>
    <script state="off">
        <action>maincpu.mw@1a42e = 08ea</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@164e3 =       34</action> <!-- button -->
        <action>maincpu.md@16992 = 137c0000</action> <!-- fire speed up : villiam -->
        <action>maincpu.md@16cfc = 137c0000</action> <!-- fire speed up : others -->
    </script>
    <script state="off">
        <action>maincpu.mb@164e3 =       36</action>
        <action>maincpu.md@16992 = 13690010</action>
        <action>maincpu.md@16cfc = 13690010</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x00008000">01 (slow)</item>
        <item value="0x00028000">02       </item>
        <item value="0x00038000">03       </item>
        <item value="0x00048000">04       </item>
        <item value="0x00058000">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.mq@16eac = 4eb90007c5404240</action> <!-- x position -->
        <action>maincpu.mq@16ebc = 4eb90007c5564e75</action> <!-- y position -->
        <action>maincpu.mq@7c540 = 203c000000004a42</action>
        <action>maincpu.mq@7c548 = 670a6a0244802400</action>
        <action>maincpu.mq@7c550 = d5a800064e75203c</action>
        <action>maincpu.mq@7c558 = 000000004a43670a</action>
        <action>maincpu.mq@7c560 = 6a0244802600d7a8</action>
        <action>maincpu.mq@7c568 = 000a4e75ffffffff</action>
        <!--
        7c540 | 203c xxxx xxxx : move.l #$xxxx,D0  // x position
        7c546 | 4a42           : tst.w  D2
        7c548 | 670a           : beq    $7c554
        7c54a | 6a02           : bpl    $7c54e
        7c54c | 4480           : neg.l  D0
        7c54e | 2400           : move.l D0,D2
        7c550 | d5a8 0006      : add.l  D2,($6,A0)
        7c554 | 4e75           : rts
        7c556 | 203c xxxx xxxx : move.l #$xxxx,D0  // y position
        7c55c | 4a43           : tst.w  D3
        7c55e | 670a           : beq    $7c56a
        7c560 | 6a02           : bpl    $7c564
        7c562 | 4480           : neg.l  D0
        7c564 | 2600           : move.l D0,D3
        7c566 | d7a8 000a      : add.l  D3,($a,A0)
        7c56a | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.md@7c542 = param</action>
        <action>maincpu.md@7c558 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@16eac = c5c0d5a800064240</action>
        <action>maincpu.mq@16ebc = c7c0d7a8000a4e75</action>
        <action>maincpu.mq@7c540 = ffffffffffffffff</action>
        <action>maincpu.mq@7c548 = ffffffffffffffff</action>
        <action>maincpu.mq@7c550 = ffffffffffffffff</action>
        <action>maincpu.mq@7c558 = ffffffffffffffff</action>
        <action>maincpu.mq@7c560 = ffffffffffffffff</action>
        <action>maincpu.mq@7c568 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x10">01 (slow)</item>
        <item value="0x20">02       </item>
        <item value="0x30">03       </item>
        <item value="0x40">04       </item>
        <item value="0x50">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@16986 = 1a3c0000</action> <!-- villiam -->
        <action>maincpu.md@16cf0 = 103c0000</action> <!-- others -->
    </script>
    <script state="change">
        <action>maincpu.mb@16989 = param</action>
        <action>maincpu.mb@16cf3 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@16986 = 1a29000e</action>
        <action>maincpu.md@16cf0 = 1029000e</action>
    </script>
</cheat>

<cheat desc="max bullets up">
    <script state="on">
        <action>maincpu.mw@168d4 = 0002</action>
    </script>
    <script state="off">
        <action>maincpu.mw@168d4 = 017e</action>
    </script>
</cheat>

<cheat desc="unlock special test mode">
    <comment>reset the game (F3) to enter special test mode</comment>
    <script state="on">
        <action>maincpu.mb@1141b = 02</action> <!-- go to test mode -->
        <action>maincpu.mb@17708 = 60</action> <!-- add test mode items -->
    </script>
    <script state="off">
        <action>maincpu.mb@1141b = 08</action>
        <action>maincpu.mb@17708 = 66</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@11410 = 4ef90007c5704e71</action>
        <action>maincpu.mq@7c570 = 41f9000c100043f9</action>
        <action>maincpu.mq@7c578 = 000fe00e12001039</action>
        <action>maincpu.mq@7c580 = 000fe001b20067f4</action>
        <action>maincpu.mq@7c588 = 0c0000fb66025310</action>
        <action>maincpu.mq@7c590 = 0c0000f766025210</action>
        <action>maincpu.mq@7c598 = 0c0000fd66040410</action>
        <action>maincpu.mq@7c5a0 = 00100c0000fe6604</action>
        <action>maincpu.mq@7c5a8 = 061000100c0000ef</action>
        <action>maincpu.mq@7c5b0 = 660212900c0000df</action>
        <action>maincpu.mq@7c5b8 = 660412bc000160bc</action>
        <!--
        7c570 | 41f9 000c 1000 : lea    $c1000.l,A0 // sound code address
        7c576 | 43f9 000f e00e : lea    $fe00e.l,A1 // sound latch address
        7c57c | 1200           : move.b D0,D1
        7c57e | 1039 000f e001 : move.b $fe001.l,D0 // read input
        7c584 | b200           : cmp.b  D0,D1
        7c586 | 67f4           : beq    $7c57c
        7c588 | 0c00 00fb      : cmpi.b #-$5,D0
        7c58c | 6602           : bne    $7c590
        7c58e | 5310           : subq.b #1,(A0)     // decrease code -01
        7c590 | 0c00 00f7      : cmpi.b #-$9,D0
        7c594 | 6602           : bne    $7c598
        7c596 | 5210           : addq.b #1,(A0)     // increase code +01
        7c598 | 0c00 00fd      : cmpi.b #-$3,D0
        7c59c | 6604           : bne    $7c5a2
        7c59e | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
        7c5a2 | 0c00 00fe      : cmpi.b #-$2,D0
        7c5a6 | 6604           : bne    $7c5ac
        7c5a8 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
        7c5ac | 0c00 00ef      : cmpi.b #-$11,D0
        7c5b0 | 6602           : bne    $7c5b4
        7c5b2 | 1290           : move.b (A0),(A1)   // play sound
        7c5b4 | 0c00 00df      : cmpi.b #-$21,D0
        7c5b8 | 6604           : bne    $7c5be
        7c5ba | 12bc 0001      : move.b #$1,(A1)    // stop sound
        7c5be | 60bc           : bra    $7c57c
        -->
    </script>
    <script state="run">
        <output format="----- sonic 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@c1000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@11410 = 08390007000c8b45</action>
        <action>maincpu.mq@7c570 = ffffffffffffffff</action>
        <action>maincpu.mq@7c578 = ffffffffffffffff</action>
        <action>maincpu.mq@7c580 = ffffffffffffffff</action>
        <action>maincpu.mq@7c588 = ffffffffffffffff</action>
        <action>maincpu.mq@7c590 = ffffffffffffffff</action>
        <action>maincpu.mq@7c598 = ffffffffffffffff</action>
        <action>maincpu.mq@7c5a0 = ffffffffffffffff</action>
        <action>maincpu.mq@7c5a8 = ffffffffffffffff</action>
        <action>maincpu.mq@7c5b0 = ffffffffffffffff</action>
        <action>maincpu.mq@7c5b8 = ffffffffffffffff</action>
    </script>
</cheat>
jman
Posts: 842
Joined: Tue Dec 01, 2020 1:24 pm

[aerofgt]+ Aero Fighters/Sonic Wings

Post by jman »

aerofgt.xml

Code: Select all

<!-- Aero Fighters (World / USA + Canada / Korea / Hong Kong / Taiwan) (newer hardware) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@2A002 = 60F8</action>
        </script>
        <script state="off">
            <action>maincpu.mw@2A002 = 08EA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1874D = 34      </action> <!-- button -->
            <action>maincpu.md@18BFC = 137C0000</action> <!-- fire speed up (villiam) -->
            <action>maincpu.md@18F66 = 137C0000</action> <!-- fire speed up (others) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1874D = 36      </action>
            <action>maincpu.md@18BFC = 13690010</action>
            <action>maincpu.md@18F66 = 13690010</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@19116 = 4EB90007B4704240</action> <!-- x position -->
            <action>maincpu.mq@19126 = 4EB90007B4864E75</action> <!-- y position -->
            <action>maincpu.mq@7B470 = 203C000000004A42</action>
            <action>maincpu.mq@7B478 = 670A6A0244802400</action>
            <action>maincpu.mq@7B480 = D5A800064E75203C</action>
            <action>maincpu.mq@7B488 = 000000004A43670A</action>
            <action>maincpu.mq@7B490 = 6A0244802600D7A8</action>
            <action>maincpu.mq@7B498 = 000A4E75FFFFFFFF</action>
            <!--
            7B470 | 203C xxxx xxxx : move.l  #$xxxx, D0  // x position
            7B476 | 4A42           : tst.w   D2
            7B478 | 670A           : beq     $7b484
            7B47A | 6A02           : bpl     $7b47e
            7B47C | 4480           : neg.l   D0
            7B47E | 2400           : move.l  D0, D2
            7B480 | D5A8 0006      : add.l   D2, ($6,A0)
            7B484 | 4E75           : rts
            7B486 | 203C xxxx xxxx : move.l  #$xxxx, D0  // y position
            7B48C | 4A43           : tst.w   D3
            7B48E | 670A           : beq     $7b49a
            7B490 | 6A02           : bpl     $7b494
            7B492 | 4480           : neg.l   D0
            7B494 | 2600           : move.l  D0, D3
            7B496 | D7A8 000A      : add.l   D3, ($a,A0)
            7B49A | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@7B472 = param</action>
            <action>maincpu.md@7B488 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@19116 = C5C0D5A800064240</action>
            <action>maincpu.mq@19126 = C7C0D7A8000A4E75</action>
            <action>maincpu.mq@7B470 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B478 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B480 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B488 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B490 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B498 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0020">02       </item>
            <item value="0x0030">03       </item>
            <item value="0x0040">04       </item>
            <item value="0x0050">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@18BF0 = 1A3C</action> <!-- villiam -->
            <action>maincpu.mw@18F5A = 103C</action> <!-- others -->
        </script>
        <script state="change">
            <action>maincpu.mw@18BF2 = param</action>
            <action>maincpu.mw@18F5C = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@18BF0 = 1A29000E</action>
            <action>maincpu.md@18F5A = 1029000E</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mw@18B3E = 0002</action>
        </script>
        <script state="off">
            <action>maincpu.mw@18B3E = 017E</action>
        </script>
    </cheat>

    <cheat desc="no power down">
        <script state="on">
            <action>maincpu.mb@18B1C = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@18B1C = 6A</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@0132F = 02</action> <!-- go to test mode -->
            <action>maincpu.mb@15AA4 = 60</action> <!-- add test mode items -->
        </script>
        <script state="off">
            <action>maincpu.mb@0132F = 08</action>
            <action>maincpu.mb@15AA4 = 66</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@01324 = 4EF90007B4A04E71</action>
            <action>maincpu.mq@7B4A0 = 41F900FEF00043F9</action>
            <action>maincpu.mq@7B4A8 = 00FFFFC14EB811E2</action>
            <action>maincpu.mq@7B4B0 = 12001029FFE0B200</action>
            <action>maincpu.mq@7B4B8 = 67F20C0000FB6602</action>
            <action>maincpu.mq@7B4C0 = 53100C0000F76602</action>
            <action>maincpu.mq@7B4C8 = 52100C0000FD6604</action>
            <action>maincpu.mq@7B4D0 = 041000100C0000FE</action>
            <action>maincpu.mq@7B4D8 = 6604061000100C00</action>
            <action>maincpu.mq@7B4E0 = 00EF660212900C00</action>
            <action>maincpu.mq@7B4E8 = 00DF660412BC0001</action>
            <action>maincpu.mq@7B4F0 = 60BAFFFFFFFFFFFF</action>
            <!--
            7B4A0 | 41F9 00FE F000 : lea     $fef000.l, A0 // sound code address
            7B4A6 | 43F9 00FF FFC1 : lea     $ffffc1.l, A1 // sound latch address
            7B4AC | 4EB8 11E2      : jsr     $11e2.w       // watchdog
            7B4B0 | 1200           : move.b  D0, D1
            7B4B2 | 1029 FFE0      : move.b  (-$20,A1), D0 // read input ($ffffa1)
            7B4B6 | B200           : cmp.b   D0, D1
            7B4B8 | 67F2           : beq     $7b4ac
            7B4BA | 0C00 00FB      : cmpi.b  #-$5, D0
            7B4BE | 6602           : bne     $7b4c2
            7B4C0 | 5310           : subq.b  #1, (A0)      // decrease code -01
            7B4C2 | 0C00 00F7      : cmpi.b  #-$9, D0
            7B4C6 | 6602           : bne     $7b4ca
            7B4C8 | 5210           : addq.b  #1, (A0)      // increase code +01
            7B4CA | 0C00 00FD      : cmpi.b  #-$3, D0
            7B4CE | 6604           : bne     $7b4d4
            7B4D0 | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            7B4D4 | 0C00 00FE      : cmpi.b  #-$2, D0
            7B4D8 | 6604           : bne     $7b4de
            7B4DA | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            7B4DE | 0C00 00EF      : cmpi.b  #-$11, D0
            7B4E2 | 6602           : bne     $7b4e6
            7B4E4 | 1290           : move.b  (A0), (A1)    // play sound
            7B4E6 | 0C00 00DF      : cmpi.b  #-$21, D0
            7B4EA | 6604           : bne     $7b4f0
            7B4EC | 12BC 0001      : move.b  #$1, (A1)     // stop sound
            7B4F0 | 60BA           : bra     $7b4ac
            -->
        </script>
        <script state="run">
            <output format="----- aero fighters 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@FEF000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@01324 = 0839000700FF8B49</action>
            <action>maincpu.mq@7B4A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B4A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B4B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B4B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B4C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B4C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B4D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B4D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B4E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B4E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B4F0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
aerofgtb.xml

Code: Select all

<!-- Aero Fighters (Taiwan / Japan, set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@1A2BE = 60F8</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1A2BE = 08EA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@16373 = 34      </action> <!-- button -->
            <action>maincpu.md@16822 = 137C0000</action> <!-- fire speed up (villiam) -->
            <action>maincpu.md@16B8C = 137C0000</action> <!-- fire speed up (others) -->
        </script>
        <script state="off">
            <action>maincpu.mb@16373 = 36      </action>
            <action>maincpu.md@16822 = 13690010</action>
            <action>maincpu.md@16B8C = 13690010</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@16D3C = 4EB90007E4F04240</action> <!-- x position -->
            <action>maincpu.mq@16D4C = 4EB90007E5064E75</action> <!-- y position -->
            <action>maincpu.mq@7E4F0 = 203C000000004A42</action>
            <action>maincpu.mq@7E4F8 = 670A6A0244802400</action>
            <action>maincpu.mq@7E500 = D5A800064E75203C</action>
            <action>maincpu.mq@7E508 = 000000004A43670A</action>
            <action>maincpu.mq@7E510 = 6A0244802600D7A8</action>
            <action>maincpu.mq@7E518 = 000A4E75FFFFFFFF</action>
            <!--
            7E4F0 | 203C xxxx xxxx : move.l  #$xxxx, D0  // x position
            7E4F6 | 4A42           : tst.w   D2
            7E4F8 | 670A           : beq     $7e504
            7E4FA | 6A02           : bpl     $7e4fe
            7E4FC | 4480           : neg.l   D0
            7E4FE | 2400           : move.l  D0, D2
            7E500 | D5A8 0006      : add.l   D2, ($6,A0)
            7E504 | 4E75           : rts
            7E506 | 203C xxxx xxxx : move.l  #$xxxx, D0  // y position
            7E50C | 4A43           : tst.w   D3
            7E50E | 670A           : beq     $7e51a
            7E510 | 6A02           : bpl     $7e514
            7E512 | 4480           : neg.l   D0
            7E514 | 2600           : move.l  D0, D3
            7E516 | D7A8 000A      : add.l   D3, ($a,A0)
            7E51A | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@7E4F2 = param</action>
            <action>maincpu.md@7E508 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@16D3C = C5C0D5A800064240</action>
            <action>maincpu.mq@16D4C = C7C0D7A8000A4E75</action>
            <action>maincpu.mq@7E4F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E4F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E500 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E508 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E510 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E518 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0020">02       </item>
            <item value="0x0030">03       </item>
            <item value="0x0040">04       </item>
            <item value="0x0050">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@16816 = 1A3C</action> <!-- villiam -->
            <action>maincpu.mw@16B80 = 103C</action> <!-- others -->
        </script>
        <script state="change">
            <action>maincpu.mw@16818 = param</action>
            <action>maincpu.mw@16B82 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@16816 = 1A29000E</action>
            <action>maincpu.md@16B80 = 1029000E</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mw@16764 = 0002</action>
        </script>
        <script state="off">
            <action>maincpu.mw@16764 = 017E</action>
        </script>
    </cheat>

    <cheat desc="no power down">
        <script state="on">
            <action>maincpu.mb@16742 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@16742 = 6A</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@113EB = 02</action> <!-- go to test mode -->
            <action>maincpu.mb@17598 = 60</action> <!-- add test mode items -->
        </script>
        <script state="off">
            <action>maincpu.mb@113EB = 08</action>
            <action>maincpu.mb@17598 = 66</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@113E0 = 4EF90007E5204E71</action>
            <action>maincpu.mq@7E520 = 41F9000C000043F9</action>
            <action>maincpu.mq@7E528 = 000FE00E12001039</action>
            <action>maincpu.mq@7E530 = 000FE001B20067F4</action>
            <action>maincpu.mq@7E538 = 0C0000FB66025310</action>
            <action>maincpu.mq@7E540 = 0C0000F766025210</action>
            <action>maincpu.mq@7E548 = 0C0000FD66040410</action>
            <action>maincpu.mq@7E550 = 00100C0000FE6604</action>
            <action>maincpu.mq@7E558 = 061000100C0000EF</action>
            <action>maincpu.mq@7E560 = 660212900C0000DF</action>
            <action>maincpu.mq@7E568 = 660412BC000160BC</action>
            <!--
            7E520 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            7E526 | 43F9 000F E00E : lea     $fe00e.l, A1 // sound latch address
            7E52C | 1200           : move.b  D0, D1
            7E52E | 1039 000F E001 : move.b  $fe001.l, D0 // read input
            7E534 | B200           : cmp.b   D0, D1
            7E536 | 67F4           : beq     $7e52c
            7E538 | 0C00 00FB      : cmpi.b  #-$5, D0
            7E53C | 6602           : bne     $7e540
            7E53E | 5310           : subq.b  #1, (A0)     // decrease code -01
            7E540 | 0C00 00F7      : cmpi.b  #-$9, D0
            7E544 | 6602           : bne     $7e548
            7E546 | 5210           : addq.b  #1, (A0)     // increase code +01
            7E548 | 0C00 00FD      : cmpi.b  #-$3, D0
            7E54C | 6604           : bne     $7e552
            7E54E | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            7E552 | 0C00 00FE      : cmpi.b  #-$2, D0
            7E556 | 6604           : bne     $7e55c
            7E558 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            7E55C | 0C00 00EF      : cmpi.b  #-$11, D0
            7E560 | 6602           : bne     $7e564
            7E562 | 1290           : move.b  (A0), (A1)   // play sound
            7E564 | 0C00 00DF      : cmpi.b  #-$21, D0
            7E568 | 6604           : bne     $7e56e
            7E56A | 12BC 0001      : move.b  #$1, (A1)    // stop sound
            7E56E | 60BC           : bra     $7e52c
            -->
        </script>
        <script state="run">
            <output format="----- aero fighters 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@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@113E0 = 08390007000C8B45</action>
            <action>maincpu.mq@7E520 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E528 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E530 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E538 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E540 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E548 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E550 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E558 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E560 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E568 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
aerofgtc.xml

Code: Select all

<!-- Aero Fighters (Taiwan / Japan, set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@1A482 = 60F8</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1A482 = 08EA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@16521 = 34      </action> <!-- button -->
            <action>maincpu.md@169D0 = 137C0000</action> <!-- fire speed up (villiam) -->
            <action>maincpu.md@16D3A = 137C0000</action> <!-- fire speed up (others) -->
        </script>
        <script state="off">
            <action>maincpu.mb@16521 = 36      </action>
            <action>maincpu.md@169D0 = 13690010</action>
            <action>maincpu.md@16D3A = 13690010</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@16EEA = 4EB90007E7D04240</action> <!-- x position -->
            <action>maincpu.mq@16EFA = 4EB90007E7E64E75</action> <!-- y position -->
            <action>maincpu.mq@7E7D0 = 203C000000004A42</action>
            <action>maincpu.mq@7E7D8 = 670A6A0244802400</action>
            <action>maincpu.mq@7E7E0 = D5A800064E75203C</action>
            <action>maincpu.mq@7E7E8 = 000000004A43670A</action>
            <action>maincpu.mq@7E7F0 = 6A0244802600D7A8</action>
            <action>maincpu.mq@7E7F8 = 000A4E75FFFFFFFF</action>
            <!--
            7E7D0 | 203C xxxx xxxx : move.l  #$xxxx, D0  // x position
            7E7D6 | 4A42           : tst.w   D2
            7E7D8 | 670A           : beq     $7e7e4
            7E7DA | 6A02           : bpl     $7e7de
            7E7DC | 4480           : neg.l   D0
            7E7DE | 2400           : move.l  D0, D2
            7E7E0 | D5A8 0006      : add.l   D2, ($6,A0)
            7E7E4 | 4E75           : rts
            7E7E6 | 203C xxxx xxxx : move.l  #$xxxx, D0  // y position
            7E7EC | 4A43           : tst.w   D3
            7E7EE | 670A           : beq     $7e7fa
            7E7F0 | 6A02           : bpl     $7e7f4
            7E7F2 | 4480           : neg.l   D0
            7E7F4 | 2600           : move.l  D0, D3
            7E7F6 | D7A8 000A      : add.l   D3, ($a,A0)
            7E7FA | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@7E7D2 = param</action>
            <action>maincpu.md@7E7E8 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@16EEA = C5C0D5A800064240</action>
            <action>maincpu.mq@16EFA = C7C0D7A8000A4E75</action>
            <action>maincpu.mq@7E7D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E7D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E7E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E7E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E7F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E7F8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0020">02       </item>
            <item value="0x0030">03       </item>
            <item value="0x0040">04       </item>
            <item value="0x0050">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@169C4 = 1A3C</action> <!-- villiam -->
            <action>maincpu.mw@16D2E = 103C</action> <!-- others -->
        </script>
        <script state="change">
            <action>maincpu.mw@169C6 = param</action>
            <action>maincpu.mw@16D30 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@169C4 = 1A29000E</action>
            <action>maincpu.md@16D2E = 1029000E</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mw@16912 = 0002</action>
        </script>
        <script state="off">
            <action>maincpu.mw@16912 = 017E</action>
        </script>
    </cheat>

    <cheat desc="no power down">
        <script state="on">
            <action>maincpu.mb@168F0 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@168F0 = 6A</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@11459 = 02</action> <!-- go to test mode -->
            <action>maincpu.mb@1775C = 60</action> <!-- add test mode items -->
        </script>
        <script state="off">
            <action>maincpu.mb@11459 = 08</action>
            <action>maincpu.mb@1775C = 66</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@1144E = 4EF90007E8004E71</action>
            <action>maincpu.mq@7E800 = 41F9000C000043F9</action>
            <action>maincpu.mq@7E808 = 000FE00E12001039</action>
            <action>maincpu.mq@7E810 = 000FE001B20067F4</action>
            <action>maincpu.mq@7E818 = 0C0000FB66025310</action>
            <action>maincpu.mq@7E820 = 0C0000F766025210</action>
            <action>maincpu.mq@7E828 = 0C0000FD66040410</action>
            <action>maincpu.mq@7E830 = 00100C0000FE6604</action>
            <action>maincpu.mq@7E838 = 061000100C0000EF</action>
            <action>maincpu.mq@7E840 = 660212900C0000DF</action>
            <action>maincpu.mq@7E848 = 660412BC000160BC</action>
            <!--
            7E800 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            7E806 | 43F9 000F E00E : lea     $fe00e.l, A1 // sound latch address
            7E80C | 1200           : move.b  D0, D1
            7E80E | 1039 000F E001 : move.b  $fe001.l, D0 // read input
            7E814 | B200           : cmp.b   D0, D1
            7E816 | 67F4           : beq     $7e80c
            7E818 | 0C00 00FB      : cmpi.b  #-$5, D0
            7E81C | 6602           : bne     $7e820
            7E81E | 5310           : subq.b  #1, (A0)     // decrease code -01
            7E820 | 0C00 00F7      : cmpi.b  #-$9, D0
            7E824 | 6602           : bne     $7e828
            7E826 | 5210           : addq.b  #1, (A0)     // increase code +01
            7E828 | 0C00 00FD      : cmpi.b  #-$3, D0
            7E82C | 6604           : bne     $7e832
            7E82E | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            7E832 | 0C00 00FE      : cmpi.b  #-$2, D0
            7E836 | 6604           : bne     $7e83c
            7E838 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            7E83C | 0C00 00EF      : cmpi.b  #-$11, D0
            7E840 | 6602           : bne     $7e844
            7E842 | 1290           : move.b  (A0), (A1)   // play sound
            7E844 | 0C00 00DF      : cmpi.b  #-$21, D0
            7E848 | 6604           : bne     $7e84e
            7E84A | 12BC 0001      : move.b  #$1, (A1)    // stop sound
            7E84E | 60BC           : bra     $7e80c
            -->
        </script>
        <script state="run">
            <output format="----- aero fighters 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@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@1144E = 08390007000C8B45</action>
            <action>maincpu.mq@7E800 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E808 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E810 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E818 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E820 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E828 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E830 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E838 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E840 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E848 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
sonicwi.xml

Code: Select all

<!-- Sonic Wings (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@1A42E = 60F8</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1A42E = 08EA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@164E3 = 34      </action> <!-- button -->
            <action>maincpu.md@16992 = 137C0000</action> <!-- fire speed up (villiam) -->
            <action>maincpu.md@16CFC = 137C0000</action> <!-- fire speed up (others) -->
        </script>
        <script state="off">
            <action>maincpu.mb@164E3 = 36      </action>
            <action>maincpu.md@16992 = 13690010</action>
            <action>maincpu.md@16CFC = 13690010</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@16EAC = 4EB90007C5404240</action> <!-- x position -->
            <action>maincpu.mq@16EBC = 4EB90007C5564E75</action> <!-- y position -->
            <action>maincpu.mq@7C540 = 203C000000004A42</action>
            <action>maincpu.mq@7C548 = 670A6A0244802400</action>
            <action>maincpu.mq@7C550 = D5A800064E75203C</action>
            <action>maincpu.mq@7C558 = 000000004A43670A</action>
            <action>maincpu.mq@7C560 = 6A0244802600D7A8</action>
            <action>maincpu.mq@7C568 = 000A4E75FFFFFFFF</action>
            <!--
            7C540 | 203C xxxx xxxx : move.l  #$xxxx, D0  // x position
            7C546 | 4A42           : tst.w   D2
            7C548 | 670A           : beq     $7c554
            7C54A | 6A02           : bpl     $7c54e
            7C54C | 4480           : neg.l   D0
            7C54E | 2400           : move.l  D0, D2
            7C550 | D5A8 0006      : add.l   D2, ($6,A0)
            7C554 | 4E75           : rts
            7C556 | 203C xxxx xxxx : move.l  #$xxxx, D0  // y position
            7C55C | 4A43           : tst.w   D3
            7C55E | 670A           : beq     $7c56a
            7C560 | 6A02           : bpl     $7c564
            7C562 | 4480           : neg.l   D0
            7C564 | 2600           : move.l  D0, D3
            7C566 | D7A8 000A      : add.l   D3, ($a,A0)
            7C56A | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@7C542 = param</action>
            <action>maincpu.md@7C558 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@16EAC = C5C0D5A800064240</action>
            <action>maincpu.mq@16EBC = C7C0D7A8000A4E75</action>
            <action>maincpu.mq@7C540 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C548 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C550 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C558 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C560 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C568 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0020">02       </item>
            <item value="0x0030">03       </item>
            <item value="0x0040">04       </item>
            <item value="0x0050">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@16986 = 1A3C</action> <!-- villiam -->
            <action>maincpu.mw@16CF0 = 103C</action> <!-- others -->
        </script>
        <script state="change">
            <action>maincpu.mw@16988 = param</action>
            <action>maincpu.mw@16CF2 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@16986 = 1A29000E</action>
            <action>maincpu.md@16CF0 = 1029000E</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mw@168D4 = 0002</action>
        </script>
        <script state="off">
            <action>maincpu.mw@168D4 = 017E</action>
        </script>
    </cheat>

    <cheat desc="no power down">
        <script state="on">
            <action>maincpu.mb@168B2 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@168B2 = 6A</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@1141B = 02</action> <!-- go to test mode -->
            <action>maincpu.mb@17708 = 60</action> <!-- add test mode items -->
        </script>
        <script state="off">
            <action>maincpu.mb@1141B = 08</action>
            <action>maincpu.mb@17708 = 66</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@11410 = 4EF90007C5704E71</action>
            <action>maincpu.mq@7C570 = 41F9000C000043F9</action>
            <action>maincpu.mq@7C578 = 000FE00E12001039</action>
            <action>maincpu.mq@7C580 = 000FE001B20067F4</action>
            <action>maincpu.mq@7C588 = 0C0000FB66025310</action>
            <action>maincpu.mq@7C590 = 0C0000F766025210</action>
            <action>maincpu.mq@7C598 = 0C0000FD66040410</action>
            <action>maincpu.mq@7C5A0 = 00100C0000FE6604</action>
            <action>maincpu.mq@7C5A8 = 061000100C0000EF</action>
            <action>maincpu.mq@7C5B0 = 660212900C0000DF</action>
            <action>maincpu.mq@7C5B8 = 660412BC000160BC</action>
            <!--
            7C570 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            7C576 | 43F9 000F E00E : lea     $fe00e.l, A1 // sound latch address
            7C57C | 1200           : move.b  D0, D1
            7C57E | 1039 000F E001 : move.b  $fe001.l, D0 // read input
            7C584 | B200           : cmp.b   D0, D1
            7C586 | 67F4           : beq     $7c57c
            7C588 | 0C00 00FB      : cmpi.b  #-$5, D0
            7C58C | 6602           : bne     $7c590
            7C58E | 5310           : subq.b  #1, (A0)     // decrease code -01
            7C590 | 0C00 00F7      : cmpi.b  #-$9, D0
            7C594 | 6602           : bne     $7c598
            7C596 | 5210           : addq.b  #1, (A0)     // increase code +01
            7C598 | 0C00 00FD      : cmpi.b  #-$3, D0
            7C59C | 6604           : bne     $7c5a2
            7C59E | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            7C5A2 | 0C00 00FE      : cmpi.b  #-$2, D0
            7C5A6 | 6604           : bne     $7c5ac
            7C5A8 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            7C5AC | 0C00 00EF      : cmpi.b  #-$11, D0
            7C5B0 | 6602           : bne     $7c5b4
            7C5B2 | 1290           : move.b  (A0), (A1)   // play sound
            7C5B4 | 0C00 00DF      : cmpi.b  #-$21, D0
            7C5B8 | 6604           : bne     $7c5be
            7C5BA | 12BC 0001      : move.b  #$1, (A1)    // stop sound
            7C5BE | 60BC           : bra     $7c57c
            -->
        </script>
        <script state="run">
            <output format="----- sonic 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@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@11410 = 08390007000C8B45</action>
            <action>maincpu.mq@7C570 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C578 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C580 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C588 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C590 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C598 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C5A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C5A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C5B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C5B8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
aerfboot.xml

Code: Select all

<!-- Aero Fighters (bootleg, set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@1A2BE = 60F8</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1A2BE = 08EA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@16373 = 34      </action> <!-- button -->
            <action>maincpu.md@16822 = 137C0000</action> <!-- fire speed up (villiam) -->
            <action>maincpu.md@16B8C = 137C0000</action> <!-- fire speed up (others) -->
        </script>
        <script state="off">
            <action>maincpu.mb@16373 = 36      </action>
            <action>maincpu.md@16822 = 13690010</action>
            <action>maincpu.md@16B8C = 13690010</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@16D3C = 4EB90007F4D04240</action> <!-- x position -->
            <action>maincpu.mq@16D4C = 4EB90007F4E64E75</action> <!-- y position -->
            <action>maincpu.mq@7F4D0 = 203C000000004A42</action>
            <action>maincpu.mq@7F4D8 = 670A6A0244802400</action>
            <action>maincpu.mq@7F4E0 = D5A800064E75203C</action>
            <action>maincpu.mq@7F4E8 = 000000004A43670A</action>
            <action>maincpu.mq@7F4F0 = 6A0244802600D7A8</action>
            <action>maincpu.mq@7F4F8 = 000A4E75FFFFFFFF</action>
            <!--
            7F4D0 | 203C xxxx xxxx : move.l  #$xxxx, D0  // x position
            7F4D6 | 4A42           : tst.w   D2
            7F4D8 | 670A           : beq     $7f4e4
            7F4DA | 6A02           : bpl     $7f4de
            7F4DC | 4480           : neg.l   D0
            7F4DE | 2400           : move.l  D0, D2
            7F4E0 | D5A8 0006      : add.l   D2, ($6,A0)
            7F4E4 | 4E75           : rts
            7F4E6 | 203C xxxx xxxx : move.l  #$xxxx, D0  // y position
            7F4EC | 4A43           : tst.w   D3
            7F4EE | 670A           : beq     $7f4fa
            7F4F0 | 6A02           : bpl     $7f4f4
            7F4F2 | 4480           : neg.l   D0
            7F4F4 | 2600           : move.l  D0, D3
            7F4F6 | D7A8 000A      : add.l   D3, ($a,A0)
            7F4FA | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@7F4D2 = param</action>
            <action>maincpu.md@7F4E8 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@16D3C = C5C0D5A800064240</action>
            <action>maincpu.mq@16D4C = C7C0D7A8000A4E75</action>
            <action>maincpu.mq@7F4D0 = 0000000000000000</action>
            <action>maincpu.mq@7F4D8 = 0000000000000000</action>
            <action>maincpu.mq@7F4E0 = 0000000000000000</action>
            <action>maincpu.mq@7F4E8 = 0000000000000000</action>
            <action>maincpu.mq@7F4F0 = 0000000000000000</action>
            <action>maincpu.mq@7F4F8 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0020">02       </item>
            <item value="0x0030">03       </item>
            <item value="0x0040">04       </item>
            <item value="0x0050">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@16816 = 1A3C</action> <!-- villiam -->
            <action>maincpu.mw@16B80 = 103C</action> <!-- others -->
        </script>
        <script state="change">
            <action>maincpu.mw@16818 = param</action>
            <action>maincpu.mw@16B82 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@16816 = 1A29000E</action>
            <action>maincpu.md@16B80 = 1029000E</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mw@16764 = 0002</action>
        </script>
        <script state="off">
            <action>maincpu.mw@16764 = 017E</action>
        </script>
    </cheat>

    <cheat desc="no power down">
        <script state="on">
            <action>maincpu.mb@16742 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@16742 = 6A</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@113EB = 02</action> <!-- go to test mode -->
            <action>maincpu.mb@17598 = 60</action> <!-- add test mode items -->
        </script>
        <script state="off">
            <action>maincpu.mb@113EB = 08</action>
            <action>maincpu.mb@17598 = 66</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@113E0 = 4EF90007F5004E71</action>
            <action>maincpu.mq@7F500 = 41F9000C000043F9</action>
            <action>maincpu.mq@7F508 = 000FE00E12001039</action>
            <action>maincpu.mq@7F510 = 000FE001B20067F4</action>
            <action>maincpu.mq@7F518 = 0C0000FB66025310</action>
            <action>maincpu.mq@7F520 = 0C0000F766025210</action>
            <action>maincpu.mq@7F528 = 0C0000FD66040410</action>
            <action>maincpu.mq@7F530 = 00100C0000FE6604</action>
            <action>maincpu.mq@7F538 = 061000100C0000EF</action>
            <action>maincpu.mq@7F540 = 660212900C0000DF</action>
            <action>maincpu.mq@7F548 = 660412BC000260BC</action>
            <!--
            7F500 | 41F9 000C 0000 : lea     $c0000.l, A0 // sound code address
            7F506 | 43F9 000F E00E : lea     $fe00e.l, A1 // sound latch address
            7F50C | 1200           : move.b  D0, D1
            7F50E | 1039 000F E001 : move.b  $fe001.l, D0 // read input
            7F514 | B200           : cmp.b   D0, D1
            7F516 | 67F4           : beq     $7f50c
            7F518 | 0C00 00FB      : cmpi.b  #-$5, D0
            7F51C | 6602           : bne     $7f520
            7F51E | 5310           : subq.b  #1, (A0)     // decrease code -01
            7F520 | 0C00 00F7      : cmpi.b  #-$9, D0
            7F524 | 6602           : bne     $7f528
            7F526 | 5210           : addq.b  #1, (A0)     // increase code +01
            7F528 | 0C00 00FD      : cmpi.b  #-$3, D0
            7F52C | 6604           : bne     $7f532
            7F52E | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            7F532 | 0C00 00FE      : cmpi.b  #-$2, D0
            7F536 | 6604           : bne     $7f53c
            7F538 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            7F53C | 0C00 00EF      : cmpi.b  #-$11, D0
            7F540 | 6602           : bne     $7f544
            7F542 | 1290           : move.b  (A0), (A1)   // play sound
            7F544 | 0C00 00DF      : cmpi.b  #-$21, D0
            7F548 | 6604           : bne     $7f54e
            7F54A | 12BC 0002      : move.b  #$2, (A1)    // stop sound
            7F54E | 60BC           : bra     $7f50c
            -->
        </script>
        <script state="run">
            <output format="----- aero fighters 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@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@113E0 = 08390007000C8B45</action>
            <action>maincpu.mq@7F500 = 0000000000000000</action>
            <action>maincpu.mq@7F508 = 0000000000000000</action>
            <action>maincpu.mq@7F510 = 0000000000000000</action>
            <action>maincpu.mq@7F518 = 0000000000000000</action>
            <action>maincpu.mq@7F520 = 0000000000000000</action>
            <action>maincpu.mq@7F528 = 0000000000000000</action>
            <action>maincpu.mq@7F530 = 0000000000000000</action>
            <action>maincpu.mq@7F538 = 0000000000000000</action>
            <action>maincpu.mq@7F540 = 0000000000000000</action>
            <action>maincpu.mq@7F548 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
aerfboo2.xml

Code: Select all

<!-- Aero Fighters (bootleg, set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@1A2BE = 60F8</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1A2BE = 08EA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@16373 = 34      </action> <!-- button -->
            <action>maincpu.md@16822 = 137C0000</action> <!-- fire speed up (villiam) -->
            <action>maincpu.md@16B8C = 137C0000</action> <!-- fire speed up (others) -->
        </script>
        <script state="off">
            <action>maincpu.mb@16373 = 36      </action>
            <action>maincpu.md@16822 = 13690010</action>
            <action>maincpu.md@16B8C = 13690010</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@16D3C = 4EB90007E4F04240</action> <!-- x position -->
            <action>maincpu.mq@16D4C = 4EB90007E5064E75</action> <!-- y position -->
            <action>maincpu.mq@7E4F0 = 203C000000004A42</action>
            <action>maincpu.mq@7E4F8 = 670A6A0244802400</action>
            <action>maincpu.mq@7E500 = D5A800064E75203C</action>
            <action>maincpu.mq@7E508 = 000000004A43670A</action>
            <action>maincpu.mq@7E510 = 6A0244802600D7A8</action>
            <action>maincpu.mq@7E518 = 000A4E75FFFFFFFF</action>
            <!--
            7E4F0 | 203C xxxx xxxx : move.l  #$xxxx, D0  // x position
            7E4F6 | 4A42           : tst.w   D2
            7E4F8 | 670A           : beq     $7e504
            7E4FA | 6A02           : bpl     $7e4fe
            7E4FC | 4480           : neg.l   D0
            7E4FE | 2400           : move.l  D0, D2
            7E500 | D5A8 0006      : add.l   D2, ($6,A0)
            7E504 | 4E75           : rts
            7E506 | 203C xxxx xxxx : move.l  #$xxxx, D0  // y position
            7E50C | 4A43           : tst.w   D3
            7E50E | 670A           : beq     $7e51a
            7E510 | 6A02           : bpl     $7e514
            7E512 | 4480           : neg.l   D0
            7E514 | 2600           : move.l  D0, D3
            7E516 | D7A8 000A      : add.l   D3, ($a,A0)
            7E51A | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@7E4F2 = param</action>
            <action>maincpu.md@7E508 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@16D3C = C5C0D5A800064240</action>
            <action>maincpu.mq@16D4C = C7C0D7A8000A4E75</action>
            <action>maincpu.mq@7E4F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E4F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E500 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E508 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E510 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E518 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0020">02       </item>
            <item value="0x0030">03       </item>
            <item value="0x0040">04       </item>
            <item value="0x0050">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@16816 = 1A3C</action> <!-- villiam -->
            <action>maincpu.mw@16B80 = 103C</action> <!-- others -->
        </script>
        <script state="change">
            <action>maincpu.mw@16818 = param</action>
            <action>maincpu.mw@16B82 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@16816 = 1A29000E</action>
            <action>maincpu.md@16B80 = 1029000E</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mw@16764 = 0002</action>
        </script>
        <script state="off">
            <action>maincpu.mw@16764 = 017E</action>
        </script>
    </cheat>

    <cheat desc="no power down">
        <script state="on">
            <action>maincpu.mb@16742 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@16742 = 6A</action>
        </script>
    </cheat>

    <cheat desc="unlock special test mode">
        <comment>reset the game (F3) to enter special test mode</comment>
        <script state="on">
            <action>maincpu.mb@113EB = 02</action> <!-- go to test mode -->
            <action>maincpu.mb@17598 = 60</action> <!-- add test mode items -->
        </script>
        <script state="off">
            <action>maincpu.mb@113EB = 08</action>
            <action>maincpu.mb@17598 = 66</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@113E0 = 4EF90007E5204E71</action>
            <action>maincpu.mq@7E520 = 43F9000C000045F9</action>
            <action>maincpu.mq@7E528 = 000C8B5616021439</action>
            <action>maincpu.mq@7E530 = 000FE001B60267F4</action>
            <action>maincpu.mq@7E538 = 0C0200FB66025311</action>
            <action>maincpu.mq@7E540 = 0C0200F766025211</action>
            <action>maincpu.mq@7E548 = 0C0200FD66040411</action>
            <action>maincpu.mq@7E550 = 00100C0200FE6604</action>
            <action>maincpu.mq@7E558 = 061100100C0200EF</action>
            <action>maincpu.mq@7E560 = 660214910C0200DF</action>
            <action>maincpu.mq@7E568 = 66064EB90007F112</action>
            <action>maincpu.mq@7E570 = 60BAFFFFFFFFFFFF</action>
            <!--
            7E520 | 43F9 000C 0000 : lea     $c0000.l, A1 // sound code address
            7E526 | 45F9 000C 8B56 : lea     $c8b56.l, A2 // sound latch address
            7E52C | 1602           : move.b  D2, D3
            7E52E | 1439 000F E001 : move.b  $fe001.l, D2 // read input
            7E534 | B602           : cmp.b   D2, D3
            7E536 | 67F4           : beq     $7e52c
            7E538 | 0C02 00FB      : cmpi.b  #-$5, D2
            7E53C | 6602           : bne     $7e540
            7E53E | 5311           : subq.b  #1, (A1)     // decrease code -01
            7E540 | 0C02 00F7      : cmpi.b  #-$9, D2
            7E544 | 6602           : bne     $7e548
            7E546 | 5211           : addq.b  #1, (A1)     // increase code +01
            7E548 | 0C02 00FD      : cmpi.b  #-$3, D2
            7E54C | 6604           : bne     $7e552
            7E54E | 0411 0010      : subi.b  #$10, (A1)   // decrease code -10
            7E552 | 0C02 00FE      : cmpi.b  #-$2, D2
            7E556 | 6604           : bne     $7e55c
            7E558 | 0611 0010      : addi.b  #$10, (A1)   // increase code +10
            7E55C | 0C02 00EF      : cmpi.b  #-$11, D2
            7E560 | 6602           : bne     $7e564
            7E562 | 1491           : move.b  (A1), (A2)   // play sound
            7E564 | 0C02 00DF      : cmpi.b  #-$21, D2
            7E568 | 6606           : bne     $7e570
            7E56A | 4EB9 0007 F112 : jsr     $7f112.l     // stop sound
            7E570 | 60BA           : bra     $7e52c
            -->
        </script>
        <script state="run">
            <output format="----- aero fighters 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@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@113E0 = 08390007000C8B45</action>
            <action>maincpu.mq@7E520 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E528 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E530 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E538 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E540 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E548 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E550 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E558 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E560 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E568 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7E570 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
Post Reply