[macross] Macross

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

[macross] Macross

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@7c42 = 60</action> <!-- enemy -->
        <action>maincpu.mb@756e = 60</action> <!-- bullet -->
    </script>
    <script state="off">
        <action>maincpu.mb@7c42 = 66</action>
        <action>maincpu.mb@756e = 66</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@5fe1 = 00</action> <!-- main shot -->
        <action>maincpu.mb@5edd = 00</action> <!-- sub shot -->
    </script>
    <script state="off">
        <action>maincpu.mb@5fe1 = 20</action>
        <action>maincpu.mb@5edd = 20</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x00018000">01 (slow)</item>
        <item value="0x00028000">02       </item>
        <item value="0x00048000">03       </item>
        <item value="0x00068000">04       </item>
        <item value="0x00088000">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.mq@5562 = 4eb90000c0804e71</action>
        <action>maincpu.mq@c080 = 223000000c6e00a8</action>
        <action>maincpu.mq@c088 = 002c6410243c0000</action>
        <action>maincpu.mq@c090 = 80004a8167066a02</action>
        <action>maincpu.mq@c098 = 4482220220300004</action>
        <action>maincpu.mq@c0a0 = 0c6e00a8002c6410</action>
        <action>maincpu.mq@c0a8 = 243c000080004a80</action>
        <action>maincpu.mq@c0b0 = 67066a0244822002</action>
        <action>maincpu.mq@c0b8 = 4e75000000000000</action>
        <!--
        c080 | 2230 0000      : move.l (A0,D0.w),D1    // y position
        c084 | 0c6e 00a8 002c : cmpi.w #$a8,($2c,A6)   // check auto moving flag
        c08a | 6410           : bcc    $c09c
        c08c | 243c xxxx xxxx : move.l #$xxxx,D2
        c092 | 4a81           : tst.l  D1
        c094 | 6706           : beq    $c09c
        c096 | 6a02           : bpl    $c09a
        c098 | 4482           : neg.l  D2
        c09a | 2202           : move.l D2,D1
        c09c | 2030 0004      : move.l ($4,A0,D0.w),D0 // x position
        c0a0 | 0c6e 00a8 002c : cmpi.w #$a8,($2c,A6)   // check auto moving flag
        c0a6 | 6410           : bcc    $c0b8
        c0a8 | 243c xxxx xxxx : move.l #$xxxx,D2
        c0ae | 4a80           : tst.l  D0
        c0b0 | 6706           : beq    $c0b8
        c0b2 | 6a02           : bpl    $c0b6
        c0b4 | 4482           : neg.l  D2
        c0b6 | 2002           : move.l D2,D0
        c0b8 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.md@c08e = param</action>
        <action>maincpu.md@c0aa = param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@5562 = 2230000020300004</action>
        <action>maincpu.mq@c080 = 0000000000000000</action>
        <action>maincpu.mq@c088 = 0000000000000000</action>
        <action>maincpu.mq@c090 = 0000000000000000</action>
        <action>maincpu.mq@c098 = 0000000000000000</action>
        <action>maincpu.mq@c0a0 = 0000000000000000</action>
        <action>maincpu.mq@c0a8 = 0000000000000000</action>
        <action>maincpu.mq@c0b0 = 0000000000000000</action>
        <action>maincpu.mq@c0b8 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x00048000">01 (slow)</item>
        <item value="0x00088000">02       </item>
        <item value="0x000c8000">03       </item>
        <item value="0x00108000">04       </item>
        <item value="0x00148000">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.mq@5f42 = 4eb90000c0c04e71</action> <!-- gerwalk / battroid -->
        <action>maincpu.mq@608e = 4eb90000c0c04e71</action> <!-- fighter -->
        <action>maincpu.mq@636a = 4eb90000c0c84e71</action> <!-- armord-v -->
        <action>maincpu.mq@c0c0 = 201b295b00246006</action>
        <action>maincpu.mq@c0c8 = 201a295a0024243c</action>
        <action>maincpu.mq@c0d0 = 001080004a806706</action>
        <action>maincpu.mq@c0d8 = 6a02448220022940</action>
        <action>maincpu.mq@c0e0 = 00204e7500000000</action>
        <!--
        c0c0 | 201b           : move.l (A3)+,D0
        c0c2 | 295b 0024      : move.l (A3)+,($24,A4)
        c0c6 | 6006           : bra    $c0ce
        c0c8 | 201a           : move.l (A2)+,D0
        c0ca | 295a 0024      : move.l (A2)+,($24,A4)
        c0ce | 243c xxxx xxxx : move.l #$xxxx,D2
        c0d4 | 4a80           : tst.l  D0
        c0d6 | 6706           : beq    $c0de
        c0d8 | 6a02           : bpl    $c0dc
        c0da | 4482           : neg.l  D2
        c0dc | 2002           : move.l D2,D0
        c0de | 2940 0020      : move.l D0,($20,A4)
        c0e2 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.md@c0d0 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mq@5f42 = 295b0020295b0024</action>
        <action>maincpu.mq@608e = 295b0020295b0024</action>
        <action>maincpu.mq@636a = 295a0020295a0024</action>
        <action>maincpu.mq@c0c0 = 0000000000000000</action>
        <action>maincpu.mq@c0c8 = 0000000000000000</action>
        <action>maincpu.mq@c0d0 = 0000000000000000</action>
        <action>maincpu.mq@c0d8 = 0000000000000000</action>
        <action>maincpu.mq@c0e0 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@03b8 =             c0f0</action>
        <action>maincpu.mq@c0f0 = 41f9000f100043f9</action>
        <action>maincpu.mq@c0f8 = 0008001f12001039</action>
        <action>maincpu.mq@c100 = 00080003b20067f4</action>
        <action>maincpu.mq@c108 = 0c0000fd66025310</action>
        <action>maincpu.mq@c110 = 0c0000fe66025210</action>
        <action>maincpu.mq@c118 = 0c0000fb66040410</action>
        <action>maincpu.mq@c120 = 00100c0000f76604</action>
        <action>maincpu.mq@c128 = 061000100c0000ef</action>
        <action>maincpu.mq@c130 = 660212900c0000df</action>
        <action>maincpu.mq@c138 = 6602421160be0000</action>
        <!--
        c0f0 | 41f9 000f 1000 : lea    $f1000.l,A0 // sound code address
        c0f6 | 43f9 0008 001f : lea    $8001f.l,A1 // sound latch address
        c0fc | 1200           : move.b D0,D1
        c0fe | 1039 0008 0003 : move.b $80003.l,D0 // read input
        c104 | b200           : cmp.b  D0,D1
        c106 | 67f4           : beq    $c0fc
        c108 | 0c00 00fd      : cmpi.b #-$3,D0
        c10c | 6602           : bne    $c110
        c10e | 5310           : subq.b #1,(A0)     // decrease code -01
        c110 | 0c00 00fe      : cmpi.b #-$2,D0
        c114 | 6602           : bne    $c118
        c116 | 5210           : addq.b #1,(A0)     // increase code +01
        c118 | 0c00 00fb      : cmpi.b #-$5,D0
        c11c | 6604           : bne    $c122
        c11e | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
        c122 | 0c00 00f7      : cmpi.b #-$9,D0
        c126 | 6604           : bne    $c12c
        c128 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
        c12c | 0c00 00ef      : cmpi.b #-$11,D0
        c130 | 6602           : bne    $c134
        c132 | 1290           : move.b (A0),(A1)   // play sound
        c134 | 0c00 00df      : cmpi.b #-$21,D0
        c138 | 6602           : bne    $c13c
        c13a | 4211           : clr.b  (A1)        // stop sound
        c13c | 60be           : bra    $c0fc
        -->
    </script>
    <script state="run">
        <output format="----- macross 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 %2.2X &gt;&gt;"  line="19" align="center"  >
            <argument>maincpu.pb@f1000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@03b8 =             9d28</action>
        <action>maincpu.mq@c0f0 = 0000000000000000</action>
        <action>maincpu.mq@c0f8 = 0000000000000000</action>
        <action>maincpu.mq@c100 = 0000000000000000</action>
        <action>maincpu.mq@c108 = 0000000000000000</action>
        <action>maincpu.mq@c110 = 0000000000000000</action>
        <action>maincpu.mq@c118 = 0000000000000000</action>
        <action>maincpu.mq@c120 = 0000000000000000</action>
        <action>maincpu.mq@c128 = 0000000000000000</action>
        <action>maincpu.mq@c130 = 0000000000000000</action>
        <action>maincpu.mq@c138 = 0000000000000000</action>
    </script>
</cheat>
The following codes are test.

Code: Select all

<cheat desc="max bullets up (test)">
    <comment>fighter, gerwalk and battroid only</comment>
    <script state="on">
        <!-- fighter -->
        <action>maincpu.mb@11269 = 07</action> <!-- shot level 1 -->
        <action>maincpu.mb@112c5 = 07</action> <!-- shot level 2 -->
        <action>maincpu.mb@1134d = 07</action> <!-- shot level 3 -->
        <action>maincpu.mb@113d5 = 07</action> <!-- shot level 4 -->
        <action>maincpu.mb@1145d = 07</action> <!-- shot level 5 -->
        <action>maincpu.mb@11511 = 07</action> <!-- shot level 6 -->
        <action>maincpu.mb@115c5 = 07</action> <!-- shot level 7 -->
        <action>maincpu.mb@116a5 = 07</action> <!-- shot level 8 -->
        <!-- gerwalk / battroid -->
        <action>maincpu.mb@1519f = 07</action>
        <!-- armord-v -->
   <!-- <action>maincpu.mb@14f8b = 07</action> --> <!-- crash the game -->
    </script>
    <script state="off">
        <action>maincpu.mb@11269 = 02</action>
        <action>maincpu.mb@112c5 = 02</action>
        <action>maincpu.mb@1134d = 02</action>
        <action>maincpu.mb@113d5 = 02</action>
        <action>maincpu.mb@1145d = 02</action>
        <action>maincpu.mb@11511 = 02</action>
        <action>maincpu.mb@115c5 = 02</action>
        <action>maincpu.mb@116a5 = 02</action>
        <action>maincpu.mb@1519f = 02</action>
        <action>maincpu.mb@14f8b = 04</action>
    </script>
</cheat>
"max bullets up" : fighter, gerwalk and battroid only. armord-v causes the game crash so that corresponded line comments out at this time.

Code: Select all

<cheat desc="short hit mark (test)">
    <script state="on">
        <action>maincpu.mb@117fb = 00</action>
        <action>maincpu.mb@11817 = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@117fb = 02</action>
        <action>maincpu.mb@11817 = 02</action>
    </script>
</cheat>
"short hit mark" : unverified. "hit mark" is too short display to confirm.
Post Reply