[megadriv/pstar2]+ Phantasy Star II

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

[megadriv/pstar2]+ Phantasy Star II

Post by jman »

pstar2.xml

Code: Select all

<!-- Phantasy Star II (Europe, USA, rev. A) -->
<mamecheat version="1">

    <cheat desc="normal battle encounter">
        <parameter>
            <item value="0x6026">none      </item>
            <item value="0x4E71">every step</item>
        </parameter>
        <script state="change">
            <action>mdslot:cart:rom.mw@117DE = param</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@117DE = 6426</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>mdslot:cart:rom.mw@3864 = 4E71</action> <!-- up -->
            <action>mdslot:cart:rom.mw@388A = 4E71</action> <!-- down -->
            <action>mdslot:cart:rom.mw@38B4 = 6610</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38BC = 6608</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38EA = 4E71</action> <!-- right -->
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@3864 = 660A</action> <!-- up -->
            <action>mdslot:cart:rom.mw@388A = 6608</action> <!-- down -->
            <action>mdslot:cart:rom.mw@38B4 = 661A</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38BC = 6612</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38EA = 6608</action> <!-- right -->
        </script>
    </cheat>

    <cheat desc="free price">
        <script state="on">
            <action>mdslot:cart:rom.mw@0BB38 = 7000</action> <!-- price in weapon shop -->
            <action>mdslot:cart:rom.mw@0BCCE = 7000</action> <!-- price in armor shop -->
            <action>mdslot:cart:rom.mw@0BFC8 = 7000</action> <!-- price in item shop -->
            <action>mdslot:cart:rom.mw@105FC = 7000</action> <!-- purchase -->
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@0B9A8 = 3010</action>
            <action>mdslot:cart:rom.mw@0BB3E = 3010</action>
            <action>mdslot:cart:rom.mw@0BE38 = 3010</action>
            <action>mdslot:cart:rom.mw@105FC = 3012</action>
        </script>
    </cheat>

    <cheat desc="max damage">
        <script state="on">
            <action>mdslot:cart:rom.md@280C = 303C270F</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.md@280C = C0C1E048</action>
        </script>
    </cheat>

    <cheat desc="message speed up">
        <script state="on">
            <action>mdslot:cart:rom.mw@0FBF0 = 4E71</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@0FBF0 = 670C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- code 0x01 - 17 are music and 0x20 - 0x56 are sfx, otherwise the game will reset (eg, 0x18) -->
        <!-- code 0x55 (pause sound) causes no sound response -->
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>mdslot:cart:rom.mw@0029A = 0004            </action> <!-- skip sega logo -->
            <action>mdslot:cart:rom.mq@073D4 = 4EF9000BF6D0203C</action>
            <action>mdslot:cart:rom.mq@BF6D0 = 41F8800043F8D003</action>
            <action>mdslot:cart:rom.mq@BF6D8 = 11FC0024F62A4EB8</action>
            <action>mdslot:cart:rom.mq@BF6E0 = 6B8C12001038F602</action>
            <action>mdslot:cart:rom.mq@BF6E8 = B20067EC0C000004</action>
            <action>mdslot:cart:rom.mq@BF6F0 = 660253100C000008</action>
            <action>mdslot:cart:rom.mq@BF6F8 = 660252100C000002</action>
            <action>mdslot:cart:rom.mq@BF700 = 6604041000100C00</action>
            <action>mdslot:cart:rom.mq@BF708 = 0001660406100010</action>
            <action>mdslot:cart:rom.mq@BF710 = 0C00004066081410</action>
            <action>mdslot:cart:rom.mq@BF718 = 0002008012820C00</action>
            <action>mdslot:cart:rom.mq@BF720 = 0010660412BC00FF</action>
            <action>mdslot:cart:rom.mq@BF728 = 60AEFFFFFFFFFFFF</action>
            <!--
            BF6D0 | 41F8 8000      : lea     $8000.w, A0   // sound code address ($FF8000)
            BF6D4 | 43F8 D003      : lea     $d003.w, A1   // sound latch address ($FFD003)
            BF6D8 | 11FC 0024 F62A : move.b  #$24, $f62a.w // wait interrupt
            BF6DE | 4EB8 6B8C      : jsr     $6b8c.w
            BF6E2 | 1200           : move.b  D0, D1
            BF6E4 | 1038 F602      : move.b  $f602.w, D0   // read input ($FFF602)
            BF6E8 | B200           : cmp.b   D0, D1
            BF6EA | 67EC           : beq     $bf6d8
            BF6EC | 0C00 0004      : cmpi.b  #$4, D0
            BF6F0 | 6602           : bne     $bf6f4
            BF6F2 | 5310           : subq.b  #1, (A0)      // decrease code -01
            BF6F4 | 0C00 0008      : cmpi.b  #$8, D0
            BF6F8 | 6602           : bne     $bf6fc
            BF6FA | 5210           : addq.b  #1, (A0)      // increase code +01
            BF6FC | 0C00 0002      : cmpi.b  #$2, D0
            BF700 | 6604           : bne     $bf706
            BF702 | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            BF706 | 0C00 0001      : cmpi.b  #$1, D0
            BF70A | 6604           : bne     $bf710
            BF70C | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            BF710 | 0C00 0040      : cmpi.b  #$40, D0
            BF714 | 6608           : bne     $bf71e
            BF716 | 1410           : move.b  (A0), D2      // play sound
            BF718 | 0002 0080      : ori.b   #$80, D2
            BF71C | 1282           : move.b  D2, (A1)
            BF71E | 0C00 0010      : cmpi.b  #$10, D0
            BF722 | 6604           : bne     $bf728
            BF724 | 12BC 00FF      : move.b  #$ff, (A1)    // stop sound
            BF728 | 60AE           : bra     $bf6d8
            -->
        </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.mb@0029A = 0000            </action>
            <action>mdslot:cart:rom.mq@073D4 = 43F90006C53A203C</action>
            <action>mdslot:cart:rom.mq@BF6D0 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF6D8 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF6E0 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF6E8 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF6F0 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF6F8 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF700 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF708 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF710 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF718 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF720 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF728 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>mdslot:cart:rom.mw@0224 = 604C</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@0224 = 670C</action>
        </script>
    </cheat>

</mamecheat>
pstar2a.xml

Code: Select all

<!-- Phantasy Star II (Europe, USA) -->
<mamecheat version="1">

    <cheat desc="normal battle encounter">
        <parameter>
            <item value="0x6026">none      </item>
            <item value="0x4E71">every step</item>
        </parameter>
        <script state="change">
            <action>mdslot:cart:rom.mw@117DE = param</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@117DE = 6426</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>mdslot:cart:rom.mw@3864 = 4E71</action> <!-- up -->
            <action>mdslot:cart:rom.mw@388A = 4E71</action> <!-- down -->
            <action>mdslot:cart:rom.mw@38B4 = 6610</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38BC = 6608</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38EA = 4E71</action> <!-- right -->
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@3864 = 660A</action> <!-- up -->
            <action>mdslot:cart:rom.mw@388A = 6608</action> <!-- down -->
            <action>mdslot:cart:rom.mw@38B4 = 661A</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38BC = 6612</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38EA = 6608</action> <!-- right -->
        </script>
    </cheat>

    <cheat desc="free price">
        <script state="on">
            <action>mdslot:cart:rom.mw@0BB38 = 7000</action> <!-- price in weapon shop -->
            <action>mdslot:cart:rom.mw@0BCCE = 7000</action> <!-- price in armor shop -->
            <action>mdslot:cart:rom.mw@0BFC8 = 7000</action> <!-- price in item shop -->
            <action>mdslot:cart:rom.mw@105FC = 7000</action> <!-- purchase -->
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@0B9A8 = 3010</action>
            <action>mdslot:cart:rom.mw@0BB3E = 3010</action>
            <action>mdslot:cart:rom.mw@0BE38 = 3010</action>
            <action>mdslot:cart:rom.mw@105FC = 3012</action>
        </script>
    </cheat>

    <cheat desc="max damage">
        <script state="on">
            <action>mdslot:cart:rom.md@280C = 303C270F</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.md@280C = C0C1E048</action>
        </script>
    </cheat>

    <cheat desc="message speed up">
        <script state="on">
            <action>mdslot:cart:rom.mw@0FBF0 = 4E71</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@0FBF0 = 670C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- code 0x01 - 17 are music and 0x20 - 0x56 are sfx, otherwise the game will reset (eg, 0x18) -->
        <!-- code 0x55 (pause sound) causes no sound response -->
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>mdslot:cart:rom.mw@0029A = 0004            </action> <!-- skip sega logo -->
            <action>mdslot:cart:rom.mq@073D4 = 4EF9000BF6D0203C</action>
            <action>mdslot:cart:rom.mq@BF6D0 = 41F8800043F8D003</action>
            <action>mdslot:cart:rom.mq@BF6D8 = 11FC0024F62A4EB8</action>
            <action>mdslot:cart:rom.mq@BF6E0 = 6B8C12001038F602</action>
            <action>mdslot:cart:rom.mq@BF6E8 = B20067EC0C000004</action>
            <action>mdslot:cart:rom.mq@BF6F0 = 660253100C000008</action>
            <action>mdslot:cart:rom.mq@BF6F8 = 660252100C000002</action>
            <action>mdslot:cart:rom.mq@BF700 = 6604041000100C00</action>
            <action>mdslot:cart:rom.mq@BF708 = 0001660406100010</action>
            <action>mdslot:cart:rom.mq@BF710 = 0C00004066081410</action>
            <action>mdslot:cart:rom.mq@BF718 = 0002008012820C00</action>
            <action>mdslot:cart:rom.mq@BF720 = 0010660412BC00FF</action>
            <action>mdslot:cart:rom.mq@BF728 = 60AEFFFFFFFFFFFF</action>
            <!--
            BF6D0 | 41F8 8000      : lea     $8000.w, A0   // sound code address ($FF8000)
            BF6D4 | 43F8 D003      : lea     $d003.w, A1   // sound latch address ($FFD003)
            BF6D8 | 11FC 0024 F62A : move.b  #$24, $f62a.w // wait interrupt
            BF6DE | 4EB8 6B8C      : jsr     $6b8c.w
            BF6E2 | 1200           : move.b  D0, D1
            BF6E4 | 1038 F602      : move.b  $f602.w, D0   // read input ($FFF602)
            BF6E8 | B200           : cmp.b   D0, D1
            BF6EA | 67EC           : beq     $bf6d8
            BF6EC | 0C00 0004      : cmpi.b  #$4, D0
            BF6F0 | 6602           : bne     $bf6f4
            BF6F2 | 5310           : subq.b  #1, (A0)      // decrease code -01
            BF6F4 | 0C00 0008      : cmpi.b  #$8, D0
            BF6F8 | 6602           : bne     $bf6fc
            BF6FA | 5210           : addq.b  #1, (A0)      // increase code +01
            BF6FC | 0C00 0002      : cmpi.b  #$2, D0
            BF700 | 6604           : bne     $bf706
            BF702 | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            BF706 | 0C00 0001      : cmpi.b  #$1, D0
            BF70A | 6604           : bne     $bf710
            BF70C | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            BF710 | 0C00 0040      : cmpi.b  #$40, D0
            BF714 | 6608           : bne     $bf71e
            BF716 | 1410           : move.b  (A0), D2      // play sound
            BF718 | 0002 0080      : ori.b   #$80, D2
            BF71C | 1282           : move.b  D2, (A1)
            BF71E | 0C00 0010      : cmpi.b  #$10, D0
            BF722 | 6604           : bne     $bf728
            BF724 | 12BC 00FF      : move.b  #$ff, (A1)    // stop sound
            BF728 | 60AE           : bra     $bf6d8
            -->
        </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.mb@0029A = 0000            </action>
            <action>mdslot:cart:rom.mq@073D4 = 43F90006C53A203C</action>
            <action>mdslot:cart:rom.mq@BF6D0 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF6D8 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF6E0 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF6E8 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF6F0 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF6F8 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF700 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF708 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF710 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF718 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF720 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BF728 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>mdslot:cart:rom.mw@0224 = 604C</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@0224 = 670C</action>
        </script>
    </cheat>

</mamecheat>
pstar2p.xml

Code: Select all

<!-- Phantasy Star II (USA, prototype 19890728) -->
<mamecheat version="1">

    <cheat desc="normal battle encounter">
        <parameter>
            <item value="0x6026">none      </item>
            <item value="0x4E71">every step</item>
        </parameter>
        <script state="change">
            <action>mdslot:cart:rom.mw@117D8 = param</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@117D8 = 6426</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>mdslot:cart:rom.mw@3864 = 4E71</action> <!-- up -->
            <action>mdslot:cart:rom.mw@388A = 4E71</action> <!-- down -->
            <action>mdslot:cart:rom.mw@38B4 = 6610</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38BC = 6608</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38EA = 4E71</action> <!-- right -->
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@3864 = 660A</action> <!-- up -->
            <action>mdslot:cart:rom.mw@388A = 6608</action> <!-- down -->
            <action>mdslot:cart:rom.mw@38B4 = 661A</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38BC = 6612</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38EA = 6608</action> <!-- right -->
        </script>
    </cheat>

    <cheat desc="free price">
        <script state="on">
            <action>mdslot:cart:rom.mw@0BB32 = 7000</action> <!-- price in weapon shop -->
            <action>mdslot:cart:rom.mw@0BCC8 = 7000</action> <!-- price in armor shop -->
            <action>mdslot:cart:rom.mw@0BFC2 = 7000</action> <!-- price in item shop -->
            <action>mdslot:cart:rom.mw@105F6 = 7000</action> <!-- purchase -->
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@0BB32 = 3010</action>
            <action>mdslot:cart:rom.mw@0BCC8 = 3010</action>
            <action>mdslot:cart:rom.mw@0BFC2 = 3010</action>
            <action>mdslot:cart:rom.mw@105F6 = 3012</action>
        </script>
    </cheat>

    <cheat desc="message speed up">
        <script state="on">
            <action>mdslot:cart:rom.mw@0FBEA = 4E71</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@0FBEA = 670C</action>
        </script>
    </cheat>

    <cheat desc="max damage">
        <script state="on">
            <action>mdslot:cart:rom.md@280C = 303C270F</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.md@280C = C0C1E048</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- code 0x01 - 17 are music and 0x20 - 0x56 are sfx, otherwise the game will reset (eg, 0x18) -->
        <!-- code 0x55 (pause sound) causes no sound response -->
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>mdslot:cart:rom.mw@0029A = 0004            </action> <!-- skip sega logo -->
            <action>mdslot:cart:rom.mq@073CE = 4EF9000BF6D0203C</action>
            <action>mdslot:cart:rom.mq@BF6D0 = 41F8800043F8D003</action>
            <action>mdslot:cart:rom.mq@BF6D8 = 11FC0024F62A4EB8</action>
            <action>mdslot:cart:rom.mq@BF6E0 = 6B8612001038F602</action>
            <action>mdslot:cart:rom.mq@BF6E8 = B20067EC0C000004</action>
            <action>mdslot:cart:rom.mq@BF6F0 = 660253100C000008</action>
            <action>mdslot:cart:rom.mq@BF6F8 = 660252100C000002</action>
            <action>mdslot:cart:rom.mq@BF700 = 6604041000100C00</action>
            <action>mdslot:cart:rom.mq@BF708 = 0001660406100010</action>
            <action>mdslot:cart:rom.mq@BF710 = 0C00004066081410</action>
            <action>mdslot:cart:rom.mq@BF718 = 0002008012820C00</action>
            <action>mdslot:cart:rom.mq@BF720 = 0010660412BC00FF</action>
            <action>mdslot:cart:rom.mq@BF728 = 60AE000000000000</action>
            <!--
            BF6D0 | 41F8 8000      : lea     $8000.w, A0   // sound code address ($FF8000)
            BF6D4 | 43F8 D003      : lea     $d003.w, A1   // sound latch address ($FFD003)
            BF6D8 | 11FC 0024 F62A : move.b  #$24, $f62a.w // wait interrupt
            BF6DE | 4EB8 6B86      : jsr     $6b86.w
            BF6E2 | 1200           : move.b  D0, D1
            BF6E4 | 1038 F602      : move.b  $f602.w, D0   // read input ($FFF602)
            BF6E8 | B200           : cmp.b   D0, D1
            BF6EA | 67EC           : beq     $bf6d8
            BF6EC | 0C00 0004      : cmpi.b  #$4, D0
            BF6F0 | 6602           : bne     $bf6f4
            BF6F2 | 5310           : subq.b  #1, (A0)      // decrease code -01
            BF6F4 | 0C00 0008      : cmpi.b  #$8, D0
            BF6F8 | 6602           : bne     $bf6fc
            BF6FA | 5210           : addq.b  #1, (A0)      // increase code +01
            BF6FC | 0C00 0002      : cmpi.b  #$2, D0
            BF700 | 6604           : bne     $bf706
            BF702 | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            BF706 | 0C00 0001      : cmpi.b  #$1, D0
            BF70A | 6604           : bne     $bf710
            BF70C | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            BF710 | 0C00 0040      : cmpi.b  #$40, D0
            BF714 | 6608           : bne     $bf71e
            BF716 | 1410           : move.b  (A0), D2      // play sound
            BF718 | 0002 0080      : ori.b   #$80, D2
            BF71C | 1282           : move.b  D2, (A1)
            BF71E | 0C00 0010      : cmpi.b  #$10, D0
            BF722 | 6604           : bne     $bf728
            BF724 | 12BC 00FF      : move.b  #$ff, (A1)    // stop sound
            BF728 | 60AE           : bra     $bf6d8
            -->
        </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.mb@0029A = 0000            </action>
            <action>mdslot:cart:rom.mq@073CE = 43F90006C53A203C</action>
            <action>mdslot:cart:rom.mq@BF6D0 = 0000000000000000</action>
            <action>mdslot:cart:rom.mq@BF6D8 = 0000000000000000</action>
            <action>mdslot:cart:rom.mq@BF6E0 = 0000000000000000</action>
            <action>mdslot:cart:rom.mq@BF6E8 = 0000000000000000</action>
            <action>mdslot:cart:rom.mq@BF6F0 = 0000000000000000</action>
            <action>mdslot:cart:rom.mq@BF6F8 = 0000000000000000</action>
            <action>mdslot:cart:rom.mq@BF700 = 0000000000000000</action>
            <action>mdslot:cart:rom.mq@BF708 = 0000000000000000</action>
            <action>mdslot:cart:rom.mq@BF710 = 0000000000000000</action>
            <action>mdslot:cart:rom.mq@BF718 = 0000000000000000</action>
            <action>mdslot:cart:rom.mq@BF720 = 0000000000000000</action>
            <action>mdslot:cart:rom.mq@BF728 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>mdslot:cart:rom.mw@0224 = 604C</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@020E = 670C</action>
        </script>
    </cheat>

</mamecheat>
pstar2br.xml

Code: Select all

<!-- Phantasy Star II (Brazil) -->
<mamecheat version="1">

    <cheat desc="normal battle encounter">
        <parameter>
            <item value="0x6026">none      </item>
            <item value="0x4E71">every step</item>
        </parameter>
        <script state="change">
            <action>mdslot:cart:rom.mw@117DE = param</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@117DE = 6426</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>mdslot:cart:rom.mw@3864 = 4E71</action> <!-- up -->
            <action>mdslot:cart:rom.mw@388A = 4E71</action> <!-- down -->
            <action>mdslot:cart:rom.mw@38B4 = 6610</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38BC = 6608</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38EA = 4E71</action> <!-- right -->
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@3864 = 660A</action> <!-- up -->
            <action>mdslot:cart:rom.mw@388A = 6608</action> <!-- down -->
            <action>mdslot:cart:rom.mw@38B4 = 661A</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38BC = 6612</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38EA = 6608</action> <!-- right -->
        </script>
    </cheat>

    <cheat desc="free price">
        <script state="on">
            <action>mdslot:cart:rom.mw@0BB38 = 7000</action> <!-- price in weapon shop -->
            <action>mdslot:cart:rom.mw@0BCCE = 7000</action> <!-- price in armor shop -->
            <action>mdslot:cart:rom.mw@0BFC8 = 7000</action> <!-- price in item shop -->
            <action>mdslot:cart:rom.mw@105FC = 7000</action> <!-- purchase -->
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@0B9A8 = 3010</action>
            <action>mdslot:cart:rom.mw@0BB3E = 3010</action>
            <action>mdslot:cart:rom.mw@0BE38 = 3010</action>
            <action>mdslot:cart:rom.mw@105FC = 3012</action>
        </script>
    </cheat>

    <cheat desc="max damage">
        <script state="on">
            <action>mdslot:cart:rom.md@280C = 303C270F</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.md@280C = C0C1E048</action>
        </script>
    </cheat>

    <cheat desc="message speed up">
        <script state="on">
            <action>mdslot:cart:rom.mw@0FBF0 = 4E71</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@0FBF0 = 670C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- code 0x01 - 17 are music and 0x20 - 0x56 are sfx, otherwise the game will reset (eg, 0x18) -->
        <!-- code 0x55 (pause sound) causes no sound response -->
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>mdslot:cart:rom.mw@0029A = 0004            </action> <!-- skip sega logo -->
            <action>mdslot:cart:rom.mq@073D4 = 4EF9000BFA40203C</action>
            <action>mdslot:cart:rom.mq@BFA40 = 41F8800043F8D003</action>
            <action>mdslot:cart:rom.mq@BFA48 = 11FC0024F62A4EB8</action>
            <action>mdslot:cart:rom.mq@BFA50 = 6B8C12001038F602</action>
            <action>mdslot:cart:rom.mq@BFA58 = B20067EC0C000004</action>
            <action>mdslot:cart:rom.mq@BFA60 = 660253100C000008</action>
            <action>mdslot:cart:rom.mq@BFA68 = 660252100C000002</action>
            <action>mdslot:cart:rom.mq@BFA70 = 6604041000100C00</action>
            <action>mdslot:cart:rom.mq@BFA78 = 0001660406100010</action>
            <action>mdslot:cart:rom.mq@BFA80 = 0C00004066081410</action>
            <action>mdslot:cart:rom.mq@BFA88 = 0002008012820C00</action>
            <action>mdslot:cart:rom.mq@BFA90 = 0010660412BC00FF</action>
            <action>mdslot:cart:rom.mq@BFA98 = 60AE000000000000</action>
            <!--
            BFA40 | 41F8 8000      : lea     $8000.w, A0   // sound code address ($FF8000)
            BFA44 | 43F8 D003      : lea     $d003.w, A1   // sound latch address ($FFD003)
            BFA48 | 11FC 0024 F62A : move.b  #$24, $f62a.w // wait interrupt
            BFA4E | 4EB8 6B8C      : jsr     $6b8c.w
            BFA52 | 1200           : move.b  D0, D1
            BFA54 | 1038 F602      : move.b  $f602.w, D0   // read input ($FFF602)
            BFA58 | B200           : cmp.b   D0, D1
            BFA5A | 67EC           : beq     $bfa48
            BFA5C | 0C00 0004      : cmpi.b  #$4, D0
            BFA60 | 6602           : bne     $bfa64
            BFA62 | 5310           : subq.b  #1, (A0)      // decrease code -01
            BFA64 | 0C00 0008      : cmpi.b  #$8, D0
            BFA68 | 6602           : bne     $bfa6c
            BFA6A | 5210           : addq.b  #1, (A0)      // increase code +01
            BFA6C | 0C00 0002      : cmpi.b  #$2, D0
            BFA70 | 6604           : bne     $bfa76
            BFA72 | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            BFA76 | 0C00 0001      : cmpi.b  #$1, D0
            BFA7A | 6604           : bne     $bfa80
            BFA7C | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            BFA80 | 0C00 0040      : cmpi.b  #$40, D0
            BFA84 | 6608           : bne     $bfa8e
            BFA86 | 1410           : move.b  (A0), D2      // play sound
            BFA88 | 0002 0080      : ori.b   #$80, D2
            BFA8C | 1282           : move.b  D2, (A1)
            BFA8E | 0C00 0010      : cmpi.b  #$10, D0
            BFA92 | 6604           : bne     $bfa98
            BFA94 | 12BC 00FF      : move.b  #$ff, (A1)    // stop sound
            BFA98 | 60AE           : bra     $bfa48
            -->
        </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.mb@0029A = 0000            </action>
            <action>mdslot:cart:rom.mq@073D4 = 43F90006C53A203C</action>
            <action>mdslot:cart:rom.mq@BFA40 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BFA48 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BFA50 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BFA58 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BFA60 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BFA68 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BFA70 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BFA78 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BFA80 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BFA88 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BFA90 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@BFA98 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>mdslot:cart:rom.mw@0224 = 604C</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@0224 = 670C</action>
        </script>
    </cheat>

</mamecheat>
pstar2j.xml

Code: Select all

<!-- Phantasy Star II - Kaerazaru Toki no Owari ni (Japan) -->
<mamecheat version="1">

    <cheat desc="normal battle encounter">
        <parameter>
            <item value="0x6026">none      </item>
            <item value="0x4E71">every step</item>
        </parameter>
        <script state="change">
            <action>mdslot:cart:rom.mw@116B6 = param</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@116B6 = 6426</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>mdslot:cart:rom.mw@382A = 4E71</action> <!-- up -->
            <action>mdslot:cart:rom.mw@3850 = 4E71</action> <!-- down -->
            <action>mdslot:cart:rom.mw@387A = 6610</action> <!-- left -->
            <action>mdslot:cart:rom.mw@3882 = 6608</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38B0 = 4E71</action> <!-- right -->
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@382A = 660A</action> <!-- up -->
            <action>mdslot:cart:rom.mw@3850 = 6608</action> <!-- down -->
            <action>mdslot:cart:rom.mw@387A = 661A</action> <!-- left -->
            <action>mdslot:cart:rom.mw@3882 = 6612</action> <!-- left -->
            <action>mdslot:cart:rom.mw@38B0 = 6608</action> <!-- right -->
        </script>
    </cheat>

    <cheat desc="free price">
        <script state="on">
            <action>mdslot:cart:rom.mw@0B9A8 = 7000</action> <!-- price in weapon shop -->
            <action>mdslot:cart:rom.mw@0BB3E = 7000</action> <!-- price in armor shop -->
            <action>mdslot:cart:rom.mw@0BE38 = 7000</action> <!-- price in item shop -->
            <action>mdslot:cart:rom.mw@10466 = 7000</action> <!-- purchase -->
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@0B9A8 = 3010</action>
            <action>mdslot:cart:rom.mw@0BB3E = 3010</action>
            <action>mdslot:cart:rom.mw@0BE38 = 3010</action>
            <action>mdslot:cart:rom.mw@10466 = 3012</action>
        </script>
    </cheat>

    <cheat desc="message speed up">
        <script state="on">
            <action>mdslot:cart:rom.mw@0FA54 = 4E71</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@0FA54 = 670C</action>
        </script>
    </cheat>

    <cheat desc="max damage">
        <script state="on">
            <action>mdslot:cart:rom.md@27D2 = 303C270F</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.md@27D2 = C0C1E048</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- code 0x01 - 17 are music and 0x20 - 0x56 are sfx, otherwise the game will reset (eg, 0x18) -->
        <!-- code 0x55 (pause sound) causes no sound response -->
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>mdslot:cart:rom.mw@00276 = 0004            </action> <!-- skip sega logo -->
            <action>mdslot:cart:rom.mq@07244 = 4EF9000C0000203C</action>
            <action>mdslot:cart:rom.mq@C0000 = 41F8800043F8D003</action>
            <action>mdslot:cart:rom.mq@C0008 = 11FC0024F62A4EB8</action>
            <action>mdslot:cart:rom.mq@C0010 = 69FC12001038F602</action>
            <action>mdslot:cart:rom.mq@C0018 = B20067EC0C000004</action>
            <action>mdslot:cart:rom.mq@C0020 = 660253100C000008</action>
            <action>mdslot:cart:rom.mq@C0028 = 660252100C000002</action>
            <action>mdslot:cart:rom.mq@C0030 = 6604041000100C00</action>
            <action>mdslot:cart:rom.mq@C0038 = 0001660406100010</action>
            <action>mdslot:cart:rom.mq@C0040 = 0C00004066081410</action>
            <action>mdslot:cart:rom.mq@C0048 = 0002008012820C00</action>
            <action>mdslot:cart:rom.mq@C0050 = 0010660412BC00FF</action>
            <action>mdslot:cart:rom.mq@C0058 = 60AEFFFFFFFFFFFF</action>
            <!--
            C0000 | 41F8 8000      : lea     $8000.w, A0   // sound code address ($FF8000)
            C0004 | 43F8 D003      : lea     $d003.w, A1   // sound latch address ($FFD003)
            C0008 | 11FC 0024 F62A : move.b  #$24, $f62a.w // wait interrupt
            C000E | 4EB8 69FC      : jsr     $69fc.w
            C0012 | 1200           : move.b  D0, D1
            C0014 | 1038 F602      : move.b  $f602.w, D0   // read input ($FFF602)
            C0018 | B200           : cmp.b   D0, D1
            C001A | 67EC           : beq     $c0008
            C001C | 0C00 0004      : cmpi.b  #$4, D0
            C0020 | 6602           : bne     $c0024
            C0022 | 5310           : subq.b  #1, (A0)      // decrease code -01
            C0024 | 0C00 0008      : cmpi.b  #$8, D0
            C0028 | 6602           : bne     $c002c
            C002A | 5210           : addq.b  #1, (A0)      // increase code +01
            C002C | 0C00 0002      : cmpi.b  #$2, D0
            C0030 | 6604           : bne     $c0036
            C0032 | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            C0036 | 0C00 0001      : cmpi.b  #$1, D0
            C003A | 6604           : bne     $c0040
            C003C | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            C0040 | 0C00 0040      : cmpi.b  #$40, D0
            C0044 | 6608           : bne     $c004e
            C0046 | 1410           : move.b  (A0), D2      // play sound
            C0048 | 0002 0080      : ori.b   #$80, D2
            C004C | 1282           : move.b  D2, (A1)
            C004E | 0C00 0010      : cmpi.b  #$10, D0
            C0052 | 6604           : bne     $c0058
            C0054 | 12BC 00FF      : move.b  #$ff, (A1)    // stop sound
            C0058 | 60AE           : bra     $c0008
            -->
        </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.mb@00276 = 0000            </action>
            <action>mdslot:cart:rom.mq@07244 = 43F90006C53A203C</action>
            <action>mdslot:cart:rom.mq@C0000 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@C0008 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@C0010 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@C0018 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@C0020 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@C0028 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@C0030 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@C0038 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@C0040 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@C0048 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@C0050 = FFFFFFFFFFFFFFFF</action>
            <action>mdslot:cart:rom.mq@C0058 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>mdslot:cart:rom.mw@020E = 603E</action>
        </script>
        <script state="off">
            <action>mdslot:cart:rom.mw@020E = 670C</action>
        </script>
    </cheat>

</mamecheat>
"sound test mode" : Code 0x01 - 17 are music and 0x20 - 0x56 are sfx, otherwise the game will reset (eg, 0x18). Code 0x55 (pause sound) causes no sound response.
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
Post Reply