an interesting MXDRV discovery

Started by neko68k, March 11, 2012, 06:00:59 PM

Previous topic - Next topic

neko68k


lydux

Which emulator do you use ?

This song is all pcm channels only playable by mercury unit with PCM8 driver. XM6 v2.06 (the one I use) does not emulate it.

eidis

 Hi Lydux !

That is not true. The song plays fine in XM6 v2.06. Boot from the music HDD image file, open A:\MXDRV\Original\Unicco\Felix - Don't You Want Me. - edit featuring unicco. and see for yourself.

Eidis
X68000 personal computer is called, "X68K" or "no good good" is called, is the PC that are loved by many people today.

neko68k

#3
pcm8 is a software driver, but it is cpu heavy. There are a few songs that specify 15mhz and others that say 25mhz or XVI and at least one that says RedZone, for instance https://www.youtube.com/watch?v=W5XbJ6q7IXs. pcm8a is for mercury-unit. There is probably a version for POLYPHON also. Interesting side note, mercury-unit is a bunch of shift registers and a couple of mcu's. schematics are available but the microcode that runs on the mcu's is lost to the ether, too bad.

lydux

Ok. There are some points I don't get with x68k music...

Using my disk image, the song don't play. So, I've tried directly with your disk image eidis, and yes it works.
In MMDSP, I've tried to turn off the 8 opm channels,  and it continue playing the song like there is no channels off. With a 4KB MDX and 340KB PDX, this is all pcm (adpcm exactly). So I were right  !  ;D But, yeah... no mercury unit.

What I don't get is what drivers I miss to get this song working on my image ? In fact, I don't correctly understand all these music drivers purposes...  :D

MXDRV = mdx player as background task. Handle MDX file format, and OPM driver. Right ?
MCDRV = like MXDRV, but support more file format ?
MADRV = another MXDRV or MCDRV with different file format ?
ZMUSIC = I don't get this one at all... Low level opm related iocscalls ?
RDN = some kind of soft driver that will multiplex adpcm channels ?
PCM8 = ok, so not the mercury driver. But a soft driver for what ? what will it drive in, out, and produce ?
PCM8a = mercury driver then... OK !

I feel really lost now... @_@

Many thanks to the one who will explain to me !



PS @neko68k : could you provide a link to that mercury schematics please ? I'm really interested ! Thanks !

neko68k

#5
You probably need pcm8, you can take it from eidis image. You may also use mxw from eidis image, this is a very up to date mxdrv. So heres how this all works...

MXDRV is the most common music driver, it hooks a user trap, you load the data into memory and point mxdrv at it and call the playback function.

MCDRV and MADRV are multi-format drivers. I'm not familiar with MADRV but MCDRV will play pretty much anything, OPM, MXDRV, Z-Music, MIDI and some other game specific formats. I like MCDRV because there is a player for Ko-Windows.

Z-Music is just another music driver. It supports FM, ADPCM and MIDI to be in the same song. So you can target all 3 at the same time from the same song, it's interesting and unique in this regard.

PCM8 is a software 8-channel ADPCM mixer. The docs for PCM8a say that he based it on the way PCM8 works.

PCM8a lets you use the mercury-unit for 8-channel ADPCM and has its own output jacks on the back. It doesn't mix with system audio you have to mix it yourself externally.

Mercury-unit requires a system driver as well as PCM8a.

I'm not familiar with RDN.

There is also MNDRV which supports a variety of game specific formats, NAGDRV which seems maybe like the precursor to MXDRV.

I'll see if I can find the mercury-unit schematics again.

eidis

  Just a small update to what Neko68k said,

RDN (Rydeen) does the same as PCM8, only its code is much faster, even on stock CPU, and it supports 68030 CPU.

MXW is by far the best driver which I have come across. I used MADRV in the V2 image, which was more compatible than MXDRV, and it ended up with PCM collisions in such titles as Aquales or Super Hang On when instead of playing one drum, it sounded more like a machine gun. With MXW they play fine and two optional parameters can be set - the amount of memory for samples (P) and for MML data (M).

Example: MXW.X -p768 -m128

Keep the scene alive !
Eidis
X68000 personal computer is called, "X68K" or "no good good" is called, is the PC that are loved by many people today.

lydux

Ok ! Thanks to both of you !

It's clear now.
So, what I miss is MXW.