Pop!Art VGM Player for MSX

Pop!Art VGM Player for MSX

por ro em 08-01-2021, 11:45
Tópico: Development
Idiomas:

Pop!Art plays VGM music files on MSX, the first official release of this Player is now. The beta version, or version 0.0 as the author named it, is free for download.

VGM, aka Video Game Music, is a logging format used specifically to store Sega Mega Drive (Genesis) songs. The VGM format can be used with several other chips than that from Mega Drive sound chip as well. Another curiosity about VGM is that the format was very popular with Winamp users because this music player was the first player capable of playing VGM songs through a plugin specially created for it.

MRC user popolony2k has been busy working on an MSX VGM player since long ago and finally released its first version. The MSX player is called Pop!Art, and supports VGM 1.7 replay. Pop!Art VGM player already supports all existing chips on the MSX platform, like Konami SCC (K051649), PSG (AY8910), FM (YM2413), SFG01/05(YM2151), OPL3/OPL4 and the Philips Music Module (Y8950).

The player is in full development, there's some extra features that are planned, like adding VGZ compressed file format support. For a blog about the player, it's background and related coding, visit PopolonY2k's blog.

Relevant link: Pop!Art binaries can be downloaded here

Media browser (2)

  • Pop!Art VGM Player for MSX
  • Pop!Art VGM Player for MSX

Comentários (11)

Por mariocavalcanti

Expert (92)

imagem de mariocavalcanti

08-01-2021, 17:56

Great news. PopolonY2k is a great guy. I already downloaded the player.

Por ToriHino

Paladin (679)

imagem de ToriHino

08-01-2021, 18:13

Nice, and even in written in Turbo Pascal Cool

I tried a quick test on some files (Turbo-r ST with MFR and OPl4/OPM in slot expander):

  • OPLL files play fine
  • OPM files play fine
  • OPL2,3 files are silent (both VGMPlay and RoboPlay do play these files)
  • SCC only the PSG is heard

And it looks like it only uses the main memory mapper, since a lot of files give 'not enough memory' Crying

Por popolony2k

Hero (541)

imagem de popolony2k

08-01-2021, 23:43

ToriHino wrote:

Nice, and even in written in Turbo Pascal Cool

I tried a quick test on some files (Turbo-r ST with MFR and OPl4/OPM in slot expander):

  • OPLL files play fine
  • OPM files play fine
  • OPL2,3 files are silent (both VGMPlay and RoboPlay do play these files)
  • SCC only the PSG is heard

And it looks like it only uses the main memory mapper, since a lot of files give 'not enough memory' Crying

Hi ToriHino thanks for your feedback.

About OPL2,3 In fact this version still doesn't play these chips and known lack, because now it just uses the right chip specified by VGM protocol even if, for example OPL 3 is fully compatible to OPL4, in fact Pop!Art still doesn't redirect commands to other compatible chips or even emulate them (in some cases when is compatible). But in future I'm thinking about implement these features.

About SCC (Not SCC+), sounds strange because it is working fine here (SCC and PSG), even if I'm using OpenMSX, if you send me some details about this would be nice because, now I'm working on next release improvements and bug fixes

About Main Memory Mapper, I really didn't tested other kind of mapper configuration, but feel free to send me more details about your setup.

Regards

[]'s
PopolonY2k

Por popolony2k

Hero (541)

imagem de popolony2k

08-01-2021, 23:46

mariocavalcanti wrote:

Great news. PopolonY2k is a great guy. I already downloaded the player.

Thanks a lot, enjoy and feedback is welcome.

This is a Work In Progress, with a lot of things to do.

Smile

[]'s
PopolonY2k

Por popolony2k

Hero (541)

imagem de popolony2k

09-01-2021, 00:26

I put this file on project repository, to remind me about all issued discussed here or even reported in private.

https://sourceforge.net/p/oldskooltech/code/HEAD/tree/msx/tr...

Thanks in advance
[]'s
PopolonY2k

Por ToriHino

Paladin (679)

imagem de ToriHino

09-01-2021, 01:39

Ah ok, the OPL2/3 makes sense indeed, OPL4 does work.
About the memory mapper: I use a standard FS-A1ST with 256K (which becomes the primary mapper), and the MFR has an additional 512K in a separate slot as secondary mapper.

Some other findings:

  • The CAPS led is set to active (and remains active after the program exits)
  • During replay the KANJI led is set to active (this one is switched off after the program exits)
  • After playing an OPL4 song and exiting the program sometimes wavetable instruments remain active (good example is the Credits song from Sonyc).

Por popolony2k

Hero (541)

imagem de popolony2k

09-01-2021, 01:57

Great.

About Mapper I started OpenMSX with A1ST and in fact even if I add 1MB extra Mapper, Pop!Art doesn't recognize the new full amount of RAM, in fact I never realized that I was considering just primary mapper because TurboR A1ST I'm used to program everyday (my regular development machine), it has 1MB primary RAM, so I never reached this issue Smile

About all other issues you reported, I already had added here to known bugs list https://sourceforge.net/p/oldskooltech/code/HEAD/tree/msx/tr... and about leds (ok this is a minor but I'll add to the list too).

Thanks again
[]'s
PopolonY2k

Por ToriHino

Paladin (679)

imagem de ToriHino

09-01-2021, 10:26

Yes indeed, the leds are a very minor issue.

For the mapper support, as an inspiration you can check this file, but basically it's just request the mapper page with the correct slot identifier and enable the slot when selecting the page.

For the stopping of sounds on OPL4, this is what I use (the opl4_reset function).

Por Giangiacomo Zaffini 2

Master (249)

imagem de Giangiacomo Zaffini 2

09-01-2021, 11:54

Great news. I'm amazed when a big project enters the scene like that!

Por popolony2k

Hero (541)

imagem de popolony2k

09-01-2021, 15:15

ToriHino wrote:

Yes indeed, the leds are a very minor issue.

For the mapper support, as an inspiration you can check this file, but basically it's just request the mapper page with the correct slot identifier and enable the slot when selecting the page.

For the stopping of sounds on OPL4, this is what I use (the opl4_reset function).

About reset, I added your proposal to known_bugs list and about mapper too, in this case I need to check something in my code because I thought that this should already be done, so maybe is a bug, but I need to read again my code and start working on it.

Thanks for your help and feel free to suggest everything you realize is not working well.

[]'s
PopolonY2k

Por popolony2k

Hero (541)

imagem de popolony2k

09-01-2021, 15:17

Giangiacomo Zaffini 2 wrote:

Great news. I'm amazed when a big project enters the scene like that!

Thanks a lot friend

[]'s
PopolonY2k