Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@4cf5 = 18</action> <!-- enemy -->
<action>maincpu.mb@41a7 = 18</action> <!-- bomb -->
<action>maincpu.mb@3db6 = c9</action> <!-- water -->
</script>
<script state="off">
<action>maincpu.mb@4cf5 = 20</action>
<action>maincpu.mb@41a7 = 30</action>
<action>maincpu.mb@3db6 = d0</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>maincpu.md@1a93 = 117d90cd</action>
<action>maincpu.mq@7d90 = 1b3825fe57007edd</action>
<action>maincpu.mq@7d98 = 7ce1022a17302cfe</action>
<action>maincpu.mq@7da0 = 0f06380f7d103007</action>
<action>maincpu.mq@7da8 = c9213ec9203e0638</action>
<action>maincpu.mq@7db0 = ffffffc97ac9223e</action>
<!--
7d90 | dd 7e 00 : ld a,(ix+$00)
7d93 | 57 : ld d,a
7d94 | fe 25 : cp $25
7d96 | 38 1b : jr c,$7db3
7d98 | fe 2c : cp $2c
7d9a | 30 17 : jr nc,$7db3
7d9c | 2a 02 e1 : ld hl,($e102)
7d9f | 7c : ld a,h
7da0 | 07 : rlca
7da1 | 30 10 : jr nc,$7db3
7da3 | 7d : ld a,l
7da4 | 0f : rrca
7da5 | 38 06 : jr c,$7dad
7da7 | 0f : rrca
7da8 | 38 06 : jr c,$7db0
7daa | 3e 20 : ld a,$20
7dac | c9 : ret
7dad | 3e 21 : ld a,$21
7daf | c9 : ret
7db0 | 3e 22 : ld a,$22
7db2 | c9 : ret
7db3 | 7a : ld a,d
7db4 | c9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@1a93 = 11007edd</action>
<action>maincpu.mq@7d90 = ffffffffffffffff</action>
<action>maincpu.mq@7d98 = ffffffffffffffff</action>
<action>maincpu.mq@7da0 = ffffffffffffffff</action>
<action>maincpu.mq@7da8 = ffffffffffffffff</action>
<action>maincpu.mq@7db0 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="energy speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x00">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@1228 = 003e0028</action> <!-- player start -->
<action>maincpu.md@12d2 = 003e0028</action> <!-- common -->
</script>
<script state="change">
<action>maincpu.mb@122b = param</action>
<action>maincpu.mb@12d5 = param</action>
</script>
<script state="off">
<action>maincpu.md@1228 = 7e2c0128</action>
<action>maincpu.md@12d2 = 7e2c0128</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@0f3a = 00</action> <!-- enable input check -->
<action>maincpu.mw@04a2 = 7dc0</action>
<action>maincpu.mq@7dc0 = 22d57dc311000021</action>
<action>maincpu.mq@7dc8 = c86fbde1023ae200</action>
<action>maincpu.mq@7dd0 = 2001fe25012002fe</action>
<action>maincpu.mq@7dd8 = 187c032020fe2401</action>
<action>maincpu.mq@7de0 = 6fd0cdafc080fe04</action>
<action>maincpu.mq@7de8 = ffffffffffffffc9</action>
<!--
7DC0 | 21 00 00 : ld hl,$0000 // initialize sound and input values
7DC3 | 11 C3 7D : ld de,$7DC3
7DC6 | D5 : push de
7DC7 | 22 00 E2 : ld ($E200),hl
7DCA | 3A 02 E1 : ld a,($E102) // read input
7DCD | BD : cp l
7DCE | 6F : ld l,a
7DCF | C8 : ret z
7DD0 | FE 02 : cp $02
7DD2 | 20 01 : jr nz,$7DD5
7DD4 | 25 : dec h // decrease code
7DD5 | FE 01 : cp $01
7DD7 | 20 01 : jr nz,$7DDA
7DD9 | 24 : inc h // increase code
7DDA | FE 20 : cp $20
7DDC | 20 03 : jr nz,$7DE1
7DDE | 7C : ld a,h // play sound
7DDF | 18 04 : jr $7DE5
7DE1 | FE 80 : cp $80
7DE3 | C0 : ret nz
7DE4 | AF : xor a // stop sound
7DE5 | CD D0 6F : call $6FD0
7DE8 | C9 : ret
-->
</script>
<script state="run">
<output format="----- spelunker 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="<< sound code %2.2X >>" line="17" align="center">
<argument>maincpu.pb@e201</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@0f3a = c8</action>
<action>maincpu.mw@04a2 = 5c32</action>
<action>maincpu.mq@7dc0 = ffffffffffffffff</action>
<action>maincpu.mq@7dc8 = ffffffffffffffff</action>
<action>maincpu.mq@7dd0 = ffffffffffffffff</action>
<action>maincpu.mq@7dd8 = ffffffffffffffff</action>
<action>maincpu.mq@7de0 = ffffffffffffffff</action>
<action>maincpu.mq@7de8 = ffffffffffffffff</action>
</script>
</cheat>
Code: Select all
<cheat desc="disable knock back">
<script state="on">
<action>maincpu.mb@21bd = 20</action> <!-- fall down -->
<action>maincpu.mb@2358 = 25</action> <!-- hit a wall -->
</script>
<script state="off">
<action>maincpu.mb@21bd = 27</action>
<action>maincpu.mb@2358 = 2c</action>
</script>
</cheat>