Page 1 of 1

[akumajou] Haunted Castle/Akuma-Jou Dracula

Posted: Tue Dec 15, 2020 10:57 am
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>

[akumajou] sound test mode

Posted: Wed Jan 05, 2022 10:16 am
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>

[hcastle]+ Haunted Castle/Akuma-Jou Dracula

Posted: Tue Jun 18, 2024 9:25 am
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.