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: 883 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 4 times
Post
by jman » Thu Dec 16, 2021 2:29 pm
Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@911c = 20</action> <!-- enemy -->
<action>maincpu.mb@924f = 20</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@911c = 27</action>
<action>maincpu.mb@924f = 26</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>sub.mb@4ff7 = ab</action> <!-- player -->
<action>sub.mb@5377 = ab</action> <!-- partner 1 -->
<action>sub.mb@55a8 = ab</action> <!-- partner 2 -->
</script>
<script state="off">
<action>sub.mb@4ff7 = ac</action>
<action>sub.mb@5377 = ac</action>
<action>sub.mb@55a8 = ac</action>
</script>
</cheat>
<cheat desc="walk through wall">
<script state="on">
<action>sub.mw@50d4 = 0000</action> <!-- down -->
<action>sub.mw@5123 = 0000</action> <!-- up -->
<action>sub.mw@5179 = 0000</action> <!-- right -->
<action>sub.mw@51c8 = 0000</action> <!-- left -->
</script>
<script state="off">
<action>sub.mw@50d4 = ff7c</action>
<action>sub.mw@5123 = ff2d</action>
<action>sub.mw@5179 = ffeb</action>
<action>sub.mw@51c8 = fe9c</action>
</script>
</cheat>
<cheat desc="start floor">
<parameter min="0x01" max="0x62" step="0x01" />
<!--
code floor
01 - 70 01 - 70
71 01 : secret floor (go to 24 or secret 80)
72 - 80 72 - 80
81 101 : go to 13
82 101 : go to 98
83 101 : go to 30
84 101 : go to 45
85 102 : go to 61
86 102 : go to 63
87 102 : go to 72
88 104 : go to 63
89 104 : go to 67
90 104 : go to 40 or 103
91 100 : go to 24
92 100 : go to secret floor 01
93 100 : go to 98
94 100 : go to 100 (another)
95 103 : go to 32
96 103 : go to secret 80
97 80 : secret floor (go to 69 or escape from jail)
98 98 : go to 30
-->
<script state="change">
<action>sub.mb@4471 = param</action>
</script>
<script state="off">
<action>sub.mb@4471 = 01</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>sub.mw@40f8 = fd60</action>
<action>sub.mq@fd60 = d711f61800d11127</action>
<action>sub.mq@fd68 = f7c1fb26020a10c1</action>
<action>sub.mq@fd70 = f726020c10c1ef26</action>
<action>sub.mq@fd78 = 0496102006c1df26</action>
<action>sub.mq@fd80 = 058601b7180c20d8</action>
<!--
fd60 | d7 11 : STB $11
fd62 | f6 18 00 : LDB $1800 // read input
fd65 | d1 11 : CMPB $11
fd67 | 27 f7 : BEQ $FD60
fd69 | c1 fb : CMPB #$FB
fd6b | 26 02 : BNE $FD6F
fd6d | 0a 10 : DEC $10 // decrease code
fd6f | c1 f7 : CMPB #$F7
fd71 | 26 02 : BNE $FD75
fd73 | 0c 10 : INC $10 // increase code
fd75 | c1 ef : CMPB #$EF
fd77 | 26 04 : BNE $FD7D
fd79 | 96 10 : LDA $10 // play sound
fd7b | 20 06 : BRA $FD83
fd7d | c1 df : CMPB #$DF
fd7f | 26 05 : BNE $FD86
fd81 | 86 01 : LDA #$01 // stop sound
fd83 | b7 18 0c : STA $180C // send sound code
fd86 | 20 d8 : BRA $FD60
-->
</script>
<script state="run">
<output format="----- breywood 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@0010</argument>
</output>
</script>
<script state="off">
<action>sub.mw@40f8 = bd84</action>
<action>sub.mq@fd60 = 0000000000000000</action>
<action>sub.mq@fd68 = 0000000000000000</action>
<action>sub.mq@fd70 = 0000000000000000</action>
<action>sub.mq@fd78 = 0000000000000000</action>
<action>sub.mq@fd80 = 0000000000000000</action>
</script>
</cheat>
If you want to see the ending, try to escape from secret floor 80.
jman
Posts: 883 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 4 times
Post
by jman » Wed Dec 28, 2022 9:34 am
Code: Select all
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>sub.mw@40f8 = fd60</action>
<action>sub.mq@fd60 = 9711b61800911127</action>
<action>sub.mq@fd68 = f7d61081fb26015a</action>
<action>sub.mq@fd70 = 81f726015c81fd26</action>
<action>sub.mq@fd78 = 02c01081fe2602cb</action>
<action>sub.mq@fd80 = 10d71081ef270681</action>
<action>sub.mq@fd88 = df2605c601f7180c</action>
<action>sub.mq@fd90 = 20ce000000000000</action>
<!--
fd60 | 97 11 : STA $11
fd62 | b6 18 00 : LDA $1800 // read input
fd65 | 91 11 : CMPA $11
fd67 | 27 f7 : BEQ $FD60
fd69 | d6 10 : LDB $10
fd6b | 81 fb : CMPA #$FB
fd6d | 26 01 : BNE $FD70
fd6f | 5a : DECB // decrease code -01
fd70 | 81 f7 : CMPA #$F7
fd72 | 26 01 : BNE $FD75
fd74 | 5c : INCB // increase code +10
fd75 | 81 fd : CMPA #$FD
fd77 | 26 02 : BNE $FD7B
fd79 | c0 10 : SUBB #$10 // decrease code -10
fd7b | 81 fe : CMPA #$FE
fd7d | 26 02 : BNE $FD81
fd7f | cb 10 : ADDB #$10 // increase code +10
fd81 | d7 10 : STB $10
fd83 | 81 ef : CMPA #$EF
fd85 | 27 06 : BEQ $FD8D
fd87 | 81 df : CMPA #$DF
fd89 | 26 05 : BNE $FD90
fd8b | c6 01 : LDB #$01 // stop sound
fd8d | f7 18 0c : STB $180C // send sound code
fd90 | 20 ce : BRA $FD60
-->
</script>
<script state="run">
<output format="----- breywood 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@0010</argument>
</output>
</script>
<script state="off">
<action>sub.mw@40f8 = bd84</action>
<action>sub.mq@fd60 = 0000000000000000</action>
<action>sub.mq@fd68 = 0000000000000000</action>
<action>sub.mq@fd70 = 0000000000000000</action>
<action>sub.mq@fd78 = 0000000000000000</action>
<action>sub.mq@fd80 = 0000000000000000</action>
<action>sub.mq@fd88 = 0000000000000000</action>
<action>sub.mq@fd90 = 0000000000000000</action>
</script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10).
jman
Posts: 883 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 4 times
Post
by jman » Sat Mar 09, 2024 1:41 am
shackled.xml
Code: Select all
<!-- Shackled (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@9557 = 20</action> <!-- enemy -->
<action>maincpu.mb@968A = 20</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@9557 = 27</action>
<action>maincpu.mb@968A = 26</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>sub.mb@500C = AB</action> <!-- player -->
<action>sub.mb@53A4 = AB</action> <!-- partner 1 -->
<action>sub.mb@55D5 = AB</action> <!-- partner 2 -->
</script>
<script state="off">
<action>sub.mb@500C = AC</action>
<action>sub.mb@53A4 = AC</action>
<action>sub.mb@55D5 = AC</action>
</script>
</cheat>
<cheat desc="walk through wall">
<script state="on">
<action>sub.mw@50E9 = 0000</action> <!-- down -->
<action>sub.mw@5138 = 0000</action> <!-- up -->
<action>sub.mw@518E = 0000</action> <!-- right -->
<action>sub.mw@51DD = 0000</action> <!-- left -->
</script>
<script state="off">
<action>sub.mw@50E9 = FF7C</action>
<action>sub.mw@5138 = FF2D</action>
<action>sub.mw@518E = FFEB</action>
<action>sub.mw@51DD = FE9C</action>
</script>
</cheat>
<cheat desc="start floor">
<!--
code floor
01 - 70 01 - 70
71 01 : secret floor (go to 24 or secret 80)
72 - 80 72 - 80
81 101 : go to 13
82 101 : go to 98
83 101 : go to 30
84 101 : go to 45
85 102 : go to 61
86 102 : go to 63
87 102 : go to 72
88 104 : go to 63
89 104 : go to 67
90 104 : go to 40 or 103
91 100 : go to 24
92 100 : go to secret floor 01
93 100 : go to 98
94 100 : go to 100 (another)
95 103 : go to 32
96 103 : go to secret 80
97 80 : secret floor (go to 69 or exit)
98 98 : go to 30
-->
<parameter min="0x01" max="0x62" step="0x01" />
<script state="change">
<action>sub.mb@4417 = param</action>
</script>
<script state="off">
<action>sub.mb@4417 = 01</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>sub.mw@40FA = DBD0 </action>
<action>sub.mq@DBD0 = 9781B61800918127</action>
<action>sub.mq@DBD8 = F7D68081FB26015A</action>
<action>sub.mq@DBE0 = 81F726015C81FD26</action>
<action>sub.mq@DBE8 = 02C01081FE2602CB</action>
<action>sub.mq@DBF0 = 10D78081EF270681</action>
<action>sub.mq@DBF8 = DF2605C601F7180C</action>
<action>sub.mq@DC00 = 20CE000000000000</action>
<!--
DBD0 | 97 81 : STA $81
DBD2 | B6 18 00 : LDA $1800 // read input
DBD5 | 91 81 : CMPA $81
DBD7 | 27 F7 : BEQ $FD60
DBD9 | D6 80 : LDB $80
DBDB | 81 FB : CMPA #$FB
DBDD | 26 01 : BNE $FD70
DBDF | 5A : DECB // decrease code -01
DBE0 | 81 F7 : CMPA #$F7
DBE2 | 26 01 : BNE $FD75
DBE4 | 5C : INCB // increase code +01
DBE5 | 81 FD : CMPA #$FD
DBE7 | 26 02 : BNE $FD7B
DBE9 | C0 10 : SUBB #$10 // decrease code -10
DBEB | 81 FE : CMPA #$FE
DBED | 26 02 : BNE $FD81
DBEF | CB 10 : ADDB #$10 // increase code +10
DBF1 | D7 80 : STB $80
DBF3 | 81 EF : CMPA #$EF
DBF5 | 27 06 : BEQ $FD8D // play sound
DBF7 | 81 DF : CMPA #$DF
DBF9 | 26 05 : BNE $FD90
DBFB | C6 01 : LDB #$01 // stop sound
DBFD | F7 18 0C : STB $180C // send sound code
DC00 | 20 CE : BRA $FD60
-->
</script>
<script state="run">
<output format="----- shackled 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@0080</argument>
</output>
</script>
<script state="off">
<action>sub.mw@40FA = BCAF </action>
<action>sub.mq@DBD0 = 0000000000000000</action>
<action>sub.mq@DBD8 = 0000000000000000</action>
<action>sub.mq@DBE0 = 0000000000000000</action>
<action>sub.mq@DBE8 = 0000000000000000</action>
<action>sub.mq@DBF0 = 0000000000000000</action>
<action>sub.mq@DBF8 = 0000000000000000</action>
<action>sub.mq@DC00 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
breywood.xml
Code: Select all
<!-- Breywood (Japan revision 2) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@911C = 20</action> <!-- enemy -->
<action>maincpu.mb@924F = 20</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@911C = 27</action>
<action>maincpu.mb@924F = 26</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>sub.mb@4FF7 = AB</action> <!-- player -->
<action>sub.mb@5377 = AB</action> <!-- partner 1 -->
<action>sub.mb@55A8 = AB</action> <!-- partner 2 -->
</script>
<script state="off">
<action>sub.mb@4FF7 = AC</action>
<action>sub.mb@5377 = AC</action>
<action>sub.mb@55A8 = AC</action>
</script>
</cheat>
<cheat desc="walk through wall">
<script state="on">
<action>sub.mw@50D4 = 0000</action> <!-- down -->
<action>sub.mw@5123 = 0000</action> <!-- up -->
<action>sub.mw@5179 = 0000</action> <!-- right -->
<action>sub.mw@51C8 = 0000</action> <!-- left -->
</script>
<script state="off">
<action>sub.mw@50D4 = FF7C</action>
<action>sub.mw@5123 = FF2D</action>
<action>sub.mw@5179 = FFEB</action>
<action>sub.mw@51C8 = FE9C</action>
</script>
</cheat>
<cheat desc="start floor">
<!--
code floor
01 - 70 01 - 70
71 01 : secret floor (go to 24 or secret 80)
72 - 80 72 - 80
81 101 : go to 13
82 101 : go to 98
83 101 : go to 30
84 101 : go to 45
85 102 : go to 61
86 102 : go to 63
87 102 : go to 72
88 104 : go to 63
89 104 : go to 67
90 104 : go to 40 or 103
91 100 : go to 24
92 100 : go to secret floor 01
93 100 : go to 98
94 100 : go to 100 (another)
95 103 : go to 32
96 103 : go to secret 80
97 80 : secret floor (go to 69 or exit)
98 98 : go to 30
-->
<parameter min="0x01" max="0x62" step="0x01" />
<script state="change">
<action>sub.mb@4471 = param</action>
</script>
<script state="off">
<action>sub.mb@4471 = 01</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>sub.mw@40F8 = FD60 </action>
<action>sub.mq@FD60 = 9781B61800918127</action>
<action>sub.mq@FD68 = F7D68081FB26015A</action>
<action>sub.mq@FD70 = 81F726015C81FD26</action>
<action>sub.mq@FD78 = 02C01081FE2602CB</action>
<action>sub.mq@FD80 = 10D78081EF270681</action>
<action>sub.mq@FD88 = DF2605C601F7180C</action>
<action>sub.mq@FD90 = 20CE000000000000</action>
<!--
FD60 | 97 81 : STA $81
FD62 | B6 18 00 : LDA $1800 // read input
FD65 | 91 81 : CMPA $81
FD67 | 27 F7 : BEQ $FD60
FD69 | D6 80 : LDB $80
FD6B | 81 FB : CMPA #$FB
FD6D | 26 01 : BNE $FD70
FD6F | 5A : DECB // decrease code -01
FD70 | 81 F7 : CMPA #$F7
FD72 | 26 01 : BNE $FD75
FD74 | 5C : INCB // increase code +01
FD75 | 81 FD : CMPA #$FD
FD77 | 26 02 : BNE $FD7B
FD79 | C0 10 : SUBB #$10 // decrease code -10
FD7B | 81 FE : CMPA #$FE
FD7D | 26 02 : BNE $FD81
FD7F | CB 10 : ADDB #$10 // increase code +10
FD81 | D7 80 : STB $80
FD83 | 81 EF : CMPA #$EF
FD85 | 27 06 : BEQ $FD8D // play sound
FD87 | 81 DF : CMPA #$DF
FD89 | 26 05 : BNE $FD90
FD8B | C6 01 : LDB #$01 // stop sound
FD8D | F7 18 0C : STB $180C // send sound code
FD90 | 20 CE : BRA $FD60
-->
</script>
<script state="run">
<output format="----- breywood 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@0080</argument>
</output>
</script>
<script state="off">
<action>sub.mw@40F8 = BD84 </action>
<action>sub.mq@FD60 = 0000000000000000</action>
<action>sub.mq@FD68 = 0000000000000000</action>
<action>sub.mq@FD70 = 0000000000000000</action>
<action>sub.mq@FD78 = 0000000000000000</action>
<action>sub.mq@FD80 = 0000000000000000</action>
<action>sub.mq@FD88 = 0000000000000000</action>
<action>sub.mq@FD90 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>