Page 1 of 1

[swimmer] Swimmer

Posted: Thu Jul 15, 2021 11:21 am
by jman

Code: Select all

<cheat desc="player speed">
    <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="on">
        <action>maincpu.mw@3c71 = 0006</action> <!-- y position -->
        <action>maincpu.mw@3cb2 = 0006</action> <!-- x position -->
    </script>
    <script state="change">
        <action>maincpu.mb@3c72 = param</action>
        <action>maincpu.mb@3cb3 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mw@3c71 = 477e</action>
        <action>maincpu.mw@3cb2 = 477e</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@059d =             7ee0</action>
        <action>maincpu.mq@7ee0 = 003a810022800021</action>
        <action>maincpu.mq@7ee8 = 2002fef6286fbda8</action>
        <action>maincpu.mq@7ef0 = fe24012001fe2501</action>
        <action>maincpu.mq@7ef8 = 04fe06187c032010</action>
        <action>maincpu.mq@7f00 = 18a80032ff3e0520</action>
        <action>maincpu.mq@7f08 = 00000000000000da</action>
        <!--
        7ee0 | 21 00 80 : ld  hl,$8000   // initialize sound and input values
        7ee3 | 22 00 81 : ld  ($8100),hl
        7ee6 | 3a 00 a8 : ld  a,($a800)  // read input
        7ee9 | bd       : cp  l
        7eea | 6f       : ld  l,a
        7eeb | 28 f6    : jr  z,$7ee3
        7eed | fe 02    : cp  $02
        7eef | 20 01    : jr  nz,$7ef2
        7ef1 | 25       : dec h          // decrease code
        7ef2 | fe 01    : cp  $01
        7ef4 | 20 01    : jr  nz,$7ef7
        7ef6 | 24       : inc h          // increase code
        7ef7 | fe 10    : cp  $10
        7ef9 | 20 03    : jr  nz,$7efe
        7efb | 7c       : ld  a,h        // play sound
        7efc | 18 06    : jr  $7f04
        7efe | fe 04    : cp  $04
        7f00 | 20 05    : jr  nz,$7f07
        7f02 | 3e ff    : ld  a,$ff      // stop sound
        7f04 | 32 00 a8 : ld  ($a800),a  // send sound code
        7f07 | 18 da    : jr  $7ee3
        -->
    </script>
    <script state="run">
        <output format="----- swimmer 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="up : 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@8101</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@059d =             64d2</action>
        <action>maincpu.mq@7ee0 = 0000000000000000</action>
        <action>maincpu.mq@7ee8 = 0000000000000000</action>
        <action>maincpu.mq@7ef0 = 0000000000000000</action>
        <action>maincpu.mq@7ef8 = 0000000000000000</action>
        <action>maincpu.mq@7f00 = 0000000000000000</action>
        <action>maincpu.mq@7f08 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.mw@01ee = 4818</action> <!-- ram -->
        <action>maincpu.mw@10c0 = 3418</action> <!-- rom -->
    </script>
    <script state="off">
        <action>maincpu.mb@01ee = 803a</action>
        <action>maincpu.mb@10c0 = 21dd</action>
    </script>
</cheat>

[swimmer] Swimmer (update)

Posted: Mon Dec 05, 2022 9:34 am
by jman

Code: Select all

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@059d =             7ee0</action>
        <action>maincpu.mq@7ee0 = 04e6b8003a810021</action>
        <action>maincpu.mq@7ee8 = b1a8003a4f070707</action>
        <action>maincpu.mq@7ef0 = 012002feef2847b8</action>
        <action>maincpu.mq@7ef8 = 08fe34012001fe35</action>
        <action>maincpu.mq@7f00 = 04fe0618f03e0420</action>
        <action>maincpu.mq@7f08 = fe787786103e0520</action>
        <action>maincpu.mq@7f10 = 061880f67e052010</action>
        <action>maincpu.mq@7f18 = 0032ff3e052020fe</action>
        <action>maincpu.mq@7f20 = 0000000000c018a8</action>
        <!--
        7ee0 | 21 00 81 : ld   hl,$8100  // sound code address
        7ee3 | 3a 00 b8 : ld   a,($B800) // read start button
        7ee6 | e6 04    : and  $04
        7ee8 | 07       : rlca
        7ee9 | 07       : rlca
        7eea | 07       : rlca
        7eeb | 4f       : ld   c,a
        7eec | 3a 00 a8 : ld   a,($A800) // read other inputs
        7eef | b1       : or   c
        7ef0 | b8       : cp   b
        7ef1 | 47       : ld   b,a
        7ef2 | 28 ef    : jr   z,$7EE3
        7ef4 | fe 02    : cp   $02
        7ef6 | 20 01    : jr   nz,$7EF9
        7ef8 | 35       : dec  (hl)      // decrease code -01
        7ef9 | fe 01    : cp   $01
        7efb | 20 01    : jr   nz,$7EFE
        7efd | 34       : inc  (hl)      // increase code +01
        7efe | fe 08    : cp   $08
        7f00 | 20 04    : jr   nz,$7F06
        7f02 | 3e f0    : ld   a,$F0     // decrease code -10
        7f04 | 18 06    : jr   $7F0C
        7f06 | fe 04    : cp   $04
        7f08 | 20 05    : jr   nz,$7F0F
        7f0a | 3e 10    : ld   a,$10     // increase code +10
        7f0c | 86       : add  a,(hl)
        7f0d | 77       : ld   (hl),a
        7f0e | 78       : ld   a,b
        7f0f | fe 10    : cp   $10
        7f11 | 20 05    : jr   nz,$7F18
        7f13 | 7e       : ld   a,(hl)    // play sound
        7f14 | f6 80    : or   $80
        7f16 | 18 06    : jr   $7F1E
        7f18 | fe 20    : cp   $20
        7f1a | 20 05    : jr   nz,$7F21
        7f1c | 3e ff    : ld   a,$FF     // stop sound
        7f1e | 32 00 a8 : ld   ($A800),a // send sound code
        7f21 | 18 c0    : jr   $7EE3
        -->
    </script>
    <script state="run">
        <output format="----- swimmer 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="start : 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@8100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@059d =             64d2</action>
        <action>maincpu.mq@7ee0 = 0000000000000000</action>
        <action>maincpu.mq@7ee8 = 0000000000000000</action>
        <action>maincpu.mq@7ef0 = 0000000000000000</action>
        <action>maincpu.mq@7ef8 = 0000000000000000</action>
        <action>maincpu.mq@7f00 = 0000000000000000</action>
        <action>maincpu.mq@7f08 = 0000000000000000</action>
        <action>maincpu.mq@7f10 = 0000000000000000</action>
        <action>maincpu.mq@7f18 = 0000000000000000</action>
        <action>maincpu.mq@7f20 = 0000000000000000</action>
    </script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10). change sound stop button from up to start.

[swimmer]+ Swimmer

Posted: Sat Feb 17, 2024 12:10 am
by jman
swimmer.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@31A4 = C9</action> <!-- enemy -->
            <action>maincpu.mb@344E = C9</action> <!-- crab -->
            <action>maincpu.mb@3566 = C9</action> <!-- piranha -->
            <action>maincpu.mb@3745 = C9</action> <!-- water spider -->
        </script>
        <script state="off">
            <action>maincpu.mb@31A4 = 3E</action>
            <action>maincpu.mb@344E = 3E</action>
            <action>maincpu.mb@3566 = FD</action>
            <action>maincpu.mb@3745 = 3E</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <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="on">
            <action>maincpu.mw@3C71 = 0006</action> <!-- y position -->
            <action>maincpu.mw@3CB2 = 0006</action> <!-- x position -->
        </script>
        <script state="change">
            <action>maincpu.mb@3C72 = param</action>
            <action>maincpu.mb@3CB3 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3C71 = 477E</action>
            <action>maincpu.mw@3CB2 = 477E</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@059D = 7EE0            </action>
            <action>maincpu.mq@7EE0 = 04E6B8003A810021</action>
            <action>maincpu.mq@7EE8 = B1A8003A4F070707</action>
            <action>maincpu.mq@7EF0 = 012002FEEF2847B8</action>
            <action>maincpu.mq@7EF8 = 08FE34012001FE35</action>
            <action>maincpu.mq@7F00 = 04FE0618F03E0420</action>
            <action>maincpu.mq@7F08 = FE787786103E0520</action>
            <action>maincpu.mq@7F10 = 061880F67E052010</action>
            <action>maincpu.mq@7F18 = 0032FF3E052020FE</action>
            <action>maincpu.mq@7F20 = 0000000000C018A8</action>
            <!--
            7EE0 | 21 00 81 : ld   hl,$8100  // sound code address
            7EE3 | 3A 00 B8 : ld   a,($B800) // read start button
            7EE6 | E6 04    : and  $04
            7EE8 | 07       : rlca
            7EE9 | 07       : rlca
            7EEA | 07       : rlca
            7EEB | 4F       : ld   c,a
            7EEC | 3A 00 A8 : ld   a,($A800) // read otherinputs
            7EEF | B1       : or   c
            7EF0 | B8       : cp   b
            7EF1 | 47       : ld   b,a
            7EF2 | 28 EF    : jr   z,$7EE3
            7EF4 | FE 02    : cp   $02
            7EF6 | 20 01    : jr   nz,$7EF9
            7EF8 | 35       : dec  (hl)      // decrease code -01
            7EF9 | FE 01    : cp   $01
            7EFB | 20 01    : jr   nz,$7EFE
            7EFD | 34       : inc  (hl)      // increase code +01
            7EFE | FE 08    : cp   $08
            7F00 | 20 04    : jr   nz,$7F06
            7F02 | 3E F0    : ld   a,$F0     // decrease code -10
            7F04 | 18 06    : jr   $7F0C
            7F06 | FE 04    : cp   $04
            7F08 | 20 05    : jr   nz,$7F0F
            7F0A | 3E 10    : ld   a,$10     // increase code +10
            7F0C | 86       : add  a,(hl)
            7F0D | 77       : ld   (hl),a
            7F0E | 78       : ld   a,b
            7F0F | FE 10    : cp   $10
            7F11 | 20 05    : jr   nz,$7F18
            7F13 | 7E       : ld   a,(hl)    // play sound
            7F14 | F6 80    : or   $80
            7F16 | 18 06    : jr   $7F1E
            7F18 | FE 20    : cp   $20
            7F1A | 20 05    : jr   nz,$7F21
            7F1C | 3E FF    : ld   a,$FF     // stop sound
            7F1E | 32 00 A8 : ld   ($A800),a // send sound code
            7F21 | 18 C0    : jr   $7EE3
            -->
        </script>
        <script state="run">
            <output format="----- swimmer 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="1P start : 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@8100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@059D = 64D2            </action>
            <action>maincpu.mq@7EE0 = 0000000000000000</action>
            <action>maincpu.mq@7EE8 = 0000000000000000</action>
            <action>maincpu.mq@7EF0 = 0000000000000000</action>
            <action>maincpu.mq@7EF8 = 0000000000000000</action>
            <action>maincpu.mq@7F00 = 0000000000000000</action>
            <action>maincpu.mq@7F08 = 0000000000000000</action>
            <action>maincpu.mq@7F10 = 0000000000000000</action>
            <action>maincpu.mq@7F18 = 0000000000000000</action>
            <action>maincpu.mq@7F20 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@01EE = 4818</action> <!-- ram -->
            <action>maincpu.mw@10C0 = 3418</action> <!-- rom -->
        </script>
        <script state="off">
            <action>maincpu.mb@01EE = 803A</action>
            <action>maincpu.mb@10C0 = 21DD</action>
        </script>
    </cheat>

</mamecheat>
swimmera.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@31A4 = C9</action> <!-- enemy -->
            <action>maincpu.mb@344E = C9</action> <!-- crab -->
            <action>maincpu.mb@3566 = C9</action> <!-- piranha -->
            <action>maincpu.mb@3745 = C9</action> <!-- water spider -->
        </script>
        <script state="off">
            <action>maincpu.mb@31A4 = 3E</action>
            <action>maincpu.mb@344E = 3E</action>
            <action>maincpu.mb@3566 = FD</action>
            <action>maincpu.mb@3745 = 3E</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <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="on">
            <action>maincpu.mw@3C71 = 0006</action> <!-- y position -->
            <action>maincpu.mw@3CB2 = 0006</action> <!-- x position -->
        </script>
        <script state="change">
            <action>maincpu.mb@3C72 = param</action>
            <action>maincpu.mb@3CB3 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3C71 = 477E</action>
            <action>maincpu.mw@3CB2 = 477E</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@0594 = 04E6B8003A800021</action>
            <action>maincpu.mq@059C = B1A8003A4F070707</action>
            <action>maincpu.mq@05A4 = 012002FEEF2847B8</action>
            <action>maincpu.mq@05AC = 08FE34012001FE35</action>
            <action>maincpu.mq@05B4 = 04FE0618F03E0420</action>
            <action>maincpu.mq@05BC = FE787786103E0520</action>
            <action>maincpu.mq@05C4 = 061880F67E052010</action>
            <action>maincpu.mq@05CC = 0032FF3E052020FE</action>
            <action>maincpu.mq@05D4 = 0000000000C018A8</action>
            <!--
            0594 | 21 00 80 : ld   hl,$8000  // sound code address
            0597 | 3A 00 B8 : ld   a,($B800) // read start button
            059A | E6 04    : and  $04
            059C | 07       : rlca
            059D | 07       : rlca
            059E | 07       : rlca
            059F | 4F       : ld   c,a
            05A0 | 3A 00 A8 : ld   a,($A800) // read other inputs
            05A3 | B1       : or   c
            05A4 | B8       : cp   b
            05A5 | 47       : ld   b,a
            05A6 | 28 EF    : jr   z,$0597
            05A8 | FE 02    : cp   $02
            05AA | 20 01    : jr   nz,$05AD
            05AC | 35       : dec  (hl)      // decrease code -01
            05AD | FE 01    : cp   $01
            05AF | 20 01    : jr   nz,$05B2
            05B1 | 34       : inc  (hl)      // increase code +01
            05B2 | FE 08    : cp   $08
            05B4 | 20 04    : jr   nz,$05BA
            05B6 | 3E F0    : ld   a,$F0     // decrease code -10
            05B8 | 18 06    : jr   $05C0
            05BA | FE 04    : cp   $04
            05BC | 20 05    : jr   nz,$05C3
            05BE | 3E 10    : ld   a,$10     // increase code +10
            05C0 | 86       : add  a,(hl)
            05C1 | 77       : ld   (hl),a
            05C2 | 78       : ld   a,b
            05C3 | FE 10    : cp   $10
            05C5 | 20 05    : jr   nz,$05CC
            05C7 | 7E       : ld   a,(hl)    // play sound
            05C8 | F6 80    : or   $80
            05CA | 18 06    : jr   $05D2
            05CC | FE 20    : cp   $20
            05CE | 20 05    : jr   nz,$05D5
            05D0 | 3E FF    : ld   a,$FF     // stop sound
            05D2 | 32 00 A8 : ld   ($A800),a // send sound code
            05D5 | 18 C0    : jr   $0597
            -->
        </script>
        <script state="run">
            <output format="----- swimmer 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="1P start : 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@8000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0594 = 5F16040001900021</action>
            <action>maincpu.mq@059C = 00019C002164D2CD</action>
            <action>maincpu.mq@05A4 = ECCD64D2CD041604</action>
            <action>maincpu.mq@05AC = 182867CBA8003A10</action>
            <action>maincpu.mq@05B4 = A8003AFF1006233E</action>
            <action>maincpu.mq@05BC = 1006233EF42067CB</action>
            <action>maincpu.mq@05C4 = F42867CBA8003AFF</action>
            <action>maincpu.mq@05CC = 0332013E86D031E7</action>
            <action>maincpu.mq@05D4 = 0601828A21FF3EA0</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@01EE = 4818</action> <!-- ram -->
            <action>maincpu.mw@10EC = 3418</action> <!-- rom -->
        </script>
        <script state="off">
            <action>maincpu.mb@01EE = 803A</action>
            <action>maincpu.mb@10EC = 21DD</action>
        </script>
    </cheat>

</mamecheat>
swimmerb.xml

Code: Select all

<!-- Swimmer (set 3) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@3184 = C9</action> <!-- enemy -->
            <action>maincpu.mb@342E = C9</action> <!-- crab -->
            <action>maincpu.mb@3546 = C9</action> <!-- piranha -->
            <action>maincpu.mb@3725 = C9</action> <!-- water spider -->
        </script>
        <script state="off">
            <action>maincpu.mb@3184 = 3E</action>
            <action>maincpu.mb@342E = 3E</action>
            <action>maincpu.mb@3546 = FD</action>
            <action>maincpu.mb@3725 = 3E</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <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="on">
            <action>maincpu.mw@3C71 = 0006</action> <!-- y position -->
            <action>maincpu.mw@3CB2 = 0006</action> <!-- x position -->
        </script>
        <script state="change">
            <action>maincpu.mb@3C72 = param</action>
            <action>maincpu.mb@3CB3 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3C71 = 477E</action>
            <action>maincpu.mw@3CB2 = 477E</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@0594 = 04E6B8003A800021</action>
            <action>maincpu.mq@059C = B1A8003A4F070707</action>
            <action>maincpu.mq@05A4 = 012002FEEF2847B8</action>
            <action>maincpu.mq@05AC = 08FE34012001FE35</action>
            <action>maincpu.mq@05B4 = 04FE0618F03E0420</action>
            <action>maincpu.mq@05BC = FE787786103E0520</action>
            <action>maincpu.mq@05C4 = 061880F67E052010</action>
            <action>maincpu.mq@05CC = 0032FF3E052020FE</action>
            <action>maincpu.mq@05D4 = 0000000000C018A8</action>
            <!--
            0594 | 21 00 80 : ld   hl,$8000  // sound code address
            0597 | 3A 00 B8 : ld   a,($B800) // read start button
            059A | E6 04    : and  $04
            059C | 07       : rlca
            059D | 07       : rlca
            059E | 07       : rlca
            059F | 4F       : ld   c,a
            05A0 | 3A 00 A8 : ld   a,($A800) // read other inputs
            05A3 | B1       : or   c
            05A4 | B8       : cp   b
            05A5 | 47       : ld   b,a
            05A6 | 28 EF    : jr   z,$0597
            05A8 | FE 02    : cp   $02
            05AA | 20 01    : jr   nz,$05AD
            05AC | 35       : dec  (hl)      // decrease code -01
            05AD | FE 01    : cp   $01
            05AF | 20 01    : jr   nz,$05B2
            05B1 | 34       : inc  (hl)      // increase code +01
            05B2 | FE 08    : cp   $08
            05B4 | 20 04    : jr   nz,$05BA
            05B6 | 3E F0    : ld   a,$F0     // decrease code -10
            05B8 | 18 06    : jr   $05C0
            05BA | FE 04    : cp   $04
            05BC | 20 05    : jr   nz,$05C3
            05BE | 3E 10    : ld   a,$10     // increase code +10
            05C0 | 86       : add  a,(hl)
            05C1 | 77       : ld   (hl),a
            05C2 | 78       : ld   a,b
            05C3 | FE 10    : cp   $10
            05C5 | 20 05    : jr   nz,$05CC
            05C7 | 7E       : ld   a,(hl)    // play sound
            05C8 | F6 80    : or   $80
            05CA | 18 06    : jr   $05D2
            05CC | FE 20    : cp   $20
            05CE | 20 05    : jr   nz,$05D5
            05D0 | 3E FF    : ld   a,$FF     // stop sound
            05D2 | 32 00 A8 : ld   ($A800),a // send sound code
            05D5 | 18 C0    : jr   $0597
            -->
        </script>
        <script state="run">
            <output format="----- swimmer 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="1P start : 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@8000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@0594 = 5F16040001900021</action>
            <action>maincpu.mq@059C = 00019C002164D2CD</action>
            <action>maincpu.mq@05A4 = ECCD64D2CD041604</action>
            <action>maincpu.mq@05AC = 182867CBA8003A10</action>
            <action>maincpu.mq@05B4 = A8003AFF1006233E</action>
            <action>maincpu.mq@05BC = 1006233EF42067CB</action>
            <action>maincpu.mq@05C4 = F42867CBA8003AFF</action>
            <action>maincpu.mq@05CC = 0332013E86D031E7</action>
            <action>maincpu.mq@05D4 = 0601828A21FF3EA0</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@01EE = 4818</action> <!-- ram -->
            <action>maincpu.mw@10EC = 3418</action> <!-- rom -->
        </script>
        <script state="off">
            <action>maincpu.mb@01EE = 803A</action>
            <action>maincpu.mb@10EC = 21DD</action>
        </script>
    </cheat>

</mamecheat>