Looking to do a new hardware project

Page 3/8
1 | 2 | | 4 | 5 | 6 | 7 | 8

By Roland007

Expert (85)

Roland007's picture

06-06-2019, 18:27

This has a very high santa wish-list.
- A card that does ALL sound cards including sample ram, with good algorithms for generating the right wave patterns. Then I could do away with my Music Module.

Another thing, looking at the motherboard of all MSX systems, we can see that if we had to redesign the same machine with the same capabilities, we could use modern and faster components and have smaller boards, lower voltages etc.

Then there would finally be place for an internal slot expander.

By wolf_

Ambassador_ (9774)

wolf_'s picture

06-06-2019, 18:54

I think we're missing a step here. I read all kinds of ideas and improvements, but let's first get a grip on what an MSX is supposed to be, how we're supposed to work with it and what we'd do with all of that.

See, MSX has been expanded before. MSX2 was fairly successful, but how many pure-MSX2+ productions can you name? Pure, as in: can't run on earlier MSX models in a satisfactory way. So, truly reliant on all those colours and the scrolling.

Then the turbo R came around. Now, how much true turbo R software can you name? Certainly the R800 makes things more pleasant, but when it came to games and demos, the result was still somewhat like any MSX2 or MSX2+ game.

Then the V9990 and the OPL4 appeared on stage. The Moonsound is fairly successful, I'd say, but it's also a rather easy expansion to be successful as it runs on any MSX and in the 90's the MSX-scene was squashed under the weight of all available composers. So, that was easy content, even though the main tools (MBWave/FM) were/are rather frustrating and limited.
Looking at the Graphics9000, I wonder why the hell that didn't work out. I can honestly only mention two productions, (although I'm not really paying it any attention) -> a snowfall demo from TNI and some game that appeared in one of the later MCCM issues. I would say that this chip is the most MSX'ish chip from all expansions released after the turbo R, yet (in terms of support) it's failed like nothing else. And, right, it came out in a time when the scene moved into its Silent Years. But even since the Revival Years, despite the potential aid of cross development, productivity for that chip was still low.

Also, I remember a project from across the Atlantic, that had four 9958's and two 9990's stacked for tons of colours and layers. I didn't bother to look it up, but I'm not sure it's made the impact the makers had anticipated.

So, allow me to be somewhat sceptic when I read suggestions for even bigger videocards.

Other expansions: mass storage. Now, finally I can agree on something! Compact Flash, SD, flash cartridges, all great stuff that doesn't really contradict the nature of MSX.

Then there were networking expansions. I'm sure it works fine, no complaints about that. But... I.. don't... really... know. Do we really need it?

And then there was the One Chip MSX. Very handy device, if only because it has an SD-slot and I can just connect any PS/2 keyboard to it. But there was also the premise that, with VHDL-coding, we could make anything else out of it. Has anyone done so yet? I think a handful of people mainly tries to improve the current MSX implementation rather than trying to make an MSX3 out of it with fundamentally new stuff under the hood.

During the Revival Years something else happened: while expansions kept being designed, scene interest shifted towards MSX1. Not just demos but mainly games. So, now we had the expansions, yet we didn't have the ideas or motivation to do anything with it! It would be laughable if it wasn't so tragic: apart from the OPL4, about every expansion has hit the MSX-market at the wrong time!

Now, keep in mind that I'm an optimist, really. Hannibal

My suggestion would be, and I'm addressing all of you, to first establish what you want an MSX to be.

Is it the retro system from your younger days? Or should it be as potent as any modern day PC?
Is it a game/demo machine, or is it also a machine you use for word processing, e-mail, internet, spreadsheets and what not?

Just try to answer those two questions, so we can see where we stand.

Regarding a hardware project, if you'd ask me: I would fix three things, and they don't really break the MSX-image, I think.
1) One timer that is identical on any MSX in any country. No more 50/60 Hz annoyances. And don't give me those speed-equalisers, they aren't 100% accurate. Although using a simple tracker (like the MB family) you can get around it. But you can simply calculate that 50/60 equalisation has flaws.
2) Make sure that all music chip balances are identical. Not that crap where the PSG is louder on one system compared to other systems.
3) A dedicated CPU for disk access. This, to ensure that a game (most notably the music) can continue while other stuff is being loaded.

These first two things simply ensure that a product always performs the way the makers intended it. The third one simply makes for better enjoyment and longer game story demos 'n such.

But even if something like this could be solved: I doubt this scene can be moved towards new expansions a lot, so we'd end up with scene fragmentation. That's what always plagued the scene: we kept sticking to MSX2/128K, and right now we tend to stick to what we all have and all know. Naturally you could make new expansions as part of an emulator, that way you'll be sure everyone runs the same config. A virtual MSX, so to say. But is that what people want?

So, prior to hinting at expansions, just try to take a bit step back and formulate how you'd define an MSX. Let me point out that you should point that out, this is not about repeating NIshi's visions from 1983. Murdoch

By ducasp

Master (163)

ducasp's picture

06-06-2019, 19:48

Network is a really good tool for developers, as nowadays we are cross compiling and editing, so moving files and assets through network is really cool feature to have. For the regular MSX user, I can think of it being an easy way to transfer files from PC to MSX without having to resort to constant media swapping, or, you could very well use a local ftp server to store files and sync with sofa ftp.In the future I would like to see more UNAPI games, probably we are not going to see two players Salamander over network (perhaps someone is crazy / talented enough to do something through unapi/RAM helper/memman that would allow a remote keyboard / joystick and sync the program running), but games like tetrinet are doable. Also we can't forget about MSX HUB, it is quite good idea overall, a homebrew repository where people can easily download/update software. Is it mandatory? Obviously not, but also tons of disk space or faster loading isn't as well, all of those are nice to have stuff (but I wholeheartedly agree that mass storage appeals to most people).

Regarding moving toward MSX 3, the main issue I see is that MSX community is small compared to other communities, and to make matters worse, it is really fragmented... We do not see people working together to evolve the standard (like the work Konamiman did with UNAPI, something everyone can follow and have a standard), instead, we see each one working on their own, closed doors, MSX VR, TNI FPGA System, and so on... Developers are not onboard, community doesn't know where to head to, and if you're doing a game or app for platform that is small, fragmented, do you want to code for a device that isn't standard and if it stop after selling 100/1000 units, no one is going to pick it up to make it again? The only way I see a MSX 3 being successful is if everyone join forces toward an unified specification to grow on, but, people are so stubborn and opinions so fragmented that even Nishi's possible new MSX using ARM and FPGA is being disregarded as a successor... So, I can really understand why just a couple of people have the guts to try what MSX VR team and TNI team are doing, wish one of them is really successful and set a new standard, but it is not something that is certain. Being open source at launch, like Spectrum Next probably also would help a lot to get more people on-board,and perhaps this is where Nishi's new MSX could gain traction... Let's see what happens ????

By buddha_da_great

Rookie (18)

buddha_da_great's picture

07-06-2019, 01:52

okay now... what wolf_ is saying makes a lot of sense.
and the majority does seem to be leaning towards sound.
and seeing as a wifi-cart is already in the making

so I was thinking about a multifuntional cart

1) soundcart 3 or 6 chn psg , scc(+) and a 8 or 16 channel wave/sample (dont want to over do it)
2) dma driven sdcard-drive
3) 4mb memory-expansion (shared with the above features)
and then I will throw in the timer as _wolf suggested. the frequency chosen will be the same on all machines.

This all is very easy to implement.
My goal is to contribute something that will be used intensively by the scene. not just nice to have.

let me know what you think.
would like to work out the exact specs together.

ps. at a later date I will do some slotexpanders because I have about a 100 cart-connectors to waste Wink

By Grauw

Ascended (8507)

Grauw's picture

07-06-2019, 19:06

wolf_ wrote:

1) One timer that is identical on any MSX in any country. No more 50/60 Hz annoyances. And don't give me those speed-equalisers, they aren't 100% accurate. Although using a simple tracker (like the MB family) you can get around it. But you can simply calculate that 50/60 equalisation has flaws.

On MSX2 you don’t need that, you can easily generate a 300 Hz timer (the common divider between 50 / 60 Hz) using the V9938 line interrupts. I do this in VGMPlay. Then you can play 50 Hz music at 60 Hz perfectly, and vice versa, or even use the 300 Hz timer base to increase your step speed resolution by a factor 5 if your tracker allows it, giving you much finer tempo control.

So the problem is not hardware limitations, but simply that few software developers have bothered. Probably because for games and demos there is benefit to having the music replayer running in sync with the display, a music replayer kicking in at unpredictable moments can mess up visual effects and smooth scrolls. Also the reason why the OPL4 timer in MBWAVE wasn’t used much I reckon.

Additionally there are already plenty of MSX devices with very flexible timers. MSX-AUDIO, OPL4 and OPM have one. MSX-MIDI has one. They are not being used by developers because they can’t be guaranteed to be present. Throwing yet another timer into the mix isn’t going to change things, if anything it makes my development life harder rather than easier because there’s one more I would need to support.

By gdx

Prophet (3076)

gdx's picture

07-06-2019, 02:50

buddha_da_great wrote:

I am rather surprised there is no wifi-solution yet?!

Wifi is already available in different forms: via RS-232, Flashair card, etc but I do not know if this is easier to use than to manipulate a SD/CF card.

The examples I have put below are all to simplify the use of the users. For example UTF-8 encoding support (by using Kanji Rom I/O ports) would make uniform documents. It would save us having to always juggle with a PC just to see a detail in a doc. Only English texts are viewable on all MSX.

Of course as always it's the talent of the developers that makes things more or less practical. There are already many devices available that seem equivalent but in fact it is not the case.

By Grauw

Ascended (8507)

Grauw's picture

07-06-2019, 03:10

gdx wrote:

Wifi is already available in different forms: via RS-232, Flashair card, etc but I do not know if this is easier to use than to manipulate a SD/CF card.

Neither are a proper ethernet cartridge though. A WiFi alternative to ObsoNet / GR8NET’d be nice.

Last year XSWIFI (based on ESP8266) was teased but I haven’t heard of it since.

By wolf_

Ambassador_ (9774)

wolf_'s picture

07-06-2019, 10:26

buddha_da_great wrote:

1) soundcart 3 or 6 chn psg , scc(+) and a 8 or 16 channel wave/sample (dont want to over do it)

Many people, during the release of the OPL4, considered the samples to be a kind of holy grail. In reality it's actually rather tricky to get it right. When using acoustic sounds, they won't make much sense unless they are heard in their natural habitat: which is a hall or any other place with some reverb. It doesn't make sense to hear e.g. a snare, horn, harp, glockenspiel etc. in a bone-dry environment. You could sample the reverb, but that costs you cycling channels and it'll cost you precious amounts of RAM. Much better would be to include a DSP-chip. Unfortunately you'd actually need send-controls per instrument, and I suspect that affordable DSP chips are 'all or nothing'. If there can't be a DSP, then 8 or 16 sample channels is certainly not overdoing. If you stick to that while not adding a DSP, then there's not much of a point to use the sample channels for anything acoustical.

Also: I'd stress the importance of outsourcing a replayer to a dedicated co-CPU on that board you want to make. If you'd use all your proposed channels, you'd have a kind of OPL4, and such a player would easily eat up 40% of your Z80. Such a board should have its own song memory (which it has, I guess) and a place to upload your own player, which should communicate with that dedicated timer, which can play while the MSX is loading from disk. It should also be possible to send out interrupts so that you can time your story-demo to the song that's playing.

But alas, thinking out loud now.

By ro

Guardian (4122)

ro's picture

07-06-2019, 11:27

If it's not MSX standard, any extension will fail cuz of reach. Or the lack of it. As a software developer I wanna reach as much MSX systems as possible and not only that handful of exotic hardware owners. If, for example, there would be a 6channel PSG extension, there should be software to create and replay the songs. I'd imagine the music guru would create a 3 channel lead with "just" extra 3 pimp channels. Or it should be 2 separate tracks, and the replayer/software should be able to cope with that. And that's just a little example, in the line of what Wolf wrote.

I'd stick to existing MSX capabilities and improve on that. Like storage or a combined sound cart (default PSG, SCC, Music, Audio and OPL4). Why? since it saves me a few slots.. that's why. The software is already there, and every MSX can handle it.

so yeah, existing hardware but smarter.

By buddha_da_great

Rookie (18)

buddha_da_great's picture

07-06-2019, 17:44

well have been digging in my component-bin searching for the perfect board for this project and found some nice boards which I will be using as a base board.

It includes a Spartan-6 with built-in dedicated DSP and 32MB DDR3 . So this would include more than enough memory for LARGE Samples. I checked with my supplier and he has more than enough in stock.
For now I can build 5 prototypes. And then in august again in batches of 10. Depending how many people are interested.

Adding a Z80 Co-Processor will not be a problem btw.

As I am not reinventing the wheel and will be using existing IP-Cores for the generation of the different hardware.
The following I have ready-to-go implementations of:
- SD-Card interfaces (thinking of doing a DUAL one fat16 and one fat32)
- PSG ( I will leave it to the community if 3 or 6 chn is wanted... for me its easy peasy to implement it)
- SCC+
- MSX-MUSIC (YM2413)
- WAVE/SAMPLE PROCESSING with 28MB sample memory
- 4MB Memory Mapper
- Z80 CoProcessor running at a Multiple of 3,58. or the same. I will let you decide.

I do not have any implementations for:
1) MSX AUDIO (Y8950)
2) OPL4
and will therefore probably not include them (unless someone can point me towards some reusable cores I can use).
but how big of a "problem" will this be if these are not included?

Optionally I can add some PS/2 ports only if majority of people agree this is useful and is/will be supported.

The price in total when finished would be around the 100 EURO's.

again...let me know what your thoughts are..
thx.

Page 3/8
1 | 2 | | 4 | 5 | 6 | 7 | 8