[gyrodine] Gyrodine

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.
Post Reply
jman
Posts: 870
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 1 time

[gyrodine] Gyrodine

Post 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
jman
Posts: 870
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 1 time

[gyrodine]+ Gyrodine

Post 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>
Post Reply