[cstlevna] Vs. Akuma-Jou Dracula/Vs. Castlevania

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

[cstlevna] Vs. Akuma-Jou Dracula/Vs. Castlevania

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>prg.mb@1e7a9 =   60</action> <!-- objects ($e7a9) -->
        <action>prg.mw@187bd = 88c8</action> <!-- trap ($87bd) -->
    </script>
    <script state="off">
        <action>prg.mb@1e7a9 =   bd</action>
        <action>prg.mw@187bd = a575</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>prg.mb@19f5d = f7</action> <!-- ($9f5d) -->
    </script>
    <script state="off">
        <action>prg.mb@19f5d = f5</action>
    </script>
</cheat>

<cheat desc="attack speed up">
    <script state="on">
        <action>prg.md@1a034 = ff070605</action> <!-- attack status ($a034) -->
        <action>prg.mb@1a019 =       02</action> <!-- weapon ($a019) -->
        <action>prg.mb@1ad61 =       02</action> <!-- collision check [block] ($ad61) -->
        <action>prg.mb@1e49b =       02</action> <!-- collision check [objects] ($e49b) -->
    </script>
    <script state="off">
        <action>prg.md@1a034 = 05050505</action>
        <action>prg.mb@1a019 =       11</action>
        <action>prg.mb@1ad61 =       09</action>
        <action>prg.mb@1e49b =       11</action>
    </script>
</cheat>

<cheat desc="multiple jump">
    <script state="on">
        <action>prg.mw@1989b =             bfa0</action> <!-- in jumping ($989b) -->
        <action>prg.mw@198a7 =             bfa8</action> <!-- in falling ($98a7) -->
        <action>prg.mq@1bfa0 = 99af4c0bb0bfb320</action>
        <action>prg.mq@1bfa8 = 9c844c03b0bfb320</action>
        <action>prg.mq@1bfb0 = d08029f5a599394c</action>
        <action>prg.mq@1bfb8 = 046c8d00a9601802</action>
        <action>prg.mq@1bfc0 = f0032905848df7a5</action>
        <action>prg.mq@1bfc8 = ff603804508d4a04</action>
        <!--
        bfa0 | 20 b3 bf : jsr $bfb3 // in jumping
        bfa3 | b0 0b    : bcs $bfb0
        bfa5 | 4c af 99 : jmp $99af
        bfa8 | 20 b3 bf : jsr $bfb3 // in falling
        bfab | b0 03    : bcs $bfb0
        bfad | 4c 84 9c : jmp $9c84
        bfb0 | 4c 39 99 : jmp $9939
        bfb3 | a5 f5    : lda $f5   // main check routine
        bfb5 | 29 80    : and #$80
        bfb7 | d0 02    : bne $bfbb
        bfb9 | 18       : clc
        bfba | 60       : rts
        bfbb | a9 00    : lda #$00
        bfbd | 8d 6c 04 : sta $046c
        bfc0 | a5 f7    : lda $f7
        bfc2 | 8d 84 05 : sta $0584
        bfc5 | 29 03    : and #$03
        bfc7 | f0 04    : beq $bfcd
        bfc9 | 4a       : lsr a
        bfca | 8d 50 04 : sta $0450
        bfcd | 38       : sec
        bfce | 60       : rts
        -->
    </script>
    <script state="off">
        <action>prg.mw@1989b =             99af</action>
        <action>prg.mw@198a7 =             9c84</action>
        <action>prg.mq@1bfa0 = ffffffffffffffff</action>
        <action>prg.mq@1bfa8 = ffffffffffffffff</action>
        <action>prg.mq@1bfb0 = ffffffffffffffff</action>
        <action>prg.mq@1bfb8 = ffffffffffffffff</action>
        <action>prg.mq@1bfc0 = ffffffffffffffff</action>
        <action>prg.mq@1bfc8 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="timer speed">
    <parameter>
        <item value="0xff">01 (slow)</item>
        <item value="0x7f">02       </item>
        <item value="0x3f">03       </item>
        <item value="0x1f">04       </item>
        <item value="0x01">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>prg.mb@1a5d9 = param</action> <!-- ($a5d9) -->
    </script>
    <script state="off">
        <action>prg.mb@1a5d9 = 3f</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
    <script state="on">
        <action>prg.mw@1c1f9 =             fe20</action> <!-- ($c1f9) -->
        <action>prg.mq@1fe20 = a633f0f1c5a8f7a5</action>
        <action>prg.mq@1fe28 = 01c9ca01d002c9f0</action>
        <action>prg.mq@1fe30 = 8a06d004c9e801d0</action>
        <action>prg.mq@1fe38 = d008c998aa10e938</action>
        <action>prg.mq@1fe40 = 8698aa1069188a06</action>
        <action>prg.mq@1fe48 = 574c8a04d040c9f0</action>
        <action>prg.mq@1fe50 = 2055a905d080c9fe</action>
        <action>prg.mq@1fe58 = ffffff60f184c1b5</action>
        <!--
        fe20 | a5 f7    : lda $f7   // read input
        fe22 | a8       : tay
        fe23 | c5 f1    : cmp $f1
        fe25 | f0 33    : beq $fe5a
        fe27 | a6 f0    : ldx $f0
        fe29 | c9 02    : cmp #$02
        fe2b | d0 01    : bne $fe2e
        fe2d | ca       : dex       // decrease code -01
        fe2e | c9 01    : cmp #$01
        fe30 | d0 01    : bne $fe33
        fe32 | e8       : inx       // increase code +01
        fe33 | c9 04    : cmp #$04
        fe35 | d0 06    : bne $fe3d
        fe37 | 8a       : txa       // decrease code -10
        fe38 | 38       : sec
        fe39 | e9 10    : sbc #$10
        fe3b | aa       : tax
        fe3c | 98       : tya
        fe3d | c9 08    : cmp #$08
        fe3f | d0 06    : bne $fe47
        fe41 | 8a       : txa       // increase code +10
        fe42 | 18       : clc
        fe43 | 69 10    : adc #$10
        fe45 | aa       : tax
        fe46 | 98       : tya
        fe47 | 86 f0    : stx $f0
        fe49 | c9 40    : cmp #$40
        fe4b | d0 04    : bne $fe51
        fe4d | 8a       : txa       // play sound
        fe4e | 4c 57 fe : jmp $fe57
        fe51 | c9 80    : cmp #$80
        fe53 | d0 05    : bne $fe5a
        fe55 | a9 55    : lda #$55  // stop music
        fe57 | 20 b5 c1 : jsr $c1b5
        fe5a | 84 f1    : sty $f1
        fe5c | 60       : rts
        -->
    </script>
    <script state="run">
        <output format="----- vs. castlevania 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 music"                       line="16" align="center" />
        <output format="----------------------------"                line="17" align="center" />
        <output format="&lt;&lt; sound code %2.2X &gt;&gt;"          line="19" align="center"  >
            <argument>maincpu.pb@00f0</argument>
        </output>
    </script>
    <script state="off">
        <action>prg.mw@1c1f9 =             bd25</action>
        <action>prg.mq@1fe20 = ffffffffffffffff</action>
        <action>prg.mq@1fe28 = ffffffffffffffff</action>
        <action>prg.mq@1fe30 = ffffffffffffffff</action>
        <action>prg.mq@1fe38 = ffffffffffffffff</action>
        <action>prg.mq@1fe40 = ffffffffffffffff</action>
        <action>prg.mq@1fe48 = ffffffffffffffff</action>
        <action>prg.mq@1fe50 = ffffffffffffffff</action>
        <action>prg.mq@1fe58 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="skip rom check">
    <script state="on">
        <action>prg.mb@1fc56 = 60</action> <!-- ($fc56) -->
    </script>
    <script state="off">
        <action>prg.mb@1fc56 = 20</action>
    </script>
</cheat>
BTW, "skip rom check" in official package based on 0.221 doesn't work since 0.242 because of driver update. Modification is simple. Change tag "maincpu" to "prg" and address "$fc56" to "$1fc56".
Post Reply