[bandit] Bandit

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

[bandit] Bandit

Post by jman »

bandit will be promoted from "not working" to "working" in 0.278.

bandit.xml

Code: Select all

<!-- Bandit (US prototype) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <!-- offroad -->
            <action>maincpu.mw@0A588 = 0100</action>
            <!-- objects -->
            <action>maincpu.md@19E5E = 000508C0        </action>
            <action>maincpu.mq@508C0 = 0C41000A66100C29</action>
            <action>maincpu.mq@508C8 = 000500076D080C29</action>
            <action>maincpu.mq@508D0 = 000C00076D064EB9</action>
            <action>maincpu.mq@508D8 = 00019F164E750000</action>
            <!--
            508C0 | 0C41 000A      : cmpi.w  #$a, D1      // check player or not
            508C4 | 6610           : bne     $508d6
            508C6 | 0C29 0005 0007 : cmpi.b  #$5, ($7,A1) // check item
            508CC | 6D08           : blt     $508d6
            508CE | 0C29 000C 0007 : cmpi.b  #$c, ($7,A1) // check item
            508D4 | 6D06           : blt     $508dc
            508D6 | 4EB9 0001 9F16 : jsr     $19f16.l
            508DC | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@0A588 = 0040            </action>
            <action>maincpu.md@19E5E = 00019F16        </action>
            <action>maincpu.mq@508C0 = 0000000000000000</action>
            <action>maincpu.mq@508C8 = 0000000000000000</action>
            <action>maincpu.mq@508D0 = 0000000000000000</action>
            <action>maincpu.mq@508D8 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="rapid fire - main shot">
        <script state="on">
            <action>maincpu.mq@00840 = 4EB9000508E0C2BC</action>
            <action>maincpu.mq@508E0 = 22390030C0000801</action>
            <action>maincpu.mq@508E8 = 0014661208390006</action>
            <action>maincpu.mq@508F0 = 0031810E660808F9</action>
            <action>maincpu.mq@508F8 = 0004003180294E75</action>
            <!--
            508E0 | 2239 0030 C000      : move.l  $30c000.l, D1
            508E6 | 0801 0014           : btst    #$14, D1       // check button 1
            508EA | 6612                : bne     $508fe
            508EC | 0839 0006 0031 810E : btst    #$6, $31810e.l // check name entry
            508F4 | 6608                : bne     $508fe
            508F6 | 08F9 0004 0031 8029 : bset    #$4, $318029.l
            508FE | 4E75                : rts
            -->
            <action>maincpu.mb@16D68 = 51</action> <!-- short interval -->
        </script>
        <script state="off">
            <action>maincpu.mq@00840 = 22390030C000C2BC</action>
            <action>maincpu.mq@508E0 = 0000000000000000</action>
            <action>maincpu.mq@508E8 = 0000000000000000</action>
            <action>maincpu.mq@508F0 = 0000000000000000</action>
            <action>maincpu.mq@508F8 = 0000000000000000</action>
            <action>maincpu.mb@16D68 = 53              </action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x303C01004E714EB9">01 (slow)</item>
            <item value="0x303C00804E714EB9">02       </item>
            <item value="0x303C00404E714EB9">03       </item>
            <item value="0x303C00204E714EB9">04       </item>
            <item value="0x303C00014E714EB9">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mq@17990 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@17990 = 30390031AA844EB9</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@007AA = 00050900        </action>
            <action>maincpu.mq@50900 = 41F90031800043F9</action>
            <action>maincpu.mq@50908 = 0030C01512001029</action>
            <action>maincpu.mq@50910 = FFECB20067F60C00</action>
            <action>maincpu.mq@50918 = 00FB660253100C00</action>
            <action>maincpu.mq@50920 = 00F7660252100C00</action>
            <action>maincpu.mq@50928 = 00FD660404100010</action>
            <action>maincpu.mq@50930 = 0C0000FE66040610</action>
            <action>maincpu.mq@50938 = 00100C0000EF6602</action>
            <action>maincpu.mq@50940 = 12900C0000DF6602</action>
            <action>maincpu.mq@50948 = 421160C000000000</action>
            <!--
            50900 | 41F9 0031 8000 : lea     $318000.l, A0 // sound code address
            50906 | 43F9 0030 C015 : lea     $30c015.l, A1 // sound latch address
            5090C | 1200           : move.b  D0, D1
            5090E | 1029 FFEC      : move.b  (-$14,A1), D0 // read input ($30C001)
            50912 | B200           : cmp.b   D0, D1
            50914 | 67F6           : beq     $5090c
            50916 | 0C00 00FB      : cmpi.b  #-$5, D0
            5091A | 6602           : bne     $5091e
            5091C | 5310           : subq.b  #1, (A0)      // decrease code -01
            5091E | 0C00 00F7      : cmpi.b  #-$9, D0
            50922 | 6602           : bne     $50926
            50924 | 5210           : addq.b  #1, (A0)      // increase code +01
            50926 | 0C00 00FD      : cmpi.b  #-$3, D0
            5092A | 6604           : bne     $50930
            5092C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            50930 | 0C00 00FE      : cmpi.b  #-$2, D0
            50934 | 6604           : bne     $5093a
            50936 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            5093A | 0C00 00EF      : cmpi.b  #-$11, D0
            5093E | 6602           : bne     $50942
            50940 | 1290           : move.b  (A0), (A1)    // play sound
            50942 | 0C00 00DF      : cmpi.b  #-$21, D0
            50946 | 6602           : bne     $5094a
            50948 | 4211           : clr.b   (A1)          // stop sound
            5094A | 60C0           : bra     $5090c
            -->
        </script>
        <script state="run">
            <output format="----- 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@318000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@007AA = 00014102        </action>
            <action>maincpu.mq@50900 = 0000000000000000</action>
            <action>maincpu.mq@50908 = 0000000000000000</action>
            <action>maincpu.mq@50910 = 0000000000000000</action>
            <action>maincpu.mq@50918 = 0000000000000000</action>
            <action>maincpu.mq@50920 = 0000000000000000</action>
            <action>maincpu.mq@50928 = 0000000000000000</action>
            <action>maincpu.mq@50930 = 0000000000000000</action>
            <action>maincpu.mq@50938 = 0000000000000000</action>
            <action>maincpu.mq@50940 = 0000000000000000</action>
            <action>maincpu.mq@50948 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Post Reply