It's on the pictures. There's just a few TTLs to decode the I/O ports for the OPN2 chip (YM2612).
I plan on trying other chips too, like the original OPN (YM2203) as it has a SSG (same as what the MSX has originally as built in part) and OPNA/OPNB (YM2608/YM2610).
The hardware is pretty simple.
@ricbit That’s a nice script! I’ll bookmark that .
l_oliveira: Nice vid .
ricbit: You can get the current emulation timer with machine_info time. Could use that to get more timing precision, though the approach you used gives cleaner and more compact output.
Thanks, that’s nice. I meant it is a bit disappointing to discover that there is already another similar product in development . But it is the way it is, no point in getting demotivated about it.
Talking about motivations; my motivation to create VGMPlay was firstly to play some of my favourite YM2151 music on MSX, as I had heard some great music but at the same time the SFG-01/05 sound module was sitting silently in my Yamaha CX5MII computer due to lack of software. So when I discovered the VGM format last month I immediately thought of this, and that’s why the YM2151 is also one of the first chips I added support for .
Secondly, I also see it as a nice side project of Synthesix, I can reuse the chip support code I write for Synthesix and maybe even let it export to the VGM format. Synthesix is way too heavy and complex to be used as a replayer for game music, but VGM format playback could be done in a replayer (although it is quite memory-consuming).
Quite often, the result of reinventing the wheel is a better wheel. Besides, you sharpened your skills. Also, you and Popolon's programs can cross-polinate now and become even better.
Ah, and Popolon, thanks for making us look all important and relevant and s**t.
New video: VGMPlay for MSX, Y8950 MSX-AUDIO support
Although the FM part of the Y8950 MSX-AUDIO already worked, the ADPCM sample part didn’t yet which prevented me from proclaiming full Y8950 support. The complicating factors were that this was the first time I had to load samples, as well as the Y8950 having different addressing modes for ROM and RAM sample banks. Note that I’m being a bit wasteful with memory, as after the samples get loaded into the Y8950 I do not free up the memory. Sorry.
The music is from the arcade game Ginga NinkyouDen.
Compare: http://vgmrips.net/packs/pack/ginga-ninkyouden#33v-continue-...
It surprised me that in the Y8950 VGM songs I could find, the ADPCM was only used for voice and sound effects. In western MSX scene games post-1990, the ADPCM was often used for drums and loops.
New video: VGMPlay for MSX, Y8950 MSX-AUDIO playing Psycho Soldier JP theme
Not long after I made the last MSX-AUDIO video I noticed a nice song from the game Psycho Soldier with a really long sample.
Compare: http://vgmrips.net/packs/pack/psycho-soldier-snk-triple-z80#...
So far I’ve ignored frequency differences and this is where things start to break down a little; not only is the voice a few notes lower (as expected), but as the sample also runs 10% more slowly, it drifts out of sync. Though luckily it retriggers it for different parts so that they are in sync again.
Still, all considering, not too bad.
New video: VGMPlay for MSX, YMF278B OPL4 support
Support for the YMF278B OPL4 was added. The music is from the game Sonyc for MSX2+. This is the only OPL4 VGM pack I could find, hopefully a few more will be added!
Compare: http://vgmrips.net/packs/pack/sonyc-ms#01-title
A noteworthy omission is that I haven’t implemented PCM loading for the OPL4 yet. This is because I don’t have any VGMs which use it, so I have no way of testing it (Sonyc uses the built-in YRW801 ROM tones).
Fantastic!! Please test the CyberSphere soundtrack with it. It's arguably one of the best FM soundtracks ever made and one of the very few games that shows the real power of the OPL3.
A small status update: currently I’m waiting for an MMM cartridge with SN76489 sound chip thanks to popolony2k, when I receive it I will add support for it, after which support for all VGM sound chips available on MSX will have been completed and I will make the first official 1.0 release.
In the mean time, if you’re eager to try, I’ve added build instructions here (they’re really easy).
E.g. l_oliveira already builds VGMPlay for his own hardware projects, he’s added support for his OPN and OPN2 boards. Also he has already tested some preliminary code I’ve written for SN76489, it seems to be working so I just need to finish it up. Big thanks to l_oliveira for a nice co-operation and good spirit :).