sms/kenseid.xml
Code: Select all
<!-- Kenseiden (Europe, USA, Brazil) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>slot:cart:rom.mb@1193 = 18</action> <!-- lava -->
<action>slot:cart:rom.mb@11AC = C9</action> <!-- background -->
<action>slot:cart:rom.mb@5388 = 18</action> <!-- objects -->
</script>
<script state="off">
<action>slot:cart:rom.mb@1193 = 28</action>
<action>slot:cart:rom.mb@11AC = C8</action>
<action>slot:cart:rom.mb@5388 = 30</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>slot:cart:rom.mb@129E = 61</action> <!-- stand -->
<action>slot:cart:rom.mb@14CA = 61</action> <!-- crouch -->
<action>slot:cart:rom.mb@1624 = 61</action> <!-- jump -->
</script>
<script state="off">
<action>slot:cart:rom.mb@129E = 60</action>
<action>slot:cart:rom.mb@14CA = 60</action>
<action>slot:cart:rom.mb@1624 = 60</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>slot:cart:rom.mw@1364 = 0101</action> <!-- stand -->
<action>slot:cart:rom.mw@1504 = 0101</action> <!-- crouch -->
<action>slot:cart:rom.mw@1690 = 0101</action> <!-- jump -->
</script>
<script state="off">
<action>slot:cart:rom.mw@1364 = 0202</action>
<action>slot:cart:rom.mw@1504 = 0202</action>
<action>slot:cart:rom.mw@1690 = 0202</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>slot:cart:rom.mw@1105 = 7F10 </action>
<action>slot:cart:rom.mq@7F10 = 1617C315A3C268CB</action>
<!--
7F10 | CB 68 : bit 5,b
7F12 | C2 A3 15 : jp nz,$15A3
7F15 | C3 17 16 : jp $1617
-->
</script>
<script state="off">
<action>slot:cart:rom.mw@1105 = 1617 </action>
<action>slot:cart:rom.mq@7F10 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="all technique">
<script state="on">
<action>slot:cart:rom.mb@132B = 00</action> <!-- up + attack (stand) -->
<action>slot:cart:rom.mb@13B1 = 00</action> <!-- upper-left -->
<action>slot:cart:rom.mb@13E5 = 00</action> <!-- upper-right -->
<action>slot:cart:rom.mb@150D = 18</action> <!-- crouch attack -->
<action>slot:cart:rom.mb@15BD = 00</action> <!-- high jump -->
<action>slot:cart:rom.mb@165F = 00</action> <!-- up + attack (jump) -->
</script>
<script state="off">
<action>slot:cart:rom.mb@132B = 2D</action>
<action>slot:cart:rom.mb@13B1 = 0C</action>
<action>slot:cart:rom.mb@13E5 = 0C</action>
<action>slot:cart:rom.mb@150D = 20</action>
<action>slot:cart:rom.mb@15BD = 07</action>
<action>slot:cart:rom.mb@165F = 29</action>
</script>
</cheat>
<cheat desc="sound device">
<!-- smsj and sms1krfm only -->
<comment>reset the game (F3) to switch sound device</comment>
<parameter>
<item value="0x0028">PSG</item>
<item value="0x0118">FM </item>
</parameter>
<script state="change">
<action>slot:cart:rom.mw@04B2 = param</action>
</script>
<script state="off">
<action>slot:cart:rom.mw@04B2 = 0128</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check error" then reset the game (F3)</comment>
<script state="on">
<action>slot:cart:rom.mw@010E = ABE0 </action>
<action>slot:cart:rom.mq@ABE0 = 2847B8DCDBC10021</action>
<action>slot:cart:rom.mq@ABE8 = F7FE350120FBFEFA</action>
<action>slot:cart:rom.mq@ABF0 = 3E0420FDFE340120</action>
<action>slot:cart:rom.mq@ABF8 = 3E0520FEFE0618F0</action>
<action>slot:cart:rom.mq@AC00 = 0520EFFE78778610</action>
<action>slot:cart:rom.mq@AC08 = 20DFFE051880F67E</action>
<action>slot:cart:rom.mq@AC10 = FFCC18DE0332AF04</action>
<!--
ABE0 | 21 00 C1 : ld hl,$C100 // sound code address
ABE3 | DB DC : in a,($DC) // read input
ABE5 | B8 : cp b
ABE6 | 47 : ld b,a
ABE7 | 28 FA : jr z,$ABE3
ABE9 | FE FB : cp $FB
ABEB | 20 01 : jr nz,$ABEE
ABED | 35 : dec (hl) // decrease code -01
ABEE | FE F7 : cp $F7
ABF0 | 20 01 : jr nz,$ABF3
ABF2 | 34 : inc (hl) // increase code +01
ABF3 | FE FD : cp $FD
ABF5 | 20 04 : jr nz,$ABFB
ABF7 | 3E F0 : ld a,$F0 // decrease code -10
ABF9 | 18 06 : jr $AC01
ABFB | FE FE : cp $FE
ABFD | 20 05 : jr nz,$AC04
ABFF | 3E 10 : ld a,$10 // increase code +10
AC01 | 86 : add a,(hl)
AC02 | 77 : ld (hl),a
AC03 | 78 : ld a,b
AC04 | FE EF : cp $EF
AC06 | 20 05 : jr nz,$AC0D
AC08 | 7E : ld a,(hl) // play sound
AC09 | F6 80 : or $80
AC0B | 18 05 : jr $AC12
AC0D | FE DF : cp $DF
AC0F | 20 04 : jr nz,$AC15
AC11 | AF : xor a // stop sound
AC12 | 32 03 DE : ld ($DE03),a // send sound code
AC15 | 18 CC : jr $ABE3
-->
</script>
<script state="run">
<output format="----- kenseiden 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@C100</argument>
</output>
</script>
<script state="off">
<action>slot:cart:rom.mw@010E = 0940 </action>
<action>slot:cart:rom.mq@ABE0 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@ABE8 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@ABF0 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@ABF8 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@AC00 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@AC08 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@AC10 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip rom check error">
<script state="on">
<!-- detect bios -->
<action> temp0 = 00</action> <!-- initialize flag -->
<action condition="user1.mw@0006 == 0x7d18">temp0 = 01</action>
<action condition="user1.mw@0006 == 0x6518">temp0 = 02</action>
<action condition="user1.mw@0006 == 0x36ff">temp0 = 03</action>
<action condition="user1.mw@0006 == 0x6f18">temp0 = 04</action>
<action condition="user1.mw@0006 == 0x0000">temp0 = 05</action>
<action condition="user1.mw@0006 == 0x0406">temp0 = 06</action>
<action condition="user1.mw@0006 == 0x94cd">temp0 = 07</action>
<!-- US/European BIOS with Alex Kidd ($bef2) -->
<action condition="temp0 == 01">user1.mb@17EF2 = C3</action>
<!-- US/European BIOS v1.3 -->
<action condition="temp0 == 02">user1.mb@00128 = C3</action>
<!-- US/European BIOS v2.4 ($8142) -->
<action condition="temp0 == 03">user1.mb@1C142 = C3</action>
<!-- US/European BIOS v3.4 -->
<action condition="temp0 == 04">user1.mb@0813E = C3</action>
<!-- US/European BIOS v4.4 ($b0b9) -->
<action condition="temp0 == 05">user1.mb@170B9 = C3</action>
<!-- US Master System BIOS v1.0 -->
<action condition="temp0 == 06">user1.mb@00140 = C3</action>
<!-- European/Brazilian BIOS with Sonic -->
<action condition="temp0 == 07">user1.mb@0270E = C3</action>
</script>
<script state="off">
<action condition="temp0 == 01">user1.mb@17EF2 = CA</action>
<action condition="temp0 == 02">user1.mb@00128 = CA</action>
<action condition="temp0 == 03">user1.mb@1C142 = CA</action>
<action condition="temp0 == 04">user1.mb@0813E = CA</action>
<action condition="temp0 == 05">user1.mb@170B9 = CA</action>
<action condition="temp0 == 06">user1.mb@00140 = CA</action>
<action condition="temp0 == 07">user1.mb@0270E = CA</action>
</script>
</cheat>
</mamecheat>
sms/kenseidj.xml
Code: Select all
<!-- Kenseiden (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>slot:cart:rom.mb@1166 = 18</action> <!-- lava -->
<action>slot:cart:rom.mb@117F = C9</action> <!-- background -->
<action>slot:cart:rom.mb@535B = 18</action> <!-- objects -->
</script>
<script state="off">
<action>slot:cart:rom.mb@1166 = 28</action>
<action>slot:cart:rom.mb@117F = C8</action>
<action>slot:cart:rom.mb@535B = 30</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>slot:cart:rom.mb@1271 = 61</action> <!-- stand -->
<action>slot:cart:rom.mb@149D = 61</action> <!-- crouch -->
<action>slot:cart:rom.mb@15F7 = 61</action> <!-- jump -->
</script>
<script state="off">
<action>slot:cart:rom.mb@1271 = 60</action>
<action>slot:cart:rom.mb@149D = 60</action>
<action>slot:cart:rom.mb@15F7 = 60</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>slot:cart:rom.mw@1337 = 0101</action> <!-- stand -->
<action>slot:cart:rom.mw@14D7 = 0101</action> <!-- crouch -->
<action>slot:cart:rom.mw@1663 = 0101</action> <!-- jump -->
</script>
<script state="off">
<action>slot:cart:rom.mw@1337 = 0202</action>
<action>slot:cart:rom.mw@14D7 = 0202</action>
<action>slot:cart:rom.mw@1663 = 0202</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>slot:cart:rom.mw@10D8 = 7FA0 </action>
<action>slot:cart:rom.mq@7FA0 = 15EAC31576C268CB</action>
<!--
7FA0 | CB 68 : bit 5,b
7FA2 | C2 76 15 : jp nz,$1576
7FA5 | C3 EA 15 : jp $15EA
-->
</script>
<script state="off">
<action>slot:cart:rom.mw@10D8 = 15EA </action>
<action>slot:cart:rom.mq@7FA0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="all technique">
<script state="on">
<action>slot:cart:rom.mb@12FE = 00</action> <!-- up + attack (stand) -->
<action>slot:cart:rom.mb@1384 = 00</action> <!-- upper-left -->
<action>slot:cart:rom.mb@13B8 = 00</action> <!-- upper-right -->
<action>slot:cart:rom.mb@14E0 = 18</action> <!-- crouch attack -->
<action>slot:cart:rom.mb@1590 = 00</action> <!-- high jump -->
<action>slot:cart:rom.mb@1632 = 00</action> <!-- up + attack (jump) -->
</script>
<script state="off">
<action>slot:cart:rom.mb@12FE = 2D</action>
<action>slot:cart:rom.mb@1384 = 0C</action>
<action>slot:cart:rom.mb@13B8 = 0C</action>
<action>slot:cart:rom.mb@14E0 = 20</action>
<action>slot:cart:rom.mb@1590 = 07</action>
<action>slot:cart:rom.mb@1632 = 29</action>
</script>
</cheat>
<cheat desc="sound device">
<!-- smsj and sms1krfm only -->
<comment>reset the game (F3) to switch sound device</comment>
<parameter>
<item value="0x0028">PSG</item>
<item value="0x0118">FM </item>
</parameter>
<script state="change">
<action>slot:cart:rom.mw@04B2 = param</action>
</script>
<script state="off">
<action>slot:cart:rom.mw@04B2 = 0128</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check error" then reset the game (F3)</comment>
<script state="on">
<action>slot:cart:rom.mw@010E = ABE0 </action>
<action>slot:cart:rom.mq@ABE0 = 2847B8DCDBC10021</action>
<action>slot:cart:rom.mq@ABE8 = F7FE350120FBFEFA</action>
<action>slot:cart:rom.mq@ABF0 = 3E0420FDFE340120</action>
<action>slot:cart:rom.mq@ABF8 = 3E0520FEFE0618F0</action>
<action>slot:cart:rom.mq@AC00 = 0520EFFE78778610</action>
<action>slot:cart:rom.mq@AC08 = 20DFFE051880F67E</action>
<action>slot:cart:rom.mq@AC10 = FFCC18DE0332AF04</action>
<!--
ABE0 | 21 00 C1 : ld hl,$C100 // sound code address
ABE3 | DB DC : in a,($DC) // read input
ABE5 | B8 : cp b
ABE6 | 47 : ld b,a
ABE7 | 28 FA : jr z,$ABE3
ABE9 | FE FB : cp $FB
ABEB | 20 01 : jr nz,$ABEE
ABED | 35 : dec (hl) // decrease code -01
ABEE | FE F7 : cp $F7
ABF0 | 20 01 : jr nz,$ABF3
ABF2 | 34 : inc (hl) // increase code +01
ABF3 | FE FD : cp $FD
ABF5 | 20 04 : jr nz,$ABFB
ABF7 | 3E F0 : ld a,$F0 // decrease code -10
ABF9 | 18 06 : jr $AC01
ABFB | FE FE : cp $FE
ABFD | 20 05 : jr nz,$AC04
ABFF | 3E 10 : ld a,$10 // increase code +10
AC01 | 86 : add a,(hl)
AC02 | 77 : ld (hl),a
AC03 | 78 : ld a,b
AC04 | FE EF : cp $EF
AC06 | 20 05 : jr nz,$AC0D
AC08 | 7E : ld a,(hl) // play sound
AC09 | F6 80 : or $80
AC0B | 18 05 : jr $AC12
AC0D | FE DF : cp $DF
AC0F | 20 04 : jr nz,$AC15
AC11 | AF : xor a // stop sound
AC12 | 32 03 DE : ld ($DE03),a // send sound code
AC15 | 18 CC : jr $ABE3
-->
</script>
<script state="run">
<output format="----- kenseiden 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@C100</argument>
</output>
</script>
<script state="off">
<action>slot:cart:rom.mw@010E = 0922 </action>
<action>slot:cart:rom.mq@ABE0 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@ABE8 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@ABF0 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@ABF8 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@AC00 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@AC08 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@AC10 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip rom check error">
<script state="on">
<!-- detect bios -->
<action> temp0 = 00</action> <!-- initialize flag -->
<action condition="user1.mw@0006 == 0x7d18">temp0 = 01</action>
<action condition="user1.mw@0006 == 0x6518">temp0 = 02</action>
<action condition="user1.mw@0006 == 0x36ff">temp0 = 03</action>
<action condition="user1.mw@0006 == 0x6f18">temp0 = 04</action>
<action condition="user1.mw@0006 == 0x0000">temp0 = 05</action>
<action condition="user1.mw@0006 == 0x0406">temp0 = 06</action>
<action condition="user1.mw@0006 == 0x94cd">temp0 = 07</action>
<!-- US/European BIOS with Alex Kidd ($bef2) -->
<action condition="temp0 == 01">user1.mb@17EF2 = C3</action>
<!-- US/European BIOS v1.3 -->
<action condition="temp0 == 02">user1.mb@00128 = C3</action>
<!-- US/European BIOS v2.4 ($8142) -->
<action condition="temp0 == 03">user1.mb@1C142 = C3</action>
<!-- US/European BIOS v3.4 -->
<action condition="temp0 == 04">user1.mb@0813E = C3</action>
<!-- US/European BIOS v4.4 ($b0b9) -->
<action condition="temp0 == 05">user1.mb@170B9 = C3</action>
<!-- US Master System BIOS v1.0 -->
<action condition="temp0 == 06">user1.mb@00140 = C3</action>
<!-- European/Brazilian BIOS with Sonic -->
<action condition="temp0 == 07">user1.mb@0270E = C3</action>
</script>
<script state="off">
<action condition="temp0 == 01">user1.mb@17EF2 = CA</action>
<action condition="temp0 == 02">user1.mb@00128 = CA</action>
<action condition="temp0 == 03">user1.mb@1C142 = CA</action>
<action condition="temp0 == 04">user1.mb@0813E = CA</action>
<action condition="temp0 == 05">user1.mb@170B9 = CA</action>
<action condition="temp0 == 06">user1.mb@00140 = CA</action>
<action condition="temp0 == 07">user1.mb@0270E = CA</action>
</script>
</cheat>
</mamecheat>
hwaran.xml
Code: Select all
<!-- Hwarang Ui Geom (Korea) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>slot:cart:rom.mb@11FB = 18</action> <!-- lava -->
<action>slot:cart:rom.mb@1214 = C9</action> <!-- background -->
<action>slot:cart:rom.mb@53F0 = 18</action> <!-- objects -->
</script>
<script state="off">
<action>slot:cart:rom.mb@11FB = 28</action>
<action>slot:cart:rom.mb@1214 = C8</action>
<action>slot:cart:rom.mb@53F0 = 30</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>slot:cart:rom.mb@1306 = 61</action> <!-- stand -->
<action>slot:cart:rom.mb@1532 = 61</action> <!-- crouch -->
<action>slot:cart:rom.mb@168C = 61</action> <!-- jump -->
</script>
<script state="off">
<action>slot:cart:rom.mb@1306 = 60</action>
<action>slot:cart:rom.mb@1532 = 60</action>
<action>slot:cart:rom.mb@168C = 60</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>slot:cart:rom.mw@13CC = 0101</action> <!-- stand -->
<action>slot:cart:rom.mw@156C = 0101</action> <!-- crouch -->
<action>slot:cart:rom.mw@16F8 = 0101</action> <!-- jump -->
</script>
<script state="off">
<action>slot:cart:rom.mw@13CC = 0202</action>
<action>slot:cart:rom.mw@156C = 0202</action>
<action>slot:cart:rom.mw@16F8 = 0202</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>slot:cart:rom.mw@116D = 7D30 </action>
<action>slot:cart:rom.mq@7D30 = 167FC3160BC268CB</action>
<!--
7D30 | CB 68 : bit 5,b
7D32 | C2 0B 16 : jp nz,$160B
7D35 | C3 7F 16 : jp $167F
-->
</script>
<script state="off">
<action>slot:cart:rom.mw@10D8 = 167F </action>
<action>slot:cart:rom.mq@7D30 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="all technique">
<script state="on">
<action>slot:cart:rom.mb@1393 = 00</action> <!-- up + attack (stand) -->
<action>slot:cart:rom.mb@1419 = 00</action> <!-- upper-left -->
<action>slot:cart:rom.mb@144D = 00</action> <!-- upper-right -->
<action>slot:cart:rom.mb@1575 = 18</action> <!-- crouch attack -->
<action>slot:cart:rom.mb@1625 = 00</action> <!-- high jump -->
<action>slot:cart:rom.mb@16C7 = 00</action> <!-- up + attack (jump) -->
</script>
<script state="off">
<action>slot:cart:rom.mb@1393 = 2D</action>
<action>slot:cart:rom.mb@1419 = 0C</action>
<action>slot:cart:rom.mb@144D = 0C</action>
<action>slot:cart:rom.mb@1575 = 20</action>
<action>slot:cart:rom.mb@1625 = 07</action>
<action>slot:cart:rom.mb@16C7 = 29</action>
</script>
</cheat>
<cheat desc="sound device">
<!-- smsj and sms1krfm only -->
<comment>reset the game (F3) to switch sound device</comment>
<parameter>
<item value="0x0028">PSG</item>
<item value="0x0118">FM </item>
</parameter>
<script state="change">
<action>slot:cart:rom.mw@04B5 = param</action>
</script>
<script state="off">
<action>slot:cart:rom.mw@04B5 = 0128</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check error" then reset the game (F3)</comment>
<script state="on">
<action>slot:cart:rom.mw@010E = ABE0 </action>
<action>slot:cart:rom.mq@ABE0 = 2847B8DCDBC10021</action>
<action>slot:cart:rom.mq@ABE8 = F7FE350120FBFEFA</action>
<action>slot:cart:rom.mq@ABF0 = 3E0420FDFE340120</action>
<action>slot:cart:rom.mq@ABF8 = 3E0520FEFE0618F0</action>
<action>slot:cart:rom.mq@AC00 = 0520EFFE78778610</action>
<action>slot:cart:rom.mq@AC08 = 20DFFE051880F67E</action>
<action>slot:cart:rom.mq@AC10 = FFCC18DE0332AF04</action>
<!--
ABE0 | 21 00 C1 : ld hl,$C100 // sound code address
ABE3 | DB DC : in a,($DC) // read input
ABE5 | B8 : cp b
ABE6 | 47 : ld b,a
ABE7 | 28 FA : jr z,$ABE3
ABE9 | FE FB : cp $FB
ABEB | 20 01 : jr nz,$ABEE
ABED | 35 : dec (hl) // decrease code -01
ABEE | FE F7 : cp $F7
ABF0 | 20 01 : jr nz,$ABF3
ABF2 | 34 : inc (hl) // increase code +01
ABF3 | FE FD : cp $FD
ABF5 | 20 04 : jr nz,$ABFB
ABF7 | 3E F0 : ld a,$F0 // decrease code -10
ABF9 | 18 06 : jr $AC01
ABFB | FE FE : cp $FE
ABFD | 20 05 : jr nz,$AC04
ABFF | 3E 10 : ld a,$10 // increase code +10
AC01 | 86 : add a,(hl)
AC02 | 77 : ld (hl),a
AC03 | 78 : ld a,b
AC04 | FE EF : cp $EF
AC06 | 20 05 : jr nz,$AC0D
AC08 | 7E : ld a,(hl) // play sound
AC09 | F6 80 : or $80
AC0B | 18 05 : jr $AC12
AC0D | FE DF : cp $DF
AC0F | 20 04 : jr nz,$AC15
AC11 | AF : xor a // stop sound
AC12 | 32 03 DE : ld ($DE03),a // send sound code
AC15 | 18 CC : jr $ABE3
-->
</script>
<script state="run">
<output format="----- hwarang ui geom 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@C100</argument>
</output>
</script>
<script state="off">
<action>slot:cart:rom.mw@010E = 094F </action>
<action>slot:cart:rom.mq@ABE0 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@ABE8 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@ABF0 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@ABF8 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@AC00 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@AC08 = FFFFFFFFFFFFFFFF</action>
<action>slot:cart:rom.mq@AC10 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip rom check error">
<script state="on">
<!-- detect bios -->
<action> temp0 = 00</action> <!-- initialize flag -->
<action condition="user1.mw@0006 == 0x7d18">temp0 = 01</action>
<action condition="user1.mw@0006 == 0x6518">temp0 = 02</action>
<action condition="user1.mw@0006 == 0x36ff">temp0 = 03</action>
<action condition="user1.mw@0006 == 0x6f18">temp0 = 04</action>
<action condition="user1.mw@0006 == 0x0000">temp0 = 05</action>
<action condition="user1.mw@0006 == 0x0406">temp0 = 06</action>
<action condition="user1.mw@0006 == 0x94cd">temp0 = 07</action>
<!-- US/European BIOS with Alex Kidd ($bef2) -->
<action condition="temp0 == 01">user1.mb@17EF2 = C3</action>
<!-- US/European BIOS v1.3 -->
<action condition="temp0 == 02">user1.mb@00128 = C3</action>
<!-- US/European BIOS v2.4 ($8142) -->
<action condition="temp0 == 03">user1.mb@1C142 = C3</action>
<!-- US/European BIOS v3.4 -->
<action condition="temp0 == 04">user1.mb@0813E = C3</action>
<!-- US/European BIOS v4.4 ($b0b9) -->
<action condition="temp0 == 05">user1.mb@170B9 = C3</action>
<!-- US Master System BIOS v1.0 -->
<action condition="temp0 == 06">user1.mb@00140 = C3</action>
<!-- European/Brazilian BIOS with Sonic -->
<action condition="temp0 == 07">user1.mb@0270E = C3</action>
</script>
<script state="off">
<action condition="temp0 == 01">user1.mb@17EF2 = CA</action>
<action condition="temp0 == 02">user1.mb@00128 = CA</action>
<action condition="temp0 == 03">user1.mb@1C142 = CA</action>
<action condition="temp0 == 04">user1.mb@0813E = CA</action>
<action condition="temp0 == 05">user1.mb@170B9 = CA</action>
<action condition="temp0 == 06">user1.mb@00140 = CA</action>
<action condition="temp0 == 07">user1.mb@0270E = CA</action>
</script>
</cheat>
</mamecheat>
- "all technique", "sound device" and "skip rom check error" : Added new.
- "sound test mode" : Rewritten routine. Added up/down key to code ±10.