1
0
mirror of https://github.com/RevCurtisP/C02.git synced 2024-06-08 21:29:30 +00:00
C02/doc/lgtpen.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

36 lines
1.5 KiB
Plaintext

Lightpen Functions for C02 Programs
This module contains a constant and function for reading lightpens on
systems that support them.
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 <lgtpen.h02>
The following constants are defined:
#LGTPNS Light pen status. If loght pen support is available,
this will be 255 (true), otherwise, it will be 0 (false).
The following function is defined:
h,v,t = lgtpen(); Returns the state of the lightpen ot lightgun.
This function returns three values: the first
is the horizontal position on the screen, the
second is the vertical position on screen, and
the third is the state of the button or trigger
(255 if pressed, otherwise 0).
Note: The position returned by this function is
based on the position of the raster beam and does
not directly correspond to pixel coordinates.
Therefore, some sort of calibration and conversion
will be necessary when using a light pen.
Note: This library has no external dependencies.