[dariusj] Darius

This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
Post Reply
jman
Posts: 842
Joined: Tue Dec 01, 2020 1:24 pm

[dariusj] Darius

Post 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>
jman
Posts: 842
Joined: Tue Dec 01, 2020 1:24 pm

[dariusj]+ Darius

Post 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>
jman
Posts: 842
Joined: Tue Dec 01, 2020 1:24 pm

[darius]+ Darius

Post 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.
Post Reply