This forum is for posting M.A.M.E. arcade cheats. Requests will be fulfilled here....but please keep the requests to the requests forum.
jman
Posts: 845 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Sun Jan 23, 2022 2:48 am
bkungfu is added on 0.240.
Code: Select all
<cheat desc="infinite credit">
<script state="run">
<action>maincpu.pb@e020 = 99</action>
</script>
</cheat>
<cheat desc="infinite time">
<comment>turn it off at the end of the floor</comment>
<script state="run">
<action>maincpu.pw@e03c = 2000</action>
</script>
</cheat>
<cheat desc="infinite life">
<script state="run">
<action>maincpu.pw@e0bf = 63</action>
</script>
</cheat>
<cheat desc="infinite energy">
<comment>turn it off at the end of the floor</comment>
<script state="run">
<action>maincpu.pw@e160 = 4000</action>
</script>
</cheat>
<cheat desc="1 hit to kill boss">
<comment>not work at floor 3</comment>
<script state="run">
<action>maincpu.pb@e170 = 00</action>
</script>
</cheat>
<cheat desc="start floor">
<parameter min="0x01" max="0x08" step="0x01" />
<script state="run">
<action condition="(maincpu.pb@e0bd == 00) and (maincpu.pb@e0bb == 00)">maincpu.pb@e0bd = param - 1</action>
</script>
</cheat>
Basic RAM cheats only (credit, time, life, energy, 1hit kill, starting floor). "Invincibility" is in DIP switch menu but it is not "no hit".
EDIT : added "infinite time". renamed to "bkungfu".
jman
Posts: 845 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Mon Jan 31, 2022 9:54 am
Code: Select all
<cheat desc="no hit (test)">
<script state="on">
<action>maincpu.mw@0a97 = c9af</action> <!-- objects -->
<action>maincpu.mw@17c4 = 17c6</action> <!-- boss dash attack -->
</script>
<script state="off">
<action>maincpu.mw@0a97 = 5eeb</action>
<action>maincpu.mw@17c4 = 18f5</action>
</script>
</cheat>
<cheat desc="auto fire (test)">
<script state="on">
<action>maincpu.mw@19a3 = b790</action>
<action>maincpu.mw@19f5 = b790</action>
<action>maincpu.mw@1a4e = b790</action>
<action>maincpu.mw@1a8b = b790</action>
<action>maincpu.mw@1b46 = b790</action>
<action>maincpu.mq@b790 = e6e0233a471728cd</action>
<action>maincpu.mq@b798 = ffffffffc947b0a0</action>
<!--
b790 | cd 28 17 : call $1728
b793 | 47 : ld b,a
b794 | 3a 23 e0 : ld a,($E023)
b797 | e6 a0 : and $A0
b799 | b0 : or b
b79a | 47 : ld b,a
b79b | c9 : ret
-->
</script>
<script state="off">
<action>maincpu.mw@19a3 = 1728</action>
<action>maincpu.mw@19f5 = 1728</action>
<action>maincpu.mw@1a4e = 1728</action>
<action>maincpu.mw@1a8b = 1728</action>
<action>maincpu.mw@1b46 = 1728</action>
<action>maincpu.mq@b790 = ffffffffffffffff</action>
<action>maincpu.mq@b798 = ffffffffffffffff</action>
</script>
</cheat>
ROM codes are wip. Required more test.
jman
Posts: 845 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Sat Feb 05, 2022 10:50 am
Code: Select all
<cheat desc="sound test mode (test)">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@037d = b7a0</action>
<action>maincpu.mq@b7a0 = 01dbe100210404cd</action>
<action>maincpu.mq@b7a8 = 0120fdfefa2847b8</action>
<action>maincpu.mq@b7b0 = 7ffe340120fefe35</action>
<action>maincpu.mq@b7b8 = 20dffe05187e0320</action>
<action>maincpu.mq@b7c0 = ffdf180113cdaf04</action>
<!--
b7a0 | cd 04 04 : call $0404 // screen refresh
b7a3 | 21 00 e1 : ld hl,$E100 // sound code address
b7a6 | db 01 : in a,($01) // read input
b7a8 | b8 : cp b
b7a9 | 47 : ld b,a
b7aa | 28 fa : jr z,$B7A6
b7ac | fe fd : cp $FD
b7ae | 20 01 : jr nz,$B7B1
b7b0 | 35 : dec (hl) // decrease code
b7b1 | fe fe : cp $FE
b7b3 | 20 01 : jr nz,$B7B6
b7b5 | 34 : inc (hl) // increase code
b7b6 | fe 7f : cp $7F
b7b8 | 20 03 : jr nz,$B7BD
b7ba | 7e : ld a,(hl) // play sound
b7bb | 18 05 : jr $B7C2
b7bd | fe df : cp $DF
b7bf | 20 04 : jr nz,$B7C5
b7c1 | af : xor a // stop sound
b7c2 | cd 13 01 : call $0113 // send sound code
b7c5 | 18 df : jr $B7A6
-->
</script>
<script state="run">
<output format="----- beyond kung-fu 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="button 2 : 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@e100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@037d = 0404</action>
<action>maincpu.mq@b7a0 = ffffffffffffffff</action>
<action>maincpu.mq@b7a8 = ffffffffffffffff</action>
<action>maincpu.mq@b7b0 = ffffffffffffffff</action>
<action>maincpu.mq@b7b8 = ffffffffffffffff</action>
<action>maincpu.mq@b7c0 = ffffffffffffffff</action>
</script>
</cheat>
leo_cor3
Posts: 1 Joined: Tue Apr 04, 2023 3:49 pm
Post
by leo_cor3 » Tue Apr 04, 2023 3:55 pm
The emulation does not display the background due to the missing MCU that has not been dumped. This MCU was reportedly used as an anti-piracy protection method. Is it possible to apply a cheat so that the game ignores the missing MCU and starts displaying the background?
Thank's!
jman
Posts: 845 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Thu Dec 21, 2023 10:10 am
Code: Select all
<!-- Beyond Kung-Fu (location test) -->
<mamecheat version="1">
<cheat desc="no hit (test)">
<script state="on">
<action>maincpu.mw@0A97 = C9AF</action> <!-- objects -->
<action>maincpu.mw@17C4 = 17C6</action> <!-- dash attack (level 5 boss) -->
</script>
<script state="off">
<action>maincpu.mw@0A97 = 5EEB</action>
<action>maincpu.mw@17C4 = 18F5</action>
</script>
</cheat>
<cheat desc="auto fire (test)">
<script state="on">
<action>maincpu.mw@19A3 = B790 </action>
<action>maincpu.mw@19F5 = B790 </action>
<action>maincpu.mw@1A4E = B790 </action>
<action>maincpu.mw@1A8B = B790 </action>
<action>maincpu.mw@1B46 = B790 </action>
<action>maincpu.mq@B790 = E6E0233A471728CD</action>
<action>maincpu.mq@B798 = FFFFFFFFC947B0A0</action>
<!--
b790 | cd 28 17 : call $1728
b793 | 47 : ld b,a
b794 | 3a 23 e0 : ld a,($E023)
b797 | e6 a0 : and $A0
b799 | b0 : or b
b79a | 47 : ld b,a
b79b | c9 : ret
-->
</script>
<script state="off">
<action>maincpu.mw@19A3 = 1728 </action>
<action>maincpu.mw@19F5 = 1728 </action>
<action>maincpu.mw@1A4E = 1728 </action>
<action>maincpu.mw@1A8B = 1728 </action>
<action>maincpu.mw@1B46 = 1728 </action>
<action>maincpu.mq@B790 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B798 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="attack speed up (test)">
<script state="on">
<action>maincpu.mb@8968 = 0F</action> <!-- kick -->
<action>maincpu.mb@8984 = 0F</action> <!-- punch -->
<action>maincpu.mb@8996 = 0F</action> <!-- punch (crouch) -->
<action>maincpu.mb@89A8 = 0F</action> <!-- kick (crouch) -->
</script>
<script state="off">
<action>maincpu.mb@8968 = 04</action>
<action>maincpu.mb@8984 = 04</action>
<action>maincpu.mb@8996 = 04</action>
<action>maincpu.mb@89A8 = 04</action>
</script>
</cheat>
<cheat desc="timer speed (test)">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x40">03 </item>
<item value="0x08">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@59E7 = param</action>
</script>
<script state="off">
<action>maincpu.mb@59E7 = 05</action>
</script>
</cheat>
<cheat desc="information display">
<script state="run">
<output format="P1 score : %06x high score : %06x P2 score : %06x" line="01" align="center">
<argument>(maincpu.pb@E0C3 * 010000) + maincpu.pw@E0C1</argument>
<argument>(maincpu.pb@E03B * 010000) + maincpu.pw@E039</argument>
<argument>(maincpu.pb@E0C8 * 010000) + maincpu.pw@E0C6</argument>
</output>
<output format="life : %02x energy : %05x time : %04x" line="02" align="center">
<argument>maincpu.pb@E0BF</argument>
<argument>maincpu.pw@E160</argument>
<argument>maincpu.pw@E03C</argument>
</output>
</script>
</cheat>
<cheat desc="sound test mode (test)">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@037D = B7A0 </action>
<action>maincpu.mq@B7A0 = 01DBE100210404CD</action>
<action>maincpu.mq@B7A8 = 0120FDFEFA2847B8</action>
<action>maincpu.mq@B7B0 = FBFE340120FEFE35</action>
<action>maincpu.mq@B7B8 = F7FE0618F03E0420</action>
<action>maincpu.mq@B7C0 = FE787786103E0520</action>
<action>maincpu.mq@B7C8 = DFFE05187E03207F</action>
<action>maincpu.mq@B7D0 = CE180113CDAF0420</action>
<!--
B7A0 | CD 04 04 : call $0404 // screen refresh
B7A3 | 21 00 E1 : ld hl,$E100 // sound code address
B7A6 | DB 01 : in a,($01) // read input
B7A8 | B8 : cp b
B7A9 | 47 : ld b,a
B7AA | 28 FA : jr z,$B7A6
B7AC | FE FD : cp $FD
B7AE | 20 01 : jr nz,$B7B1
B7B0 | 35 : dec (hl) // decrease code -01
B7B1 | FE FE : cp $FE
B7B3 | 20 01 : jr nz,$B7B6
B7B5 | 34 : inc (hl) // increase code +01
B7B6 | FE FB : cp $FB
B7B8 | 20 04 : jr nz,$B7BE
B7BA | 3E F0 : ld a,$F0 // decrease code -10
B7BC | 18 06 : jr $B7C4
B7BE | FE F7 : cp $F7
B7C0 | 20 05 : jr nz,$B7C7
B7C2 | 3E 10 : ld a,$10 // increase code +10
B7C4 | 86 : add a,(hl)
B7C5 | 77 : ld (hl),a
B7C6 | 78 : ld a,b
B7C7 | FE 7F : cp $7F
B7C9 | 20 03 : jr nz,$B7CE
B7CB | 7E : ld a,(hl) // play sound
B7CC | 18 05 : jr $B7D3
B7CE | FE DF : cp $DF
B7D0 | 20 04 : jr nz,$B7D6
B7D2 | AF : xor a // stop sound
B7D3 | CD 13 01 : call $0113 // send sound code
B7D6 | 18 CE : jr $B7A6
-->
</script>
<script state="run">
<output format="----- beyond kung-fu 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.mw@037D = 0404 </action>
<action>maincpu.mq@B7A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B7A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B7B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B7B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B7C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B7C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@B7D0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
"attack speed up", "timer speed", "information display" : Added new.
"sound test mode" : Rewritten routine. Added up/down key to select code ±10.
Pugsy
Posts: 3675 Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 15 times
Contact:
Post
by Pugsy » Tue Apr 02, 2024 1:16 pm
Thanks added the non-test cheats.