[metafox] Meta Fox

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: 850
Joined: Tue Dec 01, 2020 1:24 pm

[metafox] Meta Fox

Post by jman »

Code: Select all

<!-- Meta Fox -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1969e = 60</action> <!-- bullet -->
            <action>maincpu.mb@2d21e = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@1969e = 67</action>
            <action>maincpu.mb@2d21e = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@f09c =       60</action> <!-- disable auto fire item check -->
            <action>maincpu.mb@f0df =       30</action> <!-- button -->
            <action>maincpu.mb@f0eb =       02</action> <!-- shot timer 1 -->
            <action>maincpu.md@f586 = 103c0002</action> <!-- shot timer 2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@f09c =       67</action>
            <action>maincpu.mb@f0df =       31</action>
            <action>maincpu.mb@f0eb =       05</action>
            <action>maincpu.md@f586 = 10350000</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0003">02       </item>
            <item value="0x0005">03       </item>
            <item value="0x0007">04       </item>
            <item value="0x0009">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@f274 = 103c</action> <!-- right -->
            <action>maincpu.mw@f2aa = 103c</action> <!-- left -->
            <action>maincpu.mw@f2d0 = 103c</action> <!-- down -->
            <action>maincpu.mw@f2e6 = 103c</action> <!-- up -->
        </script>
        <script state="change">
            <action>maincpu.mw@f276 = param</action>
            <action>maincpu.mw@f2ac = param</action>
            <action>maincpu.mw@f2d2 = param</action>
            <action>maincpu.mw@f2e8 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@f274 = 102b001d</action>
            <action>maincpu.md@f2aa = 102b001d</action>
            <action>maincpu.md@f2d0 = 102b001c</action>
            <action>maincpu.md@f2e6 = 102b001c</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- the game crash when you try to play code 0x13 or later -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@05aa4 =         00032df0</action>
            <action>maincpu.mq@32df0 = 41f88000103900b0</action>
            <action>maincpu.mq@32df8 = 0009b02800026740</action>
            <action>maincpu.mq@32e00 = 0c00000266025310</action>
            <action>maincpu.mq@32e08 = 0c00000166025210</action>
            <action>maincpu.mq@32e10 = 0c00000866040410</action>
            <action>maincpu.mq@32e18 = 00100c0000046604</action>
            <action>maincpu.mq@32e20 = 061000100c000010</action>
            <action>maincpu.mq@32e28 = 660a115000034eb9</action>
            <action>maincpu.mq@32e30 = 0000d7b00c000020</action>
            <action>maincpu.mq@32e38 = 66064eb900008578</action>
            <action>maincpu.mq@32e40 = 114000024ef85abc</action>
            <!--
            32df0 | 41f8 8000      : lea    $8000.w,A0   // sound code address ($ff8000)
            32df4 | 1039 00b0 0009 : move.b $b00009.l,D0 // read input
            32dfa | b028 0002      : cmp.b  ($2,A0),D0
            32dfe | 6740           : beq    $32e40
            32e00 | 0c00 0002      : cmpi.b #$2,D0
            32e04 | 6602           : bne    $32e08
            32e06 | 5310           : subq.b #1,(A0)      // decrease code -01
            32e08 | 0c00 0001      : cmpi.b #$1,D0
            32e0c | 6602           : bne    $32e10
            32e0e | 5210           : addq.b #1,(A0)      // increase code +01
            32e10 | 0c00 0008      : cmpi.b #$8,D0
            32e14 | 6604           : bne    $32e1a
            32e16 | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
            32e1a | 0c00 0004      : cmpi.b #$4,D0
            32e1e | 6604           : bne    $32e24
            32e20 | 0610 0010      : addi.b #$10,(A0)    // increase code + 10
            32e24 | 0c00 0010      : cmpi.b #$10,D0
            32e28 | 660a           : bne    $32e34
            32e2a | 1150 0003      : move.b (A0),($3,A0) // play sound
            32e2e | 4eb9 0000 d7b0 : jsr    $d7b0.l
            32e34 | 0c00 0020      : cmpi.b #$20,D0
            32e38 | 6606           : bne    $32e40
            32e3a | 4eb9 0000 8578 : jsr    $8578.l      // stop sound
            32e40 | 1140 0002      : move.b D0,($2,A0)
            32e44 | 4ef8 5abc      : jmp    $5abc.w
            -->
        </script>
        <script state="run">
            <output format="----- meta fox 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@ff8000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@05aa4 =         0000753e</action>
            <action>maincpu.mq@32df0 = 0000000000000000</action>
            <action>maincpu.mq@32df8 = 0000000000000000</action>
            <action>maincpu.mq@32e00 = 0000000000000000</action>
            <action>maincpu.mq@32e08 = 0000000000000000</action>
            <action>maincpu.mq@32e10 = 0000000000000000</action>
            <action>maincpu.mq@32e18 = 0000000000000000</action>
            <action>maincpu.mq@32e20 = 0000000000000000</action>
            <action>maincpu.mq@32e28 = 0000000000000000</action>
            <action>maincpu.mq@32e30 = 0000000000000000</action>
            <action>maincpu.mq@32e38 = 0000000000000000</action>
            <action>maincpu.mq@32e40 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
"sound test mode" : the game crash when you try to play code 0x13 or later.
Post Reply