hvyunit.xml
Code: Select all
<!-- Heavy Unit (World) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>master.mb@2750 = 32 </action> <!-- background -->
<action>master.mb@27DE = 32 </action> <!-- background -->
<action>master.mw@4E5C = 0818</action> <!-- enemy -->
<action>master.mw@4ECB = 0818</action> <!-- bullet -->
<action>master.mb@CBFC = C3 </action> <!-- tentacle ($8bfc) -->
<action>master.mb@DCC0 = C3 </action> <!-- bone ($9cc0) -->
</script>
<script state="off">
<action>master.mb@2750 = 3A </action>
<action>master.mb@27DE = 3A </action>
<action>master.mw@4E5C = D716</action>
<action>master.mw@4ECB = D716</action>
<action>master.mb@CBFC = DA </action>
<action>master.mb@DCC0 = DA </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>master.mb@3E31 = 33</action> <!-- main shot -->
<action>master.mb@3E68 = 6A</action> <!-- sub weapon -->
</script>
<script state="off">
<action>master.mb@3E31 = 45</action>
<action>master.mb@3E68 = 7C</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x03">02 </item>
<item value="0x05">03 </item>
<item value="0x07">04 </item>
<item value="0x09">05 (fast)</item>
</parameter>
<script state="on">
<action>slave.md@0677 = 867F10CD </action> <!-- y position -->
<action>slave.md@068D = 867F15CD </action> <!-- x position -->
<action>slave.mq@7F10 = F08C3A0318F0833A</action>
<action>slave.mq@7F18 = C944EDF0003EC8A7</action>
<!--
7F10 | 3A 83 F0 : ld a,($F083) // y position
7F13 | 18 03 : jr $7F18
7F15 | 3A 8C F0 : ld a,($F08C) // x position
7F18 | A7 : and a
7F19 | C8 : ret z
7F1A | 3E xx : ld a,$xx
7F1C | F0 : ret p
7F1D | ED 44 : neg
7F1F | C9 : ret
-->
</script>
<script state="change">
<action>slave.mb@7F1B = param</action>
</script>
<script state="off">
<action>slave.md@0677 = 86F0833A </action>
<action>slave.md@068D = 86F08C3A </action>
<action>slave.mq@7F10 = 0000000000000000</action>
<action>slave.mq@7F18 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>master.mw@0010 = FE18 </action> <!-- disable master cpu interrupt -->
<action> slave.mb@5654 = 16 </action> <!-- enable input check -->
<action> slave.md@021A = B77F20C3 </action>
<action> slave.mq@7F20 = 47B8E06A3AD20021</action>
<action> slave.mq@7F28 = FE35012084FEF928</action>
<action> slave.mq@7F30 = 042082FE34012088</action>
<action> slave.mq@7F38 = 052081FE0618F03E</action>
<action> slave.mq@7F40 = 2090FE787786103E</action>
<action> slave.mq@7F48 = 0320A0FE05187E03</action>
<action> slave.mq@7F50 = 000000CE1802D3AF</action>
<!--
7F20 | 21 00 D2 : ld hl,$D200 // sound code address
7F23 | 3A 6A E0 : ld a,($E06A) // read input
7F26 | B8 : cp b
7F27 | 47 : ld b,a
7F28 | 28 F9 : jr z,$7F23
7F2A | FE 84 : cp $84
7F2C | 20 01 : jr nz,$7F2F
7F2E | 35 : dec (hl) // decrease code -01
7F2F | FE 88 : cp $88
7F31 | 20 01 : jr nz,$7F34
7F33 | 34 : inc (hl) // increase code +01
7F34 | FE 82 : cp $82
7F36 | 20 04 : jr nz,$7F3C
7F38 | 3E F0 : ld a,$F0 // decrease code -10
7F3A | 18 06 : jr $7F42
7F3C | FE 81 : cp $81
7F3E | 20 05 : jr nz,$7F45
7F40 | 3E 10 : ld a,$10 // increase code +10
7F42 | 86 : add a,(hl)
7F43 | 77 : ld (hl),a
7F44 | 78 : ld a,b
7F45 | FE 90 : cp $90
7F47 | 20 03 : jr nz,$7F4C
7F49 | 7E : ld a,(hl) // play sound
7F4A | 18 05 : jr $7F51
7F4C | FE A0 : cp $A0
7F4E | 20 03 : jr nz,$7F53
7F50 | AF : xor a // stop sound
7F51 | D3 02 : out ($02),a // send sound code
7F53 | 18 CE : jr $7F23
-->
</script>
<script state="run">
<output format="----- heavy unit 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>slave.pb@D200</argument>
</output>
</script>
<script state="off">
<action>master.mw@0010 = 5EED </action>
<action> slave.mb@5654 = 68 </action>
<action> slave.md@021A = B7E10B3A </action>
<action> slave.mq@7F20 = 0000000000000000</action>
<action> slave.mq@7F28 = 0000000000000000</action>
<action> slave.mq@7F30 = 0000000000000000</action>
<action> slave.mq@7F38 = 0000000000000000</action>
<action> slave.mq@7F40 = 0000000000000000</action>
<action> slave.mq@7F48 = 0000000000000000</action>
<action> slave.mq@7F50 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
hvyunitj.xml
Code: Select all
<!-- Heavy Unit (Japan, newer) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>master.mb@2750 = 32 </action> <!-- background -->
<action>master.mb@27DE = 32 </action> <!-- background -->
<action>master.mw@4E5D = 0818</action> <!-- enemy -->
<action>master.mw@4ECC = 0818</action> <!-- bullet -->
<action>master.mb@CC26 = C3 </action> <!-- tentacle ($8c26) -->
<action>master.mb@DCEA = C3 </action> <!-- bone ($9cea) -->
</script>
<script state="off">
<action>master.mb@2750 = 3A </action>
<action>master.mb@27DE = 3A </action>
<action>master.mw@4E5D = D716</action>
<action>master.mw@4ECC = D716</action>
<action>master.mb@CC26 = DA </action>
<action>master.mb@DCEA = DA </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>master.mb@3E32 = 34</action> <!-- main shot -->
<action>master.mb@3E69 = 6B</action> <!-- sub weapon -->
</script>
<script state="off">
<action>master.mb@3E32 = 46</action>
<action>master.mb@3E69 = 7D</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x03">02 </item>
<item value="0x05">03 </item>
<item value="0x07">04 </item>
<item value="0x09">05 (fast)</item>
</parameter>
<script state="on">
<action>slave.md@0677 = 867F10CD </action> <!-- y position -->
<action>slave.md@068D = 867F15CD </action> <!-- x position -->
<action>slave.mq@7F10 = F08C3A0318F0833A</action>
<action>slave.mq@7F18 = C944EDF0003EC8A7</action>
<!--
7F10 | 3A 83 F0 : ld a,($F083) // y position
7F13 | 18 03 : jr $7F18
7F15 | 3A 8C F0 : ld a,($F08C) // x position
7F18 | A7 : and a
7F19 | C8 : ret z
7F1A | 3E xx : ld a,$xx
7F1C | F0 : ret p
7F1D | ED 44 : neg
7F1F | C9 : ret
-->
</script>
<script state="change">
<action>slave.mb@7F1B = param</action>
</script>
<script state="off">
<action>slave.md@0677 = 86F0833A </action>
<action>slave.md@068D = 86F08C3A </action>
<action>slave.mq@7F10 = 0000000000000000</action>
<action>slave.mq@7F18 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>master.mw@0010 = FE18 </action> <!-- disable master cpu interrupt -->
<action> slave.mb@5671 = 33 </action> <!-- enable input check -->
<action> slave.md@021A = B77F20C3 </action>
<action> slave.mq@7F20 = 47B8E06A3AD20021</action>
<action> slave.mq@7F28 = FE35012084FEF928</action>
<action> slave.mq@7F30 = 042082FE34012088</action>
<action> slave.mq@7F38 = 052081FE0618F03E</action>
<action> slave.mq@7F40 = 2090FE787786103E</action>
<action> slave.mq@7F48 = 0320A0FE05187E03</action>
<action> slave.mq@7F50 = 000000CE1802D3AF</action>
<!--
7F20 | 21 00 D2 : ld hl,$D200 // sound code address
7F23 | 3A 6A E0 : ld a,($E06A) // read input
7F26 | B8 : cp b
7F27 | 47 : ld b,a
7F28 | 28 F9 : jr z,$7F23
7F2A | FE 84 : cp $84
7F2C | 20 01 : jr nz,$7F2F
7F2E | 35 : dec (hl) // decrease code -01
7F2F | FE 88 : cp $88
7F31 | 20 01 : jr nz,$7F34
7F33 | 34 : inc (hl) // increase code +01
7F34 | FE 82 : cp $82
7F36 | 20 04 : jr nz,$7F3C
7F38 | 3E F0 : ld a,$F0 // decrease code -10
7F3A | 18 06 : jr $7F42
7F3C | FE 81 : cp $81
7F3E | 20 05 : jr nz,$7F45
7F40 | 3E 10 : ld a,$10 // increase code +10
7F42 | 86 : add a,(hl)
7F43 | 77 : ld (hl),a
7F44 | 78 : ld a,b
7F45 | FE 90 : cp $90
7F47 | 20 03 : jr nz,$7F4C
7F49 | 7E : ld a,(hl) // play sound
7F4A | 18 05 : jr $7F51
7F4C | FE A0 : cp $A0
7F4E | 20 03 : jr nz,$7F53
7F50 | AF : xor a // stop sound
7F51 | D3 02 : out ($02),a // send sound code
7F53 | 18 CE : jr $7F23
-->
</script>
<script state="run">
<output format="----- heavy unit 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>slave.pb@D200</argument>
</output>
</script>
<script state="off">
<action>master.mw@0010 = 5EED </action>
<action> slave.mb@5671 = 85 </action>
<action> slave.md@021A = B7E10B3A </action>
<action> slave.mq@7F20 = 0000000000000000</action>
<action> slave.mq@7F28 = 0000000000000000</action>
<action> slave.mq@7F30 = 0000000000000000</action>
<action> slave.mq@7F38 = 0000000000000000</action>
<action> slave.mq@7F40 = 0000000000000000</action>
<action> slave.mq@7F48 = 0000000000000000</action>
<action> slave.mq@7F50 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
hvyunitja.xml
Code: Select all
<!-- Heavy Unit (Japan, alternate ROM format) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>master.mb@2750 = 32 </action> <!-- background -->
<action>master.mb@27DE = 32 </action> <!-- background -->
<action>master.mw@4E65 = 0818</action> <!-- enemy -->
<action>master.mw@4ED4 = 0818</action> <!-- bullet -->
<action>master.mb@CC26 = C3 </action> <!-- tentacle ($8c26) -->
<action>master.mb@DCEA = C3 </action> <!-- bone ($9cea) -->
</script>
<script state="off">
<action>master.mb@2750 = 3A </action>
<action>master.mb@27DE = 3A </action>
<action>master.mw@4E65 = D716</action>
<action>master.mw@4ED4 = D716</action>
<action>master.mb@CC26 = DA </action>
<action>master.mb@DCEA = DA </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>master.mb@3E3A = 3C</action> <!-- main shot -->
<action>master.mb@3E71 = 73</action> <!-- sub weapon -->
</script>
<script state="off">
<action>master.mb@3E3A = 4E</action>
<action>master.mb@3E71 = 85</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x03">02 </item>
<item value="0x05">03 </item>
<item value="0x07">04 </item>
<item value="0x09">05 (fast)</item>
</parameter>
<script state="on">
<action>slave.md@0677 = 867F10CD </action> <!-- y position -->
<action>slave.md@068D = 867F15CD </action> <!-- x position -->
<action>slave.mq@7F10 = F08C3A0318F0833A</action>
<action>slave.mq@7F18 = C944EDF0003EC8A7</action>
<!--
7F10 | 3A 83 F0 : ld a,($F083) // y position
7F13 | 18 03 : jr $7F18
7F15 | 3A 8C F0 : ld a,($F08C) // x position
7F18 | A7 : and a
7F19 | C8 : ret z
7F1A | 3E xx : ld a,$xx
7F1C | F0 : ret p
7F1D | ED 44 : neg
7F1F | C9 : ret
-->
</script>
<script state="change">
<action>slave.mb@7F1B = param</action>
</script>
<script state="off">
<action>slave.md@0677 = 86F0833A </action>
<action>slave.md@068D = 86F08C3A </action>
<action>slave.mq@7F10 = 0000000000000000</action>
<action>slave.mq@7F18 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>master.mw@0010 = FE18 </action> <!-- disable master cpu interrupt -->
<action> slave.mb@5671 = 33 </action> <!-- enable input check -->
<action> slave.md@021A = B77F20C3 </action>
<action> slave.mq@7F20 = 47B8E06A3AD20021</action>
<action> slave.mq@7F28 = FE35012084FEF928</action>
<action> slave.mq@7F30 = 042082FE34012088</action>
<action> slave.mq@7F38 = 052081FE0618F03E</action>
<action> slave.mq@7F40 = 2090FE787786103E</action>
<action> slave.mq@7F48 = 0320A0FE05187E03</action>
<action> slave.mq@7F50 = 000000CE1802D3AF</action>
<!--
7F20 | 21 00 D2 : ld hl,$D200 // sound code address
7F23 | 3A 6A E0 : ld a,($E06A) // read input
7F26 | B8 : cp b
7F27 | 47 : ld b,a
7F28 | 28 F9 : jr z,$7F23
7F2A | FE 84 : cp $84
7F2C | 20 01 : jr nz,$7F2F
7F2E | 35 : dec (hl) // decrease code -01
7F2F | FE 88 : cp $88
7F31 | 20 01 : jr nz,$7F34
7F33 | 34 : inc (hl) // increase code +01
7F34 | FE 82 : cp $82
7F36 | 20 04 : jr nz,$7F3C
7F38 | 3E F0 : ld a,$F0 // decrease code -10
7F3A | 18 06 : jr $7F42
7F3C | FE 81 : cp $81
7F3E | 20 05 : jr nz,$7F45
7F40 | 3E 10 : ld a,$10 // increase code +10
7F42 | 86 : add a,(hl)
7F43 | 77 : ld (hl),a
7F44 | 78 : ld a,b
7F45 | FE 90 : cp $90
7F47 | 20 03 : jr nz,$7F4C
7F49 | 7E : ld a,(hl) // play sound
7F4A | 18 05 : jr $7F51
7F4C | FE A0 : cp $A0
7F4E | 20 03 : jr nz,$7F53
7F50 | AF : xor a // stop sound
7F51 | D3 02 : out ($02),a // send sound code
7F53 | 18 CE : jr $7F23
-->
</script>
<script state="run">
<output format="----- heavy unit 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>slave.pb@D200</argument>
</output>
</script>
<script state="off">
<action>master.mw@0010 = 5EED </action>
<action> slave.mb@5671 = 85 </action>
<action> slave.md@021A = B7E10B3A </action>
<action> slave.mq@7F20 = 0000000000000000</action>
<action> slave.mq@7F28 = 0000000000000000</action>
<action> slave.mq@7F30 = 0000000000000000</action>
<action> slave.mq@7F38 = 0000000000000000</action>
<action> slave.mq@7F40 = 0000000000000000</action>
<action> slave.mq@7F48 = 0000000000000000</action>
<action> slave.mq@7F50 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
hvyunitjo.xml
Code: Select all
<!-- Heavy Unit (Japan, older) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>master.mb@2750 = 32 </action> <!-- background -->
<action>master.mb@27DE = 32 </action> <!-- background -->
<action>master.mw@4E5D = 0818</action> <!-- enemy -->
<action>master.mw@4ECC = 0818</action> <!-- bullet -->
<action>master.mb@CC26 = C3 </action> <!-- tentacle ($8c26) -->
<action>master.mb@DCEA = C3 </action> <!-- bone ($9cea) -->
</script>
<script state="off">
<action>master.mb@2750 = 3A </action>
<action>master.mb@27DE = 3A </action>
<action>master.mw@4E5D = D716</action>
<action>master.mw@4ECC = D716</action>
<action>master.mb@CC26 = DA </action>
<action>master.mb@DCEA = DA </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>master.mb@3E32 = 34</action> <!-- main shot -->
<action>master.mb@3E69 = 6B</action> <!-- sub weapon -->
</script>
<script state="off">
<action>master.mb@3E32 = 46</action>
<action>master.mb@3E69 = 7D</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x03">02 </item>
<item value="0x05">03 </item>
<item value="0x07">04 </item>
<item value="0x09">05 (fast)</item>
</parameter>
<script state="on">
<action>slave.md@0677 = 867F10CD </action> <!-- y position -->
<action>slave.md@068D = 867F15CD </action> <!-- x position -->
<action>slave.mq@7F10 = F08C3A0318F0833A</action>
<action>slave.mq@7F18 = C944EDF0003EC8A7</action>
<!--
7F10 | 3A 83 F0 : ld a,($F083) // y position
7F13 | 18 03 : jr $7F18
7F15 | 3A 8C F0 : ld a,($F08C) // x position
7F18 | A7 : and a
7F19 | C8 : ret z
7F1A | 3E xx : ld a,$xx
7F1C | F0 : ret p
7F1D | ED 44 : neg
7F1F | C9 : ret
-->
</script>
<script state="change">
<action>slave.mb@7F1B = param</action>
</script>
<script state="off">
<action>slave.md@0677 = 86F0833A </action>
<action>slave.md@068D = 86F08C3A </action>
<action>slave.mq@7F10 = 0000000000000000</action>
<action>slave.mq@7F18 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>master.mw@0010 = FE18 </action> <!-- disable master cpu interrupt -->
<action> slave.mb@5671 = 33 </action> <!-- enable input check -->
<action> slave.md@021A = B77F20C3 </action>
<action> slave.mq@7F20 = 47B8E06A3AD20021</action>
<action> slave.mq@7F28 = FE35012084FEF928</action>
<action> slave.mq@7F30 = 042082FE34012088</action>
<action> slave.mq@7F38 = 052081FE0618F03E</action>
<action> slave.mq@7F40 = 2090FE787786103E</action>
<action> slave.mq@7F48 = 0320A0FE05187E03</action>
<action> slave.mq@7F50 = 000000CE1802D3AF</action>
<!--
7F20 | 21 00 D2 : ld hl,$D200 // sound code address
7F23 | 3A 6A E0 : ld a,($E06A) // read input
7F26 | B8 : cp b
7F27 | 47 : ld b,a
7F28 | 28 F9 : jr z,$7F23
7F2A | FE 84 : cp $84
7F2C | 20 01 : jr nz,$7F2F
7F2E | 35 : dec (hl) // decrease code -01
7F2F | FE 88 : cp $88
7F31 | 20 01 : jr nz,$7F34
7F33 | 34 : inc (hl) // increase code +01
7F34 | FE 82 : cp $82
7F36 | 20 04 : jr nz,$7F3C
7F38 | 3E F0 : ld a,$F0 // decrease code -10
7F3A | 18 06 : jr $7F42
7F3C | FE 81 : cp $81
7F3E | 20 05 : jr nz,$7F45
7F40 | 3E 10 : ld a,$10 // increase code +10
7F42 | 86 : add a,(hl)
7F43 | 77 : ld (hl),a
7F44 | 78 : ld a,b
7F45 | FE 90 : cp $90
7F47 | 20 03 : jr nz,$7F4C
7F49 | 7E : ld a,(hl) // play sound
7F4A | 18 05 : jr $7F51
7F4C | FE A0 : cp $A0
7F4E | 20 03 : jr nz,$7F53
7F50 | AF : xor a // stop sound
7F51 | D3 02 : out ($02),a // send sound code
7F53 | 18 CE : jr $7F23
-->
</script>
<script state="run">
<output format="----- heavy unit 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>slave.pb@D200</argument>
</output>
</script>
<script state="off">
<action>master.mw@0010 = 5EED </action>
<action> slave.mb@5671 = 85 </action>
<action> slave.md@021A = B7E10B3A </action>
<action> slave.mq@7F20 = 0000000000000000</action>
<action> slave.mq@7F28 = 0000000000000000</action>
<action> slave.mq@7F30 = 0000000000000000</action>
<action> slave.mq@7F38 = 0000000000000000</action>
<action> slave.mq@7F40 = 0000000000000000</action>
<action> slave.mq@7F48 = 0000000000000000</action>
<action> slave.mq@7F50 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
hvyunitu.xml
Code: Select all
<!-- Heavy Unit -U.S.A. Version- (US) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<action>master.mb@2750 = 32 </action> <!-- background -->
<action>master.mb@27DE = 32 </action> <!-- background -->
<action>master.mw@4E80 = 0818</action> <!-- enemy -->
<action>master.mw@4EEF = 0818</action> <!-- bullet -->
<action>master.mb@CBF9 = C3 </action> <!-- tentacle ($8bf9) -->
<action>master.mb@DCBD = C3 </action> <!-- bone ($9cbd) -->
</script>
<script state="off">
<action>master.mb@2750 = 3A </action>
<action>master.mb@27DE = 3A </action>
<action>master.mw@4E80 = D716</action>
<action>master.mw@4EEF = D716</action>
<action>master.mb@CBF9 = DA </action>
<action>master.mb@DCBD = DA </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>master.mb@3E55 = 57</action> <!-- main shot -->
<action>master.mb@3E8C = 8E</action> <!-- sub weapon -->
</script>
<script state="off">
<action>master.mb@3E55 = 69</action>
<action>master.mb@3E8C = A0</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x01">01 (slow)</item>
<item value="0x03">02 </item>
<item value="0x05">03 </item>
<item value="0x07">04 </item>
<item value="0x09">05 (fast)</item>
</parameter>
<script state="on">
<action>slave.md@0677 = 867F10CD </action> <!-- y position -->
<action>slave.md@068D = 867F15CD </action> <!-- x position -->
<action>slave.mq@7F10 = F08C3A0318F0833A</action>
<action>slave.mq@7F18 = C944EDF0003EC8A7</action>
<!--
7F10 | 3A 83 F0 : ld a,($F083) // y position
7F13 | 18 03 : jr $7F18
7F15 | 3A 8C F0 : ld a,($F08C) // x position
7F18 | A7 : and a
7F19 | C8 : ret z
7F1A | 3E xx : ld a,$xx
7F1C | F0 : ret p
7F1D | ED 44 : neg
7F1F | C9 : ret
-->
</script>
<script state="change">
<action>slave.mb@7F1B = param</action>
</script>
<script state="off">
<action>slave.md@0677 = 86F0833A </action>
<action>slave.md@068D = 86F08C3A </action>
<action>slave.mq@7F10 = 0000000000000000</action>
<action>slave.mq@7F18 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>master.mw@0010 = FE18 </action> <!-- disable master cpu interrupt -->
<action> slave.mb@5671 = 33 </action> <!-- enable input check -->
<action> slave.md@021A = B77F20C3 </action>
<action> slave.mq@7F20 = 47B8E06A3AD20021</action>
<action> slave.mq@7F28 = FE35012084FEF928</action>
<action> slave.mq@7F30 = 042082FE34012088</action>
<action> slave.mq@7F38 = 052081FE0618F03E</action>
<action> slave.mq@7F40 = 2090FE787786103E</action>
<action> slave.mq@7F48 = 0320A0FE05187E03</action>
<action> slave.mq@7F50 = 000000CE1802D3AF</action>
<!--
7F20 | 21 00 D2 : ld hl,$D200 // sound code address
7F23 | 3A 6A E0 : ld a,($E06A) // read input
7F26 | B8 : cp b
7F27 | 47 : ld b,a
7F28 | 28 F9 : jr z,$7F23
7F2A | FE 84 : cp $84
7F2C | 20 01 : jr nz,$7F2F
7F2E | 35 : dec (hl) // decrease code -01
7F2F | FE 88 : cp $88
7F31 | 20 01 : jr nz,$7F34
7F33 | 34 : inc (hl) // increase code +01
7F34 | FE 82 : cp $82
7F36 | 20 04 : jr nz,$7F3C
7F38 | 3E F0 : ld a,$F0 // decrease code -10
7F3A | 18 06 : jr $7F42
7F3C | FE 81 : cp $81
7F3E | 20 05 : jr nz,$7F45
7F40 | 3E 10 : ld a,$10 // increase code +10
7F42 | 86 : add a,(hl)
7F43 | 77 : ld (hl),a
7F44 | 78 : ld a,b
7F45 | FE 90 : cp $90
7F47 | 20 03 : jr nz,$7F4C
7F49 | 7E : ld a,(hl) // play sound
7F4A | 18 05 : jr $7F51
7F4C | FE A0 : cp $A0
7F4E | 20 03 : jr nz,$7F53
7F50 | AF : xor a // stop sound
7F51 | D3 02 : out ($02),a // send sound code
7F53 | 18 CE : jr $7F23
-->
</script>
<script state="run">
<output format="----- heavy unit 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>slave.pb@D200</argument>
</output>
</script>
<script state="off">
<action>master.mw@0010 = 5EED </action>
<action> slave.mb@5671 = 85 </action>
<action> slave.md@021A = B7E10B3A </action>
<action> slave.mq@7F20 = 0000000000000000</action>
<action> slave.mq@7F28 = 0000000000000000</action>
<action> slave.mq@7F30 = 0000000000000000</action>
<action> slave.mq@7F38 = 0000000000000000</action>
<action> slave.mq@7F40 = 0000000000000000</action>
<action> slave.mq@7F48 = 0000000000000000</action>
<action> slave.mq@7F50 = 0000000000000000</action>
</script>
</cheat>
</mamecheat>
- "no hit" : Fixed "player bullet vs background" problem.
- "player speed" : Rewritten routine. Reduced size.
- "sound test mode" : Rewritten routine.