157 lines
4.8 KiB
Plaintext
157 lines
4.8 KiB
Plaintext
bcontrol 0.1.6
|
|
|
|
Public domain (upstream dedication)
|
|
|
|
|
|
--- Joystick.h ---
|
|
/* Joystick.h - Autonomous joystick functions for the CoCo.
|
|
By Pierre Sarrazin <http://sarrazip.com/>
|
|
This file is in the public domain.
|
|
*/
|
|
|
|
--- Joystick_private.h ---
|
|
/* Joystick_private.h
|
|
By Pierre Sarrazin <http://sarrazip.com/>
|
|
This file is in the public domain.
|
|
*/
|
|
|
|
--- Keyboard.c ---
|
|
/* keyin.c - Autonomous keyboard functions for the CoCo.
|
|
By Pierre Sarrazin <http://sarrazip.com/>
|
|
This file is in the public domain, except the parts that come from Color Basic.
|
|
*/
|
|
|
|
--- Keyboard.h ---
|
|
/* Keyboard.h - Autonomous keyboard functions for the CoCo.
|
|
By Pierre Sarrazin <http://sarrazip.com/>
|
|
This file is in the public domain.
|
|
*/
|
|
|
|
--- README.md ---
|
|
BControl
|
|
========
|
|
|
|
By Pierre Sarrazin <http://sarrazip.com/>.
|
|
|
|
This library is in the public domain, except the parts of Keyboard.c
|
|
that come from Color Basic.
|
|
|
|
This library offers functions similar to Color Basic's INKEY$,
|
|
JOYSTK and BUTTON. It does not assume the presence of the Color
|
|
Basic interpreter.
|
|
|
|
|
|
# Usage
|
|
|
|
To use the Keyboard object, instante an instance, then call
|
|
`Keyboard_init()` on it. Then call `Keyboard_poll()` the same way
|
|
one would call INKEY$ in a Basic program. Call `Keyboard_shutdown()`
|
|
when finished with the Keyboard object.
|
|
|
|
To read the joystick axis values and button states on a CoCo or
|
|
Dragon, call `Joystick_getAxisValues()` and `Joystick_getButtonStates()`.
|
|
No initialization step is needed.
|
|
|
|
However, to help the portability to OS-9 of a program that uses
|
|
the joystick, `Joystick_getAxisValuesAndButtonState()` should be used
|
|
instead of the other functions of Joystick.h.
|
|
|
|
See Keyboard.h and Joystick.h for details.
|
|
|
|
|
|
# Dragon support
|
|
|
|
To compile for the Dragon, pass TARGET=dragon to make.
|
|
|
|
|
|
# OS-9 support
|
|
|
|
To compile for OS-9, pass TARGET=OS9 to make.
|
|
|
|
|
|
# Version history
|
|
|
|
0.1.0 2018-11-25 First public release.
|
|
0.1.1 2019-06-03 Partial support for OS-9 added:
|
|
setScreenBuffer() not supported.
|
|
Removed the (non portable) startInCapsLock parameter
|
|
from `Keyboard_init()`.
|
|
0.1.2 2019-09-21 Added missing OS9RawTerminal.h.
|
|
0.1.3 2020-06-27 Added `Joystick_selectAnalogMuxInputs()` and
|
|
`Joystick_compareAxis()`, which allow custom, faster
|
|
axis polling (but is not usable under OS-9).
|
|
0.1.4 2022-11-12 Fixed the Dragon executable extension in the makefile.
|
|
Added `Joystick_getAxisValuesAndButtonState()`, which
|
|
targets a single joystick and also works under OS-9.
|
|
Include "Joystick.h" to use it.
|
|
0.1.5 2024-08-29 Joystick comparator read routine slightly optimized
|
|
with inline asm. (Not applicable to OS-9 version.)
|
|
Centralized some function prototypes.
|
|
Removed UTF-8 characters from Keyboard.c.
|
|
0.1.6 2026-09-06 Added Joystick_getButtonStates2().
|
|
Optimized Joystick_selectAnalogMuxInputs().
|
|
Optimized Joystick_compareAxis().
|
|
|
|
--- bcontrol.c ---
|
|
/* bcontrol.c - Test and demo program.
|
|
By Pierre Sarrazin <http://sarrazip.com/>
|
|
This file is in the public domain.
|
|
*/
|
|
|
|
--- compareAxis.c ---
|
|
/* compareAxis.c - Autonomous joystick functions for the CoCo.
|
|
By Pierre Sarrazin <http://sarrazip.com/>
|
|
This file is in the public domain.
|
|
*/
|
|
|
|
--- disableSound.c ---
|
|
/* disableSound.c
|
|
By Pierre Sarrazin <http://sarrazip.com/>
|
|
This file is in the public domain.
|
|
*/
|
|
|
|
--- enableSound.c ---
|
|
/* enableSound.c
|
|
By Pierre Sarrazin <http://sarrazip.com/>
|
|
This file is in the public domain.
|
|
*/
|
|
|
|
--- getAxisValues.c ---
|
|
/* getAxisValues.c
|
|
By Pierre Sarrazin <http://sarrazip.com/>
|
|
This file is in the public domain.
|
|
|
|
The current implementation is based on Color Basic's.
|
|
Improvements are welcome.
|
|
*/
|
|
|
|
--- getAxisValuesAndButtonState.c ---
|
|
/* getAxisValuesAndButtonState.c - Autonomous joystick functions for the CoCo.
|
|
By Pierre Sarrazin <http://sarrazip.com/>
|
|
This file is in the public domain.
|
|
*/
|
|
|
|
--- getButtonStates.c ---
|
|
/* getButtonStates.c
|
|
By Pierre Sarrazin <http://sarrazip.com/>
|
|
This file is in the public domain.
|
|
*/
|
|
|
|
--- getButtonStates2.c ---
|
|
/* getButtonStates2.c
|
|
By Pierre Sarrazin <http://sarrazip.com/>
|
|
This file is in the public domain.
|
|
*/
|
|
|
|
--- readComparatorMultipleTries.c ---
|
|
/* readComparatorMultipleTries.c - Autonomous joystick functions for the CoCo.
|
|
By Pierre Sarrazin <http://sarrazip.com/>
|
|
This file is in the public domain.
|
|
*/
|
|
|
|
--- selectAnalogMuxInputs.c ---
|
|
/* selectAnalogMuxInputs.c
|
|
By Pierre Sarrazin <http://sarrazip.com/>
|
|
This file is in the public domain.
|
|
*/
|