[ryujin] Ryu Jin

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: 843
Joined: Tue Dec 01, 2020 1:24 pm

[ryujin] Ryu Jin

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@0d926 = 60</action> <!-- enemy -->
        <action>maincpu.mb@0db30 = 60</action> <!-- bullet -->
    </script>
    <script state="off">
        <action>maincpu.mb@0d926 = 67</action>
        <action>maincpu.mb@0db30 = 67</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@139a6 = 42</action>
        <action>maincpu.mb@05993 = 02</action> <!-- common -->
        <action>maincpu.mb@05a93 = 02</action> <!-- blue -->
        <action>maincpu.mb@079dd = 02</action> <!-- red -->
        <action>maincpu.mb@078e7 = 02</action> <!-- green -->
        <action>maincpu.mb@07ae1 = 02</action> <!-- purple -->
    </script>
    <script state="off">
        <action>maincpu.mb@139a6 = 4a</action>
        <action>maincpu.mb@05993 = d8</action>
        <action>maincpu.mb@05a93 = fa</action>
        <action>maincpu.mb@079dd = e4</action>
        <action>maincpu.mb@078e7 = d6</action>
        <action>maincpu.mb@07ae1 = de</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x08">01 (slow)</item>
        <item value="0x10">02       </item>
        <item value="0x18">03       </item>
        <item value="0x20">04       </item>
        <item value="0x28">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@37177 = param</action> <!-- right -->
        <action>maincpu.mb@3717f = param</action> <!-- upper-right : right -->
        <action>maincpu.mb@37185 = param</action> <!-- upper-right : up -->
        <action>maincpu.mb@3718d = param</action> <!-- upper -->
        <action>maincpu.mb@37195 = param</action> <!-- upper-left : left -->
        <action>maincpu.mb@3719b = param</action> <!-- upper-left : up -->
        <action>maincpu.mb@371a3 = param</action> <!-- left -->
        <action>maincpu.mb@371ab = param</action> <!-- lower-left : left -->
        <action>maincpu.mb@371b3 = param</action> <!-- lower-right : right -->
        <action>maincpu.mb@371b9 = param</action> <!-- down -->
    </script>
    <script state="off">
        <action>maincpu.mb@37177 = 10</action>
        <action>maincpu.mb@3717f = 10</action>
        <action>maincpu.mb@37185 = 10</action>
        <action>maincpu.mb@3718d = 10</action>
        <action>maincpu.mb@37195 = 10</action>
        <action>maincpu.mb@3719b = 10</action>
        <action>maincpu.mb@371a3 = 10</action>
        <action>maincpu.mb@371ab = 10</action>
        <action>maincpu.mb@371b3 = 10</action>
        <action>maincpu.mb@371b9 = 10</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>reset the game (F3) to enter sound test mode</comment>
    <script state="on">
        <action>maincpu.md@00122 =         00056ac0</action>
        <action>maincpu.mq@56ac0 = 43ed010018004eb8</action>
        <action>maincpu.mq@56ac8 = 13feb80067f60c00</action>
        <action>maincpu.mq@56ad0 = 0001660253110c00</action>
        <action>maincpu.mq@56ad8 = 0002660252110c00</action>
        <action>maincpu.mq@56ae0 = 0008660404110010</action>
        <action>maincpu.mq@56ae8 = 0c00000466040611</action>
        <action>maincpu.mq@56af0 = 00100c0000106606</action>
        <action>maincpu.mq@56af8 = 1a112f0560080c00</action>
        <action>maincpu.mq@56b00 = 0020660c42a71c00</action>
        <action>maincpu.mq@56b08 = 4eb801dc1006588f</action>
        <action>maincpu.mq@56b10 = 60b2000000000000</action>
        <!--
        56ac0 | 43ed 0100 : lea    ($100,A5),A1 // sound code address
        56ac4 | 1800      : move.b D0,D4
        56ac6 | 4eb8 13fe : jsr    $13fe.w      // read input
        56aca | b800      : cmp.b  D0,D4
        56acc | 67f6      : beq    $56ac4
        56ace | 0c00 0001 : cmpi.b #$1,D0
        56ad2 | 6602      : bne    $56ad6
        56ad4 | 5311      : subq.b #1,(A1)      // decrease code -01
        56ad6 | 0c00 0002 : cmpi.b #$2,D0
        56ada | 6602      : bne    $56ade
        56adc | 5211      : addq.b #1,(A1)      // increase code +01
        56ade | 0c00 0008 : cmpi.b #$8,D0
        56ae2 | 6604      : bne    $56ae8
        56ae4 | 0411 0010 : subi.b #$10,(A1)    // decrease code -10
        56ae8 | 0c00 0004 : cmpi.b #$4,D0
        56aec | 6604      : bne    $56af2
        56aee | 0611 0010 : addi.b #$10,(A1)    // increase code +10
        56af2 | 0c00 0010 : cmpi.b #$10,D0
        56af6 | 6606      : bne    $56afe
        56af8 | 1a11      : move.b (A1),D5      // play sound
        56afa | 2f05      : move.l D5,-(A7)
        56afc | 6008      : bra    $56b06
        56afe | 0c00 0020 : cmpi.b #$20,D0
        56b02 | 660c      : bne    $56b10
        56b04 | 42a7      : clr.l  -(A7)        // stop sound
        56b06 | 1c00      : move.b D0,D6
        56b08 | 4eb8 01dc : jsr    $1dc.w       // send sound code
        56b0c | 1006      : move.b D6,D0
        56b0e | 588f      : addq.l #4,A7
        56b10 | 60b2      : bra    $56ac4
        -->
    </script>
    <script state="run">
        <output format="----- ryujin 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="up : increase code +10"             line="13" align="center" />
        <output format="down : decrease 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@400100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@00122 =         0000de26</action>
        <action>maincpu.mq@56ac0 = 0000000000000000</action>
        <action>maincpu.mq@56ac8 = 0000000000000000</action>
        <action>maincpu.mq@56ad0 = 0000000000000000</action>
        <action>maincpu.mq@56ad8 = 0000000000000000</action>
        <action>maincpu.mq@56ae0 = 0000000000000000</action>
        <action>maincpu.mq@56ae8 = 0000000000000000</action>
        <action>maincpu.mq@56af0 = 0000000000000000</action>
        <action>maincpu.mq@56af8 = 0000000000000000</action>
        <action>maincpu.mq@56b00 = 0000000000000000</action>
        <action>maincpu.mq@56b08 = 0000000000000000</action>
        <action>maincpu.mq@56b10 = 0000000000000000</action>
    </script>
</cheat>
The following code is test.

Code: Select all

<cheat desc="bullet speed (test)">
    <parameter>
        <item value="0x0040">01 (slow)</item>
        <item value="0x0080">02       </item>
        <item value="0x00c0">03       </item>
        <item value="0x0100">04       </item>
        <item value="0x0140">05 (fast)</item>
    </parameter>
    <script state="on">
        <action>maincpu.md@05a4c =         00056b20</action>
        <action>maincpu.md@05b6a =         00056b20</action>
        <action>maincpu.md@079a2 =         00056b20</action>
        <action>maincpu.md@07aa6 =         00056b20</action>
        <action>maincpu.md@07ba4 =         00056b20</action>
        <action>maincpu.md@08692 =         00056b20</action>
        <action>maincpu.md@09d88 =         00056b20</action>
        <action>maincpu.md@09f1c =         00056b20</action>
        <action>maincpu.md@09f4e =         00056b20</action>
        <action>maincpu.mq@56b20 = 4eb90000a244357c</action>
        <action>maincpu.mq@56b28 = 0000002e4e750000</action>
    </script>
    <script state="change">
        <action>maincpu.mw@56b28 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@05a4c =         0000a244</action>
        <action>maincpu.md@05b6a =         0000a244</action>
        <action>maincpu.md@079a2 =         0000a244</action>
        <action>maincpu.md@07aa6 =         0000a244</action>
        <action>maincpu.md@07ba4 =         0000a244</action>
        <action>maincpu.md@08692 =         0000a244</action>
        <action>maincpu.md@09d88 =         0000a244</action>
        <action>maincpu.md@09f1c =         0000a244</action>
        <action>maincpu.md@09f4e =         0000a244</action>
        <action>maincpu.mq@56b20 = 0000000000000000</action>
        <action>maincpu.mq@56b28 = 0000000000000000</action>
    </script>
</cheat>
The codes for ryujin in official package based on 0.221 don't work in 0.238 at all because of different addresses between ryujin (0x400000) and ryujina (0x100000). Old ryujin was renamed to ryujina in 0.227.
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[ryujin]+ Ryu Jin

Post by jman »

ryujin.xml

Code: Select all

<!-- Ryu Jin (Japan, ET910000B PCB) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@D926 = 60</action> <!-- enemy -->
            <action>maincpu.mb@DB30 = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@D926 = 67</action>
            <action>maincpu.mb@DB30 = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@05993 = 02</action> <!-- common -->
            <action>maincpu.mb@05A93 = 02</action> <!-- blue -->
            <action>maincpu.mb@079DD = 02</action> <!-- red -->
            <action>maincpu.mb@078E7 = 02</action> <!-- green -->
            <action>maincpu.mb@07AE1 = 02</action> <!-- purple -->
            <action>maincpu.mb@139A6 = 42</action>
        </script>
        <script state="off">
            <action>maincpu.mb@05993 = D8</action>
            <action>maincpu.mb@05A93 = FA</action>
            <action>maincpu.mb@079DD = E4</action>
            <action>maincpu.mb@078E7 = D6</action>
            <action>maincpu.mb@07AE1 = DE</action>
            <action>maincpu.mb@139A6 = 4A</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x08">01 (slow)</item>
            <item value="0x10">02       </item>
            <item value="0x20">03       </item>
            <item value="0x30">04       </item>
            <item value="0x40">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@37177 = param</action> <!-- right -->
            <action>maincpu.mb@3717F = param</action> <!-- upper-right : right -->
            <action>maincpu.mb@37185 = param</action> <!-- upper-right : up -->
            <action>maincpu.mb@3718D = param</action> <!-- upper -->
            <action>maincpu.mb@37195 = param</action> <!-- upper-left : left -->
            <action>maincpu.mb@3719B = param</action> <!-- upper-left : up -->
            <action>maincpu.mb@371A3 = param</action> <!-- left -->
            <action>maincpu.mb@371AB = param</action> <!-- lower-left : left -->
            <action>maincpu.mb@371B3 = param</action> <!-- lower-right : right -->
            <action>maincpu.mb@371B9 = param</action> <!-- down -->
        </script>
        <script state="off">
            <action>maincpu.mb@37177 = 10</action>
            <action>maincpu.mb@3717F = 10</action>
            <action>maincpu.mb@37185 = 10</action>
            <action>maincpu.mb@3718D = 10</action>
            <action>maincpu.mb@37195 = 10</action>
            <action>maincpu.mb@3719B = 10</action>
            <action>maincpu.mb@371A3 = 10</action>
            <action>maincpu.mb@371AB = 10</action>
            <action>maincpu.mb@371B3 = 10</action>
            <action>maincpu.mb@371B9 = 10</action>
        </script>
    </cheat>

    <cheat desc="bullet speed (test)">
        <parameter>
            <item value="0x0040">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x00c0">03       </item>
            <item value="0x0100">04       </item>
            <item value="0x0140">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@05A4C = 00056AC0        </action>
            <action>maincpu.md@05B6A = 00056AC0        </action>
            <action>maincpu.md@079A2 = 00056AC0        </action>
            <action>maincpu.md@07AA6 = 00056AC0        </action>
            <action>maincpu.md@07BA4 = 00056AC0        </action>
            <action>maincpu.md@08692 = 00056AC0        </action>
            <action>maincpu.md@09D88 = 00056AC0        </action>
            <action>maincpu.md@09F1C = 00056AC0        </action>
            <action>maincpu.md@09F4E = 00056AC0        </action>
            <action>maincpu.mq@56AC0 = 4EB90000A244357C</action>
            <action>maincpu.mq@56AC8 = 0000002E4E750000</action>
            <!--
            56AC0 | 4EB9 0000 A244 : jsr     $a244.l
            56AC6 | 357C xxxx 002E : move.w  #$xx, ($2e,A2)
            56ACC | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@56AC8 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@05A4C = 0000A244        </action>
            <action>maincpu.md@05B6A = 0000A244        </action>
            <action>maincpu.md@079A2 = 0000A244        </action>
            <action>maincpu.md@07AA6 = 0000A244        </action>
            <action>maincpu.md@07BA4 = 0000A244        </action>
            <action>maincpu.md@08692 = 0000A244        </action>
            <action>maincpu.md@09D88 = 0000A244        </action>
            <action>maincpu.md@09F1C = 0000A244        </action>
            <action>maincpu.md@09F4E = 0000A244        </action>
            <action>maincpu.mq@56AC0 = 0000000000000000</action>
            <action>maincpu.mq@56AC8 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@00122 = 00056AD0        </action>
            <action>maincpu.mq@56AD0 = 428518004EB813FE</action>
            <action>maincpu.mq@56AD8 = B80067F60C000001</action>
            <action>maincpu.mq@56AE0 = 660253150C000002</action>
            <action>maincpu.mq@56AE8 = 660252150C000008</action>
            <action>maincpu.mq@56AF0 = 6604041500100C00</action>
            <action>maincpu.mq@56AF8 = 0004660406150010</action>
            <action>maincpu.mq@56B00 = 0C00001066061A15</action>
            <action>maincpu.mq@56B08 = 2F0560080C000020</action>
            <action>maincpu.mq@56B10 = 660C42A71C004EB8</action>
            <action>maincpu.mq@56B18 = 01DC1006588F60B2</action>
            <!--
            56AD0 | 4285      : clr.l   D5
            56AD2 | 1800      : move.b  D0, D4
            56AD4 | 4EB8 13FE : jsr     $13fe.w    // read input
            56AD8 | B800      : cmp.b   D0, D4
            56ADA | 67F6      : beq     $56ad2
            56ADC | 0C00 0001 : cmpi.b  #$1, D0
            56AE0 | 6602      : bne     $56ae4
            56AE2 | 5315      : subq.b  #1, (A5)   // decrease code -01
            56AE4 | 0C00 0002 : cmpi.b  #$2, D0
            56AE8 | 6602      : bne     $56aec
            56AEA | 5215      : addq.b  #1, (A5)   // increase code +10
            56AEC | 0C00 0008 : cmpi.b  #$8, D0
            56AF0 | 6604      : bne     $56af6
            56AF2 | 0415 0010 : subi.b  #$10, (A5) // decrease code -10
            56AF6 | 0C00 0004 : cmpi.b  #$4, D0
            56AFA | 6604      : bne     $56b00
            56AFC | 0615 0010 : addi.b  #$10, (A5) // increase code +10
            56B00 | 0C00 0010 : cmpi.b  #$10, D0
            56B04 | 6606      : bne     $56b0c
            56B06 | 1A15      : move.b  (A5), D5   // play sound
            56B08 | 2F05      : move.l  D5, -(A7)
            56B0A | 6008      : bra     $56b14
            56B0C | 0C00 0020 : cmpi.b  #$20, D0
            56B10 | 660C      : bne     $56b1e
            56B12 | 42A7      : clr.l   -(A7)      // stop sound
            56B14 | 1C00      : move.b  D0, D6
            56B16 | 4EB8 01DC : jsr     $1dc.w     // send sound code
            56B1A | 1006      : move.b  D6, D0
            56B1C | 588F      : addq.l  #4, A7
            56B1E | 60B2      : bra     $56ad2
            -->
            <action>audiocpu.md@04FF = 213DF0CD        </action> <!-- stop music and sfx at the same time -->
            <action>audiocpu.mq@3DF0 = 00C900A8CDC00232</action>
            <!--
            3DF0 | 32 02 C0 : ld   ($C002),a
            3DF3 | CD A8 00 : call $00A8
            3DF6 | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- ryu jin 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@400000</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.md@00122 = 0000DE26        </action>
            <action> maincpu.mq@56AD0 = 0000000000000000</action>
            <action> maincpu.mq@56AD8 = 0000000000000000</action>
            <action> maincpu.mq@56AE0 = 0000000000000000</action>
            <action> maincpu.mq@56AE8 = 0000000000000000</action>
            <action> maincpu.mq@56AF0 = 0000000000000000</action>
            <action> maincpu.mq@56AF8 = 0000000000000000</action>
            <action> maincpu.mq@56B00 = 0000000000000000</action>
            <action> maincpu.mq@56B08 = 0000000000000000</action>
            <action> maincpu.mq@56B10 = 0000000000000000</action>
            <action> maincpu.mq@56B18 = 0000000000000000</action>
            <action>audiocpu.md@004FF = 21C00232        </action>
            <action>audiocpu.mq@03DF0 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
ryujina.xml

Code: Select all

<!-- Ryu Jin (Japan, ET910000A PCB) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@D926 = 60</action> <!-- enemy -->
            <action>maincpu.mb@DB30 = 60</action> <!-- bullet -->
        </script>
        <script state="off">
            <action>maincpu.mb@D926 = 67</action>
            <action>maincpu.mb@DB30 = 67</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@05993 = 02</action> <!-- common -->
            <action>maincpu.mb@05A93 = 02</action> <!-- blue -->
            <action>maincpu.mb@079DD = 02</action> <!-- red -->
            <action>maincpu.mb@078E7 = 02</action> <!-- green -->
            <action>maincpu.mb@07AE1 = 02</action> <!-- purple -->
            <action>maincpu.mb@139A6 = 42</action>
        </script>
        <script state="off">
            <action>maincpu.mb@05993 = D8</action>
            <action>maincpu.mb@05A93 = FA</action>
            <action>maincpu.mb@079DD = E4</action>
            <action>maincpu.mb@078E7 = D6</action>
            <action>maincpu.mb@07AE1 = DE</action>
            <action>maincpu.mb@139A6 = 4A</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x08">01 (slow)</item>
            <item value="0x10">02       </item>
            <item value="0x20">03       </item>
            <item value="0x30">04       </item>
            <item value="0x40">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@37177 = param</action> <!-- right -->
            <action>maincpu.mb@3717F = param</action> <!-- upper-right : right -->
            <action>maincpu.mb@37185 = param</action> <!-- upper-right : up -->
            <action>maincpu.mb@3718D = param</action> <!-- upper -->
            <action>maincpu.mb@37195 = param</action> <!-- upper-left : left -->
            <action>maincpu.mb@3719B = param</action> <!-- upper-left : up -->
            <action>maincpu.mb@371A3 = param</action> <!-- left -->
            <action>maincpu.mb@371AB = param</action> <!-- lower-left : left -->
            <action>maincpu.mb@371B3 = param</action> <!-- lower-right : right -->
            <action>maincpu.mb@371B9 = param</action> <!-- down -->
        </script>
        <script state="off">
            <action>maincpu.mb@37177 = 10</action>
            <action>maincpu.mb@3717F = 10</action>
            <action>maincpu.mb@37185 = 10</action>
            <action>maincpu.mb@3718D = 10</action>
            <action>maincpu.mb@37195 = 10</action>
            <action>maincpu.mb@3719B = 10</action>
            <action>maincpu.mb@371A3 = 10</action>
            <action>maincpu.mb@371AB = 10</action>
            <action>maincpu.mb@371B3 = 10</action>
            <action>maincpu.mb@371B9 = 10</action>
        </script>
    </cheat>

    <cheat desc="bullet speed (test)">
        <parameter>
            <item value="0x0040">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x00c0">03       </item>
            <item value="0x0100">04       </item>
            <item value="0x0140">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.md@05A4C = 00056AC0        </action>
            <action>maincpu.md@05B6A = 00056AC0        </action>
            <action>maincpu.md@079A2 = 00056AC0        </action>
            <action>maincpu.md@07AA6 = 00056AC0        </action>
            <action>maincpu.md@07BA4 = 00056AC0        </action>
            <action>maincpu.md@08692 = 00056AC0        </action>
            <action>maincpu.md@09D88 = 00056AC0        </action>
            <action>maincpu.md@09F1C = 00056AC0        </action>
            <action>maincpu.md@09F4E = 00056AC0        </action>
            <action>maincpu.mq@56AC0 = 4EB90000A244357C</action>
            <action>maincpu.mq@56AC8 = 0000002E4E750000</action>
            <!--
            56AC0 | 4EB9 0000 A244 : jsr     $a244.l
            56AC6 | 357C xxxx 002E : move.w  #$xx, ($2e,A2)
            56ACC | 4E75           : rts
            -->
        </script>
        <script state="change">
            <action>maincpu.mw@56AC8 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@05A4C = 0000A244        </action>
            <action>maincpu.md@05B6A = 0000A244        </action>
            <action>maincpu.md@079A2 = 0000A244        </action>
            <action>maincpu.md@07AA6 = 0000A244        </action>
            <action>maincpu.md@07BA4 = 0000A244        </action>
            <action>maincpu.md@08692 = 0000A244        </action>
            <action>maincpu.md@09D88 = 0000A244        </action>
            <action>maincpu.md@09F1C = 0000A244        </action>
            <action>maincpu.md@09F4E = 0000A244        </action>
            <action>maincpu.mq@56AC0 = 0000000000000000</action>
            <action>maincpu.mq@56AC8 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@00122 = 00056AD0        </action>
            <action>maincpu.mq@56AD0 = 428518004EB813FE</action>
            <action>maincpu.mq@56AD8 = B80067F60C000001</action>
            <action>maincpu.mq@56AE0 = 660253150C000002</action>
            <action>maincpu.mq@56AE8 = 660252150C000008</action>
            <action>maincpu.mq@56AF0 = 6604041500100C00</action>
            <action>maincpu.mq@56AF8 = 0004660406150010</action>
            <action>maincpu.mq@56B00 = 0C00001066061A15</action>
            <action>maincpu.mq@56B08 = 2F0560080C000020</action>
            <action>maincpu.mq@56B10 = 660C42A71C004EB8</action>
            <action>maincpu.mq@56B18 = 01DC1006588F60B2</action>
            <!--
            56AD0 | 4285      : clr.l   D5
            56AD2 | 1800      : move.b  D0, D4
            56AD4 | 4EB8 13FE : jsr     $13fe.w    // read input
            56AD8 | B800      : cmp.b   D0, D4
            56ADA | 67F6      : beq     $56ad2
            56ADC | 0C00 0001 : cmpi.b  #$1, D0
            56AE0 | 6602      : bne     $56ae4
            56AE2 | 5315      : subq.b  #1, (A5)   // decrease code -01
            56AE4 | 0C00 0002 : cmpi.b  #$2, D0
            56AE8 | 6602      : bne     $56aec
            56AEA | 5215      : addq.b  #1, (A5)   // increase code +10
            56AEC | 0C00 0008 : cmpi.b  #$8, D0
            56AF0 | 6604      : bne     $56af6
            56AF2 | 0415 0010 : subi.b  #$10, (A5) // decrease code -10
            56AF6 | 0C00 0004 : cmpi.b  #$4, D0
            56AFA | 6604      : bne     $56b00
            56AFC | 0615 0010 : addi.b  #$10, (A5) // increase code +10
            56B00 | 0C00 0010 : cmpi.b  #$10, D0
            56B04 | 6606      : bne     $56b0c
            56B06 | 1A15      : move.b  (A5), D5   // play sound
            56B08 | 2F05      : move.l  D5, -(A7)
            56B0A | 6008      : bra     $56b14
            56B0C | 0C00 0020 : cmpi.b  #$20, D0
            56B10 | 660C      : bne     $56b1e
            56B12 | 42A7      : clr.l   -(A7)      // stop sound
            56B14 | 1C00      : move.b  D0, D6
            56B16 | 4EB8 01DC : jsr     $1dc.w     // send sound code
            56B1A | 1006      : move.b  D6, D0
            56B1C | 588F      : addq.l  #4, A7
            56B1E | 60B2      : bra     $56ad2
            -->
            <action>audiocpu.md@04FF = 213DF0CD        </action> <!-- stop music and sfx at the same time -->
            <action>audiocpu.mq@3DF0 = 00C900A8CDC00232</action>
            <!--
            3DF0 | 32 02 C0 : ld   ($C002),a
            3DF3 | CD A8 00 : call $00A8
            3DF6 | C9       : ret
            -->
        </script>
        <script state="run">
            <output format="----- ryu jin 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@100000</argument>
            </output>
        </script>
        <script state="off">
            <action> maincpu.md@00122 = 0000DE26        </action>
            <action> maincpu.mq@56AD0 = 0000000000000000</action>
            <action> maincpu.mq@56AD8 = 0000000000000000</action>
            <action> maincpu.mq@56AE0 = 0000000000000000</action>
            <action> maincpu.mq@56AE8 = 0000000000000000</action>
            <action> maincpu.mq@56AF0 = 0000000000000000</action>
            <action> maincpu.mq@56AF8 = 0000000000000000</action>
            <action> maincpu.mq@56B00 = 0000000000000000</action>
            <action> maincpu.mq@56B08 = 0000000000000000</action>
            <action> maincpu.mq@56B10 = 0000000000000000</action>
            <action> maincpu.mq@56B18 = 0000000000000000</action>
            <action>audiocpu.md@004FF = 21C00232        </action>
            <action>audiocpu.mq@03DF0 = 0000000000000000</action>
        </script>
    </cheat>

</mamecheat>
"sound test mode" : Fixed. New code stops music and sfx at the same time.
Post Reply