[smsj/aerialas] Aerial Assault

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

[smsj/aerialas] Aerial Assault

Post by jman »

Code: Select all

<cheat desc="no hit (wip)">
	<script state="on">
		<action>slot:cart:rom.mb@bb8c = c9</action> <!-- object -->
		<action>slot:cart:rom.mb@36eb = c9</action> <!-- background -->
	</script>
	<script state="off">
		<action>slot:cart:rom.mb@bb8c = c8</action>
		<action>slot:cart:rom.mb@36eb = 3e</action>
	</script>
</cheat>

<cheat desc="auto fire - shot (wip)">
	<script state="on">
		<action>slot:cart:rom.mb@378b = 00</action>
	</script>
	<script state="off">
		<action>slot:cart:rom.mb@378b = 0a</action>
	</script>
</cheat>

<cheat desc="player speed (wip)">
	<parameter min="0x01" max="0x05" step="0x01" />
	<script state="on">
		<action>slot:cart:rom.md@331b =         fe7e20cd</action> <!-- x position -->
		<action>slot:cart:rom.md@332c =         fe7e26cd</action> <!-- y position -->
		<action>slot:cart:rom.mq@7e20 = dd470418007edd47</action>
		<action>slot:cart:rom.mq@7e28 = 003e08284fa7017e</action>
		<action>slot:cart:rom.mq@7e30 = 81784f44ed7e35f2</action>
		<action>slot:cart:rom.mq@7e38 = ffffffffffffffc9</action>
		<!--
		7e20 | 47       : ld  b,a        // x-position
		7e21 | dd 7e 00 : ld  a,(ix+$00)
		7e24 | 18 04    : jr  $7e2a
		7e26 | 47       : ld  b,a        // y-position
		7e27 | dd 7e 01 : ld  a,(ix+$01)
		7e2a | a7       : and a          // common routine
		7e2b | 4f       : ld  c,a
		7e2c | 28 08    : jr  z,$7e36
		7e2e | 3e xx    : ld  a,$xx
		7e30 | f2 35 7e : jp  p,$7e35
		7e33 | ed 44    : neg
		7e35 | 4f       : ld  c,a
		7e36 | 78       : ld  a,b
		7e37 | 81       : add a,c
		7e38 | c9       : ret
		-->
	</script>
	<script state="change">
		<action>slot:cart:rom.mb@7e2f = param</action>
	</script>
	<script state="off">
		<action>slot:cart:rom.md@331b =         fe0086dd</action>
		<action>slot:cart:rom.md@332c =         fe0186dd</action>
		<action>slot:cart:rom.mq@7e20 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@7e28 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@7e30 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@7e38 = ffffffffffffffff</action>
	</script>
</cheat>

<cheat desc="bullet speed (wip)">
	<parameter min="0x01" max="0x05" step="0x01" />
	<script state="on">
		<action>slot:cart:rom.mw@28bd =             7e40</action> <!-- level 1 -->
		<action>slot:cart:rom.mw@2b0d =             7e40</action> <!-- level 2 -->
		<action>slot:cart:rom.mw@2d15 =             7e40</action> <!-- level 3 -->
		<action>slot:cart:rom.mw@2f94 =             7e40</action> <!-- level 4 -->
		<action>slot:cart:rom.mw@3219 =             7e40</action> <!-- level 5 -->
		<action>slot:cart:rom.mq@7e40 = 10c13ab2cdc50006</action>
		<action>slot:cart:rom.mq@7e48 = ffffffffffffc9f9</action>
		<!--
		7e40 | 06 xx    : ld   b,$xx
		7e42 | c5       : push bc
		7e43 | cd b2 3a : call $3ab2
		7e46 | c1       : pop  bc
		7e47 | 10 f9    : djnz $7e42
		7e49 | c9       : ret
		-->
	</script>
	<script state="change">
		<action>slot:cart:rom.mb@7e41 = param</action>
	</script>
	<script state="off">
		<action>slot:cart:rom.mw@28bd =             3ab2</action>
		<action>slot:cart:rom.mw@2b0d =             3ab2</action>
		<action>slot:cart:rom.mw@2d15 =             3ab2</action>
		<action>slot:cart:rom.mw@2f94 =             3ab2</action>
		<action>slot:cart:rom.mw@3219 =             3ab2</action>
		<action>slot:cart:rom.mq@7e40 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@7e48 = 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@010b =               cd</action> <!-- accept sound code -->
		<action>slot:cart:rom.md@0081 =         217df0c3</action>
		<action>slot:cart:rom.mq@7df0 = d57df411800021fb</action>
		<action>slot:cart:rom.mq@7df8 = c86fbddcdbc10022</action>
		<action>slot:cart:rom.mq@7e00 = 20f7fe250120fbfe</action>
		<action>slot:cart:rom.mq@7e08 = 187c0320effe2401</action>
		<action>slot:cart:rom.mq@7e10 = 0432c03ec0dffe05</action>
		<action>slot:cart:rom.mq@7e18 = ffffffffffffc9d0</action>
		<!--
		7df0 | fb       : ei
		7df1 | 21 00 80 : ld   hl,$8000   // initialize sound and input value
		7df4 | 11 f4 7d : ld   de,$7df4
		7df7 | d5       : push de
		7df8 | 22 00 c1 : ld   ($c100),hl
		7dfb | db dc    : in   a,($dc)    // read input
		7dfd | bd       : cp   l
		7dfe | 6f       : ld   l,a
		7dff | c8       : ret  z
		7e00 | fe fb    : cp   $fb
		7e02 | 20 01    : jr   nz,$7e05
		7e04 | 25       : dec  h          // pressed left - code decrement
		7e05 | fe f7    : cp   $f7
		7e07 | 20 01    : jr   nz,$7e0a
		7e09 | 24       : inc  h          // pressed right - code increment
		7e0a | fe ef    : cp   $ef
		7e0c | 20 03    : jr   nz,$7e11
		7e0e | 7c       : ld   a,h        // pressed button 1 - play sound
		7e0f | 18 05    : jr   $7e16
		7e11 | fe df    : cp   $df
		7e13 | c0       : ret  nz
		7e14 | 3e c0    : ld   a,$c0      // pressed button 2 - stop sound
		7e16 | 32 04 d0 : ld   ($d004),a  // send sound code
		7e19 | c9       : ret
		-->
	</script>
	<script state="run">
		<output format="----- aerial assult 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@010b =               c4</action>
		<action>slot:cart:rom.md@0081 =         21c2003a</action>
		<action>slot:cart:rom.mq@7df0 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@7df8 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@7e00 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@7e08 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@7e10 = ffffffffffffffff</action>
		<action>slot:cart:rom.mq@7e18 = ffffffffffffffff</action>
	</script>
</cheat>
jman

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

[sms/aerialas]+ Aerial Assault

Post by jman »

aerialas.xml

Code: Select all

<!-- Aerial Assault (Europe, Brazil) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>slot:cart:rom.mb@36EB = C9</action> <!-- background -->
            <action>slot:cart:rom.mb@BB8C = C9</action> <!-- object -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@36EB = 3E</action>
            <action>slot:cart:rom.mb@BB8C = C8</action>
        </script>
    </cheat>

    <cheat desc="auto fire - shot">
        <script state="on">
            <action>slot:cart:rom.mb@378B = 00</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@378B = 0A</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>slot:cart:rom.md@331B = FE7DF0CD        </action> <!-- x position -->
            <action>slot:cart:rom.md@332C = FE7DF6CD        </action> <!-- y position -->
            <action>slot:cart:rom.mq@7DF0 = DD470418007EDD47</action>
            <action>slot:cart:rom.mq@7DF8 = 003E08284FA7017E</action>
            <action>slot:cart:rom.mq@7E00 = 81784F44ED7E05F2</action>
            <action>slot:cart:rom.mq@7E08 = FFFFFFFFFFFFFFC9</action>
            <!--
            7DF0 | 47       : ld   b,a        // x position
            7DF1 | DD 7E 00 : ld   a,(ix+$00)
            7DF4 | 18 04    : jr   $7DFA
            7DF6 | 47       : ld   b,a        // y position
            7DF7 | DD 7E 01 : ld   a,(ix+$01)
            7DFA | A7       : and  a          // common routine
            7DFB | 4F       : ld   c,a
            7DFC | 28 08    : jr   z,$7E06
            7DFE | 3E xx    : ld   a,$xx
            7E00 | F2 05 7E : jp   p,$7E05
            7E03 | ED 44    : neg
            7E05 | 4F       : ld   c,a
            7E06 | 78       : ld   a,b
            7E07 | 81       : add  a,c
            7E08 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>slot:cart:rom.mb@7DFF = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.md@331B = FE0086DD        </action>
            <action>slot:cart:rom.md@332C = FE0186DD        </action>
            <action>slot:cart:rom.mq@7DF0 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7DF8 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E00 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E08 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>slot:cart:rom.mw@28BD = 7E10            </action> <!-- level 1 -->
            <action>slot:cart:rom.mw@2B0D = 7E10            </action> <!-- level 2 -->
            <action>slot:cart:rom.mw@2D15 = 7E10            </action> <!-- level 3 -->
            <action>slot:cart:rom.mw@2F94 = 7E10            </action> <!-- level 4 -->
            <action>slot:cart:rom.mw@3219 = 7E10            </action> <!-- level 5 -->
            <action>slot:cart:rom.mq@7E10 = 10C13AB2CDC50006</action>
            <action>slot:cart:rom.mq@7E18 = FFFFFFFFFFFFC9F9</action>
            <!--
            7E10 | 06 xx    : ld   b,$xx
            7E12 | C5       : push bc
            7E13 | CD B2 3A : call $3AB2
            7E16 | C1       : pop  bc
            7E17 | 10 F9    : djnz $7E12
            7E19 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>slot:cart:rom.mb@7E11 = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@28BD = 3AB2            </action>
            <action>slot:cart:rom.mw@2B0D = 3AB2            </action>
            <action>slot:cart:rom.mw@2D15 = 3AB2            </action>
            <action>slot:cart:rom.mw@2F94 = 3AB2            </action>
            <action>slot:cart:rom.mw@3219 = 3AB2            </action>
            <action>slot:cart:rom.mq@7E10 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E18 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="weapon - shot">
        <parameter>
            <item value="0x00">normal shot</item>
            <item value="0x01">3-way      </item>
            <item value="0x02">8-way      </item>
            <item value="0x03">laser      </item>
            <item value="0x04">wave       </item>
            <item value="0x05">missile    </item>
            <item value="0x06">explosion  </item>
            <item value="0x07">6-way      </item>
            <item value="0x08">direction  </item>
        </parameter>
        <script state="on">
            <action>slot:cart:rom.md@379A = CD00003E</action>
            <action>slot:cart:rom.md@3AB5 = CD00003E</action>
        </script>
        <script state="change">
            <action>slot:cart:rom.mb@379B = param</action>
            <action>slot:cart:rom.mb@3AB6 = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.md@379A = CDC1353A</action>
            <action>slot:cart:rom.md@3AB5 = CDC1353A</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop sfx by sound stop button -->
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>slot:cart:rom.mb@010B = CD              </action> <!-- accept sound code -->
            <action>slot:cart:rom.md@0081 = 217E20C3        </action>
            <action>slot:cart:rom.mq@7E20 = 47B8DCDBC10021FB</action>
            <action>slot:cart:rom.mq@7E28 = FE350120FBFEFA28</action>
            <action>slot:cart:rom.mq@7E30 = 0420FDFE340120F7</action>
            <action>slot:cart:rom.mq@7E38 = 0520FEFE0618F03E</action>
            <action>slot:cart:rom.mq@7E40 = 20EFFE787786103E</action>
            <action>slot:cart:rom.mq@7E48 = DFFE061880F67E05</action>
            <action>slot:cart:rom.mq@7E50 = 18D00432FF3E0520</action>
            <action>slot:cart:rom.mq@7E58 = FFFFFFFFFFFFFFCB</action>
            <!--
            7E20 | FB       : ei             // enable interrupt
            7E21 | 21 00 C1 : ld   hl,$C100  // sound code address
            7E24 | DB DC    : in   a,($DC)   // read input
            7E26 | B8       : cp   b
            7E27 | 47       : ld   b,a
            7E28 | 28 FA    : jr   z,$7E24
            7E2A | FE FB    : cp   $FB
            7E2C | 20 01    : jr   nz,$7E2F
            7E2E | 35       : dec  (hl)      // decrease code -01
            7E2F | FE F7    : cp   $F7
            7E31 | 20 01    : jr   nz,$7E34
            7E33 | 34       : inc  (hl)      // increase code +01
            7E34 | FE FD    : cp   $FD
            7E36 | 20 04    : jr   nz,$7E3C
            7E38 | 3E F0    : ld   a,$F0     // decrease code -10
            7E3A | 18 06    : jr   $7E42
            7E3C | FE FE    : cp   $FE
            7E3E | 20 05    : jr   nz,$7E45
            7E40 | 3E 10    : ld   a,$10     // increase code +10
            7E42 | 86       : add  a,(hl)
            7E43 | 77       : ld   (hl),a
            7E44 | 78       : ld   a,b
            7E45 | FE EF    : cp   $EF
            7E47 | 20 05    : jr   nz,$7E4E
            7E49 | 7E       : ld   a,(hl)    // play sound
            7E4A | F6 80    : or   $80
            7E4C | 18 06    : jr   $7E54
            7E4E | FE DF    : cp   $DF
            7E50 | 20 05    : jr   nz,$7E57
            7E52 | 3E FF    : ld   a,$FF     // stop sound
            7E54 | 32 04 D0 : ld   ($D004),a // send sound code
            7E57 | 18 CB    : jr   $7E24
            -->
        </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@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@010B = C4              </action>
            <action>slot:cart:rom.md@0081 = 21C2003A        </action>
            <action>slot:cart:rom.mq@7E20 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E28 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E30 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E38 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E40 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E48 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E50 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E58 = 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>
aerialasu.xml

Code: Select all

<!-- Aerial Assault (USA) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>slot:cart:rom.mb@3703 = C9</action> <!-- background -->
            <action>slot:cart:rom.mb@BB8C = C9</action> <!-- object -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@3703 = 3E</action>
            <action>slot:cart:rom.mb@BB8C = C8</action>
        </script>
    </cheat>

    <cheat desc="auto fire - shot">
        <script state="on">
            <action>slot:cart:rom.mb@37A3 = 00</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@37A3 = 0A</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>slot:cart:rom.md@331B = FE7E20CD        </action> <!-- x position -->
            <action>slot:cart:rom.md@332C = FE7E26CD        </action> <!-- y position -->
            <action>slot:cart:rom.mq@7E20 = DD470418007EDD47</action>
            <action>slot:cart:rom.mq@7E28 = 003E08284FA7017E</action>
            <action>slot:cart:rom.mq@7E30 = 81784F44ED7E35F2</action>
            <action>slot:cart:rom.mq@7E38 = FFFFFFFFFFFFFFC9</action>
            <!--
            7E20 | 47       : ld   b,a        // x position
            7E21 | DD 7E 00 : ld   a,(ix+$00)
            7E24 | 18 04    : jr   $7E2A
            7E26 | 47       : ld   b,a        // y position
            7E27 | DD 7E 01 : ld   a,(ix+$01)
            7E2A | A7       : and  a          // common routine
            7E2B | 4F       : ld   c,a
            7E2C | 28 08    : jr   z,$7E36
            7E2E | 3E xx    : ld   a,$xx
            7E30 | F2 35 7E : jp   p,$7E35
            7E33 | ED 44    : neg
            7E35 | 4F       : ld   c,a
            7E36 | 78       : ld   a,b
            7E37 | 81       : add  a,c
            7E38 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>slot:cart:rom.mb@7E2F = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.md@331B = FE0086DD        </action>
            <action>slot:cart:rom.md@332C = FE0186DD        </action>
            <action>slot:cart:rom.mq@7E20 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E28 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E30 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E38 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter min="0x01" max="0x05" step="0x01" />
        <script state="on">
            <action>slot:cart:rom.mw@28BD = 7E40            </action> <!-- level 1 -->
            <action>slot:cart:rom.mw@2B0D = 7E40            </action> <!-- level 2 -->
            <action>slot:cart:rom.mw@2D15 = 7E40            </action> <!-- level 3 -->
            <action>slot:cart:rom.mw@2F94 = 7E40            </action> <!-- level 4 -->
            <action>slot:cart:rom.mw@3219 = 7E40            </action> <!-- level 5 -->
            <action>slot:cart:rom.mq@7E40 = 10C13ACACDC50006</action>
            <action>slot:cart:rom.mq@7E48 = FFFFFFFFFFFFC9F9</action>
            <!--
            7E40 | 06 xx    : ld   b,$xx
            7E42 | C5       : push bc
            7E43 | CD CA 3A : call $3ACA
            7E46 | C1       : pop  bc
            7E47 | 10 F9    : djnz $7E42
            7E49 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>slot:cart:rom.mb@7E41 = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@28BD = 3ACA            </action>
            <action>slot:cart:rom.mw@2B0D = 3ACA            </action>
            <action>slot:cart:rom.mw@2D15 = 3ACA            </action>
            <action>slot:cart:rom.mw@2F94 = 3ACA            </action>
            <action>slot:cart:rom.mw@3219 = 3ACA            </action>
            <action>slot:cart:rom.mq@7E40 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E48 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="weapon - shot">
        <parameter>
            <item value="0x00">normal shot</item>
            <item value="0x01">3-way      </item>
            <item value="0x02">8-way      </item>
            <item value="0x03">laser      </item>
            <item value="0x04">wave       </item>
            <item value="0x05">missile    </item>
            <item value="0x06">explosion  </item>
            <item value="0x07">6-way      </item>
            <item value="0x08">direction  </item>
        </parameter>
        <script state="on">
            <action>slot:cart:rom.md@37B2 = CD00003E</action>
            <action>slot:cart:rom.md@3ACD = CD00003E</action>
        </script>
        <script state="change">
            <action>slot:cart:rom.mb@37B3 = param</action>
            <action>slot:cart:rom.mb@3ACE = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.md@37B2 = CDC1353A</action>
            <action>slot:cart:rom.md@3ACD = CDC1353A</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop sfx by sound stop button -->
        <comment>set &quot;skip rom check error&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>slot:cart:rom.mb@010B = CD              </action> <!-- accept sound code -->
            <action>slot:cart:rom.md@0081 = 217E50C3        </action>
            <action>slot:cart:rom.mq@7E50 = 47B8DCDBC10021FB</action>
            <action>slot:cart:rom.mq@7E58 = FE350120FBFEFA28</action>
            <action>slot:cart:rom.mq@7E60 = 0420FDFE340120F7</action>
            <action>slot:cart:rom.mq@7E68 = 0520FEFE0618F03E</action>
            <action>slot:cart:rom.mq@7E70 = 20EFFE787786103E</action>
            <action>slot:cart:rom.mq@7E78 = DFFE061880F67E05</action>
            <action>slot:cart:rom.mq@7E80 = 18D00432FF3E0520</action>
            <action>slot:cart:rom.mq@7E88 = FFFFFFFFFFFFFFCB</action>
            <!--
            7E50 | FB       : ei             // enable interrupt
            7E51 | 21 00 C1 : ld   hl,$C100  // sound code address
            7E54 | DB DC    : in   a,($DC)   // read input
            7E56 | B8       : cp   b
            7E57 | 47       : ld   b,a
            7E58 | 28 FA    : jr   z,$7E54
            7E5A | FE FB    : cp   $FB
            7E5C | 20 01    : jr   nz,$7E5F
            7E5E | 35       : dec  (hl)      // decrease code -01
            7E5F | FE F7    : cp   $F7
            7E61 | 20 01    : jr   nz,$7E64
            7E63 | 34       : inc  (hl)      // increase code +01
            7E64 | FE FD    : cp   $FD
            7E66 | 20 04    : jr   nz,$7E6C
            7E68 | 3E F0    : ld   a,$F0     // decrease code -10
            7E6A | 18 06    : jr   $7E72
            7E6C | FE FE    : cp   $FE
            7E6E | 20 05    : jr   nz,$7E75
            7E70 | 3E 10    : ld   a,$10     // increase code +10
            7E72 | 86       : add  a,(hl)
            7E73 | 77       : ld   (hl),a
            7E74 | 78       : ld   a,b
            7E75 | FE EF    : cp   $EF
            7E77 | 20 05    : jr   nz,$7E7E
            7E79 | 7E       : ld   a,(hl)    // play sound
            7E7A | F6 80    : or   $80
            7E7C | 18 06    : jr   $7E84
            7E7E | FE DF    : cp   $DF
            7E80 | 20 05    : jr   nz,$7E87
            7E82 | 3E FF    : ld   a,$FF     // stop sound
            7E84 | 32 04 D0 : ld   ($D004),a // send sound code
            7E87 | 18 CB    : jr   $7E54
            -->
        </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@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@010B = C4              </action>
            <action>slot:cart:rom.md@0081 = 21C2003A        </action>
            <action>slot:cart:rom.mq@7E50 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E58 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E60 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E68 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E70 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E78 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E80 = FFFFFFFFFFFFFFFF</action>
            <action>slot:cart:rom.mq@7E88 = 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>
  • "weapon - shot" : Added new.
  • "sound test mode" : Rewritten routine.
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
Post Reply