(MS)X-Prize challenge - who's up for it? (marlon-B?)

Page 1/2
| 2

By Hydlide

Master (171)

Hydlide's picture

06-10-2010, 21:44

Okay,

triggered by the post of ivke2006 and marlon-B's response to it (http://www.msx.org/forumtopic11358p135.html ), I am (after discussing with ivke2006) proposing the following idea:

After seeing ivke2006 post www.msx.org/forumtopicl11358.html I started thinking. I am considering opening a challenge, but of course do not want to be the only one committing and donating money to it, so consider this a feasibility request. Since I am only vaguely familiar with electronics design (and legal issues of certain assumptions below), it may seem far fetched, but hey, goals can be set anyway :-) The challenge will be to create a fully functional open source platform (with use of closed source components where applicable) for hobbyists according to the following requirements:

the base should be:
eZ80 (or compatible) + FPGA like chip (for components like VDP, MSX engine, etc..)
networking possibility (not sure yet if it can be WiFi onboard, via dongle USB or physical RJ45 connector)
2 x USB
SD(HC) slot
HDMI (which will be used for audio as well)
DIMM slot for memory (standard 1GB RAM?)

The above will be the basic package, and could actually be used for every Z80 based system, not just MSX.

Then, the MSX "package" could be:
base is MSX2(or MSX2+??) - this includes audio specs, video specs and BIOS

then of course, some extras:
video modes up to 720p resolution (1280x720)
I can imagine other z80 based systems have their own "package" contents, but the base platform will be as described above

deliverables should be:
- fully working, production ready prototypes that can be used by developers to build extensions or software on. And possibly later as template for "ready to order" devices.
- documentation ( PCB layout, instructions , component list, etc) - for those that want to build it themselves
- program code for base package and extended packages (e.g. MSX, Spectrum, etc)

Questions:
- are there any experts willing to assist in further expanding/detailing the above list? Maybe specs need to change. But the intention is not to stick to the old school architecture, but to really improve on it from the core.
- for funding, I was considering to use http://kickstarter.com so we need a more detailed financial insight - of course depending on which direction this will go implementation wise. Funding means commitment!
- for delivering software for the end product (for users) we were considering using a webbased system where people can buy software and download. Something like the webshop from msx.org.
- Any other bright ideas for getting up to speed with this project?

We (ivke2006 and myself) are already willing to donate funds to get things up to speed, but it will be up to the community to get it really working, and active. We know the above is ambitious, it's not something we expect to be done in a few weeks, of course. We have some ideas, but we are not experts enough to actually make them into a product :-)

We also think that making a universal base would make the device suitable to be used for more than just MSX, many more hobbyist communities might profit from the above. But since we are MSX fans, we thought we'd propose here first. Baby steps :-)

How'bout some comments :-)

Login or register to post comments

By sd_snatcher

Prophet (3450)

sd_snatcher's picture

07-10-2010, 02:03

Unfortunately, the eZ80 can't be used to build a Z80-backward compatible machine, even meaning only software compatible. This happens because all I/O ports above 127 are blocked and reserved for internal use. Damn Zilog.

It can, off course, be used to build an entirely new machine, without backward software compatibility with any previous platform.

If you want backward compatibility, you can chose the Z280 or the Z380. The Z280 has the advantage to be fully R800 compatible.

By RetroTechie

Paragon (1563)

RetroTechie's picture

07-10-2010, 02:22

Surely I'm not the only one who'd like to see a 1chipMSX follow-up. I agree very much with the 'open source platform', however building on the eZ80 would undo that: .oO

A machine with eZ80 in it can be open design, but AFAIK the eZ80's design itself is not open - that is, eZ80 itself would be a black box. Meaning that when Zilog (or current owner of the company) stops producing eZ80's & supplies run short, you wind up in the same situation as when FPGA implementations of the Z80 didn't exist yet. With uncertainty about whether the eZ80 would be reverse engineered successfully (or in acceptable amount of time). When you want open, black boxes of any kind are a no-go.

There is no need for this: if the goal is speed, just clock your Z80 higher. And there is a 'high performance Z80' on OpenCores. I'm assuming that design would trade some FPGA space vs. execution time. So you'd need a bit more FPGA resources, which isn't an issue since I'd pick a much larger FPGA anyway: the 1chipMSX design just fits in its FPGA, and that undoes some of the reconfigurable advantage (when there's no room left for extensions). IMHO that's one of the few flaws in the 1chipMSX design: they should have gone with a bigger FPGA, if they didn't for cost reasons it was stupid since FPGA prices were (and are) dropping fast. Each year you get bigger & bigger FPGA's for same money.

If you want faster yet, there's more options:

  • pick a faster FPGA (like Xilinx Virtex family)
  • keep your Z80 slow but add a fast 2nd CPU, like a 32 bit ARM processor next to the FPGA, or some FPGA-embedded CPU
  • or perhaps try a multiple Z80 design
  • add architectural features to lower CPU load (a memory blitter, DMA-driven disk I/O etc)

Other suggestions:

  • Higher color resolution output - maybe it wouldn't be used at first, but the hardware would be ready for V9958 implementation, or even fancier graphics stuff.
  • Updated video output like HDMI would be nice, but leaving composite or plain RGB out is a mistake IMO: it would be used, therefore should be included. Perhaps Y/C instead of composite video, or component video instead of RGB. Perhaps just one of those, and DVI or HDMI beside that.
  • RAM: I'd be fine with a maxed out memory mapper (4 MB), and nothing more. A couple of times that would be easy, and nice for experiments with multiple mappers, or other uses of the device. But a SIMM/DIMM slot to add heaps of RAM? Pfff.... Tongue
  • Have multiple RAM blocks - makes the circuit a bit more complex, but gives much more flexibility to decide how to tie main RAM / video RAM timing together. Shared base clock, independent VDP / CPU clocks, etc. Or use that 2nd RAM block for future extensions.
  • Include a socket for V9938/V9958? Perhaps a step backwards, but if selectable you could have 100% compatible video, and still have FPGA implementation evolve further. Just that videochip wouldn't take that much board space or energy, and people could always leave that socket empty (ehm I mean: deliver empty, let people add videochip when they want maximum compatibility).
  • Some sort of user I/O port: just some pins with no pre-defined function (maybe 1 or 2 analog too). To be used for flashing LEDs, home automation, electronic experiments, etc, etc.
  • Almost forgot: include realtime clock. Entering date on each powerup is a PITA. Sad

As for funding: I think the main problem is not so much organization, but the small market. But a commitment-upfront scheme would be a good way to avoid having designer(s) make the full initial investment (& uncertain about recouping their money).

Any other bright ideas for getting up to speed with this project?
1 More: forget hunting down 1chipMSX case mold, or designing new box: just keep an eye out for suitable boxes used for commercial products (routers, set-top boxes, media players etc). When you spot one: make deal with manufacturer, and cut a few extra holes for the MSX use. That cuts down another chunk of the 'big initial investment needed'.

In the mean while: watch this site: www.fpgaarcade.com
Has everything except MSX cartridge slots, expected price ~200-220 Euro's, nearing completion / available.

By Hydlide

Master (171)

Hydlide's picture

07-10-2010, 08:35

Unfortunately, the eZ80 can't be used to build a Z80-backward compatible machine, even meaning only software compatible. This happens because all I/O ports above 127 are blocked and reserved for internal use. Damn Zilog.

aha.. see, that's why we need expert's input :-) I didn't consider this.
Yes, backwards compatibility is a must, but if it means putting in some sort of hardware switch, that's an option too (a bit like the TurboR did)

By Hydlide

Master (171)

Hydlide's picture

07-10-2010, 09:15

Surely I'm not the only one who'd like to see a 1chipMSX follow-up. I agree very much with the 'open source platform', however building on the eZ80 would undo that: .

Well, not so much a 1chipMSX follow up as a look into the future. To be honest, the 1chipMSX was purely for keeping the MSX alive, and too limiting to really improve (FPGA way too small for instance). What our idea was is to make a leap in performance, while keeping backwards compatibility for the corresponding platforms.

When you want open, black boxes of any kind are a no-go.

Maybe you're right. Our idea was to have a standard "black box" CPU to make it easier for users/developers. Maybe this is not the right way.


There is no need for this: if the goal is speed, just clock your Z80 higher. And there is a 'high performance Z80' on OpenCores.

Yes, I saw this. but the project hasn't been updated for more than a year now. But it could certainly be used as a basis indeed.

since I'd pick a much larger FPGA anyway: the 1chipMSX design just fits in its FPGA, and that undoes some of the reconfigurable advantage (when there's no room left for extensions). IMHO that's one of the few flaws in the 1chipMSX design: they should have gone with a bigger FPGA, if they didn't for cost reasons it was stupid since FPGA prices were (and are) dropping fast. Each year you get bigger & bigger FPGA's for same money.

exactly our thought!

If you want faster yet, there's more options:

  • pick a faster FPGA (like Xilinx Virtex family)
  • keep your Z80 slow but add a fast 2nd CPU, like a 32 bit ARM processor next to the FPGA, or some FPGA-embedded CPU
  • or perhaps try a multiple Z80 design
  • add architectural features to lower CPU load (a memory blitter, DMA-driven disk I/O etc)

The first would be our obvious choice.
Second option is valid too.
Third is getting too nerdy. We'd like this platform to be for hobbyists, but maybe, when developed through, for educational purposes too.
The last option is what has been going on for years now. Adding slews of addons to the old MSX computers. We don't think this is the way to go. It makes everything more complex, more expensive and there are no developers for it. If MSX is a small market, MSX plus these extensions is an even smaller market.

[*] Higher color resolution output - maybe it wouldn't be used at first, but the hardware would be ready for V9958 implementation, or even fancier graphics stuff.

yes, higher color should be in there as well.


[*] Updated video output like HDMI would be nice, but leaving composite or plain RGB out is a mistake IMO: it would be used, therefore should be included. Perhaps Y/C instead of composite video, or component video instead of RGB. Perhaps just one of those, and DVI or HDMI beside that.

Actually, personally I disagree. Every current monitor and TV sold has HDMI. There are plenty of HDMI to other converters. To keep the number of connections to a minimum, I think HDMI is the way to go. Yes, maybe your old Philips RGB monitor won't work with it. Who cares? :-) It also simplifies the audio, since that can be sent through HDMI as well.


[*] RAM: I'd be fine with a maxed out memory mapper (4 MB), and nothing more. A couple of times that would be easy, and nice for experiments with multiple mappers, or other uses of the device. But a SIMM/DIMM slot to add heaps of RAM? Pfff.... Tongue

Yes and no. a DIMM slot is cheap. DIMMs are cheap. And since the modern Z80 implementations are more than just 8 bit, I think it's an easier way to keep all options open. Also, remember this is not going to be an "MSX only" device, but a more universal platform.

[*] Include a socket for V9938/V9958? Perhaps a step backwards, but if selectable you could have 100% compatible video, and still have FPGA implementation evolve further. Just that videochip wouldn't take that much board space or energy, and people could always leave that socket empty (ehm I mean: deliver empty, let people add videochip when they want maximum compatibility).

A socket could be an option, but makes the design more complicated and I am not sure how much gain you will have compatibility wise. Again, since it's supposed to be a universal platform (with MSX on top), I don't think this is a valid option. Then we'd need a slot for the Dave and Nick chips used on the Enterprise platform too :-)

[*] Some sort of user I/O port: just some pins with no pre-defined function (maybe 1 or 2 analog too). To be used for flashing LEDs, home automation, electronic experiments, etc, etc.

Not a bad idea. You mean a serial port for instance? Isn't there a way to simulate that through USB?

[*] Almost forgot: include realtime clock. Entering date on each powerup is a PITA. Sad
With or without battery? :-) indeed, clock is a must.

As for funding: I think the main problem is not so much organization, but the small market. But a commitment-upfront scheme would be a good way to avoid having designer(s) make the full initial investment (& uncertain about recouping their money).

We're still not clear on how to approach this. As Marlon-B said, it should be a team effort. But once you start talking about raising funds through crowdsourcing, a level of commitment is needed. Our idea would be to have enough funding to make a first prototype that is "production ready" - could be sold straight away. Then have a few more made and have developers have their go at it, to make a software/system base for the final products.
An idea is to not have any stock of devices but have them build to order. That's why we need "packages". People should be able to buy the platform only, or purchase with for instance an MSX package, or a Spectrum package, etc etc.
But again, we have no idea how much money would be involved for the first iteration. 1000 euros? 5000? Using kickstarter.com means we need to set the numbers right. There is no risk for those that support the project. If the treshold isn't reached within the given time period, transactions will be nullified. If the treshold is met, then the donations will be transferred. After reaching the treshold and there is still time left, people can still back the project. That's why you will see some projects with a $10000 goal reaching over $60000 for instance.

We really believe in community driven development, and actually see this as the only way to really get something out there that everyone likes. The 1chipMSX was a nice idea, but only some people profited from it, while the manufacturer got loads of cash for a device that was obsolete before it got introduced.


1 More: forget hunting down 1chipMSX case mold, or designing new box: just keep an eye out for suitable boxes used for commercial products (routers, set-top boxes, media players etc). When you spot one: make deal with manufacturer, and cut a few extra holes for the MSX use. That cuts down another chunk of the 'big initial investment needed'.

Yep, exactly what we thought. Or maybe even sell without box and have the user decide on his/her own. We should only take care that the form factor of the platform is more or less standard maybe. Or, like you said, chose a ready made box and adapt form factor to this.

In the mean while: watch this site: www.fpgaarcade.com
Has everything except MSX cartridge slots, expected price ~200-220 Euro's, nearing completion / available.

Well well. That looks like a very similar idea. I wonder why no-one in the MSX development community has jumped on it? Is it suitable to create the Z80 and stuff we need for MSX? In their library now I see only Commodore and Atari - the motorola side of things. And I cannot really find a list of components and specs. But the board looks very good.
The cartridge slot. Yeah.. but does one really need it? For vintage games, I am sure an extender that works through USB or so can be made. And for new stuff or roms, the SDcard should suffice.

Maybe the Replay board can be used as base, and the challenge would be to get a new MSX implementation on this board :-)

thanks!

By RetroTechie

Paragon (1563)

RetroTechie's picture

07-10-2010, 12:10

Yes, maybe your old Philips RGB monitor won't work with it. Who cares? :-)
I know a whole bunch of people who would... Smile2 People use all kinds of display equipment, and it's wrong to assume that (almost) every user will have a modern TV/flatscreen to hook up. Or wanting to use that screen. Or shelling out for another screen to use with the new MSX...

For display, more options is better. But IMHO it would be enough to have just 1 high quality, forward looking option (like HDMI), and 1 alternative for equipment that doesn't handle that HQ signal. Then argue about what to use for HQ output, and what to use for 'the rest'.

We should only take care that the form factor of the platform is more or less standard maybe.
New idea: Mini-ITX? Larger than needed, but not that much. Lots of nice cases around (& more room on the board).

Well well. That looks like a very similar idea. I wonder why no-one in the MSX development community has jumped on it? Is it suitable to create the Z80 and stuff we need for MSX? In their library now I see only Commodore and Atari - the motorola side of things. And I cannot really find a list of components and specs. But the board looks very good.
It's Xilinx-based, so it would require adaptation/porting of the 1chipMSX design. Possible (maybe not even that hard), but there's few people in MSX scene who have the skills, or time. I myself may get to that point, but not there yet... Wink
Btw. that board is more than powerful enough. Don't know what FPGA exactly, but way bigger than the Altera Cyclone used in the 1chip (it runs Amiga for example). If I'm not mistaken the board even includes an ARM processor that serves for bootup / various I/O tasks.

The cartridge slot. Yeah.. but does one really need it?
Have some mixed feelings about that. On the one hand, it's on the 1chip. It's useful, and things are plugged in regularly. On the other hand: if you look at what's plugged in & what for, you wouldn't lose much if you drop it. Then again, interfacing with 5V isn't that hard, and slot connector isn't big/costly. Another option would be updated extension slot: perhaps 3.3V based / smaller contacts / higher speed / 16 bits / larger address space, whatever.

Maybe the Replay board can be used as base, and the challenge would be to get a new MSX implementation on this board :-)
That would be a very good start. More users & uses for the Replay board, higher numbers/lower prices. When goals are similar, sharing resources is a good thing... Smile2 Once on there, develop further, starting with low-hanging fruit which you know to be feasible/useful. And maybe over time, design a new MSX-specific board.

By marlon-B

Expert (88)

marlon-B's picture

07-10-2010, 14:05

ooh the pressure the pressure...Wink

This project is a very ambitious one.
It would take a long term commitment from my side.

I dont know if I'm ready yet to commit to such a project.
Mainly because I dont know you people and dont know how dedicated you are.
And I dont wish to do it alone.

That's also why I started some getting-to-know-you projects.(Small but interesting)
Just to see how my hardware is received and the general attitudes of the people in this
community.

I dont want the situation where when I finally finish the project the people who
cheered at beginning are nowhere to be foundQuestion. And finally I'm the only one left cheering.Crying

So I'm not saying NO. rather Not yet.

But you still have long way to go. You are now still in the wishlist fase.
Everyone in this community should have a say.

CoolJust keep it realisticCool

people who do music well should think about the soundhardware(channels/frequency)
people who do gfx/games should think about the gfxhardware (resolution/planes/colors/sprites)
etc etc...

There's also a need of the best of the best coders for implementing the various BIOS. Find them...

Also the New MSX should feel like the OLD MSX. People (like me) are in this community
because of this MSX feel.
So in my opinion keep the Z80 at the heart of the system. A faster one, but still
a Z80. If I can't code Z80-asm on the new machine I'm probably not going to use it. It just wont feel the same.

And remember we are using a very powerfull FPGA !
So we dont have to stick to any design of existing processors.
We can derive from one(Z80) and expand, design our own...

Sky is the limit!
maybe money ofcourse Wink I have a couple of XC6VLX550T/XC6VHX565T from Xilinx laying around but dont think you'd want to know
how much they costTongue...but they are very handy when starting new designs...no limits.

Also cartridge slot is a must! Expansion is the very core of MSX design. Leaving this out would
definitely kill the FEEL.

So I will be monitoring your progress. let's see how it goes...

By ivke2006

Resident (53)

ivke2006's picture

07-10-2010, 16:33

IMHO we first need to have clarity on the wish list instead of going into the technical discussion.

The high level idea is that it should:
- Operate at least as a MSX2 (running 99,9% of the MSX1+MSX2 software)
- Have more CPU speed
- Have more VDP speed
- Have extended graphics (high resolution + more colours)
- Have 'modern' storage/communication possibilities (like USB, HDMI, network, SD card)
- Have a cartridge-slot /way to connect (MSX)Cartridges
- Have the possibility to implement other (retro/Z80) computer platforms (to extend the added value and therefore expand the sales)
- Have as much as possible an Open-source design + open-source deliverables
- Team/Scene effort!

Would this be a high level wish list that could be agreed upon?

Please respond!

By MäSäXi

Paragon (1884)

MäSäXi's picture

08-10-2010, 09:28

[*] Almost forgot: include realtime clock. Entering date on each powerup is a PITA. Sad
With or without battery? :-) indeed, clock is a must.

Please use Cuckoo Clock, then you won´t need a battery. :-) And it even tells you correct time! How about that? :-D

For MSX purposes, maybe you need to change cuckoo to penguin... then it´s Penguin Clock. ;-) Quite a silly and funny look would it be in every hour. :-)

By Bastiaan

Champion (333)

Bastiaan's picture

08-10-2010, 09:45

I think it should be better than a 1 chip msx, so also add SCC-i/audio/music to the wish-list and go for 2+.

Aren't there (FPGA) platforms / devboards already available that are powerful/versatile enough?

By marlon-B

Expert (88)

marlon-B's picture

08-10-2010, 11:50


Aren't there (FPGA) platforms / devboards already available that are powerful/versatile enough?

certainly. Lots !

However I've not seen one yet with an external connection that's wide or fast enough to support 50pins cartridge expansions.

Page 1/2
| 2