[dokidoki] Doki Doki Penguin Land

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

[dokidoki] Doki Doki Penguin Land

Post by jman »

dokidoki.xml

Code: Select all

<!-- Doki Doki Penguin Land -->
<mamecheat version="1">

    <cheat desc="no hit - player">
        <script state="on">
            <action>maincpu.mb@22EC = C9</action> <!-- rock -->
            <action>maincpu.mb@25CB = C9</action> <!-- white bear -->
        </script>
        <script state="off">
            <action>maincpu.mb@22EC = C0</action>
            <action>maincpu.mb@25CB = C8</action>
        </script>
    </cheat>

    <cheat desc="no hit - egg">
        <script state="on">
            <action>maincpu.mb@0616 = 0A              </action> <!-- fall down -->
            <action>maincpu.mq@1501 = 32103EC9C28032AF</action> <!-- fall down out of line -->
            <action>maincpu.mb@1554 = C9              </action> <!-- white bear -->
            <action>maincpu.mq@16FA = 32103EC9C29032AF</action> <!-- fall down via egg block -->
            <action>maincpu.mb@1E21 = 8C              </action> <!-- rock -->
            <action>maincpu.mb@20DB = 56              </action> <!-- pressed by player -->
            <action>maincpu.mb@25D8 = 18              </action> <!-- pressed by white bear -->
            <action>maincpu.mb@2BA1 = C9              </action> <!-- mole -->
            <action>maincpu.mb@2DF9 = 2C              </action> <!-- fall down out of screen -->
            <action>maincpu.mb@3993 = C9              </action> <!-- egg timer -->
        </script>
        <script state="off">
            <action>maincpu.mb@0616 = 05              </action>
            <action>maincpu.mq@1501 = 32103EC34032843E</action>
            <action>maincpu.mb@1554 = D8              </action>
            <action>maincpu.mq@16FA = 32103EC34032843E</action>
            <action>maincpu.mb@1E21 = 82              </action>
            <action>maincpu.mb@20DB = 4C              </action>
            <action>maincpu.mb@25D8 = 30              </action>
            <action>maincpu.mb@2BA1 = D0              </action>
            <action>maincpu.mb@2DF9 = 22              </action>
            <action>maincpu.mb@3993 = C0              </action>
        </script>
    </cheat>

    <cheat desc="walk through wall - player">
        <script state="on">
            <action>maincpu.mb@18F4 = 96</action> <!-- left -->
            <action>maincpu.mb@191D = 9E</action> <!-- right -->
        </script>
        <script state="off">
            <action>maincpu.mb@18F4 = D6</action>
            <action>maincpu.mb@191D = DE</action>
        </script>
    </cheat>

    <cheat desc="walk through wall - egg">
        <script state="on">
            <action>maincpu.mb@1A16 = 96</action> <!-- left -->
            <action>maincpu.mb@1A34 = 9E</action> <!-- right -->
        </script>
        <script state="off">
            <action>maincpu.mb@1A16 = D6</action>
            <action>maincpu.mb@1A34 = DE</action>
        </script>
    </cheat>

    <cheat desc="multiple jump">
        <script state="on">
            <action>maincpu.md@1152 = CB8800CD        </action>
            <action>maincpu.mq@8800 = FD052046CBC24721</action>
            <action>maincpu.mq@8808 = 052861CBC84E09CB</action>
            <action>maincpu.mq@8810 = C2443AC9C24432AF</action>
            <action>maincpu.mq@8818 = CBFDC24832AFC0A7</action>
            <action>maincpu.mq@8820 = FFC98ECB86CB8E09</action>
            <!--
            8800 | 21 47 C2    : ld   hl,$C247
            8803 | CB 46       : bit  0,(hl)
            8805 | 20 05       : jr   nz,$880C
            8807 | FD CB 09 4E : bit  1,(iy+$09)
            880B | C8          : ret  z
            880C | CB 61       : bit  4,c
            880E | 28 05       : jr   z,$8815
            8810 | AF          : xor  a
            8811 | 32 44 C2    : ld   ($C244),a
            8814 | C9          : ret
            8815 | 3A 44 C2    : ld   a,($C244)
            8818 | A7          : and  a
            8819 | C0          : ret  nz
            881A | AF          : xor  a
            881B | 32 48 C2    : ld   ($C248),a
            881E | FD CB 09 8E : res  1,(iy+$09)
            8822 | CB 86       : res  0,(hl)
            8824 | CB 8E       : res  1,(hl)
            8826 | C9          : ret
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1152 = CBC24721        </action>
            <action>maincpu.mq@8800 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@8808 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@8810 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@8818 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@8820 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="digging speed up">
        <script state="on">
            <action>maincpu.mb@2019 = 01</action>
        </script>
        <script state="off">
            <action>maincpu.mb@2019 = 06</action>
        </script>
    </cheat>

    <cheat desc="no slip">
        <script state="on">
            <action>maincpu.mb@23FD = C9</action>
        </script>
        <script state="off">
            <action>maincpu.mb@23FD = FD</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@00CC = 8830            </action>
            <action>maincpu.mq@8830 = 47B8C2403AC00021</action>
            <action>maincpu.mq@8838 = FE350120FBFEF928</action>
            <action>maincpu.mq@8840 = 0420FDFE340120F7</action>
            <action>maincpu.mq@8848 = 0520FEFE0618F03E</action>
            <action>maincpu.mq@8850 = 20EFFE787786103E</action>
            <action>maincpu.mq@8858 = DFFE051880F67E05</action>
            <action>maincpu.mq@8860 = CB18C34032AF0420</action>
            <!--
            8830 | 21 00 C0 : ld   hl,$C000  // sound code address
            8833 | 3A 40 C2 : ld   a,($C240) // read input
            8836 | B8       : cp   b
            8837 | 47       : ld   b,a
            8838 | 28 F9    : jr   z,$8833
            883A | FE FB    : cp   $FB
            883C | 20 01    : jr   nz,$883F
            883E | 35       : dec  (hl)      // decrease code -01
            883F | FE F7    : cp   $F7
            8841 | 20 01    : jr   nz,$8844
            8843 | 34       : inc  (hl)      // increase code +01
            8844 | FE FD    : cp   $FD
            8846 | 20 04    : jr   nz,$884C
            8848 | 3E F0    : ld   a,$F0     // decrease code -10
            884A | 18 06    : jr   $8852
            884C | FE FE    : cp   $FE
            884E | 20 05    : jr   nz,$8855
            8850 | 3E 10    : ld   a,$10     // increase code +10
            8852 | 86       : add  a,(hl)
            8853 | 77       : ld   (hl),a
            8854 | 78       : ld   a,b
            8855 | FE EF    : cp   $EF
            8857 | 20 05    : jr   nz,$885E
            8859 | 7E       : ld   a,(hl)    // play sound
            885A | F6 80    : or   $80
            885C | 18 05    : jr   $8863
            885E | FE DF    : cp   $DF
            8860 | 20 04    : jr   nz,$8866
            8862 | AF       : xor  a         // stop sound
            8863 | 32 40 C3 : ld   ($C340),a // send sound code
            8866 | 18 CB    : jr   $8833
            -->
        </script>
        <script state="run">
            <output format="----- 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@C000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@00CC = 01F9            </action>
            <action>maincpu.mq@8830 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@8838 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@8840 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@8848 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@8850 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@8858 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@8860 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
"no hit - egg" : The game is stuck when egg fall down out of screen.
jman

my wip cheat database back-up (2024/12/01 ver.)
https://u3.getuploader.com/...../download/47
downloadpass : jman2020
Post Reply