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>
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>
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>