Code: Select all
<cheat desc="no hit">
<script state="on">
<!-- player -->
<action>maincpu.mb@5faf = 00</action> <!-- boss -->
<action>maincpu.mw@620c = c9af</action> <!-- background -->
<action>maincpu.mb@7484 = c9</action> <!-- enemy -->
<action>maincpu.mb@8328 = 18</action> <!-- bullet -->
<action>maincpu.mb@8d84 = c9</action> <!-- earthquake (boss 6) -->
<action>maincpu.mb@9094 = 18</action> <!-- boss -->
<!-- shield -->
<action>maincpu.mb@8363 = c9</action>
</script>
<script state="off">
<action>maincpu.mb@5faf = 0b</action>
<action>maincpu.mw@620c = 43d6</action>
<action>maincpu.mb@7484 = cd</action>
<action>maincpu.mb@8328 = 38</action>
<action>maincpu.mb@8d84 = c3</action>
<action>maincpu.mb@9094 = 20</action>
<action>maincpu.mb@8363 = 3e</action>
</script>
</cheat>
<cheat desc="auto fire">
<script state="on">
<action>maincpu.mb@5d1f = 09</action> <!-- input -->
<action>maincpu.mb@5d3b = cd</action> <!-- fire timer -->
</script>
<script state="off">
<action>maincpu.mb@5d1f = 08</action>
<action>maincpu.mb@5d3b = cc</action>
</script>
</cheat>
<cheat desc="player speed">
<parameter>
<item value="0x0808">01 (slow)</item>
<item value="0x1010">02 </item>
<item value="0x2020">03 </item>
<item value="0x3030">04 </item>
<item value="0x4040">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.md@5f12 = 0e185f16</action>
</script>
<script state="change">
<action>maincpu.mw@5f16 = param</action>
</script>
<script state="off">
<action>maincpu.mq@5f12 = dd03fe0c7edd62e2</action>
</script>
</cheat>
<cheat desc="bullet speed">
<parameter min="0x01" max="0x04" step="0x01" />
<script state="on">
<action>maincpu.mw@585a = 2200</action>
<action>maincpu.mq@2200 = 10c162eccdc50006</action>
<action>maincpu.mq@2208 = 000000000000c9f9</action>
<!--
2200 | 06 xx : ld b,$xx
2202 | c5 : push bc
2203 | cd ec 62 : call $62EC
2206 | c1 : pop bc
2207 | 10 f9 : djnz $2202
2209 | c9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@2201 = param</action>
</script>
<script state="off">
<action>maincpu.mw@585A = 62ec</action>
<action>maincpu.mq@2200 = 0000000000000000</action>
<action>maincpu.mq@2208 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="unlock hidden panel">
<script state="on">
<action>maincpu.md@6a38 = dd2210cd</action>
<action>maincpu.mq@2210 = 0000c90077ddffcb</action>
<!--
2210 | cb ff : set 7,a
2212 | dd 77 00 : ld (ix+$00),a
2215 | c9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@6a38 = dd0077dd</action>
<action>maincpu.mq@2210 = 0000000000000000</action>
</script>
</cheat>
<cheat desc="sound test mode">
<comment>reset the game (F3) then insert a coin to enter sound test mode</comment>
<script state="on">
<action>maincpu.mb@4168 = 00</action> <!-- disable next sequence -->
<action>maincpu.mb@426c = c9</action> <!-- disable title screen -->
<action>maincpu.mw@4121 = 2220</action>
<action>maincpu.mq@2220 = 77bee0093ac10121</action>
<action>maincpu.mq@2228 = fe35012004fe2bc8</action>
<action>maincpu.mq@2230 = 032010fe34012008</action>
<action>maincpu.mq@2238 = 3d3ec001fe05187e</action>
<action>maincpu.mq@2240 = 00000000c9490ccd</action>
<!--
2220 | 21 01 c1 : ld hl,$C101 // $c101 = input
2223 | 3a 09 e0 : ld a,($E009) // read input
2226 | be : cp (hl)
2227 | 77 : ld (hl),a
2228 | c8 : ret z
2229 | 2b : dec hl // $c100 = sound code
222a | fe 04 : cp $04
222c | 20 01 : jr nz,$222F
222e | 35 : dec (hl) // decrease code
222f | fe 08 : cp $08
2231 | 20 01 : jr nz,$2234
2233 | 34 : inc (hl) // increase code
2234 | fe 10 : cp $10
2236 | 20 03 : jr nz,$223B
2238 | 7e : ld a,(hl) // play sound
2239 | 18 05 : jr $2240
223b | fe 01 : cp $01
223d | c0 : ret nz
223e | 3e 3d : ld a,$3D // stop sound
2240 | cd 0c 49 : call $490C // send sound code
2243 | c9 : ret
-->
</script>
<script state="run">
<output format="----- pesadelo sound test mode -----" line="10" align="center" />
<output format="left : decrease code" line="11" align="center" />
<output format="right : increase code" line="12" align="center" />
<output format="button 1 : play sound" line="13" align="center" />
<output format="up : stop sound" line="14" align="center" />
<output format="----------------------------" line="15" align="center" />
<output format="<< sound code %2.2X >>" line="17" align="center">
<argument>maincpu.pb@c100</argument>
</output>
</script>
<script state="off">
<action>maincpu.mb@4168 = 34</action>
<action>maincpu.mb@426c = c8</action>
<action>maincpu.mw@4121 = 44b4</action>
<action>maincpu.mq@2220 = 77bee0093ac10121</action>
<action>maincpu.mq@2228 = fe35012004fe2bc8</action>
<action>maincpu.mq@2230 = 032010fe34012008</action>
<action>maincpu.mq@2238 = 3d3ec001fe05187e</action>
<action>maincpu.mq@2240 = 00000000c9490ccd</action>
</script>
</cheat>
<cheat desc="reverse some hacks">
<script state="on">
<action>maincpu.mw@4106 = 46f1</action> <!-- konami logo -->
<action>maincpu.mw@4202 = 490c</action> <!-- game over sound? -->
<action>maincpu.mb@42ab = 00</action> <!-- starting stage -->
<action>maincpu.mb@430d = 01</action> <!-- extra character -->
<action>maincpu.mb@5fe1 = 01</action> <!-- invincibility timer -->
<!-- message -->
<action>maincpu.mq@4520 = 1d231b2d25272224</action>
<action>maincpu.mq@452b = 1b21251f1e202a28</action>
<action>maincpu.mq@4533 = 22281a398afe1d23</action>
<action>maincpu.mq@453b = 1819110020211b2a</action>
<action>maincpu.mq@4543 = 1f242c2b3a09fe16</action>
<action>maincpu.mq@454b = 28001d1c1b2b2400</action>
<action>maincpu.mw@4553 = 2e1d</action>
<action>maincpu.md@455a = 2e1b292b</action>
<action>maincpu.mq@4560 = caff000025231b25</action>
<action>maincpu.mq@458a = 262200001d211b1e</action>
<action>maincpu.mw@4592 = 231d</action>
<action>maincpu.mq@4619 = 3c4299a1a199423c</action>
<action>maincpu.mq@4650 = 0063636b7f7f7763</action>
</script>
<script state="off">
<action>maincpu.mw@4106 = 4710</action>
<action>maincpu.mw@4202 = 21b7</action>
<action>maincpu.mb@42ab = 01</action>
<action>maincpu.mb@430d = 00</action>
<action>maincpu.mb@5fe1 = 03</action>
<action>maincpu.mq@4520 = 2020002523222700</action>
<action>maincpu.mq@452b = 1d1a1b241d2b0000</action>
<action>maincpu.mq@4533 = 233200398afe2229</action>
<action>maincpu.mq@453b = 181911002920241b</action>
<action>maincpu.mq@4543 = 320000003a09fe19</action>
<action>maincpu.mq@454b = 1d25232224001b22</action>
<action>maincpu.mw@4553 = 0031</action>
<action>maincpu.md@455a = 1b223200</action>
<action>maincpu.mq@4560 = caff00311d252322</action>
<action>maincpu.mq@458a = 00211b1f1c250000</action>
<action>maincpu.mw@4592 = 0000</action>
<action>maincpu.mq@4619 = 7c7e6363637e7c00</action>
<action>maincpu.mq@4650 = 0039444545454545</action>
</script>
</cheat>