[rumba] Rumba Lumber

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: 873
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 1 time

[rumba] Rumba Lumber

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.md@97d4 =         0e986ec3</action> <!-- objects (jp $986e) -->
        <action>maincpu.mq@a66c = dd00000a36dd80cb</action> <!-- water (res 0,b / ld (ix+$0a),$00 / nop) -->
    </script>
    <script state="off">
        <action>maincpu.md@97d4 =         0ee20532</action>
        <action>maincpu.mq@a66c = ddee0dcbdde26432</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mb@798e = 01</action>
    </script>
    <script state="off">
        <action>maincpu.mb@798e = 06</action>
    </script>
</cheat>

<cheat desc="walk through wall">
    <script state="on">
        <action>maincpu.mb@9cea = 2c</action>
    </script>
    <script state="off">
        <action>maincpu.mb@9cea = 18</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="on">
        <action>maincpu.md@a037 =         ddbff0cd</action>
        <action>maincpu.mq@bff0 = 49c912003ee28811</action> <!-- ld de,$E288 / ld a,$xx / ld (de),a / ret -->
    </script>
    <script state="change">
        <action>maincpu.mb@bff4 = param</action>
    </script>
    <script state="off">
        <action>maincpu.md@a037 =         dde28811</action>
        <action>maincpu.mq@bff0 = 4948374736463545</action>
    </script>
</cheat>

<cheat desc="sound test mode">
    <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.mq@5134 = 3a2f18ef3ee10021</action>
        <action>maincpu.mq@513c = fbfef92847b8d804</action>
        <action>maincpu.mq@5144 = 340120f7fe350120</action>
        <action>maincpu.mq@514c = 0618f03e0420effe</action>
        <action>maincpu.mq@5154 = 7786103e0520dffe</action>
        <action>maincpu.mq@515c = 06187e0320fefe78</action>
        <action>maincpu.mq@5164 = 0032053e0520fdfe</action>
        <action>maincpu.mq@516c = 013e51e7c2cc18d4</action>
        <!--
        5134 | 21 00 e1 : ld  hl,$E100  // sound code address
        5137 | 3e ef    : ld  a,$EF
        5139 | 18 2f    : jr  $516A
        513b | 3a 04 d8 : ld  a,($D804) // read input
        513e | b8       : cp  b
        513f | 47       : ld  b,a
        5140 | 28 f9    : jr  z,$513B
        5142 | fe fb    : cp  $FB
        5144 | 20 01    : jr  nz,$5147
        5146 | 35       : dec (hl)      // decrease code -01
        5147 | fe f7    : cp  $F7
        5149 | 20 01    : jr  nz,$514C
        514b | 34       : inc (hl)      // increase code +01
        514c | fe ef    : cp  $EF
        514e | 20 04    : jr  nz,$5154
        5150 | 3e f0    : ld  a,$F0     // decrease code -10
        5152 | 18 06    : jr  $515A
        5154 | fe df    : cp  $DF
        5156 | 20 05    : jr  nz,$515D
        5158 | 3e 10    : ld  a,$10     // increase code +10
        515a | 86       : add a,(hl)
        515b | 77       : ld  (hl),a
        515c | 78       : ld  a,b
        515d | fe fe    : cp  $FE
        515f | 20 03    : jr  nz,$5164
        5161 | 7e       : ld  a,(hl)    // play sound
        5162 | 18 06    : jr  $516A
        5164 | fe fd    : cp  $FD
        5166 | 20 05    : jr  nz,$516D
        5168 | 3e 05    : ld  a,$05     // stop sound
        516a | 32 00 d4 : ld  ($D400),a // send sound code
        516d | 18 cc    : jr  $513B
        -->
    </script>
    <script state="run">
        <output format="----- rumba lumber 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="&lt;&lt; sound code %2.2X &gt;&gt;"       line="19" align="center"  >
            <argument>maincpu.pb@e100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mq@5134 = e1c332013ef7013e</action>
        <action>maincpu.mq@513c = 30cd082ecd1051cd</action>
        <action>maincpu.mq@5144 = 211000cd51e7c210</action>
        <action>maincpu.mq@514c = cf013e119c11c2ac</action>
        <action>maincpu.mq@5154 = 51e7c21030cd6006</action>
        <action>maincpu.mq@515c = c42c21f510f7013e</action>
        <action>maincpu.mq@5164 = 6006cf013e118f11</action>
        <action>maincpu.mq@516c = 013e51e7c21030cd</action>
    </script>
</cheat>

<cheat desc="skip rom check">
    <script state="on">
        <action>maincpu.mb@02f3 = 8a</action>
    </script>
    <script state="off">
        <action>maincpu.mb@02f3 = 74</action>
    </script>
</cheat>
Current "invincibility" based on 0.245 has "character freeze" problem. "no hit" will fix it.
jman
Posts: 873
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 1 time

[rumba] Rumba Lumber

Post by jman »

Code: Select all

<!-- Rumba Lumber -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.md@97D4 = 0E986EC3        </action> <!-- objects -->
            <action>maincpu.mq@A66C = DD00000A36DD80CB</action> <!-- water (res 0,b / ld (ix+$0a),$00 / nop) -->
        </script>
        <script state="off">
            <action>maincpu.md@97D4 = 0EE20532        </action>
            <action>maincpu.mq@A66C = DDEE0DCBDDE26432</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@798E = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@798E = 06</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <script state="on">
            <action>maincpu.mb@9CEA = 2C</action>
        </script>
        <script state="off">
            <action>maincpu.mb@9CEA = 18</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="on">
            <action>maincpu.mw@A038 = BFF0</action>
        </script>
        <script state="change">
            <action>maincpu.mb@BFF0 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@A038 = E288</action>
            <action>maincpu.mb@BFF0 = 45  </action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.mb@07E4 = EF              </action> <!-- enable sound -->
            <action>maincpu.mq@5134 = 47B8D8043AE10021</action>
            <action>maincpu.mq@513C = FE350120FBFEF928</action>
            <action>maincpu.mq@5144 = 0420EFFE340120F7</action>
            <action>maincpu.mq@514C = 0520DFFE0618F03E</action>
            <action>maincpu.mq@5154 = 20FEFE787786103E</action>
            <action>maincpu.mq@515C = 0520FDFE06187E03</action>
            <action>maincpu.mq@5164 = 00CC18D40032053E</action>
            <!--
            5134 | 21 00 E1 : ld   hl,$E100  // sound code address
            5137 | 3A 04 D8 : ld   a,($D804) // read input
            513A | B8       : cp   b
            513B | 47       : ld   b,a
            513C | 28 F9    : jr   z,$5137
            513E | FE FB    : cp   $FB
            5140 | 20 01    : jr   nz,$5143
            5142 | 35       : dec  (hl)      // decrease code -01
            5143 | FE F7    : cp   $F7
            5145 | 20 01    : jr   nz,$5148
            5147 | 34       : inc  (hl)      // increase code +01
            5148 | FE EF    : cp   $EF
            514A | 20 04    : jr   nz,$5150
            514C | 3E F0    : ld   a,$F0     // decrease code -10
            514E | 18 06    : jr   $5156
            5150 | FE DF    : cp   $DF
            5152 | 20 05    : jr   nz,$5159
            5154 | 3E 10    : ld   a,$10     // increase code +10
            5156 | 86       : add  a,(hl)
            5157 | 77       : ld   (hl),a
            5158 | 78       : ld   a,b
            5159 | FE FE    : cp   $FE
            515B | 20 03    : jr   nz,$5160
            515D | 7E       : ld   a,(hl)    // play sound
            515E | 18 06    : jr   $5166
            5160 | FE FD    : cp   $FD
            5162 | 20 05    : jr   nz,$5169
            5164 | 3E 05    : ld   a,$05     // stop sound
            5166 | 32 00 D4 : ld   ($D400),a // send sound code
            5169 | 18 CC    : jr   $5137
            -->
        </script>
        <script state="run">
            <output format="----- rumba lumber 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="&lt;&lt; sound code %02X &gt;&gt;"        line="19" align="center"  >
                <argument>maincpu.pb@E100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mb@07E4 = EE              </action>
            <action>maincpu.mq@5134 = E1C332013EF7013E</action>
            <action>maincpu.mq@513C = 30CD082ECD1051CD</action>
            <action>maincpu.mq@5144 = 211000CD51E7C210</action>
            <action>maincpu.mq@514C = CF013E119C11C2AC</action>
            <action>maincpu.mq@5154 = 51E7C21030CD6006</action>
            <action>maincpu.mq@515C = C42C21F510F7013E</action>
            <action>maincpu.mq@5164 = 6006CF013E118F11</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mb@02F3 = 8A</action>
        </script>
        <script state="off">
            <action>maincpu.mb@02F3 = 74</action>
        </script>
    </cheat>

</mamecheat>
"player speed", "sound test mode" : Rewritten routine.
Post Reply