[defender]+ Defender

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: 1316
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[defender]+ Defender

Post by jman »

defender.xml

Code: Select all

<!-- Defender (Red label) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@1865 = 20</action> <!-- ($E865) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1865 = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - people">
        <script state="on">
            <action>maincpu.mb@1D73 = 00</action> <!-- player bullet ($ED73) -->
            <action>maincpu.mb@2013 = 00</action> <!-- abduction ($F013) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1D73 = 03</action>
            <action>maincpu.mb@2013 = 51</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@05CD = BDFF60D6        </action> <!-- ($D5CD) -->
            <action>maincpu.mq@2F60 = 9A7C850126014339</action>
            <!--
            FF60 | 9A 7C : ORA    $7C
            FF62 | 85 01 : BITA   #$01
            FF64 | 26 01 : BNE    $FF67
            FF66 | 43    : COMA
            FF67 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@05CD = 9A7C43D6        </action>
            <action>maincpu.mq@2F60 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@2667 = 7EF72D26</action> <!-- ram ($F667) -->
            <action>maincpu.md@275B = 7EF79B86</action> <!-- rom ($F75B) -->
        </script>
        <script state="off">
            <action>maincpu.md@2667 = 53C50926</action>
            <action>maincpu.md@275B = 7FD00086</action>
        </script>
    </cheat>

</mamecheat>
defenderg.xml

Code: Select all

<!-- Defender (Green label) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@17D4 = 20</action> <!-- ($E7D4) -->
        </script>
        <script state="off">
            <action>maincpu.mb@17D4 = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - people">
        <script state="on">
            <action>maincpu.mb@1D97 = 00</action> <!-- player bullet ($ED97) -->
            <action>maincpu.mb@202F = 00</action> <!-- abduction ($F02F) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1D97 = 03</action>
            <action>maincpu.mb@202F = 4F</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@05BD = BDFFE0D6        </action> <!-- ($D5BD) -->
            <action>maincpu.mq@2FE0 = 9A59850126014339</action>
            <!--
            FFE0 | 9A 59 : ORA    $59
            FFE2 | 85 01 : BITA   #$01
            FFE4 | 26 01 : BNE    $FFE7
            FFE6 | 43    : COMA
            FFE7 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@05BD = 9A5943D6        </action>
            <action>maincpu.mq@2FE0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@2672 = 7EF73826</action> <!-- ram ($F672) -->
            <action>maincpu.md@2768 = 7EF7AD86</action> <!-- rom ($F768) -->
        </script>
        <script state="off">
            <action>maincpu.md@2672 = 53C50926</action>
            <action>maincpu.md@275B = 7FD00086</action>
        </script>
    </cheat>

</mamecheat>
defenderb.xml

Code: Select all

<!-- Defender (Blue label) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@17D4 = 20</action> <!-- ($E7D4) -->
        </script>
        <script state="off">
            <action>maincpu.mb@17D4 = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - people">
        <script state="on">
            <action>maincpu.mb@1D97 = 00</action> <!-- player bullet ($ED97) -->
            <action>maincpu.mb@202F = 00</action> <!-- abduction ($F02F) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1D97 = 03</action>
            <action>maincpu.mb@202F = 4F</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@05BD = BDFFE0D6        </action> <!-- ($D5BD) -->
            <action>maincpu.mq@2FE0 = 9A59850126014339</action>
            <!--
            FFE0 | 9A 59 : ORA    $59
            FFE2 | 85 01 : BITA   #$01
            FFE4 | 26 01 : BNE    $FFE7
            FFE6 | 43    : COMA
            FFE7 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@05BD = 9A5943D6        </action>
            <action>maincpu.mq@2FE0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@2672 = 7EF73826</action> <!-- ram ($F672) -->
            <action>maincpu.md@2768 = 7EF7AD86</action> <!-- rom ($F768) -->
        </script>
        <script state="off">
            <action>maincpu.md@2672 = 53C50926</action>
            <action>maincpu.md@275B = 7FD00086</action>
        </script>
    </cheat>

</mamecheat>
defenderw.xml

Code: Select all

<!-- Defender (White label) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@188C = 20</action> <!-- ($E88C) -->
        </script>
        <script state="off">
            <action>maincpu.mb@188C = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - people">
        <script state="on">
            <action>maincpu.mb@1E50 = 00</action> <!-- player bullet ($EE50) -->
            <action>maincpu.mb@20E8 = 00</action> <!-- abduction ($F0E8) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1E50 = 03</action>
            <action>maincpu.mb@20E8 = 4F</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@0686 = BDFF80D6        </action> <!-- ($D686) -->
            <action>maincpu.mq@2F80 = 9A59850126014339</action>
            <!--
            FF80 | 9A 59 : ORA    $59
            FF82 | 85 01 : BITA   #$01
            FF84 | 26 01 : BNE    $FF87
            FF86 | 43    : COMA
            FF87 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@0686 = 9A5943D6        </action>
            <action>maincpu.mq@2F80 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram check">
        <script state="on">
            <action>maincpu.md@262F = 7EF6F526</action> <!-- ($F62F) -->
        </script>
        <script state="off">
            <action>maincpu.md@266E = 53C50926</action>
        </script>
    </cheat>

</mamecheat>
defenderj.xml

Code: Select all

<!-- T.T Defender -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@1865 = 20</action> <!-- ($E865) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1865 = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - people">
        <script state="on">
            <action>maincpu.mb@1D73 = 00</action> <!-- player bullet ($ED73) -->
            <action>maincpu.mb@2013 = 00</action> <!-- abduction ($F013) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1D73 = 03</action>
            <action>maincpu.mb@2013 = 51</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@05CD = BDFF60D6        </action> <!-- ($D5CD) -->
            <action>maincpu.mq@2F60 = 9A7C850126014339</action>
            <!--
            FF60 | 9A 7C : ORA    $7C
            FF62 | 85 01 : BITA   #$01
            FF64 | 26 01 : BNE    $FF67
            FF66 | 43    : COMA
            FF67 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@05CD = 9A7C43D6        </action>
            <action>maincpu.mq@2F60 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@2667 = 7EF72D26</action> <!-- ram ($F667) -->
            <action>maincpu.md@275B = 7EF79B86</action> <!-- rom ($F75B) -->
        </script>
        <script state="off">
            <action>maincpu.md@2667 = 53C50926</action>
            <action>maincpu.md@275B = 7FD00086</action>
        </script>
    </cheat>

</mamecheat>
defndjeu.xml

Code: Select all

<!-- Defender (bootleg) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@188C = 20</action> <!-- ($E88C) -->
        </script>
        <script state="off">
            <action>maincpu.mb@188C = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - people">
        <script state="on">
            <action>maincpu.mb@1E50 = 00</action> <!-- player bullet ($EE50) -->
            <action>maincpu.mb@20E8 = 00</action> <!-- abduction ($F0E8) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1E50 = 03</action>
            <action>maincpu.mb@20E8 = 4F</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@0686 = BDFF80D6        </action> <!-- ($D686) -->
            <action>maincpu.mq@2F80 = 9A59850126014339</action>
            <!--
            FF80 | 9A 59 : ORA    $59
            FF82 | 85 01 : BITA   #$01
            FF84 | 26 01 : BNE    $FF87
            FF86 | 43    : COMA
            FF87 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@0686 = 9A5943D6        </action>
            <action>maincpu.mq@2F80 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram check">
        <script state="on">
            <action>maincpu.md@262F = 7EF6F526</action> <!-- ($F62F) -->
        </script>
        <script state="off">
            <action>maincpu.md@266E = 53C50926</action>
        </script>
    </cheat>

</mamecheat>
tornado1.xml

Code: Select all

<!-- Tornado (bootleg of Defender, set 1) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@188C = 20</action> <!-- ($E88C) -->
        </script>
        <script state="off">
            <action>maincpu.mb@188C = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - people">
        <script state="on">
            <action>maincpu.mb@1E50 = 00</action> <!-- player bullet ($EE50) -->
            <action>maincpu.mb@20E8 = 00</action> <!-- abduction ($F0E8) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1E50 = 03</action>
            <action>maincpu.mb@20E8 = 4F</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@0686 = BDFF80D6        </action> <!-- ($D686) -->
            <action>maincpu.mq@2F80 = 9A59850126014339</action>
            <!--
            FF80 | 9A 59 : ORA    $59
            FF82 | 85 01 : BITA   #$01
            FF84 | 26 01 : BNE    $FF87
            FF86 | 43    : COMA
            FF87 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@0686 = 9A5943D6        </action>
            <action>maincpu.mq@2F80 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram check">
        <script state="on">
            <action>maincpu.md@262F = 7EF6F526</action> <!-- ($F62F) -->
        </script>
        <script state="off">
            <action>maincpu.md@266E = 53C50926</action>
        </script>
    </cheat>

</mamecheat>
zero.xml

Code: Select all

<!-- Zero (bootleg of Defender, set 1) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@188C = 20</action> <!-- ($E88C) -->
        </script>
        <script state="off">
            <action>maincpu.mb@188C = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - people">
        <script state="on">
            <action>maincpu.mb@1E50 = 00</action> <!-- player bullet ($EE50) -->
            <action>maincpu.mb@20E8 = 00</action> <!-- abduction ($F0E8) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1E50 = 03</action>
            <action>maincpu.mb@20E8 = 4F</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@0686 = BDFF80D6        </action> <!-- ($D686) -->
            <action>maincpu.mq@2F80 = 9A59850126014339</action>
            <!--
            FF80 | 9A 59 : ORA    $59
            FF82 | 85 01 : BITA   #$01
            FF84 | 26 01 : BNE    $FF87
            FF86 | 43    : COMA
            FF87 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@0686 = 9A5943D6        </action>
            <action>maincpu.mq@2F80 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram check">
        <script state="on">
            <action>maincpu.md@262F = 7EF6F526</action> <!-- ($F62F) -->
        </script>
        <script state="off">
            <action>maincpu.md@266E = 53C50926</action>
        </script>
    </cheat>

</mamecheat>
zero2.xml

Code: Select all

<!-- Zero (bootleg of Defender, set 2) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@188C = 20</action> <!-- ($E88C) -->
        </script>
        <script state="off">
            <action>maincpu.mb@188C = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - fuel">
        <script state="on">
            <action>maincpu.mb@1E50 = 00</action> <!-- player bullet ($EE50) -->
            <action>maincpu.mb@20E8 = 00</action> <!-- abduction ($F0E8) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1E50 = 03</action>
            <action>maincpu.mb@20E8 = 4F</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@0686 = BDFFE2D6        </action> <!-- ($D686) -->
            <action>maincpu.mq@2FE2 = 9A59850126014339</action>
            <!--
            FFE2 | 9A 59 : ORA    $59
            FFE4 | 85 01 : BITA   #$01
            FFE6 | 26 01 : BNE    $FF87
            FFE8 | 43    : COMA
            FFE9 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@0686 = 9A5943D6        </action>
            <action>maincpu.mq@2FE2 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="fuel speed">
        <parameter>
            <item value="0xFF">01 (slow)</item>
            <item value="0x7F">02       </item>
            <item value="0x3F">03       </item>
            <item value="0x1F">04       </item>
            <item value="0x00">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>banked.mb@6B54 = param</action> <!-- ($CB54) -->
        </script>
        <script state="off">
            <action>banked.mb@6B54 = 1F</action>
        </script>
    </cheat>

    <cheat desc="skip ram check">
        <script state="on">
            <action>maincpu.md@262F = 7EF6F526</action> <!-- ($F62F) -->
        </script>
        <script state="off">
            <action>maincpu.md@266E = 53C50926</action>
        </script>
    </cheat>

</mamecheat>
defenderom.xml

Code: Select all

<!-- Operacion Defender (bootleg of Defender) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@1865 = 20</action> <!-- ($E865) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1865 = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - people">
        <script state="on">
            <action>maincpu.mb@1D73 = 00</action> <!-- player bullet ($ED73) -->
            <action>maincpu.mb@2013 = 00</action> <!-- abduction ($F013) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1D73 = 03</action>
            <action>maincpu.mb@2013 = 51</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@05CD = BDFF60D6        </action> <!-- ($D5CD) -->
            <action>maincpu.mq@2F60 = 9A7C850126014339</action>
            <!--
            FF60 | 9A 7C : ORA    $7C
            FF62 | 85 01 : BITA   #$01
            FF64 | 26 01 : BNE    $FF67
            FF66 | 43    : COMA
            FF67 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@05CD = 9A7C43D6        </action>
            <action>maincpu.mq@2F60 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@2667 = 7EF72D26</action> <!-- ram ($F667) -->
            <action>maincpu.md@275B = 7EF79B86</action> <!-- rom ($F75B) -->
        </script>
        <script state="off">
            <action>maincpu.md@2667 = 53C50926</action>
            <action>maincpu.md@275B = 7FD00086</action>
        </script>
    </cheat>

</mamecheat>
defcmnd.xml

Code: Select all

<!-- Defense Command (bootleg of Defender) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@188C = 20</action> <!-- ($E88C) -->
        </script>
        <script state="off">
            <action>maincpu.mb@188C = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - people">
        <script state="on">
            <action>maincpu.mb@1E50 = 00</action> <!-- player bullet ($EE50) -->
            <action>maincpu.mb@20E8 = 00</action> <!-- abduction ($F0E8) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1E50 = 03</action>
            <action>maincpu.mb@20E8 = 4F</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@0686 = BDFF80D6        </action> <!-- ($D686) -->
            <action>maincpu.mq@2F80 = 9A59850126014339</action>
            <!--
            FF80 | 9A 59 : ORA    $59
            FF82 | 85 01 : BITA   #$01
            FF84 | 26 01 : BNE    $FF87
            FF86 | 43    : COMA
            FF87 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@0686 = 9A5943D6        </action>
            <action>maincpu.mq@2F80 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram check">
        <script state="on">
            <action>maincpu.md@262F = 7EF6F526</action> <!-- ($F62F) -->
        </script>
        <script state="off">
            <action>maincpu.md@266E = 53C50926</action>
        </script>
    </cheat>

</mamecheat>
defence.xml

Code: Select all

<!-- Defence Command (bootleg of Defender) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@1849 = 20</action> <!-- ($E849) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1849 = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - people">
        <script state="on">
            <action>maincpu.mb@1D57 = 00</action> <!-- player bullet ($ED57) -->
            <action>maincpu.mb@1FF6 = 00</action> <!-- abduction ($EFF6) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1D57 = 03</action>
            <action>maincpu.mb@1FF6 = 51</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@05CB = BDFFE0D6        </action> <!-- ($D5CB) -->
            <action>maincpu.mq@2FE0 = 9A91850126014339</action>
            <!--
            FFE0 | 9A 91 : ORA    $91
            FFE2 | 85 01 : BITA   #$01
            FFE4 | 26 01 : BNE    $FFE7
            FFE6 | 43    : COMA
            FFE7 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@05CB = 9A9143D6        </action>
            <action>maincpu.mq@2FE0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@264C = 7EF71226</action> <!-- ram ($F64C) -->
            <action>maincpu.md@2740 = 7EF78586</action> <!-- rom ($F740) -->
        </script>
        <script state="off">
            <action>maincpu.md@264C = 53C50926</action>
            <action>maincpu.md@2740 = 7FD00086</action>
        </script>
    </cheat>

</mamecheat>
defenseb.xml

Code: Select all

<!-- Defense (bootleg of Defender) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@1865 = 20</action> <!-- ($E865) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1865 = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - people">
        <script state="on">
            <action>maincpu.mb@1D73 = 00</action> <!-- player bullet ($ED73) -->
            <action>maincpu.mb@2013 = 00</action> <!-- abduction ($F013) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1D73 = 03</action>
            <action>maincpu.mb@2013 = 51</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@05CD = BDFF60D6        </action> <!-- ($D5CD) -->
            <action>maincpu.mq@2F60 = 9A7C850126014339</action>
            <!--
            FF60 | 9A 7C : ORA    $7C
            FF62 | 85 01 : BITA   #$01
            FF64 | 26 01 : BNE    $FF67
            FF66 | 43    : COMA
            FF67 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@05CD = 9A7C43D6        </action>
            <action>maincpu.mq@2F60 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@2667 = 7EF72D26</action> <!-- ram ($F667) -->
            <action>maincpu.md@275B = 7EF79B86</action> <!-- rom ($F75B) -->
        </script>
        <script state="off">
            <action>maincpu.md@2667 = 53C50926</action>
            <action>maincpu.md@275B = 7FD00086</action>
        </script>
    </cheat>

</mamecheat>
startrkd.xml

Code: Select all

<!-- Star Trek (bootleg of Defender) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@188C = 20</action> <!-- ($E88C) -->
        </script>
        <script state="off">
            <action>maincpu.mb@188C = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - people">
        <script state="on">
            <action>maincpu.mb@1E50 = 00</action> <!-- player bullet ($EE50) -->
            <action>maincpu.mb@20E8 = 00</action> <!-- abduction ($F0E8) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1E50 = 03</action>
            <action>maincpu.mb@20E8 = 4F</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@0686 = BDFF80D6        </action> <!-- ($D686) -->
            <action>maincpu.mq@2F80 = 9A59850126014339</action>
            <!--
            FF80 | 9A 59 : ORA    $59
            FF82 | 85 01 : BITA   #$01
            FF84 | 26 01 : BNE    $FF87
            FF86 | 43    : COMA
            FF87 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@0686 = 9A5943D6        </action>
            <action>maincpu.mq@2F80 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram check">
        <script state="on">
            <action>maincpu.md@262F = 7EF6F526</action> <!-- ($F62F) -->
        </script>
        <script state="off">
            <action>maincpu.md@266E = 53C50926</action>
        </script>
    </cheat>

</mamecheat>
attackf.xml

Code: Select all

<!-- Attack (bootleg of Defender) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@17D4 = 20</action> <!-- ($E7D4) -->
        </script>
        <script state="off">
            <action>maincpu.mb@17D4 = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - people">
        <script state="on">
            <action>maincpu.mb@1D97 = 00</action> <!-- player bullet ($ED97) -->
            <action>maincpu.mb@202F = 00</action> <!-- abduction ($F02F) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1D97 = 03</action>
            <action>maincpu.mb@202F = 4F</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@05BD = BDFFE0D6        </action> <!-- ($D5BD) -->
            <action>maincpu.mq@2FE0 = 9A59850126014339</action>
            <!--
            FFE0 | 9A 59 : ORA    $59
            FFE2 | 85 01 : BITA   #$01
            FFE4 | 26 01 : BNE    $FFE7
            FFE6 | 43    : COMA
            FFE7 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@05BD = 9A5943D6        </action>
            <action>maincpu.mq@2FE0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@2672 = 7EF73826</action> <!-- ram ($F672) -->
            <action>maincpu.md@2768 = 7EF7AD86</action> <!-- rom ($F768) -->
        </script>
        <script state="off">
            <action>maincpu.md@2672 = 53C50926</action>
            <action>maincpu.md@275B = 7FD00086</action>
        </script>
    </cheat>

</mamecheat>
galwars2.xml

Code: Select all

<!-- Galaxy Wars II (bootleg of Defender) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@1849 = 20</action> <!-- ($E849) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1849 = 26</action>
        </script>
    </cheat>

    <cheat desc="no hit - people">
        <script state="on">
            <action>maincpu.mb@1D57 = 00</action> <!-- player bullet ($ED57) -->
            <action>maincpu.mb@1FF6 = 00</action> <!-- abduction ($EFF6) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1D57 = 03</action>
            <action>maincpu.mb@1FF6 = 51</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@05CB = BDFFE0D6        </action> <!-- ($D5CB) -->
            <action>maincpu.mq@2FE0 = 9A91850126014339</action>
            <!--
            FFE0 | 9A 91 : ORA    $91
            FFE2 | 85 01 : BITA   #$01
            FFE4 | 26 01 : BNE    $FFE7
            FFE6 | 43    : COMA
            FFE7 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@05CB = 9A9143D6        </action>
            <action>maincpu.mq@2FE0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@264C = 7EF71226</action> <!-- ram ($F64C) -->
            <action>maincpu.md@2740 = 7EF78586</action> <!-- rom ($F740) -->
        </script>
        <script state="off">
            <action>maincpu.md@264C = 53C50926</action>
            <action>maincpu.md@2740 = 7FD00086</action>
        </script>
    </cheat>

</mamecheat>
NOTE : All codes work in 0.265 or later because ROM region is changed.
  • All codes for tornado2 is missing due to bad dump. I have traced program code but no result.
  • zero2 has unique system, "fuel". So "fuel speed" code is for zero2 only.
  • "no hit - people" : No effect for abduction when you set this code in trying to abduct by an enemy.
  • "rapid fire" : You can't use Smart Bomb, Hyperspace and Reverse in holding fire button.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Roadkillusa
Posts: 4
Joined: Sat Mar 29, 2025 4:22 am

Re: [defender]+ Defender

Post by Roadkillusa »

awesome!!! This worked for me on 0.275 now
Would be possible for you to look at Joust and add the "no hit player" to that for 0.275? When you get a chance maybe?
jman
Posts: 1316
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[defender]+ Defender

Post by jman »

I find problem for "no hit - player". You can't catch people after release from abduction. So I try fixing...

defender.xml, defenderj.xml, defenderom.xml and defenseb.xml

Code: Select all

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.md@16E3 = BDFF60A3        </action> <!-- ($E6E3) -->
            <action>maincpu.mq@2F60 = 96DE27113406EC08</action>
            <action>maincpu.mq@2F68 = 1083ED9127053506</action>
            <action>maincpu.mq@2F70 = 4F3586350610AE02</action>
            <action>maincpu.mq@2F78 = 3900000000000000</action>
            <!--
            FF60 | 96 DE       : LDA    $DE    // check player or bullet
            FF62 | 27 11       : BEQ    $FF75
            FF64 | 34 06       : PSHS   D
            FF66 | EC 08       : LDD    $8,X
            FF68 | 10 83 ED 91 : CMPD   #$ED91 // check people
            FF6C | 27 05       : BEQ    $FF73
            FF6E | 35 06       : PULS   D
            FF70 | 4F          : CLRA
            FF71 | 35 86       : PULS   D,PC
            FF73 | 35 06       : PULS   D
            FF75 | 10 AE 02    : LDY    $2,X
            FF78 | 39          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@16E3 = 10AE02A3        </action>
            <action>maincpu.mq@2F60 = 0000000000000000</action>
            <action>maincpu.mq@2F68 = 0000000000000000</action>
            <action>maincpu.mq@2F70 = 0000000000000000</action>
            <action>maincpu.mq@2F78 = 0000000000000000</action>
        </script>
    </cheat>
defenderg.xml, defenderb.xml and attackf.xml

Code: Select all

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.md@1652 = BDBF80A3</action> <!-- ($E652) -->
        </script>
        <script state="run">
            <action>maincpu.pq@BF80 = 96B927113406EC08</action>
            <action>maincpu.pq@BF88 = 1083EDB527053506</action>
            <action>maincpu.pq@BF90 = 4F3586350610AE02</action>
            <action>maincpu.pq@BF98 = 3900000000000000</action>
            <!--
            BF80 | 96 B9       : LDA    $B9    // check player or bullet
            BF82 | 27 11       : BEQ    $BF95
            BF84 | 34 06       : PSHS   D
            BF86 | EC 08       : LDD    $8,X
            BF88 | 10 83 ED B5 : CMPD   #$EDB5 // check people
            BF8C | 27 05       : BEQ    $BF93
            BF8E | 35 06       : PULS   D
            BF90 | 4F          : CLRA
            BF91 | 35 86       : PULS   D,PC
            BF93 | 35 06       : PULS   D
            BF95 | 10 AE 02    : LDY    $2,X
            BF98 | 39          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1652 = 10AE02A3        </action>
            <action>maincpu.pq@BF80 = 0000000000000000</action>
            <action>maincpu.pq@BF88 = 0000000000000000</action>
            <action>maincpu.pq@BF90 = 0000000000000000</action>
            <action>maincpu.pq@BF98 = 0000000000000000</action>
        </script>
    </cheat>
defenderw.xml, defndjeu.xml, tornado1.xml, zero.xml, defcmnd.xml and startrkd.xml

Code: Select all

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.md@170A = BDFF80A3        </action> <!-- ($E70A) -->
            <action>maincpu.mq@2F80 = 96B627113406EC08</action>
            <action>maincpu.mq@2F88 = 1083EE6E27053506</action>
            <action>maincpu.mq@2F90 = 4F3586350610AE02</action>
            <action>maincpu.mq@2F98 = 3900000000000000</action>
            <!--
            FF80 | 96 B6       : LDA    $B6    // check player or bullet
            FF82 | 27 11       : BEQ    $FF95
            FF84 | 34 06       : PSHS   D
            FF86 | EC 08       : LDD    $8,X
            FF88 | 10 83 EE 6E : CMPD   #$EE6E // check people
            FF8C | 27 05       : BEQ    $FF93
            FF8E | 35 06       : PULS   D
            FF90 | 4F          : CLRA
            FF91 | 35 86       : PULS   D,PC
            FF93 | 35 06       : PULS   D
            FF95 | 10 AE 02    : LDY    $2,X
            FF98 | 39          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@170A = 10AE02A3        </action>
            <action>maincpu.mq@2F80 = 0000000000000000</action>
            <action>maincpu.mq@2F88 = 0000000000000000</action>
            <action>maincpu.mq@2F90 = 0000000000000000</action>
            <action>maincpu.mq@2F98 = 0000000000000000</action>
        </script>
    </cheat>
zero2.xml

Code: Select all

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.md@170A = BDBF80A3</action> <!-- ($E70A) -->
        </script>
        <script state="run">
            <action>maincpu.pq@BF80 = 96B627113406EC08</action>
            <action>maincpu.pq@BF88 = 1083EE6E27053506</action>
            <action>maincpu.pq@BF90 = 4F3586350610AE02</action>
            <action>maincpu.pq@BF98 = 3900000000000000</action>
            <!--
            BF80 | 96 B6       : LDA    $B6    // check player or bullet
            BF82 | 27 11       : BEQ    $BF95
            BF84 | 34 06       : PSHS   D
            BF86 | EC 08       : LDD    $8,X
            BF88 | 10 83 EE 6E : CMPD   #$EE6E // check people
            BF8C | 27 05       : BEQ    $BF93
            BF8E | 35 06       : PULS   D
            BF90 | 4F          : CLRA
            BF91 | 35 86       : PULS   D,PC
            BF93 | 35 06       : PULS   D
            BF95 | 10 AE 02    : LDY    $2,X
            BF98 | 39          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@170A = 10AE02A3        </action>
            <action>maincpu.pq@BF80 = 0000000000000000</action>
            <action>maincpu.pq@BF88 = 0000000000000000</action>
            <action>maincpu.pq@BF90 = 0000000000000000</action>
            <action>maincpu.pq@BF98 = 0000000000000000</action>
        </script>
    </cheat>
defence.xml and galwars2.xml

Code: Select all

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.md@16C6 = BDBF80A3</action> <!-- ($E6C6) -->
        </script>
        <script state="run">
            <action>maincpu.pq@BF80 = 96F327113406EC08</action>
            <action>maincpu.pq@BF88 = 1083ED7527053506</action>
            <action>maincpu.pq@BF90 = 4F3586350610AE02</action>
            <action>maincpu.pq@BF98 = 3900000000000000</action>
            <!--
            BF80 | 96 F3       : LDA    $F3    // check player or bullet
            BF82 | 27 11       : BEQ    $BF95
            BF84 | 34 06       : PSHS   D
            BF86 | EC 08       : LDD    $8,X
            BF88 | 10 83 ED 75 : CMPD   #$ED75 // check people
            BF8C | 27 05       : BEQ    $BF93
            BF8E | 35 06       : PULS   D
            BF90 | 4F          : CLRA
            BF91 | 35 86       : PULS   D,PC
            BF93 | 35 06       : PULS   D
            BF95 | 10 AE 02    : LDY    $2,X
            BF98 | 39          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@16C6 = 10AE02A3        </action>
            <action>maincpu.pq@BF80 = 0000000000000000</action>
            <action>maincpu.pq@BF88 = 0000000000000000</action>
            <action>maincpu.pq@BF90 = 0000000000000000</action>
            <action>maincpu.pq@BF98 = 0000000000000000</action>
        </script>
    </cheat>
I use RAM region to put custome routine in some games because of no ROM region space. So the game will cause a bug if other routines read/write this RAM area.

Also "rapid fire" needs to fix address.

defender.xml, defenderj.xml, defenderom.xml and defenseb.xml

Code: Select all

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@05CD = BDFF80D6        </action> <!-- ($D5CD) -->
            <action>maincpu.mq@2F80 = 9A7C850126014339</action>
            <!--
            FF80 | 9A 7C : ORA    $7C
            FF82 | 85 01 : BITA   #$01
            FF84 | 26 01 : BNE    $FF87
            FF86 | 43    : COMA
            FF87 | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@05CD = 9A7C43D6        </action>
            <action>maincpu.mq@2F80 = 0000000000000000</action>
        </script>
    </cheat>
defenderw.xml, defndjeu.xml, tornado1.xml, zero.xml, zero2.xml, defcmnd.xml and startrkd.xml

Code: Select all

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.md@0686 = BDFFE8D6        </action> <!-- ($D686) -->
            <action>maincpu.mq@2FE8 = 9A59850126014339</action>
            <!--
            FFE8 | 9A 59 : ORA    $59
            FFEA | 85 01 : BITA   #$01
            FFEC | 26 01 : BNE    $FFEF
            FFEE | 43    : COMA
            FFEF | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@0686 = 9A5943D6        </action>
            <action>maincpu.mq@2FE8 = 0000000000000000</action>
        </script>
    </cheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Post Reply