Page 1 of 1

[dyger] Dyger

Posted: Sat Jul 10, 2021 12:08 pm
by jman

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@650e = c9</action> <!-- enemy -->
        <action>maincpu.mb@6caf = 18</action> <!-- bullet -->
        <action>maincpu.mb@6558 = c9</action> <!-- missile -->
        <action>maincpu.mb@06fc = c9</action> <!-- wall -->
    </script>
    <script state="off">
        <action>maincpu.mb@650e = d0</action>
        <action>maincpu.mb@6caf = 30</action>
        <action>maincpu.mb@6558 = dd</action>
        <action>maincpu.mb@06fc = dd</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@0296 = 00</action>
        <action>maincpu.mb@02b2 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@0296 = 0f</action>
        <action>maincpu.mb@02b2 = 0b</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x08" step="0x01" />
    <script state="change">
        <action>maincpu.mb@108a = param</action> <!-- right -->
        <action>maincpu.mb@11be = param</action> <!-- left -->
        <action>maincpu.mb@0ede = param</action> <!-- up -->
        <action>maincpu.mb@0f60 = param</action> <!-- down -->
    </script>
    <script state="off">
        <action>maincpu.mb@108a = 02</action>
        <action>maincpu.mb@11be = 02</action>
        <action>maincpu.mb@0ede = 03</action>
        <action>maincpu.mb@0f60 = 03</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x08">02       </item>
        <item value="0x10">03       </item>
        <item value="0x18">04       </item>
        <item value="0x20">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@1778 = param</action>
        <action>maincpu.mb@177d = param</action>
        <action>maincpu.mb@1782 = param</action>
        <action>maincpu.mb@1787 = param</action>
        <action>maincpu.mb@17e4 = param</action>
        <action>maincpu.mb@19fa = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1778 = 06</action>
        <action>maincpu.mb@177d = 04</action>
        <action>maincpu.mb@1782 = 02</action>
        <action>maincpu.mb@1787 = 05</action>
        <action>maincpu.mb@17e4 = 08</action>
        <action>maincpu.mb@19fa = 08</action>
    </script>
</cheat>

<cheat desc="fast bomb">
    <script state="on">
        <action>maincpu.md@1b97 =         c37b10cd</action>
        <action>maincpu.mq@7b10 = c13a0377fdd0c33a</action>
        <action>maincpu.mq@7b18 = e601cbfdc867cbd0</action>
        <action>maincpu.mq@7b20 = ffffffffffffffc9</action>
        <!--
        7b10 | 3a c3 d0    : ld   a,($d0c3)
        7b13 | fd 77 03    : ld   (iy+$03),a
        7b16 | 3a c1 d0    : ld   a,($d0c1)
        7b19 | cb 67       : bit  4,a
        7b1b | c8          : ret  z
        7b1c | fd cb 01 e6 : set  4,(iy+$01)
        7b20 | c9          : ret
        -->
    </script>
    <script state="off">
        <action>maincpu.md@1b97 =         cafffe7e</action>
        <action>maincpu.mq@7b10 = ffffffffffffffff</action>
        <action>maincpu.mq@7b18 = ffffffffffffffff</action>
        <action>maincpu.mq@7b20 = 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@001f =             7b30</action>
        <action>maincpu.mq@7b30 = 9bcdc10022000021</action>
        <action>maincpu.mq@7b38 = 2002fef6286fbd79</action>
        <action>maincpu.mq@7b40 = fe24012001fe2501</action>
        <action>maincpu.mq@7b48 = 20fe06187c032010</action>
        <action>maincpu.mq@7b50 = 18e80032003e0520</action>
        <action>maincpu.mq@7b58 = ffffffffffffffda</action>
        <!--
        7b30 | 21 00 00 : ld   hl,$0000
        7b33 | 22 00 c1 : ld   ($c100),hl // initialize sound and input values
        7b36 | cd 9b 79 : call $799b      // read input
        7b39 | bd       : cp   l
        7b3a | 6f       : ld   l,a
        7b3b | 28 f6    : jr   z,$7b33
        7b3d | fe 02    : cp   $02
        7b3f | 20 01    : jr   nz,$7b42
        7b41 | 25       : dec  h          // decrease code
        7b42 | fe 01    : cp   $01
        7b44 | 20 01    : jr   nz,$7b47
        7b46 | 24       : inc  h          // increase code
        7b47 | fe 10    : cp   $10
        7b49 | 20 03    : jr   nz,$7b4e
        7b4b | 7c       : ld   a,h        // play sound
        7b4c | 18 06    : jr   $7b54
        7b4e | fe 20    : cp   $20
        7b50 | 20 05    : jr   nz,$7b57
        7b52 | 3e 00    : ld   a,$00      // stop sound
        7b54 | 32 00 e8 : ld   ($e800),a  // send sound code
        7b57 | 18 da    : jr   $7b33
        -->
    </script>
    <script state="run">
        <output format="----- dyger 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@c101</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@001f =             753d</action>
        <action>maincpu.mq@7b30 = ffffffffffffffff</action>
        <action>maincpu.mq@7b38 = ffffffffffffffff</action>
        <action>maincpu.mq@7b40 = ffffffffffffffff</action>
        <action>maincpu.mq@7b48 = ffffffffffffffff</action>
        <action>maincpu.mq@7b50 = ffffffffffffffff</action>
        <action>maincpu.mq@7b58 = ffffffffffffffff</action>
    </script>
</cheat>

[dyger] Dyger (update)

Posted: Fri Dec 02, 2022 10:01 am
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="change">
        <action>maincpu.mb@0ede = param</action> <!-- up -->
        <action>maincpu.mb@0f60 = param</action> <!-- down -->
        <action>maincpu.mb@108a = param</action> <!-- right -->
        <action>maincpu.mb@11be = param</action> <!-- left -->
    </script>
    <script state="off">
        <action>maincpu.mb@0ede = 03</action>
        <action>maincpu.mb@0f60 = 03</action>
        <action>maincpu.mb@108a = 02</action>
        <action>maincpu.mb@11be = 02</action>
    </script>
</cheat>
"player speed" : change parameter from value to item.

Code: Select all

<cheat desc="sound test mode">
    <script state="on">
        <action>maincpu.mb@7704 =               18</action> <!-- disable credit display -->
        <action>maincpu.mw@001f =             7b30</action>
        <action>maincpu.mq@7b30 = 47b8799bcdc10021</action>
        <action>maincpu.mq@7b38 = fe35012002fef928</action>
        <action>maincpu.mq@7b40 = 042004fe34012001</action>
        <action>maincpu.mq@7b48 = 052008fe0618f03e</action>
        <action>maincpu.mq@7b50 = 2010fe787786103e</action>
        <action>maincpu.mq@7b58 = 042020fe05187e03</action>
        <action>maincpu.mq@7b60 = ffffcd18e80032af</action>
        <!--
        7b30 | 21 00 c1 : ld   hl,$C100  // sound code address
        7b33 | cd 9b 79 : call $799B     // read input
        7b36 | b8       : cp   b
        7b37 | 47       : ld   b,a
        7b38 | 28 f9    : jr   z,$7B33
        7b3a | fe 02    : cp   $02
        7b3c | 20 01    : jr   nz,$7B3F
        7b3e | 35       : dec  (hl)      // decrease code -01
        7b3f | fe 01    : cp   $01
        7b41 | 20 01    : jr   nz,$7B44
        7b43 | 34       : inc  (hl)      // increase code +01
        7b44 | fe 04    : cp   $04
        7b46 | 20 04    : jr   nz,$7B4C
        7b48 | 3e f0    : ld   a,$F0     // decrease code -10
        7b4a | 18 06    : jr   $7B52
        7b4c | fe 08    : cp   $08
        7b4e | 20 05    : jr   nz,$7B55
        7b50 | 3e 10    : ld   a,$10     // increase code +10
        7b52 | 86       : add  a,(hl)
        7b53 | 77       : ld   (hl),a
        7b54 | 78       : ld   a,b
        7b55 | fe 10    : cp   $10
        7b57 | 20 03    : jr   nz,$7B5C
        7b59 | 7e       : ld   a,(hl)    // play sound
        7b5a | 18 05    : jr   $7B61
        7b5c | fe 20    : cp   $20
        7b5e | 20 04    : jr   nz,$7B64
        7b60 | af       : xor  a         // stop sound
        7b61 | 32 00 e8 : ld   ($E800),a // send sound code
        7b64 | 18 cd    : jr   $7B33
        -->
    </script>
    <script state="run">
        <output format="----- dyger 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@c100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mb@7704 =               20</action>
        <action>maincpu.mw@001f =             753d</action>
        <action>maincpu.mq@7b30 = ffffffffffffffff</action>
        <action>maincpu.mq@7b38 = ffffffffffffffff</action>
        <action>maincpu.mq@7b40 = ffffffffffffffff</action>
        <action>maincpu.mq@7b48 = ffffffffffffffff</action>
        <action>maincpu.mq@7b50 = ffffffffffffffff</action>
        <action>maincpu.mq@7b58 = ffffffffffffffff</action>
        <action>maincpu.mq@7b60 = ffffffffffffffff</action>
    </script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10).

[dyger]+ Dyger

Posted: Sat Feb 17, 2024 8:09 am
by jman
dyger.xml

Code: Select all

<!-- Dyger (Korea set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@06FC = C9</action> <!-- wall -->
            <action>maincpu.mb@650E = C9</action> <!-- enemy -->
            <action>maincpu.mb@6558 = C9</action> <!-- missile -->
            <action>maincpu.mb@6CAF = 18</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@06FC = DD</action>
            <action>maincpu.mb@650E = D0</action>
            <action>maincpu.mb@6558 = DD</action>
            <action>maincpu.mb@6CAF = 30</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@0296 = 00</action>
            <action>maincpu.mb@02B2 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@0296 = 0F</action>
            <action>maincpu.mb@02B2 =  B</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="change">
            <action>maincpu.mb@0EDE = param</action> <!-- up -->
            <action>maincpu.mb@0F60 = param</action> <!-- down -->
            <action>maincpu.mb@108A = param</action> <!-- right -->
            <action>maincpu.mb@11BE = param</action> <!-- left -->
        </script>
        <script state="off">
            <action>maincpu.mb@0EDE = 03</action>
            <action>maincpu.mb@0F60 = 03</action>
            <action>maincpu.mb@108A = 02</action>
            <action>maincpu.mb@11BE = 02</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x10">03       </item>
            <item value="0x18">04       </item>
            <item value="0x20">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@1778 = param</action>
            <action>maincpu.mb@177D = param</action>
            <action>maincpu.mb@1782 = param</action>
            <action>maincpu.mb@1787 = param</action>
            <action>maincpu.mb@17E4 = param</action>
            <action>maincpu.mb@19FA = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1778 = 06</action>
            <action>maincpu.mb@177D = 04</action>
            <action>maincpu.mb@1782 = 02</action>
            <action>maincpu.mb@1787 = 05</action>
            <action>maincpu.mb@17E4 = 08</action>
            <action>maincpu.mb@19FA = 08</action>
        </script>
    </cheat>

    <cheat desc="fast bomb">
        <script state="on">
            <action>maincpu.md@1B97 = C37B10CD        </action>
            <action>maincpu.mq@7B10 = C13A0377FDD0C33A</action>
            <action>maincpu.mq@7B18 = E601CBFDC867CBD0</action>
            <action>maincpu.mq@7B20 = FFFFFFFFFFFFFFC9</action>
            <!--
            7B10 | 3A C3 D0    : ld   a,($D0C3)
            7B13 | FD 77 03    : ld   (iy+$03),a
            7B16 | 3A C1 D0    : ld   a,($D0C1)
            7B19 | CB 67       : bit  4,a
            7B1B | C8          : ret  z
            7B1C | FD CB 01 E6 : set  4,(iy+$01)
            7B20 | C9          : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1B97 = CAFFFE7E        </action>
            <action>maincpu.mq@7B10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B20 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <script state="on">
            <action>maincpu.mb@7704 = 18              </action> <!-- disable credit display -->
            <action>maincpu.mw@001F = 7B30            </action>
            <action>maincpu.mq@7B30 = 47B8799BCDC10021</action>
            <action>maincpu.mq@7B38 = FE35012002FEF928</action>
            <action>maincpu.mq@7B40 = 042004FE34012001</action>
            <action>maincpu.mq@7B48 = 052008FE0618F03E</action>
            <action>maincpu.mq@7B50 = 2010FE787786103E</action>
            <action>maincpu.mq@7B58 = 042020FE05187E03</action>
            <action>maincpu.mq@7B60 = FFFFCD18E80032AF</action>
            <!--
            7B30 | 21 00 C1 : ld   hl,$C100  // sound code address
            7B33 | CD 9B 79 : call $799B     // read input
            7B36 | B8       : cp   b
            7B37 | 47       : ld   b,a
            7B38 | 28 F9    : jr   z,$7B33
            7B3A | FE 02    : cp   $02
            7B3C | 20 01    : jr   nz,$7B3F
            7B3E | 35       : dec  (hl)      // decrease code -01
            7B3F | FE 01    : cp   $01
            7B41 | 20 01    : jr   nz,$7B44
            7B43 | 34       : inc  (hl)      // increase code +01
            7B44 | FE 04    : cp   $04
            7B46 | 20 04    : jr   nz,$7B4C
            7B48 | 3E F0    : ld   a,$F0     // decrease code -10
            7B4A | 18 06    : jr   $7B52
            7B4C | FE 08    : cp   $08
            7B4E | 20 05    : jr   nz,$7B55
            7B50 | 3E 10    : ld   a,$10     // increase code +10
            7B52 | 86       : add  a,(hl)
            7B53 | 77       : ld   (hl),a
            7B54 | 78       : ld   a,b
            7B55 | FE 10    : cp   $10
            7B57 | 20 03    : jr   nz,$7B5C
            7B59 | 7E       : ld   a,(hl)    // play sound
            7B5A | 18 05    : jr   $7B61
            7B5C | FE 20    : cp   $20
            7B5E | 20 04    : jr   nz,$7B64
            7B60 | AF       : xor  a         // stop sound
            7B61 | 32 00 E8 : ld   ($E800),a // send sound code
            7B64 | 18 CD    : jr   $7B33
            -->
        </script>
        <script state="run">
            <output format="----- dyger 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@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@7704 = 20              </action>
            <action>maincpu.mw@001F = 753D            </action>
            <action>maincpu.mq@7B30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B60 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
dygera.xml

Code: Select all

<!-- Dyger (Korea set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@06FC = C9</action> <!-- wall -->
            <action>maincpu.mb@655F = C9</action> <!-- enemy -->
            <action>maincpu.mb@65A9 = C9</action> <!-- missile -->
            <action>maincpu.mb@6D00 = 18</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@06FC = DD</action>
            <action>maincpu.mb@655F = D0</action>
            <action>maincpu.mb@65A9 = DD</action>
            <action>maincpu.mb@6D00 = 30</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@0296 = 00</action>
            <action>maincpu.mb@02B2 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@0296 = 0F</action>
            <action>maincpu.mb@02B2 =  B</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="change">
            <action>maincpu.mb@0F2F = param</action> <!-- up -->
            <action>maincpu.mb@0FB1 = param</action> <!-- down -->
            <action>maincpu.mb@10DB = param</action> <!-- right -->
            <action>maincpu.mb@120F = param</action> <!-- left -->
        </script>
        <script state="off">
            <action>maincpu.mb@0F2F = 03</action>
            <action>maincpu.mb@0FB1 = 03</action>
            <action>maincpu.mb@10DB = 02</action>
            <action>maincpu.mb@120F = 02</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x10">03       </item>
            <item value="0x18">04       </item>
            <item value="0x20">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@17C9 = param</action>
            <action>maincpu.mb@17CE = param</action>
            <action>maincpu.mb@17D3 = param</action>
            <action>maincpu.mb@17D8 = param</action>
            <action>maincpu.mb@1835 = param</action>
            <action>maincpu.mb@1A4B = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@17C9 = 06</action>
            <action>maincpu.mb@17CE = 04</action>
            <action>maincpu.mb@17D3 = 02</action>
            <action>maincpu.mb@17D8 = 05</action>
            <action>maincpu.mb@1835 = 08</action>
            <action>maincpu.mb@1A4B = 08</action>
        </script>
    </cheat>

    <cheat desc="fast bomb">
        <script state="on">
            <action>maincpu.md@1BE8 = C37B60CD        </action>
            <action>maincpu.mq@7B60 = C13A0377FDD0C33A</action>
            <action>maincpu.mq@7B68 = E601CBFDC867CBD0</action>
            <action>maincpu.mq@7B70 = FFFFFFFFFFFFFFC9</action>
            <!--
            7B60 | 3A C3 D0    : ld   a,($D0C3)
            7B63 | FD 77 03    : ld   (iy+$03),a
            7B66 | 3A C1 D0    : ld   a,($D0C1)
            7B69 | CB 67       : bit  4,a
            7B6B | C8          : ret  z
            7B6C | FD CB 01 E6 : set  4,(iy+$01)
            7B70 | C9          : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1BE8 = CAFFFE7E        </action>
            <action>maincpu.mq@7B60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B70 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <script state="on">
            <action>maincpu.mb@7755 = 18              </action> <!-- disable credit display -->
            <action>maincpu.mw@001F = 7B80            </action>
            <action>maincpu.mq@7B80 = 47B879ECCDC10021</action>
            <action>maincpu.mq@7B88 = FE35012002FEF928</action>
            <action>maincpu.mq@7B90 = 042004FE34012001</action>
            <action>maincpu.mq@7B98 = 052008FE0618F03E</action>
            <action>maincpu.mq@7BA0 = 2010FE787786103E</action>
            <action>maincpu.mq@7BA8 = 042020FE05187E03</action>
            <action>maincpu.mq@7BB0 = FFFFCD18E80032AF</action>
            <!--
            7B80 | 21 00 C1 : ld   hl,$C100  // sound code address
            7B83 | CD EC 79 : call $79EC     // read input
            7B86 | B8       : cp   b
            7B87 | 47       : ld   b,a
            7B88 | 28 F9    : jr   z,$7B83
            7B8A | FE 02    : cp   $02
            7B8C | 20 01    : jr   nz,$7B8F
            7B8E | 35       : dec  (hl)      // decrease code -01
            7B8F | FE 01    : cp   $01
            7B91 | 20 01    : jr   nz,$7B94
            7B93 | 34       : inc  (hl)      // increase code +01
            7B94 | FE 04    : cp   $04
            7B96 | 20 04    : jr   nz,$7B9C
            7B98 | 3E F0    : ld   a,$F0     // decrease code -10
            7B9A | 18 06    : jr   $7BA2
            7B9C | FE 08    : cp   $08
            7B9E | 20 05    : jr   nz,$7BA5
            7BA0 | 3E 10    : ld   a,$10     // increase code +10
            7BA2 | 86       : add  a,(hl)
            7BA3 | 77       : ld   (hl),a
            7BA4 | 78       : ld   a,b
            7BA5 | FE 10    : cp   $10
            7BA7 | 20 03    : jr   nz,$7BAC
            7BA9 | 7E       : ld   a,(hl)    // play sound
            7BAA | 18 05    : jr   $7BB1
            7BAC | FE 20    : cp   $20
            7BAE | 20 04    : jr   nz,$7BB4
            7BB0 | AF       : xor  a         // stop sound
            7BB1 | 32 00 E8 : ld   ($E800),a // send sound code
            7BB4 | 18 CD    : jr   $7B83
            -->
        </script>
        <script state="run">
            <output format="----- dyger 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@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@7755 = 20              </action>
            <action>maincpu.mw@001F = 758E            </action>
            <action>maincpu.mq@7B80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7B98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7BA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7BA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7BB0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>