blktiger.xml
Code: Select all
<!-- Black Tiger -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@31E8 = C9</action> <!-- attack -->
<action>maincpu.mb@354E = C9</action> <!-- enemy -->
<action>maincpu.mb@3C90 = C9</action> <!-- dragon knight -->
<action>maincpu.mb@462B = C9</action> <!-- dragon -->
<action>maincpu.mb@47CC = C9</action> <!-- bat -->
<action>maincpu.mb@47E5 = C9</action> <!-- flower -->
<action>maincpu.mb@481C = C9</action> <!-- snake -->
<action>maincpu.mb@4847 = C9</action> <!-- poison -->
<action>maincpu.mb@4872 = C9</action> <!-- magic -->
</script>
<script state="off">
<action>maincpu.mb@31E8 = 3A</action>
<action>maincpu.mb@354E = 3A</action>
<action>maincpu.mb@3C90 = 3A</action>
<action>maincpu.mb@462B = 3A</action>
<action>maincpu.mb@47CC = DD</action>
<action>maincpu.mb@47E5 = 3E</action>
<action>maincpu.mb@481C = 21</action>
<action>maincpu.mb@4847 = 21</action>
<action>maincpu.mb@4872 = 21</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.md@2C103 = 3DB300CD </action> <!-- ($8103) -->
<action>maincpu.mq@2F300 = C0013E10E6E0E83A</action>
<action>maincpu.mq@2F308 = FFFFFFFFC907E67E</action>
<!--
B300 | 3A E8 E0 : ld a,($E0E8)
B303 | E6 10 : and $10
B305 | 3E 01 : ld a,$01
B307 | C0 : ret nz
B308 | 7E : ld a,(hl)
B309 | E6 07 : and $07
B30B | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@2C103 = 3D07E67E </action>
<action>maincpu.mq@2F300 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2F308 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="attack speed up - morning star">
<script state="on">
<action>maincpu.mb@2CB8B = C3</action> <!-- ($8b8b) -->
<action>maincpu.mb@2CC98 = 01</action> <!-- ($8c98) -->
</script>
<script state="off">
<action>maincpu.mb@2CB8B = D2</action>
<action>maincpu.mb@2CC98 = 0D</action>
</script>
</cheat>
<cheat desc="free price">
<script state="on">
<!-- calculation -->
<action>maincpu.mb@4FDF = AF </action>
<action>maincpu.md@669B = 2A000011</action> <!-- upper items -->
<action>maincpu.md@6703 = 2A000011</action> <!-- lower items -->
<action>maincpu.mw@6757 = 0000 </action> <!-- key -->
<action>maincpu.mw@6792 = 0000 </action> <!-- potion -->
<!-- display -->
<action>maincpu.md@69D7 = 007D00CD </action>
<action>maincpu.mq@7D00 = 20203E20FE1B1A13</action>
<action>maincpu.mq@7D08 = FFFFC9D4CB771A01</action>
<!--
7D00 | 13 : inc de
7D01 | 1A : ld a,(de)
7D02 | 1B : dec de
7D03 | FE 20 : cp $20
7D05 | 3E 20 : ld a,$20
7D07 | 20 01 : jr nz,$7D0A
7D09 | 1A : ld a,(de)
7D0A | 77 : ld (hl),a
7D0B | CB D4 : set 2,h
7D0D | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mb@4FDF = 1A </action>
<action>maincpu.md@669B = 2A56235E </action>
<action>maincpu.md@6703 = 2A56235E </action>
<action>maincpu.mw@6757 = 001E </action>
<action>maincpu.mw@6792 = 0096 </action>
<action>maincpu.md@69D7 = D4CB771A </action>
<action>maincpu.mq@7D00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D08 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="short hit mark - knife">
<script state="on">
<action>maincpu.mb@035C1 = B5</action> <!-- skull -->
<action>maincpu.mb@2E28B = B5</action> <!-- wall ($a28b) -->
<action>maincpu.mb@2E2AC = 8C</action> <!-- enemy ($a2ac) -->
<action>maincpu.mb@2E2CC = 8C</action> <!-- enemy ($a2cc) -->
<action>maincpu.mb@2E2EC = 8C</action> <!-- enemy ($a2ec) -->
</script>
<script state="off">
<action>maincpu.mb@035C1 = 8D</action>
<action>maincpu.mb@2E28B = 92</action>
<action>maincpu.mb@2E2AC = 69</action>
<action>maincpu.mb@2E2CC = 69</action>
<action>maincpu.mb@2E2EC = 69</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x5a">02 </item>
<item value="0x3c">03 </item>
<item value="0x1e">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0321 = param</action>
</script>
<script state="off">
<action>maincpu.mb@0321 = 3C</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@0963 = 7D10 </action>
<action>maincpu.mq@7D10 = 2847B801DBF00021</action>
<action>maincpu.mq@7D18 = FEFE350120FDFEFA</action>
<action>maincpu.mq@7D20 = 3E0420FBFE340120</action>
<action>maincpu.mq@7D28 = 3E0520F7FE0618F0</action>
<action>maincpu.mq@7D30 = 0320EFFE78778610</action>
<action>maincpu.mq@7D38 = AF0320DFFE05187E</action>
<action>maincpu.mq@7D40 = FFFFFFFFCF1800D3</action>
<!--
7D10 | 21 00 F0 : ld hl,$F000 // sound code address
7D13 | DB 01 : in a,($01) // read input
7D15 | B8 : cp b
7D16 | 47 : ld b,a
7D17 | 28 FA : jr z,$7D13
7D19 | FE FD : cp $FD
7D1B | 20 01 : jr nz,$7D1E
7D1D | 35 : dec (hl) // decrease code -01
7D1E | FE FE : cp $FE
7D20 | 20 01 : jr nz,$7D23
7D22 | 34 : inc (hl) // increase code +01
7D23 | FE FB : cp $FB
7D25 | 20 04 : jr nz,$7D2B
7D27 | 3E F0 : ld a,$F0 // decrease code -10
7D29 | 18 06 : jr $7D31
7D2B | FE F7 : cp $F7
7D2D | 20 05 : jr nz,$7D34
7D2F | 3E 10 : ld a,$10 // increase code +10
7D31 | 86 : add a,(hl)
7D32 | 77 : ld (hl),a
7D33 | 78 : ld a,b
7D34 | FE EF : cp $EF
7D36 | 20 03 : jr nz,$7D3B
7D38 | 7E : ld a,(hl) // play sound
7D39 | 18 05 : jr $7D40
7D3B | FE DF : cp $DF
7D3D | 20 03 : jr nz,$7D42
7D3F | AF : xor a // stop sound
7D40 | D3 00 : out ($00),a // send sound code
7D42 | 18 CF : jr $7D13
-->
</script>
<script state="run">
<output format="----- black 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="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@F000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0963 = 0A87 </action>
<action>maincpu.mq@7D10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D18 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D38 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D40 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
blktigera.xml
Code: Select all
<!-- Black Tiger (older) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@3150 = C9</action> <!-- attack -->
<action>maincpu.mb@34B6 = C9</action> <!-- enemy -->
<action>maincpu.mb@3BF8 = C9</action> <!-- dragon knight -->
<action>maincpu.mb@4593 = C9</action> <!-- dragon -->
<action>maincpu.mb@4724 = C9</action> <!-- bat -->
<action>maincpu.mb@473D = C9</action> <!-- flower -->
<action>maincpu.mb@4774 = C9</action> <!-- snake -->
<action>maincpu.mb@47A4 = C9</action> <!-- poison -->
<action>maincpu.mb@47D4 = C9</action> <!-- magic -->
</script>
<script state="off">
<action>maincpu.mb@3150 = 3A</action>
<action>maincpu.mb@34B6 = 3A</action>
<action>maincpu.mb@3BFB = 3A</action>
<action>maincpu.mb@4593 = 3A</action>
<action>maincpu.mb@4724 = DD</action>
<action>maincpu.mb@473D = 3E</action>
<action>maincpu.mb@4774 = 21</action>
<action>maincpu.mb@47A4 = 21</action>
<action>maincpu.mb@47D4 = 21</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.md@2C103 = 3DB300CD </action> <!-- ($8103) -->
<action>maincpu.mq@2F300 = C0013E10E6E0E83A</action>
<action>maincpu.mq@2F308 = FFFFFFFFC907E67E</action>
<!--
B300 | 3A E8 E0 : ld a,($E0E8)
B303 | E6 10 : and $10
B305 | 3E 01 : ld a,$01
B307 | C0 : ret nz
B308 | 7E : ld a,(hl)
B309 | E6 07 : and $07
B30B | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@2C103 = 3D07E67E </action>
<action>maincpu.mq@2F300 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2F308 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="attack speed up - morning star">
<script state="on">
<action>maincpu.mb@2CB8B = C3</action> <!-- ($8b8b) -->
<action>maincpu.mb@2CC98 = 01</action> <!-- ($8c98) -->
</script>
<script state="off">
<action>maincpu.mb@2CB8B = D2</action>
<action>maincpu.mb@2CC98 = 0D</action>
</script>
</cheat>
<cheat desc="free price">
<script state="on">
<!-- calculation -->
<action>maincpu.mb@4F3E = AF </action>
<action>maincpu.md@65F7 = 2A000011</action> <!-- upper items -->
<action>maincpu.md@665F = 2A000011</action> <!-- lower items -->
<action>maincpu.mw@66B3 = 0000 </action> <!-- key -->
<action>maincpu.mw@66EE = 0000 </action> <!-- potion -->
<!-- display -->
<action>maincpu.md@6933 = 007C60CD </action>
<action>maincpu.mq@7C60 = 20203E20FE1B1A13</action>
<action>maincpu.mq@7C68 = FFFFC9D4CB771A01</action>
<!--
7C60 | 13 : inc de
7C61 | 1A : ld a,(de)
7C62 | 1B : dec de
7C63 | FE 20 : cp $20
7C65 | 3E 20 : ld a,$20
7C67 | 20 01 : jr nz,$7C6A
7C69 | 1A : ld a,(de)
7C6A | 77 : ld (hl),a
7C6B | CB D4 : set 2,h
7C6D | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mb@4F3E = 1A </action>
<action>maincpu.md@65F7 = 2A56235E </action>
<action>maincpu.md@665F = 2A56235E </action>
<action>maincpu.mw@66B3 = 0050 </action>
<action>maincpu.mw@66EE = 0096 </action>
<action>maincpu.md@6933 = D4CB771A </action>
<action>maincpu.mq@7C60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C68 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="short hit mark - knife">
<script state="on">
<action>maincpu.mb@03529 = B5</action> <!-- skull -->
<action>maincpu.mb@2E28B = B5</action> <!-- wall ($a28b) -->
<action>maincpu.mb@2E2AC = 8C</action> <!-- enemy ($a2ac) -->
<action>maincpu.mb@2E2CC = 8C</action> <!-- enemy ($a2cc) -->
<action>maincpu.mb@2E2EC = 8C</action> <!-- enemy ($a2ec) -->
</script>
<script state="off">
<action>maincpu.mb@03529 = 8D</action>
<action>maincpu.mb@2E28B = 92</action>
<action>maincpu.mb@2E2AC = 69</action>
<action>maincpu.mb@2E2CC = 69</action>
<action>maincpu.mb@2E2EC = 69</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x5a">02 </item>
<item value="0x3c">03 </item>
<item value="0x1e">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0321 = param</action>
</script>
<script state="off">
<action>maincpu.mb@0321 = 3C</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@0962 = 7C70 </action>
<action>maincpu.mq@7C70 = 2847B801DBF00021</action>
<action>maincpu.mq@7C78 = FEFE350120FDFEFA</action>
<action>maincpu.mq@7C80 = 3E0420FBFE340120</action>
<action>maincpu.mq@7C88 = 3E0520F7FE0618F0</action>
<action>maincpu.mq@7C90 = 0320EFFE78778610</action>
<action>maincpu.mq@7C98 = AF0320DFFE05187E</action>
<action>maincpu.mq@7CA0 = FFFFFFFFCF1800D3</action>
<!--
7C70 | 21 00 F0 : ld hl,$F000 // sound code address
7C73 | DB 01 : in a,($01) // read input
7C75 | B8 : cp b
7C76 | 47 : ld b,a
7C77 | 28 FA : jr z,$7F23
7C79 | FE FD : cp $FD
7C7B | 20 01 : jr nz,$7F2E
7C7D | 35 : dec (hl) // decrease code -01
7C7E | FE FE : cp $FE
7C80 | 20 01 : jr nz,$7F33
7C82 | 34 : inc (hl) // increase code +01
7C83 | FE FB : cp $FB
7C85 | 20 04 : jr nz,$7F3B
7C87 | 3E F0 : ld a,$F0 // decrease code -10
7C89 | 18 06 : jr $7F41
7C8B | FE F7 : cp $F7
7C8D | 20 05 : jr nz,$7F44
7C8F | 3E 10 : ld a,$10 // increase code +10
7C91 | 86 : add a,(hl)
7C92 | 77 : ld (hl),a
7C93 | 78 : ld a,b
7C94 | FE EF : cp $EF
7C96 | 20 03 : jr nz,$7F4B
7C98 | 7E : ld a,(hl) // play sound
7C99 | 18 05 : jr $7F50
7C9B | FE DF : cp $DF
7C9D | 20 03 : jr nz,$7F52
7C9F | AF : xor a // stop sound
7CA0 | D3 00 : out ($00),a // send sound code
7CA2 | 18 CF : jr $7F23
-->
</script>
<script state="run">
<output format="----- black 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="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@F000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0962 = 0A86 </action>
<action>maincpu.mq@7C70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C78 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C88 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7C98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7CA0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
blktigerb1.xml
Code: Select all
<!-- Black Tiger (bootleg set 1) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@31E8 = C9</action> <!-- attack -->
<action>maincpu.mb@354E = C9</action> <!-- enemy -->
<action>maincpu.mb@3C90 = C9</action> <!-- dragon knight -->
<action>maincpu.mb@462B = C9</action> <!-- dragon -->
<action>maincpu.mb@47CC = C9</action> <!-- bat -->
<action>maincpu.mb@47E5 = C9</action> <!-- flower -->
<action>maincpu.mb@481C = C9</action> <!-- snake -->
<action>maincpu.mb@4847 = C9</action> <!-- poison -->
<action>maincpu.mb@4872 = C9</action> <!-- magic -->
</script>
<script state="off">
<action>maincpu.mb@31E8 = 3A</action>
<action>maincpu.mb@354E = 3A</action>
<action>maincpu.mb@3C90 = 3A</action>
<action>maincpu.mb@462B = 3A</action>
<action>maincpu.mb@47CC = DD</action>
<action>maincpu.mb@47E5 = 3E</action>
<action>maincpu.mb@481C = 21</action>
<action>maincpu.mb@4847 = 21</action>
<action>maincpu.mb@4872 = 21</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.md@2C103 = 3DB300CD </action> <!-- ($8103) -->
<action>maincpu.mq@2F300 = C0013E10E6E0E83A</action>
<action>maincpu.mq@2F308 = FFFFFFFFC907E67E</action>
<!--
B300 | 3A E8 E0 : ld a,($E0E8)
B303 | E6 10 : and $10
B305 | 3E 01 : ld a,$01
B307 | C0 : ret nz
B308 | 7E : ld a,(hl)
B309 | E6 07 : and $07
B30B | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@2C103 = 3D07E67E </action>
<action>maincpu.mq@2F300 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2F308 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="attack speed up - morning star">
<script state="on">
<action>maincpu.mb@2CB8B = C3</action> <!-- ($8b8b) -->
<action>maincpu.mb@2CC98 = 01</action> <!-- ($8c98) -->
</script>
<script state="off">
<action>maincpu.mb@2CB8B = D2</action>
<action>maincpu.mb@2CC98 = 0D</action>
</script>
</cheat>
<cheat desc="free price">
<script state="on">
<!-- calculation -->
<action>maincpu.mb@4FDF = AF </action>
<action>maincpu.md@669B = 2A000011</action> <!-- upper items -->
<action>maincpu.md@6703 = 2A000011</action> <!-- lower items -->
<action>maincpu.mw@6757 = 0000 </action> <!-- key -->
<action>maincpu.mw@6792 = 0000 </action> <!-- potion -->
<!-- display -->
<action>maincpu.md@69D7 = 007D00CD </action>
<action>maincpu.mq@7D00 = 20203E20FE1B1A13</action>
<action>maincpu.mq@7D08 = FFFFC9D4CB771A01</action>
<!--
7D00 | 13 : inc de
7D01 | 1A : ld a,(de)
7D02 | 1B : dec de
7D03 | FE 20 : cp $20
7D05 | 3E 20 : ld a,$20
7D07 | 20 01 : jr nz,$7D0A
7D09 | 1A : ld a,(de)
7D0A | 77 : ld (hl),a
7D0B | CB D4 : set 2,h
7D0D | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mb@4FDF = 1A </action>
<action>maincpu.md@669B = 2A56235E </action>
<action>maincpu.md@6703 = 2A56235E </action>
<action>maincpu.mw@6757 = 001E </action>
<action>maincpu.mw@6792 = 0096 </action>
<action>maincpu.md@69D7 = D4CB771A </action>
<action>maincpu.mq@7D00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D08 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="short hit mark - knife">
<script state="on">
<action>maincpu.mb@035C1 = B5</action> <!-- skull -->
<action>maincpu.mb@2E28B = B5</action> <!-- wall ($a28b) -->
<action>maincpu.mb@2E2AC = 8C</action> <!-- enemy ($a2ac) -->
<action>maincpu.mb@2E2CC = 8C</action> <!-- enemy ($a2cc) -->
<action>maincpu.mb@2E2EC = 8C</action> <!-- enemy ($a2ec) -->
</script>
<script state="off">
<action>maincpu.mb@035C1 = 8D</action>
<action>maincpu.mb@2E28B = 92</action>
<action>maincpu.mb@2E2AC = 69</action>
<action>maincpu.mb@2E2CC = 69</action>
<action>maincpu.mb@2E2EC = 69</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x5a">02 </item>
<item value="0x3c">03 </item>
<item value="0x1e">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0321 = param</action>
</script>
<script state="off">
<action>maincpu.mb@0321 = 3C</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@0963 = 7D10 </action>
<action>maincpu.mq@7D10 = 2847B801DBF00021</action>
<action>maincpu.mq@7D18 = FEFE350120FDFEFA</action>
<action>maincpu.mq@7D20 = 3E0420FBFE340120</action>
<action>maincpu.mq@7D28 = 3E0520F7FE0618F0</action>
<action>maincpu.mq@7D30 = 0320EFFE78778610</action>
<action>maincpu.mq@7D38 = AF0320DFFE05187E</action>
<action>maincpu.mq@7D40 = FFFFFFFFCF1800D3</action>
<!--
7D10 | 21 00 F0 : ld hl,$F000 // sound code address
7D13 | DB 01 : in a,($01) // read input
7D15 | B8 : cp b
7D16 | 47 : ld b,a
7D17 | 28 FA : jr z,$7D13
7D19 | FE FD : cp $FD
7D1B | 20 01 : jr nz,$7D1E
7D1D | 35 : dec (hl) // decrease code -01
7D1E | FE FE : cp $FE
7D20 | 20 01 : jr nz,$7D23
7D22 | 34 : inc (hl) // increase code +01
7D23 | FE FB : cp $FB
7D25 | 20 04 : jr nz,$7D2B
7D27 | 3E F0 : ld a,$F0 // decrease code -10
7D29 | 18 06 : jr $7D31
7D2B | FE F7 : cp $F7
7D2D | 20 05 : jr nz,$7D34
7D2F | 3E 10 : ld a,$10 // increase code +10
7D31 | 86 : add a,(hl)
7D32 | 77 : ld (hl),a
7D33 | 78 : ld a,b
7D34 | FE EF : cp $EF
7D36 | 20 03 : jr nz,$7D3B
7D38 | 7E : ld a,(hl) // play sound
7D39 | 18 05 : jr $7D40
7D3B | FE DF : cp $DF
7D3D | 20 03 : jr nz,$7D42
7D3F | AF : xor a // stop sound
7D40 | D3 00 : out ($00),a // send sound code
7D42 | 18 CF : jr $7D13
-->
</script>
<script state="run">
<output format="----- black 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="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@F000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0963 = 0A87 </action>
<action>maincpu.mq@7D10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D18 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D38 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D40 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
blktigerb2.xml
Code: Select all
<!-- Black Tiger (bootleg set 2) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@31E8 = C9</action> <!-- attack -->
<action>maincpu.mb@354E = C9</action> <!-- enemy -->
<action>maincpu.mb@3C90 = C9</action> <!-- dragon knight -->
<action>maincpu.mb@462B = C9</action> <!-- dragon -->
<action>maincpu.mb@47CC = C9</action> <!-- bat -->
<action>maincpu.mb@47E5 = C9</action> <!-- flower -->
<action>maincpu.mb@481C = C9</action> <!-- snake -->
<action>maincpu.mb@4847 = C9</action> <!-- poison -->
<action>maincpu.mb@4872 = C9</action> <!-- magic -->
</script>
<script state="off">
<action>maincpu.mb@31E8 = 3A</action>
<action>maincpu.mb@354E = 3A</action>
<action>maincpu.mb@3C90 = 3A</action>
<action>maincpu.mb@462B = 3A</action>
<action>maincpu.mb@47CC = DD</action>
<action>maincpu.mb@47E5 = 3E</action>
<action>maincpu.mb@481C = 21</action>
<action>maincpu.mb@4847 = 21</action>
<action>maincpu.mb@4872 = 21</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.md@2C103 = 3DB300CD </action> <!-- ($8103) -->
<action>maincpu.mq@2F300 = C0013E10E6E0E83A</action>
<action>maincpu.mq@2F308 = FFFFFFFFC907E67E</action>
<!--
B300 | 3A E8 E0 : ld a,($E0E8)
B303 | E6 10 : and $10
B305 | 3E 01 : ld a,$01
B307 | C0 : ret nz
B308 | 7E : ld a,(hl)
B309 | E6 07 : and $07
B30B | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@2C103 = 3D07E67E </action>
<action>maincpu.mq@2F300 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2F308 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="attack speed up - morning star">
<script state="on">
<action>maincpu.mb@2CB8B = C3</action> <!-- ($8b8b) -->
<action>maincpu.mb@2CC98 = 01</action> <!-- ($8c98) -->
</script>
<script state="off">
<action>maincpu.mb@2CB8B = D2</action>
<action>maincpu.mb@2CC98 = 0D</action>
</script>
</cheat>
<cheat desc="free price">
<script state="on">
<!-- calculation -->
<action>maincpu.mb@4FDF = AF </action>
<action>maincpu.md@669B = 2A000011</action> <!-- upper items -->
<action>maincpu.md@6703 = 2A000011</action> <!-- lower items -->
<action>maincpu.mw@6757 = 0000 </action> <!-- key -->
<action>maincpu.mw@6792 = 0000 </action> <!-- potion -->
<!-- display -->
<action>maincpu.md@69D7 = 007D00CD </action>
<action>maincpu.mq@7D00 = 20203E20FE1B1A13</action>
<action>maincpu.mq@7D08 = FFFFC9D4CB771A01</action>
<!--
7D00 | 13 : inc de
7D01 | 1A : ld a,(de)
7D02 | 1B : dec de
7D03 | FE 20 : cp $20
7D05 | 3E 20 : ld a,$20
7D07 | 20 01 : jr nz,$7D0A
7D09 | 1A : ld a,(de)
7D0A | 77 : ld (hl),a
7D0B | CB D4 : set 2,h
7D0D | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mb@4FDF = 1A </action>
<action>maincpu.md@669B = 2A56235E </action>
<action>maincpu.md@6703 = 2A56235E </action>
<action>maincpu.mw@6757 = 001E </action>
<action>maincpu.mw@6792 = 0096 </action>
<action>maincpu.md@69D7 = D4CB771A </action>
<action>maincpu.mq@7D00 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D08 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="short hit mark - knife">
<script state="on">
<action>maincpu.mb@035C1 = B5</action> <!-- skull -->
<action>maincpu.mb@2E28B = B5</action> <!-- wall ($a28b) -->
<action>maincpu.mb@2E2AC = 8C</action> <!-- enemy ($a2ac) -->
<action>maincpu.mb@2E2CC = 8C</action> <!-- enemy ($a2cc) -->
<action>maincpu.mb@2E2EC = 8C</action> <!-- enemy ($a2ec) -->
</script>
<script state="off">
<action>maincpu.mb@035C1 = 8D</action>
<action>maincpu.mb@2E28B = 92</action>
<action>maincpu.mb@2E2AC = 69</action>
<action>maincpu.mb@2E2CC = 69</action>
<action>maincpu.mb@2E2EC = 69</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x5a">02 </item>
<item value="0x3c">03 </item>
<item value="0x1e">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0321 = param</action>
</script>
<script state="off">
<action>maincpu.mb@0321 = 3C</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@0963 = 7D10 </action>
<action>maincpu.mq@7D10 = 2847B801DBF00021</action>
<action>maincpu.mq@7D18 = FEFE350120FDFEFA</action>
<action>maincpu.mq@7D20 = 3E0420FBFE340120</action>
<action>maincpu.mq@7D28 = 3E0520F7FE0618F0</action>
<action>maincpu.mq@7D30 = 0320EFFE78778610</action>
<action>maincpu.mq@7D38 = AF0320DFFE05187E</action>
<action>maincpu.mq@7D40 = FFFFFFFFCF1800D3</action>
<!--
7D10 | 21 00 F0 : ld hl,$F000 // sound code address
7D13 | DB 01 : in a,($01) // read input
7D15 | B8 : cp b
7D16 | 47 : ld b,a
7D17 | 28 FA : jr z,$7D13
7D19 | FE FD : cp $FD
7D1B | 20 01 : jr nz,$7D1E
7D1D | 35 : dec (hl) // decrease code -01
7D1E | FE FE : cp $FE
7D20 | 20 01 : jr nz,$7D23
7D22 | 34 : inc (hl) // increase code +01
7D23 | FE FB : cp $FB
7D25 | 20 04 : jr nz,$7D2B
7D27 | 3E F0 : ld a,$F0 // decrease code -10
7D29 | 18 06 : jr $7D31
7D2B | FE F7 : cp $F7
7D2D | 20 05 : jr nz,$7D34
7D2F | 3E 10 : ld a,$10 // increase code +10
7D31 | 86 : add a,(hl)
7D32 | 77 : ld (hl),a
7D33 | 78 : ld a,b
7D34 | FE EF : cp $EF
7D36 | 20 03 : jr nz,$7D3B
7D38 | 7E : ld a,(hl) // play sound
7D39 | 18 05 : jr $7D40
7D3B | FE DF : cp $DF
7D3D | 20 03 : jr nz,$7D42
7D3F | AF : xor a // stop sound
7D40 | D3 00 : out ($00),a // send sound code
7D42 | 18 CF : jr $7D13
-->
</script>
<script state="run">
<output format="----- black 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="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@F000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0963 = 0A87 </action>
<action>maincpu.mq@7D10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D18 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D38 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7D40 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
blkdrgon.xml
Code: Select all
<!-- Black Dragon (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@31AF = C9</action> <!-- attack -->
<action>maincpu.mb@3515 = C9</action> <!-- enemy -->
<action>maincpu.mb@3C59 = C9</action> <!-- dragon knight -->
<action>maincpu.mb@45F2 = C9</action> <!-- dragon -->
<action>maincpu.mb@4795 = C9</action> <!-- bat -->
<action>maincpu.mb@47C1 = C9</action> <!-- flower -->
<action>maincpu.mb@47F8 = C9</action> <!-- snake -->
<action>maincpu.mb@4823 = C9</action> <!-- poison -->
<action>maincpu.mb@484E = C9</action> <!-- magic -->
</script>
<script state="off">
<action>maincpu.mb@31AF = 3A</action>
<action>maincpu.mb@3515 = 3A</action>
<action>maincpu.mb@3C59 = 3A</action>
<action>maincpu.mb@45F2 = 3A</action>
<action>maincpu.mb@4795 = DD</action>
<action>maincpu.mb@47C1 = 3E</action>
<action>maincpu.mb@47F8 = 21</action>
<action>maincpu.mb@4823 = 21</action>
<action>maincpu.mb@484E = 21</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.md@2C103 = 3DB300CD </action> <!-- ($8103) -->
<action>maincpu.mq@2F300 = C0013E10E6E0E83A</action>
<action>maincpu.mq@2F308 = FFFFFFFFC907E67E</action>
<!--
B300 | 3A E8 E0 : ld a,($E0E8)
B303 | E6 10 : and $10
B305 | 3E 01 : ld a,$01
B307 | C0 : ret nz
B308 | 7E : ld a,(hl)
B309 | E6 07 : and $07
B30B | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@2C103 = 3D07E67E </action>
<action>maincpu.mq@2F300 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2F308 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="attack speed up - morning star">
<script state="on">
<action>maincpu.mb@2CB8B = C3</action> <!-- ($8b8b) -->
<action>maincpu.mb@2CC98 = 01</action> <!-- ($8c98) -->
</script>
<script state="off">
<action>maincpu.mb@2CB8B = D2</action>
<action>maincpu.mb@2CC98 = 0D</action>
</script>
</cheat>
<cheat desc="free price">
<script state="on">
<!-- calculation -->
<action>maincpu.mb@4FBB = AF </action>
<action>maincpu.md@68B0 = 2A000011</action> <!-- upper items -->
<action>maincpu.md@6918 = 2A000011</action> <!-- lower items -->
<action>maincpu.mw@696C = 0000 </action> <!-- key -->
<action>maincpu.mw@69A7 = 0000 </action> <!-- potion -->
<!-- display -->
<action>maincpu.md@6BEC = 007F10CD </action>
<action>maincpu.mq@7F10 = 20203E20FE1B1A13</action>
<action>maincpu.mq@7F18 = FFFFC9D4CB771A01</action>
<!--
7F10 | 13 : inc de
7F11 | 1A : ld a,(de)
7F12 | 1B : dec de
7F13 | FE 20 : cp $20
7F15 | 3E 20 : ld a,$20
7F17 | 20 01 : jr nz,$7F1A
7F19 | 1A : ld a,(de)
7F1A | 77 : ld (hl),a
7F1B | CB D4 : set 2,h
7F1D | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mb@4FBB = 1A </action>
<action>maincpu.md@68B0 = 2A56235E </action>
<action>maincpu.md@6918 = 2A56235E </action>
<action>maincpu.mw@696C = 0050 </action>
<action>maincpu.mw@69A7 = 0096 </action>
<action>maincpu.md@6BEC = D4CB771A </action>
<action>maincpu.mq@7F10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F18 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="short hit mark - knife">
<script state="on">
<action>maincpu.mb@03588 = B5</action> <!-- skull -->
<action>maincpu.mb@2E28B = B5</action> <!-- wall ($a28b) -->
<action>maincpu.mb@2E2AC = 8C</action> <!-- enemy ($a2ac) -->
<action>maincpu.mb@2E2CC = 8C</action> <!-- enemy ($a2cc) -->
<action>maincpu.mb@2E2EC = 8C</action> <!-- enemy ($a2ec) -->
</script>
<script state="off">
<action>maincpu.mb@03588 = 8D</action>
<action>maincpu.mb@2E28B = 92</action>
<action>maincpu.mb@2E2AC = 69</action>
<action>maincpu.mb@2E2CC = 69</action>
<action>maincpu.mb@2E2EC = 69</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x5a">02 </item>
<item value="0x3c">03 </item>
<item value="0x1e">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0321 = param</action>
</script>
<script state="off">
<action>maincpu.mb@0321 = 3C</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@0963 = 7F20 </action>
<action>maincpu.mq@7F20 = 2847B801DBF00021</action>
<action>maincpu.mq@7F28 = FEFE350120FDFEFA</action>
<action>maincpu.mq@7F30 = 3E0420FBFE340120</action>
<action>maincpu.mq@7F38 = 3E0520F7FE0618F0</action>
<action>maincpu.mq@7F40 = 0320EFFE78778610</action>
<action>maincpu.mq@7F48 = AF0320DFFE05187E</action>
<action>maincpu.mq@7F50 = FFFFFFFFCF1800D3</action>
<!--
7F20 | 21 00 F0 : ld hl,$F000 // sound code address
7F23 | DB 01 : in a,($01) // read input
7F25 | B8 : cp b
7F26 | 47 : ld b,a
7F27 | 28 FA : jr z,$7F23
7F29 | FE FD : cp $FD
7F2B | 20 01 : jr nz,$7F2E
7F2D | 35 : dec (hl) // decrease code -01
7F2E | FE FE : cp $FE
7F30 | 20 01 : jr nz,$7F33
7F32 | 34 : inc (hl) // increase code +01
7F33 | FE FB : cp $FB
7F35 | 20 04 : jr nz,$7F3B
7F37 | 3E F0 : ld a,$F0 // decrease code -10
7F39 | 18 06 : jr $7F41
7F3B | FE F7 : cp $F7
7F3D | 20 05 : jr nz,$7F44
7F3F | 3E 10 : ld a,$10 // increase code +10
7F41 | 86 : add a,(hl)
7F42 | 77 : ld (hl),a
7F43 | 78 : ld a,b
7F44 | FE EF : cp $EF
7F46 | 20 03 : jr nz,$7F4B
7F48 | 7E : ld a,(hl) // play sound
7F49 | 18 05 : jr $7F50
7F4B | FE DF : cp $DF
7F4D | 20 03 : jr nz,$7F52
7F4F | AF : xor a // stop sound
7F50 | D3 00 : out ($00),a // send sound code
7F52 | 18 CF : jr $7F23
-->
</script>
<script state="run">
<output format="----- black dragon 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@F000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0963 = 0A87 </action>
<action>maincpu.mq@7F20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F38 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F50 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
blkdrgonb.xml
Code: Select all
<!-- Black Dragon (bootleg) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@31AF = C9</action> <!-- attack -->
<action>maincpu.mb@3515 = C9</action> <!-- enemy -->
<action>maincpu.mb@3C59 = C9</action> <!-- dragon knight -->
<action>maincpu.mb@45F2 = C9</action> <!-- dragon -->
<action>maincpu.mb@4795 = C9</action> <!-- bat -->
<action>maincpu.mb@47C1 = C9</action> <!-- flower -->
<action>maincpu.mb@47F8 = C9</action> <!-- snake -->
<action>maincpu.mb@4823 = C9</action> <!-- poison -->
<action>maincpu.mb@484E = C9</action> <!-- magic -->
</script>
<script state="off">
<action>maincpu.mb@31AF = 3A</action>
<action>maincpu.mb@3515 = 3A</action>
<action>maincpu.mb@3C59 = 3A</action>
<action>maincpu.mb@45F2 = 3A</action>
<action>maincpu.mb@4795 = DD</action>
<action>maincpu.mb@47C1 = 3E</action>
<action>maincpu.mb@47F8 = 21</action>
<action>maincpu.mb@4823 = 21</action>
<action>maincpu.mb@484E = 21</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.md@2C103 = 3DB300CD </action> <!-- ($8103) -->
<action>maincpu.mq@2F300 = C0013E10E6E0E83A</action>
<action>maincpu.mq@2F308 = FFFFFFFFC907E67E</action>
<!--
B300 | 3A E8 E0 : ld a,($E0E8)
B303 | E6 10 : and $10
B305 | 3E 01 : ld a,$01
B307 | C0 : ret nz
B308 | 7E : ld a,(hl)
B309 | E6 07 : and $07
B30B | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@2C103 = 3D07E67E </action>
<action>maincpu.mq@2F300 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@2F308 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="attack speed up - morning star">
<script state="on">
<action>maincpu.mb@2CB8B = C3</action> <!-- ($8b8b) -->
<action>maincpu.mb@2CC98 = 01</action> <!-- ($8c98) -->
</script>
<script state="off">
<action>maincpu.mb@2CB8B = D2</action>
<action>maincpu.mb@2CC98 = 0D</action>
</script>
</cheat>
<cheat desc="free price">
<script state="on">
<!-- calculation -->
<action>maincpu.mb@4FBB = AF </action>
<action>maincpu.md@68B0 = 2A000011</action> <!-- upper items -->
<action>maincpu.md@6918 = 2A000011</action> <!-- lower items -->
<action>maincpu.mw@696C = 0000 </action> <!-- key -->
<action>maincpu.mw@69A7 = 0000 </action> <!-- potion -->
<!-- display -->
<action>maincpu.md@6BEC = 007F10CD </action>
<action>maincpu.mq@7F10 = 20203E20FE1B1A13</action>
<action>maincpu.mq@7F18 = FFFFC9D4CB771A01</action>
<!--
7F10 | 13 : inc de
7F11 | 1A : ld a,(de)
7F12 | 1B : dec de
7F13 | FE 20 : cp $20
7F15 | 3E 20 : ld a,$20
7F17 | 20 01 : jr nz,$7F1A
7F19 | 1A : ld a,(de)
7F1A | 77 : ld (hl),a
7F1B | CB D4 : set 2,h
7F1D | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mb@4FBB = 1A </action>
<action>maincpu.md@68B0 = 2A56235E </action>
<action>maincpu.md@6918 = 2A56235E </action>
<action>maincpu.mw@696C = 0050 </action>
<action>maincpu.mw@69A7 = 0096 </action>
<action>maincpu.md@6BEC = D4CB771A </action>
<action>maincpu.mq@7F10 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F18 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="short hit mark - knife">
<script state="on">
<action>maincpu.mb@03588 = B5</action> <!-- skull -->
<action>maincpu.mb@2E28B = B5</action> <!-- wall ($a28b) -->
<action>maincpu.mb@2E2AC = 8C</action> <!-- enemy ($a2ac) -->
<action>maincpu.mb@2E2CC = 8C</action> <!-- enemy ($a2cc) -->
<action>maincpu.mb@2E2EC = 8C</action> <!-- enemy ($a2ec) -->
</script>
<script state="off">
<action>maincpu.mb@03588 = 8D</action>
<action>maincpu.mb@2E28B = 92</action>
<action>maincpu.mb@2E2AC = 69</action>
<action>maincpu.mb@2E2CC = 69</action>
<action>maincpu.mb@2E2EC = 69</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x5a">02 </item>
<item value="0x3c">03 </item>
<item value="0x1e">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0321 = param</action>
</script>
<script state="off">
<action>maincpu.mb@0321 = 3C</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@0963 = 7F20 </action>
<action>maincpu.mq@7F20 = 2847B801DBF00021</action>
<action>maincpu.mq@7F28 = FEFE350120FDFEFA</action>
<action>maincpu.mq@7F30 = 3E0420FBFE340120</action>
<action>maincpu.mq@7F38 = 3E0520F7FE0618F0</action>
<action>maincpu.mq@7F40 = 0320EFFE78778610</action>
<action>maincpu.mq@7F48 = AF0320DFFE05187E</action>
<action>maincpu.mq@7F50 = FFFFFFFFCF1800D3</action>
<!--
7F20 | 21 00 F0 : ld hl,$F000 // sound code address
7F23 | DB 01 : in a,($01) // read input
7F25 | B8 : cp b
7F26 | 47 : ld b,a
7F27 | 28 FA : jr z,$7F23
7F29 | FE FD : cp $FD
7F2B | 20 01 : jr nz,$7F2E
7F2D | 35 : dec (hl) // decrease code -01
7F2E | FE FE : cp $FE
7F30 | 20 01 : jr nz,$7F33
7F32 | 34 : inc (hl) // increase code +01
7F33 | FE FB : cp $FB
7F35 | 20 04 : jr nz,$7F3B
7F37 | 3E F0 : ld a,$F0 // decrease code -10
7F39 | 18 06 : jr $7F41
7F3B | FE F7 : cp $F7
7F3D | 20 05 : jr nz,$7F44
7F3F | 3E 10 : ld a,$10 // increase code +10
7F41 | 86 : add a,(hl)
7F42 | 77 : ld (hl),a
7F43 | 78 : ld a,b
7F44 | FE EF : cp $EF
7F46 | 20 03 : jr nz,$7F4B
7F48 | 7E : ld a,(hl) // play sound
7F49 | 18 05 : jr $7F50
7F4B | FE DF : cp $DF
7F4D | 20 03 : jr nz,$7F52
7F4F | AF : xor a // stop sound
7F50 | D3 00 : out ($00),a // send sound code
7F52 | 18 CF : jr $7F23
-->
</script>
<script state="run">
<output format="----- black dragon 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@F000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0963 = 0A87 </action>
<action>maincpu.mq@7F20 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F28 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F30 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F38 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F40 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F48 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7F50 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>