Page 1 of 1

[horekid] Kid no Hore Hore Daisakusen

Posted: Sat Mar 19, 2022 12:21 pm
by jman

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@615c = 60</action> <!-- hole -->
        <action>maincpu.mb@6194 = 60</action> <!-- river -->
        <action>maincpu.mb@61de = 60</action> <!-- cliff -->
        <action>maincpu.mb@63be = 60</action> <!-- water -->
        <action>maincpu.mb@a412 = 60</action> <!-- enemy -->
        <action>maincpu.mb@ae36 = 60</action> <!-- dynamite -->
        <action>maincpu.mb@b2a4 = 60</action> <!-- electric -->
        <action>maincpu.mb@b5c8 = 60</action> <!-- fish -->
        <action>maincpu.mb@b8b2 = 60</action> <!-- snake -->
        <action>maincpu.mb@be38 = 60</action> <!-- boss -->
    </script>
    <script state="off">
        <action>maincpu.mb@615c = 66</action>
        <action>maincpu.mb@6194 = 66</action>
        <action>maincpu.mb@61de = 66</action>
        <action>maincpu.mb@63be = 66</action>
        <action>maincpu.mb@a412 = 66</action>
        <action>maincpu.mb@ae36 = 66</action>
        <action>maincpu.mb@b2a4 = 66</action>
        <action>maincpu.mb@b5c8 = 66</action>
        <action>maincpu.mb@b8b2 = 66</action>
        <action>maincpu.mb@be38 = 66</action>
    </script>
</cheat>

<cheat desc="walk through wall">
    <script state="on">
        <action>maincpu.mb@44be = 60</action>
    </script>
    <script state="off">
        <action>maincpu.mb@44be = 66</action>
    </script>
</cheat>

<cheat desc="player speed">
    <parameter>
        <item value="0x0080">01 (slow)</item>
        <item value="0x0100">02       </item>
        <item value="0x0180">03       </item>
        <item value="0x0200">04       </item>
        <item value="0x0280">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mw@4f72 =  param</action> <!-- normal : up -->
        <action>maincpu.mw@4f7a = -param</action> <!-- normal : down -->
        <action>maincpu.mw@4f80 =  param</action> <!-- normal : left -->
        <action>maincpu.mw@4f88 = -param</action> <!-- normal : right -->
        <action>maincpu.mw@4f92 =  param</action> <!-- shoes : up -->
        <action>maincpu.mw@4f9a = -param</action> <!-- shoes : down -->
        <action>maincpu.mw@4fa0 =  param</action> <!-- shoes : left -->
        <action>maincpu.mw@4fa8 = -param</action> <!-- shoes : right -->
    </script>
    <script state="off">
        <action>maincpu.mw@4f72 = 0100</action>
        <action>maincpu.mw@4f7a = ff00</action>
        <action>maincpu.mw@4f80 = 0100</action>
        <action>maincpu.mw@4f88 = ff00</action>
        <action>maincpu.mw@4f92 = 0180</action>
        <action>maincpu.mw@4f9a = fe80</action>
        <action>maincpu.mw@4fa0 = 0180</action>
        <action>maincpu.mw@4fa8 = fe80</action>
    </script>
</cheat>

<cheat desc="timer speed">
    <parameter>
        <item value="0xff">01 (slow)</item>
        <item value="0x7f">02       </item>
        <item value="0x3f">03       </item>
        <item value="0x0f">04       </item>
        <item value="0x01">05 (fast)</item>
    </parameter>
    <script state="change">
        <action>maincpu.mb@4217 = param</action>
    </script>
    <script state="off">
        <action>maincpu.mb@4217 = 3f</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@0424 =             0170</action>
        <action>maincpu.mq@0170 = 41f90004030043f9</action>
        <action>maincpu.mq@0178 = 0004600d12001039</action>
        <action>maincpu.mq@0180 = 00044007b20067f4</action>
        <action>maincpu.mq@0188 = 0c0000fb66025310</action>
        <action>maincpu.mq@0190 = 0c0000f766025210</action>
        <action>maincpu.mq@0198 = 0c0000fd66040410</action>
        <action>maincpu.mq@01a0 = 00100c0000fe6604</action>
        <action>maincpu.mq@01a8 = 061000100c0000ef</action>
        <action>maincpu.mq@01b0 = 660212900c0000df</action>
        <action>maincpu.mq@01b8 = 660412bc003f60bc</action>
        <!--
        0170 | 41f9 0004 0300 : lea    $40300.l,A0 // sound code address
        0176 | 43f9 0004 600d : lea    $4600d.l,A1 // sound latch address
        017c | 1200           : move.b D0,D1
        017e | 1039 0004 4007 : move.b $44007.l,D0
        0184 | b200           : cmp.b  D0,D1
        0186 | 67f4           : beq    $17c
        0188 | 0c00 00fb      : cmpi.b #-$5,D0
        018c | 6602           : bne    $190
        018e | 5310           : subq.b #1,(A0)     // decrease code -01
        0190 | 0c00 00f7      : cmpi.b #-$9,D0
        0194 | 6602           : bne    $198
        0196 | 5210           : addq.b #1,(A0)     // increase code +01
        0198 | 0c00 00fd      : cmpi.b #-$3,D0
        019c | 6604           : bne    $1a2
        019e | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
        01a2 | 0c00 00fe      : cmpi.b #-$2,D0
        01a6 | 6604           : bne    $1ac
        01a8 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
        01ac | 0c00 00ef      : cmpi.b #-$11,D0
        01b0 | 6602           : bne    $1b4
        01b2 | 1290           : move.b (A0),(A1)   // play sound
        01b4 | 0c00 00df      : cmpi.b #-$21,D0
        01b8 | 6604           : bne    $1be
        01ba | 12bc 003f      : move.b #$3f,(A1)   // stop sound
        01be | 60bc           : bra    $17c
        -->
    </script>
    <script state="run">
        <output format="----- kid no hore hore daisakusen 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="up : increase code +10"                                  line="13" align="center" />
        <output format="down : decrease 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@40300</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.mw@0424 =             0464</action>
        <action>maincpu.mq@0170 = ffffffffffffffff</action>
        <action>maincpu.mq@0178 = ffffffffffffffff</action>
        <action>maincpu.mq@0180 = ffffffffffffffff</action>
        <action>maincpu.mq@0188 = ffffffffffffffff</action>
        <action>maincpu.mq@0190 = ffffffffffffffff</action>
        <action>maincpu.mq@0198 = ffffffffffffffff</action>
        <action>maincpu.mq@01a0 = ffffffffffffffff</action>
        <action>maincpu.mq@01a8 = ffffffffffffffff</action>
        <action>maincpu.mq@01b0 = ffffffffffffffff</action>
        <action>maincpu.mq@01b8 = ffffffffffffffff</action>
    </script>
</cheat>
The game will freeze when you go to out of screen with "walk through wall".

[horekid]+ Kid no Hore Hore Daisakusen

Posted: Mon Nov 13, 2023 9:36 am
by jman
horekid.xml

Code: Select all

<!-- Kid no Hore Hore Daisakusen -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@615C = 60</action> <!-- hole -->
            <action>maincpu.mb@6194 = 60</action> <!-- river -->
            <action>maincpu.mb@61DE = 60</action> <!-- cliff -->
            <action>maincpu.mb@63BE = 60</action> <!-- water -->
            <action>maincpu.mb@A412 = 60</action> <!-- enemy -->
            <action>maincpu.mb@AE36 = 60</action> <!-- dynamite -->
            <action>maincpu.mb@B2A4 = 60</action> <!-- electric -->
            <action>maincpu.mb@B5C8 = 60</action> <!-- fish -->
            <action>maincpu.mb@B8B2 = 60</action> <!-- snake -->
            <action>maincpu.mb@BE38 = 60</action> <!-- boss -->
        </script>
        <script state="off">
            <action>maincpu.mb@615C = 66</action>
            <action>maincpu.mb@6194 = 66</action>
            <action>maincpu.mb@61DE = 66</action>
            <action>maincpu.mb@63BE = 66</action>
            <action>maincpu.mb@A412 = 66</action>
            <action>maincpu.mb@AE36 = 66</action>
            <action>maincpu.mb@B2A4 = 66</action>
            <action>maincpu.mb@B5C8 = 66</action>
            <action>maincpu.mb@B8B2 = 66</action>
            <action>maincpu.mb@BE38 = 66</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <comment>the game crash when you go to out of screen</comment>
        <script state="on">
            <action>maincpu.mb@44BE = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@44BE = 66</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0100">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0400">04       </item>
            <item value="0x0800">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@43B3 = 01</action> <!-- quick moving -->
        </script>
        <script state="change">
            <action>maincpu.mw@4F72 =  param</action> <!-- normal : up -->
            <action>maincpu.mw@4F7A = -param</action> <!-- normal : down -->
            <action>maincpu.mw@4F80 =  param</action> <!-- normal : left -->
            <action>maincpu.mw@4F88 = -param</action> <!-- normal : right -->
            <action>maincpu.mw@4F92 =  param</action> <!-- shoes : up -->
            <action>maincpu.mw@4F9A = -param</action> <!-- shoes : down -->
            <action>maincpu.mw@4FA0 =  param</action> <!-- shoes : left -->
            <action>maincpu.mw@4FA8 = -param</action> <!-- shoes : right -->
        </script>
        <script state="off">
            <action>maincpu.mb@43B3 = 08  </action>
            <action>maincpu.mw@4F72 = 0100</action>
            <action>maincpu.mw@4F7A = FF00</action>
            <action>maincpu.mw@4F80 = 0100</action>
            <action>maincpu.mw@4F88 = FF00</action>
            <action>maincpu.mw@4F92 = 0180</action>
            <action>maincpu.mw@4F9A = FE80</action>
            <action>maincpu.mw@4FA0 = 0180</action>
            <action>maincpu.mw@4FA8 = FE80</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <comment>incorrect timer display when you set 05</comment>
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x0f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4217 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4217 = 3F</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@0424 = DA30            </action>
            <action>maincpu.mq@DA30 = 41F90004020043E8</action>
            <action>maincpu.mq@DA38 = 5E0D120010283E07</action>
            <action>maincpu.mq@DA40 = B20067F60C0000FB</action>
            <action>maincpu.mq@DA48 = 660253100C0000F7</action>
            <action>maincpu.mq@DA50 = 660252100C0000FD</action>
            <action>maincpu.mq@DA58 = 6604041000100C00</action>
            <action>maincpu.mq@DA60 = 00FE660406100010</action>
            <action>maincpu.mq@DA68 = 0C0000EF66021290</action>
            <action>maincpu.mq@DA70 = 0C0000DF660412BC</action>
            <action>maincpu.mq@DA78 = 003F60BEFFFFFFFF</action>
            <!--
            DA30 | 41F9 0004 0200 : lea     $40200.l, A0   // sound code address
            DA36 | 43E8 5E0D      : lea     ($5e0d,A0), A1 // sound latch address ($4600d)
            DA3A | 1200           : move.b  D0, D1
            DA3C | 1028 3E07      : move.b  ($3e07,A0), D0 // read input ($44007)
            DA40 | B200           : cmp.b   D0, D1
            DA42 | 67F6           : beq     $da3a
            DA44 | 0C00 00FB      : cmpi.b  #-$5, D0
            DA48 | 6602           : bne     $da4c
            DA4A | 5310           : subq.b  #1, (A0)       // decrease code -01
            DA4C | 0C00 00F7      : cmpi.b  #-$9, D0
            DA50 | 6602           : bne     $da54
            DA52 | 5210           : addq.b  #1, (A0)       // increase code +01
            DA54 | 0C00 00FD      : cmpi.b  #-$3, D0
            DA58 | 6604           : bne     $da5e
            DA5A | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            DA5E | 0C00 00FE      : cmpi.b  #-$2, D0
            DA62 | 6604           : bne     $da68
            DA64 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            DA68 | 0C00 00EF      : cmpi.b  #-$11, D0
            DA6C | 6602           : bne     $da70
            DA6E | 1290           : move.b  (A0), (A1)     // play sound
            DA70 | 0C00 00DF      : cmpi.b  #-$21, D0
            DA74 | 6604           : bne     $da7a
            DA76 | 12BC 003F      : move.b  #$3f, (A1)     // stop sound
            DA7A | 60BE           : bra     $da3a
            -->
        </script>
        <script state="run">
            <output format="----- kid no hore hore daisakusen 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@40200</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0424 = 0464            </action>
            <action>maincpu.mq@DA30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA78 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
horekidb.xml

Code: Select all

<!-- Kid no Hore Hore Daisakusen (bootleg set 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@615C = 60</action> <!-- hole -->
            <action>maincpu.mb@6194 = 60</action> <!-- river -->
            <action>maincpu.mb@61DE = 60</action> <!-- cliff -->
            <action>maincpu.mb@63BE = 60</action> <!-- water -->
            <action>maincpu.mb@A412 = 60</action> <!-- enemy -->
            <action>maincpu.mb@AE36 = 60</action> <!-- dynamite -->
            <action>maincpu.mb@B2A4 = 60</action> <!-- electric -->
            <action>maincpu.mb@B5C8 = 60</action> <!-- fish -->
            <action>maincpu.mb@B8B2 = 60</action> <!-- snake -->
            <action>maincpu.mb@BE38 = 60</action> <!-- boss -->
        </script>
        <script state="off">
            <action>maincpu.mb@615C = 66</action>
            <action>maincpu.mb@6194 = 66</action>
            <action>maincpu.mb@61DE = 66</action>
            <action>maincpu.mb@63BE = 66</action>
            <action>maincpu.mb@A412 = 66</action>
            <action>maincpu.mb@AE36 = 66</action>
            <action>maincpu.mb@B2A4 = 66</action>
            <action>maincpu.mb@B5C8 = 66</action>
            <action>maincpu.mb@B8B2 = 66</action>
            <action>maincpu.mb@BE38 = 66</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <comment>the game crash when you go to out of screen</comment>
        <script state="on">
            <action>maincpu.mb@44BE = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@44BE = 66</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0100">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0400">04       </item>
            <item value="0x0800">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@43B3 = 01</action> <!-- quick moving -->
        </script>
        <script state="change">
            <action>maincpu.mw@4F72 =  param</action> <!-- normal : up -->
            <action>maincpu.mw@4F7A = -param</action> <!-- normal : down -->
            <action>maincpu.mw@4F80 =  param</action> <!-- normal : left -->
            <action>maincpu.mw@4F88 = -param</action> <!-- normal : right -->
            <action>maincpu.mw@4F92 =  param</action> <!-- shoes : up -->
            <action>maincpu.mw@4F9A = -param</action> <!-- shoes : down -->
            <action>maincpu.mw@4FA0 =  param</action> <!-- shoes : left -->
            <action>maincpu.mw@4FA8 = -param</action> <!-- shoes : right -->
        </script>
        <script state="off">
            <action>maincpu.mb@43B3 = 08  </action>
            <action>maincpu.mw@4F72 = 0100</action>
            <action>maincpu.mw@4F7A = FF00</action>
            <action>maincpu.mw@4F80 = 0100</action>
            <action>maincpu.mw@4F88 = FF00</action>
            <action>maincpu.mw@4F92 = 0180</action>
            <action>maincpu.mw@4F9A = FE80</action>
            <action>maincpu.mw@4FA0 = 0180</action>
            <action>maincpu.mw@4FA8 = FE80</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <comment>incorrect timer display when you set 05</comment>
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x0f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4217 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4217 = 3F</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@0424 = DA30            </action>
            <action>maincpu.mq@DA30 = 41F90004020043E8</action>
            <action>maincpu.mq@DA38 = 5E0D120010283E07</action>
            <action>maincpu.mq@DA40 = B20067F60C0000FB</action>
            <action>maincpu.mq@DA48 = 660253100C0000F7</action>
            <action>maincpu.mq@DA50 = 660252100C0000FD</action>
            <action>maincpu.mq@DA58 = 6604041000100C00</action>
            <action>maincpu.mq@DA60 = 00FE660406100010</action>
            <action>maincpu.mq@DA68 = 0C0000EF66021290</action>
            <action>maincpu.mq@DA70 = 0C0000DF660412BC</action>
            <action>maincpu.mq@DA78 = 003F60BEFFFFFFFF</action>
            <!--
            DA30 | 41F9 0004 0200 : lea     $40200.l, A0   // sound code address
            DA36 | 43E8 5E0D      : lea     ($5e0d,A0), A1 // sound latch address ($4600d)
            DA3A | 1200           : move.b  D0, D1
            DA3C | 1028 3E07      : move.b  ($3e07,A0), D0 // read input ($44007)
            DA40 | B200           : cmp.b   D0, D1
            DA42 | 67F6           : beq     $da3a
            DA44 | 0C00 00FB      : cmpi.b  #-$5, D0
            DA48 | 6602           : bne     $da4c
            DA4A | 5310           : subq.b  #1, (A0)       // decrease code -01
            DA4C | 0C00 00F7      : cmpi.b  #-$9, D0
            DA50 | 6602           : bne     $da54
            DA52 | 5210           : addq.b  #1, (A0)       // increase code +01
            DA54 | 0C00 00FD      : cmpi.b  #-$3, D0
            DA58 | 6604           : bne     $da5e
            DA5A | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            DA5E | 0C00 00FE      : cmpi.b  #-$2, D0
            DA62 | 6604           : bne     $da68
            DA64 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            DA68 | 0C00 00EF      : cmpi.b  #-$11, D0
            DA6C | 6602           : bne     $da70
            DA6E | 1290           : move.b  (A0), (A1)     // play sound
            DA70 | 0C00 00DF      : cmpi.b  #-$21, D0
            DA74 | 6604           : bne     $da7a
            DA76 | 12BC 003F      : move.b  #$3f, (A1)     // stop sound
            DA7A | 60BE           : bra     $da3a
            -->
        </script>
        <script state="run">
            <output format="----- kid no hore hore daisakusen 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@40200</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0424 = 0464            </action>
            <action>maincpu.mq@DA30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA78 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
horekidb2.xml

Code: Select all

<!-- Kid no Hore Hore Daisakusen (bootleg set 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@6150 = 60</action> <!-- hole -->
            <action>maincpu.mb@6188 = 60</action> <!-- river -->
            <action>maincpu.mb@61D2 = 60</action> <!-- cliff -->
            <action>maincpu.mb@63B2 = 60</action> <!-- water -->
            <action>maincpu.mb@A406 = 60</action> <!-- enemy -->
            <action>maincpu.mb@AE2A = 60</action> <!-- dynamite -->
            <action>maincpu.mb@B298 = 60</action> <!-- electric -->
            <action>maincpu.mb@B5BC = 60</action> <!-- fish -->
            <action>maincpu.mb@B8A6 = 60</action> <!-- snake -->
            <action>maincpu.mb@BE2C = 60</action> <!-- boss -->
        </script>
        <script state="off">
            <action>maincpu.mb@6150 = 66</action>
            <action>maincpu.mb@6188 = 66</action>
            <action>maincpu.mb@61D2 = 66</action>
            <action>maincpu.mb@63B2 = 66</action>
            <action>maincpu.mb@A406 = 66</action>
            <action>maincpu.mb@AE2A = 66</action>
            <action>maincpu.mb@B298 = 66</action>
            <action>maincpu.mb@B5BC = 66</action>
            <action>maincpu.mb@B8A6 = 66</action>
            <action>maincpu.mb@BE2C = 66</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <comment>the game crash when you go to out of screen</comment>
        <script state="on">
            <action>maincpu.mb@44B2 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@44B2 = 66</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0100">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0400">04       </item>
            <item value="0x0800">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@43A7 = 01</action> <!-- quick moving -->
        </script>
        <script state="change">
            <action>maincpu.mw@4F66 =  param</action> <!-- normal : up -->
            <action>maincpu.mw@4F6E = -param</action> <!-- normal : down -->
            <action>maincpu.mw@4F74 =  param</action> <!-- normal : left -->
            <action>maincpu.mw@4F7C = -param</action> <!-- normal : right -->
            <action>maincpu.mw@4F86 =  param</action> <!-- shoes : up -->
            <action>maincpu.mw@4F8E = -param</action> <!-- shoes : down -->
            <action>maincpu.mw@4F94 =  param</action> <!-- shoes : left -->
            <action>maincpu.mw@4F9C = -param</action> <!-- shoes : right -->
        </script>
        <script state="off">
            <action>maincpu.mb@43A7 = 08  </action>
            <action>maincpu.mw@4F66 = 0100</action>
            <action>maincpu.mw@4F6E = FF00</action>
            <action>maincpu.mw@4F74 = 0100</action>
            <action>maincpu.mw@4F7C = FF00</action>
            <action>maincpu.mw@4F86 = 0180</action>
            <action>maincpu.mw@4F8E = FE80</action>
            <action>maincpu.mw@4F94 = 0180</action>
            <action>maincpu.mw@4F9C = FE80</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <comment>incorrect timer display when you set 05</comment>
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x0f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@420B = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@420B = 3F</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@0424 = DA20            </action>
            <action>maincpu.mq@DA20 = 41F90004020043E8</action>
            <action>maincpu.mq@DA28 = 5E0D120010283E01</action>
            <action>maincpu.mq@DA30 = B20067F60C0000FB</action>
            <action>maincpu.mq@DA38 = 660253100C0000F7</action>
            <action>maincpu.mq@DA40 = 660252100C0000FD</action>
            <action>maincpu.mq@DA48 = 6604041000100C00</action>
            <action>maincpu.mq@DA50 = 00FE660406100010</action>
            <action>maincpu.mq@DA58 = 0C0000EF66021290</action>
            <action>maincpu.mq@DA60 = 0C0000DF660412BC</action>
            <action>maincpu.mq@DA68 = 003F60BEFFFFFFFF</action>
            <!--
            DA20 | 41F9 0004 0200 : lea     $40200.l, A0   // sound code address
            DA26 | 43E8 5E0D      : lea     ($5e0d,A0), A1 // sound latch address ($4600d)
            DA2A | 1200           : move.b  D0, D1
            DA2C | 1028 3E07      : move.b  ($3e01,A0), D0 // read input ($44001)
            DA30 | B200           : cmp.b   D0, D1
            DA32 | 67F6           : beq     $da2a
            DA34 | 0C00 00FB      : cmpi.b  #-$5, D0
            DA38 | 6602           : bne     $da3c
            DA3A | 5310           : subq.b  #1, (A0)       // decrease code -01
            DA3C | 0C00 00F7      : cmpi.b  #-$9, D0
            DA40 | 6602           : bne     $da44
            DA42 | 5210           : addq.b  #1, (A0)       // increase code +01
            DA44 | 0C00 00FD      : cmpi.b  #-$3, D0
            DA48 | 6604           : bne     $da4e
            DA4A | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            DA4E | 0C00 00FE      : cmpi.b  #-$2, D0
            DA52 | 6604           : bne     $da58
            DA54 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            DA58 | 0C00 00EF      : cmpi.b  #-$11, D0
            DA5C | 6602           : bne     $da60
            DA5E | 1290           : move.b  (A0), (A1)     // play sound
            DA60 | 0C00 00DF      : cmpi.b  #-$21, D0
            DA64 | 6604           : bne     $da6a
            DA66 | 12BC 003F      : move.b  #$3f, (A1)     // stop sound
            DA6A | 60BE           : bra     $da2a
            -->
        </script>
        <script state="run">
            <output format="----- kid no hore hore daisakusen 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@40200</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0424 = 0464            </action>
            <action>maincpu.mq@DA20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA68 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
boobhack.xml

Code: Select all

<!-- Booby Kids (Italian manufactured graphic hack / bootleg of Kid no Hore Hore Daisakusen (bootleg)) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@615C = 60</action> <!-- hole -->
            <action>maincpu.mb@6194 = 60</action> <!-- river -->
            <action>maincpu.mb@61DE = 60</action> <!-- cliff -->
            <action>maincpu.mb@63BE = 60</action> <!-- water -->
            <action>maincpu.mb@A412 = 60</action> <!-- enemy -->
            <action>maincpu.mb@AE36 = 60</action> <!-- dynamite -->
            <action>maincpu.mb@B2A4 = 60</action> <!-- electric -->
            <action>maincpu.mb@B5C8 = 60</action> <!-- fish -->
            <action>maincpu.mb@B8B2 = 60</action> <!-- snake -->
            <action>maincpu.mb@BE38 = 60</action> <!-- boss -->
        </script>
        <script state="off">
            <action>maincpu.mb@615C = 66</action>
            <action>maincpu.mb@6194 = 66</action>
            <action>maincpu.mb@61DE = 66</action>
            <action>maincpu.mb@63BE = 66</action>
            <action>maincpu.mb@A412 = 66</action>
            <action>maincpu.mb@AE36 = 66</action>
            <action>maincpu.mb@B2A4 = 66</action>
            <action>maincpu.mb@B5C8 = 66</action>
            <action>maincpu.mb@B8B2 = 66</action>
            <action>maincpu.mb@BE38 = 66</action>
        </script>
    </cheat>

    <cheat desc="walk through wall">
        <comment>the game crash when you go to out of screen</comment>
        <script state="on">
            <action>maincpu.mb@44BE = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@44BE = 66</action>
        </script>
    </cheat>

    <cheat desc="player speed">
        <parameter>
            <item value="0x0080">01 (slow)</item>
            <item value="0x0100">02       </item>
            <item value="0x0200">03       </item>
            <item value="0x0400">04       </item>
            <item value="0x0800">05 (fast)</item>
        </parameter>
        <script state="on">
            <action>maincpu.mb@43B3 = 01</action> <!-- quick moving -->
        </script>
        <script state="change">
            <action>maincpu.mw@4F72 =  param</action> <!-- normal : up -->
            <action>maincpu.mw@4F7A = -param</action> <!-- normal : down -->
            <action>maincpu.mw@4F80 =  param</action> <!-- normal : left -->
            <action>maincpu.mw@4F88 = -param</action> <!-- normal : right -->
            <action>maincpu.mw@4F92 =  param</action> <!-- shoes : up -->
            <action>maincpu.mw@4F9A = -param</action> <!-- shoes : down -->
            <action>maincpu.mw@4FA0 =  param</action> <!-- shoes : left -->
            <action>maincpu.mw@4FA8 = -param</action> <!-- shoes : right -->
        </script>
        <script state="off">
            <action>maincpu.mb@43B3 = 08  </action>
            <action>maincpu.mw@4F72 = 0100</action>
            <action>maincpu.mw@4F7A = FF00</action>
            <action>maincpu.mw@4F80 = 0100</action>
            <action>maincpu.mw@4F88 = FF00</action>
            <action>maincpu.mw@4F92 = 0180</action>
            <action>maincpu.mw@4F9A = FE80</action>
            <action>maincpu.mw@4FA0 = 0180</action>
            <action>maincpu.mw@4FA8 = FE80</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <comment>incorrect timer display when you set 05</comment>
        <parameter>
            <item value="0xff">01 (slow)</item>
            <item value="0x7f">02       </item>
            <item value="0x3f">03       </item>
            <item value="0x0f">04       </item>
            <item value="0x01">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mb@4217 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mb@4217 = 3F</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@0424 = DA30            </action>
            <action>maincpu.mq@DA30 = 41F90004020043E8</action>
            <action>maincpu.mq@DA38 = 5E0D120010283E07</action>
            <action>maincpu.mq@DA40 = B20067F60C0000FB</action>
            <action>maincpu.mq@DA48 = 660253100C0000F7</action>
            <action>maincpu.mq@DA50 = 660252100C0000FD</action>
            <action>maincpu.mq@DA58 = 6604041000100C00</action>
            <action>maincpu.mq@DA60 = 00FE660406100010</action>
            <action>maincpu.mq@DA68 = 0C0000EF66021290</action>
            <action>maincpu.mq@DA70 = 0C0000DF660412BC</action>
            <action>maincpu.mq@DA78 = 003F60BEFFFFFFFF</action>
            <!--
            DA30 | 41F9 0004 0200 : lea     $40200.l, A0   // sound code address
            DA36 | 43E8 5E0D      : lea     ($5e0d,A0), A1 // sound latch address ($4600d)
            DA3A | 1200           : move.b  D0, D1
            DA3C | 1028 3E07      : move.b  ($3e07,A0), D0 // read input ($44007)
            DA40 | B200           : cmp.b   D0, D1
            DA42 | 67F6           : beq     $da3a
            DA44 | 0C00 00FB      : cmpi.b  #-$5, D0
            DA48 | 6602           : bne     $da4c
            DA4A | 5310           : subq.b  #1, (A0)       // decrease code -01
            DA4C | 0C00 00F7      : cmpi.b  #-$9, D0
            DA50 | 6602           : bne     $da54
            DA52 | 5210           : addq.b  #1, (A0)       // increase code +01
            DA54 | 0C00 00FD      : cmpi.b  #-$3, D0
            DA58 | 6604           : bne     $da5e
            DA5A | 0410 0010      : subi.b  #$10, (A0)     // decrease code -10
            DA5E | 0C00 00FE      : cmpi.b  #-$2, D0
            DA62 | 6604           : bne     $da68
            DA64 | 0610 0010      : addi.b  #$10, (A0)     // increase code +10
            DA68 | 0C00 00EF      : cmpi.b  #-$11, D0
            DA6C | 6602           : bne     $da70
            DA6E | 1290           : move.b  (A0), (A1)     // play sound
            DA70 | 0C00 00DF      : cmpi.b  #-$21, D0
            DA74 | 6604           : bne     $da7a
            DA76 | 12BC 003F      : move.b  #$3f, (A1)     // stop sound
            DA7A | 60BE           : bra     $da3a
            -->
        </script>
        <script state="run">
            <output format="----- booby kids 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@40200</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0424 = 0464            </action>
            <action>maincpu.mq@DA30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA68 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@DA78 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>