Joystick testing thread

https://github.com/MiSTer-devel/Main_MiSTer/wiki

Moderators: Mug UK, Zorro 2, spiny, Greenious, Sorgelig, Moderator Team

redsteakraw
Atari User
Atari User
Posts: 40
Joined: Fri Dec 06, 2019 6:08 pm

Re: Joystick testing thread

Postby redsteakraw » Wed Feb 26, 2020 9:00 pm

Sorgelig wrote:for paddles, the best adapter is mr.Spinner:
https://github.com/MiSTer-devel/Retro-C ... rollersUSB


Looking through the Documentation I saw it supported the Beetle micro-controller, that form-factor of the CJMCU Beetle is amazing!

artfakt
Atarian
Atarian
Posts: 4
Joined: Thu Feb 27, 2020 1:12 am

Re: Joystick testing thread

Postby artfakt » Thu Feb 27, 2020 1:29 am

paulbnl wrote:
AndreStarTrek wrote:I have try that but and many more. If power cycle the mister also loses the buttens except the dpad of one of the controllers. It look like it is always the first controller that is been setup. I also tried all the switch option on the controller adapter, setting 1 and A wil not work at all for the second controller. If I connect the adapter on my windows 10 pc in the 1 option it wil see 1 usb device and in option 2, 2 usb devices. But the problem could be that both of them are using the same device ID number, there is also only one file saved on the mister sdcard. Can mister handel 2 of the same devices with the same usb device ID's?


Try the attached MiSTer file. Replace the MiSTer file and put

Code: Select all

 disable_usb_merge=1
in your MiSTer.ini and then power cycle the MiSTer.

Then try all the switch options on the controller adapter again.


Thanks paulbnl, that fix made my 4nes4snes adapter from raphnet working. Could it be merged with the main Mister repo so that I can use the disable_usb_merge=1 in the .ini file? Before, this adapter was merging all the controls in player 1.

This is the log from the uart :
Open up to 30 input devices.
opened 0( 0): /dev/input/event3 (289b:0003) 0 "0003:289B:0003.0001" "raphnet.net 4nes4snes v1.5"
opened 1( 0): /dev/input/event2 (289b:0003) 0 "0003:289B:0003.0001" "raphnet.net 4nes4snes v1.5"
opened 2( 0): /dev/input/event1 (289b:0003) 0 "0003:289B:0003.0001" "raphnet.net 4nes4snes v1.5"
opened 3( 0): /dev/input/event0 (289b:0003) 0 "0003:289B:0003.0001" "raphnet.net 4nes4snes v1.5"

paulbnl
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 134
Joined: Wed Oct 24, 2018 9:43 am

Re: Joystick testing thread

Postby paulbnl » Thu Feb 27, 2020 11:05 am

artfakt wrote:Thanks paulbnl, that fix made my 4nes4snes adapter from raphnet working. Could it be merged with the main Mister repo so that I can use the disable_usb_merge=1 in the .ini file? Before, this adapter was merging all the controls in player 1.


The merging was changed in the latest release but apparently there is still some unwanted merging.

If it is ok with Sorgelig I will send the pull request to disable merging with the ini option.

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6054
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Joystick testing thread

Postby Sorgelig » Fri Feb 28, 2020 6:38 am

paulbnl wrote:
artfakt wrote:Thanks paulbnl, that fix made my 4nes4snes adapter from raphnet working. Could it be merged with the main Mister repo so that I can use the disable_usb_merge=1 in the .ini file? Before, this adapter was merging all the controls in player 1.


The merging was changed in the latest release but apparently there is still some unwanted merging.

If it is ok with Sorgelig I will send the pull request to disable merging with the ini option.

before adding this quirk need to understand why some devices are merged. What devices are merged? They are physically different but got merged? Please give me a console log where input devices are listed.

artfakt
Atarian
Atarian
Posts: 4
Joined: Thu Feb 27, 2020 1:12 am

Re: Joystick testing thread

Postby artfakt » Fri Feb 28, 2020 4:25 pm

Sorgelig wrote:
paulbnl wrote:
artfakt wrote:Thanks paulbnl, that fix made my 4nes4snes adapter from raphnet working. Could it be merged with the main Mister repo so that I can use the disable_usb_merge=1 in the .ini file? Before, this adapter was merging all the controls in player 1.


The merging was changed in the latest release but apparently there is still some unwanted merging.

If it is ok with Sorgelig I will send the pull request to disable merging with the ini option.

before adding this quirk need to understand why some devices are merged. What devices are merged? They are physically different but got merged? Please give me a console log where input devices are listed.


This is the adapter I bought https://www.raphnet-tech.com/products/4nes4snes/index.php
It's a 4 snes controller to usb. I put it into a snes multitap :
Image
On windows, they appear as 4 hid devices with the same VID_PID but they add a &Col0X for each sub controller.
Image
https://stackoverflow.com/questions/15703179/what-is-usb-hid-col-parameter
So it seems to be a collection id.

Mister log from paulbnl fix :

Code: Select all

Minimig by Dennis van Weeren
ARM Controller by Jakub Bednarski
MiSTer code by Sorgelig

Version 200130

Looking for root device...
FileOpenEx(open) File:/media/fat/config/device.bin, error: No such file or directory.
Using SD card as a root device
Init SPI.
Identified 8BIT core
isPathDirectory(stat) path:/media/fat/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb0/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb0/games/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb1/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb1/games/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb2/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb2/games/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb3/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb3/games/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb4/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb4/games/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb5/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb5/games/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/cifs/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/cifs/games/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/games/MENU, error:No such file or directory.
Prefixed dir to games/MENU
Core name is "MENU"
*** Found SDRAM config: 3
** altcfg: no cfg
INI_PARSER : Start INI parser for core "MENU".
INI_PARSER : Opened file MiSTer.ini with size 4297 bytes.
INI_PARSER : line(0): "[MiSTer]".
INI_PARSER : Got SECTION 'MISTER' with ID 1
INI_PARSER : line(0): "key_menu_as_rgui=0".
INI_PARSER : Got VAR 'KEY_MENU_AS_RGUI' with VALUE 0
INI_PARSER : line(0): "forced_scandoubler=0".
INI_PARSER : Got VAR 'FORCED_SCANDOUBLER' with VALUE 0
INI_PARSER : line(0): "ypbpr=0".
INI_PARSER : Got VAR 'YPBPR' with VALUE 0
INI_PARSER : line(0): "composite_sync=0".
INI_PARSER : Got VAR 'COMPOSITE_SYNC' with VALUE 0
INI_PARSER : line(0): "vga_scaler=0".
INI_PARSER : Got VAR 'VGA_SCALER' with VALUE 0
INI_PARSER : line(0): "hdmi_audio_96k=0".
INI_PARSER : Got VAR 'HDMI_AUDIO_96K' with VALUE 0
INI_PARSER : line(0): "keyrah_mode=0x18d80002".
INI_PARSER : Got VAR 'KEYRAH_MODE' with VALUE 0x18d80002
INI_PARSER : line(0): "volumectl=1".
INI_PARSER : Got VAR 'VOLUMECTL' with VALUE 1
INI_PARSER : line(0): "vscale_mode=1".
INI_PARSER : Got VAR 'VSCALE_MODE' with VALUE 1
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "vscale_border=0".
INI_PARSER : Got VAR 'VSCALE_BORDER' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "rbf_hide_datecode=0".
INI_PARSER : Got VAR 'RBF_HIDE_DATECODE' with VALUE 0
INI_PARSER : line(0): "menu_pal=0".
INI_PARSER : Got VAR 'MENU_PAL' with VALUE 0
INI_PARSER : line(0): "hdmi_limited=0".
INI_PARSER : Got VAR 'HDMI_LIMITED' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "direct_video=0".
INI_PARSER : Got VAR 'DIRECT_VIDEO' with VALUE 0
INI_PARSER : line(0): "fb_size=0".
INI_PARSER : Got VAR 'FB_SIZE' with VALUE 0
INI_PARSER : line(0): "fb_terminal=1".
INI_PARSER : Got VAR 'FB_TERMINAL' with VALUE 1
INI_PARSER : line(0): "osd_timeout=30".
INI_PARSER : Got VAR 'OSD_TIMEOUT' with VALUE 30
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "bootcore_timeout=10".
INI_PARSER : Got VAR 'BOOTCORE_TIMEOUT' with VALUE 10
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "font=font/font.pf".
INI_PARSER : Got VAR 'FONT' with VALUE font/font.pf
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "reset_combo=0".
INI_PARSER : Got VAR 'RESET_COMBO' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "dvi_mode=0".
INI_PARSER : Got VAR 'DVI_MODE' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "video_mode=8".
INI_PARSER : Got VAR 'VIDEO_MODE' with VALUE 8
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "video_info=0".
INI_PARSER : Got VAR 'VIDEO_INFO' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "vsync_adjust=0".
INI_PARSER : Got VAR 'VSYNC_ADJUST' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "video_mode_ntsc=8".
INI_PARSER : Got VAR 'VIDEO_MODE_NTSC' with VALUE 8
INI_PARSER : line(0): "video_mode_pal=9".
INI_PARSER : Got VAR 'VIDEO_MODE_PAL' with VALUE 9
INI_PARSER : line(0): "".
INI_PARSER : line(0): "disable_usb_merge=1".
INI_PARSER : Got VAR 'DISABLE_USB_MERGE' with VALUE 1
INI_PARSER : line(4): "".
Set predefined video_mode to 8
Calculate PLL for 148.5000 MHz:
Fvco=445.500000, C=3, M=8, K=0.910000(3908420239) -> Fpix=148.500000
Set predefined video_mode to 9
Calculate PLL for 148.5000 MHz:
Fvco=445.500000, C=3, M=8, K=0.910000(3908420239) -> Fpix=148.500000
Set predefined video_mode to 8
Calculate PLL for 148.5000 MHz:
Fvco=445.500000, C=3, M=8, K=0.910000(3908420239) -> Fpix=148.500000
FileOpenEx(open) File:/media/fat/config/MENU_gamma.cfg, error: No such file or directory.
FileOpenEx(open) File:/media/fat/config/MENU_scaler.cfg, error: No such file or directory.
Send HDMI parameters:
video: 1920(1920), 88(88), 44(44), 148(148), 1080(1080), 4(4), 5(5), 36(36),
PLL: 0x4, 0x404, 0x3, 0x10000, 0x5, 0x20201, 0x9, 0x2, 0x8, 0x7, 0x7, 0xE8F5C28F, Fpix=148.500000
FileOpenEx(open) File:/media/fat/font/font.pf, error: No such file or directory.
sending keymap: 0
Loading config MENU.CFG
FileOpenEx(open) File:/media/fat/config/MENU.CFG, error: No such file or directory.
get cfgstring 0 = MENU
get cfgstring 1 = (null)
get cfgstring 2 = (null)
Switch to core frame buffer
Open up to 30 input devices.
done
read-only file system detected...done
opened 0( 0): /dev/input/event3 (289b:0003) 0 "" "raphnet.net 4nes4snes v1.5"
opened 1( 1): /dev/input/event2 (289b:0003) 0 "" "raphnet.net 4nes4snes v1.5"
opened 2( 2): /dev/input/event1 (289b:0003) 0 "" "raphnet.net 4nes4snes v1.5"
opened 3( 3): /dev/input/event0 (289b:0003) 0 "" "raphnet.net 4nes4snes v1.5"
Switch to core frame buffer
Switch to core frame buffer


Mister log from latest :

Code: Select all

Minimig by Dennis van Weeren
ARM Controller by Jakub Bednarski
MiSTer code by Sorgelig

Version 200225

Looking for root device...
FileOpenEx(open) File:/media/fat/config/device.bin, error: No such file or directory.
Using SD card as a root device
Init SPI.
Identified 8BIT core
isPathDirectory(stat) path:/media/fat/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb0/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb0/games/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb1/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb1/games/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb2/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb2/games/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb3/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb3/games/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb4/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb4/games/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb5/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/../usb5/games/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/cifs/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/cifs/games/MENU, error:No such file or directory.
isPathDirectory(stat) path:/media/fat/games/MENU, error:No such file or directory.
Prefixed dir to games/MENU
Core name is "MENU"
*** Found SDRAM config: 3
** altcfg: no cfg
INI_PARSER : Start INI parser for core "MENU".
INI_PARSER : Opened file MiSTer.ini with size 4297 bytes.
INI_PARSER : line(0): "[MiSTer]".
INI_PARSER : Got SECTION 'MISTER' with ID 1
INI_PARSER : line(0): "key_menu_as_rgui=0".
INI_PARSER : Got VAR 'KEY_MENU_AS_RGUI' with VALUE 0
INI_PARSER : line(0): "forced_scandoubler=0".
INI_PARSER : Got VAR 'FORCED_SCANDOUBLER' with VALUE 0
INI_PARSER : line(0): "ypbpr=0".
INI_PARSER : Got VAR 'YPBPR' with VALUE 0
INI_PARSER : line(0): "composite_sync=0".
INI_PARSER : Got VAR 'COMPOSITE_SYNC' with VALUE 0
INI_PARSER : line(0): "vga_scaler=0".
INI_PARSER : Got VAR 'VGA_SCALER' with VALUE 0
INI_PARSER : line(0): "hdmi_audio_96k=0".
INI_PARSER : Got VAR 'HDMI_AUDIO_96K' with VALUE 0
INI_PARSER : line(0): "keyrah_mode=0x18d80002".
INI_PARSER : Got VAR 'KEYRAH_MODE' with VALUE 0x18d80002
INI_PARSER : line(0): "volumectl=1".
INI_PARSER : Got VAR 'VOLUMECTL' with VALUE 1
INI_PARSER : line(0): "vscale_mode=1".
INI_PARSER : Got VAR 'VSCALE_MODE' with VALUE 1
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "vscale_border=0".
INI_PARSER : Got VAR 'VSCALE_BORDER' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "rbf_hide_datecode=0".
INI_PARSER : Got VAR 'RBF_HIDE_DATECODE' with VALUE 0
INI_PARSER : line(0): "menu_pal=0".
INI_PARSER : Got VAR 'MENU_PAL' with VALUE 0
INI_PARSER : line(0): "hdmi_limited=0".
INI_PARSER : Got VAR 'HDMI_LIMITED' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "direct_video=0".
INI_PARSER : Got VAR 'DIRECT_VIDEO' with VALUE 0
INI_PARSER : line(0): "fb_size=0".
INI_PARSER : Got VAR 'FB_SIZE' with VALUE 0
INI_PARSER : line(0): "fb_terminal=1".
INI_PARSER : Got VAR 'FB_TERMINAL' with VALUE 1
INI_PARSER : line(0): "osd_timeout=30".
INI_PARSER : Got VAR 'OSD_TIMEOUT' with VALUE 30
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "bootcore_timeout=10".
INI_PARSER : Got VAR 'BOOTCORE_TIMEOUT' with VALUE 10
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "font=font/font.pf".
INI_PARSER : Got VAR 'FONT' with VALUE font/font.pf
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "reset_combo=0".
INI_PARSER : Got VAR 'RESET_COMBO' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "dvi_mode=0".
INI_PARSER : Got VAR 'DVI_MODE' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "video_mode=8".
INI_PARSER : Got VAR 'VIDEO_MODE' with VALUE 8
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "video_info=0".
INI_PARSER : Got VAR 'VIDEO_INFO' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "vsync_adjust=0".
INI_PARSER : Got VAR 'VSYNC_ADJUST' with VALUE 0
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "".
INI_PARSER : line(0): "video_mode_ntsc=8".
INI_PARSER : Got VAR 'VIDEO_MODE_NTSC' with VALUE 8
INI_PARSER : line(0): "video_mode_pal=9".
INI_PARSER : Got VAR 'VIDEO_MODE_PAL' with VALUE 9
INI_PARSER : line(0): "".
INI_PARSER : line(0): "disable_usb_merge=1".
INI_PARSER : line(4): "".
Set predefined video_mode to 8
Calculate PLL for 148.5000 MHz:
Fvco=445.500000, C=3, M=8, K=0.910000(3908420239) -> Fpix=148.500000
Set predefined video_mode to 9
Calculate PLL for 148.5000 MHz:
Fvco=445.500000, C=3, M=8, K=0.910000(3908420239) -> Fpix=148.500000
Set predefined video_mode to 8
Calculate PLL for 148.5000 MHz:
Fvco=445.500000, C=3, M=8, K=0.910000(3908420239) -> Fpix=148.500000
FileOpenEx(open) File:/media/fat/config/MENU_gamma.cfg, error: No such file or directory.
FileOpenEx(open) File:/media/fat/config/MENU_scaler.cfg, error: No such file or directory.
Send HDMI parameters:
video: 1920(1920), 88(88), 44(44), 148(148), 1080(1080), 4(4), 5(5), 36(36),
PLL: 0x4, 0x404, 0x3, 0x10000, 0x5, 0x20201, 0x9, 0x2, 0x8, 0x7, 0x7, 0xE8F5C28F, Fpix=148.500000
FileOpenEx(open) File:/media/fat/font/font.pf, error: No such file or directory.
sending keymap: 0
Loading config MENU.CFG
FileOpenEx(open) File:/media/fat/config/MENU.CFG, error: No such file or directory.
get cfgstring 0 = MENU
get cfgstring 1 = (null)
get cfgstring 2 = (null)
Switch to core frame buffer
Open up to 30 input devices.
done
read-only file system detected...done
opened 0( 0): /dev/input/event3 (289b:0003) 0 "0003:289B:0003.0001" "raphnet.net 4nes4snes v1.5"
opened 1( 0): /dev/input/event2 (289b:0003) 0 "0003:289B:0003.0001" "raphnet.net 4nes4snes v1.5"
opened 2( 0): /dev/input/event1 (289b:0003) 0 "0003:289B:0003.0001" "raphnet.net 4nes4snes v1.5"
opened 3( 0): /dev/input/event0 (289b:0003) 0 "0003:289B:0003.0001" "raphnet.net 4nes4snes v1.5"
Switch to core frame buffer
Switch to core frame buffer
pFileExt = (null)
Start to scan dir: /media/fat/
Position on item:
Got 5 dir entries
Starting system message bus: done
Starting Bluetooth...Starting connman ... done.
Starting ntpd: OK
Starting ProFTPD: done
Starting sshd: OK
Starting network: *** Got SDRAM module type: 7
INFO: Video resolution: 529 x 240, fHorz = 15.7KHz, fVert = 59.8Hz, fPix = 10.00MHz
INFO: Frame time (100MHz counter): VGA = 1671559, HDMI = 1666666
Set vertical scaling to : 960
Failed to bring up wlan0.
Failed to bring up wlan1.


Linux can see 4 devices, but in the latest version I can control only one player.

paulbnl
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 134
Joined: Wed Oct 24, 2018 9:43 am

Re: Joystick testing thread

Postby paulbnl » Fri Feb 28, 2020 5:20 pm

It seems to be 1 USB device with 4 controllers.

@artfakt can you post the output of 'cat /proc/bus/input/devices'?

artfakt
Atarian
Atarian
Posts: 4
Joined: Thu Feb 27, 2020 1:12 am

Re: Joystick testing thread

Postby artfakt » Fri Feb 28, 2020 5:29 pm

paulbnl wrote:It seems to be 1 USB device with 4 controllers.

@artfakt can you post the output of 'cat /proc/bus/input/devices'?


Code: Select all

cat /proc/bus/input/devices
I: Bus=0003 Vendor=289b Product=0003 Version=0101
N: Name="raphnet.net 4nes4snes v1.5"
P: Phys=usb-ffb40000.usb-1/input0
S: Sysfs=/devices/platform/soc/ffb40000.usb/usb1/1-1/1-1:1.0/0003:289B:0003.0001/input/input0
U: Uniq=4671
H: Handlers=js0 event0
B: PROP=0
B: EV=1b
B: KEY=ff 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10

I: Bus=0003 Vendor=289b Product=0003 Version=0101
N: Name="raphnet.net 4nes4snes v1.5"
P: Phys=usb-ffb40000.usb-1/input0
S: Sysfs=/devices/platform/soc/ffb40000.usb/usb1/1-1/1-1:1.0/0003:289B:0003.0001/input/input1
U: Uniq=4671
H: Handlers=js1 event1
B: PROP=0
B: EV=1b
B: KEY=ff 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10

I: Bus=0003 Vendor=289b Product=0003 Version=0101
N: Name="raphnet.net 4nes4snes v1.5"
P: Phys=usb-ffb40000.usb-1/input0
S: Sysfs=/devices/platform/soc/ffb40000.usb/usb1/1-1/1-1:1.0/0003:289B:0003.0001/input/input2
U: Uniq=4671
H: Handlers=js2 event2
B: PROP=0
B: EV=1b
B: KEY=ff 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10

I: Bus=0003 Vendor=289b Product=0003 Version=0101
N: Name="raphnet.net 4nes4snes v1.5"
P: Phys=usb-ffb40000.usb-1/input0
S: Sysfs=/devices/platform/soc/ffb40000.usb/usb1/1-1/1-1:1.0/0003:289B:0003.0001/input/input3
U: Uniq=4671
H: Handlers=js3 event3
B: PROP=0
B: EV=1b
B: KEY=ff 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10

I: Bus=0003 Vendor=0000 Product=0000 Version=0004
N: Name="MiSTer virtual input"
P: Phys=
S: Sysfs=/devices/virtual/input/input4
U: Uniq=
H: Handlers=sysrq kbd event4
B: PROP=0
B: EV=3
B: KEY=ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe


Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6054
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Joystick testing thread

Postby Sorgelig » Sat Feb 29, 2020 10:40 pm

artfakt wrote:
paulbnl wrote:It seems to be 1 USB device with 4 controllers.

@artfakt can you post the output of 'cat /proc/bus/input/devices'?


Code: Select all

cat /proc/bus/input/devices
I: Bus=0003 Vendor=289b Product=0003 Version=0101
N: Name="raphnet.net 4nes4snes v1.5"
P: Phys=usb-ffb40000.usb-1/input0
S: Sysfs=/devices/platform/soc/ffb40000.usb/usb1/1-1/1-1:1.0/0003:289B:0003.0001/input/input0
U: Uniq=4671
H: Handlers=js0 event0
B: PROP=0
B: EV=1b
B: KEY=ff 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10

I: Bus=0003 Vendor=289b Product=0003 Version=0101
N: Name="raphnet.net 4nes4snes v1.5"
P: Phys=usb-ffb40000.usb-1/input0
S: Sysfs=/devices/platform/soc/ffb40000.usb/usb1/1-1/1-1:1.0/0003:289B:0003.0001/input/input1
U: Uniq=4671
H: Handlers=js1 event1
B: PROP=0
B: EV=1b
B: KEY=ff 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10

I: Bus=0003 Vendor=289b Product=0003 Version=0101
N: Name="raphnet.net 4nes4snes v1.5"
P: Phys=usb-ffb40000.usb-1/input0
S: Sysfs=/devices/platform/soc/ffb40000.usb/usb1/1-1/1-1:1.0/0003:289B:0003.0001/input/input2
U: Uniq=4671
H: Handlers=js2 event2
B: PROP=0
B: EV=1b
B: KEY=ff 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10

I: Bus=0003 Vendor=289b Product=0003 Version=0101
N: Name="raphnet.net 4nes4snes v1.5"
P: Phys=usb-ffb40000.usb-1/input0
S: Sysfs=/devices/platform/soc/ffb40000.usb/usb1/1-1/1-1:1.0/0003:289B:0003.0001/input/input3
U: Uniq=4671
H: Handlers=js3 event3
B: PROP=0
B: EV=1b
B: KEY=ff 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10

I: Bus=0003 Vendor=0000 Product=0000 Version=0004
N: Name="MiSTer virtual input"
P: Phys=
S: Sysfs=/devices/virtual/input/input4
U: Uniq=
H: Handlers=sysrq kbd event4
B: PROP=0
B: EV=3
B: KEY=ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe



so all 4 devices have all identical identifications. So i don't see how to distinguish them. They look like 4 parts of the same device.
I have raphnet 2xSNES to USB converter and they looks as proper separate devices. May be there is a firmware update from raphnet to fix such issue. For me it looks like improper USB descriptor without correct splitting to sub-devices.

I've just pushed dual SNES to USB converter update based on Arduino Micro. It properly works as 2 input devices. Supports both NES and SNES gamepads including now NTT gamepad.

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6054
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Joystick testing thread

Postby Sorgelig » Sat Feb 29, 2020 10:44 pm

artfakt wrote:https://stackoverflow.com/questions/15703179/what-is-usb-hid-col-parameter
So it seems to be a collection id.

what i understood, collection ID is pure virtual, it doesn't come from USB descriptor. Just windows adds additional ID simply to make every device name unique.

paulbnl
Obsessive compulsive Atari behavior
Obsessive compulsive Atari behavior
Posts: 134
Joined: Wed Oct 24, 2018 9:43 am

Re: Joystick testing thread

Postby paulbnl » Sat Feb 29, 2020 10:57 pm

Sorgelig wrote:so all 4 devices have all identical identifications. So i don't see how to distinguish them. They look like 4 parts of the same device.


Yeah that's why the option in MiSTer.ini is needed to disable USB merge for these kind of devices.

Sorgelig wrote:I've just pushed dual SNES to USB converter update based on Arduino Micro. It properly works as 2 input devices. Supports both NES and SNES gamepads including now NTT gamepad.


Nice!

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6054
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Joystick testing thread

Postby Sorgelig » Sat Feb 29, 2020 11:00 pm

this is with 2xSNES raphnet:

Code: Select all

opened 0( 0): /dev/input/event9 (289b:0057) 0 "0003:289B:0057.000D" "raphnet technologies Dual SNES to USB v2.2"
opened 1( 1): /dev/input/event6 (289b:0057) 0 "0003:289B:0057.000C" "raphnet technologies Dual SNES to USB v2.2"

artfakt
Atarian
Atarian
Posts: 4
Joined: Thu Feb 27, 2020 1:12 am

Re: Joystick testing thread

Postby artfakt » Tue Mar 03, 2020 1:11 am

The latest update from mister solved it! Thanks Sorg

SegaMan
Atari maniac
Atari maniac
Posts: 98
Joined: Sat Oct 27, 2018 12:59 pm

Re: Joystick testing thread

Postby SegaMan » Tue Mar 03, 2020 8:33 pm

I made a Spinner Controller with this Rotary Encoder.
https://www.amazon.de/dp/B015GYY7XU/ref ... E_SCE_dp_2

Image
Image

I am using a Arduino Leonardo Mini Clone with this skript (simulating mouse).

Code: Select all

#include <Mouse.h>


enum PinAssignments {
  encoderPinA = 2,
  encoderPinB = 3,
  mouseLeftButton = 4,
  clearButton = 8
};

volatile int encoderPos = 0;
int lastReportedPos = 1;
int encoderMove = 0;


boolean A_set = false;
boolean B_set = false;


void setup() {

  pinMode(encoderPinA, INPUT);
  pinMode(encoderPinB, INPUT);
  pinMode(clearButton, INPUT);
  pinMode(mouseLeftButton, INPUT_PULLUP);
  digitalWrite(encoderPinA, HIGH);  // turn on pullup resistor
  digitalWrite(encoderPinB, HIGH);  // turn on pullup resistor
  digitalWrite(clearButton, HIGH);

// encoder pin on interrupt 0 (pin 2)
  attachInterrupt(0, doEncoderA, CHANGE);
// encoder pin on interrupt 1 (pin 3)
  attachInterrupt(1, doEncoderB, CHANGE);

  // Serial.begin(9600);
 Mouse.begin(); /*not sure if this is necessary, you'll have to test this tristan*/
}


void loop(){
  if (lastReportedPos != encoderPos) {
    encoderMove = (encoderPos-lastReportedPos);
    //Serial.print("Index:");
    //Serial.print(encoderPos, DEC);
    //Serial.print("--encoderMove:");
    //Serial.print(encoderMove, DEC);
    //Serial.println();
    if (digitalRead(clearButton) == LOW)  {
        encoderPos = 0;
    }
    if ((encoderMove<=127) && (encoderMove>=-127))
      Mouse.move(encoderMove, 0, 0);
    else
      if (encoderMove>127)
        Mouse.move(127, 0, 0);
      else
        Mouse.move(-127, 0, 0);
    lastReportedPos = encoderPos;
  }
 
  // read the mouse button and click or not click:
  // if the mouse button is pressed:
  if (digitalRead(mouseLeftButton) == LOW) {
    // if the mouse is not pressed, press it:
    if (!Mouse.isPressed(MOUSE_LEFT)) {
      Mouse.press(MOUSE_LEFT);
      //delay(400); // delay to enable single and double-click
    }
  }
 
  // else the mouse button is not pressed:
   else {
    // if the mouse is pressed, release it:
    if (Mouse.isPressed(MOUSE_LEFT)) {
      Mouse.release(MOUSE_LEFT);
    }
  }

  delay(10);
 
}

// Interrupt on A changing state
void doEncoderA(){
  // Test transition
  A_set = digitalRead(encoderPinA) == HIGH;
  // and adjust counter + if A leads B
  encoderPos += (A_set != B_set) ? +1 : -1;
}

// Interrupt on B changing state
void doEncoderB(){
  // Test transition
  B_set = digitalRead(encoderPinB) == HIGH;
  // and adjust counter + if B follows A
  encoderPos += (A_set == B_set) ? +1 : -1;
}


Works perfekt on Arkanoid Core.

Did not work on other cores like AY-3-8500 (Pong)/ Spy Hunter /Turbo Tag.
Are these cores only work with linear potentiometer with 10K-1M resistance?

Retr80s
Atarian
Atarian
Posts: 6
Joined: Sat Dec 22, 2018 10:50 pm

Re: Joystick testing thread

Postby Retr80s » Tue Mar 03, 2020 8:49 pm

Just wanted to report my experience with MickGyver's DaemonBite-Arcade-Encoder project on the Aurdino Leonardo.
Tried it with Sanwa JLF and Sanwa pushbuttons on the Mister. USB Polling rate configured to 1.
I doesn't work very well. It has the same problem as some other USB Controllers. When you try remap / configure the joystick, it double presses many times. It is like if it was "hyper-sensitive". Moving around the Menu is nearly imposible. I do not know if I'm doing anything wrong, but I think not.
I had the same controler working with a Xin Mo encoder without problems. I haven't changed anything apart from the encoder itself.
Just wanted to report in case same happens to others.

Retr80s
Atarian
Atarian
Posts: 6
Joined: Sat Dec 22, 2018 10:50 pm

Re: Joystick testing thread

Postby Retr80s » Tue Mar 03, 2020 10:08 pm

Hi. Ok, so found solution. My bad!!!
You need to chanage #define DEBOUNCE 0 to #define DEBOUNCE 1 and recompile.

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6054
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Joystick testing thread

Postby Sorgelig » Tue Mar 03, 2020 10:12 pm

SegaMan wrote:Works perfekt on Arkanoid Core.

Did not work on other cores like AY-3-8500 (Pong)/ Spy Hunter /Turbo Tag.
Are these cores only work with linear potentiometer with 10K-1M resistance?

Just yesterday i've changed API for Spinner/Paddle. You have to update mrSpinner firmware, Main, and cores using the spinner/paddle. All are released yesterday.

P.S.: Spinner doesn't use mouse emulation. You have to use my firmware for spinner/paddle if you want to use the spinner/paddle with cores.

SegaMan
Atari maniac
Atari maniac
Posts: 98
Joined: Sat Oct 27, 2018 12:59 pm

Re: Joystick testing thread

Postby SegaMan » Tue Mar 03, 2020 10:51 pm

Thx, will try! :cheers:

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6054
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Joystick testing thread

Postby Sorgelig » Wed Mar 04, 2020 5:24 am

Btw, for long term use i suggest to solder spinner and button. Header will give you instability after some time due to oxidisation.

SegaMan
Atari maniac
Atari maniac
Posts: 98
Joined: Sat Oct 27, 2018 12:59 pm

Re: Joystick testing thread

Postby SegaMan » Wed Mar 04, 2020 8:32 am

Arduino Leonardo Pinout Question.

When using one Spinner.

Should i use TXO/RXI to wire the Spinner or can i also use Pin 2/ Pin7 vor Spinner_A and Spinner_B?


Get a error message when upload the code to my arduino leonardo board.

Code: Select all

Arduino: 1.8.12 (Mac OS X), Board: "Arduino Leonardo"

PaddleTwoControllersUSB:116:10: fatal error: ResponsiveAnalogRead.h: No such file or directory
 #include <ResponsiveAnalogRead.h>

          ^~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
ResponsiveAnalogRead.h: No such file or directory

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.


i am a arduino noob sry :angel:


edit:

Get it work!

This files are needed too:
https://github.com/dxinteractive/Respon ... master/src

And i have to edit <ResponsiveAnalogRead.h> to "ResponsiveAnalogRead.h"
Last edited by SegaMan on Wed Mar 04, 2020 2:00 pm, edited 1 time in total.

jim150
Atariator
Atariator
Posts: 18
Joined: Sun Sep 30, 2018 5:20 am
Location: Catalonia

Re: Joystick testing thread

Postby jim150 » Wed Mar 04, 2020 10:28 am

Sorgelig wrote:
luke79 wrote:However it works very well for one player.

A pity mister can't map 2 commands sets, one per player, for one USB device.

it's a pity manufacturer cannot invest his money to develop correct USB adapter.
Enthusiasts doing similar converter for free.


Anyone can point me an example of this? I want to replace my old and buggy XinMo adapter of my arcade machine (2 players) and I want a better solution. Thanks!

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6054
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Joystick testing thread

Postby Sorgelig » Wed Mar 04, 2020 2:11 pm

For arcades with many buttons currently there is only single device per arduino:
https://github.com/MickGyver/DaemonBite-Arcade-Encoder
So you need 2 arduino micro boards for 2 joysticks.

Technically it's possible to implement 2 arcade joysticks in single arduino board as it's already done for paddles and spinners adapters. Since arduino micro has limited amount of pins, it will require 2 common pins for each joystick. So it's definitely doable. I'm thinking to make such adapter, but i'm not the fan of arcade cabinets so i have no such arcade controllers to wire.. May be some time in the future, or may be witchmaster will make such adapter.

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6054
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Joystick testing thread

Postby Sorgelig » Wed Mar 04, 2020 2:15 pm

SegaMan wrote:Get it work!

This files are needed too:
https://github.com/dxinteractive/Respon ... master/src

And i have to edit <ResponsiveAnalogRead.h> to "ResponsiveAnalogRead.h"

Actually you should go to library manager option in arduino IDE, find ResponsiveAnalogRead library there and install. Then it will work without editing the file.

If you use only spinner, then you can simply remove paddle code and requirement of this library/header. I will add define to use spinner-only.

SegaMan wrote:Should i use TXO/RXI to wire the Spinner or can i also use Pin 2/ Pin7 vor Spinner_A and Spinner_B?

My adapter supports 2 spinners. So you can use either TXO/RXI or D2/D7 for single spinner. Or connect 2 spinners at the same time.

werpu
Atariator
Atariator
Posts: 19
Joined: Fri Jan 03, 2020 4:31 pm

Re: Joystick testing thread

Postby werpu » Thu Mar 05, 2020 9:19 pm

Sorgelig wrote:For arcades with many buttons currently there is only single device per arduino:
https://github.com/MickGyver/DaemonBite-Arcade-Encoder
So you need 2 arduino micro boards for 2 joysticks.

Technically it's possible to implement 2 arcade joysticks in single arduino board as it's already done for paddles and spinners adapters. Since arduino micro has limited amount of pins, it will require 2 common pins for each joystick. So it's definitely doable. I'm thinking to make such adapter, but i'm not the fan of arcade cabinets so i have no such arcade controllers to wire.. May be some time in the future, or may be witchmaster will make such adapter.


Well I did it differently on my arcade controller. Since my controller is a mash of various input devices
a) An Ultimarc board which covers two digital sticks and around 18 buttons as keyboard events, and a paddle as mouse x
b) 2 analog sticks which register themselves as controllers with additional buttons
c) a trackball as mouse
d) additional paddle as mouse y

Now this mix needs to expose 2 gamepads one mouse with appropriate buttons and additional keyboard events but not 1:1 more like an m:n setup.

Now all this now works on mister. I simply pushed the signals into a raspberry pi which is running an input multiplexer with a serial signal driver (self written stuff) and then the multiplexer pushes the signals appropriately into two teensies, which then deliver a keyboard, a mouse with two buttons and two gamepads.
This setup works like a charm although it is a little bit of overkill, but it is very flexible, given that changing the mapping means just to change the config file of the multiplexer.

I also thought about trying to shove the gamepad side of things into one teensy, but given that I am new to microcontroller programming, it was not worth my time to figure this out so I simply used two uart ports on the pi4 and two microcontrollers to pull it off.

This setup works great with most of the cores, including paddle games on the atari cores and on arkanoid, it fails however to identify the paddles for instance on pong, where instead of using mouse x and mouse y the analog sticks are used.
Any idea why? Guess the core does not really use the mouse signals of x and y for paddle 1 and 2, right?

Sorgelig
Ultimate Atarian
Ultimate Atarian
Posts: 6054
Joined: Mon Dec 14, 2015 10:51 am
Location: Russia/Taiwan

Re: Joystick testing thread

Postby Sorgelig » Thu Mar 05, 2020 9:31 pm

werpu wrote:Well I did it differently on my arcade controller. Since my controller is a mash of various input devices
a) An Ultimarc board which covers two digital sticks and around 18 buttons as keyboard events, and a paddle as mouse x
b) 2 analog sticks which register themselves as controllers with additional buttons
c) a trackball as mouse
d) additional paddle as mouse y

Now this mix needs to expose 2 gamepads one mouse with appropriate buttons and additional keyboard events but not 1:1 more like an m:n setup.

Now all this now works on mister. I simply pushed the signals into a raspberry pi which is running an input multiplexer with a serial signal driver (self written stuff) and then the multiplexer pushes the signals appropriately into two teensies which ten deliver a keyboard, a mouse with two buttons and two gamepads.
This setup works like a charm although it is a little bit of overkill, but it is very flexible, given that changing the mapping means just to change the config file of the multiplexer.

I also thought about trying to shove the gamepad side of things into one teensy, but given that I am new to microcontroller programming, it was not worth my time to figure this out so I simply used two uart ports on the pi4 and two microcontrollers to pull it off.


This is too overcomplicated for a controller adapter. A single Teensy can do the whole job.
It's only a matter of available GPIOs. Teensy 3.2 has great amount of GPIOs. If not enough then Teensy 3.5 has even more. both 3.1 and 3.5 are 5V TTL tolerant if it's matter. Teensy can implement mouse+kbd+joystick at the same time although its USB stack is less flexible than AVR USB stack.
Not sure if paddle as a mouse is great idea. Paddle has finite move around 270 degree while mouse has no limits.

werpu
Atariator
Atariator
Posts: 19
Joined: Fri Jan 03, 2020 4:31 pm

Re: Joystick testing thread

Postby werpu » Thu Mar 05, 2020 9:52 pm

Sorgelig wrote:This is too overcomplicated for a controller adapter. A single Teensy can do the whole job.
It's only a matter of available GPIOs. Teensy 3.2 has great amount of GPIOs. If not enough then Teensy 3.5 has even more. both 3.1 and 3.5 are 5V TTL tolerant if it's matter. Teensy can implement mouse+kbd+joystick at the same time although its USB stack is less flexible than AVR USB stack.
Not sure if paddle as a mouse is great idea. Paddle has finite move around 270 degree while mouse has no limits.


Yes right for a single mouse and keybard and stick. I could not find any decent information on how to emulate two gamepads on one teensy, the teensy itself has defintiely enough power, given that some people even emulate a full blown ST with it. Unfortunately also the arcade controller delivers its signals over usb3, which also would mean having to add a usb host extension to the teensy and then adding/rewriting the mapper for the teensy in c as well.
Not really feasible in my case from a hardware availablity and time POV.

As for mouse paddles.. unfortunately thats how the paddles register themselves into the usb chain from the ultimarc boards. There is no way around that in my case :-(.
and I did not want to rewire and do everything over a set of teensies. I am past that point given that I was working for a full year on my arcade controller.

The paddles also have inifnite move they can be moved endlessly (not potentiometer based ones, different systems, I guess optical or magnetooptical). Sort of like the knobs on a AV receiver.


Return to “MiSTer”

Who is online

Users browsing this forum: daty2k1 and 9 guests