I looked in the RAM map for this, but I couldn't find any info on how to manipulate the Controller Data; what bytes in the controller data are what keys.
Would someone help me with a map of what the controller data stuff is?Aww, I can't have fun...
$7E:0015 Controller data 1 (01=Right, 02=Left, 04=Down, 08=Up, 10=Start, 20=Select, 00=R and L, 40=Y and X, 80=B and A)
$7E:0016 Controller data 1 (one frame)
Same values as above.
$7E:0018 Controller data 2 (one frame)
Same values as above.
I hope it helps.
Thank you so much, just one question.
Is Controller Data 1 = Controller 1 and Controller Data 2 = Controller 2? Or is it just both Controller 1, but separate bytes for the "controller split?"Aww, I can't have fun...
Depending on which specific button you're pressing or using, it will check $7E:0015/$7E:0016 or $7E:0017/$7E:0018 on either controller.
Also, to manipulate the controller data you need to examine this simple code:
LDA $15 ; You can change $15 to $16,$17 or $18
AND #$xx ;xx = controller values
BEQ RETURN ; You can change it to BNE
[insert asm code in here]
RETURN: RTS
You can check the code of the sign blocks from the Custom Blocks section to see how it works.
Thanks, but that code was already assembled. Is there a disassembler somewhere?Aww, I can't have fun...