Page 1 of 1

[ktiger] Twin Cobra/Kyukyoku Tiger

Posted: Sun Dec 20, 2020 1:59 pm
by jman
First of all, this game has in-game rom check. The following codes cause game crash unless you set "skip rom error".

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mw@234ba = 6018</action> <!-- enemy -->
        <action>maincpu.mw@23496 = 6018</action> <!-- bullet -->
        <action>maincpu.mb@21b98 =   60</action> <!-- middle enemy -->
    </script>
    <script state="off">
        <action>maincpu.mw@234ba = 66fc</action>
        <action>maincpu.mw@23496 = 66fc</action>
        <action>maincpu.mb@21b98 =   66</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@25d39 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@25d39 = 20</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x05">01 (slow)</item>
        <item value="0x0a">02       </item>
        <item value="0x0f">03       </item>
        <item value="0x14">04       </item>
        <item value="0x19">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@25eca = 70004e71</action>
    </script>
    <script state="change">
        <action>maincpu.mb@25ecb = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@25eca = 0640000a</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x20">01 (slow)</item>
        <item value="0x40">02       </item>
        <item value="0x60">03       </item>
        <item value="0x80">04       </item>
        <item value="0xa0">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@26525 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@26525 = 40</action>
    </script>
</cheat>

<cheat desc="skip rom error">
    <script state="on">
        <action>maincpu.mb@25934 =   60</action> <!-- boot -->
        <action>maincpu.mb@23f50 =   60</action> <!-- ingame -->
        <action>maincpu.mw@2176a = 0002</action> <!-- ingame -->
        <action>maincpu.mb@2562a =   60</action> <!-- ingame -->
        <action>maincpu.mb@25048 =   60</action> <!-- ingame -->
    </script>
    <script state="off">
        <action>maincpu.mb@25934 =   67</action>
        <action>maincpu.mb@23f50 =   67</action>
        <action>maincpu.mw@2176a = 1922</action>
        <action>maincpu.mb@2562a =   67</action>
        <action>maincpu.mb@25048 =   66</action>
    </script>
</cheat>
Current invincibility is not "no hit" (body hit erases bullet and damages middle enemy) so that I create "no hit" code.

[ktiger] sound test mode

Posted: Mon Jan 03, 2022 1:38 am
by jman

Code: Select all

<cheat desc="sound test mode">
    <comment>set rom error skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@257de = 4ef90002ef404e71</action>
        <action>maincpu.mq@2ef40 = 41f9000301001401</action>
        <action>maincpu.mq@2ef48 = 123900078005b401</action>
        <action>maincpu.mq@2ef50 = 67f40c0100046602</action>
        <action>maincpu.mq@2ef58 = 53100c0100086602</action>
        <action>maincpu.mq@2ef60 = 52100c0100026604</action>
        <action>maincpu.mq@2ef68 = 041000100c010001</action>
        <action>maincpu.mq@2ef70 = 6604061000100c01</action>
        <action>maincpu.mq@2ef78 = 001066041010600a</action>
        <action>maincpu.mq@2ef80 = 0c010020660a103c</action>
        <action>maincpu.mq@2ef88 = 00fe13c00007a001</action>
        <action>maincpu.mq@2ef90 = 60b4ffffffffffff</action>
        <!--
        2ef40 | 41f9 0003 0100 : lea    $30100.l,A0 // sound code address
        2ef46 | 1401           : move.b D1,D2
        2ef48 | 1239 0007 8005 : move.b $78005.l,D1 // read input
        2ef4e | b401           : cmp.b  D1,D2
        2ef50 | 67f4           : beq    $2ef46
        2ef52 | 0c01 0004      : cmpi.b #$4,D1
        2ef56 | 6602           : bne    $2ef5a
        2ef58 | 5310           : subq.b #1,(A0)     // decrease code -01
        2ef5a | 0c01 0008      : cmpi.b #$8,D1
        2ef5e | 6602           : bne    $2ef62
        2ef60 | 5210           : addq.b #1,(A0)     // increase code +01
        2ef62 | 0c01 0002      : cmpi.b #$2,D1
        2ef66 | 6604           : bne    $2ef6c
        2ef68 | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
        2ef6c | 0c01 0001      : cmpi.b #$1,D1
        2ef70 | 6604           : bne    $2ef76
        2ef72 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
        2ef76 | 0c01 0010      : cmpi.b #$10,D1
        2ef7a | 6604           : bne    $2ef80
        2ef7c | 1010           : move.b (A0),D0     // play sound
        2ef7e | 600a           : bra    $2ef8a
        2ef80 | 0c01 0020      : cmpi.b #$20,D1
        2ef84 | 660a           : bne    $2ef90
        2ef86 | 103c 00fe      : move.b #$fe,D0     // stop sound
        2ef8a | 13c0 0007 a001 : move.b D0,$7a001.l
        2ef90 | 60b4           : bra    $2ef46
        -->
    </script>
    <script state="run">
        <output format="----- kyukyoku tiger 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="up : increase code +10"                     line="13" align="center" />
        <output format="down : decrease 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@30100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@257de = 6100e3004cdf0105</action>
        <action>maincpu.mq@2ef40 = 0000000000000000</action>
        <action>maincpu.mq@2ef48 = 0000000000000000</action>
        <action>maincpu.mq@2ef50 = 0000000000000000</action>
        <action>maincpu.mq@2ef58 = 0000000000000000</action>
        <action>maincpu.mq@2ef60 = 0000000000000000</action>
        <action>maincpu.mq@2ef68 = 0000000000000000</action>
        <action>maincpu.mq@2ef70 = 0000000000000000</action>
        <action>maincpu.mq@2ef78 = 0000000000000000</action>
        <action>maincpu.mq@2ef80 = 0000000000000000</action>
        <action>maincpu.mq@2ef88 = 0000000000000000</action>
        <action>maincpu.mq@2ef90 = 0000000000000000</action>
    </script>
</cheat>

[ktiger] Twin Cobra/Kyukyoku Tiger (update)

Posted: Sat Oct 29, 2022 9:04 am
by jman
In 0.249, new ktiger set is added and old ktiger is renamed to ktigera. Unfortunately, address and code is different between both sets.

ktiger.xml (new set from 0.249)

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mw@21faa = 6000</action> <!-- middle enemy -->
        <action>maincpu.mw@23c40 = 6018</action> <!-- bullet -->
        <action>maincpu.mw@23c64 = 6018</action> <!-- enemy -->
    </script>
    <script state="off">
        <action>maincpu.mw@21faa = 6600</action>
        <action>maincpu.mw@23c40 = 66fc</action>
        <action>maincpu.mw@23c64 = 66fc</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@262e3 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@262e3 = 20</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x10">02       </item>
        <item value="0x18">03       </item>
        <item value="0x20">04       </item>
        <item value="0x28">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@26498 = 303c0000</action>
    </script>
    <script state="change">
        <action>maincpu.mb@2649b = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@26498 = 0640000c</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x20">01 (slow)</item>
        <item value="0x40">02       </item>
        <item value="0x60">03       </item>
        <item value="0x80">04       </item>
        <item value="0xa0">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@26cab = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@26cab = 40</action>
    </script>
</cheat>

<cheat desc="max bullets up (test)">
    <script state="on">
        <action>maincpu.mb@26bdd = 11</action>
    </script>
    <script state="off">
        <action>maincpu.mb@26bdd = 02</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set &quot;skip rom error&quot; then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@25d00 = 4ef90002ef404e71</action>
        <action>maincpu.mq@2ef40 = 41f90003010043f9</action>
        <action>maincpu.mq@2ef48 = 0007a00112001029</action>
        <action>maincpu.mq@2ef50 = e004b20067f60c00</action>
        <action>maincpu.mq@2ef58 = 0004660253100c00</action>
        <action>maincpu.mq@2ef60 = 0008660252100c00</action>
        <action>maincpu.mq@2ef68 = 0002660404100010</action>
        <action>maincpu.mq@2ef70 = 0c00000166040610</action>
        <action>maincpu.mq@2ef78 = 00100c0000106602</action>
        <action>maincpu.mq@2ef80 = 12900c0000206604</action>
        <action>maincpu.mq@2ef88 = 12bc00fe60beffff</action>
        <!--
        2ef40 | 41f9 0003 0100 : lea    $30100.l,A0    // sound code address
        2ef46 | 43f9 0007 a001 : lea    $7a001.l,A1    // sound latch address
        2ef4c | 1200           : move.b D0,D1
        2ef4e | 1029 e004      : move.b (-$1ffc,A1),D0 // read input
        2ef52 | b200           : cmp.b  D0,D1
        2ef54 | 67f6           : beq    $2ef4c
        2ef56 | 0c00 0004      : cmpi.b #$4,D0
        2ef5a | 6602           : bne    $2ef5e
        2ef5c | 5310           : subq.b #1,(A0)        // decrease code -01
        2ef5e | 0c00 0008      : cmpi.b #$8,D0
        2ef62 | 6602           : bne    $2ef66
        2ef64 | 5210           : addq.b #1,(A0)        // increase code +01
        2ef66 | 0c00 0002      : cmpi.b #$2,D0
        2ef6a | 6604           : bne    $2ef70
        2ef6c | 0410 0010      : subi.b #$10,(A0)      // decrease code -10
        2ef70 | 0c00 0001      : cmpi.b #$1,D0
        2ef74 | 6604           : bne    $2ef7a
        2ef76 | 0610 0010      : addi.b #$10,(A0)      // increase code +10
        2ef7a | 0c00 0010      : cmpi.b #$10,D0
        2ef7e | 6602           : bne    $2ef82
        2ef80 | 1290           : move.b (A0),(A1)      // play sound
        2ef82 | 0c00 0020      : cmpi.b #$20,D0
        2ef86 | 6604           : bne    $2ef8c
        2ef88 | 12bc 00fe      : move.b #$fe,(A1)      // stop sound
        2ef8c | 60be           : bra    $2ef4c
        -->
    </script>
    <script state="run">
        <output format="----- kyukyoku tiger 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@30100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@25d00 = 6100e5d84cdf0105</action>
        <action>maincpu.mq@2ef40 = 0000000000000000</action>
        <action>maincpu.mq@2ef48 = 0000000000000000</action>
        <action>maincpu.mq@2ef50 = 0000000000000000</action>
        <action>maincpu.mq@2ef58 = 0000000000000000</action>
        <action>maincpu.mq@2ef60 = 0000000000000000</action>
        <action>maincpu.mq@2ef68 = 0000000000000000</action>
        <action>maincpu.mq@2ef70 = 0000000000000000</action>
        <action>maincpu.mq@2ef78 = 0000000000000000</action>
        <action>maincpu.mq@2ef80 = 0000000000000000</action>
        <action>maincpu.mq@2ef88 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="skip rom error">
    <script state="on">
        <action>maincpu.mb@25e56 =   60</action> <!-- boot -->
        <action>maincpu.mw@21b70 = 0002</action> <!-- ingame -->
        <action>maincpu.mb@2477c =   60</action> <!-- ingame -->
        <action>maincpu.mw@258ba = 0002</action> <!-- ingame -->
        <action>maincpu.mb@25b4c =   60</action> <!-- ingame -->
    </script>
    <script state="off">
        <action>maincpu.mb@25e56 =   67</action>
        <action>maincpu.mw@21b70 = 1c26</action>
        <action>maincpu.mb@2477c =   67</action>
        <action>maincpu.mw@258ba = eca6</action>
        <action>maincpu.mb@25b4c =   67</action>
    </script>
</cheat>
ktigera.xml (old ktiger.xml)

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mw@21b98 = 6000</action> <!-- middle enemy -->
        <action>maincpu.mw@234ba = 6018</action> <!-- enemy -->
        <action>maincpu.mw@23496 = 6018</action> <!-- bullet -->
    </script>
    <script state="off">
        <action>maincpu.mb@21b98 = 6600</action>
        <action>maincpu.mw@234ba = 66fc</action>
        <action>maincpu.mw@23496 = 66fc</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@25d39 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@25d39 = 20</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x10">02       </item>
        <item value="0x18">03       </item>
        <item value="0x20">04       </item>
        <item value="0x28">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@25eca = 303c0000</action>
    </script>
    <script state="change">
        <action>maincpu.mb@25ecd = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@25eca = 0640000a</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x20">01 (slow)</item>
        <item value="0x40">02       </item>
        <item value="0x60">03       </item>
        <item value="0x80">04       </item>
        <item value="0xa0">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@26525 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@26525 = 40</action>
    </script>
</cheat>

<cheat desc="max bullets up (test)">
    <script state="on">
        <action>maincpu.mb@26471 = 11</action>
    </script>
    <script state="off">
        <action>maincpu.mb@26471 = 03</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set &quot;skip rom error&quot; then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@257de = 4ef90002ef404e71</action>
        <action>maincpu.mq@2ef40 = 41f90003010043f9</action>
        <action>maincpu.mq@2ef48 = 0007a00112001029</action>
        <action>maincpu.mq@2ef50 = e004b20067f60c00</action>
        <action>maincpu.mq@2ef58 = 0004660253100c00</action>
        <action>maincpu.mq@2ef60 = 0008660252100c00</action>
        <action>maincpu.mq@2ef68 = 0002660404100010</action>
        <action>maincpu.mq@2ef70 = 0c00000166040610</action>
        <action>maincpu.mq@2ef78 = 00100c0000106602</action>
        <action>maincpu.mq@2ef80 = 12900c0000206604</action>
        <action>maincpu.mq@2ef88 = 12bc00fe60beffff</action>
        <!--
        2ef40 | 41f9 0003 0100 : lea    $30100.l,A0    // sound code address
        2ef46 | 43f9 0007 a001 : lea    $7a001.l,A1    // sound latch address
        2ef4c | 1200           : move.b D0,D1
        2ef4e | 1029 e004      : move.b (-$1ffc,A1),D0 // read input
        2ef52 | b200           : cmp.b  D0,D1
        2ef54 | 67f6           : beq    $2ef4c
        2ef56 | 0c00 0004      : cmpi.b #$4,D0
        2ef5a | 6602           : bne    $2ef5e
        2ef5c | 5310           : subq.b #1,(A0)        // decrease code -01
        2ef5e | 0c00 0008      : cmpi.b #$8,D0
        2ef62 | 6602           : bne    $2ef66
        2ef64 | 5210           : addq.b #1,(A0)        // increase code +01
        2ef66 | 0c00 0002      : cmpi.b #$2,D0
        2ef6a | 6604           : bne    $2ef70
        2ef6c | 0410 0010      : subi.b #$10,(A0)      // decrease code -10
        2ef70 | 0c00 0001      : cmpi.b #$1,D0
        2ef74 | 6604           : bne    $2ef7a
        2ef76 | 0610 0010      : addi.b #$10,(A0)      // increase code +10
        2ef7a | 0c00 0010      : cmpi.b #$10,D0
        2ef7e | 6602           : bne    $2ef82
        2ef80 | 1290           : move.b (A0),(A1)      // play sound
        2ef82 | 0c00 0020      : cmpi.b #$20,D0
        2ef86 | 6604           : bne    $2ef8c
        2ef88 | 12bc 00fe      : move.b #$fe,(A1)      // stop sound
        2ef8c | 60be           : bra    $2ef4c
        -->
    </script>
    <script state="run">
        <output format="----- kyukyoku tiger 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@30100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@257de = 6100e3004cdf0105</action>
        <action>maincpu.mq@2ef40 = 0000000000000000</action>
        <action>maincpu.mq@2ef48 = 0000000000000000</action>
        <action>maincpu.mq@2ef50 = 0000000000000000</action>
        <action>maincpu.mq@2ef58 = 0000000000000000</action>
        <action>maincpu.mq@2ef60 = 0000000000000000</action>
        <action>maincpu.mq@2ef68 = 0000000000000000</action>
        <action>maincpu.mq@2ef70 = 0000000000000000</action>
        <action>maincpu.mq@2ef78 = 0000000000000000</action>
        <action>maincpu.mq@2ef80 = 0000000000000000</action>
        <action>maincpu.mq@2ef88 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="skip rom error">
    <script state="on">
        <action>maincpu.mb@25934 =   60</action> <!-- boot -->
        <action>maincpu.mw@2176a = 0002</action> <!-- ingame -->
        <action>maincpu.mb@23f50 =   60</action> <!-- ingame -->
        <action>maincpu.mw@2504a = 0002</action> <!-- ingame -->
        <action>maincpu.mb@2562a =   60</action> <!-- ingame -->
    </script>
    <script state="off">
        <action>maincpu.mb@25934 =   67</action>
        <action>maincpu.mw@2176a = 1922</action>
        <action>maincpu.mb@23f50 =   67</action>
        <action>maincpu.mw@2504a = ecfe</action>
        <action>maincpu.mb@2562a =   67</action>
    </script>
</cheat>
And some codes are updated.
  • "player speed" : rewrite routine. adjust item values.
  • "max bullets up" : add new as "test" code. Yellow weapon seems not to get "max bullets up".
  • "sound test mode" : rewrite routine.
Image
Normal shot level 1 is easy to understand for "max bullets up".

[twincobr]+ Twin Cobra/Kyukyoku Tiger

Posted: Wed Feb 07, 2024 10:03 am
by jman
First of all, this game has in-game ROM check and any ROM codes except "sound test mode" cause freeze/crash the game.
Someone reported as "bug" to MAME testers in the past (See https://mametesters.org/view.php?id=4119).
Please don't report because it is due to cheat, not MAME bug.

You note that "invincibility" in the database based on 0.259 coflicts with "skip rom error" by my post about in-game ROM check.
If you set both codes together then turn off either of one of code, in-game ROM check revives again.

twincobr.xml

Code: Select all

<!-- Twin Cobra (World) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@21F9E = 6000</action> <!-- middle enemy -->
            <action>maincpu.mw@23C1A = 6018</action> <!-- bullet -->
            <action>maincpu.mw@23C3E = 6018</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mw@21F9E = 6600</action>
            <action>maincpu.mw@23C1A = 66FC</action>
            <action>maincpu.mw@23C3E = 66FC</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@262C9 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@262C9 = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0010">02       </item>
            <item value="0x0018">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0028">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@2647E = 303C</action>
        </script>
        <script state="change">
            <action>maincpu.mw@26480 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@2647E = 0640000C</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x20">01 (slow)</item>
            <item value="0x40">02       </item>
            <item value="0x60">03       </item>
            <item value="0x80">04       </item>
            <item value="0xa0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@26C91 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@26C91 = 40</action>
        </script>
    </cheat>

    <cheat desc="max bullets up (test)">
        <!-- yellow weapon doesn't get max bullet up? -->
        <script state="on">
            <action>maincpu.mb@26BC3 = 11</action>
        </script>
        <script state="off">
            <action>maincpu.mb@26BC3 = 02</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@25CE6 = 4EF90002EF404E71</action>
            <action>maincpu.mq@2EF40 = 41F90003000043F9</action>
            <action>maincpu.mq@2EF48 = 0007A00112001029</action>
            <action>maincpu.mq@2EF50 = E004B20067F60C00</action>
            <action>maincpu.mq@2EF58 = 0004660253100C00</action>
            <action>maincpu.mq@2EF60 = 0008660252100C00</action>
            <action>maincpu.mq@2EF68 = 0002660404100010</action>
            <action>maincpu.mq@2EF70 = 0C00000166040610</action>
            <action>maincpu.mq@2EF78 = 00100C0000106602</action>
            <action>maincpu.mq@2EF80 = 12900C0000206604</action>
            <action>maincpu.mq@2EF88 = 12BC00FE60BEFFFF</action>
            <!--
            2EF40 | 41F9 0003 0000 : lea     $30000.l, A0    // sound code address
            2EF46 | 43F9 0007 A001 : lea     $7a001.l, A1    // sound latch address
            2EF4C | 1200           : move.b  D0, D1
            2EF4E | 1029 E004      : move.b  (-$1ffc,A1), D0 // read input ($78005)
            2EF52 | B200           : cmp.b   D0, D1
            2EF54 | 67F6           : beq     $2ef4c
            2EF56 | 0C00 0004      : cmpi.b  #$4, D0
            2EF5A | 6602           : bne     $2ef5e
            2EF5C | 5310           : subq.b  #1, (A0)        // decrease code -01
            2EF5E | 0C00 0008      : cmpi.b  #$8, D0
            2EF62 | 6602           : bne     $2ef66
            2EF64 | 5210           : addq.b  #1, (A0)        // increase code +01
            2EF66 | 0C00 0002      : cmpi.b  #$2, D0
            2EF6A | 6604           : bne     $2ef70
            2EF6C | 0410 0010      : subi.b  #$10, (A0)      // decrease code -10
            2EF70 | 0C00 0001      : cmpi.b  #$1, D0
            2EF74 | 6604           : bne     $2ef7a
            2EF76 | 0610 0010      : addi.b  #$10, (A0)      // increase code +10
            2EF7A | 0C00 0010      : cmpi.b  #$10, D0
            2EF7E | 6602           : bne     $2ef82
            2EF80 | 1290           : move.b  (A0), (A1)      // play sound
            2EF82 | 0C00 0020      : cmpi.b  #$20, D0
            2EF86 | 6604           : bne     $2ef8c
            2EF88 | 12BC 00FE      : move.b  #$fe, (A1)      // stop sound
            2EF8C | 60BE           : bra     $2ef4c
            -->
        </script>
        <script state="run">
            <output format="----- twin cobra 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@30000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@25CE6 = 6100E5CC4CDF0105</action>
            <action>maincpu.mq@2EF40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF88 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom error">
        <script state="on">
            <action>maincpu.mw@25E3C = 603A</action> <!-- boot -->
            <action>maincpu.mw@21B64 = 0002</action> <!-- ingame -->
            <action>maincpu.mw@24754 = 6006</action> <!-- ingame -->
            <action>maincpu.mw@258A2 = 0002</action> <!-- ingame -->
            <action>maincpu.mw@25B32 = 6006</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mw@25E3C = 673A</action>
            <action>maincpu.mw@21B64 = 1C0C</action>
            <action>maincpu.mw@24754 = 6706</action>
            <action>maincpu.mw@258A2 = EC98</action>
            <action>maincpu.mw@25B32 = 6706</action>
        </script>
    </cheat>

</mamecheat>
twincobru.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@21F9E = 6000</action> <!-- middle enemy -->
            <action>maincpu.mw@23C1A = 6018</action> <!-- bullet -->
            <action>maincpu.mw@23C3E = 6018</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mw@21F9E = 6600</action>
            <action>maincpu.mw@23C1A = 66FC</action>
            <action>maincpu.mw@23C3E = 66FC</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@262C3 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@262C3 = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0010">02       </item>
            <item value="0x0018">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0028">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@26478 = 303C</action>
        </script>
        <script state="change">
            <action>maincpu.mw@2647A = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@26478 = 0640000C</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x20">01 (slow)</item>
            <item value="0x40">02       </item>
            <item value="0x60">03       </item>
            <item value="0x80">04       </item>
            <item value="0xa0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@26C8B = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@26C8B = 40</action>
        </script>
    </cheat>

    <cheat desc="max bullets up (test)">
        <!-- yellow weapon doesn't get max bullet up? -->
        <script state="on">
            <action>maincpu.mb@26BBD = 11</action>
        </script>
        <script state="off">
            <action>maincpu.mb@26BBD = 02</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@25CE4 = 4EF90002EF404E71</action>
            <action>maincpu.mq@2EF40 = 41F90003000043F9</action>
            <action>maincpu.mq@2EF48 = 0007A00112001029</action>
            <action>maincpu.mq@2EF50 = E004B20067F60C00</action>
            <action>maincpu.mq@2EF58 = 0004660253100C00</action>
            <action>maincpu.mq@2EF60 = 0008660252100C00</action>
            <action>maincpu.mq@2EF68 = 0002660404100010</action>
            <action>maincpu.mq@2EF70 = 0C00000166040610</action>
            <action>maincpu.mq@2EF78 = 00100C0000106602</action>
            <action>maincpu.mq@2EF80 = 12900C0000206604</action>
            <action>maincpu.mq@2EF88 = 12BC00FE60BEFFFF</action>
            <!--
            2EF40 | 41F9 0003 0000 : lea     $30000.l, A0    // sound code address
            2EF46 | 43F9 0007 A001 : lea     $7a001.l, A1    // sound latch address
            2EF4C | 1200           : move.b  D0, D1
            2EF4E | 1029 E004      : move.b  (-$1ffc,A1), D0 // read input ($78005)
            2EF52 | B200           : cmp.b   D0, D1
            2EF54 | 67F6           : beq     $2ef4c
            2EF56 | 0C00 0004      : cmpi.b  #$4, D0
            2EF5A | 6602           : bne     $2ef5e
            2EF5C | 5310           : subq.b  #1, (A0)        // decrease code -01
            2EF5E | 0C00 0008      : cmpi.b  #$8, D0
            2EF62 | 6602           : bne     $2ef66
            2EF64 | 5210           : addq.b  #1, (A0)        // increase code +01
            2EF66 | 0C00 0002      : cmpi.b  #$2, D0
            2EF6A | 6604           : bne     $2ef70
            2EF6C | 0410 0010      : subi.b  #$10, (A0)      // decrease code -10
            2EF70 | 0C00 0001      : cmpi.b  #$1, D0
            2EF74 | 6604           : bne     $2ef7a
            2EF76 | 0610 0010      : addi.b  #$10, (A0)      // increase code +10
            2EF7A | 0C00 0010      : cmpi.b  #$10, D0
            2EF7E | 6602           : bne     $2ef82
            2EF80 | 1290           : move.b  (A0), (A1)      // play sound
            2EF82 | 0C00 0020      : cmpi.b  #$20, D0
            2EF86 | 6604           : bne     $2ef8c
            2EF88 | 12BC 00FE      : move.b  #$fe, (A1)      // stop sound
            2EF8C | 60BE           : bra     $2ef4c
            -->
        </script>
        <script state="run">
            <output format="----- twin cobra 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@30000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@25CE4 = 6100E5CE4CDF0105</action>
            <action>maincpu.mq@2EF40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF88 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom error">
        <script state="on">
            <action>maincpu.mw@25E3A = 603A</action> <!-- boot -->
            <action>maincpu.mw@21B64 = 0002</action> <!-- ingame -->
            <action>maincpu.mw@24754 = 6006</action> <!-- ingame -->
            <action>maincpu.mw@258A0 = 0002</action> <!-- ingame -->
            <action>maincpu.mw@25B30 = 6006</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mw@25E3A = 673A</action>
            <action>maincpu.mw@21B64 = 1C0C</action>
            <action>maincpu.mw@24754 = 6706</action>
            <action>maincpu.mw@258A0 = EC9A</action>
            <action>maincpu.mw@25B30 = 6706</action>
        </script>
    </cheat>

</mamecheat>
ktiger.xml

Code: Select all

<!-- Kyukyoku Tiger (Japan, 2 player cooperative) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@21FAA = 6000</action> <!-- middle enemy -->
            <action>maincpu.mw@23C40 = 6018</action> <!-- bullet -->
            <action>maincpu.mw@23C64 = 6018</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mw@21FAA = 6600</action>
            <action>maincpu.mw@23C40 = 66FC</action>
            <action>maincpu.mw@23C64 = 66FC</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@262E3 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@262E3 = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0010">02       </item>
            <item value="0x0018">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0028">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@26498 = 303C</action>
        </script>
        <script state="change">
            <action>maincpu.mw@2649A = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@26498 = 0640000C</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x20">01 (slow)</item>
            <item value="0x40">02       </item>
            <item value="0x60">03       </item>
            <item value="0x80">04       </item>
            <item value="0xa0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@26CAB = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@26CAB = 40</action>
        </script>
    </cheat>

    <cheat desc="max bullets up (test)">
        <!-- yellow weapon doesn't get max bullet up? -->
        <script state="on">
            <action>maincpu.mb@26BDD = 11</action>
        </script>
        <script state="off">
            <action>maincpu.mb@26BDD = 02</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@25D00 = 4EF90002EF404E71</action>
            <action>maincpu.mq@2EF40 = 41F90003000043F9</action>
            <action>maincpu.mq@2EF48 = 0007A00112001029</action>
            <action>maincpu.mq@2EF50 = E004B20067F60C00</action>
            <action>maincpu.mq@2EF58 = 0004660253100C00</action>
            <action>maincpu.mq@2EF60 = 0008660252100C00</action>
            <action>maincpu.mq@2EF68 = 0002660404100010</action>
            <action>maincpu.mq@2EF70 = 0C00000166040610</action>
            <action>maincpu.mq@2EF78 = 00100C0000106602</action>
            <action>maincpu.mq@2EF80 = 12900C0000206604</action>
            <action>maincpu.mq@2EF88 = 12BC00FE60BEFFFF</action>
            <!--
            2EF40 | 41F9 0003 0000 : lea     $30000.l, A0    // sound code address
            2EF46 | 43F9 0007 A001 : lea     $7a001.l, A1    // sound latch address
            2EF4C | 1200           : move.b  D0, D1
            2EF4E | 1029 E004      : move.b  (-$1ffc,A1), D0 // read input ($78005)
            2EF52 | B200           : cmp.b   D0, D1
            2EF54 | 67F6           : beq     $2ef4c
            2EF56 | 0C00 0004      : cmpi.b  #$4, D0
            2EF5A | 6602           : bne     $2ef5e
            2EF5C | 5310           : subq.b  #1, (A0)        // decrease code -01
            2EF5E | 0C00 0008      : cmpi.b  #$8, D0
            2EF62 | 6602           : bne     $2ef66
            2EF64 | 5210           : addq.b  #1, (A0)        // increase code +01
            2EF66 | 0C00 0002      : cmpi.b  #$2, D0
            2EF6A | 6604           : bne     $2ef70
            2EF6C | 0410 0010      : subi.b  #$10, (A0)      // decrease code -10
            2EF70 | 0C00 0001      : cmpi.b  #$1, D0
            2EF74 | 6604           : bne     $2ef7a
            2EF76 | 0610 0010      : addi.b  #$10, (A0)      // increase code +10
            2EF7A | 0C00 0010      : cmpi.b  #$10, D0
            2EF7E | 6602           : bne     $2ef82
            2EF80 | 1290           : move.b  (A0), (A1)      // play sound
            2EF82 | 0C00 0020      : cmpi.b  #$20, D0
            2EF86 | 6604           : bne     $2ef8c
            2EF88 | 12BC 00FE      : move.b  #$fe, (A1)      // stop sound
            2EF8C | 60BE           : bra     $2ef4c
            -->
        </script>
        <script state="run">
            <output format="----- kyukyoku tiger 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@30000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@25D00 = 6100E5D84CDF0105</action>
            <action>maincpu.mq@2EF40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@2EF88 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom error">
        <script state="on">
            <action>maincpu.mw@25E56 = 603E</action> <!-- boot -->
            <action>maincpu.mw@21B70 = 0002</action> <!-- ingame -->
            <action>maincpu.mw@2477C = 6006</action> <!-- ingame -->
            <action>maincpu.mw@258BA = 0002</action> <!-- ingame -->
            <action>maincpu.mw@25B4C = 6006</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mw@25E56 = 673E</action>
            <action>maincpu.mw@21B70 = 1C26</action>
            <action>maincpu.mw@2477C = 6706</action>
            <action>maincpu.mw@258BA = ECA6</action>
            <action>maincpu.mw@25B4C = 6706</action>
        </script>
    </cheat>

</mamecheat>
ktigera.xml

Code: Select all

<!-- Kyukyoku Tiger (Japan, 2 player alternate) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@21B98 = 6000</action> <!-- middle enemy -->
            <action>maincpu.mw@234BA = 6018</action> <!-- enemy -->
            <action>maincpu.mw@23496 = 6018</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@21B98 = 6600</action>
            <action>maincpu.mw@234BA = 66FC</action>
            <action>maincpu.mw@23496 = 66FC</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@25D39 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@25D39 = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x10">02       </item>
            <item value="0x18">03       </item>
            <item value="0x20">04       </item>
            <item value="0x28">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@25ECA = 303C</action>
        </script>
        <script state="change">
            <action>maincpu.mw@25ECC = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@25ECA = 0640000A</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x20">01 (slow)</item>
            <item value="0x40">02       </item>
            <item value="0x60">03       </item>
            <item value="0x80">04       </item>
            <item value="0xa0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@26525 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@26525 = 40</action>
        </script>
    </cheat>

    <cheat desc="max bullets up (test)">
        <!-- yellow weapon doesn't get max bullet up? -->
        <script state="on">
            <action>maincpu.mb@26471 = 11</action>
        </script>
        <script state="off">
            <action>maincpu.mb@26471 = 03</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@257DE = 4EF90002EF404E71</action>
            <action>maincpu.mq@2EF40 = 41F90003000043F9</action>
            <action>maincpu.mq@2EF48 = 0007A00112001029</action>
            <action>maincpu.mq@2EF50 = E004B20067F60C00</action>
            <action>maincpu.mq@2EF58 = 0004660253100C00</action>
            <action>maincpu.mq@2EF60 = 0008660252100C00</action>
            <action>maincpu.mq@2EF68 = 0002660404100010</action>
            <action>maincpu.mq@2EF70 = 0C00000166040610</action>
            <action>maincpu.mq@2EF78 = 00100C0000106602</action>
            <action>maincpu.mq@2EF80 = 12900C0000206604</action>
            <action>maincpu.mq@2EF88 = 12BC00FE60BEFFFF</action>
            <!--
            2EF40 | 41F9 0003 0000 : lea     $30000.l, A0    // sound code address
            2EF46 | 43F9 0007 A001 : lea     $7a001.l, A1    // sound latch address
            2EF4C | 1200           : move.b  D0, D1
            2EF4E | 1029 E004      : move.b  (-$1ffc,A1), D0 // read input ($78005)
            2EF52 | B200           : cmp.b   D0, D1
            2EF54 | 67F6           : beq     $2ef4c
            2EF56 | 0C00 0004      : cmpi.b  #$4, D0
            2EF5A | 6602           : bne     $2ef5e
            2EF5C | 5310           : subq.b  #1, (A0)        // decrease code -01
            2EF5E | 0C00 0008      : cmpi.b  #$8, D0
            2EF62 | 6602           : bne     $2ef66
            2EF64 | 5210           : addq.b  #1, (A0)        // increase code +01
            2EF66 | 0C00 0002      : cmpi.b  #$2, D0
            2EF6A | 6604           : bne     $2ef70
            2EF6C | 0410 0010      : subi.b  #$10, (A0)      // decrease code -10
            2EF70 | 0C00 0001      : cmpi.b  #$1, D0
            2EF74 | 6604           : bne     $2ef7a
            2EF76 | 0610 0010      : addi.b  #$10, (A0)      // increase code +10
            2EF7A | 0C00 0010      : cmpi.b  #$10, D0
            2EF7E | 6602           : bne     $2ef82
            2EF80 | 1290           : move.b  (A0), (A1)      // play sound
            2EF82 | 0C00 0020      : cmpi.b  #$20, D0
            2EF86 | 6604           : bne     $2ef8c
            2EF88 | 12BC 00FE      : move.b  #$fe, (A1)      // stop sound
            2EF8C | 60BE           : bra     $2ef4c
            -->
        </script>
        <script state="run">
            <output format="----- kyukyoku tiger 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@30000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@257DE = 6100E3004CDF0105</action>
            <action>maincpu.mq@2EF40 = 0000000000000000</action>
            <action>maincpu.mq@2EF48 = 0000000000000000</action>
            <action>maincpu.mq@2EF50 = 0000000000000000</action>
            <action>maincpu.mq@2EF58 = 0000000000000000</action>
            <action>maincpu.mq@2EF60 = 0000000000000000</action>
            <action>maincpu.mq@2EF68 = 0000000000000000</action>
            <action>maincpu.mq@2EF70 = 0000000000000000</action>
            <action>maincpu.mq@2EF78 = 0000000000000000</action>
            <action>maincpu.mq@2EF80 = 0000000000000000</action>
            <action>maincpu.mq@2EF88 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip rom error">
        <script state="on">
            <action>maincpu.mw@25934 = 603A</action> <!-- boot -->
            <action>maincpu.mw@2176A = 0002</action> <!-- ingame -->
            <action>maincpu.mw@23F50 = 6006</action> <!-- ingame -->
            <action>maincpu.mw@2504A = 0002</action> <!-- ingame -->
            <action>maincpu.mw@2562A = 6006</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mw@25934 = 673A</action>
            <action>maincpu.mw@2176A = 1922</action>
            <action>maincpu.mw@23F50 = 6706</action>
            <action>maincpu.mw@2504A = ECFE</action>
            <action>maincpu.mw@2562A = 6706</action>
        </script>
    </cheat>

</mamecheat>