Page 1 of 1
[cstlevna] Vs. Akuma-Jou Dracula/Vs. Castlevania
Posted: Fri Jun 24, 2022 1:01 pm
by jman
Code: Select all
<cheat desc="no hit">
<script state="on">
<action>prg.mb@1e7a9 = 60</action> <!-- objects ($e7a9) -->
<action>prg.mw@187bd = 88c8</action> <!-- trap ($87bd) -->
</script>
<script state="off">
<action>prg.mb@1e7a9 = bd</action>
<action>prg.mw@187bd = a575</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>prg.mb@19f5d = f7</action> <!-- ($9f5d) -->
</script>
<script state="off">
<action>prg.mb@19f5d = f5</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>prg.md@1a034 = ff070605</action> <!-- attack status ($a034) -->
<action>prg.mb@1a019 = 02</action> <!-- weapon ($a019) -->
<action>prg.mb@1ad61 = 02</action> <!-- collision check [block] ($ad61) -->
<action>prg.mb@1e49b = 02</action> <!-- collision check [objects] ($e49b) -->
</script>
<script state="off">
<action>prg.md@1a034 = 05050505</action>
<action>prg.mb@1a019 = 11</action>
<action>prg.mb@1ad61 = 09</action>
<action>prg.mb@1e49b = 11</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>prg.mw@1989b = bfa0</action> <!-- in jumping ($989b) -->
<action>prg.mw@198a7 = bfa8</action> <!-- in falling ($98a7) -->
<action>prg.mq@1bfa0 = 99af4c0bb0bfb320</action>
<action>prg.mq@1bfa8 = 9c844c03b0bfb320</action>
<action>prg.mq@1bfb0 = d08029f5a599394c</action>
<action>prg.mq@1bfb8 = 046c8d00a9601802</action>
<action>prg.mq@1bfc0 = f0032905848df7a5</action>
<action>prg.mq@1bfc8 = ff603804508d4a04</action>
<!--
bfa0 | 20 b3 bf : jsr $bfb3 // in jumping
bfa3 | b0 0b : bcs $bfb0
bfa5 | 4c af 99 : jmp $99af
bfa8 | 20 b3 bf : jsr $bfb3 // in falling
bfab | b0 03 : bcs $bfb0
bfad | 4c 84 9c : jmp $9c84
bfb0 | 4c 39 99 : jmp $9939
bfb3 | a5 f5 : lda $f5 // main check routine
bfb5 | 29 80 : and #$80
bfb7 | d0 02 : bne $bfbb
bfb9 | 18 : clc
bfba | 60 : rts
bfbb | a9 00 : lda #$00
bfbd | 8d 6c 04 : sta $046c
bfc0 | a5 f7 : lda $f7
bfc2 | 8d 84 05 : sta $0584
bfc5 | 29 03 : and #$03
bfc7 | f0 04 : beq $bfcd
bfc9 | 4a : lsr a
bfca | 8d 50 04 : sta $0450
bfcd | 38 : sec
bfce | 60 : rts
-->
</script>
<script state="off">
<action>prg.mw@1989b = 99af</action>
<action>prg.mw@198a7 = 9c84</action>
<action>prg.mq@1bfa0 = ffffffffffffffff</action>
<action>prg.mq@1bfa8 = ffffffffffffffff</action>
<action>prg.mq@1bfb0 = ffffffffffffffff</action>
<action>prg.mq@1bfb8 = ffffffffffffffff</action>
<action>prg.mq@1bfc0 = ffffffffffffffff</action>
<action>prg.mq@1bfc8 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x7f">02 </item>
<item value="0x3f">03 </item>
<item value="0x1f">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>prg.mb@1a5d9 = param</action> <!-- ($a5d9) -->
</script>
<script state="off">
<action>prg.mb@1a5d9 = 3f</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>prg.mw@1c1f9 = fe20</action> <!-- ($c1f9) -->
<action>prg.mq@1fe20 = a633f0f1c5a8f7a5</action>
<action>prg.mq@1fe28 = 01c9ca01d002c9f0</action>
<action>prg.mq@1fe30 = 8a06d004c9e801d0</action>
<action>prg.mq@1fe38 = d008c998aa10e938</action>
<action>prg.mq@1fe40 = 8698aa1069188a06</action>
<action>prg.mq@1fe48 = 574c8a04d040c9f0</action>
<action>prg.mq@1fe50 = 2055a905d080c9fe</action>
<action>prg.mq@1fe58 = ffffff60f184c1b5</action>
<!--
fe20 | a5 f7 : lda $f7 // read input
fe22 | a8 : tay
fe23 | c5 f1 : cmp $f1
fe25 | f0 33 : beq $fe5a
fe27 | a6 f0 : ldx $f0
fe29 | c9 02 : cmp #$02
fe2b | d0 01 : bne $fe2e
fe2d | ca : dex // decrease code -01
fe2e | c9 01 : cmp #$01
fe30 | d0 01 : bne $fe33
fe32 | e8 : inx // increase code +01
fe33 | c9 04 : cmp #$04
fe35 | d0 06 : bne $fe3d
fe37 | 8a : txa // decrease code -10
fe38 | 38 : sec
fe39 | e9 10 : sbc #$10
fe3b | aa : tax
fe3c | 98 : tya
fe3d | c9 08 : cmp #$08
fe3f | d0 06 : bne $fe47
fe41 | 8a : txa // increase code +10
fe42 | 18 : clc
fe43 | 69 10 : adc #$10
fe45 | aa : tax
fe46 | 98 : tya
fe47 | 86 f0 : stx $f0
fe49 | c9 40 : cmp #$40
fe4b | d0 04 : bne $fe51
fe4d | 8a : txa // play sound
fe4e | 4c 57 fe : jmp $fe57
fe51 | c9 80 : cmp #$80
fe53 | d0 05 : bne $fe5a
fe55 | a9 55 : lda #$55 // stop music
fe57 | 20 b5 c1 : jsr $c1b5
fe5a | 84 f1 : sty $f1
fe5c | 60 : rts
-->
</script>
<script state="run">
<output format="----- vs. castlevania sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop music" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@00f0</argument>
</output>
</script>
<script state="off">
<action>prg.mw@1c1f9 = bd25</action>
<action>prg.mq@1fe20 = ffffffffffffffff</action>
<action>prg.mq@1fe28 = ffffffffffffffff</action>
<action>prg.mq@1fe30 = ffffffffffffffff</action>
<action>prg.mq@1fe38 = ffffffffffffffff</action>
<action>prg.mq@1fe40 = ffffffffffffffff</action>
<action>prg.mq@1fe48 = ffffffffffffffff</action>
<action>prg.mq@1fe50 = ffffffffffffffff</action>
<action>prg.mq@1fe58 = ffffffffffffffff</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>prg.mb@1fc56 = 60</action> <!-- ($fc56) -->
</script>
<script state="off">
<action>prg.mb@1fc56 = 20</action>
</script>
</cheat>
BTW, "skip rom check" in official package based on 0.221 doesn't work since 0.242 because of
driver update. Modification is simple. Change tag "maincpu" to "prg" and address "$fc56" to "$1fc56".
[cstlevna] Vs. Akuma-Jou Dracula/Vs. Castlevania
Posted: Mon Jun 17, 2024 9:08 am
by jman
cstlevna.xml
Code: Select all
<!-- Vs. Castlevania -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>prg.mb@1E7A9 = 60 </action> <!-- objects ($e7a9) -->
<action>prg.mw@187BD = 88C8</action> <!-- trap ($87bd) -->
</script>
<script state="off">
<action>prg.mb@1E7A9 = BD </action>
<action>prg.mw@187BD = A575</action>
</script>
</cheat>
<cheat desc="no fall down">
<script state="on">
<action>prg.md@1A3F3 = EABFD020 </action> <!-- ($a3f3) -->
<action>prg.mq@1BFD0 = 60D0C93FA501428D</action>
<!--
BFD0 | 8D 42 01 : sta $0142
BFD3 | A5 3F : lda $3f
BFD5 | C9 D0 : cmp #$d0
BFD7 | 60 : rts
-->
</script>
<script state="off">
<action>prg.md@1A3F3 = 1801428D </action>
<action>prg.mq@1BFD0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>prg.mb@19F5D = F7</action> <!-- ($9f5d) -->
</script>
<script state="off">
<action>prg.mb@19F5D = F5</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>prg.mb@1A019 = 02 </action> <!-- weapon ($a019) -->
<action>prg.md@1A034 = FF070605</action> <!-- attack status ($a034) -->
<action>prg.mb@1AD61 = 02 </action> <!-- collision check [block] ($ad61) -->
<action>prg.mb@1E49B = 02 </action> <!-- collision check [objects] ($e49b) -->
</script>
<script state="off">
<action>prg.mb@1A019 = 11 </action>
<action>prg.md@1A034 = 05050505</action>
<action>prg.mb@1AD61 = 09 </action>
<action>prg.mb@1E49B = 11 </action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>prg.mw@1989B = BFA0 </action> <!-- in jumping ($989b) -->
<action>prg.mw@198A7 = BFA8 </action> <!-- in falling ($98a7) -->
<action>prg.mq@1BFA0 = 99AF4C0BB0BFB320</action>
<action>prg.mq@1BFA8 = 9C844C03B0BFB320</action>
<action>prg.mq@1BFB0 = D08029F5A599394C</action>
<action>prg.mq@1BFB8 = 046C8D00A9601802</action>
<action>prg.mq@1BFC0 = F0032905848DF7A5</action>
<action>prg.mq@1BFC8 = FF603804508D4A04</action>
<!--
BFA0 | 20 B3 BF : jsr $bfb3 // in jumping
BFA3 | B0 0B : bcs $bfb0
BFA5 | 4C AF 99 : jmp $99af
BFA8 | 20 B3 BF : jsr $bfb3 // in falling
BFAB | B0 03 : bcs $bfb0
BFAD | 4C 84 9C : jmp $9c84
BFB0 | 4C 39 99 : jmp $9939
BFB3 | A5 F5 : lda $f5 // main routine
BFB5 | 29 80 : and #$80
BFB7 | D0 02 : bne $bfbb
BFB9 | 18 : clc
BFBA | 60 : rts
BFBB | A9 00 : lda #$00
BFBD | 8D 6C 04 : sta $046c
BFC0 | A5 F7 : lda $f7
BFC2 | 8D 84 05 : sta $0584
BFC5 | 29 03 : and #$03
BFC7 | F0 04 : beq $bfcd
BFC9 | 4A : lsr a
BFCA | 8D 50 04 : sta $0450
BFCD | 38 : sec
BFCE | 60 : rts
-->
</script>
<script state="off">
<action>prg.mw@1989B = 99AF </action>
<action>prg.mw@198A7 = 9C84 </action>
<action>prg.mq@1BFA0 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BFA8 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BFB0 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BFB8 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BFC0 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BFC8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0xff">01 (slow)</item>
<item value="0x7f">02 </item>
<item value="0x3f">03 </item>
<item value="0x1f">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.pb@0001A = 00 </action> <!-- initialize sub timer -->
<action> prg.mb@1A5D9 = param</action> <!-- ($a5d9) -->
</script>
<script state="off">
<action>maincpu.pb@0001A = 00</action>
<action> prg.mb@1A5D9 = 3F</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- some sfxs (eg 0x25) doesn't stop by sound stop button -->
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>prg.mw@1C1F9 = FE20 </action> <!-- ($c1f9) -->
<action>prg.mq@1FE20 = F0A631F0F1C4F7A4</action>
<action>prg.mq@1FE28 = D001C0CA01D002C0</action>
<action>prg.mq@1FE30 = 388A05D004C0E801</action>
<action>prg.mq@1FE38 = 8A05D008C0AA10E9</action>
<action>prg.mq@1FE40 = 40C0F086AA106918</action>
<action>prg.mq@1FE48 = 80C0FE544C8A04D0</action>
<action>prg.mq@1FE50 = 84C1B52055A905D0</action>
<action>prg.mq@1FE58 = FFFFFFFFFFFF60F1</action>
<!--
FE20 | A4 F7 : ldy $f7 // read input
FE22 | C4 F1 : cpy $f1
FE24 | F0 31 : beq $fe57
FE26 | A6 F0 : ldx $f0
FE28 | C0 02 : cpy #$02
FE2A | D0 01 : bne $fe2d
FE2C | CA : dex // decrease code -01
FE2D | C0 01 : cpy #$01
FE2F | D0 01 : bne $fe32
FE31 | E8 : inx // increase code +01
FE32 | C0 04 : cpy #$04
FE34 | D0 05 : bne $fe3b
FE36 | 8A : txa // decrease code -10
FE37 | 38 : sec
FE38 | E9 10 : sbc #$10
FE3A | AA : tax
FE3B | C0 08 : cpy #$08
FE3D | D0 05 : bne $fe44
FE3F | 8A : txa // increase code +10
FE40 | 18 : clc
FE41 | 69 10 : adc #$10
FE43 | AA : tax
FE44 | 86 F0 : stx $f0
FE46 | C0 40 : cpy #$40
FE48 | D0 04 : bne $fe4e
FE4A | 8A : txa // play sound
FE4B | 4C 54 FE : jmp $fe54
FE4E | C0 80 : cpy #$80
FE50 | D0 05 : bne $fe57
FE52 | A9 55 : lda #$55 // stop sound
FE54 | 20 B5 C1 : jsr $c1b5 // send sound code
FE57 | 84 F1 : sty $f1
FE59 | 60 : rts
-->
</script>
<script state="run">
<output format="----- vs. castlevania sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop music" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@00F0</argument>
</output>
</script>
<script state="off">
<action>prg.mw@1C1F9 = BD25 </action>
<action>prg.mq@1FE20 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1FE28 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1FE30 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1FE38 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1FE40 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1FE48 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1FE50 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1FE58 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>prg.mb@1FC56 = 60</action> <!-- ($fc56) -->
</script>
<script state="off">
<action>prg.mb@1FC56 = 20</action>
</script>
</cheat>
</mamecheat>
- "no fall down" : Added new.
- "timer speed" : Initialized sub timer.
- "sound test mode" : Rewritten routine.
[pc_cvnia] Akuma-Jou Dracula/Castlevania
Posted: Mon Jun 17, 2024 9:12 am
by jman
pc_cvnia.xml
Code: Select all
<!-- Castlevania (PlayChoice-10) -->
<mamecheat version="1">
<cheat desc="infinite main time with auto enter">
<script state="on">
<action>temp0 = maincpu.mw@0080</action>
<!-- bios 0 : Dual Monitor Version -->
<action condition="temp0 == 0x11eb">maincpu.mw@0080 = 3F00 </action>
<action condition="temp0 == 0x11eb">maincpu.mq@3F00 = EBCD80D222999921</action>
<action condition="temp0 == 0x11eb">maincpu.mq@3F08 = 000000000000C911</action>
<action condition="temp0 == 0x11eb">maincpu.mb@0F54 = 18 </action>
<!-- bios 1, 3 : Single Monitor Version -->
<action condition="temp0 == 0x1416">maincpu.mw@0080 = 3CB0 </action>
<action condition="temp0 == 0x1416">maincpu.mq@3CB0 = 16CD80D222999921</action>
<action condition="temp0 == 0x1416">maincpu.mq@3CB8 = 000000000000C914</action>
<action condition="temp0 == 0x1416">maincpu.mb@11B1 = 18 </action>
<!-- bios 2 : Alternate BIOS -->
<action condition="temp0 == 0x0f3e">maincpu.mw@0080 = 3D50 </action>
<action condition="temp0 == 0x0f3e">maincpu.mq@3D50 = 3ECD80D222999921</action>
<action condition="temp0 == 0x0f3e">maincpu.mq@3D58 = FFFFFFFFFFFFC90F</action>
<action condition="temp0 == 0x0f3e">maincpu.mb@0CC0 = 18 </action>
<!-- bios 4 : Dual Monitor Version (alternate) -->
<action condition="temp0 == 0x11e1">maincpu.mw@0080 = 3F00 </action>
<action condition="temp0 == 0x11e1">maincpu.mq@3F00 = E1CD80D222999921</action>
<action condition="temp0 == 0x11e1">maincpu.mq@3F08 = 000000000000C911</action>
<action condition="temp0 == 0x11e1">maincpu.mb@0F54 = 18 </action>
</script>
<script state="off">
<action> maincpu.mw@0080 = temp0 </action>
<action condition="(temp0 == 0x11eb) || (temp0 == 0x11e1)">maincpu.mq@3F00 = 0000000000000000</action>
<action condition="(temp0 == 0x11eb) || (temp0 == 0x11e1)">maincpu.mq@3F08 = 0000000000000000</action>
<action condition="(temp0 == 0x11eb) || (temp0 == 0x11e1)">maincpu.mb@0F54 = 20 </action>
<action condition="(temp0 == 0x1416)"> maincpu.mq@3CB0 = 0000000000000000</action>
<action condition="(temp0 == 0x1416)"> maincpu.mq@3CB8 = 0000000000000000</action>
<action condition="(temp0 == 0x1416)"> maincpu.mq@11B1 = 20 </action>
<action condition="(temp0 == 0x0f3e)"> maincpu.mq@3D50 = FFFFFFFFFFFFFFFF</action>
<action condition="(temp0 == 0x0f3e)"> maincpu.mq@3D58 = FFFFFFFFFFFFFFFF</action>
<action condition="(temp0 == 0x0f3e)"> maincpu.mq@0CC0 = 20 </action>
</script>
</cheat>
<cheat desc="skip bios rom check">
<script state="on">
<action condition="maincpu.mw@0244 = 0x159b">temp0 = maincpu.mw@0244, maincpu.mw@0244 = 024D</action>
<action condition="maincpu.mw@024f = 0x17fa">temp0 = maincpu.mw@024F, maincpu.mw@024F = 0258</action>
<action condition="maincpu.mw@0246 = 0x12ee">temp0 = maincpu.mw@0246, maincpu.mw@0246 = 024F</action>
<action condition="maincpu.mw@0244 = 0x1591">temp0 = maincpu.mw@0244, maincpu.mw@0244 = 024D</action>
</script>
<script state="off">
<action condition="temp0 == 0x159b">maincpu.mw@0244 = temp0</action>
<action condition="temp0 == 0x17fa">maincpu.mw@024F = temp0</action>
<action condition="temp0 == 0x12ee">maincpu.mw@0246 = temp0</action>
<action condition="temp0 == 0x1591">maincpu.mw@0244 = temp0</action>
</script>
</cheat>
<cheat desc=" " />
<cheat desc="no hit">
<script state="on">
<action>prg.mb@182D7 = 88</action> <!-- trap ($82d7) -->
<action>prg.mb@1E70D = 60</action> <!-- objects ($e70d) -->
</script>
<script state="off">
<action>prg.mb@182D7 = 48</action>
<action>prg.mb@1E70D = BD</action>
</script>
</cheat>
<cheat desc="no fall down">
<script state="on">
<action>prg.md@19EC4 = EABA7020 </action> <!-- ($9ec4) -->
<action>prg.mq@1BA70 = 60D0C93FA501428D</action>
<!--
BA70 | 8D 42 01 : sta $0142
BA73 | A5 3F : lda $3f
BA75 | C9 D0 : cmp #$d0
BA77 | 60 : rts
-->
</script>
<script state="off">
<action>prg.md@19EC4 = 1801428D </action>
<action>prg.mq@1BA70 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>prg.mb@19A30 = F7</action> <!-- ($9a30) -->
</script>
<script state="off">
<action>prg.mb@19A30 = F5</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>prg.mb@19AEC = 02 </action> <!-- weapon ($9aec) -->
<action>prg.md@19B08 = FF070605</action> <!-- attack status ($9b08) -->
<action>prg.mb@1A834 = 02 </action> <!-- collision check [block] ($a834) -->
<action>prg.mb@1E3FF = 02 </action> <!-- collision check [objects] ($e3ff) -->
</script>
<script state="off">
<action>prg.mb@19AEC = 11 </action>
<action>prg.md@19B08 = 05050505</action>
<action>prg.mb@1A834 = 09 </action>
<action>prg.mb@1E3FF = 11 </action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>prg.mw@1936E = BA40 </action> <!-- in jumping ($936e) -->
<action>prg.mw@1937A = BA48 </action> <!-- in falling ($937a) -->
<action>prg.mq@1BA40 = 94824C0BB0BA5320</action>
<action>prg.mq@1BA48 = 97574C03B0BA5320</action>
<action>prg.mq@1BA50 = D08029F5A5940C4C</action>
<action>prg.mq@1BA58 = 046C8D00A9601802</action>
<action>prg.mq@1BA60 = F0032905848DF7A5</action>
<action>prg.mq@1BA68 = FF603804508D4A04</action>
<!--
BA40 | 20 53 BA : jsr $ba53 // in jumping
BA43 | B0 0B : bcs $ba50
BA45 | 4C 82 94 : jmp $9482
BA48 | 20 53 BF : jsr $bf53 // in falling
BA4B | B0 03 : bcs $bfb0
BA4D | 4C 57 97 : jmp $9757
BA50 | 4C 0C 94 : jmp $940c
BA53 | A5 F5 : lda $f5 // main routine
BA55 | 29 80 : and #$80
BA57 | D0 02 : bne $ba5b
BA59 | 18 : clc
BA5A | 60 : rts
BA5B | A9 00 : lda #$00
BA5D | 8D 6C 04 : sta $046c
BA60 | A5 F7 : lda $f7
BA62 | 8D 84 05 : sta $0584
BA65 | 29 03 : and #$03
BA67 | F0 04 : beq $ba6d
BA69 | 4A : lsr a
BA6A | 8D 50 04 : sta $0450
BA6D | 38 : sec
BA6E | 60 : rts
-->
</script>
<script state="off">
<action>prg.mw@1936E = 9482 </action>
<action>prg.mw@1937A = 9757 </action>
<action>prg.mq@1BF40 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BF48 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BF50 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BF58 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BF60 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BF68 = 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>cart.pb@0001A = 00 </action> <!-- initialize sub timer -->
<action> prg.mb@1A0AC = param</action> <!-- ($a0ac) -->
</script>
<script state="off">
<action>cart.pb@0001A = 00</action>
<action> prg.mb@1A0AC = 3F</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- some sfxs (eg 0x25) doesn't stop by sound stop button -->
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>prg.mw@1C1D5 = BA80 </action> <!-- ($c1d5) -->
<action>prg.mq@1BA80 = F0A631F0F1C4F7A4</action>
<action>prg.mq@1BA88 = D001C0CA01D002C0</action>
<action>prg.mq@1BA90 = 388A05D004C0E801</action>
<action>prg.mq@1BA98 = 8A05D008C0AA10E9</action>
<action>prg.mq@1BAA0 = 40C0F086AA106918</action>
<action>prg.mq@1BAA8 = 80C0BAB44C8A04D0</action>
<action>prg.mq@1BAB0 = 84C1952055A905D0</action>
<action>prg.mq@1BAB8 = FFFFFFFFFFFF60F1</action>
<!--
BA80 | A4 F7 : ldy $f7 // read input
BA82 | C4 F1 : cpy $f1
BA84 | F0 31 : beq $bab7
BA86 | A6 F0 : ldx $f0
BA88 | C0 02 : cpy #$02
BA8A | D0 01 : bne $ba8d
BA8C | CA : dex // decrease code -01
BA8D | C0 01 : cpy #$01
BA8F | D0 01 : bne $ba92
BA91 | E8 : inx // increase code +01
BA92 | C0 04 : cpy #$04
BA94 | D0 05 : bne $ba9b
BA96 | 8A : txa // decrease code -10
BA97 | 38 : sec
BA98 | E9 10 : sbc #$10
BA9A | AA : tax
BA9B | C0 08 : cpy #$08
BA9D | D0 05 : bne $baa4
BA9F | 8A : txa // increase code +10
BAA0 | 18 : clc
BAA1 | 69 10 : adc #$10
BAA3 | AA : tax
BAA4 | 86 F0 : stx $f0
BAA6 | C0 40 : cpy #$40
BAA8 | D0 04 : bne $baae
BAAA | 8A : txa // play sound
BAAB | 4C B4 BA : jmp $bab4
BAAE | C0 80 : cpy #$80
BAB0 | D0 05 : bne $bab7
BAB2 | A9 55 : lda #$55 // stop sound
BAB4 | 20 95 C1 : jsr $c195 // send sound code
BAB7 | 84 F1 : sty $f1
BAB9 | 60 : rts
-->
</script>
<script state="run">
<output format="----- castlevania sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop music" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>cart.pb@00F0</argument>
</output>
</script>
<script state="off">
<action>prg.mw@1C1D5 = B7DC </action>
<action>prg.mq@1BA80 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BA88 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BA90 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BA98 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BAA0 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BAA8 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BAB0 = FFFFFFFFFFFFFFFF</action>
<action>prg.mq@1BAB8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
"infinite main time with auto enter" and "skip bios rom check" are common code for PlayChoice-10.