[smsj/kenseidj] Kenseiden

This forum is for posting cheats for any non-arcade game in M.A.M.E. ( aka the M.E.S.S. games ) including any softwarelist game. Requests will be fulfilled here....but please keep the requests to the requests forum.
Post Reply
jman
Posts: 1008
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 4 times

[smsj/kenseidj] Kenseiden

Post by jman »

Code: Select all

<cheat desc="no hit (wip)">
    <script state="on">
        <action>slot:cart:rom.mb@535b = 18</action> <!-- objects -->
        <action>slot:cart:rom.mb@117f = c9</action> <!-- background -->
        <action>slot:cart:rom.mb@1166 = 18</action> <!-- lava -->
    </script>
    <script state="off">
        <action>slot:cart:rom.mb@535b = 30</action>
        <action>slot:cart:rom.mb@117f = c8</action>
        <action>slot:cart:rom.mb@1166 = 28</action>
    </script>
</cheat>

<cheat desc="auto fire (wip)">
    <script state="on">
        <action>slot:cart:rom.mb@1271 = 61</action> <!-- stand -->
        <action>slot:cart:rom.mb@149d = 61</action> <!-- crouch -->
        <action>slot:cart:rom.mb@15f7 = 61</action> <!-- jump -->
    </script>
    <script state="off">
        <action>slot:cart:rom.mb@1271 = 60</action>
        <action>slot:cart:rom.mb@149d = 60</action>
        <action>slot:cart:rom.mb@15f7 = 60</action>
    </script>
</cheat>

<cheat desc="attack speed up (wip)">
    <script state="on">
        <action>slot:cart:rom.mw@1337 = 0101</action> <!-- stand -->
        <action>slot:cart:rom.mw@14d7 = 0101</action> <!-- crouch -->
        <action>slot:cart:rom.mw@1663 = 0101</action> <!-- jump -->
    </script>
    <script state="off">
        <action>slot:cart:rom.mw@1337 = 0202</action>
        <action>slot:cart:rom.mw@14d7 = 0202</action>
        <action>slot:cart:rom.mw@1663 = 0202</action>
    </script>
</cheat>

<cheat desc="multiple jump (wip)">
    <script state="on">
        <action>slot:cart:rom.mw@10d8 =             7fa0</action>
        <action>slot:cart:rom.mq@7fa0 = 15eac31576c268cb</action>
        <!--
        7fa0 | cb 68    : bit 5,b
        7fa2 | c2 76 15 : jp  nz,$1576
        7fa5 | c3 ea 15 : jp  $15ea
        -->
    </script>
    <script state="off">
        <action>slot:cart:rom.mw@10d8 =             15ea</action>
        <action>slot:cart:rom.mq@7fa0 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="sound test mode (wip)">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>slot:cart:rom.mw@010e =             7fb0</action>
        <action>slot:cart:rom.mq@7fb0 = 22d57fb311800021</action>
        <action>slot:cart:rom.mq@7fb8 = fec86fbddcdbc100</action>
        <action>slot:cart:rom.mq@7fc0 = 0120f7fe250120fb</action>
        <action>slot:cart:rom.mq@7fc8 = 04187c0320effe24</action>
        <action>slot:cart:rom.mq@7fd0 = c9de0332afc0dffe</action>
        <!--
        7fb0 | 21 00 80 : ld   hl,$8000   // initialize sound and input values
        7fb3 | 11 b3 7f : ld   de,$7fb3
        7fb6 | d5       : push de
        7fb7 | 22 00 c1 : ld   ($c100),hl
        7fba | db dc    : in   a,($dc)    // read input
        7fbc | bd       : cp   l
        7fbd | 6f       : ld   l,a
        7fbe | c8       : ret  z
        7fbf | fe fb    : cp   $fb
        7fc1 | 20 01    : jr   nz,$7fc4
        7fc3 | 25       : dec  h          // decrease code
        7fc4 | fe f7    : cp   $f7
        7fc6 | 20 01    : jr   nz,$7fc9
        7fc8 | 24       : inc  h          // increase code
        7fc9 | fe ef    : cp   $ef
        7fcb | 20 03    : jr   nz,$7fd0
        7fcd | 7c       : ld   a,h        // play sound
        7fce | 18 04    : jr   $7fd4
        7fd0 | fe df    : cp   $df
        7fd2 | c0       : ret  nz
        7fd3 | af       : xor  a          // stop sound
        7fd4 | 32 03 de : ld   ($de03),a  // send sound code
        7fd7 | c9       : ret
        -->
    </script>
    <script state="run">
        <output format="----- kenseiden sound test mode -----" line="10" align="center" />
        <output format="left : decrease code"                  line="11" align="center" />
        <output format="right : increase code"                 line="12" align="center" />
        <output format="button 1 : play sound"                 line="13" align="center" />
        <output format="button 2 : stop sound"                 line="14" align="center" />
        <output format="----------------------------"          line="15" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"    line="17" align="center">
            <argument>maincpu.pb@c101</argument>
        </output>
    </script>
    <script state="off">
        <action>slot:cart:rom.mw@010e =             0922</action>
        <action>slot:cart:rom.mq@7fb0 = ffffffffffffffff</action>
        <action>slot:cart:rom.mq@7fb8 = ffffffffffffffff</action>
        <action>slot:cart:rom.mq@7fc0 = ffffffffffffffff</action>
        <action>slot:cart:rom.mq@7fc8 = ffffffffffffffff</action>
        <action>slot:cart:rom.mq@7fd0 = ffffffffffffffff</action>
    </script>
</cheat>
jman

my wip cheat database back-up (2024/09/06 ver.)
https://u11.getuploader.com/uploader/download/1589
jman
Posts: 1008
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 4 times

[sms/kenseid]+ Kenseiden

Post by jman »

sms/kenseid.xml

Code: Select all

<!-- Kenseiden (Europe, USA, Brazil) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>slot:cart:rom.mb@1193 = 18</action> <!-- lava -->
            <action>slot:cart:rom.mb@11AC = C9</action> <!-- background -->
            <action>slot:cart:rom.mb@5388 = 18</action> <!-- objects -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@1193 = 28</action>
            <action>slot:cart:rom.mb@11AC = C8</action>
            <action>slot:cart:rom.mb@5388 = 30</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>slot:cart:rom.mb@129E = 61</action> <!-- stand -->
            <action>slot:cart:rom.mb@14CA = 61</action> <!-- crouch -->
            <action>slot:cart:rom.mb@1624 = 61</action> <!-- jump -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@129E = 60</action>
            <action>slot:cart:rom.mb@14CA = 60</action>
            <action>slot:cart:rom.mb@1624 = 60</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>slot:cart:rom.mw@1364 = 0101</action> <!-- stand -->
            <action>slot:cart:rom.mw@1504 = 0101</action> <!-- crouch -->
            <action>slot:cart:rom.mw@1690 = 0101</action> <!-- jump -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@1364 = 0202</action>
            <action>slot:cart:rom.mw@1504 = 0202</action>
            <action>slot:cart:rom.mw@1690 = 0202</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>slot:cart:rom.mw@1105 = 7F10            </action>
            <action>slot:cart:rom.mq@7F10 = 1617C315A3C268CB</action>
            <!--
            7F10 | CB 68    : bit  5,b
            7F12 | C2 A3 15 : jp   nz,$15A3
            7F15 | C3 17 16 : jp   $1617
            -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@1105 = 1617            </action>
            <action>slot:cart:rom.mq@7F10 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="all technique">
        <script state="on">
            <action>slot:cart:rom.mb@132B = 00</action> <!-- up + attack (stand) -->
            <action>slot:cart:rom.mb@13B1 = 00</action> <!-- upper-left -->
            <action>slot:cart:rom.mb@13E5 = 00</action> <!-- upper-right -->
            <action>slot:cart:rom.mb@150D = 18</action> <!-- crouch attack -->
            <action>slot:cart:rom.mb@15BD = 00</action> <!-- high jump -->
            <action>slot:cart:rom.mb@165F = 00</action> <!-- up + attack (jump) -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@132B = 2D</action>
            <action>slot:cart:rom.mb@13B1 = 0C</action>
            <action>slot:cart:rom.mb@13E5 = 0C</action>
            <action>slot:cart:rom.mb@150D = 20</action>
            <action>slot:cart:rom.mb@15BD = 07</action>
            <action>slot:cart:rom.mb@165F = 29</action>
        </script>
    </cheat>

    <cheat desc="sound device">
        <!-- smsj and sms1krfm only -->
        <comment>reset the game (F3) to switch sound device</comment>
        <parameter>
            <item value="0x0028">PSG</item>
            <item value="0x0118">FM </item>
        </parameter>
        <script state="change">
            <action>slot:cart:rom.mw@04B2 = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@04B2 = 0128</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>slot:cart:rom.mw@010E = ABE0            </action>
            <action>slot:cart:rom.mq@ABE0 = 2847B8DCDBC10021</action>
            <action>slot:cart:rom.mq@ABE8 = F7FE350120FBFEFA</action>
            <action>slot:cart:rom.mq@ABF0 = 3E0420FDFE340120</action>
            <action>slot:cart:rom.mq@ABF8 = 3E0520FEFE0618F0</action>
            <action>slot:cart:rom.mq@AC00 = 0520EFFE78778610</action>
            <action>slot:cart:rom.mq@AC08 = 20DFFE051880F67E</action>
            <action>slot:cart:rom.mq@AC10 = FFCC18DE0332AF04</action>
            <!--
            ABE0 | 21 00 C1 : ld   hl,$C100  // sound code address
            ABE3 | DB DC    : in   a,($DC)   // read input
            ABE5 | B8       : cp   b
            ABE6 | 47       : ld   b,a
            ABE7 | 28 FA    : jr   z,$ABE3
            ABE9 | FE FB    : cp   $FB
            ABEB | 20 01    : jr   nz,$ABEE
            ABED | 35       : dec  (hl)      // decrease code -01
            ABEE | FE F7    : cp   $F7
            ABF0 | 20 01    : jr   nz,$ABF3
            ABF2 | 34       : inc  (hl)      // increase code +01
            ABF3 | FE FD    : cp   $FD
            ABF5 | 20 04    : jr   nz,$ABFB
            ABF7 | 3E F0    : ld   a,$F0     // decrease code -10
            ABF9 | 18 06    : jr   $AC01
            ABFB | FE FE    : cp   $FE
            ABFD | 20 05    : jr   nz,$AC04
            ABFF | 3E 10    : ld   a,$10     // increase code +10
            AC01 | 86       : add  a,(hl)
            AC02 | 77       : ld   (hl),a
            AC03 | 78       : ld   a,b
            AC04 | FE EF    : cp   $EF
            AC06 | 20 05    : jr   nz,$AC0D
            AC08 | 7E       : ld   a,(hl)    // play sound
            AC09 | F6 80    : or   $80
            AC0B | 18 05    : jr   $AC12
            AC0D | FE DF    : cp   $DF
            AC0F | 20 04    : jr   nz,$AC15
            AC11 | AF       : xor  a         // stop sound
            AC12 | 32 03 DE : ld   ($DE03),a // send sound code
            AC15 | 18 CC    : jr   $ABE3
            -->
        </script>
        <script state="run">
            <output format="----- kenseiden 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@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@010E = 0940            </action>
            <action>slot:cart:rom.mq@ABE0 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@ABE8 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@ABF0 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@ABF8 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@AC00 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@AC08 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@AC10 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check error">
        <script state="on">
            <!-- detect bios -->
            <action>                                    temp0 = 00</action> <!-- initialize flag -->
            <action condition="user1.mw@0006 == 0x7d18">temp0 = 01</action>
            <action condition="user1.mw@0006 == 0x6518">temp0 = 02</action>
            <action condition="user1.mw@0006 == 0x36ff">temp0 = 03</action>
            <action condition="user1.mw@0006 == 0x6f18">temp0 = 04</action>
            <action condition="user1.mw@0006 == 0x0000">temp0 = 05</action>
            <action condition="user1.mw@0006 == 0x0406">temp0 = 06</action>
            <action condition="user1.mw@0006 == 0x94cd">temp0 = 07</action>
            <!-- US/European BIOS with Alex Kidd ($bef2) -->
            <action condition="temp0 == 01">user1.mb@17EF2 = C3</action>
            <!-- US/European BIOS v1.3 -->
            <action condition="temp0 == 02">user1.mb@00128 = C3</action>
            <!-- US/European BIOS v2.4 ($8142) -->
            <action condition="temp0 == 03">user1.mb@1C142 = C3</action>
            <!-- US/European BIOS v3.4 -->
            <action condition="temp0 == 04">user1.mb@0813E = C3</action>
            <!-- US/European BIOS v4.4 ($b0b9) -->
            <action condition="temp0 == 05">user1.mb@170B9 = C3</action>
            <!-- US Master System BIOS v1.0 -->
            <action condition="temp0 == 06">user1.mb@00140 = C3</action>
            <!-- European/Brazilian BIOS with Sonic -->
            <action condition="temp0 == 07">user1.mb@0270E = C3</action>
        </script>
        <script state="off">
            <action condition="temp0 == 01">user1.mb@17EF2 = CA</action>
            <action condition="temp0 == 02">user1.mb@00128 = CA</action>
            <action condition="temp0 == 03">user1.mb@1C142 = CA</action>
            <action condition="temp0 == 04">user1.mb@0813E = CA</action>
            <action condition="temp0 == 05">user1.mb@170B9 = CA</action>
            <action condition="temp0 == 06">user1.mb@00140 = CA</action>
            <action condition="temp0 == 07">user1.mb@0270E = CA</action>
        </script>
    </cheat>

</mamecheat>
sms/kenseidj.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>slot:cart:rom.mb@1166 = 18</action> <!-- lava -->
            <action>slot:cart:rom.mb@117F = C9</action> <!-- background -->
            <action>slot:cart:rom.mb@535B = 18</action> <!-- objects -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@1166 = 28</action>
            <action>slot:cart:rom.mb@117F = C8</action>
            <action>slot:cart:rom.mb@535B = 30</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>slot:cart:rom.mb@1271 = 61</action> <!-- stand -->
            <action>slot:cart:rom.mb@149D = 61</action> <!-- crouch -->
            <action>slot:cart:rom.mb@15F7 = 61</action> <!-- jump -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@1271 = 60</action>
            <action>slot:cart:rom.mb@149D = 60</action>
            <action>slot:cart:rom.mb@15F7 = 60</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>slot:cart:rom.mw@1337 = 0101</action> <!-- stand -->
            <action>slot:cart:rom.mw@14D7 = 0101</action> <!-- crouch -->
            <action>slot:cart:rom.mw@1663 = 0101</action> <!-- jump -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@1337 = 0202</action>
            <action>slot:cart:rom.mw@14D7 = 0202</action>
            <action>slot:cart:rom.mw@1663 = 0202</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>slot:cart:rom.mw@10D8 = 7FA0            </action>
            <action>slot:cart:rom.mq@7FA0 = 15EAC31576C268CB</action>
            <!--
            7FA0 | CB 68    : bit  5,b
            7FA2 | C2 76 15 : jp   nz,$1576
            7FA5 | C3 EA 15 : jp   $15EA
            -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@10D8 = 15EA            </action>
            <action>slot:cart:rom.mq@7FA0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="all technique">
        <script state="on">
            <action>slot:cart:rom.mb@12FE = 00</action> <!-- up + attack (stand) -->
            <action>slot:cart:rom.mb@1384 = 00</action> <!-- upper-left -->
            <action>slot:cart:rom.mb@13B8 = 00</action> <!-- upper-right -->
            <action>slot:cart:rom.mb@14E0 = 18</action> <!-- crouch attack -->
            <action>slot:cart:rom.mb@1590 = 00</action> <!-- high jump -->
            <action>slot:cart:rom.mb@1632 = 00</action> <!-- up + attack (jump) -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@12FE = 2D</action>
            <action>slot:cart:rom.mb@1384 = 0C</action>
            <action>slot:cart:rom.mb@13B8 = 0C</action>
            <action>slot:cart:rom.mb@14E0 = 20</action>
            <action>slot:cart:rom.mb@1590 = 07</action>
            <action>slot:cart:rom.mb@1632 = 29</action>
        </script>
    </cheat>

    <cheat desc="sound device">
        <!-- smsj and sms1krfm only -->
        <comment>reset the game (F3) to switch sound device</comment>
        <parameter>
            <item value="0x0028">PSG</item>
            <item value="0x0118">FM </item>
        </parameter>
        <script state="change">
            <action>slot:cart:rom.mw@04B2 = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@04B2 = 0128</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>slot:cart:rom.mw@010E = ABE0            </action>
            <action>slot:cart:rom.mq@ABE0 = 2847B8DCDBC10021</action>
            <action>slot:cart:rom.mq@ABE8 = F7FE350120FBFEFA</action>
            <action>slot:cart:rom.mq@ABF0 = 3E0420FDFE340120</action>
            <action>slot:cart:rom.mq@ABF8 = 3E0520FEFE0618F0</action>
            <action>slot:cart:rom.mq@AC00 = 0520EFFE78778610</action>
            <action>slot:cart:rom.mq@AC08 = 20DFFE051880F67E</action>
            <action>slot:cart:rom.mq@AC10 = FFCC18DE0332AF04</action>
            <!--
            ABE0 | 21 00 C1 : ld   hl,$C100  // sound code address
            ABE3 | DB DC    : in   a,($DC)   // read input
            ABE5 | B8       : cp   b
            ABE6 | 47       : ld   b,a
            ABE7 | 28 FA    : jr   z,$ABE3
            ABE9 | FE FB    : cp   $FB
            ABEB | 20 01    : jr   nz,$ABEE
            ABED | 35       : dec  (hl)      // decrease code -01
            ABEE | FE F7    : cp   $F7
            ABF0 | 20 01    : jr   nz,$ABF3
            ABF2 | 34       : inc  (hl)      // increase code +01
            ABF3 | FE FD    : cp   $FD
            ABF5 | 20 04    : jr   nz,$ABFB
            ABF7 | 3E F0    : ld   a,$F0     // decrease code -10
            ABF9 | 18 06    : jr   $AC01
            ABFB | FE FE    : cp   $FE
            ABFD | 20 05    : jr   nz,$AC04
            ABFF | 3E 10    : ld   a,$10     // increase code +10
            AC01 | 86       : add  a,(hl)
            AC02 | 77       : ld   (hl),a
            AC03 | 78       : ld   a,b
            AC04 | FE EF    : cp   $EF
            AC06 | 20 05    : jr   nz,$AC0D
            AC08 | 7E       : ld   a,(hl)    // play sound
            AC09 | F6 80    : or   $80
            AC0B | 18 05    : jr   $AC12
            AC0D | FE DF    : cp   $DF
            AC0F | 20 04    : jr   nz,$AC15
            AC11 | AF       : xor  a         // stop sound
            AC12 | 32 03 DE : ld   ($DE03),a // send sound code
            AC15 | 18 CC    : jr   $ABE3
            -->
        </script>
        <script state="run">
            <output format="----- kenseiden 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@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@010E = 0922            </action>
            <action>slot:cart:rom.mq@ABE0 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@ABE8 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@ABF0 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@ABF8 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@AC00 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@AC08 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@AC10 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check error">
        <script state="on">
            <!-- detect bios -->
            <action>                                    temp0 = 00</action> <!-- initialize flag -->
            <action condition="user1.mw@0006 == 0x7d18">temp0 = 01</action>
            <action condition="user1.mw@0006 == 0x6518">temp0 = 02</action>
            <action condition="user1.mw@0006 == 0x36ff">temp0 = 03</action>
            <action condition="user1.mw@0006 == 0x6f18">temp0 = 04</action>
            <action condition="user1.mw@0006 == 0x0000">temp0 = 05</action>
            <action condition="user1.mw@0006 == 0x0406">temp0 = 06</action>
            <action condition="user1.mw@0006 == 0x94cd">temp0 = 07</action>
            <!-- US/European BIOS with Alex Kidd ($bef2) -->
            <action condition="temp0 == 01">user1.mb@17EF2 = C3</action>
            <!-- US/European BIOS v1.3 -->
            <action condition="temp0 == 02">user1.mb@00128 = C3</action>
            <!-- US/European BIOS v2.4 ($8142) -->
            <action condition="temp0 == 03">user1.mb@1C142 = C3</action>
            <!-- US/European BIOS v3.4 -->
            <action condition="temp0 == 04">user1.mb@0813E = C3</action>
            <!-- US/European BIOS v4.4 ($b0b9) -->
            <action condition="temp0 == 05">user1.mb@170B9 = C3</action>
            <!-- US Master System BIOS v1.0 -->
            <action condition="temp0 == 06">user1.mb@00140 = C3</action>
            <!-- European/Brazilian BIOS with Sonic -->
            <action condition="temp0 == 07">user1.mb@0270E = C3</action>
        </script>
        <script state="off">
            <action condition="temp0 == 01">user1.mb@17EF2 = CA</action>
            <action condition="temp0 == 02">user1.mb@00128 = CA</action>
            <action condition="temp0 == 03">user1.mb@1C142 = CA</action>
            <action condition="temp0 == 04">user1.mb@0813E = CA</action>
            <action condition="temp0 == 05">user1.mb@170B9 = CA</action>
            <action condition="temp0 == 06">user1.mb@00140 = CA</action>
            <action condition="temp0 == 07">user1.mb@0270E = CA</action>
        </script>
    </cheat>

</mamecheat>
hwaran.xml

Code: Select all

<!-- Hwarang Ui Geom (Korea) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>slot:cart:rom.mb@11FB = 18</action> <!-- lava -->
            <action>slot:cart:rom.mb@1214 = C9</action> <!-- background -->
            <action>slot:cart:rom.mb@53F0 = 18</action> <!-- objects -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@11FB = 28</action>
            <action>slot:cart:rom.mb@1214 = C8</action>
            <action>slot:cart:rom.mb@53F0 = 30</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>slot:cart:rom.mb@1306 = 61</action> <!-- stand -->
            <action>slot:cart:rom.mb@1532 = 61</action> <!-- crouch -->
            <action>slot:cart:rom.mb@168C = 61</action> <!-- jump -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@1306 = 60</action>
            <action>slot:cart:rom.mb@1532 = 60</action>
            <action>slot:cart:rom.mb@168C = 60</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>slot:cart:rom.mw@13CC = 0101</action> <!-- stand -->
            <action>slot:cart:rom.mw@156C = 0101</action> <!-- crouch -->
            <action>slot:cart:rom.mw@16F8 = 0101</action> <!-- jump -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@13CC = 0202</action>
            <action>slot:cart:rom.mw@156C = 0202</action>
            <action>slot:cart:rom.mw@16F8 = 0202</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>slot:cart:rom.mw@116D = 7D30            </action>
            <action>slot:cart:rom.mq@7D30 = 167FC3160BC268CB</action>
            <!--
            7D30 | CB 68    : bit  5,b
            7D32 | C2 0B 16 : jp   nz,$160B
            7D35 | C3 7F 16 : jp   $167F
            -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@10D8 = 167F            </action>
            <action>slot:cart:rom.mq@7D30 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="all technique">
        <script state="on">
            <action>slot:cart:rom.mb@1393 = 00</action> <!-- up + attack (stand) -->
            <action>slot:cart:rom.mb@1419 = 00</action> <!-- upper-left -->
            <action>slot:cart:rom.mb@144D = 00</action> <!-- upper-right -->
            <action>slot:cart:rom.mb@1575 = 18</action> <!-- crouch attack -->
            <action>slot:cart:rom.mb@1625 = 00</action> <!-- high jump -->
            <action>slot:cart:rom.mb@16C7 = 00</action> <!-- up + attack (jump) -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@1393 = 2D</action>
            <action>slot:cart:rom.mb@1419 = 0C</action>
            <action>slot:cart:rom.mb@144D = 0C</action>
            <action>slot:cart:rom.mb@1575 = 20</action>
            <action>slot:cart:rom.mb@1625 = 07</action>
            <action>slot:cart:rom.mb@16C7 = 29</action>
        </script>
    </cheat>

    <cheat desc="sound device">
        <!-- smsj and sms1krfm only -->
        <comment>reset the game (F3) to switch sound device</comment>
        <parameter>
            <item value="0x0028">PSG</item>
            <item value="0x0118">FM </item>
        </parameter>
        <script state="change">
            <action>slot:cart:rom.mw@04B5 = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@04B5 = 0128</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>slot:cart:rom.mw@010E = ABE0            </action>
            <action>slot:cart:rom.mq@ABE0 = 2847B8DCDBC10021</action>
            <action>slot:cart:rom.mq@ABE8 = F7FE350120FBFEFA</action>
            <action>slot:cart:rom.mq@ABF0 = 3E0420FDFE340120</action>
            <action>slot:cart:rom.mq@ABF8 = 3E0520FEFE0618F0</action>
            <action>slot:cart:rom.mq@AC00 = 0520EFFE78778610</action>
            <action>slot:cart:rom.mq@AC08 = 20DFFE051880F67E</action>
            <action>slot:cart:rom.mq@AC10 = FFCC18DE0332AF04</action>
            <!--
            ABE0 | 21 00 C1 : ld   hl,$C100  // sound code address
            ABE3 | DB DC    : in   a,($DC)   // read input
            ABE5 | B8       : cp   b
            ABE6 | 47       : ld   b,a
            ABE7 | 28 FA    : jr   z,$ABE3
            ABE9 | FE FB    : cp   $FB
            ABEB | 20 01    : jr   nz,$ABEE
            ABED | 35       : dec  (hl)      // decrease code -01
            ABEE | FE F7    : cp   $F7
            ABF0 | 20 01    : jr   nz,$ABF3
            ABF2 | 34       : inc  (hl)      // increase code +01
            ABF3 | FE FD    : cp   $FD
            ABF5 | 20 04    : jr   nz,$ABFB
            ABF7 | 3E F0    : ld   a,$F0     // decrease code -10
            ABF9 | 18 06    : jr   $AC01
            ABFB | FE FE    : cp   $FE
            ABFD | 20 05    : jr   nz,$AC04
            ABFF | 3E 10    : ld   a,$10     // increase code +10
            AC01 | 86       : add  a,(hl)
            AC02 | 77       : ld   (hl),a
            AC03 | 78       : ld   a,b
            AC04 | FE EF    : cp   $EF
            AC06 | 20 05    : jr   nz,$AC0D
            AC08 | 7E       : ld   a,(hl)    // play sound
            AC09 | F6 80    : or   $80
            AC0B | 18 05    : jr   $AC12
            AC0D | FE DF    : cp   $DF
            AC0F | 20 04    : jr   nz,$AC15
            AC11 | AF       : xor  a         // stop sound
            AC12 | 32 03 DE : ld   ($DE03),a // send sound code
            AC15 | 18 CC    : jr   $ABE3
            -->
        </script>
        <script state="run">
            <output format="----- hwarang ui geom 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@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@010E = 094F            </action>
            <action>slot:cart:rom.mq@ABE0 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@ABE8 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@ABF0 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@ABF8 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@AC00 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@AC08 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@AC10 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check error">
        <script state="on">
            <!-- detect bios -->
            <action>                                    temp0 = 00</action> <!-- initialize flag -->
            <action condition="user1.mw@0006 == 0x7d18">temp0 = 01</action>
            <action condition="user1.mw@0006 == 0x6518">temp0 = 02</action>
            <action condition="user1.mw@0006 == 0x36ff">temp0 = 03</action>
            <action condition="user1.mw@0006 == 0x6f18">temp0 = 04</action>
            <action condition="user1.mw@0006 == 0x0000">temp0 = 05</action>
            <action condition="user1.mw@0006 == 0x0406">temp0 = 06</action>
            <action condition="user1.mw@0006 == 0x94cd">temp0 = 07</action>
            <!-- US/European BIOS with Alex Kidd ($bef2) -->
            <action condition="temp0 == 01">user1.mb@17EF2 = C3</action>
            <!-- US/European BIOS v1.3 -->
            <action condition="temp0 == 02">user1.mb@00128 = C3</action>
            <!-- US/European BIOS v2.4 ($8142) -->
            <action condition="temp0 == 03">user1.mb@1C142 = C3</action>
            <!-- US/European BIOS v3.4 -->
            <action condition="temp0 == 04">user1.mb@0813E = C3</action>
            <!-- US/European BIOS v4.4 ($b0b9) -->
            <action condition="temp0 == 05">user1.mb@170B9 = C3</action>
            <!-- US Master System BIOS v1.0 -->
            <action condition="temp0 == 06">user1.mb@00140 = C3</action>
            <!-- European/Brazilian BIOS with Sonic -->
            <action condition="temp0 == 07">user1.mb@0270E = C3</action>
        </script>
        <script state="off">
            <action condition="temp0 == 01">user1.mb@17EF2 = CA</action>
            <action condition="temp0 == 02">user1.mb@00128 = CA</action>
            <action condition="temp0 == 03">user1.mb@1C142 = CA</action>
            <action condition="temp0 == 04">user1.mb@0813E = CA</action>
            <action condition="temp0 == 05">user1.mb@170B9 = CA</action>
            <action condition="temp0 == 06">user1.mb@00140 = CA</action>
            <action condition="temp0 == 07">user1.mb@0270E = CA</action>
        </script>
    </cheat>

</mamecheat>
  • "all technique", "sound device" and "skip rom check error" : Added new.
  • "sound test mode" : Rewritten routine. Added up/down key to code ±10.
jman

my wip cheat database back-up (2024/09/06 ver.)
https://u11.getuploader.com/uploader/download/1589
Post Reply