Page 1 of 1

[bluehawkn] Blue Hawk

Posted: Sun Jul 11, 2021 3:25 pm
by jman

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="&lt;&lt; sound code %2.2X &gt;&gt;"    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>

[bluehawkn] Blue Hawk (update)

Posted: Sun Dec 04, 2022 1:23 pm
by jman

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="&lt;&lt; sound code %2.2X &gt;&gt;"    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.

[bluehawk]+ Blue Hawk

Posted: Sun Feb 18, 2024 8:48 am
by jman
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="&lt;&lt; sound code %02X &gt;&gt;"     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="&lt;&lt; sound code %02X &gt;&gt;"     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>