Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@0cf9 = 0cfb</action>
</script>
<script state="off">
<action>maincpu.mw@0cf9 = 0d06</action>
</script>
</cheat>
<cheat desc="no hit - sub unit">
<script state="on">
<action>maincpu.mb@1678 = 7a</action>
</script>
<script state="off">
<action>maincpu.mb@1678 = a0</action>
</script>
</cheat>
<cheat desc="auto fire - shot">
<script state="on">
<action>maincpu.mb@14df = 00</action>
</script>
<script state="off">
<action>maincpu.mb@14df = c0</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x04">01 (slow)</item>
<item value="0x10">02 </item>
<item value="0x14">03 </item>
<item value="0x18">04 </item>
<item value="0x1c">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@1552 = param</action> <!-- speed -->
<action>maincpu.mb@1554 = f0 - (param / 2)</action> <!-- range -->
</script>
<script state="off">
<action>maincpu.mb@1552 = 10</action>
<action>maincpu.mb@1554 = f0</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" />
<script state="change">
<action>maincpu.mb@1409 = param</action> <!-- right -->
<action>maincpu.mb@1413 = param</action> <!-- left -->
<action>maincpu.mb@141d = param</action> <!-- up -->
<action>maincpu.mb@1427 = param</action> <!-- down -->
</script>
<script state="off">
<action>maincpu.mb@1409 = 02</action>
<action>maincpu.mb@1413 = 02</action>
<action>maincpu.mb@141d = 02</action>
<action>maincpu.mb@1427 = 02</action>
</script>
</cheat>
<cheat desc="fast bomb">
<script state="on">
<action>maincpu.mb@173a = c3</action> <!-- normal scene -->
<action>maincpu.mb@1728 = c3</action> <!-- boss scene -->
</script>
<script state="off">
<action>maincpu.mb@173a = ca</action>
<action>maincpu.mb@1728 = ca</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@0107 = a000</action>
<action>maincpu.mq@a000 = 3a47f0103ac10021</action>
<action>maincpu.mq@a008 = fef4284fb9b0f018</action>
<action>maincpu.mq@a010 = 012001fe35012002</action>
<action>maincpu.mq@a018 = 06187e032040fe34</action>
<action>maincpu.mq@a020 = 21e5903e142004fe</action>
<action>maincpu.mq@a028 = 082e022011fef800</action>
<action>maincpu.mq@a030 = e1770a2e022012fe</action>
<action>maincpu.mq@a038 = 000000000000c918</action>
<!--
a000 | 21 00 c1 : ld hl,$C100 // sound code address
a003 | 3a 10 f0 : ld a,($F010) // read button input
a006 | 47 : ld b,a
a007 | 3a 18 f0 : ld a,($F018) // read stick input
a00a | b0 : or b
a00b | b9 : cp c
a00c | 4f : ld c,a
a00d | 28 f4 : jr z,$A003
a00f | fe 02 : cp $02
a011 | 20 01 : jr nz,$A014
a013 | 35 : dec (hl) // decrease code
a014 | fe 01 : cp $01
a016 | 20 01 : jr nz,$A019
a018 | 34 : inc (hl) // increase code
a019 | fe 40 : cp $40
a01b | 20 03 : jr nz,$A020
a01d | 7e : ld a,(hl) // play sound
a01e | 18 06 : jr $A026
a020 | fe 04 : cp $04
a022 | 20 14 : jr nz,$A038
a024 | 3e 90 : ld a,$90 // stop sound
a026 | e5 : push hl
a027 | 21 00 f8 : ld hl,$F800
a02a | fe 11 : cp $11
a02c | 20 02 : jr nz,$A030
a02e | 2e 08 : ld l,$08 // explosion sound
a030 | fe 12 : cp $12
a032 | 20 02 : jr nz,$A036
a034 | 2e 0a : ld l,$0A // shot sound
a036 | 77 : ld (hl),a // send sound code
a037 | e1 : pop hl
a038 | 18 c9 : jr $A003
-->
</script>
<script state="run">
<output format="----- scion 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@c100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0107 = 0f61</action>
<action>maincpu.mq@a000 = 0000000000000000</action>
<action>maincpu.mq@a008 = 0000000000000000</action>
<action>maincpu.mq@a010 = 0000000000000000</action>
<action>maincpu.mq@a018 = 0000000000000000</action>
<action>maincpu.mq@a020 = 0000000000000000</action>
<action>maincpu.mq@a028 = 0000000000000000</action>
<action>maincpu.mq@a030 = 0000000000000000</action>
<action>maincpu.mq@a038 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip ram check">
<script state="on">
<action>maincpu.mb@00ff = 92</action>
</script>
<script state="off">
<action>maincpu.mb@00ff = 51</action>
</script>
</cheat>
Code: Select all
<cheat desc="disable white noise bug (test)">
<script state="on">
<action>audiocpu.mb@0124 = 00</action>
<action>audiocpu.mb@0147 = 00</action>
</script>
<script state="off">
<action>audiocpu.mb@0124 = 10</action>
<action>audiocpu.mb@0147 = 0f</action>
</script>
</cheat>
Code: Select all
<cheat desc="start with level 999">
<script state="run">
<action condition="maincpu.pd@c300 == 00000000">maincpu.pd@c300 = 00020053</action>
</script>
</cheat>