Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@18b3 = 18</action>
</script>
<script state="off">
<action>maincpu.mb@18b3 = 38</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@0689 = 00</action> <!-- missile -->
<action>maincpu.mb@06a3 = 00</action> <!-- shot -->
</script>
<script state="off">
<action>maincpu.mb@0689 = 12</action>
<action>maincpu.mb@06a3 = 12</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@1624 = param</action>
</script>
<script state="off">
<action>maincpu.mb@1624 = 04</action>
</script>
</cheat>
<cheat desc="bullet speed - missile">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@1628 = param</action>
</script>
<script state="off">
<action>maincpu.mb@1628 = 01</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0100">02 </item>
<item value="0x0140">03 </item>
<item value="0x0180">04 </item>
<item value="0x01c0">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@09fe = -param</action> <!-- left -->
<action>maincpu.mw@0a02 = param</action> <!-- right -->
<action>maincpu.mw@0a08 = param</action> <!-- up -->
<action>maincpu.mw@0a0c = param</action> <!-- upper-left : up -->
<action>maincpu.mw@0a0e = -param</action> <!-- upper-left : left -->
<action>maincpu.mw@0a10 = param</action> <!-- upper-right : up -->
<action>maincpu.mw@0a12 = param</action> <!-- upper-right : right -->
<action>maincpu.mw@0a18 = -param</action> <!-- down -->
<action>maincpu.mw@0a1c = -param</action> <!-- lower-left : down -->
<action>maincpu.mw@0a1e = -param</action> <!-- lower-left : left -->
<action>maincpu.mw@0a20 = -param</action> <!-- lower-right : down -->
<action>maincpu.mw@0a22 = param</action> <!-- lower-right : right -->
</script>
<script state="off">
<action>maincpu.mw@09fe = ff08</action>
<action>maincpu.mw@0a02 = 00f8</action>
<action>maincpu.mw@0a08 = 00f8</action>
<action>maincpu.mw@0a0c = 00af</action>
<action>maincpu.mw@0a0e = ff51</action>
<action>maincpu.mw@0a10 = 00af</action>
<action>maincpu.mw@0a12 = 00af</action>
<action>maincpu.mw@0a18 = ff08</action>
<action>maincpu.mw@0a1c = ff51</action>
<action>maincpu.mw@0a1e = ff51</action>
<action>maincpu.mw@0a20 = ff51</action>
<action>maincpu.mw@0a22 = 00af</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@00a9 = 00a8</action> <!-- disable main cpu -->
<action> sub.md@00a9 = cd6710c3</action>
<action> sub.mq@6710 = b8800e3a810021fb</action>
<action> sub.mq@6718 = 35012001fef92847</action>
<action> sub.mq@6720 = 2008fe34012002fe</action>
<action> sub.mq@6728 = 2004fe0618f03e04</action>
<action> sub.mq@6730 = 10fe787786103e05</action>
<action> sub.mq@6738 = fe788036327e0520</action>
<action> sub.mq@6740 = 411acdd9af062020</action>
<action> sub.mq@6748 = ffffffffffc918d9</action>
<!--
6710 | fb : ei // enable interrupt
6711 | 21 00 81 : ld hl,$8100 // sound code address
6714 | 3a 0e 80 : ld a,($800E) // read input
6717 | b8 : cp b
6718 | 47 : ld b,a
6719 | 28 f9 : jr z,$6714
671b | fe 01 : cp $01
671d | 20 01 : jr nz,$6720
671f | 35 : dec (hl) // decrease code -01
6720 | fe 02 : cp $02
6722 | 20 01 : jr nz,$6725
6724 | 34 : inc (hl) // increase code +01
6725 | fe 08 : cp $08
6727 | 20 04 : jr nz,$672D
6729 | 3e f0 : ld a,$F0 // decrease code -10
672b | 18 06 : jr $6733
672d | fe 04 : cp $04
672f | 20 05 : jr nz,$6736
6731 | 3e 10 : ld a,$10 // increase code +10
6733 | 86 : add a,(hl)
6734 | 77 : ld (hl),a
6735 | 78 : ld a,b
6736 | fe 10 : cp $10
6738 | 20 05 : jr nz,$673F
673a | 7e : ld a,(hl) // play sound
673b | 32 36 80 : ld ($8036),a
673e | 78 : ld a,b
673f | fe 20 : cp $20
6741 | 20 06 : jr nz,$6749
6743 | af : xor a // stop sound
6744 | d9 : exx
6745 | cd 1a 41 : call $411A
6748 | d9 : exx
6749 | 18 c9 : jr $6714
-->
</script>
<script state="run">
<output format="----- s.r.d. mission 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="down : decrease code -10" line="13" align="center" />
<output format="up : increase 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>sub.pb@8100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@00a9 = 01b8</action>
<action> sub.md@00a9 = cd4c18fb</action>
<action> sub.mq@6710 = ffffffffffffffff</action>
<action> sub.mq@6718 = ffffffffffffffff</action>
<action> sub.mq@6720 = ffffffffffffffff</action>
<action> sub.mq@6728 = ffffffffffffffff</action>
<action> sub.mq@6730 = ffffffffffffffff</action>
<action> sub.mq@6738 = ffffffffffffffff</action>
<action> sub.mq@6740 = ffffffffffffffff</action>
<action> sub.mq@6748 = ffffffffffffffff</action>
</script>
</cheat>
Code: Select all
<cheat desc="no hit - people (test)">
<script state="on">
<action>maincpu.md@19aa = 387640cd</action>
<action>maincpu.mq@7640 = 2801e62d7e082c2c</action>
<action>maincpu.mq@7648 = 00c9b98608c93702</action>
<!--
7640 | 2c : inc l
7641 | 2c : inc l
7642 | 08 : ex af,af'
7643 | 7e : ld a,(hl)
7644 | 2d : dec l
7645 | e6 01 : and $01
7647 | 28 02 : jr z,$764B
7649 | 37 : scf
764a | c9 : ret
764b | 08 : ex af,af'
764c | 86 : add a,(hl)
764d | b9 : cp c
764e | c9 : ret
-->
<action>sub.mq@0d3b = cd0d42c2c609cbdd</action> <!-- set 0,(ix+$09) / jp nz,$0D42 -->
<action>sub.mq@0da2 = cd0da9c2c609cbdd</action> <!-- set 0,(ix+$09) / jp nz,$0DA9 -->
<action>sub.mq@29a3 = cd29aac2c609cbdd</action> <!-- set 0,(ix+$09) / jp nz,$29AA -->
</script>
<script state="off">
<action>maincpu.md@19aa = 38b9862c</action>
<action>maincpu.mq@7640 = a53a4e4941544144</action>
<action>maincpu.mq@7648 = e00e4bed1a3807e0</action>
<action> sub.mq@0d3b = cd0b9cc27e09cbdd</action>
<action> sub.mq@0da2 = cd0b9cc27e09cbdd</action>
<action> sub.mq@29a3 = cd0b9cc27e09cbdd</action>
</script>
</cheat>