Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interaction with real N64 peripherals. #100

Closed
richard42 opened this issue Aug 14, 2015 · 11 comments
Closed

Interaction with real N64 peripherals. #100

richard42 opened this issue Aug 14, 2015 · 11 comments

Comments

@richard42
Copy link
Member

Originally reported on Google Code with ID 100

Basically it would be a great benefit to compatibility if we could use an 
adaptoid (or other computer->N64 controller adaptor) to link a real N64 
controller to the emulator. This would allow for sharing game data via 
controller pack with a real N64, using a real N64 rumble pack, transfer 
pack, or voice pack. 

Reported by sknauert@wesleyan.edu on 2008-05-28 07:20:42

@richard42
Copy link
Member Author

Reported by sknauert@wesleyan.edu on 2008-05-28 07:21:06

  • Labels added: Type-Enhancement, Priority-Low
  • Labels removed: Type-Defect, Priority-Medium

@richard42
Copy link
Member Author

I don't know whether the adaptoid supports the voice pak (and I honestly highly doubt
it), but for the other peripherals, all the adaptoid does is redirect the data it
gets via the usbport straight to the controller (and the other way as well, I guess).
So this would "only" require the emulator (or its input plugin) to send the data to
the adaptoid.

The SDK (2 code examples and a really tiny documentation) can be fetched from
http://www.adaptoid.com/download.html.

Reported by shinydoofy on 2008-05-30 11:34:35

@richard42
Copy link
Member Author

From looking at the mupen code I believe Blight's input plugin redirects mempack 
and raw controller requests to the core which only interacts with a file. This is 
at least one place we'd need to enhance to get this feature. Since our Windows port

can't properly support N-rage (which does work with an adaptoid), I'm not sure 
whether our issue is also core related.

Also, I'm not sure about the status of the adaptoid Linux driver support. From this

post http://www.emutalk.net/archive/index.php/t-12428.html I know it works, but I 
don't think we have feature parity with Windows, i.e. we may be using a basic HID 
joystick driver which can't handle the N64 pack data. 

Finally, I heard that on Project64 with N-rage, Hey you, Pikachu works an adaptoid

and voice pack.

I wish I had an adaptoid to test, but mine has been on back order for weeks.

Reported by sknauert@wesleyan.edu on 2008-05-30 18:46:21

@richard42
Copy link
Member Author

I have an adaptoid to test with, on MacOS.

Reported by smuckola on 2008-08-01 11:59:29

@richard42
Copy link
Member Author

Yes, we are still stuck with HID drivers -- Wish does not appear to have published 
any information about the Adaptoid's protocol, so it would either need to be dragged

out of Wish or found by reverse-engineering the DirectInput drivers ...

If the circuit involved less components, I might suggest using soreau's modified 
gamecon driver (for Linux) if all you want is rumble (it connects via the parport 
and needs two 4006s per controller, in addition to several types of discrete 
components)

Reported by naesten on 2008-11-20 18:19:01

@richard42
Copy link
Member Author

Just a note, there is open source DirectInput code in Nrage. It uses 
lpDirectInputDevice->Escape() to send the raw data and has all the Adaptoid 
driver-level commands. Maybe this information can help someone.

My understanding of this command (which may be wrong) is that it sends the 
instruction to the windows driver layer which then does the actual HID packet 
translation, making this layer much less useful for adding adaptoid support.

While I'm all for using soreau's device if possible, I don't know how to do the 
lower level raw interaction to extend it. Also, once we have some idea of how to 
make a device driver which can accept the software API, a USB device would be much

preferred since fewer and fewer new machines have parallel ports (and besides the 
oddball 720, no USB to parallel adapter can do raw parallel).

Does someone know how one does similar actions in Linux? SDL doesn't seem to have a

send raw command and I don't know enough about the new linux 2.6.16 input API for 
this. What we really need is someone who is more of a kernel / input subsystem 
expert.

Reported by sknauert@wesleyan.edu on 2008-11-21 04:28:53

@richard42
Copy link
Member Author

Here is a usbsnoop (http://benoit.papillault.free.fr/usbsnoop/) log file where I, 
among other things, transferred several Tony Hawk saves from the controller pak to
my 
computer.

Reported by naesten on 2008-11-30 02:07:37


- _Attachment: [usbsnoop.log](https://storage.googleapis.com/google-code-attachments/mupen64plus/issue-100/comment-7/usbsnoop.log)_

@richard42
Copy link
Member Author

Issue 214 has been merged into this issue.

Reported by richard42g on 2010-01-12 18:12:00

@richard42
Copy link
Member Author

Issue 247 has been merged into this issue.

Reported by richard42g on 2010-01-12 22:12:01

@fraser125
Copy link

I have the Adaptoid and have struggled now that OS's are 64-bit and the drivers were only 32-bit. There is another option now. Raphnet N64-USB Adapter. I personally just verified it supports the RandNET keyboard. There is even a Mupen64Plus driver available, does this mean this issue is resolved?

@richard42
Copy link
Member Author

yes, I think we now have the requested functionality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants