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="auto 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="0x7fff">01 (slow)</item>
<item value="0x0800">02 </item>
<item value="0x0200">03 </item>
<item value="0x0080">04 </item>
<item value="0x0001">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mw@283E = 0C40</action> <!-- cmpi.w #$xx,D0 -->
</script>
<script state="change">
<action>maincpu.mw@2840 = param</action>
</script>
<script state="off">
<action>maincpu.md@283E = 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@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="----- karate blazers 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="auto 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="0x7fff">01 (slow)</item>
<item value="0x0800">02 </item>
<item value="0x0200">03 </item>
<item value="0x0080">04 </item>
<item value="0x0001">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mw@2754 = 0C40</action> <!-- cmpi.w #$xx,D0 -->
</script>
<script state="change">
<action>maincpu.mw@2756 = param</action>
</script>
<script state="off">
<action>maincpu.md@2754 = 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@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="----- karate blazers 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="auto 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="0x7fff">01 (slow)</item>
<item value="0x0800">02 </item>
<item value="0x0200">03 </item>
<item value="0x0080">04 </item>
<item value="0x0001">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mw@2796 = 0C40</action> <!-- cmpi.w #$xx,D0 -->
</script>
<script state="change">
<action>maincpu.mw@2798 = 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="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="----- karate blazers 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="auto 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="0x7fff">01 (slow)</item>
<item value="0x0800">02 </item>
<item value="0x0200">03 </item>
<item value="0x0080">04 </item>
<item value="0x0001">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mw@2796 = 0C40</action> <!-- cmpi.w #$xx,D0 -->
</script>
<script state="change">
<action>maincpu.mw@2798 = 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="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="----- karate blazers 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>
karatblzj.xml
Code: Select all
<!-- Toushin Blazers (Japan, Tecmo license) -->
<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="auto 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="0x7fff">01 (slow)</item>
<item value="0x0800">02 </item>
<item value="0x0200">03 </item>
<item value="0x0080">04 </item>
<item value="0x0001">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mw@283E = 0C40</action> <!-- cmpi.w #$xx,D0 -->
</script>
<script state="change">
<action>maincpu.mw@2840 = param</action>
</script>
<script state="off">
<action>maincpu.md@283E = 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@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="----- toushin blazers 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>
karatblzbl.xml
Code: Select all
<!-- Karate Blazers (bootleg with Street Smart sound hardware) -->
<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="auto 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 = 4EB900028F003540</action>
<action>maincpu.mq@28F00 = 0C6A000100366608</action>
<action>maincpu.mq@28F08 = 70001030B8004E75</action>
<action>maincpu.mq@28F10 = 70014E7500000000</action>
<!--
28F00 | 0C6A 0001 0036 : cmpi.w #$1, ($36,A2)
28F06 | 6608 : bne $28f10
28F08 | 7000 : moveq #$0, D0
28F0A | 1030 B800 : move.b (A0,A3.l), D0
28F0E | 4E75 : rts
28F10 | 7001 : moveq #$1, D0
28F12 | 4E75 : rts
-->
</script>
<script state="off">
<action>maincpu.mq@04348 = 70001030B8003540</action>
<action>maincpu.mq@28F00 = 0000000000000000</action>
<action>maincpu.mq@28F08 = 0000000000000000</action>
<action>maincpu.mq@28F10 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x7fff">01 (slow)</item>
<item value="0x0800">02 </item>
<item value="0x0200">03 </item>
<item value="0x0080">04 </item>
<item value="0x0001">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mw@283E = 0C40</action> <!-- cmpi.w #$xx,D0 -->
</script>
<script state="change">
<action>maincpu.mw@2840 = param</action>
</script>
<script state="off">
<action>maincpu.md@283E = 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@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 = 00028F20 </action>
<action>maincpu.mq@28F20 = 41F9000C000043F9</action>
<action>maincpu.mq@28F28 = 000FF00712001029</action>
<action>maincpu.mq@28F30 = FFFAB20067F60C00</action>
<action>maincpu.mq@28F38 = 00FB660253100C00</action>
<action>maincpu.mq@28F40 = 00F7660252100C00</action>
<action>maincpu.mq@28F48 = 00FD660404100010</action>
<action>maincpu.mq@28F50 = 0C0000FE66040610</action>
<action>maincpu.mq@28F58 = 00100C0000EF6602</action>
<action>maincpu.mq@28F60 = 12900C0000DF6604</action>
<action>maincpu.mq@28F68 = 12BC000160BE0000</action>
<!--
28F20 | 41F9 000C 0000 : lea $c0000.l, A0 // sound code address
28F26 | 43F9 000F F007 : lea $ff007.l, A1 // sound latch address
28F2C | 1200 : move.b D0, D1
28F2E | 1029 FFFA : move.b (-$6,A1), D0 // read input ($ff001)
28F32 | B200 : cmp.b D0, D1
28F34 | 67F6 : beq $28f2c
28F36 | 0C00 00FB : cmpi.b #-$5, D0
28F3A | 6602 : bne $28f3e
28F3C | 5310 : subq.b #1, (A0) // decrease code -01
28F3E | 0C00 00F7 : cmpi.b #-$9, D0
28F42 | 6602 : bne $28f46
28F44 | 5210 : addq.b #1, (A0) // increase code +01
28F46 | 0C00 00FD : cmpi.b #-$3, D0
28F4A | 6604 : bne $28f50
28F4C | 0410 0010 : subi.b #$10, (A0) // decrease code -10
28F50 | 0C00 00FE : cmpi.b #-$2, D0
28F54 | 6604 : bne $28f5a
28F56 | 0610 0010 : addi.b #$10, (A0) // increase code +10
28F5A | 0C00 00EF : cmpi.b #-$11, D0
28F5E | 6602 : bne $28f62
28F60 | 1290 : move.b (A0), (A1) // play sound
28F62 | 0C00 00DF : cmpi.b #-$21, D0
28F66 | 6604 : bne $28f6c
28F68 | 12BC 0001 : move.b #$1, (A1) // stop sound
28F6C | 60BE : bra $28f2c
-->
<action>audiocpu.md@097A = 00C680CD </action>
<action>audiocpu.mq@C680 = D30F2001FEF8003A</action>
<action>audiocpu.mq@C688 = 80D3803E0091CD80</action>
<action>audiocpu.mq@C690 = AF470000C30091CD</action>
<action>audiocpu.mq@C698 = F14632013EF11532</action>
<action>audiocpu.mq@C6A0 = FFFFFFFFFFFFC978</action>
<!--
C680 | 3A 00 F8 : ld a,($F800) // read sound code from maincpu
C683 | FE 01 : cp $01
C685 | 20 0F : jr nz,$C696
C687 | D3 80 : out ($80),a // reset sample
C689 | CD 91 00 : call $0091
C68C | 3E 80 : ld a,$80 // enable sample
C68E | D3 80 : out ($80),a
C690 | CD 91 00 : call $0091
C693 | C3 00 00 : jp $0000 // reset soundcpu
C696 | 47 : ld b,a
C697 | AF : xor a // initialize sound flags
C698 | 32 15 F1 : ld ($F115),a
C69B | 3E 01 : ld a,$01
C69D | 32 46 F1 : ld ($F146),a
C6A0 | 78 : ld a,b
C6A1 | C9 : ret
-->
</script>
<script state="run">
<output format="----- karate blazers 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@28F20 = 0000000000000000</action>
<action> maincpu.mq@28F28 = 0000000000000000</action>
<action> maincpu.mq@28F30 = 0000000000000000</action>
<action> maincpu.mq@28F38 = 0000000000000000</action>
<action> maincpu.mq@28F40 = 0000000000000000</action>
<action> maincpu.mq@28F48 = 0000000000000000</action>
<action> maincpu.mq@28F50 = 0000000000000000</action>
<action> maincpu.mq@28F58 = 0000000000000000</action>
<action> maincpu.mq@28F60 = 0000000000000000</action>
<action> maincpu.mq@28F68 = 0000000000000000</action>
<action>audiocpu.md@0097A = 00F8003A </action>
<action>audiocpu.mq@0C680 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0C688 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0C690 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0C698 = FFFFFFFFFFFFFFFF</action>
<action>audiocpu.mq@0C6A0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
karatblzbl has different sound hardware based on Street Smart. So "sound enable" and "sound stop" require custom routine.
Fortunately, I have already created
sound test for streetsm. It seems to be no problem to copy from it directly.