This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
jman
Posts: 869 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 1 time
Post
by jman » Sun Jul 11, 2021 3:25 pm
Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@a392 = c3</action> <!-- enemy -->
<action>maincpu.mb@a213 = c9</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@a392 = c2</action>
<action>maincpu.mb@a213 = d8</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@17c2 = e6</action>
<action>maincpu.mb@182b = e6</action>
<action>maincpu.mb@19bc = 00</action>
</script>
<script state="off">
<action>maincpu.mb@17c2 = ee</action>
<action>maincpu.mb@182b = ee</action>
<action>maincpu.mb@19bc = D0</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x08" step="0x01" />
<script state="on">
<action>maincpu.md@1435 = 5700003e</action> <!-- left -->
<action>maincpu.md@144b = c6000026</action> <!-- right -->
<action>maincpu.md@1455 = dd00002e</action> <!-- up -->
<action>maincpu.md@1468 = 4f00013e</action> <!-- down -->
</script>
<script state="change">
<action>maincpu.mb@1436 = param</action>
<action>maincpu.mb@144c = param</action>
<action>maincpu.mb@1456 = param</action>
<action>maincpu.mb@1469 = param</action>
</script>
<script state="off">
<action>maincpu.md@1435 = 57057edd</action>
<action>maincpu.md@144b = c60566dd</action>
<action>maincpu.md@1455 = dd056edd</action>
<action>maincpu.md@1468 = 4f057edd</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x08">01 (slow)</item>
<item value="0x10">02 </item>
<item value="0x18">03 </item>
<item value="0x20">04 </item>
<item value="0x28">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@1bee = cd0010cd</action>
<action>maincpu.md@1c56 = cd0010cd</action>
<action>maincpu.md@1c93 = cd0010cd</action>
<action>maincpu.mq@0010 = c8a70d7efd0377fd</action>
<action>maincpu.mq@0018 = fd44ed001ff2003e</action>
<action>maincpu.mq@0020 = ffffffffffc90d77</action>
<!--
0010 | FD 77 03 : ld (iy+$03),a
0013 | FD 7E 0D : ld a,(iy+$0d)
0016 | A7 : and a
0017 | C8 : ret z
0018 | 3E 28 : ld a,$28
001A | F2 1F 00 : jp p,$001F
001D | ED 44 : neg
001F | FD 77 0D : ld (iy+$0d),a
0020 | c9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@0019 = param</action>
</script>
<script state="off">
<action>maincpu.md@1bee = cd0377fd</action>
<action>maincpu.md@1c56 = cd0377fd</action>
<action>maincpu.md@1c93 = cd0377fd</action>
<action>maincpu.mq@0010 = ffffffffffffffff</action>
<action>maincpu.mq@0018 = ffffffffffffffff</action>
<action>maincpu.mq@0020 = ffffffffffffffff</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@0070 = 0100</action>
<action>maincpu.mq@0100 = 023af10022600021</action>
<action>maincpu.mq@0108 = 20fdfef6286fbdc0</action>
<action>maincpu.mq@0110 = fe240120fefe2501</action>
<action>maincpu.mq@0118 = dffe06187c0320ef</action>
<action>maincpu.mq@0120 = 18c01032003e0520</action>
<action>maincpu.mq@0128 = 00000000000000da</action>
<!--
0100 | 21 00 60 : ld hl,$6000 // initialize sound and input values
0103 | 22 00 f1 : ld ($f100),hl
0106 | 3a 02 c0 : ld a,($c002) // read input
0109 | bd : cp l
010a | 6f : ld l,a
010b | 28 f6 : jr z,$0103
010d | fe fd : cp $fd
010f | 20 01 : jr nz,$0112
0111 | 25 : dec h // decrease code
0112 | fe fe : cp $fe
0114 | 20 01 : jr nz,$0117
0116 | 24 : inc h // increase code
0117 | fe ef : cp $ef
0119 | 20 03 : jr nz,$011e
011b | 7c : ld a,h // play sound
011c | 18 06 : jr $0124
011e | fe df : cp $df
0120 | 20 05 : jr nz,$0127
0122 | 3e 00 : ld a,$00 // stop sound
0124 | 32 10 c0 : ld ($c010),a // send sound code
0127 | 18 da : jr $0103
-->
</script>
<script state="run">
<output format="----- blue hawk sound test mode -----" line="10" align="center" />
<output format="left : decrease code" line="11" align="center" />
<output format="right : increase code" line="12" align="center" />
<output format="button 1 : play sound" line="13" align="center" />
<output format="button 2 : stop sound" line="14" align="center" />
<output format="----------------------------" line="15" align="center" />
<output format="<< sound code %2.2X >>" line="17" align="center">
<argument>maincpu.pb@f101</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0070 = 0200</action>
<action>maincpu.mq@0100 = 0000000000000000</action>
<action>maincpu.mq@0108 = 0000000000000000</action>
<action>maincpu.mq@0110 = 0000000000000000</action>
<action>maincpu.mq@0118 = 0000000000000000</action>
<action>maincpu.mq@0120 = 0000000000000000</action>
<action>maincpu.mq@0128 = 0000000000000000</action>
</script>
</cheat>
jman
Posts: 869 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 1 time
Post
by jman » Sun Dec 04, 2022 1:23 pm
Code: Select all
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@1435 = 5700003e</action> <!-- left -->
<action>maincpu.md@144b = c6000026</action> <!-- right -->
<action>maincpu.md@1455 = dd00002e</action> <!-- up -->
<action>maincpu.md@1468 = 4f00013e</action> <!-- down -->
</script>
<script state="change">
<action>maincpu.mb@1436 = param</action>
<action>maincpu.mb@144c = param</action>
<action>maincpu.mb@1456 = param</action>
<action>maincpu.mb@1469 = param</action>
</script>
<script state="off">
<action>maincpu.md@1435 = 57057edd</action>
<action>maincpu.md@144b = c60566dd</action>
<action>maincpu.md@1455 = dd056edd</action>
<action>maincpu.md@1468 = 4f057edd</action>
</script>
</cheat>
"player speed" : change parameter from values to items.
Code: Select all
<cheat desc="bullet speed">
<parameter>
<item value="0x08">01 (slow)</item>
<item value="0x10">02 </item>
<item value="0x18">03 </item>
<item value="0x20">04 </item>
<item value="0x28">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@1d1c = cd0010cd</action>
<action>maincpu.md@1d48 = cd0010cd</action>
<action>maincpu.md@1d79 = cd0015cd</action>
<action>maincpu.mq@0010 = 0c7edd03180d7edd</action>
<action>maincpu.mq@0018 = ff16f00116c857a7</action>
<action>maincpu.mq@0020 = ffffffffffffffc9</action>
<!--
0010 | dd 7e 0d : ld a,(ix+$0d)
0013 | 18 03 : jr $0018
0015 | dd 7e 0c : ld a,(ix+$0c)
0018 | a7 : and a
0019 | 57 : ld d,a
001a | c8 : ret z
001b | 16 xx : ld d,$xx
001d | f0 : ret p
001e | 16 xx : ld d,$xx
0020 | c9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@001c = param</action>
<action>maincpu.mb@001f = -param</action>
</script>
<script state="off">
<action>maincpu.md@1d1c = cd0d56dd</action>
<action>maincpu.md@1d48 = cd0d56dd</action>
<action>maincpu.md@1d79 = cd0c56dd</action>
<action>maincpu.mq@0010 = ffffffffffffffff</action>
<action>maincpu.mq@0018 = ffffffffffffffff</action>
<action>maincpu.mq@0020 = ffffffffffffffff</action>
</script>
</cheat>
"bullet speed" : rewrite routine.
Code: Select all
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@006c = 0100</action>
<action>maincpu.mq@0100 = 47b8c0023af10021</action>
<action>maincpu.mq@0108 = fe350120fdfef928</action>
<action>maincpu.mq@0110 = 0420fbfe340120fe</action>
<action>maincpu.mq@0118 = 0520f7fe0618f03e</action>
<action>maincpu.mq@0120 = 20effe787786103e</action>
<action>maincpu.mq@0128 = 0420dffe05187e03</action>
<action>maincpu.mq@0130 = 0000cd18c01032af</action>
<!--
0100 | 21 00 f1 : ld hl,$F100 // sound code address
0103 | 3a 02 c0 : ld a,($C002) // read input
0106 | b8 : cp b
0107 | 47 : ld b,a
0108 | 28 f9 : jr z,$0103
010a | fe fd : cp $FD
010c | 20 01 : jr nz,$010F
010e | 35 : dec (hl) // decrease code -01
010f | fe fe : cp $FE
0111 | 20 01 : jr nz,$0114
0113 | 34 : inc (hl) // increase code +01
0114 | fe fb : cp $FB
0116 | 20 04 : jr nz,$011C
0118 | 3e f0 : ld a,$F0 // decrease code -10
011a | 18 06 : jr $0122
011c | fe f7 : cp $F7
011e | 20 05 : jr nz,$0125
0120 | 3e 10 : ld a,$10 // increase code +10
0122 | 86 : add a,(hl)
0123 | 77 : ld (hl),a
0124 | 78 : ld a,b
0125 | fe ef : cp $EF
0127 | 20 03 : jr nz,$012C
0129 | 7e : ld a,(hl) // play sound
012a | 18 05 : jr $0131
012c | fe df : cp $DF
012e | 20 04 : jr nz,$0134
0130 | af : xor a // stop sound
0131 | 32 10 c0 : ld ($C010),a // send sound code
0134 | 18 cd : jr $0103
-->
<action>audiocpu.mw@03d6 = 03d8</action> <!-- stop sfx and music at the same time -->
</script>
<script state="run">
<output format="----- blue hawk 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@f100</argument>
</output>
</script>
<script state="off">
<action> maincpu.mw@006c = 973f</action>
<action> maincpu.mq@0100 = 0000000000000000</action>
<action> maincpu.mq@0108 = 0000000000000000</action>
<action> maincpu.mq@0110 = 0000000000000000</action>
<action> maincpu.mq@0118 = 0000000000000000</action>
<action> maincpu.mq@0120 = 0000000000000000</action>
<action> maincpu.mq@0128 = 0000000000000000</action>
<action> maincpu.mq@0130 = 0000000000000000</action>
<action>audiocpu.mw@03d6 = 047a</action>
</script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10). fix "sound stop" problem.
jman
Posts: 869 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 1 time
Post
by jman » Sun Feb 18, 2024 8:48 am
bluehawk.xml
Code: Select all
<!-- Blue Hawk -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@A392 = C3</action> <!-- enemy -->
<action>maincpu.mb@A213 = C9</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@A392 = C2</action>
<action>maincpu.mb@A213 = D8</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@17C2 = E6</action>
<action>maincpu.mb@182B = E6</action>
<action>maincpu.mb@19BC = 00</action>
</script>
<script state="off">
<action>maincpu.mb@17C2 = EE</action>
<action>maincpu.mb@182B = EE</action>
<action>maincpu.mb@19BC = D0</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@1435 = 5700003E</action> <!-- left -->
<action>maincpu.md@144B = C6000026</action> <!-- right -->
<action>maincpu.md@1455 = DD00002E</action> <!-- up -->
<action>maincpu.md@1468 = 4F00003E</action> <!-- down -->
</script>
<script state="change">
<action>maincpu.mb@1436 = param</action>
<action>maincpu.mb@144C = param</action>
<action>maincpu.mb@1456 = param</action>
<action>maincpu.mb@1469 = param</action>
</script>
<script state="off">
<action>maincpu.md@1435 = 57057EDD</action>
<action>maincpu.md@144B = C60566DD</action>
<action>maincpu.md@1455 = DD056EDD</action>
<action>maincpu.md@1468 = 4F057EDD</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x08">01 (slow)</item>
<item value="0x10">02 </item>
<item value="0x18">03 </item>
<item value="0x20">04 </item>
<item value="0x28">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@1D1C = CD0010CD </action>
<action>maincpu.md@1D48 = CD0010CD </action>
<action>maincpu.md@1D79 = CD0015CD </action>
<action>maincpu.mq@0010 = 0C7EDD03180D7EDD</action>
<action>maincpu.mq@0018 = FF16F00116C857A7</action>
<action>maincpu.mq@0020 = FFFFFFFFFFFFFFC9</action>
<!--
0010 | DD 7E 0D : ld a,(ix+$0d)
0013 | 18 03 : jr $0018
0015 | DD 7E 0C : ld a,(ix+$0c)
0018 | A7 : and a
0019 | 57 : ld d,a
001A | C8 : ret z
001B | 16 xx : ld d,$xx
001D | F0 : ret p
001E | 16 xx : ld d,$xx
0020 | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@001C = param</action>
<action>maincpu.mb@001F = -param</action>
</script>
<script state="off">
<action>maincpu.md@1D1C = CD0D56DD </action>
<action>maincpu.md@1D48 = CD0D56DD </action>
<action>maincpu.md@1D79 = CD0C56DD </action>
<action>maincpu.mq@0010 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@0018 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@0020 = FFFFFFFFFFFFFFFF</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@006C = 0100 </action>
<action>maincpu.mq@0100 = 47B8C0023AF00021</action>
<action>maincpu.mq@0108 = FE350120FDFEF928</action>
<action>maincpu.mq@0110 = 0420FBFE340120FE</action>
<action>maincpu.mq@0118 = 0520F7FE0618F03E</action>
<action>maincpu.mq@0120 = 20EFFE787786103E</action>
<action>maincpu.mq@0128 = 0420DFFE05187E03</action>
<action>maincpu.mq@0130 = 0000CD18C01032AF</action>
<!--
0100 | 21 00 F0 : ld hl,$F000 // sound code address
0103 | 3A 02 C0 : ld a,($C002) // read input
0106 | B8 : cp b
0107 | 47 : ld b,a
0108 | 28 F9 : jr z,$0103
010A | FE FD : cp $FD
010C | 20 01 : jr nz,$010F
010E | 35 : dec (hl) // decrease code -01
010F | FE FE : cp $FE
0111 | 20 01 : jr nz,$0114
0113 | 34 : inc (hl) // increase code +01
0114 | FE FB : cp $FB
0116 | 20 04 : jr nz,$011C
0118 | 3E F0 : ld a,$F0 // decrease code -10
011A | 18 06 : jr $0122
011C | FE F7 : cp $F7
011E | 20 05 : jr nz,$0125
0120 | 3E 10 : ld a,$10 // increase code +10
0122 | 86 : add a,(hl)
0123 | 77 : ld (hl),a
0124 | 78 : ld a,b
0125 | FE EF : cp $EF
0127 | 20 03 : jr nz,$012C
0129 | 7E : ld a,(hl) // play sound
012A | 18 05 : jr $0131
012C | FE DF : cp $DF
012E | 20 04 : jr nz,$0134
0130 | AF : xor a // stop sound
0131 | 32 10 C0 : ld ($C010),a // send sound code
0134 | 18 CD : jr $0103
-->
<action>audiocpu.mb@03D5 = CD</action> <!-- stop sfx and music at the same time -->
</script>
<script state="run">
<output format="----- blue hawk 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@006C = 973F </action>
<action> maincpu.mq@0100 = 0000000000000000</action>
<action> maincpu.mq@0108 = 0000000000000000</action>
<action> maincpu.mq@0110 = 0000000000000000</action>
<action> maincpu.mq@0118 = 0000000000000000</action>
<action> maincpu.mq@0120 = 0000000000000000</action>
<action> maincpu.mq@0128 = 0000000000000000</action>
<action> maincpu.mq@0130 = 0000000000000000</action>
<action>audiocpu.mb@03D5 = C3 </action>
</script>
</cheat>
</mamecheat>
bluehawkn.xml
Code: Select all
<!-- Blue Hawk (Japan, NTC license) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@A392 = C3</action> <!-- enemy -->
<action>maincpu.mb@A213 = C9</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@A392 = C2</action>
<action>maincpu.mb@A213 = D8</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@17C2 = E6</action>
<action>maincpu.mb@182B = E6</action>
<action>maincpu.mb@19BC = 00</action>
</script>
<script state="off">
<action>maincpu.mb@17C2 = EE</action>
<action>maincpu.mb@182B = EE</action>
<action>maincpu.mb@19BC = D0</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@1435 = 5700003E</action> <!-- left -->
<action>maincpu.md@144B = C6000026</action> <!-- right -->
<action>maincpu.md@1455 = DD00002E</action> <!-- up -->
<action>maincpu.md@1468 = 4F00003E</action> <!-- down -->
</script>
<script state="change">
<action>maincpu.mb@1436 = param</action>
<action>maincpu.mb@144C = param</action>
<action>maincpu.mb@1456 = param</action>
<action>maincpu.mb@1469 = param</action>
</script>
<script state="off">
<action>maincpu.md@1435 = 57057EDD</action>
<action>maincpu.md@144B = C60566DD</action>
<action>maincpu.md@1455 = DD056EDD</action>
<action>maincpu.md@1468 = 4F057EDD</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x08">01 (slow)</item>
<item value="0x10">02 </item>
<item value="0x18">03 </item>
<item value="0x20">04 </item>
<item value="0x28">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@1D1C = CD0010CD </action>
<action>maincpu.md@1D48 = CD0010CD </action>
<action>maincpu.md@1D79 = CD0015CD </action>
<action>maincpu.mq@0010 = 0C7EDD03180D7EDD</action>
<action>maincpu.mq@0018 = FF16F00116C857A7</action>
<action>maincpu.mq@0020 = FFFFFFFFFFFFFFC9</action>
<!--
0010 | DD 7E 0D : ld a,(ix+$0d)
0013 | 18 03 : jr $0018
0015 | DD 7E 0C : ld a,(ix+$0c)
0018 | A7 : and a
0019 | 57 : ld d,a
001A | C8 : ret z
001B | 16 xx : ld d,$xx
001D | F0 : ret p
001E | 16 xx : ld d,$xx
0020 | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@001C = param</action>
<action>maincpu.mb@001F = -param</action>
</script>
<script state="off">
<action>maincpu.md@1D1C = CD0D56DD </action>
<action>maincpu.md@1D48 = CD0D56DD </action>
<action>maincpu.md@1D79 = CD0C56DD </action>
<action>maincpu.mq@0010 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@0018 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@0020 = FFFFFFFFFFFFFFFF</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@006C = 0100 </action>
<action>maincpu.mq@0100 = 47B8C0023AF00021</action>
<action>maincpu.mq@0108 = FE350120FDFEF928</action>
<action>maincpu.mq@0110 = 0420FBFE340120FE</action>
<action>maincpu.mq@0118 = 0520F7FE0618F03E</action>
<action>maincpu.mq@0120 = 20EFFE787786103E</action>
<action>maincpu.mq@0128 = 0420DFFE05187E03</action>
<action>maincpu.mq@0130 = 0000CD18C01032AF</action>
<!--
0100 | 21 00 F0 : ld hl,$F000 // sound code address
0103 | 3A 02 C0 : ld a,($C002) // read input
0106 | B8 : cp b
0107 | 47 : ld b,a
0108 | 28 F9 : jr z,$0103
010A | FE FD : cp $FD
010C | 20 01 : jr nz,$010F
010E | 35 : dec (hl) // decrease code -01
010F | FE FE : cp $FE
0111 | 20 01 : jr nz,$0114
0113 | 34 : inc (hl) // increase code +01
0114 | FE FB : cp $FB
0116 | 20 04 : jr nz,$011C
0118 | 3E F0 : ld a,$F0 // decrease code -10
011A | 18 06 : jr $0122
011C | FE F7 : cp $F7
011E | 20 05 : jr nz,$0125
0120 | 3E 10 : ld a,$10 // increase code +10
0122 | 86 : add a,(hl)
0123 | 77 : ld (hl),a
0124 | 78 : ld a,b
0125 | FE EF : cp $EF
0127 | 20 03 : jr nz,$012C
0129 | 7E : ld a,(hl) // play sound
012A | 18 05 : jr $0131
012C | FE DF : cp $DF
012E | 20 04 : jr nz,$0134
0130 | AF : xor a // stop sound
0131 | 32 10 C0 : ld ($C010),a // send sound code
0134 | 18 CD : jr $0103
-->
<action>audiocpu.mb@03D5 = CD</action> <!-- stop sfx and music at the same time -->
</script>
<script state="run">
<output format="----- blue hawk 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@006C = 973F </action>
<action> maincpu.mq@0100 = 0000000000000000</action>
<action> maincpu.mq@0108 = 0000000000000000</action>
<action> maincpu.mq@0110 = 0000000000000000</action>
<action> maincpu.mq@0118 = 0000000000000000</action>
<action> maincpu.mq@0120 = 0000000000000000</action>
<action> maincpu.mq@0128 = 0000000000000000</action>
<action> maincpu.mq@0130 = 0000000000000000</action>
<action>audiocpu.mb@03D5 = C3 </action>
</script>
</cheat>
</mamecheat>