M$ Sidewinder 3D Pro on USB

For system help, all hardware / software topics NOTE: use Coders Corner for all coders topics.

Moderators: Krom, Grendel

Post Reply
User avatar
Deadmeat
DBB Captain
DBB Captain
Posts: 631
Joined: Tue Jun 12, 2001 2:01 am
Location: Davis, Ca, USA
Contact:

Post by Deadmeat » Mon Jun 27, 2005 4:22 pm

Way ta go, Gren. I'm in for one. Will let me get rid of the SBLive card I have to run because my mobo doesn't have a gameport connector.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Wed Jun 29, 2005 1:20 am

FYI, the device does not require any driver software on the PC. It behaves as a HID device of the type Joystick -- natively supported by 98SE, 2000 & XP (and probably linux and Macs). Plug & Play :)

Still working on the schematic/layout..
User avatar
Sergeant Thorne
DBB Material Defender
DBB Material Defender
Posts: 4627
Joined: Sun Nov 25, 2001 3:01 am
Location: Indiana, U.S.A.

Post by Sergeant Thorne » Wed Jun 29, 2005 9:43 am

You might even think about marketing this outside of D3. Old controller... upgrade to new computer with no gameport... "whatever will I do?!"... ;) Seriously.

I realize it is probably a rare need, but a rare need among as many computer users as there are in the U.S. alone could still be worth looking into.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Wed Jun 29, 2005 11:32 am

True, esp. if I'd make it work for some older Logitech sticks (Interceptor, CyberMan 2.) But then it's a one man enthusiast project, not a product -- I simply don't have the resources to make it one. Even on this scale it's a lot of work (heck, I'm struggling w/ the layout already :)) and I'd like to keep the follow-up work at a minimum. I'm glad to help out and try to fix things if they break, but I don't want someone to sue me because I couldn't make it work in a particular case (if it would be a product: product liability..)
User avatar
SuperSheep
DBB Benefactor
DBB Benefactor
Posts: 935
Joined: Sun Jun 03, 2001 2:01 am
Location: Illinois

Post by SuperSheep » Wed Jun 29, 2005 12:11 pm

I don't think product liability would be to big a concern in this case, and if you're really worried just stick one of those "WE ARE NOT LIABLE FOR..." in the readme.

Send me the schematic and I can use my layout software if you'd like.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Wed Jun 29, 2005 4:58 pm

Thx for the offer Sheep -- DipTrace didn't work out for me so I'll recapture the schematic later on w/ DXP 2004 (our EE here gave me the 5min tour :)). Will report back tomorrow..
User avatar
Fusion
DBB Ace
DBB Ace
Posts: 379
Joined: Sun Sep 07, 2003 2:01 am
Location: Valdez System, Underverse; 7 Stars, Azeroth

Post by Fusion » Wed Jun 29, 2005 9:06 pm

Grendel wrote:FYI, the device does not require any driver software on the PC. It behaves as a HID device of the type Joystick -- natively supported by 98SE, 2000 & XP (and probably linux and Macs). Plug & Play :)

Still working on the schematic/layout..
Gren, would that include the Mac ADB(Apple Desktop Bus) port? If yes, I might get my FireBird back. :D :) But that would require replacing the PC gameport connector w/a ADB one...Don't know if you can still get them...

Fus
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Wed Jun 29, 2005 10:02 pm

Nope, it's strictly a 3D Pro gameport-to-USB converter. I was assuming Mac's nowadays have USB ports and heed the HID specifications like real computers.. ;) IIRC the 3D Pro came in a ADB version, may be still one or two around somewhere..
User avatar
Fusion
DBB Ace
DBB Ace
Posts: 379
Joined: Sun Sep 07, 2003 2:01 am
Location: Valdez System, Underverse; 7 Stars, Azeroth

Post by Fusion » Thu Jun 30, 2005 12:17 am

Grendel wrote: IIRC the 3D Pro came in a ADB version, may be still one or two around somewhere..
Seen them at work now and then.(Goodwill) Find the PC platform sticks more often than the Mac version, both the 3D Pro and the non 3D Pro.(Although I don't think I ever saw a non Pro ver for Mac) At one point, had like 3 or more of them. :lol:

Fus
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Thu Jun 30, 2005 9:57 pm

I'm almost finished w/ the schematic -- can't get the USB B connector footprint into Protel tho. That software is a pain in the neck.. Will talk to the EE tomorrow..

So far it looks like this.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Fri Jul 01, 2005 6:01 pm

Updated the schematic, had a nice idea for hassle-free init and automatic restarts :) Our ME took on the task for creating a PCB layout -- probably saw me struggeling w/ Protel DXP :) Gives me some time over the weekend to fine-tune the software a bit.

Edit: BTW, here's a picture of the 2nd proto in \"action\" :) The board will be designed to fit into this case.
User avatar
Perediablo
DBB Ace
DBB Ace
Posts: 90
Joined: Sun Oct 31, 2004 10:49 am
Location: Fort Worth, TX
Contact:

Post by Perediablo » Sat Jul 02, 2005 2:46 am

Can't get any of the pic links to work..no biggie. I don't care what they look like, I'll take 2.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Sat Jul 02, 2005 3:32 am

It's a server run by friends in germany, should be back soon (monday latest..) :)

Fine tuned the software -- now you actually can unplug the stick and the device will go off the USB bus. As soon you plug it back in it'll recover. Trying to get a handle on the disco problem of proto Mk I -- was using Mk II all night long w/o problems.. Going to do the harware mod to Mk I tomorrow so it can go back into the computer for further investigation..
User avatar
Fusion
DBB Ace
DBB Ace
Posts: 379
Joined: Sun Sep 07, 2003 2:01 am
Location: Valdez System, Underverse; 7 Stars, Azeroth

Post by Fusion » Sat Jul 02, 2005 3:57 pm

Grendel wrote:BTW, here's a
picture
of the 2nd proto in "action"
Will the final version gonna have that gamport connector sticking out like that or is gonna be flush w/the outside of the case?

Fus
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Sat Jul 02, 2005 9:04 pm

Up to you -- I'll only provide the board. It'll have two options for the gamport connector -- the header and the possibility to put a DSUB15 directly onto it, you can see it in the schematic.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Sun Jul 10, 2005 12:09 am

Small update:

Ever since my first post in this thread I'm using the converter in game, mainly the 1st prototype (since I installed it into this comp). The main problem I had are "disconnects" -- happens when the 3DP suddenly decides to switch back into analog mode and the converter tries in vein to get some data (remember, digital mode means the 3DP uses the button lines as a serial interface). W/ the change in the schematic the converter will recover from this by disconnecting from the USB line, wait 500ms and reboot (starts over the 3DP/USB initialization). In game that means approx. 1.5s w/ no control.. Since my resources are limited I tried various things, some helped, some made it worse. That way I dropped disco's to about 1 per 1hr game time -- not acceptable, so I rewrote the part querying the 3DP to make sure it will not be queried if a transmission is going on (will cause the 3DP sending a long ID packet. Another query while that's happening will switch it into analog mode..) and relaxed some timeout timings.

That seemed to have dropped the disco's to about 1 per 3hr intensive gaming -- so far I think that's acceptable. I'll test a bit further and probably try some more things, esp. using the 2nd prototype (better resistance against electonic noise).

Meanwhile, a friend of mine is working on a board layout. It'll be a 2 layer board w/ the top layer being the ground plane (to armor it against noise, also the layout becomes a lot easier.) He's doing it in his free time so please be patient :)
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Wed Jul 13, 2005 4:53 pm

I think the discos are under control -- no problems the last three days but due to the lack of pilots I haven't tried it very excessively yet.. If it still goes analog it's most likely a quirk w/ the 3D Pro -- evtl. caused by polling it 100-125 times a second :) (I would be surprised if the XP/2k driver polls it more than 20 times a second..)

No news on the layout yet, but I started looking into parts again. Current plan is to build a 1st series of 13 units (actually 15 -- I need two tho), this should be enought to get at least one unit to everyone who posted interest here. I squeezed the parts cost down by $5 giving me a bit more leeway in board costs.

More soon.
User avatar
Diedel
D2X Master
D2X Master
Posts: 5278
Joined: Thu Nov 05, 1998 12:01 pm
Contact:

Post by Diedel » Thu Jul 14, 2005 6:13 am

I'd like to have two units, too. I would ofc pay full P&P to Germany.
User avatar
Genghis
DBB Newbie
DBB Newbie
Posts: 1377
Joined: Fri Feb 12, 1999 3:01 am
Location: Ithaca, NY, USA

Post by Genghis » Thu Jul 14, 2005 6:27 am

Could you put me down for six (yes, 6) units? If you like, I can send you a check ahead of time to help offset your startup costs.

Oh, and if I hadn't said it before:

Grendel, this is tremendous! Thanks for all your hard work! You are Mr. The Genius!

- Steve
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Thu Jul 14, 2005 3:22 pm

Why, thanks ! Six units -- that must be all of ROX :) (you are not planning to resell them I assume :P) Ok, so far I got 18 units reserved -- I'll better plan on building 20..

Just to let you know, I have not tested connecting more than one unit to a comp at a time. If anyone is planning to do that I need to know -- evtl. I have to program different device IDs into those.

Yesterday night I played about 1.5 hours in VV and an hour in J9 (must be one of the fastest paced levels out here) w/o any problems :) Software is now locked. Unfortunately I can't access my ftp space at the moment (QWorst changed our IP..) -- I'll upload the software ASAP so whoever is interested can take a peek.

Edit: Here you go.
Buck
DBB Captain
DBB Captain
Posts: 559
Joined: Thu Dec 03, 1998 3:01 am
Location: San Luis Obispo, Ca.,USA
Contact:

Post by Buck » Tue Jul 19, 2005 6:37 am

Wow! Great work. I'm about to but a new Dell that comes with the Audigy 2 sound card and presumably the little cable that allows you to attach the 3DPro.
I was under the impression that the 3DPro did work with WinXP from another thread. Am I missing something?
Unix
DBB Admiral
DBB Admiral
Posts: 1367
Joined: Fri Aug 20, 1999 2:01 am
Location: Omaha, Nebraska
Contact:

Post by Unix » Tue Jul 19, 2005 9:06 am

Tell me where to send the money.

I need to play D3 when I travel.

What's your paypal account?

Buck - 3dPro's do work with XP but most motherboards don't have a game port. Joysticks are pretty much USB these days.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Tue Jul 19, 2005 12:35 pm

Too early for ordering :) I'm still waiting for the layout, as soon that's done it'll be a couple days until I get boards & parts (the mega8 seems to be on backorder ATM too..) I will post more info as soon anything comes up.

Also, even if a MB has the gameport (a lot actually do -- the cable isn't included anymore tho) it's very likely that the XP/2k driver has a hard time to switch the 3DP into digital mode (if at all) due to a timing bug on high speed FSB machines.

Random notes:

It works w/o problems since my last fix. :) The USB query rate is 10ms, ie. the 3DP is polled 100 times a second (I did see 8ms on a 2k system tho -- even beter, 125 times a sec). Since the data transfer from the 3DP takes up to 1ms, the XP/2k driver would eat 10% absolute CPU power at that rate ! (Because the gameport has to be polled interrupts must be disabled during the data transmission) That's why I think the XP driver does 50Hz max -- still 5% tho. Receiving a USB packet OTOH is done in hardware, so the USB converter actually frees up valuable CPU time :) Since the data path is really short, the latency of the USB converter vs. gameport should be at least equal. The converter/3DP combo draws less then 100mA, so it's a bus powered device and well w/in the USB specs for such -- should work on any USB port.
Unix
DBB Admiral
DBB Admiral
Posts: 1367
Joined: Fri Aug 20, 1999 2:01 am
Location: Omaha, Nebraska
Contact:

Post by Unix » Tue Jul 19, 2005 2:33 pm

I'm still freakin excited about playing d3 on a laptop with a 3dpro!!
User avatar
CDN_Merlin
DBB_Master
DBB_Master
Posts: 9486
Joined: Thu Nov 05, 1998 12:01 pm
Location: Capital Of Canada

Post by CDN_Merlin » Tue Jul 19, 2005 2:42 pm

3d pro needs to be added manually in XP and then you don't get full function. The base buttons don't work and you can't press more than 1 button a a time.
User avatar
Top Gun
DBB Master
DBB Master
Posts: 7151
Joined: Wed Nov 13, 2002 3:01 am

Post by Top Gun » Tue Jul 19, 2005 2:48 pm

CDN_Merlin wrote:3d pro needs to be added manually in XP and then you don't get full function. The base buttons don't work and you can't press more than 1 button a a time.
That's not true, at least not for me. I added my 3DPro as a Microsoft Sidewinder device on my family's PC, XP auto-detected it, and it's worked perfectly ever since; all of the base buttons work, and I can press multiple buttons without a problem. If my own PC had had a gameport on its sound card, I wouldn't have been overly excited about Grendel's project, but as it is, I can't wait for it to be completed. While I love my Cyborg Evo for playing FreeSpace, it just can't beat the 3DPro for Descent. :)
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Tue Jul 26, 2005 5:16 pm

Since DigiKey is out of stock for the Mega8 I poked around the net and found another source (Hobby Engineering) -- $3.19 instead of $3.66 :) Went ahead and ordered 25. I've an order @ DigiKey for the rest of the parts ready to go, waiting for the layout.. (was promised to have it next week :))
Unix
DBB Admiral
DBB Admiral
Posts: 1367
Joined: Fri Aug 20, 1999 2:01 am
Location: Omaha, Nebraska
Contact:

Post by Unix » Fri Jul 29, 2005 4:05 pm

USB Game Port Adapter

I'm guessing something like this wouldn't work, but why?
User avatar
Top Gun
DBB Master
DBB Master
Posts: 7151
Joined: Wed Nov 13, 2002 3:01 am

Post by Top Gun » Fri Jul 29, 2005 7:58 pm

The 3D Pro does work with that adapter (I tried it myself), but unfortunately, it only works in analog mode, which means that the base buttons/8-way hat/multiple button presses may not work depending on which analog mode you're using. The only way to get the 3D Pro fully operational on a USB port is to do something like Grendel is doing.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Sat Jul 30, 2005 1:36 am

Unix wrote:USB Game Port Adapter

I'm guessing something like this wouldn't work, but why?
Let's see.. Trying to make this short.. Here's a good writeup on how the PC gameport works to get an idea what "analog mode" means.

Now, a fully featured gameport is limited to read 4 axis and 4 buttons (in a really awkward manner). To get the hat switch in there as well, CH invented a method to use the 4 button bits as a binary coded number (0-16) and assigned values to different situations -- that doesn't allow for multiple buttons pressed at the same time nor 8-way hat positions tho. Thrustmaster went a different way, they map the hat to fixed values on the 4th axis -- unfortunately only 4-way too.

M$ came up w/ a clever way of getting a boatload of info out of the stick -- they figured out that you can detect the discharge of the monostable multivibrator and so send a bit of info to the stick. This is used to switch it into "digital mode" where it uses the 4 button lines as a synchronous serial port to transfer 64 bits of data in about 700us. The strings attached: the stick needs to be switched into this mode (quite elaborate process..), the data needs to be recieved and put together plus certain timing things need to be heeded. Off course M$ isn't documenting that anywhere but their patent on the whole thing (which is sketchy at best).. It's very propriatary, hence noone ever built this converter nor a driver for a different OS until Vojtech Pavlik put a lot of work into it to reverse engineer the protocol & data format for the linux driver. :)
User avatar
Pugwash
DBB Ace
DBB Ace
Posts: 436
Joined: Mon Apr 24, 2000 2:01 am
Location: Chicago

Post by Pugwash » Sat Jul 30, 2005 10:46 pm

I got as far as "binary code". I think Ill just take Grens word for it.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Fri Aug 05, 2005 7:52 pm

Quick update: I fixed the last problem that was bugging me -- the device name in the control panel. The 3DP on USB now lists as "Microsoft SideWinder 3D Pro (USB)" as it should :)

Screeny

For those who wonder -- I took that shot on my comp at work, it has a Creative Soundblaster installed. And yes, I'm off work now :P

No layout yet, it's comming together tho. Got 15 of the 25 mega8's I ordered -- 10 are on backorder. W/ my "stash" I now have 19 ready to go into boards..
User avatar
Pugwash
DBB Ace
DBB Ace
Posts: 436
Joined: Mon Apr 24, 2000 2:01 am
Location: Chicago

Post by Pugwash » Fri Aug 05, 2005 9:23 pm

seems like there should be some company in China that will make these for you for 30c a piece. how the hell do you find em?
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Sat Aug 06, 2005 2:22 am

Well, there's a converter that probably could be modified to work w/ the 3DP -- if there would be access to its firmware (which I doubt ;)). It's the Precision Pro "dongle". Problem is that M$ stripped down the "Digital Overdrive" (offical M$ term for the protocol) -- analog mode went out the window and the data structure changed (to the worse BTW). Around '96 Mitsumi built most of the M$ hardware, my guess is that they made the 3DP and PP as well. I don't think Mitsumi still got the tools for building that thing tho -- even if they do, I doubt there's a market for it.. Oh, and it would be more expensive then 30c, that's for sure :)
User avatar
Avder
DBB Material Defender
DBB Material Defender
Posts: 4924
Joined: Sat Oct 09, 1999 2:01 am
Location: Moorhead, MN

Post by Avder » Sat Aug 06, 2005 3:22 am

I want one of these converters. I'd much rather be using my 3d pro on my newer comp than the saitek stick Ive been using.
Munk
DBB Ace
DBB Ace
Posts: 82
Joined: Tue Jan 28, 2003 3:01 am
Location: Germany

Post by Munk » Mon Aug 08, 2005 5:35 am

What is your price on that, Grendel ?

I looked at Farnell for all components, and came to 15 EUR for each device, PCB board not included. Depending on the actual number of orders (10 to 20), I came to a total price of 28 to 35 EUR (incl. shipping within europe).

If someone from europe is interested, look at
http://www.descentforum.de/forum/viewtopic.php?t=2898
User avatar
Pun
DBB DemiGod
DBB DemiGod
Posts: 2108
Joined: Fri Aug 10, 2001 2:01 am
Location: Chicago, IL USA
Contact:

Post by Pun » Mon Aug 08, 2005 8:54 am

Pugwash wrote:seems like there should be some company in China that will make these for you for 30c a piece. how the hell do you find em?
Yeah, if you order 100,000 of em.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Mon Aug 08, 2005 11:16 am

Munk wrote:I looked at Farnell for all components, and came to 15 EUR for each device, PCB board not included. Depending on the actual number of orders (10 to 20), I came to a total price of 28 to 35 EUR (incl. shipping within europe).
Sounds about right. Last time I calculated the component cost it came up w/ $13.50. I'm hoping to get the PCB done for $15.
Unix
DBB Admiral
DBB Admiral
Posts: 1367
Joined: Fri Aug 20, 1999 2:01 am
Location: Omaha, Nebraska
Contact:

Post by Unix » Tue Aug 09, 2005 5:38 am

Any news on time frame? I'm itchin' to play d3 on my laptop.
User avatar
Grendel
3d Pro Master
3d Pro Master
Posts: 4390
Joined: Mon Oct 28, 2002 3:01 am
Location: Corvallis OR, USA

Post by Grendel » Sun Aug 14, 2005 11:17 pm

Not yet -- was out for a few days, will check tomorrow what's going on..
Post Reply