[mrsdyna] Mrs. Dynamite

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.
Post Reply
jman
Posts: 844
Joined: Tue Dec 01, 2020 1:24 pm

[mrsdyna] Mrs. Dynamite

Post by jman »

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

[mrsdyna] Update

Post by jman »

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

[mrsdyna] update 2

Post by jman »

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="&lt;&lt; sound code %2.2X &gt;&gt;"       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

[mrsdyna] update 3

Post by jman »

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="&lt;&lt; sound code %2.2X &gt;&gt;"       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

[mrsdyna] Mrs. Dynamite (update)

Post by jman »

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="&lt;&lt; sound code %2.2X &gt;&gt;"        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.
Post Reply