Code: Select all
<cheat desc="no hit">
<script state="on">
<action>maincpu.md@1772 = c83ce0cd</action>
<action>maincpu.mq@3ce0 = 00c91764cca77e19</action>
<!--
3ce0 | 19 : add hl,de
3ce1 | 7e : ld a,(hl)
3ce2 | a7 : and a
3ce3 | cc 64 17 : call z,$1764
3ce6 | c9 : ret
-->
</script>
<script state="off">
<action>maincpu.md@1772 = c8a77e19</action>
<action>maincpu.mq@3ce0 = 0000000000000000</action>
</script>
</cheat>
Code: Select all
<cheat desc="player speed up">
<script state="on">
<action>maincpu.md@1806 = 3e3cf0c3</action>
<action>maincpu.mq@3cf0 = 03fe4e043a4d9d21</action>
<action>maincpu.mq@3cf8 = 00001809c3183fca</action>
<!--
3cf0 | 21 9d 4d : ld hl,$4D9D
3cf3 | 3a 04 4e : ld a,($4E04) // check intermission
3cf6 | fe 03 : cp $03
3cf8 | ca 3f 18 : jp z,$183F
3cfb | c3 09 18 : jp $1809
-->
</script>
<script state="off">
<action>maincpu.md@1806 = 3e4d9d21</action>
<action>maincpu.mq@3cf0 = 0000000000000000</action>
<action>maincpu.mq@3cf8 = 0000000000000000</action>
</script>
</cheat>
Code: Select all
<cheat desc="move manually">
<script state="on">
<action>maincpu.mb@18dc = c9</action>
</script>
<script state="off">
<action>maincpu.mb@18dc = 2a</action>
</script>
</cheat>
"enemy speed"
Code: Select all
<cheat desc="enemy speed">
<parameter>
<item value="0x20">01 (slow)</item>
<item value="0x10">02 </item>
<item value="0x08">03 </item>
<item value="0x02">04 </item>
<item value="0x00">05 (fast)</item>
</parameter>
<script state="on">
<action>maincpu.mw@1045 = 3d00</action>
<action>maincpu.md@1b4c = a73d0ec3</action>
<action>maincpu.md@1c5f = a73d20c3</action>
<action>maincpu.md@1d36 = a73d32c3</action>
<action>maincpu.md@1e0d = a73d44c3</action>
<action>maincpu.mq@3d00 = 347e4f00211806cd</action>
<action>maincpu.mq@3d08 = 56cdc90036d808fe</action>
<action>maincpu.mq@3d10 = 4fc34d993a06283d</action>
<action>maincpu.mq@3d18 = 1bd8c3c03d5ccd1b</action>
<action>maincpu.mq@3d20 = 4d9a3a06283d56cd</action>
<action>maincpu.mq@3d28 = c3c03d5ccd1c62c3</action>
<action>maincpu.mq@3d30 = 3a06283d56cd1caf</action>
<action>maincpu.mq@3d38 = 3d5ccd1d39c34d9b</action>
<action>maincpu.mq@3d40 = 283d56cd1d86c3c0</action>
<action>maincpu.mq@3d48 = cd1e10c34d9c3a06</action>
<action>maincpu.mq@3d50 = 043a1e5dc3c03d5c</action>
<action>maincpu.mq@3d58 = a74f003ac903fe4e</action>
<action>maincpu.mq@3d60 = 00000000000000c9</action>
<!--
3d00 | cd 06 18 : call $1806 // main timer routine
3d03 | 21 00 4f : ld hl,$4F00
3d06 | 7e : ld a,(hl)
3d07 | 34 : inc (hl)
3d08 | fe xx : cp $xx
3d0a | d8 : ret c
3d0b | 36 00 : ld (hl),$00
3d0d | c9 : ret
3d0e | cd 56 3d : call $3D56 // red
3d11 | 28 06 : jr z,$3D19
3d13 | 3a 99 4d : ld a,($4D99)
3d16 | c3 4f 1b : jp $1B4F
3d19 | cd 5c 3d : call $3D5C
3d1c | c0 : ret nz
3d1d | c3 d8 1b : jp $1BD8
3d20 | cd 56 3d : call $3D56 // pink
3d23 | 28 06 : jr z,$3D2B
3d25 | 3a 9a 4d : ld a,($4D9A)
3d28 | c3 62 1c : jp $1C62
3d2b | cd 5c 3d : call $3D5C
3d2e | c0 : ret nz
3d2f | c3 af 1c : jp $1CAF
3d32 | cd 56 3d : call $3D56 // blue
3d35 | 28 06 : jr z,$3D3D
3d37 | 3a 9b 4d : ld a,($4D9B)
3d3a | c3 39 1d : jp $1D39
3d3d | cd 5c 3d : call $3D5C
3d40 | c0 : ret nz
3d41 | c3 86 1d : jp $1D86
3d44 | cd 56 3d : call $3D56 // orange
3d47 | 28 06 : jr z,$3D4F
3d49 | 3a 9c 4d : ld a,($4D9C)
3d4c | c3 10 1e : jp $1E10
3d4f | cd 5c 3d : call $3D5C
3d52 | c0 : ret nz
3d53 | c3 5d 1e : jp $1E5D
3d56 | 3a 04 4e : ld a,($4E04) // intermission check routine
3d59 | fe 03 : cp $03
3d5b | c9 : ret
3d5c | 3a 00 4f : ld a,($4F00) // timer check routine
3d5f | a7 : and a
3d60 | c9 : ret
-->
</script>
<script state="change">
<action>maincpu.mb@3d09 = param</action>
</script>
<script state="off">
<action>maincpu.mw@1045 = 1806</action>
<action>maincpu.md@1b4c = a74d993a</action>
<action>maincpu.md@1c5f = a74d9a3a</action>
<action>maincpu.md@1d36 = a74d9b3a</action>
<action>maincpu.md@1e0d = a74d9c3a</action>
<action>maincpu.mq@3d00 = 0000000000000000</action>
<action>maincpu.mq@3d08 = 0000000000000000</action>
<action>maincpu.mq@3d10 = 0000000000000000</action>
<action>maincpu.mq@3d18 = 0000000000000000</action>
<action>maincpu.mq@3d20 = 0000000000000000</action>
<action>maincpu.mq@3d28 = 0000000000000000</action>
<action>maincpu.mq@3d30 = 0000000000000000</action>
<action>maincpu.mq@3d38 = 0000000000000000</action>
<action>maincpu.mq@3d40 = 0000000000000000</action>
<action>maincpu.mq@3d48 = 0000000000000000</action>
<action>maincpu.mq@3d50 = 0000000000000000</action>
<action>maincpu.mq@3d58 = 0000000000000000</action>
<action>maincpu.mq@3d60 = 0000000000000000</action>
</script>
</cheat>
Code: Select all
<cheat desc="sound test mode">
<comment>set ram/rom check skip then reset the game (F3)</comment>
<script state="on">
<action>maincpu.md@238d = 7e3d70c3</action>
<action>maincpu.mq@3d70 = 47b850003a4c0021</action>
<action>maincpu.mq@3d78 = fe350120fdfef928</action>
<action>maincpu.mq@3d80 = 0320fefe340120fb</action>
<action>maincpu.mq@3d88 = af0420f7fe05187e</action>
<action>maincpu.mq@3d90 = 8747d9de183d95cd</action>
<action>maincpu.mq@3d98 = ce003e5fb4c68780</action>
<action>maincpu.mq@3da0 = 0010014e9c21573d</action>
<action>maincpu.mq@3da8 = 09770428fffe131a</action>
<action>maincpu.mq@3db0 = 00000000c9d9f618</action>
<action>maincpu.mq@3db8 = ff0101000000ff00</action>
<action>maincpu.mq@3dc0 = 0001ff0202000000</action>
<action>maincpu.mq@3dc8 = 00000002ff000000</action>
<action>maincpu.mq@3dd0 = ff0000000004ff00</action>
<action>maincpu.mq@3dd8 = 0010ff0000000008</action>
<action>maincpu.mq@3de0 = 00000020ff000000</action>
<action>maincpu.mq@3de8 = ff0000000040ff00</action>
<action>maincpu.mq@3df0 = 0100ff0000000080</action>
<action>maincpu.mq@3df8 = 00000200ff000000</action>
<action>maincpu.mq@3e00 = ff0000000400ff00</action>
<action>maincpu.mq@3e08 = 1000ff0000000800</action>
<action>maincpu.mq@3e10 = 00002000ff000000</action>
<action>maincpu.mq@3e18 = ff0000004000ff00</action>
<action>maincpu.mq@3e20 = 0000ff0000008000</action>
<action>maincpu.mq@3e28 = 00020000ff000001</action>
<action>maincpu.mq@3e30 = ff0000040000ff00</action>
<action>maincpu.mq@3e38 = 0000ff0000080000</action>
<action>maincpu.mq@3e40 = 00200000ff000010</action>
<action>maincpu.mq@3e48 = ff0000400000ff00</action>
<action>maincpu.mq@3e50 = 0000ff0000800000</action>
<!--
3d70 | 21 00 4c : ld hl,$4C00 // sound code address
3d73 | 3a 00 50 : ld a,($5000)
3d76 | b8 : cp b
3d77 | 47 : ld b,a
3d78 | 28 f9 : jr z,$3D73
3d7a | fe fd : cp $FD
3d7c | 20 01 : jr nz,$3D7F
3d7e | 35 : dec (hl) // decrease code
3d7f | fe fb : cp $FB
3d81 | 20 01 : jr nz,$3D84
3d83 | 34 : inc (hl) // increase code
3d84 | fe fe : cp $FE
3d86 | 20 03 : jr nz,$3D8B
3d88 | 7e : ld a,(hl) // play sound
3d89 | 18 05 : jr $3D90
3d8b | fe f7 : cp $F7
3d8d | 20 04 : jr nz,$3D93
3d8f | af : xor a // stop sound
3d90 | cd 95 3d : call $3D95 // send sound code
3d93 | 18 de : jr $3D73
3d95 | d9 : exx // sound code/value conversion routine
3d96 | 47 : ld b,a
3d97 | 87 : add a,a
3d98 | 80 : add a,b
3d99 | 87 : add a,a
3d9a | c6 b4 : add a,$B4
3d9c | 5f : ld e,a
3d9d | 3e 00 : ld a,$00
3d9f | ce 3d : adc a,$3D
3da1 | 57 : ld d,a
3da2 | 21 9c 4e : ld hl,$4E9C
3da5 | 01 10 00 : ld bc,$0010
3da8 | 1a : ld a,(de)
3da9 | 13 : inc de
3daa | fe ff : cp $FF
3dac | 28 04 : jr z,$3DB2
3dae | 77 : ld (hl),a
3daf | 09 : add hl,bc
3db0 | 18 f6 : jr $3DA8
3db2 | d9 : exx
3db3 | c9 : ret
3db4 - 3e55 : sound code/value conversion table
-->
</script>
<script state="run">
<output format="----- puckman 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="up : play sound" line="13" align="center" />
<output format="down : 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@4c00</argument>
</output>
</script>
<script state="off">
<action>maincpu.md@238d = 7e4c822a</action>
<action>maincpu.mq@3d70 = 0000000000000000</action>
<action>maincpu.mq@3d78 = 0000000000000000</action>
<action>maincpu.mq@3d80 = 0000000000000000</action>
<action>maincpu.mq@3d88 = 0000000000000000</action>
<action>maincpu.mq@3d90 = 0000000000000000</action>
<action>maincpu.mq@3d98 = 0000000000000000</action>
<action>maincpu.mq@3da0 = 0000000000000000</action>
<action>maincpu.mq@3da8 = 0000000000000000</action>
<action>maincpu.mq@3db0 = 0000000000000000</action>
<action>maincpu.mq@3db8 = 0000000000000000</action>
<action>maincpu.mq@3dc0 = 0000000000000000</action>
<action>maincpu.mq@3dc8 = 0000000000000000</action>
<action>maincpu.mq@3dd0 = 0000000000000000</action>
<action>maincpu.mq@3dd8 = 0000000000000000</action>
<action>maincpu.mq@3de0 = 0000000000000000</action>
<action>maincpu.mq@3de8 = 0000000000000000</action>
<action>maincpu.mq@3df0 = 0000000000000000</action>
<action>maincpu.mq@3df8 = 0000000000000000</action>
<action>maincpu.mq@3e00 = 0000000000000000</action>
<action>maincpu.mq@3e08 = 0000000000000000</action>
<action>maincpu.mq@3e10 = 0000000000000000</action>
<action>maincpu.mq@3e18 = 0000000000000000</action>
<action>maincpu.mq@3e20 = 0000000000000000</action>
<action>maincpu.mq@3e28 = 0000000000000000</action>
<action>maincpu.mq@3e30 = 0000000000000000</action>
<action>maincpu.mq@3e38 = 0000000000000000</action>
<action>maincpu.mq@3e40 = 0000000000000000</action>
<action>maincpu.mq@3e48 = 0000000000000000</action>
<action>maincpu.mq@3e50 = 0000000000000000</action>
</script>
</cheat>
Code: Select all
<cheat desc="skip ram/rom check">
<script state="on">
<action>maincpu.md@3000 = 013042c3</action> <!-- rom -->
<action>maincpu.md@3042 = 0630b0c3</action> <!-- ram -->
</script>
<script state="off">
<action>maincpu.md@3000 = 01000021</action>
<action>maincpu.md@3042 = 06315431</action>
</script>
</cheat>