Code: Select all
<cheat desc="no hit">
<script state="on">
<action>sub.mb@022e = c9</action>
</script>
<script state="off">
<action>sub.mb@022e = c0</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@4295 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@4295 = 0a</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.md@410e = 067ee0cd</action> <!-- x position -->
<action>maincpu.md@4153 = 067ee0cd</action> <!-- y position -->
<action>maincpu.mq@7ee0 = ebf2003e0728a77e</action>
<action>maincpu.mq@7ee8 = ffc979cb4f44ed7e</action>
<!--
7ee0 | 7e : ld a,(hl)
7ee1 | a7 : and a
7ee2 | 28 07 : jr z,$7eeb
7ee4 | 3e xx : ld a,$xx
7ee6 | f2 eb 7e : jp p,$7eeb
7ee9 | ed 44 : neg
7eeb | 4f : ld c,a
7eec | cb 79 : bit 7,c
7eee | c9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@7ee5 = param</action>
</script>
<script state="off">
<action>maincpu.md@410e = 0679cb4e</action>
<action>maincpu.md@4153 = 0679cb4e</action>
<action>maincpu.mq@7ee0 = ffffffffffffffff</action>
<action>maincpu.mq@7ee8 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x06">01 (slow)</item>
<item value="0x0c">02 </item>
<item value="0x12">03 </item>
<item value="0x18">04 </item>
<item value="0x1e">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@2937 = 287ef0cd</action>
<action>maincpu.mq@7ef0 = 022012fe007edd5e</action>
<action>maincpu.mq@7ef8 = ffffffc97bcb0c1e</action>
<!--
7ef0 | 5e : ld e,(hl)
7ef1 | dd 7e 00 : ld a,(ix+$00)
7ef4 | fe 12 : cp $12
7ef6 | 20 02 : jr nz,$7efa
7ef8 | 1e xx : ld e,$xx
7efa | cb 7b : bit 7,e
7efc | c9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@7ef9 = param</action>
</script>
<script state="off">
<action>maincpu.md@2937 = 287bcb5e</action>
<action>maincpu.mq@7ef0 = ffffffffffffffff</action>
<action>maincpu.mq@7ef8 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="fast bomb">
<script state="on">
<action>maincpu.mw@29ef = 7f00</action>
<action>maincpu.mq@7f00 = dd0c3806fe077edd</action>
<action>maincpu.mq@7f08 = 39c6057edd060736</action>
<action>maincpu.mq@7f10 = ffff3855c30577dd</action>
<!--
7f00 | dd 7e 07 : ld a,(ix+$07)
7f03 | fe 06 : cp $06
7f05 | 38 0c : jr c,$7f13
7f07 | dd 36 07 06 : ld (ix+$07),$06
7f0b | dd 7e 05 : ld a,(ix+$05)
7f0e | c6 39 : add a,$39
7f10 | dd 77 05 : ld (ix+$05),a
7f13 | c3 55 38 : jp $3855
-->
</script>
<script state="off">
<action>maincpu.mw@29ef = 3855</action>
<action>maincpu.mq@7f00 = ffffffffffffffff</action>
<action>maincpu.mq@7f08 = ffffffffffffffff</action>
<action>maincpu.mq@7f10 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mq@0f1b = 26c30032033e56ed</action>
<action>maincpu.mq@0f23 = c1003ae0d022fb10</action>
<action>maincpu.mq@0f2b = 0e28f7fef6286fbd</action>
<action>maincpu.mq@0f33 = 0c28dffe0d28fbfe</action>
<action>maincpu.mq@0f3b = 1824e4180c28effe</action>
<action>maincpu.mq@0f43 = 0118013ede1825e1</action>
<action>maincpu.mq@0f4b = ff20d418c300327c</action>
<!--
0f1b | ed 56 : im 1
0f1d | 3e 03 : ld a,$03
0f1f | 32 00 c3 : ld ($c300),a // send sound enable command
0f22 | 26 10 : ld h,$10
0f24 | fb : ei
0f25 | 22 d0 e0 : ld ($e0d0),hl
0f28 | 3a 00 c1 : ld a,($c100) // read input
0f2b | bd : cp l
0f2c | 6f : ld l,a
0f2d | 28 f6 : jr z,$0f25
0f2f | fe f7 : cp $f7 // pressed right?
0f31 | 28 0e : jr z,$0f41
0f33 | fe fb : cp $fb // pressed left?
0f35 | 28 0d : jr z,$0f44
0f37 | fe df : cp $df // pressed button 2?
0f39 | 28 0c : jr z,$0f47
0f3b | fe ef : cp $ef // pressed button 1?
0f3d | 28 0c : jr z,$0f4b
0f3f | 18 e4 : jr $0f25
0f41 | 24 : inc hl // code increment
0f42 | 18 e1 : jr $0f25
0f44 | 25 : dec hl // code decrement
0f45 | 18 de : jr $0f25
0f47 | 3e 01 : ld a,$01 // stop sound
0f49 | 18 01 : jr $0f4c
0f4b | 7c : ld a,h // play sound
0f4c | 32 00 c3 : ld ($c300),a
0f4f | 18 d4 : jr $0f25
-->
<action>audiocpu.mb@0bc1 = 2b</action> <!-- sound enable -->
</script>
<script state="run">
<output format="----- hal21 sound test mode -----" line="10" align="center" />
<output format="left : code decrement" line="11" align="center" />
<output format="right : code increment" 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@e0d1</argument>
</output>
</script>
<script state="off">
<action> maincpu.mq@0f1b = 3a15bacd0f3021dd</action>
<action> maincpu.mq@0f23 = 4921ddc838e6c400</action>
<action> maincpu.mq@0f2b = 31fc23c915bacd0f</action>
<action> maincpu.mq@0f33 = 4948202020505520</action>
<action> maincpu.mq@0f3b = 202045524f43532d</action>
<action> maincpu.mq@0f43 = ffd1ff5055203220</action>
<action> maincpu.mq@0f4b = ff20544944455243</action>
<action>audiocpu.mb@0bc1 = a8</action>
</script>
</cheat>