Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1b95 = 97</action> <!-- normal enemy -->
<action>maincpu.mb@215f = 61</action> <!-- large enemy -->
</script>
<script state="off">
<action>maincpu.mb@1b95 = 9c</action>
<action>maincpu.mb@215f = 66</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@182d = 2f</action>
</script>
<script state="off">
<action>maincpu.mb@182d = 48</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x08" step="0x01" />
<script state="on">
<action>maincpu.mq@16b3 = 041e000000B940cd</action> <!-- right -->
<action>maincpu.mq@16be = 041e000000B944cd</action> <!-- left -->
<action>maincpu.md@16c9 = 1eb951cd</action> <!-- down -->
<action>maincpu.mq@16d1 = 051eb940cdb951cd</action> <!-- lower-right-->
<action>maincpu.mq@16dc = 051eb944cdb951cd</action> <!-- lower-left -->
<action>maincpu.md@16e7 = 1eb94dcd</action> <!-- up -->
<action>maincpu.mq@16ef = 031eb940cdb94dcd</action> <!-- upper-right -->
<action>maincpu.mq@16fa = 031eb94dcdb944cd</action> <!-- upper-left -->
<action>maincpu.mq@b940 = 86ddfd3e0218033e</action>
<action>maincpu.mq@b948 = 18033ec90277DD02</action>
<action>maincpu.mq@b950 = 77dd0386ddfd3e02</action>
<action>maincpu.mq@b958 = ffffffffffffc903</action>
<!--
16b3 | cd 40 b9 00 00 00 : call $b940 / nop / nop / nop // right
16be | cd b9 44 00 00 00 : call $b944 / nop / nop / nop // left
16c9 | cd 51 b9 : call $b951 // down
16d1 | cd 51 b9 cd 40 b9 : call $b951 / call $b940 // lower-right
16dc | cd 51 b9 cd 44 b9 : call $b951 / call $b944 // lower-left
16e7 | cd 4d b9 : call $b94d // up
16ef | cd 4d b9 cd 40 b9 : call $b94d / call $b940 // upper-right
16fa | cd 44 b9 cd 4d b9 : call $b944 / call $b94d // upper-left
b940 | 3e xx : ld a,$xx // right
b942 | 18 02 : jr $b946
b944 | 3e xx : ld a,$xx // left
b946 | dd 86 02 : add a,(ix+$02)
b949 | dd 77 02 : ld (ix+$02),a
b94c | c9 : ret
b94d | 3e xx : ld a,$xx // up
b94f | 18 02 : jr $b953
b951 | 3e xx : ld a,$xx // down
b953 | dd 86 03 : add a,(ix+$03)
b956 | dd 77 03 : ld (ix+$03),a
b959 | c9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@b941 = param</action>
<action>maincpu.mb@b945 = -param</action>
<action>maincpu.mb@b94e = param</action>
<action>maincpu.mb@b952 = -param</action>
</script>
<script state="off">
<action>maincpu.mq@16b3 = 041e0234dd0234dd</action>
<action>maincpu.mq@16be = 041e0235dd0235dd</action>
<action>maincpu.md@16c9 = 1e0335dd</action>
<action>maincpu.mq@16d1 = 051e0335dd0234dd</action>
<action>maincpu.mq@16dc = 051e0335dd0235dd</action>
<action>maincpu.md@16e7 = 1e0334dd</action>
<action>maincpu.mq@16ef = 031e0334dd0234dd</action>
<action>maincpu.mq@16fa = 031e0334dd0235dd</action>
<action>maincpu.mq@b940 = ffffffffffffffff</action>
<action>maincpu.mq@b948 = ffffffffffffffff</action>
<action>maincpu.mq@b950 = ffffffffffffffff</action>
<action>maincpu.mq@b958 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x03">01 (slow)</item>
<item value="0x06">02 </item>
<item value="0x09">03 </item>
<item value="0x0c">04 </item>
<item value="0x0f">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@18c2 = dd003e00</action>
</script>
<script state="change">
<action>maincpu.mb@18c4 = param</action>
</script>
<script state="off">
<action>maincpu.md@18c2 = dd157efd</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@01ce = b960</action>
<action>maincpu.mq@b960 = 013ae10022000021</action>
<action>maincpu.mq@b968 = 20fdfef6286fbdc0</action>
<action>maincpu.mq@b970 = fe240120fefe2501</action>
<action>maincpu.mq@b978 = dffe06187c0320ef</action>
<action>maincpu.mq@b980 = 18c80032003e0520</action>
<action>maincpu.mq@b988 = ffffffffffffffda</action>
<!--
01cd | c3 60 b9 : jp $b960
b960 | 21 00 00 : ld hl,$0000 // initialize sound and input values
b963 | 22 00 e1 : ld ($e100),hl
b966 | 3a 01 c0 : ld a,($c001) // read input
b969 | bd : cp l
b96a | 6f : ld l,a
b96b | 28 f6 : jr z,$b963
b96d | fe fd : cp $fd
b96f | 20 01 : jr nz,$b972
b971 | 25 : dec h // decrease code
b972 | fe fe : cp $fe
b974 | 20 01 : jr nz,$b977
b976 | 24 : inc h // increase code
b977 | fe ef : cp $ef
b979 | 20 03 : jr nz,$b97e
b97b | 7c : ld a,h // play sound
b97c | 18 06 : jr $b984
b97e | fe df : cp $df
b980 | 20 05 : jr nz,$b987
b982 | 3e 00 : ld a,$00 // stop sound
b984 | 32 00 c8 : ld ($c800),a // send sound code
b987 | 18 da : jr $b963
-->
<action>audiocpu.mb@0109 = 00</action> <!-- stop sfx and music at the same time -->
</script>
<script state="run">
<output format="----- exed exes 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@e101</argument>
</output>
</script>
<script state="off">
<action> maincpu.mw@01ce = 00e4</action>
<action> maincpu.mq@b960 = ffffffffffffffff</action>
<action> maincpu.mq@b968 = ffffffffffffffff</action>
<action> maincpu.mq@b970 = ffffffffffffffff</action>
<action> maincpu.mq@b978 = ffffffffffffffff</action>
<action> maincpu.mq@b980 = ffffffffffffffff</action>
<action> maincpu.mq@b988 = ffffffffffffffff</action>
<action>audiocpu.mb@0109 = 00</action>
</script>
</cheat>
Code: Select all
<cheat desc="P1 1 hit to see the ending">
<script state="on">
<action>maincpu.pb@e60a = 01</action>
</script>
</cheat>