TheGuyThatSleepsTooMuch / mupen64plus

Automatically exported from code.google.com/p/mupen64plus
0 stars 0 forks source link

Interaction with real N64 peripherals. #100

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
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. 

Original issue reported on code.google.com by sknau...@wesleyan.edu on 28 May 2008 at 7:20

GoogleCodeExporter commented 8 years ago

Original comment by sknau...@wesleyan.edu on 28 May 2008 at 7:21

GoogleCodeExporter commented 8 years ago
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.

Original comment by shinydo...@gmail.com on 30 May 2008 at 11:34

GoogleCodeExporter commented 8 years ago
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.

Original comment by sknau...@wesleyan.edu on 30 May 2008 at 6:46

GoogleCodeExporter commented 8 years ago
I have an adaptoid to test with, on MacOS.

Original comment by smuck...@gmail.com on 1 Aug 2008 at 11:59

GoogleCodeExporter commented 8 years ago
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)

Original comment by naesten on 20 Nov 2008 at 6:19

GoogleCodeExporter commented 8 years ago
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.

Original comment by sknau...@wesleyan.edu on 21 Nov 2008 at 4:28

GoogleCodeExporter commented 8 years ago
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.

Original comment by naesten on 30 Nov 2008 at 2:07

Attachments:

GoogleCodeExporter commented 8 years ago
Issue 214 has been merged into this issue.

Original comment by richard...@gmail.com on 12 Jan 2010 at 6:12

GoogleCodeExporter commented 8 years ago
Issue 247 has been merged into this issue.

Original comment by richard...@gmail.com on 12 Jan 2010 at 10:12