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: 874 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 3 times
Post
by jman » Wed Dec 22, 2021 11:51 am
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>
jman
Posts: 874 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 3 times
Post
by jman » Sat Dec 31, 2022 2:07 am
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).
jman
Posts: 874 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 3 times
Post
by jman » Tue Mar 12, 2024 9:48 am
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.