Page 1 of 1

[szaxxon] Super Zaxxon

Posted: Wed Jun 04, 2025 9:11 am
by jman
szaxxon.xml

Code: Select all

<!-- Super Zaxxon (315-5013) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1251 = 40</action> <!-- enemy -->
            <action>maincpu.mb@1270 = C4</action> <!-- bullet -->
            <action>maincpu.mb@132C = 40</action> <!-- enemy -->
            <action>maincpu.mb@1367 = C4</action> <!-- bullet -->
            <action>maincpu.mb@1388 = 40</action> <!-- enemy -->
            <action>maincpu.mb@14FD = FB</action> <!-- wall -->
            <action>maincpu.mb@1565 = FB</action> <!-- wall -->
            <action>maincpu.ob@1710 = C9</action> <!-- fire (boss) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1251 = 41</action>
            <action>maincpu.mb@1270 = C5</action>
            <action>maincpu.mb@132C = 41</action>
            <action>maincpu.mb@1367 = C5</action>
            <action>maincpu.mb@1388 = 41</action>
            <action>maincpu.mb@14FD = FC</action>
            <action>maincpu.mb@1565 = FC</action>
            <action>maincpu.ob@1710 = C8</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@366F = 0F</action>
        </script>
        <script state="off">
            <action>maincpu.mb@366F = 0E</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@0B0A = 5000            </action>
            <action>maincpu.oq@5000 = 10C1FFFFCDC5FF06</action>
            <action>maincpu.mq@5000 = FFFF33B7FFFF00FF</action>
            <action>maincpu.oq@5008 = FFFFFFFFFFFFC9FF</action>
            <action>maincpu.mq@5008 = FFFFFFFFFFFFFFF9</action>
            <!--
            5000 | 06 xx    : ld   b,$xx
            5002 | C5       : push bc
            5003 | CD B7 33 : call $33B7
            5006 | C1       : pop  bc
            5007 | 10 F9    : djnz $5002
            5009 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@5001 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@0B0A = 33B7            </action>
            <action>maincpu.oq@5000 = 8808880888088808</action>
            <action>maincpu.mq@5000 = 2888288828882888</action>
            <action>maincpu.oq@5008 = 8808880888088808</action>
            <action>maincpu.mq@5008 = 2888288828882888</action>
       </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@0B0D = 5010            </action>
            <action>maincpu.oq@5010 = 10C1FFFFCDC5FF06</action>
            <action>maincpu.mq@5010 = FFFF35ADFFFF00FF</action>
            <action>maincpu.oq@5018 = FFFFFFFFFFFFC9FF</action>
            <action>maincpu.mq@5018 = FFFFFFFFFFFFFFF9</action>
            <!--
            5010 | 06 xx    : ld   b,$xx
            5012 | C5       : push bc
            5013 | CD AD 35 : call $35AD
            5016 | C1       : pop  bc
            5017 | 10 F9    : djnz $5012
            5019 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@5011 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@0B63 = 39C7            </action>
            <action>maincpu.oq@5010 = A888A888A888A888</action>
            <action>maincpu.mq@5010 = 2028202820282028</action>
            <action>maincpu.oq@5018 = A888A888A888A888</action>
            <action>maincpu.mq@5018 = 2028202820282028</action>
        </script>
    </cheat>

    <cheat desc="fuel speed">
        <parameter>
            <item value="0x80">01 (slow)</item>
            <item value="0x40">02       </item>
            <item value="0x20">03       </item>
            <item value="0x10">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.od@300B = D8FFFFCD        </action>
            <action>maincpu.md@300B = FF5020FF        </action>
            <action>maincpu.oq@5020 = FFFFFFC9FFFE237E</action>
            <action>maincpu.mq@5020 = FFFFFFFF00FFFFFF</action>
            <!--
            5020 | 7E    : ld   a,(hl)
            5021 | 23    : inc  hl
            5022 | FE xx : cp   $xx
            5024 | C9    : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@5023 = param</action>
        </script>
        <script state="off">
            <action>maincpu.od@300B = D8BE237E        </action>
            <action>maincpu.md@300B = 5836A356        </action>
            <action>maincpu.oq@5020 = 8808880888088808</action>
            <action>maincpu.mq@5020 = 2888288828882888</action>
        </script>
    </cheat>

</mamecheat>