[lkagem] The Legend of Kage/Kage no Densetsu

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: 870
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 1 time

[lkagem] The Legend of Kage/Kage no Densetsu

Post by jman »

lkagem will be added in 0.258.

This game has in-game ROM check so that the following ROM codes will cause the game crash unless you set "skip rom check" code.

Code: Select all

<!-- The Legend of Kage (MSM5232 sound) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@5c0f = 18</action> <!-- bomb in jumping -->
            <action>maincpu.mb@5c54 = 18</action> <!-- bomb explosion -->
            <action>maincpu.mb@5c97 = c9</action> <!-- bomb -->
            <action>maincpu.mb@5e4c = c9</action> <!-- flame -->
            <action>maincpu.mb@5e8e = 18</action> <!-- enemy -->
            <action>maincpu.mb@5ea6 = 62</action> <!-- syuriken -->
            <action>maincpu.mb@5f0d = 18</action> <!-- sword -->
        </script>
        <script state="off">
            <action>maincpu.mb@5c0f = 30</action>
            <action>maincpu.mb@5c54 = 30</action>
            <action>maincpu.mb@5c97 = d0</action>
            <action>maincpu.mb@5e4c = 3a</action>
            <action>maincpu.mb@5e8e = 30</action>
            <action>maincpu.mb@5ea6 = 7c</action>
            <action>maincpu.mb@5f0d = 38</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1f4d = 00</action> <!-- sword -->
            <action>maincpu.mb@1f82 = 00</action> <!-- syuriken -->
        </script>
        <script state="off">
            <action>maincpu.mb@1f4d = 20</action>
            <action>maincpu.mb@1f82 = 20</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0e48 = 47b8f0843ae00021</action>
            <action>maincpu.mq@0e50 = fe350120fbfef628</action>
            <action>maincpu.mq@0e58 = 0420effe340120f7</action>
            <action>maincpu.mq@0e60 = 0520dffe0618f03e</action>
            <action>maincpu.mq@0e68 = 20fefe787786103e</action>
            <action>maincpu.mq@0e70 = 0420fdfe05187e03</action>
            <action>maincpu.mq@0e78 = cd00ca18f06032af</action>
            <!--
            0e48 | 21 00 e0 : ld  hl,$E000  // sound code address
            0e4b | 3a 84 f0 : ld  a,($F084) // read input
            0e4e | b8       : cp  b
            0e4f | 47       : ld  b,a
            0e50 | 28 f6    : jr  z,$0E48
            0e52 | fe fb    : cp  $FB
            0e54 | 20 01    : jr  nz,$0E57
            0e56 | 35       : dec (hl)      // decrease code -01
            0e57 | fe f7    : cp  $F7
            0e59 | 20 01    : jr  nz,$0E5C
            0e5b | 34       : inc (hl)      // increase code +01
            0e5c | fe ef    : cp  $EF
            0e5e | 20 04    : jr  nz,$0E64
            0e60 | 3e f0    : ld  a,$F0     // decrease code -10
            0e62 | 18 06    : jr  $0E6A
            0e64 | fe df    : cp  $DF
            0e66 | 20 05    : jr  nz,$0E6D
            0e68 | 3e 10    : ld  a,$10     // increase code +10
            0e6a | 86       : add a,(hl)
            0e6b | 77       : ld  (hl),a
            0e6c | 78       : ld  a,b
            0e6d | fe fe    : cp  $FE
            0e6f | 20 03    : jr  nz,$0E74
            0e71 | 7e       : ld  a,(hl)    // play sound
            0e72 | 18 05    : jr  $0E79
            0e74 | fe fd    : cp  $FD
            0e76 | 20 04    : jr  nz,$0E7C
            0e78 | af       : xor a         // stop sound
            0e79 | 32 60 f0 : ld  ($F060),a // send sound code
            0e7c | 18 ca    : jr  $0E48
            -->
        </script>
        <script state="run">
            <output format="----- kage no densetsu 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@e000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0e48 = e1ac32ff3ef7013e</action>
            <action>maincpu.mq@0e50 = 6dcdf7013e0be0cd</action>
            <action>maincpu.mq@0e58 = 111564210e9ec213</action>
            <action>maincpu.mq@0e60 = 3eb0ed001c01e23a</action>
            <action>maincpu.mq@0e68 = 136dcdf7013ecf02</action>
            <action>maincpu.mq@0e70 = 05fecd00060e6aca</action>
            <action>maincpu.mq@0e78 = cd023e07f1cd013e</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mb@0357 = f5</action> <!-- boot -->
            <action>maincpu.mb@dfa0 = c9</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@0357 = fb</action>
            <action>maincpu.mb@dfa0 = 3a</action>
        </script>
    </cheat>

</mamecheat>
jman
Posts: 870
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 1 time

[lkage]+ The Legend of Kage/Kage no Densetsu

Post by jman »

First of all, this game has in-game ROM check so that any ROM codes causes the game crash.
In the database based on 0.259, "Hit Anywhere with Shurikens" is ROM code.
Turn "skip rom code" ON then don't turn OFF in case of using these codes.

lkage.xml

Code: Select all

<!-- The Legend of Kage -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@5C16 = 18</action> <!-- bomb in jumping -->
            <action>maincpu.mb@5C5B = 18</action> <!-- bomb explosion -->
            <action>maincpu.mb@5C9E = C9</action> <!-- bomb -->
            <action>maincpu.mb@5E53 = C9</action> <!-- flame -->
            <action>maincpu.mb@5E95 = 18</action> <!-- enemy -->
            <action>maincpu.mb@5EAD = 69</action> <!-- syuriken -->
            <action>maincpu.mb@5F14 = 18</action> <!-- sword -->
        </script>
        <script state="off">
            <action>maincpu.mb@5C16 = 30</action>
            <action>maincpu.mb@5C5B = 30</action>
            <action>maincpu.mb@5C9E = D0</action>
            <action>maincpu.mb@5E53 = 3A</action>
            <action>maincpu.mb@5E95 = 30</action>
            <action>maincpu.mb@5EAD = 83</action>
            <action>maincpu.mb@5F14 = 38</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1F53 = 00</action> <!-- sword -->
            <action>maincpu.mb@1F82 = 00</action> <!-- syuriken -->
        </script>
        <script state="off">
            <action>maincpu.mb@1F53 = 20</action>
            <action>maincpu.mb@1F82 = 20</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0E4E = 47B8F0843AE00021</action>
            <action>maincpu.mq@0E56 = FE350120FBFEF928</action>
            <action>maincpu.mq@0E5E = 0420EFFE340120F7</action>
            <action>maincpu.mq@0E66 = 0520DFFE0618F03E</action>
            <action>maincpu.mq@0E6E = 20FEFE787786103E</action>
            <action>maincpu.mq@0E76 = 0420FDFE05187E03</action>
            <action>maincpu.mq@0E7E = CD00CD18F06032AF</action>
            <!--
            0E4E | 21 00 E0 : ld   hl,$E000  // sound code address
            0E51 | 3A 84 F0 : ld   a,($F084) // read input
            0E54 | B8       : cp   b
            0E55 | 47       : ld   b,a
            0E56 | 28 F9    : jr   z,$0E51
            0E58 | FE FB    : cp   $FB
            0E5A | 20 01    : jr   nz,$0E5D
            0E5C | 35       : dec  (hl)      // decrease code -01
            0E5D | FE F7    : cp   $F7
            0E5F | 20 01    : jr   nz,$0E62
            0E61 | 34       : inc  (hl)      // increase code +01
            0E62 | FE EF    : cp   $EF
            0E64 | 20 04    : jr   nz,$0E6A
            0E66 | 3E F0    : ld   a,$F0     // decrease code -01
            0E68 | 18 06    : jr   $0E70
            0E6A | FE DF    : cp   $DF
            0E6C | 20 05    : jr   nz,$0E73
            0E6E | 3E 10    : ld   a,$10     // increase code +01
            0E70 | 86       : add  a,(hl)
            0E71 | 77       : ld   (hl),a
            0E72 | 78       : ld   a,b
            0E73 | FE FE    : cp   $FE
            0E75 | 20 03    : jr   nz,$0E7A
            0E77 | 7E       : ld   a,(hl)    // play sound
            0E78 | 18 05    : jr   $0E7F
            0E7A | FE FD    : cp   $FD
            0E7C | 20 04    : jr   nz,$0E82
            0E7E | AF       : xor  a         // stop sound
            0E7F | 32 60 F0 : ld   ($F060),a // send sound code
            0E82 | 18 CD    : jr   $0E51
            -->
        </script>
        <script state="run">
            <output format="----- kage no densetsu 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@E000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0E4E = E1AC32FF3EF7013E</action>
            <action>maincpu.mq@0E56 = 73CDF7013E0BE6CD</action>
            <action>maincpu.mq@0E5E = 11156A210EA4C213</action>
            <action>maincpu.mq@0E66 = 3EB0ED001C01E23A</action>
            <action>maincpu.mq@0E6E = 1373CDF7013ECF02</action>
            <action>maincpu.mq@0E76 = 05FECD00060E70CA</action>
            <action>maincpu.mq@0E7E = CD023E07F1CD013E</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mb@0357 = 5E</action> <!-- boot -->
            <action>maincpu.mb@DFA0 = C9</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@0357 = 01</action>
            <action>maincpu.mb@DFA0 = 3A</action>
        </script>
    </cheat>

</mamecheat>
lkageo.xml

Code: Select all

<!-- The Legend of Kage (older) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@5C11 = 18</action> <!-- bomb in jumping -->
            <action>maincpu.mb@5C56 = 18</action> <!-- bomb explosion -->
            <action>maincpu.mb@5C99 = C9</action> <!-- bomb -->
            <action>maincpu.mb@5E4E = C9</action> <!-- flame -->
            <action>maincpu.mb@5E90 = 18</action> <!-- enemy -->
            <action>maincpu.mb@5EA8 = 64</action> <!-- syuriken -->
            <action>maincpu.mb@5F0F = 18</action> <!-- sword -->
        </script>
        <script state="off">
            <action>maincpu.mb@5C11 = 30</action>
            <action>maincpu.mb@5C56 = 30</action>
            <action>maincpu.mb@5C99 = D0</action>
            <action>maincpu.mb@5E4E = 3A</action>
            <action>maincpu.mb@5E90 = 30</action>
            <action>maincpu.mb@5EA8 = 7E</action>
            <action>maincpu.mb@5F0F = 38</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1F4D = 00</action> <!-- sword -->
            <action>maincpu.mb@1F82 = 00</action> <!-- syuriken -->
        </script>
        <script state="off">
            <action>maincpu.mb@1F4D = 20</action>
            <action>maincpu.mb@1F82 = 20</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0E48 = 47B8F0843AE00021</action>
            <action>maincpu.mq@0E50 = FE350120FBFEF928</action>
            <action>maincpu.mq@0E58 = 0420EFFE340120F7</action>
            <action>maincpu.mq@0E60 = 0520DFFE0618F03E</action>
            <action>maincpu.mq@0E68 = 20FEFE787786103E</action>
            <action>maincpu.mq@0E70 = 0420FDFE05187E03</action>
            <action>maincpu.mq@0E78 = CD00CD18F06032AF</action>
            <!--
            0E48 | 21 00 E0 : ld   hl,$E000  // sound code address
            0E4B | 3A 84 F0 : ld   a,($F084) // read input
            0E4E | B8       : cp   b
            0E4F | 47       : ld   b,a
            0E50 | 28 F9    : jr   z,$0E4B
            0E52 | FE FB    : cp   $FB
            0E54 | 20 01    : jr   nz,$0E57
            0E56 | 35       : dec  (hl)      // decrease code -01
            0E57 | FE F7    : cp   $F7
            0E59 | 20 01    : jr   nz,$0E5C
            0E5B | 34       : inc  (hl)      // increase code +01
            0E5C | FE EF    : cp   $EF
            0E5E | 20 04    : jr   nz,$0E64
            0E60 | 3E F0    : ld   a,$F0     // decrease code -10
            0E62 | 18 06    : jr   $0E6A
            0E64 | FE DF    : cp   $DF
            0E66 | 20 05    : jr   nz,$0E6D
            0E68 | 3E 10    : ld   a,$10     // increase code +10
            0E6A | 86       : add  a,(hl)
            0E6B | 77       : ld   (hl),a
            0E6C | 78       : ld   a,b
            0E6D | FE FE    : cp   $FE
            0E6F | 20 03    : jr   nz,$0E74
            0E71 | 7E       : ld   a,(hl)    // play sound
            0E72 | 18 05    : jr   $0E79
            0E74 | FE FD    : cp   $FD
            0E76 | 20 04    : jr   nz,$0E7C
            0E78 | AF       : xor  a         // stop sound
            0E79 | 32 60 F0 : ld   ($F060),a // send sound code
            0E7C | 18 CD    : jr   $0E4B
            0E7E | 00       : nop
            -->
        </script>
        <script state="run">
            <output format="----- kage no densetsu 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@E000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0E48 = E1AC32FF3EF7013E</action>
            <action>maincpu.mq@0E50 = 6DCDF7013E0BE0CD</action>
            <action>maincpu.mq@0E58 = 111564210E9EC213</action>
            <action>maincpu.mq@0E60 = 3EB0ED001C01E23A</action>
            <action>maincpu.mq@0E68 = 136DCDF7013ECF02</action>
            <action>maincpu.mq@0E70 = 05FECD00060E6ACA</action>
            <action>maincpu.mq@0E78 = CD023E07F1CD013E</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mb@0357 = F5</action> <!-- boot -->
            <action>maincpu.mb@DFA0 = C9</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@0357 = FB</action>
            <action>maincpu.mb@DFA0 = 3A</action>
        </script>
    </cheat>

</mamecheat>
lkageo2.xml

Code: Select all

<!-- The Legend of Kage (oldest) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@5E39 = 18</action> <!-- bomb in jumping -->
            <action>maincpu.mb@5E7E = 18</action> <!-- bomb explosion -->
            <action>maincpu.mb@5EC1 = C9</action> <!-- bomb -->
            <action>maincpu.mb@6037 = C9</action> <!-- flame -->
            <action>maincpu.mb@6079 = 18</action> <!-- enemy -->
            <action>maincpu.mb@6091 = 4D</action> <!-- syuriken -->
            <action>maincpu.mb@60F8 = 18</action> <!-- sword -->
        </script>
        <script state="off">
            <action>maincpu.mb@5E39 = 30</action>
            <action>maincpu.mb@5E7E = 30</action>
            <action>maincpu.mb@5EC1 = D0</action>
            <action>maincpu.mb@6037 = 3A</action>
            <action>maincpu.mb@6079 = 30</action>
            <action>maincpu.mb@6091 = 67</action>
            <action>maincpu.mb@60F8 = 38</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@20A4 = 00</action> <!-- sword -->
            <action>maincpu.mb@20CA = 00</action> <!-- syuriken -->
        </script>
        <script state="off">
            <action>maincpu.mb@20A4 = F7</action>
            <action>maincpu.mb@20CA = F1</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0F9D = 47B8F0843AE00021</action>
            <action>maincpu.mq@0FA5 = FE350120FBFEF928</action>
            <action>maincpu.mq@0FAD = 0420EFFE340120F7</action>
            <action>maincpu.mq@0FB5 = 0520DFFE0618F03E</action>
            <action>maincpu.mq@0FBD = 20FEFE787786103E</action>
            <action>maincpu.mq@0FC5 = 0420FDFE05187E03</action>
            <action>maincpu.mq@0FCD = CD00CD18F06032AF</action>
            <!--
            0F9D | 21 00 E0 : ld   hl,$E000  // sound code address
            0FA0 | 3A 84 F0 : ld   a,($F084) // read input
            0FA3 | B8       : cp   b
            0FA4 | 47       : ld   b,a
            0FA5 | 28 F9    : jr   z,$0FA0
            0FA7 | FE FB    : cp   $FB
            0FA9 | 20 01    : jr   nz,$0FAC
            0FAB | 35       : dec  (hl)      // decrease code -01
            0FAC | FE F7    : cp   $F7
            0FAE | 20 01    : jr   nz,$0FB1
            0FB0 | 34       : inc  (hl)      // increase code +01
            0FB1 | FE EF    : cp   $EF
            0FB3 | 20 04    : jr   nz,$0FB9
            0FB5 | 3E F0    : ld   a,$F0     // decrease code -10
            0FB7 | 18 06    : jr   $0FBF
            0FB9 | FE DF    : cp   $DF
            0FBB | 20 05    : jr   nz,$0FC2
            0FBD | 3E 10    : ld   a,$10     // increase code +10
            0FBF | 86       : add  a,(hl)
            0FC0 | 77       : ld   (hl),a
            0FC1 | 78       : ld   a,b
            0FC2 | FE FE    : cp   $FE
            0FC4 | 20 03    : jr   nz,$0FC9
            0FC6 | 7E       : ld   a,(hl)    // play sound
            0FC7 | 18 05    : jr   $0FCE
            0FC9 | FE FD    : cp   $FD
            0FCB | 20 04    : jr   nz,$0FD1
            0FCD | AF       : xor  a         // stop sound
            0FCE | 32 60 F0 : ld   ($F060),a // send sound code
            0FD1 | 18 CD    : jr   $0FA0
            -->
        </script>
        <script state="run">
            <output format="----- kage no densetsu 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@E000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0F9D = E1AC32FF3EF7013E</action>
            <action>maincpu.mq@0FA5 = D4CDF7013E0BDACD</action>
            <action>maincpu.mq@0FAD = 1116CB210FF3C214</action>
            <action>maincpu.mq@0FB5 = 3EB0ED001C01E23A</action>
            <action>maincpu.mq@0FBD = 14D4CDF7013ECF02</action>
            <action>maincpu.mq@0FC5 = 05FECD00060FBFCA</action>
            <action>maincpu.mq@0FCD = CD023E07F1CD013E</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mb@0357 = F5</action> <!-- boot -->
            <action>maincpu.mb@DFA0 = C9</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@0357 = FB</action>
            <action>maincpu.mb@DFA0 = 3A</action>
        </script>
    </cheat>

</mamecheat>
lkagem.xml

Code: Select all

<!-- The Legend of Kage (MSM5232 sound) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@5C0F = 18</action> <!-- bomb in jumping -->
            <action>maincpu.mb@5C54 = 18</action> <!-- bomb explosion -->
            <action>maincpu.mb@5C97 = C9</action> <!-- bomb -->
            <action>maincpu.mb@5E4C = C9</action> <!-- flame -->
            <action>maincpu.mb@5E8E = 18</action> <!-- enemy -->
            <action>maincpu.mb@5EA6 = 62</action> <!-- syuriken -->
            <action>maincpu.mb@5F0D = 18</action> <!-- sword -->
        </script>
        <script state="off">
            <action>maincpu.mb@5C0F = 30</action>
            <action>maincpu.mb@5C54 = 30</action>
            <action>maincpu.mb@5C97 = D0</action>
            <action>maincpu.mb@5E4C = 3A</action>
            <action>maincpu.mb@5E8E = 30</action>
            <action>maincpu.mb@5EA6 = 7C</action>
            <action>maincpu.mb@5F0D = 38</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1F4D = 00</action> <!-- sword -->
            <action>maincpu.mb@1F82 = 00</action> <!-- syuriken -->
        </script>
        <script state="off">
            <action>maincpu.mb@1F4D = 20</action>
            <action>maincpu.mb@1F82 = 20</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0E48 = 47B8F0843AE00021</action>
            <action>maincpu.mq@0E50 = FE350120FBFEF928</action>
            <action>maincpu.mq@0E58 = 0420EFFE340120F7</action>
            <action>maincpu.mq@0E60 = 0520DFFE0618F03E</action>
            <action>maincpu.mq@0E68 = 20FEFE787786103E</action>
            <action>maincpu.mq@0E70 = 0420FDFE05187E03</action>
            <action>maincpu.mq@0E78 = CD00CD18F06032AF</action>
            <!--
            0E48 | 21 00 E0 : ld   hl,$E000  // sound code address
            0E4B | 3A 84 F0 : ld   a,($F084) // read input
            0E4E | B8       : cp   b
            0E4F | 47       : ld   b,a
            0E50 | 28 F9    : jr   z,$0E4B
            0E52 | FE FB    : cp   $FB
            0E54 | 20 01    : jr   nz,$0E57
            0E56 | 35       : dec  (hl)      // decrease code -01
            0E57 | FE F7    : cp   $F7
            0E59 | 20 01    : jr   nz,$0E5C
            0E5B | 34       : inc  (hl)      // increase code +01
            0E5C | FE EF    : cp   $EF
            0E5E | 20 04    : jr   nz,$0E64
            0E60 | 3E F0    : ld   a,$F0     // decrease code -10
            0E62 | 18 06    : jr   $0E6A
            0E64 | FE DF    : cp   $DF
            0E66 | 20 05    : jr   nz,$0E6D
            0E68 | 3E 10    : ld   a,$10     // increase code +10
            0E6A | 86       : add  a,(hl)
            0E6B | 77       : ld   (hl),a
            0E6C | 78       : ld   a,b
            0E6D | FE FE    : cp   $FE
            0E6F | 20 03    : jr   nz,$0E74
            0E71 | 7E       : ld   a,(hl)    // play sound
            0E72 | 18 05    : jr   $0E79
            0E74 | FE FD    : cp   $FD
            0E76 | 20 04    : jr   nz,$0E7C
            0E78 | AF       : xor  a         // stop sound
            0E79 | 32 60 F0 : ld   ($F060),a // send sound code
            0E7C | 18 CD    : jr   $0E4B
            -->
        </script>
        <script state="run">
            <output format="----- kage no densetsu 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@E000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0E48 = E1AC32FF3EF7013E</action>
            <action>maincpu.mq@0E50 = 6DCDF7013E0BE0CD</action>
            <action>maincpu.mq@0E58 = 111564210E9EC213</action>
            <action>maincpu.mq@0E60 = 3EB0ED001C01E23A</action>
            <action>maincpu.mq@0E68 = 136DCDF7013ECF02</action>
            <action>maincpu.mq@0E70 = 05FECD00060E6ACA</action>
            <action>maincpu.mq@0E78 = CD023E07F1CD013E</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mb@0357 = F5</action> <!-- boot -->
            <action>maincpu.mb@DFA0 = C9</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@0357 = FB</action>
            <action>maincpu.mb@DFA0 = 3A</action>
        </script>
    </cheat>

</mamecheat>
lkageb.xml

Code: Select all

<!-- The Legend of Kage (bootleg set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@5E39 = 18</action> <!-- bomb in jumping -->
            <action>maincpu.mb@5E7E = 18</action> <!-- bomb explosion -->
            <action>maincpu.mb@5EC1 = C9</action> <!-- bomb -->
            <action>maincpu.mb@6037 = C9</action> <!-- flame -->
            <action>maincpu.mb@6079 = 18</action> <!-- enemy -->
            <action>maincpu.mb@6091 = 4D</action> <!-- syuriken -->
            <action>maincpu.mb@60F8 = 18</action> <!-- sword -->
        </script>
        <script state="off">
            <action>maincpu.mb@5E39 = 30</action>
            <action>maincpu.mb@5E7E = 30</action>
            <action>maincpu.mb@5EC1 = D0</action>
            <action>maincpu.mb@6037 = 3A</action>
            <action>maincpu.mb@6079 = 30</action>
            <action>maincpu.mb@6091 = 67</action>
            <action>maincpu.mb@60F8 = 38</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@20A4 = 00</action> <!-- sword -->
            <action>maincpu.mb@20CA = 00</action> <!-- syuriken -->
        </script>
        <script state="off">
            <action>maincpu.mb@20A4 = F7</action>
            <action>maincpu.mb@20CA = F1</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0F9D = 47B8F0843AE00021</action>
            <action>maincpu.mq@0FA5 = FE350120FBFEF928</action>
            <action>maincpu.mq@0FAD = 0420EFFE340120F7</action>
            <action>maincpu.mq@0FB5 = 0520DFFE0618F03E</action>
            <action>maincpu.mq@0FBD = 20FEFE787786103E</action>
            <action>maincpu.mq@0FC5 = 0420FDFE05187E03</action>
            <action>maincpu.mq@0FCD = CD00CD18F06032AF</action>
            <!--
            0F9D | 21 00 E0 : ld   hl,$E000  // sound code address
            0FA0 | 3A 84 F0 : ld   a,($F084) // read input
            0FA3 | B8       : cp   b
            0FA4 | 47       : ld   b,a
            0FA5 | 28 F9    : jr   z,$0FA0
            0FA7 | FE FB    : cp   $FB
            0FA9 | 20 01    : jr   nz,$0FAC
            0FAB | 35       : dec  (hl)      // decrease code -01
            0FAC | FE F7    : cp   $F7
            0FAE | 20 01    : jr   nz,$0FB1
            0FB0 | 34       : inc  (hl)      // increase code +01
            0FB1 | FE EF    : cp   $EF
            0FB3 | 20 04    : jr   nz,$0FB9
            0FB5 | 3E F0    : ld   a,$F0     // decrease code -10
            0FB7 | 18 06    : jr   $0FBF
            0FB9 | FE DF    : cp   $DF
            0FBB | 20 05    : jr   nz,$0FC2
            0FBD | 3E 10    : ld   a,$10     // increase code +10
            0FBF | 86       : add  a,(hl)
            0FC0 | 77       : ld   (hl),a
            0FC1 | 78       : ld   a,b
            0FC2 | FE FE    : cp   $FE
            0FC4 | 20 03    : jr   nz,$0FC9
            0FC6 | 7E       : ld   a,(hl)    // play sound
            0FC7 | 18 05    : jr   $0FCE
            0FC9 | FE FD    : cp   $FD
            0FCB | 20 04    : jr   nz,$0FD1
            0FCD | AF       : xor  a         // stop sound
            0FCE | 32 60 F0 : ld   ($F060),a // send sound code
            0FD1 | 18 CD    : jr   $0FA0
            -->
        </script>
        <script state="run">
            <output format="----- kage no densetsu 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@E000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0F9D = E1AC32FF3EF7013E</action>
            <action>maincpu.mq@0FA5 = D4CDF7013E0BDACD</action>
            <action>maincpu.mq@0FAD = 1116CB210FF3C214</action>
            <action>maincpu.mq@0FB5 = 3EB0ED001C01E23A</action>
            <action>maincpu.mq@0FBD = 14D4CDF7013ECF02</action>
            <action>maincpu.mq@0FC5 = 05FECD00060FBFCA</action>
            <action>maincpu.mq@0FCD = CD023E07F1CD013E</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mb@0357 = F5</action> <!-- boot -->
            <action>maincpu.mb@DFA0 = C9</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@0357 = FB</action>
            <action>maincpu.mb@DFA0 = 3A</action>
        </script>
    </cheat>

</mamecheat>
lkageb2.xml

Code: Select all

<!-- The Legend of Kage (bootleg set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@5E39 = 18</action> <!-- bomb in jumping -->
            <action>maincpu.mb@5E7E = 18</action> <!-- bomb explosion -->
            <action>maincpu.mb@5EC1 = C9</action> <!-- bomb -->
            <action>maincpu.mb@6037 = C9</action> <!-- flame -->
            <action>maincpu.mb@6079 = 18</action> <!-- enemy -->
            <action>maincpu.mb@6091 = 4D</action> <!-- syuriken -->
            <action>maincpu.mb@60F8 = 18</action> <!-- sword -->
        </script>
        <script state="off">
            <action>maincpu.mb@5E39 = 30</action>
            <action>maincpu.mb@5E7E = 30</action>
            <action>maincpu.mb@5EC1 = D0</action>
            <action>maincpu.mb@6037 = 3A</action>
            <action>maincpu.mb@6079 = 30</action>
            <action>maincpu.mb@6091 = 67</action>
            <action>maincpu.mb@60F8 = 38</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@20A4 = 00</action> <!-- sword -->
            <action>maincpu.mb@20CA = 00</action> <!-- syuriken -->
        </script>
        <script state="off">
            <action>maincpu.mb@20A4 = F7</action>
            <action>maincpu.mb@20CA = F1</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0F9D = 47B8F0843AE00021</action>
            <action>maincpu.mq@0FA5 = FE350120FBFEF928</action>
            <action>maincpu.mq@0FAD = 0420EFFE340120F7</action>
            <action>maincpu.mq@0FB5 = 0520DFFE0618F03E</action>
            <action>maincpu.mq@0FBD = 20FEFE787786103E</action>
            <action>maincpu.mq@0FC5 = 0420FDFE05187E03</action>
            <action>maincpu.mq@0FCD = CD00CD18F06032AF</action>
            <!--
            0F9D | 21 00 E0 : ld   hl,$E000  // sound code address
            0FA0 | 3A 84 F0 : ld   a,($F084) // read input
            0FA3 | B8       : cp   b
            0FA4 | 47       : ld   b,a
            0FA5 | 28 F9    : jr   z,$0FA0
            0FA7 | FE FB    : cp   $FB
            0FA9 | 20 01    : jr   nz,$0FAC
            0FAB | 35       : dec  (hl)      // decrease code -01
            0FAC | FE F7    : cp   $F7
            0FAE | 20 01    : jr   nz,$0FB1
            0FB0 | 34       : inc  (hl)      // increase code +01
            0FB1 | FE EF    : cp   $EF
            0FB3 | 20 04    : jr   nz,$0FB9
            0FB5 | 3E F0    : ld   a,$F0     // decrease code -10
            0FB7 | 18 06    : jr   $0FBF
            0FB9 | FE DF    : cp   $DF
            0FBB | 20 05    : jr   nz,$0FC2
            0FBD | 3E 10    : ld   a,$10     // increase code +10
            0FBF | 86       : add  a,(hl)
            0FC0 | 77       : ld   (hl),a
            0FC1 | 78       : ld   a,b
            0FC2 | FE FE    : cp   $FE
            0FC4 | 20 03    : jr   nz,$0FC9
            0FC6 | 7E       : ld   a,(hl)    // play sound
            0FC7 | 18 05    : jr   $0FCE
            0FC9 | FE FD    : cp   $FD
            0FCB | 20 04    : jr   nz,$0FD1
            0FCD | AF       : xor  a         // stop sound
            0FCE | 32 60 F0 : ld   ($F060),a // send sound code
            0FD1 | 18 CD    : jr   $0FA0
            -->
        </script>
        <script state="run">
            <output format="----- kage no densetsu 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@E000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0F9D = E1AC32FF3EF7013E</action>
            <action>maincpu.mq@0FA5 = D4CDF7013E0BDACD</action>
            <action>maincpu.mq@0FAD = 1116CB210FF3C214</action>
            <action>maincpu.mq@0FB5 = 3EB0ED001C01E23A</action>
            <action>maincpu.mq@0FBD = 14D4CDF7013ECF02</action>
            <action>maincpu.mq@0FC5 = 05FECD00060FBFCA</action>
            <action>maincpu.mq@0FCD = CD023E07F1CD013E</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mb@0357 = F5</action> <!-- boot -->
            <action>maincpu.mb@DFA0 = C9</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@0357 = FB</action>
            <action>maincpu.mb@DFA0 = 3A</action>
        </script>
    </cheat>

</mamecheat>
lkageb3.xml

Code: Select all

<!-- The Legend of Kage (bootleg set 3) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@5E39 = 18</action> <!-- bomb in jumping -->
            <action>maincpu.mb@5E7E = 18</action> <!-- bomb explosion -->
            <action>maincpu.mb@5EC1 = C9</action> <!-- bomb -->
            <action>maincpu.mb@6037 = C9</action> <!-- flame -->
            <action>maincpu.mb@6079 = 18</action> <!-- enemy -->
            <action>maincpu.mb@6091 = 4D</action> <!-- syuriken -->
            <action>maincpu.mb@60F8 = 18</action> <!-- sword -->
        </script>
        <script state="off">
            <action>maincpu.mb@5E39 = 30</action>
            <action>maincpu.mb@5E7E = 30</action>
            <action>maincpu.mb@5EC1 = D0</action>
            <action>maincpu.mb@6037 = 3A</action>
            <action>maincpu.mb@6079 = 30</action>
            <action>maincpu.mb@6091 = 67</action>
            <action>maincpu.mb@60F8 = 38</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@20A4 = 00</action> <!-- sword -->
            <action>maincpu.mb@20CA = 00</action> <!-- syuriken -->
        </script>
        <script state="off">
            <action>maincpu.mb@20A4 = F7</action>
            <action>maincpu.mb@20CA = F1</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0F9D = 47B8F0843AE00021</action>
            <action>maincpu.mq@0FA5 = FE350120FBFEF928</action>
            <action>maincpu.mq@0FAD = 0420EFFE340120F7</action>
            <action>maincpu.mq@0FB5 = 0520DFFE0618F03E</action>
            <action>maincpu.mq@0FBD = 20FEFE787786103E</action>
            <action>maincpu.mq@0FC5 = 0420FDFE05187E03</action>
            <action>maincpu.mq@0FCD = CD00CD18F06032AF</action>
            <!--
            0F9D | 21 00 E0 : ld   hl,$E000  // sound code address
            0FA0 | 3A 84 F0 : ld   a,($F084) // read input
            0FA3 | B8       : cp   b
            0FA4 | 47       : ld   b,a
            0FA5 | 28 F9    : jr   z,$0FA0
            0FA7 | FE FB    : cp   $FB
            0FA9 | 20 01    : jr   nz,$0FAC
            0FAB | 35       : dec  (hl)      // decrease code -01
            0FAC | FE F7    : cp   $F7
            0FAE | 20 01    : jr   nz,$0FB1
            0FB0 | 34       : inc  (hl)      // increase code +01
            0FB1 | FE EF    : cp   $EF
            0FB3 | 20 04    : jr   nz,$0FB9
            0FB5 | 3E F0    : ld   a,$F0     // decrease code -10
            0FB7 | 18 06    : jr   $0FBF
            0FB9 | FE DF    : cp   $DF
            0FBB | 20 05    : jr   nz,$0FC2
            0FBD | 3E 10    : ld   a,$10     // increase code +10
            0FBF | 86       : add  a,(hl)
            0FC0 | 77       : ld   (hl),a
            0FC1 | 78       : ld   a,b
            0FC2 | FE FE    : cp   $FE
            0FC4 | 20 03    : jr   nz,$0FC9
            0FC6 | 7E       : ld   a,(hl)    // play sound
            0FC7 | 18 05    : jr   $0FCE
            0FC9 | FE FD    : cp   $FD
            0FCB | 20 04    : jr   nz,$0FD1
            0FCD | AF       : xor  a         // stop sound
            0FCE | 32 60 F0 : ld   ($F060),a // send sound code
            0FD1 | 18 CD    : jr   $0FA0
            -->
        </script>
        <script state="run">
            <output format="----- kage no densetsu 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@E000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0F9D = E1AC32FF3EF7013E</action>
            <action>maincpu.mq@0FA5 = D4CDF7013E0BDACD</action>
            <action>maincpu.mq@0FAD = 1116CB210FF3C214</action>
            <action>maincpu.mq@0FB5 = 3EB0ED001C01E23A</action>
            <action>maincpu.mq@0FBD = 14D4CDF7013ECF02</action>
            <action>maincpu.mq@0FC5 = 05FECD00060FBFCA</action>
            <action>maincpu.mq@0FCD = CD023E07F1CD013E</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mb@0357 = F5</action> <!-- boot -->
            <action>maincpu.mb@DFA0 = C9</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@0357 = FB</action>
            <action>maincpu.mb@DFA0 = 3A</action>
        </script>
    </cheat>

</mamecheat>
lkageb4.xml

Code: Select all

<!-- The Legend of Kage (bootleg set 4) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@5C11 = 18</action> <!-- bomb in jumping -->
            <action>maincpu.mb@5C56 = 18</action> <!-- bomb explosion -->
            <action>maincpu.mb@5C99 = C9</action> <!-- bomb -->
            <action>maincpu.mb@5E4E = C9</action> <!-- flame -->
            <action>maincpu.mb@5E90 = 18</action> <!-- enemy -->
            <action>maincpu.mb@5EA8 = 64</action> <!-- syuriken -->
            <action>maincpu.mb@5F0F = 18</action> <!-- sword -->
        </script>
        <script state="off">
            <action>maincpu.mb@5C11 = 30</action>
            <action>maincpu.mb@5C56 = 30</action>
            <action>maincpu.mb@5C99 = D0</action>
            <action>maincpu.mb@5E4E = 3A</action>
            <action>maincpu.mb@5E90 = 30</action>
            <action>maincpu.mb@5EA8 = 7E</action>
            <action>maincpu.mb@5F0F = 38</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1F4D = 00</action> <!-- sword -->
            <action>maincpu.mb@1F82 = 00</action> <!-- syuriken -->
        </script>
        <script state="off">
            <action>maincpu.mb@1F4D = 20</action>
            <action>maincpu.mb@1F82 = 20</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@0E48 = 47B8F0843AE00021</action>
            <action>maincpu.mq@0E50 = FE350120FBFEF928</action>
            <action>maincpu.mq@0E58 = 0420EFFE340120F7</action>
            <action>maincpu.mq@0E60 = 0520DFFE0618F03E</action>
            <action>maincpu.mq@0E68 = 20FEFE787786103E</action>
            <action>maincpu.mq@0E70 = 0420FDFE05187E03</action>
            <action>maincpu.mq@0E78 = CD00CD18F06032AF</action>
            <!--
            0E48 | 21 00 E0 : ld   hl,$E000  // sound code address
            0E4B | 3A 84 F0 : ld   a,($F084) // read input
            0E4E | B8       : cp   b
            0E4F | 47       : ld   b,a
            0E50 | 28 F9    : jr   z,$0E4B
            0E52 | FE FB    : cp   $FB
            0E54 | 20 01    : jr   nz,$0E57
            0E56 | 35       : dec  (hl)      // decrease code -01
            0E57 | FE F7    : cp   $F7
            0E59 | 20 01    : jr   nz,$0E5C
            0E5B | 34       : inc  (hl)      // increase code +01
            0E5C | FE EF    : cp   $EF
            0E5E | 20 04    : jr   nz,$0E64
            0E60 | 3E F0    : ld   a,$F0     // decrease code -10
            0E62 | 18 06    : jr   $0E6A
            0E64 | FE DF    : cp   $DF
            0E66 | 20 05    : jr   nz,$0E6D
            0E68 | 3E 10    : ld   a,$10     // increase code +10
            0E6A | 86       : add  a,(hl)
            0E6B | 77       : ld   (hl),a
            0E6C | 78       : ld   a,b
            0E6D | FE FE    : cp   $FE
            0E6F | 20 03    : jr   nz,$0E74
            0E71 | 7E       : ld   a,(hl)    // play sound
            0E72 | 18 05    : jr   $0E79
            0E74 | FE FD    : cp   $FD
            0E76 | 20 04    : jr   nz,$0E7C
            0E78 | AF       : xor  a         // stop sound
            0E79 | 32 60 F0 : ld   ($F060),a // send sound code
            0E7C | 18 CD    : jr   $0E4B
            0E7E | 00       : nop
            -->
        </script>
        <script state="run">
            <output format="----- kage no densetsu 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@E000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0E48 = E1AC32FF3EF7013E</action>
            <action>maincpu.mq@0E50 = 6DCDF7013E0BE0CD</action>
            <action>maincpu.mq@0E58 = 111564210E9EC213</action>
            <action>maincpu.mq@0E60 = 3EB0ED001C01E23A</action>
            <action>maincpu.mq@0E68 = 136DCDF7013ECF02</action>
            <action>maincpu.mq@0E70 = 05FECD00060E6ACA</action>
            <action>maincpu.mq@0E78 = CD023E07F1CD013E</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mb@0357 = F5</action> <!-- boot -->
            <action>maincpu.mb@DFA0 = C9</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@0357 = FB</action>
            <action>maincpu.mb@DFA0 = 3A</action>
        </script>
    </cheat>

</mamecheat>
Post Reply