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.
jman
Posts: 1316 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times
Post
by jman » Tue Dec 15, 2020 10:57 am
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
Posts: 1316 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times
Post
by jman » Wed Jan 05, 2022 10:16 am
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>
jman
Posts: 1316 Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times
Post
by jman » Tue Jun 18, 2024 9:25 am
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.