M$ Sidewinder 3D Pro on USB

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

Moderators: Krom, Grendel

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 »

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 »

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 »

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 »

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 »

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 »

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 »

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 »

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 »

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 »

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 »

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 »

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 »

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 »

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

Post by CDN_Merlin »

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: 8099
Joined: Wed Nov 13, 2002 3:01 am

Post by Top Gun »

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 »

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 »

USB Game Port Adapter

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

Post by Top Gun »

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 »

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 »

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 »

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 »

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 »

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: 4926
Joined: Sat Oct 09, 1999 2:01 am
Location: Moorhead, MN

Post by Avder »

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 »

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 »

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 »

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 »

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 »

Not yet -- was out for a few days, will check tomorrow what's going on..
elliotm
DBB Ace
DBB Ace
Posts: 22
Joined: Tue Jun 28, 2005 11:33 am

Post by elliotm »

one for myself, as well!
i'll play in advance, if it helps.
i've ordered a 3dpro off ebay for this very purpose!

funny thing is now the 3dpro costs less than the adapter.

but for performance, i've done more. ;D
User avatar
Top Gun
DBB Master
DBB Master
Posts: 8099
Joined: Wed Nov 13, 2002 3:01 am

Post by Top Gun »

I don't know if you've thought about this yet, but how would you want to be paid for the adapter? I'm only asking since neither I nor my family has a PayPal account, and I'd have to talk to my parents about setting one up if that was your preferred mode of payment. It shouldn't be too much trouble, but I was curious if you had given the matter any thought, so that if a PayPal account is necessary, I could set one up before I leave for school.
User avatar
Ferno
DBB Commie Anarchist Thug
DBB Commie Anarchist Thug
Posts: 15162
Joined: Fri Nov 20, 1998 3:01 am

Post by Ferno »

I'll pick up a unit. payment will be via paypal.
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 »

Paypal would be most easy. As emergency alternative a check would work, but it would be a hassle for me (have to physically deliver it to the bank, wait til it clears..) -- slower too.

Munk sent me the files he created for his layout (thanks again man ! :)) so I switched programs (again..) -- hopefully I'll get that finished over the weekend and order boards next week. The missing 10 mega8's are on their way, should be here on Fri.

I'm probably going to commit the DigiKey order for the rest of the parts tomorrow or Fri so I'll have the stuff at hand when the boards arrive.
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 »

While the layout (finally :)) takes shape, I'm thinking of extending the software a bit. SuperSheep changed the response curve of his home made 2.4 from linear to parabolic, ie. around the center the stick is less sensitive (allows you to aim better). I haven't written code yet but I could do the same thing w/in the coverter, even make it switchable (on/off using the mode switch on the 3DP). I may give it a try and check how that works w/ the 3DP.
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 »

Quick update: I was too busy driving to/from the vet all last week for working on the project, sorry (facing a $750 bill too :(). Back to work soon :)
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 »

Still a bit on the backburner since I had some unexpected expenses + heavy work load. I'll try to get the layout to the manufactor during the comming week.
User avatar
Sergeant Thorne
DBB Material Defender
DBB Material Defender
Posts: 4641
Joined: Sun Nov 25, 2001 3:01 am
Location: Indiana, U.S.A.

Post by Sergeant Thorne »

Keep us posted. :) I would be willing to pay in advance, if it would help. I could also make you up a small database-driven website to store and display pre-order information, if more people would be willing to do this.
Unix
DBB Admiral
DBB Admiral
Posts: 1367
Joined: Fri Aug 20, 1999 2:01 am
Location: Omaha, Nebraska
Contact:

Post by Unix »

I'll prepay.
User avatar
Avder
DBB Material Defender
DBB Material Defender
Posts: 4926
Joined: Sat Oct 09, 1999 2:01 am
Location: Moorhead, MN

Post by Avder »

Any news on this?
Post Reply