Page 1 of 1

[gyrodine] Gyrodine

Posted: Tue Mar 28, 2023 1:47 pm
by jman

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@17ee = 18</action>
    </script>
    <script state="off">
        <action>maincpu.mb@17ee = 30</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@0fe7 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@0fe7 = 08</action>
    </script>
</cheat>

<cheat desc="player speed (test)">
    <comment>scroll speed doesn't change</comment>
    <parameter>
        <item value="0x0040">01 (slow)</item>
        <item value="0x0080">02       </item>
        <item value="0x0100">03       </item>
        <item value="0x0200">04       </item>
        <item value="0x0300">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@0d99 = -param</action> <!-- left -->
        <action>maincpu.mw@0daa =  param</action> <!-- right -->
        <action>maincpu.mw@0dc1 =  param</action> <!-- up -->
        <action>maincpu.mw@0dd3 = -param</action> <!-- down -->
    </script>
    <script state="off">
        <action>maincpu.mw@0d99 = ff80</action>
        <action>maincpu.mw@0daa = 0080</action>
        <action>maincpu.mw@0dc1 = 0040</action>
        <action>maincpu.mw@0dd3 = ff80</action>
    </script>
</cheat>

<cheat desc="secret character finder">
    <script state="on">
        <action>maincpu.md@2aae =         007f83cd</action>
        <action>maincpu.mq@7f83 = dd043060fe017edd</action>
        <action>maincpu.mq@7f8b = c95609cbdd9609cb</action>
        <!--
        7f83 | dd 7e 01    : ld  a,(ix+$01) // check y-position
        7f86 | fe 60       : cp  $60
        7f88 | 30 04       : jr  nc,$7F8E
        7f8a | dd cb 09 96 : res 2,(ix+$09) // find secret character
        7f8e | dd cb 09 56 : bit 2,(ix+$09)
        7f92 | c9          : ret
        -->
    </script>
    <script state="off">
        <action>maincpu.md@2aae =         5609cbdd</action>
        <action>maincpu.mq@7f83 = 40c67b23127e0a06</action>
        <action>maincpu.mq@7f8b = 21f3105700ce7a5f</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set &quot;skip rom error&quot; then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mb@006f =               15</action> <!-- disable credit display in v-blank -->
        <action>maincpu.mq@06ae = fe7c230036900021</action>
        <action>maincpu.mq@06b6 = 033af20121f82098</action>
        <action>maincpu.mq@06be = 2001fe2bc877bef0</action>
        <action>maincpu.mq@06c6 = 4734012002fe3501</action>
        <action>maincpu.mq@06ce = 0618f03e042008fe</action>
        <action>maincpu.mq@06d6 = 7786103e052004fe</action>
        <action>maincpu.mq@06de = 05187e032010fe78</action>
        <action>maincpu.mq@06e6 = f00032f23ec020fe</action>
        <action>maincpu.mq@06ee = 2010017e70cd00c9</action>
        <!--
        06ae | 21 00 90 : ld  hl,$9000  // message clear routine
        06b1 | 36 00    : ld  (hl),$00
        06b3 | 23       : inc hl
        06b4 | 7c       : ld  a,h
        06b5 | fe 98    : cp  $98
        06b7 | 20 f8    : jr  nz,$06B1
        06b9 | 21 01 f2 : ld  hl,$F201  // $f201 : temporary input address
        06bc | 3a 03 f0 : ld  a,($F003) // read input
        06bf | be       : cp  (hl)
        06c0 | 77       : ld  (hl),a
        06c1 | c8       : ret z
        06c2 | 2b       : dec hl        // $f200 : sound code address
        06c3 | fe 01    : cp  $01
        06c5 | 20 01    : jr  nz,$06C8
        06c7 | 35       : dec (hl)      // decrease code -01
        06c8 | fe 02    : cp  $02
        06ca | 20 01    : jr  nz,$06CD
        06cc | 34       : inc (hl)      // increase code +01
        06cd | 47       : ld  b,a
        06ce | fe 08    : cp  $08
        06d0 | 20 04    : jr  nz,$06D6
        06d2 | 3e f0    : ld  a,$F0     // decrease code -10
        06d4 | 18 06    : jr  $06DC
        06d6 | fe 04    : cp  $04
        06d8 | 20 05    : jr  nz,$06DF
        06da | 3e 10    : ld  a,$10     // increase code +10
        06dc | 86       : add a,(hl)
        06dd | 77       : ld  (hl),a
        06de | 78       : ld  a,b
        06df | fe 10    : cp  $10
        06e1 | 20 03    : jr  nz,$06E6
        06e3 | 7e       : ld  a,(hl)    // play sound
        06e4 | 18 05    : jr  $06EB
        06e6 | fe 20    : cp  $20
        06e8 | c0       : ret nz
        06e9 | 3e f2    : ld  a,$F2     // stop sound
        06eb | 32 00 f0 : ld  ($F000),a // send sound code
        06ee | c9       : ret
        -->
    </script>
    <script state="run">
        <output format="----- gyrodine 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="up : increase code +10"               line="13" align="center" />
        <output format="down : decrease 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@f200</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mb@006f =               05</action>
        <action>maincpu.mq@06ae = 3ad0300f7ef7b021</action>
        <action>maincpu.mq@06b6 = f34821ed20b7f34d</action>
        <action>maincpu.mq@06be = b7f0023a0e30077e</action>
        <action>maincpu.mq@06c6 = 030021076fcd0828</action>
        <action>maincpu.mq@06ce = 380fc841e67ecc18</action>
        <action>maincpu.mq@06d6 = 7ecbe1076fcde550</action>
        <action>maincpu.mq@06de = cdaf96cbb6cbb520</action>
        <action>maincpu.mq@06e6 = 053007f34a3a7e70</action>
        <action>maincpu.mq@06ee = 2010017e70cd023e</action>
    </script>
</cheat>

<cheat desc="skip rom error">
    <script state="on">
        <action>maincpu.mb@7f4d = 00</action>
        <action>    sub.mb@1e03 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.md@7f4d = 2a</action>
        <action>    sub.mb@1e03 = 05</action>
    </script>
</cheat>
"secret character finder" is unique. This code will find secret characters (mermaid and eye) automatically.
Image Image

[gyrodine]+ Gyrodine

Posted: Sat Feb 03, 2024 1:42 pm
by jman
gyrodine.xml

Code: Select all

<!-- Gyrodine -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@17EE = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@17EE = 30</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@0FE7 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@0FE7 = 08</action>
        </script>
    </cheat>

    <cheat desc="player speed (test)">
        <comment>scroll speed doesn't change</comment>
        <parameter>
            <item value="0x0040">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0100">03       </item>
            <item value="0x0200">04       </item>
            <item value="0x0300">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@0D99 = -param</action> <!-- left -->
            <action>maincpu.mw@0DAA =  param</action> <!-- right -->
            <action>maincpu.mw@0DC1 =  param</action> <!-- up -->
            <action>maincpu.mw@0DD3 = -param</action> <!-- down -->
        </script>
        <script state="off">
            <action>maincpu.mw@0D99 = FF80</action>
            <action>maincpu.mw@0DAA = 0080</action>
            <action>maincpu.mw@0DC1 = 0040</action>
            <action>maincpu.mw@0DD3 = FF80</action>
        </script>
    </cheat>

    <cheat desc="secret character finder">
        <script state="on">
            <action>maincpu.md@2AAE = 007F83CD        </action>
            <action>maincpu.mq@7F83 = DD043060FE017EDD</action>
            <action>maincpu.mq@7F8B = C95609CBDD9609CB</action>
            <!--
            7F83 | DD 7E 01    : ld   a,(ix+$01) // check y position
            7F86 | FE 60       : cp   $60
            7F88 | 30 04       : jr   nc,$7F8E
            7F8A | DD CB 09 96 : res  2,(ix+$09) // find secret character
            7F8E | DD CB 09 56 : bit  2,(ix+$09)
            7F92 | C9          : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@2AAE = 5609CBDD        </action>
            <action>maincpu.mq@7F83 = 40C67B23127E0A06</action>
            <action>maincpu.mq@7F8B = 21F3105700CE7A5F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@006F = 15              </action> <!-- disable credit display in v-blank -->
            <action>maincpu.mq@06AE = FE7C230036900021</action>
            <action>maincpu.mq@06B6 = 033AF10121F82098</action>
            <action>maincpu.mq@06BE = 2001FE2BC877BEF0</action>
            <action>maincpu.mq@06C6 = 4734012002FE3501</action>
            <action>maincpu.mq@06CE = 0618F03E042008FE</action>
            <action>maincpu.mq@06D6 = 7786103E052004FE</action>
            <action>maincpu.mq@06DE = 05187E032010FE78</action>
            <action>maincpu.mq@06E6 = F00032F23EC020FE</action>
            <action>maincpu.mq@06EE = 2010017E70CD00C9</action>
            <!--
            06AE | 21 00 90 : ld   hl,$9000  // message clear
            06B1 | 36 00    : ld   (hl),$00
            06B3 | 23       : inc  hl
            06B4 | 7C       : ld   a,h
            06B5 | FE 98    : cp   $98
            06B7 | 20 F8    : jr   nz,$06B1
            06B9 | 21 01 F1 : ld   hl,$F101  // temporary input address
            06BC | 3A 03 F0 : ld   a,($F003) // read input
            06BF | BE       : cp   (hl)
            06C0 | 77       : ld   (hl),a
            06C1 | C8       : ret  z
            06C2 | 2B       : dec  hl        // sound code address ($f200)
            06C3 | FE 01    : cp   $01
            06C5 | 20 01    : jr   nz,$06C8
            06C7 | 35       : dec  (hl)      // decrease code -01
            06C8 | FE 02    : cp   $02
            06CA | 20 01    : jr   nz,$06CD
            06CC | 34       : inc  (hl)      // increase code +01
            06CD | 47       : ld   b,a
            06CE | FE 08    : cp   $08
            06D0 | 20 04    : jr   nz,$06D6
            06D2 | 3E F0    : ld   a,$F0     // decrease code -10
            06D4 | 18 06    : jr   $06DC
            06D6 | FE 04    : cp   $04
            06D8 | 20 05    : jr   nz,$06DF
            06DA | 3E 10    : ld   a,$10     // increase code +10
            06DC | 86       : add  a,(hl)
            06DD | 77       : ld   (hl),a
            06DE | 78       : ld   a,b
            06DF | FE 10    : cp   $10
            06E1 | 20 03    : jr   nz,$06E6
            06E3 | 7E       : ld   a,(hl)    // play sound
            06E4 | 18 05    : jr   $06EB
            06E6 | FE 20    : cp   $20
            06E8 | C0       : ret  nz
            06E9 | 3E F2    : ld   a,$F2     // stop sound
            06EB | 32 00 F0 : ld   ($F000),a // send sound code
            06EE | C9       : ret
           -->
        </script>
        <script state="run">
            <output format="----- gyrodine 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="up : increase code +10"               line="13" align="center" />
            <output format="down : decrease 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@F100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@006F = 05              </action>
            <action>maincpu.mq@06AE = 3AD0300F7EF7B021</action>
            <action>maincpu.mq@06B6 = F34821ED20B7F34D</action>
            <action>maincpu.mq@06BE = B7F0023A0E30077E</action>
            <action>maincpu.mq@06C6 = 030021076FCD0828</action>
            <action>maincpu.mq@06CE = 380FC841E67ECC18</action>
            <action>maincpu.mq@06D6 = 7ECBE1076FCDE550</action>
            <action>maincpu.mq@06DE = CDAF96CBB6CBB520</action>
            <action>maincpu.mq@06E6 = 053007F34A3A7E70</action>
            <action>maincpu.mq@06EE = 2010017E70CD023E</action>
        </script>
    </cheat>

    <cheat desc="skip rom error">
        <script state="on">
            <action>maincpu.mb@7F4D = 00</action>
            <action>    sub.mb@1E03 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.md@7F4D = 2A</action>
            <action>    sub.mb@1E03 = 05</action>
        </script>
    </cheat>

</mamecheat>
gyrodinet.xml

Code: Select all

<!-- Gyrodine (Taito Corporation license) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@17EE = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@17EE = 30</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@0FE7 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@0FE7 = 08</action>
        </script>
    </cheat>

    <cheat desc="player speed (test)">
        <comment>scroll speed doesn't change</comment>
        <parameter>
            <item value="0x0040">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0100">03       </item>
            <item value="0x0200">04       </item>
            <item value="0x0300">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@0D99 = -param</action> <!-- left -->
            <action>maincpu.mw@0DAA =  param</action> <!-- right -->
            <action>maincpu.mw@0DC1 =  param</action> <!-- up -->
            <action>maincpu.mw@0DD3 = -param</action> <!-- down -->
        </script>
        <script state="off">
            <action>maincpu.mw@0D99 = FF80</action>
            <action>maincpu.mw@0DAA = 0080</action>
            <action>maincpu.mw@0DC1 = 0040</action>
            <action>maincpu.mw@0DD3 = FF80</action>
        </script>
    </cheat>

    <cheat desc="secret character finder">
        <script state="on">
            <action>maincpu.md@2AAE = 007F83CD        </action>
            <action>maincpu.mq@7F83 = DD043060FE017EDD</action>
            <action>maincpu.mq@7F8B = C95609CBDD9609CB</action>
            <!--
            7F83 | DD 7E 01    : ld   a,(ix+$01) // check y position
            7F86 | FE 60       : cp   $60
            7F88 | 30 04       : jr   nc,$7F8E
            7F8A | DD CB 09 96 : res  2,(ix+$09) // find secret character
            7F8E | DD CB 09 56 : bit  2,(ix+$09)
            7F92 | C9          : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@2AAE = 5609CBDD        </action>
            <action>maincpu.mq@7F83 = 40C67B23127E0A06</action>
            <action>maincpu.mq@7F8B = 21F3105700CE7A5F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@006F = 15              </action> <!-- disable credit display in v-blank -->
            <action>maincpu.mq@06AE = FE7C230036900021</action>
            <action>maincpu.mq@06B6 = 033AF10121F82098</action>
            <action>maincpu.mq@06BE = 2001FE2BC877BEF0</action>
            <action>maincpu.mq@06C6 = 4734012002FE3501</action>
            <action>maincpu.mq@06CE = 0618F03E042008FE</action>
            <action>maincpu.mq@06D6 = 7786103E052004FE</action>
            <action>maincpu.mq@06DE = 05187E032010FE78</action>
            <action>maincpu.mq@06E6 = F00032F23EC020FE</action>
            <action>maincpu.mq@06EE = 2010017E70CD00C9</action>
            <!--
            06AE | 21 00 90 : ld   hl,$9000  // message clear
            06B1 | 36 00    : ld   (hl),$00
            06B3 | 23       : inc  hl
            06B4 | 7C       : ld   a,h
            06B5 | FE 98    : cp   $98
            06B7 | 20 F8    : jr   nz,$06B1
            06B9 | 21 01 F1 : ld   hl,$F101  // temporary input address
            06BC | 3A 03 F0 : ld   a,($F003) // read input
            06BF | BE       : cp   (hl)
            06C0 | 77       : ld   (hl),a
            06C1 | C8       : ret  z
            06C2 | 2B       : dec  hl        // sound code address ($f200)
            06C3 | FE 01    : cp   $01
            06C5 | 20 01    : jr   nz,$06C8
            06C7 | 35       : dec  (hl)      // decrease code -01
            06C8 | FE 02    : cp   $02
            06CA | 20 01    : jr   nz,$06CD
            06CC | 34       : inc  (hl)      // increase code +01
            06CD | 47       : ld   b,a
            06CE | FE 08    : cp   $08
            06D0 | 20 04    : jr   nz,$06D6
            06D2 | 3E F0    : ld   a,$F0     // decrease code -10
            06D4 | 18 06    : jr   $06DC
            06D6 | FE 04    : cp   $04
            06D8 | 20 05    : jr   nz,$06DF
            06DA | 3E 10    : ld   a,$10     // increase code +10
            06DC | 86       : add  a,(hl)
            06DD | 77       : ld   (hl),a
            06DE | 78       : ld   a,b
            06DF | FE 10    : cp   $10
            06E1 | 20 03    : jr   nz,$06E6
            06E3 | 7E       : ld   a,(hl)    // play sound
            06E4 | 18 05    : jr   $06EB
            06E6 | FE 20    : cp   $20
            06E8 | C0       : ret  nz
            06E9 | 3E F2    : ld   a,$F2     // stop sound
            06EB | 32 00 F0 : ld   ($F000),a // send sound code
            06EE | C9       : ret
           -->
        </script>
        <script state="run">
            <output format="----- gyrodine 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="up : increase code +10"               line="13" align="center" />
            <output format="down : decrease 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@F100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@006F = 05              </action>
            <action>maincpu.mq@06AE = 3AD0300F7EF7B021</action>
            <action>maincpu.mq@06B6 = F34821ED20B7F34D</action>
            <action>maincpu.mq@06BE = B7F0023A0E30077E</action>
            <action>maincpu.mq@06C6 = 030021076FCD0828</action>
            <action>maincpu.mq@06CE = 380FC841E67ECC18</action>
            <action>maincpu.mq@06D6 = 7ECBE1076FCDE550</action>
            <action>maincpu.mq@06DE = CDAF96CBB6CBB520</action>
            <action>maincpu.mq@06E6 = 053007F34A3A7E70</action>
            <action>maincpu.mq@06EE = 2010017E70CD023E</action>
        </script>
    </cheat>

    <cheat desc="skip rom error">
        <script state="on">
            <action>maincpu.mb@7F4D = 00</action>
            <action>    sub.mb@1E03 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.md@7F4D = 2A</action>
            <action>    sub.mb@1E03 = 05</action>
        </script>
    </cheat>

</mamecheat>
buzzard.xml

Code: Select all

<!-- Buzzard -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@17EE = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@17EE = 30</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@0FE7 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@0FE7 = 08</action>
        </script>
    </cheat>

    <cheat desc="player speed (test)">
        <comment>scroll speed doesn't change</comment>
        <parameter>
            <item value="0x0040">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0100">03       </item>
            <item value="0x0200">04       </item>
            <item value="0x0300">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@0D99 = -param</action> <!-- left -->
            <action>maincpu.mw@0DAA =  param</action> <!-- right -->
            <action>maincpu.mw@0DC1 =  param</action> <!-- up -->
            <action>maincpu.mw@0DD3 = -param</action> <!-- down -->
        </script>
        <script state="off">
            <action>maincpu.mw@0D99 = FF80</action>
            <action>maincpu.mw@0DAA = 0080</action>
            <action>maincpu.mw@0DC1 = 0040</action>
            <action>maincpu.mw@0DD3 = FF80</action>
        </script>
    </cheat>

    <cheat desc="secret character finder">
        <script state="on">
            <action>maincpu.md@2AAE = 007F83CD        </action>
            <action>maincpu.mq@7F83 = DD043060FE017EDD</action>
            <action>maincpu.mq@7F8B = C95609CBDD9609CB</action>
            <!--
            7F83 | DD 7E 01    : ld   a,(ix+$01) // check y position
            7F86 | FE 60       : cp   $60
            7F88 | 30 04       : jr   nc,$7F8E
            7F8A | DD CB 09 96 : res  2,(ix+$09) // find secret character
            7F8E | DD CB 09 56 : bit  2,(ix+$09)
            7F92 | C9          : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@2AAE = 5609CBDD        </action>
            <action>maincpu.mq@7F83 = 40C67B23127E0A06</action>
            <action>maincpu.mq@7F8B = 21F3105700CE7A5F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@006F = 15              </action> <!-- disable credit display in v-blank -->
            <action>maincpu.mq@06AE = FE7C230036900021</action>
            <action>maincpu.mq@06B6 = 033AF10121F82098</action>
            <action>maincpu.mq@06BE = 2001FE2BC877BEF0</action>
            <action>maincpu.mq@06C6 = 4734012002FE3501</action>
            <action>maincpu.mq@06CE = 0618F03E042008FE</action>
            <action>maincpu.mq@06D6 = 7786103E052004FE</action>
            <action>maincpu.mq@06DE = 05187E032010FE78</action>
            <action>maincpu.mq@06E6 = F00032F23EC020FE</action>
            <action>maincpu.mq@06EE = 2010017E70CD00C9</action>
            <!--
            06AE | 21 00 90 : ld   hl,$9000  // message clear
            06B1 | 36 00    : ld   (hl),$00
            06B3 | 23       : inc  hl
            06B4 | 7C       : ld   a,h
            06B5 | FE 98    : cp   $98
            06B7 | 20 F8    : jr   nz,$06B1
            06B9 | 21 01 F1 : ld   hl,$F101  // temporary input address
            06BC | 3A 03 F0 : ld   a,($F003) // read input
            06BF | BE       : cp   (hl)
            06C0 | 77       : ld   (hl),a
            06C1 | C8       : ret  z
            06C2 | 2B       : dec  hl        // sound code address ($f200)
            06C3 | FE 01    : cp   $01
            06C5 | 20 01    : jr   nz,$06C8
            06C7 | 35       : dec  (hl)      // decrease code -01
            06C8 | FE 02    : cp   $02
            06CA | 20 01    : jr   nz,$06CD
            06CC | 34       : inc  (hl)      // increase code +01
            06CD | 47       : ld   b,a
            06CE | FE 08    : cp   $08
            06D0 | 20 04    : jr   nz,$06D6
            06D2 | 3E F0    : ld   a,$F0     // decrease code -10
            06D4 | 18 06    : jr   $06DC
            06D6 | FE 04    : cp   $04
            06D8 | 20 05    : jr   nz,$06DF
            06DA | 3E 10    : ld   a,$10     // increase code +10
            06DC | 86       : add  a,(hl)
            06DD | 77       : ld   (hl),a
            06DE | 78       : ld   a,b
            06DF | FE 10    : cp   $10
            06E1 | 20 03    : jr   nz,$06E6
            06E3 | 7E       : ld   a,(hl)    // play sound
            06E4 | 18 05    : jr   $06EB
            06E6 | FE 20    : cp   $20
            06E8 | C0       : ret  nz
            06E9 | 3E F2    : ld   a,$F2     // stop sound
            06EB | 32 00 F0 : ld   ($F000),a // send sound code
            06EE | C9       : ret
           -->
        </script>
        <script state="run">
            <output format="----- buzzard 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="up : increase code +10"              line="13" align="center" />
            <output format="down : decrease 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@F100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@006F = 05              </action>
            <action>maincpu.mq@06AE = 3AD0300F7EF7B021</action>
            <action>maincpu.mq@06B6 = F34821ED20B7F34D</action>
            <action>maincpu.mq@06BE = B7F0023A0E30077E</action>
            <action>maincpu.mq@06C6 = 030021076FCD0828</action>
            <action>maincpu.mq@06CE = 380FC841E67ECC18</action>
            <action>maincpu.mq@06D6 = 7ECBE1076FCDE550</action>
            <action>maincpu.mq@06DE = CDAF96CBB6CBB520</action>
            <action>maincpu.mq@06E6 = 053007F34A3A7E70</action>
            <action>maincpu.mq@06EE = 2010017E70CD023E</action>
        </script>
    </cheat>

    <cheat desc="skip rom error">
        <script state="on">
            <action>maincpu.mb@7F4D = 00</action>
            <action>    sub.mb@1E03 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.md@7F4D = 2A</action>
            <action>    sub.mb@1E03 = 05</action>
        </script>
    </cheat>

</mamecheat>