[mspacman] Ms.Pac-Man

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

[mspacman] Ms.Pac-Man

Post by jman »

I convert the codes from puckman based on http://www.mamecheat.co.uk/forums/viewtopic.php?f=16&t=13139 with some improvements.
Basic addresses and codes seem to be the same as puckman.

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.md@11772 =         c8be60cd</action>
        <action>maincpu.mq@1be60 = 00c91764cca77e19</action>
        <!--
        be60 | 19       : add  hl,de
        be61 | 7e       : ld   a,(hl)
        be62 | a7       : and  a
        be63 | cc 64 17 : call z,$1764
        be66 | c9       : ret
        -->
    </script>
    <script state="off">
        <action>maincpu.md@11772 =         c8a77e19</action>
        <action>maincpu.mq@1be60 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="walk through wall">
    <script state="on">
        <action>maincpu.mb@118f3 = 18</action>
    </script>
    <script state="off">
        <action>maincpu.mb@118f3 = 20</action>
    </script>
</cheat>

<cheat desc="player speed up">
    <script state="on">
        <action>maincpu.mb@11045 = 3f</action>
    </script>
    <script state="off">
        <action>maincpu.mb@11045 = 06</action>
    </script>
</cheat>

<cheat desc="enemy speed">
    <parameter>
        <item value="0x0f">01 (slow)</item>
        <item value="0x07">02       </item>
        <item value="0x03">03       </item>
        <item value="0x01">04       </item>
        <item value="0x00">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@11b4c =         a7be76c3</action>
        <action>maincpu.md@11c5f =         a7be7dc3</action>
        <action>maincpu.md@11d36 =         a7be84c3</action>
        <action>maincpu.md@11e0d =         a7be8bc3</action>
        <action>maincpu.mq@1be70 = 70cdc900e64c853a</action>
        <action>maincpu.mq@1be78 = be70cdc91bd8cabe</action>
        <action>maincpu.mq@1be80 = cabe70cdc91cafca</action>
        <action>maincpu.mq@1be88 = 5dcabe70cdc91d86</action>
        <action>maincpu.mq@1be90 = 000000000000c91e</action>
        <!--
        be70 | 3a 85 4c : ld   a,($4C85) // timer check routine
        be73 | e6 xx    : and  $xx
        be75 | c9       : ret
        be76 | cd 70 be : call $BE70     // red
        be79 | ca d8 1b : jp   z,$1BD8
        be7c | c9       : ret
        be7d | cd 70 be : call $BE70     // pink
        be80 | ca af 1c : jp   z,$1CAF
        be83 | c9       : ret
        be84 | cd 70 be : call $BE70     // blue
        be87 | ca 86 1d : jp   z,$1D86
        be8a | c9       : ret
        be8b | cd 70 be : call $BE70     // orange
        be8e | ca 5d 1e : jp   z,$1E5D
        be91 | c9       : ret
        -->
    </script>
    <script state="change">
        <action>maincpu.mb@1be74 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@11b4c =         a74d993a</action>
        <action>maincpu.md@11c5f =         a74d9a3a</action>
        <action>maincpu.md@11d36 =         a74d9b3a</action>
        <action>maincpu.md@11e0d =         a74d9c3a</action>
        <action>maincpu.mq@1be70 = 0000000000000000</action>
        <action>maincpu.mq@1be78 = 0000000000000000</action>
        <action>maincpu.mq@1be80 = 0000000000000000</action>
        <action>maincpu.mq@1be88 = 0000000000000000</action>
        <action>maincpu.mq@1be90 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="move manually">
    <script state="on">
        <action>maincpu.mb@118dc = c9</action>
    </script>
    <script state="off">
        <action>maincpu.mb@118dc = 2a</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.md@1238d =         7ebea0c3</action>
        <action>maincpu.mq@1bea0 = 47b850003a4c0021</action>
        <action>maincpu.mq@1bea8 = fe350120fdfef928</action>
        <action>maincpu.mq@1beb0 = 0320fefe340120fb</action>
        <action>maincpu.mq@1beb8 = af0420f7fe05187e</action>
        <action>maincpu.mq@1bec0 = 8747d9de18bec5cd</action>
        <action>maincpu.mq@1bec8 = ce003e5fe4c68780</action>
        <action>maincpu.mq@1bed0 = 0010014e9c2157be</action>
        <action>maincpu.mq@1bed8 = 09770428fffe131a</action>
        <action>maincpu.mq@1bee0 = 00000000c9d9f618</action>
        <action>maincpu.mq@1bee8 = ff0101000000ff00</action>
        <action>maincpu.mq@1bef0 = 0001ff0202000000</action>
        <action>maincpu.mq@1bef8 = 00000002ff000000</action>
        <action>maincpu.mq@1bf00 = ff0000000004ff00</action>
        <action>maincpu.mq@1bf08 = 0010ff0000000008</action>
        <action>maincpu.mq@1bf10 = 00000020ff000000</action>
        <action>maincpu.mq@1bf18 = ff0000000040ff00</action>
        <action>maincpu.mq@1bf20 = 0100ff0000000080</action>
        <action>maincpu.mq@1bf28 = 00000200ff000000</action>
        <action>maincpu.mq@1bf30 = ff0000000400ff00</action>
        <action>maincpu.mq@1bf38 = 1000ff0000000800</action>
        <action>maincpu.mq@1bf40 = 00002000ff000000</action>
        <action>maincpu.mq@1bf48 = ff0000004000ff00</action>
        <action>maincpu.mq@1bf50 = 0000ff0000008000</action>
        <action>maincpu.mq@1bf58 = 00020000ff000001</action>
        <action>maincpu.mq@1bf60 = ff0000040000ff00</action>
        <action>maincpu.mq@1bf68 = 0000ff0000080000</action>
        <action>maincpu.mq@1bf70 = 00200000ff000010</action>
        <action>maincpu.mq@1bf78 = ff0000400000ff00</action>
        <action>maincpu.mq@1bf80 = 0000ff0000800000</action>
        <!--
        bea0 | 21 00 4c : ld   hl,$4C00  // sound code address
        bea3 | 3a 00 50 : ld   a,($5000)
        bea6 | b8       : cp   b
        bea7 | 47       : ld   b,a
        bea8 | 28 f9    : jr   z,$BEA3
        beaa | fe fd    : cp   $FD
        beac | 20 01    : jr   nz,$BEAF
        beae | 35       : dec  (hl)      // decrease code
        beaf | fe fb    : cp   $FB
        beb1 | 20 01    : jr   nz,$BEB4
        beb3 | 34       : inc  (hl)      // increase code
        beb4 | fe fe    : cp   $FE
        beb6 | 20 03    : jr   nz,$BEBB
        beb8 | 7e       : ld   a,(hl)    // play sound
        beb9 | 18 05    : jr   $BEC0
        bebb | fe f7    : cp   $F7
        bebd | 20 04    : jr   nz,$BEC3
        bebf | af       : xor  a         // stop sound
        bec0 | cd 95 3d : call $BEC5     // send sound code
        bec3 | 18 de    : jr   $BEA3
        bec5 | d9       : exx            // sound code/value conversion routine
        bec6 | 47       : ld   b,a
        bec7 | 87       : add  a,a
        bec8 | 80       : add  a,b
        bec9 | 87       : add  a,a
        beca | c6 b4    : add  a,$E4
        becc | 5f       : ld   e,a
        becd | 3e 00    : ld   a,$00
        becf | ce 3d    : adc  a,$BE
        bed1 | 57       : ld   d,a
        bed2 | 21 9c 4e : ld   hl,$4E9C
        bed5 | 01 10 00 : ld   bc,$0010
        bed8 | 1a       : ld   a,(de)
        bed9 | 13       : inc  de
        beda | fe ff    : cp   $FF
        bedc | 28 04    : jr   z,$BEE2
        bede | 77       : ld   (hl),a
        bedf | 09       : add  hl,bc
        bee0 | 18 f6    : jr   $BED8
        bee2 | d9       : exx
        bee3 | c9       : ret
        bee4 - bf85     : sound code/value conversion table
        -->
    </script>
    <script state="run">
        <output format="----- ms.pac-man 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="up : play sound"                         line="13" align="center" />
        <output format="down : 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@4c00</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@1238d =         7e4c822a</action>
        <action>maincpu.mq@1bea0 = 0000000000000000</action>
        <action>maincpu.mq@1bea8 = 0000000000000000</action>
        <action>maincpu.mq@1beb0 = 0000000000000000</action>
        <action>maincpu.mq@1beb8 = 0000000000000000</action>
        <action>maincpu.mq@1bec0 = 0000000000000000</action>
        <action>maincpu.mq@1bec8 = 0000000000000000</action>
        <action>maincpu.mq@1bed0 = 0000000000000000</action>
        <action>maincpu.mq@1bed8 = 0000000000000000</action>
        <action>maincpu.mq@1bee0 = 0000000000000000</action>
        <action>maincpu.mq@1bee8 = 0000000000000000</action>
        <action>maincpu.mq@1bef0 = 0000000000000000</action>
        <action>maincpu.mq@1bef8 = 0000000000000000</action>
        <action>maincpu.mq@1bf00 = 0000000000000000</action>
        <action>maincpu.mq@1bf08 = 0000000000000000</action>
        <action>maincpu.mq@1bf10 = 0000000000000000</action>
        <action>maincpu.mq@1bf18 = 0000000000000000</action>
        <action>maincpu.mq@1bf20 = 0000000000000000</action>
        <action>maincpu.mq@1bf28 = 0000000000000000</action>
        <action>maincpu.mq@1bf30 = 0000000000000000</action>
        <action>maincpu.mq@1bf38 = 0000000000000000</action>
        <action>maincpu.mq@1bf40 = 0000000000000000</action>
        <action>maincpu.mq@1bf48 = 0000000000000000</action>
        <action>maincpu.mq@1bf50 = 0000000000000000</action>
        <action>maincpu.mq@1bf58 = 0000000000000000</action>
        <action>maincpu.mq@1bf60 = 0000000000000000</action>
        <action>maincpu.mq@1bf68 = 0000000000000000</action>
        <action>maincpu.mq@1bf70 = 0000000000000000</action>
        <action>maincpu.mq@1bf78 = 0000000000000000</action>
        <action>maincpu.mq@1bf80 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.md@13000 = 0130b0c3</action>
    </script>
    <script state="off">
        <action>maincpu.md@13000 = 01000021</action>
    </script>
</cheat>
Post Reply