[megazone] Mega Zone

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: 843
Joined: Tue Dec 01, 2020 1:24 pm

[megazone] Mega Zone

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@8103 = 26</action>
    </script>
    <script state="off">
        <action>maincpu.mb@8103 = 27</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@86ff = 00</action>
    </script>
    <script state="off">
        <action>maincpu.mb@86ff = 0f</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@7e0c = e4000055</action>
    </script>
    <script state="change">
        <action>maincpu.mw@7e0d = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@7e0c = 60c48655</action>
    </script>
</cheat>

<cheat desc="bullet speed">
    <parameter>
        <item value="0x04">01 (slow)</item>
        <item value="0x08">02       </item>
        <item value="0x0c">03       </item>
        <item value="0x10">04       </item>
        <item value="0x14">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@8732 = param</action> <!-- speed -->
        <action>maincpu.mb@87ba = param</action> <!-- range -->
    </script>
    <script state="off">
        <action>maincpu.mb@8732 = 08</action>
        <action>maincpu.mb@87ba = 09</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set ram/rom check skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mb@6801 =               00</action> <!-- enable music -->
        <action>maincpu.mw@abf3 =             a206</action> <!-- disable next sequence at boot -->
        <action>maincpu.mw@abfc =             5000</action>
        <action>maincpu.mq@5000 = b41e1381051d0301</action>
        <action>maincpu.mq@5008 = 0e028280a902ae02</action>
        <action>maincpu.mq@5010 = 2e80031004045480</action>
        <action>maincpu.mq@5018 = 080609040e054e01</action>
        <action>maincpu.mq@5020 = 9f965b15811b0000</action>
        <!--
        5000 | b4 1e    : LDA  $1E   // read input
        5002 | 13 81    : CMPA $81
        5004 | 05 1d    : BEQ  $5023
        5006 | 03 01    : CMPA #$01
        5008 | 0e 02    : BNE  $500C
        500a | 82 80    : DEC  $80   // decrease code
        500c | a9 02    : CMPA #$02
        500e | ae 02    : BNE  $5012
        5010 | 2e 80    : INC  $80   // increase code
        5012 | 03 10    : CMPA #$10
        5014 | 04 04    : BNE  $501A
        5016 | 54 80    : LDB  $80   // play sound
        5018 | 08 06    : BRA  $5020
        501a | 09 04    : CMPA #$04
        501c | 0e 05    : BNE  $5023
        501e | 4e 01    : LDB  #$01  // stop sound
        5020 | 9f 96 5b : JSR  $965B // send sound code
        5023 | 15 81    : STA  $81
        5025 | 1b       : RTS
        -->
    </script>
    <script state="run">
        <output format="----- mega zone 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="up : stop sound"                       line="14" align="center" />
        <output format="----------------------------"          line="15" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"    line="17" align="center">
            <argument>maincpu.pb@3b80</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mb@6801 =               02</action>
        <action>maincpu.mw@abf3 =             a4f3</action>
        <action>maincpu.mw@abfc =             9648</action>
        <action>maincpu.mq@5000 = 0000000000000000</action>
        <action>maincpu.mq@5008 = 0000000000000000</action>
        <action>maincpu.mq@5010 = 0000000000000000</action>
        <action>maincpu.mq@5018 = 0000000000000000</action>
        <action>maincpu.mq@5020 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="skip ram/rom check">
    <script state="on">
        <action> maincpu.mw@aab3 = aab5</action> <!-- ram -->
        <action> maincpu.mw@aaeb = aaed</action> <!-- rom -->
        <action>audiocpu.mw@0005 = 020f</action> <!-- rom -->
    </script>
    <script state="off">
        <action> maincpu.mw@aab3 = b185</action>
        <action> maincpu.mw@aaeb = b008</action>
        <action>audiocpu.mw@0005 = 01d7</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[megazone] Mega Zone (update)

Post by jman »

Code: Select all

<cheat desc="sound test mode">
    <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mb@6801 =               00</action> <!-- enable music -->
        <action>maincpu.mw@abf3 =             a206</action> <!-- disable next sequence at boot -->
        <action>maincpu.mw@abfc =             5000</action>
        <action>maincpu.mq@5000 = b42006086a6a1582</action>
        <action>maincpu.mq@5008 = be1e0c1fb2821981</action>
        <action>maincpu.mq@5010 = 05275480a301a401</action>
        <action>maincpu.mq@5018 = 72a902ae01740908</action>
        <action>maincpu.mq@5020 = 04024210a304a402</action>
        <action>maincpu.mq@5028 = e3105f80a910af06</action>
        <action>maincpu.mq@5030 = a320a405e4013f96</action>
        <action>maincpu.mq@5038 = 5bbf81b100000000</action>
        <!--
        5000 | 96 02    : LDA  $20   // read start button
        5002 | 84 8a    : ANDA #$08
        5004 | 48       : ASLA
        5005 | 48       : ASLA
        5006 | 97 00    : STA  $82
        5008 | 96 36    : LDA  $1E   // read other inputs
        500a | 84 97    : ANDA #$1F
        500c | 9a aa    : ORA  $82
        500e | 91 09    : CMPA $81
        5010 | 27 05    : BEQ  $5039
        5012 | d6 02    : LDB  $80
        5014 | 81 23    : CMPA #$01
        5016 | 26 83    : BNE  $5019
        5018 | 5a       : DECB       // decrease code -01
        5019 | 81 8a    : CMPA #$02
        501b | 26 29    : BNE  $501E
        501d | 5c       : INCB       // increase code +01
        501e | 81 80    : CMPA #$08
        5020 | 26 20    : BNE  $5024
        5022 | c0 92    : SUBB #$10  // decrease code -10
        5024 | 81 26    : CMPA #$04
        5026 | 26 80    : BNE  $502A
        5028 | cb 38    : ADDB #$10  // increase code +10
        502a | d7 08    : STB  $80
        502c | 81 38    : CMPA #$10
        502e | 27 8e    : BEQ  $5036
        5030 | 81 02    : CMPA #$20
        5032 | 26 87    : BNE  $5039
        5034 | c6 23    : LDB  #$01  // stop sound
        5036 | bd 14 73 : JSR  $965B // send sound code
        5039 | 97 09    : STA  $81
        503b | 39       : RTS
        -->
    </script>
    <script state="run">
        <output format="----- mega zone 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="start : stop sound"                    line="16" align="center" />
        <output format="----------------------------"          line="17" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"    line="19" align="center"  >
            <argument>maincpu.pb@3b80</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mb@6801 =               02</action>
        <action>maincpu.mw@abf3 =             a4f3</action>
        <action>maincpu.mw@abfc =             9648</action>
        <action>maincpu.mq@5000 = 0000000000000000</action>
        <action>maincpu.mq@5008 = 0000000000000000</action>
        <action>maincpu.mq@5010 = 0000000000000000</action>
        <action>maincpu.mq@5018 = 0000000000000000</action>
        <action>maincpu.mq@5020 = 0000000000000000</action>
        <action>maincpu.mq@5028 = 0000000000000000</action>
        <action>maincpu.mq@5030 = 0000000000000000</action>
        <action>maincpu.mq@5038 = 0000000000000000</action>
    </script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10).
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[megazone]+ Mega Zone

Post by jman »

megazone.xml

Code: Select all

<!-- Mega Zone (program code L) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@8103 = 26</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8103 = 27</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@86FF = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@86FF = 0F</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@7E0C = E4000055</action>
        </script>
        <script state="change">
            <action>maincpu.mw@7E0D = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@7E0C = 60C48655</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x04">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x10">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@8732 = param</action> <!-- speed -->
            <action>maincpu.mb@87BA = param</action> <!-- range -->
        </script>
        <script state="off">
            <action>maincpu.mb@8732 = 08</action>
            <action>maincpu.mb@87BA = 09</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@6801 = 00              </action> <!-- enable music -->
            <action>maincpu.mw@ABF3 = A206            </action> <!-- disable next sequence at boot -->
            <action>maincpu.mw@ABFC = 5000            </action>
            <action>maincpu.mq@5000 = B42006086A6A1582</action>
            <action>maincpu.mq@5008 = BE1E0C1FB2821981</action>
            <action>maincpu.mq@5010 = 05275480A301A401</action>
            <action>maincpu.mq@5018 = 72A902AE01740908</action>
            <action>maincpu.mq@5020 = 04024210A304A402</action>
            <action>maincpu.mq@5028 = E3105F80A910AF06</action>
            <action>maincpu.mq@5030 = A320A405E4013F96</action>
            <action>maincpu.mq@5038 = 5BBF81B100000000</action>
            <!--
            5000 | 96 20    : LDA    $20  // read start button
            5002 | 84 08    : ANDA   #$08
            5004 | 48       : ASLA
            5005 | 48       : ASLA
            5006 | 97 82    : STA    $82
            5008 | 96 1E    : LDA    $1E  // read other inputs
            500A | 84 1F    : ANDA   #$1F
            500C | 9A 82    : ORA    $82
            500E | 91 81    : CMPA   $81
            5010 | 27 27    : BEQ    $5039
            5012 | D6 80    : LDB    $80
            5014 | 81 01    : CMPA   #$01
            5016 | 26 01    : BNE    $5019
            5018 | 5A       : DECB         // decrease code -01
            5019 | 81 02    : CMPA   #$02
            501B | 26 01    : BNE    $501E
            501D | 5C       : INCB         // increase code +01
            501E | 81 08    : CMPA   #$08
            5020 | 26 02    : BNE    $5024
            5022 | C0 10    : SUBB   #$10  // decrease code -10
            5024 | 81 04    : CMPA   #$04
            5026 | 26 02    : BNE    $502A
            5028 | CB 10    : ADDB   #$10  // increase code +10
            502A | D7 80    : STB    $80
            502C | 81 10    : CMPA   #$10
            502E | 27 06    : BEQ    $5036 // play sound
            5030 | 81 20    : CMPA   #$20
            5032 | 26 05    : BNE    $5039
            5034 | C6 01    : LDB    #$01  // stop sound
            5036 | BD 96 5B : JSR    $965B // send sound code
            5039 | 97 81    : STA    $81
            503B | 39       : RTS
            -->
        </script>
        <script state="run">
            <output format="----- mega zone 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="P1 start : 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@3B80</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@6801 = 02              </action>
            <action>maincpu.mw@ABF3 = A4F3            </action>
            <action>maincpu.mw@ABFC = 9648            </action>
            <action>maincpu.mq@5000 = 0000000000000000</action>
            <action>maincpu.mq@5008 = 0000000000000000</action>
            <action>maincpu.mq@5010 = 0000000000000000</action>
            <action>maincpu.mq@5018 = 0000000000000000</action>
            <action>maincpu.mq@5020 = 0000000000000000</action>
            <action>maincpu.mq@5028 = 0000000000000000</action>
            <action>maincpu.mq@5030 = 0000000000000000</action>
            <action>maincpu.mq@5038 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action> maincpu.mw@AAB3 = AAB5</action> <!-- ram -->
            <action> maincpu.mw@AAEB = AAED</action> <!-- rom -->
            <action>audiocpu.mw@0005 = 020F</action> <!-- rom -->
        </script>
        <script state="off">
            <action> maincpu.mw@AAB3 = B185</action>
            <action> maincpu.mw@AAEB = B008</action>
            <action>audiocpu.mw@0005 = 01D7</action>
        </script>
    </cheat>

</mamecheat>
megazonej.xml

Code: Select all

<!-- Mega Zone (program code J) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@8101 = 24</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8101 = 25</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@86FD = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@86FD = 0F</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@7E0A = 440000F5</action>
        </script>
        <script state="change">
            <action>maincpu.mw@7E0B = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@7E0A = C06486F5</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x04">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x10">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@8730 = param</action> <!-- speed -->
            <action>maincpu.mb@87B8 = param</action> <!-- range -->
        </script>
        <script state="off">
            <action>maincpu.mb@8730 = 08</action>
            <action>maincpu.mb@87B8 = 09</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@67FF = 00              </action> <!-- enable music -->
            <action>maincpu.mw@ABF5 = 0206            </action> <!-- disable next sequence at boot -->
            <action>maincpu.mw@ABFE = 5000            </action>
            <action>maincpu.mq@5000 = B42006086A6A1582</action>
            <action>maincpu.mq@5008 = BE1E0C1FB2821981</action>
            <action>maincpu.mq@5010 = 05275480A301A401</action>
            <action>maincpu.mq@5018 = 72A902AE01740908</action>
            <action>maincpu.mq@5020 = 04024210A304A402</action>
            <action>maincpu.mq@5028 = E3105F80A910AF06</action>
            <action>maincpu.mq@5030 = A320A405E4013F96</action>
            <action>maincpu.mq@5038 = 59BF81B100000000</action>
            <!--
            5000 | 96 20    : LDA    $20  // read start button
            5002 | 84 08    : ANDA   #$08
            5004 | 48       : ASLA
            5005 | 48       : ASLA
            5006 | 97 82    : STA    $82
            5008 | 96 1E    : LDA    $1E  // read other inputs
            500A | 84 1F    : ANDA   #$1F
            500C | 9A 82    : ORA    $82
            500E | 91 81    : CMPA   $81
            5010 | 27 27    : BEQ    $5039
            5012 | D6 80    : LDB    $80
            5014 | 81 01    : CMPA   #$01
            5016 | 26 01    : BNE    $5019
            5018 | 5A       : DECB         // decrease code -01
            5019 | 81 02    : CMPA   #$02
            501B | 26 01    : BNE    $501E
            501D | 5C       : INCB         // increase code +01
            501E | 81 08    : CMPA   #$08
            5020 | 26 02    : BNE    $5024
            5022 | C0 10    : SUBB   #$10  // decrease code -10
            5024 | 81 04    : CMPA   #$04
            5026 | 26 02    : BNE    $502A
            5028 | CB 10    : ADDB   #$10  // increase code +10
            502A | D7 80    : STB    $80
            502C | 81 10    : CMPA   #$10
            502E | 27 06    : BEQ    $5036 // play sound
            5030 | 81 20    : CMPA   #$20
            5032 | 26 05    : BNE    $5039
            5034 | C6 01    : LDB    #$01  // stop sound
            5036 | BD 96 59 : JSR    $9659 // send sound code
            5039 | 97 81    : STA    $81
            503B | 39       : RTS
            -->
        </script>
        <script state="run">
            <output format="----- mega zone 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="P1 start : 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@3B80</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@67FF = 02              </action>
            <action>maincpu.mw@ABF5 = 04F3            </action>
            <action>maincpu.mw@ABFE = 9646            </action>
            <action>maincpu.mq@5000 = 0000000000000000</action>
            <action>maincpu.mq@5008 = 0000000000000000</action>
            <action>maincpu.mq@5010 = 0000000000000000</action>
            <action>maincpu.mq@5018 = 0000000000000000</action>
            <action>maincpu.mq@5020 = 0000000000000000</action>
            <action>maincpu.mq@5028 = 0000000000000000</action>
            <action>maincpu.mq@5030 = 0000000000000000</action>
            <action>maincpu.mq@5038 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action> maincpu.mw@AAB5 = AAB7</action> <!-- ram -->
            <action> maincpu.mw@AAED = AAEF</action> <!-- rom -->
            <action>audiocpu.mw@0005 = 020F</action> <!-- rom -->
        </script>
        <script state="off">
            <action> maincpu.mw@AAB5 = B16C</action>
            <action> maincpu.mw@AAED = AFEF</action>
            <action>audiocpu.mw@0005 = 01D7</action>
        </script>
    </cheat>

</mamecheat>
megazonei.xml

Code: Select all

<!-- Mega Zone (program code I) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@80ED = 10</action>
        </script>
        <script state="off">
            <action>maincpu.mb@80ED = 11</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@86E9 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@86E9 = 0F</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@7DF6 = 4E0000F5</action>
        </script>
        <script state="change">
            <action>maincpu.mw@7DF7 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@7DF6 = CA6E86F5</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x04">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x10">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@871C = param</action> <!-- speed -->
            <action>maincpu.mb@87A4 = param</action> <!-- range -->
        </script>
        <script state="off">
            <action>maincpu.mb@871C = 08</action>
            <action>maincpu.mb@87A4 = 09</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@6801 = 00              </action> <!-- enable music -->
            <action>maincpu.mw@ABDD = 0806            </action> <!-- disable next sequence at boot -->
            <action>maincpu.mw@ABE6 = 5000            </action>
            <action>maincpu.mq@5000 = B42006086A6A1582</action>
            <action>maincpu.mq@5008 = BE1E0C1FB2821981</action>
            <action>maincpu.mq@5010 = 05275480A301A401</action>
            <action>maincpu.mq@5018 = 72A902AE01740908</action>
            <action>maincpu.mq@5020 = 04024210A304A402</action>
            <action>maincpu.mq@5028 = E3105F80A910AF06</action>
            <action>maincpu.mq@5030 = A320A405E4013F96</action>
            <action>maincpu.mq@5038 = 45BF81B100000000</action>
            <!--
            5000 | 96 20    : LDA    $20  // read start button
            5002 | 84 08    : ANDA   #$08
            5004 | 48       : ASLA
            5005 | 48       : ASLA
            5006 | 97 82    : STA    $82
            5008 | 96 1E    : LDA    $1E  // read other inputs
            500A | 84 1F    : ANDA   #$1F
            500C | 9A 82    : ORA    $82
            500E | 91 81    : CMPA   $81
            5010 | 27 27    : BEQ    $5039
            5012 | D6 80    : LDB    $80
            5014 | 81 01    : CMPA   #$01
            5016 | 26 01    : BNE    $5019
            5018 | 5A       : DECB         // decrease code -01
            5019 | 81 02    : CMPA   #$02
            501B | 26 01    : BNE    $501E
            501D | 5C       : INCB         // increase code +01
            501E | 81 08    : CMPA   #$08
            5020 | 26 02    : BNE    $5024
            5022 | C0 10    : SUBB   #$10  // decrease code -10
            5024 | 81 04    : CMPA   #$04
            5026 | 26 02    : BNE    $502A
            5028 | CB 10    : ADDB   #$10  // increase code +10
            502A | D7 80    : STB    $80
            502C | 81 10    : CMPA   #$10
            502E | 27 06    : BEQ    $5036 // play sound
            5030 | 81 20    : CMPA   #$20
            5032 | 26 05    : BNE    $5039
            5034 | C6 01    : LDB    #$01  // stop sound
            5036 | BD 96 45 : JSR    $9645 // send sound code
            5039 | 97 81    : STA    $81
            503B | 39       : RTS
            -->
        </script>
        <script state="run">
            <output format="----- mega zone 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="P1 start : 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@3B80</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@6801 = 02              </action>
            <action>maincpu.mw@ABDD = 0EF3            </action>
            <action>maincpu.mw@ABE6 = 9632            </action>
            <action>maincpu.mq@5000 = 0000000000000000</action>
            <action>maincpu.mq@5008 = 0000000000000000</action>
            <action>maincpu.mq@5010 = 0000000000000000</action>
            <action>maincpu.mq@5018 = 0000000000000000</action>
            <action>maincpu.mq@5020 = 0000000000000000</action>
            <action>maincpu.mq@5028 = 0000000000000000</action>
            <action>maincpu.mq@5030 = 0000000000000000</action>
            <action>maincpu.mq@5038 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action> maincpu.mw@AA9D = AA9F</action> <!-- ram -->
            <action> maincpu.mw@AAD5 = AAD7</action> <!-- rom -->
            <action>audiocpu.mw@0005 = 020F</action> <!-- rom -->
        </script>
        <script state="off">
            <action> maincpu.mw@AA9D = B16F</action>
            <action> maincpu.mw@AAD5 = AFF2</action>
            <action>audiocpu.mw@0005 = 01D7</action>
        </script>
    </cheat>

</mamecheat>
megazoneh.xml

Code: Select all

<!-- Mega Zone (program code H) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@80EB = 0E</action>
        </script>
        <script state="off">
            <action>maincpu.mb@80EB = 0F</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@86E7 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@86E7 = 0F</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@7DF4 = EE00005F</action>
        </script>
        <script state="change">
            <action>maincpu.mw@7DF5 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@7DF4 = 6ACE865F</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x04">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x10">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@871A = param</action> <!-- speed -->
            <action>maincpu.mb@87A2 = param</action> <!-- range -->
        </script>
        <script state="off">
            <action>maincpu.mb@871A = 08</action>
            <action>maincpu.mb@87A2 = 09</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@67FF = 00              </action> <!-- enable music -->
            <action>maincpu.mw@ABDF = A806            </action> <!-- disable next sequence at boot -->
            <action>maincpu.mw@ABE8 = 5000            </action>
            <action>maincpu.mq@5000 = B42006086A6A1582</action>
            <action>maincpu.mq@5008 = BE1E0C1FB2821981</action>
            <action>maincpu.mq@5010 = 05275480A301A401</action>
            <action>maincpu.mq@5018 = 72A902AE01740908</action>
            <action>maincpu.mq@5020 = 04024210A304A402</action>
            <action>maincpu.mq@5028 = E3105F80A910AF06</action>
            <action>maincpu.mq@5030 = A320A405E4013F96</action>
            <action>maincpu.mq@5038 = 43BF81B100000000</action>
            <!--
            5000 | 96 20    : LDA    $20  // read start button
            5002 | 84 08    : ANDA   #$08
            5004 | 48       : ASLA
            5005 | 48       : ASLA
            5006 | 97 82    : STA    $82
            5008 | 96 1E    : LDA    $1E  // read other inputs
            500A | 84 1F    : ANDA   #$1F
            500C | 9A 82    : ORA    $82
            500E | 91 81    : CMPA   $81
            5010 | 27 27    : BEQ    $5039
            5012 | D6 80    : LDB    $80
            5014 | 81 01    : CMPA   #$01
            5016 | 26 01    : BNE    $5019
            5018 | 5A       : DECB         // decrease code -01
            5019 | 81 02    : CMPA   #$02
            501B | 26 01    : BNE    $501E
            501D | 5C       : INCB         // increase code +01
            501E | 81 08    : CMPA   #$08
            5020 | 26 02    : BNE    $5024
            5022 | C0 10    : SUBB   #$10  // decrease code -10
            5024 | 81 04    : CMPA   #$04
            5026 | 26 02    : BNE    $502A
            5028 | CB 10    : ADDB   #$10  // increase code +10
            502A | D7 80    : STB    $80
            502C | 81 10    : CMPA   #$10
            502E | 27 06    : BEQ    $5036 // play sound
            5030 | 81 20    : CMPA   #$20
            5032 | 26 05    : BNE    $5039
            5034 | C6 01    : LDB    #$01  // stop sound
            5036 | BD 96 43 : JSR    $9643 // send sound code
            5039 | 97 81    : STA    $81
            503B | 39       : RTS
            -->
        </script>
        <script state="run">
            <output format="----- mega zone 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="P1 start : 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@3B80</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@67FF = 02              </action>
            <action>maincpu.mw@ABDF = AEF3            </action>
            <action>maincpu.mw@ABE8 = 9630            </action>
            <action>maincpu.mq@5000 = 0000000000000000</action>
            <action>maincpu.mq@5008 = 0000000000000000</action>
            <action>maincpu.mq@5010 = 0000000000000000</action>
            <action>maincpu.mq@5018 = 0000000000000000</action>
            <action>maincpu.mq@5020 = 0000000000000000</action>
            <action>maincpu.mq@5028 = 0000000000000000</action>
            <action>maincpu.mq@5030 = 0000000000000000</action>
            <action>maincpu.mq@5038 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action> maincpu.mw@AA9F = AAA1</action> <!-- ram -->
            <action> maincpu.mw@AAD7 = AAD9</action> <!-- rom -->
            <action>audiocpu.mw@0005 = 020F</action> <!-- rom -->
        </script>
        <script state="off">
            <action> maincpu.mw@AA9F = B156</action>
            <action> maincpu.mw@AAD7 = AFD9</action>
            <action>audiocpu.mw@0005 = 01D7</action>
        </script>
    </cheat>

</mamecheat>
megazonea.xml

Code: Select all

<!-- Mega Zone (unknown program code 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@80EB = 0E</action>
        </script>
        <script state="off">
            <action>maincpu.mb@80EB = 0F</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@86E7 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@86E7 = 0F</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@7DF4 = EE00005F</action>
        </script>
        <script state="change">
            <action>maincpu.mw@7DF5 = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@7DF4 = 6ACE865F</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x04">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x10">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@871A = param</action> <!-- speed -->
            <action>maincpu.mb@87A2 = param</action> <!-- range -->
        </script>
        <script state="off">
            <action>maincpu.mb@871A = 08</action>
            <action>maincpu.mb@87A2 = 09</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@67FF = 00              </action> <!-- enable music -->
            <action>maincpu.mw@ABDF = A806            </action> <!-- disable next sequence at boot -->
            <action>maincpu.mw@ABE8 = 5000            </action>
            <action>maincpu.mq@5000 = B42006086A6A1582</action>
            <action>maincpu.mq@5008 = BE1E0C1FB2821981</action>
            <action>maincpu.mq@5010 = 05275480A301A401</action>
            <action>maincpu.mq@5018 = 72A902AE01740908</action>
            <action>maincpu.mq@5020 = 04024210A304A402</action>
            <action>maincpu.mq@5028 = E3105F80A910AF06</action>
            <action>maincpu.mq@5030 = A320A405E4013F96</action>
            <action>maincpu.mq@5038 = 43BF81B100000000</action>
            <!--
            5000 | 96 20    : LDA    $20  // read start button
            5002 | 84 08    : ANDA   #$08
            5004 | 48       : ASLA
            5005 | 48       : ASLA
            5006 | 97 82    : STA    $82
            5008 | 96 1E    : LDA    $1E  // read other inputs
            500A | 84 1F    : ANDA   #$1F
            500C | 9A 82    : ORA    $82
            500E | 91 81    : CMPA   $81
            5010 | 27 27    : BEQ    $5039
            5012 | D6 80    : LDB    $80
            5014 | 81 01    : CMPA   #$01
            5016 | 26 01    : BNE    $5019
            5018 | 5A       : DECB         // decrease code -01
            5019 | 81 02    : CMPA   #$02
            501B | 26 01    : BNE    $501E
            501D | 5C       : INCB         // increase code +01
            501E | 81 08    : CMPA   #$08
            5020 | 26 02    : BNE    $5024
            5022 | C0 10    : SUBB   #$10  // decrease code -10
            5024 | 81 04    : CMPA   #$04
            5026 | 26 02    : BNE    $502A
            5028 | CB 10    : ADDB   #$10  // increase code +10
            502A | D7 80    : STB    $80
            502C | 81 10    : CMPA   #$10
            502E | 27 06    : BEQ    $5036 // play sound
            5030 | 81 20    : CMPA   #$20
            5032 | 26 05    : BNE    $5039
            5034 | C6 01    : LDB    #$01  // stop sound
            5036 | BD 96 43 : JSR    $9643 // send sound code
            5039 | 97 81    : STA    $81
            503B | 39       : RTS
            -->
        </script>
        <script state="run">
            <output format="----- mega zone 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="P1 start : 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@3B80</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@67FF = 02              </action>
            <action>maincpu.mw@ABDF = AEF3            </action>
            <action>maincpu.mw@ABE8 = 9630            </action>
            <action>maincpu.mq@5000 = 0000000000000000</action>
            <action>maincpu.mq@5008 = 0000000000000000</action>
            <action>maincpu.mq@5010 = 0000000000000000</action>
            <action>maincpu.mq@5018 = 0000000000000000</action>
            <action>maincpu.mq@5020 = 0000000000000000</action>
            <action>maincpu.mq@5028 = 0000000000000000</action>
            <action>maincpu.mq@5030 = 0000000000000000</action>
            <action>maincpu.mq@5038 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action> maincpu.mw@AA9F = AAA1</action> <!-- ram -->
            <action> maincpu.mw@AAD7 = AAD9</action> <!-- rom -->
            <action>audiocpu.mw@0005 = 020F</action> <!-- rom -->
        </script>
        <script state="off">
            <action> maincpu.mw@AA9F = B156</action>
            <action> maincpu.mw@AAD7 = AFD9</action>
            <action>audiocpu.mw@0005 = 01D7</action>
        </script>
    </cheat>

</mamecheat>
megazoneb.xml

Code: Select all

<!-- Mega Zone (unknown program code 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@8104 = 27</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8104 = 28</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@8700 = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@8700 = 0F</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@7E0D = E40000FF</action>
        </script>
        <script state="change">
            <action>maincpu.mw@7E0E = param</action>
        </script>
        <script state="off">
            <action>maincpu.md@7E0D = 606486FF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x04">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x0c">03       </item>
            <item value="0x10">04       </item>
            <item value="0x14">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@8733 = param</action> <!-- speed -->
            <action>maincpu.mb@87BB = param</action> <!-- range -->
        </script>
        <script state="off">
            <action>maincpu.mb@8733 = 08</action>
            <action>maincpu.mb@87BB = 09</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@6801 = 00              </action> <!-- enable music -->
            <action>maincpu.mw@ABF4 = 0206            </action> <!-- disable next sequence at boot -->
            <action>maincpu.mw@ABFD = 5000            </action>
            <action>maincpu.mq@5000 = B42006086A6A1582</action>
            <action>maincpu.mq@5008 = BE1E0C1FB2821981</action>
            <action>maincpu.mq@5010 = 05275480A301A401</action>
            <action>maincpu.mq@5018 = 72A902AE01740908</action>
            <action>maincpu.mq@5020 = 04024210A304A402</action>
            <action>maincpu.mq@5028 = E3105F80A910AF06</action>
            <action>maincpu.mq@5030 = A320A405E4013F96</action>
            <action>maincpu.mq@5038 = 5CBF81B100000000</action>
            <!--
            5000 | 96 20    : LDA    $20  // read start button
            5002 | 84 08    : ANDA   #$08
            5004 | 48       : ASLA
            5005 | 48       : ASLA
            5006 | 97 82    : STA    $82
            5008 | 96 1E    : LDA    $1E  // read other inputs
            500A | 84 1F    : ANDA   #$1F
            500C | 9A 82    : ORA    $82
            500E | 91 81    : CMPA   $81
            5010 | 27 27    : BEQ    $5039
            5012 | D6 80    : LDB    $80
            5014 | 81 01    : CMPA   #$01
            5016 | 26 01    : BNE    $5019
            5018 | 5A       : DECB         // decrease code -01
            5019 | 81 02    : CMPA   #$02
            501B | 26 01    : BNE    $501E
            501D | 5C       : INCB         // increase code +01
            501E | 81 08    : CMPA   #$08
            5020 | 26 02    : BNE    $5024
            5022 | C0 10    : SUBB   #$10  // decrease code -10
            5024 | 81 04    : CMPA   #$04
            5026 | 26 02    : BNE    $502A
            5028 | CB 10    : ADDB   #$10  // increase code +10
            502A | D7 80    : STB    $80
            502C | 81 10    : CMPA   #$10
            502E | 27 06    : BEQ    $5036 // play sound
            5030 | 81 20    : CMPA   #$20
            5032 | 26 05    : BNE    $5039
            5034 | C6 01    : LDB    #$01  // stop sound
            5036 | BD 96 5C : JSR    $965C // send sound code
            5039 | 97 81    : STA    $81
            503B | 39       : RTS
            -->
        </script>
        <script state="run">
            <output format="----- mega zone 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="P1 start : 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@3B80</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@6801 = 02              </action>
            <action>maincpu.mw@ABF4 = 04F3            </action>
            <action>maincpu.mw@ABFD = 9649            </action>
            <action>maincpu.mq@5000 = 0000000000000000</action>
            <action>maincpu.mq@5008 = 0000000000000000</action>
            <action>maincpu.mq@5010 = 0000000000000000</action>
            <action>maincpu.mq@5018 = 0000000000000000</action>
            <action>maincpu.mq@5020 = 0000000000000000</action>
            <action>maincpu.mq@5028 = 0000000000000000</action>
            <action>maincpu.mq@5030 = 0000000000000000</action>
            <action>maincpu.mq@5038 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action> maincpu.mw@AAB4 = AAB6</action> <!-- ram -->
            <action> maincpu.mw@AAEC = AAEE</action> <!-- rom -->
            <action>audiocpu.mw@0005 = 020F</action> <!-- rom -->
        </script>
        <script state="off">
            <action> maincpu.mw@AAB4 = B186</action>
            <action> maincpu.mw@AAEC = B009</action>
            <action>audiocpu.mw@0005 = 01D7</action>
        </script>
    </cheat>

</mamecheat>
Post Reply