[gradius2] Vulcan Venture/Gradius II

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

[gradius2] Vulcan Venture/Gradius II

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <!-- objects -->
        <action>maincpu.md@6e82 =         6000993c</action>
        <action>maincpu.mq@07c0 = 3e2d00188e680018</action>
        <action>maincpu.mq@07c8 = 0247388066024e75</action>
        <action>maincpu.mq@07d0 = 00150001600066b0</action>
        <!--
        007c0 | 3e2d 0018 : move.w ($18,A5),D7
        007c4 | 8e68 0018 : or.w   ($18,A0),D7
        007c8 | 0247 3880 : andi.w #$3880,D7
        007cc | 6602      : bne    $7d0
        007ce | 4e75      : rts
        007d0 | 0015 0001 : ori.b  #$1,(A5)
        007d4 | 6000 66b0 : bra    $6e86
        -->
        <!-- option hunter -->
        <action>maincpu.mb@a12c = 60</action>
        <!-- background -->
        <action>maincpu.mb@1b385 = fc</action> <!-- player -->
        <action>maincpu.mb@1c4f0 = 60</action> <!-- force field -->
        <action>maincpu.mb@1c5e2 = 60</action> <!-- shield -->
    </script>
    <script state="off">
        <action>maincpu.md@06e82 =         00150001</action>
        <action>maincpu.mq@007c0 = ffffffffffffffff</action>
        <action>maincpu.mq@007c8 = ffffffffffffffff</action>
        <action>maincpu.mq@007d0 = ffffffffffffffff</action>
        <action>maincpu.mb@0a12c =               64</action>
        <action>maincpu.mb@1b385 =               aa</action>
        <action>maincpu.md@1c4f0 =               66</action>
        <action>maincpu.mb@1c5e2 =               66</action>
    </script>
</cheat>

<cheat desc="auto fire - shot">
    <script state="on">
        <action>maincpu.mb@1b58d = 02</action> <!-- normal, double -->
        <action>maincpu.mb@1b793 = 02</action> <!-- ripple laser -->
    </script>
    <script state="off">
        <action>maincpu.mb@1b58d = 06</action>
        <action>maincpu.mb@1b793 = 06</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x05" step="0x01" />
    <script state="on">
        <action>maincpu.mw@1b11a = 323c</action> <!-- ? (move.w #$xx,D1) -->
        <action>maincpu.mw@1b14a = 363c</action> <!-- player (move.w #$xx,D3) -->
        <action>maincpu.mw@1b152 = 363c</action> <!-- option (move.w #$xx,D3) -->
        <action>maincpu.mw@1b1fa = 323c</action> <!-- vertical scroll? (move.w #$xx,D1) -->
    </script>
    <script state="change">
        <action>maincpu.mw@1b11c = (param - 1)         </action>
        <action>maincpu.mw@1b14c = (param - 1)         </action>
        <action>maincpu.mw@1b154 = (param - 1) lshift 4</action>
        <action>maincpu.mw@1b1fc = (param - 1)         </action>
    </script>
    <script state="off">
        <action>maincpu.md@1b11a = 02010007</action>
        <action>maincpu.md@1b14a = 02430007</action>
        <action>maincpu.md@1b152 = 162d002b</action>
        <action>maincpu.md@1b1fa = 02410007</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set ram/rom check skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.md@0127a =         0002bc20</action>
        <action>maincpu.mq@2bc20 = 41f90006010013fc</action>
        <action>maincpu.mq@2bc28 = 0001000a00111200</action>
        <action>maincpu.mq@2bc30 = 1039000a0003b200</action>
        <action>maincpu.mq@2bc38 = 67ec0c0000fe6602</action>
        <action>maincpu.mq@2bc40 = 53100c0000fd6602</action>
        <action>maincpu.mq@2bc48 = 52100c0000f76604</action>
        <action>maincpu.mq@2bc50 = 041000100c0000fb</action>
        <action>maincpu.mq@2bc58 = 6604061000100c00</action>
        <action>maincpu.mq@2bc60 = 00ef660414106008</action>
        <action>maincpu.mq@2bc68 = 0c0000df660e4202</action>
        <action>maincpu.mq@2bc70 = 13c2000a00094eb9</action>
        <action>maincpu.mq@2bc78 = 0000e90860a8ffff</action>
        <!--
        2bc20 | 41f9 0006 0100      : lea    $60100.l,A0  // sound code address
        2bc26 | 13fc 0001 000a 0011 : move.b #$1,$a0011.l // watchdog
        2bc2e | 1200                : move.b D0,D1
        2bc30 | 1039 000a 0003      : move.b $a0003.l,D0  // read input
        2bc36 | b200                : cmp.b  D0,D1
        2bc38 | 67ec                : beq    $2bc26
        2bc3a | 0c00 00fe           : cmpi.b #-$2,D0
        2bc3e | 6602                : bne    $2bc42
        2bc40 | 5310                : subq.b #1,(A0)      // decrease code -01
        2bc42 | 0c00 00fd           : cmpi.b #-$3,D0
        2bc46 | 6602                : bne    $2bc4a
        2bc48 | 5210                : addq.b #1,(A0)      // increase code +01
        2bc4a | 0c00 00f7           : cmpi.b #-$9,D0
        2bc4e | 6604                : bne    $2bc54
        2bc50 | 0410 0010           : subi.b #$10,(A0)    // decrease code -10
        2bc54 | 0c00 00fb           : cmpi.b #-$5,D0
        2bc58 | 6604                : bne    $2bc5e
        2bc5a | 0610 0010           : addi.b #$10,(A0)    // increase code +10
        2bc5e | 0c00 00ef           : cmpi.b #-$11,D0
        2bc62 | 6604                : bne    $2bc68
        2bc64 | 1410                : move.b (A0),D2      // play sound
        2bc66 | 6008                : bra    $2bc70
        2bc68 | 0c00 00df           : cmpi.b #-$21,D0
        2bc6c | 660e                : bne    $2bc7c
        2bc6e | 4202                : clr.b  D2           // stop sound
        2bc70 | 13c2 000a 0009      : move.b D2,$a0009.l  // send sound code
        2bc76 | 4eb9 0000 e908      : jsr    $e908.l      // sound cpu trigger
        2bc7c | 60a8                : bra    $2bc26
        -->
    </script>
    <script state="run">
        <output format="----- gradius II 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@60100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@0127a =         00001524</action>
        <action>maincpu.mq@2bc20 = ffffffffffffffff</action>
        <action>maincpu.mq@2bc28 = ffffffffffffffff</action>
        <action>maincpu.mq@2bc30 = ffffffffffffffff</action>
        <action>maincpu.mq@2bc38 = ffffffffffffffff</action>
        <action>maincpu.mq@2bc40 = ffffffffffffffff</action>
        <action>maincpu.mq@2bc48 = ffffffffffffffff</action>
        <action>maincpu.mq@2bc50 = ffffffffffffffff</action>
        <action>maincpu.mq@2bc58 = ffffffffffffffff</action>
        <action>maincpu.mq@2bc60 = ffffffffffffffff</action>
        <action>maincpu.mq@2bc68 = ffffffffffffffff</action>
        <action>maincpu.mq@2bc70 = ffffffffffffffff</action>
        <action>maincpu.mq@2bc78 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.mw@1052 = 1054</action>
    </script>
    <script state="off">
        <action>maincpu.mw@1052 = 175a</action>
    </script>
</cheat>
Post Reply