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: 1316 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times
Post
by jman » Thu Apr 28, 2022 12:13 pm
bowmen will be added on 0.243.
Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@62dd = c9</action> <!-- P2 -->
<action>maincpu.mb@6350 = c9</action> <!-- P1 -->
</script>
<script state="off">
<action>maincpu.mb@62dd = 3a</action>
<action>maincpu.mb@6350 = 3a</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mw@4fbb = 4fbd</action> <!-- P2 punch -->
<action>maincpu.mw@4f77 = 4f79</action> <!-- P2 weapon -->
<action>maincpu.mw@52d6 = 52d8</action> <!-- P1 punch -->
<action>maincpu.mw@5292 = 5294</action> <!-- P1 weapon -->
</script>
<script state="off">
<action>maincpu.mw@4fbb = 4e04</action>
<action>maincpu.mw@4f77 = 4dfc</action>
<action>maincpu.mw@52d6 = 511f</action>
<action>maincpu.mw@5292 = 5117</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mb@4fc5 = 0x0b</action> <!-- P2 normal -->
<action>maincpu.mb@4fff = 0x0b</action> <!-- P2 upper -->
<action>maincpu.mb@52e0 = 0x0b</action> <!-- P1 normal -->
<action>maincpu.mb@531a = 0x0b</action> <!-- P1 upper -->
</script>
<script state="off">
<action>maincpu.mb@4fc5 = 01</action>
<action>maincpu.mb@4fff = 01</action>
<action>maincpu.mb@52e0 = 01</action>
<action>maincpu.mb@531a = 01</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x7f">01 (slow)</item>
<item value="0x5f">02 </item>
<item value="0x3f">03 </item>
<item value="0x1f">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0fa9 = param</action>
</script>
<script state="off">
<action>maincpu.mb@0fa9 = 38</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0849 = 0a0e</action>
</script>
<script state="off">
<action>maincpu.mw@0849 = 093f</action>
</script>
</cheat>
jman
Posts: 1316 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times
Post
by jman » Mon May 16, 2022 9:36 am
Code: Select all
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@086d = 367d90c3</action>
<action>maincpu.mq@7d90 = 2847b801dbe10021</action>
<action>maincpu.mq@7d98 = fefe350120fdfefa</action>
<action>maincpu.mq@7da0 = 3e0420fbfe340120</action>
<action>maincpu.mq@7da8 = 3e0620f7fe0618f0</action>
<action>maincpu.mq@7db0 = 207ffe0f18778610</action>
<action>maincpu.mq@7db8 = 0420dffe06187e03</action>
<action>maincpu.mq@7dc0 = ffffcd1800d3073e</action>
<!--
7d90 | 21 00 e1 : ld hl,$E100 // sound code address
7d93 | db 01 : in a,($01) // read input
7d95 | b8 : cp b
7d96 | 47 : ld b,a
7d97 | 28 fa : jr z,$7D93
7d99 | fe fd : cp $FD
7d9b | 20 01 : jr nz,$7D9E
7d9d | 35 : dec (hl) // decrease code -01
7d9e | fe fe : cp $FE
7da0 | 20 01 : jr nz,$7DA3
7da2 | 34 : inc (hl) // increase code +01
7da3 | fe fb : cp $FB
7da5 | 20 04 : jr nz,$7DAB
7da7 | 3e f0 : ld a,$F0 // decrease code -10
7da9 | 18 06 : jr $7DB1
7dab | fe f7 : cp $F7
7dad | 20 06 : jr nz,$7DB5
7daf | 3e 10 : ld a,$10
7db1 | 86 : add a,(hl) // increase code +10
7db2 | 77 : ld (hl),a
7db3 | 18 0f : jr $7DC4
7db5 | fe 7f : cp $7F
7db7 | 20 03 : jr nz,$7DBC
7db9 | 7e : ld a,(hl) // play sound
7dba | 18 06 : jr $7DC2
7dbc | fe df : cp $DF
7dbe | 20 04 : jr nz,$7DC4
7dc0 | 3e 07 : ld a,$07 // stop sound
7dc2 | d3 00 : out ($00),a
7dc4 | 18 cd : jr $7D93
-->
</script>
<script state="run">
<output format="----- bowmen 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@e100</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@086d = 36e1cc21</action>
<action>maincpu.mq@7d90 = 000000000000000</action>
<action>maincpu.mq@7d98 = 000000000000000</action>
<action>maincpu.mq@7da0 = 000000000000000</action>
<action>maincpu.mq@7da8 = 000000000000000</action>
<action>maincpu.mq@7db0 = 000000000000000</action>
<action>maincpu.mq@7db8 = 000000000000000</action>
<action>maincpu.mq@7dc0 = 000000000000000</action>
</script>
</cheat>
jman
Posts: 1316 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times
Post
by jman » Sun Dec 01, 2024 11:46 pm
bowmen.xml
Code: Select all
<!-- Bowmen -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@62DD = C9</action> <!-- 2P -->
<action>maincpu.mb@6350 = C9</action> <!-- 1P -->
</script>
<script state="off">
<action>maincpu.mb@62DD = 3A</action>
<action>maincpu.mb@6350 = 3A</action>
</script>
</cheat>
<cheat desc="walk through wall">
<script state="on">
<!-- 2P -->
<action>maincpu.mb@4DB8 = A1</action>
<action>maincpu.mb@4DDF = CF</action>
<!-- 1P -->
<action>maincpu.mb@50D3 = CF</action>
<action>maincpu.mb@50FA = 66</action>
</script>
<script state="off">
<action>maincpu.mb@4DB8 = 40</action>
<action>maincpu.mb@4DDF = D7</action>
<action>maincpu.mb@50D3 = 6E</action>
<action>maincpu.mb@50FA = 05</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mw@4FBB = 4FBD</action> <!-- 2P punch -->
<action>maincpu.mw@4F77 = 4F79</action> <!-- 2P weapon -->
<action>maincpu.mw@52D6 = 52D8</action> <!-- 1P punch -->
<action>maincpu.mw@5292 = 5294</action> <!-- 1P weapon -->
</script>
<script state="off">
<action>maincpu.mw@4FBB = 4E04</action>
<action>maincpu.mw@4F77 = 4DFC</action>
<action>maincpu.mw@52D6 = 511F</action>
<action>maincpu.mw@5292 = 5117</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0004">02 </item>
<item value="0x0006">03 </item>
<item value="0x0008">04 </item>
<item value="0x000a">05 (fast)</item>
</parameter>
<script state="change">
<!-- 2P -->
<action>maincpu.mw@4D3E = -param</action> <!-- down -->
<action>maincpu.mw@4D43 = -param</action> <!-- down -->
<action>maincpu.mw@4D59 = param</action> <!-- right -->
<action>maincpu.mw@4D5E = param</action> <!-- right -->
<action>maincpu.mw@4D74 = -param</action> <!-- left -->
<action>maincpu.mw@4D79 = -param</action> <!-- left -->
<action>maincpu.mw@4D8A = param</action> <!-- up -->
<action>maincpu.mw@4D8F = param</action> <!-- up -->
<!-- 1P -->
<action>maincpu.mw@5059 = -param</action> <!-- down -->
<action>maincpu.mw@505E = -param</action> <!-- down -->
<action>maincpu.mw@5074 = param</action> <!-- right -->
<action>maincpu.mw@5079 = param</action> <!-- right -->
<action>maincpu.mw@508F = -param</action> <!-- left -->
<action>maincpu.mw@5094 = -param</action> <!-- left -->
<action>maincpu.mw@50A5 = param</action> <!-- up -->
<action>maincpu.mw@50AA = param</action> <!-- up -->
</script>
<script state="off">
<action>maincpu.mw@4D3E = FFFA</action>
<action>maincpu.mw@4D43 = FFFE</action>
<action>maincpu.mw@4D59 = 0006</action>
<action>maincpu.mw@4D5E = 0002</action>
<action>maincpu.mw@4D74 = FFFA</action>
<action>maincpu.mw@4D79 = FFFE</action>
<action>maincpu.mw@4D8A = 0006</action>
<action>maincpu.mw@4D8F = 0002</action>
<action>maincpu.mw@5059 = FFFA</action>
<action>maincpu.mw@505E = FFFE</action>
<action>maincpu.mw@5074 = 0006</action>
<action>maincpu.mw@5079 = 0002</action>
<action>maincpu.mw@508F = FFFA</action>
<action>maincpu.mw@5094 = FFFE</action>
<action>maincpu.mw@50A5 = 0006</action>
<action>maincpu.mw@50AA = 0002</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mb@4FC5 = B</action> <!-- 2P normal -->
<action>maincpu.mb@4FFF = B</action> <!-- 2P upper -->
<action>maincpu.mb@52E0 = B</action> <!-- 1P normal -->
<action>maincpu.mb@531A = B</action> <!-- 1P upper -->
</script>
<script state="off">
<action>maincpu.mb@4FC5 = 01</action>
<action>maincpu.mb@4FFF = 01</action>
<action>maincpu.mb@52E0 = 01</action>
<action>maincpu.mb@531A = 01</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x7f">01 (slow)</item>
<item value="0x5f">02 </item>
<item value="0x3f">03 </item>
<item value="0x1f">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0FA9 = param</action>
</script>
<script state="off">
<action>maincpu.mb@0FA9 = 38</action>
</script>
</cheat>
<cheat desc="easy level finish">
<comment>press start button to finish current level</comment>
<script state="on">
<action>maincpu.md@4CD1 = A77DD0CD </action>
<action>maincpu.mq@7DD0 = C0E21B3A7FCB00DB</action>
<action>maincpu.mq@7DD8 = 06C811D22021C0A7</action>
<action>maincpu.mq@7DE0 = FEF0E60C28A77E23</action>
<action>maincpu.mq@7DE8 = 00362B0036063080</action>
<action>maincpu.mq@7DF0 = CDE920B37A1B2323</action>
<action>maincpu.mq@7DF8 = 0000000000C955B1</action>
<!--
7DD0 | DB 00 : in a,($00)
7DD2 | CB 7F : bit 7,a // check 1P start button
7DD4 | 3A 1B E2 : ld a,($E21B)
7DD7 | C0 : ret nz
7DD8 | A7 : and a
7DD9 | C0 : ret nz
7DDA | 21 20 D2 : ld hl,$D220 // clear all blocks
7DDD | 11 C8 06 : ld de,$06C8
7DE0 | 23 : inc hl
7DE1 | 7E : ld a,(hl)
7DE2 | A7 : and a
7DE3 | 28 0C : jr z,$7DF1
7DE5 | E6 F0 : and $F0
7DE7 | FE 80 : cp $80
7DE9 | 30 06 : jr nc,$7DF1
7DEB | 36 00 : ld (hl),$00
7DED | 2B : dec hl
7DEE | 36 00 : ld (hl),$00
7DF0 | 23 : inc hl
7DF1 | 23 : inc hl
7DF2 | 1B : dec de
7DF3 | 7A : ld a,d
7DF4 | B3 : or e
7DF5 | 20 E9 : jr nz,$7DE0
7DF7 | CD B1 55 : call $55B1
7DFA | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@4CD1 = A7E21B3A </action>
<action>maincpu.mq@7DD0 = 0000000000000000</action>
<action>maincpu.mq@7DD8 = 0000000000000000</action>
<action>maincpu.mq@7DE0 = 0000000000000000</action>
<action>maincpu.mq@7DE8 = 0000000000000000</action>
<action>maincpu.mq@7DF0 = 0000000000000000</action>
<action>maincpu.mq@7DF8 = 0000000000000000</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@086D = 367D90C3 </action>
<action>maincpu.mq@7D90 = 2847B801DBE10021</action>
<action>maincpu.mq@7D98 = FEFE350120FDFEFA</action>
<action>maincpu.mq@7DA0 = 3E0420FBFE340120</action>
<action>maincpu.mq@7DA8 = 3E0520F7FE0618F0</action>
<action>maincpu.mq@7DB0 = 03207FFE78778610</action>
<action>maincpu.mq@7DB8 = 3E0420DFFE06187E</action>
<action>maincpu.mq@7DC0 = 000000CE1800D307</action>
<!--
7D90 | 21 00 E1 : ld hl,$E100 // sound code address
7D93 | DB 01 : in a,($01) // read input
7D95 | B8 : cp b
7D96 | 47 : ld b,a
7D97 | 28 FA : jr z,$7D93
7D99 | FE FD : cp $FD
7D9B | 20 01 : jr nz,$7D9E
7D9D | 35 : dec (hl) // decrease code -01
7D9E | FE FE : cp $FE
7DA0 | 20 01 : jr nz,$7DA3
7DA2 | 34 : inc (hl) // increase code +01
7DA3 | FE FB : cp $FB
7DA5 | 20 04 : jr nz,$7DAB
7DA7 | 3E F0 : ld a,$F0 // decrease code -10
7DA9 | 18 06 : jr $7DB1
7DAB | FE F7 : cp $F7
7DAD | 20 05 : jr nz,$7DB4
7DAF | 3E 10 : ld a,$10 // increase code +10
7DB1 | 86 : add a,(hl)
7DB2 | 77 : ld (hl),a
7DB3 | 78 : ld a,b
7DB4 | FE 7F : cp $7F
7DB6 | 20 03 : jr nz,$7DBB
7DB8 | 7E : ld a,(hl) // play sound
7DB9 | 18 06 : jr $7DC1
7DBB | FE DF : cp $DF
7DBD | 20 04 : jr nz,$7DC3
7DBF | 3E 07 : ld a,$07 // stop sound
7DC1 | D3 00 : out ($00),a // send sound code
7DC3 | 18 CE : jr $7D93
-->
</script>
<script state="run">
<output format="----- 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 %02X >>" line="19" align="center" >
<argument>maincpu.pb@E100</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@086D = 36E1CC21 </action>
<action>maincpu.mq@7D90 = 000000000000000</action>
<action>maincpu.mq@7D98 = 000000000000000</action>
<action>maincpu.mq@7DA0 = 000000000000000</action>
<action>maincpu.mq@7DA8 = 000000000000000</action>
<action>maincpu.mq@7DB0 = 000000000000000</action>
<action>maincpu.mq@7DB8 = 000000000000000</action>
<action>maincpu.mq@7DC0 = 000000000000000</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@0849 = 0A0E</action>
</script>
<script state="off">
<action>maincpu.mw@0849 = 093F</action>
</script>
</cheat>
</mamecheat>
"walk through wall" and "player speed" : Added new.
"easy level finish" : Added new. You can finish curret level when you press 1P start button.