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: 844 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Thu Nov 04, 2021 9:58 am
Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@4b8a = 66ee</action> <!-- enemy -->
<action>maincpu.mw@50f0 = 0002</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mw@4b8a = 33fc</action>
<action>maincpu.mw@50f0 = 0020</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mw@43c8 = 0002</action> <!-- red -->
<action>maincpu.mw@445e = 0002</action> <!-- blue -->
<action>maincpu.mw@4894 = 0002</action> <!-- green -->
</script>
<script state="off">
<action>maincpu.mw@43c8 = 0492</action>
<action>maincpu.mw@445e = 03fc</action>
<action>maincpu.mw@4894 = ffc6</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x08" step="0x01" />
<script state="on">
<action>maincpu.md@3ef2 = 303c0000</action> <!-- up -->
<action>maincpu.md@3f58 = 303c0000</action> <!-- right -->
<action>maincpu.md@3f8e = 303c0000</action> <!-- down -->
<action>maincpu.md@3ff4 = 303c0000</action> <!-- left -->
</script>
<script state="change">
<action>maincpu.mb@3ef5 = param</action>
<action>maincpu.mb@3f5b = param</action>
<action>maincpu.mb@3f91 = param</action>
<action>maincpu.mb@3ff7 = param</action>
</script>
<script state="off">
<action>maincpu.md@3ef2 = 302b0004</action>
<action>maincpu.md@3f58 = 302b000a</action>
<action>maincpu.md@3f8e = 302b0004</action>
<action>maincpu.md@3ff4 = 302b000a</action>
</script>
</cheat>
<cheat desc="bullet speed - red">
<parameter>
<item value="0x08">01 (slow)</item>
<item value="0x10">02 </item>
<item value="0x18">03 </item>
<item value="0x20">04 </item>
<item value="0x28">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@03312 = 4eb900028600202a</action>
<action>maincpu.mq@28600 = 202a000a4840303c</action>
<action>maincpu.mq@28608 = 0008484028804e75</action>
<!--
28600 | 202a 000a : move.l ($a,A2),D0
28604 | 4840 : swap D0
28606 | 303c 00xx : move.w #$xx,D0
2860a | 4840 : swap D0
2860c | 2880 : move.l D0,(A4)
2860e | 4e75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@28609 = param</action>
</script>
<script state="off">
<action>maincpu.mq@03312 = 202a000a2880202a</action>
<action>maincpu.mq@28600 = ffffffffffffffff</action>
<action>maincpu.mq@28608 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="bullet speed - blue">
<parameter>
<item value="0x08">01 (slow)</item>
<item value="0x10">02 </item>
<item value="0x18">03 </item>
<item value="0x20">04 </item>
<item value="0x28">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@033bc = 4eb900028610202a</action>
<action>maincpu.mq@28610 = 202a000a4840303c</action>
<action>maincpu.mq@28618 = 0008484028804e75</action>
<!--
28610 | 202a 000a : move.l ($a,A2),D0
28614 | 4840 : swap D0
28616 | 303c 00xx : move.w #$xx,D0
2861a | 4840 : swap D0
2861c | 2880 : move.l D0,(A4)
2861e | 4e75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@28619 = param</action>
</script>
<script state="off">
<action>maincpu.mq@033bc = 202a000a2880202a</action>
<action>maincpu.mq@28610 = ffffffffffffffff</action>
<action>maincpu.mq@28618 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="bullet speed - green">
<parameter>
<item value="0x08">01 (slow)</item>
<item value="0x10">02 </item>
<item value="0x18">03 </item>
<item value="0x20">04 </item>
<item value="0x28">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@037bc = 4eb900028620202a</action>
<action>maincpu.mq@28620 = 202a000a4840303c</action>
<action>maincpu.mq@28628 = 0008484028804e75</action>
<!--
28620 | 202a 000a : move.l ($a,A2),D0
28624 | 4840 : swap D0
28626 | 303c 00xx : move.w #$xx,D0
2862a | 4840 : swap D0
2862c | 2880 : move.l D0,(A4)
2862e | 4e75 : rts
-->
</script>
<script state="change">
<action>maincpu.mb@28629 = param</action>
</script>
<script state="off">
<action>maincpu.mq@037bc = 202a000a2880202a</action>
<action>maincpu.mq@28620 = ffffffffffffffff</action>
<action>maincpu.mq@28628 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mq@05de2 = 4ef9000286307208</action>
<action>maincpu.mq@28630 = 41f9000d10004280</action>
<action>maincpu.mq@28638 = 1401123900080005</action>
<action>maincpu.mq@28640 = b40167f40c0100fd</action>
<action>maincpu.mq@28648 = 660253100c0100fe</action>
<action>maincpu.mq@28650 = 660252100c0100fb</action>
<action>maincpu.mq@28658 = 6604041000100c01</action>
<action>maincpu.mq@28660 = 00f7660406100010</action>
<action>maincpu.mq@28668 = 0c0100ef66041010</action>
<action>maincpu.mq@28670 = 60080c0100df6608</action>
<action>maincpu.mq@28678 = 420033c000080012</action>
<action>maincpu.mq@28680 = 60b6ffffffffffff</action>
<!--
28630 | 41f9 000d 1000 : lea $d1000.l,A0 // sound code address
28636 | 4280 : clr.l D0
28638 | 1401 : move.b D1,D2
2863a | 1239 0008 0005 : move.b $80005.l,D1 // read input
28640 | b401 : cmp.b D1,D2
28642 | 67f4 : beq $28638
28644 | 0c01 00fd : cmpi.b #-$3,D1
28648 | 6602 : bne $2864c
2864a | 5310 : subq.b #1,(A0) // decrease code -01
2864c | 0c01 00fe : cmpi.b #-$2,D1
28650 | 6602 : bne $28654
28652 | 5210 : addq.b #1,(A0) // increase code +01
28654 | 0c01 00fb : cmpi.b #-$5,D1
28658 | 6604 : bne $2865e
2865a | 0410 0010 : subi.b #$10,(A0) // decrease code -10
2865e | 0c01 00f7 : cmpi.b #-$9,D1
28662 | 6604 : bne $28668
28664 | 0610 0010 : addi.b #$10,(A0) // increase code +10
28668 | 0c01 00ef : cmpi.b #-$11,D1
2866c | 6604 : bne $28672
2866e | 1010 : move.b (A0),D0 // play sound
28670 | 6008 : bra $2867a
28672 | 0c01 00df : cmpi.b #-$21,D1
28676 | 6608 : bne $28680
28678 | 4200 : clr.b D0 // stop sound
2867a | 33c0 0008 0012 : move.w D0,$80012.l // send sound code
28680 | 60b6 : bra $28638
-->
</script>
<script state="run">
<output format="----- super-x 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="up : increase code +10" line="13" align="center" />
<output format="down : decrease 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 %2.2X >>" line="19" align="center">
<argument>maincpu.pb@d1000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@05de2 = 41f9000d04807208</action>
<action>maincpu.mq@28630 = ffffffffffffffff</action>
<action>maincpu.mq@28638 = ffffffffffffffff</action>
<action>maincpu.mq@28640 = ffffffffffffffff</action>
<action>maincpu.mq@28648 = ffffffffffffffff</action>
<action>maincpu.mq@28650 = ffffffffffffffff</action>
<action>maincpu.mq@28658 = ffffffffffffffff</action>
<action>maincpu.mq@28660 = ffffffffffffffff</action>
<action>maincpu.mq@28668 = ffffffffffffffff</action>
<action>maincpu.mq@28670 = ffffffffffffffff</action>
<action>maincpu.mq@28678 = ffffffffffffffff</action>
<action>maincpu.mq@28680 = ffffffffffffffff</action>
</script>
</cheat>
jman
Posts: 844 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Fri Oct 13, 2023 10:40 am
superx.xml
Code: Select all
<!-- Super-X (NTC) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@4B8A = 60E2</action> <!-- enemy -->
<action>maincpu.mw@50F0 = 0002</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mw@4B8A = 33FC</action>
<action>maincpu.mw@50F0 = 0020</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mw@43C8 = 0002</action> <!-- red -->
<action>maincpu.mw@445E = 0002</action> <!-- blue -->
<action>maincpu.mw@47E2 = 0002</action> <!-- super power-up -->
<action>maincpu.mw@4894 = 0002</action> <!-- green -->
</script>
<script state="off">
<action>maincpu.mw@43C8 = 0492</action>
<action>maincpu.mw@445E = 03FC</action>
<action>maincpu.mw@47E2 = 0078</action>
<action>maincpu.mw@4894 = FFC6</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0002">02 </item>
<item value="0x0004">03 </item>
<item value="0x0006">04 </item>
<item value="0x0008">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mw@3EF2 = 303C</action> <!-- up -->
<action>maincpu.mw@3F58 = 303C</action> <!-- right -->
<action>maincpu.mw@3F8E = 303C</action> <!-- down -->
<action>maincpu.mw@3FF4 = 303C</action> <!-- left -->
</script>
<script state="change">
<action>maincpu.mw@3EF4 = param</action>
<action>maincpu.mw@3F5A = param</action>
<action>maincpu.mw@3F90 = param</action>
<action>maincpu.mw@3FF6 = param</action>
</script>
<script state="off">
<action>maincpu.md@3EF2 = 302B0004</action>
<action>maincpu.md@3F58 = 302B000A</action>
<action>maincpu.md@3F8E = 302B0004</action>
<action>maincpu.md@3FF4 = 302B000A</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x0008">01 (slow)</item>
<item value="0x0010">02 </item>
<item value="0x0018">03 </item>
<item value="0x0020">04 </item>
<item value="0x0028">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@03312 = 4EB900028600202A</action> <!-- red -->
<action>maincpu.mq@033BC = 4EB900028600202A</action> <!-- blue -->
<action>maincpu.mq@037BC = 4EB900028600202A</action> <!-- green -->
<action>maincpu.mq@28600 = 202A000A4840303C</action>
<action>maincpu.mq@28608 = 0008484028804E75</action>
<!--
28600 | 202A 000A : move.l ($a,A2),D0
28604 | 4840 : swap D0
28606 | 303C xxxx : move.w #$xx,D0
2860A | 4840 : swap D0
2860C | 2880 : move.l D0,(A4)
2860E | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@28608 = param</action>
</script>
<script state="off">
<action>maincpu.mq@03312 = 202A000A2880202A</action>
<action>maincpu.mq@033BC = 202A000A2880202A</action>
<action>maincpu.mq@037BC = 202A000A2880202A</action>
<action>maincpu.mq@28600 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28608 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mq@05DE2 = 4EF9000286107208</action>
<action>maincpu.mq@28610 = 41F9000D000043F9</action>
<action>maincpu.mq@28618 = 0008001312001039</action>
<action>maincpu.mq@28620 = 00080005B20067F4</action>
<action>maincpu.mq@28628 = 0C0000FD66025310</action>
<action>maincpu.mq@28630 = 0C0000FE66025210</action>
<action>maincpu.mq@28638 = 0C0000FB66040410</action>
<action>maincpu.mq@28640 = 00100C0000F76604</action>
<action>maincpu.mq@28648 = 061000100C0000EF</action>
<action>maincpu.mq@28650 = 660212900C0000DF</action>
<action>maincpu.mq@28658 = 6602421160BEFFFF</action>
<!--
28610 | 41F9 000D 0000 : lea $d0000.l,A0 // sound code address
28616 | 43F9 0008 0013 : lea $80013.l,A1 // sound latch address
2861C | 1200 : move.b D0,D1
2861E | 1039 0008 0005 : move.b $80005.l,D0 // read input
28624 | B200 : cmp.b D0,D1
28626 | 67F4 : beq $2861c
28628 | 0C00 00FD : cmpi.b #-$3,D0
2862C | 6602 : bne $28630
2862E | 5310 : subq.b #1,(A0) // decrease code -01
28630 | 0C00 00FE : cmpi.b #-$2,D0
28634 | 6602 : bne $28638
28636 | 5210 : addq.b #1,(A0) // increase code +01
28638 | 0C00 00FB : cmpi.b #-$5,D0
2863C | 6604 : bne $28642
2863E | 0410 0010 : subi.b #$10,(A0) // decrease code -10
28642 | 0C00 00F7 : cmpi.b #-$9,D0
28646 | 6604 : bne $2864c
28648 | 0610 0010 : addi.b #$10,(A0) // increase code +10
2864C | 0C00 00EF : cmpi.b #-$11,D0
28650 | 6602 : bne $28654
28652 | 1290 : move.b (A0),(A1) // play sound
28654 | 0C00 00DF : cmpi.b #-$21,D0
28658 | 6602 : bne $2865c
2865A | 4211 : clr.b (A1) // stop sound
2865C | 60BE : bra $2861c
-->
</script>
<script state="run">
<output format="----- super-x 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@D0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@05DE2 = 41F9000D04807208</action>
<action>maincpu.mq@28610 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28618 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28620 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28628 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28630 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28638 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28640 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28648 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28650 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28658 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
superxm.xml
Code: Select all
<!-- Super-X (Mitchell) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@4B84 = 66E2</action> <!-- enemy -->
<action>maincpu.mw@50EA = 0002</action> <!-- bullet -->
</script>
<script state="off">
<action>maincpu.mw@4B84 = 33FC</action>
<action>maincpu.mw@50EA = 0020</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mw@43C2 = 0002</action> <!-- red -->
<action>maincpu.mw@4458 = 0002</action> <!-- blue -->
<action>maincpu.mw@47DC = 0002</action> <!-- super power-up -->
<action>maincpu.mw@488E = 0002</action> <!-- green -->
</script>
<script state="off">
<action>maincpu.mw@43C2 = 0492</action>
<action>maincpu.mw@4458 = 03FC</action>
<action>maincpu.mw@47DC = 0078</action>
<action>maincpu.mw@488E = FFC6</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.mw@3EEC = 303C</action> <!-- up -->
<action>maincpu.mw@3F52 = 303C</action> <!-- right -->
<action>maincpu.mw@3F88 = 303C</action> <!-- down -->
<action>maincpu.mw@3FEE = 303C</action> <!-- left -->
</script>
<script state="change">
<action>maincpu.mw@3EEE = param</action>
<action>maincpu.mw@3F54 = param</action>
<action>maincpu.mw@3F8A = param</action>
<action>maincpu.mw@3FF0 = param</action>
</script>
<script state="off">
<action>maincpu.md@3EEC = 302B0004</action>
<action>maincpu.md@3F52 = 302B000A</action>
<action>maincpu.md@3F88 = 302B0004</action>
<action>maincpu.md@3FEE = 302B000A</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x0008">01 (slow)</item>
<item value="0x0010">02 </item>
<item value="0x0018">03 </item>
<item value="0x0020">04 </item>
<item value="0x0028">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@0330C = 4EB900028600202A</action> <!-- red -->
<action>maincpu.mq@033B6 = 4EB900028600202A</action> <!-- blue -->
<action>maincpu.mq@037B6 = 4EB900028600202A</action> <!-- green -->
<action>maincpu.mq@28600 = 202A000A4840303C</action>
<action>maincpu.mq@28608 = 0008484028804E75</action>
<!--
28600 | 202A 000A : move.l ($a,A2),D0
28604 | 4840 : swap D0
28606 | 303C xxxx : move.w #$xx,D0
2860A | 4840 : swap D0
2860C | 2880 : move.l D0,(A4)
2860E | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@28608 = param</action>
</script>
<script state="off">
<action>maincpu.mq@0330C = 202A000A2880202A</action>
<action>maincpu.mq@033B6 = 202A000A2880202A</action>
<action>maincpu.mq@037B6 = 202A000A2880202A</action>
<action>maincpu.mq@28600 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28608 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mq@05DDC = 4EF9000286107208</action>
<action>maincpu.mq@28610 = 41F9000D000043F9</action>
<action>maincpu.mq@28618 = 0008001312001039</action>
<action>maincpu.mq@28620 = 00080005B20067F4</action>
<action>maincpu.mq@28628 = 0C0000FD66025310</action>
<action>maincpu.mq@28630 = 0C0000FE66025210</action>
<action>maincpu.mq@28638 = 0C0000FB66040410</action>
<action>maincpu.mq@28640 = 00100C0000F76604</action>
<action>maincpu.mq@28648 = 061000100C0000EF</action>
<action>maincpu.mq@28650 = 660212900C0000DF</action>
<action>maincpu.mq@28658 = 6602421160BEFFFF</action>
<!--
28610 | 41F9 000D 0000 : lea $d0000.l,A0 // sound code address
28616 | 43F9 0008 0013 : lea $80013.l,A1 // sound latch address
2861C | 1200 : move.b D0,D1
2861E | 1039 0008 0005 : move.b $80005.l,D0 // read input
28624 | B200 : cmp.b D0,D1
28626 | 67F4 : beq $2861c
28628 | 0C00 00FD : cmpi.b #-$3,D0
2862C | 6602 : bne $28630
2862E | 5310 : subq.b #1,(A0) // decrease code -01
28630 | 0C00 00FE : cmpi.b #-$2,D0
28634 | 6602 : bne $28638
28636 | 5210 : addq.b #1,(A0) // increase code +01
28638 | 0C00 00FB : cmpi.b #-$5,D0
2863C | 6604 : bne $28642
2863E | 0410 0010 : subi.b #$10,(A0) // decrease code -10
28642 | 0C00 00F7 : cmpi.b #-$9,D0
28646 | 6604 : bne $2864c
28648 | 0610 0010 : addi.b #$10,(A0) // increase code +10
2864C | 0C00 00EF : cmpi.b #-$11,D0
28650 | 6602 : bne $28654
28652 | 1290 : move.b (A0),(A1) // play sound
28654 | 0C00 00DF : cmpi.b #-$21,D0
28658 | 6602 : bne $2865c
2865A | 4211 : clr.b (A1) // stop sound
2865C | 60BE : bra $2861c
-->
</script>
<script state="run">
<output format="----- super-x 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@D0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@05DDC = 41F9000D04807208</action>
<action>maincpu.mq@28610 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28618 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28620 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28628 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28630 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28638 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28640 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28648 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28650 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@28658 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>