P.S. I also have USB Hub support in the works. This will allow multiple devices connected to the MSX USB cartridge.
Great efforts S0urceror!
But more devices could sometimes mean a maximal due to them needing power, how would you safeguard this situation?
But more devices could sometimes mean a maximal due to them needing power, how would you safeguard this situation?
powered USB hubs, of course
If you use a powered hub all your devices will have enough power. Powered hub's are kind of the standard these days.
The poor MSX USB cartridge does not support more than 500mA so a powered hub is a must for this to work.
MSX USB now supports Ethernet!
My MSX USB Unapi driver now also has a companion Ethernet Unapi compatible driver. And since it fully supports the Ethernet Unapi protocol you can now run InterNestor Lite (INL) TCP stack on top it. See here for a video of it in action.
I will polish it further in the next couple of days and make another video soon running on a real MSX.
Source-code as always on my Github.
continued amazement here
An Hub Usb on Msx it's a great solution for implément lot of expansions.
Your progress is a pleasure
Great work!
About the schematics, why there is two 74ls32 chips, when one would be enough? And only schematics is there, no pcb layouts?
About midi and sound (could be separated things like midi keyboard vs audio interface) there is a common point and (I hope) easy to integrate in your standard called Class Compliant Devices
It's usual default win/mac/iOS integrated drivers but I suppose most of the devices are based on similar families of chips or the driver collects the most common. Usually these mean some restrictions like 44khz 16bits in audio realm and speed transmission on midi realm.
It's like HID but for musicians AFAIUnderstand. I hope this could be useful for further development even I (as a musician) am still figuring what to use an MSX as center piece of my set but I have some chats about this lately with @fubukumaru and I will love to see something like this happen for all the MSX afficionados
Great job @S0urceror !
Hi Dubbylabby,
Thanks for sharing this. The Audio definition is probably taking too much bandwidth for our dear MSX. But the Midi definition is probably doable. I don't have a Midi USB device (yet) so I can't develop a driver for it now.
After completing the USB Host driver, USB HID Keyboard and lately the USB Ethernet driver (all UNAPI compatible) I am first focusing on doing USB Hub first. This way we can connect not just one but multiple devices behind a powered USB hub! Including MIDI when we get around that.
But if anyone in the meantime wants to develop a MIDI driver that would be great
Check out the HID Keyboard code, connect via UNAPI to the USB Host driver, and start responding to the specific MIDI control, interrupt and bulk endpoints.
Cheers...
BTW, I got around squashing some crazy bugs in my USB Ethernet driver.
I used a temporary buffer at A000h in page 2. But with large packets either InterNestor Lite or the Ethernet client program (TELNET, HGET, HUB) where overwriting my buffer.
By moving now to another location B800h this behaviour disappeared and the driver is now rock solid and fast. Checked everything into GitHub for everyone who is interested.
Cool to have my old MSX on the Internet via a 20 euro USB Ethernet adapter!
PS.
If you want to try this out as well you first need a MSX USB cartridge. You can make one yourselves with my design on GitHub but you can also try the RookieDrive of Xavirompe.