Page 1 of 1

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

Posted: Sun Aug 07, 2022 1:48 pm
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".

[fireshrk]+ Fire Shark/Same! Same! Same!

Posted: Fri Jun 07, 2024 10:15 am
by jman
fireshrk.xml

Code: Select all

<!-- Fire Shark -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2362 = 60</action> <!-- bullet -->
            <action>maincpu.mb@24D0 = 60</action> <!-- large enemy -->
            <action>maincpu.mb@2500 = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@2362 = 64</action>
            <action>maincpu.mb@24D0 = 66</action>
            <action>maincpu.mb@2500 = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mw@34C4 = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@34C4 = 640C</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0008">01 (slow)</item>
            <item value="0x0010">02       </item>
            <item value="0x0020">03       </item>
            <item value="0x0030">04       </item>
            <item value="0x0040">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@3508 = 3D7C000000106100</action>
        </script>
        <script state="change">
            <action>maincpu.mw@350A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@3508 = 3D6E003C00106100</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - blue">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0060">02       </item>
            <item value="0x0080">03       </item>
            <item value="0x00a0">04       </item>
            <item value="0x00c0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3BCE = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3BCE = 0060</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - green">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0040">02       </item>
            <item value="0x0060">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x00a0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3CE0 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3CE0 = 0040</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@3B88 = 60</action> <!-- blue -->
            <action>maincpu.mb@3D68 = 60</action> <!-- green -->
        </script>
        <script state="off">
            <action>maincpu.mb@3B88 = 64</action>
            <action>maincpu.mb@3D68 = 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.mq@025C = 4EF90000E9F046FC</action>
            <action>maincpu.mq@E9F0 = 41F9000C000043F9</action>
            <action>maincpu.mq@E9F8 = 0014000F12001029</action>
            <action>maincpu.mq@EA00 = FFF2B20067F60C00</action>
            <action>maincpu.mq@EA08 = 0004660253100C00</action>
            <action>maincpu.mq@EA10 = 0008660252100C00</action>
            <action>maincpu.mq@EA18 = 0002660404100010</action>
            <action>maincpu.mq@EA20 = 0C00000166040610</action>
            <action>maincpu.mq@EA28 = 00100C0000106602</action>
            <action>maincpu.mq@EA30 = 12900C0000206604</action>
            <action>maincpu.mq@EA38 = 12BC00FE60BEFFFF</action>
            <!--
            E9F0 | 41F9 000C 0000 : lea     $c0000.l, A0  // sound code address
            E9F6 | 43F9 0014 000F : lea     $14000f.l, A1 // sound latch address
            E9FC | 1200           : move.b  D0, D1
            E9FE | 1029 FFF2      : move.b  (-$e,A1), D0  // read input ($140001)
            EA02 | B200           : cmp.b   D0, D1
            EA04 | 67F6           : beq     $e9fc
            EA06 | 0C00 0004      : cmpi.b  #$4, D0
            EA0A | 6602           : bne     $ea0e
            EA0C | 5310           : subq.b  #1, (A0)      // decrease code -01
            EA0E | 0C00 0008      : cmpi.b  #$8, D0
            EA12 | 6602           : bne     $ea16
            EA14 | 5210           : addq.b  #1, (A0)      // increase code +01
            EA16 | 0C00 0002      : cmpi.b  #$2, D0
            EA1A | 6604           : bne     $ea20
            EA1C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            EA20 | 0C00 0001      : cmpi.b  #$1, D0
            EA24 | 6604           : bne     $ea2a
            EA26 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            EA2A | 0C00 0010      : cmpi.b  #$10, D0
            EA2E | 6602           : bne     $ea32
            EA30 | 1290           : move.b  (A0), (A1)    // play sound
            EA32 | 0C00 0020      : cmpi.b  #$20, D0
            EA36 | 6604           : bne     $ea3c
            EA38 | 12BC 00FE      : move.b  #$fe, (A1)    // stop sound
            EA3C | 60BE           : bra     $e9fc
            -->
        </script>
        <script state="run">
            <output format="----- fire shark 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 %02X &gt;&gt;"      line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@025C = 30390014000E46FC</action>
            <action>maincpu.mq@E9F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E9F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA38 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@7028 = 601C</action>
        </script>
        <script state="off">
            <action>maincpu.mw@7028 = 7005</action>
        </script>
    </cheat>

</mamecheat>
fireshrka.xml

Code: Select all

<!-- Fire Shark (earlier) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@22EE = 60</action> <!-- bullet -->
            <action>maincpu.mb@245C = 60</action> <!-- large enemy -->
            <action>maincpu.mb@248C = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@22EE = 64</action>
            <action>maincpu.mb@245C = 66</action>
            <action>maincpu.mb@248C = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mw@3450 = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3450 = 640C</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0008">01 (slow)</item>
            <item value="0x0010">02       </item>
            <item value="0x0020">03       </item>
            <item value="0x0030">04       </item>
            <item value="0x0040">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@3494 = 3D7C000000106100</action>
        </script>
        <script state="change">
            <action>maincpu.mw@3496 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@3494 = 3D6E003C00106100</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - blue">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0060">02       </item>
            <item value="0x0080">03       </item>
            <item value="0x00a0">04       </item>
            <item value="0x00c0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3B5A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3B5A = 0060</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - green">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0040">02       </item>
            <item value="0x0060">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x00a0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3C6C = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3C6C = 0040</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@3B14 = 60</action> <!-- blue -->
            <action>maincpu.mb@3CF4 = 60</action> <!-- green -->
        </script>
        <script state="off">
            <action>maincpu.mb@3B14 = 64</action>
            <action>maincpu.mb@3CF4 = 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@0230 = E9F0            </action>
            <action>maincpu.mq@E9F0 = 41F9000C000043F9</action>
            <action>maincpu.mq@E9F8 = 0014000F12001029</action>
            <action>maincpu.mq@EA00 = FFF2B20067F60C00</action>
            <action>maincpu.mq@EA08 = 0004660253100C00</action>
            <action>maincpu.mq@EA10 = 0008660252100C00</action>
            <action>maincpu.mq@EA18 = 0002660404100010</action>
            <action>maincpu.mq@EA20 = 0C00000166040610</action>
            <action>maincpu.mq@EA28 = 00100C0000106602</action>
            <action>maincpu.mq@EA30 = 12900C0000206604</action>
            <action>maincpu.mq@EA38 = 12BC00FE60BEFFFF</action>
            <!--
            E9F0 | 41F9 000C 0000 : lea     $c0000.l, A0  // sound code address
            E9F6 | 43F9 0014 000F : lea     $14000f.l, A1 // sound latch address
            E9FC | 1200           : move.b  D0, D1
            E9FE | 1029 FFF2      : move.b  (-$e,A1), D0  // read input ($140001)
            EA02 | B200           : cmp.b   D0, D1
            EA04 | 67F6           : beq     $e9fc
            EA06 | 0C00 0004      : cmpi.b  #$4, D0
            EA0A | 6602           : bne     $ea0e
            EA0C | 5310           : subq.b  #1, (A0)      // decrease code -01
            EA0E | 0C00 0008      : cmpi.b  #$8, D0
            EA12 | 6602           : bne     $ea16
            EA14 | 5210           : addq.b  #1, (A0)      // increase code +01
            EA16 | 0C00 0002      : cmpi.b  #$2, D0
            EA1A | 6604           : bne     $ea20
            EA1C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            EA20 | 0C00 0001      : cmpi.b  #$1, D0
            EA24 | 6604           : bne     $ea2a
            EA26 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            EA2A | 0C00 0010      : cmpi.b  #$10, D0
            EA2E | 6602           : bne     $ea32
            EA30 | 1290           : move.b  (A0), (A1)    // play sound
            EA32 | 0C00 0020      : cmpi.b  #$20, D0
            EA36 | 6604           : bne     $ea3c
            EA38 | 12BC 00FE      : move.b  #$fe, (A1)    // stop sound
            EA3C | 60BE           : bra     $e9fc
            -->
        </script>
        <script state="run">
            <output format="----- fire shark 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 %02X &gt;&gt;"      line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0230 = 632A            </action>
            <action>maincpu.mq@E9F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E9F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA38 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@6F30 = 601C</action>
        </script>
        <script state="off">
            <action>maincpu.mw@6F30 = 7005</action>
        </script>
    </cheat>

</mamecheat>
fireshrkd.xml

Code: Select all

<!-- Fire Shark (Korea, set 1, easier) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@22EE = 60</action> <!-- bullet -->
            <action>maincpu.mb@245C = 60</action> <!-- large enemy -->
            <action>maincpu.mb@248C = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@22EE = 64</action>
            <action>maincpu.mb@245C = 66</action>
            <action>maincpu.mb@248C = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mw@3450 = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3450 = 640C</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0008">01 (slow)</item>
            <item value="0x0010">02       </item>
            <item value="0x0020">03       </item>
            <item value="0x0030">04       </item>
            <item value="0x0040">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@3494 = 3D7C000000106100</action>
        </script>
        <script state="change">
            <action>maincpu.mw@3496 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@3494 = 3D6E003C00106100</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - blue">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0060">02       </item>
            <item value="0x0080">03       </item>
            <item value="0x00a0">04       </item>
            <item value="0x00c0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3B5A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3B5A = 0060</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - green">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0040">02       </item>
            <item value="0x0060">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x00a0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3C6C = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3C6C = 0040</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@3B14 = 60</action> <!-- blue -->
            <action>maincpu.mb@3CF4 = 60</action> <!-- green -->
        </script>
        <script state="off">
            <action>maincpu.mb@3B14 = 64</action>
            <action>maincpu.mb@3CF4 = 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@0230 = E9F0            </action>
            <action>maincpu.mq@E9F0 = 4EB8636C41F9000C</action>
            <action>maincpu.mq@E9F8 = 000043F90014000F</action>
            <action>maincpu.mq@EA00 = 12001029FFF2B200</action>
            <action>maincpu.mq@EA08 = 67F60C0000046602</action>
            <action>maincpu.mq@EA10 = 53100C0000086602</action>
            <action>maincpu.mq@EA18 = 52100C0000026604</action>
            <action>maincpu.mq@EA20 = 041000100C000001</action>
            <action>maincpu.mq@EA28 = 6604061000100C00</action>
            <action>maincpu.mq@EA30 = 0010660212900C00</action>
            <action>maincpu.mq@EA38 = 0020660412BC00FE</action>
            <action>maincpu.mq@EA40 = 60BEFFFFFFFFFFFF</action>
            <!--
            E9F0 | 4EB8 636C      : jsr     $636c.w       // erase screen
            E9F4 | 41F9 000C 0000 : lea     $c0000.l, A0  // sound code address
            E9FA | 43F9 0014 000F : lea     $14000f.l, A1 // sound latch address
            EA00 | 1200           : move.b  D0, D1
            EA02 | 1029 FFF2      : move.b  (-$e,A1), D0  // read input ($140001)
            EA06 | B200           : cmp.b   D0, D1
            EA08 | 67F6           : beq     $ea00
            EA0A | 0C00 0004      : cmpi.b  #$4, D0
            EA0E | 6602           : bne     $ea12
            EA10 | 5310           : subq.b  #1, (A0)      // decrease code -01
            EA12 | 0C00 0008      : cmpi.b  #$8, D0
            EA16 | 6602           : bne     $ea1a
            EA18 | 5210           : addq.b  #1, (A0)      // increase code +01
            EA1A | 0C00 0002      : cmpi.b  #$2, D0
            EA1E | 6604           : bne     $ea24
            EA20 | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            EA24 | 0C00 0001      : cmpi.b  #$1, D0
            EA28 | 6604           : bne     $ea2e
            EA2A | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            EA2E | 0C00 0010      : cmpi.b  #$10, D0
            EA32 | 6602           : bne     $ea36
            EA34 | 1290           : move.b  (A0), (A1)    // play sound
            EA36 | 0C00 0020      : cmpi.b  #$20, D0
            EA3A | 6604           : bne     $ea40
            EA3C | 12BC 00FE      : move.b  #$fe, (A1)    // stop sound
            EA40 | 60BE           : bra     $ea00
            -->
        </script>
        <script state="run">
            <output format="----- fire shark 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 %02X &gt;&gt;"      line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0230 = 636C            </action>
            <action>maincpu.mq@E9F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E9F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA40 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@6F72 = 601C</action>
        </script>
        <script state="off">
            <action>maincpu.mw@6F72 = 7005</action>
        </script>
    </cheat>

</mamecheat>
fireshrkdh.xml

Code: Select all

<!-- Fire Shark (Korea, set 2, harder) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@2362 = 60</action> <!-- bullet -->
            <action>maincpu.mb@24D0 = 60</action> <!-- large enemy -->
            <action>maincpu.mb@2500 = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@2362 = 64</action>
            <action>maincpu.mb@24D0 = 66</action>
            <action>maincpu.mb@2500 = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mw@34C4 = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@34C4 = 640C</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0008">01 (slow)</item>
            <item value="0x0010">02       </item>
            <item value="0x0020">03       </item>
            <item value="0x0030">04       </item>
            <item value="0x0040">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@3508 = 3D7C000000106100</action>
        </script>
        <script state="change">
            <action>maincpu.mw@350A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@3508 = 3D6E003C00106100</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - blue">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0060">02       </item>
            <item value="0x0080">03       </item>
            <item value="0x00a0">04       </item>
            <item value="0x00c0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3BCE = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3BCE = 0060</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - green">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0040">02       </item>
            <item value="0x0060">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x00a0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3CE0 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3CE0 = 0040</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@3B88 = 60</action> <!-- blue -->
            <action>maincpu.mb@3D68 = 60</action> <!-- green -->
        </script>
        <script state="off">
            <action>maincpu.mb@3B88 = 64</action>
            <action>maincpu.mb@3D68 = 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.mq@025C = 4EF90000E9F046FC</action>
            <action>maincpu.mq@E9F0 = 4EB8642A41F9000C</action>
            <action>maincpu.mq@E9F8 = 000043F90014000F</action>
            <action>maincpu.mq@EA00 = 12001029FFF2B200</action>
            <action>maincpu.mq@EA08 = 67F60C0000046602</action>
            <action>maincpu.mq@EA10 = 53100C0000086602</action>
            <action>maincpu.mq@EA18 = 52100C0000026604</action>
            <action>maincpu.mq@EA20 = 041000100C000001</action>
            <action>maincpu.mq@EA28 = 6604061000100C00</action>
            <action>maincpu.mq@EA30 = 0010660212900C00</action>
            <action>maincpu.mq@EA38 = 0020660412BC00FE</action>
            <action>maincpu.mq@EA40 = 60BEFFFFFFFFFFFF</action>
            <!--
            E9F0 | 4EB8 642A      : jsr     $642a.w       // erase screen
            E9F4 | 41F9 000C 0000 : lea     $c0000.l, A0  // sound code address
            E9FA | 43F9 0014 000F : lea     $14000f.l, A1 // sound latch address
            EA00 | 1200           : move.b  D0, D1
            EA02 | 1029 FFF2      : move.b  (-$e,A1), D0  // read input ($140001)
            EA06 | B200           : cmp.b   D0, D1
            EA08 | 67F6           : beq     $ea00
            EA0A | 0C00 0004      : cmpi.b  #$4, D0
            EA0E | 6602           : bne     $ea12
            EA10 | 5310           : subq.b  #1, (A0)      // decrease code -01
            EA12 | 0C00 0008      : cmpi.b  #$8, D0
            EA16 | 6602           : bne     $ea1a
            EA18 | 5210           : addq.b  #1, (A0)      // increase code +01
            EA1A | 0C00 0002      : cmpi.b  #$2, D0
            EA1E | 6604           : bne     $ea24
            EA20 | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            EA24 | 0C00 0001      : cmpi.b  #$1, D0
            EA28 | 6604           : bne     $ea2e
            EA2A | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            EA2E | 0C00 0010      : cmpi.b  #$10, D0
            EA32 | 6602           : bne     $ea36
            EA34 | 1290           : move.b  (A0), (A1)    // play sound
            EA36 | 0C00 0020      : cmpi.b  #$20, D0
            EA3A | 6604           : bne     $ea40
            EA3C | 12BC 00FE      : move.b  #$fe, (A1)    // stop sound
            EA40 | 60BE           : bra     $ea00
            -->
        </script>
        <script state="run">
            <output format="----- fire shark 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 %02X &gt;&gt;"      line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@025C = 30390014000E46FC</action>
            <action>maincpu.mq@E9F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E9F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA40 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@7036 = 601C</action>
        </script>
        <script state="off">
            <action>maincpu.mw@7036 = 7005</action>
        </script>
    </cheat>

</mamecheat>
samesame.xml

Code: Select all

<!-- Same! Same! Same! (1P set) -->
<mamecheat version="1">

    <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="0x0008">01 (slow)</item>
            <item value="0x0010">02       </item>
            <item value="0x0020">03       </item>
            <item value="0x0030">04       </item>
            <item value="0x0040">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@3094 = 303C0000</action>
        </script>
        <script state="change">
            <action>maincpu.mw@3096 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@3094 = D06E003C</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - blue">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0060">02       </item>
            <item value="0x0080">03       </item>
            <item value="0x00a0">04       </item>
            <item value="0x00c0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@36F2 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@36F2 = 0060</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - green">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0040">02       </item>
            <item value="0x0060">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x00a0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3804 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3804 = 0040</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 = 4EB85E0641F9000C</action>
            <action>maincpu.mq@E9B8 = 000043F90014000F</action>
            <action>maincpu.mq@E9C0 = 12001029FFF2B200</action>
            <action>maincpu.mq@E9C8 = 67F60C0000046602</action>
            <action>maincpu.mq@E9D0 = 53100C0000086602</action>
            <action>maincpu.mq@E9D8 = 52100C0000026604</action>
            <action>maincpu.mq@E9E0 = 041000100C000001</action>
            <action>maincpu.mq@E9E8 = 6604061000100C00</action>
            <action>maincpu.mq@E9F0 = 0010660212900C00</action>
            <action>maincpu.mq@E9F8 = 0020660412BC00FE</action>
            <action>maincpu.mq@EA00 = 60BEFFFFFFFFFFFF</action>
            <!--
            E9B0 | 4EB8 5E06      : jsr     $5e06.w       // erase screen
            E9B4 | 41F9 000C 0000 : lea     $c0000.l, A0  // sound code address
            E9BA | 43F9 0014 000F : lea     $14000f.l, A1 // sound latch address
            E9C0 | 1200           : move.b  D0, D1
            E9C2 | 1029 FFF2      : move.b  (-$e,A1), D0  // read input ($140001)
            E9C6 | B200           : cmp.b   D0, D1
            E9C8 | 67F6           : beq     $e9c0
            E9CA | 0C00 0004      : cmpi.b  #$4, D0
            E9CE | 6602           : bne     $e9d2
            E9D0 | 5310           : subq.b  #1, (A0)      // decrease code -01
            E9D2 | 0C00 0008      : cmpi.b  #$8, D0
            E9D6 | 6602           : bne     $e9da
            E9D8 | 5210           : addq.b  #1, (A0)      // increase code +01
            E9DA | 0C00 0002      : cmpi.b  #$2, D0
            E9DE | 6604           : bne     $e9e4
            E9E0 | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            E9E4 | 0C00 0001      : cmpi.b  #$1, D0
            E9E8 | 6604           : bne     $e9ee
            E9EA | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            E9EE | 0C00 0010      : cmpi.b  #$10, D0
            E9F2 | 6602           : bne     $e9f6
            E9F4 | 1290           : move.b  (A0), (A1)    // play sound
            E9F6 | 0C00 0020      : cmpi.b  #$20, D0
            E9FA | 6604           : bne     $ea00
            E9FC | 12BC 00FE      : move.b  #$fe, (A1)    // stop sound
            EA00 | 60BE           : bra     $e9c0
            -->
        </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 sound"                         line="16" align="center" />
            <output format="----------------------------"                  line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"             line="19" align="center"  >
                <argument>maincpu.pb@C0000</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>

</mamecheat>
samesame2.xml

Code: Select all

<!-- Same! Same! Same! (2P set) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@22AC = 60</action> <!-- bullet -->
            <action>maincpu.mb@241A = 60</action> <!-- large enemy -->
            <action>maincpu.mb@244A = 60</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@22AC = 64</action>
            <action>maincpu.mb@241A = 66</action>
            <action>maincpu.mb@244A = 64</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mw@340E = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@340E = 640C</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0008">01 (slow)</item>
            <item value="0x0010">02       </item>
            <item value="0x0020">03       </item>
            <item value="0x0030">04       </item>
            <item value="0x0040">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@3452 = 3D7C000000106100</action>
        </script>
        <script state="change">
            <action>maincpu.mw@3454 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@3452 = 3D6E003C00106100</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - blue">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0060">02       </item>
            <item value="0x0080">03       </item>
            <item value="0x00a0">04       </item>
            <item value="0x00c0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3B18 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3B18 = 0060</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - green">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0040">02       </item>
            <item value="0x0060">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x00a0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3C2A = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3C2A = 0040</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@3AD2 = 60</action> <!-- blue -->
            <action>maincpu.mb@3CB2 = 60</action> <!-- green -->
        </script>
        <script state="off">
            <action>maincpu.mb@3AD2 = 64</action>
            <action>maincpu.mb@3CB2 = 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@0230 = E9F0            </action>
            <action>maincpu.mq@E9F0 = 4EB862E641F9000C</action>
            <action>maincpu.mq@E9F8 = 000043F90014000F</action>
            <action>maincpu.mq@EA00 = 12001029FFF2B200</action>
            <action>maincpu.mq@EA08 = 67F60C0000046602</action>
            <action>maincpu.mq@EA10 = 53100C0000086602</action>
            <action>maincpu.mq@EA18 = 52100C0000026604</action>
            <action>maincpu.mq@EA20 = 041000100C000001</action>
            <action>maincpu.mq@EA28 = 6604061000100C00</action>
            <action>maincpu.mq@EA30 = 0010660212900C00</action>
            <action>maincpu.mq@EA38 = 0020660412BC00FE</action>
            <action>maincpu.mq@EA40 = 60BEFFFFFFFFFFFF</action>
            <!--
            E9F0 | 4EB8 62E6      : jsr     $62e6.w       // erase screen
            E9F4 | 41F9 000C 0000 : lea     $c0000.l, A0  // sound code address
            E9FA | 43F9 0014 000F : lea     $14000f.l, A1 // sound latch address
            EA00 | 1200           : move.b  D0, D1
            EA02 | 1029 FFF2      : move.b  (-$e,A1), D0  // read input ($140001)
            EA06 | B200           : cmp.b   D0, D1
            EA08 | 67F6           : beq     $ea00
            EA0A | 0C00 0004      : cmpi.b  #$4, D0
            EA0E | 6602           : bne     $ea12
            EA10 | 5310           : subq.b  #1, (A0)      // decrease code -01
            EA12 | 0C00 0008      : cmpi.b  #$8, D0
            EA16 | 6602           : bne     $ea1a
            EA18 | 5210           : addq.b  #1, (A0)      // increase code +01
            EA1A | 0C00 0002      : cmpi.b  #$2, D0
            EA1E | 6604           : bne     $ea24
            EA20 | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            EA24 | 0C00 0001      : cmpi.b  #$1, D0
            EA28 | 6604           : bne     $ea2e
            EA2A | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            EA2E | 0C00 0010      : cmpi.b  #$10, D0
            EA32 | 6602           : bne     $ea36
            EA34 | 1290           : move.b  (A0), (A1)    // play sound
            EA36 | 0C00 0020      : cmpi.b  #$20, D0
            EA3A | 6604           : bne     $ea40
            EA3C | 12BC 00FE      : move.b  #$fe, (A1)    // stop sound
            EA40 | 60BE           : bra     $ea00
            -->
        </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 sound"                         line="16" align="center" />
            <output format="----------------------------"                  line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"             line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0230 = 62E6            </action>
            <action>maincpu.mq@E9F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E9F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA40 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@6EAC = 601C</action>
        </script>
        <script state="off">
            <action>maincpu.mw@6EAC = 7005</action>
        </script>
    </cheat>

</mamecheat>
samesamecn.xml

Code: Select all

<!-- Jiao! Jiao! Jiao! (China, 2P set) -->
<mamecheat version="1">

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

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mw@345A = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@345A = 640C</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0008">01 (slow)</item>
            <item value="0x0010">02       </item>
            <item value="0x0020">03       </item>
            <item value="0x0030">04       </item>
            <item value="0x0040">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@349E = 3D7C000000106100</action>
        </script>
        <script state="change">
            <action>maincpu.mw@34A0 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@349E = 3D6E003C00106100</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - blue">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0060">02       </item>
            <item value="0x0080">03       </item>
            <item value="0x00a0">04       </item>
            <item value="0x00c0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3B64 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3B64 = 0060</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - green">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0040">02       </item>
            <item value="0x0060">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x00a0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3C76 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3C76 = 0040</action>
        </script>
    </cheat>

    <cheat desc="short hit mark">
        <script state="on">
            <action>maincpu.mb@3B1E = 60</action> <!-- blue -->
            <action>maincpu.mb@3CFE = 60</action> <!-- green -->
        </script>
        <script state="off">
            <action>maincpu.mb@3B1E = 64</action>
            <action>maincpu.mb@3CFE = 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.mq@025C = 4EF90000E9F046FC</action>
            <action>maincpu.mq@E9F0 = 41F9000C000043F9</action>
            <action>maincpu.mq@E9F8 = 0014000F12001029</action>
            <action>maincpu.mq@EA00 = FFF2B20067F60C00</action>
            <action>maincpu.mq@EA08 = 0004660253100C00</action>
            <action>maincpu.mq@EA10 = 0008660252100C00</action>
            <action>maincpu.mq@EA18 = 0002660404100010</action>
            <action>maincpu.mq@EA20 = 0C00000166040610</action>
            <action>maincpu.mq@EA28 = 00100C0000106602</action>
            <action>maincpu.mq@EA30 = 12900C0000206604</action>
            <action>maincpu.mq@EA38 = 12BC00FE60BEFFFF</action>
            <!--
            E9F0 | 41F9 000C 0000 : lea     $c0000.l, A0  // sound code address
            E9F6 | 43F9 0014 000F : lea     $14000f.l, A1 // sound latch address
            E9FC | 1200           : move.b  D0, D1
            E9FE | 1029 FFF2      : move.b  (-$e,A1), D0  // read input ($140001)
            EA02 | B200           : cmp.b   D0, D1
            EA04 | 67F6           : beq     $e9fc
            EA06 | 0C00 0004      : cmpi.b  #$4, D0
            EA0A | 6602           : bne     $ea0e
            EA0C | 5310           : subq.b  #1, (A0)      // decrease code -01
            EA0E | 0C00 0008      : cmpi.b  #$8, D0
            EA12 | 6602           : bne     $ea16
            EA14 | 5210           : addq.b  #1, (A0)      // increase code +01
            EA16 | 0C00 0002      : cmpi.b  #$2, D0
            EA1A | 6604           : bne     $ea20
            EA1C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            EA20 | 0C00 0001      : cmpi.b  #$1, D0
            EA24 | 6604           : bne     $ea2a
            EA26 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            EA2A | 0C00 0010      : cmpi.b  #$10, D0
            EA2E | 6602           : bne     $ea32
            EA30 | 1290           : move.b  (A0), (A1)    // play sound
            EA32 | 0C00 0020      : cmpi.b  #$20, D0
            EA36 | 6604           : bne     $ea3c
            EA38 | 12BC 00FE      : move.b  #$fe, (A1)    // stop sound
            EA3C | 60BE           : bra     $e9fc
            -->
        </script>
        <script state="run">
            <output format="----- jiao! jiao! jiao! 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 %02X &gt;&gt;"             line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mq@025C = 30390014000E46FC</action>
            <action>maincpu.mq@E9F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E9F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@EA38 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@6F34 = 601C</action>
        </script>
        <script state="off">
            <action>maincpu.mw@6F34 = 7005</action>
        </script>
    </cheat>

</mamecheat>

[fireshrk]+ Fire Shark/Same! Same! Same!

Posted: Fri Jun 07, 2024 10:16 am
by jman
samesamenh.xml

Code: Select all

<!-- Same! Same! Same! (1P set, NEW VER! hack) -->
<mamecheat version="1">

    <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="0x0008">01 (slow)</item>
            <item value="0x0010">02       </item>
            <item value="0x0020">03       </item>
            <item value="0x0030">04       </item>
            <item value="0x0040">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@3094 = 303C0000</action>
        </script>
        <script state="change">
            <action>maincpu.mw@3096 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@3094 = D06E003C</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - blue">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0060">02       </item>
            <item value="0x0080">03       </item>
            <item value="0x00a0">04       </item>
            <item value="0x00c0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@36F2 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@36F2 = 0060</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - green">
        <parameter>
            <item value="0x0010">01 (slow)</item>
            <item value="0x0040">02       </item>
            <item value="0x0060">03       </item>
            <item value="0x0080">04       </item>
            <item value="0x00a0">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@3804 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3804 = 0040</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 = E970            </action>
            <action>maincpu.mq@E970 = 4EB85E0641F9000C</action>
            <action>maincpu.mq@E978 = 000043F90014000F</action>
            <action>maincpu.mq@E980 = 12001029FFF2B200</action>
            <action>maincpu.mq@E988 = 67F60C0000046602</action>
            <action>maincpu.mq@E990 = 53100C0000086602</action>
            <action>maincpu.mq@E998 = 52100C0000026604</action>
            <action>maincpu.mq@E9A0 = 041000100C000001</action>
            <action>maincpu.mq@E9A8 = 6604061000100C00</action>
            <action>maincpu.mq@E9B0 = 0010660212900C00</action>
            <action>maincpu.mq@E9B8 = 0020660412BC00FE</action>
            <action>maincpu.mq@E9C0 = 60BEFFFFFFFFFFFF</action>
            <!--
            E970 | 4EB8 5E06      : jsr     $5e06.w       // erase screen
            E974 | 41F9 000C 0000 : lea     $c0000.l, A0  // sound code address
            E97A | 43F9 0014 000F : lea     $14000f.l, A1 // sound latch address
            E980 | 1200           : move.b  D0, D1
            E982 | 1029 FFF2      : move.b  (-$e,A1), D0  // read input ($140001)
            E986 | B200           : cmp.b   D0, D1
            E988 | 67F6           : beq     $e980
            E98A | 0C00 0004      : cmpi.b  #$4, D0
            E98E | 6602           : bne     $e992
            E990 | 5310           : subq.b  #1, (A0)      // decrease code -01
            E992 | 0C00 0008      : cmpi.b  #$8, D0
            E996 | 6602           : bne     $e99a
            E998 | 5210           : addq.b  #1, (A0)      // increase code +01
            E99A | 0C00 0002      : cmpi.b  #$2, D0
            E99E | 6604           : bne     $e9a4
            E9A0 | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            E9A4 | 0C00 0001      : cmpi.b  #$1, D0
            E9A8 | 6604           : bne     $e9ae
            E9AA | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            E9AE | 0C00 0010      : cmpi.b  #$10, D0
            E9B2 | 6602           : bne     $e9b6
            E9B4 | 1290           : move.b  (A0), (A1)    // play sound
            E9B6 | 0C00 0020      : cmpi.b  #$20, D0
            E9BA | 6604           : bne     $e9c0
            E9BC | 12BC 00FE      : move.b  #$fe, (A1)    // stop sound
            E9C0 | 60BE           : bra     $e980
            -->
        </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 sound"                         line="16" align="center" />
            <output format="----------------------------"                  line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"             line="19" align="center"  >
                <argument>maincpu.pb@C0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0236 = 5E06            </action>
            <action>maincpu.mq@E970 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E978 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E980 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E988 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E990 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E998 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E9A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E9A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E9B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E9B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@E9C0 = 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>

</mamecheat>