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 » Thu May 27, 2021 3:51 pm
Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@3048 = 18</action> <!-- enemy -->
<action>maincpu.mb@3081 = 18</action> <!-- dynamite -->
<action>maincpu.mb@3169 = c9</action> <!-- barrel -->
</script>
<script state="off">
<action>maincpu.mb@3048 = 38</action>
<action>maincpu.mb@3081 = 38</action>
<action>maincpu.mb@3169 = dd</action>
</script>
</cheat>
<cheat desc="explosion speed">
<parameter>
<item value="0x80">01 (slow)</item>
<item value="0x40">02 </item>
<item value="0x20">03 </item>
<item value="0x18">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@266e = param</action>
</script>
<script state="off">
<action>maincpu.mb@266e = 18</action>
</script>
</cheat>
"no hit" code has problem. Sometimes you are stuck in the wall and can't escape when you are sandwiched between barrel and wall.
Last edited by
jman on Sat Oct 23, 2021 8:48 am, edited 1 time in total.
jman
Posts: 844 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Sat May 29, 2021 2:42 am
Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@3048 = 18</action> <!-- enemy -->
<action>maincpu.mb@3081 = 18</action> <!-- dynamite -->
<action>maincpu.mb@30b9 = c3</action> <!-- barrel -->
</script>
<script state="off">
<action>maincpu.mb@3048 = 38</action>
<action>maincpu.mb@3081 = 38</action>
<action>maincpu.mb@30b9 = da</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@0f88 = param</action> <!-- up -->
<action>maincpu.mb@0f92 = -param</action> <!-- down -->
<action>maincpu.mb@0f9c = -param</action> <!-- left -->
<action>maincpu.mb@0fa6 = param</action> <!-- right -->
</script>
<script state="off">
<action>maincpu.mb@0f88 = 02</action>
<action>maincpu.mb@0f92 = fe</action>
<action>maincpu.mb@0f9c = fe</action>
<action>maincpu.mb@0fa6 = 02</action>
</script>
</cheat>
<cheat desc="walk through wall">
<script state="on">
<action>maincpu.mb@12ea = 00</action> <!-- up -->
<action>maincpu.mb@12f6 = 00</action> <!-- down -->
<action>maincpu.mb@1302 = 00</action> <!-- left -->
<action>maincpu.mb@130e = 00</action> <!-- right -->
</script>
<script state="off">
<action>maincpu.mb@12ea = 28</action>
<action>maincpu.mb@12f6 = 1c</action>
<action>maincpu.mb@1302 = 10</action>
<action>maincpu.mb@130e = 04</action>
</script>
</cheat>
<cheat desc="explosion speed">
<parameter>
<item value="0x80">01 (slow)</item>
<item value="0x40">02 </item>
<item value="0x20">03 </item>
<item value="0x18">04 </item>
<item value="0x01">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@266e = param</action>
</script>
<script state="off">
<action>maincpu.mb@266e = 18</action>
</script>
</cheat>
Update.
Improved "no hit". Problem for barrel may be fixed.
Added "player speed" and "walk through wall".
Some problems will happen when you go to out of screen with "walk through wall" code.
Last edited by
jman on Sat Oct 23, 2021 8:50 am, edited 1 time in total.
jman
Posts: 844 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Tue Jun 01, 2021 12:38 pm
Added "super dynamite", "enemy speed" and "sound test mode".
Code: Select all
<cheat desc="super dynamite">
<script state="on">
<action>maincpu.mb@2997 = 18</action>
</script>
<script state="off">
<action>maincpu.mb@2997 = 20</action>
</script>
</cheat>
<cheat desc="enemy speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@1e4c = param</action>
</script>
<script state="off">
<action>maincpu.mb@1e4c = 02</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@02ad = 1570</action>
<action>maincpu.mq@1570 = 003a60002200ff21</action>
<action>maincpu.mq@1578 = 28fefef6286fbd80</action>
<action>maincpu.mq@1580 = 28effe0928fbfe0a</action>
<action>maincpu.mq@1588 = 3e24011825e8180a</action>
<action>maincpu.mq@1590 = 180433cd7c011840</action>
<action>maincpu.mq@1598 = 00000000000000da</action>
<!--
02ac | c3 70 15 : jp $1570
1570 | 21 ff 00 : ld hl,$00ff // initialize sound code and input values
1573 | 22 00 60 : ld ($6000),hl
1576 | 3a 00 80 : ld a,($8000) // read input
1579 | bd : cp l
157a | 6f : ld l,a
157b | 28 f6 : jr z,$1573
157d | fe fe : cp $fe // pressed left?
157f | 28 0a : jr z,$158b
1581 | fe fb : cp $fb // pressed right?
1583 | 28 09 : jr z,$158e
1585 | fe ef : cp $ef // pressed button1?
1587 | 28 0a : jr z,$1593
1589 | 18 e8 : jr $1573
158b | 25 : dec h // code decrement
158c | 18 01 : jr $158f
158e | 24 : inc h // code increment
158f | 3e 40 : ld a,$40 // stop sound when select next/prev code
1591 | 18 01 : jr $1594
1593 | 7c : ld a,h
1594 | cd 33 04 : call $0433 // send sound code
1597 | 18 da : jr $1573
-->
</script>
<script state="run">
<output format="----- mrs.dynamite sound test mode -----" line="10" align="center" />
<output format="left : code decrement" line="11" align="center" />
<output format="right : code increment" line="12" align="center" />
<output format="button 1 : play sound" line="13" align="center" />
<output format="----------------------------" line="14" align="center" />
<output format="<< sound code %2.2X >>" line="16" align="center">
<argument>maincpu.pb@6001</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@02ad = 040b</action>
<action>maincpu.mq@1570 = 0000000000000000</action>
<action>maincpu.mq@1578 = 0000000000000000</action>
<action>maincpu.mq@1580 = 0000000000000000</action>
<action>maincpu.mq@1588 = 0000000000000000</action>
<action>maincpu.mq@1590 = 0000000000000000</action>
<action>maincpu.mq@1598 = 0000000000000000</action>
</script>
</cheat>
List of main music codes.
0x0d : credit
0x0c : scene start
0xcb : main theme
0x10 : scene clear
0x1b : intermission
0xf2 : extra character
0x30 : miss
0xda : name entry
0xfb : main theme (fast tempo)
jman
Posts: 844 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Tue Nov 09, 2021 10:07 am
Improved "sound test mode". It is based on recent format ("sound stop" by up key instead of left/right)
Code: Select all
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@02ad = 1570</action>
<action>maincpu.mq@1570 = 47b880003a600021</action>
<action>maincpu.mq@1578 = fe350120fefef928</action>
<action>maincpu.mq@1580 = 0320effe340120fb</action>
<action>maincpu.mq@1588 = 3e0520f7fe06187e</action>
<action>maincpu.mq@1590 = 0000dd180433cd40</action>
<!--
1570 | 21 00 60 : ld hl,$6000 // sound code address
1573 | 3a 00 80 : ld a,($8000) // read input
1576 | b8 : cp b
1577 | 47 : ld b,a
1578 | 28 f9 : jr z,$1573
157a | fe fe : cp $fe
157c | 20 01 : jr nz,$157f
157e | 35 : dec (hl) // decrease code
157f | fe fb : cp $fb
1581 | 20 01 : jr nz,$1584
1583 | 34 : inc (hl) // increase code
1584 | fe ef : cp $ef
1586 | 20 03 : jr nz,$158b
1588 | 7e : ld a,(hl) // play sound
1589 | 18 06 : jr $1591
158b | fe f7 : cp $f7
158d | 20 05 : jr nz,$1594
158f | 3e 40 : ld a,$40 // stop sound
1591 | cd 33 04 : call $0433 // send sound code
1594 | 18 dd : jr $1573
-->
</script>
<script state="run">
<output format="----- mrs.dynamite 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="up : 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@6000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@02ad = 040b</action>
<action>maincpu.mq@1570 = 0000000000000000</action>
<action>maincpu.mq@1578 = 0000000000000000</action>
<action>maincpu.mq@1580 = 0000000000000000</action>
<action>maincpu.mq@1588 = 0000000000000000</action>
<action>maincpu.mq@1590 = 0000000000000000</action>
</script>
</cheat>
Added "remote dynamite control". You can explode a dynamite with free timing by button 1 after set it.
Code: Select all
<cheat desc="remote dynamite control">
<script state="on">
<action>maincpu.md@263f = 3515a0cd</action>
<action>maincpu.mq@15a0 = 01fe60b13a67e521</action>
<action>maincpu.mq@15a8 = c90236c901360320</action>
<!--
15a0 | 21 e5 67 : ld hl,$67e5
15a3 | 3a b1 60 : ld a,($60b1)
15a6 | fe 01 : cp $01
15a8 | 20 03 : jr nz,$15ad
15aa | 36 01 : ld (hl),$01
15ac | c9 : ret
15ad | 36 02 : ld (hl),$02
15af | c9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@263f = 3567e521</action>
<action>maincpu.mq@15a0 = 0000000000000000</action>
<action>maincpu.mq@15a8 = 0000000000000000</action>
</script>
</cheat>
(And arranged the order of cheat codes in my database...)
jman
Posts: 844 Joined: Tue Dec 01, 2020 1:24 pm
Post
by jman » Sat Oct 22, 2022 10:41 am
Code: Select all
<cheat desc="sound test mode (test)">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@02ad = 1570</action>
<action>maincpu.mq@1580 = 47b880003a600021</action>
<action>maincpu.mq@1588 = fe350120fefef928</action>
<action>maincpu.mq@1590 = 0420fdfe340120fb</action>
<action>maincpu.mq@1598 = 0520f7fe0618f03e</action>
<action>maincpu.mq@15a0 = 20effe787786103e</action>
<action>maincpu.mq@15a8 = 0520dffe06187e03</action>
<action>maincpu.mq@15b0 = 00cc180433cd403e</action>
<!--
1580 | 21 00 60 : ld hl,$6000 // sound code address
1583 | 3a 00 80 : ld a,($8000) // read input
1586 | b8 : cp b
1587 | 47 : ld b,a
1588 | 28 f9 : jr z,$1583
158a | fe fe : cp $FE
158c | 20 01 : jr nz,$158F
158e | 35 : dec (hl) // decrease code -01
158f | fe fb : cp $FB
1591 | 20 01 : jr nz,$1594
1593 | 34 : inc (hl) // increase code +01
1594 | fe fd : cp $FD
1596 | 20 04 : jr nz,$159C
1598 | 3e f0 : ld a,$F0 // decrease code -10
159a | 18 06 : jr $15A2
159c | fe f7 : cp $F7
159e | 20 05 : jr nz,$15A5
15a0 | 3e 10 : ld a,$10 // increase code +10
15a2 | 86 : add a,(hl)
15a3 | 77 : ld (hl),a
15a4 | 78 : ld a,b
15a5 | fe ef : cp $EF
15a7 | 20 03 : jr nz,$15AC
15a9 | 7e : ld a,(hl) // play sound
15aa | 18 06 : jr $15B2
15ac | fe df : cp $DF
15ae | 20 05 : jr nz,$15B5
15b0 | 3e 40 : ld a,$40 // stop sound
15b2 | cd 33 04 : call $0433 // send sound code
15b5 | 18 cc : jr $1583
-->
</script>
<script state="run">
<output format="----- mrs.dynamite 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="start : 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@6000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@02ad = 040b</action>
<action>maincpu.mq@1580 = 0000000000000000</action>
<action>maincpu.mq@1588 = 0000000000000000</action>
<action>maincpu.mq@1590 = 0000000000000000</action>
<action>maincpu.mq@1598 = 0000000000000000</action>
<action>maincpu.mq@15a0 = 0000000000000000</action>
<action>maincpu.mq@15a8 = 0000000000000000</action>
<action>maincpu.mq@15b0 = 0000000000000000</action>
</script>
</cheat>
"sound test mode" : rewrite routine. add up/down key (code ±10). change sound stop button from up to start. downgrade to test code because some sounds don't stop by sound stop button.