[smsj/astrofl] TransBot/Astro Flash

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

[smsj/astrofl] TransBot/Astro Flash

Post by jman »

Code: Select all

<cheat desc="no hit (wip)">
    <script state="on">
        <action>mycard:cart:rom.mb@10ee = c9</action> <!-- enemy -->
        <action>mycard:cart:rom.mb@1151 = c9</action> <!-- bullet -->
    </script>
    <script state="off">
        <action>mycard:cart:rom.mb@10ee = fe</action>
        <action>mycard:cart:rom.mb@1151 = c8</action>
    </script>
</cheat>

<cheat desc="auto fire (wip)">
    <script state="on">
        <action>mycard:cart:rom.mb@0cdd = 00</action>
    </script>
    <script state="off">
        <action>mycard:cart:rom.mb@0cdd = 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@0d05 = param</action> <!-- up -->
        <action>mycard:cart:rom.mw@0d0b = param</action> <!-- down -->
        <action>mycard:cart:rom.mw@0d11 = param</action> <!-- left -->
        <action>mycard:cart:rom.mw@0d17 = param</action> <!-- right -->
    </script>
    <script state="off">
        <action>mycard:cart:rom.mw@0d05 = 0100</action>
        <action>mycard:cart:rom.mw@0d0b = 0100</action>
        <action>mycard:cart:rom.mw@0d11 = 0200</action>
        <action>mycard:cart:rom.mw@0d17 = 0200</action>
    </script>
</cheat>

<cheat desc="bullet speed (wip)">
    <parameter>
        <item value="0x0200">01 (slow)</item>
        <item value="0x0400">02       </item>
        <item value="0x0800">03       </item>
        <item value="0x0c00">04       </item>
        <item value="0x1000">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>mycard:cart:rom.mw@0d53 = param</action> <!-- A -->
        <action>mycard:cart:rom.mw@0d93 = param</action> <!-- B -->
        <action>mycard:cart:rom.mw@0dd0 = param</action> <!-- C -->
        <action>mycard:cart:rom.mw@0e0d = param</action> <!-- D -->
        <action>mycard:cart:rom.mw@0e57 = param</action> <!-- E 1 -->
        <action>mycard:cart:rom.mw@0e92 = param</action> <!-- E 2 -->
        <action>mycard:cart:rom.mw@0ec4 = param</action> <!-- E 3 -->
        <action>mycard:cart:rom.mw@0f1b = param</action> <!-- F 1 -->
        <action>mycard:cart:rom.mw@0f49 = param</action> <!-- F 2 -->
    </script>
    <script state="off">
        <action>mycard:cart:rom.mw@0d53 = 0480</action>
        <action>mycard:cart:rom.mw@0d93 = 0600</action>
        <action>mycard:cart:rom.mw@0dd0 = 0500</action>
        <action>mycard:cart:rom.mw@0e0d = 0800</action>
        <action>mycard:cart:rom.mw@0e57 = 0459</action>
        <action>mycard:cart:rom.mw@0e92 = 0500</action>
        <action>mycard:cart:rom.mw@0ec4 = 0459</action>
        <action>mycard:cart:rom.mw@0f1b = 0600</action>
        <action>mycard:cart:rom.mw@0f49 = 0600</action>
    </script>
</cheat>

<cheat desc="infinite weapon (wip)">
    <script state="on">
        <action>mycard:cart:rom.mb@0bb5 = 00</action>
    </script>
    <script state="off">
        <action>mycard:cart:rom.mb@0bb5 = 03</action>
    </script>
</cheat>

<cheat desc="roulette speed (wip)">
    <parameter>
        <item value="0x36">01 (slow)</item>
        <item value="0x24">02       </item>
        <item value="0x12">03       </item>
        <item value="0x06">04       </item>
        <item value="0x01">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>mycard:cart:rom.mb@0ad8 = param</action>
    </script>
    <script state="off">
        <action>mycard:cart:rom.mb@0ad8 = 06</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.mw@0107 =             7fd0</action>
        <action>mycard:cart:rom.mq@7fd0 = 22d57fd311800021</action>
        <action>mycard:cart:rom.mq@7fd8 = fec86fbddcdbc100</action>
        <action>mycard:cart:rom.mq@7fe0 = 0120f7fe250120fb</action>
        <action>mycard:cart:rom.mq@7fe8 = 04187c0320effe24</action>
        <action>mycard:cart:rom.mq@7ff0 = c9de0032afc0dffe</action>
        <!--
        7fd0 | 21 00 80 : ld   hl,$8000
        7fd3 | 11 d3 7f : ld   de,$7fd3
        7fd6 | d5       : push de
        7fd7 | 22 00 c1 : ld   ($c100),hl
        7fda | db dc    : in   a,($dc)
        7fdc | bd       : cp   l
        7fdd | 6f       : ld   l,a
        7fde | c8       : ret  z
        7fdf | fe fb    : cp   $fb
        7fe1 | 20 01    : jr   nz,$7fe4
        7fe3 | 25       : dec  h
        7fe4 | fe f7    : cp   $f7
        7fe6 | 20 01    : jr   nz,$7fe9
        7fe8 | 24       : inc  h
        7fe9 | fe ef    : cp   $ef
        7feb | 20 03    : jr   nz,$7ff0
        7fed | 7c       : ld   a,h
        7fee | 18 04    : jr   $7ff4
        7ff0 | fe df    : cp   $df
        7ff2 | c0       : ret  nz
        7ff3 | af       : xor  a
        7ff4 | 32 00 de : ld   ($de00),a
        7ff7 | c9       : ret
        -->
    </script>
    <script state="run">
        <output format="----- astro flash 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.mw@0107 =             0235</action>
        <action>mycard:cart:rom.mq@7fd0 = 215d813700625c59</action>
        <action>mycard:cart:rom.mq@7fd8 = 767257615c597663</action>
        <action>mycard:cart:rom.mq@7fe0 = 21478137006e6476</action>
        <action>mycard:cart:rom.mq@7fe8 = 5b5957615c597663</action>
        <action>mycard:cart:rom.mq@7ff0 = 597663213a817200</action>
    </script>
</cheat>
jman

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

[sms/transbot]+ TransBot/Astro Flash

Post by jman »

transbot.xml

Code: Select all

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

    <cheat desc="no hit">
        <script state="on">
            <action>slot:cart:rom.mb@1159 = C9</action> <!-- enemy -->
            <action>slot:cart:rom.mb@11BC = C9</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@1159 = FE</action>
            <action>slot:cart:rom.mb@11BC = C8</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>slot:cart:rom.mb@0D3A = 00</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@0D3A = C0</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <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>slot:cart:rom.mb@0CB7 = CF - ((param rshift 04) / 04)</action> <!-- dive into underground -->
            <action>slot:cart:rom.mw@0D62 = param                        </action> <!-- up -->
            <action>slot:cart:rom.mw@0D68 = param                        </action> <!-- down -->
            <action>slot:cart:rom.mw@0D6E = param                        </action> <!-- left -->
            <action>slot:cart:rom.mw@0D74 = param                        </action> <!-- right -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@0CB7 = CF  </action>
            <action>slot:cart:rom.mw@0D62 = 0100</action>
            <action>slot:cart:rom.mw@0D68 = 0100</action>
            <action>slot:cart:rom.mw@0D6E = 0200</action>
            <action>slot:cart:rom.mw@0D74 = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0200">01 (slow)</item>
            <item value="0x0400">02       </item>
            <item value="0x0800">03       </item>
            <item value="0x0c00">04       </item>
            <item value="0x1000">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>slot:cart:rom.mw@0DB0 = param</action> <!-- A -->
            <action>slot:cart:rom.mw@0DF0 = param</action> <!-- B -->
            <action>slot:cart:rom.mw@0E2D = param</action> <!-- C -->
            <action>slot:cart:rom.mw@0E6A = param</action> <!-- D -->
            <action>slot:cart:rom.mw@0EB4 = param</action> <!-- E 1 -->
            <action>slot:cart:rom.mw@0EEF = param</action> <!-- E 2 -->
            <action>slot:cart:rom.mw@0F21 = param</action> <!-- E 3 -->
            <action>slot:cart:rom.mw@0F78 = param</action> <!-- F 1 -->
            <action>slot:cart:rom.mw@0FA6 = param</action> <!-- F 2 -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@0DB0 = 0480</action>
            <action>slot:cart:rom.mw@0DF0 = 0600</action>
            <action>slot:cart:rom.mw@0E2D = 0500</action>
            <action>slot:cart:rom.mw@0E6A = 0800</action>
            <action>slot:cart:rom.mw@0EB4 = 0459</action>
            <action>slot:cart:rom.mw@0EEF = 0500</action>
            <action>slot:cart:rom.mw@0F21 = 0459</action>
            <action>slot:cart:rom.mw@0F78 = 0600</action>
            <action>slot:cart:rom.mw@0FA6 = 0600</action>
        </script>
    </cheat>

    <cheat desc="infinite weapon">
        <script state="on">
            <action>slot:cart:rom.mb@0C12 = 00</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@0C12 = 03</action>
        </script>
    </cheat>

    <cheat desc="roulette speed">
        <parameter>
            <item value="0x36">01 (slow)</item>
            <item value="0x24">02       </item>
            <item value="0x12">03       </item>
            <item value="0x06">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>slot:cart:rom.mb@0B35 = param</action>
            <action>slot:cart:rom.mb@0B3E = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@0B35 = 06</action>
            <action>slot:cart:rom.mb@0B3E = 0A</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.mq@0120 = 2847B8DCDBC00021</action>
            <action>slot:cart:rom.mq@0128 = F7FE350120FBFEFA</action>
            <action>slot:cart:rom.mq@0130 = 3E0420FDFE340120</action>
            <action>slot:cart:rom.mq@0138 = 3E0520FEFE0618F0</action>
            <action>slot:cart:rom.mq@0140 = 0520EFFE78778610</action>
            <action>slot:cart:rom.mq@0148 = 20DFFE051880F67E</action>
            <action>slot:cart:rom.mq@0150 = FFCC18DE0032AF04</action>
            <!--
            0120 | 21 00 C0 : ld   hl,$C000  // sound code address
            0123 | DB DC    : in   a,($DC)   // read input
            0125 | B8       : cp   b
            0126 | 47       : ld   b,a
            0127 | 28 FA    : jr   z,$0123
            0129 | FE FB    : cp   $FB
            012B | 20 01    : jr   nz,$012E
            012D | 35       : dec  (hl)      // decrease code -01
            012E | FE F7    : cp   $F7
            0130 | 20 01    : jr   nz,$0133
            0132 | 34       : inc  (hl)      // increase code +01
            0133 | FE FD    : cp   $FD
            0135 | 20 04    : jr   nz,$013B
            0137 | 3E F0    : ld   a,$F0     // decrease code -10
            0139 | 18 06    : jr   $0141
            013B | FE FE    : cp   $FE
            013D | 20 05    : jr   nz,$0144
            013F | 3E 10    : ld   a,$10     // increase code +10
            0141 | 86       : add  a,(hl)
            0142 | 77       : ld   (hl),a
            0143 | 78       : ld   a,b
            0144 | FE EF    : cp   $EF
            0146 | 20 05    : jr   nz,$014D
            0148 | 7E       : ld   a,(hl)    // play sound
            0149 | F6 80    : or   $80
            014B | 18 05    : jr   $0152
            014D | FE DF    : cp   $DF
            014F | 20 04    : jr   nz,$0155
            0151 | AF       : xor  a         // stop sound
            0152 | 32 00 DE : ld   ($DE00),a // send sound code
            0155 | 18 CC    : jr   $0123
            -->
        </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.mq@0120 = 813A017E21024FC3</action>
            <action>slot:cart:rom.mq@0128 = 3A01B0210328A7C1</action>
            <action>slot:cart:rom.mq@0130 = 7E1900165F87C10E</action>
            <action>slot:cart:rom.mq@0138 = E522287ECB6F6623</action>
            <action>slot:cart:rom.mq@0140 = D021E5015521E1DD</action>
            <action>slot:cart:rom.mq@0148 = 19190016025EDD2F</action>
            <action>slot:cart:rom.mq@0150 = 00CBDDE96F66237E</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>
transbotc.xml

Code: Select all

<!-- TransBot (Europe, USA, Brazil, Sega Card) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>mycard:cart:rom.mb@1159 = C9</action> <!-- enemy -->
            <action>mycard:cart:rom.mb@11BC = C9</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>mycard:cart:rom.mb@1159 = FE</action>
            <action>mycard:cart:rom.mb@11BC = C8</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>mycard:cart:rom.mb@0D3A = 00</action>
        </script>
        <script state="off">
            <action>mycard:cart:rom.mb@0D3A = C0</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <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.mb@0CB7 = CF - ((param rshift 04) / 04)</action> <!-- dive into underground -->
            <action>mycard:cart:rom.mw@0D62 = param                        </action> <!-- up -->
            <action>mycard:cart:rom.mw@0D68 = param                        </action> <!-- down -->
            <action>mycard:cart:rom.mw@0D6E = param                        </action> <!-- left -->
            <action>mycard:cart:rom.mw@0D74 = param                        </action> <!-- right -->
        </script>
        <script state="off">
            <action>mycard:cart:rom.mb@0CB7 = CF  </action>
            <action>mycard:cart:rom.mw@0D62 = 0100</action>
            <action>mycard:cart:rom.mw@0D68 = 0100</action>
            <action>mycard:cart:rom.mw@0D6E = 0200</action>
            <action>mycard:cart:rom.mw@0D74 = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0200">01 (slow)</item>
            <item value="0x0400">02       </item>
            <item value="0x0800">03       </item>
            <item value="0x0c00">04       </item>
            <item value="0x1000">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>mycard:cart:rom.mw@0DB0 = param</action> <!-- A -->
            <action>mycard:cart:rom.mw@0DF0 = param</action> <!-- B -->
            <action>mycard:cart:rom.mw@0E2D = param</action> <!-- C -->
            <action>mycard:cart:rom.mw@0E6A = param</action> <!-- D -->
            <action>mycard:cart:rom.mw@0EB4 = param</action> <!-- E 1 -->
            <action>mycard:cart:rom.mw@0EEF = param</action> <!-- E 2 -->
            <action>mycard:cart:rom.mw@0F21 = param</action> <!-- E 3 -->
            <action>mycard:cart:rom.mw@0F78 = param</action> <!-- F 1 -->
            <action>mycard:cart:rom.mw@0FA6 = param</action> <!-- F 2 -->
        </script>
        <script state="off">
            <action>mycard:cart:rom.mw@0DB0 = 0480</action>
            <action>mycard:cart:rom.mw@0DF0 = 0600</action>
            <action>mycard:cart:rom.mw@0E2D = 0500</action>
            <action>mycard:cart:rom.mw@0E6A = 0800</action>
            <action>mycard:cart:rom.mw@0EB4 = 0459</action>
            <action>mycard:cart:rom.mw@0EEF = 0500</action>
            <action>mycard:cart:rom.mw@0F21 = 0459</action>
            <action>mycard:cart:rom.mw@0F78 = 0600</action>
            <action>mycard:cart:rom.mw@0FA6 = 0600</action>
        </script>
    </cheat>

    <cheat desc="infinite weapon">
        <script state="on">
            <action>mycard:cart:rom.mb@0C12 = 00</action>
        </script>
        <script state="off">
            <action>mycard:cart:rom.mb@0C12 = 03</action>
        </script>
    </cheat>

    <cheat desc="roulette speed">
        <parameter>
            <item value="0x36">01 (slow)</item>
            <item value="0x24">02       </item>
            <item value="0x12">03       </item>
            <item value="0x06">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>mycard:cart:rom.mb@0B35 = param</action>
            <action>mycard:cart:rom.mb@0B3E = param</action>
        </script>
        <script state="off">
            <action>mycard:cart:rom.mb@0B35 = 06</action>
            <action>mycard:cart:rom.mb@0B3E = 0A</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.mq@0120 = 2847B8DCDBC00021</action>
            <action>mycard:cart:rom.mq@0128 = F7FE350120FBFEFA</action>
            <action>mycard:cart:rom.mq@0130 = 3E0420FDFE340120</action>
            <action>mycard:cart:rom.mq@0138 = 3E0520FEFE0618F0</action>
            <action>mycard:cart:rom.mq@0140 = 0520EFFE78778610</action>
            <action>mycard:cart:rom.mq@0148 = 20DFFE051880F67E</action>
            <action>mycard:cart:rom.mq@0150 = FFCC18DE0032AF04</action>
            <!--
            0120 | 21 00 C0 : ld   hl,$C000  // sound code address
            0123 | DB DC    : in   a,($DC)   // read input
            0125 | B8       : cp   b
            0126 | 47       : ld   b,a
            0127 | 28 FA    : jr   z,$0123
            0129 | FE FB    : cp   $FB
            012B | 20 01    : jr   nz,$012E
            012D | 35       : dec  (hl)      // decrease code -01
            012E | FE F7    : cp   $F7
            0130 | 20 01    : jr   nz,$0133
            0132 | 34       : inc  (hl)      // increase code +01
            0133 | FE FD    : cp   $FD
            0135 | 20 04    : jr   nz,$013B
            0137 | 3E F0    : ld   a,$F0     // decrease code -10
            0139 | 18 06    : jr   $0141
            013B | FE FE    : cp   $FE
            013D | 20 05    : jr   nz,$0144
            013F | 3E 10    : ld   a,$10     // increase code +10
            0141 | 86       : add  a,(hl)
            0142 | 77       : ld   (hl),a
            0143 | 78       : ld   a,b
            0144 | FE EF    : cp   $EF
            0146 | 20 05    : jr   nz,$014D
            0148 | 7E       : ld   a,(hl)    // play sound
            0149 | F6 80    : or   $80
            014B | 18 05    : jr   $0152
            014D | FE DF    : cp   $DF
            014F | 20 04    : jr   nz,$0155
            0151 | AF       : xor  a         // stop sound
            0152 | 32 00 DE : ld   ($DE00),a // send sound code
            0155 | 18 CC    : jr   $0123
            -->
        </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.mq@0120 = 813A017E21024FC3</action>
            <action>mycard:cart:rom.mq@0128 = 3A01B0210328A7C1</action>
            <action>mycard:cart:rom.mq@0130 = 7E1900165F87C10E</action>
            <action>mycard:cart:rom.mq@0138 = E522287ECB6F6623</action>
            <action>mycard:cart:rom.mq@0140 = D021E5015521E1DD</action>
            <action>mycard:cart:rom.mq@0148 = 19190016025EDD2F</action>
            <action>mycard:cart:rom.mq@0150 = 00CBDDE96F66237E</action>
        </script>
    </cheat>

</mamecheat>
transbotp.xml

Code: Select all

<!-- TransBot (USA, prototype) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>slot:cart:rom.mb@111F = C9</action> <!-- enemy -->
            <action>slot:cart:rom.mb@1182 = C9</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@10EE = FE</action>
            <action>slot:cart:rom.mb@1182 = C8</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>slot:cart:rom.mb@0D00 = 00</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@0D00 = C0</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <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>slot:cart:rom.mb@0C7D = CF - ((param rshift 04) / 04)</action> <!-- dive into underground -->
            <action>slot:cart:rom.mw@0D28 = param                        </action> <!-- up -->
            <action>slot:cart:rom.mw@0D2E = param                        </action> <!-- down -->
            <action>slot:cart:rom.mw@0D34 = param                        </action> <!-- left -->
            <action>slot:cart:rom.mw@0D3A = param                        </action> <!-- right -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@0C7D = CF  </action>
            <action>slot:cart:rom.mw@0D28 = 0100</action>
            <action>slot:cart:rom.mw@0D2E = 0100</action>
            <action>slot:cart:rom.mw@0D34 = 0200</action>
            <action>slot:cart:rom.mw@0D3A = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0200">01 (slow)</item>
            <item value="0x0400">02       </item>
            <item value="0x0800">03       </item>
            <item value="0x0c00">04       </item>
            <item value="0x1000">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>slot:cart:rom.mw@0D76 = param</action> <!-- A -->
            <action>slot:cart:rom.mw@0DB6 = param</action> <!-- B -->
            <action>slot:cart:rom.mw@0DF3 = param</action> <!-- C -->
            <action>slot:cart:rom.mw@0E30 = param</action> <!-- D -->
            <action>slot:cart:rom.mw@0E7A = param</action> <!-- E 1 -->
            <action>slot:cart:rom.mw@0EB5 = param</action> <!-- E 2 -->
            <action>slot:cart:rom.mw@0EE7 = param</action> <!-- E 3 -->
            <action>slot:cart:rom.mw@0F3E = param</action> <!-- F 1 -->
            <action>slot:cart:rom.mw@0F6C = param</action> <!-- F 2 -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@0D76 = 0480</action>
            <action>slot:cart:rom.mw@0DB6 = 0600</action>
            <action>slot:cart:rom.mw@0DF3 = 0500</action>
            <action>slot:cart:rom.mw@0E30 = 0800</action>
            <action>slot:cart:rom.mw@0E7A = 0459</action>
            <action>slot:cart:rom.mw@0EB5 = 0500</action>
            <action>slot:cart:rom.mw@0EE7 = 0459</action>
            <action>slot:cart:rom.mw@0F3E = 0600</action>
            <action>slot:cart:rom.mw@0F6C = 0600</action>
        </script>
    </cheat>

    <cheat desc="infinite weapon">
        <script state="on">
            <action>slot:cart:rom.mb@0BD8 = 00</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@0BD8 = 03</action>
        </script>
    </cheat>

    <cheat desc="roulette speed">
        <parameter>
            <item value="0x36">01 (slow)</item>
            <item value="0x24">02       </item>
            <item value="0x12">03       </item>
            <item value="0x06">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>slot:cart:rom.mb@0AFB = param</action>
            <action>slot:cart:rom.mb@0B04 = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@0AFB = 06</action>
            <action>slot:cart:rom.mb@0B04 = 0A</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.mq@0120 = 2847B8DCDBC00021</action>
            <action>slot:cart:rom.mq@0128 = F7FE350120FBFEFA</action>
            <action>slot:cart:rom.mq@0130 = 3E0420FDFE340120</action>
            <action>slot:cart:rom.mq@0138 = 3E0520FEFE0618F0</action>
            <action>slot:cart:rom.mq@0140 = 0520EFFE78778610</action>
            <action>slot:cart:rom.mq@0148 = 20DFFE051880F67E</action>
            <action>slot:cart:rom.mq@0150 = FFCC18DE0032AF04</action>
            <!--
            0120 | 21 00 C0 : ld   hl,$C000  // sound code address
            0123 | DB DC    : in   a,($DC)   // read input
            0125 | B8       : cp   b
            0126 | 47       : ld   b,a
            0127 | 28 FA    : jr   z,$0123
            0129 | FE FB    : cp   $FB
            012B | 20 01    : jr   nz,$012E
            012D | 35       : dec  (hl)      // decrease code -01
            012E | FE F7    : cp   $F7
            0130 | 20 01    : jr   nz,$0133
            0132 | 34       : inc  (hl)      // increase code +01
            0133 | FE FD    : cp   $FD
            0135 | 20 04    : jr   nz,$013B
            0137 | 3E F0    : ld   a,$F0     // decrease code -10
            0139 | 18 06    : jr   $0141
            013B | FE FE    : cp   $FE
            013D | 20 05    : jr   nz,$0144
            013F | 3E 10    : ld   a,$10     // increase code +10
            0141 | 86       : add  a,(hl)
            0142 | 77       : ld   (hl),a
            0143 | 78       : ld   a,b
            0144 | FE EF    : cp   $EF
            0146 | 20 05    : jr   nz,$014D
            0148 | 7E       : ld   a,(hl)    // play sound
            0149 | F6 80    : or   $80
            014B | 18 05    : jr   $0152
            014D | FE DF    : cp   $DF
            014F | 20 04    : jr   nz,$0155
            0151 | AF       : xor  a         // stop sound
            0152 | 32 00 DE : ld   ($DE00),a // send sound code
            0155 | 18 CC    : jr   $0123
            -->
        </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.mq@0120 = 813A017E21024FC3</action>
            <action>slot:cart:rom.mq@0128 = 3A01B0210328A7C1</action>
            <action>slot:cart:rom.mq@0130 = 7E1900165F87C10E</action>
            <action>slot:cart:rom.mq@0138 = E522287ECB6F6623</action>
            <action>slot:cart:rom.mq@0140 = 9621E5015521E1DD</action>
            <action>slot:cart:rom.mq@0148 = 19190016025EDD2F</action>
            <action>slot:cart:rom.mq@0150 = 00CBDDE96F66237E</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>
astrofl.xml

Code: Select all

<!-- Astro Flash (Japan, MyCard) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>mycard:cart:rom.mb@10EE = C9</action> <!-- enemy -->
            <action>mycard:cart:rom.mb@1151 = C9</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>mycard:cart:rom.mb@10EE = FE</action>
            <action>mycard:cart:rom.mb@1151 = C8</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>mycard:cart:rom.mb@0CDD = 00</action>
        </script>
        <script state="off">
            <action>mycard:cart:rom.mb@0CDD = C0</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <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.mb@0C5A = CF - ((param rshift 04) / 04)</action> <!-- dive into underground -->
            <action>mycard:cart:rom.mw@0D05 = param                        </action> <!-- up -->
            <action>mycard:cart:rom.mw@0D0B = param                        </action> <!-- down -->
            <action>mycard:cart:rom.mw@0D11 = param                        </action> <!-- left -->
            <action>mycard:cart:rom.mw@0D17 = param                        </action> <!-- right -->
        </script>
        <script state="off">
            <action>mycard:cart:rom.mb@0C5A = CF  </action>
            <action>mycard:cart:rom.mw@0D05 = 0100</action>
            <action>mycard:cart:rom.mw@0D0B = 0100</action>
            <action>mycard:cart:rom.mw@0D11 = 0200</action>
            <action>mycard:cart:rom.mw@0D17 = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0200">01 (slow)</item>
            <item value="0x0400">02       </item>
            <item value="0x0800">03       </item>
            <item value="0x0c00">04       </item>
            <item value="0x1000">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>mycard:cart:rom.mw@0D53 = param</action> <!-- A -->
            <action>mycard:cart:rom.mw@0D93 = param</action> <!-- B -->
            <action>mycard:cart:rom.mw@0DD0 = param</action> <!-- C -->
            <action>mycard:cart:rom.mw@0E0D = param</action> <!-- D -->
            <action>mycard:cart:rom.mw@0E57 = param</action> <!-- E 1 -->
            <action>mycard:cart:rom.mw@0E92 = param</action> <!-- E 2 -->
            <action>mycard:cart:rom.mw@0EC4 = param</action> <!-- E 3 -->
            <action>mycard:cart:rom.mw@0F1B = param</action> <!-- F 1 -->
            <action>mycard:cart:rom.mw@0F49 = param</action> <!-- F 2 -->
        </script>
        <script state="off">
            <action>mycard:cart:rom.mw@0D53 = 0480</action>
            <action>mycard:cart:rom.mw@0D93 = 0600</action>
            <action>mycard:cart:rom.mw@0DD0 = 0500</action>
            <action>mycard:cart:rom.mw@0E0D = 0800</action>
            <action>mycard:cart:rom.mw@0E57 = 0459</action>
            <action>mycard:cart:rom.mw@0E92 = 0500</action>
            <action>mycard:cart:rom.mw@0EC4 = 0459</action>
            <action>mycard:cart:rom.mw@0F1B = 0600</action>
            <action>mycard:cart:rom.mw@0F49 = 0600</action>
        </script>
    </cheat>

    <cheat desc="infinite weapon">
        <script state="on">
            <action>mycard:cart:rom.mb@0BB5 = 00</action>
        </script>
        <script state="off">
            <action>mycard:cart:rom.mb@0BB5 = 03</action>
        </script>
    </cheat>

    <cheat desc="roulette speed">
        <parameter>
            <item value="0x36">01 (slow)</item>
            <item value="0x24">02       </item>
            <item value="0x12">03       </item>
            <item value="0x06">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>mycard:cart:rom.mb@0AD8 = param</action>
            <action>mycard:cart:rom.mb@0AE1 = param</action>
        </script>
        <script state="off">
            <action>mycard:cart:rom.mb@0AD8 = 06</action>
            <action>mycard:cart:rom.mb@0AE1 = 0A</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.mq@0106 = 2847B8DCDBC00021</action>
            <action>mycard:cart:rom.mq@010E = F7FE350120FBFEFA</action>
            <action>mycard:cart:rom.mq@0116 = 3E0420FDFE340120</action>
            <action>mycard:cart:rom.mq@011E = 3E0520FEFE0618F0</action>
            <action>mycard:cart:rom.mq@0126 = 0520EFFE78778610</action>
            <action>mycard:cart:rom.mq@012E = 20DFFE051880F67E</action>
            <action>mycard:cart:rom.mq@0136 = FFCC18DE0032AF04</action>
            <!--
            0106 | 21 00 C0 : ld   hl,$C000  // sound code address
            0109 | DB DC    : in   a,($DC)   // read input
            010B | B8       : cp   b
            010C | 47       : ld   b,a
            010D | 28 FA    : jr   z,$0109
            010F | FE FB    : cp   $FB
            0111 | 20 01    : jr   nz,$0114
            0113 | 35       : dec  (hl)      // decrease code -01
            0114 | FE F7    : cp   $F7
            0116 | 20 01    : jr   nz,$0119
            0118 | 34       : inc  (hl)      // increase code +01
            0119 | FE FD    : cp   $FD
            011B | 20 04    : jr   nz,$0121
            011D | 3E F0    : ld   a,$F0     // decrease code -10
            011F | 18 06    : jr   $0127
            0121 | FE FE    : cp   $FE
            0123 | 20 05    : jr   nz,$012A
            0125 | 3E 10    : ld   a,$10     // increase code +10
            0127 | 86       : add  a,(hl)
            0128 | 77       : ld   (hl),a
            0129 | 78       : ld   a,b
            012A | FE EF    : cp   $EF
            012C | 20 05    : jr   nz,$0133
            012E | 7E       : ld   a,(hl)    // play sound
            012F | F6 80    : or   $80
            0131 | 18 05    : jr   $0138
            0133 | FE DF    : cp   $DF
            0135 | 20 04    : jr   nz,$013B
            0137 | AF       : xor  a         // stop sound
            0138 | 32 00 DE : ld   ($DE00),a // send sound code
            013B | 18 CC    : jr   $0109
            -->
        </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.mq@0106 = 813A0164210235C3</action>
            <action>mycard:cart:rom.mq@010E = 3A0196210328A7C1</action>
            <action>mycard:cart:rom.mq@0116 = 7E1900165F87C10E</action>
            <action>mycard:cart:rom.mq@011E = E522287ECB6F6623</action>
            <action>mycard:cart:rom.mq@0126 = 6D21E5013B21E1DD</action>
            <action>mycard:cart:rom.mq@012E = 19190016025EDD2F</action>
            <action>mycard:cart:rom.mq@0136 = 00CBDDE96F66237E</action>
        </script>
    </cheat>

</mamecheat>
astrofl1.xml

Code: Select all

<!-- Astro Flash (Japan, pirate) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>slot:cart:rom.mb@10EE = C9</action> <!-- enemy -->
            <action>slot:cart:rom.mb@1151 = C9</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@10EE = FE</action>
            <action>slot:cart:rom.mb@1151 = C8</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>slot:cart:rom.mb@0CDD = 00</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@0CDD = C0</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <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>slot:cart:rom.mb@0C5A = CF - ((param rshift 04) / 04)</action> <!-- dive into underground -->
            <action>slot:cart:rom.mw@0D05 = param                        </action> <!-- up -->
            <action>slot:cart:rom.mw@0D0B = param                        </action> <!-- down -->
            <action>slot:cart:rom.mw@0D11 = param                        </action> <!-- left -->
            <action>slot:cart:rom.mw@0D17 = param                        </action> <!-- right -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@0C5A = CF  </action>
            <action>slot:cart:rom.mw@0D05 = 0100</action>
            <action>slot:cart:rom.mw@0D0B = 0100</action>
            <action>slot:cart:rom.mw@0D11 = 0200</action>
            <action>slot:cart:rom.mw@0D17 = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0200">01 (slow)</item>
            <item value="0x0400">02       </item>
            <item value="0x0800">03       </item>
            <item value="0x0c00">04       </item>
            <item value="0x1000">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>slot:cart:rom.mw@0D53 = param</action> <!-- A -->
            <action>slot:cart:rom.mw@0D93 = param</action> <!-- B -->
            <action>slot:cart:rom.mw@0DD0 = param</action> <!-- C -->
            <action>slot:cart:rom.mw@0E0D = param</action> <!-- D -->
            <action>slot:cart:rom.mw@0E57 = param</action> <!-- E 1 -->
            <action>slot:cart:rom.mw@0E92 = param</action> <!-- E 2 -->
            <action>slot:cart:rom.mw@0EC4 = param</action> <!-- E 3 -->
            <action>slot:cart:rom.mw@0F1B = param</action> <!-- F 1 -->
            <action>slot:cart:rom.mw@0F49 = param</action> <!-- F 2 -->
        </script>
        <script state="off">
            <action>slot:cart:rom.mw@0D53 = 0480</action>
            <action>slot:cart:rom.mw@0D93 = 0600</action>
            <action>slot:cart:rom.mw@0DD0 = 0500</action>
            <action>slot:cart:rom.mw@0E0D = 0800</action>
            <action>slot:cart:rom.mw@0E57 = 0459</action>
            <action>slot:cart:rom.mw@0E92 = 0500</action>
            <action>slot:cart:rom.mw@0EC4 = 0459</action>
            <action>slot:cart:rom.mw@0F1B = 0600</action>
            <action>slot:cart:rom.mw@0F49 = 0600</action>
        </script>
    </cheat>

    <cheat desc="infinite weapon">
        <script state="on">
            <action>slot:cart:rom.mb@0BB5 = 00</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@0BB5 = 03</action>
        </script>
    </cheat>

    <cheat desc="roulette speed">
        <parameter>
            <item value="0x36">01 (slow)</item>
            <item value="0x24">02       </item>
            <item value="0x12">03       </item>
            <item value="0x06">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>slot:cart:rom.mb@0AD8 = param</action>
            <action>slot:cart:rom.mb@0AE1 = param</action>
        </script>
        <script state="off">
            <action>slot:cart:rom.mb@0AD8 = 06</action>
            <action>slot:cart:rom.mb@0AE1 = 0A</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.mq@0106 = 2847B8DCDBC00021</action>
            <action>slot:cart:rom.mq@010E = F7FE350120FBFEFA</action>
            <action>slot:cart:rom.mq@0116 = 3E0420FDFE340120</action>
            <action>slot:cart:rom.mq@011E = 3E0520FEFE0618F0</action>
            <action>slot:cart:rom.mq@0126 = 0520EFFE78778610</action>
            <action>slot:cart:rom.mq@012E = 20DFFE051880F67E</action>
            <action>slot:cart:rom.mq@0136 = FFCC18DE0032AF04</action>
            <!--
            0106 | 21 00 C0 : ld   hl,$C000  // sound code address
            0109 | DB DC    : in   a,($DC)   // read input
            010B | B8       : cp   b
            010C | 47       : ld   b,a
            010D | 28 FA    : jr   z,$0109
            010F | FE FB    : cp   $FB
            0111 | 20 01    : jr   nz,$0114
            0113 | 35       : dec  (hl)      // decrease code -01
            0114 | FE F7    : cp   $F7
            0116 | 20 01    : jr   nz,$0119
            0118 | 34       : inc  (hl)      // increase code +01
            0119 | FE FD    : cp   $FD
            011B | 20 04    : jr   nz,$0121
            011D | 3E F0    : ld   a,$F0     // decrease code -10
            011F | 18 06    : jr   $0127
            0121 | FE FE    : cp   $FE
            0123 | 20 05    : jr   nz,$012A
            0125 | 3E 10    : ld   a,$10     // increase code +10
            0127 | 86       : add  a,(hl)
            0128 | 77       : ld   (hl),a
            0129 | 78       : ld   a,b
            012A | FE EF    : cp   $EF
            012C | 20 05    : jr   nz,$0133
            012E | 7E       : ld   a,(hl)    // play sound
            012F | F6 80    : or   $80
            0131 | 18 05    : jr   $0138
            0133 | FE DF    : cp   $DF
            0135 | 20 04    : jr   nz,$013B
            0137 | AF       : xor  a         // stop sound
            0138 | 32 00 DE : ld   ($DE00),a // send sound code
            013B | 18 CC    : jr   $0109
            -->
        </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.mq@0106 = 813A0164210235C3</action>
            <action>slot:cart:rom.mq@010E = 3A0196210328A7C1</action>
            <action>slot:cart:rom.mq@0116 = 7E1900165F87C10E</action>
            <action>slot:cart:rom.mq@011E = E522287ECB6F6623</action>
            <action>slot:cart:rom.mq@0126 = 6D21E5013B21E1DD</action>
            <action>slot:cart:rom.mq@012E = 19190016025EDD2F</action>
            <action>slot:cart:rom.mq@0136 = 00CBDDE96F66237E</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>
  • "player speed" : Fixed stuck the game when you dive into underground.
  • "roulette speed" : Fixed not working in some cases.
  • "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