Page 1 of 1

[airraid]+ Air Raid/Cross Shooter

Posted: Mon Jan 08, 2024 1:37 pm
by jman
airraid.xml

Code: Select all

<!-- Air Raid (Single PCB) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.ob@3517 = C9</action>
        </script>
        <script state="off">
            <action>maincpu.ob@3517 = D8</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <!-- P1 -->
            <action>maincpu.mb@20F9 = E1</action>
            <action>maincpu.ob@20FD = C2</action>
            <!-- P2 -->
            <action>maincpu.mb@22E9 = E7</action>
            <action>maincpu.ob@22ED = C2</action>
        </script>
        <script state="off">
            <action>maincpu.mb@20F9 = E0</action>
            <action>maincpu.ob@20FD = CA</action>
            <action>maincpu.mb@22E9 = E6</action>
            <action>maincpu.ob@22ED = CA</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0020">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x00C0">05 (fast)</item>
        </parameter>
        <script state="on">
            <!-- P1 x position -->
            <action>maincpu.od@2061 = EDFFFFCD</action>
            <action>maincpu.md@2061 = FF7400FF</action>
            <!-- P1 y position -->
            <action>maincpu.od@2094 = 2AFFFFCD</action>
            <action>maincpu.md@2094 = FF7400FF</action>
            <!-- P2 x position -->
            <action>maincpu.od@224D = EDFFFFCD</action>
            <action>maincpu.md@224D = FF7400FF</action>
            <!-- P2 y position -->
            <action>maincpu.od@2282 = 2AFFFFCD</action>
            <action>maincpu.md@2282 = FF7400FF</action>
            <!-- main routine -->
            <action>maincpu.oq@7400 = 7BCBC8B37A56235E</action>
            <action>maincpu.mq@7400 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@7408 = C9FFFF11C8FFFF11</action>
            <action>maincpu.mq@7408 = FF0000FFFF0000FF</action>
            <!--
            7400 | 5E       : ld   e,(hl)
            7401 | 23       : inc  hl
            7402 | 56       : ld   d,(hl)
            7403 | 7A       : ld   a,d
            7404 | B3       : or   e
            7405 | C8       : ret  z
            7406 | CB 7B    : bit  7,e
            7408 | 11 xx xx : ld   de,$xxxx
            740B | C8       : ret  z
            740C | 11 xx xx : ld   de,$xxxx
            740F | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@7409 =  param</action>
            <action>maincpu.mw@740D = -param</action>
        </script>
        <script state="off">
            <action>maincpu.od@2061 = ED56235E        </action>
            <action>maincpu.md@2061 = ED56235E        </action>
            <action>maincpu.od@2094 = 2A56235E        </action>
            <action>maincpu.md@2094 = 2A56235E        </action>
            <action>maincpu.od@224D = ED56235E        </action>
            <action>maincpu.md@224D = ED76035E        </action>
            <action>maincpu.od@2282 = 2A56235E        </action>
            <action>maincpu.md@2282 = 2A56037E        </action>
            <action>maincpu.oq@7400 = DFDFFFFFDFDFFFFF</action>
            <action>maincpu.mq@7400 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@7408 = DDDDFDFDDDDDFDFD</action>
            <action>maincpu.mq@7408 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0100">03       </item>
            <item value="0x0180">04       </item>
            <item value="0x0200">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.od@32D4 = DDFFFF21</action>
        </script>
        <script state="change">
            <action>maincpu.mw@32D5 = param</action>
        </script>
        <script state="off">
            <action>maincpu.od@32D4 = DD0C66DD</action>
            <action>maincpu.md@32D4 = FD2C66DD</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop some sfx and music by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@5209 = 7410            </action>
            <action>maincpu.oq@7410 = 77BEFFFF3AFFFF21</action>
            <action>maincpu.mq@7410 = FFFFC000FFE401FF</action>
            <action>maincpu.oq@7418 = 35FF20FFFE2BFF28</action>
            <action>maincpu.mq@7418 = FF01FFFBFFFFF6FF</action>
            <action>maincpu.oq@7420 = 20FFFE34FF20FFFE</action>
            <action>maincpu.mq@7420 = FFFDFFFF01FFF7FF</action>
            <action>maincpu.oq@7428 = 20FFFEFF18FF3EFF</action>
            <action>maincpu.mq@7428 = FFFEFF06FFF0FF04</action>
            <action>maincpu.oq@7430 = FEFF187786FF3EFF</action>
            <action>maincpu.mq@7430 = FF12FFFFFF10FF06</action>
            <action>maincpu.oq@7438 = FEFF18FF16FF20FF</action>
            <action>maincpu.mq@7438 = FF06FF80FF04FFEF</action>
            <action>maincpu.oq@7440 = FFCD5EFF16FF20FF</action>
            <action>maincpu.mq@7440 = 90FFFF81FF06FFDF</action>
            <action>maincpu.oq@7448 = FFFFFFFFFFFF18FF</action>
            <action>maincpu.mq@7448 = FFFFFFFFFFC5FF57</action>
            <!--
            7410 | 21 01 E4 : ld   hl,$E401  // temporary input address
            7413 | 3A 00 C0 : ld   a,($C000) // read input
            7416 | BE       : cp   (hl)
            7417 | 77       : ld   (hl),a
            7418 | 28 F6    : jr   z,$7410
            741A | 2B       : dec  hl        // sound code address ($e400)
            741B | FE FB    : cp   $FB
            741D | 20 01    : jr   nz,$7420
            741F | 35       : dec  (hl)      // decrease code -01
            7420 | FE F7    : cp   $F7
            7422 | 20 01    : jr   nz,$7425
            7424 | 34       : inc  (hl)      // increase code +01
            7425 | FE FD    : cp   $FD
            7427 | 20 04    : jr   nz,$742D
            7429 | 3E F0    : ld   a,$F0     // decrease code -10
            742B | 18 06    : jr   $7433
            742D | FE FE    : cp   $FE
            742F | 20 06    : jr   nz,$7437
            7431 | 3E 10    : ld   a,$10     // increase code +10
            7433 | 86       : add  a,(hl)
            7434 | 77       : ld   (hl),a
            7435 | 18 12    : jr   $7449
            7437 | FE EF    : cp   $EF
            7439 | 20 04    : jr   nz,$743F
            743B | 16 80    : ld   d,$80     // play sound
            743D | 18 06    : jr   $7445
            743F | FE DF    : cp   $DF
            7441 | 20 06    : jr   nz,$7449
            7443 | 16 81    : ld   d,$81     // stop sound
            7445 | 5E       : ld   e,(hl)
            7446 | CD 90 57 : call $5790     // send sound code
            7449 | 18 C5    : jr   $7410
            -->
        </script>
        <script state="run">
            <output format="----- air raid 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@E400</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@5209 = 54DF            </action>
            <action>maincpu.oq@7410 = DFDFFFFFDFDFFFFF</action>
            <action>maincpu.mq@7410 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@7418 = DDDDFDFDDDDDFDFD</action>
            <action>maincpu.mq@7418 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@7420 = BDBDBFBFBDBDBFBF</action>
            <action>maincpu.mq@7420 = BFBFBFBFBFBFBFBF</action>
            <action>maincpu.oq@7428 = DDDDFDFDDDDDFDFD</action>
            <action>maincpu.mq@7428 = BFBFBFBFBFBFBFBF</action>
            <action>maincpu.oq@7430 = BDBDBFBFBDBDBFBF</action>
            <action>maincpu.mq@7430 = BFBFBFBFBFBFBFBF</action>
            <action>maincpu.oq@7438 = DDDDFDFDDDDDFDFD</action>
            <action>maincpu.mq@7438 = BFBFBFBFBFBFBFBF</action>
            <action>maincpu.oq@7440 = DFDFFFFFDFDFFFFF</action>
            <action>maincpu.mq@7440 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@7448 = DDDDFDFDDDDDFDFD</action>
            <action>maincpu.mq@7448 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
cshooter.xml

Code: Select all

<!-- Cross Shooter (Single PCB) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.ob@2F99 = C9</action>
        </script>
        <script state="off">
            <action>maincpu.ob@2F99 = D8</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <!-- P1 -->
            <action>maincpu.mb@1F48 = 41</action>
            <action>maincpu.ob@1F4C = C2</action>
            <!-- P2 -->
            <action>maincpu.mb@2148 = 47</action>
            <action>maincpu.ob@214C = C2</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1F48 = 40</action>
            <action>maincpu.ob@1F4C = CA</action>
            <action>maincpu.mb@2148 = 46</action>
            <action>maincpu.ob@214C = CA</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0020">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x00C0">05 (fast)</item>
        </parameter>
        <script state="on">
            <!-- P1 x position -->
            <action>maincpu.od@1EA2 = DDFFFFCD</action>
            <action>maincpu.md@1EA2 = FF7780FF</action>
            <!-- P1 y position -->
            <action>maincpu.od@1EDD = DDFFFFCD</action>
            <action>maincpu.md@1EDD = FF7780FF</action>
            <!-- P2 x position -->
            <action>maincpu.od@209E = DDFFFFCD</action>
            <action>maincpu.md@209E = FF7780FF</action>
            <!-- P2 y position -->
            <action>maincpu.od@20DB = DDFFFFCD</action>
            <action>maincpu.md@20DB = FF7780FF</action>
            <!-- main routine -->
            <action>maincpu.oq@7780 = 7BCBC8B37A56235E</action>
            <action>maincpu.mq@7780 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@7788 = C9FFFF11C8FFFF11</action>
            <action>maincpu.mq@7788 = FF0000FFFF0000FF</action>
            <!--
            7780 | 5E       : ld   e,(hl)
            7781 | 23       : inc  hl
            7782 | 56       : ld   d,(hl)
            7783 | 7A       : ld   a,d
            7784 | B3       : or   e
            7785 | C8       : ret  z
            7786 | CB 7B    : bit  7,e
            7788 | 11 xx xx : ld   de,$xxxx
            778B | C8       : ret  z
            778C | 11 xx xx : ld   de,$xxxx
            778F | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@7789 =  param</action>
            <action>maincpu.mw@778D = -param</action>
        </script>
        <script state="off">
            <action>maincpu.od@1EA2 = DD56235E        </action>
            <action>maincpu.md@1EA2 = DD56235E        </action>
            <action>maincpu.od@1EDD = DD56235E        </action>
            <action>maincpu.md@1EDD = DD56235E        </action>
            <action>maincpu.od@209E = DD56235E        </action>
            <action>maincpu.md@209E = DD56235E        </action>
            <action>maincpu.od@20DB = DD56235E        </action>
            <action>maincpu.md@20DB = DD56235E        </action>
            <action>maincpu.oq@7780 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7780 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@7788 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7788 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0100">03       </item>
            <item value="0x0180">04       </item>
            <item value="0x0200">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.od@2D47 = DDFFFF21</action>
        </script>
        <script state="change">
            <action>maincpu.mw@2D48 = param</action>
        </script>
        <script state="off">
            <action>maincpu.od@2D47 = DD662EDD</action>
            <action>maincpu.md@2D47 = FD642CFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop some sfx and music by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@4A1F = 7790            </action>
            <action>maincpu.oq@7790 = 77BEFFFF3AFFFF21</action>
            <action>maincpu.mq@7790 = FFFFC000FFE401FF</action>
            <action>maincpu.oq@7798 = 35FF20FFFE2BFF28</action>
            <action>maincpu.mq@7798 = FF01FFFBFFFFF6FF</action>
            <action>maincpu.oq@77A0 = 20FFFE34FF20FFFE</action>
            <action>maincpu.mq@77A0 = FFFDFFFF01FFF7FF</action>
            <action>maincpu.oq@77A8 = 20FFFEFF18FF3EFF</action>
            <action>maincpu.mq@77A8 = FFFEFF06FFF0FF04</action>
            <action>maincpu.oq@77B0 = FEFF187786FF3EFF</action>
            <action>maincpu.mq@77B0 = FF12FFFFFF10FF06</action>
            <action>maincpu.oq@77B8 = FEFF18FF16FF20FF</action>
            <action>maincpu.mq@77B8 = FF06FF80FF04FFEF</action>
            <action>maincpu.oq@77C0 = FFCD5EFF16FF20FF</action>
            <action>maincpu.mq@77C0 = A6FFFF81FF06FFDF</action>
            <action>maincpu.oq@77C8 = FFFFFFFFFFFF18FF</action>
            <action>maincpu.mq@77C8 = FFFFFFFFFFC5FF4F</action>
            <!--
            7790 | 21 01 E4 : ld   hl,$E401  // temporary input address
            7793 | 3A 00 C0 : ld   a,($C000) // read input
            7796 | BE       : cp   (hl)
            7797 | 77       : ld   (hl),a
            7798 | 28 F6    : jr   z,$7790
            779A | 2B       : dec  hl        // sound code address ($e400)
            779B | FE FB    : cp   $FB
            779D | 20 01    : jr   nz,$77A0
            779F | 35       : dec  (hl)      // decrease code -01
            77A0 | FE F7    : cp   $F7
            77A2 | 20 01    : jr   nz,$77A5
            77A4 | 34       : inc  (hl)      // increase code +01
            77A5 | FE FD    : cp   $FD
            77A7 | 20 04    : jr   nz,$77AD
            77A9 | 3E F0    : ld   a,$F0     // decrease code -10
            77AB | 18 06    : jr   $77B3
            77AD | FE FE    : cp   $FE
            77AF | 20 06    : jr   nz,$77B7
            77B1 | 3E 10    : ld   a,$10     // increase code +10
            77B3 | 86       : add  a,(hl)
            77B4 | 77       : ld   (hl),a
            77B5 | 18 12    : jr   $77C9
            77B7 | FE EF    : cp   $EF
            77B9 | 20 04    : jr   nz,$77BF
            77BB | 16 80    : ld   d,$80     // play sound
            77BD | 18 06    : jr   $77C5
            77BF | FE DF    : cp   $DF
            77C1 | 20 06    : jr   nz,$77C9
            77C3 | 16 81    : ld   d,$81     // stop sound
            77C5 | 5E       : ld   e,(hl)
            77C6 | CD A6 4F : call $4FA6     // send sound code
            77C9 | 18 C5    : jr   $7790
            -->
        </script>
        <script state="run">
            <output format="----- cross shooter 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@E400</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@4A1F = 4CF5            </action>
            <action>maincpu.oq@7790 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7790 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@7798 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7798 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@77A0 = BFBFBFBFBFBFBFBF</action>
            <action>maincpu.mq@77A0 = BFBFBFBFBFBFBFBF</action>
            <action>maincpu.oq@77A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@77A8 = BFBFBFBFBFBFBFBF</action>
            <action>maincpu.oq@77B0 = BFBFBFBFBFBFBFBF</action>
            <action>maincpu.mq@77B0 = BFBFBFBFBFBFBFBF</action>
            <action>maincpu.oq@77B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@77B8 = BFBFBFBFBFBFBFBF</action>
            <action>maincpu.oq@77C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@77C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.oq@77C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@77C8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
cshootert.xml

Code: Select all

<!-- Cross Shooter (2 PCB Stack) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2FC7 = C9</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2FC7 = D8</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <!-- P1 -->
            <action>maincpu.mb@1F76 = 48</action>
            <action>maincpu.mb@1F7A = C2</action>
            <!-- P2 -->
            <action>maincpu.mb@2176 = 4E</action>
            <action>maincpu.mb@217A = C2</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1F76 = 47</action>
            <action>maincpu.mb@1F7A = CA</action>
            <action>maincpu.mb@2173 = 4D</action>
            <action>maincpu.mb@217A = CA</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0020">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x00C0">05 (fast)</item>
        </parameter>
        <script state="on">
            <!-- P1 x position -->
            <action>maincpu.md@1ED0 = DD7A00CD</action>
            <!-- P1 y position -->
            <action>maincpu.md@1F0B = DD7A00CD</action>
            <!-- P2 x position -->
            <action>maincpu.md@20CC = DD7A00CD</action>
            <!-- P2 y position -->
            <action>maincpu.md@2109 = DD7A00CD</action>
            <!-- main routine -->
            <action>maincpu.mq@7A00 = 7BCBC8B37A56235E</action>
            <action>maincpu.mq@7A08 = C9000011C8000011</action>
            <!--
            7A00 | 5E       : ld   e,(hl)
            7A01 | 23       : inc  hl
            7A02 | 56       : ld   d,(hl)
            7A03 | 7A       : ld   a,d
            7A04 | B3       : or   e
            7A05 | C8       : ret  z
            7A06 | CB 7B    : bit  7,e
            7A08 | 11 xx xx : ld   de,$xxxx
            7A0B | C8       : ret  z
            7A0C | 11 xx xx : ld   de,$xxxx
            7A0F | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@7A09 =  param</action>
            <action>maincpu.mw@7A0D = -param</action>
        </script>
        <script state="off">
            <action>maincpu.md@1ED0 = DD56235E        </action>
            <action>maincpu.md@1F0B = DD56235E        </action>
            <action>maincpu.md@20CC = DD56235E        </action>
            <action>maincpu.md@2109 = DD56235E        </action>
            <action>maincpu.mq@7A00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7A08 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0100">03       </item>
            <item value="0x0180">04       </item>
            <item value="0x0200">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@2D75 = DD000021</action>
        </script>
        <script state="change">
            <action>maincpu.mw@2D76 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@2D75 = DD2C66DD</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop some sfx and music by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@4A6A = 7A10            </action>
            <action>maincpu.mq@7A10 = 77BEC2003AE40121</action>
            <action>maincpu.mq@7A18 = 350120FBFE2BF628</action>
            <action>maincpu.mq@7A20 = 20FDFE340120F7FE</action>
            <action>maincpu.mq@7A28 = 20FEFE0618F03E04</action>
            <action>maincpu.mq@7A30 = FE12187786103E06</action>
            <action>maincpu.mq@7A38 = FE061880160420EF</action>
            <action>maincpu.mq@7A40 = 79CD5E81160620DF</action>
            <action>maincpu.mq@7A48 = FFFFFFFFFFC51850</action>
            <!--
            7A10 | 21 01 E4 : ld   hl,$E401  // temporary input address
            7A13 | 3A 00 C2 : ld   a,($C200) // read input
            7A16 | BE       : cp   (hl)
            7A17 | 77       : ld   (hl),a
            7A18 | 28 F6    : jr   z,$7A10
            7A1A | 2B       : dec  hl        // sound code address ($e400)
            7A1B | FE FB    : cp   $FB
            7A1D | 20 01    : jr   nz,$7A20
            7A1F | 35       : dec  (hl)      // decrease code -01
            7A20 | FE F7    : cp   $F7
            7A22 | 20 01    : jr   nz,$7A25
            7A24 | 34       : inc  (hl)      // increase code +01
            7A25 | FE FD    : cp   $FD
            7A27 | 20 04    : jr   nz,$7A2D
            7A29 | 3E F0    : ld   a,$F0     // decrease code -10
            7A2B | 18 06    : jr   $7A33
            7A2D | FE FE    : cp   $FE
            7A2F | 20 06    : jr   nz,$7A37
            7A31 | 3E 10    : ld   a,$10     // increase code +10
            7A33 | 86       : add  a,(hl)
            7A34 | 77       : ld   (hl),a
            7A35 | 18 12    : jr   $7A49
            7A37 | FE EF    : cp   $EF
            7A39 | 20 04    : jr   nz,$7A3F
            7A3B | 16 80    : ld   d,$80     // play sound
            7A3D | 18 06    : jr   $7A45
            7A3F | FE DF    : cp   $DF
            7A41 | 20 06    : jr   nz,$7A49
            7A43 | 16 81    : ld   d,$81     // stop sound
            7A45 | 5E       : ld   e,(hl)
            7A46 | CD 79 50 : call $5079     // send sound code
            7A49 | 18 C5    : jr   $7A10
            -->
        </script>
        <script state="run">
            <output format="----- cross shooter 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@E400</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@4A6A = 4D46            </action>
            <action>maincpu.mq@7790 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7798 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@77A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@77A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@77B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@77B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@77C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@77C8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>