Page 1 of 1

[sf2j] Street Fighter II

Posted: Tue Dec 29, 2020 12:42 pm
by jman

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">
        <!-- attack -->
        <action>maincpu.md@7e26e =         4eb800c0</action>
        <action>maincpu.md@7e290 =         4eb800c0</action>
        <action>maincpu.md@7e2b2 =         4eb800c0</action>
        <action>maincpu.mq@000c0 = b4fc83c666047000</action>
        <action>maincpu.mq@000c8 = 4e75b4fc86c66604</action>
        <action>maincpu.mq@000d0 = 70004e754eb90007</action>
        <action>maincpu.mq@000d8 = e4844e75ffffffff</action>
        <!--
        000c0 | b4fc 83c6      : cmpa.w #$83c6,A2
        000c4 | 6604           : bne    $ca
        000c6 | 7000           : moveq  #$0,D0
        000c8 | 4e75           : rts
        000ca | b4fc 86c6      : cmpa.w #$86c6,A2
        000ce | 6604           : bne    $d4
        000d0 | 7000           : moveq  #$0,D0
        000d2 | 4e75           : rts
        000d4 | 4eb9 0007 e484 : jsr    $7e484.l
        000da | 4e75           : rts
        -->
        <!-- throw -->
        <action>maincpu.md@02f84 =         4eb800e0</action>
        <action>maincpu.mq@000e0 = b6fc83c666047801</action>
        <action>maincpu.mq@000e8 = 4e75b6fc86c66604</action>
        <action>maincpu.mq@000f0 = 78014e75d844bc44</action>
        <action>maincpu.mq@000f8 = 4e75ffffffffffff</action>
        <!--
        000e0 | b6fc 83c6 : cmpa.w #$83c6,A3
        000e4 | 6604      : bne    $ea
        000e6 | 7801      : moveq  #$1,D4
        000e8 | 4e75      : rts
        000ea | b6fc 86c6 : cmpa.w #$86c6,A3
        000ee | 6604      : bne    $f4
        000f0 | 7801      : moveq  #$1,D4
        000f2 | 4e75      : rts
        000f4 | d844      : add.w  D4,D4
        000f6 | bc44      : cmp.w  D4,D6
        000f8 | 4e75      : rts
        -->
    </script>
    <script state="change">
        <action                                  >maincpu.mb@000c4 = 60</action>
        <action                                  >maincpu.mb@000ce = 60</action>
        <action condition="(param band 01) != 00">maincpu.mb@000c4 = 66</action>
        <action condition="(param band 02) != 00">maincpu.mb@000ce = 66</action>
        <action                                  >maincpu.mb@000e4 = 60</action>
        <action                                  >maincpu.mb@000ee = 60</action>
        <action condition="(param band 01) != 00">maincpu.mb@000e4 = 66</action>
        <action condition="(param band 02) != 00">maincpu.mb@000ee = 66</action>
    </script>
    <script state="off">
        <action>maincpu.md@7e26e =         61000214</action>
        <action>maincpu.md@7e290 =         610001f2</action>
        <action>maincpu.md@7e2b2 =         610001d0</action>
        <action>maincpu.mq@000c0 = ffffffffffffffff</action>
        <action>maincpu.mq@000c8 = ffffffffffffffff</action>
        <action>maincpu.mq@000d0 = ffffffffffffffff</action>
        <action>maincpu.mq@000d8 = ffffffffffffffff</action>
        <action>maincpu.md@02f84 =         d844bc44</action>
        <action>maincpu.mq@000e0 = ffffffffffffffff</action>
        <action>maincpu.mq@000e8 = ffffffffffffffff</action>
        <action>maincpu.mq@000f0 = ffffffffffffffff</action>
        <action>maincpu.mq@000f8 = ffffffffffffffff</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.md@2ce2a =         4eb80100</action>
        <action>maincpu.mq@00100 = bcfc83c66702610e</action>
        <action>maincpu.mq@00108 = bcfc86c667026106</action>
        <action>maincpu.mq@00110 = 102e02914e75426e</action>
        <action>maincpu.mq@00118 = 0294426e02a84e75</action>
        <!--
        00100 | bcfc 83c6 : cmpa.w #$83c6,A6
        00104 | 6702      : beq    $108
        00106 | 610e      : bsr    $116
        00108 | bcfc 86c6 : cmpa.w #$86c6,A6
        0010c | 6702      : beq    $110
        0010e | 6106      : bsr    $116
        00110 | 102e 0291 : move.b ($291,A6),D0
        00114 | 4e75      : rts
        00116 | 426e 0294 : clr.w  ($294,A6)
        0011a | 426e 02a8 : clr.w  ($2a8,A6)
        0011e | 4e75      : rts
        -->
    </script>
    <script state="change">
        <action                                  >maincpu.mb@00104 = 60</action>
        <action                                  >maincpu.mb@0010c = 60</action>
        <action condition="(param band 01) != 00">maincpu.mb@00104 = 66</action>
        <action condition="(param band 02) != 00">maincpu.mb@0010c = 66</action>
    </script>
    <script state="off">
        <action>maincpu.md@2ce2a =         102e0291</action>
        <action>maincpu.mq@00100 = ffffffffffffffff</action>
        <action>maincpu.mq@00108 = ffffffffffffffff</action>
        <action>maincpu.mq@00110 = ffffffffffffffff</action>
        <action>maincpu.mq@00118 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="attack 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.md@276e =         4eb80120</action>
        <action>maincpu.mq@0120 = bcfc83c66602610e</action>
        <action>maincpu.mq@0128 = bcfc86c666026106</action>
        <action>maincpu.mq@0130 = 536e00184e75102e</action>
        <action>maincpu.mq@0138 = 000341fa00240c10</action>
        <action>maincpu.mq@0140 = 00ff6706b0186708</action>
        <action>maincpu.mq@0148 = 60f43d7c00010018</action>
        <action>maincpu.mq@0150 = 4e75ffffffffffff</action>
        <action>maincpu.mq@0160 = 0002040e1012ffff</action>
        <!--
        276e | 4eb8 0120      : jsr    $120.w
        0120 | bcfc 83c6      : cmpa.w #$83c6,A6
        0124 | 6602           : bne    $128
        0126 | 610e           : bsr    $136
        0128 | bcfc 86c6      : cmpa.w #$86c6,A6
        012c | 6602           : bne    $130
        012e | 6106           : bsr    $136
        0130 | 536e 0018      : subq.w #1,($18,A6)
        0134 | 4e75           : rts
        0136 | 102e 0003      : move.b ($3,A6),D0
        013a | 41fa 0024      : lea    ($24,PC);($160),A0
        013e | 0c10 00ff      : cmpi.b #-$1,(A0)
        0142 | 6706           : beq    $14a
        0144 | b018           : cmp.b  (A0)+,D0
        0146 | 6708           : beq    $150
        0148 | 60f4           : bra    $13e
        014a | 3d7c 0001 0018 : move.w #$1,($18,A6)
        0150 | 4e75           : rts
        0160 - 016f           : action status table
        -->
    </script>
    <script state="change">
        <action                                  >maincpu.mb@00124 = 60</action>
        <action                                  >maincpu.mb@0012c = 60</action>
        <action condition="(param band 01) != 00">maincpu.mb@00124 = 66</action>
        <action condition="(param band 02) != 00">maincpu.mb@0012c = 66</action>
    </script>
    <script state="off">
        <action>maincpu.md@276e =         536e0018</action>
        <action>maincpu.mq@0120 = ffffffffffffffff</action>
        <action>maincpu.mq@0128 = ffffffffffffffff</action>
        <action>maincpu.mq@0130 = ffffffffffffffff</action>
        <action>maincpu.mq@0138 = ffffffffffffffff</action>
        <action>maincpu.mq@0140 = ffffffffffffffff</action>
        <action>maincpu.mq@0148 = ffffffffffffffff</action>
        <action>maincpu.mq@0150 = ffffffffffffffff</action>
        <action>maincpu.mq@0160 = ffffffffffffffff</action>
    </script>
</cheat>
Still need test and improvement. Especially "attack speed up" code. I encounter game reset with "flying barcelona attack" by Balrog(J).