[zaviga]+ Zaviga

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.
Post Reply
jman
Posts: 1316
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[zaviga]+ Zaviga

Post by jman »

zaviga.xml

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="&lt;&lt; sound code %02X &gt;&gt;" 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>
zavigaj.xml

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="&lt;&lt; sound code %02X &gt;&gt;" 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>
"power up shot" : Unique code. Normally, player shot doesn't hit enemy in "air" when player character runs on ground (or on "ground" when you fly in air).
This code enables to destroy enemy in air/on ground with the same shot altogether.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Post Reply