[tigerhj] Tiger-Heli

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

[tigerhj] Tiger-Heli

Post by jman »

First of all, this game has in-game rom check so that the following codes cause game crash unless you use together with "skip rom check error".

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mw@1868 = 4e18</action> <!-- bomb -->
        <action>maincpu.mb@18f0 =   c9</action> <!-- player/side heli -->
    </script>
    <script state="off">
        <action>maincpu.mw@1868 = 2620</action>
        <action>maincpu.mb@18f0 =   06</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@1ac0 = 01</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1ac0 = 18</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0100">02       </item>
        <item value="0x0180">03       </item>
        <item value="0x0200">04       </item>
        <item value="0x0280">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@3515 = param</action>
        <action>maincpu.mw@3525 = param</action>
        <action>maincpu.mw@3527 = param</action>
        <action>maincpu.mw@3555 = param</action>
        <action>maincpu.mw@3565 = param</action>
        <action>maincpu.mw@3567 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mw@3515 = 00b4</action>
        <action>maincpu.mw@3525 = 007c</action>
        <action>maincpu.mw@3527 = 007c</action>
        <action>maincpu.mw@3555 = 00e6</action>
        <action>maincpu.mw@3565 = 009e</action>
        <action>maincpu.mw@3567 = 009e</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter min="0x01" max="0x05" step="0x01" />
    <script state="change">
        <action>maincpu.mb@36b6 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@36b6 = 02</action>
    </script>
</cheat>

<cheat desc="unlock secret car">
    <script state="on">
        <action>maincpu.mb@43e4 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@43e4 = 0f</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set rom check error skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@05b6 = 47b8c8073ac01021</action>
        <action>maincpu.mq@05be = fe35012080fef928</action>
        <action>maincpu.mq@05c6 = 032001fe34012040</action>
        <action>maincpu.mq@05ce = 3e052002fe06187e</action>
        <action>maincpu.mq@05d6 = 0000dd18c80032fe</action>
        <!--
        05b6 | 21 10 c0 : ld  hl,$C010  // sound code address
        05b9 | 3a 07 c8 : ld  a,($C807) // read input
        05bc | b8       : cp  b
        05bd | 47       : ld  b,a
        05be | 28 f9    : jr  z,$05B9
        05c0 | fe 80    : cp  $80
        05c2 | 20 01    : jr  nz,$05C5
        05c4 | 35       : dec (hl)      // decrease code
        05c5 | fe 40    : cp  $40
        05c7 | 20 01    : jr  nz,$05CA
        05c9 | 34       : inc (hl)      // increase code
        05ca | fe 01    : cp  $01
        05cc | 20 03    : jr  nz,$05D1
        05ce | 7e       : ld  a,(hl)    // play sound
        05cf | 18 06    : jr  $05D7
        05d1 | fe 02    : cp  $02
        05d3 | 20 05    : jr  nz,$05DA
        05d5 | 3e fe    : ld  a,$FE     // stop sound
        05d7 | 32 00 c8 : ld  ($C800),a // send sound code
        05da | 18 dd    : jr  $05B9
        -->
    </script>
    <script state="run">
        <output format="----- tiger-heli 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@c010</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@05b6 = 1006d7c011d00021</action>
        <action>maincpu.mq@05be = 090040010606cdc5</action>
        <action>maincpu.mq@05c6 = 10c1eb09ffc001eb</action>
        <action>maincpu.mq@05ce = 603e0806f00121ef</action>
        <action>maincpu.mq@05d6 = 042101e5c52d3e08</action>
    </script>
</cheat>

<cheat desc="skip rom check error">
    <script state="on">
        <action> maincpu.mw@053e = 0df3</action> <!-- in-game -->
        <action> maincpu.mw@a817 = 1b18</action> <!-- boot -->
        <action>audiocpu.mw@1f28 = 0918</action> <!-- wait main cpu -->
    </script>
    <script state="off">
        <action> maincpu.mw@053e = 0e54</action>
        <action> maincpu.mw@a817 = 676f</action>
        <action>audiocpu.mw@1f28 = 0021</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[tigerhj] Tiger-Heli (update)

Post by jman »

Code: Select all

<cheat desc="player speed">
    <parameter>
        <item value="0x0040">01 (slow)</item>
        <item value="0x0080">02       </item>
        <item value="0x0180">03       </item>
        <item value="0x0280">04       </item>
        <item value="0x0380">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@3515 = param</action>
        <action>maincpu.mw@3525 = param</action>
        <action>maincpu.mw@3527 = param</action>
        <action>maincpu.mw@3555 = param</action>
        <action>maincpu.mw@3565 = param</action>
        <action>maincpu.mw@3567 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mw@3515 = 00b4</action>
        <action>maincpu.mw@3525 = 007c</action>
        <action>maincpu.mw@3527 = 007c</action>
        <action>maincpu.mw@3555 = 00e6</action>
        <action>maincpu.mw@3565 = 009e</action>
        <action>maincpu.mw@3567 = 009e</action>
    </script>
</cheat>
"player speed" : adjust item values.

Code: Select all

<cheat desc="bullet range">
    <parameter>
        <item value="0x10">01 (short)</item>
        <item value="0x20">02        </item>
        <item value="0x30">03        </item>
        <item value="0x40">04        </item>
        <item value="0x50">05 (long) </item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@22d8 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@22d8 = 20</action>
    </script>
</cheat>
"bullet range" : add new.

Code: Select all

<cheat desc="short hit mark">
    <script state="on">
        <action>maincpu.mb@25db = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@25db = 08</action>
    </script>
</cheat>
"short hit mark" : add new.

Code: Select all

<cheat desc="sound test mode">
    <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@05b6 = 073ac0102107cdcd</action>
        <action>maincpu.mq@05be = 2080fef92847b8c8</action>
        <action>maincpu.mq@05c6 = fe34012040fe3501</action>
        <action>maincpu.mq@05ce = fe0618f03e042020</action>
        <action>maincpu.mq@05d6 = 787786103e052010</action>
        <action>maincpu.mq@05de = fe06187e032001fe</action>
        <action>maincpu.mq@05e6 = c80032fe3e052002</action>
        <action>maincpu.mq@05ee = 32c2043ac132cc18</action>
        <!--
        05b6 | cd cd 07 : call $07CD     // erase screen
        05b9 | 21 10 c0 : ld   hl,$C010  // sound code address
        05bc | 3a 07 c8 : ld   a,($C807) // read input
        05bf | b8       : cp   b
        05c0 | 47       : ld   b,a
        05c1 | 28 f9    : jr   z,$05BC
        05c3 | fe 80    : cp   $80
        05c5 | 20 01    : jr   nz,$05C8
        05c7 | 35       : dec  (hl)      // decrease code -01
        05c8 | fe 40    : cp   $40
        05ca | 20 01    : jr   nz,$05CD
        05cc | 34       : inc  (hl)      // increase code +01
        05cd | fe 20    : cp   $20
        05cf | 20 04    : jr   nz,$05D5
        05d1 | 3e f0    : ld   a,$F0     // decrease code -10
        05d3 | 18 06    : jr   $05DB
        05d5 | fe 10    : cp   $10
        05d7 | 20 05    : jr   nz,$05DE
        05d9 | 3e 10    : ld   a,$10     // increase code +10
        05db | 86       : add  a,(hl)
        05dc | 77       : ld   (hl),a
        05dd | 78       : ld   a,b
        05de | fe 01    : cp   $01
        05e0 | 20 03    : jr   nz,$05E5
        05e2 | 7e       : ld   a,(hl)    // play sound
        05e3 | 18 06    : jr   $05EB
        05e5 | fe 02    : cp   $02
        05e7 | 20 05    : jr   nz,$05EE
        05e9 | 3e fe    : ld   a,$FE     // stop sound
        05eb | 32 00 c8 : ld   ($C800),a // send sound code
        05ee | 18 cc    : jr   $05BC
        -->
    </script>
    <script state="run">
        <output format="----- tiger-heli 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@c010</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@05b6 = 1006d7c011d00021</action>
        <action>maincpu.mq@05be = 090040010606cdc5</action>
        <action>maincpu.mq@05c6 = 10c1eb09ffc001eb</action>
        <action>maincpu.mq@05ce = 603e0806f00121ef</action>
        <action>maincpu.mq@05d6 = 042101e5c52d3e08</action>
        <action>maincpu.mq@05de = 01e10614cd002bcd</action>
        <action>maincpu.mq@05e6 = 0021ed10c1090100</action>
        <action>maincpu.mq@05ee = 32c2043ac1322200</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

[tigerh]+ Tiger-Heli

Post by jman »

First of all, any ROM codes cause the game freeze in this game due to in-game ROM check.
Unfortunately, the cheat database based on 0.259 has ROM codes for invincibility.
"Skip ROM Check" exists but this code works for "boot" ROM check only.
In the past, invalid bug report was posted at MAME testers (See https://mametesters.org/view.php?id=1985) because reporter fell into this trap.

So "skip rom check error" I posted is "highly recommended".
Don't turn off. This feature is very slow and long so that the game suddenly freezes/resets without any messages in the latter level.

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@1868 = 4E18</action> <!-- bomb -->
            <action>maincpu.mb@18F0 = C9  </action> <!-- player/side heli -->
        </script>
        <script state="off">
            <action>maincpu.mw@1868 = 2620</action>
            <action>maincpu.mb@18F0 = 06  </action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@1AC0 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1AC0 = 18</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0040">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0180">03       </item>
            <item value="0x0280">04       </item>
            <item value="0x0380">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3515 = param</action>
            <action>maincpu.mw@3525 = param</action>
            <action>maincpu.mw@3527 = param</action>
            <action>maincpu.mw@3555 = param</action>
            <action>maincpu.mw@3565 = param</action>
            <action>maincpu.mw@3567 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3515 = 00B4</action>
            <action>maincpu.mw@3525 = 007C</action>
            <action>maincpu.mw@3527 = 007C</action>
            <action>maincpu.mw@3555 = 00E6</action>
            <action>maincpu.mw@3565 = 009E</action>
            <action>maincpu.mw@3567 = 009E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="change">
            <action>maincpu.mb@36B6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@36B6 = 02</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x10">01 (short)</item>
            <item value="0x20">02        </item>
            <item value="0x30">03        </item>
            <item value="0x40">04        </item>
            <item value="0x50">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@22D8 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@22D8 = 20</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@25DB = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@25DB = 08</action>
        </script>
    </cheat>

    <cheat desc="hidden car finder">
        <script state="on">
            <action>maincpu.mb@43F4 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@43F4 = 0F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@05B6 = 073AC0002107CDCD</action>
            <action>maincpu.mq@05BE = 2080FEF92847B8C8</action>
            <action>maincpu.mq@05C6 = FE34012040FE3501</action>
            <action>maincpu.mq@05CE = FE0618F03E042020</action>
            <action>maincpu.mq@05D6 = 787786103E052010</action>
            <action>maincpu.mq@05DE = FE06187E032001FE</action>
            <action>maincpu.mq@05E6 = C80032FE3E052002</action>
            <action>maincpu.mq@05EE = 32C2043AC132CC18</action>
            <!--
            05B6 | CD CD 07 : call $07CD     // erase screen
            05B9 | 21 10 C0 : ld   hl,$C000  // sound code address
            05BC | 3A 07 C8 : ld   a,($C807) // read input
            05BF | B8       : cp   b
            05C0 | 47       : ld   b,a
            05C1 | 28 F9    : jr   z,$05BC
            05C3 | FE 80    : cp   $80
            05C5 | 20 01    : jr   nz,$05C8
            05C7 | 35       : dec  (hl)      // decrease code -01
            05C8 | FE 40    : cp   $40
            05CA | 20 01    : jr   nz,$05CD
            05CC | 34       : inc  (hl)      // increase code +01
            05CD | FE 20    : cp   $20
            05CF | 20 04    : jr   nz,$05D5
            05D1 | 3E F0    : ld   a,$F0     // decrease code -10
            05D3 | 18 06    : jr   $05DB
            05D5 | FE 10    : cp   $10
            05D7 | 20 05    : jr   nz,$05DE
            05D9 | 3E 10    : ld   a,$10     // increase code +10
            05DB | 86       : add  a,(hl)
            05DC | 77       : ld   (hl),a
            05DD | 78       : ld   a,b
            05DE | FE 01    : cp   $01
            05E0 | 20 03    : jr   nz,$05E5
            05E2 | 7E       : ld   a,(hl)    // play sound
            05E3 | 18 06    : jr   $05EB
            05E5 | FE 02    : cp   $02
            05E7 | 20 05    : jr   nz,$05EE
            05E9 | 3E FE    : ld   a,$FE     // stop sound
            05EB | 32 00 C8 : ld   ($C800),a // send sound code
            05EE | 18 CC    : jr   $05BC
            -->
        </script>
        <script state="run">
            <output format="----- tiger-heli 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@05B6 = 1006D7C011D00021</action>
            <action>maincpu.mq@05BE = 090040010606CDC5</action>
            <action>maincpu.mq@05C6 = 10C1EB09FFC001EB</action>
            <action>maincpu.mq@05CE = 603E0806F00121EF</action>
            <action>maincpu.mq@05D6 = 042101E5C52D3E08</action>
            <action>maincpu.mq@05DE = 01E10614CD002BCD</action>
            <action>maincpu.mq@05E6 = 0021ED10C1090100</action>
            <action>maincpu.mq@05EE = 32C2043AC1322200</action>
        </script>
    </cheat>

    <cheat desc="skip rom check error">
        <script state="on">
            <action> maincpu.mw@053E = 0DF3</action> <!-- ingame -->
            <action> maincpu.mw@A827 = 1B18</action> <!-- boot -->
            <action>audiocpu.mw@1F28 = 0918</action> <!-- wait main cpu -->
        </script>
        <script state="off">
            <action> maincpu.mw@053E = 0E54</action>
            <action> maincpu.mw@A827 = 676F</action>
            <action>audiocpu.mw@1F28 = 0021</action>
        </script>
    </cheat>

</mamecheat>
tigerhj.xml

Code: Select all

<!-- Tiger-Heli (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@1868 = 4E18</action> <!-- bomb -->
            <action>maincpu.mb@18F0 = C9  </action> <!-- player/side heli -->
        </script>
        <script state="off">
            <action>maincpu.mw@1868 = 2620</action>
            <action>maincpu.mb@18F0 = 06  </action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@1AC0 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1AC0 = 18</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0040">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0180">03       </item>
            <item value="0x0280">04       </item>
            <item value="0x0380">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3515 = param</action>
            <action>maincpu.mw@3525 = param</action>
            <action>maincpu.mw@3527 = param</action>
            <action>maincpu.mw@3555 = param</action>
            <action>maincpu.mw@3565 = param</action>
            <action>maincpu.mw@3567 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3515 = 00B4</action>
            <action>maincpu.mw@3525 = 007C</action>
            <action>maincpu.mw@3527 = 007C</action>
            <action>maincpu.mw@3555 = 00E6</action>
            <action>maincpu.mw@3565 = 009E</action>
            <action>maincpu.mw@3567 = 009E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="change">
            <action>maincpu.mb@36B6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@36B6 = 02</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x10">01 (short)</item>
            <item value="0x20">02        </item>
            <item value="0x30">03        </item>
            <item value="0x40">04        </item>
            <item value="0x50">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@22D8 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@22D8 = 20</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@25DB = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@25DB = 08</action>
        </script>
    </cheat>

    <cheat desc="hidden car finder">
        <script state="on">
            <action>maincpu.mb@43E4 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@43E4 = 0F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@05B6 = 073AC0002107CDCD</action>
            <action>maincpu.mq@05BE = 2080FEF92847B8C8</action>
            <action>maincpu.mq@05C6 = FE34012040FE3501</action>
            <action>maincpu.mq@05CE = FE0618F03E042020</action>
            <action>maincpu.mq@05D6 = 787786103E052010</action>
            <action>maincpu.mq@05DE = FE06187E032001FE</action>
            <action>maincpu.mq@05E6 = C80032FE3E052002</action>
            <action>maincpu.mq@05EE = 32C2043AC132CC18</action>
            <!--
            05B6 | CD CD 07 : call $07CD     // erase screen
            05B9 | 21 10 C0 : ld   hl,$C000  // sound code address
            05BC | 3A 07 C8 : ld   a,($C807) // read input
            05BF | B8       : cp   b
            05C0 | 47       : ld   b,a
            05C1 | 28 F9    : jr   z,$05BC
            05C3 | FE 80    : cp   $80
            05C5 | 20 01    : jr   nz,$05C8
            05C7 | 35       : dec  (hl)      // decrease code -01
            05C8 | FE 40    : cp   $40
            05CA | 20 01    : jr   nz,$05CD
            05CC | 34       : inc  (hl)      // increase code +01
            05CD | FE 20    : cp   $20
            05CF | 20 04    : jr   nz,$05D5
            05D1 | 3E F0    : ld   a,$F0     // decrease code -10
            05D3 | 18 06    : jr   $05DB
            05D5 | FE 10    : cp   $10
            05D7 | 20 05    : jr   nz,$05DE
            05D9 | 3E 10    : ld   a,$10     // increase code +10
            05DB | 86       : add  a,(hl)
            05DC | 77       : ld   (hl),a
            05DD | 78       : ld   a,b
            05DE | FE 01    : cp   $01
            05E0 | 20 03    : jr   nz,$05E5
            05E2 | 7E       : ld   a,(hl)    // play sound
            05E3 | 18 06    : jr   $05EB
            05E5 | FE 02    : cp   $02
            05E7 | 20 05    : jr   nz,$05EE
            05E9 | 3E FE    : ld   a,$FE     // stop sound
            05EB | 32 00 C8 : ld   ($C800),a // send sound code
            05EE | 18 CC    : jr   $05BC
            -->
        </script>
        <script state="run">
            <output format="----- tiger-heli 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@05B6 = 1006D7C011D00021</action>
            <action>maincpu.mq@05BE = 090040010606CDC5</action>
            <action>maincpu.mq@05C6 = 10C1EB09FFC001EB</action>
            <action>maincpu.mq@05CE = 603E0806F00121EF</action>
            <action>maincpu.mq@05D6 = 042101E5C52D3E08</action>
            <action>maincpu.mq@05DE = 01E10614CD002BCD</action>
            <action>maincpu.mq@05E6 = 0021ED10C1090100</action>
            <action>maincpu.mq@05EE = 32C2043AC1322200</action>
        </script>
    </cheat>

    <cheat desc="skip rom check error">
        <script state="on">
            <action> maincpu.mw@053E = 0DF3</action> <!-- ingame -->
            <action> maincpu.mw@A817 = 1B18</action> <!-- boot -->
            <action>audiocpu.mw@1F28 = 0918</action> <!-- wait main cpu -->
        </script>
        <script state="off">
            <action> maincpu.mw@053E = 0E54</action>
            <action> maincpu.mw@A817 = 676F</action>
            <action>audiocpu.mw@1F28 = 0021</action>
        </script>
    </cheat>

</mamecheat>
tigerhb1.xml

Code: Select all

<!-- Tiger-Heli (bootleg set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@1868 = 4E18</action> <!-- bomb -->
            <action>maincpu.mb@18F0 = C9  </action> <!-- player/side heli -->
        </script>
        <script state="off">
            <action>maincpu.mw@1868 = 2620</action>
            <action>maincpu.mb@18F0 = 06  </action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@1AC0 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1AC0 = 18</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0040">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0180">03       </item>
            <item value="0x0280">04       </item>
            <item value="0x0380">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3515 = param</action>
            <action>maincpu.mw@3525 = param</action>
            <action>maincpu.mw@3527 = param</action>
            <action>maincpu.mw@3555 = param</action>
            <action>maincpu.mw@3565 = param</action>
            <action>maincpu.mw@3567 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3515 = 00B4</action>
            <action>maincpu.mw@3525 = 007C</action>
            <action>maincpu.mw@3527 = 007C</action>
            <action>maincpu.mw@3555 = 00E6</action>
            <action>maincpu.mw@3565 = 009E</action>
            <action>maincpu.mw@3567 = 009E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="change">
            <action>maincpu.mb@36B6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@36B6 = 02</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x10">01 (short)</item>
            <item value="0x20">02        </item>
            <item value="0x30">03        </item>
            <item value="0x40">04        </item>
            <item value="0x50">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@22D8 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@22D8 = 20</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@25DB = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@25DB = 08</action>
        </script>
    </cheat>

    <cheat desc="hidden car finder">
        <script state="on">
            <action>maincpu.mb@43E4 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@43E4 = 0F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@05B6 = 073AC0002107CDCD</action>
            <action>maincpu.mq@05BE = 2080FEF92847B8C8</action>
            <action>maincpu.mq@05C6 = FE34012040FE3501</action>
            <action>maincpu.mq@05CE = FE0618F03E042020</action>
            <action>maincpu.mq@05D6 = 787786103E052010</action>
            <action>maincpu.mq@05DE = FE06187E032001FE</action>
            <action>maincpu.mq@05E6 = C80032FE3E052002</action>
            <action>maincpu.mq@05EE = 32C2043AC132CC18</action>
            <!--
            05B6 | CD CD 07 : call $07CD     // erase screen
            05B9 | 21 10 C0 : ld   hl,$C000  // sound code address
            05BC | 3A 07 C8 : ld   a,($C807) // read input
            05BF | B8       : cp   b
            05C0 | 47       : ld   b,a
            05C1 | 28 F9    : jr   z,$05BC
            05C3 | FE 80    : cp   $80
            05C5 | 20 01    : jr   nz,$05C8
            05C7 | 35       : dec  (hl)      // decrease code -01
            05C8 | FE 40    : cp   $40
            05CA | 20 01    : jr   nz,$05CD
            05CC | 34       : inc  (hl)      // increase code +01
            05CD | FE 20    : cp   $20
            05CF | 20 04    : jr   nz,$05D5
            05D1 | 3E F0    : ld   a,$F0     // decrease code -10
            05D3 | 18 06    : jr   $05DB
            05D5 | FE 10    : cp   $10
            05D7 | 20 05    : jr   nz,$05DE
            05D9 | 3E 10    : ld   a,$10     // increase code +10
            05DB | 86       : add  a,(hl)
            05DC | 77       : ld   (hl),a
            05DD | 78       : ld   a,b
            05DE | FE 01    : cp   $01
            05E0 | 20 03    : jr   nz,$05E5
            05E2 | 7E       : ld   a,(hl)    // play sound
            05E3 | 18 06    : jr   $05EB
            05E5 | FE 02    : cp   $02
            05E7 | 20 05    : jr   nz,$05EE
            05E9 | 3E FE    : ld   a,$FE     // stop sound
            05EB | 32 00 C8 : ld   ($C800),a // send sound code
            05EE | 18 CC    : jr   $05BC
            -->
        </script>
        <script state="run">
            <output format="----- tiger-heli 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@05B6 = 1006D7C011D00021</action>
            <action>maincpu.mq@05BE = 090040010606CDC5</action>
            <action>maincpu.mq@05C6 = 10C1EB09FFC001EB</action>
            <action>maincpu.mq@05CE = 603E0806F00121EF</action>
            <action>maincpu.mq@05D6 = 042101E5C52D3E08</action>
            <action>maincpu.mq@05DE = 01E10614CD002BCD</action>
            <action>maincpu.mq@05E6 = 0021ED10C1090100</action>
            <action>maincpu.mq@05EE = 32C2043AC1322200</action>
        </script>
    </cheat>

    <cheat desc="skip rom check error">
        <script state="on">
            <action> maincpu.mw@053E = 0DF3</action> <!-- ingame -->
            <action> maincpu.mw@A817 = 1B18</action> <!-- boot -->
            <action>audiocpu.mw@1F28 = 0918</action> <!-- wait main cpu -->
        </script>
        <script state="off">
            <action> maincpu.mw@053E = 0E54</action>
            <action> maincpu.mw@A817 = 676F</action>
            <action>audiocpu.mw@1F28 = 0021</action>
        </script>
    </cheat>

</mamecheat>
tigerhb2.xml

Code: Select all

<!-- Tiger-Heli (bootleg set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@1868 = 4E18</action> <!-- bomb -->
            <action>maincpu.mb@18F0 = C9  </action> <!-- player/side heli -->
        </script>
        <script state="off">
            <action>maincpu.mw@1868 = 2620</action>
            <action>maincpu.mb@18F0 = 06  </action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@1AC0 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1AC0 = 18</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0040">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0180">03       </item>
            <item value="0x0280">04       </item>
            <item value="0x0380">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3515 = param</action>
            <action>maincpu.mw@3525 = param</action>
            <action>maincpu.mw@3527 = param</action>
            <action>maincpu.mw@3555 = param</action>
            <action>maincpu.mw@3565 = param</action>
            <action>maincpu.mw@3567 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3515 = 00B4</action>
            <action>maincpu.mw@3525 = 007C</action>
            <action>maincpu.mw@3527 = 007C</action>
            <action>maincpu.mw@3555 = 00E6</action>
            <action>maincpu.mw@3565 = 009E</action>
            <action>maincpu.mw@3567 = 009E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="change">
            <action>maincpu.mb@36B6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@36B6 = 02</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x10">01 (short)</item>
            <item value="0x20">02        </item>
            <item value="0x30">03        </item>
            <item value="0x40">04        </item>
            <item value="0x50">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@22D8 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@22D8 = 20</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@25DB = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@25DB = 08</action>
        </script>
    </cheat>

    <cheat desc="hidden car finder">
        <script state="on">
            <action>maincpu.mb@43E4 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@43E4 = 0F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@05B6 = 073AC0002107CDCD</action>
            <action>maincpu.mq@05BE = 2080FEF92847B8C8</action>
            <action>maincpu.mq@05C6 = FE34012040FE3501</action>
            <action>maincpu.mq@05CE = FE0618F03E042020</action>
            <action>maincpu.mq@05D6 = 787786103E052010</action>
            <action>maincpu.mq@05DE = FE06187E032001FE</action>
            <action>maincpu.mq@05E6 = C80032FE3E052002</action>
            <action>maincpu.mq@05EE = 32C2043AC132CC18</action>
            <!--
            05B6 | CD CD 07 : call $07CD     // erase screen
            05B9 | 21 10 C0 : ld   hl,$C000  // sound code address
            05BC | 3A 07 C8 : ld   a,($C807) // read input
            05BF | B8       : cp   b
            05C0 | 47       : ld   b,a
            05C1 | 28 F9    : jr   z,$05BC
            05C3 | FE 80    : cp   $80
            05C5 | 20 01    : jr   nz,$05C8
            05C7 | 35       : dec  (hl)      // decrease code -01
            05C8 | FE 40    : cp   $40
            05CA | 20 01    : jr   nz,$05CD
            05CC | 34       : inc  (hl)      // increase code +01
            05CD | FE 20    : cp   $20
            05CF | 20 04    : jr   nz,$05D5
            05D1 | 3E F0    : ld   a,$F0     // decrease code -10
            05D3 | 18 06    : jr   $05DB
            05D5 | FE 10    : cp   $10
            05D7 | 20 05    : jr   nz,$05DE
            05D9 | 3E 10    : ld   a,$10     // increase code +10
            05DB | 86       : add  a,(hl)
            05DC | 77       : ld   (hl),a
            05DD | 78       : ld   a,b
            05DE | FE 01    : cp   $01
            05E0 | 20 03    : jr   nz,$05E5
            05E2 | 7E       : ld   a,(hl)    // play sound
            05E3 | 18 06    : jr   $05EB
            05E5 | FE 02    : cp   $02
            05E7 | 20 05    : jr   nz,$05EE
            05E9 | 3E FE    : ld   a,$FE     // stop sound
            05EB | 32 00 C8 : ld   ($C800),a // send sound code
            05EE | 18 CC    : jr   $05BC
            -->
        </script>
        <script state="run">
            <output format="----- tiger-heli 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@05B6 = 1006D7C011D00021</action>
            <action>maincpu.mq@05BE = 090040010606CDC5</action>
            <action>maincpu.mq@05C6 = 10C1EB09FFC001EB</action>
            <action>maincpu.mq@05CE = 603E0806F00121EF</action>
            <action>maincpu.mq@05D6 = 042101E5C52D3E08</action>
            <action>maincpu.mq@05DE = 01E10614CD002BCD</action>
            <action>maincpu.mq@05E6 = 0021ED10C1090100</action>
            <action>maincpu.mq@05EE = 32C2043AC1322200</action>
        </script>
    </cheat>

    <cheat desc="skip rom check error">
        <script state="on">
            <action> maincpu.mw@053E = 0DF3</action> <!-- ingame -->
            <action> maincpu.mw@A817 = 1B18</action> <!-- boot -->
            <action>audiocpu.mw@1F28 = 0918</action> <!-- wait main cpu -->
        </script>
        <script state="off">
            <action> maincpu.mw@053E = 0E54</action>
            <action> maincpu.mw@A817 = 676F</action>
            <action>audiocpu.mw@1F28 = 0021</action>
        </script>
    </cheat>

</mamecheat>
tigerhb3.xml

Code: Select all

<!-- Tiger-Heli (bootleg set 3) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@1868 = 4E18</action> <!-- bomb -->
            <action>maincpu.mb@18F0 = C9  </action> <!-- player/side heli -->
        </script>
        <script state="off">
            <action>maincpu.mw@1868 = 2620</action>
            <action>maincpu.mb@18F0 = 06  </action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@1AC0 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1AC0 = 18</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0040">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0180">03       </item>
            <item value="0x0280">04       </item>
            <item value="0x0380">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3515 = param</action>
            <action>maincpu.mw@3525 = param</action>
            <action>maincpu.mw@3527 = param</action>
            <action>maincpu.mw@3555 = param</action>
            <action>maincpu.mw@3565 = param</action>
            <action>maincpu.mw@3567 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3515 = 00B4</action>
            <action>maincpu.mw@3525 = 007C</action>
            <action>maincpu.mw@3527 = 007C</action>
            <action>maincpu.mw@3555 = 00E6</action>
            <action>maincpu.mw@3565 = 009E</action>
            <action>maincpu.mw@3567 = 009E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="change">
            <action>maincpu.mb@36B6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@36B6 = 02</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x10">01 (short)</item>
            <item value="0x20">02        </item>
            <item value="0x30">03        </item>
            <item value="0x40">04        </item>
            <item value="0x50">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@22D8 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@22D8 = 20</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@25DB = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@25DB = 08</action>
        </script>
    </cheat>

    <cheat desc="hidden car finder">
        <script state="on">
            <action>maincpu.mb@43E4 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@43E4 = 0F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@05B6 = 073AC0002107CDCD</action>
            <action>maincpu.mq@05BE = 2080FEF92847B8C8</action>
            <action>maincpu.mq@05C6 = FE34012040FE3501</action>
            <action>maincpu.mq@05CE = FE0618F03E042020</action>
            <action>maincpu.mq@05D6 = 787786103E052010</action>
            <action>maincpu.mq@05DE = FE06187E032001FE</action>
            <action>maincpu.mq@05E6 = C80032FE3E052002</action>
            <action>maincpu.mq@05EE = 32C2043AC132CC18</action>
            <!--
            05B6 | CD CD 07 : call $07CD     // erase screen
            05B9 | 21 10 C0 : ld   hl,$C000  // sound code address
            05BC | 3A 07 C8 : ld   a,($C807) // read input
            05BF | B8       : cp   b
            05C0 | 47       : ld   b,a
            05C1 | 28 F9    : jr   z,$05BC
            05C3 | FE 80    : cp   $80
            05C5 | 20 01    : jr   nz,$05C8
            05C7 | 35       : dec  (hl)      // decrease code -01
            05C8 | FE 40    : cp   $40
            05CA | 20 01    : jr   nz,$05CD
            05CC | 34       : inc  (hl)      // increase code +01
            05CD | FE 20    : cp   $20
            05CF | 20 04    : jr   nz,$05D5
            05D1 | 3E F0    : ld   a,$F0     // decrease code -10
            05D3 | 18 06    : jr   $05DB
            05D5 | FE 10    : cp   $10
            05D7 | 20 05    : jr   nz,$05DE
            05D9 | 3E 10    : ld   a,$10     // increase code +10
            05DB | 86       : add  a,(hl)
            05DC | 77       : ld   (hl),a
            05DD | 78       : ld   a,b
            05DE | FE 01    : cp   $01
            05E0 | 20 03    : jr   nz,$05E5
            05E2 | 7E       : ld   a,(hl)    // play sound
            05E3 | 18 06    : jr   $05EB
            05E5 | FE 02    : cp   $02
            05E7 | 20 05    : jr   nz,$05EE
            05E9 | 3E FE    : ld   a,$FE     // stop sound
            05EB | 32 00 C8 : ld   ($C800),a // send sound code
            05EE | 18 CC    : jr   $05BC
            -->
        </script>
        <script state="run">
            <output format="----- tiger-heli 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@05B6 = 1006D7C011D00021</action>
            <action>maincpu.mq@05BE = 090040010606CDC5</action>
            <action>maincpu.mq@05C6 = 10C1EB09FFC001EB</action>
            <action>maincpu.mq@05CE = 603E0806F00121EF</action>
            <action>maincpu.mq@05D6 = 042101E5C52D3E08</action>
            <action>maincpu.mq@05DE = 01E10614CD002BCD</action>
            <action>maincpu.mq@05E6 = 0021ED10C1090100</action>
            <action>maincpu.mq@05EE = 32C2043AC1322200</action>
        </script>
    </cheat>

    <cheat desc="skip rom check error">
        <script state="on">
            <action> maincpu.mw@053E = 0DF3</action> <!-- ingame -->
            <action> maincpu.mw@A817 = 1B18</action> <!-- boot -->
            <action>audiocpu.mw@1F28 = 0918</action> <!-- wait main cpu -->
        </script>
        <script state="off">
            <action> maincpu.mw@053E = 0E54</action>
            <action> maincpu.mw@A817 = 676F</action>
            <action>audiocpu.mw@1F28 = 0021</action>
        </script>
    </cheat>

</mamecheat>
tigerhb4.xml

Code: Select all

<!-- Tiger-Heli (bootleg set 4) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@1868 = 4E18</action> <!-- bomb -->
            <action>maincpu.mb@18F0 = C9  </action> <!-- player/side heli -->
        </script>
        <script state="off">
            <action>maincpu.mw@1868 = 2620</action>
            <action>maincpu.mb@18F0 = 06  </action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@1AC0 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1AC0 = 18</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0040">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0180">03       </item>
            <item value="0x0280">04       </item>
            <item value="0x0380">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3515 = param</action>
            <action>maincpu.mw@3525 = param</action>
            <action>maincpu.mw@3527 = param</action>
            <action>maincpu.mw@3555 = param</action>
            <action>maincpu.mw@3565 = param</action>
            <action>maincpu.mw@3567 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3515 = 00B4</action>
            <action>maincpu.mw@3525 = 007C</action>
            <action>maincpu.mw@3527 = 007C</action>
            <action>maincpu.mw@3555 = 00E6</action>
            <action>maincpu.mw@3565 = 009E</action>
            <action>maincpu.mw@3567 = 009E</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="change">
            <action>maincpu.mb@36B6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@36B6 = 02</action>
        </script>
    </cheat>

    <cheat desc="bullet range">
        <parameter>
            <item value="0x10">01 (short)</item>
            <item value="0x20">02        </item>
            <item value="0x30">03        </item>
            <item value="0x40">04        </item>
            <item value="0x50">05 (long) </item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@22D8 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@22D8 = 20</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@25DB = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@25DB = 08</action>
        </script>
    </cheat>

    <cheat desc="hidden car finder">
        <script state="on">
            <action>maincpu.mb@43E4 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@43E4 = 0F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@05B6 = 073AC0002107CDCD</action>
            <action>maincpu.mq@05BE = 2080FEF92847B8C8</action>
            <action>maincpu.mq@05C6 = FE34012040FE3501</action>
            <action>maincpu.mq@05CE = FE0618F03E042020</action>
            <action>maincpu.mq@05D6 = 787786103E052010</action>
            <action>maincpu.mq@05DE = FE06187E032001FE</action>
            <action>maincpu.mq@05E6 = C80032FE3E052002</action>
            <action>maincpu.mq@05EE = 32C2043AC132CC18</action>
            <!--
            05B6 | CD CD 07 : call $07CD     // erase screen
            05B9 | 21 10 C0 : ld   hl,$C000  // sound code address
            05BC | 3A 07 C8 : ld   a,($C807) // read input
            05BF | B8       : cp   b
            05C0 | 47       : ld   b,a
            05C1 | 28 F9    : jr   z,$05BC
            05C3 | FE 80    : cp   $80
            05C5 | 20 01    : jr   nz,$05C8
            05C7 | 35       : dec  (hl)      // decrease code -01
            05C8 | FE 40    : cp   $40
            05CA | 20 01    : jr   nz,$05CD
            05CC | 34       : inc  (hl)      // increase code +01
            05CD | FE 20    : cp   $20
            05CF | 20 04    : jr   nz,$05D5
            05D1 | 3E F0    : ld   a,$F0     // decrease code -10
            05D3 | 18 06    : jr   $05DB
            05D5 | FE 10    : cp   $10
            05D7 | 20 05    : jr   nz,$05DE
            05D9 | 3E 10    : ld   a,$10     // increase code +10
            05DB | 86       : add  a,(hl)
            05DC | 77       : ld   (hl),a
            05DD | 78       : ld   a,b
            05DE | FE 01    : cp   $01
            05E0 | 20 03    : jr   nz,$05E5
            05E2 | 7E       : ld   a,(hl)    // play sound
            05E3 | 18 06    : jr   $05EB
            05E5 | FE 02    : cp   $02
            05E7 | 20 05    : jr   nz,$05EE
            05E9 | 3E FE    : ld   a,$FE     // stop sound
            05EB | 32 00 C8 : ld   ($C800),a // send sound code
            05EE | 18 CC    : jr   $05BC
            -->
        </script>
        <script state="run">
            <output format="----- tiger-heli 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@05B6 = 1006D7C011D00021</action>
            <action>maincpu.mq@05BE = 090040010606CDC5</action>
            <action>maincpu.mq@05C6 = 10C1EB09FFC001EB</action>
            <action>maincpu.mq@05CE = 603E0806F00121EF</action>
            <action>maincpu.mq@05D6 = 042101E5C52D3E08</action>
            <action>maincpu.mq@05DE = 01E10614CD002BCD</action>
            <action>maincpu.mq@05E6 = 0021ED10C1090100</action>
            <action>maincpu.mq@05EE = 32C2043AC1322200</action>
        </script>
    </cheat>

    <cheat desc="skip rom check error">
        <script state="on">
            <action> maincpu.mw@053E = 0DF3</action> <!-- ingame -->
            <action> maincpu.mw@A817 = 1B18</action> <!-- boot -->
            <action>audiocpu.mw@1F28 = 0918</action> <!-- wait main cpu -->
        </script>
        <script state="off">
            <action> maincpu.mw@053E = 0E54</action>
            <action> maincpu.mw@A817 = 676F</action>
            <action>audiocpu.mw@1F28 = 0021</action>
        </script>
    </cheat>

</mamecheat>
Post Reply