This forum is for posting M.A.M.E. Work In Progress "Arcade"cheats that are not quite ready for the prime time. If the cheats are buggy or the cheat descriptions are non-standard then please post them here. Help maybe given but there are no guarantees and they will only be added to the cheat file when the cheat file maintainer is happy with them.
jman
Posts: 865 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Fri Mar 25, 2022 1:49 pm
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>
jman
Posts: 865 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Sat Dec 31, 2022 11:24 am
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).
jman
Posts: 865 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Sun Mar 10, 2024 1:50 pm
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>