Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1144 = 18</action> <!-- bullet -->
<action>maincpu.mb@1186 = 18</action> <!-- enemy -->
<action>maincpu.mb@11da = 18</action> <!-- enemy -->
<action>maincpu.mb@11fb = 18</action> <!-- enemy -->
<action>maincpu.mb@1232 = 18</action> <!-- boss 1 -->
<action>maincpu.mb@28b8 = c9</action> <!-- laser -->
<action>maincpu.mb@2950 = c9</action> <!-- laser -->
<action>maincpu.mb@2994 = 18</action> <!-- beam -->
<action>maincpu.mb@29a6 = 18</action> <!-- beam -->
<action>maincpu.mb@2a46 = 18</action> <!-- beam -->
<action>maincpu.mb@416b = c9</action> <!-- enemy -->
<action>maincpu.mb@4d84 = c9</action> <!-- small shutter -->
<action>maincpu.mb@4d93 = c9</action> <!-- small shutter -->
<action>maincpu.mb@506e = c9</action> <!-- shutter -->
<action>maincpu.mb@5096 = 18</action> <!-- shutter -->
<action>maincpu.mb@6610 = c9</action> <!-- enemy -->
<action>maincpu.mb@6621 = c9</action> <!-- enemy -->
<action>maincpu.mb@6aa3 = c9</action> <!-- last boss -->
<action>maincpu.mb@6e98 = 18</action> <!-- boss 2 -->
<action>maincpu.mb@7236 = c9</action> <!-- boss 3 -->
<action>maincpu.mb@7482 = c9</action> <!-- enemy -->
</script>
<script state="off">
<action>maincpu.mb@1144 = 30</action>
<action>maincpu.mb@1186 = 30</action>
<action>maincpu.mb@11da = 30</action>
<action>maincpu.mb@11fb = 30</action>
<action>maincpu.mb@1232 = 30</action>
<action>maincpu.mb@28b8 = d0</action>
<action>maincpu.mb@2950 = d0</action>
<action>maincpu.mb@2994 = 30</action>
<action>maincpu.mb@29a6 = 38</action>
<action>maincpu.mb@2a46 = 30</action>
<action>maincpu.mb@416b = d0</action>
<action>maincpu.mb@4d84 = d0</action>
<action>maincpu.mb@4d93 = d0</action>
<action>maincpu.mb@506e = 3e</action>
<action>maincpu.mb@5096 = 30</action>
<action>maincpu.mb@6610 = d0</action>
<action>maincpu.mb@6621 = d0</action>
<action>maincpu.mb@6aa3 = d0</action>
<action>maincpu.mb@6e98 = 30</action>
<action>maincpu.mb@7236 = d0</action>
<action>maincpu.mb@7482 = d0</action>
</script>
</cheat>
<cheat desc="walk through wall">
<script state="on">
<action>maincpu.mb@1a77 = c9</action> <!-- right -->
<action>maincpu.mb@1abe = c9</action> <!-- left -->
<action>maincpu.mb@1adf = c9</action> <!-- down -->
<action>maincpu.mb@1b09 = c9</action> <!-- up -->
<action>maincpu.mb@1b28 = c9</action> <!-- lower-right -->
<action>maincpu.mb@1b4e = c9</action> <!-- lower-left -->
<action>maincpu.mb@1b74 = c9</action> <!-- upper-left -->
<action>maincpu.mb@1b99 = c9</action> <!-- upper-right -->
</script>
<script state="off">
<action>maincpu.mb@1a77 = cd</action>
<action>maincpu.mb@1abe = cd</action>
<action>maincpu.mb@1adf = cd</action>
<action>maincpu.mb@1b09 = cd</action>
<action>maincpu.mb@1b28 = cd</action>
<action>maincpu.mb@1b4e = cd</action>
<action>maincpu.mb@1b74 = cd</action>
<action>maincpu.mb@1b99 = cd</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@2195 = 01</action> <!-- bomb -->
<action>maincpu.mb@21a3 = 01</action> <!-- shot -->
</script>
<script state="off">
<action>maincpu.mb@2195 = 07</action>
<action>maincpu.mb@21a3 = 07</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0180">02 </item>
<item value="0x0380">03 </item>
<item value="0x0580">04 </item>
<item value="0x0780">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@01a25 = dd8c10cd</action>
<action>maincpu.mq@1cc10 = f20000110928a77a</action>
<action>maincpu.mq@1cc18 = 28a7780000118c1d</action>
<action>maincpu.mq@1cc20 = 018c2af200000109</action>
<action>maincpu.mq@1cc28 = ffffc90466dd0000</action>
<!--
8c10 | 7a : ld a,d
8c11 | a7 : and a
8c12 | 28 09 : jr z,$8C1D
8c14 | 11 xx xx : ld de,$xxxx
8c17 | f2 1d 8c : jp p,$8C1D
8c1a | 11 xx xx : ld de,$xxxx
8c1d | 78 : ld a,b
8c1e | a7 : and a
8c1f | 28 09 : jr z,$8C2A
8c21 | 01 xx xx : ld bc,$xxxx
8c24 | f2 2a 8c : jp p,$8C2A
8c27 | 01 xx xx : ld bc,$xxxx
8c2a | dd 66 04 : ld h,(ix+$04)
8c2d | c9 : ret
-->
</script>
<script state="change">
<action>maincpu.mw@1cc15 = param</action>
<action>maincpu.mw@1cc1b = -param</action>
<action>maincpu.mw@1cc22 = param</action>
<action>maincpu.mw@1cc28 = -param</action>
</script>
<script state="off">
<action>maincpu.md@01a25 = dd0466dd</action>
<action>maincpu.mq@1cc10 = ffffffffffffffff</action>
<action>maincpu.mq@1cc18 = ffffffffffffffff</action>
<action>maincpu.mq@1cc20 = ffffffffffffffff</action>
<action>maincpu.mq@1cc28 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="bullet speed - shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x08">03 </item>
<item value="0x0c">04 </item>
<item value="0x10">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@21d2 = param</action> <!-- right -->
<action>maincpu.mb@21e5 = -param</action> <!-- left -->
</script>
<script state="off">
<action>maincpu.mb@21d2 = 05</action>
<action>maincpu.mb@21e5 = fb</action>
</script>
</cheat>
<cheat desc="quick turn">
<script state="on">
<action>maincpu.mb@1d18 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@1d18 = 09</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@00195 = 21b390c3</action>
<action>maincpu.mq@1b390 = 47b8f8093ac10021</action>
<action>maincpu.mq@1b398 = fe350120fdfef928</action>
<action>maincpu.mq@1b3a0 = 0420fbfe340120fe</action>
<action>maincpu.mq@1b3a8 = 0520f7fe0618f03e</action>
<action>maincpu.mq@1b3b0 = 20effe787786103e</action>
<action>maincpu.mq@1b3b8 = 0420dffe05187e03</action>
<action>maincpu.mq@1b3c0 = ffffcd18f80c32af</action>
<!--
b390 | 21 00 c1 : ld hl,$C100 // sound code address
b393 | 3a 09 f8 : ld a,($F809) // read input
b396 | b8 : cp b
b397 | 47 : ld b,a
b398 | 28 f9 : jr z,$B393
b39a | fe fd : cp $FD
b39c | 20 01 : jr nz,$B39F
b39e | 35 : dec (hl) // decrease code -01
b39f | fe fe : cp $FE
b3a1 | 20 01 : jr nz,$B3A4
b3a3 | 34 : inc (hl) // increase code +01
b3a4 | fe fb : cp $FB
b3a6 | 20 04 : jr nz,$B3AC
b3a8 | 3e f0 : ld a,$F0 // decrease code -10
b3aa | 18 06 : jr $B3B2
b3ac | fe f7 : cp $F7
b3ae | 20 05 : jr nz,$B3B5
b3b0 | 3e 10 : ld a,$10 // increase code +10
b3b2 | 86 : add a,(hl)
b3b3 | 77 : ld (hl),a
b3b4 | 78 : ld a,b
b3b5 | fe ef : cp $EF
b3b7 | 20 03 : jr nz,$B3BC
b3b9 | 7e : ld a,(hl) // play sound
b3ba | 18 05 : jr $B3C1
b3bc | fe df : cp $DF
b3be | 20 04 : jr nz,$B3C4
b3c0 | af : xor a // stop sound
b3c1 | 32 0c f8 : ld ($F80C),a // send sound code
b3c4 | 18 cd : jr $B393
-->
<action>soundcpu.mb@01cd = 00</action> <!-- enable sfx and music stop at the same time -->
</script>
<script state="run">
<output format="----- section z 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="up : increase code +10" line="13" align="center" />
<output format="down : decrease code -10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : 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@c100</argument>
</output>
</script>
<script state="off">
<action> maincpu.md@00195 = 210424c3</action>
<action> maincpu.mq@1b390 = ffffffffffffffff</action>
<action> maincpu.mq@1b398 = ffffffffffffffff</action>
<action> maincpu.mq@1b3a0 = ffffffffffffffff</action>
<action> maincpu.mq@1b3a8 = ffffffffffffffff</action>
<action> maincpu.mq@1b3b0 = ffffffffffffffff</action>
<action> maincpu.mq@1b3b8 = ffffffffffffffff</action>
<action> maincpu.mq@1b3c0 = ffffffffffffffff</action>
<action>soundcpu.mb@001cd = 00</action>
</script>
</cheat>