Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@2457 = 20</action> <!-- enemy ($e457) -->
<action>maincpu.mb@24d0 = 20</action> <!-- mine ($e4d0) -->
<action>maincpu.mb@26ae = 20</action> <!-- bullet ($e6ae) -->
</script>
<script state="off">
<action>maincpu.mb@2457 = 22</action>
<action>maincpu.mb@24d0 = 22</action>
<action>maincpu.mb@26ae = 22</action>
</script>
</cheat>
<cheat desc="walk through wall">
<script state="on">
<action>maincpu.mb@485f = 20</action> <!-- left -->
<action>maincpu.mb@4a51 = 20</action> <!-- right -->
<action>maincpu.mb@4b24 = 20</action> <!-- up -->
<action>maincpu.mb@4bf0 = 20</action> <!-- down -->
<action>maincpu.mb@4cce = 20</action> <!-- upper-left -->
<action>maincpu.mb@4dc0 = 20</action> <!-- upper-right -->
<action>maincpu.mb@4eb2 = 20</action> <!-- lower-left -->
<action>maincpu.mb@4fb1 = 20</action> <!-- lower-right -->
</script>
<script state="off">
<action>maincpu.mb@485f = 27</action>
<action>maincpu.mb@4a51 = 27</action>
<action>maincpu.mb@4b24 = 27</action>
<action>maincpu.mb@4bf0 = 27</action>
<action>maincpu.mb@4cce = 27</action>
<action>maincpu.mb@4dc0 = 27</action>
<action>maincpu.mb@4eb2 = 27</action>
<action>maincpu.mb@4fb1 = 27</action>
</script>
</cheat>
<cheat desc="auto fire - shot">
<script state="on">
<action>maincpu.mb@57a9 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@57a9 = 10</action>
</script>
</cheat>
<cheat desc="auto fire - bomb">
<script state="on">
<action>maincpu.mb@5136 = 20</action> <!-- P1 -->
<action>maincpu.mb@5198 = 20</action> <!-- P2 -->
</script>
<script state="off">
<action>maincpu.mb@5136 = 27</action>
<action>maincpu.mb@5198 = 27</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0180">02 </item>
<item value="0x0280">03 </item>
<item value="0x0380">04 </item>
<item value="0x0480">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@4a86 = param</action> <!-- right -->
<action>maincpu.mw@4894 = param</action> <!-- left -->
<action>maincpu.mw@4b59 = param</action> <!-- up -->
<action>maincpu.mw@4c34 = param</action> <!-- down -->
<action>maincpu.mw@4d1b = param</action> <!-- upper-left : up -->
<action>maincpu.mw@4d22 = param</action> <!-- upper-left : left -->
<action>maincpu.mw@4e0d = param</action> <!-- upper-right : up -->
<action>maincpu.mw@4e14 = param</action> <!-- upper-right : right -->
<action>maincpu.mw@4f0c = param</action> <!-- lower-left : down -->
<action>maincpu.mw@4f13 = param</action> <!-- lower-left : left -->
<action>maincpu.mw@500b = param</action> <!-- lower-right : down -->
<action>maincpu.mw@5012 = param</action> <!-- lower-right : right -->
</script>
<script state="off">
</script>
</cheat>
<cheat desc="direct turn">
<script state="on">
<action>maincpu.mq@4675 = a609bdff008601b7</action> <!-- P1 -->
<action>maincpu.mq@46a9 = a609bdff007f0b72</action> <!-- P2 -->
<action>maincpu.mq@3f00 = 2707ceff0fa6c6a7</action>
<action>maincpu.mq@3f08 = 06a606a788233900</action>
<action>maincpu.mq@3f10 = 549400245c2c00a4</action>
<action>maincpu.mq@3f18 = ac3c000000000000</action>
<!--
4675 | a6 09 : LDA $9,X // P1
4677 | bd ff 00 : JSR $FF00
46a9 | a6 09 : LDA $9,X // P2
46ab | bd ff 00 : JSR $FF00
ff00 | 27 07 : BEQ $FF09 // main routine
ff02 | ce ff 0f : LDU #$FF0F
ff05 | a6 c6 : LDA A,U
ff07 | a7 06 : STA $6,X
ff09 | a6 06 : LDA $6,X
ff0b | a7 88 23 : STA $23,X
ff0e | 39 : RTS
ff0f - ff19 : input/direction conversion table
input direction
04 24 : up
08 a4 : down
02 94 : right
01 54 : left
06 2c : upper-right
0a 3c : lower-right
09 ac : lower-left
05 5c : upper-left
-->
</script>
<script state="off">
<action>maincpu.mq@4665 = a606a788238601b7</action>
<action>maincpu.mq@46a9 = a606a788237f0b72</action>
<action>maincpu.mq@3f00 = 0000000000000000</action>
<action>maincpu.mq@3f08 = 0000000000000000</action>
<action>maincpu.mq@3f10 = 0000000000000000</action>
<action>maincpu.mq@3f18 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set rom check skip then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mb@04d9 = 39</action> <!-- message erase stopper ($c4d9) -->
<action>maincpu.mw@2eeb = ff20</action> <!-- ($eeeb) -->
<action>maincpu.mq@3f20 = bdc4b7b600119111</action>
<action>maincpu.mq@3f28 = 271f81fe26020a10</action>
<action>maincpu.mq@3f30 = 81fd26020c1081ef</action>
<action>maincpu.mq@3f38 = 2604d610200581df</action>
<action>maincpu.mq@3f40 = 26075ff71c067c1c</action>
<action>maincpu.mq@3f48 = 0797113900000000</action>
<!--
ff20 | bd c4 b7 : JSR $C4B7
ff23 | b6 00 11 : LDA >$0011
ff26 | 91 11 : CMPA $11
ff28 | 27 1f : BEQ $FF49
ff2a | 81 fe : CMPA #$FE
ff2c | 26 02 : BNE $FF30
ff2e | 0a 10 : DEC $10
ff30 | 81 fd : CMPA #$FD
ff32 | 26 02 : BNE $FF36
ff34 | 0c 10 : INC $10
ff36 | 81 ef : CMPA #$EF
ff38 | 26 04 : BNE $FF3E
ff3a | d6 10 : LDB $10
ff3c | 20 05 : BRA $FF43
ff3e | 81 df : CMPA #$DF
ff40 | 26 07 : BNE $FF49
ff42 | 5f : CLRB
ff43 | f7 1c 06 : STB $1C06
ff46 | 7c 1c 07 : INC $1C07
ff49 | 97 11 : STA $11
ff4b | 39 : RTS
-->
</script>
<script state="run">
<output format="----- jackal 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@1210</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@04d9 = 8d</action>
<action>maincpu.mw@2eeb = c23f</action>
<action>maincpu.mq@3f20 = 0000000000000000</action>
<action>maincpu.mq@3f28 = 0000000000000000</action>
<action>maincpu.mq@3f30 = 0000000000000000</action>
<action>maincpu.mq@3f38 = 0000000000000000</action>
<action>maincpu.mq@3f40 = 0000000000000000</action>
<action>maincpu.mq@3f48 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@0ccc = 2006</action> <!-- rom1 ($cccc) -->
<action>maincpu.mw@0cf5 = 2006</action> <!-- rom2 ($ccf5) -->
<action> slave.mw@00c0 = 2022</action> <!-- rom3 ($80c0) -->
</script>
<script state="off">
<action>maincpu.mw@0ccc = bdcd</action>
<action>maincpu.mw@0cf5 = bdcd</action>
<action> slave.mw@00c0 = ce80</action>
</script>
</cheat>
BTW, cheat codes in current database based on 0.221 have expression parse error because recent jackal and clones don't have "master" cpu tag. You need to replace "master" with "maincpu" in jackal.xml or related files to bypass this error.