https://github.com/mamedev/mame/pull/11540
With info here:-
https://sudden-desu.net/entry/cps2-debu ... -love-them
I was a little bored so decided to convert the info into cheats, probably a wasted effort if they get added to MAME....but this game appears to need a cheat to enable the DIPs so I just went a little further.
Code: Select all
<cheat desc="Enable DEBUG DIP Functions"> <comment>This must be enabled to use the following DEBUG DIP switches and functions</comment>
<script state="on">
<action>temp0=maincpu.mw@00C0</action>
<action>temp1=maincpu.oq@0C20</action>
<action>temp2=maincpu.oq@0C28</action>
<action>temp3=maincpu.oq@0C30</action>
<action>maincpu.mw@00C0=FFFF</action>
<action>maincpu.oq@0C20=4E711B7C00FFD424</action>
<action>maincpu.oq@0C28=4E711B7C00FFD425</action>
<action>maincpu.oq@0C30=4E711B7C00FFD426</action>
</script>
<script state="off">
<action>maincpu.mw@00C0=temp0</action>
<action>maincpu.oq@0C20=temp1</action>
<action>maincpu.oq@0C28=temp2</action>
<action>maincpu.oq@0C30=temp3</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 1:1 - Display grid overlay and some values">
<script state="on">
<action>temp0=0C2D,temp1=01</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 1:2 - Flip the screen vertically">
<script state="on">
<action>temp0=0C2D,temp1=02</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 1:3 - Unknown">
<script state="on">
<action>temp0=0C2D,temp1=04</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 1:4 - Unknown">
<script state="on">
<action>temp0=0C2D,temp1=08</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 1:5 - Unknown">
<script state="on">
<action>temp0=0C2D,temp1=10</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 1:6 - Unknown">
<script state="on">
<action>temp0=0C2D,temp1=20</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 1:7 - Unknown">
<script state="on">
<action>temp0=0C2D,temp1=40</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 1:8 - Unknown">
<script state="on">
<action>temp0=0C2D,temp1=80</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 2:1 - Infinite Energy Both Players">
<script state="on">
<action>temp0=0C25,temp1=01</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 2:2 - Show hit boxes">
<script state="on">
<action>temp0=0C25,temp1=02</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 2:3 - Disable Round Timer">
<script state="on">
<action>temp0=0C25,temp1=04</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 2:4 - Unknown">
<script state="on">
<action>temp0=0C25,temp1=08</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 2:5 - Unknown">
<script state="on">
<action>temp0=0C25,temp1=10</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 2:6 - Unknown">
<script state="on">
<action>temp0=0C25,temp1=20</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 2:7 - Slower speed">
<script state="on">
<action>temp0=0C25,temp1=40</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 2:8 - Slowest speed">
<script state="on">
<action>temp0=0C25,temp1=80</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 3:1 - Fast speed">
<script state="on">
<action>temp0=0C35,temp1=01</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 3:2 - Partial Invincibility"> <comment>most attacks do no damage, but some do; unclear exactly how this works</comment>
<script state="on">
<action>temp0=0C35,temp1=02</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 3:3 - Unknown">
<script state="on">
<action>temp0=0C35,temp1=04</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 3:4 - Stop">
<script state="on">
<action>temp0=0C35,temp1=08</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 3:5 - Monitor 1"> <comment>Only during gameplay, needs to be set before gameplay begins</comment>
<script state="on">
<action>temp0=0C35,temp1=10</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 3:6 - Unknown">
<script state="on">
<action>temp0=0C35,temp1=20</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 3:7 - Monitor 2"> <comment>Only during gameplay, needs to be set before gameplay begins</comment>
<script state="on">
<action>temp0=0C35,temp1=40</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG DIP 3:8 - Unknown">
<script state="on">
<action>temp0=0C35,temp1=80</action>
</script>
<script state="run">
<action>maincpu.ob@temp0=00|(maincpu.ob@temp0 BAND ~temp1)</action>
</script>
<script state="off">
<action>maincpu.ob@temp0=temp1|(maincpu.ob@temp0 BAND ~00)</action>
</script>
</cheat>
<cheat desc="DEBUG - Enable Secret Test Menu (Press F2)">
<comment>Note: You may have to reset with F3 before F2 will work.
See https://sudden-desu.net/entry/cps2-debug-switches-and-the-games-that-love-them
for more information about how to use this Secret Test Menu.</comment>
<script state="run">
<action>maincpu.ow@83110=4E71</action>
</script>
<script state="off">
<action>maincpu.ow@83110=6706</action>
</script>
</cheat>