[lastday]+ The Last Day

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

[lastday]+ The Last Day

Post by jman »

lastday.xml

Code: Select all

<!-- The Last Day (set 1) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@288B = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@288B = 01</action>
        </script>
    </cheat>

    <cheat desc="no hit - sidefighters">
        <script state="on">
            <action>maincpu.mb@280C = C3</action>
        </script>
        <script state="off">
            <action>maincpu.mb@280C = CA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@2069 = 00</action> <!-- P1 -->
            <action>maincpu.mb@2094 = 00</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@2069 = C0</action>
            <action>maincpu.mb@2094 = C0</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x04">02       </item>
            <item value="0x08">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x10">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@1FAA = 5370            </action>
            <action>maincpu.mw@1FF2 = 5370            </action>
            <action>maincpu.mw@201F = 5370            </action>
            <action>maincpu.mw@204E = 5370            </action>
            <action>maincpu.mq@5370 = 7DCD7B57537DCD7A</action>
            <action>maincpu.mq@5378 = 3EC8A723F4C35F53</action>
            <action>maincpu.mq@5380 = FFFFFFC944EDF000</action>
            <!--
            5370 | 7A       : ld   a,d
            5371 | CD 7D 53 : call $537D // x position
            5374 | 57       : ld   d,a
            5375 | 7B       : ld   a,e
            5376 | CD 7D 53 : call $537D // y position
            5379 | 5F       : ld   e,a
            537A | C3 F4 23 : jp   $23F4
            537D | A7       : and  a
            537E | C8       : ret  z
            537F | 3E xx    : ld   a,$xx
            5381 | F0       : ret  p
            5382 | ED 44    : neg
            5384 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@5380 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1FAA = 23F4            </action>
            <action>maincpu.mw@1FF2 = 23F4            </action>
            <action>maincpu.mw@201F = 23F4            </action>
            <action>maincpu.mw@204E = 23F4            </action>
            <action>maincpu.mq@5370 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5378 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5380 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x10">03       </item>
            <item value="0x18">04       </item>
            <item value="0x20">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@3F71 = param</action> <!-- shot level 1 -->
            <action>maincpu.mb@3F91 = param</action> <!-- shot level 2 -->
            <action>maincpu.mb@3FB1 = param</action> <!-- shot level 2 -->
            <action>maincpu.mb@3FD1 = param</action> <!-- shot level 3 -->
            <action>maincpu.mb@3FF1 = param</action> <!-- shot level 3 -->
            <action>maincpu.mb@4011 = param</action> <!-- shot level 4 -->
            <action>maincpu.mb@4031 = param</action> <!-- shot level 4 -->
            <action>maincpu.mb@4051 = param</action> <!-- shot level 4 -->
        </script>
        <script state="off">
            <action>maincpu.mb@3F71 = 10</action>
            <action>maincpu.mb@3F91 = 10</action>
            <action>maincpu.mb@3FB1 = 10</action>
            <action>maincpu.mb@3FD1 = 10</action>
            <action>maincpu.mb@3FF1 = 10</action>
            <action>maincpu.mb@4011 = 0F</action>
            <action>maincpu.mb@4031 = 12</action>
            <action>maincpu.mb@4051 = 0F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@0436 = 325390C3        </action>
            <action>maincpu.mq@5390 = 47B8C0113AE10021</action>
            <action>maincpu.mq@5398 = FE350120FDFEF928</action>
            <action>maincpu.mq@53A0 = 0420FBFE340120FE</action>
            <action>maincpu.mq@53A8 = 0520F7FE0618F03E</action>
            <action>maincpu.mq@53B0 = 20EFFE787786103E</action>
            <action>maincpu.mq@53B8 = 0420DFFE05187E03</action>
            <action>maincpu.mq@53C0 = FFFFCD18C01232AF</action>
            <!--
            5390 | 21 00 E1 : ld   hl,$E100  // sound code address
            5393 | 3A 11 C0 : ld   a,($C011) // read input
            5396 | B8       : cp   b
            5397 | 47       : ld   b,a
            5398 | 28 F9    : jr   z,$5393
            539A | FE FD    : cp   $FD
            539C | 20 01    : jr   nz,$539F
            539E | 35       : dec  (hl)      // decrease code -01
            539F | FE FE    : cp   $FE
            53A1 | 20 01    : jr   nz,$53A4
            53A3 | 34       : inc  (hl)      // increase code +01
            53A4 | FE FB    : cp   $FB
            53A6 | 20 04    : jr   nz,$53AC
            53A8 | 3E F0    : ld   a,$F0     // decrease code -10
            53AA | 18 06    : jr   $53B2
            53AC | FE F7    : cp   $F7
            53AE | 20 05    : jr   nz,$53B5
            53B0 | 3E 10    : ld   a,$10     // increase code +10
            53B2 | 86       : add  a,(hl)
            53B3 | 77       : ld   (hl),a
            53B4 | 78       : ld   a,b
            53B5 | FE EF    : cp   $EF
            53B7 | 20 03    : jr   nz,$53BC
            53B9 | 7E       : ld   a,(hl)    // play sound
            53BA | 18 05    : jr   $53C1
            53BC | FE DF    : cp   $DF
            53BE | 20 04    : jr   nz,$53C4
            53C0 | AF       : xor  a         // stop sound
            53C1 | 32 12 C0 : ld   ($C012),a // send sound code
            53C4 | 18 CD    : jr   $5393
            -->
        </script>
        <script state="run">
            <output format="----- the last day 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.md@0436 = 32C0103A        </action>
            <action>maincpu.mq@5390 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5398 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@53A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@53A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@53B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@53B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@53C0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
lastdaya.xml

Code: Select all

<!-- The Last Day (set 2) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@288B = 00</action>
        </script>
        <script state="off">
            <action>maincpu.mb@288B = 01</action>
        </script>
    </cheat>

    <cheat desc="no hit - sidefighters">
        <script state="on">
            <action>maincpu.mb@280C = C3</action>
        </script>
        <script state="off">
            <action>maincpu.mb@280C = CA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@2069 = 00</action> <!-- P1 -->
            <action>maincpu.mb@2094 = 00</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@2069 = C0</action>
            <action>maincpu.mb@2094 = C0</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x04">02       </item>
            <item value="0x08">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x10">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@1FAA = 5370            </action>
            <action>maincpu.mw@1FF2 = 5370            </action>
            <action>maincpu.mw@201F = 5370            </action>
            <action>maincpu.mw@204E = 5370            </action>
            <action>maincpu.mq@5370 = 7DCD7B57537DCD7A</action>
            <action>maincpu.mq@5378 = 3EC8A723F4C35F53</action>
            <action>maincpu.mq@5380 = FFFFFFC944EDF000</action>
            <!--
            5370 | 7A       : ld   a,d
            5371 | CD 7D 53 : call $537D // x position
            5374 | 57       : ld   d,a
            5375 | 7B       : ld   a,e
            5376 | CD 7D 53 : call $537D // y position
            5379 | 5F       : ld   e,a
            537A | C3 F4 23 : jp   $23F4
            537D | A7       : and  a
            537E | C8       : ret  z
            537F | 3E xx    : ld   a,$xx
            5381 | F0       : ret  p
            5382 | ED 44    : neg
            5384 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@5380 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1FAA = 23F4            </action>
            <action>maincpu.mw@1FF2 = 23F4            </action>
            <action>maincpu.mw@201F = 23F4            </action>
            <action>maincpu.mw@204E = 23F4            </action>
            <action>maincpu.mq@5370 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5378 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5380 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x10">03       </item>
            <item value="0x18">04       </item>
            <item value="0x20">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@3F71 = param</action> <!-- shot level 1 -->
            <action>maincpu.mb@3F91 = param</action> <!-- shot level 2 -->
            <action>maincpu.mb@3FB1 = param</action> <!-- shot level 2 -->
            <action>maincpu.mb@3FD1 = param</action> <!-- shot level 3 -->
            <action>maincpu.mb@3FF1 = param</action> <!-- shot level 3 -->
            <action>maincpu.mb@4011 = param</action> <!-- shot level 4 -->
            <action>maincpu.mb@4031 = param</action> <!-- shot level 4 -->
            <action>maincpu.mb@4051 = param</action> <!-- shot level 4 -->
        </script>
        <script state="off">
            <action>maincpu.mb@3F71 = 10</action>
            <action>maincpu.mb@3F91 = 10</action>
            <action>maincpu.mb@3FB1 = 10</action>
            <action>maincpu.mb@3FD1 = 10</action>
            <action>maincpu.mb@3FF1 = 10</action>
            <action>maincpu.mb@4011 = 0F</action>
            <action>maincpu.mb@4031 = 12</action>
            <action>maincpu.mb@4051 = 0F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@0436 = 325390C3        </action>
            <action>maincpu.mq@5390 = 47B8C0113AE10021</action>
            <action>maincpu.mq@5398 = FE350120FDFEF928</action>
            <action>maincpu.mq@53A0 = 0420FBFE340120FE</action>
            <action>maincpu.mq@53A8 = 0520F7FE0618F03E</action>
            <action>maincpu.mq@53B0 = 20EFFE787786103E</action>
            <action>maincpu.mq@53B8 = 0420DFFE05187E03</action>
            <action>maincpu.mq@53C0 = FFFFCD18C01232AF</action>
            <!--
            5390 | 21 00 E1 : ld   hl,$E100  // sound code address
            5393 | 3A 11 C0 : ld   a,($C011) // read input
            5396 | B8       : cp   b
            5397 | 47       : ld   b,a
            5398 | 28 F9    : jr   z,$5393
            539A | FE FD    : cp   $FD
            539C | 20 01    : jr   nz,$539F
            539E | 35       : dec  (hl)      // decrease code -01
            539F | FE FE    : cp   $FE
            53A1 | 20 01    : jr   nz,$53A4
            53A3 | 34       : inc  (hl)      // increase code +01
            53A4 | FE FB    : cp   $FB
            53A6 | 20 04    : jr   nz,$53AC
            53A8 | 3E F0    : ld   a,$F0     // decrease code -10
            53AA | 18 06    : jr   $53B2
            53AC | FE F7    : cp   $F7
            53AE | 20 05    : jr   nz,$53B5
            53B0 | 3E 10    : ld   a,$10     // increase code +10
            53B2 | 86       : add  a,(hl)
            53B3 | 77       : ld   (hl),a
            53B4 | 78       : ld   a,b
            53B5 | FE EF    : cp   $EF
            53B7 | 20 03    : jr   nz,$53BC
            53B9 | 7E       : ld   a,(hl)    // play sound
            53BA | 18 05    : jr   $53C1
            53BC | FE DF    : cp   $DF
            53BE | 20 04    : jr   nz,$53C4
            53C0 | AF       : xor  a         // stop sound
            53C1 | 32 12 C0 : ld   ($C012),a // send sound code
            53C4 | 18 CD    : jr   $5393
            -->
        </script>
        <script state="run">
            <output format="----- the last day 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.md@0436 = 32C0103A        </action>
            <action>maincpu.mq@5390 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5398 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@53A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@53A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@53B0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@53B8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@53C0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
ddaydoo.xml

Code: Select all

<!-- Chulgyeok D-Day (Korea) -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@2892 = 07</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2892 = 08</action>
        </script>
    </cheat>

    <cheat desc="no hit - sidefighters">
        <script state="on">
            <action>maincpu.mb@2813 = C3</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2813 = CA</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mb@2070 = 00</action> <!-- P1 -->
            <action>maincpu.mb@209B = 00</action> <!-- P2 -->
        </script>
        <script state="off">
            <action>maincpu.mb@2070 = C0</action>
            <action>maincpu.mb@209B = C0</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x04">02       </item>
            <item value="0x08">03       </item>
            <item value="0x0c">04       </item>
            <item value="0x10">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mw@1FB1 = 5360            </action>
            <action>maincpu.mw@1FF9 = 5360            </action>
            <action>maincpu.mw@2026 = 5360            </action>
            <action>maincpu.mw@2055 = 5360            </action>
            <action>maincpu.mq@5360 = 6DCD7B57536DCD7A</action>
            <action>maincpu.mq@5368 = 3EC8A723FBC35F53</action>
            <action>maincpu.mq@5370 = FFFFFFC944EDF000</action>
            <!--
            5360 | 7A       : ld   a,d
            5361 | CD 6D 53 : call $536D // x position
            5364 | 57       : ld   d,a
            5365 | 7B       : ld   a,e
            5366 | CD 6D 53 : call $536D // y position
            5369 | 5F       : ld   e,a
            536A | C3 FB 23 : jp   $23FB
            536D | A7       : and  a
            536E | C8       : ret  z
            536F | 3E xx    : ld   a,$xx
            5371 | F0       : ret  p
            5372 | ED 44    : neg
            5374 | C9       : ret
            -->
        </script>
        <script state="change">
            <action>maincpu.mb@5370 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@1FB1 = 23FB            </action>
            <action>maincpu.mw@1FF9 = 23FB            </action>
            <action>maincpu.mw@2026 = 23FB            </action>
            <action>maincpu.mw@2055 = 23FB            </action>
            <action>maincpu.mq@5360 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5368 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5370 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="bullet speed">
        <parameter>
            <item value="0x01">01 (slow)</item>
            <item value="0x08">02       </item>
            <item value="0x10">03       </item>
            <item value="0x18">04       </item>
            <item value="0x20">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@3F64 = param</action> <!-- shot level 1 -->
            <action>maincpu.mb@3F84 = param</action> <!-- shot level 2 -->
            <action>maincpu.mb@3FA4 = param</action> <!-- shot level 2 -->
            <action>maincpu.mb@3FC4 = param</action> <!-- shot level 3 -->
            <action>maincpu.mb@3FE4 = param</action> <!-- shot level 3 -->
            <action>maincpu.mb@4004 = param</action> <!-- shot level 4 -->
            <action>maincpu.mb@4024 = param</action> <!-- shot level 4 -->
            <action>maincpu.mb@4044 = param</action> <!-- shot level 4 -->
        </script>
        <script state="off">
            <action>maincpu.mb@3F64 = 10</action>
            <action>maincpu.mb@3F84 = 10</action>
            <action>maincpu.mb@3FA4 = 10</action>
            <action>maincpu.mb@3FC4 = 10</action>
            <action>maincpu.mb@3FE4 = 10</action>
            <action>maincpu.mb@4004 = 0F</action>
            <action>maincpu.mb@4024 = 12</action>
            <action>maincpu.mb@4044 = 0F</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>reset the game (F3) to enter sound test mode</comment>
        <script state="on">
            <action>maincpu.md@0436 = 325380C3        </action>
            <action>maincpu.mq@5380 = 47B8C0113AE10021</action>
            <action>maincpu.mq@5388 = FE350120FDFEF928</action>
            <action>maincpu.mq@5390 = 0420FBFE340120FE</action>
            <action>maincpu.mq@5398 = 0520F7FE0618F03E</action>
            <action>maincpu.mq@53A0 = 20EFFE787786103E</action>
            <action>maincpu.mq@53A8 = 0420DFFE05187E03</action>
            <action>maincpu.mq@53B0 = FFFFCD18C01232AF</action>
            <!--
            5380 | 21 00 E1 : ld   hl,$E100  // sound code address
            5383 | 3A 11 C0 : ld   a,($C011) // read input
            5386 | B8       : cp   b
            5387 | 47       : ld   b,a
            5388 | 28 F9    : jr   z,$5383
            538A | FE FD    : cp   $FD
            538C | 20 01    : jr   nz,$538F
            538E | 35       : dec  (hl)      // decrease code -01
            538F | FE FE    : cp   $FE
            5391 | 20 01    : jr   nz,$5394
            5393 | 34       : inc  (hl)      // increase code +01
            5394 | FE FB    : cp   $FB
            5396 | 20 04    : jr   nz,$539C
            5398 | 3E F0    : ld   a,$F0     // decrease code -10
            539A | 18 06    : jr   $53A2
            539C | FE F7    : cp   $F7
            539E | 20 05    : jr   nz,$53A5
            53A0 | 3E 10    : ld   a,$10     // increase code +10
            53A2 | 86       : add  a,(hl)
            53A3 | 77       : ld   (hl),a
            53A4 | 78       : ld   a,b
            53A5 | FE EF    : cp   $EF
            53A7 | 20 03    : jr   nz,$53AC
            53A9 | 7E       : ld   a,(hl)    // play sound
            53AA | 18 05    : jr   $53B1
            53AC | FE DF    : cp   $DF
            53AE | 20 04    : jr   nz,$53B4
            53B0 | AF       : xor  a         // stop sound
            53B1 | 32 12 C0 : ld   ($C012),a // send sound code
            53B4 | 18 CD    : jr   $5383
            -->
        </script>
        <script state="run">
            <output format="----- chulgyeok d-day 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.md@0436 = 32C0103A        </action>
            <action>maincpu.mq@5380 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5388 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5390 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@5398 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@53A0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@53A8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@53B0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
Post Reply