Page 1 of 1

[metafox] Meta Fox

Posted: Sun Aug 27, 2023 1:55 pm
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.