Page 1 of 1

[aliensec]+ Alien Sector/Baraduke

Posted: Sat Jun 07, 2025 9:38 am
by jman
aliensec.xml

Code: Select all

<!-- Alien Sector -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@8E72 = 20</action> <!-- enemy -->
            <action>maincpu.mb@8F46 = 20</action> <!-- enemy -->
            <action>maincpu.mb@9060 = 20</action> <!-- enemy -->
            <action>maincpu.mb@9182 = 20</action> <!-- enemy -->
            <action>maincpu.mb@931B = 20</action> <!-- bullet -->
            <action>maincpu.mb@93C8 = 20</action> <!-- enemy -->
            <action>maincpu.mb@98D1 = 20</action> <!-- enemy -->
            <action>maincpu.mb@9A7B = 20</action> <!-- enemy -->
            <action>maincpu.mb@9B62 = 20</action> <!-- enemy -->
            <action>maincpu.mb@9C3F = 20</action> <!-- enemy -->
            <action>maincpu.mb@9CF0 = 20</action> <!-- enemy -->
            <action>maincpu.mb@9E68 = 20</action> <!-- enemy -->
            <action>maincpu.mb@9FE2 = 20</action> <!-- bullet -->
            <action>maincpu.mb@A0EE = 20</action> <!-- enemy -->
            <action>maincpu.mb@A1FD = 20</action> <!-- enemy -->
            <action>maincpu.mb@A2C9 = 20</action> <!-- bullet -->
            <action>maincpu.mb@AE79 = 00</action> <!-- boss 2 -->
            <action>maincpu.mb@B185 = 20</action> <!-- boss 1 -->
        </script>
        <script state="off">
            <action>maincpu.mb@8E72 = 27</action>
            <action>maincpu.mb@8F46 = 27</action>
            <action>maincpu.mb@9060 = 27</action>
            <action>maincpu.mb@9182 = 27</action>
            <action>maincpu.mb@931B = 27</action>
            <action>maincpu.mb@93C8 = 27</action>
            <action>maincpu.mb@98D1 = 27</action>
            <action>maincpu.mb@9A7B = 27</action>
            <action>maincpu.mb@9B62 = 27</action>
            <action>maincpu.mb@9C3F = 27</action>
            <action>maincpu.mb@9CF0 = 27</action>
            <action>maincpu.mb@9E68 = 27</action>
            <action>maincpu.mb@9FE2 = 27</action>
            <action>maincpu.mb@A0EE = 27</action>
            <action>maincpu.mb@A1FD = 27</action>
            <action>maincpu.mb@A2C9 = 27</action>
            <action>maincpu.mb@AE79 = 0C</action>
            <action>maincpu.mb@B185 = 27</action>
        </script>
    </cheat>

    <cheat desc="no hit - paccet">
        <script state="on">
            <action>maincpu.mw@A70B = B740</action>
        </script>
        <script state="off">
            <action>maincpu.mw@A70B = B72E</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <!-- up -->
            <action>maincpu.mb@88DA = 00</action>
            <!-- right -->
            <action>maincpu.mb@88E9 = 00</action>
            <action>maincpu.mb@88EE = 00</action>
            <!-- left -->
            <action>maincpu.mb@88F8 = 00</action>
            <action>maincpu.mb@88FD = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@88DA = 03</action>
            <action>maincpu.mb@88E9 = 56</action>
            <action>maincpu.mb@88EE = 51</action>
            <action>maincpu.mb@88F8 = 47</action>
            <action>maincpu.mb@88FD = 42</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@89BB = 01</action>
            <action>maincpu.mb@89C1 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@89BB = 10</action>
            <action>maincpu.mb@89C1 = 08</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0200">02       </item>
            <item value="0x0300">03       </item>
            <item value="0x0400">04       </item>
            <item value="0x0500">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@87E9 = -param</action> <!-- left -->
            <action>maincpu.mw@87F8 = -param</action> <!-- upper-left : up -->
            <action>maincpu.mw@87FE = -param</action> <!-- upper-left : left -->
            <action>maincpu.mw@880D =  param</action> <!-- lower-left : down -->
            <action>maincpu.mw@8813 = -param</action> <!-- lower-left : left -->
            <action>maincpu.mw@8828 =  param</action> <!-- right -->
            <action>maincpu.mw@8837 = -param</action> <!-- upper-right : up -->
            <action>maincpu.mw@883D =  param</action> <!-- upper-right : right -->
            <action>maincpu.mw@884B =  param</action> <!-- lower-right : down -->
            <action>maincpu.mw@8851 =  param</action> <!-- lower-right : right -->
            <action>maincpu.mw@886A = -param</action> <!-- up -->
            <action>maincpu.mw@887D =  param</action> <!-- down -->
        </script>
        <script state="off">
            <action>maincpu.mw@87E9 = FE00</action>
            <action>maincpu.mw@87F8 = FE80</action>
            <action>maincpu.mw@87FE = FE80</action>
            <action>maincpu.mw@880D = 0180</action>
            <action>maincpu.mw@8813 = FE80</action>
            <action>maincpu.mw@8828 = 0200</action>
            <action>maincpu.mw@8837 = FE80</action>
            <action>maincpu.mw@883D = 0180</action>
            <action>maincpu.mw@884B = 0180</action>
            <action>maincpu.mw@8851 = 0180</action>
            <action>maincpu.mw@886A = FE00</action>
            <action>maincpu.mw@887D = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0100">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>maincpu.mw@A37C = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@A37C = 0800</action>
        </script>
    </cheat>

    <cheat desc="no recoil/free fall">
        <script state="on">
            <!-- recoil -->
            <action>maincpu.mb@89FF = 00</action>
            <!-- free fall -->
            <action>maincpu.mw@87E3 = 0000</action>
            <action>maincpu.mw@8822 = 0000</action>
            <action>maincpu.mw@8885 = 0000</action>
        </script>
        <script state="off">
            <action>maincpu.mb@89FF = F8  </action>
            <action>maincpu.mw@87E3 = 0080</action>
            <action>maincpu.mw@8822 = 0080</action>
            <action>maincpu.mw@8885 = 0100</action>
        </script>
    </cheat>

    <cheat desc="hidden character finder">
        <!-- floor 4, 7, 16, 20, 25, 33, 41, 44 -->
        <script state="on">
            <action>maincpu.mw@AA9B = AAF2</action>
        </script>
        <script state="off">
            <action>maincpu.mw@AA9B = AAC6</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop code 0x27 and 0x28 (voices) by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@C125 = F080            </action>
            <action>maincpu.mq@F080 = BDDFEABDE003BDC0</action>
            <action>maincpu.mq@F088 = 8F4FF6428127028A</action>
            <action>maincpu.mq@F090 = 01F6427F27028A02</action>
            <action>maincpu.mq@F098 = F6427D27028A04F6</action>
            <action>maincpu.mq@F0A0 = 427B27028A08F642</action>
            <action>maincpu.mq@F0A8 = 7927028A10F64267</action>
            <action>maincpu.mq@F0B0 = 27028A2097429141</action>
            <action>maincpu.mq@F0B8 = 2726D64081012601</action>
            <action>maincpu.mq@F0C0 = 5A810226015C8104</action>
            <action>maincpu.mq@F0C8 = 2602C01081082602</action>
            <action>maincpu.mq@F0D0 = CB10D74081102705</action>
            <action>maincpu.mq@F0D8 = 812026045FBDF0E9</action>
            <action>maincpu.mq@F0E0 = 96429741BDC08F20</action>
            <action>maincpu.mq@F0E8 = A0CE42845D271386</action>
            <action>maincpu.mq@F0F0 = 01C1272403A7C539</action>
            <action>maincpu.mq@F0F8 = C12825028602B743</action>
            <action>maincpu.mq@F100 = 293986416FC04A26</action>
            <action>maincpu.mq@F108 = FB39FFFFFFFFFFFF</action>
            <!--
            F080 | BD DF EA : JSR    $DFEA  // erase text
            F083 | BD E0 03 : JSR    $E003  // erase screen
            F086 | BD C0 8F : JSR    $C08F
            F089 | 4F       : CLRA
            F08A | F6 42 81 : LDB    $4281  // read left
            F08D | 27 02    : BEQ    $F091
            F08F | 8A 01    : ORA    #$01
            F091 | F6 42 7F : LDB    $427F  // read right
            F094 | 27 02    : BEQ    $F098
            F096 | 8A 02    : ORA    #$02
            F098 | F6 42 7D : LDB    $427D  // read up
            F09B | 27 02    : BEQ    $F09F
            F09D | 8A 04    : ORA    #$04
            F09F | F6 42 7B : LDB    $427B  // read down
            F0A2 | 27 02    : BEQ    $F0A6
            F0A4 | 8A 08    : ORA    #$08
            F0A6 | F6 42 79 : LDB    $4279  // read button 1
            F0A9 | 27 02    : BEQ    $F0AD
            F0AB | 8A 10    : ORA    #$10
            F0AD | F6 42 67 : LDB    $4267  // read start button
            F0B0 | 27 02    : BEQ    $F0B4
            F0B2 | 8A 20    : ORA    #$20
            F0B4 | 97 42    : STA    <$42
            F0B6 | 91 41    : CMPA   <$41
            F0B8 | 27 26    : BEQ    $F0E0
            F0BA | D6 40    : LDB    <$40
            F0BC | 81 01    : CMPA   #$01
            F0BE | 26 01    : BNE    $F0C1
            F0C0 | 5A       : DECB          // decrease code -01
            F0C1 | 81 02    : CMPA   #$02
            F0C3 | 26 01    : BNE    $F0C6
            F0C5 | 5C       : INCB          // increase code +01
            F0C6 | 81 04    : CMPA   #$04
            F0C8 | 26 02    : BNE    $F0CC
            F0CA | C0 10    : SUBB   #$10   // decrease code -10
            F0CC | 81 08    : CMPA   #$08
            F0CE | 26 02    : BNE    $F0D2
            F0D0 | CB 10    : ADDB   #$10   // increase code +10
            F0D2 | D7 40    : STB    <$40
            F0D4 | 81 10    : CMPA   #$10
            F0D6 | 27 05    : BEQ    $F0DD  // play sound
            F0D8 | 81 20    : CMPA   #$20
            F0DA | 26 04    : BNE    $F0E0
            F0DC | 5F       : CLRB          // stop sound
            F0DD | BD F0 E9 : JSR    $F0E9
            F0E0 | 96 42    : LDA    <$42
            F0E2 | 97 41    : STA    <$41
            F0E4 | BD C0 8F : JSR    $C08F
            F0E7 | 20 A0    : BRA    $F089
            F0E9 | CE 42 84 : LDU    #$4284 // sound parameter set/clear routine
            F0EC | 5D       : TSTB
            F0ED | 27 13    : BEQ    $F102
            F0EF | 86 01    : LDA    #$01   // set sound parameter
            F0F1 | C1 27    : CMPB   #$27
            F0F3 | 24 03    : BCC    $F0F8
            F0F5 | A7 C5    : STA    B,U    // music, sfx
            F0F7 | 39       : RTS
            F0F8 | C1 28    : CMPB   #$28   // voice
            F0FA | 25 02    : BCS    $F0FE
            F0FC | 86 02    : LDA    #$02
            F0FE | B7 43 29 : STA    $4329
            F101 | 39       : RTS
            F102 | 86 41    : LDA    #$41   // clear sound parameters
            F104 | 6F C0    : CLR    ,U+
            F106 | 4A       : DECA
            F107 | 26 FB    : BNE    $F114
            F109 | 39       : RTS
            -->
            <action>mcusub.mb@0075 = 00</action> <!-- enable sound ($8075) -->
        </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="1P start : 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@0040</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@C125 = C1DC            </action>
            <action>maincpu.mq@F080 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F088 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F090 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F098 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F100 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F108 = FFFFFFFFFFFFFFFF</action>
            <action> mcusub.mb@0075 = 01              </action>
        </script>
    </cheat>

    <cheat desc="skip ram check">
        <script state="on">
            <action>maincpu.mw@C015 = C017</action>
        </script>
        <script state="off">
            <action>maincpu.mw@C015 = CC17</action>
        </script>
    </cheat>

</mamecheat>
baraduke.xml

Code: Select all

<!-- Baraduke -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@8E72 = 20</action> <!-- enemy -->
            <action>maincpu.mb@8F46 = 20</action> <!-- enemy -->
            <action>maincpu.mb@9060 = 20</action> <!-- enemy -->
            <action>maincpu.mb@9182 = 20</action> <!-- enemy -->
            <action>maincpu.mb@931B = 20</action> <!-- bullet -->
            <action>maincpu.mb@93C8 = 20</action> <!-- enemy -->
            <action>maincpu.mb@98D1 = 20</action> <!-- enemy -->
            <action>maincpu.mb@9A7B = 20</action> <!-- enemy -->
            <action>maincpu.mb@9B62 = 20</action> <!-- enemy -->
            <action>maincpu.mb@9C3F = 20</action> <!-- enemy -->
            <action>maincpu.mb@9CF0 = 20</action> <!-- enemy -->
            <action>maincpu.mb@9E68 = 20</action> <!-- enemy -->
            <action>maincpu.mb@9FE2 = 20</action> <!-- bullet -->
            <action>maincpu.mb@A0EE = 20</action> <!-- enemy -->
            <action>maincpu.mb@A1FD = 20</action> <!-- enemy -->
            <action>maincpu.mb@A2C9 = 20</action> <!-- bullet -->
            <action>maincpu.mb@AE79 = 00</action> <!-- boss 2 -->
            <action>maincpu.mb@B185 = 20</action> <!-- boss 1 -->
        </script>
        <script state="off">
            <action>maincpu.mb@8E72 = 27</action>
            <action>maincpu.mb@8F46 = 27</action>
            <action>maincpu.mb@9060 = 27</action>
            <action>maincpu.mb@9182 = 27</action>
            <action>maincpu.mb@931B = 27</action>
            <action>maincpu.mb@93C8 = 27</action>
            <action>maincpu.mb@98D1 = 27</action>
            <action>maincpu.mb@9A7B = 27</action>
            <action>maincpu.mb@9B62 = 27</action>
            <action>maincpu.mb@9C3F = 27</action>
            <action>maincpu.mb@9CF0 = 27</action>
            <action>maincpu.mb@9E68 = 27</action>
            <action>maincpu.mb@9FE2 = 27</action>
            <action>maincpu.mb@A0EE = 27</action>
            <action>maincpu.mb@A1FD = 27</action>
            <action>maincpu.mb@A2C9 = 27</action>
            <action>maincpu.mb@AE79 = 0C</action>
            <action>maincpu.mb@B185 = 27</action>
        </script>
    </cheat>

    <cheat desc="no hit - paccet">
        <script state="on">
            <action>maincpu.mw@A70B = B740</action>
        </script>
        <script state="off">
            <action>maincpu.mw@A70B = B72E</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <!-- up -->
            <action>maincpu.mb@88DA = 00</action>
            <!-- right -->
            <action>maincpu.mb@88E9 = 00</action>
            <action>maincpu.mb@88EE = 00</action>
            <!-- left -->
            <action>maincpu.mb@88F8 = 00</action>
            <action>maincpu.mb@88FD = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@88DA = 03</action>
            <action>maincpu.mb@88E9 = 56</action>
            <action>maincpu.mb@88EE = 51</action>
            <action>maincpu.mb@88F8 = 47</action>
            <action>maincpu.mb@88FD = 42</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mb@89BB = 01</action>
            <action>maincpu.mb@89C1 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@89BB = 10</action>
            <action>maincpu.mb@89C1 = 08</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0200">02       </item>
            <item value="0x0300">03       </item>
            <item value="0x0400">04       </item>
            <item value="0x0500">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@87E9 = -param</action> <!-- left -->
            <action>maincpu.mw@87F8 = -param</action> <!-- upper-left : up -->
            <action>maincpu.mw@87FE = -param</action> <!-- upper-left : left -->
            <action>maincpu.mw@880D =  param</action> <!-- lower-left : down -->
            <action>maincpu.mw@8813 = -param</action> <!-- lower-left : left -->
            <action>maincpu.mw@8828 =  param</action> <!-- right -->
            <action>maincpu.mw@8837 = -param</action> <!-- upper-right : up -->
            <action>maincpu.mw@883D =  param</action> <!-- upper-right : right -->
            <action>maincpu.mw@884B =  param</action> <!-- lower-right : down -->
            <action>maincpu.mw@8851 =  param</action> <!-- lower-right : right -->
            <action>maincpu.mw@886A = -param</action> <!-- up -->
            <action>maincpu.mw@887D =  param</action> <!-- down -->
        </script>
        <script state="off">
            <action>maincpu.mw@87E9 = FE00</action>
            <action>maincpu.mw@87F8 = FE80</action>
            <action>maincpu.mw@87FE = FE80</action>
            <action>maincpu.mw@880D = 0180</action>
            <action>maincpu.mw@8813 = FE80</action>
            <action>maincpu.mw@8828 = 0200</action>
            <action>maincpu.mw@8837 = FE80</action>
            <action>maincpu.mw@883D = 0180</action>
            <action>maincpu.mw@884B = 0180</action>
            <action>maincpu.mw@8851 = 0180</action>
            <action>maincpu.mw@886A = FE00</action>
            <action>maincpu.mw@887D = 0200</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x0100">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>maincpu.mw@A37C = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@A37C = 0800</action>
        </script>
    </cheat>

    <cheat desc="no free fall/recoil">
        <script state="on">
            <!-- free fall -->
            <action>maincpu.mw@87E3 = 0000</action>
            <action>maincpu.mw@8822 = 0000</action>
            <action>maincpu.mw@8885 = 0000</action>
            <!-- recoil -->
            <action>maincpu.mb@89FF = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mw@87E3 = 0080</action>
            <action>maincpu.mw@8822 = 0080</action>
            <action>maincpu.mw@8885 = 0100</action>
            <action>maincpu.mb@89FF = F8  </action>
        </script>
    </cheat>

    <cheat desc="hidden character finder">
        <!-- floor 4, 7, 16, 20, 25, 33, 41, 44 -->
        <script state="on">
            <action>maincpu.mw@AA9B = AAF2</action>
        </script>
        <script state="off">
            <action>maincpu.mw@AA9B = AAC6</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop code 0x27 and 0x28 (voices) by sound stop button -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@C125 = F090            </action>
            <action>maincpu.mq@F090 = BDDFF4BDE00DBDC0</action>
            <action>maincpu.mq@F098 = 8F4FF6428127028A</action>
            <action>maincpu.mq@F0A0 = 01F6427F27028A02</action>
            <action>maincpu.mq@F0A8 = F6427D27028A04F6</action>
            <action>maincpu.mq@F0B0 = 427B27028A08F642</action>
            <action>maincpu.mq@F0B8 = 7927028A10F64267</action>
            <action>maincpu.mq@F0C0 = 27028A2097429141</action>
            <action>maincpu.mq@F0C8 = 2726D64081012601</action>
            <action>maincpu.mq@F0D0 = 5A810226015C8104</action>
            <action>maincpu.mq@F0D8 = 2602C01081082602</action>
            <action>maincpu.mq@F0E0 = CB10D74081102705</action>
            <action>maincpu.mq@F0E8 = 812026045FBDF0F9</action>
            <action>maincpu.mq@F0F0 = 96429741BDC08F20</action>
            <action>maincpu.mq@F0F8 = A0CE42845D271386</action>
            <action>maincpu.mq@F100 = 01C1272403A7C539</action>
            <action>maincpu.mq@F108 = C12825028602B743</action>
            <action>maincpu.mq@F110 = 293986416FC04A26</action>
            <action>maincpu.mq@F118 = FB39FFFFFFFFFFFF</action>
            <!--
            F090 | BD DF F4 : JSR    $DFF4  // erase text
            F093 | BD E0 0D : JSR    $E00D  // erase screen
            F096 | BD C0 8F : JSR    $C08F
            F099 | 4F       : CLRA
            F09A | F6 42 81 : LDB    $4281  // read left
            F09D | 27 02    : BEQ    $F0A1
            F09F | 8A 01    : ORA    #$01
            F0A1 | F6 42 7F : LDB    $427F  // read right
            F0A4 | 27 02    : BEQ    $F0A8
            F0A6 | 8A 02    : ORA    #$02
            F0A8 | F6 42 7D : LDB    $427D  // read up
            F0AB | 27 02    : BEQ    $F0AF
            F0AD | 8A 04    : ORA    #$04
            F0AF | F6 42 7B : LDB    $427B  // read down
            F0B2 | 27 02    : BEQ    $F0B6
            F0B4 | 8A 08    : ORA    #$08
            F0B6 | F6 42 79 : LDB    $4279  // read button 1
            F0B9 | 27 02    : BEQ    $F0BD
            F0BB | 8A 10    : ORA    #$10
            F0BD | F6 42 67 : LDB    $4267  // read start button
            F0C0 | 27 02    : BEQ    $F0C4
            F0C2 | 8A 20    : ORA    #$20
            F0C4 | 97 42    : STA    <$42
            F0C6 | 91 41    : CMPA   <$41
            F0C8 | 27 26    : BEQ    $F0F0
            F0CA | D6 40    : LDB    <$40
            F0CC | 81 01    : CMPA   #$01
            F0CE | 26 01    : BNE    $F0D1
            F0D0 | 5A       : DECB          // decrease code -01
            F0D1 | 81 02    : CMPA   #$02
            F0D3 | 26 01    : BNE    $F0D6
            F0D5 | 5C       : INCB          // increase code +01
            F0D6 | 81 04    : CMPA   #$04
            F0D8 | 26 02    : BNE    $F0DC
            F0DA | C0 10    : SUBB   #$10   // decrease code -10
            F0DC | 81 08    : CMPA   #$08
            F0DE | 26 02    : BNE    $F0E2
            F0E0 | CB 10    : ADDB   #$10   // increase code +10
            F0E2 | D7 40    : STB    <$40
            F0E4 | 81 10    : CMPA   #$10
            F0E6 | 27 05    : BEQ    $F0ED  // play sound
            F0E8 | 81 20    : CMPA   #$20
            F0EA | 26 04    : BNE    $F0F0
            F0EC | 5F       : CLRB          // stop sound
            F0ED | BD F0 F9 : JSR    $F0F9
            F0F0 | 96 42    : LDA    <$42
            F0F2 | 97 41    : STA    <$41
            F0F4 | BD C0 8F : JSR    $C08F
            F0F7 | 20 A0    : BRA    $F099
            F0F9 | CE 42 84 : LDU    #$4284 // sound parameter set/clear routine
            F0FC | 5D       : TSTB
            F0FD | 27 13    : BEQ    $F112
            F0FF | 86 01    : LDA    #$01   // set sound parameter
            F101 | C1 27    : CMPB   #$27
            F103 | 24 03    : BCC    $F108
            F105 | A7 C5    : STA    B,U    // music, sfx
            F107 | 39       : RTS
            F108 | C1 28    : CMPB   #$28   // voice
            F10A | 25 02    : BCS    $F10E
            F10C | 86 02    : LDA    #$02
            F10E | B7 43 29 : STA    $4329
            F111 | 39       : RTS
            F112 | 86 41    : LDA    #$41   // clear sound parameters
            F114 | 6F C0    : CLR    ,U+
            F116 | 4A       : DECA
            F117 | 26 FB    : BNE    $F114
            F119 | 39       : RTS
            -->
            <action>mcusub.mb@0079 = 00</action> <!-- enable sound ($8079) -->
        </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="1P start : 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@0040</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@C125 = C1DC            </action>
            <action>maincpu.mq@F090 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F098 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0C0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0C8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0D0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0D8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0E0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0E8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F0F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F100 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F108 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F110 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F118 = FFFFFFFFFFFFFFFF</action>
            <action> mcusub.mb@0079 = 01              </action>
        </script>
    </cheat>

    <cheat desc="skip ram check">
        <script state="on">
            <action>maincpu.mw@C015 = C017</action>
        </script>
        <script state="off">
            <action>maincpu.mw@C015 = CC1F</action>
        </script>
    </cheat>

</mamecheat>
"sound test mode" : You can't stop voices (code 0x27 and 0x28) by sound stop button.