[djgirl] Disco Boy/DJ Girl
Posted: Thu Feb 09, 2023 10:20 am
djgirl is clone of discoboy and will be added in 0.252.
Code: Select all
<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) // check 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 // check P1 or P2
70cc | fe 59 : cp $59
70ce | 3a 68 f0 : ld a,($F068) // check P1 roll
70d1 | 28 03 : jr z,$70D6
70d3 | 3a 69 f0 : ld a,($F069) // check 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 = 2847b802dbe10021</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 e1 : ld hl,$E100 // 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 %2.2X >>" line="19" align="center" >
<argument>maincpu.pb@e100</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>