8bits4ever announces new MSX

8bits4ever announces new MSX

par hamlet on 10-08-2019, 00:24
Sujet: Hardware
Langues:

8bits4ever are pleased to announce their brand new SX-1 Mini, yet another MSX FPGA clone.
Whats special about it? Well, its cheap (cheaper than all the other MSX FPGA out there anyway).
The exact retail price is not known yet but we estimate the main unit to be around 95€ (beneath the 100€, thats for sure).

Full specs will be published soon but some of the highlights are:

  • MSX2+ Compatibility
  • SD card slot
  • RGB/VGA/Composite video OUT
  • Stereo Jack OUT
  • PS/2 Keyboard Connector
  • 1x DB9 Joystick port
  • 50 Pin Slot Expansion Connector

Units will be available at the 8bits4ever store next September.

Relevant link:
8bits4ever.net

Media browser (3)

  • 8bits4ever announces new MSX
  • 8bits4ever announces new MSX
  • 8bits4ever announces new MSX

Commentaires (33)

Par uberjack

Champion (328)

Portrait de uberjack

06-08-2019, 15:36

PS/2 Keyboard connector in this day and age? Why not just slap on 2 USB connectors for keyboard and joystick?

Par Grauw

Ascended (10820)

Portrait de Grauw

06-08-2019, 15:47

Because the OCM platform only supports PS/2 and nobody’s ever implemented USB protocol support for it (probably because the FPGA is full). The original OCM has USB ports but they are not actually functional. Maybe in the future the MSX-SM will usher in an era of bigger FPGAs so there is more room for these kind of extensions?

Par hamlet

Scribe (4106)

Portrait de hamlet

06-08-2019, 16:06

No need for that cheap USB-PS/2 converter, they are useless. You will need a active one. I bought this model, which made me happy.

Par Parn

Paladin (854)

Portrait de Parn

06-08-2019, 16:27

Is there actually any FPGA-based retro platform with USB hardware support? I'm under the impression that there isn't. But if there is, it would be great if we could build upon it.

Par jseb

Resident (34)

Portrait de jseb

06-08-2019, 19:06

What is the degree of fidelity of those FPGA things ? Of course, it depends of the implementation, but would they mimic perfectly a real MSX ?

For example, do they render VDP drawing perfectly, with the limitations of the original chip ?

Par Parn

Paladin (854)

Portrait de Parn

06-08-2019, 19:27

Nowadays FPGA reimplementations are very close to the original chips. V9958 is very close to perfection on OCM and similars. It also has a faster blitter than the original VDP which you can turn on if you wish.

Par hamlet

Scribe (4106)

Portrait de hamlet

06-08-2019, 20:56

If you consider that even an MSX engine does things the same way, then an FPGA is the right thing. It's not an emulation. And the OCM was after all the last official iteration of the standard until today.

Par syn

Prophet (2133)

Portrait de syn

06-08-2019, 23:56

nice

already have a ocm

low price of this one makes me want one though Big smile

Par zett

Hero (608)

Portrait de zett

06-08-2019, 23:44

shit. i got the normal sx-1.... i want the small one....

Par Edevaldo

Master (156)

Portrait de Edevaldo

07-08-2019, 01:18

Quote:

Because the OCM platform only supports PS/2 and nobody’s ever implemented USB protocol support for it (probably because the FPGA is full). The original OCM has USB ports but they are not actually functional. Maybe in the future the MSX-SM will usher in an era of bigger FPGAs so there is more room for these kind of extensions?

USB is quite complex to implement in hardware alone. It requires some software or a very complex state machine. It is certainly doable but it is not the simplest way of doing it. Every HID device (mouse/keyboard/joystick) sends a description that allows to interpret the contents of the data it reports. So where in the report to get the information (like mouse dx,dy) and how to interpret it, changes for every device.

I think it would probably be more effective to have a small micro-controller to handle that and report the sanitized data to the FPGA using 2-3 pins. You need some initialization and a flexible parser to interpret the reports and then send it to the FPGA only what is really needed.

PS/2 is super simple by comparison.

Par meits

Scribe (6571)

Portrait de meits

07-08-2019, 01:52

Then there's the thing that USB constantly polls for info (would require processor speed) while ps/2 does not. That's one of the reasons (if not the reason) that gamers still demand ps/2 on their mainboards as they claim they can sense the difference. Thanks to those gamers ps/2 is not completely dead yet Smile

Par Parn

Paladin (854)

Portrait de Parn

07-08-2019, 13:50

Then, for USB support, we need one of these:

  1. USB drivers for MSX (probably impossible due to processing requirements)
  2. USB support baked in the FPGA (probably impossible due to complexity and FPGA space requirements)
  3. A low-cost, low-energy updateable solution involving some microcontroller (sounds complex but doable albeit not any time soon)

So far the prospects don't seem good. I wonder if it will ever happen?

EDIT: I also wonder if it would be any simpler if only USB was supported, with no DB-9 joystick or PS/2 connectors at all.

Par iamweasel2

Paladin (722)

Portrait de iamweasel2

07-08-2019, 14:04

Hmmm, those USB - PS2 adapters, how do they work? judging by its size and cost, I doubt that it is complete solution for every device (a one size fits all solution), but assuming it does work for plugging USB keyboards to a PS2 input, wouldn't be a solution to those that wants to use USB keyboards in OCM / Zemmix /MSX SM ?

Par Grauw

Ascended (10820)

Portrait de Grauw

07-08-2019, 14:42

USB drivers for MSX are possible speed-wise I think, but it would not be compatible with software that reads the key matrix directly through the PPI.

My line of thought would be to implement a mini processor in FPGA, then run a program on that which reads USB serial data and updates the key matrix. This can minimise the amount of FPGA space needed I think, however it seems rather complex to implement, involving building both a tiny CPU as well as the software that runs on it. And since the 1chipMSX FPGA is so full, I wonder still if there’s space for that, though the PS/2 support can be removed of course. That’s why I mentioned the bigger FPGA in MSX-SM earlier, but of course it would be the awesomest if it could be done on our current 1chipMSXes.

@iamweasel2 An active USB-PS/2 adapter works by having a microcontroller inside which runs a program which translates the key events from the USB serial protocol to the PS/2 serial protocol. A passive USB-PS/2 adapter relies on the keyboard itself supporting being able to switch to a PS/2 mode (few do, nowadays).

Par Parn

Paladin (854)

Portrait de Parn

07-08-2019, 14:43

@iamweasel2
Usually those don't support any keyboard, just the ones that already "speak" PS/2 over USB. That's why you can connect such keyboards directly to one of OCM's (and similars') USB ports. You can find more details here.

EDIT:

Grauw wrote:

My line of thought would be to implement a mini processor in FPGA (minimal amount of gates), then run a program on that which reads USB serial data and updates the key matrix.

This sounds promising!

Par Grauw

Ascended (10820)

Portrait de Grauw

07-08-2019, 14:44

Par Edevaldo

Master (156)

Portrait de Edevaldo

07-08-2019, 17:15

It is certainly possible to implement an USB stack on the MSX. But it is a full time job for a Z80 to keep the usb going. The CPU has to pool every peripheral periodically send packets in the format they expect, decode the report, implement the actions. Detect peripherals that are plugged/unplugged...

In the end I think that to implement it entirely in the FPGA would be an effort of a few months. While using a micro-controller could be an effort of days to implement the micro controller part, but the FPGA would need a slight modification to ditch the PS/2 port for a slightly simpler port that would transfer mice/keyb/joystick info.

I actually have a micro evb running some some very basic software to read my keyboard and mice specifically. It is a lame hack but has all the building blocks needed. It would need just to include this more evolved parser for initialization and reading generic reports of HIDs (not to say that there may be tens of examples of that in the internet). Then adapt it to the OCM. Initially, it can even send info in PS/2 format to the OCM.

People have concerns about lag in gaming using USB. But I believe it would not be a problem in this case. The micro controller can pool the keyboard and joystick at much higher rates than a computer normally would. And if we got the FPGA to interrupt the micro some time before a VDP interrupt is generated so it can pool the peripherals and update the info just before the vdp int is actually generated there would be no lag at all.

Par ducasp

Paladin (712)

Portrait de ducasp

10-08-2019, 21:19

Grauw wrote:

Because the OCM platform only supports PS/2 and nobody’s ever implemented USB protocol support for it (probably because the FPGA is full). The original OCM has USB ports but they are not actually functional. Maybe in the future the MSX-SM will usher in an era of bigger FPGAs so there is more room for these kind of extensions?

Not likely, I've seen a few guys asking Victor Trucco about this and his answer as that USB is not doable...

While I generally do not agree it is not doable as you could do it without an external PHY for USB low speed, but then, I understand it as "not doable" as it would waste lots of cells and would not be complete (just try to browse for FPGA implementations of a FULL USB stack, generally just replay enumeration, no real logic). Leaving the USB protocol to the z80, as far as I understand, is not going to cut it... Either you will get not free CPU time for other tasks and it will be really interrupt intensive, or it is not going to be able to respond back to the device in proper time.

So, I agree with Edevaldo, if someone wanna do it, you better user a cheap micro controller that has USB host functionality built-in, and hack inside the FPGA code to scan that device... Or, like someone else told here, you can use an active USB->PS2 adapter... Or you can have something like MSX-VR where it is a Raspberry PI (or similar microcontroller) emulating everything and it already has USB keyboards on the host system that virtualizes MSX...

Par Grauw

Ascended (10820)

Portrait de Grauw

10-08-2019, 21:32

Rather than implementing a full USB stack in FPGA, I think you can implement the microcontroller in FPGA, as I suggested before Smile. But it’s a lot of work, basically means add a 2nd CPU (one with minimal footprint ideally), and then write a USB protocol implementation for it.

Par rderooy

Paladin (686)

Portrait de rderooy

11-08-2019, 10:14

Perhaps a hybrid solution like this. It already supports MSX (presumably just MSX1)
https://www.youtube.com/watch?v=e5yPbzD-W-I

Have the ARM CPU handle the external USB devices and such, and the FPGA for running the cores.

Par raymond

Hero (653)

Portrait de raymond

11-08-2019, 11:38

A new MSX, sounds good! I am very curious about the specifications. If they are nice, I probably going to buy one Big smile

Par hamlet

Scribe (4106)

Portrait de hamlet

11-08-2019, 21:24

I'm ok with a Rookie drive and a active USB-PS/2 adapter.

That's what this system is all about. Everything can be added as needed.
There will be no machine that suits everyone.

Par zett

Hero (608)

Portrait de zett

12-08-2019, 09:00

damn i need a smaler one to make a msx laptop

Par hamlet

Scribe (4106)

Portrait de hamlet

12-08-2019, 13:58

This industry is unfair. We noticed this when our brand new, expensive MSX 1986 was simply replaced by the great second generation. For less money.
As soon as you pay for the most wonderful shit at the checkout, it stinks even more from the store shelf.
I absolutely agree with 100 Euro and the size for the desk or self made projects is fantastic.
Of course you can also make up a RasPI, but the feeling is not the same.
I'd rather see a built-in cartridge slot on this model than the external solution. I'd even rather have an all-in-one solution with a built-in power supply.
But with this FPGA nothing will block a self-built MSX laptop.

Par Edevaldo

Master (156)

Portrait de Edevaldo

12-08-2019, 23:56

Quote:

Grauw wrote:
Rather than implementing a full USB stack in FPGA, I think you can implement the microcontroller in FPGA, as I suggested before Smile.

It is the same thing. Hardware or software it will cost some FPGA memory and 10-20% of the FPGA resources.

Par Edevaldo

Master (156)

Portrait de Edevaldo

12-08-2019, 23:57

Great setup, Hamlet!

Par Yngwie

Rookie (19)

Portrait de Yngwie

13-08-2019, 10:16

zett wrote:

shit. i got the normal sx-1.... i want the small one....

Willing to sell the SX-1 for a decent price? Wink

Par djh1697

Paragon (1734)

Portrait de djh1697

13-08-2019, 15:00

Grauw wrote:

USB drivers for MSX are possible speed-wise I think, but it would not be compatible with software that reads the key matrix directly through the PPI.

I thought that you had to go through BIOS to read the keyboard matrix? Correctly written software would use the BIOS routine rather than directly accessing the PPI, I remember in the early days of MSX a Microsoft spokesman said in a UK MSX magazine that you should use the BIOS to access the keyboard, if it was replaced by an infrared keyboard then a serial interface would replace the PPI in this case, and your software would not work, however, if the infrared keyboard was used the BIOS routine would be modified, no need to alter your software if you used the correct BIOS routine.

https://github.com/Konamiman/MSX2-Technical-Handbook/blob/master/md/Chapter5a.md#3-keyboard-interface

Par DarkSchneider

Paragon (1030)

Portrait de DarkSchneider

13-08-2019, 21:30

Grauw wrote:

Because the OCM platform only supports PS/2 and nobody’s ever implemented USB protocol support for it (probably because the FPGA is full). The original OCM has USB ports but they are not actually functional. Maybe in the future the MSX-SM will usher in an era of bigger FPGAs so there is more room for these kind of extensions?

On the Mist version of the core it uses USB keyboard. But not sure if there is room in the OCM FPGA to add it.

Par Edevaldo

Master (156)

Portrait de Edevaldo

14-08-2019, 20:45

Quote:

DarkSchneider wrote:
On the Mist version of the core it uses USB keyboard. But not sure if there is room in the OCM FPGA to add it.

The mist board actually has a MAX3420E SPI USB Host controller and a USB 4 port hub. I'm certainly no expert on how the MSX core is implemented, so I can be wrong. But the MAX chip is actually controlled by a AT91SAM7S256 micro-controller. I do not think the FPGA handles any of the USB interfacing.

In any case the FPGA on the Mist is about 3x bigger than the one on the OCM.

There any many MCUs today that include an USB otg port, so this would be a little simpler than the solution on the Mist. The SAM part on the mist can only handle USB device side, not host. One thing that could be done for the OCM is to have the USB MCU + Hub in a separate board that connects to the pins allocated for the USB interface...

Par zett

Hero (608)

Portrait de zett

15-08-2019, 10:33

Yngwie wrote:
zett wrote:

shit. i got the normal sx-1.... i want the small one....

Willing to sell the SX-1 for a decent price? Wink

hmmmmmm

Par Grauw

Ascended (10820)

Portrait de Grauw

15-08-2019, 11:54

djh1697 wrote:

I thought that you had to go through BIOS to read the keyboard matrix? Correctly written software would use the BIOS routine rather than directly accessing the PPI

That’s the theory. In practice, not having a working keyboard in a bunch of games is not really acceptable for the end user.

Par SkalTura

Champion (404)

Portrait de SkalTura

19-08-2019, 12:36

zett wrote:

shit. i got the normal sx-1.... i want the small one....

Then buy the small one, and sell me the normal one for a good price ? ;-)