Page 1 of 1

[trigon] Lightning Fighters/Trigon

Posted: Sun Dec 06, 2020 1:36 pm
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>

[trigon] update

Posted: Tue Dec 28, 2021 11:09 am
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>

[lgtnfght]+ Lightning Fighters/Trigon

Posted: Fri Oct 20, 2023 11:54 am
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>