[legionnaj] Legionnaire

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

[legionnaj] Legionnaire

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@3d30 = 60</action>
        <action>maincpu.mb@4010 = 60</action>
    </script>
    <script state="off">
        <action>maincpu.mb@3d30 = 66</action>
        <action>maincpu.mb@4010 = 66</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mq@04140 = 4eb900049e403028</action>
        <action>maincpu.mq@49e40 = 3e39001092280839</action>
        <action>maincpu.mq@49e48 = 0000001092216702</action>
        <action>maincpu.md@49e50 =         3e064e75</action>
        <!--
        49e40 | 3e39 0010 9228      : move.w $109228.l,D7
        49e46 | 0839 0000 0010 9221 : btst   #$0,$109221.l
        49e4e | 6702                : beq    $49e52
        49e50 | 3e06                : move.w D6,D7
        49e52 | 4e75                : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@04140 = 3e39001092283028</action>
        <action>maincpu.mq@49e40 = ffffffffffffffff</action>
        <action>maincpu.mq@49e48 = ffffffffffffffff</action>
        <action>maincpu.md@49e50 =         ffffffff</action>
    </script>
</cheat>

<cheat desc="attack speed up">
    <script state="on">
        <!-- chris -->
        <action>maincpu.md@4edc = 317c0001</action>
        <action>maincpu.md@4f64 = 317c0001</action>
        <action>maincpu.md@4fe8 = 317c0001</action>
        <action>maincpu.md@5074 = 317c0001</action>
        <action>maincpu.md@5104 = 317c0001</action>
        <!-- alfred -->
        <action>maincpu.md@5e12 = 317c0001</action>
        <action>maincpu.md@5e96 = 317c0001</action>
        <action>maincpu.md@5f1a = 317c0001</action>
        <action>maincpu.md@5fb6 = 317c0001</action>
        <!-- frank -->
        <action>maincpu.md@6caa = 317c0001</action>
        <action>maincpu.md@6d32 = 317c0001</action>
        <action>maincpu.md@6db6 = 317c0001</action>
        <action>maincpu.md@6e42 = 317c0001</action>
    </script>
    <script state="off">
        <action>maincpu.md@4edc = 317b002c</action>
        <action>maincpu.md@4f64 = 317b002c</action>
        <action>maincpu.md@4fe8 = 317b002c</action>
        <action>maincpu.md@5074 = 317b0030</action>
        <action>maincpu.md@5104 = 317b0030</action>
        <action>maincpu.md@5e12 = 317b002c</action>
        <action>maincpu.md@5e96 = 317b002c</action>
        <action>maincpu.md@5f1a = 317b0030</action>
        <action>maincpu.md@5fb6 = 317b0030</action>
        <action>maincpu.md@6caa = 317b002c</action>
        <action>maincpu.md@6d32 = 317b002c</action>
        <action>maincpu.md@6db6 = 317b0030</action>
        <action>maincpu.md@6e42 = 317b0030</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[legionnaj] update

Post by jman »

Improved "auto fire". Now player 2 gets it.

Code: Select all

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mq@04140 = 4eb900049e403028</action> <!-- P1 -->
        <action>maincpu.mq@041ee = 4eb900049e543028</action> <!-- P2 -->
        <action>maincpu.mq@49e40 = 3e39001092280839</action>
        <action>maincpu.mq@49e48 = 0000001092216702</action>
        <action>maincpu.mq@49e50 = 3e064e751e390010</action>
        <action>maincpu.mq@49e58 = 9228083900000010</action>
        <action>maincpu.mq@49e60 = 922167021e064e75</action>
        <!--
        49e40 | 3e39 0010 9228      : move.w $109228.l,D7  // P1
        49e46 | 0839 0000 0010 9221 : btst   #$0,$109221.l
        49e4e | 6702                : beq    $49e52
        49e50 | 3e06                : move.w D6,D7
        49e52 | 4e75                : rts
        49e54 | 1e39 0010 9228      : move.b $109228.l,D7  // P2
        49e5a | 0839 0000 0010 9221 : btst   #$0,$109221.l
        49e62 | 6702                : beq    $49e66
        49e64 | 1e06                : move.b D6,D7
        49e66 | 4e75                : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@04140 = 3e39001092283028</action>
        <action>maincpu.mq@041ee = 1e39001092283028</action>
        <action>maincpu.mq@49e40 = ffffffffffffffff</action>
        <action>maincpu.mq@49e48 = ffffffffffffffff</action>
        <action>maincpu.mq@49e50 = ffffffffffffffff</action>
        <action>maincpu.mq@49e58 = ffffffffffffffff</action>
        <action>maincpu.mq@49e60 = ffffffffffffffff</action>
    </script>
</cheat>
Added "timer speed" and "sound test mode".

Code: Select all

<cheat desc="timer speed">
    <parameter>
        <item value="0x7fff">01 (slow)</item>
        <item value="0x4000">02       </item>
        <item value="0x1000">03       </item>
        <item value="0x0200">04       </item>
        <item value="0x0001">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@14d6 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mw@14d6 = 0200</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.md@00a3a =         00049e70</action>
        <action>maincpu.mq@49e70 = 41f9001081004280</action>
        <action>maincpu.mq@49e78 = 123900100745b228</action>
        <action>maincpu.mq@49e80 = 0001673e0c0100fb</action>
        <action>maincpu.mq@49e88 = 660253100c0100f7</action>
        <action>maincpu.mq@49e90 = 660252100c0100fd</action>
        <action>maincpu.mq@49e98 = 6604041000100c01</action>
        <action>maincpu.mq@49ea0 = 00fe660406100010</action>
        <action>maincpu.mq@49ea8 = 0c0100ef66061010</action>
        <action>maincpu.mq@49eb0 = 6710600a0c0100df</action>
        <action>maincpu.mq@49eb8 = 6608303cffff4eb8</action>
        <action>maincpu.mq@49ec0 = 0ba2114100014e75</action>
        <!--
        49e70 | 41f9 0010 8100 : lea    $108100.l,A0 // sound code address
        49e76 | 4280           : clr.l  D0
        49e78 | 1239 0010 0745 : move.b $100745.l,D1 // read input
        49e7e | b228 0001      : cmp.b  ($1,A0),D1
        49e82 | 673e           : beq    $49ec2
        49e84 | 0c01 00fb      : cmpi.b #-$5,D1
        49e88 | 6602           : bne    $49e8c
        49e8a | 5310           : subq.b #1,(A0)      // decrease code -01
        49e8c | 0c01 00f7      : cmpi.b #-$9,D1
        49e90 | 6602           : bne    $49e94
        49e92 | 5210           : addq.b #1,(A0)      // increase code +01
        49e94 | 0c01 00fd      : cmpi.b #-$3,D1
        49e98 | 6604           : bne    $49e9e
        49e9a | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        49e9e | 0c01 00fe      : cmpi.b #-$2,D1
        49ea2 | 6604           : bne    $49ea8
        49ea4 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        49ea8 | 0c01 00ef      : cmpi.b #-$11,D1
        49eac | 6606           : bne    $49eb4
        49eae | 1010           : move.b (A0),D0      // play sound
        49eb0 | 6710           : beq    $49ec2       // ignore code 0x00
        49eb2 | 600a           : bra    $49ebe
        49eb4 | 0c01 00df      : cmpi.b #-$21,D1
        49eb8 | 6608           : bne    $49ec2
        49eba | 303c ffff      : move.w #$ffff,D0    // stop sound
        49ebe | 4eb8 0ba2      : jsr    $ba2.w       // send sound code
        49ec2 | 1141 0001      : move.b D1,($1,A0)
        49ec6 | 4e75           : rts
        -->
    </script>
    <script state="run">
        <output format="----- legionnaire 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@108100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@00a3a =         0001f0a8</action>
        <action>maincpu.mq@49e70 = ffffffffffffffff</action>
        <action>maincpu.mq@49e78 = ffffffffffffffff</action>
        <action>maincpu.mq@49e80 = ffffffffffffffff</action>
        <action>maincpu.mq@49e88 = ffffffffffffffff</action>
        <action>maincpu.mq@49e90 = ffffffffffffffff</action>
        <action>maincpu.mq@49e98 = ffffffffffffffff</action>
        <action>maincpu.mq@49ea0 = ffffffffffffffff</action>
        <action>maincpu.mq@49ea8 = ffffffffffffffff</action>
        <action>maincpu.mq@49eb0 = ffffffffffffffff</action>
        <action>maincpu.mq@49eb8 = ffffffffffffffff</action>
        <action>maincpu.mq@49ec0 = ffffffffffffffff</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[legionna]+ Legionnaire

Post by jman »

legionna.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@3D30 = 60</action>
            <action>maincpu.mb@4010 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3D30 = 66</action>
            <action>maincpu.mb@4010 = 66</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@04140 = 4EB900049E403028</action> <!-- P1 -->
            <action>maincpu.mq@041EE = 4EB900049E543028</action> <!-- P2 -->
            <action>maincpu.mq@49E40 = 3E39001092280839</action>
            <action>maincpu.mq@49E48 = 0000001092216702</action>
            <action>maincpu.mq@49E50 = 3E064E751E390010</action>
            <action>maincpu.mq@49E58 = 9228083900000010</action>
            <action>maincpu.mq@49E60 = 922167021E064E75</action>
            <!--
            49E40 | 3E39 0010 9228      : move.w  $109228.l, D7  // P1
            49E46 | 0839 0000 0010 9221 : btst    #$0, $109221.l
            49E4E | 6702                : beq     $49e52
            49E50 | 3E06                : move.w  D6, D7
            49E52 | 4E75                : rts
            49E54 | 1E39 0010 9228      : move.b  $109228.l, D7  // P2
            49E5A | 0839 0000 0010 9221 : btst    #$0, $109221.l
            49E62 | 6702                : beq     $49e66
            49E64 | 1E06                : move.b  D6, D7
            49E66 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@04140 = 3E39001092283028</action>
            <action>maincpu.mq@041EE = 1E39001092283028</action>
            <action>maincpu.mq@49E40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E60 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00018000">02       </item>
            <item value="0x00028000">03       </item>
            <item value="0x00038000">04       </item>
            <item value="0x00048000">05 (fast)</item>
        </parameter>
        <script state="on">
            <!-- chris -->
            <action>maincpu.mq@04B90 = 4EB900049E704E71</action> <!-- x position -->
            <action>maincpu.mq@04B98 = 4EB900049E884E71</action> <!-- y position -->
            <!-- alfred -->
            <action>maincpu.mq@05AC8 = 4EB900049E704E71</action> <!-- x position -->
            <action>maincpu.mq@05AD0 = 4EB900049E884E71</action> <!-- y position -->
            <!-- frank -->
            <action>maincpu.mq@0697C = 4EB900049E704E71</action> <!-- x position -->
            <action>maincpu.mq@06984 = 4EB900049E884E71</action> <!-- y position -->
            <!-- main routine -->
            <action>maincpu.mq@49E70 = 243C000000002028</action>
            <action>maincpu.mq@49E78 = 004867066A024482</action>
            <action>maincpu.mq@49E80 = 2002D0A8003C4E75</action>
            <action>maincpu.mq@49E88 = 243C000000002228</action>
            <action>maincpu.mq@49E90 = 004467066A024482</action>
            <action>maincpu.mq@49E98 = 2202D2A800384E75</action>
            <!--
            49E70 | 243C xxxx xxxx : move.l  #$xxxx, D2   // x position
            49E76 | 2028 0048      : move.l  ($48,A0), D0
            49E7A | 6706           : beq     $49e82
            49E7C | 6A02           : bpl     $49e80
            49E7E | 4482           : neg.l   D2
            49E80 | 2002           : move.l  D2, D0
            49E82 | D0A8 003C      : add.l   ($3c,A0), D0
            49E86 | 4E75           : rts
            49E88 | 243C xxxx xxxx : move.l  #$xxxx, D2   // y position
            49E8E | 2228 0044      : move.l  ($44,A0), D1
            49E92 | 6706           : beq     $49e9a
            49E94 | 6A02           : bpl     $49e98
            49E96 | 4482           : neg.l   D2
            49E98 | 2202           : move.l  D2, D1
            49E9A | D2A8 0038      : add.l   ($38,A0), D1
            49E9E | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@49E72 = param</action>
            <action>maincpu.md@49E8A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@04B90 = 2028003CD0A80048</action>
            <action>maincpu.mq@04B98 = 22280038D2A80044</action>
            <action>maincpu.mq@05AC8 = 2028003CD0A80048</action>
            <action>maincpu.mq@05AD0 = 22280038D2A80044</action>
            <action>maincpu.mq@0697C = 2028003CD0A80048</action>
            <action>maincpu.mq@06984 = 22280038D2A80044</action>
            <action>maincpu.mq@49E70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E98 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <!-- chris -->
            <action>maincpu.md@4EDC = 317C0001</action>
            <action>maincpu.md@4F64 = 317C0001</action>
            <action>maincpu.md@4FE8 = 317C0001</action>
            <action>maincpu.md@5074 = 317C0001</action>
            <action>maincpu.md@5104 = 317C0001</action>
            <!-- alfred -->
            <action>maincpu.md@5E12 = 317C0001</action>
            <action>maincpu.md@5E96 = 317C0001</action>
            <action>maincpu.md@5F1A = 317C0001</action>
            <action>maincpu.md@5FB6 = 317C0001</action>
            <!-- frank -->
            <action>maincpu.md@6CAA = 317C0001</action>
            <action>maincpu.md@6D32 = 317C0001</action>
            <action>maincpu.md@6DB6 = 317C0001</action>
            <action>maincpu.md@6E42 = 317C0001</action>
        </script>
        <script state="off">
            <action>maincpu.md@4EDC = 317B002C</action>
            <action>maincpu.md@4F64 = 317B002C</action>
            <action>maincpu.md@4FE8 = 317B002C</action>
            <action>maincpu.md@5074 = 317B0030</action>
            <action>maincpu.md@5104 = 317B0030</action>
            <action>maincpu.md@5E12 = 317B002C</action>
            <action>maincpu.md@5E96 = 317B002C</action>
            <action>maincpu.md@5F1A = 317B0030</action>
            <action>maincpu.md@5FB6 = 317B0030</action>
            <action>maincpu.md@6CAA = 317B002C</action>
            <action>maincpu.md@6D32 = 317B002C</action>
            <action>maincpu.md@6DB6 = 317B0030</action>
            <action>maincpu.md@6E42 = 317B0030</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7fff">01 (slow)</item>
            <item value="0x4000">02       </item>
            <item value="0x1000">03       </item>
            <item value="0x0200">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@14D6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@14D6 = 0200</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@00A3A = 00049EA0        </action>
            <action>maincpu.mq@49EA0 = 41F9001081004280</action>
            <action>maincpu.mq@49EA8 = 123900100745B228</action>
            <action>maincpu.mq@49EB0 = 0001673E0C0100FB</action>
            <action>maincpu.mq@49EB8 = 660253100C0100F7</action>
            <action>maincpu.mq@49EC0 = 660252100C0100FD</action>
            <action>maincpu.mq@49EC8 = 6604041000100C01</action>
            <action>maincpu.mq@49ED0 = 00FE660406100010</action>
            <action>maincpu.mq@49ED8 = 0C0100EF66061010</action>
            <action>maincpu.mq@49EE0 = 6710600A0C0100DF</action>
            <action>maincpu.mq@49EE8 = 6608303CFFFF4EB8</action>
            <action>maincpu.mq@49EF0 = 0BA2114100014E75</action>
            <!--
            49EA0 | 41F9 0010 8100 : lea     $108100.l, A0 // sound code address
            49EA6 | 4280           : clr.l   D0
            49EA8 | 1239 0010 0745 : move.b  $100745.l, D1 // read input
            49EAE | B228 0001      : cmp.b   ($1,A0), D1
            49EB2 | 673E           : beq     $49ef2
            49EB4 | 0C01 00FB      : cmpi.b  #-$5, D1
            49EB8 | 6602           : bne     $49ebc
            49EBA | 5310           : subq.b  #1, (A0)      // decrease code -01
            49EBC | 0C01 00F7      : cmpi.b  #-$9, D1
            49EC0 | 6602           : bne     $49ec4
            49EC2 | 5210           : addq.b  #1, (A0)      // increase code +01
            49EC4 | 0C01 00FD      : cmpi.b  #-$3, D1
            49EC8 | 6604           : bne     $49ece
            49ECA | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            49ECE | 0C01 00FE      : cmpi.b  #-$2, D1
            49ED2 | 6604           : bne     $49ed8
            49ED4 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            49ED8 | 0C01 00EF      : cmpi.b  #-$11, D1
            49EDC | 6606           : bne     $49ee4
            49EDE | 1010           : move.b  (A0), D0      // play sound
            49EE0 | 6710           : beq     $49ef2        // ignore code 0x00
            49EE2 | 600A           : bra     $49eee
            49EE4 | 0C01 00DF      : cmpi.b  #-$21, D1
            49EE8 | 6608           : bne     $49ef2
            49EEA | 303C FFFF      : move.w  #$ffff, D0    // stop sound
            49EEE | 4EB8 0BA2      : jsr     $ba2.w        // send sound code
            49EF2 | 1141 0001      : move.b  D1, ($1,A0)
            49EF6 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <output format="----- legionnaire 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@108100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@00A3A = 0001F0A8        </action>
            <action>maincpu.mq@49EA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49ED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49ED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EF0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
legionnau.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@3D30 = 60</action>
            <action>maincpu.mb@4010 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3D30 = 66</action>
            <action>maincpu.mb@4010 = 66</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@04140 = 4EB900049E403028</action> <!-- P1 -->
            <action>maincpu.mq@041EE = 4EB900049E543028</action> <!-- P2 -->
            <action>maincpu.mq@49E40 = 3E39001092280839</action>
            <action>maincpu.mq@49E48 = 0000001092216702</action>
            <action>maincpu.mq@49E50 = 3E064E751E390010</action>
            <action>maincpu.mq@49E58 = 9228083900000010</action>
            <action>maincpu.mq@49E60 = 922167021E064E75</action>
            <!--
            49E40 | 3E39 0010 9228      : move.w  $109228.l, D7  // P1
            49E46 | 0839 0000 0010 9221 : btst    #$0, $109221.l
            49E4E | 6702                : beq     $49e52
            49E50 | 3E06                : move.w  D6, D7
            49E52 | 4E75                : rts
            49E54 | 1E39 0010 9228      : move.b  $109228.l, D7  // P2
            49E5A | 0839 0000 0010 9221 : btst    #$0, $109221.l
            49E62 | 6702                : beq     $49e66
            49E64 | 1E06                : move.b  D6, D7
            49E66 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@04140 = 3E39001092283028</action>
            <action>maincpu.mq@041EE = 1E39001092283028</action>
            <action>maincpu.mq@49E40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E60 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00018000">02       </item>
            <item value="0x00028000">03       </item>
            <item value="0x00038000">04       </item>
            <item value="0x00048000">05 (fast)</item>
        </parameter>
        <script state="on">
            <!-- chris -->
            <action>maincpu.mq@04B90 = 4EB900049E704E71</action> <!-- x position -->
            <action>maincpu.mq@04B98 = 4EB900049E884E71</action> <!-- y position -->
            <!-- alfred -->
            <action>maincpu.mq@05AC8 = 4EB900049E704E71</action> <!-- x position -->
            <action>maincpu.mq@05AD0 = 4EB900049E884E71</action> <!-- y position -->
            <!-- frank -->
            <action>maincpu.mq@0697C = 4EB900049E704E71</action> <!-- x position -->
            <action>maincpu.mq@06984 = 4EB900049E884E71</action> <!-- y position -->
            <!-- main routine -->
            <action>maincpu.mq@49E70 = 243C000000002028</action>
            <action>maincpu.mq@49E78 = 004867066A024482</action>
            <action>maincpu.mq@49E80 = 2002D0A8003C4E75</action>
            <action>maincpu.mq@49E88 = 243C000000002228</action>
            <action>maincpu.mq@49E90 = 004467066A024482</action>
            <action>maincpu.mq@49E98 = 2202D2A800384E75</action>
            <!--
            49E70 | 243C xxxx xxxx : move.l  #$xxxx, D2   // x position
            49E76 | 2028 0048      : move.l  ($48,A0), D0
            49E7A | 6706           : beq     $49e82
            49E7C | 6A02           : bpl     $49e80
            49E7E | 4482           : neg.l   D2
            49E80 | 2002           : move.l  D2, D0
            49E82 | D0A8 003C      : add.l   ($3c,A0), D0
            49E86 | 4E75           : rts
            49E88 | 243C xxxx xxxx : move.l  #$xxxx, D2   // y position
            49E8E | 2228 0044      : move.l  ($44,A0), D1
            49E92 | 6706           : beq     $49e9a
            49E94 | 6A02           : bpl     $49e98
            49E96 | 4482           : neg.l   D2
            49E98 | 2202           : move.l  D2, D1
            49E9A | D2A8 0038      : add.l   ($38,A0), D1
            49E9E | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@49E72 = param</action>
            <action>maincpu.md@49E8A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@04B90 = 2028003CD0A80048</action>
            <action>maincpu.mq@04B98 = 22280038D2A80044</action>
            <action>maincpu.mq@05AC8 = 2028003CD0A80048</action>
            <action>maincpu.mq@05AD0 = 22280038D2A80044</action>
            <action>maincpu.mq@0697C = 2028003CD0A80048</action>
            <action>maincpu.mq@06984 = 22280038D2A80044</action>
            <action>maincpu.mq@49E70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E98 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <!-- chris -->
            <action>maincpu.md@4EDC = 317C0001</action>
            <action>maincpu.md@4F64 = 317C0001</action>
            <action>maincpu.md@4FE8 = 317C0001</action>
            <action>maincpu.md@5074 = 317C0001</action>
            <action>maincpu.md@5104 = 317C0001</action>
            <!-- alfred -->
            <action>maincpu.md@5E12 = 317C0001</action>
            <action>maincpu.md@5E96 = 317C0001</action>
            <action>maincpu.md@5F1A = 317C0001</action>
            <action>maincpu.md@5FB6 = 317C0001</action>
            <!-- frank -->
            <action>maincpu.md@6CAA = 317C0001</action>
            <action>maincpu.md@6D32 = 317C0001</action>
            <action>maincpu.md@6DB6 = 317C0001</action>
            <action>maincpu.md@6E42 = 317C0001</action>
        </script>
        <script state="off">
            <action>maincpu.md@4EDC = 317B002C</action>
            <action>maincpu.md@4F64 = 317B002C</action>
            <action>maincpu.md@4FE8 = 317B002C</action>
            <action>maincpu.md@5074 = 317B0030</action>
            <action>maincpu.md@5104 = 317B0030</action>
            <action>maincpu.md@5E12 = 317B002C</action>
            <action>maincpu.md@5E96 = 317B002C</action>
            <action>maincpu.md@5F1A = 317B0030</action>
            <action>maincpu.md@5FB6 = 317B0030</action>
            <action>maincpu.md@6CAA = 317B002C</action>
            <action>maincpu.md@6D32 = 317B002C</action>
            <action>maincpu.md@6DB6 = 317B0030</action>
            <action>maincpu.md@6E42 = 317B0030</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7fff">01 (slow)</item>
            <item value="0x4000">02       </item>
            <item value="0x1000">03       </item>
            <item value="0x0200">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@14D6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@14D6 = 0200</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@00A3A = 00049EA0        </action>
            <action>maincpu.mq@49EA0 = 41F9001081004280</action>
            <action>maincpu.mq@49EA8 = 123900100745B228</action>
            <action>maincpu.mq@49EB0 = 0001673E0C0100FB</action>
            <action>maincpu.mq@49EB8 = 660253100C0100F7</action>
            <action>maincpu.mq@49EC0 = 660252100C0100FD</action>
            <action>maincpu.mq@49EC8 = 6604041000100C01</action>
            <action>maincpu.mq@49ED0 = 00FE660406100010</action>
            <action>maincpu.mq@49ED8 = 0C0100EF66061010</action>
            <action>maincpu.mq@49EE0 = 6710600A0C0100DF</action>
            <action>maincpu.mq@49EE8 = 6608303CFFFF4EB8</action>
            <action>maincpu.mq@49EF0 = 0BA2114100014E75</action>
            <!--
            49EA0 | 41F9 0010 8100 : lea     $108100.l, A0 // sound code address
            49EA6 | 4280           : clr.l   D0
            49EA8 | 1239 0010 0745 : move.b  $100745.l, D1 // read input
            49EAE | B228 0001      : cmp.b   ($1,A0), D1
            49EB2 | 673E           : beq     $49ef2
            49EB4 | 0C01 00FB      : cmpi.b  #-$5, D1
            49EB8 | 6602           : bne     $49ebc
            49EBA | 5310           : subq.b  #1, (A0)      // decrease code -01
            49EBC | 0C01 00F7      : cmpi.b  #-$9, D1
            49EC0 | 6602           : bne     $49ec4
            49EC2 | 5210           : addq.b  #1, (A0)      // increase code +01
            49EC4 | 0C01 00FD      : cmpi.b  #-$3, D1
            49EC8 | 6604           : bne     $49ece
            49ECA | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            49ECE | 0C01 00FE      : cmpi.b  #-$2, D1
            49ED2 | 6604           : bne     $49ed8
            49ED4 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            49ED8 | 0C01 00EF      : cmpi.b  #-$11, D1
            49EDC | 6606           : bne     $49ee4
            49EDE | 1010           : move.b  (A0), D0      // play sound
            49EE0 | 6710           : beq     $49ef2        // ignore code 0x00
            49EE2 | 600A           : bra     $49eee
            49EE4 | 0C01 00DF      : cmpi.b  #-$21, D1
            49EE8 | 6608           : bne     $49ef2
            49EEA | 303C FFFF      : move.w  #$ffff, D0    // stop sound
            49EEE | 4EB8 0BA2      : jsr     $ba2.w        // send sound code
            49EF2 | 1141 0001      : move.b  D1, ($1,A0)
            49EF6 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <output format="----- legionnaire 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@108100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@00A3A = 0001F0A8        </action>
            <action>maincpu.mq@49EA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49ED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49ED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EF0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
legionnaj.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@3D30 = 60</action>
            <action>maincpu.mb@4010 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3D30 = 66</action>
            <action>maincpu.mb@4010 = 66</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@04140 = 4EB900049E403028</action> <!-- P1 -->
            <action>maincpu.mq@041EE = 4EB900049E543028</action> <!-- P2 -->
            <action>maincpu.mq@49E40 = 3E39001092280839</action>
            <action>maincpu.mq@49E48 = 0000001092216702</action>
            <action>maincpu.mq@49E50 = 3E064E751E390010</action>
            <action>maincpu.mq@49E58 = 9228083900000010</action>
            <action>maincpu.mq@49E60 = 922167021E064E75</action>
            <!--
            49E40 | 3E39 0010 9228      : move.w  $109228.l, D7  // P1
            49E46 | 0839 0000 0010 9221 : btst    #$0, $109221.l
            49E4E | 6702                : beq     $49e52
            49E50 | 3E06                : move.w  D6, D7
            49E52 | 4E75                : rts
            49E54 | 1E39 0010 9228      : move.b  $109228.l, D7  // P2
            49E5A | 0839 0000 0010 9221 : btst    #$0, $109221.l
            49E62 | 6702                : beq     $49e66
            49E64 | 1E06                : move.b  D6, D7
            49E66 | 4E75                : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@04140 = 3E39001092283028</action>
            <action>maincpu.mq@041EE = 1E39001092283028</action>
            <action>maincpu.mq@49E40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E60 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00018000">02       </item>
            <item value="0x00028000">03       </item>
            <item value="0x00038000">04       </item>
            <item value="0x00048000">05 (fast)</item>
        </parameter>
        <script state="on">
            <!-- chris -->
            <action>maincpu.mq@04B90 = 4EB900049E704E71</action> <!-- x position -->
            <action>maincpu.mq@04B98 = 4EB900049E884E71</action> <!-- y position -->
            <!-- alfred -->
            <action>maincpu.mq@05AC8 = 4EB900049E704E71</action> <!-- x position -->
            <action>maincpu.mq@05AD0 = 4EB900049E884E71</action> <!-- y position -->
            <!-- frank -->
            <action>maincpu.mq@0697C = 4EB900049E704E71</action> <!-- x position -->
            <action>maincpu.mq@06984 = 4EB900049E884E71</action> <!-- y position -->
            <!-- main routine -->
            <action>maincpu.mq@49E70 = 243C000000002028</action>
            <action>maincpu.mq@49E78 = 004867066A024482</action>
            <action>maincpu.mq@49E80 = 2002D0A8003C4E75</action>
            <action>maincpu.mq@49E88 = 243C000000002228</action>
            <action>maincpu.mq@49E90 = 004467066A024482</action>
            <action>maincpu.mq@49E98 = 2202D2A800384E75</action>
            <!--
            49E70 | 243C xxxx xxxx : move.l  #$xxxx, D2   // x position
            49E76 | 2028 0048      : move.l  ($48,A0), D0
            49E7A | 6706           : beq     $49e82
            49E7C | 6A02           : bpl     $49e80
            49E7E | 4482           : neg.l   D2
            49E80 | 2002           : move.l  D2, D0
            49E82 | D0A8 003C      : add.l   ($3c,A0), D0
            49E86 | 4E75           : rts
            49E88 | 243C xxxx xxxx : move.l  #$xxxx, D2   // y position
            49E8E | 2228 0044      : move.l  ($44,A0), D1
            49E92 | 6706           : beq     $49e9a
            49E94 | 6A02           : bpl     $49e98
            49E96 | 4482           : neg.l   D2
            49E98 | 2202           : move.l  D2, D1
            49E9A | D2A8 0038      : add.l   ($38,A0), D1
            49E9E | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@49E72 = param</action>
            <action>maincpu.md@49E8A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@04B90 = 2028003CD0A80048</action>
            <action>maincpu.mq@04B98 = 22280038D2A80044</action>
            <action>maincpu.mq@05AC8 = 2028003CD0A80048</action>
            <action>maincpu.mq@05AD0 = 22280038D2A80044</action>
            <action>maincpu.mq@0697C = 2028003CD0A80048</action>
            <action>maincpu.mq@06984 = 22280038D2A80044</action>
            <action>maincpu.mq@49E70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49E98 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <!-- chris -->
            <action>maincpu.md@4EDC = 317C0001</action>
            <action>maincpu.md@4F64 = 317C0001</action>
            <action>maincpu.md@4FE8 = 317C0001</action>
            <action>maincpu.md@5074 = 317C0001</action>
            <action>maincpu.md@5104 = 317C0001</action>
            <!-- alfred -->
            <action>maincpu.md@5E12 = 317C0001</action>
            <action>maincpu.md@5E96 = 317C0001</action>
            <action>maincpu.md@5F1A = 317C0001</action>
            <action>maincpu.md@5FB6 = 317C0001</action>
            <!-- frank -->
            <action>maincpu.md@6CAA = 317C0001</action>
            <action>maincpu.md@6D32 = 317C0001</action>
            <action>maincpu.md@6DB6 = 317C0001</action>
            <action>maincpu.md@6E42 = 317C0001</action>
        </script>
        <script state="off">
            <action>maincpu.md@4EDC = 317B002C</action>
            <action>maincpu.md@4F64 = 317B002C</action>
            <action>maincpu.md@4FE8 = 317B002C</action>
            <action>maincpu.md@5074 = 317B0030</action>
            <action>maincpu.md@5104 = 317B0030</action>
            <action>maincpu.md@5E12 = 317B002C</action>
            <action>maincpu.md@5E96 = 317B002C</action>
            <action>maincpu.md@5F1A = 317B0030</action>
            <action>maincpu.md@5FB6 = 317B0030</action>
            <action>maincpu.md@6CAA = 317B002C</action>
            <action>maincpu.md@6D32 = 317B002C</action>
            <action>maincpu.md@6DB6 = 317B0030</action>
            <action>maincpu.md@6E42 = 317B0030</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x7fff">01 (slow)</item>
            <item value="0x4000">02       </item>
            <item value="0x1000">03       </item>
            <item value="0x0200">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@14D6 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@14D6 = 0200</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@00A3A = 00049EA0        </action>
            <action>maincpu.mq@49EA0 = 41F9001081004280</action>
            <action>maincpu.mq@49EA8 = 123900100745B228</action>
            <action>maincpu.mq@49EB0 = 0001673E0C0100FB</action>
            <action>maincpu.mq@49EB8 = 660253100C0100F7</action>
            <action>maincpu.mq@49EC0 = 660252100C0100FD</action>
            <action>maincpu.mq@49EC8 = 6604041000100C01</action>
            <action>maincpu.mq@49ED0 = 00FE660406100010</action>
            <action>maincpu.mq@49ED8 = 0C0100EF66061010</action>
            <action>maincpu.mq@49EE0 = 6710600A0C0100DF</action>
            <action>maincpu.mq@49EE8 = 6608303CFFFF4EB8</action>
            <action>maincpu.mq@49EF0 = 0BA2114100014E75</action>
            <!--
            49EA0 | 41F9 0010 8100 : lea     $108100.l, A0 // sound code address
            49EA6 | 4280           : clr.l   D0
            49EA8 | 1239 0010 0745 : move.b  $100745.l, D1 // read input
            49EAE | B228 0001      : cmp.b   ($1,A0), D1
            49EB2 | 673E           : beq     $49ef2
            49EB4 | 0C01 00FB      : cmpi.b  #-$5, D1
            49EB8 | 6602           : bne     $49ebc
            49EBA | 5310           : subq.b  #1, (A0)      // decrease code -01
            49EBC | 0C01 00F7      : cmpi.b  #-$9, D1
            49EC0 | 6602           : bne     $49ec4
            49EC2 | 5210           : addq.b  #1, (A0)      // increase code +01
            49EC4 | 0C01 00FD      : cmpi.b  #-$3, D1
            49EC8 | 6604           : bne     $49ece
            49ECA | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            49ECE | 0C01 00FE      : cmpi.b  #-$2, D1
            49ED2 | 6604           : bne     $49ed8
            49ED4 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            49ED8 | 0C01 00EF      : cmpi.b  #-$11, D1
            49EDC | 6606           : bne     $49ee4
            49EDE | 1010           : move.b  (A0), D0      // play sound
            49EE0 | 6710           : beq     $49ef2        // ignore code 0x00
            49EE2 | 600A           : bra     $49eee
            49EE4 | 0C01 00DF      : cmpi.b  #-$21, D1
            49EE8 | 6608           : bne     $49ef2
            49EEA | 303C FFFF      : move.w  #$ffff, D0    // stop sound
            49EEE | 4EB8 0BA2      : jsr     $ba2.w        // send sound code
            49EF2 | 1141 0001      : move.b  D1, ($1,A0)
            49EF6 | 4E75           : rts
            -->
        </script>
        <script state="run">
            <output format="----- legionnaire 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@108100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@00A3A = 0001F0A8        </action>
            <action>maincpu.mq@49EA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49ED0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49ED8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@49EF0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
"player speed" : Added new.
Post Reply