Code: Select all
<!-- Zaviga -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@D3F3 = 00</action> <!-- background -->
<action>maincpu.mb@D405 = 00</action> <!-- background -->
<action>maincpu.mb@D427 = 00</action> <!-- background -->
<action>maincpu.mb@D436 = 20</action> <!-- background -->
<action> subcpu.mb@BD67 = 20</action> <!-- enemy -->
<action> subcpu.mb@BDBD = 20</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@D3F3 = 44</action>
<action>maincpu.mb@D405 = 32</action>
<action>maincpu.mb@D427 = 10</action>
<action>maincpu.mb@D436 = 26</action>
<action> subcpu.mb@BD67 = 27</action>
<action> subcpu.mb@BDBD = 24</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@D1D0 = 01</action> <!-- shot -->
<action>maincpu.mb@D1FC = 23</action> <!-- missile -->
</script>
<script state="off">
<action>maincpu.mb@D1D0 = 0F</action>
<action>maincpu.mb@D1FC = 22</action>
</script>
</cheat>
<cheat desc="power up shot">
<comment>you can destroy an enemy on ground and in air with one shot</comment>
<script state="on">
<action>subcpu.mb@BE27 = 20</action>
<action>subcpu.mb@BE60 = 00</action>
<action>subcpu.mb@BE66 = 00</action>
</script>
<script state="off">
<action>subcpu.mb@BE27 = 27</action>
<action>subcpu.mb@BE60 = F8</action>
<action>subcpu.mb@BE66 = F2</action>
</script>
</cheat>
<cheat desc="fast missile">
<script state="on">
<action>maincpu.mw@D20F = A900 </action>
<action>maincpu.mq@A900 = BDD25A8686A70386</action>
<action>maincpu.mq@A908 = FBA706DC3D830048</action>
<action>maincpu.mq@A910 = ED0C39FFFFFFFFFF</action>
<!--
A900 | BD D2 5A : JSR $D25A
A903 | 86 86 : LDA #$86
A905 | A7 03 : STA $3,X
A907 | 86 FB : LDA #$FB
A909 | A7 06 : STA $6,X
A90B | DC 3D : LDD $3D
A90D | 83 00 48 : SUBD #$0048
A910 | ED 0C : STD $C,X
A912 | 39 : RTS
-->
</script>
<script state="off">
<action>maincpu.mw@D20F = D25A </action>
<action>maincpu.mq@A900 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@A908 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@A910 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="no inertia">
<script state="on">
<action>maincpu.md@D0A5 = BDA92012 </action>
<action>maincpu.mq@A920 = 31A6962384032605</action>
<action>maincpu.mq@A928 = 4F5FDD3839ECA439</action>
<!--
A920 | 31 A6 : LEAY A,Y
A922 | 96 23 : LDA $23 // read input
A924 | 84 03 : ANDA #$03
A926 | 26 05 : BNE $A92D
A928 | 4F : CLRA
A929 | 5F : CLRB
A92A | DD 38 : STD $38
A92C | 39 : RTS
A92D | EC A4 : LDD ,Y
A92F | 39 : RTS
-->
</script>
<script state="off">
<action>maincpu.md@D0A5 = 31A6ECA4 </action>
<action>maincpu.mq@A920 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@A928 = FFFFFFFFFFFFFFFF</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@C7C8 = 4000 </action>
<action>maincpu.mq@4000 = BDC610BDC613BDC6</action>
<action>maincpu.mq@4008 = 16BDC619BDC61C20</action>
<action>maincpu.mq@4010 = 2B9701B61B029101</action>
<action>maincpu.mq@4018 = 27F7D60081FD2601</action>
<action>maincpu.mq@4020 = 5A81FE26015C81F7</action>
<action>maincpu.mq@4028 = 2602C01081FB2602</action>
<action>maincpu.mq@4030 = CB10D70081EF2705</action>
<action>maincpu.mq@4038 = 81DF26045FF71C05</action>
<action>maincpu.mq@4040 = 20CF000000000000</action>
<!--
4000 | BD C6 10 : JSR $C610
4003 | BD C6 13 : JSR $C613
4006 | BD C6 16 : JSR $C616
4009 | BD C6 19 : JSR $C619
400C | BD C6 1C : JSR $C61C
400F | 20 2B : BRA $403C
4011 | 97 01 : STA $01
4013 | B6 1B 02 : LDA $1B02 // read input
4016 | 91 01 : CMPA $01
4018 | 27 F7 : BEQ $4011
401A | D6 00 : LDB $00
401C | 81 FD : CMPA #$FD
401E | 26 01 : BNE $4021
4020 | 5A : DECB // decrease code -01
4021 | 81 FE : CMPA #$FE
4023 | 26 01 : BNE $4026
4025 | 5C : INCB // increase code +01
4026 | 81 F7 : CMPA #$F7
4028 | 26 02 : BNE $402C
402A | C0 10 : SUBB #$10 // decrease code -10
402C | 81 FB : CMPA #$FB
402E | 26 02 : BNE $4032
4030 | CB 10 : ADDB #$10 // increase code +10
4032 | D7 00 : STB $00
4034 | 81 EF : CMPA #$EF
4036 | 27 05 : BEQ $403D // play sound
4038 | 81 DF : CMPA #$DF
403A | 26 04 : BNE $4040
403C | 5F : CLRB // stop sound
403D | F7 1C 05 : STB $1C05 // send sound code
4040 | 20 CF : BRA $4011
-->
</script>
<script state="run">
<output format="----- 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@0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@C7C8 = CE3E </action>
<action>maincpu.mq@4000 = 0000000000000000</action>
<action>maincpu.mq@4008 = 0000000000000000</action>
<action>maincpu.mq@4010 = 0000000000000000</action>
<action>maincpu.mq@4018 = 0000000000000000</action>
<action>maincpu.mq@4020 = 0000000000000000</action>
<action>maincpu.mq@4028 = 0000000000000000</action>
<action>maincpu.mq@4030 = 0000000000000000</action>
<action>maincpu.mq@4038 = 0000000000000000</action>
<action>maincpu.mq@4040 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- Zaviga (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@D3F3 = 00</action> <!-- background -->
<action>maincpu.mb@D405 = 00</action> <!-- background -->
<action>maincpu.mb@D427 = 00</action> <!-- background -->
<action>maincpu.mb@D436 = 20</action> <!-- background -->
<action> subcpu.mb@BD67 = 20</action> <!-- enemy -->
<action> subcpu.mb@BDBD = 20</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mb@D3F3 = 44</action>
<action>maincpu.mb@D405 = 32</action>
<action>maincpu.mb@D427 = 10</action>
<action>maincpu.mb@D436 = 26</action>
<action> subcpu.mb@BD67 = 27</action>
<action> subcpu.mb@BDBD = 24</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@D1D0 = 01</action> <!-- shot -->
<action>maincpu.mb@D1FC = 23</action> <!-- missile -->
</script>
<script state="off">
<action>maincpu.mb@D1D0 = 0F</action>
<action>maincpu.mb@D1FC = 22</action>
</script>
</cheat>
<cheat desc="power up shot">
<comment>you can destroy an enemy on ground and in air with one shot</comment>
<script state="on">
<action>subcpu.mb@BE27 = 20</action>
<action>subcpu.mb@BE60 = 00</action>
<action>subcpu.mb@BE66 = 00</action>
</script>
<script state="off">
<action>subcpu.mb@BE27 = 27</action>
<action>subcpu.mb@BE60 = F8</action>
<action>subcpu.mb@BE66 = F2</action>
</script>
</cheat>
<cheat desc="fast missile">
<script state="on">
<action>maincpu.mw@D20F = A900 </action>
<action>maincpu.mq@A900 = BDD25A8686A70386</action>
<action>maincpu.mq@A908 = FBA706DC3D830048</action>
<action>maincpu.mq@A910 = ED0C39FFFFFFFFFF</action>
<!--
A900 | BD D2 5A : JSR $D25A
A903 | 86 86 : LDA #$86
A905 | A7 03 : STA $3,X
A907 | 86 FB : LDA #$FB
A909 | A7 06 : STA $6,X
A90B | DC 3D : LDD $3D
A90D | 83 00 48 : SUBD #$0048
A910 | ED 0C : STD $C,X
A912 | 39 : RTS
-->
</script>
<script state="off">
<action>maincpu.mw@D20F = D25A </action>
<action>maincpu.mq@A900 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@A908 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@A910 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="no inertia">
<script state="on">
<action>maincpu.md@D0A5 = BDA92012 </action>
<action>maincpu.mq@A920 = 31A6962384032605</action>
<action>maincpu.mq@A928 = 4F5FDD3839ECA439</action>
<!--
A920 | 31 A6 : LEAY A,Y
A922 | 96 23 : LDA $23 // read input
A924 | 84 03 : ANDA #$03
A926 | 26 05 : BNE $A92D
A928 | 4F : CLRA
A929 | 5F : CLRB
A92A | DD 38 : STD $38
A92C | 39 : RTS
A92D | EC A4 : LDD ,Y
A92F | 39 : RTS
-->
</script>
<script state="off">
<action>maincpu.md@D0A5 = 31A6ECA4 </action>
<action>maincpu.mq@A920 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@A928 = FFFFFFFFFFFFFFFF</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@C7C8 = 4000 </action>
<action>maincpu.mq@4000 = BDC610BDC613BDC6</action>
<action>maincpu.mq@4008 = 16BDC619BDC61C20</action>
<action>maincpu.mq@4010 = 2B9701B61B029101</action>
<action>maincpu.mq@4018 = 27F7D60081FD2601</action>
<action>maincpu.mq@4020 = 5A81FE26015C81F7</action>
<action>maincpu.mq@4028 = 2602C01081FB2602</action>
<action>maincpu.mq@4030 = CB10D70081EF2705</action>
<action>maincpu.mq@4038 = 81DF26045FF71C05</action>
<action>maincpu.mq@4040 = 20CF000000000000</action>
<!--
4000 | BD C6 10 : JSR $C610
4003 | BD C6 13 : JSR $C613
4006 | BD C6 16 : JSR $C616
4009 | BD C6 19 : JSR $C619
400C | BD C6 1C : JSR $C61C
400F | 20 2B : BRA $403C
4011 | 97 01 : STA $01
4013 | B6 1B 02 : LDA $1B02 // read input
4016 | 91 01 : CMPA $01
4018 | 27 F7 : BEQ $4011
401A | D6 00 : LDB $00
401C | 81 FD : CMPA #$FD
401E | 26 01 : BNE $4021
4020 | 5A : DECB // decrease code -01
4021 | 81 FE : CMPA #$FE
4023 | 26 01 : BNE $4026
4025 | 5C : INCB // increase code +01
4026 | 81 F7 : CMPA #$F7
4028 | 26 02 : BNE $402C
402A | C0 10 : SUBB #$10 // decrease code -10
402C | 81 FB : CMPA #$FB
402E | 26 02 : BNE $4032
4030 | CB 10 : ADDB #$10 // increase code +10
4032 | D7 00 : STB $00
4034 | 81 EF : CMPA #$EF
4036 | 27 05 : BEQ $403D // play sound
4038 | 81 DF : CMPA #$DF
403A | 26 04 : BNE $4040
403C | 5F : CLRB // stop sound
403D | F7 1C 05 : STB $1C05 // send sound code
4040 | 20 CF : BRA $4011
-->
</script>
<script state="run">
<output format="----- 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@0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@C7C8 = CE3E </action>
<action>maincpu.mq@4000 = 0000000000000000</action>
<action>maincpu.mq@4008 = 0000000000000000</action>
<action>maincpu.mq@4010 = 0000000000000000</action>
<action>maincpu.mq@4018 = 0000000000000000</action>
<action>maincpu.mq@4020 = 0000000000000000</action>
<action>maincpu.mq@4028 = 0000000000000000</action>
<action>maincpu.mq@4030 = 0000000000000000</action>
<action>maincpu.mq@4038 = 0000000000000000</action>
<action>maincpu.mq@4040 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
This code enables to destroy enemy in air/on ground with the same shot altogether.