[kozure] Kozure Ookami

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

[kozure] Kozure Ookami

Post by jman »

Code: Select all

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mq@0e08c = 080008004e716706</action> <!-- cart -->
        <!--
        0e08c | 0800 0800 : btst #$0,D0
        0e090 | 4e71      : nop
        0e092 | 6706      : beq  $e09a
        -->
        <action>maincpu.mq@101a4 = 080008004e716704</action> <!-- normal -->
        <!--
        101a4 | 0800 0800 : btst #$0,D0
        101a8 | 4e71      : nop
        101aa | 6704      : beq  $101b0
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@0e08c = 0200000353006606</action>
        <action>maincpu.mq@101a4 = 0200000353006604</action>
    </script>
</cheat>

<cheat desc="attack speed up">
    <script state="on">
        <action>maincpu.mb@fdd3 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@fdd3 = 01</action>
    </script>
</cheat>

<cheat desc="timer speed">
    <parameter>
        <item value="0xff">01 (slow)</item>
        <item value="0x80">02       </item>
        <item value="0x40">03       </item>
        <item value="0x20">04       </item>
        <item value="0x01">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@1012d = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1012d = 3e</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.md@0a268 =         000181b0</action>
        <action>maincpu.mq@181b0 = 41f9000611004280</action>
        <action>maincpu.mq@181b8 = 1401123900078001</action>
        <action>maincpu.mq@181c0 = b40167f40c0100fb</action>
        <action>maincpu.mq@181c8 = 660253100c0100f7</action>
        <action>maincpu.mq@181d0 = 660252100c0100fd</action>
        <action>maincpu.mq@181d8 = 6604041000100c01</action>
        <action>maincpu.mq@181e0 = 00fe660406100010</action>
        <action>maincpu.mq@181e8 = 0c0100ef66041010</action>
        <action>maincpu.mq@181f0 = 600a0c0100df660a</action>
        <action>maincpu.mq@181f8 = 103c003f13c00007</action>
        <action>maincpu.mq@18200 = c00b60b4ffffffff</action>
        <!--
        181b0 | 41f9 0006 1100 : lea    $61100.l,A0 // sound code address
        181b6 | 4280           : clr.l  D0
        181b8 | 1401           : move.b D1,D2
        181ba | 1239 0007 8001 : move.b $78001.l,D1 // read input
        181c0 | b401           : cmp.b  D1,D2
        181c2 | 67f4           : beq    $181b8
        181c4 | 0c01 00fb      : cmpi.b #-$5,D1
        181c8 | 6602           : bne    $181cc
        181ca | 5310           : subq.b #1,(A0)     // decrease code -01
        181cc | 0c01 00f7      : cmpi.b #-$9,D1
        181d0 | 6602           : bne    $181d4
        181d2 | 5210           : addq.b #1,(A0)     // increase code +01
        181d4 | 0c01 00fd      : cmpi.b #-$3,D1
        181d8 | 6604           : bne    $181de
        181da | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
        181de | 0c01 00fe      : cmpi.b #-$2,D1
        181e2 | 6604           : bne    $181e8
        181e4 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
        181e8 | 0c01 00ef      : cmpi.b #-$11,D1
        181ec | 6604           : bne    $181f2
        181ee | 1010           : move.b (A0),D0     // play sound
        181f0 | 600a           : bra    $181fc
        181f2 | 0c01 00df      : cmpi.b #-$21,D1
        181f6 | 660a           : bne    $18202
        181f8 | 103c 003f      : move.b #$3f,D0     // stop sound
        181fc | 13c0 0007 c00b : move.b D0,$7c00b.l // send sound code
        18202 | 60b4           : bra    $181b8
        -->
    </script>
    <script state="run">
        <output format="----- kozure ookami 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@61100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@0a268 =         0000b208</action>
        <action>maincpu.mq@181b0 = ffffffffffffffff</action>
        <action>maincpu.mq@181b8 = ffffffffffffffff</action>
        <action>maincpu.mq@181c0 = ffffffffffffffff</action>
        <action>maincpu.mq@181c8 = ffffffffffffffff</action>
        <action>maincpu.mq@181d0 = ffffffffffffffff</action>
        <action>maincpu.mq@181d8 = ffffffffffffffff</action>
        <action>maincpu.mq@181e0 = ffffffffffffffff</action>
        <action>maincpu.mq@181e8 = ffffffffffffffff</action>
        <action>maincpu.mq@181f0 = ffffffffffffffff</action>
        <action>maincpu.mq@181f8 = ffffffffffffffff</action>
        <action>maincpu.mq@18200 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.mw@4b34 = 001a</action>
    </script>
    <script state="off">
        <action>maincpu.mw@4b34 = 02fa</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[kozure] Kozure Ookami

Post by jman »

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@070A0 = 71EE</action> <!-- red ninja explosion -->
            <action>maincpu.mw@07550 = 6706</action> <!-- statue -->
            <action>maincpu.mw@13270 = 6706</action> <!-- gun man -->
            <action>maincpu.mw@132EC = 670C</action> <!-- bullet -->
            <action>maincpu.mw@132F8 = 674C</action> <!-- bullet -->
            <action>maincpu.mw@13420 = 6710</action> <!-- attack -->
            <action>maincpu.mw@13430 = 671A</action> <!-- attack -->
            <action>maincpu.mw@15010 = 0012</action> <!-- knife -->
            <action>maincpu.mw@15020 = 0002</action> <!-- knife -->
            <action>maincpu.mw@17DDA = 0012</action> <!-- fireball -->
            <action>maincpu.mw@17DEA = 0002</action> <!-- fireball -->
        </script>
        <script state="off">
            <action>maincpu.mw@070A0 = 731E</action>
            <action>maincpu.mw@07550 = 671A</action>
            <action>maincpu.mw@13270 = 670C</action>
            <action>maincpu.mw@132EC = 6712</action>
            <action>maincpu.mw@132F8 = 6752</action>
            <action>maincpu.mw@13420 = 6716</action>
            <action>maincpu.mw@13430 = 6706</action>
            <action>maincpu.mw@15010 = 0018</action>
            <action>maincpu.mw@15020 = 0058</action>
            <action>maincpu.mw@17DDA = 0018</action>
            <action>maincpu.mw@17DEA = 0038</action>
        </script>
    </cheat>

    <cheat desc="no fall down">
        <script state="on">
            <action>maincpu.mw@FC9E = FCB8</action> <!-- platform -->
            <action>maincpu.mw@FCA2 = FCB8</action> <!-- platform -->
            <action>maincpu.mw@FCA6 = FCB8</action> <!-- water -->
        </script>
        <script state="off">
            <action>maincpu.mw@FC9E = FA98</action>
            <action>maincpu.mw@FCA2 = FA92</action>
            <action>maincpu.mw@FCA6 = FA4C</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <!-- cart -->
            <action>maincpu.mq@E08C = 080008004E716706</action> <!-- btst #$0,D0 / nop / beq $e09a -->
            <!-- normal -->
            <action>maincpu.mq@101A4 = 080008004E716704</action> <!-- btst #$0,D0 / nop / beq $101b0 -->
        </script>
        <script state="off">
            <action>maincpu.mq@0E08C = 0200000353006606</action>
            <action>maincpu.mq@101A4 = 0200000353006604</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0002">02       </item>
            <item value="0x0003">03       </item>
            <item value="0x0004">04       </item>
            <item value="0x0005">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@10464 = 4EF900018200206D</action> <!-- down -->
            <action>maincpu.mq@104AE = 4EB9000182084E71</action> <!-- left scroll -->
            <action>maincpu.mq@104DC = 4EB90001823291AE</action> <!-- left -->
            <action>maincpu.mq@10526 = 4EB9000182104E71</action> <!-- right scroll -->
            <action>maincpu.mq@10556 = 4EB900018232D1AE</action> <!-- right -->
            <action>maincpu.mq@105BC = 4EF9000182184A39</action> <!-- up -->
            <action>maincpu.mq@18200 = 611E916E000E4E75</action>
            <action>maincpu.mq@18208 = 612891A8002C4E75</action>
            <action>maincpu.mq@18210 = 6120D1A8002C4E75</action>
            <action>maincpu.mq@18218 = 6106D16E000E4E75</action>
            <action>maincpu.mq@18220 = 303C00000C6E0004</action>
            <action>maincpu.mq@18228 = 002E6604303C0001</action>
            <action>maincpu.mq@18230 = 4E75203C00000000</action>
            <action>maincpu.mq@18238 = 0C6E0004002E6606</action>
            <action>maincpu.mq@18240 = 203C000100004E75</action>
            <!--
            18200 | 611E           : bsr     $18220        // down
            18202 | 916E 000E      : sub.w   D0, ($e,A6)
            18206 | 4E75           : rts
            18208 | 6128           : bsr     $18232        // left scroll
            1820A | 91A8 002C      : sub.l   D0, ($2c,A0)
            1820E | 4E75           : rts
            18210 | 6120           : bsr     $18232        // right scroll
            18212 | D1A8 002C      : add.l   D0, ($2c,A0)
            18216 | 4E75           : rts
            18218 | 6106           : bsr     $18220        // up
            1821A | D16E 000E      : add.w   D0, ($e,A6)
            1821E | 4E75           : rts
            18220 | 303C xxxx      : move.w  #$xx, D0
            18224 | 0C6E 0004 002E : cmpi.w  #$4, ($2e,A6)
            1822A | 6604           : bne     $18230
            1822C | 303C 0001      : move.w  #$1, D0
            18230 | 4E75           : rts
            18232 | 203C xxxx xxxx : move.l  #$xxxx, D0
            18238 | 0C6E 0004 002E : cmpi.w  #$4, ($2e,A6)
            1823E | 6606           : bne     $18246
            18240 | 203C 0001 0000 : move.l  #$10000, D0
            18246 | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@18222 = param</action>
            <action>maincpu.mw@18234 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@10464 = 536E000E4E75206D</action>
            <action>maincpu.mq@104AE = 2028002891A8002C</action>
            <action>maincpu.mq@104DC = 20390006355A91AE</action>
            <action>maincpu.mq@10526 = 20280028D1A8002C</action>
            <action>maincpu.mq@10556 = 20390006355AD1AE</action>
            <action>maincpu.mq@105BC = 526E000E4E754A39</action>
            <action>maincpu.mq@18200 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@18208 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@18210 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@18218 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@18220 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@18228 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@18230 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@18238 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@18240 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mb@FDD3 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@FDD3 = 01</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@1012D = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1012D = 3E</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@0A268 = 000181B0        </action>
            <action>maincpu.mq@181B0 = 41F90006100043F9</action>
            <action>maincpu.mq@181B8 = 0007C00B12001029</action>
            <action>maincpu.mq@181C0 = BFF6B20067F60C00</action>
            <action>maincpu.mq@181C8 = 00FB660253100C01</action>
            <action>maincpu.mq@181D0 = 00F7660252100C01</action>
            <action>maincpu.mq@181D8 = 00FD660404100010</action>
            <action>maincpu.mq@181E0 = 0C0000FE66040610</action>
            <action>maincpu.mq@181E8 = 00100C0000EF6602</action>
            <action>maincpu.mq@181F0 = 12900C0000DF6604</action>
            <action>maincpu.mq@181F8 = 12BC003F60BEFFFF</action>
            <!--
            181B0 | 41F9 0006 1000 : lea     $61000.l, A0    // sound code address
            181B6 | 43F9 0007 C00B : lea     $7c00b.l, A1    // sound latch address
            181BC | 1200           : move.b  D0, D1
            181BE | 1029 BFF6      : move.b  (-$400a,A1), D0 // read input ($78001)
            181C2 | B200           : cmp.b   D0, D1
            181C4 | 67F6           : beq     $181bc
            181C6 | 0C00 00FB      : cmpi.b  #-$5, D0
            181CA | 6602           : bne     $181ce
            181CC | 5310           : subq.b  #1, (A0)        // decrease code -01
            181CE | 0C01 00F7      : cmpi.b  #-$9, D1
            181D2 | 6602           : bne     $181d6
            181D4 | 5210           : addq.b  #1, (A0)        // increase code +01
            181D6 | 0C01 00FD      : cmpi.b  #-$3, D1
            181DA | 6604           : bne     $181e0
            181DC | 0410 0010      : subi.b  #$10, (A0)      // decrease code -10
            181E0 | 0C00 00FE      : cmpi.b  #-$2, D0
            181E4 | 6604           : bne     $181ea
            181E6 | 0610 0010      : addi.b  #$10, (A0)      // increase code +10
            181EA | 0C00 00EF      : cmpi.b  #-$11, D0
            181EE | 6602           : bne     $181f2
            181F0 | 1290           : move.b  (A0), (A1)      // play sound
            181F2 | 0C00 00DF      : cmpi.b  #-$21, D0
            181F6 | 6604           : bne     $181fc
            181F8 | 12BC 003F      : move.b  #$3f, (A1)      // stop sound
            181FC | 60BE           : bra     $181bc
            -->
        </script>
        <script state="run">
            <output format="----- kozure ookami 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@61000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0A268 = 0000B208        </action>
            <action>maincpu.mq@181B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@181B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@181C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@181C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@181D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@181D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@181E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@181E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@181F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@181F8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@4B34 = 001A</action>
        </script>
        <script state="off">
            <action>maincpu.mw@4B34 = 02FA</action>
        </script>
    </cheat>

</mamecheat>
  • "no hit" : Rewritten routine. This is effective for some objects (eg statue) which collide with player character in "invinciblity".
  • "no fall down", "player speed" : Added new.
  • "sound test mode" : Rewritten routine.
Post Reply