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.

[metafox] Meta Fox

Posted: Sat Jun 21, 2025 10:06 am
by jman
metafox.xml

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="rapid fire">
        <script state="on">
            <action>maincpu.mb@F09C = 60      </action> <!-- disable auto fire item -->
            <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="0x103C0001">01 (slow)</item>
            <item value="0x103C0003">02       </item>
            <item value="0x103C0006">03       </item>
            <item value="0x103C0009">04       </item>
            <item value="0x103C000C">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.md@F274 = param</action> <!-- right -->
            <action>maincpu.md@F2AA = param</action> <!-- left -->
            <action>maincpu.md@F2D0 = param</action> <!-- down -->
            <action>maincpu.md@F2E6 = param</action> <!-- up -->
        </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="auto damage">
        <script state="on">
            <action>maincpu.md@10C90 = 4EB80200        </action>
            <action>maincpu.mq@00200 = 4EF900032E500000</action>
            <action>maincpu.mq@15BE4 = 4EB900032E8C0C68</action>
            <action>maincpu.mq@163B2 = 4EB900032E966E30</action>
            <action>maincpu.mq@169F0 = 4EB900032E8C0C68</action>
            <action>maincpu.mq@16E88 = 4EB900032EA06C12</action>
            <action>maincpu.mq@17358 = 4EB900032E8C0C68</action>
            <action>maincpu.mq@17802 = 4EB900032E8C0C68</action>
            <action>maincpu.mq@17D18 = 4EB900032EAA6E0A</action>
            <action>maincpu.mq@32E50 = 4A6800206B303228</action>
            <action>maincpu.mq@32E58 = 00080C4101906306</action>
            <action>maincpu.mq@32E60 = 0C41FFF063203228</action>
            <action>maincpu.mq@32E68 = 00060C4101606216</action>
            <action>maincpu.mq@32E70 = 0C41001063105368</action>
            <action>maincpu.mq@32E78 = 00206A06527900F0</action>
            <action>maincpu.mq@32E80 = 307808D000003228</action>
            <action>maincpu.mq@32E88 = 00204E7561C21168</action>
            <action>maincpu.mq@32E90 = 002400254E7561B8</action>
            <action>maincpu.mq@32E98 = 0C68000000204E75</action>
            <action>maincpu.mq@32EA0 = 61AE0C6800C80020</action>
            <action>maincpu.mq@32EA8 = 4E7561A40C68012C</action>
            <action>maincpu.mq@32EB0 = 00204E7500000000</action>
            <!--
            32E50 | 4A68 0020      : tst.w   ($20,A0)
            32E54 | 6B30           : bmi     $32e86
            32E56 | 3228 0008      : move.w  ($8,A0), D1
            32E5A | 0C41 0190      : cmpi.w  #$190, D1
            32E5E | 6306           : bls     $32e66
            32E60 | 0C41 FFF0      : cmpi.w  #-$10, D1
            32E64 | 6320           : bls     $32e86
            32E66 | 3228 0006      : move.w  ($6,A0), D1
            32E6A | 0C41 0160      : cmpi.w  #$160, D1
            32E6E | 6216           : bhi     $32e86
            32E70 | 0C41 0010      : cmpi.w  #$10, D1
            32E74 | 6310           : bls     $32e86
            32E76 | 5368 0020      : subq.w  #1, ($20,A0)
            32E7A | 6A06           : bpl     $32e82
            32E7C | 5279 00F0 3078 : addq.w  #1, $f03078.l
            32E82 | 08D0 0000      : bset    #$0, (A0)
            32E86 | 3228 0020      : move.w  ($20,A0), D1
            32E8A | 4E75           : rts
            32E8C | 61C2           : bsr     $32e50
            32E8E | 1168 0024 0025 : move.b  ($24,A0), ($25,A0)
            32E94 | 4E75           : rts
            32E96 | 61B8           : bsr     $32e50
            32E98 | 0C68 0000 0020 : cmpi.w  #$0, ($20,A0)
            32E9E | 4E75           : rts
            32EA0 | 61AE           : bsr     $32e50
            32EA2 | 0C68 00C8 0020 : cmpi.w  #$c8, ($20,A0)
            32EA8 | 4E75           : rts
            32EAA | 61A4           : bsr     $32e50
            32EAC | 0C68 012C 0020 : cmpi.w  #$12c, ($20,A0)
            32EB2 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@10C90 = 32280020        </action>
            <action>maincpu.mq@00200 = 0000051000000510</action>
            <action>maincpu.mq@15BE4 = 1168002400250C68</action>
            <action>maincpu.mq@163B2 = 0C68000000206E30</action>
            <action>maincpu.mq@169F0 = 1168002400250C68</action>
            <action>maincpu.mq@16E88 = 0C6800C800206C12</action>
            <action>maincpu.mq@17358 = 1168002400250C68</action>
            <action>maincpu.mq@17802 = 1168002400250C68</action>
            <action>maincpu.mq@17D18 = 0C68012C00206E0A</action>
            <action>maincpu.mq@32E50 = 0000000000000000</action>
            <action>maincpu.mq@32E58 = 0000000000000000</action>
            <action>maincpu.mq@32E60 = 0000000000000000</action>
            <action>maincpu.mq@32E68 = 0000000000000000</action>
            <action>maincpu.mq@32E70 = 0000000000000000</action>
            <action>maincpu.mq@32E78 = 0000000000000000</action>
            <action>maincpu.mq@32E80 = 0000000000000000</action>
            <action>maincpu.mq@32E88 = 0000000000000000</action>
            <action>maincpu.mq@32E90 = 0000000000000000</action>
            <action>maincpu.mq@32E98 = 0000000000000000</action>
            <action>maincpu.mq@32EA0 = 0000000000000000</action>
            <action>maincpu.mq@32EA8 = 0000000000000000</action>
            <action>maincpu.mq@32EB0 = 0000000000000000</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="----- 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@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>
"auto damage" : Added new.