Page 1 of 1

[zaxxon]+ Zaxxon

Posted: Tue Jun 03, 2025 9:22 am
by jman
zaxxon.xml

Code: Select all

<!-- Zaxxon (set 1, rev D) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1231 = 1A</action> <!-- enemy -->
            <action>maincpu.mb@1250 = 9E</action> <!-- bullet -->
            <action>maincpu.mb@134B = 1A</action> <!-- enemy -->
            <action>maincpu.mb@1386 = 9E</action> <!-- bullet -->
            <action>maincpu.mb@13A7 = 1A</action> <!-- enemy -->
            <action>maincpu.mb@150C = EA</action> <!-- wall -->
            <action>maincpu.mb@1564 = EA</action> <!-- wall -->
            <action>maincpu.mb@16F4 = C9</action> <!-- missile (boss) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1231 = 1B</action>
            <action>maincpu.mb@1250 = 9F</action>
            <action>maincpu.mb@134B = 1B</action>
            <action>maincpu.mb@1386 = 9F</action>
            <action>maincpu.mb@13A7 = 1B</action>
            <action>maincpu.mb@150C = EB</action>
            <action>maincpu.mb@1564 = EB</action>
            <action>maincpu.mb@16F4 = C8</action>
        </script>
    </cheat>

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

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@0AD7 = 5000            </action>
            <action>maincpu.mq@5000 = 10C136CECDC50006</action>
            <action>maincpu.mq@5008 = 000000000000C9F9</action>
            <!--
            5000 | 06 xx    : ld   b,$xx
            5002 | C5       : push bc
            5003 | CD CE 36 : call $36CE
            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@0AD7 = 36CE            </action>
            <action>maincpu.mq@5000 = 0000000000000000</action>
            <action>maincpu.mq@5008 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@0ADA = 5010            </action>
            <action>maincpu.mq@5010 = 10C138D1CDC50006</action>
            <action>maincpu.mq@5018 = 000000000000C9F9</action>
            <!--
            5010 | 06 xx    : ld   b,$xx
            5012 | C5       : push bc
            5013 | CD D1 38 : call $38D1
            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@0ADA = 38D1            </action>
            <action>maincpu.mq@5010 = 0000000000000000</action>
            <action>maincpu.mq@5018 = 0000000000000000</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.md@34AB = D85020CD        </action>
            <action>maincpu.mq@5020 = 000000C900FE237E</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.md@34AB = D8BE237E        </action>
            <action>maincpu.mq@5020 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
zaxxon2.xml

Code: Select all

<!-- Zaxxon (set 2, unknown rev) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1231 = 1A</action> <!-- enemy -->
            <action>maincpu.mb@1250 = 9E</action> <!-- bullet -->
            <action>maincpu.mb@134B = 1A</action> <!-- enemy -->
            <action>maincpu.mb@1386 = 9E</action> <!-- bullet -->
            <action>maincpu.mb@13A7 = 1A</action> <!-- enemy -->
            <action>maincpu.mb@150C = EA</action> <!-- wall -->
            <action>maincpu.mb@1564 = EA</action> <!-- wall -->
            <action>maincpu.mb@16F4 = C9</action> <!-- missile (boss) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1231 = 1B</action>
            <action>maincpu.mb@1250 = 9F</action>
            <action>maincpu.mb@134B = 1B</action>
            <action>maincpu.mb@1386 = 9F</action>
            <action>maincpu.mb@13A7 = 1B</action>
            <action>maincpu.mb@150C = EB</action>
            <action>maincpu.mb@1564 = EB</action>
            <action>maincpu.mb@16F4 = C8</action>
        </script>
    </cheat>

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

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@0AD7 = 5000            </action>
            <action>maincpu.mq@5000 = 10C136CECDC50006</action>
            <action>maincpu.mq@5008 = 000000000000C9F9</action>
            <!--
            5000 | 06 xx    : ld   b,$xx
            5002 | C5       : push bc
            5003 | CD CE 36 : call $36CE
            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@0AD7 = 36CE            </action>
            <action>maincpu.mq@5000 = 0000000000000000</action>
            <action>maincpu.mq@5008 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@0ADA = 5010            </action>
            <action>maincpu.mq@5010 = 10C138D1CDC50006</action>
            <action>maincpu.mq@5018 = 000000000000C9F9</action>
            <!--
            5010 | 06 xx    : ld   b,$xx
            5012 | C5       : push bc
            5013 | CD D1 38 : call $38D1
            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@0ADA = 38D1            </action>
            <action>maincpu.mq@5010 = 0000000000000000</action>
            <action>maincpu.mq@5018 = 0000000000000000</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.md@34AB = D85020CD        </action>
            <action>maincpu.mq@5020 = 000000C900FE237E</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.md@34AB = D8BE237E        </action>
            <action>maincpu.mq@5020 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
zaxxon3.xml

Code: Select all

<!-- Zaxxon (set 3, unknown rev) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@12B3 = 9C</action> <!-- enemy -->
            <action>maincpu.mb@12D2 = 20</action> <!-- bullet -->
            <action>maincpu.mb@13CD = 9C</action> <!-- enemy -->
            <action>maincpu.mb@1408 = 20</action> <!-- bullet -->
            <action>maincpu.mb@1429 = 9C</action> <!-- enemy -->
            <action>maincpu.mb@158E = 6C</action> <!-- wall -->
            <action>maincpu.mb@15E6 = 6C</action> <!-- wall -->
            <action>maincpu.mb@1776 = C9</action> <!-- missile (boss) -->
        </script>
        <script state="off">
            <action>maincpu.mb@12B3 = 9D</action>
            <action>maincpu.mb@12D2 = 21</action>
            <action>maincpu.mb@13CD = 9D</action>
            <action>maincpu.mb@1408 = 21</action>
            <action>maincpu.mb@1429 = 9D</action>
            <action>maincpu.mb@158E = 6C</action>
            <action>maincpu.mb@15E6 = 6C</action>
            <action>maincpu.mb@1776 = C8</action>
        </script>
    </cheat>

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

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@0B60 = 5000            </action>
            <action>maincpu.mq@5000 = 10C137D2CDC50006</action>
            <action>maincpu.mq@5008 = 000000000000C9F9</action>
            <!--
            5000 | 06 xx    : ld   b,$xx
            5002 | C5       : push bc
            5003 | CD D2 37 : call $37D2
            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@0B60 = 37D2            </action>
            <action>maincpu.mq@5000 = 0000000000000000</action>
            <action>maincpu.mq@5008 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@0B63 = 5010            </action>
            <action>maincpu.mq@5010 = 10C139C7CDC50006</action>
            <action>maincpu.mq@5018 = 000000000000C9F9</action>
            <!--
            5010 | 06 xx    : ld   b,$xx
            5012 | C5       : push bc
            5013 | CD C7 39 : call $39C7
            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.mq@5010 = 0000000000000000</action>
            <action>maincpu.mq@5018 = 0000000000000000</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.md@359F = D85020CD        </action>
            <action>maincpu.mq@5020 = 000000C900FE237E</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.md@359F = D8BE237E        </action>
            <action>maincpu.mq@5020 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
zaxxonj.xml

Code: Select all

<!-- Zaxxon (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@12B3 = 9C</action> <!-- enemy -->
            <action>maincpu.mb@12D2 = 20</action> <!-- bullet -->
            <action>maincpu.mb@13CD = 9C</action> <!-- enemy -->
            <action>maincpu.mb@1408 = 20</action> <!-- bullet -->
            <action>maincpu.mb@1429 = 9C</action> <!-- enemy -->
            <action>maincpu.mb@158E = 6C</action> <!-- wall -->
            <action>maincpu.mb@15E6 = 6C</action> <!-- wall -->
            <action>maincpu.ob@1776 = C9</action> <!-- missile (boss) -->
        </script>
        <script state="off">
            <action>maincpu.mb@12B3 = 9D</action>
            <action>maincpu.mb@12D2 = 21</action>
            <action>maincpu.mb@13CD = 9D</action>
            <action>maincpu.mb@1408 = 21</action>
            <action>maincpu.mb@1429 = 9D</action>
            <action>maincpu.mb@158E = 6C</action>
            <action>maincpu.mb@15E6 = 6C</action>
            <action>maincpu.ob@1776 = C8</action>
        </script>
    </cheat>

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

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@0B60 = 5000            </action>
            <action>maincpu.oq@5000 = 10C1FFFFCDC5FF06</action>
            <action>maincpu.mq@5000 = FFFF37D2FFFF00FF</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 D2 37 : call $37D2
            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@0B60 = 37D2            </action>
            <action>maincpu.oq@5000 = 808A808A808A808A</action>
            <action>maincpu.mq@5000 = A00AA00AA00AA00A</action>
            <action>maincpu.oq@5008 = 808A808A808A808A</action>
            <action>maincpu.mq@5008 = A00AA00AA00AA00A</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@0B63 = 5010            </action>
            <action>maincpu.oq@5010 = 10C1FFFFCDC5FF06</action>
            <action>maincpu.mq@5010 = FFFF39C7FFFF00FF</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 C7 39 : call $39C7
            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 = 028A028A028A028A</action>
            <action>maincpu.mq@5010 = A00AA00AA00AA00A</action>
            <action>maincpu.oq@5018 = 028A028A028A028A</action>
            <action>maincpu.mq@5018 = A00AA00AA00AA00A</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@359F = D8FFFFCD        </action>
            <action>maincpu.md@359F = 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@359F = D8BE237E        </action>
            <action>maincpu.md@359F = 5A9EA17C        </action>
            <action>maincpu.oq@5020 = 808A808A808A808A</action>
            <action>maincpu.mq@5020 = A00AA00AA00AA00A</action>
        </script>
    </cheat>

</mamecheat>
zaxxonb.xml

Code: Select all

<!-- Jackson -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@12B3 = 9C</action> <!-- enemy -->
            <action>maincpu.mb@12D2 = 20</action> <!-- bullet -->
            <action>maincpu.mb@13CD = 9C</action> <!-- enemy -->
            <action>maincpu.mb@1408 = 20</action> <!-- bullet -->
            <action>maincpu.mb@1429 = 9C</action> <!-- enemy -->
            <action>maincpu.mb@158E = 6C</action> <!-- wall -->
            <action>maincpu.mb@15E6 = 6C</action> <!-- wall -->
            <action>maincpu.ob@1776 = C9</action> <!-- missile (boss) -->
        </script>
        <script state="off">
            <action>maincpu.mb@12B3 = 9D</action>
            <action>maincpu.mb@12D2 = 21</action>
            <action>maincpu.mb@13CD = 9D</action>
            <action>maincpu.mb@1408 = 21</action>
            <action>maincpu.mb@1429 = 9D</action>
            <action>maincpu.mb@158E = 6C</action>
            <action>maincpu.mb@15E6 = 6C</action>
            <action>maincpu.ob@1776 = C8</action>
        </script>
    </cheat>

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

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@0B60 = 5000            </action>
            <action>maincpu.oq@5000 = 10C1FFFFCDC5FF06</action>
            <action>maincpu.mq@5000 = FFFF37D2FFFF00FF</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 D2 37 : call $37D2
            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@0B60 = 37D2            </action>
            <action>maincpu.oq@5000 = 808A808A808A808A</action>
            <action>maincpu.mq@5000 = A00AA00AA00AA00A</action>
            <action>maincpu.oq@5008 = 808A808A808A808A</action>
            <action>maincpu.mq@5008 = A00AA00AA00AA00A</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@0B63 = 5010            </action>
            <action>maincpu.oq@5010 = 10C1FFFFCDC5FF06</action>
            <action>maincpu.mq@5010 = FFFF39C7FFFF00FF</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 C7 39 : call $39C7
            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 = 028A028A028A028A</action>
            <action>maincpu.mq@5010 = A00AA00AA00AA00A</action>
            <action>maincpu.oq@5018 = 028A028A028A028A</action>
            <action>maincpu.mq@5018 = A00AA00AA00AA00A</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@359F = D8FFFFCD        </action>
            <action>maincpu.md@359F = 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@359F = D8BE237E        </action>
            <action>maincpu.mq@359F = 5A9EA17C        </action>
            <action>maincpu.oq@5020 = 808A808A808A808A</action>
            <action>maincpu.mq@5020 = A00AA00AA00AA00A</action>
        </script>
    </cheat>

</mamecheat>