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 "skip ram/rom check" 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="<< sound code %02X >>" 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 "skip ram/rom check" 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="<< sound code %02X >>" 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 "skip ram/rom check" 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="<< sound code %02X >>" 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 "skip ram/rom check" 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="<< sound code %02X >>" 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 "skip ram/rom check" 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="<< sound code %02X >>" 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 "skip ram/rom check" 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="<< sound code %02X >>" 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>