Page 1 of 1
[cobracomj] Cobra-Command
Posted: Wed Dec 22, 2021 11:51 am
by jman
Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@d7cf = 39</action> <!-- enemy -->
<action>maincpu.mb@d81c = 39</action> <!-- bullet -->
<action>maincpu.mb@8fcb = 4f</action> <!-- background -->
</script>
<script state="off">
<action>maincpu.mb@d7cf = 86</action>
<action>maincpu.mb@d81c = 86</action>
<action>maincpu.mb@8fcb = 48</action>
</script>
</cheat>
<cheat desc="auto fire">
<comment>you can't use charge shot</comment>
<script state="on">
<action>maincpu.mw@8585 = d8d0</action>
<action>maincpu.mq@d8d0 = 4f5ffd015a7e8993</action>
<!--
d8d0 | 4f : CLRA
d8d1 | 5f : CLRB
d8d2 | fd 01 5a : STD $015A
d8d5 | 7e 89 93 : JMP $8993
-->
</script>
<script state="off">
<action>maincpu.mw@8585 = 8993</action>
<action>maincpu.mq@d8d0 = 0000000000000000</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="on">
<action>maincpu.md@b0e3 = cc000012</action> <!-- up -->
<action>maincpu.md@b0f6 = cc000012</action> <!-- down -->
<action>maincpu.md@b109 = cc000012</action> <!-- left -->
<action>maincpu.md@b121 = cc000012</action> <!-- right -->
<action>maincpu.mb@b13d = 09</action> <!-- upper-left -->
<action>maincpu.mb@b143 = 09</action> <!-- lower-left -->
<action>maincpu.mb@b149 = 21</action> <!-- upper-right -->
<action>maincpu.mb@b14f = 21</action> <!-- lower-right -->
</script>
<script state="change">
<action>maincpu.mw@b0e4 = param</action>
<action>maincpu.mw@b0f7 = -param</action>
<action>maincpu.mw@b10a = param</action>
<action>maincpu.mw@b122 = -param</action>
</script>
<script state="off">
<action>maincpu.md@b0e3 = 31a6ec22</action>
<action>maincpu.md@b0f6 = 31a6ec22</action>
<action>maincpu.md@b109 = 31a6eca4</action>
<action>maincpu.md@b121 = 31a6eca4</action>
<action>maincpu.mb@b13d = 0x0b</action>
<action>maincpu.mb@b143 = 0x0b</action>
<action>maincpu.mb@b149 = 0x23</action>
<action>maincpu.mb@b14f = 0x23</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x06">02 </item>
<item value="0x0c">03 </item>
<item value="0x12">04 </item>
<item value="0x18">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@e61e = -param</action>
<action>maincpu.mb@e642 = -param</action>
<action>maincpu.mb@e655 = param</action>
<action>maincpu.mb@e62f = param</action>
</script>
<script state="off">
<action>maincpu.mb@e61e = fa</action>
<action>maincpu.mb@e642 = fa</action>
<action>maincpu.mb@e655 = 06</action>
<action>maincpu.mb@e62f = 06</action>
</script>
</cheat>
<cheat desc="available turn">
<script state="on">
<action>maincpu.mw@aeeb = 8681</action>
</script>
<script state="off">
<action>maincpu.mw@aeeb = 961c</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@803d = d8e0</action>
<action>maincpu.mq@d8e0 = d711f63800d11127</action>
<action>maincpu.mq@d8e8 = f7c1fb26020a10c1</action>
<action>maincpu.mq@d8f0 = f726020c10c1ef26</action>
<action>maincpu.mq@d8f8 = 0496102006c1df26</action>
<action>maincpu.mq@d900 = 058601b73e0020d8</action>
<!--
d8e0 | d7 11 : STB $11
d8e2 | f6 38 00 : LDB $3800 // read input
d8e5 | d1 11 : CMPB $11
d8e7 | 27 f7 : BEQ $D8E0
d8e9 | c1 fb : CMPB #$FB
d8eb | 26 02 : BNE $D8EF
d8ed | 0a 10 : DEC $10 // decrease code
d8ef | c1 f7 : CMPB #$F7
d8f1 | 26 02 : BNE $D8F5
d8f3 | 0c 10 : INC $10 // increase code
d8f5 | c1 ef : CMPB #$EF
d8f7 | 26 04 : BNE $D8FD
d8f9 | 96 10 : LDA $10 // play sound
d8fb | 20 06 : BRA $D903
d8fd | c1 df : CMPB #$DF
d8ff | 26 05 : BNE $D906
d901 | 86 01 : LDA #$01 // stop sound
d903 | b7 3e 00 : STA $3E00 // send sound code
d906 | 20 d8 : BRA $D8E0
-->
</script>
<script state="run">
<output format="----- cobra command 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>maincpu.mw@803d = a5c6</action>
<action>maincpu.mq@d8e0 = 0000000000000000</action>
<action>maincpu.mq@d8e8 = 0000000000000000</action>
<action>maincpu.mq@d8f0 = 0000000000000000</action>
<action>maincpu.mq@d8f8 = 0000000000000000</action>
<action>maincpu.mq@d900 = 0000000000000000</action>
</script>
</cheat>
[cobracomj] Cobra-Command (update)
Posted: Sat Dec 31, 2022 2:07 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>maincpu.mw@803d = d8e0</action>
<action>maincpu.mq@d8e0 = 9711b63800911127</action>
<action>maincpu.mq@d8e8 = f7d61081fb26015a</action>
<action>maincpu.mq@d8f0 = 81f726015c81fd26</action>
<action>maincpu.mq@d8f8 = 02c01081fe2602cb</action>
<action>maincpu.mq@d900 = 10d71081ef270681</action>
<action>maincpu.mq@d908 = df2605c601f73e00</action>
<action>maincpu.mq@d910 = 20ce000000000000</action>
<!--
d8e0 | 97 11 : STA $11
d8e2 | b6 38 00 : LDA $3800 // read input
d8e5 | 91 11 : CMPA $11
d8e7 | 27 f7 : BEQ $D8E0
d8e9 | d6 10 : LDB $10
d8eb | 81 fb : CMPA #$FB
d8ed | 26 01 : BNE $D8F0
d8ef | 5a : DECB // decrease code -01
d8f0 | 81 f7 : CMPA #$F7
d8f2 | 26 01 : BNE $D8F5
d8f4 | 5c : INCB // increase code +01
d8f5 | 81 fd : CMPA #$FD
d8f7 | 26 02 : BNE $D8FB
d8f9 | c0 10 : SUBB #$10 // decrease code -10
d8fb | 81 fe : CMPA #$FE
d8fd | 26 02 : BNE $D901
d8ff | cb 10 : ADDB #$10 // increase code +10
d901 | d7 10 : STB $10
d903 | 81 ef : CMPA #$EF
d905 | 27 06 : BEQ $D90D
d907 | 81 df : CMPA #$DF
d909 | 26 05 : BNE $D910
d90b | c6 01 : LDB #$01 // stop sound
d90d | f7 3e 00 : STB $3E00 // send sound code
d910 | 20 ce : BRA $D8E0
-->
</script>
<script state="run">
<output format="----- cobra command 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>maincpu.mw@803d = a5c6</action>
<action>maincpu.mq@d8e0 = 0000000000000000</action>
<action>maincpu.mq@d8e8 = 0000000000000000</action>
<action>maincpu.mq@d8f0 = 0000000000000000</action>
<action>maincpu.mq@d8f8 = 0000000000000000</action>
<action>maincpu.mq@d900 = 0000000000000000</action>
<action>maincpu.mq@d908 = 0000000000000000</action>
<action>maincpu.mq@d910 = 0000000000000000</action>
</script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10).
[cobracom]+ Cobra-Command
Posted: Tue Mar 12, 2024 9:48 am
by jman
cobracom.xml
Code: Select all
<!-- Cobra-Command (World/US revision 5) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@8F74 = 4F</action> <!-- background -->
<action>maincpu.mb@D798 = 39</action> <!-- enemy -->
<action>maincpu.mb@D7E5 = 39</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@8F74 = 48</action>
<action>maincpu.mb@D798 = 86</action>
<action>maincpu.mb@D7E5 = 86</action>
</script>
</cheat>
<cheat desc="auto fire">
<comment>you can't use charge shot</comment>
<script state="on">
<action>maincpu.mw@8525 = D8C0 </action>
<action>maincpu.mq@D8C0 = 4F5FFD015B7E893C</action>
<!--
D8C0 | 4F : CLRA
D8C1 | 5F : CLRB
D8C2 | FD 01 5B : STD $015B
D8C5 | 7E 89 3C : JMP $893C
-->
</script>
<script state="off">
<action>maincpu.mw@8525 = 893C </action>
<action>maincpu.mq@D8C0 = 0000000000000000</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="on">
<action>maincpu.md@B08A = CC000012 </action> <!-- up -->
<action>maincpu.md@B09D = CC000012 </action> <!-- down -->
<action>maincpu.md@B0B2 = BDD8D012 </action> <!-- left -->
<action>maincpu.md@B0CA = BDD8D512 </action> <!-- right -->
<action>maincpu.md@B12E = BDD8D012 </action> <!-- left (turn) -->
<action>maincpu.md@B146 = BDD8D512 </action> <!-- right (turn) -->
<action>maincpu.mq@D8D0 = CC00002003CC0000</action>
<action>maincpu.mq@D8D8 = D31F390000000000</action>
<!--
D8D0 | CC xx xx : LDD #$xxxx
D8D3 | 20 03 : BRA $D8D8
D8D5 | CC xx xx : LDD #$xxxx
D8D8 | D3 1F : ADDD $1F
D8DA | 39 : RTS
-->
</script>
<script state="change">
<action>maincpu.mw@B08B = param</action>
<action>maincpu.mw@B09E = -param</action>
<action>maincpu.mw@D8D1 = param</action>
<action>maincpu.mw@D8D6 = -param</action>
</script>
<script state="off">
<action>maincpu.md@B08A = 31A6EC22 </action>
<action>maincpu.md@B09D = 31A6EC22 </action>
<action>maincpu.md@B0B2 = ECA4D31F </action>
<action>maincpu.md@B0CA = ECA4D31F </action>
<action>maincpu.md@B12E = ECA4D31F </action>
<action>maincpu.md@B146 = ECA4D31F </action>
<action>maincpu.mq@D8D0 = 0000000000000000</action>
<action>maincpu.mq@D8D8 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x06">02 </item>
<item value="0x0c">03 </item>
<item value="0x12">04 </item>
<item value="0x18">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@E61E = -param</action>
<action>maincpu.mb@E62F = param</action>
<action>maincpu.mb@E642 = -param</action>
<action>maincpu.mb@E655 = param</action>
</script>
<script state="off">
<action>maincpu.mb@E61E = FA</action>
<action>maincpu.mb@E62F = 06</action>
<action>maincpu.mb@E642 = FA</action>
<action>maincpu.mb@E655 = 06</action>
</script>
</cheat>
<cheat desc="available turn">
<script state="on">
<action>maincpu.mw@AE8A = 8681</action>
</script>
<script state="off">
<action>maincpu.mw@AE8A = 961C</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@803D = D8E0 </action>
<action>maincpu.mq@D8E0 = 9781B63800918127</action>
<action>maincpu.mq@D8E8 = F7D68081FB26015A</action>
<action>maincpu.mq@D8F0 = 81F726015C81FD26</action>
<action>maincpu.mq@D8F8 = 02C01081FE2602CB</action>
<action>maincpu.mq@D900 = 10D78081EF270681</action>
<action>maincpu.mq@D908 = DF2605C601F73E00</action>
<action>maincpu.mq@D910 = 20CE000000000000</action>
<!--
D8E0 | 97 81 : STA $81
D8E2 | B6 38 00 : LDA $3800 // read input
D8E5 | 91 81 : CMPA $81
D8E7 | 27 F7 : BEQ $D8E0
D8E9 | D6 80 : LDB $80
D8EB | 81 FB : CMPA #$FB
D8ED | 26 01 : BNE $D8F0
D8EF | 5A : DECB // decrease code -01
D8F0 | 81 F7 : CMPA #$F7
D8F2 | 26 01 : BNE $D8F5
D8F4 | 5C : INCB // increase code +01
D8F5 | 81 FD : CMPA #$FD
D8F7 | 26 02 : BNE $D8FB
D8F9 | C0 10 : SUBB #$10 // decrease code -10
D8FB | 81 FE : CMPA #$FE
D8FD | 26 02 : BNE $D901
D8FF | CB 10 : ADDB #$10 // increase code +10
D901 | D7 80 : STB $80
D903 | 81 EF : CMPA #$EF
D905 | 27 06 : BEQ $D90D // play sound
D907 | 81 DF : CMPA #$DF
D909 | 26 05 : BNE $D910
D90B | C6 01 : LDB #$01 // stop sound
D90D | F7 3E 00 : STB $3E00 // send sound code
D910 | 20 CE : BRA $D8E0
-->
</script>
<script state="run">
<output format="----- cobra command 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>maincpu.mw@803D = A560 </action>
<action>maincpu.mq@D8E0 = 0000000000000000</action>
<action>maincpu.mq@D8E8 = 0000000000000000</action>
<action>maincpu.mq@D8F0 = 0000000000000000</action>
<action>maincpu.mq@D8F8 = 0000000000000000</action>
<action>maincpu.mq@D900 = 0000000000000000</action>
<action>maincpu.mq@D908 = 0000000000000000</action>
<action>maincpu.mq@D910 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
cobracoma.xml
Code: Select all
<!-- Cobra-Command (World/US revision 4) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@8F74 = 4F</action> <!-- background -->
<action>maincpu.mb@D788 = 39</action> <!-- enemy -->
<action>maincpu.mb@D7D5 = 39</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@8F74 = 48</action>
<action>maincpu.mb@D788 = 86</action>
<action>maincpu.mb@D7D5 = 86</action>
</script>
</cheat>
<cheat desc="auto fire">
<comment>you can't use charge shot</comment>
<script state="on">
<action>maincpu.mw@8525 = D8C0 </action>
<action>maincpu.mq@D8C0 = 4F5FFD015B7E893C</action>
<!--
D8C0 | 4F : CLRA
D8C1 | 5F : CLRB
D8C2 | FD 01 5B : STD $015B
D8C5 | 7E 89 3C : JMP $893C
-->
</script>
<script state="off">
<action>maincpu.mw@8525 = 893C </action>
<action>maincpu.mq@D8D0 = 0000000000000000</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="on">
<action>maincpu.md@B082 = CC000012 </action> <!-- up -->
<action>maincpu.md@B095 = CC000012 </action> <!-- down -->
<action>maincpu.md@B0AA = BDD8D012 </action> <!-- left -->
<action>maincpu.md@B0C2 = BDD8D512 </action> <!-- right -->
<action>maincpu.md@B11E = BDD8D012 </action> <!-- left (turn) -->
<action>maincpu.md@B136 = BDD8D512 </action> <!-- right (turn) -->
<action>maincpu.mq@D8D0 = CC00002003CC0000</action>
<action>maincpu.mq@D8D8 = D31F390000000000</action>
<!--
D8D0 | CC xx xx : LDD #$xxxx
D8D3 | 20 03 : BRA $D8E8
D8D5 | CC xx xx : LDD #$xxxx
D8D8 | D3 1F : ADDD $1F
D8DA | 39 : RTS
-->
</script>
<script state="change">
<action>maincpu.mw@B083 = param</action>
<action>maincpu.mw@B096 = -param</action>
<action>maincpu.mw@D8D1 = param</action>
<action>maincpu.mw@D8D6 = -param</action>
</script>
<script state="off">
<action>maincpu.md@B082 = 31A6EC22 </action>
<action>maincpu.md@B095 = 31A6EC22 </action>
<action>maincpu.md@B0AA = ECA4D31F </action>
<action>maincpu.md@B0C2 = ECA4D31F </action>
<action>maincpu.md@B11E = ECA4D31F </action>
<action>maincpu.md@B136 = ECA4D31F </action>
<action>maincpu.mq@D8D0 = 0000000000000000</action>
<action>maincpu.mq@D8D8 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x06">02 </item>
<item value="0x0c">03 </item>
<item value="0x12">04 </item>
<item value="0x18">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@E61E = -param</action>
<action>maincpu.mb@E62F = param</action>
<action>maincpu.mb@E642 = -param</action>
<action>maincpu.mb@E655 = param</action>
</script>
<script state="off">
<action>maincpu.mb@E61E = FA</action>
<action>maincpu.mb@E62F = 06</action>
<action>maincpu.mb@E642 = FA</action>
<action>maincpu.mb@E655 = 06</action>
</script>
</cheat>
<cheat desc="available turn">
<script state="on">
<action>maincpu.mw@AE8A = 8681</action>
</script>
<script state="off">
<action>maincpu.mw@AE8A = 961C</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@803D = D8E0 </action>
<action>maincpu.mq@D8E0 = 9781B63800918127</action>
<action>maincpu.mq@D8E8 = F7D68081FB26015A</action>
<action>maincpu.mq@D8F0 = 81F726015C81FD26</action>
<action>maincpu.mq@D8F8 = 02C01081FE2602CB</action>
<action>maincpu.mq@D900 = 10D78081EF270681</action>
<action>maincpu.mq@D908 = DF2605C601F73E00</action>
<action>maincpu.mq@D910 = 20CE000000000000</action>
<!--
D8E0 | 97 81 : STA $81
D8E2 | B6 38 00 : LDA $3800 // read input
D8E5 | 91 81 : CMPA $81
D8E7 | 27 F7 : BEQ $D8E0
D8E9 | D6 80 : LDB $80
D8EB | 81 FB : CMPA #$FB
D8ED | 26 01 : BNE $D8F0
D8EF | 5A : DECB // decrease code -01
D8F0 | 81 F7 : CMPA #$F7
D8F2 | 26 01 : BNE $D8F5
D8F4 | 5C : INCB // increase code +01
D8F5 | 81 FD : CMPA #$FD
D8F7 | 26 02 : BNE $D8FB
D8F9 | C0 10 : SUBB #$10 // decrease code -10
D8FB | 81 FE : CMPA #$FE
D8FD | 26 02 : BNE $D901
D8FF | CB 10 : ADDB #$10 // increase code +10
D901 | D7 80 : STB $80
D903 | 81 EF : CMPA #$EF
D905 | 27 06 : BEQ $D90D // play sound
D907 | 81 DF : CMPA #$DF
D909 | 26 05 : BNE $D910
D90B | C6 01 : LDB #$01 // stop sound
D90D | F7 3E 00 : STB $3E00 // send sound code
D910 | 20 CE : BRA $D8E0
-->
</script>
<script state="run">
<output format="----- cobra command 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>maincpu.mw@803D = A560 </action>
<action>maincpu.mq@D8E0 = 0000000000000000</action>
<action>maincpu.mq@D8E8 = 0000000000000000</action>
<action>maincpu.mq@D8F0 = 0000000000000000</action>
<action>maincpu.mq@D8F8 = 0000000000000000</action>
<action>maincpu.mq@D900 = 0000000000000000</action>
<action>maincpu.mq@D908 = 0000000000000000</action>
<action>maincpu.mq@D910 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
cobracomb.xml
Code: Select all
<!-- Cobra-Command (World/US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@8F84 = 4F</action> <!-- background -->
<action>maincpu.mb@D7A8 = 39</action> <!-- enemy -->
<action>maincpu.mb@D7F5 = 39</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@8F84 = 48</action>
<action>maincpu.mb@D7A8 = 86</action>
<action>maincpu.mb@D7F5 = 86</action>
</script>
</cheat>
<cheat desc="auto fire">
<comment>you can't use charge shot</comment>
<script state="on">
<action>maincpu.mw@8555 = D8A0 </action>
<action>maincpu.mq@D8A0 = 4F5FFD01597E894C</action>
<!--
D8A0 | 4F : CLRA
D8A1 | 5F : CLRB
D8A2 | FD 01 59 : STD $0159
D8A5 | 7E 89 4C : JMP $894C
-->
</script>
<script state="off">
<action>maincpu.mw@8555 = 894C </action>
<action>maincpu.mq@D8A0 = 0000000000000000</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="on">
<action>maincpu.md@B0BC = CC000012 </action> <!-- up -->
<action>maincpu.md@B0CF = CC000012 </action> <!-- down -->
<action>maincpu.md@B0E4 = BDD8B012 </action> <!-- left -->
<action>maincpu.md@B0FC = BDD8B512 </action> <!-- right -->
<action>maincpu.md@B158 = BDD8B012 </action> <!-- left (turn) -->
<action>maincpu.md@B170 = BDD8B512 </action> <!-- right (turn) -->
<action>maincpu.mq@D8B0 = CC00002003CC0000</action>
<action>maincpu.mq@D8B8 = D31F390000000000</action>
<!--
D8B0 | CC xx xx : LDD #$xxxx
D8B3 | 20 03 : BRA $D8B8
D8B5 | CC xx xx : LDD #$xxxx
D8B8 | D3 1F : ADDD $1F
D8BA | 39 : RTS
-->
</script>
<script state="change">
<action>maincpu.mw@B0BD = param</action>
<action>maincpu.mw@B0D0 = -param</action>
<action>maincpu.mw@D8B1 = param</action>
<action>maincpu.mw@D8B6 = -param</action>
</script>
<script state="off">
<action>maincpu.md@B0BC = 31A6EC22 </action>
<action>maincpu.md@B0CF = 31A6EC22 </action>
<action>maincpu.md@B0E4 = ECA4D31F </action>
<action>maincpu.md@B0FC = ECA4D31F </action>
<action>maincpu.md@B158 = ECA4D31F </action>
<action>maincpu.md@B170 = ECA4D31F </action>
<action>maincpu.mq@D8B0 = 0000000000000000</action>
<action>maincpu.mq@D8B8 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x06">02 </item>
<item value="0x0c">03 </item>
<item value="0x12">04 </item>
<item value="0x18">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@E61E = -param</action>
<action>maincpu.mb@E62F = param</action>
<action>maincpu.mb@E642 = -param</action>
<action>maincpu.mb@E655 = param</action>
</script>
<script state="off">
<action>maincpu.mb@E61E = FA</action>
<action>maincpu.mb@E62F = 06</action>
<action>maincpu.mb@E642 = FA</action>
<action>maincpu.mb@E655 = 06</action>
</script>
</cheat>
<cheat desc="available turn">
<script state="on">
<action>maincpu.mw@AEC4 = 8681</action>
</script>
<script state="off">
<action>maincpu.mw@AEC4 = 961C</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@803D = D8F0 </action>
<action>maincpu.mq@D8C0 = 9781B63800918127</action>
<action>maincpu.mq@D8C8 = F7D68081FB26015A</action>
<action>maincpu.mq@D8D0 = 81F726015C81FD26</action>
<action>maincpu.mq@D8D8 = 02C01081FE2602CB</action>
<action>maincpu.mq@D8E0 = 10D78081EF270681</action>
<action>maincpu.mq@D8E8 = DF2605C601F73E00</action>
<action>maincpu.mq@D8F0 = 20CE000000000000</action>
<!--
D8C0 | 97 81 : STA $81
D8C2 | B6 38 00 : LDA $3800 // read input
D8C5 | 91 81 : CMPA $81
D8C7 | 27 F7 : BEQ $D8C0
D8C9 | D6 80 : LDB $80
D8CB | 81 FB : CMPA #$FB
D8CD | 26 01 : BNE $D8D0
D8CF | 5A : DECB // decrease code -01
D8D0 | 81 F7 : CMPA #$F7
D8D2 | 26 01 : BNE $D8D5
D8D4 | 5C : INCB // increase code +01
D8D5 | 81 FD : CMPA #$FD
D8D7 | 26 02 : BNE $D8DB
D8D9 | C0 10 : SUBB #$10 // decrease code -10
D8DB | 81 FE : CMPA #$FE
D8DD | 26 02 : BNE $D8E1
D8DF | CB 10 : ADDB #$10 // increase code +10
D8E1 | D7 80 : STB $80
D8E3 | 81 EF : CMPA #$EF
D8E5 | 27 06 : BEQ $D8ED // play sound
D8E7 | 81 DF : CMPA #$DF
D8E9 | 26 05 : BNE $D8F0
D8EB | C6 01 : LDB #$01 // stop sound
D8ED | F7 3E 00 : STB $3E00 // send sound code
D8F0 | 20 CE : BRA $D8C0
-->
</script>
<script state="run">
<output format="----- cobra command 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>maincpu.mw@803D = A59F </action>
<action>maincpu.mq@D8F0 = 0000000000000000</action>
<action>maincpu.mq@D8F8 = 0000000000000000</action>
<action>maincpu.mq@D900 = 0000000000000000</action>
<action>maincpu.mq@D908 = 0000000000000000</action>
<action>maincpu.mq@D910 = 0000000000000000</action>
<action>maincpu.mq@D918 = 0000000000000000</action>
<action>maincpu.mq@D920 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
cobracomj.xml
Code: Select all
<!-- Cobra-Command (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@8FCB = 4F</action> <!-- background -->
<action>maincpu.mb@D7CF = 39</action> <!-- enemy -->
<action>maincpu.mb@D81C = 39</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@8FCB = 48</action>
<action>maincpu.mb@D7CF = 86</action>
<action>maincpu.mb@D81C = 86</action>
</script>
</cheat>
<cheat desc="auto fire">
<comment>you can't use charge shot</comment>
<script state="on">
<action>maincpu.mw@8585 = D8D0 </action>
<action>maincpu.mq@D8D0 = 4F5FFD015A7E8993</action>
<!--
D8D0 | 4F : CLRA
D8D1 | 5F : CLRB
D8D2 | FD 01 5A : STD $015A
D8D5 | 7E 89 93 : JMP $8993
-->
</script>
<script state="off">
<action>maincpu.mw@8585 = 8993 </action>
<action>maincpu.mq@D8D0 = 0000000000000000</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="on">
<action>maincpu.md@B0E3 = CC000012 </action> <!-- up -->
<action>maincpu.md@B0F6 = CC000012 </action> <!-- down -->
<action>maincpu.md@B10B = BDD8E012 </action> <!-- left -->
<action>maincpu.md@B123 = BDD8E512 </action> <!-- right -->
<action>maincpu.md@B17F = BDD8E012 </action> <!-- left (turn) -->
<action>maincpu.md@B197 = BDD8E512 </action> <!-- right (turn) -->
<action>maincpu.mq@D8E0 = CC00002003CC0000</action>
<action>maincpu.mq@D8E8 = D31F390000000000</action>
<!--
D8E0 | CC xx xx : LDD #$xxxx
D8E3 | 20 03 : BRA $D8E8
D8E5 | CC xx xx : LDD #$xxxx
D8E8 | D3 1F : ADDD $1F
D8EA | 39 : RTS
-->
</script>
<script state="change">
<action>maincpu.mw@B0E4 = param</action>
<action>maincpu.mw@B0F7 = -param</action>
<action>maincpu.mw@D8E1 = param</action>
<action>maincpu.mw@D8E6 = -param</action>
</script>
<script state="off">
<action>maincpu.md@B0E3 = 31A6EC22 </action>
<action>maincpu.md@B0F6 = 31A6EC22 </action>
<action>maincpu.md@B10B = ECA4D31F </action>
<action>maincpu.md@B123 = ECA4D31F </action>
<action>maincpu.md@B17F = ECA4D31F </action>
<action>maincpu.md@B197 = ECA4D31F </action>
<action>maincpu.mq@D8E0 = 0000000000000000</action>
<action>maincpu.mq@D8E8 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x06">02 </item>
<item value="0x0c">03 </item>
<item value="0x12">04 </item>
<item value="0x18">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@E61E = -param</action>
<action>maincpu.mb@E62F = param</action>
<action>maincpu.mb@E642 = -param</action>
<action>maincpu.mb@E655 = param</action>
</script>
<script state="off">
<action>maincpu.mb@E61E = FA</action>
<action>maincpu.mb@E62F = 06</action>
<action>maincpu.mb@E642 = FA</action>
<action>maincpu.mb@E655 = 06</action>
</script>
</cheat>
<cheat desc="available turn">
<script state="on">
<action>maincpu.mw@AEEB = 8681</action>
</script>
<script state="off">
<action>maincpu.mw@AEEB = 961C</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@803D = D8F0 </action>
<action>maincpu.mq@D8F0 = 9781B63800918127</action>
<action>maincpu.mq@D8F8 = F7D68081FB26015A</action>
<action>maincpu.mq@D900 = 81F726015C81FD26</action>
<action>maincpu.mq@D908 = 02C01081FE2602CB</action>
<action>maincpu.mq@D910 = 10D78081EF270681</action>
<action>maincpu.mq@D918 = DF2605C601F73E00</action>
<action>maincpu.mq@D920 = 20CE000000000000</action>
<!--
D8F0 | 97 81 : STA $81
D8F2 | B6 38 00 : LDA $3800 // read input
D8F5 | 91 81 : CMPA $81
D8F7 | 27 F7 : BEQ $D8F0
D8F9 | D6 80 : LDB $80
D8FB | 81 FB : CMPA #$FB
D8FD | 26 01 : BNE $D900
D8FF | 5A : DECB // decrease code -01
D900 | 81 F7 : CMPA #$F7
D902 | 26 01 : BNE $D905
D904 | 5C : INCB // increase code +01
D905 | 81 FD : CMPA #$FD
D907 | 26 02 : BNE $D90B
D909 | C0 10 : SUBB #$10 // decrease code -10
D90B | 81 FE : CMPA #$FE
D90D | 26 02 : BNE $D911
D90F | CB 10 : ADDB #$10 // increase code +10
D911 | D7 80 : STB $80
D913 | 81 EF : CMPA #$EF
D915 | 27 06 : BEQ $D91D // play sound
D917 | 81 DF : CMPA #$DF
D919 | 26 05 : BNE $D920
D91B | C6 01 : LDB #$01 // stop sound
D91D | F7 3E 00 : STB $3E00 // send sound code
D920 | 20 CE : BRA $D8F0
-->
</script>
<script state="run">
<output format="----- cobra command 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>maincpu.mw@803D = A5C6 </action>
<action>maincpu.mq@D8F0 = 0000000000000000</action>
<action>maincpu.mq@D8F8 = 0000000000000000</action>
<action>maincpu.mq@D900 = 0000000000000000</action>
<action>maincpu.mq@D908 = 0000000000000000</action>
<action>maincpu.mq@D910 = 0000000000000000</action>
<action>maincpu.mq@D918 = 0000000000000000</action>
<action>maincpu.mq@D920 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
cobracomjb.xml
Code: Select all
<!-- Cobra-Command (Japan, bootleg) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@8FCB = 4F</action> <!-- background -->
<action>maincpu.mb@D7CF = 39</action> <!-- enemy -->
<action>maincpu.mb@D81C = 39</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@8FCB = 48</action>
<action>maincpu.mb@D7CF = 86</action>
<action>maincpu.mb@D81C = 86</action>
</script>
</cheat>
<cheat desc="auto fire">
<comment>you can't use charge shot</comment>
<script state="on">
<action>maincpu.mw@8585 = D8D0 </action>
<action>maincpu.mq@D8D0 = 4F5FFD015A7E8993</action>
<!--
D8D0 | 4F : CLRA
D8D1 | 5F : CLRB
D8D2 | FD 01 5A : STD $015A
D8D5 | 7E 89 93 : JMP $8993
-->
</script>
<script state="off">
<action>maincpu.mw@8585 = 8993 </action>
<action>maincpu.mq@D8D0 = 0000000000000000</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="on">
<action>maincpu.md@B0E3 = CC000012 </action> <!-- up -->
<action>maincpu.md@B0F6 = CC000012 </action> <!-- down -->
<action>maincpu.md@B10B = BDD8E012 </action> <!-- left -->
<action>maincpu.md@B123 = BDD8E512 </action> <!-- right -->
<action>maincpu.md@B17F = BDD8E012 </action> <!-- left (turn) -->
<action>maincpu.md@B197 = BDD8E512 </action> <!-- right (turn) -->
<action>maincpu.mq@D8E0 = CC00002003CC0000</action>
<action>maincpu.mq@D8E8 = D31F390000000000</action>
<!--
D8E0 | CC xx xx : LDD #$xxxx
D8E3 | 20 03 : BRA $D8E8
D8E5 | CC xx xx : LDD #$xxxx
D8E8 | D3 1F : ADDD $1F
D8EA | 39 : RTS
-->
</script>
<script state="change">
<action>maincpu.mw@B0E4 = param</action>
<action>maincpu.mw@B0F7 = -param</action>
<action>maincpu.mw@D8E1 = param</action>
<action>maincpu.mw@D8E6 = -param</action>
</script>
<script state="off">
<action>maincpu.md@B0E3 = 31A6EC22 </action>
<action>maincpu.md@B0F6 = 31A6EC22 </action>
<action>maincpu.md@B10B = ECA4D31F </action>
<action>maincpu.md@B123 = ECA4D31F </action>
<action>maincpu.md@B17F = ECA4D31F </action>
<action>maincpu.md@B197 = ECA4D31F </action>
<action>maincpu.mq@D8E0 = 0000000000000000</action>
<action>maincpu.mq@D8E8 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x06">02 </item>
<item value="0x0c">03 </item>
<item value="0x12">04 </item>
<item value="0x18">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@E61E = -param</action>
<action>maincpu.mb@E62F = param</action>
<action>maincpu.mb@E642 = -param</action>
<action>maincpu.mb@E655 = param</action>
</script>
<script state="off">
<action>maincpu.mb@E61E = FA</action>
<action>maincpu.mb@E62F = 06</action>
<action>maincpu.mb@E642 = FA</action>
<action>maincpu.mb@E655 = 06</action>
</script>
</cheat>
<cheat desc="available turn">
<script state="on">
<action>maincpu.mw@AEEB = 8681</action>
</script>
<script state="off">
<action>maincpu.mw@AEEB = 961C</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@803D = D8F0 </action>
<action>maincpu.mq@D8F0 = 9781B63800918127</action>
<action>maincpu.mq@D8F8 = F7D68081FB26015A</action>
<action>maincpu.mq@D900 = 81F726015C81FD26</action>
<action>maincpu.mq@D908 = 02C01081FE2602CB</action>
<action>maincpu.mq@D910 = 10D78081EF270681</action>
<action>maincpu.mq@D918 = DF2605C601F73E00</action>
<action>maincpu.mq@D920 = 20CE000000000000</action>
<!--
D8F0 | 97 81 : STA $81
D8F2 | B6 38 00 : LDA $3800 // read input
D8F5 | 91 81 : CMPA $81
D8F7 | 27 F7 : BEQ $D8F0
D8F9 | D6 80 : LDB $80
D8FB | 81 FB : CMPA #$FB
D8FD | 26 01 : BNE $D900
D8FF | 5A : DECB // decrease code -01
D900 | 81 F7 : CMPA #$F7
D902 | 26 01 : BNE $D905
D904 | 5C : INCB // increase code +01
D905 | 81 FD : CMPA #$FD
D907 | 26 02 : BNE $D90B
D909 | C0 10 : SUBB #$10 // decrease code -10
D90B | 81 FE : CMPA #$FE
D90D | 26 02 : BNE $D911
D90F | CB 10 : ADDB #$10 // increase code +10
D911 | D7 80 : STB $80
D913 | 81 EF : CMPA #$EF
D915 | 27 06 : BEQ $D91D // play sound
D917 | 81 DF : CMPA #$DF
D919 | 26 05 : BNE $D920
D91B | C6 01 : LDB #$01 // stop sound
D91D | F7 3E 00 : STB $3E00 // send sound code
D920 | 20 CE : BRA $D8F0
-->
</script>
<script state="run">
<output format="----- cobra command 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>maincpu.mw@803D = A5C6 </action>
<action>maincpu.mq@D8F0 = 0000000000000000</action>
<action>maincpu.mq@D8F8 = 0000000000000000</action>
<action>maincpu.mq@D900 = 0000000000000000</action>
<action>maincpu.mq@D908 = 0000000000000000</action>
<action>maincpu.mq@D910 = 0000000000000000</action>
<action>maincpu.mq@D918 = 0000000000000000</action>
<action>maincpu.mq@D920 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
"player speed" : Fixed left/right move in turn mode.