[aso]+ ASO/Alpha Mission

This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
Post Reply
jman
Posts: 1302
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[aso]+ ASO/Alpha Mission

Post by jman »

aso.xml

Code: Select all

<!-- ASO - Armored Scrum Object -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>sub.mw@039E = 1918    </action> <!-- normal -->
            <action>sub.md@0481 = FD04A0C3</action> <!-- armor -->
            <action>sub.md@056B = FD0588C3</action> <!-- shield armor -->
        </script>
        <script state="off">
            <action>sub.mw@039E = 02FE    </action>
            <action>sub.md@0481 = FD457EDD</action>
            <action>sub.md@056B = FD457EDD</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@2724 = 00</action> <!-- shot -->
            <action>maincpu.mb@27CE = 00</action> <!-- missile -->
        </script>
        <script state="off">
            <action>maincpu.mb@2724 = 10</action>
            <action>maincpu.mb@27CE = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@1813 = 09B990CD        </action> <!-- x position -->
            <action>maincpu.md@1846 = 09B995CD        </action> <!-- y position -->
            <action>maincpu.mq@B990 = 0766DD03180566DD</action>
            <action>maincpu.mq@B998 = 0EC8000E7FCBC8B0</action>
            <action>maincpu.mq@B9A0 = FFFFFFFFFFFFC900</action>
            <!--
            B990 | DD 66 05 : ld   h,(ix+$05) // x position
            B993 | 18 03    : jr   $B998
            B995 | DD 66 07 : ld   h,(ix+$07) // y position
            B998 | B0       : or   b
            B999 | C8       : ret  z
            B99A | CB 7F    : bit  7,a
            B99C | 0E xx    : ld   c,$xx
            B99E | C8       : ret  z
            B99F | 0E xx    : ld   c,$xx
            B9A1 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@B99D =  param</action>
            <action>maincpu.mb@B9A0 = -param</action>
        </script>
        <script state="off">
            <action>maincpu.md@1813 = 090566DD        </action>
            <action>maincpu.md@1846 = 090766DD        </action>
            <action>maincpu.mq@B990 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B998 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@B9A0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="max shot power">
        <script state="on">
            <action>maincpu.mw@2707 = 083E</action>
        </script>
        <script state="off">
            <action>maincpu.mw@2707 = 0CE6</action>
        </script>
    </cheat>

    <cheat desc="max missile power">
        <script state="on">
            <action>maincpu.mw@279C = 279E</action>
            <action>maincpu.mw@27D7 = 023E</action>
        </script>
        <script state="off">
            <action>maincpu.mw@279C = 279F</action>
            <action>maincpu.mw@27D7 = 03E6</action>
        </script>
    </cheat>

    <cheat desc="max b-panel bonus">
        <script state="on">
            <action>maincpu.mb@20B0 = 3E</action>
        </script>
        <script state="off">
            <action>maincpu.mb@20B0 = E6</action>
        </script>
    </cheat>

    <cheat desc="penetration shot">
        <script state="on">
            <action>sub.mb@0653 = 00</action>
        </script>
        <script state="off">
            <action>sub.mb@0653 = 01</action>
        </script>
    </cheat>

    <cheat desc="penetration missile">
        <script state="on">
            <action>sub.mb@0942 = 00</action>
        </script>
        <script state="off">
            <action>sub.mb@0942 = 01</action>
        </script>
    </cheat>

    <cheat desc="easy armor collection">
        <comment>get a parts to collect an armor</comment>
        <script state="on">
            <action>maincpu.md@24CE = FD000306</action>
        </script>
        <script state="off">
            <action>maincpu.md@24CE = FD3D46FD</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@288C = 2DB4            </action> <!-- disable credit display -->
            <action>maincpu.mw@5DF8 = 5E3E            </action> <!-- disable other information display -->
            <action>maincpu.mw@00C2 = BC00            </action>
            <action>maincpu.mw@00BE = BC16            </action>
            <action>maincpu.mq@BC00 = 5EC6CD013E5DC6CD</action>
            <action>maincpu.mq@BC08 = E7763A5EC6CD053E</action>
            <action>maincpu.mq@BC10 = 0121C9E77632FBE6</action>
            <action>maincpu.mq@BC18 = 2BC877BEC1003AD8</action>
            <action>maincpu.mq@BC20 = 20F7FE350120FBFE</action>
            <action>maincpu.mq@BC28 = F03E0420FDFE3401</action>
            <action>maincpu.mq@BC30 = 103E0520FEFE0618</action>
            <action>maincpu.mq@BC38 = 7E0320DFFEC97786</action>
            <action>maincpu.mq@BC40 = CD013EC0BFFE0A18</action>
            <action>maincpu.mq@BC48 = C95EC6CD053E5EC6</action>
            <!--
            BC00 | CD C6 5D : call $5DC6     // clear screen
            BC03 | 3E 01    : ld   a,$01     // initialize sound
            BC05 | CD C6 5E : call $5EC6
            BC08 | 3E 05    : ld   a,$05     // enable sound
            BC0A | CD C6 5E : call $5EC6
            BC0D | 3A 76 E7 : ld   a,($E776) // set next sequence
            BC10 | E6 FB    : and  $FB
            BC12 | 32 76 E7 : ld   ($E776),a
            BC15 | C9       : ret
            BC16 | 21 01 D8 : ld   hl,$D801  // temporary input address
            BC19 | 3A 00 C1 : ld   a,($C100) // read input
            BC1C | BE       : cp   (hl)
            BC1D | 77       : ld   (hl),a
            BC1E | C8       : ret  z
            BC1F | 2B       : dec  hl        // sound code address ($D800)
            BC20 | FE FB    : cp   $FB
            BC22 | 20 01    : jr   nz,$BC25
            BC24 | 35       : dec  (hl)      // decrease code -01
            BC25 | FE F7    : cp   $F7
            BC27 | 20 01    : jr   nz,$BC2A
            BC29 | 34       : inc  (hl)      // increase code +01
            BC2A | FE FD    : cp   $FD
            BC2C | 20 04    : jr   nz,$BC32
            BC2E | 3E F0    : ld   a,$F0     // decrease code -10
            BC30 | 18 06    : jr   $BC38
            BC32 | FE FE    : cp   $FE
            BC34 | 20 05    : jr   nz,$BC3B
            BC36 | 3E 10    : ld   a,$10     // increase code +10
            BC38 | 86       : add  a,(hl)
            BC39 | 77       : ld   (hl),a
            BC3A | C9       : ret
            BC3B | FE DF    : cp   $DF
            BC3D | 20 03    : jr   nz,$BC42
            BC3F | 7E       : ld   a,(hl)    // play sound
            BC40 | 18 0A    : jr   $BC4C
            BC42 | FE BF    : cp   $BF
            BC44 | C0       : ret  nz
            BC45 | 3E 01    : ld   a,$01     // stop sound
            BC47 | CD C6 5E : call $5EC6
            BC4A | 3E 05    : ld   a,$05
            BC4C | CD C6 5E : call $5EC6
            BC4F | C9       : ret
            -->
        </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@D800</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@288C = 2DC5            </action>
            <action>maincpu.mw@5DF8 = 5E3F            </action>
            <action>maincpu.mw@00C2 = 050F            </action>
            <action>maincpu.mw@00BE = 00CC            </action>
            <action>maincpu.mq@BC00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@BC08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@BC10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@BC18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@BC20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@BC28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@BC30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@BC38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@BC40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@BC48 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@006A = 007F</action>
            <action>    sub.mw@0079 = 007B</action>
        </script>
        <script state="off">
            <action>maincpu.mw@006A = 5F98</action>
            <action>    sub.mw@0079 = 141A</action>
        </script>
    </cheat>

</mamecheat>
alphamis.xml

Code: Select all

<!--Alpha Mission -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>sub.mw@03B9 = 1918    </action> <!-- normal -->
            <action>sub.md@049C = FD04BBC3</action> <!-- armor -->
            <action>sub.md@0586 = FD05A3C3</action> <!-- shield armor -->
        </script>
        <script state="off">
            <action>sub.mw@03B9 = 02FE    </action>
            <action>sub.md@049C = FD457EDD</action>
            <action>sub.md@0586 = FD457EDD</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@272B = 00</action> <!-- shot -->
            <action>maincpu.mb@27D5 = 00</action> <!-- missile -->
        </script>
        <script state="off">
            <action>maincpu.mb@272B = 10</action>
            <action>maincpu.mb@27D5 = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@181A = 096CD0CD        </action> <!-- x position -->
            <action>maincpu.md@184D = 096CD5CD        </action> <!-- y position -->
            <action>maincpu.mq@6CD0 = 0766DD03180566DD</action>
            <action>maincpu.mq@6CD8 = 0EC8000E7FCBC8B0</action>
            <action>maincpu.mq@6CE0 = FFFFFFFFFFFFC900</action>
            <!--
            6CD0 | DD 66 05 : ld   h,(ix+$05) // x position
            6CD3 | 18 03    : jr   $6CD8
            6CD5 | DD 66 07 : ld   h,(ix+$07) // y position
            6CD8 | B0       : or   b
            6CD9 | C8       : ret  z
            6CDA | CB 7F    : bit  7,a
            6CDC | 0E xx    : ld   c,$xx
            6CDE | C8       : ret  z
            6CDF | 0E xx    : ld   c,$xx
            6CE1 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@6CDD =  param</action>
            <action>maincpu.mb@6CE0 = -param</action>
        </script>
        <script state="off">
            <action>maincpu.md@181A = 090566DD        </action>
            <action>maincpu.md@184D = 090766DD        </action>
            <action>maincpu.mq@6CD0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@6CD8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@6CE0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="max shot power">
        <script state="on">
            <action>maincpu.mw@270E = 083E</action>
        </script>
        <script state="off">
            <action>maincpu.mw@270E = 0CE6</action>
        </script>
    </cheat>

    <cheat desc="max missile power">
        <script state="on">
            <action>maincpu.mw@27A3 = 27A5</action>
            <action>maincpu.mw@27DE = 023E</action>
        </script>
        <script state="off">
            <action>maincpu.mw@27A3 = 27A6</action>
            <action>maincpu.mw@27DE = 03E6</action>
        </script>
    </cheat>

    <cheat desc="max b-panel bonus">
        <script state="on">
            <action>maincpu.mb@20B7 = 3E</action>
        </script>
        <script state="off">
            <action>maincpu.mb@20B7 = E6</action>
        </script>
    </cheat>

    <cheat desc="penetration shot">
        <script state="on">
            <action>sub.mb@066E = 00</action>
        </script>
        <script state="off">
            <action>sub.mb@066E = 01</action>
        </script>
    </cheat>

    <cheat desc="penetration missile">
        <script state="on">
            <action>sub.mb@095D = 00</action>
        </script>
        <script state="off">
            <action>sub.mb@095D = 01</action>
        </script>
    </cheat>

    <cheat desc="easy armor collection">
        <comment>get a parts to collect an armor</comment>
        <script state="on">
            <action>maincpu.md@24D5 = FD000306</action>
        </script>
        <script state="off">
            <action>maincpu.md@24D5 = FD3D46FD</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@2893 = 2DB3            </action> <!-- disable credit display -->
            <action>maincpu.mw@70E5 = 712B            </action> <!-- disable other information display -->
            <action>maincpu.mw@00C2 = 7290            </action>
            <action>maincpu.mw@00BE = 72A6            </action>
            <action>maincpu.mq@7290 = 71B3CD013E70B3CD</action>
            <action>maincpu.mq@7298 = E7793A71B3CD053E</action>
            <action>maincpu.mq@72A0 = 0121C9E77932FBE6</action>
            <action>maincpu.mq@72A8 = 2BC877BEC1003AD8</action>
            <action>maincpu.mq@72B0 = 20F7FE350120FBFE</action>
            <action>maincpu.mq@72B8 = F03E0420FDFE3401</action>
            <action>maincpu.mq@72C0 = 103E0520FEFE0618</action>
            <action>maincpu.mq@72C8 = 7E0320DFFEC97786</action>
            <action>maincpu.mq@72D0 = CD013EC0BFFE0A18</action>
            <action>maincpu.mq@72D8 = C971B3CD053E71B3</action>
            <!--
            7290 | CD B3 70 : call $70B3     // clear screen
            7293 | 3E 01    : ld   a,$01     // initialize sound
            7295 | CD B3 71 : call $71B3
            7298 | 3E 05    : ld   a,$05     // enable sound
            729A | CD B3 71 : call $71B3
            729D | 3A 79 E7 : ld   a,($E779) // set next sequence
            72A0 | E6 FB    : and  $FB
            72A2 | 32 79 E7 : ld   ($E779),a
            72A5 | C9       : ret
            72A6 | 21 01 D8 : ld   hl,$D801  // temporary input address
            72A9 | 3A 00 C1 : ld   a,($C100) // read input
            72AC | BE       : cp   (hl)
            72AD | 77       : ld   (hl),a
            72AE | C8       : ret  z
            72AF | 2B       : dec  hl        // sound code address ($D800)
            72B0 | FE FB    : cp   $FB
            72B2 | 20 01    : jr   nz,$72B5
            72B4 | 35       : dec  (hl)      // decrease code -01
            72B5 | FE F7    : cp   $F7
            72B7 | 20 01    : jr   nz,$72BA
            72B9 | 34       : inc  (hl)      // increase code +01
            72BA | FE FD    : cp   $FD
            72BC | 20 04    : jr   nz,$72C2
            72BE | 3E F0    : ld   a,$F0     // decrease code -10
            72C0 | 18 06    : jr   $72C8
            72C2 | FE FE    : cp   $FE
            72C4 | 20 05    : jr   nz,$72CB
            72C6 | 3E 10    : ld   a,$10     // increase code +10
            72C8 | 86       : add  a,(hl)
            72C9 | 77       : ld   (hl),a
            72CA | C9       : ret
            72CB | FE DF    : cp   $DF
            72CD | 20 03    : jr   nz,$72D2
            72CF | 7E       : ld   a,(hl)    // play sound
            72D0 | 18 0A    : jr   $72DC
            72D2 | FE BF    : cp   $BF
            72D4 | C0       : ret  nz
            72D5 | 3E 01    : ld   a,$01     // stop sound
            72D7 | CD B3 71 : call $71B3
            72DA | 3E 05    : ld   a,$05
            72DC | CD B3 71 : call $71B3
            72DF | C9       : ret
            -->
        </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@D800</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@2893 = 2DB8            </action>
            <action>maincpu.mw@70E5 = 712C            </action>
            <action>maincpu.mw@00C2 = 0512            </action>
            <action>maincpu.mw@00BE = 00CC            </action>
            <action>maincpu.mq@7290 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7298 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@006A = 007F</action>
            <action>    sub.mw@0079 = 007B</action>
        </script>
        <script state="off">
            <action>maincpu.mw@006A = 2F2A</action>
            <action>    sub.mw@0079 = 1424</action>
        </script>
    </cheat>

</mamecheat>
arian.xml

Code: Select all

<!-- Arian Mission -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>sub.mw@03B9 = 1918    </action> <!-- normal -->
            <action>sub.md@049C = FD04BBC3</action> <!-- armor -->
            <action>sub.md@0586 = FD05A3C3</action> <!-- shield armor -->
        </script>
        <script state="off">
            <action>sub.mw@03B9 = 02FE    </action>
            <action>sub.md@049C = FD457EDD</action>
            <action>sub.md@0586 = FD457EDD</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@272B = 00</action> <!-- shot -->
            <action>maincpu.mb@27D5 = 00</action> <!-- missile -->
        </script>
        <script state="off">
            <action>maincpu.mb@272B = 10</action>
            <action>maincpu.mb@27D5 = 20</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x02">02       </item>
            <item value="0x04">03       </item>
            <item value="0x06">04       </item>
            <item value="0x08">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@181A = 096CD0CD        </action> <!-- x position -->
            <action>maincpu.md@184D = 096CD5CD        </action> <!-- y position -->
            <action>maincpu.mq@6CD0 = 0766DD03180566DD</action>
            <action>maincpu.mq@6CD8 = 0EC8000E7FCBC8B0</action>
            <action>maincpu.mq@6CE0 = FFFFFFFFFFFFC900</action>
            <!--
            6CD0 | DD 66 05 : ld   h,(ix+$05) // x position
            6CD3 | 18 03    : jr   $6CD8
            6CD5 | DD 66 07 : ld   h,(ix+$07) // y position
            6CD8 | B0       : or   b
            6CD9 | C8       : ret  z
            6CDA | CB 7F    : bit  7,a
            6CDC | 0E xx    : ld   c,$xx
            6CDE | C8       : ret  z
            6CDF | 0E xx    : ld   c,$xx
            6CE1 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@6CDD =  param</action>
            <action>maincpu.mb@6CE0 = -param</action>
        </script>
        <script state="off">
            <action>maincpu.md@181A = 090566DD        </action>
            <action>maincpu.md@184D = 090766DD        </action>
            <action>maincpu.mq@6CD0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@6CD8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@6CE0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="max shot power">
        <script state="on">
            <action>maincpu.mw@270E = 083E</action>
        </script>
        <script state="off">
            <action>maincpu.mw@270E = 0CE6</action>
        </script>
    </cheat>

    <cheat desc="max missile power">
        <script state="on">
            <action>maincpu.mw@27A3 = 27A5</action>
            <action>maincpu.mw@27DE = 023E</action>
        </script>
        <script state="off">
            <action>maincpu.mw@27A3 = 27A6</action>
            <action>maincpu.mw@27DE = 03E6</action>
        </script>
    </cheat>

    <cheat desc="max b-panel bonus">
        <script state="on">
            <action>maincpu.mb@20B7 = 3E</action>
        </script>
        <script state="off">
            <action>maincpu.mb@20B7 = E6</action>
        </script>
    </cheat>

    <cheat desc="penetration shot">
        <script state="on">
            <action>sub.mb@066E = 00</action>
        </script>
        <script state="off">
            <action>sub.mb@066E = 01</action>
        </script>
    </cheat>

    <cheat desc="penetration missile">
        <script state="on">
            <action>sub.mb@095D = 00</action>
        </script>
        <script state="off">
            <action>sub.mb@095D = 01</action>
        </script>
    </cheat>

    <cheat desc="easy armor collection">
        <comment>get a parts to collect an armor</comment>
        <script state="on">
            <action>maincpu.md@24D5 = FD000306</action>
        </script>
        <script state="off">
            <action>maincpu.md@24D5 = FD3D46FD</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mw@2893 = 2DB3            </action> <!-- disable credit display -->
            <action>maincpu.mw@70DE = 7124            </action> <!-- disable other information display -->
            <action>maincpu.mw@00C2 = 7280            </action>
            <action>maincpu.mw@00BE = 7296            </action>
            <action>maincpu.mq@7280 = 71ACCD01AC70ACCD</action>
            <action>maincpu.mq@7288 = E7793A71ACCD053E</action>
            <action>maincpu.mq@7290 = 0121C9E77932FBE6</action>
            <action>maincpu.mq@7298 = 2BC877BEC1003AD8</action>
            <action>maincpu.mq@72A0 = 20F7FE350120FBFE</action>
            <action>maincpu.mq@72A8 = F03E0420FDFE3401</action>
            <action>maincpu.mq@72B0 = 103E0520FEFE0618</action>
            <action>maincpu.mq@72B8 = 7E0320DFFEC97786</action>
            <action>maincpu.mq@72C0 = CD013EC0BFFE0A18</action>
            <action>maincpu.mq@72C8 = C971ACCD053E71AC</action>
            <!--
            7280 | CD AC 70 : call $70AC     // clear screen
            7283 | 3E 01    : ld   a,$01     // initialize sound
            7285 | CD AC 71 : call $71AC
            7288 | 3E 05    : ld   a,$05     // enable sound
            728A | CD AC 71 : call $71AC
            728D | 3A 79 E7 : ld   a,($E779) // set next sequence
            7290 | E6 FB    : and  $FB
            7292 | 32 79 E7 : ld   ($E779),a
            7295 | C9       : ret
            7296 | 21 01 D8 : ld   hl,$D801  // temporary input address
            7299 | 3A 00 C1 : ld   a,($C100) // read input
            729C | BE       : cp   (hl)
            729D | 77       : ld   (hl),a
            729E | C8       : ret  z
            729F | 2B       : dec  hl        // sound code address ($D800)
            72A0 | FE FB    : cp   $FB
            72A2 | 20 01    : jr   nz,$72A5
            72A4 | 35       : dec  (hl)      // decrease code -01
            72A5 | FE F7    : cp   $F7
            72A7 | 20 01    : jr   nz,$72AA
            72A9 | 34       : inc  (hl)      // increase code +01
            72AA | FE FD    : cp   $FD
            72AC | 20 04    : jr   nz,$72B2
            72AE | 3E F0    : ld   a,$F0     // decrease code -10
            72B0 | 18 06    : jr   $72B8
            72B2 | FE FE    : cp   $FE
            72B4 | 20 05    : jr   nz,$72BB
            72B6 | 3E 10    : ld   a,$10     // increase code +10
            72B8 | 86       : add  a,(hl)
            72B9 | 77       : ld   (hl),a
            72BA | C9       : ret
            72BB | FE DF    : cp   $DF
            72BD | 20 03    : jr   nz,$72C2
            72BF | 7E       : ld   a,(hl)    // play sound
            72C0 | 18 0A    : jr   $72CC
            72C2 | FE BF    : cp   $BF
            72C4 | C0       : ret  nz
            72C5 | 3E 01    : ld   a,$01     // stop sound
            72C7 | CD AC 71 : call $71AC
            72CA | 3E 05    : ld   a,$05
            72CC | CD AC 71 : call $71AC
            72CF | C9       : ret
            -->
        </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@D800</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@2893 = 2DB8            </action>
            <action>maincpu.mw@70DE = 7125            </action>
            <action>maincpu.mw@00C2 = 0512            </action>
            <action>maincpu.mw@00BE = 00CC            </action>
            <action>maincpu.mq@7290 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@7298 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@72D8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@006A = 007F</action>
            <action>    sub.mw@0079 = 007B</action>
        </script>
        <script state="off">
            <action>maincpu.mw@006A = 2F2A</action>
            <action>    sub.mw@0079 = 1424</action>
        </script>
    </cheat>

</mamecheat>
jman

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