[wildfang] Wild Fang/Tecmo Knight

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

[wildfang] Wild Fang/Tecmo Knight

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@1613b = 0c</action> <!-- attack 1 -->
        <action>maincpu.mb@1a417 = 0c</action> <!-- attack 2 -->
        <action>maincpu.mb@16e9d = 2a</action> <!-- huge monster 1 -->
        <action>maincpu.mb@1a0fd = e6</action> <!-- huge monster 2 -->
        <action>maincpu.mb@16dd1 = 1c</action> <!-- boss attack -->
    </script>
    <script state="off">
        <action>maincpu.mb@1613b = 02</action>
        <action>maincpu.mb@1a417 = 02</action>
        <action>maincpu.mb@16e9d = 02</action>
        <action>maincpu.mb@1a0fd = 02</action>
        <action>maincpu.mb@16dd1 = 02</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@176cb = 07</action> <!-- attack on giant -->
        <action>maincpu.mb@1805b = 07</action> <!-- attack on tiger -->
        <action>maincpu.mb@18c43 = 07</action> <!-- attack on dragon -->
        <action>maincpu.mb@18e7f = 07</action> <!-- throw on tiger -->
        <action>maincpu.mb@19451 = 07</action> <!-- throw on giant -->
    </script>
    <script state="off">
        <action>maincpu.mb@176cb = 05</action>
        <action>maincpu.mb@1805b = 05</action>
        <action>maincpu.mb@18c43 = 05</action>
        <action>maincpu.mb@18e7f = 05</action>
        <action>maincpu.mb@19451 = 05</action>
    </script>
</cheat>

<cheat desc="attack speed up">
    <script state="on">
        <action>maincpu.mb@175a0 = 60</action> <!-- attack on tiger -->
        <action>maincpu.mb@176e4 = 60</action> <!-- attack on giant -->
        <action>maincpu.mb@18eee = 60</action> <!-- throw on tiger -->
        <action>maincpu.mb@19498 = 60</action> <!-- throw on giant -->
    </script>
    <script state="off">
        <action>maincpu.mb@175a0 = 67</action>
        <action>maincpu.mb@176e4 = 67</action>
        <action>maincpu.mb@18eee = 67</action>
        <action>maincpu.mb@19498 = 67</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[wildfang] update

Post by jman »

Added "sound test mode" and "quick boot" (not "ram/rom check skip").

Code: Select all

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@0c58 =             f4c8</action>
        <action>maincpu.mq@0120 = 41f9000601001401</action>
        <action>maincpu.mq@0128 = 12390007a003b401</action>
        <action>maincpu.mq@0130 = 67f40c0100fe6602</action>
        <action>maincpu.mq@0138 = 53100c0100fd6602</action>
        <action>maincpu.mq@0140 = 52100c0100fb6604</action>
        <action>maincpu.mq@0148 = 041000100c0100f7</action>
        <action>maincpu.mq@0150 = 6604061000100c01</action>
        <action>maincpu.mq@0158 = 00ef66041010600a</action>
        <action>maincpu.mq@0160 = 0c0100df660a103c</action>
        <action>maincpu.mq@0168 = 00ff13c00007a802</action>
        <action>maincpu.mq@0170 = 60b4ffffffffffff</action>
        <!--
        0120 | 41f9 0006 0100 : lea    $60100.l,A0 // sound code address
        0126 | 1401           : move.b D1,D2
        0128 | 1239 0007 a003 : move.b $7a003.l,D1 // read input
        012e | b401           : cmp.b  D1,D2
        0130 | 67f4           : beq    $126
        0132 | 0c01 00fe      : cmpi.b #-$2,D1
        0136 | 6602           : bne    $13a
        0138 | 5310           : subq.b #1,(A0)     // decrease code -01
        013a | 0c01 00fd      : cmpi.b #-$3,D1
        013e | 6602           : bne    $142
        0140 | 5210           : addq.b #1,(A0)     // increase code +01
        0142 | 0c01 00fb      : cmpi.b #-$5,D1
        0146 | 6604           : bne    $14c
        0148 | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
        014c | 0c01 00f7      : cmpi.b #-$9,D1
        0150 | 6604           : bne    $156
        0152 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
        0156 | 0c01 00ef      : cmpi.b #-$11,D1
        015a | 6604           : bne    $160
        015c | 1010           : move.b (A0),D0     // play sound
        015e | 600a           : bra    $16a
        0160 | 0c01 00df      : cmpi.b #-$21,D1
        0164 | 660a           : bne    $170
        0166 | 103c 00ff      : move.b #$ff,D0     // stop sound
        016a | 13c0 0007 a802 : move.b D0,$7a802.l // send sound code
        0170 | 60b4           : bra    $126
        -->
    </script>
    <script state="run">
        <output format="----- wild fang 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@60100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@0c58 =             10d2</action>
        <action>maincpu.mq@0120 = ffffffffffffffff</action>
        <action>maincpu.mq@0128 = ffffffffffffffff</action>
        <action>maincpu.mq@0130 = ffffffffffffffff</action>
        <action>maincpu.mq@0138 = ffffffffffffffff</action>
        <action>maincpu.mq@0140 = ffffffffffffffff</action>
        <action>maincpu.mq@0148 = ffffffffffffffff</action>
        <action>maincpu.mq@0150 = ffffffffffffffff</action>
        <action>maincpu.mq@0158 = ffffffffffffffff</action>
        <action>maincpu.mq@0160 = ffffffffffffffff</action>
        <action>maincpu.mq@0168 = ffffffffffffffff</action>
        <action>maincpu.mq@0170 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="quick boot">
    <script state="on">
        <action>maincpu.mb@1bda = 60</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1bda = 67</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[wildfang]+ Wild Fang/Tecmo Knight

Post by jman »

wildfang.xml

Code: Select all

<!-- Wild Fang / Tecmo Knight -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1613B = 0C</action> <!-- attack -->
            <action>maincpu.mb@16DD1 = 1C</action> <!-- boss attack -->
            <action>maincpu.mb@16E9D = 2A</action> <!-- huge monster -->
            <action>maincpu.mb@18AB5 = 0A</action> <!-- fall down -->
            <action>maincpu.mb@1A0FD = E6</action> <!-- huge monster -->
            <action>maincpu.mb@1A417 = 0C</action> <!-- attack -->
        </script>
        <script state="off">
            <action>maincpu.mb@1613B = 02</action>
            <action>maincpu.mb@16DD1 = 02</action>
            <action>maincpu.mb@16E9D = 02</action>
            <action>maincpu.mb@18A85 = 02</action>
            <action>maincpu.mb@1A0FD = 02</action>
            <action>maincpu.mb@1A417 = 02</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>maincpu.mb@1913A = 60</action>
            <action>maincpu.mb@19228 = 60</action>
            <action>maincpu.mb@19278 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1913A = 67</action>
            <action>maincpu.mb@19228 = 67</action>
            <action>maincpu.mb@19278 = 66</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@176CB = 07</action> <!-- attack (giant) -->
            <action>maincpu.mb@1805B = 07</action> <!-- attack (tiger) -->
            <action>maincpu.mb@18C43 = 07</action> <!-- attack (dragon) -->
            <action>maincpu.mb@18E7F = 07</action> <!-- throw (tiger) -->
            <action>maincpu.mb@19451 = 07</action> <!-- throw (giant) -->
        </script>
        <script state="off">
            <action>maincpu.mb@176CB = 05</action>
            <action>maincpu.mb@1805B = 05</action>
            <action>maincpu.mb@18C43 = 05</action>
            <action>maincpu.mb@18E7F = 05</action>
            <action>maincpu.mb@19451 = 05</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <comment>speed doesn't change in riding on dragon</comment>
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00010000">02       </item>
            <item value="0x00018000">03       </item>
            <item value="0x00020000">04       </item>
            <item value="0x00038000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@1894C = 4EB900039B404E71</action> <!-- y position -->
            <action>maincpu.mq@18954 = 4EB900039B4C4E71</action> <!-- x position -->
            <action>maincpu.mq@39B40 = 2C2A00226112DDAA</action>
            <action>maincpu.mq@39B48 = 00024E752C2A0026</action>
            <action>maincpu.mq@39B50 = 6106DDAA00064E75</action>
            <action>maincpu.mq@39B58 = 0C2A000200106710</action>
            <action>maincpu.mq@39B60 = 203C000000004A86</action>
            <action>maincpu.mq@39B68 = 67066A0244802C00</action>
            <action>maincpu.mq@39B70 = 4E75FFFFFFFFFFFF</action>
            <!--
            39B40 | 2C2A 0022      : move.l  ($22,A2), D6  // y position
            39B44 | 6112           : bsr     $39b58
            39B46 | DDAA 0002      : add.l   D6, ($2,A2)
            39B4A | 4E75           : rts
            39B4C | 2C2A 0026      : move.l  ($26,A2), D6  // x position
            39B50 | 6106           : bsr     $39b58
            39B52 | DDAA 0006      : add.l   D6, ($6,A2)
            39B56 | 4E75           : rts
            39B58 | 0C2A 0002 0010 : cmpi.b  #$2, ($10,A2) // check jump flag
            39B5E | 6710           : beq     $39b70
            39B60 | 203C xxxx xxxx : move.l  #$xxxx, D0
            39B66 | 4A86           : tst.l   D6
            39B68 | 6706           : beq     $39b70
            39B6A | 6A02           : bpl     $39b6e
            39B6C | 4480           : neg.l   D0
            39B6E | 2C00           : move.l  D0, D6
            39B70 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@39B62 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@1894C = 2C2A0022DDAA0002</action>
            <action>maincpu.mq@18954 = 2C2A0026DDAA0006</action>
            <action>maincpu.mq@39B40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B70 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@175A0 = 60</action> <!-- attack (tiger) -->
            <action>maincpu.mb@176E4 = 60</action> <!-- attack (giant) -->
            <action>maincpu.mb@18EEE = 60</action> <!-- throw (tiger) -->
            <action>maincpu.mb@19498 = 60</action> <!-- throw (giant) -->
        </script>
        <script state="off">
            <action>maincpu.mb@175A0 = 67</action>
            <action>maincpu.mb@176E4 = 67</action>
            <action>maincpu.mb@18EEE = 67</action>
            <action>maincpu.mb@19498 = 67</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x1f">04       </item>
            <item value="0x00">05 (slow)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@13E68 = 4EB900039B808501</action>
            <action>maincpu.mq@39B80 = 023C00EF14390006</action>
            <action>maincpu.mq@39B88 = 08CC4E75FFFFFFFF</action>
            <!--
            39B80 | 023C 00EF      : andi    #$ef, CCR    // reset x flag
            39B84 | 1439 0006 08CC : move.b  $608cc.l, D2
            39B8A | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@13E59 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@13E59 = 7F              </action>
            <action>maincpu.mq@13E68 = 1439000608CC8501</action>
            <action>maincpu.mq@39B80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B88 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@0C58 = F4C8            </action>
            <action>maincpu.mq@0120 = 41F90006000043F9</action>
            <action>maincpu.mq@0128 = 0007A80212001029</action>
            <action>maincpu.mq@0130 = F801B20067F60C00</action>
            <action>maincpu.mq@0138 = 00FE660253100C00</action>
            <action>maincpu.mq@0140 = 00FD660252100C00</action>
            <action>maincpu.mq@0148 = 00FB660404100010</action>
            <action>maincpu.mq@0150 = 0C0000F766040610</action>
            <action>maincpu.mq@0158 = 00100C0000EF6602</action>
            <action>maincpu.mq@0160 = 12900C0000DF6604</action>
            <action>maincpu.mq@0168 = 12BC00FF60BEFFFF</action>
            <!--
            0120 | 41F9 0006 0000 : lea     $60000.l, A0   // sound code address
            0126 | 43F9 0007 A802 : lea     $7a802.l, A1   // sound latch address
            012C | 1200           : move.b  D0, D1
            012E | 1029 F801      : move.b  (-$7ff,A1), D0 // read input ($7a003)
            0132 | B200           : cmp.b   D0, D1
            0134 | 67F6           : beq     $12c
            0136 | 0C00 00FE      : cmpi.b  #-$2, D0
            013A | 6602           : bne     $13e
            013C | 5310           : subq.b  #1, (A0)       // decrease code -01
            013E | 0C00 00FD      : cmpi.b  #-$3, D0
            0142 | 6602           : bne     $146
            0144 | 5210           : addq.b  #1, (A0)       // increase code +10
            0146 | 0C00 00FB      : cmpi.b  #-$5, D0
            014A | 6604           : bne     $150
            014C | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            0150 | 0C00 00F7      : cmpi.b  #-$9, D0
            0154 | 6604           : bne     $15a
            0156 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            015A | 0C00 00EF      : cmpi.b  #-$11, D0
            015E | 6602           : bne     $162
            0160 | 1290           : move.b  (A0), (A1)     // play sound
            0162 | 0C00 00DF      : cmpi.b  #-$21, D0
            0166 | 6604           : bne     $16c
            0168 | 12BC 00FF      : move.b  #$ff, (A1)     // stop sound
            016C | 60BE           : bra     $12c
            -->
        </script>
        <script state="run">
            <output format="----- wild fang 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0C58 =             10D2</action>
            <action>maincpu.mq@0120 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0128 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0130 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0138 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0140 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0148 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0150 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0158 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0160 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0168 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="quick boot">
        <script state="on">
            <action>maincpu.mb@1BDA = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1BDA = 67</action>
        </script>
    </cheat>

</mamecheat>
wildfangs.xml

Code: Select all

<!-- Wild Fang -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@16127 = 0C</action> <!-- attack -->
            <action>maincpu.mb@16DBD = 1C</action> <!-- boss attack -->
            <action>maincpu.mb@16E89 = 2A</action> <!-- huge monster -->
            <action>maincpu.mb@18AA1 = 0A</action> <!-- fall down -->
            <action>maincpu.mb@1A0E9 = E6</action> <!-- huge monster -->
            <action>maincpu.mb@1A403 = 0C</action> <!-- attack -->
        </script>
        <script state="off">
            <action>maincpu.mb@16127 = 02</action>
            <action>maincpu.mb@16DBD = 02</action>
            <action>maincpu.mb@16E89 = 02</action>
            <action>maincpu.mb@18AA1 = 02</action>
            <action>maincpu.mb@1A0E9 = 02</action>
            <action>maincpu.mb@1A403 = 02</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>maincpu.mb@19126 = 60</action>
            <action>maincpu.mb@19214 = 60</action>
            <action>maincpu.mb@19264 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@19126 = 67</action>
            <action>maincpu.mb@19214 = 67</action>
            <action>maincpu.mb@19264 = 66</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@176B7 = 07</action> <!-- attack (giant) -->
            <action>maincpu.mb@18047 = 07</action> <!-- attack (tiger) -->
            <action>maincpu.mb@18C2F = 07</action> <!-- attack (dragon) -->
            <action>maincpu.mb@18E6B = 07</action> <!-- throw (tiger) -->
            <action>maincpu.mb@1943D = 07</action> <!-- throw (giant) -->
        </script>
        <script state="off">
            <action>maincpu.mb@176B7 = 05</action>
            <action>maincpu.mb@18047 = 05</action>
            <action>maincpu.mb@18C2F = 05</action>
            <action>maincpu.mb@18E6B = 05</action>
            <action>maincpu.mb@1943D = 05</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <comment>speed doesn't change in riding on dragon</comment>
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00010000">02       </item>
            <item value="0x00018000">03       </item>
            <item value="0x00020000">04       </item>
            <item value="0x00038000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@18938 = 4EB900039B404E71</action> <!-- y position -->
            <action>maincpu.mq@18940 = 4EB900039B4C4E71</action> <!-- x position -->
            <action>maincpu.mq@39B40 = 2C2A00226112DDAA</action>
            <action>maincpu.mq@39B48 = 00024E752C2A0026</action>
            <action>maincpu.mq@39B50 = 6106DDAA00064E75</action>
            <action>maincpu.mq@39B58 = 0C2A000200106710</action>
            <action>maincpu.mq@39B60 = 203C000000004A86</action>
            <action>maincpu.mq@39B68 = 67066A0244802C00</action>
            <action>maincpu.mq@39B70 = 4E75FFFFFFFFFFFF</action>
            <!--
            39B40 | 2C2A 0022      : move.l  ($22,A2), D6  // y position
            39B44 | 6112           : bsr     $39b58
            39B46 | DDAA 0002      : add.l   D6, ($2,A2)
            39B4A | 4E75           : rts
            39B4C | 2C2A 0026      : move.l  ($26,A2), D6  // x position
            39B50 | 6106           : bsr     $39b58
            39B52 | DDAA 0006      : add.l   D6, ($6,A2)
            39B56 | 4E75           : rts
            39B58 | 0C2A 0002 0010 : cmpi.b  #$2, ($10,A2) // check jump flag
            39B5E | 6710           : beq     $39b70
            39B60 | 203C xxxx xxxx : move.l  #$xxxx, D0
            39B66 | 4A86           : tst.l   D6
            39B68 | 6706           : beq     $39b70
            39B6A | 6A02           : bpl     $39b6e
            39B6C | 4480           : neg.l   D0
            39B6E | 2C00           : move.l  D0, D6
            39B70 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@39B62 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@18938 = 2C2A0022DDAA0002</action>
            <action>maincpu.mq@18940 = 2C2A0026DDAA0006</action>
            <action>maincpu.mq@39B40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B70 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@1758C = 60</action> <!-- attack (tiger) -->
            <action>maincpu.mb@176D0 = 60</action> <!-- attack (giant) -->
            <action>maincpu.mb@18EDA = 60</action> <!-- throw (tiger) -->
            <action>maincpu.mb@19484 = 60</action> <!-- throw (giant) -->
        </script>
        <script state="off">
            <action>maincpu.mb@1758C = 67</action>
            <action>maincpu.mb@176D0 = 67</action>
            <action>maincpu.mb@18EDA = 67</action>
            <action>maincpu.mb@19484 = 67</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x1f">04       </item>
            <item value="0x00">05 (slow)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@13E54 = 4EB900039B808501</action>
            <action>maincpu.mq@39B80 = 023C00EF14390006</action>
            <action>maincpu.mq@39B88 = 08CC4E75FFFFFFFF</action>
            <!--
            39B80 | 023C 00EF      : andi    #$ef, CCR    // reset x flag
            39B84 | 1439 0006 08CC : move.b  $608cc.l, D2
            39B8A | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@13E45 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@13E45 = 7F              </action>
            <action>maincpu.mq@13E54 = 1439000608CC8501</action>
            <action>maincpu.mq@39B80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B88 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@0C58 = F4C8            </action>
            <action>maincpu.mq@0120 = 41F90006000043F9</action>
            <action>maincpu.mq@0128 = 0007A80212001029</action>
            <action>maincpu.mq@0130 = F801B20067F60C00</action>
            <action>maincpu.mq@0138 = 00FE660253100C00</action>
            <action>maincpu.mq@0140 = 00FD660252100C00</action>
            <action>maincpu.mq@0148 = 00FB660404100010</action>
            <action>maincpu.mq@0150 = 0C0000F766040610</action>
            <action>maincpu.mq@0158 = 00100C0000EF6602</action>
            <action>maincpu.mq@0160 = 12900C0000DF6604</action>
            <action>maincpu.mq@0168 = 12BC00FF60BEFFFF</action>
            <!--
            0120 | 41F9 0006 0000 : lea     $60000.l, A0   // sound code address
            0126 | 43F9 0007 A802 : lea     $7a802.l, A1   // sound latch address
            012C | 1200           : move.b  D0, D1
            012E | 1029 F801      : move.b  (-$7ff,A1), D0 // read input ($7a003)
            0132 | B200           : cmp.b   D0, D1
            0134 | 67F6           : beq     $12c
            0136 | 0C00 00FE      : cmpi.b  #-$2, D0
            013A | 6602           : bne     $13e
            013C | 5310           : subq.b  #1, (A0)       // decrease code -01
            013E | 0C00 00FD      : cmpi.b  #-$3, D0
            0142 | 6602           : bne     $146
            0144 | 5210           : addq.b  #1, (A0)       // increase code +10
            0146 | 0C00 00FB      : cmpi.b  #-$5, D0
            014A | 6604           : bne     $150
            014C | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            0150 | 0C00 00F7      : cmpi.b  #-$9, D0
            0154 | 6604           : bne     $15a
            0156 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            015A | 0C00 00EF      : cmpi.b  #-$11, D0
            015E | 6602           : bne     $162
            0160 | 1290           : move.b  (A0), (A1)     // play sound
            0162 | 0C00 00DF      : cmpi.b  #-$21, D0
            0166 | 6604           : bne     $16c
            0168 | 12BC 00FF      : move.b  #$ff, (A1)     // stop sound
            016C | 60BE           : bra     $12c
            -->
        </script>
        <script state="run">
            <output format="----- wild fang 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0C58 =             10C8</action>
            <action>maincpu.mq@0120 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0128 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0130 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0138 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0140 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0148 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0150 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0158 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0160 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0168 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="quick boot">
        <script state="on">
            <action>maincpu.mb@1BD0 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1BD0 = 67</action>
        </script>
    </cheat>

</mamecheat>
tknight.xml

Code: Select all

<!-- Tecmo Knight -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@16113 = 0C</action> <!-- attack -->
            <action>maincpu.mb@16DA9 = 1C</action> <!-- boss attack -->
            <action>maincpu.mb@16E75 = 2A</action> <!-- huge monster -->
            <action>maincpu.mb@18A8D = 0A</action> <!-- fall down -->
            <action>maincpu.mb@1A0D5 = E6</action> <!-- huge monster -->
            <action>maincpu.mb@1A3EF = 0C</action> <!-- attack -->
        </script>
        <script state="off">
            <action>maincpu.mb@16113 = 02</action>
            <action>maincpu.mb@16DA9 = 02</action>
            <action>maincpu.mb@16E75 = 02</action>
            <action>maincpu.mb@18A8D = 02</action>
            <action>maincpu.mb@1A0D5 = 02</action>
            <action>maincpu.mb@1A3EF = 02</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>maincpu.mb@19112 = 60</action>
            <action>maincpu.mb@19200 = 60</action>
            <action>maincpu.mb@19250 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@19112 = 67</action>
            <action>maincpu.mb@19200 = 67</action>
            <action>maincpu.mb@19250 = 66</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@176A3 = 07</action> <!-- attack (giant) -->
            <action>maincpu.mb@18033 = 07</action> <!-- attack (tiger) -->
            <action>maincpu.mb@18C1B = 07</action> <!-- attack (dragon) -->
            <action>maincpu.mb@18E57 = 07</action> <!-- throw (tiger) -->
            <action>maincpu.mb@19429 = 07</action> <!-- throw (giant) -->
        </script>
        <script state="off">
            <action>maincpu.mb@176A3 = 05</action>
            <action>maincpu.mb@18033 = 05</action>
            <action>maincpu.mb@18C1B = 05</action>
            <action>maincpu.mb@18E57 = 05</action>
            <action>maincpu.mb@19429 = 05</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <comment>speed doesn't change in riding on dragon</comment>
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00010000">02       </item>
            <item value="0x00018000">03       </item>
            <item value="0x00020000">04       </item>
            <item value="0x00038000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@18924 = 4EB900039B404E71</action> <!-- y position -->
            <action>maincpu.mq@1892C = 4EB900039B4C4E71</action> <!-- x position -->
            <action>maincpu.mq@39B40 = 2C2A00226112DDAA</action>
            <action>maincpu.mq@39B48 = 00024E752C2A0026</action>
            <action>maincpu.mq@39B50 = 6106DDAA00064E75</action>
            <action>maincpu.mq@39B58 = 0C2A000200106710</action>
            <action>maincpu.mq@39B60 = 203C000000004A86</action>
            <action>maincpu.mq@39B68 = 67066A0244802C00</action>
            <action>maincpu.mq@39B70 = 4E75FFFFFFFFFFFF</action>
            <!--
            39B40 | 2C2A 0022      : move.l  ($22,A2), D6  // y position
            39B44 | 6112           : bsr     $39b58
            39B46 | DDAA 0002      : add.l   D6, ($2,A2)
            39B4A | 4E75           : rts
            39B4C | 2C2A 0026      : move.l  ($26,A2), D6  // x position
            39B50 | 6106           : bsr     $39b58
            39B52 | DDAA 0006      : add.l   D6, ($6,A2)
            39B56 | 4E75           : rts
            39B58 | 0C2A 0002 0010 : cmpi.b  #$2, ($10,A2) // check jump flag
            39B5E | 6710           : beq     $39b70
            39B60 | 203C xxxx xxxx : move.l  #$xxxx, D0
            39B66 | 4A86           : tst.l   D6
            39B68 | 6706           : beq     $39b70
            39B6A | 6A02           : bpl     $39b6e
            39B6C | 4480           : neg.l   D0
            39B6E | 2C00           : move.l  D0, D6
            39B70 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@39B62 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@18924 = 2C2A0022DDAA0002</action>
            <action>maincpu.mq@1892C = 2C2A0026DDAA0006</action>
            <action>maincpu.mq@39B40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B70 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@17578 = 60</action> <!-- attack (tiger) -->
            <action>maincpu.mb@176BC = 60</action> <!-- attack (giant) -->
            <action>maincpu.mb@18EC6 = 60</action> <!-- throw (tiger) -->
            <action>maincpu.mb@19470 = 60</action> <!-- throw (giant) -->
        </script>
        <script state="off">
            <action>maincpu.mb@17578 = 67</action>
            <action>maincpu.mb@176BC = 67</action>
            <action>maincpu.mb@18EC6 = 67</action>
            <action>maincpu.mb@19470 = 67</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x1f">04       </item>
            <item value="0x00">05 (slow)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@13E40 = 4EB900039B808501</action>
            <action>maincpu.mq@39B80 = 023C00EF14390006</action>
            <action>maincpu.mq@39B88 = 08CC4E75FFFFFFFF</action>
            <!--
            39B80 | 023C 00EF      : andi    #$ef, CCR    // reset x flag
            39B84 | 1439 0006 08CC : move.b  $608cc.l, D2
            39B8A | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@13E31 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@13E31 = 7F              </action>
            <action>maincpu.mq@13E40 = 1439000608CC8501</action>
            <action>maincpu.mq@39B80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@39B88 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@0C58 = F4C8            </action>
            <action>maincpu.mq@0120 = 41F90006000043F9</action>
            <action>maincpu.mq@0128 = 0007A80212001029</action>
            <action>maincpu.mq@0130 = F801B20067F60C00</action>
            <action>maincpu.mq@0138 = 00FE660253100C00</action>
            <action>maincpu.mq@0140 = 00FD660252100C00</action>
            <action>maincpu.mq@0148 = 00FB660404100010</action>
            <action>maincpu.mq@0150 = 0C0000F766040610</action>
            <action>maincpu.mq@0158 = 00100C0000EF6602</action>
            <action>maincpu.mq@0160 = 12900C0000DF6604</action>
            <action>maincpu.mq@0168 = 12BC00FF60BEFFFF</action>
            <!--
            0120 | 41F9 0006 0000 : lea     $60000.l, A0   // sound code address
            0126 | 43F9 0007 A802 : lea     $7a802.l, A1   // sound latch address
            012C | 1200           : move.b  D0, D1
            012E | 1029 F801      : move.b  (-$7ff,A1), D0 // read input ($7a003)
            0132 | B200           : cmp.b   D0, D1
            0134 | 67F6           : beq     $12c
            0136 | 0C00 00FE      : cmpi.b  #-$2, D0
            013A | 6602           : bne     $13e
            013C | 5310           : subq.b  #1, (A0)       // decrease code -01
            013E | 0C00 00FD      : cmpi.b  #-$3, D0
            0142 | 6602           : bne     $146
            0144 | 5210           : addq.b  #1, (A0)       // increase code +10
            0146 | 0C00 00FB      : cmpi.b  #-$5, D0
            014A | 6604           : bne     $150
            014C | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            0150 | 0C00 00F7      : cmpi.b  #-$9, D0
            0154 | 6604           : bne     $15a
            0156 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            015A | 0C00 00EF      : cmpi.b  #-$11, D0
            015E | 6602           : bne     $162
            0160 | 1290           : move.b  (A0), (A1)     // play sound
            0162 | 0C00 00DF      : cmpi.b  #-$21, D0
            0166 | 6604           : bne     $16c
            0168 | 12BC 00FF      : move.b  #$ff, (A1)     // stop sound
            016C | 60BE           : bra     $12c
            -->
        </script>
        <script state="run">
            <output format="----- wild fang 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0C58 =             10C4</action>
            <action>maincpu.mq@0120 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0128 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0130 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0138 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0140 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0148 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0150 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0158 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0160 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@0168 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="quick boot">
        <script state="on">
            <action>maincpu.mb@1BCC = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1BCC = 67</action>
        </script>
    </cheat>

</mamecheat>
  • "no hit" : Added code for "fall down".
  • "walk through wall", "player speed", "timer speed" : Added new.
Post Reply