Page 1 of 1
[breywood] Shackled/Breywood
Posted: Thu Dec 16, 2021 2:29 pm
by jman
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.
[breywood] Shackled/Breywood (update)
Posted: Wed Dec 28, 2022 9:34 am
by jman
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).
[shackled]+ Shackled/Breywood
Posted: Sat Mar 09, 2024 1:41 am
by jman
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>