Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.ob@aed7 = 18</action> <!-- bullet -->
<action>maincpu.ob@af19 = 18</action> <!-- enemy -->
<action>maincpu.ob@9256 = c3</action> <!-- grenade -->
<action>maincpu.ob@8c88 = c9</action> <!-- background -->
<action>maincpu.ob@190e = 18</action> <!-- vehicle from side -->
<action>maincpu.ob@231e = 18</action> <!-- bullet (tochka) -->
<action>maincpu.ob@1a0b = c9</action> <!-- vehicle from front -->
<action>maincpu.ob@3539 = c9</action> <!-- vehicle from back -->
</script>
<script state="off">
<action>maincpu.ob@aed7 = 30</action>
<action>maincpu.ob@af19 = 30</action>
<action>maincpu.ob@9256 = d2</action>
<action>maincpu.ob@8c88 = c8</action>
<action>maincpu.ob@190e = 30</action>
<action>maincpu.ob@231e = 30</action>
<action>maincpu.ob@1a0b = d0</action>
<action>maincpu.ob@3539 = d0</action>
</script>
</cheat>
<cheat desc="walk through wall">
<script state="on">
<action>maincpu.ob@8bdc = c3</action>
<action>maincpu.mb@8bdd = 4a</action>
</script>
<script state="off">
<action>maincpu.ob@8bdc = c2</action>
<action>maincpu.mb@8bdd = 80</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mq@933a = 0c10fe106ee004b2</action>
<!--
933a | 3a 04 e0 : ld a,($e004)
933d | e6 10 : and $10
933f | fe 10 : cp $10
-->
<action>maincpu.ob@9347 = 18</action>
</script>
<script state="off">
<action>maincpu.mq@933a = 0c01fe076ee00cb2</action>
<action>maincpu.ob@9347 = 28</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.mw@084e = b860</action>
<action>maincpu.oq@b860 = 10c1ff00cdc5ff06</action>
<action>maincpu.mq@b860 = ff008939ff000000</action>
<action>maincpu.oq@b868 = ff00ff00ff00c900</action>
<action>maincpu.mq@b868 = ff00ff00ff0000f9</action>
<!--
b860 | 06 xx : ld b,$xx
b862 | c5 : push bc
b863 | cd 39 89 : call $8939
b866 | c1 : pop bc
b867 | 10 f9 : djnz $b862
b869 | c9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@b861 = param</action>
</script>
<script state="off">
<action>maincpu.mw@084e = 8939</action>
<action>maincpu.oq@b860 = ff00ff00ff00ff00</action>
<action>maincpu.mq@b860 = ff00ff00ff00ff00</action>
<action>maincpu.oq@b868 = ff00ff00ff00ff00</action>
<action>maincpu.mq@b868 = ff00ff00ff00ff00</action>
</script>
</cheat>
<cheat desc="fast grenade">
<script state="on">
<action>maincpu.ob@9115 = cd</action>
<action>maincpu.mw@9116 = b8a0</action>
<action>maincpu.oq@b8a0 = ff77dd00c6007edd</action>
<action>maincpu.mq@b8a0 = 0500ff4eff05ff00</action>
<action>maincpu.oq@b8a8 = ff00ff00ff00c9af</action>
<action>maincpu.mq@b8a8 = ff00ff00ff00ff00</action>
<!--
9115 | cd a0 b8 : call $b8a0
b8a0 | dd 7e 05 : ld a,(ix+$05)
b8a3 | c6 4e : add a,$4e
b8a5 | dd 77 05 : ld (ix+$05),a
b8a8 | af : xor a
b8a9 | c9 : ret
-->
</script>
<script state="off">
<action>maincpu.ob@9115 = dd</action>
<action>maincpu.mw@9116 = 1553</action>
<action>maincpu.oq@b8a0 = ff00ff00ff00ff00</action>
<action>maincpu.mq@b8a0 = ff00ff00ff00ff00</action>
<action>maincpu.oq@b8a8 = ff00ff00ff00ff00</action>
<action>maincpu.mq@b8a8 = ff00ff00ff00ff00</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@0067 = 02</action>
<action>maincpu.mw@0165 = b870</action>
<action>maincpu.oq@b870 = 003a00ff22ff0021</action>
<action>maincpu.mq@b870 = 01ffe100000000ff</action>
<action>maincpu.oq@b878 = 20fffeff286fbdff</action>
<action>maincpu.mq@b878 = 00fd00f600ff00c0</action>
<action>maincpu.oq@b880 = fe24ff20fffe2500</action>
<action>maincpu.mq@b880 = ff000100fe00ff01</action>
<action>maincpu.oq@b888 = fffeff187c002000</action>
<action>maincpu.mq@b888 = df000600ff03ffef</action>
<action>maincpu.oq@b890 = 18ff0032003e0020</action>
<action>maincpu.mq@b890 = 00c800ff00ff05ff</action>
<action>maincpu.oq@b898 = 00ff00ff00ff00ff</action>
<action>maincpu.mq@b898 = 00ff00ff00ff00da</action>
<!--
b870 | 21 00 00 : ld hl,$0000 // initialize sound and input values
b873 | 22 00 e1 : ld ($e100),hl
b876 | 3a 01 c0 : ld a,($c001) // read input
b879 | bd : cp l
b87a | 6f : ld l,a
b87b | 28 f6 : jr z,$b873
b87d | fe fd : cp $fd
b87f | 20 01 : jr nz,$b882
b881 | 25 : dec h // decrease code
b882 | fe fe : cp $fe
b884 | 20 01 : jr nz,$b887
b886 | 24 : inc h // increase code
b887 | fe ef : cp $ef
b889 | 20 03 : jr nz,$b88e
b88b | 7c : ld a,h // play sound
b88c | 18 06 : jr $b894
b88e | fe df : cp $df
b890 | 20 05 : jr nz,$b897
b892 | 3e 00 : ld a,$00 // stop sound
b894 | 32 00 c8 : ld ($c800),a // send sound code
b897 | 18 da : jr $b873
-->
<action>audiocpu.mb@0100 = 00</action> <!-- stop sfx and music at the same time -->
</script>
<script state="run">
<output format="----- senjou no ookami 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>maincpu.pb@e101</argument>
</output>
</script>
<script state="off">
<action> maincpu.mb@0067 = 00</action>
<action> maincpu.mw@0165 = 8000</action>
<action> maincpu.oq@b870 = 00ff00ff00ff00ff</action>
<action> maincpu.mq@b870 = 00ff00ff00ff00ff</action>
<action> maincpu.oq@b878 = 00ff00ff00ff00ff</action>
<action> maincpu.mq@b878 = 00ff00ff00ff00ff</action>
<action> maincpu.oq@b880 = ff00ff00ff00ff00</action>
<action> maincpu.mq@b880 = ff00ff00ff00ff00</action>
<action> maincpu.oq@b888 = ff00ff00ff00ff00</action>
<action> maincpu.mq@b888 = ff00ff00ff00ff00</action>
<action> maincpu.oq@b890 = 00ff00ff00ff00ff</action>
<action> maincpu.mq@b890 = 00ff00ff00ff00ff</action>
<action> maincpu.oq@b898 = 00ff00ff00ff00ff</action>
<action> maincpu.mq@b898 = 00ff00ff00ff00ff</action>
<action>audiocpu.mb@0100 = c9</action>
</script>
</cheat>
<cheat desc="skip warning message">
<script state="on">
<action>maincpu.ob@03dc = 00</action>
<action>maincpu.ob@03e1 = 00</action>
</script>
<script state="off">
<action>maincpu.ob@03dc = c0</action>
<action>maincpu.ob@03e1 = c0</action>
</script>
</cheat>