Remote control Pikachu: Difference between revisions

From Glitch City Wiki
Jump to navigation Jump to search
Content added Content deleted
>Torchickens
No edit summary
>Torchickens
Line 13: Line 13:
0B 3E 04 EA 37 D4 3E 01 EA 36 D4 C9 FA B3 FF D6 04 FE 01 38 02 30 04 AF EA F1
0B 3E 04 EA 37 D4 3E 01 EA 36 D4 C9 FA B3 FF D6 04 FE 01 38 02 30 04 AF EA F1
C1 C9
C1 C9

As code:

xor a

ld a,(d436)

or a

ld a,(ffb3)

sub a,80

cp a,01

jr c,$02

jr nc,$09

ld a,01

ld (d436),a

ld (d437),a

ret

ld a,(ffb3)

sub a,40

cp a,01

jr c,$02

jr nc,$0A

ld a,02

ld (d437),a

ld (d436),a

ret

ld a,(ffb3)

sub a,20

cp a,01

jr c,$02

jr nc,$0b

ld a,03

ld (d437),a

ld a,01

ld (d436),a

ret

ld (ffb3),a

sub a,10

cp a,01

jr c,d04f

jr nc,$0b

ld a,04

ld (d437),a

ld a,01

ld (d436),a

ret

ld a,(ffb3)

sub a,04

cp a,01

jr c,$02

jr nc,$04

xor a

ld (c1f1),a

ret


3. Change D36D/D36E (map script pointer) to point to the little-endian (smaller byte first) address where you wrote your code. For example, if you wrote your code at DB7D the values would be 7D and DB.
3. Change D36D/D36E (map script pointer) to point to the little-endian (smaller byte first) address where you wrote your code. For example, if you wrote your code at DB7D the values would be 7D and DB.

Revision as of 21:46, 8 January 2019

Remote control Pikachu is a ws m (hex:63) code for Pokémon Yellow, created by Torchickens (ChickasaurusGL).

This program allows the user to control Pikachu with the d-pad, provided the player is stuck in a wall in all four directions (or for the directions they wish to move Pikachu).

Steps

1. Trap yourself in the wall with Pikachu following you.

2. Use a method (such as TheZZAZZGlitch's memory editor, offgao's memory editor) to write the following bytes at a place in RAM.

AF FA 36 D4 B7 FA B3 FF D6 80 FE 01 38 02 30 09 3E 01 EA 36 D4 EA 37 D4 C9 FA
B3 FF D6 40 FE 01 38 02 30 0A 3E 02 EA 37 D4 3D EA 36 D4 C9 FA B3 FF D6 20 FE 
01 38 02 30 0B 3E 03 EA 37 D4 3E 01 EA 36 D4 C9 FA B3 FF D6 10 FE 01 38 02 30 
0B 3E 04 EA 37 D4 3E 01 EA 36 D4 C9 FA B3 FF D6 04 FE 01 38 02 30 04 AF EA F1 
C1 C9

As code:

xor a

ld a,(d436)

or a

ld a,(ffb3)

sub a,80

cp a,01

jr c,$02

jr nc,$09

ld a,01

ld (d436),a

ld (d437),a

ret

ld a,(ffb3)

sub a,40

cp a,01

jr c,$02

jr nc,$0A

ld a,02

ld (d437),a

ld (d436),a

ret

ld a,(ffb3)

sub a,20

cp a,01

jr c,$02

jr nc,$0b

ld a,03

ld (d437),a

ld a,01

ld (d436),a

ret

ld (ffb3),a

sub a,10

cp a,01

jr c,d04f

jr nc,$0b

ld a,04

ld (d437),a

ld a,01

ld (d436),a

ret

ld a,(ffb3)

sub a,04

cp a,01

jr c,$02

jr nc,$04

xor a

ld (c1f1),a

ret

3. Change D36D/D36E (map script pointer) to point to the little-endian (smaller byte first) address where you wrote your code. For example, if you wrote your code at DB7D the values would be 7D and DB.

How to move Pikachu

The up, down, left and right buttons will move Pikachu in that direction. If Pikachu is forced off the screen, pressing Select and then another direction will return Pikachu one step away from the player.

As of yet there is no support for scrolling the screen when Pikachu is moved off the screen.

This code reads from the joypad and manipulates three addresses; D436 (amount of steps Pikachu will take), D437 (direction Pikachu will move) and C1F1 (Pikachu's state on the map).

YouTube video

YouTube video by ChickasaurusGL