The following specific chipsets and drivers are also available - use Prefs/Trident to confirm Vendor and Product IDs - Please let us know any mistakes or any information to be added to this General Chat list AROS-Exec or here AROS World USB transfers can be of the type control, isochronous, interrupt, or bulk. Isochronous code is already in place in poseidon.library, transfers are just not queued to be transferred in the host driver code. There seems to be 2 types of isoc transfers that can be used by Poseidon. One is just the normal isoc transfer and the other is realtime implementation of isoc transfer. Don't know for sure what the difference is. Setting up the isoc transfer pipe might differ on those two and the driver code might be different. For isoc transfer there needs to be a scheduler that makes sure no isoc transfers are dropped and that they happen at the right time. It all goes difficult as the device making use of the isoc transfer may be at any point on the device tree. One needs to calculate the USB bandwidth etc. and base the scheduler on that and other factors. Poseidon controls the driver and device tree and it provides an API to communicate with the USB devices. Poseidon really doesn't care much about what sort of transfer pipe is opened or used, it only provides the means to do so and forwards the iorequests to the correct driver. Poseidon code is the higher level code for USB communication and drivers are of course the lower level one. Best Hardware - NEC Chipset (OHCI + EHCI), Intel Chipset (UHCI + EHCI), Next Best Set - OHCI, SIS (OHCI + EHCI), Buggy Chipset - Early AMD OHCI, ALi OHCI, VIA UHCI, Unsupported - XHCI USB3.0, USB3.1 and 3.1 gen 2 Type-A Type-B Type-C OHCI USB 1.1 USB-IF sanctioned standard and removed 2010 in hardware form UHCI USB 1.1 Intel standard and since 2009, no hardware support only virtual (P55 chipset) EHCI USB 2.0 The USB-IF insisted on only one implementation of EHCI but creates 4 virtual hcd to cover USB1.1 support. The virtual HCD on Intel and VIA EHCI controllers are UHCI. All other vendors use virtual OHCI controllers. Hardware EHCI USB2.0 ended in most chipsets in 2014/5 and is now virtual through USB3.0 standard xHCI eXtensible USB 3.0 SuperSpeed SS (Speed 5Gbit/s 3.1 gen 1) USB 3.1 (power up to 100W and data 10Gbit/s USB 3.2 gen 2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible) USB 3.2 (power up to 100W and data 20Gbit/s gen 2x2 - USB-A Full size plug - USB-B micro USB size - USB-C reversible) USB 4 (power up to W ) Cherry MX Blue have tactile feedback with a click (noisy); good for typing. Cherry MX Brown are in between Blue and Red in style and tactile; Cherry MX Clear switches have soft tactile feedback (with no click). Cherry MX Black are linear switches (no feedback); good for gaming. Cherry MX Red are linear (less noise no click) but more squishy; if the USB mouse is non-functional put a USB pendrive in before or add the following to user-startup in s drawer/folder/directory sys:prefs/trident NOGUI > NIL: Controlling the joypads works like left joystick is WASD and right joystick is your mouse. You also have 2 bumpers above the triggers. Shoot could be right trigger (so it doesn't involve taking your thumb off the right joystick). Face buttons for reloading or jump or other non-critical functions. Crank up the sensitivity and practice. Testing can be done with the TRIDENT Prefs or here 2018 extension added originally called AROSx #ifndef AROSX_LIBRARY_H #define AROSX_LIBRARY_H #include  #define AROSX_CONTROLLER_TYPE_UNKNOWN 0x00 #define AROSX_CONTROLLER_TYPE_GAMEPAD 0x01 #define AROSX_GAMEPAD_DPAD_UP 0x0001 #define AROSX_GAMEPAD_DPAD_DOWN 0x0002 #define AROSX_GAMEPAD_DPAD_LEFT 0x0004 #define AROSX_GAMEPAD_DPAD_RIGHT 0x0008 #define AROSX_GAMEPAD_START 0x0010 #define AROSX_GAMEPAD_BACK 0x0020 #define AROSX_GAMEPAD_LEFT_THUMB 0x0040 #define AROSX_GAMEPAD_RIGHT_THUMB 0x0080 #define AROSX_GAMEPAD_LEFT_SHOULDER 0x0100 #define AROSX_GAMEPAD_RIGHT_SHOULDER 0x0200 #define AROSX_GAMEPAD_A 0x1000 #define AROSX_GAMEPAD_B 0x2000 #define AROSX_GAMEPAD_X 0x4000 #define AROSX_GAMEPAD_Y 0x8000 struct AROSX_GAMEPAD { ULONG Timestamp; UWORD Buttons; UBYTE LeftTrigger; UBYTE RightTrigger; WORD ThumbLX; WORD ThumbLY; WORD ThumbRX; WORD ThumbRY; }; #define AROSX_EHMB_CONNECT 0x00 #define AROSX_EHMB_DISCONNECT 0x01 #define AROSX_EHMF_CONNECT (1L< Devices -> Select your joypad -> Settings button -> Action TAB See some "axis" listed under "Usage items" in the top right of the window. They are your analog stick(s) Check [x] Track Incoming Events which is half way down the window on the left And you should see some axis activity in "Usage items" when you move the analog stick Actions HID class item -> Settings -> HID Class Window -> Action Tab -> Action handling area Reports and collections -> Usage Items -> Performed actions Qualifier keys are *special*. You don't only need to create the actual keypress but also modify the qualifiers. Go to the keyboard panel and find the windows menu key by enabling key tracking and pressing the windows menu key. Then assign the right amiga key to it. Go to the actions panel and find the right amiga key (it's called "Keyboard right GUI"). Remember the actions stored there, best write them down in exact order. Then delete them. Find the windows menu item and add the missing qualifier action. Be sure the parameters are exactly the same and the order is right. Set them to Raw, then assign an up and down button for each character, etc. when you change the settings to RAW so you can assign keyboard strokes. it will always say, KEYDOWN or what ever on the left, it never provides and option for key release. The problem still remains though that if I try to assign the Directional Pad (Hat) to Arrow Keys, that things will get screwed up and you either can not move with the directional PAD (HAT), or movements are assigned to the Left Analog, and do not work as they should, it's as if the right and down arrow keys are ALWAYS On, regardless of the fact that I did indeed assign a Key release command to each input. check that by pressing analog directions and see the current values, and the thresholds configured in poseidon to bind them to left/right/up/down. misconfigured too much stuff in the HID settings, you can always go in poseidon->config list entry and delete the config item related to your device (or the HID class setting itself), back to basics. Rumble in Trident Prefs Open Trident Prefs and click on the Devices option in the left hand window. Click with the mouse once on your gamepad choice on the right hand side and again on the Settings button below. In the new window, select the General TAB and half way down on the right there is an "Open Now" button in the section "HID output control window". Clicking on that button opens another window (HID Control) with sliders for the two rumble engines inside the controllers and you can test if they work. Sometimes clicking that button does nothing, other times it will open the window and say nothing is detected. The leftmost two sliders do nothing, the third one has a large rumble effect, and the fourth one has a small rumble effect. Most adapters will work in most OS's without installing a driver. Special functions needing drivers will be noted. If using an adapters should be compatible with original PlayStation PS/Xbox Xbox/GameCube GC /Dreamcast DC/Sega Saturn SS gamepads. Some adapters do not work with some dance pads because of voltage issues. Other adapters map the dancemat arrows as axes and not as buttons, causing problems. Metal dance pads with LEDs - My My Box Blue Shark (Nexen), Cobalt Flux (CF) (Let's Groove), Red Octane Afterburner, TX-2000, Logic3 (Dance Dance Dance), Gamerose (Stay Cool), Hard foam mat - Mayflash FutureMax Deluxe 3 in 1 Ignition, Gamerose (Stay Cool), TrinPad orange, Soft foam mat - Logic3 (PS420N), Positive Gaming Impact, Gamerose Miss Daisys Naki (Stay Cool), Pelican, MadCatz The primary axes are either the Control Pad or the left stick. Buttons come in a rough order: face buttons, then shoulder buttons, then Select and Start, then buttons under sticks, and finally Control Pad directions if not assigned to a hat. But the order and number of buttons within a category are unpredictable, as is which button the user expects to use for each action. There is a standard in HID for tablets possibly mouse type. If the tablet is HID conforming in that sense, it should work. Aiptek does a fairly good job at this. The other competitor, Wacom, didn't pay too much attention to this and simply adapted their legacy serial protocol into HID in a very awkward way. Older Wacom tablets have worked with the special support in the HID class, but not the more recent ones. We may have to look at linux wacom for wacom, and some waltop and Digimend for Key, UC-Logic and some waltop to provide information for further newer tablet chipset support. to use graphic tablets fully, applications need to be written that make use of the AmigaOS NewTablet events Tablet has a squared lines of wires which induce a current into the pen which is then detected by the metal grid in the tablet pad. Tablets report pressure (and tilt on expensive models) and are absolute pointing devices (put the pen at the top left and the mouse pointer will go to the top left of the screen). Graphic drawing area, what keys, report rate, resolution lpi lpmm, accuracy, pressure levels (may come from the app), origin position, Wacom tablets use electromagnetic resonance technology. Since the tablet provides power to the pen through resonant inductive coupling, no power is required for the pointing device. As a result, no batteries are inside the pen (or the accompanying puck), making them lighter and slimmer. Under the tablet's surface (or LCD in the case of the Cintiq) is a printed circuit board with a grid of multiple send/receive coils and a magnetic reflector attached behind the grid. In send mode, the tablet generates a close-coupled electromagnetic field (also known as a B-field) at a frequency of 531 kHz. This close-coupled field stimulates oscillation in the pen's coil/capacitor (LC) circuit when brought into range of the B-field. Any excess resonant electromagnetic energy is reflected back to the tablet. In receive mode, the energy of the resonant circuit’s oscillations in the pen is detected by the tablet's grid. This information is analyzed by the computer to determine the pen's position, by interpolation and Fourier analysis of the signal intensity. In addition, the pen communicates information such as pen tip pressure, side-switch status, tip vs. eraser orientation and ID number (to differentiate between different pens, mice, etc.). For example, applying more or less pressure to the tip of the pen changes the value of the pen's timing circuit capacitor. This signal change can be communicated in an analog or digital method. An analog implementation modulates the phase angle of the resonant frequency, while a digital method is communicated to a modulator that distributes the information digitally. The tablet forwards this and other relevant tool information in packets, up to 200 times per second, to the computer. If you disable (delete all of them except for one that needs to be set to "no action", so that it will not be regenerated as default) the Extra Startup actions, the tablet should remain in relative mouse mode—you will not get pressure information in that mode though. [2]}} Entry level - A6 (6x4) work area Medium A5 (6x8) A4 (10x7) size (recommended but only a few ie years 2000 to 2003 models supported) Semi Pro A3 (12x9) Pro Cintiq 2005/6 Some support added for Wacom tablets 2008 Wacom's patent on battery free pens expires Types of Barcode UPC-A Grocery most common Code 128 EAN-13 Library Books ISBN & ISSN, Code 39 Codabar blood bank, 2D barcodes such as Data Matrix PDF417e Maxicode Aztec QR Code old Nokia handsets, MicroPDF417 As for TV tuners, that's quite a mess, but it mostly depends on v4l on Linux, anyway, so it should work, in theory (might need esotheric options, though). DVB-T Vendor & Model, Added to, Kernel, Frontend, Bridge, Interface 8VSB, QAM, NTS, and Othor ATI/AMD,TV Wonder HD 600 USB,2.6.27, * XC3028L tuner, * LG DT3303 demodulator (D) , Empia EM2883 ✔ Yes ✘ No ✔ Yes * S-Video & Composite inputs (breakout dongle) AVerMedia AVerTVHD Volar (A868R) 2.6.27 [1] * MXL5003S tuner,* LG DT3303 demodulator ,Cypress FX2LP (CY7C68013A) ✔ Yes ✘ No ✘ No DViCO FusionHDTV5 USB Gold - FusionHDTV5 USB Master 2.6.16 LG Innotek TDVS-H064F * TAU6034 tuner, * TDA9887 demodulator (A), * LG DT3303 demodulator (D) Cypress FX2LP (CY7C68013A) ✔ Yes ✔ Yes ✘ No1 - * S-Video & Composite inputs 1 DViCO - FusionHDTV7 USB 2.6.26 * XC5000 tuner, * AuvitekAU8522 demodulator (A/D) , Auvitek AU0828 ✔ Yes ✔ Yes ✘ No1 * S-Video & Composite inputs 1 (breakout dongle) Elgato EyeTV Hybrid US 2.6.26 * XC3028 tuner, * LG DT3303 demodulator (D) , Empia EM2883 ✔ Yes ✘ No ✔ Yes * S-Video & Composite inputs (breakout dongle) EVGA inDtube n/a * XC3028L tuner, * S5H1409 (D) , Empia EM2882 ✔ Yes ✘ No ✔ Yes * S-Video & Composite inputs (breakout dongle) Hauppauge WinTV-HVR-950 2.6.26 * XC3028 tuner, * LG DT3303 demodulator (D) , Empia EM2883 ✔ Yes ✘ No ✔ Yes * S-Video & Composite inputs (breakout dongle) Hauppauge WinTV-HVR-950Q 2.6.26 * XC5000 tuner, * Auvitek AU8522 demodulator (A/D) , Auvitek AU0828 ✔ Yes ✔ Yes ✔ Yes * S-Video & Composite inputs (breakout dongle) Hauppauge WinTV-HVR-850 (model 72301, 2040:7240) 2.6.26 * XC5000 tuner, * Auvitek AU8522 demodulator (A/D) , Auvitek AU0828 ✔ Yes ✔ Yes ✔ Yes * S-Video & Composite inputs (breakout dongle) Hauppauge WinTV-HVR-850 (2040:651f) in Hg [2] * XC3028 tuner, * LG DT3303 demodulator (D) , Empia EM2883 ✔ Yes ✘ No ✔ Yes * S-Video & Composite inputs (breakout dongle) Hauppauge WinTV-HVR-1950 2.6.26 * TDA18271 tuner, * TDA8295 demodulator (A), * S5H1411 demodulator (D) , Cypress FX2LP (CY7C68013A) ✔ Yes ✔ Yes ✔ Yes * S-Video & Composite inputs * hardware analog mpeg2 encoder OnAir/Sasem USB HDTV 2.6.26 * FCV1236D tuner, * LG DT3302 demodulator (D) , Cypress FX2LP (CY7C68013A) ✔ Yes ✔ Yes ✔ Yes * S-Video & Composite inputs * hardware analog mpeg2 encoder OnAir USB HDTV Creator 2.6.26 LG Innotek TDVS-H064F * TAU6034 tuner, * TDA9887 demodulator (A), * LG DT3303 demodulator (D) , Cypress FX2LP (CY7C68013A) ✔ Yes ✔ Yes ✔ Yes * S-Video & Composite inputs * hardware analog mpeg2 encoder Pinnacle PCTV HD Stick (801eSE) 2.6.28 * XC5000 tuner, * Samsung S5H1411 (D) , Dibcom DIB0700 ✔ Yes ✔ Yes ✘ No1 Pinnacle PCTV HD Pro Stick (800e) 2.6.27 * XC3028 tuner, * LG DT3303 demodulator (D) , Empia EM2883 ✔ Yes ✘ No ✔ Yes * S-Video & Composite inputs (breakout dongle) Pinnacle PCTV HD Pro Stick (801e) 2.6.28 * XC5000 tuner, * Samsung S5H1411 (D) , Dibcom DIB0700 ✔ Yes ✔ Yes ✘ No1 * S-Video & Composite inputs 1 (breakout dongle) DVB-T2 HD ready ATSC-T ISDB-T Support for OpenStreetMaps but not for Ordnance Survey, Map Pilot or National Geographic's Topo maps data gdb, Data output supported nmea 0183 V1.5 APA, V1.5 XTE and V2.1 GSA formats, gpx, kml/kmz, tracks from tcx files, geo: URIs, NMEA0183(which is RS232, voltages range from -15 volts to 15 volts, 4800 baud), or need NMEA sentences connected to your computer other method that some units support is a special serial cable that actually emits raw RS232 NMEA. These usually take 10->30 volts input, can run the unit, and have full voltage I/O for RS232 (not like spanner mode, which effectively turns the unit into a USB->Serial adapter inside the case). Equivalent apps - merkator, mapsource, Lens Mounts Canon EF EF-S Nikon F Panasonic Olympus OM Pentax DA, FA, F, A, M, and K series Fujifilm X mount Sensors APS-C S35 Full Frame 43 Four Thirds M43 MFT Micro four thirds As the only printer driver that AROS supports natively is Postscript, our focus is on applications that generally output postscript formatted data for printing purposes and since the general Joe Public finds postcript capable printer very expensive, postscript interpreters (eg ghostscript) have been developed aas a cheaper option which sit in between postscript data streams and non postscript (HP PCL?) printers. Set up Printer Prefs for Postscript and set the print to file option. Ghostscript has internal printer drivers gs -h and with something like gs -sDEVICE=stcolor -r300 -sOutputFile=RAM:tempfile gs813:examples/tiger.ps copytopar ram:tempfile It checks if in RAM: exists a outputfile (Cinnamon can export to PS postscript) then it sends this via copytopar to the printer. There was only support for parport (parallel) but Terminillis added support for USB and ethernet. A big issue with using ghostscript for drivers is that data has to originate as postscript (.PS) file. gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=ljet4 -sOutputFile=RAM:tempfile RAM:file.pdf the ljet4 output device generates PCL also the pxlmono driver, which generates more generic PXL (PCL 6) gs -q -sstdout=%stderr -sDEVICE=pswrite -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER testpage-a4.ps > test.pdf gs -q -sstdout=%stderr -sDEVICE=pxlmono -sOutputFile=- -dBATCH -dNOPAUSE -dPARANOIDSAFER test.pdf > test.pxl Printers supported by ghostscript...Explanation here or here and here bit cljet5 ljet4d pjxl300 pxlcolor bitcmyk cljet5c ljetplus pkm pxlmono bitrgb deskjet nullpage pkmraw stp bj10e djet500 pbm pksm tiff12nc bj200 epswrite pbmraw pksmraw tiff24nc bjc600 faxg3 pcx16 png16 tiffcrle bjc800 faxg32d pcx24b png16m tiffg3 bmp16 faxg4 pcx256 png256 tiffg32d bmp16m ijs pcxcmyk pnggray tiffg4 bmp256 jpeg pcxgray pngmono tifflzw bmp32b jpeggray pcxmono pnm tiffpack bmpgray laserjet pdfwrite pnmraw uniprint bmpmono lj5gray pgm ppm x11 bmpsep1 lj5mono pgmraw ppmraw x11alpha bmpsep8 ljet2p pgnm psgray x11cmyk cdeskjet ljet3 pgnmraw psmono x11gray2 cdj550 ljet3d pj psrgb x11gray4 cdjcolor ljet4 pjxl pswrite x11mono cdjmono See here for compatibility with TP7 (TurboPrint 7) Last update 2004. Not tested under emulation. Janus-UAE, Emumiga. OS3.x support via NetPrinter and OS4 drivers and experiences. usbparallel.device untested with USB->Centronics - The printer.class is rather 'clever'. It remembers to which unit the printers were connected (until you reboot). So if you first plug in Printer1, it gets unit 0, and Printer2 gets unit 1. If you now remove both printers and replug Printer2, it still will get unit 1 and not 0. This is used not to confuse the programs using the different units (moreover, if some program uses the usbparallel.device unit of an USB printer, and the printer is unplugged, the device unit cannot be freed immediately as the application still keeps it open). Sticking to the same units is generally a good idea I think (and therefore this mechanism is also used with all other classes creating exec.devices). You may not send a short packet (packet less than maxpktsize == 64) nor zero byte packets until the very last byte of your printout. Otherwise the printer will silently ignore the data you sent. Some printer drivers print very short sequences that never fill the endpoint buffer, so printer ignore them. Bufferize all printer driver writes in the ieee1284.device and send them by epsize packets. So my hppsc2210 works fine with a classic HP560C driver, on a classic A2000 subwayized :) Paper 4CC () 5 Star (Spicers) Berga Speed (Stora Enso) Canon Clairefontaine Color Copy () Conqueror (Antalis) Data Copy Logic 300 (M-Real Corporation) Discovery () Double A () Elite Image () EP4 () Evolve () Hammermill () HP Image Business, Impact and Volume () Initiative (Integra) Motif (Robert Horne) Navigator (Navigator Office Paper Solutions) Paperone () Sparco () Xerox (Xerox) Betascan Bugtracker and Search for Betascan [4] and AROS-Exec thread. Epson2 with Betascan gt68xx - SCANdal with Betascan Lexmark - needs testing HP - no driver Plustek LM983x - no driver SnapScan - no driver 2002 playstation 2 usb lan era - best support 2006 wii asix era - some support but very much miss than hit 2009 little or no support USB1.1 Up to 010 meg broadband (1.25MBytes/s) - ADM8511, DM9601 best supported time USB2.0 Up to 400 meg broadband (60MBytes/s) - MCS7830, AX88172, AX88772, AX88178 a little but not much USB3.0 Over 400 meg broadband (60+MBytes/s) - AX88179 no support ADMtek ADM8511 Pegasus II (USB 1.1 and 10Mbit/s - Sony PlayStation 2 network adapter) Davicom DM9601 eth (USB 1.1 and up to 10Mbit/s) MosChip MCS7830 (USB 2) Asix Eth 88172 88772(wii) 88772A 88178 (USB2 and up to 60meg broadband) 2002 some support for early revisions of PL2303 2005 Prolific PL2303H PL-2303X and Pl-2303HX (same usb ids as pl2303) no support serialpl2303.class make sure you specify serialpl2303.device FTDI-FT232RL.class Currently support includes camdusbmidi.class follows the rules of the 68k implementation of Commodore's CAMD midi specification and usb class compliant simplemidi.class for Tracker keymapping emulation which should work without modification for interfaces - cables or boxes which convert usb to 5pin DIN plug midi controllers - keyboards, drum machines, djay turntables, etc either with just usb type B, old style 5pin DIN socket or both Preemptible, low latency and accuracy are essential for good communication. SimpleMidi maps some keyboard keys to corresponding computer keys as used by music trackers to emulate musical keyboard. USB enabled controllers do not require hardware interfaces to be used by AROS and its' apps but AROS still needs implementing the code for a camd.library USB driver. The response to the MIDI implementation in Poseidon has been very low. Only a few users have ever had the hardware to try it. There was only one MIDI Keyboard, without tone generator, used to develop the classes. The camdusbmidi.class may need to be modified to the AROS CAMD MIDI system or src Sadly the same can not be said for 5 pin DIN midi USB2.0 interfaces. There was no audio 'class' for USB2 for quite some time, and as a result most of those interfaces need their own drivers, drivers which often don't exist in Linux. Some interfaces are USB2, but support USB1.1 Class Compliant operation at a lower feature set (16/48 for example). Checked hd-rec under my aros68k compile in uae and it seems to be working properly. Loaded some project, didn't even play as there is no ahi units set up yet, but it seems to accept the genuine amiga 68k camd.library. There is 2 different versions of camd.library on aminet for the original m68k. camd.lha (2.0) works but camd40.lha was unstable as it crashes when pressing stop after some play of midi data. Recording of audio works in hd-rec under winuae amiga os3.9. The aros68k version of camd didn't seem currently to initialize properly, maybe some overseen endian bug. On AROS Hosted/Linux the hostmidi driver (uses "/dev/midi")) did work at least somewhat with Bars & Pipes Professional. BnP also some trouble with song loading/saving and endianess, because of this external tools which can add additional "data" but the app has no idea of the layout of that data and therefore cannot safely do necessary endianess conversions. If you want to connect external 5pin MIDI devices like keyboards to USB port(s), you'll need a hardware MIDI interface.... Cheapest MIDI controllers are less than 50 euros nowadays, but often lack legacy 5pin MIDI port (and only have USB). The MIDI hardware specification is very simple (voltage, polarity, screening, protection and a fast enough opto-isolator), it assumes that the data it sends and receives between MIDI devices is to the MIDI data standard and just passes it on. The microprocessor in the hardware does all the work. The minimum for a computer/MIDI interface is that it meets the MIDI hardware specification. It is attached to the computer bus and handles the electrical conversions required. To meet the MIDI hardware specification, to be class compliant as a USB device all it has to do is report itself properly when plugged in. The other half of the equation is the MIDI data standard, and for a computer MIDI interface the main issue is the speed of data transmission. The bus speed of the computer is faster than the speed of the MIDI standard so it can generate and send MIDI data faster than a MIDI device can receive it. The MIDI standards have nothing to say on that bottleneck at all. MIDI was designed to be very simple and very open, it just defines a standard for the messages and leaves it up to manufacturers to implement them in the way they want. That's what makes it so powerful a tool, and also what makes it so confusing and frustrating at times. There is no official way to solve the data bottleneck. Early software sequencers and librarians tried to solve it by having an option to buffer SYSEX data in software and transmit it at the MIDI data rate. The downside is that hogs the bus and can hit computer performance. Interface manufacturers would add a hardware buffer which would take all the MIDI data from the PC bus and feed it into the MIDI at the slower data rate, but that added cost and created timing issues. Things have moved on since then, but the principles remain the same. You can buffer in the hardware or in software, whether that is in the application or the interface driver. SYSEX will work perfectly well with that budget cable if your software handles the buffering. And while the cables with hardware buffers make SYSEX easier, they still have potential problems because of the limitations of the MIDI data rate. Your MIDI clock doesn't like being interrupted with a big program dump The serial / parallel ports were a direct connection, so faster. Now, everything in the computer is virtual and the only thing connected to the hardware is the kernel, hence everything is by default bottlenecked and jittery, regardless of which connection. So by the time the interface gets the information it's already too late. Possibilities for DAWs of the future including a kind of sync reference for timing reference which an interface could sync to, hence all the timings then would be locked between the grid on the DAW screen and the MIDI info. USB audio streaming over AHI requires iso and realtime isochronous transfer, still no support in pciusb.device. AHI does not support six channel playback. It only supports mono, stereo and multichannel (8 channels). Due to the multichannel mode not being used by any application so far, the usbaudio.class does not support multichannel playback, especially not "upchannelling" stereo to six or more channels. If this USB device does not support a two channel mode, you can't use it under AHI. XDA Forum thread, DACs with standard (adaptive) USB - where the computer controls the data timing. DACs plus an asynchronous USB converter module outputting S/PDIF—where the DAC controls the data timing. DACs with inbuilt async USB capability and an I2S internal feed to the DAC USB AUDIO CARDS - USB2 UCA Compliant USB Microphones USB Speakers USB Headset Wired/Wireless A USB camera has two dedicated chips: a controller or bridge and an image sensor. There is no support for video interfaces, because neither AROS, AmigaOS nor MorphOS define a standard for this. The only commercial, now discontinued application that defined some sort of standard was VHI Studio by iospirit. See support pages and here and some further compatibility Pencam STV680 SonixcamTool (Sonix webcams and derivates) Note some Sonix Webcams with a Sonix SN9C1xx controller and a pas106b or tas5110c1b sensor support bulk mode which works even with pciusb.device! pac.class - no driver for Pac207-BCA Pac7311 Pac7312 ov51x.class - no driver pwc.class - no driver ZC030X based cameras UVC.class - USB Device Class Definition for Video Devices or USB Video Class Good review but AROS needs realtime isochronous transfers, then a uvc.class usbvideo and then a video ahi type substructure to be written v4l2-ctl—list-formats-ext or fswebcam—verbose to get output modes in linux standalone with sd card - wansview, amcrest, tenvis, keekoon, foscam, needing a dvr or nvr - dlink, hikvision, foscam, trendnet, sony, axis, $ mplayer rtsp://127.0.0.1:554/sample_300kbit.mp4 vlc rtsp://user:password@ip/play1.sdp—sout=file/ogg:mystream.ogv vlc rtsp://192.168.0.21:554/mpeg4—sout=file/ts:mystream.mpg rtsp_session: unsupported RTSP server. Server type is 'DSS/5.5.4 MPlayer supports multicast streaming, and rtp/rtsp protocols (it might require live555 library to work with some streams). But you might have to build it where it's disabled. Also, multicast won't work with some AmiTCP-likes. MIAMI supported it, though. AROS supports IPv4 (old but works) and this includes the needed address space for RTP. If you mean multicast via RTP - mplayer handles it. You can even force UDP over TCP -rtsp-stream-over-tcp If the rtsp Real Time Streaming Protocol server needs authentification: -user -passwd The CDC ACM driver exposes the USB modem as a virtual serial modem or a virtual COM port to the operating system. The driver enables sending both data and AT commands, either through ACM (separating data and AT commands over different channels) or through Serial Emulation (passing the AT commands as is and as part of the data stream). The rndis class provides support for Ethernet access over Remote NDIS. Most USB based devices should be supported. palmpda.class - no pdalink.library and tools Palm PDA (discontinued) synchronisation requires a port of pdalink.library and its tools. bluetooth.class - needs Bluetooth stack to work (not included) ccid.class - Chip/Smart Card Interface Devices (not implemented) dfu.class - DFU firmware upgrade RocketTool (USB Rocket Launchers - Toy missile launchers) DRadioTool (FM Radios - USB radio devices D-Link/Gemtek) UproarTool (Valencia MPX mp3 player and others) 016 colors - rebel's and cammy's 032 colors - deluxe paint OCS palette or pal32 064 colors - 256 colors - If you want to improve the vga mode palette color on Wanderer, Scalos, etc you can use rtpalette, which is in the demo drawer. rtpalette does not load or save any changes. It just changes colors on the fly. SetPenColor does a similar thing. ;****************************************************************************** ; 16 color palette ;* Please note: when using HEX values you need to provide colors in BGR order ;* (meaning: Blue-Green-Red) _not_ RGB (endianness heritage from 68K code?) ;****************************************************************************** ;PEN 0 - RGB 153-153-153 (DEC) | BGR 99-99-99 (HEX) c:setpencolor SCREEN="Workbench" PEN=0 COLOR=$999999 >NIL: ;PEN 1 - RGB 17-17-17 (DEC) | BGR 11-11-11 (HEX) c:setpencolor SCREEN="Workbench" PEN=1 COLOR=$111111 >NIL: ;PEN 2 - RGB 238-238-238 (DEC) | BGR EE-EE-EE (HEX) c:setpencolor SCREEN="Workbench" PEN=2 COLOR=$EEEEEE >NIL: ;PEN 3 - RGB 68-68-204 (DEC) | BGR 44-44-CC (HEX) c:setpencolor SCREEN="Workbench" PEN=3 COLOR=$CC4444 >NIL: ;PEN 4 - RGB 119-119-199 (DEC) | BGR 77-77-77 (HEX) c:setpencolor SCREEN="Workbench" PEN=4 COLOR=$777777 >NIL: ;PEN 5 - RGB 187-187-187 (DEC) | BGR BB-BB-BB (HEX) c:setpencolor SCREEN="Workbench" PEN=5 COLOR=$BBBBBB >NIL: ;PEN 6 - RGB 204-170-119 (DEC) | BGR CC-AA-77 (HEX) c:setpencolor SCREEN="Workbench" PEN=6 COLOR=$77AACC >NIL: ;PEN 7 - RGB 221-102-153 (DEC) | BGR DD-66-99 (HEX) c:setpencolor SCREEN="Workbench" PEN=7 COLOR=$9966DD >NIL: ;PEN 8 - RGB 34-119-51 (DEC) | BGR 22-77-33 (HEX) c:setpencolor SCREEN="Workbench" PEN=8 COLOR=$337722 >NIL: ;PEN 9 - RGB 119-68-17 (DEC) | BGR 77-44-11 (HEX) c:setpencolor SCREEN="Workbench" PEN=9 COLOR=$114477 >NIL: ;PEN 10 - RGB 238-204-34 (DEC) | BGR EE-CC-22 (HEX) c:setpencolor SCREEN="Workbench" PEN=10 COLOR=$22CCEE >NIL: ;PEN 11 - RGB 68-68-68 (DEC) | BGR 44-44-44 (HEX) c:setpencolor SCREEN="Workbench" PEN=11 COLOR=$444444 >NIL: ;PEN 12 - RGB 187-34-51 (DEC) | BGR BB-22-33 (HEX) c:setpencolor SCREEN="Workbench" PEN=12 COLOR=$3322BB >NIL: ;PEN 13 - RGB 51-170-68 (DEC) | BGR 33-AA-44 (HEX) c:setpencolor SCREEN="Workbench" PEN=13 COLOR=$44AA33 >NIL: ;PEN 14 - RGB 68-119-238 (DEC) | BGR 44-77-EE (HEX) c:setpencolor SCREEN="Workbench" PEN=14 COLOR=$EE7744 >NIL: ;PEN 15 - RGB 204-119-51 (DEC) | BGR CC-77-33 (HEX) c:setpencolor SCREEN="Workbench" PEN=15 COLOR=$3377CC >NIL:
{'wiki_source': 'wikibooks', 'other_info': "{'content_model': 'wikitext', 'language': 'en', 'title': 'Aros/Platforms/AROS USB support', 'type': 'text'}"}