mcatadv.xml
Code: Select all
<!-- Magical Cat Adventure -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.md@7B14 = 6000011E</action> <!-- trap -->
<action>maincpu.md@C862 = 6000001E</action> <!-- objects -->
</script>
<script state="off">
<action>maincpu.md@7B14 = 6600011E</action>
<action>maincpu.md@C862 = 024400FF</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mw@7D8E = 630A</action> <!-- charge shot -->
<action>maincpu.mw@7DC8 = 0002</action> <!-- button check -->
<action>maincpu.mw@BD86 = 0002</action> <!-- charge shot level 1 -->
<action>maincpu.mw@BD92 = 0002</action> <!-- charge shot level 2 -->
</script>
<script state="off">
<action>maincpu.mw@7D8E = 6392</action>
<action>maincpu.mw@7DC8 = FF5A</action>
<action>maincpu.mw@BD86 = 0012</action>
<action>maincpu.mw@BD92 = 0006</action>
</script>
</cheat>
<cheat desc="action speed up">
<script state="on">
<action>maincpu.mb@80E2 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@80E2 = 67</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>maincpu.md@7C96 = 60000024</action>
</script>
<script state="off">
<action>maincpu.md@7C96 = 6600008A</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x0100">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@3ED6 = param</action> <!-- initialize -->
<action>maincpu.mw@42D4 = param</action>
</script>
<script state="off">
<action>maincpu.mw@3ED6 = 003C</action>
<action>maincpu.mw@42D4 = 003C</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@00E14 = 00030E20 </action>
<action>maincpu.mq@30E20 = 41F90010000043F9</action>
<action>maincpu.mq@30E28 = 00C0000112001039</action>
<action>maincpu.mq@30E30 = 00800001B20067F4</action>
<action>maincpu.mq@30E38 = 0C0000FB66025310</action>
<action>maincpu.mq@30E40 = 0C0000F766025210</action>
<action>maincpu.mq@30E48 = 0C0000FD66040410</action>
<action>maincpu.mq@30E50 = 00100C0000FE6604</action>
<action>maincpu.mq@30E58 = 061000100C0000EF</action>
<action>maincpu.mq@30E60 = 660212900C0000DF</action>
<action>maincpu.mq@30E68 = 6602421160BE0000</action>
<!--
30E20 | 41F9 0010 0000 : lea $100000.l, A0 // sound code address
30E26 | 43F9 00C0 0001 : lea $c00001.l, A1 // sound latch address
30E2C | 1200 : move.b D0, D1
30E2E | 1039 0080 0001 : move.b $800001.l, D0 // read input
30E34 | B200 : cmp.b D0, D1
30E36 | 67F4 : beq $30e2c
30E38 | 0C00 00FB : cmpi.b #-$5, D0
30E3C | 6602 : bne $30e40
30E3E | 5310 : subq.b #1, (A0) // decrease code -01
30E40 | 0C00 00F7 : cmpi.b #-$9, D0
30E44 | 6602 : bne $30e48
30E46 | 5210 : addq.b #1, (A0) // increase code +01
30E48 | 0C00 00FD : cmpi.b #-$3, D0
30E4C | 6604 : bne $30e52
30E4E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
30E52 | 0C00 00FE : cmpi.b #-$2, D0
30E56 | 6604 : bne $30e5c
30E58 | 0610 0010 : addi.b #$10, (A0) // increase code +10
30E5C | 0C00 00EF : cmpi.b #-$11, D0
30E60 | 6602 : bne $30e64
30E62 | 1290 : move.b (A0), (A1) // play sound
30E64 | 0C00 00DF : cmpi.b #-$21, D0
30E68 | 6602 : bne $30e6c
30E6A | 4211 : clr.b (A1) // stop sound
30E6C | 60BE : bra $30e2c
-->
</script>
<script state="run">
<output format="----- magical cat adventure 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@100000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@00E14 = 0000504A </action>
<action>maincpu.mq@30E20 = 0000000000000000</action>
<action>maincpu.mq@30E28 = 0000000000000000</action>
<action>maincpu.mq@30E30 = 0000000000000000</action>
<action>maincpu.mq@30E38 = 0000000000000000</action>
<action>maincpu.mq@30E40 = 0000000000000000</action>
<action>maincpu.mq@30E48 = 0000000000000000</action>
<action>maincpu.mq@30E50 = 0000000000000000</action>
<action>maincpu.mq@30E58 = 0000000000000000</action>
<action>maincpu.mq@30E60 = 0000000000000000</action>
<action>maincpu.mq@30E68 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@03D4 = 01BE</action>
</script>
<script state="off">
<action>maincpu.mw@03D4 = 0198</action>
</script>
</cheat>
</mamecheat>
mcatadvj.xml
Code: Select all
<!-- Magical Cat Adventure (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.md@7C7E = 6000011A</action> <!-- trap -->
<action>maincpu.md@DDCC = 6000001E</action> <!-- objects -->
</script>
<script state="off">
<action>maincpu.md@7C7E = 6600011A</action>
<action>maincpu.md@DDCC = 024400FF</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mw@7F7A = 000C</action> <!-- charge shot -->
<action>maincpu.mw@7FC0 = 0002</action> <!-- button check -->
<action>maincpu.mw@D050 = 0002</action> <!-- charge shot level 1 -->
<action>maincpu.mw@D05C = 0002</action> <!-- charge shot level 2 -->
<action>maincpu.mw@D21A = 0002</action> <!-- charge shot level 1 (upper) -->
<action>maincpu.mw@D226 = 0002</action> <!-- charge shot level 2 (upper) -->
</script>
<script state="off">
<action>maincpu.mw@7F7A = FF26</action>
<action>maincpu.mw@7FC0 = FEE0</action>
<action>maincpu.mw@D050 = 0012</action>
<action>maincpu.mw@D05C = 0006</action>
<action>maincpu.mw@D21A = 0012</action>
<action>maincpu.mw@D226 = 0006</action>
</script>
</cheat>
<cheat desc="action speed up">
<script state="on">
<action>maincpu.mb@830E = 60</action>
</script>
<script state="off">
<action>maincpu.mb@830E = 67</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>maincpu.md@7E0A = 6000002E</action>
</script>
<script state="off">
<action>maincpu.md@7E0A = 66000094</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x0100">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@3EDA = param</action> <!-- initialize -->
<action>maincpu.mw@42D8 = param</action>
</script>
<script state="off">
<action>maincpu.mw@3EDA = 003C</action>
<action>maincpu.mw@42D8 = 003C</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@00E14 = 0003B560 </action>
<action>maincpu.mq@3B560 = 41F90010000043F9</action>
<action>maincpu.mq@3B568 = 00C0000112001039</action>
<action>maincpu.mq@3B570 = 00800001B20067F4</action>
<action>maincpu.mq@3B578 = 0C0000FB66025310</action>
<action>maincpu.mq@3B580 = 0C0000F766025210</action>
<action>maincpu.mq@3B588 = 0C0000FD66040410</action>
<action>maincpu.mq@3B590 = 00100C0000FE6604</action>
<action>maincpu.mq@3B598 = 061000100C0000EF</action>
<action>maincpu.mq@3B5A0 = 660212900C0000DF</action>
<action>maincpu.mq@3B5A8 = 6602421160BE0000</action>
<!--
3B560 | 41F9 0010 0000 : lea $100000.l, A0 // sound code address
3B566 | 43F9 00C0 0001 : lea $c00001.l, A1 // sound latch address
3B56C | 1200 : move.b D0, D1
3B56E | 1039 0080 0001 : move.b $800001.l, D0 // read input
3B574 | B200 : cmp.b D0, D1
3B576 | 67F4 : beq $3b56c
3B578 | 0C00 00FB : cmpi.b #-$5, D0
3B57C | 6602 : bne $3b580
3B57E | 5310 : subq.b #1, (A0) // decrease code -01
3B580 | 0C00 00F7 : cmpi.b #-$9, D0
3B584 | 6602 : bne $3b588
3B586 | 5210 : addq.b #1, (A0) // increase code +01
3B588 | 0C00 00FD : cmpi.b #-$3, D0
3B58C | 6604 : bne $3b592
3B58E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3B592 | 0C00 00FE : cmpi.b #-$2, D0
3B596 | 6604 : bne $3b59c
3B598 | 0610 0010 : addi.b #$10, (A0) // increase code +10
3B59C | 0C00 00EF : cmpi.b #-$11, D0
3B5A0 | 6602 : bne $3b5a4
3B5A2 | 1290 : move.b (A0), (A1) // play sound
3B5A4 | 0C00 00DF : cmpi.b #-$21, D0
3B5A8 | 6602 : bne $3b5ac
3B5AA | 4211 : clr.b (A1) // stop sound
3B5AC | 60BE : bra $3b56c
-->
</script>
<script state="run">
<output format="----- magical cat adventure 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@100000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@00E14 = 0000501C </action>
<action>maincpu.mq@3B560 = 0000000000000000</action>
<action>maincpu.mq@3B568 = 0000000000000000</action>
<action>maincpu.mq@3B570 = 0000000000000000</action>
<action>maincpu.mq@3B578 = 0000000000000000</action>
<action>maincpu.mq@3B580 = 0000000000000000</action>
<action>maincpu.mq@3B588 = 0000000000000000</action>
<action>maincpu.mq@3B590 = 0000000000000000</action>
<action>maincpu.mq@3B598 = 0000000000000000</action>
<action>maincpu.mq@3B5A0 = 0000000000000000</action>
<action>maincpu.mq@3B5A8 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@03D4 = 01BE</action>
</script>
<script state="off">
<action>maincpu.mw@03D4 = 0198</action>
</script>
</cheat>
</mamecheat>
catt.xml
Code: Select all
<!-- Catt (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.md@7B14 = 6000011E</action> <!-- trap -->
<action>maincpu.md@C862 = 6000001E</action> <!-- objects -->
</script>
<script state="off">
<action>maincpu.md@7B14 = 6600011E</action>
<action>maincpu.md@C862 = 024400FF</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mw@7D8E = 630A</action> <!-- charge shot -->
<action>maincpu.mw@7DC8 = 0002</action> <!-- button check -->
<action>maincpu.mw@BD86 = 0002</action> <!-- charge shot level 1 -->
<action>maincpu.mw@BD92 = 0002</action> <!-- charge shot level 2 -->
</script>
<script state="off">
<action>maincpu.mw@7D8E = 6392</action>
<action>maincpu.mw@7DC8 = FF5A</action>
<action>maincpu.mw@BD86 = 0012</action>
<action>maincpu.mw@BD92 = 0006</action>
</script>
</cheat>
<cheat desc="action speed up">
<script state="on">
<action>maincpu.mb@80E2 = 60</action>
</script>
<script state="off">
<action>maincpu.mb@80E2 = 67</action>
</script>
</cheat>
<cheat desc="multiple jump">
<script state="on">
<action>maincpu.md@7C96 = 60000024</action>
</script>
<script state="off">
<action>maincpu.md@7C96 = 6600008A</action>
</script>
</cheat>
<cheat desc="timer speed">
<parameter>
<item value="0x0100">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@3ED6 = param</action> <!-- initialize -->
<action>maincpu.mw@42D4 = param</action>
</script>
<script state="off">
<action>maincpu.mw@3ED6 = 003C</action>
<action>maincpu.mw@42D4 = 003C</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@00E14 = 00030DA0 </action>
<action>maincpu.mq@30DA0 = 41F90010000043F9</action>
<action>maincpu.mq@30DA8 = 00C0000112001039</action>
<action>maincpu.mq@30DB0 = 00800001B20067F4</action>
<action>maincpu.mq@30DB8 = 0C0000FB66025310</action>
<action>maincpu.mq@30DC0 = 0C0000F766025210</action>
<action>maincpu.mq@30DC8 = 0C0000FD66040410</action>
<action>maincpu.mq@30DD0 = 00100C0000FE6604</action>
<action>maincpu.mq@30DD8 = 061000100C0000EF</action>
<action>maincpu.mq@30DE0 = 660212900C0000DF</action>
<action>maincpu.mq@30DE8 = 6602421160BE0000</action>
<!--
30DA0 | 41F9 0010 0000 : lea $100000.l, A0 // sound code address
30DA6 | 43F9 00C0 0001 : lea $c00001.l, A1 // sound latch address
30DAC | 1200 : move.b D0, D1
30DAE | 1039 0080 0001 : move.b $800001.l, D0 // read input
30DB4 | B200 : cmp.b D0, D1
30DB6 | 67F4 : beq $30dac
30DB8 | 0C00 00FB : cmpi.b #-$5, D0
30DBC | 6602 : bne $30dc0
30DBE | 5310 : subq.b #1, (A0) // decrease code -01
30DC0 | 0C00 00F7 : cmpi.b #-$9, D0
30DC4 | 6602 : bne $30dc8
30DC6 | 5210 : addq.b #1, (A0) // increase code +01
30DC8 | 0C00 00FD : cmpi.b #-$3, D0
30DCC | 6604 : bne $30dd2
30DCE | 0410 0010 : subi.b #$10, (A0) // decrease code -10
30DD2 | 0C00 00FE : cmpi.b #-$2, D0
30DD6 | 6604 : bne $30ddc
30DD8 | 0610 0010 : addi.b #$10, (A0) // increase code +10
30DDC | 0C00 00EF : cmpi.b #-$11, D0
30DE0 | 6602 : bne $30de4
30DE2 | 1290 : move.b (A0), (A1) // play sound
30DE4 | 0C00 00DF : cmpi.b #-$21, D0
30DE8 | 6602 : bne $30dec
30DEA | 4211 : clr.b (A1) // stop sound
30DEC | 60BE : bra $30dac
-->
</script>
<script state="run">
<output format="----- catt 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@100000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@00E14 = 0000504A </action>
<action>maincpu.mq@30E20 = 0000000000000000</action>
<action>maincpu.mq@30E28 = 0000000000000000</action>
<action>maincpu.mq@30E30 = 0000000000000000</action>
<action>maincpu.mq@30E38 = 0000000000000000</action>
<action>maincpu.mq@30E40 = 0000000000000000</action>
<action>maincpu.mq@30E48 = 0000000000000000</action>
<action>maincpu.mq@30E50 = 0000000000000000</action>
<action>maincpu.mq@30E58 = 0000000000000000</action>
<action>maincpu.mq@30E60 = 0000000000000000</action>
<action>maincpu.mq@30E68 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@03D4 = 01BE</action>
</script>
<script state="off">
<action>maincpu.mw@03D4 = 0198</action>
</script>
</cheat>
</mamecheat>
"auto fire" : Upper attack (hold up + press attack button) exists in macatadvj only so that mcatadv and catt don't have relevant codes.