Page 1 of 1

[srdmissn] S.R.D. Mission

Posted: Sun Aug 14, 2022 1:50 pm
by jman

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@18b3 = 18</action>
    </script>
    <script state="off">
        <action>maincpu.mb@18b3 = 38</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@0689 = 00</action> <!-- missile -->
        <action>maincpu.mb@06a3 = 00</action> <!-- shot -->
    </script>
    <script state="off">
        <action>maincpu.mb@0689 = 12</action>
        <action>maincpu.mb@06a3 = 12</action>
    </script>
</cheat>

<cheat desc="bullet speed - shot">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x04">02       </item>
        <item value="0x08">03       </item>
        <item value="0x0c">04       </item>
        <item value="0x10">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@1624 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1624 = 04</action>
    </script>
</cheat>

<cheat desc="bullet speed - missile">
    <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="change">
        <action>maincpu.mb@1628 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1628 = 01</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0100">02       </item>
        <item value="0x0140">03       </item>
        <item value="0x0180">04       </item>
        <item value="0x01c0">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@09fe = -param</action> <!-- left -->
        <action>maincpu.mw@0a02 =  param</action> <!-- right -->
        <action>maincpu.mw@0a08 =  param</action> <!-- up -->
        <action>maincpu.mw@0a0c =  param</action> <!-- upper-left : up -->
        <action>maincpu.mw@0a0e = -param</action> <!-- upper-left : left -->
        <action>maincpu.mw@0a10 =  param</action> <!-- upper-right : up -->
        <action>maincpu.mw@0a12 =  param</action> <!-- upper-right : right -->
        <action>maincpu.mw@0a18 = -param</action> <!-- down -->
        <action>maincpu.mw@0a1c = -param</action> <!-- lower-left : down -->
        <action>maincpu.mw@0a1e = -param</action> <!-- lower-left : left -->
        <action>maincpu.mw@0a20 = -param</action> <!-- lower-right : down -->
        <action>maincpu.mw@0a22 =  param</action> <!-- lower-right : right -->
    </script>
    <script state="off">
        <action>maincpu.mw@09fe = ff08</action>
        <action>maincpu.mw@0a02 = 00f8</action>
        <action>maincpu.mw@0a08 = 00f8</action>
        <action>maincpu.mw@0a0c = 00af</action>
        <action>maincpu.mw@0a0e = ff51</action>
        <action>maincpu.mw@0a10 = 00af</action>
        <action>maincpu.mw@0a12 = 00af</action>
        <action>maincpu.mw@0a18 = ff08</action>
        <action>maincpu.mw@0a1c = ff51</action>
        <action>maincpu.mw@0a1e = ff51</action>
        <action>maincpu.mw@0a20 = ff51</action>
        <action>maincpu.mw@0a22 = 00af</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@00a9 =             00a8</action> <!-- disable main cpu -->
        <action>    sub.md@00a9 =         cd6710c3</action>
        <action>    sub.mq@6710 = b8800e3a810021fb</action>
        <action>    sub.mq@6718 = 35012001fef92847</action>
        <action>    sub.mq@6720 = 2008fe34012002fe</action>
        <action>    sub.mq@6728 = 2004fe0618f03e04</action>
        <action>    sub.mq@6730 = 10fe787786103e05</action>
        <action>    sub.mq@6738 = fe788036327e0520</action>
        <action>    sub.mq@6740 = 411acdd9af062020</action>
        <action>    sub.mq@6748 = ffffffffffc918d9</action>
        <!--
        6710 | fb       : ei             // enable interrupt
        6711 | 21 00 81 : ld   hl,$8100  // sound code address
        6714 | 3a 0e 80 : ld   a,($800E) // read input
        6717 | b8       : cp   b
        6718 | 47       : ld   b,a
        6719 | 28 f9    : jr   z,$6714
        671b | fe 01    : cp   $01
        671d | 20 01    : jr   nz,$6720
        671f | 35       : dec  (hl)      // decrease code -01
        6720 | fe 02    : cp   $02
        6722 | 20 01    : jr   nz,$6725
        6724 | 34       : inc  (hl)      // increase code +01
        6725 | fe 08    : cp   $08
        6727 | 20 04    : jr   nz,$672D
        6729 | 3e f0    : ld   a,$F0     // decrease code -10
        672b | 18 06    : jr   $6733
        672d | fe 04    : cp   $04
        672f | 20 05    : jr   nz,$6736
        6731 | 3e 10    : ld   a,$10     // increase code +10
        6733 | 86       : add  a,(hl)
        6734 | 77       : ld   (hl),a
        6735 | 78       : ld   a,b
        6736 | fe 10    : cp   $10
        6738 | 20 05    : jr   nz,$673F
        673a | 7e       : ld   a,(hl)    // play sound
        673b | 32 36 80 : ld   ($8036),a
        673e | 78       : ld   a,b
        673f | fe 20    : cp   $20
        6741 | 20 06    : jr   nz,$6749
        6743 | af       : xor  a         // stop sound
        6744 | d9       : exx
        6745 | cd 1a 41 : call $411A
        6748 | d9       : exx
        6749 | 18 c9    : jr   $6714
        -->
    </script>
    <script state="run">
        <output format="----- s.r.d. mission 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>sub.pb@8100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@00a9 =             01b8</action>
        <action>    sub.md@00a9 =         cd4c18fb</action>
        <action>    sub.mq@6710 = ffffffffffffffff</action>
        <action>    sub.mq@6718 = ffffffffffffffff</action>
        <action>    sub.mq@6720 = ffffffffffffffff</action>
        <action>    sub.mq@6728 = ffffffffffffffff</action>
        <action>    sub.mq@6730 = ffffffffffffffff</action>
        <action>    sub.mq@6738 = ffffffffffffffff</action>
        <action>    sub.mq@6740 = ffffffffffffffff</action>
        <action>    sub.mq@6748 = ffffffffffffffff</action>
    </script>
</cheat>
The following code is test because of some problems (a certain shelter doesn't appear etc)

Code: Select all

<cheat desc="no hit - people (test)">
    <script state="on">
        <action>maincpu.md@19aa =         387640cd</action>
        <action>maincpu.mq@7640 = 2801e62d7e082c2c</action>
        <action>maincpu.mq@7648 = 00c9b98608c93702</action>
        <!--
        7640 | 2c    : inc l
        7641 | 2c    : inc l
        7642 | 08    : ex  af,af'
        7643 | 7e    : ld  a,(hl)
        7644 | 2d    : dec l
        7645 | e6 01 : and $01
        7647 | 28 02 : jr  z,$764B
        7649 | 37    : scf
        764a | c9    : ret
        764b | 08    : ex  af,af'
        764c | 86    : add a,(hl)
        764d | b9    : cp  c
        764e | c9    : ret
        -->
        <action>sub.mq@0d3b = cd0d42c2c609cbdd</action> <!-- set 0,(ix+$09) / jp nz,$0D42 -->
        <action>sub.mq@0da2 = cd0da9c2c609cbdd</action> <!-- set 0,(ix+$09) / jp nz,$0DA9 -->
        <action>sub.mq@29a3 = cd29aac2c609cbdd</action> <!-- set 0,(ix+$09) / jp nz,$29AA -->
    </script>
    <script state="off">
        <action>maincpu.md@19aa =         38b9862c</action>
        <action>maincpu.mq@7640 = a53a4e4941544144</action>
        <action>maincpu.mq@7648 = e00e4bed1a3807e0</action>
        <action>    sub.mq@0d3b = cd0b9cc27e09cbdd</action>
        <action>    sub.mq@0da2 = cd0b9cc27e09cbdd</action>
        <action>    sub.mq@29a3 = cd0b9cc27e09cbdd</action>
    </script>
</cheat>

[srdmissn]+ S.R.D. Mission

Posted: Mon Feb 26, 2024 1:19 am
by jman
srdmissin

Code: Select all

<!-- S.R.D. Mission -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@18B3 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@18B3 = 38</action>
        </script>
    </cheat>

    <cheat desc="no hit - people (test)">
        <script state="on">
            <action>maincpu.md@19AA = 387640CD        </action>
            <action>maincpu.mq@7640 = 2801E62D7E082C2C</action>
            <action>maincpu.mq@7648 = 00C9B98608C93702</action>
            <!--
            7640 | 2C    : inc  l
            7641 | 2C    : inc  l
            7642 | 08    : ex   af,af'
            7643 | 7E    : ld   a,(hl)
            7644 | 2D    : dec  l
            7645 | E6 01 : and  $01
            7647 | 28 02 : jr   z,$764B
            7649 | 37    : scf
            764A | C9    : ret
            764B | 08    : ex   af,af'
            764C | 86    : add  a,(hl)
            764D | B9    : cp   c
            764E | C9    : ret
            -->
            <action>sub.mq@0D3B = CD0D42C2C609CBDD</action> <!-- set 0,(ix+$09) / jp nz,$0D42 -->
            <action>sub.mq@0DA2 = CD0DA9C2C609CBDD</action> <!-- set 0,(ix+$09) / jp nz,$0DA9 -->
            <action>sub.mq@29A3 = CD29AAC2C609CBDD</action> <!-- set 0,(ix+$09) / jp nz,$29AA -->
        </script>
        <script state="off">
            <action>maincpu.md@19AA = 38B9862C        </action>
            <action>maincpu.mq@7640 = A53A4E4941544144</action>
            <action>maincpu.mq@7648 = E00E4BED1A3807E0</action>
            <action>    sub.mq@0D3B = CD0B9CC27E09CBDD</action>
            <action>    sub.mq@0DA2 = CD0B9CC27E09CBDD</action>
            <action>    sub.mq@29A3 = CD0B9CC27E09CBDD</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@0689 = 00</action> <!-- missile -->
            <action>maincpu.mb@06A3 = 00</action> <!-- shot -->
        </script>
        <script state="off">
            <action>maincpu.mb@0689 = 12</action>
            <action>maincpu.mb@06A3 = 12</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x04">02       </item>
            <item value="0x08">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x10">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@1624 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1624 = 04</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - missile">
        <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="change">
            <action>maincpu.mb@1628 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1628 = 01</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0100">02       </item>
            <item value="0x0140">03       </item>
            <item value="0x0180">04       </item>
            <item value="0x01c0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@09FE = -param</action> <!-- left -->
            <action>maincpu.mw@0A02 =  param</action> <!-- right -->
            <action>maincpu.mw@0A08 =  param</action> <!-- up -->
            <action>maincpu.mw@0A0C =  param</action> <!-- upper-left : up -->
            <action>maincpu.mw@0A0E = -param</action> <!-- upper-left : left -->
            <action>maincpu.mw@0A10 =  param</action> <!-- upper-right : up -->
            <action>maincpu.mw@0A12 =  param</action> <!-- upper-right : right -->
            <action>maincpu.mw@0A18 = -param</action> <!-- down -->
            <action>maincpu.mw@0A1C = -param</action> <!-- lower-left : down -->
            <action>maincpu.mw@0A1E = -param</action> <!-- lower-left : left -->
            <action>maincpu.mw@0A20 = -param</action> <!-- lower-right : down -->
            <action>maincpu.mw@0A22 =  param</action> <!-- lower-right : right -->
        </script>
        <script state="off">
            <action>maincpu.mw@09FE = FF08</action>
            <action>maincpu.mw@0A02 = 00F8</action>
            <action>maincpu.mw@0A08 = 00F8</action>
            <action>maincpu.mw@0A0C = 00AF</action>
            <action>maincpu.mw@0A0E = FF51</action>
            <action>maincpu.mw@0A10 = 00AF</action>
            <action>maincpu.mw@0A12 = 00AF</action>
            <action>maincpu.mw@0A18 = FF08</action>
            <action>maincpu.mw@0A1C = FF51</action>
            <action>maincpu.mw@0A1E = FF51</action>
            <action>maincpu.mw@0A20 = FF51</action>
            <action>maincpu.mw@0A22 = 00AF</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@00A9 = 00A8            </action> <!-- disable main cpu -->
            <action>    sub.md@00A9 = CD6710C3        </action>
            <action>    sub.mq@6710 = B8800E3A810021FB</action>
            <action>    sub.mq@6718 = 35012001FEF92847</action>
            <action>    sub.mq@6720 = 2008FE34012002FE</action>
            <action>    sub.mq@6728 = 2004FE0618F03E04</action>
            <action>    sub.mq@6730 = 10FE787786103E05</action>
            <action>    sub.mq@6738 = FE788036327E0520</action>
            <action>    sub.mq@6740 = 411ACDD9AF062020</action>
            <action>    sub.mq@6748 = FFFFFFFFFFC918D9</action>
            <!--
            6710 | FB       : ei             // enable interrupt
            6711 | 21 00 81 : ld   hl,$8100  // sound code address
            6714 | 3A 0E 80 : ld   a,($800E) // read input
            6717 | B8       : cp   b
            6718 | 47       : ld   b,a
            6719 | 28 F9    : jr   z,$6714
            671B | FE 01    : cp   $01
            671D | 20 01    : jr   nz,$6720
            671F | 35       : dec  (hl)      // decrease code -01
            6720 | FE 02    : cp   $02
            6722 | 20 01    : jr   nz,$6725
            6724 | 34       : inc  (hl)      // increase code +01
            6725 | FE 08    : cp   $08
            6727 | 20 04    : jr   nz,$672D
            6729 | 3E F0    : ld   a,$F0     // decrease code -10
            672B | 18 06    : jr   $6733
            672D | FE 04    : cp   $04
            672F | 20 05    : jr   nz,$6736
            6731 | 3E 10    : ld   a,$10     // increase code +10
            6733 | 86       : add  a,(hl)
            6734 | 77       : ld   (hl),a
            6735 | 78       : ld   a,b
            6736 | FE 10    : cp   $10
            6738 | 20 05    : jr   nz,$673F
            673A | 7E       : ld   a,(hl)    // play sound
            673B | 32 36 80 : ld   ($8036),a
            673E | 78       : ld   a,b
            673F | FE 20    : cp   $20
            6741 | 20 06    : jr   nz,$6749
            6743 | AF       : xor  a         // stop sound
            6744 | D9       : exx
            6745 | CD 1A 41 : call $411A
            6748 | D9       : exx
            6749 | 18 C9    : jr   $6714
            -->
        </script>
        <script state="run">
            <output format="----- s.r.d. mission 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>sub.pb@8100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@00A9 = 01B8            </action>
            <action>    sub.md@00A9 = CD4C18FB        </action>
            <action>    sub.mq@6710 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@6718 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@6720 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@6728 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@6730 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@6738 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@6740 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@6748 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
fx.xml

Code: Select all

<!-- F-X (bootleg of S.R.D. Mission) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@18B3 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@18B3 = 38</action>
        </script>
    </cheat>

    <cheat desc="no hit - people (test)">
        <script state="on">
            <action>maincpu.md@19AA = 386720CD        </action>
            <action>maincpu.mq@6720 = 2801E62D7E082C2C</action>
            <action>maincpu.mq@6728 = 00C9B98608C93702</action>
            <!--
            6720 | 2C    : inc  l
            6721 | 2C    : inc  l
            6722 | 08    : ex   af,af'
            6723 | 7E    : ld   a,(hl)
            6724 | 2D    : dec  l
            6725 | E6 01 : and  $01
            6727 | 28 02 : jr   z,$672B
            6729 | 37    : scf
            672A | C9    : ret
            672B | 08    : ex   af,af'
            672C | 86    : add  a,(hl)
            672D | B9    : cp   c
            672E | C9    : ret
            -->
            <action>sub.mq@0DCD = CD0DD4C2C609CBDD</action> <!-- set 0,(ix+$09) / jp nz,$0DD4 -->
            <action>sub.mq@0E34 = CD0E3BC2C609CBDD</action> <!-- set 0,(ix+$09) / jp nz,$0E3B -->
            <action>sub.mq@2D90 = CD2D97C2C609CBDD</action> <!-- set 0,(ix+$09) / jp nz,$2D97 -->
        </script>
        <script state="off">
            <action>maincpu.md@19AA = 38B9862C        </action>
            <action>maincpu.mq@6720 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@6728 = FFFFFFFFFFFFFFFF</action>
            <action>    sub.mq@0DCD = CD0BC6C27E09CBDD</action>
            <action>    sub.mq@0E34 = CD0BC6C27E09CBDD</action>
            <action>    sub.mq@2D90 = CD0BC6C27E09CBDD</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@0689 = 00</action> <!-- missile -->
            <action>maincpu.mb@06A3 = 00</action> <!-- shot -->
        </script>
        <script state="off">
            <action>maincpu.mb@0689 = 12</action>
            <action>maincpu.mb@06A3 = 12</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x04">02       </item>
            <item value="0x08">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x10">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@1624 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1624 = 04</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - missile">
        <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="change">
            <action>maincpu.mb@1628 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1628 = 01</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0100">02       </item>
            <item value="0x0140">03       </item>
            <item value="0x0180">04       </item>
            <item value="0x01c0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@09FE = -param</action> <!-- left -->
            <action>maincpu.mw@0A02 =  param</action> <!-- right -->
            <action>maincpu.mw@0A08 =  param</action> <!-- up -->
            <action>maincpu.mw@0A0C =  param</action> <!-- upper-left : up -->
            <action>maincpu.mw@0A0E = -param</action> <!-- upper-left : left -->
            <action>maincpu.mw@0A10 =  param</action> <!-- upper-right : up -->
            <action>maincpu.mw@0A12 =  param</action> <!-- upper-right : right -->
            <action>maincpu.mw@0A18 = -param</action> <!-- down -->
            <action>maincpu.mw@0A1C = -param</action> <!-- lower-left : down -->
            <action>maincpu.mw@0A1E = -param</action> <!-- lower-left : left -->
            <action>maincpu.mw@0A20 = -param</action> <!-- lower-right : down -->
            <action>maincpu.mw@0A22 =  param</action> <!-- lower-right : right -->
        </script>
        <script state="off">
            <action>maincpu.mw@09FE = FF08</action>
            <action>maincpu.mw@0A02 = 00F8</action>
            <action>maincpu.mw@0A08 = 00F8</action>
            <action>maincpu.mw@0A0C = 00AF</action>
            <action>maincpu.mw@0A0E = FF51</action>
            <action>maincpu.mw@0A10 = 00AF</action>
            <action>maincpu.mw@0A12 = 00AF</action>
            <action>maincpu.mw@0A18 = FF08</action>
            <action>maincpu.mw@0A1C = FF51</action>
            <action>maincpu.mw@0A1E = FF51</action>
            <action>maincpu.mw@0A20 = FF51</action>
            <action>maincpu.mw@0A22 = 00AF</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@00A9 = 00A8            </action> <!-- disable main cpu -->
            <action>    sub.md@00A9 = CD8800C3        </action>
            <action>    sub.pq@8800 = B8800E3A810021FB</action>
            <action>    sub.pq@8808 = 35012001FEF92847</action>
            <action>    sub.pq@8810 = 2008FE34012002FE</action>
            <action>    sub.pq@8818 = 2004FE0618F03E04</action>
            <action>    sub.pq@8820 = 10FE787786103E05</action>
            <action>    sub.pq@8828 = FE788036327E0520</action>
            <action>    sub.pq@8830 = 45D7CDD9AF062020</action>
            <action>    sub.pq@8838 = 0000000000C918D9</action>
            <!--
            8800 | FB       : ei             // enable interrupt
            8801 | 21 00 81 : ld   hl,$8100  // sound code address
            8804 | 3A 0E 80 : ld   a,($800E) // read input
            8807 | B8       : cp   b
            8808 | 47       : ld   b,a
            8809 | 28 F9    : jr   z,$8804
            880B | FE 01    : cp   $01
            880D | 20 01    : jr   nz,$8810
            880F | 35       : dec  (hl)      // decrease code -01
            8810 | FE 02    : cp   $02
            8812 | 20 01    : jr   nz,$8815
            8814 | 34       : inc  (hl)      // increase code +01
            8815 | FE 08    : cp   $08
            8817 | 20 04    : jr   nz,$881D
            8819 | 3E F0    : ld   a,$F0     // decrease code -10
            881B | 18 06    : jr   $8823
            881D | FE 04    : cp   $04
            881F | 20 05    : jr   nz,$8826
            8821 | 3E 10    : ld   a,$10     // increase code +10
            8823 | 86       : add  a,(hl)
            8824 | 77       : ld   (hl),a
            8825 | 78       : ld   a,b
            8826 | FE 10    : cp   $10
            8828 | 20 05    : jr   nz,$882F
            882A | 7E       : ld   a,(hl)    // play sound
            882B | 32 36 80 : ld   ($8036),a
            882E | 78       : ld   a,b
            882F | FE 20    : cp   $20
            8831 | 20 06    : jr   nz,$8839
            8833 | AF       : xor  a         // stop sound
            8834 | D9       : exx
            8835 | CD D7 45 : call $45D7
            8838 | D9       : exx
            8839 | 18 C9    : jr   $8804
            -->
        </script>
        <script state="run">
            <output format="----- f-x 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>sub.pb@8100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@00A9 = 01B8            </action>
            <action>    sub.md@00A9 = CD4C18FB        </action>
            <action>    sub.pq@8800 = 0000000000000000</action>
            <action>    sub.pq@8808 = 0000000000000000</action>
            <action>    sub.pq@8810 = 0000000000000000</action>
            <action>    sub.pq@8818 = 0000000000000000</action>
            <action>    sub.pq@8820 = 0000000000000000</action>
            <action>    sub.pq@8828 = 0000000000000000</action>
            <action>    sub.pq@8830 = 0000000000000000</action>
            <action>    sub.pq@8838 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>