[mspacman] Maze Colors Corrected when selecting Start Levels

This forum is for posting M.A.M.E. arcade cheats. Requests will be fulfilled here....but please keep the requests to the requests forum.
Post Reply
pac_man_fan2
Posts: 66
Joined: Fri Dec 06, 2019 1:49 pm

[mspacman] Maze Colors Corrected when selecting Start Levels

Post by pac_man_fan2 »

I've updated the Starting Level cheat to include the MS. Pacman Color Scheme!
So now when selecting higher levels, the start board has the correct colors instead of the Level1 default.

Code: Select all

<cheat desc="Select Starting Level">
  <parameter>
    <item value="0x01">Strawberry</item>
    <item value="0x02">Orange</item>
    <item value="0x03">Pretzel</item>
    <item value="0x04">Apple</item>
    <item value="0x05">Pear</item>
    <item value="0x06">Banana</item>
    <item value="0x07">MultiFruit 1 (Red Board 1)</item>
    <item value="0x08">MultiFruit 2 (Red Board 2)</item>
    <item value="0x09">MultiFruit 3 (Blue Board 1)</item>
    <item value="0x0A">MultiFruit 4 (Blue Board 2)</item>
    <item value="0x0B">MultiFruit 5 (Blue Board 3)</item>
    <item value="0x0C">MultiFruit 6 (Blue Board 4)</item>
    <item value="0x84">Level 137: Upside down Screens Start Here or After</item>
    <item value="0xFE">Level 254: Level Before Split Screen</item>
    <item value="0xFF">Level 255: Split (Kill) Screen</item>
  </parameter>
  <script state="run">
<!-- MAZE Level -->
    <action condition="(maincpu.pb@4E13==00)">maincpu.pb@4E13=param</action>
<!-- NORMAL Ghost Difficulty -->
    <action condition="(maincpu.pb@4E13==param) AND (maincpu.pb@4E73==68)"> maincpu.pb@4E0A=0x68 + param</action>
    <action condition="(maincpu.pb@4E13==param) AND (maincpu.pb@4E73==68) AND (maincpu.pb@4E0A LT 0x68)"> maincpu.pb@4E0A=7C</action>
    <action condition="(maincpu.pb@4E13==param) AND (maincpu.pb@4E73==68) AND (maincpu.pb@4E0A GT 0x7C)"> maincpu.pb@4E0A=7C</action>
<!-- HARD Ghost Difficulty -->
    <action condition="(maincpu.pb@4E13==param) AND (maincpu.pb@4E73==7D)"> maincpu.pb@4E0A=0x7D + param</action>
    <action condition="(maincpu.pb@4E13==param) AND (maincpu.pb@4E73==7D) AND (maincpu.pb@4E0A LT 0x7D)"> maincpu.pb@4E0A=8C</action>
    <action condition="(maincpu.pb@4E13==param) AND (maincpu.pb@4E73==7D) AND (maincpu.pb@4E0A GT 0x8C)"> maincpu.pb@4E0A=8C</action>

<!-- Ms-Pac Maze Color Scheme -->
    <action condition="(param==00) OR (param==01)"> maincpu.mb@195AE=1D</action>
    <action condition="(param==02) OR (param==03) OR (param==04)"> maincpu.mb@195AE=16</action>
    <action condition="(param==05) OR (param==06) OR (param==07) OR (param==08)"> maincpu.mb@195AE=14</action>
    <action condition="(param==09) OR (param==0A) OR (param==0B) OR (param==0C)"> maincpu.mb@195AE=07</action>
    <action condition="(param==0D) OR (param==0E) OR (param==0F) OR (param==10)"> maincpu.mb@195AE=18</action>
    <action condition="(param==11) OR (param==12) OR (param==13) OR (param==14)"> maincpu.mb@195AE=1D</action>
    <action condition="(param==84)"> maincpu.mb@195AE=1D</action>
    <action condition="(param==FE) OR (param==FF)"> maincpu.mb@195AE=18</action>

<!-- Bugs in MS-Pac code cause game to Reset around board 140 --> 
<!-- Applying partial patch to fix the crash screens after level 140 -->
<!-- This does not include Split Screen Patch -->
    <action condition="(param GT 0x8C)"> maincpu.mb@195C8=D2</action>
    <action condition="(param GT 0x8C)"> maincpu.mb@194C3=D2</action>
    <action condition="(param GT 0x8C)"> maincpu.mb@194D8=D2</action>
    <action condition="(param GT 0x8C)"> maincpu.mb@19595=D2</action>
    <action condition="(param GT 0x8C)"> maincpu.mb@195A7=D2</action>
    <action condition="(param LT 0x8C)"> maincpu.mb@195C8=F2</action>
    <action condition="(param LT 0x8C)"> maincpu.mb@194C3=F2</action>
    <action condition="(param LT 0x8C)"> maincpu.mb@194D8=F2</action>
    <action condition="(param LT 0x8C)"> maincpu.mb@19595=F2</action>
    <action condition="(param LT 0x8C)"> maincpu.mb@195A7=F2</action>
  </script>
  <script state="off">
    <action> maincpu.mb@195C8=F2</action>	<!-- Patches Reset -->
    <action> maincpu.mb@194C3=F2</action>
    <action> maincpu.mb@194D8=F2</action>
    <action> maincpu.mb@19595=F2</action>
    <action> maincpu.mb@195A7=F2</action>
    <action> maincpu.mb@195AE=1D</action>	<!-- Color Scheme Reset -->
  </script>
</cheat>
Post Reply