Direct USB support in WinUAE?
Been meaning to post this for ages :)
Toni - how feasible/interesting do you think it would be for direct USB support via an emulated Deneb (or similar)? I'm thinking the way something like VMWare works where it disconnects the device from the host OS and passes it on to the client? Deneb support would in theory work for both 3.x and 4.x no? Then we could potentially use usb gamepads, tablets, MIDI devices, flash drives etc. (assuming the drivers are available). I've got no shortage of things to test :D |
Same problem as with virtual host network card. Find working, stable, license compatible, signed Windows driver that does it and has good enough documentation.
|
First thing I found that looks viable: http://libusb.info/ LGPL? (Sorry, not open-source license savvy).
|
Ok, so that is already solved problem. Maybe. Next bigger problem: USB is extremely uninteresting for me.
-> Not going to happen for free and without full specs of Amiga USB hardware. |
Quote:
*Edit* here's some basic info: http://amiga.resource.cx/exp/deneb (Zorro III) There's also the Highway: http://amiga.resource.cx/exp/highway (Zorro II, non-FPGA) |
I am not going to do any reverse-engineering whatsoever for as boring (and totally useless for me) thing as USB.
I require FULL specs and support from manufacturer. Or someone else need to volunteer to do the reversing stuff. As usual it also needs to be "all OS" supported. |
I'm speaking to the hardware developer at the moment - he's happy to help and has the full specs available for you but it depends on getting the permission of the Poseidon software developer - more news if/when I have it :)
Deneb is Zorro II/III with 3.x/4.x support and would also work with AROS 68k if they recompile the AROS Poseidon port for 68k (Olaf is looking into it). |
Don't bother Toni with usb on Windows :)
The better thing to do is to use a pass thru via an external dll and libusb (or libusbX) directly. Like that: http://aminet.net/package/driver/other/anaiis_hostusb of course it *works* (with a lot of limitations) with ANAIIS, not Poseidon. The only use is gamepad with return force in amiga games. SJA_RumbleSetSlowMotor, SJA_RumbleSetFastMotor and SJA_RumbleOff tags of lowlevel.library extensions. |
I never said USB hardware emulation won't happen. I only said it is extremely boring and useless for me but it most likely WILL happen someday. (Just like PPC happened many, many years after I said something else..)
It is the only way to be "all OS" compatible, including NetBSD, Linux etc.. It is the correct way from emulation point of view, not necessarily the most optimal way :) |
Quote:
btw, you (I don't mean OP only) should have already learned that NO answer from me only means "NO! at this moment, it is not necessarily 'NO!' many months or year(s) later.." or something like that... |
well, poseidon actually logs the usb devices and information about them (i dont remember to what extent), as far as they become viisible on usb port. poseidon is included in aros rom/usb and builds for 68k afair. i have a deneb laying around i have not used for some time, busy with other stuff, but i could put it back in the machine to test, whether with aros or aos, as soon as i get back to berlin.
|
Quote:
|
Why not just ... http://usbip.sourceforge.net - use for example a raspberry pi as USB host controller from any networked Amiga.
|
3.4 is out, now is the best time to find Amiga USB hardware specs before I lose too much interest :)
There was some talk about Deneb specs in early 2016 but not much happened. (DMA capability makes this optimal choice for emulation) |
I just took a quick look in the AROS tree for what all is included from Poseidon and its a bit of a downer.
The only host drivers included are for PCI attached *HCI controllers. Not terribly interesting. (I assume that all real Amiga hardware host drivers were contributed and thus didn't fall under Chris Hodges' ownership) There is a virtual usb driver (didn't read through it, my coffee break is only that long) which might make a interesting starting point but that would also require writing a new Poseidon host class 'fun'. So someone will have to write the owner of a USB Poseidon host class and ask for GPL'd code, good luck :-) |
This has "nothing" to do with drivers or Poseidon. Hardware emulation = existing drivers work.
|
Well yes/no....... if there were a host driver (for say, the algor) with some readable code and heavens forbid some hardware documentation in the tree it would definitely make life easier then not having any hardware docs.
Edit: i assume your idea is to write a good-enough emulation of a preexisting real-Amiga USB controller. Edit2: People keep yelling 'but there is AROS code!' so i wanted to know what all was actually included. |
Quote:
|
That essentially only leaves the E3B Highway and Subway which are supported by Poseidon and ANAIIS, NetBSD/Linux don't support native USB hardware anyway.
Of those the Highway would be preferable as Subway isn't autoconfig hardware. |
What exactly does different controllers support? Information availability seems to be not that good..
I'd still prefer DMA capability because it will make data transfers "instant" in emulation, PIO only wastes CPU time, both emulated and emulator's CPU time. (USB hardware level speed capability is mostly irrelevant) |
All times are GMT +2. The time now is 00:08. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.