[hangzo] Hangzo

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: 843
Joined: Tue Dec 01, 2020 1:24 pm

[hangzo] Hangzo

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mb@9312 = 60</action> <!-- enemy -->
        <action>maincpu.mb@9376 = 60</action> <!-- attack -->
    </script>
    <script state="off">
        <action>maincpu.mb@9312 = 67</action>
        <action>maincpu.mb@9376 = 67</action>
    </script>
</cheat>

<cheat desc="auto fire - sword">
    <script state="on">
        <action>maincpu.mq@0c146 = 4eb90003fde03002</action> <!-- stand -->
        <action>maincpu.mq@0c278 = 4eb90003fde03002</action> <!-- crouch -->
        <action>maincpu.mq@0aa94 = 4eb90003fde03002</action> <!-- dog -->
        <action>maincpu.mq@3fde0 = 3439003f09240802</action>
        <action>maincpu.mq@3fde8 = 000c670408c20004</action>
        <action>maincpu.mq@3fdf0 = 4e75ffffffffffff</action>
        <!--
        3fde0 | 3439 003f 0924 : move.w $3f0924.l,D2
        3fde6 | 0802 000c      : btst   #$c,D2
        3fdea | 6704           : beq    $3fdf0
        3fdec | 08c2 0004      : bset   #$4,D2
        3fdf0 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@0c146 = 3439003f09243002</action>
        <action>maincpu.mq@0c278 = 3439003f09243002</action>
        <action>maincpu.mq@0aa94 = 3439003f09243002</action>
        <action>maincpu.mq@3fde0 = 3439003f09240839</action>
        <action>maincpu.mq@3fde8 = 0004003f09246704</action>
        <action>maincpu.mq@3fdf0 = 000200104e75ffff</action>
    </script>
</cheat>

<cheat desc="attack speed up">
    <script state="on">
        <action>maincpu.mq@09e00 = 4eb90003fe000240</action>
        <action>maincpu.mq@3fe00 = b1fc003f021a6608</action>
        <action>maincpu.mq@3fe08 = 4ab9003f01ce6610</action>
        <action>maincpu.mq@3fe10 = b1fc003f02ba660c</action>
        <action>maincpu.mq@3fe18 = 4ab9003f026e6604</action>
        <action>maincpu.mq@3fe20 = 42026002e80a1142</action>
        <action>maincpu.mq@3fe28 = 00024e75ffffffff</action>
        <!--
        3fe00 | b1fc 003f 021a : cmpa.l #$3f021a,A0 // P1
        3fe06 | 6608           : bne    $3fe10
        3fe08 | 4ab9 003f 01ce : tst.l  $3f01ce.l
        3fe0e | 6610           : bne    $3fe20
        3fe10 | b1fc 003f 02ba : cmpa.l #$3f02ba,A0 // P2
        3fe16 | 660c           : bne    $3fe24
        3fe18 | 4ab9 003f 026e : tst.l  $3f026e.l
        3fe1e | 6604           : bne    $3fe24
        3fe20 | 4202           : clr.b  D2
        3fe22 | 6002           : bra    $3fe26
        3fe24 | e80a           : lsr.b  #4,D2
        3fe26 | 1142 0002      : move.b D2,($2,A0)
        3fe2a | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@09e00 = e80a114200020240</action>
        <action>maincpu.mq@3fe00 = ffffffffffffffff</action>
        <action>maincpu.mq@3fe08 = ffffffffffffffff</action>
        <action>maincpu.mq@3fe10 = ffffffffffffffff</action>
        <action>maincpu.mq@3fe18 = ffffffffffffffff</action>
        <action>maincpu.mq@3fe20 = ffffffffffffffff</action>
        <action>maincpu.mq@3fe28 = ffffffffffffffff</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@00592 =         0003fe30</action>
        <action>maincpu.mq@3fe30 = 41f9003f01001401</action>
        <action>maincpu.mq@3fe38 = 123900280089b401</action>
        <action>maincpu.mq@3fe40 = 67f40c0100fb6602</action>
        <action>maincpu.mq@3fe48 = 53100c0100f76602</action>
        <action>maincpu.mq@3fe50 = 52100c0100fd6604</action>
        <action>maincpu.mq@3fe58 = 041000100c0100fe</action>
        <action>maincpu.mq@3fe60 = 6604061000100c01</action>
        <action>maincpu.mq@3fe68 = 00ef66041010600a</action>
        <action>maincpu.mq@3fe70 = 0c0100df660a103c</action>
        <action>maincpu.mq@3fe78 = 00ff13c0002800a9</action>
        <action>maincpu.mq@3fe80 = 60b4ffffffffffff</action>
        <!--
        3fe30 | 41f9 003f 0100 : lea    $3f0100.l,A0 // sound code address
        3fe36 | 1401           : move.b D1,D2
        3fe38 | 1239 0028 0089 : move.b $280089.l,D1 // read input
        3fe3e | b401           : cmp.b  D1,D2
        3fe40 | 67f4           : beq    $3fe36
        3fe42 | 0c01 00fb      : cmpi.b #-$5,D1
        3fe46 | 6602           : bne    $3fe4a
        3fe48 | 5310           : subq.b #1,(A0)      // decrease code -01
        3fe4a | 0c01 00f7      : cmpi.b #-$9,D1
        3fe4e | 6602           : bne    $3fe52
        3fe50 | 5210           : addq.b #1,(A0)      // increase code +01
        3fe52 | 0c01 00fd      : cmpi.b #-$3,D1
        3fe56 | 6604           : bne    $3fe5c
        3fe58 | 0410 0010      : subi.b #$10,(A0)    // decrease code -10
        3fe5c | 0c01 00fe      : cmpi.b #-$2,D1
        3fe60 | 6604           : bne    $3fe66
        3fe62 | 0610 0010      : addi.b #$10,(A0)    // increase code +10
        3fe66 | 0c01 00ef      : cmpi.b #-$11,D1
        3fe6a | 6604           : bne    $3fe70
        3fe6c | 1010           : move.b (A0),D0      // play sound
        3fe6e | 600a           : bra    $3fe7a
        3fe70 | 0c01 00df      : cmpi.b #-$21,D1
        3fe74 | 660a           : bne    $3fe80
        3fe76 | 103c 00ff      : move.b #$ff,D0      // stop sound
        3fe7a | 13c0 0028 00a9 : move.b D0,$2800a9.l // send sound code
        3fe80 | 60b4           : bra    $3fe36
        -->
    </script>
    <script state="run">
        <output format="----- hangzo 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@3f0100</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@00592 =         00001186</action>
        <action>maincpu.mq@3fe30 = ffffffffffffffff</action>
        <action>maincpu.mq@3fe38 = ffffffffffffffff</action>
        <action>maincpu.mq@3fe40 = ffffffffffffffff</action>
        <action>maincpu.mq@3fe48 = ffffffffffffffff</action>
        <action>maincpu.mq@3fe50 = ffffffffffffffff</action>
        <action>maincpu.mq@3fe58 = ffffffffffffffff</action>
        <action>maincpu.mq@3fe60 = ffffffffffffffff</action>
        <action>maincpu.mq@3fe68 = ffffffffffffffff</action>
        <action>maincpu.mq@3fe70 = ffffffffffffffff</action>
        <action>maincpu.mq@3fe78 = ffffffffffffffff</action>
        <action>maincpu.mq@3fe80 = ffffffffffffffff</action>
    </script>
</cheat>
jman
Posts: 843
Joined: Tue Dec 01, 2020 1:24 pm

[hangzo] Hangzo

Post by jman »

Code: Select all

<!-- Hangzo (Japan, prototype) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mb@9312 = 60</action> <!-- enemy -->
            <action>maincpu.mb@9376 = 60</action> <!-- attack -->
        </script>
        <script state="off">
            <action>maincpu.mb@9312 = 67</action>
            <action>maincpu.mb@9376 = 67</action>
        </script>
    </cheat>

    <cheat desc="no fall down (test)">
        <comment>dog falls down. incorrect work in elevator scene</comment>
        <script state="on">
            <action>maincpu.mq@04914 = 4EB90003FE706728</action>
            <action>maincpu.mq@3FE70 = BDFC003F02646E0C</action>
            <action>maincpu.mq@3FE78 = 0C6E020100166404</action>
            <action>maincpu.mq@3FE80 = 7E0260044EB849F2</action>
            <action>maincpu.mq@3FE88 = 4A074E75FFFFFFFF</action>
            <!--
            3FE70 | BDFC 003F 0264 : cmpa.l  #$3f0264, A6    // check players
            3FE76 | 6E0C           : bgt     $3fe84
            3FE78 | 0C6E 0201 0016 : cmpi.w  #$201, ($16,A6) // check y position
            3FE7E | 6404           : bcc     $3fe84
            3FE80 | 7E02           : moveq   #$2, D7
            3FE82 | 6004           : bra     $3fe88
            3FE84 | 4EB8 49F2      : jsr     $49f2.w
            3FE88 | 4A07           : tst.b   D7
            3FE8A | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@04914 = 610000DC4A076728</action>
            <action>maincpu.mq@3FE70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FE78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FE80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FE88 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire - sword">
        <script state="on">
            <action>maincpu.mq@0C146 = 4EB90003FDE03002</action> <!-- stand -->
            <action>maincpu.mq@0C278 = 4EB90003FDE03002</action> <!-- crouch -->
            <action>maincpu.mq@0AA94 = 4EB90003FDE03002</action> <!-- dog -->
            <action>maincpu.mq@3FDE0 = 3439003F09240802</action>
            <action>maincpu.mq@3FDE8 = 000C670408C20004</action>
            <action>maincpu.mq@3FDF0 = 4E75FFFFFFFFFFFF</action>
            <!--
            3FDE0 | 3439 003F 0924 : move.w  $3f0924.l, D2
            3FDE6 | 0802 000C      : btst    #$c, D2
            3FDEA | 6704           : beq     $3fdf0
            3FDEC | 08C2 0004      : bset    #$4, D2
            3FDF0 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0C146 = 3439003F09243002</action>
            <action>maincpu.mq@0C278 = 3439003F09243002</action>
            <action>maincpu.mq@0AA94 = 3439003F09243002</action>
            <action>maincpu.mq@3FDE0 = 3439003F09240839</action>
            <action>maincpu.mq@3FDE8 = 0004003F09246704</action>
            <action>maincpu.mq@3FDF0 = 000200104E75FFFF</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.mq@09E00 = 4EB90003FE000240</action>
            <action>maincpu.mq@3FE00 = B1FC003F021A6708</action>
            <action>maincpu.mq@3FE08 = B1FC003F02BA6608</action>
            <action>maincpu.mq@3FE10 = 4AA8FFB467024202</action>
            <action>maincpu.mq@3FE18 = E80A114200024E75</action>
            <!--
            3FE00 | B1FC 003F 021A : cmpa.l  #$3f021a, A0 // P1
            3FE06 | 6708           : beq     $3fe10
            3FE08 | B1FC 003F 02BA : cmpa.l  #$3f02ba, A0 // P2
            3FE0E | 6608           : bne     $3fe18
            3FE10 | 4AA8 FFB4      : tst.l   (-$4c,A0)
            3FE14 | 6702           : beq     $3fe18
            3FE16 | 4202           : clr.b   D2
            3FE18 | E80A           : lsr.b   #4, D2
            3FE1A | 1142 0002      : move.b  D2, ($2,A0)
            3FE1E | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@09E00 = E80A114200020240</action>
            <action>maincpu.mq@3FE00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FE08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FE10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FE18 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="selectable same character">
        <script state="on">
            <action>maincpu.mw@3A2E = 4E71</action>
        </script>
        <script state="off">
            <action>maincpu.mw@3A2E = 67EE</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@0058C = 0003FE20        </action>
            <action>maincpu.mq@3FE20 = 41F9003F000043F9</action>
            <action>maincpu.mq@3FE28 = 002800A912001029</action>
            <action>maincpu.mq@3FE30 = FFE0B20067F60C00</action>
            <action>maincpu.mq@3FE38 = 00FB660253100C00</action>
            <action>maincpu.mq@3FE40 = 00F7660252100C00</action>
            <action>maincpu.mq@3FE48 = 00FD660404100010</action>
            <action>maincpu.mq@3FE50 = 0C0000FE66040610</action>
            <action>maincpu.mq@3FE58 = 00100C0000EF6602</action>
            <action>maincpu.mq@3FE60 = 12900C0000DF6604</action>
            <action>maincpu.mq@3FE68 = 12BC00FF60BEFFFF</action>
            <!--
            3FE20 | 41F9 003F 0000 : lea     $3f0000.l, A0 // sound code address
            3FE26 | 43F9 0028 00A9 : lea     $2800a9.l, A1 // sound latch address
            3FE2C | 1200           : move.b  D0, D1
            3FE2E | 1029 FFE0      : move.b  (-$20,A1), D0 // read input ($280089)
            3FE32 | B200           : cmp.b   D0, D1
            3FE34 | 67F6           : beq     $3fe2c
            3FE36 | 0C00 00FB      : cmpi.b  #-$5, D0
            3FE3A | 6602           : bne     $3fe3e
            3FE3C | 5310           : subq.b  #1, (A0)      // decrease code -01
            3FE3E | 0C00 00F7      : cmpi.b  #-$9, D0
            3FE42 | 6602           : bne     $3fe46
            3FE44 | 5210           : addq.b  #1, (A0)      // increase code +01
            3FE46 | 0C00 00FD      : cmpi.b  #-$3, D0
            3FE4A | 6604           : bne     $3fe50
            3FE4C | 0410 0010      : subi.b  #$10, (A0)    // decrease code -10
            3FE50 | 0C00 00FE      : cmpi.b  #-$2, D0
            3FE54 | 6604           : bne     $3fe5a
            3FE56 | 0610 0010      : addi.b  #$10, (A0)    // increase code +10
            3FE5A | 0C00 00EF      : cmpi.b  #-$11, D0
            3FE5E | 6602           : bne     $3fe62
            3FE60 | 1290           : move.b  (A0), (A1)    // play sound
            3FE62 | 0C00 00DF      : cmpi.b  #-$21, D0
            3FE66 | 6604           : bne     $3fe6c
            3FE68 | 12BC 00FF      : move.b  #$ff, (A1)    // stop sound
            3FE6C | 60BE           : bra     $3fe2c
            -->
        </script>
        <script state="run">
            <output format="----- hangzo 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@3F0000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@0058C = 0000058A        </action>
            <action>maincpu.mq@3FE20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FE28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FE30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FE38 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FE40 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FE48 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FE50 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FE58 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FE60 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@3FE68 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

</mamecheat>
  • "no fall down" : Added new as test code. Dog falls down. Incorrect work in elevator scene.
  • "selectable same character" : Added new.
Post Reply