[androdun] Andro Dunos

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

[androdun] Andro Dunos

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.rb@57bb =   d8</action> <!-- enemy -->
        <action>maincpu.rb@57d3 =   d8</action> <!-- bullet -->
        <action>maincpu.rb@57eb =   d8</action> <!-- enemy -->
        <action>maincpu.rw@5ad4 = 601e</action> <!-- capture beam -->
        <action>maincpu.rb@d464 =   60</action> <!-- background -->
    </script>
    <script state="off">
        <action>maincpu.rb@57bb =   1a</action>
        <action>maincpu.rb@57d3 =   1a</action>
        <action>maincpu.rb@57eb =   1a</action>
        <action>maincpu.rw@5ad4 = 4eb9</action>
        <action>maincpu.rb@d464 =   67</action>
    </script>
</cheat>

<cheat desc="no hit - sub unit">
    <script state="on">
        <action>maincpu.rb@578b = d8</action> <!-- enemy -->
        <action>maincpu.rb@57a3 = d8</action> <!-- bullet -->
    </script>
    <script state="off">
        <action>maincpu.rb@578b = 1a</action>
        <action>maincpu.rb@57a3 = 1a</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <parameter>
        <item value="0xad">unchargeable</item>
        <item value="0x02">  chargeable</item>
    </parameter>
    <script state="change">
        <action condition="param == ad">maincpu.rb@e191 = param, maincpu.rb@e175 =    4e</action>
        <action condition="param == 02">maincpu.rb@e191 =    ed, maincpu.rb@e175 = param</action>
    </script>
    <script state="off">
        <action>maincpu.rb@e191 = ed</action>
        <action>maincpu.rb@e175 = 4e</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0280">02       </item>
        <item value="0x0400">03       </item>
        <item value="0x0580">04       </item>
        <item value="0x0700">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.rq@0d5fe = 4eb9000303204e71</action>
        <action>maincpu.rq@30320 = 323c00004a426706</action>
        <action>maincpu.rq@30328 = 6a0244413401323c</action>
        <action>maincpu.rq@30330 = 00004a4367066a02</action>
        <action>maincpu.rq@30338 = 444136013b42000c</action>
        <action>maincpu.rq@30340 = 3b43000e4e750000</action>
        <!--
        30320 | 323c xxxx : move.w #$xx,D1
        30324 | 4a42      : tst.w  D2
        30326 | 6706      : beq    $3032e
        30328 | 6a02      : bpl    $3032c
        3032a | 4441      : neg.w  D1
        3032c | 3401      : move.w D1,D2
        3032e | 323c xxxx : move.w #$xx,D1
        30332 | 4a43      : tst.w  D3
        30334 | 6706      : beq    $3033c
        30336 | 6a02      : bpl    $3033a
        30338 | 4441      : neg.w  D1
        3033a | 3601      : move.w D1,D3
        3033c | 3b42 000c : move.w D2,($c,A5)
        30340 | 3b43 000e : move.w D3,($e,A5)
        30344 | 4e75      : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.rw@30322 = param</action>
        <action>maincpu.rw@30330 = param</action>
    </script>
    <script state="off">
        <action>maincpu.rq@0d5fe = 3b42000c3b43000e</action>
        <action>maincpu.rq@30320 = 0000000000000000</action>
        <action>maincpu.rq@30328 = 0000000000000000</action>
        <action>maincpu.rq@30330 = 0000000000000000</action>
        <action>maincpu.rq@30338 = 0000000000000000</action>
        <action>maincpu.rq@30340 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="max bullets up - main shot">
    <script state="on">
        <action>maincpu.rb@e18f = 02</action>
    </script>
    <script state="off">
        <action>maincpu.rb@e18f = 34</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

[androdun] Andro Dunos (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 -->
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.rd@00a8a =         00030350</action>
        <action>maincpu.rq@30350 = 46fc200041f90010</action>
        <action>maincpu.rq@30358 = 800043e80001347c</action>
        <action>maincpu.rq@30360 = 3ba2140112390030</action>
        <action>maincpu.rq@30368 = 0000b40167f40c01</action>
        <action>maincpu.rq@30370 = 00fb660253100c01</action>
        <action>maincpu.rq@30378 = 00f7660252100c01</action>
        <action>maincpu.rq@30380 = 00fd660404100010</action>
        <action>maincpu.rq@30388 = 0c0100fe66040610</action>
        <action>maincpu.rq@30390 = 00100c0100bb6602</action>
        <action>maincpu.rq@30398 = 53110c0100b76602</action>
        <action>maincpu.rq@303a0 = 52110211000f0c01</action>
        <action>maincpu.rq@303a8 = 00ef660e10116706</action>
        <action>maincpu.rq@303b0 = 060000104e921010</action>
        <action>maincpu.rq@303b8 = 4e920c0100df6612</action>
        <action>maincpu.rq@303c0 = 103c00014e92103c</action>
        <action>maincpu.rq@303c8 = 00034e92103c0007</action>
        <action>maincpu.rq@303d0 = 4e92608e00000000</action>
        <!--
        30350 | 46fc 2000      : move    #$2000,SR    // enable interrput
        30354 | 41f9 0010 8000 : lea     $108000.l,A0 // $108000 : sound code address
        3035a | 43e8 0001      : lea     ($1,A0),A1   // $108001 : bank number address
        3035e | 347c 3ba2      : movea.w #$3ba2,A2
        30362 | 1401           : move.b  D1,D2
        30364 | 1239 0030 0000 : move.b  $300000.l,D1
        3036a | b401           : cmp.b   D1,D2
        3036c | 67f4           : beq     $30362
        3036e | 0c01 00fb      : cmpi.b  #-$5,D1
        30372 | 6602           : bne     $30376
        30374 | 5310           : subq.b  #1,(A0)      // decrease code -01
        30376 | 0c01 00f7      : cmpi.b  #-$9,D1
        3037a | 6602           : bne     $3037e
        3037c | 5210           : addq.b  #1,(A0)      // increase code +01
        3037e | 0c01 00fd      : cmpi.b  #-$3,D1
        30382 | 6604           : bne     $30388
        30384 | 0410 0010      : subi.b  #$10,(A0)    // decrease code -10
        30388 | 0c01 00fe      : cmpi.b  #-$2,D1
        3038c | 6604           : bne     $30392
        3038e | 0610 0010      : addi.b  #$10,(A0)    // increase code +10
        30392 | 0c01 00bb      : cmpi.b  #-$45,D1
        30396 | 6602           : bne     $3039a
        30398 | 5311           : subq.b  #1,(A1)      // decrease bank -01
        3039a | 0c01 00b7      : cmpi.b  #-$49,D1
        3039e | 6602           : bne     $303a2
        303a0 | 5211           : addq.b  #1,(A1)      // increase bank +01
        303a2 | 0211 000f      : andi.b  #$f,(A1)
        303a6 | 0c01 00ef      : cmpi.b  #-$11,D1
        303aa | 660e           : bne     $303ba
        303ac | 1011           : move.b  (A1),D0      // play sound
        303ae | 6706           : beq     $303b6
        303b0 | 0600 0010      : addi.b  #$10,D0
        303b4 | 4e92           : jsr     (A2)
        303b6 | 1010           : move.b  (A0),D0
        303b8 | 4e92           : jsr     (A2)
        303ba | 0c01 00df      : cmpi.b  #-$21,D1
        303be | 6612           : bne     $303d2
        303c0 | 103c 0001      : move.b  #$1,D0       // stop sound
        303c4 | 4e92           : jsr     (A2)
        303c6 | 103c 0003      : move.b  #$3,D0
        303ca | 4e92           : jsr     (A2)
        303cc | 103c 0007      : move.b  #$7,D0
        303d0 | 4e92           : jsr     (A2)
        303d2 | 608e           : bra     $30362
        -->
    </script>
    <script state="run">
        <output format="----- andro dunos 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.rd@00a8a =         00000ad4</action>
        <action>maincpu.rq@30350 = 0000000000000000</action>
        <action>maincpu.rq@30358 = 0000000000000000</action>
        <action>maincpu.rq@30360 = 0000000000000000</action>
        <action>maincpu.rq@30368 = 0000000000000000</action>
        <action>maincpu.rq@30370 = 0000000000000000</action>
        <action>maincpu.rq@30378 = 0000000000000000</action>
        <action>maincpu.rq@30380 = 0000000000000000</action>
        <action>maincpu.rq@30388 = 0000000000000000</action>
        <action>maincpu.rq@30390 = 0000000000000000</action>
        <action>maincpu.rq@30398 = 0000000000000000</action>
        <action>maincpu.rq@303a0 = 0000000000000000</action>
        <action>maincpu.rq@303a8 = 0000000000000000</action>
        <action>maincpu.rq@303b0 = 0000000000000000</action>
        <action>maincpu.rq@303b8 = 0000000000000000</action>
        <action>maincpu.rq@303c0 = 0000000000000000</action>
        <action>maincpu.rq@303c8 = 0000000000000000</action>
        <action>maincpu.rq@303d0 = 0000000000000000</action>
    </script>
</cheat>
"sound test mode" : add new.
Post Reply