[slapfigh] Alcon/Slap Fight

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: 843
Joined: Tue Dec 01, 2020 1:24 pm

[slapfigh] Alcon/Slap Fight

Post by jman »

First of all, this game has in-game rom check. The following codes cause game crash unless you set "skip rom check".

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@6962 = 18</action>
    </script>
    <script state="off">
        <action>maincpu.mb@6962 = 30</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@237a = 00</action> <!-- main shot -->
        <action>maincpu.mb@239f = 00</action> <!-- side shot -->
    </script>
    <script state="off">
        <action>maincpu.mb@237a = 28</action>
        <action>maincpu.mb@239f = 28</action>
    </script>
</cheat>

<cheat desc="open hidden characters">
    <script state="on">
        <action>maincpu.mb@4d38 = 00</action>
        <action>maincpu.mb@4d47 = 18</action>
    </script>
    <script state="off">
        <action>maincpu.mb@4d38 = 1a</action>
        <action>maincpu.mb@4d47 = 20</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set rom check skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@5763 = 47b8c8073ac10021</action>
        <action>maincpu.mq@576b = fe35012008fef928</action>
        <action>maincpu.mq@5773 = 032020fe34012002</action>
        <action>maincpu.mq@577b = 3e052010fe06187e</action>
        <action>maincpu.mq@5783 = cdffdd18c80032fe</action>
        <!--
        5763 | 21 00 c1 : ld  hl,$c100  // sound code address
        5766 | 3a 07 c8 : ld  a,($c807) // read input
        5769 | b8       : cp  b
        576a | 47       : ld  b,a
        576b | 28 f9    : jr  z,$5766
        576d | fe 08    : cp  $08
        576f | 20 01    : jr  nz,$5772
        5771 | 35       : dec (hl)      // decrease code
        5772 | fe 02    : cp  $02
        5774 | 20 01    : jr  nz,$5777
        5776 | 34       : inc (hl)      // increase code
        5777 | fe 20    : cp  $20
        5779 | 20 03    : jr  nz,$577e
        577b | 7e       : ld  a,(hl)    // play sound
        577c | 18 06    : jr  $5784
        577e | fe 10    : cp  $10
        5780 | 20 05    : jr  nz,$5787
        5782 | 3e fe    : ld  a,$fe     // stop sound
        5784 | 32 00 c8 : ld  ($c800),a // send sound code
        5787 | 18 dd    : jr  $5766
        -->
    </script>
    <script state="run">
        <output format="----- slap fight sound test mode -----" line="10" align="center" />
        <output format="left : decrease code"                   line="11" align="center" />
        <output format="right : increase code"                  line="12" align="center" />
        <output format="button 1 : play sound"                  line="13" align="center" />
        <output format="button 2 : stop sound"                  line="14" align="center" />
        <output format="----------------------------"           line="15" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"     line="17" align="center">
            <argument>maincpu.pb@c100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@5763 = d881211e2301b03e</action>
        <action>maincpu.mq@576b = 0b066a072108a8cd</action>
        <action>maincpu.mq@5773 = a9cce507fe78c5e5</action>
        <action>maincpu.mq@577b = 11e1c10989cde157</action>
        <action>maincpu.mq@5783 = cdff3eeb10190005</action>
    </script>
</cheat>

<cheat desc="skip rom check">
    <script state="on">
        <action>maincpu.mw@570a = 3018</action> <!-- boot -->
        <action>maincpu.mb@15ae =   c9</action> <!-- ingame -->
        <action>maincpu.mb@1a92 =   c9</action> <!-- ingame -->
        <action>maincpu.mb@1ccf =   c9</action> <!-- ingame -->
        <action>maincpu.mb@205e =   c9</action> <!-- ingame -->
    </script>
    <script state="off">
        <action>maincpu.mw@570a = 0306</action>
        <action>maincpu.mb@15ae =   2a</action>
        <action>maincpu.mb@1a92 =   2a</action>
        <action>maincpu.mb@1ccf =   2a</action>
        <action>maincpu.mb@205e =   2a</action>
    </script>
</cheat>
"open hidden characters" finds leaf and monolith. It's doesn't find invader and helper though.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[slapfigh] Alcon/Slap Fight (update)

Post by jman »

Code: Select all

<cheat desc="player speed">
    <parameter>
        <item value="0x0010">01 (slow)</item>
        <item value="0x0080">02       </item>
        <item value="0x0200">03       </item>
        <item value="0x0300">04       </item>
        <item value="0x0400">05 (fast)</item>
    </parameter>
    <script state="change">
        <!-- level 1 -->
        <action>maincpu.mw@02a1 = param</action>
        <action>maincpu.mw@02b1 = param</action>
        <action>maincpu.mw@02b3 = param</action>
        <!-- level 2 -->
        <action>maincpu.mw@0321 = param</action>
        <action>maincpu.mw@0331 = param</action>
        <action>maincpu.mw@0333 = param</action>
        <!-- level 3 -->
        <action>maincpu.mw@03a1 = param</action>
        <action>maincpu.mw@03b1 = param</action>
        <action>maincpu.mw@03b3 = param</action>
        <!-- level 4 -->
        <action>maincpu.mw@0421 = param</action>
        <action>maincpu.mw@0431 = param</action>
        <action>maincpu.mw@0433 = param</action>
        <!-- level 5 -->
        <action>maincpu.mw@04a1 = param</action>
        <action>maincpu.mw@04b1 = param</action>
        <action>maincpu.mw@04b3 = param</action>
        <!-- level 6 -->
        <action>maincpu.mw@0521 = param</action>
        <action>maincpu.mw@0531 = param</action>
        <action>maincpu.mw@0533 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mw@02a1 = 009a</action>
        <action>maincpu.mw@02b1 = 006a</action>
        <action>maincpu.mw@02b3 = 006a</action>
        <action>maincpu.mw@0321 = 0100</action>
        <action>maincpu.mw@0331 = 00b0</action>
        <action>maincpu.mw@0333 = 00b0</action>
        <action>maincpu.mw@03a1 = 0166</action>
        <action>maincpu.mw@03b1 = 00f6</action>
        <action>maincpu.mw@03b3 = 00f6</action>
        <action>maincpu.mw@0421 = 01cd</action>
        <action>maincpu.mw@0431 = 013d</action>
        <action>maincpu.mw@0433 = 013d</action>
        <action>maincpu.mw@04a1 = 0234</action>
        <action>maincpu.mw@04b1 = 0184</action>
        <action>maincpu.mw@04b3 = 0184</action>
        <action>maincpu.mw@0521 = 029a</action>
        <action>maincpu.mw@0531 = 01ca</action>
        <action>maincpu.mw@0533 = 01ca</action>
    </script>
</cheat>
"player speed" : add new.

Code: Select all

<cheat desc="short hit mark">
    <script state="on">
        <action>maincpu.mb@326e = 18</action>
    </script>
    <script state="off">
        <action>maincpu.mb@326e = 30</action>
    </script>
</cheat>
"short hit mark" : add new.

Code: Select all

<cheat desc="sound test mode">
    <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@5763 = 47b8c8073ac10021</action>
        <action>maincpu.mq@576b = fe35012008fef928</action>
        <action>maincpu.mq@5773 = 042004fe34012002</action>
        <action>maincpu.mq@577b = 052001fe0618f03e</action>
        <action>maincpu.mq@5783 = 2020fe787786103e</action>
        <action>maincpu.mq@578b = 052010fe06187e03</action>
        <action>maincpu.mq@5793 = f4cc18c80032fe3e</action>
        <!--
        5763 | 21 00 c1 : ld   hl,$C100  // sound code address
        5766 | 3a 07 c8 : ld   a,($C807) // read input
        5769 | b8       : cp   b
        576a | 47       : ld   b,a
        576b | 28 f9    : jr   z,$5766
        576d | fe 08    : cp   $08
        576f | 20 01    : jr   nz,$5772
        5771 | 35       : dec  (hl)      // decrease code -01
        5772 | fe 02    : cp   $02
        5774 | 20 01    : jr   nz,$5777
        5776 | 34       : inc  (hl)      // increase code +01
        5777 | fe 04    : cp   $04
        5779 | 20 04    : jr   nz,$577F
        577b | 3e f0    : ld   a,$F0     // decrease code -10
        577d | 18 06    : jr   $5785
        577f | fe 01    : cp   $01
        5781 | 20 05    : jr   nz,$5788
        5783 | 3e 10    : ld   a,$10     // increase code +10
        5785 | 86       : add  a,(hl)
        5786 | 77       : ld   (hl),a
        5787 | 78       : ld   a,b
        5788 | fe 20    : cp   $20
        578a | 20 03    : jr   nz,$578F
        578c | 7e       : ld   a,(hl)    // play sound
        578d | 18 06    : jr   $5795
        578f | fe 10    : cp   $10
        5791 | 20 05    : jr   nz,$5798
        5793 | 3e fe    : ld   a,$FE     // stop sound
        5795 | 32 00 c8 : ld   ($C800),a // send sound code
        5798 | 18 cc    : jr   $5766
        -->
    </script>
    <script state="run">
        <output format="----- slap fight 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@c100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@5763 = d881211e2301b03e</action>
        <action>maincpu.mq@576b = 0b066a072108a8cd</action>
        <action>maincpu.mq@5773 = a9cce507fe78c5e5</action>
        <action>maincpu.mq@577b = 11e1c10989cde157</action>
        <action>maincpu.mq@5783 = cdff3eeb10190005</action>
        <action>maincpu.mq@578b = 144dc30804cd0804</action>
        <action>maincpu.mq@5793 = f4922190b8cb033e</action>
    </script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10).
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[alcon]+ Alcon/Slap Fight

Post by jman »

First of all, this game has in-game ROM check. Many ROM codes cause the game crash/freeze. Set "skip rom check" then don't turn OFF.

alcon.xml

Code: Select all

<!-- Alcon (US) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@6962 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@6962 = 30</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@237A = 00</action> <!-- main shot -->
            <action>maincpu.mb@239F = 00</action> <!-- side shot -->
        </script>
        <script state="off">
            <action>maincpu.mb@237A = 28</action>
            <action>maincpu.mb@239F = 28</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0300">04       </item>
            <item value="0x0400">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- level 1 -->
            <action>maincpu.mw@02A1 = param</action>
            <action>maincpu.mw@02B1 = param</action>
            <action>maincpu.mw@02B3 = param</action>
            <!-- level 2 -->
            <action>maincpu.mw@0321 = param</action>
            <action>maincpu.mw@0331 = param</action>
            <action>maincpu.mw@0333 = param</action>
            <!-- level 3 -->
            <action>maincpu.mw@03A1 = param</action>
            <action>maincpu.mw@03B1 = param</action>
            <action>maincpu.mw@03B3 = param</action>
            <!-- level 4 -->
            <action>maincpu.mw@0421 = param</action>
            <action>maincpu.mw@0431 = param</action>
            <action>maincpu.mw@0433 = param</action>
            <!-- level 5 -->
            <action>maincpu.mw@04A1 = param</action>
            <action>maincpu.mw@04B1 = param</action>
            <action>maincpu.mw@04B3 = param</action>
            <!-- level 6 -->
            <action>maincpu.mw@0521 = param</action>
            <action>maincpu.mw@0531 = param</action>
            <action>maincpu.mw@0533 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@02A1 = 009A</action>
            <action>maincpu.mw@02B1 = 006A</action>
            <action>maincpu.mw@02B3 = 006A</action>
            <action>maincpu.mw@0321 = 0100</action>
            <action>maincpu.mw@0331 = 00B0</action>
            <action>maincpu.mw@0333 = 00B0</action>
            <action>maincpu.mw@03A1 = 0166</action>
            <action>maincpu.mw@03B1 = 00F6</action>
            <action>maincpu.mw@03B3 = 00F6</action>
            <action>maincpu.mw@0421 = 01CD</action>
            <action>maincpu.mw@0431 = 013D</action>
            <action>maincpu.mw@0433 = 013D</action>
            <action>maincpu.mw@04A1 = 0234</action>
            <action>maincpu.mw@04B1 = 0184</action>
            <action>maincpu.mw@04B3 = 0184</action>
            <action>maincpu.mw@0521 = 029A</action>
            <action>maincpu.mw@0531 = 01CA</action>
            <action>maincpu.mw@0533 = 01CA</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@326E = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@326E = 30</action>
        </script>
    </cheat>

    <cheat desc="hidden characters finder">
        <comment>monolith and leaf only</comment>
        <script state="on">
            <action>maincpu.mb@4D38 = 00</action>
            <action>maincpu.mb@4D47 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4D38 = 1A</action>
            <action>maincpu.mb@4D47 = 20</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@5763 = 47B8C8073AC00021</action>
            <action>maincpu.mq@576B = FE35012008FEF928</action>
            <action>maincpu.mq@5773 = 042004FE34012002</action>
            <action>maincpu.mq@577B = 052001FE0618F03E</action>
            <action>maincpu.mq@5783 = 2020FE787786103E</action>
            <action>maincpu.mq@578B = 052010FE06187E03</action>
            <action>maincpu.mq@5793 = 00CC18C80032FE3E</action>
            <!--
            5763 | 21 00 C1 : ld   hl,$C000  // sound code address
            5766 | 3A 07 C8 : ld   a,($C807) // read input
            5769 | B8       : cp   b
            576A | 47       : ld   b,a
            576B | 28 F9    : jr   z,$5766
            576D | FE 08    : cp   $08
            576F | 20 01    : jr   nz,$5772
            5771 | 35       : dec  (hl)      // decrease code -01
            5772 | FE 02    : cp   $02
            5774 | 20 01    : jr   nz,$5777
            5776 | 34       : inc  (hl)      // increase code +01
            5777 | FE 04    : cp   $04
            5779 | 20 04    : jr   nz,$577F
            577B | 3E F0    : ld   a,$F0     // decrease code -10
            577D | 18 06    : jr   $5785
            577F | FE 01    : cp   $01
            5781 | 20 05    : jr   nz,$5788
            5783 | 3E 10    : ld   a,$10     // increase code +10
            5785 | 86       : add  a,(hl)
            5786 | 77       : ld   (hl),a
            5787 | 78       : ld   a,b
            5788 | FE 20    : cp   $20
            578A | 20 03    : jr   nz,$578F
            578C | 7E       : ld   a,(hl)    // play sound
            578D | 18 06    : jr   $5795
            578F | FE 10    : cp   $10
            5791 | 20 05    : jr   nz,$5798
            5793 | 3E FE    : ld   a,$FE     // stop sound
            5795 | 32 00 C8 : ld   ($C800),a // send sound code
            5798 | 18 CC    : jr   $5766
            -->
        </script>
        <script state="run">
            <output format="----- alcon 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.mq@5763 = 1E2301B03E144DC3</action>
            <action>maincpu.mq@576B = 072108A8CDD88121</action>
            <action>maincpu.mq@5773 = 07FE78C5E50B066A</action>
            <action>maincpu.mq@577B = 0989CDE157A9CCE5</action>
            <action>maincpu.mq@5783 = EB1019000511E1C1</action>
            <action>maincpu.mq@578B = 0804CD0804CDFF3E</action>
            <action>maincpu.mq@5793 = F4922190B8CB033E</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action> maincpu.mw@570A = 3018</action> <!-- boot -->
            <action> maincpu.mb@15AE = C9  </action> <!-- ingame -->
            <action> maincpu.mb@1A92 = C9  </action> <!-- ingame -->
            <action> maincpu.mb@1CCF = C9  </action> <!-- ingame -->
            <action> maincpu.mb@205E = C9  </action> <!-- ingame -->
            <action>audiocpu.mw@0006 = 025F</action> <!-- boot -->
        </script>
        <script state="off">
            <action> maincpu.mw@570A = 0306</action>
            <action> maincpu.mb@15AE = 2A  </action>
            <action> maincpu.mb@1A92 = 2A  </action>
            <action> maincpu.mb@1CCF = 2A  </action>
            <action> maincpu.mb@205E = 2A  </action>
            <action>audiocpu.mw@0006 = 1C37</action>
        </script>
    </cheat>

</mamecheat>
slapfigh.xml

Code: Select all

<!-- Slap Fight (A77 set, 8606M PCB) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@6962 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@6962 = 30</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@237A = 00</action> <!-- main shot -->
            <action>maincpu.mb@239F = 00</action> <!-- side shot -->
        </script>
        <script state="off">
            <action>maincpu.mb@237A = 28</action>
            <action>maincpu.mb@239F = 28</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0300">04       </item>
            <item value="0x0400">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- level 1 -->
            <action>maincpu.mw@02A1 = param</action>
            <action>maincpu.mw@02B1 = param</action>
            <action>maincpu.mw@02B3 = param</action>
            <!-- level 2 -->
            <action>maincpu.mw@0321 = param</action>
            <action>maincpu.mw@0331 = param</action>
            <action>maincpu.mw@0333 = param</action>
            <!-- level 3 -->
            <action>maincpu.mw@03A1 = param</action>
            <action>maincpu.mw@03B1 = param</action>
            <action>maincpu.mw@03B3 = param</action>
            <!-- level 4 -->
            <action>maincpu.mw@0421 = param</action>
            <action>maincpu.mw@0431 = param</action>
            <action>maincpu.mw@0433 = param</action>
            <!-- level 5 -->
            <action>maincpu.mw@04A1 = param</action>
            <action>maincpu.mw@04B1 = param</action>
            <action>maincpu.mw@04B3 = param</action>
            <!-- level 6 -->
            <action>maincpu.mw@0521 = param</action>
            <action>maincpu.mw@0531 = param</action>
            <action>maincpu.mw@0533 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@02A1 = 009A</action>
            <action>maincpu.mw@02B1 = 006A</action>
            <action>maincpu.mw@02B3 = 006A</action>
            <action>maincpu.mw@0321 = 0100</action>
            <action>maincpu.mw@0331 = 00B0</action>
            <action>maincpu.mw@0333 = 00B0</action>
            <action>maincpu.mw@03A1 = 0166</action>
            <action>maincpu.mw@03B1 = 00F6</action>
            <action>maincpu.mw@03B3 = 00F6</action>
            <action>maincpu.mw@0421 = 01CD</action>
            <action>maincpu.mw@0431 = 013D</action>
            <action>maincpu.mw@0433 = 013D</action>
            <action>maincpu.mw@04A1 = 0234</action>
            <action>maincpu.mw@04B1 = 0184</action>
            <action>maincpu.mw@04B3 = 0184</action>
            <action>maincpu.mw@0521 = 029A</action>
            <action>maincpu.mw@0531 = 01CA</action>
            <action>maincpu.mw@0533 = 01CA</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@326E = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@326E = 30</action>
        </script>
    </cheat>

    <cheat desc="hidden characters finder">
        <comment>monolith and leaf only</comment>
        <script state="on">
            <action>maincpu.mb@4D38 = 00</action>
            <action>maincpu.mb@4D47 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4D38 = 1A</action>
            <action>maincpu.mb@4D47 = 20</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@5763 = 47B8C8073AC00021</action>
            <action>maincpu.mq@576B = FE35012008FEF928</action>
            <action>maincpu.mq@5773 = 042004FE34012002</action>
            <action>maincpu.mq@577B = 052001FE0618F03E</action>
            <action>maincpu.mq@5783 = 2020FE787786103E</action>
            <action>maincpu.mq@578B = 052010FE06187E03</action>
            <action>maincpu.mq@5793 = 00CC18C80032FE3E</action>
            <!--
            5763 | 21 00 C1 : ld   hl,$C000  // sound code address
            5766 | 3A 07 C8 : ld   a,($C807) // read input
            5769 | B8       : cp   b
            576A | 47       : ld   b,a
            576B | 28 F9    : jr   z,$5766
            576D | FE 08    : cp   $08
            576F | 20 01    : jr   nz,$5772
            5771 | 35       : dec  (hl)      // decrease code -01
            5772 | FE 02    : cp   $02
            5774 | 20 01    : jr   nz,$5777
            5776 | 34       : inc  (hl)      // increase code +01
            5777 | FE 04    : cp   $04
            5779 | 20 04    : jr   nz,$577F
            577B | 3E F0    : ld   a,$F0     // decrease code -10
            577D | 18 06    : jr   $5785
            577F | FE 01    : cp   $01
            5781 | 20 05    : jr   nz,$5788
            5783 | 3E 10    : ld   a,$10     // increase code +10
            5785 | 86       : add  a,(hl)
            5786 | 77       : ld   (hl),a
            5787 | 78       : ld   a,b
            5788 | FE 20    : cp   $20
            578A | 20 03    : jr   nz,$578F
            578C | 7E       : ld   a,(hl)    // play sound
            578D | 18 06    : jr   $5795
            578F | FE 10    : cp   $10
            5791 | 20 05    : jr   nz,$5798
            5793 | 3E FE    : ld   a,$FE     // stop sound
            5795 | 32 00 C8 : ld   ($C800),a // send sound code
            5798 | 18 CC    : jr   $5766
            -->
        </script>
        <script state="run">
            <output format="----- slap fight 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.mq@5763 = D881211E2301B03E</action>
            <action>maincpu.mq@576B = 0B066A072108A8CD</action>
            <action>maincpu.mq@5773 = A9CCE507FE78C5E5</action>
            <action>maincpu.mq@577B = 11E1C10989CDE157</action>
            <action>maincpu.mq@5783 = CDFF3EEB10190005</action>
            <action>maincpu.mq@578B = 144DC30804CD0804</action>
            <action>maincpu.mq@5793 = F4922190B8CB033E</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action> maincpu.mw@570A = 3018</action> <!-- boot -->
            <action> maincpu.mb@15AE = C9  </action> <!-- ingame -->
            <action> maincpu.mb@1A92 = C9  </action> <!-- ingame -->
            <action> maincpu.mb@1CCF = C9  </action> <!-- ingame -->
            <action> maincpu.mb@205E = C9  </action> <!-- ingame -->
            <action>audiocpu.mw@0006 = 025F</action> <!-- boot -->
        </script>
        <script state="off">
            <action> maincpu.mw@570A = 0306</action>
            <action> maincpu.mb@15AE = 2A  </action>
            <action> maincpu.mb@1A92 = 2A  </action>
            <action> maincpu.mb@1CCF = 2A  </action>
            <action> maincpu.mb@205E = 2A  </action>
            <action>audiocpu.mw@0006 = 1C37</action>
        </script>
    </cheat>

</mamecheat>
slapfigha.xml

Code: Select all

<!-- Slap Fight (A76 set, GX-006-A PCB) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@6962 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@6962 = 30</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@2333 = 00</action> <!-- main shot -->
            <action>maincpu.mb@2360 = 00</action> <!-- side shot -->
        </script>
        <script state="off">
            <action>maincpu.mb@237A = 28</action>
            <action>maincpu.mb@239F = 28</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0300">04       </item>
            <item value="0x0400">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- level 1 -->
            <action>maincpu.mw@02A1 = param</action>
            <action>maincpu.mw@02B1 = param</action>
            <action>maincpu.mw@02B3 = param</action>
            <!-- level 2 -->
            <action>maincpu.mw@0321 = param</action>
            <action>maincpu.mw@0331 = param</action>
            <action>maincpu.mw@0333 = param</action>
            <!-- level 3 -->
            <action>maincpu.mw@03A1 = param</action>
            <action>maincpu.mw@03B1 = param</action>
            <action>maincpu.mw@03B3 = param</action>
            <!-- level 4 -->
            <action>maincpu.mw@0421 = param</action>
            <action>maincpu.mw@0431 = param</action>
            <action>maincpu.mw@0433 = param</action>
            <!-- level 5 -->
            <action>maincpu.mw@04A1 = param</action>
            <action>maincpu.mw@04B1 = param</action>
            <action>maincpu.mw@04B3 = param</action>
            <!-- level 6 -->
            <action>maincpu.mw@0521 = param</action>
            <action>maincpu.mw@0531 = param</action>
            <action>maincpu.mw@0533 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@02A1 = 009A</action>
            <action>maincpu.mw@02B1 = 006A</action>
            <action>maincpu.mw@02B3 = 006A</action>
            <action>maincpu.mw@0321 = 0100</action>
            <action>maincpu.mw@0331 = 00B0</action>
            <action>maincpu.mw@0333 = 00B0</action>
            <action>maincpu.mw@03A1 = 0166</action>
            <action>maincpu.mw@03B1 = 00F6</action>
            <action>maincpu.mw@03B3 = 00F6</action>
            <action>maincpu.mw@0421 = 01CD</action>
            <action>maincpu.mw@0431 = 013D</action>
            <action>maincpu.mw@0433 = 013D</action>
            <action>maincpu.mw@04A1 = 0234</action>
            <action>maincpu.mw@04B1 = 0184</action>
            <action>maincpu.mw@04B3 = 0184</action>
            <action>maincpu.mw@0521 = 029A</action>
            <action>maincpu.mw@0531 = 01CA</action>
            <action>maincpu.mw@0533 = 01CA</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@3267 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3267 = 30</action>
        </script>
    </cheat>

    <cheat desc="hidden characters finder">
        <comment>monolith and leaf only</comment>
        <script state="on">
            <action>maincpu.mb@4D31 = 00</action>
            <action>maincpu.mb@4D40 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4D31 = 1A</action>
            <action>maincpu.mb@4D40 = 20</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@575C = 47B8C8073AC00021</action>
            <action>maincpu.mq@5764 = FE35012008FEF928</action>
            <action>maincpu.mq@576C = 042004FE34012002</action>
            <action>maincpu.mq@5774 = 052001FE0618F03E</action>
            <action>maincpu.mq@577C = 2020FE787786103E</action>
            <action>maincpu.mq@5784 = 052010FE06187E03</action>
            <action>maincpu.mq@578C = 00CC18C80032FE3E</action>
            <!--
            575C | 21 00 C1 : ld   hl,$C000  // sound code address
            575F | 3A 07 C8 : ld   a,($C807) // read input
            5762 | B8       : cp   b
            5763 | 47       : ld   b,a
            5764 | 28 F9    : jr   z,$575F
            5766 | FE 08    : cp   $08
            5768 | 20 01    : jr   nz,$576B
            576A | 35       : dec  (hl)      // decrease code -01
            576B | FE 02    : cp   $02
            576D | 20 01    : jr   nz,$5770
            576F | 34       : inc  (hl)      // increase code +01
            5770 | FE 04    : cp   $04
            5772 | 20 04    : jr   nz,$5778
            5774 | 3E F0    : ld   a,$F0     // decrease code -10
            5776 | 18 06    : jr   $577E
            5778 | FE 01    : cp   $01
            577A | 20 05    : jr   nz,$5781
            577C | 3E 10    : ld   a,$10     // increase code +10
            577E | 86       : add  a,(hl)
            577F | 77       : ld   (hl),a
            5780 | 78       : ld   a,b
            5781 | FE 20    : cp   $20
            5783 | 20 03    : jr   nz,$5788
            5785 | 7E       : ld   a,(hl)    // play sound
            5786 | 18 06    : jr   $578E
            5788 | FE 10    : cp   $10
            578A | 20 05    : jr   nz,$5791
            578C | 3E FE    : ld   a,$FE     // stop sound
            578E | 32 00 C8 : ld   ($C800),a // send sound code
            5791 | 18 CC    : jr   $575F
            -->
        </script>
        <script state="run">
            <output format="----- slap fight 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.mq@575C = D881211E2301B03E</action>
            <action>maincpu.mq@5764 = 0B066A072108A8CD</action>
            <action>maincpu.mq@576C = A5CCE507FE78C5E5</action>
            <action>maincpu.mq@5774 = 11E1C10989CDE157</action>
            <action>maincpu.mq@577C = CDFF3EEB10190005</action>
            <action>maincpu.mq@5784 = 0ADCCD0804CD0804</action>
            <action>maincpu.mq@578C = 90B8CB033E140EC3</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action> maincpu.mw@5703 = 3018</action> <!-- boot -->
            <action> maincpu.mb@156F = C9  </action> <!-- ingame -->
            <action> maincpu.mb@1A53 = C9  </action> <!-- ingame -->
            <action> maincpu.mb@1C90 = C9  </action> <!-- ingame -->
            <action> maincpu.mb@201F = C9  </action> <!-- ingame -->
            <action>audiocpu.mw@0006 = 025F</action> <!-- boot -->
        </script>
        <script state="off">
            <action> maincpu.mw@5703 = 0306</action>
            <action> maincpu.mb@156F = 2A  </action>
            <action> maincpu.mb@1A53 = 2A  </action>
            <action> maincpu.mb@1C90 = 2A  </action>
            <action> maincpu.mb@201F = 2A  </action>
            <action>audiocpu.mw@0006 = 1C37</action>
        </script>
    </cheat>

</mamecheat>
slapfighb1.xml

Code: Select all

<!-- Slap Fight (bootleg set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@6962 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@6962 = 30</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@237A = 00</action> <!-- main shot -->
            <action>maincpu.mb@239F = 00</action> <!-- side shot -->
        </script>
        <script state="off">
            <action>maincpu.mb@237A = 28</action>
            <action>maincpu.mb@239F = 28</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0300">04       </item>
            <item value="0x0400">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- level 1 -->
            <action>maincpu.mw@02A1 = param</action>
            <action>maincpu.mw@02B1 = param</action>
            <action>maincpu.mw@02B3 = param</action>
            <!-- level 2 -->
            <action>maincpu.mw@0321 = param</action>
            <action>maincpu.mw@0331 = param</action>
            <action>maincpu.mw@0333 = param</action>
            <!-- level 3 -->
            <action>maincpu.mw@03A1 = param</action>
            <action>maincpu.mw@03B1 = param</action>
            <action>maincpu.mw@03B3 = param</action>
            <!-- level 4 -->
            <action>maincpu.mw@0421 = param</action>
            <action>maincpu.mw@0431 = param</action>
            <action>maincpu.mw@0433 = param</action>
            <!-- level 5 -->
            <action>maincpu.mw@04A1 = param</action>
            <action>maincpu.mw@04B1 = param</action>
            <action>maincpu.mw@04B3 = param</action>
            <!-- level 6 -->
            <action>maincpu.mw@0521 = param</action>
            <action>maincpu.mw@0531 = param</action>
            <action>maincpu.mw@0533 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@02A1 = 009A</action>
            <action>maincpu.mw@02B1 = 006A</action>
            <action>maincpu.mw@02B3 = 006A</action>
            <action>maincpu.mw@0321 = 0100</action>
            <action>maincpu.mw@0331 = 00B0</action>
            <action>maincpu.mw@0333 = 00B0</action>
            <action>maincpu.mw@03A1 = 0166</action>
            <action>maincpu.mw@03B1 = 00F6</action>
            <action>maincpu.mw@03B3 = 00F6</action>
            <action>maincpu.mw@0421 = 01CD</action>
            <action>maincpu.mw@0431 = 013D</action>
            <action>maincpu.mw@0433 = 013D</action>
            <action>maincpu.mw@04A1 = 0234</action>
            <action>maincpu.mw@04B1 = 0184</action>
            <action>maincpu.mw@04B3 = 0184</action>
            <action>maincpu.mw@0521 = 029A</action>
            <action>maincpu.mw@0531 = 01CA</action>
            <action>maincpu.mw@0533 = 01CA</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@326E = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@326E = 30</action>
        </script>
    </cheat>

    <cheat desc="hidden characters finder">
        <comment>monolith and leaf only</comment>
        <script state="on">
            <action>maincpu.mb@4D38 = 00</action>
            <action>maincpu.mb@4D47 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4D38 = 1A</action>
            <action>maincpu.mb@4D47 = 20</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@5763 = 47B8C8073AC00021</action>
            <action>maincpu.mq@576B = FE35012008FEF928</action>
            <action>maincpu.mq@5773 = 042004FE34012002</action>
            <action>maincpu.mq@577B = 052001FE0618F03E</action>
            <action>maincpu.mq@5783 = 2020FE787786103E</action>
            <action>maincpu.mq@578B = 052010FE06187E03</action>
            <action>maincpu.mq@5793 = 00CC18C80032FE3E</action>
            <!--
            5763 | 21 00 C1 : ld   hl,$C000  // sound code address
            5766 | 3A 07 C8 : ld   a,($C807) // read input
            5769 | B8       : cp   b
            576A | 47       : ld   b,a
            576B | 28 F9    : jr   z,$5766
            576D | FE 08    : cp   $08
            576F | 20 01    : jr   nz,$5772
            5771 | 35       : dec  (hl)      // decrease code -01
            5772 | FE 02    : cp   $02
            5774 | 20 01    : jr   nz,$5777
            5776 | 34       : inc  (hl)      // increase code +01
            5777 | FE 04    : cp   $04
            5779 | 20 04    : jr   nz,$577F
            577B | 3E F0    : ld   a,$F0     // decrease code -10
            577D | 18 06    : jr   $5785
            577F | FE 01    : cp   $01
            5781 | 20 05    : jr   nz,$5788
            5783 | 3E 10    : ld   a,$10     // increase code +10
            5785 | 86       : add  a,(hl)
            5786 | 77       : ld   (hl),a
            5787 | 78       : ld   a,b
            5788 | FE 20    : cp   $20
            578A | 20 03    : jr   nz,$578F
            578C | 7E       : ld   a,(hl)    // play sound
            578D | 18 06    : jr   $5795
            578F | FE 10    : cp   $10
            5791 | 20 05    : jr   nz,$5798
            5793 | 3E FE    : ld   a,$FE     // stop sound
            5795 | 32 00 C8 : ld   ($C800),a // send sound code
            5798 | 18 CC    : jr   $5766
            -->
        </script>
        <script state="run">
            <output format="----- slap fight 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.mq@5763 = D881211E2301B03E</action>
            <action>maincpu.mq@576B = 0B066A072108A8CD</action>
            <action>maincpu.mq@5773 = A9CCE507FE78C5E5</action>
            <action>maincpu.mq@577B = 11E1C10989CDE157</action>
            <action>maincpu.mq@5783 = CDFF3EEB10190005</action>
            <action>maincpu.mq@578B = 144DC30804CD0804</action>
            <action>maincpu.mq@5793 = F4922190B8CB033E</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action> maincpu.mw@570A = 3018</action> <!-- boot -->
            <action> maincpu.mb@15AE = C9  </action> <!-- ingame -->
            <action> maincpu.mb@1A92 = C9  </action> <!-- ingame -->
            <action> maincpu.mb@1CCF = C9  </action> <!-- ingame -->
            <action> maincpu.mb@205E = C9  </action> <!-- ingame -->
            <action>audiocpu.mw@0006 = 025F</action> <!-- boot -->
        </script>
        <script state="off">
            <action> maincpu.mw@570A = 0306</action>
            <action> maincpu.mb@15AE = 2A  </action>
            <action> maincpu.mb@1A92 = 2A  </action>
            <action> maincpu.mb@1CCF = 2A  </action>
            <action> maincpu.mb@205E = 2A  </action>
            <action>audiocpu.mw@0006 = 1C37</action>
        </script>
    </cheat>

</mamecheat>
slapfighb2.xml

Code: Select all

<!-- Slap Fight (bootleg set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@6962 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@6962 = 30</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@237A = 00</action> <!-- main shot -->
            <action>maincpu.mb@239F = 00</action> <!-- side shot -->
        </script>
        <script state="off">
            <action>maincpu.mb@237A = 28</action>
            <action>maincpu.mb@239F = 28</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0300">04       </item>
            <item value="0x0400">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- level 1 -->
            <action>maincpu.mw@02A1 = param</action>
            <action>maincpu.mw@02B1 = param</action>
            <action>maincpu.mw@02B3 = param</action>
            <!-- level 2 -->
            <action>maincpu.mw@0321 = param</action>
            <action>maincpu.mw@0331 = param</action>
            <action>maincpu.mw@0333 = param</action>
            <!-- level 3 -->
            <action>maincpu.mw@03A1 = param</action>
            <action>maincpu.mw@03B1 = param</action>
            <action>maincpu.mw@03B3 = param</action>
            <!-- level 4 -->
            <action>maincpu.mw@0421 = param</action>
            <action>maincpu.mw@0431 = param</action>
            <action>maincpu.mw@0433 = param</action>
            <!-- level 5 -->
            <action>maincpu.mw@04A1 = param</action>
            <action>maincpu.mw@04B1 = param</action>
            <action>maincpu.mw@04B3 = param</action>
            <!-- level 6 -->
            <action>maincpu.mw@0521 = param</action>
            <action>maincpu.mw@0531 = param</action>
            <action>maincpu.mw@0533 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@02A1 = 009A</action>
            <action>maincpu.mw@02B1 = 006A</action>
            <action>maincpu.mw@02B3 = 006A</action>
            <action>maincpu.mw@0321 = 0100</action>
            <action>maincpu.mw@0331 = 00B0</action>
            <action>maincpu.mw@0333 = 00B0</action>
            <action>maincpu.mw@03A1 = 0166</action>
            <action>maincpu.mw@03B1 = 00F6</action>
            <action>maincpu.mw@03B3 = 00F6</action>
            <action>maincpu.mw@0421 = 01CD</action>
            <action>maincpu.mw@0431 = 013D</action>
            <action>maincpu.mw@0433 = 013D</action>
            <action>maincpu.mw@04A1 = 0234</action>
            <action>maincpu.mw@04B1 = 0184</action>
            <action>maincpu.mw@04B3 = 0184</action>
            <action>maincpu.mw@0521 = 029A</action>
            <action>maincpu.mw@0531 = 01CA</action>
            <action>maincpu.mw@0533 = 01CA</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@326E = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@326E = 30</action>
        </script>
    </cheat>

    <cheat desc="hidden characters finder">
        <comment>monolith and leaf only</comment>
        <script state="on">
            <action>maincpu.mb@4D38 = 00</action>
            <action>maincpu.mb@4D47 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4D38 = 1A</action>
            <action>maincpu.mb@4D47 = 20</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@5763 = 47B8C8073AC00021</action>
            <action>maincpu.mq@576B = FE35012008FEF928</action>
            <action>maincpu.mq@5773 = 042004FE34012002</action>
            <action>maincpu.mq@577B = 052001FE0618F03E</action>
            <action>maincpu.mq@5783 = 2020FE787786103E</action>
            <action>maincpu.mq@578B = 052010FE06187E03</action>
            <action>maincpu.mq@5793 = 00CC18C80032FE3E</action>
            <!--
            5763 | 21 00 C1 : ld   hl,$C000  // sound code address
            5766 | 3A 07 C8 : ld   a,($C807) // read input
            5769 | B8       : cp   b
            576A | 47       : ld   b,a
            576B | 28 F9    : jr   z,$5766
            576D | FE 08    : cp   $08
            576F | 20 01    : jr   nz,$5772
            5771 | 35       : dec  (hl)      // decrease code -01
            5772 | FE 02    : cp   $02
            5774 | 20 01    : jr   nz,$5777
            5776 | 34       : inc  (hl)      // increase code +01
            5777 | FE 04    : cp   $04
            5779 | 20 04    : jr   nz,$577F
            577B | 3E F0    : ld   a,$F0     // decrease code -10
            577D | 18 06    : jr   $5785
            577F | FE 01    : cp   $01
            5781 | 20 05    : jr   nz,$5788
            5783 | 3E 10    : ld   a,$10     // increase code +10
            5785 | 86       : add  a,(hl)
            5786 | 77       : ld   (hl),a
            5787 | 78       : ld   a,b
            5788 | FE 20    : cp   $20
            578A | 20 03    : jr   nz,$578F
            578C | 7E       : ld   a,(hl)    // play sound
            578D | 18 06    : jr   $5795
            578F | FE 10    : cp   $10
            5791 | 20 05    : jr   nz,$5798
            5793 | 3E FE    : ld   a,$FE     // stop sound
            5795 | 32 00 C8 : ld   ($C800),a // send sound code
            5798 | 18 CC    : jr   $5766
            -->
        </script>
        <script state="run">
            <output format="----- slap fight 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.mq@5763 = D881211E2301B03E</action>
            <action>maincpu.mq@576B = 0B066A072108A8CD</action>
            <action>maincpu.mq@5773 = A9CCE507FE78C5E5</action>
            <action>maincpu.mq@577B = 11E1C10989CDE157</action>
            <action>maincpu.mq@5783 = CDFF3EEB10190005</action>
            <action>maincpu.mq@578B = 144DC30804CD0804</action>
            <action>maincpu.mq@5793 = F4922190B8CB033E</action>
        </script>
    </cheat>

    <cheat desc="skip in-game rom check">
        <script state="on">
            <action>maincpu.mb@15AE = C9</action> <!-- ingame -->
            <action>maincpu.mb@1A92 = C9</action> <!-- ingame -->
            <action>maincpu.mb@1CCF = C9</action> <!-- ingame -->
            <action>maincpu.mb@205E = C9</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@15AE = 2A</action>
            <action>maincpu.mb@1A92 = 2A</action>
            <action>maincpu.mb@1CCF = 2A</action>
            <action>maincpu.mb@205E = 2A</action>
        </script>
    </cheat>

</mamecheat>
slapfighb3.xml

Code: Select all

<!-- Slap Fight (bootleg set 3) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@6962 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@6962 = 30</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@237A = 00</action> <!-- main shot -->
            <action>maincpu.mb@239F = 00</action> <!-- side shot -->
        </script>
        <script state="off">
            <action>maincpu.mb@237A = 28</action>
            <action>maincpu.mb@239F = 28</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0300">04       </item>
            <item value="0x0400">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- level 1 -->
            <action>maincpu.mw@02A1 = param</action>
            <action>maincpu.mw@02B1 = param</action>
            <action>maincpu.mw@02B3 = param</action>
            <!-- level 2 -->
            <action>maincpu.mw@0321 = param</action>
            <action>maincpu.mw@0331 = param</action>
            <action>maincpu.mw@0333 = param</action>
            <!-- level 3 -->
            <action>maincpu.mw@03A1 = param</action>
            <action>maincpu.mw@03B1 = param</action>
            <action>maincpu.mw@03B3 = param</action>
            <!-- level 4 -->
            <action>maincpu.mw@0421 = param</action>
            <action>maincpu.mw@0431 = param</action>
            <action>maincpu.mw@0433 = param</action>
            <!-- level 5 -->
            <action>maincpu.mw@04A1 = param</action>
            <action>maincpu.mw@04B1 = param</action>
            <action>maincpu.mw@04B3 = param</action>
            <!-- level 6 -->
            <action>maincpu.mw@0521 = param</action>
            <action>maincpu.mw@0531 = param</action>
            <action>maincpu.mw@0533 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@02A1 = 009A</action>
            <action>maincpu.mw@02B1 = 006A</action>
            <action>maincpu.mw@02B3 = 006A</action>
            <action>maincpu.mw@0321 = 0100</action>
            <action>maincpu.mw@0331 = 00B0</action>
            <action>maincpu.mw@0333 = 00B0</action>
            <action>maincpu.mw@03A1 = 0166</action>
            <action>maincpu.mw@03B1 = 00F6</action>
            <action>maincpu.mw@03B3 = 00F6</action>
            <action>maincpu.mw@0421 = 01CD</action>
            <action>maincpu.mw@0431 = 013D</action>
            <action>maincpu.mw@0433 = 013D</action>
            <action>maincpu.mw@04A1 = 0234</action>
            <action>maincpu.mw@04B1 = 0184</action>
            <action>maincpu.mw@04B3 = 0184</action>
            <action>maincpu.mw@0521 = 029A</action>
            <action>maincpu.mw@0531 = 01CA</action>
            <action>maincpu.mw@0533 = 01CA</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@326E = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@326E = 30</action>
        </script>
    </cheat>

    <cheat desc="hidden characters finder">
        <comment>monolith and leaf only</comment>
        <script state="on">
            <action>maincpu.mb@4D38 = 00</action>
            <action>maincpu.mb@4D47 = 18</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4D38 = 1A</action>
            <action>maincpu.mb@4D47 = 20</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@5763 = 47B8C8073AC00021</action>
            <action>maincpu.mq@576B = FE35012008FEF928</action>
            <action>maincpu.mq@5773 = 042004FE34012002</action>
            <action>maincpu.mq@577B = 052001FE0618F03E</action>
            <action>maincpu.mq@5783 = 2020FE787786103E</action>
            <action>maincpu.mq@578B = 052010FE06187E03</action>
            <action>maincpu.mq@5793 = 00CC18C80032FE3E</action>
            <!--
            5763 | 21 00 C1 : ld   hl,$C000  // sound code address
            5766 | 3A 07 C8 : ld   a,($C807) // read input
            5769 | B8       : cp   b
            576A | 47       : ld   b,a
            576B | 28 F9    : jr   z,$5766
            576D | FE 08    : cp   $08
            576F | 20 01    : jr   nz,$5772
            5771 | 35       : dec  (hl)      // decrease code -01
            5772 | FE 02    : cp   $02
            5774 | 20 01    : jr   nz,$5777
            5776 | 34       : inc  (hl)      // increase code +01
            5777 | FE 04    : cp   $04
            5779 | 20 04    : jr   nz,$577F
            577B | 3E F0    : ld   a,$F0     // decrease code -10
            577D | 18 06    : jr   $5785
            577F | FE 01    : cp   $01
            5781 | 20 05    : jr   nz,$5788
            5783 | 3E 10    : ld   a,$10     // increase code +10
            5785 | 86       : add  a,(hl)
            5786 | 77       : ld   (hl),a
            5787 | 78       : ld   a,b
            5788 | FE 20    : cp   $20
            578A | 20 03    : jr   nz,$578F
            578C | 7E       : ld   a,(hl)    // play sound
            578D | 18 06    : jr   $5795
            578F | FE 10    : cp   $10
            5791 | 20 05    : jr   nz,$5798
            5793 | 3E FE    : ld   a,$FE     // stop sound
            5795 | 32 00 C8 : ld   ($C800),a // send sound code
            5798 | 18 CC    : jr   $5766
            -->
        </script>
        <script state="run">
            <output format="----- slap fight 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.mq@5763 = D881211E2301B03E</action>
            <action>maincpu.mq@576B = 0B066A072108A8CD</action>
            <action>maincpu.mq@5773 = A9CCE507FE78C5E5</action>
            <action>maincpu.mq@577B = 11E1C10989CDE157</action>
            <action>maincpu.mq@5783 = CDFF3EEB10190005</action>
            <action>maincpu.mq@578B = 144DC30804CD0804</action>
            <action>maincpu.mq@5793 = F4922190B8CB033E</action>
        </script>
    </cheat>

    <cheat desc="skip in-game rom check">
        <script state="on">
            <action>maincpu.mb@15AE = C9</action> <!-- ingame -->
            <action>maincpu.mb@1A92 = C9</action> <!-- ingame -->
            <action>maincpu.mb@1CCF = C9</action> <!-- ingame -->
            <action>maincpu.mb@205E = C9</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@15AE = 2A</action>
            <action>maincpu.mb@1A92 = 2A</action>
            <action>maincpu.mb@1CCF = 2A</action>
            <action>maincpu.mb@205E = 2A</action>
        </script>
    </cheat>

</mamecheat>
slapfighb2 and slapfighb3 don't have boot ROM check so that removed correspond code from "skip rom check".
Post Reply