Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@25cc = c9</action> <!-- enemy (body) -->
<action>maincpu.mb@3206 = 18</action> <!-- bullet -->
<action>maincpu.mb@38a3 = 18</action> <!-- enemy (flame) -->
<action>maincpu.mb@3945 = 18</action> <!-- fire -->
<action>maincpu.mb@3aca = c9</action> <!-- skull in bonus stage -->
</script>
<script state="off">
<action>maincpu.mb@25cc = 06</action>
<action>maincpu.mb@3206 = 38</action>
<action>maincpu.mb@38a3 = 38</action>
<action>maincpu.mb@3945 = 38</action>
<action>maincpu.mb@3aca = 32</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@2837 = 0c</action>
</script>
<script state="off">
<action>maincpu.mb@2837 = 3a</action>
</script>
</cheat>
<cheat desc="walk speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="change">
<action>maincpu.mb@265b = -param</action> <!-- left -->
<action>maincpu.mb@2664 = param</action> <!-- right -->
</script>
<script state="off">
<action>maincpu.mb@265b = ff</action>
<action>maincpu.mb@2664 = 01</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="change">
<action>maincpu.mb@29a3 = param</action> <!-- right -->
<action>maincpu.mb@29ad = -param</action> <!-- left -->
</script>
<script state="off">
<action>maincpu.mb@29a3 = 02</action>
<action>maincpu.mb@29ad = fe</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@3c00 = 7f00</action>
<action>maincpu.mq@7f00 = 003ae20022000021</action>
<action>maincpu.mq@7f08 = 203efef6286fbda0</action>
<action>maincpu.mq@7f10 = fe2401203dfe2501</action>
<action>maincpu.mq@7f18 = 187f2ccd7c062037</action>
<action>maincpu.mq@7f20 = cd003e05203bfe09</action>
<action>maincpu.mq@7f28 = 043020fed7187f2c</action>
<action>maincpu.mq@7f30 = 003220d6c9e40132</action>
<action>maincpu.mq@7f38 = 000000000000c9e4</action>
<!--
7f00 | 21 00 00 : ld hl,$0000 // initialize sound and input values
7f03 | 22 00 e2 : ld ($e200),hl
7f06 | 3a 00 a0 : ld a,($a000) // read input
7f09 | bd : cp l
7f0a | 6f : ld l,a
7f0b | 28 f6 : jr z,$7f03
7f0d | fe 3e : cp $3e
7f0f | 20 01 : jr nz,$7f12
7f11 | 25 : dec h // decrease code
7f12 | fe 3d : cp $3d
7f14 | 20 01 : jr nz,$7f17
7f16 | 24 : inc h // increase code
7f17 | fe 37 : cp $37
7f19 | 20 06 : jr nz,$7f21
7f1b | 7c : ld a,h // play sound
7f1c | cd 2c 7f : call $7f2c
7f1f | 18 09 : jr $7f2a
7f21 | fe 3b : cp $3b
7f23 | 20 05 : jr nz,$7f2a
7f25 | 3e 00 : ld a,$00 // stop sound
7f27 | cd 2c 7f : call $7f2c
7f2a | 18 d7 : jr $7f03
7f2c | fe 20 : cp $20
7f2e | 30 04 : jr nc,$7f34
7f30 | 32 01 e4 : ld ($e401),a // in case of music, write sound code to $e401
7f33 | c9 : ret
7f34 | d6 20 : sub $20
7f36 | 32 00 e4 : ld ($e400),a // in case of sfx, write sound code to $e400
7f39 | c9 : ret
-->
<action>sub.mb@0493 = 00</action> <!-- sound enable -->
</script>
<script state="run">
<output format="----- ninjakun 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.mw@3c00 = 1660</action>
<action>maincpu.mq@7f00 = 0000000000000000</action>
<action>maincpu.mq@7f08 = 0000000000000000</action>
<action>maincpu.mq@7f10 = 0000000000000000</action>
<action>maincpu.mq@7f18 = 0000000000000000</action>
<action>maincpu.mq@7f20 = 0000000000000000</action>
<action>maincpu.mq@7f28 = 0000000000000000</action>
<action>maincpu.mq@7f30 = 0000000000000000</action>
<action>maincpu.mq@7f38 = 0000000000000000</action>
<action> sub.mb@0493 = c0</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mb@0009 = c3</action>
<action> sub.mb@000e = c3</action>
</script>
<script state="off">
<action>maincpu.mb@0009 = c2</action>
<action> sub.mb@000e = c2</action>
</script>
</cheat>