Code: Select all
<cheat desc="no hit">
<parameter>
<item value="0x01">P1 </item>
<item value="0x02">P2 </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.rq@02acc = 4eb9000ff0624e71</action> <!-- direct attack / firearms -->
<action>maincpu.rq@0a3be = 4eb9000ff07a6700</action> <!-- catch / throw -->
<action>maincpu.rq@0dd72 = 4eb9000ff0864e71</action> <!-- storm bringer (heidern) -->
<action>maincpu.rq@0f548 = 4eb9000ff0864e71</action> <!-- super argentine back breaker (ralf) -->
<action>maincpu.rq@10736 = 4eb9000ff0864e71</action> <!-- super argentine back breaker (clark) -->
<action>maincpu.rq@10f94 = 4eb9000ff0864e71</action> <!-- ultra argentine back breaker (clark) -->
<action>maincpu.rq@18754 = 4eb9000ff0984e71</action> <!-- jiraishin (daimon) -->
<action>maincpu.rq@188d2 = 4eb9000ff0864e71</action> <!-- chou-oosotogari (daimon) -->
<action>maincpu.rq@19590 = 4eb9000ff0864e71</action> <!-- tenchi gaeshi (daimon) -->
<action>maincpu.rq@19f00 = 4eb9000ff0864e71</action> <!-- jigoku gokuraku otoshi (daimon) -->
<action>maincpu.rq@29174 = 4eb9000ff0864e71</action> <!-- syouran kyaku (takuma) -->
<action>maincpu.rq@2ad22 = 4eb9000ff0864e71</action> <!-- hyakuretsu binta (yuri) -->
<action>maincpu.rq@ff040 = 48e780007001b7fc</action>
<action>maincpu.rq@ff048 = 0010810060027000</action>
<action>maincpu.rq@ff050 = b7fc001083006002</action>
<action>maincpu.rq@ff058 = 70004a804cdf0001</action>
<action>maincpu.rq@ff060 = 4e752c6d079648e7</action>
<action>maincpu.rq@ff068 = 0010264e61d24cdf</action>
<action>maincpu.rq@ff070 = 08006704052e007a</action>
<action>maincpu.rq@ff078 = 4e754841121061c0</action>
<action>maincpu.rq@ff080 = 6702c2074e75302c</action>
<action>maincpu.rq@ff088 = 0018906b001861b0</action>
<action>maincpu.rq@ff090 = 6602707f4a404e75</action>
<action>maincpu.rq@ff098 = 61a6670802400008</action>
<action>maincpu.rq@ff0a0 = 0c4000084e750000</action>
<!--
ff040 | 48e7 8000 : movem.l D0,-(A7) // player check routine
ff044 | 7001 : moveq #$1,D0
ff046 | b7fc 0010 8100 : cmpa.l #$108100,A3
ff04c | 6602 : bne $ff050
ff04e | 7000 : moveq #$0, D0
ff050 | b7fc 0010 8300 : cmpa.l #$108300,A3
ff056 | 6602 : bne $ff05a
ff058 | 7000 : moveq #$0,D0
ff05a | 4a80 : tst.l D0
ff05c | 4cdf 0001 : movem.l (A7)+,D0
ff060 | 4e75 : rts
ff062 | 2c6d 0796 : movea.l ($796,A5),A6 // direct attack / firearms
ff066 | 48e7 0010 : movem.l A3,-(A7)
ff06a | 264e : movea.l A6,A3
ff06c | 61d2 : bsr $ff040
ff06e | 4cdf 0800 : movem.l (A7)+,A3
ff072 | 6704 : beq $ff078
ff074 | 052e 007a : btst D2,($7a,A6)
ff078 | 4e75 : rts
ff07a | 4841 : swap D1 // catch / throw
ff07c | 1210 : move.b (A0),D1
ff07e | 61c0 : bsr $ff040
ff080 | 6702 : beq $ff084
ff082 | c207 : and.b D7, D1
ff084 | 4e75 : rts
ff086 | 302c 0018 : move.w ($18,A4),D0 // moves
ff08a | 906b 0018 : sub.w ($18,A3),D0
ff08e | 61b0 : bsr $ff040
ff090 | 6602 : bne $ff094
ff092 | 707f : moveq #$7f,D0
ff094 | 4a40 : tst.w D0
ff096 | 4e75 : rts
ff098 | 61a6 : bsr $ff040 // jiraishin (daimon)
ff09a | 6708 : beq $ff0a4
ff09c | 0240 0008 : andi.w #$8,D0
ff0a0 | 0c40 0008 : cmpi.w #$8,D0
ff0a4 | 4e75 : rts
-->
</script>
<script state="change">
<action >maincpu.rb@ff04c = 60</action>
<action >maincpu.rb@ff056 = 60</action>
<action condition="(param band 01) != 00">maincpu.rb@ff04c = 66</action>
<action condition="(param band 02) != 00">maincpu.rb@ff056 = 66</action>
</script>
<script state="off">
<action>maincpu.rq@02acc = 2c6d0796052e007a</action>
<action>maincpu.rq@0a3be = 48411210c2076700</action>
<action>maincpu.rq@0dd72 = 302c0018906b0018</action>
<action>maincpu.rq@0f548 = 302c0018906b0018</action>
<action>maincpu.rq@10736 = 302c0018906b0018</action>
<action>maincpu.rq@10f94 = 302c0018906b0018</action>
<action>maincpu.rq@18754 = 024000080c400008</action>
<action>maincpu.rq@188d2 = 302c0018906b0018</action>
<action>maincpu.rq@19590 = 302c0018906b0018</action>
<action>maincpu.rq@19f00 = 302c0018906b0018</action>
<action>maincpu.rq@29174 = 302c0018906b0018</action>
<action>maincpu.rq@2ad22 = 302c0018906b0018</action>
<action>maincpu.rq@ff040 = 0000000000000000</action>
<action>maincpu.rq@ff048 = 0000000000000000</action>
<action>maincpu.rq@ff050 = 0000000000000000</action>
<action>maincpu.rq@ff058 = 0000000000000000</action>
<action>maincpu.rq@ff060 = 0000000000000000</action>
<action>maincpu.rq@ff068 = 0000000000000000</action>
<action>maincpu.rq@ff070 = 0000000000000000</action>
<action>maincpu.rq@ff078 = 0000000000000000</action>
<action>maincpu.rq@ff080 = 0000000000000000</action>
<action>maincpu.rq@ff088 = 0000000000000000</action>
<action>maincpu.rq@ff090 = 0000000000000000</action>
<action>maincpu.rq@ff098 = 0000000000000000</action>
<action>maincpu.rq@ff0a0 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="auto fire">
<parameter>
<item value="0x01">P1 </item>
<item value="0x02">P2 </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.rq@0a35c = 4eb9000ff0ca4e71</action>
<action>maincpu.rq@ff0b0 = 7001b9fc00108100</action>
<action>maincpu.rq@ff0b8 = 66027000b9fc0010</action>
<action>maincpu.rq@ff0c0 = 8300660270004a80</action>
<action>maincpu.rq@ff0c8 = 4e751e2e000161e0</action>
<action>maincpu.rq@ff0d0 = 66021e16024700f0</action>
<action>maincpu.rq@ff0d8 = 4e75000000000000</action>
<!--
ff0b0 | 7001 : moveq #$1,D0 // player check routine
ff0b2 | b9fc 0010 8100 : cmpa.l #$108100,A4
ff0b8 | 6602 : bne $ff0bc
ff0ba | 7000 : moveq #$0,D0
ff0bc | b9fc 0010 8300 : cmpa.l #$108300,A4
ff0c2 | 6602 : bne $ff0c6
ff0c4 | 7000 : moveq #$0,D0
ff0c6 | 4a80 : tst.l D0
ff0c8 | 4e75 : rts
ff0ca | 1e2e 0001 : move.b ($1,A6),D7 // main routine
ff0ce | 61e0 : bsr $ff0b0
ff0d0 | 6602 : bne $ff0d4
ff0d2 | 1e16 : move.b (A6),D7
ff0d4 | 0247 00f0 : andi.w #$f0,D7
ff0d8 | 4e75 : rts
-->
</script>
<script state="change">
<action >maincpu.rb@ff0b8 = 60</action>
<action >maincpu.rb@ff0c2 = 60</action>
<action condition="(param band 01) != 00">maincpu.rb@ff0b8 = 66</action>
<action condition="(param band 02) != 00">maincpu.rb@ff0c2 = 66</action>
</script>
<script state="off">
<action>maincpu.rq@0a35c = 1e2e0001024700f0</action>
<action>maincpu.rq@ff0b0 = 0000000000000000</action>
<action>maincpu.rq@ff0b8 = 0000000000000000</action>
<action>maincpu.rq@ff0c0 = 0000000000000000</action>
<action>maincpu.rq@ff0c8 = 0000000000000000</action>
<action>maincpu.rq@ff0d0 = 0000000000000000</action>
<action>maincpu.rq@ff0d8 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="action speed up">
<parameter>
<item value="0x01">P1 </item>
<item value="0x02">P2 </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.rq@049b0 = 4eb9000ff12a6b00</action>
<action>maincpu.rq@ff110 = 7001b9fc00108100</action>
<action>maincpu.rq@ff118 = 66027000b9fc0010</action>
<action>maincpu.rq@ff120 = 8300660270004a80</action>
<action>maincpu.rq@ff128 = 4e75d0c019500076</action>
<action>maincpu.rq@ff130 = 6b0861dc67061950</action>
<action>maincpu.rq@ff138 = 00764e75197c0001</action>
<action>maincpu.rq@ff140 = 00764e7500000000</action>
<!--
ff110 | 7001 : moveq #$1,D0 // player check routine
ff112 | b9fc 0010 8100 : cmpa.l #$108100,A4
ff118 | 6602 : bne $ff11c
ff11a | 7000 : moveq #$0,D0
ff11c | b9fc 0010 8300 : cmpa.l #$108300,A4
ff122 | 6002 : bra $ff126
ff124 | 7000 : moveq #$0,D0
ff126 | 4a80 : tst.l D0
ff128 | 4e75 : rts
ff12a | d0c0 : adda.w D0,A0 // main routine
ff12c | 1950 0076 : move.b (A0),($76,A4)
ff130 | 6b08 : bmi $ff13a
ff132 | 61dc : bsr $ff110
ff134 | 6706 : beq $ff13c
ff136 | 1950 0076 : move.b (A0),($76,A4)
ff13a | 4e75 : rts
ff13c | 197c 0001 0076 : move.b #$1,($76,A4)
ff142 | 4e75 : rts
-->
</script>
<script state="change">
<action >maincpu.rb@ff118 = 60</action>
<action >maincpu.rb@ff122 = 60</action>
<action condition="(param band 01) != 00">maincpu.rb@ff118 = 66</action>
<action condition="(param band 02) != 00">maincpu.rb@ff122 = 66</action>
</script>
<script state="off">
<action>maincpu.rq@049b0 = d0c0195000766b00</action>
<action>maincpu.rq@ff110 = 0000000000000000</action>
<action>maincpu.rq@ff118 = 0000000000000000</action>
<action>maincpu.rq@ff120 = 0000000000000000</action>
<action>maincpu.rq@ff128 = 0000000000000000</action>
<action>maincpu.rq@ff130 = 0000000000000000</action>
<action>maincpu.rq@ff138 = 0000000000000000</action>
<action>maincpu.rq@ff140 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="enable special move">
<parameter>
<item value="0x01">P1 </item>
<item value="0x02">P2 </item>
<item value="0x03">both players</item>
</parameter>
<script state="on">
<action>maincpu.rq@04c1e = 4eb9000ff0fa6304</action>
<action>maincpu.rq@0b1b8 = 4eb9000ff0fa6304</action>
<action>maincpu.rq@0b1e4 = 4eb9000ff0fa6304</action>
<action>maincpu.rq@0b228 = 4eb9000ff0fa6304</action>
<action>maincpu.rq@ff0e0 = 7001b9fc00108100</action>
<action>maincpu.rq@ff0e8 = 66027000b9fc0010</action>
<action>maincpu.rq@ff0f0 = 8300660270004a80</action>
<action>maincpu.rq@ff0f8 = 4e7561e467080c6c</action>
<action>maincpu.rq@ff100 = 003f01204e750c6c</action>
<action>maincpu.rq@ff108 = 00ff01204e750000</action>
<!--
ff0e0 | 7001 : moveq #$1,D0 // player check routine
ff0e2 | b9fc 0010 8100 : cmpa.l #$108100,A4
ff0e8 | 6602 : bne $ff0ec
ff0ea | 7000 : moveq #$0,D0
ff0ec | b9fc 0010 8300 : cmpa.l #$108300,A4
ff0f2 | 6602 : bne $ff0f6
ff0f4 | 7000 : moveq #$0,D0
ff0f6 | 4a80 : tst.l D0
ff0f8 | 4e75 : rts
ff0fa | 61e4 : bsr $ff0e0 // main routine
ff0fc | 6708 : beq $ff106
ff0fe | 0c6c 003f 0120 : cmpi.w #$3f,($120,A4)
ff104 | 4e75 : rts
ff106 | 0c6c 00ff 0120 : cmpi.w #$ff,($120,A4)
ff10c | 4e75 : rts
-->
</script>
<script state="change">
<action >maincpu.rb@ff0e8 = 60</action>
<action >maincpu.rb@ff0f2 = 60</action>
<action condition="(param band 01) != 00">maincpu.rb@ff0e8 = 66</action>
<action condition="(param band 02) != 00">maincpu.rb@ff0f2 = 66</action>
</script>
<script state="off">
<action>maincpu.rq@04c1e = 0c6c003f01206304</action>
<action>maincpu.rq@0b1b8 = 0c6c003f01206304</action>
<action>maincpu.rq@0b1e4 = 0c6c003f01206304</action>
<action>maincpu.rq@0b228 = 0c6c003f01206304</action>
<action>maincpu.rq@ff0e0 = 0000000000000000</action>
<action>maincpu.rq@ff0e8 = 0000000000000000</action>
<action>maincpu.rq@ff0f0 = 0000000000000000</action>
<action>maincpu.rq@ff0f8 = 0000000000000000</action>
<action>maincpu.rq@ff100 = 0000000000000000</action>
<action>maincpu.rq@ff108 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x00ff">01 (slow)</item>
<item value="0x0064">02 </item>
<item value="0x0032">03 </item>
<item value="0x0016">04 </item>
<item value="0x0001">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.rd@3412e = 1b7c0000</action>
</script>
<script state="change">
<action>maincpu.rw@34130 = param</action>
</script>
<script state="off">
<action>maincpu.rd@3412e = 1b6d0830</action>
</script>
</cheat>
"no hit" merges master code and player code into one and rearranges with qword. As a result, "action" status reduces from 47 to 25.
I omit "skip ram/rom check" because it has already posted here.