VGMPlay for MSX

Page 32/33
25 | 26 | 27 | 28 | 29 | 30 | 31 | | 33

By Grauw

Enlighted (7450)

Grauw's picture

05-07-2018, 13:27

Yes, you can hear some hitches in Space Manbow in particular. The reason is that due to VGMPlay being a generic player, I can’t keep the SCC paged into memory permanently, so it does a quick interslot write whenever data is sent to the SCC. The interslot write is optimised, but still not super quick, plus there’s also the player processing overhead. So e.g. at 00:12.81 that track changes the waveforms of three channels, meaning it does 96 interslot writes in succession for just that plus some other things, which normally happens in the space of 11 ms (almost a whole frame in game), but in VGMPlay it will take longer.

So I’m aware of that issue, but I’m having some trouble coming up with a good solution for it. On the turboR the playback will be better, by the way.

By Grauw

Enlighted (7450)

Grauw's picture

02-08-2018, 20:15

I have some free time coming up, so I was thinking it may be nice to do an official version 1.3 release sometime soon. I’ve been planning to do a new release for a while already, and it’s been kind of blocking me since I wanted to do it before starting on any new larger features, so I might as well bite the bullet while I’m in the mood for it.

Last night I already fixed a couple of issues that have been on my release TODO list, here’s what’s left:

  • SCC detection issues reported by Pencioner, Parn and Eugeny
  • Investigating some MSX-AUDIO stuff Eugeny mailed me about
  • Comix Zone 03 playing too slow on OPNA
  • Some address out of bounds crash I had
  • A click in the High Seas 05 PCM

If anyone is aware of some other issue or simple feature that they’ve been wanting to mention I can see if I can take it along, so let me know either here or in the issue tracker. I’ll only pick up the small or critical stuff though, I want to limit the time I spend on the release, testing all chips on different hardware alone will already take up quite some time, and I also have to reserve some time for my other project and real life™ stuff.

By DarkSchneider

Paladin (759)

DarkSchneider's picture

23-10-2018, 13:18

For the SCC issue, I don't know how you put the data, so I'd say this with no idea about how vgmplay handles it, but maybe the operations could be enqueued (at RAM page 3) and, in the case of queue size greater than value, exchange slot, do all operations, and then restore slot, instead inter-slot operations.

By Meits

Scribe (5168)

Meits's picture

23-10-2018, 16:42

About this SCC detection (I know there are more pages in this thread, but for this time I am lazy and not going to read all 32 of them).
I ran into tunes which did detect a real SCC. The MFRSCC+SD2 SCC never got detected. Not even with S pressed during boot.
Did I mention something that was in the previous pages, or known already? If not, will it be possible in the future? Smile

By Grauw

Enlighted (7450)

Grauw's picture

23-10-2018, 19:54

DarkSchneider wrote:

For the SCC issue, I don't know how you put the data, so I'd say this with no idea about how vgmplay handles it, but maybe the operations could be enqueued (at RAM page 3) and, in the case of queue size greater than value, exchange slot, do all operations, and then restore slot, instead inter-slot operations.

Mmh I see, that sounds like a nice approach. Definitely worth putting some more thought into.

Instead of basing it on queue size, I would flush it every x ms (let’s say 1). So basically we’d be quantising the timing (reducing the timing resolution), but since the timing precision on MSX is limited anyway that shouldn’t really make a difference. Otherwise you might get a situation where the queue is flushed mid-way through a waveform update, and then only flushes the remainder seconds later later.

Maybe it should also flush when a non-SCC command is encountered (so only queueing consecutive access), to preserve ordering. I worry if a PSG tone is sounded and the SCC only updates a few ms later it may be audible. But that would be tricky to do in the way things are processed right now; the SCC has no awareness of other chips, so it can’t detect this case.

Meits wrote:

About this SCC detection (I know there are more pages in this thread, but for this time I am lazy and not going to read all 32 of them). I ran into tunes which did detect a real SCC. The MFRSCC+SD2 SCC never got detected. Not even with S pressed during boot. Did I mention something that was in the previous pages, or known already? If not, will it be possible in the future? Smile

In principle it should work with the MFRSCC+, I’m using it myself as well. But the SCC detection is currently not great at all with known problems (one could call it “broken”). Not sure, but I vaguely recall that it might even depend on the ROM that you’ve flashed on the MFRSCC+. Could try to flash another and see if that “fixes” it. Definitely improving the SCC detection is on my TODO list for the next release.

By Meits

Scribe (5168)

Meits's picture

23-10-2018, 21:49

in non of the cases there was a rom flashed. neither to the mfrscc+sd2 or the homebrew 1.0 with 512k flashrom.
is this detection a bit like scc blaffer? that seems to require identification of a game.

By Grauw

Enlighted (7450)

Grauw's picture

23-10-2018, 22:07

Idk what SCC Blaffer does but VGMPlay does not (intentionally) look at the ROM contents Smile.

By DarkSchneider

Paladin (759)

DarkSchneider's picture

24-10-2018, 08:22

For SCC detection, could this work? The code posted by @NYYRIKKI

https://www.msx.org/forum/msx-talk/development/how-detect-scc

By -Neo-

Champion (368)

-Neo-'s picture

12-11-2018, 18:08

I was wondering whether it is possible to let vgmplay MSX support the Hudson HuC6280 chip (PC Engine/Turbo Grafx 16 sound chip) through the SCC(+). It also uses wave syntesis I think and it sounds at least similar to a SCC. Also, A guy Chris Lovell did something the other way around: He created a PC Engine demo that plays SCC songs on the HuC6280. I think he is using vgm files and doing some sort of translation? Here the PC Engine demo:

https://www.youtube.com/watch?v=LLmwpvkw-0I

Or maybe it is already supported in vgmplay MSX?

If possible, a huge library of additional game music can be played. At vgm rips there are already 159 Packs (/Games) with game music available: http://vgmrips.net/packs/chip/huc6280

By Grauw

Enlighted (7450)

Grauw's picture

12-11-2018, 19:37

It’s on my list of things to look in to, it’s an interesting sounding chip and indeed has similarities to the SCC, though it offers 6 voices so it needs two of them, and the frequency modulation won’t work but hopefully isn’t used much.

Page 32/33
25 | 26 | 27 | 28 | 29 | 30 | 31 | | 33
My MSX profile