1
0
mirror of https://github.com/RevCurtisP/C02.git synced 2024-11-25 21:33:44 +00:00
C02/doc/joystk.txt
Curtis F Kaylor 35377b5807 Squashed commit of the following:
commit ed00e1d1b5a9783a72dade3f3676b161a9cfe287
Author: Curtis F Kaylor <revcurtis@gmail.com>
Date:   Sun Sep 9 22:20:49 2018 -0400

    Documented joystk, paddle, and lgtpen modules

commit ec0a5ede8d1b043fcf0094ea653255a808dbf8d3
Author: Curtis F Kaylor <revcurtis@gmail.com>
Date:   Sun Sep 9 20:31:11 2018 -0400

    Added joystick, paddle, and lightpen test programs

commit 7b787f432e2f4f7ae5d7f0053ade1d3586a4fad1
Author: Curtis F Kaylor <revcurtis@gmail.com>
Date:   Sun Sep 9 20:30:03 2018 -0400

    Updated Apple II and VIC-20 Batch Files

commit 50568294349d7e3c6b7d0d364aeaece73c9e4ab6
Author: Curtis F Kaylor <revcurtis@gmail.com>
Date:   Sun Sep 9 20:28:09 2018 -0400

    Separated light pen code into separate files

commit d45e59f73d55eef1d30c591d19a043ad79cfd81a
Author: Curtis F Kaylor <revcurtis@gmail.com>
Date:   Sun Sep 9 19:28:56 2018 -0400

    Moved code for paddles into separate include files

commit fc5c5472d758c960332ea14105d5ec4a7c8cbbfb
Author: Curtis F Kaylor <revcurtis@gmail.com>
Date:   Sun Sep 9 16:15:32 2018 -0400

    Added system specific module 'joystk'
2018-09-12 09:54:54 -04:00

49 lines
2.1 KiB
Plaintext

Joystick Functions for C02 Programs
This module contains constants and a function for reading digital joysticks
(the type used on Atari and Commodore 8-bit computers). For systems that use
analog joysticks (such as the Apple II), the paddle module should be used.
The constants and assembly code vary by system, so when invoking the
cross-compilers, the command line option -s must be used to ensure that
the correct header files are included.
At the beginning of the program use the directives
#include <joystk.h02>
The following constants are defined:
#JYSTKS Maximum number of joysticks supported by system.
For systems with no joystick support, this will be 0.
#JOYUP Joystick Switch Bitmask - Up
#JOYDN Joystick Switch Bitmask - Down
#JOYLF Joystick Switch Bitmask - Left
#JOYRT Joystick Switch Bitmask - Right
#JOYB0 Joystick Switch Bitmask - Fire Button
The following functions are defined:
j = joystk(n); Returns the current state of joystick n.
If n is greater than or equal to #JYSTKS then $FF
will be returned. Otherwise, a byte representing the
state of the joystick switches will be returned.
Each switch in the joystick has a corresponding bit
in the result which will be 1 if the switch is
depressed or 0 if it is not.
The specific assignment of bits varies by system, so
the joystick bitmask constants should be used to check
the state of the individual switches.
The state of an individual switch can be determined by
doing a bitwise and of the result with the corresponding
bitmask constant, which will result in a non-zero value
if and only if that switch is depressed.
Note: This library has no external dependencies.