[pkunwar]+ Penguin-Kun Wars

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: 1296
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[pkunwar]+ Penguin-Kun Wars

Post by jman »

pkunwar.xml

Code: Select all

<!-- Penguin-Kun Wars (US) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@5227 = 5330</action>
        </script>
        <script state="off">
            <action>maincpu.mw@5227 = 52AB</action>
        </script>
    </cheat>

    <cheat desc="balls rebound">
        <script state="on">
            <action>maincpu.mw@3EC7 = EE60            </action>
            <action>maincpu.mq@EE60 = DD0620C4FE7CDDF5</action>
            <action>maincpu.mq@EE68 = 0E7EDD182840FE7D</action>
            <action>maincpu.mq@EE70 = FE0C7EDD471228A7</action>
            <action>maincpu.mq@EE78 = 05207FCB780A38D0</action>
            <action>maincpu.mq@EE80 = D7CDF10E77DD44ED</action>
            <action>maincpu.mq@EE88 = FFFFFFFFFFFFC93E</action>
            <!--
            EE60 | F5       : push af
            EE61 | DD 7C    : ld   a,ixh      // check player or not
            EE63 | FE C4    : cp   $C4
            EE65 | 20 06    : jr   nz,$EE6D
            EE67 | DD 7D    : ld   a,ixl
            EE69 | FE 40    : cp   $40
            EE6B | 28 18    : jr   z,$EE85
            EE6D | DD 7E 0E : ld   a,(ix+$0e) // check speed
            EE70 | A7       : and  a
            EE71 | 28 12    : jr   z,$EE85
            EE73 | 47       : ld   b,a
            EE74 | DD 7E 0C : ld   a,(ix+$0c) // check y position
            EE77 | FE D0    : cp   $D0
            EE79 | 38 0A    : jr   c,$EE85
            EE7B | 78       : ld   a,b
            EE7C | CB 7F    : bit  7,a
            EE7E | 20 05    : jr   nz,$EE85
            EE80 | ED 44    : neg
            EE82 | DD 77 0E : ld   (ix+$0e),a
            EE85 | F1       : pop  af
            EE86 | CD D7 3E : call $3ED7
            EE89 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@3EC7 = 3ED7            </action>
            <action>maincpu.mq@EE60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EE68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EE70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EE78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EE80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EE88 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7F">01 (slow)</item>
            <item value="0x3F">02       </item>
            <item value="0x1F">03       </item>
            <item value="0x0F">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@5F03 = 0F200000E6C1463A</action>
        </script>
        <script state="change">
            <action>maincpu.mb@5F07 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@5F03 = 0F28052BCDC3473A</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@1112 = CD1121C3</action> <!-- rom -->
            <action>maincpu.md@113C = 1111D0C3</action> <!-- ram -->
        </script>
        <script state="off">
            <action>maincpu.md@1112 = CD1246CD</action>
            <action>maincpu.md@113C = 11000021</action>
        </script>
    </cheat>

</mamecheat>
pkunwarj.xml

Code: Select all

<!-- Penguin-Kun Wars (Japan, set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@526A = 5373</action>
        </script>
        <script state="off">
            <action>maincpu.mw@526A = 52EE</action>
        </script>
    </cheat>

    <cheat desc="balls rebound">
        <script state="on">
            <action>maincpu.mw@3F0A = EE60            </action>
            <action>maincpu.mq@EE60 = DD0620C4FE7CDDF5</action>
            <action>maincpu.mq@EE68 = 0E7EDD182840FE7D</action>
            <action>maincpu.mq@EE70 = FE0C7EDD471228A7</action>
            <action>maincpu.mq@EE78 = 05207FCB780A38D0</action>
            <action>maincpu.mq@EE80 = 1ACDF10E77DD44ED</action>
            <action>maincpu.mq@EE88 = FFFFFFFFFFFFC93F</action>
            <!--
            EE60 | F5       : push af
            EE61 | DD 7C    : ld   a,ixh      // check player or not
            EE63 | FE C4    : cp   $C4
            EE65 | 20 06    : jr   nz,$EE6D
            EE67 | DD 7D    : ld   a,ixl
            EE69 | FE 40    : cp   $40
            EE6B | 28 18    : jr   z,$EE85
            EE6D | DD 7E 0E : ld   a,(ix+$0e) // check speed
            EE70 | A7       : and  a
            EE71 | 28 12    : jr   z,$EE85
            EE73 | 47       : ld   b,a
            EE74 | DD 7E 0C : ld   a,(ix+$0c) // check y position
            EE77 | FE D0    : cp   $D0
            EE79 | 38 0A    : jr   c,$EE85
            EE7B | 78       : ld   a,b
            EE7C | CB 7F    : bit  7,a
            EE7E | 20 05    : jr   nz,$EE85
            EE80 | ED 44    : neg
            EE82 | DD 77 0E : ld   (ix+$0e),a
            EE85 | F1       : pop  af
            EE86 | CD 1A 3F : call $3F1A
            EE89 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@3F0A = 3F1A            </action>
            <action>maincpu.mq@EE60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EE68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EE70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EE78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EE80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EE88 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7F">01 (slow)</item>
            <item value="0x3F">02       </item>
            <item value="0x1F">03       </item>
            <item value="0x0F">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@5F46 = 0F200000E6C1463A</action>
        </script>
        <script state="change">
            <action>maincpu.mb@5F4A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@5F46 = 0F28052BCDC3473A</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@10F3 = CD1102C3</action> <!-- rom -->
            <action>maincpu.md@111D = 1111B1C3</action> <!-- ram -->
        </script>
        <script state="off">
            <action>maincpu.md@10F3 = CD1227CD</action>
            <action>maincpu.md@111D = 11000021</action>
        </script>
    </cheat>

</mamecheat>
pkunwarja.xml

Code: Select all

<!-- Penguin-Kun Wars (Japan, set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@526D = 5376</action>
        </script>
        <script state="off">
            <action>maincpu.mw@526D = 52F1</action>
        </script>
    </cheat>

    <cheat desc="balls rebound">
        <script state="on">
            <action>maincpu.mw@3F0D = EE60            </action>
            <action>maincpu.mq@EE60 = DD0620C4FE7CDDF5</action>
            <action>maincpu.mq@EE68 = 0E7EDD182840FE7D</action>
            <action>maincpu.mq@EE70 = FE0C7EDD471228A7</action>
            <action>maincpu.mq@EE78 = 05207FCB780A38D0</action>
            <action>maincpu.mq@EE80 = 1DCDF10E77DD44ED</action>
            <action>maincpu.mq@EE88 = FFFFFFFFFFFFC93F</action>
            <!--
            EE60 | F5       : push af
            EE61 | DD 7C    : ld   a,ixh      // check player or not
            EE63 | FE C4    : cp   $C4
            EE65 | 20 06    : jr   nz,$EE6D
            EE67 | DD 7D    : ld   a,ixl
            EE69 | FE 40    : cp   $40
            EE6B | 28 18    : jr   z,$EE85
            EE6D | DD 7E 0E : ld   a,(ix+$0e) // check speed
            EE70 | A7       : and  a
            EE71 | 28 12    : jr   z,$EE85
            EE73 | 47       : ld   b,a
            EE74 | DD 7E 0C : ld   a,(ix+$0c) // check y position
            EE77 | FE D0    : cp   $D0
            EE79 | 38 0A    : jr   c,$EE85
            EE7B | 78       : ld   a,b
            EE7C | CB 7F    : bit  7,a
            EE7E | 20 05    : jr   nz,$EE85
            EE80 | ED 44    : neg
            EE82 | DD 77 0E : ld   (ix+$0e),a
            EE85 | F1       : pop  af
            EE86 | CD 1D 3F : call $3F1D
            EE89 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@3F0D = 3F1D            </action>
            <action>maincpu.mq@EE60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EE68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EE70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EE78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EE80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EE88 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7F">01 (slow)</item>
            <item value="0x3F">02       </item>
            <item value="0x1F">03       </item>
            <item value="0x0F">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@5F49 = 0F200000E6C1463A</action>
        </script>
        <script state="change">
            <action>maincpu.mb@5F4D = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@5F49 = 0F28052BCDC3473A</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@1112 = CD1121C3</action> <!-- rom -->
            <action>maincpu.md@113C = 1111D0C3</action> <!-- ram -->
        </script>
        <script state="off">
            <action>maincpu.md@1112 = CD1246CD</action>
            <action>maincpu.md@113C = 11000021</action>
        </script>
    </cheat>

</mamecheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Post Reply