I thought also in the past that the joystick bus was directly connected to the DSP, but it's not the case.

In fact, the data read from the joystick port is shared with the cartridge bus that is shared with the main bus.

If you read from DSP : the DSP will take the bus to read joysticks bits

If you read from another CPU : the CPU joystick addr will be decoded from the DSP and the DSP will enable the joystick input transceivers.

The advantage to read joystick from the DSP is that it has the highest priority on the bus (after the OP) so it can read with accuracy rotary and mouse controller.

Yeah, that, exactly that, that's why I did it

honest...

What.. wait why you all looking at me like that?? :D

Glad it polls both pads simultaneously now, was worth the extra OCD effort Explains why writing storew to the JOYSTICK address actually writes a word and not a long too! Pesky Jaguar internals, might expose a mechanism to reduce the resolution in future. (It's only 60Hz at the mo, so nothing epic)