Page 1 of 1

[smsj/satell7] Satellite 7

Posted: Sat Aug 21, 2021 1:51 am
by jman

Code: Select all

<cheat desc="no hit (wip)">
	<script state="on">
		<action>mycard:cart:rom.mb@2990 = c9</action> <!-- enemy (soft) -->
		<action>mycard:cart:rom.mb@29a0 = c9</action> <!-- enemy (hard) -->
		<action>mycard:cart:rom.mb@29be = c9</action> <!-- boss -->
	</script>
	<script state="off">
		<action>mycard:cart:rom.mb@2990 = fd</action>
		<action>mycard:cart:rom.mb@29a0 = fd</action>
		<action>mycard:cart:rom.mb@29be = fd</action>
	</script>
</cheat>

<cheat desc="auto fire - shot (wip)">
	<script state="on">
		<action>mycard:cart:rom.mb@237d = 00</action>
	</script>
	<script state="off">
		<action>mycard:cart:rom.mb@237d = c0</action>
	</script>
</cheat>

<cheat desc="player speed (wip)">
	<parameter>
		<item value="0x0080">01 (slow)</item>
		<item value="0x0100">02       </item>
		<item value="0x0200">03       </item>
		<item value="0x0300">04       </item>
		<item value="0x0400">05 (fast)</item>
	</parameter>
	<script state="change">
		<action>mycard:cart:rom.mw@0d3c = -param</action> <!-- up level 1 -->
		<action>mycard:cart:rom.mw@0d46 = -param</action> <!-- up level 2 -->
		<action>mycard:cart:rom.mw@0d52 =  param</action> <!-- down level 1 -->
		<action>mycard:cart:rom.mw@0d5c =  param</action> <!-- down level 2 -->
		<action>mycard:cart:rom.mw@0d68 = -param</action> <!-- left level 1 -->
		<action>mycard:cart:rom.mw@0d72 = -param</action> <!-- left level 2 -->
		<action>mycard:cart:rom.mw@0d7e =  param</action> <!-- right level 1 -->
		<action>mycard:cart:rom.mw@0d88 =  param</action> <!-- right level 2 -->
	</script>
	<script state="off">
		<action>mycard:cart:rom.mw@0d3c = ff00</action>
		<action>mycard:cart:rom.mw@0d46 = fe40</action>
		<action>mycard:cart:rom.mw@0d52 = 0100</action>
		<action>mycard:cart:rom.mw@0d5c = 01a0</action>
		<action>mycard:cart:rom.mw@0d68 = ff00</action>
		<action>mycard:cart:rom.mw@0d72 = fe40</action>
		<action>mycard:cart:rom.mw@0d7e = 0100</action>
		<action>mycard:cart:rom.mw@0d88 = 01a0</action>
	</script>
</cheat>

<cheat desc="bullet speed (wip)">
	<parameter>
		<item value="0x01">01 (slow)</item>
		<item value="0x05">02       </item>
		<item value="0x0a">03       </item>
		<item value="0x0f">04       </item>
		<item value="0x14">05 (fast)</item>
	</parameter>
	<script state="change">
		<action>mycard:cart:rom.mb@23e1 = -param</action>
	</script>
	<script state="off">
		<action>mycard:cart:rom.mb@23e1 = fb</action>
	</script>
</cheat>

<cheat desc="fast bomb (wip)">
	<script state="on">
		<action>mycard:cart:rom.mw@2428 =             7ea0</action>
		<action>mycard:cart:rom.mq@7ea0 = 3e0e77fd0d77fdaf</action>
		<action>mycard:cart:rom.mq@7ea8 = d6067edd1377fd22</action>
		<action>mycard:cart:rom.mq@7eb0 = c92456cd0677fd2e</action>
		<!--
		7ea0 | af       : xor  a
		7ea1 | fd 77 0d : ld   (iy+$0d),a
		7ea4 | fd 77 0e : ld   (iy+$0e),a
		7ea7 | 3e 22    : ld   a,$22
		7ea9 | fd 77 13 : ld   (iy+$13),a
		7eac | dd 7e 06 : ld   a,(ix+$06)
		7eaf | d6 2e    : sub  $2e
		7eb1 | fd 77 06 : ld   (iy+$06),a
		7eb4 | cd 56 24 : call $2456
		7eb7 | c9       : ret
		-->
	</script>
	<script state="off">
		<action>mycard:cart:rom.mw@2428 =             2456</action>
		<action>mycard:cart:rom.mq@7ea0 = ffffffffffffffff</action>
		<action>mycard:cart:rom.mq@7ea8 = ffffffffffffffff</action>
		<action>mycard:cart:rom.mq@7eb0 = 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>mycard:cart:rom.md@010c =         b77ec0c3</action>
		<action>mycard:cart:rom.mq@7ec0 = 22d57ec311800021</action>
		<action>mycard:cart:rom.mq@7ec8 = fec86fbddcdbc100</action>
		<action>mycard:cart:rom.mq@7ed0 = 0120f7fe250120fb</action>
		<action>mycard:cart:rom.mq@7ed8 = 04187c0320effe24</action>
		<action>mycard:cart:rom.mq@7ee0 = c9cd0032afc0dffe</action>
		<!--
		7ec0 | 21 00 80 : ld   hl,$8000   // initialize sound and input values
		7ec3 | 11 c3 7e : ld   de,$7ec3
		7ec6 | d5       : push de
		7ec7 | 22 00 c1 : ld   ($c100),hl
		7eca | db dc    : in   a,($dc)    // read input
		7ecc | bd       : cp   l
		7ecd | 6f       : ld   l,a
		7ece | c8       : ret  z
		7ecf | fe fb    : cp   $fb
		7ed1 | 20 01    : jr   nz,$7ed4
		7ed3 | 25       : dec  h          // pressed left - code decrement
		7ed4 | fe f7    : cp   $f7
		7ed6 | 20 01    : jr   nz,$7ed9
		7ed8 | 24       : inc  h          // pressed right - code increment
		7ed9 | fe ef    : cp   $ef
		7edb | 20 03    : jr   nz,$7ee0
		7edd | 7c       : ld   a,h        // pressed button 1 - play sound
		7ede | 18 04    : jr   $7ee4
		7ee0 | fe df    : cp   $df
		7ee2 | c0       : ret  nz
		7ee3 | af       : xor  a          // pressed button 2 - stop sound
		7ee4 | 32 00 cd : ld   ($cd00),a  // send sound code
		7ee7 | c9       : ret
		-->
	</script>
	<script state="run">
		<output format="----- satellite 7 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>mycard:cart:rom.md@010c =         b7c1073a</action>
		<action>mycard:cart:rom.mq@7ec0 = ffffffffffffffff</action>
		<action>mycard:cart:rom.mq@7ec8 = ffffffffffffffff</action>
		<action>mycard:cart:rom.mq@7ed0 = ffffffffffffffff</action>
		<action>mycard:cart:rom.mq@7ed8 = ffffffffffffffff</action>
		<action>mycard:cart:rom.mq@7ee0 = ffffffffffffffff</action>
	</script>
</cheat>

[sms/satell7]+ Satellite 7

Posted: Sat Aug 10, 2024 10:43 am
by jman
sms/satell7.xml

Code: Select all

<!-- Satellite 7 (Japan, MyCard) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>mycard:cart:rom.mb@2990 = C9</action> <!-- enemy (soft type) -->
            <action>mycard:cart:rom.mb@29A0 = C9</action> <!-- enemy (hard type) -->
            <action>mycard:cart:rom.mb@29BE = C9</action> <!-- boss -->
        </script>
        <script state="off">
            <action>mycard:cart:rom.mb@2990 = FD</action>
            <action>mycard:cart:rom.mb@29A0 = FD</action>
            <action>mycard:cart:rom.mb@29BE = FD</action>
        </script>
    </cheat>

    <cheat desc="auto fire - shot">
        <script state="on">
            <action>mycard:cart:rom.mb@237D = 00</action>
        </script>
        <script state="off">
            <action>mycard:cart:rom.mb@237D = C0</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0380">04       </item>
            <item value="0x0480">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>mycard:cart:rom.mw@0D3C = -param</action> <!-- up level 1 -->
            <action>mycard:cart:rom.mw@0D46 = -param</action> <!-- up level 2 -->
            <action>mycard:cart:rom.mw@0D52 =  param</action> <!-- down level 1 -->
            <action>mycard:cart:rom.mw@0D5C =  param</action> <!-- down level 2 -->
            <action>mycard:cart:rom.mw@0D68 = -param</action> <!-- left level 1 -->
            <action>mycard:cart:rom.mw@0D72 = -param</action> <!-- left level 2 -->
            <action>mycard:cart:rom.mw@0D7E =  param</action> <!-- right level 1 -->
            <action>mycard:cart:rom.mw@0D88 =  param</action> <!-- right level 2 -->
        </script>
        <script state="off">
            <action>mycard:cart:rom.mw@0D3C = FF00</action>
            <action>mycard:cart:rom.mw@0D46 = FE40</action>
            <action>mycard:cart:rom.mw@0D52 = 0100</action>
            <action>mycard:cart:rom.mw@0D5C = 01A0</action>
            <action>mycard:cart:rom.mw@0D68 = FF00</action>
            <action>mycard:cart:rom.mw@0D72 = FE40</action>
            <action>mycard:cart:rom.mw@0D7E = 0100</action>
            <action>mycard:cart:rom.mw@0D88 = 01A0</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x05">02       </item>
            <item value="0x0a">03       </item>
            <item value="0x0f">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>mycard:cart:rom.mb@23E1 = -param</action>
        </script>
        <script state="off">
            <action>mycard:cart:rom.mb@23E1 = FB</action>
        </script>
    </cheat>

    <cheat desc="fast bomb">
        <script state="on">
            <action>mycard:cart:rom.mw@2428 = 7EA0            </action>
            <action>mycard:cart:rom.mq@7EA0 = 3E0E77FD0D77FDAF</action>
            <action>mycard:cart:rom.mq@7EA8 = D6067EDD1377FD22</action>
            <action>mycard:cart:rom.mq@7EB0 = C92456CD0677FD2E</action>
            <!--
            7EA0 | AF       : xor  a
            7EA1 | FD 77 0D : ld   (iy+$0d),a
            7EA4 | FD 77 0E : ld   (iy+$0e),a
            7EA7 | 3E 22    : ld   a,$22
            7EA9 | FD 77 13 : ld   (iy+$13),a
            7EAC | DD 7E 06 : ld   a,(ix+$06)
            7EAF | D6 2E    : sub  $2E
            7EB1 | FD 77 06 : ld   (iy+$06),a
            7EB4 | CD 56 24 : call $2456
            7EB7 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>mycard:cart:rom.mw@2428 = 2456            </action>
            <action>mycard:cart:rom.mq@7EA0 = FFFFFFFFFFFFFFFF</action>
            <action>mycard:cart:rom.mq@7EA8 = FFFFFFFFFFFFFFFF</action>
            <action>mycard:cart:rom.mq@7EB0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>mycard:cart:rom.md@010C = B77EC0C3        </action>
            <action>mycard:cart:rom.mq@7EC0 = 2847B8DCDBC00021</action>
            <action>mycard:cart:rom.mq@7EC8 = F7FE350120FBFEFA</action>
            <action>mycard:cart:rom.mq@7ED0 = 3E0420FDFE340120</action>
            <action>mycard:cart:rom.mq@7ED8 = 3E0520FEFE0618F0</action>
            <action>mycard:cart:rom.mq@7EE0 = 0520EFFE78778610</action>
            <action>mycard:cart:rom.mq@7EE8 = 20DFFE051880F67E</action>
            <action>mycard:cart:rom.mq@7EF0 = FFCC18CD0032AF04</action>
            <!--
            7EC0 | 21 00 C0 : ld   hl,$C000  // sound code address
            7EC3 | DB DC    : in   a,($DC)   // read input
            7EC5 | B8       : cp   b
            7EC6 | 47       : ld   b,a
            7EC7 | 28 FA    : jr   z,$7EC3
            7EC9 | FE FB    : cp   $FB
            7ECB | 20 01    : jr   nz,$7ECE
            7ECD | 35       : dec  (hl)      // decrease code -01
            7ECE | FE F7    : cp   $F7
            7ED0 | 20 01    : jr   nz,$7ED3
            7ED2 | 34       : inc  (hl)      // increase code +01
            7ED3 | FE FD    : cp   $FD
            7ED5 | 20 04    : jr   nz,$7EDB
            7ED7 | 3E F0    : ld   a,$F0     // decrease code -10
            7ED9 | 18 06    : jr   $7EE1
            7EDB | FE FE    : cp   $FE
            7EDD | 20 05    : jr   nz,$7EE4
            7EDF | 3E 10    : ld   a,$10     // increase code +10
            7EE1 | 86       : add  a,(hl)
            7EE2 | 77       : ld   (hl),a
            7EE3 | 78       : ld   a,b
            7EE4 | FE EF    : cp   $EF
            7EE6 | 20 05    : jr   nz,$7EED
            7EE8 | 7E       : ld   a,(hl)    // play sound
            7EE9 | F6 80    : or   $80
            7EEB | 18 05    : jr   $7EF2
            7EED | FE DF    : cp   $DF
            7EEF | 20 04    : jr   nz,$7EF5
            7EF1 | AF       : xor  a         // stop sound
            7EF2 | 32 00 CD : ld   ($CD00),a // send sound code
            7EF5 | 18 CC    : jr   $7EC3
            -->
        </script>
        <script state="run">
            <output format="----- 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>mycard:cart:rom.md@010C = B7C1073A        </action>
            <action>mycard:cart:rom.mq@7EC0 = FFFFFFFFFFFFFFFF</action>
            <action>mycard:cart:rom.mq@7EC8 = FFFFFFFFFFFFFFFF</action>
            <action>mycard:cart:rom.mq@7ED0 = FFFFFFFFFFFFFFFF</action>
            <action>mycard:cart:rom.mq@7ED8 = FFFFFFFFFFFFFFFF</action>
            <action>mycard:cart:rom.mq@7EE0 = FFFFFFFFFFFFFFFF</action>
            <action>mycard:cart:rom.mq@7EE8 = FFFFFFFFFFFFFFFF</action>
            <action>mycard:cart:rom.mq@7EF0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
sms/satell7a.xml

Code: Select all

<!-- Satellite 7 (Japan, pirate?) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>slot:cart:rom.mb@2990 = C9</action> <!-- enemy (soft type) -->
            <action>slot:cart:rom.mb@29A0 = C9</action> <!-- enemy (hard type) -->
            <action>slot:cart:rom.mb@29BE = C9</action> <!-- boss -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@2990 = FD</action>
            <action>slot:cart:rom.mb@29A0 = FD</action>
            <action>slot:cart:rom.mb@29BE = FD</action>
        </script>
    </cheat>

    <cheat desc="auto fire - shot">
        <script state="on">
            <action>slot:cart:rom.mb@237D = 00</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@237D = C0</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0280">03       </item>
            <item value="0x0380">04       </item>
            <item value="0x0480">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>slot:cart:rom.mw@0D3C = -param</action> <!-- up level 1 -->
            <action>slot:cart:rom.mw@0D46 = -param</action> <!-- up level 2 -->
            <action>slot:cart:rom.mw@0D52 =  param</action> <!-- down level 1 -->
            <action>slot:cart:rom.mw@0D5C =  param</action> <!-- down level 2 -->
            <action>slot:cart:rom.mw@0D68 = -param</action> <!-- left level 1 -->
            <action>slot:cart:rom.mw@0D72 = -param</action> <!-- left level 2 -->
            <action>slot:cart:rom.mw@0D7E =  param</action> <!-- right level 1 -->
            <action>slot:cart:rom.mw@0D88 =  param</action> <!-- right level 2 -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@0D3C = FF00</action>
            <action>slot:cart:rom.mw@0D46 = FE40</action>
            <action>slot:cart:rom.mw@0D52 = 0100</action>
            <action>slot:cart:rom.mw@0D5C = 01A0</action>
            <action>slot:cart:rom.mw@0D68 = FF00</action>
            <action>slot:cart:rom.mw@0D72 = FE40</action>
            <action>slot:cart:rom.mw@0D7E = 0100</action>
            <action>slot:cart:rom.mw@0D88 = 01A0</action>
        </script>
    </cheat>

    <cheat desc="bullet speed - shot">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x05">02       </item>
            <item value="0x0a">03       </item>
            <item value="0x0f">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>slot:cart:rom.mb@23E1 = -param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@23E1 = FB</action>
        </script>
    </cheat>

    <cheat desc="fast bomb">
        <script state="on">
            <action>slot:cart:rom.mw@2428 = 7EA0            </action>
            <action>slot:cart:rom.mq@7EA0 = 3E0E77FD0D77FDAF</action>
            <action>slot:cart:rom.mq@7EA8 = D6067EDD1377FD22</action>
            <action>slot:cart:rom.mq@7EB0 = C92456CD0677FD2E</action>
            <!--
            7EA0 | AF       : xor  a
            7EA1 | FD 77 0D : ld   (iy+$0d),a
            7EA4 | FD 77 0E : ld   (iy+$0e),a
            7EA7 | 3E 22    : ld   a,$22
            7EA9 | FD 77 13 : ld   (iy+$13),a
            7EAC | DD 7E 06 : ld   a,(ix+$06)
            7EAF | D6 2E    : sub  $2E
            7EB1 | FD 77 06 : ld   (iy+$06),a
            7EB4 | CD 56 24 : call $2456
            7EB7 | C9       : ret
            -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@2428 = 2456            </action>
            <action>slot:cart:rom.mq@7EA0 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7EA8 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7EB0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
    <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>slot:cart:rom.md@010C = B77EC0C3        </action>
            <action>slot:cart:rom.mq@7EC0 = 2847B8DCDBC00021</action>
            <action>slot:cart:rom.mq@7EC8 = F7FE350120FBFEFA</action>
            <action>slot:cart:rom.mq@7ED0 = 3E0420FDFE340120</action>
            <action>slot:cart:rom.mq@7ED8 = 3E0520FEFE0618F0</action>
            <action>slot:cart:rom.mq@7EE0 = 0520EFFE78778610</action>
            <action>slot:cart:rom.mq@7EE8 = 20DFFE051880F67E</action>
            <action>slot:cart:rom.mq@7EF0 = FFCC18CD0032AF04</action>
            <!--
            7EC0 | 21 00 C0 : ld   hl,$C000  // sound code address
            7EC3 | DB DC    : in   a,($DC)   // read input
            7EC5 | B8       : cp   b
            7EC6 | 47       : ld   b,a
            7EC7 | 28 FA    : jr   z,$7EC3
            7EC9 | FE FB    : cp   $FB
            7ECB | 20 01    : jr   nz,$7ECE
            7ECD | 35       : dec  (hl)      // decrease code -01
            7ECE | FE F7    : cp   $F7
            7ED0 | 20 01    : jr   nz,$7ED3
            7ED2 | 34       : inc  (hl)      // increase code +01
            7ED3 | FE FD    : cp   $FD
            7ED5 | 20 04    : jr   nz,$7EDB
            7ED7 | 3E F0    : ld   a,$F0     // decrease code -10
            7ED9 | 18 06    : jr   $7EE1
            7EDB | FE FE    : cp   $FE
            7EDD | 20 05    : jr   nz,$7EE4
            7EDF | 3E 10    : ld   a,$10     // increase code +10
            7EE1 | 86       : add  a,(hl)
            7EE2 | 77       : ld   (hl),a
            7EE3 | 78       : ld   a,b
            7EE4 | FE EF    : cp   $EF
            7EE6 | 20 05    : jr   nz,$7EED
            7EE8 | 7E       : ld   a,(hl)    // play sound
            7EE9 | F6 80    : or   $80
            7EEB | 18 05    : jr   $7EF2
            7EED | FE DF    : cp   $DF
            7EEF | 20 04    : jr   nz,$7EF5
            7EF1 | AF       : xor  a         // stop sound
            7EF2 | 32 00 CD : ld   ($CD00),a // send sound code
            7EF5 | 18 CC    : jr   $7EC3
            -->
        </script>
        <script state="run">
            <output format="----- 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>slot:cart:rom.md@010C = B7C1073A        </action>
            <action>slot:cart:rom.mq@7EC0 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7EC8 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7ED0 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7ED8 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7EE0 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7EE8 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7EF0 = 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>
satell7 works in sg1000m3, smsj and sms1krfm only. If satell7a returns "software error", set "skip rom check error" code then reset the game (F3).