Code: Select all
<!-- Arrow Flash (World) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- objects -->
<action>mdslot:cart:rom.mq@0FD74 = 00024EB90003FD60</action>
<action>mdslot:cart:rom.mq@3FD60 = 0C68000B0004670E</action>
<action>mdslot:cart:rom.mq@3FD68 = 4A7900FF32EA6604</action>
<action>mdslot:cart:rom.mq@3FD70 = 70014E7570004E75</action>
<!--
3FD60 | 0C68 000B 0004 : cmpi.w #$b, ($4,A0) // is item?
3FD66 | 670E : beq $3fd76
3FD68 | 4A79 00FF 32EA : tst.w $ff32ea.l // is used arrow flash in robot mode?
3FD6E | 6604 : bne $3fd74
3FD70 | 7001 : moveq #$1, D0
3FD72 | 4E75 : rts
3FD74 | 7000 : moveq #$0, D0
3FD76 | 4E75 : rts
-->
<action>mdslot:cart:rom.mb@8C4A = 60</action> <!-- background -->
</script>
<script state="off">
<action>mdslot:cart:rom.mq@0FD74 = 00160C68000B0004</action>
<action>mdslot:cart:rom.mq@3FD60 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FD68 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FD70 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mb@08C4A = 66 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>mdslot:cart:rom.mb@0B07 = 02</action> <!-- flag -->
<action>mdslot:cart:rom.mb@0B0D = 00</action> <!-- timer -->
</script>
<script state="off">
<action>mdslot:cart:rom.mb@0B07 = 1C</action>
<action>mdslot:cart:rom.mb@0B0D = 07</action>
</script>
</cheat>
<cheat desc="player speed (test)">
<!-- speed doesn't change in robot mode with arrow flash -->
<parameter>
<item value="0x7a01">01 (slow)</item>
<item value="0x7a02">02 </item>
<item value="0x7a04">03 </item>
<item value="0x7a06">04 </item>
<item value="0x7a08">05 (fast)</item>
</parameter>
<script state="change">
<action>mdslot:cart:rom.mw@8E92 = param</action>
</script>
<script state="off">
<action>mdslot:cart:rom.mw@8E92 = DA41</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- no sound response after playing 0x4f or later -->
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>mdslot:cart:rom.md@00DEC = 0003FD80 </action>
<action>mdslot:cart:rom.mq@3FD80 = 41F8800043F88001</action>
<action>mdslot:cart:rom.mq@3FD88 = 123900FF07ACB211</action>
<action>mdslot:cart:rom.mq@3FD90 = 67400C0100046602</action>
<action>mdslot:cart:rom.mq@3FD98 = 53100C0100086602</action>
<action>mdslot:cart:rom.mq@3FDA0 = 52100C0100026604</action>
<action>mdslot:cart:rom.mq@3FDA8 = 041000100C010001</action>
<action>mdslot:cart:rom.mq@3FDB0 = 6604061000100C01</action>
<action>mdslot:cart:rom.mq@3FDB8 = 0040660810100000</action>
<action>mdslot:cart:rom.mq@3FDC0 = 0080600A0C010010</action>
<action>mdslot:cart:rom.mq@3FDC8 = 6608103C00FE4EB8</action>
<action>mdslot:cart:rom.mq@3FDD0 = 0C7A12814E75FFFF</action>
<!--
3FD80 | 41F8 8000 : lea $8000.w, A0 // sound code address ($ff8000)
3FD84 | 43F8 8001 : lea $8001.w, A1 // temporary input address ($ff8001)
3FD88 | 1239 00FF 07AC : move.b $ff07ac.l, D1 // read input
3FD8E | B211 : cmp.b (A1), D1
3FD90 | 6740 : beq $3fdd2
3FD92 | 0C01 0004 : cmpi.b #$4, D1
3FD96 | 6602 : bne $3fd9a
3FD98 | 5310 : subq.b #1, (A0) // decrease code -01
3FD9A | 0C01 0008 : cmpi.b #$8, D1
3FD9E | 6602 : bne $3fda2
3FDA0 | 5210 : addq.b #1, (A0) // increase code +01
3FDA2 | 0C01 0002 : cmpi.b #$2, D1
3FDA6 | 6604 : bne $3fdac
3FDA8 | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3FDAC | 0C01 0001 : cmpi.b #$1, D1
3FDB0 | 6604 : bne $3fdb6
3FDB2 | 0610 0010 : addi.b #$10, (A0) // increase code +10
3FDB6 | 0C01 0040 : cmpi.b #$40, D1
3FDBA | 6608 : bne $3fdc4
3FDBC | 1010 : move.b (A0), D0 // play sound
3FDBE | 0000 0080 : ori.b #$80, D0
3FDC2 | 600A : bra $3fdce
3FDC4 | 0C01 0010 : cmpi.b #$10, D1
3FDC8 | 6608 : bne $3fdd2
3FDCA | 103C 00FE : move.b #$fe, D0 // stop sound
3FDCE | 4EB8 0C7A : jsr $c7a.w // send sound code
3FDD2 | 1281 : move.b D1, (A1)
3FDD4 | 4E75 : rts
-->
</script>
<script state="run">
<output format="----- sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@FF8000</argument>
</output>
</script>
<script state="off">
<action>mdslot:cart:rom.md@00DEC = 00000E10 </action>
<action>mdslot:cart:rom.mq@3FD80 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FD88 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FD90 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FD98 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FDA0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FDA8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FDB0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FDB8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FDC0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FDC8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FDD0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- Arrow Flash (USA, prototype) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- objects -->
<action>mdslot:cart:rom.mq@0FCCE = 00024EB90003FD60</action>
<action>mdslot:cart:rom.mq@3FD60 = 0C68000B0004670E</action>
<action>mdslot:cart:rom.mq@3FD68 = 4A7900FF32EA6604</action>
<action>mdslot:cart:rom.mq@3FD70 = 70014E7570004E75</action>
<!--
3FD60 | 0C68 000B 0004 : cmpi.w #$b, ($4,A0) // is item?
3FD66 | 670E : beq $3fd76
3FD68 | 4A79 00FF 32EA : tst.w $ff32ea.l // is used arrow flash in robot mode?
3FD6E | 6604 : bne $3fd74
3FD70 | 7001 : moveq #$1, D0
3FD72 | 4E75 : rts
3FD74 | 7000 : moveq #$0, D0
3FD76 | 4E75 : rts
-->
<action>mdslot:cart:rom.mb@8BA4 = 60</action> <!-- background -->
</script>
<script state="off">
<action>mdslot:cart:rom.mq@0FCCE = 00160C68000B0004</action>
<action>mdslot:cart:rom.mq@3FD60 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FD68 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FD70 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mb@08BA4 = 66 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>mdslot:cart:rom.mb@0B07 = 02</action> <!-- flag -->
<action>mdslot:cart:rom.mb@0B0D = 00</action> <!-- timer -->
</script>
<script state="off">
<action>mdslot:cart:rom.mb@0B07 = 1C</action>
<action>mdslot:cart:rom.mb@0B0D = 07</action>
</script>
</cheat>
<cheat desc="player speed (test)">
<!-- speed doesn't change in robot mode with arrow flash -->
<parameter>
<item value="0x7a01">01 (slow)</item>
<item value="0x7a02">02 </item>
<item value="0x7a04">03 </item>
<item value="0x7a06">04 </item>
<item value="0x7a08">05 (fast)</item>
</parameter>
<script state="change">
<action>mdslot:cart:rom.mw@8DEC = param</action>
</script>
<script state="off">
<action>mdslot:cart:rom.mw@8DEC = DA41</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- no sound response after playing 0x4f or later -->
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>mdslot:cart:rom.md@00DFE = 0003FD80 </action>
<action>mdslot:cart:rom.mq@3FD80 = 41F8800043F88001</action>
<action>mdslot:cart:rom.mq@3FD88 = 123900FF07ACB211</action>
<action>mdslot:cart:rom.mq@3FD90 = 67400C0100046602</action>
<action>mdslot:cart:rom.mq@3FD98 = 53100C0100086602</action>
<action>mdslot:cart:rom.mq@3FDA0 = 52100C0100026604</action>
<action>mdslot:cart:rom.mq@3FDA8 = 041000100C010001</action>
<action>mdslot:cart:rom.mq@3FDB0 = 6604061000100C01</action>
<action>mdslot:cart:rom.mq@3FDB8 = 0040660810100000</action>
<action>mdslot:cart:rom.mq@3FDC0 = 0080600A0C010010</action>
<action>mdslot:cart:rom.mq@3FDC8 = 6608103C00FE4EB8</action>
<action>mdslot:cart:rom.mq@3FDD0 = 0C7A12814E75FFFF</action>
<!--
3FD80 | 41F8 8000 : lea $8000.w, A0 // sound code address ($ff8000)
3FD84 | 43F8 8001 : lea $8001.w, A1 // temporary input address ($ff8001)
3FD88 | 1239 00FF 07AC : move.b $ff07ac.l, D1 // read input
3FD8E | B211 : cmp.b (A1), D1
3FD90 | 6740 : beq $3fdd2
3FD92 | 0C01 0004 : cmpi.b #$4, D1
3FD96 | 6602 : bne $3fd9a
3FD98 | 5310 : subq.b #1, (A0) // decrease code -01
3FD9A | 0C01 0008 : cmpi.b #$8, D1
3FD9E | 6602 : bne $3fda2
3FDA0 | 5210 : addq.b #1, (A0) // increase code +01
3FDA2 | 0C01 0002 : cmpi.b #$2, D1
3FDA6 | 6604 : bne $3fdac
3FDA8 | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3FDAC | 0C01 0001 : cmpi.b #$1, D1
3FDB0 | 6604 : bne $3fdb6
3FDB2 | 0610 0010 : addi.b #$10, (A0) // increase code +10
3FDB6 | 0C01 0040 : cmpi.b #$40, D1
3FDBA | 6608 : bne $3fdc4
3FDBC | 1010 : move.b (A0), D0 // play sound
3FDBE | 0000 0080 : ori.b #$80, D0
3FDC2 | 600A : bra $3fdce
3FDC4 | 0C01 0010 : cmpi.b #$10, D1
3FDC8 | 6608 : bne $3fdd2
3FDCA | 103C 00FE : move.b #$fe, D0 // stop sound
3FDCE | 4EB8 0C7A : jsr $c7a.w // send sound code
3FDD2 | 1281 : move.b D1, (A1)
3FDD4 | 4E75 : rts
-->
</script>
<script state="run">
<output format="----- sound test mode -----" line="10" align="center" />
<output format="left : decrease code -01" line="11" align="center" />
<output format="right : increase code +01" line="12" align="center" />
<output format="down : decrease code -10" line="13" align="center" />
<output format="up : increase code +10" line="14" align="center" />
<output format="button 1 : play sound" line="15" align="center" />
<output format="button 2 : stop sound" line="16" align="center" />
<output format="----------------------------" line="17" align="center" />
<output format="<< sound code %02X >>" line="19" align="center" >
<argument>maincpu.pb@FF8000</argument>
</output>
</script>
<script state="off">
<action>mdslot:cart:rom.md@00DFE = 00000E22 </action>
<action>mdslot:cart:rom.mq@3FD80 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FD88 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FD90 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FD98 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FDA0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FDA8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FDB0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FDB8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FDC0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FDC8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FDD0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>