[spacian2] T.T Spacian Part-2

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: 865
Joined: Tue Dec 01, 2020 1:24 pm

[spacian2] T.T Spacian Part-2

Post by jman »

spacian2 is clone of galaxian and will be added in 0.252.

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@0b78 = c9</action> <!-- bullet -->
        <action>maincpu.mb@12a1 = c9</action> <!-- enemy -->
    </script>
    <script state="off">
        <action>maincpu.mb@0b78 = c8</action>
        <action>maincpu.mb@12a1 = c8</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@0a50 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@0a50 = a0</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x05" step="0x01" />
    <script state="on">
        <action>maincpu.mw@0662 =             2800</action>
        <action>maincpu.mq@2800 = 10c10837cdc50006</action>
        <action>maincpu.mq@2808 = 000000000000c9f9</action>
        <!--
        2800 | 06 xx    : ld   b,$xx
        2802 | c5       : push bc
        2803 | cd 37 08 : call $0837
        2806 | c1       : pop  bc
        2807 | 10 f9    : djnz $2802
        2809 | c9       : ret
        -->
    </script>
    <script state="change">
        <action>maincpu.mb@2801 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mw@0662 =             0837</action>
        <action>maincpu.mq@2800 = 0000000000000000</action>
        <action>maincpu.mq@2808 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x04">02       </item>
        <item value="0x0c">03 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@08c6 =      param</action> <!-- speed -->
        <action>maincpu.mb@1235 = 02 + param</action> <!-- collision range for flying enemy -->
    </script>
    <script state="off">
        <action>maincpu.mb@08c6 = 04</action>
        <action>maincpu.mb@1235 = 06</action>
    </script>
</cheat>

<cheat desc="no wait next level">
    <script state="on">
        <action>maincpu.mb@1626 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1626 = c0</action>
    </script>
</cheat>

<cheat desc="quick boot (test)">
    <script state="on">
        <action>maincpu.mw@1a9c = 2b18</action> <!-- skip work ram check -->
        <action>maincpu.mw@1acc = 2e18</action> <!-- skip video ram check -->
        <action>maincpu.mw@1b7d = 0f18</action> <!-- skip rom check -->
        <action>maincpu.mb@1bb6 =   00</action> <!-- skip boot sequence in interrupt -->
    </script>
    <script state="off">
        <action>maincpu.mw@1a9c = 200e</action>
        <action>maincpu.mw@1acc = 200e</action>
        <action>maincpu.mw@1b7d = 2c86</action>
        <action>maincpu.mb@1bb6 =   03</action>
    </script>
</cheat>
"no wait next level" is unique. This game has stand-by time between last enemy destruction and next level start. This code discard that time so that next level starts quickly.
"quick boot" is test code. Aliens appear soon after boot sequence instead of score table screen.
Post Reply