Define the Joystick functions in a CJM file using the following order:
Port
#
↑ ↓ ← →
left
FIRE
right
FIRE
TL TR
left
shoulder
A B
C
right
shoulder
left
stick
right
stick
Notice the extra buttons left shoulder, right shoulder, left stick and right
stick. They are not available on THEC64 joystick but are common on alternative USB
controllers. The shoulder buttons are usually assigned as
FIRE
buttons. The latter two
are for controllers with two sticks that press down for additional button functions. It’s
up to you what you map to those buttons (if anything).
For example, imagine a VIC 20 game that has no joystick controls but has keys
defined to the following functions:
W
Move Up/Forward
S
Move Down/Backward
A
Move Left
D
Move Right
I
Fire
K
Use
J
Turn Left
L
Turn Right
CTRL
Map on/off
1
Choose weapon #1
2
Choose weapon #2
3
Choose weapon #3
4
Choose weapon #4
RETURN
Select
In your CJM file for that game, redefine the joystick directional stick to produce key
presses, and assign other program functions to the other buttons.
A CJM text file for this VIC 20 game could therefore contain the following:
X:vic,pal,fullheight,35k
J:1*:W,S,A,D,I,K,J,L,CT,1,2,3,,EN,4
The * indicates the primary (main) joystick port used by the program. As this is a VIC
20 program, only port #1 is available but it must still be set as the primary. In this
example, we have chosen to define every button except for the right shoulder button
(which isn’t used by THEC64 Joystick, but
is
used by some alternative USB controllers).
66