Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news


  

Author Topic: Nytric USB Global VR I/O Board  (Read 1130 times)

0 Members and 1 Guest are viewing this topic.

68hc11

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 14
  • I want to build my own arcade controls!
Nytric USB Global VR I/O Board
« on: December 03, 2016, 06:51:35 pm »
So waiting for parts I decided to play with the Nytric I/O board in a Need for Speed.

If you install a Nytric board in a windows PC it will show up as a USB HID Device.

NFS uses this input stream for buttons, Gas Analog, Brake Analog & to turn on lights/card dispensers.

I used USBlyzer and I could read the data stream.

I'm not real familiar with HID or USB data streams but the DATA I saw was...

02 00 01 00 01 00 01
FF FF FF FF 00 00 00
01 28

I don't understand the first line at all but only the first byte would change a little.

The second line first two bytes are the Gas analog input (10 bit?)
The second line third & fourth bytes are the Brake analog input (10 bit?)
The second line fifth Byte is Digital In B

01 = Music Button
02 = Look Back Button
04 = NOS
08 = not used?
10 = View Button
20 = E Brake
40 = Shift Up
80 = Shift Down

The second line 6th Byte is Digital In A

01 = Shift Left? (6 speed shifter cabinet)
02 = Shift Right?  (6 speed shifter cabinet)
04 = Card Dispense?
08 = Card Dispense Error?
10 = Start Button
20 = Operator Button

I did not find the Coin Line 0 or $ Coin Line 1 inputs (will search again).

The Third line both bits flittered about quiet a bit but I couldn't make any sense out of them (data checksum or something?)

I know this USB device is also set up for outputs, there are 4 MOSFETs on the board, probably for the lamp drivers

DOUTPWR0 = Start Lamp
DOUTPWR1 = Lead Lamp
DOUTPWR2 = Brake Lamp

There are also some digital line outs
DOUT0 = Card Dispense
DOUT1 = Hold/Drop Card

I don't know how to use USBlyzer to write to a port, but it would be simple to test these if I could.

If someone could write a driver that takes these inputs & makes them available for SuperModel/Mame/M2 Emulator that would be awesome!

If I can provide any more support from the hardware end, please let me know.

Mowerman


Howard_Casto

  • Idiot Police
  • Trade Count: (+1)
  • Full Member
  • ***
  • Online Online
  • Posts: 15262
  • Your Post's Soul is MINE!!! .......Again??
    • The Dragon King
Re: Nytric USB Global VR I/O Board
« Reply #1 on: December 03, 2016, 09:44:28 pm »
Just a guess, but the third line is probably the wheel's input and force-feedback interleaved with each other.  With sega racers you would often get a byte or two as a data "frame"  the base bit value would tell you which input/output is being sent and the additional bits added to it would be the value. 

68hc11

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 14
  • I want to build my own arcade controls!
Re: Nytric USB Global VR I/O Board
« Reply #2 on: December 03, 2016, 10:31:43 pm »
The Nytric board has no part in the FFB, that is all handled by the Immersion board in the Need For Speed cabinets.

The Nytric board does take the gas pedal & brake pedal as analog inputs (curious why GVR didn't use the Immersion board for this?).
The Nytric board is also used in PGA & Madden games?

The data I pulled was sole from the Nytric board output I was reading, there was no programs running to send data to the Nytric (at least one byte is written to the board for output).

Thanks,
mowerman


From KLOV posting.....

Here is what I have found with USBlyzer:

Connection Status Device connected
Current Configuration 1
Speed Low (1.5 Mbit/s)
Device Address 1
Number Of Open Pipes 1

Device Descriptor USB IO BOARD
Offset Field Size Value Description
0 bLength 1 12h
1 bDescriptorType 1 01h Device
2 bcdUSB 2 0110h USB Spec 1.1
4 bDeviceClass 1 00h Class info in Ifc Descriptors
5 bDeviceSubClass 1 00h
6 bDeviceProtocol 1 00h
7 bMaxPacketSize0 1 08h 8 bytes
8 idVendor 2 0483h SGS Thomson Microelectronics
10 idProduct 2 0003h
12 bcdDevice 2 0401h 4.01
14 iManufacturer 1 03h "NYTRIC INC"
15 iProduct 1 01h "USB IO BOARD"
16 iSerialNumber 1 02h "ST1"
17 bNumConfigurations 1 01h

Configuration Descriptor 1 Bus Powered, 100 mA
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 02h Configuration
2 wTotalLength 2 0022h
4 bNumInterfaces 1 01h
5 bConfigurationValue 1 01h
6 iConfiguration 1 00h
7 bmAttributes 1 80h Bus Powered
4..0: Reserved ...00000
5: Remote Wakeup ..0..... No
6: Self Powered .0...... No, Bus Powered
7: Reserved (set to one)
(bus-powered for 1.0) 1.......
8 bMaxPower 1 32h 100 mA

Interface Descriptor 0/0 HID, 1 Endpoint
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 04h Interface
2 bInterfaceNumber 1 00h
3 bAlternateSetting 1 00h
4 bNumEndpoints 1 01h
5 bInterfaceClass 1 03h HID
6 bInterfaceSubClass 1 00h
7 bInterfaceProtocol 1 00h
8 iInterface 1 00h

HID Descriptor
Offset Field Size Value Description
0 bLength 1 09h
1 bDescriptorType 1 21h HID
2 bcdHID 2 0110h 1.10
4 bCountryCode 1 21h US
5 bNumDescriptors 1 01h
6 bDescriptorType 1 22h Report
7 wDescriptorLength 2 0061h 97 bytes

Endpoint Descriptor 81 1 In, Interrupt, 10 ms
Offset Field Size Value Description
0 bLength 1 07h
1 bDescriptorType 1 05h Endpoint
2 bEndpointAddress 1 81h 1 In
3 bmAttributes 1 03h Interrupt
1..0: Transfer Type ......11 Interrupt
7..2: Reserved 000000..
4 wMaxPacketSize 2 0008h 8 bytes
6 bInterval 1 0Ah 10 ms

Interface 0 HID Report Descriptor
Item Tag (Value) Raw Data
Usage Page (Bar Code Scanner) 05 8C
Usage 09 01
Collection (Application) A1 01
Report ID (1) 85 01
Usage 09 01
Logical Minimum (0) 15 00
Logical Maximum (255) 26 FF 00
Report Size (8) 75 08
Report Count (4) 95 04
Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
Report ID (2) 85 02
Usage 09 02
Logical Minimum (0) 15 00
Logical Maximum (255) 26 FF 00
Report Size (8) 75 08
Report Count (1) 95 01
Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
Report ID (3) 85 03
Usage 09 03
Logical Minimum (0) 15 00
Logical Maximum (255) 26 FF 00
Report Size (8) 75 08
Report Count (5) 95 05
Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
Report ID (4) 85 04
Usage 09 04
Logical Minimum (0) 15 00
Logical Maximum (255) 26 FF 00
Report Size (8) 75 08
Report Count (1) 95 01
Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
Report ID (5) 85 05
Usage 09 05
Logical Minimum (0) 15 00
Logical Maximum (255) 26 FF 00
Report Size (8) 75 08
Report Count (4) 95 04
Feature (Data,Var,Abs,NWrp,Lin,Pref,NNul,Vol,Bit) B1 82
Report ID (1) 85 01
Usage 09 01
Logical Minimum (0) 15 00
Logical Maximum (255) 26 FF 00
Report Size (8) 75 08
Report Count (15) 95 0F
Input (Data,Var,Abs,NWrp,Lin,Pref,NNul,Bit) 81 82
End Collection C0


And Here is the Chip used:

http://www.st.com/content/st_com/en/...duct/64405.jsp

landesmd

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 4
  • I want to build my own arcade controls!
Re: Nytric USB Global VR I/O Board
« Reply #3 on: May 05, 2017, 09:36:23 am »
68hc11 I'm a few months behind, but on the same quest.  I have a fully functioning Need for Speed GT and am trying to make it a multicade, hopefully keeping it fully reversible back to original condition.  Have you had any updates on this?  I've currently plugged in the connectors to another connector that is wired to a gamepad but this obviously not ideal and gives me no lights, etc.  Since I do have the fully functioning XPE computer I'll snoop around in it this weekend and see if I can pull the drivers it uses for the card, maybe that will give us a start.
« Last Edit: May 05, 2017, 09:52:19 am by landesmd »

landesmd

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 4
  • I want to build my own arcade controls!
Re: Nytric USB Global VR I/O Board
« Reply #4 on: May 14, 2017, 08:30:30 am »
Alright, Win7 finally installed generic HID drivers for my device and I'm at the same point you are now.  I pulled the hdd off of the original PC and pulled what I thought was important.  I've included in the attachment.  There is a program called GVRInputRaw.exe which when ran on the original computer would show the input from both the Immersion and Nytric boards all at once.  Trying to run it on the new computer came up that it was missing the GVRInputRaw.dll file so I've also copied all the GVR*.dll files from System32.  Also in the setup files on the original computer there is a separate USBDrivers folder with two .sys files in them so I've included them as well.  I'll try installing the .dll files on the new computer and see if that gets me anything, anybody else have ideas?

68hc11

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 14
  • I want to build my own arcade controls!
Re: Nytric USB Global VR I/O Board
« Reply #5 on: May 23, 2017, 10:18:55 pm »
So I'm just revisiting this myself.  I'm adding a LM324N chip & resistors to the Immersion board to see if I can get both pedals into the PC (old style board not fully populated).  If that works I'll probably try to matrix all the switches in and give up on the Nytric board since I don't know how to read the inputs.

The Nytric board should be simple for a USB HID programmer but I'm more of a hardware guy now.

mowerman

landesmd

  • Trade Count: (0)
  • Jr. Member
  • **
  • Offline Offline
  • Posts: 4
  • I want to build my own arcade controls!
Re: Nytric USB Global VR I/O Board
« Reply #6 on: June 22, 2017, 04:36:51 pm »
Still trying to figure this out, found a plethora of information here: http://janaxelson.com/hidpage.htm

  
 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31