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: 845 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Sat Jan 15, 2022 1:38 pm
Code: Select all
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mq@0e08c = 080008004e716706</action> <!-- cart -->
<!--
0e08c | 0800 0800 : btst #$0,D0
0e090 | 4e71 : nop
0e092 | 6706 : beq $e09a
-->
<action>maincpu.mq@101a4 = 080008004e716704</action> <!-- normal -->
<!--
101a4 | 0800 0800 : btst #$0,D0
101a8 | 4e71 : nop
101aa | 6704 : beq $101b0
-->
</script>
<script state="off">
<action>maincpu.mq@0e08c = 0200000353006606</action>
<action>maincpu.mq@101a4 = 0200000353006604</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mb@fdd3 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@fdd3 = 01</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@1012d = param</action>
</script>
<script state="off">
<action>maincpu.mb@1012d = 3e</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@0a268 = 000181b0</action>
<action>maincpu.mq@181b0 = 41f9000611004280</action>
<action>maincpu.mq@181b8 = 1401123900078001</action>
<action>maincpu.mq@181c0 = b40167f40c0100fb</action>
<action>maincpu.mq@181c8 = 660253100c0100f7</action>
<action>maincpu.mq@181d0 = 660252100c0100fd</action>
<action>maincpu.mq@181d8 = 6604041000100c01</action>
<action>maincpu.mq@181e0 = 00fe660406100010</action>
<action>maincpu.mq@181e8 = 0c0100ef66041010</action>
<action>maincpu.mq@181f0 = 600a0c0100df660a</action>
<action>maincpu.mq@181f8 = 103c003f13c00007</action>
<action>maincpu.mq@18200 = c00b60b4ffffffff</action>
<!--
181b0 | 41f9 0006 1100 : lea $61100.l,A0 // sound code address
181b6 | 4280 : clr.l D0
181b8 | 1401 : move.b D1,D2
181ba | 1239 0007 8001 : move.b $78001.l,D1 // read input
181c0 | b401 : cmp.b D1,D2
181c2 | 67f4 : beq $181b8
181c4 | 0c01 00fb : cmpi.b #-$5,D1
181c8 | 6602 : bne $181cc
181ca | 5310 : subq.b #1,(A0) // decrease code -01
181cc | 0c01 00f7 : cmpi.b #-$9,D1
181d0 | 6602 : bne $181d4
181d2 | 5210 : addq.b #1,(A0) // increase code +01
181d4 | 0c01 00fd : cmpi.b #-$3,D1
181d8 | 6604 : bne $181de
181da | 0410 0010 : subi.b #$10,(A0) // decrease code -10
181de | 0c01 00fe : cmpi.b #-$2,D1
181e2 | 6604 : bne $181e8
181e4 | 0610 0010 : addi.b #$10,(A0) // increase code +10
181e8 | 0c01 00ef : cmpi.b #-$11,D1
181ec | 6604 : bne $181f2
181ee | 1010 : move.b (A0),D0 // play sound
181f0 | 600a : bra $181fc
181f2 | 0c01 00df : cmpi.b #-$21,D1
181f6 | 660a : bne $18202
181f8 | 103c 003f : move.b #$3f,D0 // stop sound
181fc | 13c0 0007 c00b : move.b D0,$7c00b.l // send sound code
18202 | 60b4 : bra $181b8
-->
</script>
<script state="run">
<output format="----- kozure ookami 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@61100</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@0a268 = 0000b208</action>
<action>maincpu.mq@181b0 = ffffffffffffffff</action>
<action>maincpu.mq@181b8 = ffffffffffffffff</action>
<action>maincpu.mq@181c0 = ffffffffffffffff</action>
<action>maincpu.mq@181c8 = ffffffffffffffff</action>
<action>maincpu.mq@181d0 = ffffffffffffffff</action>
<action>maincpu.mq@181d8 = ffffffffffffffff</action>
<action>maincpu.mq@181e0 = ffffffffffffffff</action>
<action>maincpu.mq@181e8 = ffffffffffffffff</action>
<action>maincpu.mq@181f0 = ffffffffffffffff</action>
<action>maincpu.mq@181f8 = ffffffffffffffff</action>
<action>maincpu.mq@18200 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@4b34 = 001a</action>
</script>
<script state="off">
<action>maincpu.mw@4b34 = 02fa</action>
</script>
</cheat>
jman
Posts: 845 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Thu Nov 30, 2023 9:28 am
Code: Select all
<!-- Kozure Ookami (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@070A0 = 71EE</action> <!-- red ninja explosion -->
<action>maincpu.mw@07550 = 6706</action> <!-- statue -->
<action>maincpu.mw@13270 = 6706</action> <!-- gun man -->
<action>maincpu.mw@132EC = 670C</action> <!-- bullet -->
<action>maincpu.mw@132F8 = 674C</action> <!-- bullet -->
<action>maincpu.mw@13420 = 6710</action> <!-- attack -->
<action>maincpu.mw@13430 = 671A</action> <!-- attack -->
<action>maincpu.mw@15010 = 0012</action> <!-- knife -->
<action>maincpu.mw@15020 = 0002</action> <!-- knife -->
<action>maincpu.mw@17DDA = 0012</action> <!-- fireball -->
<action>maincpu.mw@17DEA = 0002</action> <!-- fireball -->
</script>
<script state="off">
<action>maincpu.mw@070A0 = 731E</action>
<action>maincpu.mw@07550 = 671A</action>
<action>maincpu.mw@13270 = 670C</action>
<action>maincpu.mw@132EC = 6712</action>
<action>maincpu.mw@132F8 = 6752</action>
<action>maincpu.mw@13420 = 6716</action>
<action>maincpu.mw@13430 = 6706</action>
<action>maincpu.mw@15010 = 0018</action>
<action>maincpu.mw@15020 = 0058</action>
<action>maincpu.mw@17DDA = 0018</action>
<action>maincpu.mw@17DEA = 0038</action>
</script>
</cheat>
<cheat desc="no fall down">
<script state="on">
<action>maincpu.mw@FC9E = FCB8</action> <!-- platform -->
<action>maincpu.mw@FCA2 = FCB8</action> <!-- platform -->
<action>maincpu.mw@FCA6 = FCB8</action> <!-- water -->
</script>
<script state="off">
<action>maincpu.mw@FC9E = FA98</action>
<action>maincpu.mw@FCA2 = FA92</action>
<action>maincpu.mw@FCA6 = FA4C</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<!-- cart -->
<action>maincpu.mq@E08C = 080008004E716706</action> <!-- btst #$0,D0 / nop / beq $e09a -->
<!-- normal -->
<action>maincpu.mq@101A4 = 080008004E716704</action> <!-- btst #$0,D0 / nop / beq $101b0 -->
</script>
<script state="off">
<action>maincpu.mq@0E08C = 0200000353006606</action>
<action>maincpu.mq@101A4 = 0200000353006604</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0002">02 </item>
<item value="0x0003">03 </item>
<item value="0x0004">04 </item>
<item value="0x0005">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@10464 = 4EF900018200206D</action> <!-- down -->
<action>maincpu.mq@104AE = 4EB9000182084E71</action> <!-- left scroll -->
<action>maincpu.mq@104DC = 4EB90001823291AE</action> <!-- left -->
<action>maincpu.mq@10526 = 4EB9000182104E71</action> <!-- right scroll -->
<action>maincpu.mq@10556 = 4EB900018232D1AE</action> <!-- right -->
<action>maincpu.mq@105BC = 4EF9000182184A39</action> <!-- up -->
<action>maincpu.mq@18200 = 611E916E000E4E75</action>
<action>maincpu.mq@18208 = 612891A8002C4E75</action>
<action>maincpu.mq@18210 = 6120D1A8002C4E75</action>
<action>maincpu.mq@18218 = 6106D16E000E4E75</action>
<action>maincpu.mq@18220 = 303C00000C6E0004</action>
<action>maincpu.mq@18228 = 002E6604303C0001</action>
<action>maincpu.mq@18230 = 4E75203C00000000</action>
<action>maincpu.mq@18238 = 0C6E0004002E6606</action>
<action>maincpu.mq@18240 = 203C000100004E75</action>
<!--
18200 | 611E : bsr $18220 // down
18202 | 916E 000E : sub.w D0, ($e,A6)
18206 | 4E75 : rts
18208 | 6128 : bsr $18232 // left scroll
1820A | 91A8 002C : sub.l D0, ($2c,A0)
1820E | 4E75 : rts
18210 | 6120 : bsr $18232 // right scroll
18212 | D1A8 002C : add.l D0, ($2c,A0)
18216 | 4E75 : rts
18218 | 6106 : bsr $18220 // up
1821A | D16E 000E : add.w D0, ($e,A6)
1821E | 4E75 : rts
18220 | 303C xxxx : move.w #$xx, D0
18224 | 0C6E 0004 002E : cmpi.w #$4, ($2e,A6)
1822A | 6604 : bne $18230
1822C | 303C 0001 : move.w #$1, D0
18230 | 4E75 : rts
18232 | 203C xxxx xxxx : move.l #$xxxx, D0
18238 | 0C6E 0004 002E : cmpi.w #$4, ($2e,A6)
1823E | 6606 : bne $18246
18240 | 203C 0001 0000 : move.l #$10000, D0
18246 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@18222 = param</action>
<action>maincpu.mw@18234 = param</action>
</script>
<script state="off">
<action>maincpu.mq@10464 = 536E000E4E75206D</action>
<action>maincpu.mq@104AE = 2028002891A8002C</action>
<action>maincpu.mq@104DC = 20390006355A91AE</action>
<action>maincpu.mq@10526 = 20280028D1A8002C</action>
<action>maincpu.mq@10556 = 20390006355AD1AE</action>
<action>maincpu.mq@105BC = 526E000E4E754A39</action>
<action>maincpu.mq@18200 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@18208 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@18210 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@18218 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@18220 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@18228 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@18230 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@18238 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@18240 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mb@FDD3 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@FDD3 = 01</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x20">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@1012D = param</action>
</script>
<script state="off">
<action>maincpu.mb@1012D = 3E</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@0A268 = 000181B0 </action>
<action>maincpu.mq@181B0 = 41F90006100043F9</action>
<action>maincpu.mq@181B8 = 0007C00B12001029</action>
<action>maincpu.mq@181C0 = BFF6B20067F60C00</action>
<action>maincpu.mq@181C8 = 00FB660253100C01</action>
<action>maincpu.mq@181D0 = 00F7660252100C01</action>
<action>maincpu.mq@181D8 = 00FD660404100010</action>
<action>maincpu.mq@181E0 = 0C0000FE66040610</action>
<action>maincpu.mq@181E8 = 00100C0000EF6602</action>
<action>maincpu.mq@181F0 = 12900C0000DF6604</action>
<action>maincpu.mq@181F8 = 12BC003F60BEFFFF</action>
<!--
181B0 | 41F9 0006 1000 : lea $61000.l, A0 // sound code address
181B6 | 43F9 0007 C00B : lea $7c00b.l, A1 // sound latch address
181BC | 1200 : move.b D0, D1
181BE | 1029 BFF6 : move.b (-$400a,A1), D0 // read input ($78001)
181C2 | B200 : cmp.b D0, D1
181C4 | 67F6 : beq $181bc
181C6 | 0C00 00FB : cmpi.b #-$5, D0
181CA | 6602 : bne $181ce
181CC | 5310 : subq.b #1, (A0) // decrease code -01
181CE | 0C01 00F7 : cmpi.b #-$9, D1
181D2 | 6602 : bne $181d6
181D4 | 5210 : addq.b #1, (A0) // increase code +01
181D6 | 0C01 00FD : cmpi.b #-$3, D1
181DA | 6604 : bne $181e0
181DC | 0410 0010 : subi.b #$10, (A0) // decrease code -10
181E0 | 0C00 00FE : cmpi.b #-$2, D0
181E4 | 6604 : bne $181ea
181E6 | 0610 0010 : addi.b #$10, (A0) // increase code +10
181EA | 0C00 00EF : cmpi.b #-$11, D0
181EE | 6602 : bne $181f2
181F0 | 1290 : move.b (A0), (A1) // play sound
181F2 | 0C00 00DF : cmpi.b #-$21, D0
181F6 | 6604 : bne $181fc
181F8 | 12BC 003F : move.b #$3f, (A1) // stop sound
181FC | 60BE : bra $181bc
-->
</script>
<script state="run">
<output format="----- kozure ookami 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@61000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@0A268 = 0000B208 </action>
<action>maincpu.mq@181B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@181B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@181C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@181C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@181D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@181D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@181E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@181E8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@181F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@181F8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@4B34 = 001A</action>
</script>
<script state="off">
<action>maincpu.mw@4B34 = 02FA</action>
</script>
</cheat>
</mamecheat>
"no hit" : Rewritten routine. This is effective for some objects (eg statue) which collide with player character in "invinciblity".
"no fall down", "player speed" : Added new.
"sound test mode" : Rewritten routine.