Glitch City Laboratories Archives

Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of an article from Glitch City Laboratories wiki.

A live version of this article is available at the Glitch City Wiki here.

You can join Glitch City Research Institute to ask questions or discuss current developments.

You may also download the archive of the wiki in .tar.gz or .xml.gz formats.

Remote control Pikachu

Remote control Pikachu is a continuous arbitrary code execution method (for methods such as a custom map script pointer address) 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 a 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,$02

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

[b]YouTube video by PLASMA GER[/b]

Categories