Page 1 of 1

[legionnaj] Legionnaire

Posted: Tue Dec 08, 2020 9:45 am
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>

[legionnaj] update

Posted: Fri Dec 31, 2021 2:48 am
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>

[legionna]+ Legionnaire

Posted: Thu Nov 02, 2023 10:10 am
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.