discoboy.xml
Code: Select all
<!-- Disco Boy -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- enemy -->
<action>maincpu.mw@21AD = 66C0 </action> <!-- P1 -->
<action>maincpu.mw@21BD = 66C0 </action> <!-- P2 -->
<action>maincpu.mq@66C0 = FE042804FE2F7EDD</action>
<action>maincpu.mq@66C8 = 683A59FE7D113003</action>
<action>maincpu.mq@66D0 = 67CBF0693A0328F0</action>
<action>maincpu.mq@66D8 = C92B48CDC9AF0220</action>
<!--
66C0 | DD 7E 2F : ld a,(ix+$2f) // enemy or item
66C3 | FE 04 : cp $04
66C5 | 28 04 : jr z,$66CB
66C7 | FE 03 : cp $03
66C9 | 30 11 : jr nc,$66DC
66CB | 7D : ld a,l // P1 or P2
66CC | FE 59 : cp $59
66CE | 3A 68 F0 : ld a,($F068) // P1 roll
66D1 | 28 03 : jr z,$66D6
66D3 | 3A 69 F0 : ld a,($F069) // P2 roll
66D6 | CB 67 : bit 4,a
66D8 | 20 02 : jr nz,$66DC
66DA | AF : xor a
66DB | C9 : ret
66DC | CD 48 2B : call $2B48 // call collision check
66DF | C9 : ret
-->
<!-- bullet -->
<action>maincpu.mb@28F3 = 00</action> <!-- P1 -->
<action>maincpu.mb@2904 = 00</action> <!-- P2 -->
</script>
<script state="off">
<action>maincpu.mw@21AD = 2B48 </action>
<action>maincpu.mw@21BD = 2B48 </action>
<action>maincpu.mq@66C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@66C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@66D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@66D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@28F3 = 1C </action>
<action>maincpu.mb@2904 = 33 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mw@36D1 = 66E0 </action> <!-- P1 -->
<action>maincpu.mw@372D = 66E0 </action> <!-- P2 -->
<action>maincpu.mq@66E0 = 3A0328F0023A7FCB</action>
<action>maincpu.mq@66E8 = C9AFC0375FCBF003</action>
<!--
66E0 | CB 7F : bit 7,a
66E2 | 3A 02 F0 : ld a,($F002) // P1
66E5 | 28 03 : jr z,$66EA
66E7 | 3A 03 F0 : ld a,($F003) // P2
66EA | CB 5F : bit 3,a
66EC | 37 : scf
66ED | C0 : ret nz
66EE | AF : xor a
66EF | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mw@36D1 = 46CF </action>
<action>maincpu.mw@372D = 46CF </action>
<action>maincpu.mq@66E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@66E8 = FFFFFFFFFFFFFFFF</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>maincpu.md@2C43 = 0066F0CD </action> <!-- P1 up -->
<action>maincpu.md@2C5D = 0066F5CD </action> <!-- P1 down -->
<action>maincpu.md@2DE6 = 0066FDCD </action> <!-- P2 up -->
<action>maincpu.md@2E00 = 006702CD </action> <!-- P2 down -->
<action>maincpu.mq@66F0 = 0000010318000001</action>
<action>maincpu.mq@66F8 = 000001C909F0322A</action>
<action>maincpu.mq@6700 = F0362A0000010318</action>
<action>maincpu.mq@6708 = FFFFFFFFFFFFC909</action>
<!--
66F0 | 01 xx xx : ld bc,$xxxx // P1 up
66F3 | 18 03 : jr $66F8
66F5 | 01 xx xx : ld bc,$xxxx // P1 down
66F8 | 2A 32 F0 : ld hl,($F032)
66FB | 09 : add hl,bc
66FC | C9 : ret
66FD | 01 xx xx : ld bc,$xxxx // P2 up
6700 | 18 03 : jr $6705
6702 | 01 xx xx : ld bc,$xxxx // P2 down
6705 | 2A 36 F0 : ld hl,($F036)
6708 | 09 : add hl,bc
6709 | C9 : ret
-->
<action>maincpu.md@339C = F26710CD </action> <!-- P1 left/right -->
<action>maincpu.md@369D = F26715CD </action> <!-- P2 left/right -->
<action>maincpu.mq@6710 = F03E3A0318F03B3A</action>
<action>maincpu.mq@6718 = FFFFFF00C9671C21</action>
<!--
6710 | 3A 3B F0 : ld a,($F03B)
6713 | 18 03 : jr $6718
6715 | 3A 3E F0 : ld a,($F03E)
6718 | 21 1C 67 : ld hl,$671C
671B | C9 : ret
671C | xx : value for speed
-->
</script>
<script state="change">
<action>maincpu.mw@66F1 = param</action>
<action>maincpu.mw@66F6 = -param</action>
<action>maincpu.mw@66FE = param</action>
<action>maincpu.mw@6703 = -param</action>
<action>maincpu.mb@671C = param</action>
</script>
<script state="off">
<action>maincpu.md@2C43 = 23F0322A </action>
<action>maincpu.md@2C5D = 2BF0322A </action>
<action>maincpu.md@2DE6 = 23F0362A </action>
<action>maincpu.md@2E00 = 2BF0362A </action>
<action>maincpu.mq@66F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@66F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@6700 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@6708 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.md@339C = F2F0383A </action>
<action>maincpu.md@369D = F2F03B3A </action>
<action>maincpu.mq@6710 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@6718 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
<cheat desc="fixed gun direction">
<script state="on">
<!-- P1 -->
<action>maincpu.mw@3702 = 00AF</action>
<action>maincpu.mw@3709 = 0006</action>
<action>maincpu.mw@370E = 0006</action>
<!-- P2 -->
<action>maincpu.mw@375E = 00AF</action>
<action>maincpu.mw@3765 = 0006</action>
<action>maincpu.mw@376A = 0006</action>
</script>
<script state="off">
<action>maincpu.mw@3702 = 3FCB</action>
<action>maincpu.mw@3709 = 0106</action>
<action>maincpu.mw@370E = 0206</action>
<action>maincpu.mw@375E = 3FCB</action>
<action>maincpu.mw@3765 = 0106</action>
<action>maincpu.mw@376A = 0206</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- you can't stop some sfxs (code 0x80 or later) by sound stop button -->
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@07E6 = 6720 </action>
<action>maincpu.mq@6720 = 2847B802DBE00021</action>
<action>maincpu.mq@6728 = EFFE350120DFFEFA</action>
<action>maincpu.mq@6730 = 3E0420BFFE340120</action>
<action>maincpu.mq@6738 = 3E05207FFE0618F0</action>
<action>maincpu.mq@6740 = 0320F7FE78778610</action>
<action>maincpu.mq@6748 = 3E0420FBFE06187E</action>
<action>maincpu.mq@6750 = FFFFFFCE1803D33F</action>
<!--
6720 | 21 00 E0 : ld hl,$E000 // sound code address
6723 | DB 02 : in a,($02) // read input
6725 | B8 : cp b
6726 | 47 : ld b,a
6727 | 28 FA : jr z,$6723
6729 | FE DF : cp $DF
672B | 20 01 : jr nz,$672E
672D | 35 : dec (hl) // decrease code -01
672E | FE EF : cp $EF
6730 | 20 01 : jr nz,$6733
6732 | 34 : inc (hl) // increase code +01
6733 | FE BF : cp $BF
6735 | 20 04 : jr nz,$673B
6737 | 3E F0 : ld a,$F0 // decrease code -10
6739 | 18 06 : jr $6741
673B | FE 7F : cp $7F
673D | 20 05 : jr nz,$6744
673F | 3E 10 : ld a,$10 // increase code +10
6741 | 86 : add a,(hl)
6742 | 77 : ld (hl),a
6743 | 78 : ld a,b
6744 | FE F7 : cp $F7
6746 | 20 03 : jr nz,$674B
6748 | 7E : ld a,(hl) // play sound
6749 | 18 06 : jr $6751
674B | FE FB : cp $FB
674D | 20 04 : jr nz,$6753
674F | 3E 3F : ld a,$3F // stop sound
6751 | D3 03 : out ($03),a // send sound code
6753 | 18 CE : jr $6723
-->
</script>
<script state="run">
<output format="----- disco boy 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@E000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@07E6 = 0804 </action>
<action>maincpu.mq@6720 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@6728 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@6730 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@6738 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@6740 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@6748 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@6750 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
discoboyp.xml
Code: Select all
<!-- Disco Boy (Promat license) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- enemy -->
<action>maincpu.mw@2A0B = 7100 </action> <!-- P1 -->
<action>maincpu.mw@2A1E = 7100 </action> <!-- P2 -->
<action>maincpu.mq@7100 = FE042804FE2F7EDD</action>
<action>maincpu.mq@7108 = 683A59FE7D113003</action>
<action>maincpu.mq@7110 = 67CBF0693A0328F0</action>
<action>maincpu.mq@7118 = C933DACDC9AF0220</action>
<!--
7100 | DD 7E 2F : ld a,(ix+$2f) // enemy or item
7103 | FE 04 : cp $04
7105 | 28 04 : jr z,$710B
7107 | FE 03 : cp $03
7109 | 30 11 : jr nc,$711C
710B | 7D : ld a,l // P1 or P2
710C | FE 59 : cp $59
710E | 3A 68 F0 : ld a,($F068) // P1 roll
7111 | 28 03 : jr z,$7116
7113 | 3A 69 F0 : ld a,($F069) // P2 roll
7116 | CB 67 : bit 4,a
7118 | 20 02 : jr nz,$711C
711A | AF : xor a
711B | C9 : ret
711C | CD DA 33 : call $33DA // call collision check
711F | C9 : ret
-->
<!-- bullet -->
<action>maincpu.mb@31E2 = 00</action> <!-- P1 -->
<action>maincpu.mb@31F3 = 00</action> <!-- P2 -->
</script>
<script state="off">
<action>maincpu.mw@2A0B = 33DA </action>
<action>maincpu.mw@2A1E = 33DA </action>
<action>maincpu.mq@7100 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7108 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7110 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7118 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@31E2 = 1C </action>
<action>maincpu.mb@31F3 = 38 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mw@3F0A = 7120 </action> <!-- P1 -->
<action>maincpu.mw@3F5E = 7120 </action> <!-- P2 -->
<action>maincpu.mq@7120 = 3A0328F92B3A7FCB</action>
<action>maincpu.mq@7128 = C9AFC0375FCBF92C</action>
<!--
7120 | CB 7F : bit 7,a
7122 | 3A 2B F9 : ld a,($F92B) // P1
7125 | 28 03 : jr z,$712A
7127 | 3A 2C F9 : ld a,($F92C) // P2
712A | CB 5F : bit 3,a
712C | 37 : scf
712D | C0 : ret nz
712E | AF : xor a
712F | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mw@3F0A = 50D8 </action>
<action>maincpu.mw@3F5E = 50D8 </action>
<action>maincpu.mq@7120 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7128 = FFFFFFFFFFFFFFFF</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>maincpu.md@34B2 = 007130CD </action> <!-- P1 up -->
<action>maincpu.md@34CC = 007135CD </action> <!-- P1 down -->
<action>maincpu.md@3632 = 00713DCD </action> <!-- P2 up -->
<action>maincpu.md@364C = 007142CD </action> <!-- P2 down -->
<action>maincpu.mq@7130 = 0000010318000001</action>
<action>maincpu.mq@7138 = 000001C909F0322A</action>
<action>maincpu.mq@7140 = F0362A0000010318</action>
<action>maincpu.mq@7148 = FFFFFFFFFFFFC909</action>
<!--
7130 | 01 xx xx : ld bc,$xxxx // P1 up
7133 | 18 03 : jr $7138
7135 | 01 xx xx : ld bc,$xxxx // P1 down
7138 | 2A 32 F0 : ld hl,($F032)
713B | 09 : add hl,bc
713C | C9 : ret
713D | 01 xx xx : ld bc,$xxxx // P2 up
7140 | 18 03 : jr $7145
7142 | 01 xx xx : ld bc,$xxxx // P2 down
7145 | 2A 36 F0 : ld hl,($F036)
7148 | 09 : add hl,bc
7149 | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@3BD7 = param</action> <!-- P1 right -->
<action>maincpu.mb@3BE2 = -param</action> <!-- P1 left -->
<action>maincpu.mb@3ED9 = param</action> <!-- P2 right -->
<action>maincpu.mb@3EE4 = -param</action> <!-- P2 left -->
<action>maincpu.mw@7131 = param</action>
<action>maincpu.mw@7136 = -param</action>
<action>maincpu.mw@713E = param</action>
<action>maincpu.mw@7143 = -param</action>
</script>
<script state="off">
<action>maincpu.md@34B2 = 23F0322A </action>
<action>maincpu.md@34CC = 2BF0322A </action>
<action>maincpu.md@3632 = 23F0362A </action>
<action>maincpu.md@364C = 2BF0362A </action>
<action>maincpu.mq@7130 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7138 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7140 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7148 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@3BD7 = 02 </action>
<action>maincpu.mb@3BE2 = FE </action>
<action>maincpu.mb@3ED9 = 02 </action>
<action>maincpu.mb@3EE4 = FE </action>
</script>
</cheat>
<cheat desc="fixed gun direction">
<script state="on">
<!-- P1 -->
<action>maincpu.mw@3F31 = 00AF</action>
<action>maincpu.mw@3F3B = 0006</action>
<action>maincpu.mw@3F3F = 0006</action>
<!-- P2 -->
<action>maincpu.mw@3F85 = 00AF</action>
<action>maincpu.mw@3F8F = 0006</action>
<action>maincpu.mw@3F93 = 0006</action>
</script>
<script state="off">
<action>maincpu.mw@3F31 = 3FCB</action>
<action>maincpu.mw@3F3B = 0106</action>
<action>maincpu.mw@3F3F = 0206</action>
<action>maincpu.mw@3F85 = 3FCB</action>
<action>maincpu.mw@3F8F = 0106</action>
<action>maincpu.mw@3F93 = 0206</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- you can't stop some sfxs (code 0x80 or later) by sound stop button -->
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@54A1 = 7150 </action>
<action>maincpu.mq@7150 = 2847B802DBE00021</action>
<action>maincpu.mq@7158 = EFFE350120DFFEFA</action>
<action>maincpu.mq@7160 = 3E0420BFFE340120</action>
<action>maincpu.mq@7168 = 3E05207FFE0618F0</action>
<action>maincpu.mq@7170 = 0320F7FE78778610</action>
<action>maincpu.mq@7178 = 3E0420FBFE06187E</action>
<action>maincpu.mq@7180 = FFFFFFCE1803D33F</action>
<!--
7150 | 21 00 E0 : ld hl,$E000 // sound code address
7153 | DB 02 : in a,($02) // read input
7155 | B8 : cp b
7156 | 47 : ld b,a
7157 | 28 FA : jr z,$7153
7159 | FE DF : cp $DF
715B | 20 01 : jr nz,$715E
715D | 35 : dec (hl) // decrease code -01
715E | FE EF : cp $EF
7160 | 20 01 : jr nz,$7163
7162 | 34 : inc (hl) // increase code +01
7163 | FE BF : cp $BF
7165 | 20 04 : jr nz,$716B
7167 | 3E F0 : ld a,$F0 // decrease code -10
7169 | 18 06 : jr $7171
716B | FE 7F : cp $7F
716D | 20 05 : jr nz,$7174
716F | 3E 10 : ld a,$10 // increase code +10
7171 | 86 : add a,(hl)
7172 | 77 : ld (hl),a
7173 | 78 : ld a,b
7174 | FE F7 : cp $F7
7176 | 20 03 : jr nz,$717B
7178 | 7E : ld a,(hl) // play sound
7179 | 18 06 : jr $7181
717B | FE FB : cp $FB
717D | 20 04 : jr nz,$7183
717F | 3E 3F : ld a,$3F // stop sound
7181 | D3 03 : out ($03),a // send sound code
7183 | 18 CE : jr $7153
-->
</script>
<script state="run">
<output format="----- disco boy 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@E000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@54A1 = 4BF6 </action>
<action>maincpu.mq@7150 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7158 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7160 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7168 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7170 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7178 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7180 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>
djgirl.xml
Code: Select all
<!-- DJ Girl (Promat license) -->
<mamecheat version="1">
<cheat desc="no hit">
<script state="on">
<!-- enemy -->
<action>maincpu.mw@29D6 = 70C0 </action> <!-- P1 -->
<action>maincpu.mw@29E9 = 70C0 </action> <!-- P2 -->
<action>maincpu.mq@70C0 = FE042804FE2F7EDD</action>
<action>maincpu.mq@70C8 = 683A59FE7D113003</action>
<action>maincpu.mq@70D0 = 67CBF0693A0328F0</action>
<action>maincpu.mq@70D8 = C933A5CDC9AF0220</action>
<!--
70C0 | DD 7E 2F : ld a,(ix+$2f) // enemy or item
70C3 | FE 04 : cp $04
70C5 | 28 04 : jr z,$70CB
70C7 | FE 03 : cp $03
70C9 | 30 11 : jr nc,$70DC
70CB | 7D : ld a,l // P1 or P2
70CC | FE 59 : cp $59
70CE | 3A 68 F0 : ld a,($F068) // P1 roll
70D1 | 28 03 : jr z,$70D6
70D3 | 3A 69 F0 : ld a,($F069) // P2 roll
70D6 | CB 67 : bit 4,a
70D8 | 20 02 : jr nz,$70DC
70DA | AF : xor a
70DB | C9 : ret
70DC | CD A5 33 : call $33A5 // call collision check
70DF | C9 : ret
-->
<!-- bullet -->
<action>maincpu.mb@31AD = 00</action> <!-- P1 -->
<action>maincpu.mb@31BE = 00</action> <!-- P2 -->
</script>
<script state="off">
<action>maincpu.mw@29D6 = 33A5 </action>
<action>maincpu.mw@29E9 = 33A5 </action>
<action>maincpu.mq@70C0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@70C8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@70D0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@70D8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@31AD = 1C </action>
<action>maincpu.mb@31BE = 38 </action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mw@3ED5 = 70E0 </action> <!-- P1 -->
<action>maincpu.mw@3F29 = 70E0 </action> <!-- P2 -->
<action>maincpu.mq@70E0 = 3A0328F92B3A7FCB</action>
<action>maincpu.mq@70E8 = C9AFC0375FCBF92C</action>
<!--
70E0 | CB 7F : bit 7,a
70E2 | 3A 2B F9 : ld a,($F92B) // P1
70E5 | 28 03 : jr z,$70EA
70E7 | 3A 2C F9 : ld a,($F92C) // P2
70EA | CB 5F : bit 3,a
70EC | 37 : scf
70ED | C0 : ret nz
70EE | AF : xor a
70EF | C9 : ret
-->
</script>
<script state="off">
<action>maincpu.mw@3ED5 = 509A </action>
<action>maincpu.mw@3F29 = 509A </action>
<action>maincpu.mq@70E0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@70E8 = FFFFFFFFFFFFFFFF</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>maincpu.md@347D = 0070F0CD </action> <!-- P1 up -->
<action>maincpu.md@3497 = 0070F5CD </action> <!-- P1 down -->
<action>maincpu.md@35FD = 0070FDCD </action> <!-- P2 up -->
<action>maincpu.md@3617 = 007102CD </action> <!-- P2 down -->
<action>maincpu.mq@70F0 = 0000010318000001</action>
<action>maincpu.mq@70F8 = 000001C909F0322A</action>
<action>maincpu.mq@7100 = F0362A0000010318</action>
<action>maincpu.mq@7108 = FFFFFFFFFFFFC909</action>
<!--
70F0 | 01 xx xx : ld bc,$xxxx // P1 up
70F3 | 18 03 : jr $70F8
70F5 | 01 xx xx : ld bc,$xxxx // P1 down
70F8 | 2A 32 F0 : ld hl,($F032)
70FB | 09 : add hl,bc
70FC | C9 : ret
70FD | 01 xx xx : ld bc,$xxxx // P2 up
7100 | 18 03 : jr $7105
7102 | 01 xx xx : ld bc,$xxxx // P2 down
7105 | 2A 36 F0 : ld hl,($F036)
7108 | 09 : add hl,bc
7109 | C9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@3BA2 = param</action> <!-- P1 right -->
<action>maincpu.mb@3BAD = -param</action> <!-- P1 left -->
<action>maincpu.mb@3EA4 = param</action> <!-- P2 right -->
<action>maincpu.mb@3EAF = -param</action> <!-- P2 left -->
<action>maincpu.mw@70F1 = param</action>
<action>maincpu.mw@70F6 = -param</action>
<action>maincpu.mw@70FE = param</action>
<action>maincpu.mw@7103 = -param</action>
</script>
<script state="off">
<action>maincpu.md@347D = 23F0322A </action>
<action>maincpu.md@3497 = 2BF0322A </action>
<action>maincpu.md@35FD = 23F0362A </action>
<action>maincpu.md@3617 = 2BF0362A </action>
<action>maincpu.mq@70F0 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@70F8 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7100 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7108 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mb@3BA2 = 02 </action>
<action>maincpu.mb@3BAD = FE </action>
<action>maincpu.mb@3EA4 = 02 </action>
<action>maincpu.mb@3EAF = FE </action>
</script>
</cheat>
<cheat desc="fixed gun direction">
<script state="on">
<!-- P1 -->
<action>maincpu.mw@3EFC = 00AF</action>
<action>maincpu.mw@3F06 = 0006</action>
<action>maincpu.mw@3F0A = 0006</action>
<!-- P2 -->
<action>maincpu.mw@3F50 = 00AF</action>
<action>maincpu.mw@3F5A = 0006</action>
<action>maincpu.mw@3F5E = 0006</action>
</script>
<script state="off">
<action>maincpu.mw@3EFC = 3FCB</action>
<action>maincpu.mw@3F06 = 0106</action>
<action>maincpu.mw@3F0A = 0206</action>
<action>maincpu.mw@3F50 = 3FCB</action>
<action>maincpu.mw@3F5A = 0106</action>
<action>maincpu.mw@3F5E = 0206</action>
</script>
</cheat>
<cheat desc="sound test mode">
<!-- you can't stop some sfxs (code 0x80 or later) by sound stop button -->
<comment>reset the game (F3) to enter sound test mode</comment>
<script state="on">
<action>maincpu.mw@5463 = 7110 </action>
<action>maincpu.mq@7110 = 2847B802DBE00021</action>
<action>maincpu.mq@7118 = EFFE350120DFFEFA</action>
<action>maincpu.mq@7120 = 3E0420BFFE340120</action>
<action>maincpu.mq@7128 = 3E05207FFE0618F0</action>
<action>maincpu.mq@7130 = 0320F7FE78778610</action>
<action>maincpu.mq@7138 = 3E0420FBFE06187E</action>
<action>maincpu.mq@7140 = FFFFFFCE1803D33F</action>
<!--
7110 | 21 00 E0 : ld hl,$E000 // sound code address
7113 | DB 02 : in a,($02) // read input
7115 | B8 : cp b
7116 | 47 : ld b,a
7117 | 28 FA : jr z,$7113
7119 | FE DF : cp $DF
711B | 20 01 : jr nz,$711E
711D | 35 : dec (hl) // decrease code -01
711E | FE EF : cp $EF
7120 | 20 01 : jr nz,$7123
7122 | 34 : inc (hl) // increase code +01
7123 | FE BF : cp $BF
7125 | 20 04 : jr nz,$712B
7127 | 3E F0 : ld a,$F0 // decrease code -10
7129 | 18 06 : jr $7131
712B | FE 7F : cp $7F
712D | 20 05 : jr nz,$7134
712F | 3E 10 : ld a,$10 // increase code +10
7131 | 86 : add a,(hl)
7132 | 77 : ld (hl),a
7133 | 78 : ld a,b
7134 | FE F7 : cp $F7
7136 | 20 03 : jr nz,$713B
7138 | 7E : ld a,(hl) // play sound
7139 | 18 06 : jr $7141
713B | FE FB : cp $FB
713D | 20 04 : jr nz,$7143
713F | 3E 3F : ld a,$3F // stop sound
7141 | D3 03 : out ($03),a // send sound code
7143 | 18 CE : jr $7113
-->
</script>
<script state="run">
<output format="----- dj girl 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@E000</argument>
</output>
</script>
<script state="off">
<action>maincpu.mw@5463 = 4BB8 </action>
<action>maincpu.mq@7110 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7118 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7120 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7128 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7130 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7138 = FFFFFFFFFFFFFFFF</action>
<action>maincpu.mq@7140 = FFFFFFFFFFFFFFFF</action>
</script>
</cheat>
</mamecheat>