Page 1 of 1

[rumba] Rumba Lumber

Posted: Sun Oct 02, 2022 3:00 pm
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.

[rumba] Rumba Lumber

Posted: Sun Dec 31, 2023 9:09 am
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.