fsharkb.xml
Code: Select all
<!-- Flying Shark (World, bootleg) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1CD0 = 60</action> <!-- bullet -->
<action>maincpu.mb@2AA8 = 60</action> <!-- enemy -->
<action>maincpu.mb@6834 = 60</action> <!-- boss -->
</script>
<script state="off">
<action>maincpu.mb@1CD0 = 66</action>
<action>maincpu.mb@2AA8 = 67</action>
<action>maincpu.mb@6834 = 67</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@474D = 01</action>
</script>
<script state="off">
<action>maincpu.mb@474D = 20</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0004">02 </item>
<item value="0x0008">03 </item>
<item value="0x000c">04 </item>
<item value="0x0012">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@048F2 = 4EB9000200004E71</action>
<action>maincpu.mq@20000 = 41F9000300044A68</action>
<action>maincpu.mq@20008 = FFFE66FA30FC000A</action>
<action>maincpu.mq@20010 = 30EE000430EE0006</action>
<action>maincpu.mq@20018 = 30EE000C30BC0000</action>
<action>maincpu.mq@20020 = 317C0001FFF633FC</action>
<action>maincpu.mq@20028 = 00000007800A33FC</action>
<action>maincpu.mq@20030 = 00010007800A4A68</action>
<action>maincpu.mq@20038 = FFF666FA2D680012</action>
<action>maincpu.mq@20040 = 0004363C93004E75</action>
<!--
20000 | 41F9 0003 0004 : lea $30004.l, A0
20006 | 4A68 FFFE : tst.w (-$2,A0)
2000A | 66FA : bne $20006
2000C | 30FC 000A : move.w #$a, (A0)+
20010 | 30EE 0004 : move.w ($4,A6), (A0)+
20014 | 30EE 0006 : move.w ($6,A6), (A0)+
20018 | 30EE 000C : move.w ($c,A6), (A0)+
2001C | 30BC xxxx : move.w #$xx, (A0)
20020 | 317C 0001 FFF6 : move.w #$1, (-$a,A0)
20026 | 33FC 0000 0007 800A : move.w #$0, $7800a.l
2002E | 33FC 0001 0007 800A : move.w #$1, $7800a.l
20036 | 4A68 FFF6 : tst.w (-$a,A0)
2003A | 66FA : bne $20036
2003C | 2D68 0012 0004 : move.l ($12,A0), ($4,A6)
20042 | 363C 9300 : move.w #$9300, D3
20046 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@2001E = param</action>
</script>
<script state="off">
<action>maincpu.mq@048F2 = 6100D46C363C9300</action>
<action>maincpu.mq@20000 = 0000000000000000</action>
<action>maincpu.mq@20008 = 0000000000000000</action>
<action>maincpu.mq@20010 = 0000000000000000</action>
<action>maincpu.mq@20018 = 0000000000000000</action>
<action>maincpu.mq@20020 = 0000000000000000</action>
<action>maincpu.mq@20028 = 0000000000000000</action>
<action>maincpu.mq@20030 = 0000000000000000</action>
<action>maincpu.mq@20038 = 0000000000000000</action>
<action>maincpu.mq@20040 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x19">02 </item>
<item value="0x32">03 </item>
<item value="0x4b">04 </item>
<item value="0x64">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@4CA5 = param</action>
</script>
<script state="off">
<action>maincpu.mb@4CA5 = 19</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@0A1BC = 00020050 </action>
<action>maincpu.mq@20050 = 41F90003100043F9</action>
<action>maincpu.mq@20058 = 0007A00112001039</action>
<action>maincpu.mq@20060 = 00078005B20067F4</action>
<action>maincpu.mq@20068 = 0C00000466025310</action>
<action>maincpu.mq@20070 = 0C00000866025210</action>
<action>maincpu.mq@20078 = 0C00000266040410</action>
<action>maincpu.mq@20080 = 00100C0000016604</action>
<action>maincpu.mq@20088 = 061000100C000010</action>
<action>maincpu.mq@20090 = 660212900C000020</action>
<action>maincpu.mq@20098 = 660412BC00FE60BC</action>
<!--
20050 | 41F9 0003 1000 : lea $31000.l, A0 // sound code address
20056 | 43F9 0007 A001 : lea $7a001.l, A1 // sound latch address
2005C | 1200 : move.b D0, D1
2005E | 1039 0007 8005 : move.b $78005.l, D0 // read input
20064 | B200 : cmp.b D0, D1
20066 | 67F4 : beq $2005c
20068 | 0C00 0004 : cmpi.b #$4, D0
2006C | 6602 : bne $20070
2006E | 5310 : subq.b #1, (A0) // decrease code -01
20070 | 0C00 0008 : cmpi.b #$8, D0
20074 | 6602 : bne $20078
20076 | 5210 : addq.b #1, (A0) // increase code +01
20078 | 0C00 0002 : cmpi.b #$2, D0
2007C | 6604 : bne $20082
2007E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
20082 | 0C00 0001 : cmpi.b #$1, D0
20086 | 6604 : bne $2008c
20088 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2008C | 0C00 0010 : cmpi.b #$10, D0
20090 | 6602 : bne $20094
20092 | 1290 : move.b (A0), (A1) // play sound
20094 | 0C00 0020 : cmpi.b #$20, D0
20098 | 6604 : bne $2009e
2009A | 12BC 00FE : move.b #$fe, (A1) // stop sound
2009E | 60BC : bra $2005c
-->
</script>
<script state="run">
<output format="----- flying shark 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@31000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@0A1BC = 000026F2 </action>
<action>maincpu.mq@20050 = 0000000000000000</action>
<action>maincpu.mq@20058 = 0000000000000000</action>
<action>maincpu.mq@20060 = 0000000000000000</action>
<action>maincpu.mq@20068 = 0000000000000000</action>
<action>maincpu.mq@20070 = 0000000000000000</action>
<action>maincpu.mq@20078 = 0000000000000000</action>
<action>maincpu.mq@20080 = 0000000000000000</action>
<action>maincpu.mq@20088 = 0000000000000000</action>
<action>maincpu.mq@20090 = 0000000000000000</action>
<action>maincpu.mq@20098 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@A1C8 = 013A</action> <!-- boot -->
<action>maincpu.mw@0BB6 = 4E75</action> <!-- ingame -->
<action>maincpu.mw@1A64 = 4E75</action> <!-- ingame -->
<action>maincpu.mw@3238 = 4E75</action> <!-- ingame -->
<action>maincpu.mw@4256 = 4E75</action> <!-- ingame -->
</script>
<script state="off">
<action>maincpu.mb@A1C8 = 0122</action>
<action>maincpu.mw@0BB6 = 41F9</action>
<action>maincpu.mw@1A64 = 41F9</action>
<action>maincpu.mw@3238 = 41F9</action>
<action>maincpu.mw@4256 = 41F9</action>
</script>
</cheat>
</mamecheat>
hishouzab.xml
Code: Select all
<!-- Hishou Zame (Japan, bootleg) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1CF2 = 60</action> <!-- bullet -->
<action>maincpu.mb@2ACA = 60</action> <!-- enemy -->
<action>maincpu.mb@6BBA = 60</action> <!-- boss -->
</script>
<script state="off">
<action>maincpu.mb@1CF2 = 66</action>
<action>maincpu.mb@2ACA = 67</action>
<action>maincpu.mb@6BBA = 67</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@470F = 01</action>
</script>
<script state="off">
<action>maincpu.mb@470F = 20</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0004">02 </item>
<item value="0x0008">03 </item>
<item value="0x000c">04 </item>
<item value="0x0012">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@048B4 = 4EB9000200004E71</action>
<action>maincpu.mq@20000 = 41F9000300044A68</action>
<action>maincpu.mq@20008 = FFFE66FA30FC0006</action>
<action>maincpu.mq@20010 = 30EE000430EE0006</action>
<action>maincpu.mq@20018 = 30EE000C30BC0000</action>
<action>maincpu.mq@20020 = 317C0001FFF633FC</action>
<action>maincpu.mq@20028 = 00000007800A33FC</action>
<action>maincpu.mq@20030 = 00010007800A4A68</action>
<action>maincpu.mq@20038 = FFF666FA2D680012</action>
<action>maincpu.mq@20040 = 0004363C93004E75</action>
<!--
20000 | 41F9 0003 0004 : lea $30004.l, A0
20006 | 4A68 FFFE : tst.w (-$2,A0)
2000A | 66FA : bne $20006
2000C | 30FC 0006 : move.w #$6, (A0)+
20010 | 30EE 0004 : move.w ($4,A6), (A0)+
20014 | 30EE 0006 : move.w ($6,A6), (A0)+
20018 | 30EE 000C : move.w ($c,A6), (A0)+
2001C | 30BC xxxx : move.w #$xx, (A0)
20020 | 317C 0001 FFF6 : move.w #$1, (-$a,A0)
20026 | 33FC 0000 0007 800A : move.w #$0, $7800a.l
2002E | 33FC 0001 0007 800A : move.w #$1, $7800a.l
20036 | 4A68 FFF6 : tst.w (-$a,A0)
2003A | 66FA : bne $20036
2003C | 2D68 0012 0004 : move.l ($12,A0), ($4,A6)
20042 | 363C 9300 : move.w #$9300, D3
20046 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@2001E = param</action>
</script>
<script state="off">
<action>maincpu.mq@048B4 = 6100D4CC363C9300</action>
<action>maincpu.mq@20000 = 0000000000000000</action>
<action>maincpu.mq@20008 = 0000000000000000</action>
<action>maincpu.mq@20010 = 0000000000000000</action>
<action>maincpu.mq@20018 = 0000000000000000</action>
<action>maincpu.mq@20020 = 0000000000000000</action>
<action>maincpu.mq@20028 = 0000000000000000</action>
<action>maincpu.mq@20030 = 0000000000000000</action>
<action>maincpu.mq@20038 = 0000000000000000</action>
<action>maincpu.mq@20040 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x19">02 </item>
<item value="0x32">03 </item>
<item value="0x4b">04 </item>
<item value="0x64">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@4C67 = param</action>
</script>
<script state="off">
<action>maincpu.mb@4C67 = 19</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@0A1FC = 00020050 </action>
<action>maincpu.mq@20050 = 41F90003100043F9</action>
<action>maincpu.mq@20058 = 0007A00112001039</action>
<action>maincpu.mq@20060 = 00078005B20067F4</action>
<action>maincpu.mq@20068 = 0C00000466025310</action>
<action>maincpu.mq@20070 = 0C00000866025210</action>
<action>maincpu.mq@20078 = 0C00000266040410</action>
<action>maincpu.mq@20080 = 00100C0000016604</action>
<action>maincpu.mq@20088 = 061000100C000010</action>
<action>maincpu.mq@20090 = 660212900C000020</action>
<action>maincpu.mq@20098 = 660412BC00FE60BC</action>
<!--
20050 | 41F9 0003 1000 : lea $31000.l, A0 // sound code address
20056 | 43F9 0007 A001 : lea $7a001.l, A1 // sound latch address
2005C | 1200 : move.b D0, D1
2005E | 1039 0007 8005 : move.b $78005.l, D0 // read input
20064 | B200 : cmp.b D0, D1
20066 | 67F4 : beq $2005c
20068 | 0C00 0004 : cmpi.b #$4, D0
2006C | 6602 : bne $20070
2006E | 5310 : subq.b #1, (A0) // decrease code -01
20070 | 0C00 0008 : cmpi.b #$8, D0
20074 | 6602 : bne $20078
20076 | 5210 : addq.b #1, (A0) // increase code +01
20078 | 0C00 0002 : cmpi.b #$2, D0
2007C | 6604 : bne $20082
2007E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
20082 | 0C00 0001 : cmpi.b #$1, D0
20086 | 6604 : bne $2008c
20088 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2008C | 0C00 0010 : cmpi.b #$10, D0
20090 | 6602 : bne $20094
20092 | 1290 : move.b (A0), (A1) // play sound
20094 | 0C00 0020 : cmpi.b #$20, D0
20098 | 6604 : bne $2009e
2009A | 12BC 00FE : move.b #$fe, (A1) // stop sound
2009E | 60BC : bra $2005c
-->
</script>
<script state="run">
<output format="----- hishou zame 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@31000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@0A1FC = 00002714 </action>
<action>maincpu.mq@20050 = 0000000000000000</action>
<action>maincpu.mq@20058 = 0000000000000000</action>
<action>maincpu.mq@20060 = 0000000000000000</action>
<action>maincpu.mq@20068 = 0000000000000000</action>
<action>maincpu.mq@20070 = 0000000000000000</action>
<action>maincpu.mq@20078 = 0000000000000000</action>
<action>maincpu.mq@20080 = 0000000000000000</action>
<action>maincpu.mq@20088 = 0000000000000000</action>
<action>maincpu.mq@20090 = 0000000000000000</action>
<action>maincpu.mq@20098 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@A208 = 013A</action> <!-- boot -->
<action>maincpu.mw@0B9E = 4E75</action> <!-- ingame -->
<action>maincpu.mw@1A86 = 4E75</action> <!-- ingame -->
<action>maincpu.mw@325A = 4E75</action> <!-- ingame -->
<action>maincpu.mw@4218 = 4E75</action> <!-- ingame -->
</script>
<script state="off">
<action>maincpu.mb@A356 = 0122</action>
<action>maincpu.mw@0B9E = 41F9</action>
<action>maincpu.mw@1A86 = 41F9</action>
<action>maincpu.mw@325A = 41F9</action>
<action>maincpu.mw@4218 = 41F9</action>
</script>
</cheat>
</mamecheat>
fsharkbt.xml
Code: Select all
<!-- Flying Shark (bootleg with 8741) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1CD2 = 60</action> <!-- bullet -->
<action>maincpu.mb@2AB4 = 60</action> <!-- enemy -->
<action>maincpu.mb@68BA = 60</action> <!-- boss -->
</script>
<script state="off">
<action>maincpu.mb@1CD2 = 66</action>
<action>maincpu.mb@2AB4 = 67</action>
<action>maincpu.mb@68BA = 67</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@47D3 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@47D3 = 20</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0004">02 </item>
<item value="0x0008">03 </item>
<item value="0x000c">04 </item>
<item value="0x0012">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@04978 = 4EB9000200004E71</action>
<action>maincpu.mq@20000 = 41F9000300044A68</action>
<action>maincpu.mq@20008 = FFFE66FA30FC0006</action>
<action>maincpu.mq@20010 = 30EE000430EE0006</action>
<action>maincpu.mq@20018 = 30EE000C30BC0000</action>
<action>maincpu.mq@20020 = 317C0001FFF633FC</action>
<action>maincpu.mq@20028 = 00000007800A33FC</action>
<action>maincpu.mq@20030 = 00010007800A4A68</action>
<action>maincpu.mq@20038 = FFF666FA2D680012</action>
<action>maincpu.mq@20040 = 0004363C93004E75</action>
<!--
20000 | 41F9 0003 0004 : lea $30004.l, A0
20006 | 4A68 FFFE : tst.w (-$2,A0)
2000A | 66FA : bne $20006
2000C | 30FC 0006 : move.w #$6, (A0)+
20010 | 30EE 0004 : move.w ($4,A6), (A0)+
20014 | 30EE 0006 : move.w ($6,A6), (A0)+
20018 | 30EE 000C : move.w ($c,A6), (A0)+
2001C | 30BC xxxx : move.w #$xx, (A0)
20020 | 317C 0001 FFF6 : move.w #$1, (-$a,A0)
20026 | 33FC 0000 0007 800A : move.w #$0, $7800a.l
2002E | 33FC 0001 0007 800A : move.w #$1, $7800a.l
20036 | 4A68 FFF6 : tst.w (-$a,A0)
2003A | 66FA : bne $20036
2003C | 2D68 0012 0004 : move.l ($12,A0), ($4,A6)
20042 | 363C 9300 : move.w #$9300, D3
20046 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@2001E = param</action>
</script>
<script state="off">
<action>maincpu.mq@04978 = 6100D3E8363C9300</action>
<action>maincpu.mq@20000 = 0000000000000000</action>
<action>maincpu.mq@20008 = 0000000000000000</action>
<action>maincpu.mq@20010 = 0000000000000000</action>
<action>maincpu.mq@20018 = 0000000000000000</action>
<action>maincpu.mq@20020 = 0000000000000000</action>
<action>maincpu.mq@20028 = 0000000000000000</action>
<action>maincpu.mq@20030 = 0000000000000000</action>
<action>maincpu.mq@20038 = 0000000000000000</action>
<action>maincpu.mq@20040 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x19">02 </item>
<item value="0x32">03 </item>
<item value="0x4b">04 </item>
<item value="0x64">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@4D2B = param</action>
</script>
<script state="off">
<action>maincpu.mb@4D2B = 19</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@0A242 = 00020050 </action>
<action>maincpu.mq@20050 = 41F90003100043F9</action>
<action>maincpu.mq@20058 = 0007A00112001039</action>
<action>maincpu.mq@20060 = 00078005B20067F4</action>
<action>maincpu.mq@20068 = 0C00000466025310</action>
<action>maincpu.mq@20070 = 0C00000866025210</action>
<action>maincpu.mq@20078 = 0C00000266040410</action>
<action>maincpu.mq@20080 = 00100C0000016604</action>
<action>maincpu.mq@20088 = 061000100C000010</action>
<action>maincpu.mq@20090 = 660212900C000020</action>
<action>maincpu.mq@20098 = 660412BC00FE60BC</action>
<!--
20050 | 41F9 0003 1000 : lea $31000.l, A0 // sound code address
20056 | 43F9 0007 A001 : lea $7a001.l, A1 // sound latch address
2005C | 1200 : move.b D0, D1
2005E | 1039 0007 8005 : move.b $78005.l, D0 // read input
20064 | B200 : cmp.b D0, D1
20066 | 67F4 : beq $2005c
20068 | 0C00 0004 : cmpi.b #$4, D0
2006C | 6602 : bne $20070
2006E | 5310 : subq.b #1, (A0) // decrease code -01
20070 | 0C00 0008 : cmpi.b #$8, D0
20074 | 6602 : bne $20078
20076 | 5210 : addq.b #1, (A0) // increase code +01
20078 | 0C00 0002 : cmpi.b #$2, D0
2007C | 6604 : bne $20082
2007E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
20082 | 0C00 0001 : cmpi.b #$1, D0
20086 | 6604 : bne $2008c
20088 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2008C | 0C00 0010 : cmpi.b #$10, D0
20090 | 6602 : bne $20094
20092 | 1290 : move.b (A0), (A1) // play sound
20094 | 0C00 0020 : cmpi.b #$20, D0
20098 | 6604 : bne $2009e
2009A | 12BC 00FE : move.b #$fe, (A1) // stop sound
2009E | 60BC : bra $2005c
-->
</script>
<script state="run">
<output format="----- flying shark 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@31000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@0A242 = 000026FC </action>
<action>maincpu.mq@20050 = 0000000000000000</action>
<action>maincpu.mq@20058 = 0000000000000000</action>
<action>maincpu.mq@20060 = 0000000000000000</action>
<action>maincpu.mq@20068 = 0000000000000000</action>
<action>maincpu.mq@20070 = 0000000000000000</action>
<action>maincpu.mq@20078 = 0000000000000000</action>
<action>maincpu.mq@20080 = 0000000000000000</action>
<action>maincpu.mq@20088 = 0000000000000000</action>
<action>maincpu.mq@20090 = 0000000000000000</action>
<action>maincpu.mq@20098 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@A24E = 013A</action> <!-- boot -->
<action>maincpu.mw@0BA0 = 4E75</action> <!-- ingame -->
<action>maincpu.mw@1A66 = 4E75</action> <!-- ingame -->
<action>maincpu.mw@3244 = 4E75</action> <!-- ingame -->
<action>maincpu.mw@42DC = 4E75</action> <!-- ingame -->
</script>
<script state="off">
<action>maincpu.mb@A24E = 0122</action>
<action>maincpu.mw@0BA0 = 41F9</action>
<action>maincpu.mw@1A66 = 41F9</action>
<action>maincpu.mw@3244 = 41F9</action>
<action>maincpu.mw@42DC = 41F9</action>
</script>
</cheat>
</mamecheat>
fnshark.xml
Code: Select all
<!-- Flyin' Shark (bootleg of Hishou Zame) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1CBA = 60</action> <!-- bullet -->
<action>maincpu.mb@2A92 = 60</action> <!-- enemy -->
<action>maincpu.mb@681E = 60</action> <!-- boss -->
</script>
<script state="off">
<action>maincpu.mb@1CBA = 66</action>
<action>maincpu.mb@2A92 = 67</action>
<action>maincpu.mb@681E = 67</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@4737 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@4737 = 20</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0004">02 </item>
<item value="0x0008">03 </item>
<item value="0x000c">04 </item>
<item value="0x0012">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@048DC = 4EB9000200004E71</action>
<action>maincpu.mq@20000 = 41F9000300044A68</action>
<action>maincpu.mq@20008 = FFFE66FA30FC0006</action>
<action>maincpu.mq@20010 = 30EE000430EE0006</action>
<action>maincpu.mq@20018 = 30EE000C30BC0000</action>
<action>maincpu.mq@20020 = 317C0001FFF633FC</action>
<action>maincpu.mq@20028 = 00000007800A33FC</action>
<action>maincpu.mq@20030 = 00010007800A4A68</action>
<action>maincpu.mq@20038 = FFF666FA2D680012</action>
<action>maincpu.mq@20040 = 0004363C93004E75</action>
<!--
20000 | 41F9 0003 0004 : lea $30004.l, A0
20006 | 4A68 FFFE : tst.w (-$2,A0)
2000A | 66FA : bne $20006
2000C | 30FC 0006 : move.w #$6, (A0)+
20010 | 30EE 0004 : move.w ($4,A6), (A0)+
20014 | 30EE 0006 : move.w ($6,A6), (A0)+
20018 | 30EE 000C : move.w ($c,A6), (A0)+
2001C | 30BC xxxx : move.w #$xx, (A0)
20020 | 317C 0001 FFF6 : move.w #$1, (-$a,A0)
20026 | 33FC 0000 0007 800A : move.w #$0, $7800a.l
2002E | 33FC 0001 0007 800A : move.w #$1, $7800a.l
20036 | 4A68 FFF6 : tst.w (-$a,A0)
2003A | 66FA : bne $20036
2003C | 2D68 0012 0004 : move.l ($12,A0), ($4,A6)
20042 | 363C 9300 : move.w #$9300, D3
20046 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@2001E = param</action>
</script>
<script state="off">
<action>maincpu.mq@048DC = 6100D46C363C9300</action>
<action>maincpu.mq@20000 = 0000000000000000</action>
<action>maincpu.mq@20008 = 0000000000000000</action>
<action>maincpu.mq@20010 = 0000000000000000</action>
<action>maincpu.mq@20018 = 0000000000000000</action>
<action>maincpu.mq@20020 = 0000000000000000</action>
<action>maincpu.mq@20028 = 0000000000000000</action>
<action>maincpu.mq@20030 = 0000000000000000</action>
<action>maincpu.mq@20038 = 0000000000000000</action>
<action>maincpu.mq@20040 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x19">02 </item>
<item value="0x32">03 </item>
<item value="0x4b">04 </item>
<item value="0x64">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@4C8F = param</action>
</script>
<script state="off">
<action>maincpu.mb@4C8F = 19</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@0A1A6 = 00020050 </action>
<action>maincpu.mq@20050 = 41F90003100043F9</action>
<action>maincpu.mq@20058 = 0007A00112001039</action>
<action>maincpu.mq@20060 = 00078005B20067F4</action>
<action>maincpu.mq@20068 = 0C00000466025310</action>
<action>maincpu.mq@20070 = 0C00000866025210</action>
<action>maincpu.mq@20078 = 0C00000266040410</action>
<action>maincpu.mq@20080 = 00100C0000016604</action>
<action>maincpu.mq@20088 = 061000100C000010</action>
<action>maincpu.mq@20090 = 660212900C000020</action>
<action>maincpu.mq@20098 = 660412BC00FE60BC</action>
<!--
20050 | 41F9 0003 1000 : lea $31000.l, A0 // sound code address
20056 | 43F9 0007 A001 : lea $7a001.l, A1 // sound latch address
2005C | 1200 : move.b D0, D1
2005E | 1039 0007 8005 : move.b $78005.l, D0 // read input
20064 | B200 : cmp.b D0, D1
20066 | 67F4 : beq $2005c
20068 | 0C00 0004 : cmpi.b #$4, D0
2006C | 6602 : bne $20070
2006E | 5310 : subq.b #1, (A0) // decrease code -01
20070 | 0C00 0008 : cmpi.b #$8, D0
20074 | 6602 : bne $20078
20076 | 5210 : addq.b #1, (A0) // increase code +01
20078 | 0C00 0002 : cmpi.b #$2, D0
2007C | 6604 : bne $20082
2007E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
20082 | 0C00 0001 : cmpi.b #$1, D0
20086 | 6604 : bne $2008c
20088 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2008C | 0C00 0010 : cmpi.b #$10, D0
20090 | 6602 : bne $20094
20092 | 1290 : move.b (A0), (A1) // play sound
20094 | 0C00 0020 : cmpi.b #$20, D0
20098 | 6604 : bne $2009e
2009A | 12BC 00FE : move.b #$fe, (A1) // stop sound
2009E | 60BC : bra $2005c
-->
</script>
<script state="run">
<output format="----- flyin' shark 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@31000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@0A1A6 = 000026DC </action>
<action>maincpu.mq@20050 = 0000000000000000</action>
<action>maincpu.mq@20058 = 0000000000000000</action>
<action>maincpu.mq@20060 = 0000000000000000</action>
<action>maincpu.mq@20068 = 0000000000000000</action>
<action>maincpu.mq@20070 = 0000000000000000</action>
<action>maincpu.mq@20078 = 0000000000000000</action>
<action>maincpu.mq@20080 = 0000000000000000</action>
<action>maincpu.mq@20088 = 0000000000000000</action>
<action>maincpu.mq@20090 = 0000000000000000</action>
<action>maincpu.mq@20098 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@A1B2 = 013A</action> <!-- boot -->
<action>maincpu.mw@0BA0 = 4E75</action> <!-- ingame -->
<action>maincpu.mw@1A4E = 4E75</action> <!-- ingame -->
<action>maincpu.mw@3222 = 4E75</action> <!-- ingame -->
<action>maincpu.mw@4240 = 4E75</action> <!-- ingame -->
</script>
<script state="off">
<action>maincpu.mb@A356 = 0122</action>
<action>maincpu.mw@0BBE = 41F9</action>
<action>maincpu.mw@1A86 = 41F9</action>
<action>maincpu.mw@325A = 41F9</action>
<action>maincpu.mw@4240 = 41F9</action>
</script>
</cheat>
</mamecheat>
skysharkb.xml
Code: Select all
<!-- Sky Shark (bootleg) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1CBA = 60</action> <!-- bullet -->
<action>maincpu.mb@2A92 = 60</action> <!-- enemy -->
<action>maincpu.mb@681E = 60</action> <!-- boss -->
</script>
<script state="off">
<action>maincpu.mb@1CBA = 66</action>
<action>maincpu.mb@2A92 = 67</action>
<action>maincpu.mb@681E = 67</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@4737 = 01</action>
</script>
<script state="off">
<action>maincpu.mb@4737 = 20</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0004">02 </item>
<item value="0x0008">03 </item>
<item value="0x000c">04 </item>
<item value="0x0012">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mq@048DC = 4EB9000200004E71</action>
<action>maincpu.mq@20000 = 41F9000300044A68</action>
<action>maincpu.mq@20008 = FFFE66FA30FC0006</action>
<action>maincpu.mq@20010 = 30EE000430EE0006</action>
<action>maincpu.mq@20018 = 30EE000C30BC0000</action>
<action>maincpu.mq@20020 = 317C0001FFF633FC</action>
<action>maincpu.mq@20028 = 00000007800A33FC</action>
<action>maincpu.mq@20030 = 00010007800A4A68</action>
<action>maincpu.mq@20038 = FFF666FA2D680012</action>
<action>maincpu.mq@20040 = 0004363C93004E75</action>
<!--
20000 | 41F9 0003 0004 : lea $30004.l, A0
20006 | 4A68 FFFE : tst.w (-$2,A0)
2000A | 66FA : bne $20006
2000C | 30FC 0006 : move.w #$6, (A0)+
20010 | 30EE 0004 : move.w ($4,A6), (A0)+
20014 | 30EE 0006 : move.w ($6,A6), (A0)+
20018 | 30EE 000C : move.w ($c,A6), (A0)+
2001C | 30BC xxxx : move.w #$xx, (A0)
20020 | 317C 0001 FFF6 : move.w #$1, (-$a,A0)
20026 | 33FC 0000 0007 800A : move.w #$0, $7800a.l
2002E | 33FC 0001 0007 800A : move.w #$1, $7800a.l
20036 | 4A68 FFF6 : tst.w (-$a,A0)
2003A | 66FA : bne $20036
2003C | 2D68 0012 0004 : move.l ($12,A0), ($4,A6)
20042 | 363C 9300 : move.w #$9300, D3
20046 | 4E75 : rts
-->
</script>
<script state="change">
<action>maincpu.mw@2001E = param</action>
</script>
<script state="off">
<action>maincpu.mq@048DC = 6100D46C363C9300</action>
<action>maincpu.mq@20000 = 0000000000000000</action>
<action>maincpu.mq@20008 = 0000000000000000</action>
<action>maincpu.mq@20010 = 0000000000000000</action>
<action>maincpu.mq@20018 = 0000000000000000</action>
<action>maincpu.mq@20020 = 0000000000000000</action>
<action>maincpu.mq@20028 = 0000000000000000</action>
<action>maincpu.mq@20030 = 0000000000000000</action>
<action>maincpu.mq@20038 = 0000000000000000</action>
<action>maincpu.mq@20040 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x19">02 </item>
<item value="0x32">03 </item>
<item value="0x4b">04 </item>
<item value="0x64">05 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@4C8F = param</action>
</script>
<script state="off">
<action>maincpu.mb@4C8F = 19</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@0A1A6 = 00020050 </action>
<action>maincpu.mq@20050 = 41F90003100043F9</action>
<action>maincpu.mq@20058 = 0007A00112001039</action>
<action>maincpu.mq@20060 = 00078005B20067F4</action>
<action>maincpu.mq@20068 = 0C00000466025310</action>
<action>maincpu.mq@20070 = 0C00000866025210</action>
<action>maincpu.mq@20078 = 0C00000266040410</action>
<action>maincpu.mq@20080 = 00100C0000016604</action>
<action>maincpu.mq@20088 = 061000100C000010</action>
<action>maincpu.mq@20090 = 660212900C000020</action>
<action>maincpu.mq@20098 = 660412BC00FE60BC</action>
<!--
20050 | 41F9 0003 1000 : lea $31000.l, A0 // sound code address
20056 | 43F9 0007 A001 : lea $7a001.l, A1 // sound latch address
2005C | 1200 : move.b D0, D1
2005E | 1039 0007 8005 : move.b $78005.l, D0 // read input
20064 | B200 : cmp.b D0, D1
20066 | 67F4 : beq $2005c
20068 | 0C00 0004 : cmpi.b #$4, D0
2006C | 6602 : bne $20070
2006E | 5310 : subq.b #1, (A0) // decrease code -01
20070 | 0C00 0008 : cmpi.b #$8, D0
20074 | 6602 : bne $20078
20076 | 5210 : addq.b #1, (A0) // increase code +01
20078 | 0C00 0002 : cmpi.b #$2, D0
2007C | 6604 : bne $20082
2007E | 0410 0010 : subi.b #$10, (A0) // decrease code -10
20082 | 0C00 0001 : cmpi.b #$1, D0
20086 | 6604 : bne $2008c
20088 | 0610 0010 : addi.b #$10, (A0) // increase code +10
2008C | 0C00 0010 : cmpi.b #$10, D0
20090 | 6602 : bne $20094
20092 | 1290 : move.b (A0), (A1) // play sound
20094 | 0C00 0020 : cmpi.b #$20, D0
20098 | 6604 : bne $2009e
2009A | 12BC 00FE : move.b #$fe, (A1) // stop sound
2009E | 60BC : bra $2005c
-->
</script>
<script state="run">
<output format="----- sky shark 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@31000</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@0A1A6 = 000026DC </action>
<action>maincpu.mq@20050 = 0000000000000000</action>
<action>maincpu.mq@20058 = 0000000000000000</action>
<action>maincpu.mq@20060 = 0000000000000000</action>
<action>maincpu.mq@20068 = 0000000000000000</action>
<action>maincpu.mq@20070 = 0000000000000000</action>
<action>maincpu.mq@20078 = 0000000000000000</action>
<action>maincpu.mq@20080 = 0000000000000000</action>
<action>maincpu.mq@20088 = 0000000000000000</action>
<action>maincpu.mq@20090 = 0000000000000000</action>
<action>maincpu.mq@20098 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>maincpu.mw@A1B2 = 013A</action> <!-- boot -->
<action>maincpu.mw@0BA0 = 4E75</action> <!-- ingame -->
<action>maincpu.mw@1A4E = 4E75</action> <!-- ingame -->
<action>maincpu.mw@3222 = 4E75</action> <!-- ingame -->
<action>maincpu.mw@4240 = 4E75</action> <!-- ingame -->
</script>
<script state="off">
<action>maincpu.mb@A1B2 = 0122</action>
<action>maincpu.mw@0BA0 = 41F9</action>
<action>maincpu.mw@1A4E = 41F9</action>
<action>maincpu.mw@3222 = 41F9</action>
<action>maincpu.mw@4240 = 41F9</action>
</script>
</cheat>
</mamecheat>
- "player speed" : Rewritten routine. No longer check take-off/landing flags.
- "sound test mode" : Rewritten routine.
- "skip rom check" : Changed from "skip rom error".