[fjbuster] Shogun Warriors/Fujiyama Buster

This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
Post Reply
jman
Posts: 1316
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[fjbuster] Shogun Warriors/Fujiyama Buster

Post by jman »

Code: Select all

<cheat desc="no hit">
    <parameter>
        <item value="0x01">PL1         </item>
        <item value="0x02">PL2         </item>
        <item value="0x03">both players</item>
    </parameter>
    <script state="on">
        <!-- attack -->
        <action>maincpu.mq@0a3c2 = 4eb90003ff004ed0</action>
        <action>maincpu.mq@3ff00 = 41fa001e70012218</action>
        <action>maincpu.mq@3ff08 = 6706224108910007</action>
        <action>maincpu.mq@3ff10 = 51c8fff420790020</action>
        <action>maincpu.mq@3ff18 = 38024e7500000000</action>
        <!--
        3ff00 | 41fa 001e      : lea     ($1e,PC);($3ff20),A0
        3ff04 | 7001           : moveq   #$1,D0
        3ff06 | 2218           : move.l  (A0)+,D1
        3ff08 | 6706           : beq     $3ff10
        3ff0a | 2241           : movea.l D1,A1
        3ff0c | 0891 0007      : bclr    #$7,(A1)
        3ff10 | 51c8 fff4      : dbra    D0,$3ff06
        3ff14 | 2079 0020 3802 : movea.l $203802.l,A0
        3ff1a | 4e75           : rts
        3ff20 - 3ff27          : player table
        -->
        <!-- throw -->
        <action>maincpu.md@019a8 =         0003ff30</action>
        <action>maincpu.md@019e0 =         0003ff30</action>
        <action>maincpu.md@01a4e =         0003ff30</action>
        <action>maincpu.mq@3ff30 = 2f0841fa001c7401</action>
        <action>maincpu.mq@3ff38 = b7d8660670014241</action>
        <action>maincpu.mq@3ff40 = 600a51cafff44eb9</action>
        <action>maincpu.mq@3ff48 = 00004080205f4e75</action>
        <!--
        3ff30 | 2f08           : move.l  A0,-(A7)
        3ff32 | 4dfa 001c      : lea     ($1c,PC);($3ff50),A6
        3ff36 | 7401           : moveq   #$1,D2
        3ff38 | b7d8           : cmpa.l  (A0)+,A3
        3ff3a | 6606           : bne     $3ff42
        3ff3c | 7001           : moveq   #$1,D0
        3ff3e | 4241           : clr.w   D1
        3ff40 | 600a           : bra     $3ff4c
        3ff42 | 51ca fff4      : dbra    D2,$3ff38
        3ff46 | 4eb9 0000 4080 : jsr     $4080.l
        3ff4c | 205f           : movea.l (A7)+,A0
        3ff4e | 4e75           : rts
        3ff50 - 3ff57          : player table
        -->
        <!-- CPU throw -->
        <action>maincpu.mb@0b1da = 60</action>
        <action>maincpu.mb@0ba8e = 60</action>
    </script>
    <script state="change">
        <action                                  >maincpu.mq@3ff20 = 0000000000000000</action>
        <action condition="(param band 01) != 00">maincpu.md@3ff20 =         0010280a</action>
        <action condition="(param band 02) != 00">maincpu.md@3ff24 =         0010280e</action>
        <action                                  >maincpu.mq@3ff50 = 0000000000000000</action>
        <action condition="(param band 01) != 00">maincpu.md@3ff50 =         00102808</action>
        <action condition="(param band 02) != 00">maincpu.md@3ff54 =         0010280c</action>
    </script>
    <script state="off">
        <action>maincpu.mq@0a3c2 = 2079002038024ed0</action>
        <action>maincpu.mq@3ff00 = 0000000000000000</action>
        <action>maincpu.mq@3ff08 = 0000000000000000</action>
        <action>maincpu.mq@3ff10 = 0000000000000000</action>
        <action>maincpu.mq@3ff18 = 0000000000000000</action>
        <action>maincpu.mq@3ff20 = 0000000000000000</action>
        <action>maincpu.md@019a8 =         00004080</action>
        <action>maincpu.md@019e0 =         00004080</action>
        <action>maincpu.md@01a4e =         00004080</action>
        <action>maincpu.mq@3ff30 = 0000000000000000</action>
        <action>maincpu.mq@3ff38 = 0000000000000000</action>
        <action>maincpu.mq@3ff40 = 0000000000000000</action>
        <action>maincpu.mq@3ff48 = 0000000000000000</action>
        <action>maincpu.mq@3ff50 = 0000000000000000</action>
        <action>maincpu.mb@0b1da =               62</action>
        <action>maincpu.mb@0ba8e =               62</action>
    </script>
</cheat>

<cheat desc="auto fire PL1">
    <script state="on">
        <action>maincpu.mb@3ef1 = 04</action> <!-- kick -->
        <action>maincpu.mb@3f07 = 00</action> <!-- punch -->
    </script>
    <script state="off">
        <action>maincpu.mb@3ef1 = 0c</action>
        <action>maincpu.mb@3f07 = 08</action>
    </script>
</cheat>

<cheat desc="attack speed up PL1">
    <script state="on">
        <action>maincpu.mq@07368 = 4eb90003ff604e71</action>
        <action>maincpu.mq@3ff60 = 1b580083bbfc0010</action>
        <action>maincpu.mq@3ff68 = 280866202f0841fa</action>
        <action>maincpu.mq@3ff70 = 00301239001063f3</action>
        <action>maincpu.mq@3ff78 = 7009b2186602600a</action>
        <action>maincpu.mq@3ff80 = 51c8fff81b7c0001</action>
        <action>maincpu.mq@3ff88 = 0083205f2b480180</action>
        <action>maincpu.mq@3ff90 = 4e75000000000000</action>
        <action>maincpu.mq@3ffa0 = 181e1f2021222324</action>
        <action>maincpu.mq@3ffa8 = 2500000000000000</action>
        <!--
        3ff60 | 1b58 0083           : move.b  (A0)+,($83,A5)
        3ff64 | bbfc 0010 2808      : cmpa.l  #$102808,A5
        3ff6a | 6620                : bne     $3ff8c
        3ff6c | 2f08                : move.l  A0,-(A7)
        3ff6e | 41fa 0030           : lea     ($30,PC);($3ffa0),A0
        3ff72 | 1239 0010 63f3      : move.b  $1063f3.l,D1
        3ff78 | 7008                : moveq   #$9,D0
        3ff7a | b218                : cmp.b   (A0)+,D1
        3ff7c | 6602                : bne     $3ff80
        3ff7e | 600a                : bra     $3ff8a
        3ff80 | 51c8 fff8           : dbra    D0,$3ff7a
        3ff84 | 1b7c 0001 0083      : move.b  #$1,($83,A5)
        3ff8a | 205f                : movea.l (A7)+,A0
        3ff8c | 2b48 0180           : move.l  A0,($180,A5)
        3ff90 | 4e75                : rts
        3ffa0 - 3ffa8               : action status table
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@07368 = 1b5800832b480180</action>
        <action>maincpu.mq@3ff60 = 0000000000000000</action>
        <action>maincpu.mq@3ff68 = 0000000000000000</action>
        <action>maincpu.mq@3ff70 = 0000000000000000</action>
        <action>maincpu.mq@3ff78 = 0000000000000000</action>
        <action>maincpu.mq@3ff80 = 0000000000000000</action>
        <action>maincpu.mq@3ff88 = 0000000000000000</action>
        <action>maincpu.mq@3ff90 = 0000000000000000</action>
        <action>maincpu.mq@3ffa0 = 0000000000000000</action>
        <action>maincpu.mq@3ffa8 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="skip rom check">
    <script state="on">
        <action>maincpu.mw@2238e = 6026</action>
    </script>
    <script state="off">
        <action>maincpu.mw@2238e = 4df8</action>
    </script>
</cheat>
Still need test and more improvement.
Last edited by jman on Sat Oct 23, 2021 2:22 am, edited 1 time in total.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1316
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[fjbuster] update codes

Post by jman »

Update.

Code: Select all

<cheat desc="no hit">
    <parameter>
        <item value="0x01">PL1         </item>
        <item value="0x02">PL2         </item>
        <item value="0x03">both players</item>
    </parameter>
    <script state="on">
        <!-- attack -->
        <action>maincpu.mq@0a3c2 = 4eb90003ff004ed0</action>
        <action>maincpu.mq@3ff00 = 207c0010280a6110</action>
        <action>maincpu.mq@3ff08 = 207c0010280e6108</action>
        <action>maincpu.mq@3ff10 = 2079002038024e75</action>
        <action>maincpu.mq@3ff18 = 089000074e750000</action>
        <!--
        3ff00 | 207c 0010 280a : movea.l #$10280a,A0
        3ff06 | 6110           : bsr     $3ff18
        3ff08 | 207c 0010 280e : movea.l #$10280c,A0
        3ff0e | 6108           : bsr     $3ff18
        3ff10 | 2079 0020 3802 : movea.l $203802.l,A0
        3ff16 | 4e75           : rts
        3ff18 | 0890 0007      : bclr    #$7,(A0)
        3ff1c | 4e75           : rts
        -->
        <!-- throw -->
        <action>maincpu.md@019a8 =         0003ff20</action>
        <action>maincpu.md@019e0 =         0003ff20</action>
        <action>maincpu.md@01a4e =         0003ff20</action>
        <action>maincpu.mq@3ff20 = 4eb900004080b7fc</action>
        <action>maincpu.mq@3ff28 = 001028086602610c</action>
        <action>maincpu.mq@3ff30 = b7fc0010280c6602</action>
        <action>maincpu.mq@3ff38 = 61024e7570014241</action>
        <action>maincpu.mq@3ff40 = 4e75000000000000</action>
        <!--
        3ff20 | 4eb9 0000 4080 : jsr    $4080.l
        3ff26 | b7fc 0010 2808 : cmpa.l #$102808,A3
        3ff2c | 6602           : bne    $3ff30
        3ff2e | 610c           : bsr    $3ff3c
        3ff30 | b7fc 0010 280c : cmpa.l #$10280c,A3
        3ff36 | 6602           : bne    $3ff3a
        3ff38 | 6102           : bsr    $3ff3c
        3ff3a | 4e75           : rts
        3ff3c | 7001           : moveq  #$1,D0
        3ff3e | 4241           : clr.w  D1
        3ff40 | 4e75           : rts
        -->
        <!-- CPU throw -->
        <action>maincpu.mb@0b1da = 60</action>
        <action>maincpu.mb@0ba8e = 60</action>
    </script>
    <script state="change">
        <action                                  >maincpu.mw@3ff06 = 4e71</action>
        <action                                  >maincpu.mw@3ff0e = 4e71</action>
        <action condition="(param band 01) != 00">maincpu.mw@3ff06 = 6110</action>
        <action condition="(param band 02) != 00">maincpu.mw@3ff0e = 6108</action>
        <action                                  >maincpu.mw@3ff2c = 6002</action>
        <action                                  >maincpu.mw@3ff36 = 6002</action>
        <action condition="(param band 01) != 00">maincpu.mw@3ff2c = 6602</action>
        <action condition="(param band 02) != 00">maincpu.mw@3ff36 = 6602</action>
    </script>
    <script state="off">
        <action>maincpu.mq@0a3c2 = 2079002038024ed0</action>
        <action>maincpu.mq@3ff00 = 0000000000000000</action>
        <action>maincpu.mq@3ff08 = 0000000000000000</action>
        <action>maincpu.mq@3ff10 = 0000000000000000</action>
        <action>maincpu.mq@3ff18 = 0000000000000000</action>
        <action>maincpu.md@019a8 =         00004880</action>
        <action>maincpu.md@019e0 =         00004880</action>
        <action>maincpu.md@01a4e =         00004880</action>
        <action>maincpu.mq@3ff20 = 0000000000000000</action>
        <action>maincpu.mq@3ff28 = 0000000000000000</action>
        <action>maincpu.mq@3ff30 = 0000000000000000</action>
        <action>maincpu.mq@3ff38 = 0000000000000000</action>
        <action>maincpu.mq@3ff40 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="auto fire PL2">
    <script state="on">
        <action>maincpu.mb@3e6b = 02</action> <!-- kick -->
        <action>maincpu.mb@3f77 = 04</action> <!-- punch -->
    </script>
    <script state="off">
        <action>maincpu.mb@3e6b = 0a</action>
        <action>maincpu.mb@3f77 = 0c</action>
    </script>
</cheat>

<cheat desc="attack speed up">
    <parameter>
        <item value="0x01">PL1         </item>
        <item value="0x02">PL2         </item>
        <item value="0x03">both players</item>
    </parameter>
    <script state="on">
        <action>maincpu.mq@07368 = 4eb90003ff604e71</action>
        <action>maincpu.mq@3ff60 = 1b5800832f08bbfc</action>
        <action>maincpu.mq@3ff68 = 0010280866081039</action>
        <action>maincpu.mq@3ff70 = 001063f36118bbfc</action>
        <action>maincpu.mq@3ff78 = 0010280c66081039</action>
        <action>maincpu.mq@3ff80 = 001065036108205f</action>
        <action>maincpu.mq@3ff88 = 2b4801804e7541fa</action>
        <action>maincpu.mq@3ff90 = 00204a106706b018</action>
        <action>maincpu.mq@3ff98 = 670860f61b7c0001</action>
        <action>maincpu.mq@3ffa0 = 00834e7500000000</action>
        <action>maincpu.mq@3ffb0 = 18191e1f20212223</action>
        <action>maincpu.mq@3ffb8 = 24252b2c2d000000</action>
        <!--
        3ff60 | 1b58 0083           : move.b  (A0)+,($83,A5)
        3ff64 | 2f08                : move.l  A0,-(A7)
        3ff66 | bbfc 0010 2808      : cmpa.l  #$102808,A5
        3ff6c | 6608                : bne     $3ff76
        3ff6e | 1039 0010 63f3      : move.b  $1063f3.l,D0
        3ff74 | 6118                : bsr     $3ff8e
        3ff76 | bbfc 0010 280c      : cmpa.l  #$10280c,A5
        3ff7c | 6608                : bne     $3ff86
        3ff7e | 1039 0010 6503      : move.b  $106503.l,D0
        3ff84 | 6108                : bsr     $3ff8e
        3ff86 | 205f                : movea.l (A7)+,A0
        3ff88 | 2b48 0180           : move.l  A0,($180,A5)
        3ff8c | 4e75                : rts
        3ff8e | 41fa 0020           : lea     ($20,PC);($3ffb0),A0
        3ff92 | 4a10                : tst.b   (A0)
        3ff94 | 6706                : beq     $3ff9c
        3ff96 | b018                : cmp.b   (A0)+,D0
        3ff98 | 6708                : beq     $3ffa2
        3ff9a | 60f6                : bra     $3ff92
        3ff9c | 1b7c 0001 0083      : move.b  #$1,($83,A5)
        3ffa2 | 4e75                : rts
        3ffb0 - 3ffbf               : action status table
        -->
    </script>
    <script state="change">
        <action condition="param == 01">maincpu.mb@3ff6c = 66, maincpu.mb@3ff7c = 60</action>
        <action condition="param == 02">maincpu.mb@3ff6c = 60, maincpu.mb@3ff7c = 66</action>
        <action condition="param == 03">maincpu.mb@3ff6c = 66, maincpu.mb@3ff7c = 66</action>
    </script>
    <script state="off">
        <action>maincpu.mq@07368 = 1b5800832b480180</action>
        <action>maincpu.mq@3ff60 = 0000000000000000</action>
        <action>maincpu.mq@3ff68 = 0000000000000000</action>
        <action>maincpu.mq@3ff70 = 0000000000000000</action>
        <action>maincpu.mq@3ff78 = 0000000000000000</action>
        <action>maincpu.mq@3ff80 = 0000000000000000</action>
        <action>maincpu.mq@3ff88 = 0000000000000000</action>
        <action>maincpu.mq@3ff90 = 0000000000000000</action>
        <action>maincpu.mq@3ff98 = 0000000000000000</action>
        <action>maincpu.mq@3ffa0 = 0000000000000000</action>
        <action>maincpu.mq@3ffb0 = 0000000000000000</action>
        <action>maincpu.mq@3ffb8 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="unlock secret character">
    <script state="on">
        <action>maincpu.mw@909c = 4e71</action>
    </script>
    <script state="off">
        <action>maincpu.mw@909c = 6706</action>
    </script>
</cheat>
  • Improved "no hit" code which remove player table read. So the size of check routine is short just a little bit.
  • Added "auto fire" and "attack speed up" for player 2.
  • Fixed character freeze bug for "attack speed up" but still need test.
  • Added "unlock secret characters". You can select bosses in character selection screen.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1316
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[fjbuster] Shogun Warriors/Fujiyama Buster (update)

Post by jman »

Code: Select all

<!-- Fujiyama Buster (Japan) -->
<mamecheat version="1">

    <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.mq@0a3c2 = 4eb9000224904ed0</action>
            <action>maincpu.mq@22490 = 207c0010280a6110</action>
            <action>maincpu.mq@22498 = 207c0010280e6108</action>
            <action>maincpu.mq@224a0 = 2079002038024e75</action>
            <action>maincpu.mq@224a8 = 089000074e750000</action>
            <!--
            22490 | 207c 0010 280a : movea.l #$10280a,A0
            22496 | 6110           : bsr     $224a8
            22498 | 207c 0010 280e : movea.l #$10280e,A0
            2249e | 6108           : bsr     $224a8
            224a0 | 2079 0020 3802 : movea.l $203802.l,A0
            224a6 | 4e75           : rts
            224a8 | 0890 0007      : bclr    #$7,(A0)
            224ac | 4e75           : rts
            -->
            <!-- throw -->
            <action>maincpu.md@019a8 =         000224b0</action>
            <action>maincpu.md@019e0 =         000224b0</action>
            <action>maincpu.md@01a4e =         000224b0</action>
            <action>maincpu.mq@224b0 = 4eb84080b7fc0010</action>
            <action>maincpu.mq@224b8 = 28086602610cb7fc</action>
            <action>maincpu.mq@224c0 = 0010280c66026102</action>
            <action>maincpu.mq@224c8 = 4e75700142414e75</action>
            <!--
            224b0 | 4eb8 4080      : jsr    $4080.w
            224b4 | b7fc 0010 2808 : cmpa.l #$102808,A3
            224ba | 6602           : bne    $224be
            224bc | 610c           : bsr    $224ca
            224be | b7fc 0010 280c : cmpa.l #$10280c,A3
            224c4 | 6602           : bne    $224c8
            224c6 | 6102           : bsr    $224ca
            224c8 | 4e75           : rts
            224ca | 7001           : moveq  #$1,D0
            224cc | 4241           : clr.w  D1
            224ce | 4e75           : rts
            -->
            <!-- CPU throw -->
            <action>maincpu.mb@b1da = 60</action>
            <action>maincpu.mb@ba8e = 60</action>
        </script>
        <script state="change">
            <action                          >maincpu.mw@22496 = 4e71</action>
            <action                          >maincpu.mw@2249e = 4e71</action>
            <action condition="param band 01">maincpu.mw@22496 = 6110</action>
            <action condition="param band 02">maincpu.mw@2249e = 6108</action>
            <action                          >maincpu.mw@224ba = 6002</action>
            <action                          >maincpu.mw@224c4 = 6002</action>
            <action condition="param band 01">maincpu.mw@224ba = 6602</action>
            <action condition="param band 02">maincpu.mw@224c4 = 6602</action>
        </script>
        <script state="off">
            <action>maincpu.mq@0a3c2 = 2079002038024ed0</action>
            <action>maincpu.mq@22490 = 0000000000000000</action>
            <action>maincpu.mq@22498 = 0000000000000000</action>
            <action>maincpu.mq@224a0 = 0000000000000000</action>
            <action>maincpu.mq@224a8 = 0000000000000000</action>
            <action>maincpu.md@019a8 =         00004080</action>
            <action>maincpu.md@019e0 =         00004080</action>
            <action>maincpu.md@01a4e =         00004080</action>
            <action>maincpu.mq@224b0 = 0000000000000000</action>
            <action>maincpu.mq@224b8 = 0000000000000000</action>
            <action>maincpu.mq@224c0 = 0000000000000000</action>
            <action>maincpu.mq@224c8 = 0000000000000000</action>
            <action>maincpu.mb@0b1da =               62</action>
            <action>maincpu.mb@0ba8e =               62</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="change">
            <!-- P1 -->
            <action                          >maincpu.mb@3ef1 = 0c</action>
            <action                          >maincpu.mb@3f07 = 08</action>
            <action condition="param band 01">maincpu.mb@3ef1 = 04</action> <!-- kick -->
            <action condition="param band 01">maincpu.mb@3f07 = 00</action> <!-- punch -->
            <!-- P2 -->
            <action                          >maincpu.mb@3f6b = 0a</action>
            <action                          >maincpu.mb@3f77 = 0c</action>
            <action condition="param band 02">maincpu.mb@3f6b = 02</action> <!-- kick -->
            <action condition="param band 02">maincpu.mb@3f77 = 04</action> <!-- punch -->
        </script>
        <script state="off">
            <action>maincpu.mb@3ef1 = 0c</action>
            <action>maincpu.mb@3f07 = 08</action>
            <action>maincpu.mb@3f6b = 0a</action>
            <action>maincpu.mb@3f77 = 0c</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.mq@07368 = 4eb9000224d04e71</action>
            <action>maincpu.mq@224d0 = 1b5800832f08bbfc</action>
            <action>maincpu.mq@224d8 = 0010280866081039</action>
            <action>maincpu.mq@224e0 = 001063f36118bbfc</action>
            <action>maincpu.mq@224e8 = 0010280c66081039</action>
            <action>maincpu.mq@224f0 = 001065036108205f</action>
            <action>maincpu.mq@224f8 = 2b4801804e7541fa</action>
            <action>maincpu.mq@22500 = 00144a106706b018</action>
            <action>maincpu.mq@22508 = 670860f61b7c0001</action>
            <action>maincpu.mq@22510 = 00834e7518191e1f</action>
            <action>maincpu.mq@22518 = 2021222324252b2c</action>
            <action>maincpu.mq@22520 = 2d00000000000000</action>
            <!--
            224d0 | 1b58 0083      : move.b  (A0)+,($83,A5)
            224d4 | 2f08           : move.l  A0,-(A7)
            224d6 | bbfc 0010 2808 : cmpa.l  #$102808,A5
            224dc | 6608           : bne     $224e6
            224de | 1039 0010 63f3 : move.b  $1063f3.l,D0
            224e4 | 6118           : bsr     $224fe
            224e6 | bbfc 0010 280c : cmpa.l  #$10280c,A5
            224ec | 6608           : bne     $224f6
            224ee | 1039 0010 6503 : move.b  $106503.l,D0
            224f4 | 6108           : bsr     $224fe
            224f6 | 205f           : movea.l (A7)+,A0
            224f8 | 2b48 0180      : move.l  A0,($180,A5)
            224fc | 4e75           : rts
            224fe | 41fa 0014      : lea     ($14,PC);($22514),A0
            22502 | 4a10           : tst.b   (A0)
            22504 | 6706           : beq     $2250c
            22506 | b018           : cmp.b   (A0)+,D0
            22508 | 6708           : beq     $22512
            2250a | 60f6           : bra     $22502
            2250c | 1b7c 0001 0083 : move.b  #$1,($83,A5)
            22512 | 4e75           : rts
            22514 - 22520          : action status table
            -->
        </script>
        <script state="change">
            <action                          >maincpu.mb@224dc = 60</action>
            <action                          >maincpu.mb@224ec = 60</action>
            <action condition="param band 01">maincpu.mb@224dc = 66</action>
            <action condition="param band 02">maincpu.mb@224ec = 66</action>
        </script>
        <script state="off">
            <action>maincpu.mq@07368 = 1b5800832b480180</action>
            <action>maincpu.mq@224d0 = 0000000000000000</action>
            <action>maincpu.mq@224d8 = 0000000000000000</action>
            <action>maincpu.mq@224e0 = 0000000000000000</action>
            <action>maincpu.mq@224e8 = 0000000000000000</action>
            <action>maincpu.mq@224f0 = 0000000000000000</action>
            <action>maincpu.mq@224f8 = 0000000000000000</action>
            <action>maincpu.mq@22500 = 0000000000000000</action>
            <action>maincpu.mq@22508 = 0000000000000000</action>
            <action>maincpu.mq@22510 = 0000000000000000</action>
            <action>maincpu.mq@22518 = 0000000000000000</action>
            <action>maincpu.mq@22520 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- normal stage -->
            <action>maincpu.mb@a139 = param</action>
            <action>maincpu.mb@a1eb = param</action> <!-- initialize -->
            <!-- bonus stage -->
            <action>maincpu.mb@a17b = param</action>
            <action>maincpu.mb@a201 = param</action> <!-- initialize -->
        </script>
        <script state="off">
            <action>maincpu.mb@a139 = 32</action>
            <action>maincpu.mb@a1eb = 32</action>
            <action>maincpu.mb@a17b = 14</action>
            <action>maincpu.mb@a201 = 14</action>
        </script>
    </cheat>

    <cheat desc="unlock secret characters">
        <script state="on">
            <action>maincpu.mw@909c = 4e71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@909c = 6706</action>
        </script>
    </cheat>

    <cheat desc="selectable same character">
        <script state="on">
            <action>maincpu.mb@90b4 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@90b4 = 66</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@09a4a =         00022530</action>
            <action>maincpu.mq@22530 = 4eb8613e41f90010</action>
            <action>maincpu.mq@22538 = 000043f90010638d</action>
            <action>maincpu.mq@22540 = 103900b80000b028</action>
            <action>maincpu.mq@22548 = 000167360c0000fb</action>
            <action>maincpu.mq@22550 = 660253100c0000f7</action>
            <action>maincpu.mq@22558 = 660252100c0000fd</action>
            <action>maincpu.mq@22560 = 6604041000100c00</action>
            <action>maincpu.mq@22568 = 00fe660406100010</action>
            <action>maincpu.mq@22570 = 0c0000ef66021290</action>
            <action>maincpu.mq@22578 = 0c0000df660412bc</action>
            <action>maincpu.mq@22580 = 00801140000160a8</action>
            <!--
            22530 | 4eb8 613e      : jsr    $613e.w      // sound routine
            22534 | 41f9 0010 0000 : lea    $100000.l,A0 // sound code address
            2253a | 43f9 0010 638d : lea    $10638d.l,A1 // sound latch address
            22540 | 1039 00b8 0000 : move.b $b80000.l,D0 // read input
            22546 | b028 0001      : cmp.b  ($1,A0),D0
            2254a | 6736           : beq    $22582
            2254c | 0c00 00fb      : cmpi.b #-$5,D0
            22550 | 6602           : bne    $22554
            22552 | 5310           : subq.b #1,(A0)      // decrease code -01
            22554 | 0c00 00f7      : cmpi.b #-$9,D0
            22558 | 6602           : bne    $2255c
            2255a | 5210           : addq.b #1,(A0)      // increase code +01
            2255c | 0c00 00fd      : cmpi.b #-$3,D0
            22560 | 6604           : bne    $22566
            22562 | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
            22566 | 0c00 00fe      : cmpi.b #-$2,D0
            2256a | 6604           : bne    $22570
            2256c | 0610 0010      : addi.b #$10,(A0)    // increase code +10
            22570 | 0c00 00ef      : cmpi.b #-$11,D0
            22574 | 6602           : bne    $22578
            22576 | 1290           : move.b (A0),(A1)    // play sound
            22578 | 0c00 00df      : cmpi.b #-$21,D0
            2257c | 6604           : bne    $22582
            2257e | 12bc 0080      : move.b #$80,(A1)    // stop sound
            22582 | 1140 0001      : move.b D0,($1,A0)
            22586 | 60a8           : bra    $22530
            -->
        </script>
        <script state="run">
            <output format="----- fujiyama buster sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"                    line="11" align="center" />
            <output format="right : increase code +01"                   line="12" align="center" />
            <output format="down : decrease code -10"                    line="13" align="center" />
            <output format="up : increase code +10"                      line="14" align="center" />
            <output format="button 1 : play sound"                       line="15" align="center" />
            <output format="button 2 : stop sound"                       line="16" align="center" />
            <output format="----------------------------"                line="17" align="center" />
            <output format="&lt;&lt; sound code %2.2X &gt;&gt;"          line="19" align="center"  >
                <argument>maincpu.pb@100000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@09a4a =         000075ac</action>
            <action>maincpu.mq@22530 = 0000000000000000</action>
            <action>maincpu.mq@22538 = 0000000000000000</action>
            <action>maincpu.mq@22540 = 0000000000000000</action>
            <action>maincpu.mq@22548 = 0000000000000000</action>
            <action>maincpu.mq@22550 = 0000000000000000</action>
            <action>maincpu.mq@22558 = 0000000000000000</action>
            <action>maincpu.mq@22560 = 0000000000000000</action>
            <action>maincpu.mq@22568 = 0000000000000000</action>
            <action>maincpu.mq@22570 = 0000000000000000</action>
            <action>maincpu.mq@22578 = 0000000000000000</action>
            <action>maincpu.mq@22580 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@2238e = 6026</action>
        </script>
        <script state="off">
            <action>maincpu.mw@2238e = 4df8</action>
        </script>
    </cheat>

</mamecheat>
Cleaned up codes. Reallocated addresses for custome routine.
  • "no hit" : added missing codes on "off" state.
  • "auto fire" : merged two codes into one. fixed P2 auto fire code.
  • "timer speed", "selectable same character" and "sound test mode" : added new.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1316
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[shogwarr]+ Shogun Warriors/Fujiyama Buster

Post by jman »

shogwarr.xml

Code: Select all

<!-- Shogun Warriors (World) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@019A8 = 000224B6        </action> <!-- catch / throw -->
            <action>maincpu.md@019E0 = 000224B6        </action> <!-- catch / throw -->
            <action>maincpu.md@01A4E = 000224B6        </action> <!-- catch / throw -->
            <action>maincpu.mq@0745A = 4EB90002249008AD</action> <!-- direct attack / firearms -->
            <action>maincpu.mq@07470 = 4EB9000224A62B58</action> <!-- rapid attack -->
            <action>maincpu.md@0B1D4 = 000224B6        </action> <!-- catch / throw (cpu) -->
            <action>maincpu.md@0BA88 = 000224B6        </action> <!-- catch / throw (cpu) -->
            <action>maincpu.mq@22490 = 08ED00070002082D</action>
            <action>maincpu.mq@22498 = 00001000670608AD</action>
            <action>maincpu.mq@224A0 = 000700024E75002D</action>
            <action>maincpu.mq@224A8 = 00C00002082D0000</action>
            <action>maincpu.mq@224B0 = 100060EA4E754EB8</action>
            <action>maincpu.mq@224B8 = 4080082B00001000</action>
            <action>maincpu.mq@224C0 = 6704303C80004E75</action>
            <!--
            22490 | 08ED 0007 0002 : bset    #$7, ($2,A5)    // direct attack / firearms
            22496 | 082D 0000 1000 : btst    #$0, ($1000,A5)
            2249C | 6706           : beq     $224a4
            2249E | 08AD 0007 0002 : bclr    #$7, ($2,A5)
            224A4 | 4E75           : rts
            224A6 | 002D 00C0 0002 : ori.b   #$c0, ($2,A5)   // rapid attack
            224AC | 082D 0000 1000 : btst    #$0, ($1000,A5)
            224B2 | 60EA           : bne     $2249e
            224B4 | 4E75           : rts
            224B6 | 4EB8 4080      : jsr     $4080.w         // catch / throw
            224BA | 082B 0000 1000 : btst    #$0, ($1000,A3)
            224C0 | 6704           : beq     $224c6
            224C2 | 303C 8000      : move.w  #$8000, D0
            224C6 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@103808 &amp;= ~01</action>
            <action condition="(param band 02) == 00">maincpu.pb@10380C &amp;= ~01</action>
            <action condition="(param band 01) != 00">maincpu.pb@103808 |= 01     </action>
            <action condition="(param band 02) != 00">maincpu.pb@10380C |= 01     </action>
        </script>
        <script state="off">
            <action>maincpu.md@019A8 = 00004080        </action>
            <action>maincpu.md@019E0 = 00004080        </action>
            <action>maincpu.md@01A4E = 00004080        </action>
            <action>maincpu.mq@0745A = 08ED0007000208AD</action>
            <action>maincpu.mq@07470 = 002D00C000022B58</action>
            <action>maincpu.md@0B1D4 = 00004080        </action>
            <action>maincpu.md@0BA88 = 00004080        </action>
            <action>maincpu.mq@22490 = 0000000000000000</action>
            <action>maincpu.mq@22498 = 0000000000000000</action>
            <action>maincpu.mq@224A0 = 0000000000000000</action>
            <action>maincpu.mq@224A8 = 0000000000000000</action>
            <action>maincpu.mq@224B0 = 0000000000000000</action>
            <action>maincpu.mq@224B8 = 0000000000000000</action>
            <action>maincpu.mq@224C0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="change">
            <!-- 1P kick -->
            <action condition="(param band 01) == 00">maincpu.mb@3EF1 = 0C</action>
            <action condition="(param band 01) != 00">maincpu.mb@3EF1 = 04</action>
            <!-- 1P punch -->
            <action condition="(param band 01) == 00">maincpu.mb@3F07 = 08</action>
            <action condition="(param band 01) != 00">maincpu.mb@3F07 = 00</action>
            <!-- 2P kick -->
            <action condition="(param band 02) == 00">maincpu.mb@3F6B = 0A</action>
            <action condition="(param band 02) != 00">maincpu.mb@3F6B = 02</action>
            <!-- 2P punch -->
            <action condition="(param band 02) == 00">maincpu.mb@3F77 = 0C</action>
            <action condition="(param band 02) != 00">maincpu.mb@3F77 = 04</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3EF1 = 0C</action>
            <action>maincpu.mb@3F07 = 08</action>
            <action>maincpu.mb@3F6B = 0A</action>
            <action>maincpu.mb@3F77 = 0C</action>
        </script>
    </cheat>

    <cheat desc="action speed up (test)">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@07368 = 4EB9000224C84E71</action>
            <action>maincpu.mq@224C8 = 1B580083082D0001</action>
            <action>maincpu.mq@224D0 = 10006718102D0082</action>
            <action>maincpu.mq@224D8 = 43FA00184A116706</action>
            <action>maincpu.mq@224E0 = B019670860F61B7C</action>
            <action>maincpu.mq@224E8 = 000100832B480180</action>
            <action>maincpu.mq@224F0 = 4E75022C2F303132</action>
            <action>maincpu.mq@224F8 = 36487C0000000000</action>
            <!--
            224C8 | 1B58 0083      : move.b  (A0)+, ($83,A5)
            224CC | 082D 0001 1000 : btst    #$1, ($1000,A5)
            224D2 | 6718           : beq     $224ec
            224D4 | 102D 0082      : move.b  ($82,A5), D0
            224D8 | 43FA 0018      : lea     ($18,PC) ; ($224f2), A1
            224DC | 4A11           : tst.b   (A1)
            224DE | 6706           : beq     $224e6
            224E0 | B019           : cmp.b   (A1)+, D0
            224E2 | 6708           : beq     $224ec
            224E4 | 60F6           : bra     $224dc
            224E6 | 1B7C 0001 0083 : move.b  #$1, ($83,A5)
            224EC | 2B48 0180      : move.l  A0, ($180,A5)
            224F0 | 4E75           : rts
            224F2 - 224FA          : action state table
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@103808 &amp;= ~02</action>
            <action condition="(param band 02) == 00">maincpu.pb@10380C &amp;= ~02</action>
            <action condition="(param band 01) != 00">maincpu.pb@103808 |= 02     </action>
            <action condition="(param band 02) != 00">maincpu.pb@10380C |= 02     </action>
        </script>
        <script state="off">
            <action>maincpu.mq@07368 = 1B5800832B480180</action>
            <action>maincpu.mq@224C8 = 0000000000000000</action>
            <action>maincpu.mq@224D0 = 0000000000000000</action>
            <action>maincpu.mq@224D8 = 0000000000000000</action>
            <action>maincpu.mq@224E0 = 0000000000000000</action>
            <action>maincpu.mq@224E8 = 0000000000000000</action>
            <action>maincpu.mq@224F0 = 0000000000000000</action>
            <action>maincpu.mq@224F8 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- normal stage -->
            <action>maincpu.mb@A139 = param</action>
            <action>maincpu.mb@A1EB = param</action> <!-- initialize -->
            <!-- bonus stage -->
            <action>maincpu.mb@A17B = param</action>
            <action>maincpu.mb@A201 = param</action> <!-- initialize -->
        </script>
        <script state="off">
            <action>maincpu.mb@A139 = 32</action>
            <action>maincpu.mb@A1EB = 32</action>
            <action>maincpu.mb@A17B = 14</action>
            <action>maincpu.mb@A201 = 14</action>
        </script>
    </cheat>

    <cheat desc="bonus stage">
        <parameter>
            <item value="0x603E">none  </item>
            <item value="0x6030">always</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@531A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@531A = 673E</action>
        </script>
    </cheat>

    <cheat desc="unlock secret characters">
        <script state="on">
            <action>maincpu.mw@909C = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@909C = 6706</action>
        </script>
    </cheat>

    <cheat desc="selectable same character">
        <script state="on">
            <action>maincpu.mb@90B4 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@90B4 = 66</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@09A3A = 0002            </action> <!-- skip region check -->
            <action>maincpu.md@09A4A = 00022500        </action>
            <action>maincpu.mq@22500 = 4EB8613E41F90010</action>
            <action>maincpu.mq@22508 = 000043E8638D1039</action>
            <action>maincpu.mq@22510 = 00B80000B0280001</action>
            <action>maincpu.mq@22518 = 67360C0000FB6602</action>
            <action>maincpu.mq@22520 = 53100C0000F76602</action>
            <action>maincpu.mq@22528 = 52100C0000FD6604</action>
            <action>maincpu.mq@22530 = 041000100C0000FE</action>
            <action>maincpu.mq@22538 = 6604061000100C00</action>
            <action>maincpu.mq@22540 = 00EF660212900C00</action>
            <action>maincpu.mq@22548 = 00DF660412BC0080</action>
            <action>maincpu.mq@22550 = 1140000160AA0000</action>
            <!--
            22500 | 4EB8 613E      : jsr     $613e.w
            22504 | 41F9 0010 0000 : lea     $100000.l, A0  // sound code address
            2250A | 43E8 638D      : lea     ($638d,A0), A1 // sound latch address ($10638D)
            2250E | 1039 00B8 0000 : move.b  $b80000.l, D0  // read input
            22514 | B028 0001      : cmp.b   ($1,A0), D0
            22518 | 6736           : beq     $22550
            2251A | 0C00 00FB      : cmpi.b  #-$5, D0
            2251E | 6602           : bne     $22522
            22520 | 5310           : subq.b  #1, (A0)       // decrease code -01
            22522 | 0C00 00F7      : cmpi.b  #-$9, D0
            22526 | 6602           : bne     $2252a
            22528 | 5210           : addq.b  #1, (A0)       // increase code +01
            2252A | 0C00 00FD      : cmpi.b  #-$3, D0
            2252E | 6604           : bne     $22534
            22530 | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            22534 | 0C00 00FE      : cmpi.b  #-$2, D0
            22538 | 6604           : bne     $2253e
            2253A | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            2253E | 0C00 00EF      : cmpi.b  #-$11, D0
            22542 | 6602           : bne     $22546
            22544 | 1290           : move.b  (A0), (A1)     // play sound
            22546 | 0C00 00DF      : cmpi.b  #-$21, D0
            2254A | 6604           : bne     $22550
            2254C | 12BC 0080      : move.b  #$80, (A1)     // stop sound
            22550 | 1140 0001      : move.b  D0, ($1,A0)
            22554 | 60AA           : bra     $22500
            -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@100000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@09A3A = 0084            </action>
            <action>maincpu.md@09A4A = 000075AC        </action>
            <action>maincpu.mq@22500 = 0000000000000000</action>
            <action>maincpu.mq@22508 = 0000000000000000</action>
            <action>maincpu.mq@22510 = 0000000000000000</action>
            <action>maincpu.mq@22518 = 0000000000000000</action>
            <action>maincpu.mq@22520 = 0000000000000000</action>
            <action>maincpu.mq@22528 = 0000000000000000</action>
            <action>maincpu.mq@22530 = 0000000000000000</action>
            <action>maincpu.mq@22538 = 0000000000000000</action>
            <action>maincpu.mq@22540 = 0000000000000000</action>
            <action>maincpu.mq@22548 = 0000000000000000</action>
            <action>maincpu.mq@22550 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@22222 = 6000005A</action> <!-- ram -->
            <action>maincpu.md@2238E = 600000B4</action> <!-- rom -->
        </script>
        <script state="off">
            <action>maincpu.md@22222 = 286D0004</action>
            <action>maincpu.md@2238E = 4DF80000</action>
        </script>
    </cheat>

</mamecheat>
shogwarrk.xml

Code: Select all

<!-- Shogun Warriors (Korea?) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@019A8 = 000224B6        </action> <!-- catch / throw -->
            <action>maincpu.md@019E0 = 000224B6        </action> <!-- catch / throw -->
            <action>maincpu.md@01A4E = 000224B6        </action> <!-- catch / throw -->
            <action>maincpu.mq@0745A = 4EB90002249008AD</action> <!-- direct attack / firearms -->
            <action>maincpu.mq@07470 = 4EB9000224A62B58</action> <!-- rapid attack -->
            <action>maincpu.md@0B1D4 = 000224B6        </action> <!-- catch / throw (cpu) -->
            <action>maincpu.md@0BA88 = 000224B6        </action> <!-- catch / throw (cpu) -->
            <action>maincpu.mq@22490 = 08ED00070002082D</action>
            <action>maincpu.mq@22498 = 00001000670608AD</action>
            <action>maincpu.mq@224A0 = 000700024E75002D</action>
            <action>maincpu.mq@224A8 = 00C00002082D0000</action>
            <action>maincpu.mq@224B0 = 100060EA4E754EB8</action>
            <action>maincpu.mq@224B8 = 4080082B00001000</action>
            <action>maincpu.mq@224C0 = 6704303C80004E75</action>
            <!--
            22490 | 08ED 0007 0002 : bset    #$7, ($2,A5)    // direct attack / firearms
            22496 | 082D 0000 1000 : btst    #$0, ($1000,A5)
            2249C | 6706           : beq     $224a4
            2249E | 08AD 0007 0002 : bclr    #$7, ($2,A5)
            224A4 | 4E75           : rts
            224A6 | 002D 00C0 0002 : ori.b   #$c0, ($2,A5)   // rapid attack
            224AC | 082D 0000 1000 : btst    #$0, ($1000,A5)
            224B2 | 60EA           : bne     $2249e
            224B4 | 4E75           : rts
            224B6 | 4EB8 4080      : jsr     $4080.w         // catch / throw
            224BA | 082B 0000 1000 : btst    #$0, ($1000,A3)
            224C0 | 6704           : beq     $224c6
            224C2 | 303C 8000      : move.w  #$8000, D0
            224C6 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@103808 &amp;= ~01</action>
            <action condition="(param band 02) == 00">maincpu.pb@10380C &amp;= ~01</action>
            <action condition="(param band 01) != 00">maincpu.pb@103808 |= 01     </action>
            <action condition="(param band 02) != 00">maincpu.pb@10380C |= 01     </action>
        </script>
        <script state="off">
            <action>maincpu.md@019A8 = 00004080        </action>
            <action>maincpu.md@019E0 = 00004080        </action>
            <action>maincpu.md@01A4E = 00004080        </action>
            <action>maincpu.mq@0745A = 08ED0007000208AD</action>
            <action>maincpu.mq@07470 = 002D00C000022B58</action>
            <action>maincpu.md@0B1D4 = 00004080        </action>
            <action>maincpu.md@0BA88 = 00004080        </action>
            <action>maincpu.mq@22490 = 0000000000000000</action>
            <action>maincpu.mq@22498 = 0000000000000000</action>
            <action>maincpu.mq@224A0 = 0000000000000000</action>
            <action>maincpu.mq@224A8 = 0000000000000000</action>
            <action>maincpu.mq@224B0 = 0000000000000000</action>
            <action>maincpu.mq@224B8 = 0000000000000000</action>
            <action>maincpu.mq@224C0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="change">
            <!-- 1P kick -->
            <action condition="(param band 01) == 00">maincpu.mb@3EF1 = 0C</action>
            <action condition="(param band 01) != 00">maincpu.mb@3EF1 = 04</action>
            <!-- 1P punch -->
            <action condition="(param band 01) == 00">maincpu.mb@3F07 = 08</action>
            <action condition="(param band 01) != 00">maincpu.mb@3F07 = 00</action>
            <!-- 2P kick -->
            <action condition="(param band 02) == 00">maincpu.mb@3F6B = 0A</action>
            <action condition="(param band 02) != 00">maincpu.mb@3F6B = 02</action>
            <!-- 2P punch -->
            <action condition="(param band 02) == 00">maincpu.mb@3F77 = 0C</action>
            <action condition="(param band 02) != 00">maincpu.mb@3F77 = 04</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3EF1 = 0C</action>
            <action>maincpu.mb@3F07 = 08</action>
            <action>maincpu.mb@3F6B = 0A</action>
            <action>maincpu.mb@3F77 = 0C</action>
        </script>
    </cheat>

    <cheat desc="action speed up (test)">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@07368 = 4EB9000224C84E71</action>
            <action>maincpu.mq@224C8 = 1B580083082D0001</action>
            <action>maincpu.mq@224D0 = 10006718102D0082</action>
            <action>maincpu.mq@224D8 = 43FA00184A116706</action>
            <action>maincpu.mq@224E0 = B019670860F61B7C</action>
            <action>maincpu.mq@224E8 = 000100832B480180</action>
            <action>maincpu.mq@224F0 = 4E75022C2F303132</action>
            <action>maincpu.mq@224F8 = 36487C0000000000</action>
            <!--
            224C8 | 1B58 0083      : move.b  (A0)+, ($83,A5)
            224CC | 082D 0001 1000 : btst    #$1, ($1000,A5)
            224D2 | 6718           : beq     $224ec
            224D4 | 102D 0082      : move.b  ($82,A5), D0
            224D8 | 43FA 0018      : lea     ($18,PC) ; ($224f2), A1
            224DC | 4A11           : tst.b   (A1)
            224DE | 6706           : beq     $224e6
            224E0 | B019           : cmp.b   (A1)+, D0
            224E2 | 6708           : beq     $224ec
            224E4 | 60F6           : bra     $224dc
            224E6 | 1B7C 0001 0083 : move.b  #$1, ($83,A5)
            224EC | 2B48 0180      : move.l  A0, ($180,A5)
            224F0 | 4E75           : rts
            224F2 - 224FA          : action state table
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@103808 &amp;= ~02</action>
            <action condition="(param band 02) == 00">maincpu.pb@10380C &amp;= ~02</action>
            <action condition="(param band 01) != 00">maincpu.pb@103808 |= 02     </action>
            <action condition="(param band 02) != 00">maincpu.pb@10380C |= 02     </action>
        </script>
        <script state="off">
            <action>maincpu.mq@07368 = 1B5800832B480180</action>
            <action>maincpu.mq@224C8 = 0000000000000000</action>
            <action>maincpu.mq@224D0 = 0000000000000000</action>
            <action>maincpu.mq@224D8 = 0000000000000000</action>
            <action>maincpu.mq@224E0 = 0000000000000000</action>
            <action>maincpu.mq@224E8 = 0000000000000000</action>
            <action>maincpu.mq@224F0 = 0000000000000000</action>
            <action>maincpu.mq@224F8 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- normal stage -->
            <action>maincpu.mb@A139 = param</action>
            <action>maincpu.mb@A1EB = param</action> <!-- initialize -->
            <!-- bonus stage -->
            <action>maincpu.mb@A17B = param</action>
            <action>maincpu.mb@A201 = param</action> <!-- initialize -->
        </script>
        <script state="off">
            <action>maincpu.mb@A139 = 32</action>
            <action>maincpu.mb@A1EB = 32</action>
            <action>maincpu.mb@A17B = 14</action>
            <action>maincpu.mb@A201 = 14</action>
        </script>
    </cheat>

    <cheat desc="bonus stage">
        <parameter>
            <item value="0x603E">none  </item>
            <item value="0x6030">always</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@531A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@531A = 673E</action>
        </script>
    </cheat>

    <cheat desc="unlock secret characters">
        <script state="on">
            <action>maincpu.mw@909C = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@909C = 6706</action>
        </script>
    </cheat>

    <cheat desc="selectable same character">
        <script state="on">
            <action>maincpu.mb@90B4 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@90B4 = 66</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@09A3A = 0002            </action> <!-- skip region check -->
            <action>maincpu.md@09A4A = 00022500        </action>
            <action>maincpu.mq@22500 = 4EB8613E41F90010</action>
            <action>maincpu.mq@22508 = 000043E8638D1039</action>
            <action>maincpu.mq@22510 = 00B80000B0280001</action>
            <action>maincpu.mq@22518 = 67360C0000FB6602</action>
            <action>maincpu.mq@22520 = 53100C0000F76602</action>
            <action>maincpu.mq@22528 = 52100C0000FD6604</action>
            <action>maincpu.mq@22530 = 041000100C0000FE</action>
            <action>maincpu.mq@22538 = 6604061000100C00</action>
            <action>maincpu.mq@22540 = 00EF660212900C00</action>
            <action>maincpu.mq@22548 = 00DF660412BC0080</action>
            <action>maincpu.mq@22550 = 1140000160AA0000</action>
            <!--
            22500 | 4EB8 613E      : jsr     $613e.w
            22504 | 41F9 0010 0000 : lea     $100000.l, A0  // sound code address
            2250A | 43E8 638D      : lea     ($638d,A0), A1 // sound latch address ($10638D)
            2250E | 1039 00B8 0000 : move.b  $b80000.l, D0  // read input
            22514 | B028 0001      : cmp.b   ($1,A0), D0
            22518 | 6736           : beq     $22550
            2251A | 0C00 00FB      : cmpi.b  #-$5, D0
            2251E | 6602           : bne     $22522
            22520 | 5310           : subq.b  #1, (A0)       // decrease code -01
            22522 | 0C00 00F7      : cmpi.b  #-$9, D0
            22526 | 6602           : bne     $2252a
            22528 | 5210           : addq.b  #1, (A0)       // increase code +01
            2252A | 0C00 00FD      : cmpi.b  #-$3, D0
            2252E | 6604           : bne     $22534
            22530 | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            22534 | 0C00 00FE      : cmpi.b  #-$2, D0
            22538 | 6604           : bne     $2253e
            2253A | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            2253E | 0C00 00EF      : cmpi.b  #-$11, D0
            22542 | 6602           : bne     $22546
            22544 | 1290           : move.b  (A0), (A1)     // play sound
            22546 | 0C00 00DF      : cmpi.b  #-$21, D0
            2254A | 6604           : bne     $22550
            2254C | 12BC 0080      : move.b  #$80, (A1)     // stop sound
            22550 | 1140 0001      : move.b  D0, ($1,A0)
            22554 | 60AA           : bra     $22500
            -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@100000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@09A3A = 0084            </action>
            <action>maincpu.md@09A4A = 000075AC        </action>
            <action>maincpu.mq@22500 = 0000000000000000</action>
            <action>maincpu.mq@22508 = 0000000000000000</action>
            <action>maincpu.mq@22510 = 0000000000000000</action>
            <action>maincpu.mq@22518 = 0000000000000000</action>
            <action>maincpu.mq@22520 = 0000000000000000</action>
            <action>maincpu.mq@22528 = 0000000000000000</action>
            <action>maincpu.mq@22530 = 0000000000000000</action>
            <action>maincpu.mq@22538 = 0000000000000000</action>
            <action>maincpu.mq@22540 = 0000000000000000</action>
            <action>maincpu.mq@22548 = 0000000000000000</action>
            <action>maincpu.mq@22550 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@22222 = 6000005A</action> <!-- ram -->
            <action>maincpu.md@2238E = 600000B4</action> <!-- rom -->
        </script>
        <script state="off">
            <action>maincpu.md@22222 = 286D0004</action>
            <action>maincpu.md@2238E = 4DF80000</action>
        </script>
    </cheat>

</mamecheat>
fjbuster.xml

Code: Select all

<!-- Fujiyama Buster (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@019A8 = 000224B6        </action> <!-- catch / throw -->
            <action>maincpu.md@019E0 = 000224B6        </action> <!-- catch / throw -->
            <action>maincpu.md@01A4E = 000224B6        </action> <!-- catch / throw -->
            <action>maincpu.mq@0745A = 4EB90002249008AD</action> <!-- direct attack / firearms -->
            <action>maincpu.mq@07470 = 4EB9000224A62B58</action> <!-- rapid attack -->
            <action>maincpu.md@0B1D4 = 000224B6        </action> <!-- catch / throw (cpu) -->
            <action>maincpu.md@0BA88 = 000224B6        </action> <!-- catch / throw (cpu) -->
            <action>maincpu.mq@22490 = 08ED00070002082D</action>
            <action>maincpu.mq@22498 = 00001000670608AD</action>
            <action>maincpu.mq@224A0 = 000700024E75002D</action>
            <action>maincpu.mq@224A8 = 00C00002082D0000</action>
            <action>maincpu.mq@224B0 = 100060EA4E754EB8</action>
            <action>maincpu.mq@224B8 = 4080082B00001000</action>
            <action>maincpu.mq@224C0 = 6704303C80004E75</action>
            <!--
            22490 | 08ED 0007 0002 : bset    #$7, ($2,A5)    // direct attack / firearms
            22496 | 082D 0000 1000 : btst    #$0, ($1000,A5)
            2249C | 6706           : beq     $224a4
            2249E | 08AD 0007 0002 : bclr    #$7, ($2,A5)
            224A4 | 4E75           : rts
            224A6 | 002D 00C0 0002 : ori.b   #$c0, ($2,A5)   // rapid attack
            224AC | 082D 0000 1000 : btst    #$0, ($1000,A5)
            224B2 | 60EA           : bne     $2249e
            224B4 | 4E75           : rts
            224B6 | 4EB8 4080      : jsr     $4080.w         // catch / throw
            224BA | 082B 0000 1000 : btst    #$0, ($1000,A3)
            224C0 | 6704           : beq     $224c6
            224C2 | 303C 8000      : move.w  #$8000, D0
            224C6 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@103808 &amp;= ~01</action>
            <action condition="(param band 02) == 00">maincpu.pb@10380C &amp;= ~01</action>
            <action condition="(param band 01) != 00">maincpu.pb@103808 |= 01     </action>
            <action condition="(param band 02) != 00">maincpu.pb@10380C |= 01     </action>
        </script>
        <script state="off">
            <action>maincpu.md@019A8 = 00004080        </action>
            <action>maincpu.md@019E0 = 00004080        </action>
            <action>maincpu.md@01A4E = 00004080        </action>
            <action>maincpu.mq@0745A = 08ED0007000208AD</action>
            <action>maincpu.mq@07470 = 002D00C000022B58</action>
            <action>maincpu.md@0B1D4 = 00004080        </action>
            <action>maincpu.md@0BA88 = 00004080        </action>
            <action>maincpu.mq@22490 = 0000000000000000</action>
            <action>maincpu.mq@22498 = 0000000000000000</action>
            <action>maincpu.mq@224A0 = 0000000000000000</action>
            <action>maincpu.mq@224A8 = 0000000000000000</action>
            <action>maincpu.mq@224B0 = 0000000000000000</action>
            <action>maincpu.mq@224B8 = 0000000000000000</action>
            <action>maincpu.mq@224C0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="change">
            <!-- 1P kick -->
            <action condition="(param band 01) == 00">maincpu.mb@3EF1 = 0C</action>
            <action condition="(param band 01) != 00">maincpu.mb@3EF1 = 04</action>
            <!-- 1P punch -->
            <action condition="(param band 01) == 00">maincpu.mb@3F07 = 08</action>
            <action condition="(param band 01) != 00">maincpu.mb@3F07 = 00</action>
            <!-- 2P kick -->
            <action condition="(param band 02) == 00">maincpu.mb@3F6B = 0A</action>
            <action condition="(param band 02) != 00">maincpu.mb@3F6B = 02</action>
            <!-- 2P punch -->
            <action condition="(param band 02) == 00">maincpu.mb@3F77 = 0C</action>
            <action condition="(param band 02) != 00">maincpu.mb@3F77 = 04</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3EF1 = 0C</action>
            <action>maincpu.mb@3F07 = 08</action>
            <action>maincpu.mb@3F6B = 0A</action>
            <action>maincpu.mb@3F77 = 0C</action>
        </script>
    </cheat>

    <cheat desc="action speed up (test)">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@07368 = 4EB9000224C84E71</action>
            <action>maincpu.mq@224C8 = 1B580083082D0001</action>
            <action>maincpu.mq@224D0 = 10006718102D0082</action>
            <action>maincpu.mq@224D8 = 43FA00184A116706</action>
            <action>maincpu.mq@224E0 = B019670860F61B7C</action>
            <action>maincpu.mq@224E8 = 000100832B480180</action>
            <action>maincpu.mq@224F0 = 4E75022C2F303132</action>
            <action>maincpu.mq@224F8 = 36487C0000000000</action>
            <!--
            224C8 | 1B58 0083      : move.b  (A0)+, ($83,A5)
            224CC | 082D 0001 1000 : btst    #$1, ($1000,A5)
            224D2 | 6718           : beq     $224ec
            224D4 | 102D 0082      : move.b  ($82,A5), D0
            224D8 | 43FA 0018      : lea     ($18,PC) ; ($224f2), A1
            224DC | 4A11           : tst.b   (A1)
            224DE | 6706           : beq     $224e6
            224E0 | B019           : cmp.b   (A1)+, D0
            224E2 | 6708           : beq     $224ec
            224E4 | 60F6           : bra     $224dc
            224E6 | 1B7C 0001 0083 : move.b  #$1, ($83,A5)
            224EC | 2B48 0180      : move.l  A0, ($180,A5)
            224F0 | 4E75           : rts
            224F2 - 224FA          : action state table
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@103808 &amp;= ~02</action>
            <action condition="(param band 02) == 00">maincpu.pb@10380C &amp;= ~02</action>
            <action condition="(param band 01) != 00">maincpu.pb@103808 |= 02     </action>
            <action condition="(param band 02) != 00">maincpu.pb@10380C |= 02     </action>
        </script>
        <script state="off">
            <action>maincpu.mq@07368 = 1B5800832B480180</action>
            <action>maincpu.mq@224C8 = 0000000000000000</action>
            <action>maincpu.mq@224D0 = 0000000000000000</action>
            <action>maincpu.mq@224D8 = 0000000000000000</action>
            <action>maincpu.mq@224E0 = 0000000000000000</action>
            <action>maincpu.mq@224E8 = 0000000000000000</action>
            <action>maincpu.mq@224F0 = 0000000000000000</action>
            <action>maincpu.mq@224F8 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- normal stage -->
            <action>maincpu.mb@A139 = param</action>
            <action>maincpu.mb@A1EB = param</action> <!-- initialize -->
            <!-- bonus stage -->
            <action>maincpu.mb@A17B = param</action>
            <action>maincpu.mb@A201 = param</action> <!-- initialize -->
        </script>
        <script state="off">
            <action>maincpu.mb@A139 = 32</action>
            <action>maincpu.mb@A1EB = 32</action>
            <action>maincpu.mb@A17B = 14</action>
            <action>maincpu.mb@A201 = 14</action>
        </script>
    </cheat>

    <cheat desc="bonus stage">
        <parameter>
            <item value="0x603E">none  </item>
            <item value="0x6030">always</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@531A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@531A = 673E</action>
        </script>
    </cheat>

    <cheat desc="unlock secret characters">
        <script state="on">
            <action>maincpu.mw@909C = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@909C = 6706</action>
        </script>
    </cheat>

    <cheat desc="selectable same character">
        <script state="on">
            <action>maincpu.mb@90B4 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@90B4 = 66</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@09A4A = 00022500        </action>
            <action>maincpu.mq@22500 = 4EB8613E41F90010</action>
            <action>maincpu.mq@22508 = 000043E8638D1039</action>
            <action>maincpu.mq@22510 = 00B80000B0280001</action>
            <action>maincpu.mq@22518 = 67360C0000FB6602</action>
            <action>maincpu.mq@22520 = 53100C0000F76602</action>
            <action>maincpu.mq@22528 = 52100C0000FD6604</action>
            <action>maincpu.mq@22530 = 041000100C0000FE</action>
            <action>maincpu.mq@22538 = 6604061000100C00</action>
            <action>maincpu.mq@22540 = 00EF660212900C00</action>
            <action>maincpu.mq@22548 = 00DF660412BC0080</action>
            <action>maincpu.mq@22550 = 1140000160AA0000</action>
            <!--
            22500 | 4EB8 613E      : jsr     $613e.w
            22504 | 41F9 0010 0000 : lea     $100000.l, A0  // sound code address
            2250A | 43E8 638D      : lea     ($638d,A0), A1 // sound latch address ($10638D)
            2250E | 1039 00B8 0000 : move.b  $b80000.l, D0  // read input
            22514 | B028 0001      : cmp.b   ($1,A0), D0
            22518 | 6736           : beq     $22550
            2251A | 0C00 00FB      : cmpi.b  #-$5, D0
            2251E | 6602           : bne     $22522
            22520 | 5310           : subq.b  #1, (A0)       // decrease code -01
            22522 | 0C00 00F7      : cmpi.b  #-$9, D0
            22526 | 6602           : bne     $2252a
            22528 | 5210           : addq.b  #1, (A0)       // increase code +01
            2252A | 0C00 00FD      : cmpi.b  #-$3, D0
            2252E | 6604           : bne     $22534
            22530 | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            22534 | 0C00 00FE      : cmpi.b  #-$2, D0
            22538 | 6604           : bne     $2253e
            2253A | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            2253E | 0C00 00EF      : cmpi.b  #-$11, D0
            22542 | 6602           : bne     $22546
            22544 | 1290           : move.b  (A0), (A1)     // play sound
            22546 | 0C00 00DF      : cmpi.b  #-$21, D0
            2254A | 6604           : bne     $22550
            2254C | 12BC 0080      : move.b  #$80, (A1)     // stop sound
            22550 | 1140 0001      : move.b  D0, ($1,A0)
            22554 | 60AA           : bra     $22500
            -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@100000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@09A4A = 000075AC        </action>
            <action>maincpu.mq@22500 = 0000000000000000</action>
            <action>maincpu.mq@22508 = 0000000000000000</action>
            <action>maincpu.mq@22510 = 0000000000000000</action>
            <action>maincpu.mq@22518 = 0000000000000000</action>
            <action>maincpu.mq@22520 = 0000000000000000</action>
            <action>maincpu.mq@22528 = 0000000000000000</action>
            <action>maincpu.mq@22530 = 0000000000000000</action>
            <action>maincpu.mq@22538 = 0000000000000000</action>
            <action>maincpu.mq@22540 = 0000000000000000</action>
            <action>maincpu.mq@22548 = 0000000000000000</action>
            <action>maincpu.mq@22550 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@22222 = 6000005A</action> <!-- ram -->
            <action>maincpu.md@2238E = 600000B4</action> <!-- rom -->
        </script>
        <script state="off">
            <action>maincpu.md@22222 = 286D0004</action>
            <action>maincpu.md@2238E = 4DF80000</action>
        </script>
    </cheat>

</mamecheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1316
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[shogwarr]+ Shogun Warriors/Fujiyama Buster

Post by jman »

shogwarru.xml

Code: Select all

<!-- Shogun Warriors (US) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@019A8 = 000224A6        </action> <!-- catch / throw -->
            <action>maincpu.md@019E0 = 000224A6        </action> <!-- catch / throw -->
            <action>maincpu.md@01A4E = 000224A6        </action> <!-- catch / throw -->
            <action>maincpu.mq@0745A = 4EB90002248008AD</action> <!-- direct attack / firearms -->
            <action>maincpu.mq@07470 = 4EB9000224962B58</action> <!-- rapid attack -->
            <action>maincpu.md@0B1D4 = 000224A6        </action> <!-- catch / throw (cpu) -->
            <action>maincpu.md@0BA88 = 000224A6        </action> <!-- catch / throw (cpu) -->
            <action>maincpu.mq@22480 = 08ED00070002082D</action>
            <action>maincpu.mq@22488 = 00001000670608AD</action>
            <action>maincpu.mq@22490 = 000700024E75002D</action>
            <action>maincpu.mq@22498 = 00C00002082D0000</action>
            <action>maincpu.mq@224A0 = 100060EA4E754EB8</action>
            <action>maincpu.mq@224A8 = 4080082B00001000</action>
            <action>maincpu.mq@224B0 = 6704303C80004E75</action>
            <!--
            22480 | 08ED 0007 0002 : bset    #$7, ($2,A5)    // direct attack / firearms
            22486 | 082D 0000 1000 : btst    #$0, ($1000,A5)
            2248C | 6706           : beq     $22494
            2248E | 08AD 0007 0002 : bclr    #$7, ($2,A5)
            22494 | 4E75           : rts
            22496 | 002D 00C0 0002 : ori.b   #$c0, ($2,A5)   // rapid attack
            2249C | 082D 0000 1000 : btst    #$0, ($1000,A5)
            224A2 | 60EA           : bne     $2248e
            224A4 | 4E75           : rts
            224A6 | 4EB8 4080      : jsr     $4080.w         // catch / throw
            224AA | 082B 0000 1000 : btst    #$0, ($1000,A3)
            224B0 | 6704           : beq     $224b6
            224B2 | 303C 8000      : move.w  #$8000, D0
            224B6 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@103808 &amp;= ~01</action>
            <action condition="(param band 02) == 00">maincpu.pb@10380C &amp;= ~01</action>
            <action condition="(param band 01) != 00">maincpu.pb@103808 |= 01     </action>
            <action condition="(param band 02) != 00">maincpu.pb@10380C |= 01     </action>
        </script>
        <script state="off">
            <action>maincpu.md@019A8 = 00004080        </action>
            <action>maincpu.md@019E0 = 00004080        </action>
            <action>maincpu.md@01A4E = 00004080        </action>
            <action>maincpu.mq@0745A = 08ED0007000208AD</action>
            <action>maincpu.mq@07470 = 002D00C000022B58</action>
            <action>maincpu.md@0B1D4 = 00004080        </action>
            <action>maincpu.md@0BA88 = 00004080        </action>
            <action>maincpu.mq@22480 = 0000000000000000</action>
            <action>maincpu.mq@22488 = 0000000000000000</action>
            <action>maincpu.mq@22490 = 0000000000000000</action>
            <action>maincpu.mq@22498 = 0000000000000000</action>
            <action>maincpu.mq@224A0 = 0000000000000000</action>
            <action>maincpu.mq@224A8 = 0000000000000000</action>
            <action>maincpu.mq@224B0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="change">
            <!-- 1P kick -->
            <action condition="(param band 01) == 00">maincpu.mb@3EF1 = 0C</action>
            <action condition="(param band 01) != 00">maincpu.mb@3EF1 = 04</action>
            <!-- 1P punch -->
            <action condition="(param band 01) == 00">maincpu.mb@3F07 = 08</action>
            <action condition="(param band 01) != 00">maincpu.mb@3F07 = 00</action>
            <!-- 2P kick -->
            <action condition="(param band 02) == 00">maincpu.mb@3F6B = 0A</action>
            <action condition="(param band 02) != 00">maincpu.mb@3F6B = 02</action>
            <!-- 2P punch -->
            <action condition="(param band 02) == 00">maincpu.mb@3F77 = 0C</action>
            <action condition="(param band 02) != 00">maincpu.mb@3F77 = 04</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3EF1 = 0C</action>
            <action>maincpu.mb@3F07 = 08</action>
            <action>maincpu.mb@3F6B = 0A</action>
            <action>maincpu.mb@3F77 = 0C</action>
        </script>
    </cheat>

    <cheat desc="action speed up (test)">
        <parameter>
            <item value="0x01">1P          </item>
            <item value="0x02">2P          </item>
            <item value="0x03">both players</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@07368 = 4EB9000224B84E71</action>
            <action>maincpu.mq@224B8 = 1B580083082D0001</action>
            <action>maincpu.mq@224C0 = 10006718102D0082</action>
            <action>maincpu.mq@224C8 = 43FA00184A116706</action>
            <action>maincpu.mq@224D0 = B019670860F61B7C</action>
            <action>maincpu.mq@224D8 = 000100832B480180</action>
            <action>maincpu.mq@224E0 = 4E75022C2F303132</action>
            <action>maincpu.mq@224E8 = 36487C0000000000</action>
            <!--
            224B8 | 1B58 0083      : move.b  (A0)+, ($83,A5)
            224BC | 082D 0001 1000 : btst    #$1, ($1000,A5)
            224C2 | 6718           : beq     $224dc
            224C4 | 102D 0082      : move.b  ($82,A5), D0
            224C8 | 43FA 0018      : lea     ($18,PC) ; ($224e2), A1
            224CC | 4A11           : tst.b   (A1)
            224CE | 6706           : beq     $224d6
            224D0 | B019           : cmp.b   (A1)+, D0
            224D2 | 6708           : beq     $224dc
            224D4 | 60F6           : bra     $224cc
            224D6 | 1B7C 0001 0083 : move.b  #$1, ($83,A5)
            224DC | 2B48 0180      : move.l  A0, ($180,A5)
            224E0 | 4E75           : rts
            224E2 - 224EA          : action state table
            -->
        </script>
        <script state="run">
            <action condition="(param band 01) == 00">maincpu.pb@103808 &amp;= ~02</action>
            <action condition="(param band 02) == 00">maincpu.pb@10380C &amp;= ~02</action>
            <action condition="(param band 01) != 00">maincpu.pb@103808 |= 02     </action>
            <action condition="(param band 02) != 00">maincpu.pb@10380C |= 02     </action>
        </script>
        <script state="off">
            <action>maincpu.mq@07368 = 1B5800832B480180</action>
            <action>maincpu.mq@224B8 = 0000000000000000</action>
            <action>maincpu.mq@224C0 = 0000000000000000</action>
            <action>maincpu.mq@224C8 = 0000000000000000</action>
            <action>maincpu.mq@224D0 = 0000000000000000</action>
            <action>maincpu.mq@224D8 = 0000000000000000</action>
            <action>maincpu.mq@224E0 = 0000000000000000</action>
            <action>maincpu.mq@224E8 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- normal stage -->
            <action>maincpu.mb@A139 = param</action>
            <action>maincpu.mb@A1EB = param</action> <!-- initialize -->
            <!-- bonus stage -->
            <action>maincpu.mb@A17B = param</action>
            <action>maincpu.mb@A201 = param</action> <!-- initialize -->
        </script>
        <script state="off">
            <action>maincpu.mb@A139 = 32</action>
            <action>maincpu.mb@A1EB = 32</action>
            <action>maincpu.mb@A17B = 14</action>
            <action>maincpu.mb@A201 = 14</action>
        </script>
    </cheat>

    <cheat desc="bonus stage">
        <parameter>
            <item value="0x603E">none  </item>
            <item value="0x6030">always</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@531A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@531A = 673E</action>
        </script>
    </cheat>

    <cheat desc="unlock secret characters">
        <script state="on">
            <action>maincpu.mw@909C = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@909C = 6706</action>
        </script>
    </cheat>

    <cheat desc="selectable same character">
        <script state="on">
            <action>maincpu.mb@90B4 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@90B4 = 66</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@09A3A = 0002            </action> <!-- skip region check -->
            <action>maincpu.md@09A4A = 000224F0        </action>
            <action>maincpu.mq@224F0 = 4EB8613E41F90010</action>
            <action>maincpu.mq@224F8 = 000043E8638D1039</action>
            <action>maincpu.mq@22500 = 00B80000B0280001</action>
            <action>maincpu.mq@22508 = 67360C0000FB6602</action>
            <action>maincpu.mq@22510 = 53100C0000F76602</action>
            <action>maincpu.mq@22518 = 52100C0000FD6604</action>
            <action>maincpu.mq@22520 = 041000100C0000FE</action>
            <action>maincpu.mq@22528 = 6604061000100C00</action>
            <action>maincpu.mq@22530 = 00EF660212900C00</action>
            <action>maincpu.mq@22538 = 00DF660412BC0080</action>
            <action>maincpu.mq@22540 = 1140000160AA0000</action>
            <!--
            224F0 | 4EB8 613E      : jsr     $613e.w
            224F4 | 41F9 0010 0000 : lea     $100000.l, A0  // sound code address
            224FA | 43E8 638D      : lea     ($638d,A0), A1 // sound latch address ($10638D)
            224FE | 1039 00B8 0000 : move.b  $b80000.l, D0  // read input
            22504 | B028 0001      : cmp.b   ($1,A0), D0
            22508 | 6736           : beq     $224f0
            2250A | 0C00 00FB      : cmpi.b  #-$5, D0
            2250E | 6602           : bne     $22512
            22510 | 5310           : subq.b  #1, (A0)       // decrease code -01
            22512 | 0C00 00F7      : cmpi.b  #-$9, D0
            22516 | 6602           : bne     $2251a
            22518 | 5210           : addq.b  #1, (A0)       // increase code +01
            2251A | 0C00 00FD      : cmpi.b  #-$3, D0
            2251E | 6604           : bne     $22524
            22520 | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            22524 | 0C00 00FE      : cmpi.b  #-$2, D0
            22528 | 6604           : bne     $2252e
            2252A | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            2252E | 0C00 00EF      : cmpi.b  #-$11, D0
            22532 | 6602           : bne     $22536
            22534 | 1290           : move.b  (A0), (A1)     // play sound
            22536 | 0C00 00DF      : cmpi.b  #-$21, D0
            2253A | 6604           : bne     $22540
            2253C | 12BC 0080      : move.b  #$80, (A1)     // stop sound
            22540 | 1140 0001      : move.b  D0, ($1,A0)
            22544 | 60AA           : bra     $224f0
            -->
        </script>
        <script state="run">
            <output format="----- sound test mode -----"       line="10" align="center" />
            <output format="left : decrease code -01"          line="11" align="center" />
            <output format="right : increase code +01"         line="12" align="center" />
            <output format="down : decrease code -10"          line="13" align="center" />
            <output format="up : increase code +10"            line="14" align="center" />
            <output format="button 1 : play sound"             line="15" align="center" />
            <output format="button 2 : stop sound"             line="16" align="center" />
            <output format="----------------------------"      line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;" line="19" align="center"  >
                <argument>maincpu.pb@100000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@09A3A = 0084            </action>
            <action>maincpu.md@09A4A = 000075AC        </action>
            <action>maincpu.mq@22500 = 0000000000000000</action>
            <action>maincpu.mq@22508 = 0000000000000000</action>
            <action>maincpu.mq@22510 = 0000000000000000</action>
            <action>maincpu.mq@22518 = 0000000000000000</action>
            <action>maincpu.mq@22520 = 0000000000000000</action>
            <action>maincpu.mq@22528 = 0000000000000000</action>
            <action>maincpu.mq@22530 = 0000000000000000</action>
            <action>maincpu.mq@22538 = 0000000000000000</action>
            <action>maincpu.mq@22540 = 0000000000000000</action>
            <action>maincpu.mq@22548 = 0000000000000000</action>
            <action>maincpu.mq@22550 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@22214 = 6000005A</action> <!-- ram -->
            <action>maincpu.md@22380 = 600000B4</action> <!-- rom -->
        </script>
        <script state="off">
            <action>maincpu.md@22214 = 286D0004</action>
            <action>maincpu.md@22380 = 4DF80000</action>
        </script>
    </cheat>

</mamecheat>
  • "no hit" : Major rewritten routine.
  • "action speed up" : Renamed from "attack speed up". But test code because some problems happen (character freeze, object flicker in the ending etc).
  • "skip ram/rom check" : Renamed from "skip rom check". Added code for RAM check.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Post Reply