edf.xml
Code: Select all
<!-- E.D.F. : Earth Defense Force (set 1) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0A4A3 = 62</action> <!-- P1 bullet -->
<action>maincpu.mb@0A4E7 = 1E</action> <!-- P1 enemy -->
<action>maincpu.mb@0A51D = E8</action> <!-- P1 large enemy -->
<action>maincpu.mb@0A553 = B2</action> <!-- P1 boss -->
<action>maincpu.mb@0A7E9 = 1C</action> <!-- P2 bullet -->
<action>maincpu.mb@0A827 = DE</action> <!-- P2 enemy -->
<action>maincpu.mb@0A85D = A8</action> <!-- P2 large enemy -->
<action>maincpu.mb@0A893 = 72</action> <!-- P2 boss -->
<action>maincpu.mb@A0B02 = 60</action> <!-- background -->
</script>
<script state="off">
<action>maincpu.mb@0A4A3 = 64</action>
<action>maincpu.mb@0A4E7 = 20</action>
<action>maincpu.mb@0A51D = EA</action>
<action>maincpu.mb@0A553 = B4</action>
<action>maincpu.mb@0A7E9 = 1E</action>
<action>maincpu.mb@0A827 = E0</action>
<action>maincpu.mb@0A85D = AA</action>
<action>maincpu.mb@0A893 = 74</action>
<action>maincpu.mb@A0B02 = 67</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@D753 = 00</action> <!-- others -->
<action>maincpu.mb@E40B = 00</action> <!-- laser -->
</script>
<script state="off">
<action>maincpu.mb@D753 = 04</action>
<action>maincpu.mb@E40B = 1E</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@C487 = param</action>
</script>
<script state="off">
<action>maincpu.mb@C487 = 02</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x08">02 </item>
<item value="0x10">03 </item>
<item value="0x18">04 </item>
<item value="0x20">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@D7DD = param</action>
</script>
<script state="off">
<action>maincpu.mb@D7DD = 0A</action>
</script>
</cheat>
<cheat desc="bullet speed - sub weapon (test)">
<comment>Also explosion speed for atomic has influence</comment>
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.mq@0D8BA = 4EB9000BF7D04E75</action>
<action>maincpu.mq@BF7D0 = 26730000700048E7</action>
<action>maincpu.mq@BF7D8 = 80104E934CDF0801</action>
<action>maincpu.mq@BF7E0 = 51C8FFF44E75FFFF</action>
<!--
BF7D0 | 2673 0000 : movea.l (A3,D0.w), A3
BF7D4 | 70xx : moveq #$xx, D0
BF7D6 | 48E7 8010 : movem.l D0/A3, -(A7)
BF7DA | 4E93 : jsr (A3)
BF7DC | 4CDF 0801 : movem.l (A7)+, D0/A3
BF7E0 | 51C8 FFF4 : dbra D0, $bf7d6
BF7E4 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@BF7D5 = param</action>
</script>
<script state="off">
<action>maincpu.mq@0D8BA = 267300004E934E75</action>
<action>maincpu.mq@BF7D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF7D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF7E0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="main shot in docking mode">
<script state="on">
<action>maincpu.mw@D75C = 4E71</action>
</script>
<script state="off">
<action>maincpu.mw@D75C = 6756</action>
</script>
</cheat>
<cheat desc="sound test mode (test)">
<!-- many sfxs are endless playing -->
<!-- incorrect sfx stop by stop button (code 0x11 etc) -->
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@00414 = 000BF800 </action>
<action>maincpu.mq@BF800 = 41F90006100043F9</action>
<action>maincpu.mq@BF808 = 000443084EB85488</action>
<action>maincpu.mq@BF810 = 120010285003B200</action>
<action>maincpu.mq@BF818 = 67F20C0000FD6602</action>
<action>maincpu.mq@BF820 = 53500C0000FE6602</action>
<action>maincpu.mq@BF828 = 52500C0000FB6604</action>
<action>maincpu.mq@BF830 = 045000100C0000F7</action>
<action>maincpu.mq@BF838 = 6604065000100C00</action>
<action>maincpu.mq@BF840 = 00EF660232900C00</action>
<action>maincpu.mq@BF848 = 00DF6602425160BC</action>
<!--
BF800 | 41F9 0006 1000 : lea $61000.l, A0 // sound code address
BF806 | 43F9 0004 4308 : lea $44308.l, A1 // sound latch address
BF80C | 4EB8 5488 : jsr $5488.w // interpret input from mcu
BF810 | 1200 : move.b D0, D1
BF812 | 1028 5003 : move.b ($5003,A0), D0 // read input
BF816 | B200 : cmp.b D0, D1
BF818 | 67F2 : beq $bf80c
BF81A | 0C00 00FD : cmpi.b #-$3, D0
BF81E | 6602 : bne $bf822
BF820 | 5350 : subq.w #1, (A0) // decrease code -01
BF822 | 0C00 00FE : cmpi.b #-$2, D0
BF826 | 6602 : bne $bf82a
BF828 | 5250 : addq.w #1, (A0) // increase code +01
BF82A | 0C00 00FB : cmpi.b #-$5, D0
BF82E | 6604 : bne $bf834
BF830 | 0450 0010 : subi.w #$10, (A0) // decrease code -10
BF834 | 0C00 00F7 : cmpi.b #-$9, D0
BF838 | 6604 : bne $bf83e
BF83A | 0650 0010 : addi.w #$10, (A0) // increase code +10
BF83E | 0C00 00EF : cmpi.b #-$11, D0
BF842 | 6602 : bne $bf846
BF844 | 3290 : move.w (A0), (A1) // play sound
BF846 | 0C00 00DF : cmpi.b #-$21, D0
BF84A | 6602 : bne $bf84e
BF84C | 4251 : clr.w (A1) // stop sound
BF84E | 60BC : bra $bf80c
-->
</script>
<script state="run">
<output format="----- e.d.f. sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %04X >>" line="19" align="center" >
<argument>maincpu.pw@61000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@00414 = 0000212A </action>
<action>maincpu.mq@BF800 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF808 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF810 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF818 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF820 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF828 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF830 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF838 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF840 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF848 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
edfa.xml
Code: Select all
<!-- E.D.F. : Earth Defense Force (set 2) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0A437 = 62</action> <!-- P1 bullet -->
<action>maincpu.mb@0A47B = 1E</action> <!-- P1 enemy -->
<action>maincpu.mb@0A4B1 = E8</action> <!-- P1 large enemy -->
<action>maincpu.mb@0A4E7 = B2</action> <!-- P1 boss -->
<action>maincpu.mb@0A77D = 1C</action> <!-- P2 bullet -->
<action>maincpu.mb@0A7BB = DE</action> <!-- P2 enemy -->
<action>maincpu.mb@0A7F1 = A8</action> <!-- P2 large enemy -->
<action>maincpu.mb@0A827 = 72</action> <!-- P2 boss -->
<action>maincpu.mb@A0B02 = 60</action> <!-- background -->
</script>
<script state="off">
<action>maincpu.mb@0A437 = 64</action>
<action>maincpu.mb@0A47B = 20</action>
<action>maincpu.mb@0A4B1 = EA</action>
<action>maincpu.mb@0A4E7 = B4</action>
<action>maincpu.mb@0A77D = 1E</action>
<action>maincpu.mb@0A7BB = E0</action>
<action>maincpu.mb@0A7F1 = AA</action>
<action>maincpu.mb@0A827 = 74</action>
<action>maincpu.mb@A0B02 = 67</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@D6D3 = 00</action> <!-- others -->
<action>maincpu.mb@E38B = 00</action> <!-- laser -->
</script>
<script state="off">
<action>maincpu.mb@D6D3 = 04</action>
<action>maincpu.mb@E38B = 1E</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@C407 = param</action>
</script>
<script state="off">
<action>maincpu.mb@C407 = 02</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x08">02 </item>
<item value="0x10">03 </item>
<item value="0x18">04 </item>
<item value="0x20">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@D75D = param</action>
</script>
<script state="off">
<action>maincpu.mb@D75D = 0A</action>
</script>
</cheat>
<cheat desc="bullet speed - sub weapon (test)">
<comment>Also explosion speed for atomic has influence</comment>
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.mq@0D83A = 4EB9000B0B704E75</action>
<action>maincpu.mq@B0B70 = 26730000700048E7</action>
<action>maincpu.mq@B0B78 = 80104E934CDF0801</action>
<action>maincpu.mq@B0B80 = 51C8FFF44E75FFFF</action>
<!--
B0B70 | 2673 0000 : movea.l (A3,D0.w), A3
B0B74 | 70xx : moveq #$xx, D0
B0B76 | 48E7 8010 : movem.l D0/A3, -(A7)
B0B7A | 4E93 : jsr (A3)
B0B7C | 4CDF 0801 : movem.l (A7)+, D0/A3
B0B80 | 51C8 FFF4 : dbra D0, $bf7d6
B0B84 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@B0B75 = param</action>
</script>
<script state="off">
<action>maincpu.mq@0D83A = 267300004E934E75</action>
<action>maincpu.mq@B0B70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B0B78 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B0B80 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="main shot in docking mode">
<script state="on">
<action>maincpu.mw@D6DC = 4E71</action>
</script>
<script state="off">
<action>maincpu.mw@D6DC = 6756</action>
</script>
</cheat>
<cheat desc="sound test mode (test)">
<!-- many sfxs are endless playing -->
<!-- incorrect sfx stop by stop button (code 0x11 etc) -->
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@00414 = 000B0B90 </action>
<action>maincpu.mq@B0B90 = 41F90006100043F9</action>
<action>maincpu.mq@B0B98 = 000443084EB85488</action>
<action>maincpu.mq@B0BA0 = 120010285003B200</action>
<action>maincpu.mq@B0BA8 = 67F20C0000FD6602</action>
<action>maincpu.mq@B0BB0 = 53500C0000FE6602</action>
<action>maincpu.mq@B0BB8 = 52500C0000FB6604</action>
<action>maincpu.mq@B0BC0 = 045000100C0000F7</action>
<action>maincpu.mq@B0BC8 = 6604065000100C00</action>
<action>maincpu.mq@B0BD0 = 00EF660232900C00</action>
<action>maincpu.mq@B0BD8 = 00DF6602425160BC</action>
<!--
B0B90 | 41F9 0006 1000 : lea $61000.l, A0 // sound code address
B0B96 | 43F9 0004 4308 : lea $44308.l, A1 // sound latch address
B0B9C | 4EB8 5488 : jsr $5488.w // interpret input from mcu
B0BA0 | 1200 : move.b D0, D1
B0BA2 | 1028 5003 : move.b ($5003,A0), D0 // read input
B0BA6 | B200 : cmp.b D0, D1
B0BA8 | 67F2 : beq $bf80c
B0BAA | 0C00 00FD : cmpi.b #-$3, D0
B0BAE | 6602 : bne $bf822
B0BB0 | 5350 : subq.w #1, (A0) // decrease code -01
B0BB2 | 0C00 00FE : cmpi.b #-$2, D0
B0BB6 | 6602 : bne $bf82a
B0BB8 | 5250 : addq.w #1, (A0) // increase code +01
B0BBA | 0C00 00FB : cmpi.b #-$5, D0
B0BBE | 6604 : bne $bf834
B0BC0 | 0450 0010 : subi.w #$10, (A0) // decrease code -10
B0BC4 | 0C00 00F7 : cmpi.b #-$9, D0
B0BC8 | 6604 : bne $bf83e
B0BCA | 0650 0010 : addi.w #$10, (A0) // increase code +10
B0BCE | 0C00 00EF : cmpi.b #-$11, D0
B0BD2 | 6602 : bne $bf846
B0BD4 | 3290 : move.w (A0), (A1) // play sound
B0BD6 | 0C00 00DF : cmpi.b #-$21, D0
B0BDA | 6602 : bne $bf84e
B0BDC | 4251 : clr.w (A1) // stop sound
B0BDE | 60BC : bra $bf80c
-->
</script>
<script state="run">
<output format="----- e.d.f. sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %04X >>" line="19" align="center" >
<argument>maincpu.pw@61000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@00414 = 0000212A </action>
<action>maincpu.mq@B0B90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B0B98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B0BA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B0BA8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B0BB0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B0BB8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B0BC0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B0BC8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B0BD0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B0BD8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
edfu.xml
Code: Select all
<!-- E.D.F. : Earth Defense Force (North America) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0A4A3 = 62</action> <!-- P1 bullet -->
<action>maincpu.mb@0A4E7 = 1E</action> <!-- P1 enemy -->
<action>maincpu.mb@0A51D = E8</action> <!-- P1 large enemy -->
<action>maincpu.mb@0A553 = B2</action> <!-- P1 boss -->
<action>maincpu.mb@0A7E9 = 1C</action> <!-- P2 bullet -->
<action>maincpu.mb@0A827 = DE</action> <!-- P2 enemy -->
<action>maincpu.mb@0A85D = A8</action> <!-- P2 large enemy -->
<action>maincpu.mb@0A893 = 72</action> <!-- P2 boss -->
<action>maincpu.mb@A0B02 = 60</action> <!-- background -->
</script>
<script state="off">
<action>maincpu.mb@0A4A3 = 64</action>
<action>maincpu.mb@0A4E7 = 20</action>
<action>maincpu.mb@0A51D = EA</action>
<action>maincpu.mb@0A553 = B4</action>
<action>maincpu.mb@0A7E9 = 1E</action>
<action>maincpu.mb@0A827 = E0</action>
<action>maincpu.mb@0A85D = AA</action>
<action>maincpu.mb@0A893 = 74</action>
<action>maincpu.mb@A0B02 = 67</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@D753 = 00</action> <!-- others -->
<action>maincpu.mb@E40B = 00</action> <!-- laser -->
</script>
<script state="off">
<action>maincpu.mb@D753 = 04</action>
<action>maincpu.mb@E40B = 1E</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@C487 = param</action>
</script>
<script state="off">
<action>maincpu.mb@C487 = 02</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x08">02 </item>
<item value="0x10">03 </item>
<item value="0x18">04 </item>
<item value="0x20">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@D7DD = param</action>
</script>
<script state="off">
<action>maincpu.mb@D7DD = 0A</action>
</script>
</cheat>
<cheat desc="bullet speed - sub weapon (test)">
<comment>Also explosion speed for atomic has influence</comment>
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.mq@0D8BA = 4EB9000BF7D04E75</action>
<action>maincpu.mq@BF7D0 = 26730000700048E7</action>
<action>maincpu.mq@BF7D8 = 80104E934CDF0801</action>
<action>maincpu.mq@BF7E0 = 51C8FFF44E75FFFF</action>
<!--
BF7D0 | 2673 0000 : movea.l (A3,D0.w), A3
BF7D4 | 70xx : moveq #$xx, D0
BF7D6 | 48E7 8010 : movem.l D0/A3, -(A7)
BF7DA | 4E93 : jsr (A3)
BF7DC | 4CDF 0801 : movem.l (A7)+, D0/A3
BF7E0 | 51C8 FFF4 : dbra D0, $bf7d6
BF7E4 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@BF7D5 = param</action>
</script>
<script state="off">
<action>maincpu.mq@0D8BA = 267300004E934E75</action>
<action>maincpu.mq@BF7D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF7D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF7E0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="main shot in docking mode">
<script state="on">
<action>maincpu.mw@D75C = 4E71</action>
</script>
<script state="off">
<action>maincpu.mw@D75C = 6756</action>
</script>
</cheat>
<cheat desc="sound test mode (test)">
<!-- many sfxs are endless playing -->
<!-- incorrect sfx stop by stop button (code 0x11 etc) -->
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@00414 = 000BF800 </action>
<action>maincpu.mq@BF800 = 41F90006100043F9</action>
<action>maincpu.mq@BF808 = 000443084EB85488</action>
<action>maincpu.mq@BF810 = 120010285003B200</action>
<action>maincpu.mq@BF818 = 67F20C0000FD6602</action>
<action>maincpu.mq@BF820 = 53500C0000FE6602</action>
<action>maincpu.mq@BF828 = 52500C0000FB6604</action>
<action>maincpu.mq@BF830 = 045000100C0000F7</action>
<action>maincpu.mq@BF838 = 6604065000100C00</action>
<action>maincpu.mq@BF840 = 00EF660232900C00</action>
<action>maincpu.mq@BF848 = 00DF6602425160BC</action>
<!--
BF800 | 41F9 0006 1000 : lea $61000.l, A0 // sound code address
BF806 | 43F9 0004 4308 : lea $44308.l, A1 // sound latch address
BF80C | 4EB8 5488 : jsr $5488.w // interpret input from mcu
BF810 | 1200 : move.b D0, D1
BF812 | 1028 5003 : move.b ($5003,A0), D0 // read input
BF816 | B200 : cmp.b D0, D1
BF818 | 67F2 : beq $bf80c
BF81A | 0C00 00FD : cmpi.b #-$3, D0
BF81E | 6602 : bne $bf822
BF820 | 5350 : subq.w #1, (A0) // decrease code -01
BF822 | 0C00 00FE : cmpi.b #-$2, D0
BF826 | 6602 : bne $bf82a
BF828 | 5250 : addq.w #1, (A0) // increase code +01
BF82A | 0C00 00FB : cmpi.b #-$5, D0
BF82E | 6604 : bne $bf834
BF830 | 0450 0010 : subi.w #$10, (A0) // decrease code -10
BF834 | 0C00 00F7 : cmpi.b #-$9, D0
BF838 | 6604 : bne $bf83e
BF83A | 0650 0010 : addi.w #$10, (A0) // increase code +10
BF83E | 0C00 00EF : cmpi.b #-$11, D0
BF842 | 6602 : bne $bf846
BF844 | 3290 : move.w (A0), (A1) // play sound
BF846 | 0C00 00DF : cmpi.b #-$21, D0
BF84A | 6602 : bne $bf84e
BF84C | 4251 : clr.w (A1) // stop sound
BF84E | 60BC : bra $bf80c
-->
</script>
<script state="run">
<output format="----- e.d.f. sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %04X >>" line="19" align="center" >
<argument>maincpu.pw@61000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@00414 = 0000212A </action>
<action>maincpu.mq@BF800 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF808 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF810 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF818 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF820 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF828 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF830 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF838 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF840 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF848 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
edfbl.xml
Code: Select all
<!-- E.D.F. : Earth Defense Force (bootleg) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0A4A3 = 62</action> <!-- P1 bullet -->
<action>maincpu.mb@0A4E7 = 1E</action> <!-- P1 enemy -->
<action>maincpu.mb@0A51D = E8</action> <!-- P1 large enemy -->
<action>maincpu.mb@0A553 = B2</action> <!-- P1 boss -->
<action>maincpu.mb@0A7E9 = 1C</action> <!-- P2 bullet -->
<action>maincpu.mb@0A827 = DE</action> <!-- P2 enemy -->
<action>maincpu.mb@0A85D = A8</action> <!-- P2 large enemy -->
<action>maincpu.mb@0A893 = 72</action> <!-- P2 boss -->
<action>maincpu.mb@A0B02 = 60</action> <!-- background -->
</script>
<script state="off">
<action>maincpu.mb@0A4A3 = 64</action>
<action>maincpu.mb@0A4E7 = 20</action>
<action>maincpu.mb@0A51D = EA</action>
<action>maincpu.mb@0A553 = B4</action>
<action>maincpu.mb@0A7E9 = 1E</action>
<action>maincpu.mb@0A827 = E0</action>
<action>maincpu.mb@0A85D = AA</action>
<action>maincpu.mb@0A893 = 74</action>
<action>maincpu.mb@A0B02 = 67</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@D753 = 00</action> <!-- others -->
<action>maincpu.mb@E40B = 00</action> <!-- laser -->
</script>
<script state="off">
<action>maincpu.mb@D753 = 04</action>
<action>maincpu.mb@E40B = 1E</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@C487 = param</action>
</script>
<script state="off">
<action>maincpu.mb@C487 = 02</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x08">02 </item>
<item value="0x10">03 </item>
<item value="0x18">04 </item>
<item value="0x20">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@D7DD = param</action>
</script>
<script state="off">
<action>maincpu.mb@D7DD = 0A</action>
</script>
</cheat>
<cheat desc="bullet speed - sub weapon (test)">
<comment>Also explosion speed for atomic has influence</comment>
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.mq@0D8BA = 4EB9000BF7D04E75</action>
<action>maincpu.mq@BF7D0 = 26730000700048E7</action>
<action>maincpu.mq@BF7D8 = 80104E934CDF0801</action>
<action>maincpu.mq@BF7E0 = 51C8FFF44E75FFFF</action>
<!--
BF7D0 | 2673 0000 : movea.l (A3,D0.w), A3
BF7D4 | 70xx : moveq #$xx, D0
BF7D6 | 48E7 8010 : movem.l D0/A3, -(A7)
BF7DA | 4E93 : jsr (A3)
BF7DC | 4CDF 0801 : movem.l (A7)+, D0/A3
BF7E0 | 51C8 FFF4 : dbra D0, $bf7d6
BF7E4 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@BF7D5 = param</action>
</script>
<script state="off">
<action>maincpu.mq@0D8BA = 267300004E934E75</action>
<action>maincpu.mq@BF7D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF7D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF7E0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="main shot in docking mode">
<script state="on">
<action>maincpu.mw@D75C = 4E71</action>
</script>
<script state="off">
<action>maincpu.mw@D75C = 6756</action>
</script>
</cheat>
<cheat desc="sound test mode (test)">
<!-- many sfxs are endless playing -->
<!-- incorrect sfx stop by stop button (code 0x11 etc) -->
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@00414 = 000BF800 </action>
<action>maincpu.mq@BF800 = 41F90006100043F9</action>
<action>maincpu.mq@BF808 = 000443084EB85488</action>
<action>maincpu.mq@BF810 = 120010285003B200</action>
<action>maincpu.mq@BF818 = 67F20C0000FD6602</action>
<action>maincpu.mq@BF820 = 53500C0000FE6602</action>
<action>maincpu.mq@BF828 = 52500C0000FB6604</action>
<action>maincpu.mq@BF830 = 045000100C0000F7</action>
<action>maincpu.mq@BF838 = 6604065000100C00</action>
<action>maincpu.mq@BF840 = 00EF660232900C00</action>
<action>maincpu.mq@BF848 = 00DF6602425160BC</action>
<!--
BF800 | 41F9 0006 1000 : lea $61000.l, A0 // sound code address
BF806 | 43F9 0004 4308 : lea $44308.l, A1 // sound latch address
BF80C | 4EB8 5488 : jsr $5488.w // interpret input from mcu
BF810 | 1200 : move.b D0, D1
BF812 | 1028 5003 : move.b ($5003,A0), D0 // read input
BF816 | B200 : cmp.b D0, D1
BF818 | 67F2 : beq $bf80c
BF81A | 0C00 00FD : cmpi.b #-$3, D0
BF81E | 6602 : bne $bf822
BF820 | 5350 : subq.w #1, (A0) // decrease code -01
BF822 | 0C00 00FE : cmpi.b #-$2, D0
BF826 | 6602 : bne $bf82a
BF828 | 5250 : addq.w #1, (A0) // increase code +01
BF82A | 0C00 00FB : cmpi.b #-$5, D0
BF82E | 6604 : bne $bf834
BF830 | 0450 0010 : subi.w #$10, (A0) // decrease code -10
BF834 | 0C00 00F7 : cmpi.b #-$9, D0
BF838 | 6604 : bne $bf83e
BF83A | 0650 0010 : addi.w #$10, (A0) // increase code +10
BF83E | 0C00 00EF : cmpi.b #-$11, D0
BF842 | 6602 : bne $bf846
BF844 | 3290 : move.w (A0), (A1) // play sound
BF846 | 0C00 00DF : cmpi.b #-$21, D0
BF84A | 6602 : bne $bf84e
BF84C | 4251 : clr.w (A1) // stop sound
BF84E | 60BC : bra $bf80c
-->
</script>
<script state="run">
<output format="----- e.d.f. sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %04X >>" line="19" align="center" >
<argument>maincpu.pw@61000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@00414 = 0000212A </action>
<action>maincpu.mq@BF800 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF808 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF810 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF818 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF820 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF828 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF830 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF838 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF840 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@BF848 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
edfp.xml
Code: Select all
<!-- E.D.F. : Earth Defense Force (Japan, prototype) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@0C6B7 = 62</action> <!-- P1 bullet -->
<action>maincpu.mb@0C6FB = 1E</action> <!-- P1 enemy -->
<action>maincpu.mb@0C731 = E8</action> <!-- P1 large enemy -->
<action>maincpu.mb@0C767 = B2</action> <!-- P1 boss -->
<action>maincpu.mb@0C9FD = 1C</action> <!-- P2 bullet -->
<action>maincpu.mb@0CA3B = DE</action> <!-- P2 enemy -->
<action>maincpu.mb@0CA71 = A8</action> <!-- P2 large enemy -->
<action>maincpu.mb@0CAA7 = 72</action> <!-- P2 boss -->
<action>maincpu.mb@50BE8 = 60</action> <!-- background -->
</script>
<script state="off">
<action>maincpu.mb@0C6B7 = 64</action>
<action>maincpu.mb@0C6FB = 20</action>
<action>maincpu.mb@0C731 = EA</action>
<action>maincpu.mb@0C767 = B4</action>
<action>maincpu.mb@0C9FD = 1E</action>
<action>maincpu.mb@0CA3B = E0</action>
<action>maincpu.mb@0CA71 = AA</action>
<action>maincpu.mb@0CAA7 = 74</action>
<action>maincpu.mb@50BE8 = 67</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@0F7DB = 00</action> <!-- others -->
<action>maincpu.mb@10489 = 00</action> <!-- laser -->
</script>
<script state="off">
<action>maincpu.mb@0F7DB = 04</action>
<action>maincpu.mb@10489 = 1E</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@E513 = param</action>
</script>
<script state="off">
<action>maincpu.mb@E513 = 02</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x08">02 </item>
<item value="0x10">03 </item>
<item value="0x18">04 </item>
<item value="0x20">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@F865 = param</action>
</script>
<script state="off">
<action>maincpu.mb@F865 = 0A</action>
</script>
</cheat>
<cheat desc="bullet speed - sub weapon (test)">
<comment>Also explosion speed for atomic has influence</comment>
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.mq@0F942 = 4EB9000600004E75</action>
<action>maincpu.mq@60000 = 26730000700048E7</action>
<action>maincpu.mq@60008 = 80104E934CDF0801</action>
<action>maincpu.mq@60010 = 51C8FFF44E75FFFF</action>
<!--
60000 | 2673 0000 : movea.l (A3,D0.w), A3
60004 | 70xx : moveq #$xx, D0
60006 | 48E7 8010 : movem.l D0/A3, -(A7)
6000A | 4E93 : jsr (A3)
6000C | 4CDF 0801 : movem.l (A7)+, D0/A3
61000 | 51C8 FFF4 : dbra D0, $60006
61004 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@60005 = param</action>
</script>
<script state="off">
<action>maincpu.mq@0F942 = 267300004E934E75</action>
<action>maincpu.mq@60000 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@60008 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@60010 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="main shot in docking mode">
<script state="on">
<action>maincpu.mw@F7E4 = 4E71</action>
</script>
<script state="off">
<action>maincpu.mw@F7E4 = 6756</action>
</script>
</cheat>
<cheat desc="sound test mode (test)">
<!-- many sfxs are endless playing -->
<!-- incorrect sfx stop by stop button (code 0x11 etc) -->
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@00414 = 00060020 </action>
<action>maincpu.mq@60020 = 41F9000F100043F9</action>
<action>maincpu.mq@60028 = 0008430812001029</action>
<action>maincpu.mq@60030 = BCFBB20067F60C00</action>
<action>maincpu.mq@60038 = 00FD660253500C00</action>
<action>maincpu.mq@60040 = 00FE660252500C00</action>
<action>maincpu.mq@60048 = 00FB660404500010</action>
<action>maincpu.mq@60050 = 0C0000F766040650</action>
<action>maincpu.mq@60058 = 00100C0000EF6602</action>
<action>maincpu.mq@60060 = 32900C0000DF6602</action>
<action>maincpu.mq@60068 = 425160C000000000</action>
<!--
60020 | 41F9 000F 1000 : lea $f1000.l, A0 // sound code address
60026 | 43F9 0008 4308 : lea $84308.l, A1 // sound latch address
6002C | 1200 : move.b D0, D1
6002E | 1029 BCFB : move.b (-$4305,A1), D0 // read input ($80003)
60032 | B200 : cmp.b D0, D1
60034 | 67F6 : beq $6002c
60036 | 0C00 00FD : cmpi.b #-$3, D0
6003A | 6602 : bne $6003e
6003C | 5350 : subq.w #1, (A0) // decrease code -01
6003E | 0C00 00FE : cmpi.b #-$2, D0
60042 | 6602 : bne $60046
60044 | 5250 : addq.w #1, (A0) // increase code +01
60046 | 0C00 00FB : cmpi.b #-$5, D0
6004A | 6604 : bne $60050
6004C | 0450 0010 : subi.w #$10, (A0) // decrease code -10
60050 | 0C00 00F7 : cmpi.b #-$9, D0
60054 | 6604 : bne $6005a
60056 | 0650 0010 : addi.w #$10, (A0) // increase code +10
6005A | 0C00 00EF : cmpi.b #-$11, D0
6005E | 6602 : bne $60062
60060 | 3290 : move.w (A0), (A1) // play sound
60062 | 0C00 00DF : cmpi.b #-$21, D0
60066 | 6602 : bne $6006a
60068 | 4251 : clr.w (A1) // stop sound
6006A | 60C0 : bra $6002c
-->
</script>
<script state="run">
<output format="----- e.d.f. sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %04X >>" line="19" align="center" >
<argument>maincpu.pw@F1000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@00414 = 0000312E </action>
<action>maincpu.mq@60020 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@60028 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@60030 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@60038 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@60040 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@60048 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@60050 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@60058 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@60060 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@60068 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
- "no hit" : Added codes for player 2 which are missing in previous post.
- "auto fire" : Added code for laser.
- "bullet speed - vulcan/atomic/homing" : Merged these codes into new "bullet speed - sub weapon (test)".
- "main shot in docking mode" : Added new. You can shoot main shot in docking with sub units.