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