karatblz.xml
Code: Select all
<!-- Karate Blazers (World, set 1) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@4DF4 = 60</action>
<action>maincpu.mb@4F1C = 60</action>
</script>
<script state="off">
<action>maincpu.mb@4DF4 = 6C</action>
<action>maincpu.mb@4F1C = 6C</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@8979 = 58</action>
<action>maincpu.mb@8A55 = 58</action>
</script>
<script state="off">
<action>maincpu.mb@8979 = 59</action>
<action>maincpu.mb@8A55 = 59</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mq@04348 = 4EB900028BA03540</action>
<action>maincpu.mq@28BA0 = 0C6A000100366608</action>
<action>maincpu.mq@28BA8 = 70001030B8004E75</action>
<action>maincpu.mq@28BB0 = 70014E7500000000</action>
<!--
28BA0 | 0C6A 0001 0036 : cmpi.w #$1, ($36,A2)
28BA6 | 6608 : bne $28bb0
28BA8 | 7000 : moveq #$0, D0
28BAA | 1030 B800 : move.b (A0,A3.l), D0
28BAE | 4E75 : rts
28BB0 | 7001 : moveq #$1, D0
28BB2 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@04348 = 70001030B8003540</action>
<action>maincpu.mq@28BA0 = 0000000000000000</action>
<action>maincpu.mq@28BA8 = 0000000000000000</action>
<action>maincpu.mq@28BB0 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x0c407fff">01 (slow)</item>
<item value="0x0c400800">02 </item>
<item value="0x0c400200">03 </item>
<item value="0x0c400080">04 </item>
<item value="0x0c400001">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.md@283E = param</action>
</script>
<script state="off">
<action>maincpu.md@283E = B06A002C</action>
</script>
</cheat>
<cheat desc="auto damage">
<script state="on">
<action>maincpu.md@0961C = 00028C68 </action>
<action>maincpu.md@09E92 = 00028C68 </action>
<action>maincpu.md@0A468 = 00028C68 </action>
<action>maincpu.md@0ABE8 = 00028C68 </action>
<action>maincpu.md@0B372 = 00028C68 </action>
<action>maincpu.md@0BB62 = 00028C68 </action>
<action>maincpu.md@0C33C = 00028C70 </action>
<action>maincpu.md@0C6F4 = 00028C68 </action>
<action>maincpu.md@0CDAA = 00028C68 </action>
<action>maincpu.md@0D4BC = 00028C68 </action>
<action>maincpu.md@0DBD4 = 00028C70 </action>
<action>maincpu.md@0E1EE = 00028C70 </action>
<action>maincpu.mq@28C10 = 48E73C004A40664A</action>
<action>maincpu.mq@28C18 = 2439000C5970362A</action>
<action>maincpu.mq@28C20 = 000CB443653C4842</action>
<action>maincpu.mq@28C28 = B443643638024842</action>
<action>maincpu.mq@28C30 = 3A029A44E24D9445</action>
<action>maincpu.mq@28C38 = B4436408006A0800</action>
<action>maincpu.mq@28C40 = 00146006026AF7FF</action>
<action>maincpu.mq@28C48 = 0014566A0038516A</action>
<action>maincpu.mq@28C50 = 00306E0C426A0030</action>
<action>maincpu.mq@28C58 = 257C000F8080004E</action>
<action>maincpu.mq@28C60 = 70034CDF003C4E75</action>
<action>maincpu.mq@28C68 = 4EB8557E61A24E75</action>
<action>maincpu.mq@28C70 = 4EB85AFA619A4E75</action>
<!--
28C10 | 48E7 3C00 : movem.l D2-D5, -(A7)
28C14 | 4A40 : tst.w D0
28C16 | 664A : bne $28c62
28C18 | 2439 000C 5970 : move.l $c5970.l, D2
28C1E | 362A 000C : move.w ($c,A2), D3 // check x position
28C22 | B443 : cmp.w D3, D2
28C24 | 653C : bcs $28c62
28C26 | 4842 : swap D2
28C28 | B443 : cmp.w D3, D2
28C2A | 6436 : bcc $28c62
28C2C | 3802 : move.w D2, D4
28C2E | 4842 : swap D2
28C30 | 3A02 : move.w D2, D5
28C32 | 9A44 : sub.w D4, D5
28C34 | E24D : lsr.w #1, D5
28C36 | 9445 : sub.w D5, D2
28C38 | B443 : cmp.w D3, D2
28C3A | 6408 : bcc $28c44
28C3C | 006A 0800 0014 : ori.w #$800, ($14,A2)
28C42 | 6006 : bra $28c4a
28C44 | 026A F7FF 0014 : andi.w #$f7ff, ($14,A2)
28C4A | 566A 0038 : addq.w #3, ($38,A2)
28C4E | 516A 0030 : subq.w #8, ($30,A2)
28C52 | 6E0C : bgt $28c60
28C54 | 426A 0030 : clr.w ($30,A2)
28C58 | 257C 000F 8080 004E : move.l #$f8080, ($4e,A2)
28C60 | 7003 : moveq #$3, D0
28C62 | 4CDF 003C : movem.l (A7)+, D2-D5
28C66 | 4E75 : rts
28C68 | 4EB8 557E : jsr $557e.w
28C6C | 61A2 : bsr $28c10
28C6E | 4E75 : rts
28C70 | 4EB8 5AFA : jsr $5afa.w
28C74 | 619A : bsr $28c10
28C76 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.md@0961C = 0000557E </action>
<action>maincpu.md@09E92 = 0000557E </action>
<action>maincpu.md@0A468 = 0000557E </action>
<action>maincpu.md@0ABE8 = 0000557E </action>
<action>maincpu.md@0B372 = 0000557E </action>
<action>maincpu.md@0BB62 = 0000557E </action>
<action>maincpu.md@0C33C = 00005AFA </action>
<action>maincpu.md@0C6F4 = 0000557E </action>
<action>maincpu.md@0CDAA = 0000557E </action>
<action>maincpu.md@0D4BC = 0000557E </action>
<action>maincpu.md@0DBD4 = 00005AFA </action>
<action>maincpu.md@0E1EE = 00005AFA </action>
<action>maincpu.mq@28C10 = 0000000000000000</action>
<action>maincpu.mq@28C18 = 0000000000000000</action>
<action>maincpu.mq@28C20 = 0000000000000000</action>
<action>maincpu.mq@28C28 = 0000000000000000</action>
<action>maincpu.mq@28C30 = 0000000000000000</action>
<action>maincpu.mq@28C38 = 0000000000000000</action>
<action>maincpu.mq@28C40 = 0000000000000000</action>
<action>maincpu.mq@28C48 = 0000000000000000</action>
<action>maincpu.mq@28C50 = 0000000000000000</action>
<action>maincpu.mq@28C58 = 0000000000000000</action>
<action>maincpu.mq@28C60 = 0000000000000000</action>
<action>maincpu.mq@28C68 = 0000000000000000</action>
<action>maincpu.mq@28C70 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="unlock special test mode">
<comment>reset the game (F3) to enter special test mode</comment>
<script state="on">
<action>maincpu.mb@17DCF = 26</action>
</script>
<script state="off">
<action>maincpu.mb@17DCF = 44</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@17E1E = 00028BC0 </action>
<action>maincpu.mq@28BC0 = 41F9000C000043F9</action>
<action>maincpu.mq@28BC8 = 000FF00712001029</action>
<action>maincpu.mq@28BD0 = FFFAB20067F60C00</action>
<action>maincpu.mq@28BD8 = 00FB660253100C00</action>
<action>maincpu.mq@28BE0 = 00F7660252100C00</action>
<action>maincpu.mq@28BE8 = 00FD660404100010</action>
<action>maincpu.mq@28BF0 = 0C0000FE66040610</action>
<action>maincpu.mq@28BF8 = 00100C0000EF6602</action>
<action>maincpu.mq@28C00 = 12900C0000DF6604</action>
<action>maincpu.mq@28C08 = 12BC000160BE0000</action>
<!--
28BC0 | 41F9 000C 0000 : lea $c0000.l, A0 // sound code address
28BC6 | 43F9 000F F007 : lea $ff007.l, A1 // sound latch address
28BCC | 1200 : move.b D0, D1
28BCE | 1029 FFFA : move.b (-$6,A1), D0 // read input ($ff001)
28BD2 | B200 : cmp.b D0, D1
28BD4 | 67F6 : beq $28bcc
28BD6 | 0C00 00FB : cmpi.b #-$5, D0
28BDA | 6602 : bne $28bde
28BDC | 5310 : subq.b #1, (A0) // decrease code -01
28BDE | 0C00 00F7 : cmpi.b #-$9, D0
28BE2 | 6602 : bne $28be6
28BE4 | 5210 : addq.b #1, (A0) // increase code +01
28BE6 | 0C00 00FD : cmpi.b #-$3, D0
28BEA | 6604 : bne $28bf0
28BEC | 0410 0010 : subi.b #$10, (A0) // decrease code -10
28BF0 | 0C00 00FE : cmpi.b #-$2, D0
28BF4 | 6604 : bne $28bfa
28BF6 | 0610 0010 : addi.b #$10, (A0) // increase code +10
28BFA | 0C00 00EF : cmpi.b #-$11, D0
28BFE | 6602 : bne $28c02
28C00 | 1290 : move.b (A0), (A1) // play sound
28C02 | 0C00 00DF : cmpi.b #-$21, D0
28C06 | 6604 : bne $28c0c
28C08 | 12BC 0001 : move.b #$1, (A1) // stop sound
28C0C | 60BE : bra $28bcc
-->
</script>
<script state="run">
<output format="----- 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@C0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@17E1E = 00007BB6 </action>
<action>maincpu.mq@28BC0 = 0000000000000000</action>
<action>maincpu.mq@28BC8 = 0000000000000000</action>
<action>maincpu.mq@28BD0 = 0000000000000000</action>
<action>maincpu.mq@28BD8 = 0000000000000000</action>
<action>maincpu.mq@28BE0 = 0000000000000000</action>
<action>maincpu.mq@28BE8 = 0000000000000000</action>
<action>maincpu.mq@28BF0 = 0000000000000000</action>
<action>maincpu.mq@28BF8 = 0000000000000000</action>
<action>maincpu.mq@28C00 = 0000000000000000</action>
<action>maincpu.mq@28C08 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
karatblza.xml
Code: Select all
<!-- Karate Blazers (World, set 2) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@5E70 = 60</action>
<action>maincpu.mb@5EDC = 60</action>
</script>
<script state="off">
<action>maincpu.mb@5E70 = 6C</action>
<action>maincpu.mb@5EDC = 6C</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@56D1 = 58</action>
<action>maincpu.mb@57A7 = 58</action>
</script>
<script state="off">
<action>maincpu.mb@56D1 = 59</action>
<action>maincpu.mb@57A7 = 59</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mq@04448 = 4EB900028B303540</action>
<action>maincpu.mq@28B30 = 0C6A000100366608</action>
<action>maincpu.mq@28B38 = 7000103018004E75</action>
<action>maincpu.mq@28B40 = 70014E7500000000</action>
<!--
28B30 | 0C6A 0001 0036 : cmpi.w #$1, ($36,A2)
28B36 | 6608 : bne $28b40
28B38 | 7000 : moveq #$0, D0
28B3A | 1030 1800 : move.b (A0,D1.l), D0
28B3E | 4E75 : rts
28B40 | 7001 : moveq #$1, D0
28B42 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@04448 = 7000103018003540</action>
<action>maincpu.mq@28B30 = 0000000000000000</action>
<action>maincpu.mq@28B38 = 0000000000000000</action>
<action>maincpu.mq@28B40 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x0c407fff">01 (slow)</item>
<item value="0x0c400800">02 </item>
<item value="0x0c400200">03 </item>
<item value="0x0c400080">04 </item>
<item value="0x0c400001">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.md@2754 = param</action>
</script>
<script state="off">
<action>maincpu.md@2754 = B06A002C</action>
</script>
</cheat>
<cheat desc="auto damage">
<script state="on">
<action>maincpu.md@0839E = 00028BF8 </action>
<action>maincpu.md@0894E = 00028BF8 </action>
<action>maincpu.md@0909C = 00028BF8 </action>
<action>maincpu.md@097FC = 00028BF8 </action>
<action>maincpu.md@09FCC = 00028C00 </action>
<action>maincpu.md@0A380 = 00028BF8 </action>
<action>maincpu.md@0A9FC = 00028BF8 </action>
<action>maincpu.md@0B0C8 = 00028BF8 </action>
<action>maincpu.md@0B7A4 = 00028C00 </action>
<action>maincpu.md@0BD7E = 00028C00 </action>
<action>maincpu.md@0CA42 = 00028BF8 </action>
<action>maincpu.md@0CBAA = 00028BF8 </action>
<action>maincpu.mq@28BA0 = 48E73C004A40664A</action>
<action>maincpu.mq@28BA8 = 2439000C5970362A</action>
<action>maincpu.mq@28BB0 = 000CB443653C4842</action>
<action>maincpu.mq@28BB8 = B443643638024842</action>
<action>maincpu.mq@28BC0 = 3A029A44E24D9445</action>
<action>maincpu.mq@28BC8 = B4436408006A0800</action>
<action>maincpu.mq@28BD0 = 00146006026AF7FF</action>
<action>maincpu.mq@28BD8 = 0014566A0038516A</action>
<action>maincpu.mq@28BE0 = 00306E0C426A0030</action>
<action>maincpu.mq@28BE8 = 257C000F8080004E</action>
<action>maincpu.mq@28BF0 = 70034CDF003C4E75</action>
<action>maincpu.mq@28BF8 = 4EB862D061A24E75</action>
<action>maincpu.mq@28C00 = 4EB86714619A4E75</action>
<!--
28BA0 | 48E7 3C00 : movem.l D2-D5, -(A7)
28BA4 | 4A40 : tst.w D0
28BA6 | 664A : bne $28bf2
28BA8 | 2439 000C 5970 : move.l $c5970.l, D2
28BAE | 362A 000C : move.w ($c,A2), D3 // check x position
28BB2 | B443 : cmp.w D3, D2
28BB4 | 653C : bcs $28bf2
28BB6 | 4842 : swap D2
28BB8 | B443 : cmp.w D3, D2
28BBA | 6436 : bcc $28bf2
28BBC | 3802 : move.w D2, D4
28BBE | 4842 : swap D2
28BC0 | 3A02 : move.w D2, D5
28BC2 | 9A44 : sub.w D4, D5
28BC4 | E24D : lsr.w #1, D5
28BC6 | 9445 : sub.w D5, D2
28BC8 | B443 : cmp.w D3, D2
28BCA | 6408 : bcc $28bd4
28BCC | 006A 0800 0014 : ori.w #$800, ($14,A2)
28BD2 | 6006 : bra $28bda
28BD4 | 026A F7FF 0014 : andi.w #$f7ff, ($14,A2)
28BDA | 566A 0038 : addq.w #3, ($38,A2)
28BDE | 516A 0030 : subq.w #8, ($30,A2)
28BE2 | 6E0C : bgt $28bf0
28BE4 | 426A 0030 : clr.w ($30,A2)
28BE8 | 257C 000F 8080 004E : move.l #$f8080, ($4e,A2)
28BF0 | 7003 : moveq #$3, D0
28BF2 | 4CDF 003C : movem.l (A7)+, D2-D5
28BF6 | 4E75 : rts
28BF8 | 4EB8 62D0 : jsr $62d0.w
28BFC | 61A2 : bsr $28ba0
28BFE | 4E75 : rts
28C00 | 4EB8 6714 : jsr $6714.w
28C04 | 619A : bsr $28ba0
28C06 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.md@0839E = 000062D0 </action>
<action>maincpu.md@0894E = 000062D0 </action>
<action>maincpu.md@0909C = 000062D0 </action>
<action>maincpu.md@097FC = 000062D0 </action>
<action>maincpu.md@09FCC = 00006714 </action>
<action>maincpu.md@0A380 = 000062D0 </action>
<action>maincpu.md@0A9FC = 000062D0 </action>
<action>maincpu.md@0B0C8 = 000062D0 </action>
<action>maincpu.md@0B7A4 = 00006714 </action>
<action>maincpu.md@0BD7E = 00006714 </action>
<action>maincpu.md@0CA42 = 000062D0 </action>
<action>maincpu.md@0CBAA = 000062D0 </action>
<action>maincpu.mq@28BA0 = 0000000000000000</action>
<action>maincpu.mq@28BA8 = 0000000000000000</action>
<action>maincpu.mq@28BB0 = 0000000000000000</action>
<action>maincpu.mq@28BB8 = 0000000000000000</action>
<action>maincpu.mq@28BC0 = 0000000000000000</action>
<action>maincpu.mq@28BC8 = 0000000000000000</action>
<action>maincpu.mq@28BD0 = 0000000000000000</action>
<action>maincpu.mq@28BD8 = 0000000000000000</action>
<action>maincpu.mq@28BE0 = 0000000000000000</action>
<action>maincpu.mq@28BE8 = 0000000000000000</action>
<action>maincpu.mq@28BF0 = 0000000000000000</action>
<action>maincpu.mq@28BF8 = 0000000000000000</action>
<action>maincpu.mq@28C00 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="unlock special test mode">
<comment>reset the game (F3) to enter special test mode</comment>
<script state="on">
<action>maincpu.mb@15925 = 7C</action>
</script>
<script state="off">
<action>maincpu.mb@15925 = 9A</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@15974 = 00028B50 </action>
<action>maincpu.mq@28B50 = 41F9000C000043F9</action>
<action>maincpu.mq@28B58 = 000FF00712001029</action>
<action>maincpu.mq@28B60 = FFFAB20067F60C00</action>
<action>maincpu.mq@28B68 = 00FB660253100C00</action>
<action>maincpu.mq@28B70 = 00F7660252100C00</action>
<action>maincpu.mq@28B78 = 00FD660404100010</action>
<action>maincpu.mq@28B80 = 0C0000FE66040610</action>
<action>maincpu.mq@28B88 = 00100C0000EF6602</action>
<action>maincpu.mq@28B90 = 12900C0000DF6604</action>
<action>maincpu.mq@28B98 = 12BC000160BE0000</action>
<!--
28B50 | 41F9 000C 0000 : lea $c0000.l, A0 // sound code address
28B56 | 43F9 000F F007 : lea $ff007.l, A1 // sound latch address
28B5C | 1200 : move.b D0, D1
28B5E | 1029 FFFA : move.b (-$6,A1), D0 // read input ($ff001)
28B62 | B200 : cmp.b D0, D1
28B64 | 67F6 : beq $28b5c
28B66 | 0C00 00FB : cmpi.b #-$5, D0
28B6A | 6602 : bne $28b6e
28B6C | 5310 : subq.b #1, (A0) // decrease code -01
28B6E | 0C00 00F7 : cmpi.b #-$9, D0
28B72 | 6602 : bne $28b76
28B74 | 5210 : addq.b #1, (A0) // increase code +01
28B76 | 0C00 00FD : cmpi.b #-$3, D0
28B7A | 6604 : bne $28b80
28B7C | 0410 0010 : subi.b #$10, (A0) // decrease code -10
28B80 | 0C00 00FE : cmpi.b #-$2, D0
28B84 | 6604 : bne $28b8a
28B86 | 0610 0010 : addi.b #$10, (A0) // increase code +10
28B8A | 0C00 00EF : cmpi.b #-$11, D0
28B8E | 6602 : bne $28b92
28B90 | 1290 : move.b (A0), (A1) // play sound
28B92 | 0C00 00DF : cmpi.b #-$21, D0
28B96 | 6604 : bne $28b9c
28B98 | 12BC 0001 : move.b #$1, (A1) // stop sound
28B9C | 60BE : bra $28b5c
-->
</script>
<script state="run">
<output format="----- 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@C0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@15974 = 0000422A </action>
<action>maincpu.mq@28B50 = 0000000000000000</action>
<action>maincpu.mq@28B58 = 0000000000000000</action>
<action>maincpu.mq@28B60 = 0000000000000000</action>
<action>maincpu.mq@28B68 = 0000000000000000</action>
<action>maincpu.mq@28B70 = 0000000000000000</action>
<action>maincpu.mq@28B78 = 0000000000000000</action>
<action>maincpu.mq@28B80 = 0000000000000000</action>
<action>maincpu.mq@28B88 = 0000000000000000</action>
<action>maincpu.mq@28B90 = 0000000000000000</action>
<action>maincpu.mq@28B98 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
karatblzt.xml
Code: Select all
<!-- Karate Blazers (World, Tecmo license) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@4D6A = 60</action>
<action>maincpu.mb@4E92 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@4D6A = 6C</action>
<action>maincpu.mb@4E92 = 6C</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@833B = 58</action>
<action>maincpu.mb@8417 = 58</action>
</script>
<script state="off">
<action>maincpu.mb@833B = 59</action>
<action>maincpu.mb@8417 = 59</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mq@0428E = 4EB9000287D03540</action>
<action>maincpu.mq@287D0 = 0C6A000100366608</action>
<action>maincpu.mq@287D8 = 70001030B8004E75</action>
<action>maincpu.mq@287E0 = 70014E7500000000</action>
<!--
287D0 | 0C6A 0001 0036 : cmpi.w #$1, ($36,A2)
287D6 | 6608 : bne $287e0
287D8 | 7000 : moveq #$0, D0
287DA | 1030 B800 : move.b (A0,A3.l), D0
287DE | 4E75 : rts
287E0 | 7001 : moveq #$1, D0
287E2 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@0428E = 70001030B8003540</action>
<action>maincpu.mq@287D0 = 0000000000000000</action>
<action>maincpu.mq@287D8 = 0000000000000000</action>
<action>maincpu.mq@287E0 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x0c407fff">01 (slow)</item>
<item value="0x0c400800">02 </item>
<item value="0x0c400200">03 </item>
<item value="0x0c400080">04 </item>
<item value="0x0c400001">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@2796 = param</action>
</script>
<script state="off">
<action>maincpu.md@2796 = B06A002C</action>
</script>
</cheat>
<cheat desc="unlock special test mode">
<comment>reset the game (F3) to enter special test mode</comment>
<script state="on">
<action>maincpu.mb@17765 = BC</action>
</script>
<script state="off">
<action>maincpu.mb@17765 = DA</action>
</script>
</cheat>
<cheat desc="auto damage">
<script state="on">
<action>maincpu.md@08FDE = 00028898 </action>
<action>maincpu.md@09856 = 00028898 </action>
<action>maincpu.md@09E2E = 00028898 </action>
<action>maincpu.md@0A594 = 00028898 </action>
<action>maincpu.md@0AD0E = 00028898 </action>
<action>maincpu.md@0B50C = 00028898 </action>
<action>maincpu.md@0BCE8 = 000288A0 </action>
<action>maincpu.md@0C0A2 = 00028898 </action>
<action>maincpu.md@0C75A = 00028898 </action>
<action>maincpu.md@0CE66 = 00028898 </action>
<action>maincpu.md@0D580 = 000288A0 </action>
<action>maincpu.md@0DB9C = 000288A0 </action>
<action>maincpu.mq@28840 = 48E73C004A40664A</action>
<action>maincpu.mq@28848 = 2439000C5970362A</action>
<action>maincpu.mq@28850 = 000CB443653C4842</action>
<action>maincpu.mq@28858 = B443643638024842</action>
<action>maincpu.mq@28860 = 3A029A44E24D9445</action>
<action>maincpu.mq@28868 = B4436408006A0800</action>
<action>maincpu.mq@28870 = 00146006026AF7FF</action>
<action>maincpu.mq@28878 = 0014566A0038516A</action>
<action>maincpu.mq@28880 = 00306E0C426A0030</action>
<action>maincpu.mq@28888 = 257C000F8080004E</action>
<action>maincpu.mq@28890 = 70034CDF003C4E75</action>
<action>maincpu.mq@28898 = 4EB854F261A24E75</action>
<action>maincpu.mq@288A0 = 4EB85A7C619A4E75</action>
<!--
28840 | 48E7 3C00 : movem.l D2-D5, -(A7)
28844 | 4A40 : tst.w D0
28846 | 664A : bne $28892
28848 | 2439 000C 5970 : move.l $c5970.l, D2
2884E | 362A 000C : move.w ($c,A2), D3 // check x position
28852 | B443 : cmp.w D3, D2
28854 | 653C : bcs $28892
28856 | 4842 : swap D2
28858 | B443 : cmp.w D3, D2
2885A | 6436 : bcc $28892
2885C | 3802 : move.w D2, D4
2885E | 4842 : swap D2
28860 | 3A02 : move.w D2, D5
28862 | 9A44 : sub.w D4, D5
28864 | E24D : lsr.w #1, D5
28866 | 9445 : sub.w D5, D2
28868 | B443 : cmp.w D3, D2
2886A | 6408 : bcc $28874
2886C | 006A 0800 0014 : ori.w #$800, ($14,A2)
28872 | 6006 : bra $2887a
28874 | 026A F7FF 0014 : andi.w #$f7ff, ($14,A2)
2887A | 566A 0038 : addq.w #3, ($38,A2)
2887E | 516A 0030 : subq.w #8, ($30,A2)
28882 | 6E0C : bgt $28890
28884 | 426A 0030 : clr.w ($30,A2)
28888 | 257C 000F 8080 004E : move.l #$f8080, ($4e,A2)
28890 | 7003 : moveq #$3, D0
28892 | 4CDF 003C : movem.l (A7)+, D2-D5
28896 | 4E75 : rts
28898 | 4EB8 54F2 : jsr $54f2.w
2889C | 61A2 : bsr $28c10
2889E | 4E75 : rts
288A0 | 4EB8 5A7C : jsr $5a7c.w
288A4 | 619A : bsr $28c10
288A6 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.md@08FDE = 000054F2 </action>
<action>maincpu.md@09856 = 000054F2 </action>
<action>maincpu.md@09E2E = 000054F2 </action>
<action>maincpu.md@0A594 = 000054F2 </action>
<action>maincpu.md@0AD0E = 000054F2 </action>
<action>maincpu.md@0B50C = 000054F2 </action>
<action>maincpu.md@0BCE8 = 00005A7C </action>
<action>maincpu.md@0C0A2 = 000054F2 </action>
<action>maincpu.md@0C75A = 000054F2 </action>
<action>maincpu.md@0CE66 = 000054F2 </action>
<action>maincpu.md@0D580 = 00005A7C </action>
<action>maincpu.md@0DB9C = 00005A7C </action>
<action>maincpu.mq@28840 = 0000000000000000</action>
<action>maincpu.mq@28848 = 0000000000000000</action>
<action>maincpu.mq@28850 = 0000000000000000</action>
<action>maincpu.mq@28858 = 0000000000000000</action>
<action>maincpu.mq@28860 = 0000000000000000</action>
<action>maincpu.mq@28868 = 0000000000000000</action>
<action>maincpu.mq@28870 = 0000000000000000</action>
<action>maincpu.mq@28878 = 0000000000000000</action>
<action>maincpu.mq@28880 = 0000000000000000</action>
<action>maincpu.mq@28888 = 0000000000000000</action>
<action>maincpu.mq@28890 = 0000000000000000</action>
<action>maincpu.mq@28898 = 0000000000000000</action>
<action>maincpu.mq@288A0 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@177B4 = 000287F0 </action>
<action>maincpu.mq@287F0 = 41F9000C000043F9</action>
<action>maincpu.mq@287F8 = 000FF00712001029</action>
<action>maincpu.mq@28800 = FFFAB20067F60C00</action>
<action>maincpu.mq@28808 = 00FB660253100C00</action>
<action>maincpu.mq@28810 = 00F7660252100C00</action>
<action>maincpu.mq@28818 = 00FD660404100010</action>
<action>maincpu.mq@28820 = 0C0000FE66040610</action>
<action>maincpu.mq@28828 = 00100C0000EF6602</action>
<action>maincpu.mq@28830 = 12900C0000DF6604</action>
<action>maincpu.mq@28838 = 12BC000160BE0000</action>
<!--
287F0 | 41F9 000C 0000 : lea $c0000.l, A0 // sound code address
287F6 | 43F9 000F F007 : lea $ff007.l, A1 // sound latch address
287FC | 1200 : move.b D0, D1
287FE | 1029 FFFA : move.b (-$6,A1), D0 // read input ($ff001)
28802 | B200 : cmp.b D0, D1
28804 | 67F6 : beq $287fc
28806 | 0C00 00FB : cmpi.b #-$5, D0
2880A | 6602 : bne $2880e
2880C | 5310 : subq.b #1, (A0) // decrease code -01
2880E | 0C00 00F7 : cmpi.b #-$9, D0
28812 | 6602 : bne $28816
28814 | 5210 : addq.b #1, (A0) // increase code +01
28816 | 0C00 00FD : cmpi.b #-$3, D0
2881A | 6604 : bne $28820
2881C | 0410 0010 : subi.b #$10, (A0) // decrease code -10
28820 | 0C00 00FE : cmpi.b #-$2, D0
28824 | 6604 : bne $2882a
28826 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2882A | 0C00 00EF : cmpi.b #-$11, D0
2882E | 6602 : bne $28832
28830 | 1290 : move.b (A0), (A1) // play sound
28832 | 0C00 00DF : cmpi.b #-$21, D0
28836 | 6604 : bne $2883c
28838 | 12BC 0001 : move.b #$1, (A1) // stop sound
2883C | 60BE : bra $287fc
-->
</script>
<script state="run">
<output format="----- 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@C0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@177B4 = 00007576 </action>
<action>maincpu.mq@287F0 = 0000000000000000</action>
<action>maincpu.mq@287F8 = 0000000000000000</action>
<action>maincpu.mq@28800 = 0000000000000000</action>
<action>maincpu.mq@28808 = 0000000000000000</action>
<action>maincpu.mq@28810 = 0000000000000000</action>
<action>maincpu.mq@28818 = 0000000000000000</action>
<action>maincpu.mq@28820 = 0000000000000000</action>
<action>maincpu.mq@28828 = 0000000000000000</action>
<action>maincpu.mq@28830 = 0000000000000000</action>
<action>maincpu.mq@28838 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
karatblzu.xml
Code: Select all
<!-- Karate Blazers (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@4D6A = 60</action>
<action>maincpu.mb@4E92 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@4D6A = 6C</action>
<action>maincpu.mb@4E92 = 6C</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@833B = 58</action>
<action>maincpu.mb@8417 = 58</action>
</script>
<script state="off">
<action>maincpu.mb@833B = 59</action>
<action>maincpu.mb@8417 = 59</action>
</script>
</cheat>
<cheat desc="attack speed up">
<script state="on">
<action>maincpu.mq@0428E = 4EB9000287D03540</action>
<action>maincpu.mq@287D0 = 0C6A000100366608</action>
<action>maincpu.mq@287D8 = 70001030B8004E75</action>
<action>maincpu.mq@287E0 = 70014E7500000000</action>
<!--
287D0 | 0C6A 0001 0036 : cmpi.w #$1, ($36,A2)
287D6 | 6608 : bne $287e0
287D8 | 7000 : moveq #$0, D0
287DA | 1030 B800 : move.b (A0,A3.l), D0
287DE | 4E75 : rts
287E0 | 7001 : moveq #$1, D0
287E2 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@0428E = 70001030B8003540</action>
<action>maincpu.mq@287D0 = 0000000000000000</action>
<action>maincpu.mq@287D8 = 0000000000000000</action>
<action>maincpu.mq@287E0 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x0c407fff">01 (slow)</item>
<item value="0x0c400800">02 </item>
<item value="0x0c400200">03 </item>
<item value="0x0c400080">04 </item>
<item value="0x0c400001">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.md@2796 = param</action>
</script>
<script state="off">
<action>maincpu.md@2796 = B06A002C</action>
</script>
</cheat>
<cheat desc="auto damage">
<script state="on">
<action>maincpu.md@08FDE = 00028898 </action>
<action>maincpu.md@09856 = 00028898 </action>
<action>maincpu.md@09E2E = 00028898 </action>
<action>maincpu.md@0A594 = 00028898 </action>
<action>maincpu.md@0AD0E = 00028898 </action>
<action>maincpu.md@0B50C = 00028898 </action>
<action>maincpu.md@0BCE8 = 000288A0 </action>
<action>maincpu.md@0C0A2 = 00028898 </action>
<action>maincpu.md@0C75A = 00028898 </action>
<action>maincpu.md@0CE66 = 00028898 </action>
<action>maincpu.md@0D580 = 000288A0 </action>
<action>maincpu.md@0DB9C = 000288A0 </action>
<action>maincpu.mq@28840 = 48E73C004A40664A</action>
<action>maincpu.mq@28848 = 2439000C5970362A</action>
<action>maincpu.mq@28850 = 000CB443653C4842</action>
<action>maincpu.mq@28858 = B443643638024842</action>
<action>maincpu.mq@28860 = 3A029A44E24D9445</action>
<action>maincpu.mq@28868 = B4436408006A0800</action>
<action>maincpu.mq@28870 = 00146006026AF7FF</action>
<action>maincpu.mq@28878 = 0014566A0038516A</action>
<action>maincpu.mq@28880 = 00306E0C426A0030</action>
<action>maincpu.mq@28888 = 257C000F8080004E</action>
<action>maincpu.mq@28890 = 70034CDF003C4E75</action>
<action>maincpu.mq@28898 = 4EB854F261A24E75</action>
<action>maincpu.mq@288A0 = 4EB85A7C619A4E75</action>
<!--
28840 | 48E7 3C00 : movem.l D2-D5, -(A7)
28844 | 4A40 : tst.w D0
28846 | 664A : bne $28892
28848 | 2439 000C 5970 : move.l $c5970.l, D2
2884E | 362A 000C : move.w ($c,A2), D3 // check x position
28852 | B443 : cmp.w D3, D2
28854 | 653C : bcs $28892
28856 | 4842 : swap D2
28858 | B443 : cmp.w D3, D2
2885A | 6436 : bcc $28892
2885C | 3802 : move.w D2, D4
2885E | 4842 : swap D2
28860 | 3A02 : move.w D2, D5
28862 | 9A44 : sub.w D4, D5
28864 | E24D : lsr.w #1, D5
28866 | 9445 : sub.w D5, D2
28868 | B443 : cmp.w D3, D2
2886A | 6408 : bcc $28874
2886C | 006A 0800 0014 : ori.w #$800, ($14,A2)
28872 | 6006 : bra $2887a
28874 | 026A F7FF 0014 : andi.w #$f7ff, ($14,A2)
2887A | 566A 0038 : addq.w #3, ($38,A2)
2887E | 516A 0030 : subq.w #8, ($30,A2)
28882 | 6E0C : bgt $28890
28884 | 426A 0030 : clr.w ($30,A2)
28888 | 257C 000F 8080 004E : move.l #$f8080, ($4e,A2)
28890 | 7003 : moveq #$3, D0
28892 | 4CDF 003C : movem.l (A7)+, D2-D5
28896 | 4E75 : rts
28898 | 4EB8 54F2 : jsr $54f2.w
2889C | 61A2 : bsr $28c10
2889E | 4E75 : rts
288A0 | 4EB8 5A7C : jsr $5a7c.w
288A4 | 619A : bsr $28c10
288A6 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.md@08FDE = 000054F2 </action>
<action>maincpu.md@09856 = 000054F2 </action>
<action>maincpu.md@09E2E = 000054F2 </action>
<action>maincpu.md@0A594 = 000054F2 </action>
<action>maincpu.md@0AD0E = 000054F2 </action>
<action>maincpu.md@0B50C = 000054F2 </action>
<action>maincpu.md@0BCE8 = 00005A7C </action>
<action>maincpu.md@0C0A2 = 000054F2 </action>
<action>maincpu.md@0C75A = 000054F2 </action>
<action>maincpu.md@0CE66 = 000054F2 </action>
<action>maincpu.md@0D580 = 00005A7C </action>
<action>maincpu.md@0DB9C = 00005A7C </action>
<action>maincpu.mq@28840 = 0000000000000000</action>
<action>maincpu.mq@28848 = 0000000000000000</action>
<action>maincpu.mq@28850 = 0000000000000000</action>
<action>maincpu.mq@28858 = 0000000000000000</action>
<action>maincpu.mq@28860 = 0000000000000000</action>
<action>maincpu.mq@28868 = 0000000000000000</action>
<action>maincpu.mq@28870 = 0000000000000000</action>
<action>maincpu.mq@28878 = 0000000000000000</action>
<action>maincpu.mq@28880 = 0000000000000000</action>
<action>maincpu.mq@28888 = 0000000000000000</action>
<action>maincpu.mq@28890 = 0000000000000000</action>
<action>maincpu.mq@28898 = 0000000000000000</action>
<action>maincpu.mq@288A0 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="unlock special test mode">
<comment>reset the game (F3) to enter special test mode</comment>
<script state="on">
<action>maincpu.mb@17765 = BC</action>
</script>
<script state="off">
<action>maincpu.mb@17765 = DA</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.md@177B4 = 000287F0 </action>
<action>maincpu.mq@287F0 = 41F9000C000043F9</action>
<action>maincpu.mq@287F8 = 000FF00712001029</action>
<action>maincpu.mq@28800 = FFFAB20067F60C00</action>
<action>maincpu.mq@28808 = 00FB660253100C00</action>
<action>maincpu.mq@28810 = 00F7660252100C00</action>
<action>maincpu.mq@28818 = 00FD660404100010</action>
<action>maincpu.mq@28820 = 0C0000FE66040610</action>
<action>maincpu.mq@28828 = 00100C0000EF6602</action>
<action>maincpu.mq@28830 = 12900C0000DF6604</action>
<action>maincpu.mq@28838 = 12BC000160BE0000</action>
<!--
287F0 | 41F9 000C 0000 : lea $c0000.l, A0 // sound code address
287F6 | 43F9 000F F007 : lea $ff007.l, A1 // sound latch address
287FC | 1200 : move.b D0, D1
287FE | 1029 FFFA : move.b (-$6,A1), D0 // read input ($ff001)
28802 | B200 : cmp.b D0, D1
28804 | 67F6 : beq $287fc
28806 | 0C00 00FB : cmpi.b #-$5, D0
2880A | 6602 : bne $2880e
2880C | 5310 : subq.b #1, (A0) // decrease code -01
2880E | 0C00 00F7 : cmpi.b #-$9, D0
28812 | 6602 : bne $28816
28814 | 5210 : addq.b #1, (A0) // increase code +01
28816 | 0C00 00FD : cmpi.b #-$3, D0
2881A | 6604 : bne $28820
2881C | 0410 0010 : subi.b #$10, (A0) // decrease code -10
28820 | 0C00 00FE : cmpi.b #-$2, D0
28824 | 6604 : bne $2882a
28826 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2882A | 0C00 00EF : cmpi.b #-$11, D0
2882E | 6602 : bne $28832
28830 | 1290 : move.b (A0), (A1) // play sound
28832 | 0C00 00DF : cmpi.b #-$21, D0
28836 | 6604 : bne $2883c
28838 | 12BC 0001 : move.b #$1, (A1) // stop sound
2883C | 60BE : bra $287fc
-->
</script>
<script state="run">
<output format="----- 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@C0000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@177B4 = 00007576 </action>
<action>maincpu.mq@287F0 = 0000000000000000</action>
<action>maincpu.mq@287F8 = 0000000000000000</action>
<action>maincpu.mq@28800 = 0000000000000000</action>
<action>maincpu.mq@28808 = 0000000000000000</action>
<action>maincpu.mq@28810 = 0000000000000000</action>
<action>maincpu.mq@28818 = 0000000000000000</action>
<action>maincpu.mq@28820 = 0000000000000000</action>
<action>maincpu.mq@28828 = 0000000000000000</action>
<action>maincpu.mq@28830 = 0000000000000000</action>
<action>maincpu.mq@28838 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>