[samesame] Fire Shark/Same! Same! Same!

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: 844
Joined: Tue Dec 01, 2020 1:24 pm

[samesame] Fire Shark/Same! Same! Same!

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@2294 = 60</action> <!-- large enemy -->
        <action>maincpu.mb@22c6 = 60</action> <!-- enemy -->
        <action>maincpu.mb@2320 = 60</action> <!-- bullet -->
    </script>
    <script state="off">
        <action>maincpu.mb@2294 = 66</action>
        <action>maincpu.mb@22c6 = 64</action>
        <action>maincpu.mb@2320 = 64</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mw@3044 = 4e71</action>
    </script>
    <script state="off">
        <action>maincpu.mw@3044 = 640c</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x08">01 (slow)</item>
        <item value="0x10">02       </item>
        <item value="0x20">03       </item>
        <item value="0x30">04       </item>
        <item value="0x40">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@3094 = 303c0000</action> <!-- move.w #$xx,D0 -->
    </script>
    <script state="change">
        <action>maincpu.mb@3097 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@3094 = d06e003c</action>
    </script>
</cheat>

<cheat desc="bullet speed - blue">
    <parameter>
        <item value="0x10">01 (slow)</item>
        <item value="0x60">02       </item>
        <item value="0x90">03       </item>
        <item value="0xc0">04       </item>
        <item value="0xf0">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@36f3 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@36f3 = 60</action>
    </script>
</cheat>

<cheat desc="bullet speed - green">
    <parameter>
        <item value="0x10">01 (slow)</item>
        <item value="0x20">02       </item>
        <item value="0x40">03       </item>
        <item value="0x80">04       </item>
        <item value="0xc0">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@3805 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@3805 = 40</action>
    </script>
</cheat>

<cheat desc="short hit mark">
    <script state="on">
        <action>maincpu.mb@36ac = 60</action> <!-- blue -->
        <action>maincpu.mb@3886 = 60</action> <!-- green -->
    </script>
    <script state="off">
        <action>maincpu.mb@36ac = 64</action>
        <action>maincpu.mb@3886 = 64</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mw@0236 =             e9b0</action>
        <action>maincpu.mq@e9b0 = 4eb900005e0641f9</action>
        <action>maincpu.mq@e9b8 = 000c001043f90014</action>
        <action>maincpu.mq@e9c0 = 000f120010390014</action>
        <action>maincpu.mq@e9c8 = 0001b20067f40c00</action>
        <action>maincpu.mq@e9d0 = 0004660253100c00</action>
        <action>maincpu.mq@e9d8 = 0008660252100c00</action>
        <action>maincpu.mq@e9e0 = 0002660404100010</action>
        <action>maincpu.mq@e9e8 = 0c00000166040610</action>
        <action>maincpu.mq@e9f0 = 00100c0000106602</action>
        <action>maincpu.mq@e9f8 = 12900c0000206604</action>
        <action>maincpu.mq@ea00 = 12bc00fe60bcffff</action>
        <!--
        e9b0 | 4eb9 0000 5e06 : jsr    $5e06.l      // erase screen
        e9b6 | 41f9 000c 0010 : lea    $c0010.l,A0  // sound code address
        e9bc | 43f9 0014 000f : lea    $14000f.l,A1 // sound latch address
        e9c2 | 1200           : move.b D0,D1
        e9c4 | 1039 0014 0001 : move.b $140001.l,D0 // read input
        e9ca | b200           : cmp.b  D0,D1
        e9cc | 67f4           : beq    $e9c2
        e9ce | 0c00 0004      : cmpi.b #$4,D0
        e9d2 | 6602           : bne    $e9d6
        e9d4 | 5310           : subq.b #1,(A0)      // decrease code -01
        e9d6 | 0c00 0008      : cmpi.b #$8,D0
        e9da | 6602           : bne    $e9de
        e9dc | 5210           : addq.b #1,(A0)      // increase code +01
        e9de | 0c00 0002      : cmpi.b #$2,D0
        e9e2 | 6604           : bne    $e9e8
        e9e4 | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        e9e8 | 0c00 0001      : cmpi.b #$1,D0
        e9ec | 6604           : bne    $e9f2
        e9ee | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        e9f2 | 0c00 0010      : cmpi.b #$10,D0
        e9f6 | 6602           : bne    $e9fa
        e9f8 | 1290           : move.b (A0),(A1)    // play sound
        e9fa | 0c00 0020      : cmpi.b #$20,D0
        e9fe | 6604           : bne    $ea04
        ea00 | 12bc 00fe      : move.b #$fe,(A1)    // stop sound
        ea04 | 60bc           : bra    $e9c2
        -->
    </script>
    <script state="run">
        <output format="----- same! same! same! 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@c0010</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@0236 =             5e06</action>
        <action>maincpu.mq@e9b0 = ffffffffffffffff</action>
        <action>maincpu.mq@e9b8 = ffffffffffffffff</action>
        <action>maincpu.mq@e9c0 = ffffffffffffffff</action>
        <action>maincpu.mq@e9c8 = ffffffffffffffff</action>
        <action>maincpu.mq@e9d0 = ffffffffffffffff</action>
        <action>maincpu.mq@e9d8 = ffffffffffffffff</action>
        <action>maincpu.mq@e9e0 = ffffffffffffffff</action>
        <action>maincpu.mq@e9e8 = ffffffffffffffff</action>
        <action>maincpu.mq@e9f0 = ffffffffffffffff</action>
        <action>maincpu.mq@e9f8 = ffffffffffffffff</action>
        <action>maincpu.mq@ea00 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="skip rom check">
    <script state="on">
        <action>maincpu.mw@6d1c = 601c</action>
    </script>
    <script state="off">
        <action>maincpu.mw@6d1c = 7005</action>
    </script>
</cheat>
BTW, "invincibility" in the cheat package based on 0.245 doesn't work.

Code: Select all

  <cheat desc="Invincibility">
    <script state="run">
      <action>maincpu.pb@02320=60</action>
      <action>maincpu.pw@022CC=4E71</action> <!-- Pt 1 bullets, Pt 2 planes -->
    </script>
  </cheat>
This has two problems. One is region tag (not "p" but "m") and another is that large plane in level 2 kills you.

Code: Select all

<cheat desc="invincibility">
    <comment>see the dip switch menu to enable another invincibility</comment>
    <script state="on">
        <action>maincpu.mb@2320 =   60</action> <!-- bullets -->
        <action>maincpu.mw@22cc = 4e71</action> <!-- planes -->
        <action>maincpu.mw@229a = 4e71</action> <!-- large planes -->
    </script>
    <script state="off">
        <action>maincpu.mb@2320 =   60</action>
        <action>maincpu.mw@22cc = 6510</action>
        <action>maincpu.mw@229a = 653a</action>
    </script>
</cheat>
NOTE : "invincibility" in DIP menu is not "no hit".
Post Reply