Code: Select all
<cheat desc="walk through wall">
<script state="on">
<action>maincpu.ob@3e33 = c9</action>
</script>
<script state="off">
<action>maincpu.ob@3e33 = c8</action>
</script>
</cheat>
"walk through wall" : add new.
Code: Select all
<cheat desc="pushing block speed up">
<script state="on">
<action>maincpu.mb@402b = 46</action>
</script>
<script state="off">
<action>maincpu.mb@402b = 37</action>
</script>
</cheat>
"pushing block speed up" : rewrite routine.
Code: Select all
<cheat desc="breaking block speed up">
<script state="on">
<action>maincpu.ob@4075 = c3</action>
<action>maincpu.mw@4076 = 7af0</action>
<action>maincpu.oq@7af0 = cdff20fffee57ce1</action>
<action>maincpu.mq@7af0 = ff04ff0affffffff</action>
<action>maincpu.oq@7af8 = 77c977ffcdc977ff</action>
<action>maincpu.mq@7af8 = ffff4082ffff4092</action>
<!--
7af0 | e1 : pop hl
7af1 | 7c : ld a,h
7af2 | e5 : push hl
7af3 | fe ff : cp $0A // check intermission
7af5 | 20 ff : jr nz,$7AFB
7af7 | cd ff 77 : call $4092
7afa | c9 : ret
7afb | cd ff 77 : call $4082
7afe | c9 : ret
-->
</script>
<script state="off">
<action>maincpu.ob@4075 = cd</action>
<action>maincpu.mw@4076 = 4082</action>
<action>maincpu.oq@7af0 = 77ff77ff77ff77ff</action>
<action>maincpu.mq@7af0 = ffffffffffffffff</action>
<action>maincpu.oq@7af8 = 77ff77ff77ff77ff</action>
<action>maincpu.mq@7af8 = ffffffffffffffff</action>
</script>
</cheat>
"breaking block speed up": rewrite routine. no speed up in intermission.
Code: Select all
<cheat desc="sound test mode (test)">
<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 = e62f77ff3aff7721</action>
<action>maincpu.mq@7a98 = ffff9080ff8900ff</action>
<action>maincpu.oq@7aa0 = 77e62fff773a5fff</action>
<action>maincpu.mq@7aa0 = 8fffff90c0ffff20</action>
<action>maincpu.oq@7aa8 = 20fffeff2857bab3</action>
<action>maincpu.mq@7aa8 = ff04ffebffffffff</action>
<action>maincpu.oq@7ab0 = fe34772077fe35ff</action>
<action>maincpu.mq@7ab0 = ffff01ff08ffff01</action>
<action>maincpu.oq@7ab8 = fe7718773e772077</action>
<action>maincpu.mq@7ab8 = ff06fff0ff04ff02</action>
<action>maincpu.oq@7ac0 = 7a7786773e772077</action>
<action>maincpu.mq@7ac0 = ffffff10ff05ff01</action>
<action>maincpu.oq@7ac8 = feff187e772077fe</action>
<action>maincpu.mq@7ac8 = ff06ffff03ff80ff</action>
<action>maincpu.oq@7ad0 = 47fffeff3eff20ff</action>
<action>maincpu.mq@7ad0 = ff11ff06ff0fff20</action>
<action>maincpu.oq@7ad8 = cdff18ff77cd7730</action>
<action>maincpu.mq@7ad8 = ff03ff1889ff05ff</action>
<action>maincpu.oq@7ae0 = 77ff77ff771877ff</action>
<action>maincpu.mq@7ae0 = ffffffffb4ff189c</action>
<!--
7a90 | 3e 06 : ld a,$06
7a92 | 32 bb 8c : ld ($8CBB),a
7a95 | 32 19 88 : ld ($8819),a
7a98 | 21 00 89 : ld hl,$8900 // sound code address
7a9b | 3a 50 90 : ld a,($9080) // read start button
7a9e | 2f : cpl
7a9f | e6 20 : and $20
7aa1 | 5f : ld e,a
7aa2 | 3a c0 90 : ld a,($90C0) // read other inputs
7aa5 | 2f : cpl
7aa6 | e6 8f : and $8F
7aa8 | b3 : or e
7aa9 | ba : cp d
7aaa | 57 : ld d,a
7aab | 28 eb : jr z,$7A98
7aad | fe 04 : cp $04
7aaf | 20 01 : jr nz,$7AB2
7ab1 | 35 : dec (hl) // decrease code -01
7ab2 | fe 08 : cp $08
7ab4 | 20 01 : jr nz,$7AB7
7ab6 | 34 : inc (hl) // increase code +01
7ab7 | fe 02 : cp $02
7ab9 | 20 04 : jr nz,$7ABF
7abb | 3e f0 : ld a,$F0 // decrease code -10
7abd | 18 06 : jr $7AC5
7abf | fe 01 : cp $01
7ac1 | 20 05 : jr nz,$7AC8
7ac3 | 3e 10 : ld a,$10 // increase code +10
7ac5 | 86 : add a,(hl)
7ac6 | 77 : ld (hl),a
7ac7 | 7a : ld a,d
7ac8 | fe 80 : cp $80
7aca | 20 03 : jr nz,$7ACF
7acc | 7e : ld a,(hl) // play sound
7acd | 18 06 : jr $7AD5
7acf | fe 20 : cp $20
7ad1 | 20 0f : jr nz,$7AE2
7ad3 | 3e 06 : ld a,$06 // stop sound
7ad5 | fe 11 : cp $11
7ad7 | 47 : ld b,a
7ad8 | 30 05 : jr nc,$7ADF
7ada | cd 89 18 : call $1889 // code 0x00-0x10
7add | 18 03 : jr $7AE2
7adf | cd 9c 18 : call $189C // code 0x11-
7ae2 | 18 b4 : jr $7A98
-->
</script>
<script state="run">
<output format="----- pengo 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="start : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@8900</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>
<action>maincpu.oq@7ad8 = 77ff77ff77ff77ff</action>
<action>maincpu.mq@7ad8 = ffffffffffffffff</action>
<action>maincpu.oq@7ae0 = 77ff77ff77ff77ff</action>
<action>maincpu.mq@7ae0 = ffffffffffffffff</action>
</script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10). change sound stop button from up to start. But you can't stop some musics (code 0x00 - 0x05).