[lordofk] The Astyanax/The Lord of King

This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
Post Reply
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[lordofk] The Astyanax/The Lord of King

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mw@552c = 4e71</action> <!-- enemy 1 -->
        <action>maincpu.mb@9c96 =   60</action> <!-- fire 1 -->
        <action>maincpu.mb@9d3c =   60</action> <!-- fire 2 -->
        <action>maincpu.mb@b108 =   60</action> <!-- enemy 2 -->
        <action>maincpu.mb@bd72 =   60</action> <!-- fire 3 -->
        <action>maincpu.mb@a394 =   60</action> <!-- enemy 3 -->
        <action>maincpu.mb@c22c =   60</action> <!-- fire 4 -->
    </script>
    <script state="off">
        <action>maincpu.mw@552c = 6606</action>
        <action>maincpu.mb@9c96 =   67</action>
        <action>maincpu.mb@9d3c =   67</action>
        <action>maincpu.mb@b108 =   67</action>
        <action>maincpu.mb@bd72 =   67</action>
        <action>maincpu.mb@a394 =   67</action>
        <action>maincpu.mb@c22c =   65</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mq@6920 = 0838000488096700</action>
    </script>
    <script state="off">
        <action>maincpu.mq@6920 = 082e0004003b6700</action>
    </script>
</cheat>

<cheat desc="walk speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0100">02       </item>
        <item value="0x0180">03       </item>
        <item value="0x0200">04       </item>
        <item value="0x0280">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@6a62 = 323c0000</action>
    </script>
    <script state="change">
        <action>maincpu.mw@6a64 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@6a62 = 323af8d4</action>
    </script>
</cheat>

<cheat desc="attack spped up">
    <script state="on">
        <action>maincpu.mq@031b4 = 4eb900012810c07c</action>
        <action>maincpu.mq@12810 = bcfcd55e640a082e</action>
        <action>maincpu.mq@12818 = 0000003367027001</action>
        <action>maincpu.mq@12820 = 3d40001a30014e75</action>
        <!--
        12810 | bcfc d55e      : cmpa.w #$d55e,A6
        12814 | 640a           : bcc    $12820
        12816 | 082e 0000 0033 : btst   #$0,($33,A6)
        1281c | 6702           : beq    $12820
        1281e | 7001           : moveq  #$1,D0
        12820 | 3d40 001a      : move.w D0,($1a,A6)
        12824 | 3001           : move.w D1,D0
        12826 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@031b4 = 3d40001a3001c07c</action>
        <action>maincpu.mq@12810 = ffffffffffffffff</action>
        <action>maincpu.mq@12818 = ffffffffffffffff</action>
        <action>maincpu.mq@12820 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="multiple jump">
    <script state="on">
        <action>maincpu.mq@06b9a = 4eb9000128304e71</action>
        <action>maincpu.mq@12830 = 083800058803670e</action>
        <action>maincpu.mq@12838 = 0838000588096606</action>
        <action>maincpu.mq@12840 = 3d7c000500344eb8</action>
        <action>maincpu.mq@12848 = 68b24a6e002e4e75</action>
        <!--
        12830 | 0838 0005 8803 : btst   #$5,$8803.w
        12836 | 670e           : beq    $12846
        12838 | 0838 0005 8809 : btst   #$5,$8809.w
        1283e | 6606           : bne    $12846
        12840 | 3d7c 0005 0034 : move.w #$5,($34,A6)
        12846 | 4eb8 68b2      : jsr    $68b2.w
        1284a | 4a6e 002e      : tst.w  ($2e,A6)
        1284e | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@06b9a = 6100fd164a6e002e</action>
        <action>maincpu.mq@12830 = ffffffffffffffff</action>
        <action>maincpu.mq@12838 = ffffffffffffffff</action>
        <action>maincpu.mq@12840 = ffffffffffffffff</action>
        <action>maincpu.mq@12848 = ffffffffffffffff</action>
    </script>
</cheat>
Still need test, especially in single play with player 2 and dual play.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[lordofk] The Astyanax/The Lord of King (update)

Post by jman »

Code: Select all

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mq@06920 = 4eb9000128106700</action>
        <action>maincpu.mq@12810 = 43f88803bcfcd25e</action>
        <action>maincpu.mq@12818 = 6702544908110004</action>
        <action>maincpu.mq@12820 = 4e75ffffffffffff</action>
        <!--
        12810 | 43f8 8803 : lea    $8803.w,A1
        12814 | bcfc d25e : cmpa.w #$d25e,A6
        12818 | 6702      : beq    $1281c
        1281a | 5449      : addq.w #2,A1
        1281c | 0811 0004 : btst   #$4,(A1)
        12820 | 4e75      : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@06920 = 082e0004003b6700</action>
        <action>maincpu.mq@12810 = ffffffffffffffff</action>
        <action>maincpu.mq@12818 = ffffffffffffffff</action>
        <action>maincpu.mq@12820 = ffffffffffffffff</action>
    </script>
</cheat>
"auto fire" : unworking for player 2 is fixed.

Code: Select all

<cheat desc="walk speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0180">02       </item>
        <item value="0x0280">03       </item>
        <item value="0x0380">04       </item>
        <item value="0x0480">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@6a62 = 323c0000</action>
    </script>
    <script state="change">
        <action>maincpu.mw@6a64 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@6a62 = 323af8d4</action>
    </script>
</cheat>
"walk speed" : adjusted item values.

Code: Select all

<cheat desc="attack speed up">
    <script state="on">
        <action>maincpu.mq@031b4 = 4eb900012830c07c</action>
        <action>maincpu.mq@12830 = bcfcd55e640a082e</action>
        <action>maincpu.mq@12838 = 0000003367027001</action>
        <action>maincpu.mq@12840 = 3d40001a30014e75</action>
        <!--
        12830 | bcfc d55e      : cmpa.w #$d55e,A6
        12834 | 640a           : bcc    $12840
        12836 | 082e 0000 0033 : btst   #$0,($33,A6)
        1283c | 6702           : beq    $12840
        1283e | 7001           : moveq  #$1,D0
        12840 | 3d40 001a      : move.w D0,($1a,A6)
        12844 | 3001           : move.w D1,D0
        12846 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@031b4 = 3d40001a3001c07c</action>
        <action>maincpu.mq@12830 = ffffffffffffffff</action>
        <action>maincpu.mq@12838 = ffffffffffffffff</action>
        <action>maincpu.mq@12840 = ffffffffffffffff</action>
    </script>
</cheat>
"attack speed up" : reallocated address.

Code: Select all

<cheat desc="multiple jump">
    <script state="on">
        <action>maincpu.mq@06b9a = 4eb9000128504e71</action>
        <action>maincpu.mq@12850 = 41f88803bcfcd25e</action>
        <action>maincpu.mq@12858 = 6702544808100005</action>
        <action>maincpu.mq@12860 = 670e082800050006</action>
        <action>maincpu.mq@12868 = 66063d7c00050034</action>
        <action>maincpu.mq@12870 = 4eb868b24a6e002e</action>
        <action>maincpu.mq@12878 = 4e75ffffffffffff</action>
        <!--
        12850 | 41f8 8803      : lea    $8803.w,A0
        12854 | bcfc d25e      : cmpa.w #$d25e,A6
        12858 | 6702           : beq    $1285c
        1285a | 5448           : addq.w #2,A0
        1285c | 0810 0005      : btst   #$5,(A0)
        12860 | 670e           : beq    $12870
        12862 | 0828 0005 0006 : btst   #$5,($6,A0)
        12868 | 6606           : bne    $12870
        1286a | 3d7c 0005 0034 : move.w #$5,($34,A6)
        12870 | 4eb8 68b2      : jsr    $68b2.w
        12874 | 4a6e 002e      : tst.w  ($2e,A6)
        12878 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@06b9a = 6100fd164a6e002e</action>
        <action>maincpu.mq@12850 = ffffffffffffffff</action>
        <action>maincpu.mq@12858 = ffffffffffffffff</action>
        <action>maincpu.mq@12860 = ffffffffffffffff</action>
        <action>maincpu.mq@12868 = ffffffffffffffff</action>
        <action>maincpu.mq@12870 = ffffffffffffffff</action>
        <action>maincpu.mq@12878 = ffffffffffffffff</action>
    </script>
</cheat>
"multiple jump" : unworking for player 2 is fixed.

Code: Select all

<cheat desc="maximum axe power">
    <script state="on">
        <action>maincpu.mw@5bfe = 4e71</action>
    </script>
    <script state="off">
        <action>maincpu.mw@5bfe = 6b08</action>
    </script>
</cheat>
"maximum axe power" : add new.

Code: Select all

<cheat desc="timer speed">
    <parameter>
        <item value="0x0100">01 (slow)</item>
        <item value="0x0080">02       </item>
        <item value="0x0040">03       </item>
        <item value="0x0020">04       </item>
        <item value="0x0001">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@fae0 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mw@fae0 = 0039</action>
    </script>
</cheat>
"timer speed" : add new.

Code: Select all

<cheat desc="sound test mode">
    <!-- you can't stop sfx by sound stop button -->
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mq@10b74 = 4eb900012880303c</action>
        <action>maincpu.mq@12880 = 41f8810043f90008</action>
        <action>maincpu.mq@12888 = 43084279ffff0214</action>
        <action>maincpu.mq@12890 = 1200103900080003</action>
        <action>maincpu.mq@12898 = b20067ee0c0000fd</action>
        <action>maincpu.mq@128a0 = 660253500c0000fe</action>
        <action>maincpu.mq@128a8 = 660252500c0000fb</action>
        <action>maincpu.mq@128b0 = 6604045000100c00</action>
        <action>maincpu.mq@128b8 = 00f7660406500010</action>
        <action>maincpu.mq@128c0 = 0c0000ef66023290</action>
        <action>maincpu.mq@128c8 = 0c0000df66024251</action>
        <action>maincpu.mq@128d0 = 60b8ffffffffffff</action>
        <!--
        12880 | 41f8 8100      : lea    $8100.w,A0  // sound code address
        12884 | 43f9 0008 4308 : lea    $84308.l,A1 // sound latch address
        1288a | 4279 ffff 0214 : clr.w  $ffff0214.l // software watchdog
        12890 | 1200           : move.b D0,D1
        12892 | 1039 0008 0003 : move.b $80003.l,D0 // read input
        12898 | b200           : cmp.b  D0,D1
        1289a | 67ee           : beq    $1288a
        1289c | 0c00 00fd      : cmpi.b #-$3,D0
        128a0 | 6602           : bne    $128a4
        128a2 | 5350           : subq.w #1,(A0)     // decrease code -01
        128a4 | 0c00 00fe      : cmpi.b #-$2,D0
        128a8 | 6602           : bne    $128ac
        128aa | 5250           : addq.w #1,(A0)     // increase code +01
        128ac | 0c00 00fb      : cmpi.b #-$5,D0
        128b0 | 6604           : bne    $128b6
        128b2 | 0450 0010      : subi.w #$10,(A0)   // decrease code -10
        128b6 | 0c00 00f7      : cmpi.b #-$9,D0
        128ba | 6604           : bne    $128c0
        128bc | 0650 0010      : addi.w #$10,(A0)   // increase code +10
        128c0 | 0c00 00ef      : cmpi.b #-$11,D0
        128c4 | 6602           : bne    $128c8
        128c6 | 3290           : move.w (A0),(A1)   // play sound
        128c8 | 0c00 00df      : cmpi.b #-$21,D0
        128cc | 6602           : bne    $128d0
        128ce | 4251           : clr.w  (A1)        // stop music
        128d0 | 60b8           : bra    $1288a
        -->
    </script>
    <script state="run">
        <output format="----- the lord of king 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 music"                        line="16" align="center" />
        <output format="----------------------------"                 line="17" align="center" />
        <output format="&lt;&lt; sound code %4.4X &gt;&gt;"           line="19" align="center"  >
            <argument>maincpu.pw@ff8100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@10b74 = 72004eb81528303c</action>
        <action>maincpu.mq@12880 = ffffffffffffffff</action>
        <action>maincpu.mq@12888 = ffffffffffffffff</action>
        <action>maincpu.mq@12890 = ffffffffffffffff</action>
        <action>maincpu.mq@12898 = ffffffffffffffff</action>
        <action>maincpu.mq@128a0 = ffffffffffffffff</action>
        <action>maincpu.mq@128a8 = ffffffffffffffff</action>
        <action>maincpu.mq@128b0 = ffffffffffffffff</action>
        <action>maincpu.mq@128b8 = ffffffffffffffff</action>
        <action>maincpu.mq@128c0 = ffffffffffffffff</action>
        <action>maincpu.mq@128c8 = ffffffffffffffff</action>
        <action>maincpu.mq@128d0 = ffffffffffffffff</action>
    </script>
</cheat>
"sound test mode" : add new. you can't stop sfx by sound stop button though.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[astyanax]+ The Astyanax/The Lord of King

Post by jman »

astyanax.xml

Code: Select all

<!-- The Astyanax (EPROM version) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@5530 = 4E71</action> <!-- enemy -->
            <action>maincpu.mw@9C6C = 6014</action> <!-- bullet -->
            <action>maincpu.mw@9D12 = 6014</action> <!-- bullet -->
            <action>maincpu.mw@A354 = 603E</action> <!-- enemy -->
            <action>maincpu.mw@B0B0 = 600E</action> <!-- enemy -->
            <action>maincpu.mw@BD1A = 600E</action> <!-- bullet -->
            <action>maincpu.mw@C1D4 = 600E</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mw@5530 = 6606</action>
            <action>maincpu.mw@9C6C = 6714</action>
            <action>maincpu.mw@9D12 = 6714</action>
            <action>maincpu.mw@A354 = 673E</action>
            <action>maincpu.mw@B0B0 = 670E</action>
            <action>maincpu.mw@BD1A = 670E</action>
            <action>maincpu.mw@C1D4 = 650E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@06924 = 4EB9000127D06700</action>
            <action>maincpu.mq@127D0 = 246D0034082A0004</action>
            <action>maincpu.mq@127D8 = 00014E75FFFFFFFF</action>
            <!--
            127D0 | 246D 0034      : movea.l ($34,A5), A2
            127D4 | 082A 0004 0001 : btst    #$4, ($1,A2)
            127DA | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@06920 = 082E0004003B6700</action>
            <action>maincpu.mq@127D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@127D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0380">04       </item>
            <item value="0x0480">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@6A56 = 323C</action>
        </script>
        <script state="change">
            <action>maincpu.mw@6A58 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@6A56 = 323AF8E4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@031B4 = 4EB9000127E0C07C</action>
            <action>maincpu.mq@127E0 = BCFCD3DE6E0A082E</action>
            <action>maincpu.mq@127E8 = 0000003367027001</action>
            <action>maincpu.mq@127F0 = 3D40001A30014E75</action>
            <!--
            127E0 | BCFC D3DE      : cmpa.w  #$d3de, A6
            127E4 | 6E0A           : bgt     $127f0
            127E6 | 082E 0000 0033 : btst    #$0, ($33,A6)
            127EC | 6702           : beq     $127f0
            127EE | 7001           : moveq   #$1, D0
            127F0 | 3D40 001A      : move.w  D0, ($1a,A6)
            127F4 | 3001           : move.w  D1, D0
            127F6 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@031B4 = 3D40001A3001C07C</action>
            <action>maincpu.mq@127E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@127E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@127F0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@06B84 = 4EB9000128004E71</action>
            <action>maincpu.mq@12800 = 206D003408280005</action>
            <action>maincpu.mq@12808 = FFFB670E08280005</action>
            <action>maincpu.mq@12810 = 000166063D7C0005</action>
            <action>maincpu.mq@12818 = 00344EB868B64A6E</action>
            <action>maincpu.mq@12820 = 002E4E75FFFFFFFF</action>
            <!--
            12800 | 206D 0034      : movea.l ($34,A5), A0
            12804 | 0828 0005 FFFB : btst    #$5, (-$5,A0)
            1280A | 670E           : beq     $1281a
            1280C | 0828 0005 0001 : btst    #$5, ($1,A0)
            12812 | 6606           : bne     $1281a
            12814 | 3D7C 0005 0034 : move.w  #$5, ($34,A6)
            1281A | 4EB8 68B6      : jsr     $68b6.w
            1281E | 4A6E 002E      : tst.w   ($2e,A6)
            12822 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@06B84 = 6100FD304A6E002E</action>
            <action>maincpu.mq@12800 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12808 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12810 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12818 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12820 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="maximum axe power">
        <script state="on">
            <action>maincpu.mw@5C02 = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@5C02 = 6B08</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@FA88 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@FA88 = 0039</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop sfx by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@10B1C = 4EB900012830303C</action>
            <action>maincpu.mq@12830 = 41F8800043F90008</action>
            <action>maincpu.mq@12838 = 43084279FFFF0214</action>
            <action>maincpu.mq@12840 = 12001029BCFBB200</action>
            <action>maincpu.mq@12848 = 67F00C0000FD6602</action>
            <action>maincpu.mq@12850 = 53500C0000FE6602</action>
            <action>maincpu.mq@12858 = 52500C0000FB6604</action>
            <action>maincpu.mq@12860 = 045000100C0000F7</action>
            <action>maincpu.mq@12868 = 6604065000100C00</action>
            <action>maincpu.mq@12870 = 00EF660232900C00</action>
            <action>maincpu.mq@12878 = 00DF6602425160BA</action>
            <!--
            12830 | 41F8 8000      : lea     $8000.w, A0     // sound code address ($ff8000)
            12834 | 43F9 0008 4308 : lea     $84308.l, A1    // sound latch address
            1283A | 4279 FFFF 0214 : clr.w   $ffff0214.l     // software watchdog
            12840 | 1200           : move.b  D0, D1
            12842 | 1029 BCFB      : move.b  (-$4305,A1), D0 // read input ($80003)
            12846 | B200           : cmp.b   D0, D1
            12848 | 67F0           : beq     $1283a
            1284A | 0C00 00FD      : cmpi.b  #-$3, D0
            1284E | 6602           : bne     $12852
            12850 | 5350           : subq.w  #1, (A0)        // decrease code -01
            12852 | 0C00 00FE      : cmpi.b  #-$2, D0
            12856 | 6602           : bne     $1285a
            12858 | 5250           : addq.w  #1, (A0)        // increase code +01
            1285A | 0C00 00FB      : cmpi.b  #-$5, D0
            1285E | 6604           : bne     $12864
            12860 | 0450 0010      : subi.w  #$10, (A0)      // decrease code -10
            12864 | 0C00 00F7      : cmpi.b  #-$9, D0
            12868 | 6604           : bne     $1286e
            1286A | 0650 0010      : addi.w  #$10, (A0)      // increase code +10
            1286E | 0C00 00EF      : cmpi.b  #-$11, D0
            12872 | 6602           : bne     $12876
            12874 | 3290           : move.w  (A0), (A1)      // play sound
            12876 | 0C00 00DF      : cmpi.b  #-$21, D0
            1287A | 6602           : bne     $1287e
            1287C | 4251           : clr.w   (A1)            // stop sound
            1287E | 60BA           : bra     $1283a
            -->
        </script>
        <script state="run">
            <output format="----- the astyanax 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 %04X &gt;&gt;"        line="19" align="center"  >
                <argument>maincpu.pw@FF8000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@10B1C = 72004EB81528303C</action>
            <action>maincpu.mq@12830 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12838 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12840 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12848 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12850 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12858 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12860 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12868 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12870 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12878 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
astyanaxa.xml

Code: Select all

<!-- The Astyanax (mask ROM version) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@5530 = 4E71</action> <!-- enemy -->
            <action>maincpu.mw@9C6C = 6014</action> <!-- bullet -->
            <action>maincpu.mw@9D12 = 6014</action> <!-- bullet -->
            <action>maincpu.mw@A354 = 603E</action> <!-- enemy -->
            <action>maincpu.mw@B0B0 = 600E</action> <!-- enemy -->
            <action>maincpu.mw@BD1A = 600E</action> <!-- bullet -->
            <action>maincpu.mw@C1D4 = 600E</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mw@5530 = 6606</action>
            <action>maincpu.mw@9C6C = 6714</action>
            <action>maincpu.mw@9D12 = 6714</action>
            <action>maincpu.mw@A354 = 673E</action>
            <action>maincpu.mw@B0B0 = 670E</action>
            <action>maincpu.mw@BD1A = 670E</action>
            <action>maincpu.mw@C1D4 = 650E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@06924 = 4EB9000127D06700</action>
            <action>maincpu.mq@127D0 = 246D0034082A0004</action>
            <action>maincpu.mq@127D8 = 00014E75FFFFFFFF</action>
            <!--
            127D0 | 246D 0034      : movea.l ($34,A5), A2
            127D4 | 082A 0004 0001 : btst    #$4, ($1,A2)
            127DA | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@06920 = 082E0004003B6700</action>
            <action>maincpu.mq@127D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@127D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0380">04       </item>
            <item value="0x0480">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@6A56 = 323C</action>
        </script>
        <script state="change">
            <action>maincpu.mw@6A58 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@6A56 = 323AF8E4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@031B4 = 4EB9000127E0C07C</action>
            <action>maincpu.mq@127E0 = BCFCD3DE6E0A082E</action>
            <action>maincpu.mq@127E8 = 0000003367027001</action>
            <action>maincpu.mq@127F0 = 3D40001A30014E75</action>
            <!--
            127E0 | BCFC D3DE      : cmpa.w  #$d3de, A6
            127E4 | 6E0A           : bgt     $127f0
            127E6 | 082E 0000 0033 : btst    #$0, ($33,A6)
            127EC | 6702           : beq     $127f0
            127EE | 7001           : moveq   #$1, D0
            127F0 | 3D40 001A      : move.w  D0, ($1a,A6)
            127F4 | 3001           : move.w  D1, D0
            127F6 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@031B4 = 3D40001A3001C07C</action>
            <action>maincpu.mq@127E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@127E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@127F0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@06B84 = 4EB9000128004E71</action>
            <action>maincpu.mq@12800 = 206D003408280005</action>
            <action>maincpu.mq@12808 = FFFB670E08280005</action>
            <action>maincpu.mq@12810 = 000166063D7C0005</action>
            <action>maincpu.mq@12818 = 00344EB868B64A6E</action>
            <action>maincpu.mq@12820 = 002E4E75FFFFFFFF</action>
            <!--
            12800 | 206D 0034      : movea.l ($34,A5), A0
            12804 | 0828 0005 FFFB : btst    #$5, (-$5,A0)
            1280A | 670E           : beq     $1281a
            1280C | 0828 0005 0001 : btst    #$5, ($1,A0)
            12812 | 6606           : bne     $1281a
            12814 | 3D7C 0005 0034 : move.w  #$5, ($34,A6)
            1281A | 4EB8 68B6      : jsr     $68b6.w
            1281E | 4A6E 002E      : tst.w   ($2e,A6)
            12822 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@06B84 = 6100FD304A6E002E</action>
            <action>maincpu.mq@12800 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12808 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12810 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12818 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12820 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="maximum axe power">
        <script state="on">
            <action>maincpu.mw@5C02 = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@5C02 = 6B08</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@FA88 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@FA88 = 0039</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop sfx by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@10B1C = 4EB900012830303C</action>
            <action>maincpu.mq@12830 = 41F8800043F90008</action>
            <action>maincpu.mq@12838 = 43084279FFFF0214</action>
            <action>maincpu.mq@12840 = 12001029BCFBB200</action>
            <action>maincpu.mq@12848 = 67F00C0000FD6602</action>
            <action>maincpu.mq@12850 = 53500C0000FE6602</action>
            <action>maincpu.mq@12858 = 52500C0000FB6604</action>
            <action>maincpu.mq@12860 = 045000100C0000F7</action>
            <action>maincpu.mq@12868 = 6604065000100C00</action>
            <action>maincpu.mq@12870 = 00EF660232900C00</action>
            <action>maincpu.mq@12878 = 00DF6602425160BA</action>
            <!--
            12830 | 41F8 8000      : lea     $8000.w, A0     // sound code address ($ff8000)
            12834 | 43F9 0008 4308 : lea     $84308.l, A1    // sound latch address
            1283A | 4279 FFFF 0214 : clr.w   $ffff0214.l     // software watchdog
            12840 | 1200           : move.b  D0, D1
            12842 | 1029 BCFB      : move.b  (-$4305,A1), D0 // read input ($80003)
            12846 | B200           : cmp.b   D0, D1
            12848 | 67F0           : beq     $1283a
            1284A | 0C00 00FD      : cmpi.b  #-$3, D0
            1284E | 6602           : bne     $12852
            12850 | 5350           : subq.w  #1, (A0)        // decrease code -01
            12852 | 0C00 00FE      : cmpi.b  #-$2, D0
            12856 | 6602           : bne     $1285a
            12858 | 5250           : addq.w  #1, (A0)        // increase code +01
            1285A | 0C00 00FB      : cmpi.b  #-$5, D0
            1285E | 6604           : bne     $12864
            12860 | 0450 0010      : subi.w  #$10, (A0)      // decrease code -10
            12864 | 0C00 00F7      : cmpi.b  #-$9, D0
            12868 | 6604           : bne     $1286e
            1286A | 0650 0010      : addi.w  #$10, (A0)      // increase code +10
            1286E | 0C00 00EF      : cmpi.b  #-$11, D0
            12872 | 6602           : bne     $12876
            12874 | 3290           : move.w  (A0), (A1)      // play sound
            12876 | 0C00 00DF      : cmpi.b  #-$21, D0
            1287A | 6602           : bne     $1287e
            1287C | 4251           : clr.w   (A1)            // stop sound
            1287E | 60BA           : bra     $1283a
            -->
        </script>
        <script state="run">
            <output format="----- the astyanax 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 %04X &gt;&gt;"        line="19" align="center"  >
                <argument>maincpu.pw@FF8000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@10B1C = 72004EB81528303C</action>
            <action>maincpu.mq@12830 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12838 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12840 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12848 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12850 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12858 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12860 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12868 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12870 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12878 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
lordofk.xml

Code: Select all

<!-- The Lord of King (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@552C = 4E71</action> <!-- enemy -->
            <action>maincpu.mw@9C96 = 6014</action> <!-- bullet -->
            <action>maincpu.mw@9D3C = 6014</action> <!-- bullet -->
            <action>maincpu.mw@A394 = 603E</action> <!-- enemy -->
            <action>maincpu.mw@B108 = 600E</action> <!-- enemy -->
            <action>maincpu.mw@BD72 = 600E</action> <!-- bullet -->
            <action>maincpu.mw@C22C = 600E</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mw@552C = 6606</action>
            <action>maincpu.mw@9C96 = 6714</action>
            <action>maincpu.mw@9D3C = 6714</action>
            <action>maincpu.mw@A394 = 673E</action>
            <action>maincpu.mw@B108 = 670E</action>
            <action>maincpu.mw@BD72 = 670E</action>
            <action>maincpu.mw@C22C = 650E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@06920 = 4EB9000128106700</action>
            <action>maincpu.mq@12810 = 246D0034082A0004</action>
            <action>maincpu.mq@12818 = 00014E75FFFFFFFF</action>
            <!--
            12810 | 246D 0034      : movea.l ($34,A5), A2
            12814 | 082A 0004 0001 : btst    #$4, ($1,A2)
            1281A | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@06920 = 082E0004003B6700</action>
            <action>maincpu.mq@12810 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12818 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0380">04       </item>
            <item value="0x0480">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@6A62 = 323C</action>
        </script>
        <script state="change">
            <action>maincpu.mw@6A64 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@6A62 = 323AF8D4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@031B4 = 4EB900012820C07C</action>
            <action>maincpu.mq@12820 = BCFCD3DE6E0A082E</action>
            <action>maincpu.mq@12828 = 0000003367027001</action>
            <action>maincpu.mq@12830 = 3D40001A30014E75</action>
            <!--
            12820 | BCFC D3DE      : cmpa.w  #$d3de, A6
            12824 | 6E0A           : bgt     $12830
            12826 | 082E 0000 0033 : btst    #$0, ($33,A6)
            1282C | 6702           : beq     $12830
            1282E | 7001           : moveq   #$1, D0
            12830 | 3D40 001A      : move.w  D0, ($1a,A6)
            12834 | 3001           : move.w  D1, D0
            12836 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@031B4 = 3D40001A3001C07C</action>
            <action>maincpu.mq@12820 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12828 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12830 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@06B9A = 4EB9000128404E71</action>
            <action>maincpu.mq@12840 = 206D003408280005</action>
            <action>maincpu.mq@12848 = FFFB670E08280005</action>
            <action>maincpu.mq@12850 = 000166063D7C0005</action>
            <action>maincpu.mq@12858 = 00344EB868B24A6E</action>
            <action>maincpu.mq@12860 = 002E4E75FFFFFFFF</action>
            <!--
            12840 | 206D 0034      : movea.l ($34,A5), A0
            12844 | 0828 0005 0001 : btst    #$5, (-$5,A0)
            1284A | 670E           : beq     $1285a
            1284C | 0828 0005 0001 : btst    #$5, ($1,A0)
            12852 | 6606           : bne     $1285a
            12854 | 3D7C 0005 0034 : move.w  #$5, ($34,A6)
            1285A | 4EB8 68B2      : jsr     $68b2.w
            1285E | 4A6E 002E      : tst.w   ($2e,A6)
            12862 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@06B9A = 6100FD164A6E002E</action>
            <action>maincpu.mq@12840 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12848 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12850 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12858 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12860 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="maximum axe power">
        <script state="on">
            <action>maincpu.mw@5BFE = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@5BFE = 6B08</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@FAE0 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@FAE0 = 0039</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop sfx by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@10B74 = 4EB900012870303C</action>
            <action>maincpu.mq@12870 = 41F8800043F90008</action>
            <action>maincpu.mq@12878 = 43084279FFFF0214</action>
            <action>maincpu.mq@12880 = 12001029BCFBB200</action>
            <action>maincpu.mq@12888 = 67F00C0000FD6602</action>
            <action>maincpu.mq@12890 = 53500C0000FE6602</action>
            <action>maincpu.mq@12898 = 52500C0000FB6604</action>
            <action>maincpu.mq@128A0 = 045000100C0000F7</action>
            <action>maincpu.mq@128A8 = 6604065000100C00</action>
            <action>maincpu.mq@128B0 = 00EF660232900C00</action>
            <action>maincpu.mq@128B8 = 00DF6602425160BA</action>
            <!--
            12870 | 41F8 8000      : lea     $8000.w, A0     // sound code address ($ff8000)
            12874 | 43F9 0008 4308 : lea     $84308.l, A1    // sound latch address
            1287A | 4279 FFFF 0214 : clr.w   $ffff0214.l     // software watchdog
            12880 | 1200           : move.b  D0, D1
            12882 | 1029 BCFB      : move.b  (-$4305,A1), D0 // read input ($80003)
            12886 | B200           : cmp.b   D0, D1
            12888 | 67F0           : beq     $1287a
            1288A | 0C00 00FD      : cmpi.b  #-$3, D0
            1288E | 6602           : bne     $12892
            12890 | 5350           : subq.w  #1, (A0)        // decrease code -01
            12892 | 0C00 00FE      : cmpi.b  #-$2, D0
            12896 | 6602           : bne     $1289a
            12898 | 5250           : addq.w  #1, (A0)        // increase code +01
            1289A | 0C00 00FB      : cmpi.b  #-$5, D0
            1289E | 6604           : bne     $128a4
            128A0 | 0450 0010      : subi.w  #$10, (A0)      // decrease code -10
            128A4 | 0C00 00F7      : cmpi.b  #-$9, D0
            128A8 | 6604           : bne     $128ae
            128AA | 0650 0010      : addi.w  #$10, (A0)      // increase code +10
            128AE | 0C00 00EF      : cmpi.b  #-$11, D0
            128B2 | 6602           : bne     $128b6
            128B4 | 3290           : move.w  (A0), (A1)      // play sound
            128B6 | 0C00 00DF      : cmpi.b  #-$21, D0
            128BA | 6602           : bne     $128be
            128BC | 4251           : clr.w   (A1)            // stop sound
            128BE | 60BA           : bra     $1287a
            -->
        </script>
        <script state="run">
            <output format="----- the lord of king 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 %04X &gt;&gt;"            line="19" align="center"  >
                <argument>maincpu.pw@FF8000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@10B74 = 72004EB81528303C</action>
            <action>maincpu.mq@12870 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12878 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12880 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12888 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12890 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12898 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@128A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@128A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@128B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@128B8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
lordofkb.xml

Code: Select all

<!-- The Lord of King (bootleg, not protected) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@552C = 4E71</action> <!-- enemy -->
            <action>maincpu.mw@9C96 = 6014</action> <!-- bullet -->
            <action>maincpu.mw@9D3C = 6014</action> <!-- bullet -->
            <action>maincpu.mw@A394 = 603E</action> <!-- enemy -->
            <action>maincpu.mw@B108 = 600E</action> <!-- enemy -->
            <action>maincpu.mw@BD72 = 600E</action> <!-- bullet -->
            <action>maincpu.mw@C22C = 600E</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mw@552C = 6606</action>
            <action>maincpu.mw@9C96 = 6714</action>
            <action>maincpu.mw@9D3C = 6714</action>
            <action>maincpu.mw@A394 = 673E</action>
            <action>maincpu.mw@B108 = 670E</action>
            <action>maincpu.mw@BD72 = 670E</action>
            <action>maincpu.mw@C22C = 650E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@06920 = 4EB9000128106700</action>
            <action>maincpu.mq@12810 = 246D0034082A0004</action>
            <action>maincpu.mq@12818 = 00014E75FFFFFFFF</action>
            <!--
            12810 | 246D 0034      : movea.l ($34,A5), A2
            12814 | 082A 0004 0001 : btst    #$4, ($1,A2)
            1281A | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@06920 = 082E0004003B6700</action>
            <action>maincpu.mq@12810 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12818 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0380">04       </item>
            <item value="0x0480">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@6A62 = 323C</action>
        </script>
        <script state="change">
            <action>maincpu.mw@6A64 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@6A62 = 323AF8D4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@031B4 = 4EB900012820C07C</action>
            <action>maincpu.mq@12820 = BCFCD3DE6E0A082E</action>
            <action>maincpu.mq@12828 = 0000003367027001</action>
            <action>maincpu.mq@12830 = 3D40001A30014E75</action>
            <!--
            12820 | BCFC D3DE      : cmpa.w  #$d3de, A6
            12824 | 6E0A           : bgt     $12830
            12826 | 082E 0000 0033 : btst    #$0, ($33,A6)
            1282C | 6702           : beq     $12830
            1282E | 7001           : moveq   #$1, D0
            12830 | 3D40 001A      : move.w  D0, ($1a,A6)
            12834 | 3001           : move.w  D1, D0
            12836 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@031B4 = 3D40001A3001C07C</action>
            <action>maincpu.mq@12820 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12828 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12830 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@06B9A = 4EB9000128404E71</action>
            <action>maincpu.mq@12840 = 206D003408280005</action>
            <action>maincpu.mq@12848 = FFFB670E08280005</action>
            <action>maincpu.mq@12850 = 000166063D7C0005</action>
            <action>maincpu.mq@12858 = 00344EB868B24A6E</action>
            <action>maincpu.mq@12860 = 002E4E75FFFFFFFF</action>
            <!--
            12840 | 206D 0034      : movea.l ($34,A5), A0
            12844 | 0828 0005 0001 : btst    #$5, (-$5,A0)
            1284A | 670E           : beq     $1285a
            1284C | 0828 0005 0001 : btst    #$5, ($1,A0)
            12852 | 6606           : bne     $1285a
            12854 | 3D7C 0005 0034 : move.w  #$5, ($34,A6)
            1285A | 4EB8 68B2      : jsr     $68b2.w
            1285E | 4A6E 002E      : tst.w   ($2e,A6)
            12862 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@06B9A = 6100FD164A6E002E</action>
            <action>maincpu.mq@12840 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12848 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12850 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12858 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12860 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="maximum axe power">
        <script state="on">
            <action>maincpu.mw@5BFE = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@5BFE = 6B08</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@FAE0 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@FAE0 = 0039</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop sfx by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@10B74 = 4EB900012870303C</action>
            <action>maincpu.mq@12870 = 41F8800043F90008</action>
            <action>maincpu.mq@12878 = 43084279FFFF0214</action>
            <action>maincpu.mq@12880 = 12001029BCFBB200</action>
            <action>maincpu.mq@12888 = 67F00C0000FD6602</action>
            <action>maincpu.mq@12890 = 53500C0000FE6602</action>
            <action>maincpu.mq@12898 = 52500C0000FB6604</action>
            <action>maincpu.mq@128A0 = 045000100C0000F7</action>
            <action>maincpu.mq@128A8 = 6604065000100C00</action>
            <action>maincpu.mq@128B0 = 00EF660232900C00</action>
            <action>maincpu.mq@128B8 = 00DF6602425160BA</action>
            <!--
            12870 | 41F8 8000      : lea     $8000.w, A0     // sound code address ($ff8000)
            12874 | 43F9 0008 4308 : lea     $84308.l, A1    // sound latch address
            1287A | 4279 FFFF 0214 : clr.w   $ffff0214.l     // software watchdog
            12880 | 1200           : move.b  D0, D1
            12882 | 1029 BCFB      : move.b  (-$4305,A1), D0 // read input ($80003)
            12886 | B200           : cmp.b   D0, D1
            12888 | 67F0           : beq     $1287a
            1288A | 0C00 00FD      : cmpi.b  #-$3, D0
            1288E | 6602           : bne     $12892
            12890 | 5350           : subq.w  #1, (A0)        // decrease code -01
            12892 | 0C00 00FE      : cmpi.b  #-$2, D0
            12896 | 6602           : bne     $1289a
            12898 | 5250           : addq.w  #1, (A0)        // increase code +01
            1289A | 0C00 00FB      : cmpi.b  #-$5, D0
            1289E | 6604           : bne     $128a4
            128A0 | 0450 0010      : subi.w  #$10, (A0)      // decrease code -10
            128A4 | 0C00 00F7      : cmpi.b  #-$9, D0
            128A8 | 6604           : bne     $128ae
            128AA | 0650 0010      : addi.w  #$10, (A0)      // increase code +10
            128AE | 0C00 00EF      : cmpi.b  #-$11, D0
            128B2 | 6602           : bne     $128b6
            128B4 | 3290           : move.w  (A0), (A1)      // play sound
            128B6 | 0C00 00DF      : cmpi.b  #-$21, D0
            128BA | 6602           : bne     $128be
            128BC | 4251           : clr.w   (A1)            // stop sound
            128BE | 60BA           : bra     $1287a
            -->
        </script>
        <script state="run">
            <output format="----- the lord of king 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 %04X &gt;&gt;"            line="19" align="center"  >
                <argument>maincpu.pw@FF8000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@10B74 = 72004EB81528303C</action>
            <action>maincpu.mq@12870 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12878 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12880 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12888 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12890 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12898 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@128A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@128A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@128B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@128B8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
lordofkbp.xml

Code: Select all

<!-- The Lord of King (bootleg, protected) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@552C = 4E71</action> <!-- enemy -->
            <action>maincpu.mw@9C96 = 6014</action> <!-- bullet -->
            <action>maincpu.mw@9D3C = 6014</action> <!-- bullet -->
            <action>maincpu.mw@A394 = 603E</action> <!-- enemy -->
            <action>maincpu.mw@B108 = 600E</action> <!-- enemy -->
            <action>maincpu.mw@BD72 = 600E</action> <!-- bullet -->
            <action>maincpu.mw@C22C = 600E</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mw@552C = 6606</action>
            <action>maincpu.mw@9C96 = 6714</action>
            <action>maincpu.mw@9D3C = 6714</action>
            <action>maincpu.mw@A394 = 673E</action>
            <action>maincpu.mw@B108 = 670E</action>
            <action>maincpu.mw@BD72 = 670E</action>
            <action>maincpu.mw@C22C = 650E</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@06920 = 4EB9000128106700</action>
            <action>maincpu.mq@12810 = 246D0034082A0004</action>
            <action>maincpu.mq@12818 = 00014E75FFFFFFFF</action>
            <!--
            12810 | 246D 0034      : movea.l ($34,A5), A2
            12814 | 082A 0004 0001 : btst    #$4, ($1,A2)
            1281A | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@06920 = 082E0004003B6700</action>
            <action>maincpu.mq@12810 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12818 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="walk speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0380">04       </item>
            <item value="0x0480">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@6A62 = 323C</action>
        </script>
        <script state="change">
            <action>maincpu.mw@6A64 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@6A62 = 323AF8D4</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@031B4 = 4EB900012820C07C</action>
            <action>maincpu.mq@12820 = BCFCD3DE6E0A082E</action>
            <action>maincpu.mq@12828 = 0000003367027001</action>
            <action>maincpu.mq@12830 = 3D40001A30014E75</action>
            <!--
            12820 | BCFC D3DE      : cmpa.w  #$d3de, A6
            12824 | 6E0A           : bgt     $12830
            12826 | 082E 0000 0033 : btst    #$0, ($33,A6)
            1282C | 6702           : beq     $12830
            1282E | 7001           : moveq   #$1, D0
            12830 | 3D40 001A      : move.w  D0, ($1a,A6)
            12834 | 3001           : move.w  D1, D0
            12836 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@031B4 = 3D40001A3001C07C</action>
            <action>maincpu.mq@12820 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12828 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12830 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.mq@06B9A = 4EB9000128404E71</action>
            <action>maincpu.mq@12840 = 206D003408280005</action>
            <action>maincpu.mq@12848 = FFFB670E08280005</action>
            <action>maincpu.mq@12850 = 000166063D7C0005</action>
            <action>maincpu.mq@12858 = 00344EB868B24A6E</action>
            <action>maincpu.mq@12860 = 002E4E75FFFFFFFF</action>
            <!--
            12840 | 206D 0034      : movea.l ($34,A5), A0
            12844 | 0828 0005 0001 : btst    #$5, (-$5,A0)
            1284A | 670E           : beq     $1285a
            1284C | 0828 0005 0001 : btst    #$5, ($1,A0)
            12852 | 6606           : bne     $1285a
            12854 | 3D7C 0005 0034 : move.w  #$5, ($34,A6)
            1285A | 4EB8 68B2      : jsr     $68b2.w
            1285E | 4A6E 002E      : tst.w   ($2e,A6)
            12862 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@06B9A = 6100FD164A6E002E</action>
            <action>maincpu.mq@12840 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12848 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12850 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12858 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12860 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="maximum axe power">
        <script state="on">
            <action>maincpu.mw@5BFE = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@5BFE = 6B08</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@FAE0 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@FAE0 = 0039</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop sfx by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mq@10B74 = 4EB900012870303C</action>
            <action>maincpu.mq@12870 = 41F8800043F90008</action>
            <action>maincpu.mq@12878 = 43084279FFFF0214</action>
            <action>maincpu.mq@12880 = 12001029BCFBB200</action>
            <action>maincpu.mq@12888 = 67F00C0000FD6602</action>
            <action>maincpu.mq@12890 = 53500C0000FE6602</action>
            <action>maincpu.mq@12898 = 52500C0000FB6604</action>
            <action>maincpu.mq@128A0 = 045000100C0000F7</action>
            <action>maincpu.mq@128A8 = 6604065000100C00</action>
            <action>maincpu.mq@128B0 = 00EF660232900C00</action>
            <action>maincpu.mq@128B8 = 00DF6602425160BA</action>
            <!--
            12870 | 41F8 8000      : lea     $8000.w, A0     // sound code address ($ff8000)
            12874 | 43F9 0008 4308 : lea     $84308.l, A1    // sound latch address
            1287A | 4279 FFFF 0214 : clr.w   $ffff0214.l     // software watchdog
            12880 | 1200           : move.b  D0, D1
            12882 | 1029 BCFB      : move.b  (-$4305,A1), D0 // read input ($80003)
            12886 | B200           : cmp.b   D0, D1
            12888 | 67F0           : beq     $1287a
            1288A | 0C00 00FD      : cmpi.b  #-$3, D0
            1288E | 6602           : bne     $12892
            12890 | 5350           : subq.w  #1, (A0)        // decrease code -01
            12892 | 0C00 00FE      : cmpi.b  #-$2, D0
            12896 | 6602           : bne     $1289a
            12898 | 5250           : addq.w  #1, (A0)        // increase code +01
            1289A | 0C00 00FB      : cmpi.b  #-$5, D0
            1289E | 6604           : bne     $128a4
            128A0 | 0450 0010      : subi.w  #$10, (A0)      // decrease code -10
            128A4 | 0C00 00F7      : cmpi.b  #-$9, D0
            128A8 | 6604           : bne     $128ae
            128AA | 0650 0010      : addi.w  #$10, (A0)      // increase code +10
            128AE | 0C00 00EF      : cmpi.b  #-$11, D0
            128B2 | 6602           : bne     $128b6
            128B4 | 3290           : move.w  (A0), (A1)      // play sound
            128B6 | 0C00 00DF      : cmpi.b  #-$21, D0
            128BA | 6602           : bne     $128be
            128BC | 4251           : clr.w   (A1)            // stop sound
            128BE | 60BA           : bra     $1287a
            -->
        </script>
        <script state="run">
            <output format="----- the lord of king 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 %04X &gt;&gt;"            line="19" align="center"  >
                <argument>maincpu.pw@FF8000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@10B74 = 72004EB81528303C</action>
            <action>maincpu.mq@12870 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12878 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12880 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12888 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12890 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@12898 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@128A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@128A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@128B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@128B8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
Post Reply