Code: Select all
<cheat desc="no hit (wip)">
<script state="on">
<action>slot:cart:rom.mb@bb8c = c9</action> <!-- object -->
<action>slot:cart:rom.mb@36eb = c9</action> <!-- background -->
</script>
<script state="off">
<action>slot:cart:rom.mb@bb8c = c8</action>
<action>slot:cart:rom.mb@36eb = 3e</action>
</script>
</cheat>
<cheat desc="auto fire - shot (wip)">
<script state="on">
<action>slot:cart:rom.mb@378b = 00</action>
</script>
<script state="off">
<action>slot:cart:rom.mb@378b = 0a</action>
</script>
</cheat>
<cheat desc="player speed (wip)">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>slot:cart:rom.md@331b = fe7e20cd</action> <!-- x position -->
<action>slot:cart:rom.md@332c = fe7e26cd</action> <!-- y position -->
<action>slot:cart:rom.mq@7e20 = dd470418007edd47</action>
<action>slot:cart:rom.mq@7e28 = 003e08284fa7017e</action>
<action>slot:cart:rom.mq@7e30 = 81784f44ed7e35f2</action>
<action>slot:cart:rom.mq@7e38 = ffffffffffffffc9</action>
<!--
7e20 | 47 : ld b,a // x-position
7e21 | dd 7e 00 : ld a,(ix+$00)
7e24 | 18 04 : jr $7e2a
7e26 | 47 : ld b,a // y-position
7e27 | dd 7e 01 : ld a,(ix+$01)
7e2a | a7 : and a // common routine
7e2b | 4f : ld c,a
7e2c | 28 08 : jr z,$7e36
7e2e | 3e xx : ld a,$xx
7e30 | f2 35 7e : jp p,$7e35
7e33 | ed 44 : neg
7e35 | 4f : ld c,a
7e36 | 78 : ld a,b
7e37 | 81 : add a,c
7e38 | c9 : ret
-->
</script>
<script state="change">
<action>slot:cart:rom.mb@7e2f = param</action>
</script>
<script state="off">
<action>slot:cart:rom.md@331b = fe0086dd</action>
<action>slot:cart:rom.md@332c = fe0186dd</action>
<action>slot:cart:rom.mq@7e20 = ffffffffffffffff</action>
<action>slot:cart:rom.mq@7e28 = ffffffffffffffff</action>
<action>slot:cart:rom.mq@7e30 = ffffffffffffffff</action>
<action>slot:cart:rom.mq@7e38 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="bullet speed (wip)">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>slot:cart:rom.mw@28bd = 7e40</action> <!-- level 1 -->
<action>slot:cart:rom.mw@2b0d = 7e40</action> <!-- level 2 -->
<action>slot:cart:rom.mw@2d15 = 7e40</action> <!-- level 3 -->
<action>slot:cart:rom.mw@2f94 = 7e40</action> <!-- level 4 -->
<action>slot:cart:rom.mw@3219 = 7e40</action> <!-- level 5 -->
<action>slot:cart:rom.mq@7e40 = 10c13ab2cdc50006</action>
<action>slot:cart:rom.mq@7e48 = ffffffffffffc9f9</action>
<!--
7e40 | 06 xx : ld b,$xx
7e42 | c5 : push bc
7e43 | cd b2 3a : call $3ab2
7e46 | c1 : pop bc
7e47 | 10 f9 : djnz $7e42
7e49 | c9 : ret
-->
</script>
<script state="change">
<action>slot:cart:rom.mb@7e41 = param</action>
</script>
<script state="off">
<action>slot:cart:rom.mw@28bd = 3ab2</action>
<action>slot:cart:rom.mw@2b0d = 3ab2</action>
<action>slot:cart:rom.mw@2d15 = 3ab2</action>
<action>slot:cart:rom.mw@2f94 = 3ab2</action>
<action>slot:cart:rom.mw@3219 = 3ab2</action>
<action>slot:cart:rom.mq@7e40 = ffffffffffffffff</action>
<action>slot:cart:rom.mq@7e48 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="sound test mode (wip)">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>slot:cart:rom.mb@010b = cd</action> <!-- accept sound code -->
<action>slot:cart:rom.md@0081 = 217df0c3</action>
<action>slot:cart:rom.mq@7df0 = d57df411800021fb</action>
<action>slot:cart:rom.mq@7df8 = c86fbddcdbc10022</action>
<action>slot:cart:rom.mq@7e00 = 20f7fe250120fbfe</action>
<action>slot:cart:rom.mq@7e08 = 187c0320effe2401</action>
<action>slot:cart:rom.mq@7e10 = 0432c03ec0dffe05</action>
<action>slot:cart:rom.mq@7e18 = ffffffffffffc9d0</action>
<!--
7df0 | fb : ei
7df1 | 21 00 80 : ld hl,$8000 // initialize sound and input value
7df4 | 11 f4 7d : ld de,$7df4
7df7 | d5 : push de
7df8 | 22 00 c1 : ld ($c100),hl
7dfb | db dc : in a,($dc) // read input
7dfd | bd : cp l
7dfe | 6f : ld l,a
7dff | c8 : ret z
7e00 | fe fb : cp $fb
7e02 | 20 01 : jr nz,$7e05
7e04 | 25 : dec h // pressed left - code decrement
7e05 | fe f7 : cp $f7
7e07 | 20 01 : jr nz,$7e0a
7e09 | 24 : inc h // pressed right - code increment
7e0a | fe ef : cp $ef
7e0c | 20 03 : jr nz,$7e11
7e0e | 7c : ld a,h // pressed button 1 - play sound
7e0f | 18 05 : jr $7e16
7e11 | fe df : cp $df
7e13 | c0 : ret nz
7e14 | 3e c0 : ld a,$c0 // pressed button 2 - stop sound
7e16 | 32 04 d0 : ld ($d004),a // send sound code
7e19 | c9 : ret
-->
</script>
<script state="run">
<output format="----- aerial assult 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@c101</argument>
</output>
</script>
<script state="off">
<action>slot:cart:rom.mb@010b = c4</action>
<action>slot:cart:rom.md@0081 = 21c2003a</action>
<action>slot:cart:rom.mq@7df0 = ffffffffffffffff</action>
<action>slot:cart:rom.mq@7df8 = ffffffffffffffff</action>
<action>slot:cart:rom.mq@7e00 = ffffffffffffffff</action>
<action>slot:cart:rom.mq@7e08 = ffffffffffffffff</action>
<action>slot:cart:rom.mq@7e10 = ffffffffffffffff</action>
<action>slot:cart:rom.mq@7e18 = ffffffffffffffff</action>
</script>
</cheat>