[eightman] Eight Man

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: 1001
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 4 times

[eightman] Eight Man

Post by jman »

Code: Select all

<!-- Eight Man (NGM-025 ~ NGH-025) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.rb@7BBE = 60</action> <!-- enemy -->
            <action>maincpu.rb@7CEC = 60</action> <!-- attack -->
        </script>
        <script state="off">
            <action>maincpu.rb@7BBE = 66</action>
            <action>maincpu.rb@7CEC = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.rq@037C4 = 4EB900011BD06700</action>
            <action>maincpu.rq@11BD0 = 102E00CD32390010</action>
            <action>maincpu.rq@11BD8 = FE8A02410003660A</action>
            <action>maincpu.rq@11BE0 = 122E00CC02410010</action>
            <action>maincpu.rq@11BE8 = 8001080000044E75</action>
            <!--
            11BD0 | 102E 00CD      : move.b  ($cd,A6), D0
            11BD4 | 3239 0010 FE8A : move.w  $10fe8a.l, D1 // check internal timer
            11BDA | 0241 0007      : andi.w  #$7, D1
            11BDE | 660A           : bne     $11bea
            11BE0 | 122E 00CC      : move.b  ($cc,A6), D1
            11BE4 | 0241 0010      : andi.w  #$10, D1
            11BE8 | 8001           : or.b    D1, D0
            11BEA | 0800 0004      : btst    #$4, D0
            11BEE | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.rq@037C4 = 082E000400CD6700</action>
            <action>maincpu.rq@11BD0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11BD8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11BE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11BE8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="attack">
        <parameter>
            <item value="0x00">punch</item>
            <item value="0x01">upper</item>
            <item value="0x02">kick </item>
        </parameter>
        <script state="on">
            <action>maincpu.rq@37EE = 1D7C000000D86000</action>
        </script>
        <script state="change">
            <action>maincpu.rb@37F1 = param</action>
        </script>
        <script state="off">
            <action>maincpu.rq@37EE = 0C2E000300D86B00</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <!-- stand -->
            <action>maincpu.rb@49890 = 00</action> <!-- punch -->
            <action>maincpu.rb@498E4 = 00</action> <!-- upper -->
            <action>maincpu.rb@49974 = 00</action> <!-- kick -->
            <!-- double attack -->
            <action>maincpu.rb@49984 = 00</action>
            <!-- crouch -->
            <action>maincpu.rb@498AC = 00</action> <!-- punch, upper -->
            <action>maincpu.rb@49996 = 00</action> <!-- kick -->
            <!-- jump -->
            <action>maincpu.rb@49B02 = 00</action> <!-- upper -->
            <action>maincpu.rb@49BF0 = 00</action> <!-- punch, kick -->
        </script>
        <script state="off">
            <action>maincpu.rb@49890 = 03</action>
            <action>maincpu.rb@498E4 = 03</action>
            <action>maincpu.rb@49974 = 03</action>
            <action>maincpu.rb@49984 = 03</action>
            <action>maincpu.rb@498AC = 03</action>
            <action>maincpu.rb@49996 = 03</action>
            <action>maincpu.rb@49B02 = 02</action>
            <action>maincpu.rb@49BF0 = 02</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.rd@0304C = 00011BF0        </action>
            <action>maincpu.rq@11BF0 = 4A2E005F6712082E</action>
            <action>maincpu.rq@11BF8 = 000500CD670A422E</action>
            <action>maincpu.rq@11C00 = 005F08EE00070063</action>
            <action>maincpu.rq@11C08 = 4EF8348EFFFFFFFF</action>
            <!--
            11BF0 | 4A2E 005F      : tst.b   ($5f,A6)
            11BF4 | 6712           : beq     $11c08
            11BF6 | 082E 0005 00CD : btst    #$5, ($cd,A6)
            11BFC | 670A           : beq     $11c08
            11BFE | 422E 005F      : clr.b   ($5f,A6)
            11C02 | 08EE 0007 0063 : bset    #$7, ($63,A6)
            11C08 | 4EF8 348E      : jmp     $348e.w
            -->
        </script>
        <script state="off">
            <action>maincpu.rd@0304C = 0000348E        </action>
            <action>maincpu.rq@11BF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11BF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C08 = FFFFFFFFFFFFFFFF</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="0x00">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.pb@100483 = param</action> <!-- initialize sub timer -->
            <action>maincpu.rb@001D55 = param</action>
        </script>
        <script state="off">
            <action>maincpu.pb@100483 = 80</action>
            <action>maincpu.rb@001D55 = 80</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- don't play code 0x01, 0x03, and 0x10 because of no sound response -->
        <!-- valid bank number seems to be 0x00 and 0x08 -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.rq@012F4 = 4EF900011C1067F8</action>
            <action>maincpu.rq@11C10 = 43ED010045E90001</action>
            <action>maincpu.rq@11C18 = 367C6EC849ED8432</action>
            <action>maincpu.rq@11C20 = 1602143900300000</action>
            <action>maincpu.rq@11C28 = B60267F40C0200FB</action>
            <action>maincpu.rq@11C30 = 660253110C0200F7</action>
            <action>maincpu.rq@11C38 = 660252110C0200FD</action>
            <action>maincpu.rq@11C40 = 6604041100100C02</action>
            <action>maincpu.rq@11C48 = 00FE660406110010</action>
            <action>maincpu.rq@11C50 = 0C0200BB66025312</action>
            <action>maincpu.rq@11C58 = 0C0200B766025212</action>
            <action>maincpu.rq@11C60 = 0212000F0C0200EF</action>
            <action>maincpu.rq@11C68 = 660E189267060614</action>
            <action>maincpu.rq@11C70 = 00104E9318914E93</action>
            <action>maincpu.rq@11C78 = 0C0200DF661218BC</action>
            <action>maincpu.rq@11C80 = 00014E9318BC0003</action>
            <action>maincpu.rq@11C88 = 4E9318BC00074E93</action>
            <action>maincpu.rq@11C90 = 608EFFFFFFFFFFFF</action>
            <!--
            11C10 | 43ED 0100      : lea     ($100,A5), A1   // sound code address ($108100)
            11C14 | 45E9 0001      : lea     ($1,A1), A2     // bank address ($108101)
            11C18 | 367C 6EC8      : movea.w #$6ec8, A3      // sound latch routine address
            11C1C | 49ED 8432      : lea     (-$7bce,A5), A4 // sound latch address ($100432)
            11C20 | 1602           : move.b  D2, D3
            11C22 | 1439 0030 0000 : move.b  $300000.l, D2   // read input
            11C28 | B602           : cmp.b   D2, D3
            11C2A | 67F4           : beq     $11c20
            11C2C | 0C02 00FB      : cmpi.b  #-$5, D2
            11C30 | 6602           : bne     $11c34
            11C32 | 5311           : subq.b  #1, (A1)        // decrease code -01
            11C34 | 0C02 00F7      : cmpi.b  #-$9, D2
            11C38 | 6602           : bne     $11c3c
            11C3A | 5211           : addq.b  #1, (A1)        // increase code +01
            11C3C | 0C02 00FD      : cmpi.b  #-$3, D2
            11C40 | 6604           : bne     $11c46
            11C42 | 0411 0010      : subi.b  #$10, (A1)      // decrease code -10
            11C46 | 0C02 00FE      : cmpi.b  #-$2, D2
            11C4A | 6604           : bne     $11c50
            11C4C | 0611 0010      : addi.b  #$10, (A1)      // increase code +10
            11C50 | 0C02 00BB      : cmpi.b  #-$45, D2
            11C54 | 6602           : bne     $11c58
            11C56 | 5312           : subq.b  #1, (A2)        // decrease bank -01
            11C58 | 0C02 00B7      : cmpi.b  #-$49, D2
            11C5C | 6602           : bne     $11c60
            11C5E | 5212           : addq.b  #1, (A2)        // increase bank +01
            11C60 | 0212 000F      : andi.b  #$f, (A2)
            11C64 | 0C02 00EF      : cmpi.b  #-$11, D2
            11C68 | 660E           : bne     $11c78
            11C6A | 1892           : move.b  (A2), (A4)      // play sound
            11C6C | 6706           : beq     $11c74
            11C6E | 0614 0010      : addi.b  #$10, (A4)
            11C72 | 4E93           : jsr     (A3)
            11C74 | 1891           : move.b  (A1), (A4)
            11C76 | 4E93           : jsr     (A3)
            11C78 | 0C02 00DF      : cmpi.b  #-$21, D2
            11C7C | 6612           : bne     $11c90
            11C7E | 18BC 0001      : move.b  #$1, (A4)       // stop sound
            11C82 | 4E93           : jsr     (A3)
            11C84 | 18BC 0003      : move.b  #$3, (A4)
            11C88 | 4E93           : jsr     (A3)
            11C8A | 18BC 0007      : move.b  #$7, (A4)
            11C8E | 4E93           : jsr     (A3)
            11C90 | 608E           : bra     $11c20
            -->
        </script>
        <script state="run">
            <output format="----- eight man 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 3 + left : decrease bank -01"   line="15" align="center" />
            <output format="button 3 + right : increase bank +01"  line="16" align="center" />
            <output format="button 1 : play sound"                 line="17" align="center" />
            <output format="button 2 : stop sound"                 line="18" align="center" />
            <output format="----------------------------"          line="19" align="center" />
            <output format="&lt;&lt; bank %X &gt;&gt;"             line="21" align="center"  >
                <argument>maincpu.pb@108101</argument>
            </output>
            <output format="&lt;&lt; sound code %02X &gt;&gt;"     line="23" align="center"  >
                <argument>maincpu.pb@108100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.rq@012F4 = 4A390010046E67F8</action>
            <action>maincpu.rq@11C10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.rq@11C90 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action condition="maincpu.rd@c11afc == 3a3c7fff">temp0 = C11AFC, maincpu.rd@temp0 = 60000168</action> <!-- euro, euro-s1, japan-s2, japan-s1 -->
            <action condition="maincpu.rd@c10c20 == 3a3c7fff">temp0 = C10C20, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1c, japan-mv1b -->
            <action condition="maincpu.rd@c10afc == 3a3c7fff">temp0 = C10AFC, maincpu.rd@temp0 = 60000168</action> <!-- asia-mv1b, japan-mv1c -->
            <action condition="maincpu.rd@c11ad2 == 3a3c7fff">temp0 = C11AD2, maincpu.rd@temp0 = 60000168</action> <!-- us, us-e, us-v2, us-u4 -->
            <action condition="maincpu.rd@c11abc == 3a3c7fff">temp0 = C11ABC, maincpu.rd@temp0 = 60000104</action> <!-- us-u3 -->
            <action condition="maincpu.rd@c11c24 == 3a3c7fff">temp0 = C11C24, maincpu.rd@temp0 = 60000168</action> <!-- japan -->
            <action condition="maincpu.rd@c11ae6 == 3a3c7fff">temp0 = C11AE6, maincpu.rd@temp0 = 60000104</action> <!-- japan-j3a -->
            <action condition="maincpu.rd@c11bc6 == 3a3c7fff">temp0 = C11BC6, maincpu.rd@temp0 = 6000017C</action> <!-- japan-hotel -->
        </script>
        <script state="off">
            <action>maincpu.rd@temp0 = 3A3C7FFF</action>
        </script>
    </cheat>

</mamecheat>
jman

my wip cheat database back-up (2024/09/06 ver.)
https://u11.getuploader.com/uploader/download/1589
Post Reply