Page 1 of 1

[thedeep]+ The Deep

Posted: Sat Oct 07, 2023 8:34 am
by jman
thedeep.xml

Code: Select all

<!-- The Deep (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@6BC1 = 18</action> <!-- P1 bullet -->
            <action>maincpu.mb@6BDB = C9</action> <!-- P2 bullet -->
            <action>maincpu.mb@6D23 = 18</action> <!-- P1 missile -->
            <action>maincpu.mb@6D6B = 18</action> <!-- P2 missile -->
            <action>maincpu.mb@6DB4 = 00</action> <!-- P1 enemy -->
            <action>maincpu.mb@6DCA = 18</action> <!-- P1 enemy -->
            <action>maincpu.mb@6DEC = 00</action> <!-- P2 enemy -->
            <action>maincpu.mb@6E02 = C9</action> <!-- P2 enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@6BC1 = 28</action>
            <action>maincpu.mb@6BDB = C8</action>
            <action>maincpu.mb@6D23 = 28</action>
            <action>maincpu.mb@6D6B = 28</action>
            <action>maincpu.mb@6DB4 = 17</action>
            <action>maincpu.mb@6DCA = 28</action>
            <action>maincpu.mb@6DEC = 16</action>
            <action>maincpu.mb@6E02 = C8</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <!-- P1 -->
            <action>maincpu.mb@1251 = 03</action>
            <action>maincpu.mb@1258 = 20</action>
            <action>maincpu.mb@1260 = C0</action>
            <!-- P2 -->
            <action>maincpu.mb@127D = 05</action>
            <action>maincpu.mb@1284 = 20</action>
            <action>maincpu.mb@128C = C0</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1251 = 02</action>
            <action>maincpu.mb@1258 = 28</action>
            <action>maincpu.mb@1260 = C8</action>
            <action>maincpu.mb@127D = 04</action>
            <action>maincpu.mb@1284 = 28</action>
            <action>maincpu.mb@128C = C8</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@1567 =  param</action>
            <action>maincpu.mb@156D = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1567 = 01</action>
            <action>maincpu.mb@156D = FF</action>
        </script>
    </cheat>

    <cheat desc="mine speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x08">04       </item>
            <item value="0x10">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@1706 = param</action>
            <action>maincpu.mb@170F = param</action>
            <action>maincpu.mb@1715 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1706 = 01</action>
            <action>maincpu.mb@170F = 04</action>
            <action>maincpu.mb@1715 = 02</action>
        </script>
    </cheat>

    <cheat desc="quick mine charge">
        <script state="on">
            <action>maincpu.mw@13C1 = 013E</action> <!-- P1 -->
            <action>maincpu.mw@13DF = 013E</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mw@13C1 = 7E19</action>
            <action>maincpu.mw@13DF = 7E19</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@07BC = 47B8E0083AC00021</action>
            <action>maincpu.mq@07C4 = FE350120FBFEF928</action>
            <action>maincpu.mq@07CC = 0420FDFE340120F7</action>
            <action>maincpu.mq@07D4 = 0520FEFE0618F03E</action>
            <action>maincpu.mq@07DC = 20EFFE787786103E</action>
            <action>maincpu.mq@07E4 = 0420DFFE05187E03</action>
            <action>maincpu.mq@07EC = 0000CD18E00C32AF</action>
            <!--
            07BC | 21 00 C0 : ld  hl,$C000  // sound code address
            07BF | 3A 08 E0 : ld  a,($E008) // read input
            07C2 | B8       : cp  b
            07C3 | 47       : ld  b,a
            07C4 | 28 F9    : jr  z,$07BF
            07C6 | FE FB    : cp  $FB
            07C8 | 20 01    : jr  nz,$07CB
            07CA | 35       : dec (hl)      // decrease code -01
            07CB | FE F7    : cp  $F7
            07CD | 20 01    : jr  nz,$07D0
            07CF | 34       : inc (hl)      // increase code +01
            07D0 | FE FD    : cp  $FD
            07D2 | 20 04    : jr  nz,$07D8
            07D4 | 3E F0    : ld  a,$F0     // decrease code -10
            07D6 | 18 06    : jr  $07DE
            07D8 | FE FE    : cp  $FE
            07DA | 20 05    : jr  nz,$07E1
            07DC | 3E 10    : ld  a,$10     // increase code +10
            07DE | 86       : add a,(hl)
            07DF | 77       : ld  (hl),a
            07E0 | 78       : ld  a,b
            07E1 | FE EF    : cp  $EF
            07E3 | 20 03    : jr  nz,$07E8
            07E5 | 7E       : ld  a,(hl)    // play sound
            07E6 | 18 05    : jr  $07ED
            07E8 | FE DF    : cp  $DF
            07EA | 20 04    : jr  nz,$07F0
            07EC | AF       : xor a         // stop sound
            07ED | 32 0C E0 : ld  ($E00C),a // send sound code
            07F0 | 18 CD    : jr  $07BF
            -->
        </script>
        <script state="run">
            <output format="----- the deep 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@07BC = 71EECA7FCBE00B3A</action>
            <action>maincpu.mq@07C4 = CA1232AFC29B32AF</action>
            <action>maincpu.mq@07CC = 0C86CDC22532013E</action>
            <action>maincpu.mq@07D4 = 1222010021039BCD</action>
            <action>maincpu.mq@07DC = 423ACA4232083EE2</action>
            <action>maincpu.mq@07E4 = 013E001EFA20B7CA</action>
            <action>maincpu.mq@07EC = 08C20CBECD03E1CD</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@00F5 = 00F7</action>
        </script>
        <script state="off">
            <action>maincpu.mw@00F5 = 0671</action>
        </script>
    </cheat>

</mamecheat>
rundeep.xml

Code: Select all

<!-- Run Deep -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@6D7E = 18</action> <!-- P1 bullet -->
            <action>maincpu.mb@6D98 = C9</action> <!-- P2 bullet -->
            <action>maincpu.mb@6ED7 = 18</action> <!-- P1 missile -->
            <action>maincpu.mb@6F1F = 18</action> <!-- P2 missile -->
            <action>maincpu.mb@6F69 = 00</action> <!-- P1 enemy -->
            <action>maincpu.mb@6F7F = 18</action> <!-- P1 enemy -->
            <action>maincpu.mb@6FA1 = 00</action> <!-- P2 enemy -->
            <action>maincpu.mb@6FB8 = C9</action> <!-- P2 enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@6D7E = 28</action>
            <action>maincpu.mb@6D98 = C8</action>
            <action>maincpu.mb@6ED7 = 28</action>
            <action>maincpu.mb@6F1F = 28</action>
            <action>maincpu.mb@6F69 = 17</action>
            <action>maincpu.mb@6F7F = 28</action>
            <action>maincpu.mb@6FA1 = 16</action>
            <action>maincpu.mb@6FB8 = C8</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <!-- P1 -->
            <action>maincpu.mb@1411 = 03</action>
            <action>maincpu.mb@1418 = 20</action>
            <action>maincpu.mb@1420 = C0</action>
            <!-- P2 -->
            <action>maincpu.mb@143D = 05</action>
            <action>maincpu.mb@1444 = 20</action>
            <action>maincpu.mb@144C = C0</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1411 = 02</action>
            <action>maincpu.mb@1418 = 28</action>
            <action>maincpu.mb@1420 = C8</action>
            <action>maincpu.mb@143D = 04</action>
            <action>maincpu.mb@1444 = 28</action>
            <action>maincpu.mb@144C = C8</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@1727 =  param</action>
            <action>maincpu.mb@172D = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1727 = 01</action>
            <action>maincpu.mb@172D = FF</action>
        </script>
    </cheat>

    <cheat desc="mine speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x08">04       </item>
            <item value="0x10">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@18C6 = param</action>
            <action>maincpu.mb@18CF = param</action>
            <action>maincpu.mb@18D5 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@18C6 = 01</action>
            <action>maincpu.mb@18CF = 04</action>
            <action>maincpu.mb@18D5 = 02</action>
        </script>
    </cheat>

    <cheat desc="quick mine charge">
        <script state="on">
            <action>maincpu.mw@1581 = 013E</action> <!-- P1 -->
            <action>maincpu.mw@159F = 013E</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mw@1581 = 7E19</action>
            <action>maincpu.mw@159F = 7E19</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@098D = 47B8E0083AC00021</action>
            <action>maincpu.mq@0995 = FE350120FBFEF928</action>
            <action>maincpu.mq@099D = 0420FDFE340120F7</action>
            <action>maincpu.mq@09A5 = 0520FEFE0618F03E</action>
            <action>maincpu.mq@09AD = 20EFFE787786103E</action>
            <action>maincpu.mq@09B5 = 0420DFFE05187E03</action>
            <action>maincpu.mq@09BD = 0000CD18E00C32AF</action>
            <!--
            098D | 21 00 C0 : ld  hl,$C000  // sound code address
            0990 | 3A 08 E0 : ld  a,($E008) // read input
            0993 | B8       : cp  b
            0994 | 47       : ld  b,a
            0995 | 28 F9    : jr  z,$0990
            0997 | FE FB    : cp  $FB
            0999 | 20 01    : jr  nz,$099C
            099B | 35       : dec (hl)      // decrease code -01
            099C | FE F7    : cp  $F7
            099E | 20 01    : jr  nz,$09A1
            09A0 | 34       : inc (hl)      // increase code +01
            09A1 | FE FD    : cp  $FD
            09A3 | 20 04    : jr  nz,$09A9
            09A5 | 3E F0    : ld  a,$F0     // decrease code -10
            09A7 | 18 06    : jr  $09AF
            09A9 | FE FE    : cp  $FE
            09AB | 20 05    : jr  nz,$09B2
            09AD | 3E 10    : ld  a,$10     // increase code +10
            09AF | 86       : add a,(hl)
            09B0 | 77       : ld  (hl),a
            09B1 | 78       : ld  a,b
            09B2 | FE EF    : cp  $EF
            09B4 | 20 03    : jr  nz,$09B9
            09B6 | 7E       : ld  a,(hl)    // play sound
            09B7 | 18 05    : jr  $09BE
            09B9 | FE DF    : cp  $DF
            09BB | 20 04    : jr  nz,$09C1
            09BD | AF       : xor a         // stop sound
            09BE | 32 0C E0 : ld  ($E00C),a // send sound code
            09C1 | 18 CD    : jr  $0990
            -->
        </script>
        <script state="run">
            <output format="----- run deep 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@098D = 739ACA7FCBE00B3A</action>
            <action>maincpu.mq@0995 = CA1432AFC29D32AF</action>
            <action>maincpu.mq@099D = 0E46CDC22532013E</action>
            <action>maincpu.mq@09A5 = 12220100210412CD</action>
            <action>maincpu.mq@09AD = 443ACA4432083EE2</action>
            <action>maincpu.mq@09B5 = 013E001EFA20B7CA</action>
            <action>maincpu.mq@09BD = C8C20E7ECD0458CD</action>
        </script>
    </cheat>

</mamecheat>
"skip rom check" : rundeep doesn't check ROM at boot so that I don't add "skip rom check" code for rundeep.