VGMPlay for MSX

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

By Parn

Champion (304)

Parn's picture

27-04-2018, 14:35

The first song doesn't seem to use stereo at all, but the second song has a very cool stereo effect starting around 4:20. Nice. Smile

By Manuel

Ascended (14899)

Manuel's picture

27-04-2018, 18:36

Wow, that last song has a pretty fat bass drum! How to get that out of the FM?

By Pencioner

Paladin (770)

Pencioner's picture

04-05-2018, 22:23

Parn wrote:

Since Dual OPL2 soundtracks were originally made to take advantage of the stereo setup of the original Sound Blaster Pro, which sends each OPL2's full mono output to each left and right stereo outputs, you should configure array 0's registers $C0 to $C7 to output sound to the left channel, while array 1's registers $C0 to $C7 are configured to output sound to the right channel. And you should OR the output to register $BD of each OPL2 and write it to register $BD of the OPL3's array 0 in order to play every drumpiece.

I believe this would be very simple to do.

I have working prototype with stereo for two MoonSounds for two OPLs now, and i'll try to implement your suggestion - make a stereo with only one MoonSound (except for OR-ing the drums - i will ignore that because this will require some kind of read-ahead analyzis of VGM stream and should be very complicated, i'll just pass it as is from both OPLs). But the chip initialization logic might become messy with all combinations: only chip @ C4 for single OPL2, only chip @ C0 for single OPL2, both chips for double OPL2, only chip @ C4 for double OPL2, only chip @ C0 for double OPL2 - and every combination involve applying different callbacks to chips... i think at the first try it will be some ugly code there Smile But anyway, i'll polish it before supplying patch, of course.

By Pencioner

Paladin (770)

Pencioner's picture

05-05-2018, 00:22

OK, there's version which supports 2xOPL2 stereo on one MoonSound @ C4 (if you have DalSori configured only for C0 now, it will not work, sorry, i tried not to complicate the chip selection logic yet btw)

I can't figure out if drums have some issues or not, but i just passed all the drum commands from both chips as is (OPL3 have only one drum register anyway). Tried it with Leisure Suit Larry 5 soundtrack and with Ultima Underworld: The Stygian Abyss soundtrack.

Since the chip selection becomes complicate with those all emulation multichip setups, and since i though about making some command-line switch to change priority of chips (so the it will pick up first the one you want, not by hardcoded default order) - i will try to implement that first, before submitting this 2xOPL2 stereo patch, keeping in mind to simplify chip selection with that approach too. Let's see if i can do that right :)

PS. while worked on it, has very interesting finding... Wozblaster has pretty much powerful crosstalk between right and left channel, in addition to much worser noise than DalSoRi... if you play only to one channel, you can hear it very well, and it is really frustrating. i will record some samples tomorrow and ask someone with Wozblaster to test with special version of vgmplay which will play only on one channel, i'm very curious if that's issue with my homebrew Wozblaster or of all Wozblasters in general

By Pencioner

Paladin (770)

Pencioner's picture

05-05-2018, 10:34

@Grauw: I have downloaded some fresh vgm submissions from vgmrips forum. There is an issue with soundtrack of Bombaman ( hello @Jorito, great music Wink ) - some tracks (for example first track with title music) sounded really weird. It has sample loading issues. This patch fixed it (adding a little more delay). I didn't really figure out how you calculate the cycles, so i didn't change the commentw btw, i just tried to add as less delay as possible (change 'cp (ix)' to 'bit 0, (ix)' added only one Z80 CPU cycle though, the other change added 3 but i didn't find a way to add less btw). After that it played nice ;)

By Pencioner

Paladin (770)

Pencioner's picture

05-05-2018, 13:21

Whoops last message is not correct - i had very old biuld of vgmplay.com which has this issue, so please ignore it btw...

(Sorry for many posts in a row but after some time i cannot edit post, though...)

By Parn

Champion (304)

Parn's picture

06-05-2018, 14:30

That's great, Pencioner! I'm looking forward listening to it in real hardware, as soon as I can. By the way, I put a little more thought on my previous OR suggestion and now I think it was a mistake. I just didn't take in consideration possible differences between volume and frequency settings for the rhythm part in both OPL2s. Maybe it's too much work.

By Grauw

Enlighted (7683)

Grauw's picture

06-05-2018, 18:39

No. of cycles in those comments is describing the wait in 33.87 MHz OPL4 clock cycles according to the datasheet, and then converted to 3.58 MHz bus cycles (since I/O is always bus clock-aligned on turbo R). Wait is mostly tuned for turboR, both bit and cp are 7 R800 cycles (7.16 MHz) so changing between them should make no difference. Currently OUTs are 7+1+10 = 18 R800 cycles = 9 bus cycles apart, bit tight but it worked for me and I wanted to to slow down the Z80 as little as possible…

By Pencioner

Paladin (770)

Pencioner's picture

06-05-2018, 19:22

Thanks for info, Grauw! So that is nice tuned of course - i even tried with Panasonic MSX2+ turbo mode yesterday and it worked fine. I think i got confused because i didn't figured out that code has delay tuned for the turboR: what i thought about the wait cycles is what you confirmed, but the actual delay was kinda strange for me because i was thinking about Z80 only.

By sdsnatcher73

Master (233)

sdsnatcher73's picture

05-07-2018, 11:09

Hi Grauw, I noticed SCC playback on my MSX with a Snatcher cartridge is sort of 'off'. I have asked Pencioner if he hears the same off-ness on his setup, and he has confirmed this. I have created an issue in bitbucket (so I could attach the recordings of my findings).

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