This adapter provides the connection of 2 controllers on each MSX joystick port. It works with Master System and Genesis 3 and 6 button controllers and provides the following operating modes, selected at power up:
Basic Mode
In this mode the buttons are mapped to MSX standard joystick buttons.
Second controller accessible via Basic using pdl(x) function, example:100 IF PDL(0) = 0 THEN GOTO 1000 : REM UP Action
Basic Mode Timing:
After a short pulse issued by MSX to read the paddle the outputs assume the state of the Controller 2 and stay for 32us, then fall to zero for more 32us. Such time is enough for MSX to count up to 3 during GTPDL Bios call and to detect the end of the temporization as well.
JOYMEGA mode
This mode is compatible with Joymega, and the second controller is only accessibe through machine language code using HIDLIB.
CALL JOYLIB.GTJOYMEG6 ; do some stuff with controller 1 data CALL BASELIB.FLIPPORTOUT CALL BASELIB.FLIPPORTOUT CALL JOYLIB.GTJOYMEG6 ; do some stuff with controller 2 data
The circuit times out after 3ms which gives plenty of time in between reads to process data from first controller.
JoyMega mode Timing