Page 1 of 1

[scion] Scion

Posted: Sat Feb 12, 2022 8:41 am
by jman

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mw@0cf9 = 0cfb</action>
    </script>
    <script state="off">
        <action>maincpu.mw@0cf9 = 0d06</action>
    </script>
</cheat>

<cheat desc="no hit - sub unit">
    <script state="on">
        <action>maincpu.mb@1678 = 7a</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1678 = a0</action>
    </script>
</cheat>

<cheat desc="auto fire - shot">
    <script state="on">
        <action>maincpu.mb@14df = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@14df = c0</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x04">01 (slow)</item>
        <item value="0x10">02       </item>
        <item value="0x14">03       </item>
        <item value="0x18">04       </item>
        <item value="0x1c">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@1552 =            param</action> <!-- speed -->
        <action>maincpu.mb@1554 = f0 - (param / 2)</action> <!-- range -->
    </script>
    <script state="off">
        <action>maincpu.mb@1552 = 10</action>
        <action>maincpu.mb@1554 = f0</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter min="0x01" max="0x05" />
    <script state="change">
        <action>maincpu.mb@1409 = param</action> <!-- right -->
        <action>maincpu.mb@1413 = param</action> <!-- left -->
        <action>maincpu.mb@141d = param</action> <!-- up -->
        <action>maincpu.mb@1427 = param</action> <!-- down -->
    </script>
    <script state="off">
        <action>maincpu.mb@1409 = 02</action>
        <action>maincpu.mb@1413 = 02</action>
        <action>maincpu.mb@141d = 02</action>
        <action>maincpu.mb@1427 = 02</action>
    </script>
</cheat>

<cheat desc="fast bomb">
    <script state="on">
        <action>maincpu.mb@173a = c3</action> <!-- normal scene -->
        <action>maincpu.mb@1728 = c3</action> <!-- boss scene -->
    </script>
    <script state="off">
        <action>maincpu.mb@173a = ca</action>
        <action>maincpu.mb@1728 = ca</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@0107 =             a000</action>
        <action>maincpu.mq@a000 = 3a47f0103ac10021</action>
        <action>maincpu.mq@a008 = fef4284fb9b0f018</action>
        <action>maincpu.mq@a010 = 012001fe35012002</action>
        <action>maincpu.mq@a018 = 06187e032040fe34</action>
        <action>maincpu.mq@a020 = 21e5903e142004fe</action>
        <action>maincpu.mq@a028 = 082e022011fef800</action>
        <action>maincpu.mq@a030 = e1770a2e022012fe</action>
        <action>maincpu.mq@a038 = 000000000000c918</action>
        <!--
        a000 | 21 00 c1 : ld   hl,$C100  // sound code address
        a003 | 3a 10 f0 : ld   a,($F010) // read button input
        a006 | 47       : ld   b,a
        a007 | 3a 18 f0 : ld   a,($F018) // read stick input
        a00a | b0       : or   b
        a00b | b9       : cp   c
        a00c | 4f       : ld   c,a
        a00d | 28 f4    : jr   z,$A003
        a00f | fe 02    : cp   $02
        a011 | 20 01    : jr   nz,$A014
        a013 | 35       : dec  (hl)      // decrease code
        a014 | fe 01    : cp   $01
        a016 | 20 01    : jr   nz,$A019
        a018 | 34       : inc  (hl)      // increase code
        a019 | fe 40    : cp   $40
        a01b | 20 03    : jr   nz,$A020
        a01d | 7e       : ld   a,(hl)    // play sound
        a01e | 18 06    : jr   $A026
        a020 | fe 04    : cp   $04
        a022 | 20 14    : jr   nz,$A038
        a024 | 3e 90    : ld   a,$90     // stop sound
        a026 | e5       : push hl
        a027 | 21 00 f8 : ld   hl,$F800
        a02a | fe 11    : cp   $11
        a02c | 20 02    : jr   nz,$A030
        a02e | 2e 08    : ld   l,$08     // explosion sound
        a030 | fe 12    : cp   $12
        a032 | 20 02    : jr   nz,$A036
        a034 | 2e 0a    : ld   l,$0A     // shot sound
        a036 | 77       : ld   (hl),a    // send sound code
        a037 | e1       : pop  hl
        a038 | 18 c9    : jr   $A003
        -->
    </script>
    <script state="run">
        <output format="----- scion sound test mode -----"  line="10" align="center" />
        <output format="left : decrease code"               line="11" align="center" />
        <output format="right : increase code"              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@c100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@0107 =             0f61</action>
        <action>maincpu.mq@a000 = 0000000000000000</action>
        <action>maincpu.mq@a008 = 0000000000000000</action>
        <action>maincpu.mq@a010 = 0000000000000000</action>
        <action>maincpu.mq@a018 = 0000000000000000</action>
        <action>maincpu.mq@a020 = 0000000000000000</action>
        <action>maincpu.mq@a028 = 0000000000000000</action>
        <action>maincpu.mq@a030 = 0000000000000000</action>
        <action>maincpu.mq@a038 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="skip ram check">
    <script state="on">
        <action>maincpu.mb@00ff = 92</action>
    </script>
    <script state="off">
        <action>maincpu.mb@00ff = 51</action>
    </script>
</cheat>
scion has white noise bug. The following code will fix it.

Code: Select all

<cheat desc="disable white noise bug (test)">
    <script state="on">
        <action>audiocpu.mb@0124 = 00</action>
        <action>audiocpu.mb@0147 = 00</action>
    </script>
    <script state="off">
        <action>audiocpu.mb@0124 = 10</action>
        <action>audiocpu.mb@0147 = 0f</action>
    </script>
</cheat>
scion has the ending after level 999. The following code starts the game with level 999.

Code: Select all

<cheat desc="start with level 999">
    <script state="run">
        <action condition="maincpu.pd@c300 == 00000000">maincpu.pd@c300 = 00020053</action>
    </script>
</cheat>

[scion] Scion (update)

Posted: Sun Nov 27, 2022 1:15 pm
by jman

Code: Select all

<cheat desc="shor hit mark - bomb (test)">
    <script state="on">
        <action>maincpu.mb@1de9 = c3</action>
        <action>maincpu.mb@1e57 = c3</action>
        <action>maincpu.mb@1e78 = c3</action>
    </script>
    <script state="off">
        <action>maincpu.mb@1de9 = ca</action>
        <action>maincpu.mb@1e57 = ca</action>
        <action>maincpu.mb@1e78 = ca</action>
    </script>
</cheat>
"short hit mark" : add new as test code because of unverified.

Code: Select all

<cheat desc="sound test mode">
    <!-- you can't stop two sfxs (code 0x11 and 0x12) by stop button -->
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.mw@0107 =             a000</action>
        <action>maincpu.mq@a000 = 44e6f0103ac10021</action>
        <action>maincpu.mq@a008 = b8b133e6f0183a4f</action>
        <action>maincpu.mq@a010 = 35012002fef02847</action>
        <action>maincpu.mq@a018 = 2020fe34012001fe</action>
        <action>maincpu.mq@a020 = 2010fe0618f03e04</action>
        <action>maincpu.mq@a028 = 40fe787786103e05</action>
        <action>maincpu.mq@a030 = 2004fe06187e0320</action>
        <action>maincpu.mq@a038 = 11fef80011903e12</action>
        <action>maincpu.mq@a040 = 022012fe081e0220</action>
        <action>maincpu.mq@a048 = 000000b618120a1e</action>
        <!--
        a000 | 21 00 c1 : ld  hl,$C100  // sound code address
        a003 | 3a 10 f0 : ld  a,($F010) // read button inputs
        a006 | e6 44    : and $44
        a008 | 4f       : ld  c,a
        a009 | 3a 18 f0 : ld  a,($F018) // read joystick inputs
        a00c | e6 33    : and $33
        a00e | b1       : or  c
        a00f | b8       : cp  b
        a010 | 47       : ld  b,a
        a011 | 28 f0    : jr  z,$A003
        a013 | fe 02    : cp  $02
        a015 | 20 01    : jr  nz,$A018
        a017 | 35       : dec (hl)      // decrease code -01
        a018 | fe 01    : cp  $01
        a01a | 20 01    : jr  nz,$A01D
        a01c | 34       : inc (hl)      // increase code +01
        a01d | fe 20    : cp  $20
        a01f | 20 04    : jr  nz,$A025
        a021 | 3e f0    : ld  a,$F0     // decrease code -10
        a023 | 18 06    : jr  $A02B
        a025 | fe 10    : cp  $10
        a027 | 20 05    : jr  nz,$A02E
        a029 | 3e 10    : ld  a,$10     // increase code +10
        a02b | 86       : add a,(hl)
        a02c | 77       : ld  (hl),a
        a02d | 78       : ld  a,b
        a02e | fe 40    : cp  $40
        a030 | 20 03    : jr  nz,$A035
        a032 | 7e       : ld  a,(hl)    // play sound
        a033 | 18 06    : jr  $A03B
        a035 | fe 04    : cp  $04
        a037 | 20 12    : jr  nz,$A04B
        a039 | 3e 90    : ld  a,$90     // stop sound
        a03b | 11 00 f8 : ld  de,$F800
        a03e | fe 11    : cp  $11
        a040 | 20 02    : jr  nz,$A044
        a042 | 1e 08    : ld  e,$08     // explosion sound
        a044 | fe 12    : cp  $12
        a046 | 20 02    : jr  nz,$A04A
        a048 | 1e 0a    : ld  e,$0A     // shot sound
        a04a | 12       : ld  (de),a    // send sound code
        a04b | 18 b6    : jr  $A003
        -->
    </script>
    <script state="run">
        <output format="----- scion 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 %2.2X &gt;&gt;" line="19" align="center"  >
            <argument>maincpu.pb@c100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@0107 =             0f61</action>
        <action>maincpu.mq@a000 = 0000000000000000</action>
        <action>maincpu.mq@a008 = 0000000000000000</action>
        <action>maincpu.mq@a010 = 0000000000000000</action>
        <action>maincpu.mq@a018 = 0000000000000000</action>
        <action>maincpu.mq@a020 = 0000000000000000</action>
        <action>maincpu.mq@a028 = 0000000000000000</action>
        <action>maincpu.mq@a030 = 0000000000000000</action>
        <action>maincpu.mq@a038 = 0000000000000000</action>
        <action>maincpu.mq@a040 = 0000000000000000</action>
        <action>maincpu.mq@a048 = 0000000000000000</action>
    </script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10).

[scion]+ Scion

Posted: Tue Feb 20, 2024 1:20 am
by jman
scion.xml

Code: Select all

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

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mw@0CF9 = 0CFB</action>
        </script>
        <script state="off">
            <action>maincpu.mw@0CF9 = 0D06</action>
        </script>
    </cheat>

    <cheat desc="no hit - sub unit">
        <script state="on">
            <action>maincpu.mb@1678 = 7A</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1678 = A0</action>
        </script>
    </cheat>

    <cheat desc="auto fire - shot">
        <script state="on">
            <action>maincpu.mb@14DF = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@14DF = C0</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" />
        <script state="change">
            <action>maincpu.mb@1409 = param</action> <!-- right -->
            <action>maincpu.mb@1413 = param</action> <!-- left -->
            <action>maincpu.mb@141D = param</action> <!-- up -->
            <action>maincpu.mb@1427 = param</action> <!-- down -->
        </script>
        <script state="off">
            <action>maincpu.mb@1409 = 02</action>
            <action>maincpu.mb@1413 = 02</action>
            <action>maincpu.mb@141D = 02</action>
            <action>maincpu.mb@1427 = 02</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x04">01 (slow)</item>
            <item value="0x10">02       </item>
            <item value="0x14">03       </item>
            <item value="0x18">04       </item>
            <item value="0x1c">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@1552 =       param     </action> <!-- speed -->
            <action>maincpu.mb@1554 = F0 - (param / 2)</action> <!-- range -->
        </script>
        <script state="off">
            <action>maincpu.mb@1552 = 10</action>
            <action>maincpu.mb@1554 = F0</action>
        </script>
    </cheat>

    <cheat desc="fast bomb">
        <script state="on">
            <action>maincpu.mb@1728 = C3</action> <!-- boss scene -->
            <action>maincpu.mb@173A = C3</action> <!-- normal scene -->
        </script>
        <script state="off">
            <action>maincpu.mb@1728 = CA</action>
            <action>maincpu.mb@173A = CA</action>
        </script>
    </cheat>

    <cheat desc="short hit mark - bomb (test)">
        <!-- unverified -->
        <script state="on">
            <action>maincpu.mb@1DE9 = C3</action>
            <action>maincpu.mb@1E57 = C3</action>
            <action>maincpu.mb@1E78 = C3</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1DE9 = CA</action>
            <action>maincpu.mb@1E57 = CA</action>
            <action>maincpu.mb@1E78 = CA</action>
        </script>
    </cheat>

    <cheat desc="disable whitenoise bug (test)">
        <!-- unverified -->
        <script state="on">
            <action>audiocpu.mb@0124 = 00</action>
            <action>audiocpu.mb@0147 = 00</action>
        </script>
        <script state="off">
            <action>audiocpu.mb@0124 = 10</action>
            <action>audiocpu.mb@0147 = 0F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop two sfxs (code 0x11 and 0x12) by sound stop button -->
        <!-- main music (0x20) doesn't loop -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@0107 = A000            </action>
            <action>maincpu.mq@A000 = 44E6F0103AC10021</action>
            <action>maincpu.mq@A008 = B8B133E6F0183A4F</action>
            <action>maincpu.mq@A010 = 35012002FEF02847</action>
            <action>maincpu.mq@A018 = 2020FE34012001FE</action>
            <action>maincpu.mq@A020 = 2010FE0618F03E04</action>
            <action>maincpu.mq@A028 = 40FE787786103E05</action>
            <action>maincpu.mq@A030 = 2004FE06187E0320</action>
            <action>maincpu.mq@A038 = 11FEF80011903E12</action>
            <action>maincpu.mq@A040 = 022012FE081E0220</action>
            <action>maincpu.mq@A048 = 000000B618120A1E</action>
            <!--
            A000 | 21 00 C1 : ld   hl,$C100  // sound code address
            A003 | 3A 10 F0 : ld   a,($F010) // read buttons
            A006 | E6 44    : and  $44
            A008 | 4F       : ld   c,a
            A009 | 3A 18 F0 : ld   a,($F018) // read other inputs
            A00C | E6 33    : and  $33
            A00E | B1       : or   c
            A00F | B8       : cp   b
            A010 | 47       : ld   b,a
            A011 | 28 F0    : jr   z,$A003
            A013 | FE 02    : cp   $02
            A015 | 20 01    : jr   nz,$A018
            A017 | 35       : dec  (hl)      // decrease code -01
            A018 | FE 01    : cp   $01
            A01A | 20 01    : jr   nz,$A01D
            A01C | 34       : inc  (hl)      // increase code +01
            A01D | FE 20    : cp   $20
            A01F | 20 04    : jr   nz,$A025
            A021 | 3E F0    : ld   a,$F0     // decrease code -10
            A023 | 18 06    : jr   $A02B
            A025 | FE 10    : cp   $10
            A027 | 20 05    : jr   nz,$A02E
            A029 | 3E 10    : ld   a,$10     // increase code +10
            A02B | 86       : add  a,(hl)
            A02C | 77       : ld   (hl),a
            A02D | 78       : ld   a,b
            A02E | FE 40    : cp   $40
            A030 | 20 03    : jr   nz,$A035
            A032 | 7E       : ld   a,(hl)    // play sound
            A033 | 18 06    : jr   $A03B
            A035 | FE 04    : cp   $04
            A037 | 20 12    : jr   nz,$A04B
            A039 | 3E 90    : ld   a,$90     // stop sound
            A03B | 11 00 F8 : ld   de,$F800
            A03E | FE 11    : cp   $11
            A040 | 20 02    : jr   nz,$A044
            A042 | 1E 08    : ld   e,$08     // explosion sound
            A044 | FE 12    : cp   $12
            A046 | 20 02    : jr   nz,$A04A
            A048 | 1E 0A    : ld   e,$0A     // shot sound
            A04A | 12       : ld   (de),a    // send sound code
            A04B | 18 B6    : jr   $A003
            -->
        </script>
        <script state="run">
            <output format="----- scion sound test mode -----"  line="10" align="center" />
            <output format="left : decrease code -01"           line="11" align="center" />
            <output format="right : increase code +01"          line="12" align="center" />
            <output format="down : decrease code -10"           line="13" align="center" />
            <output format="up : increase code +10"             line="14" align="center" />
            <output format="button 1 : play sound"              line="15" align="center" />
            <output format="button 2 : stop sound"              line="16" align="center" />
            <output format="----------------------------"       line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"  line="19" align="center"  >
                <argument>maincpu.pb@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0107 = 0F61            </action>
            <action>maincpu.mq@A000 = 0000000000000000</action>
            <action>maincpu.mq@A008 = 0000000000000000</action>
            <action>maincpu.mq@A010 = 0000000000000000</action>
            <action>maincpu.mq@A018 = 0000000000000000</action>
            <action>maincpu.mq@A020 = 0000000000000000</action>
            <action>maincpu.mq@A028 = 0000000000000000</action>
            <action>maincpu.mq@A030 = 0000000000000000</action>
            <action>maincpu.mq@A038 = 0000000000000000</action>
            <action>maincpu.mq@A040 = 0000000000000000</action>
            <action>maincpu.mq@A048 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram check">
        <script state="on">
            <action>maincpu.mb@00FF = 92</action>
        </script>
        <script state="off">
            <action>maincpu.mb@00FF = 51</action>
        </script>
    </cheat>

</mamecheat>
scionc.xml

Code: Select all

<!-- Scion (Cinematronics) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mw@0CF9 = 0CFB</action>
        </script>
        <script state="off">
            <action>maincpu.mw@0CF9 = 0D06</action>
        </script>
    </cheat>

    <cheat desc="no hit - sub unit">
        <script state="on">
            <action>maincpu.mb@1678 = 7A</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1678 = A0</action>
        </script>
    </cheat>

    <cheat desc="auto fire - shot">
        <script state="on">
            <action>maincpu.mb@14DF = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@14DF = C0</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter min="0x01" max="0x05" />
        <script state="change">
            <action>maincpu.mb@1409 = param</action> <!-- right -->
            <action>maincpu.mb@1413 = param</action> <!-- left -->
            <action>maincpu.mb@141D = param</action> <!-- up -->
            <action>maincpu.mb@1427 = param</action> <!-- down -->
        </script>
        <script state="off">
            <action>maincpu.mb@1409 = 01</action>
            <action>maincpu.mb@1413 = 01</action>
            <action>maincpu.mb@141D = 01</action>
            <action>maincpu.mb@1427 = 01</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x04">01 (slow)</item>
            <item value="0x10">02       </item>
            <item value="0x14">03       </item>
            <item value="0x18">04       </item>
            <item value="0x1c">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@1552 =       param     </action> <!-- speed -->
            <action>maincpu.mb@1554 = F0 - (param / 2)</action> <!-- range -->
        </script>
        <script state="off">
            <action>maincpu.mb@1552 = 10</action>
            <action>maincpu.mb@1554 = F0</action>
        </script>
    </cheat>

    <cheat desc="fast bomb">
        <script state="on">
            <action>maincpu.mb@1728 = C3</action> <!-- boss scene -->
            <action>maincpu.mb@173A = C3</action> <!-- normal scene -->
        </script>
        <script state="off">
            <action>maincpu.mb@1728 = CA</action>
            <action>maincpu.mb@173A = CA</action>
        </script>
    </cheat>

    <cheat desc="short hit mark - bomb (test)">
        <!-- unverified -->
        <script state="on">
            <action>maincpu.mb@1DE9 = C3</action>
            <action>maincpu.mb@1E57 = C3</action>
            <action>maincpu.mb@1E78 = C3</action>
        </script>
        <script state="off">
            <action>maincpu.mb@1DE9 = CA</action>
            <action>maincpu.mb@1E57 = CA</action>
            <action>maincpu.mb@1E78 = CA</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <!-- you can't stop two sfxs (code 0x11 and 0x12) by sound stop button -->
        <!-- main music (0x20) doesn't loop -->
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.mw@0107 = A000            </action>
            <action>maincpu.mq@A000 = 44E6F0103AC10021</action>
            <action>maincpu.mq@A008 = B8B133E6F0183A4F</action>
            <action>maincpu.mq@A010 = 35012002FEF02847</action>
            <action>maincpu.mq@A018 = 2020FE34012001FE</action>
            <action>maincpu.mq@A020 = 2010FE0618F03E04</action>
            <action>maincpu.mq@A028 = 40FE787786103E05</action>
            <action>maincpu.mq@A030 = 2004FE06187E0320</action>
            <action>maincpu.mq@A038 = 11FEF80011903E12</action>
            <action>maincpu.mq@A040 = 022012FE081E0220</action>
            <action>maincpu.mq@A048 = 000000B618120A1E</action>
            <!--
            A000 | 21 00 C1 : ld   hl,$C100  // sound code address
            A003 | 3A 10 F0 : ld   a,($F010) // read buttons
            A006 | E6 44    : and  $44
            A008 | 4F       : ld   c,a
            A009 | 3A 18 F0 : ld   a,($F018) // read other inputs
            A00C | E6 33    : and  $33
            A00E | B1       : or   c
            A00F | B8       : cp   b
            A010 | 47       : ld   b,a
            A011 | 28 F0    : jr   z,$A003
            A013 | FE 02    : cp   $02
            A015 | 20 01    : jr   nz,$A018
            A017 | 35       : dec  (hl)      // decrease code -01
            A018 | FE 01    : cp   $01
            A01A | 20 01    : jr   nz,$A01D
            A01C | 34       : inc  (hl)      // increase code +01
            A01D | FE 20    : cp   $20
            A01F | 20 04    : jr   nz,$A025
            A021 | 3E F0    : ld   a,$F0     // decrease code -10
            A023 | 18 06    : jr   $A02B
            A025 | FE 10    : cp   $10
            A027 | 20 05    : jr   nz,$A02E
            A029 | 3E 10    : ld   a,$10     // increase code +10
            A02B | 86       : add  a,(hl)
            A02C | 77       : ld   (hl),a
            A02D | 78       : ld   a,b
            A02E | FE 40    : cp   $40
            A030 | 20 03    : jr   nz,$A035
            A032 | 7E       : ld   a,(hl)    // play sound
            A033 | 18 06    : jr   $A03B
            A035 | FE 04    : cp   $04
            A037 | 20 12    : jr   nz,$A04B
            A039 | 3E 90    : ld   a,$90     // stop sound
            A03B | 11 00 F8 : ld   de,$F800
            A03E | FE 11    : cp   $11
            A040 | 20 02    : jr   nz,$A044
            A042 | 1E 08    : ld   e,$08     // explosion sound
            A044 | FE 12    : cp   $12
            A046 | 20 02    : jr   nz,$A04A
            A048 | 1E 0A    : ld   e,$0A     // shot sound
            A04A | 12       : ld   (de),a    // send sound code
            A04B | 18 B6    : jr   $A003
            -->
        </script>
        <script state="run">
            <output format="----- scion sound test mode -----"  line="10" align="center" />
            <output format="left : decrease code -01"           line="11" align="center" />
            <output format="right : increase code +01"          line="12" align="center" />
            <output format="down : decrease code -10"           line="13" align="center" />
            <output format="up : increase code +10"             line="14" align="center" />
            <output format="button 1 : play sound"              line="15" align="center" />
            <output format="button 2 : stop sound"              line="16" align="center" />
            <output format="----------------------------"       line="17" align="center" />
            <output format="&lt;&lt; sound code %02X &gt;&gt;"  line="19" align="center"  >
                <argument>maincpu.pb@C100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0107 = 0F61            </action>
            <action>maincpu.mq@A000 = 0000000000000000</action>
            <action>maincpu.mq@A008 = 0000000000000000</action>
            <action>maincpu.mq@A010 = 0000000000000000</action>
            <action>maincpu.mq@A018 = 0000000000000000</action>
            <action>maincpu.mq@A020 = 0000000000000000</action>
            <action>maincpu.mq@A028 = 0000000000000000</action>
            <action>maincpu.mq@A030 = 0000000000000000</action>
            <action>maincpu.mq@A038 = 0000000000000000</action>
            <action>maincpu.mq@A040 = 0000000000000000</action>
            <action>maincpu.mq@A048 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram check">
        <script state="on">
            <action>maincpu.mb@00FF = 92</action>
        </script>
        <script state="off">
            <action>maincpu.mb@00FF = 51</action>
        </script>
    </cheat>

</mamecheat>
"disable whitenoise bug" : Removed from scionc. This set doesn't have whitenoise bug.