[hishouza] Flying Shark/Hishou Zame

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

[hishouza] Flying Shark/Hishou Zame

Post by jman »

First of all, this game has in-game rom check so that the following codes cause game crash unless you use together with "skip rom error" code.

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@01cf2 = 60</action> <!-- bullet -->
        <action>maincpu.mb@02aca = 60</action> <!-- enemy -->
        <action>maincpu.mb@06bba = 60</action> <!-- boss -->
    </script>
    <script state="off">
        <action>maincpu.mb@01cf2 = 66</action>
        <action>maincpu.mb@02aca = 67</action>
        <action>maincpu.mb@06bba = 67</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@470f = 01</action>
    </script>
    <script state="off">
        <action>maincpu.mb@470f = 20</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x03">01 (slow)</item>
        <item value="0x06">02       </item>
        <item value="0x09">03       </item>
        <item value="0x0c">04       </item>
        <item value="0x0f">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@01d9e =         302e000e</action>
        <action>maincpu.mq@01da2 = 4eb90002000033fc</action>
        <action>maincpu.mq@20000 = bdfc000304966616</action>
        <action>maincpu.mq@20008 = 0839000100030035</action>
        <action>maincpu.mq@20010 = 670c083900000003</action>
        <action>maincpu.mq@20018 = 0481660270003080</action>
        <action>maincpu.mq@20020 = 317c0001fff64e75</action>
        <!--
        01d9e | 302e 000e           : move.w ($e,A6),D0
        01da2 | 4eb9 0002 0000      : jsr    $20000.l
        20000 | bdfc 0003 0496      : cmpa.l #$30496,A6
        20006 | 6616                : bne    $2001e
        20008 | 0839 0001 0003 0035 : btst   #$1,$30035.l
        20010 | 670c                : beq    $2001e
        20012 | 0839 0000 0003 0481 : btst   #$0,$30481.l
        2001a | 6602                : bne    $2001e
        2001c | 70xx                : moveq  #$xx,D0
        2001e | 3080                : move.w D0,(A0)
        20020 | 317c 0001 fff6      : move.w #$1,(-$a,A0)
        20016 | 4e75                : rts
        -->
    </script>
    <script state="change">
        <action>maincpu.mb@2001d = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@01d9e =         30ae000e</action>
        <action>maincpu.mq@01da2 = 317c0001fff633fc</action>
        <action>maincpu.mq@20000 = 0000000000000000</action>
        <action>maincpu.mq@20008 = 0000000000000000</action>
        <action>maincpu.mq@20010 = 0000000000000000</action>
        <action>maincpu.mq@20018 = 0000000000000000</action>
        <action>maincpu.mq@20020 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x01">01 (slow)</item>
        <item value="0x19">02       </item>
        <item value="0x32">03       </item>
        <item value="0x4b">04       </item>
        <item value="0x64">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@4c67 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@4c67 = 19</action>
    </script>
</cheat>

<cheat desc="skip rom error">
    <script state="on">
        <action>maincpu.mb@a356 =   60</action> <!-- boot -->
        <action>maincpu.mw@0bbe = 0002</action> <!-- ingame -->
        <action>maincpu.mb@1aa8 =   60</action> <!-- ingame -->
        <action>maincpu.mw@3280 = 0002</action> <!-- ingame -->
        <action>maincpu.mb@423e =   60</action> <!-- ingame -->
    </script>
    <script state="off">
        <action>maincpu.mb@a356 =   67</action>
        <action>maincpu.mw@0bbe = 14bc</action>
        <action>maincpu.mb@1aa8 =   67</action>
        <action>maincpu.mw@3280 = f71e</action>
        <action>maincpu.mb@423e =   67</action>
    </script>
</cheat>
"no hit" code takes care of (final) boss which is not included in current invincibility. "auto fire" will be more faster than current rapid fire. "skip rom error" avoids boot rom error.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[hishouza] sound test mode

Post by jman »

Code: Select all

<cheat desc="sound test mode">
    <comment>set rom error skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.md@0a1fc =         00020030</action>
        <action>maincpu.mq@20030 = 41f9000301001401</action>
        <action>maincpu.mq@20038 = 123900078005b401</action>
        <action>maincpu.mq@20040 = 67f40c0100046602</action>
        <action>maincpu.mq@20048 = 53100c0100086602</action>
        <action>maincpu.mq@20050 = 52100c0100026604</action>
        <action>maincpu.mq@20058 = 041000100c010001</action>
        <action>maincpu.mq@20060 = 6604061000100c01</action>
        <action>maincpu.mq@20068 = 001066041010600a</action>
        <action>maincpu.mq@20070 = 0c010020660a103c</action>
        <action>maincpu.mq@20078 = 00fe13c00007a001</action>
        <action>maincpu.mq@20080 = 60b4000000000000</action>
        <!--
        20030 | 41f9 0003 0100 : lea    $30100.l,A0 // sound code address
        20036 | 1401           : move.b D1,D2
        20038 | 1239 0007 8005 : move.b $78005.l,D1 // read input
        2003e | b401           : cmp.b  D1,D2
        20040 | 67f4           : beq    $20036
        20042 | 0c01 0004      : cmpi.b #$4,D1
        20046 | 6602           : bne    $2004a
        20048 | 5310           : subq.b #1,(A0)     // decrease code -01
        2004a | 0c01 0008      : cmpi.b #$8,D1
        2004e | 6602           : bne    $20052
        20050 | 5210           : addq.b #1,(A0)     // increase code +01
        20052 | 0c01 0002      : cmpi.b #$2,D1
        20056 | 6604           : bne    $2005c
        20058 | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
        2005c | 0c01 0001      : cmpi.b #$1,D1
        20060 | 6604           : bne    $20066
        20062 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
        20066 | 0c01 0010      : cmpi.b #$10,D1
        2006a | 6604           : bne    $20070
        2006c | 1010           : move.b (A0),D0     // play sound
        2006e | 600a           : bra    $2007a
        20070 | 0c01 0020      : cmpi.b #$20,D1
        20074 | 660a           : bne    $20080
        20076 | 103c 00fe      : move.b #$fe,D0     // stop sound
        2007a | 13c0 0007 a001 : move.b D0,$7a001.l
        20080 | 60b4           : bra    $20036
        -->
    </script>
    <script state="run">
        <output format="----- hishou zame 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="up : increase code +10"                  line="13" align="center" />
        <output format="down : decrease code -10"                line="14" align="center" />
        <output format="button 1 : play sound"                   line="15" align="center" />
        <output format="button 2 : stop sound"                   line="16" align="center" />
        <output format="----------------------------"            line="17" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"      line="19" align="center">
            <argument>maincpu.pb@30100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@0a1fc =         00002714</action>
        <action>maincpu.mq@20030 = 0000000000000000</action>
        <action>maincpu.mq@20038 = 0000000000000000</action>
        <action>maincpu.mq@20040 = 0000000000000000</action>
        <action>maincpu.mq@20048 = 0000000000000000</action>
        <action>maincpu.mq@20050 = 0000000000000000</action>
        <action>maincpu.mq@20058 = 0000000000000000</action>
        <action>maincpu.mq@20060 = 0000000000000000</action>
        <action>maincpu.mq@20068 = 0000000000000000</action>
        <action>maincpu.mq@20070 = 0000000000000000</action>
        <action>maincpu.mq@20078 = 0000000000000000</action>
        <action>maincpu.mq@20080 = 0000000000000000</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[fshark]+ Flying Shark/Sky Shark/Hishou Zame

Post by jman »

fshark.xml

Code: Select all

<!-- Flying Shark (World) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1CD0 = 60</action> <!-- bullet -->
            <action>maincpu.mb@2AA8 = 60</action> <!-- enemy -->
            <action>maincpu.mb@6834 = 60</action> <!-- boss -->
        </script>
        <script state="off">
            <action>maincpu.mb@1CD0 = 66</action>
            <action>maincpu.mb@2AA8 = 67</action>
            <action>maincpu.mb@6834 = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@474D = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@474D = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0004">02       </item>
            <item value="0x0008">03       </item>
            <item value="0x000c">04       </item>
            <item value="0x0012">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@048F2 = 4EB9000200004E71</action>
            <action>maincpu.mq@20000 = 41F9000300044A68</action>
            <action>maincpu.mq@20008 = FFFE66FA30FC000A</action>
            <action>maincpu.mq@20010 = 30EE000430EE0006</action>
            <action>maincpu.mq@20018 = 30EE000C30BC0000</action>
            <action>maincpu.mq@20020 = 317C0001FFF633FC</action>
            <action>maincpu.mq@20028 = 00000007800A33FC</action>
            <action>maincpu.mq@20030 = 00010007800A4A68</action>
            <action>maincpu.mq@20038 = FFF666FA2D680012</action>
            <action>maincpu.mq@20040 = 0004363C93004E75</action>
            <!--
            20000 | 41F9 0003 0004      : lea     $30004.l, A0
            20006 | 4A68 FFFE           : tst.w   (-$2,A0)
            2000A | 66FA                : bne     $20006
            2000C | 30FC 000A           : move.w  #$a, (A0)+
            20010 | 30EE 0004           : move.w  ($4,A6), (A0)+
            20014 | 30EE 0006           : move.w  ($6,A6), (A0)+
            20018 | 30EE 000C           : move.w  ($c,A6), (A0)+
            2001C | 30BC xxxx           : move.w  #$xx, (A0)
            20020 | 317C 0001 FFF6      : move.w  #$1, (-$a,A0)
            20026 | 33FC 0000 0007 800A : move.w  #$0, $7800a.l
            2002E | 33FC 0001 0007 800A : move.w  #$1, $7800a.l
            20036 | 4A68 FFF6           : tst.w   (-$a,A0)
            2003A | 66FA                : bne     $20036
            2003C | 2D68 0012 0004      : move.l  ($12,A0), ($4,A6)
            20042 | 363C 9300           : move.w  #$9300, D3
            20046 | 4E75                : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@2001E = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@048F2 = 6100D46C363C9300</action>
            <action>maincpu.mq@20000 = 0000000000000000</action>
            <action>maincpu.mq@20008 = 0000000000000000</action>
            <action>maincpu.mq@20010 = 0000000000000000</action>
            <action>maincpu.mq@20018 = 0000000000000000</action>
            <action>maincpu.mq@20020 = 0000000000000000</action>
            <action>maincpu.mq@20028 = 0000000000000000</action>
            <action>maincpu.mq@20030 = 0000000000000000</action>
            <action>maincpu.mq@20038 = 0000000000000000</action>
            <action>maincpu.mq@20040 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x19">02       </item>
            <item value="0x32">03       </item>
            <item value="0x4b">04       </item>
            <item value="0x64">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4CA5 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4CA5 = 19</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.md@0A1BC = 00020050        </action>
            <action>maincpu.mq@20050 = 41F90003100043F9</action>
            <action>maincpu.mq@20058 = 0007A00112001039</action>
            <action>maincpu.mq@20060 = 00078005B20067F4</action>
            <action>maincpu.mq@20068 = 0C00000466025310</action>
            <action>maincpu.mq@20070 = 0C00000866025210</action>
            <action>maincpu.mq@20078 = 0C00000266040410</action>
            <action>maincpu.mq@20080 = 00100C0000016604</action>
            <action>maincpu.mq@20088 = 061000100C000010</action>
            <action>maincpu.mq@20090 = 660212900C000020</action>
            <action>maincpu.mq@20098 = 660412BC00FE60BC</action>
            <!--
            20050 | 41F9 0003 1000 : lea     $31000.l, A0 // sound code address
            20056 | 43F9 0007 A001 : lea     $7a001.l, A1 // sound latch address
            2005C | 1200           : move.b  D0, D1
            2005E | 1039 0007 8005 : move.b  $78005.l, D0 // read input
            20064 | B200           : cmp.b   D0, D1
            20066 | 67F4           : beq     $2005c
            20068 | 0C00 0004      : cmpi.b  #$4, D0
            2006C | 6602           : bne     $20070
            2006E | 5310           : subq.b  #1, (A0)     // decrease code -01
            20070 | 0C00 0008      : cmpi.b  #$8, D0
            20074 | 6602           : bne     $20078
            20076 | 5210           : addq.b  #1, (A0)     // increase code +01
            20078 | 0C00 0002      : cmpi.b  #$2, D0
            2007C | 6604           : bne     $20082
            2007E | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            20082 | 0C00 0001      : cmpi.b  #$1, D0
            20086 | 6604           : bne     $2008c
            20088 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2008C | 0C00 0010      : cmpi.b  #$10, D0
            20090 | 6602           : bne     $20094
            20092 | 1290           : move.b  (A0), (A1)   // play sound
            20094 | 0C00 0020      : cmpi.b  #$20, D0
            20098 | 6604           : bne     $2009e
            2009A | 12BC 00FE      : move.b  #$fe, (A1)   // stop sound
            2009E | 60BC           : bra     $2005c
            -->
        </script>
        <script state="run">
            <output format="----- flying 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 %2.2X &gt;&gt;"       line="19" align="center"  >
                <argument>maincpu.pb@31000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0A1BC = 000026F2        </action>
            <action>maincpu.mq@20050 = 0000000000000000</action>
            <action>maincpu.mq@20058 = 0000000000000000</action>
            <action>maincpu.mq@20060 = 0000000000000000</action>
            <action>maincpu.mq@20068 = 0000000000000000</action>
            <action>maincpu.mq@20070 = 0000000000000000</action>
            <action>maincpu.mq@20078 = 0000000000000000</action>
            <action>maincpu.mq@20080 = 0000000000000000</action>
            <action>maincpu.mq@20088 = 0000000000000000</action>
            <action>maincpu.mq@20090 = 0000000000000000</action>
            <action>maincpu.mq@20098 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@A1C8 = 013A</action> <!-- boot -->
            <action>maincpu.mw@0BB6 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@1A64 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@3238 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@4256 = 4E75</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@A1C8 = 0122</action>
            <action>maincpu.mw@0BB6 = 41F9</action>
            <action>maincpu.mw@1A64 = 41F9</action>
            <action>maincpu.mw@3238 = 41F9</action>
            <action>maincpu.mw@4256 = 41F9</action>
        </script>
    </cheat>

</mamecheat>
skyshark.xml

Code: Select all

<!-- Sky Shark (US, set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1CD2 = 60</action> <!-- bullet -->
            <action>maincpu.mb@2AB2 = 60</action> <!-- enemy -->
            <action>maincpu.mb@68B8 = 60</action> <!-- boss -->
        </script>
        <script state="off">
            <action>maincpu.mb@1CD2 = 66</action>
            <action>maincpu.mb@2AB2 = 67</action>
            <action>maincpu.mb@68B8 = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@47D1 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@47D1 = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0004">02       </item>
            <item value="0x0008">03       </item>
            <item value="0x000c">04       </item>
            <item value="0x0012">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@04976 = 4EB9000200004E71</action>
            <action>maincpu.mq@20000 = 41F9000300044A68</action>
            <action>maincpu.mq@20008 = FFFE66FA30FC000A</action>
            <action>maincpu.mq@20010 = 30EE000430EE0006</action>
            <action>maincpu.mq@20018 = 30EE000C30BC0000</action>
            <action>maincpu.mq@20020 = 317C0001FFF633FC</action>
            <action>maincpu.mq@20028 = 00000007800A33FC</action>
            <action>maincpu.mq@20030 = 00010007800A4A68</action>
            <action>maincpu.mq@20038 = FFF666FA2D680012</action>
            <action>maincpu.mq@20040 = 0004363C93004E75</action>
            <!--
            20000 | 41F9 0003 0004      : lea     $30004.l, A0
            20006 | 4A68 FFFE           : tst.w   (-$2,A0)
            2000A | 66FA                : bne     $20006
            2000C | 30FC 000A           : move.w  #$a, (A0)+
            20010 | 30EE 0004           : move.w  ($4,A6), (A0)+
            20014 | 30EE 0006           : move.w  ($6,A6), (A0)+
            20018 | 30EE 000C           : move.w  ($c,A6), (A0)+
            2001C | 30BC xxxx           : move.w  #$xx, (A0)
            20020 | 317C 0001 FFF6      : move.w  #$1, (-$a,A0)
            20026 | 33FC 0000 0007 800A : move.w  #$0, $7800a.l
            2002E | 33FC 0001 0007 800A : move.w  #$1, $7800a.l
            20036 | 4A68 FFF6           : tst.w   (-$a,A0)
            2003A | 66FA                : bne     $20036
            2003C | 2D68 0012 0004      : move.l  ($12,A0), ($4,A6)
            20042 | 363C 9300           : move.w  #$9300, D3
            20046 | 4E75                : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@2001E = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@04976 = 6100D3EA363C9300</action>
            <action>maincpu.mq@20000 = 0000000000000000</action>
            <action>maincpu.mq@20008 = 0000000000000000</action>
            <action>maincpu.mq@20010 = 0000000000000000</action>
            <action>maincpu.mq@20018 = 0000000000000000</action>
            <action>maincpu.mq@20020 = 0000000000000000</action>
            <action>maincpu.mq@20028 = 0000000000000000</action>
            <action>maincpu.mq@20030 = 0000000000000000</action>
            <action>maincpu.mq@20038 = 0000000000000000</action>
            <action>maincpu.mq@20040 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x19">02       </item>
            <item value="0x32">03       </item>
            <item value="0x4b">04       </item>
            <item value="0x64">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4D29 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4D29 = 19</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.md@0A240 = 00020050        </action>
            <action>maincpu.mq@20050 = 41F90003100043F9</action>
            <action>maincpu.mq@20058 = 0007A00112001039</action>
            <action>maincpu.mq@20060 = 00078005B20067F4</action>
            <action>maincpu.mq@20068 = 0C00000466025310</action>
            <action>maincpu.mq@20070 = 0C00000866025210</action>
            <action>maincpu.mq@20078 = 0C00000266040410</action>
            <action>maincpu.mq@20080 = 00100C0000016604</action>
            <action>maincpu.mq@20088 = 061000100C000010</action>
            <action>maincpu.mq@20090 = 660212900C000020</action>
            <action>maincpu.mq@20098 = 660412BC00FE60BC</action>
            <!--
            20050 | 41F9 0003 1000 : lea     $31000.l, A0 // sound code address
            20056 | 43F9 0007 A001 : lea     $7a001.l, A1 // sound latch address
            2005C | 1200           : move.b  D0, D1
            2005E | 1039 0007 8005 : move.b  $78005.l, D0 // read input
            20064 | B200           : cmp.b   D0, D1
            20066 | 67F4           : beq     $2005c
            20068 | 0C00 0004      : cmpi.b  #$4, D0
            2006C | 6602           : bne     $20070
            2006E | 5310           : subq.b  #1, (A0)     // decrease code -01
            20070 | 0C00 0008      : cmpi.b  #$8, D0
            20074 | 6602           : bne     $20078
            20076 | 5210           : addq.b  #1, (A0)     // increase code +01
            20078 | 0C00 0002      : cmpi.b  #$2, D0
            2007C | 6604           : bne     $20082
            2007E | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            20082 | 0C00 0001      : cmpi.b  #$1, D0
            20086 | 6604           : bne     $2008c
            20088 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2008C | 0C00 0010      : cmpi.b  #$10, D0
            20090 | 6602           : bne     $20094
            20092 | 1290           : move.b  (A0), (A1)   // play sound
            20094 | 0C00 0020      : cmpi.b  #$20, D0
            20098 | 6604           : bne     $2009e
            2009A | 12BC 00FE      : move.b  #$fe, (A1)   // stop sound
            2009E | 60BC           : bra     $2005c
            -->
        </script>
        <script state="run">
            <output format="----- sky 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 %2.2X &gt;&gt;"    line="19" align="center"  >
                <argument>maincpu.pb@31000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0A240 = 000026FC        </action>
            <action>maincpu.mq@20050 = 0000000000000000</action>
            <action>maincpu.mq@20058 = 0000000000000000</action>
            <action>maincpu.mq@20060 = 0000000000000000</action>
            <action>maincpu.mq@20068 = 0000000000000000</action>
            <action>maincpu.mq@20070 = 0000000000000000</action>
            <action>maincpu.mq@20078 = 0000000000000000</action>
            <action>maincpu.mq@20080 = 0000000000000000</action>
            <action>maincpu.mq@20088 = 0000000000000000</action>
            <action>maincpu.mq@20090 = 0000000000000000</action>
            <action>maincpu.mq@20098 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@A24C = 013A</action> <!-- boot -->
            <action>maincpu.mw@0BA0 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@1A66 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@3242 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@42DA = 4E75</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@A24C = 0122</action>
            <action>maincpu.mw@0BA0 = 41F9</action>
            <action>maincpu.mw@1A66 = 41F9</action>
            <action>maincpu.mw@3342 = 41F9</action>
            <action>maincpu.mw@42DA = 41F9</action>
        </script>
    </cheat>

</mamecheat>
skysharka.xml

Code: Select all

<!-- Sky Shark (US, set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1CD2 = 60</action> <!-- bullet -->
            <action>maincpu.mb@2AB4 = 60</action> <!-- enemy -->
            <action>maincpu.mb@68BA = 60</action> <!-- boss -->
        </script>
        <script state="off">
            <action>maincpu.mb@1CD2 = 66</action>
            <action>maincpu.mb@2AB4 = 67</action>
            <action>maincpu.mb@68BA = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@47D3 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@47D3 = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0004">02       </item>
            <item value="0x0008">03       </item>
            <item value="0x000c">04       </item>
            <item value="0x0012">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@04978 = 4EB9000200004E71</action>
            <action>maincpu.mq@20000 = 41F9000300044A68</action>
            <action>maincpu.mq@20008 = FFFE66FA30FC000A</action>
            <action>maincpu.mq@20010 = 30EE000430EE0006</action>
            <action>maincpu.mq@20018 = 30EE000C30BC0000</action>
            <action>maincpu.mq@20020 = 317C0001FFF633FC</action>
            <action>maincpu.mq@20028 = 00000007800A33FC</action>
            <action>maincpu.mq@20030 = 00010007800A4A68</action>
            <action>maincpu.mq@20038 = FFF666FA2D680012</action>
            <action>maincpu.mq@20040 = 0004363C93004E75</action>
            <!--
            20000 | 41F9 0003 0004      : lea     $30004.l, A0
            20006 | 4A68 FFFE           : tst.w   (-$2,A0)
            2000A | 66FA                : bne     $20006
            2000C | 30FC 000A           : move.w  #$a, (A0)+
            20010 | 30EE 0004           : move.w  ($4,A6), (A0)+
            20014 | 30EE 0006           : move.w  ($6,A6), (A0)+
            20018 | 30EE 000C           : move.w  ($c,A6), (A0)+
            2001C | 30BC xxxx           : move.w  #$xx, (A0)
            20020 | 317C 0001 FFF6      : move.w  #$1, (-$a,A0)
            20026 | 33FC 0000 0007 800A : move.w  #$0, $7800a.l
            2002E | 33FC 0001 0007 800A : move.w  #$1, $7800a.l
            20036 | 4A68 FFF6           : tst.w   (-$a,A0)
            2003A | 66FA                : bne     $20036
            2003C | 2D68 0012 0004      : move.l  ($12,A0), ($4,A6)
            20042 | 363C 9300           : move.w  #$9300, D3
            20046 | 4E75                : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@2001E = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@04978 = 6100D3E8363C9300</action>
            <action>maincpu.mq@20000 = 0000000000000000</action>
            <action>maincpu.mq@20008 = 0000000000000000</action>
            <action>maincpu.mq@20010 = 0000000000000000</action>
            <action>maincpu.mq@20018 = 0000000000000000</action>
            <action>maincpu.mq@20020 = 0000000000000000</action>
            <action>maincpu.mq@20028 = 0000000000000000</action>
            <action>maincpu.mq@20030 = 0000000000000000</action>
            <action>maincpu.mq@20038 = 0000000000000000</action>
            <action>maincpu.mq@20040 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x19">02       </item>
            <item value="0x32">03       </item>
            <item value="0x4b">04       </item>
            <item value="0x64">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4D2B = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4D2B = 19</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.md@0A242 = 00020050        </action>
            <action>maincpu.mq@20050 = 41F90003100043F9</action>
            <action>maincpu.mq@20058 = 0007A00112001039</action>
            <action>maincpu.mq@20060 = 00078005B20067F4</action>
            <action>maincpu.mq@20068 = 0C00000466025310</action>
            <action>maincpu.mq@20070 = 0C00000866025210</action>
            <action>maincpu.mq@20078 = 0C00000266040410</action>
            <action>maincpu.mq@20080 = 00100C0000016604</action>
            <action>maincpu.mq@20088 = 061000100C000010</action>
            <action>maincpu.mq@20090 = 660212900C000020</action>
            <action>maincpu.mq@20098 = 660412BC00FE60BC</action>
            <!--
            20050 | 41F9 0003 1000 : lea     $31000.l, A0 // sound code address
            20056 | 43F9 0007 A001 : lea     $7a001.l, A1 // sound latch address
            2005C | 1200           : move.b  D0, D1
            2005E | 1039 0007 8005 : move.b  $78005.l, D0 // read input
            20064 | B200           : cmp.b   D0, D1
            20066 | 67F4           : beq     $2005c
            20068 | 0C00 0004      : cmpi.b  #$4, D0
            2006C | 6602           : bne     $20070
            2006E | 5310           : subq.b  #1, (A0)     // decrease code -01
            20070 | 0C00 0008      : cmpi.b  #$8, D0
            20074 | 6602           : bne     $20078
            20076 | 5210           : addq.b  #1, (A0)     // increase code +01
            20078 | 0C00 0002      : cmpi.b  #$2, D0
            2007C | 6604           : bne     $20082
            2007E | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            20082 | 0C00 0001      : cmpi.b  #$1, D0
            20086 | 6604           : bne     $2008c
            20088 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2008C | 0C00 0010      : cmpi.b  #$10, D0
            20090 | 6602           : bne     $20094
            20092 | 1290           : move.b  (A0), (A1)   // play sound
            20094 | 0C00 0020      : cmpi.b  #$20, D0
            20098 | 6604           : bne     $2009e
            2009A | 12BC 00FE      : move.b  #$fe, (A1)   // stop sound
            2009E | 60BC           : bra     $2005c
            -->
        </script>
        <script state="run">
            <output format="----- sky 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 %2.2X &gt;&gt;"    line="19" align="center"  >
                <argument>maincpu.pb@31000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0A242 = 000026FC        </action>
            <action>maincpu.mq@20050 = 0000000000000000</action>
            <action>maincpu.mq@20058 = 0000000000000000</action>
            <action>maincpu.mq@20060 = 0000000000000000</action>
            <action>maincpu.mq@20068 = 0000000000000000</action>
            <action>maincpu.mq@20070 = 0000000000000000</action>
            <action>maincpu.mq@20078 = 0000000000000000</action>
            <action>maincpu.mq@20080 = 0000000000000000</action>
            <action>maincpu.mq@20088 = 0000000000000000</action>
            <action>maincpu.mq@20090 = 0000000000000000</action>
            <action>maincpu.mq@20098 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@A24E = 013A</action> <!-- boot -->
            <action>maincpu.mw@0BA0 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@1A66 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@3244 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@42DC = 4E75</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@A24E = 0122</action>
            <action>maincpu.mw@0BA0 = 41F9</action>
            <action>maincpu.mw@1A66 = 41F9</action>
            <action>maincpu.mw@3244 = 41F9</action>
            <action>maincpu.mw@42DC = 41F9</action>
        </script>
    </cheat>

</mamecheat>
hishouza.xml

Code: Select all

<!-- Hishou Zame (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1CF2 = 60</action> <!-- bullet -->
            <action>maincpu.mb@2ACA = 60</action> <!-- enemy -->
            <action>maincpu.mb@6BBA = 60</action> <!-- boss -->
        </script>
        <script state="off">
            <action>maincpu.mb@1CF2 = 66</action>
            <action>maincpu.mb@2ACA = 67</action>
            <action>maincpu.mb@6BBA = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@470F = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@470F = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0004">02       </item>
            <item value="0x0008">03       </item>
            <item value="0x000c">04       </item>
            <item value="0x0012">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@048B4 = 4EB9000200004E71</action>
            <action>maincpu.mq@20000 = 41F9000300044A68</action>
            <action>maincpu.mq@20008 = FFFE66FA30FC0006</action>
            <action>maincpu.mq@20010 = 30EE000430EE0006</action>
            <action>maincpu.mq@20018 = 30EE000C30BC0000</action>
            <action>maincpu.mq@20020 = 317C0001FFF633FC</action>
            <action>maincpu.mq@20028 = 00000007800A33FC</action>
            <action>maincpu.mq@20030 = 00010007800A4A68</action>
            <action>maincpu.mq@20038 = FFF666FA2D680012</action>
            <action>maincpu.mq@20040 = 0004363C93004E75</action>
            <!--
            20000 | 41F9 0003 0004      : lea     $30004.l, A0
            20006 | 4A68 FFFE           : tst.w   (-$2,A0)
            2000A | 66FA                : bne     $20006
            2000C | 30FC 0006           : move.w  #$6, (A0)+
            20010 | 30EE 0004           : move.w  ($4,A6), (A0)+
            20014 | 30EE 0006           : move.w  ($6,A6), (A0)+
            20018 | 30EE 000C           : move.w  ($c,A6), (A0)+
            2001C | 30BC xxxx           : move.w  #$xx, (A0)
            20020 | 317C 0001 FFF6      : move.w  #$1, (-$a,A0)
            20026 | 33FC 0000 0007 800A : move.w  #$0, $7800a.l
            2002E | 33FC 0001 0007 800A : move.w  #$1, $7800a.l
            20036 | 4A68 FFF6           : tst.w   (-$a,A0)
            2003A | 66FA                : bne     $20036
            2003C | 2D68 0012 0004      : move.l  ($12,A0), ($4,A6)
            20042 | 363C 9300           : move.w  #$9300, D3
            20046 | 4E75                : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@2001E = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@048B4 = 6100D4CC363C9300</action>
            <action>maincpu.mq@20000 = 0000000000000000</action>
            <action>maincpu.mq@20008 = 0000000000000000</action>
            <action>maincpu.mq@20010 = 0000000000000000</action>
            <action>maincpu.mq@20018 = 0000000000000000</action>
            <action>maincpu.mq@20020 = 0000000000000000</action>
            <action>maincpu.mq@20028 = 0000000000000000</action>
            <action>maincpu.mq@20030 = 0000000000000000</action>
            <action>maincpu.mq@20038 = 0000000000000000</action>
            <action>maincpu.mq@20040 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x19">02       </item>
            <item value="0x32">03       </item>
            <item value="0x4b">04       </item>
            <item value="0x64">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4C67 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4C67 = 19</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.md@0A1FC = 00020050        </action>
            <action>maincpu.mq@20050 = 41F90003100043F9</action>
            <action>maincpu.mq@20058 = 0007A00112001039</action>
            <action>maincpu.mq@20060 = 00078005B20067F4</action>
            <action>maincpu.mq@20068 = 0C00000466025310</action>
            <action>maincpu.mq@20070 = 0C00000866025210</action>
            <action>maincpu.mq@20078 = 0C00000266040410</action>
            <action>maincpu.mq@20080 = 00100C0000016604</action>
            <action>maincpu.mq@20088 = 061000100C000010</action>
            <action>maincpu.mq@20090 = 660212900C000020</action>
            <action>maincpu.mq@20098 = 660412BC00FE60BC</action>
            <!--
            20050 | 41F9 0003 1000 : lea     $31000.l, A0 // sound code address
            20056 | 43F9 0007 A001 : lea     $7a001.l, A1 // sound latch address
            2005C | 1200           : move.b  D0, D1
            2005E | 1039 0007 8005 : move.b  $78005.l, D0 // read input
            20064 | B200           : cmp.b   D0, D1
            20066 | 67F4           : beq     $2005c
            20068 | 0C00 0004      : cmpi.b  #$4, D0
            2006C | 6602           : bne     $20070
            2006E | 5310           : subq.b  #1, (A0)     // decrease code -01
            20070 | 0C00 0008      : cmpi.b  #$8, D0
            20074 | 6602           : bne     $20078
            20076 | 5210           : addq.b  #1, (A0)     // increase code +01
            20078 | 0C00 0002      : cmpi.b  #$2, D0
            2007C | 6604           : bne     $20082
            2007E | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            20082 | 0C00 0001      : cmpi.b  #$1, D0
            20086 | 6604           : bne     $2008c
            20088 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2008C | 0C00 0010      : cmpi.b  #$10, D0
            20090 | 6602           : bne     $20094
            20092 | 1290           : move.b  (A0), (A1)   // play sound
            20094 | 0C00 0020      : cmpi.b  #$20, D0
            20098 | 6604           : bne     $2009e
            2009A | 12BC 00FE      : move.b  #$fe, (A1)   // stop sound
            2009E | 60BC           : bra     $2005c
            -->
        </script>
        <script state="run">
            <output format="----- hishou zame sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"                line="11" align="center" />
            <output format="right : increase code +01"               line="12" align="center" />
            <output format="down : decrease code -10"                line="13" align="center" />
            <output format="up : increase code +10"                  line="14" align="center" />
            <output format="button 1 : play sound"                   line="15" align="center" />
            <output format="button 2 : stop sound"                   line="16" align="center" />
            <output format="----------------------------"            line="17" align="center" />
            <output format="&lt;&lt; sound code %2.2X &gt;&gt;"      line="19" align="center"  >
                <argument>maincpu.pb@31000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0A1FC = 00002714        </action>
            <action>maincpu.mq@20050 = 0000000000000000</action>
            <action>maincpu.mq@20058 = 0000000000000000</action>
            <action>maincpu.mq@20060 = 0000000000000000</action>
            <action>maincpu.mq@20068 = 0000000000000000</action>
            <action>maincpu.mq@20070 = 0000000000000000</action>
            <action>maincpu.mq@20078 = 0000000000000000</action>
            <action>maincpu.mq@20080 = 0000000000000000</action>
            <action>maincpu.mq@20088 = 0000000000000000</action>
            <action>maincpu.mq@20090 = 0000000000000000</action>
            <action>maincpu.mq@20098 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@A208 = 013A</action> <!-- boot -->
            <action>maincpu.mw@0B9E = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@1A86 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@325A = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@4218 = 4E75</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@A356 = 0122</action>
            <action>maincpu.mw@0B9E = 41F9</action>
            <action>maincpu.mw@1A86 = 41F9</action>
            <action>maincpu.mw@325A = 41F9</action>
            <action>maincpu.mw@4218 = 41F9</action>
        </script>
    </cheat>

</mamecheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[fshark]+ Flying Shark/Sky Shark/Hishou Zame

Post by jman »

fsharkb.xml

Code: Select all

<!-- Flying Shark (World, bootleg) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1CD0 = 60</action> <!-- bullet -->
            <action>maincpu.mb@2AA8 = 60</action> <!-- enemy -->
            <action>maincpu.mb@6834 = 60</action> <!-- boss -->
        </script>
        <script state="off">
            <action>maincpu.mb@1CD0 = 66</action>
            <action>maincpu.mb@2AA8 = 67</action>
            <action>maincpu.mb@6834 = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@474D = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@474D = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0004">02       </item>
            <item value="0x0008">03       </item>
            <item value="0x000c">04       </item>
            <item value="0x0012">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@048F2 = 4EB9000200004E71</action>
            <action>maincpu.mq@20000 = 41F9000300044A68</action>
            <action>maincpu.mq@20008 = FFFE66FA30FC000A</action>
            <action>maincpu.mq@20010 = 30EE000430EE0006</action>
            <action>maincpu.mq@20018 = 30EE000C30BC0000</action>
            <action>maincpu.mq@20020 = 317C0001FFF633FC</action>
            <action>maincpu.mq@20028 = 00000007800A33FC</action>
            <action>maincpu.mq@20030 = 00010007800A4A68</action>
            <action>maincpu.mq@20038 = FFF666FA2D680012</action>
            <action>maincpu.mq@20040 = 0004363C93004E75</action>
            <!--
            20000 | 41F9 0003 0004      : lea     $30004.l, A0
            20006 | 4A68 FFFE           : tst.w   (-$2,A0)
            2000A | 66FA                : bne     $20006
            2000C | 30FC 000A           : move.w  #$a, (A0)+
            20010 | 30EE 0004           : move.w  ($4,A6), (A0)+
            20014 | 30EE 0006           : move.w  ($6,A6), (A0)+
            20018 | 30EE 000C           : move.w  ($c,A6), (A0)+
            2001C | 30BC xxxx           : move.w  #$xx, (A0)
            20020 | 317C 0001 FFF6      : move.w  #$1, (-$a,A0)
            20026 | 33FC 0000 0007 800A : move.w  #$0, $7800a.l
            2002E | 33FC 0001 0007 800A : move.w  #$1, $7800a.l
            20036 | 4A68 FFF6           : tst.w   (-$a,A0)
            2003A | 66FA                : bne     $20036
            2003C | 2D68 0012 0004      : move.l  ($12,A0), ($4,A6)
            20042 | 363C 9300           : move.w  #$9300, D3
            20046 | 4E75                : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@2001E = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@048F2 = 6100D46C363C9300</action>
            <action>maincpu.mq@20000 = 0000000000000000</action>
            <action>maincpu.mq@20008 = 0000000000000000</action>
            <action>maincpu.mq@20010 = 0000000000000000</action>
            <action>maincpu.mq@20018 = 0000000000000000</action>
            <action>maincpu.mq@20020 = 0000000000000000</action>
            <action>maincpu.mq@20028 = 0000000000000000</action>
            <action>maincpu.mq@20030 = 0000000000000000</action>
            <action>maincpu.mq@20038 = 0000000000000000</action>
            <action>maincpu.mq@20040 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x19">02       </item>
            <item value="0x32">03       </item>
            <item value="0x4b">04       </item>
            <item value="0x64">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4CA5 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4CA5 = 19</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.md@0A1BC = 00020050        </action>
            <action>maincpu.mq@20050 = 41F90003100043F9</action>
            <action>maincpu.mq@20058 = 0007A00112001039</action>
            <action>maincpu.mq@20060 = 00078005B20067F4</action>
            <action>maincpu.mq@20068 = 0C00000466025310</action>
            <action>maincpu.mq@20070 = 0C00000866025210</action>
            <action>maincpu.mq@20078 = 0C00000266040410</action>
            <action>maincpu.mq@20080 = 00100C0000016604</action>
            <action>maincpu.mq@20088 = 061000100C000010</action>
            <action>maincpu.mq@20090 = 660212900C000020</action>
            <action>maincpu.mq@20098 = 660412BC00FE60BC</action>
            <!--
            20050 | 41F9 0003 1000 : lea     $31000.l, A0 // sound code address
            20056 | 43F9 0007 A001 : lea     $7a001.l, A1 // sound latch address
            2005C | 1200           : move.b  D0, D1
            2005E | 1039 0007 8005 : move.b  $78005.l, D0 // read input
            20064 | B200           : cmp.b   D0, D1
            20066 | 67F4           : beq     $2005c
            20068 | 0C00 0004      : cmpi.b  #$4, D0
            2006C | 6602           : bne     $20070
            2006E | 5310           : subq.b  #1, (A0)     // decrease code -01
            20070 | 0C00 0008      : cmpi.b  #$8, D0
            20074 | 6602           : bne     $20078
            20076 | 5210           : addq.b  #1, (A0)     // increase code +01
            20078 | 0C00 0002      : cmpi.b  #$2, D0
            2007C | 6604           : bne     $20082
            2007E | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            20082 | 0C00 0001      : cmpi.b  #$1, D0
            20086 | 6604           : bne     $2008c
            20088 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2008C | 0C00 0010      : cmpi.b  #$10, D0
            20090 | 6602           : bne     $20094
            20092 | 1290           : move.b  (A0), (A1)   // play sound
            20094 | 0C00 0020      : cmpi.b  #$20, D0
            20098 | 6604           : bne     $2009e
            2009A | 12BC 00FE      : move.b  #$fe, (A1)   // stop sound
            2009E | 60BC           : bra     $2005c
            -->
        </script>
        <script state="run">
            <output format="----- flying 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 %2.2X &gt;&gt;"       line="19" align="center"  >
                <argument>maincpu.pb@31000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0A1BC = 000026F2        </action>
            <action>maincpu.mq@20050 = 0000000000000000</action>
            <action>maincpu.mq@20058 = 0000000000000000</action>
            <action>maincpu.mq@20060 = 0000000000000000</action>
            <action>maincpu.mq@20068 = 0000000000000000</action>
            <action>maincpu.mq@20070 = 0000000000000000</action>
            <action>maincpu.mq@20078 = 0000000000000000</action>
            <action>maincpu.mq@20080 = 0000000000000000</action>
            <action>maincpu.mq@20088 = 0000000000000000</action>
            <action>maincpu.mq@20090 = 0000000000000000</action>
            <action>maincpu.mq@20098 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@A1C8 = 013A</action> <!-- boot -->
            <action>maincpu.mw@0BB6 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@1A64 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@3238 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@4256 = 4E75</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@A1C8 = 0122</action>
            <action>maincpu.mw@0BB6 = 41F9</action>
            <action>maincpu.mw@1A64 = 41F9</action>
            <action>maincpu.mw@3238 = 41F9</action>
            <action>maincpu.mw@4256 = 41F9</action>
        </script>
    </cheat>

</mamecheat>
hishouzab.xml

Code: Select all

<!-- Hishou Zame (Japan, bootleg) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1CF2 = 60</action> <!-- bullet -->
            <action>maincpu.mb@2ACA = 60</action> <!-- enemy -->
            <action>maincpu.mb@6BBA = 60</action> <!-- boss -->
        </script>
        <script state="off">
            <action>maincpu.mb@1CF2 = 66</action>
            <action>maincpu.mb@2ACA = 67</action>
            <action>maincpu.mb@6BBA = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@470F = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@470F = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0004">02       </item>
            <item value="0x0008">03       </item>
            <item value="0x000c">04       </item>
            <item value="0x0012">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@048B4 = 4EB9000200004E71</action>
            <action>maincpu.mq@20000 = 41F9000300044A68</action>
            <action>maincpu.mq@20008 = FFFE66FA30FC0006</action>
            <action>maincpu.mq@20010 = 30EE000430EE0006</action>
            <action>maincpu.mq@20018 = 30EE000C30BC0000</action>
            <action>maincpu.mq@20020 = 317C0001FFF633FC</action>
            <action>maincpu.mq@20028 = 00000007800A33FC</action>
            <action>maincpu.mq@20030 = 00010007800A4A68</action>
            <action>maincpu.mq@20038 = FFF666FA2D680012</action>
            <action>maincpu.mq@20040 = 0004363C93004E75</action>
            <!--
            20000 | 41F9 0003 0004      : lea     $30004.l, A0
            20006 | 4A68 FFFE           : tst.w   (-$2,A0)
            2000A | 66FA                : bne     $20006
            2000C | 30FC 0006           : move.w  #$6, (A0)+
            20010 | 30EE 0004           : move.w  ($4,A6), (A0)+
            20014 | 30EE 0006           : move.w  ($6,A6), (A0)+
            20018 | 30EE 000C           : move.w  ($c,A6), (A0)+
            2001C | 30BC xxxx           : move.w  #$xx, (A0)
            20020 | 317C 0001 FFF6      : move.w  #$1, (-$a,A0)
            20026 | 33FC 0000 0007 800A : move.w  #$0, $7800a.l
            2002E | 33FC 0001 0007 800A : move.w  #$1, $7800a.l
            20036 | 4A68 FFF6           : tst.w   (-$a,A0)
            2003A | 66FA                : bne     $20036
            2003C | 2D68 0012 0004      : move.l  ($12,A0), ($4,A6)
            20042 | 363C 9300           : move.w  #$9300, D3
            20046 | 4E75                : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@2001E = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@048B4 = 6100D4CC363C9300</action>
            <action>maincpu.mq@20000 = 0000000000000000</action>
            <action>maincpu.mq@20008 = 0000000000000000</action>
            <action>maincpu.mq@20010 = 0000000000000000</action>
            <action>maincpu.mq@20018 = 0000000000000000</action>
            <action>maincpu.mq@20020 = 0000000000000000</action>
            <action>maincpu.mq@20028 = 0000000000000000</action>
            <action>maincpu.mq@20030 = 0000000000000000</action>
            <action>maincpu.mq@20038 = 0000000000000000</action>
            <action>maincpu.mq@20040 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x19">02       </item>
            <item value="0x32">03       </item>
            <item value="0x4b">04       </item>
            <item value="0x64">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4C67 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4C67 = 19</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.md@0A1FC = 00020050        </action>
            <action>maincpu.mq@20050 = 41F90003100043F9</action>
            <action>maincpu.mq@20058 = 0007A00112001039</action>
            <action>maincpu.mq@20060 = 00078005B20067F4</action>
            <action>maincpu.mq@20068 = 0C00000466025310</action>
            <action>maincpu.mq@20070 = 0C00000866025210</action>
            <action>maincpu.mq@20078 = 0C00000266040410</action>
            <action>maincpu.mq@20080 = 00100C0000016604</action>
            <action>maincpu.mq@20088 = 061000100C000010</action>
            <action>maincpu.mq@20090 = 660212900C000020</action>
            <action>maincpu.mq@20098 = 660412BC00FE60BC</action>
            <!--
            20050 | 41F9 0003 1000 : lea     $31000.l, A0 // sound code address
            20056 | 43F9 0007 A001 : lea     $7a001.l, A1 // sound latch address
            2005C | 1200           : move.b  D0, D1
            2005E | 1039 0007 8005 : move.b  $78005.l, D0 // read input
            20064 | B200           : cmp.b   D0, D1
            20066 | 67F4           : beq     $2005c
            20068 | 0C00 0004      : cmpi.b  #$4, D0
            2006C | 6602           : bne     $20070
            2006E | 5310           : subq.b  #1, (A0)     // decrease code -01
            20070 | 0C00 0008      : cmpi.b  #$8, D0
            20074 | 6602           : bne     $20078
            20076 | 5210           : addq.b  #1, (A0)     // increase code +01
            20078 | 0C00 0002      : cmpi.b  #$2, D0
            2007C | 6604           : bne     $20082
            2007E | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            20082 | 0C00 0001      : cmpi.b  #$1, D0
            20086 | 6604           : bne     $2008c
            20088 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2008C | 0C00 0010      : cmpi.b  #$10, D0
            20090 | 6602           : bne     $20094
            20092 | 1290           : move.b  (A0), (A1)   // play sound
            20094 | 0C00 0020      : cmpi.b  #$20, D0
            20098 | 6604           : bne     $2009e
            2009A | 12BC 00FE      : move.b  #$fe, (A1)   // stop sound
            2009E | 60BC           : bra     $2005c
            -->
        </script>
        <script state="run">
            <output format="----- hishou zame sound test mode -----" line="10" align="center" />
            <output format="left : decrease code -01"                line="11" align="center" />
            <output format="right : increase code +01"               line="12" align="center" />
            <output format="down : decrease code -10"                line="13" align="center" />
            <output format="up : increase code +10"                  line="14" align="center" />
            <output format="button 1 : play sound"                   line="15" align="center" />
            <output format="button 2 : stop sound"                   line="16" align="center" />
            <output format="----------------------------"            line="17" align="center" />
            <output format="&lt;&lt; sound code %2.2X &gt;&gt;"      line="19" align="center"  >
                <argument>maincpu.pb@31000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0A1FC = 00002714        </action>
            <action>maincpu.mq@20050 = 0000000000000000</action>
            <action>maincpu.mq@20058 = 0000000000000000</action>
            <action>maincpu.mq@20060 = 0000000000000000</action>
            <action>maincpu.mq@20068 = 0000000000000000</action>
            <action>maincpu.mq@20070 = 0000000000000000</action>
            <action>maincpu.mq@20078 = 0000000000000000</action>
            <action>maincpu.mq@20080 = 0000000000000000</action>
            <action>maincpu.mq@20088 = 0000000000000000</action>
            <action>maincpu.mq@20090 = 0000000000000000</action>
            <action>maincpu.mq@20098 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@A208 = 013A</action> <!-- boot -->
            <action>maincpu.mw@0B9E = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@1A86 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@325A = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@4218 = 4E75</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@A356 = 0122</action>
            <action>maincpu.mw@0B9E = 41F9</action>
            <action>maincpu.mw@1A86 = 41F9</action>
            <action>maincpu.mw@325A = 41F9</action>
            <action>maincpu.mw@4218 = 41F9</action>
        </script>
    </cheat>

</mamecheat>
fsharkbt.xml

Code: Select all

<!-- Flying Shark (bootleg with 8741) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1CD2 = 60</action> <!-- bullet -->
            <action>maincpu.mb@2AB4 = 60</action> <!-- enemy -->
            <action>maincpu.mb@68BA = 60</action> <!-- boss -->
        </script>
        <script state="off">
            <action>maincpu.mb@1CD2 = 66</action>
            <action>maincpu.mb@2AB4 = 67</action>
            <action>maincpu.mb@68BA = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@47D3 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@47D3 = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0004">02       </item>
            <item value="0x0008">03       </item>
            <item value="0x000c">04       </item>
            <item value="0x0012">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@04978 = 4EB9000200004E71</action>
            <action>maincpu.mq@20000 = 41F9000300044A68</action>
            <action>maincpu.mq@20008 = FFFE66FA30FC0006</action>
            <action>maincpu.mq@20010 = 30EE000430EE0006</action>
            <action>maincpu.mq@20018 = 30EE000C30BC0000</action>
            <action>maincpu.mq@20020 = 317C0001FFF633FC</action>
            <action>maincpu.mq@20028 = 00000007800A33FC</action>
            <action>maincpu.mq@20030 = 00010007800A4A68</action>
            <action>maincpu.mq@20038 = FFF666FA2D680012</action>
            <action>maincpu.mq@20040 = 0004363C93004E75</action>
            <!--
            20000 | 41F9 0003 0004      : lea     $30004.l, A0
            20006 | 4A68 FFFE           : tst.w   (-$2,A0)
            2000A | 66FA                : bne     $20006
            2000C | 30FC 0006           : move.w  #$6, (A0)+
            20010 | 30EE 0004           : move.w  ($4,A6), (A0)+
            20014 | 30EE 0006           : move.w  ($6,A6), (A0)+
            20018 | 30EE 000C           : move.w  ($c,A6), (A0)+
            2001C | 30BC xxxx           : move.w  #$xx, (A0)
            20020 | 317C 0001 FFF6      : move.w  #$1, (-$a,A0)
            20026 | 33FC 0000 0007 800A : move.w  #$0, $7800a.l
            2002E | 33FC 0001 0007 800A : move.w  #$1, $7800a.l
            20036 | 4A68 FFF6           : tst.w   (-$a,A0)
            2003A | 66FA                : bne     $20036
            2003C | 2D68 0012 0004      : move.l  ($12,A0), ($4,A6)
            20042 | 363C 9300           : move.w  #$9300, D3
            20046 | 4E75                : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@2001E = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@04978 = 6100D3E8363C9300</action>
            <action>maincpu.mq@20000 = 0000000000000000</action>
            <action>maincpu.mq@20008 = 0000000000000000</action>
            <action>maincpu.mq@20010 = 0000000000000000</action>
            <action>maincpu.mq@20018 = 0000000000000000</action>
            <action>maincpu.mq@20020 = 0000000000000000</action>
            <action>maincpu.mq@20028 = 0000000000000000</action>
            <action>maincpu.mq@20030 = 0000000000000000</action>
            <action>maincpu.mq@20038 = 0000000000000000</action>
            <action>maincpu.mq@20040 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x19">02       </item>
            <item value="0x32">03       </item>
            <item value="0x4b">04       </item>
            <item value="0x64">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4D2B = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4D2B = 19</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.md@0A242 = 00020050        </action>
            <action>maincpu.mq@20050 = 41F90003100043F9</action>
            <action>maincpu.mq@20058 = 0007A00112001039</action>
            <action>maincpu.mq@20060 = 00078005B20067F4</action>
            <action>maincpu.mq@20068 = 0C00000466025310</action>
            <action>maincpu.mq@20070 = 0C00000866025210</action>
            <action>maincpu.mq@20078 = 0C00000266040410</action>
            <action>maincpu.mq@20080 = 00100C0000016604</action>
            <action>maincpu.mq@20088 = 061000100C000010</action>
            <action>maincpu.mq@20090 = 660212900C000020</action>
            <action>maincpu.mq@20098 = 660412BC00FE60BC</action>
            <!--
            20050 | 41F9 0003 1000 : lea     $31000.l, A0 // sound code address
            20056 | 43F9 0007 A001 : lea     $7a001.l, A1 // sound latch address
            2005C | 1200           : move.b  D0, D1
            2005E | 1039 0007 8005 : move.b  $78005.l, D0 // read input
            20064 | B200           : cmp.b   D0, D1
            20066 | 67F4           : beq     $2005c
            20068 | 0C00 0004      : cmpi.b  #$4, D0
            2006C | 6602           : bne     $20070
            2006E | 5310           : subq.b  #1, (A0)     // decrease code -01
            20070 | 0C00 0008      : cmpi.b  #$8, D0
            20074 | 6602           : bne     $20078
            20076 | 5210           : addq.b  #1, (A0)     // increase code +01
            20078 | 0C00 0002      : cmpi.b  #$2, D0
            2007C | 6604           : bne     $20082
            2007E | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            20082 | 0C00 0001      : cmpi.b  #$1, D0
            20086 | 6604           : bne     $2008c
            20088 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2008C | 0C00 0010      : cmpi.b  #$10, D0
            20090 | 6602           : bne     $20094
            20092 | 1290           : move.b  (A0), (A1)   // play sound
            20094 | 0C00 0020      : cmpi.b  #$20, D0
            20098 | 6604           : bne     $2009e
            2009A | 12BC 00FE      : move.b  #$fe, (A1)   // stop sound
            2009E | 60BC           : bra     $2005c
            -->
        </script>
        <script state="run">
            <output format="----- flying 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 %2.2X &gt;&gt;"       line="19" align="center"  >
                <argument>maincpu.pb@31000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0A242 = 000026FC        </action>
            <action>maincpu.mq@20050 = 0000000000000000</action>
            <action>maincpu.mq@20058 = 0000000000000000</action>
            <action>maincpu.mq@20060 = 0000000000000000</action>
            <action>maincpu.mq@20068 = 0000000000000000</action>
            <action>maincpu.mq@20070 = 0000000000000000</action>
            <action>maincpu.mq@20078 = 0000000000000000</action>
            <action>maincpu.mq@20080 = 0000000000000000</action>
            <action>maincpu.mq@20088 = 0000000000000000</action>
            <action>maincpu.mq@20090 = 0000000000000000</action>
            <action>maincpu.mq@20098 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@A24E = 013A</action> <!-- boot -->
            <action>maincpu.mw@0BA0 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@1A66 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@3244 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@42DC = 4E75</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@A24E = 0122</action>
            <action>maincpu.mw@0BA0 = 41F9</action>
            <action>maincpu.mw@1A66 = 41F9</action>
            <action>maincpu.mw@3244 = 41F9</action>
            <action>maincpu.mw@42DC = 41F9</action>
        </script>
    </cheat>

</mamecheat>
fnshark.xml

Code: Select all

<!-- Flyin' Shark (bootleg of Hishou Zame) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1CBA = 60</action> <!-- bullet -->
            <action>maincpu.mb@2A92 = 60</action> <!-- enemy -->
            <action>maincpu.mb@681E = 60</action> <!-- boss -->
        </script>
        <script state="off">
            <action>maincpu.mb@1CBA = 66</action>
            <action>maincpu.mb@2A92 = 67</action>
            <action>maincpu.mb@681E = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@4737 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4737 = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0004">02       </item>
            <item value="0x0008">03       </item>
            <item value="0x000c">04       </item>
            <item value="0x0012">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@048DC = 4EB9000200004E71</action>
            <action>maincpu.mq@20000 = 41F9000300044A68</action>
            <action>maincpu.mq@20008 = FFFE66FA30FC0006</action>
            <action>maincpu.mq@20010 = 30EE000430EE0006</action>
            <action>maincpu.mq@20018 = 30EE000C30BC0000</action>
            <action>maincpu.mq@20020 = 317C0001FFF633FC</action>
            <action>maincpu.mq@20028 = 00000007800A33FC</action>
            <action>maincpu.mq@20030 = 00010007800A4A68</action>
            <action>maincpu.mq@20038 = FFF666FA2D680012</action>
            <action>maincpu.mq@20040 = 0004363C93004E75</action>
            <!--
            20000 | 41F9 0003 0004      : lea     $30004.l, A0
            20006 | 4A68 FFFE           : tst.w   (-$2,A0)
            2000A | 66FA                : bne     $20006
            2000C | 30FC 0006           : move.w  #$6, (A0)+
            20010 | 30EE 0004           : move.w  ($4,A6), (A0)+
            20014 | 30EE 0006           : move.w  ($6,A6), (A0)+
            20018 | 30EE 000C           : move.w  ($c,A6), (A0)+
            2001C | 30BC xxxx           : move.w  #$xx, (A0)
            20020 | 317C 0001 FFF6      : move.w  #$1, (-$a,A0)
            20026 | 33FC 0000 0007 800A : move.w  #$0, $7800a.l
            2002E | 33FC 0001 0007 800A : move.w  #$1, $7800a.l
            20036 | 4A68 FFF6           : tst.w   (-$a,A0)
            2003A | 66FA                : bne     $20036
            2003C | 2D68 0012 0004      : move.l  ($12,A0), ($4,A6)
            20042 | 363C 9300           : move.w  #$9300, D3
            20046 | 4E75                : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@2001E = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@048DC = 6100D46C363C9300</action>
            <action>maincpu.mq@20000 = 0000000000000000</action>
            <action>maincpu.mq@20008 = 0000000000000000</action>
            <action>maincpu.mq@20010 = 0000000000000000</action>
            <action>maincpu.mq@20018 = 0000000000000000</action>
            <action>maincpu.mq@20020 = 0000000000000000</action>
            <action>maincpu.mq@20028 = 0000000000000000</action>
            <action>maincpu.mq@20030 = 0000000000000000</action>
            <action>maincpu.mq@20038 = 0000000000000000</action>
            <action>maincpu.mq@20040 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x19">02       </item>
            <item value="0x32">03       </item>
            <item value="0x4b">04       </item>
            <item value="0x64">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4C8F = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4C8F = 19</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.md@0A1A6 = 00020050        </action>
            <action>maincpu.mq@20050 = 41F90003100043F9</action>
            <action>maincpu.mq@20058 = 0007A00112001039</action>
            <action>maincpu.mq@20060 = 00078005B20067F4</action>
            <action>maincpu.mq@20068 = 0C00000466025310</action>
            <action>maincpu.mq@20070 = 0C00000866025210</action>
            <action>maincpu.mq@20078 = 0C00000266040410</action>
            <action>maincpu.mq@20080 = 00100C0000016604</action>
            <action>maincpu.mq@20088 = 061000100C000010</action>
            <action>maincpu.mq@20090 = 660212900C000020</action>
            <action>maincpu.mq@20098 = 660412BC00FE60BC</action>
            <!--
            20050 | 41F9 0003 1000 : lea     $31000.l, A0 // sound code address
            20056 | 43F9 0007 A001 : lea     $7a001.l, A1 // sound latch address
            2005C | 1200           : move.b  D0, D1
            2005E | 1039 0007 8005 : move.b  $78005.l, D0 // read input
            20064 | B200           : cmp.b   D0, D1
            20066 | 67F4           : beq     $2005c
            20068 | 0C00 0004      : cmpi.b  #$4, D0
            2006C | 6602           : bne     $20070
            2006E | 5310           : subq.b  #1, (A0)     // decrease code -01
            20070 | 0C00 0008      : cmpi.b  #$8, D0
            20074 | 6602           : bne     $20078
            20076 | 5210           : addq.b  #1, (A0)     // increase code +01
            20078 | 0C00 0002      : cmpi.b  #$2, D0
            2007C | 6604           : bne     $20082
            2007E | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            20082 | 0C00 0001      : cmpi.b  #$1, D0
            20086 | 6604           : bne     $2008c
            20088 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2008C | 0C00 0010      : cmpi.b  #$10, D0
            20090 | 6602           : bne     $20094
            20092 | 1290           : move.b  (A0), (A1)   // play sound
            20094 | 0C00 0020      : cmpi.b  #$20, D0
            20098 | 6604           : bne     $2009e
            2009A | 12BC 00FE      : move.b  #$fe, (A1)   // stop sound
            2009E | 60BC           : bra     $2005c
            -->
        </script>
        <script state="run">
            <output format="----- flyin' 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 %2.2X &gt;&gt;"       line="19" align="center"  >
                <argument>maincpu.pb@31000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0A1A6 = 000026DC        </action>
            <action>maincpu.mq@20050 = 0000000000000000</action>
            <action>maincpu.mq@20058 = 0000000000000000</action>
            <action>maincpu.mq@20060 = 0000000000000000</action>
            <action>maincpu.mq@20068 = 0000000000000000</action>
            <action>maincpu.mq@20070 = 0000000000000000</action>
            <action>maincpu.mq@20078 = 0000000000000000</action>
            <action>maincpu.mq@20080 = 0000000000000000</action>
            <action>maincpu.mq@20088 = 0000000000000000</action>
            <action>maincpu.mq@20090 = 0000000000000000</action>
            <action>maincpu.mq@20098 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@A1B2 = 013A</action> <!-- boot -->
            <action>maincpu.mw@0BA0 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@1A4E = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@3222 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@4240 = 4E75</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@A356 = 0122</action>
            <action>maincpu.mw@0BBE = 41F9</action>
            <action>maincpu.mw@1A86 = 41F9</action>
            <action>maincpu.mw@325A = 41F9</action>
            <action>maincpu.mw@4240 = 41F9</action>
        </script>
    </cheat>

</mamecheat>
skysharkb.xml

Code: Select all

<!-- Sky Shark (bootleg) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1CBA = 60</action> <!-- bullet -->
            <action>maincpu.mb@2A92 = 60</action> <!-- enemy -->
            <action>maincpu.mb@681E = 60</action> <!-- boss -->
        </script>
        <script state="off">
            <action>maincpu.mb@1CBA = 66</action>
            <action>maincpu.mb@2A92 = 67</action>
            <action>maincpu.mb@681E = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@4737 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4737 = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0001">01 (slow)</item>
            <item value="0x0004">02       </item>
            <item value="0x0008">03       </item>
            <item value="0x000c">04       </item>
            <item value="0x0012">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mq@048DC = 4EB9000200004E71</action>
            <action>maincpu.mq@20000 = 41F9000300044A68</action>
            <action>maincpu.mq@20008 = FFFE66FA30FC0006</action>
            <action>maincpu.mq@20010 = 30EE000430EE0006</action>
            <action>maincpu.mq@20018 = 30EE000C30BC0000</action>
            <action>maincpu.mq@20020 = 317C0001FFF633FC</action>
            <action>maincpu.mq@20028 = 00000007800A33FC</action>
            <action>maincpu.mq@20030 = 00010007800A4A68</action>
            <action>maincpu.mq@20038 = FFF666FA2D680012</action>
            <action>maincpu.mq@20040 = 0004363C93004E75</action>
            <!--
            20000 | 41F9 0003 0004      : lea     $30004.l, A0
            20006 | 4A68 FFFE           : tst.w   (-$2,A0)
            2000A | 66FA                : bne     $20006
            2000C | 30FC 0006           : move.w  #$6, (A0)+
            20010 | 30EE 0004           : move.w  ($4,A6), (A0)+
            20014 | 30EE 0006           : move.w  ($6,A6), (A0)+
            20018 | 30EE 000C           : move.w  ($c,A6), (A0)+
            2001C | 30BC xxxx           : move.w  #$xx, (A0)
            20020 | 317C 0001 FFF6      : move.w  #$1, (-$a,A0)
            20026 | 33FC 0000 0007 800A : move.w  #$0, $7800a.l
            2002E | 33FC 0001 0007 800A : move.w  #$1, $7800a.l
            20036 | 4A68 FFF6           : tst.w   (-$a,A0)
            2003A | 66FA                : bne     $20036
            2003C | 2D68 0012 0004      : move.l  ($12,A0), ($4,A6)
            20042 | 363C 9300           : move.w  #$9300, D3
            20046 | 4E75                : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@2001E = param</action>
        </script>
        <script state="off">
            <action>maincpu.mq@048DC = 6100D46C363C9300</action>
            <action>maincpu.mq@20000 = 0000000000000000</action>
            <action>maincpu.mq@20008 = 0000000000000000</action>
            <action>maincpu.mq@20010 = 0000000000000000</action>
            <action>maincpu.mq@20018 = 0000000000000000</action>
            <action>maincpu.mq@20020 = 0000000000000000</action>
            <action>maincpu.mq@20028 = 0000000000000000</action>
            <action>maincpu.mq@20030 = 0000000000000000</action>
            <action>maincpu.mq@20038 = 0000000000000000</action>
            <action>maincpu.mq@20040 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x19">02       </item>
            <item value="0x32">03       </item>
            <item value="0x4b">04       </item>
            <item value="0x64">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4C8F = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4C8F = 19</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.md@0A1A6 = 00020050        </action>
            <action>maincpu.mq@20050 = 41F90003100043F9</action>
            <action>maincpu.mq@20058 = 0007A00112001039</action>
            <action>maincpu.mq@20060 = 00078005B20067F4</action>
            <action>maincpu.mq@20068 = 0C00000466025310</action>
            <action>maincpu.mq@20070 = 0C00000866025210</action>
            <action>maincpu.mq@20078 = 0C00000266040410</action>
            <action>maincpu.mq@20080 = 00100C0000016604</action>
            <action>maincpu.mq@20088 = 061000100C000010</action>
            <action>maincpu.mq@20090 = 660212900C000020</action>
            <action>maincpu.mq@20098 = 660412BC00FE60BC</action>
            <!--
            20050 | 41F9 0003 1000 : lea     $31000.l, A0 // sound code address
            20056 | 43F9 0007 A001 : lea     $7a001.l, A1 // sound latch address
            2005C | 1200           : move.b  D0, D1
            2005E | 1039 0007 8005 : move.b  $78005.l, D0 // read input
            20064 | B200           : cmp.b   D0, D1
            20066 | 67F4           : beq     $2005c
            20068 | 0C00 0004      : cmpi.b  #$4, D0
            2006C | 6602           : bne     $20070
            2006E | 5310           : subq.b  #1, (A0)     // decrease code -01
            20070 | 0C00 0008      : cmpi.b  #$8, D0
            20074 | 6602           : bne     $20078
            20076 | 5210           : addq.b  #1, (A0)     // increase code +01
            20078 | 0C00 0002      : cmpi.b  #$2, D0
            2007C | 6604           : bne     $20082
            2007E | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            20082 | 0C00 0001      : cmpi.b  #$1, D0
            20086 | 6604           : bne     $2008c
            20088 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            2008C | 0C00 0010      : cmpi.b  #$10, D0
            20090 | 6602           : bne     $20094
            20092 | 1290           : move.b  (A0), (A1)   // play sound
            20094 | 0C00 0020      : cmpi.b  #$20, D0
            20098 | 6604           : bne     $2009e
            2009A | 12BC 00FE      : move.b  #$fe, (A1)   // stop sound
            2009E | 60BC           : bra     $2005c
            -->
        </script>
        <script state="run">
            <output format="----- sky 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 %2.2X &gt;&gt;"    line="19" align="center"  >
                <argument>maincpu.pb@31000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0A1A6 = 000026DC        </action>
            <action>maincpu.mq@20050 = 0000000000000000</action>
            <action>maincpu.mq@20058 = 0000000000000000</action>
            <action>maincpu.mq@20060 = 0000000000000000</action>
            <action>maincpu.mq@20068 = 0000000000000000</action>
            <action>maincpu.mq@20070 = 0000000000000000</action>
            <action>maincpu.mq@20078 = 0000000000000000</action>
            <action>maincpu.mq@20080 = 0000000000000000</action>
            <action>maincpu.mq@20088 = 0000000000000000</action>
            <action>maincpu.mq@20090 = 0000000000000000</action>
            <action>maincpu.mq@20098 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mw@A1B2 = 013A</action> <!-- boot -->
            <action>maincpu.mw@0BA0 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@1A4E = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@3222 = 4E75</action> <!-- ingame -->
            <action>maincpu.mw@4240 = 4E75</action> <!-- ingame -->
        </script>
        <script state="off">
            <action>maincpu.mb@A1B2 = 0122</action>
            <action>maincpu.mw@0BA0 = 41F9</action>
            <action>maincpu.mw@1A4E = 41F9</action>
            <action>maincpu.mw@3222 = 41F9</action>
            <action>maincpu.mw@4240 = 41F9</action>
        </script>
    </cheat>

</mamecheat>
  • "player speed" : Rewritten routine. No longer check take-off/landing flags.
  • "sound test mode" : Rewritten routine.
  • "skip rom check" : Changed from "skip rom error".
Post Reply