[megadriv/wboy3] Wonder Boy III - Monster Lair

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: 1014
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 4 times

[megadriv/wboy3] Wonder Boy III - Monster Lair

Post by jman »

megadriv/wboy3.xml

Code: Select all

<!-- Wonder Boy III - Monster Lair (Europe) ~ Monster Lair (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>mdslot:cart:rom.mb@0D140 = 60</action> <!-- enemy -->
            <action>mdslot:cart:rom.mb@0F996 = 60</action> <!-- stone -->
            <!-- bullet/candy -->
            <action>mdslot:cart:rom.mw@1558E = 7C00            </action>
            <action>mdslot:cart:rom.mq@07C00 = 4EB90000EDC80C2D</action>
            <action>mdslot:cart:rom.mq@07C08 = 00090004670608AE</action>
            <action>mdslot:cart:rom.mq@07C10 = 0001000A4E75FFFF</action>
            <!--
            7C00 | 4EB9 0000 EDC8 : jsr     $edc8.l
            7C06 | 0C2D 0009 0004 : cmpi.b  #$9, ($4,A5) // is candy?
            7C0C | 6706           : beq     $7c14
            7C0E | 08AE 0001 000A : bclr    #$1, ($a,A6)
            7C14 | 4E75           : rts
            -->
            <action>mdslot:cart:rom.mb@1C232 = 60</action> <!-- boss -->
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mb@0D140 = 67              </action>
            <action>mdslot:cart:rom.mb@0F996 = 67              </action>
            <action>mdslot:cart:rom.mw@1558E = EDC8            </action>
            <action>mdslot:cart:rom.mq@07C00 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@07C08 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@07C10 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mb@1C232 = 67              </action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>mdslot:cart:rom.mb@550D = 86</action> <!-- normal stage -->
            <action>mdslot:cart:rom.mb@5D01 = 86</action> <!-- boss stage -->
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mb@550D = 87</action>
            <action>mdslot:cart:rom.mb@5D01 = 87</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>mdslot:cart:rom.mw@5A4E = 21D2            </action>
            <action>mdslot:cart:rom.mq@7C20 = 4EB85C3E08380004</action>
            <action>mdslot:cart:rom.mq@7C28 = C889660831FC1111</action>
            <action>mdslot:cart:rom.mq@7C30 = 92924E7531FC1111</action>
            <action>mdslot:cart:rom.mq@7C38 = 92944E75FFFFFFFF</action>
            <!--
            7C20 | 4EB8 5C3E      : jsr     $5c3e.w
            7C24 | 0838 0004 C889 : btst    #$4, $c889.w
            7C2A | 6608           : bne     $7c34
            7C2C | 31FC 1111 9292 : move.w  #$1111, $9292.w // 1P
            7C32 | 4E75           : rts
            7C34 | 31FC 1111 9294 : move.w  #$1111, $9294.w // 2P
            7C3A | 4E75           : rts
            -->
            <action>mdslot:cart:rom.mw@5A70 = 4E71</action>
            <action>mdslot:cart:rom.mw@5B1C = 4E71</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@5A4E = 01F0            </action>
            <action>mdslot:cart:rom.mq@7C20 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@7C28 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@7C30 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@7C38 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mw@5A70 = 661C            </action>
            <action>mdslot:cart:rom.mw@5B1C = 6630            </action>
        </script>
    </cheat>

    <cheat desc="vitality speed">
        <parameter>
            <item value="0x0280">01 (slow)</item>
            <item value="0x0200">02       </item>
            <item value="0x0180">03       </item>
            <item value="0x0100">04       </item>
            <item value="0x0000">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- 1P -->
            <action>        maincpu.pw@FF90C4 = param</action> <!-- initialize parameter -->
            <action>mdslot:cart:rom.mw@003584 = param</action> <!-- player start -->
            <action>mdslot:cart:rom.mw@0035E6 = param</action> <!-- level start -->
            <action>mdslot:cart:rom.mw@0037AE = param</action>
            <!-- 2P -->
            <action>        maincpu.pw@FF90C6 = param</action> <!-- initialize parameter -->
            <action>mdslot:cart:rom.mw@00361E = param</action> <!-- player start -->
            <action>mdslot:cart:rom.mw@003680 = param</action> <!-- level start -->
            <action>mdslot:cart:rom.mw@0038E4 = param</action>
        </script>
        <script state="off">
            <action>        maincpu.pw@FF90C4 = 00F0</action>
            <action>mdslot:cart:rom.mw@003584 = 00F0</action>
            <action>mdslot:cart:rom.mw@0035E6 = 00F0</action>
            <action>mdslot:cart:rom.mw@0037AE = 00F0</action>
            <action>        maincpu.pw@FF90C6 = 00F0</action>
            <action>mdslot:cart:rom.mw@00361E = 00F0</action>
            <action>mdslot:cart:rom.mw@003680 = 00F0</action>
            <action>mdslot:cart:rom.mw@0038E4 = 00F0</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- music : 0x01 - 0x0d, sfx : 0x10 - 0x3f -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>mdslot:cart:rom.mw@30C0 = 7C40            </action>
            <action>mdslot:cart:rom.mq@7C40 = 41F8800011FC0004</action>
            <action>mdslot:cart:rom.mq@7C48 = 86564EB8093E1238</action>
            <action>mdslot:cart:rom.mq@7C50 = 861D0C0100046602</action>
            <action>mdslot:cart:rom.mq@7C58 = 53100C0100086602</action>
            <action>mdslot:cart:rom.mq@7C60 = 52100C0100026604</action>
            <action>mdslot:cart:rom.mq@7C68 = 041000100C010001</action>
            <action>mdslot:cart:rom.mq@7C70 = 6604061000100C01</action>
            <action>mdslot:cart:rom.mq@7C78 = 0040660810100000</action>
            <action>mdslot:cart:rom.mq@7C80 = 0080600A0C010010</action>
            <action>mdslot:cart:rom.mq@7C88 = 660A103C008E4EB9</action>
            <action>mdslot:cart:rom.mq@7C90 = 0000CE3860AEFFFF</action>
            <!--
            7C40 | 41F8 8000      : lea     $8000.w, A0  // sound code address ($ff8000)
            7C44 | 11FC 0004 8656 : move.b  #$4, $8656.w
            7C4A | 4EB8 093E      : jsr     $93e.w       // wait interrupt
            7C4E | 1238 861D      : move.b  $861d.w, D1  // read input ($ff861d)
            7C52 | 0C01 0004      : cmpi.b  #$4, D1
            7C56 | 6602           : bne     $7c5a
            7C58 | 5310           : subq.b  #1, (A0)     // decrease code -01
            7C5A | 0C01 0008      : cmpi.b  #$8, D1
            7C5E | 6602           : bne     $7c62
            7C60 | 5210           : addq.b  #1, (A0)     // increase code +01
            7C62 | 0C01 0002      : cmpi.b  #$2, D1
            7C66 | 6604           : bne     $7c6c
            7C68 | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            7C6C | 0C01 0001      : cmpi.b  #$1, D1
            7C70 | 6604           : bne     $7c76
            7C72 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            7C76 | 0C01 0040      : cmpi.b  #$40, D1
            7C7A | 6608           : bne     $7c84
            7C7C | 1010           : move.b  (A0), D0     // play sound
            7C7E | 0000 0080      : ori.b   #$80, D0
            7C82 | 600A           : bra     $7c8e
            7C84 | 0C01 0010      : cmpi.b  #$10, D1
            7C88 | 660A           : bne     $7c94
            7C8A | 103C 008E      : move.b  #$8e, D0     // stop sound
            7C8E | 4EB9 0000 CE38 : jsr     $ce38.l      // send sound code
            7C94 | 60AE           : bra     $7c44
            -->
        </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@FF8000</argument>
            </output>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@30C0 = 2968            </action>
            <action>mdslot:cart:rom.mq@7C40 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@7C48 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@7C50 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@7C58 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@7C60 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@7C68 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@7C70 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@7C78 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@7C80 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@7C88 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@7C90 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
"sound test mode" : No sound response when you play some codes except music (0x01 - 0x0d) and sfx (0x10 - 0x3f).
jman

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