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="<< sound code %2.2X >>" 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 "skip ram/rom check" 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="<< sound code %02X >>" 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 "skip ram/rom check" 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="<< sound code %02X >>" 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 "skip ram/rom check" 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="<< sound code %02X >>" 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 "skip ram/rom check" 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="<< sound code %02X >>" 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 "skip ram/rom check" 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="<< sound code %02X >>" 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.