[smsj/aliensynj] Alien Syndrome

This forum is for posting cheats for any non-arcade game in M.A.M.E. ( aka the M.E.S.S. games ) including any softwarelist game. Requests will be fulfilled here....but please keep the requests to the requests forum.
Post Reply
jman
Posts: 1315
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[smsj/aliensynj] Alien Syndrome

Post by jman »

Code: Select all

<cheat desc="no hit (wip)">
	<script state="on">
		<action>slot:cart:rom.mb@024bc = 18</action> <!-- object -->
		<action>slot:cart:rom.mb@3dcd2 = 18</action> <!-- floor face ($9cd2) -->
		<action>slot:cart:rom.mb@0211d = 23</action> <!-- background -->
	</script>
	<script state="off">
		<action>slot:cart:rom.mb@024bc = 20</action>
		<action>slot:cart:rom.mb@3dcd2 = 20</action>
		<action>slot:cart:rom.mb@0211d = 0c</action>
	</script>
</cheat>

<cheat desc="auto fire (wip)">
	<script state="on">
		<action>slot:cart:rom.md@196f =         4fbdb0cd</action>
		<action>slot:cart:rom.mq@bdb0 = 573a4fcbc0023a4f</action>
		<action>slot:cart:rom.mq@bdb8 = 0006c5583a0328c5</action>
		<action>slot:cart:rom.mq@bdc0 = b079100602286fcb</action>
		<action>slot:cart:rom.mq@bdc8 = ffffffffc9d5002a</action>
		<!--
		bdb0 | 4f       : ld  c,a
		bdb1 | 3a 02 c0 : ld  a,($c002)
		bdb4 | cb 4f    : bit 1,a
		bdb6 | 3a 57 c5 : ld  a,($c557)
		bdb9 | 28 03    : jr  z,$bdbe
		bdbb | 3a 58 c5 : ld  a,($c558)
		bdbe | 06 00    : ld  b,$00
		bdc0 | cb 6f    : bit 5,a
		bdc2 | 28 02    : jr  z,$bdc6
		bdc4 | 06 10    : ld  b,$10
		bdc6 | 79       : ld  a,c
		bdc7 | b0       : or  b
		bdc8 | 2a 00 d5 : ld  hl,($d500)
		bdcb | c9       : ret
		-->
	</script>
	<script state="off">
		<action>slot:cart:rom.md@196f =         4fd5002a</action>
		<action>slot:cart:rom.mq@bdb0 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@bdb8 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@bdc0 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@bdc8 = ffffffffffffffff</action>
	</script>
</cheat>

<cheat desc="walk through wall (wip)">
	<script state="on">
		<action>slot:cart:rom.mb@171a = 18</action>
	</script>
	<script state="off">
		<action>slot:cart:rom.mb@171a = 20</action>
	</script>
</cheat>

<cheat desc="player speed (wip)">
	<parameter min="0x01" max="0x05" step="0x01" />
	<script state="on">
		<action>slot:cart:rom.mw@1781 =             bdd0</action>
		<action>slot:cart:rom.mq@bdd0 = 77ddbde6cd417edd</action>
		<action>slot:cart:rom.mq@bdd8 = ddbde6cd3f7edd41</action>
		<action>slot:cart:rom.mq@bde0 = c8a7c91a7ccd3f77</action>
		<action>slot:cart:rom.mq@bde8 = ffffc944edf0003e</action>
		<!--
		bdd0 | dd 7e 41 : ld   a,(ix+$41)
		bdd3 | cd e6 bd : call $bde6
		bdd6 | dd 77 41 : ld   (ix+$41),a
		bdd9 | dd 7e 3f : ld   a,(ix+$3f)
		bddc | cd e6 bd : call $bde6
		bddf | dd 77 3f : ld   (ix+$3f),a
		bde2 | cd 7c 1a : call $1a7c
		bde5 | c9       : ret
		bde6 | a7       : and  a
		bde7 | c8       : ret  z
		bde8 | 3e xx    : ld   a,$xx
		bdea | f0       : ret  p
		bdeb | ed 44    : neg
		bded | c9       : ret
		-->
	</script>
	<script state="change">
		<action>slot:cart:rom.mb@bde9 = param</action>
	</script>
	<script state="off">
		<action>slot:cart:rom.mw@1781 =             1a7c</action>
		<action>slot:cart:rom.mq@bdd0 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@bdd8 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@bde0 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@bde8 = ffffffffffffffff</action>
	</script>
</cheat>

<cheat desc="sound test mode (wip)">
	<comment>reset the game (F3) to enter sound test mode</comment>
	<script state="on">
		<action>slot:cart:rom.mb@0245 =               00</action> <!-- accept sound code -->
		<action>slot:cart:rom.mw@0518 =             bd80</action>
		<action>slot:cart:rom.mq@bd80 = 22d5bd8311800021</action>
		<action>slot:cart:rom.mq@bd88 = fec86fbddcdbc100</action>
		<action>slot:cart:rom.mq@bd90 = 0120f7fe250120fb</action>
		<action>slot:cart:rom.mq@bd98 = 05187c0320effe24</action>
		<action>slot:cart:rom.mq@bda0 = d00332ff3ec0dffe</action>
		<action>slot:cart:rom.mq@bda8 = ffffffffffffffc9</action>
		<!--
		bd80 | 21 00 80 : ld   hl,$8000   // initialize sound and input values
		bd83 | 11 83 bd : ld   de,$bd83
		bd86 | d5       : push de
		bd87 | 22 00 c1 : ld   ($c100),hl
		bd8a | db dc    : in   a,($dc)    // read input
		bd8c | bd       : cp   l
		bd8d | 6f       : ld   l,a
		bd8e | c8       : ret  z
		bd8f | fe fb    : cp   $fb
		bd91 | 20 01    : jr   nz,$bd94
		bd93 | 25       : dec  h          // pressed left - code decrement
		bd94 | fe f7    : cp   $f7
		bd96 | 20 01    : jr   nz,$bd99
		bd98 | 24       : inc  h          // pressed right - code increment
		bd99 | fe ef    : cp   $ef
		bd9b | 20 03    : jr   nz,$bda0
		bd9d | 7c       : ld   a,h        // pressed button 1 - play sound
		bd9e | 18 05    : jr   $bda5
		bda0 | fe df    : cp   $df
		bda2 | c0       : ret  nz
		bda3 | 3e ff    : ld   a,$ff      // pressed button 2 - stop sound
		bda5 | 32 03 d0 : ld   ($d003),a
		bda8 | c9       : ret
		-->
	</script>
	<script state="run">
		<output format="----- alien syndrome sound test mode -----" line="10" align="center" />
		<output format="left : code decrement"                      line="11" align="center" />
		<output format="right : code increment"                     line="12" align="center" />
		<output format="button 1 : play sound"                      line="13" align="center" />
		<output format="button 2 : stop sound"                      line="14" align="center" />
		<output format="----------------------------"               line="15" align="center" />
		<output format="&lt;&lt; sound code %2.2X &gt;&gt;"         line="17" align="center">
			<argument>maincpu.pb@c101</argument>
		</output>
	</script>
	<script state="off">
		<action>slot:cart:rom.mb@0245 =               06</action>
		<action>slot:cart:rom.mw@0518 =             029f</action>
		<action>slot:cart:rom.mq@bd80 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@bd88 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@bd90 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@bd98 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@bda0 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@bda8 = ffffffffffffffff</action>
	</script>
</cheat>
"sound test mode" works with FM sound. If you want to hear PSG version, try "sg1000m3" instead of "smsj" (not "sms"!).
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1315
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[sms/aliensyn]+ Alien Syndrome

Post by jman »

sms/aliensyn.xml

Code: Select all

<!-- Alien Syndrome (Europe, USA, Brazil) -->
<mamecheat version="1">

    <cheat desc="no hit (test)">
        <comment>bosses are wounded by body attack</comment>
        <script state="on">
            <action>slot:cart:rom.mb@02122 = 23</action> <!-- background -->
            <action>slot:cart:rom.mb@024C1 = 18</action> <!-- objects -->
            <action>slot:cart:rom.mb@05624 = 18</action> <!-- boss -->
            <action>slot:cart:rom.mb@05636 = 18</action> <!-- boss -->
            <action>slot:cart:rom.mb@3DCD2 = 18</action> <!-- generator ($9cd2) -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@02122 = 0C</action>
            <action>slot:cart:rom.mb@024C1 = 20</action>
            <action>slot:cart:rom.mb@05624 = 38</action>
            <action>slot:cart:rom.mb@05636 = 30</action>
            <action>slot:cart:rom.mb@3DCD2 = 20</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>slot:cart:rom.mb@11E4 = 2F</action> <!-- P1 -->
            <action>slot:cart:rom.mb@120F = 2F</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@11E4 = 0F</action>
            <action>slot:cart:rom.mb@120F = 0F</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>slot:cart:rom.mb@170C = 18</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@170C = 20</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="on">
            <action>slot:cart:rom.mw@1773 = 1C40            </action>
            <action>slot:cart:rom.mq@1C40 = 77DD1C56CD417EDD</action>
            <action>slot:cart:rom.mq@1C48 = DD1C56CD3F7EDD41</action>
            <action>slot:cart:rom.mq@1C50 = C8A7C91A81CD3F77</action>
            <action>slot:cart:rom.mq@1C58 = FFFFC944EDF0003E</action>
            <!--
            1C40 | DD 7E 41 : ld   a,(ix+$41) // y position
            1C43 | CD 56 1C : call $1C56
            1C46 | DD 77 41 : ld   (ix+$41),a
            1C49 | DD 7E 3F : ld   a,(ix+$3f) // x position
            1C4C | CD 56 1C : call $1C56
            1C4F | DD 77 3F : ld   (ix+$3f),a
            1C52 | CD 81 1A : call $1A81
            1C55 | C9       : ret
            1C56 | A7       : and  a
            1C57 | C8       : ret  z
            1C58 | 3E xx    : ld   a,$xx
            1C5A | F0       : ret  p
            1C5B | ED 44    : neg
            1C5D | C9       : ret
            -->
        </script>
        <script state="change">
            <action>slot:cart:rom.mb@1C59 = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@1773 = 1A81            </action>
            <action>slot:cart:rom.mq@1C40 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@1C48 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@1C50 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@1C58 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>      maincpu.pb@C07C = 00   </action> <!-- initialize sub timer -->
            <action>slot:cart:rom.mb@10F7 = param</action>
        </script>
        <script state="off">
            <action>      maincpu.pb@C07C = 00</action>
            <action>slot:cart:rom.mb@10F7 = 3C</action>
        </script>
    </cheat>

    <cheat desc="sound device">
        <!-- smsj and sms1krfm only -->
        <comment>reset the game (F3) to switch sound device</comment>
        <parameter>
            <item value="0x0028">PSG</item>
            <item value="0x0128">FM </item>
        </parameter>
        <script state="change">
            <action>slot:cart:rom.mw@04FA = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@04FA = 0128</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- code 0x09 causes game freeze -->
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>slot:cart:rom.mb@00245 = 00              </action> <!-- accept sound code -->
            <action>slot:cart:rom.mb@1C2AA = 00              </action> <!-- stop some sfxs ($82aa) -->
            <action>slot:cart:rom.mw@00518 = BD80            </action>
            <action>slot:cart:rom.mq@0BD80 = 2847B8DCDBC10021</action>
            <action>slot:cart:rom.mq@0BD88 = F7FE350120FBFEFA</action>
            <action>slot:cart:rom.mq@0BD90 = 3E0420FDFE340120</action>
            <action>slot:cart:rom.mq@0BD98 = 3E0520FEFE0618F0</action>
            <action>slot:cart:rom.mq@0BDA0 = 0520EFFE78778610</action>
            <action>slot:cart:rom.mq@0BDA8 = 20DFFE061880F67E</action>
            <action>slot:cart:rom.mq@0BDB0 = CB18D00332FF3E05</action>
            <!--
            BD80 | 21 00 C1 : ld   hl,$C100  // sound code address
            BD83 | DB DC    : in   a,($DC)   // read input
            BD85 | B8       : cp   b
            BD86 | 47       : ld   b,a
            BD87 | 28 FA    : jr   z,$BD83
            BD89 | FE FB    : cp   $FB
            BD8B | 20 01    : jr   nz,$BD8E
            BD8D | 35       : dec  (hl)      // decrease code -01
            BD8E | FE F7    : cp   $F7
            BD90 | 20 01    : jr   nz,$BD93
            BD92 | 34       : inc  (hl)      // increase code +01
            BD93 | FE FD    : cp   $FD
            BD95 | 20 04    : jr   nz,$BD9B
            BD97 | 3E F0    : ld   a,$F0     // decrease code -10
            BD99 | 18 06    : jr   $BDA1
            BD9B | FE FE    : cp   $FE
            BD9D | 20 05    : jr   nz,$BDA4
            BD9F | 3E 10    : ld   a,$10     // increase code +10
            BDA1 | 86       : add  a,(hl)
            BDA2 | 77       : ld   (hl),a
            BDA3 | 78       : ld   a,b
            BDA4 | FE EF    : cp   $EF
            BDA6 | 20 05    : jr   nz,$BDAD
            BDA8 | 7E       : ld   a,(hl)    // play sound
            BDA9 | F6 80    : or   $80
            BDAB | 18 06    : jr   $BDB3
            BDAD | FE DF    : cp   $DF
            BDAF | 20 05    : jr   nz,$BDB6
            BDB1 | 3E FF    : ld   a,$FF     // stop sound
            BDB3 | 32 03 D0 : ld   ($D003),a // send sound code
            BDB6 | 18 CB    : jr   $BD83
            -->
        </script>
        <script state="run">
            <output format="----- alien syndrome 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@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@00245 = 06              </action>
            <action>slot:cart:rom.mb@1C2AA = 08              </action>
            <action>slot:cart:rom.mw@00518 = 029F            </action>
            <action>slot:cart:rom.mq@0BD80 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@0BD88 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@0BD90 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@0BD98 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@0BDA0 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@0BDA8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check error">
        <script state="on">
            <!-- detect bios -->
            <action>                                    temp0 = 00</action> <!-- initialize flag -->
            <action condition="user1.mw@0006 == 0x7d18">temp0 = 01</action>
            <action condition="user1.mw@0006 == 0x6518">temp0 = 02</action>
            <action condition="user1.mw@0006 == 0x36ff">temp0 = 03</action>
            <action condition="user1.mw@0006 == 0x6f18">temp0 = 04</action>
            <action condition="user1.mw@0006 == 0x0000">temp0 = 05</action>
            <action condition="user1.mw@0006 == 0x0406">temp0 = 06</action>
            <action condition="user1.mw@0006 == 0x94cd">temp0 = 07</action>
            <!-- US/European BIOS with Alex Kidd ($bef2) -->
            <action condition="temp0 == 01">user1.mb@17EF2 = C3</action>
            <!-- US/European BIOS v1.3 -->
            <action condition="temp0 == 02">user1.mb@00128 = C3</action>
            <!-- US/European BIOS v2.4 ($8142) -->
            <action condition="temp0 == 03">user1.mb@1C142 = C3</action>
            <!-- US/European BIOS v3.4 -->
            <action condition="temp0 == 04">user1.mb@0813E = C3</action>
            <!-- US/European BIOS v4.4 ($b0b9) -->
            <action condition="temp0 == 05">user1.mb@170B9 = C3</action>
            <!-- US Master System BIOS v1.0 -->
            <action condition="temp0 == 06">user1.mb@00140 = C3</action>
            <!-- European/Brazilian BIOS with Sonic -->
            <action condition="temp0 == 07">user1.mb@0270E = C3</action>
        </script>
        <script state="off">
            <action condition="temp0 == 01">user1.mb@17EF2 = CA</action>
            <action condition="temp0 == 02">user1.mb@00128 = CA</action>
            <action condition="temp0 == 03">user1.mb@1C142 = CA</action>
            <action condition="temp0 == 04">user1.mb@0813E = CA</action>
            <action condition="temp0 == 05">user1.mb@170B9 = CA</action>
            <action condition="temp0 == 06">user1.mb@00140 = CA</action>
            <action condition="temp0 == 07">user1.mb@0270E = CA</action>
        </script>
    </cheat>

</mamecheat>
sms/aliensynj.xml

Code: Select all

<!-- Alien Syndrome (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit (test)">
        <comment>bosses are wounded by body attack</comment>
        <script state="on">
            <action>slot:cart:rom.mb@0211D = 23</action> <!-- background -->
            <action>slot:cart:rom.mb@024BC = 18</action> <!-- objects -->
            <action>slot:cart:rom.mb@05628 = 18</action> <!-- boss -->
            <action>slot:cart:rom.mb@0563A = 18</action> <!-- boss -->
            <action>slot:cart:rom.mb@3DCD2 = 18</action> <!-- generator ($9cd2) -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@0211D = 0C</action>
            <action>slot:cart:rom.mb@024BC = 20</action>
            <action>slot:cart:rom.mb@05628 = 38</action>
            <action>slot:cart:rom.mb@0563A = 30</action>
            <action>slot:cart:rom.mb@3DCD2 = 20</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>slot:cart:rom.mb@11F2 = 2F</action> <!-- P1 -->
            <action>slot:cart:rom.mb@121D = 2F</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@11F2 = 0F</action>
            <action>slot:cart:rom.mb@121D = 0F</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>slot:cart:rom.mb@171A = 18</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@171A = 20</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="on">
            <action>slot:cart:rom.mw@1781 = 1C40            </action>
            <action>slot:cart:rom.mq@1C40 = 77DD1C56CD417EDD</action>
            <action>slot:cart:rom.mq@1C48 = DD1C56CD3F7EDD41</action>
            <action>slot:cart:rom.mq@1C50 = C8A7C91A7CCD3F77</action>
            <action>slot:cart:rom.mq@1C58 = FFFFC944EDF0003E</action>
            <!--
            1C40 | DD 7E 41 : ld   a,(ix+$41) // y position
            1C43 | CD 56 1C : call $1C56
            1C46 | DD 77 41 : ld   (ix+$41),a
            1C49 | DD 7E 3F : ld   a,(ix+$3f) // x position
            1C4C | CD 56 1C : call $1C56
            1C4F | DD 77 3F : ld   (ix+$3f),a
            1C52 | CD 7C 1A : call $1A7C
            1C55 | C9       : ret
            1C56 | A7       : and  a
            1C57 | C8       : ret  z
            1C58 | 3E xx    : ld   a,$xx
            1C5A | F0       : ret  p
            1C5B | ED 44    : neg
            1C5D | C9       : ret
            -->
        </script>
        <script state="change">
            <action>slot:cart:rom.mb@1C59 = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@1781 = 1A7C            </action>
            <action>slot:cart:rom.mq@1C40 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@1C48 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@1C50 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@1C58 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>      maincpu.pb@C07C = 00   </action> <!-- initialize sub timer -->
            <action>slot:cart:rom.mb@1105 = param</action>
        </script>
        <script state="off">
            <action>      maincpu.pb@C07C = 00</action>
            <action>slot:cart:rom.mb@1105 = 3C</action>
        </script>
    </cheat>

    <cheat desc="sound device">
        <!-- smsj and sms1krfm only -->
        <comment>reset the game (F3) to switch sound device</comment>
        <parameter>
            <item value="0x0028">PSG</item>
            <item value="0x0128">FM </item>
        </parameter>
        <script state="change">
            <action>slot:cart:rom.mw@04FA = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@04FA = 0128</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- code 0x09 causes game freeze -->
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>slot:cart:rom.mb@00245 = 00              </action> <!-- accept sound code -->
            <action>slot:cart:rom.mb@1C2AA = 00              </action> <!-- stop some sfxs ($82aa) -->
            <action>slot:cart:rom.mw@00518 = BD80            </action>
            <action>slot:cart:rom.mq@0BD80 = 2847B8DCDBC10021</action>
            <action>slot:cart:rom.mq@0BD88 = F7FE350120FBFEFA</action>
            <action>slot:cart:rom.mq@0BD90 = 3E0420FDFE340120</action>
            <action>slot:cart:rom.mq@0BD98 = 3E0520FEFE0618F0</action>
            <action>slot:cart:rom.mq@0BDA0 = 0520EFFE78778610</action>
            <action>slot:cart:rom.mq@0BDA8 = 20DFFE061880F67E</action>
            <action>slot:cart:rom.mq@0BDB0 = CB18D00332FF3E05</action>
            <!--
            BD80 | 21 00 C1 : ld   hl,$C100  // sound code address
            BD83 | DB DC    : in   a,($DC)   // read input
            BD85 | B8       : cp   b
            BD86 | 47       : ld   b,a
            BD87 | 28 FA    : jr   z,$BD83
            BD89 | FE FB    : cp   $FB
            BD8B | 20 01    : jr   nz,$BD8E
            BD8D | 35       : dec  (hl)      // decrease code -01
            BD8E | FE F7    : cp   $F7
            BD90 | 20 01    : jr   nz,$BD93
            BD92 | 34       : inc  (hl)      // increase code +01
            BD93 | FE FD    : cp   $FD
            BD95 | 20 04    : jr   nz,$BD9B
            BD97 | 3E F0    : ld   a,$F0     // decrease code -10
            BD99 | 18 06    : jr   $BDA1
            BD9B | FE FE    : cp   $FE
            BD9D | 20 05    : jr   nz,$BDA4
            BD9F | 3E 10    : ld   a,$10     // increase code +10
            BDA1 | 86       : add  a,(hl)
            BDA2 | 77       : ld   (hl),a
            BDA3 | 78       : ld   a,b
            BDA4 | FE EF    : cp   $EF
            BDA6 | 20 05    : jr   nz,$BDAD
            BDA8 | 7E       : ld   a,(hl)    // play sound
            BDA9 | F6 80    : or   $80
            BDAB | 18 06    : jr   $BDB3
            BDAD | FE DF    : cp   $DF
            BDAF | 20 05    : jr   nz,$BDB6
            BDB1 | 3E FF    : ld   a,$FF     // stop sound
            BDB3 | 32 03 D0 : ld   ($D003),a // send sound code
            BDB6 | 18 CB    : jr   $BD83
            -->
        </script>
        <script state="run">
            <output format="----- alien syndrome 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@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@00245 = 06              </action>
            <action>slot:cart:rom.mb@1C2AA = 08              </action>
            <action>slot:cart:rom.mw@00518 = 029F            </action>
            <action>slot:cart:rom.mq@0BD80 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@0BD88 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@0BD90 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@0BD98 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@0BDA0 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@0BDA8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check error">
        <script state="on">
            <!-- detect bios -->
            <action>                                    temp0 = 00</action> <!-- initialize flag -->
            <action condition="user1.mw@0006 == 0x7d18">temp0 = 01</action>
            <action condition="user1.mw@0006 == 0x6518">temp0 = 02</action>
            <action condition="user1.mw@0006 == 0x36ff">temp0 = 03</action>
            <action condition="user1.mw@0006 == 0x6f18">temp0 = 04</action>
            <action condition="user1.mw@0006 == 0x0000">temp0 = 05</action>
            <action condition="user1.mw@0006 == 0x0406">temp0 = 06</action>
            <action condition="user1.mw@0006 == 0x94cd">temp0 = 07</action>
            <!-- US/European BIOS with Alex Kidd ($bef2) -->
            <action condition="temp0 == 01">user1.mb@17EF2 = C3</action>
            <!-- US/European BIOS v1.3 -->
            <action condition="temp0 == 02">user1.mb@00128 = C3</action>
            <!-- US/European BIOS v2.4 ($8142) -->
            <action condition="temp0 == 03">user1.mb@1C142 = C3</action>
            <!-- US/European BIOS v3.4 -->
            <action condition="temp0 == 04">user1.mb@0813E = C3</action>
            <!-- US/European BIOS v4.4 ($b0b9) -->
            <action condition="temp0 == 05">user1.mb@170B9 = C3</action>
            <!-- US Master System BIOS v1.0 -->
            <action condition="temp0 == 06">user1.mb@00140 = C3</action>
            <!-- European/Brazilian BIOS with Sonic -->
            <action condition="temp0 == 07">user1.mb@0270E = C3</action>
        </script>
        <script state="off">
            <action condition="temp0 == 01">user1.mb@17EF2 = CA</action>
            <action condition="temp0 == 02">user1.mb@00128 = CA</action>
            <action condition="temp0 == 03">user1.mb@1C142 = CA</action>
            <action condition="temp0 == 04">user1.mb@0813E = CA</action>
            <action condition="temp0 == 05">user1.mb@170B9 = CA</action>
            <action condition="temp0 == 06">user1.mb@00140 = CA</action>
            <action condition="temp0 == 07">user1.mb@0270E = CA</action>
        </script>
    </cheat>

</mamecheat>
sms/aliensynp.xml

Code: Select all

<!-- Alien Syndrome (prototype) -->
<mamecheat version="1">

    <cheat desc="no hit (test)">
        <comment>bosses are wounded by body attack</comment>
        <script state="on">
            <action>slot:cart:rom.mb@020EF = 23</action> <!-- background -->
            <action>slot:cart:rom.mb@0248E = 18</action> <!-- objects -->
            <action>slot:cart:rom.mb@05628 = 18</action> <!-- boss -->
            <action>slot:cart:rom.mb@0563A = 18</action> <!-- boss -->
            <action>slot:cart:rom.mb@3DCD2 = 18</action> <!-- generator ($9cd2) -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@0211D = 0C</action>
            <action>slot:cart:rom.mb@024BC = 20</action>
            <action>slot:cart:rom.mb@05628 = 38</action>
            <action>slot:cart:rom.mb@0563A = 30</action>
            <action>slot:cart:rom.mb@3DCD2 = 20</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>slot:cart:rom.mb@11F2 = 1F</action> <!-- P1 -->
            <action>slot:cart:rom.mb@121D = 1F</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@11F2 = 0F</action>
            <action>slot:cart:rom.mb@121D = 0F</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>slot:cart:rom.mb@16F6 = 18</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@16F6 = 20</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="on">
            <action>slot:cart:rom.mw@175D = 1C10            </action>
            <action>slot:cart:rom.mq@1C10 = 77DD1C26CD417EDD</action>
            <action>slot:cart:rom.mq@1C18 = DD1C26CD3F7EDD41</action>
            <action>slot:cart:rom.mq@1C20 = C8A7C91A58CD3F77</action>
            <action>slot:cart:rom.mq@1C28 = FFFFC944EDF0003E</action>
            <!--
            1C10 | DD 7E 41 : ld   a,(ix+$41) // y position
            1C13 | CD 26 1C : call $1C56
            1C16 | DD 77 41 : ld   (ix+$41),a
            1C19 | DD 7E 3F : ld   a,(ix+$3f) // x position
            1C1C | CD 26 1C : call $1C56
            1C1F | DD 77 3F : ld   (ix+$3f),a
            1C22 | CD 58 1A : call $1A58
            1C25 | C9       : ret
            1C26 | A7       : and  a
            1C27 | C8       : ret  z
            1C28 | 3E xx    : ld   a,$xx
            1C2A | F0       : ret  p
            1C2B | ED 44    : neg
            1C2D | C9       : ret
            -->
        </script>
        <script state="change">
            <action>slot:cart:rom.mb@1C29 = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@175D = 1A58            </action>
            <action>slot:cart:rom.mq@1C10 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@1C18 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@1C20 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@1C28 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x80">02       </item>
            <item value="0x40">03       </item>
            <item value="0x20">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>      maincpu.pb@C07C = 00   </action> <!-- initialize sub timer -->
            <action>slot:cart:rom.mb@1105 = param</action>
        </script>
        <script state="off">
            <action>      maincpu.pb@C07C = 00</action>
            <action>slot:cart:rom.mb@1105 = 3C</action>
        </script>
    </cheat>

    <cheat desc="sound device">
        <!-- smsj and sms1krfm only -->
        <comment>reset the game (F3) to switch sound device</comment>
        <parameter>
            <item value="0x0028">PSG</item>
            <item value="0x0128">FM </item>
        </parameter>
        <script state="change">
            <action>slot:cart:rom.mw@04FA = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@04FA = 0128</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- code 0x09 causes game freeze -->
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>slot:cart:rom.mb@00245 = 00              </action> <!-- accept sound code -->
            <action>slot:cart:rom.mb@1C2AA = 00              </action> <!-- stop some sfxs ($82aa) -->
            <action>slot:cart:rom.mw@00518 = BD80            </action>
            <action>slot:cart:rom.mq@0BD80 = 2847B8DCDBC10021</action>
            <action>slot:cart:rom.mq@0BD88 = F7FE350120FBFEFA</action>
            <action>slot:cart:rom.mq@0BD90 = 3E0420FDFE340120</action>
            <action>slot:cart:rom.mq@0BD98 = 3E0520FEFE0618F0</action>
            <action>slot:cart:rom.mq@0BDA0 = 0520EFFE78778610</action>
            <action>slot:cart:rom.mq@0BDA8 = 20DFFE061880F67E</action>
            <action>slot:cart:rom.mq@0BDB0 = CB18D00332FF3E05</action>
            <!--
            BD80 | 21 00 C1 : ld   hl,$C100  // sound code address
            BD83 | DB DC    : in   a,($DC)   // read input
            BD85 | B8       : cp   b
            BD86 | 47       : ld   b,a
            BD87 | 28 FA    : jr   z,$BD83
            BD89 | FE FB    : cp   $FB
            BD8B | 20 01    : jr   nz,$BD8E
            BD8D | 35       : dec  (hl)      // decrease code -01
            BD8E | FE F7    : cp   $F7
            BD90 | 20 01    : jr   nz,$BD93
            BD92 | 34       : inc  (hl)      // increase code +01
            BD93 | FE FD    : cp   $FD
            BD95 | 20 04    : jr   nz,$BD9B
            BD97 | 3E F0    : ld   a,$F0     // decrease code -10
            BD99 | 18 06    : jr   $BDA1
            BD9B | FE FE    : cp   $FE
            BD9D | 20 05    : jr   nz,$BDA4
            BD9F | 3E 10    : ld   a,$10     // increase code +10
            BDA1 | 86       : add  a,(hl)
            BDA2 | 77       : ld   (hl),a
            BDA3 | 78       : ld   a,b
            BDA4 | FE EF    : cp   $EF
            BDA6 | 20 05    : jr   nz,$BDAD
            BDA8 | 7E       : ld   a,(hl)    // play sound
            BDA9 | F6 80    : or   $80
            BDAB | 18 06    : jr   $BDB3
            BDAD | FE DF    : cp   $DF
            BDAF | 20 05    : jr   nz,$BDB6
            BDB1 | 3E FF    : ld   a,$FF     // stop sound
            BDB3 | 32 03 D0 : ld   ($D003),a // send sound code
            BDB6 | 18 CB    : jr   $BD83
            -->
        </script>
        <script state="run">
            <output format="----- alien syndrome 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@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@00245 = 06              </action>
            <action>slot:cart:rom.mb@1C2AA = 08              </action>
            <action>slot:cart:rom.mw@00518 = 029F            </action>
            <action>slot:cart:rom.mq@0BD80 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@0BD88 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@0BD90 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@0BD98 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@0BDA0 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@0BDA8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc=" " />

    <cheat desc="skip rom check error">
        <script state="on">
            <!-- detect bios -->
            <action>                                    temp0 = 00</action> <!-- initialize flag -->
            <action condition="user1.mw@0006 == 0x7d18">temp0 = 01</action>
            <action condition="user1.mw@0006 == 0x6518">temp0 = 02</action>
            <action condition="user1.mw@0006 == 0x36ff">temp0 = 03</action>
            <action condition="user1.mw@0006 == 0x6f18">temp0 = 04</action>
            <action condition="user1.mw@0006 == 0x0000">temp0 = 05</action>
            <action condition="user1.mw@0006 == 0x0406">temp0 = 06</action>
            <action condition="user1.mw@0006 == 0x94cd">temp0 = 07</action>
            <!-- US/European BIOS with Alex Kidd ($bef2) -->
            <action condition="temp0 == 01">user1.mb@17EF2 = C3</action>
            <!-- US/European BIOS v1.3 -->
            <action condition="temp0 == 02">user1.mb@00128 = C3</action>
            <!-- US/European BIOS v2.4 ($8142) -->
            <action condition="temp0 == 03">user1.mb@1C142 = C3</action>
            <!-- US/European BIOS v3.4 -->
            <action condition="temp0 == 04">user1.mb@0813E = C3</action>
            <!-- US/European BIOS v4.4 ($b0b9) -->
            <action condition="temp0 == 05">user1.mb@170B9 = C3</action>
            <!-- US Master System BIOS v1.0 -->
            <action condition="temp0 == 06">user1.mb@00140 = C3</action>
            <!-- European/Brazilian BIOS with Sonic -->
            <action condition="temp0 == 07">user1.mb@0270E = C3</action>
        </script>
        <script state="off">
            <action condition="temp0 == 01">user1.mb@17EF2 = CA</action>
            <action condition="temp0 == 02">user1.mb@00128 = CA</action>
            <action condition="temp0 == 03">user1.mb@1C142 = CA</action>
            <action condition="temp0 == 04">user1.mb@0813E = CA</action>
            <action condition="temp0 == 05">user1.mb@170B9 = CA</action>
            <action condition="temp0 == 06">user1.mb@00140 = CA</action>
            <action condition="temp0 == 07">user1.mb@0270E = CA</action>
        </script>
    </cheat>

</mamecheat>
  • "no hit" : Bosses are wounded by body attack so that this code is marked as test.
  • "walk through wall" : The game is crashed when you go to out of screen.
  • "sound device" : FM is enabled in smsj and smskrfm only. Always PSG in other sets.
  • "sound test mode" : Code 0x09 causes game freeze.
  • "skip rom check error" : sg1000m3 causes parsing xml error and no registration in cheat menu because of no user1 region. But no problem because sg1000m3 doesn't check ROM.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Post Reply