[roboarmy] Robo Army

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

[roboarmy] Robo Army

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.rq@088b2 = 4eb90002c0f06600</action>
        <action>maincpu.rq@2c0f0 = 103c00014a2c00d7</action>
        <action>maincpu.rq@2c0f8 = 6a064eb900008f84</action>
        <action>maincpu.rq@2c100 = 4a004e75ffffffff</action>
        <!--
        2c0f0 | 103c 0001      : move.b #$1,D0
        2c0f4 | 4a2c 00d7      : tst.b  ($d7,A4)
        2c0f8 | 6a06           : bpl    $2c100
        2c0fa | 4eb9 0000 8f84 : jsr    $8f84.l
        2c100 | 4a00           : tst.b  D0
        2c102 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.rq@088b2 = 4eba06d04a006600</action>
        <action>maincpu.rq@2c0f0 = ffffffffffffffff</action>
        <action>maincpu.rq@2c0f8 = ffffffffffffffff</action>
        <action>maincpu.rq@2c100 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.rq@0c43e = 4eb90002c1104e71</action>
        <action>maincpu.rq@0dfd6 = 4eb90002c1104e71</action>
        <action>maincpu.rq@2c110 = 102c00e7322dc002</action>
        <action>maincpu.rq@2c118 = 02410002660a122c</action>
        <action>maincpu.rq@2c120 = 00c0020100108001</action>
        <action>maincpu.rq@2c128 = 080000044e75ffff</action>
        <!--
        2c110 | 102c 00e7 : move.b ($e7,A4),D0
        2c114 | 322d c002 : move.w (-$3ffe,A5),D1
        2c118 | 0241 0002 : andi.w #$2,D1
        2c11c | 660a      : bne    $2c128
        2c11e | 122c 00c0 : move.b ($c0,A4),D1
        2c122 | 0201 0010 : andi.b #$10,D1
        2c126 | 8001      : or.b   D1,D0
        2c128 | 0800 0004 : btst   #$4,D0
        2c12c | 4e75      : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.rq@0c43e = 102c00e708000004</action>
        <action>maincpu.rq@0dfd6 = 102c00e708000004</action>
        <action>maincpu.rq@2c110 = ffffffffffffffff</action>
        <action>maincpu.rq@2c118 = ffffffffffffffff</action>
        <action>maincpu.rq@2c120 = ffffffffffffffff</action>
        <action>maincpu.rq@2c128 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="attack speed up">
    <script state="on">
        <action>maincpu.rb@c425 = 00</action> <!-- back attack -->
        <action>maincpu.rb@c495 = 02</action> <!-- weapon attack -->
        <action>maincpu.rb@c593 = 00</action> <!-- chop attack -->
        <action>maincpu.rb@c5dd = 00</action> <!-- normal attack -->
        <action>maincpu.rb@dfbd = 00</action> <!-- back attack (rope) -->
        <action>maincpu.rb@dff1 = 02</action> <!-- normal attack (rope) -->
    </script>
    <script state="off">
        <action>maincpu.rb@c425 = 02</action>
        <action>maincpu.rb@c495 = 04</action>
        <action>maincpu.rb@c593 = 06</action>
        <action>maincpu.rb@c5dd = 03</action>
        <action>maincpu.rb@dfbd = 04</action>
        <action>maincpu.rb@dff1 = 04</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x00008000">01 (slow)</item>
        <item value="0x00018000">02       </item>
        <item value="0x00028000">03       </item>
        <item value="0x00038000">04       </item>
        <item value="0x00048000">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.rd@0dd8c =         0002c130</action>
        <action>maincpu.rq@2c130 = 4eb85f32243c0000</action>
        <action>maincpu.rq@2c138 = 00004a8067066a02</action>
        <action>maincpu.rq@2c140 = 44822002243c0000</action>
        <action>maincpu.rq@2c148 = 00004a8167066a02</action>
        <action>maincpu.rq@2c150 = 448222024e75ffff</action>
        <!--
        2c130 | 4eb8 5f32      : jsr    $5f32.w
        2c134 | 243c xxxx xxxx : move.l #$xxxx,D2
        2c13a | 4a80           : tst.l  D0
        2c13c | 6706           : beq    $2c144
        2c13e | 6a02           : bpl    $2c142
        2c140 | 4482           : neg.l  D2
        2c142 | 2002           : move.l D2,D0
        2c144 | 243c xxxx xxxx : move.l #$xxxx,D2
        2c14a | 4a81           : tst.l  D1
        2c14c | 6706           : beq    $2c154
        2c14e | 6a02           : bpl    $2c152
        2c150 | 4482           : neg.l  D2
        2c152 | 2202           : move.l D2,D1
        2c154 | 4e75           : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.rd@2c136 = param</action>
        <action>maincpu.rd@2c146 = param</action>
    </script>
    <script state="off">
        <action>maincpu.rd@0dd8c =         00005f32</action>
        <action>maincpu.rq@2c130 = ffffffffffffffff</action>
        <action>maincpu.rq@2c138 = ffffffffffffffff</action>
        <action>maincpu.rq@2c140 = ffffffffffffffff</action>
        <action>maincpu.rq@2c148 = ffffffffffffffff</action>
        <action>maincpu.rq@2c150 = ffffffffffffffff</action>
    </script>
</cheat>
"attack speed up" : unfortunately, "weapon attack" and "normal attack (rope)" don't get faster attack. If you change these values from 0x02 to 0x00, you will get it but no hit.

The following code is test. Normal punch enables "one hit kill" but other attack (eg, jump kick) don't enable.

Code: Select all

<cheat desc="one hit kill (test)">
    <comment>normal punch only</comment>
    <script state="on">
        <action>maincpu.rq@08784 = 4eb90002c160116c</action>
        <action>maincpu.rq@2c160 = 117cffff00c94228</action>
        <action>maincpu.rq@2c168 = 00d34e75ffffffff</action>
        <!--
        2c160 | 117c ffff 00c9 : move.b #$ff,($c9,A0)
        2c166 | 4228 00d3      : clr.b  ($d3,A0)
        2c16a | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.rq@08784 = 117cffff00c9116c</action>
        <action>maincpu.rq@2c160 = ffffffffffffffff</action>
        <action>maincpu.rq@2c168 = ffffffffffffffff</action>
    </script>
</cheat>
I omit "skip ram/rom check" because it has already posted here.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[roboarmy] Robo Army (update)

Post by jman »

Code: Select all

<cheat desc="sound test mode">
    <!-- don't play code 0x01, 0x03, and 0x10 because of no sound response -->
    <!-- valid bank number seems to be 0x00 and 0x08 -->
    <script state="on">
        <action>maincpu.rb@00fa9 =               02</action> <!-- enable sound in interrupt -->
        <action>maincpu.rq@008ea = 4ef90002c170522d</action>
        <action>maincpu.rq@2c170 = 204d43e80001347c</action>
        <action>maincpu.rq@2c178 = 6178605e14011239</action>
        <action>maincpu.rq@2c180 = 00300000b40167f4</action>
        <action>maincpu.rq@2c188 = 0c0100fb66025310</action>
        <action>maincpu.rq@2c190 = 0c0100f766025210</action>
        <action>maincpu.rq@2c198 = 0c0100fd66040410</action>
        <action>maincpu.rq@2c1a0 = 00100c0100fe6604</action>
        <action>maincpu.rq@2c1a8 = 061000100c0100bb</action>
        <action>maincpu.rq@2c1b0 = 660253110c0100b7</action>
        <action>maincpu.rq@2c1b8 = 660252110211000f</action>
        <action>maincpu.rq@2c1c0 = 0c0100ef660e1011</action>
        <action>maincpu.rq@2c1c8 = 6706060000104e92</action>
        <action>maincpu.rq@2c1d0 = 10104e920c0100df</action>
        <action>maincpu.rq@2c1d8 = 6612103c00014e92</action>
        <action>maincpu.rq@2c1e0 = 103c00034e92103c</action>
        <action>maincpu.rq@2c1e8 = 00074e92608effff</action>
        <!--
        2c170 | 204d           : movea.l A5,A0        // $108000 : sound code address
        2c172 | 43e8 0001      : lea     ($1,A0),A1   // $108001 : bank number address
        2c176 | 347c 6178      : movea.w #$6178,A2
        2c17a | 605e           : bra     $2c1da
        2c17c | 1401           : move.b  D1,D2
        2c17e | 1239 0030 0000 : move.b  $300000.l,D1 // read input
        2c184 | b401           : cmp.b   D1,D2
        2c186 | 67f4           : beq     $2c17c
        2c188 | 0c01 00fb      : cmpi.b  #-$5,D1
        2c18c | 6602           : bne     $2c190
        2c18e | 5310           : subq.b  #1,(A0)      // decrease code -01
        2c190 | 0c01 00f7      : cmpi.b  #-$9,D1
        2c194 | 6602           : bne     $2c198
        2c196 | 5210           : addq.b  #1,(A0)      // increase code +01
        2c198 | 0c01 00fd      : cmpi.b  #-$3,D1
        2c19c | 6604           : bne     $2c1a2
        2c19e | 0410 0010      : subi.b  #$10,(A0)    // decrease code -10
        2c1a2 | 0c01 00fe      : cmpi.b  #-$2,D1
        2c1a6 | 6604           : bne     $2c1ac
        2c1a8 | 0610 0010      : addi.b  #$10,(A0)    // increase code +10
        2c1ac | 0c01 00bb      : cmpi.b  #-$45,D1
        2c1b0 | 6602           : bne     $2c1b4
        2c1b2 | 5311           : subq.b  #1,(A1)      // decrease bank -01
        2c1b4 | 0c01 00b7      : cmpi.b  #-$49,D1
        2c1b8 | 6602           : bne     $2c1bc
        2c1ba | 5211           : addq.b  #1,(A1)      // increase bank +01
        2c1bc | 0211 000f      : andi.b  #$f,(A1)
        2c1c0 | 0c01 00ef      : cmpi.b  #-$11,D1
        2c1c4 | 660e           : bne     $2c1d4
        2c1c6 | 1011           : move.b  (A1),D0      // play sound
        2c1c8 | 6706           : beq     $2c1d0
        2c1ca | 0600 0010      : addi.b  #$10,D0
        2c1ce | 4e92           : jsr     (A2)
        2c1d0 | 1010           : move.b  (A0),D0
        2c1d2 | 4e92           : jsr     (A2)
        2c1d4 | 0c01 00df      : cmpi.b  #-$21,D1
        2c1d8 | 6612           : bne     $2c1ec
        2c1da | 103c 0001      : move.b  #$1,D0       // stop sound
        2c1de | 4e92           : jsr     (A2)
        2c1e0 | 103c 0003      : move.b  #$3,D0
        2c1e4 | 4e92           : jsr     (A2)
        2c1e6 | 103c 0007      : move.b  #$7,D0
        2c1ea | 4e92           : jsr     (A2)
        2c1ec | 608e           : bra     $2c17c
        -->
    </script>
    <script state="run">
        <output format="----- robo army 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 3 + left : decrease bank -01"   line="15" align="center" />
        <output format="button 3 + right : increase bank +01"  line="16" align="center" />
        <output format="button 1 : play sound"                 line="17" align="center" />
        <output format="button 2 : stop sound"                 line="18" align="center" />
        <output format="----------------------------"          line="19" align="center" />
        <output format="&lt;&lt; bank %2.2X &gt;&gt;"          line="21" align="center"  >
            <argument>maincpu.pb@108001</argument>
        </output>
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"    line="23" align="center"  >
            <argument>maincpu.pb@108000</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.rb@00fa9 =               30</action>
        <action>maincpu.rq@008ea = 1b7c0001c010522d</action>
        <action>maincpu.rq@2c170 = ffffffffffffffff</action>
        <action>maincpu.rq@2c178 = ffffffffffffffff</action>
        <action>maincpu.rq@2c180 = ffffffffffffffff</action>
        <action>maincpu.rq@2c188 = ffffffffffffffff</action>
        <action>maincpu.rq@2c190 = ffffffffffffffff</action>
        <action>maincpu.rq@2c198 = ffffffffffffffff</action>
        <action>maincpu.rq@2c1a0 = ffffffffffffffff</action>
        <action>maincpu.rq@2c1a8 = ffffffffffffffff</action>
        <action>maincpu.rq@2c1b0 = ffffffffffffffff</action>
        <action>maincpu.rq@2c1b8 = ffffffffffffffff</action>
        <action>maincpu.rq@2c1c0 = ffffffffffffffff</action>
        <action>maincpu.rq@2c1c8 = ffffffffffffffff</action>
        <action>maincpu.rq@2c1d0 = ffffffffffffffff</action>
        <action>maincpu.rq@2c1d8 = ffffffffffffffff</action>
        <action>maincpu.rq@2c1e0 = ffffffffffffffff</action>
        <action>maincpu.rq@2c1e8 = ffffffffffffffff</action>
    </script>
</cheat>
"sound test mode" : add new.
Post Reply