Updates on 萌SX by TNI

by syn on 28-06-2018, 00:59
Topic: Hardware
Languages:

About 2 years ago, TNI announced "萌SX", a project aimed to create a next generation MSX standard. While things seemed to have been slow or quiet after the initial post, progress was made slowly but steadily. And to honor the 35th anniversary of our beloved home computer, an update on their new MSX generation design was posted on their website.

Mainly technical information was given. For example it explains how the 萌SX (MoSX)¸ system architecture differs from the current MSX standard and the post also gives more information on the features of the 萌SX CPU, called the 萌80 (Mo-eighty).

The TNI members are curious about what the MSX scene on MRC thinks about their project, so feel free to leave any comments here or contact them on #msxdev on Rizon IRC chat.

Relevant link: 萌SX on tni.nl

Comments (24)

By meits

Scribe (6542)

meits's picture

28-06-2018, 03:32

I am genuinely curious as well. I hope the project will be finished and turned into something physical one way or another.

By ro

Scribe (4962)

ro's picture

28-06-2018, 08:32

Tho curious indeed, I'm not a fan of upping the old standards. I'd just leave it like it is and enjoy the cool retro factor. It's what we got in the eighties, it's what made it our beloved pets. It's what made the software we got to know so well, it is what it is. And much love for that. Upping specs is just not for me. There you have it Smile

By konamiman

Paragon (1198)

konamiman's picture

28-06-2018, 09:10

Sounds very interesting, but in its current form the project looks pretty vague and raises so many questions... is this project aimed to really build a new physical computer, or just to define specs for anyone else to try to build or emulate it? Designing and manufacturing a custom CPU is a big thing, I guess FPGA or similar technology will be used? Have you considered emulating (or at least taking some ideas from) the Z380, which is already a nice Z80 compatible 32bit CPU? What about the rest of the specs (graphics, sound, I/O, expandability)? Is there any roadmap, even if approximate? How is the project going to get $$$ for its development?

By Grauw

Ascended (10767)

Grauw's picture

28-06-2018, 09:26

What ro said applies to me as well. I’m fine with what we have, tho a turboR compatible clone in a nice case would be nice. For the same reason I can’t really get excited about MSXVR.

By konamiman

Paragon (1198)

konamiman's picture

28-06-2018, 09:39

Agreed. "New MSX standard" projects are really cool, but in practice 1) these projects are really difficult to actually materialize (they require lots of time and money), and 2) once implemented they would have a small user base, so who would bother to develop any game or app using the new features?

IMHO, being realistic we could really benefit from a "new" MSX machine that:

- Is a MSX2+ or Turbo-R with an "infinite" MHz Z80 CPU
- Has 4 slots, 4MB RAM, SD card slot and WiFi (add USB too if you want)
- Allows us to rewrite all its ROMs (and to easily go back to factory default, of course)
- Externally looks and feels like an MSX

That said, I'll be very happy if I see the 萌SX and/or the MSXVR projects succeed, of course. Smile

By Grauw

Ascended (10767)

Grauw's picture

28-06-2018, 10:07

Ditto. And it’s nice to read about regardless.

By wolf_

Ambassador_ (10109)

wolf_'s picture

28-06-2018, 10:19

I think most people would already be happy with a classic MSX with a few nags removed. My nags would be:

  • 50/60 Hz - this is soooo annoying in a musical context, and that equalizing-trick doesn't work in all situations
  • volume balance between PSG/FM and PSG/SCC (and probably other chips as well though they usually aren't combined)
  • a co-CPU to playback music during disk-access, even a stupid C64 can do that

Slightly lower on the wishlist:

  • a better way to update the whole VRAM (individual pixels) at once, this currently makes the MSX a mediocre demo-system
  • better/more sprites
  • scrolling

But that's about it. More juice means more skills required for developers. E.g., let's say this new MSX could playback FMV. Fine, who's going to make that FMV for you? Spielberg? ILM? Wink

By Omega

Master (233)

Omega's picture

28-06-2018, 10:23

It may be easy to design a new architecture and put in all kind of nice features you like, but actually implementing it in hardware (which is what VHDL does) is not easy at all, especially if you want to be backwards compatible... Let's say you have a working Z80 in FPGA, you can't just replace a 16 bit register like HL with a 32 bit one, that would immediately break compatibility. So you have to define new opcodes, but the old Z80 already uses a lot of the available space .. a difficult task indeed!

By konamiman

Paragon (1198)

konamiman's picture

28-06-2018, 12:18

Quote:

you can't just replace a 16 bit register like HL with a 32 bit one, that would immediately break compatibility

The Z380 solves this in a very elegant way: registers are 32 bit, but only the lower 16 bits are accessed by default by register manipulation instructions; then there's a "Set long word mode" instruction (two actually, one to make the change permanent and another one that only acts on the following instruction) that switches the CPU to full 32 bit registers mode. Thus new software can make use of this, while old software still works. I think that as long as a "32 bit Z80" is needed, the Z380 is a nice alternative.

By Hydragon

Paladin (751)

Hydragon's picture

28-06-2018, 12:27

The TNI members aren't able to post on MRC. If you have any questions you can ask them directly on the #msxdev IRC chat.

By Pencioner

Scribe (1562)

Pencioner's picture

28-06-2018, 12:59

Anyways, if a new architecture will allow to run a virtual instance of the MSX stack so anybody could run the number of MSX machines under it and easily switch between, that would be great. Thus you could f.e. play the game, switch, do something else on other virtualized MSX, and return to playing the game after a while. Actually, speaking about lifting up standards - i don't care until the old standard is completely supported, and if it could be run in a virtual instance, say, having kind of legacy mode when you can configure 'that part of memory will go be a MSX1 machine memory at that slot and that page, that part of memory will act as the ROM of cartridge with K5 mapper' and boot up that - it would make sense to have such lift. But i doubt that we'll have a lot of new software for that lifted specs anyway - just imagine how much effort could it be, f.e., to port opensource web browser to new architecture, but at least we can run old software in more handy and efficient way.

By Louthrax

Prophet (2465)

Louthrax's picture

28-06-2018, 20:45

Here are my thoughts about that project:

  • Real VDP(s) and CPU(s) !
  • It should (of course!) be MSX software & hardware compatible.
  • Have both CRT and VGA/HDMI/whatever video outputs (I like CRTs).
  • Be opened to new hardware extensions.
  • Have modern and supported compilers (C/C++, why not Ada) for the new CPU mode(s).
  • Nice to have: those compilers and tools could run on the machine itself. That assumes a good text editor, makefiles, a decent shell or scripting language, a debugger, etc...
  • Internet/Network basics. Maybe not a full-featured Web browser, but at least FTP/network shares for dev and gaming purposes.
  • Maybe the most important: come in a nice casing, including keyboard, slots, joystick ports, etc... Something that looks like a sexy MSX machine! With some LEDs and a RESET button Smile, not only a box on which you can connect PS2 keyboard and mouse.

To make it short: it should not be like other existing projects (FPGA, emulation, Raspberry, etc...) Smile

But this looks like a huge challenge!

By erpirao

Paragon (1315)

erpirao's picture

28-06-2018, 20:45

my 2 cents:

pcb or MSX pcb factor
Actual Z80 @ 14MHZ with interchangeable bus 3-7-14, from bios (required for FPGA upgrades)
V9958 real with 128KB
Socket for v9990 with your memory
RGB output, A / V, no hdmi
4MB Ram standard
cheap fpga containing.
1.- PSG stereo
2.- PPI, slot expander and logic
with space available for updates
the FM, preferably Real, but could be integrated into the FPGA
2 Slot Standard MSX (external)
2 new 32Bits slot (like the old padial expander), one internal and one external (new slot architecture that Padial developed in its day)
1 mini slot for storage systems (associated with a fixed slot, for example 3.2 as the panasonic WX).
the internal expansion slot would be for a new specification, for example
FPGA with core Y80e or NextZ80 (improvements on the core of the z80, with optimizations), 8 or 16 MB of ram, or whatever is determined, even make a specific one for ez80 or any of the family (z180/z280/z380).
the 32bit external slot would be for specific expansions (new VDP, advanced audio or whatever is determined in the future),
and very important, a new BIOS turned to Ram from the start and as said konamiman, upgradeable

By wolf_

Ambassador_ (10109)

wolf_'s picture

28-06-2018, 21:19

Louthrax wrote:

But this looks like a huge challenge!

And here's why:

Dedicated chips (CPU, VDP) are expensive, especially in the low quantities we're talking about. Generic FPGA-chips are produced in truckloads, making them cheap while they can still act like any CPU and VDP.

Custom keyboards are expensive as well for low quantities. And then something else: Qwerty? Azerty? Classic keyboard layout? Natural layout? What if the keyboard doesn't work anymore, you want to send your whole newMSX(tm) for repairs? I'd say: horses for courses, modularity is key. Let people decide which keyboard they want.

By Louthrax

Prophet (2465)

Louthrax's picture

28-06-2018, 21:35

wolf_ wrote:
Louthrax wrote:

But this looks like a huge challenge!

And here's why:

Dedicated chips (CPU, VDP) are expensive, especially in the low quantities we're talking about. Generic FPGA-chips are produced in truckloads, making them cheap while they can still act like any CPU and VDP.

Custom keyboards are expensive as well for low quantities. And then something else: Qwerty? Azerty? Classic keyboard layout? Natural layout? What if the keyboard doesn't work anymore, you want to send your whole newMSX(tm) for repairs? I'd say: horses for courses, modularity is key. Let people decide which keyboard they want.

Yeah, I know, that is 100% true, but still... I would not be so interested in buying another FPGA box with an external PC keyboard.

By syn

Prophet (2123)

syn's picture

29-06-2018, 01:12

Creating actual hardware devices is not the primary goal of this project.

The idea is to create a new standard in the form of an FPGA implementation/firmware that anyone with a capable board can flash onto their device.

I've talked to Guyver800 about this project often (obviously), and the main problem atm is that hardware builders that make for example zemmix clones are all using a rather limited FPGA (with regards to space/logic elements) instead of using a bigger one.

So for now he is trying to make it fit inside existing ESE3 (OneChipMSX) or Zemmix clones. This may come with sacrifices like no FM or SCC (things that most users have in HW form, and SCC is not part of msx standard anyway) or perhaps make some flashable FPGA cartridge like Carnivore2 a requirement.

This is also an open request to hardware builders: Please make bigger 1CM/Zemmix clones! Big smile

Also I don't really understand why ppl don't like FPGA in general. Basically this is like any "real" chip but "rewritable". I could say FPGA is a rewritable CD and the actual ic/chips are pressed CD's from factory. Like said by others, of course it would be nice to have all the chips made by a factory but that is very expensive and for something relatively small like a msx i doubt this is financially speaking a good choice Wink

I think the aversion towards FPGA comes from the not-perfect implementation of the OneChipMSX? or is it the "rewritable" part?

wolf_ wrote:

Custom keyboards are expensive as well for low quantities. And then something else: Qwerty? Azerty? Classic keyboard layout? Natural layout? What if the keyboard doesn't work anymore, you want to send your whole newMSX(tm) for repairs? I'd say: horses for courses, modularity is key. Let people decide which keyboard they want.

This is a problem the guys behind the vrobit/msxvr also had. Afaik they opted for a mechanical keyboard (rather expensive, its about 50-100 euros depending on amount of keys and brand) but its flexible, customizable, and they can be easily repaired.

By jepmsx

Master (253)

jepmsx's picture

29-06-2018, 09:30

Thinking about the next generation it's always a good task. Thanks TNI for the effort.

My opinion is similar to Konamiman, there is not enough user base for the new hardware.

I think that the new standard should try to keep the compatibility with the old one but try to catch new users. My idea would be something like arduino. Open, you can add new accessories and you can learn while tinkering with it.

Nowadays computers allow you to develop basic games with small knowledge. Why new programmers should learn the peculiarities of MSX? They can develop their ideas of games on those languages. This is why I think about the success of Arduino: cheap, open and tinkering.

By Pac

Scribe (7007)

Pac's picture

01-07-2018, 12:35

Projects like this always deserve a recognition. The time, effort and resources invested are high, thank you for your dedication. Anyway I would prefer something less ambitious, same happen with MSXVR. Today we can hardly see big MSX productions so imagine with a new machine with lot of new hardware features and power.

For example I personally I like a lot the recently posted Kimo-hachi project. Yes, it's basically a true MSX but this is what makes me feel attracted. You can add a lot of power, new ICs but if it doesn't smell MSX, I lose interest like a normal PC running a emulator. And what would smell MSX to me? Mainly try to keep same architecture with the same family ICs inside if posible of course, I mean not emulating. Yes it sounds stupid but as Konamiman suggested, Z380 is also there so why make things complex with a new CPU?

Don't forget that the MSX spirit (and other old computer platforms) consists of achieving great software with low hardware specs. So I think we don't need a powerful machine, just a bit...

By iamweasel2

Paladin (713)

iamweasel2's picture

01-07-2018, 06:46

syn wrote:

I think the aversion towards FPGA comes from the not-perfect implementation of the OneChipMSX? or is it the "rewritable" part?

From my point of view I believe this is right. Problem with FPGA is that we don't have the actual design documents used to build the original VDP, PSG, FM etc. If we had, we could build exact replicas of them using FPGA. But instead what we have is built using people's knowledge about how those chips behave, and the fpga is as good as our knowledge about those ICs. Maybe someday that will change...

Anyway, if TNI's idea it to release his new MSX as a VHDL implementation that everyone will be able to build using FPGA it is a good thing. The fact that it will be possible (even without FM and SCC) to be used in the OCM / Zemmix is also great. I wouldn't mind about the fact that FPGA in those machines is small. There are already fpga based machines with bigger fpga than the original OCM being sold. So it is up to the user to decide to use a better machine with a bigger fpga in order to have a complete implementation.

By erpirao

Paragon (1315)

erpirao's picture

01-07-2018, 10:56

the truth is that the FPGA have been a good solution, but with the price increase that has been lately, I think it is not worth a system "all FPGA"
as data, and without doing an exhaustive search:
Z80 @ 20 mhz:
z80@20, 0.80€
vdp v9958:
v9958, 8€
fm: Ym2413
ym2413, 0.78€

By FiXato

Scribe (1742)

FiXato's picture

09-07-2018, 01:50

As for keyboards, while (permanently?) out of stock, this PS/2 keyboard always reminds me of an MSX keyboard, probably due to its colours. ;)

By NYYRIKKI

Enlighted (6067)

NYYRIKKI's picture

26-07-2018, 11:52

wolf_ wrote:

I think most people would already be happy with a classic MSX with a few nags removed. My nags would be:

  • 50/60 Hz - this is soooo annoying in a musical context, and that equalizing-trick doesn't work in all situations

I hope you understand that this is not a technical problem... Or actually it is, but it was solved already in MSX-AUDIO long before we even had things like MSX-MUSIC... We also had alternative solutions around even in 1983. Problem is that we don't want to make device capable of solving the problem (like MSX-AUDIO, RS-232, MIDI or such) *mandatory*, but *optional*... and this brings us right back to where we are now. No matter how many times the problem is solved we always *select* 50/60Hz problem instead to guarantee maximum compatibility.

... and practically this is exactly what is wrong in this or any other "MSX3" attempt. You may introduce all kind of new bells and whistles like ie. 3D graphics acceleration or VR glasses to MSX if you want, but it has no practical value... Why? Because we are not here surrounded by this limited hardware because we have to or because we don't know about better... We are here in this situation because we have *selected* to be here.

By Wolverine_nl

Paragon (1160)

Wolverine_nl's picture

26-07-2018, 12:38

Level is getting philosophical NYYRIKKI Wink

In my opinion, a MSX3 would be welcome if it is a straight through the middle solution, MSX shouldn't be about re-creating another PC/Mac level computer. It should be the standard that is was and some more useful solutions to old problems. Bringing in really new stuff would also bring new problems, but an MSX3 with optional Hz and internal HD with a ethernet solution, would be welcome in my eyes Cool So it still gives me the nostalgia, but also makes jumps to new options that trigger interest

By Grauw

Ascended (10767)

Grauw's picture

26-07-2018, 14:27

MSX-AUDIO has a timer which the music replayer can be hooked on in order to get frequency-independent music, and the OPL4 and SFG-05 do too (notably PSG, OPLL and SCC do not). Also on MSX2 you can generate a frequency-independent 300 Hz timer using line interrupts with relative ease.

That does not make the problem with 50/60Hz disappear though, because in many types of games you have a fixed frame budget (smooth scrolling ones in particular), and if you allow the music player to kick in at arbitrary moments it can endanger the performance and cause frame drops.

That’s why even if you were to compose a game’s music for those chips with a timer, you would probably still choose to stick the music replayer on the VDP interrupt handler. Then to equalise the playback speed, the easiest solution is to either skip the music player every 6th interrupt (50Hz music on 60 Hz) or to call it twice every 5th interrupt (60 Hz music on 50 Hz). Does introduce a slight shuffle, but imo it’s more acceptable than big differences in playback speed.