Code: Select all
<!-- Master of Weapon (Japan) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>mdslot:cart:rom.mq@1158C = 4EB90003FE104E71</action> <!-- main -->
<action>mdslot:cart:rom.mq@121E6 = 4EB90003FE104E71</action> <!-- boss -->
<action>mdslot:cart:rom.mq@3FE10 = B1FC00FFF800660C</action>
<action>mdslot:cart:rom.mq@3FE18 = 082A0007F8066604</action>
<action>mdslot:cart:rom.mq@3FE20 = 70014E75C0680002</action>
<action>mdslot:cart:rom.mq@3FE28 = 024040004E75FFFF</action>
<!--
3FE10 | B1FC 00FF F800 : cmpa.l #$fff800, A0 // is player?
3FE16 | 660C : bne $3fe24
3FE18 | 082A 0007 F806 : btst #$7, (-$7fa,A2) // is item?
3FE1E | 6604 : bne $3fe24
3FE20 | 7001 : moveq #$1, D0
3FE22 | 4E75 : rts
3FE24 | C068 0002 : and.w ($2,A0), D0
3FE28 | 0240 4000 : andi.w #$4000, D0
3FE2C | 4E75 : rts
-->
<action>mdslot:cart:rom.mw@12856 = 4E75</action> <!-- middle boss -->
</script>
<script state="off">
<action>mdslot:cart:rom.mq@1158C = C068000202404000</action>
<action>mdslot:cart:rom.mq@121E6 = C068000202404000</action>
<action>mdslot:cart:rom.mq@3FE10 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FE18 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FE20 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FE28 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mw@12856 = 33FC </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>mdslot:cart:rom.mb@3111 = 00</action> <!-- shot (timer with rapid fire on) -->
<action>mdslot:cart:rom.mb@312F = 02</action> <!-- shot (input with rapid fire off) -->
<action>mdslot:cart:rom.mb@3DCB = 00</action> <!-- bomb -->
</script>
<script state="off">
<action>mdslot:cart:rom.mb@3111 = 08</action>
<action>mdslot:cart:rom.mb@312F = 03</action>
<action>mdslot:cart:rom.mb@3DCB = 07</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0001">01 (slow)</item>
<item value="0x0002">02 </item>
<item value="0x0004">03 </item>
<item value="0x0006">04 </item>
<item value="0x0008">05 (fast)</item>
</parameter>
<script state="on">
<action>mdslot:cart:rom.mq@2C32 = 064000004E710C40</action> <!-- right -->
<action>mdslot:cart:rom.mq@2C66 = 044000004E710C40</action> <!-- left -->
<action>mdslot:cart:rom.mq@2C9A = 064000004E710C40</action> <!-- down -->
<action>mdslot:cart:rom.mq@2CCE = 044000004E710C40</action> <!-- up -->
</script>
<script state="change">
<action>mdslot:cart:rom.mw@2C34 = param</action>
<action>mdslot:cart:rom.mw@2C68 = param</action>
<action>mdslot:cart:rom.mw@2C9C = param</action>
<action>mdslot:cart:rom.mw@2CD0 = param</action>
</script>
<script state="off">
<action>mdslot:cart:rom.mq@2C32 = D07900FF003E0C40</action>
<action>mdslot:cart:rom.mq@2C66 = 907900FF003E0C40</action>
<action>mdslot:cart:rom.mq@2C9A = D07900FF003E0C40</action>
<action>mdslot:cart:rom.mq@2CCE = 907900FF003E0C40</action>
</script>
</cheat>
<cheat desc="bullet speed - main shot">
<parameter>
<item value="0x103c0005">01 (slow)</item>
<item value="0x103c000a">02 </item>
<item value="0x103c000f">03 </item>
<item value="0x103c0014">04 </item>
<item value="0x103c0019">05 (fast)</item>
</parameter>
<script state="change">
<action>mdslot:cart:rom.md@3284 = param</action>
</script>
<script state="off">
<action>mdslot:cart:rom.md@3284 = 10314000</action>
</script>
</cheat>
<cheat desc="fast bomb">
<script state="on">
<action>mdslot:cart:rom.mq@03E34 = 4EB90003FE303080</action>
<action>mdslot:cart:rom.mq@3FE30 = 30120440002412BC</action>
<action>mdslot:cart:rom.mq@3FE38 = 000F4E75FFFFFFFF</action>
<!--
3FE30 | 3012 : move.w (A2), D0
3FE32 | 0440 0024 : subi.w #$24, D0
3FE36 | 12BC 000F : move.b #$f, (A1)
3FE3A | 4E75 : rts
-->
</script>
<script state="off">
<action>mdslot:cart:rom.mq@03E34 = 3012064000083080</action>
<action>mdslot:cart:rom.mq@3FE30 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FE38 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="sub weapon">
<parameter>
<item value="0x103C00004E71B039">piercing</item>
<item value="0x103C00014E71B039">laser </item>
<item value="0x103C00024E71B039">wide </item>
<item value="0x103C00034E71B039">guide </item>
<item value="0x103C00044E71B039">h-bomb </item>
</parameter>
<script state="change">
<action>mdslot:cart:rom.mq@32C6 = param</action>
</script>
<script state="off">
<action>mdslot:cart:rom.mq@32C6 = 103900FF002EB039</action>
</script>
</cheat>
<cheat desc="fast power charge">
<script state="on">
<action>mdslot:cart:rom.mb@D5DB = 00</action>
<action>mdslot:cart:rom.mb@D5ED = 00</action>
</script>
<script state="off">
<action>mdslot:cart:rom.mb@D5DB = 05</action>
<action>mdslot:cart:rom.mb@D5ED = 0A</action>
</script>
</cheat>
<cheat desc="short hit mark">
<script state="on">
<action>mdslot:cart:rom.mb@2BB5 = 00</action>
</script>
<script state="off">
<action>mdslot:cart:rom.mb@2BB5 = B</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- music : 0x0a - 0x14, sfx : 0x3d - 0x62 -->
<comment>set "skip rom check" then reset the game (F3)</comment>
<script state="on">
<action>mdslot:cart:rom.mq@0097E = 4EF90003FE404EB9</action>
<action>mdslot:cart:rom.mq@3FE40 = 41F8800016021438</action>
<action>mdslot:cart:rom.mq@3FE48 = F602B60267F60C02</action>
<action>mdslot:cart:rom.mq@3FE50 = 0004660253100C02</action>
<action>mdslot:cart:rom.mq@3FE58 = 0008660252100C02</action>
<action>mdslot:cart:rom.mq@3FE60 = 0002660404100010</action>
<action>mdslot:cart:rom.mq@3FE68 = 0C02000166040610</action>
<action>mdslot:cart:rom.mq@3FE70 = 00100C0200406606</action>
<action>mdslot:cart:rom.mq@3FE78 = 70101210600A0C02</action>
<action>mdslot:cart:rom.mq@3FE80 = 00106608103C00C1</action>
<action>mdslot:cart:rom.mq@3FE88 = 4EB8073860B6FFFF</action>
<!--
3FE40 | 41F8 8000 : lea $8000.w, A0 // sound code address ($ff8000)
3FE44 | 1602 : move.b D2, D3
3FE46 | 1438 F602 : move.b $f602.w, D2 // read input ($fff602)
3FE4A | B602 : cmp.b D2, D3
3FE4C | 67F6 : beq $3fe44
3FE4E | 0C02 0004 : cmpi.b #$4, D2
3FE52 | 6602 : bne $3fe56
3FE54 | 5310 : subq.b #1, (A0) // decrease code -01
3FE56 | 0C02 0008 : cmpi.b #$8, D2
3FE5A | 6602 : bne $3fe5e
3FE5C | 5210 : addq.b #1, (A0) // increase code +01
3FE5E | 0C02 0002 : cmpi.b #$2, D2
3FE62 | 6604 : bne $3fe68
3FE64 | 0410 0010 : subi.b #$10, (A0) // decrease code -10
3FE68 | 0C02 0001 : cmpi.b #$1, D2
3FE6C | 6604 : bne $3fe72
3FE6E | 0610 0010 : addi.b #$10, (A0) // increase code +10
3FE72 | 0C02 0040 : cmpi.b #$40, D2
3FE76 | 6606 : bne $3fe7e
3FE78 | 7010 : moveq #$10, D0 // play sound
3FE7A | 1210 : move.b (A0), D1
3FE7C | 600A : bra $3fe88
3FE7E | 0C02 0010 : cmpi.b #$10, D2
3FE82 | 6608 : bne $3fe8c
3FE84 | 103C 00C1 : move.b #$c1, D0 // stop sound
3FE88 | 4EB8 0738 : jsr $738.w // send sound code
3FE8C | 60B6 : bra $3fe44
-->
</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@0097E = 11FC0004F60A4EB9</action>
<action>mdslot:cart:rom.mq@3FE40 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FE48 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FE50 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FE58 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FE60 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FE68 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FE70 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FE78 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FE80 = FFFFFFFFFFFFFFFF</action>
<action>mdslot:cart:rom.mq@3FE88 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip rom check">
<script state="on">
<action>mdslot:cart:rom.mw@0330 = 6022</action>
</script>
<script state="off">
<action>mdslot:cart:rom.mw@0330 = 9088</action>
</script>
</cheat>
</mamecheat>