Page 1 of 1

[gradius2] Vulcan Venture/Gradius II

Posted: Wed May 04, 2022 12:11 pm
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>