Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mq@3436 = 803321eb384000cd</action>
<action>maincpu.mq@4000 = 02cbddd00dfe0330</action>
<action>maincpu.mq@4008 = 000000c937b6cbb6</action>
<!--
3436 | cd 00 40 : call $4000
3439 | 38 eb : jr c,$3426
====================================
4000 | 30 03 : jr nc,$4005
4002 | fe 0d : cp $0D
4004 | d0 : ret nc
4005 | dd cb 02 b6 : res 6,(ix+$02)
4009 | cb b6 : res 6,(hl)
400b | 37 : scf
400c | c9 : ret
-->
</script>
<script state="off">
<action>maincpu.mq@3436 = 8033211c380dfed0</action>
<action>maincpu.mq@4000 = 0000000000000000</action>
<action>maincpu.mq@4008 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.md@2854 = 214010c3</action>
<action>maincpu.mq@4010 = c377af0520870021</action>
<action>maincpu.mq@4018 = fe0628a7347e2911</action>
<action>maincpu.mq@4020 = 2857c377aff42002</action>
<!--
4010 | 21 00 87 : ld hl,$8700
4013 | 20 05 : jr nz,$401A
4015 | af : xor a
4016 | 77 : ld (hl),a
4017 | c3 11 29 : jp $2911
401a | 7e : ld a,(hl)
401b | 34 : inc (hl)
401c | a7 : and a
401d | 28 06 : jr z,$4025
401f | fe 02 : cp $02
4021 | 20 f4 : jr nz,$4017
4023 | af : xor a
4024 | 77 : ld (hl),a
4025 | c3 57 28 : jp $2857
-->
</script>
<script state="off">
<action>maincpu.md@2854 = 212911ca</action>
<action>maincpu.mq@4010 = 0000000000000000</action>
<action>maincpu.mq@4018 = 0000000000000000</action>
<action>maincpu.mq@4020 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.md@295f = 214030cd</action>
<action>maincpu.mq@4030 = f0003ec8a7811432</action>
<action>maincpu.mq@4038 = 0000000000c944ed</action>
<!--
4030 | 32 14 81 : ld ($8114),a
4033 | a7 : and a
4034 | c8 : ret z
4035 | 3e xx : ld a,$xx
4037 | f0 : ret p
4038 | ed 44 : neg
403a | c9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@4036 = param</action>
</script>
<script state="off">
<action>maincpu.md@295f = 21811432</action>
<action>maincpu.mq@4030 = 0000000000000000</action>
<action>maincpu.mq@4038 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x03">02 </item>
<item value="0x06">03 </item>
<item value="0x09">04 </item>
<item value="0x0c">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@2b04 = 1b4040cd</action>
<action>maincpu.mq@4040 = 4615fe79f547cbc5</action>
<action>maincpu.mq@4048 = c9c178f100060220</action>
<!--
4040 | c5 : push bc
4041 | cb 47 : bit 0,a
4043 | f5 : push af
4044 | 79 : ld a,c
4045 | fe 15 : cp $15
4047 | 46 : ld b,(hl)
4048 | 20 02 : jr nz,$404C
404a | 06 xx : ld b,$xx
404c | f1 : pop af
404d | 78 : ld a,b
404e | c1 : pop bc
404f | c9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@404b = param</action>
</script>
<script state="off">
<action>maincpu.md@2b04 = 1b7e47cb</action>
<action>maincpu.mq@4040 = 0000000000000000</action>
<action>maincpu.mq@4048 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mw@0049 = 004b</action> <!-- enable sound in interrupt -->
<action>maincpu.mb@38a0 = 00</action> <!-- enable sound -->
<action>maincpu.md@03ac = eb4050c3</action>
<action>maincpu.mq@4050 = 01213826cd0967cd</action>
<action>maincpu.mq@4058 = 070708e6f8003a82</action>
<action>maincpu.mq@4060 = 2877beb0f8013a47</action>
<action>maincpu.mq@4068 = fe35012001fe2bea</action>
<action>maincpu.mq@4070 = 042008fe34012002</action>
<action>maincpu.mq@4078 = 062004fe0618f03e</action>
<action>maincpu.mq@4080 = 10fe10187786103e</action>
<action>maincpu.mq@4088 = 2020fe06187e0320</action>
<action>maincpu.mq@4090 = bb183893cdf23e05</action>
<!--
4050 | cd 67 09 : call $0967 // erase screen
4053 | cd 26 38 : call $3826 // check sound
4056 | 21 01 82 : ld hl,$8201 // $8200 = sound code, $8201 = temporary input
4059 | 3a 00 f8 : ld a,($F800) // read start button
405c | e6 08 : and $08
405e | 07 : rlca
405f | 07 : rlca
4060 | 47 : ld b,a
4061 | 3a 01 f8 : ld a,($F801) // read other inputs
4064 | b0 : or b
4065 | be : cp (hl)
4066 | 77 : ld (hl),a
4067 | 28 ea : jr z,$4053
4069 | 2b : dec hl
406a | fe 01 : cp $01
406c | 20 01 : jr nz,$406F
406e | 35 : dec (hl) // decrease code -01
406f | fe 02 : cp $02
4071 | 20 01 : jr nz,$4074
4073 | 34 : inc (hl) // increase code +01
4074 | fe 08 : cp $08
4076 | 20 04 : jr nz,$407C
4078 | 3e f0 : ld a,$F0 // decrease code -10
407a | 18 06 : jr $4082
407c | fe 04 : cp $04
407e | 20 06 : jr nz,$4086
4080 | 3e 10 : ld a,$10 // increase code +10
4082 | 86 : add a,(hl)
4083 | 77 : ld (hl),a
4084 | 18 10 : jr $4096
4086 | fe 10 : cp $10
4088 | 20 03 : jr nz,$408D
408a | 7e : ld a,(hl) // play sound
408b | 18 06 : jr $4093
408d | fe 20 : cp $20
408f | 20 05 : jr nz,$4096
4091 | 3e f2 : ld a,$F2 // stop sound
4093 | cd 93 38 : call $3893 // send sound code
4096 | 18 bb : jr $4053
-->
</script>
<script state="run">
<output format="----- funky bee 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="start : 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@8200</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0049 = 0141</action>
<action>maincpu.mb@38a0 = 15</action>
<action>maincpu.md@03ac = eb09100e</action>
<action>maincpu.mq@4050 = 0000000000000000</action>
<action>maincpu.mq@4058 = 0000000000000000</action>
<action>maincpu.mq@4060 = 0000000000000000</action>
<action>maincpu.mq@4068 = 0000000000000000</action>
<action>maincpu.mq@4070 = 0000000000000000</action>
<action>maincpu.mq@4078 = 0000000000000000</action>
<action>maincpu.mq@4080 = 0000000000000000</action>
<action>maincpu.mq@4088 = 0000000000000000</action>
<action>maincpu.mq@4090 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.md@3ee3 = 010345c3</action>
</script>
<script state="off">
<action>maincpu.md@3ee3 = 01000021</action>
</script>
</cheat>