twinhawk.xml
Code: Select all
<!-- Twin Hawk (World) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@B0E0 = 60</action> <!-- P1 -->
<action>maincpu.mb@B1EA = 60</action> <!-- P2 -->
</script>
<script state="off">
<action>maincpu.mb@B0E0 = 64</action>
<action>maincpu.mb@B1EA = 64</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@28EB = 00</action>
</script>
<script state="off">
<action>maincpu.mb@28EB = 20</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0100">02 </item>
<item value="0x0280">03 </item>
<item value="0x0400">04 </item>
<item value="0x0580">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@02782 = 323C0000 </action>
<action>maincpu.mq@02786 = 4EB900035C60720F</action>
<action>maincpu.mq@35C60 = 610ED16E00064840</action>
<action>maincpu.mq@35C68 = 6106D16E00044E75</action>
<action>maincpu.mq@35C70 = 34014A4067066A02</action>
<action>maincpu.mq@35C78 = 444230024E75FFFF</action>
<!--
02782 | 323C xxxx : move.w #$xx,D1
02786 | 4EB9 0003 5C60 : jsr $35c60.l
==========================================
35C60 | 610E : bsr $35c70
35C62 | D16E 0006 : add.w D0,($6,A6)
35C66 | 4840 : swap D0
35C68 | 6106 : bsr $35c70
35C6A | D16E 0004 : add.w D0,($4,A6)
35C6E | 4E75 : rts
35C70 | 3401 : move.w D1,D2
35C72 | 4A40 : tst.w D0
35C74 | 6706 : beq $35c7c
35C76 | 6A02 : bpl $35c7a
35C78 | 4442 : neg.w D2
35C7A | 3002 : move.w D2,D0
35C7C | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@2784 = param</action>
</script>
<script state="off">
<action>maincpu.md@02782 = D16E0006 </action>
<action>maincpu.mq@02786 = 4840D16E0004720F</action>
<action>maincpu.mq@35C60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C78 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x0280">01 (slow)</item>
<item value="0x0500">02 </item>
<item value="0x0780">03 </item>
<item value="0x0a00">04 </item>
<item value="0x0c80">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@24FC = param</action>
</script>
<script state="off">
<action>maincpu.mw@24FC = 0500</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@00792 = 00035C80 </action>
<action>maincpu.mq@35C80 = 027CF8FF43F900F0</action>
<action>maincpu.mq@35C88 = 0800180316390090</action>
<action>maincpu.mq@35C90 = 0001B80367F40C03</action>
<action>maincpu.mq@35C98 = 00FB660253110C03</action>
<action>maincpu.mq@35CA0 = 00F7660252110C03</action>
<action>maincpu.mq@35CA8 = 00FD660404110010</action>
<action>maincpu.mq@35CB0 = 0C0300FE66040611</action>
<action>maincpu.mq@35CB8 = 00100C0300EF6604</action>
<action>maincpu.mq@35CC0 = 1011600A0C0300DF</action>
<action>maincpu.mq@35CC8 = 660A103C00FE4EB9</action>
<action>maincpu.mq@35CD0 = 000091EC60B4FFFF</action>
<!--
35C80 | 027C F8FF : andi #$f8ff,SR // enable interrupt
35C84 | 43F9 00F0 0800 : lea $f00800.l,A1 // sound code address
35C8A | 1803 : move.b D3,D4
35C8C | 1639 0090 0001 : move.b $900001.l,D3 // read input
35C92 | B803 : cmp.b D3,D4
35C94 | 67F4 : beq $35c8a
35C96 | 0C03 00FB : cmpi.b #-$5,D3
35C9A | 6602 : bne $35c9e
35C9C | 5311 : subq.b #1,(A1) // decrease code -01
35C9E | 0C03 00F7 : cmpi.b #-$9,D3
35CA2 | 6602 : bne $35ca6
35CA4 | 5211 : addq.b #1,(A1) // increase code +01
35CA6 | 0C03 00FD : cmpi.b #-$3,D3
35CAA | 6604 : bne $35cb0
35CAC | 0411 0010 : subi.b #$10,(A1) // decrease code -10
35CB0 | 0C03 00FE : cmpi.b #-$2,D3
35CB4 | 6604 : bne $35cba
35CB6 | 0611 0010 : addi.b #$10,(A1) // increase code +10
35CBA | 0C03 00EF : cmpi.b #-$11,D3
35CBE | 6604 : bne $35cc4
35CC0 | 1011 : move.b (A1),D0 // play sound
35CC2 | 600A : bra $35cce
35CC4 | 0C03 00DF : cmpi.b #-$21,D3
35CC8 | 660A : bne $35cd4
35CCA | 103C 00FE : move.b #$fe,D0 // stop sound
35CCE | 4EB9 0000 91EC : jsr $91ec.l
35CD4 | 60B4 : bra $35c8a
-->
</script>
<script state="run">
<output format="----- twin hawk 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@F00800</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@00792 = 00008C3A </action>
<action>maincpu.mq@35C80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C88 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CA8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CB0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CB8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CC0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CC8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CD0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mq@D25C = 4EF900000750383C</action> <!-- jmp $750.l -->
</script>
<script state="off">
<action>maincpu.mq@D25C = 207C00F00000383C</action>
</script>
</cheat>
</mamecheat>
twinhawku.xml
Code: Select all
<!-- Twin Hawk (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@B0EE = 60</action> <!-- P1 -->
<action>maincpu.mb@B1F8 = 60</action> <!-- P2 -->
</script>
<script state="off">
<action>maincpu.mb@B0EE = 64</action>
<action>maincpu.mb@B1F8 = 64</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@28EB = 00</action>
</script>
<script state="off">
<action>maincpu.mb@28EB = 20</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0100">02 </item>
<item value="0x0280">03 </item>
<item value="0x0400">04 </item>
<item value="0x0580">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@02782 = 323C0000 </action>
<action>maincpu.mq@02786 = 4EB900035C60720F</action>
<action>maincpu.mq@35C60 = 610ED16E00064840</action>
<action>maincpu.mq@35C68 = 6106D16E00044E75</action>
<action>maincpu.mq@35C70 = 34014A4067066A02</action>
<action>maincpu.mq@35C78 = 444230024E75FFFF</action>
<!--
02782 | 323C xxxx : move.w #$xx,D1
02786 | 4EB9 0003 5C60 : jsr $35c60.l
==========================================
35C60 | 610E : bsr $35c70
35C62 | D16E 0006 : add.w D0,($6,A6)
35C66 | 4840 : swap D0
35C68 | 6106 : bsr $35c70
35C6A | D16E 0004 : add.w D0,($4,A6)
35C6E | 4E75 : rts
35C70 | 3401 : move.w D1,D2
35C72 | 4A40 : tst.w D0
35C74 | 6706 : beq $35c7c
35C76 | 6A02 : bpl $35c7a
35C78 | 4442 : neg.w D2
35C7A | 3002 : move.w D2,D0
35C7C | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@2784 = param</action>
</script>
<script state="off">
<action>maincpu.md@02782 = D16E0006 </action>
<action>maincpu.mq@02786 = 4840D16E0004720F</action>
<action>maincpu.mq@35C60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C78 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x0280">01 (slow)</item>
<item value="0x0500">02 </item>
<item value="0x0780">03 </item>
<item value="0x0a00">04 </item>
<item value="0x0c80">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@24FC = param</action>
</script>
<script state="off">
<action>maincpu.mw@24FC = 0500</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@00792 = 00035C80 </action>
<action>maincpu.mq@35C80 = 027CF8FF43F900F0</action>
<action>maincpu.mq@35C88 = 0800180316390090</action>
<action>maincpu.mq@35C90 = 0001B80367F40C03</action>
<action>maincpu.mq@35C98 = 00FB660253110C03</action>
<action>maincpu.mq@35CA0 = 00F7660252110C03</action>
<action>maincpu.mq@35CA8 = 00FD660404110010</action>
<action>maincpu.mq@35CB0 = 0C0300FE66040611</action>
<action>maincpu.mq@35CB8 = 00100C0300EF6604</action>
<action>maincpu.mq@35CC0 = 1011600A0C0300DF</action>
<action>maincpu.mq@35CC8 = 660A103C00FE4EB9</action>
<action>maincpu.mq@35CD0 = 000091EC60B4FFFF</action>
<!--
35C80 | 027C F8FF : andi #$f8ff,SR // enable interrupt
35C84 | 43F9 00F0 0800 : lea $f00800.l,A1 // sound code address
35C8A | 1803 : move.b D3,D4
35C8C | 1639 0090 0001 : move.b $900001.l,D3 // read input
35C92 | B803 : cmp.b D3,D4
35C94 | 67F4 : beq $35c8a
35C96 | 0C03 00FB : cmpi.b #-$5,D3
35C9A | 6602 : bne $35c9e
35C9C | 5311 : subq.b #1,(A1) // decrease code -01
35C9E | 0C03 00F7 : cmpi.b #-$9,D3
35CA2 | 6602 : bne $35ca6
35CA4 | 5211 : addq.b #1,(A1) // increase code +01
35CA6 | 0C03 00FD : cmpi.b #-$3,D3
35CAA | 6604 : bne $35cb0
35CAC | 0411 0010 : subi.b #$10,(A1) // decrease code -10
35CB0 | 0C03 00FE : cmpi.b #-$2,D3
35CB4 | 6604 : bne $35cba
35CB6 | 0611 0010 : addi.b #$10,(A1) // increase code +10
35CBA | 0C03 00EF : cmpi.b #-$11,D3
35CBE | 6604 : bne $35cc4
35CC0 | 1011 : move.b (A1),D0 // play sound
35CC2 | 600A : bra $35cce
35CC4 | 0C03 00DF : cmpi.b #-$21,D3
35CC8 | 660A : bne $35cd4
35CCA | 103C 00FE : move.b #$fe,D0 // stop sound
35CCE | 4EB9 0000 91EC : jsr $91ec.l
35CD4 | 60B4 : bra $35c8a
-->
</script>
<script state="run">
<output format="----- twin hawk 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@F00800</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@00792 = 00008C3A </action>
<action>maincpu.mq@35C80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C88 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CA8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CB0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CB8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CC0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CC8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CD0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mq@D26C = 4EF900000750383C</action> <!-- jmp $750.l -->
</script>
<script state="off">
<action>maincpu.mq@D26C = 207C00F00000383C</action>
</script>
</cheat>
</mamecheat>
daisenpu.xml
Code: Select all
<!-- Daisenpu (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@A4FC = 60</action>
</script>
<script state="off">
<action>maincpu.mb@A4FC = 64</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@21D1 = 00</action>
</script>
<script state="off">
<action>maincpu.mb@21D1 = 20</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0080">01 (slow)</item>
<item value="0x0100">02 </item>
<item value="0x0280">03 </item>
<item value="0x0400">04 </item>
<item value="0x0580">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@0207A = 323C0000 </action>
<action>maincpu.mq@0207E = 4EB900035C60720F</action>
<action>maincpu.mq@35C60 = 610ED16E00064840</action>
<action>maincpu.mq@35C68 = 6106D16E00044E75</action>
<action>maincpu.mq@35C70 = 34014A4067066A02</action>
<action>maincpu.mq@35C78 = 444230024E75FFFF</action>
<!--
0207A | 323C xxxx : move.w #$xx,D1
0207E | 4EB9 0003 5C60 : jsr $35c60.l
==========================================
35C60 | 610E : bsr $35c70
35C62 | D16E 0006 : add.w D0,($6,A6)
35C66 | 4840 : swap D0
35C68 | 6106 : bsr $35c70
35C6A | D16E 0004 : add.w D0,($4,A6)
35C6E | 4E75 : rts
35C70 | 3401 : move.w D1,D2
35C72 | 4A40 : tst.w D0
35C74 | 6706 : beq $35c7c
35C76 | 6A02 : bpl $35c7a
35C78 | 4442 : neg.w D2
35C7A | 3002 : move.w D2,D0
35C7C | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@207C = param</action>
</script>
<script state="off">
<action>maincpu.md@0207A = D16E0006 </action>
<action>maincpu.mq@0207E = 4840D16E0004720F</action>
<action>maincpu.mq@35C60 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C68 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C70 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C78 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x0280">01 (slow)</item>
<item value="0x0500">02 </item>
<item value="0x0780">03 </item>
<item value="0x0a00">04 </item>
<item value="0x0c80">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mw@22D6 = param</action>
</script>
<script state="off">
<action>maincpu.mw@22D6 = 0500</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>set "skip ram/rom check" then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@00792 = 00035C80 </action>
<action>maincpu.mq@35C80 = 027CF8FF43F900F0</action>
<action>maincpu.mq@35C88 = 0800180316390090</action>
<action>maincpu.mq@35C90 = 0001B80367F40C03</action>
<action>maincpu.mq@35C98 = 00FB660253110C03</action>
<action>maincpu.mq@35CA0 = 00F7660252110C03</action>
<action>maincpu.mq@35CA8 = 00FD660404110010</action>
<action>maincpu.mq@35CB0 = 0C0300FE66040611</action>
<action>maincpu.mq@35CB8 = 00100C0300EF6604</action>
<action>maincpu.mq@35CC0 = 1011600A0C0300DF</action>
<action>maincpu.mq@35CC8 = 660A103C00FE4EB9</action>
<action>maincpu.mq@35CD0 = 0000876860B4FFFF</action>
<!--
35C80 | 027C F8FF : andi #$f8ff,SR // enable interrupt
35C84 | 43F9 00F0 0800 : lea $f00800.l,A1 // sound code address
35C8A | 1803 : move.b D3,D4
35C8C | 1639 0090 0001 : move.b $900001.l,D3 // read input
35C92 | B803 : cmp.b D3,D4
35C94 | 67F4 : beq $35c8a
35C96 | 0C03 00FB : cmpi.b #-$5,D3
35C9A | 6602 : bne $35c9e
35C9C | 5311 : subq.b #1,(A1) // decrease code -01
35C9E | 0C03 00F7 : cmpi.b #-$9,D3
35CA2 | 6602 : bne $35ca6
35CA4 | 5211 : addq.b #1,(A1) // increase code +01
35CA6 | 0C03 00FD : cmpi.b #-$3,D3
35CAA | 6604 : bne $35cb0
35CAC | 0411 0010 : subi.b #$10,(A1) // decrease code -10
35CB0 | 0C03 00FE : cmpi.b #-$2,D3
35CB4 | 6604 : bne $35cba
35CB6 | 0611 0010 : addi.b #$10,(A1) // increase code +10
35CBA | 0C03 00EF : cmpi.b #-$11,D3
35CBE | 6604 : bne $35cc4
35CC0 | 1011 : move.b (A1),D0 // play sound
35CC2 | 600A : bra $35cce
35CC4 | 0C03 00DF : cmpi.b #-$21,D3
35CC8 | 660A : bne $35cd4
35CCA | 103C 00FE : move.b #$fe,D0 // stop sound
35CCE | 4EB9 0000 8768 : jsr $8768.l
35CD4 | 60B4 : bra $35c8a
-->
</script>
<script state="run">
<output format="----- daisenpu 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@F00800</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@00792 = 00008250 </action>
<action>maincpu.mq@35C80 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C88 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C90 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35C98 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CA0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CA8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CB0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CB8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CC0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CC8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@35CD0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.mq@C514 = 4EF900000750383C</action> <!-- jmp $750.l -->
</script>
<script state="off">
<action>maincpu.mq@C514 = 207C00F00000383C</action>
</script>
</cheat>
</mamecheat>