Page 1 of 1
[megazone] Mega Zone
Posted: Fri Mar 25, 2022 1:49 pm
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="<< sound code %2.2X >>" 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>
[megazone] Mega Zone (update)
Posted: Sat Dec 31, 2022 11:24 am
by jman
Code: Select all
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" 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="<< sound code %2.2X >>" 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).
[megazone]+ Mega Zone
Posted: Sun Mar 10, 2024 1:50 pm
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 "skip ram/rom check" 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="<< sound code %02X >>" 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 "skip ram/rom check" 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="<< sound code %02X >>" 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 "skip ram/rom check" 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="<< sound code %02X >>" 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 "skip ram/rom check" 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="<< sound code %02X >>" 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 "skip ram/rom check" 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="<< sound code %02X >>" 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 "skip ram/rom check" 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="<< sound code %02X >>" 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>