[airraid]+ Air Raid/Cross Shooter

This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
Post Reply
jman
Posts: 849
Joined: Tue Dec 01, 2020 1:24 pm

[airraid]+ Air Raid/Cross Shooter

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