[tnextspcj] The Next Space

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

[tnextspcj] The Next Space

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.md@148bc = 4eb803f0</action> <!-- enemy -->
        <action>maincpu.md@1495a = 4eb803f0</action> <!-- boss -->
        <action>maincpu.md@14c72 = 4eb803f0</action> <!-- bullet -->
        <!-- check routine -->
        <action>maincpu.mq@003f0 = b3fc000722406304</action>
        <action>maincpu.mq@003f8 = 4a2900184e75ffff</action>
        <!--
        03f0 | b3fc 0007 2240 : cmpa.l #$72240,A1
        03f6 | 6304           : bls    $3fc
        03f8 | 4a29 0018      : tst.b  ($18,A1)
        03fc | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.md@148bc =         4a290018</action>
        <action>maincpu.md@1495a =         4a290018</action>
        <action>maincpu.md@14c72 =         4a290018</action>
        <action>maincpu.mq@003f0 = ffffffffffffffff</action>
        <action>maincpu.mq@003f8 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <!-- P1 -->
        <action>maincpu.mq@019ae = 0828000400294e71</action> <!-- btst #$4,($29,A0) / nop -->
        <action>maincpu.mb@019d1 =               02</action> <!-- enable to fire mainshot and subweapon -->
        <action>maincpu.mq@019d6 = 0828000500294e71</action> <!-- btst #$5,($29,A0) / nop -->
        <!-- P2 -->
        <action>maincpu.mq@01a1e = 0828000400294e71</action> <!-- btst #$4,($29,A0) / nop -->
        <action>maincpu.mb@01a41 =               02</action> <!-- enable to fire mainshot and subweapon -->
        <action>maincpu.mq@01a46 = 0828000500294e71</action> <!-- btst #$5,($29,A0) / nop -->
        <!-- sub unit (weapon H) -->
        <action>maincpu.mq@1677e = 0829000500294e71</action> <!-- btst #$5,($29,A1) / nop -->
    </script>
    <script state="off">
        <action>maincpu.mq@019ae = 024000030c400002</action>
        <action>maincpu.mb@019d1 =               1e</action>
        <action>maincpu.mq@019d6 = 024000030c400002</action>
        <action>maincpu.mq@01a1e = 024000030c400002</action>
        <action>maincpu.mb@01a41 =               1e</action>
        <action>maincpu.mq@01a46 = 024000030c400002</action>
        <action>maincpu.mq@1677e = 024000030c400002</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x02">02       </item>
        <item value="0x04">03       </item>
        <item value="0x06">04       </item>
        <item value="0x08">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@2c48 =         4eb803d0</action> <!-- x position -->
        <action>maincpu.md@2c52 =         4eb803e0</action> <!-- y position -->
        <action>maincpu.mq@03d0 = 7401103100006706</action>
        <action>maincpu.mq@03d8 = 6a02440210024e75</action>
        <action>maincpu.mq@03e0 = 7401123110006706</action>
        <action>maincpu.mq@03e8 = 6a02440212024e75</action>
        <!--
        03d0 | 74xx      : moveq  #$xx,D2       // x position
        03d2 | 1031 0000 : move.b (A1,D0.w),D0
        03d6 | 6706      : beq    $3de
        03d8 | 6a02      : bpl    $3dc
        03da | 4402      : neg.b  D2
        03dc | 1002      : move.b D2,D0
        03de | 4e75      : rts
        03e0 | 74xx      : moveq  #$xx,D2       // y position
        03e2 | 1231 1000 : move.b (A1,D1.w),D1
        03e6 | 6706      : beq    $3ee
        03e8 | 6a02      : bpl    $3ec
        03ea | 4402      : neg.b  D2
        03ec | 1202      : move.b D2,D1
        03ee | 4e75      : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.mb@03d1 = param</action>
        <action>maincpu.mb@03e1 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@2c48 =         10310000</action>
        <action>maincpu.md@2c52 =         12311000</action>
        <action>maincpu.mq@03d0 = ffffffffffffffff</action>
        <action>maincpu.mq@03d8 = ffffffffffffffff</action>
        <action>maincpu.mq@03e0 = ffffffffffffffff</action>
        <action>maincpu.mq@03e8 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="bullet speed - main shot">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x0c">02       </item>
        <item value="0x10">03       </item>
        <item value="0x14">04       </item>
        <item value="0x18">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@12c63 =  param</action> <!-- speed -->
        <action>maincpu.mb@12c71 = -param</action> <!-- range -->
    </script>
    <script state="off">
        <action>maincpu.mb@12c63 = 0c</action>
        <action>maincpu.mb@12c71 = f4</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@0089c = 4ef900019ee0303c</action>
        <action>maincpu.mq@19ee0 = 41f90007100043f9</action>
        <action>maincpu.mq@19ee8 = 000f000912001039</action>
        <action>maincpu.mq@19ef0 = 000e0001b20067f4</action>
        <action>maincpu.mq@19ef8 = 0c0000fb66025310</action>
        <action>maincpu.mq@19f00 = 0c0000f766025210</action>
        <action>maincpu.mq@19f08 = 0c0000fd66040410</action>
        <action>maincpu.mq@19f10 = 00100c0000fe6604</action>
        <action>maincpu.mq@19f18 = 061000100c0000ef</action>
        <action>maincpu.mq@19f20 = 660212900c0000df</action>
        <action>maincpu.mq@19f28 = 660412bc003660bc</action>
        <!--
        19ee0 | 41f9 0007 1000 : lea    $71000.l,A0 // sound code address
        19ee6 | 43f9 000f 0009 : lea    $f0009.l,A1 // sound latch address
        19eec | 1200           : move.b D0,D1
        19eee | 1039 000e 0001 : move.b $e0001.l,D0 // read input
        19ef4 | b200           : cmp.b  D0,D1
        19ef6 | 67f4           : beq    $19eec
        19ef8 | 0c00 00fb      : cmpi.b #-$5,D0
        19efc | 6602           : bne    $19f00
        19efe | 5310           : subq.b #1,(A0)     // decrease code -01
        19f00 | 0c00 00f7      : cmpi.b #-$9,D0
        19f04 | 6602           : bne    $19f08
        19f06 | 5210           : addq.b #1,(A0)     // increase code +01
        19f08 | 0c00 00fd      : cmpi.b #-$3,D0
        19f0c | 6604           : bne    $19f12
        19f0e | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
        19f12 | 0c00 00fe      : cmpi.b #-$2,D0
        19f16 | 6604           : bne    $19f1c
        19f18 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
        19f1c | 0c00 00ef      : cmpi.b #-$11,D0
        19f20 | 6602           : bne    $19f24
        19f22 | 1290           : move.b (A0),(A1)   // play sound
        19f24 | 0c00 00df      : cmpi.b #-$21,D0
        19f28 | 6604           : bne    $19f2e
        19f2a | 12bc 0036      : move.b #$36,(A1)   // stop sound
        19f2e | 60bc           : bra    $19eec
        -->
        <action>audiocpu.mw@08e7 = 0a82</action> <!-- force to play music -->
        <action>audiocpu.mw@08ed = 0b46</action> <!-- force to play sfx -->
        <!-- sound code flag table -->
        <action>audiocpu.mq@1250 = 0200000202000202</action>
        <action>audiocpu.mq@1260 = 0002020200000202</action>
        <action>audiocpu.mq@1270 = 0200020002000202</action>
    </script>
    <script state="run">
        <output format="----- the next space 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 music"                       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@71000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@0089c = 207c0002233c303c</action>
        <action>maincpu.mq@19ee0 = ffffffffffffffff</action>
        <action>maincpu.mq@19ee8 = ffffffffffffffff</action>
        <action>maincpu.mq@19ef0 = ffffffffffffffff</action>
        <action>maincpu.mq@19ef8 = ffffffffffffffff</action>
        <action>maincpu.mq@19f00 = ffffffffffffffff</action>
        <action>maincpu.mq@19f08 = ffffffffffffffff</action>
        <action>maincpu.mq@19f10 = ffffffffffffffff</action>
        <action>maincpu.mq@19f18 = ffffffffffffffff</action>
        <action>maincpu.mq@19f20 = ffffffffffffffff</action>
        <action>maincpu.mq@19f28 = ffffffffffffffff</action>
        <action>audiocpu.mw@08e7 =             0a76</action>
        <action>audiocpu.mw@08ed =             0b32</action>
        <action>audiocpu.mq@1250 = 0202020202020202</action>
        <action>audiocpu.mq@1260 = 0202020202020202</action>
        <action>audiocpu.mq@1270 = 0202020202020202</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action> maincpu.md@04ae = 6000018c</action> <!-- maincpu : skip ram/rom check -->
        <action> maincpu.mw@0654 =     0006</action> <!-- maincpu : disable wait -->
        <action> maincpu.mw@0850 =     0006</action> <!-- maincpu : disable wait -->
        <action>audiocpu.mw@0c6b =     5518</action> <!-- audiocpu : skip ram/rom check -->
    </script>
    <script state="off">
        <action> maincpu.md@04ae = 207c0000</action>
        <action> maincpu.mw@0654 =     fffc</action>
        <action> maincpu.mw@0850 =     fffc</action>
        <action>audiocpu.mw@0c6b =     0021</action>
    </script>
</cheat>
Post Reply