Page 1 of 1

[tmnt2pj] Teenage Mutant Ninja Turtles

Posted: Sat Dec 05, 2020 9:41 am
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.

[tmnt2pj] Teenage Mutant Ninja Turtles (update)

Posted: Fri Oct 21, 2022 2:24 pm
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".

[tmnt]+ Teenage Mutant Ninja Turtles

Posted: Sat Jul 13, 2024 12:20 am
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>

[tmnt]+ Teenage Mutant Ninja Turtles

Posted: Sat Jul 13, 2024 12:22 am
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>

[tmnt]+ Teenage Mutant Ninja Turtles

Posted: Sat Jul 13, 2024 12:23 am
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.