Page 1 of 1

[finalizr] Finalizer

Posted: Sun Apr 17, 2022 1:32 pm
by jman

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.md@8ac8 =         568c419a</action>
        <action>maincpu.mq@8c41 = 06082448a306a402</action>
        <action>maincpu.mq@8c49 = 46b4b101bf09b19f</action>
        <!--
        8c41 | 24 08 : BCC  $8C4B
        8c43 | a6 48 : LDA  $8,U
        8c45 | 81 06 : CMPA #$06
        8c47 | 26 02 : BNE  $8C4B
        8c49 | 6e b4 : JMP  [,Y]
        8c4b | 39    : RTS
        -->
    </script>
    <script state="off">
        <action>maincpu.md@8ac8 =         0c9ce6b4</action>
        <action>maincpu.mq@8c41 = 9f8d119f8c9704d4</action>
        <action>maincpu.mq@8c49 = 8fc40e01bf09b19f</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@589a = 01</action> <!-- fighter : right -->
        <action>maincpu.mb@58a3 = 01</action> <!-- fighter : left -->
        <action>maincpu.mb@5a58 = 01</action> <!-- robot1 : left -->
        <action>maincpu.mb@5ddc = 01</action> <!-- robot2 : left : vulcan -->
        <action>maincpu.mb@5e46 = 01</action> <!-- robot2 : left : cannon -->
        <action>maincpu.mb@5e85 = 01</action> <!-- robot2 : left : shotgun -->
        <action>maincpu.mb@5ede = 01</action> <!-- robot2 : left : spread -->
        <action>maincpu.mb@5f43 = 01</action> <!-- robot2 : left : punch -->
        <action>maincpu.mb@5ddc = 01</action> <!-- robot2 : right : vulcan/punch -->
        <action>maincpu.mb@5e46 = 01</action> <!-- robot2 : right : cannon -->
        <action>maincpu.mb@5e85 = 01</action> <!-- robot2 : right : shotgun -->
        <action>maincpu.mb@5ede = 01</action> <!-- robot2 : right : spread -->
    </script>
    <script state="off">
        <action>maincpu.mb@589a = 07</action>
        <action>maincpu.mb@58a3 = 07</action>
        <action>maincpu.mb@5a58 = 07</action>
        <action>maincpu.mb@5ddc = 07</action>
        <action>maincpu.mb@5e46 = 07</action>
        <action>maincpu.mb@5e85 = 07</action>
        <action>maincpu.mb@5ede = 07</action>
        <action>maincpu.mb@5f43 = 07</action>
        <action>maincpu.mb@5ddc = 07</action>
        <action>maincpu.mb@5e46 = 07</action>
        <action>maincpu.mb@5e85 = 07</action>
        <action>maincpu.mb@5ede = 07</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x01c0">02       </item>
        <item value="0x0380">03       </item>
        <item value="0x0540">04       </item>
        <item value="0x0700">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@579e = 440000d1</action> <!-- LDD #$xx -->
    </script>
    <script state="change">
        <action>maincpu.mw@579f = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@579e = c064c6d1</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.md@a66b = f6a6823f</action> <!-- ram -->
        <action>maincpu.md@a70d = 56a76dee</action> <!-- rom -->
    </script>
    <script state="off">
        <action>maincpu.md@a66b = 0620003f</action>
        <action>maincpu.md@a70d = a64000ee</action>
    </script>
</cheat>
"invincibility" in official database based on 0.221 has the following problems.
  • Freeze or crash the game when you hit object because encrypted opcode handling is different.
  • You can't destroy enemy in having "crash" item.
"no hit" will fix these problems.

[finalizr]+ Finalizer

Posted: Tue May 06, 2025 1:05 pm
by jman
finalizr.xml

Code: Select all

<!-- Finalizer - Super Transformation (set 1) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.md@8AC8 = 568C419A        </action>
            <action>maincpu.mq@8C41 = 06082448A306A402</action>
            <action>maincpu.mq@8C49 = 46B4B101BF09B19F</action>
            <!--
            8C41 | 24 08 : BCC    $8C4B
            8C43 | A6 48 : LDA    $8,U  // has crash item?
            8C45 | 81 06 : CMPA   #$06
            8C47 | 26 02 : BNE    $8C4B
            8C49 | 6E B4 : JMP    [,Y]
            8C4B | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@8AC8 = 0C9CE6B4        </action>
            <action>maincpu.mq@8C41 = 9F8D119F8C9704D4</action>
            <action>maincpu.mq@8C49 = 8FC40E01BF09B19F</action>
        </script>
    </cheat>

    <cheat desc="no hit - shield">
        <script state="on">
            <action>maincpu.mb@8B8B = A8</action>
            <action>maincpu.mb@8BCC = 08</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8B8B = AC</action>
            <action>maincpu.mb@8BCC = 0C</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@589A = 01</action> <!-- fighter : right -->
            <action>maincpu.mb@58A3 = 01</action> <!-- fighter : left -->
            <action>maincpu.mb@5A58 = 01</action> <!-- robot1 : left -->
            <action>maincpu.mb@5DDC = 01</action> <!-- robot2 : left : vulcan -->
            <action>maincpu.mb@5E46 = 01</action> <!-- robot2 : left : cannon -->
            <action>maincpu.mb@5E85 = 01</action> <!-- robot2 : left : shotgun -->
            <action>maincpu.mb@5EDE = 01</action> <!-- robot2 : left : spread -->
            <action>maincpu.mb@5F43 = 01</action> <!-- robot2 : left : punch -->
            <action>maincpu.mb@5DDC = 01</action> <!-- robot2 : right : vulcan/punch -->
            <action>maincpu.mb@5E46 = 01</action> <!-- robot2 : right : cannon -->
            <action>maincpu.mb@5E85 = 01</action> <!-- robot2 : right : shotgun -->
            <action>maincpu.mb@5EDE = 01</action> <!-- robot2 : right : spread -->
        </script>
        <script state="off">
            <action>maincpu.mb@589A = 07</action>
            <action>maincpu.mb@58A3 = 07</action>
            <action>maincpu.mb@5A58 = 07</action>
            <action>maincpu.mb@5DDC = 07</action>
            <action>maincpu.mb@5E46 = 07</action>
            <action>maincpu.mb@5E85 = 07</action>
            <action>maincpu.mb@5EDE = 07</action>
            <action>maincpu.mb@5F43 = 07</action>
            <action>maincpu.mb@5DDC = 07</action>
            <action>maincpu.mb@5E46 = 07</action>
            <action>maincpu.mb@5E85 = 07</action>
            <action>maincpu.mb@5EDE = 07</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0380">03       </item>
            <item value="0x0580">04       </item>
            <item value="0x0780">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@5798 = E4</action>
            <action>maincpu.mb@579E = 44</action>
        </script>
        <script state="change">
            <action>maincpu.mw@5799 = param</action>
            <action>maincpu.mw@579F = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@5798 = 60C4C665</action>
            <action>maincpu.md@579E = C064C6D1</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- some codes cause no sound response except code 0x20 - 0x2A (sfx), 0x40 - 0x4D (music) -->
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@48D2 = 00              </action> <!-- disable next sequence at boot -->
            <action>maincpu.mq@4A56 = 15819E081119810F</action>
            <action>maincpu.mq@4A5E = F75E80A3FEA40178</action>
            <action>maincpu.mq@4A66 = 03FD0E01D409F70E</action>
            <action>maincpu.mq@4A6E = 024810A3FBA402E9</action>
            <action>maincpu.mq@4A76 = 105580A9EFAF05A9</action>
            <action>maincpu.mq@4A7E = DFAE097D753E80E4</action>
            <action>maincpu.mq@4A86 = 01753E81A8CAC581</action>
            <!--
            4A56 | 97 81    : STA    $81
            4A58 | B6 08 11 : LDA    $0811 // read input
            4A5B | 91 81    : CMPA   $81
            4A5D | 27 F7    : BEQ    $4A56
            4A5F | D6 80    : LDB    $80
            4A61 | 81 FE    : CMPA   #$FE
            4A63 | 26 01    : BNE    $4A66
            4A65 | 5A       : DECB         // decrease code -01
            4A66 | 81 FD    : CMPA   #$FD
            4A68 | 26 01    : BNE    $4A6B
            4A6A | 5C       : INCB         // increase code +01
            4A6B | 81 F7    : CMPA   #$F7
            4A6D | 26 02    : BNE    $4A71
            4A6F | C0 10    : SUBB   #$10  // decrease code -10
            4A71 | 81 FB    : CMPA   #$FB
            4A73 | 26 02    : BNE    $4A77
            4A75 | CB 10    : ADDB   #$10  // increase code +10
            4A77 | D7 80    : STB    $80
            4A79 | 81 EF    : CMPA   #$EF
            4A7B | 27 05    : BEQ    $4A82 // play sound
            4A7D | 81 DF    : CMPA   #$DF
            4A7F | 26 09    : BNE    $4A8A
            4A81 | 5F       : CLRB         // stop sound
            4A82 | F7 3E 80 : STB    $3E80
            4A85 | C6 01    : LDB    #$01
            4A87 | F7 3E 81 : STB    $3E81
            4A8A | 20 CA    : BRA    $4A56
            -->
        </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@3B80</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@48D2 = 03              </action>
            <action>maincpu.mq@4A56 = B604A62400441010</action>
            <action>maincpu.mq@4A5E = 6581CF810E27FF01</action>
            <action>maincpu.mq@4A66 = F74C2400BD043798</action>
            <action>maincpu.mq@4A6E = 97011384B4361436</action>
            <action>maincpu.mq@4A76 = B4361E36BE361E06</action>
            <action>maincpu.mq@4A7E = 990B2000A4EEAC2C</action>
            <action>maincpu.mq@4A86 = 004E10106581C581</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@A66B = F6A6823F</action> <!-- ram -->
            <action>maincpu.md@A70D = 56A76DEE</action> <!-- rom -->
        </script>
        <script state="off">
            <action>maincpu.md@A66B = 0620003F</action>
            <action>maincpu.md@A70D = A64000EE</action>
        </script>
    </cheat>

</mamecheat>
finalizra.xml

Code: Select all

<!-- Finalizer - Super Transformation (set 2) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.md@89BF = F6FCD090        </action>
            <action>maincpu.mq@FCD0 = 06082448A306A402</action>
            <action>maincpu.mq@FCD8 = 46B4B1FFFFFFFFFF</action>
            <!--
            FCD0 | 24 08 : BCC    $8C4B
            FCD2 | A6 48 : LDA    $8,U  // has crash item?
            FCD4 | 81 06 : CMPA   #$06
            FCD6 | 26 02 : BNE    $8C4B
            FCD8 | 6E B4 : JMP    [,Y]
            FCDA | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@89BF = AC9C4CB4        </action>
            <action>maincpu.mq@FCD0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FCD8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="no hit - shield">
        <script state="on">
            <action>maincpu.mb@8A80 = 02</action>
            <action>maincpu.mb@8AC1 = 02</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8A80 = 06</action>
            <action>maincpu.mb@8AC1 = 06</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@58A4 = 01</action> <!-- fighter : right -->
            <action>maincpu.mb@58AD = 01</action> <!-- fighter : left -->
            <action>maincpu.mb@5A64 = 01</action> <!-- robot1 -->
            <action>maincpu.mb@5DE7 = 01</action> <!-- robot2 : vulcan -->
            <action>maincpu.mb@5E51 = 01</action> <!-- robot2 : spread -->
            <action>maincpu.mb@5EAA = 01</action> <!-- robot2 : punch -->
        </script>
        <script state="off">
            <action>maincpu.mb@58A4 = 07</action>
            <action>maincpu.mb@58AD = 07</action>
            <action>maincpu.mb@5A64 = 07</action>
            <action>maincpu.mb@5DE7 = 07</action>
            <action>maincpu.mb@5E51 = 07</action>
            <action>maincpu.mb@5EAA = 07</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0380">03       </item>
            <item value="0x0580">04       </item>
            <item value="0x0780">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@57A2 = 4E</action>
            <action>maincpu.mb@57A8 = E4</action>
        </script>
        <script state="change">
            <action>maincpu.mw@57A3 = param</action>
            <action>maincpu.mw@57A9 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@57A2 = CA6EC6CF</action>
            <action>maincpu.md@57A8 = 60C4C67B</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- some codes cause no sound response except code 0x20 - 0x2A (sfx), 0x40 - 0x4D (music) -->
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@48D4 = 00              </action> <!-- disable next sequence at boot -->
            <action>maincpu.mw@EC15 = FCE0            </action>
            <action>maincpu.mq@FCE0 = B581340811B381A5</action>
            <action>maincpu.mq@FCE8 = F7FE8009FE0E01D2</action>
            <action>maincpu.mq@FCF0 = A3FDA4017EA3F7A4</action>
            <action>maincpu.mq@FCF8 = 02E81009FB0E0243</action>
            <action>maincpu.mq@FD00 = 10F58003EF050503</action>
            <action>maincpu.mq@FD08 = DF0E09D7DF3E804E</action>
            <action>maincpu.mq@FD10 = 01D53E8102CAFFFF</action>
            <!--
            FCE0 | 97 81    : STA    $81
            FCE2 | B6 08 11 : LDA    $0811 // read input
            FCE5 | 91 81    : CMPA   $81
            FCE7 | 27 F7    : BEQ    $FCE0
            FCE9 | D6 80    : LDB    $80
            FCEB | 81 FE    : CMPA   #$FE
            FCED | 26 01    : BNE    $FCF0
            FCEF | 5A       : DECB         // decrease code -01
            FCF0 | 81 FD    : CMPA   #$FD
            FCF2 | 26 01    : BNE    $FCF5
            FCF4 | 5C       : INCB         // increase code +01
            FCF5 | 81 F7    : CMPA   #$F7
            FCF7 | 26 02    : BNE    $FCFB
            FCF9 | C0 10    : SUBB   #$10  // decrease code -10
            FCFB | 81 FB    : CMPA   #$FB
            FCFD | 26 02    : BNE    $FD01
            FCFF | CB 10    : ADDB   #$10  // increase code +10
            FD01 | D7 80    : STB    $80
            FD03 | 81 EF    : CMPA   #$EF
            FD05 | 27 05    : BEQ    $FD0C // play sound
            FD07 | 81 DF    : CMPA   #$DF
            FD09 | 26 09    : BNE    $FD14
            FD0B | 5F       : CLRB         // stop sound
            FD0C | F7 3E 80 : STB    $3E80
            FD0F | C6 01    : LDB    #$01
            FD11 | F7 3E 81 : STB    $3E81
            FD14 | 20 CA    : BRA    $FCE0
            -->
        </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@3B80</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@48D4 = 03              </action>
            <action>maincpu.mw@EC15 = 4A58            </action>
            <action>maincpu.mq@FCE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FCE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FCF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FCF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FD00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FD08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FD10 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@A412 = FCA42995</action> <!-- ram -->
            <action>maincpu.md@A4B4 = 5CA5144E</action> <!-- rom -->
        </script>
        <script state="off">
            <action>maincpu.md@A412 = 0C200095</action>
            <action>maincpu.md@A4B4 = AC40004E</action>
        </script>
    </cheat>

</mamecheat>
finalizrb.xml

Code: Select all

<!-- Finalizer - Super Transformation (bootleg) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.md@89BF = F6FCD090        </action>
            <action>maincpu.mq@FCD0 = 06082448A306A402</action>
            <action>maincpu.mq@FCD8 = 46B4B1FFFFFFFFFF</action>
            <!--
            FCD0 | 24 08 : BCC    $8C4B
            FCD2 | A6 48 : LDA    $8,U  // has crash item?
            FCD4 | 81 06 : CMPA   #$06
            FCD6 | 26 02 : BNE    $8C4B
            FCD8 | 6E B4 : JMP    [,Y]
            FCDA | 39    : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@89BF = AC9C4CB4        </action>
            <action>maincpu.mq@FCD0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FCD8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="no hit - shield">
        <script state="on">
            <action>maincpu.mb@8A80 = 02</action>
            <action>maincpu.mb@8AC1 = 02</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8A80 = 06</action>
            <action>maincpu.mb@8AC1 = 06</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@58A4 = 01</action> <!-- fighter : right -->
            <action>maincpu.mb@58AD = 01</action> <!-- fighter : left -->
            <action>maincpu.mb@5A64 = 01</action> <!-- robot1 -->
            <action>maincpu.mb@5DE7 = 01</action> <!-- robot2 : vulcan -->
            <action>maincpu.mb@5E51 = 01</action> <!-- robot2 : spread -->
            <action>maincpu.mb@5EAA = 01</action> <!-- robot2 : punch -->
        </script>
        <script state="off">
            <action>maincpu.mb@58A4 = 07</action>
            <action>maincpu.mb@58AD = 07</action>
            <action>maincpu.mb@5A64 = 07</action>
            <action>maincpu.mb@5DE7 = 07</action>
            <action>maincpu.mb@5E51 = 07</action>
            <action>maincpu.mb@5EAA = 07</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0180">02       </item>
            <item value="0x0380">03       </item>
            <item value="0x0580">04       </item>
            <item value="0x0780">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@57A2 = 4E</action>
            <action>maincpu.mb@57A8 = E4</action>
        </script>
        <script state="change">
            <action>maincpu.mw@57A3 = param</action>
            <action>maincpu.mw@57A9 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@57A2 = CA6EC6CF</action>
            <action>maincpu.md@57A8 = 60C4C67B</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- some codes cause no sound response except code 0x20 - 0x2A (sfx), 0x40 - 0x4D (music) -->
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@48D4 = 00              </action> <!-- disable next sequence at boot -->
            <action>maincpu.mw@EC15 = FCE0            </action>
            <action>maincpu.mq@FCE0 = B581340811B381A5</action>
            <action>maincpu.mq@FCE8 = F7FE8009FE0E01D2</action>
            <action>maincpu.mq@FCF0 = A3FDA4017EA3F7A4</action>
            <action>maincpu.mq@FCF8 = 02E81009FB0E0243</action>
            <action>maincpu.mq@FD00 = 10F58003EF050503</action>
            <action>maincpu.mq@FD08 = DF0E09D7DF3E804E</action>
            <action>maincpu.mq@FD10 = 01D53E8102CAFFFF</action>
            <!--
            FCE0 | 97 81    : STA    $81
            FCE2 | B6 08 11 : LDA    $0811 // read input
            FCE5 | 91 81    : CMPA   $81
            FCE7 | 27 F7    : BEQ    $FCE0
            FCE9 | D6 80    : LDB    $80
            FCEB | 81 FE    : CMPA   #$FE
            FCED | 26 01    : BNE    $FCF0
            FCEF | 5A       : DECB         // decrease code -01
            FCF0 | 81 FD    : CMPA   #$FD
            FCF2 | 26 01    : BNE    $FCF5
            FCF4 | 5C       : INCB         // increase code +01
            FCF5 | 81 F7    : CMPA   #$F7
            FCF7 | 26 02    : BNE    $FCFB
            FCF9 | C0 10    : SUBB   #$10  // decrease code -10
            FCFB | 81 FB    : CMPA   #$FB
            FCFD | 26 02    : BNE    $FD01
            FCFF | CB 10    : ADDB   #$10  // increase code +10
            FD01 | D7 80    : STB    $80
            FD03 | 81 EF    : CMPA   #$EF
            FD05 | 27 05    : BEQ    $FD0C // play sound
            FD07 | 81 DF    : CMPA   #$DF
            FD09 | 26 09    : BNE    $FD14
            FD0B | 5F       : CLRB         // stop sound
            FD0C | F7 3E 80 : STB    $3E80
            FD0F | C6 01    : LDB    #$01
            FD11 | F7 3E 81 : STB    $3E81
            FD14 | 20 CA    : BRA    $FCE0
            -->
        </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@3B80</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@48D4 = 03              </action>
            <action>maincpu.mw@EC15 = 4A58            </action>
            <action>maincpu.mq@FCE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FCE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FCF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FCF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FD00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FD08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FD10 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@A412 = FCA42995</action> <!-- ram -->
            <action>maincpu.md@A4B4 = 5CA5144E</action> <!-- rom -->
        </script>
        <script state="off">
            <action>maincpu.md@A412 = 0C200095</action>
            <action>maincpu.md@A4B4 = AC40004E</action>
        </script>
    </cheat>

</mamecheat>
  • "no hit - shield" : Added new.
  • "player speed" : Updated.
  • "sound test mode" : Added New. Some codes cause no sound response except code 0x20 - 0x2A (sfx), 0x40 - 0x4D (music).