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: 844 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Sat Sep 18, 2021 11:23 am
Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@184d = 184f</action> <!-- enemy -->
<action>maincpu.mw@185a = 185c</action> <!-- bomb -->
</script>
<script state="off">
<action>maincpu.mw@184d = 1b29</action>
<action>maincpu.mw@185a = 1baa</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.mq@1a27 = 10c1478ccdc50006</action>
<action>maincpu.mq@1a2f = cbdd061ef50000f9</action>
<!--
1a27 | 06 xx : ld b,$xx
1a29 | c5 : push bc
1a2a | cd 8c 47 : call $478c
1a2d | c1 : pop bc
1a2e | 10 f9 : djnz $1a29
1a30 | 00 : nop
1a31 | 00 : nop
-->
</script>
<script state="change">
<action>maincpu.mb@1a28 = param</action>
</script>
<script state="off">
<action>maincpu.mq@1a27 = 66cb807b21478ccd</action>
<action>maincpu.mq@1a2f = cbdd061ef5478cc4</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set rom check skip then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@0197 = 3ad5019a11810021</action>
<action>maincpu.mq@019f = 2080fec847b88806</action>
<action>maincpu.mq@01a7 = fe34012040fe3501</action>
<action>maincpu.mq@01af = 01fe05187e032002</action>
<action>maincpu.mq@01b7 = 01c9880032fe3ec0</action>
<!--
0197 | 21 00 81 : ld hl,$8100 // sound code address
019a | 11 9a 01 : ld de,$019a
019d | d5 : push de
019e | 3a 06 88 : ld a,($8806) // read input
01a1 | b8 : cp b
01a2 | 47 : ld b,a
01a3 | c8 : ret z
01a4 | fe 80 : cp $80
01a6 | 20 01 : jr nz,$01a9
01a8 | 35 : dec (hl) // decrease code
01a9 | fe 40 : cp $40
01ab | 20 01 : jr nz,$01ae
01ad | 34 : inc (hl) // increase code
01ae | fe 02 : cp $02
01b0 | 20 03 : jr nz,$01b5
01b2 | 7e : ld a,(hl) // play sound
01b3 | 18 05 : jr $01ba
01b5 | fe 01 : cp $01
01b7 | c0 : ret nz
01b8 | 3e fe : ld a,$fe // stop sound
01ba | 32 00 88 : ld ($8800),a // send sound code
01bd | c9 : ret
-->
</script>
<script state="run">
<output format="----- performan sound test mode -----" line="10" align="center" />
<output format="left : decrease code" line="11" align="center" />
<output format="right : increase code" line="12" align="center" />
<output format="button 1 : play sound" line="13" align="center" />
<output format="button 2 : stop sound" line="14" align="center" />
<output format="----------------------------" line="15" align="center" />
<output format="<< sound code %2.2X >>" line="17" align="center">
<argument>maincpu.pb@8100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@0197 = 266f86381186333a</action>
<action>maincpu.mq@019f = 26287ecb19292900</action>
<action>maincpu.mq@01a7 = a0eda0ed863411e5</action>
<action>maincpu.mq@01af = 064f8787a0eda0ed</action>
<action>maincpu.mq@01b7 = 01c11109021c2100</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.md@7ec1 = 110178c3</action>
</script>
<script state="off">
<action>maincpu.md@7ec1 = 116f67af</action>
</script>
</cheat>
Current "invincibility" has problem that you can't get an item.
jman
Posts: 844 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Thu Dec 08, 2022 9:31 am
Code: Select all
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.mq@0197 = 47b888063a810021</action>
<action>maincpu.mq@019f = fe35012080fef928</action>
<action>maincpu.mq@01a7 = 042020fe34012040</action>
<action>maincpu.mq@01af = 052010fe0618f03e</action>
<action>maincpu.mq@01b7 = 2002fe787786103e</action>
<action>maincpu.mq@01bf = 052001fe06187e03</action>
<action>maincpu.mq@01c7 = 33cc18880032fe3e</action>
<!--
0197 | 21 00 81 : ld hl,$8100 // sound code address
019a | 3a 06 88 : ld a,($8806) // read input
019d | b8 : cp b
019e | 47 : ld b,a
019f | 28 f9 : jr z,$019A
01a1 | fe 80 : cp $80
01a3 | 20 01 : jr nz,$01A6
01a5 | 35 : dec (hl) // decrease code -01
01a6 | fe 40 : cp $40
01a8 | 20 01 : jr nz,$01AB
01aa | 34 : inc (hl) // increase code +01
01ab | fe 20 : cp $20
01ad | 20 04 : jr nz,$01B3
01af | 3e f0 : ld a,$F0 // decrease code -10
01b1 | 18 06 : jr $01B9
01b3 | fe 10 : cp $10
01b5 | 20 05 : jr nz,$01BC
01b7 | 3e 10 : ld a,$10 // increase code +10
01b9 | 86 : add a,(hl)
01ba | 77 : ld (hl),a
01bb | 78 : ld a,b
01bc | fe 02 : cp $02
01be | 20 03 : jr nz,$01C3
01c0 | 7e : ld a,(hl) // play sound
01c1 | 18 06 : jr $01C9
01c3 | fe 01 : cp $01
01c5 | 20 05 : jr nz,$01CC
01c7 | 3e fe : ld a,$FE // stop sound
01c9 | 32 00 88 : ld ($8800),a // send sound code
01cc | 18 cc : jr $019A
-->
</script>
<script state="run">
<output format="----- performan 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@8100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@0197 = 266f86381186333a</action>
<action>maincpu.mq@019f = 26287ecb19292900</action>
<action>maincpu.mq@01a7 = a0eda0ed863411e5</action>
<action>maincpu.mq@01af = 064f8787a0eda0ed</action>
<action>maincpu.mq@01b7 = 01c11109021c2100</action>
<action>maincpu.mq@01bf = a0ed863421d1e9d5</action>
<action>maincpu.mq@01c7 = 3321a0eda0eda0ed</action>
</script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10).
jman
Posts: 844 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Thu Feb 15, 2024 12:30 am
perfrman.xml
Code: Select all
<!-- Performan (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@184D = 184F</action> <!-- enemy -->
<action>maincpu.mw@185A = 185C</action> <!-- bomb -->
</script>
<script state="off">
<action>maincpu.mw@184D = 1B29</action>
<action>maincpu.mw@185A = 1BAA</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.mq@1A27 = 10C1478CCDC50006</action>
<action>maincpu.mq@1A2F = CBDD061EF50000F9</action>
<!--
1A27 | 06 xx : ld b,$xx
1A29 | C5 : push bc
1A2A | CD 8C 47 : call $478C
1A2D | C1 : pop bc
1A2E | 10 F9 : djnz $1A29
1A30 | 00 : nop
1A31 | 00 : nop
-->
</script>
<script state="change">
<action>maincpu.mb@1A28 = param</action>
</script>
<script state="off">
<action>maincpu.mq@1A27 = 66CB807B21478CCD</action>
<action>maincpu.mq@1A2F = CBDD061EF5478CC4</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.mq@0197 = 47B888063A800021</action>
<action>maincpu.mq@019F = FE35012080FEF928</action>
<action>maincpu.mq@01A7 = 042020FE34012040</action>
<action>maincpu.mq@01AF = 052010FE0618F03E</action>
<action>maincpu.mq@01B7 = 2002FE787786103E</action>
<action>maincpu.mq@01BF = 052001FE06187E03</action>
<action>maincpu.mq@01C7 = 33CC18880032FE3E</action>
<!--
0197 | 21 00 80 : ld hl,$8000 // sound code address
019A | 3A 06 88 : ld a,($8806) // read input
019D | B8 : cp b
019E | 47 : ld b,a
019F | 28 F9 : jr z,$019A
01A1 | FE 80 : cp $80
01A3 | 20 01 : jr nz,$01A6
01A5 | 35 : dec (hl) // decrease code -01
01A6 | FE 40 : cp $40
01A8 | 20 01 : jr nz,$01AB
01AA | 34 : inc (hl) // increase code +01
01AB | FE 20 : cp $20
01AD | 20 04 : jr nz,$01B3
01AF | 3E F0 : ld a,$F0 // decrease code -10
01B1 | 18 06 : jr $01B9
01B3 | FE 10 : cp $10
01B5 | 20 05 : jr nz,$01BC
01B7 | 3E 10 : ld a,$10 // increase code +10
01B9 | 86 : add a,(hl)
01BA | 77 : ld (hl),a
01BB | 78 : ld a,b
01BC | FE 02 : cp $02
01BE | 20 03 : jr nz,$01C3
01C0 | 7E : ld a,(hl) // play sound
01C1 | 18 06 : jr $01C9
01C3 | FE 01 : cp $01
01C5 | 20 05 : jr nz,$01CC
01C7 | 3E FE : ld a,$FE // stop sound
01C9 | 32 00 88 : ld ($8800),a // send sound code
01CC | 18 CC : jr $019A
-->
</script>
<script state="run">
<output format="----- performan 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@8000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@0197 = 266F86381186333A</action>
<action>maincpu.mq@019F = 26287ECB19292900</action>
<action>maincpu.mq@01A7 = A0EDA0ED863411E5</action>
<action>maincpu.mq@01AF = 064F8787A0EDA0ED</action>
<action>maincpu.mq@01B7 = 01C11109021C2100</action>
<action>maincpu.mq@01BF = A0ED863421D1E9D5</action>
<action>maincpu.mq@01C7 = 3321A0EDA0EDA0ED</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.md@7EC1 = 110178C3</action>
</script>
<script state="off">
<action>maincpu.md@7EC1 = 116F67AF</action>
</script>
</cheat>
</mamecheat>
perfrmanu.xml
Code: Select all
<!-- Performan (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mw@184D = 184F</action> <!-- enemy -->
<action>maincpu.mw@185A = 185C</action> <!-- bomb -->
</script>
<script state="off">
<action>maincpu.mw@184D = 1B29</action>
<action>maincpu.mw@185A = 1BAA</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.mq@1A27 = 10C1478CCDC50006</action>
<action>maincpu.mq@1A2F = CBDD061EF50000F9</action>
<!--
1A27 | 06 xx : ld b,$xx
1A29 | C5 : push bc
1A2A | CD 8C 47 : call $478C
1A2D | C1 : pop bc
1A2E | 10 F9 : djnz $1A29
1A30 | 00 : nop
1A31 | 00 : nop
-->
</script>
<script state="change">
<action>maincpu.mb@1A28 = param</action>
</script>
<script state="off">
<action>maincpu.mq@1A27 = 66CB807B21478CCD</action>
<action>maincpu.mq@1A2F = CBDD061EF5478CC4</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.mq@0197 = 47B888063A800021</action>
<action>maincpu.mq@019F = FE35012080FEF928</action>
<action>maincpu.mq@01A7 = 042020FE34012040</action>
<action>maincpu.mq@01AF = 052010FE0618F03E</action>
<action>maincpu.mq@01B7 = 2002FE787786103E</action>
<action>maincpu.mq@01BF = 052001FE06187E03</action>
<action>maincpu.mq@01C7 = 33CC18880032FE3E</action>
<!--
0197 | 21 00 80 : ld hl,$8000 // sound code address
019A | 3A 06 88 : ld a,($8806) // read input
019D | B8 : cp b
019E | 47 : ld b,a
019F | 28 F9 : jr z,$019A
01A1 | FE 80 : cp $80
01A3 | 20 01 : jr nz,$01A6
01A5 | 35 : dec (hl) // decrease code -01
01A6 | FE 40 : cp $40
01A8 | 20 01 : jr nz,$01AB
01AA | 34 : inc (hl) // increase code +01
01AB | FE 20 : cp $20
01AD | 20 04 : jr nz,$01B3
01AF | 3E F0 : ld a,$F0 // decrease code -10
01B1 | 18 06 : jr $01B9
01B3 | FE 10 : cp $10
01B5 | 20 05 : jr nz,$01BC
01B7 | 3E 10 : ld a,$10 // increase code +10
01B9 | 86 : add a,(hl)
01BA | 77 : ld (hl),a
01BB | 78 : ld a,b
01BC | FE 02 : cp $02
01BE | 20 03 : jr nz,$01C3
01C0 | 7E : ld a,(hl) // play sound
01C1 | 18 06 : jr $01C9
01C3 | FE 01 : cp $01
01C5 | 20 05 : jr nz,$01CC
01C7 | 3E FE : ld a,$FE // stop sound
01C9 | 32 00 88 : ld ($8800),a // send sound code
01CC | 18 CC : jr $019A
-->
</script>
<script state="run">
<output format="----- performan 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@8000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mq@0197 = 266F86381186333A</action>
<action>maincpu.mq@019F = 26287ECB19292900</action>
<action>maincpu.mq@01A7 = A0EDA0ED863411E5</action>
<action>maincpu.mq@01AF = 064F8787A0EDA0ED</action>
<action>maincpu.mq@01B7 = 01C11109021C2100</action>
<action>maincpu.mq@01BF = A0ED863421D1E9D5</action>
<action>maincpu.mq@01C7 = 3321A0EDA0EDA0ED</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.md@7EC1 = 110178C3</action>
</script>
<script state="off">
<action>maincpu.md@7EC1 = 116F67AF</action>
</script>
</cheat>
</mamecheat>