[gradius] Nemesis/Gradius

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

[gradius] Nemesis/Gradius

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="run">
        <action condition="maincpu.pw@1f260 == 0028">maincpu.pw@1f260 = 4e75</action> <!-- enemy : copy from $93760 -->
        <action condition="maincpu.pw@1f2be == 13fc">maincpu.pw@1f2be = 4e75</action> <!-- bullet : copy from $937be -->
        <action condition="maincpu.pw@1dc76 == 13fc">maincpu.pw@1dc76 = 4e75</action> <!-- boss : copy from $92176 -->
        <action condition="maincpu.pw@1ed5a == 47f9">maincpu.pw@1ed5a = 4e75</action> <!-- background : copy from $9325a -->
    </script>
    <script state="off">
        <action condition="maincpu.pw@1f260 == 4e75">maincpu.pw@1f260 = 0028</action>
        <action condition="maincpu.pw@1f2be == 4e75">maincpu.pw@1f2be = 13fc</action>
        <action condition="maincpu.pw@1dc76 == 4e75">maincpu.pw@1dc76 = 13fc</action>
        <action condition="maincpu.pw@1ed5a == 4e75">maincpu.pw@1ed5a = 47f9</action>
    </script>
</cheat>

<cheat desc="no hit - shield">
    <script state="run">
        <action condition="maincpu.pw@1f5e0 == 0028">maincpu.pw@1f5e0 = 4e75</action> <!-- enemy : copy from $93ae0 -->
        <action condition="maincpu.pw@1f95a == 117c">maincpu.pw@1f95a = 4e75</action> <!-- bullet : copy from $93e5a-->
        <action condition="maincpu.pw@149d2 == 6734">maincpu.pw@149d2 = 6034</action> <!-- background : copy from $84ed2 -->
    </script>
    <script state="off">
        <action condition="maincpu.pw@1f5e0 == 4e75">maincpu.pw@1f5e0 = 0028</action>
        <action condition="maincpu.pw@1f95a == 4e75">maincpu.pw@1f95a = 117c</action>
        <action condition="maincpu.pw@149d2 == 6034">maincpu.pw@149d2 = 6734</action>
    </script>
</cheat>

<cheat desc="auto fire - shot">
    <script state="run">
        <action condition="maincpu.pb@15000 == 66">maincpu.pb@15000 = 60</action> <!-- copy from $85500 -->
    </script>
    <script state="off">
        <action condition="maincpu.pb@15000 == 60">maincpu.pb@15000 = 66</action>
    </script>
</cheat>

<cheat desc="auto fire - missile">
    <script state="run">
        <action condition="maincpu.pb@14f6a == 66">maincpu.pb@14f6a = 60</action> <!-- copy from $8546a -->
    </script>
    <script state="off">
        <action condition="maincpu.pb@14f6a == 60">maincpu.pb@14f6a = 66</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0100">02       </item>
        <item value="0x0300">03       </item>
        <item value="0x0500">04       </item>
        <item value="0x0700">05 (fast)</item>
    </parameter>
    <script state="run">
        <action condition="maincpu.pw@140d0 == 3e2b">maincpu.pw@140d0 =             3e3c</action> <!-- x position : copy from $845d0-->
        <action condition="maincpu.pw@14112 == 3e2b">maincpu.pw@14112 =             3e3c</action> <!-- y position : copy from $84612-->
        <action condition="maincpu.pw@1444e == 3a39">maincpu.pq@1444e = 3a3c00004e71cdc5</action> <!-- option : copy from $8494e -->
        <action condition="maincpu.pw@140d0 == 3e3c">maincpu.pw@140d2 =            param</action>
        <action condition="maincpu.pw@14112 == 3e3c">maincpu.pw@14114 =            param</action>
        <action condition="maincpu.pw@1444e == 3a3c">maincpu.pw@14450 =            param</action>
    </script>
    <script state="off">
        <action condition="maincpu.pw@140d0 == 3e3c">maincpu.pd@140d0 =         3e2b000e</action>
        <action condition="maincpu.pw@14112 == 3e3c">maincpu.pd@14112 =         3e2b000e</action>
        <action condition="maincpu.pw@1444e == 3a3c">maincpu.pd@1444e = 3a390007080ecdcd</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set ram/rom check error skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.md@8133a =         000002e0</action> <!-- copy to $10e3a -->
        <action>maincpu.mq@002e0 = 41f90007010043f9</action>
        <action>maincpu.mq@002e8 = 0005e00412001039</action>
        <action>maincpu.mq@002f0 = 0005cc03b20067f4</action>
        <action>maincpu.mq@002f8 = 0c0000fe66025310</action>
        <action>maincpu.mq@00300 = 0c0000fd66025210</action>
        <action>maincpu.mq@00308 = 0c0000f766040410</action>
        <action>maincpu.mq@00310 = 00100c0000fb6604</action>
        <action>maincpu.mq@00318 = 061000100c0000ef</action>
        <action>maincpu.mq@00320 = 6604141060080c01</action>
        <action>maincpu.mq@00328 = 00df6610420212bc</action>
        <action>maincpu.mq@00330 = 000013c20005c001</action>
        <action>maincpu.mq@00338 = 12bc000160aeffff</action>
        <!--
        02e0 | 41f9 0007 0100 : lea    $70100.l,A0 // sound code address
        02e6 | 43f9 0005 e004 : lea    $5e004.l,A1
        02ec | 1200           : move.b D0,D1
        02ee | 1039 0005 cc03 : move.b $5cc03.l,D0 // read input
        02f4 | b200           : cmp.b  D0,D1
        02f6 | 67f4           : beq    $2ec
        02f8 | 0c00 00fe      : cmpi.b #-$2,D0
        02fc | 6602           : bne    $300
        02fe | 5310           : subq.b #1,(A0)     // decrease code -01
        0300 | 0c00 00fd      : cmpi.b #-$3,D0
        0304 | 6602           : bne    $308
        0306 | 5210           : addq.b #1,(A0)     // increase code +01
        0308 | 0c00 00f7      : cmpi.b #-$9,D0
        030c | 6604           : bne    $312
        030e | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
        0312 | 0c00 00fb      : cmpi.b #-$5,D0
        0316 | 6604           : bne    $31c
        0318 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
        031c | 0c00 00ef      : cmpi.b #-$11,D0
        0320 | 6604           : bne    $326
        0322 | 1410           : move.b (A0),D2     // play sound
        0324 | 6008           : bra    $32e
        0326 | 0c01 00df      : cmpi.b #-$21,D1
        032a | 6610           : bne    $33c
        032c | 4202           : clr.b  D2          // stop sound
        032e | 12bc 0000      : move.b #$0,(A1)
        0332 | 13c2 0005 c001 : move.b D2,$5c001.l // send sound code
        0338 | 12bc 0001      : move.b #$1,(A1)
        033c | 60ae           : bra    $2ec
        -->
    </script>
    <script state="run">
        <output format="----- gradius 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="up : increase code +10"              line="13" align="center" />
        <output format="down : decrease 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@70100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@8133a =         00010e56</action>
        <action>maincpu.mq@002e0 = ffffffffffffffff</action>
        <action>maincpu.mq@002e8 = ffffffffffffffff</action>
        <action>maincpu.mq@002f0 = ffffffffffffffff</action>
        <action>maincpu.mq@002f8 = ffffffffffffffff</action>
        <action>maincpu.mq@00300 = ffffffffffffffff</action>
        <action>maincpu.mq@00308 = ffffffffffffffff</action>
        <action>maincpu.mq@00310 = ffffffffffffffff</action>
        <action>maincpu.mq@00318 = ffffffffffffffff</action>
        <action>maincpu.mq@00320 = ffffffffffffffff</action>
        <action>maincpu.mq@00328 = ffffffffffffffff</action>
        <action>maincpu.mq@00330 = ffffffffffffffff</action>
        <action>maincpu.mq@00338 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check error">
    <script state="run">
        <action condition="maincpu.pw@1028c == 000c">maincpu.pw@1028c = 0002</action> <!-- ram : copy from $8028c -->
        <action condition="maincpu.pw@102c6 == 6608">maincpu.pw@102c6 = 4e71</action> <!-- rom : copy from $802c6 -->
    </script>
    <script state="off">
        <action condition="maincpu.pw@1028c == 0002">maincpu.pw@1028c = 000c</action>
        <action condition="maincpu.pw@102c6 == 4e71">maincpu.pw@102c6 = 6608</action>
    </script>
</cheat>
Post Reply