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>