[pengo] Pengo

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
CheatFinder Lance Corporal
CheatFinder Lance Corporal
Posts: 67
Joined: Tue Dec 01, 2020 1:24 pm

[pengo] Pengo

Post by jman »

Code: Select all

<cheat desc="player speed">
	<parameter>
		<item value="0x0a">01</item>
		<item value="0x08">02</item>
		<item value="0x06">03</item>
		<item value="0x04">04</item>
		<item value="0x02">05</item>
	</parameter>
	<script state="on">
		<action>maincpu.od@3dcc = d800befe</action>
		<action>maincpu.md@3dcc = f006005d</action>
	</script>
	<script state="change">
		<action>maincpu.mb@3dcd = param</action>
	</script>
	<script state="off">
		<action>maincpu.od@3dcc = d886bedd</action>
		<action>maincpu.md@3dcc = f006365d</action>
	</script>
</cheat>

<cheat desc="enemy speed">
	<parameter>
		<item value="0xff">01</item>
		<item value="0x80">02</item>
		<item value="0x40">03</item>
		<item value="0x0c">04</item>
		<item value="0x01">05</item>
	</parameter>
	<script state="on">
		<action>maincpu.od@33ae = d800befe</action>
		<action>maincpu.md@33ae = 7006005d</action>
	</script>
	<script state="change">
		<action>maincpu.mb@33af = param</action>
	</script>
	<script state="off">
		<action>maincpu.od@33ae = d806bedd</action>
		<action>maincpu.md@33ae = 7006005d</action>
	</script>
</cheat>

<cheat desc="pushing block speed up">
	<script state="on">
		<action>maincpu.ob@403b = 00</action>
		<action>maincpu.ob@4040 = 18</action>
	</script>
	<script state="off">
		<action>maincpu.ob@403b = c0</action>
		<action>maincpu.ob@4040 = 28</action>
	</script>
</cheat>

<cheat desc="breaking block speed up">
	<script state="on">
		<action>maincpu.ob@4087 = 00</action>
		<action>maincpu.ob@408c = 18</action>
	</script>
	<script state="off">
		<action>maincpu.ob@4087 = c0</action>
		<action>maincpu.ob@408c = 28</action>
	</script>
</cheat>
The effect of "pushing block speed up" and "breaking block speed up" is difficult to understand. Default speed is enough fast so that you will not see any difference. But you can walk quickly after pushing/breaking a block (therefore, dissolve a feeling of slowness)
jman
CheatFinder Lance Corporal
CheatFinder Lance Corporal
Posts: 67
Joined: Tue Dec 01, 2020 1:24 pm

[pengo] sound test mode

Post by jman »

Code: Select all

<cheat desc="sound test mode">
	<comment>reset the game (F3) to enter sound test mode</comment>
	<script state="on">
		<action>maincpu.mw@04a7 =             7a90</action>
		<action>maincpu.oq@7a90 = 77ff32ff7732773e</action>
		<action>maincpu.mq@7a90 = 8819ff8cbbff06ff</action>
		<action>maincpu.oq@7a98 = 773a77ff22ff7721</action>
		<action>maincpu.mq@7a98 = c0ff8900ff0000ff</action>
		<action>maincpu.oq@7aa0 = 20fffeff286fbdff</action>
		<action>maincpu.mq@7aa0 = fffbfff6ffffff90</action>
		<action>maincpu.oq@7aa8 = fe24772077fe25ff</action>
		<action>maincpu.mq@7aa8 = ffff01fff7ffff01</action>
		<action>maincpu.oq@7ab0 = feff18ff06ff20ff</action>
		<action>maincpu.mq@7ab0 = ff0aff06ff04fffe</action>
		<action>maincpu.oq@7ab8 = 773077fe7cff20ff</action>
		<action>maincpu.mq@7ab8 = 08ff11ffff0bff7f</action>
		<action>maincpu.oq@7ac0 = 7718e1ff77cde544</action>
		<action>maincpu.mq@7ac0 = 09ffff1889ffffff</action>
		<action>maincpu.oq@7ac8 = 77327cff7732773e</action>
		<action>maincpu.mq@7ac8 = 81ffff8c80ff01ff</action>
		<action>maincpu.oq@7ad0 = 77ff77ff77ff18ff</action>
		<action>maincpu.mq@7ad0 = ffffffffffc8ff8c</action>
		<!--
		04a6 | cd 17 31 : call $7a90
		7a90 | 3e 06    : ld   a,$06
		7a92 | 32 bb 8c : ld   ($8cbb),a
		7a95 | 32 19 88 : ld   ($8819),a
		7a98 | 21 00 00 : ld   hl,$0000   // initialize sound and input values
		7a9b | 22 00 89 : ld   ($8900),hl
		7a9e | 3a c0 90 : ld   a,($90c0)  // read input
		7aa1 | bd       : cp   l
		7aa2 | 6f       : ld   l,a
		7aa3 | 28 f6    : jr   z,$7a9b
		7aa5 | fe fb    : cp   $fb
		7aa7 | 20 01    : jr   nz,$7aaa
		7aa9 | 25       : dec  h         // pressed left - code decrement
		7aaa | fe f7    : cp   $f7
		7aac | 20 01    : jr   nz,$7aaf
		7aae | 24       : inc  h         // pressed right - code increment
		7aaf | fe fe    : cp   $fe
		7ab1 | 20 04    : jr   nz,$7ab7
		7ab3 | 06 06    : ld   b,$06     // pressed up - stop sound
		7ab5 | 18 0a    : jr   $7ac1
		7ab7 | fe 7f    : cp   $7f
		7ab9 | 20 0b    : jr   nz,$7ac6
		7abb | 7c       : ld   a,h
		7abc | fe 11    : cp   $11
		7abe | 30 08    : jr   nc,$7ac8
		7ac0 | 44       : ld   b,h       // pressed button 1 - play sound
		7ac1 | e5       : push hl
		7ac2 | cd 89 18 : call $1889     // send sound code
		7ac5 | e1       : pop  hl
		7ac6 | 18 09    : jr   $7ad1
		7ac8 | 3e 01    : ld   a,$01     // in case of sfx, direct set sound code
		7aca | 32 80 8c : ld   ($8c80),a
		7acd | 7c       : ld   a,h
		7ace | 32 81 8c : ld   ($8c81),a
		7ad1 | 18 c8    : jr   $7a9b
		-->
	</script>
	<script state="run">
		<output format="----- pengo sound test mode -----"  line="10" align="center" />
		<output format="left : code decrement"              line="11" align="center" />
		<output format="right : code increment"             line="12" align="center" />
		<output format="button 1 : play sound"              line="13" align="center" />
		<output format="up : 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@8901</argument>
		</output>
	</script>
	<script state="off">
		<action>maincpu.mw@04a7 =             2b10</action>
		<action>maincpu.oq@7a90 = 77ff77ff77ff77ff</action>
		<action>maincpu.mq@7a90 = ffffffffffffffff</action>
		<action>maincpu.oq@7a98 = 77ff77ff77ff77ff</action>
		<action>maincpu.mq@7a98 = ffffffffffffffff</action>
		<action>maincpu.oq@7aa0 = 77ff77ff77ff77ff</action>
		<action>maincpu.mq@7aa0 = ffffffffffffffff</action>
		<action>maincpu.oq@7aa8 = 77ff77ff77ff77ff</action>
		<action>maincpu.mq@7aa8 = ffffffffffffffff</action>
		<action>maincpu.oq@7ab0 = 77ff77ff77ff77ff</action>
		<action>maincpu.mq@7ab0 = ffffffffffffffff</action>
		<action>maincpu.oq@7ab8 = 77ff77ff77ff77ff</action>
		<action>maincpu.mq@7ab8 = ffffffffffffffff</action>
		<action>maincpu.oq@7ac0 = 77ff77ff77ff77ff</action>
		<action>maincpu.mq@7ac0 = ffffffffffffffff</action>
		<action>maincpu.oq@7ac8 = 77ff77ff77ff77ff</action>
		<action>maincpu.mq@7ac8 = ffffffffffffffff</action>
		<action>maincpu.oq@7ad0 = 77ff77ff77ff77ff</action>
		<action>maincpu.mq@7ad0 = ffffffffffffffff</action>
	</script>
</cheat>
"sound test mode" fixes main theme music tempo for current "sound test" in the database.
Post Reply