Page 1 of 1

[gulfstrm] Gulf Storm

Posted: Sat Jun 03, 2023 10:37 am
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>

[gulfstrm]+ Gulf Storm

Posted: Sat Feb 03, 2024 11:45 pm
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>