Page 1 of 1
[bwings] B-Wings
Posted: Sat Apr 16, 2022 12:54 pm
by jman
Code: Select all
<cheat desc="no hit">
<script state="on">
<action> sub.mb@ba01 = 20</action> <!-- enemy -->
<action> sub.mb@ba96 = 20</action> <!-- bullet -->
<action>maincpu.mb@d754 = 00</action> <!-- ground -->
<action>maincpu.mb@d764 = 00</action> <!-- ground -->
<action>maincpu.mb@d7bd = 00</action> <!-- pipe -->
<action>maincpu.mw@d7ef = 1216</action> <!-- pipe -->
</script>
<script state="off">
<action> sub.mb@ba01 = 24</action>
<action> sub.mb@ba96 = 24</action>
<action>maincpu.mb@d754 = 9e</action>
<action>maincpu.mb@d764 = 8e</action>
<action>maincpu.mb@d7bd = 35</action>
<action>maincpu.mw@d7ef = 1026</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@d214 = 23</action>
<action>maincpu.mb@d291 = 23</action>
<action>maincpu.mb@d2d7 = 23</action>
<action>maincpu.mb@d323 = 23</action>
<action>maincpu.mb@d382 = 23</action>
<action>maincpu.mb@d3f8 = 23</action>
<action>maincpu.mb@d41e = 23</action>
</script>
<script state="off">
<action>maincpu.mb@d214 = 22</action>
<action>maincpu.mb@d291 = 22</action>
<action>maincpu.mb@d2d7 = 22</action>
<action>maincpu.mb@d323 = 22</action>
<action>maincpu.mb@d382 = 22</action>
<action>maincpu.mb@d3f8 = 22</action>
<action>maincpu.mb@d41e = 22</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0180">02 </item>
<item value="0x0280">03 </item>
<item value="0x0380">04 </item>
<item value="0x0480">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@d0e5 = param</action> <!-- right -->
<action>maincpu.mw@d105 = -param</action> <!-- left -->
<action>maincpu.mw@d12d = param</action> <!-- down -->
<action>maincpu.mw@d13d = -param</action> <!-- up -->
</script>
<script state="off">
<action>maincpu.mw@d0e5 = 00e0</action>
<action>maincpu.mw@d105 = ff20</action>
<action>maincpu.mw@d12d = 0150</action>
<action>maincpu.mw@d13d = fef0</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x0280">01 (slow)</item>
<item value="0x0800">02 </item>
<item value="0x1000">03 </item>
<item value="0x1800">04 </item>
<item value="0x2000">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@d263 = param</action>
</script>
<script state="off">
<action>maincpu.mw@d263 = 0800</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@c1e5 = 4000</action>
<action>maincpu.mq@4000 = 4fb71c059721b61b</action>
<action>maincpu.mq@4008 = 02912127f781fd26</action>
<action>maincpu.mq@4010 = 020a2081fe26020c</action>
<action>maincpu.mq@4018 = 2081ef2604d62020</action>
<action>maincpu.mq@4020 = 0581df26045ff71c</action>
<action>maincpu.mq@4028 = 0520d90000000000</action>
<!--
4000 | 4f : CLRA // initialize sound cpu
4001 | b7 1c 05 : STA $1C05
4004 | 97 21 : STA $21
4006 | b6 1b 02 : LDA $1B02 // read input
4009 | 91 21 : CMPA $21
400b | 27 f7 : BEQ $4004
400d | 81 fd : CMPA #$FD
400f | 26 02 : BNE $4013
4011 | 0a 20 : DEC $20 // decrease code
4013 | 81 fe : CMPA #$FE
4015 | 26 02 : BNE $4019
4017 | 0c 20 : INC $20 // increase code
4019 | 81 ef : CMPA #$EF
401b | 26 04 : BNE $4021
401d | d6 20 : LDB $20 // play sound
401f | 20 05 : BRA $4026
4021 | 81 df : CMPA #$DF
4023 | 26 04 : BNE $4029
4025 | 5f : CLRB // stop sound
4026 | f7 1c 05 : STB $1C05 // send sound code
4029 | 20 d9 : BRA $4004
-->
</script>
<script state="run">
<output format="----- b-wings 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="<< sound code %2.2X >>" line="17" align="center">
<argument>maincpu.pb@0020</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@c1e5 = f9eb</action>
<action>maincpu.mq@4000 = 0000000000000000</action>
<action>maincpu.mq@4008 = 0000000000000000</action>
<action>maincpu.mq@4010 = 0000000000000000</action>
<action>maincpu.mq@4018 = 0000000000000000</action>
<action>maincpu.mq@4020 = 0000000000000000</action>
<action>maincpu.mq@4028 = 0000000000000000</action>
</script>
</cheat>
BTW, "select starting stage" code in official database based on 0.221 doesn't work.
Code: Select all
<cheat desc="Select Starting Stage"> <comment>Set on displayed 'Push 1 (or 2) Player(s) Button' message screen. DON'T SET ON THE TITLE SCREEN !</comment>
<parameter min="1" max="45" step="1"/>
<script state="on">
<action>maincpu.pb@07B4=FF</action>
</script>
<script state="change">
<action>maincpu.pb@07B4=(param-1)</action>
</script>
</cheat>
I doubt 0xff in "on" state because this value is replaced by "(param-1)" soon. And moreover, "change" value is cleared by program code at game start. So I try to fix.
Code: Select all
<cheat desc="starting stage">
<parameter min="01" max="45" step="01"/>
<script state="run">
<action condition="maincpu.pb@07b4 == 00">maincpu.pb@07b4 = (param - 1)</action>
</script>
</cheat>
I think it is better to use "run" instead of "on" and "change" to prevent from clearing $07b4 by program code.
[bwings]+ B-Wings
Posted: Sat Nov 18, 2023 1:44 pm
by jman
bwings.xml
Code: Select all
<!-- B-Wings (Japan new Ver.) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@D753 = 0000</action> <!-- ground -->
<action>maincpu.mw@D763 = 0000</action> <!-- ground -->
<action>maincpu.mw@D7BC = 0000</action> <!-- pipe -->
<action>maincpu.mw@D7EF = 1216</action> <!-- pipe -->
<action> sub.mw@BA01 = 20CA</action> <!-- enemy -->
<action> sub.mw@BA96 = 203C</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mw@D753 = 009E</action>
<action>maincpu.mw@D763 = 008E</action>
<action>maincpu.mw@D7BC = 0035</action>
<action>maincpu.mw@D7EF = 1026</action>
<action> sub.mw@BA01 = 24CA</action>
<action> sub.mw@BA96 = 243C</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@D214 = 23</action> <!-- main shot -->
<action>maincpu.mb@D291 = 23</action> <!-- s,g,c,j,a wing : left -->
<action>maincpu.mb@D2D7 = 23</action> <!-- s,g,c,j,a wing : right -->
<action>maincpu.mb@D323 = 23</action> <!-- w,v wing : left -->
<action>maincpu.mb@D382 = 23</action> <!-- w,v wing : right -->
<action>maincpu.mb@D3F8 = 23</action> <!-- m wing : left -->
<action>maincpu.mb@D41E = 23</action> <!-- m wing : right -->
</script>
<script state="off">
<action>maincpu.mb@D214 = 22</action>
<action>maincpu.mb@D291 = 22</action>
<action>maincpu.mb@D2D7 = 22</action>
<action>maincpu.mb@D323 = 22</action>
<action>maincpu.mb@D382 = 22</action>
<action>maincpu.mb@D3F8 = 22</action>
<action>maincpu.mb@D41E = 22</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0180">02 </item>
<item value="0x0280">03 </item>
<item value="0x0380">04 </item>
<item value="0x0480">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@D0E5 = param</action> <!-- right -->
<action>maincpu.mw@D105 = -param</action> <!-- left -->
<action>maincpu.mw@D12D = param</action> <!-- down -->
<action>maincpu.mw@D13D = -param</action> <!-- up -->
</script>
<script state="off">
<action>maincpu.mw@D0E5 = 00E0</action>
<action>maincpu.mw@D105 = FF20</action>
<action>maincpu.mw@D12D = 0150</action>
<action>maincpu.mw@D13D = FEF0</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x0280">01 (slow)</item>
<item value="0x0800">02 </item>
<item value="0x1000">03 </item>
<item value="0x1800">04 </item>
<item value="0x2000">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@D263 = param</action>
</script>
<script state="off">
<action>maincpu.mw@D263 = 0800</action>
</script>
</cheat>
<cheat desc="short hit mark (test)">
<script state="on">
<action>maincpu.mb@D636 = 20</action>
</script>
<script state="off">
<action>maincpu.mb@D636 = 26</action>
</script>
</cheat>
<cheat desc="no inertia">
<script state="on">
<action>maincpu.mb@D088 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@D088 = 06</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@C1E5 = 4000 </action>
<action>maincpu.mq@4000 = 202B9721B61B0291</action>
<action>maincpu.mq@4008 = 2127F7D62081FD26</action>
<action>maincpu.mq@4010 = 015A81FE26015C81</action>
<action>maincpu.mq@4018 = F72602C01081FB26</action>
<action>maincpu.mq@4020 = 02CB10D72081EF27</action>
<action>maincpu.mq@4028 = 0581DF26045FF71C</action>
<action>maincpu.mq@4030 = 0520CF0000000000</action>
<!--
4000 | 20 2B : BRA $402D // initialize sound
4002 | 97 21 : STA $21
4004 | B6 1B 02 : LDA $1B02 // read input
4007 | 91 21 : CMPA $21
4009 | 27 F7 : BEQ $4002
400B | D6 20 : LDB $20
400D | 81 FD : CMPA #$FD
400F | 26 01 : BNE $4012
4011 | 5A : DECB // decrease code -01
4012 | 81 FE : CMPA #$FE
4014 | 26 01 : BNE $4017
4016 | 5C : INCB // increase code +01
4017 | 81 F7 : CMPA #$F7
4019 | 26 02 : BNE $401D
401B | C0 10 : SUBB #$10 // decrease code -10
401D | 81 FB : CMPA #$FB
401F | 26 02 : BNE $4023
4021 | CB 10 : ADDB #$10 // increase code +10
4023 | D7 20 : STB $20
4025 | 81 EF : CMPA #$EF
4027 | 27 05 : BEQ $402E // play sound
4029 | 81 DF : CMPA #$DF
402B | 26 04 : BNE $4031
402D | 5F : CLRB // stop sound
402E | F7 1C 05 : STB $1C05
4031 | 20 CF : BRA $4002
-->
</script>
<script state="run">
<output format="----- b-wings 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@0020</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@C1E5 = F9EB </action>
<action>maincpu.mq@4000 = 0000000000000000</action>
<action>maincpu.mq@4008 = 0000000000000000</action>
<action>maincpu.mq@4010 = 0000000000000000</action>
<action>maincpu.mq@4018 = 0000000000000000</action>
<action>maincpu.mq@4020 = 0000000000000000</action>
<action>maincpu.mq@4028 = 0000000000000000</action>
<action>maincpu.mq@4030 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
bwingso.xml
Code: Select all
<!-- B-Wings (Japan old Ver.) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@D7AD = 0000</action> <!-- ground -->
<action>maincpu.mw@D7BD = 0000</action> <!-- ground -->
<action>maincpu.mw@D816 = 0000</action> <!-- pipe -->
<action>maincpu.mw@D849 = 1216</action> <!-- pipe -->
<action> sub.mw@B976 = 20CA</action> <!-- enemy -->
<action> sub.mw@BA0B = 203C</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mw@D753 = 009E</action>
<action>maincpu.mw@D763 = 008E</action>
<action>maincpu.mw@D7BC = 0035</action>
<action>maincpu.mw@D7EF = 1026</action>
<action> sub.mw@BA01 = 24CA</action>
<action> sub.mw@BA96 = 243C</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@D26E = 23</action> <!-- main shot -->
<action>maincpu.mb@D2EB = 23</action> <!-- s,g,c,j,a wing : left -->
<action>maincpu.mb@D331 = 23</action> <!-- s,g,c,j,a wing : right -->
<action>maincpu.mb@D37D = 23</action> <!-- w,v wing : left -->
<action>maincpu.mb@D3DC = 23</action> <!-- w,v wing : right -->
<action>maincpu.mb@D452 = 23</action> <!-- m wing : left -->
<action>maincpu.mb@D478 = 23</action> <!-- m wing : right -->
</script>
<script state="off">
<action>maincpu.mb@D214 = 22</action>
<action>maincpu.mb@D291 = 22</action>
<action>maincpu.mb@D2D7 = 22</action>
<action>maincpu.mb@D323 = 22</action>
<action>maincpu.mb@D382 = 22</action>
<action>maincpu.mb@D3F8 = 22</action>
<action>maincpu.mb@D41E = 22</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0180">02 </item>
<item value="0x0280">03 </item>
<item value="0x0380">04 </item>
<item value="0x0480">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@D13F = param</action> <!-- right -->
<action>maincpu.mw@D15F = -param</action> <!-- left -->
<action>maincpu.mw@D187 = param</action> <!-- down -->
<action>maincpu.mw@D197 = -param</action> <!-- up -->
</script>
<script state="off">
<action>maincpu.mw@D13F = 00E0</action>
<action>maincpu.mw@D15F = FF20</action>
<action>maincpu.mw@D187 = 0130</action>
<action>maincpu.mw@D197 = FF10</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x0280">01 (slow)</item>
<item value="0x0800">02 </item>
<item value="0x1000">03 </item>
<item value="0x1800">04 </item>
<item value="0x2000">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@D2BD = param</action>
</script>
<script state="off">
<action>maincpu.mw@D2BD = 0800</action>
</script>
</cheat>
<cheat desc="short hit mark (test)">
<script state="on">
<action>maincpu.mb@D690 = 20</action>
</script>
<script state="off">
<action>maincpu.mb@D690 = 26</action>
</script>
</cheat>
<cheat desc="no inertia">
<script state="on">
<action>maincpu.mb@D0E2 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@D0E2 = 06</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@C249 = 4000 </action>
<action>maincpu.mq@4000 = 202B9721B61B0291</action>
<action>maincpu.mq@4008 = 2127F7D62081FD26</action>
<action>maincpu.mq@4010 = 015A81FE26015C81</action>
<action>maincpu.mq@4018 = F72602C01081FB26</action>
<action>maincpu.mq@4020 = 02CB10D72081EF27</action>
<action>maincpu.mq@4028 = 0581DF26045FF71C</action>
<action>maincpu.mq@4030 = 0520CF0000000000</action>
<!--
4000 | 20 2B : BRA $402D // initialize sound
4002 | 97 21 : STA $21
4004 | B6 1B 02 : LDA $1B02 // read input
4007 | 91 21 : CMPA $21
4009 | 27 F7 : BEQ $4002
400B | D6 20 : LDB $20
400D | 81 FD : CMPA #$FD
400F | 26 01 : BNE $4012
4011 | 5A : DECB // decrease code -01
4012 | 81 FE : CMPA #$FE
4014 | 26 01 : BNE $4017
4016 | 5C : INCB // increase code +01
4017 | 81 F7 : CMPA #$F7
4019 | 26 02 : BNE $401D
401B | C0 10 : SUBB #$10 // decrease code -10
401D | 81 FB : CMPA #$FB
401F | 26 02 : BNE $4023
4021 | CB 10 : ADDB #$10 // increase code +10
4023 | D7 20 : STB $20
4025 | 81 EF : CMPA #$EF
4027 | 27 05 : BEQ $402E // play sound
4029 | 81 DF : CMPA #$DF
402B | 26 04 : BNE $4031
402D | 5F : CLRB // stop sound
402E | F7 1C 05 : STB $1C05
4031 | 20 CF : BRA $4002
-->
</script>
<script state="run">
<output format="----- b-wings 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@0020</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@C249 = FA45 </action>
<action>maincpu.mq@4000 = 0000000000000000</action>
<action>maincpu.mq@4008 = 0000000000000000</action>
<action>maincpu.mq@4010 = 0000000000000000</action>
<action>maincpu.mq@4018 = 0000000000000000</action>
<action>maincpu.mq@4020 = 0000000000000000</action>
<action>maincpu.mq@4028 = 0000000000000000</action>
<action>maincpu.mq@4030 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
bwingsa.xml
Code: Select all
<!-- B-Wings (Alt Ver.?) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@D7AE = 0000</action> <!-- ground -->
<action>maincpu.mw@D7BE = 0000</action> <!-- ground -->
<action>maincpu.mw@D817 = 0000</action> <!-- pipe -->
<action>maincpu.mw@D84A = 1216</action> <!-- pipe -->
<action> sub.mw@B976 = 20CA</action> <!-- enemy -->
<action> sub.mw@BA0B = 203C</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mw@D7AE = 009E</action>
<action>maincpu.mw@D7BE = 008E</action>
<action>maincpu.mw@D817 = 0035</action>
<action>maincpu.mw@D84A = 1026</action>
<action> sub.mw@B976 = 24CA</action>
<action> sub.mw@BA0B = 243C</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@D26F = 23</action> <!-- main shot -->
<action>maincpu.mb@D2EC = 23</action> <!-- s,g,c,j,a wing : left -->
<action>maincpu.mb@D332 = 23</action> <!-- s,g,c,j,a wing : right -->
<action>maincpu.mb@D37E = 23</action> <!-- w,v wing : left -->
<action>maincpu.mb@D3DD = 23</action> <!-- w,v wing : right -->
<action>maincpu.mb@D453 = 23</action> <!-- m wing : left -->
<action>maincpu.mb@D479 = 23</action> <!-- m wing : right -->
</script>
<script state="off">
<action>maincpu.mb@D26F = 22</action>
<action>maincpu.mb@D2EC = 22</action>
<action>maincpu.mb@D332 = 22</action>
<action>maincpu.mb@D37E = 22</action>
<action>maincpu.mb@D3DD = 22</action>
<action>maincpu.mb@D453 = 22</action>
<action>maincpu.mb@D479 = 22</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0180">02 </item>
<item value="0x0280">03 </item>
<item value="0x0380">04 </item>
<item value="0x0480">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@D140 = param</action> <!-- right -->
<action>maincpu.mw@D160 = -param</action> <!-- left -->
<action>maincpu.mw@D188 = param</action> <!-- down -->
<action>maincpu.mw@D198 = -param</action> <!-- up -->
</script>
<script state="off">
<action>maincpu.mw@D140 = 00E0</action>
<action>maincpu.mw@D160 = FF20</action>
<action>maincpu.mw@D188 = 0130</action>
<action>maincpu.mw@D198 = FF10</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x0280">01 (slow)</item>
<item value="0x0800">02 </item>
<item value="0x1000">03 </item>
<item value="0x1800">04 </item>
<item value="0x2000">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@D2BE = param</action>
</script>
<script state="off">
<action>maincpu.mw@D2BE = 0800</action>
</script>
</cheat>
<cheat desc="short hit mark (test)">
<script state="on">
<action>maincpu.mb@D691 = 20</action>
</script>
<script state="off">
<action>maincpu.mb@D691 = 26</action>
</script>
</cheat>
<cheat desc="no inertia">
<script state="on">
<action>maincpu.mb@D0E3 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@D0E3 = 06</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@C249 = 4000 </action>
<action>maincpu.mq@4000 = 202B9721B61B0291</action>
<action>maincpu.mq@4008 = 2127F7D62081FD26</action>
<action>maincpu.mq@4010 = 015A81FE26015C81</action>
<action>maincpu.mq@4018 = F72602C01081FB26</action>
<action>maincpu.mq@4020 = 02CB10D72081EF27</action>
<action>maincpu.mq@4028 = 0581DF26045FF71C</action>
<action>maincpu.mq@4030 = 0520CF0000000000</action>
<!--
4000 | 20 2B : BRA $402D // initialize sound
4002 | 97 21 : STA $21
4004 | B6 1B 02 : LDA $1B02 // read input
4007 | 91 21 : CMPA $21
4009 | 27 F7 : BEQ $4002
400B | D6 20 : LDB $20
400D | 81 FD : CMPA #$FD
400F | 26 01 : BNE $4012
4011 | 5A : DECB // decrease code -01
4012 | 81 FE : CMPA #$FE
4014 | 26 01 : BNE $4017
4016 | 5C : INCB // increase code +01
4017 | 81 F7 : CMPA #$F7
4019 | 26 02 : BNE $401D
401B | C0 10 : SUBB #$10 // decrease code -10
401D | 81 FB : CMPA #$FB
401F | 26 02 : BNE $4023
4021 | CB 10 : ADDB #$10 // increase code +10
4023 | D7 20 : STB $20
4025 | 81 EF : CMPA #$EF
4027 | 27 05 : BEQ $402E // play sound
4029 | 81 DF : CMPA #$DF
402B | 26 04 : BNE $4031
402D | 5F : CLRB // stop sound
402E | F7 1C 05 : STB $1C05
4031 | 20 CF : BRA $4002
-->
</script>
<script state="run">
<output format="----- b-wings 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@0020</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@C249 = FA46 </action>
<action>maincpu.mq@4000 = 0000000000000000</action>
<action>maincpu.mq@4008 = 0000000000000000</action>
<action>maincpu.mq@4010 = 0000000000000000</action>
<action>maincpu.mq@4018 = 0000000000000000</action>
<action>maincpu.mq@4020 = 0000000000000000</action>
<action>maincpu.mq@4028 = 0000000000000000</action>
<action>maincpu.mq@4030 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
- "short hit mark" : Added new as test code.
- "no inertia" : Added new.
- "sound test mode" : Rewritten routine. Added up/down key to select code ±10.