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.
jman
Posts: 844 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Wed Dec 01, 2021 10:15 am
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="<< sound code %2.2X >>" 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 (0x
4 00000) and ryujina (0x
1 00000). Old ryujin was renamed to ryujina in 0.227.
jman
Posts: 844 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Sat Oct 28, 2023 7:59 am
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="<< sound code %2.2X >>" 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="<< sound code %2.2X >>" 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.