[ashuraj] Ashura Blaster

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: 843
Joined: Tue Dec 01, 2020 1:24 pm

[ashuraj] Ashura Blaster

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@7276 = 60</action> <!-- enemy -->
        <action>maincpu.mb@779c = 60</action> <!-- bullet -->
        <action>maincpu.mb@7eec = 60</action> <!-- middle enemy -->
        <action>maincpu.mb@a35e = 60</action> <!-- laser -->
    </script>
    <script state="off">
        <action>maincpu.mb@7276 = 64</action>
        <action>maincpu.mb@779c = 64</action>
        <action>maincpu.mb@7eec = 64</action>
        <action>maincpu.mb@a35e = 64</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@0b05 = 01</action>
    </script>
    <script state="off">
        <action>maincpu.mb@0b05 = 40</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x05" step="0x01" />
    <script state="on">
        <action>maincpu.mq@02544 = 4eb9000470d03210</action> <!-- y position -->
        <action>maincpu.mq@02578 = 4eb9000470da0241</action> <!-- x position -->
        <action>maincpu.mq@470d0 = d1fc00000054610c</action>
        <action>maincpu.mq@470d8 = 4e75301132106104</action>
        <action>maincpu.mq@470e0 = d2404e7574054a40</action>
        <action>maincpu.mq@470e8 = 67066a0244423002</action>
        <action>maincpu.mq@470f0 = 4e75ffffffffffff</action>
        <!--
        470d0 | d1fc 0000 0054 : adda.l #$54,A0 // y position
        470d6 | 610c           : bsr    $470e4
        470d8 | 4e75           : rts
        470da | 3011           : move.w (A1),D0 // x position
        470dc | 3210           : move.w (A0),D1
        470de | 6104           : bsr    $470e4
        470e0 | d240           : add.w  D0,D1
        470e2 | 4e75           : rts
        470e4 | 74xx           : moveq  #$xx,D2
        470e6 | 4a40           : tst.w  D0
        470e8 | 6706           : beq    $470f0
        470ea | 6a02           : bpl    $470ee
        470ec | 4442           : neg.w  D2
        470ee | 3002           : move.w D2,D0
        470f0 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.mb@470e5 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@02544 = d1fc000000543210</action>
        <action>maincpu.mq@02578 = 30113210d2400241</action>
        <action>maincpu.mq@470d0 = ffffffffffffffff</action>
        <action>maincpu.mq@470d8 = ffffffffffffffff</action>
        <action>maincpu.mq@470e0 = ffffffffffffffff</action>
        <action>maincpu.mq@470e8 = ffffffffffffffff</action>
        <action>maincpu.mq@470f0 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x01">01</item>
        <item value="0x08">02</item>
        <item value="0x10">03</item>
        <item value="0x18">04</item>
        <item value="0x20">05</item>
    </parameter>
    <script state="on">
        <action>maincpu.mq@0362c = 4eb9000471003142</action>
        <action>maincpu.mq@47100 = 4a406b027010d440</action>
        <action>maincpu.mq@47108 = 024203ff4e75ffff</action>
        <!--
        47100 | 4a40           : tst.w  D0
        47102 | 6b02           : bmi    $47106
        47104 | 70xx           : moveq  #$xx,D0
        47106 | d440           : add.w  D0,D2
        47108 | 0242 03ff      : andi.w #$3ff,D2
        4710c | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.mb@47105 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@0362c = d440024203ff3142</action>
        <action>maincpu.mq@47100 = ffffffffffffffff</action>
        <action>maincpu.mq@47108 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="max bullets up">
    <script state="on">
        <action>maincpu.mw@3354 = 7208</action>
    </script>
    <script state="off">
        <action>maincpu.mw@3354 = 3211</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@16958 =             4e75</action> <!-- sound routine stopper -->
        <action>maincpu.mq@12baa = 4ef9000471103c3c</action>
        <action>maincpu.mq@47110 = 41f90060100043f9</action>
        <action>maincpu.mq@47118 = 00601a7313c000a0</action>
        <action>maincpu.mq@47120 = 00001401123900a0</action>
        <action>maincpu.mq@47128 = 0004b40167ee0c01</action>
        <action>maincpu.mq@47130 = 00fb660253100c01</action>
        <action>maincpu.mq@47138 = 00f7660252100c01</action>
        <action>maincpu.mq@47140 = 00fd660404100010</action>
        <action>maincpu.mq@47148 = 0c0100fe66040610</action>
        <action>maincpu.mq@47150 = 00100c0100ef6604</action>
        <action>maincpu.mq@47158 = 129060080c0100df</action>
        <action>maincpu.mq@47160 = 660842114eb90001</action>
        <action>maincpu.mq@47168 = 693460b0ffffffff</action>
        <!--
        47110 | 41f9 0060 1000 : lea    $601000.l,A0 // sound code address
        47116 | 43f9 0060 1a73 : lea    $601a73.l,A1 // sound address
        4711c | 13c0 00a0 0000 : move.b D0,$a00000.l // watchdog
        47122 | 1401           : move.b D1,D2
        47124 | 1239 00a0 0004 : move.b $a00004.l,D1 // read input
        4712a | b401           : cmp.b  D1,D2
        4712c | 67ee           : beq    $4711c
        4712e | 0c01 00fb      : cmpi.b #-$5,D1
        47132 | 6602           : bne    $47136
        47134 | 5310           : subq.b #1,(A0)      // decrease code -01
        47136 | 0c01 00f7      : cmpi.b #-$9,D1
        4713a | 6602           : bne    $4713e
        4713c | 5210           : addq.b #1,(A0)      // increase code +01
        4713e | 0c01 00fd      : cmpi.b #-$3,D1
        47142 | 6604           : bne    $47148
        47144 | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        47148 | 0c01 00fe      : cmpi.b #-$2,D1
        4714c | 6604           : bne    $47152
        4714e | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        47152 | 0c01 00ef      : cmpi.b #-$11,D1
        47156 | 6604           : bne    $4715c
        47158 | 1290           : move.b (A0),(A1)    // play sound
        4715a | 6008           : bra    $47164
        4715c | 0c01 00df      : cmpi.b #-$21,D1
        47160 | 6608           : bne    $4716a
        47162 | 4211           : clr.b  (A1)         // stop sound
        47164 | 4eb9 0001 6934 : jsr    $16934.l     // send sound code
        4716a | 60b0           : bra    $4711c
        -->
    </script>
    <script state="run">
        <output format="----- ashura blaster 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@601000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@16958 =             43f9</action>
        <action>maincpu.mq@12baa = 4df900012c123c3c</action>
        <action>maincpu.mq@47110 = ffffffffffffffff</action>
        <action>maincpu.mq@47118 = ffffffffffffffff</action>
        <action>maincpu.mq@47120 = ffffffffffffffff</action>
        <action>maincpu.mq@47128 = ffffffffffffffff</action>
        <action>maincpu.mq@47130 = ffffffffffffffff</action>
        <action>maincpu.mq@47138 = ffffffffffffffff</action>
        <action>maincpu.mq@47140 = ffffffffffffffff</action>
        <action>maincpu.mq@47148 = ffffffffffffffff</action>
        <action>maincpu.mq@47150 = ffffffffffffffff</action>
        <action>maincpu.mq@47158 = ffffffffffffffff</action>
        <action>maincpu.mq@47160 = ffffffffffffffff</action>
        <action>maincpu.mq@47168 = ffffffffffffffff</action>
    </script>
</cheat>
If you set "player speed" with 0x03 or faster then hold down key, player character goes to out of screen.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[ashura]+ Ashura Blaster

Post by jman »

ashura.xml

Code: Select all

<!-- Ashura Blaster (World) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@726E = 60</action> <!-- enemy -->
            <action>maincpu.mb@7794 = 60</action> <!-- bullet -->
            <action>maincpu.mb@7EE4 = 60</action> <!-- middle enemy -->
            <action>maincpu.mb@A338 = 60</action> <!-- laser -->
        </script>
        <script state="off">
            <action>maincpu.mb@726E = 64</action>
            <action>maincpu.mb@7794 = 64</action>
            <action>maincpu.mb@7EE4 = 64</action>
            <action>maincpu.mb@A338 = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@0B05 = 01</action> <!-- P1 -->
            <action>maincpu.mb@0B53 = 01</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@0B05 = 40</action>
            <action>maincpu.mb@0B53 = 40</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mq@0255C = 4EB90004A0400C41</action> <!-- y position -->
            <action>maincpu.mq@0258C = 4EB90004A04C0C41</action> <!-- x position -->
            <action>maincpu.mq@4A040 = 61166A0272010241</action>
            <action>maincpu.mq@4A048 = 03FF4E75610A6A02</action>
            <action>maincpu.mq@4A050 = 7208024103FF4E75</action>
            <action>maincpu.mq@4A058 = 74004A4067066A02</action>
            <action>maincpu.mq@4A060 = 44423002D2404E75</action>
            <!--
            4A040 | 6116      : bsr    $4a058   // y-position
            4A042 | 6A02      : bpl    $4a046
            4A044 | 7201      : moveq  #$1,D1
            4A046 | 0241 03FF : andi.w #$3ff,D1
            4A04A | 4E75      : rts
            4A04C | 610A      : bsr    $4a058   // x-position
            4A04E | 6A02      : bpl    $4a052
            4A050 | 7208      : moveq  #$8,D1
            4A052 | 0241 03FF : andi.w #$3ff,D1
            4A056 | 4E75      : rts
            4A058 | 74xx      : moveq  #$xx,D2
            4A05A | 4A40      : tst.w  D0
            4A05C | 6706      : beq    $4a064
            4A05E | 6A02      : bpl    $4a062
            4A060 | 4442      : neg.w  D2
            4A062 | 3002      : move.w D2,D0
            4A064 | D240      : add.w  D0,D1
            4A066 | 4E75      : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@4A059 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@0255C = D240024103FF0C41</action>
            <action>maincpu.mq@0258C = D240024103FF0C41</action>
            <action>maincpu.mq@4A040 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A048 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A050 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A058 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A060 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x10">03       </item>
            <item value="0x18">04       </item>
            <item value="0x20">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@03624 = 4EB90004A0703142</action>
            <action>maincpu.mq@4A070 = 4A406B027000D440</action>
            <action>maincpu.mq@4A078 = 024203FF4E75FFFF</action>
            <!--
            4A070 | 4A40      : tst.w  D0
            4A072 | 6B02      : bmi    $4a076
            4A074 | 70xx      : moveq  #$xx,D0
            4A076 | D440      : add.w  D0,D2
            4A078 | 0242 03FF : andi.w #$3ff,D2
            4A07C | 4E75      : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@4A075 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@03624 = D440024203FF3142</action>
            <action>maincpu.mq@4A070 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A078 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mw@334C = 7208</action>
        </script>
        <script state="off">
            <action>maincpu.mw@334C = 3211</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@1620E = 4E75            </action> <!-- sound routine stopper -->
            <action>maincpu.mq@12AAA = 4EF90004A080303C</action>
            <action>maincpu.mq@4A080 = 41F90060000043E8</action>
            <action>maincpu.mq@4A088 = 1A6B13C000A00000</action>
            <action>maincpu.mq@4A090 = 1401123900A00004</action>
            <action>maincpu.mq@4A098 = B40167EE0C0100FB</action>
            <action>maincpu.mq@4A0A0 = 660253100C0100F7</action>
            <action>maincpu.mq@4A0A8 = 660252100C0100FD</action>
            <action>maincpu.mq@4A0B0 = 6604041000100C01</action>
            <action>maincpu.mq@4A0B8 = 00FE660406100010</action>
            <action>maincpu.mq@4A0C0 = 0C0100EF66041290</action>
            <action>maincpu.mq@4A0C8 = 60080C0100DF6608</action>
            <action>maincpu.mq@4A0D0 = 42114EB9000161EA</action>
            <action>maincpu.mq@4A0D8 = 60B0FFFFFFFFFFFF</action>
            <!--
            4A080 | 41F9 0060 0000 : lea    $600000.l,A0  // sound code address
            4A086 | 43E8 1A6B      : lea    ($1a6b,A0),A1 // sound latch address ($601a6b)
            4A08A | 13C0 00A0 0000 : move.b D0,$a00000.l  // watchdog
            4A090 | 1401           : move.b D1,D2
            4A092 | 1239 00A0 0004 : move.b $a00004.l,D1  // read input
            4A098 | B401           : cmp.b  D1,D2
            4A09A | 67EE           : beq    $4a08a
            4A09C | 0C01 00FB      : cmpi.b #-$5,D1
            4A0A0 | 6602           : bne    $4a0a4
            4A0A2 | 5310           : subq.b #1,(A0)       // decrease code -01
            4A0A4 | 0C01 00F7      : cmpi.b #-$9,D1
            4A0A8 | 6602           : bne    $4a0ac
            4A0AA | 5210           : addq.b #1,(A0)       // increase code +01
            4A0AC | 0C01 00FD      : cmpi.b #-$3,D1
            4A0B0 | 6604           : bne    $4a0b6
            4A0B2 | 0410 0010      : subi.b #$10,(A0)     // decrease code -10
            4A0B6 | 0C01 00FE      : cmpi.b #-$2,D1
            4A0BA | 6604           : bne    $4a0c0
            4A0BC | 0610 0010      : addi.b #$10,(A0)     // increase code +10
            4A0C0 | 0C01 00EF      : cmpi.b #-$11,D1
            4A0C4 | 6604           : bne    $4a0ca
            4A0C6 | 1290           : move.b (A0),(A1)     // play sound
            4A0C8 | 6008           : bra    $4a0d2
            4A0CA | 0C01 00DF      : cmpi.b #-$21,D1
            4A0CE | 6608           : bne    $4a0d8
            4A0D0 | 4211           : clr.b  (A1)          // stop sound
            4A0D2 | 4EB9 0001 61EA : jsr    $161ea.l      // send sound code
            4A0D8 | 60B0           : bra    $4a08a
            -->
        </script>
        <script state="run">
            <output format="----- ashura blaster 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 %2.2X &gt;&gt;"         line="19" align="center"  >
                <argument>maincpu.pb@600000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@1620E = 43F9            </action>
            <action>maincpu.mq@12AAA = 207C0040810E303C</action>
            <action>maincpu.mq@4A080 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A088 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A090 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A098 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
ashuraj.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@7276 = 60</action> <!-- enemy -->
            <action>maincpu.mb@779C = 60</action> <!-- bullet -->
            <action>maincpu.mb@7EEC = 60</action> <!-- middle enemy -->
            <action>maincpu.mb@A35E = 60</action> <!-- laser -->
        </script>
        <script state="off">
            <action>maincpu.mb@7276 = 64</action>
            <action>maincpu.mb@779C = 64</action>
            <action>maincpu.mb@7EEC = 64</action>
            <action>maincpu.mb@A35E = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@0B05 = 01</action> <!-- P1 -->
            <action>maincpu.mb@0B53 = 01</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@0B05 = 40</action>
            <action>maincpu.mb@0B53 = 40</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mq@0254C = 4EB9000470D00C41</action> <!-- y position -->
            <action>maincpu.mq@0257C = 4EB9000470DC0C41</action> <!-- x position -->
            <action>maincpu.mq@470D0 = 61166A0272010241</action>
            <action>maincpu.mq@470D8 = 03FF4E75610A6A02</action>
            <action>maincpu.mq@470E0 = 7208024103FF4E75</action>
            <action>maincpu.mq@470E8 = 74004A4067066A02</action>
            <action>maincpu.mq@470F0 = 44423002D2404E75</action>
            <!--
            470D0 | 6116      : bsr    $470e8   // y-position
            470D2 | 6A02      : bpl    $470d6
            470D4 | 7201      : moveq  #$1,D1
            470D6 | 0241 03FF : andi.w #$3ff,D1
            470DA | 4E75      : rts
            470DC | 610A      : bsr    $470e8   // x-position
            470DE | 6A02      : bpl    $470e2
            470E0 | 7208      : moveq  #$8,D1
            470E2 | 0241 03FF : andi.w #$3ff,D1
            470E6 | 4E75      : rts
            470E8 | 74xx      : moveq  #$xx,D2
            470EA | 4A40      : tst.w  D0
            470EC | 6706      : beq    $470f4
            470EE | 6A02      : bpl    $470f2
            470F0 | 4442      : neg.w  D2
            470F2 | 3002      : move.w D2,D0
            470F4 | D240      : add.w  D0,D1
            470F6 | 4E75      : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@470E9 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@0254C = D240024103FF0C41</action>
            <action>maincpu.mq@0257C = D240024103FF0C41</action>
            <action>maincpu.mq@470D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@470D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@470E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@470E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@470F0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x10">03       </item>
            <item value="0x18">04       </item>
            <item value="0x20">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@0362C = 4EB9000471003142</action>
            <action>maincpu.mq@47100 = 4A406B027000D440</action>
            <action>maincpu.mq@47108 = 024203FF4E75FFFF</action>
            <!--
            47100 | 4A40      : tst.w  D0
            47102 | 6B02      : bmi    $47106
            47104 | 70xx      : moveq  #$xx,D0
            47106 | D440      : add.w  D0,D2
            47108 | 0242 03FF : andi.w #$3ff,D2
            4710C | 4E75      : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@47105 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@0362C = D440024203FF3142</action>
            <action>maincpu.mq@47100 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47108 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mw@3354 = 7208</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3354 = 3211</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@16958 = 4E75            </action> <!-- sound routine stopper -->
            <action>maincpu.mq@12BAA = 4EF9000471103C3C</action>
            <action>maincpu.mq@47110 = 41F90060000043E8</action>
            <action>maincpu.mq@47118 = 1A7313C000A00000</action>
            <action>maincpu.mq@47120 = 1401123900A00004</action>
            <action>maincpu.mq@47128 = B40167EE0C0100FB</action>
            <action>maincpu.mq@47130 = 660253100C0100F7</action>
            <action>maincpu.mq@47138 = 660252100C0100FD</action>
            <action>maincpu.mq@47140 = 6604041000100C01</action>
            <action>maincpu.mq@47148 = 00FE660406100010</action>
            <action>maincpu.mq@47150 = 0C0100EF66041290</action>
            <action>maincpu.mq@47158 = 60080C0100DF6608</action>
            <action>maincpu.mq@47160 = 42114EB900016934</action>
            <action>maincpu.mq@47168 = 60B0FFFFFFFFFFFF</action>
            <!--
            47110 | 41F9 0060 0000 : lea    $600000.l,A0  // sound code address
            47116 | 43E8 1A73      : lea    ($1a73,A0),A1 // sound latch address ($601a73)
            4711A | 13C0 00A0 0000 : move.b D0,$a00000.l  // watchdog
            47120 | 1401           : move.b D1,D2
            47122 | 1239 00A0 0004 : move.b $a00004.l,D1  // read input
            47128 | B401           : cmp.b  D1,D2
            4712A | 67EE           : beq    $4711a
            4712C | 0C01 00FB      : cmpi.b #-$5,D1
            47130 | 6602           : bne    $47134
            47132 | 5310           : subq.b #1,(A0)       // decrease code -01
            47134 | 0C01 00F7      : cmpi.b #-$9,D1
            47138 | 6602           : bne    $4713c
            4713A | 5210           : addq.b #1,(A0)       // increase code +01
            4713C | 0C01 00FD      : cmpi.b #-$3,D1
            47140 | 6604           : bne    $47146
            47142 | 0410 0010      : subi.b #$10,(A0)     // decrease code -10
            47146 | 0C01 00FE      : cmpi.b #-$2,D1
            4714A | 6604           : bne    $47150
            4714C | 0610 0010      : addi.b #$10,(A0)     // increase code +10
            47150 | 0C01 00EF      : cmpi.b #-$11,D1
            47154 | 6604           : bne    $4715a
            47156 | 1290           : move.b (A0),(A1)     // play sound
            47158 | 6008           : bra    $47162
            4715A | 0C01 00DF      : cmpi.b #-$21,D1
            4715E | 6608           : bne    $47168
            47160 | 4211           : clr.b  (A1)          // stop sound
            47162 | 4EB9 0001 6934 : jsr    $16934.l      // send sound code
            47168 | 60B0           : bra    $4711a
            -->
        </script>
        <script state="run">
            <output format="----- ashura blaster 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 %2.2X &gt;&gt;"         line="19" align="center"  >
                <argument>maincpu.pb@600000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@16958 = 43F9            </action>
            <action>maincpu.mq@12BAA = 4DF900012C123C3C</action>
            <action>maincpu.mq@47110 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47118 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47120 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47128 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47130 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47138 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47140 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47148 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47150 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47158 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47160 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@47168 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
ashurau.xml

Code: Select all

<!-- Ashura Blaster (US) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@7C5E = 60</action> <!-- enemy -->
            <action>maincpu.mb@8184 = 60</action> <!-- bullet -->
            <action>maincpu.mb@88D4 = 60</action> <!-- middle enemy -->
            <action>maincpu.mb@AD46 = 60</action> <!-- laser -->
        </script>
        <script state="off">
            <action>maincpu.mb@7C5E = 64</action>
            <action>maincpu.mb@8184 = 64</action>
            <action>maincpu.mb@88D4 = 64</action>
            <action>maincpu.mb@AD46 = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@0B1D = 01</action> <!-- P1 -->
            <action>maincpu.mb@0B6B = 01</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@0B1D = 40</action>
            <action>maincpu.mb@0B6B = 40</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>maincpu.mq@02618 = 4EB90004A0500C41</action> <!-- y position -->
            <action>maincpu.mq@02648 = 4EB90004A05C0C41</action> <!-- x position -->
            <action>maincpu.mq@4A050 = 61166A0272010241</action>
            <action>maincpu.mq@4A058 = 03FF4E75610A6A02</action>
            <action>maincpu.mq@4A060 = 7208024103FF4E75</action>
            <action>maincpu.mq@4A068 = 74004A4067066A02</action>
            <action>maincpu.mq@4A070 = 44423002D2404E75</action>
            <!--
            4A050 | 6116      : bsr    $4a068   // y-position
            4A052 | 6A02      : bpl    $4a056
            4A054 | 7201      : moveq  #$1,D1
            4A056 | 0241 03FF : andi.w #$3ff,D1
            4A05A | 4E75      : rts
            4A05C | 610A      : bsr    $4a068   // x-position
            4A05E | 6A02      : bpl    $4a062
            4A060 | 7208      : moveq  #$8,D1
            4A062 | 0241 03FF : andi.w #$3ff,D1
            4A066 | 4E75      : rts
            4A068 | 74xx      : moveq  #$xx,D2
            4A06A | 4A40      : tst.w  D0
            4A06C | 6706      : beq    $4a074
            4A06E | 6A02      : bpl    $4a072
            4A070 | 4442      : neg.w  D2
            4A072 | 3002      : move.w D2,D0
            4A074 | D240      : add.w  D0,D1
            4A076 | 4E75      : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@4A069 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@02618 = D240024103FF0C41</action>
            <action>maincpu.mq@02648 = D240024103FF0C41</action>
            <action>maincpu.mq@4A050 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A058 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A060 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A068 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A070 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x10">03       </item>
            <item value="0x18">04       </item>
            <item value="0x20">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@03FFE = 4EB90004A0803142</action>
            <action>maincpu.mq@4A080 = 4A406B027000D440</action>
            <action>maincpu.mq@4A088 = 024203FF4E75FFFF</action>
            <!--
            4A080 | 4A40      : tst.w  D0
            4A082 | 6B02      : bmi    $4a086
            4A084 | 70xx      : moveq  #$xx,D0
            4A086 | D440      : add.w  D0,D2
            4A088 | 0242 03FF : andi.w #$3ff,D2
            4A08C | 4E75      : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@4A085 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@03FFE = D440024203FF3142</action>
            <action>maincpu.mq@4A080 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A088 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="max bullets up">
        <script state="on">
            <action>maincpu.mw@3D26 = 7208</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3D26 = 3211</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@1966A = 4E75            </action> <!-- sound routine stopper -->
            <action>maincpu.mq@1357C = 4EF90004A090303C</action>
            <action>maincpu.mq@4A090 = 41F90060000043E8</action>
            <action>maincpu.mq@4A098 = 1A7713C000A00000</action>
            <action>maincpu.mq@4A0A0 = 1401123900A00004</action>
            <action>maincpu.mq@4A0A8 = B40167EE0C0100FB</action>
            <action>maincpu.mq@4A0B0 = 660253100C0100F7</action>
            <action>maincpu.mq@4A0B8 = 660252100C0100FD</action>
            <action>maincpu.mq@4A0C0 = 6604041000100C01</action>
            <action>maincpu.mq@4A0C8 = 00FE660406100010</action>
            <action>maincpu.mq@4A0D0 = 0C0100EF66041290</action>
            <action>maincpu.mq@4A0D8 = 60080C0100DF6608</action>
            <action>maincpu.mq@4A0E0 = 42114EB900019646</action>
            <action>maincpu.mq@4A0E8 = 60B0FFFFFFFFFFFF</action>
            <!--
            4A090 | 41F9 0060 0000 : lea    $600000.l,A0  // sound code address
            4A096 | 43E8 1A77      : lea    ($1a77,A0),A1 // sound latch address ($601a77)
            4A09A | 13C0 00A0 0000 : move.b D0,$a00000.l  // watchdog
            4A0A0 | 1401           : move.b D1,D2
            4A0A2 | 1239 00A0 0004 : move.b $a00004.l,D1  // read input
            4A0A8 | B401           : cmp.b  D1,D2
            4A0AA | 67EE           : beq    $4a09a
            4A0AC | 0C01 00FB      : cmpi.b #-$5,D1
            4A0B0 | 6602           : bne    $4a0b4
            4A0B2 | 5310           : subq.b #1,(A0)       // decrease code -01
            4A0B4 | 0C01 00F7      : cmpi.b #-$9,D1
            4A0B8 | 6602           : bne    $4a0bc
            4A0BA | 5210           : addq.b #1,(A0)       // increase code +01
            4A0BC | 0C01 00FD      : cmpi.b #-$3,D1
            4A0C0 | 6604           : bne    $4a0c6
            4A0C2 | 0410 0010      : subi.b #$10,(A0)     // decrease code -10
            4A0C6 | 0C01 00FE      : cmpi.b #-$2,D1
            4A0CA | 6604           : bne    $4a0d0
            4A0CC | 0610 0010      : addi.b #$10,(A0)     // increase code +10
            4A0D0 | 0C01 00EF      : cmpi.b #-$11,D1
            4A0D4 | 6604           : bne    $4a0da
            4A0D6 | 1290           : move.b (A0),(A1)     // play sound
            4A0D8 | 6008           : bra    $4a0e2
            4A0DA | 0C01 00DF      : cmpi.b #-$21,D1
            4A0DE | 6608           : bne    $4a0e8
            4A0E0 | 4211           : clr.b  (A1)          // stop sound
            4A0E2 | 4EB9 0001 9646 : jsr    $19646.l      // send sound code
            4A0E8 | 60B0           : bra    $4a09a
            -->
        </script>
        <script state="run">
            <output format="----- ashura blaster 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 %2.2X &gt;&gt;"         line="19" align="center"  >
                <argument>maincpu.pb@600000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@1966A = 43F9            </action>
            <action>maincpu.mq@1357C = 207C0040810E303C</action>
            <action>maincpu.mq@4A090 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A098 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@4A0E8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
  • "auto fire" : Fixed auto fire for player 2.
  • "player speed" : Fixed "out of screen" bug.
Post Reply