Page 1 of 1

[dariusj] Darius

Posted: Tue May 17, 2022 12:09 pm
by jman

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <!-- player -->
        <action>maincpu.mb@09537 = 34</action> <!-- background -->
        <action>maincpu.mb@09547 = de</action> <!-- boss -->
        <action>maincpu.mb@1fadc = 60</action> <!-- objects (boss) -->
        <action>   cpub.mb@0d318 = 60</action> <!-- objects -->
        <!-- arm -->
        <action>maincpu.mb@0938e = 60</action> <!-- background -->
        <action>maincpu.mb@1faac = 60</action> <!-- objects (boss) -->
        <action>   cpub.mb@0d2e8 = 60</action> <!-- objects -->
    </script>
    <script state="off">
        <action>maincpu.mb@09537 = 24</action>
        <action>maincpu.mb@09547 = 62</action>
        <action>maincpu.mb@1fadc = 6e</action>
        <action>   cpub.mb@0d318 = 6e</action>
        <action>maincpu.mb@0938e = 67</action>
        <action>maincpu.mb@1faac = 6e</action>
        <action>   cpub.mb@0d2e8 = 6e</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@9102 = 50</action> <!-- shot -->
        <action>maincpu.mb@9138 = 50</action> <!-- bomb -->
    </script>
    <script state="off">
        <action>maincpu.mb@9102 = 52</action>
        <action>maincpu.mb@9138 = 52</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x00008000">01 (slow)</item>
        <item value="0x00020000">02       </item>
        <item value="0x00038000">03       </item>
        <item value="0x00040000">04       </item>
        <item value="0x00058000">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.mq@098d6 = 4eb90001fec04e71</action>
        <action>maincpu.mq@1fec0 = 2e18610adf992e10</action>
        <action>maincpu.mq@1fec8 = 6104df914e75203c</action>
        <action>maincpu.mq@1fed0 = 000000004a876706</action>
        <action>maincpu.mq@1fed8 = 6a0244802e004e75</action>
        <!--
        1fec0 | 2e18           : move.l (A0)+,D7
        1fec2 | 610a           : bsr    $1fece
        1fec4 | df99           : add.l  D7,(A1)+
        1fec6 | 2e10           : move.l (A0),D7
        1fec8 | 6104           : bsr    $1fece
        1feca | df91           : add.l  D7,(A1)
        1fecc | 4e75           : rts
        1fece | 203c xxxx xxxx : move.l #$xxxx,D0
        1fed4 | 4a87           : tst.l  D7
        1fed6 | 6706           : beq    $1fede
        1fed8 | 6a02           : bpl    $1fedc
        1feda | 4480           : neg.l  D0
        1fedc | 2e00           : move.l D0,D7
        1fede | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.md@1fed0 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@098d6 = 2e18df992e10df91</action>
        <action>maincpu.mq@1fec0 = ffffffffffffffff</action>
        <action>maincpu.mq@1fec8 = ffffffffffffffff</action>
        <action>maincpu.mq@1fed0 = ffffffffffffffff</action>
        <action>maincpu.mq@1fed8 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="bullet speed - shot">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0700">02       </item>
        <item value="0x0e00">03       </item>
        <item value="0x1500">04       </item>
        <item value="0x1c00">05 (fast)</item>
    </parameter>
    <script state="change">
        <!-- missile -->
        <action>maincpu.mw@b1b8 = param</action>
        <action>maincpu.mw@b1bc = param</action>
        <action>maincpu.mw@b1c0 = param</action>
        <action>maincpu.mw@b1c4 = param</action>
        <action>maincpu.mw@b1c8 = param</action>
        <action>maincpu.mw@b1cc = param</action>
        <action>maincpu.mw@b1d0 = param</action>
        <action>maincpu.mw@b1d4 = param</action>
        <!-- laser -->
        <action>maincpu.mw@b260 = param</action>
        <action>maincpu.mw@b264 = param</action>
        <action>maincpu.mw@b268 = param</action>
        <action>maincpu.mw@b26c = param</action>
        <action>maincpu.mw@b270 = param</action>
        <action>maincpu.mw@b274 = param</action>
        <action>maincpu.mw@b278 = param</action>
        <action>maincpu.mw@b27c = param</action>
        <!-- wave -->
        <action>maincpu.mw@b38c = param</action>
        <action>maincpu.mw@b390 = param</action>
        <action>maincpu.mw@b394 = param</action>
        <action>maincpu.mw@b398 = param</action>
        <action>maincpu.mw@b39c = param</action>
        <action>maincpu.mw@b3a0 = param</action>
        <action>maincpu.mw@b3a4 = param</action>
        <action>maincpu.mw@b3a8 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mw@b1b8 = 0700</action>
        <action>maincpu.mw@b1bc = 074d</action>
        <action>maincpu.mw@b1c0 = 079a</action>
        <action>maincpu.mw@b1c4 = 0800</action>
        <action>maincpu.mw@b1c8 = 084d</action>
        <action>maincpu.mw@b1cc = 089a</action>
        <action>maincpu.mw@b1d0 = 0900</action>
        <action>maincpu.mw@b1d4 = 094d</action>
        <action>maincpu.mw@b260 = 074d</action>
        <action>maincpu.mw@b264 = 074d</action>
        <action>maincpu.mw@b268 = 079a</action>
        <action>maincpu.mw@b26c = 079a</action>
        <action>maincpu.mw@b270 = 0800</action>
        <action>maincpu.mw@b274 = 0800</action>
        <action>maincpu.mw@b278 = 084d</action>
        <action>maincpu.mw@b27c = 084d</action>
        <action>maincpu.mw@b38c = 074d</action>
        <action>maincpu.mw@b390 = 074d</action>
        <action>maincpu.mw@b394 = 07b3</action>
        <action>maincpu.mw@b398 = 07b3</action>
        <action>maincpu.mw@b39c = 0800</action>
        <action>maincpu.mw@b3a0 = 0800</action>
        <action>maincpu.mw@b3a4 = 084d</action>
        <action>maincpu.mw@b3a8 = 084d</action>
    </script>
</cheat>

<cheat desc="unlock zone select mode">
    <script state="on">
        <action>maincpu.mb@105c6 = 60</action>
        <action>maincpu.mb@105e0 = 60</action>
    </script>
    <script state="off">
        <action>maincpu.mb@105c6 = 66</action>
        <action>maincpu.mb@105e0 = 66</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set rom check error skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@006f8 = 4ef90001fee0027c</action>
        <action>maincpu.mq@1fee0 = 41f90008100043f9</action>
        <action>maincpu.mq@1fee8 = 00c00000143c00ef</action>
        <action>maincpu.mq@1fef0 = 60484279000b0000</action>
        <action>maincpu.mq@1fef8 = 4242120010290009</action>
        <action>maincpu.mq@1ff00 = b20067ee0c0000f7</action>
        <action>maincpu.mq@1ff08 = 660253100c0000fb</action>
        <action>maincpu.mq@1ff10 = 660252100c0000fd</action>
        <action>maincpu.mq@1ff18 = 6604041000100c00</action>
        <action>maincpu.mq@1ff20 = 00fe660406100010</action>
        <action>maincpu.mq@1ff28 = 0c0000ef66041410</action>
        <action>maincpu.mq@1ff30 = 60080c0000df660e</action>
        <action>maincpu.mq@1ff38 = 4202425133420002</action>
        <action>maincpu.mq@1ff40 = e84a3342000260aa</action>
        <!--
        1fee0 | 41f9 0008 1000 : lea    $81000.l,A0  // sound code address
        1fee6 | 43f9 00c0 0000 : lea    $c00000.l,A1 // sound latch address
        1feec | 143c 00ef      : move.b #$ef,D2
        1fef0 | 6048           : bra    $1ff3a
        1fef2 | 4279 000b 0000 : clr.w  $b0000.l     // watchdog
        1fef8 | 4242           : clr.w  D2
        1fefa | 1200           : move.b D0,D1
        1fefc | 1029 0009      : move.b ($9,A1),D0   // read input
        1ff00 | b200           : cmp.b  D0,D1
        1ff02 | 67ee           : beq    $1fef2
        1ff04 | 0c00 00f7      : cmpi.b #-$9,D0
        1ff08 | 6602           : bne    $1ff0c
        1ff0a | 5310           : subq.b #1,(A0)      // decrease code -01
        1ff0c | 0c00 00fb      : cmpi.b #-$5,D0
        1ff10 | 6602           : bne    $1ff14
        1ff12 | 5210           : addq.b #1,(A0)      // increase code +01
        1ff14 | 0c00 00fd      : cmpi.b #-$3,D0
        1ff18 | 6604           : bne    $1ff1e
        1ff1a | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        1ff1e | 0c00 00fe      : cmpi.b #-$2,D0
        1ff22 | 6604           : bne    $1ff28
        1ff24 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        1ff28 | 0c00 00ef      : cmpi.b #-$11,D0
        1ff2c | 6604           : bne    $1ff32
        1ff2e | 1410           : move.b (A0),D2      // play sound
        1ff30 | 6008           : bra    $1ff3a
        1ff32 | 0c00 00df      : cmpi.b #-$21,D0
        1ff36 | 660e           : bne    $1ff46
        1ff38 | 4202           : clr.b  D2           // stop sound
        1ff3a | 4251           : clr.w  (A1)
        1ff3c | 3342 0002      : move.w D2,($2,A1)
        1ff40 | e84a           : lsr.w  #4,D2
        1ff42 | 3342 0002      : move.w D2,($2,A1)
        1ff46 | 60aa           : bra    $1fef2
        -->
    </script>
    <script state="run">
        <output format="----- darius sound test mode -----" line="10" align="center" />
        <output format="left : decrease code -01"           line="11" align="center" />
        <output format="right : increase code +01"          line="12" align="center" />
        <output format="up : increase code +10"             line="13" align="center" />
        <output format="down : decrease code -10"           line="14" align="center" />
        <output format="button 1 : play sound"              line="15" align="center" />
        <output format="button 2 : stop sound"              line="16" align="center" />
        <output format="----------------------------"       line="17" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;" line="19" align="center">
            <argument>maincpu.pb@81000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@006f8 = 3b7cffffa200027c</action>
        <action>maincpu.mq@1fee0 = ffffffffffffffff</action>
        <action>maincpu.mq@1fee8 = ffffffffffffffff</action>
        <action>maincpu.mq@1fef0 = ffffffffffffffff</action>
        <action>maincpu.mq@1fef8 = ffffffffffffffff</action>
        <action>maincpu.mq@1ff00 = ffffffffffffffff</action>
        <action>maincpu.mq@1ff08 = ffffffffffffffff</action>
        <action>maincpu.mq@1ff10 = ffffffffffffffff</action>
        <action>maincpu.mq@1ff18 = ffffffffffffffff</action>
        <action>maincpu.mq@1ff20 = ffffffffffffffff</action>
        <action>maincpu.mq@1ff28 = ffffffffffffffff</action>
        <action>maincpu.mq@1ff30 = ffffffffffffffff</action>
        <action>maincpu.mq@1ff38 = ffffffffffffffff</action>
        <action>maincpu.mq@1ff40 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="skip rom check error">
    <script state="on">
        <action>maincpu.mw@13f2 = 0002</action> <!-- main cpu -->
        <action>   cpub.mw@0a2e = 0002</action> <!-- cpu b -->
    </script>
    <script state="off">
        <action>maincpu.mw@13f2 = 0148</action>
        <action>   cpub.mw@0a2e = 0042</action>
    </script>
</cheat>

[dariusj]+ Darius

Posted: Mon Dec 18, 2023 10:22 am
by jman
darius.xml

Code: Select all

<!-- Darius (World, rev 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- player -->
            <action>maincpu.mb@09B65 = 34</action> <!-- background -->
            <action>maincpu.mb@09B75 = DE</action> <!-- boss -->
            <action>maincpu.mb@20004 = 60</action> <!-- objects (boss) -->
            <action>   cpub.mb@0D318 = 60</action> <!-- objects -->
            <!-- arm -->
            <action>maincpu.mb@099BC = 60</action> <!-- background -->
            <action>maincpu.mb@1FFD4 = 60</action> <!-- objects (boss) -->
            <action>   cpub.mb@0D2E8 = 60</action> <!-- objects -->
        </script>
        <script state="off">
            <action>maincpu.mb@09B65 = 24</action>
            <action>maincpu.mb@09B75 = 62</action>
            <action>maincpu.mb@20004 = 6E</action>
            <action>   cpub.mb@0D318 = 6E</action>
            <action>maincpu.mb@099BC = 67</action>
            <action>maincpu.mb@1FFD4 = 6E</action>
            <action>   cpub.mb@0D2E8 = 6E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@9730 = 50</action> <!-- shot -->
            <action>maincpu.mb@9766 = 50</action> <!-- bomb -->
        </script>
        <script state="off">
            <action>maincpu.mb@9730 = 52</action>
            <action>maincpu.mb@9766 = 52</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00020000">02       </item>
            <item value="0x00038000">03       </item>
            <item value="0x00040000">04       </item>
            <item value="0x00058000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@09F04 = 4EB9000220304E71</action>
            <action>maincpu.mq@22030 = 2E18610ADF992E10</action>
            <action>maincpu.mq@22038 = 6104DF914E75203C</action>
            <action>maincpu.mq@22040 = 000000004A876706</action>
            <action>maincpu.mq@22048 = 6A0244802E004E75</action>
            <!--
            22030 | 2E18           : move.l  (A0)+, D7
            22032 | 610A           : bsr     $2203e
            22034 | DF99           : add.l   D7, (A1)+
            22036 | 2E10           : move.l  (A0), D7
            22038 | 6104           : bsr     $2203e
            2203A | DF91           : add.l   D7, (A1)
            2203C | 4E75           : rts
            2203E | 203C xxxx xxxx : move.l  #$xxxx, D0
            22044 | 4A87           : tst.l   D7
            22046 | 6706           : beq     $2204e
            22048 | 6A02           : bpl     $2204c
            2204A | 4480           : neg.l   D0
            2204C | 2E00           : move.l  D0, D7
            2204E | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@22040 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@09F04 = 2E18DF992E10DF91</action>
            <action>maincpu.mq@22030 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22038 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22040 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22048 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - shot">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0700">02       </item>
            <item value="0x0e00">03       </item>
            <item value="0x1500">04       </item>
            <item value="0x1c00">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- missile -->
            <action>maincpu.mw@B7E6 = param</action>
            <action>maincpu.mw@B7EE = param</action>
            <action>maincpu.mw@B7F2 = param</action>
            <action>maincpu.mw@B7F6 = param</action>
            <action>maincpu.mw@B7FA = param</action>
            <action>maincpu.mw@B7FE = param</action>
            <action>maincpu.mw@B802 = param</action>
            <action>maincpu.mw@B806 = param</action>
            <!-- laser -->
            <action>maincpu.mw@B88E = param</action>
            <action>maincpu.mw@B892 = param</action>
            <action>maincpu.mw@B896 = param</action>
            <action>maincpu.mw@B89A = param</action>
            <action>maincpu.mw@B89E = param</action>
            <action>maincpu.mw@B8A2 = param</action>
            <action>maincpu.mw@B8A6 = param</action>
            <action>maincpu.mw@B8AA = param</action>
            <!-- wave -->
            <action>maincpu.mw@B9BA = param</action>
            <action>maincpu.mw@B9BE = param</action>
            <action>maincpu.mw@B9C2 = param</action>
            <action>maincpu.mw@B9C6 = param</action>
            <action>maincpu.mw@B9CA = param</action>
            <action>maincpu.mw@B9CE = param</action>
            <action>maincpu.mw@B9D2 = param</action>
            <action>maincpu.mw@B9D6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@B7E6 = 0700</action>
            <action>maincpu.mw@B7EE = 074D</action>
            <action>maincpu.mw@B7F2 = 079A</action>
            <action>maincpu.mw@B7F6 = 0800</action>
            <action>maincpu.mw@B7FA = 084D</action>
            <action>maincpu.mw@B7FE = 089A</action>
            <action>maincpu.mw@B802 = 0900</action>
            <action>maincpu.mw@B806 = 094D</action>
            <action>maincpu.mw@B88E = 074D</action>
            <action>maincpu.mw@B892 = 074D</action>
            <action>maincpu.mw@B896 = 079A</action>
            <action>maincpu.mw@B89A = 079A</action>
            <action>maincpu.mw@B89E = 0800</action>
            <action>maincpu.mw@B8A2 = 0800</action>
            <action>maincpu.mw@B8A6 = 084D</action>
            <action>maincpu.mw@B8AA = 084D</action>
            <action>maincpu.mw@B9BA = 074D</action>
            <action>maincpu.mw@B9BE = 074D</action>
            <action>maincpu.mw@B9C2 = 07B3</action>
            <action>maincpu.mw@B9C6 = 07B3</action>
            <action>maincpu.mw@B9CA = 0800</action>
            <action>maincpu.mw@B9CE = 0800</action>
            <action>maincpu.mw@B9D2 = 084D</action>
            <action>maincpu.mw@B9D6 = 084D</action>
        </script>
    </cheat>

    <cheat desc="hidden item finder">
        <script state="on">
            <action>maincpu.mq@0A726 = 4EB9000220504E71</action>
            <action>maincpu.mq@22050 = 2268000C0C690250</action>
            <action>maincpu.mq@22058 = 00046406337C0001</action>
            <action>maincpu.mq@22060 = 00024A6900024E75</action>
            <!--
            22050 | 2268 000C      : movea.l ($c,A0), A1
            22054 | 0C69 0250 0004 : cmpi.w  #$250, ($4,A1) // check x position
            2205A | 6406           : bcc     $22062
            2205C | 337C 0001 0002 : move.w  #$1, ($2,A1)   // set hit flag
            22062 | 4A69 0002      : tst.w   ($2,A1)
            22066 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0A726 = 2268000C4A690002</action>
            <action>maincpu.mq@22050 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22058 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22060 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="boss approaches fast">
        <script state="on">
            <action>maincpu.mq@07F74 = 4EB9000220E0303B</action>
            <action>maincpu.mq@220E0 = 302DAB644A7900E0</action>
            <action>maincpu.mq@220E8 = 1D1466064A406602</action>
            <action>maincpu.mq@220F0 = 7001D0404E75FFFF</action>
            <!--
            220E0 | 302D AB64      : move.w  (-$549c,A5), D0
            220E4 | 4A79 00E0 1D14 : tst.w   $e01d14.l
            220EA | 6606           : bne     $220f2
            220EC | 4A40           : tst.w   D0
            220EE | 6602           : bne     $220f2
            220F0 | 7001           : moveq   #$1, D0
            220F2 | D040           : add.w   D0, D0
            220F4 | 4E75           : rts
            -->
            <action>maincpu.mb@7FEA = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mq@07F74 = 302DAB64D040303B</action>
            <action>maincpu.mq@220E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mb@07FEA = 6C              </action>
        </script>
    </cheat>

    <cheat desc="unlock zone select mode">
        <script state="on">
            <action>maincpu.mb@109E0 = 60</action>
            <action>maincpu.mb@109FA = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@109E0 = 66</action>
            <action>maincpu.mb@109FA = 66</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@006F8 = 4EF900022070027C</action>
            <action>maincpu.mq@22070 = 41F90008000043F9</action>
            <action>maincpu.mq@22078 = 00C00000143C00EF</action>
            <action>maincpu.mq@22080 = 60484279000B0000</action>
            <action>maincpu.mq@22088 = 4242120010290009</action>
            <action>maincpu.mq@22090 = B20067EE0C0000F7</action>
            <action>maincpu.mq@22098 = 660253100C0000FB</action>
            <action>maincpu.mq@220A0 = 660252100C0000FD</action>
            <action>maincpu.mq@220A8 = 6604041000100C00</action>
            <action>maincpu.mq@220B0 = 00FE660406100010</action>
            <action>maincpu.mq@220B8 = 0C0000EF66041410</action>
            <action>maincpu.mq@220C0 = 60080C0000DF660E</action>
            <action>maincpu.mq@220C8 = 4202425133420002</action>
            <action>maincpu.mq@220D0 = E84A3342000260AA</action>
            <!--
            22070 | 41F9 0008 0000 : lea     $80000.l, A0  // sound code address
            22076 | 43F9 00C0 0000 : lea     $c00000.l, A1 // sound latch address
            2207C | 143C 00EF      : move.b  #$ef, D2
            22080 | 6048           : bra     $1ff3a        // initialize sound
            22082 | 4279 000B 0000 : clr.w   $b0000.l      // watchdog
            22088 | 4242           : clr.w   D2
            2208A | 1200           : move.b  D0, D1
            2208C | 1029 0009      : move.b  ($9,A1), D0
            22090 | B200           : cmp.b   D0, D1
            22092 | 67EE           : beq     $1fef2
            22094 | 0C00 00F7      : cmpi.b  #-$9, D0
            22098 | 6602           : bne     $1ff0c
            2209A | 5310           : subq.b  #1, (A0)      // decrease code -01
            2209C | 0C00 00FB      : cmpi.b  #-$5, D0
            220A0 | 6602           : bne     $1ff14
            220A2 | 5210           : addq.b  #1, (A0)      // increase code +01
            220A4 | 0C00 00FD      : cmpi.b  #-$3, D0
            220A8 | 6604           : bne     $1ff1e
            220AA | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            220AE | 0C00 00FE      : cmpi.b  #-$2, D0
            220B2 | 6604           : bne     $1ff28
            220B4 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            220B8 | 0C00 00EF      : cmpi.b  #-$11, D0
            220BC | 6604           : bne     $1ff32
            220BE | 1410           : move.b  (A0), D2      // play sound
            220C0 | 6008           : bra     $1ff3a
            220C2 | 0C00 00DF      : cmpi.b  #-$21, D0
            220C6 | 660E           : bne     $1ff46
            220C8 | 4202           : clr.b   D2            // stop sound
            220CA | 4251           : clr.w   (A1)
            220CC | 3342 0002      : move.w  D2, ($2,A1)
            220D0 | E84A           : lsr.w   #4, D2
            220D2 | 3342 0002      : move.w  D2, ($2,A1)
            220D6 | 60AA           : bra     $1fef2
            -->
        </script>
        <script state="run">
            <output format="----- darius sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"           line="11" align="center" />
            <output format="right : increase code +01"          line="12" align="center" />
            <output format="down : decrease code -10"           line="13" align="center" />
            <output format="up : increase code +10"             line="14" align="center" />
            <output format="button 1 : play sound"              line="15" align="center" />
            <output format="button 2 : stop sound"              line="16" align="center" />
            <output format="----------------------------"       line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"  line="19" align="center"  >
                <argument>maincpu.pb@80000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@006F8 = 3B7CFFFFA200027C</action>
            <action>maincpu.mq@22070 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22078 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22080 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22088 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22090 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22098 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220D0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check error">
        <script state="on">
            <action>maincpu.mw@1444 = 0002</action> <!-- main cpu -->
            <action>   cpub.mw@0A2E = 0002</action> <!-- cpu b -->
        </script>
        <script state="off">
            <action>maincpu.mw@1444 = 0148</action>
            <action>   cpub.mw@0A2E = 0042</action>
        </script>
    </cheat>

</mamecheat>
dariusu.xml

Code: Select all

<!-- Darius (US, rev 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- player -->
            <action>maincpu.mb@09B65 = 34</action> <!-- background -->
            <action>maincpu.mb@09B75 = DE</action> <!-- boss -->
            <action>maincpu.mb@20004 = 60</action> <!-- objects (boss) -->
            <action>   cpub.mb@0D318 = 60</action> <!-- objects -->
            <!-- arm -->
            <action>maincpu.mb@0938E = 60</action> <!-- background -->
            <action>maincpu.mb@1FFD4 = 60</action> <!-- objects (boss) -->
            <action>   cpub.mb@0D2E8 = 60</action> <!-- objects -->
        </script>
        <script state="off">
            <action>maincpu.mb@09B65 = 24</action>
            <action>maincpu.mb@09B75 = 62</action>
            <action>maincpu.mb@20004 = 6E</action>
            <action>   cpub.mb@0D318 = 6E</action>
            <action>maincpu.mb@0938E = 67</action>
            <action>maincpu.mb@1FFD4 = 6E</action>
            <action>   cpub.mb@0D2E8 = 6E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@9730 = 50</action> <!-- shot -->
            <action>maincpu.mb@9766 = 50</action> <!-- bomb -->
        </script>
        <script state="off">
            <action>maincpu.mb@9730 = 52</action>
            <action>maincpu.mb@9766 = 52</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00020000">02       </item>
            <item value="0x00038000">03       </item>
            <item value="0x00040000">04       </item>
            <item value="0x00058000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@09F04 = 4EB9000220304E71</action>
            <action>maincpu.mq@22030 = 2E18610ADF992E10</action>
            <action>maincpu.mq@22038 = 6104DF914E75203C</action>
            <action>maincpu.mq@22040 = 000000004A876706</action>
            <action>maincpu.mq@22048 = 6A0244802E004E75</action>
            <!--
            22030 | 2E18           : move.l  (A0)+, D7
            22032 | 610A           : bsr     $2203e
            22034 | DF99           : add.l   D7, (A1)+
            22036 | 2E10           : move.l  (A0), D7
            22038 | 6104           : bsr     $2203e
            2203A | DF91           : add.l   D7, (A1)
            2203C | 4E75           : rts
            2203E | 203C xxxx xxxx : move.l  #$xxxx, D0
            22044 | 4A87           : tst.l   D7
            22046 | 6706           : beq     $2204e
            22048 | 6A02           : bpl     $2204c
            2204A | 4480           : neg.l   D0
            2204C | 2E00           : move.l  D0, D7
            2204E | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@22040 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@09F04 = 2E18DF992E10DF91</action>
            <action>maincpu.mq@22030 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22038 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22040 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22048 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - shot">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0700">02       </item>
            <item value="0x0e00">03       </item>
            <item value="0x1500">04       </item>
            <item value="0x1c00">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- missile -->
            <action>maincpu.mw@B7E6 = param</action>
            <action>maincpu.mw@B7EE = param</action>
            <action>maincpu.mw@B7F2 = param</action>
            <action>maincpu.mw@B7F6 = param</action>
            <action>maincpu.mw@B7FA = param</action>
            <action>maincpu.mw@B7FE = param</action>
            <action>maincpu.mw@B802 = param</action>
            <action>maincpu.mw@B806 = param</action>
            <!-- laser -->
            <action>maincpu.mw@B88E = param</action>
            <action>maincpu.mw@B892 = param</action>
            <action>maincpu.mw@B896 = param</action>
            <action>maincpu.mw@B89A = param</action>
            <action>maincpu.mw@B89E = param</action>
            <action>maincpu.mw@B8A2 = param</action>
            <action>maincpu.mw@B8A6 = param</action>
            <action>maincpu.mw@B8AA = param</action>
            <!-- wave -->
            <action>maincpu.mw@B9BA = param</action>
            <action>maincpu.mw@B9BE = param</action>
            <action>maincpu.mw@B9C2 = param</action>
            <action>maincpu.mw@B9C6 = param</action>
            <action>maincpu.mw@B9CA = param</action>
            <action>maincpu.mw@B9CE = param</action>
            <action>maincpu.mw@B9D2 = param</action>
            <action>maincpu.mw@B9D6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@B7E6 = 0700</action>
            <action>maincpu.mw@B7EE = 074D</action>
            <action>maincpu.mw@B7F2 = 079A</action>
            <action>maincpu.mw@B7F6 = 0800</action>
            <action>maincpu.mw@B7FA = 084D</action>
            <action>maincpu.mw@B7FE = 089A</action>
            <action>maincpu.mw@B802 = 0900</action>
            <action>maincpu.mw@B806 = 094D</action>
            <action>maincpu.mw@B88E = 074D</action>
            <action>maincpu.mw@B892 = 074D</action>
            <action>maincpu.mw@B896 = 079A</action>
            <action>maincpu.mw@B89A = 079A</action>
            <action>maincpu.mw@B89E = 0800</action>
            <action>maincpu.mw@B8A2 = 0800</action>
            <action>maincpu.mw@B8A6 = 084D</action>
            <action>maincpu.mw@B8AA = 084D</action>
            <action>maincpu.mw@B9BA = 074D</action>
            <action>maincpu.mw@B9BE = 074D</action>
            <action>maincpu.mw@B9C2 = 07B3</action>
            <action>maincpu.mw@B9C6 = 07B3</action>
            <action>maincpu.mw@B9CA = 0800</action>
            <action>maincpu.mw@B9CE = 0800</action>
            <action>maincpu.mw@B9D2 = 084D</action>
            <action>maincpu.mw@B9D6 = 084D</action>
        </script>
    </cheat>

    <cheat desc="hidden item finder">
        <script state="on">
            <action>maincpu.mq@0A726 = 4EB9000220504E71</action>
            <action>maincpu.mq@22050 = 2268000C0C690250</action>
            <action>maincpu.mq@22058 = 00046406337C0001</action>
            <action>maincpu.mq@22060 = 00024A6900024E75</action>
            <!--
            22050 | 2268 000C      : movea.l ($c,A0), A1
            22054 | 0C69 0250 0004 : cmpi.w  #$250, ($4,A1) // check x position
            2205A | 6406           : bcc     $22062
            2205C | 337C 0001 0002 : move.w  #$1, ($2,A1)   // set hit flag
            22062 | 4A69 0002      : tst.w   ($2,A1)
            22066 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0A726 = 2268000C4A690002</action>
            <action>maincpu.mq@22050 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22058 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22060 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="boss approaches fast">
        <script state="on">
            <action>maincpu.mq@07F74 = 4EB9000220E0303B</action>
            <action>maincpu.mq@220E0 = 302DAB644A7900E0</action>
            <action>maincpu.mq@220E8 = 1D1466064A406602</action>
            <action>maincpu.mq@220F0 = 7001D0404E75FFFF</action>
            <!--
            220E0 | 302D AB64      : move.w  (-$549c,A5), D0
            220E4 | 4A79 00E0 1D14 : tst.w   $e01d14.l
            220EA | 6606           : bne     $220f2
            220EC | 4A40           : tst.w   D0
            220EE | 6602           : bne     $220f2
            220F0 | 7001           : moveq   #$1, D0
            220F2 | D040           : add.w   D0, D0
            220F4 | 4E75           : rts
            -->
            <action>maincpu.mb@7FEA = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mq@07F74 = 302DAB64D040303B</action>
            <action>maincpu.mq@220E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mb@07FEA = 6C              </action>
        </script>
    </cheat>

    <cheat desc="unlock zone select mode">
        <script state="on">
            <action>maincpu.mb@109E0 = 60</action>
            <action>maincpu.mb@109FA = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@109E0 = 66</action>
            <action>maincpu.mb@109FA = 66</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@006F8 = 4EF900022070027C</action>
            <action>maincpu.mq@22070 = 41F90008000043F9</action>
            <action>maincpu.mq@22078 = 00C00000143C00EF</action>
            <action>maincpu.mq@22080 = 60484279000B0000</action>
            <action>maincpu.mq@22088 = 4242120010290009</action>
            <action>maincpu.mq@22090 = B20067EE0C0000F7</action>
            <action>maincpu.mq@22098 = 660253100C0000FB</action>
            <action>maincpu.mq@220A0 = 660252100C0000FD</action>
            <action>maincpu.mq@220A8 = 6604041000100C00</action>
            <action>maincpu.mq@220B0 = 00FE660406100010</action>
            <action>maincpu.mq@220B8 = 0C0000EF66041410</action>
            <action>maincpu.mq@220C0 = 60080C0000DF660E</action>
            <action>maincpu.mq@220C8 = 4202425133420002</action>
            <action>maincpu.mq@220D0 = E84A3342000260AA</action>
            <!--
            22070 | 41F9 0008 0000 : lea     $80000.l, A0  // sound code address
            22076 | 43F9 00C0 0000 : lea     $c00000.l, A1 // sound latch address
            2207C | 143C 00EF      : move.b  #$ef, D2
            22080 | 6048           : bra     $1ff3a        // initialize sound
            22082 | 4279 000B 0000 : clr.w   $b0000.l      // watchdog
            22088 | 4242           : clr.w   D2
            2208A | 1200           : move.b  D0, D1
            2208C | 1029 0009      : move.b  ($9,A1), D0
            22090 | B200           : cmp.b   D0, D1
            22092 | 67EE           : beq     $1fef2
            22094 | 0C00 00F7      : cmpi.b  #-$9, D0
            22098 | 6602           : bne     $1ff0c
            2209A | 5310           : subq.b  #1, (A0)      // decrease code -01
            2209C | 0C00 00FB      : cmpi.b  #-$5, D0
            220A0 | 6602           : bne     $1ff14
            220A2 | 5210           : addq.b  #1, (A0)      // increase code +01
            220A4 | 0C00 00FD      : cmpi.b  #-$3, D0
            220A8 | 6604           : bne     $1ff1e
            220AA | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            220AE | 0C00 00FE      : cmpi.b  #-$2, D0
            220B2 | 6604           : bne     $1ff28
            220B4 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            220B8 | 0C00 00EF      : cmpi.b  #-$11, D0
            220BC | 6604           : bne     $1ff32
            220BE | 1410           : move.b  (A0), D2      // play sound
            220C0 | 6008           : bra     $1ff3a
            220C2 | 0C00 00DF      : cmpi.b  #-$21, D0
            220C6 | 660E           : bne     $1ff46
            220C8 | 4202           : clr.b   D2            // stop sound
            220CA | 4251           : clr.w   (A1)
            220CC | 3342 0002      : move.w  D2, ($2,A1)
            220D0 | E84A           : lsr.w   #4, D2
            220D2 | 3342 0002      : move.w  D2, ($2,A1)
            220D6 | 60AA           : bra     $1fef2
            -->
        </script>
        <script state="run">
            <output format="----- darius sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"           line="11" align="center" />
            <output format="right : increase code +01"          line="12" align="center" />
            <output format="down : decrease code -10"           line="13" align="center" />
            <output format="up : increase code +10"             line="14" align="center" />
            <output format="button 1 : play sound"              line="15" align="center" />
            <output format="button 2 : stop sound"              line="16" align="center" />
            <output format="----------------------------"       line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"  line="19" align="center"  >
                <argument>maincpu.pb@80000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@006F8 = 3B7CFFFFA200027C</action>
            <action>maincpu.mq@22070 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22078 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22080 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22088 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22090 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@22098 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@220D0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check error">
        <script state="on">
            <action>maincpu.mw@1444 = 0002</action> <!-- main cpu -->
            <action>   cpub.mw@0A2E = 0002</action> <!-- cpu b -->
        </script>
        <script state="off">
            <action>maincpu.mw@1444 = 0148</action>
            <action>   cpub.mw@0A2E = 0042</action>
        </script>
    </cheat>

</mamecheat>
dariusj.xml

Code: Select all

<!-- Darius (Japan, rev 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- player -->
            <action>maincpu.mb@09537 = 34</action> <!-- background -->
            <action>maincpu.mb@09547 = DE</action> <!-- boss -->
            <action>maincpu.mb@1FADC = 60</action> <!-- objects (boss) -->
            <action>   cpub.mb@0D318 = 60</action> <!-- objects -->
            <!-- arm -->
            <action>maincpu.mb@0938E = 60</action> <!-- background -->
            <action>maincpu.mb@1FAAC = 60</action> <!-- objects (boss) -->
            <action>   cpub.mb@0D2E8 = 60</action> <!-- objects -->
        </script>
        <script state="off">
            <action>maincpu.mb@09537 = 24</action>
            <action>maincpu.mb@09547 = 62</action>
            <action>maincpu.mb@1FADC = 6E</action>
            <action>   cpub.mb@0D318 = 6E</action>
            <action>maincpu.mb@0938E = 67</action>
            <action>maincpu.mb@1FAAC = 6E</action>
            <action>   cpub.mb@0D2E8 = 6E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@9102 = 50</action> <!-- shot -->
            <action>maincpu.mb@9138 = 50</action> <!-- bomb -->
        </script>
        <script state="off">
            <action>maincpu.mb@9102 = 52</action>
            <action>maincpu.mb@9138 = 52</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00020000">02       </item>
            <item value="0x00038000">03       </item>
            <item value="0x00040000">04       </item>
            <item value="0x00058000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@098D6 = 4EB90001FEC04E71</action>
            <action>maincpu.mq@1FEC0 = 2E18610ADF992E10</action>
            <action>maincpu.mq@1FEC8 = 6104DF914E75203C</action>
            <action>maincpu.mq@1FED0 = 000000004A876706</action>
            <action>maincpu.mq@1FED8 = 6A0244802E004E75</action>
            <!--
            1FEC0 | 2E18           : move.l  (A0)+, D7
            1FEC2 | 610A           : bsr     $1fece
            1FEC4 | DF99           : add.l   D7, (A1)+
            1FEC6 | 2E10           : move.l  (A0), D7
            1FEC8 | 6104           : bsr     $1fece
            1FECA | DF91           : add.l   D7, (A1)
            1FECC | 4E75           : rts
            1FECE | 203C xxxx xxxx : move.l  #$xxxx, D0
            1FED4 | 4A87           : tst.l   D7
            1FED6 | 6706           : beq     $1fede
            1FED8 | 6A02           : bpl     $1fedc
            1FEDA | 4480           : neg.l   D0
            1FEDC | 2E00           : move.l  D0, D7
            1FEDE | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@1FED0 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@098D6 = 2E18DF992E10DF91</action>
            <action>maincpu.mq@1FEC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FEC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FED8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - shot">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0700">02       </item>
            <item value="0x0e00">03       </item>
            <item value="0x1500">04       </item>
            <item value="0x1c00">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- missile -->
            <action>maincpu.mw@B1B8 = param</action>
            <action>maincpu.mw@B1BC = param</action>
            <action>maincpu.mw@B1C0 = param</action>
            <action>maincpu.mw@B1C4 = param</action>
            <action>maincpu.mw@B1C8 = param</action>
            <action>maincpu.mw@B1CC = param</action>
            <action>maincpu.mw@B1D0 = param</action>
            <action>maincpu.mw@B1D4 = param</action>
            <!-- laser -->
            <action>maincpu.mw@B260 = param</action>
            <action>maincpu.mw@B264 = param</action>
            <action>maincpu.mw@B268 = param</action>
            <action>maincpu.mw@B26C = param</action>
            <action>maincpu.mw@B270 = param</action>
            <action>maincpu.mw@B274 = param</action>
            <action>maincpu.mw@B278 = param</action>
            <action>maincpu.mw@B27C = param</action>
            <!-- wave -->
            <action>maincpu.mw@B38C = param</action>
            <action>maincpu.mw@B390 = param</action>
            <action>maincpu.mw@B394 = param</action>
            <action>maincpu.mw@B398 = param</action>
            <action>maincpu.mw@B39C = param</action>
            <action>maincpu.mw@B3A0 = param</action>
            <action>maincpu.mw@B3A4 = param</action>
            <action>maincpu.mw@B3A8 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@B1B8 = 0700</action>
            <action>maincpu.mw@B1BC = 074D</action>
            <action>maincpu.mw@B1C0 = 079A</action>
            <action>maincpu.mw@B1C4 = 0800</action>
            <action>maincpu.mw@B1C8 = 084D</action>
            <action>maincpu.mw@B1CC = 089A</action>
            <action>maincpu.mw@B1D0 = 0900</action>
            <action>maincpu.mw@B1D4 = 094D</action>
            <action>maincpu.mw@B260 = 074D</action>
            <action>maincpu.mw@B264 = 074D</action>
            <action>maincpu.mw@B268 = 079A</action>
            <action>maincpu.mw@B26C = 079A</action>
            <action>maincpu.mw@B270 = 0800</action>
            <action>maincpu.mw@B274 = 0800</action>
            <action>maincpu.mw@B278 = 084D</action>
            <action>maincpu.mw@B27C = 084D</action>
            <action>maincpu.mw@B38C = 074D</action>
            <action>maincpu.mw@B390 = 074D</action>
            <action>maincpu.mw@B394 = 07B3</action>
            <action>maincpu.mw@B398 = 07B3</action>
            <action>maincpu.mw@B39C = 0800</action>
            <action>maincpu.mw@B3A0 = 0800</action>
            <action>maincpu.mw@B3A4 = 084D</action>
            <action>maincpu.mw@B3A8 = 084D</action>
        </script>
    </cheat>

    <cheat desc="hidden item finder">
        <script state="on">
            <action>maincpu.mq@0A0F8 = 4EB90001FEE04E71</action>
            <action>maincpu.mq@1FEE0 = 2268000C0C690250</action>
            <action>maincpu.mq@1FEE8 = 00046406337C0001</action>
            <action>maincpu.mq@1FEF0 = 00024A6900024E75</action>
            <!--
            1FEE0 | 2268 000C      : movea.l ($c,A0), A1
            1FEE4 | 0C69 0250 0004 : cmpi.w  #$250, ($4,A1) // check x position
            1FEEA | 6406           : bcc     $1fef2
            1FEEC | 337C 0001 0002 : move.w  #$1, ($2,A1)   // set hit flag
            1FEF2 | 4A69 0002      : tst.w   ($2,A1)
            1FEF6 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0A0F8 = 2268000C4A690002</action>
            <action>maincpu.mq@1FEE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FEE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FEF0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="boss approaches fast">
        <script state="on">
            <action>maincpu.mq@07E5C = 4EB90001FF70303B</action>
            <action>maincpu.mq@1FF70 = 302DAB2C4A7900E0</action>
            <action>maincpu.mq@1FF78 = 1D1466064A406602</action>
            <action>maincpu.mq@1FF80 = 7001D0404E75FFFF</action>
            <!--
            1FF70 | 302D AB2C      : move.w  (-$54d4,A5), D0
            1FF74 | 4A79 00E0 1D14 : tst.w   $e01d14.l
            1FF7A | 6606           : bne     $1ff82
            1FF7C | 4A40           : tst.w   D0
            1FF7E | 6602           : bne     $1ff82
            1FF80 | 7001           : moveq   #$1, D0
            1FF82 | D040           : add.w   D0, D0
            1FF84 | 4E75           : rts
            -->
            <action>maincpu.mb@7ED2 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mq@07E5C = 302DAB2CD040303B</action>
            <action>maincpu.mq@1FF70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mb@07ED2 = 6C              </action>
        </script>
    </cheat>

    <cheat desc="unlock zone select mode">
        <script state="on">
            <action>maincpu.mb@105C6 = 60</action>
            <action>maincpu.mb@105E0 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@105C6 = 66</action>
            <action>maincpu.mb@105E0 = 66</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@006F8 = 4EF90001FF00027C</action>
            <action>maincpu.mq@1FF00 = 41F90008000043F9</action>
            <action>maincpu.mq@1FF08 = 00C00000143C00EF</action>
            <action>maincpu.mq@1FF10 = 60484279000B0000</action>
            <action>maincpu.mq@1FF18 = 4242120010290009</action>
            <action>maincpu.mq@1FF20 = B20067EE0C0000F7</action>
            <action>maincpu.mq@1FF28 = 660253100C0000FB</action>
            <action>maincpu.mq@1FF30 = 660252100C0000FD</action>
            <action>maincpu.mq@1FF38 = 6604041000100C00</action>
            <action>maincpu.mq@1FF40 = 00FE660406100010</action>
            <action>maincpu.mq@1FF48 = 0C0000EF66041410</action>
            <action>maincpu.mq@1FF50 = 60080C0000DF660E</action>
            <action>maincpu.mq@1FF58 = 4202425133420002</action>
            <action>maincpu.mq@1FF60 = E84A3342000260AA</action>
            <!--
            1FF00 | 41F9 0008 0000 : lea     $80000.l, A0  // sound code address
            1FF06 | 43F9 00C0 0000 : lea     $c00000.l, A1 // sound latch address
            1FF0C | 143C 00EF      : move.b  #$ef, D2
            1FF10 | 6048           : bra     $1ff5a        // initialize sound
            1FF12 | 4279 000B 0000 : clr.w   $b0000.l      // watchdog
            1FF18 | 4242           : clr.w   D2
            1FF1A | 1200           : move.b  D0, D1
            1FF1C | 1029 0009      : move.b  ($9,A1), D0
            1FF20 | B200           : cmp.b   D0, D1
            1FF22 | 67EE           : beq     $1ff12
            1FF24 | 0C00 00F7      : cmpi.b  #-$9, D0
            1FF28 | 6602           : bne     $1ff2c
            1FF2A | 5310           : subq.b  #1, (A0)      // decrease code -01
            1FF2C | 0C00 00FB      : cmpi.b  #-$5, D0
            1FF30 | 6602           : bne     $1ff34
            1FF32 | 5210           : addq.b  #1, (A0)      // increase code +01
            1FF34 | 0C00 00FD      : cmpi.b  #-$3, D0
            1FF38 | 6604           : bne     $1ff3e
            1FF3A | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1FF3E | 0C00 00FE      : cmpi.b  #-$2, D0
            1FF42 | 6604           : bne     $1ff48
            1FF44 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            1FF48 | 0C00 00EF      : cmpi.b  #-$11, D0
            1FF4C | 6604           : bne     $1ff52
            1FF4E | 1410           : move.b  (A0), D2      // play sound
            1FF50 | 6008           : bra     $1ff5a
            1FF52 | 0C00 00DF      : cmpi.b  #-$21, D0
            1FF56 | 660E           : bne     $1ff66
            1FF58 | 4202           : clr.b   D2            // stop sound
            1FF5A | 4251           : clr.w   (A1)
            1FF5C | 3342 0002      : move.w  D2, ($2,A1)
            1FF60 | E84A           : lsr.w   #4, D2
            1FF62 | 3342 0002      : move.w  D2, ($2,A1)
            1FF66 | 60AA           : bra     $1ff12
            -->
        </script>
        <script state="run">
            <output format="----- darius sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"           line="11" align="center" />
            <output format="right : increase code +01"          line="12" align="center" />
            <output format="down : decrease code -10"           line="13" align="center" />
            <output format="up : increase code +10"             line="14" align="center" />
            <output format="button 1 : play sound"              line="15" align="center" />
            <output format="button 2 : stop sound"              line="16" align="center" />
            <output format="----------------------------"       line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"  line="19" align="center"  >
                <argument>maincpu.pb@80000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@006F8 = 3B7CFFFFA200027C</action>
            <action>maincpu.mq@1FF00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF60 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check error">
        <script state="on">
            <action>maincpu.mw@13F2 = 0002</action> <!-- main cpu -->
            <action>   cpub.mw@0A2E = 0002</action> <!-- cpu b -->
        </script>
        <script state="off">
            <action>maincpu.mw@13F2 = 0148</action>
            <action>   cpub.mw@0A2E = 0042</action>
        </script>
    </cheat>

</mamecheat>
dariuso.xml

Code: Select all

<!-- Darius (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- player -->
            <action>maincpu.mb@094CB = 34</action> <!-- background -->
            <action>maincpu.mb@094DB = AA</action> <!-- boss -->
            <action>maincpu.mb@1FA1C = 60</action> <!-- objects (boss) -->
            <action>   cpub.mb@0D31A = 60</action> <!-- objects -->
            <!-- arm -->
            <action>maincpu.mb@09322 = 60</action> <!-- background -->
            <action>maincpu.mb@1F9EC = 60</action> <!-- objects (boss) -->
            <action>   cpub.mb@0D2EA = 60</action> <!-- objects -->
        </script>
        <script state="off">
            <action>maincpu.mb@094CB = 24</action>
            <action>maincpu.mb@094DB = 2E</action>
            <action>maincpu.mb@1FA1C = 6E</action>
            <action>   cpub.mb@0D31A = 6E</action>
            <action>maincpu.mb@09322 = 67</action>
            <action>maincpu.mb@1F9EC = 6E</action>
            <action>   cpub.mb@0D2EA = 6E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@9096 = 50</action> <!-- shot -->
            <action>maincpu.mb@90CC = 50</action> <!-- bomb -->
        </script>
        <script state="off">
            <action>maincpu.mb@9096 = 52</action>
            <action>maincpu.mb@90CC = 52</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00020000">02       </item>
            <item value="0x00038000">03       </item>
            <item value="0x00040000">04       </item>
            <item value="0x00058000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@0986A = 4EB90001FE004E71</action>
            <action>maincpu.mq@1FE00 = 2E18610ADF992E10</action>
            <action>maincpu.mq@1FE08 = 6104DF914E75203C</action>
            <action>maincpu.mq@1FE10 = 000000004A876706</action>
            <action>maincpu.mq@1FE18 = 6A0244802E004E75</action>
            <!--
            1FE00 | 2E18           : move.l  (A0)+, D7
            1FE02 | 610A           : bsr     $1fe0e
            1FE04 | DF99           : add.l   D7, (A1)+
            1FE06 | 2E10           : move.l  (A0), D7
            1FE08 | 6104           : bsr     $1fe0e
            1FE0A | DF91           : add.l   D7, (A1)
            1FE0C | 4E75           : rts
            1FE0E | 203C xxxx xxxx : move.l  #$xxxx, D0
            1FE14 | 4A87           : tst.l   D7
            1FE16 | 6706           : beq     $1fe1e
            1FE18 | 6A02           : bpl     $1fe1c
            1FE1A | 4480           : neg.l   D0
            1FE1C | 2E00           : move.l  D0, D7
            1FE1E | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@1FE10 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@0986A = 2E18DF992E10DF91</action>
            <action>maincpu.mq@1FE00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE18 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - shot">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0700">02       </item>
            <item value="0x0e00">03       </item>
            <item value="0x1500">04       </item>
            <item value="0x1c00">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- missile -->
            <action>maincpu.mw@B102 = param</action>
            <action>maincpu.mw@B106 = param</action>
            <action>maincpu.mw@B10A = param</action>
            <action>maincpu.mw@B10E = param</action>
            <action>maincpu.mw@B112 = param</action>
            <action>maincpu.mw@B116 = param</action>
            <action>maincpu.mw@B11A = param</action>
            <action>maincpu.mw@B11E = param</action>
            <!-- laser -->
            <action>maincpu.mw@B1AA = param</action>
            <action>maincpu.mw@B1AE = param</action>
            <action>maincpu.mw@B1B2 = param</action>
            <action>maincpu.mw@B1B6 = param</action>
            <action>maincpu.mw@B1BA = param</action>
            <action>maincpu.mw@B1BE = param</action>
            <action>maincpu.mw@B1C2 = param</action>
            <action>maincpu.mw@B1C6 = param</action>
            <!-- wave -->
            <action>maincpu.mw@B2D6 = param</action>
            <action>maincpu.mw@B2DA = param</action>
            <action>maincpu.mw@B2DE = param</action>
            <action>maincpu.mw@B2E2 = param</action>
            <action>maincpu.mw@B2E6 = param</action>
            <action>maincpu.mw@B2EA = param</action>
            <action>maincpu.mw@B2EE = param</action>
            <action>maincpu.mw@B2F2 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@B102 = 0700</action>
            <action>maincpu.mw@B106 = 074D</action>
            <action>maincpu.mw@B10A = 079A</action>
            <action>maincpu.mw@B10E = 0800</action>
            <action>maincpu.mw@B112 = 084D</action>
            <action>maincpu.mw@B116 = 089A</action>
            <action>maincpu.mw@B11A = 0900</action>
            <action>maincpu.mw@B11E = 094D</action>
            <action>maincpu.mw@B1AA = 074D</action>
            <action>maincpu.mw@B1AE = 074D</action>
            <action>maincpu.mw@B1B2 = 079A</action>
            <action>maincpu.mw@B1B6 = 079A</action>
            <action>maincpu.mw@B1BA = 0800</action>
            <action>maincpu.mw@B1BE = 0800</action>
            <action>maincpu.mw@B1C2 = 084D</action>
            <action>maincpu.mw@B1C6 = 084D</action>
            <action>maincpu.mw@B2D6 = 074D</action>
            <action>maincpu.mw@B2DA = 074D</action>
            <action>maincpu.mw@B2DE = 07B3</action>
            <action>maincpu.mw@B2E2 = 07B3</action>
            <action>maincpu.mw@B2E6 = 0800</action>
            <action>maincpu.mw@B2EA = 0800</action>
            <action>maincpu.mw@B2EE = 084D</action>
            <action>maincpu.mw@B2F2 = 084D</action>
        </script>
    </cheat>

    <cheat desc="hidden item finder">
        <script state="on">
            <action>maincpu.mq@0A042 = 4EB90001FE204E71</action>
            <action>maincpu.mq@1FE20 = 2268000C0C690250</action>
            <action>maincpu.mq@1FE28 = 00046406337C0001</action>
            <action>maincpu.mq@1FE30 = 00024A6900024E75</action>
            <!--
            1FE20 | 2268 000C      : movea.l ($c,A0), A1
            1FE24 | 0C69 0250 0004 : cmpi.w  #$250, ($4,A1) // check x position
            1FE2A | 6406           : bcc     $1fe32
            1FE2C | 337C 0001 0002 : move.w  #$1, ($2,A1)   // set hit flag
            1FE32 | 4A69 0002      : tst.w   ($2,A1)
            1FE36 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0A042 = 2268000C4A690002</action>
            <action>maincpu.mq@1FE20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE30 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="boss approaches fast">
        <script state="on">
            <action>maincpu.mq@07E12 = 4EB90001FEB0303B</action>
            <action>maincpu.mq@1FEB0 = 302DAB2C4A7900E0</action>
            <action>maincpu.mq@1FEB8 = 1D1466064A406602</action>
            <action>maincpu.mq@1FEC0 = 7001D0404E75FFFF</action>
            <!--
            1FEB0 | 302D AB2C      : move.w  (-$54d4,A5), D0
            1FEB4 | 4A79 00E0 1D14 : tst.w   $e01d14.l
            1FEBA | 6606           : bne     $1fec2
            1FEBC | 4A40           : tst.w   D0
            1FEBE | 6602           : bne     $1fec2
            1FEC0 | 7001           : moveq   #$1, D0
            1FEC2 | D040           : add.w   D0, D0
            1FEC4 | 4E75           : rts
            -->
            <action>maincpu.mb@7E88 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mq@07E12 = 302DAB2CD040303B</action>
            <action>maincpu.mq@1FF70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FF80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mb@07E88 = 6C              </action>
        </script>
    </cheat>

    <cheat desc="unlock zone select mode">
        <script state="on">
            <action>maincpu.mb@104CE = 60</action>
            <action>maincpu.mb@104E8 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@104CE = 66</action>
            <action>maincpu.mb@104E8 = 66</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@006EC = 4EF90001FE40027C</action>
            <action>maincpu.mq@1FE40 = 41F90008000043F9</action>
            <action>maincpu.mq@1FE48 = 00C00000143C00EF</action>
            <action>maincpu.mq@1FE50 = 60484279000B0000</action>
            <action>maincpu.mq@1FE58 = 4242120010290009</action>
            <action>maincpu.mq@1FE60 = B20067EE0C0000F7</action>
            <action>maincpu.mq@1FE68 = 660253100C0000FB</action>
            <action>maincpu.mq@1FE70 = 660252100C0000FD</action>
            <action>maincpu.mq@1FE78 = 6604041000100C00</action>
            <action>maincpu.mq@1FE80 = 00FE660406100010</action>
            <action>maincpu.mq@1FE88 = 0C0000EF66041410</action>
            <action>maincpu.mq@1FE90 = 60080C0000DF660E</action>
            <action>maincpu.mq@1FE98 = 4202425133420002</action>
            <action>maincpu.mq@1FEA0 = E84A3342000260AA</action>
            <!--
            1FE40 | 41F9 0008 0000 : lea     $80000.l, A0  // sound code address
            1FE46 | 43F9 00C0 0000 : lea     $c00000.l, A1 // sound latch address
            1FE4C | 143C 00EF      : move.b  #$ef, D2
            1FE50 | 6048           : bra     $1fe9a        // initialize sound
            1FE52 | 4279 000B 0000 : clr.w   $b0000.l      // watchdog
            1FE58 | 4242           : clr.w   D2
            1FE5A | 1200           : move.b  D0, D1
            1FE5C | 1029 0009      : move.b  ($9,A1), D0
            1FE60 | B200           : cmp.b   D0, D1
            1FE62 | 67EE           : beq     $1fe52
            1FE64 | 0C00 00F7      : cmpi.b  #-$9, D0
            1FE68 | 6602           : bne     $1fe6c
            1FE6A | 5310           : subq.b  #1, (A0)      // decrease code -01
            1FE6C | 0C00 00FB      : cmpi.b  #-$5, D0
            1FE70 | 6602           : bne     $1fe74
            1FE72 | 5210           : addq.b  #1, (A0)      // increase code +01
            1FE74 | 0C00 00FD      : cmpi.b  #-$3, D0
            1FE78 | 6604           : bne     $1fe7e
            1FE7A | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1FE7E | 0C00 00FE      : cmpi.b  #-$2, D0
            1FE82 | 6604           : bne     $1fe88
            1FE84 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            1FE88 | 0C00 00EF      : cmpi.b  #-$11, D0
            1FE8C | 6604           : bne     $1fe92
            1FE8E | 1410           : move.b  (A0), D2      // play sound
            1FE90 | 6008           : bra     $1fe9a
            1FE92 | 0C00 00DF      : cmpi.b  #-$21, D0
            1FE96 | 660E           : bne     $1fea6
            1FE98 | 4202           : clr.b   D2            // stop sound
            1FE9A | 4251           : clr.w   (A1)
            1FE9C | 3342 0002      : move.w  D2, ($2,A1)
            1FEA0 | E84A           : lsr.w   #4, D2
            1FEA2 | 3342 0002      : move.w  D2, ($2,A1)
            1FEA6 | 60AA           : bra     $1fe52
            -->
        </script>
        <script state="run">
            <output format="----- darius sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"           line="11" align="center" />
            <output format="right : increase code +01"          line="12" align="center" />
            <output format="down : decrease code -10"           line="13" align="center" />
            <output format="up : increase code +10"             line="14" align="center" />
            <output format="button 1 : play sound"              line="15" align="center" />
            <output format="button 2 : stop sound"              line="16" align="center" />
            <output format="----------------------------"       line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"  line="19" align="center"  >
                <argument>maincpu.pb@80000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@006EC = 3B7CFFFFA200027C</action>
            <action>maincpu.mq@1FE40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FE98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1FEA0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>

[darius]+ Darius

Posted: Mon Dec 18, 2023 10:23 am
by jman
dariuse.xml

Code: Select all

<!-- Darius Extra Version (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- player -->
            <action>maincpu.mb@09A13 = 34</action> <!-- background -->
            <action>maincpu.mb@09A23 = DE</action> <!-- boss -->
            <action>maincpu.mb@1E586 = 60</action> <!-- objects (boss) -->
            <action>   cpub.mb@0D318 = 60</action> <!-- objects -->
            <!-- arm -->
            <action>maincpu.mb@0986A = 60</action> <!-- background -->
            <action>maincpu.mb@1E556 = 60</action> <!-- objects (boss) -->
            <action>   cpub.mb@0D2E8 = 60</action> <!-- objects -->
        </script>
        <script state="off">
            <action>maincpu.mb@09A13 = 24</action>
            <action>maincpu.mb@09A23 = 62</action>
            <action>maincpu.mb@1E586 = 6E</action>
            <action>   cpub.mb@0D318 = 6E</action>
            <action>maincpu.mb@0986A = 67</action>
            <action>maincpu.mb@1E556 = 6E</action>
            <action>   cpub.mb@0D2E8 = 6E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@95DE = 50</action> <!-- shot -->
            <action>maincpu.mb@9614 = 50</action> <!-- bomb -->
        </script>
        <script state="off">
            <action>maincpu.mb@95DE = 52</action>
            <action>maincpu.mb@9614 = 52</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00020000">02       </item>
            <item value="0x00038000">03       </item>
            <item value="0x00040000">04       </item>
            <item value="0x00058000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@09DB2 = 4EB90001E9704E71</action>
            <action>maincpu.mq@1E970 = 2E18610ADF992E10</action>
            <action>maincpu.mq@1E978 = 6104DF914E75203C</action>
            <action>maincpu.mq@1E980 = 000000004A876706</action>
            <action>maincpu.mq@1E988 = 6A0244802E004E75</action>
            <!--
            1E970 | 2E18           : move.l  (A0)+, D7
            1E972 | 610A           : bsr     $1f97e
            1E974 | DF99           : add.l   D7, (A1)+
            1E976 | 2E10           : move.l  (A0), D7
            1E978 | 6104           : bsr     $1f97e
            1E97A | DF91           : add.l   D7, (A1)
            1E97C | 4E75           : rts
            1E97E | 203C xxxx xxxx : move.l  #$xxxx, D0
            1E984 | 4A87           : tst.l   D7
            1E986 | 6706           : beq     $1f98e
            1E988 | 6A02           : bpl     $1f98c
            1E98A | 4480           : neg.l   D0
            1E98C | 2E00           : move.l  D0, D7
            1E98E | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@1E980 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@09DB2 = 2E18DF992E10DF91</action>
            <action>maincpu.mq@1E970 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1E978 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1E980 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1E988 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - shot">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0700">02       </item>
            <item value="0x0e00">03       </item>
            <item value="0x1500">04       </item>
            <item value="0x1c00">05 (fast)</item>
        </parameter>
        <script state="change">
            <!-- missile -->
            <action>maincpu.mw@B692 = param</action>
            <action>maincpu.mw@B696 = param</action>
            <action>maincpu.mw@B69A = param</action>
            <action>maincpu.mw@B69E = param</action>
            <action>maincpu.mw@B6A2 = param</action>
            <action>maincpu.mw@B6A6 = param</action>
            <action>maincpu.mw@B6AA = param</action>
            <action>maincpu.mw@B6AE = param</action>
            <!-- laser -->
            <action>maincpu.mw@B73A = param</action>
            <action>maincpu.mw@B73E = param</action>
            <action>maincpu.mw@B742 = param</action>
            <action>maincpu.mw@B746 = param</action>
            <action>maincpu.mw@B74A = param</action>
            <action>maincpu.mw@B74E = param</action>
            <action>maincpu.mw@B752 = param</action>
            <action>maincpu.mw@B756 = param</action>
            <!-- wave -->
            <action>maincpu.mw@B866 = param</action>
            <action>maincpu.mw@B86A = param</action>
            <action>maincpu.mw@B86E = param</action>
            <action>maincpu.mw@B872 = param</action>
            <action>maincpu.mw@B876 = param</action>
            <action>maincpu.mw@B87A = param</action>
            <action>maincpu.mw@B87E = param</action>
            <action>maincpu.mw@B882 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@B692 = 0700</action>
            <action>maincpu.mw@B696 = 074D</action>
            <action>maincpu.mw@B69A = 079A</action>
            <action>maincpu.mw@B69E = 0800</action>
            <action>maincpu.mw@B6A2 = 084D</action>
            <action>maincpu.mw@B6A6 = 089A</action>
            <action>maincpu.mw@B6AA = 0900</action>
            <action>maincpu.mw@B6AE = 094D</action>
            <action>maincpu.mw@B73A = 074D</action>
            <action>maincpu.mw@B73E = 074D</action>
            <action>maincpu.mw@B742 = 079A</action>
            <action>maincpu.mw@B746 = 079A</action>
            <action>maincpu.mw@B74A = 0800</action>
            <action>maincpu.mw@B74E = 0800</action>
            <action>maincpu.mw@B752 = 084D</action>
            <action>maincpu.mw@B756 = 084D</action>
            <action>maincpu.mw@B866 = 074D</action>
            <action>maincpu.mw@B86A = 074D</action>
            <action>maincpu.mw@B86E = 07B3</action>
            <action>maincpu.mw@B872 = 07B3</action>
            <action>maincpu.mw@B876 = 0800</action>
            <action>maincpu.mw@B87A = 0800</action>
            <action>maincpu.mw@B87E = 084D</action>
            <action>maincpu.mw@B882 = 084D</action>
        </script>
    </cheat>

    <cheat desc="hidden item finder">
        <script state="on">
            <action>maincpu.mq@0A5D2 = 4EB90001E9904E71</action>
            <action>maincpu.mq@1E990 = 2268000C0C690250</action>
            <action>maincpu.mq@1E998 = 00046406337C0001</action>
            <action>maincpu.mq@1E9A0 = 00024A6900024E75</action>
            <!--
            1E990 | 2268 000C      : movea.l ($c,A0), A1
            1E994 | 0C69 0250 0004 : cmpi.w  #$250, ($4,A1) // check x position
            1E99A | 6406           : bcc     $1e9a2
            1E99C | 337C 0001 0002 : move.w  #$1, ($2,A1)   // set hit flag
            1E9A2 | 4A69 0002      : tst.w   ($2,A1)
            1E9A6 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0A5D2 = 2268000C4A690002</action>
            <action>maincpu.mq@1E990 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1E998 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1E9A0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="boss approaches fast">
        <script state="on">
            <action>maincpu.mq@07F38 = 4EB90001EA20303B</action>
            <action>maincpu.mq@1EA20 = 302DAB664A7900E0</action>
            <action>maincpu.mq@1EA28 = 1D1466064A406602</action>
            <action>maincpu.mq@1EA30 = 7001D0404E75FFFF</action>
            <!--
            1EA20 | 302D AB66      : move.w  (-$549a,A5), D0
            1EA24 | 4A79 00E0 1D14 : tst.w   $e01d14.l
            1EA2A | 6606           : bne     $1ea32
            1EA2C | 4A40           : tst.w   D0
            1EA2E | 6602           : bne     $1ea32
            1EA30 | 7001           : moveq   #$1, D0
            1EA32 | D040           : add.w   D0, D0
            1EA34 | 4E75           : rts
            -->
            <action>maincpu.mb@7FAE = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mq@07F38 = 302DAB66D040303B</action>
            <action>maincpu.mq@1EA20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1EA28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1EA30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mb@07FAE = 6C              </action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mq@00702 = 4EF90001E9B0027C</action>
            <action>maincpu.mq@1E9B0 = 41F90008000043F9</action>
            <action>maincpu.mq@1E9B8 = 00C00000143C00EF</action>
            <action>maincpu.mq@1E9C0 = 60484279000B0000</action>
            <action>maincpu.mq@1E9C8 = 4242120010290009</action>
            <action>maincpu.mq@1E9D0 = B20067EE0C0000F7</action>
            <action>maincpu.mq@1E9D8 = 660253100C0000FB</action>
            <action>maincpu.mq@1E9E0 = 660252100C0000FD</action>
            <action>maincpu.mq@1E9E8 = 6604041000100C00</action>
            <action>maincpu.mq@1E9F0 = 00FE660406100010</action>
            <action>maincpu.mq@1E9F8 = 0C0000EF66041410</action>
            <action>maincpu.mq@1EA00 = 60080C0000DF660E</action>
            <action>maincpu.mq@1EA08 = 4202425133420002</action>
            <action>maincpu.mq@1EA10 = E84A3342000260AA</action>
            <!--
            1E9B0 | 41F9 0008 0000 : lea     $80000.l, A0  // sound code address
            1E9B6 | 43F9 00C0 0000 : lea     $c00000.l, A1 // sound latch address
            1E9BC | 143C 00EF      : move.b  #$ef, D2
            1E9C0 | 6048           : bra     $1ea0a        // initialize sound
            1E9C2 | 4279 000B 0000 : clr.w   $b0000.l      // watchdog
            1E9C8 | 4242           : clr.w   D2
            1E9CA | 1200           : move.b  D0, D1
            1E9CC | 1029 0009      : move.b  ($9,A1), D0
            1E9D0 | B200           : cmp.b   D0, D1
            1E9D2 | 67EE           : beq     $1e9c2
            1E9D4 | 0C00 00F7      : cmpi.b  #-$9, D0
            1E9D8 | 6602           : bne     $1e9dc
            1E9DA | 5310           : subq.b  #1, (A0)      // decrease code -01
            1E9DC | 0C00 00FB      : cmpi.b  #-$5, D0
            1E9E0 | 6602           : bne     $1e9e4
            1E9E2 | 5210           : addq.b  #1, (A0)      // increase code +01
            1E9E4 | 0C00 00FD      : cmpi.b  #-$3, D0
            1E9E8 | 6604           : bne     $1e9ee
            1E9EA | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            1E9EE | 0C00 00FE      : cmpi.b  #-$2, D0
            1E9F2 | 6604           : bne     $1e9f8
            1E9F4 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            1E9F8 | 0C00 00EF      : cmpi.b  #-$11, D0
            1E9FC | 6604           : bne     $1ea02
            1E9FE | 1410           : move.b  (A0), D2      // play sound
            1EA00 | 6008           : bra     $1ea0a
            1EA02 | 0C00 00DF      : cmpi.b  #-$21, D0
            1EA06 | 660E           : bne     $1ea16
            1EA08 | 4202           : clr.b   D2            // stop sound
            1EA0A | 4251           : clr.w   (A1)
            1EA0C | 3342 0002      : move.w  D2, ($2,A1)
            1FA10 | E84A           : lsr.w   #4, D2
            1FA12 | 3342 0002      : move.w  D2, ($2,A1)
            1FA16 | 60AA           : bra     $1e9c2
            -->
        </script>
        <script state="run">
            <output format="----- darius sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"           line="11" align="center" />
            <output format="right : increase code +01"          line="12" align="center" />
            <output format="down : decrease code -10"           line="13" align="center" />
            <output format="up : increase code +10"             line="14" align="center" />
            <output format="button 1 : play sound"              line="15" align="center" />
            <output format="button 2 : stop sound"              line="16" align="center" />
            <output format="----------------------------"       line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"  line="19" align="center"  >
                <argument>maincpu.pb@80000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@00702 = 3B7CFFFFA200027C</action>
            <action>maincpu.mq@1E9B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1E9B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1E9C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1E9C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1E9D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1E9D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1E9E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1E9E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1E9F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1E9F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1EA00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1EA08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@1EA10 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check error">
        <script state="on">
            <action>maincpu.mw@1420 = 0002</action> <!-- main cpu -->
            <action>   cpub.mw@0A2E = 0002</action> <!-- cpu b -->
        </script>
        <script state="off">
            <action>maincpu.mw@1420 = 0148</action>
            <action>   cpub.mw@0A2E = 0042</action>
        </script>
    </cheat>

</mamecheat>
  • "hidden item finder", "boss approaches fast" : Added new.
  • "unlock zone select mode" : dariuse doesn't have this code because zone selection routine is removed.
  • "skip rom check error" : dariuso doesn't have this code because doesn't check ROM error flag.