[akumajou] Haunted Castle/Akuma-Jou Dracula

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: 1316
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[akumajou] Haunted Castle/Akuma-Jou Dracula

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@0e7ff = 60</action> <!-- object -->
        <action>maincpu.mb@2129b = 60</action> <!-- flame -->
        <action>maincpu.mb@213a5 = 60</action> <!-- chandelier -->
    </script>
    <script state="off">
        <action>maincpu.mb@0e7ff = 63</action>
        <action>maincpu.mb@2129b = 63</action>
        <action>maincpu.mb@213a5 = 63</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mq@d4d2 = a907f40029107320</action>
        <action>maincpu.mq@f400 = 26071e9013071e90</action>
        <action>maincpu.mq@f408 = 8fffffffffffffff</action>
        <!--
        d4d2 | a9 07 f4 00 : jsr  $f400
        d4d6 | 29 10       : bitb #$10
        f400 | 26 07 1e 90 : anda $1e90
        f404 | 13 07 1e 90 : ldb  $1e90
        f408 | 8f          : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@d4d2 = 26071e9028107320</action>
        <action>maincpu.mq@f400 = ffffffffffffffff</action>
        <action>maincpu.mq@f408 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="attack speed up">
    <script state="on">
        <action>maincpu.md@dc26 =         a907f3f0</action>
        <action>maincpu.mq@f3f0 = 10083a071e418fff</action>
        <!--
        f3f0 | 10 08       : lda #$08
        f3f2 | 3a 07 1e 41 : sta $1e41
        f3f6 | 8f          : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.md@dc26 =         82071e41</action>
        <action>maincpu.mq@f3f0 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="multiple jump">
    <script state="on">
        <action>maincpu.md@d4fe =         a907f410</action>
        <action>maincpu.mq@f410 = 12071e4024fd3a07</action>
        <action>maincpu.mq@f418 = 1e4012071e408fff</action>
        <!--
        f410 | 12 07 1e 40 : lda  $1e40
        f414 | 24 fd       : anda $fd
        f416 | 3a 07 1e 40 : sta  $1e40
        f41a | 12 07 1e 40 : lda  $1e40
        f41e | 8f          : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.md@d4fe =         12071e40</action>
        <action>maincpu.mq@f410 = ffffffffffffffff</action>
        <action>maincpu.mq@f418 = ffffffffffffffff</action>
    </script>
</cheat>

<cheat desc="skip rom check">
    <script state="on">
        <action>maincpu.mw@83e8 = 6048</action>
    </script>
    <script state="off">
        <action>maincpu.mw@83e8 = 1730</action>
    </script>
</cheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1316
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[akumajou] sound test mode

Post by jman »

Code: Select all

<cheat desc="sound test mode">
    <comment>set rom check skip then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mb@8820 =               00</action> <!-- accept input -->
        <action>maincpu.mq@89ef = 13c4f4a907f42080</action>
        <action>maincpu.mq@f420 = 37c4917338350163</action>
        <action>maincpu.mq@f428 = 038ec49035026303</action>
        <action>maincpu.mq@f430 = 8bc4903508630812</action>
        <action>maincpu.mq@f438 = c4901c103ac49035</action>
        <action>maincpu.mq@f440 = 04630812c4901410</action>
        <action>maincpu.mq@f448 = 3ac4903510630512</action>
        <action>maincpu.mq@f450 = c490600535206305</action>
        <action>maincpu.mq@f458 = 80a90790d33bc491</action>
        <action>maincpu.mq@f460 = 8fffffffffffffff</action>
        <!--
        89ef | 13 c4 f4    : LDB  $f4   // read input
        89f2 | a9 07 f4 20 : JSR  $f420
        f420 | 37 c4 91    : CMPB $91
        f423 | 73 38       : BEQ  $F45D
        f425 | 35 01       : CMPB #$01
        f427 | 63 03       : BNE  $F42C
        f429 | 8e c4 90    : DEC  $90   // decrease code -01
        f42c | 35 02       : CMPB #$02
        f42e | 63 03       : BNE  $F433
        f430 | 8b c4 90    : INC  $90   // increase code +01
        f433 | 35 08       : CMPB #$08
        f435 | 63 08       : BNE  $F43F
        f437 | 12 c4 90    : LDA  $90   // decrease code -10
        f43a | 1c 10       : SUBA #$10
        f43c | 3a c4 90    : STA  $90
        f43f | 35 04       : CMPB #$04
        f441 | 63 08       : BNE  $F44B
        f443 | 12 c4 90    : LDA  $90   // increase code +10
        f446 | 14 10       : ADDA #$10
        f448 | 3a c4 90    : STA  $90
        f44b | 35 10       : CMPB #$10
        f44d | 63 05       : BNE  $F454
        f44f | 12 c4 90    : LDA  $90   // play sound
        f452 | 60 05       : BRA  $F459
        f454 | 35 20       : CMPB #$20
        f456 | 63 05       : BNE  $F45D
        f458 | 80          : CLRA       // stop sound
        f459 | a9 07 90 d3 : JSR  $90d3 // send sound code
        f45d | 3b c4 91    : STB  $91
        f460 | 8f          : RTS
        -->
    </script>
    <script state="run">
        <output format="----- akuma-jou dracula 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="up : increase code +10"                        line="13" align="center" />
        <output format="down : decrease 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 %2.2X &gt;&gt;"            line="19" align="center">
            <argument>maincpu.pb@1890</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mb@8820 =               09</action>
        <action>maincpu.mq@89ef = 8bc4c6a90790b480</action>
        <action>maincpu.mq@f420 = ffffffffffffffff</action>
        <action>maincpu.mq@f428 = ffffffffffffffff</action>
        <action>maincpu.mq@f430 = ffffffffffffffff</action>
        <action>maincpu.mq@f438 = ffffffffffffffff</action>
        <action>maincpu.mq@f440 = ffffffffffffffff</action>
        <action>maincpu.mq@f448 = ffffffffffffffff</action>
        <action>maincpu.mq@f450 = ffffffffffffffff</action>
        <action>maincpu.mq@f458 = ffffffffffffffff</action>
        <action>maincpu.mq@f460 = ffffffffffffffff</action>
    </script>
</cheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1316
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[hcastle]+ Haunted Castle/Akuma-Jou Dracula

Post by jman »

hcastle.xml

Code: Select all

<!-- Haunted Castle (version M) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@0EA16 = 60</action> <!-- object -->
            <action>maincpu.mb@21278 = 60</action> <!-- flame ($7278) -->
            <action>maincpu.mb@21382 = 60</action> <!-- chandelier ($7382) -->
        </script>
        <script state="off">
            <action>maincpu.mb@0EA16 = 63</action>
            <action>maincpu.mb@21278 = 63</action>
            <action>maincpu.mb@21382 = 63</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@D728 = A907FCD0</action>
            <action>maincpu.mq@FCD0 = 12071E902410730A</action>
            <action>maincpu.mq@FCD8 = 12071E9124EF3A07</action>
            <action>maincpu.mq@FCE0 = 1E9112071E918F00</action>
            <!--
            FCD0 | 12 07 1E 90 : LDA    $1e90
            FCD4 | 24 10       : ANDA   #$10
            FCD6 | 73 0A       : BEQ    $FCE2
            FCD8 | 12 07 1E 91 : LDA    $1e91
            FCDC | 24 EF       : ANDA   #$EF
            FCDE | 3A 07 1E 91 : STA    $1e91
            FCE2 | 12 07 1E 91 : LDA    $1e91
            FCE6 | 8F          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@D728 = 12071E91        </action>
            <action>maincpu.mq@FCD0 = 0000000000000000</action>
            <action>maincpu.mq@FCD8 = 0000000000000000</action>
            <action>maincpu.mq@FCE0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@DE6D = A907F600</action>
            <action>maincpu.mq@F600 = 10083A071E418FFF</action>
            <!--
            F600 | 10 08       : LDA    #$08
            F602 | 3A 07 1E 41 : STA    $1e41
            F606 | 8F          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@DE6D = 82071E41        </action>
            <action>maincpu.mq@F600 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.md@D759 = A907FFE1        </action>
            <action>maincpu.mq@FFE1 = 12071E4024FD3A07</action>
            <action>maincpu.mq@FFE9 = 1E4012071E408F82</action>
            <!--
            FFE1 | 12 07 1E 40 : LDA    $1e40
            FFE5 | 24 FD       : ANDA   #$FD
            FFE7 | 3A 07 1E 40 : STA    $1e40
            FFEB | 12 07 1E 40 : LDA    $1e40
            FFEF | 8F          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@D4FE = 12071E40        </action>
            <action>maincpu.mq@FFE1 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFE9 = FFFFFFFFFFFFFF82</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>maincpu.pb@1F15 = param</action> <!-- initialize sub timer -->
            <action>maincpu.mb@8575 = param</action>
        </script>
        <script state="off">
            <action>maincpu.pb@1F15 = 3C</action>
            <action>maincpu.mb@8575 = 3C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@8814 = 00              </action> <!-- accept input -->
            <action>maincpu.mq@89D3 = 13C4F437C4C97329</action>
            <action>maincpu.mq@89DB = 12C4C8350163018C</action>
            <action>maincpu.mq@89E3 = 3502630189350863</action>
            <action>maincpu.mq@89EB = 021C103504630214</action>
            <action>maincpu.mq@89F3 = 103AC4C835107305</action>
            <action>maincpu.mq@89FB = 3520630580A90790</action>
            <action>maincpu.mq@8A03 = B93BC4C98FAEAEAE</action>
            <!--
            89D3 | 13 C4 F4    : LDB    $f4   // read input
            89D6 | 37 C4 C9    : CMPB   $c9
            89D9 | 73 29       : BEQ    $8A04
            89DB | 12 C4 C8    : LDA    $c8
            89DE | 35 01       : CMPB   #$01
            89E0 | 63 01       : BNE    $89E3
            89E2 | 8C          : DECA         // decrease code -01
            89E3 | 35 02       : CMPB   #$02
            89E5 | 63 01       : BNE    $89E8
            89E7 | 89          : INCA         // increase code +01
            89E8 | 35 08       : CMPB   #$08
            89EA | 63 02       : BNE    $89EE
            89EC | 1C 10       : SUBA   #$10  // decrease code -10
            89EE | 35 04       : CMPB   #$04
            89F0 | 63 02       : BNE    $89F4
            89F2 | 14 10       : ADDA   #$10  // increase code +10
            89F4 | 3A C4 C8    : STA    $c8
            89F7 | 35 10       : CMPB   #$10
            89F9 | 73 05       : BEQ    $8A00 // play sound
            89FB | 35 20       : CMPB   #$20
            89FD | 63 05       : BNE    $8A04
            89FF | 80          : CLRA         // stop sound
            8A00 | A9 07 90 B9 : JSR    $90b9 // send sound code
            8A04 | 3B C4 C9    : STB    $c9
            8A07 | 8F          : RTS
            -->
        </script>
        <script state="run">
            <output format="----- haunted castle 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@18C8</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@8814 = 09              </action>
            <action>maincpu.mq@89D3 = 4001FF58C4FF12C4</action>
            <action>maincpu.mq@89DB = C6730211A03BC4CC</action>
            <action>maincpu.mq@89E3 = 8BC4C6A907909A80</action>
            <action>maincpu.mq@89EB = 81A8078656604610</action>
            <action>maincpu.mq@89F3 = 073A070418120719</action>
            <action>maincpu.mq@89FB = 3324183A07193312</action>
            <action>maincpu.mq@8A03 = 07192B2418893A07</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@8268 = 68FD953A</action>
        </script>
        <script state="off">
            <action>maincpu.md@8268 = 4210003A</action>
        </script>
    </cheat>

</mamecheat>
hcastlek.xml

Code: Select all

<!-- Haunted Castle (version K) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@0EA24 = 60</action> <!-- object -->
            <action>maincpu.mb@21278 = 60</action> <!-- flame ($7278) -->
            <action>maincpu.mb@21382 = 60</action> <!-- chandelier ($7382) -->
        </script>
        <script state="off">
            <action>maincpu.mb@0EA24 = 63</action>
            <action>maincpu.mb@21278 = 63</action>
            <action>maincpu.mb@21382 = 63</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@D736 = A907FCD0        </action>
            <action>maincpu.mq@FCD0 = 12071E902410730A</action>
            <action>maincpu.mq@FCD8 = 12071E9124EF3A07</action>
            <action>maincpu.mq@FCE0 = 1E9112071E918FFF</action>
            <!--
            FCD0 | 12 07 1E 90 : LDA    $1e90
            FCD4 | 24 10       : ANDA   #$10
            FCD6 | 73 0A       : BEQ    $FCE2
            FCD8 | 12 07 1E 91 : LDA    $1e91
            FCDC | 24 EF       : ANDA   #$EF
            FCDE | 3A 07 1E 91 : STA    $1e91
            FCE2 | 12 07 1E 91 : LDA    $1e91
            FCE6 | 8F          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@D736 = 12071E91        </action>
            <action>maincpu.mq@FCD0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FCD8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FCE0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@DE7B = A907FED0        </action>
            <action>maincpu.mq@FED0 = 10083A071E418F00</action>
            <!--
            FED0 | 10 08       : LDA    #$08
            FED2 | 3A 07 1E 41 : STA    $1e41
            FED6 | 8F          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@DE7B = 82071E41        </action>
            <action>maincpu.mq@FED0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.md@D767 = A907FFE1        </action>
            <action>maincpu.mq@FFE1 = 12071E4024FD3A07</action>
            <action>maincpu.mq@FFE9 = 1E4012071E408F82</action>
            <!--
            FFE1 | 12 07 1E 40 : LDA    $1e40
            FFE5 | 24 FD       : ANDA   #$FD
            FFE7 | 3A 07 1E 40 : STA    $1e40
            FFEB | 12 07 1E 40 : LDA    $1e40
            FFEF | 8F          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@D767 = 12071E40        </action>
            <action>maincpu.mq@FFE1 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@FFE9 = FFFFFFFFFFFFFF82</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>maincpu.pb@1F15 = param</action> <!-- initialize sub timer -->
            <action>maincpu.mb@8575 = param</action>
        </script>
        <script state="off">
            <action>maincpu.pb@1F15 = 3C</action>
            <action>maincpu.mb@8575 = 3C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@8814 = 00              </action> <!-- accept input -->
            <action>maincpu.mq@89D3 = 13C4F437C4C97329</action>
            <action>maincpu.mq@89DB = 12C4C8350163018C</action>
            <action>maincpu.mq@89E3 = 3502630189350863</action>
            <action>maincpu.mq@89EB = 021C103504630214</action>
            <action>maincpu.mq@89F3 = 103AC4C835107305</action>
            <action>maincpu.mq@89FB = 3520630580A90790</action>
            <action>maincpu.mq@8A03 = B93BC4C98FAEAEAE</action>
            <!--
            89D3 | 13 C4 F4    : LDB    $f4   // read input
            89D6 | 37 C4 C9    : CMPB   $c9
            89D9 | 73 29       : BEQ    $8A04
            89DB | 12 C4 C8    : LDA    $c8
            89DE | 35 01       : CMPB   #$01
            89E0 | 63 01       : BNE    $89E3
            89E2 | 8C          : DECA         // decrease code -01
            89E3 | 35 02       : CMPB   #$02
            89E5 | 63 01       : BNE    $89E8
            89E7 | 89          : INCA         // increase code +01
            89E8 | 35 08       : CMPB   #$08
            89EA | 63 02       : BNE    $89EE
            89EC | 1C 10       : SUBA   #$10  // decrease code -10
            89EE | 35 04       : CMPB   #$04
            89F0 | 63 02       : BNE    $89F4
            89F2 | 14 10       : ADDA   #$10  // increase code +10
            89F4 | 3A C4 C8    : STA    $c8
            89F7 | 35 10       : CMPB   #$10
            89F9 | 73 05       : BEQ    $8A00 // play sound
            89FB | 35 20       : CMPB   #$20
            89FD | 63 05       : BNE    $8A04
            89FF | 80          : CLRA         // stop sound
            8A00 | A9 07 90 B9 : JSR    $90b9 // send sound code
            8A04 | 3B C4 C9    : STB    $c9
            8A07 | 8F          : RTS
            -->
        </script>
        <script state="run">
            <output format="----- haunted castle 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@18C8</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@8814 = 09              </action>
            <action>maincpu.mq@89D3 = 4001FF58C4FF12C4</action>
            <action>maincpu.mq@89DB = C6730211A03BC4CC</action>
            <action>maincpu.mq@89E3 = 8BC4C6A907909A80</action>
            <action>maincpu.mq@89EB = 81A8078656604610</action>
            <action>maincpu.mq@89F3 = 073A070418120719</action>
            <action>maincpu.mq@89FB = 3324183A07193312</action>
            <action>maincpu.mq@8A03 = 07192B2418893A07</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@8268 = 68FD953A</action>
        </script>
        <script state="off">
            <action>maincpu.md@8268 = 4210003A</action>
        </script>
    </cheat>

</mamecheat>
hcastlee.xml

Code: Select all

<!-- Haunted Castle (version E) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@0EADF = 60</action> <!-- object -->
            <action>maincpu.mb@21278 = 60</action> <!-- flame ($7278) -->
            <action>maincpu.mb@21382 = 60</action> <!-- chandelier ($7382) -->
        </script>
        <script state="off">
            <action>maincpu.mb@0EADF = 63</action>
            <action>maincpu.mb@21278 = 63</action>
            <action>maincpu.mb@21382 = 63</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@D85E = A907FCE0        </action>
            <action>maincpu.mq@FCE0 = 12071E902410730A</action>
            <action>maincpu.mq@FCE8 = 12071E9124EF3A07</action>
            <action>maincpu.mq@FCF0 = 1E9112071E918FFF</action>
            <!--
            FCE0 | 12 07 1E 90 : LDA    $1e90
            FCE4 | 24 10       : ANDA   #$10
            FCE6 | 73 0A       : BEQ    $FCF2
            FCE8 | 12 07 1E 91 : LDA    $1e91
            FCEC | 24 EF       : ANDA   #$EF
            FCEE | 3A 07 1E 91 : STA    $1e91
            FCF2 | 12 07 1E 91 : LDA    $1e91
            FCF6 | 8F          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@D85E = 12071E91        </action>
            <action>maincpu.mq@FCE0 = 0000000000000000</action>
            <action>maincpu.mq@FCE8 = 0000000000000000</action>
            <action>maincpu.mq@FCF0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@DFAB = A907FCC0        </action>
            <action>maincpu.mq@FCC0 = 10083A071E418F00</action>
            <!--
            FCC0 | 10 08       : LDA    #$08
            FCC2 | 3A 07 1E 41 : STA    $1e41
            FCC6 | 8F          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@DFAB = 82071E41        </action>
            <action>maincpu.mq@FCC0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.md@D88F = A907FFE0        </action>
            <action>maincpu.mq@FFE0 = 12071E4024FD3A07</action>
            <action>maincpu.mq@FFE8 = 1E4012071E408F00</action>
            <!--
            FFE0 | 12 07 1E 40 : LDA    $1e40
            FFE4 | 24 FD       : ANDA   #$FD
            FFE6 | 3A 07 1E 40 : STA    $1e40
            FFEA | 12 07 1E 40 : LDA    $1e40
            FFEE | 8F          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@D88F = 12071E40        </action>
            <action>maincpu.mq@FFE0 = 0000000000000000</action>
            <action>maincpu.mq@FFE8 = 0000000000000000</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>maincpu.pb@1F15 = param</action> <!-- initialize sub timer -->
            <action>maincpu.mb@8575 = param</action>
        </script>
        <script state="off">
            <action>maincpu.pb@1F15 = 3C</action>
            <action>maincpu.mb@8575 = 3C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@88C6 = 00              </action> <!-- accept input -->
            <action>maincpu.mq@8A85 = 10083A07040013C4</action>
            <action>maincpu.mq@8A8D = F437C4C9732912C4</action>
            <action>maincpu.mq@8A95 = C8350163018C3502</action>
            <action>maincpu.mq@8A9D = 630189350863021C</action>
            <action>maincpu.mq@8AA5 = 103504630214103A</action>
            <action>maincpu.mq@8AAD = C4C8351073053520</action>
            <action>maincpu.mq@8AB5 = 630580A90770A93B</action>
            <action>maincpu.mq@8ABD = C4C98FAEAEAEAEAE</action>
            <!--
            8A85 | 10 08       : LDA    #$08  // set bank
            8A87 | 3A 07 04 00 : STA    $0400
            8A8B | 13 C4 F4    : LDB    $f4   // read input
            8A8E | 37 C4 C8    : CMPB   $c9
            8A91 | 73 29       : BEQ    $8ABC
            8A93 | 12 C4 C8    : LDA    $c8
            8A96 | 35 01       : CMPB   #$01
            8A98 | 63 01       : BNE    $8A9B
            8A9A | 8C          : DECA         // decrease code -01
            8A9B | 35 02       : CMPB   #$02
            8A9D | 63 01       : BNE    $8AA0
            8A9F | 89          : INCA         // increase code +01
            8AA0 | 35 08       : CMPB   #$08
            8AA2 | 63 02       : BNE    $8AA6
            8AA4 | 1C 10       : SUBA   #$10  // decrease code -10
            8AA6 | 35 04       : CMPB   #$04
            8AA8 | 63 02       : BNE    $8AAC
            8AAA | 14 10       : ADDA   #$10  // increase code +10
            8AAC | 3A C4 C8    : STA    $c8
            8AAF | 35 10       : CMPB   #$10
            8AB1 | 73 05       : BEQ    $8AB8 // play sound
            8AB3 | 35 20       : CMPB   #$20
            8AB5 | 63 05       : BNE    $8ABC
            8AB7 | 80          : CLRA         // stop sound
            8AB8 | A9 07 70 A9 : JSR    $70a9 // send sound code
            8ABC | 3B C4 C9    : STB    $c9
            8ABF | 8F          : RTS
            -->
        </script>
        <script state="run">
            <output format="----- haunted castle 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@18C8</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@88C6 = 09              </action>
            <action>maincpu.mq@8A85 = 4001FF58C4FF12C4</action>
            <action>maincpu.mq@8A8D = C6730211A03BC4CC</action>
            <action>maincpu.mq@8A95 = 8BC4C6A90791C680</action>
            <action>maincpu.mq@8A9D = 81A8078656604610</action>
            <action>maincpu.mq@8AA5 = 073A070418120719</action>
            <action>maincpu.mq@8AAD = 3324183A07193312</action>
            <action>maincpu.mq@8AB5 = 07192B2418893A07</action>
            <action>maincpu.mq@8ABD = 192B1118A90784FC</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@8268 = 68FD953A</action>
        </script>
        <script state="off">
            <action>maincpu.md@8268 = 4210003A</action>
        </script>
    </cheat>

</mamecheat>
akumajou.xml

Code: Select all

<!-- Akuma-Jou Dracula (Japan version P) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@0E7FF = 60</action> <!-- object -->
            <action>maincpu.mb@2129B = 60</action> <!-- flame ($729b) -->
            <action>maincpu.mb@213A5 = 60</action> <!-- chandelier ($73a5) -->
        </script>
        <script state="off">
            <action>maincpu.mb@0E7FF = 63</action>
            <action>maincpu.mb@2129B = 63</action>
            <action>maincpu.mb@213A5 = 63</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@D4CD = A907F3F0        </action>
            <action>maincpu.mq@F3F0 = 12071E902410730A</action>
            <action>maincpu.mq@F3F8 = 12071E9124EF3A07</action>
            <action>maincpu.mq@F400 = 1E9112071E918FFF</action>
            <!--
            F3F0 | 12 07 1E 90 : LDA    $1e90
            F3F4 | 24 10       : ANDA   #$10
            F3F6 | 73 0A       : BEQ    $F402
            F3F8 | 12 07 1E 91 : LDA    $1e91
            F3FC | 24 EF       : ANDA   #$EF
            F3FE | 3A 07 1E 91 : STA    $1e91
            F402 | 12 07 1E 91 : LDA    $1e91
            F406 | 8F          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@D4CD = 12071E91        </action>
            <action>maincpu.mq@F3F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F3F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F400 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@DC26 = A907F410        </action>
            <action>maincpu.mq@F410 = 10083A071E418FFF</action>
            <!--
            F410 | 10 08       : LDA    #$08
            F412 | 3A 07 1E 41 : STA    $1e41
            F416 | 8F          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@DC26 = 82071E41        </action>
            <action>maincpu.mq@F410 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.md@D4FE = A907F420        </action>
            <action>maincpu.mq@F420 = 12071E4024FD3A07</action>
            <action>maincpu.mq@F428 = 1E4012071E408FFF</action>
            <!--
            F420 | 12 07 1E 40 : LDA    $1e40
            F424 | 24 FD       : ANDA   #$FD
            F426 | 3A 07 1E 40 : STA    $1e40
            F42A | 12 07 1E 40 : LDA    $1e40
            F42E | 8F          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@D4FE = 12071E40        </action>
            <action>maincpu.mq@F420 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F428 = 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>maincpu.pb@1F15 = param</action> <!-- initialize sub timer -->
            <action>maincpu.mb@8581 = param</action>
        </script>
        <script state="off">
            <action>maincpu.pb@1F15 = 3C</action>
            <action>maincpu.mb@8581 = 3C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@8820 = 00              </action> <!-- accept input -->
            <action>maincpu.mq@89EF = 12C4C6A907F43080</action>
            <action>maincpu.mq@F430 = 13C4F437C4C97329</action>
            <action>maincpu.mq@F438 = 12C4C8350163018C</action>
            <action>maincpu.mq@F440 = 3502630189350863</action>
            <action>maincpu.mq@F448 = 021C103504630214</action>
            <action>maincpu.mq@F450 = 103AC4C835107305</action>
            <action>maincpu.mq@F458 = 3520630580A90790</action>
            <action>maincpu.mq@F460 = D33BC4C98FFFFFFF</action>
            <!--
            F430 | 13 C4 F4    : LDB    $f4   // read input
            F433 | 37 C4 C9    : CMPB   $c9
            F436 | 73 29       : BEQ    $F461
            F438 | 12 C4 C8    : LDA    $c8
            F43B | 35 01       : CMPB   #$01
            F43D | 63 01       : BNE    $F440
            F43F | 8C          : DECA         // decrease code -01
            F440 | 35 02       : CMPB   #$02
            F442 | 63 01       : BNE    $F445
            F444 | 89          : INCA         // increase code +01
            F445 | 35 08       : CMPB   #$08
            F447 | 63 02       : BNE    $F44B
            F449 | 1C 10       : SUBA   #$10  // decrease code -10
            F44B | 35 04       : CMPB   #$04
            F44D | 63 02       : BNE    $F451
            F44F | 14 10       : ADDA   #$10  // increase code +10
            F451 | 3A C4 C8    : STA    $c8
            F454 | 35 10       : CMPB   #$10
            F456 | 73 05       : BEQ    $F45D // play sound
            F458 | 35 20       : CMPB   #$20
            F45A | 63 05       : BNE    $F461
            F45C | 80          : CLRA         // stop sound
            F45D | A9 07 90 D3 : JSR    $90d3 // send sound code
            F461 | 3B C4 C9    : STB    $c9
            F464 | 8F          : RTS
            -->
        </script>
        <script state="run">
            <output format="----- akuma-jou dracula 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@18C8</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@8820 = 09              </action>
            <action>maincpu.mq@89EF = 8BC4C6A90790B480</action>
            <action>maincpu.mq@F430 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F438 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F440 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F448 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F450 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F458 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F460 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F468 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F470 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@8268 = 68FD953A</action>
        </script>
        <script state="off">
            <action>maincpu.md@8268 = 4210003A</action>
        </script>
    </cheat>

</mamecheat>
akumajoun.xml

Code: Select all

<!-- Akuma-Jou Dracula (Japan version N) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@0E7FF = 60</action> <!-- object -->
            <action>maincpu.mb@2129B = 60</action> <!-- flame ($729b) -->
            <action>maincpu.mb@213A5 = 60</action> <!-- chandelier ($73a5) -->
        </script>
        <script state="off">
            <action>maincpu.mb@0E7FF = 63</action>
            <action>maincpu.mb@2129B = 63</action>
            <action>maincpu.mb@213A5 = 63</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@D4CD = A907F3F0        </action>
            <action>maincpu.mq@F3F0 = 12071E902410730A</action>
            <action>maincpu.mq@F3F8 = 12071E9124EF3A07</action>
            <action>maincpu.mq@F400 = 1E9112071E918FFF</action>
            <!--
            F3F0 | 12 07 1E 90 : LDA    $1e90
            F3F4 | 24 10       : ANDA   #$10
            F3F6 | 73 0A       : BEQ    $F402
            F3F8 | 12 07 1E 91 : LDA    $1e91
            F3FC | 24 EF       : ANDA   #$EF
            F3FE | 3A 07 1E 91 : STA    $1e91
            F402 | 12 07 1E 91 : LDA    $1e91
            F406 | 8F          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@D4CD = 12071E91        </action>
            <action>maincpu.mq@F3F0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F3F8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F400 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@DC26 = A907F410        </action>
            <action>maincpu.mq@F410 = 10083A071E418FFF</action>
            <!--
            F410 | 10 08       : LDA    #$08
            F412 | 3A 07 1E 41 : STA    $1e41
            F416 | 8F          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@DC26 = 82071E41        </action>
            <action>maincpu.mq@F410 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.md@D4FE = A907F420        </action>
            <action>maincpu.mq@F420 = 12071E4024FD3A07</action>
            <action>maincpu.mq@F428 = 1E4012071E408FFF</action>
            <!--
            F420 | 12 07 1E 40 : LDA    $1e40
            F424 | 24 FD       : ANDA   #$FD
            F426 | 3A 07 1E 40 : STA    $1e40
            F42A | 12 07 1E 40 : LDA    $1e40
            F42E | 8F          : RTS
            -->
        </script>
        <script state="off">
            <action>maincpu.md@D4FE = 12071E40        </action>
            <action>maincpu.mq@F420 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F428 = 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>maincpu.pb@1F15 = param</action> <!-- initialize sub timer -->
            <action>maincpu.mb@8581 = param</action>
        </script>
        <script state="off">
            <action>maincpu.pb@1F15 = 3C</action>
            <action>maincpu.mb@8581 = 3C</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@8820 = 00              </action> <!-- accept input -->
            <action>maincpu.mq@89EF = 12C4C6A907F43080</action>
            <action>maincpu.mq@F430 = 13C4F437C4C97329</action>
            <action>maincpu.mq@F438 = 12C4C8350163018C</action>
            <action>maincpu.mq@F440 = 3502630189350863</action>
            <action>maincpu.mq@F448 = 021C103504630214</action>
            <action>maincpu.mq@F450 = 103AC4C835107305</action>
            <action>maincpu.mq@F458 = 3520630580A90790</action>
            <action>maincpu.mq@F460 = D33BC4C98FFFFFFF</action>
            <!--
            F430 | 13 C4 F4    : LDB    $f4   // read input
            F433 | 37 C4 C9    : CMPB   $c9
            F436 | 73 29       : BEQ    $F461
            F438 | 12 C4 C8    : LDA    $c8
            F43B | 35 01       : CMPB   #$01
            F43D | 63 01       : BNE    $F440
            F43F | 8C          : DECA         // decrease code -01
            F440 | 35 02       : CMPB   #$02
            F442 | 63 01       : BNE    $F445
            F444 | 89          : INCA         // increase code +01
            F445 | 35 08       : CMPB   #$08
            F447 | 63 02       : BNE    $F44B
            F449 | 1C 10       : SUBA   #$10  // decrease code -10
            F44B | 35 04       : CMPB   #$04
            F44D | 63 02       : BNE    $F451
            F44F | 14 10       : ADDA   #$10  // increase code +10
            F451 | 3A C4 C8    : STA    $c8
            F454 | 35 10       : CMPB   #$10
            F456 | 73 05       : BEQ    $F45D // play sound
            F458 | 35 20       : CMPB   #$20
            F45A | 63 05       : BNE    $F461
            F45C | 80          : CLRA         // stop sound
            F45D | A9 07 90 D3 : JSR    $90d3 // send sound code
            F461 | 3B C4 C9    : STB    $c9
            F464 | 8F          : RTS
            -->
        </script>
        <script state="run">
            <output format="----- akuma-jou dracula 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@18C8</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@8820 = 09              </action>
            <action>maincpu.mq@89EF = 8BC4C6A90790B480</action>
            <action>maincpu.mq@F430 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F438 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F440 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F448 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F450 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F458 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F460 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F468 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@F470 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.md@8268 = 68FD953A</action>
        </script>
        <script state="off">
            <action>maincpu.md@8268 = 4210003A</action>
        </script>
    </cheat>

</mamecheat>
  • "auto fire" : Fixed jump button auto fire problem.
  • "timer speed" : Added new.
  • "sound test mode" : Fixed address conflict problem.
  • "skip ram/rom check" : Improved code. Now skips RAM check too.
hcastle, hcastlek and hcastlee don't have enough space in RAM/ROM. So some bugs may happen. Anyway, I don't encounter crash/freeze problem in playing the game.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Post Reply