Page 1 of 1

[vastar] Vastar

Posted: Fri Oct 29, 2021 11:49 am
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>

[vastar] Vastar (update)

Posted: Sat Nov 12, 2022 8:13 am
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).

[vastar]+ Vastar

Posted: Wed Feb 21, 2024 9:24 am
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>