News:

11 March 2016 - Forum Rules

Main Menu

SNES Controller Addresses

Started by skides, December 29, 2011, 06:25:51 AM

Previous topic - Next topic

skides

Hi. I just started messing around with some tutorials, and found tried changing the controller used for a tutorial.

According to a file I found on this site, Anomie's Register Doc, the SNES controller registers are here:

4218 r l++++ JOY1L - Controller Port 1 Data1 Register low byte
4219 r h++++ JOY1H - Controller Port 1 Data1 Register high byte
421a r l++++ JOY2L - Controller Port 2 Data1 Register low byte
421b r h++++ JOY2H - Controller Port 2 Data1 Register high byte
421c r l++++ JOY3L - Controller Port 1 Data2 Register low byte
421d r h++++ JOY3H - Controller Port 1 Data2 Register high byte
421e r l++++ JOY4L - Controller Port 2 Data2 Register low byte
421f r h++++ JOY4H - Controller Port 2 Data2 Register high byte

For some reason, when I try to pull a byte from the joy3 memory address ($421d), It responds to controller 4, and vice versa. I am using zsnes to test it, if that matters.

Does anyone know why it would be doing this? Did I not set something up correctly?

Thanks for your time and insight.

Lenophis

If you did LDA #$421D and grabbed port 4's lower byte, you were likely reading in 16-bit mode. Try reading $421C in 16-bit mode instead, as that will grab both bytes of controller 3. :thumbsup:


https://ff6randomizer.codeplex.com/ - Randomize your FF6 experience!