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.

[thedeep]+ The Deep

Posted: Sat Jul 05, 2025 8:43 am
by jman
thedeep.xml

Code: Select all

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

    <cheat desc="power up">
        <script state="on">
            <action>maincpu.mb@185D = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@185D = 20</action>
        </script>
    </cheat>

    <cheat desc="auto damage">
        <script state="on">
            <action>maincpu.mw@6AD5 = FF29</action> <!-- enemy -->
            <action>maincpu.mw@6CE2 = FF4E</action> <!-- boss -->
            <action>maincpu.mw@6D3F = FF63</action> <!-- missile -->
        </script>
        <script state="run">
            <action>maincpu.pq@FF00 = 7EDD1A287E01CBDD</action>
            <action>maincpu.pq@FF08 = 4601CBDD1420B706</action>
            <action>maincpu.pq@FF10 = 38E8FE0728007EDD</action>
            <action>maincpu.pq@FF18 = F938E0FEC9B77807</action>
            <action>maincpu.pq@FF20 = 18D91019DD000811</action>
            <action>maincpu.pq@FF28 = 21DDC0B76F18CDF0</action>
            <action>maincpu.pq@FF30 = C8FF00CD1006E550</action>
            <action>maincpu.pq@FF38 = FD002021010636DD</action>
            <action>maincpu.pq@FF40 = E0CD04CECDC24D21</action>
            <action>maincpu.pq@FF48 = 27CDC9CB8432AF68</action>
            <action>maincpu.pq@FF50 = 06E51021DDC0B76E</action>
            <action>maincpu.pq@FF58 = 0636DDC8FF00CD08</action>
            <action>maincpu.pq@FF60 = C0B76E27CDC9AF07</action>
            <action>maincpu.pq@FF68 = 00CD0606E6D021DD</action>
            <action>maincpu.pq@FF70 = 4021080636DDC8FF</action>
            <action>maincpu.pq@FF78 = 04CECDC24D21FD00</action>
            <action>maincpu.pq@FF80 = 00000000000000C9</action>
            <!--
            FF00 | DD CB 01 7E : bit  7,(ix+$01)   // common routine
            FF04 | 28 1A       : jr   z,$FF20
            FF06 | DD 7E 06    : ld   a,(ix+$06)
            FF09 | B7          : or   a
            FF0A | 20 14       : jr   nz,$FF20
            FF0C | DD CB 01 46 : bit  0,(ix+$01)
            FF10 | DD 7E 00    : ld   a,(ix+$00)
            FF13 | 28 07       : jr   z,$FF1C
            FF15 | FE E8       : cp   $E8
            FF17 | 38 07       : jr   c,$FF20
            FF19 | 78          : ld   a,b
            FF1A | B7          : or   a
            FF1B | C9          : ret
            FF1C | FE E0       : cp   $E0
            FF1E | 38 F9       : jr   c,$FF19
            FF20 | 11 08 00    : ld   de,$0008
            FF23 | DD 19       : add  ix,de
            FF25 | 10 D9       : djnz $FF00
            FF27 | 18 F0       : jr   $FF19
            FF29 | CD 18 6F    : call $6F18        // enemy
            FF2C | B7          : or   a
            FF2D | C0          : ret  nz
            FF2E | DD 21 50 E5 : ld   ix,$E550
            FF32 | 06 10       : ld   b,$10
            FF34 | CD 00 FF    : call $FF00
            FF37 | C8          : ret  z
            FF38 | DD 36 06 01 : ld   (ix+$06),$01
            FF3C | 21 20 00    : ld   hl,$0020
            FF3F | FD 21 4D C2 : ld   iy,$C24D
            FF43 | CD CE 04    : call $04CE
            FF46 | CD E0 68    : call $68E0
            FF49 | AF          : xor  a
            FF4A | 32 84 CB    : ld   ($CB84),a
            FF4D | C9          : ret
            FF4E | CD 27 6E    : call $6E27        // boss
            FF51 | B7          : or   a
            FF52 | C0          : ret  nz
            FF53 | DD 21 10 E5 : ld   ix,$E510
            FF57 | 06 08       : ld   b,$08
            FF59 | CD 00 FF    : call $FF00
            FF5C | C8          : ret  z
            FF5D | DD 36 06 07 : ld   (ix+$06),$07
            FF61 | AF          : xor  a
            FF62 | C9          : ret
            FF63 | CD 27 6E    : call $6E27        // missile
            FF66 | B7          : or   a
            FF67 | C0          : ret  nz
            FF68 | DD 21 D0 E6 : ld   ix,$E6D0
            FF6C | 06 06       : ld   b,$06
            FF6E | CD 00 FF    : call $FF00
            FF71 | C8          : ret  z
            FF72 | DD 36 06 08 : ld   (ix+$06),$08
            FF76 | 21 40 00    : ld   hl,$0040
            FF79 | FD 21 4D C2 : ld   iy,$C24D
            FF7D | CD CE 04    : call $04CE
            FF80 | C9          : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@6AD5 = 6F18            </action>
            <action>maincpu.mw@6CE2 = 6E27            </action>
            <action>maincpu.mw@6D3F = 6E27            </action>
            <action>maincpu.pq@FF00 = 0000000000000000</action>
            <action>maincpu.pq@FF08 = 0000000000000000</action>
            <action>maincpu.pq@FF10 = 0000000000000000</action>
            <action>maincpu.pq@FF18 = 0000000000000000</action>
            <action>maincpu.pq@FF20 = 0000000000000000</action>
            <action>maincpu.pq@FF28 = 0000000000000000</action>
            <action>maincpu.pq@FF30 = 0000000000000000</action>
            <action>maincpu.pq@FF38 = 0000000000000000</action>
            <action>maincpu.pq@FF40 = 0000000000000000</action>
            <action>maincpu.pq@FF48 = 0000000000000000</action>
            <action>maincpu.pq@FF50 = 0000000000000000</action>
            <action>maincpu.pq@FF58 = 0000000000000000</action>
            <action>maincpu.pq@FF60 = 0000000000000000</action>
            <action>maincpu.pq@FF68 = 0000000000000000</action>
            <action>maincpu.pq@FF70 = 0000000000000000</action>
            <action>maincpu.pq@FF78 = 0000000000000000</action>
            <action>maincpu.pq@FF80 = 0000000000000000</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.mb@00124 = 32              </action> <!-- set bank -->
            <action>maincpu.md@007BC = CB8200CD        </action>
            <action>maincpu.mq@18200 = 47B8E0083AC00021</action>
            <action>maincpu.mq@18208 = FE350120FBFEF928</action>
            <action>maincpu.mq@18210 = 0420FDFE340120F7</action>
            <action>maincpu.mq@18218 = 0520FEFE0618F03E</action>
            <action>maincpu.mq@18220 = 20EFFE787786103E</action>
            <action>maincpu.mq@18228 = 0420DFFE05187E03</action>
            <action>maincpu.mq@18230 = 0000CD18E00C32AF</action>
            <!--
            8200 | 21 00 C0 : ld   hl,$C000  // sound code address
            8203 | 3A 08 E0 : ld   a,($E008) // read input
            8206 | B8       : cp   b
            8207 | 47       : ld   b,a
            8208 | 28 F9    : jr   z,$8203
            820A | FE FB    : cp   $FB
            820C | 20 01    : jr   nz,$820F
            820E | 35       : dec  (hl)      // decrease code -01
            820F | FE F7    : cp   $F7
            8211 | 20 01    : jr   nz,$8214
            8213 | 34       : inc  (hl)      // increase code +01
            8214 | FE FD    : cp   $FD
            8216 | 20 04    : jr   nz,$821C
            8218 | 3E F0    : ld   a,$F0     // decrease code -10
            821A | 18 06    : jr   $8222
            821C | FE FE    : cp   $FE
            821E | 20 05    : jr   nz,$8225
            8220 | 3E 10    : ld   a,$10     // increase code +10
            8222 | 86       : add  a,(hl)
            8223 | 77       : ld   (hl),a
            8224 | 78       : ld   a,b
            8225 | FE EF    : cp   $EF
            8227 | 20 03    : jr   nz,$822C
            8229 | 7E       : ld   a,(hl)    // play sound
            822A | 18 05    : jr   $8231
            822C | FE DF    : cp   $DF
            822E | 20 04    : jr   nz,$8234
            8230 | AF       : xor  a         // stop sound
            8231 | 32 0C E0 : ld   ($E00C),a // send sound code
            8234 | 18 CD    : jr   $8203
            -->
        </script>
        <script state="run">
            <output format="----- 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@00124 = 30              </action>
            <action>maincpu.md@007BC = CBE00B3A        </action>
            <action>maincpu.mq@18200 = 0000000000000000</action>
            <action>maincpu.mq@18208 = 0000000000000000</action>
            <action>maincpu.mq@18210 = 0000000000000000</action>
            <action>maincpu.mq@18218 = 0000000000000000</action>
            <action>maincpu.mq@18220 = 0000000000000000</action>
            <action>maincpu.mq@18228 = 0000000000000000</action>
            <action>maincpu.mq@18230 = 0000000000000000</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="power up">
        <script state="on">
            <action>maincpu.mb@1A1D = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1A1D = 20</action>
        </script>
    </cheat>

    <cheat desc="auto damage">
        <script state="on">
            <action>maincpu.mw@6C95 = FF29</action> <!-- enemy -->
            <action>maincpu.mw@6E9B = FF4E</action> <!-- boss -->
            <action>maincpu.mw@6EF3 = FF63</action> <!-- missile -->
        </script>
        <script state="run">
            <action>maincpu.pq@FF00 = 7EDD1A287E01CBDD</action>
            <action>maincpu.pq@FF08 = 4601CBDD1420B706</action>
            <action>maincpu.pq@FF10 = 38E8FE0728007EDD</action>
            <action>maincpu.pq@FF18 = F938E0FEC9B77807</action>
            <action>maincpu.pq@FF20 = 18D91019DD000811</action>
            <action>maincpu.pq@FF28 = 21DDC0B770C7CDF0</action>
            <action>maincpu.pq@FF30 = C8FF00CD1006E550</action>
            <action>maincpu.pq@FF38 = FD002021010636DD</action>
            <action>maincpu.pq@FF40 = A0CD0540CDC24D21</action>
            <action>maincpu.pq@FF48 = D6CDC9CB8432AF6A</action>
            <action>maincpu.pq@FF50 = 06E51021DDC0B76F</action>
            <action>maincpu.pq@FF58 = 0636DDC8FF00CD08</action>
            <action>maincpu.pq@FF60 = C0B76FD6CDC9AF07</action>
            <action>maincpu.pq@FF68 = 00CD0606E6D021DD</action>
            <action>maincpu.pq@FF70 = 4021080636DDC8FF</action>
            <action>maincpu.pq@FF78 = 0540CDC24D21FD00</action>
            <action>maincpu.pq@FF80 = 00000000000000C9</action>
            <!--
            FF00 | DD CB 01 7E : bit  7,(ix+$01)   // common routine
            FF04 | 28 1A       : jr   z,$FF20
            FF06 | DD 7E 06    : ld   a,(ix+$06)
            FF09 | B7          : or   a
            FF0A | 20 14       : jr   nz,$FF20
            FF0C | DD CB 01 46 : bit  0,(ix+$01)
            FF10 | DD 7E 00    : ld   a,(ix+$00)
            FF13 | 28 07       : jr   z,$FF1C
            FF15 | FE E8       : cp   $E8
            FF17 | 38 07       : jr   c,$FF20
            FF19 | 78          : ld   a,b
            FF1A | B7          : or   a
            FF1B | C9          : ret
            FF1C | FE E0       : cp   $E0
            FF1E | 38 F9       : jr   c,$FF19
            FF20 | 11 08 00    : ld   de,$0008
            FF23 | DD 19       : add  ix,de
            FF25 | 10 D9       : djnz $FF00
            FF27 | 18 F0       : jr   $FF19
            FF29 | CD C7 70    : call $70C7        // enemy
            FF2C | B7          : or   a
            FF2D | C0          : ret  nz
            FF2E | DD 21 50 E5 : ld   ix,$E550
            FF32 | 06 10       : ld   b,$10
            FF34 | CD 00 FF    : call $FF00
            FF37 | C8          : ret  z
            FF38 | DD 36 06 01 : ld   (ix+$06),$01
            FF3C | 21 20 00    : ld   hl,$0020
            FF3F | FD 21 4D C2 : ld   iy,$C24D
            FF43 | CD 40 05    : call $0540
            FF46 | CD A0 6A    : call $6AA0
            FF49 | AF          : xor  a
            FF4A | 32 84 CB    : ld   ($CB84),a
            FF4D | C9          : ret
            FF4E | CD D6 6F    : call $6FD6        // boss
            FF51 | B7          : or   a
            FF52 | C0          : ret  nz
            FF53 | DD 21 10 E5 : ld   ix,$E510
            FF57 | 06 08       : ld   b,$08
            FF59 | CD 00 FF    : call $FF00
            FF5C | C8          : ret  z
            FF5D | DD 36 06 07 : ld   (ix+$06),$07
            FF61 | AF          : xor  a
            FF62 | C9          : ret
            FF63 | CD D6 6F    : call $6FD6        // missile
            FF66 | B7          : or   a
            FF67 | C0          : ret  nz
            FF68 | DD 21 D0 E6 : ld   ix,$E6D0
            FF6C | 06 06       : ld   b,$06
            FF6E | CD 00 FF    : call $FF00
            FF71 | C8          : ret  z
            FF72 | DD 36 06 08 : ld   (ix+$06),$08
            FF76 | 21 40 00    : ld   hl,$0040
            FF79 | FD 21 4D C2 : ld   iy,$C24D
            FF7D | CD 40 05    : call $0540
            FF80 | C9          : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@6C95 = 70C7            </action>
            <action>maincpu.mw@6E9B = 6FD6            </action>
            <action>maincpu.mw@6EF3 = 6FD6            </action>
            <action>maincpu.pq@FF00 = 0000000000000000</action>
            <action>maincpu.pq@FF08 = 0000000000000000</action>
            <action>maincpu.pq@FF10 = 0000000000000000</action>
            <action>maincpu.pq@FF18 = 0000000000000000</action>
            <action>maincpu.pq@FF20 = 0000000000000000</action>
            <action>maincpu.pq@FF28 = 0000000000000000</action>
            <action>maincpu.pq@FF30 = 0000000000000000</action>
            <action>maincpu.pq@FF38 = 0000000000000000</action>
            <action>maincpu.pq@FF40 = 0000000000000000</action>
            <action>maincpu.pq@FF48 = 0000000000000000</action>
            <action>maincpu.pq@FF50 = 0000000000000000</action>
            <action>maincpu.pq@FF58 = 0000000000000000</action>
            <action>maincpu.pq@FF60 = 0000000000000000</action>
            <action>maincpu.pq@FF68 = 0000000000000000</action>
            <action>maincpu.pq@FF70 = 0000000000000000</action>
            <action>maincpu.pq@FF78 = 0000000000000000</action>
            <action>maincpu.pq@FF80 = 0000000000000000</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.mb@001A2 = 32              </action> <!-- set bank -->
            <action>maincpu.md@0098D = CB8200CD        </action>
            <action>maincpu.mq@18200 = 47B8E0083AC00021</action>
            <action>maincpu.mq@18208 = FE350120FBFEF928</action>
            <action>maincpu.mq@18210 = 0420FDFE340120F7</action>
            <action>maincpu.mq@18218 = 0520FEFE0618F03E</action>
            <action>maincpu.mq@18220 = 20EFFE787786103E</action>
            <action>maincpu.mq@18228 = 0420DFFE05187E03</action>
            <action>maincpu.mq@18230 = 0000CD18E00C32AF</action>
            <!--
            8200 | 21 00 C0 : ld   hl,$C000  // sound code address
            8203 | 3A 08 E0 : ld   a,($E008) // read input
            8206 | B8       : cp   b
            8207 | 47       : ld   b,a
            8208 | 28 F9    : jr   z,$8203
            820A | FE FB    : cp   $FB
            820C | 20 01    : jr   nz,$820F
            820E | 35       : dec  (hl)      // decrease code -01
            820F | FE F7    : cp   $F7
            8211 | 20 01    : jr   nz,$8214
            8213 | 34       : inc  (hl)      // increase code +01
            8214 | FE FD    : cp   $FD
            8216 | 20 04    : jr   nz,$821C
            8218 | 3E F0    : ld   a,$F0     // decrease code -10
            821A | 18 06    : jr   $8222
            821C | FE FE    : cp   $FE
            821E | 20 05    : jr   nz,$8225
            8220 | 3E 10    : ld   a,$10     // increase code +10
            8222 | 86       : add  a,(hl)
            8223 | 77       : ld   (hl),a
            8224 | 78       : ld   a,b
            8225 | FE EF    : cp   $EF
            8227 | 20 03    : jr   nz,$822C
            8229 | 7E       : ld   a,(hl)    // play sound
            822A | 18 05    : jr   $8231
            822C | FE DF    : cp   $DF
            822E | 20 04    : jr   nz,$8234
            8230 | AF       : xor  a         // stop sound
            8231 | 32 0C E0 : ld   ($E00C),a // send sound code
            8234 | 18 CD    : jr   $8203
            -->
        </script>
        <script state="run">
            <output format="----- 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@001A2 = 30              </action>
            <action>maincpu.md@0098D = CBE00B3A        </action>
            <action>maincpu.mq@18200 = 0000000000000000</action>
            <action>maincpu.mq@18208 = 0000000000000000</action>
            <action>maincpu.mq@18210 = 0000000000000000</action>
            <action>maincpu.mq@18218 = 0000000000000000</action>
            <action>maincpu.mq@18220 = 0000000000000000</action>
            <action>maincpu.mq@18228 = 0000000000000000</action>
            <action>maincpu.mq@18230 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
  • "power up" : Added new.
  • "auto damage" : Added new. This code destroys an enemy without bullet hit.
  • "sound test mode" : Rewritten routine.