Code: Select all
<!-- Air Buster - Trouble Specialty Raid Unit (USA) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- bullet/item -->
<action>mdslot:cart:rom.md@25D54 = 000763D0 </action> <!-- 1P -->
<action>mdslot:cart:rom.md@25D8C = 000763D0 </action> <!-- 2P -->
<action>mdslot:cart:rom.mq@763D0 = 0C11000B64064EB9</action>
<action>mdslot:cart:rom.mq@763D8 = 00025DD44E75FFFF</action>
<!--
763D0 | 0C11 000B : cmpi.b #$b, (A1) // is item?
763D4 | 6406 : bcc $763dc
763D6 | 4EB9 0002 5DD4 : jsr $25dd4.l
763DC | 4E75 : rts
-->
<!-- common character check routine -->
<action>mdslot:cart:rom.mq@763E0 = B3FC00FFC0006706</action>
<action>mdslot:cart:rom.mq@763E8 = B3FC00FFC2004E75</action>
<!--
763E0 | B3FC 00FF C000 : cmpa.l #$ffc000, A1 // 1P
763E6 | 6706 : beq $763ee
763E8 | B3FC 00FF C200 : cmpa.l #$ffc200, A1 // 2P
763EE | 4E75 : rts
-->
<!-- enemy -->
<action>mdslot:cart:rom.md@27148 = 000763F0 </action>
<action>mdslot:cart:rom.mq@763F0 = 61EE67064EB90002</action>
<action>mdslot:cart:rom.mq@763F8 = 72CA4E75FFFFFFFF</action>
<!--
763F0 | 61EE : bsr $763e0
763F2 | 6706 : beq $763fa
763F4 | 4EB9 0002 72CA : jsr $272ca.l
763FA | 4E75 : rts
-->
<!-- background -->
<action>mdslot:cart:rom.mq@274A4 = 4EB9000764000800</action>
<action>mdslot:cart:rom.mq@27534 = 4EB9000764000800</action>
<action>mdslot:cart:rom.mq@76400 = 61DE660470004E75</action>
<action>mdslot:cart:rom.mq@76408 = 303900FFE0004E75</action>
<!--
76400 | 61DE : bsr $763e0
76402 | 6604 : bne $76408
76404 | 7000 : moveq #$0, D0
76406 | 4E75 : rts
76408 | 3039 00FF E000 : move.w $ffe000.l, D0
7640E | 4E75 : rts
-->
</script>
<script state="off">
<action>mdslot:cart:rom.md@25D54 = 00025DD4 </action>
<action>mdslot:cart:rom.md@25D8C = 00025DD4 </action>
<action>mdslot:cart:rom.mq@763D0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@763D8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@763E0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@763E8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.md@27148 = 000272CA </action>
<action>mdslot:cart:rom.mq@763F0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@763F8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@274A4 = 303900FFE0000800</action>
<action>mdslot:cart:rom.mq@27534 = 303900FFE0000800</action>
<action>mdslot:cart:rom.mq@76400 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76408 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<!-- 1P -->
<action>mdslot:cart:rom.mb@962B = 02</action> <!-- sub weapon -->
<action>mdslot:cart:rom.mb@966F = 02</action> <!-- main shot -->
<!-- 2P -->
<action>mdslot:cart:rom.mb@A4F1 = 02</action> <!-- sub weapon -->
<action>mdslot:cart:rom.mb@A535 = 02</action> <!-- main shot -->
</script>
<script state="off">
<action>mdslot:cart:rom.mb@962B = 36</action>
<action>mdslot:cart:rom.mb@966F = 2E</action>
<action>mdslot:cart:rom.mb@A4F1 = 36</action>
<action>mdslot:cart:rom.mb@A535 = 2E</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="change">
<!-- convert parameter to addq -->
<action condition="param == 01">temp0 = 52</action> <!-- addq.w #1 -->
<action condition="param == 02">temp0 = 54</action> <!-- addq.w #2 -->
<action condition="param == 04">temp0 = 58</action> <!-- addq.w #4 -->
<action condition="param == 06">temp0 = 5C</action> <!-- addq.w #6 -->
<action condition="param == 08">temp0 = 50</action> <!-- addq.w #8 -->
<!-- main routine -->
<action>mdslot:cart:rom.mb@D1B3 = -param</action> <!-- up -->
<action>mdslot:cart:rom.mb@D1DC = temp0 </action> <!-- down -->
<action>mdslot:cart:rom.mb@D206 = temp0 </action> <!-- right -->
<action>mdslot:cart:rom.mb@D233 = -param</action> <!-- left -->
</script>
<script state="off">
<action>mdslot:cart:rom.mb@D1B3 = FE</action>
<action>mdslot:cart:rom.mb@D1DC = 54</action>
<action>mdslot:cart:rom.mb@D206 = 54</action>
<action>mdslot:cart:rom.mb@D233 = FE</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x0004">01 (slow)</item>
<item value="0x0008">02 </item>
<item value="0x000c">03 </item>
<item value="0x0010">04 </item>
<item value="0x0014">05 (fast)</item>
</parameter>
<script state="on">
<action>mdslot:cart:rom.md@AAB8 = 4EB801B0 </action>
<action>mdslot:cart:rom.md@AD66 = 4EB801B0 </action>
<action>mdslot:cart:rom.md@AE2E = 4EB801B0 </action>
<action>mdslot:cart:rom.mq@01B0 = 0668000000064E75</action>
</script>
<script state="change">
<action>mdslot:cart:rom.mw@01B2 = param</action>
</script>
<script state="off">
<action>mdslot:cart:rom.md@AA9C = 5E680006 </action>
<action>mdslot:cart:rom.md@AD4A = 5E680006 </action>
<action>mdslot:cart:rom.md@AE12 = 5E680006 </action>
<action>mdslot:cart:rom.mq@01B0 = 2020202020202020</action>
</script>
</cheat>
<cheat desc="gravity">
<parameter>
<item value="0x60000008">none </item>
<item value="0x67000002">always</item>
</parameter>
<script state="change">
<action>mdslot:cart:rom.md@9532 = param</action>
</script>
<script state="off">
<action>mdslot:cart:rom.md@9532 = 67000008</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>mdslot:cart:rom.md@7EF9A = 00076410 </action>
<action>mdslot:cart:rom.mq@76410 = 41F880002F3C0000</action>
<action>mdslot:cart:rom.mq@76418 = 00014E411038E073</action>
<action>mdslot:cart:rom.mq@76420 = 0C00000466025310</action>
<action>mdslot:cart:rom.mq@76428 = 0C00000866025210</action>
<action>mdslot:cart:rom.mq@76430 = 0C00000266040410</action>
<action>mdslot:cart:rom.mq@76438 = 00100C0000016604</action>
<action>mdslot:cart:rom.mq@76440 = 061000100C000040</action>
<action>mdslot:cart:rom.mq@76448 = 6608101000000080</action>
<action>mdslot:cart:rom.mq@76450 = 600A0C000010660A</action>
<action>mdslot:cart:rom.mq@76458 = 103C007F4EB90000</action>
<action>mdslot:cart:rom.mq@76460 = 8D3C60B0FFFFFFFF</action>
<!--
76410 | 41F8 8000 : lea $8000.w, A0 // sound code address ($ff8000)
76414 | 2F3C 0000 0001 : move.l #$1, -(A7) // wait interrupt
7641A | 4E41 : trap #$1
7641C | 1038 E073 : move.b $e073.w, D0 // read input ($ffe073)
76420 | 0C00 0004 : cmpi.b #$4, D0
76424 | 6602 : bne $76608
76426 | 5310 : subq.b #1, (A0) // decrease code -01
76428 | 0C00 0008 : cmpi.b #$8, D0
7642C | 6602 : bne $76610
7642E | 5210 : addq.b #1, (A0) // increase code +01
76430 | 0C00 0002 : cmpi.b #$2, D0
76434 | 6604 : bne $7661a
76436 | 0410 0010 : subi.b #$10, (A0) // decreaes code -10
7643A | 0C00 0001 : cmpi.b #$1, D0
7643E | 6604 : bne $76624
76440 | 0610 0010 : addi.b #$10, (A0) // increase code +10
76444 | 0C00 0040 : cmpi.b #$40, D0
76448 | 6608 : bne $76632
7644A | 1010 : move.b (A0), D0 // play sound
7644C | 0000 0080 : ori.b #$80, D0
76450 | 600A : bra $7663c
76452 | 0C00 0010 : cmpi.b #$10, D0
76456 | 660A : bne $76642
76458 | 103C 007F : move.b #$7f, D0 // stop sound
7645C | 4EB9 0000 8D3C : jsr $8d3c.l // send sound code
76462 | 60B0 : bra $765f4
-->
</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@7EF9A = 00001AFA </action>
<action>mdslot:cart:rom.mq@76410 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76418 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76420 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76428 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76430 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76438 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76440 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76448 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76450 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76458 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76460 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- Aero Blasters - Trouble Specialty Raid Unit (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- bullet/item -->
<action>mdslot:cart:rom.md@25D38 = 000765B0 </action> <!-- 1P -->
<action>mdslot:cart:rom.md@25D70 = 000765B0 </action> <!-- 2P -->
<action>mdslot:cart:rom.mq@765B0 = 0C11000B64064EB9</action>
<action>mdslot:cart:rom.mq@765B8 = 00025DB84E75FFFF</action>
<!--
765B0 | 0C11 000B : cmpi.b #$b, (A1) // is item?
765B4 | 6406 : bcc $765bc
765B6 | 4EB9 0002 5DB8 : jsr $25db8.l
765BC | 4E75 : rts
-->
<!-- common character check routine -->
<action>mdslot:cart:rom.mq@765C0 = B3FC00FFC0006706</action>
<action>mdslot:cart:rom.mq@765C8 = B3FC00FFC2004E75</action>
<!--
765C0 | B3FC 00FF C000 : cmpa.l #$ffc000, A1 // 1P
765C6 | 6706 : beq $765ce
765C8 | B3FC 00FF C200 : cmpa.l #$ffc200, A1 // 2P
765CE | 4E75 : rts
-->
<!-- enemy -->
<action>mdslot:cart:rom.md@2712C = 000765D0 </action>
<action>mdslot:cart:rom.mq@765D0 = 61EE67064EB90002</action>
<action>mdslot:cart:rom.mq@765D8 = 72AE4E75FFFFFFFF</action>
<!--
765D0 | 61EE : bsr $765c0
765D2 | 6706 : beq $765da
765D4 | 4EB9 0002 72AE : jsr $272ae.l
765DA | 4E75 : rts
-->
<!-- background -->
<action>mdslot:cart:rom.mq@27488 = 4EB9000765E00800</action>
<action>mdslot:cart:rom.mq@27518 = 4EB9000765E00800</action>
<action>mdslot:cart:rom.mq@765E0 = 61DE660470004E75</action>
<action>mdslot:cart:rom.mq@765E8 = 303900FFE0004E75</action>
<!--
765E0 | 61DE : bsr $765c0
765E2 | 6604 : bne $765e8
765E4 | 7000 : moveq #$0, D0
765E6 | 4E75 : rts
765E8 | 3039 00FF E000 : move.w $ffe000.l, D0
765EE | 4E75 : rts
-->
</script>
<script state="off">
<action>mdslot:cart:rom.md@25D38 = 00025DB8 </action>
<action>mdslot:cart:rom.md@25D70 = 00025DB8 </action>
<action>mdslot:cart:rom.mq@765B0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@765B8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@765C0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@765C8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.md@2712C = 000272AE </action>
<action>mdslot:cart:rom.mq@765D0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@765D8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@27488 = 303900FFE0000800</action>
<action>mdslot:cart:rom.mq@27518 = 303900FFE0000800</action>
<action>mdslot:cart:rom.mq@765E0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@765E8 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<!-- 1P -->
<action>mdslot:cart:rom.mb@960F = 02</action> <!-- sub weapon -->
<action>mdslot:cart:rom.mb@9653 = 02</action> <!-- main shot -->
<!-- 2P -->
<action>mdslot:cart:rom.mb@A4D5 = 02</action> <!-- sub weapon -->
<action>mdslot:cart:rom.mb@A519 = 02</action> <!-- main shot -->
</script>
<script state="off">
<action>mdslot:cart:rom.mb@960F = 36</action>
<action>mdslot:cart:rom.mb@9653 = 2E</action>
<action>mdslot:cart:rom.mb@A4D5 = 36</action>
<action>mdslot:cart:rom.mb@A519 = 2E</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x02">02 </item>
<item value="0x04">03 </item>
<item value="0x06">04 </item>
<item value="0x08">05 (fast)</item>
</parameter>
<script state="change">
<!-- convert parameter to addq -->
<action condition="param == 01">temp0 = 52</action> <!-- addq.w #1 -->
<action condition="param == 02">temp0 = 54</action> <!-- addq.w #2 -->
<action condition="param == 04">temp0 = 58</action> <!-- addq.w #4 -->
<action condition="param == 06">temp0 = 5C</action> <!-- addq.w #6 -->
<action condition="param == 08">temp0 = 50</action> <!-- addq.w #8 -->
<!-- main routine -->
<action>mdslot:cart:rom.mb@D197 = -param</action> <!-- up -->
<action>mdslot:cart:rom.mb@D1C0 = temp0 </action> <!-- down -->
<action>mdslot:cart:rom.mb@D1EA = temp0 </action> <!-- right -->
<action>mdslot:cart:rom.mb@D217 = -param</action> <!-- left -->
</script>
<script state="off">
<action>mdslot:cart:rom.mb@D197 = FE</action>
<action>mdslot:cart:rom.mb@D1C0 = 54</action>
<action>mdslot:cart:rom.mb@D1EA = 54</action>
<action>mdslot:cart:rom.mb@D217 = FE</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x0004">01 (slow)</item>
<item value="0x0008">02 </item>
<item value="0x000c">03 </item>
<item value="0x0010">04 </item>
<item value="0x0014">05 (fast)</item>
</parameter>
<script state="on">
<action>mdslot:cart:rom.md@AA9C = 4EB801B0 </action>
<action>mdslot:cart:rom.md@AD4A = 4EB801B0 </action>
<action>mdslot:cart:rom.md@AE12 = 4EB801B0 </action>
<action>mdslot:cart:rom.mq@01B0 = 0668000000064E75</action>
</script>
<script state="change">
<action>mdslot:cart:rom.mw@01B2 = param</action>
</script>
<script state="off">
<action>mdslot:cart:rom.md@AA9C = 5E680006 </action>
<action>mdslot:cart:rom.md@AD4A = 5E680006 </action>
<action>mdslot:cart:rom.md@AE12 = 5E680006 </action>
<action>mdslot:cart:rom.mq@01B0 = 2020202020202020</action>
</script>
</cheat>
<cheat desc="gravity">
<parameter>
<item value="0x60000008">none </item>
<item value="0x67000002">always</item>
</parameter>
<script state="change">
<action>mdslot:cart:rom.md@9516 = param</action>
</script>
<script state="off">
<action>mdslot:cart:rom.md@9516 = 67000008</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>mdslot:cart:rom.md@7EF9A = 000765F0 </action>
<action>mdslot:cart:rom.mq@765F0 = 41F880002F3C0000</action>
<action>mdslot:cart:rom.mq@765F8 = 00014E411038E073</action>
<action>mdslot:cart:rom.mq@76600 = 0C00000466025310</action>
<action>mdslot:cart:rom.mq@76608 = 0C00000866025210</action>
<action>mdslot:cart:rom.mq@76610 = 0C00000266040410</action>
<action>mdslot:cart:rom.mq@76618 = 00100C0000016604</action>
<action>mdslot:cart:rom.mq@76620 = 061000100C000040</action>
<action>mdslot:cart:rom.mq@76628 = 6608101000000080</action>
<action>mdslot:cart:rom.mq@76630 = 600A0C000010660A</action>
<action>mdslot:cart:rom.mq@76638 = 103C007F4EB90000</action>
<action>mdslot:cart:rom.mq@76640 = 8D2060B0FFFFFFFF</action>
<!--
765F0 | 41F8 8000 : lea $8000.w, A0 // sound code address ($ff8000)
765F4 | 2F3C 0000 0001 : move.l #$1, -(A7) // wait interrupt
765FA | 4E41 : trap #$1
765FC | 1038 E073 : move.b $e073.w, D0 // read input ($ffe073)
76600 | 0C00 0004 : cmpi.b #$4, D0
76604 | 6602 : bne $76608
76606 | 5310 : subq.b #1, (A0) // decrease code -01
76608 | 0C00 0008 : cmpi.b #$8, D0
7660C | 6602 : bne $76610
7660E | 5210 : addq.b #1, (A0) // increase code +01
76610 | 0C00 0002 : cmpi.b #$2, D0
76614 | 6604 : bne $7661a
76616 | 0410 0010 : subi.b #$10, (A0) // decreaes code -10
7661A | 0C00 0001 : cmpi.b #$1, D0
7661E | 6604 : bne $76624
76620 | 0610 0010 : addi.b #$10, (A0) // increase code +10
76624 | 0C00 0040 : cmpi.b #$40, D0
76628 | 6608 : bne $76632
7662A | 1010 : move.b (A0), D0 // play sound
7662C | 0000 0080 : ori.b #$80, D0
76630 | 600A : bra $7663c
76632 | 0C00 0010 : cmpi.b #$10, D0
76636 | 660A : bne $76642
76638 | 103C 007F : move.b #$7f, D0 // stop sound
7663C | 4EB9 0000 8D20 : jsr $8d20.l // send sound code
76642 | 60B0 : bra $765f4
-->
</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@7EF9A = 00001B1A </action>
<action>mdslot:cart:rom.mq@765F0 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@765F8 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76600 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76608 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76610 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76618 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76620 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76628 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76630 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76638 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@76640 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>