megadriv/grindst.xml
Code: Select all
<!-- Grind Stormer (USA) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>mdslot:cart:rom.mb@D463 = 52</action> <!-- burner -->
<action>mdslot:cart:rom.mb@D482 = 60</action> <!-- objects -->
</script>
<script state="off">
<action>mdslot:cart:rom.mb@D463 = 24</action>
<action>mdslot:cart:rom.mb@D482 = 6A</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>mdslot:cart:rom.mw@B946 = 4E71</action> <!-- open shot (player) -->
<action>mdslot:cart:rom.mw@BA78 = 0000</action> <!-- shot (subunits) -->
<action>mdslot:cart:rom.mw@BC0A = 4E71</action> <!-- search (subunits) -->
<action>mdslot:cart:rom.mw@BCF6 = 4E71</action> <!-- missile (subunits) -->
<action>mdslot:cart:rom.mw@BE2C = 4E71</action> <!-- close shot (player) -->
</script>
<script state="off">
<action>mdslot:cart:rom.mw@B946 = 674A</action>
<action>mdslot:cart:rom.mw@BA78 = 0003</action>
<action>mdslot:cart:rom.mw@BC0A = 6756</action>
<action>mdslot:cart:rom.mw@BCF6 = 674E</action>
<action>mdslot:cart:rom.mw@BE2C = 6746</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0010">01 (slow)</item>
<item value="0x0080">02 </item>
<item value="0x0100">03 </item>
<item value="0x0180">04 </item>
<item value="0x0200">05 (fast)</item>
</parameter>
<script state="on">
<action>mdslot:cart:rom.mq@0C198 = 4EB90001EA304E71</action>
<action>mdslot:cart:rom.mq@1EA30 = 303C00104A416706</action>
<action>mdslot:cart:rom.mq@1EA38 = 6A0244403200303C</action>
<action>mdslot:cart:rom.mq@1EA40 = 00104A4267066A02</action>
<action>mdslot:cart:rom.mq@1EA48 = 44403400D2680018</action>
<action>mdslot:cart:rom.mq@1EA50 = D468001A4E75FFFF</action>
<!--
1EA30 | 303C xxxx : move.w #$xx, D0
1EA34 | 4A41 : tst.w D1
1EA36 | 6706 : beq $1ea3e
1EA38 | 6A02 : bpl $1ea3c
1EA3A | 4440 : neg.w D0
1EA3C | 3200 : move.w D0, D1
1EA3E | 303C xxxx : move.w #$xx, D0
1EA42 | 4A42 : tst.w D2
1EA44 | 6706 : beq $1ea4c
1EA46 | 6A02 : bpl $1ea4a
1EA48 | 4440 : neg.w D0
1EA4A | 3400 : move.w D0, D2
1EA4C | D268 0018 : add.w ($18,A0), D1
1EA50 | D468 001A : add.w ($1a,A0), D2
1EA54 | 4E75 : rts
-->
</script>
<script state="change">
<action>mdslot:cart:rom.mw@1EA32 = param</action>
<action>mdslot:cart:rom.mw@1EA40 = param</action>
</script>
<script state="off">
<action>mdslot:cart:rom.mq@0C198 = D2680018D468001A</action>
<action>mdslot:cart:rom.mq@1EA30 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EA38 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EA40 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EA48 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EA50 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="next cursor">
<comment>button C sets cursor to next</comment>
<script state="on">
<action>mdslot:cart:rom.mq@0AFD4 = 4EB90001EA58672C</action>
<action>mdslot:cart:rom.mq@1EA58 = 08380005D8A56716</action>
<action>mdslot:cart:rom.mq@1EA60 = 5878D9500C78001C</action>
<action>mdslot:cart:rom.mq@1EA68 = D95065044278D950</action>
<action>mdslot:cart:rom.mq@1EA70 = 4EB90000AB7E0838</action>
<action>mdslot:cart:rom.mq@1EA78 = 0004D8A54E75FFFF</action>
<!--
1EA58 | 0838 0005 D8A5 : btst #$5, $d8a5.w
1EA5E | 6716 : beq $1eb96
1EA60 | 5878 D950 : addq.w #4, $d950.w
1EA64 | 0C78 001C D950 : cmpi.w #$1c, $d950.w
1EA6A | 6504 : bcs $1eb90
1EA6C | 4278 D950 : clr.w $d950.w
1EA70 | 4EB9 0000 AB7E : jsr $ab7e.l // update cursor gfx
1EA76 | 0838 0004 D8A5 : btst #$4, $d8a5.w
1EA7C | 4E75 : rts
-->
</script>
<script state="off">
<action>mdslot:cart:rom.mq@0B09A = 08380004D8A5672C</action>
<action>mdslot:cart:rom.mq@1EA58 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EA60 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EA68 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EA70 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EA78 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="sound test mode">
<script state="on">
<action>mdslot:cart:rom.mq@02BF8 = 4EB90001EA806000</action>
<action>mdslot:cart:rom.mq@1EA80 = 41F8800043F900A1</action>
<action>mdslot:cart:rom.mq@1EA88 = 110045F900A01740</action>
<action>mdslot:cart:rom.mq@1EA90 = 47EA03A01038D8A5</action>
<action>mdslot:cart:rom.mq@1EA98 = 0C00000466025310</action>
<action>mdslot:cart:rom.mq@1EAA0 = 0C00000866025210</action>
<action>mdslot:cart:rom.mq@1EAA8 = 0C00000266040410</action>
<action>mdslot:cart:rom.mq@1EAB0 = 00100C0000016604</action>
<action>mdslot:cart:rom.mq@1EAB8 = 061000100C000040</action>
<action>mdslot:cart:rom.mq@1EAC0 = 661232BC01001210</action>
<action>mdslot:cart:rom.mq@1EAC8 = 0C01000D64041481</action>
<action>mdslot:cart:rom.mq@1EAD0 = 600216810C000010</action>
<action>mdslot:cart:rom.mq@1EAD8 = 660832BC01004212</action>
<action>mdslot:cart:rom.mq@1EAE0 = 421370044E75FFFF</action>
<!--
1EA80 | 41F8 8000 : lea $8000.w, A0 // sound code address ($FF8000)
1EA84 | 43F9 00A1 1100 : lea $a11100.l, A1 // z80 bus request address
1EA8A | 45F9 00A0 1740 : lea $a01740.l, A2 // music latch address
1EA90 | 47EA 03A0 : lea ($3a0,A2), A3 // sfx latch address ($A01AE0)
1EA94 | 1038 D8A5 : move.b $d8a5.w, D0 // read input ($FFD8A5)
1EA98 | 0C00 0004 : cmpi.b #$4, D0
1EA9C | 6602 : bne $1eaa0
1EA9E | 5310 : subq.b #1, (A0) // decrease code -01
1EAA0 | 0C00 0008 : cmpi.b #$8, D0
1EAA4 | 6602 : bne $1eaa8
1EAA6 | 5210 : addq.b #1, (A0) // increase code +01
1EAA8 | 0C00 0002 : cmpi.b #$2, D0
1EAAC | 6604 : bne $1eab2
1EAAE | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1EAB2 | 0C00 0001 : cmpi.b #$1, D0
1EAB6 | 6604 : bne $1eabc
1EAB8 | 0610 0010 : addi.b #$10, (A0) // increase code +10
1EABC | 0C00 0040 : cmpi.b #$40, D0
1EAC0 | 6612 : bne $1ead4
1EAC2 | 32BC 0100 : move.w #$100, (A1) // play sound
1EAC6 | 1210 : move.b (A0), D1
1EAC8 | 0C01 000D : cmpi.b #$d, D1
1EACC | 6404 : bcc $1ead2
1EACE | 1481 : move.b D1, (A2) // music
1EAD0 | 6002 : bra $1ead4
1EAD2 | 1681 : move.b D1, (A3) // sfx
1EAD4 | 0C00 0010 : cmpi.b #$10, D0
1EAD8 | 6608 : bne $1eae2
1EADA | 32BC 0100 : move.w #$100, (A1) // stop sound
1EADE | 4212 : clr.b (A2)
1EAE0 | 4213 : clr.b (A3)
1EAE2 | 7004 : moveq #$4, D0
1EAE4 | 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.mq@02BF8 = 5478D8AA70046000</action>
<action>mdslot:cart:rom.mq@1EA80 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EA88 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EA90 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EA98 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EAA0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EAA8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EAB0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EAB8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EAC0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EAC8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EAD0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EAD8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EAE0 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
megadriv/vfive.xml
Code: Select all
<!-- V-Five (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>mdslot:cart:rom.mb@D564 = 60</action> <!-- burner -->
<action>mdslot:cart:rom.mb@D594 = 60</action> <!-- objects -->
</script>
<script state="off">
<action>mdslot:cart:rom.mb@D564 = 66</action>
<action>mdslot:cart:rom.mb@D594 = 6A</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>mdslot:cart:rom.mw@BA20 = 4E71</action> <!-- open shot (player) -->
<action>mdslot:cart:rom.mw@BB52 = 0000</action> <!-- shot (subunits) -->
<action>mdslot:cart:rom.mw@BCE4 = 4E71</action> <!-- search (subunits) -->
<action>mdslot:cart:rom.mw@BDD0 = 4E71</action> <!-- missile (subunits) -->
<action>mdslot:cart:rom.mw@BF06 = 4E71</action> <!-- close shot (player) -->
</script>
<script state="off">
<action>mdslot:cart:rom.mw@BA20 = 674A</action>
<action>mdslot:cart:rom.mw@BB52 = 0003</action>
<action>mdslot:cart:rom.mw@BCE4 = 6756</action>
<action>mdslot:cart:rom.mw@BDD0 = 674E</action>
<action>mdslot:cart:rom.mw@BF06 = 6746</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0010">01 (slow)</item>
<item value="0x0080">02 </item>
<item value="0x0100">03 </item>
<item value="0x0180">04 </item>
<item value="0x0200">05 (fast)</item>
</parameter>
<script state="on">
<action>mdslot:cart:rom.mq@0C27C = 4EB90001EB504E71</action>
<action>mdslot:cart:rom.mq@1EB50 = 303C00104A416706</action>
<action>mdslot:cart:rom.mq@1EB58 = 6A0244403200303C</action>
<action>mdslot:cart:rom.mq@1EB60 = 00104A4267066A02</action>
<action>mdslot:cart:rom.mq@1EB68 = 44403400D2680018</action>
<action>mdslot:cart:rom.mq@1EB70 = D468001A4E75FFFF</action>
<!--
1EB50 | 303C xxxx : move.w #$xx, D0
1EB54 | 4A41 : tst.w D1
1EB56 | 6706 : beq $1eb5e
1EB58 | 6A02 : bpl $1eb5c
1EB5A | 4440 : neg.w D0
1EB5C | 3200 : move.w D0, D1
1EB5E | 303C xxxx : move.w #$xx, D0
1EB62 | 4A42 : tst.w D2
1EB64 | 6706 : beq $1eb6c
1EB66 | 6A02 : bpl $1eb6a
1EB68 | 4440 : neg.w D0
1EB6A | 3400 : move.w D0, D2
1EB6C | D268 0018 : add.w ($18,A0), D1
1EB70 | D468 001A : add.w ($1a,A0), D2
1EB74 | 4E75 : rts
-->
</script>
<script state="change">
<action>mdslot:cart:rom.mw@1EB52 = param</action>
<action>mdslot:cart:rom.mw@1EB60 = param</action>
</script>
<script state="off">
<action>mdslot:cart:rom.mq@0C27C = D2680018D468001A</action>
<action>mdslot:cart:rom.mq@1EB50 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EB58 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EB60 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EB68 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EB70 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="next cursor">
<comment>button C sets cursor to next</comment>
<script state="on">
<action>mdslot:cart:rom.mq@0B09A = 4EB90001EB78672C</action>
<action>mdslot:cart:rom.mq@1EB78 = 08380005D8A56716</action>
<action>mdslot:cart:rom.mq@1EB80 = 5878D9500C78001C</action>
<action>mdslot:cart:rom.mq@1EB88 = D95065044278D950</action>
<action>mdslot:cart:rom.mq@1EB90 = 4EB90000ABD00838</action>
<action>mdslot:cart:rom.mq@1EB98 = 0004D8A54E75FFFF</action>
<!--
1EB78 | 0838 0005 D8A5 : btst #$5, $d8a5.w
1EB7E | 6716 : beq $1eb96
1EB80 | 5878 D950 : addq.w #4, $d950.w
1EB84 | 0C78 001C D950 : cmpi.w #$1c, $d950.w
1EB8A | 6504 : bcs $1eb90
1EB8C | 4278 D950 : clr.w $d950.w
1EB90 | 4EB9 0000 ABD0 : jsr $abd0.l // update cursor gfx
1EB96 | 0838 0004 D8A5 : btst #$4, $d8a5.w
1EB9C | 4E75 : rts
-->
</script>
<script state="off">
<action>mdslot:cart:rom.mq@0B09A = 08380004D8A5672C</action>
<action>mdslot:cart:rom.mq@1EB78 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EB80 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EB88 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EB90 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EB98 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="sound test mode">
<script state="on">
<action>mdslot:cart:rom.mq@02BF8 = 4EB90001EBA06000</action>
<action>mdslot:cart:rom.mq@1EBA0 = 41F8800043F900A1</action>
<action>mdslot:cart:rom.mq@1EBA8 = 110045F900A01740</action>
<action>mdslot:cart:rom.mq@1EBB0 = 47EA03A01038D8A5</action>
<action>mdslot:cart:rom.mq@1EBB8 = 0C00000466025310</action>
<action>mdslot:cart:rom.mq@1EBC0 = 0C00000866025210</action>
<action>mdslot:cart:rom.mq@1EBC8 = 0C00000266040410</action>
<action>mdslot:cart:rom.mq@1EBD0 = 00100C0000016604</action>
<action>mdslot:cart:rom.mq@1EBD8 = 061000100C000040</action>
<action>mdslot:cart:rom.mq@1EBE0 = 661232BC01001210</action>
<action>mdslot:cart:rom.mq@1EBE8 = 0C01000D64041481</action>
<action>mdslot:cart:rom.mq@1EBF0 = 600216810C000010</action>
<action>mdslot:cart:rom.mq@1EBF8 = 660832BC01004212</action>
<action>mdslot:cart:rom.mq@1EC00 = 421370044E75FFFF</action>
<!--
1EBA0 | 41F8 8000 : lea $8000.w, A0 // sound code address ($FF8000)
1EBA4 | 43F9 00A1 1100 : lea $a11100.l, A1 // z80 bus request address
1EBAA | 45F9 00A0 1740 : lea $a01740.l, A2 // music latch address
1EBB0 | 47EA 03A0 : lea ($3a0,A2), A3 // sfx latch address ($A01AE0)
1EBB4 | 1038 D8A5 : move.b $d8a5.w, D0 // read input ($FFD8A5)
1EBB8 | 0C00 0004 : cmpi.b #$4, D0
1EBBC | 6602 : bne $1ebc0
1EBBE | 5310 : subq.b #1, (A0) // decrease code -01
1EBC0 | 0C00 0008 : cmpi.b #$8, D0
1EBC4 | 6602 : bne $1ebc8
1EBC6 | 5210 : addq.b #1, (A0) // increase code +01
1EBC8 | 0C00 0002 : cmpi.b #$2, D0
1EBCC | 6604 : bne $1ebd2
1EBCE | 0410 0010 : subi.b #$10, (A0) // decrease code -10
1EBD2 | 0C00 0001 : cmpi.b #$1, D0
1EBD6 | 6604 : bne $1ebdc
1EBD8 | 0610 0010 : addi.b #$10, (A0) // increase code +10
1EBDC | 0C00 0040 : cmpi.b #$40, D0
1EBE0 | 6612 : bne $1ebf4
1EBE2 | 32BC 0100 : move.w #$100, (A1) // play sound
1EBE6 | 1210 : move.b (A0), D1
1EBE8 | 0C01 000D : cmpi.b #$d, D1
1EBEC | 6404 : bcc $1ebf2
1EBEE | 1481 : move.b D1, (A2) // music
1EBF0 | 6002 : bra $1ebf4
1EBF2 | 1681 : move.b D1, (A3) // sfx
1EBF4 | 0C00 0010 : cmpi.b #$10, D0
1EBF8 | 6608 : bne $1ec02
1EBFA | 32BC 0100 : move.w #$100, (A1) // stop sound
1EBFE | 4212 : clr.b (A2)
1EC00 | 4213 : clr.b (A3)
1EC02 | 7004 : moveq #$4, D0
1EC04 | 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.mq@02BF8 = 5478D8AA70046000</action>
<action>mdslot:cart:rom.mq@1EBA0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EBA8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EBB0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EBB8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EBC0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EBC8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EBD0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EBD8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EBE0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EBE8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EBF0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EBF8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@1EC00 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
"rapid fire" and "sound test mode" : Added new.