Page 1 of 1

[slapfigh] Alcon/Slap Fight

Posted: Sat Oct 30, 2021 10:54 am
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.

[slapfigh] Alcon/Slap Fight (update)

Posted: Sat Nov 05, 2022 8:04 am
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).

[alcon]+ Alcon/Slap Fight

Posted: Fri Feb 23, 2024 2:46 pm
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".