MSX USB

Page 19/20
12 | 13 | 14 | 15 | 16 | 17 | 18 | | 20

By sdsnatcher73

Paragon (1656)

sdsnatcher73's picture

18-10-2020, 17:31

Guys, love these developments (as I mentioned before I a sure Wink). I was wondering how far this could go in the future (one that at least sounds great in my mind). I wonder, could we come up with e.g. OPL4 USB, GFX9000 USB? Basically re-implementing these (and other cartridges) to connect over USB to MSX USB where MSX USB would 'translate' and present the devices as their current counterparts would (notably, some I/O, memory space, etc.).

Just thinking out loud here, don't mind me if this is too crazy Wink

By lintweaker

Champion (364)

lintweaker's picture

18-10-2020, 19:07

Crazy idea Tongue
My guess would be that the poor Z80 cannot sustain the load to get things like OPL4 and VDPs working over USB. At least it would not leave enough room do do anything like games.

By S0urceror

Master (145)

S0urceror's picture

19-10-2020, 23:17

sdsnatcher73 wrote:

I wonder, could we come up with e.g. OPL4 USB, GFX9000 USB?

Through MSX USB we can communicate with every USB device that is out there. The maximum bandwidth is limited to the speed of an IN/OUT operation at 3,56Mhz. At every IN/OUT with 11 wait states, we can push 1 byte so the theoretical maximum is ~300KB/sec. That's without error-handling, usb protocol handling, interrupts and any other stuff you need to do.

The CH376s module we use supports full-speed USB 2.0 at 12Mbps so that is ~1500KB/sec.

So in terms of bandwidth with simple USB bulktransfers we can do quite a lot. Smile Another CH376s module in Device mode on the other side of the cable with an Arduino could drive the OPL4 and/or GFX9000 and we should be good. We could also do something crazy and emulate the device in another computer. oO

By popolon_

Master (152)

popolon_'s picture

11-11-2020, 20:27

Is there going to be low speed usb keyboards supported behind usb hub?

By S0urceror

Master (145)

S0urceror's picture

08-12-2020, 21:25

Sorry popolon_, I missed your question earlier.

Low speed as only device is supported. Behind hub means I have to support multi-TT mode and I haven't figured that out yet. The issue is that the rest of the devices are high speed or faster and the keyboard is the only low speed. Hubs support that via multi-TT mode.

By konamiman

Paragon (1116)

konamiman's picture

29-12-2020, 15:44

Hi S0urceror, I plan to do some USB related stuff in the coming year and I think it would be great if we could collaborate/coordinate. Is the email address in your profile still valid? (last April I sent you an email that got no reply... but that email was in turn a reply to an email that you had sent me in February, so the whole thing is totally my fault) Big smile

By JQAK10

Supporter (2)

JQAK10's picture

08-03-2021, 17:26

Amazing work S0urceror!

I've been reading this thread and the content of the github last month. So last week I decided to remodel the PCB design to try and make it more DIY-friendly which I attached here hoping this can encourage more people to build their own MSX USB boards. I just finished my layout that I had to route/check by hand because my CAD program (since I don't know how to use Kicad for the time being) is really old and doesn't translate from schematics, etc.

MSX_USB_v1.0_front & back PCB

Main differences between my design and S0urceror's are:

- Due to space constraints this layout uses the PLCC version of the flash memory instead of the PDIP one.
- All sockets and headers now lie on the same side (I had to flip the CH376S header out of necessity).
- All footprints are for through-hole parts (including capacitors).
- The board dimensions are 77,47mm(L)x73,40mm(H). I didn't use the space on the right side (front view) because I noticed that some cartridge enclosures have a screw there.
- Unfortunately, the extra 1cm in height prevents the board to completely fit inside a standard enclosure. Since the top of the cartridge has to be left open in order to access the USB port this shouldn't matter but aesthetically.
- On the other hand, this extra 1cm of the board exposes (on the back side) all the MSX interface signals used in the circuit (plus A14) which may be useful for development, testing and signal analysis, I suppose.

Anyways, I hope you find this alternative convenient. Let me know here or by e-mail what you think of it or if there is something wrong that needs to be corrected since I haven't built my own MSX USB yet. I still can't find the PLD part (and with the current exchange policy of my country it will cost me a fortune if i have to order it from abroad...D'oh!).

Suggestions are always welcome...and long live the MSX!

By S0urceror

Master (145)

S0urceror's picture

09-03-2021, 12:12

Great PCB Joaquin!

It is very nice and tidy. Much better than the routing mess I created I guess. And with the smaller memory footprint you have more space.

Please reach out to me via PM if you are still looking for the PLD. I have a couple of spares lying here. I wouldn't mind to send you one. Would be cool to see your cartridge working.

By JQAK10

Supporter (2)

JQAK10's picture

09-03-2021, 16:12

Wow S0urceror, that's really kind of you.

Thank you for your generosity and for sharing this project with the MSX community.

By S0urceror

Master (145)

S0urceror's picture

27-03-2021, 20:33

MSXUSB goes MSX MiSTer.

I have today published the first release of MSXUSB on MSX MiSTer. With this release you can enjoy MSXUSB functionality via a small extension board that is connected on USERIO. I also included a .VHD file that boots Nextor with the MSXUSB drivers included.

From within the FPGA based MSX it looks like a RookieDrive is connected. In reality this is virtual hardware plus a small extension. You only need a couple of wires and a CH376s module from eBay to get this going. I'll publish the details in a separate post.

Why is this fun?

I guess I wanted to play with FPGA's and get a fast development platform for MSXUSB. :)
Also think it might be interesting to see what KdL and friends might be able to do with this on the OneChipMSX, Zemmix or SM-X.

Page 19/20
12 | 13 | 14 | 15 | 16 | 17 | 18 | | 20