Code: Select all
<cheat desc="invincibility">
<script state="on">
<action>maincpu.md@719a = 6000014e</action>
</script>
<script state="off">
<action>maincpu.md@719a = 08390000</action>
</script>
</cheat>
<cheat desc="ball speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0180">02 </item>
<item value="0x0280">03 </item>
<item value="0x0380">04 </item>
<item value="0x0480">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@09c08 = 4ef9000dc0c04e71</action>
<action>maincpu.mq@dc0c0 = 217c00000000003e</action>
<action>maincpu.mq@dc0c8 = 4ef900009c40ffff</action>
<!--
dc0c0 | 217c xxxx 0000 003e : move.l #$xxxx0000,($3e,A0)
dc0c8 | 4ef9 0000 9c40 : jmp $9c40.l
-->
</script>
<script state="change">
<action>maincpu.mw@dc0c2 = param</action>
</script>
<script state="off">
<action>maincpu.mq@09c08 = d3a8003e60000032</action>
<action>maincpu.mq@dc0c0 = ffffffffffffffff</action>
<action>maincpu.mq@dc0c8 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mq@02202 = 4ef9000dc0d033fc</action>
<action>maincpu.mq@dc0d0 = 41f8800042101401</action>
<action>maincpu.mq@dc0d8 = 123900840001b401</action>
<action>maincpu.mq@dc0e0 = 67f40c01007f6602</action>
<action>maincpu.mq@dc0e8 = 53100c0100bf6602</action>
<action>maincpu.mq@dc0f0 = 52100c0100fe6604</action>
<action>maincpu.mq@dc0f8 = 101060080c0100fd</action>
<action>maincpu.mq@dc100 = 660842004eb90010</action>
<action>maincpu.mq@dc108 = 000c60caffffffff</action>
<!--
dc0d0 | 41f8 8000 : lea $8000.w,A0 // sound code address
dc0d4 | 4210 : clr.b (A0)
dc0d6 | 1401 : move.b D1,D2
dc0d8 | 1239 0084 0001 : move.b $840001.l,D1 // read input
dc0de | b401 : cmp.b D1,D2
dc0e0 | 67f4 : beq $dc0d6
dc0e2 | 0c01 007f : cmpi.b #$7f,D1
dc0e6 | 6602 : bne $dc0ea
dc0e8 | 5310 : subq.b #1,(A0) // decrease code
dc0ea | 0c01 00bf : cmpi.b #-$41,D1
dc0ee | 6602 : bne $dc0f2
dc0f0 | 5210 : addq.b #1,(A0) // increase code
dc0f2 | 0c01 00fe : cmpi.b #-$2,D1
dc0f6 | 6604 : bne $dc0fc
dc0f8 | 1010 : move.b (A0),D0 // play sound
dc0fa | 6008 : bra $dc104
dc0fc | 0c01 00fd : cmpi.b #-$3,D1
dc100 | 6608 : bne $dc10a
dc102 | 4200 : clr.b D0 // stop sound
dc104 | 4eb9 0010 000c : jsr $10000c.l // send sound code
dc10a | 60ca : bra $dc0d6
-->
</script>
<script state="run">
<output format="----- ooparts 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="button 1 : play sound" line="13" align="center" />
<output format="button 2 : stop sound" line="14" align="center" />
<output format="----------------------------" line="15" align="center" />
<output format="<< sound code %2.2X >>" line="17" align="center">
<argument>maincpu.pb@ff8000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@02202 = 42b900ff80da33fc</action>
<action>maincpu.mq@dc0d0 = ffffffffffffffff</action>
<action>maincpu.mq@dc0d8 = ffffffffffffffff</action>
<action>maincpu.mq@dc0e0 = ffffffffffffffff</action>
<action>maincpu.mq@dc0e8 = ffffffffffffffff</action>
<action>maincpu.mq@dc0f0 = ffffffffffffffff</action>
<action>maincpu.mq@dc0f8 = ffffffffffffffff</action>
<action>maincpu.mq@dc100 = ffffffffffffffff</action>
<action>maincpu.mq@dc108 = ffffffffffffffff</action>
</script>
</cheat>