[airwolf] Airwolf

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

[airwolf] Airwolf

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@24e2 = 10</action>
    </script>
    <script state="off">
        <action>maincpu.mb@24e2 = 09</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@1c21 = 96</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1c21 = d6</action>
    </script>
</cheat>

<cheat desc="no inertia">
    <script state="on">
        <action>maincpu.mw@1c80 = 0918</action> <!-- y position -->
        <action>maincpu.mw@1d03 = 0918</action> <!-- x position -->
    </script>
    <script state="off">
        <action>maincpu.mw@1c80 = 2420</action>
        <action>maincpu.mw@1d03 = 1620</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0010">01 (slow)</item>
        <item value="0x00c0">02       </item>
        <item value="0x01c0">03       </item>
        <item value="0x02c0">04       </item>
        <item value="0x03c0">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@1c9f =  param</action> <!-- up -->
        <action>maincpu.mw@1ca4 = -param</action> <!-- down -->
        <action>maincpu.mw@1d14 = -param</action> <!-- right -->
        <action>maincpu.mw@1d19 =  param</action> <!-- left -->
    </script>
    <script state="off">
        <action>maincpu.mw@1c9f = 00c0</action>
        <action>maincpu.mw@1ca4 = ff40</action>
        <action>maincpu.mw@1d14 = ff40</action>
        <action>maincpu.mw@1d19 = 00c0</action>
    </script>
</cheat>

<cheat desc="bullet speed - main shot">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x06">02       </item>
        <item value="0x09">03       </item>
        <item value="0x0c">04       </item>
        <item value="0x0f">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@203e = -param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@203e = fa</action>
    </script>
</cheat>

<cheat desc="sub weapon">
    <parameter>
        <item value="0x3a1fbfc3">vulcan </item>
        <item value="0x3a2073c3">missile</item>
    </parameter>
    <script state="on">
        <action>maincpu.mb@1fae = b0</action>
    </script>
    <script state="change">
        <action>maincpu.md@1fbc = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1fae =       c6</action>
        <action>maincpu.md@1fbc = 3a2073ca</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@00a9 =             00a8</action> <!-- disable main cpu -->
        <action>    sub.md@00a9 =         cd74f0c3</action>
        <action>    sub.mq@74f0 = b8800e3a810021fb</action>
        <action>    sub.mq@74f8 = 35012001fef92847</action>
        <action>    sub.mq@7500 = 2008fe34012002fe</action>
        <action>    sub.mq@7508 = 2004fe0618f03e04</action>
        <action>    sub.mq@7510 = 10fe787786103e05</action>
        <action>    sub.mq@7518 = fe788036327e0520</action>
        <action>    sub.mq@7520 = 1cfbcdd9af062020</action>
        <action>    sub.mq@7528 = ffffffffffc918d9</action>
        <!--
        74f0 | fb       : ei             // enable interrupt
        74f1 | 21 00 81 : ld   hl,$8100  // sound code address
        74f4 | 3a 0e 80 : ld   a,($800E) // read input
        74f7 | b8       : cp   b
        74f8 | 47       : ld   b,a
        74f9 | 28 f9    : jr   z,$74F4
        74fb | fe 01    : cp   $01
        74fd | 20 01    : jr   nz,$7500
        74ff | 35       : dec  (hl)      // decrease code -01
        7500 | fe 02    : cp   $02
        7502 | 20 01    : jr   nz,$7505
        7504 | 34       : inc  (hl)      // increase code +01
        7505 | fe 08    : cp   $08
        7507 | 20 04    : jr   nz,$750D
        7509 | 3e f0    : ld   a,$F0     // decrease code -10
        750b | 18 06    : jr   $7513
        750d | fe 04    : cp   $04
        750f | 20 05    : jr   nz,$7516
        7511 | 3e 10    : ld   a,$10     // increase code +10
        7513 | 86       : add  a,(hl)
        7514 | 77       : ld   (hl),a
        7515 | 78       : ld   a,b
        7516 | fe 10    : cp   $10
        7518 | 20 05    : jr   nz,$751F
        751a | 7e       : ld   a,(hl)    // play sound
        751b | 32 36 80 : ld   ($8036),a
        751e | 78       : ld   a,b
        751f | fe 20    : cp   $20
        7521 | 20 06    : jr   nz,$7529
        7523 | af       : xor  a         // stop sound
        7524 | d9       : exx
        7525 | cd fb 1c : call $1CFB
        7528 | d9       : exx
        7529 | 18 c9    : jr   $74F4
        -->
    </script>
    <script state="run">
        <output format="----- airwolf 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>sub.pb@8100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@00a9 =             01aa</action>
        <action>    sub.md@00a9 =         cd4818fb</action>
        <action>    sub.mq@74f0 = ffffffffffffffff</action>
        <action>    sub.mq@74f8 = ffffffffffffffff</action>
        <action>    sub.mq@7500 = ffffffffffffffff</action>
        <action>    sub.mq@7508 = ffffffffffffffff</action>
        <action>    sub.mq@7510 = ffffffffffffffff</action>
        <action>    sub.mq@7518 = ffffffffffffffff</action>
        <action>    sub.mq@7520 = ffffffffffffffff</action>
        <action>    sub.mq@7528 = ffffffffffffffff</action>
    </script>
</cheat>
"no inertia" is unique. Normally, player chracter moves a little even when you release a direction key. This code enables to come to a sudden stop.
jman
Posts: 856
Joined: Tue Dec 01, 2020 1:24 pm

[airwolf]+ Airwolf

Post by jman »

airwolf.xml

Code: Select all

<!-- Airwolf -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@24C0 = BE</action> <!-- human -->
            <action>maincpu.mb@24E2 = 10</action> <!-- objects -->
        </script>
        <script state="off">
            <action>maincpu.mb@24C0 = FE</action>
            <action>maincpu.mb@24E2 = 09</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1C21 = 96</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C21 = D6</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x00c0">02       </item>
            <item value="0x01c0">03       </item>
            <item value="0x02c0">04       </item>
            <item value="0x03c0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@1C9F =  param</action> <!-- up -->
            <action>maincpu.mw@1CA4 = -param</action> <!-- down -->
            <action>maincpu.mw@1D14 = -param</action> <!-- right -->
            <action>maincpu.mw@1D19 =  param</action> <!-- left -->
        </script>
        <script state="off">
            <action>maincpu.mw@1C9F = 00C0</action>
            <action>maincpu.mw@1CA4 = FF40</action>
            <action>maincpu.mw@1D14 = FF40</action>
            <action>maincpu.mw@1D19 = 00C0</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - main shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x09">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x0f">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@203E = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@203E = FA</action>
        </script>
    </cheat>

    <cheat desc="no inertia">
        <script state="on">
            <action>maincpu.mw@1C80 = 0918</action> <!-- y position -->
            <action>maincpu.mw@1D03 = 0918</action> <!-- x position -->
        </script>
        <script state="off">
            <action>maincpu.mw@1C80 = 2420</action>
            <action>maincpu.mw@1D03 = 1620</action>
        </script>
    </cheat>

    <cheat desc="sub weapon">
        <parameter>
            <item value="0x3a1fbfc3">vulcan </item>
            <item value="0x3a2073c3">missile</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@1FAE = B0</action>
        </script>
        <script state="change">
            <action>maincpu.md@1FBC = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1FAE = C6      </action>
            <action>maincpu.md@1FBC = 3A2073CA</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@00A9 = 00A8            </action> <!-- disable main cpu -->
            <action>    sub.md@00A9 = CD74F0C3        </action>
            <action>    sub.mq@74F0 = B8800E3A810021FB</action>
            <action>    sub.mq@74F8 = 35012001FEF92847</action>
            <action>    sub.mq@7500 = 2008FE34012002FE</action>
            <action>    sub.mq@7508 = 2004FE0618F03E04</action>
            <action>    sub.mq@7510 = 10FE787786103E05</action>
            <action>    sub.mq@7518 = FE788036327E0520</action>
            <action>    sub.mq@7520 = 1CFBCDD9AF062020</action>
            <action>    sub.mq@7528 = FFFFFFFFFFC918D9</action>
            <!--
            74F0 | FB       : ei             // enable interrput
            74F1 | 21 00 81 : ld   hl,$8100  // sound code address
            74F4 | 3A 0E 80 : ld   a,($800E) // read input
            74F7 | B8       : cp   b
            74F8 | 47       : ld   b,a
            74F9 | 28 F9    : jr   z,$74F4
            74FB | FE 01    : cp   $01
            74FD | 20 01    : jr   nz,$7500
            74FF | 35       : dec  (hl)      // decrease code -01
            7500 | FE 02    : cp   $02
            7502 | 20 01    : jr   nz,$7505
            7504 | 34       : inc  (hl)      // increase code +01
            7505 | FE 08    : cp   $08
            7507 | 20 04    : jr   nz,$750D
            7509 | 3E F0    : ld   a,$F0     // decrease code -10
            750B | 18 06    : jr   $7513
            750D | FE 04    : cp   $04
            750F | 20 05    : jr   nz,$7516
            7511 | 3E 10    : ld   a,$10     // increase code +10
            7513 | 86       : add  a,(hl)
            7514 | 77       : ld   (hl),a
            7515 | 78       : ld   a,b
            7516 | FE 10    : cp   $10
            7518 | 20 05    : jr   nz,$751F
            751A | 7E       : ld   a,(hl)    // play sound
            751B | 32 36 80 : ld   ($8036),a
            751E | 78       : ld   a,b
            751F | FE 20    : cp   $20
            7521 | 20 06    : jr   nz,$7529
            7523 | AF       : xor  a         // stop sound
            7524 | D9       : exx
            7525 | CD FB 1C : call $1CFB     // send sound code
            7528 | D9       : exx
            7529 | 18 C9    : jr   $74F4
            -->
        </script>
        <script state="run">
            <output format="----- airwolf 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>sub.pb@8100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@00A9 = 01AA            </action>
            <action>    sub.md@00A9 = CD4818FB        </action>
            <action>    sub.mq@74F0 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@74F8 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@7500 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@7508 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@7510 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@7518 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@7520 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@7528 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
airwolfa.xml

Code: Select all

<!-- Airwolf (US) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@251E = BE</action> <!-- human -->
            <action>maincpu.mb@2540 = 10</action> <!-- objects -->
        </script>
        <script state="off">
            <action>maincpu.mb@251E = FE</action>
            <action>maincpu.mb@2540 = 09</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1C7F = 96</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1C7F = D6</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x00c0">02       </item>
            <item value="0x01c0">03       </item>
            <item value="0x02c0">04       </item>
            <item value="0x03c0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@1CFD =  param</action> <!-- up -->
            <action>maincpu.mw@1D02 = -param</action> <!-- down -->
            <action>maincpu.mw@1D72 = -param</action> <!-- right -->
            <action>maincpu.mw@1D77 =  param</action> <!-- left -->
        </script>
        <script state="off">
            <action>maincpu.mw@1CFD = 00C0</action>
            <action>maincpu.mw@1D02 = FF40</action>
            <action>maincpu.mw@1D72 = FF40</action>
            <action>maincpu.mw@1D77 = 00C0</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - main shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x09">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x0f">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@209C = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@209C = FA</action>
        </script>
    </cheat>

    <cheat desc="no inertia">
        <script state="on">
            <action>maincpu.mw@1CDE = 0918</action> <!-- y position -->
            <action>maincpu.mw@1D61 = 0918</action> <!-- x position -->
        </script>
        <script state="off">
            <action>maincpu.mw@1CDE = 2420</action>
            <action>maincpu.mw@1D61 = 1620</action>
        </script>
    </cheat>

    <cheat desc="sub weapon">
        <parameter>
            <item value="0x3a201dc3">vulcan </item>
            <item value="0x3a20d1c3">missile</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@200C = 0E</action>
        </script>
        <script state="change">
            <action>maincpu.md@201A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@200C = 24      </action>
            <action>maincpu.md@201A = 3A20D1CA</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@00A9 = 00A8            </action> <!-- disable main cpu -->
            <action>    sub.md@00A9 = CD74F0C3        </action>
            <action>    sub.mq@74F0 = B8800E3A810021FB</action>
            <action>    sub.mq@74F8 = 35012001FEF92847</action>
            <action>    sub.mq@7500 = 2008FE34012002FE</action>
            <action>    sub.mq@7508 = 2004FE0618F03E04</action>
            <action>    sub.mq@7510 = 10FE787786103E05</action>
            <action>    sub.mq@7518 = FE788036327E0520</action>
            <action>    sub.mq@7520 = 1CFBCDD9AF062020</action>
            <action>    sub.mq@7528 = FFFFFFFFFFC918D9</action>
            <!--
            74F0 | FB       : ei             // enable interrput
            74F1 | 21 00 81 : ld   hl,$8100  // sound code address
            74F4 | 3A 0E 80 : ld   a,($800E) // read input
            74F7 | B8       : cp   b
            74F8 | 47       : ld   b,a
            74F9 | 28 F9    : jr   z,$74F4
            74FB | FE 01    : cp   $01
            74FD | 20 01    : jr   nz,$7500
            74FF | 35       : dec  (hl)      // decrease code -01
            7500 | FE 02    : cp   $02
            7502 | 20 01    : jr   nz,$7505
            7504 | 34       : inc  (hl)      // increase code +01
            7505 | FE 08    : cp   $08
            7507 | 20 04    : jr   nz,$750D
            7509 | 3E F0    : ld   a,$F0     // decrease code -10
            750B | 18 06    : jr   $7513
            750D | FE 04    : cp   $04
            750F | 20 05    : jr   nz,$7516
            7511 | 3E 10    : ld   a,$10     // increase code +10
            7513 | 86       : add  a,(hl)
            7514 | 77       : ld   (hl),a
            7515 | 78       : ld   a,b
            7516 | FE 10    : cp   $10
            7518 | 20 05    : jr   nz,$751F
            751A | 7E       : ld   a,(hl)    // play sound
            751B | 32 36 80 : ld   ($8036),a
            751E | 78       : ld   a,b
            751F | FE 20    : cp   $20
            7521 | 20 06    : jr   nz,$7529
            7523 | AF       : xor  a         // stop sound
            7524 | D9       : exx
            7525 | CD FB 1C : call $1CFB     // send sound code
            7528 | D9       : exx
            7529 | 18 C9    : jr   $74F4
            -->
        </script>
        <script state="run">
            <output format="----- airwolf 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>sub.pb@8100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@00A9 = 01AA            </action>
            <action>    sub.md@00A9 = CD4818FB        </action>
            <action>    sub.mq@74F0 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@74F8 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@7500 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@7508 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@7510 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@7518 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@7520 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@7528 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
skywolf.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2492 = BE</action> <!-- human -->
            <action>maincpu.mb@24B4 = 10</action> <!-- objects -->
        </script>
        <script state="off">
            <action>maincpu.mb@2492 = FE</action>
            <action>maincpu.mb@24B4 = 09</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1BF3 = 96</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1BF3 = D6</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x00c0">02       </item>
            <item value="0x01c0">03       </item>
            <item value="0x02c0">04       </item>
            <item value="0x03c0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@1C71 =  param</action> <!-- up -->
            <action>maincpu.mw@1C76 = -param</action> <!-- down -->
            <action>maincpu.mw@1CE6 = -param</action> <!-- right -->
            <action>maincpu.mw@1CEB =  param</action> <!-- left -->
        </script>
        <script state="off">
            <action>maincpu.mw@1C71 = 00C0</action>
            <action>maincpu.mw@1C76 = FF40</action>
            <action>maincpu.mw@1CE6 = FF40</action>
            <action>maincpu.mw@1CEB = 00C0</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - main shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x09">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x0f">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@2010 = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2010 = FA</action>
        </script>
    </cheat>

    <cheat desc="no inertia">
        <script state="on">
            <action>maincpu.mw@1C52 = 0918</action> <!-- y position -->
            <action>maincpu.mw@1CD5 = 0918</action> <!-- x position -->
        </script>
        <script state="off">
            <action>maincpu.mw@1C52 = 2420</action>
            <action>maincpu.mw@1CD5 = 1620</action>
        </script>
    </cheat>

    <cheat desc="sub weapon">
        <parameter>
            <item value="0x3a1f91c3">vulcan </item>
            <item value="0x3a2045c3">missile</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@1F80 = 82</action>
        </script>
        <script state="change">
            <action>maincpu.md@1F8E = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1F80 = 98      </action>
            <action>maincpu.md@1F8E = 3A2045CA</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@00A9 = 00A8    </action> <!-- disable main cpu -->
            <action>    sub.md@00A9 = CD8200C3</action>
        </script>
        <script state="run">
            <action>sub.pq@8200 = B8800E3A810021FB</action>
            <action>sub.pq@8208 = 35012001FEF92847</action>
            <action>sub.pq@8210 = 2008FE34012002FE</action>
            <action>sub.pq@8218 = 2004FE0618F03E04</action>
            <action>sub.pq@8220 = 10FE787786103E05</action>
            <action>sub.pq@8228 = FE788036327E0520</action>
            <action>sub.pq@8230 = 1D0DCDD9AF062020</action>
            <action>sub.pq@8238 = 0000000000C918D9</action>
            <!--
            8200 | FB       : ei             // enable interrput
            8201 | 21 00 81 : ld   hl,$8100  // sound code address
            8204 | 3A 0E 80 : ld   a,($800E) // read input
            8207 | B8       : cp   b
            8208 | 47       : ld   b,a
            8209 | 28 F9    : jr   z,$8204
            820B | FE 01    : cp   $01
            820D | 20 01    : jr   nz,$8210
            820F | 35       : dec  (hl)      // decrease code -01
            8210 | FE 02    : cp   $02
            8212 | 20 01    : jr   nz,$8215
            8214 | 34       : inc  (hl)      // increase code +01
            8215 | FE 08    : cp   $08
            8217 | 20 04    : jr   nz,$821D
            8219 | 3E F0    : ld   a,$F0     // decrease code -10
            821B | 18 06    : jr   $8223
            821D | FE 04    : cp   $04
            821F | 20 05    : jr   nz,$8226
            8221 | 3E 10    : ld   a,$10     // increase code +10
            8223 | 86       : add  a,(hl)
            8224 | 77       : ld   (hl),a
            8225 | 78       : ld   a,b
            8226 | FE 10    : cp   $10
            8228 | 20 05    : jr   nz,$822F
            822A | 7E       : ld   a,(hl)    // play sound
            822B | 32 36 80 : ld   ($8036),a
            822E | 78       : ld   a,b
            822F | FE 20    : cp   $20
            8231 | 20 06    : jr   nz,$8239
            8233 | AF       : xor  a         // stop sound
            8234 | D9       : exx
            8235 | CD 0D 1D : call $1D0D     // send sound code
            8238 | D9       : exx
            8239 | 18 C9    : jr   $8204
            -->
            <output format="----- sky wolf 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>sub.pb@8100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@00A9 = 01AA            </action>
            <action>    sub.md@00A9 = CD4818FB        </action>
            <action>    sub.pq@8200 = 0000000000000000</action>
            <action>    sub.pq@8208 = 0000000000000000</action>
            <action>    sub.pq@8210 = 0000000000000000</action>
            <action>    sub.pq@8218 = 0000000000000000</action>
            <action>    sub.pq@8220 = 0000000000000000</action>
            <action>    sub.pq@8228 = 0000000000000000</action>
            <action>    sub.pq@8230 = 0000000000000000</action>
            <action>    sub.pq@8238 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
skywolf2.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2487 = BE</action> <!-- human -->
            <action>maincpu.mb@24A9 = 10</action> <!-- objects -->
        </script>
        <script state="off">
            <action>maincpu.mb@2487 = FE</action>
            <action>maincpu.mb@24A9 = 09</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1BE8 = 96</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1BE8 = D6</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x00c0">02       </item>
            <item value="0x01c0">03       </item>
            <item value="0x02c0">04       </item>
            <item value="0x03c0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@1C66 =  param</action> <!-- up -->
            <action>maincpu.mw@1C6B = -param</action> <!-- down -->
            <action>maincpu.mw@1CDB = -param</action> <!-- right -->
            <action>maincpu.mw@1CE0 =  param</action> <!-- left -->
        </script>
        <script state="off">
            <action>maincpu.mw@1C66 = 00C0</action>
            <action>maincpu.mw@1C6B = FF40</action>
            <action>maincpu.mw@1CDB = FF40</action>
            <action>maincpu.mw@1CE0 = 00C0</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - main shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x09">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x0f">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@2005 = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2005 = FA</action>
        </script>
    </cheat>

    <cheat desc="no inertia">
        <script state="on">
            <action>maincpu.mw@1C47 = 0918</action> <!-- y position -->
            <action>maincpu.mw@1CCA = 0918</action> <!-- x position -->
        </script>
        <script state="off">
            <action>maincpu.mw@1C47 = 2420</action>
            <action>maincpu.mw@1CCA = 1620</action>
        </script>
    </cheat>

    <cheat desc="sub weapon">
        <parameter>
            <item value="0x3a1f86c3">vulcan </item>
            <item value="0x3a203ac3">missile</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@1F75 = 77</action>
        </script>
        <script state="change">
            <action>maincpu.md@1F83 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1F75 = 8D      </action>
            <action>maincpu.md@1F83 = 3A203ACA</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@00A9 = 00A8    </action> <!-- disable main cpu -->
            <action>    sub.md@00A9 = CD8200C3</action>
        </script>
        <script state="run">
            <action>sub.pq@8200 = B8800E3A810021FB</action>
            <action>sub.pq@8208 = 35012001FEF92847</action>
            <action>sub.pq@8210 = 2008FE34012002FE</action>
            <action>sub.pq@8218 = 2004FE0618F03E04</action>
            <action>sub.pq@8220 = 10FE787786103E05</action>
            <action>sub.pq@8228 = FE788036327E0520</action>
            <action>sub.pq@8230 = 1D0DCDD9AF062020</action>
            <action>sub.pq@8238 = 0000000000C918D9</action>
            <!--
            8200 | FB       : ei             // enable interrput
            8201 | 21 00 81 : ld   hl,$8100  // sound code address
            8204 | 3A 0E 80 : ld   a,($800E) // read input
            8207 | B8       : cp   b
            8208 | 47       : ld   b,a
            8209 | 28 F9    : jr   z,$8204
            820B | FE 01    : cp   $01
            820D | 20 01    : jr   nz,$8210
            820F | 35       : dec  (hl)      // decrease code -01
            8210 | FE 02    : cp   $02
            8212 | 20 01    : jr   nz,$8215
            8214 | 34       : inc  (hl)      // increase code +01
            8215 | FE 08    : cp   $08
            8217 | 20 04    : jr   nz,$821D
            8219 | 3E F0    : ld   a,$F0     // decrease code -10
            821B | 18 06    : jr   $8223
            821D | FE 04    : cp   $04
            821F | 20 05    : jr   nz,$8226
            8221 | 3E 10    : ld   a,$10     // increase code +10
            8223 | 86       : add  a,(hl)
            8224 | 77       : ld   (hl),a
            8225 | 78       : ld   a,b
            8226 | FE 10    : cp   $10
            8228 | 20 05    : jr   nz,$822F
            822A | 7E       : ld   a,(hl)    // play sound
            822B | 32 36 80 : ld   ($8036),a
            822E | 78       : ld   a,b
            822F | FE 20    : cp   $20
            8231 | 20 06    : jr   nz,$8239
            8233 | AF       : xor  a         // stop sound
            8234 | D9       : exx
            8235 | CD 0D 1D : call $1D0D     // send sound code
            8238 | D9       : exx
            8239 | 18 C9    : jr   $8204
            -->
            <output format="----- sky wolf 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>sub.pb@8100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@00A9 = 01AA            </action>
            <action>    sub.md@00A9 = CD4818FB        </action>
            <action>    sub.pq@8200 = 0000000000000000</action>
            <action>    sub.pq@8208 = 0000000000000000</action>
            <action>    sub.pq@8210 = 0000000000000000</action>
            <action>    sub.pq@8218 = 0000000000000000</action>
            <action>    sub.pq@8220 = 0000000000000000</action>
            <action>    sub.pq@8228 = 0000000000000000</action>
            <action>    sub.pq@8230 = 0000000000000000</action>
            <action>    sub.pq@8238 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
skywolf3.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2487 = BE</action> <!-- human -->
            <action>maincpu.mb@24A9 = 10</action> <!-- objects -->
        </script>
        <script state="off">
            <action>maincpu.mb@2487 = FE</action>
            <action>maincpu.mb@24A9 = 09</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1BE8 = 96</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1BE8 = D6</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x00c0">02       </item>
            <item value="0x01c0">03       </item>
            <item value="0x02c0">04       </item>
            <item value="0x03c0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@1C66 =  param</action> <!-- up -->
            <action>maincpu.mw@1C6B = -param</action> <!-- down -->
            <action>maincpu.mw@1CDB = -param</action> <!-- right -->
            <action>maincpu.mw@1CE0 =  param</action> <!-- left -->
        </script>
        <script state="off">
            <action>maincpu.mw@1C66 = 00C0</action>
            <action>maincpu.mw@1C6B = FF40</action>
            <action>maincpu.mw@1CDB = FF40</action>
            <action>maincpu.mw@1CE0 = 00C0</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - main shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x06">02       </item>
            <item value="0x09">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x0f">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@2005 = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2005 = FA</action>
        </script>
    </cheat>

    <cheat desc="no inertia">
        <script state="on">
            <action>maincpu.mw@1C47 = 0918</action> <!-- y position -->
            <action>maincpu.mw@1CCA = 0918</action> <!-- x position -->
        </script>
        <script state="off">
            <action>maincpu.mw@1C47 = 2420</action>
            <action>maincpu.mw@1CCA = 1620</action>
        </script>
    </cheat>

    <cheat desc="sub weapon">
        <parameter>
            <item value="0x3a1f86c3">vulcan </item>
            <item value="0x3a203ac3">missile</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@1F75 = 77</action>
        </script>
        <script state="change">
            <action>maincpu.md@1F83 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1F75 = 8D      </action>
            <action>maincpu.md@1F83 = 3A203ACA</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@00A9 = 00A8    </action> <!-- disable main cpu -->
            <action>    sub.md@00A9 = CD8200C3</action>
        </script>
        <script state="run">
            <action>sub.pq@8200 = B8800E3A810021FB</action>
            <action>sub.pq@8208 = 35012001FEF92847</action>
            <action>sub.pq@8210 = 2008FE34012002FE</action>
            <action>sub.pq@8218 = 2004FE0618F03E04</action>
            <action>sub.pq@8220 = 10FE787786103E05</action>
            <action>sub.pq@8228 = FE788036327E0520</action>
            <action>sub.pq@8230 = 1D0DCDD9AF062020</action>
            <action>sub.pq@8238 = 0000000000C918D9</action>
            <!--
            8200 | FB       : ei             // enable interrput
            8201 | 21 00 81 : ld   hl,$8100  // sound code address
            8204 | 3A 0E 80 : ld   a,($800E) // read input
            8207 | B8       : cp   b
            8208 | 47       : ld   b,a
            8209 | 28 F9    : jr   z,$8204
            820B | FE 01    : cp   $01
            820D | 20 01    : jr   nz,$8210
            820F | 35       : dec  (hl)      // decrease code -01
            8210 | FE 02    : cp   $02
            8212 | 20 01    : jr   nz,$8215
            8214 | 34       : inc  (hl)      // increase code +01
            8215 | FE 08    : cp   $08
            8217 | 20 04    : jr   nz,$821D
            8219 | 3E F0    : ld   a,$F0     // decrease code -10
            821B | 18 06    : jr   $8223
            821D | FE 04    : cp   $04
            821F | 20 05    : jr   nz,$8226
            8221 | 3E 10    : ld   a,$10     // increase code +10
            8223 | 86       : add  a,(hl)
            8224 | 77       : ld   (hl),a
            8225 | 78       : ld   a,b
            8226 | FE 10    : cp   $10
            8228 | 20 05    : jr   nz,$822F
            822A | 7E       : ld   a,(hl)    // play sound
            822B | 32 36 80 : ld   ($8036),a
            822E | 78       : ld   a,b
            822F | FE 20    : cp   $20
            8231 | 20 06    : jr   nz,$8239
            8233 | AF       : xor  a         // stop sound
            8234 | D9       : exx
            8235 | CD 0D 1D : call $1D0D     // send sound code
            8238 | D9       : exx
            8239 | 18 C9    : jr   $8204
            -->
            <output format="----- sky wolf 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>sub.pb@8100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@00A9 = 01AA            </action>
            <action>    sub.md@00A9 = CD4818FB        </action>
            <action>    sub.pq@8200 = 0000000000000000</action>
            <action>    sub.pq@8208 = 0000000000000000</action>
            <action>    sub.pq@8210 = 0000000000000000</action>
            <action>    sub.pq@8218 = 0000000000000000</action>
            <action>    sub.pq@8220 = 0000000000000000</action>
            <action>    sub.pq@8228 = 0000000000000000</action>
            <action>    sub.pq@8230 = 0000000000000000</action>
            <action>    sub.pq@8238 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
"no hit" : Fixed for human-type enemy.
Post Reply