This code appears in the following versions (click to see it in the source code):
Code variations between these versions are shown below.
Name: DKS2 Type: Subroutine Category: Keyboard Summary: Read the joystick position
This variation is blank in the Cassette, Disc (flight), Disc (docked) and 6502 Second Processor versions.
This routine is never called in the Electron version, as the Electron doesn't have ADC channels as standard and doesn't support joysticks (though a lot of the joystick code from the other versions is still present, it just isn't called).
Return the value of ADC channel in X (used to read the joystick). The value will be inverted if the game has been configured to reverse both joystick channels (which can be done by pausing the game and pressing J).
Arguments: X The ADC channel to read: * 1 = joystick X * 2 = joystick Y
Returns: (A X) The 16-bit value read from channel X, with the value inverted if the game has been configured to reverse the joystick
Other entry points: DKS2-1 Contains an RTS
.DKS2
EOR JSTE \ The high byte A is now EOR'd with the value in \ location JSTE, which contains &FF if both joystick \ channels are reversed and 0 otherwise (so A now \ contains the high byte but inverted, if that's what \ the current settings say) RTS \ Return from the subroutine