Code: Select all
<!-- N-Sub (upright) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@1370 = 72</action> <!-- mine -->
<action>maincpu.mb@15CE = 72</action> <!-- bomb -->
<action>maincpu.mb@1924 = 0E</action> <!-- submarine -->
<action>maincpu.mb@1D7E = 72</action> <!-- mine -->
<action>maincpu.mb@1F4E = C9</action> <!-- mine -->
</script>
<script state="off">
<action>maincpu.mb@1370 = 73</action>
<action>maincpu.mb@15CE = 73</action>
<action>maincpu.mb@1924 = 0F</action>
<action>maincpu.mb@1D7E = 73</action>
<action>maincpu.mb@1F4E = C0</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@262F = 00</action> <!-- upper -->
<action>maincpu.mb@2639 = 00</action> <!-- left/right -->
</script>
<script state="off">
<action>maincpu.mb@262F = 04</action>
<action>maincpu.mb@2639 = C0</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x08">03 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@13E8 = param</action> <!-- up -->
<action>maincpu.mb@13EA = param</action> <!-- upper-left : up -->
<action>maincpu.mb@13EB = -param</action> <!-- upper-left : left -->
<action>maincpu.mb@13ED = -param</action> <!-- left -->
<action>maincpu.mb@13EE = -param</action> <!-- lower-left : down -->
<action>maincpu.mb@13EF = -param</action> <!-- lower-left : left -->
<action>maincpu.mb@13F0 = -param</action> <!-- down -->
<action>maincpu.mb@13F2 = -param</action> <!-- lower-right : down -->
<action>maincpu.mb@13F3 = param</action> <!-- lower-right : right -->
<action>maincpu.mb@13F5 = param</action> <!-- right -->
<action>maincpu.mb@13F6 = param</action> <!-- upper-right : up -->
<action>maincpu.mb@13F7 = param</action> <!-- upper-right : right -->
</script>
<script state="off">
<action>maincpu.mb@13E8 = 02</action>
<action>maincpu.mb@13EA = 02</action>
<action>maincpu.mb@13EB = FC</action>
<action>maincpu.mb@13ED = FC</action>
<action>maincpu.mb@13EE = FE</action>
<action>maincpu.mb@13EF = FC</action>
<action>maincpu.mb@13F0 = FE</action>
<action>maincpu.mb@13F2 = FE</action>
<action>maincpu.mb@13F3 = 04</action>
<action>maincpu.mb@13F5 = 04</action>
<action>maincpu.mb@13F6 = 02</action>
<action>maincpu.mb@13F7 = 04</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.md@037F = E93F10CD </action>
<action>maincpu.mq@3F10 = 7DC029FE7C0566DD</action>
<action>maincpu.mq@3F18 = 06C93F1F21C0FAFE</action>
<action>maincpu.mq@3F20 = F910C129FACDC500</action>
<action>maincpu.mq@3F28 = 00000000000000C9</action>
<!--
3F10 | DD 66 05 : ld h,(ix+$05)
3F13 | 7C : ld a,h
3F14 | FE 29 : cp $29
3F16 | C0 : ret nz
3F17 | 7D : ld a,l
3F18 | FE FA : cp $FA
3F1A | C0 : ret nz
3F1B | 21 1F 3F : ld hl,$3F1F
3F1E | C9 : ret
3F1F | 06 xx : ld b,$xx
3F21 | C5 : push bc
3F22 | CD FA 29 : call $29FA
3F25 | C1 : pop bc
3F26 | 10 F9 : djnz $3F21
3F28 | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@3F20 = param - 1</action>
</script>
<script state="off">
<action>maincpu.md@037F = E90566DD </action>
<action>maincpu.mq@3F10 = 0000000000000000</action>
<action>maincpu.mq@3F18 = 0000000000000000</action>
<action>maincpu.mq@3F20 = 0000000000000000</action>
<action>maincpu.mq@3F28 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
Code: Select all
<!-- N-Sub (cocktail) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>maincpu.mb@138E = 90</action> <!-- mine -->
<action>maincpu.mb@160A = 90</action> <!-- bomb -->
<action>maincpu.mb@1960 = 0E</action> <!-- submarine -->
<action>maincpu.mb@1DBA = 90</action> <!-- mine -->
<action>maincpu.mb@1F8A = C9</action> <!-- mine -->
</script>
<script state="off">
<action>maincpu.mb@138E = 91</action>
<action>maincpu.mb@160A = 91</action>
<action>maincpu.mb@1960 = 0F</action>
<action>maincpu.mb@1DBA = 91</action>
<action>maincpu.mb@1F8A = C0</action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@26A5 = 00</action> <!-- upper -->
<action>maincpu.mb@26AF = 00</action> <!-- left/right -->
</script>
<script state="off">
<action>maincpu.mb@26A5 = 04</action>
<action>maincpu.mb@26AF = C0</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x04">02 </item>
<item value="0x08">03 (fast)</item>
</parameter>
<script state="change">
<action>maincpu.mb@1424 = param</action> <!-- up -->
<action>maincpu.mb@1426 = param</action> <!-- upper-left : up -->
<action>maincpu.mb@1427 = -param</action> <!-- upper-left : left -->
<action>maincpu.mb@1429 = -param</action> <!-- left -->
<action>maincpu.mb@142A = -param</action> <!-- lower-left : down -->
<action>maincpu.mb@142B = -param</action> <!-- lower-left : left -->
<action>maincpu.mb@142C = -param</action> <!-- down -->
<action>maincpu.mb@142E = -param</action> <!-- lower-right : down -->
<action>maincpu.mb@142F = param</action> <!-- lower-right : right -->
<action>maincpu.mb@1431 = param</action> <!-- right -->
<action>maincpu.mb@1432 = param</action> <!-- upper-right : up -->
<action>maincpu.mb@1433 = param</action> <!-- upper-right : right -->
</script>
<script state="off">
<action>maincpu.mb@1424 = 02</action>
<action>maincpu.mb@1426 = 02</action>
<action>maincpu.mb@1427 = FC</action>
<action>maincpu.mb@1429 = FC</action>
<action>maincpu.mb@142A = FE</action>
<action>maincpu.mb@142B = FC</action>
<action>maincpu.mb@142C = FE</action>
<action>maincpu.mb@142E = FE</action>
<action>maincpu.mb@142F = 04</action>
<action>maincpu.mb@1431 = 04</action>
<action>maincpu.mb@1432 = 02</action>
<action>maincpu.mb@1433 = 04</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter min="0x01" max="0x05" step="0x01" />
<script state="on">
<action>maincpu.md@037F = E93F10CD </action>
<action>maincpu.mq@3F10 = 7DC02AFE7C0566DD</action>
<action>maincpu.mq@3F18 = 06C93F1F21C070FE</action>
<action>maincpu.mq@3F20 = F910C12A70CDC500</action>
<action>maincpu.mq@3F28 = 00000000000000C9</action>
<!--
3F10 | DD 66 05 : ld h,(ix+$05)
3F13 | 7C : ld a,h
3F14 | FE 2A : cp $2A
3F16 | C0 : ret nz
3F17 | 7D : ld a,l
3F18 | FE 70 : cp $70
3F1A | C0 : ret nz
3F1B | 21 1F 3F : ld hl,$3F1F
3F1E | C9 : ret
3F1F | 06 xx : ld b,$xx
3F21 | C5 : push bc
3F22 | CD 70 2A : call $2A70
3F25 | C1 : pop bc
3F26 | 10 F9 : djnz $3F21
3F28 | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@3F20 = param - 1</action>
</script>
<script state="off">
<action>maincpu.md@037F = E90566DD </action>
<action>maincpu.mq@3F10 = 0000000000000000</action>
<action>maincpu.mq@3F18 = 0000000000000000</action>
<action>maincpu.mq@3F20 = 0000000000000000</action>
<action>maincpu.mq@3F28 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>