[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: 1318
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 10 times

[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>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1318
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 10 times

[vulcan]+ Vulcan Venture/Gradius II

Post by jman »

vulcan.xml

Code: Select all

<!-- Vulcan Venture (New) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- objects -->
            <action>maincpu.md@6E22 = 6000999C        </action>
            <action>maincpu.mq@07C0 = 3E2D00188E680018</action>
            <action>maincpu.mq@07C8 = 0247388066024E75</action>
            <action>maincpu.mq@07D0 = 0015000160006650</action>
            <!--
            07C0 | 3E2D 0018 : move.w  ($18,A5), D7
            07C4 | 8E68 0018 : or.w    ($18,A0), D7
            07C8 | 0247 3880 : andi.w  #$3880, D7
            07CC | 6602      : bne     $7d0
            07CE | 4E75      : rts
            07D0 | 0015 0001 : ori.b   #$1, (A5)
            07D4 | 6000 6650 : bra     $6e26
            -->
            <!-- option hunter -->
            <action>maincpu.mb@A0CC = 60</action>
            <!-- background -->
            <action>maincpu.mb@1B339 = 9C</action> <!-- player -->
            <action>maincpu.mb@1C4A4 = 60</action> <!-- force field -->
            <action>maincpu.mb@1C596 = 60</action> <!-- shield -->
        </script>
        <script state="off">
            <action>maincpu.md@06E22 = 00150001        </action>
            <action>maincpu.mq@007C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@007C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@007D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mb@0A0CC = 4A              </action>
            <action>maincpu.mb@1B339 = AA              </action>
            <action>maincpu.md@1C4A4 = 66              </action>
            <action>maincpu.mb@1C596 = 66              </action>
        </script>
    </cheat>

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

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@1B0CE = 323C</action> <!-- ? -->
            <action>maincpu.mw@1B0FE = 363C</action> <!-- player -->
            <action>maincpu.mw@1B106 = 363C</action> <!-- multiples -->
            <action>maincpu.mw@1B1AE = 323C</action> <!-- vertical scroll? -->
        </script>
        <script state="change">
            <action>maincpu.mw@1B0D0 = (param - 1)         </action>
            <action>maincpu.mw@1B100 = (param - 1)         </action>
            <action>maincpu.mw@1B108 = (param - 1) lshift 4</action>
            <action>maincpu.mw@1B1B0 = (param - 1)         </action>
        </script>
        <script state="off">
            <action>maincpu.md@1B0CE = 02010007</action>
            <action>maincpu.md@1B1FE = 02430007</action>
            <action>maincpu.md@1B106 = 162D002B</action>
            <action>maincpu.md@1B1AE = 02410007</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@01220 = 0002BBD0        </action>
            <action>maincpu.mq@2BBD0 = 41F90006000043F9</action>
            <action>maincpu.mq@2BBD8 = 000A0009137C0001</action>
            <action>maincpu.mq@2BBE0 = 000812001029FFFA</action>
            <action>maincpu.mq@2BBE8 = B20067F00C0000FE</action>
            <action>maincpu.mq@2BBF0 = 660253100C0000FD</action>
            <action>maincpu.mq@2BBF8 = 660252100C0000F7</action>
            <action>maincpu.mq@2BC00 = 6604041000100C00</action>
            <action>maincpu.mq@2BC08 = 00FB660406100010</action>
            <action>maincpu.mq@2BC10 = 0C0000EF66041290</action>
            <action>maincpu.mq@2BC18 = 60080C0000DF6608</action>
            <action>maincpu.mq@2BC20 = 42114EB90000E8A8</action>
            <action>maincpu.mq@2BC28 = 60B2FFFFFFFFFFFF</action>
            <!--
            2BBD0 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            2BBD6 | 43F9 000A 0009 : lea     $a0009.l, A1 // sound latch address
            2BBDC | 137C 0001 0008 : move.b  #$1, ($8,A1) // watchdog ($a0011)
            2BBE2 | 1200           : move.b  D0, D1
            2BBE4 | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($a0003)
            2BBE8 | B200           : cmp.b   D0, D1
            2BBEA | 67F0           : beq     $2bbdc
            2BBEC | 0C00 00FE      : cmpi.b  #-$2, D0
            2BBF0 | 6602           : bne     $2bbf4
            2BBF2 | 5310           : subq.b  #1, (A0)     // decrease code -01
            2BBF4 | 0C00 00FD      : cmpi.b  #-$3, D0
            2BBF8 | 6602           : bne     $2bbfc
            2BBFA | 5210           : addq.b  #1, (A0)     // increase code +01
            2BBFC | 0C00 00F7      : cmpi.b  #-$9, D0
            2BC00 | 6604           : bne     $2bc06
            2BC02 | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            2BC06 | 0C00 00FB      : cmpi.b  #-$5, D0
            2BC0A | 6604           : bne     $2bc10
            2BC0C | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2BC10 | 0C00 00EF      : cmpi.b  #-$11, D0
            2BC14 | 6604           : bne     $2bc1a
            2BC16 | 1290           : move.b  (A0), (A1)   // play sound
            2BC18 | 6008           : bra     $2bc22
            2BC1A | 0C00 00DF      : cmpi.b  #-$21, D0
            2BC1E | 6608           : bne     $2bc28
            2BC20 | 4211           : clr.b   (A1)         // stop sound
            2BC22 | 4EB9 0000 E8A8 : jsr     $e8a8.l      // audio cpu trigger
            2BC28 | 60B2           : bra     $2bbdc
            -->
        </script>
        <script state="run">
            <output format="----- vulcan venture 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="down : decrease code -10"                   line="13" align="center" />
            <output format="up : increase 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 %02X &gt;&gt;"          line="19" align="center">
                <argument>maincpu.pb@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@01220 = 000014CA        </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@10D8 = 600C</action> <!-- skip cross-hatch -->
            <action>maincpu.mw@17CA = 1054</action> <!-- skip rom check -->
            <action>maincpu.mw@1984 = 6012</action> <!-- skip ram error -->
            <action>maincpu.mw@19B2 = 6008</action> <!-- initialize ram -->
        </script>
        <script state="off">
            <action>maincpu.mw@10D8 = 66FC</action>
            <action>maincpu.mw@17CA = 1A02</action>
            <action>maincpu.mw@1984 = 6712</action>
            <action>maincpu.mw@19B2 = 6708</action>
        </script>
    </cheat>

</mamecheat>
vulcana.xml

Code: Select all

<!-- Vulcan Venture (Old) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- objects -->
            <action>maincpu.md@6E22 = 6000999C        </action>
            <action>maincpu.mq@07C0 = 3E2D00188E680018</action>
            <action>maincpu.mq@07C8 = 0247388066024E75</action>
            <action>maincpu.mq@07D0 = 0015000160006650</action>
            <!--
            07C0 | 3E2D 0018 : move.w  ($18,A5), D7
            07C4 | 8E68 0018 : or.w    ($18,A0), D7
            07C8 | 0247 3880 : andi.w  #$3880, D7
            07CC | 6602      : bne     $7d0
            07CE | 4E75      : rts
            07D0 | 0015 0001 : ori.b   #$1, (A5)
            07D4 | 6000 6650 : bra     $6e26
            -->
            <!-- option hunter -->
            <action>maincpu.mb@A0CC = 60</action>
            <!-- background -->
            <action>maincpu.mb@1B34F = 9C</action> <!-- player -->
            <action>maincpu.mb@1C4BA = 60</action> <!-- force field -->
            <action>maincpu.mb@1C5AC = 60</action> <!-- shield -->
        </script>
        <script state="off">
            <action>maincpu.md@06E22 = 00150001        </action>
            <action>maincpu.mq@007C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@007C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@007D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mb@0A0CC = 64              </action>
            <action>maincpu.mb@1B34F = 4A              </action>
            <action>maincpu.md@1C4BA = 66              </action>
            <action>maincpu.mb@1C5AC = 66              </action>
        </script>
    </cheat>

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

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@1B0E4 = 323C</action> <!-- ? -->
            <action>maincpu.mw@1B114 = 363C</action> <!-- player -->
            <action>maincpu.mw@1B11C = 363C</action> <!-- multiples -->
            <action>maincpu.mw@1B1C4 = 323C</action> <!-- vertical scroll? -->
        </script>
        <script state="change">
            <action>maincpu.mw@1B0E6 = (param - 1)         </action>
            <action>maincpu.mw@1B116 = (param - 1)         </action>
            <action>maincpu.mw@1B11E = (param - 1) lshift 4</action>
            <action>maincpu.mw@1B1C6 = (param - 1)         </action>
        </script>
        <script state="off">
            <action>maincpu.md@1B0E4 = 02010007</action>
            <action>maincpu.md@1B114 = 02430007</action>
            <action>maincpu.md@1B11C = 162D002B</action>
            <action>maincpu.md@1B1C4 = 02410007</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@01220 = 0002BBE0        </action>
            <action>maincpu.mq@2BBE0 = 41F90006000043F9</action>
            <action>maincpu.mq@2BBE8 = 000A0009137C0001</action>
            <action>maincpu.mq@2BBF0 = 000812001029FFFA</action>
            <action>maincpu.mq@2BBF8 = B20067F00C0000FE</action>
            <action>maincpu.mq@2BC00 = 660253100C0000FD</action>
            <action>maincpu.mq@2BC08 = 660252100C0000F7</action>
            <action>maincpu.mq@2BC10 = 6604041000100C00</action>
            <action>maincpu.mq@2BC18 = 00FB660406100010</action>
            <action>maincpu.mq@2BC20 = 0C0000EF66041290</action>
            <action>maincpu.mq@2BC28 = 60080C0000DF6608</action>
            <action>maincpu.mq@2BC30 = 42114EB90000E8A8</action>
            <action>maincpu.mq@2BC38 = 60B2FFFFFFFFFFFF</action>
            <!--
            2BBE0 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            2BBE6 | 43F9 000A 0009 : lea     $a0009.l, A1 // sound latch address
            2BBEC | 137C 0001 0008 : move.b  #$1, ($8,A1) // watchdog ($a0011)
            2BBF2 | 1200           : move.b  D0, D1
            2BBF4 | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($a0003)
            2BBF8 | B200           : cmp.b   D0, D1
            2BBFA | 67F0           : beq     $2bbec
            2BBFC | 0C00 00FE      : cmpi.b  #-$2, D0
            2BC00 | 6602           : bne     $2bbc4
            2BC02 | 5310           : subq.b  #1, (A0)     // decrease code -01
            2BC04 | 0C00 00FD      : cmpi.b  #-$3, D0
            2BC08 | 6602           : bne     $2bb0c
            2BC0A | 5210           : addq.b  #1, (A0)     // increase code +01
            2BC0C | 0C00 00F7      : cmpi.b  #-$9, D0
            2BC10 | 6604           : bne     $2bc16
            2BC12 | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            2BC16 | 0C00 00FB      : cmpi.b  #-$5, D0
            2BC1A | 6604           : bne     $2bc20
            2BC1C | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2BC20 | 0C00 00EF      : cmpi.b  #-$11, D0
            2BC24 | 6604           : bne     $2bc2a
            2BC26 | 1290           : move.b  (A0), (A1)   // play sound
            2BC28 | 6008           : bra     $2bc32
            2BC2A | 0C00 00DF      : cmpi.b  #-$21, D0
            2BC2E | 6608           : bne     $2bc38
            2BC30 | 4211           : clr.b   (A1)         // stop sound
            2BC32 | 4EB9 0000 E8A8 : jsr     $e8a8.l      // audio cpu trigger
            2BC38 | 60B2           : bra     $2bbec
            -->
        </script>
        <script state="run">
            <output format="----- vulcan venture 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="down : decrease code -10"                   line="13" align="center" />
            <output format="up : increase 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 %02X &gt;&gt;"          line="19" align="center">
                <argument>maincpu.pb@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@01220 = 000014CA        </action>
            <action>maincpu.mq@2BBE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BBE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BBF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BBF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BC00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BC08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BC10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BC18 = FFFFFFFFFFFFFFFF</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>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@10D8 = 600C</action> <!-- skip cross-hatch -->
            <action>maincpu.mw@17CA = 1054</action> <!-- skip rom check -->
            <action>maincpu.mw@1984 = 6012</action> <!-- skip ram error -->
            <action>maincpu.mw@19B2 = 6008</action> <!-- initialize ram -->
        </script>
        <script state="off">
            <action>maincpu.mw@10D8 = 66FC</action>
            <action>maincpu.mw@17CA = 1A02</action>
            <action>maincpu.mw@1984 = 6712</action>
            <action>maincpu.mw@19B2 = 6708</action>
        </script>
    </cheat>

</mamecheat>
vulcanb.xml

Code: Select all

<!-- Vulcan Venture (Oldest) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- objects -->
            <action>maincpu.md@6E22 = 6000999C        </action>
            <action>maincpu.mq@07C0 = 3E2D00188E680018</action>
            <action>maincpu.mq@07C8 = 0247388066024E75</action>
            <action>maincpu.mq@07D0 = 0015000160006650</action>
            <!--
            07C0 | 3E2D 0018 : move.w  ($18,A5), D7
            07C4 | 8E68 0018 : or.w    ($18,A0), D7
            07C8 | 0247 3880 : andi.w  #$3880, D7
            07CC | 6602      : bne     $7d0
            07CE | 4E75      : rts
            07D0 | 0015 0001 : ori.b   #$1, (A5)
            07D4 | 6000 6650 : bra     $6e26
            -->
            <!-- option hunter -->
            <action>maincpu.mb@A0CC = 60</action>
            <!-- background -->
            <action>maincpu.mb@1B34F = 9C</action> <!-- player -->
            <action>maincpu.mb@1C4BA = 60</action> <!-- force field -->
            <action>maincpu.mb@1C5AC = 60</action> <!-- shield -->
        </script>
        <script state="off">
            <action>maincpu.md@06E22 = 00150001        </action>
            <action>maincpu.mq@007C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@007C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@007D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mb@0A0CC = 64              </action>
            <action>maincpu.mb@1B34F = 4A              </action>
            <action>maincpu.md@1C4BA = 66              </action>
            <action>maincpu.mb@1C5AC = 66              </action>
        </script>
    </cheat>

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

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@1B0E4 = 323C</action> <!-- ? -->
            <action>maincpu.mw@1B114 = 363C</action> <!-- player -->
            <action>maincpu.mw@1B11C = 363C</action> <!-- multiples -->
            <action>maincpu.mw@1B1C4 = 323C</action> <!-- vertical scroll? -->
        </script>
        <script state="change">
            <action>maincpu.mw@1B0E6 = (param - 1)         </action>
            <action>maincpu.mw@1B116 = (param - 1)         </action>
            <action>maincpu.mw@1B11E = (param - 1) lshift 4</action>
            <action>maincpu.mw@1B1C6 = (param - 1)         </action>
        </script>
        <script state="off">
            <action>maincpu.md@1B0E4 = 02010007</action>
            <action>maincpu.md@1B114 = 02430007</action>
            <action>maincpu.md@1B11C = 162D002B</action>
            <action>maincpu.md@1B1C4 = 02410007</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@01220 = 0002BBE0        </action>
            <action>maincpu.mq@2BBE0 = 41F90006000043F9</action>
            <action>maincpu.mq@2BBE8 = 000A0009137C0001</action>
            <action>maincpu.mq@2BBF0 = 000812001029FFFA</action>
            <action>maincpu.mq@2BBF8 = B20067F00C0000FE</action>
            <action>maincpu.mq@2BC00 = 660253100C0000FD</action>
            <action>maincpu.mq@2BC08 = 660252100C0000F7</action>
            <action>maincpu.mq@2BC10 = 6604041000100C00</action>
            <action>maincpu.mq@2BC18 = 00FB660406100010</action>
            <action>maincpu.mq@2BC20 = 0C0000EF66041290</action>
            <action>maincpu.mq@2BC28 = 60080C0000DF6608</action>
            <action>maincpu.mq@2BC30 = 42114EB90000E8A8</action>
            <action>maincpu.mq@2BC38 = 60B2FFFFFFFFFFFF</action>
            <!--
            2BBE0 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            2BBE6 | 43F9 000A 0009 : lea     $a0009.l, A1 // sound latch address
            2BBEC | 137C 0001 0008 : move.b  #$1, ($8,A1) // watchdog ($a0011)
            2BBF2 | 1200           : move.b  D0, D1
            2BBF4 | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($a0003)
            2BBF8 | B200           : cmp.b   D0, D1
            2BBFA | 67F0           : beq     $2bbec
            2BBFC | 0C00 00FE      : cmpi.b  #-$2, D0
            2BC00 | 6602           : bne     $2bbc4
            2BC02 | 5310           : subq.b  #1, (A0)     // decrease code -01
            2BC04 | 0C00 00FD      : cmpi.b  #-$3, D0
            2BC08 | 6602           : bne     $2bb0c
            2BC0A | 5210           : addq.b  #1, (A0)     // increase code +01
            2BC0C | 0C00 00F7      : cmpi.b  #-$9, D0
            2BC10 | 6604           : bne     $2bc16
            2BC12 | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            2BC16 | 0C00 00FB      : cmpi.b  #-$5, D0
            2BC1A | 6604           : bne     $2bc20
            2BC1C | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2BC20 | 0C00 00EF      : cmpi.b  #-$11, D0
            2BC24 | 6604           : bne     $2bc2a
            2BC26 | 1290           : move.b  (A0), (A1)   // play sound
            2BC28 | 6008           : bra     $2bc32
            2BC2A | 0C00 00DF      : cmpi.b  #-$21, D0
            2BC2E | 6608           : bne     $2bc38
            2BC30 | 4211           : clr.b   (A1)         // stop sound
            2BC32 | 4EB9 0000 E8A8 : jsr     $e8a8.l      // audio cpu trigger
            2BC38 | 60B2           : bra     $2bbec
            -->
        </script>
        <script state="run">
            <output format="----- vulcan venture 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="down : decrease code -10"                   line="13" align="center" />
            <output format="up : increase 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 %02X &gt;&gt;"          line="19" align="center">
                <argument>maincpu.pb@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@01220 = 000014CA        </action>
            <action>maincpu.mq@2BBE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BBE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BBF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BBF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BC00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BC08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BC10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BC18 = FFFFFFFFFFFFFFFF</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>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@10D8 = 600C</action> <!-- skip cross-hatch -->
            <action>maincpu.mw@17CA = 1054</action> <!-- skip rom check -->
            <action>maincpu.mw@1984 = 6012</action> <!-- skip ram error -->
            <action>maincpu.mw@19B2 = 6008</action> <!-- initialize ram -->
        </script>
        <script state="off">
            <action>maincpu.mw@10D8 = 66FC</action>
            <action>maincpu.mw@17CA = 1A02</action>
            <action>maincpu.mw@1984 = 6712</action>
            <action>maincpu.mw@19B2 = 6708</action>
        </script>
    </cheat>

</mamecheat>
gradius2.xml

Code: Select all

<!-- Gradius II - GOFER no Yabou (Japan New Ver.) -->
<mamecheat version="1">

    <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>
            <!--
            07C0 | 3E2D 0018 : move.w  ($18,A5), D7
            07C4 | 8E68 0018 : or.w    ($18,A0), D7
            07C8 | 0247 3880 : andi.w  #$3880, D7
            07CC | 6602      : bne     $7d0
            07CE | 4E75      : rts
            07D0 | 0015 0001 : ori.b   #$1, (A5)
            07D4 | 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> <!-- ? -->
            <action>maincpu.mw@1B14A = 363C</action> <!-- player -->
            <action>maincpu.mw@1B152 = 363C</action> <!-- options -->
            <action>maincpu.mw@1B1FA = 323C</action> <!-- vertical scroll? -->
        </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 &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@0127A = 0002BC20        </action>
            <action>maincpu.mq@2BC20 = 41F90006000043F9</action>
            <action>maincpu.mq@2BC28 = 000A0009137C0001</action>
            <action>maincpu.mq@2BC30 = 000812001029FFFA</action>
            <action>maincpu.mq@2BC38 = B20067F00C0000FE</action>
            <action>maincpu.mq@2BC40 = 660253100C0000FD</action>
            <action>maincpu.mq@2BC48 = 660252100C0000F7</action>
            <action>maincpu.mq@2BC50 = 6604041000100C00</action>
            <action>maincpu.mq@2BC58 = 00FB660406100010</action>
            <action>maincpu.mq@2BC60 = 0C0000EF66041290</action>
            <action>maincpu.mq@2BC68 = 60080C0000DF6608</action>
            <action>maincpu.mq@2BC70 = 42114EB90000E908</action>
            <action>maincpu.mq@2BC78 = 60B2FFFFFFFFFFFF</action>
            <!--
            2BC20 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            2BC26 | 43F9 000A 0009 : lea     $a0009.l, A1 // sound latch address
            2BC2C | 137C 0001 0008 : move.b  #$1, ($8,A1) // watchdog ($a0011)
            2BC32 | 1200           : move.b  D0, D1
            2BC34 | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($a0003)
            2BC38 | B200           : cmp.b   D0, D1
            2BC3A | 67F0           : beq     $2bc2c
            2BC3C | 0C00 00FE      : cmpi.b  #-$2, D0
            2BC40 | 6602           : bne     $2bc44
            2BC42 | 5310           : subq.b  #1, (A0)     // decrease code -01
            2BC44 | 0C00 00FD      : cmpi.b  #-$3, D0
            2BC48 | 6602           : bne     $2bc4c
            2BC4A | 5210           : addq.b  #1, (A0)     // increase code +01
            2BC4C | 0C00 00F7      : cmpi.b  #-$9, D0
            2BC50 | 6604           : bne     $2bc56
            2BC52 | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            2BC56 | 0C00 00FB      : cmpi.b  #-$5, D0
            2BC5A | 6604           : bne     $2bc60
            2BC5C | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2BC60 | 0C00 00EF      : cmpi.b  #-$11, D0
            2BC64 | 6604           : bne     $2bc6a
            2BC66 | 1290           : move.b  (A0), (A1)   // play sound
            2BC68 | 6008           : bra     $2bc72
            2BC6A | 0C00 00DF      : cmpi.b  #-$21, D0
            2BC6E | 6608           : bne     $2bc78
            2BC70 | 4211           : clr.b   (A1)         // stop sound
            2BC72 | 4EB9 0000 E908 : jsr     $e908.l      // audio cpu trigger
            2BC78 | 60B2           : bra     $2bc2c
            -->
        </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="down : decrease code -10"               line="13" align="center" />
            <output format="up : increase 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 %02X &gt;&gt;"      line="19" align="center">
                <argument>maincpu.pb@60000</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@10D8 = 600C</action> <!-- skip cross-hatch -->
            <action>maincpu.mw@1824 = 1054</action> <!-- skip rom check -->
            <action>maincpu.mw@19DE = 6012</action> <!-- skip ram error -->
            <action>maincpu.mw@1A0C = 6008</action> <!-- initialize ram -->
        </script>
        <script state="off">
            <action>maincpu.mw@10D8 = 66FC</action>
            <action>maincpu.mw@1824 = 1A5C</action>
            <action>maincpu.mw@19DE = 6712</action>
            <action>maincpu.mw@1A0C = 6708</action>
        </script>
    </cheat>

</mamecheat>
gradius2a.xml

Code: Select all

<!-- Gradius II - GOFER no Yabou (Japan Old Ver.) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- objects -->
            <action>maincpu.md@6E7C = 60009942        </action>
            <action>maincpu.mq@07C0 = 3E2D00188E680018</action>
            <action>maincpu.mq@07C8 = 0247388066024E75</action>
            <action>maincpu.mq@07D0 = 00150001600066AA</action>
            <!--
            07C0 | 3E2D 0018 : move.w  ($18,A5), D7
            07C4 | 8E68 0018 : or.w    ($18,A0), D7
            07C8 | 0247 3880 : andi.w  #$3880, D7
            07CC | 6602      : bne     $7d0
            07CE | 4E75      : rts
            07D0 | 0015 0001 : ori.b   #$1, (A5)
            07D4 | 6000 66AA : bra     $6e80
            -->
            <!-- option hunter -->
            <action>maincpu.mb@A126 = 60</action>
            <!-- background -->
            <action>maincpu.mb@1B395 = F6</action> <!-- player -->
            <action>maincpu.mb@1C500 = 60</action> <!-- force field -->
            <action>maincpu.mb@1C5F2 = 60</action> <!-- shield -->
        </script>
        <script state="off">
            <action>maincpu.md@06E7C = 00150001        </action>
            <action>maincpu.mq@007C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@007C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@007D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mb@0A126 = 64              </action>
            <action>maincpu.mb@1B385 = A4              </action>
            <action>maincpu.md@1C500 = 66              </action>
            <action>maincpu.mb@1C5F2 = 66              </action>
        </script>
    </cheat>

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

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@1B12A = 323C</action> <!-- ? -->
            <action>maincpu.mw@1B15A = 363C</action> <!-- player -->
            <action>maincpu.mw@1B162 = 363C</action> <!-- options -->
            <action>maincpu.mw@1B20A = 323C</action> <!-- vertical scroll? -->
        </script>
        <script state="change">
            <action>maincpu.mw@1B12C = (param - 1)         </action>
            <action>maincpu.mw@1B15C = (param - 1)         </action>
            <action>maincpu.mw@1B164 = (param - 1) lshift 4</action>
            <action>maincpu.mw@1B20C = (param - 1)         </action>
        </script>
        <script state="off">
            <action>maincpu.md@1B12A = 02010007</action>
            <action>maincpu.md@1B15A = 02430007</action>
            <action>maincpu.md@1B162 = 162D002B</action>
            <action>maincpu.md@1B20A = 02410007</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@0127A = 0002BC30        </action>
            <action>maincpu.mq@2BC30 = 41F90006000043F9</action>
            <action>maincpu.mq@2BC38 = 000A0009137C0001</action>
            <action>maincpu.mq@2BC40 = 000812001029FFFA</action>
            <action>maincpu.mq@2BC48 = B20067F00C0000FE</action>
            <action>maincpu.mq@2BC50 = 660253100C0000FD</action>
            <action>maincpu.mq@2BC58 = 660252100C0000F7</action>
            <action>maincpu.mq@2BC60 = 6604041000100C00</action>
            <action>maincpu.mq@2BC68 = 00FB660406100010</action>
            <action>maincpu.mq@2BC70 = 0C0000EF66041290</action>
            <action>maincpu.mq@2BC78 = 60080C0000DF6608</action>
            <action>maincpu.mq@2BC80 = 42114EB90000E902</action>
            <action>maincpu.mq@2BC88 = 60B2FFFFFFFFFFFF</action>
            <!--
            2BC30 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            2BC36 | 43F9 000A 0009 : lea     $a0009.l, A1 // sound latch address
            2BC3C | 137C 0001 0008 : move.b  #$1, ($8,A1) // watchdog ($a0011)
            2BC42 | 1200           : move.b  D0, D1
            2BC44 | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($a0003)
            2BC48 | B200           : cmp.b   D0, D1
            2BC4A | 67F0           : beq     $2bc3c
            2BC4C | 0C00 00FE      : cmpi.b  #-$2, D0
            2BC50 | 6602           : bne     $2bc54
            2BC52 | 5310           : subq.b  #1, (A0)     // decrease code -01
            2BC54 | 0C00 00FD      : cmpi.b  #-$3, D0
            2BC58 | 6602           : bne     $2bc5c
            2BC5A | 5210           : addq.b  #1, (A0)     // increase code +01
            2BC5C | 0C00 00F7      : cmpi.b  #-$9, D0
            2BC60 | 6604           : bne     $2bc66
            2BC62 | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            2BC66 | 0C00 00FB      : cmpi.b  #-$5, D0
            2BC6A | 6604           : bne     $2bc70
            2BC6C | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2BC70 | 0C00 00EF      : cmpi.b  #-$11, D0
            2BC74 | 6604           : bne     $2bc7a
            2BC76 | 1290           : move.b  (A0), (A1)   // play sound
            2BC78 | 6008           : bra     $2bc82
            2BC7A | 0C00 00DF      : cmpi.b  #-$21, D0
            2BC7E | 6608           : bne     $2bc88
            2BC80 | 4211           : clr.b   (A1)         // stop sound
            2BC82 | 4EB9 0000 E902 : jsr     $e902.l      // audio cpu trigger
            2BC88 | 60B2           : bra     $2bc3c
            -->
        </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="down : decrease code -10"               line="13" align="center" />
            <output format="up : increase 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 %02X &gt;&gt;"      line="19" align="center">
                <argument>maincpu.pb@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0127A = 00001524        </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>
            <action>maincpu.mq@2BC80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BC88 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@10D8 = 600C</action> <!-- skip cross-hatch -->
            <action>maincpu.mw@1824 = 1054</action> <!-- skip rom check -->
            <action>maincpu.mw@19DE = 6012</action> <!-- skip ram error -->
            <action>maincpu.mw@1A0C = 6008</action> <!-- initialize ram -->
        </script>
        <script state="off">
            <action>maincpu.mw@10D8 = 66FC</action>
            <action>maincpu.mw@1824 = 1A5C</action>
            <action>maincpu.mw@19DE = 6712</action>
            <action>maincpu.mw@1A0C = 6708</action>
        </script>
    </cheat>

</mamecheat>
gradius2b.xml

Code: Select all

<!-- Gradius II - GOFER no Yabou (Japan Older Ver.) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- objects -->
            <action>maincpu.md@6E7C = 60009942        </action>
            <action>maincpu.mq@07C0 = 3E2D00188E680018</action>
            <action>maincpu.mq@07C8 = 0247388066024E75</action>
            <action>maincpu.mq@07D0 = 00150001600066AA</action>
            <!--
            07C0 | 3E2D 0018 : move.w  ($18,A5), D7
            07C4 | 8E68 0018 : or.w    ($18,A0), D7
            07C8 | 0247 3880 : andi.w  #$3880, D7
            07CC | 6602      : bne     $7d0
            07CE | 4E75      : rts
            07D0 | 0015 0001 : ori.b   #$1, (A5)
            07D4 | 6000 66AA : bra     $6e80
            -->
            <!-- option hunter -->
            <action>maincpu.mb@A126 = 60</action>
            <!-- background -->
            <action>maincpu.mb@1B395 = F6</action> <!-- player -->
            <action>maincpu.mb@1C500 = 60</action> <!-- force field -->
            <action>maincpu.mb@1C5F2 = 60</action> <!-- shield -->
        </script>
        <script state="off">
            <action>maincpu.md@06E7C = 00150001        </action>
            <action>maincpu.mq@007C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@007C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@007D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mb@0A126 = 64              </action>
            <action>maincpu.mb@1B395 = A4              </action>
            <action>maincpu.md@1C500 = 66              </action>
            <action>maincpu.mb@1C5F2 = 66              </action>
        </script>
    </cheat>

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

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mw@1B12A = 323C</action> <!-- ? -->
            <action>maincpu.mw@1B15A = 363C</action> <!-- player -->
            <action>maincpu.mw@1B162 = 363C</action> <!-- options -->
            <action>maincpu.mw@1B20A = 323C</action> <!-- vertical scroll? -->
        </script>
        <script state="change">
            <action>maincpu.mw@1B12C = (param - 1)         </action>
            <action>maincpu.mw@1B15C = (param - 1)         </action>
            <action>maincpu.mw@1B164 = (param - 1) lshift 4</action>
            <action>maincpu.mw@1B20C = (param - 1)         </action>
        </script>
        <script state="off">
            <action>maincpu.md@1B12A = 02010007</action>
            <action>maincpu.md@1B15A = 02430007</action>
            <action>maincpu.md@1B162 = 162D002B</action>
            <action>maincpu.md@1B20A = 02410007</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@0127A = 0002BC30        </action>
            <action>maincpu.mq@2BC30 = 41F90006000043F9</action>
            <action>maincpu.mq@2BC38 = 000A0009137C0001</action>
            <action>maincpu.mq@2BC40 = 000812001029FFFA</action>
            <action>maincpu.mq@2BC48 = B20067F00C0000FE</action>
            <action>maincpu.mq@2BC50 = 660253100C0000FD</action>
            <action>maincpu.mq@2BC58 = 660252100C0000F7</action>
            <action>maincpu.mq@2BC60 = 6604041000100C00</action>
            <action>maincpu.mq@2BC68 = 00FB660406100010</action>
            <action>maincpu.mq@2BC70 = 0C0000EF66041290</action>
            <action>maincpu.mq@2BC78 = 60080C0000DF6608</action>
            <action>maincpu.mq@2BC80 = 42114EB90000E902</action>
            <action>maincpu.mq@2BC88 = 60B2FFFFFFFFFFFF</action>
            <!--
            2BC30 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            2BC36 | 43F9 000A 0009 : lea     $a0009.l, A1 // sound latch address
            2BC3C | 137C 0001 0008 : move.b  #$1, ($8,A1) // watchdog ($a0011)
            2BC42 | 1200           : move.b  D0, D1
            2BC44 | 1029 FFFA      : move.b  (-$6,A1), D0 // read input ($a0003)
            2BC48 | B200           : cmp.b   D0, D1
            2BC4A | 67F0           : beq     $2bc3c
            2BC4C | 0C00 00FE      : cmpi.b  #-$2, D0
            2BC50 | 6602           : bne     $2bc54
            2BC52 | 5310           : subq.b  #1, (A0)     // decrease code -01
            2BC54 | 0C00 00FD      : cmpi.b  #-$3, D0
            2BC58 | 6602           : bne     $2bc5c
            2BC5A | 5210           : addq.b  #1, (A0)     // increase code +01
            2BC5C | 0C00 00F7      : cmpi.b  #-$9, D0
            2BC60 | 6604           : bne     $2bc66
            2BC62 | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            2BC66 | 0C00 00FB      : cmpi.b  #-$5, D0
            2BC6A | 6604           : bne     $2bc70
            2BC6C | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2BC70 | 0C00 00EF      : cmpi.b  #-$11, D0
            2BC74 | 6604           : bne     $2bc7a
            2BC76 | 1290           : move.b  (A0), (A1)   // play sound
            2BC78 | 6008           : bra     $2bc82
            2BC7A | 0C00 00DF      : cmpi.b  #-$21, D0
            2BC7E | 6608           : bne     $2bc88
            2BC80 | 4211           : clr.b   (A1)         // stop sound
            2BC82 | 4EB9 0000 E902 : jsr     $e902.l      // audio cpu trigger
            2BC88 | 60B2           : bra     $2bc3c
            -->
        </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="down : decrease code -10"               line="13" align="center" />
            <output format="up : increase 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 %02X &gt;&gt;"      line="19" align="center">
                <argument>maincpu.pb@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0127A = 00001524        </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>
            <action>maincpu.mq@2BC80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2BC88 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@10D8 = 600C</action> <!-- skip cross-hatch -->
            <action>maincpu.mw@1824 = 1054</action> <!-- skip rom check -->
            <action>maincpu.mw@19DE = 6012</action> <!-- skip ram error -->
            <action>maincpu.mw@1A0C = 6008</action> <!-- initialize ram -->
        </script>
        <script state="off">
            <action>maincpu.mw@10D8 = 66FC</action>
            <action>maincpu.mw@1824 = 1A5C</action>
            <action>maincpu.mw@19DE = 6712</action>
            <action>maincpu.mw@1A0C = 6708</action>
        </script>
    </cheat>

</mamecheat>
  • "sound test mode" : Rewritten routine.
  • "skip ram/rom check" : Fixed RAM initialization problem. Added code for "skip cross-hatch".
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Post Reply