[zunkyou] Zunzunkyou no Yabou

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: 842
Joined: Tue Dec 01, 2020 1:24 pm

[zunkyou] Zunzunkyou no Yabou

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@6515 = 02</action> <!-- enemy -->
        <action>maincpu.mb@6597 = 02</action> <!-- enemy -->
        <action>maincpu.mb@d854 = 60</action> <!-- bullet (boss) -->
        <action>maincpu.mb@e7fb = 02</action> <!-- bullet -->
    </script>
    <script state="off">
        <action>maincpu.mb@6515 = b6</action>
        <action>maincpu.mb@6597 = 24</action>
        <action>maincpu.mb@d854 = 6d</action>
        <action>maincpu.mb@e7fb = 0c</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@6a3f = 68</action>
    </script>
    <script state="off">
        <action>maincpu.mb@6a3f = 6a</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x00008000">01 (slow)</item>
        <item value="0x00018000">02       </item>
        <item value="0x00028000">03       </item>
        <item value="0x00048000">04       </item>
        <item value="0x00068000">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.mq@06e62 = 4eb9000149a044ae</action> <!-- left -->
        <action>maincpu.mq@06e7e = 4eb9000149a03200</action> <!-- right -->
        <action>maincpu.mq@06e92 = 4eb9000149aa44ae</action> <!-- up -->
        <action>maincpu.mq@06eae = 4eb9000149aa4a45</action> <!-- down -->
        <action>maincpu.mq@149a0 = 2d7c00000000002c</action>
        <action>maincpu.mq@149a8 = 4e752d7c00000000</action>
        <action>maincpu.mq@149b0 = 00304e75ffffffff</action>
        <!--
        149a0 | 2d7c xxxx xxxx 002c : move.l #$xxxx,($2c,A6)
        149a8 | 4e75                : rts
        149aa | 2d7c xxxx xxxx 0030 : move.l #$xxxx,($30,A6)
        149b2 | 4e75                : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.md@149a2 = param</action>
        <action>maincpu.md@149ac = param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@06e62 = 2d6e0034002c44ae</action>
        <action>maincpu.mq@06e7e = 2d6e0034002c3200</action>
        <action>maincpu.mq@06e92 = 2d6e0038003044ae</action>
        <action>maincpu.mq@06eae = 2d6e003800304a45</action>
        <action>maincpu.mq@149a0 = ffffffffffffffff</action>
        <action>maincpu.mq@149a8 = ffffffffffffffff</action>
        <action>maincpu.mq@149b0 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x00010000">01 (slow)</item>
        <item value="0x00060000">02       </item>
        <item value="0x00088000">03       </item>
        <item value="0x000a8000">04       </item>
        <item value="0x000c8000">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.mq@06b30 = 4eb9000149c04e71</action>
        <action>maincpu.mq@149c0 = 2b40002c2b7c0000</action>
        <action>maincpu.mq@149c8 = 000000304e75ffff</action>
        <!--
        149c0 | 2b40 002c           : move.l D0,($2c,A5)
        149c4 | 2b7c xxxx xxxx 0030 : move.l #$xxxx,($30,A5)
        -->
    </script>
    <script state="change">
        <action>maincpu.md@149c6 = -param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@06b30 = 2b40002c2b410030</action>
        <action>maincpu.mq@149c0 = ffffffffffffffff</action>
        <action>maincpu.mq@149c8 = 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.md@137b8 =         000149d0</action>
        <action>maincpu.mq@149d0 = 41f900ff100043e8</action>
        <action>maincpu.mq@149d8 = 4001120010390084</action>
        <action>maincpu.mq@149e0 = 0001b20067f40c00</action>
        <action>maincpu.mq@149e8 = 007f660253100c00</action>
        <action>maincpu.mq@149f0 = 00bf660252100c00</action>
        <action>maincpu.mq@149f8 = 00ef660404100010</action>
        <action>maincpu.mq@14a00 = 0c0000df66040610</action>
        <action>maincpu.mq@14a08 = 00100c0000fe6602</action>
        <action>maincpu.mq@14a10 = 12900c0000fd6604</action>
        <action>maincpu.mq@14a18 = 12bc008060bcffff</action>
        <!--
        149d0 | 41f9 00ff 1000 : lea    $ff1000.l,A0  // sound code address
        149d6 | 43e8 4001      : lea    ($4001,A0),A1 // sound latch address
        149da | 1200           : move.b D0,D1
        149dc | 1039 0084 0001 : move.b $840001.l,D0  // read input
        149e2 | b200           : cmp.b  D0,D1
        149e4 | 67f4           : beq    $149da
        149e6 | 0c00 007f      : cmpi.b #$7f,D0
        149ea | 6602           : bne    $149ee
        149ec | 5310           : subq.b #1,(A0)       // decrease code -01
        149ee | 0c00 00bf      : cmpi.b #-$41,D0
        149f2 | 6602           : bne    $149f6
        149f4 | 5210           : addq.b #1,(A0)       // increase code +01
        149f6 | 0c00 00ef      : cmpi.b #-$11,D0
        149fa | 6604           : bne    $14a00
        149fc | 0410 0010      : subi.b #$10,(A0)     // decrease code -10
        14a00 | 0c00 00df      : cmpi.b #-$21,D0
        14a04 | 6604           : bne    $14a0a
        14a06 | 0610 0010      : addi.b #$10,(A0)     // increase code +10
        14a0a | 0c00 00fe      : cmpi.b #-$2,D0
        14a0e | 6602           : bne    $14a12
        14a10 | 1290           : move.b (A0),(A1)     // play sound
        14a12 | 0c00 00fd      : cmpi.b #-$3,D0
        14a16 | 6604           : bne    $14a1c
        14a18 | 12bc 0080      : move.b #$80,(A1)     // stop sound
        14a1c | 60bc           : bra    $149da
        -->
    </script>
    <script state="run">
        <output format="----- zunzunkyou no yabou 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="start : 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@ff1000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@137b8 =         0000574a</action>
        <action>maincpu.mq@149d0 = ffffffffffffffff</action>
        <action>maincpu.mq@149d8 = ffffffffffffffff</action>
        <action>maincpu.mq@149e0 = ffffffffffffffff</action>
        <action>maincpu.mq@149e8 = ffffffffffffffff</action>
        <action>maincpu.mq@149f0 = ffffffffffffffff</action>
        <action>maincpu.mq@149f8 = ffffffffffffffff</action>
        <action>maincpu.mq@14a00 = ffffffffffffffff</action>
        <action>maincpu.mq@14a08 = ffffffffffffffff</action>
        <action>maincpu.mq@14a10 = ffffffffffffffff</action>
        <action>maincpu.mq@14a18 = ffffffffffffffff</action>
    </script>
</cheat>
The following code is test.

Code: Select all

<cheat desc="max bullets up (test)">
    <script state="on">
        <action>maincpu.mw@06a8c =             7c01</action> <!-- disable bullet count -->
        <action>maincpu.mq@06ae0 = 4ef900014a203b7c</action>
        <action>maincpu.mq@14a20 = 4bed0060bbfc00ff</action>
        <action>maincpu.mq@14a28 = 2a8064064ef90000</action>
        <action>maincpu.mq@14a30 = 6ad84e75ffffffff</action>
        <!--
        14a20 | 4bed 0060      : lea    ($60,A5),A5
        14a24 | bbfc 00ff 2a80 : cmpa.l #$ff2a80,A5
        14a2a | 6406           : bcc    $14a32
        14a2c | 4ef9 0000 6ad8 : jmp    $6ad8.l
        14a32 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mw@06a8c =             bc44</action>
        <action>maincpu.mq@06ae0 = 4bed006060f23b7c</action>
        <action>maincpu.mq@14a20 = ffffffffffffffff</action>
        <action>maincpu.mq@14a28 = ffffffffffffffff</action>
        <action>maincpu.mq@14a30 = ffffffffffffffff</action>
    </script>
</cheat>
Image
"max bullets up" + "bullet speed" (slow) + "auto fire" (shot level is 1).
jman
Posts: 842
Joined: Tue Dec 01, 2020 1:24 pm

[zunkyou] Zunzunkyou no Yabou

Post by jman »

Code: Select all

<!-- Zunzunkyou no Yabou (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@6515 = 02</action> <!-- enemy -->
            <action>maincpu.mb@6597 = 02</action> <!-- enemy -->
            <action>maincpu.mb@D854 = 60</action> <!-- bullet (boss) -->
            <action>maincpu.mb@E7FB = 02</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@6515 = B6</action>
            <action>maincpu.mb@6597 = 24</action>
            <action>maincpu.mb@D854 = 6D</action>
            <action>maincpu.mb@E7FB = 0C</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@654D = 01</action> <!-- fire interval -->
            <action>maincpu.mb@6A3F = 68</action> <!-- button -->
        </script>
        <script state="off">
            <action>maincpu.mb@654D = 08</action>
            <action>maincpu.mb@6A3F = 6A</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x00008000">01 (slow)</item>
            <item value="0x00018000">02       </item>
            <item value="0x00028000">03       </item>
            <item value="0x00048000">04       </item>
            <item value="0x00068000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@06E62 = 4EB9000149A044AE</action> <!-- left -->
            <action>maincpu.mq@06E7E = 4EB9000149A03200</action> <!-- right -->
            <action>maincpu.mq@06E92 = 4EB9000149AA44AE</action> <!-- up -->
            <action>maincpu.mq@06EAE = 4EB9000149AA4A45</action> <!-- down -->
            <action>maincpu.mq@149A0 = 2D7C00000000002C</action>
            <action>maincpu.mq@149A8 = 4E752D7C00000000</action>
            <action>maincpu.mq@149B0 = 00304E75FFFFFFFF</action>
            <!--
            149A0 | 2D7C xxxx xxxx 002C : move.l  #$xxxx, ($2c,A6)
            149A8 | 4E75                : rts
            149AA | 2D7C xxxx xxxx 0030 : move.l  #$xxxx, ($30,A6)
            149B2 | 4E75                : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@149A2 = param</action>
            <action>maincpu.md@149AC = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@06E62 = 2D6E0034002C44AE</action>
            <action>maincpu.mq@06E7E = 2D6E0034002C3200</action>
            <action>maincpu.mq@06E92 = 2D6E0038003044AE</action>
            <action>maincpu.mq@06EAE = 2D6E003800304A45</action>
            <action>maincpu.mq@149A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@149A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@149B0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x00010000">01 (slow)</item>
            <item value="0x00060000">02       </item>
            <item value="0x00088000">03       </item>
            <item value="0x000a8000">04       </item>
            <item value="0x000c8000">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@06B30 = 4EB9000149C04E71</action>
            <action>maincpu.mq@149C0 = 2B40002C2B7C0000</action>
            <action>maincpu.mq@149C8 = 000000304E75FFFF</action>
            <!--
            149C0 | 2B40 002C           : move.l  D0, ($2c,A5)
            149C4 | 2B7C xxxx xxxx 0030 : move.l  #$xxxx, ($30,A5)
            149CC | 4E75                : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.md@149C6 = -param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@06B30 = 2B40002C2B410030</action>
            <action>maincpu.mq@149C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@149C8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="max bullets up (test)">
        <script state="on">
            <action>maincpu.mw@06A8C = 7C01            </action> <!-- disable bullet count -->
            <action>maincpu.mq@06AE0 = 4EF900014A203B7C</action>
            <action>maincpu.mq@14A20 = 4BED0060BBFC00FF</action>
            <action>maincpu.mq@14A28 = 2A8064064EF90000</action>
            <action>maincpu.mq@14A30 = 6AD84E75FFFFFFFF</action>
            <!--
            14A20 | 4BED 0060      : lea     ($60,A5), A5
            14A24 | BBFC 00FF 2A80 : cmpa.l  #$ff2a80, A5
            14A2A | 6406           : bcc     $14a32
            14A2C | 4EF9 0000 6AD8 : jmp     $6ad8.l
            14A32 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@06A8C = BC44            </action>
            <action>maincpu.mq@06AE0 = 4BED006060F23B7C</action>
            <action>maincpu.mq@14A20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@14A28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@14A30 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- code 0x80 or later are sounds -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@137B8 = 000149D0        </action>
            <action>maincpu.mq@149D0 = 41F900FF100043E8</action>
            <action>maincpu.mq@149D8 = 4001120010390084</action>
            <action>maincpu.mq@149E0 = 0001B20067F40C00</action>
            <action>maincpu.mq@149E8 = 007F660253100C00</action>
            <action>maincpu.mq@149F0 = 00BF660252100C00</action>
            <action>maincpu.mq@149F8 = 00EF660404100010</action>
            <action>maincpu.mq@14A00 = 0C0000DF66040610</action>
            <action>maincpu.mq@14A08 = 00100C0000FE6602</action>
            <action>maincpu.mq@14A10 = 12900C0000FD6604</action>
            <action>maincpu.mq@14A18 = 12BC008060BCFFFF</action>
            <!--
            149D0 | 41F9 00FF 1000 : lea     $ff1000.l, A0  // sound code address
            149D6 | 43E8 4001      : lea     ($4001,A0), A1 // sound latch address ($ff5001)
            149DA | 1200           : move.b  D0, D1
            149DC | 1039 0084 0001 : move.b  $840001.l, D0  // read input
            149E2 | B200           : cmp.b   D0, D1
            149E4 | 67F4           : beq     $149da
            149E6 | 0C00 007F      : cmpi.b  #$7f, D0
            149EA | 6602           : bne     $149ee
            149EC | 5310           : subq.b  #1, (A0)       // decrease code -01
            149EE | 0C00 00BF      : cmpi.b  #-$41, D0
            149F2 | 6602           : bne     $149f6
            149F4 | 5210           : addq.b  #1, (A0)       // increase code +01
            149F6 | 0C00 00EF      : cmpi.b  #-$11, D0
            149FA | 6604           : bne     $14a00
            149FC | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            14A00 | 0C00 00DF      : cmpi.b  #-$21, D0
            14A04 | 6604           : bne     $14a0a
            14A06 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            14A0A | 0C00 00FE      : cmpi.b  #-$2, D0
            14A0E | 6602           : bne     $14a12
            14A10 | 1290           : move.b  (A0), (A1)     // play sound
            14A12 | 0C00 00FD      : cmpi.b  #-$3, D0
            14A16 | 6604           : bne     $14a1c
            14A18 | 12BC 0080      : move.b  #$80, (A1)     // stop sound
            14A1C | 60BC           : bra     $149da
            -->
        </script>
        <script state="run">
            <output format="----- zunzunkyou no yabou 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 %02X &gt;&gt;"               line="19" align="center"  >
                <argument>maincpu.pb@FF1000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@137B8 = 0000574A        </action>
            <action>maincpu.mq@149D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@149D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@149E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@149E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@149F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@149F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@14A00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@14A08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@14A10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@14A18 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
  • "auto fire" : Fixed fire interval.
  • "sound test mode" : Fixed description about sound stop button. It's button 2 not start button.
Post Reply