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 "skip rom check error" 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="<< sound code %02X >>" 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 "skip rom check error" 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="<< sound code %02X >>" 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 "skip rom check error" 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="<< sound code %02X >>" 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 "skip rom check error" 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="<< sound code %02X >>" 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 "skip rom check error" 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="<< sound code %02X >>" 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 "skip rom check error" 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="<< sound code %02X >>" 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>