Jump to content

Remote control Pikachu: Difference between revisions

>Torchickens
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 18:
xor a
 
ld a,([d436)]
 
or a
 
ld a,([ffb3)]
 
sub a,80
Line 34:
ld a,01
 
ld ([d436)],a
 
ld ([d437)],a
 
ret
 
ld a,([ffb3)]
 
sub a,40
Line 52:
ld a,02
 
ld ([d437)],a
 
ld ([d436)],a
 
ret
 
ld a,([ffb3)]
 
sub a,20
Line 70:
ld a,03
 
ld ([d437)],a
 
ld a,01
 
ld ([d436)],a
 
ret
 
ld ([ffb3)],a
 
sub a,10
Line 90:
ld a,04
 
ld ([d437)],a
 
ld a,01
 
ld ([d436)],a
 
ret
 
ld a,([ffb3)]
 
sub a,04
Line 110:
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.
 
===Notes===
This code reads from FFB3; a joypad address in the HRAM.
 
The value in FFB3 is determined by the combination of the bits set when pressing buttons, for example, moving down enables bit 0x7 (+0x80 to the value). If one wanted to modify the code for an input with (for instance) down and left at the same time, FFB3 would read 0xA0 (0x80+0x20).
<pre>
Bit 0x7/+0x80 - Down
Bit 0x6/+0x40 - Up
Bit 0x5/+0x20 - Left
Bit 0x4/+0x10 - Right
Bit 0x3/+0x08 - Start
Bit 0x2/+0x04 - Select
Bit 0x1/+0x02 - B
Bit 0x0/+0x01 - A
</pre>
 
==How to move Pikachu==
Cookies help us deliver our services. By using our services, you agree to our use of cookies.