Page 1 of 1

[twinbee] TwinBee

Posted: Thu Jan 20, 2022 2:02 pm
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".