[trigon] Lightning Fighters/Trigon

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

[trigon] Lightning Fighters/Trigon

Post by jman »

Code: Select all

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@16f15 = 02</action>
        <action>maincpu.mb@16f1d = 02</action>
        <action>maincpu.mb@16f78 = 60</action>
    </script>
    <script state="off">
        <action>maincpu.mb@16f15 = 12</action>
        <action>maincpu.mb@16f1d = 0a</action>
        <action>maincpu.mb@16f78 = 66</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x05" step="0x01" />
    <script state="on">
        <action>maincpu.mq@16d90 = 4eb9000283a00804</action>
        <action>maincpu.mq@16dde = 4eb9000283aa0804</action>
        <action>maincpu.mq@283a0 = 61000012202e0008</action>
        <action>maincpu.mq@283a8 = 4e7561000008202e</action>
        <action>maincpu.mq@283b0 = 000c4e75223c0000</action>
        <action>maincpu.mq@283b8 = 0000281967066a02</action>
        <action>maincpu.mq@283c0 = 4481d8814e75ffff</action>
        <!--
        283a0 | 6100 0012      : bsr    $283b4
        283a4 | 202e 0008      : move.l ($8,A6),D0
        283a8 | 4e75           : rts
        283aa | 6100 0012      : bsr    $283b4
        283ae | 202e 000c      : move.l ($c,A6),D0
        283b2 | 4e75           : rts
        283b4 | 223c 00xx 0000 : move.l #$xx0000,D1
        283ba | 2819           : move.l (A1)+,D4
        283bc | 6706           : beq    $283c4
        283be | 6a02           : bpl    $283c2
        283c0 | 4481           : neg.l  D1
        283c2 | d881           : add.l  D1,D4
        283c4 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.mb@283b7 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@16d90 = 2819202e00080804</action>
        <action>maincpu.mq@16dde = 2811202e000c0804</action>
        <action>maincpu.mq@283a0 = ffffffffffffffff</action>
        <action>maincpu.mq@283a8 = ffffffffffffffff</action>
        <action>maincpu.mq@283b0 = ffffffffffffffff</action>
        <action>maincpu.mq@283b8 = ffffffffffffffff</action>
        <action>maincpu.mq@283c0 = ffffffffffffffff</action>
    </script>
</cheat>
<cheat desc="bullet speed">
    <parameter>
        <item value="0xfff8">01 (slow)</item>
        <item value="0xfff4">02       </item>
        <item value="0xfff0">03       </item>
        <item value="0xffe8">04       </item>
        <item value="0xffe4">05 (fast)</item>
    </parameter>
    <script state="on">
        <!-- "S" -->
        <action>maincpu.mq@17086 = 4eb900028390301d</action>
        <action>maincpu.mq@28390 = 201d2540007c357c</action>
        <action>maincpu.mq@28398 = fff4007c4e75ffff</action>
        <!--
        28390 | 201d           : move.l (A5)+,D0
        28392 | 2540 007c      : move.l D0,($7c,A2)
        28396 | 357c xxxx 007c : move.w #$xxxx,($7c,A2)
        2839c | 4e75           : rts
        -->
        <!-- "V" -->
        <action>maincpu.mq@16fc4 = 303cfff04e7142aa</action>
        <!--
        16fc4 | 303c xxxx 4e71 : move.w #$xxxx,D0 / nop
        -->
    </script>
    <script state="change">
        <action>maincpu.mw@28398 = param</action>
        <action>maincpu.mw@16fc6 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@17086 = 201d2540007c301d</action>
        <action>maincpu.mq@28390 = ffffffffffffffff</action>
        <action>maincpu.mq@28398 = ffffffffffffffff</action>
        <action>maincpu.mq@16fc4 = 10290007488042aa</action>
    </script>
</cheat>

<cheat desc="skip rom check">
    <script state="on">
        <action>maincpu.mw@17aa = 0024</action>
    </script>
    <script state="off">
        <action>maincpu.mw@17aa = 031e</action>
    </script>
</cheat>
jman
Posts: 844
Joined: Tue Dec 01, 2020 1:24 pm

[trigon] update

Post by jman »

Improved "skip rom check" to "skip ram/rom check".

Code: Select all

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.mw@1128 = 112a</action>
    </script>
    <script state="off">
        <action>maincpu.mw@1128 = 16f2</action>
    </script>
</cheat>
Added "sound test mode"

Code: Select all

<cheat desc="sound test mode">
    <comment>set ram/rom check skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.md@01682 =         000283d0</action>
        <action>maincpu.mq@283d0 = 41f9000901001200</action>
        <action>maincpu.mq@283d8 = 1039000a0003b200</action>
        <action>maincpu.mq@283e0 = 67f40c0000fe6602</action>
        <action>maincpu.mq@283e8 = 53100c0000fd6602</action>
        <action>maincpu.mq@283f0 = 52100c0000f76604</action>
        <action>maincpu.mq@283f8 = 041000100c0000fb</action>
        <action>maincpu.mq@28400 = 6604061000100c00</action>
        <action>maincpu.mq@28408 = 00ef66041e106008</action>
        <action>maincpu.mq@28410 = 0c0000df66064207</action>
        <action>maincpu.mq@28418 = 4eb86b9660b8ffff</action>
        <!--
        283d0 | 41f9 0009 0100 : lea    $90100.l,A0 // sound code address
        283d6 | 1200           : move.b D0,D1
        283d8 | 1039 000a 0003 : move.b $a0003.l,D0 // read input
        283de | b200           : cmp.b  D0,D1
        283e0 | 67f4           : beq    $283d6
        283e2 | 0c00 00fe      : cmpi.b #-$2,D0
        283e6 | 6602           : bne    $283ea
        283e8 | 5310           : subq.b #1,(A0)     // decrease code -01
        283ea | 0c00 00fd      : cmpi.b #-$3,D0
        283ee | 6602           : bne    $283f2
        283f0 | 5210           : addq.b #1,(A0)     // increase code +01
        283f2 | 0c00 00f7      : cmpi.b #-$9,D0
        283f6 | 6604           : bne    $283fc
        283f8 | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
        283fc | 0c00 00fb      : cmpi.b #-$5,D0
        28400 | 6604           : bne    $28406
        28402 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
        28406 | 0c00 00ef      : cmpi.b #-$11,D0
        2840a | 6604           : bne    $28410
        2840c | 1e10           : move.b (A0),D7     // play sound
        2840e | 6008           : bra    $28418
        28410 | 0c00 00df      : cmpi.b #-$21,D0
        28414 | 6606           : bne    $2841c
        28416 | 4207           : clr.b  D7          // stop sound
        28418 | 4eb8 6b96      : jsr    $6b96.w     // send sound code
        2841c | 60b8           : bra    $283d6
        -->
    </script>
    <script state="run">
        <output format="----- trigon 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@90100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@01682 =         0001e968</action>
        <action>maincpu.mq@283d0 = ffffffffffffffff</action>
        <action>maincpu.mq@283d8 = ffffffffffffffff</action>
        <action>maincpu.mq@283e0 = ffffffffffffffff</action>
        <action>maincpu.mq@283e8 = ffffffffffffffff</action>
        <action>maincpu.mq@283f0 = ffffffffffffffff</action>
        <action>maincpu.mq@283f8 = ffffffffffffffff</action>
        <action>maincpu.mq@28400 = ffffffffffffffff</action>
        <action>maincpu.mq@28408 = ffffffffffffffff</action>
        <action>maincpu.mq@28410 = ffffffffffffffff</action>
        <action>maincpu.mq@28418 = ffffffffffffffff</action>
    </script>
</cheat>
jman
Posts: 844
Joined: Tue Dec 01, 2020 1:24 pm

[lgtnfght]+ Lightning Fighters/Trigon

Post by jman »

lgtnfght.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@18CDE = 60</action> <!-- enemy -->
            <action>maincpu.mb@18D7E = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@18CDE = 64</action>
            <action>maincpu.mb@18D7E = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@16CED = 02</action>
            <action>maincpu.mb@16CF5 = 02</action>
            <action>maincpu.mb@16D50 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@16CED = 12</action>
            <action>maincpu.mb@16CF5 = 0A</action>
            <action>maincpu.mb@16D50 = 66</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00018000">02       </item>
            <item value="0x00038000">03       </item>
            <item value="0x00068000">04       </item>
            <item value="0x000a8000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@16B68 = 4EB9000281600804</action> <!-- x position -->
            <action>maincpu.mq@16BB6 = 4EB9000281680804</action> <!-- y position -->
            <action>maincpu.mq@28160 = 610E202E00084E75</action>
            <action>maincpu.mq@28168 = 6106202E000C4E75</action>
            <action>maincpu.mq@28170 = 223C000000002819</action>
            <action>maincpu.mq@28178 = 67066A0244812801</action>
            <action>maincpu.mq@28180 = 4E75FFFFFFFFFFFF</action>
            <!--
            28160 | 610E           : bsr    $28170     // x position
            28162 | 202E 0008      : move.l ($8,A6),D0
            28166 | 4E75           : rts
            28168 | 6106           : bsr    $28170     // y position
            2816A | 202E 000C      : move.l ($c,A6),D0
            2816E | 4E75           : rts
            28170 | 223C xxxx xxxx : move.l #$xxxx,D1
            28176 | 2819           : move.l (A1)+,D4
            28178 | 6706           : beq    $28180
            2817A | 6A02           : bpl    $2817e
            2817C | 4481           : neg.l  D1
            2817E | 2801           : move.l D1,D4
            28180 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@28172 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@16B68 = 2819202E00080804</action>
            <action>maincpu.mq@16BB6 = 2811202E000C0804</action>
            <action>maincpu.mq@28160 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28168 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28170 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28178 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28180 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x00028000">01 (slow)</item>
            <item value="0x00068000">02       </item>
            <item value="0x000a8000">03       </item>
            <item value="0x000e8000">04       </item>
            <item value="0x00128000">05 (fast)</item>
        </parameter>
        <script state="on">
            <!-- "V" -->
            <action>maincpu.mq@16D9C = 203C0000000042AA</action> <!-- move.l #$xxxx,D0 -->
            <action>maincpu.mq@16DAA = 2540007C53290004</action> <!-- move.l D0,($7c,A2) -->
            <!-- "S" -->
            <action>maincpu.mq@16E5E = 4EB900028190301D</action>
            <action>maincpu.mq@28190 = 588D257C00000000</action>
            <action>maincpu.mq@28198 = 007C4E75FFFFFFFF</action>
            <!--
            28190 | 588D                : addq.l #4,A5
            28192 | 257C xxxx xxxx 007C : move.l #$xxxx,($7c,A2)
            2819A | 4E75                : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@16D9E = -param</action>
            <action>maincpu.md@28194 = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@16D9C = 10290007488042AA</action>
            <action>maincpu.mq@16DAA = 3540007C53290004</action>
            <action>maincpu.mq@16E5E = 201D2540007C301D</action>
            <action>maincpu.mq@28190 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28198 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@01666 = 000281A0        </action>
            <action>maincpu.mq@281A0 = 41F9000901001200</action>
            <action>maincpu.mq@281A8 = 1039000A0003B200</action>
            <action>maincpu.mq@281B0 = 67F40C0000FE6602</action>
            <action>maincpu.mq@281B8 = 53100C0000FD6602</action>
            <action>maincpu.mq@281C0 = 52100C0000F76604</action>
            <action>maincpu.mq@281C8 = 041000100C0000FB</action>
            <action>maincpu.mq@281D0 = 6604061000100C00</action>
            <action>maincpu.mq@281D8 = 00EF66041E106008</action>
            <action>maincpu.mq@281E0 = 0C0000DF66064207</action>
            <action>maincpu.mq@281E8 = 4EB8696E60B8FFFF</action>
            <!--
            281A0 | 41F9 0009 0100 : lea    $90100.l,A0 // sound code address
            281A6 | 1200           : move.b D0,D1
            281A8 | 1039 000A 0003 : move.b $a0003.l,D0 // read input
            281AE | B200           : cmp.b  D0,D1
            281B0 | 67F4           : beq    $281a6
            281B2 | 0C00 00FE      : cmpi.b #-$2,D0
            281B6 | 6602           : bne    $281ba
            281B8 | 5310           : subq.b #1,(A0)     // decrease code -01
            281BA | 0C00 00FD      : cmpi.b #-$3,D0
            281BE | 6602           : bne    $281c2
            281C0 | 5210           : addq.b #1,(A0)     // increase code +01
            281C2 | 0C00 00F7      : cmpi.b #-$9,D0
            281C6 | 6604           : bne    $281cc
            281C8 | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
            281CC | 0C00 00FB      : cmpi.b #-$5,D0
            281D0 | 6604           : bne    $281d6
            281D2 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
            281D6 | 0C00 00EF      : cmpi.b #-$11,D0
            281DA | 6604           : bne    $281e0
            281DC | 1E10           : move.b (A0),D7     // play sound
            281DE | 6008           : bra    $281e8
            281E0 | 0C00 00DF      : cmpi.b #-$21,D0
            281E4 | 6606           : bne    $281ec
            281E6 | 4207           : clr.b  D7          // stop sound
            281E8 | 4EB8 696e      : jsr    $696e.w     // send sound code
            281EC | 60B8           : bra    $281a6
            -->
        </script>
        <script state="run">
            <output format="----- lightning fighters 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@90100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@01666 = 0001E788        </action>
            <action>maincpu.mq@281A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@281A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@281B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@281B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@281C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@281C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@281D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@281D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@281E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@281E8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1128 = 112A</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1128 = 16F2</action>
        </script>
    </cheat>

</mamecheat>
lgtnfghta.xml

Code: Select all

<!-- Lightning Fighters (Asia) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@19220 = 60</action> <!-- enemy -->
            <action>maincpu.mb@192C0 = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@19220 = 64</action>
            <action>maincpu.mb@192C0 = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@1722F = 02</action>
            <action>maincpu.mb@17237 = 02</action>
            <action>maincpu.mb@17292 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1722F = 12</action>
            <action>maincpu.mb@17237 = 0A</action>
            <action>maincpu.mb@17292 = 66</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00018000">02       </item>
            <item value="0x00038000">03       </item>
            <item value="0x00068000">04       </item>
            <item value="0x000a8000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@170AA = 4EB9000286A00804</action> <!-- x position -->
            <action>maincpu.mq@170F8 = 4EB9000286A80804</action> <!-- y position -->
            <action>maincpu.mq@286A0 = 610E202E00084E75</action>
            <action>maincpu.mq@286A8 = 6106202E000C4E75</action>
            <action>maincpu.mq@286B0 = 223C000000002819</action>
            <action>maincpu.mq@286B8 = 67066A0244812801</action>
            <action>maincpu.mq@286C0 = 4E75FFFFFFFFFFFF</action>
            <!--
            286A0 | 610E           : bsr    $286b0     // x position
            286A2 | 202E 0008      : move.l ($8,A6),D0
            286A6 | 4E75           : rts
            286A8 | 6106           : bsr    $286b0     // y position
            286AA | 202E 000C      : move.l ($c,A6),D0
            286AE | 4E75           : rts
            286B0 | 223C xxxx xxxx : move.l #$xxxx,D1
            286B6 | 2819           : move.l (A1)+,D4
            286B8 | 6706           : beq    $286c0
            286BA | 6A02           : bpl    $286be
            286BC | 4481           : neg.l  D1
            286BE | 2801           : move.l D1,D4
            286C0 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@286B2 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@170AA = 2819202E00080804</action>
            <action>maincpu.mq@170F8 = 2811202E000C0804</action>
            <action>maincpu.mq@286A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@286A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@286B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@286B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@286C0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x00028000">01 (slow)</item>
            <item value="0x00068000">02       </item>
            <item value="0x000a8000">03       </item>
            <item value="0x000e8000">04       </item>
            <item value="0x00128000">05 (fast)</item>
        </parameter>
        <script state="on">
            <!-- "V" -->
            <action>maincpu.mq@172DE = 203C0000000042AA</action> <!-- move.l #$xxxx,D0 -->
            <action>maincpu.mq@172EC = 2540007C53290004</action> <!-- move.l D0,($7c,A2) -->
            <!-- "S" -->
            <action>maincpu.mq@173A0 = 4EB9000286D0301D</action>
            <action>maincpu.mq@286D0 = 588D257C00000000</action>
            <action>maincpu.mq@286D8 = 007C4E75FFFFFFFF</action>
            <!--
            286D0 | 588D                : addq.l #4,A5
            286D2 | 257C xxxx xxxx 007C : move.l #$xxxx,($7c,A2)
            286DA | 4E75                : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@172E0 = -param</action>
            <action>maincpu.md@286D4 = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@172DE = 10290007488042AA</action>
            <action>maincpu.mq@172EC = 3540007C53290004</action>
            <action>maincpu.mq@173A0 = 201D2540007C301D</action>
            <action>maincpu.mq@286D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@286D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@01682 = 000286E0        </action>
            <action>maincpu.mq@286E0 = 41F9000901001200</action>
            <action>maincpu.mq@286E8 = 1039000A0003B200</action>
            <action>maincpu.mq@286F0 = 67F40C0000FE6602</action>
            <action>maincpu.mq@286F8 = 53100C0000FD6602</action>
            <action>maincpu.mq@28700 = 52100C0000F76604</action>
            <action>maincpu.mq@28708 = 041000100C0000FB</action>
            <action>maincpu.mq@28710 = 6604061000100C00</action>
            <action>maincpu.mq@28718 = 00EF66041E106008</action>
            <action>maincpu.mq@28720 = 0C0000DF66064207</action>
            <action>maincpu.mq@28728 = 4EB86EA460B8FFFF</action>
            <!--
            286E0 | 41F9 0009 0100 : lea    $90100.l,A0 // sound code address
            286E6 | 1200           : move.b D0,D1
            286E8 | 1039 000A 0003 : move.b $a0003.l,D0 // read input
            286EE | B200           : cmp.b  D0,D1
            286F0 | 67F4           : beq    $286e6
            286F2 | 0C00 00FE      : cmpi.b #-$2,D0
            286F6 | 6602           : bne    $286fa
            286F8 | 5310           : subq.b #1,(A0)     // decrease code -01
            286FA | 0C00 00FD      : cmpi.b #-$3,D0
            286FE | 6602           : bne    $28702
            28700 | 5210           : addq.b #1,(A0)     // increase code +01
            28702 | 0C00 00F7      : cmpi.b #-$9,D0
            28706 | 6604           : bne    $2870c
            28708 | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
            2870C | 0C00 00FB      : cmpi.b #-$5,D0
            28710 | 6604           : bne    $28716
            28712 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
            28716 | 0C00 00EF      : cmpi.b #-$11,D0
            2871A | 6604           : bne    $28720
            2871C | 1E10           : move.b (A0),D7     // play sound
            2871E | 6008           : bra    $28728
            28720 | 0C00 00DF      : cmpi.b #-$21,D0
            28724 | 6606           : bne    $2872c
            28726 | 4207           : clr.b  D7          // stop sound
            28728 | 4EB8 6ea4      : jsr    $6ea4.w     // send sound code
            2872C | 60B8           : bra    $286e6
            -->
        </script>
        <script state="run">
            <output format="----- lightning fighters 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@90100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@01682 = 0001EC82        </action>
            <action>maincpu.mq@286E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@286E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@286F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@286F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28700 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28708 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28710 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28718 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28720 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28728 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1128 = 112A</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1128 = 16F2</action>
        </script>
    </cheat>

</mamecheat>
lgtnfghtu.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@18FD4 = 60</action> <!-- enemy -->
            <action>maincpu.mb@19074 = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@18FD4 = 64</action>
            <action>maincpu.mb@19074 = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@16FE3 = 02</action>
            <action>maincpu.mb@16FEB = 02</action>
            <action>maincpu.mb@17046 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@16FE3 = 12</action>
            <action>maincpu.mb@16FEB = 0A</action>
            <action>maincpu.mb@17046 = 66</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00018000">02       </item>
            <item value="0x00038000">03       </item>
            <item value="0x00068000">04       </item>
            <item value="0x000a8000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@16E5E = 4EB9000284600804</action> <!-- x position -->
            <action>maincpu.mq@16EAC = 4EB9000284680804</action> <!-- y position -->
            <action>maincpu.mq@28460 = 610E202E00084E75</action>
            <action>maincpu.mq@28468 = 6106202E000C4E75</action>
            <action>maincpu.mq@28470 = 223C000000002819</action>
            <action>maincpu.mq@28478 = 67066A0244812801</action>
            <action>maincpu.mq@28480 = 4E75FFFFFFFFFFFF</action>
            <!--
            28460 | 610E           : bsr    $28470     // x position
            28462 | 202E 0008      : move.l ($8,A6),D0
            28466 | 4E75           : rts
            28468 | 6106           : bsr    $28470     // y position
            2846A | 202E 000C      : move.l ($c,A6),D0
            2846E | 4E75           : rts
            28470 | 223C xxxx xxxx : move.l #$xxxx,D1
            28476 | 2819           : move.l (A1)+,D4
            28478 | 6706           : beq    $28480
            2847A | 6A02           : bpl    $2847e
            2847C | 4481           : neg.l  D1
            2847E | 2801           : move.l D1,D4
            28480 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@28472 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@16E5E = 2819202E00080804</action>
            <action>maincpu.mq@16EAC = 2811202E000C0804</action>
            <action>maincpu.mq@28460 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28468 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28470 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28478 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28480 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x00028000">01 (slow)</item>
            <item value="0x00068000">02       </item>
            <item value="0x000a8000">03       </item>
            <item value="0x000e8000">04       </item>
            <item value="0x00128000">05 (fast)</item>
        </parameter>
        <script state="on">
            <!-- "V" -->
            <action>maincpu.mq@17092 = 203C0000000042AA</action> <!-- move.l #$xxxx,D0 -->
            <action>maincpu.mq@170A0 = 2540007C53290004</action> <!-- move.l D0,($7c,A2) -->
            <!-- "S" -->
            <action>maincpu.mq@17154 = 4EB900028490301D</action>
            <action>maincpu.mq@28490 = 588D257C00000000</action>
            <action>maincpu.mq@28498 = 007C4E75FFFFFFFF</action>
            <!--
            28490 | 588D                : addq.l #4,A5
            28492 | 257C xxxx xxxx 007C : move.l #$xxxx,($7c,A2)
            2849A | 4E75                : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@17094 = -param</action>
            <action>maincpu.md@28494 = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@17092 = 10290007488042AA</action>
            <action>maincpu.mq@170A0 = 3540007C53290004</action>
            <action>maincpu.mq@17154 = 201D2540007C301D</action>
            <action>maincpu.mq@28490 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28498 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@0167E = 000284A0        </action>
            <action>maincpu.mq@284A0 = 41F9000901001200</action>
            <action>maincpu.mq@284A8 = 1039000A0003B200</action>
            <action>maincpu.mq@284B0 = 67F40C0000FE6602</action>
            <action>maincpu.mq@284B8 = 53100C0000FD6602</action>
            <action>maincpu.mq@284C0 = 52100C0000F76604</action>
            <action>maincpu.mq@284C8 = 041000100C0000FB</action>
            <action>maincpu.mq@284D0 = 6604061000100C00</action>
            <action>maincpu.mq@284D8 = 00EF66041E106008</action>
            <action>maincpu.mq@284E0 = 0C0000DF66064207</action>
            <action>maincpu.mq@284E8 = 4EB86C5860B8FFFF</action>
            <!--
            284A0 | 41F9 0009 0100 : lea    $90100.l,A0 // sound code address
            284A6 | 1200           : move.b D0,D1
            284A8 | 1039 000A 0003 : move.b $a0003.l,D0 // read input
            284AE | B200           : cmp.b  D0,D1
            284B0 | 67F4           : beq    $284a6
            284B2 | 0C00 00FE      : cmpi.b #-$2,D0
            284B6 | 6602           : bne    $284ba
            284B8 | 5310           : subq.b #1,(A0)     // decrease code -01
            284BA | 0C00 00FD      : cmpi.b #-$3,D0
            284BE | 6602           : bne    $284c2
            284C0 | 5210           : addq.b #1,(A0)     // increase code +01
            284C2 | 0C00 00F7      : cmpi.b #-$9,D0
            284C6 | 6604           : bne    $284cc
            284C8 | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
            284CC | 0C00 00FB      : cmpi.b #-$5,D0
            284D0 | 6604           : bne    $284d6
            284D2 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
            284D6 | 0C00 00EF      : cmpi.b #-$11,D0
            284DA | 6604           : bne    $284e0
            284DC | 1E10           : move.b (A0),D7     // play sound
            284DE | 6008           : bra    $284e8
            284E0 | 0C00 00DF      : cmpi.b #-$21,D0
            284E4 | 6606           : bne    $284ec
            284E6 | 4207           : clr.b  D7          // stop sound
            284E8 | 4EB8 6C58      : jsr    $6c58.w     // send sound code
            284EC | 60B8           : bra    $284a6
            -->
        </script>
        <script state="run">
            <output format="----- lightning fighters 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@90100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0167E = 0001EA42        </action>
            <action>maincpu.mq@284A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@284A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@284B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@284B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@284C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@284C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@284D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@284D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@284E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@284E8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1128 = 112A</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1128 = 16F2</action>
        </script>
    </cheat>

</mamecheat>
trigon.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@18F06 = 60</action> <!-- enemy -->
            <action>maincpu.mb@18FA6 = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@18F06 = 64</action>
            <action>maincpu.mb@18FA6 = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@16F15 = 02</action>
            <action>maincpu.mb@16F1D = 02</action>
            <action>maincpu.mb@16F78 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@16F15 = 12</action>
            <action>maincpu.mb@16F1D = 0A</action>
            <action>maincpu.mb@16F78 = 66</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00018000">02       </item>
            <item value="0x00038000">03       </item>
            <item value="0x00068000">04       </item>
            <item value="0x000a8000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@16D90 = 4EB9000283900804</action> <!-- x position -->
            <action>maincpu.mq@16DDE = 4EB9000283980804</action> <!-- y position -->
            <action>maincpu.mq@28390 = 610E202E00084E75</action>
            <action>maincpu.mq@28398 = 6106202E000C4E75</action>
            <action>maincpu.mq@283A0 = 223C000000002819</action>
            <action>maincpu.mq@283A8 = 67066A0244812801</action>
            <action>maincpu.mq@283B0 = 4E75FFFFFFFFFFFF</action>
            <!--
            28390 | 610E           : bsr    $283a0     // x position
            28392 | 202E 0008      : move.l ($8,A6),D0
            28396 | 4E75           : rts
            28398 | 6106           : bsr    $283a0     // y position
            2839A | 202E 000C      : move.l ($c,A6),D0
            2839E | 4E75           : rts
            283A0 | 223C xxxx xxxx : move.l #$xxxx,D1
            283A6 | 2819           : move.l (A1)+,D4
            283A8 | 6706           : beq    $283b0
            283AA | 6A02           : bpl    $283ae
            283AC | 4481           : neg.l  D1
            283AE | 2801           : move.l D1,D4
            283B0 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@283A2 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@16D90 = 2819202E00080804</action>
            <action>maincpu.mq@16DDE = 2811202E000C0804</action>
            <action>maincpu.mq@28390 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28398 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@283A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@283A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@283B0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x00028000">01 (slow)</item>
            <item value="0x00068000">02       </item>
            <item value="0x000a8000">03       </item>
            <item value="0x000e8000">04       </item>
            <item value="0x00128000">05 (fast)</item>
        </parameter>
        <script state="on">
            <!-- "V" -->
            <action>maincpu.mq@16FC4 = 203C0000000042AA</action> <!-- move.l #$xxxx,D0 -->
            <action>maincpu.mq@16FD2 = 2540007C53290004</action> <!-- move.l D0,($7c,A2) -->
            <!-- "S" -->
            <action>maincpu.mq@17086 = 4EB9000283C0301D</action>
            <action>maincpu.mq@283C0 = 588D257C00000000</action>
            <action>maincpu.mq@283C8 = 007C4E75FFFFFFFF</action>
            <!--
            283C0 | 588D                : addq.l #4,A5
            283C2 | 257C xxxx xxxx 007C : move.l #$xxxx,($7c,A2)
            283CA | 4E75                : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@16FC6 = -param</action>
            <action>maincpu.md@283C4 = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@16FC4 = 10290007488042AA</action>
            <action>maincpu.mq@16FD2 = 3540007C53290004</action>
            <action>maincpu.mq@17086 = 201D2540007C301D</action>
            <action>maincpu.mq@283C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@283C8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@01682 = 000283D0        </action>
            <action>maincpu.mq@283D0 = 41F9000901001200</action>
            <action>maincpu.mq@283D8 = 1039000A0003B200</action>
            <action>maincpu.mq@283E0 = 67F40C0000FE6602</action>
            <action>maincpu.mq@283E8 = 53100C0000FD6602</action>
            <action>maincpu.mq@283F0 = 52100C0000F76604</action>
            <action>maincpu.mq@283F8 = 041000100C0000FB</action>
            <action>maincpu.mq@28400 = 6604061000100C00</action>
            <action>maincpu.mq@28408 = 00EF66041E106008</action>
            <action>maincpu.mq@28410 = 0C0000DF66064207</action>
            <action>maincpu.mq@28418 = 4EB86B9660B8FFFF</action>
            <!--
            283D0 | 41F9 0009 0100 : lea    $90100.l,A0 // sound code address
            283D6 | 1200           : move.b D0,D1
            283D8 | 1039 000A 0003 : move.b $a0003.l,D0 // read input
            283DE | B200           : cmp.b  D0,D1
            283E0 | 67F4           : beq    $283d6
            283E2 | 0C00 00FE      : cmpi.b #-$2,D0
            283E6 | 6602           : bne    $283ea
            283E8 | 5310           : subq.b #1,(A0)     // decrease code -01
            283EA | 0C00 00FD      : cmpi.b #-$3,D0
            283EE | 6602           : bne    $283f2
            283F0 | 5210           : addq.b #1,(A0)     // increase code +01
            283F2 | 0C00 00F7      : cmpi.b #-$9,D0
            283F6 | 6604           : bne    $283fc
            283F8 | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
            283FC | 0C00 00FB      : cmpi.b #-$5,D0
            28400 | 6604           : bne    $28406
            28402 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
            28406 | 0C00 00EF      : cmpi.b #-$11,D0
            2840A | 6604           : bne    $28410
            2840C | 1E10           : move.b (A0),D7     // play sound
            2840E | 6008           : bra    $28418
            28410 | 0C00 00DF      : cmpi.b #-$21,D0
            28414 | 6606           : bne    $2841c
            28416 | 4207           : clr.b  D7          // stop sound
            28418 | 4EB8 6B96      : jsr    $6b96.w     // send sound code
            2841C | 60B8           : bra    $283d6
            -->
        </script>
        <script state="run">
            <output format="----- trigon 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@90100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@01682 = 0001E968        </action>
            <action>maincpu.mq@283D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@283D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@283E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@283E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@283F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@283F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28400 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28408 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28410 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@28418 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1128 = 112A</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1128 = 16F2</action>
        </script>
    </cheat>

</mamecheat>
Post Reply