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).
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>