[gulfstrm] Gulf Storm

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: 870
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 1 time

[gulfstrm] Gulf Storm

Post by jman »

Code: Select all

<!-- Gulf Storm (set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1ae8 = ea</action> <!-- P1 background -->
            <action>maincpu.mb@1ec7 = ea</action> <!-- P2 background -->
            <action>maincpu.mb@2853 = 00</action> <!-- P1 bullet -->
            <action>maincpu.mb@286c = 00</action> <!-- P2 bullet -->
            <action>maincpu.mb@2960 = 40</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@1ae8 = 57</action>
            <action>maincpu.mb@1ec7 = 57</action>
            <action>maincpu.mb@2853 = 22</action>
            <action>maincpu.mb@286c = 09</action>
            <action>maincpu.mb@2960 = 05</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@37c7 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@37c7 = ec</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@1ad3 =      param</action> <!-- P1 -->
            <action>maincpu.mb@1eaf = 80 + param</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@1ad3 = 03</action>
            <action>maincpu.mb@1eaf = 83</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x04">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x10">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@23d4 =             7c80</action>
            <action>maincpu.mw@2419 =             7c80</action>
            <action>maincpu.mq@7c80 = 30d6fe1238d2fe7c</action>
            <action>maincpu.mq@7c88 = 0628013ea71a130e</action>
            <action>maincpu.mq@7c90 = cd1b1244ed7c95f2</action>
            <action>maincpu.mq@7c98 = ffffffffffc9361c</action>
            <!--
            7c80 | 7c       : ld   a,h
            7c81 | fe d2    : cp   $D2
            7c83 | 38 12    : jr   c,$7C97
            7c85 | fe d6    : cp   $D6
            7c87 | 30 0e    : jr   nc,$7C97
            7c89 | 13       : inc  de
            7c8a | 1a       : ld   a,(de)
            7c8b | a7       : and  a
            7c8c | 3e xx    : ld   a,$xx
            7c8e | 28 06    : jr   z,$7C96
            7c90 | f2 95 7c : jp   p,$7C95
            7c93 | ed 44    : neg
            7c95 | 12       : ld   (de),a
            7c96 | 1b       : dec  de
            7c97 | cd 1c 36 : call $361C
            7c9a | c9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@7c8d = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@23d4 =             361c</action>
            <action>maincpu.mw@2419 =             361c</action>
            <action>maincpu.mq@7c80 = ffffffffffffffff</action>
            <action>maincpu.mq@7c88 = ffffffffffffffff</action>
            <action>maincpu.mq@7c90 = ffffffffffffffff</action>
            <action>maincpu.mq@7c98 = ffffffffffffffff</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@3d0c =             7ca0</action>
            <action>maincpu.mq@7ca0 = 47b8f0033ac10021</action>
            <action>maincpu.mq@7ca8 = fe350120fdfef928</action>
            <action>maincpu.mq@7cb0 = 0420fbfe340120fe</action>
            <action>maincpu.mq@7cb8 = 0520f7fe0618f03e</action>
            <action>maincpu.mq@7cc0 = 20effe787786103e</action>
            <action>maincpu.mq@7cc8 = 0420dffe05187e03</action>
            <action>maincpu.mq@7cd0 = ffffcd18f01032af</action>
            <!--
            7ca0 | 21 00 c1 : ld  hl,$C100  // sound code address
            7ca3 | 3a 03 f0 : ld  a,($F003) // read input
            7ca6 | b8       : cp  b
            7ca7 | 47       : ld  b,a
            7ca8 | 28 f9    : jr  z,$7CA3
            7caa | fe fd    : cp  $FD
            7cac | 20 01    : jr  nz,$7CAF
            7cae | 35       : dec (hl)      // decrease code -01
            7caf | fe fe    : cp  $FE
            7cb1 | 20 01    : jr  nz,$7CB4
            7cb3 | 34       : inc (hl)      // increase code +01
            7cb4 | fe fb    : cp  $FB
            7cb6 | 20 04    : jr  nz,$7CBC
            7cb8 | 3e f0    : ld  a,$F0     // decrease code -10
            7cba | 18 06    : jr  $7CC2
            7cbc | fe f7    : cp  $F7
            7cbe | 20 05    : jr  nz,$7CC5
            7cc0 | 3e 10    : ld  a,$10     // increase code +10
            7cc2 | 86       : add a,(hl)
            7cc3 | 77       : ld  (hl),a
            7cc4 | 78       : ld  a,b
            7cc5 | fe ef    : cp  $EF
            7cc7 | 20 03    : jr  nz,$7CCC
            7cc9 | 7e       : ld  a,(hl)    // play sound
            7cca | 18 05    : jr  $7CD1
            7ccc | fe df    : cp  $DF
            7cce | 20 04    : jr  nz,$7CD4
            7cd0 | af       : xor a         // stop sound
            7cd1 | 32 10 f0 : ld  ($F010),a // send sound code
            7cd4 | 18 cd    : jr  $7CA3
            -->
        </script>
        <script state="run">
            <output format="----- gulf storm 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@c100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@3d0c =             3d5e</action>
            <action>maincpu.mq@7ca0 = ffffffffffffffff</action>
            <action>maincpu.mq@7ca8 = ffffffffffffffff</action>
            <action>maincpu.mq@7cb0 = ffffffffffffffff</action>
            <action>maincpu.mq@7cb8 = ffffffffffffffff</action>
            <action>maincpu.mq@7cc0 = ffffffffffffffff</action>
            <action>maincpu.mq@7cc8 = ffffffffffffffff</action>
            <action>maincpu.mq@7cd0 = ffffffffffffffff</action>
        </script>
    </cheat>

</mamecheat>
jman
Posts: 870
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 1 time

[gulfstrm]+ Gulf Storm

Post by jman »

gulfstrm.xml

Code: Select all

<!-- Gulf Storm (set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1AE8 = EA</action> <!-- P1 background -->
            <action>maincpu.mb@1EC7 = EA</action> <!-- P2 background -->
            <action>maincpu.mb@2853 = 00</action> <!-- P1 bullet -->
            <action>maincpu.mb@286C = 00</action> <!-- P2 bullet -->
            <action>maincpu.mb@2960 = 40</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@1AE8 = 57</action>
            <action>maincpu.mb@1EC7 = 57</action>
            <action>maincpu.mb@2853 = 22</action>
            <action>maincpu.mb@286C = 09</action>
            <action>maincpu.mb@2960 = 05</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@37C7 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@37C7 = EC</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@1AD3 =      param</action> <!-- P1 -->
            <action>maincpu.mb@1EAF = 80 + param</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@1AD3 = 03</action>
            <action>maincpu.mb@1EAF = 83</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x04">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x10">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@23D4 = 7C80            </action>
            <action>maincpu.mw@2419 = 7C80            </action>
            <action>maincpu.mq@7C80 = 30D6FE1238D2FE7C</action>
            <action>maincpu.mq@7C88 = 0628013EA71A130E</action>
            <action>maincpu.mq@7C90 = CD1B1244ED7C95F2</action>
            <action>maincpu.mq@7C98 = FFFFFFFFFFC9361C</action>
            <!--
            7C80 | 7C       : ld   a,h
            7C81 | FE D2    : cp   $D2
            7C83 | 38 12    : jr   c,$7C97
            7C85 | FE D6    : cp   $D6
            7C87 | 30 0E    : jr   nc,$7C97
            7C89 | 13       : inc  de
            7C8A | 1A       : ld   a,(de)
            7C8B | A7       : and  a
            7C8C | 3E xx    : ld   a,$xx
            7C8E | 28 06    : jr   z,$7C96
            7C90 | F2 95 7C : jp   p,$7C95
            7C93 | ED 44    : neg
            7C95 | 12       : ld   (de),a
            7C96 | 1B       : dec  de
            7C97 | CD 1C 36 : call $361C
            7C9A | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@7C8D = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@23D4 = 361C            </action>
            <action>maincpu.mw@2419 = 361C            </action>
            <action>maincpu.mq@7C80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C98 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@3D0C = 7CA0            </action>
            <action>maincpu.mq@7CA0 = 47B8F0033AC00021</action>
            <action>maincpu.mq@7CA8 = FE350120FDFEF928</action>
            <action>maincpu.mq@7CB0 = 0420FBFE340120FE</action>
            <action>maincpu.mq@7CB8 = 0520F7FE0618F03E</action>
            <action>maincpu.mq@7CC0 = 20EFFE787786103E</action>
            <action>maincpu.mq@7CC8 = 0420DFFE05187E03</action>
            <action>maincpu.mq@7CD0 = FFFFCD18F01032AF</action>
            <!--
            7CA0 | 21 00 C0 : ld   hl,$C000  // sound code address
            7CA3 | 3A 03 F0 : ld   a,($F003) // read input
            7CA6 | B8       : cp   b
            7CA7 | 47       : ld   b,a
            7CA8 | 28 F9    : jr   z,$7CA3
            7CAA | FE FD    : cp   $FD
            7CAC | 20 01    : jr   nz,$7CAF
            7CAE | 35       : dec  (hl)      // decrease code -01
            7CAF | FE FE    : cp   $FE
            7CB1 | 20 01    : jr   nz,$7CB4
            7CB3 | 34       : inc  (hl)      // increase code +01
            7CB4 | FE FB    : cp   $FB
            7CB6 | 20 04    : jr   nz,$7CBC
            7CB8 | 3E F0    : ld   a,$F0     // decrease code -10
            7CBA | 18 06    : jr   $7CC2
            7CBC | FE F7    : cp   $F7
            7CBE | 20 05    : jr   nz,$7CC5
            7CC0 | 3E 10    : ld   a,$10     // increase code +10
            7CC2 | 86       : add  a,(hl)
            7CC3 | 77       : ld   (hl),a
            7CC4 | 78       : ld   a,b
            7CC5 | FE EF    : cp   $EF
            7CC7 | 20 03    : jr   nz,$7CCC
            7CC9 | 7E       : ld   a,(hl)    // play sound
            7CCA | 18 05    : jr   $7CD1
            7CCC | FE DF    : cp   $DF
            7CCE | 20 04    : jr   nz,$7CD4
            7CD0 | AF       : xor  a         // stop sound
            7CD1 | 32 10 F0 : ld   ($F010),a // send sound code
            7CD4 | 18 CD    : jr   $7CA3
            -->
        </script>
        <script state="run">
            <output format="----- gulf storm 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@3D0C = 3D5E            </action>
            <action>maincpu.mq@7CA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
gulfstrma.xml

Code: Select all

<!-- Gulf Storm (set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@1B19 = 2768</action> <!-- P1 background -->
            <action>maincpu.mw@1F2D = 2768</action> <!-- P2 background -->
            <action>maincpu.mw@28D0 = 0038</action> <!-- P1 bullet -->
            <action>maincpu.mw@28E9 = 0038</action> <!-- P2 bullet -->
            <action>maincpu.mw@29DD = 4028</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mw@1B19 = 26D5</action>
            <action>maincpu.mw@1F2D = 26D5</action>
            <action>maincpu.mw@28D0 = 2238</action>
            <action>maincpu.mw@28E9 = 0938</action>
            <action>maincpu.mw@29DD = 0528</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@3845 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3845 = EC</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@1AFE =      param</action> <!-- P1 -->
            <action>maincpu.mb@1F0F = 80 + param</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@1AFE = 03</action>
            <action>maincpu.mb@1F0F = 83</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x04">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x10">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@245E = 7C80            </action>
            <action>maincpu.mw@24A3 = 7C80            </action>
            <action>maincpu.mq@7C80 = 30D6FE1238D2FE7C</action>
            <action>maincpu.mq@7C88 = 0628013EA71A130E</action>
            <action>maincpu.mq@7C90 = CD1B1244ED7C95F2</action>
            <action>maincpu.mq@7C98 = FFFFFFFFFFC9369A</action>
            <!--
            7C80 | 7C       : ld   a,h
            7C81 | FE D2    : cp   $D2
            7C83 | 38 12    : jr   c,$7C97
            7C85 | FE D6    : cp   $D6
            7C87 | 30 0E    : jr   nc,$7C97
            7C89 | 13       : inc  de
            7C8A | 1A       : ld   a,(de)
            7C8B | A7       : and  a
            7C8C | 3E xx    : ld   a,$xx
            7C8E | 28 06    : jr   z,$7C96
            7C90 | F2 95 7C : jp   p,$7C95
            7C93 | ED 44    : neg
            7C95 | 12       : ld   (de),a
            7C96 | 1B       : dec  de
            7C97 | CD 9A 36 : call $369A
            7C9A | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@7C8D = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@245E = 369A            </action>
            <action>maincpu.mw@24A3 = 369A            </action>
            <action>maincpu.mq@7C80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C98 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@3D8A = 7CA0            </action>
            <action>maincpu.mq@7CA0 = 47B8F0033AC00021</action>
            <action>maincpu.mq@7CA8 = FE350120FDFEF928</action>
            <action>maincpu.mq@7CB0 = 0420FBFE340120FE</action>
            <action>maincpu.mq@7CB8 = 0520F7FE0618F03E</action>
            <action>maincpu.mq@7CC0 = 20EFFE787786103E</action>
            <action>maincpu.mq@7CC8 = 0420DFFE05187E03</action>
            <action>maincpu.mq@7CD0 = FFFFCD18F01032AF</action>
            <!--
            7CA0 | 21 00 C0 : ld   hl,$C000  // sound code address
            7CA3 | 3A 03 F0 : ld   a,($F003) // read input
            7CA6 | B8       : cp   b
            7CA7 | 47       : ld   b,a
            7CA8 | 28 F9    : jr   z,$7CA3
            7CAA | FE FD    : cp   $FD
            7CAC | 20 01    : jr   nz,$7CAF
            7CAE | 35       : dec  (hl)      // decrease code -01
            7CAF | FE FE    : cp   $FE
            7CB1 | 20 01    : jr   nz,$7CB4
            7CB3 | 34       : inc  (hl)      // increase code +01
            7CB4 | FE FB    : cp   $FB
            7CB6 | 20 04    : jr   nz,$7CBC
            7CB8 | 3E F0    : ld   a,$F0     // decrease code -10
            7CBA | 18 06    : jr   $7CC2
            7CBC | FE F7    : cp   $F7
            7CBE | 20 05    : jr   nz,$7CC5
            7CC0 | 3E 10    : ld   a,$10     // increase code +10
            7CC2 | 86       : add  a,(hl)
            7CC3 | 77       : ld   (hl),a
            7CC4 | 78       : ld   a,b
            7CC5 | FE EF    : cp   $EF
            7CC7 | 20 03    : jr   nz,$7CCC
            7CC9 | 7E       : ld   a,(hl)    // play sound
            7CCA | 18 05    : jr   $7CD1
            7CCC | FE DF    : cp   $DF
            7CCE | 20 04    : jr   nz,$7CD4
            7CD0 | AF       : xor  a         // stop sound
            7CD1 | 32 10 F0 : ld   ($F010),a // send sound code
            7CD4 | 18 CD    : jr   $7CA3
            -->
        </script>
        <script state="run">
            <output format="----- gulf storm 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@3D8A = 3DDC            </action>
            <action>maincpu.mq@7CA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
gulfstrmb.xml

Code: Select all

<!-- Gulf Storm (set 3) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@1B2F = 277E</action> <!-- P1 background -->
            <action>maincpu.mw@1F43 = 277E</action> <!-- P2 background -->
            <action>maincpu.mw@28E6 = 0038</action> <!-- P1 bullet -->
            <action>maincpu.mw@28FF = 0038</action> <!-- P2 bullet -->
            <action>maincpu.mw@29F3 = 4028</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mw@1B2F = 26EB</action>
            <action>maincpu.mw@1F43 = 26EB</action>
            <action>maincpu.mw@28E6 = 2238</action>
            <action>maincpu.mw@28FF = 0938</action>
            <action>maincpu.mw@29F3 = 0528</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@385B = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@385B = EC</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@1B14 =      param</action> <!-- P1 -->
            <action>maincpu.mb@1F25 = 80 + param</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@1B14 = 03</action>
            <action>maincpu.mb@1F25 = 83</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x04">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x10">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@2474 = 7D80            </action>
            <action>maincpu.mw@24B9 = 7D80            </action>
            <action>maincpu.mq@7D80 = 30D6FE1238D2FE7C</action>
            <action>maincpu.mq@7D88 = 0628013EA71A130E</action>
            <action>maincpu.mq@7D90 = CD1B1244ED7D95F2</action>
            <action>maincpu.mq@7D98 = FFFFFFFFFFC936B0</action>
            <!--
            7D80 | 7C       : ld   a,h
            7D81 | FE D2    : cp   $D2
            7D83 | 38 12    : jr   c,$7D97
            7D85 | FE D6    : cp   $D6
            7D87 | 30 0E    : jr   nc,$7D97
            7D89 | 13       : inc  de
            7D8A | 1A       : ld   a,(de)
            7D8B | A7       : and  a
            7D8C | 3E xx    : ld   a,$xx
            7D8E | 28 06    : jr   z,$7D96
            7D90 | F2 95 7D : jp   p,$7D95
            7D93 | ED 44    : neg
            7D95 | 12       : ld   (de),a
            7D96 | 1B       : dec  de
            7D97 | CD B0 36 : call $36B0
            7D9A | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@7D8D = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@2474 = 36B0            </action>
            <action>maincpu.mw@24B9 = 36B0            </action>
            <action>maincpu.mq@7D80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7D88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7D90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7D98 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@3DA0 = 7DA0            </action>
            <action>maincpu.mq@7DA0 = 47B8F0033AC00021</action>
            <action>maincpu.mq@7DA8 = FE350120FDFEF928</action>
            <action>maincpu.mq@7DB0 = 0420FBFE340120FE</action>
            <action>maincpu.mq@7DB8 = 0520F7FE0618F03E</action>
            <action>maincpu.mq@7DC0 = 20EFFE787786103E</action>
            <action>maincpu.mq@7DC8 = 0420DFFE05187E03</action>
            <action>maincpu.mq@7DD0 = FFFFCD18F01032AF</action>
            <!--
            7DA0 | 21 00 C0 : ld   hl,$C000  // sound code address
            7DA3 | 3A 03 F0 : ld   a,($F003) // read input
            7DA6 | B8       : cp   b
            7DA7 | 47       : ld   b,a
            7DA8 | 28 F9    : jr   z,$7DA3
            7DAA | FE FD    : cp   $FD
            7DAC | 20 01    : jr   nz,$7DAF
            7DAE | 35       : dec  (hl)      // decrease code -01
            7DAF | FE FE    : cp   $FE
            7DB1 | 20 01    : jr   nz,$7DB4
            7DB3 | 34       : inc  (hl)      // increase code +01
            7DB4 | FE FB    : cp   $FB
            7DB6 | 20 04    : jr   nz,$7DBC
            7DB8 | 3E F0    : ld   a,$F0     // decrease code -10
            7DBA | 18 06    : jr   $7DC2
            7DBC | FE F7    : cp   $F7
            7DBE | 20 05    : jr   nz,$7DC5
            7DC0 | 3E 10    : ld   a,$10     // increase code +10
            7DC2 | 86       : add  a,(hl)
            7DC3 | 77       : ld   (hl),a
            7DC4 | 78       : ld   a,b
            7DC5 | FE EF    : cp   $EF
            7DC7 | 20 03    : jr   nz,$7DCC
            7DC9 | 7E       : ld   a,(hl)    // play sound
            7DCA | 18 05    : jr   $7DD1
            7DCC | FE DF    : cp   $DF
            7DCE | 20 04    : jr   nz,$7DD4
            7DD0 | AF       : xor  a         // stop sound
            7DD1 | 32 10 F0 : ld   ($F010),a // send sound code
            7DD4 | 18 CD    : jr   $7DA3
            -->
        </script>
        <script state="run">
            <output format="----- gulf storm 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@3DA0 = 3DF2            </action>
            <action>maincpu.mq@7DA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7DA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7DB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7DB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7DC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7DC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7DD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
gulfstrmm.xml

Code: Select all

<!-- Gulf Storm (Japan, Media Shoji license) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@1B95 = E4</action> <!-- P1 background -->
            <action>maincpu.mb@1FA9 = E4</action> <!-- P2 background -->
            <action>maincpu.mb@294D = 00</action> <!-- P1 bullet -->
            <action>maincpu.mb@2966 = 00</action> <!-- P2 bullet -->
            <action>maincpu.mb@2A5A = 40</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mb@1B95 = 51</action>
            <action>maincpu.mb@1FA9 = 51</action>
            <action>maincpu.mb@294D = 22</action>
            <action>maincpu.mb@2966 = 09</action>
            <action>maincpu.mb@2A5A = 05</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@38C1 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@38C1 = EC</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@1B7A =      param</action> <!-- P1 -->
            <action>maincpu.mb@1F8B = 80 + param</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@1AD3 = 03</action>
            <action>maincpu.mb@1EAF = 83</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x04">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x10">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@24DA = 7D80            </action>
            <action>maincpu.mw@251F = 7D80            </action>
            <action>maincpu.mq@7D80 = 30D6FE1238D2FE7C</action>
            <action>maincpu.mq@7D88 = 0628013EA71A130E</action>
            <action>maincpu.mq@7D90 = CD1B1244ED7D95F2</action>
            <action>maincpu.mq@7D98 = FFFFFFFFFFC93716</action>
            <!--
            7D80 | 7C       : ld   a,h
            7D81 | FE D2    : cp   $D2
            7D83 | 38 12    : jr   c,$7D97
            7D85 | FE D6    : cp   $D6
            7D87 | 30 0E    : jr   nc,$7D97
            7D89 | 13       : inc  de
            7D8A | 1A       : ld   a,(de)
            7D8B | A7       : and  a
            7D8C | 3E xx    : ld   a,$xx
            7D8E | 28 06    : jr   z,$7D96
            7D90 | F2 95 7D : jp   p,$7D95
            7D93 | ED 44    : neg
            7D95 | 12       : ld   (de),a
            7D96 | 1B       : dec  de
            7D97 | CD 16 37 : call $3716
            7D9A | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@7D8D = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@23D4 = 3716            </action>
            <action>maincpu.mw@2419 = 3716            </action>
            <action>maincpu.mq@7D80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7D88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7D90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7D98 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@3E1B = 7DA0            </action>
            <action>maincpu.mq@7DA0 = 47B8F0033AC00021</action>
            <action>maincpu.mq@7DA8 = FE350120FDFEF928</action>
            <action>maincpu.mq@7DB0 = 0420FBFE340120FE</action>
            <action>maincpu.mq@7DB8 = 0520F7FE0618F03E</action>
            <action>maincpu.mq@7DC0 = 20EFFE787786103E</action>
            <action>maincpu.mq@7DC8 = 0420DFFE05187E03</action>
            <action>maincpu.mq@7DD0 = FFFFCD18F01032AF</action>
            <!--
            7DA0 | 21 00 C0 : ld   hl,$C000  // sound code address
            7DA3 | 3A 03 F0 : ld   a,($F003) // read input
            7DA6 | B8       : cp   b
            7DA7 | 47       : ld   b,a
            7DA8 | 28 F9    : jr   z,$7DA3
            7DAA | FE FD    : cp   $FD
            7DAC | 20 01    : jr   nz,$7DAF
            7DAE | 35       : dec  (hl)      // decrease code -01
            7DAF | FE FE    : cp   $FE
            7DB1 | 20 01    : jr   nz,$7DB4
            7DB3 | 34       : inc  (hl)      // increase code +01
            7DB4 | FE FB    : cp   $FB
            7DB6 | 20 04    : jr   nz,$7DBC
            7DB8 | 3E F0    : ld   a,$F0     // decrease code -10
            7DBA | 18 06    : jr   $7DC2
            7DBC | FE F7    : cp   $F7
            7DBE | 20 05    : jr   nz,$7DC5
            7DC0 | 3E 10    : ld   a,$10     // increase code +10
            7DC2 | 86       : add  a,(hl)
            7DC3 | 77       : ld   (hl),a
            7DC4 | 78       : ld   a,b
            7DC5 | FE EF    : cp   $EF
            7DC7 | 20 03    : jr   nz,$7DCC
            7DC9 | 7E       : ld   a,(hl)    // play sound
            7DCA | 18 05    : jr   $7DD1
            7DCC | FE DF    : cp   $DF
            7DCE | 20 04    : jr   nz,$7DD4
            7DD0 | AF       : xor  a         // stop sound
            7DD1 | 32 10 F0 : ld   ($F010),a // send sound code
            7DD4 | 18 CD    : jr   $7DA3
            -->
        </script>
        <script state="run">
            <output format="----- gulf storm 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@3E1B = 3E6D            </action>
            <action>maincpu.mq@7CA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
gulfstrmk.xml

Code: Select all

<!-- Gulf Storm (Korea) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mw@1B19 = 2768</action> <!-- P1 background -->
            <action>maincpu.mw@1F2D = 2768</action> <!-- P2 background -->
            <action>maincpu.mw@28D0 = 0038</action> <!-- P1 bullet -->
            <action>maincpu.mw@28E9 = 0038</action> <!-- P2 bullet -->
            <action>maincpu.mw@29DD = 4028</action> <!-- enemy -->
        </script>
        <script state="off">
            <action>maincpu.mw@1B19 = 26D5</action>
            <action>maincpu.mw@1F2D = 26D5</action>
            <action>maincpu.mw@28D0 = 2238</action>
            <action>maincpu.mw@28E9 = 0938</action>
            <action>maincpu.mw@29DD = 0528</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@3845 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@3845 = EC</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@1AFE =      param</action> <!-- P1 -->
            <action>maincpu.mb@1F0F = 80 + param</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@1AFE = 03</action>
            <action>maincpu.mb@1F0F = 83</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x04">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x10">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@245E = 7C80            </action>
            <action>maincpu.mw@24A3 = 7C80            </action>
            <action>maincpu.mq@7C80 = 30D6FE1238D2FE7C</action>
            <action>maincpu.mq@7C88 = 0628013EA71A130E</action>
            <action>maincpu.mq@7C90 = CD1B1244ED7C95F2</action>
            <action>maincpu.mq@7C98 = FFFFFFFFFFC9369A</action>
            <!--
            7C80 | 7C       : ld   a,h
            7C81 | FE D2    : cp   $D2
            7C83 | 38 12    : jr   c,$7C97
            7C85 | FE D6    : cp   $D6
            7C87 | 30 0E    : jr   nc,$7C97
            7C89 | 13       : inc  de
            7C8A | 1A       : ld   a,(de)
            7C8B | A7       : and  a
            7C8C | 3E xx    : ld   a,$xx
            7C8E | 28 06    : jr   z,$7C96
            7C90 | F2 95 7C : jp   p,$7C95
            7C93 | ED 44    : neg
            7C95 | 12       : ld   (de),a
            7C96 | 1B       : dec  de
            7C97 | CD 9A 36 : call $369A
            7C9A | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@7C8D = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@245E = 369A            </action>
            <action>maincpu.mw@24A3 = 369A            </action>
            <action>maincpu.mq@7C80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7C98 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@3D8A = 7CA0            </action>
            <action>maincpu.mq@7CA0 = 47B8F0033AC00021</action>
            <action>maincpu.mq@7CA8 = FE350120FDFEF928</action>
            <action>maincpu.mq@7CB0 = 0420FBFE340120FE</action>
            <action>maincpu.mq@7CB8 = 0520F7FE0618F03E</action>
            <action>maincpu.mq@7CC0 = 20EFFE787786103E</action>
            <action>maincpu.mq@7CC8 = 0420DFFE05187E03</action>
            <action>maincpu.mq@7CD0 = FFFFCD18F01032AF</action>
            <!--
            7CA0 | 21 00 C0 : ld   hl,$C000  // sound code address
            7CA3 | 3A 03 F0 : ld   a,($F003) // read input
            7CA6 | B8       : cp   b
            7CA7 | 47       : ld   b,a
            7CA8 | 28 F9    : jr   z,$7CA3
            7CAA | FE FD    : cp   $FD
            7CAC | 20 01    : jr   nz,$7CAF
            7CAE | 35       : dec  (hl)      // decrease code -01
            7CAF | FE FE    : cp   $FE
            7CB1 | 20 01    : jr   nz,$7CB4
            7CB3 | 34       : inc  (hl)      // increase code +01
            7CB4 | FE FB    : cp   $FB
            7CB6 | 20 04    : jr   nz,$7CBC
            7CB8 | 3E F0    : ld   a,$F0     // decrease code -10
            7CBA | 18 06    : jr   $7CC2
            7CBC | FE F7    : cp   $F7
            7CBE | 20 05    : jr   nz,$7CC5
            7CC0 | 3E 10    : ld   a,$10     // increase code +10
            7CC2 | 86       : add  a,(hl)
            7CC3 | 77       : ld   (hl),a
            7CC4 | 78       : ld   a,b
            7CC5 | FE EF    : cp   $EF
            7CC7 | 20 03    : jr   nz,$7CCC
            7CC9 | 7E       : ld   a,(hl)    // play sound
            7CCA | 18 05    : jr   $7CD1
            7CCC | FE DF    : cp   $DF
            7CCE | 20 04    : jr   nz,$7CD4
            7CD0 | AF       : xor  a         // stop sound
            7CD1 | 32 10 F0 : ld   ($F010),a // send sound code
            7CD4 | 18 CD    : jr   $7CA3
            -->
        </script>
        <script state="run">
            <output format="----- gulf storm 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@3D8A = 3DDC            </action>
            <action>maincpu.mq@7CA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CB8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7CD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
Post Reply