[vampire] Vampire

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.
Post Reply
jman
Posts: 850
Joined: Tue Dec 01, 2020 1:24 pm

[vampire] Vampire

Post by jman »

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="&lt;&lt; sound code %02X &gt;&gt;"   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: 850
Joined: Tue Dec 01, 2020 1:24 pm

[vampire] Vampire (update)

Post by jman »

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="&lt;&lt; sound code %02X &gt;&gt;"   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>
Post Reply