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: 1321 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 10 times
Post
by jman » Sun Mar 17, 2024 2:13 pm
vampire will be added in 0.264.
Basic RAM cheats.
Code: Select all
<!-- Vampire (prototype?) -->
<mamecheat version="1">
<cheat desc="Infinite Credits">
<comment>You need to press coin button to change to "push start button" screen in case of no credit</comment>
<script state="run">
<action>maincpu.pw@2096 = 0909</action>
</script>
</cheat>
<cheat desc="Infinite Time">
<comment>Turn OFF when you are NOT playing the game, otherwise this code has an impact on other scenes (score board etc)</comment>
<script state="run">
<action>maincpu.pb@2022 = 00</action>
</script>
</cheat>
<cheat desc="PL1 Infinite Lives">
<script state="run">
<action>maincpu.pb@2102 = 09</action>
</script>
</cheat>
<cheat desc="PL2 Infinite Lives">
<script state="run">
<action>maincpu.pb@2103 = 09</action>
</script>
</cheat>
</mamecheat>
"Infinite Credits" : You need to press coin button to change to "push start button" screen in case of no credit.
"Infinite Time" : Turn OFF when you are NOT playing the game, otherwise this code has an impact on other scenes (score board etc).
The following ROM codes are WIP.
Code: Select all
<cheat desc="no hit (wip)">
<script state="on">
<action>maincpu.mb@B9DA = 00</action> <!-- water -->
<action>maincpu.mb@BA3E = 00</action> <!-- stake (bat) -->
<action>maincpu.mb@BAB5 = 00</action> <!-- sun (bat) -->
<action>maincpu.mb@BAF1 = 00</action> <!-- sun -->
<action>maincpu.mb@C659 = 00</action> <!-- holymen -->
</script>
<script state="off">
<action>maincpu.mb@B9DA = 01</action>
<action>maincpu.mb@BA3E = 01</action>
<action>maincpu.mb@BAB5 = 01</action>
<action>maincpu.mb@BAF1 = 01</action>
<action>maincpu.mb@C659 = 01</action>
</script>
</cheat>
<cheat desc="timer speed (wip)">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x80">02 </item>
<item value="0x3c">03 </item>
<item value="0x20">04 </item>
<item value="0x00">05 (fast)</item> <!-- buggy : the game sticks after time over -->
</parameter>
<script state="change">
<action>maincpu.mb@9275 = param</action>
</script>
<script state="off">
<action>maincpu.mb@9275 = 3C</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@805A = 7EF49086 </action>
<action>maincpu.mq@F490 = 86211F8BB607F091</action>
<action>maincpu.mq@F498 = 012727D600810426</action>
<action>maincpu.mq@F4A0 = 015A810826015C81</action>
<action>maincpu.mq@F4A8 = 102602C010812026</action>
<action>maincpu.mq@F4B0 = 02CB10D700818027</action>
<action>maincpu.mq@F4B8 = 0681402605C6FFF7</action>
<action>maincpu.mq@F4C0 = 07F4970120CEFFFF</action>
<!--
F490 | 86 21 : LDA #$21
F492 | 1F 8B : TFR A,DP
F494 | B6 07 F0 : LDA $07F0 // read input
F497 | 91 01 : CMPA $01
F499 | 27 27 : BEQ $F4C2
F49B | D6 00 : LDB $00
F49D | 81 04 : CMPA #$04
F49F | 26 01 : BNE $F4A2
F4A1 | 5A : DECB // decrease code -01
F4A2 | 81 08 : CMPA #$08
F4A4 | 26 01 : BNE $F4A7
F4A6 | 5C : INCB // increase code +01
F4A7 | 81 10 : CMPA #$10
F4A9 | 26 02 : BNE $F4AD
F4AB | C0 10 : SUBB #$10 // decrease code -10
F4AD | 81 20 : CMPA #$20
F4AF | 26 02 : BNE $F4B3
F4B1 | CB 10 : ADDB #$10 // increase code +10
F4B3 | D7 00 : STB $00
F4B5 | 81 80 : CMPA #$80
F4B7 | 27 06 : BEQ $F4BF // play sound
F4B9 | 81 40 : CMPA #$40
F4BB | 26 05 : BNE $F4C2
F4BD | C6 FF : LDB #$FF // stop sound
F4BF | F7 07 F4 : STB $07F4 // send sound code
F4C2 | 97 01 : STA $01
F4C4 | 20 CE : BRA $F494
-->
<action>audiocpu.mb@F02A = 00</action> <!-- disable boot music -->
</script>
<script state="run">
<output format="----- vampire 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@2100</argument>
</output>
</script>
<script state="off">
<action> maincpu.md@805A = 170BB686 </action>
<action> maincpu.mq@F490 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F498 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4A0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4A8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4B0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4B8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4C0 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mb@F02A = 01 </action>
</script>
</cheat>
"timer speed" : 0x05 (fast speed) is buggy. The game will stick after time over.
jman
Posts: 1321 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 10 times
Post
by jman » Wed Mar 20, 2024 10:32 am
Added "walk through wall" as WIP code. This works on level 1 and 2, not level 3.
Code: Select all
<cheat desc="walk through wall (wip)">
<script state="on">
<!-- main -->
<action>maincpu.mw@A19E = 5330 </action>
<action>maincpu.mq@F4D0 = 8C24181026ACF439</action>
<!--
F4D0 | 8C 24 18 : CMPX #$2418
F4D3 | 10 26 AC F4 : LBNE $A1CB
F4D7 | 39 : RTS
-->
<!-- steps (level 2) -->
<action>maincpu.md@AEC0 = 17461512 </action>
<action>maincpu.mq@F4D8 = A60384FF8C241827</action>
<action>maincpu.mq@F4E0 = 0284F339FFFFFFFF</action>
<!--
F4D8 | A6 03 : LDA $3,X
F4DA | 84 FF : ANDA #$FF
F4DC | 8C 24 18 : CMPX #$2418
F4DF | 27 02 : BEQ $F4E3
F4E1 | 84 F3 : ANDA #$F3
F4E3 | 39 : RTS
-->
</script>
<script state="off">
<action>maincpu.mw@A19E = 002B </action>
<action>maincpu.mq@F4D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.md@AEC0 = A60384F3 </action>
<action>maincpu.mq@F4D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F4E0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
Fixed "sound test mode". New code disables cross-hatch.
Code: Select all
<cheat desc="sound test mode (wip)">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@8029 = 81 </action> <!-- disable cross hatch display -->
<action>maincpu.mw@8033 = 745B </action>
<action>maincpu.mq@F490 = 86211F8BB607F091</action>
<action>maincpu.mq@F498 = 012727D600810426</action>
<action>maincpu.mq@F4A0 = 015A810826015C81</action>
<action>maincpu.mq@F4A8 = 102602C010812026</action>
<action>maincpu.mq@F4B0 = 02CB10D700818027</action>
<action>maincpu.mq@F4B8 = 0681402605C6FFF7</action>
<action>maincpu.mq@F4C0 = 07F4970120CEFFFF</action>
<!--
F490 | 86 21 : LDA #$21
F492 | 1F 8B : TFR A,DP
F494 | B6 07 F0 : LDA $07F0 // read input
F497 | 91 01 : CMPA $01
F499 | 27 27 : BEQ $F4C2
F49B | D6 00 : LDB $00
F49D | 81 04 : CMPA #$04
F49F | 26 01 : BNE $F4A2
F4A1 | 5A : DECB // decrease code -01
F4A2 | 81 08 : CMPA #$08
F4A4 | 26 01 : BNE $F4A7
F4A6 | 5C : INCB // increase code +01
F4A7 | 81 10 : CMPA #$10
F4A9 | 26 02 : BNE $F4AD
F4AB | C0 10 : SUBB #$10 // decrease code -10
F4AD | 81 20 : CMPA #$20
F4AF | 26 02 : BNE $F4B3
F4B1 | CB 10 : ADDB #$10 // increase code +10
F4B3 | D7 00 : STB $00
F4B5 | 81 80 : CMPA #$80
F4B7 | 27 06 : BEQ $F4BF // play sound
F4B9 | 81 40 : CMPA #$40
F4BB | 26 05 : BNE $F4C2
F4BD | C6 FF : LDB #$FF // stop sound
F4BF | F7 07 F4 : STB $07F4 // send sound code
F4C2 | 97 01 : STA $01
F4C4 | 20 CE : BRA $F494
-->
<action>audiocpu.mb@F02A = 00</action> <!-- disable boot music -->
</script>
<script state="run">
<output format="----- vampire 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@2100</argument>
</output>
</script>
<script state="off">
<action> maincpu.mb@8029 = 87 </action>
<action> maincpu.mw@8033 = 0E52 </action>
<action> maincpu.mq@F490 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F498 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4A0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4A8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4B0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4B8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4C0 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mb@F02A = 01 </action>
</script>
</cheat>
jman
Posts: 1321 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 10 times
Post
by jman » Thu May 15, 2025 9:24 am
Added new RAM codes.
Code: Select all
<cheat desc="P1 Select Starting Scene">
<parameter min="01" max="03" step="01" />
<script state="run">
<action condition="(maincpu.pb@2105 == 01) and (maincpu.pb@2108 == 01)">maincpu.pb@2108 = param</action>
</script>
</cheat>
<cheat desc="P2 Select Starting Scene">
<parameter min="01" max="03" step="01" />
<script state="run">
<action condition="(maincpu.pb@2107 == 01) and (maincpu.pb@2109 == 01)">maincpu.pb@2109 = param</action>
</script>
</cheat>
Also updated ROM codes collection.
Code: Select all
<!-- Vampire (prototype?) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@B9DA = 00</action> <!-- water -->
<action>maincpu.mb@BA3E = 00</action> <!-- stake (bat) -->
<action>maincpu.mb@BAB5 = 00</action> <!-- sun (bat) -->
<action>maincpu.mb@BAF1 = 00</action> <!-- sun -->
<action>maincpu.mb@C659 = 00</action> <!-- holymen -->
</script>
<script state="off">
<action>maincpu.mb@B9DA = 01</action>
<action>maincpu.mb@BA3E = 01</action>
<action>maincpu.mb@BAB5 = 01</action>
<action>maincpu.mb@BAF1 = 01</action>
<action>maincpu.mb@C659 = 01</action>
</script>
</cheat>
<cheat desc="walk through wall">
<script state="on">
<action>maincpu.mw@A19E = 52F0 </action> <!-- main -->
<action>maincpu.md@AEC0 = 1745DA12 </action> <!-- steps (level 2) -->
<action>maincpu.mq@F490 = 8C241827078C2568</action>
<action>maincpu.mq@F498 = 1026AD2F39A60384</action>
<action>maincpu.mq@F4A0 = FF8C241827078C25</action>
<action>maincpu.mq@F4A8 = 68270284F339FFFF</action>
<!--
F490 | 8C 24 18 : CMPX #$2418 // main
F493 | 27 07 : BEQ $F49C
F495 | 8C 25 68 : CMPX #$2568
F498 | 10 26 AD 2F : LBNE $A1CB
F49C | 39 : RTS
F49D | A6 03 : LDA $3,X // steps
F49F | 84 FF : ANDA #$FF
F4A1 | 8C 24 18 : CMPX #$2418
F4A4 | 27 07 : BEQ $F4AD
F4A6 | 8C 25 68 : CMPX #$2568
F4A9 | 27 02 : BEQ $F4AD
F4AB | 84 F3 : ANDA #$F3
F4AD | 39 : RTS
-->
</script>
<script state="off">
<action>maincpu.mw@A19E = 002B </action>
<action>maincpu.md@AEC0 = A60384F3 </action>
<action>maincpu.mq@F490 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F498 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F4A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@F4A8 = FFFFFFFFFFFFFFFF</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="0x00">05 (fast)</item> <!-- buggy : the game sticks after time over -->
</parameter>
<script state="change">
<action>maincpu.mb@9275 = param</action>
</script>
<script state="off">
<action>maincpu.mb@9275 = 3C</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@8029 = 81 </action> <!-- disable cross hatch display -->
<action>maincpu.mw@8033 = 747B </action>
<action>maincpu.mq@F4B0 = 86211F8B9701B607</action>
<action>maincpu.mq@F4B8 = F0910127F7D60081</action>
<action>maincpu.mq@F4C0 = 0426015A81082601</action>
<action>maincpu.mq@F4C8 = 5C81102602C01081</action>
<action>maincpu.mq@F4D0 = 202602CB10D70081</action>
<action>maincpu.mq@F4D8 = 80270681402605C6</action>
<action>maincpu.mq@F4E0 = FFF707F420CEFFFF</action>
<!--
F4B0 | 86 21 : LDA #$21
F4B2 | 1F 8B : TFR A,DP
F4B4 | 97 01 : STA $01
F4B6 | B6 07 F0 : LDA $07F0 // read input
F4B9 | 91 01 : CMPA $01
F4BB | 27 F7 : BEQ $F4B4
F4BD | D6 00 : LDB $00
F4BF | 81 04 : CMPA #$04
F4C1 | 26 01 : BNE $F4C4
F4C3 | 5A : DECB // decrease code -01
F4C4 | 81 08 : CMPA #$08
F4C6 | 26 01 : BNE $F4C9
F4C8 | 5C : INCB // increase code +01
F4C9 | 81 10 : CMPA #$10
F4CB | 26 02 : BNE $F4CF
F4CD | C0 10 : SUBB #$10 // decrease code -10
F4CF | 81 20 : CMPA #$20
F4D1 | 26 02 : BNE $F4D5
F4D3 | CB 10 : ADDB #$10 // increase code +10
F4D5 | D7 00 : STB $00
F4D7 | 81 80 : CMPA #$80
F4D9 | 27 06 : BEQ $F4E1 // play sound
F4DB | 81 40 : CMPA #$40
F4DD | 26 05 : BNE $F4E4
F4DF | C6 FF : LDB #$FF // stop sound
F4E1 | F7 07 F4 : STB $07F4 // send sound code
F4E4 | 20 CE : BRA $F4B4
-->
<action>audiocpu.mb@F02A = 00</action> <!-- disable boot music -->
</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@2100</argument>
</output>
</script>
<script state="off">
<action> maincpu.mb@8029 = 87 </action>
<action> maincpu.mw@8033 = 0E52 </action>
<action> maincpu.mq@F4B0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4B8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4C0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4C8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4D0 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4D8 = FFFFFFFFFFFFFFFF</action>
<action> maincpu.mq@F4E0 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mb@F02A = 01 </action>
</script>
</cheat>
</mamecheat>