[vastar] Vastar

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

[vastar] Vastar

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mq@31f3 = 00000000050b0401</action>
    </script>
    <script state="off">
        <action>maincpu.mq@31f3 = 0b020100050b0001</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@2e01 = 18</action>
    </script>
    <script state="off">
        <action>maincpu.mb@2e01 = 30</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x05" step="0x01" />
    <script state="change">
        <action>maincpu.mb@3067 =  param</action> <!-- up -->
        <action>maincpu.mb@3069 =  param</action> <!-- upper-right : up -->
        <action>maincpu.mb@306a =  param</action> <!-- upper-right : right -->
        <action>maincpu.mb@306c =  param</action> <!-- right -->
        <action>maincpu.mb@306d = -param</action> <!-- lower-right : down -->
        <action>maincpu.mb@306e =  param</action> <!-- lower-right : right -->
        <action>maincpu.mb@306f = -param</action> <!-- down -->
        <action>maincpu.mb@3071 = -param</action> <!-- upper-left : down -->
        <action>maincpu.mb@3072 = -param</action> <!-- lower-left : left -->
        <action>maincpu.mb@3074 = -param</action> <!-- left -->
        <action>maincpu.mb@3075 =  param</action> <!-- lower-left : up -->
        <action>maincpu.mb@3076 = -param</action> <!-- upper-left : left -->
    </script>
    <script state="off">
        <action>maincpu.mb@3067 = 02</action>
        <action>maincpu.mb@3069 = 01</action>
        <action>maincpu.mb@306a = 01</action>
        <action>maincpu.mb@306c = 02</action>
        <action>maincpu.mb@306d = ff</action>
        <action>maincpu.mb@306e = 01</action>
        <action>maincpu.mb@306f = fe</action>
        <action>maincpu.mb@3071 = ff</action>
        <action>maincpu.mb@3072 = ff</action>
        <action>maincpu.mb@3074 = fe</action>
        <action>maincpu.mb@3075 = 01</action>
        <action>maincpu.mb@3076 = ff</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x06">02       </item>
        <item value="0x0c">03       </item>
        <item value="0x12">04       </item>
        <item value="0x18">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@4e41 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@4e41 = 0c</action>
    </script>
</cheat>

<cheat desc="no knock back">
    <script state="on">
        <action>maincpu.mb@2ddd = c9</action>
    </script>
    <script state="off">
        <action>maincpu.mb@2ddd = d8</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set rom check skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@0620 = 033ae00032f11021</action>
        <action>maincpu.mq@0628 = 2001fef62847b8f0</action>
        <action>maincpu.mq@0630 = fe34012002fe3501</action>
        <action>maincpu.mq@0638 = 18f04c327e062010</action>
        <action>maincpu.mq@0640 = 32f23e052020fe09</action>
        <action>maincpu.mq@0648 = a8cdce61d718f000</action>
        <!--
        0620 | 21 10 f1 : ld   hl,$f110  // sound code address
        0623 | 32 00 e0 : ld   ($e000),a // watchdog
        0626 | 3a 03 f0 : ld   a,($f003) // read input
        0629 | b8       : cp   b
        062a | 47       : ld   b,a
        062b | 28 f6    : jr   z,$0623
        062d | fe 01    : cp   $01
        062f | 20 01    : jr   nz,$0632
        0631 | 35       : dec  (hl)      // decrease code
        0632 | fe 02    : cp   $02
        0634 | 20 01    : jr   nz,$0637
        0636 | 34       : inc  (hl)      // increase code
        0637 | fe 10    : cp   $10
        0639 | 20 06    : jr   nz,$0641
        063b | 7e       : ld   a,(hl)    // play sound
        063c | 32 4c f0 : ld   ($f04c),a
        063f | 18 09    : jr   $064a
        0641 | fe 20    : cp   $20
        0643 | 20 05    : jr   nz,$064a
        0645 | 3e f2    : ld   a,$f2     // stop sound
        0647 | 32 00 f0 : ld   ($f000),a
        064a | 18 d7    : jr   $0623
        -->
    </script>
    <script state="run">
        <output format="----- vastar sound test mode -----" line="10" align="center" />
        <output format="left : decrease code"               line="11" align="center" />
        <output format="right : increase code"              line="12" align="center" />
        <output format="button 1 : play sound"              line="13" align="center" />
        <output format="button 2 : stop sound"              line="14" align="center" />
        <output format="----------------------------"       line="15" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;" line="17" align="center">
            <argument>maincpu.pb@f110</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@0620 = 3ef1013203c603e6</action>
        <action>maincpu.mq@0628 = 3ee7043ee73ce700</action>
        <action>maincpu.mq@0630 = 21f12811e73ce713</action>
        <action>maincpu.mq@0638 = 21b0ed00850108cf</action>
        <action>maincpu.mq@0640 = 57a8cdcf8111f130</action>
        <action>maincpu.mq@0648 = a8cdce6111f12a21</action>
    </script>
</cheat>

<cheat desc="skip rom check">
    <script state="on">
        <action>maincpu.mw@7f7f = 1718</action>
        <action>    sub.mw@04e5 = 1218</action>
    </script>
    <script state="off">
        <action>maincpu.mw@7f7f = 0806</action>
        <action>    sub.mw@04e5 = 0106</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[vastar] Vastar (update)

Post by jman »

Code: Select all

<cheat desc="sound test mode">
    <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@0620 = 033ae00032f11021</action>
        <action>maincpu.mq@0628 = 2001fef62847b8f0</action>
        <action>maincpu.mq@0630 = fe34012002fe3501</action>
        <action>maincpu.mq@0638 = fe0618f03e042008</action>
        <action>maincpu.mq@0640 = 787786103e052004</action>
        <action>maincpu.mq@0648 = f04c327e052010fe</action>
        <action>maincpu.mq@0650 = 32f23e052020fe78</action>
        <action>maincpu.mq@0658 = f10c3280c718f000</action>
        <!--
        0620 | 21 10 f1 : ld  hl,$F110  // sound code address
        0623 | 32 00 e0 : ld  ($E000),a // watchdog
        0626 | 3a 03 f0 : ld  a,($F003) // read input
        0629 | b8       : cp  b
        062a | 47       : ld  b,a
        062b | 28 f6    : jr  z,$0623
        062d | fe 01    : cp  $01
        062f | 20 01    : jr  nz,$0632
        0631 | 35       : dec (hl)      // decrease code -01
        0632 | fe 02    : cp  $02
        0634 | 20 01    : jr  nz,$0637
        0636 | 34       : inc (hl)      // increase code +01
        0637 | fe 08    : cp  $08
        0639 | 20 04    : jr  nz,$063F
        063b | 3e f0    : ld  a,$F0     // decrease code -10
        063d | 18 06    : jr  $0645
        063f | fe 04    : cp  $04
        0641 | 20 05    : jr  nz,$0648
        0643 | 3e 10    : ld  a,$10     // increase code +10
        0645 | 86       : add a,(hl)
        0646 | 77       : ld  (hl),a
        0647 | 78       : ld  a,b
        0648 | fe 10    : cp  $10
        064a | 20 05    : jr  nz,$0651
        064c | 7e       : ld  a,(hl)    // play sound
        064d | 32 4c f0 : ld  ($F04C),a
        0650 | 78       : ld  a,b
        0651 | fe 20    : cp  $20
        0653 | 20 05    : jr  nz,$065A
        0655 | 3e f2    : ld  a,$F2     // stop sound
        0657 | 32 00 f0 : ld  ($F000),a
        065a | 18 c7    : jr  $0623
        -->
    </script>
    <script state="run">
        <output format="----- vastar 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 %2.2X &gt;&gt;" line="19" align="center"  >
            <argument>maincpu.pb@f110</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@0620 = 3ef1013203c603e6</action>
        <action>maincpu.mq@0628 = 3ee7043ee73ce700</action>
        <action>maincpu.mq@0630 = 21f12811e73ce713</action>
        <action>maincpu.mq@0638 = 21b0ed00850108cf</action>
        <action>maincpu.mq@0640 = 57a8cdcf8111f130</action>
        <action>maincpu.mq@0648 = a8cdce6111f12a21</action>
        <action>maincpu.mq@0650 = 07d8cdcda132af57</action>
        <action>maincpu.mq@0658 = f10c32803ed7003e</action>
    </script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10).
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[vastar]+ Vastar

Post by jman »

vastar.xml

Code: Select all

<!-- Vastar (set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@31F3 = 00000000050B0401</action>
        </script>
        <script state="off">
            <action>maincpu.mq@31F3 = 0B020100050B0001</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@2E01 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2E01 = 30</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="change">
            <action>maincpu.mb@3067 =  param</action> <!-- up -->
            <action>maincpu.mb@3069 =  param</action> <!-- upper-right : up -->
            <action>maincpu.mb@306A =  param</action> <!-- upper-right : right -->
            <action>maincpu.mb@306C =  param</action> <!-- right -->
            <action>maincpu.mb@306D = -param</action> <!-- lower-right : down -->
            <action>maincpu.mb@306E =  param</action> <!-- lower-right : right -->
            <action>maincpu.mb@306F = -param</action> <!-- down -->
            <action>maincpu.mb@3071 = -param</action> <!-- upper-left : down -->
            <action>maincpu.mb@3072 = -param</action> <!-- lower-left : left -->
            <action>maincpu.mb@3074 = -param</action> <!-- left -->
            <action>maincpu.mb@3075 =  param</action> <!-- lower-left : up -->
            <action>maincpu.mb@3076 = -param</action> <!-- upper-left : left -->
        </script>
        <script state="off">
            <action>maincpu.mb@3067 = 02</action>
            <action>maincpu.mb@3069 = 01</action>
            <action>maincpu.mb@306A = 01</action>
            <action>maincpu.mb@306C = 02</action>
            <action>maincpu.mb@306D = FF</action>
            <action>maincpu.mb@306E = 01</action>
            <action>maincpu.mb@306F = FE</action>
            <action>maincpu.mb@3071 = FF</action>
            <action>maincpu.mb@3072 = FF</action>
            <action>maincpu.mb@3074 = FE</action>
            <action>maincpu.mb@3075 = 01</action>
            <action>maincpu.mb@3076 = FF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4E41 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4E41 = 0C</action>
        </script>
    </cheat>

    <cheat desc="no knock back">
        <script state="on">
            <action>maincpu.mb@2DDD = C9</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2DDD = D8</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0620 = 033AE00032F20021</action>
            <action>maincpu.mq@0628 = 2001FEF62847B8F0</action>
            <action>maincpu.mq@0630 = FE34012002FE3501</action>
            <action>maincpu.mq@0638 = FE0618F03E042008</action>
            <action>maincpu.mq@0640 = 787786103E052004</action>
            <action>maincpu.mq@0648 = F04C327E052010FE</action>
            <action>maincpu.mq@0650 = 32F23E052020FE78</action>
            <action>maincpu.mq@0658 = 00000000C718F000</action>
            <!--
            0620 | 21 00 F2 : ld   hl,$F200  // sound code address
            0623 | 32 00 E0 : ld   ($E000),a // watchdog
            0626 | 3A 03 F0 : ld   a,($F003) // read input
            0629 | B8       : cp   b
            062A | 47       : ld   b,a
            062B | 28 F6    : jr   z,$0623
            062D | FE 01    : cp   $01
            062F | 20 01    : jr   nz,$0632
            0631 | 35       : dec  (hl)      // decrease code -01
            0632 | FE 02    : cp   $02
            0634 | 20 01    : jr   nz,$0637
            0636 | 34       : inc  (hl)      // increase code +01
            0637 | FE 08    : cp   $08
            0639 | 20 04    : jr   nz,$063F
            063B | 3E F0    : ld   a,$F0     // decrease code -10
            063D | 18 06    : jr   $0645
            063F | FE 04    : cp   $04
            0641 | 20 05    : jr   nz,$0648
            0643 | 3E 10    : ld   a,$10     // increase code +10
            0645 | 86       : add  a,(hl)
            0646 | 77       : ld   (hl),a
            0647 | 78       : ld   a,b
            0648 | FE 10    : cp   $10
            064A | 20 05    : jr   nz,$0651
            064C | 7E       : ld   a,(hl)    // play sound
            064D | 32 4C F0 : ld   ($F04C),a
            0650 | 78       : ld   a,b
            0651 | FE 20    : cp   $20
            0653 | 20 05    : jr   nz,$065A
            0655 | 3E F2    : ld   a,$F2     // stop sound
            0657 | 32 00 F0 : ld   ($F000),a // send sound code
            065A | 18 C7    : jr   $0623
            -->
        </script>
        <script state="run">
            <output format="----- vastar 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@F200</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0620 = 3EF1013203C603E6</action>
            <action>maincpu.mq@0628 = 3EE7043EE73CE700</action>
            <action>maincpu.mq@0630 = 21F12811E73CE713</action>
            <action>maincpu.mq@0638 = 21B0ED00850108CF</action>
            <action>maincpu.mq@0640 = 57A8CDCF8111F130</action>
            <action>maincpu.mq@0648 = A8CDCE6111F12A21</action>
            <action>maincpu.mq@0650 = 07D8CDCDA132AF57</action>
            <action>maincpu.mq@0658 = F10C32803ED7003E</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@7F7F = 1718</action>
            <action>    sub.mw@04E5 = 1218</action>
        </script>
        <script state="off">
            <action>maincpu.mw@7F7F = 0806</action>
            <action>    sub.mw@04E5 = 0106</action>
        </script>
    </cheat>

</mamecheat>
vastar2.xml

Code: Select all

<!-- Vastar (set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@3206 = 00000000050B0401</action>
        </script>
        <script state="off">
            <action>maincpu.mq@3206 = 0B020100050B0001</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@2E14 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2E14 = 30</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="change">
            <action>maincpu.mb@307A =  param</action> <!-- up -->
            <action>maincpu.mb@307C =  param</action> <!-- upper-right : up -->
            <action>maincpu.mb@307D =  param</action> <!-- upper-right : right -->
            <action>maincpu.mb@307F =  param</action> <!-- right -->
            <action>maincpu.mb@3080 = -param</action> <!-- lower-right : down -->
            <action>maincpu.mb@3081 =  param</action> <!-- lower-right : right -->
            <action>maincpu.mb@3082 = -param</action> <!-- down -->
            <action>maincpu.mb@3084 = -param</action> <!-- lower-left : down -->
            <action>maincpu.mb@3085 = -param</action> <!-- lower-left : left -->
            <action>maincpu.mb@3087 = -param</action> <!-- left -->
            <action>maincpu.mb@3088 =  param</action> <!-- upper-left : up -->
            <action>maincpu.mb@3089 = -param</action> <!-- upper-left : left -->
        </script>
        <script state="off">
            <action>maincpu.mb@307A = 02</action>
            <action>maincpu.mb@307C = 01</action>
            <action>maincpu.mb@307D = 01</action>
            <action>maincpu.mb@307F = 02</action>
            <action>maincpu.mb@3080 = FF</action>
            <action>maincpu.mb@3081 = 01</action>
            <action>maincpu.mb@3082 = FE</action>
            <action>maincpu.mb@3084 = FF</action>
            <action>maincpu.mb@3085 = FF</action>
            <action>maincpu.mb@3087 = FE</action>
            <action>maincpu.mb@3088 = 01</action>
            <action>maincpu.mb@3089 = FF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4E54 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4E54 = 0C</action>
        </script>
    </cheat>

    <cheat desc="no knock back">
        <script state="on">
            <action>maincpu.mb@2DF0 = C9</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2DF0 = D8</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0633 = 033AE00032F20021</action>
            <action>maincpu.mq@063B = 2001FEF62847B8F0</action>
            <action>maincpu.mq@0643 = FE34012002FE3501</action>
            <action>maincpu.mq@064B = FE0618F03E042008</action>
            <action>maincpu.mq@0653 = 787786103E052004</action>
            <action>maincpu.mq@065B = F04C327E052010FE</action>
            <action>maincpu.mq@0663 = 32F23E052020FE78</action>
            <action>maincpu.mq@066B = 00000000C718F000</action>
            <!--
            0633 | 21 00 F2 : ld   hl,$F200  // sound code address
            0636 | 32 00 E0 : ld   ($E000),a // watchdog
            0639 | 3A 03 F0 : ld   a,($F003) // read input
            063C | B8       : cp   b
            063D | 47       : ld   b,a
            063E | 28 F6    : jr   z,$0636
            0640 | FE 01    : cp   $01
            0642 | 20 01    : jr   nz,$0645
            0644 | 35       : dec  (hl)      // decrease code -01
            0645 | FE 02    : cp   $02
            0647 | 20 01    : jr   nz,$064A
            0649 | 34       : inc  (hl)      // increase code +01
            064A | FE 08    : cp   $08
            064C | 20 04    : jr   nz,$0652
            064E | 3E F0    : ld   a,$F0     // decrease code -10
            0650 | 18 06    : jr   $0658
            0652 | FE 04    : cp   $04
            0654 | 20 05    : jr   nz,$065B
            0656 | 3E 10    : ld   a,$10     // increase code +10
            0658 | 86       : add  a,(hl)
            0659 | 77       : ld   (hl),a
            065A | 78       : ld   a,b
            065B | FE 10    : cp   $10
            065D | 20 05    : jr   nz,$0664
            065F | 7E       : ld   a,(hl)    // play sound
            0660 | 32 4C F0 : ld   ($F04C),a
            0663 | 78       : ld   a,b
            0664 | FE 20    : cp   $20
            0666 | 20 05    : jr   nz,$066D
            0668 | 3E F2    : ld   a,$F2     // stop sound
            066A | 32 00 F0 : ld   ($F000),a // send sound code
            066D | 18 C7    : jr   $0636
            -->
        </script>
        <script state="run">
            <output format="----- vastar 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@F200</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0633 = 3EF1013203C603E6</action>
            <action>maincpu.mq@063B = 3EE7043EE73CE700</action>
            <action>maincpu.mq@0643 = 21F12811E73CE713</action>
            <action>maincpu.mq@064B = 21B0ED00850108E2</action>
            <action>maincpu.mq@0653 = 57AACDCF8111F130</action>
            <action>maincpu.mq@065B = AACDCE6111F12A21</action>
            <action>maincpu.mq@0663 = 07EBCDCDA132AF57</action>
            <action>maincpu.mq@066B = F10C32803ED7003E</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@7F81 = 1718</action>
            <action>    sub.mw@04E5 = 1218</action>
        </script>
        <script state="off">
            <action>maincpu.mw@7F81 = 0806</action>
            <action>    sub.mw@04E5 = 0106</action>
        </script>
    </cheat>

</mamecheat>
vastar3.xml

Code: Select all

<!-- Vastar (set 3) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@3232 = 00000000050B0401</action>
        </script>
        <script state="off">
            <action>maincpu.mq@3232 = 0B020100050B0001</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@2E40 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2E40 = 30</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="change">
            <action>maincpu.mb@30A6 =  param</action> <!-- up -->
            <action>maincpu.mb@30A8 =  param</action> <!-- upper-right : up -->
            <action>maincpu.mb@30A9 =  param</action> <!-- upper-right : right -->
            <action>maincpu.mb@30AB =  param</action> <!-- right -->
            <action>maincpu.mb@30AC = -param</action> <!-- lower-right : down -->
            <action>maincpu.mb@30AD =  param</action> <!-- lower-right : right -->
            <action>maincpu.mb@30AE = -param</action> <!-- down -->
            <action>maincpu.mb@30B0 = -param</action> <!-- upper-left : down -->
            <action>maincpu.mb@30B1 = -param</action> <!-- lower-left : left -->
            <action>maincpu.mb@30B3 = -param</action> <!-- left -->
            <action>maincpu.mb@30B4 =  param</action> <!-- lower-left : up -->
            <action>maincpu.mb@30B5 = -param</action> <!-- upper-left : left -->
        </script>
        <script state="off">
            <action>maincpu.mb@30A6 = 02</action>
            <action>maincpu.mb@30A8 = 01</action>
            <action>maincpu.mb@30A9 = 01</action>
            <action>maincpu.mb@30AB = 02</action>
            <action>maincpu.mb@30AC = FF</action>
            <action>maincpu.mb@30AD = 01</action>
            <action>maincpu.mb@30AE = FE</action>
            <action>maincpu.mb@30B0 = FF</action>
            <action>maincpu.mb@30B1 = FF</action>
            <action>maincpu.mb@30B3 = FE</action>
            <action>maincpu.mb@30B4 = 01</action>
            <action>maincpu.mb@30B5 = FF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4E48 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4E48 = 0C</action>
        </script>
    </cheat>

    <cheat desc="no knock back">
        <script state="on">
            <action>maincpu.mb@2E1C = C9</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2E1C = D8</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0646 = 033AE00032F20021</action>
            <action>maincpu.mq@064E = 2001FEF62847B8F0</action>
            <action>maincpu.mq@0656 = FE34012002FE3501</action>
            <action>maincpu.mq@065E = FE0618F03E042008</action>
            <action>maincpu.mq@0666 = 787786103E052004</action>
            <action>maincpu.mq@066E = F04C327E052010FE</action>
            <action>maincpu.mq@0676 = 32F23E052020FE78</action>
            <action>maincpu.mq@067E = 00000000C718F000</action>
            <!--
            0646 | 21 00 F2 : ld   hl,$F200  // sound code address
            0649 | 32 00 E0 : ld   ($E000),a // watchdog
            064C | 3A 03 F0 : ld   a,($F003) // read input
            064F | B8       : cp   b
            0650 | 47       : ld   b,a
            0651 | 28 F6    : jr   z,$0649
            0653 | FE 01    : cp   $01
            0655 | 20 01    : jr   nz,$0658
            0657 | 35       : dec  (hl)      // decrease code -01
            0658 | FE 02    : cp   $02
            065A | 20 01    : jr   nz,$065D
            065C | 34       : inc  (hl)      // increase code +01
            065D | FE 08    : cp   $08
            065F | 20 04    : jr   nz,$0665
            0661 | 3E F0    : ld   a,$F0     // decrease code -10
            0663 | 18 06    : jr   $066B
            0665 | FE 04    : cp   $04
            0667 | 20 05    : jr   nz,$066E
            0669 | 3E 10    : ld   a,$10     // increase code +10
            066B | 86       : add  a,(hl)
            066C | 77       : ld   (hl),a
            066D | 78       : ld   a,b
            066E | FE 10    : cp   $10
            0670 | 20 05    : jr   nz,$0677
            0672 | 7E       : ld   a,(hl)    // play sound
            0673 | 32 4C F0 : ld   ($F04C),a
            0676 | 78       : ld   a,b
            0677 | FE 20    : cp   $20
            0679 | 20 05    : jr   nz,$0680
            067B | 3E F2    : ld   a,$F2     // stop sound
            067D | 32 00 F0 : ld   ($F000),a // send sound code
            0680 | 18 C7    : jr   $0649
            -->
        </script>
        <script state="run">
            <output format="----- vastar 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@F200</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0646 = 3EF1013203C603E6</action>
            <action>maincpu.mq@064E = 3EE7043EE73CE700</action>
            <action>maincpu.mq@0656 = 21F12811E73CE713</action>
            <action>maincpu.mq@065E = 21B0ED00850108F5</action>
            <action>maincpu.mq@0666 = 579CCDCF8111F130</action>
            <action>maincpu.mq@066E = 9CCDCE6111F12A21</action>
            <action>maincpu.mq@0676 = 07FECDCDA132AF57</action>
            <action>maincpu.mq@067E = F10C32803ED7003E</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@7F69 = 1718</action>
            <action>    sub.mw@04E5 = 1218</action>
        </script>
        <script state="off">
            <action>maincpu.mw@7F69 = 0806</action>
            <action>    sub.mw@04E5 = 0106</action>
        </script>
    </cheat>

</mamecheat>
vastar4.xml

Code: Select all

<!-- Vastar (set 4) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@31F3 = 00000000050B0401</action>
        </script>
        <script state="off">
            <action>maincpu.mq@31F3 = 0B020100050B0001</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@2E01 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2E01 = 30</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="change">
            <action>maincpu.mb@3067 =  param</action> <!-- up -->
            <action>maincpu.mb@3069 =  param</action> <!-- upper-right : up -->
            <action>maincpu.mb@306A =  param</action> <!-- upper-right : right -->
            <action>maincpu.mb@306C =  param</action> <!-- right -->
            <action>maincpu.mb@306D = -param</action> <!-- lower-right : down -->
            <action>maincpu.mb@306E =  param</action> <!-- lower-right : right -->
            <action>maincpu.mb@306F = -param</action> <!-- down -->
            <action>maincpu.mb@3071 = -param</action> <!-- upper-left : down -->
            <action>maincpu.mb@3072 = -param</action> <!-- lower-left : left -->
            <action>maincpu.mb@3074 = -param</action> <!-- left -->
            <action>maincpu.mb@3075 =  param</action> <!-- lower-left : up -->
            <action>maincpu.mb@3076 = -param</action> <!-- upper-left : left -->
        </script>
        <script state="off">
            <action>maincpu.mb@3067 = 02</action>
            <action>maincpu.mb@3069 = 01</action>
            <action>maincpu.mb@306A = 01</action>
            <action>maincpu.mb@306C = 02</action>
            <action>maincpu.mb@306D = FF</action>
            <action>maincpu.mb@306E = 01</action>
            <action>maincpu.mb@306F = FE</action>
            <action>maincpu.mb@3071 = FF</action>
            <action>maincpu.mb@3072 = FF</action>
            <action>maincpu.mb@3074 = FE</action>
            <action>maincpu.mb@3075 = 01</action>
            <action>maincpu.mb@3076 = FF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x12">04       </item>
            <item value="0x18">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4E41 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4E41 = 0C</action>
        </script>
    </cheat>

    <cheat desc="no knock back">
        <script state="on">
            <action>maincpu.mb@2DDD = C9</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2DDD = D8</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0620 = 033AE00032F20021</action>
            <action>maincpu.mq@0628 = 2001FEF62847B8F0</action>
            <action>maincpu.mq@0630 = FE34012002FE3501</action>
            <action>maincpu.mq@0638 = FE0618F03E042008</action>
            <action>maincpu.mq@0640 = 787786103E052004</action>
            <action>maincpu.mq@0648 = F04C327E052010FE</action>
            <action>maincpu.mq@0650 = 32F23E052020FE78</action>
            <action>maincpu.mq@0658 = 00000000C718F000</action>
            <!--
            0620 | 21 00 F2 : ld   hl,$F200  // sound code address
            0623 | 32 00 E0 : ld   ($E000),a // watchdog
            0626 | 3A 03 F0 : ld   a,($F003) // read input
            0629 | B8       : cp   b
            062A | 47       : ld   b,a
            062B | 28 F6    : jr   z,$0623
            062D | FE 01    : cp   $01
            062F | 20 01    : jr   nz,$0632
            0631 | 35       : dec  (hl)      // decrease code -01
            0632 | FE 02    : cp   $02
            0634 | 20 01    : jr   nz,$0637
            0636 | 34       : inc  (hl)      // increase code +01
            0637 | FE 08    : cp   $08
            0639 | 20 04    : jr   nz,$063F
            063B | 3E F0    : ld   a,$F0     // decrease code -10
            063D | 18 06    : jr   $0645
            063F | FE 04    : cp   $04
            0641 | 20 05    : jr   nz,$0648
            0643 | 3E 10    : ld   a,$10     // increase code +10
            0645 | 86       : add  a,(hl)
            0646 | 77       : ld   (hl),a
            0647 | 78       : ld   a,b
            0648 | FE 10    : cp   $10
            064A | 20 05    : jr   nz,$0651
            064C | 7E       : ld   a,(hl)    // play sound
            064D | 32 4C F0 : ld   ($F04C),a
            0650 | 78       : ld   a,b
            0651 | FE 20    : cp   $20
            0653 | 20 05    : jr   nz,$065A
            0655 | 3E F2    : ld   a,$F2     // stop sound
            0657 | 32 00 F0 : ld   ($F000),a // send sound code
            065A | 18 C7    : jr   $0623
            -->
        </script>
        <script state="run">
            <output format="----- vastar 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@F200</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0620 = 3EF1013201C603E6</action>
            <action>maincpu.mq@0628 = 3EE7043EE73CE700</action>
            <action>maincpu.mq@0630 = 21F12811E73CE713</action>
            <action>maincpu.mq@0638 = 21B0ED00850108CF</action>
            <action>maincpu.mq@0640 = 57A8CDCF8111F130</action>
            <action>maincpu.mq@0648 = A8CDCE6111F12A21</action>
            <action>maincpu.mq@0650 = 07D8CDCDA132AF57</action>
            <action>maincpu.mq@0658 = F10C32803ED7003E</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@7F7F = 1718</action>
            <action>    sub.mw@04E5 = 1218</action>
        </script>
        <script state="off">
            <action>maincpu.mw@7F7F = 0806</action>
            <action>    sub.mw@04E5 = 0106</action>
        </script>
    </cheat>

</mamecheat>
Post Reply