[twinbee] TwinBee

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

[twinbee] TwinBee

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="run">
        <action condition="maincpu.pb@18692 == 62">maincpu.pb@18692 = 60</action> <!-- iron bar : copy from $b8692 -->
        <action condition="maincpu.pb@1872b == 12">maincpu.pb@1872b = 08</action> <!-- other objects : copy from $b872b -->
        <action condition="maincpu.pb@1885a == 67">maincpu.pb@1885a = 60</action> <!-- hand : copy from $b885a -->
        <action condition="maincpu.pb@18a28 == 64">maincpu.pb@18a28 = 60</action> <!-- shield : copy from $b8a28 -->
    </script>
    <script state="off">
        <action condition="maincpu.pb@18692 == 60">maincpu.pb@18692 = 62</action>
        <action condition="maincpu.pb@1872b == 08">maincpu.pb@1872b = 12</action>
        <action condition="maincpu.pb@1885a == 60">maincpu.pb@1885a = 67</action>
        <action condition="maincpu.pb@18a28 == 60">maincpu.pb@18a28 = 64</action>
    </script>
</cheat>

<cheat desc="auto fire - shot">
    <script state="run">
        <action condition="maincpu.pb@169bf == 01">maincpu.pb@169bf = 41</action> <!-- copy from $869bf -->
    </script>
    <script state="off">
        <action condition="maincpu.pb@169bf == 41">maincpu.pb@169bf = 01</action>
    </script>
</cheat>

<cheat desc="auto fire - bomb">
    <script state="run">
        <action condition="maincpu.pb@16e51 == 01">maincpu.pb@16e51 = 41</action> <!-- copy from $86e51 -->
    </script>
    <script state="off">
        <action condition="maincpu.pb@16e51 == 41">maincpu.pb@16e51 = 01</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0180">02       </item>
        <item value="0x0280">03       </item>
        <item value="0x0380">04       </item>
        <item value="0x0480">05 (fast)</item>
    </parameter>
    <script state="run">
        <action condition="maincpu.pw@17c78 == 3028">maincpu.pw@17c78 =  303c</action> <!-- left : copy from $87c78 -->
        <action condition="maincpu.pw@17cc8 == 3028">maincpu.pw@17cc8 =  303c</action> <!-- right : copy from $87cc8 -->
        <action condition="maincpu.pw@17d18 == 9068">maincpu.pw@17d18 =  0440</action> <!-- up : copy from $87d18 -->
        <action condition="maincpu.pw@17d4a == d068">maincpu.pw@17d4a =  0640</action> <!-- down : copy from $17d4a -->
        <action condition="maincpu.pw@17c78 == 303c">maincpu.pw@17c7a = param</action>
        <action condition="maincpu.pw@17cc8 == 303c">maincpu.pw@17cca = param</action>
        <action condition="maincpu.pw@17d18 == 0440">maincpu.pw@17d1a = param</action>
        <action condition="maincpu.pw@17d4a == 0640">maincpu.pw@17d4c = param</action>
    </script>
    <script state="off">
        <action condition="maincpu.pw@17c78 == 303c">maincpu.pd@17c78 = 3028004e</action>
        <action condition="maincpu.pw@17cc8 == 303c">maincpu.pd@17cc8 = 3028004e</action>
        <action condition="maincpu.pw@17d18 == 0440">maincpu.pd@17d18 = 9068004e</action>
        <action condition="maincpu.pw@17d4a == 0640">maincpu.pd@17d4a = d068004e</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x08">02       </item>
        <item value="0x0c">03       </item>
        <item value="0x10">04       </item>
        <item value="0x14">05 (slow)</item>
    </parameter>
    <script state="run">
        <action condition="maincpu.pw@170e8 == 1028">maincpu.pw@170e8 =  103c</action> <!-- normal/twin shot : copy from $870e8 -->
        <action condition="maincpu.pw@1725a == 1229">maincpu.pw@1725a =  123c</action> <!-- 3-way shot : copy from $8725a -->
        <action condition="maincpu.pw@170e8 == 103c">maincpu.pb@170eb = param</action>
        <action condition="maincpu.pw@1725a == 123c">maincpu.pb@1725d = param</action>
    </script>
    <script state="off">
        <action condition="maincpu.pw@170e8 == 103c">maincpu.pd@170e8 = 10280046</action>
        <action condition="maincpu.pw@1725a == 123c">maincpu.pd@1725a = 1229000b</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set ram/rom check error skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@80246 = 4ef9000002e04298</action> <!-- copy to $10246 -->
        <action>maincpu.mq@002e0 = 41f9000600001401</action>
        <action>maincpu.mq@002e8 = 12390005cc03b401</action>
        <action>maincpu.mq@002f0 = 67f40c0100fe6602</action>
        <action>maincpu.mq@002f8 = 53100c0100fd6602</action>
        <action>maincpu.mq@00300 = 52100c0100f76604</action>
        <action>maincpu.mq@00308 = 041000100c0100fb</action>
        <action>maincpu.mq@00310 = 6604061000100c01</action>
        <action>maincpu.mq@00318 = 00ef660410106008</action>
        <action>maincpu.mq@00320 = 0c0100df66084200</action>
        <action>maincpu.mq@00328 = 4eb9000126d860b6</action>
        <!--
        02e0 | 41f9 0006 0000 : lea    $60000.l,A0 // sound code address
        02e6 | 1401           : move.b D1,D2
        02e8 | 1239 0005 cc03 : move.b $5cc03.l,D1 // read input
        02ee | b401           : cmp.b  D1,D2
        02f0 | 67f4           : beq    $2e6
        02f2 | 0c01 00fe      : cmpi.b #-$2,D1
        02f6 | 6602           : bne    $2fa
        02f8 | 5310           : subq.b #1,(A0)     // decrease code -01
        02fa | 0c01 00fd      : cmpi.b #-$3,D1
        02fe | 6602           : bne    $302
        0300 | 5210           : addq.b #1,(A0)     // increase code +01
        0302 | 0c01 00f7      : cmpi.b #-$9,D1
        0306 | 6604           : bne    $30c
        0308 | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
        030c | 0c01 00fb      : cmpi.b #-$5,D1
        0310 | 6604           : bne    $316
        0312 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
        0316 | 0c01 00ef      : cmpi.b #-$11,D1
        031a | 6604           : bne    $320
        031c | 1010           : move.b (A0),D0     // play sound
        031e | 6008           : bra    $328
        0320 | 0c01 00df      : cmpi.b #-$21,D1
        0324 | 6608           : bne    $32e
        0326 | 4200           : clr.b  D0          // stop sound
        0328 | 4eb9 0001 26d8 : jsr    $126d8.l    // send sound code
        032e | 60b6           : bra    $2e6
        -->
    </script>
    <script state="run">
        <output format="----- twinbee 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@60000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.pq@10246 = 41f9000500004298</action>
        <action>maincpu.mq@80246 = 41f9000500004298</action>
        <action>maincpu.mq@002e0 = ffffffffffffffff</action>
        <action>maincpu.mq@002e8 = ffffffffffffffff</action>
        <action>maincpu.mq@002f0 = ffffffffffffffff</action>
        <action>maincpu.mq@002f8 = ffffffffffffffff</action>
        <action>maincpu.mq@00300 = ffffffffffffffff</action>
        <action>maincpu.mq@00308 = ffffffffffffffff</action>
        <action>maincpu.mq@00310 = ffffffffffffffff</action>
        <action>maincpu.mq@00318 = ffffffffffffffff</action>
        <action>maincpu.mq@00320 = ffffffffffffffff</action>
        <action>maincpu.mq@00328 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check error">
    <script state="run">
        <action condition="maincpu.pw@3d2d6 == 6700">maincpu.pd@3d2d6 = 600001b2</action> <!-- copy from $9d2d6 -->
    </script>
    <script state="off">
        <action condition="maincpu.pw@3d2d6 == 6000">maincpu.pd@3d2d6 = 67000186</action>
    </script>
</cheat>
"sound test mode" has problem. You can't choose "wake-up music" and "voice".
Post Reply