[dstlk], [nwarr]
Code: Select all
<cheat desc="Infinite Energy PL1">
<script state="run">
<action condition="maincpu.rw@(FF8388+42) le 60 and (maincpu.rb@(FF8388+4) band 14) == 0">
maincpu.pw@(FF8388+42)=90
</action>
</script>
</cheat>
More descriptive color select code for [nwarr]:
Code: Select all
<cheat desc="Select Character Colour Now! PL1">
<parameter>
<item value="0x02">LP button</item>
<item value="0x03">MP button</item>
<item value="0x04">HP button</item>
<item value="0x05">LK button</item>
<item value="0x06">MK button</item>
<item value="0x00">HK button</item>
<item value="0x01">Start button</item>
<item value="0x07">Hold LP+MK</item>
</parameter>
<script state="change">
<action>maincpu.pw@(FF8388+4A6)=param</action>
</script>
</cheat>
Code: Select all
<cheat desc="Select gameplay mode">
<parameter>
<item value="1">Story/Versus Mode</item>
<item value="2">Survival Mode (1 pl)</item>
<item value="3">Dramatic Battle</item>
<item value="4">Survival Dramatic Battle</item>
</parameter>
<script state="run">
<action condition="param == 1">maincpu.pb@FF854B=00, maincpu.pb@FF894B=00, maincpu.pb@FF8168=00</action>
<action condition="param == 2">maincpu.pb@FF854B=FF, maincpu.pb@FF894B=FF, maincpu.pb@FF8168=00</action>
<action condition="param == 3">maincpu.pb@FF854B=00, maincpu.pb@FF894B=00, maincpu.pb@FF8168=01</action>
<action condition="param == 4">maincpu.pb@FF854B=FF, maincpu.pb@FF894B=FF, maincpu.pb@FF8168=01</action>
</script>
</cheat>
Code: Select all
<cheat desc="Skip Story and Map scenes">
<script state="run">
<action>maincpu.pb@FF8111=FF, maincpu.pb@FF8549=FF, maincpu.pb@FF8949=FF</action>
</script>
</cheat>
[sfa3] code that consolidates "Enable Classical Mode Now!", "Enable Mazi Mode Now!", and "Enable Saikyou Mode Now!":
Code: Select all
<cheat desc="Select mode PL1">
<parameter>
<item value="1">Normal</item>
<item value="2">Mazi</item>
<item value="3">Saikyo</item>
<item value="4">Classic</item>
</parameter>
<script state="run">
<action condition="param == 1">
maincpu.pb@(FF8400+15A)=00, maincpu.pb@(FF8400+131)=00, maincpu.pb@(FF8400+15E)=00
</action>
<action condition="param == 2">
maincpu.pb@(FF8400+15A)=01, maincpu.pb@(FF8400+131)=00, maincpu.pb@(FF8400+15E)=00
</action>
<action condition="param == 3">
maincpu.pb@(FF8400+15A)=00, maincpu.pb@(FF8400+131)=01, maincpu.pb@(FF8400+15E)=00
</action>
<action condition="param == 4">
maincpu.pb@(FF8400+15A)=00, maincpu.pb@(FF8400+131)=00, maincpu.pb@(FF8400+15E)=01
</action>
</script>
</cheat>
Code: Select all
<cheat desc="Select ISM PL1">
<parameter>
<item value="1">A-ISM</item>
<item value="2">V-ISM</item>
<item value="3">X-ISM</item>
<item value="4">S-ISM</item>
</parameter>
<script state="run">
<action condition="param == 1">
maincpu.pb@(FF8400+123)=00, maincpu.pb@(FF8400+132)=00, maincpu.pb@(FF8400+15D)=00
</action>
<action condition="param == 2">
maincpu.pb@(FF8400+123)=01, maincpu.pb@(FF8400+132)=01, maincpu.pb@(FF8400+15D)=00
</action>
<action condition="param == 3">
maincpu.pb@(FF8400+123)=FF, maincpu.pb@(FF8400+132)=FF, maincpu.pb@(FF8400+15D)=00
</action>
<action condition="param == 4">
maincpu.pb@(FF8400+123)=02, maincpu.pb@(FF8400+132)=00, maincpu.pb@(FF8400+15D)=01
</action>
</script>
</cheat>
Also, I should point out that player 3 and player 4 are never both active at once in sfa3. So you might consolidate all their stuff into "PL3/PL4".
The following are improved infinite time codes that give both inf match time and char select time. (You may also want to add the infinite sound test codes.)
[sfa]
Code: Select all
<cheat desc="Infinite Time">
<script state="run">
<action>maincpu.pw@FFAE09=6300</action> <!--round time-->
<action condition="maincpu.rw@FF8004 == 2">
maincpu.pw@(FF8400+2C)=04B0, maincpu.pw@(FF8800+2C)=04B0 <!--selection time-->
</action>
</script>
</cheat>
Code: Select all
<cheat desc="Infinite Time">
<script state="run">
<action>maincpu.pw@FF8109=6300</action> <!--round time-->
<action condition="maincpu.rw@FF8004 == 2">
maincpu.pw@FFB13A=04B0, maincpu.pw@FFAF3A=04B0 <!--selection time-->
</action>
</script>
</cheat>
Code: Select all
<cheat desc="Infinite Time">
<script state="run">
<action>maincpu.pw@FF8109=6300</action> <!--round time-->
<action condition="maincpu.rw@FF8004 == 2 and maincpu.rb@(FF8400+5) == 2">
maincpu.pw@(FF8400+3A)=04B0 <!--PL1 selection time-->
</action>
<action condition="maincpu.rw@FF8004 == 2 and maincpu.rb@(FF8800+5) == 2">
maincpu.pw@(FF8800+3A)=04B0 <!--PL2 selection time-->
</action>
</script>
</cheat>
Code: Select all
<cheat desc="Infinite Time">
<script state="run">
<action>
maincpu.pb@FF9409=99, maincpu.pb@FF9415=maincpu.rb@FF9417, <!--round time-->
maincpu.pw@FFF418=0384 <!--selection time-->
</action>
</script>
</cheat>
Code: Select all
<cheat desc="Infinite Time">
<script state="run">
<action>
maincpu.pb@FF8E09=99, maincpu.pb@FF8E15=maincpu.rb@FF8E17, <!--round time-->
maincpu.pw@FFF458=0708 <!--selection time-->
</action>
</script>
</cheat>
Code: Select all
<cheat desc="Infinite Time">
<script state="run">
<action>maincpu.pb@FF8109=63</action> <!--round time-->
<action condition="maincpu.rw@FF8004 == 2">
maincpu.pw@(FF8400+26)=1E3C, maincpu.pw@(FF8800+26)=1E3C <!--selection time-->
</action>
</script>
</cheat>
Code: Select all
<cheat desc="Infinite Time">
<script state="run">
<action>maincpu.pw@FF8188=9963</action> <!--round time-->
<action condition="maincpu.rw@FF8004 == 2">
maincpu.pw@(FF8400+E)=143B, maincpu.pw@(FF8800+E)=143B <!--selection time-->
</action>
</script>
</cheat>