Code: Select all
<cheat desc="no hit">
<script state="on">
<action>mastercpu.mw@0c59 = 7c60</action> <!-- enemy -->
<action>mastercpu.mw@0c5f = 7c68</action> <!-- boss -->
<action>mastercpu.mw@0c9a = 7c60</action> <!-- item -->
<action>mastercpu.mq@7c60 = c90caacdc87c70cd</action>
<action>mastercpu.mq@7c68 = c90cddcdc87c70cd</action>
<action>mastercpu.mq@7c70 = 7e2323c08bfe7ddd</action>
<action>mastercpu.mq@7c78 = c937af0328a72b2b</action>
<action>mastercpu.mq@7c80 = ffffffffffc901fe</action>
<!--
7c60 | cd 70 7c : call $7C70 // enemy, item
7c63 | c8 : ret z
7c64 | cd aa 0c : call $0CAA
7c67 | c9 : ret
7c68 | cd 70 7c : call $7C70 // boss
7c6b | c8 : ret z
7c6c | cd dd 0c : call $0CDD
7c6f | c9 : ret
7c70 | dd 7d : ld a,ixl // main check routine
7c72 | fe 8b : cp $8B
7c74 | c0 : ret nz
7c75 | 23 : inc hl
7c76 | 23 : inc hl
7c77 | 7e : ld a,(hl)
7c78 | 2b : dec hl
7c79 | 2b : dec hl
7c7a | a7 : and a
7c7b | 28 03 : jr z,$7C80
7c7d | af : xor a
7c7e | 37 : scf
7c7f | c9 : ret
7c80 | fe 01 : cp $01
7c82 | c9 : ret
-->
</script>
<script state="off">
<action>mastercpu.mw@0c59 = 0caa</action>
<action>mastercpu.mw@0c5f = 0cdd</action>
<action>mastercpu.mw@0c9a = 0caa</action>
<action>mastercpu.mq@7c60 = ffffffffffffffff</action>
<action>mastercpu.mq@7c68 = ffffffffffffffff</action>
<action>mastercpu.mq@7c70 = ffffffffffffffff</action>
<action>mastercpu.mq@7c78 = ffffffffffffffff</action>
<action>mastercpu.mq@7c80 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="auto fire - main shot">
<script state="on">
<action>slavecpu.mb@04a7 = 22</action> <!-- shot -->
<action>slavecpu.mb@04e0 = 22</action> <!-- laser -->
</script>
<script state="off">
<action>slavecpu.mb@04a7 = 21</action>
<action>slavecpu.mb@04e0 = 21</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>slavecpu.md@043b = 262cb0cd</action> // y position
<action>slavecpu.md@0449 = 262cb7cd</action> // x position
<action>slavecpu.mq@2cb0 = cdc9086edd2cbecd</action>
<action>slavecpu.mq@2cb8 = a77bc90c6edd2cbe</action>
<action>slavecpu.mq@2cc0 = 2cccf2083e0016c8</action>
<action>slavecpu.mq@2cc8 = ffffc95f44edff16</action>
<!--
2cb0 | cd be 2c : call $2CBE // y position
2cb3 | dd 6e 08 : ld l,(ix+$08)
2cb6 | c9 : ret
2cb7 | cd be 2c : call $2CBE // x position
2cba | dd 6e 0c : ld l,(ix+$0c)
2cbd | c9 : ret
2cbe | 7b : ld a,e
2cbf | a7 : and a
2cc0 | c8 : ret z
2cc1 | 16 00 : ld d,$00
2cc3 | 3e xx : ld a,$xx
2cc5 | f2 cc 2c : jp p,$2CCC
2cc8 | 16 ff : ld d,$FF
2cca | ed 44 : neg
2ccc | 5f : ld e,a
2ccd | c9 : ret
-->
</script>
<script state="change">
<action>slavecpu.mb@2cc4 = param</action>
</script>
<script state="off">
<action>slavecpu.md@043b = 26086edd</action>
<action>slavecpu.md@0449 = 260c6edd</action>
<action>slavecpu.mq@2cb0 = ffffffffffffffff</action>
<action>slavecpu.mq@2cb8 = ffffffffffffffff</action>
<action>slavecpu.mq@2cc0 = ffffffffffffffff</action>
<action>slavecpu.mq@2cc8 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="bullet speed - main 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>slavecpu.mb@063f = param</action> <!-- player : normal shot -->
<action>slavecpu.mb@0702 = param</action> <!-- player : laser 1 -->
<action>slavecpu.mb@070a = param</action> <!-- player : laser 2 -->
<action>slavecpu.mb@0791 = param</action> <!-- support : normal shot -->
<action>slavecpu.mb@083d = param</action> <!-- support : laser 1 -->
<action>slavecpu.mb@0845 = param</action> <!-- support : laser 2 -->
</script>
<script state="off">
<action>slavecpu.mb@063f = 04</action>
<action>slavecpu.mb@0702 = 06</action>
<action>slavecpu.mb@070a = 06</action>
<action>slavecpu.mb@0791 = 04</action>
<action>slavecpu.mb@083d = 06</action>
<action>slavecpu.mb@0845 = 06</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action> slavecpu.mb@00b5 = 3a</action> <!-- disable sound from slavecpu -->
<action>mastercpu.mw@009b = 7c90</action>
<action>mastercpu.mq@7c90 = 47b8a1003ac10021</action>
<action>mastercpu.mq@7c98 = fe350120fbfef928</action>
<action>mastercpu.mq@7ca0 = 0320effe340120f7</action>
<action>mastercpu.mq@7ca8 = 3e0520dffe06187e</action>
<action>mastercpu.mq@7cb0 = ffffdd18a40032ff</action>
<!--
7c90 | 21 00 c1 : ld hl,$C100 // sound code address
7c93 | 3a 00 a1 : ld a,($A100) // read input
7c96 | b8 : cp b
7c97 | 47 : ld b,a
7c98 | 28 f9 : jr z,$7C93
7c9a | fe fb : cp $FB
7c9c | 20 01 : jr nz,$7C9F
7c9e | 35 : dec (hl) // decrease code
7c9f | fe f7 : cp $F7
7ca1 | 20 01 : jr nz,$7CA4
7ca3 | 34 : inc (hl) // increase code
7ca4 | fe ef : cp $EF
7ca6 | 20 03 : jr nz,$7CAB
7ca8 | 7e : ld a,(hl) // play sound
7ca9 | 18 06 : jr $7CB1
7cab | fe df : cp $DF
7cad | 20 05 : jr nz,$7CB4
7caf | 3e ff : ld a,$FF // stop sound
7cb1 | 32 00 a4 : ld ($A400),a // send sound code
7cb4 | 18 dd : jr $7C93
-->
</script>
<script state="run">
<output format="----- flower 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>mastercpu.pb@c100</argument>
</output>
</script>
<script state="off">
<action> slavecpu.mb@00b5 = 32</action>
<action>mastercpu.mw@009b = 7c00</action>
<action>mastercpu.mq@7c90 = ffffffffffffffff</action>
<action>mastercpu.mq@7c98 = ffffffffffffffff</action>
<action>mastercpu.mq@7ca0 = ffffffffffffffff</action>
<action>mastercpu.mq@7ca8 = ffffffffffffffff</action>
<action>mastercpu.mq@7cb0 = ffffffffffffffff</action>
</script>
</cheat>