[tmnt2pj] Teenage Mutant Ninja Turtles

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

[tmnt2pj] Teenage Mutant Ninja Turtles

Post by jman »

Code: Select all

<cheat desc="no hit">
    <script state="on">
        <action>maincpu.mq@47afc = 4eb9000004006700</action>
        <action>maincpu.mq@00400 = 0c28001300066704</action>
        <action>maincpu.mq@00408 = 74004e7508110001</action>
        <action>maincpu.mq@00410 = 4e75000000000000</action>
        <!--
        00400 | 0c28 0013 0006 : cmpi.b #$13,($6,A0)
        00406 | 6704           : beq    $40c
        00408 | 7400           : moveq  #$0,D2
        0040a | 4e75           : rts
        0040c | 0811 0001      : btst   #$1,(A1)
        00410 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@47afc = 0829000100006700</action>
        <action>maincpu.mq@00400 = 0000000000000000</action>
        <action>maincpu.mq@00408 = 0000000000000000</action>
        <action>maincpu.mq@00410 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.mq@1ab1c = 4eb9000004400810</action>
        <action>maincpu.mq@00440 = 45f90006003c1012</action>
        <action>maincpu.mq@00448 = 02000020d4fc0010</action>
        <action>maincpu.mq@00450 = 81124e7500000000</action>
        <!--
        00440 | 45f9 0006 003c : lea    $6003c.l,A2
        00446 | 1012           : move.b (A2),D0
        00448 | 0200 0020      : andi.b #$20,D0
        0044c | d4fc 0010      : adda.w #$10,A2
        00450 | 8112           : or.b   D0,(A2)
        00452 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.mq@1ab1c = 45f90006004c0810</action>
        <action>maincpu.mq@00440 = 0000000000000000</action>
        <action>maincpu.mq@00448 = 0000000000000000</action>
        <action>maincpu.mq@00450 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="attack speed up">
    <script state="on">
        <action>maincpu.md@478c8 =         4eb80420</action>
        <action>maincpu.mq@00420 = b1fc00062140640c</action>
        <action>maincpu.mq@00428 = 0c28000300046604</action>
        <action>maincpu.mq@00430 = 70004e7553280033</action>
        <action>maincpu.mq@00438 = 4e75000000000000</action>
        <!--
        00420 | b1fc 0006 2140 : cmpa.l #$62140,A0
        00426 | 640c           : bcs    $434
        00428 | 0c28 0003 0004 : cmpi.b #$3,($4,A0)
        0042e | 6604           : bne    $434
        00430 | 7000           : moveq  #$0,D0
        00432 | 4e75           : rts
        00434 | 5328 0033      : subq.b #1,($33,A0)
        00438 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.md@478c8 =         53280033</action>
        <action>maincpu.mq@00420 = 0000000000000000</action>
        <action>maincpu.mq@00428 = 0000000000000000</action>
        <action>maincpu.mq@00430 = 0000000000000000</action>
        <action>maincpu.mq@00438 = 0000000000000000</action>
    </script>
</cheat>

<cheat desc="skip rom check">
    <script state="on">
        <action>maincpu.mb@0151f = 48</action>
    </script>
    <script state="off">
        <action>maincpu.mb@0151f = 26</action>
    </script>
</cheat>
I hope that "no hit" code will take care of problem for pizza. "auto fire" will work for player 1 only.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1315
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[tmnt2pj] Teenage Mutant Ninja Turtles (update)

Post by jman »

Code: Select all

<cheat desc="auto fire">
    <script state="on">
        <action>maincpu.md@1ab22 =         4eb80420</action>
        <action>maincpu.mq@00420 = 102afff002000020</action>
        <action>maincpu.mq@00428 = 8112081000004e75</action>
        <!--
        0420 | 102a fff0 : move.b (-$10,A2),D0
        0424 | 0200 0020 : andi.b #$20,D0
        0428 | 8112      : or.b   D0,(A2)
        042a | 0810 0000 : btst   #$0,(A0)
        042e | 4e75      : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.md@1ab22 =         08100000</action>
        <action>maincpu.mq@00420 = 0000000000000000</action>
        <action>maincpu.mq@00428 = 0000000000000000</action>
    </script>
</cheat>
"auto fire" : fix "player 2 doesn't have auto fire" problem. reallocate address.

Code: Select all

<cheat desc="attack speed up">
    <script state="on">
        <action>maincpu.md@478c8 =         4eb80430</action>
        <action>maincpu.mq@00430 = b1fc00062140640c</action>
        <action>maincpu.mq@00438 = 0c28000300046604</action>
        <action>maincpu.mq@00440 = 70004e7553280033</action>
        <action>maincpu.mq@00448 = 4e75000000000000</action>
        <!--
        0430 | b1fc 0006 2140 : cmpa.l #$62140,A0
        0436 | 640c           : bcs    $444
        0438 | 0c28 0003 0004 : cmpi.b #$3,($4,A0)
        043e | 6604           : bne    $444
        0440 | 7000           : moveq  #$0,D0
        0442 | 4e75           : rts
        0444 | 5328 0033      : subq.b #1,($33,A0)
        0448 | 4e75           : rts
        -->
    </script>
    <script state="off">
        <action>maincpu.md@478c8 =         53280033</action>
        <action>maincpu.mq@00430 = 0000000000000000</action>
        <action>maincpu.mq@00438 = 0000000000000000</action>
        <action>maincpu.mq@00440 = 0000000000000000</action>
        <action>maincpu.mq@00448 = 0000000000000000</action>
    </script>
</cheat>
"attack speed up" : reallocate address.

Code: Select all

<cheat desc="sound test mode">
    <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
    <script state="on">
        <action>maincpu.md@13cc =         00000450</action>
        <action>maincpu.mq@0450 = 4eb810ee41f90006</action>
        <action>maincpu.mq@0458 = 0020120010280014</action>
        <action>maincpu.mq@0460 = b20067f60c000001</action>
        <action>maincpu.mq@0468 = 660253100c000002</action>
        <action>maincpu.mq@0470 = 660252100c000008</action>
        <action>maincpu.mq@0478 = 6604041000100c00</action>
        <action>maincpu.mq@0480 = 0004660406100010</action>
        <action>maincpu.mq@0488 = 0c00001066041e10</action>
        <action>maincpu.mq@0490 = 60080c0000206608</action>
        <action>maincpu.mq@0498 = 42074eb900009518</action>
        <action>maincpu.mq@04a0 = 60b8000000000000</action>
        <!--
        0450 | 4eb8 10ee      : jsr    $10ee.w     // erase cross-hatch
        0454 | 41f9 0006 0020 : lea    $60020.l,A0 // sound code address
        045a | 1200           : move.b D0,D1
        045c | 1028 0014      : move.b ($14,A0),D0 // read input
        0460 | b200           : cmp.b  D0,D1
        0462 | 67f6           : beq    $45a
        0464 | 0c00 0001      : cmpi.b #$1,D0
        0468 | 6602           : bne    $46c
        046a | 5310           : subq.b #1,(A0)     // decrease code -01
        046c | 0c00 0002      : cmpi.b #$2,D0
        0470 | 6602           : bne    $474
        0472 | 5210           : addq.b #1,(A0)     // increase code +01
        0474 | 0c00 0008      : cmpi.b #$8,D0
        0478 | 6604           : bne    $47e
        047a | 0410 0010      : subi.b #$10,(A0)   // decrease code -10
        047e | 0c00 0004      : cmpi.b #$4,D0
        0482 | 6604           : bne    $488
        0484 | 0610 0010      : addi.b #$10,(A0)   // increase code +10
        0488 | 0c00 0010      : cmpi.b #$10,D0
        048c | 6604           : bne    $492
        048e | 1e10           : move.b (A0),D7     // play sound
        0490 | 6008           : bra    $49a
        0492 | 0c00 0020      : cmpi.b #$20,D0
        0496 | 6608           : bne    $4a0
        0498 | 4207           : clr.b  D7          // stop sound
        049a | 4eb9 0000 9518 : jsr    $9518.l     // send sound code
        04a0 | 60b8           : bra    $45a
        -->
    </script>
    <script state="run">
        <output format="----- teenage mutant ninja turtles 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@60020</argument>
        </output>
    </script>
    <script state="off">
        <action>maincpu.md@13cc =         000205a4</action>
        <action>maincpu.mq@0450 = 0000000000000000</action>
        <action>maincpu.mq@0458 = 0000000000000000</action>
        <action>maincpu.mq@0460 = 0000000000000000</action>
        <action>maincpu.mq@0468 = 0000000000000000</action>
        <action>maincpu.mq@0470 = 0000000000000000</action>
        <action>maincpu.mq@0478 = 0000000000000000</action>
        <action>maincpu.mq@0480 = 0000000000000000</action>
        <action>maincpu.mq@0488 = 0000000000000000</action>
        <action>maincpu.mq@0490 = 0000000000000000</action>
        <action>maincpu.mq@0498 = 0000000000000000</action>
        <action>maincpu.mq@04a0 = 0000000000000000</action>
    </script>
</cheat>
"sound test mode" : add new.

Code: Select all

<cheat desc="skip ram/rom check">
    <script state="on">
        <action>maincpu.mw@1072 = 1074</action> <!-- ram/rom check -->
        <action>maincpu.mw@11a6 = 600a</action> <!-- cross-hatch -->
    </script>
    <script state="off">
        <action>maincpu.mw@1072 = 149a</action>
        <action>maincpu.mw@11a6 = 66fc</action>
    </script>
</cheat>
"skip rom check" : add ram and cross-hatch skip. rename to "skip ram/rom check".
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1315
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[tmnt]+ Teenage Mutant Ninja Turtles

Post by jman »

tmnt.xml

Code: Select all

<!-- Teenage Mutant Ninja Turtles (World 4 Players, version X) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@4734A = 4EB9000004006700</action>
            <action>maincpu.mq@00400 = 0C28001300066704</action>
            <action>maincpu.mq@00408 = 74004E7508110001</action>
            <action>maincpu.mq@00410 = 4E75000000000000</action>
            <!--
            0400 | 0C28 0013 0006 : cmpi.b  #$13, ($6,A0) // check item
            0406 | 6704           : beq     $40c
            0408 | 7400           : moveq   #$0, D2
            040A | 4E75           : rts
            040C | 0811 0001      : btst    #$1, (A1)
            0410 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@4734A = 0829000100006700</action>
            <action>maincpu.mq@00400 = 0000000000000000</action>
            <action>maincpu.mq@00408 = 0000000000000000</action>
            <action>maincpu.mq@00410 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@1B6E4 = 4EB80420        </action>
            <action>maincpu.mq@00420 = 1412102AFFF00200</action>
            <action>maincpu.mq@00428 = 002084004E750000</action>
            <!--
            0420 | 1412      : move.b  (A2), D2
            0422 | 102A FFF0 : move.b  (-$10,A2), D0
            0426 | 0200 0020 : andi.b  #$20, D0
            042A | 8400      : or.b    D0, D2
            042C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1B6E4 = 142A0000        </action>
            <action>maincpu.mq@00420 = 0000000000000000</action>
            <action>maincpu.mq@00428 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@47116 = 4EB80430        </action>
            <action>maincpu.mq@00430 = B1FC000620F06E0C</action>
            <action>maincpu.mq@00438 = 0C28000300046604</action>
            <action>maincpu.mq@00440 = 70004E7553280033</action>
            <action>maincpu.mq@00448 = 4E75000000000000</action>
            <!--
            0430 | B1FC 0006 20F0 : cmpa.l  #$620f0, A0  // check player or not
            0436 | 6E0C           : bgt     $444
            0438 | 0C28 0003 0004 : cmpi.b  #$3, ($4,A0) // check in attacking
            043E | 6604           : bne     $444
            0440 | 7000           : moveq   #$0, D0
            0442 | 4E75           : rts
            0444 | 5328 0033      : subq.b  #1, ($33,A0)
            0448 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@47116 = 53280033        </action>
            <action>maincpu.mq@00430 = 0000000000000000</action>
            <action>maincpu.mq@00438 = 0000000000000000</action>
            <action>maincpu.mq@00440 = 0000000000000000</action>
            <action>maincpu.mq@00448 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill (test)">
        <comment>you can't kill some the latter bosses with 1 hit</comment>
        <script state="on">
            <action>maincpu.md@472EE = 6000000E</action>
        </script>
        <script state="off">
            <action>maincpu.md@472EE = 62000024</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@13C4 = 00000450        </action>
            <action>maincpu.mq@0450 = 4EB810EE41F90006</action>
            <action>maincpu.mq@0458 = 0000120010280034</action>
            <action>maincpu.mq@0460 = B20067F60C000001</action>
            <action>maincpu.mq@0468 = 660253100C000002</action>
            <action>maincpu.mq@0470 = 660252100C000008</action>
            <action>maincpu.mq@0478 = 6604041000100C00</action>
            <action>maincpu.mq@0480 = 0004660406100010</action>
            <action>maincpu.mq@0488 = 0C00001066041E10</action>
            <action>maincpu.mq@0490 = 60080C0000206608</action>
            <action>maincpu.mq@0498 = 42074EB90000922A</action>
            <action>maincpu.mq@04A0 = 60B8000000000000</action>
            <!--
            0450 | 4EB8 10EE      : jsr     $10ee.w      // erase cross-hatch
            0454 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            045A | 1200           : move.b  D0, D1
            045C | 1028 0034      : move.b  ($34,A0), D0 // read input ($60034)
            0460 | B200           : cmp.b   D0, D1
            0462 | 67F6           : beq     $45a
            0464 | 0C00 0001      : cmpi.b  #$1, D0
            0468 | 6602           : bne     $46c
            046A | 5310           : subq.b  #1, (A0)     // decrease code -01
            046C | 0C00 0002      : cmpi.b  #$2, D0
            0470 | 6602           : bne     $474
            0472 | 5210           : addq.b  #1, (A0)     // increase code +01
            0474 | 0C00 0008      : cmpi.b  #$8, D0
            0478 | 6604           : bne     $47e
            047A | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            047E | 0C00 0004      : cmpi.b  #$4, D0
            0482 | 6604           : bne     $488
            0484 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            0488 | 0C00 0010      : cmpi.b  #$10, D0
            048C | 6604           : bne     $492
            048E | 1E10           : move.b  (A0), D7     // play sound
            0490 | 6008           : bra     $49a
            0492 | 0C00 0020      : cmpi.b  #$20, D0
            0496 | 6608           : bne     $4a0
            0498 | 4207           : clr.b   D7           // stop sound
            049A | 4EB9 0000 922A : jsr     $922a.l      // send sound code
            04A0 | 60B8           : bra     $45a
            -->
        </script>
        <script state="run">
            <output format="----- teenage mutant ninja turtles 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@13C4 = 0001FDCA        </action>
            <action>maincpu.mq@0450 = 0000000000000000</action>
            <action>maincpu.mq@0458 = 0000000000000000</action>
            <action>maincpu.mq@0460 = 0000000000000000</action>
            <action>maincpu.mq@0468 = 0000000000000000</action>
            <action>maincpu.mq@0470 = 0000000000000000</action>
            <action>maincpu.mq@0478 = 0000000000000000</action>
            <action>maincpu.mq@0480 = 0000000000000000</action>
            <action>maincpu.mq@0488 = 0000000000000000</action>
            <action>maincpu.mq@0490 = 0000000000000000</action>
            <action>maincpu.mq@0498 = 0000000000000000</action>
            <action>maincpu.mq@04A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1072 = 1074</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@11A6 = 600A</action> <!-- skip cross-hatch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@1072 = 1492</action>
            <action>maincpu.mw@11A6 = 66FC</action>
        </script>
    </cheat>

</mamecheat>
tmntu.xml

Code: Select all

<!-- Teenage Mutant Ninja Turtles (US 4 Players, version R) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@47206 = 4EB9000004006700</action>
            <action>maincpu.mq@00400 = 0C28001300066704</action>
            <action>maincpu.mq@00408 = 74004E7508110001</action>
            <action>maincpu.mq@00410 = 4E75000000000000</action>
            <!--
            0400 | 0C28 0013 0006 : cmpi.b  #$13, ($6,A0) // check item
            0406 | 6704           : beq     $40c
            0408 | 7400           : moveq   #$0, D2
            040A | 4E75           : rts
            040C | 0811 0001      : btst    #$1, (A1)
            0410 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@47206 = 0829000100006700</action>
            <action>maincpu.mq@00400 = 0000000000000000</action>
            <action>maincpu.mq@00408 = 0000000000000000</action>
            <action>maincpu.mq@00410 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@1B5A0 = 4EB80420        </action>
            <action>maincpu.mq@00420 = 1412102AFFF00200</action>
            <action>maincpu.mq@00428 = 002084004E750000</action>
            <!--
            0420 | 1412      : move.b  (A2), D2
            0422 | 102A FFF0 : move.b  (-$10,A2), D0
            0426 | 0200 0020 : andi.b  #$20, D0
            042A | 8400      : or.b    D0, D2
            042C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1B5A0 = 142A0000        </action>
            <action>maincpu.mq@00420 = 0000000000000000</action>
            <action>maincpu.mq@00428 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@46FD2 = 4EB80430        </action>
            <action>maincpu.mq@00430 = B1FC000620F06E0C</action>
            <action>maincpu.mq@00438 = 0C28000300046604</action>
            <action>maincpu.mq@00440 = 70004E7553280033</action>
            <action>maincpu.mq@00448 = 4E75000000000000</action>
            <!--
            0430 | B1FC 0006 20F0 : cmpa.l  #$620f0, A0  // check player or not
            0436 | 6E0C           : bgt     $444
            0438 | 0C28 0003 0004 : cmpi.b  #$3, ($4,A0) // check in attacking
            043E | 6604           : bne     $444
            0440 | 7000           : moveq   #$0, D0
            0442 | 4E75           : rts
            0444 | 5328 0033      : subq.b  #1, ($33,A0)
            0448 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@46FD2 = 53280033        </action>
            <action>maincpu.mq@00430 = 0000000000000000</action>
            <action>maincpu.mq@00438 = 0000000000000000</action>
            <action>maincpu.mq@00440 = 0000000000000000</action>
            <action>maincpu.mq@00448 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill (test)">
        <comment>you can't kill some the latter bosses with 1 hit</comment>
        <script state="on">
            <action>maincpu.md@471AA = 6000000E</action>
        </script>
        <script state="off">
            <action>maincpu.md@471AA = 62000024</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@13C4 = 00000450        </action>
            <action>maincpu.mq@0450 = 4EB810EE41F90006</action>
            <action>maincpu.mq@0458 = 0000120010280034</action>
            <action>maincpu.mq@0460 = B20067F60C000001</action>
            <action>maincpu.mq@0468 = 660253100C000002</action>
            <action>maincpu.mq@0470 = 660252100C000008</action>
            <action>maincpu.mq@0478 = 6604041000100C00</action>
            <action>maincpu.mq@0480 = 0004660406100010</action>
            <action>maincpu.mq@0488 = 0C00001066041E10</action>
            <action>maincpu.mq@0490 = 60080C0000206608</action>
            <action>maincpu.mq@0498 = 42074EB9000090F4</action>
            <action>maincpu.mq@04A0 = 60B8000000000000</action>
            <!--
            0450 | 4EB8 10EE      : jsr     $10ee.w      // erase cross-hatch
            0454 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            045A | 1200           : move.b  D0, D1
            045C | 1028 0034      : move.b  ($34,A0), D0 // read input ($60034)
            0460 | B200           : cmp.b   D0, D1
            0462 | 67F6           : beq     $45a
            0464 | 0C00 0001      : cmpi.b  #$1, D0
            0468 | 6602           : bne     $46c
            046A | 5310           : subq.b  #1, (A0)     // decrease code -01
            046C | 0C00 0002      : cmpi.b  #$2, D0
            0470 | 6602           : bne     $474
            0472 | 5210           : addq.b  #1, (A0)     // increase code +01
            0474 | 0C00 0008      : cmpi.b  #$8, D0
            0478 | 6604           : bne     $47e
            047A | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            047E | 0C00 0004      : cmpi.b  #$4, D0
            0482 | 6604           : bne     $488
            0484 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            0488 | 0C00 0010      : cmpi.b  #$10, D0
            048C | 6604           : bne     $492
            048E | 1E10           : move.b  (A0), D7     // play sound
            0490 | 6008           : bra     $49a
            0492 | 0C00 0020      : cmpi.b  #$20, D0
            0496 | 6608           : bne     $4a0
            0498 | 4207           : clr.b   D7           // stop sound
            049A | 4EB9 0000 90F4 : jsr     $90f4.l      // send sound code
            04A0 | 60B8           : bra     $45a
            -->
        </script>
        <script state="run">
            <output format="----- teenage mutant ninja turtles 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@13C4 = 0001FC86        </action>
            <action>maincpu.mq@0450 = 0000000000000000</action>
            <action>maincpu.mq@0458 = 0000000000000000</action>
            <action>maincpu.mq@0460 = 0000000000000000</action>
            <action>maincpu.mq@0468 = 0000000000000000</action>
            <action>maincpu.mq@0470 = 0000000000000000</action>
            <action>maincpu.mq@0478 = 0000000000000000</action>
            <action>maincpu.mq@0480 = 0000000000000000</action>
            <action>maincpu.mq@0488 = 0000000000000000</action>
            <action>maincpu.mq@0490 = 0000000000000000</action>
            <action>maincpu.mq@0498 = 0000000000000000</action>
            <action>maincpu.mq@04A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1072 = 1074</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@11A6 = 600A</action> <!-- skip cross-hatch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@1072 = 1492</action>
            <action>maincpu.mw@11A6 = 66FC</action>
        </script>
    </cheat>

</mamecheat>
tmntua.xml

Code: Select all

<!-- Teenage Mutant Ninja Turtles (US 4 Players, version N) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@4721A = 4EB9000004006700</action>
            <action>maincpu.mq@00400 = 0C28001300066704</action>
            <action>maincpu.mq@00408 = 74004E7508110001</action>
            <action>maincpu.mq@00410 = 4E75000000000000</action>
            <!--
            0400 | 0C28 0013 0006 : cmpi.b  #$13, ($6,A0) // check item
            0406 | 6704           : beq     $40c
            0408 | 7400           : moveq   #$0, D2
            040A | 4E75           : rts
            040C | 0811 0001      : btst    #$1, (A1)
            0410 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@4721A = 0829000100006700</action>
            <action>maincpu.mq@00400 = 0000000000000000</action>
            <action>maincpu.mq@00408 = 0000000000000000</action>
            <action>maincpu.mq@00410 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@1B5AA = 4EB80420        </action>
            <action>maincpu.mq@00420 = 1412102AFFF00200</action>
            <action>maincpu.mq@00428 = 002084004E750000</action>
            <!--
            0420 | 1412      : move.b  (A2), D2
            0422 | 102A FFF0 : move.b  (-$10,A2), D0
            0426 | 0200 0020 : andi.b  #$20, D0
            042A | 8400      : or.b    D0, D2
            042C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1B5AA = 142A0000        </action>
            <action>maincpu.mq@00420 = 0000000000000000</action>
            <action>maincpu.mq@00428 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@46FE6 = 4EB80430        </action>
            <action>maincpu.mq@00430 = B1FC000620F06E0C</action>
            <action>maincpu.mq@00438 = 0C28000300046604</action>
            <action>maincpu.mq@00440 = 70004E7553280033</action>
            <action>maincpu.mq@00448 = 4E75000000000000</action>
            <!--
            0430 | B1FC 0006 20F0 : cmpa.l  #$620f0, A0  // check player or not
            0436 | 6E0C           : bgt     $444
            0438 | 0C28 0003 0004 : cmpi.b  #$3, ($4,A0) // check in attacking
            043E | 6604           : bne     $444
            0440 | 7000           : moveq   #$0, D0
            0442 | 4E75           : rts
            0444 | 5328 0033      : subq.b  #1, ($33,A0)
            0448 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@46FE6 = 53280033        </action>
            <action>maincpu.mq@00430 = 0000000000000000</action>
            <action>maincpu.mq@00438 = 0000000000000000</action>
            <action>maincpu.mq@00440 = 0000000000000000</action>
            <action>maincpu.mq@00448 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill (test)">
        <comment>you can't kill some the latter bosses with 1 hit</comment>
        <script state="on">
            <action>maincpu.md@471BE = 6000000E</action>
        </script>
        <script state="off">
            <action>maincpu.md@471BE = 62000024</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@13C4 = 00000450        </action>
            <action>maincpu.mq@0450 = 4EB810EE41F90006</action>
            <action>maincpu.mq@0458 = 0000120010280034</action>
            <action>maincpu.mq@0460 = B20067F60C000001</action>
            <action>maincpu.mq@0468 = 660253100C000002</action>
            <action>maincpu.mq@0470 = 660252100C000008</action>
            <action>maincpu.mq@0478 = 6604041000100C00</action>
            <action>maincpu.mq@0480 = 0004660406100010</action>
            <action>maincpu.mq@0488 = 0C00001066041E10</action>
            <action>maincpu.mq@0490 = 60080C0000206608</action>
            <action>maincpu.mq@0498 = 42074EB9000090FA</action>
            <action>maincpu.mq@04A0 = 60B8000000000000</action>
            <!--
            0450 | 4EB8 10EE      : jsr     $10ee.w      // erase cross-hatch
            0454 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            045A | 1200           : move.b  D0, D1
            045C | 1028 0034      : move.b  ($34,A0), D0 // read input ($60034)
            0460 | B200           : cmp.b   D0, D1
            0462 | 67F6           : beq     $45a
            0464 | 0C00 0001      : cmpi.b  #$1, D0
            0468 | 6602           : bne     $46c
            046A | 5310           : subq.b  #1, (A0)     // decrease code -01
            046C | 0C00 0002      : cmpi.b  #$2, D0
            0470 | 6602           : bne     $474
            0472 | 5210           : addq.b  #1, (A0)     // increase code +01
            0474 | 0C00 0008      : cmpi.b  #$8, D0
            0478 | 6604           : bne     $47e
            047A | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            047E | 0C00 0004      : cmpi.b  #$4, D0
            0482 | 6604           : bne     $488
            0484 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            0488 | 0C00 0010      : cmpi.b  #$10, D0
            048C | 6604           : bne     $492
            048E | 1E10           : move.b  (A0), D7     // play sound
            0490 | 6008           : bra     $49a
            0492 | 0C00 0020      : cmpi.b  #$20, D0
            0496 | 6608           : bne     $4a0
            0498 | 4207           : clr.b   D7           // stop sound
            049A | 4EB9 0000 90FA : jsr     $90fa.l      // send sound code
            04A0 | 60B8           : bra     $45a
            -->
        </script>
        <script state="run">
            <output format="----- teenage mutant ninja turtles 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@13C4 = 0001FC9A        </action>
            <action>maincpu.mq@0450 = 0000000000000000</action>
            <action>maincpu.mq@0458 = 0000000000000000</action>
            <action>maincpu.mq@0460 = 0000000000000000</action>
            <action>maincpu.mq@0468 = 0000000000000000</action>
            <action>maincpu.mq@0470 = 0000000000000000</action>
            <action>maincpu.mq@0478 = 0000000000000000</action>
            <action>maincpu.mq@0480 = 0000000000000000</action>
            <action>maincpu.mq@0488 = 0000000000000000</action>
            <action>maincpu.mq@0490 = 0000000000000000</action>
            <action>maincpu.mq@0498 = 0000000000000000</action>
            <action>maincpu.mq@04A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1072 = 1074</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@11A6 = 600A</action> <!-- skip cross-hatch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@1072 = 1492</action>
            <action>maincpu.mw@11A6 = 66FC</action>
        </script>
    </cheat>

</mamecheat>
tmntub.xml

Code: Select all

<!-- Teenage Mutant Ninja Turtles (US 4 Players, version J) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@4721A = 4EB9000004006700</action>
            <action>maincpu.mq@00400 = 0C28001300066704</action>
            <action>maincpu.mq@00408 = 74004E7508110001</action>
            <action>maincpu.mq@00410 = 4E75000000000000</action>
            <!--
            0400 | 0C28 0013 0006 : cmpi.b  #$13, ($6,A0) // check item
            0406 | 6704           : beq     $40c
            0408 | 7400           : moveq   #$0, D2
            040A | 4E75           : rts
            040C | 0811 0001      : btst    #$1, (A1)
            0410 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@4721A = 0829000100006700</action>
            <action>maincpu.mq@00400 = 0000000000000000</action>
            <action>maincpu.mq@00408 = 0000000000000000</action>
            <action>maincpu.mq@00410 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@1B5AA = 4EB80420        </action>
            <action>maincpu.mq@00420 = 1412102AFFF00200</action>
            <action>maincpu.mq@00428 = 002084004E750000</action>
            <!--
            0420 | 1412      : move.b  (A2), D2
            0422 | 102A FFF0 : move.b  (-$10,A2), D0
            0426 | 0200 0020 : andi.b  #$20, D0
            042A | 8400      : or.b    D0, D2
            042C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1B5AA = 142A0000        </action>
            <action>maincpu.mq@00420 = 0000000000000000</action>
            <action>maincpu.mq@00428 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@46FE6 = 4EB80430        </action>
            <action>maincpu.mq@00430 = B1FC000620F06E0C</action>
            <action>maincpu.mq@00438 = 0C28000300046604</action>
            <action>maincpu.mq@00440 = 70004E7553280033</action>
            <action>maincpu.mq@00448 = 4E75000000000000</action>
            <!--
            0430 | B1FC 0006 20F0 : cmpa.l  #$620f0, A0  // check player or not
            0436 | 6E0C           : bgt     $444
            0438 | 0C28 0003 0004 : cmpi.b  #$3, ($4,A0) // check in attacking
            043E | 6604           : bne     $444
            0440 | 7000           : moveq   #$0, D0
            0442 | 4E75           : rts
            0444 | 5328 0033      : subq.b  #1, ($33,A0)
            0448 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@46FE6 = 53280033        </action>
            <action>maincpu.mq@00430 = 0000000000000000</action>
            <action>maincpu.mq@00438 = 0000000000000000</action>
            <action>maincpu.mq@00440 = 0000000000000000</action>
            <action>maincpu.mq@00448 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill (test)">
        <comment>you can't kill some the latter bosses with 1 hit</comment>
        <script state="on">
            <action>maincpu.md@471BE = 6000000E</action>
        </script>
        <script state="off">
            <action>maincpu.md@471BE = 62000024</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@13C4 = 00000450        </action>
            <action>maincpu.mq@0450 = 4EB810EE41F90006</action>
            <action>maincpu.mq@0458 = 0000120010280034</action>
            <action>maincpu.mq@0460 = B20067F60C000001</action>
            <action>maincpu.mq@0468 = 660253100C000002</action>
            <action>maincpu.mq@0470 = 660252100C000008</action>
            <action>maincpu.mq@0478 = 6604041000100C00</action>
            <action>maincpu.mq@0480 = 0004660406100010</action>
            <action>maincpu.mq@0488 = 0C00001066041E10</action>
            <action>maincpu.mq@0490 = 60080C0000206608</action>
            <action>maincpu.mq@0498 = 42074EB9000090FA</action>
            <action>maincpu.mq@04A0 = 60B8000000000000</action>
            <!--
            0450 | 4EB8 10EE      : jsr     $10ee.w      // erase cross-hatch
            0454 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            045A | 1200           : move.b  D0, D1
            045C | 1028 0034      : move.b  ($34,A0), D0 // read input ($60034)
            0460 | B200           : cmp.b   D0, D1
            0462 | 67F6           : beq     $45a
            0464 | 0C00 0001      : cmpi.b  #$1, D0
            0468 | 6602           : bne     $46c
            046A | 5310           : subq.b  #1, (A0)     // decrease code -01
            046C | 0C00 0002      : cmpi.b  #$2, D0
            0470 | 6602           : bne     $474
            0472 | 5210           : addq.b  #1, (A0)     // increase code +01
            0474 | 0C00 0008      : cmpi.b  #$8, D0
            0478 | 6604           : bne     $47e
            047A | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            047E | 0C00 0004      : cmpi.b  #$4, D0
            0482 | 6604           : bne     $488
            0484 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            0488 | 0C00 0010      : cmpi.b  #$10, D0
            048C | 6604           : bne     $492
            048E | 1E10           : move.b  (A0), D7     // play sound
            0490 | 6008           : bra     $49a
            0492 | 0C00 0020      : cmpi.b  #$20, D0
            0496 | 6608           : bne     $4a0
            0498 | 4207           : clr.b   D7           // stop sound
            049A | 4EB9 0000 90FA : jsr     $90fa.l      // send sound code
            04A0 | 60B8           : bra     $45a
            -->
        </script>
        <script state="run">
            <output format="----- teenage mutant ninja turtles 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@13C4 = 0001FC9A        </action>
            <action>maincpu.mq@0450 = 0000000000000000</action>
            <action>maincpu.mq@0458 = 0000000000000000</action>
            <action>maincpu.mq@0460 = 0000000000000000</action>
            <action>maincpu.mq@0468 = 0000000000000000</action>
            <action>maincpu.mq@0470 = 0000000000000000</action>
            <action>maincpu.mq@0478 = 0000000000000000</action>
            <action>maincpu.mq@0480 = 0000000000000000</action>
            <action>maincpu.mq@0488 = 0000000000000000</action>
            <action>maincpu.mq@0490 = 0000000000000000</action>
            <action>maincpu.mq@0498 = 0000000000000000</action>
            <action>maincpu.mq@04A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1072 = 1074</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@11A6 = 600A</action> <!-- skip cross-hatch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@1072 = 1492</action>
            <action>maincpu.mw@11A6 = 66FC</action>
        </script>
    </cheat>

</mamecheat>
tmntuc.xml

Code: Select all

<!-- Teenage Mutant Ninja Turtles (US 4 Players, version H) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@471AA = 4EB9000004006700</action>
            <action>maincpu.mq@00400 = 0C28001300066704</action>
            <action>maincpu.mq@00408 = 74004E7508110001</action>
            <action>maincpu.mq@00410 = 4E75000000000000</action>
            <!--
            0400 | 0C28 0013 0006 : cmpi.b  #$13, ($6,A0) // check item
            0406 | 6704           : beq     $40c
            0408 | 7400           : moveq   #$0, D2
            040A | 4E75           : rts
            040C | 0811 0001      : btst    #$1, (A1)
            0410 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@471AA = 0829000100006700</action>
            <action>maincpu.mq@00400 = 0000000000000000</action>
            <action>maincpu.mq@00408 = 0000000000000000</action>
            <action>maincpu.mq@00410 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@1B54A = 4EB80420        </action>
            <action>maincpu.mq@00420 = 1412102AFFF00200</action>
            <action>maincpu.mq@00428 = 002084004E750000</action>
            <!--
            0420 | 1412      : move.b  (A2), D2
            0422 | 102A FFF0 : move.b  (-$10,A2), D0
            0426 | 0200 0020 : andi.b  #$20, D0
            042A | 8400      : or.b    D0, D2
            042C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1B54A = 142A0000        </action>
            <action>maincpu.mq@00420 = 0000000000000000</action>
            <action>maincpu.mq@00428 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@46F76 = 4EB80430        </action>
            <action>maincpu.mq@00430 = B1FC000620F06E0C</action>
            <action>maincpu.mq@00438 = 0C28000300046604</action>
            <action>maincpu.mq@00440 = 70004E7553280033</action>
            <action>maincpu.mq@00448 = 4E75000000000000</action>
            <!--
            0430 | B1FC 0006 20F0 : cmpa.l  #$620f0, A0  // check player or not
            0436 | 6E0C           : bgt     $444
            0438 | 0C28 0003 0004 : cmpi.b  #$3, ($4,A0) // check in attacking
            043E | 6604           : bne     $444
            0440 | 7000           : moveq   #$0, D0
            0442 | 4E75           : rts
            0444 | 5328 0033      : subq.b  #1, ($33,A0)
            0448 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@46F76 = 53280033        </action>
            <action>maincpu.mq@00430 = 0000000000000000</action>
            <action>maincpu.mq@00438 = 0000000000000000</action>
            <action>maincpu.mq@00440 = 0000000000000000</action>
            <action>maincpu.mq@00448 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill (test)">
        <comment>you can't kill some the latter bosses with 1 hit</comment>
        <script state="on">
            <action>maincpu.md@4714E = 6000000E</action>
        </script>
        <script state="off">
            <action>maincpu.md@4714E = 62000024</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@13C4 = 00000450        </action>
            <action>maincpu.mq@0450 = 4EB810EE41F90006</action>
            <action>maincpu.mq@0458 = 0000120010280034</action>
            <action>maincpu.mq@0460 = B20067F60C000001</action>
            <action>maincpu.mq@0468 = 660253100C000002</action>
            <action>maincpu.mq@0470 = 660252100C000008</action>
            <action>maincpu.mq@0478 = 6604041000100C00</action>
            <action>maincpu.mq@0480 = 0004660406100010</action>
            <action>maincpu.mq@0488 = 0C00001066041E10</action>
            <action>maincpu.mq@0490 = 60080C0000206608</action>
            <action>maincpu.mq@0498 = 42074EB9000090EE</action>
            <action>maincpu.mq@04A0 = 60B8000000000000</action>
            <!--
            0450 | 4EB8 10EE      : jsr     $10ee.w      // erase cross-hatch
            0454 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            045A | 1200           : move.b  D0, D1
            045C | 1028 0034      : move.b  ($34,A0), D0 // read input ($60034)
            0460 | B200           : cmp.b   D0, D1
            0462 | 67F6           : beq     $45a
            0464 | 0C00 0001      : cmpi.b  #$1, D0
            0468 | 6602           : bne     $46c
            046A | 5310           : subq.b  #1, (A0)     // decrease code -01
            046C | 0C00 0002      : cmpi.b  #$2, D0
            0470 | 6602           : bne     $474
            0472 | 5210           : addq.b  #1, (A0)     // increase code +01
            0474 | 0C00 0008      : cmpi.b  #$8, D0
            0478 | 6604           : bne     $47e
            047A | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            047E | 0C00 0004      : cmpi.b  #$4, D0
            0482 | 6604           : bne     $488
            0484 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            0488 | 0C00 0010      : cmpi.b  #$10, D0
            048C | 6604           : bne     $492
            048E | 1E10           : move.b  (A0), D7     // play sound
            0490 | 6008           : bra     $49a
            0492 | 0C00 0020      : cmpi.b  #$20, D0
            0496 | 6608           : bne     $4a0
            0498 | 4207           : clr.b   D7           // stop sound
            049A | 4EB9 0000 90EE : jsr     $90ee.l      // send sound code
            04A0 | 60B8           : bra     $45a
            -->
        </script>
        <script state="run">
            <output format="----- teenage mutant ninja turtles 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@13C4 = 0001FC2A        </action>
            <action>maincpu.mq@0450 = 0000000000000000</action>
            <action>maincpu.mq@0458 = 0000000000000000</action>
            <action>maincpu.mq@0460 = 0000000000000000</action>
            <action>maincpu.mq@0468 = 0000000000000000</action>
            <action>maincpu.mq@0470 = 0000000000000000</action>
            <action>maincpu.mq@0478 = 0000000000000000</action>
            <action>maincpu.mq@0480 = 0000000000000000</action>
            <action>maincpu.mq@0488 = 0000000000000000</action>
            <action>maincpu.mq@0490 = 0000000000000000</action>
            <action>maincpu.mq@0498 = 0000000000000000</action>
            <action>maincpu.mq@04A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1072 = 1074</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@11A6 = 600A</action> <!-- skip cross-hatch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@1072 = 1492</action>
            <action>maincpu.mw@11A6 = 66FC</action>
        </script>
    </cheat>

</mamecheat>
tmntucbl.xml

Code: Select all

<!-- Teenage Mutant Ninja Turtles (US 4 Players, version H) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@471AA = 4EB9000004006700</action>
            <action>maincpu.mq@00400 = 0C28001300066704</action>
            <action>maincpu.mq@00408 = 74004E7508110001</action>
            <action>maincpu.mq@00410 = 4E75000000000000</action>
            <!--
            0400 | 0C28 0013 0006 : cmpi.b  #$13, ($6,A0) // check item
            0406 | 6704           : beq     $40c
            0408 | 7400           : moveq   #$0, D2
            040A | 4E75           : rts
            040C | 0811 0001      : btst    #$1, (A1)
            0410 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@471AA = 0829000100006700</action>
            <action>maincpu.mq@00400 = 0000000000000000</action>
            <action>maincpu.mq@00408 = 0000000000000000</action>
            <action>maincpu.mq@00410 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@1B54A = 4EB80420        </action>
            <action>maincpu.mq@00420 = 1412102AFFF00200</action>
            <action>maincpu.mq@00428 = 002084004E750000</action>
            <!--
            0420 | 1412      : move.b  (A2), D2
            0422 | 102A FFF0 : move.b  (-$10,A2), D0
            0426 | 0200 0020 : andi.b  #$20, D0
            042A | 8400      : or.b    D0, D2
            042C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1B54A = 142A0000        </action>
            <action>maincpu.mq@00420 = 0000000000000000</action>
            <action>maincpu.mq@00428 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@46F76 = 4EB80430        </action>
            <action>maincpu.mq@00430 = B1FC000620F06E0C</action>
            <action>maincpu.mq@00438 = 0C28000300046604</action>
            <action>maincpu.mq@00440 = 70004E7553280033</action>
            <action>maincpu.mq@00448 = 4E75000000000000</action>
            <!--
            0430 | B1FC 0006 20F0 : cmpa.l  #$620f0, A0  // check player or not
            0436 | 6E0C           : bgt     $444
            0438 | 0C28 0003 0004 : cmpi.b  #$3, ($4,A0) // check in attacking
            043E | 6604           : bne     $444
            0440 | 7000           : moveq   #$0, D0
            0442 | 4E75           : rts
            0444 | 5328 0033      : subq.b  #1, ($33,A0)
            0448 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@46F76 = 53280033        </action>
            <action>maincpu.mq@00430 = 0000000000000000</action>
            <action>maincpu.mq@00438 = 0000000000000000</action>
            <action>maincpu.mq@00440 = 0000000000000000</action>
            <action>maincpu.mq@00448 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill (test)">
        <comment>you can't kill some the latter bosses with 1 hit</comment>
        <script state="on">
            <action>maincpu.md@4714E = 6000000E</action>
        </script>
        <script state="off">
            <action>maincpu.md@4714E = 62000024</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@13C4 = 00000450        </action>
            <action>maincpu.mq@0450 = 4EB810EE41F90006</action>
            <action>maincpu.mq@0458 = 0000120010280034</action>
            <action>maincpu.mq@0460 = B20067F60C000001</action>
            <action>maincpu.mq@0468 = 660253100C000002</action>
            <action>maincpu.mq@0470 = 660252100C000008</action>
            <action>maincpu.mq@0478 = 6604041000100C00</action>
            <action>maincpu.mq@0480 = 0004660406100010</action>
            <action>maincpu.mq@0488 = 0C00001066041E10</action>
            <action>maincpu.mq@0490 = 60080C0000206608</action>
            <action>maincpu.mq@0498 = 42074EB9000090EE</action>
            <action>maincpu.mq@04A0 = 60B8000000000000</action>
            <!--
            0450 | 4EB8 10EE      : jsr     $10ee.w      // erase cross-hatch
            0454 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            045A | 1200           : move.b  D0, D1
            045C | 1028 0034      : move.b  ($34,A0), D0 // read input ($60034)
            0460 | B200           : cmp.b   D0, D1
            0462 | 67F6           : beq     $45a
            0464 | 0C00 0001      : cmpi.b  #$1, D0
            0468 | 6602           : bne     $46c
            046A | 5310           : subq.b  #1, (A0)     // decrease code -01
            046C | 0C00 0002      : cmpi.b  #$2, D0
            0470 | 6602           : bne     $474
            0472 | 5210           : addq.b  #1, (A0)     // increase code +01
            0474 | 0C00 0008      : cmpi.b  #$8, D0
            0478 | 6604           : bne     $47e
            047A | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            047E | 0C00 0004      : cmpi.b  #$4, D0
            0482 | 6604           : bne     $488
            0484 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            0488 | 0C00 0010      : cmpi.b  #$10, D0
            048C | 6604           : bne     $492
            048E | 1E10           : move.b  (A0), D7     // play sound
            0490 | 6008           : bra     $49a
            0492 | 0C00 0020      : cmpi.b  #$20, D0
            0496 | 6608           : bne     $4a0
            0498 | 4207           : clr.b   D7           // stop sound
            049A | 4EB9 0000 90EE : jsr     $90ee.l      // send sound code
            04A0 | 60B8           : bra     $45a
            -->
        </script>
        <script state="run">
            <output format="----- teenage mutant ninja turtles 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@13C4 = 0001FC2A        </action>
            <action>maincpu.mq@0450 = 0000000000000000</action>
            <action>maincpu.mq@0458 = 0000000000000000</action>
            <action>maincpu.mq@0460 = 0000000000000000</action>
            <action>maincpu.mq@0468 = 0000000000000000</action>
            <action>maincpu.mq@0470 = 0000000000000000</action>
            <action>maincpu.mq@0478 = 0000000000000000</action>
            <action>maincpu.mq@0480 = 0000000000000000</action>
            <action>maincpu.mq@0488 = 0000000000000000</action>
            <action>maincpu.mq@0490 = 0000000000000000</action>
            <action>maincpu.mq@0498 = 0000000000000000</action>
            <action>maincpu.mq@04A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1072 = 1074</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@11A6 = 600A</action> <!-- skip cross-hatch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@1072 = 1492</action>
            <action>maincpu.mw@11A6 = 66FC</action>
        </script>
    </cheat>

</mamecheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1315
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[tmnt]+ Teenage Mutant Ninja Turtles

Post by jman »

tmht.xml

Code: Select all

<!-- Teenage Mutant Hero Turtles (UK 4 Players, version F) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@471F2 = 4EB9000004006700</action>
            <action>maincpu.mq@00400 = 0C28001300066704</action>
            <action>maincpu.mq@00408 = 74004E7508110001</action>
            <action>maincpu.mq@00410 = 4E75000000000000</action>
            <!--
            0400 | 0C28 0013 0006 : cmpi.b  #$13, ($6,A0) // check item
            0406 | 6704           : beq     $40c
            0408 | 7400           : moveq   #$0, D2
            040A | 4E75           : rts
            040C | 0811 0001      : btst    #$1, (A1)
            0410 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@471F2 = 0829000100006700</action>
            <action>maincpu.mq@00400 = 0000000000000000</action>
            <action>maincpu.mq@00408 = 0000000000000000</action>
            <action>maincpu.mq@00410 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@1B582 = 4EB80420        </action>
            <action>maincpu.mq@00420 = 1412102AFFF00200</action>
            <action>maincpu.mq@00428 = 002084004E750000</action>
            <!--
            0420 | 1412      : move.b  (A2), D2
            0422 | 102A FFF0 : move.b  (-$10,A2), D0
            0426 | 0200 0020 : andi.b  #$20, D0
            042A | 8400      : or.b    D0, D2
            042C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1B582 = 142A0000        </action>
            <action>maincpu.mq@00420 = 0000000000000000</action>
            <action>maincpu.mq@00428 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@46FBE = 4EB80430        </action>
            <action>maincpu.mq@00430 = B1FC000620F06E0C</action>
            <action>maincpu.mq@00438 = 0C28000300046604</action>
            <action>maincpu.mq@00440 = 70004E7553280033</action>
            <action>maincpu.mq@00448 = 4E75000000000000</action>
            <!--
            0430 | B1FC 0006 20F0 : cmpa.l  #$620f0, A0  // check player or not
            0436 | 6E0C           : bgt     $444
            0438 | 0C28 0003 0004 : cmpi.b  #$3, ($4,A0) // check in attacking
            043E | 6604           : bne     $444
            0440 | 7000           : moveq   #$0, D0
            0442 | 4E75           : rts
            0444 | 5328 0033      : subq.b  #1, ($33,A0)
            0448 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@46FBE = 53280033        </action>
            <action>maincpu.mq@00430 = 0000000000000000</action>
            <action>maincpu.mq@00438 = 0000000000000000</action>
            <action>maincpu.mq@00440 = 0000000000000000</action>
            <action>maincpu.mq@00448 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill (test)">
        <comment>you can't kill some the latter bosses with 1 hit</comment>
        <script state="on">
            <action>maincpu.md@47196 = 6000000E</action>
        </script>
        <script state="off">
            <action>maincpu.md@47196 = 62000024</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@13C4 = 00000450        </action>
            <action>maincpu.mq@0450 = 4EB810EE41F90006</action>
            <action>maincpu.mq@0458 = 0000120010280034</action>
            <action>maincpu.mq@0460 = B20067F60C000001</action>
            <action>maincpu.mq@0468 = 660253100C000002</action>
            <action>maincpu.mq@0470 = 660252100C000008</action>
            <action>maincpu.mq@0478 = 6604041000100C00</action>
            <action>maincpu.mq@0480 = 0004660406100010</action>
            <action>maincpu.mq@0488 = 0C00001066041E10</action>
            <action>maincpu.mq@0490 = 60080C0000206608</action>
            <action>maincpu.mq@0498 = 42074EB900009126</action>
            <action>maincpu.mq@04A0 = 60B8000000000000</action>
            <!--
            0450 | 4EB8 10EE      : jsr     $10ee.w      // erase cross-hatch
            0454 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            045A | 1200           : move.b  D0, D1
            045C | 1028 0034      : move.b  ($34,A0), D0 // read input ($60034)
            0460 | B200           : cmp.b   D0, D1
            0462 | 67F6           : beq     $45a
            0464 | 0C00 0001      : cmpi.b  #$1, D0
            0468 | 6602           : bne     $46c
            046A | 5310           : subq.b  #1, (A0)     // decrease code -01
            046C | 0C00 0002      : cmpi.b  #$2, D0
            0470 | 6602           : bne     $474
            0472 | 5210           : addq.b  #1, (A0)     // increase code +01
            0474 | 0C00 0008      : cmpi.b  #$8, D0
            0478 | 6604           : bne     $47e
            047A | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            047E | 0C00 0004      : cmpi.b  #$4, D0
            0482 | 6604           : bne     $488
            0484 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            0488 | 0C00 0010      : cmpi.b  #$10, D0
            048C | 6604           : bne     $492
            048E | 1E10           : move.b  (A0), D7     // play sound
            0490 | 6008           : bra     $49a
            0492 | 0C00 0020      : cmpi.b  #$20, D0
            0496 | 6608           : bne     $4a0
            0498 | 4207           : clr.b   D7           // stop sound
            049A | 4EB9 0000 9126 : jsr     $9126.l      // send sound code
            04A0 | 60B8           : bra     $45a
            -->
        </script>
        <script state="run">
            <output format="----- teenage mutant hero turtles 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@13C4 = 0001FC72        </action>
            <action>maincpu.mq@0450 = 0000000000000000</action>
            <action>maincpu.mq@0458 = 0000000000000000</action>
            <action>maincpu.mq@0460 = 0000000000000000</action>
            <action>maincpu.mq@0468 = 0000000000000000</action>
            <action>maincpu.mq@0470 = 0000000000000000</action>
            <action>maincpu.mq@0478 = 0000000000000000</action>
            <action>maincpu.mq@0480 = 0000000000000000</action>
            <action>maincpu.mq@0488 = 0000000000000000</action>
            <action>maincpu.mq@0490 = 0000000000000000</action>
            <action>maincpu.mq@0498 = 0000000000000000</action>
            <action>maincpu.mq@04A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1072 = 1074</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@11A6 = 600A</action> <!-- skip cross-hatch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@1072 = 1492</action>
            <action>maincpu.mw@11A6 = 66FC</action>
        </script>
    </cheat>

</mamecheat>
tmhta.xml

Code: Select all

<!-- Teenage Mutant Hero Turtles (UK 4 Players, version S) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@471DE = 4EB9000004006700</action>
            <action>maincpu.mq@00400 = 0C28001300066704</action>
            <action>maincpu.mq@00408 = 74004E7508110001</action>
            <action>maincpu.mq@00410 = 4E75000000000000</action>
            <!--
            0400 | 0C28 0013 0006 : cmpi.b  #$13, ($6,A0) // check item
            0406 | 6704           : beq     $40c
            0408 | 7400           : moveq   #$0, D2
            040A | 4E75           : rts
            040C | 0811 0001      : btst    #$1, (A1)
            0410 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@471DE = 0829000100006700</action>
            <action>maincpu.mq@00400 = 0000000000000000</action>
            <action>maincpu.mq@00408 = 0000000000000000</action>
            <action>maincpu.mq@00410 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@1B578 = 4EB80420        </action>
            <action>maincpu.mq@00420 = 1412102AFFF00200</action>
            <action>maincpu.mq@00428 = 002084004E750000</action>
            <!--
            0420 | 1412      : move.b  (A2), D2
            0422 | 102A FFF0 : move.b  (-$10,A2), D0
            0426 | 0200 0020 : andi.b  #$20, D0
            042A | 8400      : or.b    D0, D2
            042C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1B578 = 142A0000        </action>
            <action>maincpu.mq@00420 = 0000000000000000</action>
            <action>maincpu.mq@00428 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@46FAA = 4EB80430        </action>
            <action>maincpu.mq@00430 = B1FC000620F06E0C</action>
            <action>maincpu.mq@00438 = 0C28000300046604</action>
            <action>maincpu.mq@00440 = 70004E7553280033</action>
            <action>maincpu.mq@00448 = 4E75000000000000</action>
            <!--
            0430 | B1FC 0006 20F0 : cmpa.l  #$620f0, A0  // check player or not
            0436 | 6E0C           : bgt     $444
            0438 | 0C28 0003 0004 : cmpi.b  #$3, ($4,A0) // check in attacking
            043E | 6604           : bne     $444
            0440 | 7000           : moveq   #$0, D0
            0442 | 4E75           : rts
            0444 | 5328 0033      : subq.b  #1, ($33,A0)
            0448 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@46FAA = 53280033        </action>
            <action>maincpu.mq@00430 = 0000000000000000</action>
            <action>maincpu.mq@00438 = 0000000000000000</action>
            <action>maincpu.mq@00440 = 0000000000000000</action>
            <action>maincpu.mq@00448 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill (test)">
        <comment>you can't kill some the latter bosses with 1 hit</comment>
        <script state="on">
            <action>maincpu.md@47182 = 6000000E</action>
        </script>
        <script state="off">
            <action>maincpu.md@47182 = 62000024</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@13C4 = 00000450        </action>
            <action>maincpu.mq@0450 = 4EB810EE41F90006</action>
            <action>maincpu.mq@0458 = 0000120010280034</action>
            <action>maincpu.mq@0460 = B20067F60C000001</action>
            <action>maincpu.mq@0468 = 660253100C000002</action>
            <action>maincpu.mq@0470 = 660252100C000008</action>
            <action>maincpu.mq@0478 = 6604041000100C00</action>
            <action>maincpu.mq@0480 = 0004660406100010</action>
            <action>maincpu.mq@0488 = 0C00001066041E10</action>
            <action>maincpu.mq@0490 = 60080C0000206608</action>
            <action>maincpu.mq@0498 = 42074EB9000090CC</action>
            <action>maincpu.mq@04A0 = 60B8000000000000</action>
            <!--
            0450 | 4EB8 10EE      : jsr     $10ee.w      // erase cross-hatch
            0454 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            045A | 1200           : move.b  D0, D1
            045C | 1028 0034      : move.b  ($34,A0), D0 // read input ($60034)
            0460 | B200           : cmp.b   D0, D1
            0462 | 67F6           : beq     $45a
            0464 | 0C00 0001      : cmpi.b  #$1, D0
            0468 | 6602           : bne     $46c
            046A | 5310           : subq.b  #1, (A0)     // decrease code -01
            046C | 0C00 0002      : cmpi.b  #$2, D0
            0470 | 6602           : bne     $474
            0472 | 5210           : addq.b  #1, (A0)     // increase code +01
            0474 | 0C00 0008      : cmpi.b  #$8, D0
            0478 | 6604           : bne     $47e
            047A | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            047E | 0C00 0004      : cmpi.b  #$4, D0
            0482 | 6604           : bne     $488
            0484 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            0488 | 0C00 0010      : cmpi.b  #$10, D0
            048C | 6604           : bne     $492
            048E | 1E10           : move.b  (A0), D7     // play sound
            0490 | 6008           : bra     $49a
            0492 | 0C00 0020      : cmpi.b  #$20, D0
            0496 | 6608           : bne     $4a0
            0498 | 4207           : clr.b   D7           // stop sound
            049A | 4EB9 0000 90CC : jsr     $90cc.l      // send sound code
            04A0 | 60B8           : bra     $45a
            -->
        </script>
        <script state="run">
            <output format="----- teenage mutant hero turtles 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@13C4 = 0001FC5E        </action>
            <action>maincpu.mq@0450 = 0000000000000000</action>
            <action>maincpu.mq@0458 = 0000000000000000</action>
            <action>maincpu.mq@0460 = 0000000000000000</action>
            <action>maincpu.mq@0468 = 0000000000000000</action>
            <action>maincpu.mq@0470 = 0000000000000000</action>
            <action>maincpu.mq@0478 = 0000000000000000</action>
            <action>maincpu.mq@0480 = 0000000000000000</action>
            <action>maincpu.mq@0488 = 0000000000000000</action>
            <action>maincpu.mq@0490 = 0000000000000000</action>
            <action>maincpu.mq@0498 = 0000000000000000</action>
            <action>maincpu.mq@04A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1072 = 1074</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@11A6 = 600A</action> <!-- skip cross-hatch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@1072 = 1492</action>
            <action>maincpu.mw@11A6 = 66FC</action>
        </script>
    </cheat>

</mamecheat>
tmhtb.xml

Code: Select all

<!-- Teenage Mutant Hero Turtles (UK 4 Players, version ?) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@4721A = 4EB9000004006700</action>
            <action>maincpu.mq@00400 = 0C28001300066704</action>
            <action>maincpu.mq@00408 = 74004E7508110001</action>
            <action>maincpu.mq@00410 = 4E75000000000000</action>
            <!--
            0400 | 0C28 0013 0006 : cmpi.b  #$13, ($6,A0) // check item
            0406 | 6704           : beq     $40c
            0408 | 7400           : moveq   #$0, D2
            040A | 4E75           : rts
            040C | 0811 0001      : btst    #$1, (A1)
            0410 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@4721A = 0829000100006700</action>
            <action>maincpu.mq@00400 = 0000000000000000</action>
            <action>maincpu.mq@00408 = 0000000000000000</action>
            <action>maincpu.mq@00410 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@1B5AA = 4EB80420        </action>
            <action>maincpu.mq@00420 = 1412102AFFF00200</action>
            <action>maincpu.mq@00428 = 002084004E750000</action>
            <!--
            0420 | 1412      : move.b  (A2), D2
            0422 | 102A FFF0 : move.b  (-$10,A2), D0
            0426 | 0200 0020 : andi.b  #$20, D0
            042A | 8400      : or.b    D0, D2
            042C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1B5AA = 142A0000        </action>
            <action>maincpu.mq@00420 = 0000000000000000</action>
            <action>maincpu.mq@00428 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@46FE6 = 4EB80430        </action>
            <action>maincpu.mq@00430 = B1FC000620F06E0C</action>
            <action>maincpu.mq@00438 = 0C28000300046604</action>
            <action>maincpu.mq@00440 = 70004E7553280033</action>
            <action>maincpu.mq@00448 = 4E75000000000000</action>
            <!--
            0430 | B1FC 0006 20F0 : cmpa.l  #$620f0, A0  // check player or not
            0436 | 6E0C           : bgt     $444
            0438 | 0C28 0003 0004 : cmpi.b  #$3, ($4,A0) // check in attacking
            043E | 6604           : bne     $444
            0440 | 7000           : moveq   #$0, D0
            0442 | 4E75           : rts
            0444 | 5328 0033      : subq.b  #1, ($33,A0)
            0448 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@46FE6 = 53280033        </action>
            <action>maincpu.mq@00430 = 0000000000000000</action>
            <action>maincpu.mq@00438 = 0000000000000000</action>
            <action>maincpu.mq@00440 = 0000000000000000</action>
            <action>maincpu.mq@00448 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill (test)">
        <comment>you can't kill some the latter bosses with 1 hit</comment>
        <script state="on">
            <action>maincpu.md@471BE = 6000000E</action>
        </script>
        <script state="off">
            <action>maincpu.md@471BE = 62000024</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@13C4 = 00000450        </action>
            <action>maincpu.mq@0450 = 4EB810EE41F90006</action>
            <action>maincpu.mq@0458 = 0000120010280034</action>
            <action>maincpu.mq@0460 = B20067F60C000001</action>
            <action>maincpu.mq@0468 = 660253100C000002</action>
            <action>maincpu.mq@0470 = 660252100C000008</action>
            <action>maincpu.mq@0478 = 6604041000100C00</action>
            <action>maincpu.mq@0480 = 0004660406100010</action>
            <action>maincpu.mq@0488 = 0C00001066041E10</action>
            <action>maincpu.mq@0490 = 60080C0000206608</action>
            <action>maincpu.mq@0498 = 42074EB9000090FA</action>
            <action>maincpu.mq@04A0 = 60B8000000000000</action>
            <!--
            0450 | 4EB8 10EE      : jsr     $10ee.w      // erase cross-hatch
            0454 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            045A | 1200           : move.b  D0, D1
            045C | 1028 0034      : move.b  ($34,A0), D0 // read input ($60034)
            0460 | B200           : cmp.b   D0, D1
            0462 | 67F6           : beq     $45a
            0464 | 0C00 0001      : cmpi.b  #$1, D0
            0468 | 6602           : bne     $46c
            046A | 5310           : subq.b  #1, (A0)     // decrease code -01
            046C | 0C00 0002      : cmpi.b  #$2, D0
            0470 | 6602           : bne     $474
            0472 | 5210           : addq.b  #1, (A0)     // increase code +01
            0474 | 0C00 0008      : cmpi.b  #$8, D0
            0478 | 6604           : bne     $47e
            047A | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            047E | 0C00 0004      : cmpi.b  #$4, D0
            0482 | 6604           : bne     $488
            0484 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            0488 | 0C00 0010      : cmpi.b  #$10, D0
            048C | 6604           : bne     $492
            048E | 1E10           : move.b  (A0), D7     // play sound
            0490 | 6008           : bra     $49a
            0492 | 0C00 0020      : cmpi.b  #$20, D0
            0496 | 6608           : bne     $4a0
            0498 | 4207           : clr.b   D7           // stop sound
            049A | 4EB9 0000 90FA : jsr     $90fa.l      // send sound code
            04A0 | 60B8           : bra     $45a
            -->
        </script>
        <script state="run">
            <output format="----- teenage mutant hero turtles 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@13C4 = 0001FC9A        </action>
            <action>maincpu.mq@0450 = 0000000000000000</action>
            <action>maincpu.mq@0458 = 0000000000000000</action>
            <action>maincpu.mq@0460 = 0000000000000000</action>
            <action>maincpu.mq@0468 = 0000000000000000</action>
            <action>maincpu.mq@0470 = 0000000000000000</action>
            <action>maincpu.mq@0478 = 0000000000000000</action>
            <action>maincpu.mq@0480 = 0000000000000000</action>
            <action>maincpu.mq@0488 = 0000000000000000</action>
            <action>maincpu.mq@0490 = 0000000000000000</action>
            <action>maincpu.mq@0498 = 0000000000000000</action>
            <action>maincpu.mq@04A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1072 = 1074</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@11A6 = 600A</action> <!-- skip cross-hatch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@1072 = 1492</action>
            <action>maincpu.mw@11A6 = 66FC</action>
        </script>
    </cheat>

</mamecheat>
tmntj.xml

Code: Select all

<!-- Teenage Mutant Ninja Turtles (Japan 4 Players, version 2) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@4736C = 4EB9000004006700</action>
            <action>maincpu.mq@00400 = 0C28001300066704</action>
            <action>maincpu.mq@00408 = 74004E7508110001</action>
            <action>maincpu.mq@00410 = 4E75000000000000</action>
            <!--
            0400 | 0C28 0013 0006 : cmpi.b  #$13, ($6,A0) // check item
            0406 | 6704           : beq     $40c
            0408 | 7400           : moveq   #$0, D2
            040A | 4E75           : rts
            040C | 0811 0001      : btst    #$1, (A1)
            0410 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@4736C = 0829000100006700</action>
            <action>maincpu.mq@00400 = 0000000000000000</action>
            <action>maincpu.mq@00408 = 0000000000000000</action>
            <action>maincpu.mq@00410 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@1B706 = 4EB80420        </action>
            <action>maincpu.mq@00420 = 1412102AFFF00200</action>
            <action>maincpu.mq@00428 = 002084004E750000</action>
            <!--
            0420 | 1412      : move.b  (A2), D2
            0422 | 102A FFF0 : move.b  (-$10,A2), D0
            0426 | 0200 0020 : andi.b  #$20, D0
            042A | 8400      : or.b    D0, D2
            042C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1B706 = 142A0000        </action>
            <action>maincpu.mq@00420 = 0000000000000000</action>
            <action>maincpu.mq@00428 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@47138 = 4EB80430        </action>
            <action>maincpu.mq@00430 = B1FC000620F06E0C</action>
            <action>maincpu.mq@00438 = 0C28000300046604</action>
            <action>maincpu.mq@00440 = 70004E7553280033</action>
            <action>maincpu.mq@00448 = 4E75000000000000</action>
            <!--
            0430 | B1FC 0006 20F0 : cmpa.l  #$620f0, A0  // check player or not
            0436 | 6E0C           : bgt     $444
            0438 | 0C28 0003 0004 : cmpi.b  #$3, ($4,A0) // check in attacking
            043E | 6604           : bne     $444
            0440 | 7000           : moveq   #$0, D0
            0442 | 4E75           : rts
            0444 | 5328 0033      : subq.b  #1, ($33,A0)
            0448 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@47138 = 53280033        </action>
            <action>maincpu.mq@00430 = 0000000000000000</action>
            <action>maincpu.mq@00438 = 0000000000000000</action>
            <action>maincpu.mq@00440 = 0000000000000000</action>
            <action>maincpu.mq@00448 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill (test)">
        <comment>you can't kill some the latter bosses with 1 hit</comment>
        <script state="on">
            <action>maincpu.md@47310 = 6000000E</action>
        </script>
        <script state="off">
            <action>maincpu.md@47310 = 62000024</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@13CC = 00000450        </action>
            <action>maincpu.mq@0450 = 4EB810EE41F90006</action>
            <action>maincpu.mq@0458 = 0000120010280034</action>
            <action>maincpu.mq@0460 = B20067F60C000001</action>
            <action>maincpu.mq@0468 = 660253100C000002</action>
            <action>maincpu.mq@0470 = 660252100C000008</action>
            <action>maincpu.mq@0478 = 6604041000100C00</action>
            <action>maincpu.mq@0480 = 0004660406100010</action>
            <action>maincpu.mq@0488 = 0C00001066041E10</action>
            <action>maincpu.mq@0490 = 60080C0000206608</action>
            <action>maincpu.mq@0498 = 42074EB90000924C</action>
            <action>maincpu.mq@04A0 = 60B8000000000000</action>
            <!--
            0450 | 4EB8 10EE      : jsr     $10ee.w      // erase cross-hatch
            0454 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            045A | 1200           : move.b  D0, D1
            045C | 1028 0034      : move.b  ($34,A0), D0 // read input ($60034)
            0460 | B200           : cmp.b   D0, D1
            0462 | 67F6           : beq     $45a
            0464 | 0C00 0001      : cmpi.b  #$1, D0
            0468 | 6602           : bne     $46c
            046A | 5310           : subq.b  #1, (A0)     // decrease code -01
            046C | 0C00 0002      : cmpi.b  #$2, D0
            0470 | 6602           : bne     $474
            0472 | 5210           : addq.b  #1, (A0)     // increase code +01
            0474 | 0C00 0008      : cmpi.b  #$8, D0
            0478 | 6604           : bne     $47e
            047A | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            047E | 0C00 0004      : cmpi.b  #$4, D0
            0482 | 6604           : bne     $488
            0484 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            0488 | 0C00 0010      : cmpi.b  #$10, D0
            048C | 6604           : bne     $492
            048E | 1E10           : move.b  (A0), D7     // play sound
            0490 | 6008           : bra     $49a
            0492 | 0C00 0020      : cmpi.b  #$20, D0
            0496 | 6608           : bne     $4a0
            0498 | 4207           : clr.b   D7           // stop sound
            049A | 4EB9 0000 924C : jsr     $924c.l      // send sound code
            04A0 | 60B8           : bra     $45a
            -->
        </script>
        <script state="run">
            <output format="----- teenage mutant ninja turtles 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@13CC = 0001FDEC        </action>
            <action>maincpu.mq@0450 = 0000000000000000</action>
            <action>maincpu.mq@0458 = 0000000000000000</action>
            <action>maincpu.mq@0460 = 0000000000000000</action>
            <action>maincpu.mq@0468 = 0000000000000000</action>
            <action>maincpu.mq@0470 = 0000000000000000</action>
            <action>maincpu.mq@0478 = 0000000000000000</action>
            <action>maincpu.mq@0480 = 0000000000000000</action>
            <action>maincpu.mq@0488 = 0000000000000000</action>
            <action>maincpu.mq@0490 = 0000000000000000</action>
            <action>maincpu.mq@0498 = 0000000000000000</action>
            <action>maincpu.mq@04A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1072 = 1074</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@11A6 = 600A</action> <!-- skip cross-hatch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@1072 = 149A</action>
            <action>maincpu.mw@11A6 = 66FC</action>
        </script>
    </cheat>

</mamecheat>
tmnta.xml

Code: Select all

<!-- Teenage Mutant Ninja Turtles (Asia 4 Players, version ?) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@4735A = 4EB9000004006700</action>
            <action>maincpu.mq@00400 = 0C28001300066704</action>
            <action>maincpu.mq@00408 = 74004E7508110001</action>
            <action>maincpu.mq@00410 = 4E75000000000000</action>
            <!--
            0400 | 0C28 0013 0006 : cmpi.b  #$13, ($6,A0) // check item
            0406 | 6704           : beq     $40c
            0408 | 7400           : moveq   #$0, D2
            040A | 4E75           : rts
            040C | 0811 0001      : btst    #$1, (A1)
            0410 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@4735A = 0829000100006700</action>
            <action>maincpu.mq@00400 = 0000000000000000</action>
            <action>maincpu.mq@00408 = 0000000000000000</action>
            <action>maincpu.mq@00410 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@1B6F4 = 4EB80420        </action>
            <action>maincpu.mq@00420 = 1412102AFFF00200</action>
            <action>maincpu.mq@00428 = 002084004E750000</action>
            <!--
            0420 | 1412      : move.b  (A2), D2
            0422 | 102A FFF0 : move.b  (-$10,A2), D0
            0426 | 0200 0020 : andi.b  #$20, D0
            042A | 8400      : or.b    D0, D2
            042C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1B6F4 = 142A0000        </action>
            <action>maincpu.mq@00420 = 0000000000000000</action>
            <action>maincpu.mq@00428 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@47126 = 4EB80430        </action>
            <action>maincpu.mq@00430 = B1FC000620F06E0C</action>
            <action>maincpu.mq@00438 = 0C28000300046604</action>
            <action>maincpu.mq@00440 = 70004E7553280033</action>
            <action>maincpu.mq@00448 = 4E75000000000000</action>
            <!--
            0430 | B1FC 0006 20F0 : cmpa.l  #$620f0, A0  // check player or not
            0436 | 6E0C           : bgt     $444
            0438 | 0C28 0003 0004 : cmpi.b  #$3, ($4,A0) // check in attacking
            043E | 6604           : bne     $444
            0440 | 7000           : moveq   #$0, D0
            0442 | 4E75           : rts
            0444 | 5328 0033      : subq.b  #1, ($33,A0)
            0448 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@47126 = 53280033        </action>
            <action>maincpu.mq@00430 = 0000000000000000</action>
            <action>maincpu.mq@00438 = 0000000000000000</action>
            <action>maincpu.mq@00440 = 0000000000000000</action>
            <action>maincpu.mq@00448 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill (test)">
        <comment>you can't kill some the latter bosses with 1 hit</comment>
        <script state="on">
            <action>maincpu.md@472FE = 6000000E</action>
        </script>
        <script state="off">
            <action>maincpu.md@472FE = 62000024</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@13CC = 00000450        </action>
            <action>maincpu.mq@0450 = 4EB810EE41F90006</action>
            <action>maincpu.mq@0458 = 0000120010280034</action>
            <action>maincpu.mq@0460 = B20067F60C000001</action>
            <action>maincpu.mq@0468 = 660253100C000002</action>
            <action>maincpu.mq@0470 = 660252100C000008</action>
            <action>maincpu.mq@0478 = 6604041000100C00</action>
            <action>maincpu.mq@0480 = 0004660406100010</action>
            <action>maincpu.mq@0488 = 0C00001066041E10</action>
            <action>maincpu.mq@0490 = 60080C0000206608</action>
            <action>maincpu.mq@0498 = 42074EB90000923A</action>
            <action>maincpu.mq@04A0 = 60B8000000000000</action>
            <!--
            0450 | 4EB8 10EE      : jsr     $10ee.w      // erase cross-hatch
            0454 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            045A | 1200           : move.b  D0, D1
            045C | 1028 0034      : move.b  ($34,A0), D0 // read input ($60034)
            0460 | B200           : cmp.b   D0, D1
            0462 | 67F6           : beq     $45a
            0464 | 0C00 0001      : cmpi.b  #$1, D0
            0468 | 6602           : bne     $46c
            046A | 5310           : subq.b  #1, (A0)     // decrease code -01
            046C | 0C00 0002      : cmpi.b  #$2, D0
            0470 | 6602           : bne     $474
            0472 | 5210           : addq.b  #1, (A0)     // increase code +01
            0474 | 0C00 0008      : cmpi.b  #$8, D0
            0478 | 6604           : bne     $47e
            047A | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            047E | 0C00 0004      : cmpi.b  #$4, D0
            0482 | 6604           : bne     $488
            0484 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            0488 | 0C00 0010      : cmpi.b  #$10, D0
            048C | 6604           : bne     $492
            048E | 1E10           : move.b  (A0), D7     // play sound
            0490 | 6008           : bra     $49a
            0492 | 0C00 0020      : cmpi.b  #$20, D0
            0496 | 6608           : bne     $4a0
            0498 | 4207           : clr.b   D7           // stop sound
            049A | 4EB9 0000 923A : jsr     $923a.l      // send sound code
            04A0 | 60B8           : bra     $45a
            -->
        </script>
        <script state="run">
            <output format="----- teenage mutant ninja turtles 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@13CC = 0001FDDA        </action>
            <action>maincpu.mq@0450 = 0000000000000000</action>
            <action>maincpu.mq@0458 = 0000000000000000</action>
            <action>maincpu.mq@0460 = 0000000000000000</action>
            <action>maincpu.mq@0468 = 0000000000000000</action>
            <action>maincpu.mq@0470 = 0000000000000000</action>
            <action>maincpu.mq@0478 = 0000000000000000</action>
            <action>maincpu.mq@0480 = 0000000000000000</action>
            <action>maincpu.mq@0488 = 0000000000000000</action>
            <action>maincpu.mq@0490 = 0000000000000000</action>
            <action>maincpu.mq@0498 = 0000000000000000</action>
            <action>maincpu.mq@04A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1072 = 1074</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@11A6 = 600A</action> <!-- skip cross-hatch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@1072 = 149A</action>
            <action>maincpu.mw@11A6 = 66FC</action>
        </script>
    </cheat>

</mamecheat>
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
jman
Posts: 1315
Joined: Tue Dec 01, 2020 1:24 pm
Been thanked: 9 times

[tmnt]+ Teenage Mutant Ninja Turtles

Post by jman »

tmht2p.xml

Code: Select all

<!-- Teenage Mutant Hero Turtles (UK 2 Players, version U) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@479BA = 4EB9000004006700</action>
            <action>maincpu.mq@00400 = 0C28001300066704</action>
            <action>maincpu.mq@00408 = 74004E7508110001</action>
            <action>maincpu.mq@00410 = 4E75000000000000</action>
            <!--
            0400 | 0C28 0013 0006 : cmpi.b  #$13, ($6,A0) // check item
            0406 | 6704           : beq     $40c
            0408 | 7400           : moveq   #$0, D2
            040A | 4E75           : rts
            040C | 0811 0001      : btst    #$1, (A1)
            0410 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@479BA = 0829000100006700</action>
            <action>maincpu.mq@00400 = 0000000000000000</action>
            <action>maincpu.mq@00408 = 0000000000000000</action>
            <action>maincpu.mq@00410 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@1BD5C = 4EB80420        </action>
            <action>maincpu.mq@00420 = 1412102AFFF00200</action>
            <action>maincpu.mq@00428 = 002084004E750000</action>
            <!--
            0420 | 1412      : move.b  (A2), D2
            0422 | 102A FFF0 : move.b  (-$10,A2), D0
            0426 | 0200 0020 : andi.b  #$20, D0
            042A | 8400      : or.b    D0, D2
            042C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1BD5C = 142A0000        </action>
            <action>maincpu.mq@00420 = 0000000000000000</action>
            <action>maincpu.mq@00428 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@47786 = 4EB80430        </action>
            <action>maincpu.mq@00430 = B1FC000620F06E0C</action>
            <action>maincpu.mq@00438 = 0C28000300046604</action>
            <action>maincpu.mq@00440 = 70004E7553280033</action>
            <action>maincpu.mq@00448 = 4E75000000000000</action>
            <!--
            0430 | B1FC 0006 20F0 : cmpa.l  #$620f0, A0  // check player or not
            0436 | 6E0C           : bgt     $444
            0438 | 0C28 0003 0004 : cmpi.b  #$3, ($4,A0) // check in attacking
            043E | 6604           : bne     $444
            0440 | 7000           : moveq   #$0, D0
            0442 | 4E75           : rts
            0444 | 5328 0033      : subq.b  #1, ($33,A0)
            0448 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@47786 = 53280033        </action>
            <action>maincpu.mq@00430 = 0000000000000000</action>
            <action>maincpu.mq@00438 = 0000000000000000</action>
            <action>maincpu.mq@00440 = 0000000000000000</action>
            <action>maincpu.mq@00448 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill (test)">
        <comment>you can't kill some the latter bosses with 1 hit</comment>
        <script state="on">
            <action>maincpu.md@4795E = 6000000E</action>
        </script>
        <script state="off">
            <action>maincpu.md@4795E = 62000024</action>
        </script>
    </cheat>

    <cheat desc="selectable the same character">
        <script state="on">
            <action>maincpu.mb@6620 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@6620 = 66</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@13C4 = 00000450        </action>
            <action>maincpu.mq@0450 = 4EB810EE41F90006</action>
            <action>maincpu.mq@0458 = 0000120010280034</action>
            <action>maincpu.mq@0460 = B20067F60C000001</action>
            <action>maincpu.mq@0468 = 660253100C000002</action>
            <action>maincpu.mq@0470 = 660252100C000008</action>
            <action>maincpu.mq@0478 = 6604041000100C00</action>
            <action>maincpu.mq@0480 = 0004660406100010</action>
            <action>maincpu.mq@0488 = 0C00001066041E10</action>
            <action>maincpu.mq@0490 = 60080C0000206608</action>
            <action>maincpu.mq@0498 = 42074EB9000093F6</action>
            <action>maincpu.mq@04A0 = 60B8000000000000</action>
            <!--
            0450 | 4EB8 10EE      : jsr     $10ee.w      // erase cross-hatch
            0454 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            045A | 1200           : move.b  D0, D1
            045C | 1028 0034      : move.b  ($34,A0), D0 // read input ($60034)
            0460 | B200           : cmp.b   D0, D1
            0462 | 67F6           : beq     $45a
            0464 | 0C00 0001      : cmpi.b  #$1, D0
            0468 | 6602           : bne     $46c
            046A | 5310           : subq.b  #1, (A0)     // decrease code -01
            046C | 0C00 0002      : cmpi.b  #$2, D0
            0470 | 6602           : bne     $474
            0472 | 5210           : addq.b  #1, (A0)     // increase code +01
            0474 | 0C00 0008      : cmpi.b  #$8, D0
            0478 | 6604           : bne     $47e
            047A | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            047E | 0C00 0004      : cmpi.b  #$4, D0
            0482 | 6604           : bne     $488
            0484 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            0488 | 0C00 0010      : cmpi.b  #$10, D0
            048C | 6604           : bne     $492
            048E | 1E10           : move.b  (A0), D7     // play sound
            0490 | 6008           : bra     $49a
            0492 | 0C00 0020      : cmpi.b  #$20, D0
            0496 | 6608           : bne     $4a0
            0498 | 4207           : clr.b   D7           // stop sound
            049A | 4EB9 0000 93F6 : jsr     $93f6.l      // send sound code
            04A0 | 60B8           : bra     $45a
            -->
        </script>
        <script state="run">
            <output format="----- teenage mutant hero turtles 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@13C4 = 00020482        </action>
            <action>maincpu.mq@0450 = 0000000000000000</action>
            <action>maincpu.mq@0458 = 0000000000000000</action>
            <action>maincpu.mq@0460 = 0000000000000000</action>
            <action>maincpu.mq@0468 = 0000000000000000</action>
            <action>maincpu.mq@0470 = 0000000000000000</action>
            <action>maincpu.mq@0478 = 0000000000000000</action>
            <action>maincpu.mq@0480 = 0000000000000000</action>
            <action>maincpu.mq@0488 = 0000000000000000</action>
            <action>maincpu.mq@0490 = 0000000000000000</action>
            <action>maincpu.mq@0498 = 0000000000000000</action>
            <action>maincpu.mq@04A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1072 = 1074</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@11A6 = 600A</action> <!-- skip cross-hatch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@1072 = 1492</action>
            <action>maincpu.mw@11A6 = 66FC</action>
        </script>
    </cheat>

</mamecheat>
tmht2pa.xml

Code: Select all

<!-- Teenage Mutant Hero Turtles (UK 2 Players, version ?) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@479B2 = 4EB9000004006700</action>
            <action>maincpu.mq@00400 = 0C28001300066704</action>
            <action>maincpu.mq@00408 = 74004E7508110001</action>
            <action>maincpu.mq@00410 = 4E75000000000000</action>
            <!--
            0400 | 0C28 0013 0006 : cmpi.b  #$13, ($6,A0) // check item
            0406 | 6704           : beq     $40c
            0408 | 7400           : moveq   #$0, D2
            040A | 4E75           : rts
            040C | 0811 0001      : btst    #$1, (A1)
            0410 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@479B2 = 0829000100006700</action>
            <action>maincpu.mq@00400 = 0000000000000000</action>
            <action>maincpu.mq@00408 = 0000000000000000</action>
            <action>maincpu.mq@00410 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@1BD54 = 4EB80420        </action>
            <action>maincpu.mq@00420 = 1412102AFFF00200</action>
            <action>maincpu.mq@00428 = 002084004E750000</action>
            <!--
            0420 | 1412      : move.b  (A2), D2
            0422 | 102A FFF0 : move.b  (-$10,A2), D0
            0426 | 0200 0020 : andi.b  #$20, D0
            042A | 8400      : or.b    D0, D2
            042C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1BD54 = 142A0000        </action>
            <action>maincpu.mq@00420 = 0000000000000000</action>
            <action>maincpu.mq@00428 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@4777E = 4EB80430        </action>
            <action>maincpu.mq@00430 = B1FC000620F06E0C</action>
            <action>maincpu.mq@00438 = 0C28000300046604</action>
            <action>maincpu.mq@00440 = 70004E7553280033</action>
            <action>maincpu.mq@00448 = 4E75000000000000</action>
            <!--
            0430 | B1FC 0006 20F0 : cmpa.l  #$620f0, A0  // check player or not
            0436 | 6E0C           : bgt     $444
            0438 | 0C28 0003 0004 : cmpi.b  #$3, ($4,A0) // check in attacking
            043E | 6604           : bne     $444
            0440 | 7000           : moveq   #$0, D0
            0442 | 4E75           : rts
            0444 | 5328 0033      : subq.b  #1, ($33,A0)
            0448 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@4777E = 53280033        </action>
            <action>maincpu.mq@00430 = 0000000000000000</action>
            <action>maincpu.mq@00438 = 0000000000000000</action>
            <action>maincpu.mq@00440 = 0000000000000000</action>
            <action>maincpu.mq@00448 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill (test)">
        <comment>you can't kill some the latter bosses with 1 hit</comment>
        <script state="on">
            <action>maincpu.md@47956 = 6000000E</action>
        </script>
        <script state="off">
            <action>maincpu.md@47956 = 62000024</action>
        </script>
    </cheat>

    <cheat desc="selectable the same character">
        <script state="on">
            <action>maincpu.mb@6626 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@6626 = 66</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@13C4 = 00000450        </action>
            <action>maincpu.mq@0450 = 4EB810EE41F90006</action>
            <action>maincpu.mq@0458 = 0000120010280034</action>
            <action>maincpu.mq@0460 = B20067F60C000001</action>
            <action>maincpu.mq@0468 = 660253100C000002</action>
            <action>maincpu.mq@0470 = 660252100C000008</action>
            <action>maincpu.mq@0478 = 6604041000100C00</action>
            <action>maincpu.mq@0480 = 0004660406100010</action>
            <action>maincpu.mq@0488 = 0C00001066041E10</action>
            <action>maincpu.mq@0490 = 60080C0000206608</action>
            <action>maincpu.mq@0498 = 42074EB9000093FC</action>
            <action>maincpu.mq@04A0 = 60B8000000000000</action>
            <!--
            0450 | 4EB8 10EE      : jsr     $10ee.w      // erase cross-hatch
            0454 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            045A | 1200           : move.b  D0, D1
            045C | 1028 0034      : move.b  ($34,A0), D0 // read input ($60034)
            0460 | B200           : cmp.b   D0, D1
            0462 | 67F6           : beq     $45a
            0464 | 0C00 0001      : cmpi.b  #$1, D0
            0468 | 6602           : bne     $46c
            046A | 5310           : subq.b  #1, (A0)     // decrease code -01
            046C | 0C00 0002      : cmpi.b  #$2, D0
            0470 | 6602           : bne     $474
            0472 | 5210           : addq.b  #1, (A0)     // increase code +01
            0474 | 0C00 0008      : cmpi.b  #$8, D0
            0478 | 6604           : bne     $47e
            047A | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            047E | 0C00 0004      : cmpi.b  #$4, D0
            0482 | 6604           : bne     $488
            0484 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            0488 | 0C00 0010      : cmpi.b  #$10, D0
            048C | 6604           : bne     $492
            048E | 1E10           : move.b  (A0), D7     // play sound
            0490 | 6008           : bra     $49a
            0492 | 0C00 0020      : cmpi.b  #$20, D0
            0496 | 6608           : bne     $4a0
            0498 | 4207           : clr.b   D7           // stop sound
            049A | 4EB9 0000 93FC : jsr     $93fc.l      // send sound code
            04A0 | 60B8           : bra     $45a
            -->
        </script>
        <script state="run">
            <output format="----- teenage mutant hero turtles 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@13C4 = 0002047A        </action>
            <action>maincpu.mq@0450 = 0000000000000000</action>
            <action>maincpu.mq@0458 = 0000000000000000</action>
            <action>maincpu.mq@0460 = 0000000000000000</action>
            <action>maincpu.mq@0468 = 0000000000000000</action>
            <action>maincpu.mq@0470 = 0000000000000000</action>
            <action>maincpu.mq@0478 = 0000000000000000</action>
            <action>maincpu.mq@0480 = 0000000000000000</action>
            <action>maincpu.mq@0488 = 0000000000000000</action>
            <action>maincpu.mq@0490 = 0000000000000000</action>
            <action>maincpu.mq@0498 = 0000000000000000</action>
            <action>maincpu.mq@04A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1072 = 1074</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@11A6 = 600A</action> <!-- skip cross-hatch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@1072 = 1492</action>
            <action>maincpu.mw@11A6 = 66FC</action>
        </script>
    </cheat>

</mamecheat>
tmnt2pj.xml

Code: Select all

<!-- Teenage Mutant Ninja Turtles (Japan 2 Players, version 1) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@47AFC = 4EB9000004006700</action>
            <action>maincpu.mq@00400 = 0C28001300066704</action>
            <action>maincpu.mq@00408 = 74004E7508110001</action>
            <action>maincpu.mq@00410 = 4E75000000000000</action>
            <!--
            0400 | 0C28 0013 0006 : cmpi.b  #$13, ($6,A0) // check item
            0406 | 6704           : beq     $40c
            0408 | 7400           : moveq   #$0, D2
            040A | 4E75           : rts
            040C | 0811 0001      : btst    #$1, (A1)
            0410 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@47AFC = 0829000100006700</action>
            <action>maincpu.mq@00400 = 0000000000000000</action>
            <action>maincpu.mq@00408 = 0000000000000000</action>
            <action>maincpu.mq@00410 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@1BE7E = 4EB80420        </action>
            <action>maincpu.mq@00420 = 1412102AFFF00200</action>
            <action>maincpu.mq@00428 = 002084004E750000</action>
            <!--
            0420 | 1412      : move.b  (A2), D2
            0422 | 102A FFF0 : move.b  (-$10,A2), D0
            0426 | 0200 0020 : andi.b  #$20, D0
            042A | 8400      : or.b    D0, D2
            042C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1BE7E = 142A0000        </action>
            <action>maincpu.mq@00420 = 0000000000000000</action>
            <action>maincpu.mq@00428 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@478C8 = 4EB80430        </action>
            <action>maincpu.mq@00430 = B1FC000620F06E0C</action>
            <action>maincpu.mq@00438 = 0C28000300046604</action>
            <action>maincpu.mq@00440 = 70004E7553280033</action>
            <action>maincpu.mq@00448 = 4E75000000000000</action>
            <!--
            0430 | B1FC 0006 20F0 : cmpa.l  #$620f0, A0  // check player or not
            0436 | 6E0C           : bgt     $444
            0438 | 0C28 0003 0004 : cmpi.b  #$3, ($4,A0) // check in attacking
            043E | 6604           : bne     $444
            0440 | 7000           : moveq   #$0, D0
            0442 | 4E75           : rts
            0444 | 5328 0033      : subq.b  #1, ($33,A0)
            0448 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@478C8 = 53280033        </action>
            <action>maincpu.mq@00430 = 0000000000000000</action>
            <action>maincpu.mq@00438 = 0000000000000000</action>
            <action>maincpu.mq@00440 = 0000000000000000</action>
            <action>maincpu.mq@00448 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill (test)">
        <comment>you can't kill some the latter bosses with 1 hit</comment>
        <script state="on">
            <action>maincpu.md@47AA0 = 6000000E</action>
        </script>
        <script state="off">
            <action>maincpu.md@47AA0 = 62000024</action>
        </script>
    </cheat>

    <cheat desc="selectable the same character">
        <script state="on">
            <action>maincpu.mb@6742 = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@6742 = 66</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@13CC = 00000450        </action>
            <action>maincpu.mq@0450 = 4EB810EE41F90006</action>
            <action>maincpu.mq@0458 = 0000120010280034</action>
            <action>maincpu.mq@0460 = B20067F60C000001</action>
            <action>maincpu.mq@0468 = 660253100C000002</action>
            <action>maincpu.mq@0470 = 660252100C000008</action>
            <action>maincpu.mq@0478 = 6604041000100C00</action>
            <action>maincpu.mq@0480 = 0004660406100010</action>
            <action>maincpu.mq@0488 = 0C00001066041E10</action>
            <action>maincpu.mq@0490 = 60080C0000206608</action>
            <action>maincpu.mq@0498 = 42074EB900009518</action>
            <action>maincpu.mq@04A0 = 60B8000000000000</action>
            <!--
            0450 | 4EB8 10EE      : jsr     $10ee.w      // erase cross-hatch
            0454 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            045A | 1200           : move.b  D0, D1
            045C | 1028 0034      : move.b  ($34,A0), D0 // read input ($60034)
            0460 | B200           : cmp.b   D0, D1
            0462 | 67F6           : beq     $45a
            0464 | 0C00 0001      : cmpi.b  #$1, D0
            0468 | 6602           : bne     $46c
            046A | 5310           : subq.b  #1, (A0)     // decrease code -01
            046C | 0C00 0002      : cmpi.b  #$2, D0
            0470 | 6602           : bne     $474
            0472 | 5210           : addq.b  #1, (A0)     // increase code +01
            0474 | 0C00 0008      : cmpi.b  #$8, D0
            0478 | 6604           : bne     $47e
            047A | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            047E | 0C00 0004      : cmpi.b  #$4, D0
            0482 | 6604           : bne     $488
            0484 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            0488 | 0C00 0010      : cmpi.b  #$10, D0
            048C | 6604           : bne     $492
            048E | 1E10           : move.b  (A0), D7     // play sound
            0490 | 6008           : bra     $49a
            0492 | 0C00 0020      : cmpi.b  #$20, D0
            0496 | 6608           : bne     $4a0
            0498 | 4207           : clr.b   D7           // stop sound
            049A | 4EB9 0000 9518 : jsr     $9518.l      // send sound code
            04A0 | 60B8           : bra     $45a
            -->
        </script>
        <script state="run">
            <output format="----- teenage mutant ninja turtles 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@13CC = 000205A4        </action>
            <action>maincpu.mq@0450 = 0000000000000000</action>
            <action>maincpu.mq@0458 = 0000000000000000</action>
            <action>maincpu.mq@0460 = 0000000000000000</action>
            <action>maincpu.mq@0468 = 0000000000000000</action>
            <action>maincpu.mq@0470 = 0000000000000000</action>
            <action>maincpu.mq@0478 = 0000000000000000</action>
            <action>maincpu.mq@0480 = 0000000000000000</action>
            <action>maincpu.mq@0488 = 0000000000000000</action>
            <action>maincpu.mq@0490 = 0000000000000000</action>
            <action>maincpu.mq@0498 = 0000000000000000</action>
            <action>maincpu.mq@04A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1072 = 1074</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@11A6 = 600A</action> <!-- skip cross-hatch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@1072 = 149A</action>
            <action>maincpu.mw@11A6 = 66FC</action>
        </script>
    </cheat>

</mamecheat>
tmnt2po.xml

Code: Select all

<!-- Teenage Mutant Ninja Turtles (Oceania 2 Players, version ?) -->
<mamecheat version="1">

    <cheat desc="no hit">
        <script state="on">
            <action>maincpu.mq@47C98 = 4EB9000004006700</action>
            <action>maincpu.mq@00400 = 0C28001300066704</action>
            <action>maincpu.mq@00408 = 74004E7508110001</action>
            <action>maincpu.mq@00410 = 4E75000000000000</action>
            <!--
            0400 | 0C28 0013 0006 : cmpi.b  #$13, ($6,A0) // check item
            0406 | 6704           : beq     $40c
            0408 | 7400           : moveq   #$0, D2
            040A | 4E75           : rts
            040C | 0811 0001      : btst    #$1, (A1)
            0410 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.mq@47C98 = 0829000100006700</action>
            <action>maincpu.mq@00400 = 0000000000000000</action>
            <action>maincpu.mq@00408 = 0000000000000000</action>
            <action>maincpu.mq@00410 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="auto fire">
        <script state="on">
            <action>maincpu.md@1C03A = 4EB80420        </action>
            <action>maincpu.mq@00420 = 1412102AFFF00200</action>
            <action>maincpu.mq@00428 = 002084004E750000</action>
            <!--
            0420 | 1412      : move.b  (A2), D2
            0422 | 102A FFF0 : move.b  (-$10,A2), D0
            0426 | 0200 0020 : andi.b  #$20, D0
            042A | 8400      : or.b    D0, D2
            042C | 4E75      : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@1C03A = 142A0000        </action>
            <action>maincpu.mq@00420 = 0000000000000000</action>
            <action>maincpu.mq@00428 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="attack speed up">
        <script state="on">
            <action>maincpu.md@47A64 = 4EB80430        </action>
            <action>maincpu.mq@00430 = B1FC000620F06E0C</action>
            <action>maincpu.mq@00438 = 0C28000300046604</action>
            <action>maincpu.mq@00440 = 70004E7553280033</action>
            <action>maincpu.mq@00448 = 4E75000000000000</action>
            <!--
            0430 | B1FC 0006 20F0 : cmpa.l  #$620f0, A0  // check player or not
            0436 | 6E0C           : bgt     $444
            0438 | 0C28 0003 0004 : cmpi.b  #$3, ($4,A0) // check in attacking
            043E | 6604           : bne     $444
            0440 | 7000           : moveq   #$0, D0
            0442 | 4E75           : rts
            0444 | 5328 0033      : subq.b  #1, ($33,A0)
            0448 | 4E75           : rts
            -->
        </script>
        <script state="off">
            <action>maincpu.md@47A64 = 53280033        </action>
            <action>maincpu.mq@00430 = 0000000000000000</action>
            <action>maincpu.mq@00438 = 0000000000000000</action>
            <action>maincpu.mq@00440 = 0000000000000000</action>
            <action>maincpu.mq@00448 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="1 hit kill (test)">
        <comment>you can't kill some the latter bosses with 1 hit</comment>
        <script state="on">
            <action>maincpu.md@47C3C = 6000000E</action>
        </script>
        <script state="off">
            <action>maincpu.md@47C3C = 62000024</action>
        </script>
    </cheat>

    <cheat desc="selectable the same character">
        <script state="on">
            <action>maincpu.mb@68FE = 60</action>
        </script>
        <script state="off">
            <action>maincpu.mb@68FE = 66</action>
        </script>
    </cheat>

    <cheat desc="sound test mode">
        <comment>set &quot;skip ram/rom check&quot; then reset the game (F3)</comment>
        <script state="on">
            <action>maincpu.md@13C4 = 00000450        </action>
            <action>maincpu.mq@0450 = 4EB810EE41F90006</action>
            <action>maincpu.mq@0458 = 0000120010280034</action>
            <action>maincpu.mq@0460 = B20067F60C000001</action>
            <action>maincpu.mq@0468 = 660253100C000002</action>
            <action>maincpu.mq@0470 = 660252100C000008</action>
            <action>maincpu.mq@0478 = 6604041000100C00</action>
            <action>maincpu.mq@0480 = 0004660406100010</action>
            <action>maincpu.mq@0488 = 0C00001066041E10</action>
            <action>maincpu.mq@0490 = 60080C0000206608</action>
            <action>maincpu.mq@0498 = 42074EB9000096D4</action>
            <action>maincpu.mq@04A0 = 60B8000000000000</action>
            <!--
            0450 | 4EB8 10EE      : jsr     $10ee.w      // erase cross-hatch
            0454 | 41F9 0006 0000 : lea     $60000.l, A0 // sound code address
            045A | 1200           : move.b  D0, D1
            045C | 1028 0034      : move.b  ($34,A0), D0 // read input ($60034)
            0460 | B200           : cmp.b   D0, D1
            0462 | 67F6           : beq     $45a
            0464 | 0C00 0001      : cmpi.b  #$1, D0
            0468 | 6602           : bne     $46c
            046A | 5310           : subq.b  #1, (A0)     // decrease code -01
            046C | 0C00 0002      : cmpi.b  #$2, D0
            0470 | 6602           : bne     $474
            0472 | 5210           : addq.b  #1, (A0)     // increase code +01
            0474 | 0C00 0008      : cmpi.b  #$8, D0
            0478 | 6604           : bne     $47e
            047A | 0410 0010      : subi.b  #$10, (A0)   // decrease code -10
            047E | 0C00 0004      : cmpi.b  #$4, D0
            0482 | 6604           : bne     $488
            0484 | 0610 0010      : addi.b  #$10, (A0)   // increase code +10
            0488 | 0C00 0010      : cmpi.b  #$10, D0
            048C | 6604           : bne     $492
            048E | 1E10           : move.b  (A0), D7     // play sound
            0490 | 6008           : bra     $49a
            0492 | 0C00 0020      : cmpi.b  #$20, D0
            0496 | 6608           : bne     $4a0
            0498 | 4207           : clr.b   D7           // stop sound
            049A | 4EB9 0000 96D4 : jsr     $96d4.l      // send sound code
            04A0 | 60B8           : bra     $45a
            -->
        </script>
        <script state="run">
            <output format="----- teenage mutant ninja turtles 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@60000</argument>
            </output>
        </script>
        <script state="off">
            <action>maincpu.md@13C4 = 00020760        </action>
            <action>maincpu.mq@0450 = 0000000000000000</action>
            <action>maincpu.mq@0458 = 0000000000000000</action>
            <action>maincpu.mq@0460 = 0000000000000000</action>
            <action>maincpu.mq@0468 = 0000000000000000</action>
            <action>maincpu.mq@0470 = 0000000000000000</action>
            <action>maincpu.mq@0478 = 0000000000000000</action>
            <action>maincpu.mq@0480 = 0000000000000000</action>
            <action>maincpu.mq@0488 = 0000000000000000</action>
            <action>maincpu.mq@0490 = 0000000000000000</action>
            <action>maincpu.mq@0498 = 0000000000000000</action>
            <action>maincpu.mq@04A0 = 0000000000000000</action>
        </script>
    </cheat>

    <cheat desc="skip ram/rom check">
        <script state="on">
            <action>maincpu.mw@1072 = 1074</action> <!-- skip ram/rom check -->
            <action>maincpu.mw@11A6 = 600A</action> <!-- skip cross-hatch display -->
        </script>
        <script state="off">
            <action>maincpu.mw@1072 = 1492</action>
            <action>maincpu.mw@11A6 = 66FC</action>
        </script>
    </cheat>

</mamecheat>
  • "1 hit kill" : Added new as test code. You can't kill some the latter bosses with 1 hit.
  • "selectable the same character" : Added new. tmht2p, tmht2pa, tmnt2pj and tmnt2po only.
jman

my wip cheat database back-up (06/01/2025 ver.)
https://u3.getuploader.com/...../download/58
downloadpass : jman2020
Post Reply