8bits4ever announces new MSX

8bits4ever announces new MSX

by hamlet on 10-08-2019, 00:24
Обсуждение: Hardware
Языки:

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

Комментарии (33)

By uberjack

Master (218)

Аватар пользователя 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?

By Grauw

Ascended (8507)

Аватар пользователя 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?

By hamlet

Scribe (2606)

Аватар пользователя 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.

By Parn

Champion (424)

Аватар пользователя 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.

By jseb

Rookie (28)

Аватар пользователя 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 ?

By Parn

Champion (424)

Аватар пользователя 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.

By hamlet

Scribe (2606)

Аватар пользователя 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.

By syn

Paragon (1920)

Аватар пользователя syn

06-08-2019, 23:56

nice

already have a ocm

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

By zett

Hero (581)

Аватар пользователя zett

06-08-2019, 23:44

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

By Edevaldo

Master (134)

Аватар пользователя 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.

By Meits

Scribe (5638)

Аватар пользователя 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

By Parn

Champion (424)

Аватар пользователя 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.

By iamweasel2

Hero (526)

Аватар пользователя 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 ?

By Grauw

Ascended (8507)

Аватар пользователя 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).

By Parn

Champion (424)

Аватар пользователя 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!

By Grauw

Ascended (8507)

Аватар пользователя Grauw

07-08-2019, 14:44

By Edevaldo

Master (134)

Аватар пользователя 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.

By ducasp

Master (163)

Аватар пользователя 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...

By Grauw

Ascended (8507)

Аватар пользователя 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.

By rderooy

Hero (582)

Аватар пользователя 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.

By raymond

Champion (394)

Аватар пользователя 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

By hamlet

Scribe (2606)

Аватар пользователя 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.

By zett

Hero (581)

Аватар пользователя zett

12-08-2019, 09:00

damn i need a smaler one to make a msx laptop

By hamlet

Scribe (2606)

Аватар пользователя 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.

By Edevaldo

Master (134)

Аватар пользователя 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.

By Edevaldo

Master (134)

Аватар пользователя Edevaldo

12-08-2019, 23:57

Great setup, Hamlet!

By Yngwie

Rookie (19)

Аватар пользователя 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

By djh1697

Paragon (1410)

Аватар пользователя 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

By DarkSchneider

Paladin (880)

Аватар пользователя 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.

By Edevaldo

Master (134)

Аватар пользователя 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...

By zett

Hero (581)

Аватар пользователя 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

By Grauw

Ascended (8507)

Аватар пользователя 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.

By SkalTura

Master (192)

Аватар пользователя 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 ? ;-)