ryukendn.xml
Code: Select all
<!-- Ninja Ryukenden (Japan, set 1) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- attack -->
<action>maincpu.mw@E09C = 0E32</action>
<!-- sword attack -->
<action>maincpu.mq@0E15C = 4EB90003A0006720</action>
<action>maincpu.mq@3A000 = BBFC00061E906708</action>
<action>maincpu.mq@3A008 = BBFC00061ED06604</action>
<action>maincpu.mq@3A010 = 42404E754EB90000</action>
<action>maincpu.mq@3A018 = EDAC4A404E75FFFF</action>
<!--
3A000 | BBFC 0006 1E90 : cmpa.l #$61e90, A5 // player 1
3A006 | 6708 : beq $3a010
3A008 | BBFC 0006 1ED0 : cmpa.l #$61ed0, A5 // player 2
3A00E | 6604 : bne $3a014
3A010 | 4240 : clr.w D0
3A012 | 4E75 : rts
3A014 | 4EB9 0000 EDAC : jsr $edac.l
3A01A | 4A40 : tst.w D0
3A01C | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mw@0E09C = 0D10 </action>
<action>maincpu.mq@0E15C = 61000C4E4A406720</action>
<action>maincpu.mq@3A000 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A008 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A010 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A018 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mq@0971E = 4EB90003A020C041</action>
<action>maincpu.mq@3A020 = 08000009670808F9</action>
<action>maincpu.mq@3A028 = 000900061E340800</action>
<action>maincpu.mq@3A030 = 000D670808F9000D</action>
<action>maincpu.mq@3A038 = 00061E3482790006</action>
<action>maincpu.mq@3A040 = 1E344E75FFFFFFFF</action>
<!--
3A020 | 0800 0009 : btst #$9, D0
3A024 | 6708 : beq $3a02e
3A026 | 08F9 0009 0006 1E34 : bset #$9, $61e34.l // player 1
3A02E | 0800 000D : btst #$d, D0
3A032 | 6708 : beq $3a03c
3A034 | 08F9 000D 0006 1E34 : bset #$d, $61e34.l // player 2
3A03C | 8279 0006 1E34 : or.w $61e34.l, D1
3A042 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@0971E = 827900061E34C041</action>
<action>maincpu.mq@3A020 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A028 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A030 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A038 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A040 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0100">02 </item>
<item value="0x0200">03 </item>
<item value="0x0300">04 </item>
<item value="0x0400">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@B6C4 = param</action> <!-- right -->
<action>maincpu.mw@B6C8 = -param</action> <!-- left -->
<action>maincpu.mw@B93C = param</action> <!-- up -->
<action>maincpu.mw@B93E = -param</action> <!-- down -->
</script>
<script state="off">
<action>maincpu.mw@B6C4 = 0100</action>
<action>maincpu.mw@B6C8 = FF00</action>
<action>maincpu.mw@B93C = 0060</action>
<action>maincpu.mw@B93E = FFA0</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mq@0BFB8 = 4EB90003A0501D51</action>
<action>maincpu.mq@3A050 = C019BDFC00061E90</action>
<action>maincpu.mq@3A058 = 6708BDFC00061ED0</action>
<action>maincpu.mq@3A060 = 660A0C2E000F000A</action>
<action>maincpu.mq@3A068 = 660242001D40001A</action>
<action>maincpu.mq@3A070 = 4E75FFFFFFFFFFFF</action>
<!--
3A050 | C019 : and.b (A1)+, D0
3A052 | BDFC 0006 1E90 : cmpa.l #$61e90, A6 // player 1
3A058 | 6708 : beq $3a062
3A05A | BDFC 0006 1ED0 : cmpa.l #$61ed0, A6 // player 2
3A060 | 660A : bne $3a06c
3A062 | 0C2E 000F 000A : cmpi.b #$f, ($a,A6)
3A068 | 6602 : bne $3a06c
3A06A | 4200 : clr.b D0
3A06C | 1D40 001A : move.b D0, ($1a,A6)
3A070 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@0BFB8 = C0191D40001A1D51</action>
<action>maincpu.mq@3A050 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A058 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A060 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A068 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A070 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x00ff">01 (slow)</item>
<item value="0x0080">02 </item>
<item value="0x0040">03 </item>
<item value="0x0020">04 </item>
<item value="0x0001">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@246C = param</action>
</script>
<script state="off">
<action>maincpu.mw@246C = 0080</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@005BA = 60 </action> <!-- disable warning sound -->
<action>maincpu.mq@0063E = 4EF90003A080227C</action>
<action>maincpu.mq@3A080 = 41F90006000043F9</action>
<action>maincpu.mq@3A088 = 0007A80312001029</action>
<action>maincpu.mq@3A090 = F800B20067F60C00</action>
<action>maincpu.mq@3A098 = 00FE660253100C00</action>
<action>maincpu.mq@3A0A0 = 00FD660252100C00</action>
<action>maincpu.mq@3A0A8 = 00FB660404100010</action>
<action>maincpu.mq@3A0B0 = 0C0000F766040610</action>
<action>maincpu.mq@3A0B8 = 00100C0000EF6602</action>
<action>maincpu.mq@3A0C0 = 12900C0000DF6604</action>
<action>maincpu.mq@3A0C8 = 12BC00FF60BEFFFF</action>
<!--
3A080 | 41F9 0006 0000 : lea $60000.l, A0 // sound code address
3A086 | 43F9 0007 A803 : lea $7a803.l, A1 // sound latch address
3A08C | 1200 : move.b D0, D1
3A08E | 1029 F800 : move.b (-$800,A1), D0 // read input ($7a003)
3A092 | B200 : cmp.b D0, D1
3A094 | 67F6 : beq $3a08c
3A096 | 0C00 00FE : cmpi.b #-$2, D0
3A09A | 6602 : bne $3a09e
3A09C | 5310 : subq.b #1, (A0) // decrease code -01
3A09E | 0C00 00FD : cmpi.b #-$3, D0
3A0A2 | 6602 : bne $3a0a6
3A0A4 | 5210 : addq.b #1, (A0) // increase code +01
3A0A6 | 0C00 00FB : cmpi.b #-$5, D0
3A0AA | 6604 : bne $3a0b0
3A0AC | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3A0B0 | 0C00 00F7 : cmpi.b #-$9, D0
3A0B4 | 6604 : bne $3a0ba
3A0B6 | 0610 0010 : addi.b #$10, (A0) // increase code +10
3A0BA | 0C00 00EF : cmpi.b #-$11, D0
3A0BE | 6602 : bne $3a0c2
3A0C0 | 1290 : move.b (A0), (A1) // play sound
3A0C2 | 0C00 00DF : cmpi.b #-$21, D0
3A0C6 | 6604 : bne $3a0cc
3A0C8 | 12BC 00FF : move.b #$ff, (A1) // stop sound
3A0CC | 60BE : bra $3a08c
-->
</script>
<script state="run">
<output format="----- ninja ryukenden 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.mb@005BA = 67 </action>
<action>maincpu.mq@0063E = 207C00060384227C</action>
<action>maincpu.mq@3A080 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A088 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A090 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A098 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A0A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A0A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A0B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A0B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A0C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A0C8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@04D0 = 603C</action> <!-- ram -->
<action>maincpu.mw@0532 = 6024</action> <!-- rom -->
<action>maincpu.mw@0562 = 6000</action> <!-- other rams -->
</script>
<script state="off">
<action>maincpu.mw@04D0 = 207C</action>
<action>maincpu.mw@0532 = 207C</action>
<action>maincpu.mw@0562 = 6700</action>
</script>
</cheat>
</mamecheat>
ryukendna.xml
Code: Select all
<!-- Ninja Ryukenden (Japan, set 2) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- attack -->
<action>maincpu.mw@E09C = 0E32</action>
<!-- sword attack -->
<action>maincpu.mq@0E15C = 4EB90003A0006720</action>
<action>maincpu.mq@3A000 = BBFC00061E906708</action>
<action>maincpu.mq@3A008 = BBFC00061ED06604</action>
<action>maincpu.mq@3A010 = 42404E754EB90000</action>
<action>maincpu.mq@3A018 = EDAC4A404E75FFFF</action>
<!--
3A000 | BBFC 0006 1E90 : cmpa.l #$61e90, A5 // player 1
3A006 | 6708 : beq $3a010
3A008 | BBFC 0006 1ED0 : cmpa.l #$61ed0, A5 // player 2
3A00E | 6604 : bne $3a014
3A010 | 4240 : clr.w D0
3A012 | 4E75 : rts
3A014 | 4EB9 0000 EDAC : jsr $edac.l
3A01A | 4A40 : tst.w D0
3A01C | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mw@0E09C = 0D10 </action>
<action>maincpu.mq@0E15C = 61000C4E4A406720</action>
<action>maincpu.mq@3A000 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A008 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A010 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A018 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mq@0971E = 4EB90003A020C041</action>
<action>maincpu.mq@3A020 = 08000009670808F9</action>
<action>maincpu.mq@3A028 = 000900061E340800</action>
<action>maincpu.mq@3A030 = 000D670808F9000D</action>
<action>maincpu.mq@3A038 = 00061E3482790006</action>
<action>maincpu.mq@3A040 = 1E344E75FFFFFFFF</action>
<!--
3A020 | 0800 0009 : btst #$9, D0
3A024 | 6708 : beq $3a02e
3A026 | 08F9 0009 0006 1E34 : bset #$9, $61e34.l // player 1
3A02E | 0800 000D : btst #$d, D0
3A032 | 6708 : beq $3a03c
3A034 | 08F9 000D 0006 1E34 : bset #$d, $61e34.l // player 2
3A03C | 8279 0006 1E34 : or.w $61e34.l, D1
3A042 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@0971E = 827900061E34C041</action>
<action>maincpu.mq@3A020 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A028 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A030 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A038 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A040 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0100">02 </item>
<item value="0x0200">03 </item>
<item value="0x0300">04 </item>
<item value="0x0400">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@B6C4 = param</action> <!-- right -->
<action>maincpu.mw@B6C8 = -param</action> <!-- left -->
<action>maincpu.mw@B93C = param</action> <!-- up -->
<action>maincpu.mw@B93E = -param</action> <!-- down -->
</script>
<script state="off">
<action>maincpu.mw@B6C4 = 0100</action>
<action>maincpu.mw@B6C8 = FF00</action>
<action>maincpu.mw@B93C = 0060</action>
<action>maincpu.mw@B93E = FFA0</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mq@0BFB8 = 4EB90003A0501D51</action>
<action>maincpu.mq@3A050 = C019BDFC00061E90</action>
<action>maincpu.mq@3A058 = 6708BDFC00061ED0</action>
<action>maincpu.mq@3A060 = 660A0C2E000F000A</action>
<action>maincpu.mq@3A068 = 660242001D40001A</action>
<action>maincpu.mq@3A070 = 4E75FFFFFFFFFFFF</action>
<!--
3A050 | C019 : and.b (A1)+, D0
3A052 | BDFC 0006 1E90 : cmpa.l #$61e90, A6 // player 1
3A058 | 6708 : beq $3a062
3A05A | BDFC 0006 1ED0 : cmpa.l #$61ed0, A6 // player 2
3A060 | 660A : bne $3a06c
3A062 | 0C2E 000F 000A : cmpi.b #$f, ($a,A6)
3A068 | 6602 : bne $3a06c
3A06A | 4200 : clr.b D0
3A06C | 1D40 001A : move.b D0, ($1a,A6)
3A070 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@0BFB8 = C0191D40001A1D51</action>
<action>maincpu.mq@3A050 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A058 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A060 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A068 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A070 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x00ff">01 (slow)</item>
<item value="0x0080">02 </item>
<item value="0x0040">03 </item>
<item value="0x0020">04 </item>
<item value="0x0001">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@246C = param</action>
</script>
<script state="off">
<action>maincpu.mw@246C = 0080</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@005BA = 60 </action> <!-- disable warning sound -->
<action>maincpu.mq@0063E = 4EF90003A080227C</action>
<action>maincpu.mq@3A080 = 41F90006000043F9</action>
<action>maincpu.mq@3A088 = 0007A80312001029</action>
<action>maincpu.mq@3A090 = F800B20067F60C00</action>
<action>maincpu.mq@3A098 = 00FE660253100C00</action>
<action>maincpu.mq@3A0A0 = 00FD660252100C00</action>
<action>maincpu.mq@3A0A8 = 00FB660404100010</action>
<action>maincpu.mq@3A0B0 = 0C0000F766040610</action>
<action>maincpu.mq@3A0B8 = 00100C0000EF6602</action>
<action>maincpu.mq@3A0C0 = 12900C0000DF6604</action>
<action>maincpu.mq@3A0C8 = 12BC00FF60BEFFFF</action>
<!--
3A080 | 41F9 0006 0000 : lea $60000.l, A0 // sound code address
3A086 | 43F9 0007 A803 : lea $7a803.l, A1 // sound latch address
3A08C | 1200 : move.b D0, D1
3A08E | 1029 F800 : move.b (-$800,A1), D0 // read input ($7a003)
3A092 | B200 : cmp.b D0, D1
3A094 | 67F6 : beq $3a08c
3A096 | 0C00 00FE : cmpi.b #-$2, D0
3A09A | 6602 : bne $3a09e
3A09C | 5310 : subq.b #1, (A0) // decrease code -01
3A09E | 0C00 00FD : cmpi.b #-$3, D0
3A0A2 | 6602 : bne $3a0a6
3A0A4 | 5210 : addq.b #1, (A0) // increase code +01
3A0A6 | 0C00 00FB : cmpi.b #-$5, D0
3A0AA | 6604 : bne $3a0b0
3A0AC | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3A0B0 | 0C00 00F7 : cmpi.b #-$9, D0
3A0B4 | 6604 : bne $3a0ba
3A0B6 | 0610 0010 : addi.b #$10, (A0) // increase code +10
3A0BA | 0C00 00EF : cmpi.b #-$11, D0
3A0BE | 6602 : bne $3a0c2
3A0C0 | 1290 : move.b (A0), (A1) // play sound
3A0C2 | 0C00 00DF : cmpi.b #-$21, D0
3A0C6 | 6604 : bne $3a0cc
3A0C8 | 12BC 00FF : move.b #$ff, (A1) // stop sound
3A0CC | 60BE : bra $3a08c
-->
</script>
<script state="run">
<output format="----- ninja ryukenden 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.mb@005BA = 67 </action>
<action>maincpu.mq@0063E = 207C00060384227C</action>
<action>maincpu.mq@3A080 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A088 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A090 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A098 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A0A0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A0A8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A0B0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A0B8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A0C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@3A0C8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@04D0 = 603C</action> <!-- ram -->
<action>maincpu.mw@0532 = 6024</action> <!-- rom -->
<action>maincpu.mw@0562 = 6000</action> <!-- other rams -->
</script>
<script state="off">
<action>maincpu.mw@04D0 = 207C</action>
<action>maincpu.mw@0532 = 207C</action>
<action>maincpu.mw@0562 = 6700</action>
</script>
</cheat>
</mamecheat>
mastninj.xml
Code: Select all
<!-- Master Ninja (bootleg of Shadow Warriors / Ninja Gaiden) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- attack -->
<action>maincpu.mw@E0D8 = 0E32</action>
<!-- sword attack -->
<action>maincpu.mq@0E198 = 4EB90003A0006720</action>
<action>maincpu.mq@3A000 = BBFC00061E906708</action>
<action>maincpu.mq@3A008 = BBFC00061ED06604</action>
<action>maincpu.mq@3A010 = 42404E754EB90000</action>
<action>maincpu.mq@3A018 = EDE84A404E75FFFF</action>
<!--
3A000 | BBFC 0006 1E90 : cmpa.l #$61e90, A5 // player 1
3A006 | 6708 : beq $3a010
3A008 | BBFC 0006 1ED0 : cmpa.l #$61ed0, A5 // player 2
3A00E | 6604 : bne $3a014
3A010 | 4240 : clr.w D0
3A012 | 4E75 : rts
3A014 | 4EB9 0000 EDE8 : jsr $ede8.l
3A01A | 4A40 : tst.w D0
3A01C | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mw@0E0D8 = 0D10 </action>
<action>maincpu.mq@0E198 = 61000C4E4A406720</action>
<action>maincpu.mq@3A000 = 05FF05FF05FF05FF</action>
<action>maincpu.mq@3A008 = 05FF05FF05FF05FF</action>
<action>maincpu.mq@3A010 = 05FF05FF05FF05FF</action>
<action>maincpu.mq@3A018 = 05FF05FF05FF05FF</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mq@0975A = 4EB90003A020C041</action>
<action>maincpu.mq@3A020 = 08000009670808F9</action>
<action>maincpu.mq@3A028 = 000900061E340800</action>
<action>maincpu.mq@3A030 = 000D670808F9000D</action>
<action>maincpu.mq@3A038 = 00061E3482790006</action>
<action>maincpu.mq@3A040 = 1E344E75FFFFFFFF</action>
<!--
3A020 | 0800 0009 : btst #$9, D0
3A024 | 6708 : beq $3a02e
3A026 | 08F9 0009 0006 1E34 : bset #$9, $61e34.l // player 1
3A02E | 0800 000D : btst #$d, D0
3A032 | 6708 : beq $3a03c
3A034 | 08F9 000D 0006 1E34 : bset #$d, $61e34.l // player 2
3A03C | 8279 0006 1E34 : or.w $61e34.l, D1
3A042 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@0975A = 827900061E34C041</action>
<action>maincpu.mq@3A020 = 05FF05FF05FF05FF</action>
<action>maincpu.mq@3A028 = 06FF06FF06FF06FF</action>
<action>maincpu.mq@3A030 = 06FF06FF06FF06FF</action>
<action>maincpu.mq@3A038 = 06FF06FF06FF06FF</action>
<action>maincpu.mq@3A040 = 06FF06FF06FF06FF</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0100">02 </item>
<item value="0x0200">03 </item>
<item value="0x0300">04 </item>
<item value="0x0400">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@B700 = param</action> <!-- right -->
<action>maincpu.mw@B704 = -param</action> <!-- left -->
<action>maincpu.mw@B978 = param</action> <!-- up -->
<action>maincpu.mw@B97A = -param</action> <!-- down -->
</script>
<script state="off">
<action>maincpu.mw@B700 = 0100</action>
<action>maincpu.mw@B704 = FF00</action>
<action>maincpu.mw@B978 = 0060</action>
<action>maincpu.mw@B97A = FFA0</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mq@0BFF4 = 4EB90003A0501D51</action>
<action>maincpu.mq@3A050 = C019BDFC00061E90</action>
<action>maincpu.mq@3A058 = 6708BDFC00061ED0</action>
<action>maincpu.mq@3A060 = 660A0C2E000F000A</action>
<action>maincpu.mq@3A068 = 660242001D40001A</action>
<action>maincpu.mq@3A070 = 4E75FFFFFFFFFFFF</action>
<!--
3A050 | C019 : and.b (A1)+, D0
3A052 | BDFC 0006 1E90 : cmpa.l #$61e90, A6 // player 1
3A058 | 6708 : beq $3a062
3A05A | BDFC 0006 1ED0 : cmpa.l #$61ed0, A6 // player 2
3A060 | 660A : bne $3a06c
3A062 | 0C2E 000F 000A : cmpi.b #$f, ($a,A6)
3A068 | 6602 : bne $3a06c
3A06A | 4200 : clr.b D0
3A06C | 1D40 001A : move.b D0, ($1a,A6)
3A070 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@0BFF4 = C0191D40001A1D51</action>
<action>maincpu.mq@3A050 = 06FF06FF06FF06FF</action>
<action>maincpu.mq@3A058 = 07FF07FF07FF07FF</action>
<action>maincpu.mq@3A060 = 07FF07FF07FF07FF</action>
<action>maincpu.mq@3A068 = 07FF07FF07FF07FF</action>
<action>maincpu.mq@3A070 = 07FF07FF07FF07FF</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x00ff">01 (slow)</item>
<item value="0x0080">02 </item>
<item value="0x0040">03 </item>
<item value="0x0020">04 </item>
<item value="0x0001">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@24A8 = param</action>
</script>
<script state="off">
<action>maincpu.mw@24A8 = 0080</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@005BA = 60 </action> <!-- disable warning sound -->
<action>maincpu.mq@0063E = 4EF90003A080227C</action>
<action>maincpu.mq@3A080 = 41F90006000043F9</action>
<action>maincpu.mq@3A088 = 0007A00E12001029</action>
<action>maincpu.mq@3A090 = FFF5B20067F60C00</action>
<action>maincpu.mq@3A098 = 00FE660253100C00</action>
<action>maincpu.mq@3A0A0 = 00FD660252100C00</action>
<action>maincpu.mq@3A0A8 = 00FB660404100010</action>
<action>maincpu.mq@3A0B0 = 0C0000F766040610</action>
<action>maincpu.mq@3A0B8 = 00100C0000EF6602</action>
<action>maincpu.mq@3A0C0 = 12900C0000DF6604</action>
<action>maincpu.mq@3A0C8 = 12BC00FF60BEFFFF</action>
<!--
3A080 | 41F9 0006 0000 : lea $60000.l, A0 // sound code address
3A086 | 43F9 0007 A00E : lea $7a00e.l, A1 // sound latch address
3A08C | 1200 : move.b D0, D1
3A08E | 1029 FFF5 : move.b (-$b,A1), D0 // read input ($7a003)
3A092 | B200 : cmp.b D0, D1
3A094 | 67F6 : beq $3a08c
3A096 | 0C00 00FE : cmpi.b #-$2, D0
3A09A | 6602 : bne $3a09e
3A09C | 5310 : subq.b #1, (A0) // decrease code -01
3A09E | 0C00 00FD : cmpi.b #-$3, D0
3A0A2 | 6602 : bne $3a0a6
3A0A4 | 5210 : addq.b #1, (A0) // increase code +01
3A0A6 | 0C00 00FB : cmpi.b #-$5, D0
3A0AA | 6604 : bne $3a0b0
3A0AC | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3A0B0 | 0C00 00F7 : cmpi.b #-$9, D0
3A0B4 | 6604 : bne $3a0ba
3A0B6 | 0610 0010 : addi.b #$10, (A0) // increase code +10
3A0BA | 0C00 00EF : cmpi.b #-$11, D0
3A0BE | 6602 : bne $3a0c2
3A0C0 | 1290 : move.b (A0), (A1) // play sound
3A0C2 | 0C00 00DF : cmpi.b #-$21, D0
3A0C6 | 6604 : bne $3a0cc
3A0C8 | 12BC 00FF : move.b #$ff, (A1) // stop sound
3A0CC | 60BE : bra $3a08c
-->
</script>
<script state="run">
<output format="----- master ninja 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.mb@005BA = 67 </action>
<action>maincpu.mq@0063E = 207C00060384227C</action>
<action>maincpu.mq@3A080 = 07FF07FF07FF07FF</action>
<action>maincpu.mq@3A088 = 07FF07FF07FF07FF</action>
<action>maincpu.mq@3A090 = 07FF07FF07FF07FF</action>
<action>maincpu.mq@3A098 = 07FF07FF07FF07FF</action>
<action>maincpu.mq@3A0A0 = 07FF08FF08FF08FF</action>
<action>maincpu.mq@3A0A8 = 08FF08FF08FF08FF</action>
<action>maincpu.mq@3A0B0 = 08FF08FF08FF08FF</action>
<action>maincpu.mq@3A0B8 = 08FF08FF08FF08FF</action>
<action>maincpu.mq@3A0C0 = 08FF08FF08FF08FF</action>
<action>maincpu.mq@3A0C8 = 08FF08FF08FF08FF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mw@04D0 = 603C</action> <!-- ram -->
<action>maincpu.mw@0532 = 6024</action> <!-- rom -->
<action>maincpu.mw@0562 = 6000</action> <!-- other rams -->
</script>
<script state="off">
<action>maincpu.mw@04D0 = 207C</action>
<action>maincpu.mw@0532 = 207C</action>
<action>maincpu.mw@0562 = 6700</action>
</script>
</cheat>
</mamecheat>
- "player speed" : Added new.
- "sound test mode" : Rewritten routine.