[crimecj] Crime City

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

[crimecj] Crime City

Post by jman »

Code: Select all

<!-- Crime City (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit (test)">
        <comment>sometimes punch at close range is repelled though no energy decrement</comment>
        <script state="on">
            <action>maincpu.mb@0d58e =   60</action> <!-- object -->
            <action>maincpu.mb@1243a =   60</action> <!-- road in level 2-1 -->
            <action>maincpu.mb@16e02 =   60</action> <!-- P1 bullet -->
            <action>maincpu.mb@16ea6 =   60</action> <!-- P2 bullet -->
            <action>maincpu.mw@17188 = 4e71</action> <!-- damage? -->
            <action>maincpu.mw@2b76e = 0282</action> <!-- P1 punch? -->
            <action>maincpu.mw@2b7c0 = 0286</action> <!-- P2 punch? -->
            <!-- enemy -->
            <action>maincpu.mq@16fa0 = 4eb900073d70671a</action>
            <action>maincpu.mq@73d70 = 3e2db06402470003</action>
            <action>maincpu.mq@73d78 = 673847f900a023f8</action>
            <action>maincpu.mq@73d80 = 082a000300116610</action>
            <action>maincpu.mq@73d88 = 47f900a026f8082a</action>
            <action>maincpu.mq@73d90 = 000700116602601a</action>
            <action>maincpu.mq@73d98 = 3e2b002c0c470005</action>
            <action>maincpu.mq@73da0 = 67100c470006670a</action>
            <action>maincpu.mq@73da8 = 0c47001f67044247</action>
            <action>maincpu.mq@73db0 = 60064eb900016f10</action>
            <action>maincpu.mq@73db8 = 4a474e75ffffffff</action>
            <!--
            73d70 | 3e2d b064      : move.w (-$4f9c,A5),D7
            73d74 | 0247 0003      : andi.w #$3,D7
            73d78 | 6738           : beq    $73db2
            73d7a | 47f9 00a0 23f8 : lea    $a023f8.l,A3
            73d80 | 082a 0003 0011 : btst   #$3,($11,A2)
            73d86 | 6610           : bne    $73d98
            73d88 | 47f9 00a0 26f8 : lea    $a026f8.l,A3
            73d8e | 082a 0007 0011 : btst   #$7,($11,A2)
            73d94 | 6602           : bne    $73d98
            73d96 | 601a           : bra    $73db2
            73d98 | 3e2b 002c      : move.w ($2c,A3),D7
            73d9c | 0c47 0005      : cmpi.w #$5,D7
            73da0 | 6710           : beq    $73db2
            73da2 | 0c47 0006      : cmpi.w #$6,D7
            73da6 | 670a           : beq    $73db2
            73da8 | 0c47 001f      : cmpi.w #$1f,D7
            73dac | 6704           : beq    $73db2
            73dae | 4247           : clr.w  D7
            73db0 | 6006           : bra    $73db8
            73db2 | 4eb9 0001 6f10 : jsr    $16f10.l
            73db8 | 4a47           : tst.w  D7
            73dba | 4e75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mb@0d58e =               67</action>
            <action>maincpu.mb@1243a =               66</action>
            <action>maincpu.mb@16e02 =               67</action>
            <action>maincpu.mb@16ea6 =               67</action>
            <action>maincpu.mw@17188 =             6602</action>
            <action>maincpu.mw@2b76e =             03d8</action>
            <action>maincpu.mw@2b7c0 =             03c6</action>
            <action>maincpu.mq@16fa0 = 4ebaff6e4a47671a</action>
            <action>maincpu.mq@73d70 = ffffffffffffffff</action>
            <action>maincpu.mq@73d78 = ffffffffffffffff</action>
            <action>maincpu.mq@73d80 = ffffffffffffffff</action>
            <action>maincpu.mq@73d88 = ffffffffffffffff</action>
            <action>maincpu.mq@73d90 = ffffffffffffffff</action>
            <action>maincpu.mq@73d98 = ffffffffffffffff</action>
            <action>maincpu.mq@73da0 = ffffffffffffffff</action>
            <action>maincpu.mq@73da8 = ffffffffffffffff</action>
            <action>maincpu.mq@73db0 = ffffffffffffffff</action>
            <action>maincpu.mq@73db8 = ffffffffffffffff</action>
        </script>
    </cheat>

    <cheat desc="rapid fire">
        <script state="on">
            <action>maincpu.mq@0d81c = 4ef900073dc0302d</action> <!-- normal scene -->
            <action>maincpu.mq@0d84c = 4ef900073dc0005a</action> <!-- 3d scene -->
            <action>maincpu.mq@73dc0 = 082d0004a2f16606</action>
            <action>maincpu.mq@73dc8 = 08ed0004a2f32070</action>
            <action>maincpu.mq@73dd0 = 00004ed0ffffffff</action>
            <!--
            73dc0 | 082d 0004 a2f1 : btst    #$4,(-$5d0f,A5)
            73dc6 | 6606           : bne     $73dce
            73dc8 | 08ed 0004 a2f3 : bset    #$4,(-$5d0d,A5)
            73dce | 2070 0000      : movea.l (A0,D0.w),A0
            73dd2 | 4ed0           : jmp     (A0)
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0d81c = 207000004ed0302d</action>
            <action>maincpu.mq@0d84c = 207000004ed0005a</action>
            <action>maincpu.mq@73dc0 = ffffffffffffffff</action>
            <action>maincpu.mq@73dc8 = ffffffffffffffff</action>
            <action>maincpu.mq@73dd0 = ffffffffffffffff</action>
        </script>
    </cheat>

    <cheat desc="action speed up (test)">
        <comment>you can't throw a grenade</comment>
        <script state="on">
            <!-- main timer -->
            <action>maincpu.md@1236e = 397c0001</action>
            <!-- normal scene -->
            <action>maincpu.mw@0ee42 = 0001</action> <!-- normal gun (stand) -->
            <action>maincpu.mw@0ef38 = 0001</action> <!-- normal gun (crouch) -->
            <action>maincpu.mw@0eff8 = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@0f0b8 = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@0f1fe = 0001</action> <!-- machine gun (stand) -->
            <action>maincpu.mw@0f30c = 0001</action> <!-- machine gun (crouch) -->
            <action>maincpu.mw@0f3de = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@0f4b0 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@0f5dc = 0001</action> <!-- armour-piercing gun (stand) -->
            <action>maincpu.mw@0f6d2 = 0001</action> <!-- armour-piercing gun (crouch) -->
            <action>maincpu.mw@0f792 = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@0f852 = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@0f97e = 0001</action> <!-- 3-way (stand) -->
            <action>maincpu.mw@0fa74 = 0001</action> <!-- 3-way (crouch) -->
            <action>maincpu.mw@0fb34 = 0001</action> <!-- 3-way (jump) -->
            <action>maincpu.mw@0fbf4 = 0001</action> <!-- 3-way (jump) -->
            <!-- level 6-1 -->
            <action>maincpu.mw@1059e = 0001</action> <!-- normal gun (stand) -->
            <action>maincpu.mw@10634 = 0001</action> <!-- normal gun (crouch) -->
            <action>maincpu.mw@106d8 = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@1077c = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@1082e = 0001</action> <!-- machine gun (stand) -->
            <action>maincpu.mw@108d4 = 0001</action> <!-- machine gun (crouch) -->
            <action>maincpu.mw@10988 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@10a3c = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@10ade = 0001</action> <!-- armour-piercing gun (stand) -->
            <action>maincpu.mw@10b74 = 0001</action> <!-- armour-piercing gun (crouch) -->
            <action>maincpu.mw@10c18 = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@10cbc = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@10d5e = 0001</action> <!-- 3-way (stand) -->
            <action>maincpu.mw@10df4 = 0001</action> <!-- 3-way (crouch) -->
            <action>maincpu.mw@10e98 = 0001</action> <!-- 3-way (jump) -->
            <action>maincpu.mw@10f3c = 0001</action> <!-- 3-way (jump) -->
            <!-- 3d scene in level 2-2 -->
            <action>maincpu.mw@115d4 = 0001</action> <!-- normal gun (stand) -->
            <action>maincpu.mw@1169e = 0001</action> <!-- normal gun (crouch) -->
            <action>maincpu.mw@1173e = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@117de = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@118ec = 0001</action> <!-- machine gun (stand) -->
            <action>maincpu.mw@119c6 = 0001</action> <!-- machine gun (crouch) -->
            <action>maincpu.mw@11a76 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@11b26 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@11c24 = 0001</action> <!-- armour-piercing gun (stand) -->
            <action>maincpu.mw@11cee = 0001</action> <!-- armour-piercing gun (crouch) -->
            <action>maincpu.mw@11d8e = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@11e2e = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@11f2c = 0001</action> <!-- 3-way (stand) -->
            <action>maincpu.mw@11ff6 = 0001</action> <!-- 3-way (crouch) -->
            <action>maincpu.mw@12096 = 0001</action> <!-- 3-way (jump) -->
            <action>maincpu.mw@1213a = 0001</action> <!-- 3-way (jump) -->
        </script>
        <script state="off">
            <action>maincpu.md@1236e = 397000f8</action>
            <action>maincpu.mw@0ee42 =     0003</action>
            <action>maincpu.mw@0ef38 =     0003</action>
            <action>maincpu.mw@0eff8 =     0003</action>
            <action>maincpu.mw@0f0b8 =     0003</action>
            <action>maincpu.mw@0f1fe =     0003</action>
            <action>maincpu.mw@0f30c =     0003</action>
            <action>maincpu.mw@0f3de =     0003</action>
            <action>maincpu.mw@0f4b0 =     0003</action>
            <action>maincpu.mw@0f5dc =     0003</action>
            <action>maincpu.mw@0f6d2 =     0003</action>
            <action>maincpu.mw@0f792 =     0003</action>
            <action>maincpu.mw@0f852 =     0003</action>
            <action>maincpu.mw@0f97e =     0003</action>
            <action>maincpu.mw@0fa74 =     0003</action>
            <action>maincpu.mw@0fb34 =     0003</action>
            <action>maincpu.mw@0fbf4 =     0003</action>
            <action>maincpu.mw@1059e =     0003</action>
            <action>maincpu.mw@10634 =     0003</action>
            <action>maincpu.mw@106d8 =     0003</action>
            <action>maincpu.mw@1077c =     0003</action>
            <action>maincpu.mw@1082e =     0003</action>
            <action>maincpu.mw@108d4 =     0003</action>
            <action>maincpu.mw@10988 =     0003</action>
            <action>maincpu.mw@10a3c =     0003</action>
            <action>maincpu.mw@10ade =     0003</action>
            <action>maincpu.mw@10b74 =     0003</action>
            <action>maincpu.mw@10c18 =     0003</action>
            <action>maincpu.mw@10cbc =     0003</action>
            <action>maincpu.mw@10d5e =     0003</action>
            <action>maincpu.mw@10df4 =     0003</action>
            <action>maincpu.mw@10e98 =     0003</action>
            <action>maincpu.mw@10f3c =     0003</action>
            <action>maincpu.mw@115d4 =     0003</action>
            <action>maincpu.mw@1169e =     0003</action>
            <action>maincpu.mw@1173e =     0003</action>
            <action>maincpu.mw@117de =     0003</action>
            <action>maincpu.mw@118ec =     0003</action>
            <action>maincpu.mw@119c6 =     0003</action>
            <action>maincpu.mw@11a76 =     0003</action>
            <action>maincpu.mw@11b26 =     0003</action>
            <action>maincpu.mw@11c24 =     0003</action>
            <action>maincpu.mw@11cee =     0003</action>
            <action>maincpu.mw@11d8e =     0003</action>
            <action>maincpu.mw@11e2e =     0003</action>
            <action>maincpu.mw@11f2c =     0003</action>
            <action>maincpu.mw@11ff6 =     0003</action>
            <action>maincpu.mw@12096 =     0003</action>
            <action>maincpu.mw@1213a =     0003</action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@7d84 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@7d84 = 003b</action>
        </script>
    </cheat>

    <cheat desc="unlock round select mode">
        <comment>reset the game (F3) to enter round select mode</comment>
        <script state="on">
            <action>maincpu.md@3ec4 = 600014ae</action>
        </script>
        <script state="off">
            <action>maincpu.md@3ec4 = 67001386</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@0199e =             4e75</action> <!-- sound code routine stopper -->
            <action>maincpu.md@00942 =         00073de0</action>
            <action>maincpu.mq@73de0 = 41f900a0010143e8</action>
            <action>maincpu.mq@73de8 = ffff45f8197410bc</action>
            <action>maincpu.mq@73df0 = 00ef4e9242390020</action>
            <action>maincpu.mq@73df8 = 0000140112390020</action>
            <action>maincpu.mq@73e00 = 0004b40167ee0c01</action>
            <action>maincpu.mq@73e08 = 00fb660253110c01</action>
            <action>maincpu.mq@73e10 = 00f7660252110c01</action>
            <action>maincpu.mq@73e18 = 00fd660404110010</action>
            <action>maincpu.mq@73e20 = 0c0100fe66040611</action>
            <action>maincpu.mq@73e28 = 00100c0100ef6604</action>
            <action>maincpu.mq@73e30 = 10914e920c0100df</action>
            <action>maincpu.mq@73e38 = 660442104e9260b4</action>
            <!--
            73de0 | 41f9 00a0 0101 : lea    $a00101.l,A0 // $a00101 : sound latch address
            73de6 | 43e8 ffff      : lea    (-$1,A0),A1  // $a00100 : sound code address
            73dea | 45f8 1974      : lea    $1974.w,A2
            73dee | 10bc 00ef      : move.b #$ef,(A0)    // enable sound
            73df2 | 4e92           : jsr    (A2)
            73df4 | 4239 0020 0000 : clr.b  $200000.l    // watchdog
            73dfa | 1401           : move.b D1,D2
            73dfc | 1239 0020 0004 : move.b $200004.l,D1 // read input
            73e02 | b401           : cmp.b  D1,D2
            73e04 | 67ee           : beq    $73df4
            73e06 | 0c01 00fb      : cmpi.b #-$5,D1
            73e0a | 6602           : bne    $73e0e
            73e0c | 5311           : subq.b #1,(A1)      // decrease code -01
            73e0e | 0c01 00f7      : cmpi.b #-$9,D1
            73e12 | 6602           : bne    $73e16
            73e14 | 5211           : addq.b #1,(A1)      // increase code +01
            73e16 | 0c01 00fd      : cmpi.b #-$3,D1
            73e1a | 6604           : bne    $73e20
            73e1c | 0411 0010      : subi.b #$10,(A1)    // decrease code -10
            73e20 | 0c01 00fe      : cmpi.b #-$2,D1
            73e24 | 6604           : bne    $73e2a
            73e26 | 0611 0010      : addi.b #$10,(A1)    // increase code +10
            73e2a | 0c01 00ef      : cmpi.b #-$11,D1
            73e2e | 6604           : bne    $73e34
            73e30 | 1091           : move.b (A1),(A0)    // play sound
            73e32 | 4e92           : jsr    (A2)
            73e34 | 0c01 00df      : cmpi.b #-$21,D1
            73e38 | 6604           : bne    $73e3e
            73e3a | 4210           : clr.b  (A0)         // stop sound
            73e3c | 4e92           : jsr    (A2)
            73e3e | 60b4           : bra    $73df4
            -->
        </script>
        <script state="run">
            <output format="----- crime city 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@a00100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0199e =             43ed</action>
            <action>maincpu.md@00942 =         000049b8</action>
            <action>maincpu.mq@73de0 = ffffffffffffffff</action>
            <action>maincpu.mq@73de8 = ffffffffffffffff</action>
            <action>maincpu.mq@73df0 = ffffffffffffffff</action>
            <action>maincpu.mq@73df8 = ffffffffffffffff</action>
            <action>maincpu.mq@73e00 = ffffffffffffffff</action>
            <action>maincpu.mq@73e08 = ffffffffffffffff</action>
            <action>maincpu.mq@73e10 = ffffffffffffffff</action>
            <action>maincpu.mq@73e18 = ffffffffffffffff</action>
            <action>maincpu.mq@73e20 = ffffffffffffffff</action>
            <action>maincpu.mq@73e28 = ffffffffffffffff</action>
            <action>maincpu.mq@73e30 = ffffffffffffffff</action>
            <action>maincpu.mq@73e38 = ffffffffffffffff</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mb@27bb = bc</action>
        </script>
        <script state="off">
            <action>maincpu.mb@27bb = a4</action>
        </script>
    </cheat>

</mamecheat>
  • "no hit" : sometimes punch at close range is repelled though no energy decrement.
  • "action speed up" : you can't throw a grenade.
jman
Posts: 874
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 3 times

[crimec]+ Crime City

Post by jman »

crimec.xml

Code: Select all

<!-- Crime City (World) -->
<mamecheat version="1">

    <cheat desc="no hit (test)">
        <comment>sometimes punch at close range is repelled though no energy decrement</comment>
        <script state="on">
            <action>maincpu.mw@0D58E = 6066</action> <!-- object -->
            <action>maincpu.mw@1243A = 6012</action> <!-- road (level 2-1) -->
            <action>maincpu.mw@16E02 = 6018</action> <!-- P1 bullet -->
            <action>maincpu.mw@16EA6 = 6018</action> <!-- P2 bullet -->
            <action>maincpu.mw@17188 = 4E71</action> <!-- damage? -->
            <action>maincpu.mw@2B76E = 0282</action> <!-- P1 punch? -->
            <action>maincpu.mw@2B7C0 = 0286</action> <!-- P2 punch? -->
            <!-- enemy -->
            <action>maincpu.mq@16FA0 = 4EB900073D70671A</action>
            <action>maincpu.mq@73D70 = 3E2DB06402470003</action>
            <action>maincpu.mq@73D78 = 673847F900A023F8</action>
            <action>maincpu.mq@73D80 = 082A000300116610</action>
            <action>maincpu.mq@73D88 = 47F900A026F8082A</action>
            <action>maincpu.mq@73D90 = 000700116602601A</action>
            <action>maincpu.mq@73D98 = 3E2B002C0C470005</action>
            <action>maincpu.mq@73DA0 = 67100C470006670A</action>
            <action>maincpu.mq@73DA8 = 0C47001F67044247</action>
            <action>maincpu.mq@73DB0 = 60064EB900016F10</action>
            <action>maincpu.mq@73DB8 = 4A474E75FFFFFFFF</action>
            <!--
            73D70 | 3E2D B064      : move.w  (-$4f9c,A5), D7
            73D74 | 0247 0003      : andi.w  #$3, D7
            73D78 | 6738           : beq     $73db2
            73D7A | 47F9 00A0 23F8 : lea     $a023f8.l, A3
            73D80 | 082A 0003 0011 : btst    #$3, ($11,A2)
            73D86 | 6610           : bne     $73d98
            73D88 | 47F9 00A0 26F8 : lea     $a026f8.l, A3
            73D8E | 082A 0007 0011 : btst    #$7, ($11,A2)
            73D94 | 6602           : bne     $73d98
            73D96 | 601A           : bra     $73db2
            73D98 | 3E2B 002C      : move.w  ($2c,A3), D7
            73D9C | 0C47 0005      : cmpi.w  #$5, D7
            73DA0 | 6710           : beq     $73db2
            73DA2 | 0C47 0006      : cmpi.w  #$6, D7
            73DA6 | 670A           : beq     $73db2
            73DA8 | 0C47 001F      : cmpi.w  #$1f, D7
            73DAC | 6704           : beq     $73db2
            73DAE | 4247           : clr.w   D7
            73DB0 | 6006           : bra     $73db8
            73DB2 | 4EB9 0001 6F10 : jsr     $16f10.l
            73DB8 | 4A47           : tst.w   D7
            73DBA | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@0D58E = 6766            </action>
            <action>maincpu.mw@1243A = 6612            </action>
            <action>maincpu.mw@16E02 = 6718            </action>
            <action>maincpu.mw@16EA6 = 6718            </action>
            <action>maincpu.mw@17188 = 6602            </action>
            <action>maincpu.mw@2B76E = 03D8            </action>
            <action>maincpu.mw@2B7C0 = 03C6            </action>
            <action>maincpu.mq@16FA0 = 4EBAFF6E4A47671A</action>
            <action>maincpu.mq@73D70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73D78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73D80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73D88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73D90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73D98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DB8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@0D81C = 4EF900073DC0302D</action> <!-- normal scene -->
            <action>maincpu.mq@0D84C = 4EF900073DC0005A</action> <!-- 3d scene -->
            <action>maincpu.mq@73DC0 = 082D0004A2F16606</action>
            <action>maincpu.mq@73DC8 = 08ED0004A2F32070</action>
            <action>maincpu.mq@73DD0 = 00004ED0FFFFFFFF</action>
            <!--
            73DC0 | 082D 0004 A2F1 : btst    #$4, (-$5d0f,A5)
            73DC6 | 6606           : bne     $73dce
            73DC8 | 08ED 0004 A2F3 : bset    #$4, (-$5d0d,A5)
            73DCE | 2070 0000      : movea.l (A0,D0.w), A0
            73DD2 | 4ED0           : jmp     (A0)
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0D81C = 207000004ED0302D</action>
            <action>maincpu.mq@0D84C = 207000004ED0005A</action>
            <action>maincpu.mq@73DC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="action speed up (test)">
        <comment>you can't throw a grenade</comment>
        <script state="on">
            <!-- main timer -->
            <action>maincpu.md@1236E = 397C0001</action>
            <!-- normal scene -->
            <action>maincpu.mw@EE42 = 0001</action> <!-- normal gun (stand) -->
            <action>maincpu.mw@EF38 = 0001</action> <!-- normal gun (crouch) -->
            <action>maincpu.mw@EFF8 = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@F0B8 = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@F1FE = 0001</action> <!-- machine gun (stand) -->
            <action>maincpu.mw@F30C = 0001</action> <!-- machine gun (crouch) -->
            <action>maincpu.mw@F3DE = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@F4B0 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@F5DC = 0001</action> <!-- armour-piercing gun (stand) -->
            <action>maincpu.mw@F6D2 = 0001</action> <!-- armour-piercing gun (crouch) -->
            <action>maincpu.mw@F792 = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@F852 = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@F97E = 0001</action> <!-- 3-way (stand) -->
            <action>maincpu.mw@FA74 = 0001</action> <!-- 3-way (crouch) -->
            <action>maincpu.mw@FB34 = 0001</action> <!-- 3-way (jump) -->
            <action>maincpu.mw@FBF4 = 0001</action> <!-- 3-way (jump) -->
            <!-- level 6-1 -->
            <action>maincpu.mw@1059E = 0001</action> <!-- normal gun (stand) -->
            <action>maincpu.mw@10634 = 0001</action> <!-- normal gun (crouch) -->
            <action>maincpu.mw@106D8 = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@1077C = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@1082E = 0001</action> <!-- machine gun (stand) -->
            <action>maincpu.mw@108D4 = 0001</action> <!-- machine gun (crouch) -->
            <action>maincpu.mw@10988 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@10A3C = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@10ADE = 0001</action> <!-- armour-piercing gun (stand) -->
            <action>maincpu.mw@10B74 = 0001</action> <!-- armour-piercing gun (crouch) -->
            <action>maincpu.mw@10C18 = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@10CBC = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@10D5E = 0001</action> <!-- 3-way (stand) -->
            <action>maincpu.mw@10DF4 = 0001</action> <!-- 3-way (crouch) -->
            <action>maincpu.mw@10E98 = 0001</action> <!-- 3-way (jump) -->
            <action>maincpu.mw@10F3C = 0001</action> <!-- 3-way (jump) -->
            <!-- 3d scene in level 2-2 -->
            <action>maincpu.mw@115D4 = 0001</action> <!-- normal gun (stand) -->
            <action>maincpu.mw@1169E = 0001</action> <!-- normal gun (crouch) -->
            <action>maincpu.mw@1173E = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@117DE = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@118EC = 0001</action> <!-- machine gun (stand) -->
            <action>maincpu.mw@119C6 = 0001</action> <!-- machine gun (crouch) -->
            <action>maincpu.mw@11A76 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@11B26 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@11C24 = 0001</action> <!-- armour-piercing gun (stand) -->
            <action>maincpu.mw@11CEE = 0001</action> <!-- armour-piercing gun (crouch) -->
            <action>maincpu.mw@11D8E = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@11E2E = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@11F2C = 0001</action> <!-- 3-way (stand) -->
            <action>maincpu.mw@11FF6 = 0001</action> <!-- 3-way (crouch) -->
            <action>maincpu.mw@12096 = 0001</action> <!-- 3-way (jump) -->
            <action>maincpu.mw@1213A = 0001</action> <!-- 3-way (jump) -->
        </script>
        <script state="off">
            <action>maincpu.md@1236E = 397000F8</action>
            <action>maincpu.mw@0EE42 = 0003    </action>
            <action>maincpu.mw@0EF38 = 0003    </action>
            <action>maincpu.mw@0EFF8 = 0003    </action>
            <action>maincpu.mw@0F0B8 = 0003    </action>
            <action>maincpu.mw@0F1FE = 0003    </action>
            <action>maincpu.mw@0F30C = 0003    </action>
            <action>maincpu.mw@0F3DE = 0003    </action>
            <action>maincpu.mw@0F4B0 = 0003    </action>
            <action>maincpu.mw@0F5DC = 0003    </action>
            <action>maincpu.mw@0F6D2 = 0003    </action>
            <action>maincpu.mw@0F792 = 0003    </action>
            <action>maincpu.mw@0F852 = 0003    </action>
            <action>maincpu.mw@0F97E = 0003    </action>
            <action>maincpu.mw@0FA74 = 0003    </action>
            <action>maincpu.mw@0FB34 = 0003    </action>
            <action>maincpu.mw@0FBF4 = 0003    </action>
            <action>maincpu.mw@1059E = 0003    </action>
            <action>maincpu.mw@10634 = 0003    </action>
            <action>maincpu.mw@106D8 = 0003    </action>
            <action>maincpu.mw@1077C = 0003    </action>
            <action>maincpu.mw@1082E = 0003    </action>
            <action>maincpu.mw@108D4 = 0003    </action>
            <action>maincpu.mw@10988 = 0003    </action>
            <action>maincpu.mw@10A3C = 0003    </action>
            <action>maincpu.mw@10ADE = 0003    </action>
            <action>maincpu.mw@10B74 = 0003    </action>
            <action>maincpu.mw@10C18 = 0003    </action>
            <action>maincpu.mw@10CBC = 0003    </action>
            <action>maincpu.mw@10D5E = 0003    </action>
            <action>maincpu.mw@10DF4 = 0003    </action>
            <action>maincpu.mw@10E98 = 0003    </action>
            <action>maincpu.mw@10F3C = 0003    </action>
            <action>maincpu.mw@115D4 = 0003    </action>
            <action>maincpu.mw@1169E = 0003    </action>
            <action>maincpu.mw@1173E = 0003    </action>
            <action>maincpu.mw@117DE = 0003    </action>
            <action>maincpu.mw@118EC = 0003    </action>
            <action>maincpu.mw@119C6 = 0003    </action>
            <action>maincpu.mw@11A76 = 0003    </action>
            <action>maincpu.mw@11B26 = 0003    </action>
            <action>maincpu.mw@11C24 = 0003    </action>
            <action>maincpu.mw@11CEE = 0003    </action>
            <action>maincpu.mw@11D8E = 0003    </action>
            <action>maincpu.mw@11E2E = 0003    </action>
            <action>maincpu.mw@11F2C = 0003    </action>
            <action>maincpu.mw@11FF6 = 0003    </action>
            <action>maincpu.mw@12096 = 0003    </action>
            <action>maincpu.mw@1213A = 0003    </action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@7D84 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@7D84 = 003B</action>
        </script>
    </cheat>

    <cheat desc="unlock round select mode">
        <comment>reset the game (F3) to enter round select mode</comment>
        <script state="on">
            <action>maincpu.md@3EC4 = 600014AE</action>
        </script>
        <script state="off">
            <action>maincpu.md@3EC4 = 67001386</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@0199E = 4E75            </action> <!-- sound code routine stopper -->
            <action>maincpu.md@00942 = 00073DE0        </action>
            <action>maincpu.mq@73DE0 = 41F900A0010143E8</action>
            <action>maincpu.mq@73DE8 = FFFF45F8197410BC</action>
            <action>maincpu.mq@73DF0 = 00EF4E9242390020</action>
            <action>maincpu.mq@73DF8 = 0000140112390020</action>
            <action>maincpu.mq@73E00 = 0004B40167EE0C01</action>
            <action>maincpu.mq@73E08 = 00FB660253110C01</action>
            <action>maincpu.mq@73E10 = 00F7660252110C01</action>
            <action>maincpu.mq@73E18 = 00FD660404110010</action>
            <action>maincpu.mq@73E20 = 0C0100FE66040611</action>
            <action>maincpu.mq@73E28 = 00100C0100EF6604</action>
            <action>maincpu.mq@73E30 = 10914E920C0100DF</action>
            <action>maincpu.mq@73E38 = 660442104E9260B4</action>
            <!--
            73DE0 | 41F9 00A0 0101 : lea     $a00101.l, A0 // sound latch address
            73DE6 | 43E8 FFFF      : lea     (-$1,A0), A1  // sound code address ($a00100)
            73DEA | 45F8 1974      : lea     $1974.w, A2
            73DEE | 10BC 00EF      : move.b  #$ef, (A0)    // enable sound
            73DF2 | 4E92           : jsr     (A2)
            73DF4 | 4239 0020 0000 : clr.b   $200000.l     // watchdog
            73DFA | 1401           : move.b  D1, D2
            73DFC | 1239 0020 0004 : move.b  $200004.l, D1 // read input
            73E02 | B401           : cmp.b   D1, D2
            73E04 | 67EE           : beq     $73df4
            73E06 | 0C01 00FB      : cmpi.b  #-$5, D1
            73E0A | 6602           : bne     $73e0e
            73E0C | 5311           : subq.b  #1, (A1)      // decrease code -01
            73E0E | 0C01 00F7      : cmpi.b  #-$9, D1
            73E12 | 6602           : bne     $73e16
            73E14 | 5211           : addq.b  #1, (A1)      // increase code +01
            73E16 | 0C01 00FD      : cmpi.b  #-$3, D1
            73E1A | 6604           : bne     $73e20
            73E1C | 0411 0010      : subi.b  #$10, (A1)    // decrease code -10
            73E20 | 0C01 00FE      : cmpi.b  #-$2, D1
            73E24 | 6604           : bne     $73e2a
            73E26 | 0611 0010      : addi.b  #$10, (A1)    // increase code +10
            73E2A | 0C01 00EF      : cmpi.b  #-$11, D1
            73E2E | 6604           : bne     $73e34
            73E30 | 1091           : move.b  (A1), (A0)    // play sound
            73E32 | 4E92           : jsr     (A2)
            73E34 | 0C01 00DF      : cmpi.b  #-$21, D1
            73E38 | 6604           : bne     $73e3e
            73E3A | 4210           : clr.b   (A0)          // stop sound
            73E3C | 4E92           : jsr     (A2)
            73E3E | 60B4           : bra     $73df4
            -->
        </script>
        <script state="run">
            <output format="----- crime city 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@A00100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0199E = 43ED            </action>
            <action>maincpu.md@00942 = 000049B8        </action>
            <action>maincpu.mq@73DE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E38 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mb@27BB = BC</action>
        </script>
        <script state="off">
            <action>maincpu.mb@27BB = A4</action>
        </script>
    </cheat>

</mamecheat>
crimecu.xml

Code: Select all

<!-- Crime City (US) -->
<mamecheat version="1">

    <cheat desc="no hit (test)">
        <comment>sometimes punch at close range is repelled though no energy decrement</comment>
        <script state="on">
            <action>maincpu.mw@0D58E = 6066</action> <!-- object -->
            <action>maincpu.mw@1243A = 6012</action> <!-- road (level 2-1) -->
            <action>maincpu.mw@16E02 = 6018</action> <!-- P1 bullet -->
            <action>maincpu.mw@16EA6 = 6018</action> <!-- P2 bullet -->
            <action>maincpu.mw@17188 = 4E71</action> <!-- damage? -->
            <action>maincpu.mw@2B76E = 0282</action> <!-- P1 punch? -->
            <action>maincpu.mw@2B7C0 = 0286</action> <!-- P2 punch? -->
            <!-- enemy -->
            <action>maincpu.mq@16FA0 = 4EB900073D70671A</action>
            <action>maincpu.mq@73D70 = 3E2DB06402470003</action>
            <action>maincpu.mq@73D78 = 673847F900A023F8</action>
            <action>maincpu.mq@73D80 = 082A000300116610</action>
            <action>maincpu.mq@73D88 = 47F900A026F8082A</action>
            <action>maincpu.mq@73D90 = 000700116602601A</action>
            <action>maincpu.mq@73D98 = 3E2B002C0C470005</action>
            <action>maincpu.mq@73DA0 = 67100C470006670A</action>
            <action>maincpu.mq@73DA8 = 0C47001F67044247</action>
            <action>maincpu.mq@73DB0 = 60064EB900016F10</action>
            <action>maincpu.mq@73DB8 = 4A474E75FFFFFFFF</action>
            <!--
            73D70 | 3E2D B064      : move.w  (-$4f9c,A5), D7
            73D74 | 0247 0003      : andi.w  #$3, D7
            73D78 | 6738           : beq     $73db2
            73D7A | 47F9 00A0 23F8 : lea     $a023f8.l, A3
            73D80 | 082A 0003 0011 : btst    #$3, ($11,A2)
            73D86 | 6610           : bne     $73d98
            73D88 | 47F9 00A0 26F8 : lea     $a026f8.l, A3
            73D8E | 082A 0007 0011 : btst    #$7, ($11,A2)
            73D94 | 6602           : bne     $73d98
            73D96 | 601A           : bra     $73db2
            73D98 | 3E2B 002C      : move.w  ($2c,A3), D7
            73D9C | 0C47 0005      : cmpi.w  #$5, D7
            73DA0 | 6710           : beq     $73db2
            73DA2 | 0C47 0006      : cmpi.w  #$6, D7
            73DA6 | 670A           : beq     $73db2
            73DA8 | 0C47 001F      : cmpi.w  #$1f, D7
            73DAC | 6704           : beq     $73db2
            73DAE | 4247           : clr.w   D7
            73DB0 | 6006           : bra     $73db8
            73DB2 | 4EB9 0001 6F10 : jsr     $16f10.l
            73DB8 | 4A47           : tst.w   D7
            73DBA | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@0D58E = 6766            </action>
            <action>maincpu.mw@1243A = 6612            </action>
            <action>maincpu.mw@16E02 = 6718            </action>
            <action>maincpu.mw@16EA6 = 6718            </action>
            <action>maincpu.mw@17188 = 6602            </action>
            <action>maincpu.mw@2B76E = 03D8            </action>
            <action>maincpu.mw@2B7C0 = 03C6            </action>
            <action>maincpu.mq@16FA0 = 4EBAFF6E4A47671A</action>
            <action>maincpu.mq@73D70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73D78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73D80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73D88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73D90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73D98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DB8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@0D81C = 4EF900073DC0302D</action> <!-- normal scene -->
            <action>maincpu.mq@0D84C = 4EF900073DC0005A</action> <!-- 3d scene -->
            <action>maincpu.mq@73DC0 = 082D0004A2F16606</action>
            <action>maincpu.mq@73DC8 = 08ED0004A2F32070</action>
            <action>maincpu.mq@73DD0 = 00004ED0FFFFFFFF</action>
            <!--
            73DC0 | 082D 0004 A2F1 : btst    #$4, (-$5d0f,A5)
            73DC6 | 6606           : bne     $73dce
            73DC8 | 08ED 0004 A2F3 : bset    #$4, (-$5d0d,A5)
            73DCE | 2070 0000      : movea.l (A0,D0.w), A0
            73DD2 | 4ED0           : jmp     (A0)
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0D81C = 207000004ED0302D</action>
            <action>maincpu.mq@0D84C = 207000004ED0005A</action>
            <action>maincpu.mq@73DC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="action speed up (test)">
        <comment>you can't throw a grenade</comment>
        <script state="on">
            <!-- main timer -->
            <action>maincpu.md@1236E = 397C0001</action>
            <!-- normal scene -->
            <action>maincpu.mw@EE42 = 0001</action> <!-- normal gun (stand) -->
            <action>maincpu.mw@EF38 = 0001</action> <!-- normal gun (crouch) -->
            <action>maincpu.mw@EFF8 = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@F0B8 = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@F1FE = 0001</action> <!-- machine gun (stand) -->
            <action>maincpu.mw@F30C = 0001</action> <!-- machine gun (crouch) -->
            <action>maincpu.mw@F3DE = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@F4B0 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@F5DC = 0001</action> <!-- armour-piercing gun (stand) -->
            <action>maincpu.mw@F6D2 = 0001</action> <!-- armour-piercing gun (crouch) -->
            <action>maincpu.mw@F792 = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@F852 = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@F97E = 0001</action> <!-- 3-way (stand) -->
            <action>maincpu.mw@FA74 = 0001</action> <!-- 3-way (crouch) -->
            <action>maincpu.mw@FB34 = 0001</action> <!-- 3-way (jump) -->
            <action>maincpu.mw@FBF4 = 0001</action> <!-- 3-way (jump) -->
            <!-- level 6-1 -->
            <action>maincpu.mw@1059E = 0001</action> <!-- normal gun (stand) -->
            <action>maincpu.mw@10634 = 0001</action> <!-- normal gun (crouch) -->
            <action>maincpu.mw@106D8 = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@1077C = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@1082E = 0001</action> <!-- machine gun (stand) -->
            <action>maincpu.mw@108D4 = 0001</action> <!-- machine gun (crouch) -->
            <action>maincpu.mw@10988 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@10A3C = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@10ADE = 0001</action> <!-- armour-piercing gun (stand) -->
            <action>maincpu.mw@10B74 = 0001</action> <!-- armour-piercing gun (crouch) -->
            <action>maincpu.mw@10C18 = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@10CBC = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@10D5E = 0001</action> <!-- 3-way (stand) -->
            <action>maincpu.mw@10DF4 = 0001</action> <!-- 3-way (crouch) -->
            <action>maincpu.mw@10E98 = 0001</action> <!-- 3-way (jump) -->
            <action>maincpu.mw@10F3C = 0001</action> <!-- 3-way (jump) -->
            <!-- 3d scene in level 2-2 -->
            <action>maincpu.mw@115D4 = 0001</action> <!-- normal gun (stand) -->
            <action>maincpu.mw@1169E = 0001</action> <!-- normal gun (crouch) -->
            <action>maincpu.mw@1173E = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@117DE = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@118EC = 0001</action> <!-- machine gun (stand) -->
            <action>maincpu.mw@119C6 = 0001</action> <!-- machine gun (crouch) -->
            <action>maincpu.mw@11A76 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@11B26 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@11C24 = 0001</action> <!-- armour-piercing gun (stand) -->
            <action>maincpu.mw@11CEE = 0001</action> <!-- armour-piercing gun (crouch) -->
            <action>maincpu.mw@11D8E = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@11E2E = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@11F2C = 0001</action> <!-- 3-way (stand) -->
            <action>maincpu.mw@11FF6 = 0001</action> <!-- 3-way (crouch) -->
            <action>maincpu.mw@12096 = 0001</action> <!-- 3-way (jump) -->
            <action>maincpu.mw@1213A = 0001</action> <!-- 3-way (jump) -->
        </script>
        <script state="off">
            <action>maincpu.md@1236E = 397000F8</action>
            <action>maincpu.mw@0EE42 = 0003    </action>
            <action>maincpu.mw@0EF38 = 0003    </action>
            <action>maincpu.mw@0EFF8 = 0003    </action>
            <action>maincpu.mw@0F0B8 = 0003    </action>
            <action>maincpu.mw@0F1FE = 0003    </action>
            <action>maincpu.mw@0F30C = 0003    </action>
            <action>maincpu.mw@0F3DE = 0003    </action>
            <action>maincpu.mw@0F4B0 = 0003    </action>
            <action>maincpu.mw@0F5DC = 0003    </action>
            <action>maincpu.mw@0F6D2 = 0003    </action>
            <action>maincpu.mw@0F792 = 0003    </action>
            <action>maincpu.mw@0F852 = 0003    </action>
            <action>maincpu.mw@0F97E = 0003    </action>
            <action>maincpu.mw@0FA74 = 0003    </action>
            <action>maincpu.mw@0FB34 = 0003    </action>
            <action>maincpu.mw@0FBF4 = 0003    </action>
            <action>maincpu.mw@1059E = 0003    </action>
            <action>maincpu.mw@10634 = 0003    </action>
            <action>maincpu.mw@106D8 = 0003    </action>
            <action>maincpu.mw@1077C = 0003    </action>
            <action>maincpu.mw@1082E = 0003    </action>
            <action>maincpu.mw@108D4 = 0003    </action>
            <action>maincpu.mw@10988 = 0003    </action>
            <action>maincpu.mw@10A3C = 0003    </action>
            <action>maincpu.mw@10ADE = 0003    </action>
            <action>maincpu.mw@10B74 = 0003    </action>
            <action>maincpu.mw@10C18 = 0003    </action>
            <action>maincpu.mw@10CBC = 0003    </action>
            <action>maincpu.mw@10D5E = 0003    </action>
            <action>maincpu.mw@10DF4 = 0003    </action>
            <action>maincpu.mw@10E98 = 0003    </action>
            <action>maincpu.mw@10F3C = 0003    </action>
            <action>maincpu.mw@115D4 = 0003    </action>
            <action>maincpu.mw@1169E = 0003    </action>
            <action>maincpu.mw@1173E = 0003    </action>
            <action>maincpu.mw@117DE = 0003    </action>
            <action>maincpu.mw@118EC = 0003    </action>
            <action>maincpu.mw@119C6 = 0003    </action>
            <action>maincpu.mw@11A76 = 0003    </action>
            <action>maincpu.mw@11B26 = 0003    </action>
            <action>maincpu.mw@11C24 = 0003    </action>
            <action>maincpu.mw@11CEE = 0003    </action>
            <action>maincpu.mw@11D8E = 0003    </action>
            <action>maincpu.mw@11E2E = 0003    </action>
            <action>maincpu.mw@11F2C = 0003    </action>
            <action>maincpu.mw@11FF6 = 0003    </action>
            <action>maincpu.mw@12096 = 0003    </action>
            <action>maincpu.mw@1213A = 0003    </action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@7D84 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@7D84 = 003B</action>
        </script>
    </cheat>

    <cheat desc="unlock round select mode">
        <comment>reset the game (F3) to enter round select mode</comment>
        <script state="on">
            <action>maincpu.md@3EC4 = 600014AE</action>
        </script>
        <script state="off">
            <action>maincpu.md@3EC4 = 67001386</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@0199E = 4E75            </action> <!-- sound code routine stopper -->
            <action>maincpu.md@00942 = 00073DE0        </action>
            <action>maincpu.mq@73DE0 = 41F900A0010143E8</action>
            <action>maincpu.mq@73DE8 = FFFF45F8197410BC</action>
            <action>maincpu.mq@73DF0 = 00EF4E9242390020</action>
            <action>maincpu.mq@73DF8 = 0000140112390020</action>
            <action>maincpu.mq@73E00 = 0004B40167EE0C01</action>
            <action>maincpu.mq@73E08 = 00FB660253110C01</action>
            <action>maincpu.mq@73E10 = 00F7660252110C01</action>
            <action>maincpu.mq@73E18 = 00FD660404110010</action>
            <action>maincpu.mq@73E20 = 0C0100FE66040611</action>
            <action>maincpu.mq@73E28 = 00100C0100EF6604</action>
            <action>maincpu.mq@73E30 = 10914E920C0100DF</action>
            <action>maincpu.mq@73E38 = 660442104E9260B4</action>
            <!--
            73DE0 | 41F9 00A0 0101 : lea     $a00101.l, A0 // sound latch address
            73DE6 | 43E8 FFFF      : lea     (-$1,A0), A1  // sound code address ($a00100)
            73DEA | 45F8 1974      : lea     $1974.w, A2
            73DEE | 10BC 00EF      : move.b  #$ef, (A0)    // enable sound
            73DF2 | 4E92           : jsr     (A2)
            73DF4 | 4239 0020 0000 : clr.b   $200000.l     // watchdog
            73DFA | 1401           : move.b  D1, D2
            73DFC | 1239 0020 0004 : move.b  $200004.l, D1 // read input
            73E02 | B401           : cmp.b   D1, D2
            73E04 | 67EE           : beq     $73df4
            73E06 | 0C01 00FB      : cmpi.b  #-$5, D1
            73E0A | 6602           : bne     $73e0e
            73E0C | 5311           : subq.b  #1, (A1)      // decrease code -01
            73E0E | 0C01 00F7      : cmpi.b  #-$9, D1
            73E12 | 6602           : bne     $73e16
            73E14 | 5211           : addq.b  #1, (A1)      // increase code +01
            73E16 | 0C01 00FD      : cmpi.b  #-$3, D1
            73E1A | 6604           : bne     $73e20
            73E1C | 0411 0010      : subi.b  #$10, (A1)    // decrease code -10
            73E20 | 0C01 00FE      : cmpi.b  #-$2, D1
            73E24 | 6604           : bne     $73e2a
            73E26 | 0611 0010      : addi.b  #$10, (A1)    // increase code +10
            73E2A | 0C01 00EF      : cmpi.b  #-$11, D1
            73E2E | 6604           : bne     $73e34
            73E30 | 1091           : move.b  (A1), (A0)    // play sound
            73E32 | 4E92           : jsr     (A2)
            73E34 | 0C01 00DF      : cmpi.b  #-$21, D1
            73E38 | 6604           : bne     $73e3e
            73E3A | 4210           : clr.b   (A0)          // stop sound
            73E3C | 4E92           : jsr     (A2)
            73E3E | 60B4           : bra     $73df4
            -->
        </script>
        <script state="run">
            <output format="----- crime city 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@A00100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0199E = 43ED            </action>
            <action>maincpu.md@00942 = 000049B8        </action>
            <action>maincpu.mq@73DE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E38 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mb@27BB = BC</action>
        </script>
        <script state="off">
            <action>maincpu.mb@27BB = A4</action>
        </script>
    </cheat>

</mamecheat>
crimecj.xml

Code: Select all

<!-- Crime City (Japan) -->
<mamecheat version="1">

    <cheat desc="no hit (test)">
        <comment>sometimes punch at close range is repelled though no energy decrement</comment>
        <script state="on">
            <action>maincpu.mw@0D58E = 6066</action> <!-- object -->
            <action>maincpu.mw@1243A = 6012</action> <!-- road (level 2-1) -->
            <action>maincpu.mw@16E02 = 6018</action> <!-- P1 bullet -->
            <action>maincpu.mw@16EA6 = 6018</action> <!-- P2 bullet -->
            <action>maincpu.mw@17188 = 4E71</action> <!-- damage? -->
            <action>maincpu.mw@2B76E = 0282</action> <!-- P1 punch? -->
            <action>maincpu.mw@2B7C0 = 0286</action> <!-- P2 punch? -->
            <!-- enemy -->
            <action>maincpu.mq@16FA0 = 4EB900073D70671A</action>
            <action>maincpu.mq@73D70 = 3E2DB06402470003</action>
            <action>maincpu.mq@73D78 = 673847F900A023F8</action>
            <action>maincpu.mq@73D80 = 082A000300116610</action>
            <action>maincpu.mq@73D88 = 47F900A026F8082A</action>
            <action>maincpu.mq@73D90 = 000700116602601A</action>
            <action>maincpu.mq@73D98 = 3E2B002C0C470005</action>
            <action>maincpu.mq@73DA0 = 67100C470006670A</action>
            <action>maincpu.mq@73DA8 = 0C47001F67044247</action>
            <action>maincpu.mq@73DB0 = 60064EB900016F10</action>
            <action>maincpu.mq@73DB8 = 4A474E75FFFFFFFF</action>
            <!--
            73D70 | 3E2D B064      : move.w  (-$4f9c,A5), D7
            73D74 | 0247 0003      : andi.w  #$3, D7
            73D78 | 6738           : beq     $73db2
            73D7A | 47F9 00A0 23F8 : lea     $a023f8.l, A3
            73D80 | 082A 0003 0011 : btst    #$3, ($11,A2)
            73D86 | 6610           : bne     $73d98
            73D88 | 47F9 00A0 26F8 : lea     $a026f8.l, A3
            73D8E | 082A 0007 0011 : btst    #$7, ($11,A2)
            73D94 | 6602           : bne     $73d98
            73D96 | 601A           : bra     $73db2
            73D98 | 3E2B 002C      : move.w  ($2c,A3), D7
            73D9C | 0C47 0005      : cmpi.w  #$5, D7
            73DA0 | 6710           : beq     $73db2
            73DA2 | 0C47 0006      : cmpi.w  #$6, D7
            73DA6 | 670A           : beq     $73db2
            73DA8 | 0C47 001F      : cmpi.w  #$1f, D7
            73DAC | 6704           : beq     $73db2
            73DAE | 4247           : clr.w   D7
            73DB0 | 6006           : bra     $73db8
            73DB2 | 4EB9 0001 6F10 : jsr     $16f10.l
            73DB8 | 4A47           : tst.w   D7
            73DBA | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mw@0D58E = 6766            </action>
            <action>maincpu.mw@1243A = 6612            </action>
            <action>maincpu.mw@16E02 = 6718            </action>
            <action>maincpu.mw@16EA6 = 6718            </action>
            <action>maincpu.mw@17188 = 6602            </action>
            <action>maincpu.mw@2B76E = 03D8            </action>
            <action>maincpu.mw@2B7C0 = 03C6            </action>
            <action>maincpu.mq@16FA0 = 4EBAFF6E4A47671A</action>
            <action>maincpu.mq@73D70 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73D78 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73D80 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73D88 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73D90 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73D98 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DA0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DA8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DB0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DB8 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.mq@0D81C = 4EF900073DC0302D</action> <!-- normal scene -->
            <action>maincpu.mq@0D84C = 4EF900073DC0005A</action> <!-- 3d scene -->
            <action>maincpu.mq@73DC0 = 082D0004A2F16606</action>
            <action>maincpu.mq@73DC8 = 08ED0004A2F32070</action>
            <action>maincpu.mq@73DD0 = 00004ED0FFFFFFFF</action>
            <!--
            73DC0 | 082D 0004 A2F1 : btst    #$4, (-$5d0f,A5)
            73DC6 | 6606           : bne     $73dce
            73DC8 | 08ED 0004 A2F3 : bset    #$4, (-$5d0d,A5)
            73DCE | 2070 0000      : movea.l (A0,D0.w), A0
            73DD2 | 4ED0           : jmp     (A0)
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@0D81C = 207000004ED0302D</action>
            <action>maincpu.mq@0D84C = 207000004ED0005A</action>
            <action>maincpu.mq@73DC0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DC8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DD0 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="action speed up (test)">
        <comment>you can't throw a grenade</comment>
        <script state="on">
            <!-- main timer -->
            <action>maincpu.md@1236E = 397C0001</action>
            <!-- normal scene -->
            <action>maincpu.mw@EE42 = 0001</action> <!-- normal gun (stand) -->
            <action>maincpu.mw@EF38 = 0001</action> <!-- normal gun (crouch) -->
            <action>maincpu.mw@EFF8 = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@F0B8 = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@F1FE = 0001</action> <!-- machine gun (stand) -->
            <action>maincpu.mw@F30C = 0001</action> <!-- machine gun (crouch) -->
            <action>maincpu.mw@F3DE = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@F4B0 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@F5DC = 0001</action> <!-- armour-piercing gun (stand) -->
            <action>maincpu.mw@F6D2 = 0001</action> <!-- armour-piercing gun (crouch) -->
            <action>maincpu.mw@F792 = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@F852 = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@F97E = 0001</action> <!-- 3-way (stand) -->
            <action>maincpu.mw@FA74 = 0001</action> <!-- 3-way (crouch) -->
            <action>maincpu.mw@FB34 = 0001</action> <!-- 3-way (jump) -->
            <action>maincpu.mw@FBF4 = 0001</action> <!-- 3-way (jump) -->
            <!-- level 6-1 -->
            <action>maincpu.mw@1059E = 0001</action> <!-- normal gun (stand) -->
            <action>maincpu.mw@10634 = 0001</action> <!-- normal gun (crouch) -->
            <action>maincpu.mw@106D8 = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@1077C = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@1082E = 0001</action> <!-- machine gun (stand) -->
            <action>maincpu.mw@108D4 = 0001</action> <!-- machine gun (crouch) -->
            <action>maincpu.mw@10988 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@10A3C = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@10ADE = 0001</action> <!-- armour-piercing gun (stand) -->
            <action>maincpu.mw@10B74 = 0001</action> <!-- armour-piercing gun (crouch) -->
            <action>maincpu.mw@10C18 = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@10CBC = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@10D5E = 0001</action> <!-- 3-way (stand) -->
            <action>maincpu.mw@10DF4 = 0001</action> <!-- 3-way (crouch) -->
            <action>maincpu.mw@10E98 = 0001</action> <!-- 3-way (jump) -->
            <action>maincpu.mw@10F3C = 0001</action> <!-- 3-way (jump) -->
            <!-- 3d scene in level 2-2 -->
            <action>maincpu.mw@115D4 = 0001</action> <!-- normal gun (stand) -->
            <action>maincpu.mw@1169E = 0001</action> <!-- normal gun (crouch) -->
            <action>maincpu.mw@1173E = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@117DE = 0001</action> <!-- normal gun (jump) -->
            <action>maincpu.mw@118EC = 0001</action> <!-- machine gun (stand) -->
            <action>maincpu.mw@119C6 = 0001</action> <!-- machine gun (crouch) -->
            <action>maincpu.mw@11A76 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@11B26 = 0001</action> <!-- machine gun (jump) -->
            <action>maincpu.mw@11C24 = 0001</action> <!-- armour-piercing gun (stand) -->
            <action>maincpu.mw@11CEE = 0001</action> <!-- armour-piercing gun (crouch) -->
            <action>maincpu.mw@11D8E = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@11E2E = 0001</action> <!-- armour-piercing gun (jump) -->
            <action>maincpu.mw@11F2C = 0001</action> <!-- 3-way (stand) -->
            <action>maincpu.mw@11FF6 = 0001</action> <!-- 3-way (crouch) -->
            <action>maincpu.mw@12096 = 0001</action> <!-- 3-way (jump) -->
            <action>maincpu.mw@1213A = 0001</action> <!-- 3-way (jump) -->
        </script>
        <script state="off">
            <action>maincpu.md@1236E = 397000F8</action>
            <action>maincpu.mw@0EE42 = 0003    </action>
            <action>maincpu.mw@0EF38 = 0003    </action>
            <action>maincpu.mw@0EFF8 = 0003    </action>
            <action>maincpu.mw@0F0B8 = 0003    </action>
            <action>maincpu.mw@0F1FE = 0003    </action>
            <action>maincpu.mw@0F30C = 0003    </action>
            <action>maincpu.mw@0F3DE = 0003    </action>
            <action>maincpu.mw@0F4B0 = 0003    </action>
            <action>maincpu.mw@0F5DC = 0003    </action>
            <action>maincpu.mw@0F6D2 = 0003    </action>
            <action>maincpu.mw@0F792 = 0003    </action>
            <action>maincpu.mw@0F852 = 0003    </action>
            <action>maincpu.mw@0F97E = 0003    </action>
            <action>maincpu.mw@0FA74 = 0003    </action>
            <action>maincpu.mw@0FB34 = 0003    </action>
            <action>maincpu.mw@0FBF4 = 0003    </action>
            <action>maincpu.mw@1059E = 0003    </action>
            <action>maincpu.mw@10634 = 0003    </action>
            <action>maincpu.mw@106D8 = 0003    </action>
            <action>maincpu.mw@1077C = 0003    </action>
            <action>maincpu.mw@1082E = 0003    </action>
            <action>maincpu.mw@108D4 = 0003    </action>
            <action>maincpu.mw@10988 = 0003    </action>
            <action>maincpu.mw@10A3C = 0003    </action>
            <action>maincpu.mw@10ADE = 0003    </action>
            <action>maincpu.mw@10B74 = 0003    </action>
            <action>maincpu.mw@10C18 = 0003    </action>
            <action>maincpu.mw@10CBC = 0003    </action>
            <action>maincpu.mw@10D5E = 0003    </action>
            <action>maincpu.mw@10DF4 = 0003    </action>
            <action>maincpu.mw@10E98 = 0003    </action>
            <action>maincpu.mw@10F3C = 0003    </action>
            <action>maincpu.mw@115D4 = 0003    </action>
            <action>maincpu.mw@1169E = 0003    </action>
            <action>maincpu.mw@1173E = 0003    </action>
            <action>maincpu.mw@117DE = 0003    </action>
            <action>maincpu.mw@118EC = 0003    </action>
            <action>maincpu.mw@119C6 = 0003    </action>
            <action>maincpu.mw@11A76 = 0003    </action>
            <action>maincpu.mw@11B26 = 0003    </action>
            <action>maincpu.mw@11C24 = 0003    </action>
            <action>maincpu.mw@11CEE = 0003    </action>
            <action>maincpu.mw@11D8E = 0003    </action>
            <action>maincpu.mw@11E2E = 0003    </action>
            <action>maincpu.mw@11F2C = 0003    </action>
            <action>maincpu.mw@11FF6 = 0003    </action>
            <action>maincpu.mw@12096 = 0003    </action>
            <action>maincpu.mw@1213A = 0003    </action>
        </script>
    </cheat>

    <cheat desc="timer speed">
        <parameter>
            <item value="0x0100">01 (slow)</item>
            <item value="0x0080">02       </item>
            <item value="0x0040">03       </item>
            <item value="0x0020">04       </item>
            <item value="0x0001">05 (fast)</item>
        </parameter>
        <script state="change">
            <action>maincpu.mw@7D84 = param</action>
        </script>
        <script state="off">
            <action>maincpu.mw@7D84 = 003B</action>
        </script>
    </cheat>

    <cheat desc="unlock round select mode">
        <comment>reset the game (F3) to enter round select mode</comment>
        <script state="on">
            <action>maincpu.md@3EC4 = 600014AE</action>
        </script>
        <script state="off">
            <action>maincpu.md@3EC4 = 67001386</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@0199E = 4E75            </action> <!-- sound code routine stopper -->
            <action>maincpu.md@00942 = 00073DE0        </action>
            <action>maincpu.mq@73DE0 = 41F900A0010143E8</action>
            <action>maincpu.mq@73DE8 = FFFF45F8197410BC</action>
            <action>maincpu.mq@73DF0 = 00EF4E9242390020</action>
            <action>maincpu.mq@73DF8 = 0000140112390020</action>
            <action>maincpu.mq@73E00 = 0004B40167EE0C01</action>
            <action>maincpu.mq@73E08 = 00FB660253110C01</action>
            <action>maincpu.mq@73E10 = 00F7660252110C01</action>
            <action>maincpu.mq@73E18 = 00FD660404110010</action>
            <action>maincpu.mq@73E20 = 0C0100FE66040611</action>
            <action>maincpu.mq@73E28 = 00100C0100EF6604</action>
            <action>maincpu.mq@73E30 = 10914E920C0100DF</action>
            <action>maincpu.mq@73E38 = 660442104E9260B4</action>
            <!--
            73DE0 | 41F9 00A0 0101 : lea     $a00101.l, A0 // sound latch address
            73DE6 | 43E8 FFFF      : lea     (-$1,A0), A1  // sound code address ($a00100)
            73DEA | 45F8 1974      : lea     $1974.w, A2
            73DEE | 10BC 00EF      : move.b  #$ef, (A0)    // enable sound
            73DF2 | 4E92           : jsr     (A2)
            73DF4 | 4239 0020 0000 : clr.b   $200000.l     // watchdog
            73DFA | 1401           : move.b  D1, D2
            73DFC | 1239 0020 0004 : move.b  $200004.l, D1 // read input
            73E02 | B401           : cmp.b   D1, D2
            73E04 | 67EE           : beq     $73df4
            73E06 | 0C01 00FB      : cmpi.b  #-$5, D1
            73E0A | 6602           : bne     $73e0e
            73E0C | 5311           : subq.b  #1, (A1)      // decrease code -01
            73E0E | 0C01 00F7      : cmpi.b  #-$9, D1
            73E12 | 6602           : bne     $73e16
            73E14 | 5211           : addq.b  #1, (A1)      // increase code +01
            73E16 | 0C01 00FD      : cmpi.b  #-$3, D1
            73E1A | 6604           : bne     $73e20
            73E1C | 0411 0010      : subi.b  #$10, (A1)    // decrease code -10
            73E20 | 0C01 00FE      : cmpi.b  #-$2, D1
            73E24 | 6604           : bne     $73e2a
            73E26 | 0611 0010      : addi.b  #$10, (A1)    // increase code +10
            73E2A | 0C01 00EF      : cmpi.b  #-$11, D1
            73E2E | 6604           : bne     $73e34
            73E30 | 1091           : move.b  (A1), (A0)    // play sound
            73E32 | 4E92           : jsr     (A2)
            73E34 | 0C01 00DF      : cmpi.b  #-$21, D1
            73E38 | 6604           : bne     $73e3e
            73E3A | 4210           : clr.b   (A0)          // stop sound
            73E3C | 4E92           : jsr     (A2)
            73E3E | 60B4           : bra     $73df4
            -->
        </script>
        <script state="run">
            <output format="----- crime city 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@A00100</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.mw@0199E = 43ED            </action>
            <action>maincpu.md@00942 = 000049B8        </action>
            <action>maincpu.mq@73DE0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DE8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DF0 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73DF8 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E00 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E08 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E10 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E18 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E20 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E28 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E30 = FFFFFFFFFFFFFFFF</action>
            <action>maincpu.mq@73E38 = FFFFFFFFFFFFFFFF</action>
        </script>
    </cheat>

    <cheat desc="skip rom check">
        <script state="on">
            <action>maincpu.mb@27BB = BC</action>
        </script>
        <script state="off">
            <action>maincpu.mb@27BB = A4</action>
        </script>
    </cheat>

</mamecheat>
Post Reply