bcontrol 0.1.6
Public domain (upstream dedication)
--- Joystick.h ---
/* Joystick.h - Autonomous joystick functions for the CoCo.
By Pierre Sarrazin
This file is in the public domain.
*/
--- Joystick_private.h ---
/* Joystick_private.h
By Pierre Sarrazin
This file is in the public domain.
*/
--- Keyboard.c ---
/* keyin.c - Autonomous keyboard functions for the CoCo.
By Pierre Sarrazin
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
This file is in the public domain.
*/
--- README.md ---
BControl
========
By Pierre Sarrazin .
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
This file is in the public domain.
*/
--- compareAxis.c ---
/* compareAxis.c - Autonomous joystick functions for the CoCo.
By Pierre Sarrazin
This file is in the public domain.
*/
--- disableSound.c ---
/* disableSound.c
By Pierre Sarrazin
This file is in the public domain.
*/
--- enableSound.c ---
/* enableSound.c
By Pierre Sarrazin
This file is in the public domain.
*/
--- getAxisValues.c ---
/* getAxisValues.c
By Pierre Sarrazin
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
This file is in the public domain.
*/
--- getButtonStates.c ---
/* getButtonStates.c
By Pierre Sarrazin
This file is in the public domain.
*/
--- getButtonStates2.c ---
/* getButtonStates2.c
By Pierre Sarrazin
This file is in the public domain.
*/
--- readComparatorMultipleTries.c ---
/* readComparatorMultipleTries.c - Autonomous joystick functions for the CoCo.
By Pierre Sarrazin
This file is in the public domain.
*/
--- selectAnalogMuxInputs.c ---
/* selectAnalogMuxInputs.c
By Pierre Sarrazin
This file is in the public domain.
*/