If you get something similar to Nowind, it will be great.
I got one of the last ones that came out.
Since then I do my tests on real hardware, without needing to record my MFR micro SD.
Indeed, this would be great!
The USB keyboard could be used in games with SofaROM. SofaROM patches calls to SNSMAT to inject joysticks buttons as keys, same could be done for USB keyboards (and USB joysticks / joypads) I guess.
Yes, this is possible. My current driver is called after CHGET and inserts the corresponding character in the character buffer. This makes it compatible with MSX BASIC and DOS. Games and other applications that scan the keyboard matrix directly won't work (as of now).
But "the CH376s board will be visible on port 10h and 11h on the MSX" - that may not be very good idea. Those ports are used by the "second AY-3-8910 PSG", as in MFR, Carnivore II and GR8NET.
Oops, didn't realise that. I look for an alternative port in a next release.
I'd like to use switched IO but I think that would complicate my simple discrete design quite a lot. Let's see when I move out of prototype stage:
Nice! Are you bringing some boards to the fair to show ?
I'll be showing my vDisk virtual disk (hw v2) cartridge.
Yes, I'll bring my prototype board/cartridge to the fair. Like to see your vDisk cartridge as well.
Do you know of any reference design/schematic for this?
Do you know of any reference design/schematic for this?
Thanks!
I wonder, is the MSX I/O address space really restricted to 0 - 0FFh? I experimented with my machine(s) and addresses above that (like 100h) did work as expected.
Did you mean to use the upper bits of Z80 I/O addressing like the Sinclair Zeddies?
Yes.
I don't know any reason why the upper addresses wouldn't work. The address bus is 16 bits regardless if the operation is memory or I/O. At least in the MSX models I know.
Of course the existing hardware still limits the address space, e.g. you can't use port 1098h because 98h is used by VDP, and the hardware probably ignores the high bits. But if port 80h is unoccupied (like it is in most machines) then in that case, the whole range of 180h ... 0FF80h would be available.
I wonder, is the MSX I/O address space really restricted to 0 - 0FFh? I experimented with my machine(s) and addresses above that (like 100h) did work as expected.
Did you mean to use the upper bits of Z80 I/O addressing like the Sinclair Zeddies?
Yes.
I don't know any reason why the upper addresses wouldn't work. The address bus is 16 bits regardless if the operation is memory or I/O. At least in the MSX models I know.
Of course the existing hardware still limits the address space, e.g. you can't use port 1098h because 98h is used by VDP, and the hardware probably ignores the high bits. But if port 80h is unoccupied (like it is in most machines) then in that case, the whole range of 180h ... 0FF80h would be available.
The switched I/O ports documentation in the MSX Datapack even recommends manufacturers to use the 16-bit I/O addressing space to expand the number of switched I/O ports from 15 to 15×256 if needed, before allocating a new device / manufacturer ID with them. They foresaw that even though switched I/O expands the address space significantly, it is also limited.
In the switched I/O space you can safely use 16-bit I/O if you need more than 15 ports. Although from a Z80 point of view, it is less than ideal since with many I/O operations you can not control the MSB. E.g. OTIR
/ OUT (n),A
, really only OUT (C),A
is useful (acts like OUT (BC),A
). And since we’re not even close to running out of switched I/O device IDs, I don’t think there is much reason to use that.
Also worth considering is the alternative to I/O ports which is memory-mapped I/O. Combined with a ROM with an ID string detection is also easy, and it has the benefit that there will never be I/O conflicts, and you can also have multiple devices present without issue. The ROM can contain convenient utilities and BIOS and BASIC extensions. The downside is that slot switching is necessary to access the device. Many MSX extensions use this model (like SCC, SFG, FM-PAC, Sunrise IDE, etc.).
We got a bit off track with the port discussions. (will address this in a later release) ;-)
I am very interested to hear from you:
- Which USB Device would you love to have working on MSX? And why?
- Are you interested in the actual hardware? Is it worth building a couple for the community?
Let me know.
USB mouse/keyboard, joystick (hello dualshock), storage, wifi dongle