sidearms.xml
Code: Select all
<!-- Side Arms - Hyper Dyne (World, 861129) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- enemy -->
<action>maincpu.md@2AFC = 2F7600CD </action>
<action>maincpu.mq@7600 = 7DDD0620FAFE7CDD</action>
<action>maincpu.mq@7608 = 3AC97E3E032880FE</action>
<action>maincpu.mq@7610 = FFFFFFFFFFC9C803</action>
<!--
7600 | DD 7C : ld a,ixh
7602 | FE FA : cp $FA
7604 | 20 06 : jr nz,$760C
7606 | DD 7D : ld a,ixl
7608 | FE 80 : cp $80
760A | 28 03 : jr z,$760F
760C | 3E 7E : ld a,$7E
760E | C9 : ret
760F | 3A 03 C8 : ld a,($C803)
7612 | C9 : ret
-->
<action>maincpu.mb@02650 = C9</action> <!-- bullet -->
<action>maincpu.mb@02E49 = C9</action> <!-- boss -->
<action>maincpu.mb@1050D = C9</action> <!-- background ($850d) -->
</script>
<script state="off">
<action>maincpu.md@02AFC = 2FC8033A </action>
<action>maincpu.mq@07600 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07608 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07610 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@02650 = C8 </action>
<action>maincpu.mb@02E49 = C8 </action>
<action>maincpu.mb@1050D = D0 </action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@106F6 = 00</action> <!-- button ($86f6) -->
<action>maincpu.mb@10C8B = 00</action> <!-- auto fire weapon : 3-way ($8c8b) -->
<action>maincpu.mb@10C13 = 00</action> <!-- auto fire weapon : shot ($8c13) -->
</script>
<script state="off">
<action>maincpu.mb@106F6 = 05</action>
<action>maincpu.mb@10C8B = 61</action>
<action>maincpu.mb@10C13 = 2F</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="on">
<action>maincpu.md@10356 = 7620CD7E </action> <!-- y position : transformation ($8356) -->
<action>maincpu.md@1035E = 7627CD7E </action> <!-- x position : transformation ($835e) -->
<action>maincpu.md@10384 = 7620CD7E </action> <!-- y position : normal ($8384) -->
<action>maincpu.md@1038C = 7627CD7E </action> <!-- x position : normal ($838c) -->
<action>maincpu.mq@07620 = CDC90286DD762ECD</action>
<action>maincpu.mq@07628 = C8A7C90386DD762E</action>
<action>maincpu.mq@07630 = FFFFC944EDF0003E</action>
<!--
7620 | CD 2E 76 : call $762E
7623 | DD 86 02 : add a,(ix+$02)
7626 | C9 : ret
7627 | CD 2E 76 : call $762E
762A | DD 86 03 : add a,(ix+$03)
762D | C9 : ret
762E | A7 : and a
762F | C8 : ret z
7630 | 3E xx : ld a,$xx
7632 | F0 : ret p
7633 | ED 44 : neg
7635 | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@7631 = param</action>
</script>
<script state="off">
<action>maincpu.md@10356 = 86027EDD </action>
<action>maincpu.md@1035E = 86037EDD </action>
<action>maincpu.md@10384 = 86027EDD </action>
<action>maincpu.md@1038C = 86037EDD </action>
<action>maincpu.mq@07620 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07628 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07630 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="short hit mark">
<script state="on">
<action>maincpu.mb@11487 = 18</action> <!-- ($9487) -->
</script>
<script state="off">
<action>maincpu.mb@11487 = 28</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@0AD2 = 7640 </action>
<action>maincpu.mq@7640 = 47B8C8013AE10021</action>
<action>maincpu.mq@7648 = FE350120FDFEF928</action>
<action>maincpu.mq@7650 = 0420FBFE340120FE</action>
<action>maincpu.mq@7658 = 0520F7FE0618F03E</action>
<action>maincpu.mq@7660 = 20EFFE787786103E</action>
<action>maincpu.mq@7668 = 0420DFFE05187E03</action>
<action>maincpu.mq@7670 = FFFFCD18C80032AF</action>
<!--
7640 | 21 00 E1 : ld hl,$E100 // sound code address
7643 | 3A 01 C8 : ld a,($C801) // read input
7646 | B8 : cp b
7647 | 47 : ld b,a
7648 | 28 F9 : jr z,$7643
764A | FE FD : cp $FD
764C | 20 01 : jr nz,$764F
764E | 35 : dec (hl) // decrease code -01
764F | FE FE : cp $FE
7651 | 20 01 : jr nz,$7654
7653 | 34 : inc (hl) // increase code +01
7654 | FE FB : cp $FB
7656 | 20 04 : jr nz,$765C
7658 | 3E F0 : ld a,$F0 // decrease code -10
765A | 18 06 : jr $7662
765C | FE F7 : cp $F7
765E | 20 05 : jr nz,$7665
7660 | 3E 10 : ld a,$10 // increase code +10
7662 | 86 : add a,(hl)
7663 | 77 : ld (hl),a
7664 | 78 : ld a,b
7665 | FE EF : cp $EF
7667 | 20 03 : jr nz,$766C
7669 | 7E : ld a,(hl) // play sound
766A | 18 05 : jr $7671
766C | FE DF : cp $DF
766E | 20 04 : jr nz,$7674
7670 | AF : xor a // stop sound
7671 | 32 00 C8 : ld ($C800),a // send sound code
7674 | 18 CD : jr $7643
-->
</script>
<script state="run">
<output format="----- side arms 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@E100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0AD2 = 020C </action>
<action>maincpu.mq@7640 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7648 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7650 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7658 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7660 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7668 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7670 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip warning message">
<script state="on">
<action>maincpu.mw@0BCB = 0418</action>
</script>
<script state="off">
<action>maincpu.mw@0BCB = BDCD</action>
</script>
</cheat>
</mamecheat>
sidearmsu.xml
Code: Select all
<!-- Side Arms - Hyper Dyne (US, 861202) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- enemy -->
<action>maincpu.md@2AFC = 2F7600CD </action>
<action>maincpu.mq@7600 = 7DDD0620FAFE7CDD</action>
<action>maincpu.mq@7608 = 3AC97E3E032880FE</action>
<action>maincpu.mq@7610 = FFFFFFFFFFC9C803</action>
<!--
7600 | DD 7C : ld a,ixh
7602 | FE FA : cp $FA
7604 | 20 06 : jr nz,$760C
7606 | DD 7D : ld a,ixl
7608 | FE 80 : cp $80
760A | 28 03 : jr z,$760F
760C | 3E 7E : ld a,$7E
760E | C9 : ret
760F | 3A 03 C8 : ld a,($C803)
7612 | C9 : ret
-->
<action>maincpu.mb@02650 = C9</action> <!-- bullet -->
<action>maincpu.mb@02E49 = C9</action> <!-- boss -->
<action>maincpu.mb@1050D = C9</action> <!-- background ($850d) -->
</script>
<script state="off">
<action>maincpu.md@02AFC = 2FC8033A </action>
<action>maincpu.mq@07600 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07608 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07610 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@02650 = C8 </action>
<action>maincpu.mb@02E49 = C8 </action>
<action>maincpu.mb@1050D = D0 </action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@106F6 = 00</action> <!-- button ($86f6) -->
<action>maincpu.mb@10C8B = 00</action> <!-- auto fire weapon : 3-way ($8c8b) -->
<action>maincpu.mb@10C13 = 00</action> <!-- auto fire weapon : shot ($8c13) -->
</script>
<script state="off">
<action>maincpu.mb@106F6 = 05</action>
<action>maincpu.mb@10C8B = 61</action>
<action>maincpu.mb@10C13 = 2F</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="on">
<action>maincpu.md@10356 = 7620CD7E </action> <!-- y position : transformation ($8356) -->
<action>maincpu.md@1035E = 7627CD7E </action> <!-- x position : transformation ($835e) -->
<action>maincpu.md@10384 = 7620CD7E </action> <!-- y position : normal ($8384) -->
<action>maincpu.md@1038C = 7627CD7E </action> <!-- x position : normal ($838c) -->
<action>maincpu.mq@07620 = CDC90286DD762ECD</action>
<action>maincpu.mq@07628 = C8A7C90386DD762E</action>
<action>maincpu.mq@07630 = FFFFC944EDF0003E</action>
<!--
7620 | CD 2E 76 : call $762E
7623 | DD 86 02 : add a,(ix+$02)
7626 | C9 : ret
7627 | CD 2E 76 : call $762E
762A | DD 86 03 : add a,(ix+$03)
762D | C9 : ret
762E | A7 : and a
762F | C8 : ret z
7630 | 3E xx : ld a,$xx
7632 | F0 : ret p
7633 | ED 44 : neg
7635 | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@7631 = param</action>
</script>
<script state="off">
<action>maincpu.md@10356 = 86027EDD </action>
<action>maincpu.md@1035E = 86037EDD </action>
<action>maincpu.md@10384 = 86027EDD </action>
<action>maincpu.md@1038C = 86037EDD </action>
<action>maincpu.mq@07620 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07628 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07630 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="short hit mark">
<script state="on">
<action>maincpu.mb@11487 = 18</action> <!-- ($9487) -->
</script>
<script state="off">
<action>maincpu.mb@11487 = 28</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@0AD2 = 7640 </action>
<action>maincpu.mq@7640 = 47B8C8013AE10021</action>
<action>maincpu.mq@7648 = FE350120FDFEF928</action>
<action>maincpu.mq@7650 = 0420FBFE340120FE</action>
<action>maincpu.mq@7658 = 0520F7FE0618F03E</action>
<action>maincpu.mq@7660 = 20EFFE787786103E</action>
<action>maincpu.mq@7668 = 0420DFFE05187E03</action>
<action>maincpu.mq@7670 = FFFFCD18C80032AF</action>
<!--
7640 | 21 00 E1 : ld hl,$E100 // sound code address
7643 | 3A 01 C8 : ld a,($C801) // read input
7646 | B8 : cp b
7647 | 47 : ld b,a
7648 | 28 F9 : jr z,$7643
764A | FE FD : cp $FD
764C | 20 01 : jr nz,$764F
764E | 35 : dec (hl) // decrease code -01
764F | FE FE : cp $FE
7651 | 20 01 : jr nz,$7654
7653 | 34 : inc (hl) // increase code +01
7654 | FE FB : cp $FB
7656 | 20 04 : jr nz,$765C
7658 | 3E F0 : ld a,$F0 // decrease code -10
765A | 18 06 : jr $7662
765C | FE F7 : cp $F7
765E | 20 05 : jr nz,$7665
7660 | 3E 10 : ld a,$10 // increase code +10
7662 | 86 : add a,(hl)
7663 | 77 : ld (hl),a
7664 | 78 : ld a,b
7665 | FE EF : cp $EF
7667 | 20 03 : jr nz,$766C
7669 | 7E : ld a,(hl) // play sound
766A | 18 05 : jr $7671
766C | FE DF : cp $DF
766E | 20 04 : jr nz,$7674
7670 | AF : xor a // stop sound
7671 | 32 00 C8 : ld ($C800),a // send sound code
7674 | 18 CD : jr $7643
-->
</script>
<script state="run">
<output format="----- side arms 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@E100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0AD2 = 020C </action>
<action>maincpu.mq@7640 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7648 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7650 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7658 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7660 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7668 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7670 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip warning message">
<script state="on">
<action>maincpu.mw@0BCB = 0418</action>
</script>
<script state="off">
<action>maincpu.mw@0BCB = BDCD</action>
</script>
</cheat>
</mamecheat>
sidearmsur1.xml
Code: Select all
<!-- Side Arms - Hyper Dyne (US, 861128) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- enemy -->
<action>maincpu.md@2AFC = 2F7600CD </action>
<action>maincpu.mq@7600 = 7DDD0620FAFE7CDD</action>
<action>maincpu.mq@7608 = 3AC97E3E032880FE</action>
<action>maincpu.mq@7610 = FFFFFFFFFFC9C803</action>
<!--
7600 | DD 7C : ld a,ixh
7602 | FE FA : cp $FA
7604 | 20 06 : jr nz,$760C
7606 | DD 7D : ld a,ixl
7608 | FE 80 : cp $80
760A | 28 03 : jr z,$760F
760C | 3E 7E : ld a,$7E
760E | C9 : ret
760F | 3A 03 C8 : ld a,($C803)
7612 | C9 : ret
-->
<action>maincpu.mb@02650 = C9</action> <!-- bullet -->
<action>maincpu.mb@02E49 = C9</action> <!-- boss -->
<action>maincpu.mb@1050D = C9</action> <!-- background ($850d) -->
</script>
<script state="off">
<action>maincpu.md@02AFC = 2FC8033A </action>
<action>maincpu.mq@07600 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07608 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07610 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@02650 = C8 </action>
<action>maincpu.mb@02E49 = C8 </action>
<action>maincpu.mb@1050D = D0 </action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@106F6 = 00</action> <!-- button ($86f6) -->
<action>maincpu.mb@10C8B = 00</action> <!-- auto fire weapon : 3-way ($8c8b) -->
<action>maincpu.mb@10C13 = 00</action> <!-- auto fire weapon : shot ($8c13) -->
</script>
<script state="off">
<action>maincpu.mb@106F6 = 05</action>
<action>maincpu.mb@10C8B = 61</action>
<action>maincpu.mb@10C13 = 2F</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="on">
<action>maincpu.md@10356 = 7620CD7E </action> <!-- y position : transformation ($8356) -->
<action>maincpu.md@1035E = 7627CD7E </action> <!-- x position : transformation ($835e) -->
<action>maincpu.md@10384 = 7620CD7E </action> <!-- y position : normal ($8384) -->
<action>maincpu.md@1038C = 7627CD7E </action> <!-- x position : normal ($838c) -->
<action>maincpu.mq@07620 = CDC90286DD762ECD</action>
<action>maincpu.mq@07628 = C8A7C90386DD762E</action>
<action>maincpu.mq@07630 = FFFFC944EDF0003E</action>
<!--
7620 | CD 2E 76 : call $762E
7623 | DD 86 02 : add a,(ix+$02)
7626 | C9 : ret
7627 | CD 2E 76 : call $762E
762A | DD 86 03 : add a,(ix+$03)
762D | C9 : ret
762E | A7 : and a
762F | C8 : ret z
7630 | 3E xx : ld a,$xx
7632 | F0 : ret p
7633 | ED 44 : neg
7635 | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@7631 = param</action>
</script>
<script state="off">
<action>maincpu.md@10356 = 86027EDD </action>
<action>maincpu.md@1035E = 86037EDD </action>
<action>maincpu.md@10384 = 86027EDD </action>
<action>maincpu.md@1038C = 86037EDD </action>
<action>maincpu.mq@07620 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07628 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07630 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="short hit mark">
<script state="on">
<action>maincpu.mb@11487 = 18</action> <!-- ($9487) -->
</script>
<script state="off">
<action>maincpu.mb@11487 = 28</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@0AD2 = 7640 </action>
<action>maincpu.mq@7640 = 47B8C8013AE10021</action>
<action>maincpu.mq@7648 = FE350120FDFEF928</action>
<action>maincpu.mq@7650 = 0420FBFE340120FE</action>
<action>maincpu.mq@7658 = 0520F7FE0618F03E</action>
<action>maincpu.mq@7660 = 20EFFE787786103E</action>
<action>maincpu.mq@7668 = 0420DFFE05187E03</action>
<action>maincpu.mq@7670 = FFFFCD18C80032AF</action>
<!--
7640 | 21 00 E1 : ld hl,$E100 // sound code address
7643 | 3A 01 C8 : ld a,($C801) // read input
7646 | B8 : cp b
7647 | 47 : ld b,a
7648 | 28 F9 : jr z,$7643
764A | FE FD : cp $FD
764C | 20 01 : jr nz,$764F
764E | 35 : dec (hl) // decrease code -01
764F | FE FE : cp $FE
7651 | 20 01 : jr nz,$7654
7653 | 34 : inc (hl) // increase code +01
7654 | FE FB : cp $FB
7656 | 20 04 : jr nz,$765C
7658 | 3E F0 : ld a,$F0 // decrease code -10
765A | 18 06 : jr $7662
765C | FE F7 : cp $F7
765E | 20 05 : jr nz,$7665
7660 | 3E 10 : ld a,$10 // increase code +10
7662 | 86 : add a,(hl)
7663 | 77 : ld (hl),a
7664 | 78 : ld a,b
7665 | FE EF : cp $EF
7667 | 20 03 : jr nz,$766C
7669 | 7E : ld a,(hl) // play sound
766A | 18 05 : jr $7671
766C | FE DF : cp $DF
766E | 20 04 : jr nz,$7674
7670 | AF : xor a // stop sound
7671 | 32 00 C8 : ld ($C800),a // send sound code
7674 | 18 CD : jr $7643
-->
</script>
<script state="run">
<output format="----- side arms 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@E100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0AD2 = 020C </action>
<action>maincpu.mq@7640 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7648 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7650 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7658 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7660 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7668 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7670 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip warning message">
<script state="on">
<action>maincpu.mw@0BCB = 0418</action>
</script>
<script state="off">
<action>maincpu.mw@0BCB = BDCD</action>
</script>
</cheat>
</mamecheat>
sidearmsj.xml
Code: Select all
<!-- Side Arms - Hyper Dyne (Japan, 861128) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- enemy -->
<action>maincpu.md@2AFC = 2F7600CD </action>
<action>maincpu.mq@7600 = 7DDD0620FAFE7CDD</action>
<action>maincpu.mq@7608 = 3AC97E3E032880FE</action>
<action>maincpu.mq@7610 = FFFFFFFFFFC9C803</action>
<!--
7600 | DD 7C : ld a,ixh
7602 | FE FA : cp $FA
7604 | 20 06 : jr nz,$760C
7606 | DD 7D : ld a,ixl
7608 | FE 80 : cp $80
760A | 28 03 : jr z,$760F
760C | 3E 7E : ld a,$7E
760E | C9 : ret
760F | 3A 03 C8 : ld a,($C803)
7612 | C9 : ret
-->
<action>maincpu.mb@02650 = C9</action> <!-- bullet -->
<action>maincpu.mb@02E49 = C9</action> <!-- boss -->
<action>maincpu.mb@1050D = C9</action> <!-- background ($850d) -->
</script>
<script state="off">
<action>maincpu.md@02AFC = 2FC8033A </action>
<action>maincpu.mq@07600 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07608 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07610 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@02650 = C8 </action>
<action>maincpu.mb@02E49 = C8 </action>
<action>maincpu.mb@1050D = D0 </action>
</script>
</cheat>
<cheat desc="rapid fire">
<script state="on">
<action>maincpu.mb@106F6 = 00</action> <!-- button ($86f6) -->
<action>maincpu.mb@10C8B = 00</action> <!-- auto fire weapon : 3-way ($8c8b) -->
<action>maincpu.mb@10C13 = 00</action> <!-- auto fire weapon : shot ($8c13) -->
</script>
<script state="off">
<action>maincpu.mb@106F6 = 05</action>
<action>maincpu.mb@10C8B = 61</action>
<action>maincpu.mb@10C13 = 2F</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="on">
<action>maincpu.md@10356 = 7620CD7E </action> <!-- y position : transformation ($8356) -->
<action>maincpu.md@1035E = 7627CD7E </action> <!-- x position : transformation ($835e) -->
<action>maincpu.md@10384 = 7620CD7E </action> <!-- y position : normal ($8384) -->
<action>maincpu.md@1038C = 7627CD7E </action> <!-- x position : normal ($838c) -->
<action>maincpu.mq@07620 = CDC90286DD762ECD</action>
<action>maincpu.mq@07628 = C8A7C90386DD762E</action>
<action>maincpu.mq@07630 = FFFFC944EDF0003E</action>
<!--
7620 | CD 2E 76 : call $762E
7623 | DD 86 02 : add a,(ix+$02)
7626 | C9 : ret
7627 | CD 2E 76 : call $762E
762A | DD 86 03 : add a,(ix+$03)
762D | C9 : ret
762E | A7 : and a
762F | C8 : ret z
7630 | 3E xx : ld a,$xx
7632 | F0 : ret p
7633 | ED 44 : neg
7635 | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@7631 = param</action>
</script>
<script state="off">
<action>maincpu.md@10356 = 86027EDD </action>
<action>maincpu.md@1035E = 86037EDD </action>
<action>maincpu.md@10384 = 86027EDD </action>
<action>maincpu.md@1038C = 86037EDD </action>
<action>maincpu.mq@07620 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07628 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@07630 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="short hit mark">
<script state="on">
<action>maincpu.mb@11487 = 18</action> <!-- ($9487) -->
</script>
<script state="off">
<action>maincpu.mb@11487 = 28</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@0AD2 = 7640 </action>
<action>maincpu.mq@7640 = 47B8C8013AE10021</action>
<action>maincpu.mq@7648 = FE350120FDFEF928</action>
<action>maincpu.mq@7650 = 0420FBFE340120FE</action>
<action>maincpu.mq@7658 = 0520F7FE0618F03E</action>
<action>maincpu.mq@7660 = 20EFFE787786103E</action>
<action>maincpu.mq@7668 = 0420DFFE05187E03</action>
<action>maincpu.mq@7670 = FFFFCD18C80032AF</action>
<!--
7640 | 21 00 E1 : ld hl,$E100 // sound code address
7643 | 3A 01 C8 : ld a,($C801) // read input
7646 | B8 : cp b
7647 | 47 : ld b,a
7648 | 28 F9 : jr z,$7643
764A | FE FD : cp $FD
764C | 20 01 : jr nz,$764F
764E | 35 : dec (hl) // decrease code -01
764F | FE FE : cp $FE
7651 | 20 01 : jr nz,$7654
7653 | 34 : inc (hl) // increase code +01
7654 | FE FB : cp $FB
7656 | 20 04 : jr nz,$765C
7658 | 3E F0 : ld a,$F0 // decrease code -10
765A | 18 06 : jr $7662
765C | FE F7 : cp $F7
765E | 20 05 : jr nz,$7665
7660 | 3E 10 : ld a,$10 // increase code +10
7662 | 86 : add a,(hl)
7663 | 77 : ld (hl),a
7664 | 78 : ld a,b
7665 | FE EF : cp $EF
7667 | 20 03 : jr nz,$766C
7669 | 7E : ld a,(hl) // play sound
766A | 18 05 : jr $7671
766C | FE DF : cp $DF
766E | 20 04 : jr nz,$7674
7670 | AF : xor a // stop sound
7671 | 32 00 C8 : ld ($C800),a // send sound code
7674 | 18 CD : jr $7643
-->
</script>
<script state="run">
<output format="----- side arms 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@E100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@0AD2 = 020C </action>
<action>maincpu.mq@7640 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7648 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7650 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7658 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7660 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7668 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7670 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="skip warning message">
<script state="on">
<action>maincpu.mw@0BCB = 0418</action>
</script>
<script state="off">
<action>maincpu.mw@0BCB = BDCD</action>
</script>
</cheat>
</mamecheat>